FR 3031604 A1 20160715 FR 1561227 A 20151123 APPAREIL ET PROCÉDÉS DE SYNCHRONISATION DES DONNÉES Domaine technique [0001] La présente invention concerne généralement un appareil et des procédés apparentés à la synchronisation des données. Historique [0002] Le terme virtualisation des données décrit une approche de gestion de données qui peut comprendre l'accès aux données et la manipulation des données en absence de connaissance de toutes les particulafités des données, par exemple, la façon dont elles sont formatées et leur emplacement physique. Les approches de virtualisation de données sont actuellement orientées vers des capacités qui tentent de faire abstraction des aspects techniques des données stockées afin de créer un point logique et commun d'accès aux données pour la connexion à de différentes sources de données et pour traduire les données de source pour une entité utilisateur, entre autres. Ces aspects techniques peuvent comprendre la localisation, la structure de stockage et la technologie de stockage, parmi d'autres paramètres physiques. [0003] Les procédés et les systèmes de réplication et de synchronisation de données sont répandus pour les référentiels de base de données commerciale et de source ouverte. Des efforts considérables ont été réalisés pour traiter les approches de la synchronisation des données. Cependant, dans les approches courantes types, il n'existe pas de procédés directs qui permettent aux entités utilisateur de fonctionner dans un environnement de données virtualisées sans intervention avec les référentiels directement. Plusieurs approches, particulièrement celles réservées à des offres de bases de données commerciales, dépendent de l'utilisation des approches basées sur le changement de la réexécution de la transaction pour la synchronisation des données lorsque les transactions de source ordonnées sont toutes appliquées dans l'ordre à chacun des systèmes de destination. Dans de grands réseaux de référentiels sous synchronisation active, de tels mécanismes de réexécution dupliquent inutilement des transactions de changement superflues avec des conséquences de performance négative et de latence. Les approches existantes utilisent également généralement des dialectes spécialisés, spécifiques à chaque type de référentiel, 1 3031604 et pourraient ne pas être adaptées pour fonctionner avec des référentiels de données semi-structurés, non-structurés, personnalisés et ad hoc. L'utilisation de tels référentiels peut être facilitée en les exposant à travers des plates-formes de virtualisation des données ; cependant, les plates-formes communes de virtualisation des données offrent très peu ou pas de support compréhensif de synchronisation des données. Brève description des figures [0004] La Figure 1 est un organigramme d'un exemple d'architecture de 10 système, selon divers modes de réalisation. [0005] Les Figures 2A-2K sont des organigrammes d'exemples d'interfaces de système qui peuvent être implémentés dans l'architecture de système de la Figure 1, selon divers modes de réalisation. [0006] La Figure 3 est un organigramme d'un exemple de modèle de 15 configuration, selon divers modes de réalisation. [0007] Les Figures 4A et 4B sont des organigrammes d'un exemple d'un flux de synchronisation de données, selon divers modes de réalisation. [0008] La Figure 5 est un organigramme des caractéristiques d'un exemple de modèle de données centrales, selon divers modes de réalisation. 20 [0009] La Figure 6 est un organigramme d'un exemple de procédé de synchronisation de données, selon divers modes de réalisation. [0010] La Figure 7 est un organigramme d'un exemple de système qui peut être implémenté dans l'exemple de l'architecture de système de la Figure 1, selon divers modes de réalisation. 25 Description détaillée [0011] La description détaillée suivante se rapporte aux illustrations ci-jointes qui démontrent, par illustration et non par limitation, divers modes de réalisation qui peuvent être pratiqués. Ces modes de réalisation sont décrits avec 30 suffisamment de détails pour permettre aux spécialistes du domaine de pratiquer ceux-ci et d'autres modes de réalisation. D'autres modes de réalisation peuvent être utilisés, et des modifications structurelles, logiques et électriques peuvent 2 3031604 être apportées à ces modes de réalisation. Les divers modes de réalisation ne sont pas nécessairement mutuellement exclusifs, étant donné que certains modes de réalisation peuvent être associés à un ou plusieurs autres modes de réalisation pour créer de nouveaux modes de réalisation. La description détaillée suivante 5 ne doit donc pas être pris dans un sens limitant. [0012] Lors de la gestion des données de différents systèmes, un paramètre important peut comprendre la synchronisation des données à travers ces systèmes différents. En d'autres termes, lorsque les données changent dans un système, les mêmes changements ou états d'un système doivent textuellement se 10 répercuter dans un autre système. Pour un référentiel de données qui contient certaines entités et certains attributs pour ces entités, une tâche serait de synchroniser cet état avec un autre référentiel. Une telle synchronisation peut comprendre des conflits de données entre différentes entités. [0013] Un problème au niveau de la détection de conflits qui est largement 15 non-résolu dans plusieurs approches existantes implique la détection du conflit à travers un graphique ou un cas d'hiérarchie d'objets, dans lequel la collection entière est collectivement synchronisée, lorsqu'un conflit est détecté à un quelconque niveau dans cette collection. Une telle détection peut être extrêmement difficile à effectuer avec les procédés actuels qui traitent chaque 20 cas d'objet atomiquement pour la synchronisation et impose un ordre avant la synchronisation seulement pour gérer les contraintes de référentiels telles que, sans limitation, les clés étrangères. En outre, plusieurs approches offrent généralement un support limité pour la ou les spécifications de sous-ensembles de données complexes qui contraignent le jeu de sous-ensembles d'objets (et le 25 sous-ensemble de leurs attributs) qui doivent être synchronisés d'une source vers une destination. En particulier, dans un environnement de virtualisation de données, la spécification d'un sous-ensemble de données peut couvrir de multiples référentiels et implique des requêtes très complexes qui pourraient être difficiles à satisfaire avec les procédés actuels. Une autre complexité survient 30 lorsque ces requêtes de sous-ensembles varient également dynamiquement au cours du temps en fonction des informations dans les multiples référentiels. Dans divers modes de réalisation, une couche de virtualisation des données peut 3 3031604 être structurée pour être orientée afin de résoudre les problèmes susmentionnés. [0014] Dans divers modes de réalisation, une plate-forme de virtualisation des données peut être structurée sous forme d'une couche de virtualisation des données de sorte que l'accès aux objets du référentiel peut être obtenu 5 lorsqu'une connectivité directe aux objets du référentiel n'est pas possible. La plate-forme de virtualisation des données peut être implémentée pour fonctionner sur des objets qui sont exposés à travers des vues qui peuvent transformer de façon importante le contenu du référentiel originel. La plate-forme de virtualisation des données peut être implémentée pour fonctionner sur 10 des objets, lorsque les définitions d'objet peuvent être différentes entre les référentiels de la source et de la destination. La plate-forme de virtualisation des données peut être implémentée pour fonctionner sur des objets qui peuvent être composés d'attributs simultanément dérivés de multiples référentiels hétérogènes, par exemple, une base de données relationnelle, un tableur et un 15 service Internet XML (langage de balisage extensible). La plate-forme de virtualisation des données peut être structurée telle que susmentionné sans intervention direct avec des référentiels pour l'exécution de procédures, telles que des procédures et des déclencheurs stockés. La plate-forme de virtualisation des données peut être structurée, contrairement aux procédés et systèmes existant 20 types, pour fonctionner sans assumer que les entités source et de destination, dans une procédure de synchronisation et de définition d'attributs, sont identiques ou que chaque objet est synchronisé dans son intégralité avec tous les attributs associés. En outre, la plate-forme de virtualisation des données peut être structurée, contrairement aux procédés et systèmes existant types, pour 25 fonctionner sans échange de métadonnées de synchronisation entre les référentiels de synchronisation, ce qui élimine la création de référentiels de données pour stocker de telles métadonnées. [0015] Dans divers modes de réalisation, un procédé, un mécanisme de configuration et un cadre d'exécution sont décrits de telle sorte que l'un 30 quelconque de ses référentiels peut être synchronisé, lorsque le fonctionnement se fait dans un environnement de données virtualisé. Les modes de réalisation d'une couche de virtualisation des données, qui fait abstraction des détails de 3031604 connexion et des autres détails assortis concernant la communication d'un instrument utilisateur directement à un référentiel de données, peuvent être structurés pour fonctionner dans une arène de données virtuelles qui comprend la synchronisation de multiples référentiels. Par exemple, une base de données de 5' serveurs SQL (langage de requête structurée), une base de données Oracle, un fichier Excel, un service Internet ou d'autres données contenant de l'électronique peuvent être localisées dans l'environnement de données virtuelles, et peuvent être traitées de façon identique. En outre, une plate-forme de virtualisation des données peut être structurée de sorte que toutes les informations de métadonnées 10 concernant une synchronisation (processus, mécanisme) ne doivent pas être stockées dans l'un quelconque des référentiels synchronisés, ou transférées d'un référentiel de la synchronisation à un autre référentiel de la synchronisation. Une telle plate-forme de virtualisation des données ne doit pas physiquement modifier l'un quelconque des référentiels qui sont synchronisés. 15 [0016] Dans divers modes de réalisation, la synchronisation des données peut entraîner aucun ajout additionnel de données aux référentiels au-delà des entités qui doivent être synchronisées. Deux aspects d'une telle approche peuvent comprendre le non-changement d'un référentiel de données, et deuxièmement, le non-déplacement de quoi que ce soit d'un référentiel vers un autre référentiel 20 autre que les données des entités qui sont synchronisées. Ces entités et les attributs des entités qui sont synchronisées ne doivent pas être identiques. La synchronisation peut comprendre le synchronisme des parties de données. Par exemple, les données contenues dans un référentiel qui est structuré avec trois points décimaux peuvent être synchronisées avec les données contenues dans un 25 autre référentiel qui est synchronisé avec cinq points décimaux jusqu'à des données ayant trois points décimaux. [0017] Une couche de virtualisation des données, réalisée par une plate-forme de virtualisation des données, ne stocke rien de façon persistante ; elle pousse éventuellement les données synchronisées vers le référentiel de données d'intérêt 30 lors de la synchronisation. Dans un mode de réalisation, au cours d'une procédure de synchronisation, au moment où les données sont synchronisées, seulement le dernier état d'un référentiel est synchronisé vers un autre 3031604 référentiel, de sorte que des transactions de changement redondantes ou inutiles ne sont pas réexécutées de façon inefficace. [0018] Lors du processus de synchronisation, des changements sont effectués dans un référentiel de destination pour synchroniser avec les données dans un 5 référentiel de source, au moins jusqu'à un certain point correspondant aux attributs d'une entité dans le référentiel de destination. Les termes « source et destination » font référence à l'initiation d'une synchronisation, dans laquelle, lors d'une procédure, un référentiel est une source et un autre référentiel est une destination et, dans une autre procédure, les rôles des deux référentiels sont 10 inversés par rapport à la source et à la destination. Avant l'application de tout changement, une détermination peut être effectuée pour déterminer si un changement est justifié ou non. Le processus de détection peut inclure une comparaison. La comparaison peut être réalisée de façon récursive. Le mécanisme de détection peut réaliser une correspondance à trois paramètres. 15 Elle compare la valeur du référentiel de source, la valeur dans le référentiel de destination et une valeur précédente qui a été soit synchronisée ou déplacée d'un référentiel à un autre. En se basant sur cette comparaison à trois paramètres, on peut déterminer toutes les différentescombinaisons, et ainsi identifier la façon de synchroniser. Le mécanisme de détection peut chevaucher ces trois 20 déterminations, de façon récursive, pour déterminer ce qui doit réellement changer sur la cible. Dans un cas où il y a eu un changement, une configuration peut être recherchée dans une plate-forme de virtualisation des données pour déterminer si ces changements doivent écraser les données ou si ces changements doivent seulement être ignorés. Par rapport au fait d'ignorer, 25 aucune action n'est prise. Si des changements doivent être appliqués, le mécanisme de comparaison est exécuté par rapport aux données entrantes, y compris les parties non-modifiées, les données existantes et la valeur précédente. La comparaison peut, encore une fois, être réalisée de façon récursive. [0019] Des changements peuvent également être apportés par rapport à une 30 hiérarchie. Les entités de source et de destination sont traitées atomiquement. En d'autres termes, un changement à n'importe quel endroit dans la hiérarchie peut être traité comme un changement atomique à travers toute la hiérarchie. 6 3031604 L'intégralité de la hiérarchie est synchronisée, plutôt qu'une entité unique, et un attribut unique. [0020] Dans divers modes de réalisation, la synchronisation dans une couche de virtualisation des données peut prendre en compte les relations hiérarchiques 5 entre les entités. De telles relations peuvent être utilisées pour davantage améliorer la détection de conflits des données provenant d'une pluralité de sources. Le regroupement hiérarchique peut être utilisé dans un environnement de base de données virtualisé pour synchroniser des types de données composites dans lesquels des changements au niveau d'une ou de plusieurs entités qui 10 partagent un ancêtre à racine unique, par convention, peuvent être appliqués à partir d'une source ou une autre, mais les deux peuvent ne pas être appliqués. [0021] Un mode de réalisation de regroupement hiérarchique peut commencer par l'introduction d'une configuration hiérarchique, stockée dans un fichier ou une base de données, qui indique que les types apparentés sont hiérarchiques et 15 les relations qui relient la hiérarchie. Par exemple, une configuration peut indiquer que l'entité de type D est un enfant de l'entité de type A par une clé étrangère spécifique, et que C est un enfant de l'entité de type B par une clé étrangère spécifique, qui, à son tour, est un enfant de l'entité de type A par une clé étrangère spécifique. Ainsi, on dit que les types A, B, C et D forment une 20 hiérarchie, la hiérarchie [C => B => A, D => A]. Ensuite, un terme « regroupement hiérarchique » ou « regroupement » peut être introduit, Une hiérarchie indique les types d'une hiérarchie, alors que regroupement représente les entités données de la hiérarchie. Les entités d'un regroupement sont apparentées de façon relationnelle par des clés étrangères qui relient la hiérarchie 25 ; c.-à-d., leurs clés étrangères décrites dans la configuration correspondent aux clés relationnelles du parent apparenté et les types d'entités de la hiérarchie. Par exemple, considérons le cas dans lequel une entité « a » de type A est apparentée à une entité « d » de type D par une clé étrangère spécifique décrite dans la configuration, et qu'aucune autre entité n'est apparentée à « d » à travers cette 30 clé étrangère spécifique. Par conséquent, ['a', 'dl forme un regroupement complet par la hiérarchie [C => B => A, D => A]. [0022] Des modes de réalisation du regroupement hiérarchie peuvent être 3031604 décrits en utilisant la terminologie susmentionnée. Certains modes de réalisation peuvent être réalisés en transformant un journal de changement, une fois extrait de sa source, et encore une fois lors de l'application à la cible. Lors de l'extraction du journal de changement, on peut se souvenir de l'ordre du journal 5 en attribuant une valeur d'entier à chaque entité, représentant l'ordre dans lequel ils ont été rencontrés dans le journal de changement. Ensuite, les entités hiérarchiques retrouvées dans le journal peuvent être mises dans leurs groupements respectifs en comparant les entités contre leurs entités mères prospective&âfin de déterminer si la clé étrangère correspond, tel qu'il est décrit 10 dans la configuration. Le regroupement est ensuite comparé au contenu de la base de données source en effectuant des requêtes utilisant les clés étrangères de la configuration par rapport à chacune des entités du regroupement. Si on trouve que des entités sont apparentées aux entités du regroupement, elles sont ajoutées au regroupement sous forme d'une entrée dans le journal de changement dans 15 lequel aucun attribut d'entité n'a changé, et attribué à la prochaine valeur d'entier disponible pour l'ordre du journal. La comparaison peut continuer par rapport aux entités nouvellement ajoutées jusqu'à ce qu'aucune autre entité ne puisse être retrouvée. Une fois que la procédure de comparaison est complétée, la totalité des jeux d'entités, celles qui sont maintenant à l'intérieur des 20 regroupements, et les entités qui ne sont pas relationnelles, peuvent être remises dans une matrice et triées par leur valeur d'ordre attribuée, complétant ainsi la transformation par extraction. [0023] Une partie finale de la transformation hiérarchique peut se produire au cours du temps d'application du journal. Lors de la tentative d'application d'un 25 journal de changement, on, peut encore une fois attribuer des valeurs d'entier au journal de changement indiquant leur ordre et les regroupements hiérarchiques sont regroupés ensemble, tel qu'il est décrit dans l'étape d'extraction de la source. Une file d'attente de changement global peut être créée et rendue prête pour les nouvelles entrées. Les entités non-hiérarchiques peuvent être ajoutées à 30 la file d'attente de changement global. Â ce point, chaque groupement de source peut être comparé à un groupement cible contenant les contenus de la base de données virtuelle cible. Le groupement cible peut être créé en prenant une copie 8 3031604 de la racine du groupement et en effectuant les étapes de création de groupement décrites dans l'extraction de la source. La comparaison des groupements cible et source peut être réalisée en superposant les arborescences avec les groupements formés en comparant les clés principales des entités, et ensuite en ajoutant les 5 changements à une file d'attente locale. Lorsqu'on trouve que les entités correspondent à la clé principale, les entités peuvent être comparées par leurs attributs restants, et s'ils sont différents, une mise à jour de l'entité du journal de changement peut être ajoutée à la file d'attente changée et à laquelle on attribue la valeur d'ordre de l'entité source, et on peut noter que le groupement est en 10 conflit. Lorsqu'on trouve que les entités existent dans le regroupement source, mais pas le groupement cible, une entité d'insertion du journal de changement peut être ajoutée pour changer la file d'attente attribuée avec la prochaine valeur d'entier de l'ordre, et on peut noter que le groupement est en conflit. Lorsqu'on trouve que les entités existent dans le regroupement cible, mais pas le 15 groupement source, une entité de délétion du journal de changement peut être ajoutée pour changer la file d'attente attribuée avec la prochaine valeur d'entier de l'ordre, et on peut noter que le groupement est en conflit. Une politique de conflit peut ensuite être consultée. Si la politique de conflit indique que les conflits entrants ne doivent pas être appliqués, la file d'attente locale peut être 20 rejetée. Si la politique de conflit indique que le conflit entrant doit quand même être appliqué, les contenus de la file d'attente locale peuvent être ajoutés à la file d'attente de changement global. [0024] À ce point, les changements peuvent être collectés. Dans le cadre d'une procédure finale, la queue de changement global peut être triée selon la 25 valeur de l'ordre d'attribution. Lorsque la transformation hiérarchique est complétée, les contenus de la queue de changement global peuvent être transférés sur le restant du processus de synchronisation comme pour le journal de changement qui doit être appliqué. [0025] Dans divers modes de réalisation, les référentiels de source et de 30 destination peuvent être fonctionnellement reliés, ce qui peut être appelé correspondance par ID (identification). Dans une structure relationnelle, une clé principale peut être utilisée dans-une telle correspondance d'ID. Considérons 3031604 deux instruments utilisateurs importants des données relatives aux mêmes objets, utilisant le même nom. Dans un référentiel, l'objet est associé à une clé principale ayant une valeur de N et, dans l'autre référentiel, l'objet est associé à une clé principale ayant une valeur de M. Dans la plate-forme de virtualisation 5 de données, la clé principale peut être structurée sous forme d'un entier ID ; un chiffre unique qui est uniquement attribué lorsque chaque ligne est créée dans le référentiel. Lorsque le changement arrive jusqu'à l'objet avec une valeur principale de N, la requête de changement est envoyée avec le nom de l'objet qui est maintenu dans un fichier de configuration. Le nom est une clé naturelle. 10 Avant l'application du changement dans l'autre référentiel, le changement entrant est examiné et il est déterminé que le changement entrant est associé avec le nom de l'objet dans le référentiel, qui a une valeur principale de M. Le jeu de changement qui est appliqué peut être basé sur une politique de conflit, qui peut être définie relativement à la clé principale. Dans divers modes de réalisation, 15 une clé principale peut comprendre plusieurs parties, particulièrement avec une imbrication augmentée dans la structure relationnelle. [0026] Dans divers modes de réalisation, les changements au niveau de la colonne dans les données virtuelles dans un environnement virtuel sont suivis. Par conséquent, un référentiel donné peut synchroniser un jeu de ses attributs à 20 un deuxième référentiel, et peut synchroniser un jeu complètement différent simultanément à un troisième référentiel. Cette approche peut permettre une flexibilité complète en termes des fractions des données qui peuvent être déplacées autour de différents référentiels. [0027] Une cartographie de clé peut être réalisée en présence de contraintes 25 uniques additionnelles. Alors que la synchronisation de base de données change dans un environnement de base de données virtuel, dans lequel les entités ont des clés principales et des contraintes uniques additionnelles, où la contrainte unique détermine l'identité de l'entité en préférence à la clé principale, on peut rencontrer un type particulier de conflit dans lequel deux des mêmes entités, 30 considérées comme étant les mêmes en comparant la contrainte unique additionnelle, auraient pu être ajoutées des deux côtés de l'environnement de base de données virtuel, de sorte qu'on ne puisse pas ajouter une entité à partir 10 3031604 d'un côté source vers un côté cible sans violation de la contrainte unique, produisant ainsi le soi-disant conflit « créer-créer ». [0028] Les modes de réalisation, tels qu'ils sont décrits ici, peuvent être utilisés pour résoudre ces conflits automatiquement en attachant des 5 informations à caractère unique au dossier du journal de changement de l'entité dans la file d'attente après, lorsque des changements en attente vers une cible peuvent être réécrits avant leur application par changement de la clé principale dans le journal de changement de pré-application pour correspondre à la clé existante du côté cible. 10 [0029] Le procédé de réécriture du journal de changement peut commencer par l'ajout des informations à caractère unique à un journal de changement lorsque le journal de changement de l'entité est enregistré du côté source. Lors de l'enregistrement du changement, la clé principale peut être enregistrée dans le journal de changement. Le procédé peut ajouter les informations à caractère 15 unique en enregistrant le n-uplet des valeurs, un pour chacune des colonnes de la contrainte unique. En outre, si l'une des colonnes de la contrainte unique représente des clés étrangères à d'autres entités et qu'on détermine que la clé apparentée dans l'entité apparentée est la clé principale de l'entité apparentée et l'entité apparentée possède une propre contrainte unique, alors, le u-uplet des 20 valeurs provenant de l'entité apparentée peut être remplacé pour l'entrée de la clé étrangère. Le procédé de remplacement des n-uplets par des clés étrangères peut continuer sur les n-uplets remplacés jusqu'à ce qu'aucun remplacement ne puisse être effectué. [0030] Le procédé de réécriture peut se terminer lorsqu'il met à jour les clés 25 principales dans le journal de changement avant de tenter d'appliquer le changement du côté cible. La réécriture peut être accomplie en récupérant la contrainte à caractère unique du journal de changement de l'entité, et ensuite de tenter d'extraire la clé principale équivalente du côté cible qui correspond aux informations à caractère unique. L'entité du côté cible qui correspond au n-uplet 30 à caractère unique peut être obtenue par une requête de la base de données virtuelle ; les valeurs des colonnes à contraintes uniques de l'entité cible doit correspondre à la colonne équivalente dans le n-uplet à caractère unique. S'il est 11 3031604 déterminé que la colonne équivalente est elle-même un n-uplet plutôt qu'une valeur unique, c'est parce que cette colonne est une clé étrangère, dans ce cas, la clé principale de l'entité étrangère, où les colonnes de la contrainte unique sur cette entité étrangère qui correspond au n-uplet est remplacé pour le n-uplet dans 5 le n-uplet à caractère unique par le même procédé. Étant donné que les n-uplets contiennent des n-uplets, le procédé peut évaluer les n-uplets de façon récursive dans les clés principales, jusqu'à ce que finalement la clé principale qui correspond à l'intégralité du caractère unique du n-uplet soit obtenue. Lors de l'obtention de la clé principale fmale, la clé principale peut être remplacée par la 10 clé principale dans le journal de changement. La réécriture est complète à ce point, étant donné que la clé principale et les colonnes de contraintes uniques correspondent dans le journal de changement, le conflit généré par le fait d'avoir des clés principales avec des contraintes uniques additionnelles a été résolu. [0031] La Figure 1 est un organigramme d'un mode de réalisation d'un 15 exemple d'architecture de système 10. L'architecture de système 10 peut comprendre une plate-forme de virtualisation des données 101 gérant des flux de données provenant des instruments utilisateurs 100 vers le stockage 102 de sorte que les instruments utilisateurs 100 ne soient pas liés directement au stockage 102 ou aux composants du stockage 102, passe directement à travers la plate- 20 forme de virtualisation des données 101. Les instruments utilisateurs 100 peuvent ne contenir aucune information concernant l'emplacement ou l'acheminement vers le stockage 102 ou les composants du stockage 102. Les instruments utilisateurs 100 peuvent comprendre, sans limitation, des dispositifs mobiles, des applications, des instrumentalités de service, et des systèmes. Les 25 instruments utilisateurs 100 essentiellement « voir » la présentation de la source, ou une vue de la source, de stockage 102 et en dessous des instruments utilisateurs 100, la plate-forme de virtualisation des données 101 se charge de la traduction entre cette vue et les données physiques réelles qui sont stockées dans le stockage 102. 30 [0032] La plate-forme de virtualisation des données 101 peut comprendre un serveur de données de destination 103, un serveur de données source 104 et un serveur de données de synchronisation 105. Le serveur de données de destination 12 3031604 103 peut comprendre un modèle de virtualisation des données de destination 103-1. Le serveur de données source 104 peut comprendre un modèle de virtualisation des données sources 104-1. Le serveur de données de synchronisation 105 peut comprendre un modèle de visualisation des données de 5 synchronisation 104-1. [0033] Le stockage 102 peut comprendre un référentiel de destination 109, un référentiel de source 110, un référentiel de source 111, un référentiel de synchronisation 112 et un référentiel de source 113. Ces référentiels peuvent être concrétisés sous forme de composants physiques distincts, dans lesquels chaque 10 composant peut être à distance de divers composants des composants physiques distincts. Le référentiel de destination 109 peut être couplé à un serveur des données de destination 103 via un trajet de communication 114 pour permettre une communication bidirectionnelle des données vers le modèle de virtualisation des données de destination 103-1. Le référentiel de source 110 et le référentiel de 15 source 111 peuvent être couplés au serveur de données source 104 via des trajets de communication 115 et 116, respectivement, pour permettre une communication bidirectionnelle des données vers le modèle de virtualisation des données source 104-1. [0034] Le référentiel de synchronisation 112 peut être couplé au serveur des 20 données de synchronisation 105 via le trajet de communication 114 pour permettre une communication bidirectionnelle des données vers le modèle de virtualisation des données de synchronisation 105-1. Le référentiel de synchronisation 112 peut stocker toutes les métadonnées et les états apparentés à ce qui a été déjà synchronisé entre deux référentiels et stocker ce qui reste à 25 faire. [0035] Le référentiel de source 113 peut être couplé aux instruments utilisateurs 100 via un trajet de communication 121 pour permettre une communication bidirectionnelle des données vers les instruments utilisateurs 100. Le référentiel de source 113 peut être structuré sous forme d'une base de 30 données locale des instruments utilisateurs 100. [0036] La plate-forme de virtualisation des données 101 peut être structurée pour synchroniser toutes les données virtualisées, ou des sous-ensembles de 13 3031604 données, s'il y a lieu, à travers des référentiels de données hétérogènes, quel que soit la source ou l'origine des données, telle que des bases de données commerciales, des fichiers, des données à l'intérieur des tableurs, des services Web, des dispositifs mobiles, de grands référentiels de données, des référentiels 5 de nuage, des référentiels No-SQL, ou tout autre type de référentiel de données virtualisées, sans nécessité un accès direct à ces référentiels au cours de la synchronisation. La plate-forme de virtualisation des données 101 peut être structurée pour fonctionner afin de réaliser l'une ou plusieurs des tâches suivantes : lire des informations de configuration concernant les sources, les 10 destinations et des mappages de données ; mettre à jour un sous-ensemble de données d'origine destiné à une destination de récepteur ; vérifier la source pour de nouveaux changements depuis la dernière vérification de ce type ; identifier les changements en attente pour la destination depuis la dernière synchronisation de ce type ; vérifier la présence de conflit pour les changements en attente ; 15 appliquer une politique de résolution de conflit appropriée ; mettre les entités dans un ordre d'exécution choisi avant la synchronisation des données ; appliquer d'abord les insertions en attente ; appliquer les mises à jour suivant l'application des insertions en attente d'abord, appliquer les délétions après l'application des mises à jour suivant l'application des insertions en attente 20 d'abord ; suivre et documenter toute erreur rencontrée au cours de ces opérations et enregistrer un résumé de transaction du processus de synchronisation au complet. [0037] La plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des 25 données 101 peut être structurée pour, périodiquement, invoquer des procédures pour permettre à divers référentiels de données d'obtenir, par incrément, un contenu en données identique à travers un quelconque réseau connecté de référentiels dans une quelconque configuration de déploiement. Une telle configuration de déploiement peut comprendre, sans limitation, une 30 configuration paire à paire, en étoile, maître-esclave, entre autres. La plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 peut 14 3031604 comprendre un ordonnanceur, un chronomètre, une tache exécutable et des procédures utilisant ces composants. [0038] La plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des 5 données 101 peut être structurée pour configurer la plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 pour préciser le mappage des données entre les référentiels de source et de destination. La plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données 10 semblable à la plate-forme de virtualisation des données 101 peut comprendre l'un ou plusieurs des éléments suivants : une définition de schémas de configuration qui met sous contrainte la validité des informations de configuration ; des informations de connexion pour les sources et les destinations virtualisées nécessaires à la plate-forme de virtualisation des données 101 ou une 15 plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 ; des paramètres, tels qu'un intervalle ou une fréquence de synchronisation, qui gouvernent l'exécution de la plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données 101 semblable à la plate-forme de virtualisation des données 101 ; et un 20 mappage entre les entités de source et de destination et leur attributs pour implémenter des procédés de synchronisation de la plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101. [0039] Un modèle de données et/ou un schéma pour stocker des données et des 25 métadonnées peut être associé à la plate-forme de virtualisation des données 101 ou à une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 et des procédés d'utilisation de la plate-forme de virtualisation des données 101 ou associé à l'utilisation d'une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des 30 données 101 décrites ici. Le modèle peut comprendre des entités et des relations qui suivent l'un ou plusieurs des éléments suivants : les métadonnées, y compris un compteur du suivi du changement par incrément, associées aux attributs 15 3031604 changés de toutes les entités de tous les référentiels qui sont configurés par la plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 ; les métadonnées associées à un sous-ensemble de données 5 provenant d'un référentiel d'origine vers un référentiel de destination tel que configuré par la plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 ; les métadonnées associées aux informations recueillies au cours des cycles de pré-synchronisation entre les référentiels de source et de 10 destination ; et toute erreur associée à la propagation du changement réel associé à un changement donné des métadonnées. Un modèle de données et/ou un schéma peut être structuré pour stocker des informations de la transaction de synchronisation. Les informations de la transaction de synchronisation peuvent comprendre la date et l'heure de la conclusion de l'activité de synchronisation, 15 l'identificateur de source unique, l'identificateur de destination unique, les entités de source, les entités de destination, les attributs de source, les attributs de destination, le comptage des entités synchronisées, le comptage des attributs synchronisés, le comptage des entités avec des erreurs au cours de la synchronisation, le comptage des attributs avec des erreurs au cours de la 20 synchronisation, et les valeurs de début et de fin du compteur de métadonnées. [0040] La plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 peut être structurée pour vérifier la présence de conflit dans les changements en attente. La plate-forme de virtualisation des données 101 ou 25 une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 peut être structurée pour réaliser l'un ou plusieurs des éléments suivants : effectuer une correspondance à trois paramètres pour détecter des conflits du changement d'attribut en comparant un dièse, ou un code numérique unique, du contenu de source , le dièse, ou le code numérique unique, 30 du contenu de destination, et le dièse stocké, ou le code numérique unique, du dernier contenu synchronisé connu ; de prendre en compte les relations hiérarchiques entre les entités afm d'améliorer davantage la détection de conflit ; 16 3031604 et c) sauter le changement en attente s'il est détecté que la destination a déjà le même contenu que le changement source. [0041] La plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des 5 données 101 peut être structurée pour appliquer une politique de résolution de conflit appropriée qui résout les conflits détectés résumés ci-dessus par rapport à la vérification des conflits pour les changements en attente, effectuer une correspondance à trois paramètres, en tenant compte des relations hiérarchiques et sauter un changement en attente. La plate-forme de virtualisation des données 10 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 peut être structurée pour appliquer une politique de résolution de conflit appropriée en réalisant une opération comprenant la détermination du gagnant dans le cas d'un conflit tel qu'indiqué par la configuration présentée ci-dessus pour préciser un mappage de données 15 entre les référentiels de source et de destination. La configuration peut comprendre un ou plusieurs éléments suivants : une définition de schéma de configuration qui met sous contrainte la validité des informations de configuration ; des informations de connexion pour les sources et les destinations virtualisées nécessaires à la plate-forme de virtualisation des données 101 ou une 20 plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 ; des paramètres, tels qu'un intervalle ou une fréquence de synchronisation, qui gouvernent l'exécution de la plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données 101 semblable à la plate-forme de virtualisation des données 101 ; et un 25 mappage entre les entités de source et de destination et leur attributs pour implémenter des procédés de synchronisation de la plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101. La plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la 30 plate-forme de virtualisation des données 101 peut être structurée pour appliquer une politique de résolution de conflit appropriée qui résout les conflits détectés comprenant l' annulation ou l'application du changement en attente telle que 17 3031604 déduits de la politique déterminée. [0042] La plate-forme de virtualisation des données 101 ou une plate-forme de virtualisation des données semblable à la plate-forme de virtualisation des données 101 peut être structurée pour fonctionner en association avec le 5 changement de métadonnées stocké comme qu'il est présenté ci-dessus par rapport à un modèle de données et/ou un schéma pour stocker des données et des métadonnées. Une telle combinaison peut être utilisée pour assurer un ou plusieurs des éléments suivants : le changement de métadonnées est suivi au niveau de l'entité et de l'attribut permettant ainsi une synchronisation partielle de 10 l'entité dans le cas où une destination n'est intéressée que dans un sous-ensemble des attributs et des entités ; le compteur de changement de métadonnées permet la synchronisation par incrément des derniers changements seulement à partir d'un référentiel de source vers de multiples destinations simultanées chacune d'entre elles pouvant nécessiter des sous-ensembles 15 disparates des données de source ; des informations déletées sont correctement propagées même lorsque les référentiels de source ne retiennent pas, ou utilisent, des informations concernant les informations déletées ; les cycles redondants et faux de mises à jour apparentées au changement sont protégés des référentiels qui se synchronisent symétriquement ; rester robuste et sans erreur dans le cas où 20 les entités et les attributs sont enlevés ou augmentés du schéma des référentiels de source et de destination ; éliminer le besoin de synchroniser les horloges du système du serveur à travers les réseaux de synchronisation des référentiels ; prévenir le besoin de stocker des copies intermédiaires des données de changement réelles dans un quelconque référentiel ; et permettre une quelconque 25 spécification de requête dynamiquement au niveau de l'exécution pour contrôler le sous-ensemble de données synchronisées entre une source et une destination. [0043] Les Figures 2A-2K sont des organigrammes de modes de réalisation d'exemples d'interfaces de système qui peuvent être implémentés dans l'architecture du système 10 de la Figure 1. Une interface peut être réalisée par 30 un module qui fournit des procédures exécutables. Ces interfaces peuvent fournir, pour la réalisation, des procédés et des systèmes décrits ici. Les Figures 2A-2K sont des organigrammes de modes de réalisation d'exemples d'interfaces 18 3031604 de système qui peuvent être implémentés dans l'architecture du système 10 de la Figure 1. Ces interfaces peuvent fournir, pour la réalisation des procédés et des systèmes décrits ici. La Figure 2A est un organigramme d'un mode de réalisation d'un exemple d'interface de changement 200. L'intervalle de 5 changement 200 peut avoir un compteur de changement 200-1 et peut être agencé pour contenir un identifiant de référentiel unique 200-2 qui peut être structuré sous forme d'une clé principale, une opération de changement 200-3, un nom d'entités 200-4, une ID 200-9, un nom d' attribut 200-5, un dièse de la valeur de l'attribut changé 200-6, un état de changement 200-7 et une erreur 10 optionnelle 200-8. L'opération de changement peut être une insertion, une mise à jour ou une délétion. [0044] Le compteur de changement peut être structuré pour maintenir une version de changement afin de garder la trace de la version stockée dans les métadonnées. Il peut garder une trace de chaque détail. Ce compteur de 15 changement peut être stocké dans un référentiel de métadonnées de synchronisation, qui peut être agencé pour stocker des métadonnées mais qui ne stocke aucune valeur réelle de l'une quelconque des entités qui sont synchronisées. Le compteur de changement permet le suivi à travers de multiples synchronisations. En outre, un dièse de la valeur réelle, où le dièse est 20 une signature de ce que la valeur représente, peut être maintenu. Une signature d'une entrée de données peut être calculée sur le dièse, qui permet une comparaison des valeurs du dièse afin de déterminer s'il y a eu un changement ou non. Par exemple, on peut avoir un grand fichier qui peut être comprimé à un nombre, ou à un nombre spécifique, de sorte que si le nombre est différent d'un 25 dièse précédemment stocké, la comparaison indique que l'entité a changé d'une certaine façon. On ne doit pas aller chercher le fichier en entier pour savoir s'il y a eu un changement ou non dans celui-ci. Une comparaison de son dièse indique qu'il y a eu un changement, ce qui permet de garder une trace de la version. [0045] La Figure 2B est un organigramme d'un mode de réalisation d'un 30 exemple d'une interface de collection de changement 201. L'interface de collection de changement 201 peut comprendre une instrumentalité pour ajouter un changement 201-1, faire une itération à travers des changements collectés 19 3031604 201-2, récupérer un changement spécifique 201-3, vérifier si la collection contient un changement spécifique 201-4, géré une liste de clés d'entité pour la collection de changement 201-5, vérifier si un changement donné est en conflit avec cette collection de changements 201-6, et maintenir un comptage d'entités 5 201-7 et un comptage d'attribut 201-8. [0046] La Figure 2C est un organigramme d'un mode de réalisation d'un exemple d'interface de source de changement 202. L'interface de source de changement 202 peut comprendre une instrumentalité pour récupérer les derniers changements 202-1, les attributs de chaque entité exposés par la source pour la 10 synchronisation 202-2, la liste des types de données de l'attribut pour les attributs de l'entité 202-3, les attributs clés pour chaque entité 202-4, les types des attributs clés pour chaque entité 202-5. L'interface de source de changement 202 peut être structurée pour supprimer une entité 202-6, insérer une entité 2027, mettre à jour une entité 202-8 et préciser un mappage 202-9 vers une entité de 15 destination configurée, comme il est décrit ici. [0047] La Figure 2D est un organigramme d'un mode de réalisation d'un exemple d'une interface de synchroniseur 203. L'interface de synchroniseur 203 peut comprendre l' instrumentalité permettant de récupérer de nouveaux changements de source 203-1, de définir des sous-ensembles de données à partir 20 d'une source vers une destination 201-2, synchroniser deux référentiels 203-3, réinitialiser les métadonnées de suivi de changement 203-4, fournir les erreurs rencontrées 203-5, et documenter et rapporter les transactions 203-6. La synchronisation des deux référentiels peut comprendre une permutation de l'une ou de plusieurs des opérations suivantes : lire des informations de configuration 25 concernant les sources, les destinations et des mappages de données ; mettre à jour le sous-ensemble de données d'origine destinées au référentiel du récepteur ; vérifier la source pour de nouveaux changements depuis la dernière vérification de ce type ; identifier les changements en attente pour la destination depuis la dernière synchronisation de ce type ; vérifier la présence de conflit pour les 30 changements en attente ; appliquer une politique de résolution de conflit appropriée ; mettre les entités dans un ordre d'exécution choisi avant la synchronisation des données ; appliquer d'abord les insertions en attente suivi de 20 3031604 l'application des mises à jour et ensuite des délétions ; suivre et documenter toute erreur rencontrée au cours de ces opérations et enregistrer un résumé de transaction du processus de synchronisation au complet. [0048] La Figure 2E est un organigramme d'un mode de réalisation d'un 5 exemple d'interface de spécification de synchronisation 204. L'interface de spécification de synchronisation 204 peut comprendre un référentiel de source 204-1, un référentiel de destination 204-2, un référentiel pour stocker les métadonnées de synchronisation 204-3, et une cartographie entre les entités de source et les entités de destination 204-4. 10 [0049] La Figure 2F est un organigramme d'un mode de réalisation d'un exemple d'interface de carte de synchronisation 205. L'interface de carte de synchronisation 205 peut comprendre une liste d'une entité de source 205-1, une requête, lorsqu'elle est exécutée, sur le référentiel de source spécifie le sous-ensemble de données 205-2 ciblé pour le référentiel de destination 205-3, est un 15 jeu de mappages d'attribut à partir de l'entité de source vers l'entité de destination 205-4. [0050] La Figure 2G est un organigramme d'un mode de réalisation d'un exemple d'interface de transaction de synchronisation 206. L'interface de transaction de synchronisation 206 peut fournir les informations de transaction 20 de synchronisation stockées des attributs comprenant la date et l'heure de la conclusion de l'activité de synchronisation 206-1, un identifiant de source unique 206-2, un identifiant de destination unique 206-3, des entités de source 206-4, des entités de destination 206-5, des attributs de source 206-6, des attributs de destination 207-7, et des valeurs de début 206-8 et de fin 206-9 d'un 25 compteur de métadonnées. [0051] La Figure 2H est un organigramme d'un mode de réalisation d'un exemple d'interface d'état de synchronisation 207. L'interface d'état de synchronisation 207 peut fournir l'état d'une opération de synchronisation en cours via les états cycliques entre les étiquettes de succès 207-1, en attente 207- 30 2, erreur 207-3, manuel 207-4, sauté 207-5 et dans la source 207-5. [0052] La Figure 21 est un organigramme d'un mode de réalisation d'un exemple d'interface de dièse de changement 208. L'interface de dièse de 21 3031604 changement 208 peut comprendre une instrumentalité pour fournir un dièse ou un code numérique unique ou toute valeur d'attribut 208-1. L'interface de dièse de changement 208 peut comprendre un algorithme utilisé pour calculer cette valeur de dièse 208-2, et diverses structures de données pour maintenir des 5 groupes de tels dièses, tels que des collections 208-3, des cartes 208-4 et des arborescences 208-4. [0053] La Figure 27 est un organigramme d'un mode de réalisation d'un exemple d'interface d'opération de synchronisation 209. L'interface d'opération de synchronisation 209 peut décrire des modes et des façons des changements 10 tels que des insertions 209-1, des mises à jour 209-2, des délétions 209-3 et pas de changement 209-4. [0054] La Figure 2K est un organigramme de mode de réalisation d'un exemple d'une interface d'exception de synchronisation 210. L'interface d'exception de synchronisation 210 peut émettre un message d'erreur de 15 synchronisation 210-1 et tout contexte associé à ce message d'erreur 210-2. [0055] La Figure 3 est un organigramme d'un mode de réalisation d'un exemple de modèle de configuration pour un jeu de configuration 300. Le jeu de configuration 300 peut comprendre des paramètres 301 et une spécification 302. Les paramètres 301 peuvent comprendre, sans limitation, un paramètre de 20 précision 303, un paramètre d'arrondi 304 et un paramètre d'intervalle 305. Le paramètre d'intervalle 305 peut préciser la fréquence de synchronisation devant être réalisée. La spécification 302 comprend les données de configuration d'une carte 306, une source 307, une destination 308 et un référentiel de synchronisation 309. Le référentiel de synchronisation 309 peut comprendre des 25 informations de connexion 320. [0056] La carte 306 peut comprendre des données de configuration d'une entité de source 310, d'une entité de destination 311, d'une carte d'attribut 312 et d'une requête de sous-ensemble 313. La carte d'attribut 312 peut comprendre des données de configuration pour un attribut de source 321 et un attribut de 30 destination 322. [0057] Les données de configuration pour la source 307 peuvent comprendre une ID 314, une politique de conflit 315 et des informations de connexion 316. 22 3031604 La politique de conflit 315 peut être concrétisée en un certain nombre de façons. La politique de conflit 315 peut être l'identité d'un gagnant d'un.conflit. La politique de conflit 315 peut être un jeu de règles permettant de déterminer l'entité gagnante du conflit. 5 [0058] Les données de configuration pour la destination 308 peuvent comprendre une ID 317, une politique de conflit 318 et des informations de connexion 319. La politique de conflit 318 peut être concrétisée en un certain nombre de façons. La politique de conflit 318 peut être l'identité d'un gagnant d'un conflit. La politique de conflit 318 peut être un jeu de règles permettant de 10 déterminer l'entité gagnante du conflit. [0059] Les Figures 4A et 4B sont des organigrammes d'un mode de réalisation d'un exemple d'un flux de synchronisation de données. Les Figures 4A illustrent un débit 400-1 pour préparer une procédure de synchronisation. À 401, une virtualisation des données de source est réalisée. À 402, une virtualisation 15 des données de destination est réalisée. À 403, une virtualisation des données de synchronisation est réalisée. À 404, une tâche de synchronisation périodique est programmée. Avant la synchronisation, les données de configuration sont activées dans la couche de virtualisation des données de sorte que la synchronisation dans la couche de virtualisation des données, via la plate-forme 20 de virtualisation des données, telle que la plate-forme de virtualisation 101 de la Figure 1, peut être réalisée distinctement d'une pluralité de référentiels de données physiques sans nécessité un accès direct à la pluralité des référentiels de données au cours de la synchronisation. En se référant à la Figure 1 comme exemple, au cours du débit 400, les données peuvent être communiquées à partir 25 d'un référentiel de destination 109 vers le modèle de visualisation de données de la destination 103-1, les données peuvent être communiquées à partir de référentiels de source 110 et 111 vers le modèle de visualisation des données de source 104-1, et à partir du référentiel de synchronisation 112 vers le modèle de visualisation des données de synchronisation 105-1. 30 [0060] Les Figures 4A illustrent une exécution d'un débit 400-2 pour réaliser une procédure de synchronisation. À 405-1, une indication peut être fournie pour exécuter la procédure de synchronisation à une période spécifiée. D' autres 23 3031604 déclencheurs peuvent être utilisés pour initier la procédure de synchronisation. L'exécution de la procédure de synchronisation peut commencer à 405-2 en réponse à la survenue de la période spécifiée ou de la détection du déclencheur. À 406, les informations de configuration sont lues. Les informations de 5 configuration lues peuvent comprendre quelles sources, quelles destinations, tous les mappages entre quelles entités peuvent synchroniser avec quelles entités, l'intervalle de temps, tout ce qui doit être utilisé pour gérer la synchronisation au niveau de la couche de virtualisation des données. À 407, un sous-ensemble de données pour la destination est mis à jour. À 408, la source est vérifiée pour des 10 nouveaux changements. À 409, les changements en attente pour la destination sont obtenus. À 410, une vérification des conflits est réalisée. À 411, une politique de résolution de conflits est appliquée. À 412, des entités pour la synchronisation sont ordonnées. À 413, des insertions sont appliquées. À 414, des mises à jour sont appliquées. À 415, des délétions sont appliquées. À 416, 15 les erreurs sont documentées. À 417, la transaction de la synchronisation est enregistrée. À 418, on met fin au processus de synchronisation. Le flux d'exécution peut être exécuté pour chaque paire d'entités et chaque combinaison. [0061] La Figure 5 est un organigramme des caractéristiques d'un mode de réalisation d'un exemple de modèle de données de noyau. Le modèle de 20 données de noyau peut comprendre un compteur de changement 500 et une transaction de changement 501. Le compteur de changement 500 peut comprendre un compteur 502, une II) de source 503, une ID de destination 504, un nom d'entité 505, un nom d'attribut 506, un ou des noms d'attributs principaux 507, une opération de changement 508, un dièse de valeurs d'attributs 25 509 et un message d'erreur 511. Le compteur de changement 500 permet à la couche de visualisation des données de garder une trace de chaque détail, de chaque colonne, de chaque entité et de chaque paire de référentiels sans limite de temps. C'est l'un des éléments qui peut être stocké dans les métadonnées pour la synchronisation. Dans divers modes de réalisation, aucune des valeurs réelles de 30 l'une quelconque des entités qui sont synchronisées n'est stockée dans le référentiel des métadonnées de synchronisation. Les seules informations stockées, dans ces modes de réalisation, sont les métadonnées, qui comprennent 24 3031604 le compteur de changement 500 qui est le type le plus courant de métadonnées stockées. [0062] La transaction de changement 501 peut être structurée pour procurer une comptabilité de la procédure de synchronisation. La transaction de 5 changement peut comprendre un horodatage 512, une ID de source 513, une ID de destination 514, un nom d'entité de source 515, un nom d'entité de destination 516, un comptage d'entité 517, un comptage d'attribut 518, un comptage d'erreurs d'entité 519, un comptage d'erreurs d'attribut 520, un début de comptage 521 et une fin de comptage 522. La transaction de changement 501 10 permet un enregistrement, par exemple, enregistrant le temps pendant lequel un référentiel donné est synchronisé avec un autre numéro de référentiel identifié, le nombre total d'entités synchronisées, le nombre total d'attributs synchronisés, toutes les erreurs retrouvées, un temps de début, et un temps de fin, etc. [0063] La Figure 6 est un organigramme d'un mode de réalisation d'un 15 exemple de procédé de synchronisation des données. À 610, la synchronisation des données virtualisées, ou des sous-ensembles des données virtualisées, est synchronisée à travers une pluralité de référentiels de données. À 620, la synchronisation est réalisée dans une plate-forme de virtualisation des données distincte de la pluralité des référentiels de données sans nécessiter un accès 20 direct à la pluralité des référentiels de données. [0064] Un procédé 2 peut comprendre la lecture des données de configuration dans une plate-forme de virtualisation des données, les données de configuration étant des données concemantdes référentiels de source, des référentiels de destination et des mappages de données, la plate-forme de virtualisation des 25 données comprenant un ou plusieurs serveurs, la plate-forme de virtualisation des données étant utilisable pour communiquer avec un dispositif utilisateur de sorte que le dispositif utilisateur accède aux données provenant des référentiels de stockage à travers la plate-forme de virtualisation des données en absence d'une connectivité directe au référentiel de stockage ; la mise à jour d'un sous- 30 ensemble de données d'origine destinée à un référentiel de destination, le sous-ensemble de données d'origine provenant d'une source ; la vérification de la source pour de nouveaux changements depuis la dernière vérification de la 25 3031604 source ; l'identification des changements en attente pour le référentiel de destination depuis la dernière synchronisation du référentiel de destination, les changements en attente étant générés dans une ou plusieurs entités ; la vérification des conflits pour les changements en attente ; l'application d'une 5 politique de résolution de conflits ; la mise en ordre d'une ou des plusieurs entités dans un ordre d'exécution fixe avant la synchronisation des données ; et la synchronisation des données. [0065] Un procédé 3 peut comprendre les caractéristiques du procédé 2 et peut comprendre l'application d'abord des insertions en attente ; l'application des 10 mises à jour après l'application des insertions en attente ; et l'application des délétions identifiées après l'application des mises à jour suivant l'application d'abord des insertions en attente. [0066] Un procédé 4 peut comprendre les caractéristiques de l'un quelconque des procédés 2 à 3 et peut comprendre le suivi et la documentation des erreurs 15 rencontrées au cours des opérations provenant de la lecture des données de configuration dans une plate-forme de virtualisation des données pour la synchronisation des données ; l'enregistrement d'un résumé de transaction d'un procédé de synchronisation complet réalisée lors de la synchronisation des données. 20 [0067] Un procédé 5 peut comprendre les caractéristiques de l'un quelconque des procédés 2 à 4 et peut comprendre l'invocation, périodique, de la lecture, de la mise à jour, de la vérification de nouveaux changements, de l'identification, de la vérification des conflits ; l'application, la mise en ordre et la synchronisation pour activer une pluralité de référentiels de données afin 25 d'obtenir, par incrément, un contenu en données identique, à travers un réseau de référentiels connecté. [0068] Un procédé 6 peut comprendre les caractéristiques de l'un quelconque des procédés 2 à 5 et peut comprendre la spécification du mappage des données entre les référentiels de source et de destination, le mappage des données 30 comprenant : une définition de schémas de configuration qui impose une contrainte sur la validité des données de configuration ; des données de connexion pour les sources et les destinations virtualisées ; des paramètres 26 3031604 comprenant l'intervalle de synchronisation et des attributs des référentiels de source et de destination. [0069] Un procédé 7 peut comprendre les caractéristiques de l'un quelconque des procédés 2 à 6 et peut comprendre l'utilisation d'un modèle et d'un schéma 5 de données pour stocker des données et des métadonnées, le modèle de données comportant des quantités et des relations qui suivent l'un ou plusieurs des éléments suivants : les métadonnées, comprenant un compteur de suivi de changement par incrémentation, associées à des attributs changés de toutes les entités de tous les référentiels, les métadonnées associées avec un sous-ensemble 10 de données provenant d'un référentiel d'origine vers un référentiel de destination ; les métadonnées associées aux données recueillies lors des cycles précédents de synchronisation entre les référentiels de source et de destination ; les erreurs associées à la propagation du changement réel associé avec un quelconque changement de métadonnées ; ou des données de transaction de synchronisation 15 stockées comprenant : la date et l'heure de la conclusion de l'activité de synchronisation ; l'identificateur de source unique, l'identificateur de destination unique, les entités de source, les entités de destination, les attributs de source, les attributs de destination, le comptage des entités synchronisées, le comptage des attributs synchronisés, le comptage des entités avec des erreurs au cours de la 20 synchronisation, le comptage des attributs avec des erreurs au cours de la synchronisation, et les valeurs de début et de fin du compteur de métadonnées. [0070] Un procédé 8 peut comprendre les caractéristiques de l'un quelconque des procédés 2 à 7 et peut comprendre la vérification des conflits pour les changements en attente comprenant : la vérification d'une correspondance à trois 25 paramètres pour détecter des conflits du changement d'attributs en comparant un dièse, ou un code numérique unique, du contenu de source, le dièse, ou le code numérique unique, du contenu de destination, et le dièse stocké, ou le code numérique unique, du dernier contenu synchronisé connu ; de prendre en compte les relations hiérarchiques entre les entités ; et sauter le changement en attente 30 s'il est détecté que la destination a déjà le même contenu que le changement source. [0071] Un procédé 9 peut comprendre les caractéristiques de l'un quelconque 27 3031604 des procédés 2 à 8 et peut comprendre l'application d'une politique de résolution du conflit pour résoudre les conflits détectés, l'application de la politique de résolution de conflits comprenant la détermination d'un gagnant dans le cas d'un conflit et l'annulation ou l'application du changement en attente déduit de la 5 politique déterminée. [0072] Un procédé 10 peut comprendre les caractéristiques de l'un quelconque des procédés 2- à 9 et peut comprendre, en association avec les métadonnées de changement stockées, un ou plusieurs des éléments suivants : le suivi des métadonnées de changement au niveau de l'entité et de l'attribut, permettre une 10 synchronisation partielle de l'entité dans le cas où une destination n'est intéressée que par un sous-ensemble des attributs et des entités ; utiliser un compteur de changement de métadonnées pour permettre une synchronisation par incrément des derniers changements seulement à partir d'un référentiel de source vers de multiples destinations simultanées ; la propagation des 15 informations supprimées même lorsque les référentiels de source ne retiennent pas, ou fournissent, des données concernant des informations supprimées ; ou la prévention de cycles redondants et faux de changement apparenté aux mises à jour des référentiels qui synchronisent de façon symétrique. [0073] Les caractéristiques de l'un quelconque des divers procédés, telles 20 qu'elles sont décrites ici, ou d'autres combinaisons de caractéristiques peuvent être associées dans une procédure selon les enseignements décrits ici. [0074] Dans divers modes de réalisation, un dispositif de stockage non-transitoire, lisible par ordinateur, peut comprendre des instructions stockées sur celui-ci, qui lorsqu'elles sont exécutées par un dispositif, peut amener le 25 dispositif à exécuter des opérations, les opérations comprenant une ou plusieurs caractéristiques semblables à ou identique aux caractéristiques des procédés et techniques décrits ici. Les structures physiques de telles instructions peuvent être exploitées par un ou plusieurs processeurs. L'exécution de ces structures physiques peut entraîner le dispositif à réaliser des opérations pour : 30 synchroniser les données virtualisées, ou des sous-ensembles de données virtualisées, à travers une pluralité de référentiels de données ; et de réaliser la synchronisation sur une plate-forme de virtualisation des données distincte de la 28 3031604 pluralité des référentiels de données sans nécessité un accès direct à la pluralité des référentiels de données. [0075] Ces instructions peuvent comprendre des instructions pour : lire les données de configuration dans une plate-forme de virtualisation des données, les 5 données de configuration étant des données concernant des référentiels de source, des référentiels de destination et des mappages de données, la plate-forme de virtualisation des données comprenant un ou plusieurs serveurs, la plate-forme de virtualisation des données étant utilisable pour communiquer avec un dispositif utilisateur de sorte que le dispositif utilisateur accède aux 10 données provenant des référentiels de stockage à travers la plate-forme de virtualisation des données en absence d'une connectivité directe au référentiel de stockage ; la mise à jour d'un sous-ensemble de données d'origine destinée à un référentiel de destination, le sous-ensemble de données d'origine provenant d'une source ; la vérification de la source pour de nouveaux changements depuis 15 la dernière vérification de la source ; l'identification des changements en attente pour le référentiel de destination depuis la dernière synchronisation du référentiel de destination, les changements en attente étant générés dans un ou plusieurs entités ; la vérification des conflits pour les changements en attente ; l'application d'une politique de résolution de conflits ; la mise en ordre d'une ou 20 des plusieurs entités dans un ordre d'exécution fixe avant la synchronisation des données ; et la synchronisation des données. Ces instructions peuvent comprendre des instructions pour : appliquer d'abord des insertions en attente ; appliquer des mises à jour après application des insertions en attente ; et appliquer des délétions identifiées après application des mises à jour suivant 25 l'application d'abord des insertions en attente. Ces instructions peuvent comprendre des instructions pour : suivre et documenter des erreurs rencontrées au cours des opérations de lecture des données de configuration dans la plate-forme de virtualisation des données afin de synchroniser les données ; et enregistrer un résumé de transaction d'un processus de synchronisation au 30 complet réalisé lors de la synchronisation des données. [0076] En outre, un dispositif de stockage lisible par ordinateur, dans le présent document, est un dispositif physique qui stocke des données représentées 29 3031604 par la structure physique à l'intérieur du dispositif. Un tel dispositif physique est un dispositif non transitoire. Des exemples de dispositifs de stockage lisible par un dispositif peuvent comprendre, sans limitation, une mémoire en lecture seule (ROM), une mémoire à accès aléatoire (RAM), un dispositif de stockage de 5 disque magnétique, un dispositif de stockage optique, une mémoire flash et d'autres dispositifs de mémoire électronique, magnétique et/ou optique. [0077] Un système 1 peut comprendre : une plate-forme de virtualisation des données comprenant : un ou plusieurs serveurs ; une interface de communication agencée pour recevoir des données de et transmettre des données vers des 10 instruments utilisateur ; une interface de communication agencée pour recevoir des données de et de transmettre des données vers des référentiels de stockage, la plate-forme de virtualisation des données étant structurée pour réaliser une synchronisation à l'intérieur de la plate-forme de virtualisation des données distincte d'une pluralité de référentiels de données sans nécessité un accès direct 15 à la pluralité des référentiels de données. [0078] Un système 2 peut comprendre la structure du système 1 et peut comprendre la plate-forme de virtualisation des données structurées pour : lire une configuration de données dans la plate-forme de virtualisation des données, les données de configuration étant des données concernant des référentiels de 20 source, des référentiels de destination et des mappages de données ; mettre à jour un sous-ensemble de données d'origine destinées à un référentiel de destination, le sous-ensemble de données d'origine provenant d'une source ; vérifier la source pour de nouveaux changements depuis la dernière vérification de la source ; identifier des changements en attente pour le référentiel de destination 25 depuis la dernière synchronisation du référentiel de destination, les changements en attente étant générés dans une ou plusieurs entités ; vérifier les conflits pour les changements en attente ; appliquer une politique de résolution de conflits ; ordonner l'une ou les plusieurs entités dans un ordre d'exécution fixe avant la synchronisation des données ; et la synchronisation des données. 30 [0079] Un système 3 peut comprendre la structure du système 1 à 2 et peut comprendre la plate-forme de virtualisation des données structurée pour : appliquer d'abord des insertions en attente ; appliquer des mises à jour après 30 3031604 application des insertions en attente ; et appliquer des délétions identifiées après application des mises à jour suivant l'application d'abord des insertions en attente. [0080] Un système 4 peut comprendre la structure du système 1 à 3 et peut 5 comprendre la plate-forme de virtualisation des données structurée pour : suivre et documenter des erreurs rencontrées au cours des opérations de lecture des données de configuration dans la plate-forme de virtualisation des données afin de synchroniser les données ; et enregistrer un résumé de transaction d'un processus de synchronisation au complet réalisé lors de la synchronisation des 10 données. [0081] Un système 5 peut comprendre la structure de l'un quelconque des systèmes 1 à 4 et peut comprendre l'un ou plusieurs des serveurs comprenant un serveur des données de destination ayant un modèle de visualisation des données de destination ; un serveur des données de sources ayant un modèle de 15 visualisation des données de sources et un serveur des données de synchronisation ayant un modèle de visualisation des données de synchronisation. [0082] Un système 6 peut comprendre la structure de l'un quelconque des systèmes 1 à 5 et peut comprendre la plate-forme de virtualisation des données 20 comprenant l'un ou plusieurs des éléments suivants : une interface de changement ayant un compteur de changement et agencée pour contenir un identifiant de référentiel unique, une opération de changement, un nom d'entité, un nom d'attribut, un dièse de la valeur d'attribut changée et un état de changement ; une interface de collection de changements structurée pour ajouter 25 un changement, faire une itération à travers les changements collectés, récupérer un changement spécifique, vérifier si les changements collectés contiennent un changement spécifique, gérer une liste de clés d'entité pour l'interface de collection de changements, et vérifier si un changement donné est en conflit avec les changements collectés ; une interface de synchroniseur structurée pour 30 récupérer de nouveaux changements de source, un jeu de sous-ensemble de données provenant d'une source vers une destination, synchroniser deux référentiels l'un par rapport à l'autre, réinitialiser les métadonnées de suivi de 31 3031604 changement, décrire les erreurs rencontrées et documenter et rapporter les transactions ; une interface de sources de changements structurée pour récupérer les derniers changements, des attributs de chaque entité exposée par une source de synchronisation, une liste de types de données d'attribut pour les attributs 5 d'entité, des types d'attributs clés pour chaque entité, et des clés d'attribut pour chaque entité, et structurés pour supprimer une entité, insérer une entité, mettre à jour une entité, et spécifier un mappage pour une entité de destination spécifiée, une interface de spécification de synchronisation ayant un référentiel de source, un référentiel de destination, un référentiel de synchronisation pour stocker les 10 métadonnées synchronisées, et une carte de synchronisation entre les entités de sources et les entités de destination, une interface de cas de synchronisation ayant une liste d'entité de source, une identification d'un référentiel de destination, un- e requête pour un sous-ensemble de source qui, lorsqu'elle est exécutée sur une entité de source, spécifie un sous-ensemble de données ciblé 15 pour le référentiel de destination, et un jeu de mappages d'attributs provenant de l'entité de source vers l'entité de destination ; une interface de transaction de synchronisation qui procure les attributs pour stocker les informations de la transaction de synchronisation comprenant la date et l'heure de la conclusion de l'activité de synchronisation, un identifiant de source unique, un identifiant de 20 destination unique, des entités de source, des entités de destination, des attributs de source, des attributs de destination, et les valeurs de début et de fin d'un compteur de métadonnées ; une interface d'état de synchronisation qui donne l'état d'une opération de synchronisation en cours à travers des états qui font le cycle entre les étiquettes de succès, en attente, erreur, manuel, sauté et dans la 25 source ; une interface de dièse de changement structurée pour créer un dièse ou un code numérique unique ou une valeur d'attribut en utilisant un algorithme utilisé pour calculer une valeur de dièse, et des structures de données pour maintenir des groupes de dièses comprenant des collections, des cartes et des arborescences ; une interface d'opération de synchronisation pour décrire des 30 modes et des façons de changements parmi : pas de changement, insertion, mise à jour et délétion ; ou une interface d'exception de synchronisation qui procure un message et un contexte d'erreur de synchronisation associés à la 32 3031604 synchronisation d'un message d'erreur. [0083] Un système 7 peut comprendre la structure de l'un quelconque des systèmes 1 à 6 et peut comprendre l'opération de changement de l'interface de changement comprenant une insertion, une mise à jour ou une délétion. 5 [0084] La Figure 7 est un organigramme de mode de réalisation d'un exemple de système 700 qui peut être implémenté dans l'exemple d'architecture du système 10 de la Figure 1. Le système 700 peut être implémenté sous forme d'une structure générale d'un ou de plusieurs composants dans l'architecture de système 10. Le système 700 peut être agencé pour exécuter divers opérations sur 10 les données, d'une façon semblable ou identique à l'une quelconque des techniques de traitement décrites dans le présent document. [0085] Le système 700 peut comprendre un processeur 741, une mémoire 742, un appareil électronique 743 et une unité de communication 745. Le processeur 741, la mémoire 742 et l'unité de communication 745 peuvent être agencés pour 15 fonctionner sous forme d'unité de traitement pour contrôler le fonctionnement de la plate-forme de virtualisation des données 101 ou des composants de la plate-forme de virtualisation de 101. Dans divers modes de réalisation, le processeur 741 peut être concrétisé sous forme d'un processeur ou d'un groupe de processeurs qui peuvent fonctionner indépendamment selon la fonction attribuée. 20 La mémoire 742 peut être concrétisée sous forme d'une ou de plusieurs bases de données. [0086] L'unité de communication 745 peut comprendre des communications entre des instruments utilisateurs et une plate-forme de virtualisation des données et/ou entre la plate-forme de virtualisation des données et des 25 référentiels de stockage de données physiques. L'unité de communication 745 peut utiliser des combinaisons de technologies de communication câblées et des technologies sans câble. [0087] Le système 700 peut également comprendre un bus 747, dans lequel le bus 747 assure une conductivité électrique parmi les composants du système 30 700. Le bus 747 peut comprendre un bus d'adresse, un bus de données et un bus de contrôle, chacun configuré indépendamment. Le bus 747 peut être concrétisé en utilisant un certain nombre de moyens de communication différents qui 33 3031604 permettent la distribution des composants du système 700. Le bus 747 peut comprendre une instrumentalité pour la communication en réseau. L'utilisation du bus 747 peut être régulée par le processeur 741. [0088] Dans divers modes de réalisation, des dispositifs périphériques 746 5 peuvent comprendre des écrans, une mémoire de stockage additionnel ou d'autres dispositifs de contrôle qui peuvent fonctionner en association avec le processeur 741 où la mémoire 742. Les dispositifs périphériques 746 peuvent être agencés avec un écran, sous forme d'un composant distribué, qui peut être utilisé avec les instructions stockées dans la mémoire 742 pour implémenter une 10 interface utilisateur 762 pour gérer le fonctionnement du système 700 selon son implémentation dans l'architecture de système pour la virtualisation des données. Une telle interface utilisateur 762 peut fonctionner en association avec une unité de communication 745 et le bus 747. [0089] Les structures et techniques, telles qu'elles sont décrites ici, peuvent 15 servir de base pour les produits orientés pour gérer une grande variété de tâches de gestion de données, particulièrement celles qui sont complexes. L'utilisation d'une plate-forme de virtualisation des données constitue un mécanisme permettant de gérer une telle complexité. La plate-forme de virtualisation des données peut créer de nouveaux flux de travail et des techniques pour collaborer 20 avec des outils et instruments utilisateurs opaques et difficiles à intégrer sans apporter de modifications personnalisées importantes au niveau du référentiel de données et des ajouts de logiciels intermédiaires. La plate-forme de virtualisation des données peut procurer une intégration efficace de données et une cohérence à travers les applications et des systèmes, qui peuvent permettre 25 une activation et une gestion améliorées des tâches de gestion de données. [0090] Même si des modes de réalisation spécifiques ont été illustrés et décrits ici, il sera compris par les hommes de métier que tout agencement qui est calculé pour obtenir le même objectif peut être remplacé par les modes de réalisation spécifiques décrits. Divers modes de réalisation utilisent des permutations et/ou 30 des combinaisons des modes de réalisation décrits ici. Il doit être compris que la description susmentionnée a un but illustratif, et non restrictif, et que la phraséologie et la terminologie utilisées ici sont utilisées dans un but descriptif. 34 3031604 Des combinaisons des modes de réalisation susmentionnés et d'autres modes de réalisation seront évidentes aux spécialistes du domaine après étude de la description susmentionnée. 35 REVENDICATIONS1. Procédé caractérisé en ce qu'il comprend : la synchronisation des données virtualisées, ou des sous-ensembles de données virtualisées, à travers une pluralité de référentiels de données ; et la réalisation de la synchronisation dans une plate-forme de virtualisation des données distincte de la pluralité des référentiels de données sans nécessiter un accès direct à la pluralité des référentiels de données. 2. Procédé selon la revendication 1 caractérisé en ce qu'il comprend la lecture des données de configuration dans une plate-forme de virtualisation des données, les données de configuration étant des données concernant des référentiels de source, des référentiels de destination et des 15 mappage de données, la plate-forme de virtualisation des données comprenant un ou plusieurs serveurs, la plate-forme de virtualisation des données fonctionnant pour communiquer avec un dispositif utilisateur de sorte que le dispositif utilisateur accède aux données à partir des référentiels de stockage à travers la plate-forme de virtualisation des données sans une connectivité directe aux 20 référentiels de stockage ; la mise à jour d'un sous-ensemble de données d'origine destinées à un référentiel de destination, le sous-ensemble de données d'origine provenant d'une source ; la vérification de la source pour de nouveaux changements depuis la 25 dernière vérification de la source ; l'identification des changements en attente pour le référentiel de destination depuis une dernière synchronisation du référentiel de destination, les changements en attente étant générés dans une ou plusieurs entités la vérification des conflits pour les changements en attente ; 30 l'application d'une politique de résolution de conflits ; la mise en ordre d'une ou de plusieurs entités dans un ordre d'exécution fixe avant la synchronisation des. données ; et 3031604 37 la synchronisation des données. 3. Procédé de la revendication 2, caractérisé en ce que le procédé comprend l'application d'abord des insertions en attente ; l'application des mises à jour après application des insertions en attente ; et l'application de délétions identifiées après application des mises à jour suivant l'application d'abord des insertions en attend. 10 4 Procédé de la revendication 2, caractérisé en ce que le procédé comprend le suivi et la documentation des erreurs au cours des opérations de lecture des données de configuration dans la plate-forme de virtualisation des données pour synchroniser les données ; et l'enregistrement d'un résumé de transaction d'un processus de synchronisation complet qui réalise la synchronisation des données. 5. Procédé de la revendication 2, caractérisé en ce que le procédé comprend l'invocation périodique de la lecture, de la mise à jour, de la vérification de nouveaux changements, de l'identification, de la vérification des conflits ; l'application, la mise en ordre et la synchronisation pour activer une pluralité de référentiels de données afin d'obtenir, par incrément, un contenu en données identique, à travers un réseau de référentiels connecté. 6. Procédé de la revendication 2, caractérisé en ce que le procédé comprend la spécification du mappage de données entre des référentiels de source et de destination, le mappage des données comprenant : la définition d'un schéma de configuration qui impose une contrainte sur la validité des données de configuration ; les données de connexion pour les sources et les destinations virtualisées les paramètres comprenant l'intervalle de synchronisation ; et les attributs des référentiels de source et de destination. 3031604 38 7. Procédé de la revendication 2, caractérisé en ce que le procédé comprend l'utilisation d'un modèle et d'un schéma de données pour stocker des données et des métadonnées, le modèle de données comportant des quantités et des relations 5 qui suivent l'un ou plusieurs des éléments suivants : les métadonnées, comprenant un compteur du suivi de changement par incrément, associées aux attributs changés de toutes les entités de tous les référentiels, les métadonnées associées avec un sous-ensemble de données provenant d'un référentiel d'origine vers un référentiel de destination ; 10 les métadonnées associées avec des données recueillies pendant les cycles de synchronisation précédents entre les référentiels de source et de destination ; une erreur associée à la propagation du changement réel associée à un quelconque changement de métadonnées ; ou 15 des données de transaction de synchronisation stockées comprenant : la date et l'heure de la conclusion de l'activité de synchronisation ; l'identificateur de source unique, l'identificateur de destination unique, les entités de source, les entités de destination, les attributs de source, les attributs de destination, le comptage des entités synchronisées, le comptage des attributs synchronisés, le 20 comptage des entités avec des erreurs au cours de la synchronisation, le comptage des attributs avec des erreurs au cours de la synchronisation, et les valeurs de début et de fin du compteur de métadonnées. 8. Procédé de la revendication 2, caractérisé en ce que la vérification des 25 conflits pour les changements en attente comprend : la vérification d'une correspondance à trois paramètres pour détecter des conflits de changement d'attribut en comparant un dièse, ou un code numérique unique, du contenu de source, le dièse, ou le code numérique unique, du contenu de la destination, et le dièse stocké, ou le code numérique unique, du dernier 30 contenu de synchronisation connue ; la prise en compte des relations hiérarchiques entre les entités ; et le fait de sauter de changement en attente s'il est détecté que la 3031604 39 destination comporte déjà le même contenu que le changement de source. 9. Procédé de la revendication 2, caractérisé en ce que l'application d'une politique de résolution du conflit résout les conflits détectés, l'application de la 5 politique de résolution de conflits comprend la détermination d'un gagnant dans le cas d'un conflit et l'annulation ou l'application du changement en attente déduite de la politique déterminée. 10. Procédé de la revendication 2, caractérisé en ce que, en association avec 10 les métadonnées de changement stockées, le-procédé comprend un ou plusieurs des éléments suivants : le suivi des métadonnées de changement au niveau de l'entité et de l'attribut, permettant une synchronisation partielle de l'entité dans le cas où une destination n'est intéressée que par un sous-ensemble des attributs et des entités ; 15 l'utilisation d'un compteur de changement de métadonnées pour activer la synchronisation par incrément de seulement les derniers changements provenant d'un référentiel de source vers de multiples destinations simultanées ; la propagation des informations supprimées lorsque les référentiels de source ne retiennent pas, ou procurent, des données concernant les informations 20 supprimées ; ou la prévention de cycles redondants et faux de mises à jour apparentés au changement dans les référentiels qui synchronisent de façon symétrique. 11. Système caractérisé en ce qu'il comprend : 25 une plate-forme de virtualisation des données : un ou plusieurs serveurs ; une interface de communication agencée pour recevoir des données de et de transmettre des données vers des instruments utilisateur ; une interface de communication agencée pour recevoir des 30 données de et transmettre des données vers des référentiels de stockage, la plate- forme de virtualisation des données étant structurée pour réaliser une synchronisation à l'intérieur de la plate-forme de virtualisation des données 3031604 40 distincte de la pluralité des référentiels de données sans nécessiter un accès direct à la pluralité des référentiels de données. 12. Système de la revendication 11, caractérisé en ce que la plate-forme de 5 virtualisation des données est structurée pour : lire des données de configuration dans la plate-forme de virtualisation des données, les données de configuration étant des données concernant des référentiels de source, des référentiels de destination et des mappages de données 10 la mise à jour d'un sous-ensemble de données d'origine destinées à un référentiel de destination, le sous-ensemble de données d'origine provenant d'une source ; la vérification de la source pour de nouveaux changements depuis la dernière vérification de la source ; 15 l'identification des changements en attente pour le référentiel de destination depuis une dernière synchronisation du référentiel de destination, les changements en attente étant générés dans une ou plusieurs entités ; la vérification des conflits pour les changements en attente ; l'application d'une politique de résolution de conflits ; 20 la mise en ordre d'une ou de plusieurs entités dans un ordre d'exécution fixe avant la synchronisation des données ; et la synchronisation des données. 13. Système de la revendication 12, caractérisé en ce que la plate-forme de 25 virtualisation des données est structurée pour : l'application d'abord des insertions en attente ; l'application des mises à jour après application des insertions en attente ; et l'application des délétions identifiées après application des mises à jour 30 suivant l'application d'abord des insertions en attente. 14. Système de la revendication 12, caractérisé en ce que la plate-forme de 3031604 41 virtualisation des données est structurée pour : suivre et documenter des erreurs au cours des opérations de lecture des données de configuration dans la plate-forme de virtualisation des données pour synchroniser les données ; et enregistrer un résumé de transaction d'un processus de synchronisation complet qui réalise la synchronisation des données. 15. Système de la revendication 12, caractérisé en ce qu' un ou plusieurs serveurs comprennent : 10 un serveur de données de destination ayant un modèle de visualisation des données de destination ; un serveur de données de source ayant un modèle de visualisation des données de source ; et un serveur de synchronisation de données ayant un modèle de 15 visualisation des données de synchronisation. 16. Système de la revendication 12, caractérisé en ce que la plate-forme de virtualisation des données comprend un ou plusieurs des éléments suivants : une interface de changement ayant un compteur de changement et agencé 20 pour maintenir un identifiant de référentiel unique, une opération de changement, un nom d'entité, un nom d'attribut, un dièse de la valeur d'attribut changée et un état de changement ; une interface de collection de changement structurée pour ajouter un changement, faire une itération à travers des changements collectés, récupérer un 25 changement spécifique, vérifier si les changements collectés contiennent un changement spécifique, gérer une liste de clés d'entité pour l'interface de collection de changements et vérifier si un changement donné est en conflit avec les changements collectés ; une interface de synchroniseur structurée pour récupérer de nouveaux 30 changements de source, définir des sous-ensembles de données provenant d'une source vers une destination, synchroniser deux référentiels l'un par rapport à l'autre, réinitialiser les métadonnées de suivi de changement, décrire les erreurs 3031604 42 rencontrées et documenter et rapporter les transactions ; une interface de source de changement structurée pour récupérer les derniers changements, les attributs de chaque entité exposés par une source pour la synchronisation, une liste de types de données d'attribut pour les attributs 5 d'entité, des types d'attributs clés pour chaque entité et des attributs clés pour chaque entité, et structurée pour supprimer une entité, insérer une entité, mettre à jour une entité et préciser un mappage vers une entité de destination configurée ; une interface de spécification de synchronisation ayant un référentiel de source, un référentiel de destination, un référentiel de synchronisation pour 10 stocker les métadonnées de synchronisation et une carte de synchronisation entre les entités de sources et les entités de destination ; une interface de carte de synchronisation comportant une liste d'entité de source, une identification d'un référentiel de destination, une requête pour un sous-ensemble de source qui, lorsqu'elle est exécutée sur une entité de source, 15 spécifie un sous-ensemble de données ciblé pour le référentiel de destination, et un jeu de mappage d'attribut à partir de l'entité de source vers l'entité de destination ; une interface de transaction de synchronisation qui procure les attributs pour stocker des informations de la transaction de synchronisation comprenant la 20 date et l'heure de la conclusion de l'activité de synchronisation, un identifiant de source unique, un identifiant de destination unique, des entités de source, des entités de destination, des attributs de destination et les valeurs de début et de fin d'un compteur de métadonnées ; une interface d'état de synchronisation qui procure l'état d'une opération 25 de synchronisation en cours via les états entre les étiquettes de succès, en attente, erreur, manuel, sauté et dans la source ; une interface de dièse de changement structurée pour procurer un dièse ou un code numérique unique ou une valeur d'attribut utilisant un algorithme utilisé pour calculer une valeur de dièse, et des structures de données pour 30 maintenir des groupes de dièses comprenant des collections, des cartes et des arborescences ; une interface d'opération de synchronisation pour décrire des modes et 3031604 43 des façons de changements parmi : pas de changement, insertion, mise à jour ou délétion ; ou une interface d'exception de synchronisation qui procure un message d'erreur et un contexte de synchronisation associés au message d'erreur de 5 synchronisation. 17. Système de la revendication 16, caractérisé en ce que l'opération de changement de l'interface de changement comprend une insertion, une mise à jour ou une délétion. 10 18. Dispositif de stockage non transitoire lisible par un dispositif caractérisé en ce qu'il comporte des instructions stockées sur celui-ci, qui, lorsqu'elles sont exécutées par un dispositif, amène le dispositif à réaliser des opérations pour : synchroniser de données virtualisées, ou des sous-ensembles de données 15 virtualisées, à travers une pluralité de référentiels de données ; et réaliser une synchronisation dans une plate-forme de virtualisation des données distincte de la pluralité des référentiels de données sans nécessiter un accès direct à la pluralité des référentiels de données. 20 19. Dispositif de stockage non-transitoire lisible par un dispositif de la revendication 18, caractérisé en ce gué les instructions comprennent des instructions pour : lire les données de configuration dans une plate-forme de virtualisation des données, les données de configuration étant des données concernant des 25 référentiels de source, des référentiels de destination et des mappages de données, la plate-forme de virtualisation des données comprenant un ou plusieurs serveurs, la plate-forme de virtualisation des données fonctionnant pour communiquer avec un dispositif utilisateur de sorte que le dispositif utilisateur accède aux données à partir des référentiels de stockage à travers la 30 plate-forme de virtualisation des données sans une connectivité directe au référentiel de stockage ; mettre à jour un sous-ensemble de données d'origine destiné à un 3031604 44 référentiel de destination, le sous-ensemble de données d'origine provenant d'une source ; vérifier la source pour de nouveaux changements depuis la dernière vérification de la source ; 5 identifier des changements en attente pour le référentiel de destination depuis une dernière synchronisation du référentiel de destination, les changements en attente étant générés dans une ou plusieurs entités ; vérifier si il y a des conflits pour les changements en attente appliquer une politique de résolution de conflits ; 10 mettre en ordre l'une ou les plusieurs entités dans un ordre d'exécution fixe avant la synchronisation des données ; et synchroniser des données. 20. Dispositif de stockage non-transitoire lisible par un dispositif de la 15 revendication 19, caractérisé en ce que les instructions comprennent des instructions pour : appliquer d'abord des insertions en attente ; appliquer des mises à jour après application des insertions en attente ; et appliquer des délétions identifiées après application des mises à jour 20 suivant l'application d'abord des insertions en attente. 21. Dispositif de stockage non-transitoire lisible par un dispositif de la revendication 19, caractérisé en ce que les instructions comprennent des instructions pour : 25 suivre et documenter des erreurs au cours des opérations de la lecture des données de configuration dans la plate-forme de virtualisation des données pour synchroniser les données ; enregistrer un résumé de transaction d'un processus de synchronisation complet qui réalise la synchronisation des données.