AGGREGATED OPPORTUNISTIC LOCK AND AGGREGATED IMPLICIT LOCK MANAGEMENT FOR LOCKING AGGREGATED FILES IN A SWITCHED FILE SYSTEM
First Claim
1. A method of caching data from user files stored in shared data computer network, 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 to access a subset of a specified user file, the request including a request for an opportunistic lock on the subset of the specified user file;
identifying a subset of file servers that store portions of the user file that together comprise the subset of the specified user file;
sending an oplock request to each file server in the subset of file servers, and receiving oplock request replies from the subset of file servers;
aggregating the received oplock request replies to produce an aggregated oplock reply, such that the aggregated oplock reply is an oplock grant only when all the received oplock request replies are oplock grants; and
sending the aggregated oplock reply to a sender of the user request, thereby enabling the sender to cache data from the subset of the specified user file only when the aggregate oplock reply is an oplock grant.
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 supports caching of a particular aggregated data file either locally in a client computer or in the file switch in accordance with the exclusivity level of an opportunistic lock granted to the entity that requested caching. The opportunistic lock can be obtained either on the individual data files stored in the file servers or on the metadata files that contain the location of each individual data files in the file servers. The opportunistic lock can be broken if another client tries to access the aggregated data file. Opportunistic locks allows client-side caching while preserving data integrity and consistency, hence the performance of the switched file system is increased.
-
Citations
12 Claims
-
1. A method of caching data from user files stored in shared data computer network, 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 to access a subset of a specified user file, the request including a request for an opportunistic lock on the subset of the specified user file; identifying a subset of file servers that store portions of the user file that together comprise the subset of the specified user file; sending an oplock request to each file server in the subset of file servers, and receiving oplock request replies from the subset of file servers; aggregating the received oplock request replies to produce an aggregated oplock reply, such that the aggregated oplock reply is an oplock grant only when all the received oplock request replies are oplock grants; and sending the aggregated oplock reply to a sender of the user request, thereby enabling the sender to cache data from the subset of the specified user file only when the aggregate oplock reply is an oplock grant. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of caching data from user files stored in shared data computer network, 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 to access a specified user file, the request including a request for an opportunistic lock on the specified user file; accessing metadata identifying a set of file servers for storing respective defined portions of the specified user file; identifying, based on the metadata, a subset of the file servers that store portions of the user file that together comprise the specified user file; sending an oplock request to each file server in the subset of file servers, and receiving oplock request replies from the subset of file servers; aggregating the received oplock request replies to produce an aggregated oplock reply, such that the aggregated oplock reply is an oplock grant only when all the received oplock request replies are oplock grants; and sending the aggregated oplock reply to a sender of the user request, thereby enabling the sender to cache data from the subset of the specified user file only when the aggregate oplock reply is an oplock grant. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12-59. -59. (canceled)
Specification