Future ubiquitous computing environment will be highly heterogeneous, service rich domains. Moreover, future applications will consequently be required to interact with multiple, specialised service location
and interaction protocols simultaneously. In this project we are aiming to provide a simple extensible
meta-service discovery architecture that uses database techniques to unify existing service
discovery protocols (UPnP, SLP, Jini, HAVi). This architecture addresses the following requirements:
|
|
Interoperability: Given the existence of multiple heterogeneous service discovery and
interaction technologies, one of the key issues for application developers is how to deal with the diversity of device representation.
|
|
|
Scalability: Scalability should clearly be a prime consideration in the design of
service location protocols. As the number of clients and services in an environment increases, so
the burden due to dynamic service discovery and interaction escalates.
|
|
|
Location-Based Services: Location-based applications represent a significant class of mobile computing applications. However, current service location protocols tend to offer simplistic scoping models (e.g. based on arbitrary nomenclatures and attributes) such as a network domain or administrative multicast based scoping.
|
|
|
Time: Current service location protocols help clients establish which services are available at the current instant or "in the present tense". We believe the temporal element (history, patterns of use etc.) could improve usability.
|
|
|
State: Reasoning about dynamic state is not typically part of the service advertisement or discovery phases of the protocols. A client must enumerate through candidate services, utilising both time and network bandwidth, in order to identify the most appropriate service. The ability to find services based on their state is desirable, especially where partial network connectivity or low bandwidth is involved.
|
|
|
Security, Authentication and Access Control: Security is crucial to the successful adoption of service location protocols - can applications and users trust the services they find, and can the services trust the clients they serve?
|
|
|
Meta-data: If we consider the way people use services in everyday environments,
we observe that people "personalise" them, e.g. "I find this printer the fastest", "this projector belongs to my research group" and so on. We believe that personalised, group and public meta-data will be important to the utility of service location and interaction protocols.
|
|
|
Multiple Device and Service Reasoning: A user in an active building might issue a query equivalent to
"All printers to which I am allowed access that is nearby has suficient paper and is not behind a locked door" by correlating attributes from multiple services simultaneously (e.g. printer, door lock and location
tracking services.) Current service discovery technologies do not allow for the construction of queries that are scoped by the consideration of services of different types, forcing more communication intensive resolution of such queries at the client application.
|
|
|
Wireless Access: In general there is a poor match between current platforms' network
and end-system requirements and those found in mobile environments. Many of the current service discovery protocols generate significant levels of unwanted trafic between a mobile device and the fixed network, while none of them offer any support for intermittent connectivity
|
In this project we have developed an experimental system based on a common SQL based API that unifies and builds on existing approaches. In our work we have made the following design assumptions:
|
|
Services are based on a fixed network (e.g. Ethernet) or IEEE 802.11.
|
|
|
The fixed network supports IP multicast.
|
|
|
Clients are relatively impoverished devices with communication limitations (e.g. power constraints) and wish to minimise protocol interactions.
|
The design and operation of our system is illustrated in Figure 1.
The system is composed of three main entities:
|
|
Services: Services utilise service location protocols (currently SLPv2 and UPnP) and these services are not modified in our approach.
|
|
|
Service Interpreters. Service interpreters watch for service announcements, convert them into SQL INSERT statements and emit them into a shared dataspace. There is typically one interpreter per protocol per subnet (more than one could be used for load balancing or robustness.) The UPnP interpreter subscribes to GENA events, converting changes of state into UPDATE messages.
|
|
|
State Databases. The state database removes messages containing SQL statements from the shared dataspace, executes the query on its database and returns one or more new entries as a response. Again, multiple database entities could be used to improve scalability and performance.
|
|
|
Figure 1: Design of the platform architecture. The service announces its presence on the network. A service specific plug-in converts the announcements into a tuple containing an INSERT query (A). A database component processes A and inserts the service into its database. To find a service the client emits SELECT query B. All database components process B and emit matching services in a tuple (C).
|
|
|
Intermediate Communication Layer
|
Top
|
The system entities are linked together using a shared communication layer. In our current implementation we use a distributed tuple space platform called
L2imbo
for this communication.
L2imbo
is an efficient, fully distributed tuple space implementation based on Scalable Reliable Multicast principles . Although the use of a tuple space is
not essential to our system, the use of a shared dataspace abstraction does offer us a number of desirable properties. Since producers and consumers are decoupled in both space and time, the system easily supports:
|
|
Run time configuration and reconfiguration entities may be started, stopped, relocated and replicated transparently.
|
|
|
Failure resilience the system copes well with failed or unavailable services (e.g. due to communications outages) as the queries persist in the dataspace until the service is restarted (or the request is handled by a redundant replica).
|
|
|
Low configuration overhead the entities are effectively self discovering.
|
|
|
Evolution providing the interface to the dataspace remains constant, new services and applications may be introduced without affecting the existing entities (as state is explicitly passed via or intermediated by the dataspace).
|
Adrian Friday, Nigel Davies, Nat Wallbank, Elaine Catterall, and Steve Pink. Supporting service discovery, querying and interaction in ubiquitous computing environments. To appear ACM Baltzer Wireless Networks (WINET) Special Issue, 10(6), 2004.
[ Download ]
Adrian Friday, Nigel Davies, and Elaine Catterall. Supporting service discovery, querying and interaction in ubiquitous computing environments. In 2nd ACM International Workshop on Data Engineering for Wireless and Mobile Access (MobiDE 2001), pages 7-13, Santa Barbara, U.S., 2001.
[ Download ]
Christos Efstratiou, Adrian Friday, Nigel Davies, and Keith Cheverst. Utilising the event calculus for policy driven adaptation on mobile systems. In Jorge Lobo Bret J. Michael and Naranker Duray, editors, 3rd International Workshop on Policies for Distributed Systems and Networks, pages 13-24, Monterey, Ca., U.S., 2002. IEEE Computer Society.
[ Download ]
Christos Efstratiou, Adrian Friday, Nigel Davies, and Keith Cheverst. A platform supporting coordinated adaptation in mobile systems. In 4th IEEE Workshop on Mobile Computing Systems and Applications (WMCSA 2002), pages 128-137, Callicoon, New York, U.S., 2002. IEEE Computer Society.
[ Download ]
Stephen Wade. An Investigation into the use of the Tuple Space Paradigm in Mobile Computing Environments. Ph.D. thesis, Lancaster University, U.K., Computing Department, Faculty of Applied Sciences, Lancaster University, Bailrigg, Lancaster, LA1 4YR, U.K., 1999.
[ Download ]
Nigel Davies, Adrian Friday, Stephen Wade, and Gordon Blair. L2imbo: A distributed systems platform for mobile computing. ACM Mobile Networks and Applications (MONET), Special Issue on Protocols and Software Paradigms of Mobile Networks, 3(2):143-156, 1998.
[ Download ]