Brevet FR3031605A1 — publié le 20160715

FILTRAGE ET ANALYSE DE DONNÉES PAR ARBRES MULTI-NIVEAUX A VARIABLES COMPOSITES Références croisées aux applications apparentées [0001] Non applicable. Déclaration concernant la recherche sponsorisée par le gouvernement fédéral [0002] Non applicable. DOMAINE DE LA DIVULGATION [0003] La présente divulgation concerne généralement les systèmes et les procédés de filtrage et d'exploration de données utilisant des diagrammes de noeud arborescent à attribut composite et à multiples niveaux. Plus particulièrement, la présente divulgation concerne le filtrage et l'exploration des données utilisant des diagrammes de noeud arborescent à attribut composite et à multiples niveaux pour sélectionner et analyser rapidement les données d'intérêt. ARRIÈRE-PLAN [0004] Dans la plupart des situations impliquant de grands ensembles de données complexes comportant beaticoup de domaines ou de colonnes, le filtrage et l'exploration conventionnels des données sont utilisés pour rechercher des données d'intérêt dans l'ensemble de données. L'approche classique nécessite donc la sélection du ou des champs préférés, l'identification des mots-clés dans le ou les champs pour le filtrage des données, l'élimination des données à partir du ou des champs et l'analyse des données clés pour trouver les données d'intérêt. Généralement, de multiples champs ou colonnes doivent être analysées avant l'identification des mots-clés pour le filtrage des données. Qui plus est, la totalité de l'ensemble de données doit être examinée afin de sélectionner le ou les champs préférés. BRÈVE DESCRIPTION DES FIGURES [0001] La présente divulgation est décrite ci-dessous en référence aux illustrations ci- jointes dans lesquelles les éléments semblables sont référencés avec des chiffres semblables, dans lesquelles : [0002] La FIG. 1 est un organigramme illustrant un mode de réalisation d'un procédé permettant d'implémenter la présente divulgation. [0003] La FIG. 2 est un-organigramme illustrant un mode de réalisation d'un procédé 3031605 2 réalisant l'étape 106 de la FIG. 1. [0004] La FIG. 3. est un organigramme illustrant un autre mode de réalisation permettant de réaliser l'étape 106 de la FIG. 1. [0005] La FIG. 4. est un organigramme illustrant un autre mode de réalisation d'un 5 procédé permettant de réaliser l'étape 106 de la FIG. 1. [0006] La FIG. 5 est un organigramme illustrant un mode de réalisation d'un procédé permettant de réaliser les étapes 204, 318, 328, 418 et 428 des FIGS. 2-4. [0007] La FIG. 6 est un exemple de diagramme de noeud arborescent illustrant le résultat de l'étape 106 dans la FIG. 1. 10 [0008] La FIG. 7 est un exemple de diagramme de noeud arborescent illustrant les résultats des étapes 202-222 de la FIG. 2. [0009] La FIG. 8 est un exemple d'un diagramme de noeud arborescent illustrant le résultat des étapes 202-206 et 224-238 de la FIG. 2. [0010] La FIG. 9 est un exemple d'un diagramme de noeud arborescent illustrant le 15 résultat des étapes 302-322 de la FIG. 3. [0011] La FIG. 10 est un exemple d'un diagramme de noeud arborescent illustrant le résultat des étapes 302-306 et 324-338 de la FIG. 3. [0012] La FIG. 11 est un exemple de diagramme de noeud arborescent illustrant les résultats des étapes 402-422 de la FIG. 4. 20 [0013] La FIG. 12 est un exemple de diagramme de noeud arborescent illustrant les résultats des étapes 402-406 et 424-438 de la FIG. 4. [0014] La FIG. 13 est un tableau illustrant une structure générale de données avec de multiples champs. [0015] La FIG. 14 est un tableau illustrant une optimisation de la structure générale de 25 données illustrée dans la FIG. 13. [0016] La FIG. 15 est un tableau d'indice d'attribut et un tableau de mappage pour le tableau d'indice d'attribut illustrant une optimisation de la structure de données illustrée dans la FIG. 14. [0017] La FIG. 16 est un organigramme illustrant un mode de réalisation permettant 30 d'implémenter la présente divulgation dans un système informatique. [0018] La FIG. 17 est un organigramme illustrant un mode de réalisation d'un système 3031605 informatique permettant d'implémenter la présente divulgation. DESCRIPTION DÉTAILLÉE DES MODES DE RÉALISATION PRÉFÉRÉS [0019] La présente divulgation comble une ou plusieurs carences de la technique 5 antérieure en proposant des systèmes et des procédés pour le filtrage et l'exploration des diagrammes de noeud arborescent à attribut composite et à multiples niveaux permettant de rapidement sélectionner et analyser les données d'intérêt. [0020] Dans un mode de réalisation, la présente divulgation comprend un procédé pour un procédé permettant de filtrer des données utilisant un diagramme de noeud arborescent à 10 attribut composite et à multiples niveaux, qui comprend : i) la création d'un arbre K comprenant de multiples noeuds K et un ou plusieurs trajets de noeud K à l'aide d'un processeur informatique, chaque trajet de noeud K comprenant un noeud K qui représente un dernier noeud ; ii) la connexion d'un ou de plusieurs noeuds A à au moins l'un de 1) chaque racine de noeud dans un arbre K, chaque noeud A étant connecté à au moins l'une des racines de noeud 15 dans l'arbre K ; 2) un dernier noeud respectif dans l'arbre K ; et 3) un noeud B respectif ; iii) connectant un ou plusieurs noeuds B à au moins l'un de 1) chaque noeud de racine dans l'arbre K, chaque noeud B étant connecté à au moins l'un des noeuds des racines dans l'arbre K ; 2) un dernier noeud respectif de l'arbre K ; et 3) un noeud A respectif et iv) chaque noeud K représentant un noeud d'attribut clé qui identifie un message de façon unique, chaque noeud A 20 représentant un noeud d'attribut informatique et chaque noeud B représentant un noeud d'attribut informatique. [0021] Dans un autre mode de réalisation, la présente divulgation comprend un dispositif de support d'un programme non-transitoire comportant des instructions exécutables par un ordinateur pour le filtrage des données utilisant un diagramme de noeud arborescent à 25 attribut composite, à multiples niveaux, les instructions étant exécutables pour implémenter : i) la création d'un arbre K comprenant de multiples noeuds K et un ou plusieurs trajets de noeuds K, chaque trajet de noeud K comprenant un noeud K qui représente un noeud de racine et un autre noeud K qui représente un dernier noeud ; ii) la connexion d'un ou de plusieurs noeuds A à au moins l'un de 1) chaque noeud de racine dans l'arbre K, chaque noeud A étant connecté à au 30 moins l'un des noeuds de racine dans l'arbre K ; 2) un dernier noeud respectif dans l'arbre K ; et 3) un noeud B respectif ; iii) reliant un ou plusieurs noeuds B à au moins l'un de 1) chaque noeud 3031605 de racine dans l'arbre K, chaque noeud B étant connecté à au moins l'un des noeuds de racine dans l'arbre K ; 2) un dernier noeud respectif dans l'arbre K ; et 3) un noeud respectif A et iv) chaque noeud K représentant un noeud d'attribut clé qui identifie, de façon unique, un message, chaque noeud A représentant un noeud d'attribut informatique et chaque noeud B représentant un 5 noeud d'attribut informatique. [0022] Dans encore un autre mode de réalisation, la présente divulgation comprend un dispositif de support d'un programme non-transitoire qui comporte de façon tangible des instructions exécutables par ordinateur pour le filtrage des données utilisant un diagramme de noeud arborescent à attribut composite, à multiples niveaux, les instructions étant exécutables 10 pour implémenter : i) la création d'un arbre K comprenant de multiples noeuds K et un ou plusieurs trajets de noeuds K, chaque trajet de noeud K comprenant un noeud K qui représente un noeud de racine et un autre noeud K qui représente un dernier noeud ; ii) la connexion d'un ou de plusieurs noeuds K à au moins l'un de 1) chaque noeud de racine dans l'arbre K, chaque noeud A étant connecté à au moins l'un des noeuds de racine dans l'arbre K ; 2) un dernier noeud 15 respectif dans l'arbre K ; et 3) un noeud B respectif ; iii) reliant un ou plusieurs noeuds B à au moins l'un de 1) chaque noeud de racine dans l'arbre K, chaque noeud B étant connecté à au moins l'un des noeuds de racine dans l'arbre K ; 2) un dernier noeud respectif dans l'arbre K ; et 3) un noeud A respectif ; iv) chaque noeud K représentant un noeud d'attribut clé, chaque noeud A représentant un noeud d'attribut informatique ; et y) le diagramme de noeud arborescent 20 comprenant de multiples champs de données, les multiples noeuds K n'étant pas restreints à un champ de donnée unique. [0023] L'objet de la présente divulgation est décrit avec spécificité ; cependant, la description elle-même n'est pas destinée à limiter la portée de la divulgation. L'objet de l'invention peut donc être réalisé par d'autres façons, afin d'inclure différentes étapes ou 25 combinaison d'étapes semblables à celles décrites ici, en association avec les technologies présentes ou futures. En outre, même si le terme « étape » peut être utilisé ici pour décrire différents éléments des procédés utilisés, le terme ne doit pas être interprété comme impliquant un quelconque ordre particulier parmi ou entre les diverses étapes décrites ici sauf en cas d'une limite implicite imposée par la description à un ordre données. La présente divulgation peut 30 être appliquée à diverses industries pour rapidement sélectionner et analyser des données d'intérêts telles que, par ex., les données pour optimiser la production de pétrole et de gaz et 3031605 5 des données pour prédire la météo. Description du procédé [0024] La description suivante comprend des procédés permettant de filtrer et d'explorer des diagrammes à noeud arborescent à attributs composites et à multiples niveaux pour rapidement sélectionner et analyser des données d'intérêt. De cette façon, les données d'intérêt peuvent être visualisées à de multiples niveaux utilisant les diagrammes de noeuds arborescents à attribut composite pour sélectionner les données d'intérêt plutôt'que la totalité de l'ensemble de données. Étant donné que les données possèdent un ou plusieurs attributs, les attributs 10 peuvent être utilisés pour créer un diagramme de noeud arborescent. Le diagramme de noeud arborescent illustre les champs de données utilisant différentes classes de noeuds (A, B, K...), également appelés ici les noeuds A, les noeuds B et les noeuds K, les noeuds A pouvant représenter un ordinateur, les noeuds B pouvant représenter une application et les noeuds K pouvant représenter un noeud d'attribut clé qui identifie, de façon unique, un message. Les 15 noeuds A, B et K sont utilisés pour identifier des messages étant donné que de multiples ordinateurs peuvent être utilisés pour exécuter la même application ou même des milliers d'applications. Étant donné que chaque application possède de multiples états (par ex., erreur, avertissements, informations, succès), les noeuds A, B et K sont utilisés pour identifier le type de message qui provient d'une application donnée et d'un ordinateur donné. Des classes 20 additionnelles de noeuds peuvent être utilisées pour représenter des champs de données additionnels et chaque classe de noeud peut comprendre un ou plusieurs noeuds d'attributs tels que, par ex.,, A (al, a2, a3...), B (bl, b2, b3...), et K (kl, k2, k3...). Chaque noeud d'attribut est soit un noeud parent (racine) ou un noeud enfant et peut comprendre une étiquette pour identifier sa sélection. Un trajet de noeuds d'attribut relie un noeud de racines à un ou plusieurs 25 noeuds enfant, chacun pouvant se trouver dans un ou plusieurs trajets de noeud. Les noeuds d'attribut pour les noeuds A, B sont restreints à un champ de données de niveau unique dans le diagramme de noeud arborescent, alors que les noeuds d'attribut pour les noeuds K ne sont pas restreints à un champ de données de niveau unique et peuvent comprendre des connexions internes lorsque des champs de données multiniveaux sont utilisés. Le contenu des noeuds K 30 peut être défini par les applications (c.-à-d., les noeuds B) qui envoient des messages vers le système. 3031605 [0025] En se référant maintenant à la FIG. 1, un organigramme d'un mode de réalisation d'un procédé 100 permettant d'implémenter la présente divulgation est illustré. [0026] À l'étape 102, un ordre d'attribut préféré est choisi utilisant l'interface client et/ou l'interface vidéo décrite plus en détail en référence à la FIG. 17. Un ordre de noeuds d'attribut 5 peut comprendre, par ex., les noeuds A, les noeuds K et les noeuds B. L'ordre du noeud d'attribut dépendra de la priorité du filtrage des champs de données dans lesquels les noeuds d'attribut se trouvent. En utilisant le même ordre de noeud d'attribnt comme un exemple (noeuds A, noeuds K et noeuds B), les données associées aux noeuds A ayant la priorité la plus élevée pour le filtrage suivies des données associées aux noeuds K et les données associées aux noeuds B 10 ayant la plus faible priorité pour le filtrage. [0027] À l'étape 106, un diagramme de noeud arborescent est créé en utilisant le même ordre de noeud d'attribut qu'à l'étape 102. Différents modes de réalisation des procédés permettant de réaliser cette étape sont décrits plus en détail en référence aux FIGS. 2-4 assujetti à l'ordre d'attribut choisi à l'étape 102. En raison des différentes classes de noeuds qui 15 peuvent être utilisées pour représenter des champs de données additionnels, les spécialistes du domaine comprendront que les modes de réalisation illustrés dans les FIGS. 2-4 sont des exemples et peuvent être utilisés pour représenter différentes classes de noeuds. Dans la FIG. 6, un exemple de diagramme de noeud arborescent illustre le résultat de cet état basé sur un ordre de noeud d'attribut choisi pour les noeuds A, les noeuds K et les noeuds B. Comme il est illustré, 20 certains noeuds d'attribut comprennent une étiquette (vérification) pour identifier leur sélection pour les données d'intérêt associées suivantes utilisant l'interface client et/ou l'interface vidéo décrite plus en détail en référence à la FIG. 17. Ici, deux trajets ont été choisis : al- kl ik21k3 lai et a2 - klIk4Ik6 - b3. Ce qui veut dire que les données d'intérêt sont associées aux noeuds d'attributs qui répondent aux conditions suivantes : 25 A = al, K= kl ik21k3 ou Kl=k1, K2=k2 et K3=k3; A = a2, K= klIk4Ik6 ou Kl=k1, K2=k4 et K3=k6. Le procédé 100 peut créer des trajets connectés dans le diagramme de noeud arborescent comme il est illustré dans la FIG. 6 par al-kl-k2-k3-bl et al-kl-k2-k4-bl, par exemple. Le procédé 100 peut créer des trajets distincts dans le diagramme de noeud arborescent comme il est illustré 30 dans la FIG. 6 par al -kl -k2-k3-b1 et a2-kl-k4-k5-b2. Et, chaque trajet séparé ou distinct peut comprendre un ou plusieurs du même noeud d'attribut comme il est illustré par kl et k2 dans la 3031605 7 FIG. 6. Si la partie de chaque trajet provenant d'un noeud parent (racine) est la même, alors, les noeuds communs peuvent être réutilisés. Par ex., prenons 3 trajets : Trajet 1 : al-kl-k2-k3 ; Trajet 2 : al-kl-k2-k4 et Trajet 3 : al-kl-k3-k4, les noeuds d'attribut al, kl peuvent être réutilisés étant donné que les 3 trajets ont la même partie al-kl. Mais les noeuds k3 dans le 5 Trajet 1 et le Trajet 3 seront des noeuds différents étant donné que cette partie de leur trajet n'est pas la même. Une fois les données d'intérêt identifiées de cette façon, également appelé l'exploration, elles peuvent être visualisées sans avoir à visualiser l'intégralité de l'ensemble de données. Par conséquent, le procédé 100 permet aux utilisateurs de rapidement sélectionner et analyser des données d'intérêt sans avoir à examiner l'intégralité de l'ensemble de données. 10 [0028] En se référant maintenant à la FIG. 2, un organigramme d'un mode de réalisation d'un procédé 200 permettant de réaliser l'étape 106 de la FIG. 1 est illustré. Dans ce mode de réalisation, le procédé 200 crée un diagramme de noeud arborescent avec K noeuds basés d'abord sur l'ordre du noeud d'attribut choisi à l'étape 102. [0029] À l'étape 202, tous les noeuds K sont récupérés à partir des données brutes (c.-à-d., 15 l'intégralité de l'ensemble de données). [0030] À l'étape 204, un arbre K est créé avec K noeuds récupérés à l'étape 202. Un mode de réalisation d'un procédé permettant de réaliser cette étape est décrit plus en détail en référence à la FIG. 5. [0031] À l'étape 206, le procédé 200 détermine si les noeuds A sont du prochain niveau 20 basé sur l'ordre du noeud d'attribut choisi à l'étape 102. Si les noeuds A ne sont pas du prochain niveau (c.-à-d., les noeuds K, les noeuds B et les noeuds A), alors, le procédé 200 passe à l'étape 224. Sinon, le procédé 200 passe à l'étape 208 parce que l'ordre du noeud d'attribut est noeuds K, noeuds A, noeuds B. [0032] À l'étape 208, le noeud K de queue (dernier) pour un trajet de noeud K dans l'arbre 25 K créé à l'étape 204 est localisé. [0033] À l'étape 210, chaque noeud A est récupéré à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) qui comprend le trajet du noeud K, le dernier noeud K étant localisé à l'étape 208. [0034] À l'étape 212, chaque noeud A récupéré à l'étape 210 est connecté au dernier noeud 30 K localisé à l'étape 208. [0035] À l'étape 214, un noeud A est localisé à partir des noeuds A récupérés à l'étape 3031605 8 210. [0036] À l'étape 216, chaque noeud B est également récupéré à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) qui comprend le trajet du noeud K, le dernier noeud K étant localisé à l'étape 208. 5 [0037] À l'étape 218, chaque noeud B récupéré à l'étape 216 est connecté au noeud A localisé à l'étape 214. [0038] À l'étape 220, le procédé 200 détermine s'il y a un autre noeud A qui comprend le trajet du noeud K avec le dernier noeud K localisé à l'étape 208. S'il existe un autre noeud A qui comprend le trajet du noeud k avec le dernier noeud K localisé à l'étape 208, alors, le procédé 10 200 revient à l'étape 214 pour localiser un autre noeud A. Sinon, le procédé 200 passe à l'étape 222. [0039] À l'étape 222, le procédé 200 détermine s'il existe un autre trajet de noeud K dans l'arbre K créé à l'étape 204. S'il existe un autre trajet de noeud K dans l'arbre K créé à l'étape 204, alors, le procédé 200 revient à l'étape 208 pour localiser le noeud K de queue (dernier) pour 15 un autre trajet de noeud K dans l'arbre K créé à l'étape 204. Sinon, le procédé 200 se termine. Dans la FIG. 7, un exemple de diagramme de noeud arborescent illustre les résultats des étapes 202-222 basés sur un nombre de noeud d'attribut choisi de noeuds K, noeuds A et noeuds B. [0040] À l'étape 224, le noeud K de queue (dernier) pour un trajet de noeud K dans l'arbre K créé à l'étape 204 est localisé. 20 [0041] À l'étape 226, chaque noeud B est récupéré à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) qui comprennent le trajet du noeud K avec le dernier noeud K localisé à l'étape 224. [0042] À l'étape 228, chaque noeud B récupéré à l'étape 226 est connecté au dernier noeud K localisé à l'étape 224. 25 [0043] À l'étape 230, un noeud B est localisé à partir des noeuds B récupérés à l'étape 226. [0044] À l'étape 232, chaque noeud A est récupéré à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) qui comprennent le trajet du noeud K avec le dernier noeud K localisé à l'étape 224. 30 [0045] À l'étape 234, chaque noeud A récupéré à l'étape 232 est connecté au noeud B localisé à l'étape 230. [0046] À l'étape 236, le procédé 200 détermine s'il existe un autre noeud B qui comprend le trajet du noeud K avec le dernier noeud K localisé à l'étape 224. S'il existe un autre noeud B qui comprend le trajet du noeud K avec le dernier noeud K localisé à l'étape 224, alors le procédé 200 revient à l'étape 230 pour localiser un autre noeud B. Sinon, le procédé 200 passe à l'étape 238. 5 [0047] À l'étape 238, le procédé 200 détermine s'il existe un autre trajet de noeud K dans l'arbre K créé à l'étape 204. S'il existe un autre trajet de noeud K dans l'arbre K créé à l'étape 204, alors, le procédé 200 revient à l'étape 224 pour localiser le noeud K de queue (dernier) pour un autre trajet de noeud K dans l'arbre K créé à l'étape 204. Sinon, le procédé 200 se termine. Dans la FIG. 8, un exemple de diagramme de noeud arborescent illustre les résultats des étapes 10 224-238 basés sur un ordre de noeud d'attribut choisi à partir des noeuds K, noeuds B et noeuds A. [0048] En se référant maintenant à la FIG. 3, un organigramme d'un autre mode de réalisation du procédé 300 permettant de réaliser l'étape 106 de la FIG. 1 est illustré. Dans ce mode de réalisation, le procédé 300 crée un diagramme de noeud arborescent avec des noeuds A basé d'abord sur l'ordre du noeud d'attribut choisi à l'étape 102. 15 [0049] À l'étape 302, tous les noeuds A sont récupérés des données brutes (c.-à-d., l'intégralité de l'ensemble de données). [0050] À l'étape 304, chaque noeud A est désigné comme un noeud racine. [0051] À l'étape 306, le procédé 300 détermine si les noeuds B sont du prochain niveau basé sur l'ordre du noeud d'attribut choisi à l'étape 102. Si les noeuds B ne sont pas du prochain 20 niveau (c.-à-d., les noeuds À, les noeuds K et les noeuds B), alors, le procédé 300 passe à l'étape 324. Sinon, le procédé 300 passe à l'étape 308 parce que l'ordre du noeud d'attribut est noeuds A, noeuds B, noeuds K. [0052] À l'étape 308, un noeud A est localisé à partir des noeuds A récupérés à l'étape 302. 25 [0053] À l'étape 310, chaque noeud B est récupéré à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) qui comprend le noeud A localisé à l'étape 308 dans un trajet. [0054] À l'étape 312, chaque noeud B récupéré à l'étape 310 est connecté au noeud A localisé à l'étape 308. 30 [0055] À l'étape 314, un noeud B est localisé à partir des noeuds B récupérés à l'étape 310. [0056] À l'étape 316, chaque noeud k est récupéré à partir des données brutes (c.-à-d., 3031605 10 l'intégralité de l'ensemble de données) qui comprend le noeud B localisé à l'étape 314 dans un traj et. [0057] À l'étape 318, un arbre K est créé avec les noeuds K récupérés à l'étape 316. Un mode de réalisation d'un procédé permettant de réaliser cette étape est décrit plus en détail en 5 référence à la FIG. 5. L'arbre K est connecté au noeud B localisé à l'étape 314. [0058] À l'étape 320, le procédé 300 détermine s'il existe un autre noeud B qui comprend le noeud A localisé à l'étape 308 dans un trajet. S'il existe un autre noeud B qui comprend le noeud A localisé à l'étape 308 dans un trajet, alors le procédé 300 revient à l'étape 314 pour localiser un autre noeud B. Sinon, le procédé 300 passe à l'étape 322. 10 [0059] À l'étape 322, le procédé 300 détermine s'il existe un autre noeud A récupéré à l'étape 302. S'il existe un autre noeud A récupéré à l'étape 302, alors le procédé 300 revient à l'étape 308 pour localiser un autre noeud A. Sinon, le procédé 300 se termine. Dans la FIG. 9, un exemple de diagramme de noeud arborescent illustre les résultats des étapes 302-322 basés sur un ordre de noeud d'attribut choisi de noeuds A, noeuds B et noeuds K. 15 [0060] À l'étape 324, un noeud A est localisé à partir des noeuds A récupérés à l'étape 302. [0061] À l'étape 326, chaque noeud k est récupéré à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) qui comprend le noeud A localisé à l'étape 324 dans un traj et. 20 [0062] À l'étape 328, un arbre K est créé avec les noeuds K récupérés à l'étape 326. Un mode de réalisation d'un procédé permettant de réaliser cette étape est décrit plus en détail en référence à la FIG. 5. L'arbre K est relié au noeud A localisé à l'étape 324. [0063] À l'étape 330, le noeud K de queue (dernier) pour un trajet de noeud K dans l'arbre K créé à l'étape 328 est localisé. 25 [0064] À l'étape 332, chaque noeud B est récupéré à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) qui comprend le trajet du noeud K avec le dernier noeud K localisé à l'étape 330. [0065] À l'étape 334, chaque noeud B récupéré à l'étape 332 est relié au dernier noeud K localisé à l'étape 330. 30 [0066] À l'étape 336, le procédé 300 détermine s'il existe un autre trajet de noeud K dans l'arbre K créé à l'étape 328. S'il existe un autre trajet de noeud K dans l'arbre K créé à l'étape 3031605 11 328, alors, le procédé 300 revient à l'étape 330 pour localiser la queue du noeud K (dernier) pour un autre trajet de noeud K dans l'arbre K créé à l'étape 328. Sinon, le procédé 300 passe à l'étape 338. [0067] À l'étape 338, le procédé 300 détermine s'il existe un autre noeud A récupéré à 5 l'étape 302. S'il existe un autre noeud A récupéré à l'étape 302, alors le procédé 300 revient à l'étape 324 pour localiser un autre noeud A. Sinon, le procédé 300 se termine. Dans la FIG. 10, un exemple d'un diagramme de noeud arborescent illustre le résultat des étapes 324-338 basé sur un ordre de noeud d'attribut choisi des noeuds A, noeuds K et noeuds B. [0068] En se référant maintenant à la FIG. 4, un organigramme d'un autre mode de 10 réalisation du procédé 400 permettant de réaliser l'étape 106 de la FIG. 1 est illustré. Dans ce mode de réalisation, le procédé 400 crée un diagramme de noeud arborescent avec B noeuds basé d'abord sur l'ordre du noeud d'attribut choisi à l'étape 102. [0069] À l'étape 402, tous les noeuds B sont récupérés des données brutes (c.-à-d., l'intégralité de l'ensemble de données). 15 [0070] À l'étape 404, chaque noeud B est désigné comme un noeud racine. [0071] À l'étape 406, le procédé 400 détermine si les noeuds A sont du prochain niveau basé sur l'ordre du noeud d'attribut choisi à l'étape 102. Si les noeuds A ne sont pas du prochaine niveau (c.-à-d., les noeuds B, les noeuds A et les noeuds K), alors, le procédé 400 passe à l'étape 424. Sinon, le procédé 400 passe à l'étape 408 parce que l'ordre du noeud d'attribut est noeuds B, 20 noeuds A, noeuds K. [0072] À l'étape 408, un noeud B est localisé à partir des noeuds B récupérés à l'étape 402. [0073] À l'étape 410, chaque noeud A est récupéré à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) qui comprend le noeud B localisé à l'étape 408 dans un trajet. 25 [0074] À l'étape 412, chaque noeud A récupéré à l'étape 410 est connecté au noeud B localisé à l'étape 408. [0075] À l'étape 414, un noeud A est localisé à partir des noeuds A récupérés à l'étape 410. [0076] À l'étape 416, chaque noeud k est récupéré à partir des données brutes (c.-à-d., 30 l'intégralité de l'ensemble de données) qui comprend le noeud A localisé à l'étape 414 dans un trajet. 3031605 12 [0077] À l'étape 418, un arbre K est créé avec les noeuds K récupérés à l'étape 416. Un mode de réalisation d'un procédé permettant de réaliser cette étape est décrit plus en détail en référence à la FIG. 5. L'arbre K est relié au noeud A localisé à l'étape 414. [0078] À l'étape 420, le procédé 400 détermine s'il existe un autre noeud A qui comprend 5 le noeud B localisé à l'étape 408 dans un trajet. S'il existe un autre noeud A qui comprend le noeud B localisé à l'étape 408 dans un trajet, alors le procédé 400 revient à l'étape 414 pour localiser un autre noeud A. Sinon, le procédé 400 passe à l'étape 422. [0079] À l'étape 422, le procédé 400 détermine s'il existe un autre noeud B récupéré à l'étape 402. S'il existe un autre noeud B récupéré à l'étape 402, alors le procédé 400 revient à 10 l'étape 408 pour localiser un autre noeud B. Sinon, le procédé 400 se termine. Dans la FIG. 11, un exemple de diagramme de noeud arborescent illustre les résultats des étapes 402-422 basés sur un ordre de noeud d'attribut choisi de noeuds B, noeuds A et noeuds K. [0080] À l'étape 424, un noeud B est localisé à partir des noeuds B récupérés à l'étape 402. [0081] À l'étape 426, chaque noeud k est récupéré à partir des données brutes (c.-à-d., 15 l'intégralité de l'ensemble de données) qui comprend le noeud B localisé à l'étape 424 dans un trajet. [0082] À l'étape 428, un arbre K est créé avec les noeuds K récupérés à l'étape 426. Un mode de réalisation d'un procédé permettant de réaliser cette étape est décrit plus en détail en référence à la FIG. 5. L'arbre K est relié au noeud B localisé à l'étape 424. 20 [0083] À l'étape 430, le noeud K de queue (dernier) pour un trajet de noeud K dans l'arbre K créé à l'étape 428 est localisé. [0084] À l'étape 432, chaque noeud A est récupéré à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) qui comprennent le trajet du noeud K avec le dernier noeud K localisé à l'étape 430. 25 [0085] À l'étape 434, chaque noeud A récupéré à l'étape 432 est connecté au dernier noeud K localisé à l'étape 430. [0086] À l'étape 436, le procédé 400 détermine s'il existe un autre trajet de noeud K dans l'arbre K créé à l'étape 428. S'il existe un autre trajet de noeud K dans l'arbre K créé à l'étape 428, alors, le procédé 400 revient à l'étape 430 pour localiser le noeud K de queue (dernier) pour 30 un autre trajet de noeud K dans l'arbre K créé à l'étape 428. Sinon, le procédé 400 passe à l'étape 438. 3031605 13 [0087] À l'étape 438, le procédé 400 détermine s'il existe un autre noeud B récupéré à l'étape 402. S'il existe un autre noeud B récupéré à l'étape 402, alors le procédé 400 revient à l'étape 424 pour localiser un autre noeud B. Sinon, le procédé 400 se termine. Dans la FIG. 12, un exemple d'un diagramme de noeud arborescent illustre le résultat des étapes 424-438 basé 5 sur un ordre de noeud d'attribut choisi de noeuds B, noeuds K et noeuds A. [0088] En se référant maintenant à la FIG. 5, un organigramme d'un modè de réalisation d'un procédé 500 permettant de réaliser les étapes 204, 318, 328, 418 et 428 dans les FIGS. 2-4 est illustré. Le procédé 500 peut être utilisé pour créer un arbre K avec des noeuds K pour être utilisé dans un diagramme de noeud arborescent. 10 [0089] À l'étape 502, une ou plusieurs listes de noeuds K sont préparées en utilisant les noeuds K récupérés à partir des données brutes (c.-à-d., l'intégralité de l'ensemble de données) et des techniques bien connues dans le domaine. Chaque liste de noeuds K comprennent un ou plusieurs noeuds K qui peuvent être connectés en interne, formant un trajet de noeud K, lorsque des champs de données multi-niveaux sont utilisés. 15 [0090] À l'étape 504, une liste de noeud K dans la ou les listes de noeud K préparées à l'étape 502. [0091] À l'étape 506, un noeud K parent (racine) est choisi dans une liste de noeud K choisi à l'étape 504. [0092] À l'étape 508, le procédé 500 détermine si le noeud K choisi à l'étape 506 ou 516 20 comprend tous les messages apparentés provenant d'une application apparentée. De cette façon, l'arbre K peut être mis à jour avec d'autres messages en temps réel jusqu'à ce qu'il n'y ait plus de nouveaux messages. Si le noeud K choisi à l'étape 506 ou 516 comprend tous les messages apparentés provenant d'une application apparentée (c.-à-d., qui n'y ait plus de nouveaux messages à ce moment-là), alors le procédé 500 passe à l'étape 514. Sinon, le 25 procédé 500 passe à l'étape 512 pour mettre à jour la liste de noeud K choisie à l'étape 504. [0093] À l'étape 512, la liste de noeud K choisie à l'étape 504 est mise à jour en créant un autre noeud K et en le reliant au noeud K choisi à l'étape 506 ou 516 et le prochain noeud K dans la liste de noeud K, s'il y a lieu. [0094] À l'étape 514, le procédé 500 détermine s'il existe un autre noeud K dans la liste 30 de noeud K choisie à l'étape 504. S'il existe un autre noeud K dans la liste de noeud K choisie à l'étape 504, alors le procédé 500 passe à l'étape 518. Sinon, le procédé 500 passe à l'étape 516. 14 [0095] À l'étape 516, le prochain noeud K dans la liste de noeud K choisie à l'étape 504 est choisi et le procédé 500 revient à l'étape 508. Si un autre noeud K est créé à l'étape 512, alors, ce noeud K devient le noeud K suivant dans la liste de noeud K. [0096] À l'étape 518, le procédé 500 détermine s'il y a une autre liste de noeud K à partir 5 de la ou des listes de noeuds K préparées à l'étape 502. S'il existe une autre liste de noeud K dans la ou les listes de noeuds K préparées à l'étape 502, alors le procédé 500 revient à l'étape 504 pour sélectionner une autre liste de noeud K. Sinon, le procédé 500 ramène l'arbre K à l'étape 204, 318, 328, 418 ou 428. [0097] En se référant maintenant à la FIG. 13, un tableau illustre une structure de 10 données générale comportant de multiples champs pour transférer un ou des diagrammes de noeuds arborescents vers un client pour visualiser chaque diagramme de noeud arborescent. Chaque ligne représente un trajet différent dans un diagramme de noeud arborescent. Les colonnes pour les noeuds A et B comprennent des noeuds d'attributs respectifs différents dans un champ de données à niveau unique, ce qui veut dire qu'il y a seulement une couche fixée 15 dans la logique. Les colonnes pour K1, K2, K3 Kn cependant, comprennent des noeuds d'attributs respectifs différents dans des champs de données multiniveaux, ce qui veut dire qu'ils peuvent être mis dans un champ unique dans la logique. La colonne pour les noeuds X et un exemple d'un autre champ de données. Même si les noeuds d'attribut dans les colonnes A, B, K1, K2, K3 Kn sont les mêmes dans les lignes 2 et 3, ils peuvent être différents. 20 [0098] En se référant maintenant à la FIG. 14, un tableau illustre une optimisation pour la structure de données générale illustrée dans la FIG. 13. L'optimisation met les K1, K2, K3 Kn ensemble dans un champ de données unique K. [0099] En se référant maintenant à la FIG. 15, un tableau d'indice d'attribut et un tableau de mappage pour le tableau d'indice d'attribut illustre une optimisation de la structure 25 de données illustrée dans la FIG. 14. L'ajout d'un tableau de mappage peut permettre à une base de données d'économiser de l'espace et l'usage d'une bande passante de réseau en remplaçant les noeuds A, B et K par un entier à 1 bit dans le tableau d'indice d'attribut et en utilisant le tableau de mappage pour cartographier les noeuds A, B et K vers un entier correspondant dans le tableau d'indice d'attribut. Par ex., les noeuds d'attribut al, bl et k1,42-k4 30 sont identifiés avec un entier d'indice d'attributs '2', qui est le même pour les lignes 2 et 3. De cette façon, le tableau d'indice d'attribut et le tableau de mappage peuvent économiser un 15 espace de base de données et une bande passante de réseau importants, parce qu'il peut y avoir des centaines de milliers de champs de données avec des centaines de milliers de noeuds d'attribut dupliqués (par ex., A, B et K). Le tableau de mappage enregistre l'entier de l'indice d'attribut dans la base de données primaire, qui prend moins de place que l'ensemble de 5 données dans les FIGS.13- 14. En outre, seul le tableau de mappage peut être nécessaire pour le transfert vers un client si le client veut créer un diagramme de noeud arborescent pour visualiser et sélectionner certains noeuds d'attribut pour le filtrage. [00100] En se référant maintenant à la FIG. 16, qui est un organigramme illustrant un mode de réalisation d'un procédé permettant d'implémenter la présente divulgation dans un 10 système informatique. Les données brutes, qui comprennent des noeuds d'attribut clés, provenant de l'intégralité de l'ensemble de données peuvent être envoyées vers le fournisseur de données 100 vers un service de données 103 à l'étape 106. Les données brutes et les noeuds d'attribut clés peuvent être permanents dans une base de données 104 à l'étape 108. À ce stade, les noeuds d'attribut clés peuvent être synchronisés vers un ou plusieurs clients en utilisant 15 l'interface utilisateur 101. À ce moment-là, les noeuds d'attribut clés, comportant de multiples niveaux et sous forme d'une composition, sont prêts à l'utilisation. Les noeuds d'attribut clés préférés peuvent être demandés à travers l'interface utilisateur 101 à l'étape 120. La commande est transmise dans le contrôleur 102 peut décrypter la requête à l'étape 120 et transmettre la requête à un service de données 103 à l'étape 121 pour questionner tous les noeuds d'attribut 20 clés disponibles dans la base de données 104 à l'étape 124. Après transfert des noeuds d'attribut clés vers les clients à l'étape 140, le diagramme de noeud arborescent peut être créé à l'étape 144. Afin de se focaliser sur un trajet préféré, plutôt que sur l'intégralité de l'ensemble de données, l'interface utilisateur 101 peut être utilisée pour étiqueter certains noeuds d'attribut clés dans un diagramme de noeud arborescent pour identifier leur sélection à l'étape 148. De 25 cette façon, tout trajet préféré de noeuds d'attribut clés peut être sélectionné pour visualiser seulement les données d'intérêt à l'étape 150. Le service de données 103 récupère des données d'intérêt à partir de la base de données 104 à l'étape 151. Description du système [00101] La présente divulgation peut être implémentée à travers un programme 30 d'instructions exécutables par ordinateur, tel que des modules de programme, généralement appelés applications logicielles ou programme d'application exécuté par un ordinateur. Le 3031605 16 logiciel peut comprendre, par ex., des routines, des programmes, des objets, des composants, des structures de données, etc., qui réalisent des tâches particulières ou implémentent des types de données abstrait particuliers. Le logiciel forme une interface pour permettre à un ordinateur de réagir en fonction de la source d'entrée. InSiteTM, qui est une application logicielle 5 commerciale commercialisée par Landmark Graphics Corporation, peut être utilisée comme application d'interface pour implémenter la présente divulgation. Le logiciel peut également coopérer avec d'autres segments de code pour initier une variété de tâches en réponse aux données reçues en association avec la source des données reçues. D'autres segments de code peuvent procurer des composants d'optimisation comprenant, sans limitation, des réseaux 10 neuraux, la modélisation de la terre, l'ajustement aux mesures antérieures, l'optimisation, la visualisation, la gestion de données, la simulation des réservoirs et les paramètres économiques. Le logiciel peut être stocké et/ou transporté sur une diversité de mémoires telles que le CDROM, un disque magnétique, une mémoire à bulles et une mémoire à semi-conducteur (par ex., divers types de RAM ou ROM). En outre, le logiciel et ses résultats peuvent être transmis sur 15 une diversité de support médiatique tel que la fibre optique, un fil métallique et/ou à travers une quelconque diversité de réseaux, telle que l'Internet. [00102] En outre, les spécialistes du domaine apprécieront que cette divulgation puisse être pratiquée avec une diversité de configurations de système informatique, comprenant des dispositifs portatifs, des systèmes multiprocesseurs et des dispositifs électroniques 20 programmables par l'utilisateur ou à base de microprocesseur, des mini-ordinateurs, des ordinateurs centraux. Un nombre quelconque de systèmes informatiques et de réseaux informatiques sont acceptables pour une utilisation avec la présente divulgation. Cette divulgation peut être pratiquée dans des environnements informatiques distribués dans lesquels les tâches sont réalisées par des dispositifs télécommandés qui sont reliés à travers un réseau de 25 communication. Dans un environnement informatique distribué, les modules de programme peuvent être localisés à la fois sur un support de stockage informatique local ou à distance, y compris des dispositifs de stockage à mémoire. La présente divulgation peut donc être implémentée en relation avec divers matériels, logiciels ou une combinaison de ceux-ci dans un système informatique ou un autre système de traitement. 30 [00103] En se référant maintenant à la FIG. 17, un organigramme illustre un mode de réalisation d'un système permettant d'implémenter la présente divulgation dans un ordinateur. 3031605 17 Le système comprend une unité informatique, quelquefois appelée un système informatique, qui contient une mémoire, des programmes d'applications, une interface client, une interface vidéo et une unité de traitement. L'unité informatique représente seulement un exemple d'un environnement de calcul approprié et elle n'est pas destinée à suggérer une quelconque 5 limitation par rapport à la portée de l'utilisation ou de la fonctionnalité de cette divulgation. [00104] La mémoire stocke principalement les programmes d'applications, qui peuvent également être décrits comme des modules de programme contenant des instructions exécutables par un ordinateur, exécutées par l'unité informatique pour implémenter la présente divulgation décrite ici et illustrée dans les FIGS. 1-16. Ainsi, la mémoire comprend un module 10 de filtrage et d'exploration de données, qui active les étapes 102 et 106 de la FIG. 1. Le module de filtrage et d'exploration de données peut intégrer une fonctionnalité provenant des programmes d'applications restant illustrés dans la FIG. 17. En particulier, InSite TM peut être utilisé comme une application d'interface pour envoyer les données brutes de l'intégralité de l'ensemble de données vers le module de filtrage et d'exploration de données. Même si InSite TM 15 peut être utilisé comme application d'interface, d'autres applications d'interface peuvent être utilisées, à la place, ou le module de filtrage et d'exploration peut être utilisé comme application autonome. [00105] Même si l'unité informatique est représentée comme ayant une mémoire généralisée, l'unité informatique comprend généralement une diversité de supports lisibles par 20 ordinateur. Comme exemple, et non de limitation, un support lisible par ordinateur peut comprendre un support de stockage informatique est un support de communication. La mémoire du système de calcul peut comprendre un support de stockage informatique sous la forme d'une mémoire volatile et/ou non volatile telle une mémoire ROM et une mémoire RAM. Un système de base entrée-sortie (BIOS), contenant les routines de base qui aident à transférer les 25 informations entre les éléments de l'unité informatique, par ex., au cours du démarrage, est généralement stocké dans la ROM. La RAM contient généralement des données et/ou des modules de programme qui sont immédiatement accessibles à et/ou présentement exécutés par une unité de traitement. Comme exemple, et non de limitation, l'unité informatique comprend un système d'exploration, des programmes d'applications, d'autres modules de programme et des 30 données de programme. [00106] Les composants illustrés dans la mémoire peuvent également être compris dans 3031605 18 le support de stockage informatique amovible/non-amovible, volatile/non-volatile ou ils peuvent être implémentés dans l'unité informatique à travers une interface de programme d'applications (« API ») ou un nuage informatique, qui peut se trouver sur une unité informatique distincte à travers un système informatique ou un réseau. Comme exemple seulement, un disque dur peut 5 être lu à partir d'un support magnétique non-volatile, non-amovible, ou le support peut écrire sur celui-ci, ou un disque dur optique peut être lu à partir d'un disque optique amovible, non volatile, ou le support peut écrire sur celui-ci, tel qu'un CD-ROM ou un autre support optique. D'autres supports de stockage informatiques amovibles/non-amovibles, volatiles/non-volatiles qui peuvent être utilisés dans un exemple d'environnement d'exploration peuvent comprendre, 10 sans limitation, des cassettes de bande magnétique, des cartes de mémoire flash, des disques versatiles numériques, des bandes vidéo numériques, des RAM à semi-conducteurs, des ROM à semi-conducteurs, etc. Les disques et leurs supports de stockages informatiques associés susmentionnés permettent le stockage des instructions lisibles par ordinateur, des structures de données, des modules de programme et d'autres données pour l'unité informatique. 15 [00107] Un client peut saisir une commande et des informations dans l'unité informatique à travers une interface client, qui peuvent être des dispositifs de saisie tels qu'un clavier est un dispositif de pointage, généralement appelé une souris, une boule de commande ou un pavé tactile. Les dispositifs de saisie peuvent comprendre un microphone, une manette, un disque satellite, un scanner, un dispositif de reconnaissance de la voix ou du geste, etc. Ces 20 dispositifs et d'autres dispositifs de saisie sont souvent connectés à l'unité de traitement à travers l'interface client qui est couplée à un système de bus, mais peut être connecté par d'autres interfaces ou structures de bus, tel qu'un port parallèle ou un bus USB. [00108] Un moniteur ou un autre type de dispositif d'affichage peut être connecté au bus du système à travers une interface, telle une interface vidéo. Une interface utilisateur graphique 25 (GUI) peut également être utilisée avec l'interface vidéo pour recevoir des instructions provenant de l'interface client et pour transmettre ces instructions à l'unité de traitement. En sus du moniteur, les ordinateurs peuvent également comprendre d'autres dispositifs de sortie périphériques tels que des haut-parleurs et des imprimantes, qui peuvent être connectés à travers une interface de sortie périphérique. 30 [00109] Même si d'autres composants internes de l'unité informatique ne sont pas illustrés, il sera compris des spécialistes du domaine que de tels composants et leur 3031605 19 interconnexion sont bien connus. [00110] Bien que la présente divulgation ait été décrite en relation avec les modes de réalisation actuellement préférés, il sera compris par un spécialiste du domaine que ceux-ci ne sont pas destinées à limiter la divulgation à ces modes de réalisation. Il est donc envisagé que 5 divers modes de réalisation alternatifs et des modifications peuvent être apportées aux modes de réalisation divulgués sans s'écarter de l'esprit et de la portée de la divulgation définie par les revendications ci-jointes et les équivalents de celles-ci. 10 REVENDICATIONS1. Procédé permettant de filtrer des données en utilisant un diagramme de noeud arborescent à attribut composite, à multiples niveaux qui comprend : la construction d'un arbre K comprenant de multiples noeuds K et un ou plusieurs trajets de noeuds K en utilisant un processeur informatique, dans lequel chaque trajet de noeud K comprend un noeud K qui représente un noeud de racine et un autre noeud K qui représente un dernier noeud ; la connexion d'un ou de plusieurs noeuds A à au moins l'un de i) chaque noeud racine dans l'arbre K, dans lequel chaque noeud A est connecté à l'au moins un des noeuds de racine dans l'arbre K ; ii) un dernier noeud respectif dans l'arbre K et iii) un noeud B respectif ; la connexion d'un ou de plusieurs noeuds B à au moins l'un de i) chaque noeud racine dans l'arbre K, dans lequel chaque noeud B est connecté à l'au moins un des noeuds de racine dans l'arbre K ; ii) un dernier noeud respectif dans l'arbre K et iii) un noeud A respectif ; dans lequel chaque noeud K représente un noeud d'attribut clé qui identifie de façon unique un message, chaque noeud A représente un noeud d'attribut informatique et chaque noeud B représente un noeud d'attribut informatique. 2. Procédé de la revendication 1, dans lequel le diagramme de noeud arborescent comprend de multiples champs de données et les multiples noeuds K ne sont pas restreints à un champ de données unique. 3. Procédé selon la revendication 2, comprenant en outre la sélection d'un ordre de noeud d'attribut préféré pour connecter les multiples noeuds K, l'un ou les plusieurs noeuds A et l'un ou les plusieurs noeuds B. 3031605 21 4. Procédé de la revendication 3, dans lequel l'ordre du noeud d'attribut préféré est basé sur une priorité pour filtrer de multiples champs de données dans lequel se trouvent les noeuds d'attribut clé, les noeuds d'attribut informatique et les noeuds d'attribut d'application. Procédé de la revendication 1, comprenant également : l'affichage du diagramme de noeud arborescent ; et la sélection d'un ou de plusieurs trajets de noeud arborescent en étiquetant au moins l'un des noeuds d'attribut clé, les noeuds d'attribut informatique et des noeuds d'attribut d'application. 6. Procédé de la revendication 1, dans lequel le diagramme de noeud arborescent 10 comprend au moins un ou deux ou plusieurs trajets de noeud arborescent distincts et un trajet de noeud arborescent. 7. Procédé de la revendication 1, comprenant également la mise à jour de l'arbre K en temps réel avec un ou plusieurs nouveaux messages provenant d'une application apparentée. 8. Procédé de la revendication 7, dans lequel l'arbre K est mis à jour en créant un 15 autre noeud K pour l'un ou les plusieurs nouveaux messages. 9. Procédé de la revendication 1, comprenant également la création d'un tableau d'indice d'attribut pour les données représentées par le diagramme de noeud arborescent, dans lequel le tableau d'indice d'attribut utilise seulement un entier d'indice à 1 bit pour représenter un trajet de noeud arborescent respectif dans le diagramme de noeud arborescent comprenant de 20 multiples noeuds K, l'un ou les plusieurs noeuds A et l'un ou les plusieurs noeuds B. 10. Dispositif de support de programme non-transitoire transportant de façon tangible des instructions exécutables par un ordinateur pour le filtrage des données utilisant un diagramme de noeud arborescent à attribut composite, à multiples niveaux, les instructions étant exécutables pour implémenter : 3031605 22 la création d'un arbre K comprenant de multiples noeuds K et un ou plusieurs trajets de noeuds K, dans lequel chaque trajet de noeud K comprend un noeud K qui représente un noeud de racine et un autre noeud K qui représente un dernier noeud ; la connexion d'un ou de plusieurs noeuds A à au moins l'un de i) chaque noeud racine dans l'arbre K, dans lequel chaque noeud A est connecté à l'au moins un des noeuds de racine dans l'arbre K ; ii) un dernier noeud respectif dans l'arbre K et iii) un noeud B respectif ; la connexion d'un ou de plusieurs noeuds B à au moins l'un de i) chaque noeud racine dans l'arbre K, dans lequel chaque noeud B est connecté à l'au moins un des noeuds 10 de racine dans l'arbre K ; ii) un dernier noeud respectif dans l'arbre K et iii) un noeud A respectif ; dans lequel chaque noeud K représente un noeud d'attribut clé qui identifie de façon unique un message, chaque noeud A représente un noeud d'attribut informatique et chaque noeud B représente un noeud d'attribut informatique. 15 11. Dispositif de support de programme de la revendication 10, dans lequel le diagramme de noeud arborescent comprend de multiples champs de données et les multiples noeuds K ne sont pas restreints à un champ de données unique. 12. Dispositif de support de programme de la revendication 11, comprenant en outre la sélection d'un ordre de noeud d'attribut préféré pour connecter les multiples noeuds K, l'un ou 20 les plusieurs noeuds A et l'un ou les plusieurs noeuds B. 13. Dispositif de support de programme de la revendication 12, dans lequel l'ordre du noeud d'attribut préféré est basé sur une priorité pour filtrer de multiples champs de données dans lequel se trouvent les noeuds d'attribut clé, les noeuds d'attribut informatique et les noeuds d'attribut d'application. 25 14. Dispositif hôte selon la revendication 10, comprenant également : l'affichage du diagramme de noeud arborescent ; et 3031605 23 la sélection d'un ou de plusieurs trajets de noeud arborescent en étiquetant au moins l'un des noeuds d'attribut clé, les noeuds d'attribut informatique et des noeuds d'attribut d'application. 15. Dispositif de support de programme de la revendication 10, dans lequel le diagramme de noeud arborescent comprend au moins un ou deux ou plusieurs trajets de noeud arborescent distincts et un trajet de noeud arborescent. 16. Dispositif de support de programme de la revendication 10, comprenant également la mise à jour de l'arbre K en temps réel avec un ou plusieurs nouveaux messages provenant d'une application apparentée. 10 17. Dispositif de support de programme de la revendication 16, dans lequel l'arbre K est mis à jour en créant un autre noeud K pour l'un ou les plusieurs nouveaux messages. 18. Dispositif de support de programme de la revendication 10, comprenant également la création d'un tableau d'indice d'attribut pour les données représentées par le diagramme de noeud arborescent, dans lequel le tableau d'indice d'attribut utilise seulement un 15 entier d'indice à 1 bit pour représenter un trajet de noeud arborescent respectif dans le diagramme de noeud arborescent comprenant de multiples noeuds K, l'un ou les plusieurs noeuds A et l'un ou les plusieurs noeuds B. 19. Dispositif de support de programme non-transitoire transportant de façon tangible des instructions exécutables par un ordinateur pour le filtrage des données utilisant un 20 diagramme de noeud arborescent à attribut composite, à multiples niveaux, les instructions étant exécutables pour implémenter : la création d'un arbre K comprenant de multiples noeuds K et un ou plusieurs trajets de noeuds K, dans lequel chaque trajet de noeud K comprend un noeud K qui représente un noeud de racine et un autre noeud K qui représente un dernier noeud ; 25 la connexion d'un ou de plusieurs noeuds A à au moins l'un de i) chaque noeud racine dans l'arbre K, dans lequel chaque noeud A est connecté à l'au moins un des noeuds 3031605 24 de racine dans l'arbre K ; ii) un dernier noeud respectif dans l'arbre K et iii) un noeud B respectif ; la connexion d'un ou de plusieurs noeuds B à au moins l'un de i) chaque noeud racine dans l'arbre K, dans lequel chaque noeud B est connecté à l'au moins un des noeuds de racine dans l'arbre K ; ii) un dernier noeud respectif dans l'arbre K et iii) un noeud A respectif ; dans lequel chaque noeud K représente un noeud d'attribut clé, chaque noeud A représente un noeud d'attribut informatique et chaque noeud B représente un noeud d'attribut informatique ; et 10 le diagramme de noeud arborescent comprend de multiples champs de données, dans lequel les multiples noeuds K ne sont pas restreints à un champ de données unique. 20. Dispositif de support de programme de la revendication 19, comprenant en outre la sélection d'un ordre de noeud d'attribut préféré pour connecter les multiples noeuds K, l'un ou les plusieurs noeuds A et l'un ou les plusieurs noeuds B. 15