Towards networks guided by and for highly dynamic applications
Armel Francklin Simo Tegueu · HAL (Le Centre pour la Communication Scientifique Directe) · 2018
Les applications modernes s’appuient sur des architectures qui combinent de plus en plus de composants logiciels émanant de plusieurs éditeurs, implantant des fonctions de plus en plus spécialisées, et très souvent déployés dans le « cloud ». De ce fait, ces applications nécessitent une dynamique et une adaptation certaines vis-à-vis des flux de données que leurs composants échangent et des besoins de qualité de service (QdS) que ces flux requièrent. Pour la majorité des applications, il s’avère difficile d’identifier à l’avance l’ensemble des flux et/ou d’exprimer précisément les besoins de QdS associés. Ainsi, fournir un service de communication réseau capable de répondre et de suivre les besoins de ces applications sans gaspiller, par surdimensionnement, l’utilisation des ressources réseau, pose plusieurs défis aux réseaux de communication supports, notamment un haut degré de flexibilité, largement au-delà des possibilités des réseaux de communication actuels. L’objectif de ce travail de thèse est de développer le concept de réseau guidé par les applications (ADN : Application Driven Networking), réseau capable d’offrir des services de communication personnalisés et dynamiques aux applications. Le qualificatif personnalisé signifie que le service ADN répond à des besoins de communication applicatifs exprimés avec un niveau de granularité très fin pouvant aller jusqu’aux flux élémentaires. Ces besoins peuvent être exprimés explicitement par l’application ou inférés par le réseau par analyse du trafic. L’aspect dynamique signifie que le service ADN est reprogrammé et ajusté pour suivre l’évolution des besoins de l’application dans le temps. Les contributions de ce travail de thèse couvrent plusieurs points. Nous avons défini l’architecture générale d’un réseau ADN bâti sur une infrastructure réseau de type SDN (Software Defined Network) en explicitant ses composants fonctionnels et en spécifiant les interfaces entre composants. Nous avons développé les algorithmes de ses principaux composants, notamment deux algorithmes d’allocation de ressources réseau qui calculent les chemins de données et les ressources réseau à y réserver pour satisfaire les exigences de bande passante et de délai des services ADN, tout en optimisant l’utilisation de ressources. Nous avons mis au point deux heuristiques de migration des services ADN afin de répartir aux mieux la charge du réseau et d’augmenter l’admissibilité des requêtes des services ADN à venir. Nous avons développé un prototype démonstrateur de réseau ADN qui fournit un ensemble de services ADN à des applications dynamiques basées sur le middleware temps réel DDS (Data Distribution Service).