The Recovery Manager of the System R Database Manager
ACM Computing Surveys (CSUR)
The notions of consistency and predicate locks in a database system
Communications of the ACM
Guardians and actions: linguistic support for robust, distributed programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Notes on Data Base Operating Systems
Operating Systems, An Advanced Course
LOCUS a network transparent, high reliability distributed system
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
The LOCUS distributed operating system
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
A principle for resilient sharing of distributed resources
ICSE '76 Proceedings of the 2nd international conference on Software engineering
NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEM
NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEM
NESTED TRANSACTIONS: AN APPROACH TO RELIABLE DISTRIBUTED COMPUTING
NESTED TRANSACTIONS: AN APPROACH TO RELIABLE DISTRIBUTED COMPUTING
File servers for network-based distributed systems
ACM Computing Surveys (CSUR)
The design and building of Enchère, a distributed electronic marketing system
Communications of the ACM
Recovery management in QuickSilver
ACM Transactions on Computer Systems (TOCS)
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Distributed programming in Argus
Communications of the ACM
Performance Considerations for an Operating System Transaction Manager
IEEE Transactions on Software Engineering
ARIES/NT: a recovery method based on write-ahead logging for nested transactions
VLDB '89 Proceedings of the 15th international conference on Very large data bases
Understanding transactions in the operating system context
ACM SIGOPS Operating Systems Review
Modeling distributed file systems
ACM SIGMETRICS Performance Evaluation Review
File placement and process assignment due to resource sharing in a distributed system
WSC '85 Proceedings of the 17th conference on Winter simulation
Hiding distribution in distributed systems
ICSE '91 Proceedings of the 13th international conference on Software engineering
Genesis: a distributed database operating system
SIGMOD '85 Proceedings of the 1985 ACM SIGMOD international conference on Management of data
Transactions and synchronization in a distributed operating system
Proceedings of the tenth ACM symposium on Operating systems principles
Pros and cons of operating system transactions for data base systems
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
Understanding transactions in the operating in the operating system context
EW 4 Proceedings of the 4th workshop on ACM SIGOPS European workshop
Concurrency control issues in nested transactions
The VLDB Journal — The International Journal on Very Large Data Bases
VLDB '84 Proceedings of the 10th International Conference on Very Large Data Bases
Performance Evaluation of an Operating System Transaction Manager
VLDB '87 Proceedings of the 13th International Conference on Very Large Data Bases
Transaction Support in Read Optimizied and Write Optimized File Systems
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Distributed file systems - a survey
ACM SIGOPS Operating Systems Review
Experiences in building and operating ePOST, a reliable peer-to-peer application
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Lightweight flexible isolation for language-based extensible systems
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
Hi-index | 0.03 |
Atomic transactions are useful in distributed systems as a means of providing reliable operation in the face of hardware failures. Nested transactions are a generalization of traditional transactions in which transactions may be composed of other transactions. The programmer may initiate several transactions from within a transaction, and serializability of the transactions is guaranteed even if they are executed concurrently. In addition, transactions invoked from within a given transaction fail independently of their invoking transaction and of one another, allowing use of alternate transactions to accomplish the desired task in the event that the original should fail. Thus nested transactions are the basis for a general-purpose reliable programming environment in which transactions are modules which may be composed freely. A working implementation of nested transactions has been produced for LOCUS, an integrated distributed operating system which provides a high degree of network transparency. Several aspects of our mechanism are novel. First, the mechanism allows a transaction to access objects directly without regard to the location of the object. Second, processes running on behalf of a single transaction may be located at many sites. Thus there is no need to invoke a new transaction to perform processing or access objects at a remote site. Third, unlike other environments, LOCUS allows replication of data objects at more than one site in the network, and this capability is incorporated into the transaction mechanism. If the copy of an object that is currently being accessed becomes unavailable, it is possible to continue work by using another one of the replicated copies. Finally, an efficient orphan removal algorithm is presented, and the problem of providing continued operation during network partitions is addressed in detail.