IP Library › Granted Patent US 10,168,941
Granted Patent B2
US 10,168,941 · App. 15/047,780 · Granted Jan 1, 2019

Historical state snapshot construction over temporally evolving data

Inventors: Srikanta B. Jagannath (Bangalore, IN); Sriram Lakshminarasimhan (Bangalore, IN); Sameep Mehta (Bangalore, IN); Animesh Nandi (Bangalore, IN); Narendran Sachindran (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F3/0644G06F3/061G06F3/0676G06F17/30902
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,168,941
App. No.
15/047,780
Granted
Jan 1, 2019
Kind
B2
Abstract

Methods, systems, and computer program products for historical state snapshot construction over temporally evolving data are provided herein. A computer-implemented method includes classifying each of multiple temporally evolving data entities into one of multiple categories based on one or more parameters; partitioning the multiple temporally evolving data entities into multiple partitions based at least on (i) said classifying and (ii) the update frequency of each of the multiple temporally evolving data entities; implementing multiple checkpoints at a distinct temporal interval for each of the multiple partitions; and creating a snapshot of the multiple temporally evolving data entities at a selected past point of time (i) based on said implementing and (ii) in response to a query pertaining to a historical state of one or more of the multiple temporally evolving data entities.

Claims (41)

1. A computer-implemented method, comprising:

classifying each of multiple temporally evolving data entities into one of multiple categories based on one or more parameters, wherein the one or more parameters comprise the average lifespan of each of the multiple temporally evolving data entities;

partitioning the multiple temporally evolving data entities into multiple partitions based at least on (i) said classifying and (ii) the update frequency of each of the multiple temporally evolving data entities;

implementing multiple checkpoints at a distinct temporal interval for each of the multiple partitions; and

creating a snapshot of the multiple temporally evolving data entities at a selected past point of time (i) based on said implementing and (ii) in response to a query pertaining to a historical state of one or more of the multiple temporally evolving data entities;

wherein the steps are carried out by at least one computing device.

2. The computer-implemented method of claim 1 , wherein the update frequency comprises the average update frequency of each of the multiple temporally evolving data entities.

3. The computer-implemented method of claim 1 , wherein said implementing comprises implementing multiple checkpoints in a partition associated with low update-frequency temporally evolving data entities at a larger temporal interval than in a partition associated with high update-frequency temporally evolving data entities.

4. The computer-implemented method of claim 1 , wherein the multiple partitions comprise a number of partitions determined based on one or more user-determined variables.

5. The computer-implemented method of claim 4 , wherein the one or more user-determined variables comprises a desired distribution of size with respect to each of the multiple partitions.

6. The computer-implemented method of claim 1 , comprising:

storing one or more portions of the snapshot in a memory device.

7. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to:

classify each of multiple temporally evolving data entities into one of multiple categories based on one or more parameters, wherein the one or more parameters comprise the average lifespan of each of the multiple temporally evolving data entities;

partition the multiple temporally evolving data entities into multiple partitions based at least on (i) said classifying and (ii) the update frequency of each of the multiple temporally evolving data entities;

implement multiple checkpoints at a distinct temporal interval for each of the multiple partitions; and

create a snapshot of the multiple temporally evolving data entities at a selected past point of time (i) based on said implementing and (ii) in response to a query pertaining to a historical state of one or more of the multiple temporally evolving data entities.

8. The computer program product of claim 7 , wherein the update frequency comprises the average update frequency of each of the multiple temporally evolving data entities.

9. The computer program product of claim 7 , wherein said implementing comprises implementing multiple checkpoints in a partition associated with low update-frequency temporally evolving data entities at a larger temporal interval than in a partition associated with high update-frequency temporally evolving data entities.

10. The computer program product of claim 7 , wherein the multiple partitions comprise a number of partitions determined based on one or more user-determined variables.

11. The computer program product of claim 10 , wherein the one or more user-determined variables comprises a desired distribution of size with respect to each of the multiple partitions.

12. The computer program product of claim 7 , wherein the program instructions executable by a computing device further cause the computing device to:

store one or more portions of the snapshot in a memory device.

13. A system comprising:

a memory; and

at least one processor coupled to the memory and configured for:

classifying each of multiple temporally evolving data entities into one of multiple categories based on one or more parameters, wherein the one or more parameters comprise the average lifespan of each of the multiple temporally evolving data entities;

partitioning the multiple temporally evolving data entities into multiple partitions based at least on (i) said classifying and (ii) the update frequency of each of the multiple temporally evolving data entities;

implementing multiple checkpoints at a distinct temporal interval for each of the multiple partitions; and

creating a snapshot of the multiple temporally evolving data entities at a selected past point of time (i) based on said implementing and (ii) in response to a query pertaining to a historical state of one or more of the multiple temporally evolving data entities.

14. A computer-implemented method, comprising:

classifying each of multiple temporally evolving data entities into one of multiple categories based on one or more parameters, wherein the one or more parameters comprise the average lifespan of each of the multiple temporally evolving data entities;

partitioning the multiple temporally evolving data entities into multiple partitions based at least on (i) said classifying and (ii) the update frequency of each of the multiple temporally evolving data entities;

implementing multiple checkpoints at a distinct temporal interval for each of the multiple partitions;

caching the implemented checkpoints across the multiple partitions; and

creating a snapshot of the multiple temporally evolving data entities at a selected past point of time (i) based on the cached checkpoints and (ii) in response to a query pertaining to a historical state of one or more of the multiple temporally evolving data entities;

wherein the steps are carried out by at least one computing device.

15. The computer-implemented method of claim 14 , wherein said caching comprises prioritizing caching of checkpoints in a partition associated with low update-frequency temporally evolving data entities over caching of checkpoints in a partition associated with high update-frequency temporally evolving data entities.

16. The computer-implemented method of claim 14 , comprising:

re-using one or more computations across queries pertaining to points of time within a predetermined temporal vicinity based on said caching.

17. The computer-implemented method of claim 14 , wherein the update frequency comprises the average update frequency of each of the multiple temporally evolving data entities.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2016
From: JAGANNATH, SRIKANTA B.; LAKSHMINARASIMHAN, SRIRAM; MEHTA, SAMEEP; NANDI, ANIMESH; SACHINDRAN, NARENDRAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037773/0615 →
Continuity (1)
Related Publication 20170242591A1 · Aug 24, 2017