- Research Article
- Open Access
Cooperative Mobile Web Browsing
EURASIP Journal on Wireless Communications and Networking volume 2009, Article number: 543054 (2009)
This paper advocates a novel approach for mobile web browsing based on cooperation among wireless devices within close proximity operating in a cellular environment. In the actual state of the art, mobile phones can access the web using different cellular technologies. However, the supported data rates are not sufficient to cope with the ever increasing traffic requirements resulting from advanced and rich content services. Extending the state of the art, higher data rates can only be achieved by increasing complexity, cost, and energy consumption of mobile phones. In contrast to the linear extension of current technology, we propose a novel architecture where mobile phones are grouped together in clusters, using a short-range communication such as Bluetooth, sharing, and accumulating their cellular capacity. The accumulated data rate resulting from collaborative interactions over short-range links can then be used for cooperative mobile web browsing. By implementing the cooperative web browsing on commercial mobile phones, it will be shown that better performance is achieved in terms of increased data rate and therefore reduced access times, resulting in a significantly enhanced web browsing user experience on mobile phones.
One of the most rapidly growing sectors of the cellular phone market is the one corresponding to the mobile devices with advanced features. Today, these are represented typically by third generation (3G) mobile phones. Services available on 3G phones are not limited only to voice or Short Message Service (SMS), but multimedia delivery and mobile web browsing are becoming equally important. The demand for accessing Internet-based services from mobile phones is growing strongly as there is a clear interest in checking emails, reading news and weather information, sharing pictures and videos, and accessing social network communities on the go [1, 2]. Furthermore, the trend of developing mobile applications as web services will become more pronounced, aiming thus to achieve compatibility among mobile platforms. Therefore phone manufacturers have developed web browsers for mobile phones to give a full, desktop-like browsing experience to the users . Even though Internet access from mobile phones is becoming popular all over the world, there are some issues that need to be addressed in order to attain such a widespread penetration of the wired Internet. We highlight the three following issues.
Prices Strategies for Web Services
Accessing Internet from a mobile phone is an expensive service today. Even though network operators promote new billing models for mobile data, such as flat rates, prices are still high.
Insufficient Data Rate Support
Compared to wired networks, mobile communications have some critical constraints, such as limited resources (small displays, battery, processing capabilities, etc.), and especially lower data rate support. For these reasons, the user experience of web browsing on mobile devices cannot be as good as on a desktop computer. One way of increasing the date rate is to implement new access technologies on the devices such as Enhanced Data rates for GSM Evolution (EDGE), Universal Mobile Telecommunications System (UMTS), High Speed Downlink Packet Access (HSDPA). However, the data rate on mobile phones is still low compared to wired networks. Future communication systems such as 4G technologies are promising much larger data rates, but accommodating higher data rates on mobile phones increases not only the complexity and price of the device but also its energy consumption.
Even though energy could appear as the less obvious issue related to wireless web access, the energy consumption of mobile device is of key importance. In fact the energy consumption is directly related to the operating time of the mobile device, which in turn is already one of the most important issues for customers buying a new mobile handset. Mobile devices are battery driven and therefore limited in energy and power consumption. While the power limits are directly related to the heating of the mobile device, the energy limit is related to the operating time. As the mobile device is filled with several new features and high data rate wireless access, the stand by time will even decrease, especially if we consider that the wireless communication capabilities of a modern mobile phone could require more than a half of the overall power consumption .
2. Related Works and Motivation
Aiming at tackling the aforementioned data rate and energy efficiency issues, a recently proposed architecture, shown in Figure 1 and referred to as Cellular Controlled Peer-to-Peer (CCP2P), is advocated for web browsing [5, 6]. Authors in  have shown that wireless devices can benefit from cooperation in a multicast scenario. In that work it was shown that, if two or more mobile devices in proximity to each other are downloading the same content over the cellular link, they can decide to cooperate by forming a cluster over their short-range technology, for example, Bluetooth. Each of them downloads just a portion of the original file over the cellular link and gets the rest from other mobile devices in the cluster over short-range links. The CCP2P approach assures higher data rates and less energy consumption for the mobile device. This paper is an extension of the preliminary study we have done in , where we have showed the potentials of extending the cooperative approach mobile web browsing.
Web browsing takes place in a unicast scenario where each member of the cluster is interested in a different content. As illustrated in Figure 6, mobile devices are clustered over short-range air interfaces and accumulate their cellular capacity in case pages are downloaded. Our aim here is to minimize the downloading time, enhancing the user experience. In our case, mobile phones can time-share their cellular link connection during the page reading phase in order to increase the virtual downlink data rate. The approach considered here is motivated by several measurement campaigns for web traffic. As underlined in [9–11] web traffic is friendly cooperative. Each web page is composed out of multiple objects (Figures, text, frames, etc.), each transported in a separate stream. The mean number of objects is , including the main HTML body with a mean size of and five additional embedded objects with a mean size of each . This is similar to the work in , where a file can be split bytewise for cooperative video streaming leading to some overhead due to the splitting. Those overheads are reported in .
Furthermore, the way the users access the web service makes it suitable for cooperation. Figure 2 shows a sample web browsing session. Typically it consists out of one or more web page browsing cycles. Each cycle starts with a short web page request ( byte ) phase, and it is followed by two further phases: the actual page download phase and the page reading phase.
Web page request. The web client retrieves information about the structure of the web content. The cellular air interface is used sporadically.
Page download. The web server conveys information toward the web client. The duration of this phase depends on the maximum data rate of the air interface and on the data size to be conveyed. According to authors in , in average, data is composed out of kB main object and five embedded objects with kB, altogether around kB. However in some cases the overall size can reach 6 MB due to multimedia contents.
Page reading. After waiting the whole web page request and web page download phases the content is ready to be displayed. Now the cellular air interface is idle. The user is now busy consuming the information out of the web page (mean duration seconds ).
Due to this on-off behavior of the web traffic, there are times the cellular air interface is not used at all, and other times the capacity of it is not sufficient. Thus, by cooperating mobile devices multiple on-off traffic source can be multiplexed statistically together. Cooperative wireless Internet access (or web browsing) exploits the fact that several mobile devices, connected among themselves over short-range links and also to the servers (over cellular links), have uncorrelated access requirements.
3. Proposed Cooperative Web Browsing
Let us consider two mobile phones within short range coverage. Let us further suppose that both the mobile devices have dual connectivity capabilities, including a cellular air interface (e.g., GPRS, EDGE, UMTS, HSDPA, etc.) as well as a short-range communication air interface, such as Bluetooth. The choice of the short-range wireless technology takes into account energy consumption and market penetration. Bluetooth has been chosen here because it is more efficient than IEEE802.11 WLAN in terms of energy consumption, and it has the advantage of being already available in a large number of mobile phones. Whenever one mobile device wants to initiate a web browsing session, the two phones form a Bluetooth cluster where the first one acts as master and the other one as slave. The master downloads some parts of the webpage content (pictures, text, etc.), asking the slave to download the complementary parts, both using cellular links. As soon as one content has been downloaded, the data is sent to the master via Bluetooth. When all the contents have been collected, the web browser on the master device is able to recreate and to show the web page to the user. By cooperating in such a way, the so-called "virtual data rate'' of the downloading phase is the sum of the data rates of the two mobile devices in the cluster. Taking into account that the time spent to send the last content via Bluetooth is small compared to the overall duration of the downloading phase, we can say that the speed of the downloading phase can be roughly doubled (more details in Section 5). However, the role of the master depends on which device wants to download the web page. For example, during a page download phase, initiated by one phone, it can happen that the cooperating mobile device makes also a request for a web page. This will cause an overlapping of requests. Therefore, two different scenarios are distinguished.
Only one mobile device at a time is within the page download phase.
Two page download phases are overlapping with each other.
Let us define the virtual capacity as
where and are the cellular link capacities that the master device and the slave device are dedicating to the cooperation, respectively. A two-device cooperative scenario is illustrated in Figure 3, showing the different values for in both the cooperative and noncooperative cases without overlapping of the download phases. In case of cooperation, the time needed for the page download is shorter since the is higher, and the gain achieved by cooperating is shown in the same picture.
In the second scenario, the page download phases overlap for some time. In such a situation, each mobile device is acting selfishly and downloading its own contents (see Figure 4) first. However, when the mobile becomes idle again and is not in its own page download phase, the slave offers its cellular link for the cooperation. This means that the is increased only when the page download phases are not overlapping. Therefore, in this scenario, the gain highly depends on the duration of the overlapping and it is smaller, compared to the one in the previous case. Note that for illustrative purposes we assumed that the page request phase cannot be done in a cooperative way, and the air interface should be used exclusively for each mobile device in this given phase, which can be assumed to be rather small. We can distinguish 4 different behaviors of the terminals doing web browsing.
Standalone behavior. Each device is performing the web browsing without cooperation. In this case, the nominal downloading time is equal to 1.
Altruistic behavior. Each device is sharing its cellular link even if it is not interested in web browsing. In this case, neglecting the page request phase due to the small amount of data, mobile devices could cooperate over the accumulated air interfaces reducing the download time to if the download activities would be scheduled in a perfect way.
Nonaltruistic behavior with perfect synchronization. Each device is cooperating only if it is interested in web browsing; there is no overlapping of download phase due to a perfect synchronization.
Real case. Each device is cooperating, and overlapping of download phases is possible, and therefore the time to download in a cooperative manner will be slightly larger, as all cooperating mobile devices are statistically multiplexed on the virtual capacity.
4. Technical Description of the System
We have implemented the newly introduced system architecture on commercial phones using Python for S60 [13, 14] to evaluate its performance. The application is installed on both master and slave phones. When the web browsing session starts, a Bluetooth connection is established between them, in order to form the cooperation cluster. The master sends a request for the header of the specified web page to the web server, and the page request phase starts. After receiving this request, the web server replies to the phone by sending all the information about the requested page. Now the page download phase starts. We can divide this phase into two subphases: Web Page Processing Phase and Components Downloading Phase.
4.1. Web Page Processing Phase
During this phase, the information retrieved during the Web Page Request Phase is processed by the master performing the following actions.
The content of the URL is processed.
A searching process starts looking for a logical predefined pattern in the content of the URL. These patterns represent the paths of all external components in the web page, such as pictures and external links.
The header of each component is retrieved and put into a list.
The entries are classified according to their component type, such as an image, an anchor, an external link, or an internal link.
The list is split in two sublists equally balanced (if possible), based on the component sizes (see Figure 5) if known. Note that the splitting of the web content into objects is done with nearly no overhead.
At the end of this phase, the master phone has two sublists containing the links of components. This information is now used to download components during the next phase.
4.2. Components Downloading Phase
When the Web Page Processing Phase is over, the actual download of the components can start.
The master phone sends one of the two sublists of the components to the slave.
The two phones start to download components according to the sublist.
Both files, the one downloaded by the master and the one downloaded and transferred by the slave, are stored in a folder on the memory of the master phone.
As soon as all the contents are downloaded, the web browser builds up the page and shows it to the user.
As discussed before, this is the most critical phase. In fact, if the slave requests another web page at this point, the cooperation stops. In this case, the slave sends to the master phone three pieces of information:
a sublist containing the remaining components to be downloaded,
the contents eventually downloaded already, and
a request of cooperation as soon as the master ends its own Downloading Phase.
Now the Downloading Phases are overlapping, and both the master and the slave proceed the download without cooperation. The overall system can be improved by adding a proxy server working as an intermediate processing unit between the master phone and the web server (see Figure 6). This approach is referred to as Proxy Enabled Web Browsing. The master phone sends the header request of the specified web page to the proxy instead of sending it directly to the web server. Upon receiving the request, the proxy establishes a TCP connection to the web server forwarding the request for the header. The proxy is now in charge of the Web Page Processing Phase. When this is over, the Web Page Components Downloading Phase starts. In this second approach, the proxy does the job that previously was done by the master phone in the Web Page Processing Phase.
We have used the developed application to evaluate the performance of the cooperative web browsing in terms of energy, time, and data rate achieved. Each test we have run consists in downloading one webpage with six components (images) for a total amount of data equal to 70 kB as suggested by  and discussed in Section 2. To simulate a real case where a user downloads several pages during a web browsing session, tests have been repeated many times varying the number of cycles from one to four (see Figure 2) in both cooperative with altruistic behavior with perfect scheduling (an analytical proof of the achievable results for the real case scenario with overlap is given in ) and noncooperative scenarios. The assumption that we have no overlaps is motivated by the Bluetooth measurements campaign conducted in . As mentioned in Section 6.3, authors found that there would always be several cooperative entities available around, and even though some mobile devices could be downloading at the same time of a request, chances to find at least one partner entity that is free, are very high. Therefore, let us assume for the cooperative scenario with no overlap to have two phones (we have used Nokia N95s ) running our application, and we assume that they know the Bluetooth address of each other to avoid the Bluetooth device discovery procedure. In this case the phone requesting the webpage downloads half of the total amount of data () from the cellular link and, upon establishing a connection, receives the other half via Bluetooth from the cooperating phone. In each test we have measured the following.
Time for downloading the page.
Average power level.
Data rate for both cellular and Bluetooth communication.
Time to setup the Bluetooth connection.
In the cooperative scenario we define the time needed to download the page as
where defined as
is the time needed for Bluetooth to setup the connection () and receive the requested components. is the data rate achieved by the Bluetooth connection when receiving data. Furthermore we define the time needed to download components over the cellular link as
where is the data rate achieved when downloading data using the cellular link.
In the noncooperative scenario we define the time needed to download the entire data using only the cellular link as
To compare the performance of the system in terms of time, we introduce defined as
Mean values for and obtained during the tests are shown in Table 1.
represents the percentage of time needed in the cooperative scenario normalized to the one needed in the noncooperative one. Figure 7 shows values of plotted against for different sizes of .
Similarly, in (7) we define a data rate ratio, , to compare the performance of the system in terms of data rate. Results are shown in Figure 8 where plotted against for different sizes of :
In order to measure the energy spent during the cooperative web browsing, we have to quantify levels of power consumption. For doing that we used the in-built Nokia energy profiler  running on the phones. The energy profiler is an application that allows to make measurements without any additional hardware. It logs, for example, values for power consumption with a sample rate of 250 milliseconds. However, to check the correctness of the data given by the energy profiler on the phone, the complete setup includes the AGILENT 66319D used as multimeter. It is connected to a PC which is running the Agilent 14565B device characterization software, a tool designed for evaluation of portable battery-powered device current profiles.
By defining the energy spent in the noncooperative case as
and the energy spent by the phone requesting the page in the cooperative scenario as
we can calculate the energy ratio for the single phone as
Although, for a fair comparison, for the cooperative case we will consider the energy spent by both the phones. Results of measurements on power levels of both the phones during the cooperative web browsing have shown that there is not a significant difference while downloading data using the cellular link and receiving or sending data with Bluetooth. Therefore we assume that the energy consumption for the entire system in case of cooperation is twice the energy spent by the master phone. Therefore we can define the energy ratio of the overall system as
Figure 9 shows values of plotted against for different sizes of . In terms of downloading time, and therefore data rate, results show that the cooperative web browsing approach outperforms the standard approach. In fact the first approach is always twice faster than the latter one as long as is greater than . When becomes smaller than , performance degrades due to in (6). On the other hand, in contrast to the cooperative scenarios described in [7, 19, 20], cooperative web browsing is not leading directly to energy savings. In fact the performance in terms of energy of the overall system is worse if compared to the noncooperative case, and it starts to degrade even more when . Nevertheless, if the quality of the service achieved by the cooperative web browsing wants to be achieved with a standalone phone, the price to pay in terms of energy and complexity will be much higher. In Figure 10 the quantitative energy consumption over the download time is given for one standalone mobile device, different number of cooperating mobile devices, and future mobile devices as foreseen in 4G. The standalone mobile device exhibits the lowest energy consumption with the largest download time. By cooperation the download time can be reduced (ideally inversely proportional to the number of cooperating mobile devices), but a slight overhead in energy caused by the short range technology has to be paid. Note that this overhead is rather small compared to the energy requirement of the cellular air interface, and more importantly, it is nearly independent from the number of cooperating entities. If cooperation is not an option, future mobile devices will offer also larger data rates, but at the expense of dramatically higher energy consumption.
The presented work shows the feasibility of cooperative mobile web browsing among wireless devices. Even though these initial results are encouraging, there are several additional issues that need to be addressed to fully understand the considered cooperative web browsing approach. Next, we discuss some important issues that need to be investigated in more detail.
6.1. Incentives for Cooperation
Even though cooperation is technically feasible, the question is whether users may be willing to cooperate. As given in [5, 6, 21] two basic elements enabling cooperation are reciprocity and means for detection of cheaters. In the case considered here, we need to ensure that mobile devices contributing to a cooperative cluster in terms of energy also get some benefits. In other words, the return of investments has to be quick and reliable, in order to motivate users to join a cooperative cluster. Therefore, basic rules such as Tit for Tat  should be applied. In the case of two cooperating entities that are totally unknown to each other, a basic trust level needs to be established. For instance, after agreeing to cooperate, mobile devices allow to each other to use kB over the cooperative link, which corresponds approximately to two web requests according to the model developed in . In case one mobile device has exploited this trust level without contributing to the cluster, it may not get any more cooperative support unless the other one starts obtaining some benefits. Once the two mobile devices have already exchanged some data, the trust level may increase over time. The initial trust level highly depends on the pricing policy, for example, flat rates or transported information (pay per bit).
6.2. Security and Privacy
As wireless devices share directly parts of their information, security and privacy become key issues. First, privacy needs to be assured as in a wireless scenario all information can be sniffed by potential intruders. More importantly for our proposed scenario is the legal issue in case some of the cooperating entities would access and not share legal content. Clearly, the network has to ensure the identification and storage of the final destination of the packets.
6.3. Number of Cooperating Mobile Devices
Whether cooperative web browsing can be used depends highly on the number of short-range communications enabled devices (e.g., Bluetooth) nearby the initial user willing to cooperate. A large number of cooperating mobile devices would be beneficial to find always ideal cooperating partners and to reduce the download time even more. On the other hand, some users tend to switch Bluetooth off to extend the battery lifetime and to reduce the risk of malware attacks. Authors in  present the results of a measurement campaign aimed at better understanding of the number of potentially cooperating mobile devices in different scenarios. More precisely, measurements show the number of wireless devices like mobile phones, with Bluetooth activated operating in public places (airports, bars, shopping malls, etc.). Depending on the specific location an average of five to ten mobile devices has activated Bluetooth. In some scenarios it was found that there could be more than Bluetooth capable mobile devices. Furthermore, we are witnessing the first commercial products creating strong direct links between users of mobile devices over the short-range links, such as the Microsoft's Zune devices.
6.4. User Friendliness
In order to be successful, the cooperative mobile web browsing has to be totally transparent to the user. Users would be annoyed or not even technically capable of taking care of the mobile device discovery and cluster forming.
7. Conclusion and Outlook
In this paper, we have proposed a novel approach for web browsing on mobile phones exploiting cooperation, allowing cooperative users to download their web content faster than standard noncooperative mobile devices. We are motivated by the fact that web browsing applications are becoming increasingly important for mobile devices. This is not only driven by the users' need to be connected to Internet on the go but also driver by the fact that future mobile applications will be realized as web applications to ensure mass compatibility.
In this work we have highlighted the fact that standard mobile devices provide often enough insufficient user experience due to the low supported data rate. Future mobile devices targeting higher data rate may be seriously limited by energy constraints. Therefore a cooperative approach among mobile devices has been introduced, and a cooperative application for mobile phones has been implemented for evaluating the performance of the proposed system. Results show that cooperative web browsing by two mobile devices can increase the virtual capacity of the cellular link and can thereby reduce the duration of the downloading time. Even better performance could be achieved by more cooperative mobile devices. Therefore this new architecture can be used to overcome the problem of low data rates for Internet access on mobile phones. On the other hand we have shown that energy consumption increases when using the cooperative web browsing. Nevertheless, to achieve the same performance in terms of data rate, a noncooperating standalone mobile phone would pay a higher price in terms of complexity and energy. In our future work we will focus on stimulating cooperation looking more into trust level concepts introduced in Section 6, and also the robustness of the cooperation should be investigated. In case the cooperative cluster will fall apart, while downloading in a cooperative manner, the splitting of the objects is more important. So far the splitting is done by the object size only. But in the future this can be done in a different and more robust way, even though it will be a trade off with some longer download times.
Roto V: Web Browsing on mobile phones—characteristic of user experience, Ph.D. thesis. Department of Computer Science and Engineering, Helsinki University of Technology, Helsinki, Finland; 2006.
Roto V, Geisler R, Kaikkonen A, Popescu A, Vartiainen E: Data traffic costs and mobile browsing user experience. Proceedings of the 4th MobEA Workshop on Empowering the Mobile Web, May 2006, Edinburgh, Scotland 1-6.
Nokia web browser for s60 3rd edition devices
Fitzek FHP, Reichert F (Eds): Mobile Phone Programming and Its Application to Wireless Networking. Springer, New York, NY, USA; 2007.
Fitzek FHP, Katz MD (Eds): Cooperation in Wireless Networks: Principles and Applications: Real Egoistic Behavior is to Cooperate!. Springer, New York, NY, USA; 2006.
Fitzek FHP, Katz MD (Eds): Cognitive Wireless Networks: Concepts, Methodologies and Visions Inspiring the Age of Enlightenment of Wireless Communications. Springer, New York, NY, USA; 2007.
Militano L, Fitzek FHP, Iera A, Molinaro A: On the beneficial effects of cooperative wireless peer to peer networking. Proceedings of the Tyrrhenian International Workshop on Digital Communications (TIWDC '07), September 2007, Island of Ischia, Italy 1-13.
Perrucci GP, Fitzek FHP, Boudali A, Mateos MC, Nejsum P, Studstrup S: Cooperative web browsing for mobile phones. Proceedings of the International Symposium on Wireless Personal Multimedia Communications (WPMC '07), December 2007, Jaipur, India 1-5.
Choi H-K, Limb JO: A behavioral model of web traffic. Proceedings of the 7th IEEE International Conference on Network Protocols (ICNP '99), October-November 1999, Toronto, Canada 327-334.
Mah B: An empirical model of HTTP network traffic. Proceedings of the 16th IEEE Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '97), April 1997, Kobe, Japan 2: 592-600.
Lee J, Gupta M: A new traffic model for current user web browsing behavior. Intel, Santa Clara, Calif, USA; 2007.
Fitzek FHP, Can B, Prasad R, Katz MD: Traffic analysis and video quality evaluation of multiple description coded video services for fourth generation wireless IP networks. Wireless Personal Communications 2005, 35(1-2):187-200. 10.1007/s11277-005-8748-4
Scheible J: Python for symbian phones. In Mobile Phone Programming and Its Application to Wireless Networking. Springer, New York, NY, USA; 2007:23-61.
Scheible J, Tuulos V: Mobile Python: Rapid Prototyping of Applications on the Mobile Platform. Wiley-Interscience, New York, NY, USA; 2007.
Pietrarca B, Sasso G, Perrucci GP, Fitzek FHP, Katz MD: Measurement campaign on connectivity of mesh networks formed by mobile devices. Proceedings of the 4th IEEE Internatonal Conference on Mobile Ad-Hoc and Sensor Systems (MASS '07), October 2007, Pisa, Italy 1-6.
Bosh G, Kuulusa M: Optimizing mobile software with built-in power profiling. In Mobile Phone Programming and Its Application to Wireless Networking. Springer, New York, NY, USA; 2007:449-462.
Zhang Q, Fitzek FHP, Katz MD: Cooperative power saving strategies for IP-services supported over DVB-H networks. Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC '07), March 2007, Hong Kong 4110-4114.
Zhang Q, Fitzek FHP, Iversen VB: Design and performance evaluation of cooperative retransmission scheme for reliable multicast services in cellular controlled P2P networks. Proceedings of the 18th Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC '07), September 2007, Athens, Greece 1-5.
Axelrod R: Evolution of Cooperation. Princeton University Press, Princeton, NJ, USA; 1982.
The authors would like to thank Nokia for providing technical support as well as mobile phones to carry out the measurement campaign. Special thanks to Mika Kuulusa, Gerard Bosch, Harri Pennanen, Nina Tammelin, and Per Moeller from Nokia. This work was partially financed by the X3MP project granted by Danish Ministry of Science, Technology and Innovation. The authors would like to thank A. Boudali, M. Canovas Mateos, P. Nejsum, and S. Studstrup as well for their valuable contribution in this work.