Proddle is a distributed network measurement project running at Colorado State University in the Network Security research group. The aim of the project is to perform periodic service level measurements from geographically diverse vantage points to determine domain availability and similar networking failures. There are many well established projects actively probing the Internet. While Proddle offers the ability to perform network level measurements (ping, traceroute, etc) we propose analyzing a higher layer to closer mimic user interaction. Therefore, in additon to performing network layer measurements provided by existing infrastructure, we'll provide the ability to perform much more versatile measurements.
Currently all of our vantages are hosted on Microsoft's Azure cloud infrastructure under a generous research sponsorship. We are very interested in deploying additional instances.
As a research centric project all measurement results are made publicly available. We believe this is a dataset that's currently unavailable to the broader community and has the potential to spark new and interesting research initiatives.
As stated previously, all results are stored in JSON format. This allows for an unparalleled level of verbosity. Our current HTTP GET measurement stores application layer latency, DNS resolution, redirect count, reply content, HTTP status codes, URL redirects and much more.
There are many ways for interested parties to aid this effort. The most obvious being deploying a vantage point locally. As the project is in it's infancy this is a fairly manual process, but intial efforts at containerizing the application using docker have been met with success. Another mutually useful effort would be to use the data for interesting research. Currently, all measurement results are stored as JSON, alas we are quite open to providing alternative formats on request. Any additional thoughts on increasing the communites scope of the project will be well recieved.
The architecture is covered extesively in the documentation section. Alas a brief description will be provided here. Our backend is run by MongoDB. It is a very interesting project that stores information in JSON documents. Additionally it provides data replication and sharding required of most modern database deployments. On top of that we have implemented a very lightweight bridge application to transport data from vantages to the backend. A bridge acts as a passive entity, meaning all communication is initiated by the vantage points. The final component is the vantage point. It's purpose is to actively perform measurements and relay results to bridges. It should be noted that implementation is such that multiple bridges will be running over a MongoDB replication cluster. Therefore the system has a fail-safe in the case of unreachability.
The team currently consists of researchers at Colorado State University in the Network Security group. We are very open to collaborative efforts and urge all interested parties to contact us.