Aggregated lock management for locking aggregated files in a switched file system
First Claim
1. A method of acquiring locks on a user file by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, comprising:
- receiving, by the file switch, a user request requiring a lock on a subset of the user file;
identifying, by the file switch, a subset of the file servers that store portions of the user file that together comprise the subset of the user file based on metadata stored in a metafile;
sending, by the file switch, a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and to produce a lock acquisition result; and
aggregating, by the file switch, 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.
-
Citations
36 Claims
-
1. A method of acquiring locks on a user file by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, comprising:
-
receiving, by the file switch, a user request requiring a lock on a subset of the user file; identifying, by the file switch, a subset of the file servers that store portions of the user file that together comprise the subset of the user file based on metadata stored in a metafile; sending, by the file switch, a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and to produce a lock acquisition result; and aggregating, by the file switch, 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 by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, comprising:
-
receiving, by the file switch, a user request requiring a lock on a subset of the user file; accessing, by the file switch, a metafile that stores at least a portion of metadata for the user file including information identifying a set of file servers that store respective defined portions of the user file; determining, by the file switch, 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; sending, by the file switch, a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and to produce a lock acquisition result; and aggregating, by the file switch, 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 by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of file servers, 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 the group of file servers, comprising:
-
receiving, by the file switch, a user request requiring a lock on a subset of a specified user file; accessing, by the file switch, a metafile that stores at least a portion of metadata for the user file including information identifying a set of file servers that stores respective defined portions of the specified user file; determining, by the file switch, 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; sending, by the file switch, a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the specified user file stored therein, and to produce a lock acquisition result; and aggregating, by the file switch, 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. A method of managing locks on a user file by a file switch logically positioned between a client computer and a group of file servers in a computer network, the file switch including at least one network interface for communication with the client computer and the group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, comprising:
-
receiving, by the file switch, a user request requiring a lock on a subset of the user file; accessing, by the file switch, at least one metafile that stores at least a portion of metadata for the user file including information identifying a set of file servers that store respective defined portions of the user file; performing, by the file switch, a lock acquisition operation on the at least one 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 an aggregated lock acquisition result; and when the aggregated lock acquisition result is positive, continuing processing of the user request by the file switch performing an operation on the subset of the user file. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A file switch for acquiring locks on a user file in a computer network in which the file switch is logically positioned between a client computer and a group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, the file switch comprising:
-
at least one network interface for communication with the client computer and the group of file servers; and a lock manager coupled to the at least one network interface and configured to receive a user request requiring a lock on a subset of the user file;
identify a subset of the file servers that store portions of the user file that together comprise the subset of the user file based on metadata stored in a metafile;send a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and to produce a lock acquisition result; and aggregate the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A file switch for acquiring locks on a user file in a computer network in which the file switch is logically positioned between a client computer and a group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers, the file switch comprising:
-
at least one network interface for communication with the client computer and the group of file servers; and a lock manager coupled to the at least one network interface and configured to receive a user request requiring a lock on a subset of the user file; access at least one metafile that stores information identifying a set of file servers that store respective defined portions of the user file; perform a lock acquisition operation on the at least one 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 produce an aggregated lock acquisition result; and when the aggregated lock acquisition result is positive, continue processing of the user request by performing an operation on the subset of the user file. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A system for acquiring locks on a user file in a computer network having a client computer, the system comprising:
-
a group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers; and a file switch logically positioned between the client computer and the group of file servers, the file switch configured to receive a user request requiring a lock on a subset of the user file; identify a subset of the file servers that store portions of the user file that together comprise the subset of the user file based on metadata stored in a metafile; send a lock request to each file server in the subset of file servers to perform a lock acquisition operation to obtain a lock on the respective portion of the user file stored therein, and to produce a lock acquisition result; and aggregate the lock acquisition results from the subset of file servers to produce an aggregated lock acquisition result. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
-
32. A system for acquiring locks on a user file in a computer network having a client computer, the system comprising:
-
a group of file servers, where the user file is divided into portions stored on a plurality of file servers, among the group of file servers; and a file switch logically positioned between the client computer and the group of file servers, the file switch configured to receive a user request requiring a lock on a subset of the user file;
access at least one metafile that stores information identifying a set of file servers that store respective defined portions of the user file;perform a lock acquisition operation on the at least one 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 produce an aggregated lock acquisition result; and when the aggregated lock acquisition result is positive, continue processing of the user request by performing an operation on the subset of the user file. - View Dependent Claims (33, 34, 35, 36)
-
Specification