Storage and retrieval system for WEB cache
First Claim
Patent Images
1. A server for storing Web objects in co-located positions on a storage device, comprising:
- a processor;
one or more stored sequences of instructions which, when executed by the processor, cause the processor to perform the steps of;
receiving, at a server from a first client device, a first request for a first Web object;
in response to the first request,the server obtaining the first Web object and a second Web object; and
the server sending to the first client device the first Web object and the second Web object;
the server causing the first Web object to be stored in a first temporary location on the storage device;
the server causing the second Web object to be stored in a second temporary location on the storage device,wherein the storage device is included in the server;
wherein the server is a Web caching server;
the server identifying that the second Web object is embedded within the first Web object;
determining that a criterion is satisfied wherein the criterion is satisfied when the Web caching server is processing a number of requests that is below a specified value;
based on a criterion being satisfied,the server causing the first Web object to be stored as a first file in a first storage location on the storage device, wherein causing the first Web object to be stored as a first file comprises the server causing the first Web object to be moved from the first temporary location to the first storage location; and
the server causing the second Web object to be stored as a second file in a second storage location on the storage device, wherein causing the second Web object to be stored as a second file comprises the server causing the second Web object to be moved from the second temporary location to the second storage location;
wherein the second storage location is selected to be co-located with respect to the first storage location in response to identifying that the second Web object is embedded within the first Web object;
receiving, at the server from a second client device, a second request for the first Web object; and
in response to the second request,the server obtaining the first Web object by causing the first file to be read from the storage device in a first read operation;
the server obtaining the second Web object by causing the second file to be read from the storage device in a second read operation; and
the server sending to the second client device the first Web object and the second Web object.
6 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a storage and retrieval routine for Web objects. A Web page typically includes several objects such as text, images and hyper-links to other Web pages. Each Web page and its objects are usually stored in separate files. A storage and retrieval routine stores objects that correspond to the same Web page in co-located positions on a disk. Therefore, when the Web page and its embedded and hyper-linked Web objects are retrieved, the seek time is reduced, thereby reducing the object retrieval time as perceived by a computer user and increasing the number of requests per second that a Web content server can deliver.
-
Citations
19 Claims
-
1. A server for storing Web objects in co-located positions on a storage device, comprising:
-
a processor; one or more stored sequences of instructions which, when executed by the processor, cause the processor to perform the steps of; receiving, at a server from a first client device, a first request for a first Web object; in response to the first request, the server obtaining the first Web object and a second Web object; and the server sending to the first client device the first Web object and the second Web object; the server causing the first Web object to be stored in a first temporary location on the storage device; the server causing the second Web object to be stored in a second temporary location on the storage device, wherein the storage device is included in the server; wherein the server is a Web caching server; the server identifying that the second Web object is embedded within the first Web object; determining that a criterion is satisfied wherein the criterion is satisfied when the Web caching server is processing a number of requests that is below a specified value; based on a criterion being satisfied, the server causing the first Web object to be stored as a first file in a first storage location on the storage device, wherein causing the first Web object to be stored as a first file comprises the server causing the first Web object to be moved from the first temporary location to the first storage location; and the server causing the second Web object to be stored as a second file in a second storage location on the storage device, wherein causing the second Web object to be stored as a second file comprises the server causing the second Web object to be moved from the second temporary location to the second storage location; wherein the second storage location is selected to be co-located with respect to the first storage location in response to identifying that the second Web object is embedded within the first Web object; receiving, at the server from a second client device, a second request for the first Web object; and in response to the second request, the server obtaining the first Web object by causing the first file to be read from the storage device in a first read operation; the server obtaining the second Web object by causing the second file to be read from the storage device in a second read operation; and the server sending to the second client device the first Web object and the second Web object. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for storing Web objects in co-located positions on a storage device, comprising:
-
means for receiving, at a server from a first client device, a first request for a first Web object; means for, in response to the first request, the server obtaining the first Web object and a second Web object; and the server sending to the first client device the first Web object and the second Web object; means for the server causing the first Web object to be stored in a first temporary location on the storage device; means for the server causing the second Web object to be stored in a second temporary location on the storage device, wherein the storage device is included in the server; wherein the server is a Web caching server; means for the server identifying that the second Web object is embedded within the first Web object; means for determining that a criterion is satisfied, wherein the criterion is satisfied when the Web caching server is processing a number of requests that is below a specified value; means for, based on a criterion being satisfied, the server causing the first Web object to be stored as a first file in a first storage location on the storage device, wherein causing the first Web object to be stored as a first file comprises the server causing the first Web object to be moved from the first temporary location to the first storage location; and the server causing the second Web object to be stored as a second file in a second storage location on the storage device, wherein causing the second Web object to be stored as a second file comprises the server causing the second Web object to be moved from the second temporary location to the second storage location; wherein the second storage location is selected to be co-located with respect to the first storage location in response to identifying that the second Web object is embedded within the first Web object; means for receiving, at the server from a second client device, a second request for the first Web object; and means for, in response to the second request, the server obtaining the first Web object by causing the first file to be read from the storage device in a first read operation; the server obtaining the second Web object by causing the second file to be read from the storage device in a second read operation; and the server sending to the second client device the first Web object and the second Web object. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-readable storage medium carrying one or more sequences of instructions for storing Web objects in co-located positions on a storage device, which instructions, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
receiving, at a server from a first client device, a first request for a first Web object; in response to the first request, the server obtaining the first Web object and a second Web object; and the server sending to the first client device the first Web object and the second Web object; the server causing the first Web object to be stored in a first temporary location on the storage device; the server causing the second Web object to be stored in a second temporary location on the storage device, wherein the storage device is included in the server; wherein the server is a Web caching server; the server identifying that the second Web object is embedded within the first Web object; determining that a criterion is satisfied, wherein the criterion is satisfied when the Web caching server is processing a number of requests that is below a specified value; based on a criterion being satisfied, the server causing the first Web object to be stored as a first file in a first storage location on the storage device, wherein causing the first Web object to be stored as a first file comprises the server causing the first Web object to be moved from the first temporary location to the first storage location; and the server causing the second Web object to be stored as a second file in a second storage location on the storage device, wherein causing the second Web object to be stored as a second file comprises the server causing the second Web object to be moved from the second temporary location to the second storage location; wherein the second storage location is selected to be co-located with respect to the first storage location in response to identifying that the second Web object is embedded within the first Web object; receiving, at the server from a second client device, a second request for the first Web object; and in response to the second request, the server obtaining the first Web object by causing the first file to be read from the storage device in a first read operation; the server obtaining the second Web object by causing the second file to be read from the storage device in a second read operation; and the server sending to the second client device the first Web object and the second Web object. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method for storing Web objects in co-located positions on a storage device, comprising:
-
receiving, at a server from a first client device, a first request for a first Web object; in response to the first request, the server obtaining the first Web object and a second Web object; and the server sending to the first client device the first Web object and the second Web object; the server causing the first Web object to be stored in a first temporary location on the storage device; the server causing the second Web object to be stored in a second temporary location on the storage device, wherein the storage device is included in the server; wherein the server is a Web caching server; the server identifying that the second Web object is embedded within the first Web object; determining that a criterion is satisfied, wherein the criterion is satisfied when the Web caching server is processing a number of requests that is below a specified value; based on a criterion being satisfied, the server causing the first Web object to be stored as a first file in a first storage location on the storage device, wherein causing the first Web object to be stored as a first file comprises the server causing the first Web object to be moved from the first temporary location to the first storage location; and the server causing the second Web object to be stored as a second file in a second storage location on the storage device, wherein causing the second Web object to be stored as a second file comprises the server causing the second Web object to be moved from the second temporary location to the second storage location; wherein the second storage location is selected to be co-located with respect to the first storage location in response to identifying that the second Web object is embedded within the first Web object; receiving, at the server from a second client device, a second request for the first Web object; and in response to the second request, the server obtaining the first Web object by causing the first file to be read from the storage device in a first read operation; the server obtaining the second Web object by causing the second file to be read from the storage device in a second read operation; and the server sending to the second client device the first Web object and the second Web object.
-
Specification