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?
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?