IP Library › Granted Patent US 9,264,481
Granted Patent B2
US 9,264,481 · App. 13/838,744 · Granted Feb 16, 2016

Responding to hypertext transfer protocol (HTTP) requests

Inventors: Gordon Kent Walker (Poway, CA); Michael G. Luby (Berkeley, CA); Nagaraju Naik (San Diego, CA); Jack S. Shauh (San Diego, CA); Kuo-Chun Lee (San Diego, CA); Yinian Mao (San Diego, CA); Thomas Stockhammer (Bergen, DE); Charles N. Lo (San Diego, CA); Kevin R. Fall (Pittsburgh, PA)
Assignee: QUALCOMM Incorporated
H04L67/06G06F17/30899H04L67/02H04L69/329
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 9,264,481
App. No.
13/838,744
Granted
Feb 16, 2016
Kind
B2
Abstract

Embodiments enable HTTP servers to pass incomplete and/or corrupted files in response to file requests from clients. In the various embodiments, HTTP servers may be enabled to generate status codes identifying that an incomplete version of a file is being returned in response to a file request. In an embodiment, an HTTP server may be enabled to determine the ability of a client to handle incomplete versions of files.

Claims (106)

1. A method for delivering an incomplete response from a Hypertext Transfer Protocol (HTTP) server to a client, comprising:

receiving a file request in the HTTP server from the client for a file or a byte range of the file at the HTTP server, wherein the file request indicates whether the client is capable of using an incomplete response;

determining in the HTTP server, based on the file request, whether the client is capable of using an incomplete response; and

sending from the HTTP server to the client an incomplete response in response to determining that the client is capable of using an incomplete response if a full response including an entirety of the file or the byte range of the file is not available at the HTTP server and the file or the byte range of the file requested by the file request is partially available at the HTTP server;

the incomplete response sent from the HTTP server including the partially available file or the partially available byte range of the file requested by the file request and a header indicating the file or the byte range of the file requested by the file request is partially available or a status code indicating the file or the byte range of the file requested by the file request is partially available.

2. The method of claim 1 , wherein:

the file request includes a file request header;

the file request header indicates whether the client is capable of using an incomplete response; and

determining in the HTTP server, based on the file request, whether the client is capable of using an incomplete response comprises determining in the HTTP server, based on the file request header, whether the client is capable of using an incomplete response.

3. The method of claim 1 , wherein:

the file request includes a Uniform Resource Locator (URL);

the URL indicates that the client is capable of using an incomplete response; and

determining in the HTTP server, based on the file request, whether the client is capable of using an incomplete response comprises determining in the HTTP server, based on the URL, whether the client is capable of using an incomplete response.

4. The method of claim 1 , further comprising:

sending the file request to the HTTP server from the client;

receiving from the HTTP server the incomplete response; and

rendering content using the incomplete response.

5. The method of claim 1 , wherein:

the file request includes a first byte range request and a redundant second byte range request; and

determining in the HTTP server, based on the file request, whether the client is capable of using an incomplete response comprises determining in the HTTP server, based on the redundant second byte range request, whether the client is capable of using an incomplete response.

6. A Hypertext Transfer Protocol (HTTP) server, comprising:

means for receiving a file request from a client for a file or a byte range of the file at the HTTP server, wherein the file request indicates whether the client is capable of using an incomplete response;

means for determining, based on the file request, whether the client is capable of using an incomplete response; and

means for sending from the HTTP server to the client an incomplete response in response to determining that the client is capable of using an incomplete response if a full response including an entirety of the file or the byte range of the file is not available at the HTTP server the file or the byte range of the file requested by the file request is partially available at the HTTP server;

the incomplete response sent from the HTTP server including the partially available file or the partially available byte range of the file requested by the file request and a header indicating the file or the byte range of the file requested by the file request is partially available or a status code indicating the file or the byte range of the file requested by the file request is partially available.

7. The HTTP server of claim 6 , wherein:

the file request includes a file request header;

the file request header indicates whether the client is capable of using an incomplete response; and

means for determining, based on the file request, whether the client is capable of using an incomplete response comprises means for determining, based on the file request header, whether the client is capable of using an incomplete response.

8. The HTTP server of claim 6 , wherein:

the file request includes a Uniform Resource Locator (URL);

the URL indicates that the client is capable of using an incomplete response; and

means for determining, based on the file request, whether the client is capable of using an incomplete response comprises means for determining, based on the URL, whether the client is capable of using an incomplete response.

9. The HTTP server of claim 6 , wherein:

the file request includes a first byte range request and a redundant second byte range request; and

means for determining, based on the file request, whether the client is capable of using an incomplete response comprises means for determining, based on the redundant second byte range request, whether the client is capable of using an incomplete response.

10. A Hypertext Transfer Protocol (HTTP) server, comprising:

a processor configured with processor-executable instructions to perform operations comprising:

receiving a file request from a client for a file or a byte range of the file at the HTTP server, wherein the file request indicates whether the client is capable of using an incomplete response;

determining, based on the file request, whether the client is capable of using an incomplete response; and

sending from the HTTP server to the client an incomplete response in response to determining that the client is capable of using an incomplete response if a full response including an entirety of the file or the byte range of the file is not available at the HTTP server and the file or the byte range of the file requested by the file request is partially available at the HTTP server;

the incomplete response sent from the HTTP server including the partially available file or the partially available byte range of the file requested by the file request and a header indicating the file or the byte range of the file requested by the file request is partially available or a status code indicating the file or the byte range of the file requested by the file request is partially available.

11. The HTTP server of claim 10 , wherein the processor is configured with processor-executable instructions to perform operations such that:

the file request includes a file request header;

the file request header indicates whether the client is capable of using an incomplete response; and

determining, based on the file request, whether the client is capable of using an incomplete response comprises determining, based on the file request header, whether the client is capable of using an incomplete response.

12. The HTTP server of claim 10 , wherein the processor is configured with processor-executable instructions to perform operations such that:

the file request includes a Uniform Resource Locator (URL);

the URL indicates that the client is capable of using an incomplete response; and

determining, based on the file request, whether the client is capable of using an incomplete response comprises determining, based on the URL, whether the client is capable of using an incomplete response.

13. The HTTP server of claim 10 , wherein the processor is configured with processor-executable instructions to perform operations such that:

the file request includes a first byte range request and a redundant second byte range request; and

determining, based on the file request, whether the client is capable of using an incomplete response comprises determining, based on the redundant second byte range request, whether the client is capable of using an incomplete response.

14. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a Hypertext Transfer Protocol (HTTP) server to perform operations comprising:

receiving a file request from a client for a file or a byte range of the file at the HTTP server, wherein the file request indicates whether the client is capable of using an incomplete response;

determining, based on the file request, whether the client is capable of using an incomplete response; and

sending to the client an incomplete response in response to determining that the client is capable of using an incomplete response if a full response including an entirety of the file or the byte range of the file is not available at the HTTP server and the file or the byte range of the file requested by the file request is partially available at the HTTP server;

the incomplete response sent from the HTTP server including the partially available file or the partially available byte range of the file requested by the file request and a header indicating the file or the byte range of the file requested by the file request is partially available or a status code indicating the file or the byte range of the file requested by the file request is partially available.

15. The non-transitory processor-readable storage medium of claim 14 , wherein the stored processor-executable instructions are configured to cause a HTTP server to perform operations such that:

the file request includes a file request header;

the file request header indicates whether the client is capable of using an incomplete response; and

determining, based on the file request, whether the client is capable of using an incomplete response comprises determining, based on the file request header, whether the client is capable of using an incomplete response.

16. The non-transitory processor-readable storage medium of claim 14 , wherein the stored processor-executable instructions are configured to cause a HTTP server to perform operations such that:

the file request includes a Uniform Resource Locator (URL);

the URL indicates that the client is capable of using an incomplete response; and

determining, based on the file request, whether the client is capable of using an incomplete response comprises determining, based on the URL, whether the client is capable of using an incomplete response.

17. The non-transitory processor-readable storage medium of claim 14 , wherein the stored processor-executable instructions are configured to cause a HTTP server to perform operations such that:

the file request includes a first byte range request and a redundant second byte range request; and

determining in the HTTP server, based on the file request, whether the client is capable of using an incomplete response comprises determining, based on the redundant second byte range request, whether the client is capable of using an incomplete response.

18. A receiver device, comprising:

means for sending a file request to a Hypertext Transfer Protocol (HTTP) server for a file or a byte range of the file at the HTTP server, wherein the file request indicates the client is capable of using an incomplete response; and

means for receiving from the HTTP server an incomplete response in response to the HTTP server determining that the client is capable of using an incomplete response if a full response including an entirety of the file or the byte range of the file is not available at the HTTP server and the file or the byte range of the file requested by the file request is partially available at the HTTP server;

the incomplete response sent from the HTTP server including the partially available file or the partially available byte range of the file requested by the file request and a header indicating the file or the byte range of the file requested by the file request is partially available or a status code indicating the file or the byte range of the file requested by the file request is partially available.

19. The receiver device of claim 18 , wherein:

the file request includes a file request header; and

the file request header indicates the client is capable of using an incomplete response.

20. The receiver device of claim 18 , wherein:

the file request includes a Uniform Resource Locator (URL); and

the URL indicates that the client is capable of using an incomplete response.

21. The receiver device of claim 18 , further comprising means for rendering content using the incomplete response.

22. The receiver device of claim 18 , wherein the file request includes a first byte range request and a redundant second byte range request, the redundant second byte range indicating that the client is capable of using an incomplete response.

23. A receiver device, comprising:

a processor configured with processor-executable instructions such that a client operating on the receiver device performs operations comprising:

sending a file request to a Hypertext Transfer Protocol (HTTP) server for a file or a byte range of the file at the HTTP server, wherein the file request indicates the client is capable of using an incomplete response; and

receiving from the HTTP server an incomplete response in response to the HTTP server determining that the client is capable of using an incomplete response if a full response including an entirety of the file or the byte range of the file is not available at the HTTP server and the file or the byte range of the file requested by the file request is partially available at the HTTP server;

the incomplete response sent from the HTTP server including a the partially available file or the partially available byte range of the file requested by the file request and a header indicating the file or the byte range of the file requested by the file request is partially available or a status code indicating the file or the byte range of the file requested by the file request is partially available.

24. The receiver device of claim 23 , wherein the processor is configured with processor-executable instructions such that the client operating on the receiver device performs operations such that:

the file request includes a file request header; and

the file request header indicates the client is capable of using an incomplete response.

25. The receiver device of claim 23 , wherein the processor is configured with processor-executable instructions such that the client operating on the receiver device performs operations such that:

the file request includes a Uniform Resource Locator (URL); and

the URL indicates that the client is capable of using an incomplete response.

26. The receiver device of claim 23 , wherein the processor is configured with processor-executable instructions such that the client operating on the receiver device performs operations further comprising rendering content using the incomplete response.

27. The receiver device of claim 23 , wherein the processor is configured with processor-executable instructions such that the client operating on the receiver device performs operations such that the file request includes a first byte range request and a redundant second byte range request, the redundant second byte range indicating that the client is capable of using an incomplete response.

28. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a client operating on a receiver device processor to perform operations comprising:

sending a file request to a Hypertext Transfer Protocol (HTTP) server for a file or a byte range of the file at the HTTP server, wherein the file request indicates the client is capable of using an incomplete response; and

receiving from the HTTP server an incomplete response in response to the HTTP server determining that the client is capable of using an incomplete response if a full response including an entirety of the file or the byte range of the file is not available at the HTTP server and the file or the byte range of the file requested by the file request is partially available at the HTTP server;

the incomplete response sent from the HTTP server including the partially available file or the partially available byte range of the file requested by the file request and a header indicating the file or the byte range of the file requested by the file request is partially available or a status code indicating the file or the byte range of the file requested by the file request is partially available.

29. The non-transitory processor-readable storage medium of claim 28 , wherein the stored processor-executable instructions are configured to cause a client operating on a receiver device to perform operations such that:

the file request includes a file request header; and

the file request header indicates the client is capable of using an incomplete response.

30. The non-transitory processor-readable storage medium of claim 28 , wherein the stored processor-executable instructions are configured to cause a client operating on a receiver device to perform operations such that:

the file request includes a Uniform Resource Locator (URL); and

the URL indicates that the client is capable of using an incomplete response.

31. The non-transitory processor-readable storage medium of claim 28 , wherein the stored processor-executable instructions are configured to cause a client operating on a receiver device to perform operations further comprising rendering content using the incomplete response.

32. The non-transitory processor-readable storage medium of claim 28 , wherein the stored processor-executable instructions are configured to cause a client operating on a receiver device to perform operations such that the file request includes a first byte range request and a redundant second byte range request, the redundant second byte range indicating that the client is capable of using an incomplete response.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2013
From: WALKER, GORDON KENT; LUBY, MICHAEL G.; NAIK, NAGARAJU; SHAUH, JACK S.; LEE, KUO-CHUN; MAO, YINIAN; STOCKHAMMER, THOMAS; LO, CHARLES N.; FALL, KEVIN R.
To: QUALCOMM INCORPORATED
Reel/Frame 031281/0952 →
Continuity (3)
Provisional Application 61618367 · Mar 30, 2012
Provisional Application 61679628 · Aug 3, 2012
Related Publication 20130262567A1 · Oct 3, 2013