• Aucun résultat trouvé

Géométrie algorithmique et réseaux

N/A
N/A
Protected

Academic year: 2021

Partager "Géométrie algorithmique et réseaux"

Copied!
18
0
0

Texte intégral

(1)

HAL Id: inria-00275272

https://hal.inria.fr/inria-00275272v2

Submitted on 28 Apr 2008

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Géométrie algorithmique et réseaux

Olivier Devillers

To cite this version:

Olivier Devillers. Géométrie algorithmique et réseaux. [Research Report] RR-6514, INRIA. 2008. �inria-00275272v2�

(2)

a p p o r t

d e r e c h e r c h e

ISSN 0249-6399 ISRN INRIA/RR--6514--FR+ENG

Thèmes COM et SYM

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Géométrie algorithmique et réseaux

Olivier Devillers

N° 6514

(3)
(4)

Unité de recherche INRIA Sophia Antipolis

2004, route des Lucioles, BP 93, 06902 Sophia Antipolis Cedex (France)

Téléphone : +33 4 92 38 77 77 — Télécopie : +33 4 92 38 77 65

Géométrie algorithmique et réseaux

Olivier Devillers

Thèmes COM et SYM — Systèmes communicants et Systèmes symboliques Projet Direction Sophia

Rapport de recherche n° 6514 — Avril 2008 — 12 pages

Résumé : Où y a-t-il de la géométrie algorithmique dans les réseaux ? C’est la question qui est posée ici, ou, plus exactement, les connaissances en géométrie algorithmique peuvent-elles apporter un point de vue intéressant sur certains problèmes issus des réseaux informatiques ?

(5)

Computational Geometry and Computer Networks

Abstract:Where does computational geometry appear in computer networks ? Or more precisely, can we use the computational geometry knowledge to give an interesting point of view on some problems in computer networks ?

(6)

Géométrie algorithmique et réseaux 1

1

Introduction

Le but de ce rapport est d’inventorier les occasions où la géométrie apparaît dans les problèmes de réseaux informatiques et en quoi la géométrie algorithmique, ou plus largement l’informatique géométrique, peut se révéler utile.

La géométrie algorithmique (qui est le domaine de l’auteur de ce rapport), comme son nom l’indique, cherche à concevoir des algorithmes pour résoudre des problèmes géométriques. L’angle d’attaque traditionnel est celui de la complexité. On étudie les algorithmes proposés en cherchant à établir des bornes supérieures, inférieures ou en moyenne sur les temps de calcul nécessaires à la résolution d’un problème donné, et plus marginalement sur l’espace mémoire utilisé. Outre cette approche assez théorique, ces dernières années les chercheurs du domaine se sont également concentrés sur des aspects plus pratiques, tels que simplicité des algorithmes, traitement des cas dégénérés et robustesse aux problèmes numériques. Une des illustrations de ce mouvement est la bibliothèque CGAL1dans laquelle

le projet Geometrica à l’INRIA-Sophia joue un rôle moteur.

Pour ce qui concerne les réseaux informatiques (ce qui n’est pas du tout le domaine de l’auteur) on considère tous les réseaux dont je vais essayer d’énumérer les principaux types :

— réseau filaire local (Ethernet) — réseau grande taille (Internet)

— réseau radio avec station de bases (wifi, téléphonie mobile) — réseau radio multi sauts [ou ad-hoc] (réseau de capteurs) — sous-réseau logique d’un grand réseau (pair à pair).

Pour tous ces réseaux, on essaiera de mettre en évidence les problèmes géométriques qui se posent, qu’il s’agisse de vraie géométrie au sens usuel du terme, ou d’un point de vue géométrique sur un problème qui de prime abord ne semble pas en relever. Les solutions actuelles que l’on peut trouver dans la littérature du domaine des réseaux peuvent être déjà à caractère géométrique, et alors la géométrie algorithmique peut chercher à améliorer les performances, ou bien elles peuvent présenter pas ou peu de caractère géométrique (par exemple en se restreignant à un strict problème de graphe), et le point de vue géométrique peut alors permettre de développer des approches radicalement nouvelles.

On vient de parler ci-dessus du «caractère géométrique» d’un problème. Quand considérera-t-on qu’un problème est à caractère géométrique ? Un premier critère est l’existence et l’utilisation d’un plongement dans un espace d’une certaine dimension (au moins 2). Une fois ce plongement obtenu on disposera et on exploitera des notions géométriques habituelles tels que angles et distances. Dans le paragraphe précédent on parle de vraie géométrie du problème, disons que cela sera le cas si le plongement est fait dans notre espace habituel 2D ou 3D et que le plongement consiste à associer à des objets (antennes, obstacles, récepteurs radio) leurs coordonnées dans cet espace. Dans d’autres cas, le problème sera a priori non géométrique, par exemple un problème sur un (sous-)graphe de l’internet où la position géographique des nœuds est peu pertinente, mais pour lequel on va construire un plongement géométrique dont l’interprétation sera purement abstraite.

Si, comme géomètre algorithmicien, j’espère que la géométrie algorithmique peut apporter quelque chose dans le domaine des réseaux, l’aspect intéressant réside bien sûr dans les spécificités issues des problèmes venant des réseaux. Par exemple deux problèmes tels que le routage dans un réseau et la localisation dans une structure géométrique sont en apparence très voisins, mais des contraintes telles que l’équilibrage de la charge du réseau ou la gestion de l’énergie peuvent conduire à adopter des solutions différentes des solutions classiques utilisées par les géomètres algorithmiciens.

Autres géométries

On ce concentrera dans ce rapport sur la géométrie algorithmique. D’autres domaines de la géo-métrie peuvent être utilisé pour résoudre des problèmes de réseaux, par exemple, le taux de collision

1www.cgal.org

(7)

2 O. Devillers de certains protocoles sont liés à lápproximation de l’aire d’une fonction par une intégrale de Riemann [11].

Parmi les autres possibilitées de la géométrie on remarquera en particulier la géométrie stochastique défendue par l’équipe projet INRIA TREC.

Afin de modéliser un grand nombre de nœuds de communication, en particulier des nœuds mobiles (téléphones, wifi. . . ) on a recours à des hypothèses stochastiques et on suppose que ces nœuds obéissent à une certaine loi de probabilité.

On cherche alors à évaluer certaines propriétés, par exemple de connectivité ou de succès de straté-gies de routage sur le réseau. Les résultats sont bien évidemment probabilistes puisque les hypothèses le sont aussi et le problème est bien évidemment géométrique, mais pas vraiment du ressort de la géométrie algorithmique. Si des structures telles que la triangulation de Delaunay, sont utilisées, c’est dans une optique de modélisation stochastique et pas vraiment «algorithmique». La contribution algo-rithmique peut éventuellement se situer dans la fourniture de logiciels de simulation performants.

François Baccelli et Bartlomiej Blaszczyszyn préparent un livre sur le sujet [2] et nous n’aborderons pas cet aspect des choses hors de notre compétence.

1.1 Où est la géométrie dans les réseaux ?

La première question est de savoir où se cache la géométrie dans les réseaux. De prime abord, on est souvent confronté à des problèmes de graphes, un réseau informatique étant essentiellement un graphe de connexion entre ordinateurs ; il reste à déterminer dans quelle mesure ce graphe a des propriétés géométriques exploitables ou si l’on peut se restreindre à un sous-graphe ayant de telles propriétés. Outre l’aspect graphe de connexion, la géométrie peut apparaître dans d’autres aspects.

1.1.1 «Vraie» géométrie

C’est évidemment le premier cas qui vient à l’esprit : celui où la géométrie utilisée est la géométrie de notre espace ambiant, c’est-à-dire l’espace euclidien à 2 ou 3 dimensions. C’est en particulier vrai dans le cadre des communications sans fil où c’est bien l’espace réel qui importe car c’est lui qui va gouverner la propagation des ondes radio.

La géométrie est alors claire, les données sont les coordonnées des objets pertinents pour le problème étudié, coordonnées des émetteurs et des récepteurs radio ou coordonnées des obstacles à la propagation radio. Selon le problème abordé, on sera en 3D (modélisation des obstacles à la propagation radio) ou plus souvent en 2D avec des modèles simplifiés dans lesquels l’altitude est ignorée.

1.1.2 Géométrie de l’internet

Pour un réseau de communication, la position physique des nœuds est peu importante, ce qui compte c’est le graphe de connexion : qui est relié à qui et avec quelle capacité de communication ? On est là dans un pur problème de graphe d’où la géométrie semble plutôt absente. Cependant ce graphe conserve certaines propriétés que l’on souhaite exploiter ; une manière de mettre en évidence ces propriétés est de repérer un nœud par ses distances (au sens distance dans le graphe) à quelques nœuds particuliers (landmarks). Si on utilise k landmarks, on associe à notre nœud un point en dimension k et on peut refaire de la géométrie dans un tel espace. Typiquement on utilisera pour k un petit entier (inférieur à 10).

1.1.3 Coordonnées virtuelles.

On peut également, à partir d’un graphe, essayer de le plonger dans le plan en déterminant des coordonnées virtuelles, c’est-à-dire des coordonnées n’ayant aucune signification autre que de faciliter le déroulement d’un algorithme. On peut utiliser cette technique, soit parce que les coordonnées réelles des nœuds sont inconnues, soit parce qu’elles sont peu pertinentes.

(8)

Géométrie algorithmique et réseaux 3

1.1.4 Problèmes annexes

Dans les cas évoqués ci-dessus, la plupart des problèmes sont des problèmes liés à des graphes de connexion entre des ordinateurs et on essaie de donner à ce graphe une signification géométrique ; dans ce cadre sont implicitement visés des problèmes liés au routage dans les réseaux. Dans le domaine des réseaux et de leur administration il y a bien sûr d’autres problèmes que le routage qui peuvent avoir des liens avec la géométrie ; par exemple la classification des paquets sur un routeur est exactement un problème de localisation par intervalles (range searching).

1.2 Structure du document

Dans la suite de ce rapport, nous allons énumérer un certain nombre de problèmes liés aux réseaux. Pour chacun d’eux, le problème sera brièvement présenté dans un premier temps, ensuite le lien possible avec la géométrie algorithmique sera décrit. Enfin quelques remarques plus précises faisant référence à des travaux particuliers pourront être faites ; le but n’est pas ici de prétendre à l’exhaustivité, mais plutôt d’illustrer les possibilités de synergie entre réseaux et géométrie.

2

Construction de graphe

2.1 Problématique

Pour le non spécialiste, il semble que le graphe soit celui des connexions, celui qui permet de savoir «qui peut parler à qui», et que ce graphe soit une donnée du problème. C’est à peu près vrai au niveau des couches basses de l’internet, mais dans d’autres contextes on cherche à construire un graphe à partir des seuls nœuds et en ayant la liberté de configurer les arêtes pour obtenir de bonnes propriétés (diamètre, connectivité, contrôle du degré, facilité de routage. . . ).

Par exemple pour des applications «pair à pair», on peut considérer n’importe quelle paire de participants et établir entre eux une connexion via internet. Bien que cette connexion transite par de nombreux nœuds du réseau internet, vu du niveau applicatif on considérera cela comme une seule arête de notre graphe de connexion et on cherchera à construire un réseau virtuel ayant des propriétés différentes de celle du réseau physique sous-jacent (internet). Si on a construit un tel graphe, on peut soit considérer toutes les arêtes de ce graphe comme égales, soit essayer de tenir compte de la distance induite par le graphe de communication sous-jacent. On aura tendance alors à relier les nœuds par proximité, mais on peut avoir intérêt à ajouter quelques connexions vers des voisins plus lointains.

En effet, une connexion lointaine entre A et B faisant un appel direct au réseau de communication est plus chère que la connexion avec les voisins proches, mais est moins chère que le passage de A à B en plusieurs sauts de la couche applicative. Le positionnement de quelques liens longs bien choisis peut permettre de diminuer significativement le diamètre du graphe (le temps de transmission) tout en maintenant un petit degré des nœuds.

Dans les réseaux pair à pair, l’équation est compliquée par le fait que l’on désire introduire une notion d’équité dans les échanges. Un correspondant n’obtient des informations que s’il est prêt à en donner (ou à redistribuer celles qu’il vient d’obtenir). Dans une diffusion à partir d’un émetteur et d’un petit nombre de réémetteurs, ces derniers donnent beaucoup plus qu’ils ne reçoivent ; on est alors amené à rechercher une méthode plus équitable, et plus décentralisée. On peut imaginer un regroupement en clustersdans lesquels chaque élément du cluster reçoit (directement) un paquet différent et doit ensuite le diffuser dans son cluster.

2.2 Lien avec la géométrie

Imaginons que l’on cherche à diffuser un fichier dans un graphe et que l’on puisse disposer de quelques émetteurs initiaux (ou que via quelques liens longs bien choisis, on commence par diffuser

(9)

4 O. Devillers le fichier vers quelques réémetteurs bien répartis). Le réseau peut alors être construit en cherchant à garantir un certain niveau de performances. Si on admet que le graphe correspond à une certaine métrique, trouver un bon émetteur initial pour propager le fichier est similaire à la recherche du plus petit cercle contenant les destinataires, et la recherche de k émetteurs initiaux s’apparente à un problème de couverture (k-center problem) classique en géométrie [20, 26].

Le découpage en clusters est aussi un problème bien connu en géométrie. Une meilleure formalisation des critères à optimiser pour les problèmes de graphes pourrait être effectuée, afin de mieux utiliser les algorithmes habituels de clustering [12, 19, 25].

2.3 Références

Phénomène small world

Dans cet article [15], Kleinberg prend comme graphe original une grille en deux dimensions et ajoute un certain nombre de raccourcis sous forme de nouvelles arêtes permettant de relier deux positions arbitraires de la grille : chaque nœud est pourvu d’un pointeur lointain le menant à un autre nœud de la grille choisi au hasard. Ensuite le routage utilisé est le routage glouton, c’est-à-dire que le destinataire d’un message est identifié par ses coordonnées dans la grille et qu’un nœud fait suivre le message à son voisin le plus proche de la destination finale (ses voisins étant les 4 voisins dans la grille, plus le voisin lointain).

Cet article montre que si le hasard consiste à prendre un lien long entre deux sommets à distance d avec probabilité d12 alors le routage se fait en O(log2λ) (où λ est la distance entre l’émetteur et le

récepteur du message).

Si on prend un exposant de d plus grand que 2, les liens longs sont trop courts et le message ne se rapproche pas assez vite de sa destination. Si on prends un exposant de d plus petit, les liens longs sont trop dispersés et on a peu de chance d’en trouver un permettant de se rapprocher de l’objectif. Voronet

Beaumont, Kermarrec, Marchal et Rivière [3] généralisent ce principe au cas où le graphe original n’est plus une grille mais la triangulation de Delaunay d’un ensemble de points distribués plus aléatoi-rement dans le plan. La distribution des liens longs se fait alors en utilisant le diagramme de Voronoï des nœuds pour s’adapter au fait que la répartition des nœuds n’est plus parfaitement régulière comme pour la grille.

Dans ce travail, le routage se révèle être proche des techniques de localisation d’un point dans une triangulation de Delaunay [10, 9]. La problématique réseaux introduit des contraintes supplémentaires telles que l’équilibrage de la charge entre les différents nœuds ou le contrôle décentralisé du processus, qui s’opposent à l’utilisation directe de structures hiérarchiques habituelles en géométrie algorithmique. Compromis table de routage/temps de routage

Dans les travaux précédents, on a un routage en temps log2avec une mémoire (une table de routage)

de taille constante. On peut essayer d’obtenir un compromis entre ces deux grandeurs. Par exemple Chan et al. [6] obtiennent des routages presque optimaux (avec un facteur 1 + ) pour des tables de routage polylogarithmiques.

3

Extraction de sous-graphe

3.1 Problématique

Dans les réseaux filaires, ou même les réseaux wifi, l’infrastructure rend les communications peu ambigües : deux machines communiquent sur la liaison qui les relient, un mobile communique avec une

(10)

Géométrie algorithmique et réseaux 5

antenne (la meilleure de son opérateur). Dans les réseaux ad-hoc, où tout le monde parle avec tout le monde, on est confronté à un problème supplémentaire : si les nœuds sont trop denses, le graphe de communication est trop connexe, le degré est important et paradoxalement cela ne facilite pas le routage (ni le fait de trouver une route, ni son efficacité en nombre de sauts). On peut donc vouloir simplifier le graphe délibérément et n’utiliser qu’un sous graphe afin de garantir certaines propriétés.

L’extraction d’un sous-graphe ne doit pas changer les composantes connexes du graphe et doit permettre d’obtenir des garanties sur :

— le degré des nœuds — le diamètre

— le routage (longueur, temps de calcul, terminaison) — . . .

3.2 Lien avec la géométrie

C’est un des problèmes déjà attaqués par les géomètres, la solution la plus évidente consistant à utiliser les vraies coordonnées des nœuds, supposées connues, pour définir le graphe. Par exemple on peut utiliser la triangulation de Delaunay et on sait que celle-ci aura de bonnes propriétés de routage, malheureusement la longueur des arêtes n’y est pas contrôlée et donc les arêtes de la triangulation de Delaunay ne correspondent pas forcément à des communications réalisables.

Le graphe le plus utilisé est le Unit Disc Graph où deux nœuds sont reliés si leur distance est inférieure à 1. Un tel graphe n’est en général pas planaire et en extraire un graphe planaire permet alors de faciliter le routage.

Une catégorie de sous-graphes particulièrement étudiée est celle des spanners, un t-spanner per-mettant d’obtenir un chemin présentant un surcoût d’un facteur t au plus.

3.3 Références

Dans la communauté géométrie, il existe déjà une certaine littérature sur les spanners en 2D [21]. Par exemple la triangulation de Delaunay pour la métrique euclidienne est un 2.42 spanner [13], et la triangulation de Delaunay pour un métrique convexe est un 2 spanner [8]. Par ailleurs on peut construire de bons spanners avec un degré borné [1].

4

Système de coordonnées Internet

4.1 Problématique

Trouver un système qui représente bien la distance internet, c’est-à-dire le temps mis par un paquet pour voyager sur le réseau, est un problème majeur.

En effet, cette distance est relativement facile à mesurer expérimentalement en envoyant un paquet et en chronométrant le temps qu’il met à revenir. Cependant le coût de cette mesure rend son uti-lisation systématique peu avantageuse. Par exemple, interroger de nombreux serveurs possédant une information avant de demander au meilleur de nous envoyer cette information est inutile si le coût du prétraitement dépasse celui du traitement. Il est donc nécessaire de mettre au point des méthodes d’estimation.

Une des grandes difficultés est que cette distance internet n’est justement pas une distance, en particulier l’inégalité triangulaire n’y est pas vérifiée. Cela est dû au fait que le routage des paquets n’est pas optimal et que donc le temps t(A, B) pour aller de A à B peut être meilleur en prenant un autre chemin que celui utilisé spontanément, et donc en forçant le passage par C on peut aboutir à un temps t(A, C) + t(C, B) < t(A, B).

Les méthodes actuelles tentent pourtant d’estimer la distance de A à B à l’aide des propriétés usuelles de distance et en particulier de l’inégalité triangulaire. Par exemple, la méthode IDMap utilise

(11)

6 O. Devillers un ensemble de nœuds caractéristiques de l’internet pour lequel on connaît la matrice complète des distances. La distance est alors approchée en passant par les nœuds caractéristiques les plus proches du départ et de l’arrivée.

Cette méthode a besoin de stocker cette matrice des distances et utilise donc une mémoire qua-dratique (en le nombre de nœuds caractéristiques). Une alternative consiste à calculer la distance de A et B à un ensemble {C1, C2, . . . , Ck} de nœuds caractéristiques. On utilise ensuite l’inégalité

trian-gulaire avec A, B et chacun des Ci pour encadrer t(A, B). On peut aussi ajouter une pénalité pour la

connexion finale entre l’utilisateur et le réseau qui est en général bas débit et donc coûteuse.

Toujours en se repérant par rapport à des nœuds caractéristiques, on peut essayer de trouver un plongement des nœuds dans un espace euclidien d’une certaine dimension. A est alors placé en minimisant sa distance, dans le plongement, aux sphères centrées sur les nœuds caractéristiques et ayant pour rayon la véritable distance internet. La distance internet entre A et B est ensuite approximée par la distance dans le plongement. Il est également envisagé d’avoir recours à des métriques non euclidiennes, sphériques (la terre est une sphère) ou cylindriques (il n’y a pas internet aux pôles !).

4.2 Lien avec la géométrie

On peut faire des analogies avec plusieurs problèmes de géométrie. La recherche d’un chemin dans un environnement inconnu et variable peut être rapprochée de problèmes de planification de trajectoires en robotique. Malheureusement ce domaine n’a guère à proposer que des solutions sous-optimales qui ne semblent guère compétitives avec les solutions réseaux actuelles.

On peut également envisager d’avoir recours à des modélisations plus fines de l’environnement et alors faire des analogies avec des métriques routières [23].

Sans avoir l’ambition de révolutionner le domaine, on peut aussi chercher à améliorer les techniques existantes. Par exemple en sélectionnant les nœuds caractéristiques judicieux par rapport auxquels faire les mesures.

4.3 Références

Predicting Internet network distance with coordinates based approaches

Dans ce travail, Eugene Ng and Hui Zhang [22] proposent GNP (Global Network Positioning) et comparent avec IDMaps et l’heuristique de triangulation.

Toutes les méthodes sont testées expérimentalement et utilisent un ensemble de machines de réfé-rences.

— IDMaps.

On fait le graphe complet des références en mesurant les distances réelles. La distance entre A et B est alors évaluée comme la somme des distances pour relier A et B à leur plus proche référent et de la distance dans le graphe.

— Inégalité triangulaire.

On n’a pas besoin ni de prétraitement ni de stockage quadratique en k. A et B mesurent leurs dis-tances à tous les référents, ensuite deux disdis-tances sont évaluées : L = maxR(|t(A, C) − t(B, C)|)

et l = minR(t(A, C) + t(B, C)) (où C parcourt l’ensemble des référents). On peut prendre comme

approximation de la distance internet l, L ou l+L 2 .

— GNP.

On calcule un plongement en dimension d des k référents pour minimiser la distorsion entre la distance dans le plongement et la véritable distance internet mesurée (si k = d + 1 la distorsion est nulle). Les coordonnées d’un autre nœud sont alors calculées en minimisant la différence entre les distances euclidiennes et les distances internet mesurées par rapport aux référents. La distance internet entre A et B est approchée par la distance euclidienne dans le plongement.

(12)

Géométrie algorithmique et réseaux 7

Les auteurs présentent des mesures montrant que GNP a de bonnes performances. Les valeurs envisagées pour k sont inférieures à 15. Pour d, des valeurs entre 3 et 6 semblent donner des résultats raisonnables. Il y a aussi des essais avec de la géométrie sphérique ou cylindrique (pas très probants).

5

Classification de paquets

5.1 Problématiques

Classification. Un routeur doit gérer le transit d’un grand nombre de paquets. Il leur applique un certain nombre de règles dépendant de l’origine, de la destination et du service concerné (numéro de port). En fonction de cette classification, le paquet pourra être rejeté, traité en priorité, mis en attente. . .

Identification de flux. Par ailleurs, dans le domaine de la classification, de nouveaux problèmes apparaissent dus au fait que les numéros de port non standard sont de plus en plus utilisés, rendant l’identification de la nature du service non évidente. On est alors amené à analyser le trafic d’une façon plus fine pour déterminer la nature de ces services. On peut regarder des informations telles que la taille des paquets ou les intervalles d’émission entre des paquets du même flux.

5.2 Lien avec la géométrie

Classification. Cette classification revient exactement à faire de la localisation dans une subdivi-sion orthogonale (range searching) dans un espace où les dimensubdivi-sions sont les numéros contenant les informations annoncées (origine, destination. . .).

Les solutions actuelles consistent à traiter le problème en une seule dimension (par exemple le numéro IP de l’émetteur) avec un arbre binaire. Les techniques de géométrie algorithmique permettant d’atteindre une complexité logarithmique en temps et linéaire en mémoire telles que le fractional cascading [7] sont jugées (à juste titre probablement) trop lourdes pour être intéressantes en pratique. Les efforts des géomètres depuis quelques années pour développer des algorithmes plus simples mais avec des complexités intéressantes, tels que des solutions randomisées au problème de localisation, pourraient être testées afin d’améliorer les performances en temps de ces algorithmes.

Identification de flux. Regrouper les paquets d’un même flux revient alors à faire du clustering, problème classique de géométrie. La méthode k-means [12] est utilisée, on pourrait tester d’autres classiques du clustering (variantes de k-means, mean-shift,. . . )

5.3 Références

Dans le chapitre 12 Packet classification de son livre [27], Varghese décrit en détail les solutions actuelles utilisées dans le domaine des réseaux. Les champs sur lesquels s’appliquent les règles de classification sont :

- origine (numéro IP) - destination (numéro IP) - protocole

- port origine - port destination.

Le problème est d’avoir un compromis temps/mémoire correct.

(13)

8 O. Devillers

6

Modélisation réelle de l’environnement

6.1 Problématique

La conception d’un réseau d’antennes pour couvrir une zone est également un problème géomé-trique. Il faut déterminer où placer les antennes pour

- avoir une bonne couverture

- minimiser les interactions entre antennes différentes - minimiser le nombre total d’antennes

- minimiser les changements d’antenne pour un mobile - . . .

Ces contraintes doivent également être modulées en fonction de contraintes physiques ou économiques (topographie du terrain, placements possibles pour les antennes)

6.2 Lien avec la géométrie

La modélisation de l’environnement se fait à plusieurs niveaux d’abstraction. On peut utiliser une modélisation physique complexe incluant toutes les possibilités d’échos afin d’avoir une idée assez précise de la force du signal reçu de chaque antenne en chaque point. On est là dans le domaine de la simulation numérique où la géométrie algorithmique n’intervient pas directement.

On peut vouloir une représentation plus abstraite du réseau, dans laquelle on cherchera à parti-tionner le domaine en fonction de la meilleure antenne. On est alors dans une problématique de calcul d’un diagramme similaire au diagramme de Voronoï (permettant de trouver le plus proche voisin) dans lequel on utilise une notion de distance un peu spéciale.

6.3 Références

Contrat France-Telecom INRIA 2007 sur l’approximation de diagrammes de Voronoï pour des métriques d’antennes.

7

Routage

7.1 Problématique

Le routage est probablement LE problème le plus évident à traiter dans ce rapport et nous l’avons déjà largement évoqué. En effet il est difficile de construire un graphe sans penser à la manière dont les messages y seront gérés par la suite.

Le routage consiste pour un message à trouver son chemin dans un graphe de communication. Ce message est émis par un nœud et peut avoir

- un seul destinataire (unicast),

- tous les autres nœuds comme destinataires (broadcast), ou - plusieurs destinataires (multicast).

Selon la nature du graphe, on peut utiliser des stratégies différentes. Le graphe peut être un graphe de communication radio symétrique (réseau ad-hoc) ou asymétrique (téléphonie mobile), le réseau internet, un réseau de nœuds participant à une application pair à pair. . .

Les paramètres d’évaluation d’un algorithme de routage sont la garantie que le message va atteindre son destinataire, puis le temps de propagation d’un message, la charge que ce message va faire porter sur le réseau (le nombre de nœuds visités, certains nœuds pouvant être visités pour rien). On peut ajouter la robustesse aux pannes, l’aspect décentralisé. . .

(14)

Géométrie algorithmique et réseaux 9

7.2 Lien avec la géométrie

Trouver son chemin dans un graphe est un problème que l’on appellera de localisation en géométrie algorithmique qui consiste à trouver où l’on est. En effet pour trouver la position d’un point dans une structure géométrique telle qu’une subdivision planaire ou une triangulation, on cherche en général à bouger de région en région à partir d’une région connue jusqu’à atteindre celle que l’on cherche. La géométrie algorithmique a développé des structures permettant de localiser des requêtes dans des temps logarithmiques soit dans le pire des cas [14, 24] soit de façon randomisée [5]. Ces structures font appel à des notions de voisinages similaires à celles que l’on trouve dans les réseaux, mais aussi construisent en général des structures hiérarchiques peut-être plus difficiles à transposer.

Le routage glouton consistant pour un nœud du réseau à faire suivre le message à celui de ses voisins le plus proche de la destination finale est très similaire à des techniques de localisation par marche dans des triangulations [10].

7.3 Références

Compass Routing on Geometric Networks

Kranakis, Singh et Urrutia [16] proposent le routage au compas comme une alternative au routage glouton. En effet le routage glouton peut rester bloqué dans des minimums locaux de la distance à l’objectif.

Dans le routage au compas, on envoie le message au voisin qui minimise l’angle avec la destination (au lieu de minimiser la distance).

Les auteurs montrent que le routage au compas peut boucler mais pour des situations plus difficiles que le routage glouton. Pour les deux routages, on ne boucle pas si le graphe est une triangulation de Delaunay.

Worst-Case optimal and average-case efficient geometric ad-hoc routing

Fabian Kuhn, Roger Wattenhofer et Aaron Zollinger [17] proposent pour planariser un Unit disc graph de ne conserver que les arêtes de Gabriel (celles dont le cercle ayant l’arête pour diamètre est vide).

Les auteurs passent en revue plusieurs stratégies de routage préexistantes ainsi qu’une nouvelle proposition. Les ingrédients sont :

– glouton

– tracé de rayon dans une face

– recherche du plus proche de l’objectif dans une face

– limitation de la recherche en distance (pour borner le coût par rapport à l’optimum).

Les hypothèses utilisées pour la distribution des nœuds sont quand même assez fortes. La méthode proposée combine certaines garanties dans le pire des cas avec un comportement raisonnable sur des cas normaux.

Les auteurs font une simulation avec des points uniformément distribués à la densité critique de percolation : pour une densité plus forte, trouver un chemin est très facile et pour une densité plus faible, le graphe est déconnecté.

Message broadcast

Calculer un arbre couvrant d’un graphe permettant d’envoyer un message à tous les autres nœuds en temps optimal est un problème NP difficile [28, 3.4.3].

(15)

10 O. Devillers Distributed computation of virtual coordinates

En partant du fait que le routage glouton fonctionne bien, Ben Chen, Gotsman et Wormser [4] cherchent à donner aux nœuds de leur graphe des coordonnées permettant d’utiliser ce routage glouton. La convergence du routage glouton est d’abord généralisée de la triangulation de Delaunay à la triangulation de Laguerre (triangulation régulière) dans laquelle les nœuds sont identifiés à des cercles et non des points et où la distance est remplacée par la puissance. Ensuite, étant donné un graphe de triangulation initial, on détermine des positions pour les cercles tels que le diagramme de Laguerre des cercles soit le graphe de triangulation de départ ; on peut le faire en cherchant un empilement de cercles avec un algorithme itératif (et on peut s’arrêter avant d’avoir vraiment convergé, il suffit de garantir que les bons voisinages sont établis).

En résumé, l’entrée est une triangulation (une carte planaire non plongée) et le résultat est un plongement et des poids pour que le routage glouton (avec métrique de puissance) fonctionne.

Application-layer multicasting with Delaunay triangulation overlays

Liebeherr, Nahas and Si [18] proposent d’utiliser la triangulation de Delaunay pour faire du routage (multicast). Les arguments reposent sur des hypothèses de concordance entre la vraie géométrie (e.g. coordonnées GPS) et la connectivité dans le réseau.

Ils utilisent une structure hiérarchique (pas toujours très claire !) et ont fait une étude expérimentale avec des sites générés uniformément.

8

Perspectives

Après ce tour d’horizon de quelques aspects géométriques des réseaux, il semble que l’analogie la plus forte soit celle entre le routage géométrique (le routage utilisant des coordonnées pour repérer les nœuds) et la localisation dans une structure géométrique (arrangement ou complexe cellulaire). Bien sûr, les contraintes ne sont pas les mêmes. On retiendra ainsi des contraintes de contrôle décentralisé et d’autonomie des nœuds dans le cas des réseaux, qui s’opposent aux structures à hiérarchie forte utilisées en géométrie. Pour l’instant, les publications avec un parfum réseaux issues de la communauté de géométrie algorithmique restent plutôt théoriques et utilisent des modèles simplifiés du point de vue réseaux. Symétriquement, les techniques réseaux pourraient être source d’inspiration pour la conception d’algorithmes géométriques parallèles, les contraintes de décentralisation et de contrôle réparti étant communes à la problématique réseaux et à celle de la conception de méthodes de calcul en parallèle.

La seconde famille d’algorithmes géométriques utilisables pour les réseaux me semble être ceux dédiés au clustering. En effet le problème du clustering a plusieurs applications dans le cadre des réseaux, là aussi il faudrait voir comment les contraintes propres à l’application (forme et taille des clusters souhaités) permettent d’adapter les classiques du clustering.

Un gros effort existe également du coté des géomètres depuis plusieurs années pour trouver de bons spanners. Ce problème est en partie motivé par des applications réseaux et peut en particulier simplifier le routage dans les réseaux ad-hoc.

En ce qui concerne les communications sans fil, il faut surtout progresser vers une meilleure abs-traction de la qualité de la transmission que la simple distance entre deux nœuds. Les conditions telles que échos ou interférences sont très importantes en pratique et largement négligées dans une bonne part des travaux théoriques basés sur des modèles souvent sommaires.

(16)

Géométrie algorithmique et réseaux 11

Merci à

Pour rédiger ce rapport, j’ai rencontré de nombreuses personnes de l’INRIA, merci donc à Sara Alouf, François Baccelli, Chadi Barakat, Jean-Claude Bermond, David Coudert, Wallid Dabbous, Anne-Marie Kermarec, Philippe Nain, Hervé Rivano, Laurent Viennot, Camille Wormser.

Références

[1] S. Arya and M. Smid. Efficient construction of a bounded-degree spanner with low weight. Algo-rithmica, 17 :33–54, 1997.

[2] François Baccelli and Bartlomiej Blaszczyszyn. Spatial Modeling of Wireless Communications, a stochastic geometry approach. In preparation, book.

[3] Olivier Beaumont, Anne-Marie Kermarrec, Loris Marchal, and Étienne Rivière. VoroNet : a scalable object network based on Voronoi tessellations. In Proc. of 21st IEEE International Parallel and Distributed Processing Symposium, 2007.

[4] Mirela Ben Chen, Craig Gotsman, and Camille Wormser. Distributed computation of virtual coordinates. In Proceedings of the 23rd ACM Symposium on Computational Geometry, pages 210–219, 2007.

[5] Jean-Daniel Boissonnat, Olivier Devillers, René Schott, Monique Teillaud, and Mariette Yvinec. Applications of random sampling to on-line algorithms in computational geometry. Discrete Com-put. Geom., 8 :51–71, 1992.

[6] Hubert T-H. Chan, Anupam Gupta, Bruce M. Maggs, and Shuheng Zhou. On hierarchical routing in doubling metrics. In Proc. 16th ACM-SIAM symp. on Discrete algorithms, pages 762–771, 2005. [7] Bernard Chazelle and Leonidas J. Guibas. Fractional cascading : I. A data structuring technique.

Algorithmica, 1(3) :133–162, 1986.

[8] L. P. Chew. There are planar graphs almost as good as the complete graph. J. Comput. Syst. Sci., 39 :205–219, 1989.

[9] Olivier Devillers. The Delaunay hierarchy. Internat. J. Found. Comput. Sci., 13 :163–180, 2002. [10] Olivier Devillers, Sylvain Pion, and Monique Teillaud. Walking in a triangulation. Internat. J.

Found. Comput. Sci., 13 :181–199, 2002.

[11] Jérôme Galtier. Tournament mac with constant size congestion window for wlan. Research Report 6396, INRIA, 2007.

[12] J. A. Hartigan and M. A. Wong. A k-means clustering algorithm. Applied Statistics, 28 :100–108, 1979.

[13] J. M. Keil and C. A. Gutwin. Classes of graphs which approximate the complete Euclidean graph. Discrete Comput. Geom., 7 :13–28, 1992.

[14] D. G. Kirkpatrick. Optimal search in planar subdivisions. SIAM J. Comput., 12(1) :28–35, 1983. [15] Jon Kleinberg. The small-world phenomenon : an algorithm perspective. In Proc. 32th ACM

Symposium on Theory of Computing, pages 163–170, 2000.

[16] Evangelos Kranakis, Harvinder Singh, and Jorge Urrutia. Compass routing on geometric networks. In Proc. 11 th Canadian Conference on Computational Geometry, 1999.

[17] Fabian Kuhn, Roger Wattenhofer, and Aaron Zollinger. Worst-case optimal and average-case efficient geometric ad-hoc routing. In Proc. 4th ACM symposium on Mobile ad hoc networking & computing, pages 267–278, 2003.

[18] J. Liebeherr, M. Nahas, and Si Weisheng Si. Application-layer multicasting with Delaunay trian-gulation overlays. In IEEE Global Telecommunications Conference, pages 1651–1655, 2001.

(17)

12 O. Devillers [19] S. Lloyd. Least square quantization in PCM. IEEE Trans. Inform. Theory, 28 :129–137, 1982. [20] N. Megiddo and K. J. Supowit. On the complexity of some common geometric location problems.

SIAM J. Comput., 13(1) :182–196, 1984.

[21] G. Narasimhan and M. Smid. Geometric spanner networks. Cambridge University Press, 2007. [22] T. Eugene Ng and Hui Zhang. Predicting internet network distance with coordinates based

approaches. In INFOCOM, 2002.

[23] Belen Palop del Rio. Algorithmic problems on proximity and location under metric constraints. Phd thesis, Univ. Politecnica de Catalunya, 2003.

[24] F. P. Preparata. Planar point location revisited. Internat. J. Found. Comput. Sci., 1(1) :71–86, 1990.

[25] J. Sabin and R. Gray. Global convergence and empirical consistency of the generalized Lloyd algorithm. IEEE Transactions on Information Theory, 32 :148–155, 1986.

[26] Micha Sharir. A near-linear algorithm for the planar 2-center problem. In Proc. 12th Annu. ACM Sympos. Comput. Geom., pages 106–112, 1996.

[27] George Varghese. Network Algorithmics : an interdisciplinary approach to designing fast networked devices. Elsevier/Morgan Kaufmann, 2005.

[28] Feng Zhao and Leonidas J. Guibas. Wireless Sensor Networks. An Information Processing

Ap-proach. Morgan Kaufmann, 2004.

(18)

Unité de recherche INRIA Sophia Antipolis

2004, route des Lucioles - BP 93 - 06902 Sophia Antipolis Cedex (France)

Unité de recherche INRIA Futurs : Parc Club Orsay Université - ZAC des Vignes 4, rue Jacques Monod - 91893 ORSAY Cedex (France)

Unité de recherche INRIA Lorraine : LORIA, Technopôle de Nancy-Brabois - Campus scientifique 615, rue du Jardin Botanique - BP 101 - 54602 Villers-lès-Nancy Cedex (France)

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334 Montbonnot Saint-Ismier (France) Unité de recherche INRIA Rocquencourt : Domaine de Voluceau - Rocquencourt - BP 105 - 78153 Le Chesnay Cedex (France)

Éditeur

INRIA - Domaine de Voluceau - Rocquencourt, BP 105 - 78153 Le Chesnay Cedex (France)

http://www.inria.fr ISSN 0249-6399

Références

Documents relatifs

On lance une fléchette sur une plaque carrée sur laquelle figure une cible circulaire (en gris sur la figure). Si la pointe de la fléchette est sur le bord de la cible, on

Refaire des exercices travaillés en classe (Exercices contrôlés n°1, 2 et 3) Calculer les coordonnées du milieu d'un segment.. Calculer

System Management Security Policy Management Context Data Policy definition Multi–Agent System Platform Topology information White Pages Services Yellow Pages Services

The aim of the thesis is to study the possibilities of fuel consumption reduction of a diesel engine intended for a passenger car by means of waste heat recovery from exhaust

The second larger oxidation wave shows a shi correlating with the electronic effect of the substituent on the TPA moiety; the electron donating methoxy group leads to a lower

We also show that a similar characterization of hyperbolicity holds for all geodesic metric spaces endowed with a geodesic spanning tree.. Along the way, we prove that any

La figure 3.3 montre les triangulations de Delaunay duales des diagrammes de Vo- rono¨ı de la figure 3.1 : dans le premier cas (2 points), la triangulation n’est constitu´ee que

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des