# US 10,310,754 B1 · Method and system for providing storage checkpointing to a group of independent computer applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,310,754 B1
- Document ID: US10310754B1
- Status: Granted
- Kind: B1
- Application number: 16/162,293
- Filed: 2018-10-16
- Granted: 2019-06-04
- Earliest claimed: 2008-12-15
- Assignees: Open Invention Network, LLC
- Applicants: Open Invention Network LLC
- Inventors: Allan Havemose; Keith Richard Backensto
- Web page: https://patentgrep.com/patent/US10310754B1

## CPC

- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0673: {Single storage device}
- G06F 11/1438: {Restarting or rejuvenating}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1461: {Backup scheduling policy}
- G06F 11/203: {using migration}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/178: Techniques for file synchronisation in file systems
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 11/2038: {with a single idle spare processing component}
- G06F 11/2048: {where the redundant components share neither address space nor persistent storage}
- G06F 2201/805: Real-time
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and system for checkpointing at least one application in an application group. At least one full checkpoint and at least one incremental checkpoint are created for the application in the application group. The at least one incremental application checkpoint is merged against the at least one full application checkpoint, and checkpointing across all applications in the application group is synchronized. A storage checkpoint is taken for at least one of the full checkpoint and the incremental checkpoint, and memory and storage checkpoints are synchronized and consistent.

## Claims

### Claim 1

A method, comprising:
taking a storage checkpoint for at least one of at least one full checkpoint and at least one incremental checkpoint for one or more applications in an application group;
wherein the one or more applications are comprised of one or more processes, each process comprised of one or more threads;
wherein intercepted file operations are added to a file operations data structure upon entering said file operations interceptors, intercepted file operations are removed from said file operations data structure upon completion of said file operations; and
wherein checkpointing of user-space pages is comprised of write-protecting one or more user-space memory pages and including said one or more user-space memory pages in a checkpoint.

### Claim 2 (depends on 1)

The method as claimed in claim 1, comprising a memory checkpoint, wherein said memory checkpoint is stored on locally attached storage.

### Claim 3 (depends on 1)

The method as claimed in claim 1, comprising a memory checkpoint, wherein said memory checkpoint of the one or more applications in an application group are stored on a Network Attached Storage.

### Claim 4 (depends on 1)

The method as claimed claim 1, comprising a memory checkpoint, wherein said memory checkpoint of the one or more applications in an application group are stored on Storage Area Network storage.

### Claim 5 (depends on 1)

The method as claimed in claim 1, further comprising forcing cache consistency by performing one or more of writing of a token file, flushing caches, and reading the token file.

### Claim 6 (depends on 1)

The method as claimed in claim 1, further comprising restoring consistent memory checkpoints.

### Claim 7 (depends on 1)

The method as claimed in claim 1, further comprising utilizing standard operating systems and system libraries and utilizing interception for all customization.

### Claim 8 (depends on 7)

The method as claimed in claim 7, wherein the interception is built into the standard operating systems and the system libraries.

### Claim 9 (depends on 1)

The method as claimed in claim 1, comprising a memory checkpoint, wherein the application group is a virtual machine program, and said memory checkpoints are comprised of checkpoints of the one or more applications in the application group.

### Claim 10 (depends on 1)

The method as recited in claim 1, comprising a memory checkpoint, wherein said memory checkpoint is written to storage and read from storage over a wireless network and said memory and storage checkpoints are comprised of checkpoints of the one or more applications in the application group.

### Claim 11

A non-transitory computer readable medium storing a plurality of computer executable instructions for execution by a processor, the computer executable instructions for:
taking a storage checkpoint for at least one of at least one full checkpoint and at least one incremental checkpoint for one or more applications in an application group;
wherein the at one or more applications are comprised of one or more processes, and each process comprised of one or more threads;
wherein intercepted file operations are added to a file operations data structure upon entering said file operations interceptors, intercepted file operations are removed from said file operations data structure upon completion of said file operations; and
wherein checkpointing of user-space pages is comprised of write-protecting one or more user-space memory pages and including said one or more user-space memory pages in a checkpoint.

### Claim 12 (depends on 11)

The non-transitory computer readable medium as claimed in claim 11, wherein the instructions further comprise forcing cache consistency by performing one or more of writing of a token file, flushing caches, and reading the token file.

### Claim 13 (depends on 11)

The non-transitory computer readable medium as claimed in claim 11, wherein the instructions further comprise restoring consistent memory checkpoints.

### Claim 14 (depends on 11)

The non-transitory computer readable medium as claimed in claim 11, wherein the instructions further comprise utilizing standard operating systems and system libraries and utilizing interception for all customization.

### Claim 15 (depends on 11)

The non-transitory computer readable medium as claimed in claim 11, comprising a memory checkpoint, wherein the instructions further comprise accessing said memory checkpoint over a wireless work, and said memory and storage checkpoints are comprised of checkpoints of the one or more applications in the application group.

### Claim 16

A system, comprising:
a storage disk structured to store files;
a storage access interface structured to access the files stored on the storage disk; and
a processor structured to process instructions that:
take a storage checkpoint for at least one of at least one full checkpoint and at least one incremental checkpoint for one or more applications in an application group;
wherein the one or more applications are comprised of one or more processes, and each process comprised of one or more threads;
wherein intercepted file operations are added to a file operations data structure when said file operations interceptors are entered, intercepted file operations are removed from said file operations data structure upon completion of said file operations; and
wherein checkpointing of user-space pages is comprised of write-protecting one or more user-space memory pages and including said one or more user-space memory pages in a checkpoint.

### Claim 17 (depends on 16)

The system as claimed in claim 16, wherein the storage disk is structured as part of Network Attached Storage, and wherein memory checkpoints are comprised of checkpoints of the one or more applications in the application group.

### Claim 18 (depends on 16)

The system as claimed in claim 16, wherein the storage disk is structured as part of a Storage Area Network, and wherein memory checkpoints are comprised of checkpoints of the one or more applications in the application group.

### Claim 19 (depends on 16)

The system as claimed in claim 16, wherein the application group comprises a virtual machine program, and wherein memory checkpoints are comprised of checkpoints of the one or more applications in the application group.

### Claim 20 (depends on 16)

The system as claimed in claim 16, further comprising a wireless network structured to access the files stored on the storage disk, wherein memory checkpoints are comprised of checkpoints of the one or more applications in the application group.
