|dc.description.abstract||The increase in the processing power of mobile devices has led to an explosion of available services and applications. However, the cost of mobile data is a hindrance to the adoption of data intensive applications. We consider a group of co-located wireless peer devices that desire to synchronously receive a live content stream. Devices desire to minimize the usage of their B2D interfaces (3G/4G) to reduce cost, while maintaining synchronous reception and playout of content. While it might be
possible for a cellular base station to broadcast or multicast live events to multiple handsets, such content would be restricted to a few selected channels, and only available to subscribers of a single provider. Utilizing both B2D and D2D (WiFi) interfaces enables users to pick any event of interest, and "stitch together" their B2D capacities regardless of provider support. Our objective is to enable users to listen or watch real time streams while incurring only a fraction of the original costs.
Our system setup is as follows. The real-time stream is divided into blocks, which must be played out soon after their initial creation. If a block is not received within a specific time after its creation, it is rendered useless and dropped. The blocks in turn are divided into random linear coded chunks to facilitate sharing across the devices. We transform the problem into the two questions of (i) deciding which peer should broadcast a chunk on the D2D channel at each time, and (ii) how long B2D
transmissions should take place for each block.
The thesis studies the performance of a provably-minimum-cost algorithm that can ensure that QoS targets can be met for each device. We use a Lyapunov stability argument to show that a stable delivery ratio can be achieved using our mechanism. We show that the optimal D2D scheduling algorithm has a simple and intuitive form under reliable broadcast, which allows for easy implementation and development of good heuristics. We study this via simulations, and present an overview of the implementation on Android phones using the algorithm as a basis. Additionally, we
design an incentive framework that promotes cooperation among devices. We show that under this incentive framework, each device benefits by truthfully reporting the number of chunks that it received via B2D and its deficit in each frame, so that a system-wide optimal allocation policy can be employed. The incentive framework developed is lightweight and compatible with minimal amounts of history retention.
The Android testbed used in the experiments consisted of multiple Google Nexus 4 phones. A modified version of Android Jelly Bean (v 4.3) was built in order to conduct the experiments which removes the limitation wherein the phone switches off its 3G data connection (B2D) whenever a known WiFi network (D2D) becomes available. Since the Nexus 4 devices are incapable of operating in ad-hoc mode, we used a WiFi network (without Internet connectivity) to emulate the D2D part.
Hence, devices must use their 3G interfaces to receive chunks for the server (via the Internet). We present experimental results, and show that it would be possible to follow popular streams on hand held devices incurring only a fraction of the costs while achieving a high QoS.||en