SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Publish subscribe model overview
Publish subscribe model overviewPublish subscribe model overview
Publish subscribe model overviewIshraq Al Fataftah
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed SystemsNandakumar P
 
Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance SHIKHA GAUTAM
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemSunita Sahu
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed systemishapadhy
 
Synchronization in distributed systems
Synchronization in distributed systems Synchronization in distributed systems
Synchronization in distributed systems SHATHAN
 
Distributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlDistributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlbalamurugan.k Kalibalamurugan
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed SystemAshish KC
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical ClocksDilum Bandara
 
Os solved question paper
Os solved question paperOs solved question paper
Os solved question paperAnkit Bhatnagar
 
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
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing modelsishmecse13
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSKathirvel Ayyaswamy
 

La actualidad más candente (20)

Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
 
Publish subscribe model overview
Publish subscribe model overviewPublish subscribe model overview
Publish subscribe model overview
 
Stream oriented communication
Stream oriented communicationStream oriented communication
Stream oriented communication
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 
Replication in Distributed Systems
Replication in Distributed SystemsReplication in Distributed Systems
Replication in Distributed Systems
 
Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
Synchronization in distributed systems
Synchronization in distributed systems Synchronization in distributed systems
Synchronization in distributed systems
 
Data link layer
Data link layer Data link layer
Data link layer
 
Distributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlDistributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency control
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed System
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical Clocks
 
Os solved question paper
Os solved question paperOs solved question paper
Os solved question paper
 
Coda file system
Coda file systemCoda file system
Coda file system
 
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
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing models
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 

Similar a 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
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsAya Mahmoud
 
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
 

Similar a 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
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in 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
 

Más de Ahmed Magdy Ezzeldin, MSc.

Más de 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
 

Último

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"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
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"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
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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.