Description |
Live video upstreaming refers to the flow of live data in the upstream direction from mobile devices to other entities across the Internet and has found use in many modern applications such as remote driving, the recent social media trend of live video broadcasting, along with the traditional applications of video calling/conferencing. Combined with the high-definition video capturing capabilities of modern mobile devices, live video upstreaming is creating more upstream data traffic than what present day cellular networks are equipped to support, often resulting in sub-optimal video experience, especially in remote or crowded areas with low cellular connectivity and no WiFi. We propose that instead of using its single cellular connection, a mobile device connects to multiple nearby mobile devices and splits the live video data over the cellular bandwidth of these devices using Multipath TCP protocol. MPTCP provides a promising solution for aggregating bandwidth, but its use has largely remained unexplored for upstreaming live video data, especially for scenarios whereWiFi connectivity is not available. We use wireless interface virtualization, offered by Linux, to enable Multipath TCP to scale and connect to a large number of cellular devices. We design and build a system that can assess the instantaneous bandwidth of all the connected cellular devices/hotspots and uses the set of the most capable cellular devices for splitting and forwarding the live video data. We test our system in various settings and our experiments show that our system increases the bandwidth and reliability of TCP connections in most cases and where there is a significant difference in the throughput across cellular hotspots, our solution can recognize and isolate the better performing cellular hotspots to provide a stable throughput. |