Image: ESA - C.Carreau (SEMPDN9OY2F)
Overview | Download | Publications | Documentation | Contact

SatelliteLab: Adding Heterogeneity to Planetary-Scale Network Testbeds

SatelliteLab is a network testbed that allows researchers to study the characteristics of the Internet, and to test and evaluate new distributed systems. Unlike other testbeds, anyone can contribute to SatelliteLab by hosting a satellite, e.g., on a home machine, workstation, PDA, or cellphone. Satellites use their machine's spare network capacity to exchange probe packets with other testbed nodes, but they do not run any third-party code. Thus, there is little security or privacy risk in running a satellite.

If you would like to learn more about SatelliteLab, please have a look at our publications; we have a paper that explains in detail how SatelliteLab works. SatelliteLab is part of the Internet Access Networks project, which is hosted by MPI-SWS.

Would you like to contribute a satellite?

Contributing resources to a SatelliteLab experiment is easy - all you need to do is install the satellite software on your computer. We are offering easy-to-install packages for several operating systems. Please choose your operating system below:

Windows Linux OS X Java

Would you like to run an experiment on SatelliteLab?

If you have a new distributed system that you would like to evaluate using SatelliteLab, here is what you need to do:

  1. Recruit some satellite nodes. These should be representative of the environment in which your system will be deployed later. For example, if your system is for home users, you need to get home users to contribute satellites - e.g., by asking some of your students, colleagues, friends, or family members, and by pointing them to this web page. You could also share some of the nodes from our testbed at MPI-SWS.

  2. Get access to some planet nodes. These will be running your software and therefore need to be powerful, well-connected nodes. They should also be close to the satellite nodes you've recruited, and you need to have root access. For our own experiments, we have been using nodes from the PlanetLab testbed.

  3. Install SatelliteLab and your own software on the planet nodes. You need to write a small configuration file, and you need to run a daemon program on each node. We have a tutorial that explains the necessary steps.

Unless your software uses raw network I/O or a non-standard socket library, your experiment should now be ready to go - you do not need to modify the code or compile a special binary. Generally, if your experiment works on PlanetLab, it should also work on SatelliteLab. For more information, please have a look at the documentation and at the SatelliteLab paper.

© 2024 The Max Planck Institute for Software Systems
Imprint | Data Protection