System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
First Claim
1. A file system for use with a computer system having a central processing unit and a multiplicity of data storage devices on which files are stored, comprising:
- a multiplicity of file directories, stored on various ones of said multiplicity of data storage devices, each file directory containing a set of file directory entries, each file directory entry having a file name and a corresponding tag value, each file having a unique tag value but a possible plurality of names;
wherein multiple file directory entries stored in one or more of said file directories may contain identical tag values;
a separate file descriptor table for each of said multiplicity of data storage devices, each of said file descriptor tables containing a file descriptor entry including file locating information for every file stored on the corresponding data storage device;
a tag directory, stored on at least a selected one of said multiplicity of data storage devices, said tag directory containing tag entries for a defined set of tag values, wherein every file stored in said multiplicity of data storage devices is represented by a unique one of said tag entries, each said tag entry denoting the one of said multiplicity of data storage devices on which the file corresponding to said tag entry is stored; and
file moving means, executable by said central processing unit, for moving a specified file from a first one to a second one of said multiplicity of data storage devices, including means for copying said specified file to said second one of said multiplicity of data storage devices, generating a file descriptor entry for said copied file on said file descriptor table for said second one of said multiplicity of data storage devices, changing the tag entry in said tag directory corresponding to said specified file so that said tag entry denotes said second one of said multiplicity of data storage devices, and initiating deallocation of said specified file on said first data storage device and of said specified file'"'"'s file descriptor entry from said file descriptor table for said first data storage device;
means for determining the location of a file by using one of its names to find the corresponding tag value, and from the tag value its file descriptor entry whereby a file can be moved from a first one to a second one of said multiplicity of data storage devices without having to locate and update all corresponding file directory entries.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer file system, having a multiplicity of distinct disk storage devices, includes a multiplicity of file directories, stored on various disks. Each file directory is used to translate file names into corresponding tag values. For each disk there is a file descriptor table with a file descriptor entry for every file stored on the disk. A single tag directory contains one tag entry for every file stored in the system. The tag directory is used by the file system to find a file by translating a tag value into a pointer to the disk on which the file is stored and a pointer to the file'"'"'s file descriptor entry. To move a file from a first disk to a second disk, the file is copied to the second disk, a new file descriptor entry for the copied file is generated in the file descriptor table for the second disk, the copy of the file on the first disk is de-allocated, and the tag entry for the file is updated to point to the second disk and to the file'"'"'s new file descriptor entry. Thus, a file can be moved from a first disk a second without having to locate and update all the corresponding file directory entries. In a preferred embodiment, the file system includes a routine that monitors disk loading and unused disk capacity. It determines when disk usage is imbalanced and automatically moves files among the disks so as to better balance disk usage.
1318 Citations
16 Claims
-
1. A file system for use with a computer system having a central processing unit and a multiplicity of data storage devices on which files are stored, comprising:
-
a multiplicity of file directories, stored on various ones of said multiplicity of data storage devices, each file directory containing a set of file directory entries, each file directory entry having a file name and a corresponding tag value, each file having a unique tag value but a possible plurality of names;
wherein multiple file directory entries stored in one or more of said file directories may contain identical tag values;a separate file descriptor table for each of said multiplicity of data storage devices, each of said file descriptor tables containing a file descriptor entry including file locating information for every file stored on the corresponding data storage device; a tag directory, stored on at least a selected one of said multiplicity of data storage devices, said tag directory containing tag entries for a defined set of tag values, wherein every file stored in said multiplicity of data storage devices is represented by a unique one of said tag entries, each said tag entry denoting the one of said multiplicity of data storage devices on which the file corresponding to said tag entry is stored; and file moving means, executable by said central processing unit, for moving a specified file from a first one to a second one of said multiplicity of data storage devices, including means for copying said specified file to said second one of said multiplicity of data storage devices, generating a file descriptor entry for said copied file on said file descriptor table for said second one of said multiplicity of data storage devices, changing the tag entry in said tag directory corresponding to said specified file so that said tag entry denotes said second one of said multiplicity of data storage devices, and initiating deallocation of said specified file on said first data storage device and of said specified file'"'"'s file descriptor entry from said file descriptor table for said first data storage device; means for determining the location of a file by using one of its names to find the corresponding tag value, and from the tag value its file descriptor entry whereby a file can be moved from a first one to a second one of said multiplicity of data storage devices without having to locate and update all corresponding file directory entries. - View Dependent Claims (2, 3, 4)
-
-
5. A method of allocating storage space in a computer system having a multiplicity of data storage devices, comprising:
-
storing on various ones of said multiplicity of data storage devices a multiplicity of file directories, each file directory containing a set of file directory entries, each file directory entry having a file name and a corresponding tag value, each file having a unique tag value but a possible plurality of names;
wherein multiple file directory entries stored in one or more of said file directories may contain identical tag values;storing on each of said multiplicity of data storage devices a separate file descriptor table, each of said file descriptor tables containing a file descriptor entry including file locating information for every file stored on the corresponding data storage device, whereby the location of a file can be determined by using one of its names to find the corresponding tag value, and from the tag value its file descriptor entry; storing on at least a selected one of said multiplicity of data storage devices a tag directory containing tag entries for a defined set of tag values, wherein every file stored in said multiplicity of data storage devices is represented by a unique one of said tag entries, each said tag entry denoting the one of said multiplicity of data storage devices on which the file corresponding to said tag entry is stored; and moving a specified file from a first one to a second one of said multiplicity of data storage devices, including copying said specified file to said second one of said multiplicity of data storage devices, generating a file descriptor entry for said copied file on said file descriptor table for said second one of said multiplicity of data storage devices, changing the tag entry in said tag directory corresponding to said specified file so that said tag entry denotes said second one of said multiplicity of data storage devices, and deallocating said specified file on said first data storage device and said specified file'"'"'s file descriptor entry from said file descriptor table for said first data storage device; whereby a file can be moved from a first one to a second one of said multiplicity of data storage devices without having to locate and update all corresponding file directory entries. - View Dependent Claims (6, 7, 8)
-
-
9. A file system for use with a computer system having a central processing unit and a multiplicity of data storage devices on which files are stored, comprising:
-
a multiplicity of file directories, stored on various ones of said multiplicity of data storage devices, each file directory containing a set of file directory entries, each file directory entry having a file name and a corresponding tag value, each file having a unique tag value but a possible plurality of names; a tag directory, stored on at least a selected one of said multiplicity of data storage devices, said tag directory containing tag entries for a defined set of tag values, wherein every file stored in said multiplicity of data storage devices is represented by a unique one of said tag entries, each said tag entry denoting the one of said multiplicity of data storage devices on which the file corresponding to said tag entry is stored; a separate file descriptor table for each of said multiplicity of data storage devices, each of said file descriptor tables containing a file descriptor entry including file including information for every file stored on the corresponding data storage device;
whereby the location of a file can be determined by using one of its names to find the corresponding tag value, and from the tag value its file descriptor entry; andfile moving means, executable by said central processing unit, for moving a specified file from a first one to a second one of said multiplicity of data storage devices, including means for copying said specified file to said second one of said multiplicity of data storage devices, generating a file descriptor entry for said copied file on said file descriptor table for said second one of said multiplicity of data storage devices, changing the tag entry in said tag directory corresponding to said specified file so that said tag entry denotes said second one of said multiplicity of data storage devices, and initiating deallocation of said specified file on said first data storage device and of said specified file'"'"'s file descriptor entry from said file descriptor table for said first data storage device. - View Dependent Claims (10, 11, 12)
-
-
13. A method of allocating storage space in a computer system having a multiplicity of data storage devices, comprising:
-
storing on at least a selected one of said multiplicity of data storage devices a tag directory containing tag entries for a defined set of tag values, wherein every file stored in said multiplicity of data storage devices is represented by a unique one of said tag entries, each said tag entry denoting the one of said multiplicity of data storage devices on which the file corresponding to said tag entry is stored; storing on various ones of said multiplicity of data storage devices a multiplicity of file directories, each file directory containing a set of file directory entries, each file directory entry having a file name and a corresponding tag value, each file having a unique tag value but a possible plurality of names; storing on each of said multiplicity of data storage devices a separate file descriptor table, each file descriptor table containing a file descriptor entry including file locating information for every file stored on the corresponding data storage device;
whereby the location of a file can be determined by using one of its names to find the corresponding tag value, and from the tag value its file descriptor entry; andmoving a specified file from a first one to a second one of said multiplicity of data storage devices, including copying said specified file to said second one of said multiplicity of data storage devices, generating a file descriptor entry for said copied file on said file descriptor table for said second one of said multiplicity of data storage devices, changing the tag entry in said tag directory corresponding to said specified file so that said tag entry denotes said second one of said multiplicity of data storage devices, and deallocating said specified file on said first data storage device and said specified file'"'"'s file descriptor entry from said file descriptor table for said first data storage device. - View Dependent Claims (14, 15, 16)
-
Specification