In the recent
years, peer-to-peer has atracted a lot of attention as a promising
technology for massive scalable applications. On the one hand, killer
applications like file-sharing (Naspter, Kazaa, eDonkey), content
distribution (BitTorrent) and VoIP (Skype) are already generating most
of the Internet traffic (surpassing Web traffic). This is a proof of
the viability and success of such technologies.

On the other hand, in the research setting it has emerged a new kind of
purely decentralized peer-to-peer networks called Structured
peer-to-peer overlays or Distributed Hash Tables (DHT). These kind of
networks offer interesting features like massive scalability, efficient
Content-based routing and resource discovery, fault-tolerance and
self-adjusting behaviours. Furthermore, DHTs are considered as a key
building block for a plethora of distributed services like
file-sharing, content distribution and retrieval, publish/subscribe
systems, or naming systems among others. Nevertheless, DHTs have not
gained the popularity of killer applications like Skype or Kazaa. They
are still restricted to academic spheres and specific distributed niche
applications. We however believe that in a short term, applications
will benefit from DHTs services in a natural way and thus leaving the
research arena definetly. Examples of this trend are Emule/Kad (Overnet
DHT) or Azureus use of a DHT layer for the tracker entity.

An important misconception that is hindering the adoption of DHT
services is the classical use of peer-to-peer in edge desktop
computers. Although it is interesting to benefit from desktop resources
and bandwidth, other kind of peer-to-peer applications can be devised
for the server setting. In fact, DHT services are ideally aimed for
creating a distributed glue for a network of web servers offering
integrated internet-wide services. Let us study severals reasons that
favour DHTs for creating such a glue service:

Churn vs Stability: Web servers are stable peers that
are not continously entering and leaving the network. This dynamicity
is a strong problem for DHTs deployed in networks of volatile edge
nodes. Because of this, the DHT abstraction can offer almost optimal
efficiency without the burden of heavy self-adjusting stabilisation
protocols.

NAT traversal and firewalls vs Web accesibility: edge
peers are usually located behind firewalls or NATs that preclude their
full participation as routers in the network. Although there exist
proxying techniques to overcome this problem, they represent a burden
for the overall overlay. The use of HTTP for the communication between
Web servers in the DHT overlay permits to avoid such firewall and NAT
problems so all nodes are full-fledged routers.

Persistent connections Vs decoupling: most egde
peer-to-peer networks use TCP or UDP as their communication protocol
and HTTP only for downloads. Every machine has a limit of open
connections and they are consuming the bandwith of peers even in the
lightest protocols. The use of HTTP for inter-webpeer communication
creates a decoupled infrastructure that saves traffic and open
connections and thus creates a very lightweight infrastucture. A
webnode routing table is not a collection of open connections but
instead a list of URLs. This costless approach will permit the creation
of URL-caches to improve the overall performance of the infrastructure.

Peers Vs Super-peers: the decentralized network of
webservers (glue DHT) is in fact an overlay of super-peers that can
offer added services to the huge mass of edge peers. By stabilishing
these two levels, we can devise innovative distributed services derived
from the interaction of both layers. It is a transition from a Web of
isolated Web server islands to a true interconnected (glued) web of
peer web servers.

We foresee a lot of applications that can benefit from such
infrastructure. From efficient distributed RSS syndication using
publish/subscribe services on top of the network, to instant messaging
protocols or even distributed geo-information indexes like GoogleMaps
and Google Local. Our proposed proof of concept application is framed
in a known open source project called Moodle. Moodle is a virtual
campus web application used in thousands of Universities and Learning
Institutions around the world. We have developed an extension of Moodle
that aims to interconnect all the Moodle sites in the Internet. For the
moment, this extension will offer worldwide statistics of the usage of
Moodle around the world, but it will also permit to locate resources in
the whole Moodle network of servers. It will be thus possible for a
teacher to locate course contents related to his subject in other
Moodles located elsewhere.