Claims
- 1. A distributed shared file system (DSFS) comprising:
a network file system (NFS) capable of receiving at least a request from at least a client; a distributed cache; a metadata storage containing metadata information related to files stored in the NFS; a mapper capable of handling pointers to point to locations of data within the files and the metadata information; an agent capable of handling said request; a relocator capable of relocating data within the NFS operative with said agent.
- 2. The DSFS of claim 1, wherein said distributed cache is capable of communicating with said NFS, said metadata storage, said mapper, and said agent.
- 3. The DSFS of claim 1, wherein said NFS is capable of communicating with said distributed cache, said metadata storage, and said mapper.
- 4. The DSFS of claim 1, wherein said agent is one of a non-volatile random access memory (NVRAM) storage agent and a disk storage agent.
- 5. The DSFS of claim 4, wherein said NFS is further capable of communicating with the NVRAM store agent whenever the agent is an NVRAM storage agent.
- 6. The DSFS of claim 1, wherein said metadata comprises at least an object related to a file stored in said DSFS.
- 7. The DSFS of claim 6, wherein the object is one of file properties, file permissions, file history and file type.
- 8. The DSFS of claim 7, wherein the file permissions comprise one of read, write and execution permission.
- 9. The DSFS of claim 7, wherein said file history comprises one of creation date, modification date, creator, modifier of said file, location history.
- 10. The DSFS of claim 7, wherein said file type comprises one of text, executable, image, archive, driver, sound, video.
- 11. The DSFS of claim 1, wherein said mapper is a location depository.
- 12. The DSFS of claim 11, wherein said location depository comprises at least one pointer pointing to an object related to said DSFS.
- 13. The DSFS of claim 12, wherein the object is one of data and metadata.
- 14. The DSFS of claim 12, wherein said mapper is further capable of mapping each type of object using a unique mapping scheme.
- 15. The DSFS of claim 11, wherein said mapper is involved in synchronization of read-modify-write operations.
- 16. The DSFS of claim 4, wherein said NVRAM store agent handles data located on a specific NVRAM.
- 17. The DSFS of claim 16, wherein said NVRAM further comprises at least volatile random access memory (RAM) connected to an uninterruptible power supply (UPS).
- 18. The DSFS of claim 16, wherein said relocator associated with said NVRAM store agent is capable of relocating files from said RAM to a disk by communicating with said disk storage agent.
- 19. The DSFS of claim 4, wherein said disk storage agent handles data located in a specific storage device.
- 20. The DSFS of claim 19, wherein said specific storage device is one of a single disk and a group of disks.
- 21. The DSFS of claim 1, wherein said agent does not perform in-place writes.
- 22. The DSFS of claim 1, wherein write operations are logged but not actually performed.
- 23. The DSFS of claim 1, wherein said agent is further capable of supporting a storage and retrieval scheme selected from a group of byte range, hash table and skip list.
- 24. The DSFS of claim 14, wherein said relocator associated with said NVRAM agent is further capable of performing relocation of an object within an NVRAM.
- 25. The DSFS of claim 14, wherein said relocator associated with said NVRAM agent is further capable of performing relocation of an object between independent NVRAMs.
- 26. The DSFS of claim 14, wherein said relocator associated with said NVRAM agent is further capable of performing relocation of an object from an NVRAM to a disk storage.
- 27. The DSFS of claim 24, wherein said relocator moves an object for at least one of freeing up NVRAM space and balancing system load.
- 28. The DSFS of claim 14, wherein said relocator associated with said disk storage agent is further capable of performing relocation of an object within a storage device.
- 29. The DSFS of claim 14, wherein said relocator associated with said disk storage agent is further capable of performing relocation of an object between independent storage devices.
- 30. The DSFS of claim 28, wherein said relocator moves an object for the purpose of freeing up disk space, providing faster access time or balancing system load.
- 31. The DSFS of claim 1, wherein said relocator operation is transparent to said client.
- 32. The DSFS of claim 1, wherein said request received by said NFS is one of a read request and a write request.
- 33. The DSFS of claim 32, wherein in response to receipt of said read request the DFSF is capable of retrieving metadata attributes respective of said read request to determine whether read is permitted and returning an invalid notification if read is not permitted and getting the data respective of said read request.
- 34. A method for a write operation initiated by a client using a distributed shared file system (DSFS), wherein said method comprises:
a) receiving a write request from said client; b) retrieving metadata attributes required for performing said write request; c) determining from the metadata if write operation is permitted. d) if write is not permitted returning a invalid notification, otherwise continuing with the write operation; e) writing a log to non-volatile random access memory (NVRAM); f) invalidating portions of a distributed cache of said DSFS that related to previous versions of data involved in the write operation; g) performing a remap; g) notifying completion of said write request.
- 35. The method of claim 33, wherein said metadata attributes include at least file access permissions.
- 36. The method of claim 35, wherein said file access permission includes one of read, write, read-modify-write, execute, delete and create.
- 37. The method of claim 34, wherein said writing a log is performed in place of an in-place write operation.
- 38. The method of claim 34, wherein said remap is performed for resolving consecutive write requests.
- 39. The method of claim 34, wherein said remap does not require use of a locking mechanism.
- 40. The method of claim 39, wherein said remap includes assignment of a view identification.
- 41. The method of claim 40, wherein said view identification is updated each time data is changed.
- 42. The method of claim 41, wherein said view identification is part of the metadata parameters associated with a file.
- 43. A method for a read operation initiated by a client using a distributed shared file system (DSFS), wherein said method comprises:
a) receiving a read request from the client; b) retrieving metadata attributes required for performing the read request; c) determining if the client had permission to read based on said metadata attributes; d) if read is not permitted returning a invalid notification, otherwise getting the data respective of said read request.
- 44. The method of claim 43, wherein said metadata attributes include at least file access permissions.
- 45. The method of claim 44, wherein said file access permission includes one of read, write, read-modify-write, execute, delete and create.
- 46. The method of claim 43, wherein said getting the data respective of said read request comprises the steps of:
a) sending a read request to a distributed cache; b) returning the data if said data is found in said distributed cache, otherwise continuing with step c); c) checking mapper; c) getting the data from non-volatile random access memory (NVRAM) if located in NVRAM, otherwise getting the data from disk; f) updating said distributed cache with the data; g) returning the data to said client.
RELATED APPLICATIONS
[0001] The application claims priority from a co-pending U.S. Provisional Patent Application Serial No. 60/356,770 filed Feb. 15, 2002, the contents of which are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60356770 |
Feb 2002 |
US |