Max. Marks: 100
Q1. Design a central site termination protocol. This requires that the
operational sites agree on a
coordinator. Suggest a mechanism
that only one coordinator is elected. (Hint: Rank the sites and
elect the site with the highest
ranking as the coordinator) (10)
Q2. Give two examples of the application of commit and termination protocols
in a distributed system.
(Hint: Mail facility is one such
example. If you use this example, explain how would you make
changes in the current mail facility
that exists on our system across PUCC and CS machines.) (10)
Q3. The Read-one write-all-available protocol for site failure/recovery
requires aborting of the
transactions who find differing
session numbers of other sites. (15)
a) How could you modify the protocol to avoid aborts?
(It may not be easy). (2)
b) What other ideas do you have, to recover the
database on the recovering sites that are different
than fail-locks? (2)
c) What are the windows of vulnerability during which
which if some other failure occurs, the
recovery may not be complete
in your protocol? (2)
d) How can the ideas from site failure protocol be
extended to the problem of network partitions.
Under what conditions, the
transaction processing can continue and how the database can be
recovered in all partitions.
(3)
e) What type of performance measures can you think
of for such protocols and how would you
measure them in a distributed
database system such as RAID? Give some implementation ideas
for continuing transactions
and recovering the database. (3)
f) Identify the problems when multiple sites may
fail or recover during a transaction's life time. A
clear statement will be needed.
Suggest a solution to one of them. (3)
Q4. What are session numbers and nominal session numbers? What role they play in recovery? (5)
Q5. What are control transactions? What is their role? (5)
Q6. What is meant by the notion of 'fail lock'? Explain the how transaction
processing takes place at
the operation sites and recovery
process at the failed site. (10)
Q7. Read the handout on distributed database systems that Prof. Bhargava
gave you earlier. Learn about
various distributed systems. (25)
a) Think about various themes on the basis of which
systems can be distinguished. Suggest
architectures and designs
that can be appropriate for various themes. Suggest hardware, OS
support examples,
language support features for building a system if you have $2, 000, 000
budget
and three years to do it.
(10)
b) Comment on the implementation issues of the design
principles such as adaptability, reliability,
communications, concurrency,
commitment, replication, etc., for an architecture that you have
selected. (You may choose
RAID, LOCUS, ARGUS, Camelot as the distributed system to discuss,
if you like, but you must
improve on its design, architecture etc. (10)
c) Comment on the performance of the designs of the
system that you would like to implement.
Where do you think, there
will be overheads and how can they be overcome with current
technology or any future
technology? (5)
Q8. 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? (20)