Semantic Service Discovery in Bluetooth
December 1, 2000 - December 1, 2002
Bluetooth Service Discovery Protocol (SDP) enables a client application on a device to discover information about services on other Bluetooth devices. Every service is represented by a profile that is identified by a 128-bit Universally Unique Identifier (UUID). Attributes associated with a particular service are also identified by UUIDs. Service discovery requests, sent by the client, must contain one or more UUIDs. A match occurs on a peer device if and only if at least one UUID specified by the client is contained in one or more service records. UUID-based matching ensures that the protocol is lightweight, both in terms of discovery time and memory, and makes it well suited to resource constrained devices. An important limitation of this lightweight SDP is that the service registration facility -- a common feature of most service discovery protocols -- is not provided.
We believe that the advantages of UUID-based matching to support service discovery are restricted to a Bluetooth network consisting of resource constrained devices. The common case design of Bluetooth networks includes resource rich systems (sub-laptop to server class). Such a design calls for a matching mechanism that uses as much information (i.e., semantic information), regarding services and attributes, as available to decide the success or failure of a service discovery query. Provision of the service registration facility is trivial in such resource rich Bluetooth networks. We have designed an enhanced version of Bluetooth SDP that supports semantic matching and provides service registration. A service ontology described in the Resource Description Framework (RDF) and a reasoning engine using the XSB (a Prolog variant) logic programming language are principal components of the enhanced SDP. We have evaluated the performance of the enhanced SDP and determined that it performs comparably to the regular SDP.
We are currently working on replacing RDF with the DARPA Agent Markup Language (DAML) and implementing the SDP client and/or server on a PDA class device -- the Agenda.