Concurrent processing of transactions and read operations achieving serialization and isolation in clustered file systems
First Claim
Patent Images
1. A method for concurrent processing of transactions and read operations for achieving serialization and isolation in a clustered file system (CFS) using a processor device, the method comprising:
- allowing users performing read only operations to currently access the CFS while mutually excluding and serializing the transactions of users affecting a same portion of the CFS;
ordering the transactions across a cluster of nodes of the CFS according to a termination time of the transactions;
including a transaction journal in each node for storing committed transactions generated by users on that node;
scanning a list to identify the location of the latest contents of a data segment prior to the transaction using a rollback procedure;
for each modified data segment, identifying the location of the latest contents prior to the transaction using the rollback procedure by;
if the data segment was marked as modified in the cache at the time it was inserted into the list, then the latest contents of this data segment appears only in the journal,otherwise, if the data segment was not marked as modified in the cache at the time the data segment was inserted into the list, then the latest contents of this data segment appears in its final location in the shared storage; and
recording a type of each data segment in the list during insertion of the data segment into the list, wherein;
all data segments in the list whose latest contents appear in a final location are discarded from the cache,for all the other data segments in the list, latest contents for the all the other data segments are restored from the journal into the cache by scanning the local transaction journal from ending to beginning, and first occurrences of these data segments in the local transaction journal are considered, and a modification indication of the data segments is set as true, andexclusive permissions on all the data segments involved in a cancellation transaction are released.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems. Methods, and Computer Program Products are provided for concurrent processing of transactions and read operations for achieving serialization and isolation in a clustered file system (CFS). Users, performing read only operations, are allowed to currently access the CFS while mutually excluding and serializing transactions of users affecting a same portion of the CFS. Transactions are ordered across a cluster of nodes of the CFS according to the transactions termination time.
12 Citations
21 Claims
-
1. A method for concurrent processing of transactions and read operations for achieving serialization and isolation in a clustered file system (CFS) using a processor device, the method comprising:
-
allowing users performing read only operations to currently access the CFS while mutually excluding and serializing the transactions of users affecting a same portion of the CFS; ordering the transactions across a cluster of nodes of the CFS according to a termination time of the transactions; including a transaction journal in each node for storing committed transactions generated by users on that node; scanning a list to identify the location of the latest contents of a data segment prior to the transaction using a rollback procedure; for each modified data segment, identifying the location of the latest contents prior to the transaction using the rollback procedure by; if the data segment was marked as modified in the cache at the time it was inserted into the list, then the latest contents of this data segment appears only in the journal, otherwise, if the data segment was not marked as modified in the cache at the time the data segment was inserted into the list, then the latest contents of this data segment appears in its final location in the shared storage; and recording a type of each data segment in the list during insertion of the data segment into the list, wherein; all data segments in the list whose latest contents appear in a final location are discarded from the cache, for all the other data segments in the list, latest contents for the all the other data segments are restored from the journal into the cache by scanning the local transaction journal from ending to beginning, and first occurrences of these data segments in the local transaction journal are considered, and a modification indication of the data segments is set as true, and exclusive permissions on all the data segments involved in a cancellation transaction are released. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for concurrent processing of transactions and read operations for achieving serialization and isolation in a clustered file system (CFS), the system comprising:
-
a cluster of nodes, the CFS including the cluster of nodes forming a computer cluster, a distributed shared memory (DSM) agent within a node of the cluster of nodes, a plurality of storage devices in communication with the CFS, a cache associated with the node, a transaction journal associated with the CFS, and a processor device having a memory coupled to the processor device for controlling the CFS, wherein the processor device is assigned to the node and the node is in communication with the plurality of storage devices, wherein the processor device; allows users performing read only operations to currently access the CFS while mutually excluding and serializing the transactions of users affecting a same portion of the CFS; orders the transactions across a cluster of nodes of the CFS according to a termination time of the transactions; includes a transaction journal in each node for storing committed transactions generated by users on that node; includes a list to identify the location of the latest contents of a data segment prior to the transaction using a rollback procedure; for each modified data segment, identifies the location of the latest contents prior to the transaction using the rollback procedure by; if the data segment was marked as modified in the cache at the time it was inserted into the list, then the latest contents of this data segment appears only in the journal, otherwise, if the data segment was not marked as modified in the cache at the time the data segment was inserted into the list, then the latest contents of this data segment appears in its final location in the shared storage; and records a type of each data segment in the list during insertion of the data segment into the list, wherein; all data segments in the list whose latest contents appear in a final location are discarded from the cache, for all the other data segments in the list, latest contents for the all the other data segments are restored from the journal into the cache by scanning the local transaction journal from ending to beginning, and first occurrences of these data segments in the local transaction journal are considered, and a modification indication of the data segments is set as true, and exclusive permissions on all the data segments involved in a cancellation transaction are released. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product for concurrent processing of transactions and read operations for achieving serialization and isolation in a clustered file system (CFS) using a processor device, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:
-
a first executable portion that allows users performing read only operations to currently access the CFS while mutually excluding and serializing the transactions of users affecting a same portion of the CFS; a second executable portion that orders the transactions across a cluster of nodes of the CFS according to a termination time of the transactions; a third executable portion that includes a transaction journal in each node for storing committed transactions generated by users on that node; a fourth executable portion that includes a list to identify the location of the latest contents of a data segment prior to the transaction using a rollback procedure; for each modified data segment, a fifth executable portion that identifies the location of the latest contents prior to the transaction using the rollback procedure by; if the data segment was marked as modified in the cache at the time it was inserted into the list, then the latest contents of this data segment appears only in the journal, otherwise, if the data segment was not marked as modified in the cache at the time the data segment was inserted into the list, then the latest contents of this data segment appears in its final location in the shared storage; and a sixth executable portion that records a type of each data segment in the list during insertion of the data segment into the list, wherein; all data segments in the list whose latest contents appear in a final location are discarded from the cache, for all the other data segments in the list, latest contents for the all the other data segments are restored from the journal into the cache by scanning the local transaction journal from ending to beginning, and first occurrences of these data segments in the local transaction journal are considered, and a modification indication of the data segments is set as true, and exclusive permissions on all the data segments involved in a cancellation transaction are released. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification