Method and system for efficient and automated version management of embedded objects in web documents
First Claim
1. A method for operating a proxy disposed between a user and a document accessible to said user over a computer network, comprising:
- obtaining an electronic document identifiable by a network address of said document, including one or more references to one or more embedded objects, each said one or more embedded objects being identifiable by a preexisting network address therefor;
for at least one of said one or more embedded objects, facilitating storage and re-use thereof from a cache accessible to said user, without requiring user validation of said one or more embedded objects upon said re-use, by specifying a new network address uniquely identifying said one or more embedded objects, and specifying cacheability information for said one or more embedded objects;
modifying said documents by replacing said preexisting address for said one or more embedded objects with said new network address;
transmitting said modified document to said user;
receiving a user request for at least one of said embedded objects; and
in response to said request;
transmitting said cacheability information to said requesting user;
evaluating the validity of said requested object, using information from said user request; and
transmitting an outcome of said validity evaluation to said requesting user.
4 Assignments
0 Petitions
Accused Products
Abstract
A proxy implements automated version management of objects embedded in a document to eliminate/reduce network delays associated with requests to validate the objects in a browser (or other) cache. In an exemplary embodiment, the proxy obtains the document, assigns a unique URL to an embedded object, assigns an extended cache life to the object (via a header), updates the object'"'"'s URL reference in the document, and sends the modified document to the user. When the user requests the object, the proxy obtains the object, attaches the new header, and transmits the object to the user. Because of its extended cache life, the object can subsequently be reused without time-consuming validation with the content server. In another embodiment, storage and validation of objects at the proxy (rather than at the cache) achieves reduced (and faster) validation while allowing refreshing prior to expiration.
137 Citations
28 Claims
-
1. A method for operating a proxy disposed between a user and a document accessible to said user over a computer network, comprising:
-
obtaining an electronic document identifiable by a network address of said document, including one or more references to one or more embedded objects, each said one or more embedded objects being identifiable by a preexisting network address therefor; for at least one of said one or more embedded objects, facilitating storage and re-use thereof from a cache accessible to said user, without requiring user validation of said one or more embedded objects upon said re-use, by specifying a new network address uniquely identifying said one or more embedded objects, and specifying cacheability information for said one or more embedded objects; modifying said documents by replacing said preexisting address for said one or more embedded objects with said new network address; transmitting said modified document to said user; receiving a user request for at least one of said embedded objects; and
in response to said request;transmitting said cacheability information to said requesting user; evaluating the validity of said requested object, using information from said user request; and transmitting an outcome of said validity evaluation to said requesting user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable medium comprising program logic instructions for operating a proxy disposed between a user and a document accessible to said user over a computer network, in order to facilitate re-use of objects within said document from a cache without requiring user validation of said objects upon re-use, said instruction when executed:
-
obtaining an electronic document identifiable by a network address of said document, including one or more references to one or more embedded objects, each said one or more embedded objects being identifiable by a preexisting network address therefor; for at least one of said one or more embedded objects facilitating storage and re-use thereof from a cache accessible to said user, without requiring user validation of said one or more embedded objects upon said re-use, by specifying a new network address uniquely identifying said one or more embedded objects, and specifying cacheability information for said one or more embedded objects; modifying said document by replacing said preexisting address for said one or more embedded objects with said new network address; transmitting said modified document to said user; receiving a user request for at least one of said embedded objects; and
in response to said request;transmitting said cacheability information to said requesting user; evaluating the validity of said requested object, using information from said user request; and transmitting an outcome of said validity evaluation to said requesting user. - View Dependent Claims (18)
-
-
19. A device configured to facilitate re-use of objects within said document from a cache comprising:
-
resources for obtaining an electronic document identifiable by a network address of said document, including one or more references to one or more embedded objects, each said one or more embedded objects being identifiable by a preexisting network address therefor; resources for facilitating storage and re-use of at least one of said one or more embedded objects, from a cache accessible to said user, without requiring validation of said one or more embedded objects upon said re-use, by specifying a new network address uniquely identifying said one or more embedded objects, and specifying cacheability information for said one or more embedded objects;
resources for modifying said document by replacing said preexisting address for said one or more objects with said new network address;resources for transmitting said modified document to said user; resources for receiving a user request for at least one of said embedded objects; resources for transmitting said cacheability information to said requesting user; and resources for evaluating the validity of said requested object, using information from said user request. - View Dependent Claims (20, 21, 22)
-
-
23. A method for operating a proxy disposed between a user and a document accessible to said user over a computer network, in order to facilitate re-use of objects within said document from a cache instead of necessarily requiring downloading said objects upon each use, comprising:
-
obtaining an electronic document identifiable by a network address of said document, including one or more references to one or more embedded objects, each said one or more embedded objects being identifiable by a network address therefor; for at least one of said one or more embedded objects, facilitating storage and re-use thereof from a cache accessible to said user, without requesting said one or more embedded objects upon said use, by specifying cacheability information for said one or more embedded objects that permits caching thereof, including an entity tag uniquely identifying said one or more embedded objects, and specifying a required validation of said one or more embedded objects; transmitting said modified document to said user; receiving a user request for at least one of said embedded objects; and
in response to said request;transmitting said cacheability information to said requesting user; evaluating the validity of said requested object, using information from said user request; and transmitting an outcome of said validity evaluation to said requesting user. - View Dependent Claims (24, 25)
-
-
26. A method of managing content delivery comprising:
-
at a content server proxy, receiving a content request from a user for content provided by a content server; receiving the content transmitted from the content server to the content server proxy; dynamically processing the content with the content server proxy, wherein dynamically processing the content comprises, reassigning a resource locator for an embedded object of the content to a modified resource locator which includes a header having validity data for the embedded object, modifying the validity data to include a future date, and modifying each reference to the embedded object contained in the content to the modified resource locator; and transmitting the dynamically processing the content to the user. - View Dependent Claims (27)
-
-
28. A method of managing content delivery comprising:
-
at a content server proxy, receiving a content request from a user for content provided by a content server; receiving the content transmitted from the content server to the content server proxy, wherein the content has an associated resource locator with a header specifying cache control information for the content, the cache control information comprising an expiration date, a last modified date and a cache control field indicating if the content can be cached; dynamically processing the content with the content server proxy, wherein dynamically processing the content comprises modifying the header expiration date to a future date, modifying the header last modified date to a date corresponding to a current date, and modifying the header cache control field to allow caching of the content; and
transmitting the dynamically processing the content to the user.
-
Specification