Building a meta file system from file system cells
First Claim
1. A method comprising:
- selecting a file subsystem in a first file system;
removing the selected file subsystem from the first file system, converting the selected file subsystem into a second file system, and inserting a link in the first file system from a directory entry for the selected file subsystem to a root directory of the second file system; and
presenting the combination of the first file system and the second file system to a user or application program so that combination of the first file system and the second file system appears to the user or application program as one file system.
9 Assignments
0 Petitions
Accused Products
Abstract
File system cells are linked together to form a meta file system that appears to a user or application program to be a single file system. Each file system cell may have a conventional file system format, and can be indistinguishable from a conventional file system except for information, such as directory entry attributes, indicating one or more links to other file system cells. These external links may include direct links that are hidden from the user or application program and define a hierarchy of the meta file system cells, and indirect links that appear in the user-visible file system. The meta file system substantially reduces crash recovery time because each file system cell functions as a consistency unit that can be repaired only if needed. The meta file system also permits the file system cells to be accessed concurrently by multiple processors in a file server.
147 Citations
44 Claims
-
1. A method comprising:
-
selecting a file subsystem in a first file system;
removing the selected file subsystem from the first file system, converting the selected file subsystem into a second file system, and inserting a link in the first file system from a directory entry for the selected file subsystem to a root directory of the second file system; and
presenting the combination of the first file system and the second file system to a user or application program so that combination of the first file system and the second file system appears to the user or application program as one file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
- 14. A collection of multiple file systems contained in data storage, the multiple file systems being linked in a hierarchy by direct links in the file systems, the direct links being hidden from a user or application program in such a way that the hierarchy appears to the user or application program as a single file system.
-
19. A method of operating a network file server to provide users in the network with concurrent access to objects distributed over a plurality of file systems in data storage of the network file server, the network file server having a plurality of data mover computers for responding to users requesting access to the data storage, the method comprising:
-
(a) configuring the data mover computers so that each data mover computer has exclusive management of access to a respective subset of the file systems; and
(b) when each data mover computer receives a user request for access to an object in one of the file systems, said each data mover computer directs the request to the data mover computer that has exclusive management of access to said one of the file systems;
wherein the file systems are linked in a hierarchy and said each data mover computer accesses a hidden root directory in the hierarchy of file system in order to direct the request to the data mover computer that has exclusive management of access to a respective one of the plurality of file systems containing the object. - View Dependent Claims (20)
-
-
21. A method of operating a network file server to provide users in the network with concurrent access to objects distributed over a plurality of file systems in data storage of the network file server, the network file server having a plurality of data mover computers for responding to users requesting access to the data storage, the method comprising:
-
(a) configuring the data mover computers so that each data mover computer has exclusive management of access to a respective subset of the file systems; and
(b) when each data mover computer receives a user request for access to an object in one of the file systems, said each data mover computer directs the request to the data mover computer that has exclusive management of access to said one of the file systems;
wherein after a system crash, each data mover performs a consistency check upon the file systems in said each data mover'"'"'s respective subset of file systems.
-
-
22. A method of operating a network file server to provide users in the network with concurrent access to objects distributed over a plurality of file systems in data storage of the network file server, the network file server having a plurality of data mover computers for responding to users requesting access to the data storage, the method comprising:
-
(a) configuring the data mover computers so that each data mover computer has exclusive management of access to a respective subset of the file systems; and
(b) when each data mover computer receives a user request for access to an object in one of the file systems, said each data mover computer directs the request to the data mover computer that has exclusive management of access to said one of the file systems;
which further includes load balancing upon the data movers by reconfiguring the file systems in order to move objects from file systems managed by more heavily loaded data movers to file systems managed by less heavily loaded data movers. - View Dependent Claims (23, 24, 25)
-
-
26. A method of operating a network file server to provide users in the network with concurrent access to objects distributed over a plurality of file systems in data storage of the network file server, the network file server having a plurality of data mover computers for responding to users requesting access to the data storage, the method comprising:
-
(a) configuring the data mover computers so that each data mover computer has exclusive management of access to a respective subset of the file systems; and
(b) when each data mover computer receives a user request for access to an object in one of the file systems, said each data mover computer directs the request to the data mover computer that has exclusive management of access to said one of the file systems;
which further includes load balancing upon the data movers by moving ownership of file systems from more heavily loaded data movers to less heavily loaded data movers.
-
-
27. A network file server comprising:
-
data storage; and
a plurality of data mover computers adapted for coupling to a data network and coupled to the data storage to provide users in the network with concurrent access to objects distributed over a plurality of file systems in the data storage of the network file server;
wherein the data mover computers are configured so that each data mover computer has exclusive management of access to a respective subset of the file systems; and
each data mover computer is programmed to receive a user request for access to an object in one of the file systems, and directs the request to the data mover computer that has exclusive management of access to said one of the file systems; and
wherein the file systems are linked in a hierarchy and said each data mover computer is programmed to access a hidden root directory in the hierarchy of file systems in order to direct the request to the data mover computer that has exclusive management of access to a respective one of the plurality of file systems containing the object. - View Dependent Claims (28, 29)
-
-
30. A network file server comprising:
-
data storage; and
a plurality of data mover computers adapted for coupling to a data network and coupled to the data storage to provide users in the network with concurrent access to objects distributed over a plurality of file systems in the data storage of the network file server;
wherein the data mover computers are configured so that each data mover computer has exclusive management of access to a respective subset of the file systems; and
each data mover computer is programmed to receive a user request for access to an object in one of the file systems, and directs the request to the data mover computer that has exclusive management of access to said one of the file systems containing the object;
wherein each data mover is programmed to recover from a system crash by performing a consistency check upon the file systems in said each data mover'"'"'s respective subset of file systems.
-
-
31. A network file server comprising:
-
data storage; and
a plurality of data mover computers adapted for coupling to a data network and coupled to the data storage to provide users in the network with concurrent access to objects distributed over a plurality of file systems in the data storage of the network file server;
wherein the data mover computers are configured so that each data mover computer has exclusive management of access to a respective subset of the file systems; and
each data mover computer is programmed to receive a user request for access to an object in one of the file systems, and directs the request to the data mover computer that has exclusive management of access to said one of the file systems containing the object;
wherein the data movers are programmed for load balancing by reconfiguring the file systems in order to move objects from file systems managed by more heavily loaded data movers to file systems managed by less heavily loaded data movers. - View Dependent Claims (32, 33, 34)
-
-
35. A network file server comprising:
-
data storage; and
a plurality of data mover computers adapted for coupling to a data network and coupled to the data storage to provide users in the network with concurrent access to objects distributed over a plurality of file systems in the data storage of the network file server;
wherein the data mover computers are configured so that each data mover computer has exclusive management of access to a respective subset of the file systems; and
each data mover computer is programmed to receive a user request for access to an object in one of the file systems, and directs the request to the data mover computer that has exclusive management of access to said one of the file systems containing the object; and
wherein the data movers are programmed for load balancing by changing ownership of file systems from more heavily loaded data movers to less heavily loaded data movers.
-
-
36. A program storage device containing a program executable by a network file server, the network file server being adapted for coupling to at least one client for access of the client to a user-visible file system in storage in the network file server, objects in the user-visible file system being contained in a plurality of file systems, said program including a manager of the user-visible file system for receiving file system access calls intended for a file system manager, and the manager of the user-visible file system being executable for acting as an intermediary between the client and said file system manager in order to follow hidden links between the plurality of file systems so that the plurality of file systems appear to the client as one file system.
- 37. A program storage device containing a program executable by a network file server, the network file server being adapted for coupling to at least one client for access of the client to a user-visible file system in storage in the network file server, objects in the user-visible file system being contained in a plurality of file systems, said program including a manager of the user-visible file system for receiving file system access calls intended for a file system manager, and the manager of the user-visible file system being executable for acting as an intermediary between the client and said file system manager in order to follow hidden links between the plurality of file systems, wherein the manager of the user-visible file system is executable for accessing each of said plurality of file systems by checking whether said each of said plurality of file systems has an attribute indicating that said each of said plurality of file systems has external links, and when said each of said plurality of file systems does not have an attribute indicating that said each of said plurality of file systems has external links, calling at least one routine of the manager of the user-visible file system that does not recognize external links, and when said each of said plurality of file systems does have an attribute indicating that said each of said plurality of file systems has external links, executing at least one routine of the manager of the user-visible file system that recognizes external links.
-
39. A method comprising:
-
selecting a file subsystem in a first file system; and
removing the selected file subsystem from the first file system, converting the selected file subsystem into a second file system, and inserting a link in the first file system from a directory entry for the selected file subsystem to a root directory of the second file system;
wherein the link is a hidden file including information for locating the second file system. - View Dependent Claims (40)
-
-
41. A method comprising:
-
selecting a file subsystem in a first file system;
removing the selected file subsystem from the first file system, converting the selected file subsystem into a second file system, and inserting a link in the first file system from a directory entry for the selected file subsystem to a root directory of the second file system; and
recovering from a system crash by checking whether each file system has a file system attribute indicating whether or not said each file system needs to be checked for consistency after the system crash.
-
-
42. A method comprising:
-
selecting a file subsystem in a first file system;
removing the selected file subsystem from the first file system, converting the selected file subsystem into a second file system, and inserting a link in the first file system from a directory entry for the selected file subsystem to a root directory of the second file system; and
operating a first processor to access the first file system to check the first file system for consistency after a system crash and concurrently operating a second processor to access the second file system to check the second file system for consistency after the system crash.
-
-
43. A method comprising:
-
selecting a file subsystem in a first file system;
removing the selected file subsystem from the first file system, converting the selected file subsystem into a second file system, and inserting a link in the first file system from a directory entry for the selected file subsystem to a root directory of the second file system; and
operating a first processor to manage user or application program access to the first file system and concurrently operating a second processor to manage user or application program access to the second file system. - View Dependent Claims (44)
-
Specification