SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Distributed Systems : Chapter 13



            Distributed
        Coordination-Based
             Systems


    Reference: Distributed Systems Principles and Paradigms 2nd Edition
                          Prepared by: Ahmed Magdy Ezzeldin
Outline
➔Introduction to Coordination Models
➔Taxonomy of coordination models

➔Architecture

 ➔ Traditional Architectures

     ➔ JavaSpaces

     ➔ TIB/Rendezvous

 ➔ Peer-to-Peer Architectures

     ➔ Gossip-Based Publish/Subscribe System

     ➔ Discussion

     ➔ Mobility and Coordination

        ➔ Lime

➔Processes

➔Communication

 ➔ Content-Based Routing

 ➔ Supporting Composite Subscriptions
Introduction to Coordination Models
●Instead of concentrating on the transparent
distribution of components, emphasis lies on the
coordination of activities between those components.

●Clean separation between computation and
coordination

●The coordination part of a distributed system
handles the communication and cooperation between
processes.

●The focus is on how coordination between the
processes takes place.
Taxonomy of coordination models

Taxonomy of coordination models in
2 dimensions (temporal and referential)
Taxonomy of coordination models [continued]


●Referential coupled, Temporal coupled: Direct
coordination
  - Know addresses and/or names of processes
  - Know the form of the messages
  - Must be up at the same time

●Referential coupled, Temporal Decoupled: Mailbox
coordination
  - Like persistent message-oriented communication
  - Know form of messages in advance
  - Does not have to be up at the same time
Taxonomy of coordination models [continued]

●Referential Decoupled, Temporal coupled: Meeting
oriented coordination
   - Often implemented by events
   - Publish/subscribe with no persistence on dataspace
   - Meet at a certain time to coordinate

●Referential Decoupled, Temporal Decoupled: generative
communication
   - Independent processes make use of a shared persistent
dataspace of tuples
   - Don't agree on structure of tuples in advance
   - Tuple tag distinguish between tuples of different info
   - Publish/subscribe with persistence on dataspace
Architecture
● Data items are described by a series of attributes
● Subscription is passed to the middleware with a

description of the data items that the subscriber is
interested in.
● Subscription description as (attribute, value) pairs with

range of each attribute and predicates like SQL.
● When data items are found the middleware sends a

notification to the subscribers to read or just send the
data items directly (no storage if sent directly)
● Publishing processes publish events which are data

items with 1 attribute
● Matching data items against subscriptions should be

efficient and scalable.
Architecture [continued]
Traditional Architectures


●   Centralized client-server architecture

● Adopted by many publish/subscribe systems like
IBM WebSphere and Sun JMS

●Generative communication models Like Sun Jini
and JavaSpaces are based on central servers
JavaSpaces
● To read a tuple instance, a process provides a typed
template tuple for matching.
● A field in the template tuple either contains a reference

to an actual object or contains the value NULL.
● Two fields match if they have a copy of the same

reference or if the template tuple field is NULL.
● A tuple instance matches a template tuple if they have

the same fields.
● Read and Take (remove tuple after reading) block the

caller.
● Some implementations return immediately if there is not

matching tuple or a timeout can be set.
● Centralized implementations makes complex matching

rules easier and also can be used for synchronization.
TIB/Rendezvous
● Instead of central servers we can immediately send
published tuples to subscribers using multicasting
● Data item is a message tagged with a compound

keyword describing its content (subject)
●Uses broadcast or uni cast if the subscribers addresses

are known
● Each host has a rendezvous daemon, which takes care

that messages are sent and delivered according to their
subject
● The daemon has a table of (process, subject), entries

and whenever a message on subject S arrives, the
daemon checks in its table for local subscribers, and
forwards the message to each one.
● Can allow complex matching of published data items

against subscriptions
TIB/Rendezvous [continued]
Peer-to-Peer Architectures

●For scalability, restrictions on describing
subscriptions and data items may be necessary.

● Keywords or (attribute, value) pairs are hashed
to unique identifiers for published data, which can
be efficiently implemented in a DHT-based
system.

●For more advanced matching rules we can use
Gossip-Based Publish/Subscribe Systems
Gossip-Based Publish/Subscribe Systems

●A subscription S is a tuple of (attribute, value/range)
pairs

● Like CAN (Content Addressable network) make float
from attributes and organize subscriber nodes into 2
dimentional array of floats to form groups

●Cluster nodes into M different groups, such that nodes i
and j belong to the same group if and only if their
subscriptions Si and Sj intersect.

●Each node maintains a list of references to other
neighbors (partial view) to know the intersecting
subscriptions
Discussion

Similar to gossip-based systems
●




each attribute a, is handled by a separate process Pi,
●

which in turn partitions the range of its attribute across
multiple processes.

●When a data item d is published, it is forwarded to each
Pi, where it is stored at the process responsible for the
d's value of a.
Mobility and Coordination

●To know if a mobile peer received a message is
problematic.

●   Two solutions are suggested:

1- That the receiving mobile process saves older
messages to make sure it does not receive duplicates

 2- We devise routers to keep track of the mobile peers
and know which messages they received (harder to
implement).
Lime
●   In Lime, each mobile process has its own dataspace

●When processes are connected, their dataspaces
become shared.

●Formally, the processes should be member of the same
group and use the same group communication protocol.

● The local dataspaces of connected processes form a
transiently shared dataspace to allow exchange of tuples.

● To control how tuples are distributed, dataspaces can do
"reactions". A reaction specifies an action to be executed
when a tuple matching a given template is found in the
local dataspace.
Lime [continued]
Processes

●Nothing special we just need efficient
mechanisms to be used to search in a large
collection of data.

●The main problem is devising schemes that work
well in distributed environments.
Communication
●In Java remote method invocations is used for
communication.

● In wide-area networks the system should be
self-organization or content-based routing to
ensure that the message reaches only to its
intended subscribers.
Content-Based Routing
● Routers can take routing decisions based on the
message content so it it cuts of routes that do not lead to
receivers of this message.

● Clients can tell the servers which messages they are
interested in so that the servers notify them when they
receive a relevant message. This is done in 2 layers
where layer 1 consists of a shared broadcast tree
connecting the servers using routers

● In simple subject-based publish/subscribe using a
unique (non-compound) keyword.
● We can send each published message to every server

like in TIB/Rendezvous.
Content-Based Routing [continued]
Or let every server broadcast its subscriptions to
 all other servers to be able to compile a list of
           (subject, destination) pairs.
Content-Based Routing [continued]

●  Each server broadcasts its subscription across
the network so that routers can compose routing
filters.

● When a node leaves the system, it should
cancel its subscriptions and essentially broadcast
this information to all routers.

●Comparison of subscriptions and data items to
be routed can be computationally expensive.
Supporting Composite Subscriptions
● When we use more sophisticated expressions of
subscriptions then we need another way not the
simple content routing we have just used.

● Express compositions of subscriptions in which
a process specifies in a single subscription that it
is interested in very different types of data items.

●Design routers analogous to rule databases
where subscriptions are transformed into rules
stating the conditions under which published data
should be forwarded.
Thank you

Weitere ähnliche Inhalte

Was ist angesagt?

Distributed document based system
Distributed document based systemDistributed document based system
Distributed document based systemChetan Selukar
 
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit ProtocolsDistributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit ProtocolsSachin Chauhan
 
file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada umardanjumamaiwada
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating SystemsDr Sandeep Kumar Poonia
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure callSunita Sahu
 
Concurrency Control in Distributed Database.
Concurrency Control in Distributed Database.Concurrency Control in Distributed Database.
Concurrency Control in Distributed Database.Meghaj Mallick
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed systemSunita Sahu
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationMNM Jain Engineering College
 
Design Goals of Distributed System
Design Goals of Distributed SystemDesign Goals of Distributed System
Design Goals of Distributed SystemAshish KC
 
Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsNandakumar P
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computingSVijaylakshmi
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systemssumitjain2013
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system modelHarshad Umredkar
 

Was ist angesagt? (20)

Distributed document based system
Distributed document based systemDistributed document based system
Distributed document based system
 
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit ProtocolsDistributed Transactions(flat and nested) and Atomic Commit Protocols
Distributed Transactions(flat and nested) and Atomic Commit Protocols
 
file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
Concurrency Control in Distributed Database.
Concurrency Control in Distributed Database.Concurrency Control in Distributed Database.
Concurrency Control in Distributed Database.
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed system
 
message passing
 message passing message passing
message passing
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communication
 
Distributed deadlock
Distributed deadlockDistributed deadlock
Distributed deadlock
 
Design Goals of Distributed System
Design Goals of Distributed SystemDesign Goals of Distributed System
Design Goals of Distributed System
 
Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed Systems
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computing
 
Global state routing
Global state routingGlobal state routing
Global state routing
 
Replication in Distributed Systems
Replication in Distributed SystemsReplication in Distributed Systems
Replication in Distributed Systems
 
Parallel Database
Parallel DatabaseParallel Database
Parallel Database
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systems
 
Ddbms1
Ddbms1Ddbms1
Ddbms1
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
 

Ähnlich wie Distributed Coordination-Based Systems

Architectural patterns part 1
Architectural patterns part 1Architectural patterns part 1
Architectural patterns part 1assinha
 
Cluster computing ppt
Cluster computing pptCluster computing ppt
Cluster computing pptDC Graphics
 
Chapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptxChapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptxTekle12
 
01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.ppt01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.pptHarshitPal37
 
tibco online training
tibco online trainingtibco online training
tibco online trainingsapbest
 
1. Overview of Distributed Systems
1. Overview of Distributed Systems1. Overview of Distributed Systems
1. Overview of Distributed SystemsDaminda Herath
 
Towards Improved Data Dissemination of Publish-Subscribe Systems
Towards Improved Data Dissemination of Publish-Subscribe SystemsTowards Improved Data Dissemination of Publish-Subscribe Systems
Towards Improved Data Dissemination of Publish-Subscribe SystemsSrinath Perera
 
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEMC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEAravind NC
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxmeharikiros2
 
Link aware nice application level multicast protocol
Link aware nice application level multicast protocolLink aware nice application level multicast protocol
Link aware nice application level multicast protocolIJCNCJournal
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptAschalewAyele2
 
paradigms cloud.pptx
paradigms cloud.pptxparadigms cloud.pptx
paradigms cloud.pptxgunvinit931
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptxPardonSamson
 
Lec+3-Introduction-to-Distributed-Systems.pdf
Lec+3-Introduction-to-Distributed-Systems.pdfLec+3-Introduction-to-Distributed-Systems.pdf
Lec+3-Introduction-to-Distributed-Systems.pdfsamaghorab
 
5. the grid implementing production grid
5. the grid implementing production grid5. the grid implementing production grid
5. the grid implementing production gridDr Sandeep Kumar Poonia
 
Design Patterns - Distributed Publisher-Subscriber Network
Design Patterns - Distributed Publisher-Subscriber NetworkDesign Patterns - Distributed Publisher-Subscriber Network
Design Patterns - Distributed Publisher-Subscriber NetworkRishabh Karajgi
 
Distributed Computing Report
Distributed Computing ReportDistributed Computing Report
Distributed Computing ReportIIT Kharagpur
 

Ähnlich wie Distributed Coordination-Based Systems (20)

Architectural patterns part 1
Architectural patterns part 1Architectural patterns part 1
Architectural patterns part 1
 
Cluster computing ppt
Cluster computing pptCluster computing ppt
Cluster computing ppt
 
Chapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptxChapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptx
 
01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.ppt01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.ppt
 
tibco online training
tibco online trainingtibco online training
tibco online training
 
1. Overview of Distributed Systems
1. Overview of Distributed Systems1. Overview of Distributed Systems
1. Overview of Distributed Systems
 
Towards Improved Data Dissemination of Publish-Subscribe Systems
Towards Improved Data Dissemination of Publish-Subscribe SystemsTowards Improved Data Dissemination of Publish-Subscribe Systems
Towards Improved Data Dissemination of Publish-Subscribe Systems
 
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEMC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
 
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptxChapter-1-IntroDistributeddffsfdfsdf-1.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Link aware nice application level multicast protocol
Link aware nice application level multicast protocolLink aware nice application level multicast protocol
Link aware nice application level multicast protocol
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
 
paradigms cloud.pptx
paradigms cloud.pptxparadigms cloud.pptx
paradigms cloud.pptx
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
 
Megastore by Google
Megastore by GoogleMegastore by Google
Megastore by Google
 
Lec+3-Introduction-to-Distributed-Systems.pdf
Lec+3-Introduction-to-Distributed-Systems.pdfLec+3-Introduction-to-Distributed-Systems.pdf
Lec+3-Introduction-to-Distributed-Systems.pdf
 
5. the grid implementing production grid
5. the grid implementing production grid5. the grid implementing production grid
5. the grid implementing production grid
 
Design Patterns - Distributed Publisher-Subscriber Network
Design Patterns - Distributed Publisher-Subscriber NetworkDesign Patterns - Distributed Publisher-Subscriber Network
Design Patterns - Distributed Publisher-Subscriber Network
 
Distributed Computing Report
Distributed Computing ReportDistributed Computing Report
Distributed Computing Report
 

Mehr von Ahmed Magdy Ezzeldin, MSc.

Mehr von Ahmed Magdy Ezzeldin, MSc. (12)

Distributed RDBMS: Challenges, Solutions & Trade-offs
Distributed RDBMS: Challenges, Solutions & Trade-offsDistributed RDBMS: Challenges, Solutions & Trade-offs
Distributed RDBMS: Challenges, Solutions & Trade-offs
 
Win any Interview like a Boss
Win any Interview like a BossWin any Interview like a Boss
Win any Interview like a Boss
 
Answer Selection and Validation for Arabic Questions
Answer Selection and Validation for Arabic QuestionsAnswer Selection and Validation for Arabic Questions
Answer Selection and Validation for Arabic Questions
 
Arabic Question Answering: Challenges, Tasks, Approaches, Test-sets, Tools, A...
Arabic Question Answering: Challenges, Tasks, Approaches, Test-sets, Tools, A...Arabic Question Answering: Challenges, Tasks, Approaches, Test-sets, Tools, A...
Arabic Question Answering: Challenges, Tasks, Approaches, Test-sets, Tools, A...
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithms
 
GATE : General Architecture for Text Engineering
GATE : General Architecture for Text EngineeringGATE : General Architecture for Text Engineering
GATE : General Architecture for Text Engineering
 
Networks and Natural Language Processing
Networks and Natural Language ProcessingNetworks and Natural Language Processing
Networks and Natural Language Processing
 
Distributed Systems Naming
Distributed Systems NamingDistributed Systems Naming
Distributed Systems Naming
 
Cyclcone a safe dialect of C
Cyclcone a safe dialect of CCyclcone a safe dialect of C
Cyclcone a safe dialect of C
 
Objective C Memory Management
Objective C Memory ManagementObjective C Memory Management
Objective C Memory Management
 
Bash Scripting Workshop
Bash Scripting WorkshopBash Scripting Workshop
Bash Scripting Workshop
 
Object Role Modeling
Object Role ModelingObject Role Modeling
Object Role Modeling
 

Kürzlich hochgeladen

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Distributed Coordination-Based Systems

  • 1. Distributed Systems : Chapter 13 Distributed Coordination-Based Systems Reference: Distributed Systems Principles and Paradigms 2nd Edition Prepared by: Ahmed Magdy Ezzeldin
  • 2. Outline ➔Introduction to Coordination Models ➔Taxonomy of coordination models ➔Architecture ➔ Traditional Architectures ➔ JavaSpaces ➔ TIB/Rendezvous ➔ Peer-to-Peer Architectures ➔ Gossip-Based Publish/Subscribe System ➔ Discussion ➔ Mobility and Coordination ➔ Lime ➔Processes ➔Communication ➔ Content-Based Routing ➔ Supporting Composite Subscriptions
  • 3. Introduction to Coordination Models ●Instead of concentrating on the transparent distribution of components, emphasis lies on the coordination of activities between those components. ●Clean separation between computation and coordination ●The coordination part of a distributed system handles the communication and cooperation between processes. ●The focus is on how coordination between the processes takes place.
  • 4. Taxonomy of coordination models Taxonomy of coordination models in 2 dimensions (temporal and referential)
  • 5. Taxonomy of coordination models [continued] ●Referential coupled, Temporal coupled: Direct coordination - Know addresses and/or names of processes - Know the form of the messages - Must be up at the same time ●Referential coupled, Temporal Decoupled: Mailbox coordination - Like persistent message-oriented communication - Know form of messages in advance - Does not have to be up at the same time
  • 6. Taxonomy of coordination models [continued] ●Referential Decoupled, Temporal coupled: Meeting oriented coordination - Often implemented by events - Publish/subscribe with no persistence on dataspace - Meet at a certain time to coordinate ●Referential Decoupled, Temporal Decoupled: generative communication - Independent processes make use of a shared persistent dataspace of tuples - Don't agree on structure of tuples in advance - Tuple tag distinguish between tuples of different info - Publish/subscribe with persistence on dataspace
  • 7. Architecture ● Data items are described by a series of attributes ● Subscription is passed to the middleware with a description of the data items that the subscriber is interested in. ● Subscription description as (attribute, value) pairs with range of each attribute and predicates like SQL. ● When data items are found the middleware sends a notification to the subscribers to read or just send the data items directly (no storage if sent directly) ● Publishing processes publish events which are data items with 1 attribute ● Matching data items against subscriptions should be efficient and scalable.
  • 9. Traditional Architectures ● Centralized client-server architecture ● Adopted by many publish/subscribe systems like IBM WebSphere and Sun JMS ●Generative communication models Like Sun Jini and JavaSpaces are based on central servers
  • 10. JavaSpaces ● To read a tuple instance, a process provides a typed template tuple for matching. ● A field in the template tuple either contains a reference to an actual object or contains the value NULL. ● Two fields match if they have a copy of the same reference or if the template tuple field is NULL. ● A tuple instance matches a template tuple if they have the same fields. ● Read and Take (remove tuple after reading) block the caller. ● Some implementations return immediately if there is not matching tuple or a timeout can be set. ● Centralized implementations makes complex matching rules easier and also can be used for synchronization.
  • 11. TIB/Rendezvous ● Instead of central servers we can immediately send published tuples to subscribers using multicasting ● Data item is a message tagged with a compound keyword describing its content (subject) ●Uses broadcast or uni cast if the subscribers addresses are known ● Each host has a rendezvous daemon, which takes care that messages are sent and delivered according to their subject ● The daemon has a table of (process, subject), entries and whenever a message on subject S arrives, the daemon checks in its table for local subscribers, and forwards the message to each one. ● Can allow complex matching of published data items against subscriptions
  • 13. Peer-to-Peer Architectures ●For scalability, restrictions on describing subscriptions and data items may be necessary. ● Keywords or (attribute, value) pairs are hashed to unique identifiers for published data, which can be efficiently implemented in a DHT-based system. ●For more advanced matching rules we can use Gossip-Based Publish/Subscribe Systems
  • 14. Gossip-Based Publish/Subscribe Systems ●A subscription S is a tuple of (attribute, value/range) pairs ● Like CAN (Content Addressable network) make float from attributes and organize subscriber nodes into 2 dimentional array of floats to form groups ●Cluster nodes into M different groups, such that nodes i and j belong to the same group if and only if their subscriptions Si and Sj intersect. ●Each node maintains a list of references to other neighbors (partial view) to know the intersecting subscriptions
  • 15. Discussion Similar to gossip-based systems ● each attribute a, is handled by a separate process Pi, ● which in turn partitions the range of its attribute across multiple processes. ●When a data item d is published, it is forwarded to each Pi, where it is stored at the process responsible for the d's value of a.
  • 16. Mobility and Coordination ●To know if a mobile peer received a message is problematic. ● Two solutions are suggested: 1- That the receiving mobile process saves older messages to make sure it does not receive duplicates 2- We devise routers to keep track of the mobile peers and know which messages they received (harder to implement).
  • 17. Lime ● In Lime, each mobile process has its own dataspace ●When processes are connected, their dataspaces become shared. ●Formally, the processes should be member of the same group and use the same group communication protocol. ● The local dataspaces of connected processes form a transiently shared dataspace to allow exchange of tuples. ● To control how tuples are distributed, dataspaces can do "reactions". A reaction specifies an action to be executed when a tuple matching a given template is found in the local dataspace.
  • 19. Processes ●Nothing special we just need efficient mechanisms to be used to search in a large collection of data. ●The main problem is devising schemes that work well in distributed environments.
  • 20. Communication ●In Java remote method invocations is used for communication. ● In wide-area networks the system should be self-organization or content-based routing to ensure that the message reaches only to its intended subscribers.
  • 21. Content-Based Routing ● Routers can take routing decisions based on the message content so it it cuts of routes that do not lead to receivers of this message. ● Clients can tell the servers which messages they are interested in so that the servers notify them when they receive a relevant message. This is done in 2 layers where layer 1 consists of a shared broadcast tree connecting the servers using routers ● In simple subject-based publish/subscribe using a unique (non-compound) keyword. ● We can send each published message to every server like in TIB/Rendezvous.
  • 22. Content-Based Routing [continued] Or let every server broadcast its subscriptions to all other servers to be able to compile a list of (subject, destination) pairs.
  • 23. Content-Based Routing [continued] ● Each server broadcasts its subscription across the network so that routers can compose routing filters. ● When a node leaves the system, it should cancel its subscriptions and essentially broadcast this information to all routers. ●Comparison of subscriptions and data items to be routed can be computationally expensive.
  • 24. Supporting Composite Subscriptions ● When we use more sophisticated expressions of subscriptions then we need another way not the simple content routing we have just used. ● Express compositions of subscriptions in which a process specifies in a single subscription that it is interested in very different types of data items. ●Design routers analogous to rule databases where subscriptions are transformed into rules stating the conditions under which published data should be forwarded.