Презентация на тему: " Distributed Coordination-Based Systems Chapter 12." — Транскрипт:
Distributed Coordination-Based Systems Chapter 12
Introduction to Coordination Models A taxonomy of coordination models (adapted from [cabri.g2000])
Coordination Model (1) The principle of a publish/subscribe system as implemented in TIB/Rendezvous.
Coordination Model (2) The overall architecture of a wide-area TIB/Rendezvous system.
Basic Messaging Attributes of a TIB/Rendezvous message field. AttributeTypeDescription NameStringThe name of the field, possibly NULL IDIntegerA message-unique field identifier SizeIntegerThe total size of the field (in bytes) CountIntegerThe number of elements in the case of an array TypeConstantA constant indicating the type of data DataAny typeThe actual data stored in a field
Events (1) Processing listener events for subscriptions in TIB/Rendezvous.
Events (2) Processing incoming messages in TIB/Rendezvous.
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).
Naming (1) Examples of valid and invalid subject names. ExampleValid? Books.Computer_systems.Distributed_SystemsYes.ftp.cuss.vu.nilNo (starts with a '.') ftp.cuss.vu.nilYes NEWS.res.com.soYes Marten..van_SteenNo (empty label) Marten.R.van_SteenYes
Naming (2) Examples of using wildcards in subject names. Subject NameMatches *.cuss.vu.nilftp.cuss.vu.nil ni.vu.>nil.vu.cuss.ftp nil.vu.cuss.zephyr nil.vu.few.www NEWS.comp.*.booksNEWS.comp.so.books NEWS.comp.ai.books NEWS.comp.se.books NEWS.comp.theory.books
Synchronization (1) The organization of transactional messaging as a separate layer in TIB/Rendezvous.
Synchronization (2) The organization of a transaction in TIB/Rendezvous.
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.
Security Establishing a secure channel in TIB/Rendezvous.
Overview of Jini The general organization of a JavaSpace in Jini.
Architecture The layered architecture of a Jini System.
Communication Events Using events in combination with a JavaSpace
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
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
Processes (3) Partial broadcasting of tuples and template tuples.
The Jini Lookup Service (1) The organization of a service item. FieldDescription ServiceIDThe identifier of the service associated with this item. Service A (possibly remote) reference to the object implementing the service. AttributeSetsA set of tuples describing the service.
The Jini Lookup Service (2) Examples of predefined tuples for service items. Tuple TypeAttributes ServiceInfoName, manufacturer, vendor, version, model, serial number LocationFloor, room, building Address Street, organization, organizational unit, locality, state or province, postal code, country
Synchronization of Transactions The general organization of a transaction in Jini. Thick lines show communication as required by Jini's transaction protocol
Caching and Replication The position of PAM with respect to security services.
Comparison of TIB/Rendezvous and Jini IssueTIB/RendezvousJini Major design goalUncoupling of processesFlexible integration Coordination modelPublish/subscribeGenerative communication Network communicationMulticastingJava RMI MessagesSelf-describingProcess specific Event mechanismFor incoming messagesAs a callback service ProcessesGeneral purpose NamesCharacter stringsByte strings Naming servicesNoneLookup service Transactions (operations)MessagesMethod invocations Transactions (scope)Single process (see text)Multiple processes LockingNoAs JavaSpace operations Caching and replicationNo Reliable communicationYes Process groupsYesNo Recovery mechanismsNo explicit support SecuritySecure channelsBased entirely on Java