HTTP optimization, multi-homing, mobility and priority
First Claim
1. A method for packet data communications, the method comprising:
- establishing, by a mobile device, a number of open parallel connections for packet data communication;
ordering, by the mobile device, a plurality of pipelined requests such that objects for higher priority pipelined requests are delivered before objects for lower priority pipelined requests are delivered;
transmitting, by the mobile device, the plurality of pipelined requests via the number of open parallel connections for retrieving a hypertext object comprising packet data portions respectively stored on a plurality of servers, wherein delivery of the objects for higher priority pipelined requests is performed to maximize available bandwidth usage of the open parallel connections; and
maintaining a separate Domain Name Service (DNS) cache for each interface associated with each of the open parallel connections.
1 Assignment
0 Petitions
Accused Products
Abstract
Combining parallel Hypertext Transfer Protocol (HTTP) connections and pipelining overcomes an impact of increasing Round Trip Time (RTT) by varying in real time the number of parallel connections and pipelined requests such that the number of outstanding requests is minimal and the link remains fully utilized. Optimal construction and scheduling of requests and connections in an HTTP stack improves page load time and also provides for greater responsiveness to changes in object priorities. Multi-homing and mobility at the application layer for HTTP are addressed. Multi-homing provides for simultaneous use of multiple interfaces, for example WWAN and WLAN interfaces which improves download time, especially in the case that the available bandwidth the interfaces is of the same order of magnitude. Mobility provides for switching connections as the device moves. In combination they provide for smoother mobility. Mobility can be provided this way without server or network support.
31 Citations
34 Claims
-
1. A method for packet data communications, the method comprising:
-
establishing, by a mobile device, a number of open parallel connections for packet data communication; ordering, by the mobile device, a plurality of pipelined requests such that objects for higher priority pipelined requests are delivered before objects for lower priority pipelined requests are delivered; transmitting, by the mobile device, the plurality of pipelined requests via the number of open parallel connections for retrieving a hypertext object comprising packet data portions respectively stored on a plurality of servers, wherein delivery of the objects for higher priority pipelined requests is performed to maximize available bandwidth usage of the open parallel connections; and maintaining a separate Domain Name Service (DNS) cache for each interface associated with each of the open parallel connections. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. At least one processor for packet data communications, the at least one processor comprising:
-
a first module for establishing, by a mobile device, a number of open parallel connections for packet data communication; a second module for ordering, by the mobile device, a plurality of pipelined requests such that objects for higher priority pipelined requests are delivered before objects for lower priority pipelined requests are delivered; a third module for transmitting, by the mobile device, the plurality of pipelined requests via the number of open parallel connections for retrieving a hypertext object comprising packet data portions respectively stored on a plurality of servers, wherein delivery of the objects for the higher priority pipelined requests is performed to maximize available bandwidth usage of the open parallel connections; and a fourth module for maintaining a separate Domain Name Service (DNS) cache for each interface associated with each of the open parallel connections. - View Dependent Claims (16, 17)
-
-
18. A non-transitory computer-readable medium storing sets of computer executable code comprising:
-
a first set of codes for causing a computer of a mobile device to establish a number of open parallel connections for packet data communication; a second set of codes for ordering, by the mobile device, a plurality of pipelined requests such that objects for higher priority pipelined requests are delivered before objects for lower priority pipelined requests are delivered; a third set of codes for causing the computer to transmit the plurality of pipelined requests via the number of open parallel connections for retrieving a hypertext object comprising packet data portions respectively stored on a plurality of servers, wherein delivery of the objects for the higher priority pipelined requests is performed to maximize available bandwidth usage of the open parallel connections; and a fourth set of codes for maintaining a separate Domain Name Service (DNS) cache for each interface associated with each of the open parallel connections. - View Dependent Claims (19)
-
-
20. An apparatus for packet data communications, the apparatus comprising:
-
means for establishing, by a mobile device, a number of open parallel connections for packet data communication; means for ordering, by the mobile device, a plurality of pipelined requests such that objects for higher priority pipelined requests are delivered before objects for lower priority pipelined requests are delivered; means for transmitting, by the mobile device, the plurality of pipelined requests via the number of open parallel connections for retrieving a hypertext object comprising packet data portions respectively stored on a plurality of server, wherein delivery of the objects for the higher priority pipelined requests is performed to maximize available bandwidth usage of the open parallel connections; and means for maintaining a separate Domain Name Service (DNS) cache for each interface associated with each of the open parallel connections. - View Dependent Claims (21)
-
-
22. An apparatus for packet data communications, the apparatus comprising:
-
a transceiver for establishing, by a mobile device, a number of open parallel connections for packet data communication; the transceiver further for ordering, by the mobile device, a plurality of pipelined requests such that objects for higher priority pipelined requests are delivered before objects for lower priority pipelined requests are delivered; the transceiver further for transmitting, by the mobile device, the plurality of pipelined requests via the number of open parallel connections for retrieving a hypertext object comprised of packet data portions respectively stored on a plurality of servers, wherein delivery of the objects for the higher priority pipelined requests is performed to maximize available bandwidth usage of the open parallel connections; and a computing platform for maintaining a separate Domain Name Service (DNS) cache for each interface associated with each of the open parallel connections. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification