HTTP OPTIMIZATION, MULTI-HOMING, MOBILITY AND PRIORITY
First Claim
1. A method for packet data communications, the method comprising:
- establishing a number of parallel connections for packet data communication;
transmitting a plurality of pipelined requests via the number of parallel connections for retrieving a hypertext object comprised of packet data portions respectively stored on a plurality of servers; and
dynamically varying the number of parallel connections and pipelined requests via the parallel connections to reduce outstanding requests while maintaining full link utilization.
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.
71 Citations
29 Claims
-
1. A method for packet data communications, the method comprising:
-
establishing a number of parallel connections for packet data communication; transmitting a plurality of pipelined requests via the number of parallel connections for retrieving a hypertext object comprised of packet data portions respectively stored on a plurality of servers; and dynamically varying the number of parallel connections and pipelined requests via the parallel connections to reduce outstanding requests while maintaining full link utilization. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. At least one processor for packet data communications, the at least one processor comprising:
-
A first module for establishing a number of parallel connections for packet data communication; a second module for transmitting a plurality of pipelined requests via the number of parallel connections for retrieving a hypertext object comprised of packet data portions respectively stored on a plurality of servers; and a third module for dynamically varying the number of parallel connections and pipelined requests via the parallel connections to reduce outstanding requests while maintaining full link utilization.
-
-
15. A computer program product for packet data communications, the computer program product comprising:
A non-transitory computer-readable medium storing sets of code comprising; a first set of codes for causing a computer to establish a number of parallel connections for packet data communication; a second set of codes for causing the computer to transmit a plurality of pipelined requests via the number of parallel connections for retrieving a hypertext object comprised of packet data portions respectively stored on a plurality of servers; and a third set of codes for causing the computer to dynamically vary the number of parallel connections and pipelined requests via the parallel connections to reduce outstanding requests while maintaining full link utilization.
-
16. An apparatus for packet data communications, the apparatus comprising:
-
means for establishing a number of parallel connections for packet data communication; means for transmitting a plurality of pipelined requests via the number of parallel connections for retrieving a hypertext object comprised of packet data portions respectively stored on a plurality of servers; and means for dynamically varying the number of parallel connections and pipelined requests via the parallel connections to reduce outstanding requests while maintaining full link utilization.
-
-
17. An apparatus for packet data communications, the apparatus comprising:
-
a transceiver for establishing a number of parallel connections for packet data communication; the transceiver further for transmitting a plurality of pipelined requests via the number of parallel connections for retrieving a hypertext object comprised of packet data portions respectively stored on a plurality of servers; and a computing platform for dynamically varying the number of parallel connections and pipelined requests via the parallel connections to reduce outstanding requests while maintaining full link utilization. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification