distributed coordination-based...
TRANSCRIPT
![Page 1: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/1.jpg)
Distributed Coordination-Based
Systems
Chapter 12
![Page 2: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/2.jpg)
Introduction to Coordination Models
A taxonomy of coordination models (adapted from [cabri.g2000])
![Page 3: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/3.jpg)
Coordination Model (1)
The principle of a publish/subscribe system as
implemented in TIB/Rendezvous.
![Page 4: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/4.jpg)
Coordination Model (2)
The overall architecture of a wide-area
TIB/Rendezvous system.
![Page 5: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/5.jpg)
Basic Messaging
Attributes of a TIB/Rendezvous message field.
Attribute Type Description
Name String The name of the field, possibly NULL
ID Integer A message-unique field identifier
Size Integer The total size of the field (in bytes)
Count Integer The number of elements in the case of an array
Type Constant A constant indicating the type of data
Data Any type The actual data stored in a field
![Page 6: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/6.jpg)
Events (1)
Processing listener events for subscriptions in TIB/Rendezvous.
![Page 7: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/7.jpg)
Events (2)
Processing incoming messages in TIB/Rendezvous.
![Page 8: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/8.jpg)
Processes
a) Priority scheduling of events through a queue group.
b) A semantically equivalent queue for the queue group with the specific event objects from (a).
![Page 9: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/9.jpg)
Naming (1)
Examples of valid and invalid subject names.
Example Valid?
Books.Computer_systems.Distributed_Systems Yes
.ftp.cuss.vu.nil No (starts with a '.')
ftp.cuss.vu.nil Yes
NEWS.res.com.so Yes
Marten..van_Steen No (empty label)
Marten.R.van_Steen Yes
![Page 10: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/10.jpg)
Naming (2)
Examples of using wildcards in subject names.
Subject Name Matches
*.cuss.vu.nil ftp.cuss.vu.nil
www.cuss.vu.nil
ni.vu.> nil.vu.cuss.ftp
nil.vu.cuss.zephyr
nil.vu.few.www
NEWS.comp.*.books NEWS.comp.so.books
NEWS.comp.ai.books
NEWS.comp.se.books
NEWS.comp.theory.books
![Page 11: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/11.jpg)
Synchronization (1)
The organization of transactional messaging
as a separate layer in TIB/Rendezvous.
![Page 12: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/12.jpg)
Synchronization (2)
The organization of a transaction in TIB/Rendezvous.
![Page 13: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/13.jpg)
Reliable Communication
The principle of PGM.
a) A message is sent along a multicast tree
b) A router will pass only a single NACK for each message
c) A message is retransmitted only to receivers that have asked for it.
![Page 14: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/14.jpg)
Security
Establishing a secure channel
in TIB/Rendezvous.
![Page 15: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/15.jpg)
Overview of Jini
The general organization of a JavaSpace in Jini.
![Page 16: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/16.jpg)
Architecture
The layered architecture of a Jini System.
![Page 17: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/17.jpg)
Communication Events
Using events in combination with a JavaSpace
![Page 18: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/18.jpg)
Processes (1)
A JavaSpace can be replicated on all machines. The dotted lines show the partitioning of the JavaSpace into subspaces.
a) Tuples are broadcast on WRITE
b) READs are local, but the removing of an instance when calling TAKE must be broadcast
![Page 19: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/19.jpg)
Processes (2)
Unreplicated JavaSpace.
a) A WRITE is done locally.
b) A READ or TAKE requires the template tuple to be broadcast
in order to find a tuple instance
![Page 20: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/20.jpg)
Processes (3)
Partial broadcasting
of tuples and
template tuples.
![Page 21: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/21.jpg)
The Jini Lookup Service (1)
The organization of a service item.
Field Description
ServiceID The identifier of the service associated with this item.
ServiceA (possibly remote) reference to the object implementing the
service.
AttributeSets A set of tuples describing the service.
![Page 22: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/22.jpg)
The Jini Lookup Service (2)
Examples of predefined tuples for service items.
Tuple Type Attributes
ServiceInfo Name, manufacturer, vendor, version, model, serial number
Location Floor, room, building
AddressStreet, organization, organizational unit, locality, state or
province, postal code, country
![Page 23: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/23.jpg)
Synchronization of Transactions
The general organization of a transaction in Jini. Thick lines show
communication as required by Jini's transaction protocol
![Page 24: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/24.jpg)
Caching and Replication
The position of PAM with respect to security services.
![Page 25: Distributed Coordination-Based Systemselib.unikom.ac.id/files/disk1/371/jbptunikompp-gdl-irawanafri... · Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design](https://reader031.vdocuments.us/reader031/viewer/2022021505/5ac34f617f8b9a2b5c8bc18d/html5/thumbnails/25.jpg)
Comparison of TIB/Rendezvous and Jini
Issue TIB/Rendezvous Jini
Major design goal Uncoupling of processes Flexible integration
Coordination model Publish/subscribe Generative communication
Network communication Multicasting Java RMI
Messages Self-describing Process specific
Event mechanism For incoming messages As a callback service
Processes General purpose General purpose
Names Character strings Byte strings
Naming services None Lookup service
Transactions (operations) Messages Method invocations
Transactions (scope) Single process (see text) Multiple processes
Locking No As JavaSpace operations
Caching and replication No No
Reliable communication Yes Yes
Process groups Yes No
Recovery mechanisms No explicit support No explicit support
Security Secure channels Based entirely on Java