Menu:

Latest news:

April 11, 2007:
Added project documentation and example code.

April 09, 2007:
Unit tests are in SVN. They require the CPPUnit library to run. I'm pondering inclusion of a test suite that will compile without CPPUnit support, if someone requests it.

April 03, 2007:
Pre-alpha code is in Subversion. Compiles and runs with openais on CentOS. Expect a simple test/example suite by the end of the week.

April 02, 2007:
The aisCOAL project is up and running on SourceForge. Planning and alpha development is underway, expect a early test library to be available by the end of the month.

Read more...

More info:

The project is still in early development, but if you have questions, comments or want to be involved, you can post in the forums, submit a bug/feature request or contact the project manager

Links:

- Project page on SourceForge
- openais

Version: Pre-Alpha

Welcome to the aisCOAL Project!

COAL is an object-based abstraction layer utilizing the SAForum's AIS CKPT (Checkpoint) specification to provide HA access to cluster-wide data encapsulated within local, user-defined objects.

Project Overview

The SAForum's Application Interface Specification (AIS) defines an interface between its HA middleware layer and carrier grade service applications. A component of the AIS is the Checkpoint (CKPT) service, which provides a facility for user applications to record raw data in a cluster-wide container, accessible by 'section name', in an incremental and fault tolerant fashion.

The objective of this project is to provide an object-oriented layer to encapsulate the relationship between the user data and the underlying plain-old-data restrictions of the AIS CKPT definition.

In many regards, aisCOAL can be seen as providing a minimal set of container classes and base class templates to facilitate lightweight distributed object containers in any environment that provides the CKPT library (via openais or some other provider). Developers should be able to easily wrap data (or provide the necessary interfaces to their existing classes) for simple access, via user defined key-object mappings, to CKPT-based distributed objects.

Longer term goals

  • the utilization of automatically generated serialization routines to support the marshaling of user objects into the raw data format needed by the CKPT API
  • integration with the AIS distributed lock (LCK) service for transactional locking primitives
  • implementation of a Java API supporting a JPA-like interface that uses the CKPT service for object persistence