diff options
Diffstat (limited to 'ace/TMCast/README')
-rw-r--r-- | ace/TMCast/README | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/ace/TMCast/README b/ace/TMCast/README deleted file mode 100644 index d061c7b2cba..00000000000 --- a/ace/TMCast/README +++ /dev/null @@ -1,58 +0,0 @@ - - -Architecture - -TMCast (stands for Transaction MultiCast) is an implementation of a -transactional multicast protocol. In essence, the idea is to represent -message delivery to members of a multicast group as a transaction - -atomic, consistent and isolated action. Multicast transaction can -be viewed as an atomic transition of group members to a new state. -If we define Mo as a set of operational (non-faulty) members of the -group, Mf as a set of faulty members of the group, Ma as a set of -members that view transition Tn as aborted and Mc as a set of members -that view transition Tn as committed, then this atomic transition Tn -can be described as one of the following: - -Mo(Tn-1) = Ma(T) U Mf(T) -Mo(Tn-1) = Mc(T) U Mf(T) - -Or, in other words, after transaction T has been committed (aborted), -all operational (before transaction T) members are either in -committed (aborted) or failed state. - -Thus, for each member of the group, outcome of the transaction can -be commit, abort or member failure. It is important for a member -to exhibit a failfast (error latency is less than transaction cycle) -behavior. Or, in other words, if the member transitioned into a wrong -state, it is guaranteed to fail instead of delivering wrong result. - -In order to achieve such error detection in decentralized environment, -certain limitations should be imposed. One of the most user-visible -limitation is the fact that the lifetime of the group with only -one member is very short. This is because there is not way for a -member to distinguish "no members yet" case from "my link to the -group is down". In such situation, the member assumes the latter case. -There is also a military saying that puts it quite nicely: two is one, -one is nothing. - - -State of Implementation - -Current implementation is in prototypical stage. The following parts -are not implemented or still under development: - -* Handling of network partitioning (TODO) - -* Redundant network support (TODO) - -* Member failure detection (partial implementation) - - -Examples - -There is a simple example available in examples/TMCast/Member with -corresponding README. - - --- -Boris Kolpackov <boris@dre.vanderbilt.edu>
\ No newline at end of file |