Département d'ingénierie informatique

Distributed Systems

Highly-available collaborative Internet applications
Project leader : P. Van Roy

Researcher : R. Collet, K. Glynn

Collaborations : Mozart Consortium, especially: Funds : FSR

Description :

The objective is to make it possible and easy to build collaborative Internet applications that are tolerant of highly variable and dynamic network behavior such as intermittent failures (communication failure and network partitioning), variable performance, and frequent joining and leaving of collaborators.

Our approach has a long-term and a short-term component. In the long term, we do language design: we aim to provide a combination of network transparency and network awareness that incorporates distributed behavior into the semantics of basic language operations. This allows us to cleanly separate the concerns of distributed programming at the application level, in a way that works for realistic programs. In the short term, we are defining decentralized distributed algorithms and use them to build novel abstractions, so that the right amount of complexity is hidden by the system and the right amount is made visible at the application level.

These abstractions are made available as language libraries. Some of their functionality will eventually make its way into the basic language semantics.

We are using the Mozart Programming System as our research vehicle. We are building a service architecture called P2PKit, which allows building decentralized component-based applications. P2PKit is built on P2PS, a peer-to-peer Mozart library that is based on a structured overlay network protocol called Tango. We are using the PlanetLab infrastructure and the EVERGROW project's cluster as hardware platforms for testing our software.


Screenshot of the peer-to-peer toolkit P2PKit running on the PlanetLab infrastructure