Overview of Jini CS294-10 Fall 2000 Jason I. Hong.
-
Upload
katrina-sims -
Category
Documents
-
view
216 -
download
0
Transcript of Overview of Jini CS294-10 Fall 2000 Jason I. Hong.
![Page 1: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/1.jpg)
Overview of Jini
CS294-10 Fall 2000Jason I. Hong
![Page 2: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/2.jpg)
Motivation
• Coordination framework – Simple, seamless, and scalable interoperability– Network "plug and play" with minimum admin– Networked software and hardware provide services– Any device can find and use existing services
• Example scenarios– "Find all nearby color duplex printers"– "Start brewing coffee five minutes before my alarm
clock goes off"– "Let my cell phone use the car speakers"
![Page 3: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/3.jpg)
Network
One Way Scenarios Might Be Done Today
Network
Alarm ClockService
Coffee Maker
DesktopPC
Cell PhoneStereo
SpeakerService
PrinterService
Network
![Page 4: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/4.jpg)
What Jini Proposes
Lookup service
Coffee Maker
DesktopPC
Alarm ClockService
StereoSpeakerService
PrinterService
Network
Cell Phone
![Page 5: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/5.jpg)
What Jini Provides
• Middleware interfaces + implementations• Programming model for distributed services• Federating and using services
• Core to Jini is lookup service– Service for registering, finding, and leasing other services– Uses a well-known multicast address
![Page 6: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/6.jpg)
Service Registration
Lookup service
NetworkAlarm Clock
Service
1. Find Lookup Service
2. Return stub to lookup
3. Return stub to service
![Page 7: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/7.jpg)
Service Leasing
Lookup service
NetworkAlarm Clock
Service
1. Find Lookup Service
Coffee Maker
2. Return stub to lookup
3. Query for service
4. Service returned
Find interface Printer (duplex=yes, color=yes)
![Page 8: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/8.jpg)
Using Services
Lookup service
NetworkAlarm Clock
ServiceCoffee Maker
Can use any protocol to communicate to service(or stub can contain service itself!)
![Page 9: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/9.jpg)
Some Cool Things with Jini
• Can form ensembles of lookup services– Pass requests up hierarchy (like DNS)
• Leasing model handles service failures• Flexible search on properties• Distributed transactions (two-phase)• Distributed events
![Page 10: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/10.jpg)
Some Problems with Jini
• Requires a priori knowledge of service interface– Everyone must agree on same service interface– Ex. "Printer" and "Speakers" interface
• Currently requires Java VMs everywhere– Needs lots of memory and processor power
• Complexity of code
![Page 11: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/11.jpg)
Some More Problems with Jini
• No good way to attach user interfaces• Lack of security mechanisms• Single point of failure for service lookup
![Page 12: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/12.jpg)
Competing Technologies
• Universal Plug and Play (UPnP)– Aim is to be independent of OS, language,
and physical medium– UPnP relies on well-defined XML data formats
and HTTP-based protocols– Jini relies on well-defined Java interfaces– UPnP philosophy: different APIs for each platform
(no code download, higher startup, more reliable?)– Jini philosophy: "Write Once Run Anywhere" (code
download, low startup, but less reliable?)
![Page 13: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/13.jpg)
Competing Technologies
• Salutation– Aim is to be independent of vendors and network
architectures (ex. Java, UDP, TCP/IP, HTTP)– Aim for platform, OS, and network independence– All service functions mediated by Salutation
Manager– Completely open and nonproprietary architecture– Small footprint– Point-to-point service discovery (but can also do
directory-based too)
![Page 14: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.](https://reader036.fdocuments.in/reader036/viewer/2022082518/5697bfe31a28abf838cb5222/html5/thumbnails/14.jpg)
Further Reading
• Jini Specificationhttp://www.sun.com/jini/specs
• Jini Developershttp://jini.org
• Universal Plug and Playhttp://www.upnp.org
• Salutationhttp://www.salutation.org