Lorenzo Keller (EPFL, Lausanne, CH)
Anh Le (UC Irvine, CA, US)
Blerim Cici (UC Irvine, CA, US)
Hulya Seferoglu (MIT, MA, US)
Christina Fragouli (EPFL, Lausanne, CH)
Athina Markopoulou (UC Irvine, USA)
Video streaming is one of the increasingly popular, as well as demanding, applications on smartphones today. In this paper, we consider a group of smartphone users, within proximity of each other, who are interested in watching the same video from the Internet at the same time. The common practice today is that each user downloads the video independently using her own cellular connection, which often leads to poor quality.
We design, implement, and evaluate a novel system, MicroCast, that uses the resources on all smartphones of the group in a cooperative way so as to improve the streaming experience. Each phone uses simultaneously two network interfaces: the cellular to connect to the video server and the WiFi to connect to the rest of the group. Key ingredients of our design include the following. First, we propose a scheduling algorithm, MicroDownload, that decides which parts of the video each phone should download from the server, based on the phones’ download rate. Second, we propose a novel all-to-all local dissemination scheme, MicroNC-P2, for sharing content among group members, which outperforms state-of-the-art peer-to-peer schemes in our setting. MicroNC-P2 is designed to exploit WiFi overhearing and network coding, based on a local packet broadcast framework, MicroBroadcast, which we developed specifically for Android phones. We evaluate MicroCast on a testbed consisting of seven Android phones, and we show that it brings significant performance benefits without battery penalty.
Public Review uploaded by MorleyMao:
Cooperative video streaming on smartphones by effectively leveraging constrained network resources to ensure good user experiences in watching the same video among a small group of users within close proximity of each other is the problem addressed by this paper through a system called MicroCast. The key contribution of the design of MicroCast lies in the nice integration of the scheduling algorithm to determine what parts of the video to be downloaded by each phone with the WiFi overhearing and network coding based support for local dissemination of the video content. A major achievement of the system is that MicroCast is the first to successfully implement WiFi overhearing, which is quite fundamental to network coding.The evaluation shown using a setup of 7 Android phones illustrates quite significant improvement in the performance measured in download rate without any increase in battery drain compared to competing schemes such as BitTorrent based streaming.
While the paper is impressive in its engineering and design for realizing the performance improvements for sharing video for a small number of nearby users, it has several limitations that can inspire future work in this space. The scalability of the design to a larger number of users is not immediately clear. In addition, this work makes the assumption of WiFi being the bottleneck, which may not always hold. Architecturally, it may be interesting to understand the applicability of the design in broader contexts to compare with to alternate solutions such as enabling basestation with broadcast capabilities.
Given the new merits in the design and demonstrated performance of MicroCast, this work provides opportunities for many follow-up work in this space. If the authors make their code available, potentially some interesting services can be enabled by such an implementation.
We would like to thank the reviewers for their thorough and constructive comments, which have greatly contributed to improving the paper. We hope that the individual proposed mechanisms, as well as Microcast as a whole, will provide useful building blocks in the rich problem space of local cooperation among mobile devices. A preprint of the paper can be found at:
Next, we briefly respond to the main comments, summarized in the public review.
1- Number of users:
Microcast has been explicitly designed to exploit the fact that, in our application scenario, a small number of users participate in the download. Engineering limitations of current systems also impose this constraint: for example, current softAP implementations do not support many users. Furthermore, we believe that our cooperative scheme can be used as a building block to build architectures that support a larger number of users. For example, a larger group could be split into several (possibly overlapping) smaller groups sharing the wireless resources and employing different degrees of cooperation amongst them. This is one direction for future work.
2- WiFi bottleneck:
Our scheme reliably and efficiently transports information through WiFi, independently of whether WiFi is the bottleneck or not. In the case when WiFi is the bottleneck, the efficiency of our scheme becomes critical and this is the case we chose to highlight in the paper. This case is not rare: with Microcast, if a group of n users cooperates so that each receives video at rate R, and each user receives rate approximately R/n through the cellular connection, then it receives R(n-1)/n through Wifi. As the number of users or the rate R increases, WiFi is required to carry the vast majority of the traffic. Moreover, WiFi spectrum is already heavily used in residential areas, and is expected to be even more so, thus motivating its careful use.
3- Broadcast from the base station:
This is indeed not the scenario we consider here because base station broadcast is not the common practice for video streaming to smartphones today. For example, it is currently not supported by US providers and does not allow direct connection to HTTP servers, which is the dominant video streaming technology. Furthermore, even if it were available, broadcast would have its own limitations. For example, broadcast transmissions are subject to packet losses that are independent across the receiving users (provided these are a few wavelengths apart). As a result, users end up with highly disjoint sets of packets. Note that at this point, if together with broadcasting, we used the Microcast local dissemination, the users would receive the missing packets efficiently. That is, Microcast could work as a complement to broadcasting. If, instead, we tried to recover the packets through additional coded transmissions by the base station, not only we would have additional overhead, but we would also have to adjust to the user with the worst channel. Overall, the comparison suggested by the reviewers is a non-trivial and interesting one, and another direction for future work.