Activity-based block management of a clustered file system using client-side block maps
First Claim
Patent Images
1. A client node of a clustered file system, the client node comprising:
- a data storage subsystem; and
a processor coupled to the data storage subsystem, wherein the processor is configured to;
allocate a number of blocks during a first time window;
track the number of blocks allocated during the first time window;
transmit a block allocation request to a server node of the clustered file system for a number of requested blocks in response to a number of free blocks in a client-side block map of one or more client-side block maps falling below a first threshold value, wherein the number of the requested blocks is based on the number of blocks allocated by the client node during the first time window;
receive, from the server node, a client-side block map revocation message associated with the client-side block map; and
in response to receiving the client-side block map revocation message, transmit one or more extent messages to the server node, wherein the one or more extent messages each provide a contiguous set of blocks specified by a start block and a length that the client node is returning to the server node; and
transmit a client-side block map response message to the server node of the clustered file system following transmission of a last one of the one or more extent messages, wherein the client-side block map response message indicates all blocks maintained by the client-side block map have been returned to the server node.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for operating a client node in a clustered file system includes allocating a number of blocks during a first time window and tracking the number of blocks allocated during the first time window. The technique further includes transmitting a block allocation request to a server node of the clustered file system for a number of requested blocks in response to a number of free blocks in a client-side block map reaching a first threshold value. In this case, the number of the requested blocks is based on the number of blocks allocated by the client node during the first time window.
-
Citations
13 Claims
-
1. A client node of a clustered file system, the client node comprising:
-
a data storage subsystem; and a processor coupled to the data storage subsystem, wherein the processor is configured to; allocate a number of blocks during a first time window; track the number of blocks allocated during the first time window; transmit a block allocation request to a server node of the clustered file system for a number of requested blocks in response to a number of free blocks in a client-side block map of one or more client-side block maps falling below a first threshold value, wherein the number of the requested blocks is based on the number of blocks allocated by the client node during the first time window; receive, from the server node, a client-side block map revocation message associated with the client-side block map; and in response to receiving the client-side block map revocation message, transmit one or more extent messages to the server node, wherein the one or more extent messages each provide a contiguous set of blocks specified by a start block and a length that the client node is returning to the server node; and transmit a client-side block map response message to the server node of the clustered file system following transmission of a last one of the one or more extent messages, wherein the client-side block map response message indicates all blocks maintained by the client-side block map have been returned to the server node. - View Dependent Claims (2, 3, 4, 5, 11, 12)
-
-
6. A server node of a clustered file system, the server node comprising:
-
a data storage subsystem; and a processor coupled to the data storage subsystem, wherein the processor is configured to; track a number of free blocks in the clustered file system; in response the number of the free blocks in the clustered file system falling below a first threshold value, transmit a client-side block map revocation message to one or more client nodes of the clustered file system, wherein the client-side block map revocation message provides an indication to one or more client nodes to discontinue local block map management until local block map management is again allowed by the server node; determine whether the number of free blocks in the client-side block map is greater than the first threshold value; and in response to determining the number of free blocks in the client-side block map is greater than the first threshold value, determining whether the number of free blocks in the client-side block map is greater than a second threshold value, wherein the second threshold value is greater than the first threshold value; and in response to determining that the number of the free blocks in the clustered file system is greater than a second threshold value and receipt of a block allocate message from the first one of the client nodes, transmit a client-side block map initiation message to a first one of the client nodes of the clustered file system, wherein in response to the first one of the client nodes receiving the client-side block map initiation, the first one of the client nodes initiates maintenance of the client-side block map. - View Dependent Claims (7, 8, 9, 10, 13)
-
Specification