images/camlgroups-logo.png

What is CamlGroups?

CamlGroups is a group communication library, implemented using Objective Caml. It offers convenient programming abstractions for the state machine replication. The state machine approach is a general method for implementing a fault-tolerant service by replicating it on independent machines and coordinating client interactions with the server replicas. The CamlGroups can tolerate up to ceil(n/2-1) machine crashes at a time, where n is the number of replicas.

The main programming abstractions of CamlGroups are:

For cooperation without centralized control and with the possibility of occasional process crashes, the CamlGroups uses the distributed consensus protocol, which is the main building block of the system architecture. The architecture follows the one developed in the Crystall project.

See a short demo movie explaining the main concepts of group communication using a small example program implemented in CamlGroups.

Distribution

A tarball file with source files is available here:

Download CamlGroups

To compile the files you will need the Objective Caml ver. at least 3.11.1, available from http://caml.inria.fr/.

Team

Past contributors: Adam Gawarkiewicz, Jarosław Przybyłowicz and Michał Witkowski

Documentation

PP logo ITSOA logo


The ITSOA Project 2008-2009
Last modified: Sun Mar 7 13:29:34 CET 2010