Problem Statement
A
problem that has emerged in distributed systems is the
long-term stability of shared components and their communication
protocols. An upgrade to one component in the system, tends to
require upgrading all other connected components. This is
often impractical in real distributed system where pieces of the
system are written by different people, at different times, shared
across applications, and released at different rates.
Despite advocacy by vendors that "the latest protocol is the
best protocol", there is essentially no global reboot for
upgrading all components in a system.
Contribution
Our solution to this problem is to insulate the application code from the
underlying protocol used to communicate between components in the system and to
support multiple simultaneous communication protocols allowing components to
slowly evolve across a suite of protocols (rather than needing re-writing or
shutting off old clients). The mechanism is a light-weight, highly portable
cummunication infrastructure known as ORBlite. It is intendedfor deployment in
appliances such as printers, instruments, and cameras (although it has been used
on large scale database applications as well). ORBlite is multi-lingual in the
sense that a component can simultaneously communicate using DCOM, CORBA-IIOP,
DCE, SOAP, or even proprietary remote-procedure call mechanisms. The
core observation in ORBlite was that the basic model of distributed
communication has not changed despite the different protocol encodings
by platform vendors. Thus ORBlite can create a protocol-neutral invocation
request and map that request to the latest-and-greatest protocol (which
typically is just another variant of a remote procedure call mechanism). The
techniques used to create the abstraction add minimal overhead to the
communication layer and in most cases are more efficient than writing to the
native communication protocol.
Developments
ORBlite has been used across HP in a variety of products. It was the core
technology in the HP ORBplus product, used for deployment of networked spectrum
analyzers, formed the foundation of the communication backbone for the clinincal
electronic medical record (CEMR), used by the OpenView group for restructing the
OpenView system, used in the HP ChangeEngine workflow product, and the core
technology is used in all mid-range and high-end LaserJets (12 products,
millions of units).
For more technical details, please refer to the following paper:
K. Moore and E. Kirshenbaum, "Building Evolvable Systems:
The ORBlite Project," HP Journal, February 1997, Article
9 (html).
|
|
|