File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
First Claim
1. In a data network having a plurality of data mover computers that control access to respective file systems in data storage, a method of permitting a first data mover computer to access a file system to which access is controlled by a second data mover computer, said method comprising:
- (a) the first data mover computer sending to the second data mover computer at least one request for access to a file in the file system to which access is controlled by the second data mover computer;
(b) the second data mover computer receiving said at least one request for access to the file, granting to the first data mover a lock on at least a portion of the file, and returning to the first data mover computer metadata of the file including information specifying data storage locations in data storage for storing data of the file;
(c) the first data mover computer receiving from the second data mover computer the metadata of the file, using the metadata of the file to produce at least one data access command for accessing the data storage locations in the data storage, and sending the data access command to the data storage to access the data storage locations in the data storage; and
(d) the data storage responding to the data access command by accessing the data storage locations in the data storage.
8 Assignments
0 Petitions
Accused Products
Abstract
A plurality of data mover computers control access to respective file systems in data storage. A network client serviced by any of the data movers can access each of the file systems. If a data mover receives a client request for access to a file in a file system to which access is controlled by another data mover, then the data mover that received the client request sends a metadata request to the data mover that controls access to the file system. The data mover that controls access to the file system responds by placing a lock on the file and returning metadata of the file. The data mover that received the client request uses the metadata to formulate a data access command that is used to access the file data in the file system over a bypass data path that bypasses the data mover computer that controls access to the file system.
1532 Citations
30 Claims
-
1. In a data network having a plurality of data mover computers that control access to respective file systems in data storage, a method of permitting a first data mover computer to access a file system to which access is controlled by a second data mover computer, said method comprising:
-
(a) the first data mover computer sending to the second data mover computer at least one request for access to a file in the file system to which access is controlled by the second data mover computer;
(b) the second data mover computer receiving said at least one request for access to the file, granting to the first data mover a lock on at least a portion of the file, and returning to the first data mover computer metadata of the file including information specifying data storage locations in data storage for storing data of the file;
(c) the first data mover computer receiving from the second data mover computer the metadata of the file, using the metadata of the file to produce at least one data access command for accessing the data storage locations in the data storage, and sending the data access command to the data storage to access the data storage locations in the data storage; and
(d) the data storage responding to the data access command by accessing the data storage locations in the data storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. In a data network having a plurality of data mover computers that control access to respective file systems in data storage, a method of operating at least one of the data mover computers for processing requests to access specified files contained in respective ones of the file systems, said method comprising:
-
In response to each request to access a specified file, said at least one of the data mover computers checking whether or not said at least one of the data mover computers controls access to the file system containing the specified file, and when said at least one of the data mover computers controls access to the file system containing the specified file, said at least one of the data mover computers accessing the specified file in the file system containing the specified file, and when said at least one of the data mover computers does not control access to the file system containing the specified file and there is not a bypass data path from said at least one of the data mover computers to the file system containing the specified file that bypasses a data mover computer controlling access to the file system containing the specified file, said at least one of the data mover computers forwarding said each request to access a specified file to a data mover computer that controls access to the file system containing the specified file; and
when said at least one of the data mover computers does not control access to the file system containing the specified file and there is a bypass data path from said at least one of the data mover computers to the file system containing the specified file that bypasses a data mover computer that controls access to the file system containing the specified file, said at least one of the data mover computers sending a metadata request to the data mover computer that controls access to the file system containing the specified file to obtain metadata of the specified file from the data mover computer that controls access to the file system containing the specified file, and using the metadata of the specified file to access file data of the file over the bypass data path.
-
-
16. A program storage device containing a program for at least one data mover computer in a data network including a plurality of data mover computers controlling access to respective file systems in data storage, wherein the program is executable by said at least one data mover computer for processing a request for access to a specified file contained in one of the file systems, wherein:
-
the program is executable by said at least one data mover computer for checking whether or not said at least one data mover computer controls access to said one of the file systems, and when said at least one data mover computer controls access to said one of the file systems, accessing the specified file in said one of the file system; and
when said at least one data mover computer does not control access to said one of the file systems and there is not a bypass data path from said at least one data mover computer to said one of the file systems that bypasses a data mover computer that controls access to said one of the file systems, the program is executable by said at least one data mover computer for forwarding the file access request to the data mover computer that controls access to said one of the file systems; and
when said at least one data mover computer does not control access to said one of the file systems and there is a bypass data path from said at least one data mover computer to said one of the file systems that bypasses a data mover computer that controls access to said one of the file systems, the program is executable by said at least one data mover computer for sending a metadata request to the data mover computer that controls access to said one of the file systems to obtain metadata from the data mover computer that controls access to said one of the file systems, and using the metadata to access file data of the specified file over the bypass data path.
-
-
17. A file server comprising:
-
data storage; and
a plurality of data mover computers that control access to respective file systems in the data storage;
wherein the plurality of data mover computers include at least a first data mover computer that controls access to a first file system in the data storage, and a second data mover computer that controls access to a second file system in the data storage, the first data mover computer having a first network port for receiving file access requests from at least a first client, and the second data mover computer having a second network port for receiving file access requests from at least a second client, the first data mover computer having a first bypass data path for data access to data storage locations for storing data of the second file system, the first bypass data path bypassing the second data mover computer, and the second data mover computer having a second bypass data path for data access to data storage locations for storing data of the first file system, the second bypass data path bypassing the first data mover computer;
wherein the first data mover computer is programmed to receive file access requests from the first client; and
when a file access request from the first client requests access to a first file in the first file system, to access the first file system, and when a file access request from the first client requests access to a second file in the second file system, to obtain from the second data mover computer a lock on at least a portion of the second file in the second file system and to obtain from the second data mover computer metadata specifying data storage locations for storing data of the second file in the second file system, and to use the first data bypass path and the information specifying the data storage locations for storing data of the second file in the second file system in order to access the data storage locations for storing data of the second file in the second file system; and
wherein the second data mover computer is programmed to receive file access requests from the second client; and
when a file access request from the second client requests access to a third file in the second file system, to access the third file in the second file system, and when a file access request from the second client requests access to a fourth file in the first file system, to obtain from the first data mover computer a lock on at least a portion of the fourth file in the first file system and to obtain from the first data mover computer metadata specifying data storage locations for storing data of the fourth file in the first file system, and to use the second data bypass path and the information specifying the data storage locations for storing data of the fourth file in the first file system in order to access the data storage locations for storing data of the fourth file in the first file system. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
the first data mover computer is programmed to respond to a metadata request from the second data mover computer for the metadata of the fourth file by granting the lock to the second data mover computer upon at least a portion of the fourth file, and then returning to the second data mover computer the metadata of the fourth file, and the second data mover computer is programmed to respond to a metadata request from the first data mover computer for the metadata of the second file by granting the lock to the first data mover computer upon at least a portion of the second file, and then returning to the first data mover computer the metadata of the second file.
-
-
23. The file server as claimed in claim 22, wherein:
-
the first data mover computer includes a first metadata cache memory containing a version of the metadata of the second file, and the second data mover computer includes a second metadata cache memory containing a version of the metadata of the fourth file; and
the first data mover computer includes in the metadata request to the second data mover computer a version identifier identifying the version of the metadata of the second file contained in the first metadata cache memory, and the second data mover computer includes in the metadata request to the first data mover computer a version identifier identifying the version of the metadata of the fourth file contained in the second metadata cache memory; and
the first data mover computer is programmed to inspect the version identifier in the metadata request to the first data mover computer to determine whether the version of the metadata of the fourth file contained in the second metadata cache memory is a most recent version of metadata of the fourth file, and to send to the second data mover computer the most recent version of metadata of the fourth file when the version of the metadata of the fourth file contained in the second metadata cache memory is not a most recent version of metadata of the fourth file; and
the second data mover computer is programmed to inspect the version identifier in the metadata request to the second data mover computer to determine whether the version of the metadata of the second file contained in the first metadata cache memory is a most recent version of metadata of the second file, and to send to the first data mover computer the most recent version of metadata of the second file when the version of the metadata of the second file contained in the first metadata cache memory is not a most recent version of metadata of the second file.
-
-
24. The file server as claimed in claim 22, wherein the first data mover computer is programmed to respond to the request from the first client for access to the second file by granting to the first client a local lock on at least a portion of the second file, and wherein the second data mover computer is programmed to respond to the request from the second client for access to the fourth file by granting to the second client a local lock on at least a portion of the fourth file.
-
25. A program storage device containing a program for at least one data mover computer in a data network including a plurality of data mover computers controlling access to respective file systems in data storage, said at least one data mover computer being linked by the data network to at least one client, wherein the program is executable by said at least one data mover computer for processing a file access request from the client for access to a specified file contained in one of the file systems, wherein:
-
the program is executable by said at least one data mover computer for checking whether or not said at least one data mover computer controls access to said one of the file systems, and when said at least one data mover computer controls access to said one of the file systems, accessing the specified file in said one of the file systems; and
when said at least one data mover computer does not control access to said one of the file systems, the program is executable by said at least one data mover computer for sending a metadata request to the data mover computer that controls access to said one of the file systems to obtain metadata from the data mover computer that controls access to said one of the file systems, and using the metadata to access file data of the specified file over a bypass data path from said at least one of the data mover computers to data storage locations for storing file data of the specified file. - View Dependent Claims (26, 27, 28, 29, 30)
-
Specification