Aggregated lock management for locking aggregated files in a switched file system
First Claim
1. A method of acquiring locks on a user file, where the user file is divided into portions stored on a plurality of file servers, among a group of file servers in a computer network, comprising:
- receiving a user request requiring a lock on a subset of the user file;
identifying a subset of the file servers that store portions of the user file that together comprise the subset of the user file;
at each file server in the subset of file servers, performing a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and producing a lock acquisition result; and
aggregating the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result.
9 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.
119 Citations
34 Claims
-
1. A method of acquiring locks on a user file, where the user file is divided into portions stored on a plurality of file servers, among a group of file servers in a computer network, comprising:
-
receiving a user request requiring a lock on a subset of the user file;
identifying a subset of the file servers that store portions of the user file that together comprise the subset of the user file;
at each file server in the subset of file servers, performing a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and producing a lock acquisition result; and
aggregating the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result.
-
-
2. A method of acquiring locks on a user file, where the user file is divided into portions stored on a plurality of file servers, among a group of file servers in a computer network, comprising:
-
receiving a user request requiring a lock on a subset of the user file;
accessing a metafile that stores information identifying a set of file servers that store respective defined portions of the user file;
determining, based on the information stored in the metafile, a subset of the file servers that store portions of the user file that together comprise the subset of the user file;
at each file server in the subset of file servers, performing a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and producing a lock acquisition result; and
aggregating the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result.
-
-
3. A method of acquiring locks on user files, where each user file of at least a plurality of the user files is divided into portions stored on a plurality of file servers, among a group of file servers in a computer network, comprising:
-
receiving a user request requiring a lock on a subset of a specified user file;
accessing a metafile that stores information identifying a set of file servers that stores respective defined portions of the specified user file;
determining, based on the information stored in the metafile, a subset of the file servers that store portions of the specified user file that together comprise the subset of the specified user file;
at each file server in the subset of file servers, performing a lock acquisition operation to obtain a lock on the respective portion of the specified user file stored therein, and producing a lock acquisition result; and
aggregating the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. A file switch for use in a computer network having a group of file servers and a plurality of client computers, the file switch comprising:
-
at least one processing unit for executing computer programs;
at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file;
a file aggregation module including one or more computer programs, the computer programs including instructions for;
receiving a user request requiring a lock on a subset of a specified user file;
accessing a metafile that stores information identifying a set of file servers that store respective defined portions of the specified user file;
determining, based on the information stored in the metafile, a subset of the file servers that store portions of the specified user file that together comprise the subset of the specified user file;
at each file server in the subset of file servers, performing a lock acquisition operation to obtain a lock on the respective portion of the specified user file stored therein, and producing a lock acquisition result; and
aggregating the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method of managing locks on a user file in a system in which the user file is divided into portions stored on a plurality of file servers, among a group of file servers in a computer network, comprising:
-
receiving a user request requiring a lock on a subset of the user file;
accessing a metafile that stores information identifying a set of file servers that store respective defined portions of the user file;
performing a lock acquisition operation on the metafile, the lock acquisition operation using a first range of file positions corresponding to the subset of the user file, the first range of file positions falling at least partially outside file positions located within the metafile, and producing a lock acquisition result; and
when the lock acquisition result is positive, continuing processing of the user request by performing an operation on the subset of the user file. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A file switch for use in a computer network having a group of file servers and a plurality of client computers, the file switch comprising:
-
at least one processing unit for executing computer programs;
at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file;
a file aggregation module including one or more computer programs, the computer programs including instructions for;
receiving a user request requiring a lock on a subset of the specified user file;
accessing a metafile that stores information identifying a set of file servers that store respective defined portions of the specified user file;
initiating a lock acquisition operation on the metafile, the lock acquisition operation using a first range of file positions that at least partially fall outside file positions located within the metafile, the first range of file positions corresponding to subset of the specified user file, and producing a lock acquisition result; and
when the lock acquisition result is positive, continuing processing of the user request by performing an operation on the subset of the specified user file. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A system for use in a computer network having a plurality of client computers, the system comprising:
-
a group of file servers;
a file switch, the file switch including;
at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file;
means for receiving a user request requiring a lock on a subset of the specified user file;
means for accessing a metafile that stores information identifying a set of file servers that store respective defined portions of the specified user file;
means for initiating a lock acquisition operation on the metafile, the lock acquisition operation using a first range of file positions that at least partially fall outside file positions located within the metafile, the first range of file positions corresponding to subset of the specified user file, and producing a lock acquisition result; and
means for continuing processing of the user request, when the lock acquisition result is positive, by performing an operation on the subset of the specified user file. - View Dependent Claims (26, 27, 28, 29)
-
-
30. A system for use in a computer network having a plurality of client computers, the system comprising:
-
a group of file servers;
a file switch, the file switch including;
at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file;
at least one processing unit for executing computer programs;
a file aggregation module including one or more computer programs, the computer programs including instructions for;
receiving a user request requiring a lock on a subset of the specified user file;
accessing a metafile that stores information identifying a set of file servers that store respective defined portions of the specified user file;
initiating a lock acquisition operation on the metafile, the lock acquisition operation using a first range of file positions that at least partially fall outside file positions located within the metafile, the first range of file positions corresponding to subset of the specified user file, and producing a lock acquisition result; and
when the lock acquisition result is positive, continuing processing of the user request by performing an operation on the subset of the specified user file. - View Dependent Claims (31, 32, 33, 34)
-
Specification