Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
165 words
In a cache for information objects that are identified by key values based on names of the information objects, comprising a tag table that indexes the information objects using set subkey values based on the key values, a directory table having a plurality of blocks indexed to sets in the tag table by second subkey values based on the key values, and data storage areas referenced by the blocks in the directory table, a method of delivering a requested information object to a client from the cache at a server, comprising the steps of: (A) receiving a name that identifies a requested information object; (B) computing a fixed size key value comprising a plurality of subkeys, 11 based on the name; (C) looking up the requested information object in a directory table, using the subkeys as lookup keys; and (D) retrieving a copy of the requested information object from the data storage areas using a reference contained in a matching block in the directory table.
Claim 2
Dependent Claim
165 words
In a cache for information objects that are identified by key values based on names of the information objects, comprising a tag table that indexes the information objects using set subkey values based on the key values, a directory table having a plurality of blocks indexed to sets in the tag table by second subkey values based on the key values, and data storage areas referenced by the blocks in the directory table, a method of delivering a requested information object to a client from the cache at a server, comprising the steps of: (A) receiving a name that identifies a requested information object; (B) computing a fixed size key value comprising a plurality of subkeys, 11 based on the name; (C) looking up the requested information object in a directory table, using the subkeys as lookup keys; and (D) retrieving a copy of the requested information object from the data storage areas using a reference contained in a matching block in the directory table.
Claim 3
Dependent Claim
80 words
The method recited in claim 1, further comprising the steps of: selecting a version of the requested information object from a list in said cache of a plurality of versions of the requested information objects; identifying a storage location of the requested information object in said cache based on an object key stored in the list in association with the first version; retrieving the requested information object from the storage location; and delivering the requested information object to the client.
Claim 4
Dependent Claim
83 words
The method recited in claim 2, further comprising the steps of: storing the list contiguously with each of the plurality of versions of the requested information object; in each of the blocks, storing a size value of the requested information object in association with such block, wherein the size value indicates a storage size of the list and the plurality of versions of the information object; and wherein step (D) comprises the step of reading the list and the plurality of versions concurrently.
Claim 5
Dependent Claim
21 words
The method recited in claim 1, further comprising the steps of: storing the information objects contiguously in a mass storage device.
Claim 6
Dependent Claim
45 words
The method recited in claim 4, wherein the step of storing the information objects comprises the step of writing the information objects in contiguous available storage space of the mass storage device, while concurrently performing steps (A) through (D) with respect to another information object.
Claim 7
Dependent Claim
26 words
The method recited in claim 4, further comprising the steps of: storing each of the information objects in a contiguous pool of the mass storage device.
Claim 8
Dependent Claim
27 words
The method recited in claim 6, further comprising the steps of: storing each of the information objects in one of a plurality of arenas in the pool.
Claim 9
Dependent Claim
23 words
The method recited in claim 7, further comprising the step of consolidating streaming data transfers of different speeds into a write aggregation buffer.
Claim 10
Dependent Claim
25 words
The method recited in claim 7, further comprising the steps of: storing each of the information objects in one or more fragments, allocated from arenas.
Claim 11
Dependent Claim
20 words
The method recited in claim 9, wherein the fragments comprising an information object are linked from the previous fragment key.
Claim 12
Dependent Claim
198 words
A computer-readable medium carrying one or more sequences of instructions for caching information objects, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: establishing a cache for information objects that are identified by key values based on names of the information objects, comprising a tag table that indexes the information objects using set subkey values based on the key values, a directory table having a plurality of blocks indexed to sets in the tag table by second subkey values based on the key values, and data storage areas referenced by the blocks in the directory table; delivering a requested information object to a client from the cache at a server, by: (A) receiving a name that identifies a requested information object; (B) computing a fixed size key value comprising a plurality of subkeys, based on the name; (C) looking up the requested information object in a directory table, using the subkeys as lookup keys; and (D) retrieving a copy of the requested information object from the data storage areas using a reference contained in a matching block in the directory table.
Claim 13
Dependent Claim
198 words
A computer-readable medium carrying one or more sequences of instructions for caching information objects, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: establishing a cache for information objects that are identified by key values based on names of the information objects, comprising a tag table that indexes the information objects using set subkey values based on the key values, a directory table having a plurality of blocks indexed to sets in the tag table by second subkey values based on the key values, and data storage areas referenced by the blocks in the directory table; delivering a requested information object to a client from the cache at a server, by: (A) receiving a name that identifies a requested information object; (B) computing a fixed size key value comprising a plurality of subkeys, based on the name; (C) looking up the requested information object in a directory table, using the subkeys as lookup keys; and (D) retrieving a copy of the requested information object from the data storage areas using a reference contained in a matching block in the directory table.
Claim 14
Dependent Claim
86 words
The computer-readable medium recited in claim 11, further comprising sequences of instructions for performing the steps of: selecting a version of the requested information object from a list in said cache of a plurality of versions of the requested information objects; identifying a storage location of the requested information object in said cache based on an object key stored in the list in association with the first version; retrieving the requested information object from the storage location; and delivering the requested information object to the client.
Claim 15
Dependent Claim
89 words
The computer-readable medium recited in claim 12, further comprising sequences of instructions for performing the step of storing the list contiguously with each of the plurality of versions of the requested information object; in each of the blocks, storing a size value of the requested information object in association with such block, wherein the size value indicates a storage size of the list and the plurality of versions of the information object; and wherein step (D) comprises the step of reading the list and the plurality of versions concurrently.
Claim 16
Dependent Claim
27 words
The computer-readable medium recited in claim 11, further comprising sequences of instructions for performing the step of storing the information objects contiguously in a mass storage device.
Claim 17
Dependent Claim
46 words
The computer-readable medium recited in claim 14, wherein the step of storing the information objects comprises the step of writing the information objects in contiguous available storage space of the mass storage device, while concurrently performing steps (A) through (D) with respect to another information object.
Claim 18
Dependent Claim
32 words
The computer-readable medium recited in claim 14, further comprising sequences of instructions for performing the step of storing each of the information objects in a contiguous pool of the mass storage device.
Claim 19
Dependent Claim
33 words
The computer-readable medium recited in claim 16, further comprising sequences of instructions for performing the step of storing each of the information objects in one of a plurality of arenas in the pool.
Claim 20
Dependent Claim
29 words
The computer-readable medium recited in claim 17, further comprising sequences of instructions for performing the step of consolidating streaming data transfers of different speeds into a write aggregation buffer.
Claim 21
Dependent Claim
31 words
The computer-readable medium recited in claim 17, further comprising sequences of instructions for performing the step of storing each of the information objects in one or more fragments, allocated from arenas.
Claim 22
Dependent Claim
21 words
The computer-readable medium recited in claim 19, wherein the fragments comprising an information object are linked from the previous fragment key.
Claim 23
Dependent Claim
28 words
The computer-readable media recited in claim 11, which steps (B) and (C) use subkey partition and table organization, thereby providing fast cache miss determination while using modest memory.
Claim 24
Dependent Claim
27 words
The method recited in claim 1, which steps (B) and (C) use subkey partition and table organization, thereby providing fast cache miss determination while using modest memory.