Extensible file system which layers a new file system with an old file system to provide coherent file data
First Claim
1. In a computer system having a naming service, a computer implemented method for associating a new file system with an existing file system, said method comprising the steps of:
- determining the location of said existing file system located in a first layer, by interrogating said naming service;
connecting a new file system to said naming service, said new file system located in a second layer, said first layer and said second layer being program code sections which may reside in different computers and such that files in said existing file system can be accessed through said new file system; and
connecting said new file system to said existing file system by a data movement facility wherein said data movement facility provides coherent file data from said existing file system by means of a pager program located in said first layer, said pager program being connected to a cache program located in said second layer, said cache program supplying said coherent file data from said existing file system to said new file system.
0 Assignments
0 Petitions
Accused Products
Abstract
In this disclosure an architecture for extensible file systems is described. Also disclosed is an implementation of the architecture. The architecture enables the extension of file system functionality by stacking (or composing) new file systems (layers) on top of existing file systems. The implementor of a new layer has the option of keeping the files exported by the new layer coherent with files of the underlying layer, as well as the option of sharing the same cached memory with the files of the underlying layer. A flexible framework is also disclosed for arranging the file systems'"'"' name spaces. Composing of new layers on top of existing ones can be done statically (at compile/configuration time) or dynamically (at boot/run time). In addition, the file system layers can reside in the same address space or in different address spaces, and be implemented on a local computer node or on a remote computer node.
160 Citations
27 Claims
-
1. In a computer system having a naming service, a computer implemented method for associating a new file system with an existing file system, said method comprising the steps of:
-
determining the location of said existing file system located in a first layer, by interrogating said naming service; connecting a new file system to said naming service, said new file system located in a second layer, said first layer and said second layer being program code sections which may reside in different computers and such that files in said existing file system can be accessed through said new file system; and connecting said new file system to said existing file system by a data movement facility wherein said data movement facility provides coherent file data from said existing file system by means of a pager program located in said first layer, said pager program being connected to a cache program located in said second layer, said cache program supplying said coherent file data from said existing file system to said new file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. In a computer system, having an existing file system located in a first layer connected to a naming service, an extensible file system comprising:
-
an identification device for identifying said existing file system by accessing said naming service to locate said existing file system; a new file system coupled to said computer system said new file system located in a second layer, said first layer and said second layer being program code mechanisms which may reside in different computers; a connecting mechanism coupled to said computer system for connecting said new file system to said naming service such that files in said existing file system can be accessed by reference to said new file system; and a data movement facility coupled to said computer system wherein said data movement facility provides coherent file data from said existing file system by means of a pager program located in said first layer, said pager program being connected to a cache program located in said second layer, said cache program supplying said coherent file data from said existing file system to said new file system.
-
-
15. In a distributed computer system having one or more computers, each computer having an operating system and an existing file system located in a first layer and a naming service which can map names to files, an extensible file system comprising:
-
an identification device in a computer for identifying a location of said existing file system by accessing said naming service on said computer; a file system creation mechanism coupled to said computer for creating a new file system by creating an instance of said new file system which can be connected to said existing file system, wherein said new file system is located in a second layer, said first layer and said second layers being program code mechanisms which reside in different computers; a connecting mechanism coupled to said computer for connecting said new file system to said naming service whereby a client can access files in said existing file system, file accesses being routed through said new file system without said client having any knowledge of said new file system; and a data movement facility coupled to said computer wherein said data movement facility provides coherent file data from said existing file system by means of a pager program located in said first layer, said pager program being connected to a cache program located in said second layer, said cache program supplying said coherent file data from said existing file system to said new file system; and
wherein said data movement facility caches file attribute data in said second layer and maintains said cached file attribute data coherent with said files in said existing file system. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification