TL;DR: An improved version of this approach that utilizes HTTP's capability of request pipelining in combination with range retrieval requests is presented, able to overcome the optimal choice of file segmentation size and robust against link variances and agnostic to network heterogeneity.
Abstract: Today, mobile devices like laptops and cell phones often come equipped with multiple network interfaces, enabling clients to simultaneously connect to independent access networks. Even though applications, such as multimedia streaming and video-on-demand delivery systems, could potentially benefit greatly from the aggregated bandwidth, implementation and standardization challenges have so far hindered the deployment of multilink solutions. Previously, we have explored the benefits of collaboratively using multiple Internet connections to progressively download and play back large multimedia files. In this paper, we present an improved version of our approach that utilizes HTTP's capability of request pipelining in combination with range retrieval requests. While, in our earlier work, the optimal choice of file segmentation size presented a tradeoff between throughput and startup latency, the enhanced solution is able to overcome this tradeoff. The use of very small segments no longer impairs the efficiency of throughput aggregation, which additionally makes our solution robust against link variances and agnostic to network heterogeneity.
TL;DR: It is found that compounding HTTP pipelining with increasing the ICW size can lead to reduction in page load times by up to 80% and no one configuration fits all users, e.g. increasing the TCP ICW to a certain size may help some users while hurting others.
Abstract: Fast-loading web pages are key for a positive user experience. Unfortunately, a large number of users suffer from page load times of many seconds, especially for pages with many embedded objects. Most of this time is spent fetching the page and its objects over the Internet.This paper investigates the impact of optimizations that improve the delivery of content from edge servers at the Yahoo! Content Delivery Network (CDN) to the end users. To this end, we analyze packet traces of 12.3M TCP connections originating from users across the world and terminating at the Yahoo! CDN. Using these traces, we characterize key user-connection metrics at the network, transport, and the application layers. We observe high Round Trip Times (RTTs) and inflated number of round trips per page download (RTT multipliers). Due to inefficiencies in TCP's slow start and the HTTP protocol, we found several opportunities to reduce the RTT multiplier, e.g. increasing TCP's Initial Congestion Window (ICW), using TCP Appropriate Byte Counting (ABC), and using HTTP pipelining.Using live workloads, we experimentally study the micro effects of these optimizations on network connectivity, e.g. packet loss rate. To evaluate the macro effects of these optimizations on the overall page load time, we use realistic synthetic workloads in a closed laboratory environment. We find that compounding HTTP pipelining with increasing the ICW size can lead to reduction in page load times by up to 80%. We also find that no one configuration fits all users, e.g. increasing the TCP ICW to a certain size may help some users while hurting others.
TL;DR: In this article, a client device presents streaming media and includes a stream manager, a request accelerator, and a source component coupled to the stream manager and the request accelerator for determining which requests to make.
Abstract: A client device presents streaming media and includes a stream manager, a request accelerator, and a source component coupled to the stream manager and the request accelerator for determining which requests to make. A rate selection process can make rate decisions so that the buffer is filled when it is low, avoiding erratically changing rates and can choose the correct steady rate quickly. Multimedia download strategies can be used for HTTP that allow for accurate rate estimations, achieving link capacity even if network delays and packet loss rates are high, achieving timely delivery of the stream, and achieving relatively steady download rates with little short term variability. A receiver might use multiple HTTP connections, decompose media requests into smaller chunk requests, synchronize the connections using TCP flow control mechanisms, and request data in bursts. In addition, the receiver might use an HTTP pipelining process to keep the connections busy.
TL;DR: In this article, the authors present sMonitor, which is able to measure client-perceived response times for both HTTP and HTTPS traffic, based on the observation that most HTTP(S)-compatible browsers send significantly larger requests for container objects than those for embedded objects.
Abstract: As e-commerce services are exponentially growing, businesses need quantitative estimates of client-perceived response times to continuously improve the quality of their services. Current server-side nonintrusive measurement techniques are limited to nonsecured HTTP traffic. In this paper, we present the design and evaluation a monitor, namely sMonitor, which is able to measure client-perceived response times for both HTTP and HTTPS traffic. At the heart of sMonitor is a novel size-based analysis method that parses live packets to delimit different webpages and to infer their response times. The method is based on the observation that most HTTP(S)-compatible browsers send significantly larger requests for container objects than those for embedded objects. sMonitor is designed to operate accurately in the presence of complicated browser behaviors, such as parallel downloading of multiple webpages and HTTP pipelining, as well as packet losses and delays. It requires only to passively collect network traffic in and out of the monitored secured services. We conduct comprehensive experiments across a wide range of operating conditions using live secured Internet services, on the PlanetLab, and on controlled networks. The experimental results demonstrate that sMonitor is able to control the estimation error within 6.7 percent, in comparison with the actual measured time at the client side.
TL;DR: In this paper, a client device presents streaming media and includes a stream manager, a request accelerator, and a source component coupled to the stream manager and the request accelerator for determining which requests to make.
Abstract: A client device presents streaming media and includes a stream manager, a request accelerator, and a source component coupled to the stream manager and the request accelerator for determining which requests to make. A rate selection process can make rate decisions so that the buffer is filled when it is low, avoiding erratically changing rates and can choose the correct steady rate quickly. Multimedia download strategies can be used for HTTP that allow for accurate rate estimations, achieving link capacity even if network delays and packet loss rates are high, achieving timely delivery of the stream, and achieving relatively steady download rates with little short term variability. A receiver might use multiple HTTP connections, decompose media requests into smaller chunk requests, synchronize the connections using TCP flow control mechanisms, and request data in bursts. In addition, the receiver might use an HTTP pipelining process to keep the connections busy.