Aggregated lock management for locking aggregated files in a switched file system
First Claim
1. A file switch, comprising:
- at least one processing unit coupled to a memory and configured to execute programmed instructions stored in the memory comprising;
receiving a request from a client computing device to perform an operation on a subset of a specified user file;
accessing a primary metafile that stores information identifying a subset of a plurality of file servers that store respective defined portions of the specified user file that together comprise the subset of the specified user file;
sending a lock request to each file server in the subset of file servers, to obtain a lock on the respective portion of the specified user file stored therein;
aggregating a lock acquisition result from each file server in the subset of fileservers to produce an aggregated lock acquisition result; and
performing the operation on the subset of the specified user file when the aggregated lock acquisition result is a positive result.
5 Assignments
0 Petitions
Accused Products
Abstract
A switched file system, also termed a file switch, is logically positioned between client computers and file servers in a computer network. The file switch distributes user files among multiple file servers using aggregated file, transaction and directory mechanisms. The file switch ensures consistent and atomic behavior of the switched file system by aggregating in a deterministic way the transactions initiated by the client of multiple independent file switches so that only one of the multiple concurrent transactions attempted on the same aggregated data file may succeed, or so that the transactions are serialized so as to be performed as a sequence of atomic operations. In addition, the integrity of the aggregated data file is safeguarded by issuing locking requests on behalf of certain client applications that do not observe locking mechanism consistently.
357 Citations
16 Claims
-
1. A file switch, comprising:
at least one processing unit coupled to a memory and configured to execute programmed instructions stored in the memory comprising; receiving a request from a client computing device to perform an operation on a subset of a specified user file; accessing a primary metafile that stores information identifying a subset of a plurality of file servers that store respective defined portions of the specified user file that together comprise the subset of the specified user file; sending a lock request to each file server in the subset of file servers, to obtain a lock on the respective portion of the specified user file stored therein; aggregating a lock acquisition result from each file server in the subset of fileservers to produce an aggregated lock acquisition result; and performing the operation on the subset of the specified user file when the aggregated lock acquisition result is a positive result. - View Dependent Claims (2, 3, 4)
-
5. A non-transitory computer readable medium having stored thereon instructions for locking aggregated files in a distributed file system which when executed by at least one processor, causes the processor to perform steps comprising:
-
receiving a request from a client computing device to perform an operation on a subset of a specified user file; accessing a primary metafile that stores information identifying a subset of a plurality of file servers that store respective defined portions of the specified user file that together comprise the subset of the specified user file; sending a lock request to each file server in the subset of file servers, to obtain a lock on the respective portion of the specified user file stored therein; aggregating a lock acquisition result from each file server in the subset of file servers to produce an aggregated lock acquisition result; and performing the operation on the subset of the specified user file when the aggregated lock acquisition result is a positive result. - View Dependent Claims (6, 7, 8)
-
-
9. A distributed file system, comprising:
-
a plurality of file servers; a plurality of client computing devices; and a file switch in communication with the plurality of file servers and the plurality of client computing devices and including at least one processing unit coupled to a memory and configured to execute programmed instructions stored in the memory comprising; receiving a request from one of the client computing devices to perform an operation on a subset of a specified user file; accessing a primary metafile that stores information identifying a subset of the plurality of file servers that store respective defined portions of the specified user file that together comprise the subset of the specified user file; sending a lock request to each file server in the subset of file servers, to obtain a lock on the respective portion of the specified user file stored therein; aggregating a lock acquisition result from each file server in the subset of fileservers to produce an aggregated lock acquisition result; and performing the operation on the subset of the specified user file when the aggregated lock acquisition result is a positive result. - View Dependent Claims (10, 11, 12)
-
-
13. A method for locking aggregated files in a distributed file system, comprising:
-
receiving, with a file switch, a request from a client computing device to perform an operation on a subset of a specified user file; accessing, with the file switch, a primary metafile that stores information identifying a subset of a plurality of file servers that store respective defined portions of the specified user file that together comprise the subset of the specified user file; sending, with the file switch, a lock request to each file server in the subset of file servers, to obtain a lock on the respective portion of the specified user file stored therein; aggregating, with the file switch, a lock acquisition result from each file server in the subset of fileservers to produce an aggregated lock acquisition result; and performing, with the file switch, the operation on the subset of the specified user file when the aggregated lock acquisition result is a positive result. - View Dependent Claims (14, 15, 16)
-
Specification