Coral Content Distribution Network
Developer(s) | Michael Freedman |
---|---|
Initial release | 2004 |
Development status | Inactive [1] |
Operating system | Cross-platform (web-based application) |
Type | P2P Web cache |
Website | www.coralcdn.org |
The Coral Content Distribution Network, sometimes called Coral Cache or Coral, is a free peer-to-peer content distribution network designed and operated by Michael Freedman. Coral uses the bandwidth of a world-wide network of web proxies and nameservers to mirror web content, often to avoid the Slashdot Effect or to reduce the load on websites servers in general.
Operation
One of Coral's key goals is to avoid ever creating 'hot spots' of very high traffic, as these might dissuade volunteers from running the software out of a fear that spikes in server load may occur. It achieves this through an indexing abstraction called a distributed sloppy hash table (DSHT); DSHTs create self-organizing clusters of nodes which 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 (for example, 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. In other words, if the two top-most rings are experiencing too much traffic, a node will just ping closer ones: when a node that is overloaded is reached, upward progression stops. This minimises the occurrence of hot spots, with the disadvantage that knowledge of the system as a whole is reduced.
Requests from users are directed to a relatively close node, which then finds the file on the coral DSHT and forwards it to the user.
Usage
A website can be accessed through the Coral Cache by adding .nyud.net
to the hostname in the site's URL, resulting in what is known as a 'coralized link'. So, for example,
http://example.com
becomes
http://example.com.nyud.net
Any additional address component after the hostname remains after .nyud.net
; hence
http://example.com/folder/page.html
becomes
http://example.com.nyud.net/folder/page.html
For websites that use a non-standard port, for example,
http://example.com:8080
becomes
http://example.com.8080.nyud.net
History
The project has been deployed since March 2004, during which it has been hosted on PlanetLab, a large-scale distributed research network of several hundred servers deployed at universities world wide. It has not, as originally intended, been deployed by third-party volunteer systems. About 300 to 400 PlanetLab servers are currently running CoralCDN. The source code is freely available under the terms of the GNU GPL.
As of August 2012, it was confirmed that active development has been "stopped for a while", although the CDN itself would continue to operate. [1]
As of April 2015, *.nyud.net
has stopped resolving, rendering the CDN non-functional. The project website is still up, but does not appear to have been updated recently.
See also
References
External links
- CoralCDN Project
- Academic paper (NSDI 04) describing CoralCDN
- Design of CoralCDN
- Michael Freedman's academic homepage