OpenCDN is an application-level Content Delivery Network tool. It facilitates the development of CDN-based applications by optimizing network performance and enhancing user experiences.
Furthermore, OpenCDN implements a hierarchical arrangement of media distribution among participating Nodes using an advanced Request Routing and Distribution Management (RRDM) control unit, which is also written in Perl. This system enables content providers to register metadata to describe their contributions, which is then distributed by OpenCDN to all relevant parties.
The communication procedures between RRDM and Nodes, as well as among Nodes themselves, are conducted using XML-RPC calls. If a sufficient number of Relay nodes are present between the source and destination, the media can be efficiently distributed to a large number of clients without significant network or server requirements. This process is akin to performing an Application Level Multicast content routing where the first and last mile are crossed only once.
OpenCDN features modular coding and allows for easy porting to different Relay technologies. Initially, the development of OpenCDN was based on Darwin Streaming Server by Apple, and later, it was adapted for Helix Universal Server by Real.
The latest release of OpenCDN includes various new features such as the Content Provider Kit (CPK), which is a specialized tarball containing only the code needed by the origin entity explicitly targeted for VideoLAN use. The CPK comes with a web-based configuration and operation interface, and its installation script has been updated to include new features such as setting the $is_cpk flag in OriginConfig.pm, setting VLC SUID bit for allowing the use of port 554, and creating a tmp dir.
Other new features in OpenCDN include updates to the Origin entity, which no longer spawns a re-registration child if the first registration fails. Instead, the web interface recommends asking for credentials at the OpenCDN site. Additionally, when a "restart Origin" command is issued via the web, the restart_origin sub-prepares a bash script that performs a 'killall Origin.pm' and then launches the Origin entity again. The latest release also includes new Perl modules such as File-MMagic-1.27, MIME-Types-1.16, HTTP-Server-Simple-0.20, and Static.pm to enhance performance.
OpenCDN now supports a VideoLAN Adaptation Layer with a new module, VLC.pm, which launches a VideoLAN process and controls it using the VLC telnet interface. This latest release of OpenCDN also provides support for "v" transport (which means VideoLAN) and an embedded player in response pages. Additionally, a table with radio buttons replaces the Available Contents select in the request page.
Finally, there has been a bug fix in the Darwin adaptation layer, which now correctly detects a wrong password, and major changes in PYTE handling. The variable $use_pyte is no longer in CommConf.pm but is now in RRDMconfig.pm, and it no longer needs to be configured at node level. The RRDM handles it all, informing nodes at registration time about the status of $use_pyte. Additionally, function find_best in CommLib.pm now receives one more parameter, which is $use_pyte.
Version 0.7.7a: N/A