Availability Guide for Application Design
Availability Through Process-Pairs and Monitors
Availability Guide for Application Design—525637-004
7-6
Passive Backup Model
Passive Backup Model
This subsection discusses how the functions of the general process pair model
discussed under How Do Process Pairs Work? on page 7-4 are done in the passive
backup model. The discussion assumes that you take advantage of the Guardian
checkpointing procedures. Specifically, it discusses:
•
Starting and opening the backup process
•
Sending checkpoint information to the backup process: file open information, a
restart address, and critical data
•
Receiving information in the backup process; handled by the operating system
through the CHECKMONITOR procedure
•
Taking over the primary role by the backup process
Starting the Passive Backup
The primary process creates the backup process using the PROCESS_CREATE_
Guardian procedure call (or equivalent COBOL85 or FORTRAN statement). The
backup process is created from the same source file as the primary process and with
the same initialization state. Your program reads system tables to determine whether
the process is the primary process or the backup process.
Once the backup process is created, the primary process can open it and begin
sending data-state and control-state messages to it using interprocess communication.
The primary process needs to create and open the backup process in the following
situations:
•
On initial program startup
•
Following takeover when the new primary process needs to create a new backup
process
•
On failure of the backup process
Sending Process-State Information to the Passive Backup
The primary process uses a set of system procedures (or COBOL85 or FORTRAN
statements) to checkpoint control-state and data-state information to the backup
process. This information includes:
•
File-open information to ensure that the backup has the same set of files open on
takeover that the primary process had open when it stopped.
•
A program address at which to restart the backup process. In passive
checkpointing, this is done by checkpointing the stack marker for the procedure
that does the checkpointing (for example, the CHECKPOINT procedure).