IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0425550
(2003-04-29)
|
등록번호 |
US-7406484
(2008-07-29)
|
발명자
/ 주소 |
- Srinivasan,Sudhir
- Orszag,Steven A.
- Jackson,Philip Eric
|
출원인 / 주소 |
|
대리인 / 주소 |
Townsend and Townsend and Crew LLP
|
인용정보 |
피인용 횟수 :
86 인용 특허 :
28 |
초록
▼
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
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.
대표청구항
▼
What is claimed is: 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
What is claimed is: 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; wherein the second segment is selected in accordance with a storage policy dependent upon at least one 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, (4) a random selection from at least a first subset of the segments, (5) relative amounts of free storage space in different segments, (6) relative free amounts of file/directory location identifiers in different segments, (7) a predetermined pattern of at least a second subset of the segments, (8) a first constraint that subdirectories are to be stored hierarchically and files are to be stored non-hierarchically, and (9) a second constraint that subdirectories are to be stored non-hierarchically and files are to be stored hierarchically. 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 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 wherein the second segment is selected in accordance with at least one of a plurality of available non-hierarchical storage policies. 7. The method of claim 6 further comprising selecting a policy for the storing from the plurality of available storage policies. 8. The method of claim 7 wherein the selecting is performed on at least one of a per file, per request, and a per directory basis. 9. The method of claim 6 further comprising altering the plurality of available storage policies. 10. The method of claim 1 wherein the non-hierarchical storage policy is dependent upon at least one of the random selection from the at least a first subset of the segments and the predetermined pattern of the at least a second subset of the segments, wherein the at least a first subset of the segments is all of the segments and the at least a second subset of the segments is all of the segments. 11. The method of claim 6 further comprising selecting the at least one allocation policy by applying weighting to the available storage policies. 12. The method of claim 6 further comprising selecting different ones of the at least one allocation policy at different times. 13. 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; select a second segment in accordance with a non-hierarchical storage policy dependent upon at least one 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, (4) a random selection from at least a first subset of the segments, (5) relative amounts of free storage space in different segments, (6) relative free amounts of file/directory location identifiers in different segments, (7) a predetermined pattern of at least a second subset of the segments, (8) a first constraint that subdirectories are to be stored hierarchically and files are to be stored non-hierarchically, and (9) a second constraint that subdirectories are to be stored non-hierarchically and files are to be stored hierarchically; and cause the data to be stored in the 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. 14. The apparatus of claim 13 wherein the second server is separate from the first device. 15. The apparatus of claim 14 wherein the third file server is the first device. 16. The apparatus of claim 14 wherein the processor is configured to notify the second server of a storage location of the portion of data. 17. The apparatus of claim 13 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. 18. The apparatus of claim 13 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. 19. The apparatus of claim 18 wherein the processor is configured to select a storage policy from the plurality of available storage policies. 20. The apparatus of claim of claim 19 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. 21. The apparatus of claim 18 wherein the processor is configured to alter the plurality of available storage policies. 22. The apparatus of claim 13 wherein the processor is configured to cause the data to be stored hierarchically. 23. 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; select a second segment in accordance with a non-hierarchical storage policy dependent upon at least one 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, (4) a random selection from at least a first subset of the segments, (5) relative amounts of free storage space in different segments, (6) relative free amounts of file/directory location identifiers in different segments, (7) a predetermined pattern of at least a second subset of the segments, (8) a first constraint that subdirectories are to be stored hierarchically and files are to be stored non-hierarchically, and (9) a second constraint that subdirectories are to be stored non-hierarchically and files are to be stored hierarchically; and cause the data to be stored in the 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. 24. The computer program product of claim 23 wherein the second server is separate from the first device. 25. The computer program product of claim 24 wherein the third file server is the first device. 26. The computer program product of claim 24 further comprising instructions for causing the computer to notify the second server of a storage location of the portion of data. 27. The computer program product of claim 23 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. 28. The computer program product of claim 23 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. 29. The computer program product of claim 28 further comprising instructions for causing the computer to select a storage policy from the plurality of available storage policies. 30. The computer program product of claim 28 further comprising instructions for causing the computer to select the at least one allocation policy by applying weighting to the available storage policies. 31. The computer program product of claim 30 wherein the instructions for causing the computer to select allow the computer to select different allocation policies over time. 32. The computer program product of claim 29 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. 33. The computer program product of claim 28 further comprising instructions for causing the computer to alter the plurality of available storage policies. 34. The computer program product of claim 23 further comprising instructions for causing the computer to cause the data to be stored hierarchically. 35. 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. 36. The apparatus of claim 13 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. 37. The computer program product of claim 23 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.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.