[Zope-dev] censemble communication toolkit and distributed lock manager

Mark Hayden mh37@cornell.edu
Tue, 20 Jun 2000 11:18:17 -0700


I recently announced the availability of censemble
communication toolkit and a distributed lock manager
built using it.  After reading about ZEO and the
plans to turn the Zope Storage Service into a replicated
service, I thought you might find this work useful.

regards, Mark Hayden



CEnsemble Version 0.03

  Download: ftp://24.142.58.202/pub/hayden/

CEnsemble is a toolkit for building reliable distributed
applications.  It provides a library of protocols that can be used
for quickly building complex distributed applications. 

CEnsemble is a rewrite in C of the Ensemble system, which was written
in a dialect of the ML programming language.  More information of
Ensemble can be found at:

  Homepage: http://www.cs.cornell.edu/Info/Projects/Ensemble/index.html
  Download: ftp://cs.cornell.edu/pub/ensemble/

Included with censemble-0.03 is a complete distributed lock manager
(DLM) built using the toolkit.  The DLM can be used either
through a text-based pipe interface or linked into your application
as a C library.  No familiarity with Ensemble is needed to use the
DLM (all the interface is in one header file).  A DLM tutorial is
included (censemble/dlm/README).  The DLM features include:

* Fault-tolerant.  Any of the lock manager processes can fail; the
  system will remain available as long as a quorum (majority) of the
  servers continue running.

* Load balanced: locks are randomly assigned to servers to manage.
  As servers are added or removed from the system, they will reassign
  locks to even the load.

* Reader/writer locks.