JBP – Java Byzantine Paxos

December 18, 2008

JBP aims to provide a complete, modular and clear implementation of the Byzantine Paxos agreement protocol in Java programming language. Since there are several variants of this algorithm, we choose to implement Paxos at War, by Piotr Zielinski, for consensus and extended it to for total order multicast adding only one communication step and maintaining the quadratic message complexity using the usual technique proposed by Leslie Lamport in the Classical Paxos algorithm and later extended by Castro and Liskov in the BFT system.

JBP was developed because there was no implementation of a fast Byzantine fault-tolerant Total order multicast protocol in Java. Moreover, JBP implementation follow the same line of the BFT system (implemented in C), but we want to separate state management (basically, checkpoints) from the core total order multicast algorithm.

JBP is available to download, you are welcome to try it!

Advertisements

RT-PSS: Real-time proactive secret sharing library for RTAI

November 1, 2005

The Real-Time Proactive Secret Sharing Library (RT-PSS) for RTAI is an implementation of the Shamir’s secret sharing scheme and Herzberg’s proactive secret sharing algorithm. The library uses a port of GNU GMP in order to make multiple precision arithmetic operations.

The current status of the implementation can be checked at SourceForge.net.

Some initial experimental results can be found in here.


TCB WinCE: Timely Computing Base for Windows CE

November 13, 2003

I implemented the Timely Computing Base (TCB) on the Windows CE 3.0 operating system.

The TCB is a distributed embedded component that provides a set of time related services to client applications: Timing Failure Detection of timed executions, Timely Execution of small functions, Duration Measurement of local or distributed computations. It can be used as a fundamental building block for the development of dependable real-time applications.

This implementation was the basis for a CORTEX proof-of-concept prototype and for the development of one of the CORTEX final demonstrations.