SYSTEMS AND METHODS FOR PROVIDING NONLINEAR JOURNALING
First Claim
Patent Images
1. A networked cluster of data storage nodes cooperating to execute transactions that are global to the networked cluster of data storage nodes, comprising:
- a plurality of storage nodes of a distributed file system for storing files distributed in portions among two or more of the storage nodes, the plurality of storage nodes configured to communicate via a network, each storage node comprising;
a processor;
system memory;
at least one storage device configured to store the storage node'"'"'s respective portions of files stored in the distributed file system; and
persistent memory configured to store journal data; and
a plurality of journal modules, each one of said storage nodes having a different one of said plurality of journal modules associated therewith, wherein the journal module associated with each storage node is configured to record, in the associated persistent memory, journal data associated with the participation of the storage node in a global transaction, the global transaction including a write of a portion of a file to the storage node and a write of a different portion of the file to at least one other storage node, wherein the journal module associated with one of the plurality of storage nodes has only a portion of the information needed to recreate an entire global transaction and said journal module must cooperate with a journal module associated with at least one other storage node in order to recreate a global transaction;
wherein the recorded journal data can be used to recreate a transaction.
12 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, systems and methods are provided for nonlinear journaling. In one embodiment, groups of data designated for storage in a data storage unit are journaled into persistent storage. In one embodiment, the journal data is recorded nonlinearly. In one embodiment, a linked data structure records data and data descriptors in persistent storage.
154 Citations
17 Claims
-
1. A networked cluster of data storage nodes cooperating to execute transactions that are global to the networked cluster of data storage nodes, comprising:
-
a plurality of storage nodes of a distributed file system for storing files distributed in portions among two or more of the storage nodes, the plurality of storage nodes configured to communicate via a network, each storage node comprising; a processor; system memory; at least one storage device configured to store the storage node'"'"'s respective portions of files stored in the distributed file system; and persistent memory configured to store journal data; and a plurality of journal modules, each one of said storage nodes having a different one of said plurality of journal modules associated therewith, wherein the journal module associated with each storage node is configured to record, in the associated persistent memory, journal data associated with the participation of the storage node in a global transaction, the global transaction including a write of a portion of a file to the storage node and a write of a different portion of the file to at least one other storage node, wherein the journal module associated with one of the plurality of storage nodes has only a portion of the information needed to recreate an entire global transaction and said journal module must cooperate with a journal module associated with at least one other storage node in order to recreate a global transaction; wherein the recorded journal data can be used to recreate a transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A processor-implemented method of journaling data associated with global transactions in a distributed data storage system, the computer-implemented method comprising:
-
journaling, by processor, data in persistent memory that is stored on a data storage unit in the distributed data storage system, the data storage unit comprising a processor and at least one storage device configured to store the data storage unit'"'"'s respective portions of files stored in the distributed data storage system, said data associated with said data storage unit'"'"'s participation in a transaction that is global to the distributed data storage system, the said transaction involving a write of a portion of a file to said associated data storage unit and a write of a different portion of the same file to at least one other data storage unit, wherein each data storage unit comprises a processor, persistent memory configured to store journal data, and at least one storage device; wherein journaling said data comprises recording information sufficient to recreate the portion of the transaction corresponding to the associated data storage unit, wherein the journaled data associated with a single data storage unit has only a portion of the information needed to recreate a transaction that is global to the distributed data storage system, wherein said data storage unit must cooperate with at least one other data storage unit in order to recreate said transaction. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-readable storage medium having instructions stored thereon for implementing, when the instructions are executed, a journal for data associated with global transactions in a distributed data storage system, the instructions comprising:
-
journaling data in persistent memory that is stored on a data storage unit in the distributed data storage system, the data storage unit comprising a processor and at least one storage device configured to store the data storage unit'"'"'s respective portions of files stored in the distributed data storage system, said data associated with said data storage unit'"'"'s participation in a transaction that is global to the distributed data storage system, said transaction involving cooperation of said data storage unit and at least one other data storage unit; wherein journaling said data comprises recording information sufficient to recreate the portion of the transaction corresponding to the associated data storage unit, wherein the recorded journal data from each of the data storage units participating in the transaction can be collectively used to recreate the transaction. - View Dependent Claims (14, 15, 16, 17)
-
Specification