Abstract :
[en] Nowadays lots of real time applications are used over the Internet: voice over IP, online video games, etc. For these applications the performance of the path between two communicating nodes is critical. Particularly, most of these applications require small delays between communicating nodes. For these applications, the problem is that the choice of the routes in the Internet is generally not very much guided by performance concerns. It is well known that for lots of node pairs the default Internet path is suboptimal and there exists an alternative path providing a smaller delay between these nodes. In this thesis, we mainly address the problem of finding these alternative paths.
Replacing Internet's routing philosophy in order to obtain default paths providing the best performance possible should be a good theoretical solution. However, replacing Internet's routing philosophy by a brand new one is very difficult or even impossible in practice. Another solution is to leave the default routes as they are and to perform indirect routing. Consider a path AB between two nodes A and B. If a path ACB has a smaller delay than AB, then, instead of sending data directly to B, A can send them to C and C can relay them to B. This is called overlay routing because we manage the routing in an overlay network built on top of the Internet (i.e. at the application level). Overlay routing is a promising way to improve the quality of service in the Internet but its main drawback is its poor scalability: measuring the characteristics of the paths, exchanging the measurement results between the nodes and computing the best routes in the full mesh overlay network generally implies a high consumption of resources. In this thesis, our main contribution is the design of a lightweight one-hop overlay routing mechanism improving the latencies: we define criteria that rely on the information provided by an Internet Coordinate System (ICS) in order to provide a small set of potential one-hop shortcuts for any given path in the network with small costs. Our best criterion does not guarantee to find the best shortcut for any given path in a network but, even in networks with hundreds or thousands of nodes, it will restrict the search for potential shortcuts to about one or two percent of the total number of nodes.
Even if the estimation-based approach of overlay routing is our main contribution, this thesis also presents general results about routing shortcuts and Internet Coordinate Systems. For an ICS, a routing shortcut is a Triangle Inequality Violation (TIV) and it is often a big problem. Indeed, a TIV will cause estimation errors since, in this particular case, nodes cannot be embedded into any metric space. In this thesis, we study TIVs existing in the Internet and their impact on the Vivaldi ICS. This analysis leads to two contributions. Firstly, we propose criteria to establish, with a high probability of success, if there exists a shortcut or not for a given path AB. Secondly, we propose a Two-Tier architecture for ICSes that mitigates the effect of TIVs on the estimations. Finally, this thesis also discusses the efficiency of two solutions proposed in the literature in order to obtain an ICS that can deal with TIVs. The first one consists in applying non-linear transformations to delays before trying to embed them in a metric space. The second one consists in modelling the estimation problem as a matrix completion problem in order to completely avoid the embedding in a metric space.
[fr] Aujourd'hui de nombreuses applications communiquant en temps réel sont déployées dans l'Internet : téléphonie IP, jeux vidéos en ligne, etc. Pour de telles applications, les performances d'un chemin entre deux nœuds sont un point critique. En particulier, la plupart de ces applications exigent que les délais entre les nœuds soient les plus petits possible. Le problème est que le choix des routes dans l'Internet n'est généralement pas basé sur les performances et il est bien connu que, pour de nombreux chemins dans l'Internet, il existe un chemin alternatif proposant un délai plus court. Dans cette thèse, notre objectif principal est de trouver ces chemins alternatifs.
Pour résoudre ce problème, une première solution est de remplacer les routes actuellement utilisées dans l'Internet par des routes offrant de meilleures performances. Toutefois, remplacer la philosophie de routage utilisée dans l'Internet semble très difficile, voire impossible en pratique. Une autre solution consiste à laisser les routes actuelles telles qu'elles sont et de réaliser du routage indirect. Considérons un chemin AB entre deux nœuds A et B. Si un chemin ACB propose un délai plus court que AB, alors C est un raccourci de routage pour AB. Dans ce cas, au lieu d'envoyer ses données directement à B, A peut les envoyer à C et C peut les relayer vers B. Procéder de la sorte s'appelle faire du routage overlay, car le routage est géré au sein d'un réseau overlay construit sur l'Internet. Le principal problème du routage overlay est son coût : mesurer les caractéristiques des chemins, échanger les résultats de ces mesures entre les nœuds et calculer les meilleures routes, cela requiert énormément de ressources, et une telle approche peut difficilement être envisagée à grande échelle. La contribution principale de cette thèse est la proposition d'un mécanisme de routage overlay économe en ressources. Nous proposons des critères basés sur les informations fournies par un système de coordonnées (ICS) afin d'obtenir, avec un coût minimal, un ensemble de raccourcis de routage potentiels pour n'importe quel chemin donné dans un réseau. Dans des réseaux constitués de centaines, voire de milliers de nœuds, notre meilleur critère est en mesure de réduire le nombre de raccourcis potentiels pour n'importe quel chemin donné à environ un ou deux pour cent du nombre total de nœuds.
Cette thèse présente également des résultats plus généraux concernant les raccourcis de routage et les ICS. Pour un ICS, un raccourci de routage est une violation du principe d'inégalité triangulaire (TIV) et c'est un problème majeur. En effet, les TIV n'étant pas modélisables dans un espace métrique, ils génèrent des erreurs d'estimation. Une étude des TIV présents dans l'Internet et de leur impact sur l'ICS appelé Vivaldi nous a permis d'aboutir à deux résultats. Premièrement, nous proposons des critères qui permettent d'établir s'il existe un raccourci de routage pour un chemin donné. Deuxièmement, nous proposons d'adopter une structure hiérarchique pour les ICS afin de réduire l'impact des TIV sur ceux-ci. Finalement, dans cette thèse, nous étudierons l'efficacité de deux solutions proposées dans la littérature afin d'éliminer la problématique des TIV pour les ICS. La première consiste à appliquer des transformations non linéaires aux délais avant d'essayer de les plonger dans un espace métrique. La seconde consiste à considérer le problème de l'obtention des estimations comme un problème de complétion de matrice afin d'éviter les désagréments liés au plongement dans un espace métrique.