Furthermore, each DNS (Domain Name Service) lookup process takes a Round-Trip-Time (RTT) delay. In [1], authors report RTTs in real UMTS networks that ...
Web optimization in real UMTS networks with channel switching mechanisms Marisa Catalan, Carles Gomez, Anna Calveras, Josep Paradells {mcatalan,carlesgo,acalveras,teljpa}@entel.upc.edu Wireless Networks Group. Technical University of Catalonia (UPC) Barcelona. Spain Abstract- Web download performance is dramatically degraded in UMTS, resulting in perceived throughputs of around 25% of the expected bandwidth even in favorable conditions. We analyze the main factors that lead to this low performance. We then propose end-to-end mechanisms and proxy-based approaches to improve overall performance and maximize link utilization in UMTS. We evaluate these solutions in a real UMTS scenario. The results show an improvement of up to 50% in terms of download time and a saving of around 10% of the exchanged information in UMTS networks with channel switching mechanisms.
I.
INTRODUCTION
Web download performance is dramatically degraded in Universal Mobile Telecommunications Systems (UMTS) networks. For instance, [1] reports that the download of popular web pages, such as Yahoo! or CNN, results in perceived end-to-end throughputs lower than 128 kbps in a static scenario with a downlink capacity of 384 kbps. Different approaches have been considered to improve web downloads in cellular networks [1-4]. In [2], experiments are mostly based on General Packet Radio Service (GPRS) networks and in [4] authors use simulations to evaluate the performance of HTTP (Hypertext Transfer Protocol) proxies in UMTS. However, to the best of our knowledge, few studies have addressed the low performance and optimization of HTTP transfers in real UMTS environments. There exist also few empirical studies which analyze the effect of UMTS channel switching mechanisms on Internet applications. The aim of this paper is double. First, we characterize the main features of real UMTS networks with channel switching mechanisms and analyze the particular factors that may contribute to the low performance of web downloads in these scenarios. Secondly, we analytically discuss and evaluate through live experiments the benefit of several approaches to improving web downloads over UMTS. We discuss how the obtained results are extensible to other cellular scenarios (e.g. in High Speed Downlink and Uplink Packet Access networks, HSDPA/HSUPA). The structure of the paper is as follows. Section II evaluates the performance of web downloads over UMTS. Section III proposes and analyzes several solutions to enhance both, user experience and link utilization, in this kind of networks. Section IV presents the experimental scenario and the main results. Finally, we summarize the main conclusions.
978-1-4244-1645-5/08/$25.00 ©2008 IEEE
II.
THE MOTIVATION: E VALUATION OF WEB DOWNLOADS OVER UMTS
We have identified three main factors that contribute to the low performance of web transmissions over UMTS. A. Bandwidth asymmetry. Current UMTS commercial networks commonly make transmissions using dedicated channels (DCH) that offer up to 384 kbps in downlink and 64 kbps in uplink. Hence, HTTP requests are sent at low rates, which causes significant transmission delays prior to downloading objects. For instance, Figure 1 shows how the transmission of a GET packet may take as long as the download time to retrieve an object. B. Protocol-incurred inactivity times Web communications experience idle periods due to the behavior of upper layer protocols. First, TCP (Transmission Control Protocol) connections lead to a low throughput performance in the beginning of the transmission due to the connection establishment and the slow start phases. Furthermore, each DNS (Domain Name Service) lookup process takes a Round-Trip-Time (RTT) delay. In [1], authors report RTTs in real UMTS networks that vary from 200ms to 450ms depending on the packet size. Note that, though these delays are lower than the ones observed in 2.5G, they are significant compared to downlink transmission delays (ttxobject), which leads to a significant link underutilization. Finally, the performance of HTTP downloads is especially affected due to the default HTTP request-response pattern [2, 3], since each connection has to wait for the full reception of an object before requesting the next one. In this respect, authors in [5] provide a simple analytical model for HTTP web downloads with a single TCP connection, where they analyze the effect of some TCP parameters on the idle periods experienced during the slow start phase. In this article we introduce a simple expression for web downloads with several simultaneous TCP connections in order to analyze the effect of parameters on HTTP idle times. Note that we try to preserve simplicity rather than providing an accurate analytical model. Hence, we approximate the total web download time (T) as the sum of the data transmission time (Ttx), the delay due to the HTTP request response pattern (DHTTP) and the delay incurred by simultaneous TCP transmissions (DTCP):
2497
kBytes 160 146.74 kBytes (Data + HTTP Headers)
140 13.868 s
120 384 kbps 100 80 60 HTTP/1.1 Default (2 conn.)
Figure 1. HTTP1.1 web page download process. Delays and transmission times proportions correspond to live measurements in a UMTS network.
128 kbps
40
T = DHTTP + DTCP + Ttx . (1) Figure 1 illustrates the pattern of HTTP/1.1 web downloads in UMTS. For the sake of simplicity, we have assumed that the index is fully downloaded before the second request is performed in the server and that the rest of objects are equalsized. The transmission delay of these objects is ttxobject . RTT and transmission times are scaled in conformance with experimental measurements. Figure 1 reflects the HTTP request-response delay for a 300-bytes request header and a 2KBytes object 1. The downlink inactivity time associated to a request, referred as ITreq, can be expressed as the sum of the request transmission time (ttxGET) and the delay before the reception of the object (i.e. one RTT): ITreq = RTT + ttxGET . (2) From Figure 1, the global idle time incurred by the HTTP protocol, referred as DHTTP, for nc simultaneous TCP connections can be expressed as: nobj −(1+ nc ) DHTTP = 2⋅ ITreq + ⋅max( ITreq − (nc −1)⋅ttxobject ,0) , (3) nc where nobj stands for the number of objects of the web page. As a simple model, we consider each iteration as the time from sending a request through the first TCP connection to the reception of the corresponding object. We assume that the requests of nc multiple TCP connections are sent consecutively in each iteration. C. UMTS channel switching mechanisms To share resources among a higher number of users, the Radio Network Controller (RNC) can assign traffic channels or dynamically adjust the available bandwidth of the DCH depending on the link utilization and the network conditions [6]. Figure 2 illustrates the implications of these mechanisms in UMTS data transfers. Note that the allocation of a DCH implies an initial delay of about 900 ms at the beginning of each download. Furthermore, file transmission shows three 1 Note that the average object size of some popular web pages, like Yahoo! or CNN, is even lower than this value.
HTTP/ 1.1 pipelining
1st HTTP request + DCH alloc.
20
HTTP/1.1 8 conn. Single File GET
64 kbps
0 0
2
4
6
8
10
12
14
16 Time, s
Figure 2. Progress of the CNN page download.
evident trends. At the beginning of the connection the system assigns a maximum rate of 64 kbps; then, the system dynamically increases the bandwidth to 128kbps, and later to 384kbps, if it detects a high and continuous utilization of the link. Hence, overall performance in the first seconds of the transmission is affected by the bandwidth restrictions of the UMTS channel. In a web page download, link utilization is low. This fact may also induce a low occupancy of the UMTS buffers, which may cause two negative consequences. If the utilization of the link is low, it can take longer for the system to assign the highest bit rate (384kbps). Furthermore, the low utilization, once a high rate is assigned, can also lead the channel switching mechanisms to dynamically decrease the bandwidth. Finally, we have observed that the DCH channel is released after idle periods of approximately 15 s. A user may spend more than this time in a web site before requesting a new page, involving the release and later reallocation of a dedicated channel for each download [7]. All these aspects may be especially critical in short-lived connections, since throughput will be limited during the major part of the transmission. III.
PROPOSED SOLUTIONS
Herein, we consider possible approaches to maximizing link utilization, thus improving the performance of web communications over real UMTS networks. A. Simultaneous TCP connections. Increasing the number of parallel connections to a server could lead to significant benefits, since data would be transmitted through one connection taking advantage of inactivity periods in concurrent connections. From Figure 1, we can consider that the uplink is fully utilized when n1 requests are sent during a request-response process (i.e. ITreq
2498
+ ttxobject). On the other hand, the link is fully utilized in the downlink when the transmission of n2 -1 responses is greater than ITreq (see (3)). Thus, we can deduce an expression for a maximum threshold of simultaneous connections (nthrs) to improve HTTP performance, which minimizes DHTTP: ITreq + ttxobject ITreq n thrs = min(n1 , n2 ) = min( +1). (4) , ttxGET ttxobject Note that the expression of nthrs is a simple approximation, since we do not take into account the number of TCP ACKs sent by the client or the real object and requests sizes. However, our first aim was not providing a totally accurate expression, but an intuitive idea of the benefit that can be achieved with simultaneous TCP connections over UMTS. This mechanism is interesting, since it is included in the current HTTP specification and, thus, it can easily be applied to UMTS environments. However, it has some drawbacks. First, multiple simultaneous connections increase the load on the servers and, thus, public web servers may shut some of them down and require new establishments. Furthermore, the performance achieved with this solution will depend on the composition of the web page, the downloading order of the objects and the policy used by the web browser to open TCP connections. Thus, this solution may show limited performance improvement in some scenarios. B. Pipelining. This mechanism allows the client to request multiple objects on the same connection without having to wait for each server’s response. In an ideal case, if all HTTP requests were sent continuously, HTTP stop-and-wait inactivity times would be avoided. However, in the current implementations, browsers allow a maximum number of pipelined requests per connection (e.g. Mozilla Firefox sets this value to 4, by default). It is possible to extend equation (4) to a pipelined scenario. In fact, we can consider that opening multiple connections is similar to performing several pipelining requests in a unique connection. Hence, the performance improvement would be maximum for a number of pipelined requests, pipereq , that accomplishes the following condition: (5) n c ⋅ pipereq ≥ n thrs . Note that, though the pipelining option is part of the HTTP/1.1 specification, it is not well-supported in some popular web browsers, servers and proxies [4]. Furthermore, usually the mechanism is not used in a connection until the first object is correctly received. Thus, this solution may show limited performance improvement in some scenarios.
single ITreq , i.e. the client would perform only one request. The Multipurpose Internet Mail Extension (MIME) HTML [8] format could be used to create the single file. However, MIME codification increases the amount of data exchanged by 33%. We propose a simple single-file format that consists in two parts: a list of all the objects, at the top, which includes relevant information necessary to split the file at the client side (i.e. the identification of the object and its size) and all the objects encoded in binary. Note that data overhead due to the inclusion of the list of objects is minor compared to the size of the HTTP response headers for the individual objects. This approach is more complex, since it requires a proxy that retrieves the information of the correspondent web servers and creates the single file, and a client capable to recover the original objects from the single file. Furthermore, the client should display objects as soon as they are processed in order to avoid large delays in the visualization of the page. However, this kind of proxy-based solutions, referred as client-server approaches, have been widely adopted by most mobile operators (e.g. Bytemobile’s Macara platform, Flash Networks Nettgain product…) showing a notable performance improvement in GPRS scenarios [3]. Note that in a similar way, the proposed approach could be commercially suitable with the inclusion of some mechanisms in the mobile operator’s proxy and the distribution of a self-installable optimization client to the end users. D. Reduction of headers. As commented in section II, the transmission times of HTTP requests, in the uplink, are significant since they are sent at lower rates (commonly 64kbps). From equations (2) and (3), we can infer that the reduction of the GET packet transmission times (ttxGET) contributes to minimize the underutilization of the link incurred by the HTTP protocol (DHTTP). Furthermore, a lower ttxGET allows to increase the threshold of connections, as shown in (3), that can be applied in parallel to improve web downloads. Most static information sent in HTTP requests about user preferences and device capabilities is identical for a given client. Thus, we propose, in a similar way to [9], to remove redundant information from HTTP headers before they are sent through the UMTS link. Figure 3 illustrates a remaining HTTP
C. Bundling content. A possible approach to eliminate the inactivity times due to the individual object requests would be to bundle all the objects in a single HTML page before their transmission over the UMTS link. Then, in terms of downloading time, this solution would be close to the maximum optimization, since, independently of the web page, DHTTP would be reduced to a
2499
(a)
(b) Figure 3. HTTP Request Headers example (a) By default, (b) Reduced
TABLE I FEATURES OF THE WEB TRIALS SCENARIO Tot al Size Num ber of Single File Average Object t t xo bj Average GET (kB) Object s Size (kB) Size* (kB) Size (B) (m s) Am azon 377.3 64 394.5 4.2 89.6 399 CNN 135.4 65 146.2 1.4 29.9 387 MSN 164.3 36 165.8 3.6 76.8 414 Starwars 424.4 71 433.0 4.8 102.4 479 96.0 15 97.4 1.6 34.1 441 Yahoo! * does not include t he index
Web page
header once header reduction is applied. Note that, in this example, only the mandatory fields are preserved (what corresponds to the maximum reduction); however, it would be advisable to send also some management fields, e.g. Cookies, in order not to degrade navigation experience. Table I shows the average HTTP requests (with and without header reduction) for some popular web pages. As it can be observed, this proposal helps to minimize uplink transmission delays and cost, since it reduces the amount of information sent by the client. The proposed approach relies also in a client-server architecture. The client (web browser) should be adapted to eliminate superfluous HTTP headers. Furthermore, the solution requires a proxy that can maintain a profile of user preferences and device capabilities in order to restore the original headers. E. Other techniques As stated in [2], the use of DNS caching or URL rewriting techniques contributes to minimize the inactivity time due to the domain resolution process. Furthermore, content adaptation mechanisms (e.g. the compression of text [1] or images [3]) have shown to provide additional improvement as they reduce the amount of information sent in the downlink. For instance, the previously presented header reduction approach could profit from the profiles stored in the proxy to implement techniques for data compression, image quality reduction or format conversion in order to fit best to device capabilities and optimize user experience. Finally, the tuning of the channel switching policies would also contribute to improve link utilization; however, these policies are network dependent and, thus, it is hardly possible to adjust them in a commercial scenario. For this reason, we consider this possibility out of our scope. IV.
t t xGET (m s) 49.9 48.4 51.8 59.9 55.1
n t h rs 5 7 6 5 7
Reduced GET Size (B) 129 193 132
mobile operator. However, since trials were performed in a low loaded network, we believe that the choice of a more appropriate QoS class would have led to similar results. The Received Signal Strength Indication (RSSI) varied between -93 dBm and -86 dBm. Web pages and single files were reproduced in a local computer running the Microsoft Windows IIS 6.0 web server in order to prevent server load from affecting the measurements. Note that the functionalities of the proxy (building of the single file and restoration of HTTP headers) were emulated in the web server. Table I describes the tested web pages. In each case, fifteen individual trials were carried out. B. Results Figure 4 and Table II summarize the obtained results for 2 and 8 simultaneous connections per server 2 . Note that the estimated number of connections, nthrs, necessary to maximize the utilization of the link is always lower than 8 for the tested web pages (see Table I). Figure 4 shows that pipelining and simultaneous connections improve end-to-end performance by reducing inactivity times due to HTTP stop-and-wait mechanisms. The performance gain of multiple simultaneous connections ranges from 6% to 31%. Note that, as expected from (3), MSN and Amazon web pages, which have a higher average object size, show also a lower performance improvement. However, the resulting optimization depends also on other factors such as the composition of each web page and the method used by the browser to open persistent TCP connections. The pipelining mechanism gives, in general, worse results. This could be explained from the non-ideal behavior of the browser. We have observed that, when the mechanism arrives to a steady state (after several RTTs), the browser pipelines TABLE II EFFECT OF REDUCING HTTP REQUEST HEADERS
EXPERIMENTAL EVALUATION
A. Scenario The trials consisted of HTTP transfers from a fixed endpoint to a static client connected to the Internet via a public Spanish commercial UMTS network. The client was a notebook running Debian Linux OS and a version of the Mozilla web browser adapted to support our proposals. The client used a Novatel Wireless Merlin U510 PCMCIA card that supports 64 kbps in uplink and 384 kbps in downlink. The UMTS network provided a DCH bearer with the Background Quality of Service (QoS) class, which was the only one provided by the
Default GET Head er Redu ced GET Header HTTP1.1 HTTP1.1 Sin gle HTTP1.1 HTTP1.1 Sin gle file file 2 conn . 8 con n. 2 con n. 8 conn . Av erage 15 .2 2 1 0.5 4 8.34 1 3.3 8 9 .03 7.6 0 CNN Norm alized * 1 0 .69 0.5 5 0.8 80 0.59 0.5 Av erage 9 .45 7 .09 6.3 0 8 .09 6.54 5.8 2 Yah oo! Norm alized * 1 0 .75 0.6 7 0.8 60 0.69 0.6 2 Av erage 26 .2 1 20 .53 17 .20 24 .28 19 .09 1 6.3 2 St arwars Norm alized * 1 0 .78 0.6 6 0.9 30 0.73 0.6 2 * Average web page time normalized to the default case (HTTP/1.1 2 conn.) Web Pag e
Tim e (s)
2 Two connections are set by default in most commercial browsers and 8 is the maximum number of connections to a server allowed by default in the Mozilla web browser
2500
Single file Pipelining HTTP/1.1 8 conn. HTTP/1.1 2 conn.
MSN CNN Amazon
0 5 10 15 20 Time, s Figure 4. Web page download times (Average times and standard deviation)
only three requests per connection, which, from (4) would be equivalent to opening up to 6 simultaneous connections. The single-file proposal is independent from the configuration of the browser, the composition of the web page or the downloading order of objects. Thus, it leads to the best results. The single file approach practically mitigates the underutilization of the link and reduces it to a single TCP connection establishment, a slow start phase and a unique HTTP request-response procedure. Furthermore, since we eliminate HTTP idle times, this approach assures maximum buffer occupancy in the RNC during transmission. In this case, the maximum obtained gain accounts for 45% of the default download time. Finally, Table II shows that the reduction of HTTP request headers considerably improves communication and achieves benefits of up to 14% over the other proposed solutions. Note that, in general, the improvement achieved with two simultaneous connections is more relevant, since they are more affected by the HTTP request response process. To sum up, the HTTP header reduction mechanism implies a low processing cost and saves the transmission of around 9% of all information exchanged.
Furthermore, we have observed in some preliminary experiments that current HSDPA networks experience dynamic bandwidth adjustments in the uplink. This behavior is analog to the mechanism discussed in Section 2.C. Thus, the reduction of HTTP GET headers would be advisable to reduce the uplink transmission times (especially, when the network assigns the lowest rate). Finally, some of the presented solutions rely on the use of proxies. Scalability is a well-known drawback in these type of approaches. To minimize this problem, the proxy could be part of the end user infrastructure (e.g. it could be located in the user’s desktop computer or at the enterprise premises). Furthermore, this approach allows implementing optimization techniques specific, in each case, for the particular devices the user/enterprise will utilize. ACKNOWLEDGMENT This work was supported in part by FEDER and the Spanish Government through project TEC2006-04504. M. Catalan also thanks DEiU and FSE. REFERENCES [1]
C. Gomez, M. Catalan, D. Viamonte, J. Paradells, A. Calveras, "Internet traffic analysis and optimization over a precommercial live UMTS network," IEEE 61st Vehicular Technology Conference. VTC 2005Spring, Stockholm, Sweden, 2005.
[2]
R. Chakravorty, A. Clark, I. Pratt, "Optimizing Web delivery over wireless links: design, implementation, and experiences," IEEE Journal on Selected Areas in Communications, vol. 23, pp. 402, 2005.
[3]
C. Gomez, M. Catalan, D. Viamonte, J. Paradells, A. Calveras, "Web browsing optimization over 2.5G and 3G: end-to-end mechanisms Vs
V.
CONCLUSIONS
usage of performance enhancing proxies," Wireless Communications
The concern of this article has been the evaluation and proposal of techniques to reduce link underutilization in web transactions over UMTS. We have proposed a simple expression to analyze the link underutilization incurred by HTTP, with the aim to realize the performance improvement that could be achieved with the different proposals. It serves as a first approach to the analysis of web downloads; however it does not reflect the influence of some factors, which can be relevant, such as the real object sizes or the downloading order of objects. In this respect, we are working on an extended model which takes into account these parameteres. Our experimental results have shown that these optimization mechanisms can lead to notable performance improvements in UMTS networks with channel switching mechanisms. In this respect, we recommend the combined application of HTTP header reduction with the rest of discussed techniques, which improve the utilization of the downlink. Note that these proposals would be extensible to HSDPA/HSUPA networks. If HSUPA is not available, the effect of bandwidth asymmetry may be more relevant, since HSDPA significantly increases downlink bit rates (current devices support up to 3.6Mbps).
and Mobile Computing, vol. 7, 2006. [4]
M. C. Necker, M. Scharf, A. Weber, "Performance of Different Proxy Concepts in UMTS Networks," Wireless Systems and Mobility in Next Generation Internet (LNCS), Dagstuhl Castle: Springer Berlin / Heidelberg, pp. 36-51, 2005.
[5]
J. Heidemann, K. Obraczka, J. Touch, "Modeling the performance of HTTP over several transport protocols," IEEE/ACM Transactions on Networking, vol. 5, pp. 616-630, 1997.
[6]
H. Holma, A. Toskala, WCDMA for UMTS: Radio Access for Third Generation Mobile Communications, 3 ed: John Wiley & Sons, 2004.
[7]
K. Pentikousis, M. Palola, M. Jurvansuu, P. Perala, "Active goodput measurements
from
a
public
3G/UMTS
network,"
IEEE
Communications Letters, vol. 9, pp. 802, 2005. [8]
J. Palme, A. Hopmann, N. Shelness, "RFC2557. MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)," 1999.
[9]
2501
B. C. Housel, G. Samaras, D. B. Lindquist, "WebExpress: a client/intercept based system for optimizing Web browsing in a wireless environment," Mobile Networks and Applications, vol. 3, pp. 419-431, 1999.