|
A Scalable Large-File Transfer Service over HTTPBuilt on the CoDeeN content distribution network |
The CoBlitz system was a scalable content distribution network (CDN) on PlanetLab, which focused on transferring large files, such as video and software downloads. Its design was focused around breaking large files into smaller pieces, naming each piece with its own unique name, and then distributing these pieces among a set of cooperating Web proxies. This approach provided natural scalability, and unified the storage, processing power, and bandwidth of a set of cooperating machines.
At its peak, the CoBlitz CDN on PlanetLab ran on over 600 machines spread across over 200 PoPs, giving it a footprint larger than many commercial CDNs of its time. However, it was limited by the donated bandwidth of the PlanetLab network, which was typically less than 2-3 Gbps. The system used full-custom software written in C and C++, capable of handling tens of thousands of requests per second on modern hardware, but ran in only 100MB of memory per server on the PlanetLab system.
The CoBlitz system that runs on PlanetLab is now gradually closing down, but may have intermittent periods of activity. It ran in mostly-continuous operation from 2004-2011 on the PlanetLab system.
CoBlitz was spun out of Princeton as a commercial entity, CoBlitz LLC, in 2007. Its first commercial customer was Polish Telecom, which uses it for a country-wide CDN. CoBlitz LLC was acquired by Verivue, Inc. in October 2010, where it formed the basis of the OneVantage CDN. That company was acquired by Akamai in November 2012, and CoBlitz will become part of the Aura Licensed CDN that will be used by network operators.
The CoBlitz system was developed at Princeton by KyoungSoo Park and Vivek Pai. At the time, KyoungSoo was a graduate student, and Vivek was his advisor. KyoungSoo is currently the Ewon Associate Professor of Electrical Engineering at KAIST, the leading technical university of Korea. Vivek returned to Princeton after a short leave after the acquisition of CoBlitz LLC.
These are the main publications that describe the CoBlitz system and its components.
Scale and Performance in the CoBlitz Large-File Distribution Service
KyoungSoo Park and Vivek S. Pai.
In Proceedings of the 3rd Symposium on Networked Systems Design and Implementation (NSDI '06).
San Jose, CA, May 2006
CoDNS: Improving DNS Performance and Reliability via Cooperative Lookups
KyoungSoo Park, Vivek S. Pai, Larry Peterson and Zhe Wang.
In Proceedings of the Sixth Symposium on Operating Systems
Design and Implementation (OSDI '04).
San Francisco, CA, Dec 2004
CoMon: A Mostly-Scalable Monitoring System for PlanetLab
KyoungSoo Park and Vivek S. Pai
In Operating Systems Review, Vol 40, No 1, Jan 2006
Connection Conditioning: Architecture-Independent Support for Simple, Robust Servers
KyoungSoo Park and Vivek S. Pai.
In Proceedings of the 3rd Symposium on Networked Systems Design and Implementation (NSDI '06).
San Jose, CA, May 2006
CoDeploy: Deploying Large File Transfer on an HTTP Content Distribution Network
KyoungSoo Park and Vivek S. Pai.
In Proceedings of the First Workshop on Real, Large Distributed Systems (WORLDS '04).
San Francisco, CA, Dec 2004
(Re)Design Considerations for Scalable Large-File Content Distribution
Brian Biskeborn, Michael Golightly, KyoungSoo Park, and Vivek S. Pai.
In Proceedings of the Second Workshop on Real, Large Distributed Systems (WORLDS '05).
San Francisco, CA, Dec 2005
* Video flash crowd break CoBlitz previous BW record (9/28/2007)
Aggregate CoBlitz transfer rate reached 3.3 Gbps!
("M" in the graph means "Gbps")
* Port 80 Demux is deployed. (6/15/2007)
Now you can drop ":3125" in the coblitz prefix, that is, you can use http://coblitz.codeen.org/ instead of http://coblitz.codeen.org:3125/.
* CoBlitz users mailing list is open!(2/13/2007)
* Fedora Core 6 is being distributed through CoBlitz!(10/24/2006)
The 15-minute
average transmit bandwidth graph is shown below. CoBlitz achieved
1.44Gbps peak, and over 1Gbps sustained bandwidth during the first
two days of the FC6 release.
("M" in the graph means "Gbps")
* Our CoBlitz paper was published at NSDI '06.
* Fedora Core 5 is being distributed through CoBlitz!(3/20/2006)
Here is CoMon's 15 minutes
average of transmit bandwidth consumption of CoBlitz.
("k" in the graph means "Mbps",
so CoBlitz uses 400 ~ 700Mbps
aggregate bandwidth.)
* We are running a Fedora Core mirror using CoBlitz! (11/28/2005)
CoBlitz provides a means to scalably serve large files over an HTTP content distribution network. It requires no modification of clients or servers, since all of the necessary support is located on the content distribution network itself. While it is built using the CoDeeN network running on PlanetLab, it does not require you to actively use CoDeeN or to join PlanetLab.
You add the prefix http://coblitz.codeen.org/ to the
URL you want to serve, and CoBlitz
does the rest. The details can be found in our WORLDS'05
and NSDI'06
paper. CoBlitz uses the same
underlying infrastructure as CoDeploy,
but is being made available for public access. To give a high-level
description of how it operates:
This approach has several benefits:
CoBlitz currently has some usage restrictions while we are in beta testing. CoBlitz is not meant to be a general-purpose hosting service, and these restrictions limit it intentionally
You can easily make a CoBlitz link out of a regular link. The canonical form is
http://coblitz.codeen.org/Original_URL
Note that the original URL can either contain "http://" or not. (wget complains if you include "http://" in the orignal URL. So, when you use wget, please either use "\" in the second "http://" like "http://coblitz.codeen.org/http:\/\/original_url", or strip off the second "http://", like "http://coblitz.codeen.org/original_url".)
Example:
http://coblitz.codeen.org/www.cs.princeton.edu/~kyoungso/bigfile.zip
Warning:
wget(or similar tool) users should not include any option(or
header) that disables caching. For example, specifying
"--cache=off" will disable caching in CoBlitz and all the requests will go directly
to the origin server, possibly causing DDoS attacks!
News(11/30/2005):
To work around this in our part, we have CoBlitz drop all Pragma headers at the time of
receiving the request. But CoBlitz
still supports the "max-age" directive in the Cache-Control header,
so you can specify the maximum age of the contents. For example,
'Cache-Control: max-age=0' means you want CoBlitz to fetch the contents from the origin
server. Please avoid it if not necessary.
'Cache-Control: max-age=300' means you are fine with the cached
content as long as it is five minutes or less
CoBlitz serves as Fedora Core mirror for six different locations around the world. Please try out Fedora Core image downloading through CoBlitz.