Abstraction layer
AssigneeEMC IP Holding Company LLC
InventorsAssaf Natanzon, Jehuda Shemer, Ron Bigman, Amit Lieberman, Yana Vaisman, Oded Peer
Life of this patent
Estimating the term…
Abstract
A computer implemented method, system, and computer program product comprising intercepting an interaction with a data storage capability at the abstraction layer enabled to intercept data interactions for different types of data storage capabilities; wherein the interaction changes data on the data storage capability; sending a copy of the interaction to a replication data storage capability; and sending the interaction to the data storage capability.
Claims14
A system comprising:
- at least one processor;
- and
- a memory configured to store one or more processor-executable instructions implementing a set of abstraction layers including an object abstraction layer, a database abstraction layer, and a file system abstraction layer, the set of abstraction layers being configured to intercept a plurality of interactions with different data storage capabilities, the data storage capabilities comprising an object store, a database, and a file system,
- wherein, when executed by the at least one processor, the one or more processor-executable instructions cause the at least one processor to:
- intercept the plurality of interactions by using the set of abstraction layers, wherein intercepting the plurality of interactions includes:
- (i) intercepting an object interaction with the object abstraction layer, (ii) intercepting a database interaction with the database abstraction layer, and (iii) intercepting a file system interaction with the file system abstraction layer;
- split the plurality of interactions by using the set of abstraction layers, wherein splitting the plurality of interactions includes:
- (i) splitting the object interaction with the object abstraction layer, (ii) splitting the database interaction with the database abstraction layer, and (iii) splitting the file system interaction with the file system abstraction layer;
- quiesce each of the object abstraction layer, the database abstraction layer, and the file system abstraction layer by refraining from sending acknowledgements for intercepted data;
- flush each of the object abstraction layer, the database abstraction layer, and the file system abstraction layer;
- and
- create a consistent point-in-time across each of the data storage capabilities after the object abstraction layer, the database abstraction layer, and the file system abstraction layer have been flushed.
A computer implemented method comprising:
- intercepting a plurality of interactions by using a set of abstraction layers including an object abstraction layer, a database abstraction layer, and a file system abstraction layer, wherein intercepting the plurality of interactions includes:
- (i) intercepting an object interaction with the object abstraction layer, (ii) intercepting a database interaction with the database abstraction layer, and (iii) intercepting a file system interaction with the file system abstraction layer;
- splitting the plurality of interactions by using the set of abstraction layers, wherein splitting the plurality of interactions includes:
- (i) splitting the object interaction with the object abstraction layer, (ii) splitting the database interaction with the database abstraction layer, and (iii) splitting the file system interaction with the file system abstraction layer;
- quiescing each of the object abstraction layer, the database abstraction layer, and the file system abstraction layer by refraining from sending acknowledgements for intercepted data;
- flushing each of the object abstraction layer, the database abstraction layer, and the file system abstraction layer, and
- creating a consistent point-in-time across each of a plurality of data storage capabilities after the object abstraction layer, the database abstraction layer, and the file system abstraction layer have been flushed, the plurality of data storage capabilities including an object store, a database, and a file system.
A computer program product comprising:
- a non-transitory computer readable medium encoded with computer executable program code, wherein the code enables execution across one or more processors of:
- intercepting a plurality of interactions by using a set of abstraction layers including an object abstraction layer, a database abstraction layer, and a file system abstraction layer, wherein intercepting the plurality of interactions includes:
- (i) intercepting an object interaction with the object abstraction layer, (ii) intercepting a database interaction with the database abstraction layer, and (iii) intercepting a file system interaction with the file system abstraction layer;
- splitting the plurality of interactions by using the set of abstraction layers, wherein splitting the plurality of interactions includes:
- (i) splitting the object interaction with the object abstraction layer, (ii) splitting the database interaction with the database abstraction layer, and (iii) splitting the file system interaction with the file system abstraction layer;
- quiescing each of the object abstraction layer, the database abstraction layer, and the file system abstraction layer by refraining from sending acknowledgements for intercepted data;
- flushing each of the object abstraction layer, the database abstraction layer, and the file system abstraction layer, and
- creating a consistent point-in-time across each of a plurality of data storage capabilities after the object abstraction layer, the database abstraction layer, and the file system abstraction layer have been flushed, the plurality of data storage capabilities including an object store, a database, and a file system.
Dependencies are inferred from the claim text.