Distributed Systems, Spring 2007 Home exercise 3 The essay should be returned by e-mail to Lea.Kutvonen@cs.helsinki.fi, mika.karlstedt@cs.helsinki.fi as an attached file (preferably in pdf format, with the name [last name].[format type]) at the latest on Thursday 22.2. at 23.59. 1. Coda checks the validity of file replicas using a version vector CVV, which contains the number of updates in the replicas. Let us assume that the replicas of the file F are stored on the servers A and B. The connection between these servers is often down, even for longer periods. The user has a portable workstation, and the AVSG for it is sometimes only the A server, sometimes only the B server. a) The workstation wants to upload the updated file F to the servers. Describe the updating of the CVV vectors in the case where both servers are available. b) Let us assume that in the server A the CVV of F is (3,2) and in the server B it is (2,4). How many updates of F have been made? How many of them are in both replicas? How many are only in A, how many only in B? c) Why is CVV=(2,3) not possible in A? If CVV=(3,2)in A, what are the possible values of CVV which can be found in B? How does the work- station know which of the replicas contains the most current data? How does the system update its replicas to contain only up-to-date data? d) Must the F replica in the workstation contain a CVV? e) What is the relationship between CVV and the timestamp used to implement causal ordering? Could CVV be used for that purpose?