SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
ACTA: a framework for specifying and reasoning about transaction structure and behavior
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Experience with transactions in QuickSilver
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
CACL: efficient fine-grained protection for objects
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
ASSET: a system for supporting extended transactions
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Dealing with disaster: surviving misbehaved kernel extensions
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Inside Java 2 platform security architecture, API design, and implementation
Inside Java 2 platform security architecture, API design, and implementation
An approach to safe object sharing
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Multitasking without comprimise: a virtual machine evolution
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Concurrency control issues in nested transactions
The VLDB Journal — The International Journal on Very Large Data Bases
High-Performance, Space-Efficient, Automated Object Locking
Proceedings of the 17th International Conference on Data Engineering
Locking and Latching in a Memory-Resident Database System
VLDB '92 Proceedings of the 18th International Conference on Very Large Data Bases
Update Logging for Persistent Programming Languages: A Comparative Performance Evaluation
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
A Practical and Modular Implementation of Extended Transaction Models
VLDB '95 Proceedings of the 21th International Conference on Very Large Data Bases
A nested transaction mechanism for LOCUS
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Protection is a software issue
HOTOS '95 Proceedings of the Fifth Workshop on Hot Topics in Operating Systems (HotOS-V)
Processes in KaffeOS: isolation, resource management, and sharing in java
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Implementing multiple protection domains in java
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
A transactional object calculus
Science of Computer Programming
Log-based middleware server recovery with transaction support
The VLDB Journal — The International Journal on Very Large Data Bases
Hi-index | 0.00 |
Safe programming languages encourage the development of dynamically extensible systems, such as extensible Web servers and mobile agent platforms. Although protection is of utmost importance in these settings, current solutions do not adequately address fault containment. This paper advocates an approach to protection where transactions act as protection domains. This enables direct sharing of objects while protecting against unauthorized accesses and failures of authorized components. The main questions about this approach are what transaction models translate best into protection mechanisms suited for extensible language-based systems and what is the impact of transaction-based protection on performance. A programmable isolation engine has been integrated with the runtime of a safe programming language in order to allow quick experimentation with a variety of isolation models and to answer both questions. This paper reports on the techniques for flexible fine-grained locking and undo devised to meet the functional and performance requirements of transaction-based protection. Performance analysis of a prototype implementation shows that (i) sophisticated concurrency controls do not translate into higher overheads, and (ii) the ability to memoize locking operations is crucial to performance.