25
JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Embed Size (px)

Citation preview

Page 1: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

JINICoordination-Based System

By Anthony Friel * David Kiernan * Jasper Wood

Page 2: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Coordination-Based Systems

• New generation of distributed systems that assume that the components of the system are distributed and that the problem lies in the coordination of the activities of the components

• If a distributed system is seen as a collection of processes a coordination-based system handles the communications and cooperation between the processes while the processes handle the computations

Page 3: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

JINI as a Coordination System• JINI is more than a coordination system• Referred to as such because:

– supports generative communications using ‘JavaSpaces’

– lets clients discover services when they become available

– has distributed event and notification system

• JavaSpaces – shared database that stores tuples, provides temporal & referential uncoupling of processes

Page 4: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

JINI vs Tib/Rendezvous (1)

NoneLookup serviceNaming Services

Character stringsByte stringsNames

General purposeGeneral purposeProcesses

Incoming messagesCall-back serviceEvent Mechanism

Self-describingProcess specificMessages

MulticastingJava RMINetwork communications

Publish/subscribeGenerative commsCoordination Model

Uncoupling processesFlexible IntegrationDesign Goal

Tib/RendezvousJINI

Page 5: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

JINI vs Tib/Rendezvous (2)

Secure channelsBased on JavaSecurity

No explicit supportNo explicit supportRecovery

YesNoProcess groups

YesYesReliable

NoNoCaching/Replication

NoAs JavaSpace operations

Locking

Single processesMultiple processes

MessagesMethod InvocationsTransactions

Tib/RendezvousJINI

Page 6: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

History

From the people who brought you

java…

its JINI!

Page 7: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Coordination Model• JavaSpaces provide

temporal and referential uncoupling of processes

• Tuples are marshaled and stored in serialized form

• Each time the ‘write’ command is used on a tuple a marshaled copy is stored in the javaSpace as a tuple instance

• To read a tuple instance the process provides a tuple template to match against the instance stored in the javaSpace

Page 8: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Architecture

• Offers a small set of features to allow creation of dispersed applications

• Lowest layer: – JINI infrastructure

• Second Layer: – general-purpose facilities

• Highest Layer: – clients and servers

Can be viewed as a 3-layer model

Page 9: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Communication• Events

– A client may access an event by registering with the object that owns the event

– Client passes listener object– Registration leased, notifications expire– No delivery guarantees , sequence no– Client notified about particular object, passes

template to id object it wishes to be notified about

– First notified first to access, may remove object (read), hard to avoid

Page 10: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Processes (1)

• Implementation of a JavaSpace

• Good efficient distributed implementation of a JavaSpace has to solve 2 problems

• What is the key to this problem ? Tuples!

• Tuples typed

• Subspaces can be organised as hash tables

Page 11: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Processes (2)

• Processing on a multiprocessor

• Processing on a multicomputer

Page 12: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Processes (3)

• The inverse design

Page 13: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Processes (4)

• The 2 methods combined

Page 14: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Naming

• JINI does provide– JINI lookup service

– leasing

• No conventional naming service such as is found in object-based or distributed file systems

• Though these can be implemented in JINI

                             

Page 15: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

JINI Lookup Service(1)

• Lookup Service

• JavaSpace

• Jini Lookup Service

• Registering Services

Page 16: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

JINI Lookup Service(2)

• Service Identifier

• Service Item

Page 17: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

JINI Lookup Service(3)

• Predefined Tuples

Page 18: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

JINI Lookup Service(4)

• Can several Lookup Services co-exist?

• How is a Lookup Service looked up

Page 19: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Leasing

• A referenced object keeps track of who is referring to it

• This leads to what are known as reference lists

• Leases are used to keep the list short

• When a lease expires, a reference becomes invalid and is removed from the object’s reference list.

Page 20: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Synchronization

• JINI provides a number of mechanisms– JavaSpace includes the

operations ‘read’ & ‘take’

– Transactions

• ‘read’ and ‘take’ are blocking operations

• They can be used to express many different synchronization patterns

Page 21: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Transactions• Carry out operations

on multiple objects• Two phase commit

protocol• Set of interfaces• The actual

implementation is left to others

• Can be configured with default transaction manager

• The overall model of a transaction is shown below

Page 22: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Caching and Replication

• JINI provides no measures for caching or replication.

• This is left to applications that are built as part of the JINI-based system.

Page 23: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Fault Tolerance

• JINI itself has none except a transaction manager

• Components that implement JINI are expected to implement their own measures

• JINI communications is done using Java RMI which is seen to be reliable

• Research into adding fault tolerance has lead to the following two ideas– Incorporating fault

tolerance into tuple spaces (such as JavaSpaces)

– Grouping tuple space operations into transactions

Page 24: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Security

• JAAS - Java Authentication and Authorization Service

• Handles user authentication and authorization

• Separates client interface for these services from the actual services using the PAM

• JAAS is a java implementation of PAM

• JINI relies on Java RMI to provide its security

• JAAS has also been added to JINI

Page 25: JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Summary

• Naming – yes• Synchronization – sort of• Caching – no• Replication – nope• Fault tolerance – not really• Security – RMI will take

care of it

Basically :

Awww! Can’t

someone else do it