Introduction
1. Jini technology provides a simple infrastructure for delivering services (application, database, printing, storage etc) in a network and for creating an interaction between programs that use these services regardless of their hardware/software implementation.
2. Services can be added or removed from the network and new clients can find existing services.
History
1. The idea of the Jini system was invented by Sun cofounder Bill Joy at Sun Aspen Small works R&D lab in 1994.
2. Sun introduced Jini in July 1998. In November of 1998, Sun announced that there were some firms supporting Jini.
3. The word ‘jini’ means “the devil” which is the origin of the English word ‘genie’. On January 25, 1999, Jini was officially launched and the technology is available for download.
Goal of Jini Technology
1. To enable users to share services and resources over a network.
2. To provide users the ability to access resources anywhere easily on the network, even though the network location of the user may constantly change.
3. To simplify the task of creating and managing network devices, software services, and users.
Jini Architecture
1. Connects to a TCP/IP network.
2. Use a discovery protocol to find at least one lookup service.
3. Register with the lookup service.
4. Continue to renew the resource’s releases, as long as the service is available to the network.
Benefits of JINI
1. It is easy to add and remove services.
2. Services can be relocated on the network without affecting users.
3. JINI is open-source, meaning that the program code is freely available on the Internet and there are no fees for using it.
4. The JINI architecture is scalable.
5. Services are available immediately and are found automatically.
6. Everyone can access to same information & resources.
Limitations
Depends on java/RMI or external mechanism for security.
Does not scale well to very large systems because jini use lookup service as a broker between client & services.
Components
1. Services
2. Lookup Services
3. Discovery and Join
4. Extended RMI
5. Leasing
6. Transactions
7. Java Spaces
8. Distributed Security
9. Distributed Events
Services
1. A service can be anything that sits on the network and is ready to perform a useful function. Hardware devices, software, communications channels – even human users themselves — can be services.
2. Services may be added or withdrawn from a Jini federation at any time.
3. Jini provides mechanisms for service registration, lookup and use.
4. Services communicate by using a service protocol = set of Java interfaces.
5. Set of services is open-ended.
Lookup Services
1. Lookup Services are the central organizing mechanism for Jini-based systems and provide mapping of interfaces to objects. Lookup enables a client to query a lookup service for services that can help the client accomplish its goals.
2. Hierarchical Lookup: Lookup service may include entry for other lookup services. When new services become available on the network, they register themselves with a lookup service.
3. When clients wish to locate a service to assist with some task, they consult a lookup service.
4. The runtime infrastructure uses one network-level protocol, called discovery, and two object-level protocols, called join and lookup.
Discovery and Join
1. Discovery is the protocol by which Jini services register themselves with a lookup service.
2. Discovery or Lookup is performed by doing a multicast (to find all lookup services) or unicast (when you know the machine on which the lookup service is running) lookup. Jini™ enabled Object (representing a hardware and/or software service) multicasts a packet with a reference to itself.
3. The service receives RMI reference to Lookup service (one or more).
4. The service joins a federation by placing an object representing capabilities into the Lookup service for other clients and services to use for a period of time.
5. Discovery enables clients and services to locate lookup services.
6. Join enables a service to register itself in a lookup service.
Extended RMI
1. Communication among services uses Java RMI
2. Extended with leases
3. RMI provides
- Activation
- Distributed Garbage Collection
- Multicast
- Replication
Requirements of Jini
1. An infrastructure which operates as a dynamically distributed system.
2. A common language and implementation that enables low-overhead communication between distributed objects.
3. A lookup service which identifies objects that supply those services.
4. An add-in protocol which is implemented on each device—this is called the discovery/join protocol.
5. A subtract-out mechanism—providing resilience when a device is unplugged which is called leasing.
Application
1. Managing a Printer
2. Managing NT server
Conclusion
1. Jini’s promise is not limited to the domain of network devices.
2. It can be expanded to scanners, printers, phones, radios etc.
3. Before Jini can become the basis for such mission-critical applications, its ability to scale up to thousands of network devices and maintain high levels of security needs to be tested under stress and refined.