42 research outputs found

    Lessons Learned from Building and Using the Arjuna Distributed Programming System

    No full text
    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

    Newcastle upon Tyne, NE1 7RU, UK. A Family of Trusted Third Party based Fair-Exchange Protocols Abstract:

    No full text
    Fair exchange protocols play an important role in application areas such as e-commerce where protocol participants require mutual guarantees that a transaction involving exchange of items has taken place in a specific manner. A protocol is fair if no protocol participant can gain any advantage over an honest participant by misbehaving. In addition, such a protocol is fault tolerant if the protocol can ensure that an honest participant does not suffer any loss of fairness despite any failures of the participant’s node. This report presents a family of fair exchange protocols for two participants which make use of the presence of a trusted third party, under a variety of assumptions concerning participant misbehaviour, message delays and node reliability. The development is systematic, beginning with the strongest set of the assumptions and gradually weakening the assumptions to the weakest set. The resulting protocol family exposes the impact of a given set of assumptions on solving the problem of fair exchange. Specifically, it highlights the relationships that exist between fairness and assumptions on the nature of participant misbehaviour, communication delays and node crashes. The report also shows that the restrictions assumed on a dishonest participant’s misbehaviour can be realized through the use of smartcards and smartcard-based protocols

    Systematic Development of a Family of Fair Exchange Protocols

    Get PDF
    Fair exchange protocols play an important role in application areas such as e-commerce where protocol participants require mutual guarantees that a transaction involving exchange of items has taken place in a specific manner. A protocol is fair if no protocol participant can gain any useful advantage over honest participants by misbehaving. In addition, such a protocol is fault tolerant if the protocol can ensure no loss of fairness to an honest participant despite the occurrence of failures of the assumed type. Fault tolerant fair exchange protocols have not been studied adequately. This paper remedies the situation by systematically developing a family of fair exchange protocols for two participants under a variety of assumptions concerning participant misbehaviour, message delays and node failures. The treatment presented not only shows how a non-fault tolerant version of a protocol can be made fault tolerant, but also highlights the subtle relationships that exist between fairness and fault tolerance

    Using Application Specific Knowledge for Configuring Object Replicas

    No full text
    In distributed systems, object replication is used to improve the availability and performance of applications in the presence of failures. When determining the configuration of a replicated object (i.e., number and location of replicas), a number of often conflicting factors need to be considered, e.g., the availability and performance requirements of the object. However, application specific knowledge about the objects, such as any inter-dependencies, is typically not accounted for. In many applications this information can affect an object's availability. Distributed systems which support replication typically give users only basic control over the configuration of a replicated object, such as the number or location of individual replicas. Expressing application specific knowledge is not possible. We have designed and implemented a replication sub-system allowing applications to control these aspects of replication. This system allows the efficient replication of an arbitrary number..

    Integrating the Object Transaction Service with the Web

    Get PDF
    ... 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 consistency in the presence of failures. However, their use within Web applications is currently limited to Web servers: browsers are not included, despite their role becoming more significant in electronic commerce applications. With the advent of Java it is possible to empower browsers so that they can fully participate within transactional applications. However, requiring a browser to incorporate a full transaction processing system for all applications would impose an overhead on all users. Therefore, in this paper we shall show how the interfaces defined by the OMG's Object Transaction System can be used to provide a lightweight solution to obtaining end-to-end transactional requirements. We shall illustrate this technique with a worked example

    A family of trusted third party based fair-exchange protocols

    Get PDF
    Abstract—Fair exchange protocols play an important role in application areas such as e-commerce where protocol participants require mutual guarantees that a transaction involving exchange of items has taken place in a specific manner. A protocol is fair if no protocol participant can gain any advantage over an honest participant by misbehaving. In addition, such a protocol is fault-tolerant if the protocol can ensure that an honest participant does not suffer any loss of fairness despite any failures of the participant’s node. This paper presents a family of fair exchange protocols for two participants which make use of the presence of a trusted third party, under a variety of assumptions concerning participant misbehavior, message delays, and node reliability. The development is systematic, beginning with the strongest set of the assumptions and gradually weakening the assumptions to the weakest set. The resulting protocol family exposes the impact of a given set of assumptions on solving the problem of fair exchange. Specifically, it highlights the relationships that exist between fairness and assumptions on the nature of participant misbehavior, communication delays, and node crashes. The paper also shows that the restrictions assumed on a dishonest participant’s misbehavior can be realized through the use of smartcards and smartcard-based protocols. Index Terms—Fair exchange, security, Trusted Third Party (TTP), smartcards, crash tolerance, distributed systems.

    Implementing Fault-Tolerant Distributed Applications Using Objects and Multi-Coloured Actions

    Get PDF
    This paper develops some control structures suitable for composing fault-tolerant distributed applications using atomic actions (atomic transactions) as building blocks, and then goes on to describe how such structures may be implemented using the concept of multicoloured actions. We first identify the reasons why other control structures in addition to - by now well known - nested and concurrent atomic actions are desirable and then propose three new structures: serializing actions, glued actions and top-level independent actions. A number of examples are used to illustrate their usefulness. A novel technique, based on the concept of multi- coloured actions, is then presented as a uniform basis for implementing all of the three action structures presented here

    Structuring Fault-Tolerant Object Systems for Modularity in a Distributed Environment

    Get PDF
    The object-oriented approach to system structuring has found widespread acceptance among designers and developers of robust computing systems. In this paper we propose a system structure for distributed programming systems that support persistent objects and describe how such properties as persistence, recoverability etc. can be implemented. The proposed structure is modular, permitting easy exploitation of any distributed computing facilities provided by the underlying system. An existing system constructed according to the principles espoused here is examined to illustrate the practical utility of the proposed approach to system structuring
    corecore