Multi point in time object store
AssigneeEMC IP Holding Company LLC
InventorsJehuda Shemer, Assaf Natanzon
Life of this patent
Estimating the term…
Abstract
A System, Computer Program Product, and Computer-executable method for managing an object based storage within a cloud storage provider, the System, Computer Program Product, and Computer-executable method including receiving a data I/O, determining whether the data I/O relates to an existing object within the object based storage, if the data I/O relates to an existing object, updating a stream and existing data object in the object based storage, and creating a new data object and key based on the data I/O and updating the object based storage.
Claims20
A Computer-executable method for managing an object based storage within a cloud storage provider, the computer-executable method comprising:
- receiving a data object update I/O;
- determining whether the data object update I/O relates to an existing current data object within the object based storage;
- upon determining the data object update I/O relates to the existing current data object, updating an ordered stream of keys and the existing current data object in the object based storage to retain a current and a previous version of the existing current data object, and creating a new data object and key based on the data object update I/O, wherein the result of the updating reflects at what time the existing current data object was changed;
- upon determining the data object update I/O does not relate to the existing current data object, creating a new data object and key based on the data object update I/O, updating the object based storage, and adding the key to the ordered stream of keys;
- receiving a request for a snapshot of the object based storage at a time;
- analyzing the ordered stream of keys to determine which objects within the object based storage existed at the time;
- and
- providing a snapshot of the object based storage at the time.
A Computer Program Product for managing an object based storage within a cloud storage provider, the computer-executable method comprising:
- a non-transitory computer readable medium encoded with computer-executable code, the code configured to enable the execution of:
- receiving a data object update I/O;
- determining whether the data object update I/O relates to an existing current data object within the object based storage;
- upon determining the data object update I/O relates to the existing current data object, updating an ordered stream of keys and the existing current data object in the object based storage to retain a current and a previous version of the existing current data object, and creating a new data object and key based on the data object update I/O, wherein the result of the updating reflects at what time the existing current data object was changed;
- upon determining the data object update I/O does not relate to the existing current data object, creating a new data object and key based on the data object update I/O, updating the object based storage, and adding the key to the ordered stream of keys;
- receiving a request for a snapshot of the object based storage at a time;
- analyzing the ordered stream of keys to determine which objects within the object based storage existed at the time;
- and
- providing a snapshot of the object based storage at the time.
A System, comprising:
- a cloud storage provider including an object based storage;
- and
- computer-executable program logic encoded in memory of one or more computers enabled to manage object based storage, wherein the computer-executable program logic is configured for the execution of:
- receiving a data object update I/O;
- determining the data object update I/O relates to an existing current data object within the object based storage;
- upon determining the data object update I/O relates to the existing current data object, updating an ordered stream of keys and the existing current data object in the object based storage to retain a current and a previous version of the existing current data object, and creating a new data object and key based on the data object update I/O, wherein the result of the updating reflects at what time the existing current data object was changed;
- upon determining the data object update I/O does not relate to the existing current data object, creating a new data object and key based on the data object update I/O, updating the object based storage, and adding the key to the ordered stream of keys;
- receiving a request for a snapshot of the object based storage at a time;
- analyzing the ordered stream of keys to determine which objects within the object based storage existed at the time;
- and
- providing a snapshot of the object based storage at the time.
Dependencies are inferred from the claim text.