Overview of Jini CS294-10 Fall 2000 Jason I. Hong.

14
Overview of Jini CS294-10 Fall 2000 Jason I. Hong

Transcript of Overview of Jini CS294-10 Fall 2000 Jason I. Hong.

Page 1: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.

Overview of Jini

CS294-10 Fall 2000Jason I. Hong

Page 2: Overview of Jini CS294-10 Fall 2000 Jason I. Hong.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Further Reading

• Jini Specificationhttp://www.sun.com/jini/specs

• Jini Developershttp://jini.org

• Universal Plug and Playhttp://www.upnp.org

• Salutationhttp://www.salutation.org