An implementation for small databases with high availability

A technique for implementing the kind of small databases that frequently occur in the design of operating systems and distributed systems is presented. This technique is based on the checkpointing mechanism for maintaining data persistence. It can be regarded as a hybrid of the stable storage approach and the master-slave approach to fault tolerance, and is especially suitable for systems that support the processor pool paradigm of computation. This scheme has been used to implement a monitoring service for a distributed system. The resulting implementation has the desired property of being simultaneously simple, efficient, reliable, and available.