Image Optimization
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 original version of the resource;
storing the generated proxy resource; and
modifying the content item to provide the generated proxy resource to the client; 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 original version of the resource; storing the generated proxy resource; and modifying the content item to provide the generated proxy resource to the client; 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 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 original version of the resource; storing the generated proxy resource; and modifying the content item to provide the generated proxy resource to the client; 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 original version of the resource; causing the storage device to store the generated proxy resource; and modifying the content item to provide the generated proxy resource to the client; and transmitting the modified content item to the client. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41)
-
Specification