next up previous contents
Next: Events and messages Up: Utility classes Previous: Membership

   
ViewId

Virtual synchrony [Bir96] guarantees that all non-faulty members of a group will receive the same sequence of views: if a member P receives V1, V2 and V3, then all members of that group will also receive V1, V2 and V3, in that order (unless they are removed from the group). Also, all members will receive the same set of messages between views4.2.

ViewIds (JavaGroups.JavaStack.ViewId) are used to differentiate between views, they are attached to messages generated by the GMS layer and removed by the corresponding GMS layer at the receiver's side. A ViewId contains a logical timestamp (Lamport time) and its creator (Address). These 2 fields are represented in the View class (cf. 3.1.5) as fields creator and id.

The main occurrence of ViewIds is in the GMS layer, where they are used to enforce virtual synchrony properties, e.g. every message has to be delivered in the view in which it was sent (otherwise the message is discarded), views must be received in increasing order of their logical timestamp (views with timestamps smaller than the local view are discarded) etc.


next up previous contents
Next: Events and messages Up: Utility classes Previous: Membership

1999-12-13