DepSpace - A Byzantine Fault-Tolerant Coordination Service



DepSpace (Dependable Tuple Space) is fault and intrusion-tolerant secure tuple space implementation. The main objective of the system is to provide an extended tuple space abstraction that could be used to implement Byzantine fault tolerant applications. The system design is described in an EuroSys'08 paper. The system was developed using the Java programming language and we used the JBP (Java Byzantine Paxos) for Byzantine fault-tolerant replication and JSS (Java Secret Sharing) for confidentiality.
Developers:

DepSpace is developed by Alysson Neves Bessani (bessani at di dot fc dot ul dot pt) and Eduardo Alchieri (alchieri at das dot ufsc dot br).

Most of the work on DepSpace was doing during Alysson's PhD and Eduardo's MsC at Federal University of Santa Catarina (UFSC) - Brazil. Currently DepSpace is a joint work between UFSC and University of Lisbon - Portugal (LaSIGE group and Navigators team).
Software and Documentation:

DepSpace 0.2 sources (for the sources of JBP and JSS see their pages)
DepSpace 0.2 javadocs

Documentation:

The install notes can be found here. A brief user manual can be found here.

Currently, the best DepSpace documentation available is the EuroSys'08 paper that describes its usage.

LBTS:
DepSpace is based on the well-know state machine replication approach. We developed also an experimental tuple space called LBTS (Linearizable Byzantine Tuple Space) which is based on a hybrid replication approach that mix quorum systems and state machine replication. The resulting construction requires more replicas (at least 4f+1 instead of 3f+1 of DepSpace to tolerate f malicious faults) but offers several performance benefits. The design and algorithms is described in this paper and formalized in this technical report (under review). A very preliminar implementation of LBTS, as described in the papers is avaliable for download.
Want to use or contribute?

If you want to use or contribute to this project feel free to send and email to Alysson (bessani at di dot fc dot ul dot pt).
Links:

Tuple space coordination model:
Generative Communication in Linda
The original tuple space paper by David Gelernter from Yale University.
Description and discussion at c2.com
Interesting page full of links and discussions. A must read!
Loosely Coupled Communication and Coordination in Next-Generation Java Middleware
This java.net article explains what are the benefits of the tuple space model.

Java tuple space implementations:
TSpaces
IBM tuple space system.
GigaSpaces
The most complete tuple space system available. GigaSpaces is a commercial product, but they have a community edition.
Sun JavaSpaces
JavaSpaces is a open specification for a Java-based tuple space model. Sun provide an implementation for this specification together with its starter kit for Jini Technology. Check this page for several links and very good documentation.
Blitz JavaSpaces
Another good implementation of JavaSpaces.
LighTS
A very simple and functional tuple space.

This page is maintained by Alysson Neves Bessani (bessani at di dot fc dot ul dot pt).
Back to JITT
Back to Navigators
Updated in 22/02/2008