Research Paper Doctorate 1,196 words

Jini technology and distributed computing systems

Last reviewed: April 29, 2004 ~6 min read

Jini is software from Sun Microsystems that seeks to simplify the connection and sharing of devices, such as printers and disk drives, on a network (Jini, Webopedia). Unlike devices that require installation and boot-up processes to be added to a computer or a network, a device that uses Jini will announce itself to the network, provide some details about its capabilities, and immediately become accessible to other devices on the network. Therefore, it is possible to leverage Jini to create distributed computing, whereby capabilities are shared among the machines on a common network. Thus, users can access the features of any device on the network and the desktop computer does not have to hold all the memory, storage and processing power it needs to use a device. Because Jini has the potential to make operating systems incidental to the power of networks, some view Jini as having the potential to reduce the influence of the Microsoft Windows operating systems.

Jini is comprised of four major program layers (Jini, TechTarget):

Look-up Service

JavaSpace

Remote Method Invocation (RMI)

Discovery Protocol

When a device is plugged into the Jini network, it is immediately registered by the Directory Service layer as a member of the network. Its required program objects are placed in a JavaSpace layer so that other network members can discover and download them when that network member needs the device. The communication with objects in JavaSpace is done using the Remote Method Invocation interface and layer. Finally, the layer supporting the discovery protocol enables devices, users, and applications to announce and register themselves and to discover others.

Jini's Look-up service is different from most directory services because it is a dynamically built directory (Schwartz, 1999). According to Schwartz, once a device registers itself with the Look-up service, it becomes an object that can be accessed by other devices that may or may not be registered depending on user preference. For example, a user can register a color printer and be place it inside the Look-up service, which records the necessary printer code and driver information. Yet another user can plug a digital camera into the network and choose not to register the device. The camera user looking for a color printer will find it in the Look-up service and the necessary code or driver information from the printer is sent to the camera, allowing the printer and camera to "talk" directly to one another without returning to the Look-up service. And, if a device become unavailable, the device is automatically taken out of the Look-up service. With standard directory services, where the unavailable device would still be on the directory despite the fact that it isn't accessible.

JavaSpaces use a simple mechanism for accessing and processing distributed objects (Shah, 1998). A client application makes contact with a JavaSpaces server and requests a certain type of object by sending a template describing what the object looks like. The space will then respond with the entry that best fits the template description. The client sends a read operation to make a copy of the entry within that space and work with it. The client can also do a take operation to take an existing entry from that space, removing it from the list of entries. The client then processes the entry object as needed. Once completed, it can do a write operation to put that entry object back into the space, so that others can access it.

Jini and RMI offer a set of APIs and infrastructure for building distributed services that can dynamically register traits about themselves and register their availability (Perrone and Chaganti, 1999). Jini and RMI are similar to that of other distributed paradigms such as the Object Management Group's Common Object Request BrokerArchitecture (CORBA).

Both are language independent and are considered to be industry standards. However, Jini and RMI offer an easier to use API and RMI provides better support for mobile Java code than does CORBA. The most significant types of distributed Jini-based services that Sun has in mind are those services offered by embedded devices on a network such as printers, phones, PDAs, pagers, and storage device.

Last, but certainly not least, Jini provides plug-and-execute capabilities where a new device can gain instant recognition by the network and have access to any services for which it has authority (Java brews up a storm in the enterprise). This is what Sun calls a Discovery Protocol. Sun compares this to the dial tone in the standard telephone network. Discovery Protocol lets a new device or software on a network issue a multicast packet to alert other resources of its existence. Then it allows network users or programs to download drivers or information about the device or application.

The long-term vision for Jini is to provide architecture for the emerging network-centric hardware environment, an architecture based on the idea of a federation rather than central control (Venners, 1999). Today, according to Jini's chief technology architect, Jim Waldo, we make several assumptions about software in the traditional computing environment:

You’re 80% through this paper. Sign up to read the full paper.

Sign Up Now — Instant Access Already a member? Log in
130,000+ paper examples AI writing assistant Citation generator Cancel anytime
Cite This Paper
PaperDue. (2004). Jini technology and distributed computing systems. PaperDue. https://www.paperdue.com/essay/jini-is-software-from-sun-microsystems-that-170193

Always verify citation format against your institution’s current style guide requirements.