Patent US4067732A successfully refreshed from Google Patents.
Patent US5333315A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5333315A Expired / Lapsed US ⏱️ 0.0 years remaining

System of device independent file directories using a tag between the directories and file descriptors that migrate with the files

Assignee: Hewlett Packard Development Co LP
•
Filing: 1991-06-27
•
Granted: 1994-07-26
•
Expires: 2011-06-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Christian D. Saether
  • 👤 Peter Stoppani, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 17:28
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F16/00; G06F16/10; G06F3/0602; G06F3/0604; G06F3/0628; G06F3/0638; G06F3/0643; G06F3/0653; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; G11; G11B; G11B27/00; G11B27/002; G11B27/10; G11B27/19; G11B27/28; G11B27/32; G11B27/327; G11B27/329; G11B27/36; G06F11/00; G06F11/30; G06F11/34; G06F11/3466; G06F11/3485; G11B2220/00; G11B2220/40; G11B2220/41; G11B2220/415; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 408 words
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.
Claim 2
Dependent Claim 408 words
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.
Claim 3
Dependent Claim 72 words
The file system of claim 1, further including data storage usage monitoring means, executable by said central processing unit, for monitoring usage of said multiplicity of data storage devices, computing corresponding statistical values indicative of whether said usage is imbalanced, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to better balance usage thereof.
Claim 4
Dependent Claim 91 words
The file system of claim 1, further including data storage usage monitoring means, executable by said central processing unit, for monitoring unused capacity on each of said multiplicity of data storage devices, computing statistical values indicative of whether said unused capacity is unevenly distributed among said multiplicity of data storage devices, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to more evenly distribute unused capacity among said multiplicity of data storage devices.
Claim 5
Dependent Claim 86 words
The file system of claim 3, said data storage usage monitoring means further including means for monitoring loading on each of said multiplicity of data storage devices, computing time averaged statistical values indicative of whether said loading is unevenly distributed among said multiplicity of data storage devices, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to more evenly distribute loading among said multiplicity of data storage devices.
Claim 6
Independent Claim 383 words
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.
Claim 7
Independent Claim 383 words
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.
Claim 8
Dependent Claim 63 words
The method of allocating storage space of claim 5, further including monitoring usage of said multiplicity of data storage devices, computing corresponding statistical values indicative of whether said usage is imbalanced, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to better balance usage thereof.
Claim 9
Dependent Claim 82 words
The method of allocating storage space of claim 5, further including monitoring unused capacity on each of said multiplicity of data storage devices, computing statistical values indicative of whether said unused capacity is unevenly distributed among said multiplicity of data storage devices, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to more evenly distribute unused capacity among said multiplicity of data storage devices.
Claim 10
Dependent Claim 81 words
The method of allocating storage space of claim 7, further including monitoring loading on each of said multiplicity of data storage devices, computing time averaged statistical values indicative of whether said loading is unevenly distributed among said multiplicity of data storage devices, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to more evenly distribute loading among said multiplicity of data storage devices.
Claim 11
Dependent Claim 358 words
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; 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.
Claim 12
Dependent Claim 358 words
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; 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.
Claim 13
Dependent Claim 72 words
The file system of claim 9, further including data storage usage monitoring means, executable by said central processing unit, for monitoring usage of said multiplicity of data storage devices, computing corresponding statistical values indicative of whether said usage is imbalanced, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to better balance usage thereof.
Claim 14
Dependent Claim 91 words
The file system of claim 9, further including data storage usage monitoring means, executable by said central processing unit, for monitoring unused capacity on each of said multiplicity of data storage devices, computing statistical values indicative of whether said unused capacity is unevenly distributed among said multiplicity of data storage devices, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to more evenly distribute unused capacity among said multiplicity of data storage devices.
Claim 15
Dependent Claim 86 words
The file system of claim 11, said data storage usage monitoring means further including means for monitoring loading on each of said multiplicity of data storage devices, computing time averaged statistical values indicative of whether said loading is unevenly distributed among said multiplicity of data storage devices, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to more evenly distribute loading among said multiplicity of data storage devices.
Claim 16
Independent Claim 330 words
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; 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.
Claim 17
Independent Claim 330 words
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; 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.
Claim 18
Dependent Claim 63 words
The method of allocating storage space of claim 13, further including monitoring usage of said multiplicity of data storage devices, computing corresponding statistical values indicative of whether said usage is imbalanced, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to better balance usage thereof.
Claim 19
Dependent Claim 82 words
The method of allocating storage space of claim 13, further including monitoring unused capacity on each of said multiplicity of data storage devices, computing statistical values indicative of whether said unused capacity is unevenly distributed among said multiplicity of data storage devices, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to more evenly distribute unused capacity among said multiplicity of data storage devices.
Claim 20
Dependent Claim 81 words
The method of allocating storage space of claim 15, further including monitoring loading on each of said multiplicity of data storage devices, computing time averaged statistical values indicative of whether said loading is unevenly distributed among said multiplicity of data storage devices, comparing said computed statistical values with predefined criteria, and when said predefined criteria are met, automatically moving files among said multiplicity of data storage devices so as to more evenly distribute loading among said multiplicity of data storage devices.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-07-25 1998-01-24 1998-07-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-07-25 2002-01-24 2002-07-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-07-25 2006-01-24 2006-07-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag