Xact-casts: Framework, protocols, and applications.
Paul Jensen, Nandit R. Soparkar · Deep Blue (University of Michigan) · 1999
Distributed applications are better enabled by middleware services that coordinate executions across several different sites in order to maintain certain constraints such as data consistency. Two techniques used for coordinating distributed executions are process group communications and database transactions. The two represent disparate points in a trade-off in terms of the degrees of consistency and performance. This dissertation applies techniques from database transactions theory to characterize and design process group multicast semantics. In this regard, a framework is developed for multicasts that assists in simplifying the design of applications for process groups with improved performance. The approach provides a method to reason about the correctness of multicast protocols with respect to the message delivery orderings that they generate, and this establishes the correctness of the associated application executions based on their data consistency requirements. Xact-casts provide a means to describe new multicast orderings, particularly those that incorporate a degree of application semantics to improve performance. The approach also provides a way to characterize the potential performance of protocols corresponding to particular orderings---based on techniques used in transaction systems. Xact-casts are shown to be complementary to other multicast techniques, and in some cases, the approach subsumes the alternatives. The Xact-cast approach is used to develop new, better-performing protocols that incorporate varying degrees of application semantics, and are instrumental in producing more liberal message orderings compared to traditional multicast techniques. It is argued that Xact-casts are conducive to scaling-up to large systems, and that the performance benefits continue to accrue even when certain aspects of fault-tolerance are incorporated into the protocols. A subset of these protocols have been implemented, and the performance advantages have been experimentally verified. In particular, it is demonstrated how our approach, which permits carefully managed liberal message orderings, produces significantly reduced message exchange latencies. Several sample distributed applications, such as groupware and workflows, are discussed, and it is shown how Xact-casts can be used together with their associated benefits.