GREETINGS AND SALUTATIONS!

 

 

 

Jini Shouldn't be in a Bottle

Jini technology provides simple mechanisms that enable devices to plug together to form an impromptu community -- a community put together without any planning, installation, or human intervention. Each device provides services that other devices in the community can use.

The Java programming language is the key to making Jini technology work. In a network employing Jini technology, devices are tied together using Java Remote Method Invocation (RMI). The discovery and join protocols, as well as the lookup service, depend on the ability to move Java objects, including their code, between Java virtual machines. For Jini connection technology to succeed, the underlying protocols and infrastructure must become pervasive.

The real meat of Jini is not the ability to discover other devices and services in a network. There are lots of service discovery methods available. The advantage of Jini is the ability to locate and distribute object-oriented Java executables, or proxy objects, that provide access to the service. Providing these proxy objects in the �write once, run anywhere�Eparadigm of Java is pleasing to the Java crowd. But limiting the use of the technology to Java based networks is preventative to broad acceptance.

The Salutation Architecture provides a Functional Unit (FU) called [DOC Storage]. The original intent of the FU was a temporary holding location for inbound or outbound faxes or a page store for scanned pages or print output. However, the Version 2.0c release of the Salutation Architecture Specification (www.salutation.org) extended [DOC Storage] to include device drivers, application program, executable code and application data. The [DOC Storage] FU Description Record contains a file type attribute for identifying the content of the [DOC Storage] including these new types.

Utilizing this new attribute, a [Client] FU can use Salutation�s QueryCapability command to locate a [DOC Storage] FU containing the content desired. This query may be further qualified as to device type and operating system by interrogating the FileData attribute. With support for Jini proxy objects, a [Client] FU may locate the XYZ printer proxy object.

Once located, the [Client] can use the RetrieveDoc [DOC Storage] command to retrieve the proxy object. After it has been retrieved, the [Client] merely installs the proxy object and uses the device. Following its use, the proxy object may be uninstalled and discarded, freeing up [Client] memory.

Salutation also facilitates proxy object upgrades from manufacturers. The proxy object may be overwritten with an up-level version by using the StoreDoc [DOC Storage] command.

Naturally, the content of [DOC Storage] is not limited to Java proxy objects. For example, a printer may contain several [DOC Storage] FUs each containing a device driver supporting a different operating system. As before, Java based clients may use Salutation�s commands to locate and then load a Java proxy object supporting the printer. A WindowsCE client may locate and load a device driver for that platform. A PalmOS device may locate and load a device driver appropriate for that environment, and so on.

These [DOC Storage] FUs do not have to be stored on the device. They may be in the supporting network or on the Internet. Furthermore, Salutation supports both directory centric and peer-to-peer networks. So no matter what the network configuration, transmission protocol, or operating system mix, Salutation can support locating and loading Jini proxy object, and other objects technologies.

The cork is out of the bottle

Salutation bridges the gap between technology islands. Salutation�s independence of operating system and transmission protocol allow a single service discovery protocol to run on multiple environments over diverse protocols. The [DOC Storage] FU breaks the dependence on a specific device driver or object scheme. With the ability to locate and load Java proxy objects with the broadly applicable Salutation protocol the dependence on Jini�s lookup table implementation is broken. With Salutation, Jini objects can coexist with objects and device drivers written in other code-bases.

 

 


Back to Tech Talk

Back to home page