Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jini Overview and Specification Presented by Jas, Alvin & Chris CSE 291-B May 29, 2003.

Similar presentations


Presentation on theme: "Jini Overview and Specification Presented by Jas, Alvin & Chris CSE 291-B May 29, 2003."— Presentation transcript:

1 Jini Overview and Specification Presented by Jas, Alvin & Chris CSE 291-B May 29, 2003

2 Jini - Introduction Jini technology allows devices to dynamically establish communication to share and exchange services across a network. Jini technology allows devices to dynamically establish communication to share and exchange services across a network. Provides simple mechanisms which enable devices to plug together to form an impromptu community (federation) Provides simple mechanisms which enable devices to plug together to form an impromptu community (federation) Lesson in Political Science: In a federation, most power lies in local authorities. Federal authorities ensure that local authorities work together. Lesson in Political Science: In a federation, most power lies in local authorities. Federal authorities ensure that local authorities work together. Each device provides services that other devices in the community may use. Each device provides services that other devices in the community may use. These devices provide their own interfaces which ensure reliability & compatibility. These devices provide their own interfaces which ensure reliability & compatibility.

3 Jini - Introduction Jini is an extension of Java Jini is an extension of Java Java consists of one virtual machine Java consists of one virtual machine Jini is a kind of virtual network Jini is a kind of virtual network Jini Devices must have processing power or memory. Jini Devices must have processing power or memory. Otherwise controlled by another device. Otherwise controlled by another device. Relies on existence of a network of “reasonable” speed connecting these devices. Relies on existence of a network of “reasonable” speed connecting these devices.

4 Key Concepts Services Services An Entity used by person, program, or another service. May be a computation, storage, a communication channel, etc. You know…a service! An Entity used by person, program, or another service. May be a computation, storage, a communication channel, etc. You know…a service! Jini system consists of services that can be collected to perform a particular task. Jini system consists of services that can be collected to perform a particular task. Services can be dynamically added or withdrawn from the system as needed. Services can be dynamically added or withdrawn from the system as needed. Services Communicate using a service protocol which is a set of interfaces written in Java. Services Communicate using a service protocol which is a set of interfaces written in Java.

5 Key Concepts Lookup Service Lookup Service Major point of contact between users of the system and the system. Major point of contact between users of the system and the system. Finds and adds services to the Jini Federation Finds and adds services to the Jini Federation Maps functionality to a set of objects in Jini that actually implement the service Maps functionality to a set of objects in Jini that actually implement the service Can include other lookup services (hierarchy) Can include other lookup services (hierarchy) Can for bridges to other lookup services. Can for bridges to other lookup services. Services added using two protocols Services added using two protocols Discovery – locates appropriate lookup service Discovery – locates appropriate lookup service Join – join lookup service. Join – join lookup service.

6 Key Concepts Java RMI Java RMI Provides communication between services Provides communication between services Extension to normal remote procedure call. Extension to normal remote procedure call. Passes not only data, but entire objects and code. Passes not only data, but entire objects and code. Provides Simplicity Provides Simplicity Code can be encapsulated in an object and can be passed from service to service. Code can be encapsulated in an object and can be passed from service to service.

7 Key Concepts Leasing Leasing Access to many services are lease based. Access to many services are lease based. Guarantees access to a service for a negotiated period of time. Guarantees access to a service for a negotiated period of time. Services can be exclusive or non-exclusive. Services can be exclusive or non-exclusive. Transactions Transactions A series of operations to be performed. A series of operations to be performed. Within a single service or spanning multiple services. Within a single service or spanning multiple services.

8 Key Concepts Security Security Built on the twin notions of a principal and an access control list. Built on the twin notions of a principal and an access control list. Jini services are accessed on behalf of some entity (principal) which traces back to a user of the system. Jini services are accessed on behalf of some entity (principal) which traces back to a user of the system. Check object’s access control list to determine permissions to use a particular service. Check object’s access control list to determine permissions to use a particular service.

9 Key Concepts Events Events Ability to notify objects when a particular event occurs. Ability to notify objects when a particular event occurs. Could trigger new task/transaction Could trigger new task/transaction

10 Components Three main components Three main components Infrastructure Infrastructure Programming Model Programming Model Services Services Tend to get blurred, but just an extension of the virtual machine concept. Tend to get blurred, but just an extension of the virtual machine concept.

11 Components Infrastructure Infrastructure Discovery & Join Protocol Discovery & Join Protocol Define way services become part of Jini System Define way services become part of Jini System Java RMI Java RMI Base language with which services communicate Base language with which services communicate Security Model Security Model Define how entities are identified and how they get rights to perform actions. Define how entities are identified and how they get rights to perform actions. Lookup Service Lookup Service Marketplace for finding and offering services. Marketplace for finding and offering services. Entries in Lookup Service are objects written in Java. Objects can be downloaded and act as local proxies. Entries in Lookup Service are objects written in Java. Objects can be downloaded and act as local proxies.

12 Components Programming Model Programming Model Sets of interfaces designed to extend the usual single virtual machine model. Sets of interfaces designed to extend the usual single virtual machine model. Leasing Interfaces Leasing Interfaces Adds time-based interface to resources. Adds time-based interface to resources. Event and Notification Interfaces Event and Notification Interfaces Enable event-based communication between services Enable event-based communication between services

13 Components Programming Model (Cont) Programming Model (Cont) Transaction Interfaces Transaction Interfaces Coordinates the actions of a group of distributed objects in a two phase system Coordinates the actions of a group of distributed objects in a two phase system Voting Phase Voting Phase An object votes on whether it has completed it portion of a task and is ready to commit. An object votes on whether it has completed it portion of a task and is ready to commit. Commit Phase Commit Phase Coordinator issues a commit request to each object. Coordinator issues a commit request to each object.

14 Components Services Services Consist of objects coded in Java Consist of objects coded in Java Can be made up of other objects Can be made up of other objects Has an interface that defines what a service is capable of doing Has an interface that defines what a service is capable of doing

15 A Closer Look at JINI Similar Technologies Similar Technologies Limitations of JINI Limitations of JINI Case Studies Case Studies Current Status Current Status

16 Similar Technologies UPnP, Salutation, NINJA UPnP, Salutation, NINJA Common Object Request Broker Architecture Common Object Request Broker Architecture CORBA is a specification for a Distributed Object System CORBA is a specification for a Distributed Object System RMI vs CORBA RMI vs CORBA performance and portability tradeoffs performance and portability tradeoffs Distributed Objects vs Distributed Services Distributed Objects vs Distributed Services Can be used in complementary fashion? Can be used in complementary fashion?

17 Using CORBA with JINI

18 Limitations: Service Lookups Lookup Servers vs Name Servers Lookup Servers vs Name Servers Query by service or name Query by service or name Exact Matching Exact Matching ServiceTemplate / ServiceRegistrar provide limited expressiveness (i.e. for range queries) ServiceTemplate / ServiceRegistrar provide limited expressiveness (i.e. for range queries) Fault-tolerance Fault-tolerance No defined policies for system recovery No defined policies for system recovery

19 Limitations: Low-Resource Hosts Servers: Sun’s reference implementation of Lookup Service consumes 3 MB storage Servers: Sun’s reference implementation of Lookup Service consumes 3 MB storage Clients: Limitedness of lookup interface can require a lot of unnecessary overhead Clients: Limitedness of lookup interface can require a lot of unnecessary overhead Is this really a problem (given the success stories)? Is this really a problem (given the success stories)?

20 Case Studies: Who uses it? Quantum Quantum Seagate Seagate 3COM 3COM Cisco Cisco Xerox Xerox Novell Novell Nokia Nokia Philips Philips Sony Sony Motorola Motorola Kodak Kodak Sharp Sharp Canon Canon Siemens Siemens Toshiba Toshiba Samsung Samsung Kinko’s Kinko’s Hewlett Packard Hewlett Packard AOL AOL Adaptive Networks Adaptive Networks Ericsson Ericsson

21 Case Studies: Success Stories 4D Networks: Application Services for the Web Built on Jini Network Technology. 4D Networks: Application Services for the Web Built on Jini Network Technology. Appropria: Jini Technology Brings Mission-critical Information Out of the Silo. Appropria: Jini Technology Brings Mission-critical Information Out of the Silo. Entegrity Solutions: Major Online E-commerce and Enterprise Solutions Company Rely on Jini Network Technology for Secure E-Commerce. Entegrity Solutions: Major Online E-commerce and Enterprise Solutions Company Rely on Jini Network Technology for Secure E-Commerce. Eko: Jini Technology connects medical data and equipment dynamically and reliably. Eko: Jini Technology connects medical data and equipment dynamically and reliably. FETISH Federation: Jini Network Technology Links Online Travel Services. FETISH Federation: Jini Network Technology Links Online Travel Services. Lightflow: Jini Network Technology Adds "High Touch" to Online Shopping. Lightflow: Jini Network Technology Adds "High Touch" to Online Shopping. Maui High Performance Computing Center: Sun Architects Jini Network Technology Infrastructure for Military Simulations. Maui High Performance Computing Center: Sun Architects Jini Network Technology Infrastructure for Military Simulations. Procoma: An Innovative Solution for Commerzbank AG with Jini Technology. Procoma: An Innovative Solution for Commerzbank AG with Jini Technology. Raytheon: Open, Adaptive, Self-Healing Architecture for DD21. Raytheon: Open, Adaptive, Self-Healing Architecture for DD21. U.S. Army: Reliable Battlefield Communication Using Jini Connection Technology. U.S. Army: Reliable Battlefield Communication Using Jini Connection Technology.

22 Case Studies: Success Stories (cont.) “We believe that the Jini and Java technologies will dramatically change the way DD 21 and future Navy systems are developed. The spontaneous community capabilities of Jini will lead to much more reliable, capable and maintainable systems. The development and integration cycle will be reduced significantly, and the use of commercial components will finally be cost-effective.” -- Lead Systems Engineer for DD21, Raytheon “We believe that the Jini and Java technologies will dramatically change the way DD 21 and future Navy systems are developed. The spontaneous community capabilities of Jini will lead to much more reliable, capable and maintainable systems. The development and integration cycle will be reduced significantly, and the use of commercial components will finally be cost-effective.” -- Lead Systems Engineer for DD21, Raytheon "The cost of manually implementing what Jini network technology is providing us would have been prohibitive both from an actual cost perspective (person-hours to build) and time perspective (time to market)," said Horvath. "Jini technology's increasingly mature and well-documented capabilities would be very difficult to reproduce. The use of Jini technology allows our team to stay focused on the problem space of AssureDelivery, and not on implementation details of the underlying distributed service." -- Director of Product Development, Entegrity Corp. "The cost of manually implementing what Jini network technology is providing us would have been prohibitive both from an actual cost perspective (person-hours to build) and time perspective (time to market)," said Horvath. "Jini technology's increasingly mature and well-documented capabilities would be very difficult to reproduce. The use of Jini technology allows our team to stay focused on the problem space of AssureDelivery, and not on implementation details of the underlying distributed service." -- Director of Product Development, Entegrity Corp.

23 Current Status Increased Deployment: “ Jini Technology Licensees, Including Heartlab Inc, Templar Corp, Valaran Corp, FETISH Federation, and Cysive Inc., Turn to Jini Technology to Address Dynamic Networking Challenges” (May 7, 2003) Increased Deployment: “ Jini Technology Licensees, Including Heartlab Inc, Templar Corp, Valaran Corp, FETISH Federation, and Cysive Inc., Turn to Jini Technology to Address Dynamic Networking Challenges” (May 7, 2003) Standardization: “ Jini Community Approves the ServiceUI API” (May 7, 2003) Standardization: “ Jini Community Approves the ServiceUI API” (May 7, 2003)

24 Current Status (cont.) Open Issues: Open Issues: Network Scalability: In theory, a JINI systerm can scale if it uses a hierarchy of lookup servers (like DNS), but no actual ‘wide area’ JINI network has been deployed. But is this even relevant? Network Scalability: In theory, a JINI systerm can scale if it uses a hierarchy of lookup servers (like DNS), but no actual ‘wide area’ JINI network has been deployed. But is this even relevant? Generality: Can well-defined interfaces be established for all types of services besides simple examples like printers and cameras? Generality: Can well-defined interfaces be established for all types of services besides simple examples like printers and cameras?

25 Jini & SensorNets Can they benefit from each other?

26 Benefits of Jini on SensorNets Sensor networks could benefit from having a virtual machine on each platform so that not every platform required special code Sensor networks could benefit from having a virtual machine on each platform so that not every platform required special code Allows for single deployments with multiple sensing applications Allows for single deployments with multiple sensing applications Dynamic addition/removal of services Dynamic addition/removal of services As platforms with newer sensors come onboard, the network would automatically adapt to support them As platforms with newer sensors come onboard, the network would automatically adapt to support them

27 Divergences Jini seems to imply high connectivity and high bandwidth Jini seems to imply high connectivity and high bandwidth Code is dynamically downloaded to the node Code is dynamically downloaded to the node Currently, this is too much to expect from nodes Currently, this is too much to expect from nodes Jini makes no attempt to address power consumption issues Jini makes no attempt to address power consumption issues Asynchronous communication implies the radio be on most of the time Asynchronous communication implies the radio be on most of the time Automatic discovery and handshaking looks costly Automatic discovery and handshaking looks costly Perhaps this is why Jini hasn’t taken off—most embedded devices are on a power conscious diet Perhaps this is why Jini hasn’t taken off—most embedded devices are on a power conscious diet

28 Future Work Since they expect Jini to take off for embedded devices which have significant power constraints, Jini should be made aware of these constraints Since they expect Jini to take off for embedded devices which have significant power constraints, Jini should be made aware of these constraints Should prioritize the needs in sensor networks and eliminate “marketing” features found in Jini Should prioritize the needs in sensor networks and eliminate “marketing” features found in Jini

29 Discussion Questions Should sensornets adapt and conform to Jini-like standards or should sensornets use a simplified version of Jini? Should sensornets adapt and conform to Jini-like standards or should sensornets use a simplified version of Jini? How much overhead is acceptable for sensor networks in terms of communication and computation? How much overhead is acceptable for sensor networks in terms of communication and computation? Can virtual machines be made to have virtually no overhead and still be powerful? Can virtual machines be made to have virtually no overhead and still be powerful?


Download ppt "Jini Overview and Specification Presented by Jas, Alvin & Chris CSE 291-B May 29, 2003."

Similar presentations


Ads by Google