WindRider
A Mobile Network Neutrality Monitoring System
This research is supported
by the National Science Foundation.
Motivation and Approach
The global network we call the Internet today was started a
few decades ago following a very simple model. The entities
involved in the beginning had very simple (stated) goals and
interaction between them was consequently simple. Technological
advances in the recent years have brought exciting
new capabilities for Internet users - they can access the Internet
from almost anywhere using mobile devices. The entities
involved in the functioning of the Internet are however much
more complex in current times and their goals are increasingly
fragmented and often times hidden.
In this project we elaborate on two such entities:
(i) mobile network providers, and (ii) application or service providers.
Considering recent
signs of tussle and debate between the two entities we argue
that given the obviously more complex nature
of the Internet of today, feedback from the end-user is useful
and might help decision makers, policy makers settle the network
neutrality debate. Our efforts are aimed at
building an application aimed at several popular mobile
platforms that captures feedback about the availability and
performance (both measured and judged by the user) of Internet
services and applications.
The primary goal of this project is not to take sides in the emerging
net neutrality debate, but rather to design a system capable of
making the Internet more transparent. Our system runs on the
Measurement Lab, an open
platform founded by Google Inc., the New America Foundation's Open
Technology Institute, and the Planet Lab Consortium.
People
- Faculty:
- Graduate Students:
Publications
-
Closing the Loop: Feedback at Your Fingertips
I. Trestian, R. Potharaju, and A. Kuzmanovic
An early draft summarizing our motivation and present efforts, October 2009.
[ .pdf]
Installation
Download
WindRiderD.CAB to your
phone.
Select WindRiderD.CAB and install.
Run Program Files/WindRiderD/WindRider.exe
Software
Different implementations of our system for various mobile platforms will soon become available here.
Windows Mobile Implementation - Code
Functional description
WindRider addresses network neutrality violations that occur on the mobile Internet. As such, WindRider is a mobile
application that performs active and passive measurements.
Active measurements involve the mobile device and a randomly chosen Measurement Lab Server. The mobile application
initiates a series of downstream and upstream transfers with the Measurement Lab Server and records statistics
regarding the observed performance. Active measurement results are stored on the considered Measurement Lab Server.
Poor performance can be dependent on region, so the user can enter his location if he desires. The user gets feedback
about this, we display the actual speed experienced by the transfer.
The different transfers
are initiated on different ports in order to see if the provider is
differentiating traffic based on application, for example web
transfers experience faster speeds than applications on other ports.
Passive measurements are performed on the mobile device. The application measures the delays experienced by different
web pages and records the explicit user feedback about different applications. The statistics are uploaded to our
servers and not on the Measurement Lab infrastructure. The user can opt out if he desires.
In this part, we
collect statistics regarding the delays experienced by same pages on
different providers and locations and we will determine if certain web
pages experience higher delays on certain providers or do not load at
all - basically try to determine if the provider is discriminating
against specific web pages.
We targeted WindRider towards the mobile environment because, to the best of our knowledge, no tools currently
exist(including the Measurement Lab ones) that address this environment.
WindRider is installed on a mobile device such as a SmartPhone or Pocket PC. The overall functioning of WindRider
can be seen in the figures below. The user opens WindRider and is shown a screen where he enters what he feels
comfortable with sharing with the system in terms of location, carrier
(we also collect server side statistics about this, based on the IP address), and if he wants to share his browsing
history and experience.
By pressing the "Run tests" Soft Key, a series of transfers are initiated between the mobile device and our servers
(Figure 2).
The user is shown a progress bar that gives him a feeling about how the tests are progressing. When tests are
finished, the average speed of the transfer is shown.
Figures 3 and 4 display another feature of WindRider - user feedback. In Figure 3 the user surfs on the Internet.
WindRider also contains a browser extension that records the websites visited and the delays between page request
and delivery. By pressing the Feedback Soft Key in Figure 1, the user is shown the window in Figure 4 that contains
the software applications running on the mobile device and the recent websites visited. The user can offer feedback
about his experience with the selected applications. Note that if the user doesn't want to share his browsing
experience he can tick the box in Figure 1.
|
|
Figure 1.
User enters the information he desires and can choose to run tests or offer feedback about
applications or websites.
|
Figure 2.
Tests are being performed that involve sending data back and forth between the mobile and our servers.
|
|
|
Figure 3.
Users can normally browse the Internet or access their usual applications.
|
Figure 4.
WindRider displays the list of applications and recently accessed web pages.
The user offers feedback regarding them.
|