Wednesday, November 03, 2010

Dalesa Reached an Important Milestone

2nd, November, 2010 was one of the most memorable days for the Dalesa project. On this day for the first time Dalesa was released for Windows family of operating systems after a long overdue. Win32 porting and C# based user interface development began on this highly anticipated release soon after release 1.1.0 was made. Version 1.2.0 of Dalesa runs equally well on Linux, Windows XP, Windows Vista and Windows Seven. You can download binaries for windows and Ubuntu versions from here.

Version 1.2.0 of Dalesa has the same set of features you will find in it's predecessor the version 1.1.0. Only difference is from this release on Dalesa will listen on two network interfaces in parallel. The loopback interface is used for all local browser interactions and wired or wireless interface is used for all peer interactions. The advantage is that users now do not have to change their proxy settings each time they change the listen interface or when DHCP server gives them a different IP address as the loopback IP address ( is being used. Therefore setting up the browser proxy is a one time task with version 1.2.0.

I believe that first generation of Dalesa software has delivered what it has promised nearly two years ago. The second generation or the 2.x.x releases will use both multicasting and distributed hash tables in peer - to - peer object lookup algorithms. Therefore I hope that version 2.0.0 will be more ambitious and an exciting project for both users and developers of Dalesa.

Finally a big thank goes to all the members of team Dalesa at LSF who were behind Dalesa in various ways since it's inception in 2009.

Saturday, October 02, 2010

Virtual Learning Model for Metaverses was Published at ICTer 2010

My second publication at ICTer 2010 was Virtual Learning Model for Metaverses. This paper tries to generalize learning in virtual worlds. You can get the paper from here.

Real-Time Mobile P2P Video Streaming Overlay was Published at ICTer 2010

This is the presentation of Real-Time Mobile P2P Video Streaming Overlay concept paper which I published at ICTer 2010 conference. I did this presentation on the first day of the conference at Cinnamon Lakeside Colombo. Get paper from here.

Two Papers were Published at ICTer 2010

ICTer 2010 conference was held from 29th October to 1st September at Cinnamon Lakeside, Colombo. I published two papers in this conference titled as Real-time Mobile Peer – to – Peer Video Streaming Overlay and Virtual Learning Model for Metaverses.

I will post the two presentations in two separate blog posts.

Sunday, August 22, 2010

Dalesa - 1.1.1 Released

Dalesa 1.1.1 has been released. This is the first micro release after 1.1 series began last week. Latest in the line 1.1.1 has fixed the issue with the disabled language selection list box experienced by ReiserFS users. In parallel to 1.1.1 release a new KDE interface was also released as a separate package. All the packages can be downloaded from the website ( as binaries for Ubuntu 9.10 and 10.04 with source tarballs as usual.

Friday, August 13, 2010

Dalesa - 1.1

We were able to release version 1.1 of Dalesa roughly after eight months from the first release of Dalesa (version 1.0.0-rc1). Version 1.1 is now available for download at From 1.0 to 1.1 Dalesa greatly improved it's usability. The major change visible to the user in 1.1 is new standalone user interface provided for GNOME and KDE interfaces coupled with the Dlaesa cache (Dcache) with D-Bus. By using the interface users can now setup Dalesa with few clicks and skim through networked caching statistics effortlessly using temporal graphs displayed on the main window.

New Dalesa UI displaying networked caching statistics.

Major changes in version 1.1 includes
  1. Shifting from MySQL to embedded - MySQL database environment.
  2. Providing an API for external applications to communicate with the configuration component/statistics reporting component of Dalesa cache through D-Bus.
  3. Implementation of a dynamic URL elimination list that avoids useless cache lookups initiated by recurrent AJAX calls (ie:- GMail web chat application periodically makes HTTP requests to the origin server which produce responses which are not cache-able, Dalesa can now dynamically identify such URLs and avoid execution of P2P lookup algorithm on those).
  4. Removal of web based UI (version 1.0).
Previously Dalesa was released as a source package only (1.0). From this release (1.1) on Dalesa will be released in binary packages as well. Version 1.1 can be downloaded as Debian packages for Ubuntu 9.10 and 10.04. KDE user interface which is dubbed as KDalesa will be released as a separate binary package in few days for KDE users.

Friday, February 05, 2010

Dalesa Web Cache (Dcache) Howto

Why do I need Dalesa Web Cache?

Dalesa web cache is a cooperative web caching platform based on peer – to – peer computing. Dalesa web cache exposes your local cache to a peer – to – peer network of such caches. Ones your cache joins the network you will be downloading fresh content from your peers rather than from the origin server if they have already visited the same site and the content cached in them is fresh enough. By exposing your web cache to the network Dalesa lets you to experience a faster web.

How Dalesa find web content stored in peers?

Dalesa web caceh uses a peer – to – peer document lookup protocol which multicasts UDP datagrams. On top of these datagrams the cache sends lookup messages in XML format posing a question similar to “who has URL X which is fresh enough for consuming”? Receiving nodes of this message will check their local cache index and multicast a message indicating the availability of the requested URL if it is already in it's cache. If the requester receives the response within a preset time slot then the content will be accessed through the peer node by making the peer node a parent cache, otherwise it will fetch the file from the origin server. (Implementation actually uses SHA1 hash of X instead of real URL to ensure constant message lengths and privacy)

How to install Dalesa Web Cache?

As of this writing Dalesa works well on Linux (we have tested on Debian and Fedora based systems). It also works on windows but very unstable at the moment. On Linux you can first get the the source of Dalesa from SVN at Use following command to get it svn co dalesa. This will create a directory named dalesa. You can start by building the code in the trunk.

Prior to compiling dalesa it is wise to install lighttpd, MySQL, PHP, and PHP PDO drivers for both MySQL and Sqlite. However it is perfectly ok to go without installing these stuff as missing components are being revealed by the cofigure script.

Once you have done this move to trunk directory and start compiling. If cofigure script complains you about missing libraries and software then install those dependencies and rerun the script.

  • ./

  • ./configure --prefix=/usr

  • make

  • sudo make install

Now it is time to run and configure Dalesa. Configuring Dalesa is very easy since it uses a web based user interface to interact with user. Dalesa doesn't need changing any configuration file to do this.

Start Dalesa

  • sudo dcache

Now use your web browser and go to following URL

Now create a user account and login to the system with it.

In the above interface click on edit to change settings. Set listen interface and the port appropriately so that Dalesa will use that configuration. If you are not already behind a proxy then set next node field to false. In the MySQL configuration section insert a valid MySQL user account which has permissions to create databases. Once you are done with the interface then click Save data, unfortunately at the moment the UI is incapable of restarting the server with new parameters. Therefore you have to manually restart Dalesa by using the command given below.

  • sudo killall dcache

  • sudo dcache

Now Dalesa is ready to work, but you have to configure your browser before using Dalesa. Open your browser's proxy settings dialogue (depends on the browser you use) and set proxy address and port to IP address of the interface you have selected and the port you have entered in the configuration web interface. From now onwards you will be accessing the web through Dalesa P2P web cache.

When you click on caching status button you will see many different options to visualize your caching statistics.

Saturday, January 02, 2010

Dalesa Web Cache (Dcache) with New Looks

Dalesa Web Cache (Dcache) got some new looks for 2010 thank to Nishshanka Sirisena's work and feedback from others. It now has a Web2 interface and some useful graphs to visualise caching activity. I have attached some screenshots below with a description.

This is the main page. In the main page you will find a host cloud which visualises the most visited hosts. Size of the fonts used to display the hosts increase as the number of hits to the host increases. In other words higher the hits to a displayed host larger it will appear.

This is one of the most crucial interfaces. The control panel; which can be used to configure Dalesa Web Cache. Here you can click on edit to add or override settings of the web cache. Once you are done just click on save button. (Both edit and save buttons are located in the bottom of the page which is not seen in this screenshot.

This page gives a snapshot of caching activities which took place in the last 60 minutes. Pink line shows the number of items cached directly from origin servers and the blue line shows the number of files cached from peers within a minute.

This page provides some pie charts that can be used to get an idea of the peer to origin ratio of the downloaded content either by number of objects or size.

You can search for content in your web cache.The image shows search results for word blogger. At the moment search only works on URLs. However in the future we will provide more search options like search by content type.

In few days you will be able to find dalesa-1.0.0-rc1 release which comes with this interface. I hope that 2010 will be a great year for Dalesa and the team as we make the web faster.