Implementing recoverable requests using queues
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Principles of transaction processing: for the systems professional
Principles of transaction processing: for the systems professional
Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery
Phoenix project: fault-tolerant applications
ACM SIGMOD Record
A survey of rollback-recovery protocols in message-passing systems
ACM Computing Surveys (CSUR)
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Lessons Learned in Building a Fault-Tolerant CORBA System
DSN '02 Proceedings of the 2002 International Conference on Dependable Systems and Networks
A message system supporting fault tolerance
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
A Pragmatic Implementation of e-Transactions
SRDS '00 Proceedings of the 19th IEEE Symposium on Reliable Distributed Systems
Recovery Guarantees for General Multi-Tier Applications
ICDE '02 Proceedings of the 18th International Conference on Data Engineering
Improving Logging and Recovery Performance in Phoenix/App
ICDE '04 Proceedings of the 20th International Conference on Data Engineering
Recovery guarantees for Internet applications
ACM Transactions on Internet Technology (TOIT)
Persistent Middle Tier Components Without Logging
IDEAS '05 Proceedings of the 9th International Database Engineering & Application Symposium
Formal Verification of Web Service Interaction Contracts
SCC '08 Proceedings of the 2008 IEEE International Conference on Services Computing - Volume 2
Robust web services via interaction contracts
TES'04 Proceedings of the 5th international conference on Technologies for E-Services
A latency and fault-tolerance optimizer for online parallel query plans
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Hi-index | 0.00 |
In this paper, we look at what is required to produce programs that are dependable. Dependability requires more than just high availability. Rather, a program needs to be "right" as well, solving the problem for which it was designed. This requires a program development infrastructure that can, by means of appropriate abstractions, permit the programmer to focus on his problem, and not be distracted by "systems issues" that arise when high availability is required. We discuss the attributes of good abstractions. We then illustrate this in the programming of dependable systems. Our "abstraction" is a transparently persistent stateful programming model for use in the web enterprise setting where exactly-once execution is required. Work on this abstraction is reviewed. The new technical meat of the paper is in (1) describing how to reduce the performance cost of using the abstraction; (2) extending the flexibility of using this abstraction; (3) and showing how to exploit it to achieve dependability.