There are many facets to PlanetLab. This page outlines several of them. In addition to this brief overview, the best way to learn about PlanetLab is to read the following three papers:
The first gives the original vision for PlanetLab, the second articulates the design principles that shape its architecture, and the third reports experiences building and operating PlanetLab. Additional information is available as PlanetLab Design Notes (PDNs).
A collection of machines distributed over the globe
Most of the machines are hosted by research institutions, although some are located in co-location and routing centers (e.g., on Internet2's Abilene backbone). All of the machines are connected to the Internet. The goal is for PlanetLab to grow to 1,000 widely distributed nodes that peer with the majority of the Internet's regional and long-haul backbones.
A software package
All PlanetLab machines run a common software package that includes a Linux-based operating system; mechanisms for bootstrapping nodes and distributing software updates; a collection of management tools that monitor node health, audit system activity, and control system parameters; and a facility for managing user accounts and distributing keys. This software is distributed as a package, called MyPLC, which others can use to build and deploy their own "private PlanetLabs."
The key objective of the software is to support distributed virtualization—the ability to allocate a slice of PlanetLab's network-wide hardware resources to an application. This allows an application to run across all (or some) of the machines distributed over the globe, where at any given time, multiple applications may be running in different slices of PlanetLab.
An overlay network testbed
One of PlanetLab's main purposes is to serve as a testbed for overlay networks. Research groups are able to request a PlanetLab slice in which they can experiment with a variety of planetary-scale services, including file sharing and network-embedded storage, content distribution networks, routing and multicast overlays, QoS overlays, scalable object location, scalable event propagation, anomaly detection mechanisms, and network measurement tools. There are currently over 600 active research projects running on PlanetLab.
The advantage to researchers in using PlanetLab is that they are able to experiment with new services under real-world conditions, and at large scale. The example services outlined above all benefit from being widely distributed over the Internet: from having multiple vantage points from which applications can observe and react to the network's behavior, from being in close proximity to many data sources and data sinks, and from being distributed across multiple administrative boundaries.
A deployment platform
In addition to supporting short-term experiments, PlanetLab is also designed to support long-running services that support a client base. That is, rather than view PlanetLab strictly as a testbed, we take the long-term view in which the overlay is both a research testbed and a deployment platform, thereby supporting the seamless migration of an application from early prototype, through multiple design iterations, to a popular service that continues to evolve.
Using an overlay as both a research testbed and a deployment platform is synergistic. As a testbed, the overlay's value is to give researchers access to
Its value as a deployment platform is to provide researchers with a direct technology transfer path for popular new services, and users with access to those new services. We believe that supporting both roles is critical to the success of the system.
Services currently running continuously on PlanetLab include the CoDeeN and Coral CDNs; the ScriptRoute network measurement service; the Chord and OpenDHT a scalable object location services; and the PIER, Trumpet, and CoMon network monitoring services.
A microcosm of the next Internet
Not only are researchers evaluating and deploying end-user services on top of PlanetLab, but we also expect them to develop foundational sub-services that can be folded back in to PlanetLab, thereby enhancing the facility for others. Our long-term goal is to identify the common building block services upon which other services and applications can be constructed, or said another way, our goal is to understand how the Internet can be architected to better support overlays.
This perspective is motivated by the general question of how the networking research community can best impact the global Internet. Unfortunately, the very commercial success that has fueled our increased dependency on the Internet has also reduced our ability to evolve its underlying architecture to meet new demands and correct emerging vulnerabilities. This is because, as a recent National Research Council report notes,
...successful and widely adopted technologies are subject to ossification, which makes it hard to introduce new capabilities or, if the current technology has run its course, to replace it with something better. Existing industry players are not generally motivated to develop or deploy disruptive technologies...
Overlay networks provide an opportunity to introduce disruptive technologies. Overlay nodes can be programmed to support the new capability or feature, and then depend on conventional nodes to provide the underlying connectivity. Over time, if the idea deployed in the overlay proves useful, there may be economic motivation to migrate the functionality into the base system, that is, add it to the feature set of commercial routers. On the other hand, the functionality may be complex enough that an overlay layer may be exactly where it belongs. Our overarching goal is to support the introduction of disruptive technologies into the Internet through the use of overlay networks. PlanetLab is an essential element of this vision.
The PlanetLab Consortium is a collection academic, industrial, and government institutions cooperating to support and enhance the PlanetLab overlay network. It is responsible for the long-term growth of PlanetLab's hardware infrastructure; designing and evolving its software architecture; providing day-to-day operational support; and defining policies that govern appropriate use. For more information about the PlanetLab Consortium, click here.