How to Use Coral Content Distribution Network (CoralCDN)

by -

Digg, Slashdot, Fark, etc. are examples of some link-heavy sites where you open a certain page and hit ‘Refresh’ button number of times. Why? Because, the page loads at a very slow speed. Sometimes you even get an error 404.  All this occurs due to thousands and millions of requests from users who also want to access the same site.

Hitting a refresh button over and over again can be quite annoying at times. Therefore, a web developer, Michael Freedman has designed a software which resolves the issue. The software is called CoralCDN or Coral Content Distribution Network.

What is CoralCDN?

I knew this even before when I started my career in blogging and devoting myself to the cyber world, but it is best to know what CoralCDN really means from the developer itself as the best source.

“CoralCDN (Coral Content Distribution Network) is a free and open content distribution based around peer-to-peer technologies, comprised of world-wide network of web proxies and name-servers. It allows user to run a web site that offers high performance and meets huge demand.” – Coral site.

It is a decentralized, self-organizing distribution network. It leverages the aggregate bandwidth of volunteers running the software to absorb and dissipate most of the traffic for web site using the system. With this, CoralCDN replicates content of your website in proportion to the content’s popularity, regardless of publisher’s resources in effect of democratizing content publication.

It is also known by names like Coral, Coral Cache or simply CoralCDN which as said is used to avoid the Slashdot Effect or to reduce the general load on websites servers.

How to use CoralCDN?

Using Coral Cache or CoralCDN is quite easy and it helps you to resolve issues that I have mentioned above like “down-severs”, error messages or slow page loading speed.

This simple guide explains you what to add to configure your file to take advantage of using CoralCDN cache. This is very easy just add “.nyud.net” at the end of a certain link or domain.

For more clear instruction, take a look at the Wikipedia entry from the developer:

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

Caching is a place where something is stored temporarily. And by default content is cached for 12 hours. However Coral Cache builds its cache automatically by requesting the content from the server. Therefore, everything is not convertible unless you have enabled your {mod_redirect} configuration.

How to Configure File?

To configure a file, test if Coral Cache answers the redirect requests and load the site content. You need to enable the mod_redirect command:

server.modules = ( "mod_redirect" )

Now, here are the meat and potatoes of the code for a single hostname only: *

# make sure this isn't CoralCache requesting content
$HTTP["useragent"] !~ "^CoralWebPrx" {
# make sure that this wasn't sent back to us from CoralCache
$HTTP["querystring"] !~ "(^|&)coral-no-serve$" {
url.redirect = ( "^/.*" => "http://www.example.com.nyud.net$0" )
 }
}

If you want to do this for a number of hostnames at once, you may use this:

# make sure this isn't CoralCache requesting content
$HTTP["useragent"] !~ "^CoralWebPrx" {
 # make sure that this wasn't sent back to us from CoralCache
$HTTP["querystring"] !~ "(^|&)coral-no-serve$" { 
 # capture hostname $HTTP["host"] =~ "^[^:]*"
{ url.redirect = ( "^/.*" => "http://%0.nyud.net$0" ) }
}
}

*The codes are tips I learned from freenode#httpd, to test server redirection.

I hope I have helped you to better understand the Coral Content Distribution Network and how to use and implement it.

An entrepreneur by birth, blogger by choice, and geek by heart. He founded Sprouts Media, a blogs network company which currently own over 10 popular web properties, to cater his passion of blogging and entrepreneurship. He is also known as an avid reader, technology enthusiast, explorer, and a broken lover. His passion for knowledge keeps him running all the time. He loves to write about Technology and Social issues on his blogs.
  • http://www.limonbay.com/ Piercing

    Is it possible that after implementing Coral CDN a site goes slower than before? I thought that the DNS always decided the fastest source and then called it but checking in a test website I see that some parts are served by the original server and other from Coral CDN. Do you know if the criteria to decide which part is served relies on the speed of the closest available source? Thanks!