US2008222223A1PendingUtilityA1

Storage allocation in a distributed segmented file system

51
Assignee: IBRIX INCPriority: Sep 12, 2000Filed: May 22, 2008Published: Sep 11, 2008
Est. expirySep 12, 2020(expired)· nominal 20-yr term from priority
H04L 67/1097H04L 41/0803Y10S707/99953G06F 16/10H04L 41/0853
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A file system (i) permits storage capacity to be added easily, (ii) can be expanded beyond a given unit, (iii) is easy to administer and manage, (iv) permits data sharing, and (v) is able to perform effectively with very large storage capacity and client loads. State information from a newly added unit is communicated (e.g., automatically and transparently) to central administration and management operations. Configuration and control information from such operations is communicated (e.g., automatically) back down to the newly added units, as well as existing units. In this way, a file system can span both local storage devices (like disk drives) and networked computational devices transparently to clients. Such state and configuration and control information can include globally managed segments as the building blocks of the file system, and a fixed mapping of globally unique file identifiers (e.g., Inode numbers) and/or ranges thereof, to such segments.

Claims

exact text as granted — not AI-modified
1 . A method of associating data with a file server in a file system, the method comprising:
 receiving a communication at a first device among an association of devices that implements a distributed, segmented single file system including file system entities residing in segments and comprising at least portions of one of files and directories, the association of devices including a plurality of file servers that control metadata of separate segments, including metadata of file system entities residing in the segments, the communication pertaining to data to be stored in the single file system, the data belonging to a directory of the single file system residing in a first segment controlled by a second file server; and   storing the data in a second segment under control of a third file server concurrently with control of the first segment by the second file server, the data being stored in the single file system non-hierarchically relative to the directory, with the third file server being a file server other than the second file server.   
     
     
         2 . The method of  claim 1  wherein the second server is separate from the first device. 
     
     
         3 . The method of  claim 2  wherein the third file server is the first device. 
     
     
         4 . The method of  claim 2  further comprising notifying the second server of a storage location of the portion of data. 
     
     
         5 . The method of  claim 1  further comprising choosing the third file server from among the plurality of file servers depending upon whether the data represents a file or a directory. 
     
     
         6 . The method of  claim 1  further comprising choosing a location for storing the data dependent upon amounts of free storage space and free data identifiers. 
     
     
         7 . The method of  claim 1  further comprising choosing a location for storing the data dependent upon relative amounts of free storage space and free data identifiers on a base file server and a possible controlling file server. 
     
     
         8 . The method of  claim 1  further comprising choosing a location for storing the data dependent upon at least one affinity group associating a client with a preferred segment. 
     
     
         9 . The method of  claim 1  further comprising choosing the third file server at least one of randomly and following a pre-determined pattern, the choosing being from one of all the file servers and a subset of the file servers. 
     
     
         10 . The method of  claim 1  wherein the storing is performed in accordance with at least one of a plurality of available non-hierarchical storage policies. 
     
     
         11 . The method of  claim 10  further comprising selecting a policy for the storing from the plurality of available storage policies. 
     
     
         12 . The method of  claim 11  wherein the selecting is performed on at least one of a per file, per request, and a per directory basis. 
     
     
         13 . The method of  claim 10  further comprising altering the plurality of available storage policies. 
     
     
         14 . The method of  claim 10  wherein the plurality of available storage policies includes storing data dependent upon at least two of (1) amounts of free storage space and free data identifiers, (2) relative amounts of free storage space and free data identifiers on a base file server and a possible controlling server, (3) at least one affinity group associating an application with a preferred segment, and (4) a random selection. 
     
     
         15 . The method of  claim 1  wherein the first device is a first file server of the plurality of file servers and the receiving comprises receiving the communication at the first file server. 
     
     
         16 . An apparatus disposed in a first device of an association of devices and comprising:
 a memory that stores computer-readable, computer-executable instructions; and   a processor coupled to the memory and configured to read and execute the instructions to:
 determine that a communication is received pertaining to data to be stored in a file system, the file system being implemented by the association of devices and being a distributed, segmented single file system including file system entities residing in segments and comprising at least portions of one of files and directories, the association of devices including a plurality of file servers that control metadata of separate segments, including metadata of file system entities residing in the segments; 
 determine that the data belong to a directory of the single file system residing in a first segment controlled by a second file server; and 
 cause the data to be stored in a second segment under control of a third file server concurrently with control of the first segment by the second file server, the data being stored in the single file system non-hierarchically relative to the directory, with the third file server being a file server other than the second file server. 
   
     
     
         17 . The apparatus of  claim 16  wherein the second server is separate from the first device. 
     
     
         18 . The apparatus of  claim 17  wherein the third file server is the first device. 
     
     
         19 . The apparatus of  claim 17  wherein the processor is configured to notify the second server of a storage location of the portion of data. 
     
     
         20 . The apparatus of  claim 16  wherein the processor is configured to choose the third file server from among the plurality of file servers depending upon whether the data represents a file or a directory. 
     
     
         21 . The apparatus of  claim 16  wherein the processor is configured to cause the data to be stored in a location that is at least one of (1) dependent upon amounts of free storage space and free data identifiers, (2) dependent upon relative amounts of free storage space and free data identifiers on a base file server and a possible controlling file server, (3) dependent upon at least one affinity group associating a client with a preferred segment, and (4) random. 
     
     
         22 . The apparatus of  claim 16  wherein the processor is configured to cause the data to be stored in a location in accordance with at least one of a plurality of available non-hierarchical storage policies. 
     
     
         23 . The apparatus of  claim 22  wherein the processor is configured to select a storage policy from the plurality of available storage policies. 
     
     
         24 . The apparatus of claim of  claim 23  wherein the processor is configured to select the storage policy on at least one of a per file, per request, and a per directory basis. 
     
     
         25 . The apparatus of  claim 22  wherein the processor is configured to alter the plurality of available storage policies. 
     
     
         26 . The apparatus of  claim 16  wherein the processor is configured to cause the data to be stored hierarchically. 
     
     
         27 . The apparatus of  claim 16  wherein the first device is a first file server of the plurality of file servers such that the apparatus is disposed in the first file server. 
     
     
         28 . A computer program product residing on a computer-readable medium, the computer program product for use in an association of devices and comprising computer-readable, computer-executable instructions for causing a computer to:
 determine that a communication is received pertaining to data to be stored in a file system, the file system being implemented by the association of devices and being a distributed, segmented single file system including file system entities residing in segments and comprising at least portions of one of files and directories, the association of devices including a plurality of file servers that control metadata of separate segments, including metadata of file system entities residing in the segments;   determine that the data belong to a directory of the single file system residing in a first segment controlled by a second file server; and   cause the data to be stored in a second segment under control of a third file server concurrently with control of the first segment by the second file server, the data being stored in the single file system non-hierarchically relative to the directory, with the third file server being a file server other than the second file server.   
     
     
         29 . The computer program product of  claim 28  wherein the second server is separate from the first device. 
     
     
         30 . The computer program product of  claim 29  wherein the third file server is the first device. 
     
     
         31 . The computer program product of  claim 29  further comprising instructions for causing the computer to notify the second server of a storage location of the portion of data. 
     
     
         32 . The computer program product of  claim 28  further comprising instructions for causing the computer to choose the third file server from among the plurality of file servers depending upon whether the data represents a file or a directory. 
     
     
         33 . The computer program product of  claim 28  further comprising instructions for causing the computer to cause the data to be stored in a location that is at least one of (1) dependent upon amounts of free storage space and free data identifiers, (2) dependent upon relative amounts of free storage space and free data identifiers on a base file server and a possible controlling file server, (3) dependent upon at least one affinity group associating a client with a preferred segment, and (4) random. 
     
     
         34 . The computer program product of  claim 28  further comprising instructions for causing the computer to cause the data to be stored in a location in accordance with at least one of a plurality of available non-hierarchical storage policies. 
     
     
         35 . The computer program product of  claim 34  further comprising instructions for causing the computer to select a storage policy from the plurality of available storage policies. 
     
     
         36 . The computer program product of  claim 35  further comprising instructions for causing the computer to select the storage policy on at least one of a per file, per request, and a per directory basis. 
     
     
         37 . The computer program product of  claim 34  further comprising instructions for causing the computer to alter the plurality of available storage policies. 
     
     
         38 . The computer program product of  claim 28  further comprising instructions for causing the computer to cause the data to be stored hierarchically. 
     
     
         39 . The computer program product of  claim 28  wherein the first device is a first file server of the plurality of file servers such that the instructions are for use in the first file server.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.