System and method for providing checkpointing with precompile directives and supporting software to produce checkpoints, independent of environment constraints
First Claim
Patent Images
1. A method for portable checkpointing comprising the steps of:
- pre-compiling an input source code of a selected programming language; and
outputting an associated output source code which includes support for portable checkpointing, wherein the portable checkpointing provides a first portable checkpoint, and wherein said associated output source code using the first portable checkpoint can be executed on a destination platform that is not limited by (a) programming language restrictions of the selected programming language, (b) operating system level variations and (c) processor restrictions including memory page size, firmware byte-ordering and word size.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for portable checkpointing comprising the steps of: pre-compiling an input source code; and outputting an associated output source code which includes support for portable checkpointing. The portability of the checkpoints allows migration between systems with different hardware, software, and operating systems.
The portable checkpoints are stored in a Universal Code Format (UCF) and are selectively activated at the next potential checkpoint marker after a MinTBC (Minimum Time Between Checkpoints) timer expires.
-
Citations
51 Claims
-
1. A method for portable checkpointing comprising the steps of:
-
pre-compiling an input source code of a selected programming language; and outputting an associated output source code which includes support for portable checkpointing, wherein the portable checkpointing provides a first portable checkpoint, and wherein said associated output source code using the first portable checkpoint can be executed on a destination platform that is not limited by (a) programming language restrictions of the selected programming language, (b) operating system level variations and (c) processor restrictions including memory page size, firmware byte-ordering and word size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. An system for portable checkpointing, comprising:
-
a marker inserter for receiving a selected language source code, and inserting markers for support of portable checkpointing to produce input source code; and a pre-compiler, coupled to said marker inserter, for pre-compiling the input source code and outputting an associated output source code that includes the support of portable checkpointing, wherein the support for portable checkpointing in the associated output source code is selectively executable on each of a RISC compatible processor, an x86-family compatible processor, an alpha-compatible processor, and a multiprocessing compatible processor hardware platform. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. An apparatus for general purpose checkpointing, comprising:
a pre-compiler for pre-compiling an input source code that is independent of application semantics and outputting an associated output source code which includes support of portable checkpointing and the generation of portable checkpoints, wherein the associated output source code that includes support for portable checkpointing can regenerate memory that was dynamically-allocated during execution. - View Dependent Claims (33, 34)
-
35. A method for selectively activating portable checkpointing in output source code which includes potential checkpoint markers, comprising the steps of:
-
selectively activating, at run time, portable checkpointing at the next potential checkpoint marker; and producing an associated portable checkpoint in the output source code that is independent of operating system restrictions and processor restrictions including one of memory page size, firmware byte-ordering and word size for a destination operating system and processor that will execute the portable checkpoint. - View Dependent Claims (36, 37, 38, 39, 40, 41)
-
-
42. A method for checkpoint recovery using portable checkpoints, comprising the steps of:
-
performing execution of an executable code with the portable checkpoints in a first operating system and processor platform; restarting the executable code on a second operating system and processor platform; loading a first portable checkpoint taken on the first operating system and processor platform onto the second operating system and processor platform; and resuming execution of the executable code on the second operating system and processor platform from a point in the executable code where the first portable checkpoint was taken, wherein the first portable checkpoint is independent of the first and second platforms executing the executable code. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51)
-
Specification