IP Library Granted Patent US 8,805,965
Granted Patent B2
US 8,805,965 · App. 13/609,540 · Granted Aug 12, 2014

Methods and apparatus for image delivery

Inventors: Richard David Day (Upton, MA); Eric Sven-Johan Swildens (Mountain View, CA); Zaide Liu (Cupertino, CA)
Assignee: Akamai Technologies, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,805,965
App. No.
13/609,540
Granted
Aug 12, 2014
Kind
B2
Abstract

A dynamic image delivery system receives a client request for an image at an image caching server. The image caching server measures the client's network access speed and looks for an appropriate pre-rendered copy of the requested image that is rendered for the client's network access speed in local storage. If the appropriate rendered copy is found, then the image caching server sends the rendered image to the client. If it is not found, then the image caching server dynamically renders a copy of the image and sends it to the client.

Claims (55)

1. A computer implemented method, comprising:

with a computer:

receiving a request for content from a client;

requesting and receiving the content requested by the client from a server separate from the computer;

inserting code into the content, the code having instructions executable by the client to determine at least one of: timing information at the client and download speed information for the client;

receiving the at least one of timing information and download speed information at the computer;

receiving a subsequent request from the client, the subsequent request being for an image;

using the at least one of timing information and download speed information to select one of a plurality of different image sizes;

in response to the subsequent request, sending to the client an image corresponding to the selected size.

2. The method of claim 1 , wherein the at least one of the timing information and the download speed information comprises timing information.

3. The method of claim 1 , wherein the at least one of the timing information and the download speed information comprises download speed information.

4. The method of claim 1 , wherein the code comprises Javascript.

5. The method of claim 1 , wherein the content requested by the client comprises an HTML page.

6. The method of claim 1 , wherein the code has instructions executable at the client to store the at least one of timing information and download speed information in a cookie.

7. The method of claim 6 , further comprising receiving the cookie at the computer from the client.

8. The method of claim 6 , further comprising receiving the cookie at the computer in the subsequent request from the client.

9. The method of claim 1 , wherein the at least one of the timing information and the download speed information comprises timing information, and the timing information comprises one or more times recorded during client's download of the content.

10. The method of claim 1 , wherein the computer comprises a proxy server.

11. Apparatus, comprising:

a computer comprising one or more hardware processors and memory storing instructions that, when executed by the one or more hardware processors, will cause the computer to:

receive a request for content from a client;

request and receive the content requested by the client from a server separate from the computer;

insert code into the content, the code having instructions executable by the client to determine at least one of: timing information at the client and download speed information for the client;

receive the at least one of timing information and download speed information at the computer;

receive a subsequent request from the client, the subsequent request being for an image;

use the at least one of timing information and download speed information to select one of a plurality of different image sizes;

in response to the subsequent request, send to the client an image corresponding to the selected size.

12. The apparatus of claim 11 , wherein the at least one of the timing information and the download speed information comprises timing information.

13. The apparatus of claim 11 , wherein the at least one of the timing information and the download speed information comprises download speed information.

14. The apparatus of claim 11 , wherein the code comprises Javascript.

15. The apparatus of claim 11 , wherein the content requested by the client comprises an HTML page.

16. The apparatus of claim 11 , wherein the code has instructions executable at the client to store the at least one of timing information and download speed information in a cookie.

17. The apparatus of claim 16 , wherein the stored instructions, when executed by the one or more hardware processors, will cause the computer to:

receive the cookie at the computer from the client.

18. The apparatus of claim 16 , wherein the stored instructions, when executed by the one or more hardware processors, will cause the computer to:

receive the cookie at the computer in the subsequent request from the client.

19. The apparatus of claim 11 , wherein the at least one of the timing information and the download speed information comprises timing information, and the timing information comprises one or more times recorded during client's download of the content.

20. The apparatus of claim 11 , wherein the computer comprises a proxy server.

21. A computer implemented method, comprising:

receiving a request for content from a client at a caching proxy server, the request being for an image;

receiving a cookie from the client;

at the caching proxy server, using information in the cookie to select one of a plurality of different image sizes, the information in the cookie including at least one of timing information and client connection speed information;

in response to the request, the caching proxy server sending to the client an image corresponding to the selected size.

22. The method of claim 21 , wherein the information in the cookie comprises client connection speed information measured by the client.

23. The method of claim 21 , wherein the information in the cookie comprises client connection speed information previously measured by the caching proxy server or another caching proxy server and stored in the cookie.

24. The method of claim 21 , wherein the information in the cookie comprises client connection speed information measured at the time of a previous request from the client made to the caching proxy server or another caching proxy server.

25. An apparatus, comprising:

a caching proxy server comprising one or more hardware processors and memory storing instructions that, when executed by the one or more hardware processors, will cause the caching proxy server to:

receive a request for content from a client, the request being for an image;

receive a cookie from the client;

use information in the cookie to select one of a plurality of different image sizes, the information in the cookie including at least one of timing information and client connection speed information;

in response to the request, send to the client an image corresponding to the selected size.

26. The apparatus of claim 25 , wherein the information in the cookie comprises client connection speed information measured by the client.

27. The apparatus of claim 25 , wherein the information in the cookie comprises client connection speed information previously measured by the caching proxy server or another caching proxy server and stored in the cookie.

28. The apparatus of claim 25 , wherein the information in the cookie comprises client connection speed information measured at the time of a previous request from the client made to the caching proxy server or another caching proxy server.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2014
From: DAY, RICHARD DAVID; SWILDENS, ERIC SVEN-JOHAN; LIU, ZAIDE "EDWARD"
To: SPEEDERA NETWORKS, INC.
Reel/Frame 032631/0828 →
MERGER Recorded Apr 8, 2014
From: SPEEDERA NETWORKS, INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 032632/0043 →
Continuity (5)
Continuation 13244373 · Sep 24, 2011
Continuation 12693413 · Jan 25, 2010
Continuation 11009273 · Dec 10, 2004
Provisional Application 60627798 · Oct 29, 2004
Related Publication 20130159469A1 · Jun 20, 2013