Sunday, 8 June 2008

Discovery Protocols for FMC devices

Today’s mobile computers include additional features such as Java, Bluetooth, Smart Covers, WAP 2.0, and JavaScript enabled Web pages and with embedded SOAP, 3GPP with SIP, and other technologies that make it possible to provide sophisticated, distributed applications. These new applications need Discovery tools to learn about the nearby networks or network-accessible resources available to them.

In future when FMC is common and PnP devices will be commonly available, when a user brings a new device home, the device will be able to automatically integrate itself into the home network. Discovery protocols are the mechanisms that make this possible.

Discovery protocols are network protocols used to discover services, devices, or other networked resources. The ability to discover networked resources at runtime makes it possible to dynamically configure distributed systems.

Over the past 20 years, dozens of discovery protocols have been developed. Despite many years of practical experience with discovery protocols, it remains an active area of research for many organizations investigating topics related to scalability or security or context awareness.
Usually, a discovery protocol allows a service to be discovered on the basis of its type, its Application Programming Interfaces (APIs), and other properties—not just its name. For example, DNS (Distributed Name Service) is a name service. It resolves domain names to Internet Protocol (IP) addresses. For example, SLP (Service Location Protocol) clients can ask for services that match certain constraints, and servers respond with the names of services that match those constraints.

In general, there are four basic mechanisms that discovery protocols use for “discovery.”
1. Advertisement
2. Inquiry
3. Directories
4. Description

The wide range of protocols, representation languages, and query languages has resulted in very little, if any, interoperability between the various discovery protocols. As a consequence, most commercially available systems implement multiple discovery protocols.

Supporting multiple protocols has major drawbacks. Many mobile devices are memory constrained or have inadequate user interface capabilities. This limitation makes it very undesirable to use multiple protocols when, at least theoretically, a single protocol would be sufficient. Users of laptops or desktops are not usually concerned with the cost or power consumption of the network they are connected to. Mobile phone users may be concerned inefficient protocols designed for Local Area Networks (LANs)—both the financial cost of using the cellular network and the drain on their batteries of using any network.

It is common for discovery protocols to come as an integrated part of a distributed middleware toolkit. In addition to discovery, distributed middleware toolkits provide for remote invocation and events. For example, SSDP (Simple Service Discovery Protocol) is part of UPnP (Universal Plug and Play); a suite of distributedcomputing technologies that includes SSDP, SOAP (Simple Object Access Protocol), and GENA (Generalized Event Notification Architecture). Likewise, Jini is a distributed middleware toolkit that provides its own services discovery protocol.

Distributed middleware toolkits make it possible to create smart controllers that (1) use discovery protocols to integrate themselves with the home devices, (2) are aware of the device state and display information from the device to the user, (3) receive responses from control messages, (4) can authenticate themselves as authorized for the device, and (5) coordinate the actions of many devices.

For more information see:

No comments: