×

Method and system for providing checkpointing to windows application groups

  • US 9,286,109 B1
  • Filed: 12/15/2008
  • Issued: 03/15/2016
  • Est. Priority Date: 08/26/2005
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method comprising:

  • creating at least one full checkpoint for an application group, wherein each of said at least one full checkpoint is comprised of a full checkpoint for each application in said application group, and at least one incremental checkpoint for each application in said application group;

    merging each of said at least one incremental checkpoint for each application in said application group against a corresponding application full checkpoint;

    creating an application group checkpointing thread and a checkpointing thread for each of the one or more applications comprising the application group;

    triggering the application group'"'"'s checkpointer thread using asynchronous procedure calls (APC), wherein the application group'"'"'s checkpointer thread further triggers the checkpointing threads for each of the one of more applications using APC;

    creating a shared barrier synchronization barrier accessible by the one or more applications comprising the application group, wherein said application group checkpointer thread releases each application'"'"'s checkpointer thread from the shared barrier synchronization barrier to checkpoint each individual application; and

    creating, for each application in said application group, a buffer filled with machine-executable instructions to load a checkpoint library, call the checkpoint library'"'"'s initialization function, and jump to the application'"'"'s original entry point, wherein the buffer filled with machine-executable instructions for an application is inserted into the address space of said application and the application'"'"'s entry point is changed to begin execution at the first instruction in said buffer;

    wherein said application group is comprised of one or more applications, each application is comprised of one or more processes, and each process comprised of one or more threads; and

    wherein checkpoints are comprised of at least one or more of thread stacks, code segments, data segments, dynamically allocated segments, heaps, APC queues, CPU registers, instruction pointer, and kernel attributes.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×