SlideShare a Scribd company logo
10
Most read
13
Most read
15
Most read
1 
AGREEMENT 
PROTOCOLS 
Part of unit-2 
BY PROF. MAYANK JAIN
2 
Introduction 
• Processes/Sites in distributed systems often 
compete as well as cooperate to achieve a common 
goal. 
• Mutual Trust/agreement is very much required. 
• In Distributed Data bases, there may be a 
situation where data managers have to decide 
“Whether to commit or Abort the Transaction” 
• When there is no failure, reaching an agreement is 
easy. 
• However, in case of failures, processes must 
exchange their values with other processes and 
relay the values received from others several 
times to isolate the effect of faulty processor. 
• Agreement Protocols helps to reach an agreement in 
presence of failures.
3 
System Model 
• Agreement Problems have been studied under 
following System Model: 
1. ‘n’ processors and at most ‘m’ of the processors 
can be faulty 
2. Processors can directly communicate with other 
processors by message passing. 
3. Receiver knows the identity of the sender 
4. Communication medium is reliabble. 
5. Only Processors are prone to failures
4 
Synchronous VS Asynchronous 
Computation 
• Synchronous Computation 
1. Processes run in lock step manner[ Process 
receives a message sent to it earlier, performs 
computation and sends a message to other 
process. 
2. Step of Synchronous computation is called round 
• Asynchronous Computation 
1. Computation does not proceed in lock step. 
2. Process can send receive messages and perform 
computation at any time. 
Synchronous Models of Computations are Assumed here.
5 
Model of processor Failures 
• Processor Can Fail in three modes: 
1. Crash Fault : 
(i) Processor stops and never resumes operation. 
2. Omission Fault : 
(i) Processor Omits to send message to some 
processors 
3. Malicious Fault : 
(i) Also known as Byzantine Faults 
(ii) Processor may send fictitious 
values/message to other processes to 
confuse them 
(iii) Tough to detect/correct
6 
Authenticated VS Non- 
Authenticated Messages 
• Authenticated Messages: 
1. Also known as signed Message 
2. Processor can not forge/change a received 
message 
3. Processor can verify the authenticity of the 
message 
4. It is easier to reach on an agreement in this 
case 
• Non-Authenticated Messages: 
1. Also known as Oral Message 
2. Processor can forge/change a received message 
and claims to have received it from others 
3. Processor can not verify the authenticity of the 
message in this case.
7 
Performance Aspects of 
Agreement Protocols 
• Following Metrics are used : 
1. Time: No of rounds needed to reach an agreement 
2. Message Traffic : Number of messages exchanged 
to reach an agreement. 
3. Storage Overhead : Amount of information that 
needs to stored at processors during execution 
of the protocol.
8 
Classification of Agreement 
Problems 
• There are three well known agreement problems in 
distributed systems: 
1. Byzantine Agreement Problem : 
• A single Value is to be agreed upon. 
• Agreed Value is initialized by an arbitrary processor 
and all non faulty processors have to agree on that 
value. 
2. Consensus Problem: 
• Every processor has its own initial value and all non 
faulty processors must agree on a single common value. 
3. Interactive Consistency Problem: 
• Every processor has its own initial value and all non 
faulty processors must agree on a set of common 
values. 
Cont..
9 
Classification of Agreement 
Problems cont… 
• In All the previous mentioned problems, all non 
faulty processors must reach an agreement 
• In Byzantine and Consensus problems , 
agreement is on a single value 
• In Interactive Consistency problem , agreement 
is on a set of common values. 
• In Byzantine agreement problem ,only one 
processor initializes the value where as in other 
two cases, every processor has its own initial 
value.
10 
Byzantine Agreement Problem 
• Source Processor [ Any arbitrarily chosen 
processor] broadcasts its values to others. 
• Solution must meet following objectives: 
1. Agreement : All non-faulty processors agree on 
the same value. 
2. Validity : If source is nonfaulty, then the 
common agreed value must be the value supplied 
by the source processor. 
“If source is faulty then all non- faulty processors 
can agree on any common value”. 
“Value agreed upon by faulty processors is 
irrelevant”
11 
Consensus Problem 
• Every Processor broadcasts its initial value to all 
other processors. 
• Initial Values may be different for different 
processors. 
• Protocol must meet following objectives: 
1. Agreement : All non-faulty processors agree on the 
same single value. 
2. Validity : If initial value of every non-faulty 
processor is v , then the common agreed value by all 
non-faulty processors must be v. 
“If initial value of non-faulty processors are different 
then all non- faulty processors can agree on any 
common value”. 
“Value agreed upon by faulty processors is irrelevant”
Interactive Consistency Problem 
12 
• Every Processor broadcasts its initial value to 
all other processors. 
• Initial Values may be different for different 
processors. 
• Protocol must meet following objectives: 
1. Agreement : All non-faulty processors agree on 
the same vector (v1,v2,…vn). 
2. Validity : If ith processor is non-faulty and 
its initial value is vi, then the ith value 
agreed by all non-faulty processors must be vi. 
“If jth processor is faulty then all non- faulty 
processors can agree on any common value vj”. 
“Value agreed upon by faulty processors is 
irrelevant”
13 
Solution for Byzantine Agreement 
Problem 
• First Defined and solved by lamport. 
• Source Broadcasts its initial value to all other 
processors. 
• Processors send their values to other processors and 
also relay received values to others. 
• During Execution faulty processors may confuse by 
sending conflicting values. 
• However if faulty processors dominate in number, they 
can prevent non-faulty processors from reaching an 
agreement. 
• No of faulty processors should not exceed certain limit. 
• Pease showed that in a fully connected network, it is 
impossible to reach an agreement if number faulty 
processors ‘m’ exceeds (n-1)/3. n = number of processors
Lamport-Shostak-Pease Algorithm 
14 
• This algorithm also known as Oral Message 
Algorithm OM(m) where m is the number of faulty 
processors 
• ‘n’ = Number of processors and n >= 3m+1 
• Algorithm is Recursively defined as follows: 
• Algorithm OM(0) 
1. Source processor sends its values to every 
processor 
2. Each processor uses the value it receives from 
source. [If no value is received default value 0 
is used] 
• Algorithm OM(m), m>0 
1. The source processor sends its value to every 
processor.
15 
Cont… 
2. For each i, let vi be the value processor i 
receives from source.[ Default value 0 if no 
value received] 
3. Processor I acts as the new source and initiates 
Algorithm OM(m-1) where it sends the value vi to 
each of the n-2 other processors. 
4. For each i and j (not i), let vj be the value 
processor i received from processor j in STEP 
3. Processor I uses the value 
majority(v1,v2….vn-1). 
“The function majority(v1,v2….vn-1) computes the 
majority value if exists otherwise it uses 
default value 0.”
Byzantine Agreement Can not be reached among three 
16 
processors if one processor is faulty 
P0 is NON-Faulty 
P0 
P1 P2 
0 
1 
1 
1 
P0 is Faulty 
P0 
P1 P2 
0 
0 
1 
1 
P0 is source processor
17 
Applications of Agreement 
Algorithms 
1. Fault-Tolerant Clock Synchronization 
• Distributed Systems require physical clocks to 
synchronized 
• Physical clocks have drift problem 
• Agreement Protocols may help to reach a common 
clock value. 
2. Atomic Commit in DDBS 
• DDBS sites must agree whether to commit or abort 
the transaction 
• Agreement protocols may help to reach a 
consensus.

More Related Content

What's hot (20)

PPT
Block Cipher and its Design Principles
SHUBHA CHATURVEDI
 
PDF
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
PPTX
Dag representation of basic blocks
Jothi Lakshmi
 
PPTX
Deadlock Prevention
prachi mewara
 
PPTX
Public Key Cryptosystem
Devakumar Kp
 
PPTX
Semophores and it's types
Nishant Joshi
 
PPT
Lower bound
Rajendran
 
PDF
Daa notes 1
smruti sarangi
 
PPT
distributed shared memory
Ashish Kumar
 
PPTX
User authentication
CAS
 
PPTX
Checkpointing.pptx
AzmiNizar1
 
PPTX
Unit 2 data link control
Vishal kakade
 
PPTX
1.10. pumping lemma for regular sets
Sampath Kumar S
 
PPT
Data encryption standard
Vasuki Ramasamy
 
PPTX
Two pass Assembler
Satyamevjayte Haxor
 
PDF
CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
PPT
Passes of compilers
Vairavel C
 
PPTX
Congestion control
Aman Jaiswal
 
PPTX
File sharing
janani thirupathi
 
Block Cipher and its Design Principles
SHUBHA CHATURVEDI
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
Dag representation of basic blocks
Jothi Lakshmi
 
Deadlock Prevention
prachi mewara
 
Public Key Cryptosystem
Devakumar Kp
 
Semophores and it's types
Nishant Joshi
 
Lower bound
Rajendran
 
Daa notes 1
smruti sarangi
 
distributed shared memory
Ashish Kumar
 
User authentication
CAS
 
Checkpointing.pptx
AzmiNizar1
 
Unit 2 data link control
Vishal kakade
 
1.10. pumping lemma for regular sets
Sampath Kumar S
 
Data encryption standard
Vasuki Ramasamy
 
Two pass Assembler
Satyamevjayte Haxor
 
CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
Passes of compilers
Vairavel C
 
Congestion control
Aman Jaiswal
 
File sharing
janani thirupathi
 

Viewers also liked (10)

PPT
Distributed Transaction
Pratik Tambekar
 
PPTX
Time Triggered Protocol
Dhruv Goel
 
PPTX
Scheduling in distributed systems - Andrii Vozniuk
Andrii Vozniuk
 
PPT
Distributes objects and Rmi
Mayank Jain
 
PPT
Communication primitives
Student
 
PDF
The byzantine generals problem
NGUYEN VAN LUONG
 
PDF
Distributed deadlock
Md. Mahedi Mahfuj
 
PDF
Distributed process and scheduling
SHATHAN
 
PPT
B trees in Data Structure
Anuj Modi
 
DOC
Unit 1 architecture of distributed systems
karan2190
 
Distributed Transaction
Pratik Tambekar
 
Time Triggered Protocol
Dhruv Goel
 
Scheduling in distributed systems - Andrii Vozniuk
Andrii Vozniuk
 
Distributes objects and Rmi
Mayank Jain
 
Communication primitives
Student
 
The byzantine generals problem
NGUYEN VAN LUONG
 
Distributed deadlock
Md. Mahedi Mahfuj
 
Distributed process and scheduling
SHATHAN
 
B trees in Data Structure
Anuj Modi
 
Unit 1 architecture of distributed systems
karan2190
 
Ad

Similar to Aggrement protocols (20)

PDF
Agreement Protocols, distributed File Systems, Distributed Shared Memory
SHIKHA GAUTAM
 
PPTX
Agreement protocol
Saif Ali Khan
 
PDF
1. Consensus and agreement algorithms - Introduction.pdf
AzmiNizar1
 
PDF
Distributed Computing On Topics of: Leader election + Byzantine algorithms)
Osama Askoura
 
PPT
Fault tolerance-omer-rana
Gangadhar Thippannagari
 
PPTX
Solutions to byzantine agreement problem
AJAY KHARAT
 
PDF
Fault tolerance review by tsegabrehan zerihun
Tsegabrehan Am
 
PPTX
Unit_4_Fault_Tolerance.pptx
rameshwarchintamani
 
PPTX
L16.A.FA1ggggggggggggggggggggggggg6.pptx
abdulbasetalselwi
 
PPT
Chapter 7-Fault Tolerance.ppt
Habib246314
 
PPT
Coordination and Agreement .ppt
SOURAVKUMAR723356
 
PDF
Basic Consensus Algorithms
상문 오
 
PPTX
Randomized Byzantine Problem by Rabin
Kishor Datta Gupta
 
PPTX
fault tolerance1.pptx
rithika858339
 
PDF
Paxos
Amir Payberah
 
PPT
L14.C3.FA18.ppt
FarhanKhan371680
 
PDF
Impossibility of Consensus with One Faulty Process - Papers We Love SF
HenryRobinson
 
PDF
Papers We Love / Kyiv : PAXOS (and little about other consensuses )
Ruslan Shevchenko
 
PPTX
Chapter 6 synchronization
Alagappa Government Arts College, Karaikudi
 
ZIP
9X5u87KWa267pP7aGX3K
CapitolPunishment
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
SHIKHA GAUTAM
 
Agreement protocol
Saif Ali Khan
 
1. Consensus and agreement algorithms - Introduction.pdf
AzmiNizar1
 
Distributed Computing On Topics of: Leader election + Byzantine algorithms)
Osama Askoura
 
Fault tolerance-omer-rana
Gangadhar Thippannagari
 
Solutions to byzantine agreement problem
AJAY KHARAT
 
Fault tolerance review by tsegabrehan zerihun
Tsegabrehan Am
 
Unit_4_Fault_Tolerance.pptx
rameshwarchintamani
 
L16.A.FA1ggggggggggggggggggggggggg6.pptx
abdulbasetalselwi
 
Chapter 7-Fault Tolerance.ppt
Habib246314
 
Coordination and Agreement .ppt
SOURAVKUMAR723356
 
Basic Consensus Algorithms
상문 오
 
Randomized Byzantine Problem by Rabin
Kishor Datta Gupta
 
fault tolerance1.pptx
rithika858339
 
L14.C3.FA18.ppt
FarhanKhan371680
 
Impossibility of Consensus with One Faulty Process - Papers We Love SF
HenryRobinson
 
Papers We Love / Kyiv : PAXOS (and little about other consensuses )
Ruslan Shevchenko
 
9X5u87KWa267pP7aGX3K
CapitolPunishment
 
Ad

More from Mayank Jain (8)

PPTX
C, C++, Java, Android
Mayank Jain
 
PPT
C++ functions
Mayank Jain
 
PPT
C++ classes tutorials
Mayank Jain
 
PPT
2 computer network - basic concepts
Mayank Jain
 
PPT
1 introduction-to-computer-networking
Mayank Jain
 
PPT
Ds ppt imp.
Mayank Jain
 
PPT
Ds objects and models
Mayank Jain
 
PPT
Enhanced E-R diagram
Mayank Jain
 
C, C++, Java, Android
Mayank Jain
 
C++ functions
Mayank Jain
 
C++ classes tutorials
Mayank Jain
 
2 computer network - basic concepts
Mayank Jain
 
1 introduction-to-computer-networking
Mayank Jain
 
Ds ppt imp.
Mayank Jain
 
Ds objects and models
Mayank Jain
 
Enhanced E-R diagram
Mayank Jain
 

Recently uploaded (20)

PDF
STUDY OF NOVEL CHANNEL MATERIALS USING III-V COMPOUNDS WITH VARIOUS GATE DIEL...
ijoejnl
 
PPTX
Online Cab Booking and Management System.pptx
diptipaneri80
 
PPTX
cybersecurityandthe importance of the that
JayachanduHNJc
 
PPTX
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 
PDF
4 Tier Teamcenter Installation part1.pdf
VnyKumar1
 
PPTX
Water resources Engineering GIS KRT.pptx
Krunal Thanki
 
PPTX
Ground improvement techniques-DEWATERING
DivakarSai4
 
PPTX
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
PDF
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
PPTX
business incubation centre aaaaaaaaaaaaaa
hodeeesite4
 
PPTX
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PDF
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
PPTX
Information Retrieval and Extraction - Module 7
premSankar19
 
PDF
Machine Learning All topics Covers In This Single Slides
AmritTiwari19
 
PDF
Advanced LangChain & RAG: Building a Financial AI Assistant with Real-Time Data
Soufiane Sejjari
 
PPTX
ENSA_Module_7.pptx_wide_area_network_concepts
RanaMukherjee24
 
PDF
Construction of a Thermal Vacuum Chamber for Environment Test of Triple CubeS...
2208441
 
PPTX
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
DOCX
SAR - EEEfdfdsdasdsdasdasdasdasdasdasdasda.docx
Kanimozhi676285
 
STUDY OF NOVEL CHANNEL MATERIALS USING III-V COMPOUNDS WITH VARIOUS GATE DIEL...
ijoejnl
 
Online Cab Booking and Management System.pptx
diptipaneri80
 
cybersecurityandthe importance of the that
JayachanduHNJc
 
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 
4 Tier Teamcenter Installation part1.pdf
VnyKumar1
 
Water resources Engineering GIS KRT.pptx
Krunal Thanki
 
Ground improvement techniques-DEWATERING
DivakarSai4
 
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
business incubation centre aaaaaaaaaaaaaa
hodeeesite4
 
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
Information Retrieval and Extraction - Module 7
premSankar19
 
Machine Learning All topics Covers In This Single Slides
AmritTiwari19
 
Advanced LangChain & RAG: Building a Financial AI Assistant with Real-Time Data
Soufiane Sejjari
 
ENSA_Module_7.pptx_wide_area_network_concepts
RanaMukherjee24
 
Construction of a Thermal Vacuum Chamber for Environment Test of Triple CubeS...
2208441
 
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
SAR - EEEfdfdsdasdsdasdasdasdasdasdasdasda.docx
Kanimozhi676285
 

Aggrement protocols

  • 1. 1 AGREEMENT PROTOCOLS Part of unit-2 BY PROF. MAYANK JAIN
  • 2. 2 Introduction • Processes/Sites in distributed systems often compete as well as cooperate to achieve a common goal. • Mutual Trust/agreement is very much required. • In Distributed Data bases, there may be a situation where data managers have to decide “Whether to commit or Abort the Transaction” • When there is no failure, reaching an agreement is easy. • However, in case of failures, processes must exchange their values with other processes and relay the values received from others several times to isolate the effect of faulty processor. • Agreement Protocols helps to reach an agreement in presence of failures.
  • 3. 3 System Model • Agreement Problems have been studied under following System Model: 1. ‘n’ processors and at most ‘m’ of the processors can be faulty 2. Processors can directly communicate with other processors by message passing. 3. Receiver knows the identity of the sender 4. Communication medium is reliabble. 5. Only Processors are prone to failures
  • 4. 4 Synchronous VS Asynchronous Computation • Synchronous Computation 1. Processes run in lock step manner[ Process receives a message sent to it earlier, performs computation and sends a message to other process. 2. Step of Synchronous computation is called round • Asynchronous Computation 1. Computation does not proceed in lock step. 2. Process can send receive messages and perform computation at any time. Synchronous Models of Computations are Assumed here.
  • 5. 5 Model of processor Failures • Processor Can Fail in three modes: 1. Crash Fault : (i) Processor stops and never resumes operation. 2. Omission Fault : (i) Processor Omits to send message to some processors 3. Malicious Fault : (i) Also known as Byzantine Faults (ii) Processor may send fictitious values/message to other processes to confuse them (iii) Tough to detect/correct
  • 6. 6 Authenticated VS Non- Authenticated Messages • Authenticated Messages: 1. Also known as signed Message 2. Processor can not forge/change a received message 3. Processor can verify the authenticity of the message 4. It is easier to reach on an agreement in this case • Non-Authenticated Messages: 1. Also known as Oral Message 2. Processor can forge/change a received message and claims to have received it from others 3. Processor can not verify the authenticity of the message in this case.
  • 7. 7 Performance Aspects of Agreement Protocols • Following Metrics are used : 1. Time: No of rounds needed to reach an agreement 2. Message Traffic : Number of messages exchanged to reach an agreement. 3. Storage Overhead : Amount of information that needs to stored at processors during execution of the protocol.
  • 8. 8 Classification of Agreement Problems • There are three well known agreement problems in distributed systems: 1. Byzantine Agreement Problem : • A single Value is to be agreed upon. • Agreed Value is initialized by an arbitrary processor and all non faulty processors have to agree on that value. 2. Consensus Problem: • Every processor has its own initial value and all non faulty processors must agree on a single common value. 3. Interactive Consistency Problem: • Every processor has its own initial value and all non faulty processors must agree on a set of common values. Cont..
  • 9. 9 Classification of Agreement Problems cont… • In All the previous mentioned problems, all non faulty processors must reach an agreement • In Byzantine and Consensus problems , agreement is on a single value • In Interactive Consistency problem , agreement is on a set of common values. • In Byzantine agreement problem ,only one processor initializes the value where as in other two cases, every processor has its own initial value.
  • 10. 10 Byzantine Agreement Problem • Source Processor [ Any arbitrarily chosen processor] broadcasts its values to others. • Solution must meet following objectives: 1. Agreement : All non-faulty processors agree on the same value. 2. Validity : If source is nonfaulty, then the common agreed value must be the value supplied by the source processor. “If source is faulty then all non- faulty processors can agree on any common value”. “Value agreed upon by faulty processors is irrelevant”
  • 11. 11 Consensus Problem • Every Processor broadcasts its initial value to all other processors. • Initial Values may be different for different processors. • Protocol must meet following objectives: 1. Agreement : All non-faulty processors agree on the same single value. 2. Validity : If initial value of every non-faulty processor is v , then the common agreed value by all non-faulty processors must be v. “If initial value of non-faulty processors are different then all non- faulty processors can agree on any common value”. “Value agreed upon by faulty processors is irrelevant”
  • 12. Interactive Consistency Problem 12 • Every Processor broadcasts its initial value to all other processors. • Initial Values may be different for different processors. • Protocol must meet following objectives: 1. Agreement : All non-faulty processors agree on the same vector (v1,v2,…vn). 2. Validity : If ith processor is non-faulty and its initial value is vi, then the ith value agreed by all non-faulty processors must be vi. “If jth processor is faulty then all non- faulty processors can agree on any common value vj”. “Value agreed upon by faulty processors is irrelevant”
  • 13. 13 Solution for Byzantine Agreement Problem • First Defined and solved by lamport. • Source Broadcasts its initial value to all other processors. • Processors send their values to other processors and also relay received values to others. • During Execution faulty processors may confuse by sending conflicting values. • However if faulty processors dominate in number, they can prevent non-faulty processors from reaching an agreement. • No of faulty processors should not exceed certain limit. • Pease showed that in a fully connected network, it is impossible to reach an agreement if number faulty processors ‘m’ exceeds (n-1)/3. n = number of processors
  • 14. Lamport-Shostak-Pease Algorithm 14 • This algorithm also known as Oral Message Algorithm OM(m) where m is the number of faulty processors • ‘n’ = Number of processors and n >= 3m+1 • Algorithm is Recursively defined as follows: • Algorithm OM(0) 1. Source processor sends its values to every processor 2. Each processor uses the value it receives from source. [If no value is received default value 0 is used] • Algorithm OM(m), m>0 1. The source processor sends its value to every processor.
  • 15. 15 Cont… 2. For each i, let vi be the value processor i receives from source.[ Default value 0 if no value received] 3. Processor I acts as the new source and initiates Algorithm OM(m-1) where it sends the value vi to each of the n-2 other processors. 4. For each i and j (not i), let vj be the value processor i received from processor j in STEP 3. Processor I uses the value majority(v1,v2….vn-1). “The function majority(v1,v2….vn-1) computes the majority value if exists otherwise it uses default value 0.”
  • 16. Byzantine Agreement Can not be reached among three 16 processors if one processor is faulty P0 is NON-Faulty P0 P1 P2 0 1 1 1 P0 is Faulty P0 P1 P2 0 0 1 1 P0 is source processor
  • 17. 17 Applications of Agreement Algorithms 1. Fault-Tolerant Clock Synchronization • Distributed Systems require physical clocks to synchronized • Physical clocks have drift problem • Agreement Protocols may help to reach a common clock value. 2. Atomic Commit in DDBS • DDBS sites must agree whether to commit or abort the transaction • Agreement protocols may help to reach a consensus.