(19)
(11) EP 1 998 514 A2

(12) DEMANDE DE BREVET EUROPEEN

(43) Date de publication:
03.12.2008  Bulletin  2008/49

(21) Numéro de dépôt: 08156847.9

(22) Date de dépôt:  23.05.2008
(51) Int. Cl.: 
H04L 12/56(2006.01)
(84) Etats contractants désignés:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR
Etats d'extension désignés:
AL BA MK RS

(30) Priorité: 29.05.2007 FR 0755316

(71) Demandeur: France Télécom
75015 Paris (FR)

(72) Inventeurs:
  • Kiessling, Lars
    92320, CHATILLON (FR)
  • Amour, Françoise
    PARIS, 75005 (FR)
  • Baranco, Jocelyn
    92130, ISSY LES MOULINEAUX (FR)

   


(54) Traitement de paquets en vue de communiquer avec une machine à travers un ou plusieurs réseaux secondaires


(57) Procédé de traitement d'au moins un paquet (P3) de données reçu par une entité réceptrice en provenance d'une machine (M4, GW2) après transmission à travers au moins un réseau de transmission de données, le procédé comprenant,
- une étape (510) d'obtention de données d'identification d'un dispositif (GW1) intervenu dans la transmission dudit paquet de données,
- une étape (520) d'identification d'une fonction (FD1) de décodage associée aux données d'identification obtenues, ladite fonction (FD1) de décodage étant une fonction inverse d'une fonction (FC1) de codage appliquée par ledit dispositif (GW1) à un paquet avant transmission,
- une étape (530) de décodage du paquet reçu par application de la fonction (FD1) de décodage identifiée.




Description


[0001] L'invention concerne le domaine des télécommunications et plus particulièrement un procédé de communication avec une machine à travers un réseau de télécommunication.

[0002] Dans le domaine des communications de machine à machine, dénommé en abrégé M2M, les machines sont souvent accessibles à partir d'un réseau principal par l'intermédiaire d'une passerelle de communication entre ce réseau principal et un réseau secondaire ou réseau capillaire. Selon la complexité du réseau, il est parfois nécessaire de traverser plusieurs réseaux secondaires afin de pouvoir communiquer avec une machine.

[0003] Une machine, appartenant à un réseau secondaire, est adressable et identifiable de manière unique à partir d'un dispositif gérant ce réseau secondaire. Cependant une telle machine n'est pas forcément adressable à partir d'un autre réseau ou d'un autre réseau secondaire, soit parce que la technologie d'adressage d'une machine varie d'un réseau secondaire à un autre, soit parce que l'identifiant utilisé pour identifier la machine dans son réseau secondaire de raccordement est utilisé pour une autre machine dans un autre réseau secondaire.

[0004] Au vu de l'état de la technique, les inventeurs ont ainsi constaté un besoin pour un mécanisme générique de communication avec des machines qui soit applicable quel que soit le nombre de niveaux de sous-réseaux présents et quel que soit les technologies d'adressage utilisées dans ces différents sous-réseaux.

[0005] Un des buts de l'invention est de remédier à des insuffisances et inconvénients de l'état de la technique et/ou d'y apporter des améliorations.

[0006] L'invention a pour objet, selon un premier aspect, un procédé de traitement de paquet de données selon la revendication 1 (décodage), respectivement selon la revendication 5 (codage).

[0007] L'invention repose sur la mise en place, au niveau d'une entité réceptrice / émettrice, sous forme par exemple de plateforme de communication, de moyens d'identification de fonctions de codage, respectivement de décodage, en association avec les différents dispositifs d'interconnexion entre réseaux via lesquels transitent les paquets qui sont émis par ou à destination d'une machine raccordée à l'un de ces réseaux, ces fonctions de codage et de décodage correspondant respectivement à des fonctions de décodage et de codage mises en oeuvre respectivement dans les différents dispositifs lors de la transmission d'un paquet.

[0008] L'invention permet de prendre en compte les différentes opérations de traitement effectuées par un ou plusieurs dispositifs d'interconnexion lors du transit de paquets, et ce de manière centralisée. Cela signifie en particulier que la communication avec les machines qui sont raccordées aux différents réseaux secondaires accessibles via ces dispositifs d'interconnexion, ne nécessite ni la modification des dispositifs d'interconnexion ni celle des machines terminales. La prise en compte s'effectue de manière centralisée au niveau de la plateforme de communication formant entité réceptrice / émettrice, celle-ci étant dotée des fonctions correspondant à celles mises en oeuvres dans le ou les dispositifs d'interconnexion intervenant dans la transmission du paquet.

[0009] Selon un mode de réalisation particulier, l'étape de décodage est appliquée itérativement sur le paquet courant constitué par le paquet obtenu à l'issue de l'étape de décodage précédente, par application à chaque itération de la fonction de décodage associée aux données d'identification de chaque dispositif d'une succession de dispositifs intervenus dans la transmission dudit paquet de ladite machine à l'entité réceptrice, l'ordre des dispositifs associés respectivement aux fonctions de décodage appliquées lors des étapes de décodage successives étant l'ordre inverse de l'ordre dans lequel ces dispositifs interviennent lors de la transmission dudit paquet de ladite machine à l'entité réceptrice.

[0010] La plateforme de communication est ainsi à même, lorsqu'elle reçoit un paquet, de restituer le message brut en provenance d'une machine, quel que soit le nombre de dispositifs d'interconnexion via lesquels ce paquet transite et quelles que soient les opérations de codage/décodage d'adresse ou autres opérations appliquées à ce paquet par ces dispositifs d'interconnexion lors du transit du paquet.

[0011] Réciproquement, l'étape de codage est appliquée itérativement sur le paquet courant constitué le paquet obtenu à l'étape de codage précédente, par application à chaque itération de la fonction de codage associée aux données d'identification de chaque dispositif d'une succession de dispositifs destinés à intervenir dans la transmission dudit paquet de l'entité émettrice à ladite machine, l'ordre des dispositifs respectivement associés aux fonctions de codage appliquées lors des étapes de codage successives étant l'ordre inverse de l'ordre dans lequel ces dispositifs interviennent lors de la transmission dudit paquet de l'entité émettrice à ladite machine.

[0012] Ainsi la plateforme de communication est à même, lorsqu'elle désire envoyer un paquet à une machine donnée, de générer un paquet codé de manière adéquate. En effet, quel que soit le nombre de dispositifs via lesquels ce paquet va transiter et quelles que soient les opérations de codage/décodage d'adresse ou autres opérations appliquées à ce paquet par ces dispositifs lors du transit du paquet, le paquet parvient à la machine destinataire en étant codé de manière adéquate, compréhensible par la machine destinataire sans qu'il soit nécessaire de modifier cette machine.

[0013] Corrélativement l'invention a pour objet un dispositif de communication selon la revendication 9, respectivement selon la revendication 10.

[0014] Les avantages énoncés pour le procédé selon l'invention sont transposables directement au dispositif selon l'invention.

[0015] D'autres buts, caractéristiques et avantages de l'invention apparaîtront à travers la description qui va suivre, donnée uniquement à titre d'exemple non limitatif, et faite par référence aux dessins annexés dans lesquels:
  • les figures 1 à 4 représentent de manière schématique différentes configurations de réseaux auxquelles est applicable le procédé selon l'invention;
  • la figure 5 est un organigramme d'un procédé selon l'invention, en ce qui concerne la partie réception de paquets de données en provenance d'une machine;
  • la figure 6 est un organigramme d'un procédé selon l'invention, en ce qui concerne la partie envoi de paquets de données à destination d'une machine;
  • la figure 7a représente de manière schématique différents états d'un premier exemple de paquet de données au cours de sa transmission entre une machine et une plateforme,
  • la figure 7b représente de manière schématique différents états d'un deuxième exemple de paquet de données au cours de sa transmission entre une machine de type passerelle et une plateforme.


[0016] L'invention repose sur la mise en place, au niveau d'une plateforme de communication, de moyens d'exécution de fonctions de codage et de décodage telles que mises en oeuvres dans les différents dispositifs d'interconnexion entre réseaux via lesquels transitent les paquets émis ou à destination d'une machine raccordée à l'un de ces réseaux. Elle est applicable que ces machines soient directement accessibles par la plateforme ou via une passerelle, et indépendamment de la technologie d'adressage utilisée dans le réseau secondaire.

[0017] L'ordre dans lequel ces fonctions sont exécutées au niveau de la plateforme reflète le chemin suivi par le paquet lors de sa transmission à travers le réseau de transmission de données constitué par l'ensemble des différents réseaux raccordés les uns aux autres.

[0018] L'information relative aux chemins empruntés par les paquets est en outre déductible directement des paquets reçus par la plate-forme et peut donc être reconstituée par cette plateforme à partir des paquets reçus.

[0019] Les figures 1 à 4 représentent de manière schématique différentes configurations de réseaux auxquelles est applicable le procédé selon l'invention. Dans ces différentes figures, les mêmes références sont utilisées pour des éléments identiques:
  • M0, M1, M2, M3, M4, M5 désignent des machines: il peut s'agir de tout type de machine ou équipement communicant apte à être raccordée à un réseau de transmission de données, par exemple un capteur, un actionneur, un distributeur automatique, un compteur électrique, etc;
  • PF désigne une plateforme de communication conçue pour communiquer avec l'une quelconque des machines M0 à M5 et une quelconque des plateformes d'interconnexion GW1 et GW2;
  • GW1 et GW2 désignent des plateformes d'interconnexion ou passerelles entre deux réseaux.


[0020] Ces deux plateformes GW1 et GW2 sont elles-mêmes considérées comme des machines dans le cadre de l'invention. En effet, une telle plateforme est susceptible d'émettre et/ou de recevoir des paquets pour son propre compte et donc peut être vue par la plateforme PF comme une machine destinatrice et/ou émettrice de paquets.

[0021] Dans le cas de la configuration de la figure 1, la plate-forme PF est raccordée à une passerelle GW1, gérant un réseau secondaire auquel sont raccordées les machines M1 à M3. Une machine M0 est directement raccordée à la plate-forme PF.

[0022] La configuration de la figure 2 est identique à celle de la figure 1, à ceci près qu'une deuxième passerelle GW2 est en outre raccordée à la première passerelle GW1.

[0023] La configuration de la figure 3 est identique à celle de la figure 2, à ceci près que deux machines M4 et M5 sont en outre raccordées à la passerelle GW2.

[0024] La configuration de la figure 4 est identique à celle de la figure 3, à ceci près que la passerelle GW2 est raccordée à la fois à la passerelle GW1 et à la plate-forme PF.

[0025] Dans ces différentes configurations, le réseau géré par la plate-forme PF correspond à l'ensemble comprenant la passerelle GW1 et la machine M0. Le réseau géré par la passerelle GW1 correspond à l'ensemble comprenant les machines M1 à M3 et la passerelle GW2. Le réseau géré par la passerelle GW2 correspond à l'ensemble comprenant les machines M4 et M5.

[0026] Le procédé selon l'invention, en ce qui concerne la partie réception de paquets, est décrit plus en détail au regard de la figure 5, dans le cas de la configuration de réseau de la figure 4 et en utilisant l'exemple de paquets de données illustré à la figure 7a.

[0027] Dans cet exemple, un paquet de données P est émis par la machine M4 à destination de la plateforme PF. Comme illustré à la figure 7a, le paquet transite successivement à travers la passerelle GW2 puis à travers la passerelle GW1. Le paquet de donné P a des contenus différents P1, P2, P3 au cours de sa transmission de la machine M4 à plate-forme PF.

[0028] Après émission par la machine M4 et à réception par la passerelle GW2, le paquet P a un contenu P1. Pour simplifier l'exposé, le paquet P de contenu P1 est également nommé de manière raccourcie "paquet P1". Le paquet P1 comprend notamment un message MG1 destiné à être transmis à la plateforme PF.

[0029] Le paquet P1 comprend optionnellement une identification de la plateforme destinataire PF. Selon le protocole de transmission de données utilisé entre la machine M4 et la passerelle GW2, cette identification peut être transmise, non pas avec ou dans le paquet P1, mais lors d'un dialogue conforme à ce protocole entre la machine M4 et la passerelle GW2, par exemple lors de la connexion de la machine M4 à la passerelle.

[0030] Le paquet P1 comprend optionnellement, des données d'identification de la machine M4. Selon la technologie d'adressage utilisée par la passerelle GW2 et selon le protocole de transmission de données utilisé entre la machine M4 et la passerelle GW2, ces données d'identification sont transmises, non pas avec ou dans le paquet P1, mais lors d'un dialogue entre la machine M4 et la passerelle GW2.

[0031] Après émission par la passerelle GW2 et à réception par la passerelle GW1, le paquet P a un contenu P2. Pour simplifier l'exposé, le paquet P de contenu P2 est également nommé de manière raccourcie "paquet P2". Le paquet P2 comprend le message MG1 destiné à être transmis à la plateforme PF. Optionnellement, selon le protocole de transmission de données utilisé, le paquet P2 comprend une identification de la plateforme destinataire et/ou des données d'identification de la passerelle GW2 émettrice du paquet P2.

[0032] Le paquet P2 est généré à partir du paquet P1 tel que reçu par la passerelle GW2, par application d'une fonction FC2 de codage associée à la passerelle GW2. La fonction de codage associée à la passerelle GW2 est appliquée par la passerelle GW2 à tout paquet en provenance du réseau secondaire (auquel appartiennent les machines M4 et M5) géré par cette passerelle. La fonction FC2 de codage consiste notamment à encapsuler le message MG1 du paquet P1 dans un message MG2 et à insérer dans le message MG2 des données d'identification ID4 de la machine M4 émettrice du paquet P1. La fonction FC2 de codage peut en outre consister à modifier le format de tout ou partie des données du paquet P1 ou à appliquer tout autre traitement sur tout ou partie des données du paquet P1.

[0033] Après émission par la passerelle GW1 et à réception par la plateforme PF, le paquet P a un contenu P3. Pour simplifier l'exposé, le paquet P de contenu P3 est également nommé de manière raccourcie "paquet P3". Le paquet P3 comprend le message MG1 destiné à être transmis à la plateforme PF. Optionnellement, selon le protocole de transmission de données utilisé, le paquet P3 comprend en outre une identification de la plateforme destinataire et/ou des données d'identification ID1 de la passerelle GW1 émettrice du paquet P3.

[0034] Le paquet P3 est généré à partir du paquet P2 tel que reçu par la passerelle GW1, par application d'une fonction FC1 de codage associée à la passerelle GW1. La fonction FC1 de codage associée à la passerelle GW1 est appliquée par la passerelle GW1 à tout paquet en provenance du réseau secondaire (auquel appartiennent les machines M1, M2, M3 et la passerelle GW2) géré par cette passerelle. La fonction de codage FC1 consiste notamment à encapsuler le message MG2 du paquet P2 dans un message MG3 et à insérer dans le message MG3 des données d'identification ID2 de la machine GW2 émettrice du paquet P2. La fonction FC1 de codage peut en outre consister à modifier le format de tout ou partie des données du paquet P2 ou à appliquer tout autre traitement sur tout ou partie des données du paquet P2.

[0035] Lorsque le paquet P est émis par la plate-forme PF à destination de la machine M4, le paquet P subit, lors de son passage à travers les passerelles GW1 puis GW2, les transformations inverses de celle décrites dans le cas de sa transmission de la machine M4 vers la plate-forme PF. En particulier, le paquet P prend successivement les contenus P3, puis P2, puis P1, avec la seule différence que le contenu du message MG1 destiné à la machine M4 est dans ce cas généré par la plate-forme PF.

[0036] Ainsi à réception du paquet P3 en provenance de la plate-forme PF, la passerelle GW1 applique une fonction de décodage FD1 associée à la passerelle GW1, fonction qui est une fonction inverse de la fonction de codage FC1 décrite ci-dessus. En d'autres termes, l'application de la fonction de décodage FD1 au paquet P de contenu P3 permet d'obtenir un paquet P de contenu P2.

[0037] De même, à réception du paquet P2 en provenance de la passerelle GW1, la passerelle GW2 applique une fonction de décodage FD2 associée à la passerelle GW2, fonction qui est une fonction inverse de la fonction de codage FC2 décrite ci-dessus. En d'autres termes, l'application de la fonction de décodage FD2 au paquet P de contenu P2 permet d'obtenir un paquet P de contenu P1.

[0038] A réception par la plate-forme PF du paquet P de contenu P3, émis par la machine M4, le procédé illustré à la figure 5, comprenant les étapes 500 à 570, est exécuté par la plate-forme PF.

[0039] A l'étape 500, la plate-forme PF reçoit le paquet P de contenu P3.

[0040] A l'étape 510, la plate-forme PF obtient des données d'identification ID1 de l'émetteur du paquet reçu, en l'occurrence des données d'identification de la passerelle GW1. La plateforme PF enregistre en mémoire ID les données d'identification ID1 :



[0041] A l'étape 520, la plate-forme PF recherche un identifiant d'une fonction FD de décodage associée aux données d'identification mémorisées dans la mémoire ID:



[0042] Cet identifiant a été préalablement stocké en mémoire, dans une première table TFD dite table des fonctions de décodage, en association avec les données d'identification ID mémorisées à l'étape 510, en l'occurrence les données d'identification ID1 de la passerelle GW1. Un tel identifiant est réalisé par exemple sous forme de pointeur vers une fonction logicielle de décodage, pointeur au moyen duquel la fonction est aisément activable.

[0043] Si aucun identifiant de fonction de décodage n'est trouvé ou que cet identifiant est un pointeur nul, cela signifie qu'aucune fonction de décodage n'est à exécuter par la plate-forme PF. Ceci se produit notamment dans le cas où la machine est directement raccordée à la plateforme PF, comme c'est le cas par exemple pour la machine M0 de la figure 4. Dans ce cas, l'étape 550 est exécutée suite à l'étape 520. Dans le cas contraire, l'étape 530 est exécutée suite à l'étape 520. Dans l'exemple décrit c'est l'étape 530 qui est exécutée suite à l'étape 520.

[0044] A l'étape 530, lorsqu'une fonction exécutable a été identifiée, la plate-forme PF exécute cette fonction et l'applique au paquet reçu. Dans le cas de l'exemple donné à la figure 7a, le paquet P reçu par la plate-forme PF, de contenu P3, est décodé au moyen de la fonction FD de décodage identifiée, fonction qui en l'occurrence est la fonction FD1 de décodage associée à la passerelle GW1, de manière à restituer le contenu P2 du paquet P tel qu'émis par la passerelle GW2.

[0045] A l'étape 540, les données d'identification IDN+1 qui ont été encapsulées dans le paquet P3 sont extraites suite à l'étape de décodage 530. Ces données correspondent dans l'exemple décrit aux données d'identification ID2 de la machine GW2 émettrice du paquet P2 :



[0046] A l'étape 545, les données d'identification IDN+1 extraites à l'étape 540, sont comparées avec les données d'identification de l'émetteur du paquet mémorisées dans la mémoire ID. En cas d'égalité, le procédé se poursuit par l'étape 550. Ceci se produit notamment dans le cas où la passerelle GW1 envoie à la plate-forme PF des données, dont elle est l'émetteur (i.e. la passerelle GW1envoie des données pour son propre compte). Dans le cas contraire, l'étape 560 est exécutée suite à l'étape 545. Dans l'exemple choisi, étant donné que ID = ID1 (données d'identification de passerelle GW1) et que IDN+1= ID2 (données d'identification de passerelle GW2), c'est l'étape 560 qui est exécutée suite à l'étape 545.

[0047] A l'étape 560, la plate-forme PF mémorise, dans une deuxième table TG dite table de gestion, en association avec les données d'identification IDN+1= ID2 obtenues à l'étape 540, les données d'identifications ID1 mémorisées dans la mémoire ID :


c'est-à-dire :



[0048] La table de gestion, ainsi renseignée, est utilisée pour mémoriser le fait qu'une machine fait partie d'un réseau secondaire, géré par et accessible à travers une autre machine de type passerelle. Dans l'exemple choisi, la passerelle GW2 fait partie d'un réseau secondaire accessible via la passerelle GW1.

[0049] La table de gestion est ainsi utilisée pour mémoriser, en association avec des données d'identification d'une première machine, des données d'identification d'une deuxième machine via laquelle le réseau secondaire dont fait partie la première machine est accessible.

[0050] A l'étape 570, la plateforme PF enregistre en mémoire ID les données d'identification ID2 obtenues à l'étape 540 :



[0051] Suite à la mise à jour de la mémoire ID effectuée à l'étape 570, le procédé se poursuit à l'étape 520. Les étapes 520 à 545 sont itérées à nouveau avec comme paquet P2, en remplacement de P3, et comme données d'identification ID2, en remplacement de ID1.

[0052] Dans l'exemple choisi, le déroulement de cette deuxième itération s'effectue comme suit.

[0053] A l'étape 520, la plate-forme PF recherche un identifiant d'une fonction FD de décodage associée aux données d'identification mémorisées dans la mémoire ID:



[0054] A l'étape 530, la plate-forme PF exécute cette fonction et l'applique au paquet P2 reçu. Dans le cas de l'exemple choisi, le paquet P2, est décodé au moyen de la fonction FD de décodage identifiée, fonction qui en l'occurrence est la fonction de décodage FD2 associée à la passerelle GW2 puisque ID = ID2. Le paquet P1 est de ce fait restitué.

[0055] A l'étape 540, les données d'identification IDN+1 qui ont été encapsulées dans le paquet P2 sont extraites suite à l'étape de décodage 530. Ces données correspondent dans l'exemple décrit aux données d'identification ID4 de la machine M4 émettrice du paquet P1.

[0056] A l'étape 545, les données d'identification IDN+1 extraites à l'étape 540, sont comparées avec les données d'identification mémorisées dans la mémoire ID. Dans l'exemple décrit, les données d'identification ID = ID2 de la machine GW2 sont comparées avec les données d'identification IDN+1= ID4 de la machine M4. Dans l'exemple choisi, il n'y a pas égalité, et c'est donc l'étape 560 qui est exécutée suite à l'étape 545.

[0057] A l'étape 560, la plate-forme PF mémorise, dans une deuxième table TG dite table de gestion, en association avec les données d'identification IDN+1= ID4 obtenues à l'étape 540, les données d'identifications ID2 mémorisées dans la mémoire ID :


c'est-à-dire :



[0058] La table de gestion ainsi renseignée, permet à la plate-forme PF de mémoriser le fait que la machine ID4 fait partie d'un réseau secondaire accessible via la passerelle GW2.

[0059] A l'étape 570, la plateforme PF enregistre en mémoire ID les données d'identification ID4 obtenues à l'étape 540 précédente:



[0060] Suite à la mise à jour de la mémoire ID effectuée à l'étape 570, le procédé se poursuit à l'étape 520 avec le paquet P1, en remplacement du paquet P2, et comme données d'identification ID= ID4, en remplacement de ID2.

[0061] Dans l'exemple choisi, le déroulement de cette troisième itération s'effectue comme suit.

[0062] A l'étape 520, la plate-forme PF recherche un identifiant d'une fonction FD de décodage associée aux données d'identification mémorisées dans la mémoire ID:



[0063] Dans le cas de l'exemple choisi, l'identifiant est nul, aucune fonction FD n'étant associée à la machine M4. C'est donc l'étape 550 qui est exécutée ensuite.

[0064] A l'étape 550, le message MG1, contenu dans le paquet P1 obtenu à l'étape 520, est extrait puis traité par la plate-forme PF selon le contenu de ce message.

[0065] Le procédé selon l'invention, en ce qui concerne la partie émission de paquets, est décrit plus en détail au regard de la figure 6, dans le cas de la configuration de réseau de la figure 4 et en utilisant l'exemple de paquets de données illustré à la figure 7a.

[0066] Dans cet exemple, un paquet de données P est destiné à être émis par la plateforme PF à destination de la machine M4. Comme illustré à la figure 7a, le paquet après envoi, transite successivement à travers la passerelle GW1 puis à travers la passerelle GW2. Le paquet de donné P a des contenus différents P3, P2, P1 au cours de sa transmission de la plate-forme PF à la machine M4.

[0067] Avant envoi par la plate-forme PF du paquet P de contenu P3, le procédé illustré à la figure 6, comprenant les étapes 600 à 660, est exécuté par la plate-forme PF.

[0068] A l'étape 600, la plate-forme PF génère le contenu du message MG1 à envoyer.

[0069] A l'étape 610, la plate-forme PF obtient des données d'identification ID4 de la machine à laquelle le message MG1 est à envoyer. Les données d'identification ID4 sont mémorisées dans la mémoire ID:



[0070] A l'étape 620, la plate-forme PF interroge la table de gestion TG pour identifier une passerelle via laquelle le paquet P1 doit transiter pour parvenir à la machine destinataire du paquet. Si la valeur TG[ID] mémorisée dans la table en association avec les données d'identifications mémorisées dans ID est nulle ou si aucune valeur n'est mémorisée, le procédé se poursuit à l'étape 630, sinon à l'étape 640. La valeur TG[ID] mémorisée dans la table TG pour ID = ID4 correspondant aux données d'identification ID2, c'est la passerelle GW2 qui est identifiée comme passerelle d'accès au réseau secondaire auquel appartient la machine M4. Dans l'exemple décrit, c'est donc l'étape 640 qui est exécutée.

[0071] A l'étape 640, la plate-forme PF mémorise dans ID l'identifiant de la passerelle via laquelle le paquet doit transiter pour parvenir à la machine destinataire du paquet :



[0072] Dans l'exemple choisi, le nouvel identifiant mémorisé dans ID est égal à



[0073] A l'étape 650, la plate-forme PF recherche, dans une troisième table TFC dite table des fonctions de codage, un identifiant FC d'une fonction de codage associée à l'identifiant mémorisé dans la mémoire ID:



[0074] Cet identifiant a été préalablement stocké en mémoire, en association avec les données d'identification ID, en l'occurrence les données d'identification ID2 de la passerelle GW2. Un tel identifiant est réalisé par exemple sous forme de pointeur vers une fonction logicielle de codage, pointeur au moyen duquel la fonction est aisément activable.

[0075] Si aucun identifiant de fonction de codage n'est trouvé ou que cet identifiant est un pointeur nul, cela signifie qu'aucune fonction de codage n'est à exécuter par la plate-forme PF. Ceci se produit dans le cas où la machine destinatrice du paquet est le destinataire final des données. Dans ce cas, l'étape 620 est exécutée suite à l'étape 650. Dans le cas contraire, l'étape 660 est exécutée suite à l'étape 650. Dans le cas de l'exemple décrit, c'est l'étape 660 qui est exécutée, la fonction de codage FC= FC2 étant obtenue par consultation de la table TFC à partir des données d'identification ID2 de la GW2.

[0076] A l'étape 660, lorsqu'une fonction de codage FC exécutable a été identifiée à l'étape 650, la plate-forme PF exécute la fonction de codage FC2 et l'applique au paquet P1 à transmettre, de manière à obtenir le paquet P2. L'étape 620 est exécutée suite à l'étape 660.

[0077] A l'étape 620, la plate-forme PF interroge la table de gestion TG pour identifier une passerelle via laquelle le paquet P2 doit transiter pour parvenir à la machine destinataire du paquet. La valeur TG[ID] mémorisée dans la table TG pour ID = ID2 correspondant aux données d'identification ID1, c'est la passerelle GW1 qui est identifiée comme passerelle d'accès au réseau secondaire auquel appartient la passerelle GW2.

[0078] A l'étape 640, la plate-forme PF mémorise dans ID l'identifiant de la passerelle via laquelle le paquet doit transiter pour parvenir à la machine destinataire du paquet :



[0079] Dans l'exemple choisi, le nouvel identifiant mémorisé dans ID est égal à



[0080] A l'étape 650, la plate-forme PF recherche, dans la table TFC des fonctions de codage, un identifiant FC d'une fonction de codage associée à l'identifiant mémorisé dans la mémoire ID:



[0081] Dans le cas de l'exemple décrit, la fonction de codage FC= FC1 est obtenue par consultation de la table TFC à partir des données d'identification ID= ID1 de la passerelle GW1. L'étape 660 est ensuite exécutée, la plate-forme PF exécutant la fonction de codage FC1 obtenue à l'étape 650 et l'appliquant au paquet P2 à transmettre, de manière à obtenir le paquet P3. L'étape 620 est exécutée suite à l'étape 660.

[0082] A l'étape 620, la plate-forme PF interroge à nouveau la table de gestion TG pour identifier une passerelle via laquelle le paquet P3 doit transiter pour parvenir à la machine destinataire du paquet. La valeur TG[ID] mémorisée dans la table TG pour ID = ID1 étant nulle, c'est la plate-forme PF qui est identifiée comme dispositif d'accès au réseau auquel appartient la passerelle GW1. La valeur obtenue à l'étape 620 étant nulle, c'est l'étape 630 qui est exécutée ensuite.

[0083] A l'étape 630 finale, le paquet encodé par la plateforme est envoyé, une opération de formatage des données de ce paquet étant si besoin appliquée au paquet avant envoi.

[0084] Le procédé selon l'invention, en ce qui concerne la partie réception de paquets, est décrit plus en détail dans le cas particulier du deuxième exemple de paquets de données illustré à la figure 7b.

[0085] Dans cet exemple, un paquet de données P est émis par la passerelle GW2 elle-même à destination de la plateforme PF. Le paquet de données P a ici encore des contenus différents P1, P2, P3 au cours de sa transmission de la passerelle GW2 à plate-forme PF.

[0086] Après génération par la passerelle GW2, le paquet P a un contenu P1 et comprend notamment un message MG1 destiné à la plateforme PF.

[0087] Après émission par la passerelle GW2 et à réception par la passerelle GW1, le paquet P a un contenu P2. Le paquet P2 comprend le message MG1 destiné à la plateforme plate-forme PF et optionnellement des données d'identification de la machine émettrice du paquet P, insérées par la passerelle GW2 avant envoi du paquet M2, c'est-à-dire des données d'identification ID2 de passerelle GW2 elle-même. En alternative, il peut être prévu que les données d'identification insérées par la passerelle lorsqu'elle est elle-même émettrice d'un paquet soient nulles.

[0088] Le paquet P2 est encodé à partir du paquet P1 par la passerelle GW2 comme si le paquet P1 avait été émis par l'une des machines M4 ou M5 du sous-réseau géré par la passerelle GW2, c'est-à-dire par application de la fonction FC2 de codage associée à la passerelle GW2.

[0089] Après émission par la passerelle GW1 et à réception par la plateforme PF, le paquet P a un contenu P3. Le paquet P3 comprend le message MG1 destiné à la plateforme plate-forme PF et des données d'identification ID2 de la machine GW2 émettrice du paquet P2, insérées par la passerelle GW1 lors du transit du paquet P. Le paquet P3 comprend optionnellement deux fois les données d'identification ID2 de la passerelle GW2.

[0090] Le traitement du paquet P dans ce deuxième exemple est identique à celui du premier exemple donné ci-dessus, à l'exception des quelques différences relevées ci-dessous.

[0091] Les étapes initiales 500 à 510 du procédé de communication se déroulent comme dans le cas du premier exemple de paquet.

[0092] La première itération du procédé (étapes 520 à 545) se déroule comme dans le cas du premier exemple de paquet, la plate-forme PF obtenant le paquet P2 à partir du paquet P3 reçu.

[0093] La deuxième itération du procédé (étapes 520 à 545) se déroule comme dans le cas du premier exemple de paquet, la plate-forme PF obtenant le paquet P1 à partir du paquet P2, à l'exception toutefois de l'étape 545 lors de laquelle les données d'identification IDN+1 extraites à l'étape 540 précédente, sont comparées avec les données d'identification mémorisées dans la mémoire ID.

[0094] Dans l'exemple décrit ici, les données d'identification ID = ID2 de la machine GW2 sont comparées avec les données d'identification IDN+1= ID2 de la machine GW2. Il y a égalité et c'est donc l'étape 550 qui est exécutée suite à l'étape 545. Il n'y a donc pas de fonction de décodage supplémentaire à rechercher puisque c'est la passerelle GW2 qui a généré le paquet P. En outre il n'est pas utile d'enregistrer dans la table de gestion TG les données d'identification ID2 en association avec les données d'identification ID2. Le procédé se termine donc suite à l'étape 550.

[0095] On comprend ainsi comment le test de l'étape 545 permet de détecter et de traiter les cas où une passerelle d'interconnexion émet pour son propre compte un paquet.

[0096] En ce qui concerne la partie émission de paquets, la situation dans laquelle la plateforme PF émet à destination de la passerelle d'interconnexion GW2 un paquet de données n'implique pas de modification des étapes 600 à 660 du procédé selon l'invention telles qu'elles ont été décrites dans le cas du premier exemple de paquet.

[0097] Selon une implémentation préférée, les différentes étapes du procédé selon l'invention sont mises en oeuvre par logiciel, logiciel comprenant des instructions logicielles destinées à être exécutées par un processeur de données de la plate-forme et conçues pour commander l'exécution des différentes étapes de ce procédé.

[0098] En conséquence, l'invention vise aussi un programme, susceptible d'être exécuté par un ordinateur ou par un processeur de données, ce programme comportant des instructions pour commander l'exécution des étapes d'un procédé tel que mentionné ci-dessus.

[0099] Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.

[0100] L'invention vise aussi un support d'informations lisible par un ordinateur ou processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus.

[0101] Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur.

[0102] D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.

[0103] Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.

[0104] L'invention est applicable à toute configuration de réseau, quel que soit le nombre de réseaux secondaires, quelle que soit la technologie d'adressage des machines utilisée dans ces réseaux secondaires et quel que soit le type de codage / décodage appliqué par les passerelles lors du transit d'un paquet. En particulier, même lorsqu'une passerelle est transparente et n'applique aucune fonction de codage / décodage à un paquet, hormis éventuellement l'insertion de données d'identification, il est prévu de mémoriser un pointeur non nul vers une fonction de codage / décodage qui ne modifie pas les données d'entrée qu'elle reçoit. De cette manière le procédé décrit reste générique et applicable dans tous les cas.

[0105] L'invention fournit une solution générique de communication entre machines. Elle suppose la mise en oeuvre au niveau de la plateforme de fonctions de codage et décodage correspondant chacune à une fonction de décodage, respectivement de codage mise en oeuvre par un dispositif de gestion d'un réseau secondaire via lequel les paquets transitent.

[0106] Etant donné que les dispositifs GW1, GW2 de gestion de réseaux secondaires sont eux-mêmes vus et identifiés par la plate-forme PF de la même manière qu'une machine M0 à M5, un tel dispositif GW1, GW2 est susceptible d'émettre des messages pour son propre compte et de communiquer avec la plate-forme PF selon le même procédé. Le procédé est donc complètement générique.


Revendications

1. Procédé de traitement d'au moins un paquet (P3) de données reçu par une entité réceptrice en provenance d'une machine (M4, GW2) après transmission à travers au moins un réseau de transmission de données, le procédé comprenant,

- une étape (510) d'obtention de données d'identification d'un dispositif (GW1) intervenu dans la transmission dudit paquet de données,

- une étape (520) d'identification d'une fonction (FD1) de décodage associée aux données d'identification obtenues, ladite fonction (FD1) de décodage étant une fonction inverse d'une fonction (FC1) de codage appliquée par ledit dispositif (GW1) à un paquet avant transmission,

- une étape (530) de décodage du paquet reçu par application de la fonction (FD1) de décodage identifiée.


 
2. Procédé selon la revendication 1, dans lequel l'étape de décodage est appliquée itérativement sur le paquet courant constitué par le paquet obtenu à l'issue de l'étape de décodage précédente, par application à chaque itération de la fonction de décodage associée aux données d'identification de chaque dispositif d'une succession de dispositifs intervenus dans la transmission dudit paquet de ladite machine à l'entité réceptrice,
l'ordre des dispositifs associés respectivement aux fonctions de décodage appliquées lors des étapes de décodage successives étant l'ordre inverse de l'ordre dans lequel ces dispositifs interviennent lors de la transmission dudit paquet de ladite machine à l'entité réceptrice.
 
3. Procédé selon la revendication 2, comprenant, lorsque ledit paquet a été transmis successivement par un premier dispositif (GW2) puis par un deuxième dispositif (GW1), une étape (560) de mémorisation, dans une table (TG) mémorisant en association avec des données d'identification d'une première machine des données d'identification d'une deuxième machine via laquelle est accessible un réseau secondaire dont fait partie la première machine, de données d'identification (ID1) du deuxième dispositif en association avec des données d'identification (ID2) du premier dispositif.
 
4. Procédé selon la revendication 1, 2 ou 3, dans lequel lesdites données d'identification sont extraites dudit paquet.
 
5. Procédé de traitement d'au moins un paquet de données à transmettre par une entité émettrice à destination d'une machine (M4, GW2) à travers un réseau de transmission de données, le procédé comprenant,

- une étape (610) d'obtention de données d'identification d'un dispositif (GW2) destiné à intervenir dans la transmission du paquet à transmettre,

- une étape (650) d'identification d'une fonction (FC2) de codage associée aux données d'identification obtenues, ladite fonction (FC2) de codage étant une fonction inverse d'une fonction (FD2) de décodage appliquée par ledit dispositif (GW2) à un paquet avant transmission,

- une étape (660) de codage dudit paquet par application de la fonction (FC2) de codage identifiée,

- une étape (630) d'envoi audit dispositif (GW2) du paquet obtenu à l'issue de l'étape de codage, en vue de la transmission dudit paquet à ladite machine.


 
6. Procédé selon la revendication 5, dans lequel l'étape de codage est appliquée itérativement sur le paquet courant constitué le paquet obtenu à l'étape de codage précédente, par application à chaque itération de la fonction de codage associée aux données d'identification de chaque dispositif d'une succession de dispositifs destinés à intervenir dans la transmission dudit paquet de l'entité émettrice à ladite machine,
l'ordre des dispositifs respectivement associés aux fonctions de codage appliquées lors des étapes de codage successives étant l'ordre inverse de l'ordre dans lequel ces dispositifs interviennent lors de la transmission dudit paquet de l'entité émettrice à ladite machine.
 
7. Procédé selon la revendication 5 ou 6, dans lequel les données d'identification (ID2) dudit dispositif (GW2) sont obtenues à partir de données d'identification (ID4) de ladite machine (M4), par lecture dans une table mémorisant en association avec des données d'identification d'une première machine des données d'identification d'une deuxième machine via laquelle est accessible un réseau secondaire dont fait partie la première machine.
 
8. Procédé selon la revendication 7, comprenant, lorsque ledit paquet est destiné à être transmis successivement par un premier dispositif (GW1) puis par un deuxième dispositif (GW2), une étape (640) d'obtention de données d'identification (ID1) dudit premier dispositif (GW1) à partir de données mémorisées dans ladite table en association avec des données d'identification (ID2) dudit deuxième dispositif (GW2).
 
9. Dispositif de communication (PF) apte à recevoir au moins un paquet (P3) de données d'une machine (M4, GW2) après transmission à travers au moins un réseau de transmission de données, ledit dispositif comprenant,

- des moyens d'obtention (510) de données d'identification d'un dispositif (GW1) intervenu dans la transmission dudit paquet de données,

- des moyens d'identification (520) d'une fonction (FD1) de décodage associée aux données d'identification obtenues, ladite fonction (FD1) de décodage étant une fonction inverse d'une fonction (FC1) de codage appliquée par ledit dispositif (GW1) à un paquet avant transmission,

- des moyens de décodage du paquet reçu par application de la fonction (FD1) de décodage identifiée.


 
10. Dispositif de communication (PF) apte à transmettre au moins un paquet de données à destination d'une machine (M4, GW2) à travers un réseau de transmission de données, ledit dispositif comprenant,

- une étape d'obtention (610) de données d'identification d'un dispositif (GW2) destiné à intervenir dans la transmission du paquet à transmettre,

- des moyens d'identification (650) d'une fonction (FC2) de codage associée aux données d'identification obtenues, ladite fonction (FC2) de codage étant une fonction inverse d'une fonction (FD2) de décodage appliquée par ledit dispositif (GW2) à un paquet avant transmission,

- des moyens de codage (660) dudit paquet par application de la fonction (FC2) de codage identifiée,

- des moyens d'envoi (630) pour envoyer audit dispositif (GW2) le paquet obtenu à l'étape de codage, en vue de la transmission dudit paquet à ladite machine.


 
11. Programme informatique comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'une des revendications 1 à 8 lorsque ledit programme est exécuté par un processeur de données.
 
12. Support d'enregistrement lisible par un processeur de données sur lequel est enregistré un programme comprenant des instructions code de programme pour l'exécution des étapes du procédé selon l'une des revendications 1 à 8.
 




Dessins