You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@incubator.apache.org by Wathsala Vithanage <wa...@opensource.lk> on 2010/02/02 17:22:57 UTC

[PROPOSAL] Dalesa P2P Web Cache Project

Hi,

We would like to incubate the project Dalesa at Apache incubator and join
Apache Software Foundation.
You can find the proposal at http://wiki.apache.org/incubator/DalesaProposal.

Dalesa is a P2P web cache which could become an alternative to existing
centralised web caches like Squid. At the moment we have a released the
first release candidate of version 1.0.0.
The project web is at http://dalesa.sourceforge.net

Full proposal is given below.

Thanks,

Wathsala

---------------------------------------------------------------------------------

Dalesa Proposal

-Abstract

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

-Proposal

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 products.

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

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

2.)Optimizing the performance, perceived latency of the developed
system based on performance measurements.

-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 candidate.

--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 project.

--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 http://dalesa.sourceforge.net

-Initial Source

Initial source of the proposed project is available at sourceforge.net
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.

https://dalesa.svn.sourceforge.net/svnroot/dalesa is the SVN
repository hosted at Sourceforge.net.

-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

1.) dalesa-private

2.) dalesa-dev

3.) dalesa-commits

--Subversion Directory

https://svn.apache.org/repos/asf/incubator/dalesa

--Issue Tracking

JIRA Dalesa

-Initial Committers

1.) Wathsala Vithanage (wathsala@opensource.lk)

2.) Nuwan Rajitha Gunarathne (nuwanr@opesnource.lk)

3.) Nishshanka Sirisena (nishshanka@opensource.lk)

-Affiliations

1.) Wathsala Vithanage - Lanka Software Foundation (Senior Software
Engineer/Project Lead)

2.) Nuwan Rajitha Gunarathne - Lanka Software Foundation (Senior
Software Engineer)

3.) Nishshanka Sirisena - Lanka Software Foundation (Software Engineer)

-Sponsors

--Champion

1.) Sanjiva Weerawarana - sanjiva@opensource.lk

--Nominated Mentors

* We are looking for mentors

--Sponsoring Entity

The Incubator

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: [PROPOSAL] Dalesa P2P Web Cache Project

Posted by Wathsala Vithanage <wa...@opensource.lk>.
Hi,

Sorry for the delayed reply, I intentionally waited until Dalsa Howto
is ready so you could try it out easily if you are interested
(http://wathsalav.blogspot.com/2010/02/dalesa-howto-why-do-i-need-dalesa.html).
Dalesa is actually targeted for desktop computers, that means everyone with
a computer. Right now it is only used inside our lab ;). But it is not
limited to desktops only, the same is applicable for server clusters
as well.

As I have mentioned in the proposal we are also interested in TS
project and we could combine as you have mentioned. I think TS has a
better HTTP handling capabilities than Dalesa. Thanks for your
comments and I will check TS code this afternoon, hope it is using APR
unlike Dalesa.

Regards

On Thu, Feb 4, 2010 at 7:43 AM, Leif Hedstrom <zw...@apache.org> wrote:
> On 02/02/2010 09:22 AM, Wathsala Vithanage wrote:
>>
>> Hi,
>>
>> We would like to incubate the project Dalesa at Apache incubator and join
>> Apache Software Foundation.
>> You can find the proposal at
>> http://wiki.apache.org/incubator/DalesaProposal.
>>
>> Dalesa is a P2P web cache which could become an alternative to existing
>> centralised web caches like Squid. At the moment we have a released the
>> first release candidate of version 1.0.0.
>> The project web is at http://dalesa.sourceforge.net
>>
>
> Very interesting. First off, I think you have covered most bases in your
> proposal, and the concept certainly makes sense. One thing that is unclear
> to me is who the target users are (everyone with a computer?)? And who is
> using it today? There are obvious overlaps between this proposal, and the
> Traffic Server project, as you have pointed out. For example, TS already has
> a "clustering" solution, which uses consistent hashing for distributing the
> objects (granted, it's currently broken, but we'll fix that :). I'm sure
> there are plenty of other pieces that would be very similar, a proxy is a
> proxy after all.
>
> As such, if this proposal gets accepted, I think it's important and useful
> for both TS and Dalesa to cooperate, sharing ideas as well as code (when
> possible). Long term, I could possibly see the two being combined as one TLP
> (but, we'll have to see what code pieces can be shared / merged etc., and
> we're currently working hard to get a first TS release out the door).  I
> don't think any of the TS developers are  IPMC members, so we can't help
> mentor the project during incubation. But I myself would be willing to help
> as much as I can as a contributor, to help you through incubation at least.
>
> Cheers!
>
> -- leif
>

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: [PROPOSAL] Dalesa P2P Web Cache Project

Posted by Leif Hedstrom <zw...@apache.org>.
On 02/02/2010 09:22 AM, Wathsala Vithanage wrote:
> Hi,
>
> We would like to incubate the project Dalesa at Apache incubator and join
> Apache Software Foundation.
> You can find the proposal at http://wiki.apache.org/incubator/DalesaProposal.
>
> Dalesa is a P2P web cache which could become an alternative to existing
> centralised web caches like Squid. At the moment we have a released the
> first release candidate of version 1.0.0.
> The project web is at http://dalesa.sourceforge.net
>    

Very interesting. First off, I think you have covered most bases in your 
proposal, and the concept certainly makes sense. One thing that is 
unclear to me is who the target users are (everyone with a computer?)? 
And who is using it today? There are obvious overlaps between this 
proposal, and the Traffic Server project, as you have pointed out. For 
example, TS already has a "clustering" solution, which uses consistent 
hashing for distributing the objects (granted, it's currently broken, 
but we'll fix that :). I'm sure there are plenty of other pieces that 
would be very similar, a proxy is a proxy after all.

As such, if this proposal gets accepted, I think it's important and 
useful for both TS and Dalesa to cooperate, sharing ideas as well as 
code (when possible). Long term, I could possibly see the two being 
combined as one TLP (but, we'll have to see what code pieces can be 
shared / merged etc., and we're currently working hard to get a first TS 
release out the door).  I don't think any of the TS developers are  IPMC 
members, so we can't help mentor the project during incubation. But I 
myself would be willing to help as much as I can as a contributor, to 
help you through incubation at least.

Cheers!

-- leif

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org