Title : Data Production

Code : 1

Responsible : Asap

Activities : Consistency and Programming

Start Date : 2014-06-01

End Date : 2017-02-28

Objectives : The model advocated by SocioPlug departs fundamentally from the usual peer-to-peer systems considered for collaborative applications. Until now, solutions have been mainly designed to operate in the presence of high levels of churn (nodes leaving and joining the network), communication failures, and other network issues. Because SocioPlug assumes a swarm of continuously “on” home-based computers, it offers a new kind of environment that is highly decentralized yet relatively stable, and has therefore a strong potential for ground breaking approaches.

Unfortunately, designing, programming, and maintaining plug-based social services is not yet well understood. A large number of decentralised social services (e.g., for recommendation, search, query extension) have already been proposed, but these services only consider immutable data, with no or very little consistency requirements. These services are also optimised for high-churn environments. By contrast, our objective is to expand this earlier works to mutable data, and leverage the low-churn characteristics of plugs to achieve this goal.

Scientific Challenges : Three main challenges has been identified:

  • Convergent data structures are a fundamental part of the SOCIOPLUG. They support a form of distribution in which the order of operations has no impact on a computation’s outcome (disorder programming). One fundamental question is whether useful structures can be achieved in this way without any notion of causality. This is linked to the CRON conjecture of Hellerman, "Causality Required Only for Non-monotonicity”, which remains open.
  • Quasi-causality Whatever the result of the previous scientific lock, we already know that many useful structures require causality. We want to develop the concept of quasi-causality, which is weaker than causality but less expensive to deploy. Quasi-causality provides causality with high probability, but without the high costs that causality induces in large-scale systems.
  • Componentization of disorderly programs Disorderly and quasi-causal programming can be difficult to grasp and understand for everyday developers. To facilitate the dissemination of these technologies, we will strive to propose reusable software blocks (components) that abstract from the low-level mechanics of on-the-wire protocols. This represents a key challenge, as we have currently no understanding of how probabilistic mechanisms such as quasi-causal and monotonic computations can be componentized.

Deliverables :

  description Dec. 2013 + months
D11 Survey: Weak consistency in social networks 15
D12 Report: Modular quasi-causal data structures 22
D13 Report: Protocols for emergent localities 30
D14 Report: Prototyping 39

Sub-tasks :

Task11 Quasi-causal data structures
Task12 Emergent Localities
Task13 Prototyping

Participants :