1. For Snapshot protocol III discussed in class, prove that the protocol- (i) terminates, and (ii) produces a consistent snapshot. 2. Where all did you use the FIFO delivery assumption in 1? Comment on how you might relax the FIFO assumption and still obtain a consistent snapshot protocol. 3. Suppose you replaced Lamport clocks with another clock mu that simply showed you the number of microseconds elapsed since January 1, 1970 - gettimeofday() on linux/C returns something similar. Assume that (i) clocks at different nodes are not synchronized, (ii) no message transmission takes more than 1 nanosecond. (a) Explain why mu does not satisfy the clock condition. (b) Let min and max respectively denote the minimum and maximum message delivery times in the system. Let d denote the maximum separation between clocks at any two nodes. Do there exist values for min, max, and d such that mu always satisfies the clock condition? If yes, give an example and explain your answer. If no, explain why not.