Distributed Systems : Exercise set 4

1. The distribution of updates to replicas can be implemented in a push-based,
pull-based or hybrid, lease-based form. In addition, for push-based, it is
possible to either push the update in full or just a notice that an update has
occurred. For each of the below examples, choose the most appropriate approach
and justify your answer.

a) Users' web browser caches storing the contents of the front page of a large
newspaper.

b) A large Internet operator's name server storing the DNS name to IP address
mappings of the Internet servers its customers connect to. (The data comes from
a hierarchy of DNS servers.)

c) Collaborative editing of a wiki page (say, for a 5-person research team
writing a paper together against a deadline).

d) A lecturer node on a Distributed Systems course producing/updating content
that is replicated to student nodes (e.g. in form of print-outs or as providing
input to their actions).

2. In replicated-write protocols write operations can be done on multiple
replicas; one way to organize this is to use a quorum-based protocol.

a) Explain briefly how quorum-based write and read operations work.

b) Convince your sceptical IT manager client that a quorum-based protocol does
implement a consistency model.

c) Give your client more educated reasons to be sceptical of quorums. What are
the tradeoffs, when could a given quorum-based solution be a bad idea?

3. You are setting up a dissemination protocol for three application
scenarios.

a) List the relevant characteristics (including your additional assumptions) of
the application scenario.

b) Evaluate the benefits and potential problems of using epidemic protocols for
the given scenario.

Scenario 1: Disseminating augmented reality information (e.g. tourist tips for
downtown Helsinki) in a wireless mobile ad hoc network (a MANET).

Scenario 2: Disseminating routing data on the Internet.

Scenario 3: Disseminating file updates in a generic peer-to-peer file sharing
network.

4. Consider a distributed transaction where a client books a flight from a
travel agency and receives flight tickets. (For simplicity, let's assume the
electronic tickets are delivered together with the order confirmation and there
is no 1-2-day delay.) The travel agency has a large customer base and handles
hundreds of flight-bookings every day.

For each of the ACID properties for transactions, give an example of an
implementation of this booking service where they are broken. (One failure may
lead to another.)

How would you change the service to ensure your example problem does not occur?

5. Violating ACID properties brings bad luck to the travel agency of the
previous question, and during a dark but very educative period their service
actually demonstrates every type of failure (listed on the lecture slides and
book chapter 8.1).

For each failure type, give a concrete example of how the customer might see the
failure within the travel agency scenario.