Claims
- 1. A method for extending the storage capacity of a file server in a decentralized storage network, comprising:
storing data for an object on a shadow file server; storing metadata for the object on a directory file server having a capacity such that the directory file server is capable of appearing to store more data than the capacity; adding an entry to a directory server table to associate the data and the metadata for reconstruction of the object.
- 2. The method of claim 1, wherein the storing metadata comprises storing a holey file, comprising a range of consecutive data values based on a first size of the object, to have the appearance of storing the object data.
- 3. The method of claim 2, further comprising:
modifying the shadow file to a second size; and changing the offset of data values based on the second size.
- 4. The method of claim 1, further comprising:
receiving the object from a client for storage on the storage network.
- 5. The method of claim 1, further comprising:
converting an existing file server to the directory file server by moving data to the shadow file server and replacing files with holey files having the appearance of storing data.
- 6. The method of claim 1, further comprising:
naming a shadow file containing the data with a hash function.
- 7. The method of claim 1, wherein the directory server table associates one or more directories of the directory file server with a shadow file server.
- 8. The method of claim 1, further comprising:
adding an entry to a file location cache to associate a switch file handle used by a client to access the object from the NAS switch with a shadow file handle used by the NAS switch to access the shadow file from the shadow file server.
- 9. The method of claim 8, further comprising:
receiving a request to access the object with the switch file handle; looking-up the shadow file handle in the file location cache; and submitting the access request using the shadow file handle.
- 10. The method of claim 9, further comprising:
removing entries from the file location cache responsive to surpassing a capacity; responsive to not finding the shadow NAS file handle in the file location cache, looking-up a directory associated with the object in the directory server table to obtain the associated shadow file server; and submitting the request to the shadow file server.
- 11. The method of claim 1, further comprising:
receiving a request to access the object that affects the directory; and submitting the request to the directory file server.
- 12. The method of claim 11, wherein the request comprises one from the group consisting of: create directory, delete directory, and move directory.
- 13. The method of claim 1, further comprising:
receiving a request to access object that affects the shadow file; and submitting the request to the shadow file server.
- 14. The method of claim 13, wherein the request comprises one from the group consisting of: create file, delete file, move file, copy file, read file, and write file.
- 15. The method of claim 1, further comprising:
receiving a request to access object that affects the directory and the shadow file; and submitting the request to the directory file server and the shadow file server.
- 16. The method of claim 15, wherein the request comprises one from the group consisting of: create file, delete file, move file, copy file, and truncate file.
- 17. The method of claim 1, further comprising:
providing a file service to the shadow file located on the shadow file server from the directory file server.
- 18. The method of claim 17, wherein the file service comprises file locking to preserve data integrity of the shadow file during multiple accesses.
- 19. The method of claim 1, wherein the object comprises a directory hierarchy having objects representatives of sub-directories and files.
- 20. The method of claim 1, wherein the object comprises a file.
- 21. The method of claim 1, further comprising:
mapping a switch file handle that is independent of a location of the object to a first NAS file handle that is indicative of a first location of the metadata.
- 22. The method of claim 21, further comprising:
storing the data at a second location; and mapping the switch handle to a second NAS file handle that is indicative of the second location.
- 23. A NAS (Network Attached Storage) switch to extend the storage capacity of a file server in a NAS storage network, comprising:
a segregation module to segregate an object by storing data for an object on a shadow file server, and metadata for the object on a directory file server having a capacity such that the directory file server is capable of appearing to store more data than the capacity, the segregation module associating the data and metadata in a directory server table; an association module to retrieve the object from the data and the metadata in the directory server table.
- 24. The NAS switch of claim 23, wherein the segregation module stores a holey file in the directory file server, comprising a range of consecutive data values based on a first size of the object, to have the appearance of storing the object data.
- 25. The NAS switch of claim 24, wherein the segregation module modifies the shadow file to a second size and changes the offset of data values based on the second size.
- 26. The NAS switch of claim 23, further comprising:
a client module to receive the object from a client for storage on the storage network.
- 27. The NAS switch of claim 23, wherein the segregation module converts an existing file server to the directory file server by moving data to the shadow file server and replacing files with holey files having the appearance of storing data.
- 28. The NAS switch of claim 23, further comprising:
a file naming module to name a shadow file containing the data with a hash function.
- 29. The NAS switch of claim 23, wherein the directory server table associates one or more directories of the directory file server with a shadow file server.
- 30. The NAS switch of claim 23, further comprising:
a file location cache, wherein the segragation module adds an entry to the file location cache, the entry comprising a switch file handle used by a client to access the object from the NAS switch in association with a shadow NAS file handle from the shadow file server.
- 31. The NAS switch of claim 30, further comprising:
a client module to receive a request to access the object with a switch file handle; and a file server interface to submit the request to the shadow file server, wherein the association module looks-up the shadow file handle in the file location cache.
- 32. The NAS switch of claim 31, wherein the file location cache removes entries responsive to surpassing a capacity, and the association module looks-up the object in the directory server table to obtain the associated shadow file server responsive to not finding the shadow file handle in the file location cache, and the file server interface submits the request to the shadow file server.
- 33. The NAS switch of claim 23, wherein the segregation module receives a request to access the object that affects the directory, and a file server interface submits the request to the directory file server.
- 34. The NAS switch of claim 33, wherein the request comprises one from the group consisting of: create directory, delete directory, and move directory.
- 35. The NAS switch of claim 23, wherein the segregation module, responsive to receiving a request to access object that affects the shadow file, submits the request to the shadow file server.
- 36. The NAS switch of claim 35, wherein the request comprises one from the group consisting of: create file, delete file, move file, copy file, read file, and write file.
- 37. The NAS switch of claim 23, wherein the segregation module, responsive to receiving a request to access object that affects the directory, submits the request to the directory file server and the shadow file server.
- 38. The NAS switch of claim 37, wherein the request comprises one from the group consisting of: create file, delete file, move file, copy file, and truncate file.
- 39. The NAS switch of claim 23, wherein the directory service provides a file service to the shadow file located on the shadow file server.
- 40. The NAS switch of claim 39, wherein the file service comprises file locking to preserve data integrity of the shadow file during multiple accesses.
- 41. The NAS switch of claim 23, wherein the object comprises a directory hierarchy having objects representatives of sub-directories and files.
- 42. The NAS switch of claim 23, wherein the object comprises a file.
- 43. A computer program product, comprising a computer-readable medium having computer program instructions for a method of extending the storage capacity of a file server in a decentralized storage network, the method comprising the steps of:
storing data for an object on a shadow file server; storing metadata for the object on a directory file server having a capacity such that the directory file server is capable of appearing to store more data than the capacity; adding an entry to a directory server table to associate the data and the metadata for reconstruction of the object.
- 44. The computer program product of claim 43, wherein the storing metadata comprises storing a holey file, comprising a range of consecutive data values based on a first size of the object, to have the appearance of storing the object data.
- 45. A NAS (Network Attached Storage) switch to access an object in a storage network, comprising:
a means for segregating data of an object, for storage on a shadow file server, from metadata of the object, for storage on a directory file server having a storage capacity, such that the directory file server is capable of appearing to store more data than the storage capacity; and a means for associating the data and the metadata in a directory server table.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority under 35 U.S.C. § 119(e) to: U.S. Provisional Patent Application No. 60/465,580, filed on Apr. 24, 2003, entitled “Method and Apparatus to Extend the Storage Capacity to a Network File Server,” by Thomas K. Wong et al.; U.S. Provisional Patent Application No. 60/465,579, filed on Apr. 24, 2003, entitled “Method and Apparatus for Transparent File Migration Using the Technique of Namespace Replication,” by Thomas K. Wong et al.; U.S. Provisional Patent Application No. 60/465,578, filed on Apr. 24, 2003, entitled “Method and Apparatus for Transparent File Replication Using the Technique of Namespace Replication,” by Thomas K. Wong et al.; and is related to U.S. Patent Application No. [attorney docket #23313-07965], filed on Apr. 23, 2004, entitled “Transparent File Migration Using Namespace Replication,” by Thomas K. Wong et al.; and U.S. Patent Application No. [attorney docket #23313-07962], filed on Apr. 23, 2004, entitled “Transparent File Replication Using Namespace Replication,” by Thomas K. Wong et al., each of which applications are herein incorporated by reference in their entirety.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60465580 |
Apr 2003 |
US |
|
60465579 |
Apr 2003 |
US |
|
60465578 |
Apr 2003 |
US |