6CS5 DS Unit-5
6CS5 DS Unit-5
6CS5 DS Unit-5
UNIT V
Distributed System
By
rashi Jain
Assistant Professor
Computer Science ENGG. Department
Acerc, Jaipur
RTU syllabus Of UNIT V
Distributed Agreement: Concept of Faults,
failure and recovery, Byzantine Faults,
Adversaries, Byzantine Agreement,
Impossibility of Consensus and Randomized
Distributed Agreement
Replicated Data Management: concepts and
issues, Database Techniques, Atomic
multicast and Update Propagation.
CORBA case study: Introduction,
Architecture, CORBA RMI,CORBA
Services
Lecture Plan of Unit V
Concepts of faults ,failure and recovery
Fault Classification Lecture 1
failure models in distributed system
Recovery in Distributed system
Byzantine faults
Adversaries
Byzantine Agreement Lecture 2
Impossibility of Consensus
Randomized Distributed Agreement
Exponential time shared memory consensus Lecture 3
Polynomial time shared memory consensus
Message passing Randomized consensus
Lecture Plan of Unit V(Cont..)
Memory management Algorithm
Replicated data management Lecture 4
Concepts and Issues
Database Techniques
Atomic multicast
Update Propagation
Epidemic Algorithm Lecture 5
Antientropy
Update Logs
Case study : CORBA Lecture 6
Concept of Fault, Failure & Recovery
Definition:
◦ Fault tolerance is the ability of a system to
perform its function correctly even in the
presence of internal faults.
The concept of fault, failure & Recovery is
described by using following points.
◦ Fault Classification
◦ Failure model in distributed system
◦ Recovery in Distributed system.
Fault Classification
Fault can be classified as transient or
permanent.
A transient fault will eventually disappear
without any apparent intervention.
A permanent one will remain unless it is
removed by some external agency.
Classification of faults
◦ Crash Fault
◦ Omission fault
◦ Timing Fault
◦ Byzantine fault
Failure Model in Distributed System
Definition
◦ It define a precise specification of the faults that
can be exhibited by processes and
communication channels.
◦ Omission Failure
◦ Timing Failure
◦ Arbitrary Failure
Recovery In Distributed System
Definition
◦ A transaction processing system will go through a
recovery of the database to cope when the system
fails, it involves the backup, journals, checkpoint and
recovery manager.
Types of Recovery Techniques:
◦ Journal: A journal maintain an audit trail of
transaction and database changes.
◦ Checkpoint: It is to provide a snapshot of the data
within the database.
◦ Recovery Manager: A recovery manager is a program
which restores the database to a correct condition
which can restart the transaction processing.
Byzantine Faults
Definition:
◦ A Byzantine fault is an arbitrary fault that occur
during execution of an algorithm by a
distributed system.
Itencompasses both omission failures and
commission failure.
When a byzantine fault has occurred the
system may respond in any unpredictable
way, unless it is designed to have byzantine
fault tolerance.
Adversaries
Definition:
◦ An adversary is a demon that has a great deal of
control over the environment in which your
protocol executes and will try to make your
protocol fail.
The adversary has the power to examine the
global state and to schedule the execution of
the protocol.
Adversary is the ability to destroy or modify
message and change the protocol that some
of the processors execute.
Byzantine Agreement
Definition:
◦ It refers to distributed agreement algorithm in
which a failed processor can send arbitrary
message into the network.
◦ A failed processor can try to prevent the
nonfailed processor from reaching an
agreement.
Impossibility Of Consensus
Operating System
(nkB) Small
(3nkB) Medium
Large
(6nkB)
Memory Management Algorithm(Cont..)
Variable Partitioning
◦ In it, the memory size may vary dynamically.
◦ In it, we keep a table(linked list) indicating
used/free areas in memory.
There are three algorithms for searching
the list of free blocks for a specific
amount of memory.
◦ First Fit: Allocate the first free block that is
large enough for the new process. This is the
fast algorithm.
◦ Best Fit
◦ Worst Fit
Memory Management Algorithm(Cont..)
Paging
◦ Paging permit a program to allocate
noncontiguous blocks of memory. The OS divide
the program into pages which are blocks of small
and fixed size. Then it divide the physical
memory into frames which are block of size
equals to page size.
The OS uses a page table to map program
pages to memory frames.
Replicated Data Management
Definition
◦ Replication is the process of copying & maintaining
database objects in multiple database that make up a
distributed database system.
◦ Replication can improve the performance & protect
the availability of application because alternate data
access option exist.
The replicated data management is described by
using some point.
◦ Concept & Issues
◦ Database Techniques
◦ Atomic Multicast
◦ Update Propagation
Replicated Data Management(Cont..)
Concept & Issues:
◦ Basic replication environment support application
that require read-only access to the table data that
originates from a primary site.
The concept of basic replication environments
◦ Use of basic replication
Information distribution, off loading & Information
transport.
◦ Read-only table snapshots
It is a local copy of table data that originates from one or
more remote master tables.
◦ Snapshots Refreshes
A table snapshot is a transaction- consistent reflection of its
master data as that data existed at a specific point in time.
Replicated Data Management(Cont..)
Database Techniques:
◦ It is a technique that are used for managing
replicated data, that is called database techniques.
Itwill examine the fundamentals algorithms
for maintaining data consistency in a
distributed database.
Types of Database techniques:
◦ Database logging & Recovery
◦ Two-phase Commit
◦ Three-phase Commit
◦ Replicated-Data- Management
◦ Dynamic Quorum Changes
Atomic Multicast
Definition:
◦ If one processor on the delivery list receives a
reliable multicast messages, every processor
on the delivery list receives the message.
Some point to describe the Atomic
multicast.
◦ Virtual Synchrony
◦ Ordered Multicasts
◦ Reliable & Casual multicast
◦ Group Membership
◦ Atomic group multicasts.
Update Propagation
The use of update propagation is to
replicate the database it manages.
Updates need to be propagated to all sites.
The update propagation can be described
by using some point that is as follows.
◦ Epidemic Algorithms
◦ Antientropy
◦ Update Logs
Update Propagation(Cont..)
Epidemic Algorithms
◦ When a server updates a data items d, it should
start the process of distributing the update.
Antientropy:
◦ A distributing updates is to have one site contact
another to exchange recent updates, that is called
Antientropy.
Update Logs
◦ Every processor p keeps a log L of the updates that
it has processed. The log is an listing of event
records, where each event corresponding to an
update.
Case Study: CORBA
Definition
◦ CORBA is a middleware design that allows
application programs to communicate with
one another irrespective of their programming
language, their hardware and software
platforms, the networks they communicate
over and their implementers.
◦ Applications are built from CORBA objects,
which implement interfaces defined in
CORBA’s interface definition language.
Case Study: CORBA(Cont..)
The Common object Request Broker
architecture is described as follows:
◦ Architecture
◦ CORBA RMI
◦ CORBA Services
Case Study: CORBA(Cont..)
Architecture of CORBA:
◦ It designed to support the role of an object
request broker that enables clients to invoke
methods in remote objects, where both clients
and server can be implemented in a variety of
programming language.
Case Study: CORBA(Cont..)
In the CORBA architecture contains three
additional components:
◦ The object adapter
◦ The implementation Repository
◦ The interface Repository
CORBA provides for both static & Dynamic
invocations.
◦ Static invocation are used when the remote
interface of the CORBA object is known at
compile time, enabling client stub & Server
skeleton to be used.
◦ If the remote interface is not known at compile
time, dynamic invocation must be used.
Case Study: CORBA(Cont..)
Object Adapter:
◦ The role of an object adapter is to bridge the
gap between CORBA objects with IDL
interfaces and the programming language
interface of the corresponding servant classes.
Skeleton:
◦ Skeleton classes are generated in the language
of the server by an IDL compiler. The skeleton
unmarshals the arguments in request messages
and marshals exception and result in reply
messages.
Case Study: CORBA(Cont..)
Client Stub:
◦ In the client language, a set of stub procedures is
generated from an IDL interfaces by an IDL
compiler for the client language.
Implementation Repository:
◦ It is responsible for activating registered servers
on demand and for locating servers that are
currently running.
◦ The object adapter name is used to refer to
servers when registering and activating them.
Interface Repository
◦ It is to provide information about registered IDL
interfaces to client and servers that requires it.
Case Study: CORBA(Cont..)
CORBA RMI:
◦ CORBA RMI requires more of the
programmer than programming in a single
language RMI system such as Java RMI.
CORBA Services:
◦ CORBA naming Services
◦ CORBA Event Services
◦ CORBA notification Services
◦ CORBA Security Services.
Thank You