The Idea


In some stadiums, sports fans can view personal video feeds through their mobile devices. However, it is difficult to guarantee the reception reliability of these devices because each user experiences different wireless channel conditions.


Take advantage of the multiplicity of radios on modern devices and their physical proximity in a stadium to allow cooperative packet recovery over a secondary network.

  • Wireless devices are connected to the principal network (WiMAX) to receive broadcast data such as live video feeds
  • A wireless device may lose some of the data sent over the principal network
  • Physically co-located wireless devices form an assistant network over WiFi to recover the lost data cooperatively from their peers

Experiment Design

In this case, we are running a Python application that we've written ourselves, called coopshim, that does the P2P cooperative recovery. We're also running the OML enabled version of VLC to stream a video over the WiMAX network (i.e., the video feed that we are hoping to recover).

A number of already-OMLized applications are already available.

The coopshim and VLC applications were instrumented with the Python OML client module and the OML C or C++ library, respectively.

A Ruby gem is also available.

OML application definition files for these two applications are at

Experiment Deployment

Your instructor will show you how to:

  • Reset the base station to default settings
  • Fix the ODU noise floor on the base station
  • Restart the base station to apply your changes

and load prepared disk images onto the nodes we will use in this experiment:

  • omf load -i -t
  • omf load -i -t

Your instructor will show you how to create a disk image, using the image on node1-7, and then load this new image onto nodes 1-2, 1-3, and 1-6.

Experiment Execution

The OMF experiment script is located here. Your instructor will show you the parts of this script and explain what it does.

During the experiment, you can view a live visualization here.

Experiment Analysis

Your instructor will show you how to use the result service to run SQL queries against your measurements. Use this service to fill out the chart at

Last modified 9 years ago Last modified on 10/25/12 09:30:05