In-memory continuous data protection

US10055304B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10055304-B2
Application numberUS-201514667809-A
CountryUS
Kind codeB2
Filing dateMar 25, 2015
Priority dateOct 24, 2012
Publication dateAug 21, 2018
Grant dateAug 21, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An in-memory application has a state is associated with data (CA0, CB0, CC0) stored in a memory and accessed by the application. A first restore point of the application is determined to represent a first time point (T0) in the execution time associated with a first state at which the application accesses the data being stored in memory locations (CA0) using first addresses (S1) and first pointers (A0) which are stored in a first data structure. A first restore point identifier is assigned to the first restore point, whose value is indicative of (T0). The first restore point identifier is stored in association with (A0) and (S1) in a first entry of a second data structure. In the first data structure, the first addresses (S1) are associated to second pointers (A1) to contents of memory locations (CA1) in the memory, and redirecting writing operations.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer implemented method comprising: providing at least one in-memory application in a computing system, wherein the at least one in-memory application has one or more states during its execution, at least one state of the one or more states is associated with data (CA 0 , CB 0 , CC 0 ) being stored in a memory of the computing system and being accessed by the at least one application; determining a first restore point of the at least one application, said first restore point representing a first time point (T 0 ) in the execution time associated with a first state of the one or more states at which the at least one application accesses the data being stored in a first group of memory locations (CA 0 ) in the memory, wherein the access is performed using first addresses (S 1 ) and first pointers (A 0 ) to contents of the first group of memory locations, the first addresses and first pointers being stored in a first data structure; assigning a first restore point identifier to the first restore point, wherein the first restore point identifier value is indicative of the first time point (T 0 ); storing the first restore point identifier in association with the first pointers (A 0 ) and first addresses (S 1 ) in a first entry of a second data structure of the computing system, wherein the second data structure comprises in addition to the first restore point identifier one or more restore point identifiers associated with respective addresses and pointers to contents of one or more groups of memory locations in the memory; associating, in the first data structure, the first addresses (S 1 ) to second pointers (A 1 ) to contents of a second group of memory locations (CA 1 ) in the memory, thereby redirecting writing operations into the first group of memory locations (CA 0 ) to the second group of memory locations (CA 1 ) after the first restore point determination; determining a maximal memory usage threshold value; selecting, in response to a determination that memory usage of the content of the first group and the one or more groups of memory locations is higher than the maximal memory usage threshold value, a restore point identifier of the second data structure; and deleting the selected restore point identifier and associated addresses and pointers. 2. The method according to claim 1 , further comprising: receiving a selection of the first restore point, wherein the selection is indicative of the first restore point identifier; reading the first entry of the second data structure using the first restore point identifier; and replacing the second pointers (A 1 ) by the first pointers (A 0 ) in the first data structure, by copying the first pointers (A 0 ) from the second data structure into the entry of the first data structure containing the first addresses (S 1 ) and removing the second pointers (A 1 ). 3. The method according to claim 2 , further comprising: determining a second restore point of the at least one application associated with a second state of the one or more states, said second restore point representing a second time point (T 1 ) in the execution time associated with a second state of the one or more states at which the at least one application accesses the data being stored in a third group of memory locations (CB 0 ) in the memory, wherein the access is performed using second addresses (S 2 ) and third pointers (B 0 ) to contents of the third group of memory locations (CB 0 ), the second addresses (S 2 ) and third pointers (B 0 ) being stored in the first data structure; assigning a second restore point identifier to the second restore point, wherein the second restore point identifier value is indicative of the second time point; storing the second restore point identifier in association with the third pointers (B 0 ) and second addresses (S 2 ) in a second entry of the second data structure; and associating, in the first data structure, the second addresses (S 2 ) to fourth pointers (B 1 ) to contents of a fourth group of memory locations (CB 1 ) in the memory, thereby redirecting writing operations into the third group of memory locations (CB 0 ) to the fourth group of memory locations (CB 1 ) after the second restore point determination, wherein the reading comprises the steps of: reading the second entry of the second data structure using the second restore point identifier; replacing the fourth pointers (B 1 ) by the third pointers (B 0 ) in the first data structure, by copying the third pointers (B 0 ) from the second data structure into the entry of the first data structure containing the second addresses (S 2 ) and removing the fourth pointers (B 1 ); reading the first entry of the second data structure using the first restore point identifier; and replacing the second pointers (A 1 ) by the first pointers (A 0 ) in the first data structure, by copying the first pointers (A 0 ) from the second data structure into the entry of the first data structure containing the first addresses (S 1 ) and removing the second pointers (A 1 ). 4. The method according to claim 1 , wherein the second data structure comprises one or more restore point identifiers associated with respective addresses and pointers to one or more groups of memory locations in the memory, wherein the storing comprises: selecting, in response to a determination that no free memory locations are available in the memory to store the content of the second group of memory locations, a restore point identifier of the one or more restore point identifiers; deleting the selected restore point identifier and associated addresses and pointers, selecting, in case the memory usage associated with the selected restore point is smaller than the memory usage of the second group of memory locations, another restore point identifier of the one or more restore point identifiers to be deleted; and repeating the last selecting step until the memory usage associated with the selected restore point is higher or equal to the memory usage of the second group of memory locations. 5. The method according to claim 1 , wherein the second data structure comprises in addition to the first restore point identifier one or more restore point identifiers associated with respective addresses and pointers to contents of one or more groups of memory locations in the memory, the method further comprising: determining a maximal number of restore points; selecting, in response to a determination that the number of restore points identifiers stored in the second data structure is higher than the maximal number of restore points, a restore point identifier of the second data structure; and deleting the selected restore point identifier and associated addresses and pointers. 6. The method according to claim 1 , wherein the selected restore point identifier corresponds to the oldest restore point. 7. The method according to claim 1 , further comprising: deleting, in case the time elapsed after the first time point of the execution time is higher than a predetermined time threshold value, the first restore point identifier. 8. The method according to claim 1 , wherein the deleting further comprises: moving the content associated with the selected restore point into a storage capacity of the computing system; and associating, in the second data structure, the addresses of the selected restore point to pointers to the content of the storage capacity. 9. The method of claim 8 , further comprising: moving the addresses and pointers to the storage capacity. 10. The method according to any of the previous claims, wherein the second group of memory locations are free memory locations in the memory.

Assignees

Inventors

Classifications

  • at system level · CPC title

  • Management of the backup or restore process · CPC title

  • by selection of backup contents · CPC title

  • Restarting or rejuvenating · CPC title

  • Saving, restoring, recovering or retrying · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10055304B2 cover?
An in-memory application has a state is associated with data (CA0, CB0, CC0) stored in a memory and accessed by the application. A first restore point of the application is determined to represent a first time point (T0) in the execution time associated with a first state at which the application accesses the data being stored in memory locations (CA0) using first addresses (S1) and first point…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/1458. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 21 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).