A Content Distribution Network for PlanetLab

What is

CoDeeN is an academic testbed Content Distribution Network (CDN) built on top of PlanetLab by the Network Systems Group at Princeton University. This testbed CDN consists of a network of high-performance proxy servers. Currently, proxy servers have been deployed on many PlanetLab nodes. These proxy servers behave both as request redirectors and server surrogates. They cooperate with each other and collectively provide a fast and robust web content delivery service to CoDeeN users. A number of projects are related to CoDeeN, including the following:

How to Use

CoDeeN follows an opt-in model: to take advantage of CoDeeN's service, you need to make a small change to your browser's proxy configuration. Here are the steps for two common browsers.

[Disclaimer:] CoDeeN is still under development, and while we are striving to provide continual service, it may not always be as smooth as we would like. If you are interested in using CoDeeN, please bear with us when problems arise, and feel free to provide us with feedback on your experiences.

Before taking the following steps, you need to first pick a proxy server near you from this list and denote it as your-nearby-proxy. For example, Princeton users may choose Note: some PlanetLab sites are currently filtering port 3128, so if that port does not work, you should pick a different node or try ports 3127 or 3124.

Browser Internet Explorer Netscape Navigator
Setup Procedure
  • In the IE window, click menu item "Tools" → "Internet options..."
  • In the "Internet Options" dialog box, click "Connections" tab
  • In this "Connections" tab,
    • If you have a Local Area Network (LAN) connection, click "LAN Settings..." button at the right bottom.
    • If you have Dial-up or Virtual Private Network (VPN) connections, choose the connection you are using from the selection list at the top titled as "Dial-up and Virtual Private Network settings" and then click "Settings..." button on the right.
  • In either "Local Area Network (LAN) Settings" or "Dial-up and Virtual Private Network settings" pop-up box, find the "Proxy server" section, select "Use a proxy server..." and click on the Advanced button. In the field for an HTTP proxy, provide the name of your-nearby-proxy and set "Port" to 3128. Click OK.
  • Click "Advanced" button to specify using HTTP proxy only.
  • Click OK in the "Internet Options" box.
  • You are ready to use CoDeeN now.
  • In the Navigator window, click menu item "Edit" → "Preferences..."
  • In the pop-up "Preference" dialog box, on the left column, click "Advanced", then click "Proxies".
  • On the right column, select "Manual proxy configuration" and click "View..."
  • In the pop-up "Manual Proxy Configuration" dialogue box, on the first row labeled as "HTTP", set "Address of proxy server to use" to be your-nearby-proxy and "Port" to be 3128. Click OK.
  • Click OK in the "Preference" box.
  • You are ready to use CoDeeN now.
Illustration Step-by-step Step-by-step


You can get a list of current CoDeeN proxy servers and their status through this link:
CoDeeN proxies on PlanetLab


All CoDeeN publications can be found at the Network Systems Group's publication page

CoDeeN intro presented at the August 2003 MIT IRIS/PlanetLab meeting. Also in powerpoint format.

CoDNS presented at the October 2003 RPI PlanetLab meeting. Also in powerpoint format.

CoDeploy presented at the March 2004 HP Palo Alto PlanetLab meeting. Also in powerpoint format.

DARPA FTN meeting, Jan 2003 poster

CoDeeN runs on the PlanetLab global network testbed. PlanetLab has been supported in part by the National Science Foundation* (under grants 0101247, 0454278, 0335214) and by DARPA (under contract N66001-05-1-8902). Support is also provided by companies that join the PlanetLab Consortium.

*Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.


Vivek Pai
Larry Peterson
KyoungSoo Park

Limin Wang
Ruoming Pang


All accesses via CoDeeN are logged, mostly to aid in identifying abuse and other forms of damage control. We sometimes monitor these logs, report abuse, and release entries to aid in investigations. In case of suspicious traffic, we may access URLs from the logs to determine what kind of content is passing through our network. We are also using these logs in our own research, so they may be examined as needed for non-abuse reasons. For normal users, we do not expect that we will intentionally release any personally-identifying information. To prevent abuse, some sites have requested we pass along the client IP addresses, and these are included with every request forwarded to those sites.


We receive many queries about whether CoDeeN is an open proxy, and whether it is safe for the hosting institutions. CoDeeN uses semi-restricted proxies, with a number of protections against the abuse normally encountered by open proxies. Some of these are described below: