Results 1 - 10
of
27
Preserving and Using Context Information in Interprocess Communication
- ACM Transactions on Computer Systems
, 1989
"... ion Psync is based on a conversation abstraction that provides a shared message space through which a collection of processes exchange messages. The general form of this message space is defined by a directed acyclic graph that preserves the partial order of the exchanged messages. For the purpose ..."
Abstract
-
Cited by 210 (24 self)
- Add to MetaCart
ion Psync is based on a conversation abstraction that provides a shared message space through which a collection of processes exchange messages. The general form of this message space is defined by a directed acyclic graph that preserves the partial order of the exchanged messages. For the purpose of this section, we view a conversation as an abstract data type that is implemented in shared memory; Section 3 gives an algorithm for implementing a conversation in an unreliable network. A conversation behaves much like any connection-oriented IPC abstraction: A well-defined set of processes---called participants---explicitly open a conversation, exchange messages through it, and close the conversation. Only processes that have been identified as participants may exchange message through the conversation, and this set is fixed for the duration of the conversation. Processes begin a conversation with the operations: conv = active open(participant set) conv = passive open(pid) The first...
A dynamic network architecture
- ACM Transactions on Computer Systems
, 1992
"... Network software is a critical component of any distributed system. Because of its complexity, network software is commonly layered into a hierarchy of protocols, or more generally, into a protocol graph Typical protocol graphs-including those standardized in the IS0 and TCP/IP network architectures ..."
Abstract
-
Cited by 153 (10 self)
- Add to MetaCart
Network software is a critical component of any distributed system. Because of its complexity, network software is commonly layered into a hierarchy of protocols, or more generally, into a protocol graph Typical protocol graphs-including those standardized in the IS0 and TCP/IP network architectures-share three important properties: the protocol graph is simple, the nodes of the graph (protocols) encapsulate complex functionality, and the topology of the graph is relatively static. This paper describes a new way to organize network software that differs from conventional architectures in all three of these properties In our approach, the protocol graph is complex, individual protocols encapsulate a single function. and the topology of the graph is dynamic. The main contribution of this paper is to describe the ideas behind our new architec-ture, illustrate the advantages of using the architecture, and demonstrate that the architecture results in efficient network software.
Understanding the Limitations of Causally and Totally Ordered Communication
- In Proceedings of the 14th ACM Symposium on Operating Systems Principles
, 1993
"... Causally and totally ordered communication support (CATOCS) has been proposed as important to provide as part of the basic building blocks for constructing reliable distributed systems. In this paper, we identify four major limitations to CATOCS, investigate the applicability of CATOCS to several cl ..."
Abstract
-
Cited by 139 (1 self)
- Add to MetaCart
Causally and totally ordered communication support (CATOCS) has been proposed as important to provide as part of the basic building blocks for constructing reliable distributed systems. In this paper, we identify four major limitations to CATOCS, investigate the applicability of CATOCS to several classes of distributed applications in light of these limitations, and the potential impact of these facilities on communication scalability and robustness. From this investigation, we find limited merit and several potential problems in using CATOCS. The fundamental difficulty with the CATOCS is that it attempts to solve state problems at the communication level in violation of the
Providing High Availability Using Lazy Replication
, 1992
"... To provide high availability for services such as mail or bulletin boards, data must be replicated. One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive. For some applications a weaker causal operat ..."
Abstract
-
Cited by 124 (3 self)
- Add to MetaCart
To provide high availability for services such as mail or bulletin boards, data must be replicated. One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive. For some applications a weaker causal operation order can preserve consistency while providing better performance. This paper describes a new way of implementing causal operations. Our technique also supports two other kinds of operations: operations that are totally ordered with respect to one another, and operations that are totally ordered with respect to all other operations. The method performs well in terms of response time, operation processing capacity, amount of stored state, and number and size of messages; it does better than replication methods based on reliable multicast techniques. This research was supported in part by the National Science Foundation under Grant CCR-8822158 and in part by the Advanced Research Projects ...
Weak-Consistency Group Communication and Membership
, 1992
"... Many distributed systems for widearea networks can be built conveniently, and operate efficiently and correctly, using a weak consistency group communication mechanism. This mechanism organizes a set of principals into a single logical entity, and provides methods to multicast messages to the membe ..."
Abstract
-
Cited by 92 (7 self)
- Add to MetaCart
Many distributed systems for widearea networks can be built conveniently, and operate efficiently and correctly, using a weak consistency group communication mechanism. This mechanism organizes a set of principals into a single logical entity, and provides methods to multicast messages to the members. A weak consistency distributed system allows the principals in the group to differ on the value of shared state at any given instant, as long as they will eventually converge to a single, consistent value. A group containing many principals and using weak consistency can provide the reliability, performance, and scalability necessary for widearea systems. I have developed a framework for constructing group communication systems, for classifying existing distributed system tools, and for constructing and reasoning about a particular group communication model. It has four components: message delivery, message ordering, group membership, and the application. Each component may have a different implementation, so that the group mechanism can be tailored to application requirements. The framework supports a new message delivery protocol, called timestamped antientropy, which provides reliable, eventual message delivery; is efficient; and tolerates most transient processor and network failures. It can be combined with message ordering implementations that provide ordering guarantees ranging from unordered to total, causal delivery. A new group membership protocol completes the set, providing temporarily inconsistent membership views resilient to up to k simultaneous principal failures. The Refdbms distributed bibliographic database system, which has been constructed using this framework, is used as an example. Refdbms databases can be replicated on many different sites, using the group communication system described here.
Lazy Replication: Exploiting the Semantics of Distributed Services
- IN IEEE COMPUTER SOCIETY TECHNICAL COMMITTEE ON OPERATING SYSTEMS AND APPLICATION ENVIRONMENTS
, 1990
"... To provide high availability for services such as mail or bulletin boards, data must be replicated. One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive. In this paper, we propose lazy replication a ..."
Abstract
-
Cited by 86 (2 self)
- Add to MetaCart
To provide high availability for services such as mail or bulletin boards, data must be replicated. One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive. In this paper, we propose lazy replication as a way to preserve consistency by exploiting the semantics of the service's operations to relax the constraints on ordering. Three kinds of operations are supported: operations for which the clients define the required order dynamically during the execution, operations for which the service defines the order, and operations that must be globally ordered with respect to both client ordered and service ordered operations. The method performs well in terms of response time, amount of stored state, number of messages, and availability. It is especially well suited to applications in which most operations require only the client-defined order.
System Support for Object Groups
- In ACM Conference on Object-Oriented Programming Systems, Languages and Applications
, 1998
"... This paper draws several observations from our experiences in building support for object groups. These observations actually go beyond our experiences and may apply to many other developments of object based distributed systems. Our first experience aimed at building support for Smalltalk object re ..."
Abstract
-
Cited by 23 (5 self)
- Add to MetaCart
This paper draws several observations from our experiences in building support for object groups. These observations actually go beyond our experiences and may apply to many other developments of object based distributed systems. Our first experience aimed at building support for Smalltalk object replication using the Isis process group toolkit. It was quite easy to achieve group transparency but we were confronted with a strong mismatch between the rigidity of the process group model and the flexible nature of object interactions. Consequently, we decided to build our own object oriented protocol framework, specifically dedicated to support object groups (instead of using a process group toolkit). We built our framework in such a way that basic distributed protocols, such as failure detection and multicasts, are considered as first class entities, directly accessible to the programmers. To achieve flexible and dynamic protocol composition, we had to go beyond inheritance and objectify...
Lessons from Designing and Implementing GARF
- In Proceedings Objects Oriented Parallel and Distributed Computatio, volume LNCS 791
, 1995
"... . GARF is an object oriented system aimed to support the design and the programming of reliable distributed applications on top of a network of workstations. The specificity of GARF resides in its incremental programming model, and its extensible library of generic components. In this paper, we firs ..."
Abstract
-
Cited by 21 (0 self)
- Add to MetaCart
. GARF is an object oriented system aimed to support the design and the programming of reliable distributed applications on top of a network of workstations. The specificity of GARF resides in its incremental programming model, and its extensible library of generic components. In this paper, we first give an overview of GARF. Then we assess its features with respect to its programming model, its abstraction library, and the implementation of its prototype. We finally present the perspectives of future design and implementation. 1 Introduction 1.1 Distribution and reliability Programming distributed reliable applications is a hard task. The complexity of such applications is due to their behavioral features, i.e. concurrency expression and concurrency control, distribution and replication. Several reliable distributed toolkits provide primitives that deal with such behavioral features. Isis [2], Psync [19], Transis [1] and Phoenix [16] are examples of such toolkits. Although powerful,...
Configurable Highly Available Distributed Services
- In Proceedings of the 14th IEEE Symposium on Reliable Distributed Systems
, 1995
"... The paper addresses the problem of providing highly available services in distributed systems. In particular, we examine the situation where a service may be used by a large continuously changing set of clients. The requirements for providing services in this environment are analysed and an architec ..."
Abstract
-
Cited by 14 (3 self)
- Add to MetaCart
The paper addresses the problem of providing highly available services in distributed systems. In particular, we examine the situation where a service may be used by a large continuously changing set of clients. The requirements for providing services in this environment are analysed and an architecture and partial implementation for a replicated server group meeting a range of client requirements is presented. The architecture facilitates the dynamic configuration management of the replicated server group, while maintaining the service. Dynamic configuration management is required in order to replace failed replicas, upgrade the server implementation, or change the availability characteristics of the service. The paper reports on initial implementation results. 1 Introduction A service provided by a computing system is characterised as fault-tolerant [5] when it continues to be provided according to its specifications despite failures of system components (software or hardware) that ...

