GREETINGS AND SALUTATIONS!

 

 

 

 

 

 

 

Discover Quality Service Discovery

The personal area network that radiates from the mobile devices we each carry will allow us to reach out to network nodes located in shopping malls, hotels, and airports, and connect us to data bases and information sources that we encounter while on the go. Devices based on PalmOSE/span>, Windows CEEPocketPCE/span>, JavaE/span> and other platforms will require communication with devices built on dissimilar operating platforms. They will need to communicate with network servers based on Unix, Linux®, Windows® and other operating environments. 

Service discovery is needed to make all this happen automatically. Service discovery enables disparate devices to communicate their functional capabilities to each other, while also providing the requester and the located service a means for entering into a relationship.

Service Discovery Traits

There are a myriad of service discovery protocols available today, but a successful service discovery technology must contain certain design and functionality attributes in the following areas:

·        Capability Description

·        Discovery Protocol

·        Discovery Technique

·        Utilization

Capability Description

Capability Description provides a common way of describing the functions provided by devices, applications, and services. For best results, the capability description must be extensible in two ways. First, the description must provide a means for a product manufacturer to add new attributes that are specific to the manufacturer’s implementation. The capability description must also include a mechanism that allows descriptions of new functions that have not yet been thought of to be supported.

Rather than developing unique capability descriptions, Salutation adopts the capability semantics already standardized by the industry. For example, Salutation adopted the description of printing from the Printer MIB. Salutation will continue this approach to capability definition. In fact, as the Universal Plug and PlayE/span> (UPnPE/span>) Forum releases the common capability semantics derived in XML syntax, Salutation will incorporate these into its platform and protocol-independent approach.

Discovery Protocol

Another common trait of service discovery is the discovery protocol itself, which consists of the messages sent between the requester and other components on the network. The most important aspect of this trait is independence from the transmission protocol. In a complex network, multiple transmission protocols may be operating simultaneously. In such configurations, a discovery protocol that can ride on top of all of these different transmission protocols will provide better overall service than a discovery protocol that is tightly integrated with a specific transmission protocol.

Salutation is designed for pervasive, dynamic and heterogeneous networking, where the discovery solution must be separate from network protocols. Unlike UPnP, which relies on HTTP and TCP/IP, and Jini, which relies on Remote Method Invocation and a Java Virtual Machine, the unique Salutation design sits above the protocol layer, binding to it through a transport manager.

Salutation has been designed such that it can easily leverage virtually any network protocol. Many vendors in the office automation space currently ship Salutation enabled products that utilize TCP/IP. Salutation software has also been implemented using IrDA. The Bluetooth SIG has incorporated Salutation has part of their service discovery and others in Salutation’s developer community plan on leveraging other transmission protocols in conjunction with Salutation.

Discovery Technique

Capability description and discovery protocol combine to provide the tools for discovery. Basic discovery techniques consist of the needs of the requester being compared against the attributes of other network resources. A match results in discovery. As simple as this appears, the discovery technique may be implemented in several ways from having the requester review returned results for matching attributes, to having the service itself search for a match, or using an intermediary such as directory that collects and registers capability information about its different network resources. The best solution is to provide a service discovery technique that supports all of these approaches, giving the component designer the flexibility to join any type of discovery network.

Jini, with its look-up table, is primarily a directory-centric approach. UPnP uses its Simple Service Discovery Protocol (SSDP), which to some degree also depends on a directory service. Salutation can support the full range of network configurations from peer-to-peer to directory-centric. The innovative design allows the requester to structure the discovery protocol to be as chatty or bit-conservative as required. Therefore, Salutation enables you to leverage a directory to gather the characteristics of network resources, or rely on the client to locate a resource that meets a specific set of capabilities.

Utilization

Once the above techniques have been used to find required services, the next step is to utilize those services that have been found. As before, a technique independent of transmission protocol is needed to bind to discovered services. The simplest approach is to provide a means of opening a virtual data pipe between the requester and the discovered service. This assumes that the requester knows how to talk to the service. Typically, this “knowledgeEis provided via a device driver that runs on the requester and generates the necessary form and format for interactions with the service.

In the dynamic network environment containing a mixture of operating system platforms, it cannot be assumed that the requester will have the necessary device driver. A complete service discovery solution must provide a technique to locate and load desired device drivers. This can be done in the same manner as the search for other network resources. That is, a requester can search the network to find a device driver for a previously discovered printer that is designed for the requester’s operating platform.

Another approach is to provide a standard control language between resources. The common control language may be used to start and stop jobs, and check job status. For simple devices, a simple control structure may be provided which can eliminate the need for specific device drivers. For example, a common control language can be established to turn volume on, off, up, down and mute. As before, a common semantic definition is a necessity with a common syntax being less important

Salutation provides a technique both for establishing a session between requester and discovered component, and for locating and loading device drivers. Jini supports the device driver concept by locating Java-based proxy objects thorough its look up table directory. Salutation has no dependence on operating environment. It can locate Java proxy objects as well as device drivers designed for other platforms. And, as the UPnP Forum releases XML-based control definitions, Salutation is ready to adopt them.

Salutation’s independence of operating system and transmission protocol allows a single service discovery protocol to run in multiple environments over diverse protocols. The ability to locate and load any type of device driver breaks the dependence on a specific device driver or object scheme. With Salutation, Jini proxy objects can coexist with objects and device drivers written in other code-bases.

Conclusion

While service discovery protocols abound, most have not been designed to operate in a pervasive manner such that they can span the many complex and different computing environments that exist at the workplace, on the road, at the mall, and at home. Some service discovery protocols are too tightly defined for a specific usage, many are limited to certain network or computing environments, and others do not provide the needed flexibility in their discovery approach. As a result, the products that utilize these service discovery protocols can only operate in their own isolated technology space.

However, Salutation bridges the gap between these technology islands.  The Salutation Architecture provides a royalty-free open-source service discovery solution that is independent of processor, operating system, and communication protocol. Salutation utilizes standard capability semantics and provides a means for easily introducing and recognizing new capability definitions.  Salutation provides developers and users the flexibility needed to implement the best discovery method for their particular circumstance. Salutation provides the means for devices and services to easily interact and leverage the vast opportunities that exist in today’s dynamically global networks.

 

 


Back to Tech Talk

Back to home page