Rencontres Francophones pour les Aspects Algorithmiques des Té lécommunications



Documents pareils
THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Application Form/ Formulaire de demande

APPENDIX 6 BONUS RING FORMAT

Instructions Mozilla Thunderbird Page 1

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

WEB page builder and server for SCADA applications usable from a WEB navigator

Exemple PLS avec SAS

THE EVOLUTION OF CONTENT CONSUMPTION ON MOBILE AND TABLETS

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

First Nations Assessment Inspection Regulations. Règlement sur l inspection aux fins d évaluation foncière des premières nations CONSOLIDATION

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Forthcoming Database

Comprendre l impact de l utilisation des réseaux sociaux en entreprise SYNTHESE DES RESULTATS : EUROPE ET FRANCE

Tier 1 / Tier 2 relations: Are the roles changing?

Bourses d excellence pour les masters orientés vers la recherche

Institut français des sciences et technologies des transports, de l aménagement

RÉSUMÉ DE THÈSE. L implantation des systèmes d'information (SI) organisationnels demeure une tâche difficile

Dans une agence de location immobilière...

Eléments de statistique

Natixis Asset Management Response to the European Commission Green Paper on shadow banking

Gestion des prestations Volontaire

Nouveautés printemps 2013

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

Improving the breakdown of the Central Credit Register data by category of enterprises

Academic Project. B2- Web Development. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

1.The pronouns me, te, nous, and vous are object pronouns.

Differential Synchronization

Once the installation is complete, you can delete the temporary Zip files..

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

Plan. Department of Informatics

Algorithmes de recommandation, Cours Master 2, février 2011

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

iqtool - Outil e-learning innovateur pour enseigner la Gestion de Qualité au niveau BAC+2

Tex: The book of which I'm the author is an historical novel.

Package Contents. System Requirements. Before You Begin

INVESTMENT REGULATIONS R In force October 1, RÈGLEMENT SUR LES INVESTISSEMENTS R En vigueur le 1 er octobre 2001

UML : Unified Modeling Language

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

If you understand the roles nouns (and their accompanying baggage) play in a sentence...

RAPID Prenez le contrôle sur vos données

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

CLIM/GTP/27/8 ANNEX III/ANNEXE III. Category 1 New indications/ 1 re catégorie Nouvelles indications

We Generate. You Lead.

ETABLISSEMENT D ENSEIGNEMENT OU ORGANISME DE FORMATION / UNIVERSITY OR COLLEGE:

The assessment of professional/vocational skills Le bilan de compétences professionnelles

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Lean approach on production lines Oct 9, 2014

Editing and managing Systems engineering processes at Snecma

Practice Direction. Class Proceedings

COUNCIL OF THE EUROPEAN UNION. Brussels, 18 September 2008 (19.09) (OR. fr) 13156/08 LIMITE PI 53

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante :

How to Login to Career Page

Exercices sur SQL server 2000

POLICY: FREE MILK PROGRAM CODE: CS-4

MANUEL MARKETING ET SURVIE PDF

THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002

PARIS ROISSY CHARLES DE GAULLE

Syllabus Dossiers d études

Face Recognition Performance: Man vs. Machine

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

VTP. LAN Switching and Wireless Chapitre 4

GAME CONTENTS CONTENU DU JEU OBJECT OF THE GAME BUT DU JEU

PRACTICE DIRECTION ON THE LENGTH OF BRIEFS AND MOTIONS ON APPEAL

BNP Paribas Personal Finance

Get Instant Access to ebook Cest Maintenant PDF at Our Huge Library CEST MAINTENANT PDF. ==> Download: CEST MAINTENANT PDF

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

Interest Rate for Customs Purposes Regulations. Règlement sur le taux d intérêt aux fins des douanes CONSOLIDATION CODIFICATION

CETTE FOIS CEST DIFFERENT PDF

Lesson Plan Physical Descriptions. belle vieille grande petite grosse laide mignonne jolie. beau vieux grand petit gros laid mignon

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

accidents and repairs:

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

I>~I.J 4j1.bJ1UlJ ~..;W:i 1U

RISK-BASED TRANSPORTATION PLANNING PRACTICE: OVERALL METIIODOLOGY AND A CASE EXAMPLE"' RESUME

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Networking Solutions. Worldwide VSAT Maintenance VSAT dans le Monde Entretien. Satellite Communications Les Communications par Satellite

Miroir de presse. International Recruitment Forum 9-10 mars 2015

Projet de réorganisation des activités de T-Systems France

Compte-rendu technique complet et détaillé des cookies

France SMS+ MT Premium Description

IPv6: from experimentation to services

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

DOCUMENTATION - FRANCAIS... 2

Bureau 17 septembre 2013 à 18h00 GSD 211. Board September 17, 2013 at 6:00 PM GSD 211 ITEM. Appel à l ordre : 18h10. 1 Call to Order: 6:10 pm

Consultation Report / Rapport de consultation REGDOC-2.3.3, Periodic Safety Reviews / Bilans périodiques de la sûreté

Cheque Holding Policy Disclosure (Banks) Regulations. Règlement sur la communication de la politique de retenue de chèques (banques) CONSOLIDATION

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

DOCUMENTATION - FRANCAIS... 2

Contrôle d'accès Access control. Notice technique / Technical Manual

Small Businesses support Senator Ringuette s bill to limit credit card acceptance fees

FCM 2015 ANNUAL CONFERENCE AND TRADE SHOW Terms and Conditions for Delegates and Companions Shaw Convention Centre, Edmonton, AB June 5 8, 2015

Frequently Asked Questions

Transcription:

Rencontres Francophones pour les Aspects Algorithmiques des Té lécommunications 28-31 mai 2013 France

Table des matières Tolérer les fautes Byzantines dans les graphes planaires, A. Maurer [et al.]...1 Large scale analysis of HTTP Adaptive Streaming over the Mobile Networks, A. Gouta [et al.]... 5 Algorithme autostabilisant avec convergence sûre construisant une (f,g)-alliance, S. Devismes [et al.] 9 Dynamic clustering of evolving networks: Some results on the line, C. Fernandes [et al.]... 13 Fast Near-Optimal Algorithm for Delivering Multiple Live Video Channels in CDNs, J. Liu [et al.]..20 Routage multi-flots e?conome en e?nergie dans les re?seaux de capteurs et actionneurs, N. Gouvy [et al.]...24 FixMe : détection répartie de défaillances isolées, E. Anceaume [et al.]...28 Routage sécurisé et résilient pour réseaux de capteurs sans fils, K. Altisen [et al.]...32 Algorithme exact et approché pour le calcul de l'hyperbolicité d'un graphe, N. Cohen [et al.]...36 Optimisation de la qualité de service par l'utilisation de mémoire cache, R. Leone...40 Une approche à base de similarité pour la détection de communautés egocentrées, M. Danisch [et al.]. 44 Verification formelle et robots mobiles, L. Millet [et al.]... 48 Spéculation et auto-stabilisation, S. Dubois [et al.]... 52 Diverse Routing with Star SRLGs, J. Bermond [et al.]... 56 De la difficulté de garder ses amis (quand on a des ennemis)!, A. Chaintreau [et al.]... 60 Explorer une grille avec un minimum de robots amnésiques, F. Petit [et al.]...64 Acheminement de messages instantanément stabilisant pour arbres couvrants, F. Petit [et al.]...68 Link Quality Metrics in Large Scale Indoor Wireless Sensor Networks, A. Bildea [et al.]...72 Consensus pair-à-pair asynchrone dans les variétés, A. Bellachehab [et al.]...76 Transport point à multipoint dans des réseaux sans fil multi-bandes, H. Khalife [et al.]... 80 Fractional Combinatorial Games on Graphs, R. Pardo soares...84 Accélération matérielle pour le traitement de trafic sur FPGA, T. Groléat [et al.]... 88 Algorithme distribué de routage compact en temps optimal, C. Glacet [et al.]...92 Topology versus Link Strength for Information Dissemination in Networks, L. Severini [et al.]... 96 Collusions entre fournisseurs de services et de contenus dans les réseaux, A. Reiffers [et al.]...100 Diffusion probabiliste dans les réseaux dynamique, A. Clementi [et al.]... 104 Contenu généré par les utilisateurs : une étude sur DailyMotion, Y. Carlinet [et al.]...108 Réduction de la consommation d'énergie des réseaux cellulaires hétérogènes, A. Ouni [et al.]...112 Fast Collaborative Online Graph Exploration, D. Dereniowski [et al.]...116 Exploration des graphes dynamiques T-intervalle-connexes : le cas de l'anneau, D. Ilcinkas [et al.]. 120 Supra-extensibilité des réseaux P2P, F. Baccelli [et al.]...124 Sur la complexité du routage OSPF, F. Giroire [et al.]... 128 I

Tolérer les fautes Byzantines dans les graphes planaires Alexandre Maurer 1,2 et Sébastien Tixeuil 1,2,3 1 Laboratoire d Informatique de Paris 6 (LIP6) 2 Laboratory of Information, Network and Communication Sciences (LINCS) 3 Institut Universitaire de France (IUF) E-mail : alexandre.maurer@lip6.fr, sebastien.tixeuil@lip6.fr On s intéresse au problème de la diffusion d information dans un réseau sujet à des fautes Byzantines : certains nœuds peuvent avoir un comportement malveillant arbitraire. On considère ici les solutions entièrement décentralisées. Une solution récente garantit une diffusion fiable sur une topologie de tore lorsque D > 4, D étant la distance minimale entre deux nœuds Byzantins. Dans ce papier, nous généralisons ce résultat aux graphes planaires 4-connexes. On montre que la diffusion peut être rendue fiable lorsque D > Z, Z étant le nombre maximal d arêtes par polygone. On montre également que cette borne ne peut être améliorée sur cette classe de graphes. Notre solution a la même complexité en temps qu une diffusion simple. Par ailleurs, c est la première solution où la mémoire requise augmente linéairement avec la taille des informations, et non plus exponentiellement. Keywords: Tolérance aux fautes Byzantines, protocole de diffusion, réseaux multi-sauts, réseaux asynchrones 1 Introduction Motivations Dans un monde où les réseaux deviennent de plus en plus grands, des erreurs locales de fonctionnement sont inévitables. Ces erreurs peuvent avoir des origines diverses : bug informatique, débordement de file, attaque extérieure... Afin d englober toutes les erreurs possibles, on considère ici le modèle le plus général : le modèle Byzantin [LSP82], où les nœuds fautifs ont un comportement totalement arbitraire. Autrement dit, tolérer les fautes Byzantines implique de garantir qu il n existe aucune stratégie, aussi improbable soit-elle, leur permettant de déstabiliser le réseau. On s intéresse ici au problème de la diffusion : un nœud (la source) souhaite communiquer une information à l ensemble du réseau. Notre but est de garantir que les nœuds corrects recevront toujours la bonne information, sans jamais être abusés par les nœuds Byzantins. Solutions existantes Une solution classique est d utiliser de la cryptographie asymétrique à base de clés publiques et privées [DH76]. Toutefois, outre une certaine puissance de calcul, cela requiert une infrastructure centralisée initialement fiable afin de distribuer les clés. Nous nous intéressons ici aux solutions totalement décentralisées. Plusieurs solutions [Koo04, BV05, NT09] nécessitent un grand nombre de voisins par nœud, et ne peuvent tolérer plus d une faute Byzantine sur des topologies faiblement connectées telles que le tore (voir Figure 2). D autres solutions tolèrent un grand nombre de fautes sur une grille [MT12a, MT13], mais offrent seulement des garanties probabilistes. Une solution récente [MT12b] garantit une diffusion fiable sur un tore lorsque D > 4, D étant la distance minimale entre deux nœuds Byzantins. Notre contribution Dans ce papier, nous généralisons le résultat [MT12b] aux graphes planaires 4- connexes (voir Figure 2). On montre que notre solution de diffusion est fiable lorsque D > Z, Z étant le nombre maximal d arêtes par polygone. On montre également qu aucun algorithme ne peut améliorer cette borne pour cette classe de graphes. Par ailleurs, on montre que si le délai entre deux activations successives 1/131

Alexandre Maurer et Sébastien Tixeuil est borné, la diffusion s effectue en un temps O(d), d étant le diamètre du réseau. Enfin, on montre que la solution présentée dans ce papier requiert beaucoup moins de mémoire que les précédentes. Organisation du papier Dans la Section 2, nous présentons les hypothèses et décrivons le protocole exécuté par les nœuds corrects. Dans la Section 3, nous prouvons les propriétés annoncées. Enfin, dans la Section 4, nous montrons une amélioration en terme de mémoire requise. Nous ne donnons ici qu une esquisse des preuves, mais les versions complètes sont dans le rapport technique disponible à l adresse : http://hal.upmc.fr/hal-00773343 FIGURE 1: Tore (droite) et graphe planaire 4-connexe (gauche) 2 Hypothèses et protocole Hypothèses On considère que le graphe du réseau est planaire, c est-à-dire qu il admet une représentation dans le plan où les arêtes ne se croisent pas. Les arêtes délimitent des polygones (voir Figure 2). Le graphe est 4-connexe : pour déconnecter le graphe, au moins 4 nœuds doivent être enlevés. Soit Z 3 le nombre maximal d arêtes par polygone, et Y 4 le nombre maximal d arêtes par nœud. Certains nœuds sont Byzantins et peuvent avoir un comportement arbitraire. Les autres sont corrects et suivent le protocole décrit ci-après. On considère un réseau asynchrone : tout message envoyé finira par être reçu, mais cela peut se faire dans n importe quel ordre. Chaque nœud a un identifiant unique, et les canaux sont authentifiés : lorsqu un nœud reçoit un message d un voisin, il connait l identité de ce voisin. Principe du protocole Le protocole est sensiblement le même que dans [MT12b]. Le principe est que, pour accepter une information, un nœud doit la recevoir d un voisin direct, mais aussi d un autre nœud situé à au plus Z 2 sauts. L idée sous-jacente est que si D > Z, les nœuds Byzantins ne pourront jamais coopérer pour faire accepter une fausse information à un nœud correct. Les messages échangés par le protocole sont de la forme (m, S), m étant l information prétendument diffusée par la source, et S l ensemble des nœuds ayant retransmis cette information. Un nœud correct possède, pour chaque voisin q, une variable Rec(q) pour stocker le dernier message envoyé par q. Description du protocole 1. La source envoie une information m 0 à ses voisins. 2. Les voisins corrects de la source acceptent m 0 et envoient (m 0,ø) à leurs propres voisins. 3. Les autres nœuds corrects ont le comportement suivant : Lorsque (m,s) est reçu d un voisin q / S, avec card(s) Z 3 : stocker (m,s) dans Rec(q) et envoyer (m,s {q}) aux voisins. Lorsqu il existe m, p, q et S tels que q p, q / S, Rec(q) = (m,ø) et Rec(p) = (m,s) : accepter m, envoyer (m,ø) aux voisins et s arrêter. 2/131

Tolérer les fautes Byzantines dans les graphes planaires 3 Propriétés Théorème 1 Si D > Z, tous les nœuds corrects reçoivent et acceptent l information diffusée par la source, et uniquement cette information. Esquisse de la preuve On montre d abord, comme évoqué plus haut, que l hypothèse D > Z empêche les nœuds Byzantins de collaborer pour faire accepter une fausse information à un nœud correct. Par conséquent, si un nœud accepte une information, ce sera nécessairement la bonne. Reste à montrer que tout nœud correct reçoit effectivement cette information. On introduit pour cela la notion de chemin polygonal. Un chemin polygonal est une série de polygones connectés par une arête, tels que tous les nœuds de ces polygones soient corrects. On montre tout d abord qu avec l hypothèse D > Z, il existe toujours un chemin polygonal connectant un nœud correct donné à la source. On montre ensuite par récursion que la bonne information se diffuse au moins le long de ce chemin polygonal, sinon par un chemin polygonal plus court. Théorème 2 Si on a seulement D Z, aucun protocole ne peut garantir une diffusion correcte pour la classe des graphes planaires 4-connexes. Esquisse de la preuve Considérons le réseau suivant : FIGURE 2: Cas critique pour D Z Dans ce réseau, on a D = Z = 4, donc a bien D Z. Quatre nœuds isolent la partie grise du reste du réseau : deux sont corrects, et deux sont Byzantins. Comme il y a une parfaite symétrie entre ces deux paires de nœuds, les nœuds extérieurs ne pourront jamais déterminer la bonne information avec certitude. Par conséquent, la borne sur D ne peut être améliorée. Théorème 3 Si le délai entre deux activations d un même nœud est borné, alors la diffusion s effectue en un temps linéaire O(d), d étant le diamètre du réseau. Esquisse de la preuve Soit T une borne supérieure du délai entre deux activations. Soit p un nœud situé à L 1 sauts de la source. En reprenant la preuve du Théorème 1, on montre qu il existe un chemin polygonal de Y 3 ZL polygones corrects connectant p à la source. On montre ensuite que tous les nœuds d un polygone correct acceptent la bonne information en un temps Z 2 T. On montre finalement par récursion que p accepte l information en un temps Y 3 Z 3 T L. Comme L d, et comme Y, Z et T sont bornés, la diffusion s effectue en un temps linéaire O(d). La complexité en temps est donc la même qu un protocole de diffusion basique, où toute information reçue est immédiatement retransmise. 3/131

4 Mémoire requise Alexandre Maurer et Sébastien Tixeuil Pour finir, montrons une amélioration de notre protocole en terme de mémoire requise. Dans les solutions existantes [Koo04, BV05, NT09, MT12a, MT12b, MT13], les nœuds peuvent stocker autant d informations m que nécessaire. Ainsi, comme les nœuds Byzantins peuvent potentiellement diffuser toutes les fausses informations possibles, il faut prevoir O(2 M ) bits de mémoire par nœud, M étant le nombre de bits maximal d une information m. Dans notre protocole, nous avons fait la modification suivante : au lieu de stocker tous les messages reçus, nous stockons uniquement le dernier message reçu de la part d un voisin q dans la variable Rec(q). Ainsi, les noeuds requièrent une mémoire de seulement O(M) bits. Quand à la mémoire requise dans les canaux, elle est également de O(M) bits, pour peu que le délai d activation des nœuds corrects soit compris dans un intervalle [T 1,T 2 ], T 1 > 0. Les canaux liés à des nœuds Byzantins peuvent être débordés sans conséquence, leurs messages étant déjà arbitraires. La mémoire locale requise augmente donc linéairement avec M, et non plus exponentiellement. 5 Conclusion Dans ce papier, nous avons généralisé la condition sur la distance entre les nœuds Byzantins à une classe de graphes planaires, et montré son optimalité. Notre solution a la même complexité en temps qu une diffusion simple, et permet d importantes économies en terme de mémoire locale utilisée. Un problème ouvert est d étendre cette condition à des graphes plus généraux. Par ailleurs, bien que l on ait déjà une complexité en temps linéaire, des optimisations sont envisagées pour réduire le temps de réception. Références [BV05] [DH76] [Koo04] [LSP82] Vartika Bhandari and Nitin H. Vaidya. On reliable broadcast in a radio network. In Marcos Kawazoe Aguilera and James Aspnes, editors, PODC, pages 138 147. ACM, 2005. W. Diffe and ME. Hellman. New directions in cryptography. IEEE Transactions on Information Theory, 1976. Chiu-Yuen Koo. Broadcast in radio networks tolerating byzantine adversarial behavior. In Soma Chaudhuri and Shay Kutten, editors, PODC, pages 275 282. ACM, 2004. Leslie Lamport, Robert E. Shostak, and Marshall C. Pease. The byzantine generals problem. ACM Trans. Program. Lang. Syst., 4(3) :382 401, 1982. [MT12a] Alexandre Maurer and Sébastien Tixeuil. Limiting byzantine influence in multihop asynchronous networks. IEEE International Conference on Distributed Computing Systems (ICDCS 2012), 2012. [MT12b] Alexandre Maurer and Sébastien Tixeuil. On byzantine broadcast in loosely connected networks. International Symposium on Distributed Computing (DISC 2012), 2012. [MT13] [NT09] Alexandre Maurer and Sébastien Tixeuil. A scalable byzantine grid. International Conference on Distributed Computing and Networking (ICDCN 2013), 2013. Mikhail Nesterenko and Sébastien Tixeuil. Discovering network topology in the presence of byzantine nodes. IEEE Transactions on Parallel and Distributed Systems (TPDS), 20(12) :1777 1789, December 2009. 4/131

Large scale analysis of HTTP Adaptive Streaming over the Mobile Networks Nathalie Amann, 2 Ali Gouta, 1,2 Dohy Hong, 3 Anne-Marie Kermarrec, 1 and Yannick Le Louedec 2 1 Inria Rennes-Bretagne Atlantique, Rennes/ 2 Orange Labs, Lannion/ 3 N2Nsoft, Paris HTTP Adaptive Streaming technology (HAS) is getting widely adopted by Content Providers, Content Delivery Network service providers (CDN) and Telecom Operators (Telcos). In HAS, video contents are segmented into chunks which sizes usually range between 2 and 10 seconds worth of audiovisual content. These chunks are then delivered upon user requests. This specific delivery scheme controlled by the client and the increasing number of HTTP requests raise new challenges in terms of content caching strategies. In this paper, we analyze the users behavior when requesting HAS-based content by considering a real HAS dataset collected in France over the Mobile Networks of a major French Telecom Operator. These observations led us to propose several possibilities to enhance the content caching strategies in such mobile networks. Keywords: Adaptive streaming, catch-up, live, dataset, caching 1 Introduction The proliferation of mobile smart phones is significantly changing the mobile communication landscape. Smart phones are now commonly used by users to watch TV programs either in live or on-demand. In this paper, we conduct an in-depth analysis of the mobile clients behavior when requesting HAS content, using a real HAS dataset collected in France over the Mobile Networks of a major French Telecom Operator. Based on the patterns observed in this analysis, we investigate through simulations the opportunity to enhance the caching strategies for HAS-based contents. 2 Data set We have deployed 5 network probes on the Gi interfaces of the 5 GGSNs deployed by the Mobile Operator. We captured a total of 8,131,747 HTTP adaptive streaming sessions from 485,544 unique active clients, over 3G/HSPA/HSPA+ and 2G (EDGE) radio access networks during the measurement period. The Data collection was conducted over a period of 6 weeks and one day, from February 28th to April 10th, 2012. These HAS sessions were mainly Apple HTTP Live Streaming (HLS) sessions and Microsoft smooth streaming (HSS) sessions. The probe system identifies an HAS session by the first HTTP-GET request on the first chunk for which the URL address ends either with a.ts for a HLS stream, or with a.ism for a HSS stream. Each HAS session corresponds to the set of chunks sent to the same client over a period of time. The probe system captures all headers containing useful information from the packets carrying these chunks, such as the packet size and the sequence number. All information is aggregated per TCP connection and exported into a database, from where it is analysed. Each TCP connection corresponds to one chunk. This means that the number of requested chunks during one HAS session is equal to the number of persistent TCP connections established between the server and the client over a period of time. In the remainder of the paper we focus on the Apple HLS sessions, as they represent more than 99% 5/131

Nathalie Amann, Ali Gouta, Dohy Hong, Anne-Marie Kermarrec, and Yannick Le Louedec of the HAS sessions in the collected dataset. They correspond mainly to Live sessions : where clients watch a live TV program, and Catch-up TV sessions : where clients watch on-demand videos previously broadcasted in live. 3 HAS traffic analysis We analyze in Figure 1(a) the access frequency measured at a granularity of one hour of the top-0.6%, top-1%, top-5%, top-17% and top-100% most requested catch-up TV videos over the whole period of data collection. For instance, in order to compute the access frequency of the top-5% most requested catch-up TV videos at day 7 we concentrate on the 5% catch-up TV videos which were most requested over the whole period of data collection ; the access frequency is then the sum of the total number of requests observed for each of these videos at day 7 following the time of the first user request for these considered videos. We observe that the popularity of these catch-up TV videos is age-sensitive : the clients requests fade significantly as time goes on. The number of requests for such contents decreases with a ratio of 1/8 just 2 days after they were made available to the mobile audience. It further decreases with a ratio of 1/10 the seventh day and 1/40 the eight day. This drastic popularity decrease between day 7 and day 8 is partly due to the fact that some content providers purge all 7-day old catch-up TV videos from their catalogue. Another reason is that viewers are not likely to watch the same video multiple times as they do for mutable web objects. This Fetch-at-most-once like behavior was initially introduced by Gummadi et al. [SOS03] while trying to understand the file popularity paradigm in P2P downloads. Throughout our dataset, we were able to validate this assumption for catch-up TV contents and we found out that in average 82-percentile of the clients do request at most once a given catch-up TV video, while around 97-percentile of the clients do request the same content at most 3 times. access frequency (granularity 1 hour) 100000 10000 1000 100 10 1 Top-100% catch-up TV Top-17% most popular catch-up TV Top-5% most popular catch-up TV Top-1% most popular catch-up TV Top-0.6% most popular catch-up TV 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P(X<N) 0.9999 0.999 0.99 0.95 0.9 0.75 0.5 0.25 0.1 0.05 0.0001 catch-up TV live Lognormal_catch-up TV Lognormal_live CDF 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 Live catch-up TV Days (a) Nb chunks per session 10 0 10 1 10 2 10 3 10 4 N chunks per session (b) CDF of number of chunks per session for Live and VoD HAS sessions 0 0 5 10 15 20 25 30 N chunks per session (c) Nb chunks per session Figure 1: Chunk properties Figure 1(b) represents the Cumulative Distribution Function (CDF) of the number of requested chunks per HAS session, for both live TV and catch-up TV videos. Using the Maximum Likelihood Estimation (MLE) we determined that log-normal distribution laws are best matching the respective CDFs of the live TV and catch-up TV video sessions. Then we applied the Kolmogorov Serminov goodness-of-fit (KS) test to assess the accuracy of the estimated parameters of these lognormal laws. The KS test is well adapted here given the high number of samples of catch-up TV sessions and Live sessions within the dataset. The estimated parameters of the log-normal laws and the results of the KS test are provided in Table 1, showing a confidence level of up to 95%. We also note on Figure 1(b) that the CDFs diverge from the log-normal laws when the HAS sessions exceed 6/131

Large scale analysis of HTTP Adaptive Streaming over the Mobile Networks σ µ test statistic p value Lognormal live 1.57033 2.50498 0.1019 0.2368 Lognormal catch-up TV 1.54 2.76728 0.0839 0.4648 Table 1: estimated parameters of the KS-test 1000 chunks. A minority of clients keeps on requesting chunks over a much longer period than the others, and some of them until the end of the video. In the case where the chunks are delivered by edge servers - belonging for example to a CDN or a set of transparent caching servers - such a tailed profile could degrade the caching efficiency of these edge servers. This degradation would be even amplified as the cache size of these edge servers is limited and their caching replacement algorithm is highly reactive to the end user requests. For instance, if an edge server is configured with the LRU caching algorithm (Least Recently Used), any request for a chunk located at the end of a video will make this server cache this chunk and set it at the top of its LRU ranking. Then, even if there is no further request for that chunk, it will remain for a while in the cache until being purged, possibly at the expense of other more frequently requested chunks. It is therefore worth to investigate the interest of adapting caching algorithms so that they do not cache as a priority the last and very infrequently requested chunks from the HAS videos. Figure 1(b) shows also that 90% of live and catch-up video sessions do not exceed 100 chunks, which corresponds in the case of Apple HTTP Live to 16 minutes worth of video content (each chunk having 10 seconds of video content). Authors in [SIG06] analyzed sessions duration collected from PowerInfo VoD system and found out that 52.55% of the sessions do not exceed 10 minutes. In contrast, we find that for the same duration 80% of the HAS sessions are composed of 60 chunks. This may be explained by the fact that the PowerInfo VoD system is used to deliver a highest diversity of content types, including short videos and premium movies, while in our case, the dataset corresponds to TV contents offered by the telecom operator for free. At last, the range where the CDFs of the live and catch-up TV HAS sessions differ most is on the first 25 chunks of the sessions. We zoom on this range in Figure 1(c). Clearly, the proportion of Live sessions within the range of 1 to 8 chunks per session is much higher than the proportion of Live sessions lasting from 9 to 25 chunks per session. This may be explained by the fact that the users start by spending some time in discovering or recognizing the program broadcasted in live. After this discovery phase, if they do not like the program, they rather give up or switch to another live program. We also found that for this considered range, the CDF of the catch-up sessions is below the CDF of Live sessions. This indicates that users spend more time watching catch-up TV video contents than watching live programs. 4 Caching chunk-based contents We now investigate the opportunity to enhance the caching efficiency of the edge servers involved in the delivery of the chunks by extending their cache replacement algorithm with a chunk-position threshold beyond which these edge servers would not cache any chunk. The evaluation relies on a trace-driven simulation which is based on a seven-day trace from the collected HAS dataset, constituted of 29,921,935 HTTP client requests. The trace file contains information about the timestamp of each new session, the video identifier, and the number of chunks requested by the clients in each session. We simulate the scenario where all HAS traffic gets forwarded via a proxycache deployed just above the 5 GGSNs. For sake of simplicity the simulation relies on the following assumptions : The videos are encoded at 500kbps and all chunks are 10 seconds worth of video content. We only consider the Catch-up TV sessions and we use LRU as a cache replacement algorithm. Figure 2 represents the average hit-ratio and average update-ratio for different values of the cache capicity (C) and the value of the threshold (c th ). The cache hit-ratio represents the ratio of requests succefully handled by the cache and the cache update-ratio represents the ratio of requests causing a cache miss and thus additional network trafic to update the cached objects. 7/131

Nathalie Amann, Ali Gouta, Dohy Hong, Anne-Marie Kermarrec, and Yannick Le Louedec hit-ratio 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 C = 5Gb C = 50Gb C = 500Gb C = 10 3 Gb 110 60 100 150 200 c i update-ratio 0.9 1 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 C = 5Gb C = 50Gb C = 500Gb C = 1000Gb 110 60 100 150 200 c i (a) Cache Hit-ratio with respect to c i (b) Cache Update-ratio with respect to c i hit-ratio per chunk 0.6 0.5 c th =1 th =10 0.4 c th =60 0.3 th =100 th =150 c 0.2 th =200 c th =inf 0.1 0 1 10 100 1000 10000 chunk i Figure 2: Hit-ratio and update hit-ratio per chunk 0.6 0.5 c th =1 th =10 0.4 c th =60 0.3 th =100 th =150 c 0.2 th =200 c th =inf 0.1 0 1 10 100 1000 10000 chunk i hit-ratio per chunk 0.6 c 0.5 th =1 th =10 0.4 c th =60 th =100 0.3 th =150 c 0.2 th =200 c th =inf 0.1 0 1 10 100 1000 10000 chunk i (a) size = 50 Gb (b) size = 500 Gb (c) size = 1000 Gb Figure 3: Hit-ratio per chunk position Figure 2(a) shows that for small cache sizes (C < 50Gb) setting C th to 100 leads to approximately the same average cache hit ratio as if there were no chunk-position threshold (i.e.c th = ), while Figure 2(b) shows that this allows to save up to 50% on cache-update ratio. For larger cache sizes (C > 50Gb), setting C th to 200 leads to approximately the same cache hit ratio as if there were no chunk-position threshold (i.e.c th = ), while this allows to gain 20% on the cache update-ratio. This can contribute to reduce significantly the cache replacement processing time, especially in large caches where the object lookup time is critical. Figure 3 depicts the average cache hit-ratio for each position of the chunks in the temporal sequence of the videos they belong to (i.e. the average cache hit-ratio for each chunk i during the whole simulation). We call this the cache hit ratio per chunk position, and we note c i the position of the i st chunk from the content in the dataset. We note that setting a chunk threshold (c th ) improves the cache hit ratio per chunk position for all chunks which positions c i are below this chunk threshold (c i < c th ). The gain on the cache hit ratio per chunk position may reach up to 20% if the chunk threshold (c th ) is set low (e.g.c th = 10). When setting the threshold to up to 60 chunks per session (80% of the catch-up TV sessions) we may improve up to 5% the average cache hit-ratio for all chunk i earlier than c th = 60. Conclusion : This paper presents the analysis of a large and recent dataset of HAS sessions in French mobile networks, which is a crucial pre-requisite to improve their performances. So this paper shows how fine tuning the caching logic with respect to the specific timing patterns of the HAS sessions leads to significant gains on the caching efficiency. Références [SIG06] Understanding user behavior in large-scale video-on-demand systems, 2006. available at http://portal.acm.org/citation.cfm?doid=1218063.1217968. [SOS03] Measurement modeling and analysis of a peer-to-peer file-sharing workload, 2003. available at http://homes.cs.washington.edu/ gribble/papers/p118-gummadi.pdf. 8/131

Algorithme autostabilisant avec convergence sûre construisant une ( f, g)-alliance Fabienne Carrier 1, Ajoy K. Datta 2, Stéphane Devismes 1, Lawrence L. Larmore 2 et Yvan Rivierre 1 1 VERIMAG, Université Grenoble 1, France 2 School of Computer Science, UNLV, Las Vegas, USA Nous proposons un algorithme distribué, autostabilisant et silencieux avec convergence sûre qui calcule une ( f, g)- alliance minimale dans un réseau asynchrone identifié, où f et g sont deux fonctions associant à chaque nœud un entier positif ou nul qui vérifient : pour tout nœud p, f (p) g(p) et δ p g(p), où δ p est le degré du nœud p dans le réseau. Keywords: système distribué, autostabilisation, convergence sûre, ( f,g)-alliance. 1 Introduction L autostabilisation est un paradigme général permettant de concevoir des algorithmes distribués tolérant les fautes transitoires. Une faute transitoire est une panne non-définitive qui altère le contenu du composant du réseau (processus ou canal de communication) où elle se produit. En supposant que les fautes transitoires n altèrent pas le code de l algorithme, un algorithme autostabilisant retrouve de lui-même, et en temps fini, un comportement normal dès lors que les fautes transitoires ont cessé. L autostabilisation ne fait aucune hypothèse sur la nature ou l ampleur des fautes transitoires qui frappent le système. Ainsi, l autostabilisation permet à un système de récupérer de l effet de ces fautes d une manière unifiée. Cependant, l autostabilisation a quelques inconvénients ; le plus important étant sûrement la perte de sûreté temporaire, i.e., suite à des fautes transitoires, il y a une période temporaire appelée phase de stabilisation au cours de laquelle le système n offre aucune garantie de sûreté. Plusieurs approches dérivées de l autostabilisation ont été introduites pour offrir des propriétés supplémentaires lors de la phase de stabilisation, e.g., la superstabilisation, la contention de fautes ou encore la convergence sûre. Nous considérons ici la notion de convergence sûre. Pour la plupart des problèmes, il est souvent difficile de concevoir des algorithmes autostabilisants assurant un temps de stabilisation réduit, même lorsque peu de fautes touchent le réseau. L importance du temps de stabilisation est souvent dûe à la complexité de la spécification que l algorithme doit satisfaire. Ainsi, le but d un algorithme autostabilisant avec convergence sûre est en premier lieu de converger rapidement d une configuration quelconque vers une configuration dite légitime réalisable, où une qualité de service minimum est garantie ; lorsqu une telle configuration est atteinte, l algorithme doit, tout en restant dans l ensemble des configurations légitimes réalisables, continuer à converger vers un sous-ensemble particulier de ces configurations, appelé sous-ensemble des configurations légitimes optimales, où une spécification plus complexe est garantie. L autostabilisation avec convergence sûre est particulièrement intéressante pour résoudre les problèmes de construction de structure. Par exemple, des solutions autostabilisantes avec convergence sûre ont été proposées pour le calcul d un ensemble dominant minimal [2], d un ensemble dominant faiblement connecté approximant l optimum [3], ou encore d un ensemble dominant connecté approximant l optimum [4]. Dans cet article, nous nous intéressons au calcul d une ( f,g)-alliance. Soit G = (V,E) un graphe nonorienté. Soit f et g deux fonctions qui associent un entier positif ou nul à chaque nœud de V. Un sousensemble de nœuds A est une ( f,g)-alliance de G ssi : ( p V \ A, N p A f (p)) ( p A, N p A g(p)) 9/131

Fabienne Carrier, Ajoy K. Datta, Stéphane Devismes, Lawrence L. Larmore et Yvan Rivierre où N p désigne l ensemble des voisins de p dans G. De plus, A est une ( f,g)-alliance minimale si aucun de ses sous-ensembles propres n est une ( f, g)-alliance. Les ( f, g)-alliances généralisent plusieurs notions issues de la théorie des graphes, qui sont notamment utilisées dans le domaine des systèmes distribués. Considérons un sous-ensemble de nœuds S et notons δ p le degré d un nœud p : 1. S est un ensemble dominant (minimal) ssi S est une (1,0)-alliance (minimale) ; 2. S est un ensemble k-dominant (minimal) ssi S est une (k,0)-alliance (minimale) ; 3. S est un ensemble k-tuple dominant (minimal) ssi S est une (k,k 1)-alliance (minimale) ; 4. S est une alliance défensive (minimale) ssi S est une ( f,0)-alliance (minimale), telle que p V, f (p) = δ p /2 ; 5. S est une alliance offensive (minimale) ssi S est une (1,g)-alliance (minimale), telle que p V, g(p) = δ p /2. Contributions. Nous proposons un algorithme distribué, autostabilisant et silencieux qui calcule une ( f,g)-alliance minimale dans un réseau asynchrone identifié, où f et g sont deux fonctions de V dans N vérifiant les deux contraintes suivantes : (1) f g, i.e., p V, f (p) g(p) ; et (2) p V,δ p g(p). La classe des ( f, g)-alliances minimales vérifiant f g englobe les ensembles dominants, k-dominants et k- tuple dominants minimaux, ainsi que les alliances défensives minimales. Cependant, les alliances offensives minimales ne font pas partie de cette classe. Notre algorithme garantit une convergence sûre dans le sens où à partir d une configuration quelconque, il calcule tout d abord une ( f, g)-alliance (pas nécessairement minimale) en au plus 4 rondes, puis il supprime des éléments de l alliance jusqu à obtenir une ( f, g)-alliance minimale. Le temps de stabilisation global étant d au plus 8n + 4 rondes, où n est le nombre de nœuds. Notre algorithme est écrit dans le modèle à états. Il est prouvé en supposant un démon distribué inéquitable (l hypothèse la plus faible du modèle). Il nécessite O(logn) bits de mémoire par processus et son temps de stabilisation en termes d étapes de calcul est O( 3 n), où est le degré du réseau. État de l art. Les ( f,g)-alliances ont été introduites dans [1]. Dans le même article, les auteurs proposent plusieurs algorithmes distribués non-autostabilisants pour ce problème et ses variantes. À notre connaissance, il n y avait pas jusqu alors de travaux proposant des algorithmes autostabilisants pour les ( f, g)-alliances. Cependant, il existe des algorithmes autostabilisants pour des instances particulières de ( f,g)-alliances. L article le plus proche de nos travaux est certainement celui de Kakugawa et al [2]. Dans cet article, les auteurs proposent un algorithme autostabilisant avec convergence sûre pour calculer un ensemble dominant minimal d un réseau synchrone en O(D) rondes, où D est le diamètre du réseau. Plan. Dans la section 2, nous décrivons brièvement le modèle dans lequel notre algorithme est écrit. Dans la section 3, nous rappelons une propriété sur laquelle notre algorithme se fonde. Nous présentons les idées principales de notre algorithme dans la section 4. Nous concluons avec des perspectives dans la section 5. 2 Modèle à états Nous considérons des réseaux bidirectionnels de n processus (ou nœuds) où chaque processus peut communiquer directement avec un ensemble restreint d autres processus appelés voisins. Les processus sont identifiés de manière unique. Dans la suite, nous ne distinguerons pas un processus de son identité. Ainsi, selon le contexte, p désignera soit un processus, soit son identité. Les processus communiquent par le biais de variables de communication localement partagées : chaque processus détient un nombre fini de variables, chacune de domaine fini, dans lesquelles il peut lire et écrire. De plus, il peut lire les variables de ses voisins. Les variables d un processus définissent son état. Une configuration est un vecteur contenant un état de chaque processus. L exécution d un algorithme est une suite d étapes atomiques : à chaque étape, s il existe. Nous considérons la définition qui dit que S est k-dominant ssi tout nœud hors de S a au moins k voisins dans S.. Un algorithme silencieux converge vers une configuration dite terminale où les valeurs des variables de communication de tous les processus ne changent plus.. Cette contrainte assure l existence d une solution.. Pour plus de détails voir le rapport technique en ligne (www-verimag.imag.fr/tr/tr-2012-19.pdf). 10/131

( f,g)-alliance autostabilisante avec convergence sûre des processus dits activables souhaitant modifier leur état, alors un sous-ensemble non-vide de ces processus est activé. En une étape atomique, chaque processus activé lit ses propres variables, ainsi que celles de ses voisins, puis modifie son état. Nous supposons ici que les processus sont activés de manière asynchrone sans hypothèse d équité particulière (i.e., le démon est inéquitable). Toute configuration où aucun processus n est activable est dite terminale. Nous calculons le temps de stabilisation suivant deux métriques : le nombre d étapes atomiques et le nombre de rondes. Cette dernière métrique permet de mesurer le temps d exécution rapporté au processus le plus lent. Ainsi, la première ronde d une exécution termine dès lors que tous les processus continûment activables depuis le début de l exécution ont été activés au moins une fois, la seconde ronde commence immédiatement après, etc. 3 Minimalité et 1-minimalité Une ( f,g)-alliance A est 1-minimale ssi p A, A \ {p} n est pas une ( f,g)-alliance, i.e., la suppression d un seul élément de A provoque la perte de la propriété. Étonnamment, une ( f, g)-alliance 1-minimale n est pas nécessairement une ( f,g)-alliance minimale [1]. Cependant, nous avons la propriété suivante : Propriété 1 ([1]) Soit f et g deux fonctions associant un entier positif ou nul à chaque nœud. 1. Toute ( f,g)-alliance minimale est aussi 1-minimale ; 2. Si f g, alors toute ( f,g)-alliance 1-minimale est aussi minimale. 4 Principes de l algorithme Notre algorithme prend en entrée les deux fonctions f et g et calcule une seule variable de sortie par processus p : le booléen p.ina, qui est vrai ssi p est dans l alliance. Soit γ une configuration. Nous notons A γ l ensemble {p V, p.ina = vrai dans γ} (nous omettons l indice γ lorsque le contexte est clair). Notre algorithme converge, à partir d une configuration quelconque, vers une configuration terminale où A γ est une ( f,g)-alliance 1-minimale. Ainsi, puisque nous supposons que f g, A γ est aussi une ( f,g)-alliance minimale. La configuration initiale étant quelconque, un processus peut avoir à quitter ou rejoindre l alliance en cours d exécution. L idée intuitive pour obtenir la convergence sûre est qu il doit être plus difficile pour un processus de quitter l alliance que de la rejoindre. Ainsi, cela permet de converger rapidement vers une configuration où A est une ( f,g)-alliance, mais pas nécessairement une ( f,g)-alliance minimale. 4.1 Quitter l alliance Pour obtenir la 1-minimalité, un processus p est autorisé à quitter l alliance si les deux conditions suivantes sont vérifiées : Condition 1 : p aura au moins f (p) voisins dans l alliance après l avoir quittée ; Condition 2 : chaque voisin q de p aura encore assez de voisins (i.e., f (q) ou g(q), en fonction de la valeur de q.ina) dans l alliance une fois p hors de l alliance. Vérifier la condition 1. Pour assurer la première condition, nous avons introduit un mécanisme qui impose que les suppressions dans A soient localement séquentielles, c est-à-dire qu à chaque étape de l exécution, au plus un processus quitte l alliance dans le voisinage de chaque processus. Ainsi, si un processus p souhaite quitter l alliance, il a seulement besoin de vérifier que son nombre de voisins dans l alliance, NbA(p) = {q N p,q.ina}, est supérieur ou égal à f (p) avant de quitter l alliance. Alors, s il quitte effectivement l alliance, il est le seul dans son voisinage à pouvoir le faire et ainsi la condition 1 reste vraie. Pour réaliser les suppressions localement séquentielles, chaque processus q dispose d un pointeur q.choice. q affecte à q.choice s il ne peut autoriser aucun voisin à quitter l alliance, c est-à-dire s il est dans l alliance (resp. hors de l alliance) et NbA(q) g(q) (resp. NbA(q) f (q)). Dans le cas contraire, q désigne l un de ses voisins qui appartient à l alliance pour l autoriser à la quitter. Ainsi, pour quitter l alliance, tout processus p ne doit autoriser aucun voisin à quitter l alliance (p.choice = ) et doit recevoir l autorisation de tous ses voisins ( q N p,q.choice = p). 11/131

Fabienne Carrier, Ajoy K. Datta, Stéphane Devismes, Lawrence L. Larmore et Yvan Rivierre Vérifier la condition 2. Cette condition est aussi garantie par le fait qu un processus p peut quitter l alliance seulement s il a une autorisation de chacun de ses voisins q. Un voisin q donne une telle autorisation à p seulement s il a assez de voisins dans l alliance sans tenir compte de p. Ainsi, q exécute q.choice q où q est l un de ses voisins seulement si q est dans l alliance et que, sans q, q a toujours assez de voisins dans l alliance. Il est possible qu un voisin q de q ne puisse quitter l alliance dans ce cas, q est dit occupé parce qu au moins une des deux conditions suivantes est vraie : (a) NbA(q ) < f (q ). Dans ce cas, q n a pas assez de voisins dans l alliance pour être hors de l alliance. (b) au moins un voisin de q a besoin que q reste dans l alliance. Si nous laissons les processus désigner avec leur pointeur choice de tels processus occupés, cela peut mener à un interblocage. Nous utilisons une variable booléenne supplémentaire q.busy pour informer les voisins de q que celui-ci est occupé, c est-à-dire qu il vérifie la condition (a) ou la condition (b). Ainsi, un processus q n a pas le droit de désigner un voisin q tel que q.busy = vrai. La condition (a) est évaluée par q en lisant sa variable ina et celles de ses voisins. En revanche, la condition (b) nécessite que q ait accès au statut (ina) et au nombre de voisins dans l alliance de chacun de ses voisins. Cette dernière information nécessite l introduction d une nouvelle variable, notée nba, dans laquelle chaque processus maintient son nombre de voisins dans l alliance. Si q a plusieurs candidats, c est-à-dire des voisins dans l alliance qui ne sont pas occupés, alors il choisit celui avec l identité la plus petite. Il reste un problème : q peut être le candidat de son propre candidat. Nous résolvons ce problème en ajoutant la condition suivante : si q est lui-même candidat, il désigne un candidat à condition que celui-ci ait une identité plus petite que la sienne. Enfin, il est possible qu un processus q change la valeur de son pointeur alors que, simultanément, l un de ses voisins, q, quitte l alliance. Dans ce cas, la condition 2 peut être violée. En effet, q choisit un candidat en supposant que q reste dans l alliance. Cette situation ne peut se présenter que si la valeur précédente de q.choice était q. Pour éviter une telle situation, nous forçons un processus à réinitialiser son pointeur à, afin d interdire à tout voisin de quitter l alliance, avant d envisager de désigner un nouveau candidat. 4.2 Rejoindre l alliance Un processus p hors de l alliance doit rejoindre l alliance si : 1. il n a pas assez de voisins dans l alliance, i.e., NbA(q) < f (q), ou 2. l un de ses voisins a besoin que p joigne l alliance. Chaque processus peut évaluer la première condition en lisant sa variable ina et celles de ses voisins. Pour la seconde condition, un processus p doit lire dans l état de chaque voisin q, (i) son statut q.ina et (ii) son nombre de voisins dans l alliance q.nba. Enfin, notez que pour empêcher un processus d entrer et sortir indéfiniment de l alliance, nous imposons qu un processus ne puisse rentrer dans l alliance qu une fois que tous ses voisins arrêtent de le désigner (cela introduit un retard d au plus une ronde). 5 Perspectives La perspective immédiate de ce travail est d étudier la possibilité de réduire le temps de stabilisation global à O(D) rondes, où D est le diamètre du réseau. Ensuite, il serait intéressant de trouver un algorithme autostabilisant avec convergence sûre construisant des ( f,g)-alliances sans l hypothèse f g. Références [1] M. C. Dourado, L. D. Penso, D. Rautenbach, and J. L. Szwarcfiter. The south zone : Distributed algorithms for alliances. In SSS, pages 178 192, 2011. [2] H. Kakugawa and T. Masuzawa. A self-stabilizing minimal dominating set algorithm with safe convergence. In IPDPS, 2006. [3] S. Kamei and H. Kakugawa. A self-stabilizing approximation algorithm for the minimum weakly connected dominating set with safe convergence. In WRAS, pages 57 67, 2007. [4] S. Kamei and H. Kakugawa. A self-stabilizing 6-approximation for the minimum connected dominating set with safe convergence in unit disk graphs. Theoretical Computer Science, 428 :80 90, 2012. 12/131

Dynamic clustering of evolving networks: some results on the line Cristina G. Fernandes 1, Marcio T.I. Oshiro 1, and Nicolas Schabanel 2 1 Department of Computer Science, University of São Paulo, Rua do Matão, 1010, 05508-090 São Paulo, Brazil. http://www.ime.usp.br/ cris/ and http://www.ime.usp.br/ oshiro/ 2 CNRS, Université Paris Diderot, LIAFA, Case 7014, 75205 Paris Cedex 13, France; and IXXI, Université de Lyon, 46 allée d Italie, 69364 Lyon, France. http://www.liafa.univ-paris-diderot.fr/ nschaban Understanding the dynamics of evolving social/infrastructure networks is a central challenge in many applied areas such as epidemiology, viral marketing, city planification, etc. During the last decade, a massive amount of data has been collected on such networks that still resist to analysis. In this article, we propose to use the data on the dynamics to find better partitions of the network into groups by requiring the groups to be stable over time. For that purpose, we introduce a dynamic version of the k-clustering problem which includes a cost for every point that moves from one cluster to another. We show that this yields in many realistic situations better fitting solutions than optimizing independently various snapshots of the network. We present a first non-trivial exact algorithm for this problem when the points move along a line ; this algorithm runs in polynomial time when k and the time horizon are bounded by a constant. We conclude with a series of surprising results on the complexity of the structure of optimal solutions for the line case. 1 Introduction During the last decade, a massive amount of data has been collected on diverse networks such as web links, nation- or world-wide social networks, online social networks (Facebook or Twitter for example), social encounters in hospitals, schools, companies, or conferences (e.g. [5, 7]), and other real-life networks. Those networks evolve with time, and their dynamics have a considerable impact on their structure and effectiveness (e.g. [6, 4]). Understanding the dynamics of evolving networks is a central question in many applied areas such as epidemiology, vaccination planning, anti-virus design, management of human resources, viral marketing, facebooking, etc. Algorithmic approaches have for instance been successful in yielding useful insights on several real networks such as zebras social interaction networks [8]. But the dynamics of real-life evolving networks are not yet well understood, partly because it is difficult to observe and analyze such large networks sparsely connected over time. Some basic facts have been observed (such as the preferential attachment or copy-paste mechanisms) but more specific structures remain to be discovered. In this article, we propose to adapt the problem of k-clustering to these evolving networks. We show that requiring the solution to be stable over time yields in many realistic situations better fitting solutions than optimizing independently various snapshots of the network. More precisely, we focus on the k-clustering problem of points moving in a metric space : we look for the best partition of the points in k groups (called clusters) over time minimizing a tradeoff between two objectives. The first objective is the span of the clusters (the sum of their diameter), which ensures that each cluster should contain points which are close to each other. The second objective is the instability of the clusters over time, measured as the number of points changing from one cluster to another over time. We argue that incorporating this stability requirement in the objective function helps in many realistic situations to obtain better solutions (see Section 2). This work was supported by the ANR Magnum grant and partially by CNPq 308523/2012-1 and Proj. MaCLinC of NUMEC/USP. 13/131

Cristina G. Fernandes, Marcio T.I. Oshiro, and Nicolas Schabanel t = 1 t = 2 t = 3 Optimal dynamical 6-clustering (a) The classroom. Optimal static 6-clustering Optimal dynamical 2-clustering (b) Two groups crossing. Optimal static 2-clustering FIGURE 1: Dynamic versus static clustering (some of these examples are from [3]). Our approach differs from the few existing traditional algorithmic approaches to dynamic settings because they ignore the stability of the solution. We show that offline static algorithms that construct an independent optimal solution for each snapshot of the network yield results that, in a large variety of realistic situations, are not only unstable (and thus arbitrarily bad for our objective), but also undesirable with respect to network dynamics analysis. Online greedy-type solutions such as [1] are also excessively pessimistic : we have access to the whole evolution of the network over time (as given by experiments such as [7]) and we can thus anticipate future changes. Our results. After introducing the model, we present a series of examples demonstrating that this problem produces solutions which are fitting better to a dynamic network than previous clustering problems. Then, we focus on the case of points moving along the line and exhibit a first non-trivial exact algorithm, which is polynomial when the number of clusters and the time horizon are bounded by a constant. We then present a series of surprising results on the complexity of the structure of optimal solutions in even very restricted cases of the line case. 2 Dynamic k-clustering problem 2.1 Definition We present a dynamic extension of the problem studied in [2]. Let (X,d) be a metric space. For a given n, an n-configuration in X is a sequence of n not necessarily distinct points in X. A k-clustering is a sorted partition of [n] = {1,...,n} into k sets, that is, it is a sequence of disjoint subsets of [n] whose union is [n]. Each subset C in a k-clustering is called a cluster, and the diameter of C for an n-configuration (p 1,..., p n ) is the maximum distance between two points in C, that is, max{d(p i, p j ) : i, j C}. If C is empty, we say its diameter is zero. The cost of a k-clustering for an n-configuration is the sum of the diameters of its clusters. Given a positive integer T, for each t = 1,...,T, let (p t 1,..., pt n) be an n-configuration in X. Such a sequence of n-configurations is called a dynamic setting (of n points) and represents the movement of n points in the metric space (X,d). It is denoted shortly by P = (p t i ) 1 i n,1 t T. A dynamic k-clustering C = (Cl t) 1 l k,1 t T of the dynamic setting P consists of a sequence of k-clusterings of [n], one for each of the n-configurations (p t 1,..., pt n), for t = 1,...,T. The cost of a dynamic clustering takes into account two objectives : the total span of its clusters and their instability over time. The instability of a dynamic clustering can be measured in several ways. In this paper, we adopt the number of times a point changes from a cluster to another over time, that is, the instability of a dynamic k-clustering C = (Cl t) 1 l k,1 t T is the number of pairs (i,t), for i in [n] and 1 t < T, such that i C t j but i Ct+1 j. For a constant c > 0, we define the cost of C as c times the instability of C plus the sum of the cost of each of its clusterings (which happens to be the sum of the diameter of each Cl t ). The constant c allows one to put more or less weight on the instability cost with respect to the clustering cost. A similar formulation of the problem was also introduced in [3]. 2.2 Examples The two examples in Fig. 1 show that dynamic k-clustering differs significantly from static k-clustering of every snapshot and furthermore yields more desirable partitions of the network. Example 1(a) shows the 14/131

Dynamic clustering of evolving networks: some results on the line case of a classroom where the students are split into five groups and the teacher move from one group to the other cyclically. When the number of students is large, an optimal static 6-clustering will isolate four groups and split one in two halves in every snapshots ; whereas the optimal dynamic 6-clustering will isolate every group of students and put the teacher in a sixth cluster, shedding more light on the dynamics of this network. Example 1(b) shows the case of two large groups of people crossing each other (in a street for instance) : an optimal static 2-clustering would first output the two groups, then split the union of the two groups in two halves regardless of the original groups, then split again the two groups ; whereas the dynamic 2-clustering would keep the same groups for the whole time period. Again, the dynamic 2-clustering yields a better understanding of the situation. The following fact generalizes this example to show that the sequence of T optimal static k-clusterings may yield an arbitrarily bad solution to the dynamic problem. Fact 1 The ratio of the cost of an optimal dynamic k-clustering of n points and a sequence of optimal static k-clusterings can be as large as Ω(n). 3 Exact algorithms for the line 3.1 Dynamic k-clustering on the line We consider the case where the metric space is the line. That is, the dynamic setting consists of points that move on the line : p t i R for all t and i. For all t, let πt be the permutation of [n] that stably sorts p t 1,..., pt n, i.e. such that p t π t p t π 1 t and, additionally, if pt n π t = p t i π t and i < j then π t i < πt j. (In other j words, π t i is the index of the i-th point from the left at time t.) Lemma 2 The cost of any optimal dynamic k-clustering for a dynamic setting of n points on the line of time-length T is fully characterized by the indices of the two extreme points of each cluster. Moreover, a corresponding optimal dynamic k-clustering can be recovered in O(nk 2 T ) time by dynamic programming. We are thus left with enumerating all the possible extremities for the k clusters. There are less than ( n k) 2 n 2k /k! 2 choices for t = 1 and less than k! ( n k) 2 n 2k /k! choices for t 2 (since the labels of the cluster matter as soon as t 2 as the following facts will demonstrate). It follows that : Theorem 3 There is an O(n 2kT +1 k 2 T /k! T +1 )-time algorithm that solves exactly the dynamic k-clustering problem for a dynamic setting of n points on the line for T units of time. This running time is polynomial in n if k and T are bounded by a constant. Note that this algorithm always outperforms the brute-force enumeration of all the k nt /k! possible k- clustering sequences (running in O(k nt kt ) time). 3.2 Surprising facts on optimal dynamic clusterings on the line For each t, an interval (k,n)-cover of n points at time t is a sequence of k pairs (a t l,bt l ) l=1.. k such that a t l, bt l [n], the at l are pairwise distinct for l [k], the b t l are pairwise distinct for l [k], a t l bt l, and k l=1 [at l,bt l ] [n]. We say (at l,bt l ) l=1.. k,t=1.. T is an interval (k,n)-cover sequence if, for t = 1,...,T, each (a t l,bt l ) l=1.. k is an interval (k,n)-cover of the n points at time t. By Lemma 2, a dynamic k-clustering on [n] can be represented by an interval (k,n)-cover. The following lemma shows that almost every interval (k, n)-cover sequence can correspond to an optimal dynamic (k + 1)-clustering of a dynamic setting of n points on the line (including sequences where all intervals are concentric!). Lemma 4 For every n 2k and every interval (k,n)-covers sequence (a t l,bt l ) l=1.. k,t=1.. T, there exists a dynamic setting of n points on the line of time-length T + 1 for which, for t = 1.. T, a t l and bt l for l = 1.. k are the extremities of the k first clusters of the only optimal dynamic (k + 1)-clustering (of the optimal dynamic k-clustering when n = 2k). We restrict attention to the particular case in which the trajectories of the n points in the line do not cross each other. That is, the permutation π t is the identity at every time t. One may hope that, if the trajectories of the n points never cross, the k clusters may keep the same relative order. This is unfortunately not the case, as the next example shows. 15/131

Cristina G. Fernandes, Marcio T.I. Oshiro, and Nicolas Schabanel Fact 5 There exists a dynamic setting of five points on the line with non-crossing trajectories for which the order of the clusters in the only optimal dynamic 2-clustering changes. This can be generalized to a dynamic setting of n points on the line with n 5, k 2, and T 2. So, even when the trajectories are non-crossing, it is not straightforward to design a dynamic programming algorithm that runs in time polynomial in n, k, and T. Non-crossing trajectories have however a simpler structure for T = 2 or k = 2, but, surprisingly, not as soon as k 4 and T 3! An interval (n,k)-cover is non-overlapping if its intervals are pairwise disjoint. Fact 6 Consider a dynamic setting of n points on the line having non-crossing trajectories. If T = 2 or k = 2, then there is an optimal dynamic k-clustering which consists in a sequence of non-overlapping interval (n,k)-covers. Fact 7 There is an instance with n = 7 points, k = 4 clusters, and T = 3, with non-crossing trajectories, for which all optimal dynamical 4-clusterings have two clusters that overlap at some time t. When trajectories are non-crossing, the span of a dynamic k-clustering may have some laminar structure, i.e., at each time step the spans of every pair of clusters are either disjoint or included one into the other, and moreover with every point belonging to the cluster with smallest span that contains it. If this were true, then we would have a much better algorithm, running in polynomial time in n and linear time in T. Theorem 8 When trajectories are non-crossing, there is an algorithm that computes an optimal laminar dynamic k-clustering in O((k!) 2 n 4k 4 T ) time and O(k!n 2k 2 T ) space. 4 Conclusion We believe that this problem is a key to the understanding of real-life evolving network, such as social interactions. It appears to have very intriguing behavior even in the simpler case of the line. Although running in polynomial time for fixed k and T, our algorithms need still to be improved to be fitted for real-life data collections which are typically huge. One may thus consider aiming at faster algorithms approximating the optimum. In other ongoing work, [3] develops an approximation algorithm and suggests that there might be some strong inapproximability results related to this problem but the situation needs yet to be clarified. Références [1] M. Charikar, C. Chekuri, T. Feder, and R. Motwani. Incremental clustering and dynamic information retrieval. In STOC 97, pages 626 635, 1997. [2] Moses Charikar and Rina Panigrahy. Clustering to minimize the sum of cluster diameters. In STOC 01, pages 1 10, 2001. [3] David Eisenstat, Claire Mathieu, and Nicolas Schabanel. Ongoing work on dynamic clustering of evolving graph, 2012. [4] Jon M. Kleinberg. The small-world phenomenon and decentralized search. SIAM News, 37(3), 2004. [5] Mark E. J. Newman. The structure and function of complex networks. SIAM Review, 45(2) :167 256, 2003. [6] Romualdo Pastor-Satorras and Alessandro Vespignani. Epidemic spreading in scale-free networks. Physical Review Letters, 86 :3200 3203, 2001. [7] J. Stehlé, N. Voirin, A. Barrat, C. Cattuto, L. Isella, J.-F. Pinton, M. Quaggiotto, W. Van den Broeck, C. Régis, B. Lina, and P. Vanhems. High-resolution measurements of face-to-face contact patterns in a primary school. PLoS ONE, 6(8) :e23176, 2011. [8] C. Tantipathananandh, T. Y. Berger-Wolf, and D. Kempe. A framework for community identification in dynamic social networks. In KDD, pages 717 726, 2007. 16/131

Dynamic clustering of evolving networks: some results on the line A Omitted proofs and results Proof of Fact 1. Let ε 1/12 and consider the following dynamic setting of n = 2m points in the real line during T = 2τ time steps, with m 2. At time t = 1, point i is at position ( 1) i εc for i = 1,...,m, and at position (2 + ( 1) i ε)c for i = m + 1,...,2m ; at time t = 2, each point i is at position (1 + ( 1) i )εc ; at time t = 3, point i is at position (2 + ( 1) i ε)c for i = 1,...,m, and at position ( 1) i εc for i = m + 1,...,2m (see Fig. 1(b)). An optimal dynamic 2-clustering for this dynamic setting consists of the two clusters {1,...,m} and {m+1,...,2m} at every time, for a total cost of 3 4εc < c, with no instability cost (any other solution would pay either a span of (2 2ε)c at time 1 or 3, or a moving cost of at least c at some time t). However, the optimal static 2-clustering is {1,...,m} and {m+1,...,2m} for times t = 1 and 3, but {1,3,...,2m 1} and {2,4,...,2m} at time t = 2. The resulting dynamic cost of this sequence of optimal static 2-clusterings is thus 8εc plus 2mc for the instability, i.e., 8εc + nc = Ω(n). Proof of Lemma 2. Let a t l and b t l for t = 1.. T be the indices of the candidate extreme points of the clusters in a dynamic k-clustering. Let us show how to determine a minimum cost dynamic k-clustering C = (Cl t) 1 l k,1 t T for which a t l and bt l are the indices of the left and right most points in Ct l for all l and t. The total span of the clusters of any such dynamic k-clustering is exactly t=1 T k l=1 (pt π t p t b t π t ). So the l a t l minimum cost is achieved by the dynamic k-clustering of minimum instability. The minimum instability cost can be computed by dynamic programming. First, note that, once the extremes of the clusters are fixed, the number of cluster changes of each point does not interfere with the number of cluster changes of any other point. Thus we fix attention to one point at a time. At time t, point π t i belongs to one of the clusters l such that a t l i bt l. If point j is covered by the interval of cluster l at time t, then let γ(t, j,l) be the minimum number of cluster changes from instant 1 to t that allows point j to be in cluster l at time t. Else, let γ(t, j,l) be. Then, for each i and l, γ(1,π 1 i,l) is 0 if a1 l i b 1 l and is otherwise ; and, for every t 2, γ(t,π t i,l) = min l {γ(t 1,πt i,l ) + c 1 l l } if a t l i bt l and is otherwise. A simple dynamic program computes γ(t, j,l) for t = 1.. T, for each j and l independently, in O(nk 2 T ) time. The instability cost of the corresponding optimal dynamic k-clustering is then given by n j=1 min 1 l k γ(t, j,l). Proof of Lemma 4. Consider the following dynamic setting with ε < 1/(k + 1)nT. At time t = 0, for i = 1.. k, points 2i 1 and 2i are at positions 2ic εc/2 and 2ic + εc/2 respectively ; points i > 2k are all at position 2(k + 1)c. At time t = 1.. T, points 2i 1 and 2i are at positions a t i εc and bt iεc respectively, for i = 1.. k, and points i > 2k are at positions φ t i εc, where φt is any injection from {2k + 1,...,n} to [n] {a t 1,bt 1,...,at k,bt k }. Now, note that the total cost of the constant dynamic (k + 1)-clustering ({1,2},{3,4},...,{2k 1,2k}, {2k+1,...,n}) t=0.. T is at most kεc+0+t (k+1)(n 1)εc+0 (k+1)nt εc. Any other dynamic (k+1)- clustering either has a cluster of diameter at least (2 ε)c c at time 0 or pays c for at least one cluster change at some t 1, and thus costs at least c > (k + 1)nT εc. It follows that the constant dynamic (k + 1)- clustering ({1,2},{3,4},...,{2k 1,2k},{2k + 1,...,n}) t=0.. T is the only optimal solution and its k first clusters match the interval (k,n)-cover for the time period t = 1.. T. Observe that when n = 2k, the (k+1)-st cluster is always empty and thus a k-clustering is enough. A.1 Non-crossing trajectories Proof of Fact 5. The positions of the points 1 to 5 are, respectively, 0,3c,3c,3c,3c at time t = 1, and 3c,3c,3c,3c,6c at time t = 2. Then, the dynamic 2-clustering ( {1},{2,3,4,5}, {5},{1,2,3,4} ) costs only two cluster changes, for a total of 2c, whereas any other dynamic 2-clustering either spans over a distance at least 3c or involves more than two cluster changes. Note that the second cluster jumps over the first at time t = 2 in the unique optimal solution, and we can keep them alternating by repeating the sequence. We say an interval (k,n)-cover (a l,b l ) l=1.. k is non-overlapping if the intervals [a l,b l ] for l = 1,...,k are pairwise disjoint. 17/131

Cristina G. Fernandes, Marcio T.I. Oshiro, and Nicolas Schabanel Fact 9 (three useful facts) (a) If two clusters A, B [n] of an n-configuration overlap, then diam(a B) diam(a) + diam(b). (b) If two clusters A, B [n] of an n-configuration overlap, and A and B are a non-overlapping partition of A B, then diam(a ) + diam(b ) diam(a) + diam(b). (c) If C, C, C are three k-clusterings of [n], then instability(c,c ) instability(c,c ) + instability(c,c ). Proof. If clusters A and B overlap, their convex hulls [a,a ] and [b,b ] intersect. Let (p 1,..., p n ) be the n-configuration. It follows that diam(a B) = p max(a,b ) p min(a,b) p a p a + p b p b = diam(a) + diam(b). Also, if A and B are a non-overlapping partition of A B, and their convex hulls are [c,c ] and [d,d ], with c < d, then diam(a )+diam(b ) = p c p c + p d p d = p c p min(a,b) + p max(a,b ) p d p max(a,b ) p min(a,b) = diam(a B) diam(a) + diam(b). Now, every point that moves from one cluster in C to another in C in the cluster sequence C,C has to change of cluster from C to C or from C to C in the cluster sequence C,C,C. The result follows. Fact 10 Consider a dynamic setting of n points on the line of time-length 2 having non-crossing trajectories. There is an optimal dynamic k-clustering that is a sequence of non-overlapping interval (n,k)-covers. Proof. Consider an optimal dynamic k-clustering and the corresponding sequence of interval (n, k)-covers (a t l,bt l ) l=1.. k for t = 1,2. If these interval (n,k)-covers are non-overlapping, then there is nothing to prove. Otherwise, we can repeat the following process until there is no more overlapping intervals in the covers. Suppose w.l.o.g. that at time t = 2 there are overlapping intervals [a 2 i,b2 i ] and [a2 j,b2 j ]. If [a1 i,b1 i ] and [a 1 j,b1 j ] overlap as well, we merge these two clusters, setting at i = min{at i,at j } and bt i = max{bt i,bt j } and cluster j empty, for t = 1,2. By Fact 9(a), the resulting span cost does not increase, and also the instability does not increase by this change, so the resulting dynamic k-clustering is also optimal. On the other hand, if intervals [a 1 i,b1 i ] and [a1 j,b1 j ] do not overlap, we may assume w.l.o.g. that a1 i < a 1 j. Now, by Fact 9(b), any non-overlapping partition of the union of clusters i and j at time t = 2 has a total span cost at most as large as the sum of the spans of [a 2 i,b2 i ] and [a2 j,b2 j ]. We proceed as follows to ensure that the instability does not increase. First, note that any point in cluster i (resp. j) at t = 2 that does not belong to cluster i (resp. j) at t = 1 can be placed in cluster j (resp. i) instead at t = 2 for no extra instability cost. We thus partition the union of clusters i and j at time t = 2 as follows : the left part is the set of indices in clusters i and j at time t = 2 less than or equal to b 1 i, and the right part is the set of indices in clusters i and j at time t = 2 larger than b 1 i. Of course these two sets are non-overlapping. Replacing clusters i and j by these two sets does not increase the total span cost or the instability, so the resulting dynamic k-clustering is also optimal. Fact 11 Consider a dynamic setting of n points on the line having non-crossing trajectories. If k = 2, then there is an optimal dynamic k-clustering which consists in a sequence of non-overlapping interval (n, k)- covers. Proof. Consider any solution with two clusters. If the two clusters overlap at all time step, then merging them will reduce the cost since the total span decreases at every time step (by Fact 9) and the merging induces no instability cost. We may now assume that there is a time step t 0 where the convex hulls of the two clusters are disjoint. We then proceed iteratively to untie the clusters. Assume w.l.o.g. that the two clusters C1 t+1 and C2 t+1 are overlapping at some time t + 1 but C1 t and Ct 2 are not at time t. We then create the following dynamic 2-clusters sequence Ĉ : Ĉi t = Ci t for all t t + 1 and set Ĉi t+1 = Ci t, for i {1,2}. The total spans of Ĉ and C are identical at every time t t + 1 and the total span of Ĉ is strictly less than in C at time t + 1. Regarding the instability cost, instability(ĉ) = instability(c) + instability(c t+1,c t+2 ) instability(c t,c t+1 ) instability(c t+1,c t+2 ). But by Fact 9, instability(c t,c t+2 ) instability(c t,c t+1 ) + instability(c t+1,c t+2 ). It follows that instability(ĉ) instability(c). The total cost of Ĉ is thus strictly less than the cost of C. The proof concludes by recurrence and time reversal. 18/131

Dynamic clustering of evolving networks: some results on the line t = 1 t = 2 t = 3 FIGURE 2: An example of 7 points with non-crossing trajectories for which the only two optimal dynamic 4-clusterings are all overlapping (the clusters are square, round, diamonds and pentagons in the picture ; black edges indicate cluster changes). Proof of Fact 7. Consider the following instance for the 4-clustering of n = 7 points with T = 3 : t p 1 p 2 p 3 p 4 p 5 p 6 p 7 1 0 2 2 3 3 2 0 2 3 0 0 2 3 When > 3c, there are exactly two optimal dynamic 4-clustering of this instance, and they costs exactly 3c : [[1],[2,3],[4,5],[6,7];[1],[2,3,6],[4,5],[7];[1,2],[3,4,5],[6],[7]] and [[1],[2,3],[4,5],[6,7];[1],[2,6],[3,4,5],[7];[1,2],[3,4,5],[6],[7]]. Clusters 2 and 3 overlap at time t = 2 in both solutions. Figure 2 illustrates one of the two optimal solutions. We say that a k-clustering C is laminar if 1) for all i j, the open convex hulls C i and C j are either disjoint or one contains the other, and 2) every point belongs to the cluster of smallest diameter whose convex hull covers it. Open question 1 Is there always an optimal k-clustering which is laminar when the trajectories of the n points on the line are non-crossing for arbitrary T? It is the case for all optimal solutions? Proof of Theorem 8. Since every point belongs at every time step to the smallest cluster that covers it in a laminar dynamic k-clustering, a dynamic k-clustering is entirely determined that the positions of the two extremities of the k clusters and their numbering at every time step. There are thus K k!n 2k 2 possible laminar k-clusterings at every time step. Let us number this possible k-clustering from 1 to K and denote by opt[ j,t] the minimal cost of a sequence of laminar clustering from time 1 to t yielding to the j-th k-clustering at time ( t. Clearly opt[ j,1] is ) the total span of the clusters in the k-clustering j. And opt[ j,t + 1] = min 1 l K opt[l,t] + instability( j,l). The optimal value of a laminar dynamic k-clsutering is then min 1 j K opt[ j,t ]. A simple dynamical program computes then an optimal laminar k-clustering in O(K 2 (T 1)) = O(k! 2 n 4k 4 T ) time and O(KT ) = O(k!n 2k 2 T ) space. 19/131

Fast Near-Optimal Algorithm for Delivering Multiple Live Video Channels in CDNs Jiayi Liu and Gwendal Simon Telecom Bretagne (Institut Mines-Telecom), Rennes, France La popularité croissante des applications vidéos et le développement de technologies de diffusion de flux à débits variables ont un impact fort sur la charge imposée à l infrastructure des réseaux de diffusion de contenus (CDN). Dans ce papier, nous abordons le problème de l utilisation optimale du réseau de diffusion dans le modèle discret de diffusion de flux. Nous formulons le problème générique, puis nous proposons un algorithme rapide et quasi-optimal dans le cas où les équipements du réseau de diffusion ont la même capacité de transmission. Keywords: Video streaming, CDN, Approximate Algorithm 1 Introduction Content Delivery Networks (CDNs) should support a sharp increase in live video streaming consumption. In addition, CDNs have to deal with the growing adoption of rate-adaptive streaming techniques such as the recent MPEG Dynamic Adaptive Streaming over HTTP (DASH) standard. In DASH, a server can offer multiple representations of the same video channel. The server thus provides clients the flexibility of choosing the video representation that fits their device capabilities and their network capacity. DASH conveniently addresses the problem of delivering videos to a heterogeneous population of clients, but DASH imposes the whole set of representations (with an aggregated bit-rate over 30 Mbps) to be sent from the CDN sources to the CDN edge-servers. As a consequence, the traffic within CDN infrastructure explodes [Ing12]. A new challenge is thus to cope with under-provisioned CDN infrastructures. The previous theoretical works related to live streaming in CDNs have highlighted the main characteristics of these networks, in particular the 3-tier topology (origin servers, reflectors and edge-servers) [NSS10], and the restriction on the upload capacity of the equipment [ZAB + 12, ASV11]. The goal of these previous works is to reduce the transmission cost of video delivery. However, the development of peering agreements between CDN and network operators has reduced the importance of transmission cost in CDN. In the meantime, the concerns related to the capacity of CDN infrastructure are growing. In this paper, we neglect transmission costs and we focus instead on video delivery in a network where the upload capacity of equipments is limited. This problem is in essence similar as the one that is adressed in a series of works related to the streaming capacity of networks [SLC + 11, ZLW11], which aim to determine the maximum bit-rate that can be delivered to all nodes in a network. Both problems aim at optimizing the utilization of network resources in the context of data streaming. These works however use an idealized model where data streams are infinitely divisible. In comparison, a CDN has to deliver a set of independent non-divisible data streams, which need to be either delivered in whole, or not delivered at all. The goal is to maximize the number of delivered streams in the network, which we refer to as the discretized streaming model. In this paper, we introduce an optimization problem, which is the generic formulation of the discretized streaming capacity problem. The practical goal of this problem is to maximize the number of delivered streams in CDN infrastructure, with regard to some preferences set by the CDN provider and subject to the limited upload capacity of CDN equipments. This problem is NP-complete (due to lack of place, we do not give the proof in this paper). We then present a fast near-optimal algorithm, which applies to a practical case where all intermediate equipments have similar upload capacity. This scenario is motivated by the observation that CDN providers tend to use one customized type of equipments, for example the 20/131

Jiayi Liu and Gwendal Simon Netflix appliance hardware [net12a]. In this paper, we develop the theoretical analysis of this algorithm, the practical evaluation being skipped due to lack of room. 2 System model and problem definition We consider a typical 3-tier CDN topology (e.g. Akamai [NSS10]). There are three types of communication devices : a small number of sources, a medium size network of reflectors, and a large number of edge servers. The topology of a CDN is modeled by a directed graph G = (V,E), where V represents the communication devices, and E represents the communication links. Let V S,V R,V E V be the set of sources, reflectors and edge servers, respectively. They are constrained by their uplink capacity c(v), v V. There are three types of possible connections in E : E SR connects sources to reflectors, E RR allows communication between reflectors, and E RE delivers the various representations of the live stream to the edge servers. The live streams consist of l different channels. The raw video of each channel is transcoded into k representations, where the bit-rate of the i-th representation, 1 i k, is λ i. For simplicity of notation hereafter we denote by [m] the integer interval {1,...,m}. Also, let d i j be the i-th representation of the j-th channel, i [k], j [l]. Each representation d i j, i [k], j [l], is delivered through a set of trees in the network. We denote by T i j the set of delivery trees for d i j. Ultimately a CDN provider would like every edge server to receive all the representations it requires. This however might not be possible due to the capacity constraint of the CDN infrastructure. In such case, the CDN provider leverages statistics to prioritize the delivery [NSS10]. The preferences of edge servers in respect to the available representations is captured in a utility score, such that α i u j is the utility score that edge server u assigns to representation d i j. To evaluate the performance of a delivery scheme, the idea is thus to evaluate a utility score function α u (X u ) for each edge server u V E as follows : α u (X u ) = i [k] j [l] α i u j xu i j where X u is an indicator matrix of size k l such that x i j u has a value of 1 if u receives d i j and 0 otherwise. The Maximum Average Utility Score (MAUS) problem is essentially the maximization of the average utility score function of the edge servers, as summarized below. Problem 2.1 (MAUS). Given the topology and capacity constraints of a CDN, find delivery tree sets, {T i j } i [k], j [l], such that u VE α u (X u ) is maximized. Please note that this problem is a general optimization problem. We proved that this problem is NPcomplete based on a reduction from 3-SAT. Due to the space limitation, we could not provide the proof here (full paper under revision). 3 A fast near-optimal algorithm for practical scenario We focus on a practical scenario where all equipments are homogeneous. This scenario is typical from companies that deploy an infrastructure using customized routers. For example, the CDN providers in charge of delivering worldwide popular events (e.g., Olympic Games) develop the infrastructure according to the specific needs of the event and based on a set of homogenous equipments. This homogeneity results in a similar upload capacity, i.e. c(v) = C, v V S V R (in the case of Netflix, C = 10 Gbps [net12a]). We present now the algorithm that constructs delivery trees in a CDN with uniform equipment capacity C. The algorithm is based on the following two principles : (i) use a single delivery tree for d i j ; (ii) associate every reflector to at most one delivery tree. Then, the general idea is to deliver the representations in a greedy manner according to their potential revenue at the edge servers, i.e. we would like to deliver first the representations with the highest utility score per rate unit (uspru). For every edge server u and every representation d i j, we compute the uspru of receiving d i j at u as uspru(u,d i j ) = α i u j /λ i. The internals of representation d i j, i [k], j [l], delivery are as follows (illustrated in FIGURE 1). First d i j is forwarded from some source node to a single reflector. Then, d i j is disseminated through a tree 21/131

Algorithms for Multiple Video Channels in CDNs source intermediate reflectors border reflectors edge servers structure of reflectors, until they reach the edge servers. We refer to the reflectors which are connected to the edge servers as the border reflectors. Due to the capacity bound of C, every reflector can only forward a representation to C/λ i other reflectors. We denote by δ i this fan-out limitation. Also, let m i j be the number of border reflectors in T i j. Note that in order to serve g i j edge servers with d i j we need m i j = g i j /δ i border reflectors. FIGURE 1: T i j construction : δ i = 3, m i j = 4, g i j = 11, and 2 intermediate nodes. Lemma 3.1. In order to serve g i j edge servers, m i j 1 δ i 1 intermediate reflectors are required in T i j. Démonstration. For simplicity of notation we omit the subscript ( i j ). First we create m border reflectors and connect them to the g edge servers, with at most δ connections at each border reflector. Next, we define U as the set of reflectors in T that currently do not have a parent in T ; in the beginning U holds all the border reflectors. We build T in an iterative bottom-up fashion. At every step we : (a) choose δ nodes from U, denote them as A (if U < δ then A = U) ; (b) create a new reflector v (c) connect v to every reflector u A ; (d) update U by removing the subset A and adding v. This process continues until there is only one reflector in U, which is then connected to an arbitrary source node. It is easy to observe that the total number of intermediate reflectors used in the above construction is m 1 δ 1. Now we only need to decide on the number of edge servers g i j that will receive d i j, for every i [k], j [l]. We do it by iteratively going over the values of uspru in decreasing order. For every uspru(u,d i j ), if there are enough unused reflectors to support the possible increase in reflectors in T i j, they are added to T i j. The required increase in T i j is computed according to Lemma 3.1 for g i j + 1 edge servers. This continues until we reach the x -th uspru such that either all the requested representations are served to all the edge servers, or the representation in the considered uspru cannot be served due to lack of reflectors. Let R(x) be the number of reflectors that have been allocated after the x highest uspru-s have been processed. We have : R(x) = k i=1 l j=1 ( ) gi j (x)/δ i 1 g i j (x)/δ i 1 + δ i 1 where g i j (x) is the number of edge servers with a processed uspru related to representation d i j. Then, x = arg max x kl V E {R(x) V R }. In the following, we provide formal theoretical analysis about the running time and the approximation ratio of our algorithm. For the running time, there are two major parts : (a) creating and sorting uspru ; (b) building delivery trees. The first part takes O(k l V E log(k l V E )) time, whereas the second part is linear in k l V E. Therefore the running time of our algorithm is O(k l V E log(k l V E )). Then, we compare the utility score achieved by our algorithm S, and the best possible one (optimal) S. We denote by λ the bit-rate of the highest representation, that is λ = max i [k] λ i. Theorem 3.2. S ( 1 2λ C kl V R ) S. Démonstration. We start by drawing an upper bound on S. We define Q(x) the total capacity used by the representations that correspond to the first x uspru-s, and α(x) the sum of the utility scores that are fulfilled after the delivery of the first x uspru representations. The maximum available capacity at the reflectors is V R C. Clearly, if there existed x X such that Q(x ) = V R C, then the highest achievable utility would have been at most α(x ) ; this is because we deliver the representations in the decreasing order of uspru. However, x might not exist ; let z be the last uspru entry such that Q(z ) V R C. Let α z be the utility score of the z uspru. We can obtain an upper bound, S α(z ) + ( V R C Q(z ))α z. Now, let us focus on evaluating the score S obtained by our algorithm. Our construction incurs some capacity wastage as a result of using intermediate reflectors. In every delivery tree T i j there are m i j border 22/131

Jiayi Liu and Gwendal Simon reflectors, with at least m i j 1 of them delivering d i j to δ i edge servers each. Let φ i j be the capacity used in T i j to deliver d i j. We have φ i j (m i j 1)δ i λ i (m i j 1)(C λ i ). Now, we have to consider the unused capacities. Let σ i j be the capacity that is not used to deliver d i j to the edge servers in T i j ; this includes the overall capacity of intermediate nodes and the unused capacity by the border reflectors. According to Lemma 3.1 there are m i j + m i j 1 δ i 1 reflectors in T i j. We derive ) ( mi j 1 ( σ i j = = m i j + mi j 1 δ i 1 δ i 1 C +C λ i = C φ i j mi j 1 C/λ i 1 mi j 1 m i j + δ i 1 ) C (m i j 1)(C λ i ) C +C λ i 2(m i j λ i +C). The last inequality is due to the assumption that C λ i, for any i [k]. Let Φ be the total capacity used by the algorithm to deliver the representations to the edge servers ; we have Φ = k l i=1 j=1 φ i j = V R C k l i=1 j=1 σ i j V R C 2( V R max i [k] λ i klc). As the algorithm greedily delivers the uspru entries in decreasing order, the utility score is at least times the best possible one, which is the upper bound of S. We can therefore conclude, S Φ V R C S V R C 2( V R λ klc) S = (1 2λ V R C C kl ) S. V R Φ V R C 4 Conclusions and future work This paper depicts theoretical outcomes, but practical performances are excellent in realistic settings. For example upon the assumption of the highest representation bit-rate to be λ = 7 Mbps, and the capacity of reflectors to be C = 10 Gbps, with k = 10 (representations) and l = 3 (channels), the approximation ratio varies from 0.939 for a CDN with 500 reflectors, to 0.993 for larger CDNs with 5000 reflectors. As future direction for this work, it would be interesting to propose solutions for the general problem. In addition, the overall performance can benefit from non-centralized computation of delivery trees. Finally, it is of great importance to explore the computation of the utility score, which is influenced by a large number of parameters, especially in the context of DASH where the demand from clients may change very quickly. Références [ASV11] Micah Adler, Ramesh K. Sitaraman, and Harish Venkataramani. Algorithms for optimizing the bandwidth cost of content delivery. Computer Networks, 55(18) :4007 4020, 2011. [Ing12] Mathew Ingram. You think the internet is big now? akamai needs to grow 100-fold. Om Malik, Jun 2012. http ://is.gd/3vtzpc. [net12a] Netflix Open Connect Appliance Hardware, 2012. http ://is.gd/1aomd9. [net12b] Netflix Open Connect Peering Guidelines, 2012. http ://goo.gl/zizna. [NSS10] Erik Nygren, Ramesh K. Sitaraman, and Jennifer Sun. The Akamai network : a platform for high-performance internet applications. Op. Sys. Rev., 44(3) :2 19, 2010. [SLC + 11] Sudipta Sengupta, Shao Liu, Minghua Chen, Mung Chiang, Jin Li, and Philip A. Chou. Peerto-peer streaming capacity. IEEE Trans. on Information Theory, 57(8) :5072 5087, 2011. [ZAB + 12] Fen Zhou, Shakeel Ahmad, Eliya Buyukkaya, Gwendal Simon, and Raouf Hamzaoui. Minimizing Server Throughput for Low-Delay Live Streaming in Content Delivery Networks. In ACM NOSSDAV, 2012. [ZLW11] Can Zhao, Xiaojun Lin, and Chuan Wu. The streaming capacity of sparsely-connected P2P systems with distributed control. In INFOCOM, 2011. 23/131

Routage multi-flots économe en énergie dans les réseaux de capteurs et actionneurs N. Gouvy 1,2 and E. Hamouda 3 and N. Mitton 2 and D. Zorbas 2 1 LIFL, Université Lille 1 2 Inria Lille Nord Europe 3 Université de Californie L introduction d actionneurs dans les réseaux de capteurs a entrainé l émergence d un nouveau genre de protocoles de routage. Ceux-ci utilisent la mobilité contrôlée des actionneurs afin d adapter dynamiquement la topologie du réseau au trafic en relocalisant les nœuds sur le chemin de routage pour diminuer le coût des transmissions radio. Or, dans les réseaux de capteurs, il y a souvent plusieurs nœuds pour reporter un même évènement à la station de base. Dès lors, lorsque les différents chemins sont proches, certains nœuds appartiennent à plusieurs d entre eux. Ils vont alors sans cesse être relocalisés sur les différents chemins et mourir prématurément. En réponse à ce problème, nous proposons PAMAL le premier protocole de routage qui relocalise et sait détecter et tirer partie des intersections des chemins de routage de manière complètement locale. Une fois une intersection détectée entre deux chemins, PAMAL va provoquer leur fusion, et ce de plus en plus prêt des sources au cours et du temps. Les résultats de simulations montrent que ce comportement associé à un mécanisme d agrégation permet d améliorer la durée de vie du réseau de 37%. Keywords: routage, mobilité contrôlée, intersections, agrégation, réseaux de capteurs 1 Introduction Les avancées de l électronique et des technologies radio basse-consommation ont rendu possible l émergence des réseaux de capteurs sans fil. Ces réseaux sont constitués d un ensemble de capteurs indépendants alimentés par batterie qui collaborent via le médium radio. Ces réseaux ont des applications d importance (surveillance de feu de forêt, de champs de bataille) qui rendent cruciales un fonctionnement le plus durable possible. Une approche couramment employée pour améliorer la durée de vie d un réseau de capteurs consiste à augmenter la densité en capteurs, ceci afin de diminuer les portés de communications. Mais l augmentation de densité provoque parallèlement une augmentation des interférences. Une approche plus récente consiste à déployer des actionneurs, c est-à-dire de capteurs à mobilité contrôlée, approche qui permet des résultats supérieurs [WSC08]. Il n existe cependant qu une poignée de protocoles de routages tirant parti des actionneurs. Leur principe est similaire : aligner les nœuds sur la droite virtuelle formée par le nœud source S et la destination D. Or, dans un réseau de capteurs, il y a une forte probabilité qu un même événement soit détecté par plusieurs capteurs proches, qui vont alors chacun émettre des données à router vers la destination. De par leur origine géographique proche, on observe dans le réseau plusieurs chemins de routage d autant plus proches qu on se rapproche de la destination. Il y a alors une forte probabilité que certains nœuds du réseau puissent appartenir à plusieurs chemins de routage, et donc être relocalisés alternativement sur chacun d entre eux par les différents routages. Ces relocalisations vont provoquer la mort prématurée de ces nœuds et interrompre le routage. C est pourquoi nous proposons PAMAL (PAth Merging ALgorithm). PAMAL est un protocole de routage géographique pour actionneurs qui optimise la topologie du réseau. Mais PAMAL va aussi détecter et tirer parti de ces intersections des chemins de routage. PAMAL va faire stopper les oscillations des Nœuds d Intersections (NI). Ces NI vont alors avertir leur voisinage immédiat de les considérer comme une destination temporaire. Cela va alors modifier les relocalisations des nœuds situés en amont des NI. PAMAL va dès lors provoquer la fusion deux à deux des différents chemins de routage qui s entrecroisent, et ce de plus en plus loin de la destination. C est cette partie fusionnée, sur laquelle une agrégation des paquets est réalisée, qui Ce travail est partiellement financé par le CPER NPDC/FEDER Campus Intelligence Ambiante et l ANR BinThatThinks 24/131

N. Gouvy and E. Hamouda and N. Mitton and D. Zorbas va permettre d économiser en énergie. L article est organisé comme suit : la section 2 décrit le protocole CoMNet que PAMAL étend. Dans la section 3 nous détaillons la gestion des intersections faite par PAMAL. Les résultats de simulation de PAMAL sont détaillés dans la section 4. Enfin nous concluons dans la section 5. 2 Prérequis PAMAL est une extension du protocole CoMNet [EMSR11]. Ce dernier est un protocole de routage géographique pour réseau de capteurs et actionneurs ayant une approche coûts sur progrès[kns06]. Ainsi, un nœud U ayant un paquet à router jusqu au nœud D choisit comme prochain saut son voisin V -plus proche de D que lui-même- qui minimise le ratio du cout global sur le progrès effectué vers la destination. On entend par coût global la somme des coûts de transmission C s (.) et de relocalisation de V en V noté C m ( VV )). Autrement dit, est élu le voisin V de U qui minimise l équation suivante : v = min C s( UV ) + C m ( VV ) UD V D CoMNet intègre plusieurs schémas de relocalisation des nœuds pour s adapter aux mieux aux différents cas possibles : CoMNet ORouting on the Move qui aligne les nœuds sur la droite virtuelle (SD) CoMNet Move (DSr) aligne les nœuds sur la droite (SD) tout en les espaçant de façon égale. CoMNet Move r selon lequel V est relocalisé à l intersection entre la droite formée par (VD) et le cercle centré en u et de rayon fixé. 3 PAMAL S1 B Dans PAMAL, lorsqu un nœud détecte qu il reçoit des paquets d origines différentes, il devient un IN. C Il va arrêter d osciller entre les différentes relocalisations IN1 issues des différents chemins et commencer à A IN agréger les paquets des deux chemins. Ainsi, dans la K L D Figure 1 le nœud E reçoit des paquets provenant des S2 IN2 chemins S1...D et S2...D. Le nœud C, appartenant Y Z au chemin S1...D, demande à E de se relocaliser en E1. Alors que Z, appartenant à S2...D), lui demande de se relocaliser en E2. E va alors devenir un IN et FIGURE 1: Intersection des chemins S1...D et S2...D en E. arreter d osciller entre E1 et E2 et va se relocaliser Apparition d un IN qui se relocalise et agrège les paquets. en l isobarycentre de E1, E2, E. Les paquets routés sur la partie commune aux deux chemins IN...D sont agrégés. Une fois arrivé en sa nouvelle position, l IN avertit son voisinage de son existence et de sa position. Tous les nœuds qui reçoivent ce message sont alors informés que quand ils doivent router un paquet venant de S1 ou S2 vers D, ils doivent le faire passer par l IN. L IN remplace alors la destination D dans leurs schémas de relocalisation. La Figure 2 propose un agrandissement de la Figure 1. Le nœud E est devenu IN et s est relocalisé. Il en avertit ses voisins. L apparition de l IN va alors provoquer une relocalisation de C sur la droite (B IN) et non plus sur (S1 IN), et une relocalisation de Z sur (Y IN) au lieu de (S2 IN) et faire FIGURE 2: L apparition de l IN modifie les calculs des fusionner les chemins de routage S1...D et S2...D. schémas de relocalisations 25/131

Routage multi-flots économe en énergie L IN remplaçant la destination -localement- il provoque une fusion des chemins de routage en amont de sa position. Cette fusion peut permettre l émergence d un autre IN pour les mêmes sources/destination encore plus en amont. Dans cette hypothèse, l ancien IN, qui recevrait alors des paquets déjà agrégés, avertit son voisinage qu il n est plus un IN et reprend un comportement standard. Routage après routage, la partie fusionnée des chemins de routage s agrandit. Le comportement d un nœud qui reçoit un paquet est détaillé dans l Algorithme 1. Algorithm 1 ondatapacketreceive(p) - Executé par un nœud U 1: originepaquetprecedent {initialisé au démarage à -1} 2: if estunni(u) then 3: if estaggrege(p) then 4: redevientstandard(u); 5: end if 6: else if originepaquetprecedent = 1 then 7: originepaquetprecedent origine(p); 8: else if origin(p)! = previousorigin then 9: demarreaggregation(u); 10: devientin(u); 11: end if 12: transmet(p); 4 Résultats Nous évaluons les performances de PAMAL comparées à CoMNet, le protocole de routage pour actionneurs le plus efficace de notre connaissance. Les simulations, réalisées sur le simulateur WSNET, ont été effectuées sur des topologies de 500x500m avec des nœuds uniformément et aléatoirement répartis. Des densités en capteurs allant de 15 á 30 ont été considérées, ainsi que des paquets de taille 200 ou 400 octets avec une entête de 40 octets. Le facteur d agrégation a été fixé à 1 pour 2. Intersection Frequency (in %) 26 24 22 20 18 16 14 CoMNet, C s (.)=C m (.) CoMNet, C s (.)>>C m (.) CoMNet, C s (.)<<C m (.) Network Lifetime (in Seconds) 20000 18000 16000 14000 12000 10000 8000 CoMNet w/. Aggregation 200B CoMnet w/. Aggregation 400B ComNet 200B ComNet 400B PAMAL 200B PAMAL 400B 12 15 20 25 30 Network average degree 6000 15 20 25 30 Average Network Degree FIGURE 3: Fréquence d intersection de chemins avec deux sources et une destination aléatoires. FIGURE 4: Durée de vie du réseau. La Figure 3 montre que la fréquence d intersection de deux chemins de routage formés par deux sources et une unique destination toutes aléatoirement choisies selon la densité des topologies selon l importance relative des coûts de transmission C s (.) ou de relocalisation C m (.). Les résultats confirment l intérêt de PAMAL avec jusqu à 25% des topologies (aléatoires) présentant des intersections. Dans la Figure 4 on peut observer la durée de vie moyenne du réseau en fonctionde sa densité, de la taille des paquets routés et du protocole employé. On appelle durée de vie moyenne du réseau la moyenne des dates maximales de réception par la destination d un paquet pour chacune des sources. Si on observe un léger gain grâce. http ://wsnet.gforge.inria.fr 26/131

N. Gouvy and E. Hamouda and N. Mitton and D. Zorbas à l utilisation de l agrégation (CoMnet vs CoMNet w/. aggregation), on constate un gain allant jusqu à 37% en utilisant PAMAL au lieu de CoMNet : le mécanisme de fusion de chemins permet une économie d énergie significative qui permet au réseau de fonctionner plus longtemps. Length of merged part (in Hops) 18 16 14 12 10 8 6 4 CoMNet, C s (.)=C m (.) PAMAL, C s (.)=C m (.) CoMNet, C s (.)>>C m (.) PAMAL, C s (.)>>C m (.) CoMNet, C m (.)>>C s (.) PAMAL, C m (.)>>C s (.) Length of merged part (in Hops) 18 16 14 12 10 8 6 4 CoMNet, C s (.)=C m (.) PAMAL, C s (.)=C m (.) CoMNet, C s (.)>>C m (.) PAMAL, C s (.)>>C m (.) CoMNet, C m (.)>>C s (.) PAMAL, C m (.)>>C s (.) 2 2 0 5000 10000 15000 20000 Time (in Second) 0 5000 10000 Time (in Second) FIGURE 5: Longueur de chemin fusionnée, densité 15, taille des paquets routés 200 octets FIGURE 6: Longueur de chemin fusionnée, densité 15, taille des paquets routés 400 octets Cette fusion des chemins au fur et à mesure des routages est confirmée par les Figures 5 et 6. Plus précisément on observe que la longueur du chemin commun augmente plus rapidement avec PAMAL que CoMNet et reste significativement plus longue grâce au principe des IN, et quelque soit la densité, ou la taille des paquets. Quand les nœuds commencent à mourir, cette partie fusionnée tend à se réduire avec CoMNet alors qu elle réaugmente dans PAMAL une fois que la détection d un IN a eu lieu. 5 Conclusions Dans ce papier nous avons introduit PAMAL. PAMAL est un un protocole de routage pour réseau de capteurs et actionneurs qui tire parti de la mobilité contrôlée des actionneurs pour optimiser la topologie du réseau d un point de vue énergétique. Grâce à l intégration d un mécanisme de détection des intersections, il permet de mettre un terme aux oscillations des nœuds appartenant à plusieurs chemins de routage qui visent une même destination. Il provoque ensuite la fusion de ces différents chemins, la longueur fusionnée allant croissant au cours du temps, tout en y réalisant une agrégation de paquets. De plus, PAMAL reste purement local, et donc adapté à de multiples topologies réseaux. Nos résultats montrent que PAMAL améliore significativement la durée de vie du réseau. En effet, la durée de vie moyenne d un réseau de capteurs avec deux sources émettant vers une même destination augmente de 37% grâce à la gestion des intersections. Les résultats confirment une fusion des chemins de routage, la partie fusionnée étant de plus en plus longue au fur et à mesure des routages. C est une amélioration significative par rapport aux protocoles existants. Nos futurs travaux se concentreront sur l augmentation du taux de livraison des protocoles de routage dans les réseaux d actionneurs. Références [CSR04] J. Carle and D. Simplot-Ryl. Energy-efficient area monitoring for sensor networks. Computer, 37(2), 2004. [EMSR11] E. Hamouda Elhafsi, N. Mitton, and D. Simplot-Ryl. Energy efficient mobile routing in actuator and sensor networks with connectivity preservation. In ADHOC-NOW, 2011. [KNS06] J. Kuruvila, A. Nayak, and I. Stojmenovic. Progress and location based localized power aware routing for ad hoc sensor wireless networks. Int. Journal on Distributed Sensor Networks, (IJDSN), 2, 2006. [WSC08] W. Wei, V. Srinivasan, and K-C. Chua. Extending the lifetime of wireless sensor networks through mobile relays. IEEE/ACM Trans. on Networking, 16(5), 2008. 27/131

FixMe : détection répartie de défaillances isolées E. Anceaume 1, E. Le Merrer 2, R. Ludinard 3, B. Sericola 3, G. Straub 2 1 CNRS UMR 6074 IRISA, firstname.name@irisa.fr 2 Technicolor Rennes, firstname.name@technicolor.com 3 INRIA Rennes Bretagne-Atlantique, firstname.name@inria.fr Dans cet article, nous nous intéressons au problème de la détection de défaillances dans les réseaux large-échelle. La résolution de ce problème est une des clés de la réduction des coûts de maintenance des opérateurs télécom ou des opérateurs over-the-top. Dans ce contexte, nous présentons une solution distribuée permettant de détecter et distinguer les défaillances isolées des défaillances de groupe en O(logN) messages, où N est le nombre de noeuds dans le système. Keywords: Système réparti, réseau logique, détection d erreur, large échelle 1 Introduction De nos jours, les équipements connectés sont de plus en plus présents chez l utilisateur. Ces équipements fournissent des services au travers du réseau. L opérateur, en déployant ses solutions souhaite être capable de s assurer du bon fonctionnement de ses applications ou équipements afin d être capable de réagir rapidement en cas de dysfonctionnement. Cette tâche consiste à surveiller de manière continue le comportement de chacun des équipements. Cependant, la taille de la population à surveiller pose une réelle limite et de ce fait des solutions proactives sont proposées pour pallier ce problème. Ainsi, les opérateurs déploient des centres de support permettant aux utilisateurs détectant un dysfonctionnement d appeler et d être pris en charge. Les équipes de support peuvent alors se connecter sur les équipements terminaux et investiguer les causes du dysfonctionnement. Cependant, la notification de dysfonctionnement est laissée à l appréciation de l utilisateur. Il arrive donc que le support soit mobilisé alors qu il n y a pas de problème réel, mobilisant ainsi inutilement des ressources. Par contre, dans le cas d une réelle défaillance, la notification n intervient qu après que l utilisateur en ait pris conscience, augmentant ainsi significativement le temps de prise en charge. Il semble donc intéressant de proposer de nouvelles techniques pour la surveillance afin de réduire les délais de prise en charge des notifications et diminuer les détections inutiles réduisant ainsi le coût induit par les tâches de surveillance et de support. Le nombre potentiellement grand d équipements à surveiller plaide en faveur d une gestion décentralisée au niveau même des équipements ciblés par la tâche de surveillance. Cependant, l opérateur ne maîtrise pas nécessairement l intégralité du réseau d interconnexion et donc de ce fait ne peut pas collecter d informations au niveau de celui-ci. Le déport de la tâche de surveillance au niveau des équipements terminaux a déjà été envisagé et des procédures standards [Bro] existent pour la plupart des équipements déployés mais sont désactivées dans la pratique. En effet, les équipements peuvent alors détecter une défaillance alors que celle-ci est en fait située dans le réseau. Dans ce cas, des milliers d alarmes inutiles sont envoyées à l opérateur. Les équipements n étant pas capables de déterminer si l origine du problème se situe dans l équipement ou dans le réseau, l opérateur désactive cette fonctionnalité afin d éviter l envoi massif d alarmes. Il serait donc intéressant d être capable de distinguer au niveau de l équipement si la défaillance est isolée ou si elle impacte un grand ensemble de nœuds, on parle alors de défaillance globale. Cette distinction permettrait alors aux seuls nœuds concernés par une défaillance locale d envoyer une alarme. Dans cet article, nous proposons une solution visant à faire la distinction entre défaillances isolées et défaillances globales au niveau des équipements terminaux et nous proposons FixMe, 28/131

E. Anceaume, E. Le Merrer, R. Ludinard, B. Sericola, G. Straub y 1 Cell4 Cell5 y 1 Cell4 Cell5 Cell3 s hook 1 2 1 2 Cell3 O Cell3 1 2 Cell2 Seed x 1 O Cell1 1 2 Cell2 Figure 1: FixMe avant (à gauche) et après (à droite) une opération split x 1 une solution de surveillance répartie auto-organisante, dynamique et passant à l échelle. Dans la suite de l article, nous décrivons l architecture de FixMe ainsi que l utilisation qui en est faite pour distinguer les défaillances isolées des défaillances globales. 2 Architecture de FixMe On considère un ensemble de N nœuds connectés au réseau et pouvant communiquer ensemble. Chaque nœud du système possède un identifiant unique obtenu au moyen d une fonction de hachage et a accès à un ensemble de D services au travers du réseau. Pour chacun de ces services, un nœud p est capable de calculer la valeur à l instant t de deux fonctions Q i (p, t) et A i (p, t). La fonction Q i (p, t) représente la qualité d expérience du service i perçue à l instant t par le nœud p. On peut considérer sans perte de généralité que les valeurs prises par Q i (p, t) appartiennent à l intervalle [0, 1]. On définit alors la position d un nœud p à l instant t par Q(p, t) = (Q 1 (p, t),..., Q D (p, t)). D autre part, chaque segment de qualité est séparé en n i intervalles correspondant à des classes de qualités du service i. La fonction A i (p, t) est utilisée pour la détection d anomalies. Celle-ci est alimentée par les valeurs de Q i des instants précédents. Cette fonction dépend du type de service considéré et peut être une fonction de seuil très simple ou une détection plus évoluée du type Holt-Winters ou Cusum. On considère ici que la sortie de ces fonctions est un booléen permettant de caractériser la variation de qualité comme une anomalie. De manière similaire à CAN [RFH + 01], FixMe organise les nœuds du système dans un espace euclidien torique à D dimensions [0, 1] D. Chaque dimension i est découpée en n i intervalles. Ainsi l espace initial est partitionné en zones élémentaires appelées buckets correspondant au produit cartésien de D intervalles élémentaires. Le partitionnement de l espace en buckets est statique et est un paramètre du système. FixMe place les nœuds dans cet espace en fonction de la position Q(p, t) = (Q 1 (p, t),..., Q D (p, t)) de chacun. Ainsi, quand un nœud entre dans le système, il est inséré dans l unique bucket correspondant à sa position. Un bucket contenant plus de S min nœuds est appelé seed. L état d un bucket (seed ou non seed) varie dynamiquement en fonction du nombre de nœuds qu il contient. FixMe partitionne de manière dynamique l espace en cellules dont le bucket est l unité élémentaire. Une cellule est un hyper-rectangle de l espace contenant au plus un seed. Les seeds sont représentés dans la Figure 1 par les carrés noirs et les cellules par les zones de couleurs. Les cellules sont connectées entre elles par les nœuds présents dans les seeds. Ainsi lorsqu un nœud perçoit une variation de sa qualité, il effectue une requête de lookup aux nœuds du seed de sa cellule qui l orientent vers le seed de la cellule la plus proche de sa nouvelle position. En agissant ainsi de proche en proche le nœud arrive alors à atteindre sa nouvelle cellule en O(logN) messages. Le détail des algorithmes et des complexités se trouve dans [ALS + 12]. Lorsqu un nœud se déplace dans FixMe, il peut s insérer dans un bucket contenant déjà S min nœuds. Le bucket devient alors un seed et FixMe sépare la cellule en deux nouvelles cellules en fonction des positions des seeds dans la cellule initiale. Chaque seed prévient les cellules voisines 29/131

FixMe : détection répartie de défaillances isolées Figure 2: CAN (au centre) et FixMe (à droite) avec une distribution non-uniforme des nœuds(à gauche) de cette séparation. Le processus de notification des cellules voisines nécessite l envoi de O(D) messages. La Figure 1 illustre la séparation de deux cellules : S min nœuds sont présents dans la cellule 3 dans un bucket différent du seed. Lorsqu un nouveau nœud entre dans ce bucket, celui-ci devient un seed et la cellule 3 se sépare en deux nouvelles cellules 1 et 3 en fonction des positions des seeds. À l inverse, lorsqu un nœud quitte un seed contenant S min nœuds, ce seed redevient un bucket classique et la cellule qui le contient n a plus de seed. Dans ce cas, les nœuds du bucket déterminent la position du hook de la cellule. Le hook de la cellule est le premier bucket, dans l ordre lexicographique, voisin d un des coins de la cellule n appartenant pas à celle-ci. La cellule contenant le hook prend alors en charge la responsabilité de la cellule dépourvue de seed. Les deux cellules peuvent éventuellement être fusionnées en une seule si leur géométrie le permet. Enfin les cellules voisines sont notifiées de la disparition du seed. Cette notification requiert dans le pire des cas l envoi de 2Dn D 1 log(n/2) messages avec n = max 1 i D n i. Les hooks sont représentés dans la Figure 1 par les triangles noirs. On voit par exemple que la cellule 5 est sous la responsabilité du seed de la cellule 2 mais ces cellules ne sont pas géométriquement unifiables. À l inverse quand la cellule 1 sur la figure de droite disparaît, la cellule 3 prend en charge son espace en unifiant les deux cellules comme on le voit sur la figure de gauche. Traditionnellement, les systèmes qui utilisent des approches de ce type organisent les nœuds en fonction de leurs identifiants issus d une fonction de hachage [RFH + 01]. Celle-ci ayant la propriété de distribuer uniformément les identifiants sur l espace d adressage, le placement qui en résulte est alors également uniforme. Dans le cas présent, nous ne bénéficions pas de cette propriété. En effet, comme les nœuds se placent en fonction de mesures de qualités perçues et que celles-ci n ont aucune raison d être uniformément réparties, il se crée potentiellement des endroits du système qui sont fortement peuplés et d autres dépourvus de nœuds. La Figure 2 illustre ce phénomène : lorsque les nœuds sont placés suivant une répartition non uniforme (à gauche), le comportement de CAN se dégrade (au centre), augmentant ainsi significativement le nombre de zones traversées lors d un lookup, contrairement à FixMe (à droite) qui se stabilise dès que les cellules ne contiennent plus qu un bucket, limitant ainsi la longueur des chemins empruntés par un lookup. Afin de conserver les propriétés de passage à l échelle de FixMe, nous proposons d organiser les nœuds au sein de chaque seed en utilisant un réseau structuré. De nombreuses solutions de la littérature peuvent être employées, mais il faut cependant garder à l esprit que des mouvements massifs de nœuds peuvent se produire dans le cas de défaillances réseau. Il est ainsi indispensable de choisir des structures résistantes au churn et qui n organisent pas les nœuds en fonction de critères géographiques. 3 Défaillances isolées Nous décrivons maintenant l algorithme 1 utilisé par FixMe pour déterminer si une défaillance est isolée ou non. Celui-ci est exécuté périodiquement par chaque nœud et repose sur trois tâches 30/131

E. Anceaume, E. Le Merrer, R. Ludinard, B. Sericola, G. Straub 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Data : T : délai nécessaire pour que chacun des nœuds se soit réplacé dans l overlay τ : seuil pour considérer une défaillance comme isolée Output : p est replacé dans l overlay à l endroit adéquat et a envoyé une alerte en cas de détection de défaillance isolée. begin Task 1 r r+1; oldposition p.bucket ; newposition Q(p,r); newbucket p.lookup(newposition); if newbucket p.bucket then p.leave(); p.join(r,p); end EndTask if i, 1 i D, A i(p, r)=true then Task 2 h H(oldposition, newposition, r 1); p.incrementvalue(h); EndTask Wait Until T; Task 3 n p.cell.seed.get(h); if n τ then send FixMe msg to Management Operator; end EndTask end end Algorithme 1 : p.updateposition(r :round) élémentaires : déplacement, diagnostique et alerte. Soit le nœud p exécutant l algorithme pendant la ronde r ; ce nœud calcule sa nouvelle position Q(p, r). Soient b r, c r, s r représentant respectivement le bucket auquel appartient p à l instant r, la cellule en charge de b r et le seed en charge de c r. Si b r est différent de b r 1 alors p quitte b r 1 et rejoint b r. Si la variation de qualité est suffisamment importante pour être considérée comme une anomalie, alors il existe un service i tel que A i (p, r) = True. Dans ce cas, p cherche à déterminer si cette anomalie est isolée ou non en exécutant la tâche 2. Les nœuds de s r sont organisés en DHT suivant leurs identifiants. Le nœud p calcule une clé aléatoire H(b r 1, b r, r 1) où H est une fonction de hachage. Ensuite p contacte le nœud n de s r en charge de cette clé pour incrémenter la valeur d un compteur initialisé à zéro au début de la ronde (ligne 15 de l algorithme). Après un délai T, nécessaire au replacement de chaque nœud du système, p contacte de nouveau le nœud n pour obtenir la valeur du compteur (ligne 19). Si cette valeur est inférieure à τ, paramètre du système, alors p considère cette défaillance comme isolée et envoie une alerte à l opérateur. Nous montrons dans [ALS + 12] que l algorithme 1 permet de détecter les défaillances isolées de manière répartie avec un coût de O(logN) messages où N est le nombre de nœuds dans le système. Nous envisageons à présent d évaluer la performance et la précision des algorithmes proposés au moyen d une étude probabiliste. Références [ALS + 12] E. Anceaume, R. Ludinard, B. Sericola, E. Le Merrer, and G. Straub. FixMe : A Self-organizing Isolated Anomaly Detection Architecture for Large Scale Distributed Systems. In Proceedings of the 16th International Conference On Principles Of Distributed Systems (OPODIS), page 12, Rome, Italie, December 2012. [Bro] Broadband Forum. TR-069 CPE WAN Management Protocol Issue 1, Amend.4, 2011. [RFH + 01] Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard M. Karp, and Scott Shenker. A scalable content-addressable network. In SIGCOMM, pages 161 172, 2001. 31/131

Routage sécurisé et résilient pour réseaux de capteurs sans fil K. Altisen, S. Devismes, R. Jamet et P. Lafourcade VERIMAG, Centre Équation - 2, avenue de Vignate, 38610 GIÈRES Nous proposons un algorithme résilient et sécurisé pour le routage dans les réseaux de capteurs sans fil. Il garantit la confidentialité des données routées, ainsi que l authenticité et l intégrité des messages les transportant. Ces propriétés ont été prouvées avec CryptoVerif. Nos résultats expérimentaux montrent que la résilience de notre algorithme face à plusieurs scénarios d attaque est meilleure que celle de plusieurs autres protocoles de routage, surtout dans des réseaux peu denses. De plus, notre algorithme s adapte face aux attaquants dont le comportement évolue au cours du temps. Keywords: routage, réseaux de capteurs, sécurité, résilience. 1 Introduction Les réseaux de capteurs sans fil sont des réseaux maillés, formés de nombreux capteurs. Ces capteurs fonctionnent grâce à des batteries. Ils sont limités en mémoire et en capacité de calcul. Enfin, ils communiquent par radio. Le routage est un problème central dans ces réseaux. Nous considérerons ici le routage convergent : il y a un nœud particulier dans le réseau, appelé puits, et toutes les données des autres nœuds, appelés sources, sont destinées à ce puits. Les caractéristiques des réseaux de capteurs sans fil en font des systèmes propices aux attaques. Nous considérons ici un scénario critique où un intrus a compromis plusieurs nœuds. L intrus contrôle entièrement les nœuds compromis ; en particulier, il a à la fois accès aux données internes de ces nœuds (e.g., les clés cryptographiques) et aux messages qu ils ont reçus. L attaquant peut alors perturber le routage à deux niveaux. Il peut s attaquer aux données, e.g., contrefaire des messages afin de faire livrer des informations erronées à l application. Il peut également attaquer le routage même, e.g., il peut perdre des messages ou en créer pour dégrader la qualité de service du réseau. Nous proposons un algorithme de routage convergent, SR3 (Secure Resilient Reputation-based Routing), qui lutte à la fois contre les attaques au niveau des paquets et au niveau routage. SR3 utilise des primitives cryptographiques adaptées aux réseaux de capteurs sans fil [3] cryptographie symétrique, nonces (des valeurs aléatoire fraîches et imprédictibles) et fonctions de hachage pour assurer plusieurs propriétés de sécurité : la confidentialité des données routées et l impossibilité de contrefaire des messages les transportant (cette propriété implique l authenticité et l intégrité de ces messages). Ensuite, SR3 résiste aux attaques au niveau routage en assurant un bon niveau de résilience. Cette notion a été définie comme la capacité d un réseau à continuer de fournir une qualité de service raisonnable lorsque celui-ci subit des attaques [4]. Dans notre cas, la résilience est mesurée en fonction du taux global de livraison des messages et de l équité entre les différents taux des nœuds honnêtes. Nous confrontons expérimentalement SR3 à plusieurs protocoles : des protocoles classiques comme la marche aléatoire uniforme (RW), le routage géographique (GFG) et le routage gradient (GBR) ; ainsi que des protocoles dont l objectif est la résilience. Pour ces derniers, nous considérons les trois solutions (RGBR, PRGBR et PRDGBR) proposées dans [4]. Ces algorithmes sont des variantes du protocole GBR, qui routent les messages suivant un arbre couvrant en largeur enraciné au puits. Ces trois variantes consistent à introduire de l aléa et des duplications dans GBR. Notre étude montre que la résilience de SR3 est meilleure que celle de ces différents protocoles. De plus, contrairement à ces algorithmes, SR3 s adapte face aux attaquants dont le comportement évolue au cours du temps. 2 Présentation de SR3 Nous considérons des réseaux connexes bidirectionnels, où tous les nœuds honnêtes ont régulièrement des données à router vers le puits. Chaque nœud dispose d un identifiant unique, d une clé partagée avec le puits, et peut se servir de cryptographie symétrique, de fonctions de hachage et de nonces. Les nœuds 32/131

K. Altisen, S. Devismes, R. Jamet et P. Lafourcade connaissent également leurs voisins. Le code de notre algorithme, ainsi que les détails de notre modélisation et de nos preuves sont disponibles dans notre rapport technique [1]. Principe. Introduire de l aléa dans un algorithme de routage est intéressant pour sa résilience car cela rend le routage imprévisible par l attaquant. Ainsi, SR3 est conçu comme une marche aléatoire renforcée, se fondant sur un mécanisme de réputation pour calculer la probabilité de choisir un voisin au prochain saut. L idée est d augmenter la probabilité de router un message via un voisin si celui-ci se comporte bien. Pour cela, SR3 s appuie sur des accusés de réception. Notre algorithme assure que pour chaque accusé de réception valide reçu, le message correspondant a bien été livré au puits. De cette manière, le nœud pourra légitimement augmenter sa confiance envers le voisin à qui il a envoyé le message en premier. Après un certain temps, tous les nœuds routeront de préférence leurs messages via leurs voisins de confiance. Ainsi, les messages auront tendance à suivre des routes qui les amènent sûrement au puits. SR3 se fonde sur des nonces. Chaque message routé par SR3 est identifié par un nonce N v, qui est généré par le nœud initiateur v. Le nœud v chiffre ce nonce avec les données à envoyer, à l aide de la clé qu il partage avec le puits, k vs. Le chiffrement C et l identifiant du nœud v sont ensuite routés vers le puits. Une fois le message validé, le puits produit l accusé de réception N v,v. Ce dernier est renvoyé à l émetteur initial v. Ainsi, à la réception de l accusé, v est certain que le puits a reçu le message. Cependant, un attaquant peut modifier à l aveugle le contenu d un paquet reçu. Pour éviter que le puits ne livre des informations erronées à l application, nous ajoutons au message une empreinte H du nonce N v, créée avec une fonction de hachage publique. À la réception d un message, le puits déchiffre C avec la clé de l émetteur prétendu pour obtenir N v, et y applique la fonction de hachage. Le résultat doit être égal à H pour que le message soit considéré valide. De cette manière, si un attaquant altère le chiffrement C ou l identité de l émetteur d un message, le puits détecte ces changements et rejette le message. Mécanisme de réputation. À la réception d un accusé de réception, le nœud v ayant initié le routage du message correspondant m peut conclure que m a été livré. Dans ce cas, v augmente la probabilité associée au voisin à qui m a été envoyé en premier. Pour ce faire, lors du premier envoi de m, v stocke le nonce de m et l identifiant du premier destinataire dans une liste L Queue. À la réception d un accusé de réception, v vérifie s il est le destinataire de l accusé, puis si le nonce est contenu dans L Queue. Dans ce cas, v récupère l identifiant du voisin correspondant, augmente sa réputation et supprime l entrée de L Queue. Si v est le destinataire de l accusé de réception, mais que la liste ne contient pas l entrée correspondante, l accusé est simplement ignoré. À cause des limitations de mémoire, la taille de L Queue est bornée à s Q éléments. Quand un nœud doit router un message mais que la liste est pleine, l élément le plus ancien est effacé. De cette manière les informations les plus récentes sont prioritaires. Nous remarquons également que les messages perdus ou dont l accusé a été perdu finissent par être supprimés de la liste. Enfin, il est possible qu un message de données m retourne au nœud v qui l a généré, à cause d un cycle dans le réseau. Dans ce cas, la validité du message est vérifiée, puis le routage de m est réinitialisé et l ancienne entrée dans L Queue est remplacée par la nouvelle. Évaluation de la réputation. Pour choisir le prochain nœud à qui va être envoyé un message, un nœud effectue un choix aléatoire parmi ses voisins, pondéré par leur réputation. La réputation d un voisin correspond au nombre d occurrences de son identifiant dans la liste L Routing : à chaque réception d un accusé de réception validant la livraison d un message, le nœud initiateur augmente sa confiance envers le voisin choisi comme premier relais en ajoutant son identifiant dans cette liste. Le choix du prochain saut suit la loi de probabilité suivante : pour un nœud v, soit X la variable aléatoire qui représente le voisin de v à qui envoyer le message. Soit δ v le nombre de voisins de v, L Routing x le nombre d occurrences d un nœud x dans L Routing, et L Routing le nombre total d éléments de cette liste. La probabilité de faire suivre un message à x est : Pr(X = x) = L Routing x +δ 1 v L Routing +1. Intuitivement, si un nœud doit router un message, il va choisir une valeur au hasard parmi L Routing ou un joker. Si un identifiant de nœud est tiré, le message lui sera transmis. Dans le cas du joker, un voisin sera choisi uniformément au hasard. Ainsi, plus le nœud fait confiance à un voisin, plus il lui transmettra de messages. Cependant, il y a toujours une probabilité positive de choisir un nœud sans considérer les réputations. Afin d assurer une résilience forte face aux attaquants qui changent de comportement au fil du temps, L Routing est une liste FIFO de taille bornée par s R. Ainsi, les informations stockées seront toujours les plus 33/131

Routage sécurisé et résilient pour réseaux de capteurs sans fil fraîches. De cette manière, si un attaquant se comporte bien dans un premier temps, sa réputation sera bonne. Si ensuite, il décide de perdre des messages, sa réputation baissera graduellement grâce aux accusés de réception des messages passant par d autres chemins. Routage des accusés de réception. Un accusé de réception n est émis que si le message correspondant m a été livré par le puits. Nous pouvons donc supposer que le chemin suivi par m est sûr. Comme nos liens sont bidirectionnels, nous routons l accusé de réception autant que possible suivant le chemin inverse de m. Pour ce faire, chaque message de données laisse une trace de son passage dans tous les nœuds qui le relaient. Cette trace est stockée au niveau de chaque nœud dans la liste L AckRouting : après chaque réception d un message, les nœuds relais stockent l empreinte du nonce du message et l identifiant du voisin qui l a relayé précédemment. Ces informations seront ensuite réutilisées pendant le routage des accusés de réception : quand un nœud v reçoit un accusé de réception, il calcule l empreinte du nonce de cet accusé de réception, et cherche dans L AckRouting si le chemin correspondant est connu. Si c est le cas, l accusé de réception est relayé au nœud associé. Sinon, il est renvoyé à un voisin choisi uniformément au hasard. Si un message de donnée boucle et revisite un nœud, l information la plus pertinente sur sa provenance est la plus ancienne. Par conséquent, lors des ajouts dans L AckRouting, le nœud doit toujours vérifier s il possède déjà une information sur ce message : si c est le cas, l ancienne entrée est conservée. Les accusés de réception peuvent cependant être perdus par des nœuds compromis. Afin d éviter d encombrer la mémoire des nœuds avec les informations de routage pour ces accusés, L AckRouting est de taille maximale s A, et les ajouts dans une liste pleine suppriment les plus anciens éléments. Enfin, un attaquant peut contrefaire un accusé de réception avec un faux destinataire. Ces faux accusés de réception peuvent être relayés indéfiniment. Puisqu un nœud ne peut pas faire confiance à ses voisins, nous ne pouvons pas nous baser sur eux pour savoir si un accusé doit être relayé ou stoppé. Pour contourner ce problème, chaque nœud choisit de ne pas retransmettre un accusé de réception avec une probabilité N 1, où N est une borne supérieure sur le nombre de nœuds. Ainsi, un accusé de réception fera en moyenne N sauts avant d être supprimé. Un avantage de ce mécanisme est qu il favorise les routes courtes. En effet, les accusés de réception suivant des routes longues seront souvent supprimés avant d atteindre leur destination. Or, la longueur de la route suivie par un accusé est corrélée à la longueur de la route suivie par le message correspondant. Ainsi, la réputation des voisins participant à des routes longues sera peu souvent renforcée. Sécurité. Nous avons analysé les propriétés de sécurité de SR3 à l aide de CryptoVerif [2]. À partir de jeux créés en fonction du protocole, des propriétés désirées et des primitives cryptographiques utilisées, CryptoVerif détermine une borne sur la capacité d un attaquant à casser ces propriétés. Cette borne dépend des tailles de paramètres et des propriétés des primitives cryptographiques utilisées. Nous avons prouvé trois propriétés de SR3 : premièrement, le protocole garantit la confidentialité des données routées. Deuxièmement, il est impossible de contrefaire des messages de données (cette propriété implique l authenticité et l intégrité de ces messages). Troisièmement, il est impossible de créer un accusé de réception pour un message qui n a pas encore été livré au puits. 3 Analyse expérimentale Méthodologie et paramètres. Nous avons évalué expérimentalement la résilience de SR3 face à RW, GFG, GBR et ses variantes (RGBR, PRGBR, PRDGBR) dans divers scénarios d attaque. Nous avons utilisé Sinalgo, un simulateur de réseaux de capteurs sans fil. Nous ne présenterons ici que quelques résultats représentatifs, les autres étant disponibles dans le rapport technique [1]. Pour nos simulations, nous considérons des réseaux à disque unitaire connexes et générés en positionnant des nœuds uniformément au hasard sur une surface carrée. Les nœuds compromis sont choisis aléatoirement parmi les capteurs, et le puits est placé au centre de l aire de simulation. Les communications sont asynchrones et FIFO, les temps de transfert suivent une distribution exponentielle, de même que l intervalle entre deux générations de message pour un nœud. Nos simulations durent le temps de traiter 500 000 messages, et nous testons 20 topologies pour chaque expérience. SR3 requiert quatre paramètres : N (une borne supérieure sur le nombre de nœuds du réseau), et les bornes sur les tailles de chaque liste (s R, s Q et s A ). Dans chaque simulation, N est fixé au nombre de nœuds dans le réseau. Nous fixons respectivement s R, s Q et s A à 10, 3 et 5 éléments. Ces valeurs ont été déterminées par une évaluation expérimentale détaillée dans le rapport technique [1], et garantissent de bonnes performances en gardant la consommation mémoire faible. Résultats. La figure 1a présente les taux de livraison de messages observés dans les réseaux de degré moyen 34/131

K. Altisen, S. Devismes, R. Jamet et P. Lafourcade Taux de livraison moyen 1 0.8 0.6 0.4 0.2 GFG GBR RGBR PRGBR PRDGBR RW SR3 Taux de livraison moyen 1 0.8 0.6 0.4 0.2 GFG GBR RGBR PRGBR PRDGBR RW SR3 0 50 100 150 200 250 300 350 400 0 8 12 16 20 24 28 32 Nombre de noeuds Degre moyen du reseau (a) Taux de livraison moyen, 30% BH, δ = 8 (b) Taux de livraison moyen, 30% BH, n = 200 100 90 80 70 60 50 40 30 20 Proportion de noeuds (%) 0 10 20 30 40 50 60 70 80 90 100 100 90 80 70 60 50 40 30 20 100 90 80 70 60 50 40 30 20 100 90 80 70 60 50 40 30 20 100 90 80 70 60 50 40 30 20 100 90 80 70 60 50 40 30 20 100 90 80 70 60 50 40 30 20 Taux de livraison des messages ]x-(2.10 3 )..x] 1 0.8 0.6 0.4 0.2 0 0 50000 100000 150000 200000 250000 300000 350000 400000 450000 500000 Le x ieme message a ete traite GFG GBR RGBR PRGBR PRDGBR RW SR3 10 10 10 10 10 10 10 0 0 0 0 0 0 0 GFG GBR RGBR PRGBR PRDGBR RW SR3 (c) Distribution des taux de livraison, 30% BH, n=200, δ=32 (d) Taux de livraison moyen par paquets de 20 000 messages, 5% WH BH, 5% BH, n = 200, δ = 8 δ = 8, confrontés à 30% de blackholes (BH), i.e., des nœuds compromis qui perdent tous les messages qu ils reçoivent. En faisant varier le nombre de nœuds dans le réseau, on remarque que SR3 donne toujours un taux de livraison supérieur aux autres protocoles de notre panel. L écart se creuse encore dans les grands réseaux. La figure 1b montre les taux de livraison de messages observés dans les réseaux de 200 nœuds, confrontés à 30% de blackholes, en faisant varier δ de 8 à 32. Encore une fois, SR3 offre les meilleures performances. De plus, comme RW et GFG, nous remarquons que SR3 est peu sensible aux variations de δ. Au contraire, les taux observés pour GBR et ses variantes sont faibles dans les réseaux de faible densité. Dans les réseaux très denses, les performances de PRDGBR se rapprochent de SR3. Cependant, PRDGBR duplique les messages à chaque saut, ce qui entraîne un surcoût de communication important. Nous avons ensuite mesuré l équité de SR3, i.e., à quel point les nœuds honnêtes ont des taux de livraison comparables. La figure 1c présente la distribution des taux de livraison des nœuds dans des réseaux de 200 nœuds et de degré moyen 32. GBR n est pas équitable, puisqu on distingue clairement deux classes de nœuds : ceux dont tous les messages sont livrés et ceux dont tous les messages sont perdus. À l inverse, SR3 est équitable, puisque presque tous les nœuds ont un taux de livraison proche de 80%. Nous avons ensuite évalué l adaptativité de SR3. La figure 1d présente le taux de livraison moyen par fenêtre glissante de 20 000 messages dans un réseau de 200 nœuds et de degré moyen 8, face à 5% de blackholes et 5% de wormholes, qui se comportent initialement comme des nœuds directement connectés au puits (générant une excellente réputation), puis comme des blackholes après le premier tiers de la simulation. Notre protocole récupère effectivement un bon taux de livraison rapidement après le changement de comportement, ce qui n est pas le cas pour les autres protocoles. Enfin, nous avons constaté que des attaquants ne bloquant qu une partie des messages (selective forwarding), ou déclarant plusieurs identités (nœuds Sybil) n ont pas spécialement d impact sur notre protocole par rapport aux autres présentés ici. Nous avons également évalué les performances de SR3 dans les réseaux sans attaquants, et nos résultats indiquent des routes de longueur raisonnable : par exemple, dans des réseaux de 400 nœuds et de degré moyen 8, les routes ont une longueur moyenne de 20 sauts. Références [1] K. Altisen, S. Devismes, R. Jamet, and P. Lafourcade. SR3 : A secure and resilient reputation-based routing protocol. Technical report, Verimag, January 2013. http://www-verimag.imag.fr/ rjamet/sr3/. [2] B. Blanchet. A computationally sound mechanized prover for security protocols. IEEE Trans. Dependable Sec. Comput., 5(4) :193 207, 2008. [3] T. Eisenbarth and S. Kumar. A survey of lightweight-cryptography implementations. Design & Test of Computers, IEEE, 24(6) :522 533, 2007. [4] O. Erdene-Ochir, A. Kountouris, M. Minier, and F. Valois. Enhancing resiliency against routing layer attacks in wireless sensor networks : Gradient-based routing in focus. International Journal On Advances in Networks and Services, 4(1, 2) :38 54, 2011. 35/131

Algorithme exact et approché pour le calcul de l hyperbolicité d un graphe Nathann Cohen 1, David Coudert 2 et Aurélien Lancin 2 1 LRI, Université Paris-Sud 11, France 2 COATI, INRIA, I3S, CNRS, Univ. Nice Sophia, France. Nous proposons un nouvel algorithme exact pour calculer l hyperbolicité sur des graphes de grande taille. La complexité temporelle de cet algorithme est fonction de la distribution des plus courts chemins dans les composantes biconnexes du graphe, ainsi que de la valeur de l hyperbolicité. Dans le pire cas, cet algorithme prendra un temps en O ( n 4), mais il est bien plus efficace en pratique. Il nous a en effet permis de calculer la valeur exacte de l hyperbolicité pour l ensemble des cartes Internet CAIDA et DIMES. Nous proposons également un algorithme approché avec un facteur multiplicatif, ou avec une constante additive donné en entrée. Keywords: Hyperbolicité, algorithme, graphe, approximation 1 Introduction De nombreuses propriétés structurelles de grands graphes, en particulier de l Internet, ont été étudiés ces dernières années en vue de mieux comprendre leur structures, de les modéliser et de proposer de nouveaux algorithmes de routages. Dans cet article, nous nous intéressons à la notion d hyperbolicité, introduite par Gromov [Gro87], qui indique la différence entre la mesure des distances dans le graphe et dans un arbre. Par exemple, lorsque la topologie de l Internet est plongée dans un espace hyperbolique, il a été montré qu un algorithme de routage glouton utilisant les coordonnées des sommets et les distances entre sommets dans cet espace métrique a une faible élongation (stretch) par rapport aux plus courts chemins [BPK10, PKBV09]. Cette notion fournit aussi des informations sur la dispersion des plus courts chemins (distance entre les sommets de deux plus courts chemins de s à t). C est donc une notion importante pour la conception d algorithmes de routage. Une définition de l hyperbolicité δ d un graphe, appelée condition des 4 points, est la suivante : Soit G un graphe connexe et d(a,b) la distance entre les sommets a et b de G. Definition 1. Un graphe G = (V,E) est dit δ-hyperbolique si pour tout quadruplet a, b, c, d V, les deux plus grandes des sommes S 1 = d(a,b) + d(c,d), S 2 = d(a,c) + d(b,d), et S 3 = d(a,d) + d(b,c) diffèrent d au plus 2δ. L hyperbolicité de G désigne la valeur du plus petit δ vérifiant cette définition. L arbre et la clique sont 0-hyperbolique, le cycle d ordre n est approximativement (n/4)-hyperbolique, et la grille n m avec n m est n 1-hyperbolique. Ceci indique bien la dispersion des plus courts chemins dans la grille. Dans cet article, nous cherchons à déterminer la valeur exacte de l hyperbolicité du graphe des systèmes autonomes (AS) de l Internet qui avait été estimée avec des heuristiques [dmsv11]. Or, le meilleur algorithme théorique exact a une complexité en O ( n 3.69) [FIV12], ce qui est prohibitif sur les graphes considérés. En effet, ceci représente O(10 16 ) opérations pour la composante biconnexe principale de la carte des AS fourni en juin 2012 par CAIDA (25815 sommets). Dans cet article, nous proposons un nouvel algorithme exact combinant des méthodes de décomposition (section 2) et un ordre de parcours des données permettant de couper l espace de recherche (section 3). Si cet algorithme a une complexité théorique de O(n 4 ), il est très efficace en pratique (section 4) et nous a permis de déterminer l hyperbolicité de toutes les cartes des AS collectées par CAIDA en un temps raisonnable. De plus, cet algorithme peut-être utilisé comme un algorithme d approximation avec un facteur multiplicatif ou une constante additive donnés. 36/131

2 Méthodes de décomposition Nathann Cohen, David Coudert et Aurélien Lancin Rappelons tout d abord que l hyperbolicité d un graphe est la valeur maximale de l hyperbolicité parmi toutes ses composantes biconnexes. En effet, supposons l existence dans un graphe G d un point d articulation x séparant deux composantes biconnexes B 1 et B 2. Si a,b,c B 1 et d B 2 alors S 1 = d(a,b)+d(c,d) = d(a,b) + d(c,x) + d(x,d), S 2 = d(a,c) + d(b,d) = d(a,c) + d(b,x) + d(x,d), et S 3 = d(a,d) + d(b,c) = d(a,x)+d(x,d)+d(b,c). La valeur calculée pour le quadruplet a,b,c,d est la même que pour le quadruplet a,b,c,x. Si au contraire a,b B 1 et c,d B 2, alors la valeur calculée sera nulle. En effet, par l inégalité triangulaire nous avons S 1 = d(a,b) + d(c,d) (d(a,x) + d(b,x)) + (d(c,x) + d(d,x)) = S 2 = S 3. Montrons maintenant comment utiliser des cliques-séparatrices du graphe dans le calcul de l hyperbolicité. Si X V est une clique séparant le graphe G = (V,E), alors le sous graphe G[V \ X] possède au moins deux composantes connexes distinctes A et B. Prenons a 1,a 2 A et b 1,b 2 B, posons S 1 = d(a 1,a 2 ) + d(b 1,b 2 ), S 2 = d(a 1,b 1 ) + d(a 2,b 2 ), et S 3 = d(a 1,b 2 ) + d(a 2,b 1 ), et montrons que la valeur calculée pour ce quadruplet est δ(a 1,a 2,b 1,b 2 ) 1. Si S 1 S 2 S 3, soit x 1 X un sommet d un plus court chemin de a 1 à b 1. Nous avons d(a 1,b 1 ) = d(a 1,x 1 ) + d(x 1,b 1 ). De même, soit x 2 X tel que d(a 2,b 2 ) = d(a 2,x 2 ) + d(x 2,b 2 ). Nous avons d(a 1,a 2 ) d(a 1,x 1 ) + 1 + d(x 2,a 2 ) et d(b 1,b 2 ) d(b 1,x 1 ) + 1 + d(x 2,b 2 ) et donc S 2 = d(a 1,b 1 ) + (a 2,b 2 ) = d(a 1,x 1 ) + d(x 1,b 1 ) + d(a 2,x 2 ) + d(x 2,b 2 ) d(a 1,a 2 ) + d(b 1,b 2 ) 2 = S 1 2. Nous obtenons δ(a 1,a 2,b 1,b 2 ) (S 1 S 2 )/2 1. Si S 1 S 3 S 2, le même raisonnement donne δ(a 1,a 2,b 1,b 2 ) 1. Si S 2 S 3 S 1, nous utilisons d(a 1,x 2 ) d(a 1,x 1 ) + 1 et d(a 2,x 1 ) d(a 2,x 2 ) + 1 pour montrer que S 2 S 3 + 2 et donc que δ(a 1,a 2,b 1,b 2 ) (S 2 S 3 )/2 1. Corollary 2. Soient G = (V,E) un graphe biconnexe, X un clique-séparateur de G, et A i V avec i 2 les parties connexes de G séparées par X. Alors δ(g) max { 1,max i=1,2, k δ(g[a i X]) }. Ceci nous permet d utiliser une décomposition du graphe par des clique-séparatrices, ce qui se calcule en temps linéaire [Tar85]. Plus généralement, on peut montrer que si le séparateur a diamètre k, alors les valeurs calculées sur les quadruplets qu il sépare sont au plus k : c est ce qui a été utilisé dans [CDE + 08] pour montrer qu un graphe de treelength k est k-hyperbolique. Il n est cependant pas possible d étendre immédiatement cette technique à des séparateurs de diamètre 2 puisqu il s agirait de résoudre un problème difficile [HvtHM + 12]. 3 Algorithme pour le calcul de l hyperbolicité L idée de l algorithme est de parcourir les quadruplets en commençant par ceux pouvant fournir la plus grande valeur d hyperbolicité. Plus précisément, nous parcourons les quadruplets de façon à ce que le quadruplet a,b,c,d soit testé avant le quadruplet a,b,c,d si min(d(a,b),d(c,d)) > min(d(a,b ),d(c,d )). Ceci repose sur le lemme 3 qui montre en outre que δ D/2, où D est le diamètre du graphe. Lemma 3. Soient G = (V,E) un graphe connexe, a,b,c,d V, S 1 = d(a,b)+d(c,d), S 2 = d(a,c)+d(b,d), et S 3 = d(a,d) + d(b,c). Si S 1 max{s 2, S 3 }, alors δ(a,b,c,d) min{d(a,b), d(c,d)}/2. Démonstration. S 2 +S 3 = (d(a,c) + d(b,d))+(d(a,d) + d(b,c)) = (d(a,c) + d(b,c))+(d(a,d) + d(b,d)). L inégalité triangulaire permet de déduire S 2 + S 3 2 d(a,b). Comme S 1 max{s 2, S 3 }, nous avons 2 δ(a,b,c,d) = S 1 max{s 2, S 3 } S 1 (S 2 + S 3 )/2 S 1 d(a,b) = d(c,d). De la même manière 2 δ(a,b,c,d) d(a,b). Grace au lemme 3, à chaque étape de l algorithme, d(c,d) est une borne supérieure de la valeur de δ (a,b,c,d). Si la borne inférieure courante est δ, aucun quadruplet tel que d(c,d) δ ne peut être utilisé pour améliorer la borne inférieure. L exploration des quadruplets est ainsi coupée. Comme notre algorithme peut avoir à parcourir les ( n 2) paires de sommets (notamment lorsque G est chordal), sa complexité dans le pire des cas est de O(n 4 ). L exécution de notre algorithme requiert le calcul de la matrice des distances et le tri des paires de sommets par ordre de distances décroissantes (ceci revient à associer à chaque entier l la 37/131

Algorithme exact et approché pour le calcul de l hyperbolicité d un graphe Algorithm 1: Hyperbolicité Require: G = (V,E) est un graphe biconnexe. Ensure: δ, l hyperbolicité de G (avec δ = 2δ ). 1: Soit paires la liste des ( n 2) paires de sommets triée par distances décroissantes 2: δ := 0 3: for 0 i < ( n 2) do 4: (c, d) := paires[i] 5: if d(c,d) δ then 6: break 7: for 0 j < i do 8: (a,b) := paires[ j] 9: δ := max{δ,δ (a,b,c,d)} 10: if d(a,b) δ then 11: break 12: return δ /2 FIGURE 1: Nombre de quadruplets testés pour atteindre des bornes inférieures et supérieures sur l hyperbolicité de cartes CAIDA. Les bornes inférieures évoluent de gauche à droite, et de droite à gauche pour les bornes supérieures. liste des paires de sommets à distance l). Ces opérations ont respectivement une complexité en O(n(n + m)) et O(n 2 ) pour des graphes à n sommets et m arêtes. La complexité théorique de l algorithme peut être paramétrée par la valeur optimale de l hyperbolicité et la distribution des distances. Notons P l le nombre de paires (a,b) telles que d(a,b) = l. L algorithme ne considère que les paires de paires ((a,b),(c,d)) telles que D d(c,d) = l 2 d(a,b) = l 1 2δ. En particulier, pour les grilles n n où l hyperbolicité est donnée par le quadruplet (0, 0),(0, n 1),(n 1, 0),(n 1,n 1), l algorithme termine après avoir testé un seul quadruplet. Proposition 4. Etant donné un graphe δ-hyperbolique de( diamètre D( avec P l paires de sommets à distance l, la complexité des lignes 2-12 de l algorithme est en O D l 1 =2δ P Pl1 1 l 1 2 + D l 2 =l 1 +1 P l 2 )). A chaque étape de l algorithme, d(c,d)/2 est une borne supérieure et δ /2 une borne inférieure. Nous pouvons donc obtenir une approximation du résultat à un facteur multiplicatif ou à une constante additive en stoppant l exécution de l algorithme lorsque l approximation demandée est prouvée. 4 Résultats expérimentaux Notre algorithme est maintenant disponible dans Sage [S + 13] et Grph. Nous avons utilisé l implémentation de Sage pour calculer l hyperbolicité de l ensemble des 190 cartes CAIDA des AS de 2004 à 2012 (Fig. 2). Les temps de calculs vont de quelques secondes pour les cartes d hyperbolicité 3 à 8 jours pour la carte de 2012 d hyperbolicité 2. Nous observons bien une augmentation du temps de calcul avec la taille du graphe et la diminution de la valeur de l hyperbolicité. De plus, une grande partie du temps est passée à prouver l optimalité de la solution (Fig. 1). Les résultats complets avec certificats (quadruplets tels que δ(a, b, c, d) = δ pour chaque carte) sont disponibles dans [CCL12]. Les méthodes de décompositions de la section 2 permettent de réduire significativement la taille des graphes à considérer. Par exemple, la carte CAIDA du 01/06/2012 a 41 203 sommets, sa composante biconnexe principale 25 815, et en éliminant itérativement tous les sommets simpliciaux (dont le voisinage est une clique), nous obtenons un graphe à 19068 sommets sur lequel nous appliquons l algorithme. En dehors de l observation que l hyperbolicité des cartes des AS de l Internet a globalement diminuée au cours du temps de 2.5 à 2, nous avons identifié la présence d un grand nombre de sommets simpliciaux (de l ordre de 16% des sommets), principalement des triangles. Ceci donne des informations supplémentaires pour la modélisation de ces graphes et la conception d algorithmes de routage. La figure 3 montre l hyperbolicité moyenne (sur 100 graphes) et le nombre de quadruplets testés par l algorithme pour des graphes aléatoires du modèle Barabasi-Albert. Ces graphes sont construits par attachement préférentiel, chaque nouveau sommet étant connecté à k sommets existants avec une probabilité. http://www-sop.inria.fr/mascotte/software/grph/ 38/131

Nathann Cohen, David Coudert et Aurélien Lancin FIGURE 2: Evolution de l hyperbolicité pour les cartes des AS de CAIDA depuis 2004. (a) Hyperbolicité moyenne (b) Nombre de quadruplets testés FIGURE 3: Barabasi-Albert. proportionnelle au degré de ces sommets. Les résultats montrent que notre algorithme ne visite qu une petite partie des quadruplets (moins de 0.1%). Les irrégularités dans les courbes s expliquent par l évolution de la distribution des distances corrélée à la valeur de l hyperbolicité. Il nous reste à établir analytiquement le temps d exécution de l algorithme sur ces graphes. Références [BPK10] [CCL12] [CDE + 08] [dmsv11] [FIV12] M. Boguna, F. Papadopoulos, and D. Krioukov. Sustaining the Internet with Hyperbolic Mapping. Nature Communications, 1(62), Oct 2010. N. Cohen, D. Coudert, and A. Lancin. Exact and approximate algorithms for computing the hyperbolicity of large-scale graphs. Rapport de recherche RR-8074, INRIA, September 2012. V. Chepoi, F. F. Dragan, B. Estellon, M. Habib, and Y. Vaxès. Notes on diameters, centers, and approximating trees of delta-hyperbolic geodesic spaces and graphs. Electronic Notes in Discrete Mathematics, 31 :231 234, 2008. F. de Montgolfier, M. Soto, and L. Viennot. Treewidth and hyperbolicity of the internet. In 10th IEEE International Symposium on Network Computing and Applications (IEEE NCA), pages 25 32, Boston, 2011. H. Fournier, A. Ismail, and A. Vigneron. Computing the Gromov hyperbolicity of a discrete metric space. Technical Report arxiv :1210.3323, ArXiv, October 2012. [Gro87] M. Gromov. Hyperbolic groups. Essays in Group Theory, 8 :75 263, 1987. [HvtHM + 12] P. Heggernes, P. van t Hof, D. Marx, N. Misra, and Y. Villanger. On the parameterized complexity of finding separators with non-hereditary properties. In WG, pages 332 343, 2012. [PKBV09] F. Papadopoulos, D. Krioukov, M. Boguna, and A. Vahdat. Greedy forwarding in scale-free networks embedded in hyperbolic metric spaces. SIGMETRICS Performance Evaluation Review, 37(2) :15 17, 2009. [S + 13] W. A. Stein et al. Sage Mathematics Software (Version 5.6). The Sage Development Team, 2013. http://www.sagemath.org. [Tar85] R. E. Tarjan. Decomposition by clique separators. Discrete Mathematics, 55(2) :221 232, 1985. 39/131

Optimisation de la qualité de service par l utilisation de mémoire cache Rémy Léone, Paolo Medagliani, Jérémie Leguay Thales Communications and Security, 4 avenue des Louvresses, Gennevilliers, France Nous nous intéresserons dans cet article à l utilisation de mémoire cache pour améliorer l utilisation des ressources dans un réseau de capteurs. Plusieurs clients souhaitent consulter la même information au sein d un réseau contraint en énergie. Afin d éviter les requêtes redondantes, nous utiliserons un serveur proxy intelligent capable de décider quand transférer la requête au réseau de capteurs ou d y répondre directement avec des informations mémorisée pour une durée de validité donnée. Nous verrons d abord comment l information est mise à la disposition de ce serveur, puis comment les informations venant d autres couches logiques peuvent contribuer à prendre des décisions de communications et de configuration plus intelligentes, par exemple comment mettre en place une stratégie d optimisation qui nous permettra d augmenter la durée de vie du réseau ou la satisfaction utilisateur, exprimée par la fraicheur des informations disponibles. Nous verrons aussi comment maximiser les deux en utilisant des solutions optimales non dominées de Pareto. Keywords: Réseaux de capteurs, mémoire cache, CoAP, économies d énergie 1 Introduction Les réseaux de capteurs sont une des composantes de l Internet des objets. Cependant ils sont soumis le plus souvent à des contraintes énergétiques, des liens de communications instables et des taux d erreurs de transmissions importants. Afin de résoudre ces problèmes, des systèmes d exploitation [DGV04] et des protocoles adaptés tels que X-MAC, 6LowPAN, RPL et CoAP [She12] sont utilisés. Une mémoire cache est également mise en place à l entrée des réseaux de capteurs pour éviter de trop soliciter les noeuds. Nous proposons dans ce travail d étendre le rôle et la gestion de cette mémoire cache pour adapter l utilisation et la configuration des ressources disponibles en fonction de la demande. Cet article présente en particulier une stratégie pour améliorer la qualité de service d un réseau de capteurs en adaptant dynamiquement les paramètres de la mémoire cache en fonction d informations en provenance de différentes couches logiques. 2 Système de cache avancé (concepts et problématiques) CoAP servers CoAP router Border router RPL root CoAP HTTP Cache Pub/sub register FIGURE 1: Représentation de notre architecture Comme présenté dans la Figure 1, le réseau est composé d un ensemble de nœuds connectés entre eux formant un arbre ayant pour racine un routeur de bordure, qui envoie et reçoit les paquets vers l extérieur. Chaque nœud i a m i enfants au sein de l arbre de routage. La passerelle est un serveur capable de recevoir des requêtes et de les traduire dans un format adapté. Ces requêtes seront ensuite envoyées au routeur de bordure du réseau de capteurs suivant une fréquence r i que l on peut mesurer. Nous supposerons par la suite que le rythme des requêtes venant de l extérieur suit une loi de Poisson de paramètre λ i. 40/131

Rémy Léone, Paolo Medagliani, Jérémie Leguay La passerelle implémente un mécanisme de cache lui permettant de garder en mémoire les résultats des requêtes passées pendant une durée de vie c i. Une requête concernant une ressource i venant de l extérieur depuis moins de c i sera traitée par la passerelle sans solliciter le réseau de capteurs. Étant critiques, ces paramètres c i doivent être choisis avec précision. Un c i trop petit rendra la mémoire cache inefficace ; à l inverse une durée de cache trop longue risquera de donner des valeurs non pertinentes pour les applications. Stratégiquement placé entre l offre et la demande, le cache peut contenir d autres informations utiles telles que la topologie du réseau, les services offerts par les noeuds, les applications extérieurs qui les utilisent, les paramètres de la couche MAC, l energie résiduelle des noeuds. Dans les approches classiques, ces informations ne sont pas recoupées afin d agir sur la politique de cache et la configuration du réseau. C est l objectif que nous allons poursuivre car des économies d énergie importantes sont à réaliser quand une vue globale du système est disponible. 3 Performance d un cache simple Dans un premier temps, nous étudions le fonctionnement d un cache simple. Nous pouvons d ores et déjà voir que les intérêts immédiats du cache comprennent une réduction des délais de réponse et une supervision facilitée de notre réseau de capteur vis a vis des notifications et de la topologie. 3.1 Modèle théorique Si la ressource demandée par le client n est pas dans le cache ou que la donnée présente est trop vieille, le serveur va faire une requête sur la ressource en question. Soit T i le temps moyen entre 2 requêtes arrivant sur la passerelle pour une ressource i, comme énoncé dans [LML12], le temps d attente entre 2 requêtes consécutives transmises aux capteurs est de : { c i r i = T i T i T i si T i c i sinon. (1) Le temps entre chaque requête est modélisé par un temps d attente exponentiel de paramètre λ i. Dans la mesure où les requêtes sont aléatoires et uniformément réparties entre les différents nœuds on démontre [LML12] que le temps d arrivée entre deux requêtes est une loi exponentielle de paramètres T = NT i = N λ i. On peut définir MR (cache Miss Ratio) comme la probabilité qu une requête ne puisse pas être satisfaite par les informations disponibles dans le cache. Ainsi, MR corresponds à la probabilité que le temps entre chaque arrivée d une requête soit plus grande que c i : MR = c i e t T T dt = e T. (2) Ainsi on déduit CH (Cache Hit) qui est le complémentaire de MR : CH = 1 e c i T. 3.2 Implémentation et résultats de la simulation CH 0.8 0.6 0.4 0.2 λ i = 2, sim. λ i = 2, theo. λ i = 1, sim. λ i = 1, theo. λ i = 0.5, sim. λ i = 0.5, theo. 0.0 0 2 4 6 8 10 c i [s] FIGURE 2: Cache Hit (CH) en fonction de c i, durée de validité d une information. 41/131 c i Nous considérons que la durée de vie du résearu est le temps qui sépare son démarrage du premier arrêt définitif d au moins un des nœuds, que tous les nœuds démarrent avec la même énergie initiale. Le réseau que nous utilisons est composé de 12 nœuds fixes connectés via un arbre. Des requêtes sont générées et envoyées vers la passerelle qui décide de celles à traiter en utilisant le cache. Les nœuds économisent de l énergie en utilisant ContikiMAC en tant que protocole d accès à la couche de liaison. Ce protocole introduit des cycles de veille pour allumer périodiquement l interface radio. On

Optimisation de la qualité de service par l utilisation de mémoire cache suppose que les transmissions sont effectives et sans erreurs. On suppose que la simulation commence lorsque le réseau est stable. Dans la Figure 2 nous pouvons voir que plus λ i est élevé, plus le cache est intéressant. Il l est d autant plus que les constantes de temps c i sont élevées, car les probabilités d accéder au cache augmentent et ainsi le nombre de requêtes transférées vers le réseau de capteurs diminue. Il est à noter que dans l hypothèse d un rythme de requête élevé, il est particulièrement intéressant de mettre en cache. En raison des collisions de paquets et des situations de trafic élevé, l énergie consommée lors de ces situations est considérable. Ainsi en plus des requêtes qui sont économisées on gagne également sur les couts liés aux collisions de paquets. 4 Adaptation du cache pour optimiser la satisfaction utilisateur Afin d avoir une utilisation plus efficace des ressources, nous allons élaborer une technique utilisant à la fois les volontés des utilisateurs mais aussi les objectifs de l application à rester en fonctionnement pour une certaine durée de vie. L optimisation a deux buts, le premier est de fournir une configuration de durée de cache admissible pour les exigences de satisfaction de l utilisateur. Le second but, réciproque du premier, est d estimer quel peut être la satisfaction de l utilisateur pour une durée de vie du réseau imposée. 4.1 Modélisation de la satisfaction utilisateur Nous introduisons les quantités c imin et c imax représentant les bornes admissibles d une valeur c i. Ces valeurs exogènes au problème dépendent fortement de l application en question. Une valeur haute de c i sera utilisée pour des nœuds ayant peu d énergie. Par contre, une valeur c i petite sera pour des informations devant être aussi fraiches que possible. Pour un intervalle de temps [c imin,c imax ], nous pouvons voir que les meilleures durées de vie possible sont obtenues quand c i = c imax mais cela se fait généralement au détriment de la satisfaction de l utilisateur. Il est nécessaire d introduire également une métrique de satisfaction de l utilisateur. Pour notre modélisation nous allons considérer que plus une information donnée à l utilisateur est fraiche, plus ce dernier est satisfait. Cependant, à rythme de requête égal, une durée de vie dans le cache courte signifie plus de requêtes pour le réseau contraint et donc un coût énergétique plus important. γ i = c i max c i c imax c imin 100 (3) En particulier, une satisfaction de 0% quand c i = c imax et une satisfaction de 100% quand c i = c imin. 4.2 Analyse énergétique et modélisation du réseau Les nœuds utilisent ContikiMAC comme protocole d accès à la couche liaison afin d éviter les collisions de transmissions et contrôler l accès au médium. L utilisation de l interface radio étant le principal consommateur de la batterie dans nos simulations, nous avons d analysé ce protocole afin d estimer la durée de vie du réseau. Il y a 4 états possibles pour un nœud utilisant ContikiMAC : (i) transmission, (ii) réception, (iii) mode sommeil et (iv) écoute du canal avec les consommations énergétiques suivantes : Ω Ti, Ω Ri, Ω Si, et Ω CLi (dimension :[W]), respectivement. Ω toti = Ω Si + Ω CLi + Ω Ti + Ω Ri (4) où : Ω Si est l énergie consommée pendant la période de sommeil du i-ème nœud ; Ω CLi est l énergie demandée pour écouter le canal sur une période fixée ; Ω Ri est l énergie utilisée pour la réception d un paquet ; Ω Ti est l énergie utilisée pour transmettre un paquet. Nous ne pouvons pas agir efficacement sur les termes Ω Si et Ω CLi car ils dépendent fortement du protocole MAC utilisé. C est sur Ω Ti etω Ri que nous allons agir via notre cache. Une modélisation plus précise peut être trouvé dans [LML12]. Il est également nécessaire de prendre en compte la topologie du réseau puisque les messages relayés par un nœud affectent tous les nœuds dont il dépends pour la transition de ses paquets. Le modèle devenant complexe dans le cas général, nous avons donc développé une calcul approché de la consommation énergétique qui intègre la topologie du réseau. 42/131

Rémy Léone, Paolo Medagliani, Jérémie Leguay 4.3 Résultats Afin de trouver un compromis acceptable entre durée de vie du réseau et satisfaction utilisateur, nous utilisons une méthode d optimisation multiobjectif NSGA II (Non-dominated Sorting Genetic Algorithm II) [DPAM02] combinée à une modélisation exposée en détail dans [LML12]. Lifetime [days] 100 80 60 40 Pareto front 20 0 20 40 60 80 100 γ [%] FIGURE 3: Front des optimums de Pareto Comme présenté dans la Figure 3, nous obtenons pour chaque durée de vie admissible la meilleure satisfaction utilisateur γ i possible [LML12]. Nous obtenons ainsi un front de Pareto permettant de choisir parmi les solutions optimales celle qui est adaptée à notre application en fonction des informations provenant des différentes couches logiques. La raison pour laquelle nous obtenons un front de Pareto en forme de droite affine provient de nos hypothèses de départ. En effet, le rythme d arrivée des requêtes est supposé uniforme, et tous les nœuds sont identiques. Dans ces conditions, nous obtenons une loi linéaire sur les défauts de cache et la consommation du réseau qui en dépend. Cependant, dans le cas où la couche MAC pourrait être dynamiquement configurée en fonction des informations disponibles, la relation serait beaucoup plus complexe et la modélisation linéaire impossible. 5 Conclusions et perspectives Cet article a présenté une stratégie pour améliorer la qualité de service d un réseau de capteurs en adaptant dynamiquement les paramètres de la mémoire cache en fonction d informations en provenance de différentes couches logiques du système. En premier lieu, nous avons vu qu un cache standard aidait à économiser significativement de l énergie puisqu il empêche les communications redondantes triviales. Puis nous avons introduit un modèle d optimisation exploitant les différents critères des utilisateurs ainsi que les informations extraites du cache. Ce qui nous a permis de configurer de manière optimale la gestion de la durée de vie des informations au sein du cache. Une ouverture possible de ces travaux serait d étudier les mécanismes de gestion des routes en temps réel au sein du réseau en tenant compte des informations obtenues dans le cache. La passerelle pourrait décider de temporiser certaine requêtes afin de synchroniser les requêtes avec l état des nœuds dans le réseau. En outre, il serait également possible en connaissant la topologie du réseau de connaitre les modifications de topologie à faire afin d obtenir un réseau plus résilient. Une autre ouverture serait d avoir une méthode de calcul exacte pour le calcul d optimisation. Enfin, une exploitation de nos simulations sur une plateforme de plus grande envergure, telle que Senslab, permettrait d obtenir des informations supplémentaires sur la consommation énergétique physique des capteurs. Références [DGV04] A. Dunkels, B. Gronvall, and T. Voigt. Contiki-a lightweight and flexible operating system for tiny networked sensors. pages 455 462, 2004. [DPAM02] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan. A fast and elitist multiobjective genetic algorithm : NSGA-II. IEEE Trans. on Evolutionary Computation, 6(2) :182 197, April 2002. [LML12] [She12] R. Léone, P. Medagliani, and J. Leguay. Optimizing QoS in Wireless Sensors Networks Using a Caching Platform. 2012. Z. Shelby. Constrained Application Protocol (CoAP). Internet-Draft draft-ietf-core-coap-13, Internet Engineering Task Force, March 2012. Work in progress. 43/131

Une approche à base de similarité pour la détection de communautés egocentrées Maximilien Danisch 1, Jean-Loup Guillaume 1 et Bénédicte Le Grand 2 1 LIP6, Université Pierre et Marie Curie, 4 Place Jussieu, 75005 Paris, France 2 CRI, Université Paris 1 Panthéon-Sorbonne, 90 rue de Tolbiac, 75013 Paris, France Nous proposons ici une approche performante pour déplier la structure communautaire egocentrée d un sommet. Nous montrons que, bien que chaque sommet d un réseau appartienne en général à plusieurs communautés, il est souvent possible d identifier une communauté unique si l on considère deux sommets bien choisis. La méthodologie que nous proposons repose sur cette notion de communauté multi-egocentrée ainsi que sur l utilisation d une mesure de similarité dérivée de techniques de dynamique d opinion, la carryover opinion. Cette approche pallie les limites des fonctions de qualité traditionnellement utilisées pour la détection de communautés egocentrées, et consiste à étudier les irrégularités dans la décroissance de cette mesure de similarité. Keywords: détection de communautés, communauté egocentrée, communauté multi-egocentrée, mesure de similarité 1 Introduction De nombreux réseaux réels, tels que des réseaux sociaux ou des réseaux informatiques, peuvent être modélisés par des grands graphes, souvent appelés graphes de terrain. Ces réseaux réels ont été fortement étudiés ces dernières années, du fait de l augmentation du nombre de jeux de données disponibles et du besoin de compréhension de tels systèmes dans de très nombreux contextes. La notion de communauté est centrale dans ce contexte et la recherche d algorithmes efficaces pour identifier automatiquement de telles communautés constitue un défi, comme l atteste l article de synthèse de [FOR10]. Dans des systèmes réels, les communautés se chevauchent naturellement. Par exemple dans un réseau social chaque individu appartient à plusieurs communautés : famille, collègues, groupes d amis, etc. La découverte de tous ces groupes dans de grands graphes est complexe et, outre le problème de l efficacité du calcul, l interprétation d une structure en communautés recouvrantes peut être difficile. Certains travaux ont cependant abordé ce problème, par exemple [PAL05]. Une simplification consiste à se limiter à un partitionnement, dans lequel chaque sommet appartient à une et une seule communauté. Ce problème est également complexe et il n y a pas encore de solution parfaite, mais de nombreuses définitions et algorithmes associés existent. La définition communément acceptée est la modularité [GIR02], qui privilégie les communautés plus denses qu attendues et la méthode de Louvain [BLO08] fait partie des quelques méthodes très efficaces pour optimiser la modularité. Une approche intermédiaire pour conserver le réalisme des communautés recouvrantes tout en simplifiant un peu le problème consiste à se concentrer sur un seul sommet et à tenter d identifier l ensemble des communautés auxquelles il appartient, aussi appelées communautés egocentrées. L approche classique consiste à partir d un groupe de sommets (qui ne contient initialement que le sommet considéré en général), puis à ajouter ou enlever des sommets à ce groupe itérativement pour optimiser une fonction de qualité donnée [CLA05, FRI11, NGO12]. Ce type d approche souffre généralement de deux défauts majeurs : (i) il existe souvent des paramètres d échelle cachés qui on tendance à privilégier une certaine taille ou densité de communauté ; (ii) L optimisation de la fonction de qualité est aussi très complexe du fait de la nature non-convexe de l espace d optimisation.. Ce travail est partiellement soutenu par l Agence Nationale pour la Recherche, projet DynGraph ANR-10-JCJC-0202.. Une communauté est intuitivement définie comme un groupe de sommets fortement connectés entre eux mais peu liés au reste. 44/131

Maximilien Danisch, Jean-Loup Guillaume et Bénédicte Le Grand Dans cet article nous proposons une approche orthogonale basée sur la détection d irrégularité dans la décroissance d une mesure de similarité entre sommets. Nous explicitons les résultats de notre approche en l appliquant à un réseau réel contenant l ensemble des pages de wikipedia (2 millions de pages) et les liens hypertextes entre ces pages (40 millions de liens) [PAL08]. 2 Méthodologie Notre approche nécessite l utilisation d une mesure de similarité pour évaluer la proximité entre deux sommets donnés et nous utilisons pour cela la carryover opinion, introduite dans [DAN12], pour sa rapidité d exécution. Étant donné un sommet u, nous mesurons sa similarité à tous les autres sommets du graphe puis nous trions les similarités obtenues par ordre décroissant. Si l on observe des irrégularités dans la décroissance de la courbe de similarité en fonction du rang cela met en évidence l existence de communautés. Plus précisément, si plusieurs sommets sont également similaires au sommet u alors que le reste des sommets est peu similaire, on observe un plateau sur la courbe suivi d une décroissance brusque, les sommets du plateau forment alors une communauté de u. Cependant, la similarité en fonction du rang décroit le plus souvent de manière régulière en suivant une loi sans échelle, i.e., aucune taille caractéristique ne peut être extraite de la mesure, ce qui signifie que le sommet appartient à plusieurs communautés de différentes tailles, ou n appartient à aucune communauté. Pour remédier à ce problème nous proposons de choisir un autre sommet v, et de chercher une communauté egocentrée à la fois sur u et sur v (la notion de communauté multi-egocentrée a été introduite dans [DAN12]). Pour cela nous calculons pour tous les sommets du graphe le minimum de leur similarité à u et à v, ce minimum représentant combien le sommet considéré est proche de u ET de v, comme illustré sur la figure 1. À nouveau, une irrégularité dans la décroissance des scores indique une communauté. (a) (b) (c) FIGURE 1: (1a) et (1b) : similarité de chaque sommet du graphe au sommet pointé par une flèche, plus un sommet est sombre, plus son score est élevé. (1c) : minimum des scores de (1a) et (1b) qui permet de voir l émergence de la communauté centrale. Le graphe considéré est l union de 4 graphes aléatoires se chevauchant sur 5 sommets avec une probabilité d existence de lien de 0,2. Plus en détail, pour un sommet u donné l algorithme consiste à : 1. Choisir un ensemble de sommets candidats moyennement similaires à u. En effet si un sommet est trop peu similaire (resp. trop similaire) à u, il ne partagera aucune communauté (resp. beaucoup de communautés) avec u. Le but étant que les deux sommets n en partagent qu une. 2. Pour chaque sommet candidat v, chercher une communauté multi-egocentrée sur u et v : Pour chaque sommet du graphe, calculer le minimum de sa similarité à u et à v. Trier les valeurs obtenues par ordre décroissant. Si la pente maximale de la courbe de similarité en fonction du rang est plus grande qu un certain seuil, alors une communauté est détectée, composée des sommets situés avant cette pente. Si u appartient à la communauté détectée, alors la communauté est conservée. 3. Nettoyage et étiquetage des communautés trouvées : 45/131

Structures communautaires egocentrées Plusieurs candidats peuvent donner naissance à des communautés très similaires. Afin d éliminer ce bruit, on peut faire l intersection des communautés très similaires afin de n en garder qu une. À l inverse, si une communauté n est similaire à aucune autre elle est éliminée. On a en effet observé que cela se produit quand la pente maximale détectée est faible et on peut donc assimiler cela à un erreur. La communauté reçoit le label du sommet le mieux classé. 3 Résultats et validation Nous présentons ici les résultats pour un unique sommet du réseau wikipedia, la page Chess Boxing pour laquelle les résultats sont très pertinents, facilement interprétables et validables manuellement. Pour le sommet Chess Boxing, nous avons utilisé l algorithme présenté précédemment sur 3000 sommets candidats choisis aléatoirement entre le centième et le dix-millième les plus similaires à Chess Boxing. Sur les 3000 tentatives, 770 ont abouti à l identification de plateaux suivis de décroissances nettes, fournissant autant de communautés. La figure 2 présente la matrice des similarités de Jaccard (similarité entre deux ensembles) entre ces 770 groupes. Sur ces 770 communautés, la phase de nettoyage élimine directement 6 communautés qui ne sont similaires à aucune autre et sont donc assimilées à des erreur de l algorithme de détection de pente (une vérification manuelle confirme que ces communautés n ont pas de sens). 0 100 200 300 400 500 600 700 0 100 200 300 400 500 600 700 (a) 0 0 10 10 20 20 30 30 40 40 50 50 0 10 20 30 40 50 0 10 20 30 40 50 (b) 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 FIGURE 2: (2a) : matrice des distances de Jaccard des 770 communautés, réordonnée pour que les groupes similaires soient proches. Un groupe de 716 communautés émerge. (2b) : zoom sur la partie supérieure gauche de la matrice permettant de mieux voir les autres groupes de communautés. On y observe 4 autres groupes de communautés et 6 communautés très peu similaires aux autres. On détecte également 5 groupes de communautés très similaires, mais peu similaires aux autres. L intersection des communautés à l intérieur de chaque groupe donne une communauté étiquetée (avec le label du sommet le mieux classé). Les 5 communautés identifiées sont : Enki Bilal (35 sommets), Uuno Turhapuro (26 sommets), Da Mystery of Chessboxin (254 sommets), Gloria (55 sommets) et Queen s Gambit (1619 sommets). Toutes ces communautés sont clairement liées au Chess Boxing tout en étant sur des sujets très différents. De manière surprenante l algorithme ne trouve aucune communauté liée à la boxe. Ceci pourrait être un problème de l algorithme, mais la page wikipedia de Chess Boxing indique que la plupart des pratiquant ont un passé dans les échecs et apprennent la boxe par la suite. Ils peuvent donc être plus importants dans. Le ChessBoxing est un sport mêlant échecs et boxe avec des rounds alternés. 46/131

Maximilien Danisch, Jean-Loup Guillaume et Bénédicte Le Grand le monde des échecs que dans celui de la boxe. Ceci pourrait expliquer que le sommet Chess Boxing est dans la communauté des échecs, mais à la limite de celle de la boxe. 4 Conclusion et perspectives Nous avons proposé un algorithme qui permet d identifier les communautés egocentrées pour un sommet d un graphe. Notre approche est basée sur la recherche d irrégularités dans la décroissance des valeurs d une mesure de similarité. L algorithme est efficace en temps et permet de trouver les communautés d un sommet sur des graphes contenant des millions de sommets. En utilisant la notion de communautés multi-egocentrées, l algorithme identifie dans un premier temps des sommets candidats pouvant permettre à l identification de communautés, puis cherche des communautés centrées sur notre cible et sur ces candidats, et procède enfin à une phase de nettoyage et d étiquetage des communautés. Bien que cet algorithme soit performant en l état, de nombreuses pistes d amélioration sont possibles. Tout d abord, la détection de communautés se base sur la recherche de plateaux et de décroissances fortes. La méthode actuelle peut être améliorée, notamment par la recherche de plusieurs décroissances, ce qui permettrait de trouver plusieurs communautés à des échelles différentes pour un même candidat. De plus, l algorithme utilise pour l instant une notion de communauté bi-centrée or, il est possible que certaines communautés n apparaissent que centrées sur 3 sommets ou plus. Cette généralisation doit être validée sur des exemples de petites tailles car le temps de calcul sera fortement augmenté à moins d améliorer très significativement la méthode de sélection des candidats. Une approche pourrait être de considérer que si un candidat v a fourni de bons résultats alors des sommets qui lui sont très similaires n apporteront pas de nouvelle information. Cette notion de rapidité de l algorithme est centrale car on souhaite généralement suivre l évolution des communautés sur plusieurs instants il est important que les calculs soient aussi efficaces que possible. Enfin, nous avons observé que l algorithme peut avoir des difficultés à identifier de petites communautés si elles sont proches de grosses communautés. Pour cette raison, tenter d appliquer l algorithme à des sommets très populaires tels que Biology ou Europe ne conduit qu à une grosse communauté, alors que l on s attendrait à trouver divers sous-domaines de la biologie ou différents pays européens. Une piste d amélioration pourrait consister à relancer récursivement l algorithme sur des communautés identifiées pour trouver des sous-communautés. Références [BLO08] Vincent D. Blondel, Jean-Loup Guillaume, Renaud Lambiotte and Etienne Lefebvre. Fast unfolding of communities in large networks. J. Stat. Mech. (2008). [CLA05] Aaron Clauset. Finding local community structure in networks. PHYSICAL REVIEW E 72, 026132, 2005. [DAN12] M. Danisch, J.-L. Guillaume and B. Le Grand. Towards multi-ego-centered communities : a node similarity approach. Int. J. of Web Based Communities (2012) [FOR10] Santo Fortunato. Community detection in graphs. Physics Reports 486, 75-174 (2010) [FRI11] Adrien Friggeri, Guillaume Chelius, Eric Fleury. Triangles to Capture Social Cohesion. IEEE (2011). [GIR02] M. Girvan and M. E. J. Newman. Community structure in social and biological networks. PNAS June 11, 2002, Biometrika, vol. 99 no. 12, pp. 7821-7826. [NGO12] Blaise Ngonmang, Maurice Tchuente, and Emmanuel Viennet. Local communities identification in social networks. Parallel Processing Letters, 22(1), March 2012. [PAL05] Palla, G., I. Derenyi, I. Farkas and T. Vicsek. Uncovering the overlapping community structure of complex networks in nature and society. Nature 2005. [PAL08] Gergely Palla, Illes J. Farkas1, Peter Pollner, Imre Derenyi and Tamas Vicsek. Fundamental statistical features and self-similar properties of tagged networks. New J. Phys. 10 123026 (2008) 47/131

Vérification formelle et robots mobiles Laure Millet 1 et Béatrice Bérard 1 et Maria Potop-Butucaru 1 et Yann Thierry-Mieg 1 et Sébastien Tixeuil 1 1 LIP6,UPMC, 4 Place Jussieu, 75005 Paris, France Les tâches susceptibles d être exécutées par des robots mobiles sont de plus en plus nombreuses et en complexité croissante. Jusqu à présent, les réseaux de robots ont été étudiés de manière empirique et la plupart des résultats ont été validés principalement par des simulations ou des preuves partielles. Nous proposons la première méthode automatique de modélisation et de vérification formelle de tels systèmes. L utilisation de méthodes automatiques de vérification permet de s assurer du bon fonctionnement d algorithmes quand la mise en place de preuves est très complexe notamment dans un environnement asynchrone. Keywords: Robots mobiles, Exploration de graphes, Vérification, Model-Checking 1 Introduction De nombreuses applications utilisent des groupes de robots qui s auto-organisent pour résoudre un objectif commun, en l absence d agent de coordination. Bien que ces robots évoluent dans un espace euclidien à deux dimensions, il est plus facile de représenter une version discrétisée de cet espace. La représentation consiste alors en un graphe où l espace est partitionné, chaque noeud du graphe représentant un emplacement, et chaque arc représentant la possibilité pour un robot de se déplacer d un noeud vers un autre. Nous considérons un système distribué de k robots dont les capacités sont restreintes : ces robots sont anonymes et identiques, ils ne peuvent être distingués les uns des autres et exécutent le même protocole. Ils ne mémorisent pas les actions précédemment exécutées, n ont aucun sens de l orientation et ne peuvent communiquer entre eux. Cependant, ils ont la capacité d observer leur environnement et de voir l agencement des autres robots. Ils fonctionnent selon un cycle composé de trois phases : Look, Compute et Move. Pendant la première phase, les robots examinent le monde qui les entoure. Les informations ainsi collectées leur permettent de calculer, lors de la phase Compute, un futur mouvement qui sera rendu effectif dans la dernière phase. Ce modèle synchrone, appelé SYm (ou ATOM), a été introduit par Suzuki & Yamashita puis amélioré par Prencipe & al. en un modèle asynchrone, appelé CORDA, afin de prendre en compte le comportement asynchrone des systèmes distribués. Parmis les nombreuses tâches qui ont été étudiées dans le cadre d un environnement discret, nous nous intéressons à l exploration perpétuelle d un environnement inconnu : chaque noeud du graphe doit être visité infiniment souvent. Plus spécifiquement, nous étudions ici l exploration d un anneau. De nombreux travaux traitent de l exploration d un anneau [FPS12]. Cependant, les preuves des résultats présentés ne sont pas automatiques, ce qui peut être source d erreurs, en particulier dans le cadre asynchrone. Nous examinons ici l article de Blin & al. [BMPT10], où les auteurs démontrent que trois robots déterministes sont nécessaires et suffisants pour explorer un anneau de taille n 10, et que le nombre maximal de robots pour explorer un anneau est k = n 5 si k et n sont premiers entre eux. Les auteurs fournissent des algorithmes pour explorer un anneau avec des nombres minimaux et maximaux de robots. Afin de vérifier automatiquement le bon fonctionnement d algorithmes répartis, nous proposons la première méthode formelle de modélisation et de vérification de tels protocoles, en utilisant les algorithmes de [BMPT10] comme étude de cas. La modélisation appropriée du système et la formalisation du problème permettent l utilisation du model-checking comme technique automatique de vérification. Cette technique a permis de mettre en évidence la correction de ces algorithmes dans un environnement synchrone et a révélé un contre-exemple dans un environnement asynchrone. Ceci a permis d effectuer une correction éclairée. 48/131

Laure Millet et Béatrice Bérard et Maria Potop-Butucaru et Yann Thierry-Mieg et Sébastien Tixeuil 2 Modélisation du système Le système est modélisé par un ensemble fini d automates, représentant le fonctionnement des robots dans les modèles d exécution SYm et CORDA. Les composants du système sont les robots et les degrés d asynchronie de l environnement (les modèles d exécution), ce dernier étant représenté par un ordonnanceur. Modélisation des robots. On rappelle que les robots sont identiques et exécutent le même algorithme déterministe. Un même automate, représenté dans la Figure 1, peut donc décrire le comportement de chacun des robots. Le robot commence par observer son environnement (transition Look), puis il calcule son futur emplacement (transition Compute), et il finit par effectuer le mouvement pré-calculé (transition Move). En pratique, l état Ready to move est divisé en autant d états que de mouvements possibles, selon le protocole par lequel le robot calcule sa future position. Ready to look Look Ready to compute Compute Ready to move Move FIGURE 1: L automate modélisant le comportement d un robot Dans ce modèle les contraintes de temps sont abstraites (temps de calcul, vitesse d un robot). On suppose que les actions sont instantanées et que chaque cycle se termine en un temps fini. On s intéresse tout particulièrement aux phases Look et Move, le calcul d une future position pouvant être comprise comme une réinterprétation de la vue prise par un robot. La transition Compute a donc été combinée à son prédecesseur pour obtenir une transition LC. Modélisation de l ordonnanceur. L ordonnanceur choisit l ordre avec lequel les robots vont exécuter leurs actions afin de respecter les modèles d exécution SYm ou CORDA. Il est également modélisé par un automate fini. Contrairement aux robots qui ont toujours le même comportement, l automate de l ordonnanceur varie en fonction du modèle d exécution choisi et du nombre de robots, comme le montre la Figure 2. Notons Rob l ensemble des robots du système. La phase LC (resp. Move) du ième robot est représentée par l action LC i (resp. Move i ). Pour un sous-ensemble Sched Rob, on définit : LC i (respectivement Move i ) la synchronisation des actions LC i (resp. Move i ). i Sched i Sched Le modèle d exécution SYm a deux variantes, SYm synchrone (tous les robots sont synchronisés à chaque phase) et SYm semi- synchrone (un sous-ensemble de robots est synchronisé à chaque phase). L automate correspondant à l ordonnanceur pour le modèle semi-synchrone est décrit dans la Figure 2a, il contient un cycle pendant lequel un sous-ensemble Sched des robots Rob est choisi afin d être synchronisé sur les phases suivantes. L état Sched chosen est divisé en 2 k états, afin de représenter tous les sous ensembles Sched Rob. Pour représenter la variante totalement synchrone, le sous-ensemble choisi est toujours Sched = Rob. Avec cette variante tous les cycles sont identiques. Move Done Choose Sched Sched chosen LC i i Sched LC Done Act Done Choose Sched Sched chosen Move i i Sched (a) SYm Semi-synchrone Act i i Sched (b) CORDA FIGURE 2: Les automates des ordonnanceurs 49/131

Vérification formelle et robots mobiles Dans le modèle d exécution CORDA, totalement asynchrone, il n y a pas de règle d ordonnancement, ce qui peut produire des exécutions où un robot change de position selon une observation qui n est plus à jour. L ordonnanceur correspondant est décrit par l automate de la Figure 2b. À chaque cycle, un sous ensemble Sched Rob est ordonnancé, puis chaque robot de ce sous-ensemble exécute la prochaine action selon son état local (Act i peut être LC i ou Move i ). Modélisation du système. Le système est obtenu par un produit synchronisé entre les différents automates, auquel on ajoute les configurations des robots sur le graphe. Dans un graphe de n noeuds il y a ( n) k configurations possibles, le nombre d états du système résultant est donc multiplié par le nombre de configurations. De plus, le nombre de transitions partant d un état dépend du nombre de mouvements réalisables sur la configuration de cet état. On s aperçoit rapidement que, même en choisissant un fort niveau d abstraction, grâce auquel seules les spécificités comportementales des robots qui permettent de vérifier le protocole sont exprimées, l automate du système est sujet à une forte explosion combinatoire. 3 Vérification et étude de cas L intérêt de notre démarche est illustré par la vérification du Min-Algorithm présenté dans [BMPT10]. Pour cette étude de cas, il faut extraire de la spécification du problème, puis formaliser, les propriétés qui doivent être satisfaites. Nous avons choisi la logique LTL pour cette formalisation. Spécification du problème. Le problème traité dans [BMPT10] est L exploration perpétuelle exclusive défini comme suit : pour tout graphe G de taille n et une configuration initiale où plusieurs robots n occupent pas le même noeud, un protocole permet d effectuer une exploration perpétuelle exclusive s il satisfait les deux propriétés suivantes : (i) exclusion, plusieurs robots ne visiteront pas le même noeud et ne traverseront pas le même arc au même moment et (ii) vivacité, tous les noeuds du graphe seront visités infiniment souvent. Dans les modèles d exécution partiellement asynchrones, il est possible que l ordonnanceur choisisse de ne jamais sélectionner un ou plusieurs voire tous les robots. Afin de palier ces cas où aucune progression n est possible pour l algorithme, une propriété d équité doit être ajoutée. Cette propriété demande que tous les robots soit ordonnancés infiniment souvent. La propriété de vivacité ne peut être satisfaite que sur les exécutions satisfaisant la propriété d équité. Min-Algorithm. Les auteurs de cet algorithme garantissent qu il permet à trois robots d effectuer une exploration perpétuelle exclusive sur tout anneau de taille au moins 10, lorsque le nombre de robots et la taille de l anneau sont premiers entre eux. L algorithme repose sur une classification des configurations et une reconnaissance des classes de configurations. Il est présenté dans les tableaux 1 and 2, repris de l article original. Une configuration est définie par une liste non orientée de symboles R et F indexés par des entiers : R i représente i noeuds consécutifs occupés, et F j représente j noeuds consécutifs libres. Legitimate Phase : z {0,1,2,3,4} RL1 : : (R 2,F 2,R 1,F z ) (R 1,F 1,R 1,F 2,R 1,F z 1 ) RL2 : : (R 1,F 1,R 1,F 2,R 1,F z ) (R 2,F 3,R 1,F z ) RL3 : : (R 2,F 3,R 1,F z ) (R 2,F 2,R 1,F z+1 ) TABLE 1: Rules of Min-Algorithm legitimate phase Vérification. L implantation de l algorithme s est effectuée avec le langage DiVinE, en ajoutant des gardes sur les transitions, afin de restreindre les mouvements des robots. Pour chaque configuration observée, l algorithme autorise certains robots à se déplacer selon des règles préétablies (l ajout de gardes permettant de reconnaitre ces configurations). Pour vérifier le bon fonctionnement de l algorithme, nous avons utilisé le model-checker associé à Di- VinE [BBvR10], avec une taille d anneau égale à 10, qui est la plus petite taille d anneau pour lequel cet 50/131

Laure Millet et Béatrice Bérard et Maria Potop-Butucaru et Yann Thierry-Mieg et Sébastien Tixeuil Convergence Phase : Execution starting from special configurations. RC1 : : (R 2,F y,r 1,F z ) (R 2,F min(y,z),r 1,F max(y,z)+1 ) with y z {1,2,3} RC2 : : (R 1,F x,r 1,F y,r 1,F y ) (R 1,F x,r 1,F y 1,R 1,F y+1 ) with x y 0 RC3 : : (R 1,F x,r 1,F y,r 1,F z ) (R 1,F x 1,R 1,F y+1,r 1,F z ) with x < y < z RC4 : : (R 3,F z ) (R 2,F 1,R 1,F z 1 ) when 1 robot executes (R 1,F 1,R 1,F 1,R 1,F z 2 ) when 2 robots execute RC5 : : (R 2,F 1,R 1,F z ) (R 2,F 2,R 1,F z 1 ) TABLE 2: Rules of Min-Algorithm convergence phase RC4 RC2 RL1 RL2 RL2 RC4 RC1 RC4 FIGURE 3: Contre-exemple algorithme doit fonctionner. Alors que l algorithme est correct lorsque les robots sont synchrones, DiVinE a produit un contre-exemple pour CORDA, parmi les 13.10 6 combinaisons de mouvements possibles. Ce contre exemple est une exécution aboutissant à une collision, comme le montre la Figure 3. Dans cette figure, chaque anneau représente une configuration. Un changement de configuration apparait lorsqu un robot se déplace. Pour chaque configuration, une flèche pleine représente un calcul, une flèche en pointillé représente un calcul basé sur une vue obsolète. Grâce à ce contre-exemple l algorithme a pu être corrigé en modifiant la règle RC5 par : 4 Conclusion RC5 :: (R 2,F 1,R 1,F z ) (R 1,F 1,R 1,F 1,R 1,F z 1 ) Nous avons proposé la première méthode de modélisation et de vérification formelle pour des réseaux de robots synchrones et asynchrones dans un espace discretisé. Nous avons mis en pratique cette technique en vérifiant les algorithmes proposés dans [BMPT10]. Nous avons prouvé que le Min-algorithm ne fonctionnait qu avec des robots synchrones, alors qu il était prouvé correct dans un modèle synchrone. Notre technique a permis de corriger cet algorithme pour qu il fonctionne aussi dans le cadre asynchrone. À l avenir, nous souhaiterions vérifier d autres algorithmes (déterministes ou probabilistes), sur différents graphes, et pour différentes tâches. De plus, plutôt que de vérifier des stratégies existantes, il serait intéressant de considérer aussi un problème de synthèse, en cherchant à produire automatiquement une stratégie certifiée correcte. Références [BBvR10] J. Barnat, L. Brim, M. Češka, and P. Ročkai. DiVinE : Parallel Distributed Model Checker (Tool paper). In Parallel and Distributed Methods in Verification and High Performance Computational Systems Biology (HiBi/PDMC 2010), pages 4 7. IEEE, 2010. [BMPT10] L. Blin, A. Milani, M. Potop-Butucaru, and S. Tixeuil. Exclusive perpetual ring exploration without chirality. Distributed Computing, pages 312 327, 2010. [FPS12] Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro. Distributed Computing by Oblivious Mobile Robots. Synthesis Lectures on Distributed Computing Theory. Morgan & Claypool Publishers, 2012. 51/131

Spéculation et auto-stabilisation Swan Dubois et Rachid Guerraoui École Polytechnique Fédérale de Lausanne (Suisse), {swan.dubois,rachid.guerraoui}@epfl.ch L auto-stabilisation garantit qu à la fin d une faute transitoire, un système réparti retrouve de lui-même un comportement correct en un temps fini. La spéculation consiste à garantir que le système soit correct pour toute exécution mais possède des performances significativement meilleures pour un sous-ensemble d exécutions qui sont supposées plus probables. Un protocole spéculatif est donc à la fois robuste et efficace en pratique. Nous introduisons ici la notion de spéculation en auto-stabilisation en présentant un protocole spéculativement stabilisant d exclusion mutuelle. Ce dernier stabilise pour toute exécution et son temps de stabilisation est optimal pour les exécutions synchrones. Keywords: Spéculation, Tolérance aux fautes, Auto-stabilisation, Exclusion mutuelle. 1 Motivations L approche spéculative [5] repose sur l existence d un compromis permanent entre la robustesse et l efficacité des protocoles répartis. En effet, il est demandé aux applications réparties de tolérer à la fois un grand nombre de conditions difficiles (répartition des données, asynchronisme, fautes...) ainsi que de fournir les meilleures performances possibles (principalement en temps). Cependant, garantir la robustesse du protocole repose sur des mécanismes comme la synchronisation ou la réplication qui induisent généralement de mauvaises performances. L approche spéculative suppose alors que, même si des exécutions présentant de mauvaises conditions sont toujours possibles, certaines exécutions favorables (par exemple synchrones et sans fautes) sont plus probables. L idée est alors de garantir que le protocole restera correct quelles que soient les conditions de l exécution mais sera optimisé pour un sous-ensemble d exécutions qui sont les plus probables en pratique. L objectif de cet article est d exploiter cette approche en auto-stabilisation. L auto-stabilisation [2] est une technique de tolérance aux fautes transitoires (i.e. de durée finie). Un système auto-stabilisant garantit qu à la fin d une faute transitoire (qui peut corrompre de manière arbitraire l état du système), il retrouvera un comportement correct en un temps fini et sans aide extérieure. Dans cet article, nous définissons une nouvelle variante de l auto-stabilisation dans laquelle la mesure principale de performance, le temps de stabilisation, est vue comme une fonction de l adversaire et non comme une valeur unique. Nous associons à chaque adversaire (connu également sous le nom d ordonnanceur ou démon) le pire temps de stabilisation du protocole sur l ensemble des exécutions décrites par cet adversaire. Nous pouvons alors définir un protocole spéculativement stabilisant comme un protocole auto-stabilisant sous un adversaire donné mais qui présente un temps de stabilisation significativement meilleur sous un autre adversaire (plus faible). De cette manière, nous nous assurons que le protocole stabilise sur un large ensemble d exécutions mais est efficace sur un ensemble d exécutions plus restreint (mais plus probables). Bien que cette notion de spéculation soit nouvelle dans le domaine de l auto-stabilisation, certains protocoles existants vérifient notre définition, en quelque sorte par accident. Par exemple, la complexité du protocole d exclusion mutuelle de Dijkstra [2] tombe en n étapes sous le démon synchrone (où n est le nombre de processeurs). Cependant, ce résultat n est pas optimal. La contribution principale de cet article est un nouveau protocole d exclusion mutuelle spéculativement stabilisant. Nous prouvons que son temps de stabilisation pour les exécutions synchrones est de diam(g)/2 étapes (où diam(g) est le diamètre du système), ce qui améliore significativement la borne du protocole de Dijkstra. En fait, nous prouvons que cela est optimal car nous présentons un résultat de borne inférieure sur le temps de stabilisation de l exclusion mutuelle pour les exécutions synchrones. Ce résultat est intéressant en lui-même étant donné qu il est indépendant de la spéculation. Pour finir, notre protocole ne requiert aucune hypothèse sur la topologie du système contrairement à celui de Dijkstra. 52/131

2 Modèle et définitions Swan Dubois et Rachid Guerraoui Nous considérons un système réparti, i.e. un graphe non orienté connexe g où les sommets représentent les processeurs et les arêtes représentent les liens de communication. Deux processeurs u et v sont voisins si l arête (u,v) existe dans G. L ensemble des voisins de v est noté vois(v). Le nombre de processeurs et le diamètre du système sont respectivement notés n et diam(g). Chaque processeur v possède une identité unique id v ID. Sans perte de généralité, nous supposons que ID = {0,...,n 1}. Les variables d un processeur définissent son état. L ensemble des états des processeurs du système à un instant donné forme la configuration du système. L ensemble des configurations du système est noté Γ. Nous prenons comme modèle de calcul le modèle à états. Les variables des processeurs sont partagées : chaque processeur a un accès direct en lecture aux variables de ses voisins. En une étape atomique, chaque processeur peut lire son état et ceux de ses voisins et modifier son propre état. Un protocole est constitué d un ensemble de règles de la forme < garde > < action >. La garde est un prédicat sur l état du processeur et de ses voisins tandis que l action est une séquence d instructions modifiant l état du processeur. À chaque étape, chaque processeur évalue ses gardes. Il est dit activable si l une d elles est vraie. Il est alors autorisé à exécuter son action correspondante (en cas d exécution simultanée, tous les processeurs activés prennent en compte l état du système du début de l étape). Les exécutions du système (séquences d étapes) sont gérées par un ordonnanceur (ou démon) : à chaque étape, il sélectionne au moins un processeur activable pour que celui-ci exécute sa règle. Cet ordonnanceur permet de modéliser l asynchronisme du système. Il existe de nombreuses variantes de démons (cf. [4]). Dans cet article, nous utiliserons le démon synchrone (à chaque étape, l ensemble des processeurs activables sont sélectionnés par le démon), noté ds, et le démon inéquitable distribué (aucune contrainte n est donnée au démon), noté did. Nous définissons l ordre partiel suivant sur l ensemble des démons : d d si l ensemble des exécutions autorisées par d est inclus dans celui des exécutions autorisées par d. Le démon d est alors dit plus faible que d. Définition 1 (Auto-stabilisation [2]) Un protocole réparti π est auto-stabilisant pour la spécification spec sous un démon d si, partant de toute configuration de Γ, toute exécution de π sous d contient une configuration à partir de laquelle toute exécution de π sous d vérifie spec. Nous notons temps stab(π,d) le temps de stabilisation de π sous d. Nous pouvons à présent introduire la définition principale de cet article qui formalise la notion de spéculation en auto-stabilisation. Définition 2 (Stabilisation spéculative) Pour deux démons d et d vérifiant d d, un protocole réparti π est (d,d, f )-spéculativement stabilisant pour la spécification spec si : (i) π est auto-stabilisant pour spec sous d et (ii) f est une fonction telle que : temps stab(π,d)/temps stab(π,d ) Ω( f ). 3 Exclusion mutuelle L exclusion mutuelle est un problème fondamental qui consiste à assurer que tout processeur peut exécuter infiniment souvent une section particulière de son code, appelée section critique, avec la garantie qu il n y ait jamais deux processeurs qui exécutent simultanément leur section critique. Notre contribution sur ce problème est de présenter un nouveau protocole auto-stabilisant sous le démon inéquitable distribué qui présente un temps de stabilisation optimal sous le démon synchrone. Nous adoptons la spécification suivante de l exclusion mutuelle. Pour chaque processeur v, nous définissons un prédicat privilege v. Un processeur v est privilégié dans une configuration γ si et seulement si privilege v = vrai dans γ. Si un processeur v est privilégié dans une configuration γ et que v est activé durant l étape (γ,γ ), alors v exécute sa section critique durant cette étape. Spécification 1 (Exclusion mutuelle spec EM ) Une exécution e vérifie spec EM si au plus un processeur est privilégié dans toute configuration de e (sûreté) et si tout processeur exécute infiniment souvent sa section critique dans e (vivacité). Notre protocole est basé sur un protocole d unisson auto-stabilisant [1]. Ce problème consiste à assurer, sous le démon inéquitable distribué, des garanties sur les horloges logiques des processeurs. Chaque processeur possède un registre qui stocke la valeur actuelle de son horloge logique. Un protocole d unisson assure alors que la différence entre les horloges de processeurs voisins est toujours bornée et que chaque horloge est infiniment souvent incrémentée. Dans la suite, nous résumons les résultats de [1]. 53/131

Spéculation et auto-stabilisation Unisson. Une horloge bornée X = (H,φ) est un ensemble fini H = cerise(α,k) (paramétré par deux entiers α 1 et K 2) doté d une fonction d incrémentation φ définie comme suit. Soit c un entier. Notons c l unique élément de [0,...,K 1] tel que c = c mod K. Nous définissons la distance d K (c,c ) = min{c c,c c} sur [0,...,K 1]. Deux entiers c et c sont localement comparables si d K (a,b) 1. Nous définissons alors la relation d ordre local l comme suit : c l c si et seulement si 0 c c 1. Définissons cerise(α,k) = { α,...,0,...,k 1}. Soit φ la fonction définie par : { (c + 1) si c < 0 φ : c cerise(α,k) (c + 1) mod K sinon La paire X = (cerise(α,k),φ) est une horloge bornée de valeur initiale α et de taille K (voir Figure 1). Une valeur d horloge c cerise(α, K) est incrémentée quand cette valeur est remplacée par φ(c). Une ré-initialisation de X est une opération consistant à remplacer toute valeur de cersie(α,k) \ { α} par α. Soient respectivement init X = { α,...,0} et stab X = {0,...,K 1} les ensembles de valeurs initiales et correctes de X. Nous notons init X = init X \ {0}, stab X = stab X \ {0} et init l ordre total naturel sur init X. FIGURE 1: Une horloge bornée X = (cerise(α,k),φ) avec α = 5 et K = 12 Soit un système réparti dans lequel tout processeur v a un registre r v stockant une valeur d une horloge bornée X = (H,φ) avec H = cerise(α,k). Nous définissons une configuration légitime pour l unisson comme une configuration dans laquelle v V, u vois(v),(r v stab X ) (r u stab X ) (d K (r v,r u ) 1). En d autres termes, une configuration légitime est une configuration telle que toute valeur d horloge est correcte et l écart entre les valeurs d horloges de processeurs voisins est borné par 1. Nous notons Γ 1 l ensemble des configurations légitimes pour l unisson. Il est important de noter que l on a, pour toute configuration de Γ 1 et toute paire de processeurs (u,v), d K (r u,r v ) diam(g). Spécification 2 (Unisson spec UA ) Une exécution e vérifie spec UA si toute configuration de e appartient à Γ 1 (sûreté) et que l horloge de tout processeur est infiniment souvent incrémentée dans e (vivacité). Dans [1], les auteurs proposent un protocole d unisson auto-stabilisant sous le démon inéquitable distribué. L idée principale est de ré-initialiser l horloge de tout processeur qui détecte une violation locale de la condition de sûreté (i.e. l existence d un voisin ayant une valeur d horloge non localement comparable). Autrement, un processeur est autorisé à incrémenter son horloge (que sa valeur soit correcte ou initiale) seulement si cette dernière a la valeur minimale localement. Le choix des paramètres α et K est crucial. En particulier, pour rendre le protocole auto-stabilisant sous le démon inéquitable distribué, ces paramètres doivent satisfaire α trou(g) 2 et K > cyclo(g), où trou(g) et cyclo(g) sont deux constantes liées à la topologie de g. Plus précisément, trou(g) est la taille du plus grand trou de g (i.e. du plus long cycle sans corde), si g contient un cycle, 2 sinon. cyclo(g) est la caractéristique cyclomatique de g (i.e. la longueur du plus long cycle de la plus petite base de cycles de g), si g contient un cycle, 2 sinon. En réalité, [1] prouve que prendre α trou(g) 2 assure que le protocole converge en un temps fini vers une configuration de Γ 1 et que prendre K > cyclo(g) assure que chaque processeur incrémente infiniment souvent son horloge. Par définition, nous savons que trou(g) et cyclo(g) sont majorés par n. Protocole d exclusion mutuelle. L idée principale de notre protocole est d exécuter l unisson autostabilisant de [1] présenté précédemment, avec une taille d horloge particulière et d accorder le privilège à un processeur seulement lorsque son horloge atteint une certaine valeur. La taille de l horloge doit être suffisante pour assurer qu au plus un processeur soit privilégié dans toute configuration de Γ 1. Si la définition du prédicat privilege garantit cette propriété, alors la stabilisation de notre protocole découle de celle de l unisson sous-jacent. Plus précisément, nous choisissons une horloge bornée X = (cerise(α,k),φ) avec α = n et K = (2.n 1)(diam(g) + 1) + 2 et nous définissons privilege v (r v = 2.n + 2.diam(g).id v ). Notre protocole, 54/131

Swan Dubois et Rachid Guerraoui Algorithme 1 EM SS : Protocole d exclusion mutuelle pour le processeur v Constantes : id v ID n N X = (cerise(n,(2.n 1)(diam(g) + 1) + 2),φ) diam(g) N Variable : r v X : registre de v Prédicats : privilege v (r v = 2.n + 2.diam(g).id v ) correct v (u) (r v stab X ) (r u stab X ) (d K (r v,r u ) 1) touscorrects v u vois(v),correct v (u) etapenorm v touscorrects v ( u vois(v),r v l r u ) reinit v touscorrects v (r v / init X ) etapeconv v r v initx u vois(v),(r u init X r v init r u ) Règles : NA :: etapenorm v r v := φ(r v ) CA :: etapeconv v r v := φ(r v ) RA :: reinit v r v := n baptisé EM SS (pour Exclusion M utuele Spéculativement Stabilisante) est présenté en Algorithme 1. Ce protocole est identique à celui de [1] excepté pour la taille de l horloge et la définition du prédicat privilege (qui n interfère pas avec le protocole). Il est à noter que, par définition du prédicat privilege, deux processeurs ne peuvent pas être simultanément privilégiés dans une configuration de Γ 1 (dans laquelle l écart entre leurs horloges est d au plus diam(g)). L auto-stabilisation du protocole d unisson de [1] permet alors de déduire le théorème suivant (dont la preuve détaillée est disponible dans [3]). Théorème 1 EM SS est un protocole auto-stabilisant pour spec ME sous did. L analyse du temps de stabilisation de notre protocole est disponible dans [3]. Pour le cas du démon synchrone, elle repose sur l observation que, dans le pire cas, un seul processeur ré-initialise son horloge durant la première étape d une exécution synchrone et que des sections critiques concurrentes ne sont possibles que tant que cette ré-initialisation n a pas atteint tous les processeurs, ce qui prend au plus diam(g)/2 étapes dans une exécution synchrone. Pour le cas du démon inéquitable distribué, nous utilisons le fait que le temps de stabilisation de l unisson majore celui de notre protocole. Théorème 2 temps stab(em SS,ds) diam(g)/2 et temps stab(em SS,did) O(diam(g).n 3 ) Le résultat de borne inférieure suivant nous montre l optimalité de notre protocole spéculativement stabilisant pour les exécutions synchrones (sa preuve est disponible dans [3]). Il repose sur l existence d historiques indistinguables pour tout protocole qui convergerait plus rapidement, ce qui permet de construire un contre-exemple à la stabilisation du protocole. Théorème 3 Tout protocole π auto-stabilisant pour spec ME vérifie temps stab(π,ds) diam(g)/2. 4 Perspectives Cet article ouvre une nouvelle voie de recherche en auto-stabilisation en introduisant la notion de stabilisation spéculative. Nous appliquons cette notion au problème de l exclusion mutuelle en fournissant le premier protocole spéculativement stabilisant qui soit optimal pour les exécutions synchrones. Il serait intéressant d appliquer cette approche à d autres problèmes fondamentaux, d optimiser les protocoles auto-stabilisants pour différents adversaires et de fournir un outil de composition qui fournirait de manière automatique des protocoles spéculativement stabilisants. Références [1] C. Boulinier, F. Petit, and V. Villain. When graph theory helps self-stabilization. In PODC, pages 150 159, 2004. [2] E. Dijkstra. Self-stabilizing systems in spite of distributed control. CACM, 17(11) :643 644, 1974. [3] S. Dubois and R. Guerraoui. Introducing speculation in self-stabilization. Rapport technique HAL, 00786398, 2013. [4] S. Dubois and S. Tixeuil. A taxonomy of daemons in self-stabilization. Rapport technique HAL, 00628390, 2011. [5] B. Lampson. Lazy and speculative execution in computer systems. In ICFP, pages 1 2, 2008. 55/131

Diverse Routing with Star SRLGs Jean-Claude Bermond 1 and David Coudert 1 and Gianlorenzo D Angelo 2 and Fatima-Zahra Moataz 1 1 COATI, INRIA, I3S(CNRS/UNS), Sophia Antipolis, France 2 Department of Mathematics and Informatics, University of Perugia, Perugia, Italy La notion de groupe de liens partageant un risque (Shared Risk Link Group, SRLG) a été introduite pour modéliser des problèmes de tolérance aux pannes simultanées d ensembles de liens d un réseau. Dans ce contexte, le problème du routage diversifié est de trouver un ensemble de chemins SRLG-disjoints entre une paire donnée de nœuds du réseau. Ce problème a été prouvé NP-complet en général [7] et certains cas polynomiaux ont été caractérisés [2]. Nous avons étudié le problème du routage diversifié dans les réseaux satisfaisant la propriété d étoile [9]. Dans un réseau satisfaisant la propriété d étoile, un lien peut être affecté par plusieurs SRLGs, mais tous les liens affectés par un même SRLG sont incidents à un même sommet. Nous avons trouvé des contre-exemples à l algorithme polynomial proposé dans [9] pour le calcul de paires de chemins SRLG-disjoints dans les réseaux satisfaisants la propriété d étoile. Puis, nous avons prouvé que ce problème est en fait NP-difficile. Plus généralement, nous avons montré que le problème du routage diversifié dans les réseaux avec la propriété d étoile est NP-difficile, APX-difficile, et W [1]-difficile lorsque le paramètre est le nombre de chemins SRLG-disjoints. Enfin, nous avons caractérisé de nouvelles instances polynomiales, en particulier lorsque le degré maximum des sommets est 4, ou lorsque le réseau est acyclique. Keywords: SRLG, Diverse Routing, Colored Graph 1 Introduction To ensure reliable communications, many protection schemes have been proposed. One of the most used, called dedicated path protection, consists in computing for each demand both a working and a protection path. A general requirement is that these paths have to be diversely routed, so that at least one of them can survive a single failure in the network. This method works well in a single link failure scenario, as it consists in finding two edge-disjoint paths between a pair of nodes. This is a well-known problem in graph theory for which there exist efficient polynomial time algorithms. However, the problem of finding two diversely routed paths between a pair of nodes becomes much more difficult in case of multiple correlated link failures that can be captured by the notion of SRLG (Shared Risk Link Group). In fact, an SRLG is a set of network links that fail simultaneously when a given event (risk) occurs. The scope of this concept is very broad. It can correspond, for instance, to a set of fiber links of an optical backbone network that are physically buried at the same location and therefore could be cut simultaneously (i.e. backhoe or JCB fade). It can also represent links that are located in the same seismic area, or radio links in access and backhaul networks subject to localized environmental conditions affecting signal transmission, or traffic jam propagation in road networks. Note that a link can be affected by more than one risk. In practice, the failures are often localized and common SRLGs are SRLGs verifying the star property [9] (coincident SRLGs in [5]). Under this property, all links of a given SRLG share an endpoint. Such failure scenarios can correspond to risks arising in router nodes like card failures or to the cut of a conduit containing links issued from a node (see Figure 1). Related work In the context of SRLG, basic network connectivity problems have been proven much more difficult to address than their counterparts for single failures. For instance, the problem of finding a SRLG-shortest Full version of this work is available in [1]. 56/131

Jean-Claude Bermond and David Coudert and Gianlorenzo D Angelo and Fatima-Zahra Moataz l 1 l 2 l 3 l 4 l 5 l 6 l 1 l 2 l 3 l 4 l 5 l 6 r 4 P ort1 v P ort2 P ort3 l 7 l 8 r 1 v r 2 r 3 l 7 l 8 FIGURE 1: Example of localized risks : link l 4 shares risk r 2, corresponding to Port 2 failure, with l 5 and l 6, and shares risk r 4, corresponding to a conduit cut, with links l 2 and l 3. st-path which is a path from node s to node t having the minimum number of risks has been proven NP-hard and hard to approximate in general. However, the problem can be solved in polynomial time in two generic practical cases corresponding to localized failures : when all risks verify the star property [3] and when risks are of span 1 (i.e. when a link is affected by at most one risk and links sharing a given risk form a connected component [2]). The diverse routing problem in presence of SRLGs consists in finding two SRLG-disjoint paths between a pair of vertices (i.e. paths having no risk in common). It has been proven NP-complete in general [7, 6, 8, 10] and many heuristics have been proposed. The problem is polynomial in some specific cases of localized failures : when SRLGs have span 1 [2], and in a specific case of SRLGs having the star property [4] in which a link can be affected by at most two risks and two risks affecting the same link form stars at different nodes (this result also follows from results of [2]). Our results We studied the diverse routing problem when SRLGs have the star property and there are no restrictions on the number of risks per link. This case has been studied in [9] in which the authors claim that the diverse routing problem with the star property can be solved in polynomial time. Unfortunately their algorithm is not correct ; indeed we exhibited counterexamples for which their algorithm concludes to the non existence of two SRLG-disjoint paths although two such paths exist. We proved that the problem is in fact NP-complete (again, contradicting the supposed polynomiality of the algorithm of [9], unless P = NP). On the positive side, we showed that the diverse routing problem can be solved in polynomial time in particular subcases which are relevant in practice. Namely, we solved the problem when the number of SRLGs is bounded by a constant, when the maximum degree is at most 4 or when the input network is a directed acyclic graph. Finally, we considered the problem of finding the maximum number of SRLG-disjoint paths. This problem has been shown to be NP-hard in [8]. We proved that it is also NP-hard under the star property. 2 Diverse Routing with star SRLGs Counterexample Luo and Wang have published in [9] an algorithm to find a pair of SRLG-disjoint paths with minimum total cost from a source s to a destination t in graphs with SRLGs satisfying the star property. We have proved the incorrectness of their algorithm with counterexamples. Figure 2 shows a counterexample where we have 2 specific risks r 1 and r 2 r 1 forming a star in v. We obviously have two SRLG-disjoint paths P 1 = {s,a,z,w,u,v,b,t} and P 2 = {s,a,w,u,v,b,t} but if we ran the algorithm of [9], it will terminate concluding that no two SRLG-disjoint paths exist (see full version in [1] for more details). 57/131

Diverse Routing with Star SRLGs a w u b s z t a u r 2 r 1 r 2 r 1 r 2 r 1 v b FIGURE 2: Example 2 Model and problem statement To state precisely our results we use the multi-colored graph model [2, 9]. In the multi-colored graph model, the network is modeled by a graph mg = (V,E) and the set of SRLGs by a set of colors R which is a covering of E. Each SRLG is modeled by a distinct color and an edge modeling a network link subject to different SRLGs will be assigned as many colors as SRLGs. In such a model, the star property corresponds to the fact that all the edges with the same color are incident to a common vertex and so form a star. In what follows we denote by the maximum degree, by c the maximum colored degree (the number of colors incident to a node), by E(c) the set of edges having color c R, by R (e) the set of colors associated with edge e E, by CPE = max e E R (e) the maximum number of colors per edge, and by EPC = max c R E(c) the maximum number of edges having the same color. Given a multi-colored graph mg and two vertices s and t. We say that two st-paths P 1 and P 2 are colordisjoint if ( e P1 R (e)) ( e P2 R (e)) = /0. The diverse routing problem defined in the introduction consists then in finding k color-disjoint paths and can be formulated formally as follows : Problem 1 (k-diverse Colored st-paths, k-dcp). Given a multi-colored graph mg and two vertices s and t, are there k color-disjoint st-paths from s to t? Another related problem we studied aims at finding the maximum number of color-disjoint paths and can be stated formally as follows : Problem 2 (Max Diverse Colored st-paths, MDCP). Given a multi-colored graph mg and two vertices s and t, find the maximum number of color-disjoint st-paths. NP-completeness Theorem. The k-dcp problem is NP-complete for any fixed constant k 2, even if all the following properties hold : the star property ; the maximum degree is fixed with 6 + k ; CPE, EPC and c are fixed with either [CPE 4, EPC 2, and c 14 + k] or [CPE 2, EPC 4 and c 2 + k]. we proved the above theorem by using a reduction from the problem of finding a T -compatible path (or a path avoiding forbidden transitions), which was proved NP-complete in [11]. Let G = (V,E) be an undirected graph. A transition in v V is a pair of edges incident to v. To each vertex v we associate a set T (v) of admissible (or allowed) transitions in v. We call transition system the set T = {T (v) v V }. Let G = (V,E) be a graph and T a transition system. A path P = {v 0,e 1,v 1,...,e k,v k } in G, with v i V, e i E, is said to be T -compatible if, for every 1 i k 1, the pair of edges {e i,e i+1 } is an admissible transition, i.e. {e i,e i+1 } T (v i ). Problem 3 (T -Compatible path, T -CP). Given a graph G = (V,E), two vertices s and t in V, and a transition system T, does G contain a T -compatible path from s to t? The reduction consists in transforming an instance T -CP on a graph G to an instance of 2-DCP on a colored graph mg. The transformation is such that every edge in G is substituted by 2 paths, of length 2 each, in 58/131

Jean-Claude Bermond and David Coudert and Gianlorenzo D Angelo and Fatima-Zahra Moataz Graph EPC CPE k-dcp MDCP Undirected 8 2 4 Strongly NP-hard Not approximable 4 2 for 6 + k within O( V ) Directed 3 any any Solvable in O( V + Optimum in O( V + E ) time E ) time = 4 any any Solvable in O( V + 2-approximation in E ) time for k = 2 O( V + E ) time R = O(1), any any any Solvable in O( V + Optimum in even without E ) time O(( V + E )log ) star time 3 3 2 6 Solvable Strongly NP-hard DAG unbounded 2 unbounded in O( V E 2k ) time Not approximable within O( V ) unbounded 3 APX-hard unbounded unbounded W[1]-hard TABLE 1: Summary of complexity results. mg and colors are assigned in mg such that two color-disjoint paths can cross a vertex in mg if and only if a path in G can cross the same vertex using an allowed transition (see full version in [1] for more details). 3 Conclusion Our results give an almost complete characterization of the problem of finding SRLG-disjoint paths in networks with SRLGs satisfying the star property. We summarize them all in Table 1. Références [1] J-C. Bermond, D. Coudert, G. D Angelo, and F. Z. Moataz. Diverse Routing with the star property. Research Report RR-8071, INRIA, September 2012. [2] D. Coudert, P. Datta, S. Perennes, H. Rivano, and M-E. Voge. Shared risk resource group : Complexity and approximability issues. Parallel Processing Letters, 17(2) :169 184, June 2007. [3] D. Coudert, S. Perennes, H. Rivano, and M-E. Voge. Shared risk resource groups and colored graph : Polynomial and FPT optimisation problems. Submitted. [4] P. Datta and A.K. Somani. Graph transformation approaches for diverse routing in shared risk resource group (SRRG) failures. Computer Networks, 52(12) :2381 2394, August 2008. [5] J. Doucette and W. Grover. Shared-risk logical span groups in span-restorable optical networks : Analysis and capacity planning model. Photonic Network Communications, 9(1) :35 53, 2005. [6] G. Ellinas, E. Bouillet, R. Ramamurthy, J-F. Labourdette, S. Chauduri, and K. Bala. Routing and restoration architectures in mesh optical networks. Optical Networks Magazine, pages 91 106, January 2003. [7] J.Q. Hu. Diverse routing in mesh optical networks. IEEE Transactions on Communications, 51 :489 494, March 2003. [8] G. Li, C. Kalmanek, and R. Doverspike. Fiber span failure protection in mesh optical networks. Optical Networks Magazine, pages 21 31, May 2002. [9] X. Luo and B. Wang. Diverse routing in WDM optical networks with shared risk link group (SRLG) failures. In Proc. DRCN, pages 445 452. IEEE, October 2005. [10] E. Modiano and A. Narula-Tam. Survivable lightpath routing : a new approach to the design of WDM-based networks. IEEE Journal of Selected Areas in Communication, 20(4) :800 809, May 2002. [11] S. Szeider. Finding paths in graphs avoiding forbidden transitions. Discrete Applied Mathematics, 126(2 3) :261 273, 2003. 59/131

De la difficulté de garder ses amis (quand on a des ennemis)! Augustin Chaintreau 1 and Guillaume Ducoffe 1,2 and Dorian Mazauric 1,3 1 Columbia University, Computer Science Department, New York 2 École Normale Supérieure de Cachan 3 Laboratoire d Informatique Fondamentale de Marseille, équipe ACRO Nous nous intéressons aux processus locaux de formation des groupes de partage d information dans les réseaux sociaux. Le réseau est modélisé par un graphe arête-valué où le poids (positif ou négatif) d une arête représente l utilité que les deux sommets ont s ils se trouvent dans un même groupe. Nous supposons que les groupes de partage forment une partition des sommets. Le processus local de formation des groupes est basé sur l optimisation de l utilité individuelle de chaque sommet. Soit k la taille maximale d une coalition. Un sous-ensemble d au plus k personnes peut rejoindre un groupe existant ou créer un nouveau groupe si, et seulement si, leurs utilités respectives augmentent strictement. Ce changement est appelé une k-déviation. Une partition est k-stable si, et seulement si, il n y a pas de k-déviation possible. Kleinberg et Ligett ont montré que si les poids sont et 1 (ennemis et amis), alors il existe toujours une partition k-stable pour tout k 1. Ils ont également montré que pour k {1,2,3}, le nombre maximum de déviations avant d atteindre une partition k-stable est polynomial. La polynomialité du temps de convergence dans le cas le pire pour k = 4 a été laissée comme problème ouvert. Nous montrons que ce dernier peut être Ω(n clog(n) ) avec c une constante et n le nombre de sommets. De plus, nous prouvons une formule close pour k {1,2}, une meilleure borne inférieure pour k = 3 et des résultats d existence et de complexité pour des poids généraux. Keywords: partage d information, réseaux sociaux, algorithme local, stabilité, temps de convergence. 1 Introduction. Contexte et motivation. Qui reçoit de moi une idée augmente son instruction sans diminuer la mienne. De cet idéal énoncé par Thomas Jefferson on peut retenir que partager de l information produit parfois un bénéfice mutuel. L importance d être bien informé motive une palette d activité sociale (groupes, communautés, réseautage), récemment transformés par des outils en lignes, avec un net risque de surexposition. Facebook, Twitter, Weibo simplifient le partage et suppriment les frontières géographiques ou de classes. Mais ils transforment aussi le contexte de cette information, traditionnellement contrôlée par la diffusion entre cercles et groupes sociaux qui tiennent à l écart ceux que l on ne veut pas tenir informés de tout, voire du tout. Comment se constituent ou pourrait mieux se constituer des groupes de partage d information dans un graphe où les arêtes représentent soit un bénéfice mutuel, soit une incompatibilité? Éviter les paires incompatibles en formant des partitions où l information se propage peut sembler efficace. Assigner ces groupes par un algorithme de coloration de graphe, par contre, semble simpliste et peut se révéler instable car les noeuds, suivant leurs intérêts, peuvent dévier vers une configuration qui les favorisent. Nous étudions la dynamique, encore inconnue, de ce jeu distribué. Modélisation du réseau social et des groupes. Le réseau est modélisé par un graphe arêtevalué G = (V, E,w) avec V représentant l ensemble des utilisateurs. Le poids w u,v (positif ou négatif) entre deux sommets u et v représente l utilité engendrée pour u et v si ces deux derniers partagent de l information. Nous supposons que le graphe est complet en ajoutant des arêtes de poids 0 si nécessaire. Nous notons W l ensemble des poids pris par les arêtes. La Figure 1(a) 60/131

Augustin Chaintreau and Guillaume Ducoffe and Dorian Mazauric v3 4 2 u1 3 v2 v3 4 2 u1 3 v2 2 2 2 2 1 1 1 1 3 4 3 4 2 2 4-déviation 3 3 u2 u3 2 2 4 3 v1 Arêtes u2 u3 2 2 4 3 Poids v1 - > 0 2 2 2 Utilité globale = 24 (optimal) Stable pour k=1,2,3 2 3 3 2 2 1 1 Utilité globale = 20 Stable pour tout k 1 1 (a) L instance de gauche représente un graphe arête-valué avec W = {,2,3,4}. La partition décrite à droite est 1- stable mais il n existe pas de partition 2-stable pour cette instance. (b) Exemple de 4-déviation avec W = {,1}. La partition de gauche est 3-stable mais pas 4-stable, et l utilité globale est maximale. La partition de droite est 4-stable mais l utilité globale a diminué. FIGURE 1: Deux instances du problème de partage d information dans les réseaux sociaux. (gauche) représente un exemple de graphe valué avec W = {,2,3,4}. Un poids entre deux sommets représente le cas où les deux utilisateurs sont ennemis et ne veulent en aucun cas partager de l information. Nous supposons enfin que les groupes de partage forment une partition des sommets. Autrement dit, un sommet appartient à un unique groupe. Étant donnée une partition C, l utilité f u (C) d un sommet u est la somme des poids des arêtes adjacentes à u dans son groupe. Formellement f u (C) = v C(u) w u,v où C(u) représente l ensemble des sommets dans le même groupe que u. L utilité du sommet v 3 pour la partition décrite dans la Figure 1(a) (droite) est 6. Notons que deux sommets ennemis (poids ) ne sont jamais dans le même groupe mais que deux sommets liés par un poids négatif (autre que ) peuvent être dans un même groupe en raison de compensations. Processus local et optimisation individuelle. La dynamique du système est la suivante. Initialement, chaque utilisateur forme un groupe seul. Soit k 1 la taille maximale constante d une coalition. Étant donnés des groupes de partage, un sous-ensemble d au plus k utilisateurs peut rejoindre un groupe existant ou créer un nouveau groupe si, et seulement si, leurs utilités respectives augmentent strictement. Ce changement est appelé une k-déviation. La partition est k-stable si, et seulement si, il n y a pas de k-déviation possible. La partition décrite dans la Figure 1(a) (droite) est 1-stable. En effet, aucun sommet ne peut créer un nouveau groupe seul et augmenter strictement son utilité. De plus, aucun sommet ne peut rejoindre (seul) un groupe existant car soit un ennemi y est présent soit il aurait une utilité strictement positive mais inférieure à son utilité courante. En revanche, cette partition n est pas 2- stable car les deux sommets v 1 et v 2 peuvent former une coalition et rejoindre le groupe formé par u 3. L utilité de v 1 passe de 4 à 5 et l utilité de v 2 passe de 5 à 6. Plus généralement, il est possible d observer que cette instance n admet pas de partition 2-stable. Stabilité et temps de convergence. Un problème important est de caractériser les classes d instances admettant une partition k-stable. Pour ces instances, il est alors intéressant de déterminer si une partition k-stable est atteignable par le processus dynamique opérant dans le système. Pour ces instances, nous nous sommes intéressés au temps de convergence du processus dynamique (nombre de k-déviations avant d obtenir la k-stabilité) dans le pire des cas notamment. Travaux existants. Kleinberg et Ligett ont montré dans [KL10] que si W = {,1}, alors il existe toujours une partition k-stable pour tout k 1. Cette classe d instances peut correspondre au cas où il n y a que des amis et des ennemis, et où, pour des raisons de vie privée, un individu ne veut surtout pas partager d information avec un ennemi. Pour ces instances particulières, ils ont montré que le temps de convergence est polynomial pour k {1,2,3}. Ils ont en revanche laissé ouvert le problème de la polynomialité du temps de convergence pour k = 4. Contributions. Nous avons montré que, pour k = 4 et W = {,1}, le temps de convergence pouvait être Ω(n clog(n) ) avec c une constante et n le nombre d utilisateurs. Pour k {1,2}, nous avons prouvé une formule close pour le nombre exact de k-déviations dans le pire des cas (Ta- 61/131

De la difficulté de garder ses amis (quand on a des ennemis)! bleau 1). De plus, nous avons montré que pour W = {,0,1}, il existe pour tout réseau, une partition 1 et 2-stable (avec des temps de convergence polynomiaux) mais que certains réseaux n admettent pas de partition 3-stable. Cette classe d instances modélise le cas où les utilisateurs peuvent avoir des relations neutres. Plus généralement, nous montrons des résultats d existence pour des poids généraux (Tableau 2) et nous prouvons que le problème de décider s il existe une partition k-stable est NP-complet en général. L intégralité de nos résultats et de nos preuves se trouve dans [DMC12]. 2 Temps de convergence pour l ensemble de poids W = {,1}. Pour l ensemble de poids W = {,1}, nous représentons toute partition C par un vecteur de partition Λ = (λ n,...,λ 1 ) de taille n où λ i représente le nombre de groupes de taille exactement i pour tout 1 i n. Nous avons montré que, pour tout k 1 et pour toute partition, n importe quelle k-déviation augmente le vecteur de partition selon l ordre lexicographique. Donc le processus local converge toujours vers une partition k-stable. Autrement dit, il n y a pas de cycle de k-déviations pouvant empêcher le processus d atteindre une partition k-stable. Un paramètre important est alors le nombre maximal de k-déviations avant d atteindre la k- stabilité. Étant donnés k 1 et n 1, nous notons L(k,n) ce temps de convergence, dans le pire des cas, pour un graphe avec au plus n sommets. Notons que L(k,n) L(k,n) pour tout k k 1 et pour tout n 1. Kleinberg et Ligett ont montré dans [KL10] que L(1,n) = O(n 2 ), L(2,n) = O(n 2 ) et L(3,n) = O(n 3 ). Pour k {1,2}, leur preuve s appuie sur le fait que la somme des utilités augmente strictement après n importe quelle k-déviation. Le résultat s obtient ensuite en remarquant que cette somme est bornée supérieurement par O(n 2 ) car l utilité individuelle est bornée supérieurement par n 1. Pour k = 3, ils ont montré que la somme des carrés des utilités augmente toujours strictement après n importe quelle k-déviation (l utilité globale peut ne pas augmenter) et donc que L(3,n) = O(n 3 ). Ils ont en revanche laissé ouvert le problème de la polynomialité pour k = 4. Dans ce cas, toute fonction (additive) potentielle bornée par un polynôme peut décroître strictement pour certaines 4-déviations. Nous avons résolu le problème ouvert de [KL10] en montrant que L(k,n) n est pas polynomial pour tout k 4. Théorème 1 L(4,n) = Ω(n clog(n) ) avec c une constante. En utilisant les techniques développées dans la preuve du Théorème 1, nous avons également prouvé une borne inférieure pour k = 3 : L(3,n) = Ω(n 2 ). Nous avons également prouvé que L(k,n) = O(e n ) améliorant la meilleure borne supérieure exponentielle connue. La preuve s appuie sur le fait que le nombre de vecteurs de partitions différents est O(e n ). Rappelons qu un vecteur de partition augmente strictement selon l ordre lexicographique après n importe quelle k-déviation. Pour améliorer les bornes supérieures, nous avons montré que nous pouvons nous ramener au cas W = {1}. Autrement dit, pour tout k 1 et pour tout n 1, L(k,n) est atteint pour W = {1}. Nous avons alors prouvé que L(1,n) = L(2,n) en montrant que cette valeur était égale à la longueur de la plus longue chaine dans le treillis des partitions. Utilisant les résultats de [GK86, GK93], nous déduisons la formule close : Théorème 2 L(1,n) = L(2,n) = 2( m+1 m(m+1) 3 ) + mr, où r et m sont les uniques solutions de n = 2 + r, 0 r m. Cela implique que L(1,n) = L(2,n) 2 3 n n quand n est grand. Le Tableau 1 résume les résultats des travaux existants et nos contributions. 3 Existence de partition k-stable pour des poids généraux. Étant donné un ensemble de poids W, k(w) est défini de la manière suivante : pour tout k k(w), il existe une partition k-stable pour tout graphe et il existe un graphe qui n est pas 62/131

Augustin Chaintreau and Guillaume Ducoffe and Dorian Mazauric k Littérature Nos résultats 1 O(n 2 ) 2 3 n3/2 2 O(n 2 ) 2 3 n3/2 3 O(n 3 ) Ω(n 2 ) 4 O(2 n ) Ω(n clog(n) ), O(e n ) TABLE 1: Temps de convergence maximal L(k, n) pour W = {,1}. W k(w) {, a,b}, 0 < a < b 1 {, N,0,1} 2 {,b}, b > 0 W N ; W N N {N} TABLE 2: Existence de partition k-stable représenté par k(w). (k(w) + 1)-stable. S il existe une partition k-stable pour tout k 1, nous définissons k(w) = (e.g. k({,1}) = ). Nous avons prouvé que k(w) 1 pour tout W, c est-à-dire qu il existe tojuours une partition 1- stable. Nous avons ensuite caractérisé les ensembles W tels que k(w) =. Précisément k(w) = W = {,b} avec b > 0, W N ou W N {N}. Nous avons également montré que si nous ajoutons des relations neutres entre individus à la classe d instances ennemis et amis, alors la 3-stabilité n est plus garantie. Autrement dit, pour W = {,0,1}, il existe un graphe G qui n admet pas de partition 3-stable et il existe toujours une partition 2-stable (avec temps de convergence polynomial). De plus, nous avons prouvé que k({,0,1}) = k({, N,0,1}). Enfin pour W = {, a,b}, 0 < a < b, nous avons montré que k(w) = 1. Le Tableau 2 résume nos résultats. Pour conclure, nous avons démontré que le problème de décider s il existe une partition k- stable est NP-complet. Nous avons utilisé le problème de l ensemble indépendant de cardinalité maximale dans notre réduction. Théorème 3 Pour tout W contenant et pour tout k > k(w), étant donné un graphe G avec les poids W, le problème de décider s il existe une partition k-stable pour G est NP-complet. 4 Extensions et travaux futurs. En plus de poursuivre notre étude pour des poids généraux, nous proposons d étudier la formation des groupes de partage dans les réseaux sociaux lorsque les sommets peuvent appartenir à plusieurs groupes différents. Certains réseaux n admettant pas de configuration k-stable dans le cas de la partition, peuvent maintenant avoir une configuration k-stable. Mais nos premiers résultats montrent également que cela peut rendre le réseau instable. En effet, la 3-stabilité n est plus garantie pour l ensemble de poids W = { M,1} lorsque les sommets appartiennent à deux groupes. Une autre extension intéressante est de prendre en compte des utilités transitives. Un utilisateur peut ne pas vouloir être dans un groupe comprenant simultanément une personne de son cercle amical et une personne de son cercle professionnel (alors que les utilités respectives sont intrinsèquement positives). Nous envisageons une modélisation à base d hypergraphes. Références [DMC12] Guillaume Ducoffe, Dorian Mazauric, and Augustin Chaintreau. Convergence of coloring games with collusions. Technical report, Columbia University, August 2012. available at www.cs.columbia.edu/ augustin/pub/dmc.tr13.pdf. [GK86] [GK93] [KL10] C Greene and D J Kleitman. Longest chains in the lattice of integer partitions ordered by majorization. Eur. J. Comb., 7(1) :1 10, January 1986. Eric Goles and Marcos A. Kiwi. Games on line graphs and sand piles. Theoretical Computer Science, 115(2) :321 349, 1993. Jon M Kleinberg and Katrina Ligett. Information-Sharing and Privacy in Social Networks. paper in progress (available at arxiv.org/abs/1003.0469), 2010.. Le poids N > 0 est plus grand que n fois la valeur absolue du poids négatif le plus petit (différent de ). 63/131

Explorer une grille avec un minimum de robots amnésiques Stéphane Devismes 1, Anissa Lamani 2, Franck Petit 3, Pascal Raymond 1 et Sébastien Tixeuil 3 1 VERIMAG UMR 5104, Université Joseph Fourier, Grenoble 2 MIS, Université de Picardie Jules Verne, Amiens 3 LIP6 UMR 7606, UPMC Sorbonne Universités, Paris Nous nous intéressons à l exploration finie d une grille i j par une équipe de k robots autonomes, asynchrones et amnésiques i et j représentent le nombre de lignes et de colonnes de la grille avec 1 i j. Nous montrons que k = 3 robots sont nécessaires et suffisants pour résoudre le problème dans les modèles asynchrone et semi-synchrone, sauf si j 2 ou si i = j = 3, auxquels cas k doit respectivement être égal à i j ou au moins égal à 5. Keywords: exploration, grille, robots, minimalité 1 Introduction Nous considérons k robots (ou agents) autonomes se déplaçant dans une grille i j non orientée telle que i et j représentent le nombre de lignes et de colonnes de la grille par convention, nous supposons 1 i j. Nous nous intéressons au problème de l exploration finie d une telle grille : à partir d une configuration où les k robots sont arbitrairement placés sur des nœuds distincts, la grille doit être entièrement visitée par les robots, avant que ceux-ci ne s arrêtent définitivement. Plus précisément, la terminaison doit être certaine et lors de cette terminaison, chaque nœud de la grille doit avoir été visité par au moins un des robots. Les robots que nous considérons sont dotés de capteurs visuels et d actionneurs de mouvement. Leur programme consiste à exécuter infiniment souvent le cycle OCD constitué des trois phases suivantes : Observation, Calcul et Déplacement. Durant la phase d observation, le robot prend connaissance de son environnement à l aide de ses capteurs visuels. Ensuite, en fonction de l environnement perçu, le robot décide de se déplacer sur l un des nœuds adjacents ou de rester sur place. Les robots n ayant pas accès à un dispositif partagé de synchronisation, les trois phases sont exécutées de manière complètement asynchrone par chacun des robots. Cependant, nous supposons qu un robot ne peut pas être vu en transit entre deux nœuds adjacents. Par ailleurs, rien ne permet de distinguer un robot d un autre et tous exécutent le même programme. De plus, les robots sont amnésiques, c est-à-dire que leur mémoire est volatile et s efface complètement entre deux cycles OCD. Enfin, les robots sont dénués de tout moyen de communication direct. En revanche, lors de la phase d observation, ils perçoivent la grille dans son intégralité et sont capables de déterminer pour chaque nœud s il contient 0, 1 ou plusieurs robots. Néanmoins, ils ne disposent d aucun dispositif qui leur permettrait de déterminer une quelconque orientation de la grille ou d identifier les nœuds a priori. Ainsi, suite à une observation, il se peut que plusieurs arêtes adjacentes au nœud occupé par le robot lui semblent identiques, i.e. le robot se situe alors sur un axe de symétrie de la configuration. Dans ce cas, si le robot décide de bouger, il peut traverser l une ou l autre des arêtes : nous considérons alors le pire cas où le choix de l arête traversée est décidé par un adversaire. L exploration finie par k robots a été étudiée pour des anneaux de n nœuds [1, 2, 3]. Dans [1], les auteurs montrent que le problème peut être résolu de manière déterministe seulement si k et n sont premiers entre La version longue de cet article a été présentée lors de SSS 2012.. Cette hypothèse est à la fois usuelle et non restrictive dans ce type de modèle. D une part, elle simplifie les algorithmes. D autre part, elle peut être levée facilement : le robot peut décider de ne pas bouger lorsqu il observe que des robots ne sont pas sur des nœuds. 64/131

Stéphane Devismes, Anissa Lamani, Franck Petit, Pascal Raymond et Sébastien Tixeuil eux. Ils proposent d ailleurs un algorithme pour ce cas, celui-ci nécessite en plus que k soit au moins égal à 17. Il est prouvé dans [2] que 4 robots sont nécessaires et suffisants pour résoudre l exploration avec une probabilité 1 de terminaison dans le modèle semi-synchrone, sans l hypothèse de primalité entre k et n. Dans le modèle semi-synchrone, à chaque instant t, un adversaire sélectionne un sous-ensemble non vide de robots, lesquels exécutent intégralement le cycle OCD entre t et t + 1 ; de plus, l adversaire doit sélectionner tout robot infiniment souvent. Enfin, un algorithme déterministe dans le modèle asynchrone utilisant un minimum de robots, i.e., 5, est proposé dans [3]. Suivant le résultat de [1], cet algorithme ne considère que des anneaux de taille non divisible par 5. Dans cet article, nous démontrons que seuls k = 3 robots sont nécessaires et suffisants pour résoudre l exploration (déterministe) finie d une grille i j avec 1 i j dans les modèles asynchrone et semisynchrone, sauf si 1 i j 2 ou si i = j = 3. Dans le premier de ces deux derniers cas, k doit être égal à i j ; dans le second, k doit être au moins égal à 5. Nos résultats sont constructifs puisque nous proposons des algorithmes dans le modèle asynchrone utilisant le minimum de robots pour chacun des cas. 2 Bornes inférieure Nous nous plaçons tout d abord dans le modèle semi-synchrone. Par définition, toute impossibilité constatée dans ce modèle est également valide dans le modèle asynchrone. Dans la suite, lorsque plusieurs robots sont localisés sur un même nœud de la grille, nous disons qu ils forment une tour. Dans [2], les auteurs montrent dans le modèle semi-synchrone que l amnésie des robots impose de construire une mémoire implicite au moyen des configurations du système afin de se souvenir quels nœuds ont été visités. Leurs résultats permettent d énoncer la remarque suivante : Remarque 1 Un algorithme (déterministe ou probabiliste) d exploration finie fonctionnant sur une grille i j et utilisant k robots termine dans une configuration sans tour si et seulement si k = i j. En d autres termes, le seul algorithme d exploration fonctionnant sans construire de tour est l algorithme trivial où il y a autant de robots que de nœuds. La remarque 1 nous permet également d affirmer qu il faut au moins 2 robots (afin de pouvoir former une tour) pour explorer toute grille constituée d au moins 3 nœuds. Ensuite, en supposant que 2 robots soient suffisants, nous pouvons construire une exécution séquentielle possible e constituée d un préfixe sans tour et d une configuration terminale contenant une tour telle que e termine sans que la grille ait été entièrement visitée. D où : Théorème 1 Il n existe pas d algorithme (déterministe ou probabiliste) d exploration finie fonctionnant sur une grille i j telle que i j 3 qui utilise moins de 3 robots. La grille 2 2 étant aussi un anneau de 4 nœuds, le résultat de [2] nous permet d affirmer que 4 robots sont nécessaires (et suffisants) pour visiter une telle grille. Ainsi : Théorème 2 L exploration finie (déterministe ou probabiliste) d une grille i j telle que 1 i j 2 est possible si et seulement si k = i j. Les théorèmes 1 et 2 nous donnent la condition nécessaire de notre résultat global à l exception de la grille 3 3. En supposant k = 3 robots, nous avons montré qu il existe toujours des exécutions où au plus 3 nœuds sont visités avant de créer une tour d au moins deux robots. Nous avons ensuite utilisé un model-checker qui nous a permis de générer de manière exhaustive toutes les classes de configurations atteignables par tout algorithme en partant de n importe quelle configuration contenant une tour d au moins deux robots. Nous avons ainsi montré qu aucune des classes générées ne permettait de terminer l exploration sans oublier de nœuds. En supposant k = 4 robots, il est facile de montrer que l exploration peut ne pas terminer. En effet, en partant d une configuration où les 4 robots sont initialement situés sur les nœuds médian des 4 bords, quel que soit l algorithme, les choix de l adversaire peuvent toujours mener à une configuration où soit chaque robot est dans un coin distinct, soit les robots forment tous une tour sur le nœud central de la grille. Dans ces deux cas, les choix de l adversaire peuvent ensuite forcer les déplacements des quatre robots pour revenir à la configuration initiale. Les robots étant amnésiques, l exécution ne termine alors jamais.. La version détaillée de cet article est disponible sur http://arxiv.org/abs/1105.2461.. http://www-verimag.imag.fr/ raymond/misc/robots/ 65/131

Explorer une grille avec un minimum de robots amnésiques 3 Exploration avec trois robots Nous considérons maintenant le modèle asynchrone et nous proposons deux algorithmes (déterministes) d exploration finie de grilles i j n utilisant que 3 robots. Le premier fonctionne sur toute grille i j où j 3 et j = 3 i / {2,3}. La grille 2 3 fait l objet du second algorithme proposé dans cette section. Algorithme général. L algorithme fonctionne selon les 3 phases suivantes : Mise-en-place : De loin la plus ardue, cette phase fait l objet d explications un peu plus détaillées ci-dessous. Partant d une configuration quelconque sans tour, elle vise à mettre les 3 robots dans un des coins d un des plus longs bords de la grille comme présenté dans la figure 1. Orientation : Cette phase succède à la Mise-en-place. Cette phase est constituée d un seul mouvement : le robot situé dans coin de la grille se déplace sur le nœud voisin contenant un robot et construit ainsi une tour. La figure 2 présente un exemple de configuration obtenue. Grâce à cette tour nous obtenons un système de coordonnées implicite, comme décrit dans la figure. Exploration : La phase d exploration utilise le système de coordonnées défini lors de la phase précédente pour explorer toute la grille sauf les nœuds (0,0), (0,1) et (0,2) dont on sait qu ils sont déjà visités. Durant cette phase, le robot initialement en (0,2) se déplace comme décrit en figure 3. Il se déplace toujours vers le nœud (voisin) successeur de sa position courante suivant l ordre : (x,y) (x,y ) y < y [y = y (x = x y mod 2 = 0 x < x y mod 2 = 1 x > x )]. L exploration se termine lorsqu il a atteint le nœud maximum dans cet ordre. (0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (1,0) (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,0) (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,2) (2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,2) (3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) FIGURE 1: Mise-en-place FIGURE 2: Orientation FIGURE 3: Exploration L espace alloué ne nous permet pas de décrire chaque phase en détail. Les phases d orientation et d exploration ne réclamant guère plus d explication, nous nous concentrons donc sur les grandes lignes de la stratégie mise en œuvre lors de la phase Mise-en-place. L algorithme réalise cette phase sans créer de tour, ce qui assure que cette phase est distincte des deux autres. Pour cela, il distingue trois classes de configurations. La première de ces trois classes (appelons la L) regroupe toutes les configurations où un seul robot est localisé dans un coin de la grille. Appelons ce robot r 1. Dans ce cas, le but est d amener les deux autres robots (r 2 et r 3 ) sur l un des plus longs côtés adjacents à r 1 remarquons qu il peut y en avoir 2 dans le cas d une grille carré (i = j). Les déplacements de r 2 et r 3 sont ordonnés en fonction de la distance de Manhattan qui les séparent de r 1. Les deux robots rejoignent le nœud libre le plus proche sur le côté ciblé via le plus court chemin, avec priorité au robot le plus proche de r 1, s il y en a un. Une fois que les robots sont tous sur le côté ciblé, ils se regroupent de manière à former la configuration finale attendue. Bien sûr, cette stratégie peut être mise à mal par des situations particulières. Si r 2 et/ou r 3 sont localisés sur le plus petit côté adjacent à r 1, ils doivent au préalable s écarter du bord d un saut sur le côté, le cas échéant en évitant tout nœud déjà occupé. Toujours dans la classe L, quelques cas de symétries peuvent aussi se produire, en particulier lorsque la grille est carrée. La situation la plus caractéristique est lorsque r 2 et r 3 sont chacun sur les bords orthogonaux se croisant là où est r 1. Si la distance les séparant de r 1 est supérieure à 1 (ils ne sont pas sur les nœuds adjacents à celui de r 1 ), c est alors r 1 qui brise la symétrie en s écartant du coin (le choix de la direction est fait par l adversaire). Si r 2 et r 3 sont voisins de r 1, alors r 2 et r 3 ont pour consigne de s écarter de r 1 en restant sur leur bord. Si les deux agissent de manière synchrone, alors on retrouve le cas précédent (et c est r 1 qui finalement brise la symétrie), sinon la symétrie est directement brisée (soit r 2 soit r 3 n est plus voisin de r 1 ). La seconde classe de configurations, la classe C, regroupe les configurations où plusieurs robots sont situés sur des coins. Lorsqu il y en a exactement deux, c est au troisième robot de briser la symétrie si 66/131

Stéphane Devismes, Anissa Lamani, Franck Petit, Pascal Raymond et Sébastien Tixeuil nécessaire. S il y en a 3, c est le robot du milieu (situé à l intersection des deux côtés où sont positionnés les 3 robots) qui brise la symétrie. Enfin, il ne reste plus qu une seule classe de configurations, la classe N où aucun des coins n est occupé. Là encore, c est une stratégie basée sur un ordonnancement des 3 robots qui est mise en œuvre, elle-même fondée sur les distances des robots par rapport aux coins. Les cas de symétries sont une nouvelle fois brisés en élisant un des 3 robots. En particulier, si deux robots sont équidistants d un même coin, c est le troisième robot qui est élu pour briser la symétrie. Lorsque les 3 robots sont équidistants de 3 coins distincts, c est le robot le plus proche du coin situé entre les deux autres coins qui est élu. Algorithme pour la grille 2 3. La première étape de cet algorithme consiste aussi à aligner les trois robots. S ils ne sont pas alignés dès le départ, alors deux sont sur le même grand bord et le troisième se déplace alors pour compléter l alignement. Ensuite, le robot du milieu bouge vers un de ces voisins pour créer une tour (le choix de voisin est opéré par l adversaire). Enfin, le robot resté seul explore l autre grand bord et l algorithme termine. Les deux stratégies décrites dans cette section nous permettent d établir le théorème suivant : Théorème 3 Les deux algorithmes décrits dans la section 3 résolvent de manière déterministe le problème de l exploration finie avec seulement 3 robots pour toute grille i j telle que j 3 et j = 3 i 3. 4 Exploration de la grille 3 3 avec cinq robots L algorithme (toujours dans le modèle asynchrone) fonctionne en 2 phases : la 1 phase de Préparation qui a pour but d amener les 2 5 robots dans l une des 3 configurations de départ de la phase d Exploration. Ces 3 configurations, ainsi 3 que la phase d exploration sont décrites par la figure 4. La phase de préparation utilise le fait qu avec 5 robots, il FIGURE 4: Phase d exploration en partant d une configuration 1, 2 ou 3. est souvent possible de désigner une ligne, dite ligne directrice, contenant le maximum de robots et d utiliser cette ligne pour orienter la grille 3 3 et amener les 5 robots à former l une des 3 configurations attendues. Nous utilisons le terme souvent car il y a des configurations pour lesquelles aucune ligne directrice ne peut pas être déterminée. C est par exemple le cas (i) lorsque les 5 robots occupent 2 côtés adjacents ou bien (ii) lorsque 4 robots sont sur les 4 coins, le cinquième étant au centre. Mais il est toujours possible de casser la symétrie et ainsi d aller vers l une des 3 configurations recherchées. Par exemple, le cas (i) est résolu en éloignant les 2 robots situés sur les 2 coins vers les 2 côtés opposés. Le cas (ii) est quand à lui résolu en déplaçant le robot situé au centre vers l un des bords. Théorème 4 L algorithme décrit dans la section 4 résout de manière déterministe le problème de l exploration finie avec seulement 5 robots sur la grille 3 3. Références [1] Paola Flocchini, David Ilcinkas, Andrzej Pelc, and Nicola Santoro. Computing without communicating : Ring exploration by asynchronous oblivious robots. Algorithmica, pages 1 22, 2012. [2] Stéphane Devismes, Franck Petit, and Sébastien Tixeuil. Optimal probabilistic ring exploration by semi-synchronous oblivious robots. In Proceedings of the International Colloquium on Structural Information and Communication Complexity (SIROCCO 2009), volume 5869 of Lecture Notes in Computer Science, pages 195 208. Springer-Verlag Berlin Heidelberg, 2009. [3] Anissa Lamani, Maria Potop-Butucaru, and Sébastien Tixeuil. Optimal deterministic ring exploration with oblivious asynchronous robots. In Proceedings of the International Colloquium on Structural Information and Communication Complexity (SIROCCO 2010), volume 6058 of Lecture Notes in Computer Science, pages 183 196. Springer Berlin / Heidelberg, 2010. 67/131

Acheminement de messages instantanément stabilisant pour arbres couvrants Alain Cournier 1, Swan Dubois 2, Anissa Lamani 1, Franck Petit 3 et Vincent Villain 1 1 MIS, Université de Picardie Jules Verne, France 2 Ecole Polytechnique Fédérale de Lausanne, Suisse 3 UPMC Sorbonne Universités & Inria, France Nous présentons un protocole instantanément stabilisant d acheminement de messages au sein de structures couvrantes arborescentes de réseaux. Notre protocole utilise l information fournie par un algorithme de calcul de tables de routage auto-stabilisant s appuyant sur cette structure. Le fait que le protocole soit instantanément stabilisant signifie que tout message émis après les fautes est acheminé à son destinataire, y compris lorsque les tables de routage ne sont pas stabilisées. Notre algorithme présente l avantage que le nombre de tampons est indépendant de tout paramètre global du réseau comme le nombre de nœuds ou le diamètre. En effet, nous montrons que le problème peut être résolu en utilisant un nombre constant de tampons par lien de communication de la structure couvrante. Cette propriété lui confère l avantage de tolérer le passage à l échelle. Keywords: Acheminement de message, Stabilisation instantannée, Tolérance aux fautes 1 Introduction Nous assistons ces dernières années à l évolution de systèmes distribués à large échelle, par exemple les réseaux pair-à-pair. Leur taille et des considérations de performances imposent que ces systèmes s appuient sur des structures couvrantes souvent utilisées comme des tables de hachage ou des index distribués. Nous nous concentrons sur les structures arborescentes. Parmi les grands défis à considérer dans le développement de tels systèmes se trouvent (i) le passage à l échelle, (ii) la tolérance aux fautes et (iii) la prise en compte de la dynamicité, c est-à-dire la propension du système à résister aux changements topologiques (ajout ou suppression de nœuds ou de liens). Les techniques utilisées pour tolérer les pannes sont habituellement classées en deux grandes familles. La première consiste à faire en sorte que les fautes soient masquées aux utilisateurs. Mais cette approche requiert souvent des mécanismes d accord fondés sur de lourds échanges de messages du type question/réponse impliquant un grand nombre de nœuds. Ils s avèrent assez peu adaptés aux très grands systèmes dynamiques. La seconde famille est l auto-stabilisation qui garantit que si le système se trouve dans un état arbitraire, il retrouve de lui-même un comportement répondant à ces spécifications en un temps fini. L auto-stabilisation se révèle donc être une approche naturelle pour développer des protocoles résistants aux fautes transitoires. En outre, l auto-stabilisation se montre également être une bonne technique pour tolérer les passages à l échelle et la dynamicité du système, en particulier lorsque les protocoles ne requièrent pas la connaissance d un ou plusieurs paramètres globaux du système comme le nombre de nœuds ou le diamètre du réseau. Nous nous intéressons au problème de la communication point-à-point dans les systèmes à large échelle. Certains nœuds du système (appelés nœuds émetteurs) souhaitent envoyer des messages à d autres (appelés nœuds destinataires). Le problème consiste à délivrer tous ces messages en un temps fini. Ce problème englobe en réalité deux sous problèmes : (i) le problème du routage calcul du chemin à suivre par les messages de l émetteur vers le destinataire et (ii) le problème d acheminement de messages gestion des Ce travail a été financé par le projet ANR SPADES (08-ANR-SEGI-025, http://graal.ens-lyon.fr/spades). Une version plus longue a été présentée à ICDCN 2012, Hong Kong. La version détaillée est disponible à l adresse suivante : http: //hal.inria.fr/inria-00608897. 68/131

Alain Cournier, Swan Dubois, Anissa Lamani, Franck Petit et Vincent Villain ressources allouées au transport de messages. Le routage est fortement relié au problème de la construction d arbres couvrants. Il existe de nombreuses solutions auto-stabilisantes permettant de résoudre le problème du routage [6]. Des solutions auto-stabilisantes ont été proposées pour résoudre le problème d acheminement de message dans [1, 7], mais elles ont l inconvénient de ne pas pouvoir éviter l éventuelle perte de messages, même après l arrêt des fautes. La stabilisation instantanée [2] est une branche de l auto-stabilisation. Elle garantit que le système, indépendamment de son état initial, a toujours un comportement répondant à ses spécifications. Dans le contexte qui nous intéresse, ceci veut dire qu un protocole d acheminement de messages instantanément stabilisante associée à un algorithme de routage auto-stabilisant garantit que tout message émis après une faute transitoire ou un changement topologique est délivré à sa destination en un temps fini. Ceci contraste avec une solution qui n est que simplement auto-stabilisante (sans être instantanément stabilisante) car elle garantit uniquement que le nombre de messages non délivrés est borné. Les premiers algorithmes d acheminement instantanément stabilisant fournis par la littérature [4, 5] nécessitent un nombre de tampons par nœud proportionnel respectivement au nombre de nœuds et au diamètre du réseau, ce qui ne permet pas le passage à l échelle du réseau. Pour remédier à cela, dans [3], nous avons proposé une solution ne nécessitant qu un nombre de tampons par nœud proportionnel au degré du nœud. Malheureusement, cette solution n est pas satisfaisante puisque qu elle nécessite que la structure couvrante soit réduite à (ou traitée comme) une chaîne. Dans cet article, nous fournissons un protocole d acheminement instantanément stabilisant nécessitant un nombre constant de tampons par lien de communication de la structure couvrante. Cette propriété lui confère l avantage de tolérer le passage à l échelle. Dans ce qui suit, nous nous attachons à présenter notre solution de manière synthétique. 2 Présentation synthétique Nous supposons l existence d un algorithme de calcul des tables de routage auto-stabilisant s exécutant en parallèle de notre algorithme. Nous supposons que tout nœud p a accès aux tables de routage qui retournent pour toute destination d l identité du voisin par lequel un message de destination d doit transiter. Notons δ(p) le degré d un nœud p. Chaque nœud p a (i) un tampon interne, (ii) δ(p) tampons d entrée lui permettant de recevoir des messages de ses voisins (pour chaque voisin q de p, le tampon d entrée de p connecté au lien (p,q) est noté IN p (q)), et (iii) δ(p) tampons de sortie permettant au nœud p d envoyer des messages à ses voisins (pour q N p, le tampon de sortie de p connecté au lien (p,q) est noté OUT p (q)). En d autres termes, chaque nœud p possède 2δ(p) + 1 tampons. La génération d un nouveau message se fait toujours dans le tampon de sortie du lien (p,q) où q est le voisin indiqué par la table de routage par lequel doit transiter le message afin de parvenir à sa destination. L idée de l algorithme est la suivante : quand un nœud veut générer un nouveau message, il consulte sa table de routage pour déterminer par quel voisin doit transiter le message pour atteindre sa destination. Une fois ce message généré, il est routé selon les tables de routage : notons nb(m,b) le tampon dans lequel doit être transmis un message m actuellement stocké dans le tampon b. Nous avons alors les deux propriétés suivantes : (i) pour tout message m, nb(m,in p (q)) = OUT p (q ) où q est le prochain nœud par lequel m doit transiter pour atteindre sa destination (d après la table de routage) et (ii) pour tout message m, nb(m,out p (q)) = IN q (p). En d autres termes, (i) signifie que si un message m est dans un tampon d entrée de p (IN p (q)) et que p n est pas la destination de m, p consulte ses tables de routage pour déterminer le prochain nœud q par lequel le message doit transiter. Le message est alors copié dans le tampon de sortie de p le reliant à q (OUT p (q)). D autre part, (ii) signifie que, si un message m est dans un tampon de sortie de p (OUT p (q)) et que p n est pas la destination de m, il sera copié dans le tampon d entrée de q (IN q (p)). Notez que lorsque les tables de routage sont correctes et que tous les messages sont dans la bonne direction (c est-à-dire correctement routés vers leur destinataire), (i) n est jamais vérifié pour q = q. Néanmoins, cela peut être le cas lorsque les tables de routage sont en cours de stabilisation et s il y a des messages routés dans la mauvaise direction, c est-à-dire dirigé dans un sous arbre qui ne contient pas la destination. Avant de continuer l explication de notre solution, revenons d abord sur la progression de message dans les tampons. Un tampon est dit libre si et seulement s il ne contient aucun message ou s il contient le même 69/131

Acheminement de messages instantanément stabilisant pour arbres couvrants p4 e r p2 b c u p3 d p4 B p2 b c e p3 d B m a r a p1 Initiator p1 Initiator (a) Exemple de circuit complet (b) Tampon libre sur un chemin p4 i h B k z r p2 w b c e d p3 p4 i h k z p2 b r c e d p3 m a p1 Initiator Path of the token circulation B Last buffer on the path of the token circulation (c) Example de sous-circuit Token 1 Token 2 (d) Exemple d interblocage entre circulations de jetons m p1 a FIGURE 1: Quatre exemples associés à la circulation de jeton. message que le tampon d entrée auquel il est relié. Par exemple, si IN p (q) = OUT q (p) alors OUT q (p) est dit libre. Dans le cas contraire, le tampon est dit occupé. La progression des messages implique le remplissage et la libération de tampons, c est-à-dire que chaque tampon est alternativement libre et occupé. Ce mécanisme induit clairement que des emplacements libres se déplacent dans le graphe formé par les tampons, un emplacement libre correspondant à un tampon libre à un instant donné. Dans la suite, nous appelons arc actif un arc entre deux tampons dont le tampon source est occupé. Dans ce cas, si le sous-graphe constitué par les arcs actifs comporte des circuits alors nous sommes en présence d une situation d interblocage. L état initial étant arbitraire et les tables de routage stabilisant en un temps fini, ce type de circuit ne peuvent apparaître que sur un préfixe fini de l exécution (voir Figure 1, (a)). Étant donné la topologie arborescente de notre système, l existence d un circuit implique l existence de deux messages m et m tels que : nb(m,in p (q)) = OUT p (q) et nb(m,in p (q )) = OUT p (q ) (voir Figure 1, (a)). La localité de l information implique qu il est impossible pour un nœud p de connaitre l existence d un circuit. Il peut juste suspecter la présence d un cycle dans le cas où un message m dans son tampon d entrée IN p (q) doit être copié dans OUT p (q). Pour s en assurer, p initie un mécanisme de requête fondé sur une circulation de jeton. Il suit les arcs actifs en commençant par le tampon qui contient le message m. De cette manière, p détecte en un temps fini un tampon vide (voir Figure 1) ou un circuit. Notez que deux types de circuits existent : (i) le circuit complet impliquant le premier tampon contenant le message m visité par le jeton (voir Figure 1, (a)) ou (ii) le sous-circuit n impliquant pas ce tampon (voir Figure 1, (c)). Lorsque la circulation de jeton détecte un tampon vide (désignons ce tampon par B), l idée est de faire avancer les messages sur le chemin de la circulation de jeton pour permettre à l emplacement vide initialement sur B d avancer. De la sorte, nous nous assurons que OUT p (q) sera libre en un temps fini ce qui permettra à p de copier le message m directement dans OUT p (q) (cette action ayant la priorité sur toutes les autres actions touchant OUT p (q)). Si la circulation de jeton détecte un circuit, deux sous-cas sont possibles : (i) le circuit détecté est complet et (ii) le circuit détecté est un sous-circuit. Dans le cas (i), le but sera de libérer le tampon OUT p (q) si le nœud p est celui qui a détecté le cycle (p 1 dans la Figure 1, (a)). Dans le cas (ii), le nœud ayant le dernier tampon B visité par la circulation de jeton est celui qui détecte le cycle (nœud p 2 dans la Figure 1, (c)). Notez que B est dans ce cas un tampon d entrée. Le but est de libérer le tampon de sortie B par lequel le message présent dans B doit transiter afin d atteindre sa destination (OUT p2 (p 3 ) dans la Figure 1, (c)). Notez que B a été visité par la circulation de jeton. Dans les deux cas, le nœud qui détecte 70/131

Alain Cournier, Swan Dubois, Anissa Lamani, Franck Petit et Vincent Villain p4 h i k Free Buffer z p2 r b c e d p3 Initiator of T2 p4 h i k Free Buffer z p2 r b c e d p3 Initiator of T2 z p4 h z i r e p2 k b c d p3 w a p1 Token Circulation T1 m Token Circulation T2 Initiator of T1 w a p1 Token Circulation T1 m Token Circulation T2 Initiator of T1 w a p1 Active buffer graph m (a) (b) (c) FIGURE 2: Trois exemples de problèmes. le cycle copie le message du tampon d entrée correspondant (IN p (q) ou B) dans son tampon interne. En faisant cela, le nœud libère son tampon d entrée. L idée est alors de faire avancer les message tout au long du chemin de la circulation de jeton pour faire avancer l emplacement vide qui a été créé. Cela assure que le tampon de sortie visé sera libre en un temps fini (OUT p (q) ou B ). Le message dans le tampon interne peut alors être copié dans l emplacement vide se trouvant dans le tampon de sortie. Plusieurs circulations de jeton peuvent être initiées et exécutées en parallèle. Afin d éviter des situations d interblocage entre elles (voir Figure 1, (d)), chaque circulation de jeton comporte l identifiant de son nœud initiateur. Une circulation de jeton ayant l identifiant id sera autorisée à passer par un tampon déjà visité par une autre circulation de jeton ayant l identifiant id si id < id. Notez que cela peut engendrer la perte d emplacement vide récupéré par une circulation de jeton donnée. A titre d exemple, dans la Figure 2, on peut observer que l emplacement vide généré par T 1 est pris par T 2. En faisant avancer les message sur le chemin de T 2, un nouveau circuit est créé impliquant p 1 et p 4. Si on suppose que cette situation se produit à nouveau de sorte que le tampon interne de p 4 devient occupé et que p 4 et p 1 soient simultanément dans un autre circuit, le système est alors interbloqué. Notez que ce circuit ne peut être supprimé étant donné qu aucun message valide ne peut être supprimé. Nous devons donc éviter qu une telle configuration survienne. Pour cela, lorsqu une circulation de jeton détecte un tampon vide ou un circuit, elle parcours le chemin inverse afin de valider celui-ci, interdisant ainsi à toute autre circulation de jeton d utiliser ses tampons. Notez que le jeton revient à l initiateur de la circulation de jeton. L initiateur renvoie encore le jeton afin de vérifier que tout le chemin de la circulation de jeton a été bien validé (i.e. que la circulation de jeton n a pas fusionné avec une autre qui était présente dans la configuration initiale). Nous dirons alors que le chemin a été confirmé. Une fois le chemin confirmé, l emplacement vide peut être créé et déplacé afin de libérer le tampon de sortie du nœud visé. Références [1] B. Awerbuch, B. Patt-Shamir, and G. Varghese. Self-stabilizing end-to-end communication. Journal of High Speed Networks, 5(4) :365 381, 1996. [2] A. Bui, A. Datta, F. Petit, and V. Villain. Snap-stabilization and pif in tree networks. DC, 20(1) :3 19, 2007. [3] A. Cournier, S. Dubois, A. Lamani, F. Petit, and V. Villain. Snap-stabilizing linear message forwarding. In SSS, pages 546 559, 2010. [4] A. Cournier, S. Dubois, and V. Villain. A snap-stabilizing point-to-point communication protocol in messageswitched networks. In IPDPS, pages 1 11, 2009. [5] A. Cournier, S. Dubois, and V. Villain. How to improve snap-stabilizing point-to-point communication space complexity? TCS, 412(33) :4285 4296, 2011. [6] Shlomi Dolev. Self-stabilizing routing and related protocols. Journal of Parallel and Distributed Computing, 42(2) :122 127, 1997. [7] E. Kushilevitz, R. Ostrovsky, and A. Rosén. Log-space polynomial end-to-end communication. In STOC 95 : Proceedings of the twenty-seventh annual ACM symposium on Theory of computing, pages 559 568. ACM, 1995. 71/131

Link Quality Metrics in Large Scale Indoor Wireless Sensor Networks Ana Bildea, Olivier Alphand, Andrzej Duda 1 1 Grenoble Institute of Technology, CNRS, Grenoble Informatics Laboratory, UMR 5217, France. firstname.lastname@imag.fr Pouvoir estimer la qualité d un lien sur la base d un minimum de paquets est essentiel pour un réseau de capteur sans fil multisaut en environnement indoor compte tenu du coût énergétique de cette estimation et de ses conséquences sur la stabilité des routes construites sur ces liens. Notre étude s appuie ainsi sur des expérimentations intensives menées sur une plateforme Senslab ([Sen]) qui nous ont permis de trouver des lois de distribution suivies par les métriques physiques (RSSI, LQI) pour 3 catégories de liens (bons, mauvais, intermédiaires) regroupés par plage de PRR (Packet Reception Ratio). Sur la base de ces distributions, nous observons comment elles peuvent nous aider à discriminer les différents liens et ainsi les utiliser dans de futures expérimentations pour améliorer l efficacité de protocoles de routage de réseaux de capteurs dans le choix des liens. Keywords: Received Signal Strength indicator (RSSI), Link quality indicator (LQI), Link quality, Indoor Senslabtestbed, Wireless sensor networks (WSN) 1 Introduction Much research has considered the problem of characterizing wireless links to derive metrics allowing finding the best routes in wireless networks. In this paper, we report on the results of measurements on a indoor wireless sensor network testbed that we use to characterize wireless links. Our goal is to find a way of detecting good links in comparison to weak ones, a recent approach in routing (LOADng) in opposition to traditional metrics such as ETX. We have done extensive experiments on the SensLab platform and recorded two main hardware metrics: RSSI (Received Signal Strength Indicator) and LQI (Link Quality Indicator). LQI gives an estimate of how easily a received signal can be demodulated by accumulating the magnitude of the error between ideal constellations and the received signal over the 64 symbols immediately following the sync word. In a typical indoor environment, the metrics fluctuate due to reflections, fading, diffraction, and interference so that we need to characterize the quality of reception in terms of RSSI and LQI in a statistical way. 2 Experimental Set Up We have run experiments on the Strasbourg platform of Senslab [Sen] composed of 240 WSN430 nodes distributed across 3 trays at different heights. Each tray contains 80 nodes arranged in a regular grid (10x8) with a distance between each node of about 1m (cf. the topology of the testbed in Fig. 1). A node is composed of a MSP430F1611 CPU (48KB ROM, 10KB RAM) and a CC1101 radio operating at 868MHz. Its transmission power ranges between -30dBm and 10dBm, and the reception sensitivity is set to -88dBm. In a single experiment, we use one tray at a time, i.e. 80 nodes. We observe the quality of transmission of a node that broadcasts a total of 5000 packets of 110 bytes each 0.5s. There is no other ongoing transmissions so there is no interference nor contention between nodes. When one node broadcasts its packet, the other 79 nodes are active and ready to receive they log LQI and RSSI of the received packet. The receiver nodes do not acknowledge frames so that the MAC layer does not retransmit frames in case of failed transmissions. At the end of the experiment, we compute the Packet Reception Ratio (PRR) of each 72/131

Ana Bildea, Olivier Alphand, Andrzej Duda link as the proportion between the number of correctly received packets to the total number of sent packets. We assume that all nodes can potentially communicate so that the number of unidirectional links is 6320 (80 sender nodes times 79 receiver nodes). We run the experiments with two levels of the transmission power: 0dBm and -10dBm. The bit rate is 60kb/s and nodes use the 2FSK modulation. Fig. 2 summarizes the parameters of the experiments. Simulated area 10m x 8m x 3m Number of nodes 3 x 80 Environment: testbed Senslab Strasbourg Traffic type, inter packet rate broadcast, 0.5s Number of packets 5000 Topology grid Figure 1: Topology of the second tray of Senslab testbed in Strasbourg (transmission power: 0dBm) Figure 2: Collision free scenario on a WSN430, CC1101-based testbed. Fig. 1 presents some example links of Node 14 labeled with the measured PRR (the figure does not present all links of the node). 3 Link Characterization We consider three main categories of link quality: good links with a PRR above the 80%, intermediate with the PRR between 20% and 80%, and bad ones with PRR below 20% (such categories appear in previous studies [WLMP10, SDTL10] and the thresholds may be more strict, e.g. 90% 10%). We have observed that links under 80% exhibit a high LQI variance, which justifies the definition of intermediate links. Table 1 gives the proportion of links in each category (over all 6320 unidirectional links). Parameters good: PRR 80% intermediate: 20% PRR < 80% bad: 0 < PRR < 20% PRR = 0% 110 bytes, 0.5s, 0dBm 49% 13% 18% 20% 110 bytes, 0.5s, -10dBm 45% 11% 16% 28% Table 1: Proportion of links in each category, variable transmission power. PRR = 0% corresponds to the case in which a given node did not receive any packet. We can observe that there is a large proportion of good links and decreasing the transmission power to -10dBm only slightly affects the proportion of good links. 3.1 Fitting PRR Distribution To further characterize PRR in function of RSSI and LQI, we look for continuous distributions that fit the best the measured values of PRR. The goal is to predict PRR or at least the link category based on the observed values of RSSI and LQI. We have considered as candidate distributions the most common fifty 73/131

Empirical study of the link quality metrics in indoor large scale wireless sensor networks continuous distributions with a bounded, semi-infinite, variable support or unbounded. The distributions that fitted the best are the following: Log-logistic (F(x;α,β,γ) = (1 + (β/(x γ) α ) 1 ), Johnson SB (F(x) = φ(γ + δln(z/(1 z)))), Beta (F(x;α,β) = B(x;α,β)/B(α,β)), Generalized Extreme { Value (F(x;µ,σ,ξ) = exp [ 1 + ξ ( x µ σ )] 1/ξ } ). We have used three common statistical tests: Kolmogorov- 0.12 0.1 100% 80% PRR gev 20% 80% PRR johnson sb 0% 20% PRR gev 0.1 0.09 0.08 100% 80% logl 80% 20% logl 0% 20% logl Density 0.08 0.06 Density 0.07 0.06 0.05 0.04 0.04 0.03 0.02 0.02 0.01 0 100 80 60 LQI (a) Probability density functions fitting LQI 40 20 0 0 100 90 80 70 60 50 40 RSSI[dBm] (b) Probability density functions fitting RSSI Figure 3: Distributions fitting LQI and RSSI for each link category. Smirnov, Chi-Square, and Anderson-Darling [Hub04] to find the best distributions for LQI and RSSI. We first categorize the measured values into three categories (good, intermediate, and bad) and run fit tests on candidate distributions. To decrease the number of samples to handle, we average the measured values of LQI and RSSI for each link. Fig. 3 shows the best distributions for each category: Log-Logistic for RSSI and Generalized Extreme Value as well as Johnson SB for LQI. We can observe that RSSI can easily indicate bad links, but it is difficult to distinguish good links from intermediate ones. LQI can help in this case, because it discriminates between good and intermediate links. 0.4 0.35 0.3 link 14 >29 (100%) link 14 >5 (95%) gev link 14 >56 (90%) gev link 14 >11 (80%) gev 1 0.9 0.8 0.7 link 14 >29 (100%) beta link 14 >5 (95%) beta link 14 >56 (90%) beta link 14 >11 (80%) beta Density 0.25 0.2 0.15 0.1 Density 0.6 0.5 0.4 0.3 0.2 0.05 0.1 0 20 15 10 LQI (a) Probability density functions fitting LQI 5 0 0 80 75 70 65 60 55 50 RSSI[dBm] (b) Probability density functions fitting RSSI Figure 4: Distributions fitting LQI and RSSI for specific links: 14 29 (PRR=100%), 14 5 (PRR=95%), 14 56 (PRR=90%), 14 11 (PRR=80%) Fig. 4 presents the distributions for the links of Node 14 that exhibit PRR of 100%, 95%, 90%, and 80%, respectively. The best distributions are Beta for RSSI and Generalized Extreme Value for LQI. We can observe that RSSI can fairly well discriminate between links with the respective values of PRR. LQI may further help to distinguish between them if the RSSI distributions overlap. 74/131

4 Related Work Ana Bildea, Olivier Alphand, Andrzej Duda Much work considered the problem of characterizing wireless link quality. Researchers identified three zones: the connected, the transitional, and the disconnected one [ZNB08, BKBJ + 11]. They reported that the links in the connected zone are stable contrary to the transitional zone. Our measurements also showed that bad links are also highly variable. Srinivasan et al. [SL06] claimed that the RSSI value can differentiate very good links (PRR > 99%). In a later study, the authors [SDTL10] argued that LQI is a good indicator for transitional (intermediate) links if it is averaged over a certain number of packets. However, the question of how to distinguish links with PRR below 99% is still open and our study provides some answers. 5 Conclusion and future work In this work, we report on the results of measurements of PRR, RSSI, and LQI on a indoor wireless sensor network testbed. We have found the distributions that fit the observed values when we consider three categories of links. The analysis shows that the network benefits from a large proportion of good links with respect to intermediate and bad links. In addition, the decrease of the transmission power to -10dBm only slightly affects the proportion of good links. Furthermore, we can conclude that RSSI can fairly well differenciate good and bad links while LQI can help discriminate intermediate links. In the future, we plan to use the results of the link characterization in routing and validate the approach on the SensLab testbed. References [BKBJ + 11] Nouha Baccour, Anis Koubía, Maissa Ben Jamía, Denis do Rosário, Habib Youssef, Mário Alves, and Leandro B. Becker. RadiaLE: A Framework for Designing and Assessing Link Quality Estimators in Wireless Sensor Networks. Ad Hoc Netw., 9(7):1165 1185, September 2011. [Hub04] Peter. J. Huber. Robust Statistics. Wiley, 2004. [MRBT08] Andreas F. Meier, Tobias Rein, Jan Beutel, and Lothar Thiele. Coping with unreliable channels: Efficient link estimation for low-power wireless sensor networks. In Proc. 5th Intl. Conf. Networked Sensing Systems (INSS 2008), pages 19 26, Kanazawa, Japan, Jun 2008. [SDTL10] [Sen] [SL06] Kannan Srinivasan, Prabal Dutta, Arsalan Tavakoli, and Philip Levis. An empirical study of low-power wireless. ACM Trans. Sen. Netw., 6(2):16:1 16:49, March 2010. Senslab. Very large scale open wireless sensor network testbed. http://www.senslab.info/. Kannan Srinivasan and Philip Levis. RSSI is Under Appreciated. In In Proceedings of the Third Workshop on Embedded Networked Sensors (EmNets, 2006. [WLMP10] T. Watteyne, S. Lanzisera, a. Mehta, and K. S. J. Pister. Mitigating Multipath Fading through Channel Hopping in Wireless Sensor Networks. 2010 IEEE International Conference on Communications, pages 1 5, May 2010. [ZNB08] Marco Zennaro, Hervé Ntareme, and Antoine Bagula. Experimental evaluation of temporal and energy characteristics of an outdoor sensor network. Proceedings of the International Conference on Mobile Technology, Applications, and Systems - Mobility 08, (Mobility):1, 2008. 75/131

Consensus pair-à-pair asynchrone dans les variétés Anass Bellachehab 1,2, Pascal Bianchi 2 et Jérémie Jakubowicz 1 1 SAMOVAR (UMR 5157), Télécom SudParis, Institut Mines-Télécom, 9 Rue Charles Fourier 91000 Évry, France 2 LTCI (UMR 5141), Télécom ParisTech, Institut Mines-Télécom, 37/39, rue Dareau, 75014 Paris, France L objectif de ce papier est de proposer une généralisation de l algorithme de consensus pair à pair distribué et asynchrone de [BGPS06] pour des données appartenant à une variété Riemmannienne. On montre sa convergence dans le cas où la variété est simplement connexe et sans points focaux. L intérêt de cet algorithme est illustré dans le cas où un réseaux de capteurs cherche à trouver un consensus sur des lois de probabilité discrète. Cependant le champ d applications couvertes par cet algorithme dépasse largement ce cadre. Keywords: consensus, réseau de capteurs, variétés riemanniennes 1 Introduction Les algorithmes de consensus distribués dans le cas de données vectorielles ont été beaucoup étudiés [Tsi84, BGPS06]. Ils sont fondamentaux à plusieurs titres. D abord parce qu ils forment une classe particulièrement simple à décrire d algorithmes dans les réseaux, mais aussi dans la mesure où ils servent d outils dans des tâches plus complexes telles que l optimisation distribuée [BT97], la synchronisation [SG07], etc. Leurs propriétés sont maintenant bien comprises : on sait les conditions dans lesquelles ils convergent suivant le mode utilisé (pair-à-pair, diffusion) [AYSS09, KDG03] ; la vitesse à laquelle ils convergent lorsqu il y a convergence, etc. Ils sont basés sur la structure euclidienne dans la mesure où ils utilisent des opérations linéaires (essentiellement des moyennes arithmétiques) et sont analysés en termes de distance euclidienne à la droite de consensus. Plus récemment, l intérêt s est porté à les étendre aux cas d espaces sous-jacents courbes tels que les variétés Riemmaniennes [DC92]. Dans le cas d un réseau de solides qui chercherait une orientation commune, il est naturel de formuler le problème comme un consensus dans l espace des matrices de rotations. Dans le cas d un réseau de capteurs dont l objectif consiste à choisir parmi un certain nombre fini d actions (par exemple en classification distribuée), on peut formuler le problème comme un consensus dans le simplexe. Dans ces cas on se persuade facilement que les moyennes arithmétiques sont à proscrire. Les travaux existants reformulent le problème en terme de minimisation d une fonction de Lyapounov basée sur la distance Riemmannienne équipant la variété [Bon11, TAV12]. Cette fonction s annule lorsque le réseau arrive dans un état de consensus. Ces travaux étudient alors les conditions dans lesquelles la procédure de minimisation aboutit à cet état de consensus. Ici, on choisit une approche différente, reprenant l idée de moyennes pair-à-pair [BGPS06], et en l adaptant au cadre Riemannien (on remplace ainsi la moyenne de deux vecteurs par le milieu d une géodésique entre deux points). On démontre que, sous certaines hypothèses naturelles sur la variété, cette manière de procéder converge. D autre part, on montre l intérêt de cette approche à travers des simulations numériques. La contribution de ce papier est donc double : un nouvel algorithme de gossip pour les variétés riemanniennes, et une analyse de convergence. Le reste du papier est organisé de la façon suivante. Dans la section 2, on précise le cadre et les notations utilisés. On détaille alors l algorithme proposé dans la section 3, puis on présente un résultat de convergence. Enfin des simulations numériques illustrant l intérêt de la méthode sont proposées en section 4. 76/131

2 Notations 2.1 Réseau Anass Bellachehab, Pascal Bianchi et Jérémie Jakubowicz On considère un réseau de N capteurs. On le représente comme un graphe non orienté et connexe G = (V,E) (cf. [Die05] pour plus de précisions sur les graphes). L ensemble des nœuds V = {v 1...v N } représente les capteurs et l ensemble des arêtes E représente les liens de communications entre ces capteurs. Plus spécifiquement, si deux nœuds (v i,v j ) V 2 peuvent communiquer directement entre eux (c est-à-dire sans avoir à passer par un nœud intermédiaire), alors on note {v i,v j } l arête de E les reliant. On se place dans le cas d un réseau asynchrone tel que décrit dans [BGPS06] : chaque nœud possède une horloge interne qui le réveille selon un processus de Poisson de paramètre λ > 0. Les horloges de chaque nœud sont supposées indépendantes. Comme présenté dans [BGPS06], ce modèle est équivalent au modèle fictif suivant : une horloge commune se réveille selon un processus de Poisson de paramètre N = Card(V )λ, puis, à chaque réveil, un nœud v est choisi aléatoirement uniformément dans le graphe. On note v(k) V le nœud choisi au kème réveil de l horloge centrale. D autre part, on suppose que v(k) est susceptible de réveiller à son tour un nœud voisin noté w(k). On a ainsi {v(k),w(k)} E à chaque itération k {0,1,...}. On suppose que w(k) est choisi uniformément aléatoirement parmi les voisins de v(k). Chaque capteur possède une mémoire qui lui permet de stocker des données. Dans le cadre de ce travail, on suppose que ces données sont des éléments d une variété riemannienne M de dimension n munie d une métrique g (cf. [DC92] pour plus de précisions sur les variétés riemanniennes). C est le cas par exemple dans un réseau de caméras, où chaque caméra stocke la matrice de rotation qui correspond à son orientation [TV09]. C est aussi le cas d un réseau de capteurs où chaque capteur estime une matrice de covariance [AMS09], une droite vectorielle [AMS09], une forme, etc. On détaillera une application où chaque capteur stocke une loi de probabilité sur un ensemble fini dans la section 4. Formellement, on note x v (k) la donnée associée au capteur v V, à l itération k. Les données initiales sont donc notées x v (0). On appelle consensus la situation où v V x v M est une application constante. L objectif du papier consiste à proposer un algorithme distribué et asynchrone qui converge vers un consensus avec probabilité 1. 2.2 Données Une méthodologie classique dans le cas où les données sont des éléments d un espace vectoriel consiste à calculer des moyennes arithmétiques [BGPS06]. Toutefois, dans le cadre de ce papier, la notion de moyenne arithmétique n est pas définie dans la mesure où elle repose sur une structure affine sous-jacente qui est absente ici. Par exemple, la moyenne arithmétique de deux matrices de rotations n est pas une matrice de rotation. Ou encore, la moyenne arithmétique de deux droites vectorielles n a pas de sens. Il faut donc procéder autrement dans le contexte des variétés. On appelle chemin la donnée d une fonction suffisamment régulière (cf [DC92]) c : [0,1] M. En notant g la métrique riemannienne considérée, la longueur l(c) du chemin c est alors définie par : l(c) = 1 0 g(c (t),c (t))dt. Dans le cas, d un espace euclidien, il s agit de la longueur euclidienne usuelle. On suppose que la variété M est telle qu entre chaque couple de points de (x,y) M 2, il existe un unique chemin de longueur minimale les rejoignant ; on note ce chemin [x,y] et on le désigne sous le terme de géodésique entre x et y. Dans le cas d un espace vectoriel euclidien [x, y] correspond simplement au segment de droite [x, y]. On définit aussi le point milieu x+y 2 [DC92] qui correspond à la moyenne arithmétique de x et y dans le cas euclidien. L existence de géodésiques minimisantes est une hypothèse relativement faible, qui est équivalente à la complétude de M [DC92]. L unicité des géodésiques est en revanche une hypothèse plus forte qui exclut les variétés possédant des points focaux ou conjugués [O S76] telles que les sphères. On appelle boule géodésique de centre p et de rayon r l ensemble : {q M d(p,q) r}. On dira que M est à boules 77/131

strictement convexes lorsque : ( ) x + y (x,y,z) M 3,x y d,z < max(d(x,z),d(y,z)) 2 On suppose dans ce qui suit que M est une variété à boules strictement convexes, ce qui est le cas par exemple pour les variétés simplement connexes sans point focaux ; ce qui est le cas du simplexe, figurant dans la section 4. 3 Résultats Dans cette section, on propose un nouvel algorithme de gossip dans le cas des variétés, pour lequel on énonce un résultat de convergence. 3.1 Algorithme L algorithme du gossip pair-à-pair asynchrone possède l extension suivante au cas des variétés. Algorithme 1 Gossip pair-à-pair asynchrone Input : un graphe G = (V,E) et la configuration initiale de nœuds associés x v (0),v V for all k N do Soit, v(k),w(k) G les deux nœuds voisins qui se sont réveillés à l instant k x v (k + 1) = x v(k)+x w (k) 2 x w (k + 1) = x v(k)+x w (k) 2 end for 3.2 Convergence Le résultat principal de ce papier est le suivant : Théorème 1. On suppose que la variété M est à boules strictement convexes. On suppose que Card(V ) = N. En notant X k = (x v1 (k),...,x vn (k)) la suite générée par l algorithme 1 : La convergence ayant lieu presque sûrement. x M, X k k X := (x,...,x ) Démonstration. On se contente de donner quelques éléments de preuve. On note D k = max{d ( X k (v),x k (w) ) : (v,w) V 2 } le diamètre de X k à l instant k. On montre que (D k ) k 0 est une suite décroissante. Si v et w sont les nœuds réveillés à l instant k + 1,alors deux cas sont possibles : 1. d(v(k),w(k)) = D k c est à dire que v et w sont des extrémités du diamètre, dans ce cas si après itération on a D k+1 > D k alors il existe un nœud r tel que d( v(k)+w(k) 2,r) > max(d(v(k),r);d(w(k),r)) > d(v(k),r)+d(w(k),r) 2 > D k 2 (la dernière inégalité résultant de l inégalité triangulaire) et donc la boule n est pas convexe, ce qui contredit les hypothèses. géodésique de centre v(k)+w(k) 2 et de rayon D k 2 2. d(v(k),w(k)) < D k, et dans ce cas v et w ne portent pas le diamètre. Si v et w sont des points qui portent le diamètre alors en posant : u = v (k)+w (k) 2 on obtient que v(k) et w(k) sont dans la boule de centre u et de rayon D k v(k)+w(k) 2 et donc par convexité que v(k + 1) = w(k + 1) = 2 y est aussi et donc que le rapprochement de v(k) et w(k) n influe pas sur le diamètre. Le reste de la preuve procède par l absurde pour établir la convergence de D k vers 0. 78/131

Anass Bellachehab, Pascal Bianchi et Jérémie Jakubowicz 4 Application à la classification distribuée L algorithme proposé est illustré dans la situation suivante : chaque nœud du réseau doit prendre une décision sur un nombre p < d hypothèses partagées par le réseau et le réseau cherche ensuite un consensus. Les exemples typiques incluent la détection d intrusion (deux hypothèses : intrusion/normal), la classification d avions par capteurs thermiques, etc. Dans ce contexte, la donnée de chaque nœud v est un élément de la forme x v = (x 1 v,...,x p v ) avec x i v 0 et i x i v = 1. La variété considérée est ainsi le simplexe de dimension p 1 muni de la métrique de Fisher [AN07]. Les expériences numériques confirment la convergence de l algorithme proposé. Ces expériences suggèrent aussi un bon comportement en terme de vitesse de convergence lorsque cet algorithme est comparé à un algorithme de type Gossip doux [Bon11, TAV12]. FIGURE 1: Comparaison entre l algorithme 1 et celui décrit dans [Bon11] (n=3). FIGURE 2: Comparaison entre l algorithme 1 et celui décrit dans [Bon11] (n=100). Références [AMS09] P-A Absil, R. Mahony, and R. Sepulchre. Optimization algorithms on matrix manifolds. Princeton University Press, 2009. [AN07] S-I Amari and H. Nagaoka. Methods of Information Geometry, volume 191. AMS, 2007. [AYSS09] T.C. Aysal, M.E. Yildiz, A.D. Sarwate, and A. Scaglione. Broadcast Gossip Algorithms for Consensus. IEEE Transactions on Signal Processing, 57(7) :2748 2761, 2009. [BGPS06] S. Boyd, A. Ghosh, B. Prabhakar, and D. Shah. Randomized gossip algorithms. IEEE Transactions on Information Theory, 52(6) :2508 2530, 2006. [Bon11] S. Bonnabel. Stochastic gradient descent on riemannian manifolds. arxiv preprint, 2011. [BT97] D. P. Bertsekas and J. N. Tsitsiklis. Parallel and Distributed Computation : Numerical Methods. Athena Scientific, 1997. [DC92] M.P. Do Carmo. Riemannian geometry. Birkhäuser, 1992. [Die05] R. Diestel. Graph Theory, volume 173 of Graduate Texts in Mathematics. Springer, 2005. [KDG03] D. Kempe, A. Dobra, and J. Gehrke. Gossip-based computation of aggregate information. In IEEE Foundations of Computer Science, 2003. [O S76] J. O Sullivan. Riemannian manifolds without focal points. J. Diff. Geom, 11 :321 333, 1976. [SG07] Luca Schenato and Giovanni Gamba. A distributed consensus protocol for clock synchronization in wireless sensor network. In 46th IEEE Conference on Decision and Control, 2007. [TAV12] R. Tron, B. Afsari, and R. Vidal. Intrinsic consensus on SO(3) with almost-global convergence. In 51st IEEE Conference on Decision and Control, 2012. [Tsi84] J. Tsitsiklis. Problems in Decentralized Decision Making and Computation. PhD thesis, 1984. [TV09] Roberto Tron and René Vidal. Distributed image-based 3-d localization of camera sensor networks. In IEEE Conference on Decision and Control, 2009. 79/131

Transport point à multipoint dans des réseaux sans fil multi-bandes Hicham Khalifé 1, Vania Conan 1, Jérémie Leguay 1 and Thrasyvoulos Spyropoulos 2 1 Thales Communications & Security - FRANCE 2 EURECOM - FRANCE Nous proposons un cadre protocolaire permettant de traiter par groupes plusieurs destinataires dans un réseau radio multi-bandes en mettant en œuvre un contrôle de flux spécifique pour chaque groupe. Cela consiste à établir et adapter dynamiquement pour chaque ensemble de récepteurs deux groupes de destinataires avec des rythmes différents. En fonction de ses propriétés ainsi que de la fréquence utilisée, un récepteur fera partie d un des groupes. Notre solution assure l affectation aux groupes grâce aux performances de chaque récepteur en se basant sur le calcul du délai aller-retour (RTT). La frontière entre les groupes ainsi que l association d un récepteur à un groupe sont optimisées dynamiquement. Une modélisation théorique ainsi que des validations numériques prouvent l optimalité de notre protocole. Keywords: réseaux sans fil multi-bandes, communications point à multipoint, protocole de transport 1 Introduction Les équipements sans fil sur étagère sont désormais capables d exploiter plusieurs bandes radio. Cela implique des communications plus agiles sur différentes bandes de fréquence et donc une plus grande diversité des débits. Dans un contexte de communication point à multipoint, où l objectif est d échanger des informations au sein d un ensemble de nœuds partageant des intérêts communs ou la même zone géographique, les destinataires radio peuvent utiliser plusieurs bandes du spectre ou se trouver à des distances différentes de l émetteur. Cela se traduit par des performances variées en termes de débit, délai et taux de pertes pour chacun des recepteurs d une même session. Dans la littérature des protocoles de transport pour les réseaux radio cognitives ont été proposés [CFA09] [SN10]. Clairement ces protocoles n adressent pas la problématique de gestion de plusieurs destinataires sur des bandes de fréquences différentes. D autre part, les protocoles multi destinataires connus aujourd hui ont été initialement conçus pour fonctionner avec un très grand nombre de récepteurs (sur Internet) [GJ03] [JGM + 02]. Ils sont donc incapables d adapter finement leur débit aux performances des recepteurs. Pour assurer un transfert de données dans un environnement hétérogène, le protocole NORM [BCHH09] semble être un bon candidat. Cependant, NORM ajuste son débit aux récepteurs les plus lents au risque de gaspiller les ressources importantes dont bénéficient les destinataires exploitant des canaux haut débit. Nous proposons un protocole innovant qui exploite les acquittements afin de discriminer dynamiquement les récepteurs pour les réunir par groupe en fonction de leur performance. Notre mécanisme est dirigé par la source du message qui s assure d une part que les nœuds bénéficiant de conditions radio favorables recevront les données au plus vite et d autre part de la fiabilisation de tous les messages émis. Notre classification optimise le débit total du réseau en se basant sur les mesures des temps aller-retour (RTT) de chaque récepteur. Notre modélisation ainsi que nos validations numériques montrent que notre modèle adapte dynamiquemnt le débit de chaque groupe de destinataires de façon à maximiser l utilisation des ressources radio. 80/131

Hicham Khalifé, Vania Conan, Jérémie Leguay and Thrasyvoulos Spyropoulos 2 Protocole de transport point à multipoint Notre objectif est de proposer un contrôle de débit et une fiabilisation point à multipoint lorsque les destinataires possèdent des capacités différentes (par exemple, débit, délai, perte). Cela se produit particulièrement quand plusieurs bandes radio ayant des propriétés hétérogènes (fréquence, largeur) sont choisies pour transmettre les mêmes messages à de multiples destinataires. Le problème se résume à gérer la cadence d envoi des paquets vers plusieurs récepteurs lorsque les vitesses de réception des destinataires sont différentes. Dans un réseau multi-destinataires, le débit d un groupe de N membres est exprimé comme la somme des débits de tous les membres du groupe : Φ group = N i=0 Φ i où Φ i représente le débit observé par le membre i du groupe. Afin d éviter que les destinataires qui opèrent sur des bandes radio à bas débit ne pénalisent la capacité des autres, nous proposons de répartir les destinataires dans des ensembles séparés. Nous basons notre discrimination sur le temps aller-retour (RTT) observé par la source pour chacun des destinataires. En considérant 2 groupes, un seul seuil T suffit pour séparer entre les 2 ensembles d utilisateurs. Les récepteurs ayant un RTT inférieur à T seront considérés comme rapides et ceux observant des délais aller-retour plus grand que T feront parties du groupe lent. Notre protocole est guidé par la source qui maintient dans une base de données pour chaque flux, le groupe d appartenance ainsi que le RTT moyen de chacun de ses destinataires. Sur l interface de sortie de la source, 2 buffers sont ajoutés. Un buffer pour chaque groupe. En mode de fonctionnement nominal, la source envoie un message au groupe rapide toutes les T secondes et transmet aux lents à chaque T max. Plus précisément, la source émet le message en attente dans la file des rapides et attend le retour des acquittements. Après T secondes, les récepteurs ayant répondu sont labélisés comme rapides, tous les autres feront partie du groupe lent dans la base de données. Dans notre implémentation, nous utilisons une moyenne lissée des RTT portant sur un nombre de mesures pour définir l appartenance aux groupes afin d éviter les oscillations. Le message est ensuite transmis à la file des lents en attendant sa nouvelle émission à T max. Plus généralement, le contrôle de débit de notre protocole est dicté par T et T max de la façon suivante : A chaque réception d ACK la source calcule le temps aller-retour du recepteur et met à jour la base de données. Toutes les T secondes L émetteur fait le bilan des ACK reçus pour le dernier message envoyé et le déplace vers la file du groupe lent L émetteur récupère (pop) un nouveau message à envoyer de la couche supérieure Il consulte la base de données pour obtenir l adresse des nœuds faisant partie du groupe rapide, Envoie ce message aux destinataires ainsi retrouvés Toutes les Tmax secondes Le message en tête de file du buffer lent est envoyé aux nœuds n aynt pas déjà reçu ce message En cas de pertes, des rattrapages sont effectués ultérieurement PourcalculerlavaleuroptimaledeT,cellequimaximiseledébittotaleduréseau,nousproposons un algorithme glouton. L idée principale de notre démarche consiste à obtenir T en calculant la valeur du débit maximal avec le RTT de chacun des récepteurs. La source trie les RTT dans notre base de données. Puis pour chaque valeur de RTT, elle calcule le débit total du réseau dans le cas où T est égal à ce RTT et tous les autres utilisateurs souffrant d un délai plus grand sont classés comme lents. Cette boucle nous retourne le RTT qui assure le débit maximal, nous fixons alors T à une valeur légérement supérieure à ce RTT (+ ǫ). A noter ici quelavaleurt max dépenddurttdurécepteurlepluslent.encasdechangementdeperformances du récepteur le plus lent, T max devrait être modifié. En revanche, cela a un impact sur le calcul de T et donc sur la composition des deux groupes, comme montré plus bas. 81/131

Transport point à multipoint dans des réseaux sans fil multi-bandes 3 Modélisation analytique du cas bimodal Dans cette partie nous proposons un modèle simple qui permet d étudier le comportement de notre protocole. Nous considérons que les récepteurs se partagent naturellement en deux catégories a et b, de sorte que les RTT suivent une loi bimodale αx a +(1 α)x b, avec 0 < α < 1 représentant la proportion de récepteurs rapides. En notant f a (resp. f b ) la fonction de répartition de X a (resp. X b ), et en considérant qu on sert le premier groupe (des rapides) à T et le deuxième groupe (des lents) à T max, le débit total s écrit : Φ = T 0 (αf a(t)+(1 α)f b (t))dt + T Tmax T (αf a (t)+(1 α)f b (t))dt T max (1) Nous pouvons imaginer plusieurs stratégies pour affecter les récepteurs aux deux groupes. (i) Nous pouvons faire une affectation statique, en mettant tous les récepteurs rapides dans le premier groupe, et tous les récepteurs lents dans le deuxième. (ii) Nous pouvons maximiser le débit du groupe rapide seulement, ce qui peut se produire quand le paramètre T max est fixé a priori à une valeur élevée pour garantir la fiabilité du protocole. (iii) Nous pouvons maximiser le débit total des deux groupes. Dans le modèle, on considère que f a (resp.f b ) est une fonction positive, symétrique autour de sa moyenne a (resp.b), de support fini de longueur l, avec l < a (resp.m, avec b < m), nulle en dehors de [a l,a+l] (resp.[b m,b+m]), concave et C2 sur ]a l,a+l[ (resp.]b m,b+m[). On s intéresse au cas de la Figure 1(a) où les deux catégories sont bien séparées (ie. b > a+l+m). Cas (i) : le débit est donné par Φ = α a+l + 1 α et les groupes sont statiques. Dans les cas b+m (ii) et (iii) les groupes sont dynamiques et sont définis par la valeur du seuil T. Dans ces derniers cas, on démontre que T ne peut prendre que deux valeurs possibles. Donnons le résultat dans le cas (ii). cas(ii) - Maximisation du débit du groupe rapide. Avec les hypothèses ci-dessus, le maximum de débit du groupe rapide est atteint pour seulement deux valeurs possibles de T : T = t a ou T = θ b. t a estl unique solution dans [a,a+l] de tf a (t) t 0 f a(t)dt = 0 et représente la valeur de débit maximum pour les récepteurs rapides seuls; θ b est l unique solution dans [b,b+m] de tf b (t) t 0 f b(t)dt = α 1 α et correspond à la maximisation du débit des lents. Si t = t a, le premier groupe ne contient que des récepteurs rapides, et si t = θ b, c est le second groupe qui ne contient que des lents. De plus, en posant α min = min( bf b(b) 1/2 bf b (b)+1/2, f b (θ b ) f b (θ b )+f a (t a ) ), on peut affirmer que si α > α min, t = t a, ce qui veut dire lorsqu il y a une proportion suffisante de récepteurs rapides, alors le premier groupe ne contient que des rapides. cas(iii) - Maximisation du débit total. La même tendance s observe dans le cas (iii) que dans le cas (ii), à savoir qu il n existe également que deux valeurs possibles pour le seuil T. Ce résultat est obtenu de la même manière que dans le cas (ii), en introduisant la fonction φ(t) = t 0 f b(t)dt(1 t b+m )quijouelerolede t 0 f b(t)dt.danscecaslaprésencenonnulledudébitapporté par les récepteurs lents conduit à des valeurs de t a et θ b inférieures à t a et θ b respectivement. En conséquence, en comparant les valeurs de seuils α min pour les deux cas (ii) et (iii), nous nous apercevons que la prise en compte du débit des récepteurs lents permet le maintien de groupes rapides homogènes pour des valeurs de α plus faibles. En d autres termes, la maximisation du débit total (iii) est moins sensible à la diminution de la proportion de récepteurs rapides. C est ce que nous vérifions pour le protocole dans la section suivante. 4 Validations numériques Nous validons notre modélisation à l aide de résultats numériques issus de l implémentation de l algorithme de calcul de T de notre protocole. Dans nos simulations nous avons représenté la dis- 82/131

Hicham Khalifé, Vania Conan, Jérémie Leguay and Thrasyvoulos Spyropoulos Débit normalisé 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 Tmax=70 Tmax = 35 0.3 5 10 15 20 25 30 35 temps (secondes) Débit normalisé 0.85 0.8 0.75 0.7 0.65 0.6 0.55 0.5 0.45 0.4 0.35 Tmax=70 Tmax = 35 10 15 20 25 30 35 temps (secondes) (a) modèle considéré (b) α=0.5 (c) α=0.25 Figure 1: Modèle considéré et impact de T max sur la proportion des rapides, α. tribution des retours des acquittements des différents récepteurs par une loi normale N(τ,σ 2 ). Plus précisément, nous avons généré des arrivées d ACK à la source suivant 2 lois normales possédant chacune une espérance τ différente. Nous comparons en particulier ici, les cas (ii) où T max est grand (fixé à 70 pour représenter l infini), c est à dire une maximisation du débit du premier groupe au cas (iii) où T max est fixée de façon à maximiser le débit total du réseau. Les Figures 1(b) et 1(c), montrent le cas de 2 distributions normales de RTT avec N(12,1) et N(30,1). Dans 1(b) la proportion de récépteurs dans le groupe rapide est fixée à 50% tandis que dans 1(c) 25% des récépteurs seulement font partie du premier groupe. Ces courbes corroborent les résultats de notre modèle qui montre que le cas (iii) est moins sensible à la proportion de récépteurs rapides dans sa maximisation du débit. En effet en réduisant α, une valeur de T qui maximise le débit totale se situe a la fin du premier groupe même quand T max est fini mais à la fin du second groupe pour T max infini (1(c)). Pour α=0.5 (1(b)), T max n a pas d impact sur la répartition des groupes. Ce résultat montre l importance de l optimisation de la valeur de T max qui en plus d être un paramètre de fiabilité du protocole, joue un rôle important dans la maximisation du débit de l émetteur. 5 Conclusion Nous avons présenté un protocole de transport point à multipoint pour réseaux sans fil multibandes. Notre protocole transmet à un débit adéquat à chaque récepteur tout en optimisant l utilisation de la bande passante. Pour ce faire, nous créons 2 groupes d utilisateurs et otpimisons le conjointement le débit de chacun des groupes. Nous avons analysé les performances de notre protocole analytiquement puis par validation numérique. Nous avons montré qu il est adapté aux réseaux sans fil multi-bandes tel que les réseaux radio cognitive. Dans le futur nous souhaitons étudier l extension de notre protocole pour optimiser le débit avec N groupes de récepteurs. Références [BCHH09] B.Adamson, C.Bormann, M. Handley, and M. Handley. Nack-oriented reliable multicast (norm) transport protocol. RFC 5740., 2009. [CFA09] KR Chowdhury, M Di Felice, and IF Akyildiz. Tp-crahn : A transport protocol for cognitive radio ad-hoc networks. In IEEE infocom conf, 2009. [GJ03] G.Kwon and J.Byers. Smooth multirate multicast congestion control. In IEEE infocom conf, 2003. [JGM + 02] J.Byers, G.Horn, M.Luby, M.Mitzenmacher, and W.Shaver. Fliddl : Congestion control for layered multicast. IEEE Journal of Seleted Areas in Communication (JSAC), 2002. [SN10] D Sarkar and H Narayan. Transport layer protocols for cognitive networks. In IEEE infocom workshops, 2010. 83/131

Fractional Combinatorial Games on Graphs Ronan P. Soares 12 1 COATI, INRIA, I3S(CNRS/UNS), Sophia Antipolis, France 2 ParGO Research Group, UFC, Fortaleza, Brazil De nombreux jeux impliquant deux joueurs dans un graphe ont été étudiés en théorie des graphes, par exemple: Gendarmes et voleur, Ange et Démon, Observeur et surfeur, Dominants universels, etc. Outre la capture d un fugitif ou la lutte contre feu, ces jeux ont aussi des applications dans les réseaux de télécommunications car, d une part, ils permettent de mieux apréhender les structures des réseaux, et d autre part, ils permettent de modéliser et d étudier des problèmes de ces réseaux (e.g., problème de cache dans l internet). Dans tous ces jeux, chaque joueur contrôle des jetons sur les sommets du graphe et selon les jeux, les joueurs peuvent: déplacer des jetons le long des arêtes du graphe, ajouter/supprimer des jetons, etc. Dans ce travail, nous proposons une approche générale en définissant un jeu qui constitue, entre autre, une relaxation fractionnaire de tous les jeux mentionnés ci-dessus. Pour ce jeu générique, nous montrons qu il existe un algorithme en temps polynomial, en le nombre de sommets du graphe et le nombre de maximum de tours de jeu autorisés, pour décider si un des joueurs a une stratégie gagnante. Entre autre, cet algorithme permets d avoir une strategie gagnante, avec forte probabilité, pour le problème de cache. Keywords: Graph, Surveillance, Fractional Surveillance, Approximation 1 Introduction In graph theory, various combinatorial games played on graphs have been studied. On the one hand, they provide a better understanding of graph structures which helped to design efficient algorithms to solve problems in telecommunication networks [KLNS12]. On the other hand, such games provide nice theoretical models for telecommunication networks problems themselves [FGJM + 12]. In this paper, we present a new approach, based on fractional relaxation of linear programming, for studying these problems. In particular, it leads to a polynomial-time algorithm that computes lower bound for these problems. Combinatorial games. A combinatorial game refers to a turn-by-turn game played by two players, C and R, on a (di)graph. In graph theory, many such games have been studied and share several properties. In Cops and Robbers games [AF84], Player C controls a team of k N cops and R controls one robber. C starts by choosing vertices of G to put its cops, then R chooses a vertex of G to put its robber. Then, turn-by-turn, first C may move each of its cops along one edge, then R may do the same with its robber. C wins if its cops are able to capture the robber, i.e. if a cop occupies the same vertex as the robber. The objective of R is to avoid capture indefinitely. A winning strategy for C is a function that describes the next move for C to win. It assigns to every state (positions of the cops and of the robber) the moves that must be done by the cops to ensure the capture of the robber whatever its moves may be. The main question is to decide if there is a winning strategy for C using a predetermined number of cops. The structural characterization of graphs for which C with k cops wins has led to many studies [BN11] and applications in telecommunication networks [KLNS12]. Unfortunately, deciding the smallest k such that C wins in a graph is PSPACE-complete [Mam12]. Another such a game has been defined to model the web-page caching and, more generally, prefetching problems [FGJM + 12]. In the surveillance game, C first marks a node where R must place its token. Then, turn-by-turn, C marks at most k N nodes and R may move its token along an edge. C wins if it can mark all nodes before R reaches an unmarked vertex. Computing the smallest k such that C has a winning strategy is PSPACE-complete [FGJM + 12]. A full version of this paper can be found in [GNPS13]. 84/131

Ronan P. Soares The idea of a fractional game and results presented in this work can be applied to many other combinatorial games such as variants of Cops and Robber games [Mam12], Angels and Devils [BCG82], Eternal Dominating Sets [BCG + 04] and Eternal Vertex Cover [KM11]. All these games can be described in an unified way. Initially, both players place some tokens, then, turn-by turn, first C plays then R plays. The goal of C is to reach some particular state while R wants to perpetually avoid it. Fractional games. In order to unify and provide some solutions for these combinatorial games, we define the notion of Fractional Combinatorial Game. Specifically, we propose a framework for a combinatorial game where C and R are allowed to use fractions of tokens on the vertices of a graph of order n. For instance, in a 4-node cycle C 4, it is easy to see that 2 cops are necessary to capture one robber in the integral (classical) game. On the other hand, if C initially places half-cops on three nodes of C 4 (i.e., using 3/2 cops in total), we can prove that C can capture one splittable robber (exercise let to the reader). Our results. We define the notion of a fractional game in which both players can split their tokens, of semi-fractional game in which only C can split its tokens and of integral games in which tokens are not splittable. In particular, all above mentioned games are integral games. The main characteristic of these fractional games is that they satisfy some convexity property. Thanks to this property, we are able to design an algorithm that, given a fractional game in a n-node graph, decides whether there is a strategy for C to win in t N turns and, if C can win, that computes a corresponding winning strategy. This algorithm is polynomial in t and in the size of the game. In all above mentioned games, the size of the game is polynomial in n and, therefore, our algorithm can decide in time polynomial in n if C can win the fractional game in a number of turns polynomial in n. Our second result is that, under a weak additional assumption which is satisfied in all games mentioned, C wins the fractional game in t 0 turns if and only if it wins the semi-fractional game in t turns. Since if C wins the integral game, then it wins the semi-fractional game, this implies that C wins the integral game only if it wins the fractional game. Therefore, our algorithm computes lower bounds for the optimization problems corresponding to the integral games. Lastly, in the surveillance game, we show an integral strategy, that wins against R with high probability. Moreover, the expected cost of this integral strategy is in O(logn) factor from the fractional strategy. 2 Fractional Games (Fractional Surveillance Game) We define a family of Fractional Combinatorial Games in a n-node graph G (with vertex-set V (G) = {1,...,n}) in which two players turn-by-turn modify a real vector representing their positions on G (the state of the game). In a Fractional Combinatorial Game, the moves allowed for each player are described as convex operators on vectors in R O(n). The game is also defined by various convex sets of R O(n) : the set W C of winning states, the set I of initial states, the set V of valid states. C wins the game if it reaches a state in W C before t N turns. R wins otherwise or if it reaches a state not in V. Due to space restrictions, and for an easier description, we focus on the Surveillance Game. We describe the fractional variant of this game and the main guidelines of our algorithm to solve it. The amount of tokens belonging to C on each vertex i of G is represented as a vector c R n + in which c i is the amount of tokens on vertex i. Similarly, the amount tokens of R is represented as a vector r R n +. A state of the game is a pair (c,r) R n + R n +. At each turn, C is allowed to place fractions of marks on nodes of G but must place at most k marks in total. The set of possible moves for C is the set X C (k) of vectors x R n + such that n i=1 x i k. In other words, during its turn, C can move the current state of the game (c,r) to a state (c + x,r) with x X C (k). The set of possible moves for R is the set R of matrices δ [0,1] n [0,1] n such that it satisfies these two restrictions: if (i, j) is not an arc of G then δ i, j = 0 and n i=0 δ i, j = 1 for all j V (G). In other words, during its turn, R can move the game from state (c,r) to the state (c,δr) with δ R and if δ is a matrix in R, then δ i, j represents the amount of tokens of R that moves from vertex j to vertex i during a move of R. The fractional surveillance game played on a digraph G with initial state (c, r) is a turn-by-turn game starting with player C where C, during its turn, moves the current state (c,r) to an (c + x,r) with x X C (k) and R, during its turn, moves the current state (c,r) to (c,δr) with δ R. The game is won by R as soon as there exists i V (G) such that r i > c i in the current state of the game. Otherwise, C wins when c i 1 for all i V (G). 85/131

Fractional Combinatorial Games on Graphs The fractional surveillance number, fsn(g, v), is the minimum k such that C can always win the fractional surveillance game against R regardless of its moves where the initial state (c v,r v ) given by c v = r v = 1 and for all other vertices i we have c i = r i = 0. Let a round be composed of one turn of C and one turn of R. One simple remark is that the game is over in at most ( V (G) 1)/k rounds. This is a direct consequence from the fact that, at each step that is not the last, C can use all its k marks. The integral surveillance game is the restriction of the fractional game when the states of the game are vectors of N n N n, the moves of C are vectors of N n and the moves of R are {0,1} n n matrices. 3 Polynomial-time Algorithm for the Fractional Game The main ideas to design a polynomial-time algorithm is as follows. We use a set of linear inequality (i.e., a linear program) to describe the set C t of states from which C can win in t > 0 rounds. Then, in polynomial time, we compute the linear program describing C t+1. More precisely, we prove: Theorem 1. For any digraph G and initial vertex v V (G), there is a polynomial-time (in n) algorithm that decides if C can win a fractional game. If the answer is positive, our algorithm computes the corresponding winning strategy for C. Let R 0 be the set of winning states for C, i.e., the set of states (c,r) with c i 1, for any i n. Let i > 0 and C i (resp., R i ) be the set of the states (c,r) such that, starting from (c,r) and if the first move is done by C (resp., by R ), C can win the game, in at most i rounds and using at most k marks per turn. By induction on i > 0, we build a description of C i from a the one of R i 1, then a description of R i is obtained from the one of C i. These descriptions have size (number of variables and inequalities) polynomial in n. This process is repeated until a description of C F is obtained. Finally, C wins starting from v if and only if (c v ),r v ) C F which can be checked in polynomial-time (e.g., by the ellipsoid method). Obtaining C t from R t 1. Assume that R t 1 is described by a linear program with polynomial number of variables and inequalities. Note that R 0 = {(c,r) R 2n + i n,c i 1, and i n r i = 1}. It is not difficult to prove that: Lemma 2. The state (c,r) belongs to C t c i r i for all i V (G) and there is x X C (k) such that (c+x,r) belongs to R t 1. Roughly, Lemma 2 states that C can win in t rounds if and only if C can do a move ( x X C (k)) to reach a state (c + x,r)r t 1 in which C wins in t 1 rounds when R starts playing. Let L R be the linear program describing R t 1. Assume that L R has (among others) variables c t 1 i and r i, 1 i n, that represent the state of the game. To describe C t, we add to L R new variables c t i, i n, describing the configuration of C at this turn and variables x i (i n) representing the amount of marks that must be added at node i by C at this turn. Then we add the following inequalities x i 0, c t i 0, ct i +x i = c i, c t i r i for all i V(G) and n i=1 x i k. Clearly, a vector satisfying L C is such that (c t 1,...,ct n,r 1,...,r n ) C t. Moreover, the number of new variables and inequalities is polynomial in n. Obtaining R t from C t. In what follows, to obtain a linear program describing R t assume that there is a linear program describing C t that has size is polynomial in n. It is not difficult to prove that: Lemma 3. The state (c,r) belongs to R t c i r i for all i V (G) and for all δ R we have that (c,δr) belongs to C t. That is, a state (c,r) is in R t if for every possible move δ of R the state (c,δr) satisfies all inequalities describing C t. In other words, (c,r) R t means that whatever be the move of R, it reaches a state in C t where C wins in t rounds. A state (c,r) is in R t if for every possible move δ of R the state (c,δr) satisfies all inequalities describing C t. Let A i (c,r) b i be an inequality in the linear program describing C t. The main tool used in the proof of Lemma 3 is that there are specific elements δ i R such that if A i (c,δ i r) b i then A i (c,δr) b i for all other elements δ R. In other words, for each inequality describing C t there is a best move for R in order to violate this inequality. Another important property of these specific elements is that they can be found in polynomial time in n. 86/131

Ronan P. Soares The linear program for R t is obtained by taking each inequality, A i (c,r) b i, describing C t and rewriting it in the following manner. Let (B 1,B 2 ) be equal to A i. We can rewrite A i (c,r) b i as B 1 c+b 2 r b i. Then, in the linear program for R t, the inequality A i (c,r) b i is replaced by B 1 c + B 2 δ i r b i. 4 Integral Surveillance and Integral Winning Strategy Let the semi-fractional surveillance game be the game the states are given by vectors in R n + N n, the moves of C by vectors in R n + and the moves of R by {0,1} n n matrices. In other words, only R is not allowed to split itself. Let sfsn(g,v) be the minimum number of marks such that C always wins regardless of the moves made by R in the semi-fractional surveillance game. Clearly, C wins in the semi-fractional game only if C wins in the fractional game (because R is less powerful in the semi-fractional game). On the other hand, C wins in the integral game only if C wins in the semi-fractional game (since C is less powerful in the integral game)the best move for C that we identify in previous section appears to be integralit follows that: Theorem 4. For any digraph G and v V (G) we have: fsn(g, v) = sfsn(g, v) sn(g, v). This is a direct result from the fact that among the specific elements for inequality A i (m,s) b i describing C t there is always one δ i that is integral. This roughly means that the best strategy for R is to, during its turn, either move all its tokens on a vertex to a neighbor or to pass its turn. Theorem 5. If C wins the fractional surveillance game with k marks in an n-node graph, then C wins the Surveillance Game with high probability it is allowed to use O(k logn) number of marks. To show how C can win with high probability, let (c,r) be the current state of the game before each turn of C. If x i is the amount of marks that a fractionary C uses in i V (G) when the initial state is given by (c,r), then the integral C repeats O(logn) times a test with probability x i, if any of these test gives a positive result then C marks vertex i. Then, by follwing the proof of the O(log n)-approximation for set cover in [Vaz04], this strategy has the desired properties. 5 Conclusion We think that such an approach can lead to approximation algorithms for other games compatible with this framework. For instance, this approach could lead to new insights into solving the Meyniel s conjecture (O( n) cops can capture one robber in any n-node graph). An important question is to know if the games related to tree-decompositions can fit this framework. References [AF84] M. Aigner and M. Fromme. A game of cops and robbers. Discrete Applied Maths., 8(1):1 12, 1984. [BCG82] [BCG + 04] [BN11] E.R. Berlekamp, J.H. Conway, and R.K. Guy. Winning Ways, for Your Mathematical Plays: Games in particular. Winning Ways. Academic Press, 1982. A.P. Burger, E.J. Cockayne, W.R. Grundlingh, C.M. Mynhardt, J.H. van Vuuren, and W. Winterbach. Infinite order domination in graphs. J. of Comb. Maths. and Comb. Comp., 50:179 194, 2004. A. Bonato and R.J. Nowakowski. The Game of Cops and Robbers on Graphs. Student Mathematical Library. American Mathematical Society, 2011. [FGJM + 12] F.V. Fomin, F. Giroire, A. Jean-Marie, D. Mazauric, and N. Nisse. To satisfy impatient web surfers is hard. In Fun with Algorithms, volume 7288 of LNCS, pages 166 176. 2012. Best paper in AlgoTel 12. [GNPS13] [KLNS12] [KM11] F. Giroire, N. Nisse, S. Perennes, and R.P. Soares. Fractional combinatorial games, 2013. http:// www-sop.inria.fr/members/ronan.pardo_soares/fractionalgames.pdf. A. Kosowski, B. Li, N. Nisse, and K. Suchan. k-chordal graphs: From cops and robber to compact routing via treewidth. In ICALP, volume 7392 of LNCS, pages 610 622. 2012. Also published in AlgoTel 12. W. Klostermeyer and C.M. Mynhardt. Graphs with equal eternal vertex cover and eternal domination numbers. Discrete Mathematics, 311(14):1371 1379, 2011. [Mam12] M. Mamino. On the computational complexity of a game of cops and robbers, 2012. CoRR abs/1202.6043. [Vaz04] V.V. Vazirani. Approximation Algorithms. Springer, 2004. 87/131

Accélération matérielle pour le traitement de trafic sur FPGA Tristan Groléat 1 and Sandrine Vaton 1 and Matthieu Arzel 1 1 Télécom Bretagne - Technopôle Brest-Iroise - CS 83818-29238 Brest Cedex 3 - France Les débits augmentant en cœur de réseau comme dans l accès, les algorithmes de traitement de trafic doivent fonctionner à des vitesses toujours plus élevées. Or il est souvent impossible de traiter des débits de l ordre de 10 à 100 Gb/s sur des ordinateurs conventionnels. Les FPGAs sont des puces programmables à très bas niveau, particulièrement adaptées pour atteindre ce genre de vitesses. Au travers de deux applications courantes dans les réseaux : la classification et la génération de trafic, cet article montre la méthode de mise en place et l intérêt de l accélération matérielle pour le traitement de trafic. Keywords: Traitement de trafic, FPGA, accélération matérielle, classification, génération de trafic 1 Introduction Le traitement de trafic est une tâche de base dans les réseaux. Lors du développement de nouveaux algorithmes dans ce domaine, il est indispensable de s assurer qu ils pourront fonctionner à des débits adaptés au type de trafic qu ils ont à traiter. Actuellement, des débits de l ordre de 10 à 100 Gb/s sont fréquents. Or la section 2 va montrer qu une implémentation logicielle est très limitée en termes de débit et de fiabilité. C est pourquoi cet article s intéresse aux FPGAs, des puces programmables à très bas niveau, qui permettent d apporter une accélération matérielle aux algorithmes de traitement de trafic. C est une solution efficace et raisonnablement peu coûteuse pour prouver le passage à l échelle de nouveaux algorithmes proposés. L utilité des FPGAs sera expliquée à travers deux exemples. Le premier (section 3) sera la classification de trafic basée sur un algorithme d apprentissage supervisé : les Support Vector Machines (SVM) [CV95]. L objectif est d attribuer aux paquets reçus une classe (pair à pair, navigation web, streaming vidéo...) à 10 Gb/s. Comme la classification nécessite de nombreux calculs, l architecture massivement parallèle des FPGAs sera mise en avant. Le second exemple est la génération de trafic (section 4). Un générateur a été développé capable d envoyer des paquets avec des propriétés spécifiées à 10 Gb/s. Son code est ouvert et disponible en ligne [tel13]. Ce générateur est très flexible et précis. La flexibilité est en partie permise par la possibilité de reconfigurer les FPGAs, et la précision par celle de contrôler leur fonctionnement au cycle d horloge (5,3 ns) près. 2 L accélération matérielle La grande flexibilité du développement logiciel et la disponibilité d ordinateurs puissants font penser que tout peut être fait en logiciel. Cependant l architecture des ordinateurs, avec de nombreuses couches logicielles, ne permet pas un contrôle complet du trafic, en particulier des débits et délais inter-paquets. Pour remédier à ce problème, N. Bonelli et al. [BDPGP12] ont modifié le fonctionnement du noyau de leur système et développé une nouvelle socket qui permet un meilleur contrôle du trafic. Leur générateur de trafic atteint ainsi les 10 Gb/s sur un ordinateur puissant, mais pas s il génère des petits paquets (64 octets : la taille minimum pour Ethernet). Ces limites montrent l intérêt de l accélération matérielle dés que l on cherche à aller à plus de 10 Gb/s ou à faire des traitement complexes. Les FPGAs sont une solution possible. Il existe principalement 2 88/131

Tristan Groléat and Sandrine Vaton and Matthieu Arzel cartes spécialisées dans le traitement de trafic : la NetFPGA 10G [net12], avec 4 interfaces à 10 Gb/s et la Combov2 d INVEA TECH [IT12], avec 2 à 4 interfaces à 10 Gb/s. La programmation d un FPGA se fait au niveau des portes logiques, au cycle d horloge près. Ceci permet des traitements massivement parallèles et un contrôle très précis des délais. 3 La classification de trafic 3.1 Algorithme L algorithme de classification implémenté est léger en comparaison de la Deep Packet Inspection, mais nécessite quand même de faire des calculs à haut débit pour traiter 10 Gb/s. Les SVMs sont utilisées pour faire de la classification supervisée. Il a été montré que cette méthode est efficace [WZA06]. La classification se fait par flot TCP ou UDP, les 3 propriétés utilisées étant les tailles des 3 premiers paquets non vides des flots [EGS09]. L algorithme SVM fonctionne en deux phases : l apprentissage puis la classification. Lors de l apprentissage, une trace étiquetée est utilisée pour calculer un modèle SVM. Ce modèle contient en particulier des vecteurs support, utilisés ensuite pour classifier les vecteurs inconnus. Dans cet article, seule l implémentation de la phase de classification est étudiée. L apprentissage est fait au préalable. Un prototype logiciel a été fait grâce à la librairie ouverte LibSVM. L objectif était de vérifier la précision de la classification et la vitesse de l algorithme. La trace étiquetée utilisée pour les tests a été fournie par un laboratoire d Ericsson. Elle contient 39 056 flots dans 8 classes différentes, et il faudrait traiter 27 805 flots par seconde pour pouvoir la classifier à 10 Gb/s. Le prototype donne environ 98 % de flots placés dans la bonne classe, quand l apprentissage est fait sur 1/5 de la trace et la classification sur les 4/5 restants. Au niveau de la vitesse, sur un processeur 2.66 GHz 6-core Xeon X5650 et 12 Go de RAM DDR3, en utilisant LibSVM avec OpenMP pour le support du multi-processus, on obtient un traitement de 4655 flots par seconde, soit 17 % des pré-requis. Ceci ne prend même pas en compte la nécessaire étape de traitement des paquets avant la classification. 3.2 Implémentation matérielle Pour classifier un flot, l algorithme SVM consiste à calculer une fonction noyau entre le vecteur à classifier x et chaque vecteur support x i. La fonction noyau la plus utilisée est appelée RBF (Radial Basis Function) : K(x i,x) = exp ( γ x i x 2). Une fois cette fonction calculée pour chaque vecteur support, un mécanisme de sommes puis de vote permet de choisir la classe du flot. L intérêt de l implémentation matérielle est de permettre une parallélisation massive des calculs. Ici : le calcul de x i x 2 nécessite 3 soustractions (les vecteurs ont 3 dimensions), 3 calculs de carrés puis une somme. Ceci peut se faire en parallèle : les 3 soustractions suivies des carrés en même temps, et enfin la somme. Le calcul de l exponentielle doit se faire autant de fois qu il y a de vecteurs support, soit 3160 fois ici. La surface du FPGA ne permet pas de faire les 3160 calculs en même temps. On mettra cependant le maximum d unités de calcul en parallèle, divisant d autant le temps mis pour chaque classification. Les autres calculs (sommes, mécanisme de vote...) dépendent les uns des autres et ne peuvent pas être faits en parallèle. Un pipeline sera cependant créé : chaque unité de calcul travaille en même temps, mais sur des données différentes. Par exemple dans le calcul de la norme : il faut calculer une soustraction, puis un carré, et enfin une somme. En même temps que la somme est effectuée sur le vecteur de support 1, le carré est effectué sur le 2 et la soustraction sur le 3. Ainsi un nouveau calcul peut être commencé à chaque coup d horloge. De cette manière, des centaines d opérations sont exécutées à chaque coup d horloge. Cependant les opérations mathématiques gérées par le FPGA sont plus basiques que sur les processeurs actuels. En particulier les calculs sur des flottants sont très coûteux. C est pourquoi toutes les valeurs sont passées en virgule fixe. La dynamique de chaque valeur est donc très limitée, et il faut choisir sur combien de bits chaque paramètre est codé pour ne pas trop diminuer la précision des résultats. Une simulation développée en logiciel permet de vérifier ici qu après optimisation, la précision se maintient à environ 97 %. 89/131

Traitement de trafic sur FPGA Les multiplications sont aussi très coûteuses en matériel. C est pourquoi les calculs de carrés et d exponentielles sont effectués grâce à des mémoires en lecture seule (ROMs) : l adresse est la valeur d entrée de la fonction et la valeur lue est sa sortie. Pour que ces mémoires soient les plus petites possibles, les propriétés mathématiques des fonctions (symétrie du carré et e a+b = e a e b ) sont mises à profit. Des alternatives aux ROMs existent pour calculer des fonctions particulières. Par exemple pour l exponentielle, nous pourrions utiliser l algorithme CORDIC [GAV12] qui calcule une approximation du résultat par des additions et des décalages de bits. 3.3 Résultats Grâce à la parallélisation, si n est le nombre de vecteurs support et p le nombre d unités de calcul que l on arrive à placer sur le FPGA, la classification d un flot nécessite 23 + 5 + n/p + 2log 2 (p) cycles d horloge. 23 est la longueur du pipeline et 5 le nombre d opérations fixes dues au vote final. 2log 2 (p) opérations servent à réunir les résultats des différentes unités de calcul. Les synthèses (opération permettant de traduire le code en circuit à programmer sur le FPGA) faites pour la carte NetFPGA 10G indiquent pour 8 unités de calcul une occupation de la surface du FPGA de 70 % et une fréquence maximale de fonctionnement de 165 MHz, ce qui donne plus de 290000 flots par seconde. C est plus de 60 fois plus qu en logiciel. Ces résultats ne sont que pour l unité de classification, et il manque tout le module de traitement des paquets. Ce module prend aussi de la place sur le FPGA, mais le classificateur complet gère quand même largement les 10 Gb/s requis. 4 La génération de trafic La section précédente montre l intérêt du FPGA pour faire des calculs massivement parallèles et traiter du trafic en temps réel. Cette section s intéresse à la gestion des paquets eux-même. 4.1 Fonctionnement L objectif ici est de développer un générateur de trafic au code source ouvert avec plusieurs caractéristiques : fonctionnement à au moins 10 Gb/s, caractéristiques de trafic (débit, en-têtes, type de paquet...) paramétrables, extensible à tous types de trafic, et avec un coût abordable. Des générateurs de trafic sur FPGA existent déjà [SSG11], mais à plus bas débit et moins configurables. Le coût abordable est permis par la carte NetFPGA 10G, dont le prix est réduit pour les académiques. Pour pouvoir atteindre des débits élevés, il faut limiter au maximum la communication avec l ordinateur, trop lent. C est pourtant lui qui peut apporter la flexibilité demandée. Le générateur ne communiquera donc avec l ordinateur qu au début, lors d une phase de configuration. La configuration se fera par le concept de flux. Un flux est un ensemble de paquets qui partagent le même squelette, et des modificateurs qui permettent de changer certaines choses dans ce squelette : champs aléatoires, champs qui s incrémentent, générateurs de données de longueur variable...un flux devra pouvoir atteindre 10 Gb/s, même en générant des petits paquets. 4.2 Implémentation matérielle L implémentation matérielle du générateur se fait autour d un bus de données de 64 bits de large, ce qui donne un débit de 12 Gb/s pour la carte Combo. Ce bus intègre un mécanisme permettant à chaque module d arrêter les données si nécessaire. Chaque flux configuré est généré par un bloc appelé générateur de flux, présent sur le FPGA. Les générateurs de flux fonctionnent en parallèle et les paquets générés sont mélangés dans le trafic final. Il est impossible de configurer plus de flux qu il n y a de générateurs. Chaque flux est composé d une série de modificateurs les uns derrière les autres. Pour supporter les 10 Gb/s, les modificateurs forment un pipeline : ils fonctionnent tous en même temps, mais sur des données différentes. Chaque modificateur a un rôle précis : l un génère du trafic aléatoire dans certains champs, l autre module le débit en arrêtant le trafic pendant un délai donné, le suivant recalcule le champ FCS Ethernet qui valide la validité des données... 90/131

Tristan Groléat and Sandrine Vaton and Matthieu Arzel Lors de la configuration, les modificateurs sont activés et configurés, ou désactivés. Ceci permet de paramétrer les caractéristiques du trafic. Si les modificateurs existants ne permettent pas de générer le trafic voulu, il est facile d en développer un nouveau, ce qui rend le générateur extensible. 4.3 Résultats Le générateur est encore en développement, son code est ouvert et disponible en ligne [tel13]. Son architecture permet d atteindre sans difficultés les 10 Gb/s. Il est même possible de faire sortir les générateurs de flux sur des interfaces différentes pour atteindre 20 Gb/s. Même si le générateur est un peu moins souple qu un générateur logiciel, il est quand même configurable et extensible. Et la tenue des débits ne pose pas de problèmes particuliers, contrairement à une implémentation logicielle. Les limites sont dues à la taille du FPGA, qui limite le nombre des flux simultanés, et au nombre de modificateurs déjà disponibles. 5 Conclusion Les FPGAs permettent de prototyper de manière assez flexible et à un coût abordable des algorithmes de traitement de trafic fonctionnant à plusieurs dizaines de Gb/s. INVEA-TECH travaille même actuellement sur une nouvelle carte supportant 100 Gb/s. Nous avons montré à travers deux exemples que l accélération matérielle a un intérêt, que ce soit pour faire des opérations mathématiques pour analyser du trafic reçu en temps réel, ou pour travailler directement au niveau des paquets et générer sans goulot d étranglement du trafic à très haut débit. Bien que le développement sur FPGA soit moins flexible que le développement logiciel, il est possible de faire communiquer le FPGA avec un ordinateur pour rendre certains blocs configurables. L étape supplémentaire d adaptation de l algorithme au matériel, décrite pour la classification SVM, permet de réfléchir aux opérations élémentaires requises par l algorithme, et est en réalité utile pour tout travail d optimisation des performances. Pour aller plus loin, le code développé pour le FPGA peut aussi servir de base pour concevoir des puces plus spécialisées comme les ASIC (circuit intégré spécifique à une application) pour augmenter les débits et la miniaturisation. Références [BDPGP12] N. Bonelli, A. Di Pietro, S. Giordano, and G. Procissi. Flexible high performance traffic generation on commodity multi core platforms. Traffic Monitoring and Analysis, pages 157 170, 2012. [CV95] Corinna Cortes and Vladimir Vapnik. Support-vector networks. In Machine Learning, pages 273 297, 1995. [EGS09] Alice Este, Francesco Gringoli, and Luca Salgarelli. Support Vector Machines for TCP traffic classification. Computer Networks, 53(14) :2476 2490, 2009. [GAV12] Tristan Groleat, Matthieu Arzel, and Sandrine Vaton. Hardware acceleration of SVM-based traffic classification on FPGA. In IWCMC, pages 443 449. IEEE, 2012. [IT12] Invea-Tech. COMBO cards. http://www.liberouter.org/hardware.php? flag=2, May 2012. [Online]. [net12] NetFPGA 10G. http://netfpga.org/10g_specs.html, 2012. [Online]. [SSG11] M. Sanlı, E.G. Schmidt, and H.C. Güran. Fpgen : A fast, scalable and programmable traffic generator for the performance evaluation of high-speed computer networks. Performance Evaluation, 68(12) :1276 1290, 2011. [tel13] Open-source hardware generator. https://github.com/tristan-tb/ hardware-traffic-generator, 2013. [Online]. [WZA06] N. Williams, S. Zander, and G. Armitage. A preliminary performance comparison of five machine learning algorithms for practical IP traffic flow classification. ACM SIGCOMM Computer Communication Review, 2006. 91/131

Algorithme distribué de routage compact en temps optimal Cyril Gavoille 1, Christian Glacet 2, Nicolas Hanusse 3 et David Ilcinkas 3 1 LaBRI - Université de Bordeaux ; 2 LaBRI & INRIA Bordeaux Sud-Ouest ; 3 LaBRI - CNRS Nous présentons un algorithme distribué construisant des tables de routage de taille sous-linéaire en n, le nombre de nœuds du réseau. Le temps de convergence est proportionnel au diamètre, ce qui est optimal. Par rapport à BGP, la complexité du nombre de messages échangés est améliorée jusqu à un facteur n, alors que la longueur des routes induites par les tables est allongée d un facteur garanti constant. Notre algorithme est conçu pour un environnement statique synchrone ou asynchrone et produit un schéma name-independent. Keywords: Routage compact, algorithme distribué asynchrone 1 Contexte et motivations Bon nombre de protocoles de routage sont basés sur le calcul distribué de plus courts chemins. Par exemple, le protocole BGP, chargé de véhiculer des messages entre les systèmes autonomes d Internet (AS) consiste en une implémentation distribuée de l algorithme de Bellman-Ford. Une implémentation distribuée possible calcule pour tout sommet source, le prochain voisin à atteindre (next-hop) et sa distance à sa destination (protocole de type distance-vector). Le protocole BGP quant à lui, construit des tables de routage contenant, pour chaque destination, un plus court chemin vers le sommet destination (protocole de type path-vector). Encoder un chemin dans les tables induit des entrées de plus grande taille mais permet d assurer une meilleure stabilité (détection locale de boucles) et convergence (problème du count-to-infinity) si le réseau est dynamique. Une des caractéristiques importante de BGP est que le routage à proprement dit se fait en fonction du nom original de la destination (on parle alors de schéma ou de routage name-independent). Aussi il converge en temps optimal O(D) où D est le diamètre (nombre de hops) du réseau. Ce point est crucial pour la qualité de service car les périodes d instabilités entrainent de nombreux échecs de routage, il est impératif de réduire autant que possible la durée de celles-ci. Viser des plus courts chemins est cependant coûteux à plusieurs égards. Gavoille et Pérennès [GP96] ont montré que cela nécessite un espace mémoire d au moins Ω(n) bits simultanément pour Ω(n) nœuds du réseau. Le nombre de messages échangés pour la construction et la maintenance des tables est nécessairement important dans le pire des cas (Ω(n 2 )). On peut prouver que la complexité en nombre de messages de BGP est Θ(mn 2 ) où m est le nombre de liens. Notons toutefois que BGP se révèle plus économe lors d un scenario synchrone, puisque seulement Θ(mn) messages sont alors nécessaires (voir la table 1). Proposer des solutions qui se révèlent économiques aussi bien dans les scénarios synchrones qu asynchrones est un enjeux important puisque dans un réseau réel, on peut facilement alterner entre périodes faiblement et fortement asynchrones. Supporté par le projet européen EULER STREP 7 et le projet ANR DISPLEXITY.. Et ce, même pour un réseau de degré borné et de diamètre O(logn), même si le schéma n est pas name-independent. 92/131

Cyril Gavoille, Christian Glacet, Nicolas Hanusse et David Ilcinkas Une première piste en direction de l économie est celle du routage compact où l objectif est de réduire l information nécessaire au routage (i.e., la taille des tables de routage), et de réduire d autant le nombre de messages nécessaire à son calcul. Dans [AGM + 08], les auteurs montrent qu il est possible de concevoir des tables de routage name-independent de taille n avec un étirement garanti 3 pour tout graphe. Autoriser des détours maîtrisés permet donc de réduire la taille des tables de routage. D autres algorithmes de routage compact name-independent tels que [TZLL12], dédiés aux graphes de type power-law (le graphe des AS a cette propriété), permettent d obtenir de meilleurs étirements en pratique. Cependant, les solutions de [AGM + 08] et [TZLL12] ne proposent pas de mécanisme de construction distribuée des tables de routage. Dans [SGF + 10], il est présenté un algorithme distribué permettant aussi de calculer des tables de taille sous-linéaire. L étirement est 7, mais l algorithme proposé n est pas silencieux (des messages continuent de circuler après qu il ait convergé). De plus, contrairement au notre, il ne garantit pas qu à tout moment de la construction la mémoire nécessaire au calcul des tables reste sous-linéaire. Enfin, la présentation non détaillée de cet algorithme ne permet pas d analyser les complexités en nombre de messages et temps de convergence. Notre contribution. Nous proposons ici un algorithme distribuée asynchrone de construction de tables de routage compact. L étirement est 7 et la taille des tables générées ainsi que l espace mémoire des nœuds tout au long de l algorithme est en O( n). L algorithme est silencieux et termine en temps optimal O(D). Le schéma de routage est name-independent. Les complexités en nombre de messages sont détaillées dans la table 1. Le détail des complexités pour le nombre d entrées échangées en synchrone (M s ) et en asynchrone (M a ) se trouvent dans chacune des sous-sections de la section 3. On remarquera que ces complexités améliorent celles de BGP asymptotiquement d un facteur n dans les graphes petit monde, que cela soit dans le cas synchrone ou asynchrone. Elles améliorent également celles de l algorithme présenté dans [GL12] (bien que présenté synchrone et de complexité O(mn), cet algorithme peut être α-synchronisé [Pel87] en gardant une complexité de O(mn) messages). Il est important de noter que notre algorithme fonctionne dans un graphe valué, mais les analyses de complexités sont proposées pour des graphes non valués. Mémoire Nombre d entrées échangées Taille des entrées (bits) Algorithme Etirement ( entrées) Synchrone Async. Synchrone Async. Path-vector Θ(n) Θ(mn) Θ(mn 2 ) O(Dlogn) O(nlogn) 1 ce papier O( nlogn) O(m n + n 3/2 min{d, nlogn}) O(mn 3/2 ) O(Dlogn) 7 TABLE 1: Comparaison de BGP et de notre algorithme distribué avec k = n. 2 Description de l algorithme de routage Notations. Tout sommet u a une couleur c(u) [1, k] choisie de manière aléatoire uniforme. Tout sommet de couleur 1 est appelé un landmark. L ensemble des landmarks est noté L. De plus tout sommet possède une fonction de hachage équilibrée h associant à tout sommet u une couleur h(u) [1, k]. Pour chaque sommet u, on note B u un ensemble de nœuds proches de u tel que B u est complète (contenant un sommet de chaque couleur) et l u le plus proche landmark de u. Routage et tables de routage. Pour une requête de routage de u vers v, plusieurs cas sont possibles : v B u u stocke dans sa table B u la distance et le next-hop w vers v. Le sommet u route vers w. v L u stocke dans sa table L u, pour tout landmark l, son père pere u [l] dans un arbre de plus court chemin enraciné en l. Le sommet u route vers pere u [l].. À un facteur polylogarithmique près.. Ratio entre la longueur de la route utilisée et la distance.. En modifiant légèrement l algorithme présenté en sous-section 3.2, il est possible de réduire la taille des messages échangés (réduire la taille des entrées). L algorithme serait une version distribuée de [FG01], les entrées auraient une taille de O(log 2 n). 93/131

Algorithme distribué de routage compact en temps optimal v / B u L et v est tel que h(v) = c(u) u stocke dans sa table couleur C u un chemin allant de l v à v. Pour router vers v, le sommet u enverra ce chemin à l v qui l utilisera pour router vers v. Pour router vers un autre sommet v, le sommet u envoie la requête à w B u tel que c(w) = h(v) (voir figure 1(a)). Pour le routage vers les nœuds de B u il est nécessaire que la boule B u soit monotone : si u connait le next-hop w pour une destination v B u, alors v doit être dans B w. 3 Résumé de l algorithme distribué L objectif de cet algorithme est de construire u V les tables B u, L u et C u nécessaires au routage. Il se découpe en cinq parties : (1) Construction de la boule de voisinage B u. (2) Construction l L de l arbre de landmark T l et élection d un landmark lmin L. (3) Détection de la terminaison des arbres de landmark en utilisant T lmin. (4) Construction pour toute couleur c [1,k] d un arbre logique T c entre les nœuds de couleur c. (5) Diffusion d informations de routage dans T c. Les algorithmes (2),(3),(4) et (5) sont effectuées en série, l algorithme (1) tourne en parallèle. Dès que ces cinq algorithmes ont convergé, les tables de routage calculées garantissent un étirement d au plus 7 avec une mémoire O( nlogn) pour k = n [GL12]. lmin w l v a b u v l B u B v (a) Routage de u à v via w tel que c(w) = h(v) c trouver les antécédents choix des arcs arbre logique T (b) Construction de T (avec l a = lmin et l b = l c = l) FIGURE 1: 3.1 Création des boules de voisinage. L algorithme utilisé est une adaptation du protocole distance-vector à la différence qu un sommet u ne garde en mémoire sa distance à v que s il ne peut pas enlever v de sa boule B u sans altérer les propriétés nécessaires au routage (la boule doit rester monotone et complète). Les sommets sont supprimés par ordre inverse d ajouts en cas d égalités. Complexités. En synchrone, tout sommet u change au pire B u fois d état.un sommet est ajouté définitivement à B u (la première distance apprise est la distance dans G). En asynchrone, u connait à tout instant B u nœuds. Dès que u change d état il réduit sa distance à un sommet de B u. Le sommet u changera O( B u 2 ) fois d état, entrainant degre(u) envois de messages. La taille d une boule de voisinage est, avec grande probabilité O(k logk). Donc M s (BOULES) = O(mk logk) et M a (BOULES) = O(m(k logk) 2 ). 3.2 Construction des arbres de landmark et élection de lmin. Tout landmark l initie la construction d un arbre de plus court chemin (BFS distribué), tout sommet stockera son père dans T l ainsi que sa distance actuelle à l. On ajoute à cet algorithme une détection de terminaison utilisant un mécanisme de synchronisation locale (avec ses voisins) qui ne génère aucun surcout significatif. De cette façon lorsque l est synchronisé avec tous ses voisins il est sûr que l arbre T l est un arbre de plus court chemin couvrant G. En ajoutant aux messages de synchronisation l identifiant du plus petit landmark du sous-arbre courant, tous les landmark une fois leurs arbres terminés connaitrons le landmark d identifiant minimum lmin. Dès que lmin apprend qu il est le plus petit landmark il diffuse son identifiant dans G. Complexités. La complexité est celle de n/k BFS soit M s (LMIN) = O(mn/k) et M a (LMIN) = O(mn 2 /k) 3.3 Détection de la terminaison de tous les arbres de landmark par lmin. À la manière de l étape précédente, on va utiliser la diffusion de terminaison (diffusion de lmin dans T lmin ) combinée avec des 94/131

Cyril Gavoille, Christian Glacet, Nicolas Hanusse et David Ilcinkas synchronisations pour que lmin apprenne la liste de tous les landmarks L. Lorsqu un sommet se synchronise avec un voisin il lui envoie la liste des landmarks présents dans son sous-arbre. Quand lmin s est synchronisé avec ses voisins pour la terminaison de l arbre T lmin il connait la liste L de tous les landmarks. Parallèlement, dès qu un landmark apprend la terminaison de son arbre (sous-section 3.2), il prévient lmin. Ainsi lmin est capable de détecter la terminaison de tous les arbres de landmarks et diffuser cette information. Complexités. Le sommet lmin diffuse son identifiant dans T lmin et chaque landmark fait remonter son identifiant dans T lmin on a donc M s (TERMINAISON) = M a (TERMINAISON) = O(m + n 2 /k) 3.4 Construction des arbres logiques. Pour toute couleur c [1,k] on construit un arbre logique T c dont les arêtes sont bi-dirigées (voir figure 1(b)). Un arc (u,v) dans T c est un chemin de routage vers v via le landmark l v. Pour permettre la construction de T c, le sommet lmin doit stocker l identifiant d un sommet racine c ainsi que l arc (lmin,racine c ). Cette construction est initiée par tout sommet u tel que c(u) = c dès qu il apprend la terminaison de construction des arbres de landmark. Le sommet u envoie à son père dans T lmin un message m u = (arc(l u,u)). Pour tout message m u = (arc(l u,u)) reçu par un nœud v : (1) si v = lmin si racine c = /0, alors racine c = u et arc c = arc(l u,u) sinon lmin envoie les message m racinec à u par arc(l u,u) et m u à racine c par arc c. (2) sinon si c(v) c(u) le nœud v envoie m u à son père dans T lmin. si c(v) = c(u) le nœud v ajoute l arc (v,u). Complexités. Avec grande probabilité un nœud u est à distance k logk de lmin ou de son premier antécédent de couleur c(u) dant T lmin. De plus, tous les arbres sont des arbres de plus court chemin dont le diamètre est 2D. La longueur maximale d un arc (u,v) est au plus 7 fois la distance entre u et v dans T lmin. La longueur maximale d un arc (u,v) est alors, avec grande probabilité, O(min(2D,k logk)). Pour tout arc (u,v) ajouté à un arbre logique T c(u), les nœuds u et v s échangent un message via celui-ci. Le nombre total d arcs crées est de n. On a donc M s (GRAPHELOGIQUE) = M a (GRAPHELOGIQUE) = O(nmin(D,k logk)). 3.5 Diffusion des informations de routage via Landmark. Tout nœud v doit diffuser son landmark l v ainsi que le chemin de l v vers v à tous les nœuds {u V c(u) = h(v)}. Dès que v apprend la terminaison des arbres de landmarks il envoie (l v,arc(l v,v)) au plus proche nœud u tel que c(u) = h(v). Le nœud u se chargera de diffuser cette information de routage dans T c(u). Enfin, lorsqu un nœud u ajoute un arc (u,w) dans T c(u) il envoie sa table C u à w par l arc (u,w). Complexités. Chacun des graphes logiques contient O(n/k) arcs de longueur min(2d, k log k). Une entrée de routage pour un nœud v peut être propagée au plus une fois sur chaque arc de T h(v). On a donc M s (DIFFUSIONS) = M a (DIFFUSIONS) = O(n 2 /k min(d,k logk)). RÉFÉRENCES [AGM + 08] I. Abraham, C. Gavoille, D. Malkhi, N. Nisan, and M. Thorup. Compact name-independent routing with minimum stretch. ACM Transactions on Algorithms (TALG), 4(3) :37, 2008. [FG01] P. Fraigniaud and C. Gavoille. Routing in trees. Automata, Languages and Programming, pages 757 772, 2001. [GL12] C. Glacet and V. Lucas. Vers un routage compact distribué. Algotel, 2012. [GP96] C. Gavoille and S. Pérennès. Memory requirement for routing in distributed networks. In Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing, pages 125 133. ACM, 1996. [Pel87] D. Peleg. Distributed computing : a locality-sensitive approach, volume 5. Society for Industrial Mathematics, 1987. [SGF + 10] [TZLL12] A. Singla, P. Godfrey, K. Fall, G. Iannaccone, and S. Ratnasamy. Scalable routing on flat names. In Proceedings of the 6th International Conference, page 20. ACM, 2010. M. Tang, G. Zhang, T. Lin, and J. Liu. Hdlbr : a name-independent compact routing scheme for power-law networks. Computer Communications, 2012. 95/131

Topology versus Link Strength for Information Dissemination in Networks Lorenzo Severini 1 and Mahmoud El Chamie 12 and Giovanni Neglia 2 1 Université Nice Sophia Antipolis (UNS) - 28 Avenue Valrose, 06100 Nice, France 2 INRIA Sophia Antipolis - Méditerranée - 2004 Route des Lucioles, B.P. 93 06902 Sophia Antipolis, France L information peut circuler dans un réseau de communication par les liens reliant les nœuds. La topologie du réseau et la force des liens sont deux facteurs qui influent sur la vitesse de propagation de l information dans le réseau. Dans cet article, nous montrons que la topologie peut avoir un rôle plus important que la force des liens pour la vitesse de propagation de l information. En particulier, nous considérons un processus itératif de propagation de croyance comme dans les protocoles de consensus moyenne où chaque nœud dans le réseau a une certaine croyance (exprimé par un nombre réel), et à chaque itération il met à jour sa croyance en calculant une moyenne pondérée de sa croyance et de celles des ses voisins. Nous montrons que l ajout de liens peut conduire à une augmentation de la vitesse de convergence du protocole de consensus plus significative que les techniques d optimisation des poids. Les simulations sont effectuées sur différentes topologies : anneaux, grilles, graphes aléatoires (Erdos Renyi, graphes géométriques aléatoires) et le graphe d échange de courriels chez Enron. Keywords: topology optimization, belief propagation, average consensus, weight selection, 2-hop optimization 1 Introduction Information can disseminate in a network through communication links : virus spread, shared videos, and belief propagation are all examples of information dissemination in connected networks. Three main factors can affect the speed of propagation of a belief in a network. The first factor is the belief s value : recent, emotional, and high valued articles are more probable to spread than old uninteresting ones. Second, the strength of the connection between nodes can affect how fast information spread. Best friends are more likely to share common beliefs and are more affected by each other s opinions. The third factor is the network topology : the more the connections in a network the faster information can spread. We address here optimization techniques applied on networks to speed up the propagation of information. To study the belief propagation process, we model the network as an undirected graph G = (V,E) of nodes (V = 1...n) where any two nodes (or neighbors) that are able to communicate are connected by a link (E = 1...m). Each node i has a certain belief and its value at time t is x i (t) R. The strength of the connections in this graph is represented by a weight matrix W where w i j is the weight given by node i to the strength of the link l (i, j) connecting it to j. We consider an iterative discrete time system where nodes at every iteration t share their opinion with their neighbors and perform a weighted average update for their opinion following the average consensus protocol ([RBA05]) : x i (t + 1) = w ii x i (t) + j N G i w i j x j (t),for i = 1...n, (1) where Ni G is the set of neighbors of node i in G. Under some assumptions on the weights, nodes beliefs are guaranteed to converge to the average of all initial beliefs (to reach consensus), in particular lim t x i (k) = x ave i where x ave = 1 n i x i (0). In this framework the speed of belief propagation is then characterized by the speed of convergence of x i (k) to x ave. Different algorithms for selecting the weights in equation (1) have been proposed in the literature. Simple algorithms do not provide any guarantee on the speed of convergence, and more sophisticated ones are 96/131

Lorenzo Severini and Mahmoud El Chamie and Giovanni Neglia resource consuming, because they select the weights solving complex optimization problems [BGPS06]. As mentioned above, the weights are not the only factor to speed up information diffusion, but also the topology plays an important role. In this paper we evaluate if simple changes to the network topology may speed up belief propagation more than complex weight optimization techniques. In particular we compare the performance of the average consensus protocol in the two following scenarios. In the first scenario, the topology is unchanged and weights are selected according to commonly used algorithms, including those that guarantee faster convergence to consensus. In the second scenario, the simplest weights selection algorithms are used, but direct links to 2-hop away nodes are added to the original graph G, then shrinking by 2 the network diameter. We denote by G 2 (the square graph) this denser graph. Practically speaking this topological change does not require to really add new links : it can be obtained by forwarding nodes beliefs 2-hop away, so that a generic node i is aware of all the nodes beliefs in the extended neighborhood Ni G2 = j N GN G i j. In what follows we are going to consider this way to operate. It has also the advantage to allow us to quantify the cost of the topological change in terms of an increase of communication overhead. The comparison is carried on for different graph topologies : rings, square Grids, random graphs (Erdos- Renyi with link existence probability P), Random Geometric graphs (with connectivity radius R), and real world network topologies as Enron internal email exchange network [SA04]. The simulations on these graphs show two main interesting results. The first result is that simple weight selection algorithms can achieve significantly faster convergence on the denser graph G 2 than any weight optimization technique on the original graph G. This improvement comes at the cost of an increase of communication overhead in the network. Our second (less expected) result is that, for a given weight selection algorithm, the convergence is faster on G 2 than on G even when the number of messages is equal. Because of this, simpler weight selection algorithms on G 2 can achieve performance similar to more complex ones on G. These results suggest that topological optimization can have a more important role than weight optimization techniques to speed up information propagation. The paper is organized as follows : in section 2 we provide the background on the asymptotic convergence speed of consensus protocols and describe different weight selection algorithms. In section 3, we compare the performance in the two scenarios described above. Section 4 concludes the paper. 2 Convergence Speed and Weight Selection Algorithms We define W to be the weight matrix, whose elements are the weights used by the nodes in (1) (i.e. (W) i j = w i j ). The authors of [XB04] show that for symmetric weight matrices, the consensus protocol converges if and only if W1 = 1 and µ(w) < 1, where 1 is a vector of all ones and µ(w) is the second largest eigenvalue in magnitude of the matrix W. They also show that µ determines the asymptotic convergence speed (for the worst case initial opinions) : the smaller µ the faster the convergence. Then the optimal (symmetric) weight matrix is the solution of the following optimization problem : (2) Argmin W µ(w) subject to W1 = 1, W SG n, where SG n is the set of symmetric n n real matrices such that s i j = 0 if (i, j) / E. Let A be a weight selection algorithm for the average consensus protocol, we denote by G W (A) the weight matrix generated by A on the graph G. In order to evaluate the effect of weight selection algorithms and of topology on convergence speed, we are going to compare µ( G W (A) ), where A is the optimal weight selection algorithm (that solves problem (2)) or one of its approximations, and µ ( G 2W (B)), where B is a simpler weight selection algorithm. In our analysis we have considered the following weight selection algorithms : Max Degree Weights (MD) [XBK07] : the same weight is selected for all links, it is a function of the maximum degree in the network, i.e. w i j = w ji = +1 1 l (i, j) E, = max i{d i }. The advantages of this algorithm is its simplicity and the fact that it works also on dynamic graphs, but it offers no guarantee on the speed of convergence. 97/131

Topology versus Link Strength for Information Dissemination in Networks RGG n = 50 ER n = 50 Ring Grid Enron R = 0.25 R = 0.3 P = 0.08 P = 0.12 n = 50 n = 100 n = 36 n = 64 µ( G W (FDLA) ) 0.9390 0.8668 0.8511 0.7241 0.9921 0.9980 0.9210 0.9210 0.8287 µ( G 2W (LD) ) 0.9070 0.8058 0.8328 0.7144 0.9843 0.9961 0.8523 0.9155 0.8208 TAB. 1: The effect of Graph Density versus Weight Optimization on the speed of convergence of consensus protocols. The table shows the comparison on different graph topologies between the speed of convergence of : (1) the simple weight selection algorithm (LD) on the graph G 2 quantified by µ( G 2W (LD) ) and (2) the best weight selection algorithm (FDLA) on the graph G quantified by µ( G W (FDLA) ). Local Degree or Metropolis Weights (LD) [XB04] : the weights on the links depend only on the 1 degrees of the incident nodes : w i j = w ji = max{d i,d j }+1 l (i, j) E. In addition to the advantages of the MD, this algorithm can be implemented in distributed way without nodes being aware of global information (as the maximum degree for example). It does not provide any guarantee on the speed of convergence. Optimal Constant Weights (OC) [XB04] : is the solution of (2) with the additional constraint that all the weights are equal, i.e. w i j = w i j, l (i, j),l (i, j ) E. In this case the weights depend on 2 the eigenvalues of the Laplacian L of the graph : w i j = w ji = λ 1 (L)+λ (n 1) (L) l (i, j) E. Trace Minimization-p(TM-p) [ECNA12] : approximates (2) considering as objective function Tr(W p ) instead of µ(w). The authors show that the parameter p trades off approximation quality (and then convergence speed) with complexity. Fastest Distributed Linear Averaging (FDLA) [XB04] : this algorithm solves exactly the problem (2) using a semi-definite programming (SDP) formulation. It is then optimal in the sense that µ( G W (FDLA) ) µ( G W (A) ) for any graph G and any weight selection algorithm A. Its main disadvantage is the high complexity, the problem becomes untractable already for graphs having few thousands of links. 3 Graph Density versus Weight Optimization We first compare the performance (the asymptotic speed of convergence) of the consensus protocol on the denser graph G 2 when weights are selected according to the LD algorithm with the performance on the original graph G when the optimal weight selection algorithm FDLA is used. Results in Table 1 show that on all the topologies considered µ( G 2W (LD) ) < µ( G W (FDLA) ) and then µ( G 2W (LD) ) < µ( G W (A) ) for any algorithm A. Then the higher graph density provides a more significant improvement than the optimal choice of links weights. We now evaluate the communication overhead of the two approaches in terms of the number of messages sent. Equation (1) requires that nodes at each iteration t use the beliefs of their neighbors (node i uses x j (t) for all j Ni G ). Therefore, each node must receive at every iteration these beliefs and the total number of messages M sent in the system will be M = 2 m where m is the number of links in the graph. On G 2, Ni G in equation (1) is replaced by Ni G2. As we mentioned above, it is possible to mimic the consensus protocol on G 2 using only the links in G. In this case the operation requires 2 steps. First each node broadcasts its belief to its neighbors in Ni G. Then, each node sends another broadcast message to its neighbors in Ni G with all the beliefs that it has collected during the first step. In this way every node gets to know the beliefs of all the nodes in Ni G2. The total number of messages is then twice as larger than in the first scenario. For this reason, we decided to compare the speed of convergence in the two scenarios when the number of messages being equal. This corresponds to consider that the consensus protocol on G performs two weighted linear iterations according to (1) for each linear iteration on G 2. Another possible way to interpret this comparison is that if the duration of an iteration is determined by the time needed to transmit one message on a link, then a consensus protocol iteration on G 2 requires twice as much time than one on G. We observe here that the messages sent in the second step have usually a larger data payload than those sent in the first step, because they carry many belief values. Here we assume that the number of messages is an adequate metric to evaluate the performance, as for example is the case if the packet header is much larger than the data payload for this application. 98/131

Lorenzo Severini and Mahmoud El Chamie and Giovanni Neglia RGG n = 50 ER n = 50 Ring Grid Enron R = 0.25 R = 0.3 P = 0.08 P = 0.12 n = 50 n = 100 n = 36 n = 64 µ( G W(MD) 2 ) 0.9665 0.9274 0.9036 0.8327 0.9894 0.9974 0.8957 0.9401 0.9761 µ( G 2W (MD) ) 0.9319 0.8577 0.8967 0.7923 0.9843 0.9961 0.8730 0.9240 0.9057 µ( G W(LD) 2 ) 0.9493 0.8951 0.8591 0.7572 0.9894 0.9974 0.8876 0.9364 0.9726 µ( G 2W (LD) ) 0.9070 0.8058 0.8328 0.7144 0.9843 0.9961 0.8523 0.9155 0.8208 µ( G W(OC) 2 ) 0.9378 0.8677 0.8363 0.7276 0.9843 0.9960 0.8662 0.9239 0.9534 µ( G 2W (OC) ) 0.8761 0.7543 0.8177 0.6650 0.9751 0.9937 0.7919 0.8776 0.8277 µ( G W(T 2 M 2) ) 0.9419 0.8800 0.8334 0.6749 0.9894 0.9974 0.8857 0.9359 0.9143 µ( G 2W (T M 2) ) 0.8900 0.7565 0.7078 0.4590 0.9843 0.9961 0.8403 0.9119 0.5568 µ( G W(FDLA) 2 ) 0.8817 0.7513 0.7244 0.5243 0.9843 0.9960 0.8482 0.9126 0.6868 µ( G 2W (FDLA) ) 0.7591 0.5478 0.5219 0.3098 0.9691 0.9922 0.7241 0.8343 - TAB. 2: Asymptotic speed of convergence on G and G 2 given the same communication overhead. It is easy to evaluate the speed of convergence of the accelerated consensus protocol that performs two linear iterations every time unit. In fact it can be checked that this corresponds to use as weight matrix ( G W (A) ) 2. Then, the asymptotic speed of convergence is determined by µ( G W(A) 2 ). Note that the following equation holds : µ( G W(A) 2 ) = ( µ( G W (A) ) ) 2. Simulation results in Table 2 show that µ(g 2W (A) ) < µ( G W(A) 2 ) for any algorithm A of previous sections. Then the denser topology leads to faster convergence speed even when the number of messages is equivalent. For this reasons, simple weight selection algorithms as LD on G 2 can still outperform more complex ones like T M 2 or OC (the results from Table 2 show that µ( G 2W (LD) ) < µ( G W(T 2 M 2) ) and µ( G 2W (LD)) < µ( G W(OC) 2 ) on most of the topologies) and also achieve in some cases results very similar to FDLA (e.g. on the grid). 4 Conclusion In this paper we consider consensus protocols as a general model for belief propagation. The speed of convergence of consensus protocols is the indicator used to measure the speed of propagation of beliefs. We show that a higher graph density can improve convergence speed more than an accurate weight selection. This result suggests that topology may play a more important role for information spread than the strength of the links. Références [BGPS06] Stephen Boyd, Arpita Ghosh, Balaji Prabhakar, and Devavrat Shah. Randomized Gossip Algorithms. IEEE Trans. Inf. Theory, 52 :2508 2530, June 2006. [ECNA12] Mahmoud El Chamie, Giovanni Neglia, and Konstantin Avrachenkov. Distributed weight selection in consensus protocols by schatten norm minimization. Rapport de recherche RR-8078, INRIA, October 2012. [RBA05] Wei Ren, R.W. Beard, and E.M. Atkins. A survey of consensus problems in multi-agent coordination. In American Control Conference, 2005. Proceedings of the 2005, pages 1859 1864 vol. 3, june 2005. [SA04] J. Shetty and J. Adibi. The enron email dataset database schema and brief statistical report. Technical report, University of Southern California, Information Sciences Institute Technical Report, 2004. [XB04] Lin Xiao and Stephen Boyd. Fast linear iterations for distributed averaging. Systems and Control Letters, 53(1) :65 78, 2004. [XBK07] L. Xiao, S. Boyd, and S.J. Kim. Distributed average consensus with least-mean-square deviation. Journal of Parallel and Distributed Computing, 67(1) :33 46, 2007. 99/131

Collusions entre fournisseurs de services et de contenus dans les réseaux Alexandre Reiffers Masson 12 and Yezekael Hayel 2 and Eitan Altman 1 1 INRIA B.P.93, 2004 Route des Lucioles, 06902 Sophia-Antipolis, Cedex, FRANCE 2 CERI/LIA, University of Avignon, 339, chemin des Meinajariès, 84911 Avignon cedex 9 Cet article traite d un modèle de jeu de routage destiné à étudier les relations entre utilisateurs, fournisseurs de services et fournisseurs de contenus dans l Internet. Nous nous intéressons notamment aux relations économiques entre les fournisseurs. Notre principal résultat porte sur l impact, sur les utilisateurs finaux, d une collusion (relation contractuelle privilégiée) entre certains fournisseurs de services et certains fournisseurs de contenus. Particulièrement, nous montrons qu un système complètement ouvert (sans collusions) est moins intéressant pour les utilisateurs finaux qu un système avec des collusions entre fournisseurs. Keywords: Théorie des Jeux, économie des réseaux, Internet 1 Introduction Dans ce travail, nous nous intéressons à la modélisation des relations économiques entre fournisseurs de services et fournisseurs de contenus dans l Internet. Notamment, nous étudions l impact de ces relations sur l utilisateur final. Notre modélisation s inspire principalement d outils de la théorie des jeux, notamment des jeux de congestion/routage. La théorie des jeux est devenue depuis une dizaine d année un outil majeur de modélisation et d optimisation des réseaux de telecommunication [6]. En effet, les problèmes de concurrence entre acteurs/agents du réseau pour l accès ou la distribution de contenus est une étude de cas typique où peut s appliquer un modèle de jeu non-coopératif. Dans ce type de modèle, chacun joueur détermine sa décision qui va optimiser sa fonction objectif. Seulement, cette fonction dépend de sa décision mais également de la décicion de tous les autres joueurs. On dit alors que les joueurs sont en interaction. Lorsque chaque joueur possède sa propre fonction objectif (à optimiser), on parle de jeu non-coopératif. Pour résoudre un jeu non-coopératifs, il faut utiliser un notion d équilibre. Le concept d équilibre standard des jeux non-coopératifs avec un nombre fini de joueurs est l équilibre de Nash [1]. Dans ce type de jeu, un nouveau concept de coalition ou collusion entre les joueurs est apparu dans [7]. Ce concept permet de déterminer si plusieurs joueurs ont un intérêt à se regrouper et à jouer comme un unique joueur. Une collusion peut avoir un impact sur les performances du système à l équilibre, notamment sur les utilisateurs qui colludent mais également sur les autres et sur la société toute entière. Dans le modèle présenté ici, nous étudions un seul type de collusion, qui est verticale. Elle provient de la modélisation hiérarchique de notre système économique. Le plan de l article est le suivant : nous décrivons d abord le modèle économique de base illustrant les relations entre utilisateurs, fournisseurs de services et fournisseurs de contenus. Dans ce modèle nous exposons les propriétés de l équilibre des trafics de contenus demandés par les utilisateurs. Dans la section suivante, nous introduisons la collusion entre fournisseurs d accès et founisseurs de contenus, puis nous étudions son impact sur la structure de l équilibre du jeu de routage. Enfin nous comparons les coûts des utilisateurs à l équilibre dans les deux modèles, avec ou sans collusions. Les preuves des résultats sont dans l annexe référencée [8]. 2 Modèle de base Nous modélisons les relations entre les utilisateurs via les fournisseurs d accès locaux (lisp), les fournisseurs d accès régionaux (risp) et les fournisseurs de contenus (CP). La première classe de joueurs, dans 100/131

Alexandre Reiffers Masson and Yezekael Hayel and Eitan Altman notre modèle, est composée de l ensemble des lisp. Afin de modéliser leurs comportements, nous utilisons un modèle de jeu de congestion atomique, avec un trafic divisible [4]. Chaque lisp i, i 2{1,...,I} reçoit une requête de leurs abonnés voulant disposer d un contenu. Pour illustrer cela, nous supposons que l ensemble des requêtes que reçoit l lisp i génère un trafic total noté f i > 0, i 2{1,...,I}, qui provient des CP vers le lisp i. On suppose que la demande est symmétrique et donc que le trafic f i est similaire pour tous les lisp i connecté à un risp n. Chaque lisp i, ne peut pas, afin d accéder à un contenu, le demander directement à un CP m, où m 2{1,...,M}. Elle doit d abord établir un accord avec un risp n, n 2{1,...,N}, qui lui, peut demander directement aux CP un accès au contenu. Chaque risp n, est connecté à tous les fournisseurs de contenu (CP). Nous supposons que chaque risp n possède un accord avec I lisp. Ainsi nous notons par (i,n), avec (i,n) 2{1,...,I} {1,...,N}, le lisp i associé au risp n. Ainsi chaque local lisp i est connecté à un unique régional ISP n. La topologie du modèle est résumé dans la figure suivante. 2.1 Jeu entre les lisp Maintenant, nous décrivons plus explictement le gain d un lisp (i, n) et son intéraction avec les autres lisp. On note par x(i,n) m la quantité de trafic généré depuis le CP m vers le lisp i à travers le risp n. D après ce qui a été dit précédement, le trafic total est x(i,n) m = f i. Soit p m la tarif, par unité de débit, appliqué Â 1applemappleM par le CP m pour pouvoir accéder à son contenu. Ainsi, pour une quantité de trafic x(i,n) m, le lisp i connecté au risp n, le coût d accès au contenu est de x(i,n) m pm. Ce prix est le coût de transaction du contenu, cela ne dépend pas de lisp (d après les hypothèse de Neutralité de l Internet [9]). Nous considérons également un coût de congestion au niveau de chaque CP. En effet, plus la demande est importante au niveau des serveurs de contenus, moins bonne sera la qualité de service pour l utilisateur final (dû à des problèmes de gestion de la capacité des serveurs, des réseaux distribution, etc). Ce coût dépend du trafic total généré depuis le CP m, qui est Âx(i,n) m. Pour illustrer ce phénomène, nous posons Dm : R + 7! R + une fonction i,n strictement croissante et convexe qui représente le coût de congestion par unité de débit. Ainsi, le coût ). Nous avons donc une interaction global de congestion pour un trafic x m (i,n) est égal à xm (i,n) Dm (Â i,n direct entre les trafics à destination des lisp. Le cout total (accès plus congestion) pour un lisp (i,n) est : C (i,n) (x (i,n),x (-i,-n) )=Âxi,n m m " x m (i,n) D m (Âx(i,n) #, m )+pm i,n n o où x (i,n) = x(i,n) m est le vecteur des décisions concernant la quantité de trafic demandée à chaque CP m m pour le lisp (i,n) et x (-i,-n) est le vecteur des décisions de tous les autres lisp (ceux connectés au même risp n mais également tous les autres connectés aux autres risp). Chaque lisp (i, n) va résoudre le problème d optimisation sous contrainte suivant : minc (i,n) (x x (i,n),x (-i,-n) ) (i,n) t.q. M Â m=1 x m i,n = f. Nous étudions maintenant l existence d un équilibre pour ce problème [1]. 101/131

Collusions et économie des réseaux 2.2 Jeu entre les CP Supposons que pour chaque vecteur de prix p = {p m } m, il existe un unique équilibre de nash pour le jeu définit précedement que l on notera x (p). Nous nous intéressons maintenant à une deuxième classe de joueurs, qui sont les CP. Chaque CP m contrôle son tarif p m avec p m 2 [0, p max ]. Le revenu du CP m est : max p m P(pm,p m )=p m Âx,m (i,n) (p). i,n Ce revenu dépend de l équilibre x (p) sous-jacent entre les lisp. Il y a donc une interaction indirecte, et également un jeu non-coopérgatif, entre les CP. Ainsi pour clarifier le jeu hiérarchique que nous venons de proposer, dans un premier temps, chaque CP propose un prix, et dans un second temps, les lisp répartissent leur trafic en fonction de ces prix. Nous utilisons une structure de jeu entre les deux classes de joueurs connu en théorie des jeux sous le nom de jeu de stackelberg [3]. Pour simplifier l analyse nous considérons que f (i,n) = f pour tous les lisp (i,n). Nous supposons de plus que la fonction de congestion D m ( ) associé à chaque CP m est la même, c est à dire que D m ( )=D( ) pour tout m 2{1,...,M}. La première simplification est nécessaire afin d obtenir une forme explicite et simple de l équilibre. En effet grâce à cette hypothèse les joueurs sont symmétriques et nous pouvons utiliser des théorèmes sur la forme des équilibres dans un jeu de congestion [4]. Finallement, nous montrons l existence d un équilibre symétrique dans de le jeu de Stackelberg formulé. Et enfin nous donnons une forme explicite de l équilibre symmétrique ainsi que de la fonction de coût ou revenu pour chacun des joueurs. Théorème 2.1 Supposons qu à l équilibre (x m (i,n), pm ) > 0 pour tout (i,n,m) 2{1,...,I} {1,...,N} {1,...,M}. Alors nous avons les résultats suivants : 1. il existe un équilibre symétrique, c est à dire que (x m (i,n), pm )=(x, p) pour tout (i,n,m) 2{1,...,I} {1,...,N} {1,...,M}, 2. à l équilibre symétrique, x = f M et p = p max, 3. le coût d un lisp (i,n) à l équilibre est C(x )=f et le revenu d un CP m à l équilibre est égale à P(p )=p max f. apple D( NIf M )+p max Ce cas simple va nous permettre de comparer avec les hypothèse de collusions entre les CP et les risp. 3 Modèle avec collusion entre founisseurs 3.1 Equilibre Nous supposons maintenant que chaque risp n met en place un accord (on parle alors de collusion) avec le CP m. Nous allons nous restreinte au cas M = N. Par souci de clarté, l risp n et le CP m qui sont associé dans une collusion ont le même indice n. Cette collusion implique que le prix pour un lisp (i,n) pour accéder à un contenu sera nul, i.e. p n = 0, si le contenu en question est téléchargé depuis le CP qui possède un accord avec le risp n. La fonction de coût du lisp (i,n) est égale alors à : " C(i,n) v (x (i,n),x (-i,-n) )=  xi,n m m6=n Et la fonction de revenu d un CP m devient : D( i,n P v (p m,p m )=p m  n6=m # x(i,n) m )+pm + x(i,n) n D( Âx(i,n) m ).  x,m (i,n) (p). i Posons, pour l lisp (i,n), le vecteur de stratégies (y n (i,n),x i,n n ) où yn (i,n) est la part de téléchargement que requiert l lisp à son CP et où xi,n n est la part de téléchargement pour les autres CP. Nous obtenons aussi un résultat similaire à la première partie : i,n 102/131

Alexandre Reiffers Masson and Yezekael Hayel and Eitan Altman Théorème 3.1 Supposons qu à l équilibre (x m (i,n), pm ) > 0 pour tout (i,n,m) 2{1,...,I} {1,...,N} {1,...,M}. Alors nous avons que : 1. il existe un équilibre symétrique dans G, c est à dire que (x n (i,n),xn (i,n), pm )=(x,y, p) pour tout (i,n,m) 2 {1,...,I} {1,...,N} {1,...,M}, 2. à l équilibre symétrique, p 0 = min p 0 D 0 (If) ). 1 2 fd0 (If),P max, y 0 = 1 N (f+(n 1) p 0 D 0 (If) ) et x0 = 1 N (f 3. le coût d un lisp (i,n) à l équilibre est C v (i,n) (x0 )=fd(if)+(n 1)x 0 p 0 et le gain d un CP m à l équilibre est égale à P v (p 0 )=I(N 1)x 0 p 0. 3.2 Comparaison des équilibres Maintenant nous pouvons comparer les coûts à l équilibre pour les lisp dans les deux cas, afin de savoir l impact d une collusion entre les fournisseurs sur les lisp. En comparant les deux gains à l équilibre des lisp dans un jeu sans collusion verticale et dans un jeu avec, nous remarquons que la présence de collusion verticale est plus profitable pour les lisp, ceci est décrit dans le théorème suivant. Théorème 3.2 C v (i,n) (x0 ) < C (i,n) (x ). 4 Conclusions Nous avons montré dans ce papier, dans le cas d une guerre des prix entre fournisses de contenus, l impact d accord entre risp et CP sur les utilisateurs finaux. Nous avons utilisé des concepts différents de la théorie des jeux comme les jeux de routage et les jeux de Stackelberg. Avec ces outils de modélisation, nous avons montré qu une telle collusion est profitable pour les utilisateurs finaux. De nombreuses extensions de notre travail sont possibles. Par exemple, l impact d une collusion horizontale entre les lisp, c est à dire que plusieurs lisp décident de se réunir, et de jouer comme un seul joueur. Références [1] R. Laraki, J. Renault, S. Sorin Bases mathématiques de la théorie des jeux, 2010. [2] T. Basar, G.J. Olsder, Dynamic Noncooperative Game Theory, Series in Classics in Applied Mathemtaics, SIAM, Philadelphia, Pennsylvania, 1999. [3] J. B. Jr. Cruz, Leader-Follower Strategies for Multilevel System, IEEE Transactions on Automatic COntrol, Vol. 23, pp. 244 254, 1978. [4] A. Orda, N. Rom and N. Shimkin, Competitive routing in multi-user communication networks, IEEE/ACM Trans. on Networking, 1 :614-627, 1993. [5] E. Altman, O. Pourtallier, T. Jimenez and H. Kameda, Symmetric Games with networking applications, NetGCOOP, Paris, November 2011. [6] E. Altman, T. Boulogne, R. El Azouzi, T. Jimenez, L. Wynter, A survey on networking games in telecommunications, in Computer and Operations Research, vol. 33, pp. 286-311, 2006. [7] A. Hayrapetyan, E. Tardos and T. Wexler, The effect of collusion in congestion games, in Proceedings of STOC, 2006. [8] Annexe preuves de l article : A. Reiffers Masson, Y. Hayel, E. Altman L impact des collusions sur les modèles économiques des réseaux. [9] R. Hahn and S. Wallsten, The Economics of Net Neutrality, The Berkeley Economic Press Economists Voice 3, 6, (2006), 1-7 103/131

Diffusion probabiliste dans les réseaux dynamiques A. Clementi 1 P. Crescenzi 2 C. Doerr 3 P. Fraigniaud 4 F. Pasquale 5 R. Silvestri 1 1 Università Tor Vergata di Roma 2 Università di Firenze 3 Université Paris Diderot et Max Planck Institute Saarbrücken 4 CNRS et Université Paris Diderot, 5 Sapienza Università di Roma La diffusion probabiliste est une des techniques les plus populaires pour diffuser de l information dans les réseaux à grande échelle. Cette technique est appréciée pour sa simplicité, sa robustesse et son efficacité. Dans le cas du protocole Push, chaque nœud informé choisit à chaque étape un de ses voisins aléatoirement de manière uniforme, et lui transmet l information. Ce protocole est connu pour permettre la diffusion en O(logn) étapes, avec forte probabilité, dans plusieurs familles de réseaux statiques de n nœuds. De plus, il a été montré empiriquement que le protocole Push offre de très bonnes performances en pratique. En particulier, il se montre robuste aux évolutions dynamiques de la structure réseau. Dans cet article, nous analysons le protocole Push dans le cas de réseaux dynamiques. Nous considérons le modèle des graphes à évolution arête-markovienne, qui permet de capturer une forme de dépendance temporelle entre la structure du réseau au temps t et celle au temps t +1. Plus précisément, une arête inexistante apparaît avec probabilité p, tandis qu une arête existante disparaît avec probabilité q. Ayant pour objectif de coller avec des traces réelles, nous concentrons principalement notre étude sur le cas p = Ω( n 1 ) et q constant. Nous prouvons que, dans ce cas réaliste, le protocole Push permet de diffuser l information en O(logn) étapes, avec forte probabilité. Cette borne reste valide même lorsque, avec forte probabilité, le réseau est déconnecté à chaque étape (typiquement, lorsque p logn n ). Ce résultat démontre ainsi formellement la robustesse du protocole Push dans le cadre d évolution temporelle de la structure du réseau. La version complète de cet article, en cours de soumission, est disponible sur arxiv (voir [CCD + 13] qui contient un sur-ensemble des résultats présentés ici). 1 Contexte et objectif La diffusion probabiliste est une des techniques les plus populaires de diffusion d information dans le contexte des grands réseaux distribués. En particulier, le protocole Push s exécute par étape comme suit : une source arbitraire est initialement détentrice d une information, et, à chaque étape, un nœud informé choisit aléatoirement de façon uniforme un de ses voisins qui devient informé à l étape suivante. Ce protocole a été introduit par [DGH + 87] dans le cadre des bases de données distribuées, afin d exécuter les mises à jour et, surtout, préserver la consistance entre des données répliquées. Depuis, le protocole Push a été proposé pour de nombreuses autres applications telles que la détection de pannes dans les systèmes distribués, l échantillonnage de nœuds, la recherche de données, le calcul de la moyenne de données dans un réseau de capteurs, etc. Voir [CCD + 13] pour les références et [JVG + 07] pour un survol des applications potentielles du protocole Push et de la diffusion probabiliste en générale. En sus de ses applications, la diffusion probabiliste a également été analysée dans un cadre formel. En effet, comme observé par [DGH + 87], la diffusion probabiliste n est juste qu un exemple de processus épidémique et son analyse benefits greatly from the existing mathematical theory of epidemiology (même si son application dans le cadre des réseaux suit généralement des objectifs opposés à son application dans le cadre de la médecine). En particulier, il a été montré que le temps de diffusion, c est-à-dire le nombre Support du Feodor Lynen postdoctoral research fellowship de la Fondation Alexander von Humboldt, et de l Agence Nationale de la Recherche au travers du projet ANR-09-JCJC-0067-01. Support du projet ANR DISPLEXITY, et du projet INRIA GANG. 104/131

A. Clementi P. Crescenzi C. Doerr P. Fraigniaud F. Pasquale R. Silvestri d étapes nécessaires pour qu une information connue initialement d un nœud soit, avec forte probabilité, finalement connue de tous les nœuds, a été étudié pour de nombreuses classes de graphes. (Un évènement E n a une forte probabilité si Pr[E n ] 1 O(1/n c ) pour une certaine constante c > 0). Cela inclut les graphes complets, les hypercubes, les graphes aléatoires d Erdős Rényi, les graphes construits selon l attachement préférentiel, et certains types de graphes ayant une distribution de degrés en loi de puissance. En plus de l obtention de bornes sur le temps de diffusion, beaucoup de ces travaux montrent des connexions fortes entre ce temps et certains paramètres classiques de graphes capturant différentes formes de connectivité, incluant la conductance, l expansion-arête, et l expansion-sommet. Voir [CCD + 13] pour les références bibliographiques. Il est toutefois important de noter que les techniques et les arguments adoptés dans toutes ces études s appuient fortement sur le fait que tous ces graphes sont statiques, c est-à-dire n évoluent pas au cours du déroulement de la diffusion. En particulier, la plupart de ces études exploitent le fait crucial que le degré de chaque sommet (que ce soit une variable aléatoire ou une valeur déterministe) ne change pas durant toute l exécution du protocole. Ce cadre d étude n est donc guère informatif lorsque l on s intéressent à des réseaux dynamiques tels que ceux rencontrés dans l étude des réseaux ad hoc sans fil, des réseaux mobiles, ou des réseaux pair-à-pair, lorsque les nœuds et/ou les liens apparaissent ou disparaissent fréquemment au cours du temps. L objectif de cet article est d étudier la diffusion d information, dont en particulier le protocole Push, dans un cadre plus réaliste afin de déduire des conclusions applicables au réseaux dynamiques. 2 Réseaux dynamiques C est précisément dans le but d analyser le comportement de protocoles distribués dans le cadre des réseaux dynamique que le concept des graphes évolutifs a été introduit dans la littérature [Fer02]. Un tel graphe est simplement une séquence (G t ) t 0 de graphes sur le même ensemble de sommets, où t N (pour indiquer que l on considère des photos à temps discrets même si le graphe peut évoluer de façon continue). Ce concept est suffisamment général pour modéliser un grand nombre de dynamiques, d une dynamique guidée par un adversaire [CMPS09, KLO10] à celle entièrement aléatoire [Bol01]. En effet, quoiqu uniquement les arêtes soient sujettes à modifications, un sommet dont toutes les arêtes incidentes sont absentes au temps t peut être perçu comme ayant quitté le réseau au temps t (où le réseau est vu comme la composante géante de G t ). De là il découle que les graphes évolutifs capturent également une certaine forme de dynamique de nœuds. Dans le cas des graphes évolutifs aléatoires, le graphe G t est choisi aléatoirement selon une certaine loi de probabilité parmi un certain ensemble de graphes, indépendamment du choix des autres G t, t t. Un exemple typique de ce type de graphes évolutifs est lorsque G t est choisi uniformément dans G n,p, l ensemble des graphes aléatoires d Erdős-Rényi [AKL08]. Dans ce cas, à chaque étape t, chaque arête e existe dans G t avec probabilité p, indépendamment des autres arêtes. De tels graphes évolutifs offrent des capacités de communication supérieures aux graphes statiques de même nombre moyen d arêtes. Ceci a été démontré en particulier dans le cas d un protocole de diffusion simpliste : le protocole Flooding. Lors de l exécution de ce protocole, lorsqu un sommet non-informé possède un voisin informé au temps t, il devient informé au temps t + 1. Il a été démontré [BCF11, CMM + 10, CMPS11] que le temps de diffusion du protocole Flooding peut être très rapide (typiquement poly-logarithmique en le nombre de sommets) même si chaque graphe est faiblement connecté, voire même déconnecté avec forte probabilité à chaque étape. De tels résultats sont autant d évidences que certaines dynamiques aléatoires non seulement ne ralentissent pas, mais peuvent accélérer les communications. La même observation à propos de Flooding reste valable lorsque le modèle évolutif inclut des dépendances temporelle, comme dans le modèle arête-markovien. Selon ce modèle, le graphe évolutif (G t ) t 0 débute à partir d un graphe initial G 0 et, à chaque étape, si une arête n existe pas dans G t, elle apparaît dans G t+1 avec probabilité p, et si une arête existe dans G t, elle disparaît dans G t+1 avec probabilité q. Quelque soit le graphe initial G 0, un graphe évolutif arête-markovien converge vers un graphe aléatoire de G n, p avec comme distribution stationnaire de chaque arête p = p p+q. Néanmoins, il convient de noter que le modèle inclut des dépendances markoviennes entre les graphes de deux étapes consécutives. Ainsi, étant 105/131

Diffusion probabiliste dans les réseaux dynamiques donnée G t, le graphe suivant G t+1 n est pas nécessairement un graphe aléatoire dans G n, p. Le modèle arête-markovien a fait récemment l objet de mesures expérimentales, dans le contexte des réseaux mobiles aux connexions opportunistes [WCDdA11], ainsi que dans celui des réseaux pair-à-pair [VP11]. Ces mesures démontrent une bonne adéquation du modèle avec certaines traces réelles. Le temps de diffusion du protocole Flooding a été récemment analysé dans le modèle arête-markovien, pour toute valeur de p (voir [BCF11, CMPS11]). Une variante du modèle dans laquelle les probabilités p and q de naissance et de mort dépendent non seulement du nombre de nœuds mais aussi d une notion de distance entre ces nœuds a été étudiée dans [GH10]. Le protocole Flooding génère cependant un grand nombre de messages. De fait, même si son temps d exécution fournit un analogue pour les graphes dynamique du diamètre pour les graphes statiques, le protocole Flooding ne reflète pas le type de protocoles de diffusion généralement utilisés en pratique. Nous nous sommes donc intéressés à l analyse des performances du protocole Push dans les graphes évolutifs arête-markoviens. 3 Cadre d étude Nous focalisons notre attention sur des réseaux dynamiques générés par le modèle arête-markoviens pour des paramètres p et q offrant une bonne adéquation avec des traces réelles, tel qu observé dans [VP11, WCDdA11]. Ces traces correspondent à des réseaux dont la dynamique est relativement élevée, pour lesquels la probabilité de mort q est d au moins un ordre de magnitude plus élevé que la probabilité de naissance p. Afin de fixer des paramètres p et q qui correspondent à cette observation empirique, considérons l espérance m du nombre de liens et l espérance d du degré de chaque nœud en régime stationnaire, gouverné par p = p p+q. Nous avons m = p+q( p n ) 2, et d = 2 n m p = (n 1) p+q. Ainsi, en régime stationnaire, l espérance ν du nombre d arêtes qui changent leur état (de non-existant à existant, ou vice versa) à chaque étape vérifie ν = mq + ( ( n) ( ( ) ) 2 m)p = n(n 1) pq 2 p+q + 1 p p+q p = n(n 1) pq p+q = nq d. En conséquence, pour capturer une forte dynamique telle qu observée dans les traces réelles, nous avons fixé q constant, de façon à ce qu une fraction constante des arêtes disparaissent à chaque étape, tandis qu une fraction p des arêtes non-existantes apparaissent. Nous avons considéré p quelconque dans ]0, 1[, avec comme unique restriction que p n 1. (Pour des valeurs de p plus petites, p 1/n, le temps d exécution de tout protocole de communication est dépendant du temps moyen np 1 1 requis pour chaque sommet afin d acquérir ne serait-ce qu un lien vers un autre sommet). En résumé, nous nous concentrons sur l intervalle suivant de valeurs : 1 p < 1 et q = Ω(1). (1) n Cet intervalle permet de capturer des réseaux dynamiques offrant un grand spectre de densités différentes (des graphes déconnectés aux graphes presque complets) tout en offrant un nombre moyen de changement d états d arêtes par étape égal à une contante fraction du nombre total moyen d arêtes. 4 Nos résultats Pour les paramètres de l équation (1), nous avons montré que, avec forte probabilité, le temps d exécution du protocole Push est Θ(log n) étapes dans tout graphe évolutif arête-markovien, quelque soit le graphe initial G 0. En particulier, même si, avec forte probabilité, le graphe G t est non connexe pour tout t (c est typiquement le cas pour p logn n ), le protocole Push s exécute aussi rapidement que possible. (Le protocole Push ne peut en effet s exécuter plus rapidement qu en Ω(logn) étapes dans tout graphe statique ou dynamique puisque le nombre de sommets informés ne peut qu au plus doubler à chaque étape). Il est également intéressant de comparer les performances du protocole Push avec celles du protocole Flooding. Les bornes inférieures connues pour Flooding dans les graphes arête-markoviens [CMPS11] (qui sont évidemment également des bornes inférieures pour Push) montrent que, pour p = Θ(1/n), les temps de diffusion des deux protocoles ont le même ordre de grandeur. Par ailleurs, pour p = Ω(1/n), il est clair que le facteur de ralentissement du protocole Push comparé à Flooding est au plus logarithmique. Cette propriété est remarquable puisque le nombre moyen de messages échangés par nœud dans le protocole Push peut être 106/131

A. Clementi P. Crescenzi C. Doerr P. Fraigniaud F. Pasquale R. Silvestri exponentiellement plus faible que dans le protocole Flooding. A titre d exemple, pour p = Θ(1/ n), le degré moyen est Θ( n), et le protocole Flooding envoie donc au moins Θ( n) messages par nœud, alors que le protocole Push n envoie qu au plus O(logn) messages par nœud. 5 Techniques Il est très important de noter que l analyse du protocole Push dans les graphes arête-markoviens ne nécessite pas seulement de prendre en compte les dépendances temporelles (entre G t et G t+1 ), mais également des dépendance spatiales, ce qui rend cette analyse bien plus complexe que dans le cas statique. Pour se convaincre de l existence de dépendances spatiales, considérons une étape de Push, où l on suppose que k 2 nœuds disposent déjà de l information, et essayons de calculer combien de nouveaux nœuds vont être informés à cet étape. Soit δ(u) le nœud sélectionné par le nœud informé u exécutant le protocole Push (c est-à-dire δ(u) est choisi aléatoirement uniformément parmi tous les voisins de u). En conditionnant sur le degré de u, il est possible de calculer Pr[δ(u) = v] pour tout nœud non-informé v. Néanmoins, il est crucial d observer que les évènements δ(u 1 ) = v 1 et δ(u 2 ) = v 2 ne sont pas nécessairement indépendants. En effet, l occurrence de l évènement δ(u 1 ) = v 1 fait décroitre la probabilité de l existence d une arête entre u 1 et u 2, et affecte donc la valeur de la variable aléatoire δ(u 2 ). Cette corrélation positive empêche l utilisation des méthodes classiques utilisées pour analyser le protocole Push dans les graphes statiques, ou rend l utilisation de ces méthodes bien plus complexe. Nous renvoyons à [CCD + 13] pour la description détaillée des techniques utilisées pour l analyse du protocole Push dans les graphes arête-markoviens. Références [AKL08] C. Avin, M. Koucky, and Z. Lotker. How to explore a fast-changing world. In Proc. of 35th ICALP, volume 5125 of LNCS, pages 121 132. Springer-Verlag, 2008. [BCF11] H. Baumann, P. Crescenzi, and P. Fraigniaud. Parsimonious flooding in dynamic graphs. Distributed Computing, 24(1) :31 44, 2011. [Bol01] B. Bollobás. Random Graphs. Cambridge University Press, 2001. [CCD + 13] A. Clementi, P. Crescenzi, C. Doerr, P. Fraigniaud, M. Isopi, A. Panconesi, F. Pasquale, and Silvestri R. Rumor spreading in random evolving graphs. Technical report, arxiv, 2013. [CMM + 10] A. Clementi, C. Macci, A. Monti, F. Pasquale, and R. Silvestri. Flooding time of edgemarkovian evolving graphs. SIAM J. Discrete Math., 24(4) :1694 1712, 2010. [CMPS09] A. Clementi, A. Monti, F. Pasquale, and R. Silvestri. Broadcasting in dynamic radio networks. J. Comput. Syst. Sci., 75(4) :213 230, 2009. [CMPS11] A. Clementi, A. Monti, F. Pasquale, and R. Silvestri. Information spreading in stationary markovian evolving graph. IEEE Trans. Parallel Distrib. Syst., 22(9) :1425 1432, 2011. [DGH + 87] A. Demers, D. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker, H. Sturgis, D. Swinehart, and D. Terry. Epidemic algorithms for replicated database maintenance. In Proc. of 6th ACM PODC, pages 1 12, 1987. [Fer02] A. Ferreira. On models and algorithms for dynamic communication networks : The case for evolving graphs. In Proc. of 4th ALGOTEL, pages 155 161, 2002. [GH10] P. Grindrod and D.J. Higham. Evolving graphs : dynamical models, inverse problems and propagation. In Proc. R. Soc. A, 466(2115), pages 753 770, 2010. [JVG + 07] M. Jelasity, S. Voulgaris, R. Guerraoui, A.-M. Kermarrec, and M. van Steen. Gossip-based Peer Sampling. ACM Trans. Comp. Syst., 25(3) :Article 8, 2007. [KLO10] F. Kuhn, N. Linch, and R. Oshman. Distributed Computation in Dynamic Networks. In Proc. 42nd ACM STOC, pages 513 522. ACM New York, 2010. [VP11] M. Vojnovic and A. Proutier. Hop limited flooding over dynamic networks. In Proc. of 30th IEEE INFOCOM, pages 685 693. IEEE, 2011. [WCDdA11] J. Whitbeck, V. Conan, and M. Dias de Amorim. Performance of Opportunistic Epidemic Routing on Edge-Markovian Dynamic Graphs. IEEE Tr. on Comm., 59(5) :1259 1263, 2011. 107/131

Contenu généré par les utilisateurs : une étude sur DailyMotion Yannick Carlinet 1, The Dang Huynh 25, Bruno Kauffmann 1, Fabien Mathieu 35, Ludovic Noirie 25 et Sébastien Tixeuil 45 1 Orange Labs 2 Alcatel-Lucent Bell Labs France 3 Inria 4 UPMC Sorbonne Universités, IUF 5 LINCS Actuellement, une large part du trafic Internet vient de sites de User-Generated Content (UGC) [1]. Comprendre les caractéristiques de ce trafic est important pour les opérateurs (dimensionnement réseau), les fournisseurs (garantie de la qualité de service) et les équipementiers (conception d équipements adaptés). Dans ce contexte, nous proposons d analyser et de modéliser des traces d usage du site DailyMotion [2]. Une version étendue de cet article a été publiée à TRAC 2012 [3]. Keywords: DailyMotion, Analyse de traces, modélisation 1 Données utilisées Les données sur DailyMotion ont été collectées à partir de 7 sondes placées au sein du réseau d accès d Orange, permettant d observer 65400 utilisateurs. Pendant quatre mois (février à mai 2010), les requêtes HTTP demandant un fichier flash (.swf) au site DailyMotion ont été collectées, soit un total de 4948593 évènements. Chaque évènement est décrit par : l utilisateur ; le contenu demandé ; la date d émission de la requête ; le nombre d octets récupérés. Les données sont anonymisées. Après une première analyse, les évènements ont été classés en 3 catégories : Lanceur : avant de récupérer une vidéo, le navigateur récupère un lecteur en flash qui va à son tour lancer une ou plusieurs requêtes (environ 20% des évènements). Vidéo : requête d une vidéo autre que la précédente requête du même utilisateur ( 40%). Saut : souvent, un utilisateur demande plusieurs fois de suite le même film. L interprétation est un saut : l utilisateur va vers une partie de la vidéo qui n a pas encore été enregistrée localement ( 40%). Pour affiner l analyse, les évènements ont été regroupés en sessions utilisateur. Une première idée, se servir des lanceurs pour définir une session, a rapidement été abandonnée : un navigateur peut conserver le lanceur dans son cache, ou à l inverse un utilisateur peut rafraichir son navigateur, provoquant une nouvelle récupération du lanceur. Nous avons donc préféré ignorer les requêtes de lanceurs et utiliser les périodes d inactivité pour la classification. Le choix empirique a été de fixer un seuil fixe d une heure, à partir duquel ont été extraites 567510 sessions. 2 Arrivées des sessions Pour analyser la distribution des débuts de session, il est naturel de supposer l absence de corrélation entre les utilisateurs, ce qui suggère une distribution de Poisson [4]. Comme l intensité moyenne observée est très fluctuante (voir Figure 1), une loi hétérogène est la plus adaptée : on cherche une fonction λ(t) (en arrivées par secondes), telle que la probabilité d avoir k arrivées entre t 1 et t 2 > t 1 est donnée par { P(k,t 1,t 2 ) = P (k,λ t 2 λ t 2 t1 = t 2 t t1 ), with 1 λ(t)dt, P (k,λ) = λk k! e λ. Les travaux présentés ici ont été en partie réalisés au Laboratory of Information, Network and Communication Sciences (LINCS, http://www.lincs.fr). (1) 108/131

Yannick Carlinet, The Dang Huynh, Bruno Kauffmann, Fabien Mathieu, Ludovic Noirie et Sébastien Tixeuil 500 0.06 0.05 Données réelles Distribution basée sur λi = r(i) I Distribution basée sur λi = G(µh,σh) I Nombre d arrivées 400 300 200 100 Probabilité 0.04 0.03 0.02 0 0 24 48 72 96 120 144 168 192 216 240 264 288 Heure FIGURE 1: Nombre de sessions par heure observées sur quelques jours 0.01 0 0 10 20 30 40 50 60 70 Nombre de requêtes par intervalle FIGURE 2: Distribution du nombre de débuts de sessions par intervalle de cinq minutes (traces et modèles). Connaître λ permettrait de générer des traces artificielles statistiquement indistinguables des traces réelles, mais une estimation parfaite est impossible. Nous proposons donc d approximer λ par une fonction constante par morceaux : étant donnée une partition en intervalles I de la période, pour I I et t I, nous supposons λ(t) λ I := r(i), où I est la durée de I. (2) I Cette approche autorise un découpage hétérogène de la période, mais au vue des données, une partition en intervalle d une heure a semblé un compromis raisonnable (cf Figure 1). Les λ I donnent une bonne idée de la distribution des sessions, mais cela représente beaucoup de paramètres (2880 pour 120 jours de traces), difficiles à extrapoler (par exemple sur une période plus longue). Afin de réduire les paramètres tout en offrant plus de flexibilité, nous proposons d utiliser un modèle journalier bruité : si I h est l ensemble des intervalles I correspondant à l heure [h,h+1], pour I I h, nous prenons λ I = G(µ h,σ h ), (3) I où G(µ h,σ h ) est pris selon une loi normale tronquée de paramètres µ h et σ h estimés à partir de I h. L équation (3), permet de simuler des arrivées sur une période de temps arbitrairement longues, mais aussi de modifier le comportement journalier à loisir. L inconvénient majeur de cette simplification est qu elle efface les corrélations d une heure à l autre. Cet effet pourrait être compensé en combinant plusieurs variables aléatoires (par exemple une intensité journalière et une intensité horaire), mais le rapport complexité/gain n est pas forcément intéressant, comme l illustre la figure 2, qui compare la distribution des arrivées pour : la trace réelle ; le modèle par intervalles ; le modèle journalier bruité. 3 Déroulement d une session Nous avons d abord étudié la durée des sessions, extrapolée à partir des dates de la première et de la dernière requête (pour n requêtes, une correction n 1 n est appliquée). Le résultat est représenté figure 3. 34% des sessions ne comportent qu une unique requête, et ne peuvent être estimées ; la plupart des autres sessions ne durent que quelques minutes ; la durée médiane est de 7 ; 25% des sessions dépassent la demi-heure, 13% dépassent l heure ; des sessions longues existent (3.3% de plus de 2 heures, 1% de plus de 3,5 heures). Pour mieux comprendre le déroulement d une session, nous avons ensuite utilisé un modèle Markovien : à chaque session S de longueur n correspond une séquence (e i ) 1 i n, où e i {V,S} est le type d évènement (vidéo ou saut). Pour chaque séquence (e j ) 1 j k qui est préfixe d au moins une session, nous avons calculé la probabilité du prochain évènement : vidéo, saut, ou rien (fin de la session). On obtient ainsi une chaîne de Markov qui décrit précisément les séquences observées. L inconvénient de cette approche exhaustive est le nombre d états nécessaires, mais nous avons réussi à trouver une réduction dont la distribution diffère de 109/131

Contenu généré par les utilisateurs : une étude sur DailyMotion 1 CCDF 0.8 0.6 0.4 0.2 0 0 50 100 150 200 250 300 Durée de session (minutes) FIGURE 3: Distribution cumulée complémentaire de la durée des sessions start 1re vidéo 0.34 0.32 0.2 S1 0.25 0.12 0.51 0.65 V2+ S2+ 0.12 0.78 V1 FIGURE 4: Chaine de Markov compacte de session 0.3 0.51 0.06 Nombre de sessions/utilisateurs 10 4 10 3 10 2 10 1 10 0 10 0 10 1 10 2 10 3 10 4 10 5 10 6 Rang FIGURE 5: Popularité en fonction du rang En sessions En utilisateurs Sessions Sessions 15 10 5 0 0 20 40 60 80 100 120 Jours 60 40 20 (a) Motif régulier 0 0 20 40 60 80 100 120 Jours (b) Motif en pic FIGURE 6: Motifs temporels de popularité l original de moins de 1%. Le résultat, présenté figure 4, est une chaîne à cinq états (plus la fin de session, implicite). Après le lancement de la première vidéo, les trois options (nouvelle vidéo, saut ou fin de session) sont à peu près équiprobables. Les états V1 et V2+ correspondent à des nouvelles vidéos. V1 représente souvent (mais pas seulement) le premier changement, et V2+ les changements ultérieurs. La transition du départ vers V1 est de 32%, celle de V1 vers V2+ de 51% et que la boucle sur V2+ est de 65% : les chances de regarder une nouvelle vidéo augmentent avec le nombre de vidéos déjà regardées (0, 1, ou plus de 2). Les états S1 and S2+ correspondent à des sauts. S1 est (exactement) le premier saut d une vidéo donnée, et S2+ les sauts suivants. Comme pour les vidéos, la probabilité de saut augmente en fonction des sauts précédents : entre 20% et 34% pour le premier saut (selon l état initial), 51% pour le deuxième et 78% ensuite. 4 Popularité des vidéos La popularité peut se mesurer via divers moyens : en nombre de requêtes brutes (sauts inclus), de sessions ou d utilisateurs. Au niveau sessions, les données comportent 440000 vidéos distinctes, soit une moyenne de 1,29 session par vidéo. On observe un comportement relativement classique à aile lourde : la vidéo la plus populaire compte 2381 sessions, 338 vidéos comptent plus de 100 sessions, tandis qu une large majorité (300000) de vidéos n apparaît qu une fois. Ces données sont illustrées par la figure 5. Un autre aspect important de la popularité est sa répartition temporelle. Nous avons examiné le nombre de sessions par jour des 10000 vidéos les plus populaires (en-deça, le nombre de sessions par vidéo est trop faible), et deux principaux types de profil sont apparus : un motif régulier (figure 6a), où un nombre relativement constant de requêtes est observé sur un grand nombre de jours ; un motif en pic (figure 6b), où la grande majorité de sessions est concentrée sur quelques jours. La répartition des motifs est intéressante : sur les 10000 vidéos, la proportion de motifs en pic est de 15%. Cette proportion monte à 50% pour les 2000 premières vidéos, et à 90% pour les 100 premières. Autrement dit, la majorité des vidéos ont un motif temporel régulier, mais les vidéos les plus populaires ont 110/131

Yannick Carlinet, The Dang Huynh, Bruno Kauffmann, Fabien Mathieu, Ludovic Noirie et Sébastien Tixeuil un motif en pic. L observation de cette corrélation nous semble importante, car elle a potentiellement de fortes implications, par exemple pour les performances d algorithmes de mises en cache du contenu. 5 Travaux connexes La plupart des travaux connexes aux présents résultats se basent sur le site YouTube, en raison de sa popularité. Parmi les travaux comparables aux nôtres, on peut citer : Gill et al. [5], qui utilisent la décomposition des requêtes en sessions sur des données de 2008 (le seuil d inactivité choisi était de 40 minutes). Abhari et Soraya [6], qui infèrent le comportement des utilisateurs à partir de données issues du site YouTube (par opposition notre approche est basées sur des mesures passives au niveau utilisateur) ; Plissonneau et al. [7] utilisent la même approche de mesure que nous, mais sur une période plus courte (35 heures) ; enfin, diverses études de popularité ont été faites, souvent mesurées à partir du fournisseur de contenu (voir par exemple [6, 8] pour Youtube). 6 Conclusion En analysant au niveau utilisateur quatre mois d usage du site DailyMotion, nous proposons de modéliser les données par la combinaison de 3 comportements élémentaires : des arrivées de sessions suivant un processus de Poisson hétérogène ; un comportement pour chaque session décrit par une chaîne de Markov ; une popularité des vidéos en aile lourde, avec de fortes corrélations temporelles, en particulier sur les vidéos populaires. Si nous avons observé de petites corrélations entre ces trois processus, il semble possible de les négliger en première approximation. Le résultat est alors une décomposition naturelle permettant de décrire le comportement des utilisateurs, qui ouvre la voie à la création d un générateur de traces, où les différents éléments (arrivées, sessions, popularité) pourraient de manière indépendante être extraits de traces réelles ou émulés (avec les paramètres initiaux ou en changeant certaines hypothèses). Références [1] A. Finamore, M. Mellia, M. M. Munafò, R. Torres, and S. G. Rao, Youtube everywhere : impact of device and infrastructure synergies on user experience, in IMC 11, 2011, pp. 345 360. [2] Dailymotion, http://www.dailymotion.com. [3] Y. Carlinet, T. D. Huynh, B. Kauffmann, F. Mathieu, L. Noirie, and S. Tixeuil, Four Months in DailyMotion : Dissecting User Video Requests, in TRAC 2012-3rd International Workshop on TRaffic Analysis and Classification, Limassol, Cyprus, Aug. 2012. [Online]. Available : http://hal.inria.fr/hal-00692095 [4] C. Park, H. Shen, J. S. Marron, F. Hernandez-Campos, and D. Veitch, Capturing the elusive poissonity in web traffic, in 14th IEEE MASCOTS Conference, 2006, pp. 189 196. [5] P. Gill, M. F. Arlitt, Z. Li, and A. Mahanti, Characterizing user sessions on youtube, in SPIE/ACM Conference on Multimedia Computing and Networking (MMCN), Santa Clara, USA, 2008. [6] A. Abhari and M. Soraya, Workload generation for youtube, Multimedia Tools Appl., vol. 46, no. 1, pp. 91 118, 2010. [7] L. Plissonneau, T. En-Najjary, and G. Urvoy-Keller, Revisiting web traffic from a dsl provider perspective : the case of youtube, in Proc. of the 19th ITC Specialist Seminar, 2008. [8] M. Zink, K. Suh, Y. Gu, and J. Kurose, Characteristics of youtube network traffic at a campus network - measurements, models, and implications, Computer Networks, vol. 53, no. 4, pp. 501 514, 2009. [9] Builtwith.com, Dailymotion video website categories, http://trends.builtwith.com/media/ DailyMotion-Video. 111/131

Réduction de la consommation d énergie des réseaux cellulaires hétérogènes Anis Ouni 1 and Hervé Rivano 1 and Fabrice Valois 1 1 Université de Lyon, INRIA INSA Lyon, CITI, F-69621, France La réduction de la consommation énergétique constitue un défi majeur pour les réseau cellulaire de nouvelle génération. Ce papier propose deux algorithmes d ordonnancement et de gestion d endormissement de réseau LTE-Advanced de type relai. Ces algorithmes permettent, d abord, l affectation de ressources aux noeuds relai et, ensuite, la gestion de leurs activités selon leur état (transmission, réception ou endormissement) afin de réduire la consommation énergétique. Nos résultats montrent une réduction de la consommation énergétique importante. Keywords: Réseau cellulaire LTE-Advanced, consommation d énergie, ordonnancement, endormissement. 1 Introduction Les réseaux cellulaires doivent absorber une croissance très forte du trafic généré par les terminaux mobiles de nouvelle génération. En particulier, une solution communément envisagée consiste à renforcer le réseau avec des petites stations de base relai.cependant, cette évolution s accompagne d une augmentation insoutenable de la consommation énergétique : environ 80% de la consommation énergétique est dans les stations de base, et la majeure partie est indépendante de la charge. Les opérateurs et équipementiers s intéressent donc à réduire la consommation d énergie des stations. Suivant cet objectif, plusieurs travaux se sont intéressés à l énergie économisable lorsque le réseau est peu chargé et que des stations peuvent être mises en veille. La plupart de ces travaux exploitent l évolution du trafic dans la journée : lorsque la charge est faible pendant une durée suffisante (en particulier pendant la nuit), certaines stations sont éteintes et leurs clients pris en charge par celles qui restent en fonction [1, 2]. Différentes techniques sont mises en œuvre pour garantir que le service soit néanmoins satisfaisant, en particulier en s inspirant des algorithmes de contrôle de topologie des réseaux de capteurs [3]. Dans cet article, nous nous intéressons au contraire à la consommation énergétique des stations de bases et relais LTE-Advanced lorsque le réseau est chargé. Nous exploitons les capacités d endormissement partiel et rapide des équipements pour économiser de l énergie au cours d une trame. Dans [4], des outils d optimisation des réseaux radio maillés ont été développés. Les configurations optimales du réseau (en termes d allocation de ressources, puissance de transmission, routage, etc.) maximisent le débit des stations ou minimisent la consommation d énergie globale. Ces outils calculent le nombre optimal de ressources à allouer aux stations mais ne traitent pas le problème d ordonnancement : quelle ressource à quel nœud. Dans ce travail, nous partons de ces solutions pour calculer des ordonnancements permettant la mise en veille partielle des stations. Le calcul d un ordonnancement optimal est très long du fait des nombreuses symétries du problème. La première contribution de ce travail est donc une heuristique calculant l ordonnancement des nœuds et leur mise en veille partielle selon deux stratégies différentes. La deuxième contribution est de quantifier le gain énergétique de ces stratégies dans des scénarios réalistes. 2 Méthodologie 2.1 Hypothèse Nous considérons un réseau cellulaire hétérogène, LTE-Advanced Relay, composé d une macro station de base et plusieurs relais. La macro, notée enb (evolved Node-B), couvre une grande surface. Elle utilise une 112/131

Anis Ouni and Hervé Rivano and Fabrice Valois antenne tri-sectorielle qui permet de transmettre à quelques centaines de mètres voir plusieurs kilomètres. Les relais, notés RN (Relay Node), permettent d étendre la couverture de la macro ou de renforcer le débit dans les zones où se concentrent de nombreux utilisateurs. Ces nœuds utilisent une antenne omnidirectionnelle pour couvrir quelques dizaines de mètres. Selon la qualité du lien radio, un terminal mobile (noté, UE : User Equipement) peut se connecter soit au RN soit au enb. Le RN relaie le trafic utilisateur vers le enb par un lien radio. Dans ce travail, nous nous focalisons sur le scénario type-1 Relay de 3GGP [5]. Chaque enb gère trois cellules adjacentes dans chacune desquelles un nombre de RN sont déployés. Les ressources radio, en LTE-Advanced, se présentent sous la forme d une grille temps-fréquence. Dans le domaine temporel, le temps est divisé en trames radio consécutives de 10 ms, chaque trame radio est répartie en dix sous-trames de 1 ms. Dans le domaine fréquentiel la plus petite unité de ressource pouvant être allouée est appelée PRB (Physical Ressource Block). Un nœud peut transmettre sur plusieurs blocs de ressources dans une même trame. Afin de réduire la consommation d énergie, il est intéressant de passer les RNs en mode d endormissement total dans lequel la consommation est presque nulle. Néanmoins, le temps de réveil d une station de base peut prendre 10 à 20 secondes. Pour économiser de l énergie sur des échelles de temps plus petites, on considère un endormissement partiel dans lequel seule une partie des composants sont éteints pour réduire la consommation à 10W et avec un temps de réveil de 30µs [6]. Ceci permet d envisager l endormissement d un nœud pour une durée de l ordre de la sous-trame afin de réduire la consommation du réseau même lorsqu il est chargé. 2.2 Modèle énergétique Dans ce travail, nous utilisons le modèle de consommation d énergie proposé dans le projet EARTH [7]. Lorsque l interface radio d un nœud n est pas utilisée pas, nous supposons que le nœud consomme une quantité de puissance fixe P 0, nous appelons cet état inactif. Lorsqu un nœud transmet, il consomme (P 0 + p P out ), avec p un facteur multiplicatif de la puissance de transmission qui modélise, en particulier, le coût d amplification de la puissance de transmission, P out. Lorsque qu un nœud reçoit un signal il consomme P r, dont la valeur et fixe et dépend de la consommation énergétique de tous les composants de la station [7]. Dans un état d endormissement partiel, un RN consomme D < P 0. Afin de prendre en compte le temps et le coût énergétique du réveil d un nœud partiellement endormi, nous considérons qu il est intéressant d endormir le nœud dès que c est pour un temps supérieur à t 30µs, durée pendant laquelle nous supposons que le nœud consomme en moyenne P 0. La Figure 1 illustre ces coûts énergétiques. FIGURE 1: Puissance consommée pour chaque état. FIGURE 2: Example d ordonnancement. 2.3 Algorithme d ordonnancement et endormissement Soit F l ensemble des ensembles compatibles, c est à dire des ensembles de communications entre les nœuds qui peuvent partager une même sous-trame. W : F R est le nombre de sous-trame qui doivent être allouées à chaque ensemble, calculé par les outils d optimisation présentés dans [4]. Le problème d ordonnancement consiste à allouer à chaque ensemble compatible, F F, les bonnes W(F) sous-trame. La Figure 2 illustre un exemple d ordonnancement simple. Dans ce travail, nous proposons une heuristique qui permet de calculer un ordonnancement des RNs et leur endormissement partiel selon deux stratégies différentes qui se fondent sur le temps d activation. Une sous-trame constitue un TTI (Transmission Time Interval) qui est la durée minimale à allouer à un nœud/utilisateur. 113/131

des nœuds. La première stratégie, nommée LAFS (the Least Active, the First Served ), commence par ordonner les RNs les moins actifs afin de réduire le nombre de changement d états et donc réduire le coût total de réveil. La deuxième stratégie, nommée MAFS (the Most Active, the First Served), commence par ordonner les nœuds les plus actifs afin de garantir que ces nœuds puissent passer en endormissement partiel. L algorithme 1 présente les grands lignes de LAFS. Dans la phase d ordonnancement (lignes 1 14), LAFS commence par allouer les premières sous-trame aux ensembles compatibles qui contiennent les nœuds les moins actifs afin d avoir une durée d endormissement partiel la plus grande possible pour ces nœuds. Dans la phase d endormissement (lignes 15 20), chaque RN passe en état d endormissement partiel dans chaque ensemble successif de sous-trame de durée supérieure au seuil t. MAFS est très similaire à LAFS, mais commence par ordonner les nœuds les plus actifs. Algorithm 1 LAFS Require: RNs : noeuds relai, F : configurations, W[F] : durée d activation de F F 1: while (RNs /0) do 2: for u RNs do 3: active_time[u] W(F) / Calculer le temps d activation total de u / F F,u F 4: end for 5: u {u RNs, active_time[u] = min (active_time[v])} v RNs 6: for (F F : u F) do 7: for (w F) do 8: Affecter "W(F) slots" au nœud w 9: Enregistrer le temps de début et fin d activité de RN w 10: end for 11: F F \ {F} 12: end for 13: RNs {RNs} \ {u } 14: end while 15: for (u RNs) do 16: Calculer la durée des périodes des états inactifs de RN u 17: if (Idle_time[i] > t ) then 18: Enregistrer le temps de début et fin de sommeil 19: end if 20: end for /*Sélectionner le RN le moins actif*/ 3 Étude de performances Les outils d optimisation présentées dans [4] sont implémentés sous AMPL/CPLEX. Nous considérons une cellule macro avec une station enb tri-sectorielle. Dans chaque secteur dix RNs sont déployés et 80 utilisateurs sont uniformément répartis dans la cellule. Les paramètres de consommation de chaque nœud sont issus de [7], la consommation en endormissement partiel est de 10W. Les paramètres de simulation se basent sur le scénario type-1 de 3GPP LTE-Advanced case 3, mode TDD. Nous supposons que chaque utilisateur veut transmettre et télécharger, respectivement, un fichier de 1Mb et 2Mb. Apport de l endormissement partiel La figure 3 illustre le gain énergétique dû à l endormissement partiel des RNs en fonction du seuil t. Dans le but de quantifier les performances des deux approches LAFS et MAFS, nous ajoutons deux autres courbes. La première représente une borne supérieure au gain énergétique obtenue en considérant que tous les nœuds peuvent être endormis d une seule traite pendant (temps inactif total - t). La deuxième est le résultat d un ordonnancement aléatoire des nœuds dans lequel l affectation des sous-trame est fait d une manière arbitraire. La figure 3(a) montre que LAFS et MAFS permettent une économie d énergie de 30% à 6% tant que le seuil t ne dépasse pas 20 sous-trames (20ms). Au delà, LAFS économise plus d énergie. En effet, dans ce cas les nœuds les plus actifs ne peuvent pas passer en mode d endormissement partiel et commencer par ordonner les nœuds les moins actifs permet de 114/131

Anis Ouni and Hervé Rivano and Fabrice Valois s assurer qu ils sont endormis le plus longtemps possible. L écart à la borne supérieure est assez important en dehors des valeurs extrémales de t, il semble raisonnable de penser que cette borne n est pas très fine. Le scénario d un réseau maillé à ceux étudiés dans [4] est illustré dans la figure 3(b). Dans ce cas, les nœuds génèrent un trafic qui est retransmis vers une passerelle par des communications multi-saut. Le gain obtenu est plus important en particulier parce que les nœuds à la périphérie du réseau sont peu chargés. Seuls les nœuds proches de la passerelle sont aussi chargés que les RNs du scénario précédent. Il est donc possible d endormir plus de nœuds sur une plus grande proportion du temps, ce qui explique aussi le faible écart de performance entre l ordonnancement aléatoire et la borne supérieure. (a) Réseau "LTE-Advanced Relay" (b) Réseau maillé mutli-saut FIGURE 3: Gain énergétique. 4 Conclusion Ce papier s intéresse à la réduction de la consommation énergétique des réseaux cellulaires de type LTE- Advanced. Nous avons proposé une heuristique calculant un ordonnancement des nœuds et leur mise en veille partielle. Nos résultats montre un gain énergétique significatif si le temps nécessaire à l endormissement partiel puis au réveil ne dépasse pas 20ms. Ce gain est encore plus important dans le cas d un réseau maillé. Nous conjecturons que la borne supérieure présentée ici n est pas fine et qu un ordonnancement optimal aura des performances proches de celles des heuristiques. Références [1] Alexandra Bousia, Angelos Antonopoulos, Luis Alonso 0001, and Christos V. Verikoukis. "green" distance-aware base station sleeping algorithm in lte-advanced. In ICC, pages 1347 1351. IEEE, 2012. [2] Chadi Khirallah and John S. Thompson. Energy efficiency of heterogeneous networks in lte-advanced. J. Signal Process. Syst., 69(1) :105 113, October 2012. [3] Hervé Rivano, Iulia Tunaru, and Fabrice Valois. WSN-based energy saving strategies applied to LTE access networks. page 36, Lyon, Jun 2012. [4] A. Ouni, H. Rivano, and F. Valois. Wireless Mesh Networks : Energy - Capacity Tradeoff and Physical Layer Parameters. In The 22nd Annual IEEE PIMRC 11, Toronto, Canada, Sept 2011. [5] 3GPP R1-104460. Type-1 relay performance for uplink. [6] Pål K. Frenger, Peter Moberg, Jens Malmodin, Ylva Jading, and István Gódor. Reducing energy consumption in lte with cell dtx. In VTC Spring 11, pages 1 5, 2011. [7] EARTH project deliverable, D2.2. Energy efficiency analysis of the reference systems areas of improvements and target breakdown. December 2010, Web site : https ://www.ict-earth.eu/. 115/131

Fast Collaborative Online Graph Exploration Dariusz Dereniowski 1 and Yann Disser 2 and Adrian Kosowski 3 and Dominik Pająk 3 and Przemysław Uznański 3 1 Gdańsk University of Technology, Poland 2 TU Berlin, Germany 3 Inria Bordeaux Sud-Ouest, France We study the following scenario of online graph exploration. A team of k agents is initially located at a distinguished vertex r of an undirected graph. In each time step, each agent can traverse an edge of the graph. All vertices have unique identifiers, and upon entering a vertex, an agent obtains a list of the identifiers of all its neighbors. We ask how many time steps are required to complete exploration, i.e., to make sure that every vertex has been visited by some agent. We consider two communication models: one in which all agents have global knowledge of the state of the exploration, and one in which agents may only exchange information when simultaneously located at the same vertex. As our main result, we provide the first strategy which performs exploration of a graph with n vertices at a distance of at most D from r in time O(D), using a team of agents of polynomial size k = Dn 1+ε < n 2+ε, for any ε > 0. Our strategy works in the local communication model, without knowledge of global parameters such as n or D. For any constant c > 1, we show that in the global communication model, a team of k = Dn c agents can always complete exploration in D(1 + c 1 1 + o(1)) time steps, whereas at least D(1 + 1 c o(1)) steps are sometimes required. In the local communication model, D(1 + c 1 2 + o(1)) steps always suffice to complete exploration, and at least D(1 + 2 c o(1)) steps are sometimes required. 1 Introduction We are given a graph G = (V,E) rooted at some vertex r. The number of vertices of the graph is bounded by n. An exploration strategy for G is a sequence of moves performed independently by the agents. A strategy explores the graph G in t time steps if for all v V there exists time step s t and an agent g A, such that g is located at v in step s. Proposing a exploration strategy is relatively simple for a single agent. Assuming the agent is able to distinguish which neighboring vertices it has previously visited, there is no better systematic traversal strategy than a simple depth-first search of the graph, which takes 2(n 1) moves in total for a graph with n vertices. The situation becomes more interesting if multiple agents want to collectively explore the graph starting from a common location. If arbitrarily many agents may be used, then we can generously send n D agents through the graph, where D is the distance from the starting vertex to the most distant vertex of the graph. At each step, we spread out the agents located at each node (almost) evenly among all the neighbors of the current vertex, and thus explore the graph in D steps. In this paper we study this trade-off between exploration time and team size. A trivial lower bound on the number of steps required for exploration with k agents is Ω(D + n/k): for example, in a tree, some agent has to reach the most distant node from r, and each edge of the tree has to be traversed by some agent. We look at the case of larger groups of agents, for which D is the dominant factor in this lower bound. This complements previous research on the topic for trees [2, 4] and grids [6], which usually focused on the case of small groups of agents (when n/k is dominant). Another important issue when considering collaborating agents concerns the model that is assumed for the communication between agents. We need to allow communication to a certain degree, as otherwise there is no benefit to using multiple agents for exploration [4]. We distinguish between two communication models. In exploration with global communication we assume that, at the end of each step s, all agents have complete knowledge of the explored subgraph. In particular, in step s all agents know the number of edges incident to 116/131

Dariusz Dereniowski and Yann Disser and Adrian Kosowski and Dominik Pajak and Przemysław Uznański each vertex of the explored subgraph which lead to unexplored vertices, but they have no information on any subgraph consisting of unexplored vertices. In exploration with local communication two agents can exchange information only if they occupy the same vertex. Thus, each agent g has its own view on which vertices were explored so far, constructed based only the knowledge that originates from the agent s own observations and from other agents that it has met. Related work Collaborative online graph exploration has been intensively studied for the special case of trees. In [4], a strategy is given which explores any tree with a team of k agents in O(D + n/logk) time steps, using a communication model with whiteboards at each vertex that can be used to exchange information. This corresponds to a competitive ratio of O(k/logk) with respect to the optimum exploration time of Θ(D + n/k) when the graph is known. In [5] authors show that the competitive ratio of the strategy presented in [4] is precisely k/logk. Also in [1] they prove a lower bound Ω(k/logk) on the competitive ratio for the class of greedy algorithms. Another DFS-based algorithm, given in [1], has an exploration time of O(n/k + D k 1 ) time steps, which provides an improvement only for graphs of small diameter and small teams of agents, k = O(log D n). For a special subclass of trees called sparse trees, [2] introduces online strategies with a competitive ratio of O(D 1 1/p ), where p is the density of the tree as defined in that work. The best currently known lower bound is much lower: in [3], it is shown that any deterministic exploration strategy with k < n has a competitive ratio of Ω(logk/loglogk), even in the global communication model. Both for deterministic and randomized strategies, the competitive ratio is known to be at least 2 1/k, when k < n [4]. These lower bounds do not hold for larger teams of agents. 2 Tree exploration We start our considerations by designing exploration strategies for the special case when the explored graph is a tree T rooted at a vertex r. For any exploration strategy, the set of all encountered vertices (i.e., all visited vertices and their neighbors) at the beginning of step s = 1,2,3,... forms a connected subtree of T, rooted at r and denoted by T (s). In particular, T (1) is the vertex r together with its children, which have not yet been visited. For v V (T ) we write T (s) (v) to denote the subtree of T (s) rooted at v. We denote by L(T (s),v) the number of leaves of the tree T (s) (v). Note that L(T (s),v) L(T (s+1),v) because a leaf in T (s) (v) is either a leaf of the tree T (s+1) or the root of a subtree containing at least one vertex. We are ready to give the procedure TEG (Tree Exploration with Global Communication). Procedure TEG (tree T with root r, integer x) at time step s: Place x new agents at r. for each v V (T (s) ) which is not a leaf do: { determine moves of the agents located at v } Let A v (s) be the set of agents currently located at v. Denote by v 1,v 2,...,v d the set of children of v. Let i := argmax i {L(T (s),v i )}. { v i is the child of v with the largest value of L } Partition A v (s) into disjoint sets A v1,a v2,...,a vd, such that: A (s) (i) A vi = v L(T (s),v i ) L(T (s),v), for i {1,2,...,d} \ {i }, (ii) A vi = A (s) v i {1,2,...,d}\{i } A vi. for each i {1,2,...,d} do for each agent g A vi do move (s) g to vertex v i. end for end procedure TEG. Theorem 2.1 For any fixed c > 1 and known n, the online tree exploration problem with global communication can be solved in at most D (1 + c 1 1 + o(1)) time steps using a team of k Dn c agents by executing procedure TEG with parameter x = O(n c ). Now we propose a strategy TEL (Tree Exploration with Local Communication). In the implementation of the algorithm we assume that whenever two agents meet, they exchange all information they possess about the tree. 117/131

Fast Collaborative Online Graph Exploration Thus, after the meeting, the knowledge about the explored vertices and their neighborhoods, is a union of the knowledge of the two agents before the meeting. Since agents exchange information only if they occupy the same vertex, at any time s, the explored tree T (s) may only partially be known to each agent, with different agents possibly knowing different subtrees of T (s). Procedure TEL (tree T with root r, integer x) at time step s: Place x new agents at r in state exploring. for each v V (T (s) ) which is not a leaf do: { determine moves of the agents located at v } if v r then for each agent g at v in state notifying do move (s) g to the parent of v. if v contains at least two agents in state exploring and agents at v do not have information of any agent which visited v before step s then: { send two new notifying agents back to the root from newly explored vertex v } Select two agents g,g at v in state exploring. Change state to notifying for agents g and g. move (s) g to the parent of v. { g will move to the parent one step later } end if Let A v (s) be the set of all remaining agents in state exploring located at v. Denote by v 1,v 2,...,v d all children of v, and by δ the distance from r to v. s := δ+s 2. { s is a time in the past such that T (s ) (v) is known to the agents at v } Let i := argmax i {L(T (s ),v i )}. { v i is the child of v with the largest value of L } Partition A v (s) into disjoint sets A v1,a v2,...,a vd, such that: A (s) (i) A vi = v L(T (s ),v i ) L(T (s ),v), for i {1,2,...,d} \ {i }, (ii) A vi = A (s) v i {1,2,...,d}\{i } A vi. for each i {1,2,...,d} do if A vi 2 then for each agent g A vi do move (s) g to v i. for each i {1,2,...,d} do if A vi = 1 then change state to discarded for agent in A vi. end for for each v V (T (s) ) which is a leaf do move (s) all agents located at v to the parent of v. end procedure TEL. In procedure TEL, all agents are associated with a state flag which may be set either to the value exploring or notifying. Agents in the exploring state act similarly as in global exploration, with the requirement that they always move to a vertex in groups of 2 or more agents. Every time a group of exploring agents visits a new vertex, it detaches two of its agents, changes their state to notifying, and sends them back along the path leading back to the root. These agents notify every agent they encounter on their way about the discovery of the new vertices. Although information about the discovery may be delayed, in every step s, all agents at vertex v know the entire subtree T (s ) (v) which was explored until some previous time step s s. The state flag also has a third state, discarded, which is assigned to agents no longer used in the exploration process. The correctness of the definition of the procedure relies on the following lemma, which guarantees that for a certain value s the tree T (s ) (v) is known to all agents at v. Lemma 2.2 Let T be a tree rooted at some vertex r and let v be a vertex with distance δ to r. After running procedure TEL until time step s, all agents which are located at vertex v at the start of time step s know the tree T (s ) (v), for s = δ+s 2. Theorem 2.3 For any fixed c > 1, the online tree exploration problem can be solved in the model with local communication and knowledge of n using a team of k Dn c agents in at most D ( 1 + c 1 2 + o(1)) time steps by executing procedure TEL with parameter x = O(n c ). 3 General graph exploration Now we want to propose algorithm for general graphs. We will use procedures TEG and TEL. For any graph G we define a tree T and we show that algorithm exploring a tree T also explores graph G. Then we use TEG and TEL to explore tree T. Given a graph G = (V,E) with root vertex r, we call P = (v 0,v 1,v 2,...,v m ) with 118/131

Dariusz Dereniowski and Yann Disser and Adrian Kosowski and Dominik Pajak and Przemysław Uznański r = v 0, v i V, and {v i,v i+1 } E a walk of length l(p) = m. Note that a walk may contain a vertex more than once. We introduce the notation P[ j] to denote v j, i.e., the j-th vertex of P after the root, and P[0, j] to denote the walk (v 0,v 1,...,v j ), for j m. The last vertex of path P is denoted by end(p) = P[l(P)]. The concatenation of a vertex u to path P, where u N(end(P)) is defined as the path P P +u of length l(p)+1 with P [0,l(P)] = P and end(p ) = u. We now define the tree T with vertex set P, root (r) P, such that vertex P is a child of vertex P if and only if P = P + u, for some u N(end(P)). We first show that agents can simulate the exploration of T while in fact moving around graph G. Intuitively, while an agent is following a path from the root to the leaves of T, its location in T corresponds to the walk taken by this agent in G. Lemma 3.1 A team of agents can simulate the virtual exploration of tree T starting from root (r), while physically moving around graph G starting from vertex r. In order to execute procedures TEG and TEL we define function L(T (s),v) such that it does not exceed n for any s,v. Then we can use TEG and TEL on tree T and we obtain following results. Theorem 3.2 For any c > 1, the online graph exploration problem with knowledge of n can be solved using a team of k Dn c agents: in at most D (1 + c 1 1 + o(1)) time steps in the global communication model. in at most D (1 + c 1 2 + o(1)) time steps in the local communication model. For the case when we do not assume knowledge of (an upper bound on) n, we provide a variant of the above theorem which also completes exploration in O(D) steps. Theorem 3.3 For any c > 1, there exists an algorithm for the local communication model, which explores a rooted graph of unknown order n and unknown diameter D using a team of k agents, such that its exploration time is O(D) if k Dn c. 4 Lower bounds The graphs that produce the lower bound are a special class of trees. The same class of trees appeared in the lower bound from [4] for the competitive ratio of tree exploration algorithms with small teams of agents. Theorem 4.1 For every increasing function f, such that log f (n) = o(logn), and every constant c > 0, there exists a family of trees T n,d, each with n vertices and height D = Θ( f (n)), such that (i) for every exploration strategy with global communication that uses Dn c agents there exists a tree in T n,d such that number of time steps required for its exploration is at least D ( 1 + 1 c o(1)), (ii) for every exploration strategy with local communication that uses Dn c agents there exists a tree in T n,d such that number of time steps required for exploration is at least D ( 1 + 2 c o(1)). References [1] P. Brass, F. Cabrera-Mora, A. Gasparri, and Jizhong Xiao. Multirobot tree and graph exploration. Robotics, IEEE Transactions on, 27(4):707 717, 2011. [2] Miroslaw Dynia, Jaroslaw Kutylowski, Friedhelm Meyer auf der Heide, and Christian Schindelhauer. Smart robot teams exploring sparse trees. In MFCS, pages 327 338, 2006. [3] Miroslaw Dynia, Jakub Lopuszanski, and Christian Schindelhauer. Why robots need maps. In SIROCCO, pages 41 50, 2007. [4] Pierre Fraigniaud, Leszek Ga sieniec, Dariusz R. Kowalski, and Andrzej Pelc. Collective tree exploration. Networks, 48(3):166 177, 2006. [5] Yuya Higashikawa, Naoki Katoh, Stefan Langerman, and Shin-ichi Tanigawa. Online graph exploration algorithms for cycles and trees by multiple searchers. Journal of Combinatorial Optimization, pages 1 16, 2012. [6] Christian Ortolf and Christian Schindelhauer. Online multi-robot exploration of grid graphs with rectangular obstacles. In SPAA, pages 27 36, 2012. 119/131

Exploration des graphes dynamiques T -intervalle-connexes : le cas de l anneau David Ilcinkas et Ahmed Mouhamadou Wade LaBRI, CNRS & Université de Bordeaux, France Dans cet article, nous étudions les graphes dynamiques T -intervalle-connexes du point de vue du temps nécessaire à leur exploration par une entité mobile (agent). Un graphe dynamique est T -intervalle-connexe (T 1) si pour chaque fenêtre de T unités de temps, il existe un sous-graphe couvrant connexe stable. Cette propriété de stabilité de connexion au cours du temps a été introduite par Kuhn, Lynch et Oshman [6] (STOC 2010). Nous nous concentrons sur le cas où le graphe sous-jacent est un anneau de taille n et nous montrons que la complexité en temps en pire cas est de n 2n T Θ(1) unités de temps si l agent connaît la dynamique du graphe, et n + (δ 1) ± Θ(δ) unités de max{1,t 1} temps sinon, où δ est le temps maximum entre deux apparitions successives d une arête. Keywords: Graphe dynamique, exploration, T-intervalle-connexité, agent mobile 1 Introduction Entre autres dû à la très forte augmentation du nombre d objets communicants que l on observe aujourd hui, les systèmes de calcul distribué deviennent de plus en plus dynamiques. Les modèles de calcul pour les réseaux statiques ne suffisent clairement plus à capturer le fonctionnement de ces nouveaux réseaux de communication. En fait, même les modèles de calcul prenant en compte une certaine tolérance aux fautes deviennent insuffisants pour certains réseaux très dynamiques. En effet, les modèles classiques de tolérance aux fautes supposent soit que la fréquence des fautes est faible, ce qui donne le temps à l algorithme de s adapter aux changements, soit que le système se stabilise au bout d un certain temps (comme dans les systèmes auto-stabilisants par exemple). De ce fait, depuis une décennie environ, ont été développés de nombreux modèles plus ou moins équivalents qui prennent en compte l extrême dynamisme de certains réseaux de communication. Le lecteur intéressé trouvera dans [1] un survol très complet des différents modèles et études de graphes dynamiques (voir aussi [7]). L un des premiers modèles développés, et aussi l un des plus classiques, est le modèle des graphes évolutifs [3]. Pour simplifier, étant donné un graphe statique G, appelé graphe sous-jacent, un graphe évolutif basé sur G est une suite (potentiellement infinie) de sous-graphes (couvrants mais non nécessairement connexes) de G (voir Section 2 pour les définitions précises). Ce modèle est particulièrement adapté pour modéliser les réseaux dynamiques synchrones. Dans toute sa généralité, le modèle des graphes évolutifs permet de considérer un ensemble extrêmement riche de réseaux dynamiques. Par conséquent, pour obtenir des résultats intéressants, il est quasiment toujours nécessaire de formuler des hypothèses permettant de réduire les possibilités de graphes dynamiques engendrés par le modèle. Citons par exemple l hypothèse de connexité au cours du temps, qui stipule qu il existe un chemin temporel de tout sommet vers tout autre sommet, et l hypothèse de constante connexité, pour laquelle le graphe doit être connexe à chaque instant. Cette dernière hypothèse, très classique, a été généralisée dans un récent article de Kuhn, Lynch et Oshman [6] par la notion de T -intervalle-connexité. Grossièrement, étant donné un entier T 1, un graphe dynamique est T -intervalle-connexe si, pour toute fenêtre de T unités de temps, il existe un sous-graphe connexe couvrant stable pendant toute la période. (La notion de constante connexité est donc équivalente à la notion de 1-intervalle-connexité.) Cette nouvelle Ce travail a été réalisé avec le soutien du projet ANR DISPLEXITY, du projet INRIA CEPAGE, et du projet européen EULER. 120/131

David Ilcinkas et Ahmed Mouhamadou Wade notion, qui capture la stabilité de connexion au cours du temps, permet de dériver des résultats intéressants : la T -intervalle connexité permet une économie d un facteur environ Θ(T ) sur le nombre de messages nécessaire et suffisant pour réaliser un échange d information entre tous les sommets [2, 6]. Dans cet article, nous poursuivons l étude de ces graphes dynamiques T -intervalle-connexes en considérant le problème de l exploration. Une entité mobile (appelée agent) se déplaçant dans un graphe dynamique doit traverser/visiter au moins une fois chacun de ses sommets. (Le temps de traversée d une arête est unitaire.) Ce problème fondamental en algorithmique par agents mobiles a été très étudié dans les graphes statiques depuis l article originel de Claude Shannon [8]. Concernant les graphes fortement dynamiques, seul le cas des graphes dynamiques périodiques a été étudié [4, 5]. Nous nous intéressons ici à la complexité en temps (en pire cas) de ce problème, à savoir le nombre d unités de temps utilisées par l agent pour résoudre le problème. Le problème de l exploration, outre ses intérêts théoriques, peut être appliquée pour la maintenance de réseaux, où un agent mobile doit contrôler le bon fonctionnement de chacun des sommets du graphe. Nous considérons le problème dans deux scénarios. Dans le premier, l agent connaît entièrement et exactement le graphe dynamique à explorer. Cette situation correspond aux réseaux dynamiques prévisibles, tels que les réseaux de transport par exemple. Dans le second scénario, l agent ne connaît pas la dynamique du graphe, c est-à-dire les temps d apparition et de disparition des arêtes. Ce cas correspond typiquement aux réseaux dont les changements sont liés à des pannes fréquentes et imprévisibles. Dans ce second scénario, Kuhn, Lynch et Oshman [6] ont noté que le problème de l exploration est impossible à résoudre sous la seule hypothèse de 1-intervalle-connexité. En fait, il est assez facile de se convaincre qu en rajoutant l hypothèse que chaque arête du graphe sous-jacent apparaît infiniment souvent, le problème de l exploration devient possible mais la complexité en temps est non bornée. Dans cet article, et seulement pour le second scénario, nous rajoutons donc l hypothèse de δ-récurrence : chaque arête du graphe sous-jacent apparaît au moins une fois toutes les δ unités de temps. Il s avère que le problème de l exploration est beaucoup plus complexe dans les graphes dynamiques que dans les graphes statiques. En effet, considérons par exemple le premier scénario (graphe connu). Le temps d exploration des graphes statiques à n sommets est clairement en Θ(n) (pire cas 2n 3). Par contre la complexité en temps en pire cas de l exploration des graphes dynamiques (1-intervalle-connexes) à n sommets reste largement inconnue. Aucune borne inférieure meilleure que la borne statique n est connue, tandis que la meilleure borne supérieure connue est quadratique, et découle directement du fait que le diamètre temporel de tels graphes est borné par n. De ce fait, nous nous concentrons ici sur l étude des graphes dynamiques T -intervalle-connexes dont le graphe sous-jacent est un anneau. Nos résultats. Nous déterminons dans cet article la complexité exacte en temps de l exploration des graphes dynamiques T -intervalle-connexes à n sommets basés sur l anneau lorsque l agent connaît la dynamique du graphe. Celle-ci est essentiellement de 2n T 1 unités de temps, deux paliers étant atteints en-dessous de 2 et au-dessus de (n 1)/2 (voir Section 3 pour les détails). Dans le cas où l agent ne connaît pas la dynamique du graphe, nous rajoutons l hypothèse de δ-récurrence, et nous montrons que la complexité augmente pour atteindre n + (δ 1) ± Θ(δ) unités de temps. 2 Définitions et modèles n max{1,t 1} Cette section fournit les définitions précises des concepts et modèles évoqués informellement dans la section précédente. Certaines définitions sont similaires voire identiques aux définitions présentes dans [6]. Définition 1 (Graphe dynamique) Un graphe dynamique est une paire G = (V,E), où V est un ensemble statique de n sommets, et E est une fonction qui associe à tout nombre entier i un ensemble d arêtes non orientées E(i). Définition 2 (Graphe sous-jacent) Étant donné un graphe dynamique G = (V, E), le graphe statique G = (V, i=0 E(i)) est appelé graphe sous-jacent de G. Inversement le graphe dynamique G est dit basé sur le graphe statique G. Dans cet article, nous considérons les graphes dynamiques basé sur un anneau de taille n, noté A n. 121/131

Exploration des graphes dynamiques T -intervalle-connexes Définition 3 (T-intervalle-connexité) Un graphe dynamique est T-intervalle-connexe, pour un entier T 1, si pour tout entier i, le graphe statique G [i,i+t [ = (V, i+t 1 j=i E( j)) est connexe. Définition 4 (δ-récurrence) Un graphe dynamique est δ-récurrent si toute arête du graphe sous-jacent apparaît au moins une fois toutes les δ unités de temps. Une entité mobile, appelée agent, opère sur ces graphes dynamiques. L agent peut, en une unité de temps, traverser au plus une arête. Nous disons qu un agent explore le graphe dynamique si et seulement si il visite l ensemble de ses sommets. 3 L agent connaît la dynamique du graphe Dans cette section, nous supposons que l agent connaît parfaitement le graphe à explorer. Nous montrons que le temps d exploration est faible, borné par 2n, lorsque le graphe sous-jacent est un anneau. De plus, nous montrons que l agent peut profiter de la T -intervalle-connexité pour gagner un facteur additif T. Notons que notre borne supérieure est constructive. Théorème 1 Pour tout entier T 1 et pour tout graphe dynamique T -intervalle-connexe basé sur A n, il existe un agent (algorithme) capable d explorer ce graphe dynamique en un temps au plus 2n 3 si T = 1 2n T 1 si 2 T (n 1)/2 unités de temps. 3(n 1) 2 si T > (n 1)/2 Éléments de preuve. Notons tout d abord que, le graphe dynamique étant au moins 1-intervalle-connexe, au plus une arête est absente à chaque unité de temps. Considérons deux algorithmes (agents), l un allant dans le sens horaire et l autre dans le sens trigonométrique, chacun des deux progressant dès que le graphe dynamique le permet. Dans un premier temps, au moins l un des deux agents est capable de progresser à chaque unité de temps. Cependant, au moment où les agents allaient se rejoindre pour la première fois (donc après un temps au plus n), leur progression peut être interrompue par l absence d une même arête e. Si cette arête e est absente pendant au moins n 1 unités de temps, l un quelconque des agents peut faire demi-tour et explorer tous les sommets de l anneau pendant que seule l arête e est absente. Si l arête e ne reste pas absente suffisamment longtemps et réapparaît au temps t, nous modifions les deux algorithmes de la façon suivante. L agent progressant précedemment dans le sens horaire, respectivement trigonométrique, commence maintenant l exploration de l anneau dans le sens trigonométrique, respectivement horaire, et fait demi-tour le plus tard possible de façon à pouvoir atteindre l arête e au plus tard au temps t 1. Au temps t, les deux algorithmes modifiés se croisent et continuent à progresser dans leur direction habituelle jusqu à ce que l un d eux termine son exploration. Notons qu après le croisement des agents, nous avons de nouveau la propriété qu au moins l un des deux progresse à chaque unité de temps. Globalement, la vitesse (en traversées d arête par unité de temps) de l un des deux agents est donc d au moins 1/2 en moyenne en-dehors de la période d absence de e. Par ailleurs, la modification des algorithmes permet à chacun des agents d explorer une partie d anneau supplémentaire. Malheureusement, cette portion d anneau est parcourue deux fois au lieu d une. Cependant, intuitivement, la vitesse des deux agents modifiés passe à 1 en l absence de e et permet de compenser la perte de temps liée à l aller-retour. Une analyse beaucoup plus précise des algorithmes modifiés permet d obtenir les bornes annoncées. Nous montrons maintenant que les bornes supérieures présentées ci-dessus sont atteintes exactement. Théorème 2 Pour tout n 3 et T 1, il existe un graphe dynamique T -intervalle-connexe basé sur A n tel que tout agent doit faire au moins 2n 3 si T = 1 2n T 1 si 2 T (n 1)/2 unités de temps pour l explorer. 3(n 1) 2 si T > (n 1)/2 Éléments de preuve. Pour T > (n 1)/2, le graphe dynamique difficile à explorer est celui pour lequel l arête opposée au sommet de départ reste déconnectée pendant 3n/2 unités de temps. 122/131

David Ilcinkas et Ahmed Mouhamadou Wade Pour T compris entre 2 et (n 1)/2, le graphe dynamique difficile à explorer est construit de la manière suivante. Soit s 0,,s n 1 les sommets de l anneau dans le sens horaire, s 0 étant le sommet de départ de l agent. L arête {s 0,s 1 }, respectivement {s T 1,s T } est déconnectée aux temps t [0,n 2T + 1[, respectivement t [n T,2n[. Toutes les autres arêtes de l anneau sont toujours présentes. Le graphe difficile à explorer pour T = 1 est le même que pour T = 2. 4 L agent ne connaît pas la dynamique du graphe Dans cette section, nous supposons que l agent ne connaît pas la dynamique du graphe, c est-à-dire ne connaît pas les temps d apparition et de disparition des arêtes. Pour que le problème ait une solution, nous rajoutons l hypothèse que les graphes dynamiques à explorer sont δ-récurrents, pour un certain entier δ 1. Nous prouvons tout d abord qu il existe un algorithme extrêmement simple qui permet d explorer tous les graphes dynamiques T -intervalle-connexes δ-récurrents basés sur l anneau. Cet algorithme consiste à se déplacer autant et dès que possible dans un sens arbitraire fixé. Théorème 3 Il existe un agent (algorithme) permettant d explorer tout graphe dynamique T -intervalleconnexe δ-récurrent basé sur A n en un temps au plus n 1+ n 1 max{1,t 1} (δ 1) unités de temps, pour tous n 3, T 1 et δ 1. Éléments de preuve. Considérons l algorithme dictant à l agent d aller dans une direction arbitraire fixée à chaque fois que l arête correspondante est présente. La complexité énoncée vient du fait, d une part, que cet algorithme ne peut être bloqué plus de δ 1 unités de temps d affilée (δ-récurrence), et d autre part qu après chaque blocage l agent peut traverser sans encombre max{1,t 1} arêtes (T -intervalle-connexité). Le résultat suivant montre que l algorithme très simple décrit précédemment est quasiment optimal. Théorème 4 Pour tous n 3, T 1, δ 1, et tout agent (algorithme), il existe un graphe dynamique T - n 1 intervalle-connexe δ-récurrent basé sur A n tel que cet agent nécessite au moins n 1+ max{1,t 1} (δ 1) unités de temps pour l explorer. Ce résultat reste vrai même si l agent connaît n, T et δ. Éléments de preuve. Fixons un agent, n, T et δ. Intuitivement, à chaque fois que l agent effectue max{1,t 1} traversées d arête dans une même direction, la prochaine arête est retirée pendant δ 1 unités de temps ou jusqu à ce que l agent change de direction. L arête est de nouveau retirée autant que possible à chaque fois que l agent revient sur un sommet incident à cette arête. Références [1] A. Casteigts, P. Flocchini, W. Quattrociocchi, and N. Santoro, Time-varying graphs and dynamic networks. International Journal of Parallel, Emergent and Distributed Systems, volume 27(5), 2012. [2] C. Dutta, G. Pandurangan, R. Rajaraman, and Z. Sun. Information spreading in dynamic networks. CoRR, abs/1112.0384, 2011. [3] A. Ferreira, Building a reference combinatorial model for MANETs. Network, IEEE, volume 18(5), pages 24 29, 2004. [4] P. Flocchini, B. Mans, and N. Santoro. On the exploration of time-varying networks. Theoretical Computer science, volume 469, pages 53-68, 2013. [5] D. Ilcinkas and A. M. Wade. On the Power of Waiting when Exploring Public Transportation Systems. In 15th International Conference On Principles Of Distributed Systems (OPODIS), LNCS 7109, pages 451 464, 2011. [6] F. Kuhn, N.A. Lynch, and R. Oshman, Distributed computation in dynamic networks. In 42nd ACM symposium on Theory of computing (STOC), pages 513 522, 2010. [7] F. Kuhn and R. Oshman, Dynamic networks : models and algorithms. ACM SIGACT News, volume 42(1), pages 82 96, 2011. [8] C. E. Shannon, Presentation of a maze-solving machine. 8th Conf. of the Josiah Macy Jr. Found. (Cybernetics), pages 173 180, 1951. 123/131

Supra-extensibilité des réseaux P2P François Baccelli 123, Fabien Mathieu 1, Ilkka Norros 4 et Rémi Varloot 1 1 Inria 2 ÉNS 3 UT Austin 4 VTT Une des clés du succès du pair-à-pair (P2P) est la faculté de passer à l échelle, ou extensibilité (scalability) : la capacité de service augmente avec le nombre de participants. Pour la distribution de contenu, l extensibilité P2P est fortement liée au fait que le principal goulot d étranglement vient des vitesses d accès individuelles. Mais avec l augmentation des accès très haut débit, la congestion pourrait, dans le futur, se déplacer ailleurs. Qu arriverait-il alors? Pour aborder ce problème, nous proposons un modèle stochastique où les pairs sont plongés dans un espace métrique qui détermine les vitesses point-à-point. Notre principal résultat est la description, pour un scénario simple inspiré de BitTorrent, des performances du régime stationnaire. Un phénomène contre-intuitif apparaît : la supra-extensibilité, ou l augmentation sur-linéaire de la capacité de service! La supra-extensibilité apparaît naturellement dès que le nombre de pairs permet de choisir des voisins locaux, et continue jusqu à un point de rupture où le réseau sous-jacent devient subitement incapable de supporter la charge. Enfin, nous construisons à partir du scénario de base un couteau suisse d extensions du modèle pour lesquelles nous donnons des formules de performances. Une version étendue de cet article sera publiée dans Infocom 2013 [1]. Keywords: P2P, géométrie stochastique, analyse de performances 1 Contexte et modèle Le scénario étudié est inspiré du protocole d échange de fichiers BitTorrent [5], où un fichier est segmenté en petits morceaux échangés entre eux par des pairs leechers au sein d un réseau logique. Quand un leecher a fini son téléchargement, il peut rester et continuer à contribuer au système. Il est alors seeder. Notre approche est dans la lignée de travaux précédents visant à étudier la performance de tels systèmes en se concentrant sur les problèmes de bande passante [9, 8, 2], mais avec un nouveau modèle de congestion. Plus précisément, les pairs sont plongés dans un espace D munie d une distance d. d sera par convention exprimé en mètres, mais son interprétation peut être multiple : distance physique, dans le graphe réseau, dérivée des latences [6], voire distance sémantique. Par souci de simplicité, les résultats sont donnés pour un large tore de dimension 2 approximant le plan euclidien, mais le modèle fonctionne tout aussi bien sur d autres types espaces adaptés aux réseaux, par exemple les espaces hyperboliques [3]. Des nouveaux pairs arrivent dans le système selon une pluie de Poisson d intensité λ (exprimé en m 2.s 1 ). On suppose que la congestion ne provient pas de l accès, mais de la bande passante disponible d un pair x vers un pair y, qui est déterminée par une fonction f (d(x,y)). Des expressions possibles de f sont indiquées sur le tableau 2. En arrivant, chaque pair cherche à récupérer une certaine quantité de données, modélisée par des variables i.i.d. d espérance finie F. Les données sont récupérées de l ensemble des voisins à distance au plus R dans D. Une fois son téléchargement terminé, un pair quitte le système. Nous négligerons ici les problèmes de disponibilité du contenu, et supposerons que toute paire de pairs a toujours des données à s échanger (une argumentation détaillée est disponible dans [1]). Les travaux présentés ici ont été en partie réalisés au Laboratory of Information, Network and Communication Sciences (LINCS, http://www.lincs.fr). 124/131

Baccelli, Mathieu, Norros et Varloot f (r) Interprétation γ = 2π R 0 r f (r)dr C r Comportement TCP Reno lié à la latence (voir [7]) 2πCR U Comportement UDP (constant) ( πur 2 ) C r U TCP avec limitation par flot π 2CR C2 a U ) C r+q TCP avec latence affine 2πC (R qln(1 + Rq ) C r 1 2 ln( 1 + C ) r α o TCP avec coût de contrôle πr(2c or)b Canal sans fil à bruit blanc gaussien additif TABLE 2: Quelques fonctions de débit f et avec leur force γ associée π 2 C α 2 ( ) 2sin 2πα pour R = c a Valable pour C UR ; C UR correspond au cas UDP. b Valable pour C R o ; sinon, R devient C o. c Il ( n y a pas de formule explicite pour R < et α quelconque, mais pour α = 4, nous avons γ = π R 2 log(1 + C R 4 ) + ) C arctan( R2 C ). Nom Description Unités C Fonction de débit TCP bits s 1 m U Débit UDP bits s 1 F Taille moyenne de fichier bits R Rayon d action m λ Intensité d arrivée m 2 s 1 W Temps moyen de téléchargement s µ Débit total moyen d un leecher bits s 1 β Densité de leechers m 2 TABLE 1: Principales grandeurs du modèle 2 Résultats principaux 10 1 M(Nf ) 10 0 10 1 10 0 Nf 10 1 Simulations Limite des boules dures Approximation heuristique Limite fluide FIGURE 1: M(N f ) pour f de type TCP Reno Le processus de vie et de mort des pairs, dans le modèle présenté, est un processus Markovien qui est ergodique pour tout λ > 0. Autrement dit, il existe un régime stationnaire, sur lequel nous travaillons. 2.1 Analyse dimensionnelle Pour faciliter l étude du système décrit, on peut imaginer une limite fluide qui négligerait les fluctuations spatio-temporelles des différentes valeurs. Sous cette simplification, on obtient la densité moyenne de pairs β f, la vitesse de téléchargement moyenne µ f et le temps de téléchargement moyen W f : si l on note γ := 2π R r=0 r f (r)dr, ces valeurs sont β f = λf γ, µ f = λfγ, W f = F λγ. (1) γ, dont des expressions sont indiquées dans le tableau 2, représente la force de f, et quantifie la vitesse de téléchargement point-à-point. À travers (1) apparaît le principe de supra-extensibilité : le temps de téléchargement décroit avec 1! λ Mais en pratique, l hypothèse fluide n est pas forcément justifiée, et (1) ne décrit pas le système proposé dans la section 1. Ceci étant, par un argument d analyse dimensionnel, le théorème π [4], on sait que le temps de téléchargement moyen W 0 du système réel (non fluide) peut s écrire sous la forme W 0 = M(N f )W f, où N f := πr 2 λfγ. N f est une grandeur sans dimension s interprétant comme le nombre de pairs dans un disque de rayon R dans la limite fluide, et M une fonction (inconnue) qui ne dépend, à f fixée, que de N f. M permet de quantifier précisément l écart entre un système réel et son approximation fluide. 2.2 Résultats théoriques Un premier résultat important est que M 1 : la limite fluide donne une borne inférieure du temps de téléchargement réel. Plus encore, cette borne est asymptotiquement exacte : quand N f tend vers l infini, M tend vers 1. Ce résultat prouve la supra-extensibilité du système en validant que le comportement est asymptotiquement fluide. Dans le cas inverse, quand N f tend vers 0, le comportement du système change radicalement : dès que deux pairs sont à distance inférieure à R, un téléchargement quasi-instantané se produit, de sorte qu avec 125/131

Supra-extensibilité des réseaux P2P forte probabilité, si l on prend une photo du système à un instant donné, tous les pairs sont à distance R ou plus les uns des autres. Dans cette limite des boules dures, M se comporte en N 1 f. Pour les valeurs intermédiaires de N f, il n existe a priori pas de formule close pour M, mais nous avons trouvé une méthode permettant d obtenir une approximation heuristique. Par exemple, si f (r) est de la forme C r, on peut approcher M par la solution ˆM de ( ˆM 2 1 ˆM ( ln 1 + 2N )) f = 1. (2) 2N f ˆM Afin de valider ces résultats théoriques, nous avons simulé des systèmes tels que ceux décrits en section 1 en variant les paramètres pour obtenir un échantillonnage de la fonction M. La figure 1 montre la comparaison entre théorie et simulations pour f (r) en C r. 2.3 Réseau physique On peut se demander si le réseau physique peut supporter la supra-extensibilité. Notre modèle permet de considérer cette question. On suppose maintenant que le réseau physique possède une capacité maximale homogène isotrope Ξ, en bits.s 1.m 1 (le réseau physique peut supporter qu un débit Ξl traverse un segment de longueur l ). Le système P2P, lui, génère mécaniquement, dans sa limite fluide un trafic homogène isotrope d intensité ψ := 4 λf R r 2 f (r)dr. (3) γ 0 La condition pour que le réseau physique supporte la charge est simplement ψ Ξ : f doit posséder un moment fini d ordre 2 et λ vérifier γξ λ 4F R 0 r2 f (r)dr. (4) Si la supra-extensibilité tire avantage de l intensité λ, il existe donc un point de rupture à partir duquel le réseau ne supporte plus la charge. On remarquera que ce phénomène existe aussi dans le modèle extensible traditionnel : le trafic total vaut alors λf en régime stationnaire, ce qui implique également l existence d un point de rupture quand λ tend vers l infini. 3 Extensions Les résultats précédents autorisent de nombreuses extensions, dont voici un aperçu. Serveurs permanents Beaucoup de systèmes réels utilisent des serveurs pour améliorer la performance. Dans notre modèle, l action des serveurs peut être représentée par une densité de débit U C, exprimée en bits.s 1.m 2, de sorte que si β est la densité des leechers, un pair reçoit en moyenne un débit U C β. Pour étudier ce système, il est utile d introduire le paramètre sans dimension χ := U C λf. Deux cas limites apparaissent alors. Si χ 1, alors le système fonctionne quasiment en client/serveur, et le temps de téléchargement est W C F πr 2 U C. (5) Si χ 1, alors le temps de téléchargement dans la limite fluide (i.e. pour N f assez grand) vaut W f,c = W f 1 χ Wf. (6) Abandon En s inspirant de [8], on peut rajouter un processus d abandon en cours de route, décrit par une intensité d abandon a (en s 1 ). Le temps de téléchargement dans la limite fluide vérifie alors 1 = W f,a 1 W f + ( a 2 ) 2 a 2. (7) 126/131

Baccelli, Mathieu, Norros et Varloot Limitation à l accès On peut introduire une limitation à l accès de valeur U (l upload total d un pair ne peut dépasser U). Dans ce cas, les équations de supra-extensibilité restent valables dans la limite fluide tant que λfγ U. (8) Au-delà, l accès devient le point de congestion, et on retrouve un modèle simplement extensible. Seeders Supposons maintenant que les pairs restent un certain temps dans le système après avoir fini de télécharger, d une valeur moyenne T S. Alors, dans la limite fluide, nous avons ( ) 2 TS W f,s = W f + T S 2 2. (9) Les seeders accélèrent le téléchargement. Ils permettent aussi d échapper à l effet boules dures. Connectivité limitée Les systèmes P2P réels ne sont généralement pas basés sur un rayon d action R, mais sur un nombre maximal de connexion L que chaque pair peut établir. Ceci peut être géré par notre modèle. Par exemple, pour f en C r, si l on suppose que chaque pair se connecte à ses L plus proches voisins, alors dans la limite fluide le temps de téléchargement est ( ) 2 ( ) 1 F 3 1 3 W f,l =. (10) 2C πλl On constate au passage que la supra-extensibilité existe toujours en dépit du fait que le nombre de voisins, qui tendait vers l infini dans le modèle initial, est maintenant fixé. Cela ne s applique en revanche pas à toutes les fonctions f. Par exemple, si f est constante, le système redevient simplement extensible pour des raisons évidentes. 4 Conclusion Nous avons présenté le concept de supra-extensibilité, qui permet de décrire le comportement d un système P2P lorsque la vitesse de téléchargement dépend des distances entre pairs, et nous avons constaté que la plupart des modèles et résultats utilisés pour décrire les systèmes simplement extensibles pouvaient être transposés aux systèmes supra-extensibles. Références [1] François Baccelli, Fabien Mathieu, Ilkka Norros, and Rémi Varloot. Can P2P Networks be Super- Scalable? In INFOCOM, 2013. To appear. [2] Farid Benbadis, Fabien Mathieu, Nidhi Hegde, and Diego Perino. Playing with the bandwidth conservation law. In IEEE P2P, pages 140 149, 2008. [3] M. Boguñá, F. Papadopoulos, and D. Krioukov. Sustaining the Internet with Hyperbolic Mapping. Nature Communications, 1(62), Oct 2010. [4] E. Buckingham. The principle of similitude. Nature, 96 (2406) :396 397, 1915. [5] B. Cohen. BitTorrent specification, 2006. http://www.bittorrent.org. [6] Pierre Fraigniaud, Emmanuelle Lebhar, and Laurent Viennot. The inframetric model for the internet. In IEEE INFOCOM), pages 1085 93, 2008. [7] T. Ott, J.H.B. Kemperman, and M. Mathis. The stationary behavior of ideal TCP congestion avoidance. Internetworking : Research and Experience, 11 :115 156, 1992. [8] D. Qiu and R. Srikant. Modeling and performance analysis of BitTorrent-like peer-to-peer networks. ACM SIGCOMM Computer Communication Review, 34(4) :367 378, 2004. [9] Gustavo De Veciana and Xiangying Yang. Fairness, incentives and performance in peer-to-peer networks. In In the Forty-first Annual Allerton Conference on Communication, Control and Computing, 2003. 127/131

Sur la complexité du routage OSPF Frédéric Giroire and Stéphane Pérennes and Issam Tahiri COATI. INRIA, I3S (CNRS/UNSA). Sophia Antipolis, France emails: firstname.lastname@inria.fr Ce travail montre que dans un réseau (général) ou le protocole de routage est OSPF avec la stratégie d équilibrage de charge ECMP, le problème de maximiser un flot simple d une source vers un puits ne peut être approché à une constante près. Keywords: routage, OSPF, ECMP, max flot, complexité. 1 Introduction & Etat de l art Le but d un protocole de routage est de rendre chaque routeur capable de décider, quand un paquet est reçu, le routeur qui correspond au prochain saut. La décision doit être prise localement et rapidement, en permettant une utilisation efficace des ressources réseau. Quand le protocole Open Shortest Path First (OSPF) [osp98] est le protocole de routage utilisé dans le réseau, Tous les paquets suivent des plus courts chemins, en prenant en compte les longueurs des liens fixées par l administrateur réseau. S il y a plusieurs plus courts chemins entre deux noeuds u et v, le routage dépend de la règle qui est utilisée pour balancer le trafic entre les différents plus courts chemins. Il y a plusieurs règles et l une des plus utilisées est ECMP ( Equal Cost Multiple Path ). Selon cette règle un routeur qui a plusieurs liens sortant sur des plus courts chemins envers une destination v balancera le trafic qui lui arrive et qui est destiné à v de manière égale entre tous ces liens. Pour mieux comprendre la difficulté algorithmique du routage OSPF, nous nous somme concentré sur un problème essentiel qui a comme but la maximisation du débit quand il n y a qu une seule paire de noeuds communiquant sur le réseau. Nous appelons ce problème Max-Ospf-Flowet nous en donnons un exemple dans la figure 1 : INSTANCE : un graphe orienté valué D = (V,A,c), ou V est l ensemble des noeuds, A est l ensemble des arcs, et c est la fonction capacité qui associe à chaque arc (u,v) la capacité c(u,v) ; et deux noeuds du graphe s,t V qui représentent respectivement la source et le puits du flot. QUESTION : trouver le flot maximum allant de s à t avec l affectation correspondante des longueurs pour les arcs de A sous le protocole Open Shortest Path First utilisant la stratégie Equal Cost Multiple Path. Des travaux précédents [FT04, ISI01, Ble05b] ont montré que trouver un routage OSPF qui optimise certains critères (charge, capacité,...) de la performance du réseau est une tache difficile ; et ceci est vrai pour les deux version à savoir le mono-routage ainsi que le multi-routage (avec la règle ECMP). en mono-routage, les longueurs doivent être choisies de manière à ce que pour chaque paire de sommets il n y a qu un seul et unique plus court chemin. Dans [FT04], les auteurs on étudié le problème d optimisation des longueurs OSPF-ECMP afin de minimiser le coût total du réseau quand la fonction coût sur les arcs est convexe et croissante avec la congestion. Ils ont montré que ce problème est NP-Difficile. En particulier, l(a) Ils définissent l utilisation maximum du réseau comme max a A c(a) où l(a) est la charge de l arc a, et ils prouvent que la minimisation de l utilisation maximum est NP-Difficile. Ils fournissent aussi des résultats sur le plus grand écart entre la performance du routage OSPF-ECMP et celle d un routage optimal d un flot à plusieurs commodités en terme de congestion. Dans [Ble05b], les auteurs ont étudié le multi-routage OSPF qui minimise l utilisation maximum du réseau. Ils montrent que ce problème est difficile à approcher à un facteur de O( V 1 ε ). Comme ces problèmes sont difficiles, pour les résoudre en pratique, on utilise souvent une approche à deux phases [BK02, HC04, DP + 07] : Dans une première phase le routage qui n est pas nécessairement faisable avec OSPF est décidé et dans la seconde phase des longueurs qui réalisent ce routage avec OSPF sont calculés, quand cela est possible. Cette seconde phase tente de résoudre ce que l on appelle le problème inverse du plus court chemin (ISP). Ce problème peut être formulé comme un programme linéaire et donc peut être résolu en temps polynomial. Même si les longueurs sont contraints à prendre des 128/131

Frédéric Giroire and Stéphane Pérennes and Issam Tahiri 9 10 7 7 1 1 7 7 2 s 2 10 t s 0 0 t s 100 100 t (a) capacitiés (b) Max-Ospf-Flow (c) longueurs correspondantes FIGURE 1: Exemple d un flot-ospf maximum de valeur 14. valeurs non-négatives, ISP garde une complexité polynomiale grâce au schéma d arrondi présenté dans [BAG04]. Cependant, trouver une solution à ISP qui minimise la longueur maximum sur tout les arcs est NP-Difficile [Ble05a]. Nous considérons le problème d approximation du flot-ospf maximum d un réseau avec une seule commodité. Ce problème a été prouvé NP-Difficile dans [PSH + 02], et aucune approximation, avec garantie non triviale, n a été proposée jusqu à présent. Dans ce papier, nous montrons que Max-Ospf-Flow ne peut pas être approché à un facteur constant près quand les capacités du graphe ne sont pas bornées. Nous avons aussi établit des résultats positifs (voir [IPG12]) que nous ne citons pas dans ce papier. 2 Définition et simplification du problème Dans cette section, nous montrons que dans le contexte de notre étude, qui suppose une seule et unique commodité, le problème inverse du plus court chemin est garanti d avoir une solution, dès que le routage vérifie quelques conditions, et cette solution peut être facilement trouvée. Ainsi, même si Max-Ospf-Flow reste difficile, nous pouvons nous concentrer sur la recherche d une fonction de routage adéquate en oubliant l affectation des longueurs aux arcs. Dans le cas d une simple commodité, résoudre le problème inverse du plus court chemin est trivial pour n importe quel flot f allant de s à t. Pour cela nous définissons A = {a A f (a) > 0}, et nous posons a A,l(a) = 0 et a A,l(a) = 1. Ensuite les plus courts chemin depuis la source au puits sont tous les chemins utilisant uniquement des arcs dans A. Il est préférable des fois d avoir une meilleure fonction longueur, telle que a A, l(a) > 0, mais celle ci existe ssi A est acyclique. Premièrement, si A contient un cycle alors l(a) doit forcément être nulle sur tous les arcs du cycle. Deuxièmement, si A est acyclique, alors nous pouvons facilement avoir une fonction longueur puisqu il existe une fonction potentielle p : V R telle que p(u) < p(v) s il y a un chemin allant de u vers v (cette fonction potentielle est donnée par le problème dual, voir [CCPS98]). Ensuite nous posons a = (u,v) A,l(u,v) = p(v) p(u). Remarquez que tous les chemins allant de s à t ont une longueur p(t) - p(s). En combinant ces deux faits, nous pouvons alors toujours définir des longueurs tels que (u,v) V 2, tous les chemins allant de u à v sont dans A ont la même longueur et avec l(a) > 0 sur tous les arcs a qui ne sont pas contenus dans un cycle. Notez que, même si cela peut paraître étrange, il existe des graphes orientés pour lesquels toute solution optimale de Max-Ospf-Flow contient une boucle. Donc pour toute fonction de flot, il existe toujours des longueurs pour lesquels tout les chemins utilisés par le flot sont des plus courts chemins, et ces longueurs sont tous strictement positives si le flot est acyclique. Cependant, cela ne veut pas dire que chaque fonction de flot peut être réalisée sous OSPF-ECMP. En effet f doit remplir la condition d équilibrage égal. Cela veut dire que nous devons avoir : pour chaque noeud a V et (u,v) A, soit f (u,v) = 0 ou bien f (u,v) = out(u) où out(u) dépend uniquement de u. Ceci nous permettra de reformuler Max-Ospf-Flow avec une manière plus simple, sans utiliser explicitement la fonction longueur. Mais avant nous devant introduire quelques définitions. Définition 1 (graphe de flot) Etant donnés un graphe orienté avec capacités D = (V, A, c) et deux noeuds particuliers s et t (à voir réspectivement comme la source et le puits), leur graphe de flot correspondant est défini par le 5-uplet D = (V,A,c,s,t). Définition 2 (fonction/valeur de flot) Etant donné un graphe de flot D = (V,A,c,s,t), une fonction f : A R + est une fonction de flot si a A, f (a) c(a) et v V \ {s,t}, (u,v) A f (u,v) = (v,u) A f (v,u). La valeur du flot est val( f ) = (s,v) A f (s,v) (v,s) A f (v,s). Définition 3 (fonction régulière) Une fonction sur un ensemble S est dite régulière si elle prend uniquement deux valeurs, 0 et une autre valeur possible. Définition 4 (fonction équilibrée) Etant donné un graphe G = (V,A) et V V, une fonction f est dite équilibrée sur V ssi pour chaque u V la fonction f u, définie par (u,v) A, f u (v) = f (u,v), est régulière. 129/131

Sur la complexité du routage OSPF Définition 5 (fonction de flot-ospf) Pour un graph de flot D = (V,A,c,s,t), une fonction f : A R + est correspond à un flot-ospf si elle est une fonction de flot et si elle est équilibrée sur V. Maintenant, nous sommes prêts à donner une formulation équivalente du problème Max-Ospf-Flow : Instance : un graph de flot D = (V,A,c,s,t). Question : trouver la valeur de flot maximum que peut avoir une fonction de flot-ospf dans A. Le problème de trouver la bonne fonction longueur a donc disparu de notre définition, puisque choisir le fait de choisir les arcs qui auront un flot nuls ainsi que ceux qui porteront un flot strictement positif permet de déterminer la fonction longueur cachée. Nous notons dans le reste du papier l ensemble des entiers {1,...,N} par [N]. 3 Résultats d inapproximabilité Nous utilisons une réduction au problème MAX-3-SAT (qui ne peut pas être approché à un facteur près de 7 + ε pour tout ε > 0) pour prouver d abord que le problème Max-Ospf-Flow est difficile à approcher, en temps polynomial, avec un facteur d approximation de 31 32. Ensuite nous utilisant une méthode auto-amplifiante pour prouver que ce problème n est pas dans APX. Ce rapport de recherche [IPG12] contient les preuves détaillées des résultats suivants. Proposition 1 Il est NP-Difficile d approcher Max-Ospf-Flow avec un facteur 1 l 3 8l + ε, ε > 0, même si a A,c(a) {1, l}. Par example, il est NP-Difficile d approcher As example, it is NP-hard to approximate Max-Ospf-Flow avec un facteur 31 32 + ε, ε > 0, même si a A,c(a) {1,4}. Esquisse de preuve Par soucis de simplicité, notre réduction utilise un multi-graphe. Pour avoir un graphe à partir de ce dernier, il est possible d insérer simplement un noeuds subdivisant chaque arc en deux. Ceci permet d avoir un graphe simple qui double seulement la taille du multi-graphe. Etant donné maintenant une instance I de MAX-3-SAT, définie par un ensemble de variables {x i } i [n] et un ensemble de clauses {B j } j [m], nous construisons le graphe de flot suivant D I = (V,A,c,s,t) : Pour chaque i [n], nous créons un sommet a i représentant la variable x i ; pour chaque j [m], nous créons un sommet b j représentant la clause B j. et pour chaque i [n], nous ajoutons k i arcs parallèles avec capacité 1 allant de s à a i, où k i est le nombre de fois ou une variable x i apparait dans les clauses. Finalement, nous ajoutons un arc avec capacité 1 depuis chaque b j vers t, avec j [m]. En plus de ces arcs, nous ajoutons des arcs qui dépendent de la structure des clauses : (i, j) [n] [m], si B j contient le literal positif x i nous ajoutons un arc avec capacité 1 de a i vers b j ; et (i, j) [n] [m], si B j contient le literal negatif x i nous ajoutons l arcs parallèles avec capacité 1 l de a i vers b j. Un exemple de cette construction est affiché sur la figure 2. Notez que la taille de D I est linéaire en le nombre de clauses. FIGURE 2: Le graph de flot D I construit à patir d un ensemble F contenant les clauses B 1 = (x 1 x 2 x 4 ), B 2 = (x 2 x 3 x 4 ) et B 3 = (x 2 x 3 x 4 ). [L exemple suppose que l = 4. les arcs en pointillé ont une capacité 4 1. Les autres ont une capacité de 1]. L idée de la réduction est d émuler les variables binaires comme suit : Pour (i, j) [n] [m] Nous définissons un lien virtuel vl(a i,b j ) comme l ensemble des arcs connectant a i à b j, et nous dirons que vl(a i,b j ) est un lien virtuel positif (resp. négatif) si x i (resp. x i ) est un litteral de B j. Ensuite, il faut choisir au au niveau de a i soit d envoyer le flot sur les liens virtuels positifs ou ceux qui sont négatifs, le choix étant exclusif. 130/131

Frédéric Giroire and Stéphane Pérennes and Issam Tahiri Theorème 1 Il est NP-Difficile d approcher Max-Ospf-Flow à n importe quel facteur constant près. Esquisse de preuve Pour prouver le résultat, nous utilisons une technique d auto-amplification de l erreur. En effet, le graphe de flot D I, associé à l instance I de 3-SAT, et qui connecte s à t est semblable à un arc virtuel (s,t) avec une capacité m, mais pour lequel il est NP-Difficile d utiliser une capacité pour grande que 31m 32. Considérons un graphe de flot D, nous allons remplacer chacun de ces arcs par ces arcs virtuels. Deux facteurs d erreurs alors seront multipliés : un est du au fait qu il n existe pas d algorithme polynomial qui peut utiliser pleinement les capacités de ces arcs virtuels, et l autre est du à l erreur sur le graphe originel lui même. Références [BAG04] Walid Ben-Ameur and Eric Gourdin. Internet routing and related topology issues. SIAM J. Discret. Math., 17(1) :18 49, January 2004. [BAGL00] Walid Ben Ameur, Eric Gourdin, and Bernard Liau. Dimensioning of internet networks. In Proceedings of the Design of Reliable Communications Networks, Munich, 2000. [BFG + 09] A. Bley, B. Fortz, E. Gourdin, K. Holmberg, O. Klopfenstein, M. Pioro, A. Tomaszewski, and H. Umit. Optimization of OSPF routing in IP networks, pages 199 240. Springer, 2009. in Graphs and Algorithms in Communication Networks : Studies in Broadband, Optical, Wireless and Ad Hoc Networks. [BK02] [Ble05a] [Ble05b] Andreas Bley and Thorsten Koch. Integer programming approaches to access and backbone IP-network planning. Technical Report ZR 02-41, Zuse Institute Berlin, 2002. Andreas Bley. Inapproximability results for the inverse shortest paths problem with integer lengths and unique shortest paths. In Proceedings of the Second International Network Optimization Conference, 2005. Andreas Bley. On the approximability of the minimum congestion unsplittable shortest path routing problem. In Proceedings of the 11th international conference on Integer Programming and Combinatorial Optimization, pages 97 110, Berlin, Heidelberg, 2005. Springer-Verlag. [CCPS98] William J. Cook, William H. Cunningham, William R. Pulleyblank, and Alexander Schrijver. Combinatorial optimization. Wiley, 1998. [DP + 07] [FT02] [FT04] Mariusz Dzida, Mateusz Mycek,, Michał Pióro, Artur Tomaszewski, and Michał Zagozdzon. Valid inequalities for a shortest-path routing optimization problem. In International Network Optimization Conference, 2007. B. Fortz and M. Thorup. Optimizing ospf/is-is weights in a changing world. IEEE Journal on Selected Areas in Communications, 20(4) :756 767, 2002. Bernard Fortz and Mikkel Thorup. Increasing internet capacity using local search. Computational Optimization and Applications, 29 :13 48, 2004. [Hås01] Johan Håstad. Some optimal inapproximability results. Journal of the ACM, 48(4) :798 859, 2001. [HC04] [IPG12] [ISI01] Kaj Holmberg and Yves Carbonneaux. Optimization of internet protocol network design and routing. Networks, 43(1) :39 53, January 2004. Tahiri Issam, Stéphane Pérennes, and Frédéric Giroire. On the Hardness of Equal Shortest Path Routing. Rapport de recherche RR-8175, INRIA, December 2012. Rauf Izmailov, Bhaskar Sengupta, and Atsushi Iwata. Administrative weight allocation for pnni routing algorithms. In IEEE Workshop on High Performance Switching and Routing, pages 347 352, 2001. [osp98] Ospf version 2, rfc2328. http://www.ietf.org/rfc/rfc2328.txt, 1998. [PSH + 02] Michał Pióro, Áron Szentesi, János Harmatos, Alpár Jüttner, Piotr Gajowniczek, and Stanislaw Kozdorowski. On open shortest path first related network optimisation problems. Journal of Performance Evaluation, 48(1-4) :201 223, May 2002. [PSHJ00] Michał Pióro, Áron Szentesi, János Harmatos, and Alpár Jüttner. On OSPF related network optimization problems. In 8th IFIP Workshop on Performance Modelling and Evaluation of ATM & IP Networks, pages 70/1 70/14, Ilkley, UK, July 2000. IFIP. 131/131

Index des auteurs Alphand, Olivier...72 Altisen, Karine... 32 Altman, Eitan... 100 Amann, Nathalie... 5 Anceaume, Emmanuelle...28 Arzel, Matthieu...88 Baccelli, François...124 Bellachehab, Anass...76 Bermond, Jean-Claude... 56 Bianchi, Pascal... 76 Bildea, Ana...72 Bérard, Béatrice...48 Carlinet, Yannick...108 Carrier, Fabienne...9 Chaintreau, Augustin...60 Clementi, Andrea...104 Cohen, Nathann...36 Conan, Vania... 80 Coudert, David...36, 56 Cournier, Alain... 68 Crescenzi, Pilu...104 D'angelo, Gianlorenzo...56 Danisch, Maximilien... 44 Datta, Ajoy...9 Dereniowski, Dariusz...116 Devismes, Stéphane...9, 32, 64 Disser, Yann...116 Doerr, Carola... 104 Dubois, Swan...52, 68 Ducoffe, Guillaume...60 Duda, Andrzej...72 El Chamie, Mahmoud... 96 Fernandes, Cristina...13 Fraigniaud, Pierre...104 Gavoille, Cyril...92 Giroire, Frederic...128 Glacet, Christian...92 Gouta, Ali...5 I

Gouvy, Nicolas...24 Groléat, Tristan...88 Guerraoui, Rachid... 52 Guillaume, Jean-Loup... 44 Hamouda, Essia...24 Hanusse, Nicolas... 92 Hayel, Yezekael...100 Hong, Dohy...5 Huynh, The Dang... 108 Ilcinkas, David...92, 120 Issam, Tahiri... 128 Jakubowicz, Jeremie...76 Jamet, Raphaël... 32 Kauffmann, Bruno...108 Kermarrec, Anne-Marie...5 Khalife, Hicham... 80 Kosowski, Adrian...116 Lafourcade, Pascal... 32 Lamani, Anissa... 64, 68 Lancin, Aurélien...36 Larmore, Lawrence...9 Le Grand, Bénédicte...44 Le Merrer, Erwan... 28 Leguay, Jérémie...80 Lelouedec, Yannick...5 Leone, Rémy... 40 Liu, Jiayi...20 Ludinard, Romaric... 28 Mathieu, Fabien... 108, 124 Maurer, Alexandre... 1 Mazauric, Dorian...60 Millet, Laure...48 Moataz, Fatima-Zahra... 56 Nathalie, Mitton... 24 Neglia, Giovanni... 96 Noirie, Ludovic... 108 Norros, Ilkka...124 Oshiro, Marcio... 13 II

Ouni, Anis... 112 Paj?k, Dominik...116 Pardo Soares, Ronan... 84 Pasquale, Francesco... 104 Petit, Franck...64, 68 Potop-Butucaru, Maria...48 Pérennes, Stéphane...128 Raymond, Pascal... 64 Reiffers, Alexandre...100 Rivano, Herve...112 Rivierre, Yvan... 9 Schabanel, Nicolas... 13 Sericola, Bruno...28 Severini, Lorenzo... 96 Silvestri, Ricardo...104 Simon, Gwendal...20 Straub, Gilles...28 Thierry-Mieg, Yann...48 Thrasyvoulos, Spyropoulos...80 Tixeuil, Sébastien...1, 48, 64, 108 Uzna?ski, Przemys?aw...116 Valois, Fabrice...112 Varloot, Rémi... 124 Vaton, Sandrine... 88 Villain, Vincent...68 Wade, Ahmed... 120 Zorbas, Dimitris... 24 III

Edited by CCSd (Centre pour la Communication Scientifique Directe) on Fri, 12 Apr 2013