Brevet FR3074322A1 (20190531)

REVENDICATIONS1. Infrastructure technique distribuée destinée à un système de plate-forme (1) de traçabilité de données basé sur des agents (DTP) comprenant au moins un serveur de base de métadonnées (2) à architecture en couches et à ressources de calcul, un serveur de surveillance de la qualité des données, un serveur de gestion pour un service d'approvisionnement en données (DPS), et une machine d'interrogation automatique, caractérisée en ce que la base de données (2) est utilisée pour 10 stocker des données et conserver des preuves sécurisées de l'échange de données, de la propriété des données et du transfert de propriété des données dans des objets de données (DO) afin de permettre à un utilisateur (4) d'accéder à des ensembles de données (D0i,..., DOM) fournis par d'autres utilisateurs, et de proposer un ensemble de données accessible par un autre 15 utilisateur (4), et dans laquelle la plate-forme de traçabilité de données est configurée pour suivre de manière sécurisée la propriété d'un ensemble de données (DO) à stocker dans la base de données (2) et pour mettre en place un processus de consensus par fédération (FC) en adaptant la technologie de chaîne de blocs (22), un module de vote décidant de la validité d'un bloc 20 afin de stocker le bloc dans la base de données (2) au cours dudit processus.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisée en ce que le module de vote de chaque agent de la plate-forme de traçabilité de données d'une « fédération DTP », pendant le consensus 25 par fédération (FC), propose un vote individuel sur la validité, et le total cumulé des votes détermine la validité du bloc, au moins la taille et les participants à la fédération DTP et le seuil de validité étant paramétrables.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisée en ce que la technologie de chaîne de blocs (22) est adaptée 30 pour comprendre un modèle prospectif permettant à un prestataire de service de fournir des informations orientées calcul, en stockant au moins les 2 assertions d'une approche d'accès et de contrôle (AC) dans le cadre d'une transaction, contenant ainsi des informations purement prospectives sur le calcul qui spécifie la logique réelle exécutée.\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 1 à 3, caractérisée en ce que la technologie de chaîne de blocs (22) est configurée, via la fonctionnalité de stockage et de consignation des données afin de maintenir les informations de traitement, pour comprendre un modèle rétrospectif.\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 1 à 4, caractérisée en ce que la technologie de chaîne de blocs (22) est configurée pour comprendre un modèle pro-/rétrospectif mixte avec la fonctionnalité d'un système de gestion de processus distribué, la combinaison des informations pro- et rétrospectives permettant le suivi du calcul et l'évaluation de la fiabilité du résultat du calcul.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisée en ce qu'elle comprend au moins une infrastructure de clés publiques (PKI) qui permet d'utiliser des outils cryptographiques asymétriques pour sécuriser les transactions d'un ensemble de données ou d'objets de données (DO) et suivre la propriété d'un ensemble de données.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 6, caractérisée en ce qu'une clé publique et privée unique est générée pour la création d'un compte d'agent, afin de permettre audit agent d'utiliser au moins un outil cryptographique asymétrique de l'infrastructure de clés publiques.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 7, caractérisée en ce que ladite clé publique et privée unique permet également audit agent d'agir comme une entité DTP active, qui est active dans une machine qui exécute une instance DTP et qui est responsable des actions de l'instance à l'aide des signatures numériques de toutes les communications qui utilisent ladite clé privée. 3\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisée en ce qu'elle comprend au moins un système d'accès et de contrôle (AC) qui maintient l'accès aux services disponibles et/ou qui contrôlent la création de services frauduleux au sein de la plate-forme, tandis 5 que les droits d'accès sont spécifiés par chaque prestataire de service (3) qui crée une preuve de droit d'accès pour l'utilisateur concerné à l'aide des fonctionnalités de gestion des données de la chaîne de blocs, ledit système AC permettant une traçabilité inter- et intra-service si des assertions appropriées sont fournies par un prestataire de service (3). 10\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 9, caractérisée en ce que le prestataire de service (3) spécifie, pour un service numérique consommable, à l'aide d'une interface interactive basée sur un navigateur Web, des métadonnées de provenance qui permettent une traçabilité inter-service et intra-service, et au moins des détails à propos du 15 calcul effectué et des objets de données (DO) de sortie prévus.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisée en ce que la base de données (2) est conçue pour gérer les charges de travail élevées et les fonctionnalités en parallèle, ladite base étant distribuée avec des performances de correction linéaire, optimisées 20 pour les opérations d'écriture.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisé en ce que la base de données (2) est Apache Cassandra.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1 ou 11 ou 12, caractérisée en ce que la base de données (2) comprend au moins 25 une couche de stockage comprenant au moins un stockage de groupe de transactions (20), un stockage de file d'attente de blocs (21), un stockage de chaîne de blocs (22), un stockage de blocs invalides, et un lac de données (24).\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 1 et 30 13, caractérisée en ce que ladite couche de stockage comprend au moins un 4 ensemble de modules : un module de groupe de transactions (20) destiné à traiter les transactions qui entrent dans le stockage de groupe de transactions (20) et vont être stockées dans les blocs de la file d'attente de blocs (21), un module de file d'attente de blocs (21) destiné à traiter les blocs 5 qui ne sont pas encore validés et qui sont soumis au consensus pour la validation des blocs distribués, un module de chaîne à blocs (22) destiné à traiter les blocs validés, un module de dépôt de blocs invalides (23) destiné à traiter les blocs qui ont été validés comme étant invalides pendant la validation de blocs par consensus par un module de vote de blocs, un 10 module de gestion de stockage destiné à stocker et à traiter des entités supplémentaires qui font partie des blocs et des transactions, notamment les votes qui sont requis pour le vote de blocs, des statuts de blocs utilisés pour persister le résultat d'un vote de validité de blocs et d'éléments de lac de données (DLE) (24) extraits pour améliorer les performances en raison de 15 leur taille de données variable.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 14, caractérisée en ce que l'exécution du module de gestion du stockage permet au stockage de groupes de transactions (20) au moins de recevoir les transactions brutes entrantes, de vérifier les transactions à l'aide d'un 20 algorithme de validation approfondie, d'affecter les transactions entrantes à un agent DTP par le biais d'une stratégie de sélection, et d'ajouter lesdites transactions vérifiées au stockage de groupes de transactions (20).\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 15, caractérisée en ce que l'algorithme de validation approfondie (DV) permet de 25 valider par la suite des données arbitraires par toutes les couches architecturales DTP, en validant ainsi les données éventuellement imbriquées en profondeur, pendant que la logique de validation est fournie par le biais de « validateurs » qui ont exécuté la validation sous une forme sémantiquement capsulée optimisée pour une exécution simultanée. 30\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 14 et 15, caractérisée en ce que le module de groupes de transactions (20) 5 identifie les transactions vérifiées à l'aide de l'agent DTP assigné qui est responsable de l'exécution du module de groupes de transactions, crée des blocs en utilisant l'autorisation des transactions, transmet les blocs à stocker dans la file d'attente de blocs (21), et supprime les transactions utilisées du 5 stockage de groupes de transactions (20).\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 1 à 17, caractérisée en ce que l'exécution du module de vote permet au moins de vérifier si l' « ID » (identité) d'un agent se trouve dans une liste de votants stockée dans la couche de stockage de la base de données, d'exécuter un 10 processus de validation approfondie pour déterminer la validité d'un bloc, d'ajouter un vote au bloc correspondant au résultat de la validation, et de déclencher ou non une minuterie pour chaque vote manquant.\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 1 et 13, caractérisée en ce que la couche de stockage comprend au moins : 15 - une liste des agents et des services qui existent sur la plate-forme. Lesdits agents et services ont été créés et stockés dans un bloc qui a été validé. Ladite liste tient compte de tous les états créés, désactivés et supprimés. - une mémoire cache (BBC) de blocs de chaîne de 20 blocs (22), qui est une mémoire cache d'un certain nombre de blocs, pour lesquels une décision a été prise (stockés dans la chaîne de blocs (22) ou dans le dépôt de blocs invalides (23)), qui sont conservés en mémoire pour des raisons de performances. Ladite mémoire cache est matérialisée comme 25 une file d'attente limitée en taille (paramètre de configuration) qui utilise des HashMaps sous-jacents pour une recherche efficace d'au moins tous les ID de blocs (identités de blocs), ID de transactions - une mémoire cache de blocs de consensus 30 (CBC), qui est analogue à la mémoire cache de chaîne de 6 blocs (22) et qui est utilisée pour les blocs pour lesquels aucune décision n'a été prise. - une liste de vote, conservée par chaque agent, qui comprend les blocs pour lesquels un vote est exigé par 5 l'agent correspondant, c'est-à-dire lorsque l'ID de l'agent a été ajouté à la liste des « agents votants » du bloc (ID des agents qui doivent fournir un vote), mais qu'aucun vote n'a encore été fourni ; - une mémoire cache de groupes de transactions 10 (PTC), qui conserve les transactions issues du groupe de transactions (20). - une liste d'autorisations de transaction (TLC). Ladite liste contient au moins les informations suivantes afin de décider si une transaction peut être ajoutée à un bloc 15 destiné à être stocké : - une transaction précédente (le cas échéant) est stockée dans un bloc validé - un agent émetteur d'une transaction n'est pas placé sur liste noire 20 - toutes les données (DLE, agent, etc.) sont disponibles dans le système afin de procéder à leur vérification.\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 1 et 13, caractérisée en _ce que la couche de traçabilité comprend au moins un 25 module « agents » destiné à stocker le modèle de données d'agent de traçabilité, un module d'objets de données (DO) destiné à stocker le modèle de données des objets de données de traçabilité (DO), un module « service » destiné à stocker le modèle de données du service de traçabilité, et un module « transactions » destiné à stocker les transactions de la couche 30 de traçabilité. 7\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 20, caractérisée en ce que les entités de traçabilité sont également identifiées par un « ID statique » qui ne change pas pendant une mise à jour et comprend au moins : 5 - Propriétaire de l'agent (AgentOwner) : « agent_owner id » (ID unique) - Agent : « agent_id » (clé publique) - Service : « service_id » (ID unique) « service_version » 10\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 19, caractérisée en ce que, dans la couche de stockage, au moins l'une des requêtes suivantes est prise en considération pour garantir le traitement efficace des informations liées à un bloc : - Obtention des blocs par ID; 15 - Obtention de l'heure de création des blocs ; - Obtention des transactions du stockage par ID de bloc ; - Obtention des informations de statut par ID de bloc ; - Obtention des votes par ID de bloc ; - Obtention du DLE par ID de transaction du stockage 20\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 20 et 21, caractérisée en ce que les requêtes suivantes sont prises en considération pour la traçabilité des données dans la couche de traçabilité, qui sont réalisées en tant que requêtes de base de données avec les informations correspondantes : 25 - Obtention de la transaction à tracer par ID d'objet de donnée ; - Obtention de la transaction à tracer par ID de service ; - Obtention des agents par ID de transaction à tracer; - Obtention des services par ID de transaction à tracer ; - Obtention des agents par ID de propriétaire d'agent ; 30 - Obtention des services par ID de service. 8\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisé en ce que le module de vote, ayant des performances élevées et une fonctionnalité de paramétrabilité, permet: - d'ajuster le vote selon une taille de fédération réduite, avec 5 un temps-système de vote réduit et des latences de stockage correspondantes réduites, - de stocker instantanément le vote sans que la conception architecturale exige une durée de stockage minimale.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 24, 10 caractérisée en ce que la technologie de couche de stockage de la base de données est configurée pour mettre à l'échelle sa conception architecturale et obtenir un débit de stockage total élevé.\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 1 et 24, caractérisée en ce que la fonctionnalité de paramétrabilité de 15 l'infrastructure technique distribuée est assurée par un programme et des fichiers de configuration propres aux couches, chaque couche de ladite infrastructure étant apte à fournir des configurations individuelles.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisé en ce que le service d'approvisionnement en données (DPS) 20 conserve des preuves d'activité de manière transparente pour l'utilisateur.\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 1 et 28, caractérisé en ce que le service d'approvisionnement en données (DPS) maintient l'activité de fourniture de données, qui requiert d'indiquer les métadonnées connexes comme les références aux ensembles de données 25 utilisés des autres.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisé en ce que le service d'approvisionnement en données (DPS) conserve l'historique complet d'un ensemble de données en analysant les preuves et en suivant les références au sein des métadonnées afin de 9 permettre le suivi de l'historique complet d'un ensemble de données, et d'identifier tous les utilisateurs qui peuvent contribuer à sa création.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisé en ce que le service d'approvisionnement en données (DPS) est 5 configuré pour étendre la fonctionnalité de propriété pure via des opérations de maintien d'ensembles de données sur la plate-forme.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisé en ce que la plate-forme (1) est configurée pour recevoir une requête en provenance d'un service d'analyse de données complexes, ledit 10 service d'analyse utilisant des modèles d'apprentissage machine (ML) et des ensembles de données d'apprentissage disponibles sur la plate-forme (1) afin d'offrir un service d'analyse par apprentissage machine.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 5, caractérisé en ce que le système comprend : 15 - une chaîne de blocs (22) ; et - une ressource de calcul prévue pour exécuter une boucle de sorte que l'exécution de la boucle soit influencée par l'état de la chaîne de blocs (22), la boucle étant mise en oeuvre à l'aide d'un script, 20 afin de conserver un décompte d'un ou plusieurs votes pour la validation des blocs liée au consensus, la validité des blocs ou les décisions de validité des blocs, et un statut de bloc correspondant généré pour ou associé au bloc extrait de la file d'attente de blocs (21) ; et un ensemble de 25 conditions d'invalidité définies par la fédération afin de déterminer la validité des blocs, et validées par chaque agent qui participe à un vote sont évaluées et au moins une action est menée sur la base du résultat de l'évaluation ; ladite action comprenant au moins: 10 - faire qu'au moins une transaction soit écrite dans le volume de chaîne de blocs (22) de la base de données (2) ; et/ou - faire qu'une action hors chaîne de blocs 5 soit exécutée.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1 à 31, caractérisé en ce que, pour chaque itération de la boucle, un hachage cryptographique du script est généré, et les informations relatives à au moins une itération de la boucle sont stockées dans une transaction sur la chaîne 10 de blocs (22), les informations étant stockées sous la forme de métadonnées dans la transaction.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1 à 32, caractérisé en ce que les conditions concernent les données reçues, et les changements de propriété détectés ou générés par la ressource de calcul ; 15 ou l'état de la chaîne de blocs (22).\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 1 à 33, caractérisée en ce que la base de données (2) offre un moyen d'identification des processus liés au stockage du groupe de transactions (20), à la file d'attente de blocs (21), à la chaîne de blocs (22) et au dépôt 20 des blocs invalides (23), à la gestion des blocs, aux agents, aux objets de données, aux services et à la traçabilité des transactions.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1 à 34, caractérisé en ce que les processus de stockage de la base de données (2) et de consensus par chaîne de blocs (22) constituent chacun une couche de 25 l'architecture qui peut être supprimée, remplacée ou étendue avec d'autres caractéristiques.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 1, caractérisée en ce que la plate-forme de traçabilité des données comprend au moins un module d'estimation, ledit module comprenant au moins un 30 ensemble de modèles et de programmes destinés à estimer la contribution de différents ensembles de données pour la création d'un nouvel ensemble 11 et, ainsi, à estimer un barème de rémunération équitable pour la réutilisation de l'ensemble de données.\n<CLM>\1\tInfrastructure technique distribuée selon la revendication 37, caractérisée en ce que l'ensemble de modèles et de programmes du module d'estimation comprend au moins un modèle d'estimation de valeur de Shapley, ladite valeur de Shapley estimant la valeur d'un ensemble de données et/ou la contribution relative d'ensembles de données d'entrée à la valeur de l'ensemble de données résultant.\n<CLM>\1\tInfrastructure technique distribuée selon les revendications 37 et 10 38, caractérisée en ce que le module d'estimation est utilisé pour la rémunération de chaque utilisateur (4) qui a participé à la création du nouvel ensemble de données selon le montant de la participation.