Addressing selfishness in the design of cooperative systems

par Guido Lena Cota

Thèse de doctorat en Informatique

Sous la direction de Lionel Brunie et de Ernesto Damiani.

Soutenue le 24-03-2017

à Lyon en cotutelle avec l'Università degli studi (Milan, Italie). Convegno di studi (2000 ; Milano) , dans le cadre de École doctorale en Informatique et Mathématiques de Lyon , en partenariat avec Institut national des sciences appliquées de Lyon (Lyon) (établissement opérateur d'inscription) , LIRIS - Laboratoire d'Informatique en Image et Systèmes d'information (Rhône) (laboratoire) , Laboratoire d'InfoRmatique en Image et Systèmes d'information / LIRIS (laboratoire) et de Distribution, Recherche d'Information et Mobilité / DRIM (équipe de recherche) .

Le président du jury était Paola Bonizzoni.

Le jury était composé de Paola Bonizzoni, Harald Kosch, Vivien Quema, Sara Bouchenak, Mariagrazia Fugini, Julia Lawall.

Les rapporteurs étaient Harald Kosch, Vivien Quema.

  • Titre traduit

    Prise en compte et prévention des comportements égoïstes dans la conception de systèmes répartis collaboratifs


  • Résumé

    Les systèmes distribués collaboratifs, en particulier les systèmes pair-à-pair, forment l’infrastructure sous-jacente de nombreuses applications Internet, certaines parmi les plus populaires (ex : partage de fichiers, streaming multimédia). Ils se situent également à la base d’un ensemble de technologies émergentes telles que la blockchain et l’Internet des Objets. Le succès de ces systèmes repose sur la contribution volontaire, de la part des nœuds participants, aux ressources partagées (ex : bande passante réseau, puissance de calcul, stockage de données). Or ces nœuds sont des entités autonomes qui peuvent considérer comme plus avantageux de se comporter de manière égoïste, c’est-à-dire de refuser de collaborer. De tels comportements peuvent fortement impacter les performances et la stabilité opérationnelles du système cible. Prendre en compte et prévenir les comportements égoïstes des nœuds est donc essentiel pour garantir l’efficacité et la fiabilité des systèmes coopératifs. Cependant, cela exige du développeur, en dépit de la grande quantité de techniques et d’approches proposées dans la littérature, des connaissances multisectorielles approfondies. L'objectif de cette thèse est de concevoir et étudier de nouveaux outils théoriques et pratiques pour aider les concepteurs de systèmes distribués collaboratifs à faire face à des nœuds égoïstes. La première contribution, basée sur une analyse exhaustive de la littérature sur les comportements égoïstes dans les systèmes distribués, propose un modèle de classification pour identifier et analyser les comportements égoïstes les plus importants sur lesquels il est important de se concentrer lors de la conception d'un système coopératif. Dans la deuxième contribution, nous proposons RACOON, un framework pour la conception et la configuration de systèmes coopératifs résilients aux comportements égoïstes. Outre un ensemble de mécanismes d'incitation à la coopération, RACOON fournit une méthodologie semi-automatique d’intégration et de calibration de ces mécanismes de manière à garantir le niveau de performance souhaité. RACOON s’appuie sur une analyse du système cible fondée sur la théorie des jeux et sur des simulations pour prédire l’existence de nœuds égoïstes dans le système. RACOON a été étendu en un deuxième framework, RACOON++. Plus précis, plus flexible, RACOON++ offre également une plus grande facilité d'utilisation. Une dernière contribution, SEINE, propose un framework pour la modélisation et l'analyse des différents types de comportements égoïstes dans un système coopératif. Basé sur un langage dédié, développé pour décrire les scénarios de comportement égoïstes, SEINE fournit un support semi-automatique pour la mise en œuvre et l'étude de ces scénarios dans un simulateur choisi sur la base de l’état de l’art (PeerSim).


  • Résumé

    Cooperative distributed systems, particularly peer-to-peer systems, are the basis of several mainstream Internet applications (e.g., file-sharing, media streaming) and the key enablers of new and emerging technologies, including blockchain and the Internet of Things. Essential to the success of cooperative systems is that nodes are willing to cooperate with each other by sharing part of their resources, e.g., network bandwidth, CPU capability, storage space. However, as nodes are autonomous entities, they may be tempted to behave in a selfish manner by not contributing their fair share, potentially causing system performance degradation and instability. Addressing selfish nodes is, therefore, key to building efficient and reliable cooperative systems. Yet, it is a challenging task, as current techniques for analysing selfishness and designing effective countermeasures remain manual and time-consuming, requiring multi-domain expertise. In this thesis, we aim to provide practical and conceptual tools to help system designers in dealing with selfish nodes. First, based on a comprehensive survey of existing work on selfishness, we develop a classification framework to identify and understand the most important selfish behaviours to focus on when designing a cooperative system. Second, we propose RACOON, a unifying framework for the selfishness-aware design and configuration of cooperative systems. RACOON provides a semi-automatic methodology to integrate a given system with practical and finely tuned mechanisms to meet specified resilience and performance objectives, using game theory and simulations to predict the behaviour of the system when subjected to selfish nodes. An extension of the framework (RACOON++) is also proposed to improve the accuracy, flexibility, and usability of RACOON. Finally, we propose SEINE, a framework for fast modelling and evaluation of various types of selfish behaviour in a given cooperative system. SEINE relies on a domain-specific language for describing the selfishness scenario to evaluate and provides semi-automatic support for its implementation and study in a state-of-the-art simulator.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Institut national des sciences appliquées (Villeurbanne, Rhône). Service Commun de la Documentation Doc’INSA. Bibliothèque numérique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.