overview of jini

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

Upload: linnea

Post on 08-Jan-2016

28 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Overview of Jini

Overview of Jini

CS294-10 Fall 2000Jason I. Hong

Page 2: Overview of Jini

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

Network

One Way Scenarios Might Be Done Today

Network

Alarm ClockService

Coffee Maker

DesktopPC

Cell PhoneStereo

SpeakerService

PrinterService

Network

Page 4: Overview of Jini

What Jini Proposes

Lookup service

Coffee Maker

DesktopPC

Alarm ClockService

StereoSpeakerService

PrinterService

Network

Cell Phone

Page 5: Overview of Jini

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

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

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

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

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

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

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

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

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

Further Reading

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

• Jini Developershttp://jini.org

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

• Salutationhttp://www.salutation.org