First Contact: Is There Life in JavaSpace?
by Robert Flenner
04/05/2001
I often went to bed as a child wondering about life in outer space.
Was there other life out there, or are we all alone? The notion of
"first contact" was always exciting, stimulating, and left you with a
feeling that was difficult to describe. I could not have imagined that
software engineering would lead me to a space where first contact is a
reality -- space where encounters with aliens (other software
engineers) can occur anywhere in the universe.
Jini and JavaSpaces hold great promise in allowing information
workers to make contact and collaborate on the edge of emerging
technologies. These technologies enable multidimensional information
exchange and intuitive, ad hoc work group formation.
Jini network technology provides a network-centric view to services
and service delivery. Services have a broad definition from
applications to mobile appliances and anything in between on the
network. You can make first contact with these services without prior
knowledge of where they reside. Services take on a life of their own
in Jini networks. The goal is to minimize the amount of human
intervention and administration required.
JavaSpaces is an example service that runs on the Jini network.
JavaSpaces is closely tied to the Jini architecture; in fact it is one
of the few services that comes bundled with Jini. JavaSpaces was
heavily influenced by the concept of a tuple space that was first
described in 1982 in a programming language called Linda. The basic
idea is that you can have many active programs distributed over
physically dispersed machines, unaware of each other's existence, and
yet still able to communicate. They communicate to each other by
releasing data (a tuple) into tuple space. Programs read, write, and
take tuples (entries) from tuple space that are of interest to
them.
This distributed network of loosely coupled collaborating processes
is an ideal foundation for the global competitive markets of the
twenty-first century. Progressive corporations are investing in
technologies to help information workers become more effective in the
capture, analysis, and dissemination of information.
This series of articles will explain Jini and JavaSpaces in the
context of promoting and creating a virtual work space -- a work space
where project team members can assemble to discuss and exchange
information without the physical constraints of the world around
them. Let's start our journey in Jini and JavaSpaces to the fictitious
land of JavaOffice Space (JOS).
Experiencing JavaOffice Space
Meet Elliot Franks, a software engineer with Global Business
Intelligence (GBI). Elliot has been working on a new software design
of Tracker for GBI. Tracker is agent-based software that tries to
anticipate human interaction with software programs and assists with
user navigation. The company wants to integrate Tracker into existing
systems on-the-fly and, thus, reduce the time it currently takes to
analyze human-to-system patterns of behavior. Elliot is a superior
software designer, but this project has stretched his capabilities in
design and cognitive science.
This morning Elliot has scheduled a meeting with Ian Gestal a noted
researcher and engineer in pattern recognition strategies. Both men
have worked together on previous projects and have mutual admiration
and respect for each other.
As time draws near Elliot retreats to his office. His office this
morning is cast in a blue amber light emanating from the floor of the
room. On the far wall is a black doorway shaped opening. Above the
opening is a neon light that radiates "Destination: Hong
Kong". Yesterday Elliot spent time talking to the research group in
Hong Kong and had not changed the transporter destination since then.
This morning Elliot will be "space traveling" to London to discuss the
Tracker project.
Elliot has looked forward to the meeting with Ian. It is always
fascinating to experience the work space that Ian delivers to every
meeting and encounter. From the moment you meet Ian and the connection
occurs, your creative capabilities are stretched in new
dimensions. The workspace that Ian delivers has proven advantageous in
differentiating Ian's consultations from those of the masses and the
herds of consultants on the channels.
Elliot casually adjusts his chair as he prepares for
transportation. On his lap sits a panel which displays the world. e
zooms into London and activates the transportation process. The neon
light over the dark doorway changes to "Destination: London" and a
momentary pause occurs as the instrumentation adjusts to the new
location; the doorway lightens and Ian enters the room.
Ian, spinning a ball projecting bright lights, smiles coyly and
quips about the thread traffic in the channel. "Almost 60 miles just
to get here today", he says, "the commute was miserable this
morning".
Elliot and Ian spend the next hour discussing the project goals and
objectives of Tracker. Ian suggests some alternative design
considerations and also points Elliot to a research team in Germany
doing work that may be applicable to his project. During the course of
the conversation Ian pulls up numerous references and plugs into a
number of similar initiatives. In addition Ian agrees to multicast
their conversation to an AI group developing human expectations based
software.
Elliot thanks Ian and agrees to share any information that would be
of value to their projects. They agree their software-agents will be
in contact to schedule and coordinate future meetings. The doorway
grows dark as Ian leaves the space. Elliot returns to his work. The
spinning ball slowly dims at the entry to the gateway.

Traversing through the JOS channel
|
Analysis of our virtual work space
Elliot and Ian just experienced might seem far-fetched and a bit on
the sci-fi edge. However most of the communication techniques are
available today. While the scale and the illusion of the encounter
may be exaggerated, the relevance of the content and the exchange is
not. Let's look at the interaction from a technical perspective. More
specifically how can Jini and JavaSpaces begin to lead us on a journey
of collaboration in the information "space" age.
Discovery and The London Channel
Of course Elliot and Ian never physically left their offices. Their
transportation was strictly digital. The channel that was referenced
was a connection established between two well-known end points. The
meeting required services to be invoked to facilitate and coordinate
the exchange of information. Jini and JavaSpaces are ideal candidate
technologies for dynamic exchange of content. Jini provides the
infrastructure and JavaSpaces provides the content framework for
creating, updating, and deleting data.