Bienvenido! - Willkommen! - Welcome!

Bitácora Técnica de Tux&Cía., Santa Cruz de la Sierra, BO
Bitácora Central: Tux&Cía.
Bitácora de Información Avanzada: Tux&Cía.-Información
May the source be with you!

Thursday, June 11, 2009

Coral Content Distribution Network

The Coral Content Distribution Network, sometimes called Coral Cache or Coral, is a free peer-to-peer content distribution network. Coral uses the bandwidth of volunteers to mirror web content, often to avoid the Slashdot Effect or to reduce the load on websites in general.

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 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 (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 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.

A website can be accessed through the Coral Cache by adding to the hostname in the site's URL, resulting in what is known as a 'coralized link'. So, for example, becomes

The project has been in an open beta testing phase since March 2004, during which it has been hosted on PlanetLab, a large scale distributed research network of 400 servers but not, as ultimately intended, 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.
Coral Cache gained notoriety in the aftermath of the 2004 Indian Ocean earthquake, when it was used to allow access to otherwise inaccessible videos of the resulting tsunami.

Some web filtering software packages, such as Websense and OpenDNS, block access to the Coral Cache as it is seen as a form of proxy avoidance.

See also

External links

No comments: