Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of requesting information, comprising: generating a plurality of range requests using a client having a plurality of network interfaces respectively connected to different network links, the range requests each corresponding to a data range of a data resource; transmitting, from the client having the plurality of network interfaces, a plurality of range requests to a server via the plurality of network interfaces; receiving, at the client and from the server, a plurality of segments via the plurality of network interfaces such that each segment is received via a network interface which transmitted the corresponding range request, each segment including a portion of the data resource; and reassembling the data resource using the plurality of segments, wherein the plurality of range requests are generated based on a current status of the plurality of network interfaces, and wherein the current status of the plurality of network interfaces is determined based on available bandwidth and round-trip delay of each of the plurality of network interfaces.
2. The method of claim 1 , further comprising: obtaining, at the client, metadata of the data resource; and generating at least one of the plurality of range requests based on the obtained metadata of the data resource.
3. The method of claim 1 , wherein each of the plurality of network interfaces is connected to the server, at least partially, by way of a different network provider and the plurality of range requests are transmitted to the server by way of the different network provider.
4. The method of claim 1 , wherein at least two of the plurality of network interfaces are connected to the server, at least partially, by way of a different network provider and the plurality of range requests are transmitted to the server by way of the different network provider.
5. The method of claim 1 , wherein at least one of the plurality of range requests is generated based on metadata of the data resource obtained after the client transmits at least one of the plurality of range requests to the server.
6. The method according to claim 1 , comprising: generating, using the client having the plurality of network interfaces, at least one additional range request, each additional range request corresponding to a data range of the data resource; determining an upper time limit for each at least one additional range request; transmitting, from the client having a plurality of network interfaces, the at least one additional range request to the server via at least one of the plurality of network interfaces before the determined upper time limit; receiving, at the client and from the server, a plurality of additional segments via the plurality of network interfaces such that each additional segment is received via a network interface which transmitted the corresponding additional range request, each additional segment including a portion of the data resource; and reassembling the data resource using at least the additional plurality of segments.
7. The method of claim 6 , wherein the at least one additional range request is included in the plurality of range requests.
8. The method of claim 7 , wherein the transmitting the plurality of range requests further comprises determining a distribution of range requests over the plurality of network interfaces, and wherein the generating the plurality of range requests further comprises determining a size of each of the plurality of range requests.
9. The method of claim 7 , wherein the plurality of range requests includes two initial range requests which are transmitted before any additional range request is transmitted.
10. The method of claim 6 , further comprising: determining a limit on a number of additional range requests generated and/or transmitted before reception of a segment corresponding to a previous range request is complete.
11. The method of claim 6 , wherein the upper time limit corresponds to a latest time by which the at least one additional range request is sent such that the at least one additional range request, transmitted via one of the plurality of network interfaces, is expected to be received by the server before the server finishes transmitting a segment corresponding a last received range request from the one of the plurality of network interfaces.
12. The method of claim 6 , wherein the transmitting further comprises transmitting the at least one additional range request to the server no earlier than a determined lower time limit.
13. The method of claim 12 , wherein the lower time limit and the upper time limit are updated in response to any significant variation in bandwidth or round trip delay.
14. The method of claim 6 , wherein the at least one additional range request is generated based on a current status of the plurality of network interfaces.
15. The method of claim 6 , further comprising: obtaining, at the client, metadata of the data resource; and generating the at least one additional range request based on the obtained metadata of the data resource.
16. The method of claim 6 , wherein each of the plurality of network interfaces are connected to the server, at least partially, by way of a different network provider and the at least one additional range request is transmitted to the server by way of the different network provider.
17. The method of claim 6 , wherein at least two of the plurality of network interfaces are connected to the server, at least partially, by way of a different network provider and the at least one additional range request is transmitted to the server by way of the different network provider.
18. The method according to claim 1 , comprising: receiving the plurality of range requests at the server; obtaining the data resource; segmenting the data resource based on the range requests received at the server into the plurality of segments; and transmitting the plurality of segments to the client via the network interface which transmitted the corresponding range request.
19. The method according to claim 18 , wherein the obtaining step further comprises obtaining the data resource from an external source.
20. The method according to claim 18 , wherein the obtaining step further comprises generating the data resource.
21. The method according to claim 18 , wherein the obtaining step further comprises reading the data resource from a storage unit of the server.
22. The method according to claim 1 , further comprising: transmitting, from the client, the plurality of range requests to a plurality of servers via the plurality of network interfaces, each of the plurality of servers having at least a portion of the data resource; receiving, at the client and from the plurality of servers, the plurality of segments via the plurality of network interfaces.
23. The method according to claim 1 , wherein the generating the plurality of range requests further includes: adjusting segment sizes of the plurality of segments by adjusting the range requests based on a current status of the plurality of network interfaces, the current status including throughput or delay of the network interfaces.
24. A method of transferring information, comprising: segmenting, using a client having a plurality of network interfaces respectively connected to different network links, a data resource into a plurality of segments based on metadata of the data resource; generating a plurality of range requests, the range requests each including a segment of the plurality of segments which corresponds to a data range of the data resource; and transmitting, from the client having the plurality of network interfaces, the plurality of range requests to a server via the plurality of network interfaces for reassembly of the data resource using the plurality of segments at the server, wherein the plurality of range requests are generated based on a current status of the plurality of network interfaces, and wherein the current status of the plurality of network interfaces is determined based on available bandwidth and round-trip delay of each of the plurality of network interfaces.
25. The method according to claim 24 , wherein the segmenting the data resource into the plurality of segments is further based on the current status of the plurality of network interfaces.
26. A device for requesting information, comprising: a plurality of network interfaces respectively connected to different network links; a generation unit configured to generate a plurality of range requests, the range requests each corresponding to a data range of a data resource; a communications unit configured to transmit the plurality of range requests to a server via the plurality of network interfaces, the server segmenting the data resource based on the range requests into a plurality of segments, wherein the communications unit is further configured to receive the plurality of segments, which are transmitted by the server, via the plurality of network interfaces such that each segment is received via a network interface which transmitted the corresponding range request; and a reassembly unit configured to reassemble the data resource using the plurality of segments received by the communications unit, wherein the plurality of range requests are generated based on a current status of the plurality of network interfaces, and wherein the current status of the plurality of network interfaces is determined based on available bandwidth and round-trip delay of each of the plurality of network interfaces.
27. The device of claim 26 , wherein the generation unit obtains metadata of the data resource and generates at least one of the plurality of range requests based on the obtained metadata of the data resource.
28. The device of claim 26 , wherein each of the plurality of network interfaces is connected to the server, at least partially, by way of a different network provider and the plurality of range requests are transmitted to the server by way of the different network provider.
29. The device of claim 26 , wherein at least two of the plurality of network interfaces are connected to the server, at least partially, by way of a different network provider and the plurality of range requests are transmitted to the server by way of the different network provider.
30. The device according to claim 26 , wherein the generation unit is further configured to generate at least one additional range request, each additional range request corresponding to a data range of the data resource, a determining unit configured to determine an upper time limit for each at least one additional range request; the communication unit is further configured to transmit the at least one additional range request to the server via at least one of the plurality of network interfaces before the upper time limit determined by the determining unit, the communications unit is further configured to receive a plurality of additional segments, which are transmitted by the server, via the plurality of network interfaces such that each additional segment is received via a network interface which transmitted the corresponding additional range request, and the reassembly unit is further configured to reassemble the data resource using at least the plurality of additional segments received by the communications unit.
31. The device of claim 30 , wherein the at least one additional range request is included in the plurality of range requests.
32. The device of claim 30 , wherein the communication unit is further configured to determine a distribution of range requests over the plurality of network interfaces, and wherein the generation unit is further configured to determine a size of each of the plurality of range requests.
33. The device of claim 30 , wherein the plurality of range requests includes two initial range requests which are transmitted before any additional range request is transmitted.
34. The device of claim 30 , wherein the determination unit is further configured to determine a limit on a number of additional range requests generated and/or transmitted before reception of a segment corresponding to a previous range request is complete.
35. The device of claim 30 , wherein the upper time limit corresponds to a latest time by which the at least one additional range request is sent such that the at least one additional range request, transmitted via one of the plurality of network interfaces, is expected to be received by the server before the server finishes transmitting a segment corresponding a last received range request from the one of the plurality of network interfaces.
36. The device of claim 30 , wherein the communication unit is further configured to transmit the at least one additional range request to the server no earlier than a determined lower time limit.
37. The device of claim 30 , wherein the at least one additional range request is generated based on a current status of the plurality of network interfaces.
38. The device of claim 37 , wherein the lower time limit and the upper time limit are updated in response to any significant variation in bandwidth or round trip delay.
39. The device of claim 30 , wherein the generation unit obtains metadata of the data resource and generates at least one of the additional range requests based on the obtained metadata of the data resource.
40. The device of claim 30 , wherein each of the plurality of network interfaces is connected to the server, at least partially, by way of a different network provider and the at least one additional range request is transmitted to the server by way of the different network provider.
41. The device of claim 30 , wherein at least two of the plurality of network interfaces are connected to the server, at least partially, by way of a different network provider and the at least one additional range request is transmitted to the server by way of the different network provider.
42. A method of playing back segmented information, comprising: generating a plurality of range requests using a client having a plurality of network interfaces respectively connected to different network links, the range requests each corresponding to a data range of a data resource; transmitting, from the client having the plurality of network interfaces, a plurality of range requests to a server via the plurality of network interfaces; receiving, at the client and from the server, a plurality of segments via the plurality of network interfaces such that each segment is received via a network interface which transmitted the corresponding range request, each segment including a portion of the data resource corresponding to a corresponding range request; playing back the data resource using the plurality of segments, wherein the generating the plurality of range requests further includes: adjusting segment sizes of the plurality of segments by adjusting the range requests based on a current status of the plurality of network interfaces, the current status including throughput or delay of the network interfaces.
43. The method according to claim 42 , wherein the playing back further comprises: determining current throughput conditions for each network interface; dynamically adapting a bitrate of the playing back based on the current throughput conditions.
44. The method according to claim 42 , wherein the playing back further comprises, for any point in time within a predetermined time period: determining a number of bytes ready for playback; determining a maximum possible difference between a number of bytes ready for playback and a desired constant-rate playback bitrate; and determining a required startup latency for the playing back based on the determined maximum possible difference.
45. The method according to claim 42 , wherein the playing back further comprises, for any point in time within a predetermined time period: determining a buffer requirement for the playing back of the data resource based on determining the number of received unready bytes and the number of playback-ready bytes needed for a desired constant-rate playback bitrate.
Unknown
August 20, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.