System and method for presenting content in a client/server environment
First Claim
1. A computer-implemented method for presenting content in a client/server environment, comprising:
- at a proxy device communicatively coupled to a client and a server via a communications network, performing the steps of;
intercepting a content item being transmitted from the server to the client;
identifying a plurality of resource references in the content item, each resource reference corresponding to a resource;
identifying at least a subset of the resources as being likely to be included within an initially viewable portion of the content item to be presented on an output device prior to presentation of at least one other resource in the content item;
for each of the resources identified as being likely to be included within the initially viewable portion of the content item;
retrieving an original version of the resource;
generating a proxy resource from the entire original version of the resource;
storing the generated proxy resource;
modifying the content item to provide the generated proxy resource to the client by replacing a reference to the entire original version of the resource with a revised reference to the resource including a reference to the corresponding entire original version of the resource and further providing a script to the client to automatically request higher quality versions of the resource, wherein modifying the content item includes replacing the resource reference corresponding to the resource with a modified resource reference corresponding to the stored generated proxy resource; and
transmitting the modified content item to the client.
5 Assignments
0 Petitions
Accused Products
Abstract
Viewing of web pages is improved by prioritizing image rendering based on positioning of images within a web page. For example, for images that are likely to be initially viewable upon presentation of the web page (i.e., prior to scrolling), compressed proxy versions are made available so that the images can be transferred and rendered more quickly. These compressed proxy images are later replaced with better quality renderings of the same images. Fetching of images that are not initially visible can be deferred until after other, more important page resources are loaded. Prioritization of page loading in this manner helps to ensure that the page becomes operational earlier, resulting in improved perceived speed and responsiveness, and greater ease of navigation.
-
Citations
41 Claims
-
1. A computer-implemented method for presenting content in a client/server environment, comprising:
-
at a proxy device communicatively coupled to a client and a server via a communications network, performing the steps of; intercepting a content item being transmitted from the server to the client; identifying a plurality of resource references in the content item, each resource reference corresponding to a resource; identifying at least a subset of the resources as being likely to be included within an initially viewable portion of the content item to be presented on an output device prior to presentation of at least one other resource in the content item; for each of the resources identified as being likely to be included within the initially viewable portion of the content item; retrieving an original version of the resource; generating a proxy resource from the entire original version of the resource; storing the generated proxy resource; modifying the content item to provide the generated proxy resource to the client by replacing a reference to the entire original version of the resource with a revised reference to the resource including a reference to the corresponding entire original version of the resource and further providing a script to the client to automatically request higher quality versions of the resource, wherein modifying the content item includes replacing the resource reference corresponding to the resource with a modified resource reference corresponding to the stored generated proxy resource; and transmitting the modified content item to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program product for presenting content in a client/server environment, comprising:
-
a non-transitory computer-readable storage medium; and a 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; intercepting a content item being transmitted from the server to the client; identifying a plurality of resource references in the content item, each resource reference corresponding to a resource; identifying at least a subset of the resources as being likely to be included within an initially viewable portion of the content item to be presented on an output device prior to presentation of at least one other resource in the content item; for each of the resources identified as being likely to be included within the initially viewable portion of the content item; retrieving an original version of the resource; generating a proxy resource from the entire original version of the resource; storing the generated proxy resource; modifying the content item to provide the generated proxy resource to the client by replacing a reference to the entire original version of the resource with a revised reference to the resource including a reference to the corresponding entire original version of the resource and further providing a script to the client to automatically request higher quality versions of the resource; and transmitting the modified content item to the client. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system for presenting content in a client/server environment, comprising:
-
a client machine, communicatively coupled to a computing network; a server, communicatively coupled to the computing network; a storage device; a proxy device, communicatively coupled to the computing network and to the storage device, the proxy device configured to perform the steps of; intercepting a content item being transmitted from the server to the client; identifying a plurality of resource references in the content item, each resource reference corresponding to a resource; identifying at least a subset of the resources as being likely to be included within an initially viewable portion of the content item to be presented on an output device prior to presentation of at least one other resource in the content item; for each of the resources identified as being likely to be included within the initially viewable portion of the content item; retrieving an original version of the resource; generating a proxy resource from the entire original version of the resource; causing the storage device to store the generated proxy resource; modifying the content item to provide the generated proxy resource to the client by replacing a reference to the entire original version of the resource with a revised reference to the resource including a reference to the corresponding entire original version of the resource and further providing a script to the client to automatically request higher quality versions of the resource; and transmitting the modified content item to the client. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41)
-
Specification