Coral Content Distribution Network
From Wikipedia, the free encyclopedia
The Coral Content Distribution Network, sometimes called Coral Cache or Coral for short, is a free peer-to-peer content distribution network designed to mirror web content. Coral uses the bandwidth of volunteers to avoid slashdotting and to reduce the load on websites and other web content providers in general. This leverages the bandwidth of the participating Coral nodes as proxy servers, so it is similar to a distributed web proxy.
To access a website through the Coral cache (and thus reduce the load on the site and use the Coral network instead), simply add .nyud.net:8080
to the hostname in the site's URL. So, for example, http://en.wikipedia.org/wiki/Main_Page
becomes http://en.wikipedia.org.nyud.net:8080/wiki/Main_Page. The latter is known as a coralized link. Originally, the port was 8090, but port 8080 was added in 2006. Port 8090 is still functional, but has since been deprecated by the organization. Coral aims to implement use on port 80 (the standard HTTP port) in the near future.[1]
One of Coral's key goals is to avoid ever creating hot spots that might dissuade volunteers from running the software for fear of load spikes. It achieves this through an indexing abstraction called a distributed sloppy hash table (DSHT); DSHTs create self-organizing clusters of nodes that fetch information from each other to avoid communicating with more distant or heavily-loaded servers.
The sloppy hash table refers to the fact that coral is made up of concentric rings of distributed hash tables (DHTs), each ring representing a wider and wider geographic range (or rather, ping range). The DHTs are composed of nodes all within some latency of each other (say a ring of nodes within 20 milliseconds of each other). It avoids hot spots (the 'sloppy' part) by only continuing to query progressively larger sized rings if they are not overburdened — i.e. if there are many hits to the top-most two rings, it will just ping the close ones, when it reaches a hit that is overloaded it stops progressing upward. This therefore decreases hot spots while at the same time limiting the amount of global knowledge. The contributions of this work are the DSHT, which are avoiding hot spots (sloppy queries), and the concentric rings.
Users who access the system are referred to a relatively close member of the system, which then finds the file on the coral DHT and forwards it to the user.
The project has been in an open beta testing phase since March 2004. During beta testing, the Coral node network is hosted on PlanetLab, a large scale distributed research network of 400 servers, instead of third party volunteer systems. Of those 400 servers, about 275 are currently running Coral. The source code is freely available under the terms of the GNU GPL.
[edit] See also
- Dijjer
- Codeen Cache system
- Content Delivery Network
[edit] External links
- Coral, project of the NYU Secure Computer Systems group