Transparent checkpointing protocol for Posix.1b applications
This paper presents an overview of a proposed protocol in a Real Time Operating system to provide application-transparent fault tolerant services. Fault tolerance is achieved by saving consistent states (checkpoints) of the processes belonging to a real time application. Most of the existing checkpoint protocols are not suitable for real time environments due to the uncontrolled delay introduced when a checkpoint is saved. Our approach proposes the extension of the real time operating system services to save a checkpoint when the user performs a system call. This scheme allows the real time application designer to know the temporal specifications of every system call (checkpointing included). A real time application is composed of several Real Time processes, that share data by using the interprocess communication facilities provided by the operating system: message queues, shared memory, signals, etc. Because of these communications the operating system has to ensure the consistency of checkpoints. Current real time checkpointing schemes use global checkpointing: when a process saves a checkpoint all the processes in the system save one. The proposed solution is to track processes interactions (dependencies) in order to reduce the number of processes involved in a checkpoint.
checkpointing real time operating systems fault tolerance backward error recovery dependency tracking