Coral Content Distribution Network
Encyclopedia
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 general load on website
s servers in general.
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 table
s (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 millisecond
s 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.
in the site's URL
, resulting in what is known as a 'coralized link'. So, for example,
becomes
Any additional address component after the hostname remains after
becomes
For websites that use a non-standard port, for example,
becomes
, 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-400 PlanetLab servers are currently running CoralCDN. The source code
is freely available under the terms of the GNU GPL.
Coral Cache gained widespread recognition in the aftermath of the 2004 Indian Ocean earthquake
, when it was used to allow access to otherwise inaccessible videos of the resulting tsunami.
and OpenDNS
, block access to the Coral Cache as it is seen as a form of proxy avoidance. Many anti-virus and Internet Security software packages, such as Trend Micro Internet Security
, also block access to the Coral Cache as it is seen as a mask for dangerous URLs.
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
peer-to-peer
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...
content distribution network designed and operated by Michael Freedman. Coral uses the bandwidth
Bandwidth (computing)
In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measure of available or consumed data communication resources expressed in bits/second or multiples of it .Note that in textbooks on wireless communications, modem data transmission,...
of a world-wide network of web proxies and nameservers to mirror web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
content, often to avoid the Slashdot Effect
Slashdot effect
The Slashdot effect, also known as slashdotting, occurs when a popular website links to a smaller site, causing a massive increase in traffic. This overloads the smaller site, causing it to slow down or even temporarily close. The name stems from the huge influx of web traffic that results from...
or to reduce the general load on website
Website
A website, also written as Web site, web site, or simply site, is a collection of related web pages containing images, videos or other digital assets. A website is hosted on at least one web server, accessible via a network such as the Internet or a private local area network through an Internet...
s 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 nodesNode (networking)
In communication networks, a node is a connection point, either a redistribution point or a communication endpoint . The definition of a node depends on the network and protocol layer referred to...
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 table
Distributed hash table
A distributed hash table is a class of a decentralized distributed system that provides a lookup service similar to a hash table; pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key...
s (DHTs), each ring representing a wider and wider geographic range (or rather, ping
Ping
Ping is a computer network administration utility used to test the reachability of a host on an Internet Protocol network and to measure the round-trip time for messages sent from the originating host to a destination computer...
range). The DHTs are composed of nodes all within some latency of each other (for example, a ring of nodes within 20 millisecond
Millisecond
A millisecond is a thousandth of a second.10 milliseconds are called a centisecond....
s 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 hostnameHostname
A hostname is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, e-mail or Usenet...
in the site's URL
Uniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....
, 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 PlanetLabPlanetLab
PlanetLab is a group of computers available as a testbed for computer networking and distributed systems research. It was established in 2002 by Prof. Larry L. Peterson, and as of June 2010 was composed of 1090 nodes at 507 sites worldwide...
, 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-400 PlanetLab servers are currently running CoralCDN. The source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
is freely available under the terms of the GNU GPL.
Coral Cache gained widespread recognition in the aftermath of the 2004 Indian Ocean earthquake
2004 Indian Ocean earthquake
The 2004 Indian Ocean earthquake was an undersea megathrust earthquake that occurred at 00:58:53 UTC on Sunday, December 26, 2004, with an epicentre off the west coast of Sumatra, Indonesia. The quake itself is known by the scientific community as the Sumatra-Andaman earthquake...
, when it was used to allow access to otherwise inaccessible videos of the resulting tsunami.
Problems
Some web filtering tools, such as WebsenseWebsense
Websense is a San Diego-based company specializing in Web security gateway software. It enables clients to block access to chosen categories of websites.-History:Websense was founded by Phil Trubey in 1994...
and OpenDNS
OpenDNS
OpenDNS is a DNS resolution service. OpenDNS extends DNS adding features such as misspelling correction, phishing protection, and optional content filtering...
, block access to the Coral Cache as it is seen as a form of proxy avoidance. Many anti-virus and Internet Security software packages, such as Trend Micro Internet Security
Trend Micro Internet Security
Trend Micro Internet Security is an antivirus/Internet security program developed by Trend Micro...
, also block access to the Coral Cache as it is seen as a mask for dangerous URLs.