Reliable hierarchical storage management with data synchronization
Abstract
A system hosts a file system representing a replica of file systems hosted on a plurality of nodes, each node storing data on a first storage medium. The system stores data on a second storage medium that is slower than the first storage medium. The system stores on the second storage medium a file received from one of the nodes when the file remains un-accessed by the nodes for a predetermined period of time. The first storage medium on the plurality of nodes stores a pointer to the file and not the data content of the file stored on the second storage medium. The system provides the file from the second storage medium to the first storage medium on one of the nodes while providing the plurality of nodes read and write access to the file stored on the second storage medium using the pointer on the first storage medium.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system comprising:
a processor; and machine readable instructions, stored on a tangible machine readable medium, when executed by the processor, configure the processor to:
host a file system, the file system representing a replica of file systems hosted on a plurality of nodes, each of the plurality of nodes storing data on a first storage medium;
store data associated with the file system on a second storage medium, the second storage medium being slower to process data stored thereon than the first storage medium used by the plurality of nodes to store data;
store on the second storage medium a file received from one of the plurality of nodes when the file remains un-accessed by the plurality of nodes for a predetermined period of time, the first storage medium on the plurality of nodes storing a pointer to the file and not the data content of the file stored on the second storage medium; and
provide the file from the second storage medium to the first storage medium on one of the plurality of nodes while providing the plurality of nodes read and write access to the file stored on the second storage medium using the pointer on the first storage medium.
2 . The system of claim 1 wherein the machine readable instructions further configure the processor to:
create a snapshot of content of a particular version of the file on the second storage medium,
wherein the particular version is immutable, and
wherein the snapshot is a recallable instance of data backing the file on the second storage medium while the file is being used on one of the plurality of nodes.
3 . The system of claim 1 wherein the machine readable instructions further configure the processor to create a recallable instance of data backing the file on the second storage medium:
when the file is received from one of the plurality of nodes and stored on the second storage medium;
when the file is opened on the one of the plurality of nodes; or
before the file on the first storage medium is converted to the pointer.
4 . The system of claim 3 wherein the machine readable instructions further configure the processor to identify and locate the recallable instance of data backing the file using:
a namespace location of the recallable instance and information to determine that the recallable instance contains correct data for the file; or
a unique and namespace-location-independent identifier for the recallable instance and a desired version of the recallable instance in the plurality of nodes.
5 . The system of claim 1 wherein the machine readable instructions further configure the processor to maintain synchronization between the file stored on the second storage medium and the file systems on the plurality of nodes.
6 . The system of claim 1 wherein the machine readable instructions further configure the processor to synchronize the file to the file systems on the plurality of nodes prior to completion of opening the file on one of the plurality of nodes.
7 . The system of claim 6 wherein the machine readable instructions further configure the processor to detect a change to the file on the second storage medium prior to synchronizing the file to the one of the plurality of nodes.
8 . The system of claim 7 wherein the machine readable instructions further configure the processor to synchronize, when the change is detected, a latest version of metadata of the file to the one of the plurality of nodes before the completion of opening the file on the one of the plurality of nodes.
9 . The system of claim 8 wherein the machine readable instructions further configure the processor to block modification of the file stored on the second storage medium while the file is being used on the one of the plurality of nodes.
10 . The system of claim 8 wherein the machine readable instructions further configure the processor to create a recallable instance of data backing the file on the second storage medium when the file is opened on the one of the plurality of nodes.
11 . A method comprising:
hosting a file system representing a replica of file systems hosted on a plurality of nodes, each of the plurality of nodes storing data on a first storage medium; storing data associated with the file system on a second storage medium, the second storage medium being slower to process data stored thereon than the first storage medium; receiving a file from one of the plurality of nodes when the file remains un-accessed by the plurality of nodes for a predetermined period of time; storing the file on the second storage medium, the plurality of nodes storing a pointer to the file and not the data content of the file on the first storage medium; and providing the plurality of nodes read and write access to the file stored on the second storage medium using the pointer on the first storage medium.
12 . The method of claim 11 further comprising creating a snapshot of content of a particular version of the file on the second storage medium, the particular version being immutable, and the snapshot being a recallable instance of data backing the file on the second storage medium while the file is being used on one of the plurality of nodes.
13 . The method of claim 11 further comprising creating a recallable instance of data backing the file on the second storage medium:
when the file is received from one of the plurality of nodes and stored on the second storage medium;
when the file is opened on the one of the plurality of nodes; or
before the file on the first storage medium is converted to the pointer.
14 . The method of claim 13 further comprising identifying and locating the recallable instance of data backing the file using:
a namespace location of the recallable instance and information to determine that the recallable instance contains correct data for the file; or
a unique and namespace-location-independent identifier for the recallable instance and a desired version of the recallable instance in the plurality of nodes.
15 . The method of claim 11 further comprising synchronizing the file to the file systems on the plurality of nodes prior to completion of opening the file on one of the plurality of nodes.
16 . The method of claim 15 further comprising:
detecting a change to the file on the second storage medium prior to synchronizing the file to the one of the plurality of nodes; and
synchronizing, when the change is detected, a latest version of metadata of the file to the one of the plurality of nodes before the completion of opening the file on the one of the plurality of nodes.
17 . The method of claim 15 further comprising blocking modification of the file stored on the second storage medium while the file is being used on the one of the plurality of nodes.
18 . A hierarchical storage management system comprising:
a processor; and machine readable instructions, stored on a tangible machine readable medium, when executed by the processor, configure the processor to:
host a file system representing a replica of file systems hosted on a plurality of nodes, each of the plurality of nodes storing data on a first storage medium;
store data associated with the file system on a second storage medium that is slower to process data stored thereon than the first storage medium;
receive a file from one of the plurality of nodes when the file remains un-accessed by the plurality of nodes for a predetermined period of time;
store the file on the second storage medium, a pointer to the file and not the data content of the file being stored on the first storage medium on the plurality of nodes; and
provide the plurality of nodes read and write access to the file stored on the second storage medium using the pointer on the first storage medium.
19 . The system of claim 18 wherein the machine readable instructions further configure the processor to:
create a snapshot of content of a particular version of the file on the second storage medium, wherein the particular version is immutable, and wherein the snapshot is a recallable instance of data backing the file on the second storage medium while the file is being used on one of the plurality of nodes; and
identify and locate the recallable instance of data backing the file.
20 . The system of claim 18 wherein the machine readable instructions further configure the processor to synchronize the file to the file systems on the plurality of nodes prior to completion of opening the file on one of the plurality of nodes.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.