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.