Method and apparatus for asynchronous file writes in a distributed file system
First Claim
1. A method for delaying asynchronous writes in a distributed file system of a computing system to which a unique identifier is assigned, comprising:
- said computing system buffering a page of dirty data with the unique identifier upon writing to a server;
said computing system changing the unique identifier to create a current unique identifier that is assigned to the distributed file system upon a failure of the server;
said computing system comparing the buffered unique identifier with the current unique identifier when the page is requested while the page is in a written state;
said computing system handling the request responsive to the comparison by storing the buffered written page to disk storage if the buffered unique identifier differs from the current unique identifier or performing a file sync operation if the buffered unique identifier matches the current unique identifier; and
said computing system maintaining cache consistency by issuing an exclusive mode token from the server to a client to permit the client to dirty the page, issuing a shared mode token from the server to the client to permit the client to use, but not dirty, the page, and revoking the exclusive mode token before issuing the shared mode token.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for delaying asynchronous writes in a distributed file system, wherein the file system includes a unique identifier (“UID”). The method comprises buffering a page of dirty data with the unique identifier upon writing to the server; changing the unique identifier (“UID”) to create a current unique identifier upon a failure of the server; comparing the buffered unique identifier with the current unique identifier when the page is requested while the page is in a written state; and handling the request responsive to the comparison. In other aspects of the invention, the invention comprises a computer programmed to perform the method and a program storage medium encoded with instructions that, when executed by a computer, perform the method.
-
Citations
60 Claims
-
1. A method for delaying asynchronous writes in a distributed file system of a computing system to which a unique identifier is assigned, comprising:
-
said computing system buffering a page of dirty data with the unique identifier upon writing to a server; said computing system changing the unique identifier to create a current unique identifier that is assigned to the distributed file system upon a failure of the server; said computing system comparing the buffered unique identifier with the current unique identifier when the page is requested while the page is in a written state; said computing system handling the request responsive to the comparison by storing the buffered written page to disk storage if the buffered unique identifier differs from the current unique identifier or performing a file sync operation if the buffered unique identifier matches the current unique identifier; and said computing system maintaining cache consistency by issuing an exclusive mode token from the server to a client to permit the client to dirty the page, issuing a shared mode token from the server to the client to permit the client to use, but not dirty, the page, and revoking the exclusive mode token before issuing the shared mode token. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A program storage medium encoded with instructions that, when executed by a computer, perform a method for delaying asynchronous writes in a distributed file system to which a unique identifier is assigned, the method comprising:
-
buffering a page of dirty data with the unique identifier upon writing to a server; changing the unique identifier upon a failure of the server to create a current unique identifier; comparing the buffered unique identifier with the current unique identifier when the page is requested while the page is in a written state; and handling the request responsive to the comparison by storing the buffered written page to disk storage if the buffered unique identifier differs from the current unique identifier or performing a file sync operation if the buffered unique identifier matches the current unique identifier; and maintaining cache consistency by issuing an exclusive mode token from the server to a client to permit the client to dirty the page, issuing a shared mode token from the server to the client to permit the client to use, but not dirty, the page, and revoking the exclusive mode token before issuing the shared mode token. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A computer programmed to perform a method for delaying asynchronous writes in a distributed file system to which a unique identifier is assigned, the method comprising:
-
buffering a page of dirty data with the unique identifier upon writing the data to a server; changing the unique identifier upon a failure of the server to create a current unique identifier; comparing the buffered unique identifier with the current unique identifier when the page is requested while the page is in a written state; and handling the request responsive to the comparison by storing the buffered written page to disk storage if the buffered unique identifier differs from the current unique identifier or performing a file sync operation if the buffered unique identifier matches the current unique identifier; and maintaining cache consistency by issuing an exclusive mode token from the server to a client to permit the client to dirty the page, issuing a shared mode token from the server to the client to permit the client to use, but not dirty, the page, and revoking the exclusive mode token before issuing the shared mode token. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
-
Specification