METHOD AND APPARATUS FOR ACCELERATION BY PREFETCHING ASSOCIATED OBJECTS
First Claim
1. A method of accelerating client-server transactions at a proxy, the method comprising:
- intercepting an initial request from a client;
forwarding the initial request to an origin server;
receiving a response from the origin server;
recording the initial request as a root node;
outputting the response to the client;
intercepting subsequent requests from the client;
identifying a first subsequent client'"'"'s request associated with the initial request;
constructing an associate tree having the root node and at least one leaf node which is coupled to that root node; and
prefetching the at least one leaf node.
19 Assignments
0 Petitions
Accused Products
Abstract
Association information is used to build association trees to associate base pages and embedded objects at a proxy. An association tree has a root node containing a URL for a base page, and zero or more leaf nodes each containing a URL for an embedded object. In most cases, an association tree will maintain the invariant that all leaves contain distinct URLs. However, it is also possible to have an association tree in which the same URL appears in multiple nodes. An association tree may optionally contain one or more internal nodes, each of which contains a URL that is an embedded object for some other base page, but which may also be fetched as a base page itself. Given a number of association trees and a base-page URL, a prefetch system finds the root or interior node corresponding to that URL (if any) and traverses the tree from that node, prefetching URLs until the URL of the last leaf node is prefetched. The prefetching starts the process of bringing over the various embedded objects before the user or program would ordinarily fetch them.
180 Citations
23 Claims
-
1. A method of accelerating client-server transactions at a proxy, the method comprising:
-
intercepting an initial request from a client; forwarding the initial request to an origin server; receiving a response from the origin server; recording the initial request as a root node; outputting the response to the client; intercepting subsequent requests from the client; identifying a first subsequent client'"'"'s request associated with the initial request; constructing an associate tree having the root node and at least one leaf node which is coupled to that root node; and prefetching the at least one leaf node. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of associating embedded objects with base pages at a proxy, the method comprising:
-
classifying a request as base page or as an embedded object; detecting a containment attribute on a request for an embedded object; extracting a base page identification from the containment attribute; grouping the embedded object with the base page identified in the extracting step; and marking a response with zero or more distinctive tags representing a grouping from the grouping step. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A proxy interposed between at least one client and at least one server for accelerating client-server transactions, the proxy comprising:
-
a processor including memory modules and mass storage units; program instructions for intercepting requests issued from a client, classifying the requests, recording a base page (base URL), constructing an associate tree having one or more root nodes; and program instructions for prefetching objects based on the constructed associate tree. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
Specification