F
E
A
T
U
R
E
salutation managers, and transport managers. From a
client’s point of view, a functional unit defines a ser-
vice. Functional units already specified or under
consideration by the Salutation Consortium include
printing, faxing, and document storage. There is
also work on a functional unit specification to allow
discovery of Hewlett-Packard JetSend-enabled
devices. The specifications define attributes that
I
I
In native personality, Salutation managers are
used only for discovery. They establish a con-
nection between a client and service but per-
form no further operations on the data stream.
The emulated personality is similar to the native
personality in that Salutation managers set up
the connection, but in this case they transfer
native data packets encapsulated in Salutation
manager protocol format, providing a bridge
when no common message protocol exists
between client and service. The Salutation man-
ager is ignorant of the semantic content of the
data stream between client and service.
Salutation requires a network
transport protocol that supports
reliable, stream-oriented
communication.
I
In Salutation personality, Salutation managers
establish the connection between client and ser-
vice, and they also mandate the specific format
of the data transferred. The Salutation archi-
tecture defines the data formats.
characterize a service (for example, in the case of a A transport manager isolates the implementation
printer, double-sided capability, color, and so on). of the Salutation manager from particular trans-
The functional unit Doc Storage defines file port-layer protocols and thereby gives Salutation
attributes that can be used to find information in network transport independence. To support a
temporary or long-term storage. For example, a new network transport requires a new transport
client can search for operating system-specific dri- manager to be written, but does not require mod-
vers or software necessary to interact with a newly ifications to the Salutation manager. Like Jini (and
discovered device. The client simply queries a Salu- UPnP), Salutation requires a network transport
tation manager for the necessary Doc Storage func- protocol that supports reliable, stream-oriented
tional unit, extracts the application or device driver, communication. Initial implementations are based
and installs it, thus providing limited code mobility. on IP and IrDA because of their widespread use.
Salutation managers function as service brokers;
Transport managers also locate the Salutation
they help clients find needed services and let ser- managers on their respective network segments via
vices register their availability. Services can register either multicast, static configuration, or reference
and unregister functional units with the local Salu- to a centralized directory. Discovery of other Salu-
tation manager by using the API calls slmRegister- tation managers allows a particular Salutation man-
Capabilities() and slmUnregisterCapabilities(), respec- ager to determine which functional units have been
tively. A client can use the slmSearchCapability() call registered and to allow clients access to these remote
to determine if Salutation managers have registered services. Communication between Salutation man-
specific functional units. Under the current version agers is based on remote procedure call (RPC). This
of the architecture, applications can query only the interaction between remote Salutation managers
local Salutation manager. Future versions will allow contrasts with other registry-based service discov-
remote Salutation managers to be specified. Once a ery mechanisms (for example, Jini and Service
functional unit is discovered, slmQueryCapability() Location Protocol), where clients would be respon-
can be used to verify that a functional unit has cer- sible for locating remote registries.
tain capabilities. The API also includes calls for ini-
The Salutation specification currently does not
tialization/version checking, availability checking, address security issues.
and communication between clients and services.
A lightweight version of Salutation, called Salu-
tation.org/simulate.htm.)
ed devices. It is based primarily on IrDA to leverage
Salutation managers fill a role similar to lookup the large number of infrared-capable devices. Salu-
servers in Jini, but they can also manage the con- tation-Lite focuses primarily on service discovery. It
nections between clients and services. A Salutation uses the functional units OpEnvironment and Dis-
manager can operate in one of three “personalities”: play to describe the operating system, processor
SEPTEMBER • OCTOBER 2000 http://computer.org/internet/
IEEE INTERNET COMPUTING
22