DISTRIBUTED COORDINATION BASED MODELS. TIB JINI. INTRODUCTION. Here we look at only one type(web,object,file). Clear separation between computation and coordination exists. A distributed system is a collection of processes. INTRODUCTION.
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
INTRODUCTION • Here we look at only one type(web,object,file). • Clear separation between computation and coordination exists. • A distributed system is a collection of processes.
INTRODUCTION • Each process is concerned with a specific computational activity. • which in principle is carried out independently from other activities of other processes.
INTRODUCTION • We are trying to separate computation from coordination. • The coordination part of distributed system handles the communication and cooperation between the processes.
INTRODUCTION • Referential coupling generally appears in the form of explicit referencing in communication. • Sender is in need to know the identifier of receiver. • Ex: A process can communicate only if it knows the name or identifier of the other process.
INTRODUCTION • Temporal coupling means that processes that are communicating will both have to be up and running. • Sender and Receiver needs to be active and are running.
TIB • Coordination model: Meeting Oriented Model • Makes use of subject based addressing, leading to what is known as publish/subscribe architecture. • Receiving a message on subject X is possible only if the receiver had subscribed to it. • Publishing a message on subject X means that the message is sent to all subscriber to X.
Architecture • TIB uses multicasting to forward messages to subscribers. • To cross-large scale networks, it effectively builds an overlay network with proprietary multicast routers.
Communication • Events : Publish – subscribe systems are ideally supported by means of events: you are notified when someone publishes a message that is of interest to you. • Listener Events: Local object that registers a call back for a specific subject.
Communication • Event Scheduling: Events for the same listener event are handled one after the other. • They may also be lost/ignored if listener event is destroyed at the wrong time
NAMING • Names are important as they form address of the address of the message. • Filtering facilities ensure that right messages reach right subscribers.
Transactional Messaging • Ensures that the messages sent by a single process are delivered only if the sender commits. • Store published messages until commit time and only then make them available to subscribers.
Fault Tolerance: Multicasting • TIB relies on multicasting for publishing messages to all subscribers. • This mechanism needs to be extended to wide area networks and requires reliable multicasting. • How?
Fault Tolerance: Multicasting • Solution: • Pragmatic General Multicast(PGM) • A NACK based scheme in which receiver tells the sender that they are missing something
SECURITY • Goal: establish a secure channel between a publisher and a subscriber • Referential decoupling between publisher and subscriber is lost • Sender publishes encrypted data including its identity
SECURITY • Each subscriber sets up a secure channel with the sender • All subscribers share the same key to decrypt messages
SECURITY • Diffie-Helman key exchange + public-key cryptography • Assume Alice and Bob already: • obtained certificates containing each-other public key • established a shared key KA,B using Diffie-Helman
SECURITY • Establish a secure channel between a specific publisher and specific subscriber.
JINI • Generative Communication Model. • Temporal and Referential uncoupling by means of javaspaces, a tuple based storage system. • Tuple? • A Tuple is typed set of references to objects.
JINI • Tuples are stored in serialized, that is, marshalled from into javaspace. • To read a tuple, construct a template, with some fields left open. • Match a template against a tuple through a field by field comparision.
JINI • write(): create an object copy and store it in JavaSpace • read(): return tuples from JavaSpace that match a template • take(): like read, but removes tuple from JavaSpace
JINI • Write : A copy of tuple is stored in javaspace. • Read : A template is compared to tuple instances; the first match returns a tuple instance. • Take : A template is compared to tuple instances; the first match returns a tuple instance and removes the matching instance from javaspace.
Entry JavaSpace Example: JavaSpace “Hello World” public class Message implements Entry { public String content; public Message() { } } Message msg = new Message(); Msg.content = “Hello World”; JavaSpace space = SpaceAccessor.getSpace(); Space.write(msg, null, Lease.FOREVER); Write entry
Example: JavaSpace “Hello World” • Use pattern matching to get desired objects from the space • “null” value represent wildcard • A message object with the “content” field set to “null” will return any message object • A message object with the content field set to “Berkeley” will only return a message object with the content set to that value
JavaSpace Example: JavaSpace “Hello World” Message template = new Message(); //Content is null Message result = (Message)space.read( template, null, Long.MAX_VALUE); System.out.println(result.content); “Hello World” Read entry Entry Long.MAX_VALUE - timeout parameter
Communication : Notifications • A Process can register itself at an object to be notified when ever the event happens. • Uses a callback mechanism through listener objects. • A callback is implemented as an RMI.
Events • A client can register with an object that has events of interest • A client can tell object to pass event to another process • Notification implemented by remote call
JavaSpace Implementation • Replicate JavaSpace at all machines • Store tuples locally, search everywhere • Partial replication and searching • Use DHTs?
Lookup Service • Can be implemented using JavaSpaces • Each service inserts a tuple describing itself • JavaSpace notifies interested clients when service becomes available • Instead, Jini provides a specialized lookup service • A service registers itself using (attribute, value)-pairs • E.g., service parameters, location
Transactions • Aim to provide ACID properties • Atomicity: all operations of a transaction take place, or none of them do • Consistency: completion of a transaction must leave the participants in a ``consistent'' state • Isolation: activities of one transaction must not affect any other transactions • Durability: results of a transaction must be persistent
Transactions • Jini • Supply the mechanism of two-phase commit protocol • Leave the policy to the participants in a transaction
Transactions • A transaction is represented by a long identifier, obtained from a transaction manager • Each transaction is associated a lease; if lease expires, transaction is aborted
Connexion au compte
Connectez-vous pour publier votre contenu sur SlideServe.