CS542: Professor Bhargava
Homework 4
Due Date: April 26, 2016

Max. Marks: 70

Q1. a) How can the ideas of "degrees of commitment" be used in increasing the performance of
       transaction processing during network partitioning?(10)
       b) What is view-serializability and how it can be used in network partitioning?(10)
       c) How can checkpoints be used to maintain consistency and help in recovery after a failure?(10)

Q2. How would you change the design and algorithms for distributed database processing if there were
       multiple and frequent failures (like sites failing and recovering, network partitions, variable
       communication delays, large number of lost messages)?(10)

Q3. What are the types of attacks in internet and mobile communications? How transaction processing
       algorithms can be designed to deal with some of them?(10)

Q4. What is the latency in LAN, WAN and in communicating with Cloud Services? Try to measure it
       using echo service or find it from papers under communication networks in CS542 course page.(10)

Q5. How can you find at the time of merge if inconsistent updates have taken place while network
       was partitioned?(10)

Questions from HW3:
(30 points to HW3 score)

Q6. (a) What are session numbers and nominal session numbers? What role they play in recovery? (10)
       (b) What are control transactions? What is their role? (10)

Q7. Explain the various ideas of determining a 'unique majority partition' that can continue to process
       transactions during a network partition. Consider cases where multiple partitions and merging may
       take place. Suggest what useful processing can be done in minority partitions so that the merge
       process is quick and efficient. How can the size of the paritition be determined at the time of
       partition and how can we determine if the mutual consistency has been voilated at the time of
       merge? (10)