Replication of data in mobile communication

Preview:

Citation preview

Topics Covered:

O What is replication?

O Concept of system model in replication

O Concept of group communication

O Fault-tolerant services

O Highly available services

O Transactions with replicated data.

O Maintenance of copies of data at multiple

computers.

O Provides-

O Enhanced performance

O High availability

O High fault tolerance.

O Issues in replication-

O Transparency

O Consistency of data

O RM provides service to client. O Clients see service to access logical objects.(Replicated to

manager) O Clients request are handled by front ends. A front end makes

replication transparent.

FE

Requests and replies

C

Replica C

Service Clients

Front ends

managers

RM

RM FE

RM

O process groups are useful for managing replicated data

O group membership service provides:

O interface for adding/removing members

O implements a failure detector

O notifies members of changes in membership

O expands group addresses

Join

Group

address

expansion

Multicast

communication

Group

send

Fail Group membership

management

Leave

Process group

Membership service

provides leave and

join operations

Members are

informed when

processes join/leave Failure detector notes

failures and evicts failed

processes from the group

The group

address is

expanded

O provision of a service that is correct even if f

processes fail

O by replicating data and functionality at

RMs

O assume communication reliable and no

partitions

O For example; Bank accounts transactions

Fault tolerance service

Passive backup

Active backup

O a single primary RM and one or more secondary (backup, slave) RMs

O FEs communicate with the primary O if the primary fails, one of the backups is promoted to

act as the primary

FE C

FE C

RM

Primary

Backup

Backup

RM

RM

Request •FE issues a request

with unique ID to primary RM

Coordination •If identifier is old>>

resend response

Execution

•Primary exe request and store the response

Agreement •For new update

backups are updated & backup send ack.

Response

•Primary response to FE,FE to Client

11

F

E C

F

E C

R

M

R

M

R

M

a FE multicasts each

request to the group of

RMs

the RMs process each request identically and reply

byzantine failures because

the FE can collect and

compare the replies

If( RM fails)

{

no impact on

performance; RM

responds in same way;

}

Request •FE multicasts

request with unique ID to RM’s

Coordination

•Group comm. Sys sends req to correct RM in same order of request

Execution

•Every replica exe request and store the response

Agreement •NO AGREEMENT IS NEEDED

Response

•Each RM send its response to the front end.

O replication techniques to make services

highly available~

O RESPONSE TIME: AS less as much

poosible

O Even on the cost of consistency

O Consistency can be maintain later.

O Terms introduced -> EAGER V/S LAZY

UPDATES

O The service consists of a collection of RMs that exchange gossip

messages

O Queries and updates are sent by a client via an FE to an RM

14

Query Val

FE

RM RM

RM

Query, prev Val, new

Update

FE

Update, prev Update id

Service

Clients

prev is a vector timestamp for the latest version seen by the FE (and client)

new is the vector

timestamp of the

resulting value, val

update id is the vector

timestamp of the

update

Gossip

O High availability with weaker guarantees of

consistency

O RM cope with varible connectivity

O Apply “domain-specific detection ” &

“Conflict resolution”

O AFS: andrew file system

O Don’t deal with disconnected operation

O CODA: CONSISTENT DATA AVAILABILITY

O deal with disconnected operation

O Save all updates in local cache of client

O After re-connection , changes are

replicated

O Basic diff. is lies in “REPLICATION METHOD”

O objects in transactional systems are replicated to enhance availability and performance

O one-copy serializability.

O each RM provides concurrency control and recovery of its own objects

O replication makes recovery more complicated

O when an RM recovers, it restores its objects with information from other RMs

O the primary copy approach, all FEs communicate with a single RM which propagates updates to back-ups.

O In other schemes, FEs may communicate with any RM O an RM that receives a request is responsible for getting

cooperation from the other RMs ?? O propagate requests immediately or at the end of a

transaction? O In primary scheme??? O In other scheme???

O USE 2PC protocol for proper communication b/w RMs

Recommended