Replication 1. In a multi-user game, the players move figures around a common scene. The state of the game is replicated at the players' workstations and at a server, which contains services controlling the game overall, such as collision detection. Could a gossiping architecture be used for this game? Why or why not? What would be the advantage/disadvantage of using gossiping versus passive or active replication? Transactions 1. List all conflicting operations in the transactions described below. Transaction A: read(i), write(j, 20) Transaction B: read(i), write(i, 20), write(j, 50) 2. Give a serially equivalent interleaving of transactions A and B described in the second question. 3. Will your interleaving work if strict two-phase locking is enforced? 4. What happens if the coordinator of a distributed transaction receives 'yes' votes from all participants in phase 1 but fails before starting phase 2? Will the transaction commit or abort? P2P and DHTs 1. What is the relationship between P2P computing and distributed computing? 2. Give an example of a P2P application that is NOT a file sharing application. 3. Give 2 advantages of the BitTorrent model over the Napster model. 4. What is the impact of increasing the number of dimensions of a CAN? Dynamo 1. Discuss why Dynamo works better than a traditional relational database management system (RDBMS) for applications such as storing the shopping cart data for Amazon users. Taming the Torrent 1. Describe a scenario in which two BitTorrent peers have very similar ratio maps but are separated by many ISP hops. 2. The experiments described in the paper assume that only a fraction of the peers chosen by Ono are biased using the algorithm proposed in the paper. Suppose that all peers were chosen using the Ono algorithm. What would be the expected impact on the latency and loss rate between between peers. Justify your answer. Sensor Networks 1. In some sensor network applications sensors not only sense the environment, but can act upon it as well. For example, a set of sensors may detect the presence of an intruder and then spray a poison to invalidate the intruder. One dose of poison will stop the intruder, but two doses of poison will kill the intruder (which is not the desired outcome). This calls for a mutual exclusion algorithm that will select exactly 1 sensor to administer the poison. Discuss whether the mutual exclusion algorithms we have discussed would be appropriate for a sensor network. Recall that we discussed the following algorithms: client-server, ring-based, and multicast and logical clocks. For full credit, discuss the performance of all three in a sensor network.