Project 3

Due - Thursday 3/8 - 4:35pm

The goal of Project 3 is to explore network connectivity on your device. You will first collect information on the latency, jitter, and loss seen by your device. You will then perform experiments to determine web page load time on your device. Finally, you will document your findings.

Part 1 - must be complete by Saturday 3/3

For part one of this project you will augment your Project 2 solution to use ping measure the following:

    1. Latency - the average round trip delay between your device and a destination.
    2. Loss - the percentage of ping messages for which you receive no reply from a destination.
    3. Jitter - the variation in latency for several consecutive measurements.

Hints:

    1. Android - On Android, you will need to execute the system ping command, see: http://stackoverflow.com/questions/9062182/android-icmp-ping Also, the developer of the Net Ping app for Android has a blog with some interesting information on his experience developing the app: http://qwapp.blogspot.com/
    2. iOS - On the Apple Developer site you will fine a SimplePing app that you may use for this project: https://developer.apple.com/library/mac/#samplecode/SimplePing/Introduction/Intro.html

Requirements:

    1. You will create a trend for each metric (latency, loss, and jitter).
    2. You will share all three trends with me.
    3. At each sample point you will send at least four ping packets. Latency will be calculated as the average response time for the four packets. Loss will be the percentage of pings for which you receive no response. Jitter will be the range of latencies (i.e., max-min). If you wish to use a more sophisticated measure for jitter, such as standard deviation, you may.
    4. You must complete this portion of the assignment by Saturday, 3/3 as you are required to use at least four full days of data for your writeup in part 3.

Part 2

For part two of this project you will conduct controlled experiments to measure web page load time on your device. You will measure the time it takes to load web pages on your device a la Figure 7 of the Huang et. al. paper, though you need not identify the different elements of the time period. You are not required to integrate this with the remainder of your project, but you are required to submit the code you used to fetch the page and time the response.

Requirements:

You will conduct at least two experiments where the parameter varied is related to the condition of the network. You may choose how to set up the experiments, but your setup must be clearly documented in your writeup in part 3. One option would be to measure the load time of the same page on a WiFi network and on a 3G network, using ping to verify that the response time is slower on one network than the other.

Part 3

For part three of this project you will produce a PDF document outlining your findings. The document must, at minimum, include the following:

    1. At least one graph detailing findings of four days of data collected from part 1. It is likely you will want to use more than one graph for this requirement. You are free to focus on a metric of your choosing, but you are expected to do at least some analysis of the data. One option would be to look at the latency, loss, and jitter of different networks (where IP address allows you to determine the network to which you are connected).
    2. At least one paragraph highlighting the findings of the graph of the part 1 results.
    3. A description of the experimental setup you used for part 2.
    4. A graph outlining the results of part 2.
    5. At least one paragraph highlighting the findings of the graph of the part 2 results.

Submission Instructions

    1. By the deadline, all code you wish to be considered must be checked in at https://www.cs.usfca.edu/svn/<username>/cs685
      1. If there is any ambiguity with regard to which directory contains the code to be graded for Project 3 you must include a readme file.
  1. By the deadline, you must have shared with me all of the trends you wish to be graded.
  2. By the deadline, you are required to check in to SVN the PDF document you produced for part 3.