Network file server maintaining local caches of file directory information in data mover computers
First Claim
1. A file server for serving clients in a data network, said file server comprising:
- a cached disk storage subsystem including an array of disk drives and a semiconductor cache memory coupled to the disk drives for storage of data written to and read from the disk drives; and
a plurality of data mover computers linking the cached disk storage subsystem to the data network for responding to a request for file access from a client in the data network by transferring data between the cached disk storage subsystem and the data network, wherein the cached disk storage subsystem stores read-write files which are shared among the clients and are each accessible by the clients through more than one of the data mover computers, and wherein the file server maintains a file directory accessible by the data mover computers in response to file access requests to determine whether or not file access for a client is permitted, to map file names to logical blocks of data that comprise the files and are stored in the cached disk storage subsystem, and to lock and unlock each of the read-write files for shared read-write access among the clients through more than one of the data mover computers, andwherein each data mover computer maintains a local cache of file directory information for locked files accessible by said each data mover computer, and wherein each data mover is computer programmed to respond to each request from a client serviced by said each data mover for access to a specified file by accessing the file directory to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by file access attributes of the specified file, and accessing the local cache of file directory information for locked files accessible by said each data mover computer to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by a lock on the specified file.
7 Assignments
0 Petitions
Accused Products
Abstract
A network file server includes an integrated cached disk array and a plurality of data mover computers linking the cached disk array to the data network for file access. Each data mover computer maintains a local cache of file directory information including locking information of locked files that are accessible through the data mover. A cache consistency scheme ensures that shared locking information is consistent in the local caches. In a preferred embodiment, the cache consistency scheme uses an internal data link to pass messages between the data movers. The file directory information in the local cache includes information mapping file names to a list of logical blocks for each file name, file attributes that affect data access, and locking information down to a block level of granularity. Each data mover computer has network file manager software that maintains client ownership of locked files and communicates with the clients, and data mover file manager software that manages data mover computer ownership of locked files and communicates with other data mover computers. The cache consistency messages indicate a grant of data mover ownership over a file, a release of data mover ownership over a file, a denial of a request for access to a locked file, and changes to file attributes affecting access to a file. The local caches and the cache consistency scheme eliminate any need to store file locking information in the cached disk array.
221 Citations
45 Claims
-
1. A file server for serving clients in a data network, said file server comprising:
-
a cached disk storage subsystem including an array of disk drives and a semiconductor cache memory coupled to the disk drives for storage of data written to and read from the disk drives; and a plurality of data mover computers linking the cached disk storage subsystem to the data network for responding to a request for file access from a client in the data network by transferring data between the cached disk storage subsystem and the data network, wherein the cached disk storage subsystem stores read-write files which are shared among the clients and are each accessible by the clients through more than one of the data mover computers, and wherein the file server maintains a file directory accessible by the data mover computers in response to file access requests to determine whether or not file access for a client is permitted, to map file names to logical blocks of data that comprise the files and are stored in the cached disk storage subsystem, and to lock and unlock each of the read-write files for shared read-write access among the clients through more than one of the data mover computers, and wherein each data mover computer maintains a local cache of file directory information for locked files accessible by said each data mover computer, and wherein each data mover is computer programmed to respond to each request from a client serviced by said each data mover for access to a specified file by accessing the file directory to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by file access attributes of the specified file, and accessing the local cache of file directory information for locked files accessible by said each data mover computer to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by a lock on the specified file. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A file server for serving clients in a data network, said file server comprising:
-
a cached disk storage subsystem including an array of disk drives and a semiconductor cache memory coupled to the disk drives for storage of data written to and read from the disk drives; and a plurality of data mover computers linking the cached disk storage subsystem to the data network for responding to a request for file access from a client in the data network by transferring data between the cached disk storage subsystem and the data network, wherein the cached disk storage subsystem stores read-write files which are shared among the clients and are each accessible by the clients through more than one of the data mover computers, and wherein the file server maintains a file directory accessible by the data mover computers in response to file access requests to determine whether or not file access for a client is permitted, to map file names to logical blocks of data that comprise the files and are stored in the cached disk storage subsystem, and to lock and unlock each of the read-write files for shared read-write access among the clients through more than one of the data mover computers, and wherein each data mover computer maintains a local cache of file directory information for locked files accessible by said each data mover computer, and wherein each data mover computer is programmed to respond to each request from a client serviced by said each data mover for access to a specified file by accessing the file directory to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by file access attributes of the specified file, and accessing the local cache of file directory information for locked files accessible by said each data mover computer to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by a lock on the specified file; and wherein the data mover computers are programmed to follow a cache consistency scheme to ensure that shared locking information is consistent in the local caches of the data mover computers. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A file server for serving clients in a data network, said file server comprising:
-
a cached disk storage subsystem including an array of disk drives and a semiconductor cache memory coupled to the disk drives for storage of data written to and read from the disk drives; a plurality of data mover computers linking the cached disk storage subsystem to the data network for responding to a request for file access from a client in the data network by transferring data between the cached disk storage subsystem and the data network; and at least one data link internal to the file server and interconnecting the data mover computers for passing messages among the data mover computers; wherein the cached disk storage subsystem stores read-write files which are shared among the clients and are each accessible by the clients through more than one of the data mover computers, and wherein the file server maintains a file directory accessible by the data mover computers in response to file access requests to determine whether or not file access for a client is permitted, to map file names to logical blocks of data that comprise the files and are stored in the cached disk storage subsystem, and to lock and unlock each of the read-write files for shared read-write access among the clients through more than one of the data mover computers, and wherein each data mover computer maintains a local cache of file directory information for locked files accessible by said each data mover computer, and wherein each data mover computer is programmed to respond to each request from a client serviced by said each data mover for access to a specified file by accessing the file directory to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by file access attributes of the specified file, and accessing the local cache of file directory information for locked files accessible by said each data mover computer to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by a lock on the specified file; and wherein the data mover computers are programmed to follow a cache consistency scheme to ensure that shared locking information is consistent in the local caches of the data mover computers, the cache consistency scheme passing messages over the data link among the data mover computers. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A file server for serving clients in a data network, said file server comprising:
-
a cached disk storage subsystem including an array of disk drives and a semiconductor cache memory coupled to the disk drives for storage of data written to and read from the disk drives; a plurality of data mover computers linking the cached disk storage subsystem to the data network for responding to a request for file access from a client in the data network by transferring data between the cached disk storage subsystem and the data network; and at least one data link internal to the file server and interconnecting the data mover computers for passing messages among the data mover computers; wherein the cached disk storage subsystem stores read-write files which are shared among the clients and are each accessible by the clients through more than one of the data mover computers, and wherein the file server maintains a file directory accessible by the data mover computers in response to file access requests to determine whether or not file access for a client is permitted, to map file names to logical blocks of data that comprise the files and are stored in the cached disk storage subsystem, and to lock and unlock each of the read-write files for shared read-write access among the clients through more than one of the data mover computers, and wherein each data mover computer maintains a local cache of file directory information for locked files accessible by said each data mover computer, and wherein each data mover computer is programmed to respond to each request from a client serviced by said each data mover for access to a specified file by accessing the file directory information to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by file access attributes of the specified file, and accessing the local cache of file directory information for locked files accessible by said each data mover computer to determine whether or not access to the specified file by said each client serviced by said each data mover computer is precluded by a lock on the specified file; wherein the data mover computers are programmed to follow a cache consistency scheme to ensure that shared locking information is consistent in the local caches of the data mover computers, the cache consistency scheme passing messages over the data link among the data mover computers; wherein the file directory information in the local cache in said each data mover computer includes, for each locked file accessible through said each data mover computer, mapping information mapping file names to a list of logical blocks for each file name, file attributes that affect data access to each named file, and all locking information down to a logical block level of granularity for each named file; and wherein the messages include messages indicating grants of locks, messages indicating releases of locks, and messages indicating changes to file attributes affecting file access, and the messages indicating grants of locks identify data mover computer ownership of locked files but do not identify client ownership of locked files. - View Dependent Claims (27, 28, 29)
-
-
30. A method of operating a file server for serving clients in a data network, the file server including a cached disk storage subsystem and a plurality of data mover computers linking the cached disk storage subsystem to the data network for transfer of data between the cached disk storage subsystem and the data network, and the cached disk storage subsystem having an array of disk drives and a semiconductor cache memory for storing data written to and read from the array of disk drives, said method comprising the steps of:
-
(a) maintaining in each of the data mover computers a file directory of locked files accessible by the data mover computers in response to file access requests by the clients to determine whether or not file access by a client is permitted;
the locked files including read-write files which are shared among the clients, wherein the read-write files are accessible by the clients through more than one of the data mover computers;
the file directory in each of the data mover computers including file access information indicating whether or not file access is precluded by file access attributes of the files, and locking information indicating whether or not file access is precluded by locks on the files;(b) one of the data mover computers receiving from one of the clients a request for file access to a specified file, said one of the data mover computers accessing the file directory to determine whether or not access to the specified file by said one of the clients is precluded by file access attributes of the specified file, and when access to the specified file by said one of the clients is not precluded by file access attributes of the specified file, accessing the file directory to determine whether or not access to the specified file by said one of the clients is precluded by a lock on the specified file, and when access to the specified file by said one of the clients is not precluded by a lock on the specified file, satisfying the request by transferring data between the cached disk storage subsystem and the data network. - View Dependent Claims (31, 32, 33)
-
-
34. A method of operating a file server for serving clients in a data network, the file server including a cached disk storage subsystem and a plurality of data mover computers linking the cached disk storage subsystem to the data network for transfer of data between the cached disk storage subsystem and the data network, and the cached disk storage subsystem having an array of disk drives and a semiconductor cache memory for storing data written to and read from the array of disk drives, said method comprising the steps of:
-
(a) maintaining in each of the data mover computers a file directory of locked files accessible by the data mover computers in response to file access requests by the clients to determine whether or not file access by a client is permitted;
the locked files including read-write files which are shared among the clients, wherein the read-write files are accessible by the clients through more than one of the data mover computers;
the file directory in each of the data mover computers including file access information indicating whether or not file access is precluded by file access attributes of the files, and locking information indicating whether or not file access is precluded by locks on the files;(b) one of the data mover computers receiving from one of the clients a request for file access to a specified file, said one of the data mover computers accessing the file directory to determine whether or not access to the specified file by said one of the clients is precluded by file access attributes of the specified file, and when access to the specified file by said one of the clients is not precluded by file access attributes of the specified file, accessing the file directory to determine whether or not access to the specified file by said one of the clients is precluded by a lock on the specified file, and when access to the specified file by said one of the clients is not precluded by a lock on the specified file, satisfying the request by transferring data between the cached disk storage subsystem and the data network; wherein the data mover computers employ a cache consistency scheme to ensure that shared locking information is consistent in the local caches of the data mover computers. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification