DESCENT: Plug-based Decentralized Social Network
DeSceNt is a research project funded by Labex CominLabs started in October 2013. The DeSceNt consortium is composed of 4 partners: GDD and AeLos from the LINA laboratory in Nantes, ASAP and CIDRE from IRISA in Rennes. These partners cover the different skills and scientific competencies required by the DeSceNt project. Each partner is a leading team in its own domain: GDD is expert on distributed collaborative systems, ASAP is expert in distributed systems and social infrastructure. AELOS is expert in program verification. CIDRE is expert in security.
Plug-based decentralized social network
Federated systems are not a new concept. The notion of federation has been explored in database systems with federated database, in cloud computing with federations of clouds, in semantic web with linked data, in current open-source software such as Diaspora, or MediaGoblin2. A federation is characterized by the autonomy and heterogeneity of its components. Autonomy means that each participant has full control on its resources, i.e., the data it hosts and the services it provides. Heterogeneity can hold at different levels: from hardware with varying limitations in terms of computing power and storage capacity, to software with semantic heterogeneity. Federations offer several crucial advantages: They provide an alternative infrastructure for users who wish to host and share their data. Users can keep better control on the visibility and usage of their personal data. A federated approach is clearly promoted by several initiatives such as MediaGoblin, Freedom box3, or Soxyd4 with the aim to replace traditional cloud-based services for hosting personal data. Federation also better preserves information symmetry5: users are their own providers for their services and data.
Federations of plugs also differ from other federations on the number of participants they encompass. For example, the Linked data federation is estimated to contain 300 to 700 participants, Diaspora pods or Mediagoblin servers are estimated to include less than a few hundreds of servers. The low acquisition cost of plug computers suggests instead that federations of plugs can easily involve up to millions of devices. A federation of plugs also needs to take into account the limitations of plug computers i.e. little memory (<1Go), low reliability, and slow CPUs. In addition, plug computers must be ready to be installed in home environments by users with no skills in system administration. These characteristics make federation of plugs an original subject of study with high potential of success.
In DeSceNt , we envision a federation of plugs where users can deploy federated programs on their own plugs. These programs can be federated variants of well know existing programs: for example social networking or storage applications such as Google Plus, Google Drive, or Dropbox. The main difference will be that plug-hosted data will be visible only to trusted users and resources. To achieve this, we will establish collaborations between plugs without depending on external third parties. This will allow us to prevent information asymmetry problems and abusive usage of personal data.
DeSceNt aims to develop sounds architectural principles, mechanisms, and programming abstractions to program collaborative applications on top of a federation of plugs.
We target the following scientific objectives
- Task1: Federated Social Infrastructure. We want provide to federated program developer a communication component for handling reliable communication on a federation of plugs. Such component should be able to foster and delineate small scale sub-topologies (e.g. a node and its 2-hop neighbors), that demonstrate a high level of locality, either in the data space (similar users, similar changes, similar interests), on the network plane (close to each other), or geographically (close geographically).
Task2: Quasi-causality and quasi-CRDT. Given a federated social infrastructure produced by task 1, the objective is to provide probabilistic causal delivery and probabilistic Conflict-free Replicated Data Types (CRDT) structure such as sequences, setsand graphs.
Task3: Non-monotonic disorderly programming. Given quasi-CRDT data structures produced by task 2, the objective is to deliver a language able to compose Quasi-CRDTand verify properties such as confluence. We aim to integrate Quasi-CRDT into dedicated languages such BloomL and go beyond monotonicity.
Task4: Securing federation of plugs. Given a federated social infrastructure produced by task 1, the objective is to secure the federation of plugs by monitoring divergence evolution of streams on each node.
Task5: Usage Control in federation of plugs. Given a federated social infrastructure produced by task 1, the objective is to attach usage control policies to each data retrieved from the federation and to ensure usage policies at plug level.
The consortium involves the following people and teams:
· François Taiani, Michel Raynal, Univ. Rennes 1 / Irisa
· Davide Frey, Inria/Irisa
· Emmanuelle Anceaume, CNRS/Irisa
· Achour Mostefaoui, Pascal Molli, Yann Busnel, Claude Jard, Patricia Serrano Alvarado: University of Nantes