JavaScript is disabled for your browser. Some features of this site may not work without it.
Programming Live Distributed Objects with Distributed Data Flows

Author
Ostrowski, Krzysztof; Birman, Ken; Dolev, Danny
Abstract
This paper presents a new object-oriented approach to modeling the semantics of distributed multi-party protocols such as leader election, distributed locking, or reliable multicast, and a programming language that supports it. The approach builds on and extends our live distributed objects model by introducing a new concept of a distributed flow, a stream of messages flowing concurrently at multiple locations. Our flows correspond to variables, private fields, and method parameters in Java-like languages; they are the means by which we store and communicate state. Active protocol instances, which correspond to Java objects, consume and output flows; their internal states are encapsulated as internal flows, and all of their internal logic is represented as operations on flows.
Our language supports a new type of concern separation: the semantic structure of protocols is decoupled from implementation details such as the construction and maintenance of overlays, trees, or other hierarchical structures needed for scalability. The latter can be addressed by the compiler or at the deployment time; it can be done differently in different parts of the network, to match local network characteristics.
The paper introduces the basic language concepts, syntax, and semantics, illustrating formal definitions with a discussion of example protocols such as leader election, distributed locking, agreement, and loss recovery. It shows examples of rules for a formal reasoning about programs in our language.
While full implementation details of the supporting compiler and runtime are beyond the scope of this paper, we do briefly describe how our new language primitives can be implemented. Our approach is practical: the core language constructs, including hierarchical monotonic aggregations, have been implemented and evaluated in a simulator. The full compiler framework is in preparation and will be publicly released as a part of our live distributed objects platform.
Date Issued
2009-05-20Subject
distributed data flow; distributed multi-party protocol; live distributed object; monotonic aggregation
Type
Article
Related items
Showing items related by title, author, creator and subject.
-
Ensuring Consistency in a Distributed Database System by Use of Distributed Semaphores
Schneider, Fred B. (Cornell University, 1979-09)Solutions to the database consistency problem in distributed databases are developed. It is shown how any solution to the consistency problem for a centralized database system that involves locking can be adapted for use ... -
Mixtures of Exponential Distributions to Describe the Distribution of Poisson Means in Estimating the Number of Unobserved Classes
Barger, Kathryn Jo-Anne (2006-05-04)In many fields of study scientists are interested in estimating the number of unobserved classes. A biologist may want to find the number of rare species of an animal population in order to conserve, manage, and monitor ... -
Distributed Vector Gaussian Source-Coding And Distributed Hypothesis Testing
Rahman, Md Saifur (2012-01-31)Distributed compression is desired in applications in which data is collected in a distributed manner by several sensors and information about the data is sent to a processing center, which uses these information to meet ...



