GDD - Gestion de Données Distribuées

Relevé les défis sur l’écriture des programmes distribués, sur la gestion des données et les problèmes de sécurité et de confidentialité

Responsable : Pascal Molli
Responsable adjoint : A. Mostéfaoui
Pôle(s) de recherche :
SDD
SLS

Les infrastructures réparties sont au cœur de la révolution numérique. Ces infrastructures évoluent et se complexifient avec des nouveaux développements autour du « edge computing », du « fog computing », des fédérations, de l’Internet des objets.
Chaque évolution apporte de nouveaux défis sur l’écriture des programmes distribués, sur la gestion des données et les problèmes de sécurité et de confidentialité.

GDD a pour objectif de proposer des modèles et des principes pour écrire des programmes fédérés sur des infrastructures fédérées.

Une fédération interconnecte un grand nombre de participants autonomes, hétérogènes et socialement organisés. Ces participants sont d’accord sur un ensemble minimal de services donnant accès à leurs ressources i.e. les fédérations de cloud avec une interface de programmation commune, la fédération du web des données avec les serveurs SPARQL ou les réseaux sociaux distribués avec les intergiciels publish-subscribe.
Les fédérations offrent un environnement d’exécution sur lequel une programme fédéré accède aux ressources fédérées i.e. CPU, données, disque. Un programme fédéré peut être vu comme une requête fédérée sur le linked data, une programme datalog distribué sur une fédération de données ou un programme utilisant une interface de programmation fédérée dans une fédération de cloud. Les fédérations sont définies et étudiées par plusieurs communautés scientifiques pour des motivations différentes en suivant des approches différentes. Elles sont étudiées en base de données avec les bases de données fédérées ou les systèmes collaboratifs de partage de données. Elles sont étudiées en « cloud computing » avec les fédérations de cloud ou les organisations virtuelles. Dans le cadre du web sémantique, elles apparaissent avec la fédération ouverte du linked data. En système distribués et systèmes collaboratifs distribués, elles sont représentées par les réseaux sociaux distribués, en réseaux, avec les CDN distribués ou les fédérations d’identité, en informatique ubiquitaire, avec les gestionnaires de fédérations.

Les motivations des systèmes fédérés sont différentes selon les communautés :

  • Dans la communauté du cloud, les fédérations peuvent être économiquement efficace, réduire la consommation énergétique et diminuer les latences en utilisant la géo-réplication des données.
  • Les réseaux sociaux distribués mettent en avant les fédérations comme une infrastructure plus à même de préserver la vie privée.
  • D’un point de vue base de données et web des données, les fédérations permettent l’intégration de données à large échelle.

De nombreuses approches, architectures, algorithmes ont été proposées par les différentes communautés scientifiques pour construire des fédérations : des approches par les langages comme Bud ou WebdamLog, des approches de standardisation des interfaces de programmation pour le cloud, des approches basées sur des requêtes fédérées, sur les systèmes de propagation épidémique ou sur des structures de données distribuées.
Quelle que soit l’approche considérée, les fédérations doivent faire face à des verrous scientifiques récurrents : facilité de programmation et résultat d’impossibilité venant du théorème CAP, facilité d’accès aux données et hétérogénéité sémantique des données, autonomie des participants et accès aux données secondaires.

Le projet scientifique considère les fédérations comme objet de l’étude. Nous avons identifié 3 défis scientifiques pour être à même d’écrire et déployer des programmes fédérés sur des infrastructures fédérées (cf. Figure ) :

  • Défi 1 : Structures de données et cohérence pour les fédérations. Chaque infrastructure requiert ses propres structures de données distribuées et ses critères de cohérences i.e. les réseaux P2P ont amené les DHT, le cloud a remis en avant la cohérence à terme. Il s’agit de développer des structures de données et des modèles de cohérence adaptés aux fédérations.
  • Défi 2 : Systèmes collaboratifs de partage de données dans les fédérations. Les programmes fédérés doivent pouvoir mettre à jour et interroger des données réparties dans la fédération de manière efficace. Ce défi s’appuiera sur les résultats obtenus par le défi 1.
  • Défi 3 : Confidentialité et sécurité dans les fédérations. Le défi est de pouvoir détecter des attaques sur une fédération de participants autonomes et de permettre aux participants de surveiller l’usage réel des données mises à disposition.