CMPSCI 677 (Spring 2008): Homework 4

Due: In-Class, May 6 2008

Web posted: April 29, 2008

  1. Suppose that two processes detect the demise of the coordinator simultaneously and both decide to hold an election using the bully algorithm. What happens?

  2. What is the key difference between data centric and client centric consistency models? Is it possible to have write-write conflicts in client-centric consistency models?

  3. Does writes-follows-reads client-centric consistency model preserves causal relations in the case of a network news service?

  4. We have stated that totally ordered multicasting using Lamport's logical clocks does not scale. Explain why.

  5. What makes the fail-stop model in the case of crash failures so difficult to implement?

  6. In the two-phase commit protocol, why can blocking never be completely eliminated, even when the participants elect a new coordinator?

  7. What is wrong in implementing a nonce as a timestamp?

  8. Devise a simple authentication protocol using signatures in a public-key cryptosystem.

  9. Does the Akamai CDN follow a pull-based or push-based distribution protocol?

  10. Would it make sense to associate a replication strategy with each Web document separately, as opposed to using one or only a few global strategies?

  11. NFS does not provide a global, shared name space. Is there a way to mimic such a name space?

  12. In Coda, a client is allowed to continue reading from a file despite that the server knows an update has taken place. Argue why this does not violate consistency.