The goal of monitoring contractual Service Level Agreements (SLAs) is to measure the performance of a service, to evaluate whether its provider complies with the level of Quality of the Service (QoS) that the consumer expects. The aim of this paper is to bring to the system designer's attention the fundamental issues that monitoring of contractual SLAs… (More)
A general purpose group communication protocol suite called Newtop is described. It is assumed that processes can simultaneously belong to many groups, group size could be large, and processes could be communicating over the Internet. Asynchronous communication environment is therefore assumed where message transmission times cannot be accurately estimated,… (More)
Converting a conventional contract into an electronic equivalent that can be executed and enforced by computers is a challenging task. The difficulties are caused by the ambiguities that the original human-oriented text is likely to contain. The conversion process involves the conversion of the original text into mathematical notation. This paper discusses… (More)
SUMMARY An examination of the structure of fault-tolerant systems incorporating backward error recovery indicates a partitioning into two broad classes. Two canonical models, each representing a particular class of systems, have been constructed. The first model incorporates objects and actions as the entities for program construction whereas the second… (More)
* Arjuna is an object-oriented programming system implemented in C++ that provides a set of tools for the construction of fault-tolerant distributed applications. This paper reports on the experience gained by building and using the system. It then describes how in light of this experience, a new version of the system is being designed.
Arjuna is a fault tolerant distributed system supporting nested atomic actions (nested atomic transactions) that are used for controlling operations on objects (instances of C++ classes). Objects are long lived entities (persistent) and are the main repositories for holding system state; they are also the units of replication for increasing availability.… (More)
The Web frequently suffers from failures which can affect both the performance and consistency of applications running over it. For resources such as documents, failures may simply be annoying to users; for commercial services, they can result in loss of revenue and credibility. Atomic transactions are a well-known technique for guaranteeing application… (More)
Web services and service oriented architectures are becoming the de facto standard for Internet computing. A main problem faced by users of such services is how to ensure that the service code is trusted. While methods that guarantee trusted service code execution before starting a client-service transaction exist, there is no solution for extending this… (More)