Data coherency system and method
First Claim
Patent Images
1. A computer-implemented method, executed on a computing device, comprising:
- defining an IO splitter module within each of a plurality of nodes included within a hyper-converged storage environment;
defining a coherency module on at least one of the plurality of nodes;
receiving a data request, wherein the data request is one or more of a data read request and a data write request;
processing a data write request on a local IO splitter module of a local node onto which a data extent is to be written, wherein processing the data write request includes determining a local storage location within the local node and a remote storage location within a remote node; and
locking, via the coherency module, the remote storage location within the remote node into which a remote copy of the data extent is to be written and the local storage location within the local node into which a local copy of the data extent is to be written in response to a single data write request, wherein locking the remote storage location and the local storage location includes;
requesting a lock concerning the remote storage location from the coherency module,receiving a lock confirmation concerning the remote storage location from the coherency module,writing the remote copy of the data extent into the remote storage location,requesting a lock concerning the local storage location from the coherency module,receiving a lock confirmation concerning the local storage location from the coherency module, andwriting the local copy of the data extent into the local storage location.
8 Assignments
0 Petitions
Accused Products
Abstract
A method, computer program product, and computing system for defining an IO splitter module within each of a plurality of nodes included within a hyper-converged storage environment. A coherency module is defined on at least one of the plurality of nodes. A data request is received.
-
Citations
17 Claims
-
1. A computer-implemented method, executed on a computing device, comprising:
-
defining an IO splitter module within each of a plurality of nodes included within a hyper-converged storage environment; defining a coherency module on at least one of the plurality of nodes; receiving a data request, wherein the data request is one or more of a data read request and a data write request; processing a data write request on a local IO splitter module of a local node onto which a data extent is to be written, wherein processing the data write request includes determining a local storage location within the local node and a remote storage location within a remote node; and locking, via the coherency module, the remote storage location within the remote node into which a remote copy of the data extent is to be written and the local storage location within the local node into which a local copy of the data extent is to be written in response to a single data write request, wherein locking the remote storage location and the local storage location includes; requesting a lock concerning the remote storage location from the coherency module, receiving a lock confirmation concerning the remote storage location from the coherency module, writing the remote copy of the data extent into the remote storage location, requesting a lock concerning the local storage location from the coherency module, receiving a lock confirmation concerning the local storage location from the coherency module, and writing the local copy of the data extent into the local storage location. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
-
defining an IO splitter module within each of a plurality of nodes included within a hyper-converged storage environment; defining a coherency module on at least one of the plurality of nodes; receiving a data request, wherein the data request is one or more of a data read request and a data write request; processing the data write request on a local IO splitter module of a local node onto which the data extent is to be written, wherein processing the data write request includes determining a local storage location within the local node and a remote storage location within a remote node; and locking, via the coherency module, a remote storage location within a remote node into which a remote copy of the data extent is to be written and a local storage location within the local node into which a local copy of the data extent is to be written, wherein locking the remote storage location and the local storage location includes; requesting a lock concerning the remote storage location from the coherency module, receiving a lock confirmation concerning the remote storage location from the coherency module, writing the remote copy of the data extent into the remote storage location, requesting a lock concerning the local storage location from the coherency module, receiving a lock confirmation concerning the local storage location from the coherency module, and writing the local copy of the data extent into the local storage location. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing system including a processor and memory configured to perform operations comprising:
-
defining, by the processor, an IO splitter module within each of a plurality of nodes included within a hyper-converged storage environment; defining, by the processor, a coherency module on at least one of the plurality of nodes; receiving, by the processor, a data request, wherein the data request is one or more of a data read request and a data write request; processing the data write request on a local IO splitter module of a local node onto which the data extent is to be written, wherein processing the data write request includes determining a local storage location within the local node and a remote storage location within a remote node; and locking, via the coherency module, a remote storage location within a remote node into which a remote copy of the data extent is to be written and a local storage location within the local node into which a local copy of the data extent is to be written, wherein locking the remote storage location and the local storage location includes; requesting a lock concerning the remote storage location from the coherency module, receiving a lock confirmation concerning the remote storage location from the coherency module, writing the remote copy of the data extent into the remote storage location, requesting a lock concerning the local storage location from the coherency module, receiving a lock confirmation concerning the local storage location from the coherency module, and writing the local copy of the data extent into the local storage location. - View Dependent Claims (16, 17)
-
Specification