Claims
- 1. A non-hierarchical file subsystem for storing data objects comprising:
a mass storage device allocated by a server to the file subsystem comprising:
multiple object data partitions, the object data partitions for storing data objects within one of a number of variable-length object spaces, with multiple fixed-length segments located within each object data partition; and at least one meta data disk partition for storing subsystem meta data information, object meta data information, and object directory, the object directory comprising an array of directory blocks each comprising pointers to a particular disk object space within a particular segment of a particular partition, and for retrieving a data object using a hash value of a hierarchical specifier for the data object.
- 2. A file subsystem as in claim 1 wherein the mass storage device is a disk drive.
- 3. A file subsystem as in claim 1 wherein the hierarchical specifier for the data object is a Uniform Resource Locator (URL).
- 4. A file subsystem as in claim 1 wherein the file subsystem is incorporated in one fo a Web page home server or Web page cache server.
- 5. A file subsystem as in claim 1 wherein the hash value is separated into two hash portions, with a first portion used as an index to select one of a plurality of directory blocks, and a second portion is used to select a directory entry in a directory block.
- 6. A file subsystem as in claim 5 wherein the directory entry specifies at least a segment, starting block number, and size for the data object.
- 7. A file subsystem as in claim 1 additionally comprising:
at least one data buffer allocated to the file subsystem for receiving data objects sequentially and for returning data objects sequentially in response to requests for data objects by a hash value representing a hierarchical specifier of a data object, wherein a data object received has a header comprising at least the size and hierarchical specifier of a data object and a trailer comprising at least a two part hash value representing the data object.
- 8. A file subsystem as in claim 7 additionally comprising:
a data processor coupled to a Random Access Memory (RAM), the RAM holding temporarily a table of meta data and network object data within the data buffer while the processor searches a RAM directory array for a particular block in the array that contains a network address that matches that of the network object and terminates the storage of the network object and upon not finding a network address, storing the network object within the data buffer to the next available object space within the active segment of an active partition and adding the location of the network object to a block within the RAM directory array.
- 9. A file system as in claim 1 wherein the data objects are stored in the mass storage device such that byte portions of data objects are sequentially stored and such that each data object is only stored in one segment.
- 10. A file system as in claim 1 wherein a plurality of data objects are stored contiguously in a given segment.
- 11. A file system as in claim 1 wherein new objects to be stored are stored in a selected segment based upon a round-robin selection scheme.
- 12. A storage subsystem as in claim 1 wherein a data object is written to overwrite an oldest data object in a segment when a segment is full.
RELATED APPLICATION(S)
[0001] This application claims the benefit of U.S. Provisional Application No. 60/207,995, filed on May 26, 2000, the entire teachings of which are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60207995 |
May 2000 |
US |