Patent ID: 8181162

Claim:
A computer-readable medium that comprises one or more of a floppy disk, magnetic tape, CD-ROM, DVD-ROM, hard disk drive, or electronic memory that stores a software program for implementation of: a management infrastructure for a distributed software application, wherein the distributed software application comprises one or more software components, each comprising application software and management support software, that run within a plurality of executables; wherein the management infrastructure comprises: a manager component configured to establish communication channels between software components, said communication channels used for handling one or more checkpoint procedures for the software components; a plurality of executable managers for monitoring diagnostics for the plurality of executables; management support software communication interfaces, associated with each management support software, for receiving messages from the manager component to establish a communication channel with another software component; an application programming interface between the management support software and the application software in each software component; a configuration file comprising information about checkpoint relationships between the one or more software components, said configuration file used by the manager component to send a message to at least the management support software of a first software component to establish a communication channel with a second software component such that the checkpoint relationship indicates that the second software component is a checkpoint destination for the first software component; and a code generator, within the management infrastructure, for generating, compiling, and linking code for the management support software based at least on the checkpoint relationship information in the configuration file, wherein the generated code comprises the application programming interface and includes at least a function call interface of the checkpoint procedures for communication between the application software and the management support software in each software component.