incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Incubator Wiki] Update of "DalesaProposal" by WathsalaVithanage
Date Mon, 01 Feb 2010 12:07:57 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "DalesaProposal" page has been changed by WathsalaVithanage.


New page:
'''Dalesa Proposal'''


Dalesa is a Peer – to – Peer web caching software that provides a caching proxy for web


Dalesa is a cooperative web caching software based on peer – to – peer computing. Nodes
participating in the network will expose their web caches to the entire system through peer
– to – peer web object (document) lookup algorithms. This project focuses on using various
group communication technologies such as distributed hash tables and IP multicasting to implement
robust document lookup techniques.

The system will provide a proxy interface and an API for browsers and other potential user
agents. User agents such as web browsers can embed the peer – to – peer lookup algorithm
by using the API. However, when changes to the code of the user agent is not allowed or inconvenient
the proxy can be used.

The system also comes equipped with a web interface for administration and visualization of
the data and activities of the corresponding peer – to – peer node.

'''Background  '''

The project was founded by Wathsala Vithanage in January 2009 at Lanka Software Foundation,
Sri Lanka. Later Nuwan Gunratna and Nishshanka Sirisena joined the project. Project was funded
by Information and Communication Technology Agency of Sri Lanka under eSociety grant for the
first year.

The system which was developed in C language appeared as a solution to experiment cooperative
web caching through peer – to – peer technologies. At the initial stage, developers focused
on developing the simplest possible peer – to – peer document lookup algorithm using IP
multicasting. Initially, the system was divided into two components; the HTTP caching module
and peer – to – peer discovery module.  The HTTP caching module performs HTTP request/response
processing, cache store management and cache index management. The document lookup module
is used for discovering documents (web objects) scattered throughout the network.

The core of the system such as HTTP request/response processing, Caching, Multicast based
discovery protocol was coded by Wathsala, including Win32 port. Nuwan has also contributed
to the discovery protocol. The web based UI is developed by Nishshanka from ground up.

'''Rationale  '''

During last couple of years there has been some research on peer – to – peer web caching
technologies, such as Squirrel based on Pastry DHT. However, as of this writing there is no
software that implement those concepts, therefore we believe that peer – to – peer caching
should come out of it's research cocoon to the main stream computing as free and open source

Apache has the greatest collection of web related software including the Apache web server
with a proven community oriented development model called “Apache Way”. Therefore, we
believe that Apache is the ideal place for a free and open source peer – to – peer web
cache that will make the web faster.

'''Initial Goal  '''

 * Developing a Peer - to - Peer web cache that will be equivalent to a centralized web cache
in functionality.

 * Optimizing the performance, perceived latency of the developed system based on performance

'''Current Status  '''

As of this writing,  the project has a functional system based on IP multicasting. The project
progressed for about one year at Lanka Software Foundation where three developers continuously
contributed to the project. IP multicasting system should be further improved based on performance
data collected from the test bed. At the same time other group communication methods such
as various DHTs and application level multicasting can be used for building the peer - to
- peer overlay that will become an alternative to the current IP multicasting based system.

'''Meritocracy  '''

Meritocracy is a practice we thrive for. At the moment due to small number of developers and
the short duration and novelty of the project this principal is not practiced. However,  as
we open it for a larger community where different individuals could continuously contribute
to the project meritocracy becomes the healthiest and the ideal practice. Therefore,  we plan
to follow the practice of meritocracy as soon as the code is ready for with it's first release

'''Community  '''

At the moment the Dalesa community is limited to three individuals as it has just started
but we are looking forward to increase this number and grow the community. We believe that
Dalesa could easily accomplish this task due to it's novelty and the niche in the market for
a peer - to - peer web caching solution. Incubating Dalesa at Apache will also greatly increase
it's chances of building a healthy community around it in a shorter time period.

'''Core Developers  '''

Since Dalesa started at Lanka Software Foundation initial team of core developers are fellows
at Lanka Software Foundation. As the initial community grows the team of core developers will
be increased based on meritocracy.

'''Alignment  '''

Dalesa is a web cache. Web caching is considered as a core component in world wide web infrastructure
which Apache web server has become an important part. Therefore,  Dalesa aligns with Apache's
interest in building the best open source web infrastructure using various Apache projects.
At the same time we also believe that Dalesa may benefit from Traffic Server project and Apache
Portable Runtime, it's community and experience in building a great peer - to - peer web cache.

Known Risks

'''Orphaned Products  '''

There is risk of becoming an orphaned project as Dalesa has only three committers at the moment.
But it is still too early to decide as project is barely one year old as of this writing.
In the future we are looking forward to get more visibility and thereby eliminate the possibility
of becoming orphaned.

'''Inexperience with Open Source '''

One out of the three developers has experience with open source project as he was a Google
Summer of Code student in 2007. Lanka Software Foundation also has initiated several successful
open source project and that experience of the institution has been greatly helpful in driving
the project successfully for a one year.

'''Homogeneous Developers '''

Currently, all three developers are at Lanka Software Foundation and that is a risk, but again
it is mostly due to the age and the birth of the project. We hope that once we start interacting
with a larger community we will be able to recruit developers with diverse backgrounds.

'''Reliance on Salaried Developers  '''

At the moment,  the project relies on salaried developers, from 31 - January - 2010 there
wont be any salaried developer working on this project. However two out of the three developers
are committed to work on this project even after 31 - January - 2010.

'''Relationships with other Apache Products '''

Currently there is no relationship between any Apache project but our next major version 2.0.0
will be a rewrite using Apache Portable Runtime as it will make the system more portable and
HTTP standard compliant. In the future the project may also benefit from the Apache Traffic

'''A Excessive Fascination with Apache Brand  '''

Lanka Software Foundation had contributed to the Apache project in the past and had maintained
a very healthy relationship with Apache project. Previous projects initiated by Lanka Software
Foundation have been mutually beneficial for both parties. As mentioned in the Rationale section,
 proposed project to incubate at Apache has a great potential of becoming a useful software
and we already possess a considerable code base hosted at Sourceforge. At this moment we seek
visibility for the project and strong contributors that will build a healthy open source project.
Therefore,  we honestly believe that Apache will be a great place to achieve these goals.
At the same time as we have done earlier, it is ensured that all Apache brand policies will
be respected while maintaining a very constructive relationship with the incubator PMC.

'''Documents  '''

More information on Dalesa could be found at

'''Initial Source  '''

Initial source of the proposed project is available at SVN for the project.
It is written in C language from scratch by developers at Lanka Software Foundation while
Flash scripts used for the web UI comes from Open Flash Chart project with LGPL license.
is the SVN repository hosted at

'''External Dependencies  '''

Everything used in the project comes with Apache compatible license.

'''Cryptography  '''

libssl is used for generating SHA-2 hashes.

Required Resources

'''Mailing Lists'''

 * dalesa-private

 * dalesa-dev

 * dalesa-commits

'''Subversion Directory'''

'''Issue Tracking  '''

JIRA Dalesa

'''Initial Committers  '''

 * Wathsala Vithanage              ( )

 * Nuwan Rajitha Gunarathne        ( )

 * Nishshanka Sirisena             ( )

'''Affiliations  '''

 * Wathsala Vithanage              - Lanka Software Foundation (Senior Software Engineer/Project

 * Nuwan Rajitha Gunarathne        - Lanka Software Foundation (Senior Software Engineer)

 * Nishshanka Sirisena             - Lanka Software Foundation (Software Engineer)

'''Sponsors  '''

'''Champion  '''

Sanjiva Weerawarana     -

'''Nominated Mentors  '''

* We are looking for mentors

'''Sponsoring Entity  '''

The Incubator

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message