OpenCDN 0.7.7a

OpenCDN is a tool that concerns the development of an application-level Content Delivery Network.
  1 Screenshot
OpenCDN is a tool that concerns the development of an application-level Content Delivery Network, suitable for replication and splitting of live and recorded multimedia content.

It is written in Perl, and interfaces a Relay technology (which splits incoming media packets for each downstream flow) with a control plane, allowing for remote control of content delivery. Media distribution is hierarchically arranged among participating Nodes, by the aid of a centralized control unit named Request Routing and Distribution Management (RRDM), also written in Perl.

Content providers can register metadata describing their contributions, and find it distributed by OpenCDN. Communication in between RRDM and Nodes, and in between Nodes, is performed by XML-RPC calls.

Provided that a sufficient number of Relay nodes are scattered in between the source and the destinations, media can be efficiently distributed to a very large number of clients, without severe network and server requirements, actually performing an Application Level Multicast content routing. In particular, first and last mile will be crossed only once.

The code is modular and allows for easy porting to different Relay technologies: the original development was based on Darwin Streaming Server by Apple, and later it has been adapted to Helix Universal Server by Real.

What's New in This Release:

Content Provider Kit (CPK)

This is the name of the new tarball containing only the code needed by the origin entity, explicitly targeted for VideoLAN use, and offering a web-based configuration and operation interface
Install script updated for CPK, setting the $is_cpk flag in, setting VLC SUID bit for allowing the use of port 554, and creating a tmp dir
Origin don't spawns a re-registration child if first registration fails; instead, Web interface suggests to ask for credentials at the OpenCDN site.
When a "restart Origin" command is issued via web, the restart_origin sub prepares a bash script which does a 'killall' and then launches Origin again
After the Origin is restarted by the CPK, the original terminal looses control on it, so Origin is made killable by the CPK itself
Origin own IP address is auto-sensed, by looking for the interface on the same subnet of the default gateway. The code is in CommLib::get_ip_addr, and will be re-used by the other entities
CPK has been made compatible with the WebTV service operated at, and CPK is co-located and WebTV is active, it is killed
Some new Perl modules have been added: File-MMagic-1.27, MIME-Types-1.16, HTTP-Server-Simple-0.20,

VideoLAN Adaptation Layer

New module launches a VideoLAN process, and controls it by the VLC telnet interface
Net-Telnet-3.03 Perl module has been added
Added support for "v" transport (which means VideoLAN)


Added embedded player in response page
Available Contents select in the request page has been replaced by a table with radio buttons


Darwin adaptation layer now correctly detects a wrong password
Two major changes in PYTE handling:
1. variable $use_pyte is not in any longer.
Instead it is now in
2. $use_pyte doesn't need to be configured at node level anymore. The
RRDM takes care of it all, informing nodes at registration time about
the status of $use_pyte. Also, function find_best in now
receives one more parameter, that is $use_pyte

last updated on:
November 18th, 2007, 7:59 GMT
license type:
GPL (GNU General Public License) 
developed by:
Alessandro Falaschi
ROOT \ System \ Clustering and Distributed Networks
Download Button

In a hurry? Add it to your Download Basket!

user rating 12



Rate it!

Add your review!