Transactional processing for clustered file systems
First Claim
Patent Images
1. A method comprising:
- providing a clustered file system (CFS) residing on a cluster of nodes for accessing a shared storage of file system data; and
providing a local cache memory on each node to reduce file system access to the shared storage and for processing modifications to the file system data;
providing a list of data segments modified within an ongoing transaction; and
providing a distributed shared memory (DSM) agent on each node wherein;
the DSM agents collectively manage access permissions to the entire space of file system data on a data segment basis;
the DSM agents utilize the distributed cache memories of the CFS as a virtual shared cache to provide transaction based modifications for user defined transactions on a data segment basis and to provide transaction based modifications of CFS defined transactions on the data segment basis;
each node comprises a local transaction journal for storing committed transactions generated by users on that node;
a rollback procedure scans the list to identify the location of the latest contents of a data segment prior to the transaction;
for each modified data segment, the rollback procedure identifies the location of the latest contents prior to the transaction 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 it was inserted into the list, then the latest contents of this data segment appears in its final location in the shared storage;
the type of each data segment is recorded in the list during insertion of the data segment into the list;
and wherein;
all data segments in the list whose latest contents appear in their final location are discarded from the cache;
for all the other data segments in the list, their latest contents are restored from the journal into the cache, by scanning the journal from its ending to its beginning and considers the first occurrences of these data segments in the journal, and then setting their modification indication to true; and
the procedure releases the exclusive permissions on all the data segments involved in the cancelled transaction.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for transactional processing within a clustered file system wherein user defined transactions operate on data segments of the file system data. The users are provided within an interface for using a transactional mechanism, namely services for opening, writing and rolling-back transactions. A distributed shared memory technology is utilized to facilitate efficient and coherent cache management within the clustered file system based on the granularity of data segments (rather than files).
-
Citations
56 Claims
-
1. A method comprising:
-
providing a clustered file system (CFS) residing on a cluster of nodes for accessing a shared storage of file system data; and providing a local cache memory on each node to reduce file system access to the shared storage and for processing modifications to the file system data; providing a list of data segments modified within an ongoing transaction; and providing a distributed shared memory (DSM) agent on each node wherein; the DSM agents collectively manage access permissions to the entire space of file system data on a data segment basis; the DSM agents utilize the distributed cache memories of the CFS as a virtual shared cache to provide transaction based modifications for user defined transactions on a data segment basis and to provide transaction based modifications of CFS defined transactions on the data segment basis; each node comprises a local transaction journal for storing committed transactions generated by users on that node; a rollback procedure scans the list to identify the location of the latest contents of a data segment prior to the transaction; for each modified data segment, the rollback procedure identifies the location of the latest contents prior to the transaction 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 it was inserted into the list, then the latest contents of this data segment appears in its final location in the shared storage; the type of each data segment is recorded in the list during insertion of the data segment into the list; and wherein; all data segments in the list whose latest contents appear in their final location are discarded from the cache; for all the other data segments in the list, their latest contents are restored from the journal into the cache, by scanning the journal from its ending to its beginning and considers the first occurrences of these data segments in the journal, and then setting their modification indication to true; and the procedure releases the exclusive permissions on all the data segments involved in the cancelled transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A non-transitory computer program product for managing access in a clustered file system (CFS) to a shared storage of file system data, each node of the CFS having a local cache memory, the computer program product comprising:
-
a computer usable medium having computer usable program code embodied therewith, the computer usable code comprising; computer usable program code configured to provide a distributed shared memory (DSM) agent on each node; computer usable program code configured to enable the DSM agents to collectively manage access permissions to the entire space of file system data on a data segment basis using the distributed cache memories of the CFS as a virtual shared cache; computer usable program code configured to provide a list of data segments modified within an ongoing transaction; and computer usable program code configured to provide transaction based modifications for user defined transactions on a data segment basis and to provide transaction based modifications for CFS defined transactions on the data segment basis, wherein; each node comprises a local transaction journal for storing committed transactions generated by users on that node; a rollback procedure scans the list to identify the location of the latest contents of a data segment prior to the transaction; and for each modified data segment, the rollback procedure identifies the location of the latest contents prior to the transaction 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 it was inserted into the list, then the latest contents of this data segment appears in its final location in the shared storage; the type of each data segment is recorded in the list during insertion of the data segment into the list; and wherein; all data segments in the list whose latest contents appear in their final location are discarded from the cache; for all the other data segments in the list, their latest contents are restored from the journal into the cache, by scanning the journal from its ending to its beginning and consider the first occurrences of these data segments in the journal, and then setting their modification indication to true; and the procedure releases the exclusive permissions on all the data segments involved in the cancelled transaction. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
-
56. A system comprising:
-
a clustered file system (CFS) including a cluster of nodes forming a computer cluster, each node having a processor and a local cache memory coupled to the processor, and each node being in communication with a shared storage of file system data; wherein the processor and the memory are configured to perform a method comprising; providing a list of data segments modified within an ongoing transaction; and providing a distributed shared memory (DSM) agent on each node;
wherein;the DSM agents collectively manage access permissions to the entire space of file system data on a data segment basis; the DSM agents utilize the distributed cache memories of the CFS as a virtual shared cache to provide transaction based modifications for user defined transactions on a data segment basis and to provide transaction based modifications for CFS defined transactions on the data segment basis; each node comprises a local transaction journal for storing committed transactions generated by users on that node; a rollback procedure scans the list to identify the location of the latest contents of a data segment prior to the transaction; for each modified data segment, the rollback procedure identifies the location of the latest contents prior to the transaction 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 it was inserted into the list, then the latest contents of this data segment appears in its final location in the shared storage; the type of each data segment is recorded in the list during insertion of the data segment into the list; and wherein; all data segments in the list whose latest contents appear in their final location are discarded from the cache; for all the other data segments in the list, their latest contents are restored from the journal into the cache by scanning the journal from its ending to its beginning and consider the first occurrences of these data segments in the journal, and then setting their modification indication to true; and the procedure releases the exclusive permissions on all the data segments involved in the cancelled transaction.
-
Specification