File sharing system with data mirroring by storage systems
First Claim
1. A system for optimizing data access, comprising:
- a file server capable of communicating with one or more clients; and
a plurality of storage elements organized into pairs for storing a plurality of files, each pair having a master storage element and one or more mirrored storage elements, and each mirrored storage element having a copy of data stored on the master storage elements wherein the file server maintains file information on where each of the plurality of files is stored on which pair of storage elements;
wherein the file server further maintains access load information on each pair of storage elements; and
wherein when a client requests file information for a requested file from the file server, the file server determines which pair of storage elements has the requested file and further determines which of the storage elements within the pair of storage elements having the requested file is to be accessed.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for optimizing data access is provided. The system includes a cluster file system server, a number of cluster file system clients, and a storage system. The storage system further includes a number of disk drives organized into pairs. Each pair includes a master disk drive and one or more mirrored disk drives. Each mirrored disk drive contains a copy of the data stored on the master disk drive. When a file is needed, a cluster file system client sends a request to the cluster file system server. The cluster file system server first determines the location of the needed file, i.e., which pair has the needed file. Once the pair has been identified, the cluster file system server determines which disk drive within the pair should be accessed to retrieve the needed file. The determination is done so as to balance the access load of the disk drives within the pair. The information pertaining to which disk drive should be accessed is then forwarded to the cluster file system client thereby allowing the cluster file system client to access the appropriate disk drive to retrieve the needed file. Alternatively, the system may include a number of storage systems. A pair of disk drives may be spread across two or more storage systems. In one mode of operation where the master disk drive and the mirrored disk drives reside on different storage systems and the mirrored disk drives contain the latest copy of the data on the master disk drive, after obtaining information on the location of the needed file from the cluster file system server, the cluster file system client directly retrieves the needed file from the mirrored disk drive which is least frequently accessed. In another mode of operation where the master disk drive and the mirrored disk drives reside on different storage systems and the mirrored disk drives do not contain the latest copy of the data on the master disk drive, after obtaining information on the location of the needed file from the cluster file system server, the cluster file system client contacts the pertinent storage system and attempts to retrieve the needed file from a mirrored disk drive which is least frequently accessed. When it is determined that the mirrored disk drive does not have the latest copy of the data on the master disk drive, the pertinent storage system retrieves the needed data from the master disk drive and forwards a copy of that data to the cluster file system client.
88 Citations
36 Claims
-
1. A system for optimizing data access, comprising:
-
a file server capable of communicating with one or more clients; and
a plurality of storage elements organized into pairs for storing a plurality of files, each pair having a master storage element and one or more mirrored storage elements, and each mirrored storage element having a copy of data stored on the master storage elements wherein the file server maintains file information on where each of the plurality of files is stored on which pair of storage elements;
wherein the file server further maintains access load information on each pair of storage elements; and
wherein when a client requests file information for a requested file from the file server, the file server determines which pair of storage elements has the requested file and further determines which of the storage elements within the pair of storage elements having the requested file is to be accessed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for optimizing data access, comprising:
-
a first host computer having a file system server, the first host computer capable of communicating with a second host computer having a file system client; and
a storage system having a plurality of disk drives organized into pairs for storing a plurality of files, each pair having a master disk drive and one or more mirrored disk drives, each mirrored disk drive having a copy of data stored on the master disk drive;
wherein the file system server maintains file information on where each of the plurality of files is stored on which pair of disk drives;
wherein the file system server further maintains access load information on each pair of disk drives; and
wherein when a file system client requests file information for a requested file from the file system server, the file system server determines which pair of disk drives has the requested file and further determines which of the disk drives within the pair of disk drives having the requested file is to be accessed. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A system for optimizing data access, comprising:
-
a first host computer having a file system server, the first host computer capable of communicating with a second host computer having a file system client; and
a plurality of storage systems, each of the plurality of storage systems having a plurality of disk drives, the plurality of disk drives from the plurality of storage systems are collectively organized into pairs for storing a plurality of files, each pair having a master disk drive and one or more mirrored disk drives, each mirrored disk drive having a copy of data stored on the master disk drive;
wherein the file system server maintains file information on where each of the plurality of files is stored on which pair of disk drives;
wherein the file system server further maintains access load information on each pair of disk drives; and
wherein when a file system client requests file information for a requested file from the file system server, the file system server determines which pair of disk drives has the requested file and further determines which of the disk drives within the pair of disk drives having the requested file is to be accessed. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A method for optimizing data access, comprising:
-
organizing a plurality of storage elements into pairs for storing a plurality of files, each pair having a master storage element and one or more mirrored storage elements, and each mirrored storage element having a copy of data stored on the master storage element;
maintaining file information on where each of the plurality of files is stored on which pair of storage elements;
maintaining access load information on each pair of storage elements; and
upon receiving a request for a requested file, determining which pair of storage elements has the requested file by using the file information, and then determining which of the storage elements within the pair of storage elements having the requested file is to be accessed by using the access load information. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A method for optimizing data access between a file server and at least one or more clients, comprising:
-
organizing a plurality of disk drives into pairs for storing a plurality of files, each pair having a master disk drive and one or more mirrored disk drives, and each mirrored disk drive having a copy of data stored on the master drive;
maintaining file information on where each of the plurality of files is stored on which pair of disk drives;
maintaining access load information on each pair of disk drives, wherein the file information and the access load information are maintained at the file server;
upon the file server receiving a request for a requested file from a client, causing the file server to determine which pair of disk drives has the requested file by using the file information, and then causing the file server to determine which of the disk drives within the pair of disk drives having the requested file is to be accessed by using the access load information; and
forwarding information relating to the determination as to which of the disk drives within the pair of disk drives having the requested file is to be accessed to client thereby allowing the client to retrieve the requested file.
-
Specification