Accueil🇫🇷Chercher

Data Distribution Service

Data Distribution Service ou DDS est une norme (ou standard de jure) spécifiée par l'OMG (Object Management Group), dont le rôle est de proposer une technologie évoluée d'échanges de données via un réseau. Conceptuellement, les données échangées sont regroupées dans une notion d'Espace Global de Données EGD (ou GDS, Global Data Space en anglais). Contrairement aux technologies de base de données, cet espace de données est totalement distribué dans le réseau pour éviter les problématiques liées aux goulots étranglements et aux pannes des gestionnaires de données.

Fonctionnellement, cette technologie, s'apparente aux systèmes de base de données relationnelles et distribuées mais elle relâche certaines contraintes d'intégrité jugées incongrus avec le traitement en temps réel, tel que le maintien de cohérence forte entre les copies des données ou les mécanismes d'isolations. Contrairement aux systèmes de base de données, DDS prône plutôt un modèle de cohérence dit modèle de (cohérence à terme, Eventual consistency).

Grâce à l'adoption d'un Protocole d’interopérabilité standard RTPS (Real-Time Publish/Subscribe Protocol), plusieurs implémentations émanant de constructeurs différents peuvent interopérer, ce qui contribue a l’émergence de systèmes ouverts, par opposition aux protocoles propriétaires contrôlés par une seule organisation.

La technologie DDS s'adresse principalement aux industries soumises à de fortes contraintes de fiabilité, de performances et déterminisme, telles que :

  • l'AĂ©ronautique et la dĂ©fense ;
  • la Robotique ;
  • les systèmes C2 (Command and Control) ;
  • L'Automobile autonome ;
  • les tĂ©lĂ©communications et
  • l'IoT Industriel (Industrial Internet of Things) dont les donnĂ©es manipulĂ©es peuvent ĂŞtre de sources et de natures diverses et variĂ©es.

Architecturalement parlant, DDS se positionne au-dessus des protocoles TCP/IPs et comble les couches niveau 7, 6 et 5 (couche applicative) du Modèle OSI. DDS offre également une panoplie de services de gestion tel que la gestion de la Durabilité des données, des services de journalisation et de re-joues (Record and Replay) et des services de supervision (Monitoring Services).

Description

DDS se présente sous forme d'une couche logicielle dite intergicielle (middleware) dont la fonction principale est d'offrir une technologie d’échanges de données typées, classifiées par sujet (topics) tout en respectant une panoplie de qualités de services (QoSs) négociées entre les producteurs de la donnée et ses consommateurs.

Cette technologie offre un niveau d'abstraction qui cache la complexité des couches réseaux sous-jacentes et gère d'une façon transparente les problématiques liées à la distribution des données dans le système a large-échelle.

Les problématiques tels que: la découverte dynamique des données,la localisation de ceux qui les produisent et ceux qui la consomme sont résolues automatiquement par le middleware.

DDS est un middleware centré sur les données (Data Centric Middleware), par opposition au middleware centrés sur les services (en) (Service Oriented Middleware) ou au middleware centré sur les messages (en), MOM (Message Oriented Middeleware), la donnée et les qualités de services qui lui sont associées deviennent l'unique contrat d’intégration entre les applications.

DDS offre un découplage spatio-temporelle, dans la mesure où les applications n'ont pas besoin d’être simultanément actives au moment de la production et de la consommation de la donnée. De ce fait, la communication est fondamentalement asynchrone. Les applications ne sont pas obligées de se connaître , ni de connaître leur localisation (tel que les adresses IP ou ports d’écoutes, etc.).

Dans DDS, un objet ou une instance de donnée est identifiée par :

  1. un identifiant unique: une clé
  2. un type de donnée polymorphe,
  3. un nom de sujet de données,
  4. une liste de qualités de service .

Les qualités de services (qos), couvrent un large spectre, tels que :

  • La gestion du cycle de vie de la donnĂ©e (crĂ©ation, mise Ă  jour, libĂ©ration, rĂ©incarnation)
  • La SĂ©grĂ©gation du trafic de donnĂ©es en fonction de leur niveau d'urgence et son niveau d'importance
  • Gestion des ressources système, en termes de nombre d'instance maximal de donnĂ©es supportĂ©es et de frĂ©quence de mise Ă  jour
  • La sĂ©curitĂ© des Ă©changes (Authentification des applications productrices et consommatrices des donnĂ©es, l'autorisation d’accès et le cryptage des donnĂ©es selon leur nature et leur niveau de sensibilitĂ©)
  • Ă€ la tolĂ©rance aux pannes (FiabilitĂ©s des donnĂ©es lors de la transmission, sauvegarde sur des supports persistant, gestion de l'historique de la donnĂ©e et rĂ©-injection des donnĂ©es)
  • Au temps-rĂ©el et au dĂ©terminisme couvrant des QoSs telles que la Latence et le dĂ©bit des Ă©changes ainsi que le dĂ©terminisme (Jitter).

Les applications disposent d'interface de programmation standard (ou API), dite DCPS API (Data Centric Pub/Sub) APIs, leur permettant principalement de :

  • DĂ©finir leur type de donnĂ©es pour former un modèle ou un catalogue de donnĂ©es communes Ă  tout le système
  • DĂ©finir un code structurel pour souscrire aux sujets, des donnĂ©es du système et se dĂ©finir en tant qu'Écrivain ou Lecteur
  • DĂ©finir les qualitĂ©s de services souhaitĂ©s
  • DĂ©finir des RequĂŞtes ou des Filtres en SQL
  • D'Ă©crire la donnĂ©e
  • De lire la donnĂ©e
  • LibĂ©rer les ressources systèmes crĂ©Ă©es par le code structurel et la manipulation des donnĂ©es

DDS introduit aussi une notion de Partition et de Domaine pour regrouper les applications et les machines qui les hébergent dans des ensembles administratifs disjoints :

  • Un Domaine DDS est caractĂ©risĂ© par un identifiant unique qui sert a regrouper toutes les applications qui doivent collaborer en Ă©changeant des donnĂ©es communes au sein d'un mĂŞme groupement administratif. Cet identifiant servira lors de l’exĂ©cution du protocole de dĂ©couverte dynamique Ă  calculer une adresse Multicast qui sera le point de ralliement de toutes applications appartenant au mĂŞme domaine. De ce fait, un domaine DDS est une frontière administrative Ă©tanche. En d'autres termes, deux applications DDS qui n’appartiennent pas au mĂŞme domaine DDS ne peuvent pas communique directement, a moins de construire explicitement une passerelle applicative entre les domaines. La notion d'espace de donnĂ©es global (GDS) vit uniquement au sein d'un et un seul domaine DDS.
  • La notion de partition est un moyen d'organiser l'espace de donnĂ©es global en sous-groupes logiques au sein d'un mĂŞme domaine DDS. La partition est en rĂ©alitĂ© une expression rĂ©gulière qui sert par exemple Ă  hiĂ©rarchiser l'espace de donnĂ©es.

À titre d'exemple, si nous considérons l'espace aérien européen comme un domaine DDS unique représentant les vols qui traversent cet espace, les systèmes de radars produiront tous, des données de type "Vol", les systèmes de surveillance, d'identification et de classification pourront consommer les données "Vol" a l’échelle de chaque pays (ou région). La notion de partition servira a créer des vues sur l'espace aérien en fonction de chaque pays (e.g Partition1=/Europe/France/* , Partition2=/Europe/Suisse/* , Partition 3=/Europe/*)

Le paradigme de communication de prédilection utilisé par DDS et celui basé sur Publication/Souscription, on peut avoir "n" producteurs pour "m" consommateurs. Selon la qualité de service dite "Ownership" les consommateurs peuvent voir toutes les mises à jours des producteurs ou voir exclusivement celle d'un seul producteur (désigné comme étant le maître ou le possesseur de l'instance de la donnée).

Les données sont décrites dans le langage IDL définit par l'OMG, dont l'analyse permet au service DDS de générer via des pré-compilateurs d'IDL des points d’accès typés au middleware et spécifiques au langage de programmation cible.

Technologies

La spécification DDS offre deux niveaux d'interface :

  • l'un, dit DCPS (Data-Centric Publish/Subscribe), hautement configurable, Ă©troitement liĂ© aux donnĂ©es sous sa forme indivisible et atomique reprĂ©sentĂ© par le concept de sujet (topic). La couche DCPS permet la manipulation de toutes les QoSs.
  • l'autre, d'un niveau plus Ă©levĂ©, DLRL (Data Local Reconstruction Layer), qui permet au middelware de reconstruire localement une donnĂ©e complexe Ă  partir de donnĂ©es atomiques telles qu'elles sont reprĂ©sentĂ©es dans la couche DCPS. DLRL est optionnel dans le standard DDS.

DDS s'appuie par ailleurs sur RTPS (Real-Time Publish/Subscribe Protocol) en tant que protocole d’interopérabilité .

Éditeurs

À l'heure actuelle, deux produits commerciaux conformes à DDS se détachent :

  • l'un est OpenSplice DDS, initialement dĂ©veloppĂ© par Thales Naval Nederland (en) et dĂ©sormais sous l'Ă©gide de ADLINK ,
  • l'autre, RTI Data Distribution Service (ex-NDDS[1]), est — comme son nom commercial l'indique — l'Ĺ“uvre de Real-Time Innovations (en) (RTI).

D'autres produits sont répertoriés par l'OMG sur son site[2].

Émergent en outre des solutions open source, notamment l'implémentation proposée par :

Références

Lien externe

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.