BibTeX

@inproceedings{McNamara2015:CheesePi,
  author = {MacNamara, Liam and Marsh, Ian},
  title = {{CheesePi: A Raspberry Pi based measurement platform}},
  booktitle = {IRTF and ISOC Workshop on Research and Applications of Internet Measurements (RAIM)},
  year = 2015,
  month = Dec
}

A lightweight measurement platform for Internet media events

A short CheesePi paper

This paper presents the ongoing work within the CheesePi project. CheesePi is a lightweight platform written in Python with the goal of performing multimedia measurements from within users’ homes. By leveraging the Raspberry Pi multimedia content can be played directly connected to their HDMI display devices. The real usefulness of CheesePi, however, stems from networking the Pis and performing measurements in parallel to and from several locations. We have recorded three popular media events to show this idea and report on them in this paper. Additionally, where we need control of both sides of a connection, we have performed CheesePi to CheesePi measurements for VoIP, client-server, iperf and grouping experiments.

Master’s thesis

Biniam Guulay

CheesePi: Measuring Home Network Performance Using Dedicated Hardware Devices

Internet users may not get the service quality promised by their providers, and also may not know what service they can receive. When users experience poor Internet connection performance, it is not easy to identify the source of the problem. We develop CheesePi, a distributed measurement system that measures the Internet connection experience of home users based on some network performance attributes (e.g. latency, packet loss rate, and WiFi signal quality). The CheesePi runs on a Raspberry Pi (a credit card sized computer) connected to the user’s home network as a measurement agent. It is important to measure the network performance from the user’s side since it is difficult to measure each individual’s link from the operator (provider) side. Each measurement agent conducts measurement periodically without disturbing the user’s Internet quality. Measurements are conducted during big media events from SICS (Swedish Institute of Computer Science) labs and student accommodations. The measurement results show customers with an Ethernet connection experienced significantly better latency and packet loss compared to WiFi users. In most of the measurements, users at SICS lab perceived better latency and packet loss compared to the users at the student accommodation. We also quantify how customers experienced lower performance when streaming from websites which do not use CDN technology compared to the websites which do use CDN, particularly during big media events.

Thesis

Rebecca Portelli

CheesePi: Delay Characterization through TCP-based Analysis from End-to-End Monitoring (2016)

With increasing access to interconnected IP networks, people demand a faster response time from Internet services. Traffic from web browsing, the second most popular service, is particularly time-sensitive. This demands reliability and a guarantee of delivery with a good quality of service from ISPs. Additionally, the majority of the population do not have the technical background to monitor the delay themselves from their home networks, and their ISPs do not have a vantage point to monitor and diagnose network problems from the users’ perspective.

Hence, the aim of this research was to characterise the “in-protocol” network delay encountered during web browsing from within a LAN. This research presents TCP traffic monitoring performed on a client device as well as TCP traffic monitoring over both the client and the server devices separately observing an automated web client/server communication. This was followed by offline analysis of the captured traces where each TCP flow was dissected into: handshake, data transfer, and teardown phases. The aim behind such extraction was to enable characterisation of network round-trip delay as well as network physical delay, end host processing delay, web transfer delay, and packets lost as perceived by the end hosts during data transfer.

The outcome of measuring from both end devices showed that monitoring from both ends of a client/server communication results to a more accurate measurement of the genuine delay encountered when packets traverse the network than when measuring from the client-end only. Primarily, this was concluded through the ability to distinguish between the pure network delay and the kernel processing delay experienced during the TCP handshake and teardown. Secondly, it was confirmed that the two RTTs identified in a TCP handshake are not symmetrical and that a TCP teardown RTT takes longer than the TCP handshake RTT within the same TCP flow since a server must take measures to avoid SYN flooding attacks. Thirdly, by monitoring from both end devices, it was possible to identify routing path asymmetries by calculating the physical one-way delay a packet using the forward path in comparison to the physical delay of a packet using the reverse path. Lastly, by monitoring from both end devices, it is possible to distinguish between a packet that was actually lost and a packet that arrived with a higher delay than its subsequent packet during data transfer. Furthermore, utilizing TCP flows to measure the RTT delay excluding end host processing gave a better characterisation of the RTT delay as opposed to using ICMP traffic.excluding end host processing gave a better characterisation of the RTT delay as opposed to using ICMP traffic.

Thesis

Sagar Sharma

CheesePi: Measuring Home Network Performance Using Dedicated Hardware Devices (2017)

Internet users may not get the service quality promised by their providers, and also may not know what service they can receive. When users experience poor Internet connection performance, it is not easy to identify the source of the problem. We develop CheesePi, a distributed measurement system that measures the Internet connection experience of home users based on some network performance attributes (e.g. latency, packet loss rate, and WiFi signal quality). The CheesePi runs on a Raspberry Pi (a credit card sized computer) connected to the user’s home network as a measurement agent. It is important to measure the network performance from the user’s side since it is difficult to measure each individual’s link from the operator (provider) side. Each measurement agent conducts measurement periodically without disturbing the user’s Internet quality. Measurements are conducted during big media events from SICS (Swedish Institute of Computer Science) labs and student accommodations. The measurement results show customers with an Ethernet connection experienced significantly better latency and packet loss compared to WiFi users. In most of the measurements users at the SICS lab perceived better latency and packet loss compared to the users at the student accommodation. We also quantify how customers experienced lower performance when streaming from websites which do not use CDN technology compared to the websites which do use CDN, particularly during big media events.

Thesis

Gustaf Lindstedt

Efficient Scheduling of Peer to Peer Measurements

With the growing dependency on Internet connectivity in our daily lives, monitoring connection quality to ensure a good quality of service has become increasingly important. The CheesePi project aims to build a platform for monitoring connection quality from the home user’s perspective. And with peer to peer technologies becoming more prevalent the need for quality of service monitoring between peers become more important. This thesis analyses the problem of scheduling connection quality measurements between peers in a network. A method is presented for scheduling measurements which make use of statistical models of the individual links in the network based on previous measurement data. The method applies the ADWIN1 adaptive windowing algorithm over the models and decides a priority based on the relative window sizes for each link. This method is evaluated against a round-robin scheduler through simulation and is shown to provide a better scheduling than round robin in most cases in terms of achieving the most “information gain” per measurement iteration. The results show that for sudden changes in a network link the scheduler prioritizes measurements for that link and therefore converge its view of the network to the new stable state more quickly than when using round-robin scheduling. The scheduling method was developed to be practically applicable to the CheesePi project and might effectively be deployed in real systems running the CheesePi platform. The thesis also contains an evaluation of two online algorithms for mean and variance as to how they react to change in the data source from which the samples are taken.

Thesis

Internetfonden dashboard

CheesePi is a network measurement system that objectively characterises the service users experience from their home broadband connections. Many Internet monitoring systems already exist, some with a focus on home users, however, they focus mainly on collecting network-wide information without consideration for providing utility to the person actually hosting the measurement node. We believe that to encourage participation in home broadband measurement systems a node should be as useful as possible to the host, no matter their technical expertise. Through this proposal we will research and develop features, primarily through an informative and easy-to-use visual interface, enabling easy monitoring and diagnostics of a person’s home internet connection.

Unfortunately, for members of the public without specialist networking knowledge, problems with their home broadband connection can be mysterious and hard to describe. Indeed, even for network engineers, it can be hard to notice, quantify and record transient problems. To this end, we have built a measurement platform that captures low-level network details, behaviour and service. The platform runs on Raspberry Pis, an extremely popular hobbyist credit-card sized computer. The use of small, cheap, commodity hardware (Raspberry Pis) as monitoring nodes enables easy, flexible and widespread deployment. Over 2 million people already own one, and can simply install our software on it. The system periodically measures and records various attributes of their connectivity, e.g. delay, packet loss, capacity and local wireless signal strength.

Understanding the raw recorded data is not a simple task and, if not carefully presented, requires specialist knowledge. The aim of this project is to create an informative and useful “dashboard” for non-expert users to view the health of their connection. Such an interface would allow users to instantaneously observe how their Internet connection is currently functioning and how its attributes have been changing over time. The project will provide an opportunity for people to move beyond a naive understanding of “connected” and “disconnected” to the Internet towards a more nuanced appreciation.

The results of the measurement system will be high-quality longitudinally measures of Swedish broadband service in a free, neutral and unbiased manner with a focus on gauging Quality of Experience. The resulting network data will be analysed and collated then used to monitor the performance of Swedish infrastructure (e.g. ISP networks and DNS resolution). 

Report