FR2954659A1 - Procede de determination d'une sequence de nœuds, produit programme d'ordinateur, moyen de stockage et dispositif correspondants. - Google Patents

Procede de determination d'une sequence de nœuds, produit programme d'ordinateur, moyen de stockage et dispositif correspondants. Download PDF

Info

Publication number
FR2954659A1
FR2954659A1 FR0959555A FR0959555A FR2954659A1 FR 2954659 A1 FR2954659 A1 FR 2954659A1 FR 0959555 A FR0959555 A FR 0959555A FR 0959555 A FR0959555 A FR 0959555A FR 2954659 A1 FR2954659 A1 FR 2954659A1
Authority
FR
France
Prior art keywords
nodes
node
relay
sequence
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0959555A
Other languages
English (en)
Other versions
FR2954659B1 (fr
Inventor
Julien Sevin
Falk Tannhauser
Pierre Visa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0959555A priority Critical patent/FR2954659B1/fr
Publication of FR2954659A1 publication Critical patent/FR2954659A1/fr
Application granted granted Critical
Publication of FR2954659B1 publication Critical patent/FR2954659B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • H04B7/26Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
    • H04B7/2603Arrangements for wireless physical layer control
    • H04B7/2606Arrangements for base station coverage control, e.g. by using relays in tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • H04B7/15592Adapting at the relay station communication parameters for supporting cooperative relaying, i.e. transmission of the same data via direct - and relayed path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Il est proposé un procédé de détermination d'une séquence de noeuds, dans un réseau comprenant au moins un nœud source, apte à émettre un bloc de données source, et une pluralité de nœuds relais, apte à relayer le bloc de données source, la séquence de noeuds définissant l'ordre dans lequel les nœuds accèdent à des intervalles de temps alloués aux nœuds pour transmettre des données. Le procédé comprend les étapes suivantes : - pour chaque nœud source Sk d'un ensemble d'un ou plusieurs nœuds sources, construire une liste Lk de couple(s) de nœuds relais (Rx, Ry) vérifiant une condition de proximité relativement au nœud source Sk, la condition de proximité étant vérifiée lorsque la probabilité qu'un obstacle interrompe simultanément des transmissions du nœud source Sk vers les deux nœuds relais Rx, Ry est supérieure à un seuil prédéterminé; - déterminer au moins une séquence de nœuds (680), à partir d'une fonction ayant pour paramètre au moins une distance temporelle, chaque distance temporelle étant une fonction qui est associée à un couple de nœuds relais de la ou les listes construites et qui, pour une séquence de nœuds donnée, possède une valeur établie en nombre d'intervalles de temps, le couple de nœuds relais relayant un même bloc de données source selon ladite séquence de noeuds donnée, ledit bloc de données source provenant du nœud source relativement auquel les nœuds relais du couple sont considérés proches.

Description

Procédé de détermination d'une séquence de noeuds, produit programme d'ordinateur, moyen de stockage et dispositif correspondants. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui des réseaux de communications. Plus précisément, l'invention concerne une technique de détermination d'une séquence de noeuds dans un réseau maillé utilisant comme protocole d'accès à un canal de communication, le protocole TDMA (acronyme anglais de « Time Division Multiple Access », ou «accès multiple à répartition dans le temps » en français). 2. ARRIÈRE-PLAN TECHNOLOGIQUE Traditionnellement, un réseau de communication sans fil maillé est constitué d'un ou plusieurs noeuds sources, générant des données, d'un ensemble de noeuds relais, relayant les données et d'un ou plusieurs noeuds destinations, recevant les données. Les noeuds relais sont utilisés pour retransmettre les messages envoyés par un noeud source et qui sont destinés à au moins un noeud destination. Les noeuds relais offrent une diversité spatiale de transmission permettant de faire face aux erreurs de transmissions altérant le réseau. Deux types d'erreurs de transmissions sont envisageables dans un tel réseau. Le premier type d'erreur est causé par un masquage, par exemple lorsqu'un individu traverse un champ de transmission. Ce type d'erreur peut-être détecté par un noeud (relais ou destination) en analysant par exemple le niveau de signal radio reçu (ou RSSI, acronyme anglais de « Received Signal Strength Indication ») ou le rapport signal sur bruit (ou SNR, acronyme anglais « Signal-to-Noise Ratio »). Le deuxième type d'erreur est causé par une perturbation aléatoire des ondes radios, induisant alors des altérations dans les données transmises.
Pour se prémunir contre ces deux types d'erreurs, une technique classique consiste à utiliser la propriété de maillage du réseau, en réalisant plusieurs retransmissions d'une donnée issue d'un noeud source donné par l'intermédiaire des noeuds relais. Le noeud destination utilise ensuite un décodeur prenant en entrée les différentes copies reçues (altérées ou non) pour détecter et corriger les erreurs afin d'obtenir les données initialement transmises. Un tel décodeur peut-être, par exemple, un décodeur à répétition. Cependant d'autres stratégies sont envisageables comme, par exemple, la sélection d'un paquet reçu en se basant sur un critère de qualité (tel que le niveau de signal radio reçu). Remarquons que quel que soit le choix du décodeur, plus le nombre de copies reçues par un décodeur est important, plus les performances de ce décodeur sont meilleures, c'est-à-dire plus la probabilité de corriger l'ensemble des erreurs contenues dans la donnée est grande. De plus, pour assurer des transmissions haut débit, il faut nécessairement éviter les collisions entre les noeuds du réseau, une collision se produisant lorsque deux noeuds décident de communiquer et d'avoir accès au médium simultanément. Pour pallier ce problème, il suffit d'utiliser une technique connue sous le nom de TDMA. Cette technique alloue un temps de transmission cyclique et prédéfini pour chaque noeud émetteur du réseau. Plus précisément, une séquence TDMA, appelée aussi super-trame, correspondant à une période temporelle définie, celle-ci étant divisée en un nombre prédéfini d'intervalles de temps (encore appelés « temps de parole » ou « trames ») et chaque intervalle de temps est alloué à un unique noeud du réseau. Chaque noeud, émettant à tour de rôle, peut alors transmettre des données via sa trame associée à des moments prédéterminés dans un cycle du réseau de communication. L'ordonnancement des noeuds accédant aux intervalles de temps au sein d'une super-trame est appelé une séquence de noeuds. Le choix d'une séquence de noeuds dans ce type de réseau, s'il est effectué de manière non aléatoire, est un paramètre de configuration dudit réseau induisant une multitude de conséquences. Notamment, dans l'état de la technique, les documents de brevets WO2008152113 et US 2008/0165745 présentent des techniques venant étayer cette assertion. En effet, elles fournissent toutes les deux une solution au problème de minimisation de la latence au sein d'un réseau (i.e elles permettent de diminuer le temps d'acheminement d'une donnée entre un noeud source et un noeud destination grâce au choix de la séquence de noeuds). La première technique connue, proposée par le document de brevet WO2008152113, explicite la manière dont la séquence de noeuds est déterminée à partir des conditions des signaux radios d'un réseau, alors que la deuxième technique connue, proposée par le document de brevet US 2008/0165745 nécessite l'utilisation d'un protocole de routage pour déterminer la séquence de noeuds du réseau.
En aucun cas, dans les techniques connues mentionnées précédemment, la détermination de la séquence de noeuds utilisée dans un réseau ne permet de minimiser l'impact des masquages dans un réseau. Plus précisément, la première technique connue nécessite l'obtention de valeurs qui caractérisent les qualités de transmissions entre chaque noeud du réseau. Ces valeurs peuvent, par exemple, correspondrent au niveau de signal radio reçu (RSSI). À partir de ces informations, cette technique construit, dans un premier temps, un arbre hiérarchique dont la racine est le noeud source, à partir de plusieurs règles de diversité spatiale puis, dans un deuxième temps, à partir de cet arbre, une séquence de noeuds est déterminée.
Notons que ces règles de diversité spatiale ne se basent ni sur la localisation des noeuds relais par rapport aux noeuds sources, ni sur la probabilité d'apparition des obstacles dans des zones géographiques du réseau. Ainsi, cette technique n'améliore pas la robustesse du réseau. En effet, l'objectif de cette technique est d'optimiser la latence de bout en bout.
La deuxième technique connue permet de déterminer le chemin optimal (c'est-à-dire qui minimise la latence de bout en bout) entre un noeud source et un noeud destination. La technique emploie dans un premier temps un protocole de routage lui permettant d'obtenir un chemin établi. Dans un deuxième temps, une séquence de noeuds est déterminée en fonction du chemin obtenu.
Remarquons que, dans l'état de la technique, la détermination d'une séquence de noeuds se fait uniquement via l'utilisation de critères spatiaux (i.e à partir de distances caractérisant une position spatiale). Enfin, _notons que la première technique connue ne s'applique que sur un réseau maillé constitué d'un unique noeud source et, la deuxième technique quand à elle s'applique aussi à un réseau maillé constitué d'un unique noeud source et d'un unique noeud destination. Cela est limitatif quant aux types de réseaux pour lesquels ces deux techniques connues sont applicables. 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique.
Plus précisément, dans au moins un mode de réalisation de l'invention, un objectif est de fournir un procédé de détermination d'une séquence de noeuds, l'utilisation de la séquence de noeuds déterminée permet de fournir une technique de protection du réseau, en augmentant la robustesse du réseau face aux masquages.
Au moins un mode de réalisation de l'invention a également pour objectif de fournir une telle technique non limitative quand au nombre de noeuds sources, destinations ou relais. Un autre objectif d'au moins un mode de réalisation de l'invention est de fournir une telle technique ne se basant pas uniquement sur des critères spatiaux.
Un objectif complémentaire d'au moins un mode de réalisation de l'invention est de fournir une telle technique permettant d'augmenter le nombre de copies reçues par les noeuds destinations. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de détermination d'une séquence de noeuds, dans un réseau comprenant au moins un noeud source, apte à émettre un bloc de données source, et une pluralité de noeuds relais, apte à relayer ledit bloc de données source, ladite séquence de noeuds définissant l'ordre dans lequel lesdits noeuds accèdent à des intervalles de temps alloués auxdits noeuds pour transmettre des données, ledit procédé étant caractérisé en ce qu'il comprend des étapes consistant à : a) pour chaque noeud source Sk d'un ensemble d'un ou plusieurs noeuds sources, construire une liste Lk de couple(s) de noeuds relais (Rx, Ry) vérifiant une condition de proximité relativement au noeud source Sk, ladite condition de proximité étant vérifiée lorsque la probabilité qu'un obstacle interrompe simultanément des transmissions du noeud source Sk vers les deux noeuds relais Rx, Ry est supérieure à un seuil prédéterminé; b) déterminer au moins une séquence de noeuds, à partir d'une première fonction ayant pour paramètre au moins une distance temporelle, chaque distance temporelle étant une deuxième fonction qui est associé à un couple de noeuds relais de la ou les listes construites et qui, pour une séquence de noeuds donnée, possède une valeur établie en nombre d'intervalles de temps, ledit couple de noeuds relais relayant un même bloc de données source selon ladite séquence de noeuds donnée, ledit bloc de données source provenant du noeud source relativement auquel les noeuds relais du couple sont considérés proches ; c) sélectionner une séquence de noeuds, parmi la ou les séquences de noeuds déterminées. Dans une première mise en oeuvre particulière de l'invention, il est proposé un procédé de détermination d'une séquence de noeuds, dans un réseau comprenant au moins un noeud source, apte à émettre un bloc de données source, et une pluralité de noeuds relais, apte à relayer ledit bloc de données source, ladite séquence de noeuds 10 définissant l'ordre dans lequel lesdits noeuds accèdent à des intervalles de temps alloués auxdits noeuds pour transmettre des données. Le procédé est remarquable en ce qu'il comprend des étapes consistant à : a) pour chaque noeud source Sk d'un ensemble d'un ou plusieurs noeuds sources, construire une liste Lk de couple(s) de noeuds relais (Rx, Ry) vérifiant une condition de proximité relativement au noeud source Sk, ladite condition de proximité étant vérifiée lorsque la probabilité qu'un obstacle interrompe simultanément des transmissions du noeud source Sk vers les deux noeuds relais Rx, Ry est supérieure à un seuil prédéterminé; et b) déterminer au moins une séquence de noeuds à partir d'une fonction ayant pour paramètre(s) au moins une distance temporelle définie comme un écart, en nombre d'intervalles de temps, entre les deux intervalles de temps utilisés par les noeuds relais d'un couple de noeuds relais d'une liste Lk, pour relayer un même bloc de données source; c) sélectionner une séquence de noeuds, parmi la ou les séquences de noeuds déterminées. Ainsi, en utilisant une première définition de la distance temporelle, le procédé ne nécessite que peu de ressources (en temps de calcul, et en complexité des opérations) et il permet de déterminer et de sélectionner une séquence de noeuds particulière. Lorsque cette séquence de noeud particulière est utilisée, la robustesse du réseau, face 30 aux masquages, est accrue. 15 20 25 En effet, la séquence de noeuds ainsi déterminée va permettre d'augmenter le nombre de copies reçues (pour chaque noeud destination). Ainsi, on augmente les performances du décodeur d'un noeud destination, celui-ci pouvant alors corriger un plus grand nombre de paquets erronés. Il est à noter que l'augmentation du nombre de copies vient du fait qu'en écartant temporellement deux noeuds relais considérés proches vus d'un noeud source Sk, le deuxième de ces deux noeuds relais profite d'un point de vue temporel de la transmission des noeuds relais situés temporellement entre le premier de ces deux noeud relais et ce deuxième noeud relais. En augmentant la probabilité que ce deuxième noeud relais envoie une donnée (notamment dans le cas où un obstacle s'intercalerait à la fois entre Sk et le premier noeud relais, et entre Sk et le deuxième noeud relais) issue de Sk, on augmente nécessairement le nombre de données issues de Sk reçues par le noeud destination. Ainsi, en déterminant au moins une séquence de noeuds à partir d'une fonction, on cherche à éloigner, de manière optimale, d'un point de vue temporel les intervalles de temps des noeuds considérés proches. Ainsi, grâce à cette technique, on augmente la résistance du réseau au masquage. Enfin, notons que le procédé proposé peut avantageusement être distribué sur un ensemble de noeuds afin d'accélérer la vitesse d'exécution dudit procédé, tout en que permettant d'économiser des ressources au niveau des noeuds (notamment en ne monopolisant pas toutes les ressources desdits noeuds). Selon une deuxième mise en oeuvre particulière de l'invention, il est proposé un procédé de détermination d'une séquence de noeuds, dans un réseau comprenant au moins un noeud source, apte à émettre un bloc de données source, et une pluralité de noeuds relais, apte à relayer ledit bloc de données source, ladite séquence de noeuds définissant l'ordre dans lequel lesdits noeuds accèdent à des intervalles de temps alloués auxdits noeuds pour transmettre des données. Le procédé est remarquable en ce qu'il comprend des étapes consistant à : a) pour chaque noeud source Sk d'un ensemble d'un ou plusieurs noeuds sources, construire une liste Lk de couple(s) de noeuds relais (Rx, Ry) vérifiant une condition de proximité relativement au noeud source Sk, ladite condition de proximité étant vérifiée lorsque la probabilité qu'un obstacle interrompe simultanément des transmissions du noeud source Sk vers les deux noeuds relais Rx, Ry est supérieure à un seuil prédéterminé; b) déterminer au moins une séquence de noeuds à partir d'une fonction ayant pour paramètre(s) au moins une distance temporelle définie comme un écart, en nombre d'intervalles de temps, entre un intervalle de temps utilisé par un noeud source pour transmettre un bloc de données source et un intervalle de temps utilisé par l'un des deux noeuds relais d'un couple de noeuds relais d'une liste Lk, pour relayer ledit bloc de données source ; et c) sélectionner une séquence de noeuds, parmi la ou les séquences de noeuds déterminées. Ainsi, en utilisant une deuxième définition de la distance temporelle, le procédé ne nécessite que peu de ressources (en temps de calcul, et en complexité des opérations) permet de déterminer et de sélectionner une séquence de noeuds particulière. Lorsque cette séquence de noeud particulière est utilisée, la robustesse du réseau, face aux masquages, est accrue. Dans un cas particulier de la deuxième définition, le noeud relais utilisé pour définir la distance temporelle est celui associé à l'écart le plus grand parmi les deux écarts suivants, associés chacun à un noeud relais différent : - un premier écart, en nombre d'intervalles de temps, entre un intervalle de temps utilisé par ledit noeud source pour transmettre ledit bloc de données source et un intervalle de temps utilisé par l'un des deux noeuds relais pour relayer ledit bloc de données source selon ladite séquence de noeuds donnée; - un deuxième écart, en nombre d'intervalles de temps, entre ledit intervalle de temps utilisé par ledit noeud source donné pour transmettre ledit bloc de données source et un intervalle de temps utilisé par l'autre des deux noeuds relais pour relayer ledit bloc de données source selon ladite séquence de noeuds donnée. Il est à noter que seule l'étape b) des première et deuxième mises en oeuvre présentées précédemment est différente, notamment la définition d'une distance temporelle. Toutefois, ces première et deuxième mises en oeuvre partagent le même principe général qui consiste à introduire une distance temporelle afin de déterminer la séquence de noeuds, de telle manière que deux noeuds relais considérés proches (selon une condition de proximité) pour un ensemble de noeud source doivent être « temporellement éloignés » selon ladite distance temporelle. En effet, suite à l'étape de détermination (en fonction d'un calcul de coût), on obtient une séquence de noeuds, qui, en moyenne, fournit une distance temporelle optimale pour le ou les couples de noeuds considérés proches.
Ainsi, la séquence de noeuds déterminée permet d'optimiser la robustesse du réseau face aux masquages. Avantageusement, pour chaque noeud source Sk, ladite condition de proximité entre deux noeuds relais Ri et Rj est fonction d'une distance angulaire entre un angle de réception a(s,i) du noeud relais Ri pour recevoir dudit noeud source Sk et un angle de réception a(s,j) du noeud relais Rj pour recevoir dudit noeud source Sk. Ainsi, l'étape consistant à construire une liste Lk, à partir de calcul d'angles, peut-être réalisée dès la phase d'initialisation et permet alors d'augmenter la robustesse d'un réseau maillé spatialement pauvre, c'est-à-dire un réseau maillé où la localisation des noeuds relais est mal choisie (ou définie) et où l'impact des obstacles mobiles peut être de ce fait plus important. Ce procédé permet de déterminer une séquence de noeuds pour des noeuds relais considérés spatialement proches (i.e lorsque la condition de proximité est vérifiée). En effet, la construction d'une liste Lk se base sur des données spatiales (en fonction de la position des noeuds) permettant de fournir des couples de noeuds relais (Rx , Ry ) pour lesquels on a potentiellement un lien entre la rupture d'une liaison entre un noeud source Sk et un noeud relais Rx et la rupture d'une liaison entre le même noeud source Sk et un autre noeud relais Ry. Ainsi, la séquence de noeuds déterminée est en adéquation avec la configuration spatiale du réseau. Avantageusement, ladite condition de proximité entre deux noeuds relais Ri et Rj est fonction d'une comparaison de ladite distance angulaire avec un seuil prédéterminé.
Ainsi, en utilisant un seuil prédéterminé, on peut affiner ou non la notion de proximité au vu de la distance angulaire entre deux noeuds relais. Plus le seuil prédéterminé est petit, plus les noeuds sont considérés proches d'un point de vu spatial. Ce seuil prédéterminé est donc un critère de paramétrage du procédé qui permet d'adapter celui-ci à tout type de configuration spatiale du réseau.
Avantageusement, pour chaque noeud source Sk, ladite condition de proximité entre deux noeuds relais Ri et Rj est fonction du nombre de fois où la condition de corrélation suivante a été vérifiée : pour un même bloc de données source provenant dudit noeud source Sk, chacun des noeuds relais Ri et Rj a transmis une notification d'erreur indiquant une impossibilité de relayer ledit bloc de données source. Ainsi, ce procédé permet de déterminer une séquence de noeuds pour des noeuds relais considérés effectivement proches (i.e lorsque la condition de corrélation est vérifiée). En effet, la construction d'une liste Lk se base sur des données effectives (en fonction de notifications d'erreurs) permettant de fournir des couples de noeuds relais (Rx , Ry ) pour lesquels on a effectivement détecté une corrélation entre la rupture d'une liaison entre un noeud source Sk et un noeud relais Rx et la rupture d'une liaison entre le même noeud source Sk et un autre noeud relais Ry. Ainsi, la séquence de noeuds déterminée est en adéquation avec le fonctionnement réel du réseau. Avantageusement, lorsque plusieurs séquences de noeuds sont déterminées dans l'étape b), l'étape c) comprend des étapes consistant à : i) obtenir au moins un triplet, comprenant un couple de noeuds relais et un noeud source relativement auquel les noeuds relais du couple sont considérés proches, et pour lequel la condition de corrélation suivante a été vérifiée : pour un même bloc de données source provenant dudit noeud source, chacun desdits noeuds relais a transmis une notification d'erreur indiquant une impossibilité de relayer ledit bloc de données source ; ii) sélectionner un triplet parmi le ou les triplets obtenus; iii) rechercher, parmi les séquences de noeuds déterminées, au moins une séquence de noeuds optimale qui maximise une troisième fonction ayant pour paramètre(s) au moins la distance temporelle du couple de noeuds relais compris dans le triplet sélectionné, dans le cas où les deux noeuds relais relaient un même bloc de données source provenant du noeud source compris dans le triplet sélectionné ; iv) sélectionner une séquence de noeuds parmi la ou les séquences de noeuds optimales. Lorsque dans l'étape de détermination, plusieurs séquences de noeuds sont déterminées, un critère de sélection d'une séquence de noeuds consiste à rechercher la ou les séquences maximisant une distance temporelle pour un couple de noeuds relais choisi. Ce couple de noeud relais est choisi fonction de l'occurrence d'une condition de corrélation. Ainsi, la ou les séquences de noeuds optimales obtenues sont celles qui permettent d'éloigner temporellement le couple pour lequel la rupture d'une liaison entre un noeud source Sk et un noeud relais Rx et la rupture d'une liaison entre le même noeud source Sk et un autre noeud relais Ry sont les plus fréquentes (et vice-versa) de par les compteurs d'occurrences obtenus. Avantageusement, l'étape, consistant à déterminer au moins une séquence de noeud à partir d'une fonction, comprend une étape consistant à maximiser une somme d'au moins une distance temporelle. Ainsi, en maximisant une somme d'au moins une distance temporelle, on détermine une séquence de noeuds pour laquelle, en moyenne, les noeuds sont temporellement éloignés. Dans un autre mode de réalisation, l'invention concerne un produit programme d'ordinateur qui comprend des instructions de code de programme pour la mise en oeuvre du procédé précité (dans l'un quelconque de ses différents modes de réalisation), lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation, l'invention concerne un moyen de stockage lisible par ordinateur, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé précité (dans l'un quelconque de ses différents modes de réalisation).
Dans un autre mode de réalisation, l'invention concerne un noeud destination permettant de déterminer une séquence de noeuds relais, dans un réseau comprenant au moins un noeud source, apte à émettre un bloc de données source, et une pluralité de noeuds relais, apte à relayer ledit bloc de données source, ladite séquence de noeuds définissant l'ordre dans lequel lesdits noeuds accèdent à des intervalles de temps alloués auxdits noeuds pour transmettre des données. Le noeud destination est remarquable en ce qu'il comprend : a) des moyens pour construire, pour chaque noeud source Sk d'un ensemble d'un ou plusieurs noeuds sources, une liste Lk de couple(s) de noeuds relais (Rx, Ry) vérifiant une condition de proximité relativement au noeud source Sk, ladite condition de proximité étant vérifiée lorsque la probabilité qu'un obstacle interrompe simultanément des transmissions du noeud source Sk vers les deux noeuds relais Rx, Ry est supérieure à un seuil prédéterminé; et b) des moyens pour déterminer au moins une séquence de noeuds à partir d'une fonction ayant pour paramètre(s) au moins une distance temporelle définie comme un écart, en nombre d'intervalles de temps, entre les deux intervalles de temps utilisés par les noeuds relais d'un couple de noeuds relais d'une liste Lk, pour relayer un même bloc de données source; c) des moyens pour sélectionner une séquence de noeuds, parmi la ou les séquences de noeuds déterminées.
Dans un autre mode de réalisation, l'invention concerne un noeud destination permettant de déterminer une séquence de noeuds, dans un réseau comprenant au moins un noeud source, apte à émettre un bloc de données source, et une pluralité de noeuds relais, apte à relayer ledit bloc de données source, ladite séquence de noeuds définissant l'ordre dans lequel lesdits noeuds accèdent à des intervalles de temps alloués auxdits noeuds pour transmettre des données. Le noeud destination est remarquable en ce qu'il comprend : a) des moyens pour construire, pour chaque noeud source Sk d'un ensemble d'un ou plusieurs noeuds sources, une liste Lk de couple(s) de noeuds relais (Rx, Ry) vérifiant une condition de proximité relativement au noeud source Sk, ladite condition de proximité étant vérifiée lorsque la probabilité qu'un obstacle interrompe simultanément des transmissions du noeud source Sk vers les deux noeuds relais Rx, Ry est supérieure à un seuil prédéterminé; b) des moyens pour déterminer au moins une séquence de noeuds à partir d'une fonction ayant pour paramètre(s) au moins une distance temporelle définie comme un écart, en nombre d'intervalles de temps, entre un intervalle de temps utilisé par un noeud source pour transmettre un bloc de données source et un intervalle de temps utilisé par l'un des deux noeuds relais d'un couple de noeuds relais d'une liste Lk, pour relayer ledit bloc de données source ; et c) des moyens pour sélectionner une séquence de noeuds, parmi la ou les séquences de noeuds déterminées. 5. LISTE DES FIGURES D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : - la figure 1 présente une configuration typique d'un réseau maillé sans fil dans lequel peut être mise en oeuvre la technique de l'invention; - la figure 2 présente une architecture d'un module de communication mettant en oeuvre un mode de réalisation particulier de l'invention; - la figure 3 présente la structure d'une séquence de noeuds selon un mode de réalisation particulier de l'invention; - la figure 4 présente un organigramme du procédé de détermination de la séquence de noeuds, selon un mode particulier de l'invention ; - la figure 5 présente un organigramme permettant de déterminer, pour chaque noeud source, la liste des couples de noeuds relais considérés spatialement proches vus dudit noeud source ; - la figure 6 présente un organigramme d'un algorithme permettant de déterminer une liste de séquence(s) de noeuds optimales (d'un point de vue de la robustesse au masquage) à partir des listes des noeuds relais proches selon un mode de réalisation particulier de l'invention ; - la figure 7 présente un organigramme d'un algorithme permettant de déterminer des distances temporelles selon deux modes de réalisation particuliers de l'invention ; - la figure 8a présente un organigramme montrant de manière générique la cinématique de l'analyse de corrélation des paquets reçus par un noeud destination, selon un mode de réalisation particulier de l'invention ; - la figure 8b présente un organigramme montrant de manière générique la cinématique de détermination des noeuds relais corrélés de manière effective par un noeud destination, selon un mode de réalisation particulier de l'invention ; - la figure 9 présente un organigramme montrant de manière générique la cinématique de la mise à jour d'une séquence de noeuds, selon un mode de réalisation particulier de l'invention. 30 6. DESCRIPTION DÉTAILLÉE Sur toutes les figures du présent document, les éléments et étapes identiques sont désignés par une même référence numérique. La figure 1 présente une configuration typique d'un réseau maillé sans fil dans lequel peut être mise en oeuvre la technique de l'invention. Le réseau maillé sans fil, basé sur un canal RF (pour « Radio Frequency » en anglais, ou « fréquence radio » en français ) de 60GHz, peut appliquer un codage réseau distribué non présenté ici. Le réseau est composé d'un ensemble de sept noeuds 105, 110, 115, 120, 125, 130, 135 qui sont à la fois : des noeuds sources (i.e. chaque noeud génère des données destinées à l'ensemble des noeuds du réseau), des noeuds relais (i.e. chaque noeud retransmet les données provenant des autres noeuds) et des noeuds destinations (i.e. chaque noeud traite les données provenant des autres noeuds). Dans la suite, par souci de généralisation, notons N le nombre de noeuds dans le réseau et M le nombre de noeuds sources dans le réseau, même si dans le réseau considéré, ci-après à titre d'exemple, M est égal à N. Une instanciation d'un tel réseau peut être, par exemple, un réseau dit de « cinéma à domicile » (ou « home cinema » en anglais) de type 5.1 1. Dans ce cas de figure, le noeud 105 peut être assimilé à un noeud de type WAD, (acronyme anglais de « Wireless Audio Decoder », ou en français « décodeur audio sans fil» ), comprenant un décodeur audio multi voies (ou « Surround sound decoder » en anglais), par exemple intégré dans un écran plat et susceptible de transmettre via le système de communication 60GHz, de manière parfaitement synchronisée, les différents canaux audio associés à la vidéo affichée sur l'écran. Les noeuds 110, 115, 120, 125, 130 et 135 peuvent être quand à eux assimilables à des noeuds de type WAR (acronyme anglais de « Wireless Audio Renderer », ou « récepteur audio sans fil » en français) dont chacun est équipé de moyens de restitution de canal audio numérique (ou « Digital Audio Channel Amplifier en anglais) qui intègrent un haut-parleur (ou « speaker » en anglais). La fonction de chacun de ces noeuds WAR est donc de réaliser une interface entre le haut-parleur auquel il est associé et le noeud WAD 105 dans le réseau maillé sans fil. Chaque noeud WAR du réseau, excepté le noeud WAD 105, est alors un noeud destination pour la transmission audio. De plus, afin notamment de connaître l'évolution de la topologie du réseau durant les transmissions de données, ces noeuds ont la capacité d'envoyer des données relatives à cet effet, et sont donc par conséquent aussi des noeuds sources. Les autres noeuds, et notamment le noeud WAD 105, sont donc tous des noeuds destination. Enfin, afin d'être robuste aux obstacles mobiles tel des individus, ces noeuds ont la capacité de relayer les information reçues des autres noeuds afin de profiter de la diversité spatiale du réseau. Les données sont envoyées dans un contenant appelé paquet, celui-ci étant constitué de K blocs définis de la manière suivante pour un noeud du réseau: un bloc est réservé pour les données émises par ce noeud, et les (K-1) autres blocs sont réservés à la retransmission des données issues des noeuds sources, un bloc pour chaque noeud source, blocs reçus directement des noeuds source ou reçus des autres noeuds relais. Il est à noter que la position des blocs est établie durant la phase d'initialisation et est connue de tous les noeuds. Donc un noeud relais sait exactement où récupérer, dans le paquet reçu, le bloc issu d'un noeud source donné.
Une politique de retransmission est alors établie, au niveau d'un noeud relais, afin de déterminer le bloc à retransmettre issu d'un noeud source donné parmi les blocs reçus relatifs à ce noeud source (bloc reçu directement de la source ou reçu indirectement des noeuds relais). Un exemple de politique est de sélectionner le bloc, contenu dans le paquet reçu, possédant la meilleure qualité, ladite qualité étant estimée, par exemple, en mesurant le niveau de signal radio reçu ou en utilisant le rapport signal-sur-bruit. Il est à noter que si un noeud est dans l'incapacité de relayer un bloc issu d'un noeud source donné, il le signale par l'intermédiaire d'une notification d'erreur. La figure 2 présente une architecture d'un module de communication mettant en oeuvre un mode de réalisation particulier de l'invention. Cette architecture illustre un mode de réalisation non-limitatif d'un dispositif de communication 200 d'un noeud du réseau 100, 105, 110, 115, 120, 125, 130 ou 135 dans lequel la présente invention est implémentée. L'invention se réalise indifféremment comme un programme exécuté sur une machine de calcul reprogrammable (un PC, un DSP (acronyme anglais de « Digital Signal Processor » ou « processeur de signal numérique » en français), ou un microcontrôleur) ou sur une machine de calcul dédiée (un ensemble de portes logiques comme un FPGA (acronyme anglais de « Field-Programmable Gate Array » ou « réseau de portes programmables in situ » en français) ou un ASIC (acronyme anglais de « Application-Specific Integrated Circuit » ou « un circuit intégré (micro-électronique) spécialisé » en français)). L'unité centrale de calcul 210 exécute le code programme implémentant les algorithmes présentés ci-après. Le transmetteur de paquets radio 230 transmet les paquets en cours, stockés dans la mémoire 220, au module Emetteur-Récepteur RF 240. Le récepteur de paquets radio 235 enregistre les paquets reçus du module Emetteur-Récepteur 240 dans la mémoire 220. De plus, à chaque paquet reçu, il donne une information sur la qualité de la réception de celui-ci tel le niveau de signal radio reçu ou le rapport signal sur bruit. La mémoire morte 225 stocke des variables nécessaires pour l'invention (qui ont une valeur prédéterminée) comme par exemple le seuil src_threshold nécessaire pour l'exécution de l'algorithme décrit en figure 5. Une interface homme-machine 215 est utilisée afin que l'utilisateur entre les paramètres d'entrée nécessaires à l'invention, non présents dans la mémoire morte 225. Le module de communication 200 reçoit les données grâce à une antenne intelligente de réception directionnelle 250 et émet des données aux autres modules de communication grâce à une antenne d'émission omnidirectionnelle 245. Une antenne intelligente est constituée d'un réseau d'éléments rayonnants répartis matriciellement sur un support. Ce type d'antenne permet la mise en oeuvre de la technique de formation de faisceaux radio (encore appelée « Beamforming » en anglais). Selon cette technique, chaque élément rayonnant de l'antenne est contrôlé électroniquement, en phase et en puissance, pour obtenir un faisceau d'émission et/ou de réception orientable qui soit plus ou moins étroit. Ces antennes fonctionnent sur des distances de l'ordre de dix mètres, distance requise pour des applications audio/vidéo domestiques. Leurs orientations, fixées par le module (240) sont stockées dans la mémoire RAM (acronyme anglais de « Random Access Memory », ou « mémoire vive » en français) afin que la technique de la présente invention puisse les utiliser. Le module de communication (200) est aussi en relation avec le module applicatif (230) de la manière suivante. Pour le noeud source (100), le module applicatif (230) fournit des données source au module (210) afin que celui-ci gère leur transmission jusqu'au noeud destination. Le module (200) du noeud destination envoie les données reçues à son module applicatif (230). Les diverses variables utilisées durant les algorithmes implémentant l'invention sont mémorisées en mémoire vive (220). Les moyens algorithmiques nécessaires sont détaillés dans les parties suivantes. La figure 3 présente la structure d'une super-trame selon un mode de réalisation particulier de l'invention. Dans le réseau considéré, le protocole d'accès au medium est un accès temporel, dit TDMA, où durant une période fixe, appelée super-trame (300), chaque noeud du réseau a un accès unique au médium durant un intervalle de temps ou slot (305) qui lui est alloué. L'ordonnancement des noeuds (à savoir l'ordre selon lequel les noeuds du réseau doivent émettre dans les intervalles de temps d'une super-trame) est appelé une séquence de noeuds. Suivant cette technique, chaque noeud est émetteur durant un intervalle de temps précis, et récepteur durant tous les autres intervalles de temps. Appliqué au réseau illustré dans la figure 1, voici un exemple de séquence de noeuds qui définit l'ordre selon lequel les noeuds accèdent au sept intervalles de temps au sein d'une super-trame : le premier intervalle de temps est alloué au noeud 105 qui envoie ses données audio. Puis le deuxième intervalle de temps est alloué au noeud 110. Celui-ci envoie dans son intervalle de temps ses propres données (de type dit de contrôle) en tant que noeud source ainsi que les données reçues du noeud 105 durant le premier intervalle de temps (car le noeud 110 est aussi un noeud relais). Puis successivement le troisième intervalle de temps est alloué au noeud 113, le quatrième intervalle de temps est alloué au noeud 120, le cinquième intervalle de temps est alloué au noeud 125, le sixième intervalle de temps est alloué au noeud 130 et enfin le septième intervalle de temps est alloué au noeud 135. Une telle séquence de noeuds telle que décrite est notée par la suite [105, 110, 115, 120, 125, 130, 135]. On réitère l'application de cette séquence de noeuds pour la super-trame suivante (si celle-ci n'est pas modifiée). De plus, afin que le noeud 110 relaie les données du noeud 105 mais aussi celles issues des autres noeuds, une technique d'entrelacement est utilisée dont le fonctionnement est le suivant : plaçons nous dans la n-ième super-trame, associée à la séquence de noeuds définie précédemment, le noeud 110 relaie les données du noeud 105 émises dans la n-ième super-trame , mais il relaie aussi les données des noeuds 110, 115, 120, 125, 130, 135 émises dans la (n-1)-ième super-trame selon la même séquence de transmission. La figure 4 présente un organigramme montrant de manière globale le mécanisme de détermination de la séquence de noeuds. Cet organigramme décrit l'algorithme de construction de la séquence de noeuds. Il est réalisé principalement (excepté pour les étapes 400, 405 et 420 impliquant la participation de l'ensemble des noeuds du réseau) par un des noeuds du réseau 105, 110, 115, 120, 125, 130 ou 135. Ce noeud est par la suite appelé noeud central. Dans un mode de réalisation préférentiel, le noeud central est le noeud WAD 105, c'est-à-dire, le noeud en première position dans la séquence de noeuds initiale. L'étape 400 s'exécute au démarrage du réseau. Durant celle-ci, chaque noeud en émission émet successivement un signal de test radio pendant une durée prédéterminée. Pendant ce temps, les différents noeuds en réception effectuent un balayage d'antenne complet pour chaque noeud en émission. Lors de ce balayage d'antenne, chaque noeud en réception mesure le niveau du signal radio reçu pour chaque angle d'orientation de son antenne. À la fin du balayage d'antenne, chaque noeud en réception a construit et stocké une courbe représentant le niveau de signal reçu en fonction des différents angles d'orientation de son antenne pour le noeud émetteur courant. Chacun des noeuds en réception construit et stocke autant de courbes qu'il y a de noeuds en émission dans le réseau maillé. Plus précisément, en relation avec la figure 1, supposons que la séquence de noeuds initiale prédéterminée est la suivante [105, 110, 115, 120, 125, 130, 135], chacun des noeuds 105, 110, 115, 120, 125, 130 et 150 accède au médium l'un après l'autre. Ainsi, les noeuds vont successivement émettre un signal de test sur le canal RF. Le signal de test comporte notamment le numéro d'identifiant du noeud émetteur courant. Par exemple, le noeud 105, qui est le premier dans la séquence initiale prédéterminée émet alors le signal de test sur le canal RF, par exemple un canal RF à 60GHz, pendant son intervalle de temps, durée supposée suffisante pour que chacun des noeuds en réception puisse effectuer un balayage d'antenne complet. Lors de ce balayage d'antenne, chaque noeud en réception mesure le niveau du signal radio reçu pour chaque angle d'orientation de son antenne 250. À la fin du balayage d'antenne, chaque noeud en réception a construit une courbe représentant le niveau de signal reçu en fonction des différents angles d'orientation de son antenne pour le noeud 100 en émission. Chaque noeud en réception stocke temporairement cette courbe dans une mémoires RAM 220. Ensuite, chacun des autres noeuds 105, 110, 115, 120, 125, 130 et 135 émet tour à tour un signal test RF sur le réseau maillé selon la séquence initiale prédéterminée afin que les différents noeuds en réception puissent construire et stocker dans leur mémoire RAM les différentes courbes. Au final, chacun des noeuds en réception construit et stocke autant de courbes qu'il y a de noeuds en émission dans le réseau maillé. Chaque courbe est alors analysée et l'angle d'antenne qui maximise ladite courbe est sélectionné. Cet angle est presque toujours l'angle d'orientation d'antenne principal, correspondant au chemin de vue directe, pour communiquer avec un noeud donné en émission, du fait que dans ce cas seule l'atténuation dans l'air affecte le niveau de signal reçu. Chaque noeud 105 à 135 poursuit la séquence d'initialisation en analysant les différentes courbes stockées respectivement dans la mémoire RAM 220. À l'issue de cette analyse, chaque noeud réception enregistre dans sa table d'angle d'antenne tous les angles d'orientation d'antenne sélectionnés pour communiquer avec un noeud donné en émission ainsi que la valeur du niveau signal reçu associé. Dans la suite du document, nous noterons a(i, j) l'angle sélectionné par le noeud R; pour recevoir du noeud Ri. Notons A; la table d'angles de réception du noeud R; stockant l'ensemble des angles sélectionnés par le noeud R; pour chaque noeud Ri. On peut noter A; ={a(i, j), j=1..Nb_nodes-1} avec Nb_nodes le nombre de noeuds dans le réseau, et pour i allant de 1 jusqu'à Nb_nodes. Remarquons que l'angle a(i, i) n'est pas stocké dans A;. Illustrons cela avec le réseau présenté dans la figure 1. Les tables d'angles des noeuds 105, 110, 115, 120, 125,130 et 135 sont notées successivement Ai, A2, A3, A4, A5, A6 et A, (les valeurs sont en degré). A la fin de cette étape, elles sont égales à : a(i,j) 105 110 115 120 125 130 135 Ai 28 57 83 60 140 132 A2 118 17 25 60 90 70 A3 50 105 330 37 25 0 A4 80 120 129 115 55 28 A5 60 140 230 380 20 340 30 142 180 205 230 200 300 130 160 181 210 167 110
Dans l'étape 405, on exécute un protocole de diffusion de l'ensemble des noeuds du réseau afin que le noeud central récupère l'ensemble des tables d'angles de réception A; (ainsi que les niveaux de signal reçu associés). Plusieurs techniques de diffusion sont connues de l'Homme du Métier pour diffuser des informations dans un réseau maillé de type inondation de données dans un protocole maillé, en anglais « flooding protocol ». Celle choisie, dans un mode de réalisation de l'invention, est la suivante : à partir d'une séquence de noeuds prédéterminée, l'information émise par un noeud est relayée successivement par tous les autres suivant la séquence de noeuds prédéterminée. Par exemple supposons que la séquence prédéterminée soit [105, 110, 115, 120, 125, 130, 135]. Lorsque le noeud 115 envoie ces tables d'angles, cette information est relayée successivement par les noeuds 120, 125, 130, 135, 105 et 110. Il est clair que durant cette phase, un noeud a la possibilité d'envoyer dans un même intervalle de temps sa propre information et des informations relayées reçues d'autres noeuds. À la fin de cette étape, le noeud central stocke les tables d'angles de réception Ai et les niveaux de signal reçu associés dans sa mémoire RAM 220. Dans l'étape 410, on détermine pour chaque noeud source Sk, la liste des noeuds relais considérés proches. Notons Lk cette liste associée au noeud source Sk. La notion de proximité peut être définie : soit de manière spatiale (l'algorithme est alors décrit ci-après en relation avec la figure 5), soit de manière effective (l'algorithme est alors décrit ci-après en relation avec la figure 8). Puis dans l'étape 415, on détermine la séquence de noeuds du réseau maillé décrit dans la figure 1 à partir des listes Lk déterminées à l'étape 410. Cette étape est décrite dans la figure 6. Notons que l'algorithme décrit figure 6 retourne une liste de séquence de noeuds Tmak. Une méthode de sélection d'une séquence de noeuds consiste à choisir, dans un mode de réalisation de l'invention, la première des séquences de noeuds de Tmak. Il est à noter que cette séquence de noeuds ainsi choisie pourra être remise en cause (cf. figure 9) au cours de la vie du réseau grâce aux statistiques récoltées par les noeuds destinations (cf. figure 8a et 8b). Dans ce cas, une nouvelle séquence de noeuds est A6 A, sélectionnée par la liste Ti,,,, (cf. figure 9). Un exemple de liste de séquences de noeuds (définie pour une distance temporelle) est la suivante. Ti. = {[105, 115, 130, 125, 120, 110, 135], [105, 135, 110, 120, 125, 130, 115]}. Supposons que l'algorithme choisisse la première donc [105, 115, 130, 125, 120, 110, 135].
Puis l'étape 420 diffuse à l'ensemble des noeuds du réseau la séquence de noeuds déterminée à l'étape 415. Pour cela, elle envoie une trame de contrôle suivant un protocole de diffusion de type inondation de données dans un protocole maillé. Le protocole choisi dans l'invention est le même que celui de l'étape 405 : à partir d'une séquence de noeuds prédéterminée, l'information émise par le noeud central 105 est relayée successivement par tous les autres, suivant la séquence de noeuds prédéterminée. De ce fait, la durée du protocole de diffusion est celle d'une séquence de noeuds et donc la prise en compte de la séquence de noeuds calculée à l'étape 415 est effective dès la séquence de noeuds qui suit celle de l'envoi de la nouvelle séquence de noeuds (étape 420). Dans le cadre de l'étape 420, la séquence de noeuds prédéterminée est la séquence de noeuds initiale prédéterminée. Il est à noter cependant que si le noeud central n'est pas le premier noeud de la séquence de noeuds, la séquence de noeuds est effective deux séquences de noeuds après la séquence de noeuds correspondante à l'étape 420 du noeud central. Illustrons avec le réseau décrit dans la figure 1 et supposons que la séquence de noeuds courante est la suivante [105, 110, 115, 120, 125, 130, 135] et numérotons les séquences de noeuds successives. Supposons qu'à la nième séquence de noeuds (après la phase d'initialisation 405) le noeud central, identifié comme le noeud 115, décide d'envoyer une nouvelle séquence de noeuds [105, 115, 130, 125, 120, 110, 135] déterminée à l'étape 420 et envoie cette information durant son temps de parole. Selon le protocole de diffusion, cette information est relayée successivement pendant la séquence de noeuds n par les noeuds 120, 125, 130, 135 puis durant la séquence de noeuds (n+l) successivement par les noeuds 105, 110. À cet instant tous les noeuds ont récupéré la nouvelle séquence calculée par le noeud central et appliquent cette nouvelle séquence de noeuds à la fin de la séquence de noeuds (n+l), c'est-à-dire durant la séquence de noeuds (n+2).
De plus, dans le cadre d'un unique noeud source, il est à noter qu'une solution alternative utilisant l'entrelacement peut être utilisée dans l'implémentation de la séquence de noeuds. Par exemple, supposons que la séquence de noeuds déterminée par l'étape 415 soit [105, 110, 115, 120, 125, 130, 135], et supposons que le seul noeud source est le noeud 105. On peut alors décider que la séquence de noeuds implémentée ne soit pas [105, 110, 115, 120, 125, 130, 135] mais [105, 125, 110, 130, 115, 135, 120] avec comme contrainte qu'à la séquence de noeuds n le noeud 105 envoie des données qui sont retransmises par les noeuds 110, 115 et 120 et que par contre, les noeuds 125, 130 et 135 retransmettent les données envoyées par le noeud 105 issues de la séquence de noeuds (n-1). Cette implémentation augmente la latence de bout en bout (deux séquences de noeuds sont maintenant nécessaires) mais a par contre comme avantage de laisser plus de temps entre deux noeuds consécutifs de la séquence de noeuds déterminée par l'étape 415. Par exemple, dans un système haut débit, le temps entre deux temps de parole est dimensionné très petit (car temps perdu), il se peut alors que sans l'alternative, le noeud 115 ne puisse exploiter les données reçues par le noeud 110 durant son intervalle de temps, et donc soit dans l'incapacité de retransmettre des données si la transmission entre le noeud 105 et 115 n'est pas possible. La figure 5 présente un organigramme permettant de déterminer, pour chaque noeud source, la liste des noeuds relais considérés spatialement proches vus dudit noeud source. Ainsi, pour chaque noeud source Sk la liste des noeuds relais qu'il considère spatialement proches vus de ce noeud source est construite. Cette liste associée à Sk est notée Lk. Dans l'étape 505, on initialise un compteur k à 1 afin d'analyser le premier noeud source Si. Puis dans l'étape 510, on détermine les couples des noeuds relais spatialement proches vu du noeud source Sk et construit ainsi la liste Lk associée à ce noeud source Sk en insérant ces couples. Pour cela une fonction G est définie ayant comme paramètre d'entrée deux noeuds relais R; et Ri pour quantifier la proximité. La fonction utilisée dans ce mode de réalisation basée sur les angles est la suivante : G(i, j) = min(la(Sk, i) - a(Sk, j)I, 360°-Ia(Sk, i) - a(Sk, j)) avec I I représentant l'opération valeur absolue. L'étape recherche alors les valeurs de G inférieures à un seuil prédéterminé src_threshold. Et si G(i, j) est inférieure à src_threshold, R; et Ri sont considérés spatialement proches vu du noeud source Sk. Illustrons avec le réseau décrit dans la figure 1. Rappelons que tous les noeuds du réseau sont des noeuds sources. Notons par Si le noeud 105, S2 le noeud 110, S3 le noeud 115, So le noeud 120, S5 le noeud 125, S6 le noeud 130, S, le noeud 135. Appliqué au réseau de la figure 1 en utilisant les valeurs d'angle définies dans le tableau suivant avec une valeur de src_threshold égale à 10°, on a le résultat suivant : 10 Dans l'étape 515, on vérifie si tous les noeuds sources ont été analysés, donc si k est égal à M. Si oui, fin de l'algorithme, étape 520, sinon incrémentation du compteur k d'une unité, étape 525 et retour à l'étape 510. Le seuil prédéterminé src_threshold permet donc de définir une condition de 15 proximité relative à une probabilité qu'un obstacle interrompe une transmission entre le noeud source Sk et le noeud relais Rx et une transmission entre le noeud source Sk et le noeud relais Ry. En effet, plus les noeuds relais sont proches d'un point de vue angulaire (car inférieur au seuil prédéterminé src_threshold), vus d'un noeud source Sk, et plus la probabilité est grande qu'un obstacle ait une incidence à la fois sur la liaison entre le 20 noeud source Sk et le noeud relais Rx et la liaison entre le noeud source Sk et le noeud relais Ry. La figure 6 présente un organigramme permettant de déterminer une liste de séquences de noeuds optimales (d'un point de vue de la robustesse au masquage) à partir des listes des noeuds relais proches selon un mode de réalisation particulier de 25 l'invention. Autrement dit, ce diagramme constitue l'algorithme déterminant une liste de séquence de noeuds (Tmak) du réseau maillé à partir des listes des noeuds relais proches Lk déterminés à l'étape 410 (figure 5). Il permet de résoudre un problème d'optimisation consistant à déterminer la séquence de noeuds qui maximise une fonction donnée F, ladite fonction étant définie comme la somme des distances temporelles des noeuds 30 considérés proches. Le choix de cette fonction F n'est pas anodin car la séquence de L1=({115,125}, {130,135}) ; L2=({125,135}, {115,120}) ; L3=({105,125}, {125,1301) ; L4=({110,115}, {110,125}, {115,125}) ; L5=0 ; L6=({115,125}) ; L7=({110,125}). noeuds qui optimise la fonction F est la séquence de noeuds qui augmente la distance temporelle de deux noeuds proches (spatialement ou effectivement). Ainsi, le problème peut être réécrit de la manière suivante : Trouver la séquence de noeuds T maximisant la fonction F définie par m F(T) = dk(x,y,T).1(xyEsk avec 1(x yak égal à 1 si (Rx, Ry) E Lk, 0 sinon et dk(x, y, T) la distânce temporelle entre deux noeuds relais Rx et Ry vu du noeud source Sk. Cette distance temporelle est définie ultérieurement à la figure 7. Illustrons avec le réseau décrit dans la figure 1. Formellement F est égale d'après les listes Lk calculées à Dans l'étape 600, on attribue le premier intervalle de temps à un noeud du réseau. De manière avantageuse, le noeud sélectionné est le noeud qui envoie le plus de données dans une super-trame. Dans le cadre du réseau décrit dans la figure 1, le noeud sélectionné est le noeud 105. Il est à noter que cette étape est optionnelle mais permet de limiter le nombre de séquences de transmission à tester dans la suite de l'algorithme. Dans l'étape 605, on initialise Fm. à zéro, Fmax étant la valeur maximum de F, la séquence associée à cette valeur, résultat principal du présent algorithme est notée Tmax.
Dans l'étape 610, on énumère les (n-1)! séquences de noeuds possibles ( ! étant la fonction mathématiques factorielle), (n-1) car un premier noeud a été fixé à l'étape 600. Si l'étape 600 n'est pas implémentée, cette étape 610 doit énumérer n! séquences de noeuds. Dans l'étape 615, on analyse la première séquence de noeuds. Pour cela, un compteur 1 est initialisé à 1. Notons T(1) la séquence de noeuds étudiée. Dans l'étape 620, on initialise la variable F à 0. La suite de l'algorithme est donc de déterminer la valeur de cette variable F. D'un point de vue formel, F est égale à F(T(l)). Puis dans l'étape 625, on analyse le premier noeud source SI. Un compteur k est donc initialisé à 1 et par la suite notons Sk le noeud source analysé. l'étape 410 à F(T) = dl(115,125,T) + dl(130,135,T) + d2(125,135,T) + d2(115,120,T) + d3 (105,125,T) + d3(125,130,T) + 4110,115,T) + 4110,125,T) + 4115,125,T) + d6 (115,125,T) + 4110,125,T) Puis dans l'étape 630, on analyse le premier ensemble de la liste Lk. Un compteur j est donc initialisé à 1 et par la suite notons Lk (j) le j-ième ensemble analysé. Puis dans l'étape 635, on détermine la distance temporelle du couple de noeuds relais Lk (j). Le calcul de la distance temporelle est décrit dans la figure 7. Plus précisément, on applique l'algorithme décrit dans la figure 7 avec comme paramètres d'entrée, les deux noeuds relais de Lk (j), le noeud source Sk et la séquence de noeuds T(1). Notons dk (j,T(1)) la distance temporelle obtenue. Puis dans l'étape 640, on ajoute la distance temporelle calculée à la variable F : F = F + dk(j,T(1)). Puis dans l'étape 645, on détermine si tous les ensembles de relais considérés proches pour le noeud source Sk ont été analysés (tous les éléments de Lk). Si oui, on passe à l'étape 655 sinon, on passe à l'étape 650. Dans l'étape 650, on incrémente d'une unité le compteur j puis on retourne à l'étape 635. Dans l'étape 655, on vérifie si tous les noeuds sources ont été étudiés. Donc si le compteur k est strictement supérieur à M. Si oui, on passe à l'étape 665 sinon, on passe à l'étape 660. Dans l'étape 660, on incrémente de 1 le compteur de k puis retour à l'étape 630. Dans l'étape 665, on vérifie si F est strictement supérieure à Fmak. Si oui, on passe à l'étape 670, sinon on passe à l'étape 675. Dans l'étape 670, la valeur de Fm~ est mise à jour et prend la valeur de F et une nouvelle liste Tmax est créée contenant un unique élément, la séquence T(1) associée à Fmak. Puis étape on passe alors à l'étape 685. Dans l'étape 675, on vérifie si F est égale à Fmak. Si oui, on passe à l'étape 680 sinon, on passe à l'étape 685. Dans l'étape 680, on ajoute T(1) à la liste Tmk. Puis on passe à l'étape 685. Dans l'étape 685, on vérifie si toutes les séquences de noeuds ont été testées.
Pour cela, on vérifie si le compteur 1 est égal à (n-1)!. Si oui, on passe à l'étape 690, et l'algorithme s'arrête et retourne Tmk. Sinon, on passe à l'étape 695, le compteur est incrémenté de 1 et on retourne à l'étape 630. Illustré avec le réseau illustré dans la figure 1 et en utilisant la première caractérisation de distance temporelle décrite dans la figure 7, Ti. est égale à : Tmax = {[105, 115, 130, 125, 120, 110, 135], [105, 135, 110, 120, 125, 130, 115]} La figure 7 présente un organigramme permettant de déterminer des distances temporelles selon deux modes de réalisation particulier de l'invention. Ainsi, on peut calculer la distance temporelle dk(x, y, T) entre deux noeuds relais noté Rx et Ry, étant données une séquence de noeuds T et une source noté Sk.
Il existe plusieurs manières de la caractériser. Une première est la suivante : la distance temporelle est l'intervalle temporel entre la fin de l'intervalle de temps d'un des deux noeuds Rx ou Ry et le début de l'intervalle de temps de l'autre noeud de telle manière que le noeud Sk ne soit pas contenu dans le dit intervalle. La granularité choisie pour la distance est le nombre d'intervalle de temps. Illustrons avec un exemple en choisissant la séquence basique : [105, 110, 115, 120, 125, 130, 135]. En utilisant l'exemple décrit dans la figure 1, la distance temporelle doit être calculée entre les noeuds 110 et 125 en considérant une fois comme noeud source le noeud 120 (noté S4 et L4 pour sa liste associée de noeuds relais proches) et une fois comme noeud source le noeud 135 (noté S7 et L7 pour sa liste associée de noeuds relais proches).
La distance d, (110,125) est simplement égale à 2. Par contre la distance d4 (110,125) n'est pas égale à 2. En effet, du fait que l'intervalle de temps alloué au noeud 120 est positionné entre l'intervalle de temps alloué au noeud 110 et celui alloué au noeud 125, on ne peut faire le même raisonnement que précédemment car le noeud 110 ne peut pas relayer une donnée du noeud source 120 si celui-ci ne l'a pas encore envoyée. Par contre, le noeud 100 peut utiliser son intervalle de temps dans la super-trame suivante selon la même séquence de noeuds pour retransmettre la donnée du noeud source 120. D'où la distance est égale à 3 (2 intervalles de temps liés à la séquence de noeuds courante + 1 intervalle de temps lié à la séquence de noeuds suivante). Cette première manière de caractériser la distance temporelle est décrite dans les blocs 705-710 et 715. Dans un premier temps, les positions des intervalles de temps des noeuds relais Rx et Ry et du noeud source Sk sont localisées dans la super-trame associée à la séquence de noeuds T. Notons successivement seq(x), seq(y) et seq(Sk) les positions dans T des noeuds Rx, Ry et Sk. L'étape 705 vérifie si l'intervalle de temps de la source Sk est situé entre les intervalles de temps de Rx et de Ry. On vérifie donc si seq(Rx)<seq(Sk)<_seq(Ry). Si oui, on passe à l'étape 710, sinon on passe à l'étape 715.
Dans l'étape 710, on détermine la distance temporelle dk (x,y,T) entre Rx et Ry vu du noeud source Sk, étant données une séquence de noeuds T et un noeud source noté Sk. Elle est alors égale à dk (x,y,T) = (N-1)-2+ Iseq(Ry)-seq(Rx)I-1= N-4 + Iseq(Ry)-seq(Rx)I où N est le nombre d'intervalles de temps dans une super-trame.
Dans l'étape 715, on détermine la distance temporelle dk (x,y,T) entre Rx et Ry vu du noeud source Sk, étant données une séquence de noeuds T et un noeud source noté Sk. Elle est alors égale à dk (x,y,T) = Iseq(Ry)-seq(Rx)I-1. Une deuxième manière de caractériser la distance temporelle est la suivante : la distance temporelle entre deux noeuds Rx et Ry est la plus grande période temporelle entre la période temporelle entre le début de l'intervalle de temps du noeud relais Rx et la fin de l'intervalle de temps du noeud source Sk et la période temporelle entre le début de l'intervalle de temps du noeud relais Ry et la fin de l'intervalle de temps du noeud source Sk. La granularité choisie pour la distance est toujours le nombre d'intervalles de temps. Illustrons avec un exemple en choisissant la même séquence basique : [105, 110, 115, 120, 125, 130, 135] La distance d4 (110,125) est égale à 4 car le nombre d'intervalles de temps entre 120 et 125 est 0 et le nombre d'intervalle de temps entre 120 et 110 est 4. Pour ce dernier cas, il faut noter que le nombre d'intervalle de temps débute toujours à partir du noeud source et non du noeud relais. On utilise alors la séquence de noeuds courante et la suivante. Donc entre les noeuds 120 et 110 situés successivement aux positions 4 et 2, il y a les intervalles de temps positionnés aux positions 5,6,7 (liés aux noeuds 125,130,135) de la séquence de noeuds courante et l'intervalle de temps à la position 1 (lié au noeud 110) de la séquence de noeuds suivante.
Cette deuxième manière de calculer la distance temporelle d'k (x,y,T) est décrite dans les blocs 725 et 730. Dans l'étape 725, on détermine la distance temporelle citée précédemment (première caractérisation) dk (k,x,T) entre les noeuds Sk et Rx vus du noeud source Sk et la séquence de noeuds T en réappliquant les étapes 705-710 et 720. Notons dk (x,k,T) cette distance.
Dans l'étape 730, on détermine la distance temporelle citée précédemment (première caractérisation) dk (k,y,T) entre les noeuds Sk et Ry vus du noeud source Sk et la séquence de noeuds T, en réappliquant les étapes 705-710 et 720. Notons dk (y,k,T) cette distance.
Dans l'étape 735, on détermine enfin la distance temporelle d'k (x,y,T) (deuxième caractérisation) de la manière suivante : d'k (x,y,T) = max(dk (k,y,T), dk (x,k,T)). La figure 8a présente un organigramme montrant de manière générique la cinématique de l'analyse de corrélation des paquets reçus par un noeud destination selon un mode de réalisation particulier de l'invention. Ainsi, il est décrit un algorithme exécuté par un noeud destination D; qui analyse la corrélation des copies reçues. Cet algorithme se lance une fois que le dernier noeud de la séquence de noeuds (événement 805) a émis, i.e lorsque tous les noeuds du réseau ont eu accès au médium au sein de la super-trame. Les noeuds destination ont ainsi reçus les informations du noeud source et de l'ensemble des noeuds relais. Dans l'étape 810, on analyse les notifications d'erreur générées par les noeuds relais quand ceux-ci n'ont pu retransmettre un même bloc de donnée issu d'un noeud source. Ces notifications permettent de définir alors les noeuds relais qui sont « corrélés de manière effective ». L'algorithme est décrit précisément dans la figure 8b. Il est à noter qu'on utilise dans cet algorithme l'expression « corrélé de manière effective » plutôt que l'expression « proche de manière effective » du fait que le noeud source n'a pas besoin d'être précisé dans la première expression. On a l'équivalence suivante : deux noeuds relais sont « corrélés de manière effective » Si deux noeuds relais sont « proches de manière effective » vus d'au moins un noeud source.
Puis dans l'étape 815, on met à jour les statistiques de corrélation des noeuds relais. Notons P; la liste contenant les couples de noeuds relais « corrélés de manière effective » détectés par le noeud destination D;. Un compteur d'occurrence est associé pour chaque couple de noeuds relais possible Pi(s) de la liste P;. Le compteur d'occurrence pour le couple de noeuds relais Pi(s) est incrémenté à la fin de chaque séquence de noeuds si nécessaire. Remarquons que si deux noeuds relais (Rx, Ry) sont proches de manière effective vus d'un noeud source Ski et que les même noeuds relais (Rx, Ry) sont proches de manière effective vus d'un autre noeud source Sk2, alors dans la liste P; , le couple (Rx, Ry) n'apparaît qu'une fois et le compteur d'occurrence associé à ce couple englobe les comptabilisations des erreurs selon les deux noeuds sources. Les couples de la liste P; ainsi que les compteurs d'occurrences associés à ces couples, sont transmis par les noeuds destination D; vers un noeud central pour remettre en cause la séquence de noeuds (ceci fait l'objet de l'algorithme décrit en figure 9). D'ailleurs, notons que lorsque le noeud central récupère les valeurs des compteurs d'occurrences de l'ensemble des noeuds destinations durant l'étape 905, les compteurs d'occurrences sont réinitialisés à zéro dans les noeuds destinations.
Remarquons que, dans un autre mode de réalisation de l'invention, la liste P; comprend les couples (Rx, Ry) ainsi que l'identifiant (par exemple le paramètre k) du noeud source Sk pour lequel on considère qu'ils sont proches de manière effective. Ainsi, le noeud central pourra sélectionner le triplet couple (Rx, Ry) et noeud source Sk , en fonction du compteur d'occurrence associé à ce couple, afin de déterminer une séquence de noeuds optimale (cf. figure 9). Dans l'étape 820, on décode les copies bien reçues en utilisant par exemple un décodeur par répétition qui analyse les données bit à bit. La donnée résultante de ce décodeur est envoyée à l'application, module 230. Il est à noter que plus le décodeur reçoit de copies, plus ses performances sont élevées, c'est-à-dire plus la donnée obtenue est sûre et comporte moins d'erreurs. L'algorithme de la figure 8b présente un organigramme montrant de manière générique comment déterminer des noeuds relais corrélés de manière effective par un noeud destination selon un mode de réalisation particulier de l'invention. On détermine les noeuds relais « corrélés de manière effective » en analysant les notifications d'erreur générées par les noeuds relais quand celui-ci n'a pu retransmettre une donnée en provenance d'un même noeud source, et ce pour tous les noeuds sources considérés. Notons C le nombre de paquets reçus par le noeud destination D;, C n'étant pas forcément égal à N si des données n'ont pas été reçues à cause par exemple d'un obstacle mobile empêchant entièrement la transmission entre deux noeuds. L'algorithme effectue la succession d'étapes suivante.
Dans l'étape 825, on initialise une variable k à 1 ; cette variable k représente dans la suite l'identifiant d'un noeud source noté Sk et on définit une liste vide . Dans l'étape 830, on initialise une variable corr(k) associée au noeud source Sk. Dans l'étape 835, on initialise une variable 1 égale à 1, ladite variable 1 est utilisée pour identifier les paquets reçus. Dans l'étape 840, on récupère le bloc de données Bk, issu du noeud source Sk dans le 1-ième paquet reçu d'un noeud relais noté Ri. Rappelons que cette opération est immédiate puisque les positions des blocs sont déterministes. Dans l'étape 845, on vérifie si le bloc de données Bk, comprend une notification d'erreur. Si oui , on passe à l'étape 850 sinon, on passe à l'étape 855. Dans l'étape 850, on incrémente de 1 la variable corr(k) et on mémorise le noeud relais Ri dans la liste Lion. Dans l'étape 855, on vérifie si tous les paquets reçus ont été analysés, c'est à dire si 1 est égal à C. Si oui, on passe à l'étape 865 sinon on passe à l'étape 860.
Dans l'étape 860, on incrémente de un la variable 1 puis on retourne à l'étape 840. Dans l'étape 865, on vérifie si la valeur de la variable corr(k) est strictement supérieure à 1. Si oui, on passe à l'étape 870 sinon, on passe à l'étape 875. Le fait que corr(k) soit strictement supérieure à un, signifie que des noeuds relais ont été détectés « corrélés de manière effective », c'est-à-dire que ces noeuds relais ont été impactés par un obstacle du fait qu'il n'ont pas réussi à relayer le même bloc de donnée issu d'au moins un noeud source Sk. À partir de la liste L. (qui est une liste de noeuds relais et non de couples de noeud relais), on détermine l'ensemble des couples de noeuds relais possibles de Lion qui sont regroupés pour former une liste P; .
Dans l'étape 875, on vérifie que tous les noeuds sources ont été analysés, c'est-à-dire si k est égal à M. Si oui, l'algorithme s'arrête, sinon on effectue une étape 880 dans laquelle on incrémente le compteur k de 1 et on retourne à l'étape 830. Ainsi, plus les noeuds relais sont proches vus d'un noeud source Sk (proches en fonction du nombre de notifications d'erreur sur un même bloc de donnée source), et plus la probabilité est grande qu'un obstacle ait une incidence à la fois sur la liaison entre le noeud source Sk et le noeud relais Rx et la liaison entre le noeud source Sk et le noeud relais Ry. Notons aussi que l'algorithme décrit dans la figure 8b peut être utilisé aussi pour déterminer la liste des noeuds relais proches. Par conséquent, cet algorithme est une alternative à l'algorithme décrit dans la figure 5. Pour cela, dans l'étape 870, on construit (au niveau du noeud destination Di), une liste L;k de couples de noeuds relais proches de manière effective vus du noeud source Sk. À la fin de l'algorithme, le noeud destination D; a donc construit pour chaque noeud source Sk une liste L,k. Par conséquent, on se retrouve avec M liste de couples de noeuds relais : LiM. Chaque noeud destination D; envoie alors ces M listes générées à destination d'un noeud central. Celui-ci construit alors les listes Lk de la manière suivante : Lk= {S / 3i / S E L,k }, c'est-à-dire que Lk comprend l'ensemble des couples de noeuds S appartenant à au moins une des listes L;k i.e la liste Lk est la réunion de l'ensemble des listes L,k. La figure 9 décrit l'algorithme de mise à jour de la séquence de noeuds durant la vie du réseau. Cet algorithme, exécuté par le noeud central, est basé sur les statistiques réalisées par les noeuds destination à l'étape 815. Dans cette étape, le noeud destination analyse la corrélation de noeuds relais (i.e les noeuds sont considérés proches) en fonction de notifications d'erreurs envoyées par lesdits noeuds relais qui sont relatives à un même bloc de donnée d'un noeud source. L'objectif de cet algorithme est de mettre en cause la séquence de noeuds courante en recherchant si une autre serait mieux adaptée par rapport aux compteurs d'occurrences des couples de noeud relais. Pour cela, il cherche parmi les séquences de noeuds de la liste des séquences de noeuds Tmak construite, dans un mode de réalisation de l'invention, au moment de la phase d'initialisation (via l'utilisation de l'algorithme décrit en figure 6, étape 415). Il est à noter que si cet ensemble contient une seule séquence de noeuds, cet algorithme n'est pas exécuté. Pour cela, chaque noeud destination envoie toutes les D séquences de noeuds, D étant un nombre entier prédéterminé pour le réseau, les statistiques collectées à l'étape 815. Appelons ces séquences de noeuds, les séquences de statistiques. Donc, durant ces séquences de statistiques (événement 900), le noeud central récupère durant chaque intervalle de temps, les statistiques (1005) envoyées par chaque noeud. Chaque statistique reçue d'un noeud R; du réseau contient une liste P; contenant la liste des couples de noeuds relais considérés corrélés de manière effective et un compteur d'occurrences associé pour chaque couple de P;. Notons P; (j) le j-ième couple de P; et O,,, l'occurrence du couple de noeud relais P, (j). Dans l'étape 910, une liste P est construite : cette liste P regroupe l'ensemble des couples de noeuds relais considérés corrélés de manière effective. P est donc la liste résultante de la concaténation de toutes les listes P; , remarquons qu'en plus, on applique la règle suivante : si un même couple de noeud relais est présent dans une liste Pi, et dans une liste P;2 , alors on additionne les compteurs d'occurrences associés à ce couple. Ainsi, pour le 1-ième couple de noeuds relais de P, noté P(1), un compteur d'occurrence noté OP1 est défini de telle sorte qu'il soit égal à : OPI = > O, ~ .'P(z)_P.(j) avec 1P(1) = pi(i) qui vaut 1 si les couples P(1) et P; (j) sont les mêmes, ou 0 sinon. Dans l'étape 915, la liste P est triée selon la valeur des compteurs d'occurrences associés à chaque couple de noeuds relais de P de la manière suivante : P(l)<P(k) OP1 > OPk. Donc après cette étape, le premier couple de noeuds relais de P est un couple de noeud relais dont le compteur d'occurrences est le plus grand, i.e ce sont les deux noeuds relais qui sont le plus corrélés de manière effective (pour un noeud source donnée). Dans l'étape 920, on initialise un compteur m à 1 pour analyser le premier couple de noeuds relais de la liste P, le m-ième couple de noeud relais de P étant noté P(m). De plus une variable T'mai, est initialisée à Tm~ qui est la liste des séquences de noeuds trouvées, lors de la phase d'initialisation durant l'algorithme décrit figure 6. L'introduction de cette variable permet de ne pas perdre l'information Tm~ à chaque appel de cet algorithme. Dans l'étape 922, on initialise une variable Fmai, à zéro. Le but de cet algorithme est de déterminer les séquences de noeuds de Tm~ qui optimisent (en maximisant) la distance temporelle d'un couple de noeud relais sélectionné. Si la solution est unique, à savoir il y a une unique séquence de noeuds parmi les séquences de noeuds présentent dans la liste Tmak , qui maximise effectivement ladite distance, on arrête l'algorithme sinon, on réitère l'algorithme pour un nouveau couple « moins corrélé effectivement ». Dans l'étape 924, on initialise un compteur 1 à un pour analyser la première séquence de noeuds de , le 1-ième élément de T'mak étant alors noté T'mak (1). Dans l'étape 925, on initialise une variable F à zéro. Dans l'étape 930, on initialise un compteur k à 1 pour analyser le premier noeud source Sk, le k-ième noeud source étant noté Sk. Dans l'étape 935, on vérifie si le couple de noeuds relais P(m) est contenu dans la liste Lk, Lk étant la liste des noeuds relais considérés proche selon la source Sk. Si oui, alors on passe à l'étape 940 sinon, on passe à l'étape 950. Dans l'étape 940, on détermine la distance temporelle du couple de noeuds relais P(m). Plus précisément, on applique l'algorithme décrit dans la figure 7 avec comme paramètres d'entrée, le couple de noeuds relais P(m), la source Sk et la séquence de noeuds (1). Notons A = dk (P(m), (1)) la distance temporelle obtenue. Dans l'étape 945 ajoute la distance temporelle obtenue A à la variable F : F= F + A. Dans l'étape 950, on vérifie si toutes les listes Lk ont été analysées donc si k est égal à M. Si oui, alors on passe à l'étape 955, sinon on passe à l'étape 965.
Dans l'étape 965, on incrémente la variable k de un puis on retourne à l'étape 935. Dans l'étape 955, on vérifie si F est strictement supérieure à Fmak. Dans l'affirmative, on passe à l'étape 960 sinon on passe à l'étape 965. Dans l'étape 960, la valeur de Fmak est mise à jour et prend la valeur de F et une nouvelle liste T"mak est créée contenant un unique élément, la séquence (1) associée à Fmak. Puis on passe à l'étape 975. Dans l'étape 965, on vérifie si F est égale à Fmak. Si oui, on passe à l'étape 970 sinon on passe à l'étape 975. L'étape 970 ajoute (1) à la liste T"mue. Puis on passe à l'étape 975.
Dans l'étape 975, on vérifie si toutes les séquences de noeuds ont été ou non testées, i.e si 1 est égal au cardinal de T'max. Si oui, on passe à l'étape 980, sinon on passe à l'étape 995. Dans l'étape 995, on incrémente la variable 1 de un puis on retourne à l'étape 925. Dans l'étape 980, on vérifie si la liste T"mai, contient un unique élément. Si oui, on passe à l'étape 985, sinon on passe à l'étape 990. Dans l'étape 990, on vérifie si d'autres couples de P peuvent être testés, i.e si la variable m est égale ou non au cardinal de P. Si la variable m est égal au cardinal de P, on passe à l'étape 985, sinon on passe à l'étape 997. Dans l'étape 997, la variable m est incrémentée de un, puis on initialise la variable T'max à T"max, et on retourne à l'étape 922. Dans l'étape 985, on se charge de transmettre aux autres noeuds la séquence de noeuds contenue dans T"max. Notons que si la liste T"max contient encore plus d'un élément, la première séquence de noeuds de la liste est choisie. La méthode d'envoi de la séquence de noeuds est identique à celle usitée dans l'étape 420. Le protocole de diffusion permet au noeud maître de transmettre aux autres noeuds du réseau une nouvelle séquence de noeuds à utiliser. Il s'écoule deux cycles entre l'envoi de la séquence (au cycle n) et son usage effectif (au cycle n+2).
Remarquons que, dans un autre mode de réalisation de l'invention, le noeud central reçoit de chaque noeud destination une liste P; comprenant les couples (Rx, Ry) ainsi que l'identifiant (par exemple le paramètre k) du noeud source Sk pour lequel on considère qu'ils sont proches de manière effective. En sus de cette liste P; , le noeud central reçoit aussi la valeur des compteurs d'occurrences de chaque couple de cette liste. Il concatène ces listes P; pour obtenir une liste P dans laquelle on a des couples (Rx, Ry) ainsi que l'identifiant (par exemple le paramètre k) du noeud source Sk ainsi qu'un compteur d'occurrences associé à ce couple. Cette liste permet de trier de manière optimale les couples de noeuds relais et de sélectionner un couple, dont les noeuds relais sont proches vus d'un noeud source, dont on souhaite trouver la séquence de noeuds qui maximise un calcul de distance temporelle.

Claims (11)

  1. REVENDICATIONS1. Procédé de détermination d'une séquence de noeuds, dans un réseau comprenant au moins un noeud source, apte à émettre un bloc de données source, et une pluralité de noeuds relais, apte à relayer ledit bloc de données source, ladite séquence de noeuds définissant l'ordre dans lequel lesdits noeuds accèdent à des intervalles de temps alloués auxdits noeuds pour transmettre des données, ledit procédé étant caractérisé en ce qu'il comprend des étapes consistant à : a) pour chaque noeud source Sk d'un ensemble d'un ou plusieurs noeuds sources, construire une liste Lk de couple(s) de noeuds relais (Rx, Ry) vérifiant une condition de proximité (510) relativement au noeud source Sk, ladite condition de proximité étant vérifiée lorsque la probabilité qu'un obstacle interrompe simultanément des transmissions du noeud source Sk vers les deux noeuds relais Rx, Ry est supérieure à un seuil prédéterminé; et b) déterminer au moins une séquence de noeuds (680) à partir d'une fonction ayant pour paramètre(s) au moins une distance temporelle (710, 720) définie comme un écart, en nombre d'intervalles de temps, entre les deux intervalles de temps utilisés par les noeuds relais d'un couple de noeuds relais d'une liste Lk, pour relayer un même bloc de données source; c) sélectionner une séquence de noeuds, parmi la ou les séquences de noeuds déterminées.
  2. 2. Procédé de détermination d'une séquence de noeuds, dans un réseau comprenant au moins un noeud source, apte à émettre un bloc de données source, et une pluralité de noeuds relais, apte à relayer ledit bloc de données source, ladite séquence de noeuds définissant l'ordre dans lequel lesdits noeuds accèdent à des intervalles de temps alloués 25 auxdits noeuds pour transmettre des données, ledit procédé étant caractérisé en ce qu'il comprend des étapes consistant à : a) pour chaque noeud source Sk d'un ensemble d'un ou plusieurs noeuds sources, construire une liste Lk de couple(s) de noeuds relais (Rx, Ry) vérifiant une condition de proximité (510) relativement au noeud source Sk, ladite condition de 30 proximité étant vérifiée lorsque la probabilité qu'un obstacle interrompe 15 20simultanément des transmissions du noeud source Sk vers les deux noeuds relais Rx, Ry est supérieure à un seuil prédéterminé; b) déterminer au moins une séquence de noeuds (680) à partir d'une fonction ayant pour paramètre(s) au moins une distance temporelle (730) définie comme un écart, en nombre d'intervalles de temps, entre un intervalle de temps utilisé par un noeud source pour transmettre un bloc de données source et un intervalle de temps utilisé par l'un des deux noeuds relais d'un couple de noeuds relais d'une liste Lk, pour relayer ledit bloc de données source ; et c) sélectionner une séquence de noeuds, parmi la ou les séquences de noeuds déterminées.
  3. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que, pour chaque noeud source Sk, ladite condition de proximité entre deux noeuds relais R; et Ri est fonction d'une distance angulaire entre un angle de réception a(s,i) du noeud relais R; pour recevoir dudit noeud source Sk et un angle de réception a(s,j) du noeud relais Ri 15 pour recevoir dudit noeud source Sk.
  4. 4. Procédé selon la revendication 3, caractérisé en ce que ladite condition de proximité entre deux noeuds relais R; et Ri est fonction d'une comparaison de ladite distance angulaire avec un seuil prédéterminé.
  5. 5. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que, 20 pour chaque noeud source Sk, ladite condition de proximité entre deux noeuds relais R; et Ri est fonction du nombre de fois où la condition de corrélation suivante a été vérifiée : pour un même bloc de données source provenant dudit noeud source Sk, chacun des noeuds relais R; et Ri a transmis une notification d'erreur (810, 845) indiquant une impossibilité de relayer ledit bloc de données source. 25
  6. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que, lorsque plusieurs séquences de noeuds sont déterminées dans l'étape b), l'étape c) comprend des étapes consistant à : i) obtenir au moins un triplet, comprenant un couple de noeuds relais et un noeud source relativement auquel les noeuds relais du couple sont considérés proches, et 30 pour lequel la condition de corrélation suivante a été vérifiée : pour un même bloc de données source provenant dudit noeud source, chacun desdits noeuds 10relais a transmis une notification d'erreur indiquant une impossibilité de relayer ledit bloc de données source ; ii) sélectionner un triplet parmi le ou les triplets obtenus; iii) rechercher, parmi les séquences de noeuds déterminées, au moins une séquence de noeuds optimale qui maximise une troisième fonction ayant pour paramètre(s) au moins la distance temporelle (945) du couple de noeuds relais compris dans le triplet sélectionné, dans le cas où les deux noeuds relais relaient un même bloc de données source provenant du noeud source compris dans le triplet sélectionné ; iv) sélectionner une séquence de noeuds parmi la ou les séquences de noeuds optimales.
  7. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que, l'étape, consistant à déterminer au moins une séquence de noeud à partir d'une fonction, comprend une étape consistant à maximiser une somme d'au moins une distance temporelle.
  8. 8. Produit programme d'ordinateur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé selon au moins une des revendications 1 à 7, lorsque ledit programme est exécuté sur un ordinateur.
  9. 9. Moyen de stockage lisible par ordinateur, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé selon au moins une des revendications 1 à 7.
  10. 10. Noeud destination permettant de déterminer une séquence de noeuds relais, dans un réseau comprenant au moins un noeud source, apte à émettre un bloc de données source, et une pluralité de noeuds relais, apte à relayer ledit bloc de données source, ladite séquence de noeuds définissant l'ordre dans lequel lesdits noeuds accèdent à des intervalles de temps alloués auxdits noeuds pour transmettre des données, ledit noeud destination étant caractérisé en ce qu'il comprend : a) des moyens pour construire (210, 220, 225), pour chaque noeud source Sk d'un ensemble d'un ou plusieurs noeuds sources, une liste Lk de couple(s) de noeuds relais (Rx, Ry) vérifiant une condition de proximité relativement au noeud source Sk, ladite condition de proximité étant vérifiée lorsque la probabilité qu'unobstacle interrompe simultanément des transmissions du noeud source Sk vers les deux noeuds relais Rx, Ry est supérieure à un seuil prédéterminé; et b) des moyens pour déterminer (210, 220, 225) au moins une séquence de noeuds à partir d'une fonction ayant pour paramètre(s) au moins une distance temporelle définie comme un écart, en nombre d'intervalles de temps, entre les deux intervalles de temps utilisés par les noeuds relais d'un couple de noeuds relais d'une liste Lk, pour relayer un même bloc de données source; c) des moyens pour sélectionner (210, 220, 225) une séquence de noeuds, parmi la ou les séquences de noeuds déterminées.
  11. 11. Noeud destination permettant de déterminer une séquence de noeuds, dans un réseau comprenant au moins un noeud source, apte à émettre un bloc de données source, et une pluralité de noeuds relais, apte à relayer ledit bloc de données source, ladite séquence de noeuds définissant l'ordre dans lequel lesdits noeuds accèdent à des intervalles de temps alloués auxdits noeuds pour transmettre des données, ledit noeud destination étant caractérisé en ce qu'il comprend : a) des moyens pour construire (210, 220, 225), pour chaque noeud source Sk d'un ensemble d'un ou plusieurs noeuds sources, une liste Lk de couple(s) de noeuds relais (Rx, Ry) vérifiant une condition de proximité relativement au noeud source Sk, ladite condition de proximité étant vérifiée lorsque la probabilité qu'un obstacle interrompe simultanément des transmissions du noeud source Sk vers les deux noeuds relais Rx, Ry est supérieure à un seuil prédéterminé; b) des moyens pour déterminer (210, 220, 225) au moins une séquence de noeuds à partir d'une fonction ayant pour paramètre(s) au moins une distance temporelle définie comme un écart, en nombre d'intervalles de temps, entre un intervalle de temps utilisé par un noeud source pour transmettre un bloc de données source et un intervalle de temps utilisé par l'un des deux noeuds relais d'un couple de noeuds relais d'une liste Lk, pour relayer ledit bloc de données source ; et c) des moyens pour sélectionner (210, 220, 225) une séquence de noeuds, parmi la ou les séquences de noeuds déterminées. 25 30
FR0959555A 2009-12-23 2009-12-23 Procede de determination d'une sequence de noeuds, produit programme d'ordinateur, moyen de stockage et dispositif correspondants. Active FR2954659B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0959555A FR2954659B1 (fr) 2009-12-23 2009-12-23 Procede de determination d'une sequence de noeuds, produit programme d'ordinateur, moyen de stockage et dispositif correspondants.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0959555A FR2954659B1 (fr) 2009-12-23 2009-12-23 Procede de determination d'une sequence de noeuds, produit programme d'ordinateur, moyen de stockage et dispositif correspondants.

Publications (2)

Publication Number Publication Date
FR2954659A1 true FR2954659A1 (fr) 2011-06-24
FR2954659B1 FR2954659B1 (fr) 2012-06-15

Family

ID=42269737

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0959555A Active FR2954659B1 (fr) 2009-12-23 2009-12-23 Procede de determination d'une sequence de noeuds, produit programme d'ordinateur, moyen de stockage et dispositif correspondants.

Country Status (1)

Country Link
FR (1) FR2954659B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080107044A1 (en) * 2006-11-08 2008-05-08 Trellisware Technologies, Inc. Methods and apparatus for network communication via barrage relay onto an independent medium allocation
WO2008152113A1 (fr) * 2007-06-15 2008-12-18 Canon Kabushiki Kaisha Procédé de détermination d'une séquence d'accès à un réseau de communication, produit informatique correspondant et moyen et dispositifs de stockage
EP2015472A1 (fr) * 2007-07-11 2009-01-14 Canon Kabushiki Kaisha Procédé de transmission de données par des noeuds de relais dans un réseau de communication synchrone, procédé de réception associé, produit de programme informatique, supports de stockage et nýuds

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080107044A1 (en) * 2006-11-08 2008-05-08 Trellisware Technologies, Inc. Methods and apparatus for network communication via barrage relay onto an independent medium allocation
WO2008152113A1 (fr) * 2007-06-15 2008-12-18 Canon Kabushiki Kaisha Procédé de détermination d'une séquence d'accès à un réseau de communication, produit informatique correspondant et moyen et dispositifs de stockage
EP2015472A1 (fr) * 2007-07-11 2009-01-14 Canon Kabushiki Kaisha Procédé de transmission de données par des noeuds de relais dans un réseau de communication synchrone, procédé de réception associé, produit de programme informatique, supports de stockage et nýuds

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SINGH S ET AL: "Blockage and directivity in 60 GHz wireless personal area networks: from cross-layer model to multihop MAC design", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, US LNKD- DOI:10.1109/JSAC.2009.091010, vol. 27, no. 8, 1 October 2009 (2009-10-01), pages 1400 - 1413, XP011277426, ISSN: 0733-8716 *

Also Published As

Publication number Publication date
FR2954659B1 (fr) 2012-06-15

Similar Documents

Publication Publication Date Title
US11294756B1 (en) Anomaly detection in a network
WO2019162592A1 (fr) Procédé et système omamrc de transmission avec adaptation lente de lien sous contrainte d&#39;un bler
EP3387773B1 (fr) Procede, dispositif de relayage et destinataire avec retour dans un systeme omamrc
US20160020978A1 (en) System and method for monitoring encoded signals in a network
WO2021229183A1 (fr) Procédé et système omamrc de transmission avec variation du nombre d&#39;utilisations du canal
FR3058604A1 (fr) Procede et dispositif d’emission de donnees chiffrees, procede et dispositif d’extraction de donnees
FR2948246A1 (fr) Procede et dispositif d&#39;allocation de bande passante liberee dans un reseau de communication, produit programme d&#39;ordinateur et moyen de stockage correspondants
US20220264328A1 (en) Communications and Measurement Systems for Characterizing Radio Propagation Channels
FR2954659A1 (fr) Procede de determination d&#39;une sequence de nœuds, produit programme d&#39;ordinateur, moyen de stockage et dispositif correspondants.
FR2919773A1 (fr) Procede de decodage de blocs de donnees de contenus, produit programme d&#39;ordinateur, moyen de stockage et dispositif de decodage correspondants
He et al. Theoretic analysis of IEEE 802.11 rate adaptation algorithm sampleRate
FR3023103A1 (fr) Procede de transmission dynamique et selectif fd-dsdf d&#39;un signal numerique pour un systeme marc avec un relais full-duplex, produit programme et dispositif relais correspondants
EP3235151B1 (fr) Procédé de test mis en oeuvre par un équipement comprenant au moins deux dispositifs de radiocommunication
FR2844407A1 (fr) Procede de selection de canal de transmission et recepteur de signaux a diversite d&#39;antenne
EP4173167A1 (fr) Procédé et système omamrc avec transmission fdm
EP2440001B1 (fr) Procédé et dispositif de transmission d&#39;informations en contention sur des créneaux temporels entre des noeuds émetteurs-récepteurs d&#39;un réseau ad hoc
FR3016109A1 (fr) Procede de transmission de messages de differents niveaux de priorite entre des noeuds emetteurs-recepteurs d&#39;un reseau ad hoc
EP1212873B1 (fr) Procede de decodage et d&#39;egalisation conjointe d&#39;un signal numerique protege par un code defini par un treillis
EP3398270B1 (fr) Procede de codage univoque et secret de transmission sur un canal de propagation a avantage de capacite
EP3398307B1 (fr) Procédé d&#39;association univalente et univoque entre émetteurs et récepteurs de transmission à partir du canal de propagation
FR2952268A1 (fr) Procede et dispositif de gestion de communications dans un reseau sans fil, produit programme d&#39;ordinateur et moyen de stockage correspondants.
FR2942579A1 (fr) Procedes de transmission et reception de copies d&#39;un paquet vers un noeud destination pour decodage par erreur/ effacement, produit programme d&#39;ordinateur, moyen de stockage et noeuds correspondants.
WO2024002899A1 (fr) Procédé de transmission et système omamrc avec une stratégie de sélection lors de retransmissions tenant compte du débit des sources et d&#39;un unique échange de contrôle
EP4380228A1 (fr) Procédé et dispositif de communication dans un réseau de communication sans fil
WO2007026070A1 (fr) Calcul de la probabilite du taux d&#39;erreur binaire d&#39;une trame ftdma transmise avec saut de frequence

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14