Modern mobile applications (e.g., online video players, podcast apps, backup apps) are increasingly more bandwidth-hungry. Unfortunately, due to limited radio resources and infrastructure capacity, it is unclear whether cellular ISPs can meet rapidly increasing traffic demand. However, Wi-Fi can provide higher bandwidth at a lower cost than cellular network.
Recent studies (Wiffler[MobiSys'10], DTap[CoNEXT'10]) suggest that one can further extend the benefit of Wi-Fi access if users allow delay tolerance between network connections. The basic idea is to hold off using cellular networks in the absence of Wi-Fi service and to resume data transfer when the device meets the next Wi-Fi AP. Delayed Wi-Fi offloading is known to improve overall mobile network bandwidth at a low cost.
Despite the great potential of delay-tolerant Wi-Fi offloading, existing mobile apps rarely support delayed offloading. This is mainly because the burden of handling network disruption or delay is placed solely on app developers. Existing network stacks are not suitable or clumsy at addressing network disruptions/delays, and popular servers are unfriendly to delay-tolerant apps that intermittently download the content in multiple networks. We find that many popular mobile apps do not properly address network switchings and few apps correctly handle a few minutes of delay between network connections.
Cedos is a practical delay-tolerant mobile network access architecture, which enables easy development of delay-tolerant mobile apps by hiding the complexity of handling mobility events in a new transport layer. At the same time, Cedos allows developers to express their QoE requirements (e.g., maximum user-specified delays), and exploit the delays in mobile apps in order to maximize opportunistic Wi-Fi usage.
Cedos is built on D2TP, Disruption- and Delay-tolerant Transmission Protocol. D2TP is a TCP-like transport layer protocol, but it transparently masks network disruptions and delays. Cedos-based mobile app initiates a D2TP connection to D2Prox which relays downloading content from the TCP server to the app.
D2TP: D2TP is a transport layer protocol for mobile apps, providing TCP-like, reliable data transfer in stationary environments. It hides network disruptions and allows delays when a mobile device is on the move. The key enabler for D2TP disruption tolerance is in the separation of a connection from its network attachment. Specifically, each D2TP connection is identified by a persistent flow id that does not change in the course of mobility. When a mobile device moves to another network, it resumes the connection with the flow id from where it left off.
D2Prox: Upgrading the existing infrastructure (e.g., servers, middleboxes) to support D2TP is costly and time-consuming. Instead, we propose placing a network-embedded Web caching proxy, D2Prox, which works as a protocol translator, allowing client-side mobility while it supports backward compatibility to TCP-based servers. Although D2Prox can sit anywhere in the Internet, we envision that it is located near a cellular ISP core network to curb the latency stretch between an origin server and a client.
D2Sched and D2BufMgr: The core enabler for managing
an efficient D2TP flow data transfer is the deadline, set
explicitly by Cedos socket API. Basically, the deadline is
examined to decide whether the D2TP flow should transfer
data through the attached network for efficiency (Wi-Fi
offloading), or should change the interface for reliability
(deadline guarantee). For this, we collect information of
currently attached interface, bandwidth for both networks
(last measured for unconnected network). Using the
information, D2sched and D2BufMgr schedules the flow such
that the flow should be idle or active in transmission and
which interface it should use if it is active. More
detailed explanation about the algorithms are found in
To show the applicability of Cedos to real-world applications, we port two existing applications and implement a delay-tolerant podcast downloader.
- Mobile Firefox: Since a Web browser is one of the most popular applications, we port mobile Firefox to retrieve web pages using Cedos. While it works well with large file download, we notice a few seconds of network interface switching delay at network disruptions when we browse regular Web sites.
- VLC: To demonstrate that streaming media players could also benefit from Cedos, we port VLC to Cedos. VLC exploits D2BufMgr in D2TP by setting an appropriate deadline, and delays cellular data transfer if possible to offload to Wi-Fi.
- Podcast client: Since there exists no deadline-based mobile app in the market, we have built our own delay-tolerant publish-and-subscribe podcast downloader, ReadyCast. ReadyCast supports subscription to any podcast feed published in the Internet. It allows the user to set the deadline of a podcast content download, benefiting from the D2TP layer for transparent delay management.
Test Environment: We watch a long streaming video of constant bit rate of 640 Kbps with Cedos-enabled VLC on a Nexus 5 device while riding a subway train in Daejeon, South Korea. The subway line consists of 22 stations, equipped with publicly-accessible Wi-Fi APs but train itself does not provide Wi-Fi access.
Result: In Cedos-enabled VLC, D2BufMgr's buffering mechanism ensures to limit the LTE usage by curbing the content download rate to the video bit rate. As a result, we find that almost half (48%) of the streaming video is delivered via opportunistic Wi-Fi access without a single playback pause on a moving train.
Test Environment: We conduct a user study with ReadyCast by having 50 KAIST students use it for 8 weeks. The students subscribe to any of 3,853 Podcast channels populated in ReadyCast links, and download the contents by setting an allowed delay between 0 to 6 hours. Overall, we have collected a total of 2,834 unique connections that complete the downloads, which is 71.2 GB in volume.
Result: The downloads without any delay ('on-the-spot') deliver 79.5% of the data through Wi-Fi, and we observe that almost 93% of the data is offloaded to Wi-Fi even for a few tens of minutes of delays. This implies that one does not need to wait very long to meet available Wi-Fi APs, and delayed offloading is a practical solution that could significantly reduce cellular traffic.