Method and system for time addressable storage
First Claim
Patent Images
1. A computer comprising a processor and a storage medium, said storage medium comprising:
- a. instructions for causing the processor to time shift a subset of a plurality of data objects stored on the storage medium;
b. one or more application programs for performing actions on files or data objects;
c. a block layer for storing data generated from the one or more application programs;
d. a file system through which changes made to a data object in the one or more application programs travel to, and are stored in, the block layer;
e. one or more write-inverted stacks, whereby one or more data objects stored in the block layer have time-shifted but their corresponding one or more application programs are unaware that the one or more data objects have time shifted;
f. an event journal containing a plurality of time-labeled events representing changes made to the plurality of data objects;
g. an application program interface which includes one or more graphical user interface modules for selecting a subset of the data objects to time shift;
said interface modules also operable to select a past temporal state and a forward temporal state of the subset of data objects;
h. instructions for causing the processor to generate and apply a reverse event from the plurality of events operable to change the subset of data objects to the past temporal state;
j. instructions for causing the processor to generate and apply a forward event from the plurality of events operable to change the subset of data objects to the forward temporal state;
k. instructions for causing the processor to determine that one or more data objects stored in one or more block layers have been time shifted;
l. instructions for notifying the corresponding file system and one or more application programs that the one or more data objects have been time shifted; and
m. instructions for causing the corresponding file system and one or more application programs to synchronize with the one or more time-shifted data objects.
9 Assignments
0 Petitions
Accused Products
Abstract
Method and system for allowing temporal navigation or time travel of data or data object across time are disclosed. In one embodiment, events that affected data objects are retrieved and inversed to revert the data objects back to a selected point-in-time, forward events are applied to move data objects to forward point-in-time. A sliding bar or a time dial allows a user to move data objects back and forward in time. Events that are applied may be a selected subset of events, altered events, new events, or events generated synthetically or any combinations thereof, for instance, to create counterfactual history.
-
Citations
10 Claims
-
1. A computer comprising a processor and a storage medium, said storage medium comprising:
-
a. instructions for causing the processor to time shift a subset of a plurality of data objects stored on the storage medium; b. one or more application programs for performing actions on files or data objects; c. a block layer for storing data generated from the one or more application programs; d. a file system through which changes made to a data object in the one or more application programs travel to, and are stored in, the block layer; e. one or more write-inverted stacks, whereby one or more data objects stored in the block layer have time-shifted but their corresponding one or more application programs are unaware that the one or more data objects have time shifted; f. an event journal containing a plurality of time-labeled events representing changes made to the plurality of data objects; g. an application program interface which includes one or more graphical user interface modules for selecting a subset of the data objects to time shift;
said interface modules also operable to select a past temporal state and a forward temporal state of the subset of data objects;h. instructions for causing the processor to generate and apply a reverse event from the plurality of events operable to change the subset of data objects to the past temporal state; j. instructions for causing the processor to generate and apply a forward event from the plurality of events operable to change the subset of data objects to the forward temporal state; k. instructions for causing the processor to determine that one or more data objects stored in one or more block layers have been time shifted; l. instructions for notifying the corresponding file system and one or more application programs that the one or more data objects have been time shifted; and m. instructions for causing the corresponding file system and one or more application programs to synchronize with the one or more time-shifted data objects. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of time shifting a subset of a plurality of data objects stored on a storage medium;
- said method comprising the steps of
a. using a computer comprising a processor and the storage medium, said storage medium comprising; i. an event journal containing a plurality of time-labeled events representing changes made to the plurality of data objects; ii. an application program interface which includes one or more graphical user interface modules for selecting a subset of the data objects to time shift;
said interface modules also operable to select a past temporal state and a forward temporal state of the subset of data objects;iii. one or more application programs for performing actions on files or data objects; iv. a block layer for storing data generated from the one or more application programs; v. a file system through which changes made to a data object in the one or more application programs travel to, and are stored in, the block layer; vi. one or more write-inverted stacks, whereby one or more data objects stored in the block layer have time-shifted but their corresponding one or more application programs are unaware that the one or more data objects have time shifted; b. instructing the processor to generate and apply a reverse event from the plurality of events operable to change the subset of data objects to the past temporal state; d. instructing the processor to generate and apply a forward event from the plurality of events operable to change the subset of data objects to the forward temporal state; f. instructing the processor to determine that one or more data objects stored in one or more block layers have been time shifted; g. instructing the processor to notify the corresponding file system and one or more application programs that the one or more data objects have been time shifted; and h. instructing the processor to cause the corresponding file system and one or more application programs to synchronize with the one or more time-shifted data objects. - View Dependent Claims (7, 8, 9, 10)
- said method comprising the steps of
Specification