Page cache management for a shared file
First Claim
Patent Images
1. A method of providing concurrent access to data, said method comprising:
- receiving, by a processor of a second network node, a request from a first network node for access to a first portion of a file, whereinsaid first portion of said file is a subset of a region of said file,the second network node has been granted access to said region of said file, andsaid access to said region of said file is controlled by a first range lock;
in response to receiving the request from the first network node for access to the first portion of said file,said processor performing an operation on a set of pages in a page cache stored in a page cache memory coupled to said processor, whereinthe set of pages corresponds to said region of said file,a first page of the set of pages corresponds to the first portion of the file, andthe performing the operation comprises causing the first page of the set of pages to be provided to the first network node if the second network node has been granted exclusive access to the first portion of the file, andrevoking said first range lock to the first portion if the second network node has been granted exclusive access to the first portion of the file; and
transmitting to said second network node information causing a second range lock to be associated with said first portion of the file.
7 Assignments
0 Petitions
Accused Products
Abstract
A method, system, computer system, and computer-readable medium to efficiently coordinate caching operations between nodes operating on the same file while allowing different regions of the file to be written concurrently. More than one program can concurrently read and write to the same file. Pages of data from the file are proactively and selectively cached and flushed on different nodes. In one embodiment, range locks are used to effectively flush and invalidate only those pages that are accessed on another node.
-
Citations
23 Claims
-
1. A method of providing concurrent access to data, said method comprising:
-
receiving, by a processor of a second network node, a request from a first network node for access to a first portion of a file, wherein said first portion of said file is a subset of a region of said file, the second network node has been granted access to said region of said file, and said access to said region of said file is controlled by a first range lock; in response to receiving the request from the first network node for access to the first portion of said file, said processor performing an operation on a set of pages in a page cache stored in a page cache memory coupled to said processor, wherein the set of pages corresponds to said region of said file, a first page of the set of pages corresponds to the first portion of the file, and the performing the operation comprises causing the first page of the set of pages to be provided to the first network node if the second network node has been granted exclusive access to the first portion of the file, and revoking said first range lock to the first portion if the second network node has been granted exclusive access to the first portion of the file; and transmitting to said second network node information causing a second range lock to be associated with said first portion of the file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for providing concurrent access to data, said system comprising:
-
a processor of a second network node; means for causing said processor of said second network node to receive a request from a first network node for access to a first portion of a file, wherein said first portion of said file is a subset of a region of said file, said second network node has been granted access to said region of the file, and said access to said region of said file is controlled by a first range lock; means for operating on a set of pages in a page cache coupled to said processor of said second network node in response to the request from the first network node, wherein the set of pages corresponds to the region of the file, a first page of the set of pages corresponds to the first portion of the file, and the means for operating causes the first page of the set of pages to be provided to the first network node if the second network node has been granted exclusive access to the first portion of the file; means for revoking said first range lock to the first portion if the second network node has been granted exclusive access to the first portion of the file; and means for transmitting to said second network node information causing a second range lock to be associated with the first portion of the file. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer-readable storage medium comprising:
-
receiving instructions to cause a processor of a second network node to receive a request from a first network node for access to a first portion of a file by said first network node, wherein said first portion of the file is a subset of a region of the file, said second network node has been granted access to the region of the file, and said access to said region of the file is controlled by a first range lock; causing instructions to cause an operation to be performed by said processor of said second network node on a set of pages in a page cache coupled to said processor of said second network node, wherein the causing instructions are performed in response to the request for access to the first portion of the file by said first network node, the set of pages corresponds to the region of the file, a first page of the set of pages corresponds to the first portion of the file, and the operation comprises causing the first page of the set of pages to be provided to the first network node if the second network node has been granted exclusive access to the first portion of the file; revoking instructions for revoking said range lock to the first portion if said second network node has been granted exclusive access to said second portion; and transmitting instructions for transmitting to said second network node information causing a second range lock to be associated with said first portion of said file. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A system for providing concurrent access to data, said system comprising:
-
a processor of a second network node; a receiving module to cause said processor of said second network node to receive a request from a first network node for access to a first portion of a file, wherein said first portion of said file is a subset of a region of said file, said second network node has been granted access to the region of the file, and said access to said region of said file is controlled by a first range lock; a causing module for operating on a set of pages in a page cache coupled to said processor of the second network node, wherein the causing module causes the operation to be performed in response to the request for access to a first portion of the file by the first network node, wherein the set of pages corresponds to the region of the file, a first page of the set of pages corresponds to the first portion of the file, and the operation comprises causing the first page of the set of pages to be provided to the first network node if the second network node has been granted exclusive access to the first portion of the file; a revoking module for revoking said range lock to the first portion if said second network node has been granted exclusive access to said first portion; and a transmitting module for transmitting to said second network node information causing a second range lock to be associated with said first portion of said file. - View Dependent Claims (20, 21, 22, 23)
-
Specification