Check out the new USENIX Web site. next up previous
Next: Strategy Pattern in BAST Up: Protocol Objects Previous: Protocol Objects

Dealing with Failures.

Because failures are part of the real world, there is the need for reliable distributed protocols, e.g., consensus, atomic commitment, total order multicast. Reliable distributed protocols are challenging to implement because they imply complex relationships with other underlying protocols. For example, both the atomic commitment and the total order multicast rely on consensus, while the latter is itself based on failure detections, on reliable point-to-point communications, and on reliable multicasts. In turn, reliable multicasts can be built on top of reliable point-to-point communications. Figure 1 (a) presents an overview of some distributed protocol dependencies.

Figure 1: Protocols and protocol classes in BAST

In BAST, protocol classes are organized into a single inheritance hierarchy which follows protocol dependencies, as pictured in Figure 1 (b). Each protocol class implements only one protocol, but instances of some tex2html_wrap_inline777 Object class can execute any protocol inherited from tex2html_wrap_inline777 Object's superclasses. Protocol objects are able to run several executions of identical and/or distinct protocols concurrently.

Wed May 14 17:28:46 MET DST 1997