There is a need to design distributed systems that are not rigid in their choice of algorithms and that are responsive to faults/failures and performance degradation. To meet this challenge, we formalize and experiment with design principles that allow the implementation of an adaptable distributed system. The strategies for dynamic reconfiguration of the subsystems and determining their impact are being studied via experiments on a prototype system called RAID under development at Purdue University. RAID provides system level support for transaction management in a reliable manner. Other transaction based systems are TABS [SBD*85], ARGUS [LS83], and System R* [LHM*84].The key contribution of RAID is the system level support provided for building transaction based applications. RAID provides support for atomic objects and atomic commitment across a set of sites. It also includes concurrency control mechanisms based on time-stamps that provide a variety of choices of methods spanning from two-phase locking to optimistic methods utilizing the semantics of transactions and the objects accessed by them. In addition RAID has site failure and network partition control algorithms integrated with the rest of concurrent transaction processing and a replicated copy control subsystem.
[1]
Michael Stonebraker,et al.
Operating system support for database management
,
1981,
CACM.
[2]
Bharat K. Bhargava,et al.
Site Recovery in Replicated Distributed Database Systems
,
1986,
ICDCS.
[3]
Barbara Liskov,et al.
Guardians and Actions: Linguistic Support for Robust, Distributed Programs
,
1983,
TOPL.
[4]
John Riedl,et al.
The Design of an Adaptable Distributed System
,
1986
.
[5]
Alfred Z. Spector,et al.
Support for Distributed Transactions in the TABS Prototype
,
1985,
IEEE Transactions on Software Engineering.
[6]
Laura M. Haas,et al.
Computation and communication in R*: a distributed database manager
,
1984,
TOCS.
[7]
John Riedl,et al.
A Model for Adaptable Concurrency Control
,
1987
.