jini overview and specification presented by jas, alvin & chris cse 291-b may 29, 2003

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

Upload: muriel-charles

Post on 11-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

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

Jini Overview and Jini Overview and SpecificationSpecification

Presented by Jas, Alvin & ChrisPresented by Jas, Alvin & Chris

CSE 291-BCSE 291-BMay 29, 2003May 29, 2003

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

Jini - IntroductionJini - Introduction

Jini technology allows devices to dynamically Jini technology allows devices to dynamically establish communication to share and exchange establish communication to share and exchange services across a network. services across a network.

Provides simple mechanisms which enable Provides simple mechanisms which enable devices to plug together to form an impromptu devices to plug together to form an impromptu community (federation)community (federation) Lesson in Political Science: In a federation, most power Lesson in Political Science: In a federation, most power

lies in local authorities. Federal authorities ensure that lies in local authorities. Federal authorities ensure that local authorities work together.local authorities work together.

Each device provides services that other devices Each device provides services that other devices in the community may use.in the community may use.

These devices provide their own interfaces which These devices provide their own interfaces which ensure reliability & compatibility.ensure reliability & compatibility.

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

Jini - IntroductionJini - Introduction

Jini is an extension of JavaJini is an extension of Java Java consists of one virtual machineJava consists of one virtual machine Jini is a kind of virtual networkJini is a kind of virtual network

Jini Devices must have processing power Jini Devices must have processing power or memory.or memory. Otherwise controlled by another device.Otherwise controlled by another device.

Relies on existence of a network of Relies on existence of a network of “reasonable” speed connecting these “reasonable” speed connecting these devices.devices.

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

Key ConceptsKey Concepts

ServicesServices An Entity used by person, program, or another An Entity used by person, program, or another

service. May be a computation, storage, a service. May be a computation, storage, a communication channel, etc. You know…a communication channel, etc. You know…a service!service!

Jini system consists of services that can be Jini system consists of services that can be collected to perform a particular task. collected to perform a particular task.

Services can be dynamically added or Services can be dynamically added or withdrawn from the system as needed.withdrawn from the system as needed.

Services Communicate using a service protocol Services Communicate using a service protocol which is a set of interfaces written in Java.which is a set of interfaces written in Java.

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

Key ConceptsKey Concepts

Lookup ServiceLookup Service Major point of contact between users of the system Major point of contact between users of the system

and the system.and the system. Finds and adds services to the Jini FederationFinds and adds services to the Jini Federation Maps functionality to a set of objects in Jini that Maps functionality to a set of objects in Jini that

actually implement the serviceactually 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 protocolsServices added using two protocols Discovery – locates appropriate lookup serviceDiscovery – locates appropriate lookup service Join – join lookup service.Join – join lookup service.

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

Key ConceptsKey Concepts

Java RMIJava RMI Provides communication between Provides communication between

servicesservices Extension to normal remote procedure call.Extension to normal remote procedure call. Passes not only data, but entire objects and Passes not only data, but entire objects and

code.code. Provides SimplicityProvides Simplicity

Code can be encapsulated in an object and Code can be encapsulated in an object and can be passed from service to service. can be passed from service to service.

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

Key ConceptsKey Concepts

LeasingLeasing Access to many services are lease based. Access to many services are lease based. Guarantees access to a service for a Guarantees access to a service for a

negotiated period of time.negotiated period of time. Services can be exclusive or non-exclusive.Services can be exclusive or non-exclusive.

TransactionsTransactions A series of operations to be performed.A series of operations to be performed. Within a single service or spanning multiple Within a single service or spanning multiple

services.services.

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

Key ConceptsKey Concepts

SecuritySecurity Built on the twin notions of a principal Built on the twin notions of a principal

and an access control list.and an access control list. Jini services are accessed on behalf of Jini services are accessed on behalf of

some entity (principal) which traces some entity (principal) which traces back to a user of the system. back to a user of the system.

Check object’s access control list to Check object’s access control list to determine permissions to use a determine permissions to use a particular service. particular service.

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

Key ConceptsKey Concepts

EventsEvents Ability to notify objects when a Ability to notify objects when a

particular event occurs.particular event occurs. Could trigger new task/transactionCould trigger new task/transaction

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

ComponentsComponents

Three main Three main componentscomponents InfrastructureInfrastructure Programming ModelProgramming Model ServicesServices

Tend to get blurred, Tend to get blurred, but just an extension but just an extension of the virtual of the virtual machine concept.machine concept.

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

ComponentsComponents

InfrastructureInfrastructure Discovery & Join ProtocolDiscovery & Join Protocol

Define way services become part of Jini SystemDefine way services become part of Jini System Java RMIJava RMI

Base language with which services communicateBase language with which services communicate Security ModelSecurity Model

Define how entities are identified and how they get Define how entities are identified and how they get rights to perform actions.rights to perform actions.

Lookup ServiceLookup Service Marketplace for finding and offering services. Marketplace for finding and offering services. Entries in Lookup Service are objects written in Java. Entries in Lookup Service are objects written in Java.

Objects can be downloaded and act as local proxies.Objects can be downloaded and act as local proxies.

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

ComponentsComponents

Programming ModelProgramming Model Sets of interfaces designed to extend Sets of interfaces designed to extend

the usual single virtual machine model. the usual single virtual machine model. Leasing InterfacesLeasing Interfaces

Adds time-based interface to resources.Adds time-based interface to resources. Event and Notification InterfacesEvent and Notification Interfaces

Enable event-based communication between Enable event-based communication between servicesservices

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

ComponentsComponents

Programming Model (Cont)Programming Model (Cont) Transaction InterfacesTransaction Interfaces

Coordinates the actions of a group of Coordinates the actions of a group of distributed objects in a two phase systemdistributed objects in a two phase system

Voting PhaseVoting Phase An object votes on whether it has completed it An object votes on whether it has completed it

portion of a task and is ready to commit.portion of a task and is ready to commit. Commit PhaseCommit Phase

Coordinator issues a commit request to each Coordinator issues a commit request to each object.object.

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

ComponentsComponents

ServicesServices Consist of objects coded in JavaConsist of objects coded in Java

Can be made up of other objectsCan be made up of other objects Has an interface that defines what a Has an interface that defines what a

service is capable of doingservice is capable of doing

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

A Closer Look at JINIA Closer Look at JINI

Similar TechnologiesSimilar Technologies

Limitations of JINILimitations of JINI

Case StudiesCase Studies

Current StatusCurrent Status

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

Similar TechnologiesSimilar Technologies

UPnP, Salutation, NINJAUPnP, Salutation, NINJA Common Object Request Broker Common Object Request Broker

ArchitectureArchitecture CORBA is a specification for a Distributed CORBA is a specification for a Distributed

Object SystemObject System RMI vs CORBARMI vs CORBA

performance and portability tradeoffsperformance and portability tradeoffs

Distributed Objects vs Distributed ServicesDistributed Objects vs Distributed Services Can be used in complementary fashion?Can be used in complementary fashion?

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

Using CORBA with JINIUsing CORBA with JINI

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

Limitations: Service LookupsLimitations: Service Lookups

Lookup Servers vs Name ServersLookup Servers vs Name Servers Query by service or nameQuery by service or name

Exact MatchingExact Matching ServiceTemplateServiceTemplate / / ServiceRegistrarServiceRegistrar

provide limited expressiveness (i.e. for provide limited expressiveness (i.e. for range queries)range queries)

Fault-toleranceFault-tolerance No defined policies for system recoveryNo defined policies for system recovery

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

Limitations: Low-Resource Limitations: Low-Resource HostsHosts

Servers: Sun’s reference Servers: Sun’s reference implementation of Lookup Service implementation of Lookup Service consumes 3 MB storage consumes 3 MB storage

Clients: Limitedness of lookup Clients: Limitedness of lookup interface can require a lot of interface can require a lot of unnecessary overheadunnecessary overhead

Is this really a problem (given the Is this really a problem (given the success stories)?success stories)?

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

Case Studies: Who uses it?Case Studies: Who uses it?

QuantumQuantum Seagate Seagate 3COM3COM CiscoCisco XeroxXerox NovellNovell NokiaNokia PhilipsPhilips SonySony MotorolaMotorola KodakKodak SharpSharp CanonCanon

SiemensSiemens ToshibaToshiba SamsungSamsung Kinko’s Kinko’s Hewlett PackardHewlett Packard AOLAOL Adaptive Adaptive NetworksNetworks EricssonEricsson

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

Case Studies: Success Case Studies: Success StoriesStories

4D Networks: 4D Networks: Application Services for the Web Built on Jini Network Technology.Application Services for the Web Built on Jini Network Technology.

Appropria: Appropria: Jini Technology Brings Mission-critical Information Out of the Silo. Jini Technology Brings Mission-critical Information Out of the Silo.

Entegrity Solutions: Entegrity Solutions: Major Online E-commerce and Enterprise Solutions Company Rely on Jini Network Major Online E-commerce and Enterprise Solutions Company Rely on Jini Network Technology for Secure E-Commerce.Technology for Secure E-Commerce.

Eko: Eko: Jini Technology connects medical data and equipment dynamically and reliably. Jini Technology connects medical data and equipment dynamically and reliably.

FETISH Federation: FETISH Federation: Jini Network Technology Links Online Travel Services. Jini Network Technology Links Online Travel Services.

Lightflow: Lightflow: Jini Network Technology Adds "High Touch" to Online Shopping. Jini Network Technology Adds "High Touch" to Online Shopping.

Maui High Performance Computing Center: Maui High Performance Computing Center: Sun Architects Jini Network Technology Infrastructure for Military Simulations. Sun Architects Jini Network Technology Infrastructure for Military Simulations.

Procoma: Procoma: An Innovative Solution for Commerzbank AG with Jini Technology. An Innovative Solution for Commerzbank AG with Jini Technology.

Raytheon: Raytheon: Open, Adaptive, Self-Healing Architecture for DD21. Open, Adaptive, Self-Healing Architecture for DD21.

U.S. Army: U.S. Army: Reliable Battlefield Communication Using Jini Connection Technology. Reliable Battlefield Communication Using Jini Connection Technology.

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

Case Studies: Success Case Studies: Success Stories (cont.)Stories (cont.)

““We believe that the Jini and Java technologies will dramatically change We believe that the Jini and Java technologies will dramatically change the way DD 21 and future Navy systems are developed. The spontaneous the way DD 21 and future Navy systems are developed. The spontaneous community capabilities of Jini will lead to much more reliable, capable community capabilities of Jini will lead to much more reliable, capable and maintainable systems. The development and integration cycle will be and maintainable systems. The development and integration cycle will be reduced significantly, and the use of commercial components will finally reduced significantly, and the use of commercial components will finally be cost-effective.”be cost-effective.”

-- Lead Systems Engineer for DD21, Raytheon-- Lead Systems Engineer for DD21, Raytheon "The cost of manually implementing what Jini network technology is "The cost of manually implementing what Jini network technology is

providing us would have been prohibitive both from an actual cost providing us would have been prohibitive both from an actual cost perspective (person-hours to build) and time perspective (time to market)," perspective (person-hours to build) and time perspective (time to market)," said Horvath. "Jini technology's increasingly mature and well-documented said Horvath. "Jini technology's increasingly mature and well-documented capabilities would be very difficult to reproduce. The use of Jini capabilities would be very difficult to reproduce. The use of Jini technology allows our team to stay focused on the problem space of technology allows our team to stay focused on the problem space of AssureDelivery, and not on implementation details of the underlying AssureDelivery, and not on implementation details of the underlying distributed service." distributed service."

-- Director of Product Development, Entegrity Corp.-- Director of Product Development, Entegrity Corp.

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

Current StatusCurrent Status

Increased Deployment: Increased Deployment: ““Jini Technology Licensees, Including Heartlab Inc, Jini Technology Licensees, Including Heartlab Inc, Templar Corp, Valaran Corp, FETISH Federation, and Templar Corp, Valaran Corp, FETISH Federation, and Cysive Inc., Turn to Jini Technology to Address Dynamic Cysive Inc., Turn to Jini Technology to Address Dynamic Networking Challenges”Networking Challenges” (May 7, 2003) (May 7, 2003)

Standardization:Standardization:““Jini Community Approves the ServiceUI API”Jini Community Approves the ServiceUI API” (May 7, (May 7, 2003)2003)

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

Current Status (cont.)Current Status (cont.)

Open Issues:Open Issues: Network Scalability: In theory, a JINI Network Scalability: In theory, a JINI

systerm can scale if it uses a hierarchy of systerm can scale if it uses a hierarchy of lookup servers (like DNS), but no actual lookup servers (like DNS), but no actual ‘wide area’ JINI network has been deployed. ‘wide area’ JINI network has been deployed. But is this even relevant? But is this even relevant?

Generality: Can well-defined interfaces be Generality: Can well-defined interfaces be established for all types of services besides established for all types of services besides simple examples like printers and cameras?simple examples like printers and cameras?

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

Jini & SensorNetsJini & SensorNets

Can they benefit from each Can they benefit from each other?other?

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

Benefits of Jini on Benefits of Jini on SensorNetsSensorNets

Sensor networks could benefit from having Sensor networks could benefit from having a virtual machine on each platform so that a virtual machine on each platform so that not every platform required special codenot every platform required special code Allows for single deployments with multiple Allows for single deployments with multiple

sensing applicationssensing applications Dynamic addition/removal of servicesDynamic addition/removal of services

As platforms with newer sensors come As platforms with newer sensors come onboard, the network would automatically onboard, the network would automatically adapt to support themadapt to support them

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

DivergencesDivergences

Jini seems to imply high connectivity and high Jini seems to imply high connectivity and high bandwidthbandwidth Code is dynamically downloaded to the nodeCode is dynamically downloaded to the node Currently, this is too much to expect from nodesCurrently, this is too much to expect from nodes

Jini makes no attempt to address power Jini makes no attempt to address power consumption issuesconsumption issues Asynchronous communication implies the radio be Asynchronous communication implies the radio be

on most of the timeon most of the time Automatic discovery and handshaking looks costlyAutomatic discovery and handshaking looks costly

Perhaps this is why Jini hasn’t taken off—most embedded Perhaps this is why Jini hasn’t taken off—most embedded devices are on a power conscious dietdevices are on a power conscious diet

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

Future WorkFuture Work

Since they expect Jini to take off for Since they expect Jini to take off for embedded devices which have embedded devices which have significant power constraints, Jini significant power constraints, Jini should be made aware of these should be made aware of these constraintsconstraints

Should prioritize the needs in sensor Should prioritize the needs in sensor networks and eliminate “marketing” networks and eliminate “marketing” features found in Jinifeatures found in Jini

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

Discussion QuestionsDiscussion Questions

Should sensornets adapt and conform to Should sensornets adapt and conform to Jini-like standards or should sensornets Jini-like standards or should sensornets use a simplified version of Jini?use a simplified version of Jini?

How much overhead is acceptable for How much overhead is acceptable for sensor networks in terms of sensor networks in terms of communication and computation?communication and computation?

Can virtual machines be made to have Can virtual machines be made to have virtually no overhead and still be virtually no overhead and still be powerful?powerful?