Mobile resource accelerator
First Claim
1. A computer-implemented method for accelerating content presentation in a client/server environment, comprising:
- priming a plurality of web pages by;
configuring a plurality of client groups;
tailoring a plurality of resources for use in responding to client requests for the web pages, wherein tailoring a plurality of resources comprises, for at least one resource, tailoring the resource for presentation on clients belonging to one of a the plurality of client groups; and
storing the tailored resources in a tailored resource cache; and
at a proxy device communicatively coupled to a client and a server via a communications network, performing the steps of;
intercepting a request from the client for a web page;
detecting a client group associated with the requesting client, the client group being one of the client groups in the plurality;
determining a visit context for the request, the visit context indicating whether the client has previously visited the web page;
transmitting a request to a server for content requested in the intercepted request;
receiving a response from the server, the response comprising at least one resource reference;
parsing the received response to identify the at least one token representing a resource reference;
responsive to the visit context indicating that the client has not previously visited the web page;
for each of at least a subset of identified tokens;
retrieving a tailored resource identified by the resource reference, wherein retrieving a tailored resource comprises retrieving a resource tailored for presentation on clients belonging to the detected client group;
rewriting the token to include the tailored resource for local storage of the tailored resource and a resource key for retrieval of the tailored resource from local storage; and
transmitting a groomed response to the client including the rewritten at least one token; and
responsive to the visit context indicating that the client has previously visited the web page;
for each of at least a subset of identified tokens;
obtaining a previously stored tailored resource key identifying a storage location for a resource in local storage associated with the client; and
rewriting the token to include the resource key for use by the client in retrieving the tailored resource; and
transmitting a groomed response to the client including the rewritten at least one token.
5 Assignments
0 Petitions
Accused Products
Abstract
In a client/server environment wherein resources are returned in response to client requests, a resource can be in-lined the first time it is requested, and then cached locally for use in connection with subsequent requests. When a user returns to the page for a subsequent visit, the resource requests are served from the local cache, thus avoiding the need for re-transmission with each response. According to various embodiments, the system and method of the present invention can be implemented in connection with delivery of any content in a client/server system, including for example HTML responses to requests for web pages. In at least one embodiment, the techniques described herein are tailored to mobile data network constraints; however, these techniques can be applied to any data network.
-
Citations
39 Claims
-
1. A computer-implemented method for accelerating content presentation in a client/server environment, comprising:
-
priming a plurality of web pages by; configuring a plurality of client groups; tailoring a plurality of resources for use in responding to client requests for the web pages, wherein tailoring a plurality of resources comprises, for at least one resource, tailoring the resource for presentation on clients belonging to one of a the plurality of client groups; and storing the tailored resources in a tailored resource cache; and at a proxy device communicatively coupled to a client and a server via a communications network, performing the steps of; intercepting a request from the client for a web page; detecting a client group associated with the requesting client, the client group being one of the client groups in the plurality; determining a visit context for the request, the visit context indicating whether the client has previously visited the web page; transmitting a request to a server for content requested in the intercepted request; receiving a response from the server, the response comprising at least one resource reference; parsing the received response to identify the at least one token representing a resource reference; responsive to the visit context indicating that the client has not previously visited the web page; for each of at least a subset of identified tokens; retrieving a tailored resource identified by the resource reference, wherein retrieving a tailored resource comprises retrieving a resource tailored for presentation on clients belonging to the detected client group; rewriting the token to include the tailored resource for local storage of the tailored resource and a resource key for retrieval of the tailored resource from local storage; and transmitting a groomed response to the client including the rewritten at least one token; and responsive to the visit context indicating that the client has previously visited the web page; for each of at least a subset of identified tokens; obtaining a previously stored tailored resource key identifying a storage location for a resource in local storage associated with the client; and rewriting the token to include the resource key for use by the client in retrieving the tailored resource; and transmitting a groomed response to the client including the rewritten at least one token. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer program product for accelerating content presentation in a client/server environment, comprising:
-
a non-transitory computer-readable storage medium; and computer program code, encoded on the medium, configured to cause at least one processor at a proxy device communicatively coupled to a client and a server via a communications network to perform the steps of; priming a plurality of web pages by; configuring a plurality of client groups; tailoring a plurality of resources for use in responding to client requests for the web pages, wherein tailoring a plurality of resources comprises, for at least one resource, tailoring the resource for presentation on clients belonging to the plurality of client groups; and storing the tailored resources in a tailored resource cache; and at a proxy device communicatively coupled to a client and a server via a communications network, performing the steps of; intercepting a request from the client for a web page; detecting a client group associated with the requesting client, the client group being one of the client groups in the plurality; determining a visit context for the request, the visit context indicating whether the client has previously visited the web page; transmitting a request to a server for content requested in the intercepted request; receiving a response from the server, the response comprising at least one resource reference; parsing the received response to identify the at least one token representing a resource reference; responsive to the visit context indicating that the client has not previously visited the web page; for each of at least a subset of identified tokens; retrieving a tailored resource identified by the resource reference, wherein retrieving a tailored resource comprises retrieving a resource tailored for presentation on clients belonging to the detected client group; rewriting the token to include the tailored resource for local storage of the tailored resource and a resource key for retrieval of the tailored resource from local storage; and transmitting a groomed response to the client including the rewritten at least one token; and responsive to the visit context indicating that the client has previously visited the web page; for each of at least a subset of identified tokens; obtaining a previously stored tailored resource key identifying a storage location for a resource in local storage associated with the client; and rewriting the token to include the resource key for use by the client in retrieving the tailored resource; and transmitting a groomed response to the client including the rewritten at least one token. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system for accelerating content presentation in a client/server environment, comprising:
-
a tailored resource cache; and a proxy device, communicatively coupled to the tailored resource cache and to a client and a server via a communications network, the proxy device configured to; prime a plurality of web pages by; configuring a plurality of client groups; tailoring a plurality of resources for use in responding to client requests for the web pages, wherein tailoring a plurality of resources comprises, for at least one resource, tailoring the resource for presentation on clients belonging to the plurality of client groups; and storing the tailored resources in a tailored resource cache; and intercept a request from the client for a web page; detect a client group associated with the requesting client, the client group being one of the client groups in the plurality; determine a visit context for the request, the visit context indicating whether the client has previously visited the web page; transmit a request to a server for content requested in the intercepted request; receive a response from the server, the response comprising at least one resource reference; parse the received response to identify the at least one token representing a resource reference; responsive to the visit context indicating that the client has not previously visited the web page; for each of at least a subset of identified tokens; retrieve a tailored resource identified by the resource reference, wherein retrieving a tailored resource comprises retrieving a resource tailored for presentation on clients belonging to the detected client group; rewrite the token to include the tailored resource for local storage of the tailored resource and a resource key for retrieval of the tailored resource from local storage; and transmit a groomed response to the client including the rewritten at least one token; and responsive to the visit context indicating that the client has previously visited the web page; for each of at least a subset of identified tokens; obtain a previously stored tailored resource key identifying a storage location for a resource in local storage associated with the client; and rewrite the token to include the resource key for use by the client in retrieving the tailored resource; and transmit a groomed response to the client including the rewritten at least one token. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification