graham@kelpie.ncl.ac.uk (Graham D Parrington) (01/29/88)
Arjuna is an object-based fault-tolerant distributed programming system which is being designed and implemented in the language C++ on a set of UNIX workstations connected by Ethernet. Arjuna employs atomic actions (transactions) for structuring programs. Programs operate on objects which are instances of abstract data types. In Arjuna, objects are long-lived entities (persistent) and are the main repositories for holding system state. By ensuring that objects are only manipulated within atomic actions, it can be guaranteed that the integrity of the objects (and hence the integrity of the system) is maintained in the presence of failures such as node crashes and the loss of network messages. There are several aspects of Arjuna that are novel. These include (i) use of multicast remote procedure calls for managing a variety of activities of process groups, such as commit processing; (ii) use of type-inheritance for specifying and implementing recovery and concurrency control strategies; and (iii) use of nested, concurrent actions for program structuring. Arjuna objects are normally resident in local object stores in a passive mode; an object invocation activates the stored object. When an object commits (terminates), active objects are put back on the respective object stores (passivated). Major parts have been implemented, currently we are integrating these parts to form a complete system. Graham Parrington Computing Laboratory University of Newcastle upon Tyne Claremont Tower Claremont Road Newcastle upon Tyne NE1 7RU ENGLAND Tel: +44 91-232-9233 Email: graham%cheviot.newcastle.ac.uk@nss.cs.ucl.ac.uk Publications: %A G.N. Dixon %A S.K. Shrivastava %T Exploiting Type-Inheritance Facilities to Implement Recoverability in Object-Based Systems %J Proceedings of the Sixth Symposium on Distributed Software and Database Systems %I IEEE %D March 1987 %P 17-19 %A G.N. Dixon %A S.K. Shrivastava %A G.D. Parrington %T Managing Persistent Objects in Arjuna: A System for Reliable Distributed Computing %J Proceedings of the Workshop on Persistent Object Systems: their Design, Implementation and Use %C Appin, Scotland %D August 1987 %A G.N. Dixon %T Object and Action Management in a Reliable Distributed Programming System %R Ph.D Thesis %I University of Newcastle upon Tyne %D In Preparation. %A G.D. Parrington %A S.K. Shrivastava %T Implementing Concurrency Control in Reliable Distributed Object-Based Systems %R Technical Report %I University of Newcastle upon Tyne %D In Preparation %A G.D. Parrington %T Concurrency Control and Atomicity in a Reliable Distributed Computing System %R Ph.D Thesis %I University of Newcastle upon Tyne %D In Preparation. %A S.K. Shrivastava %A G.N. Dixon %A G.D. Parrington %T Objects and Actions in Reliable Distributed Systems %J Software Engineering Journal %I IEE %V 2 %N 5 %D September 1987 %P 160-168
graham@kelpie.ncl.ac.uk (Graham D Parrington) (01/29/88)
Arjuna is an object-based fault-tolerant distributed programming system which is being designed and implemented in the language C++ on a set of UNIX workstations connected by Ethernet. Arjuna employs atomic actions (transactions) for structuring programs. Programs operate on objects which are instances of abstract data types. In Arjuna, objects are long-lived entities (persistent) and are the main repositories for holding system state. By ensuring that objects are only manipulated within atomic actions, it can be guaranteed that the integrity of the objects (and hence the integrity of the system) is maintained in the presence of failures such as node crashes and the loss of network messages. There are several aspects of Arjuna that are novel. These include (i) use of multicast remote procedure calls for managing a variety of activities of process groups, such as commit processing; (ii) use of type-inheritance for specifying and implementing recovery and concurrency control strategies; and (iii) use of nested, concurrent actions for program structuring. Arjuna objects are normally resident in local object stores in a passive mode; an object invocation activates the stored object. When an object commits (terminates), active objects are put back on the respective object stores (passivated). Major parts have been implemented, currently we are integrating these parts to form a complete system. Graham Parrington Computing Laboratory University of Newcastle upon Tyne Claremont Tower Claremont Road Newcastle upon Tyne NE1 7RU ENGLAND Tel: +44 91-232-9233 Email: graham%cheviot.newcastle.ac.uk@nss.cs.ucl.ac.uk Publications: %A G.N. Dixon %A S.K. Shrivastava %T Exploiting Type-Inheritance Facilities to Implement Recoverability in Object-Based Systems %J Proceedings of the Sixth Symposium on Distributed Software and Database Systems %I IEEE %D March 1987 %P 17-19 %A G.N. Dixon %A S.K. Shrivastava %A G.D. Parrington %T Managing Persistent Objects in Arjuna: A System for Reliable Distributed Computing %J Proceedings of the Workshop on Persistent Object Systems: their Design, Implementation and Use %C Appin, Scotland %D August 1987 %A G.N. Dixon %T Object and Action Management in a Reliable Distributed Programming System %R Ph.D Thesis %I University of Newcastle upon Tyne %D In Preparation. %A G.D. Parrington %A S.K. Shrivastava %T Implementing Concurrency Control in Reliable Distributed Object-Based Systems %R Technical Report %I University of Newcastle upon Tyne %D In Preparation %A G.D. Parrington %T Concurrency Control and Atomicity in a Reliable Distributed Computing System %R Ph.D Thesis %I University of Newcastle upon Tyne %D In Preparation. %A S.K. Shrivastava %A G.N. Dixon %A G.D. Parrington %T Objects and Actions in Reliable Distributed Systems %J Software Engineering Journal %I IEE %V 2 %N 5 %D September 1987 %P 160-168