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.

I sistemi distribuiti cooperativi, tra cui in particolare i sistemi peer-to-peer, sono oggi alla base di applicazioni Internet di larga diffusione come file-sharing e media streaming, nonché di tecnologie emergenti quali Blockchain e l'Internet of Things. Uno dei fattori chiave per il successo di un sistema cooperativo è che i nodi che vi partecipano mettano a disposizione della comunità una parte delle proprie risorse (es. capacità di calcolo, banda, spazio disco). Alcuni nodi, poiché controllati da agenti autonomi e indipendenti, potrebbero tuttavia agire egoisticamente e scegliere di non condividere alcuna risorsa, spinti dall'obiettivo di massimizzare la propria utilità anche se a danno delle prestazioni dell'intero sistema. Affrontare l'egoismo dei nodi rappresenta dunque un'attività imprescindibile per lo sviluppo di un sistema cooperativo affidabile e performante. Nonostante il grande numero di tecniche ed approcci presenti in letteratura, tale attività richiede elaborazioni complesse, manuali e laboriose, nonché conoscenze approfondite in vari domini di applicazione. Obiettivo di questa tesi è di fornire strumenti sia pratici che teorici per semplificare lo studio e il contrasto dei comportamenti egoistici nei sistemi cooperativi. Il primo contributo, basato su un'analisi esaustiva dello stato dell'arte sull'egoismo in sistemi distribuiti, presenta un framework di classificazione finalizzato all'identificazione e comprensione dei comportamenti egoistici più importanti su cui concentrarsi durante la progettazione di un sistema cooperativo. Come secondo contributo, presentiamo RACOON, un framework per la progettazione e configurazione di sistemi cooperativi resilienti all'egoismo dei nodi. L'obiettivo di RACOON è di semplificare tali attività fornendo una metodologia generale e semi-automatica, capace di integrare in un dato sistema pratici meccanismi di incentivo alla cooperazione, attentamente calibrati in modo da raggiungere gli obiettivi di resilienza e performance desiderati. A tal fine, RACOON impiega sia strumenti analitici appartenenti alla teoria dei giochi che metodi simulativi, che vengono utilizzati per fare previsioni sul comportamento del sistema in presenza di nodi egoisti. In questa tesi presentiamo inoltre una versione estesa del framework, chiamata RACOON++, sviluppata per migliorare l'accuratezza, flessibilità e usabilità del framework originale. Infine, come ultimo contributo del lavoro di tesi, presentiamo SEINE, un framework per la rapida modellazione e analisi sperimentale di vari tipi di comportamenti egoistici in un dato sistema cooperativo. Il framework è basato su un nuovo linguaggio specifico di dominio (SEINE-L) sviluppato per la descrizione degli scenari di egoismo da analizzare. SEINE fornisce inoltre supporto semi-automatico per l'implementazione e lo studio di tali scenari in un simulatore di sistemi distribuiti selezionato dallo stato dell'arte.

ADDRESSING SELFISHNESS IN THE DESIGN OF COOPERATIVE SYSTEMS / G. Lena Cota ; internal tutor: E. Damiani, G. Gianini; external tutor (INSA de Lyon): L. Brunie, S. Ben Mokhtar; coordinator: P. Boldi. DIPARTIMENTO DI INFORMATICA, 2017 Mar 24. 28. ciclo, Anno Accademico 2015. [10.13130/lena-cota-guido_phd2017-03-24].

ADDRESSING SELFISHNESS IN THE DESIGN OF COOPERATIVE SYSTEMS

G. LENA COTA
2017

Abstract

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.
24-mar-2017
I sistemi distribuiti cooperativi, tra cui in particolare i sistemi peer-to-peer, sono oggi alla base di applicazioni Internet di larga diffusione come file-sharing e media streaming, nonché di tecnologie emergenti quali Blockchain e l'Internet of Things. Uno dei fattori chiave per il successo di un sistema cooperativo è che i nodi che vi partecipano mettano a disposizione della comunità una parte delle proprie risorse (es. capacità di calcolo, banda, spazio disco). Alcuni nodi, poiché controllati da agenti autonomi e indipendenti, potrebbero tuttavia agire egoisticamente e scegliere di non condividere alcuna risorsa, spinti dall'obiettivo di massimizzare la propria utilità anche se a danno delle prestazioni dell'intero sistema. Affrontare l'egoismo dei nodi rappresenta dunque un'attività imprescindibile per lo sviluppo di un sistema cooperativo affidabile e performante. Nonostante il grande numero di tecniche ed approcci presenti in letteratura, tale attività richiede elaborazioni complesse, manuali e laboriose, nonché conoscenze approfondite in vari domini di applicazione. Obiettivo di questa tesi è di fornire strumenti sia pratici che teorici per semplificare lo studio e il contrasto dei comportamenti egoistici nei sistemi cooperativi. Il primo contributo, basato su un'analisi esaustiva dello stato dell'arte sull'egoismo in sistemi distribuiti, presenta un framework di classificazione finalizzato all'identificazione e comprensione dei comportamenti egoistici più importanti su cui concentrarsi durante la progettazione di un sistema cooperativo. Come secondo contributo, presentiamo RACOON, un framework per la progettazione e configurazione di sistemi cooperativi resilienti all'egoismo dei nodi. L'obiettivo di RACOON è di semplificare tali attività fornendo una metodologia generale e semi-automatica, capace di integrare in un dato sistema pratici meccanismi di incentivo alla cooperazione, attentamente calibrati in modo da raggiungere gli obiettivi di resilienza e performance desiderati. A tal fine, RACOON impiega sia strumenti analitici appartenenti alla teoria dei giochi che metodi simulativi, che vengono utilizzati per fare previsioni sul comportamento del sistema in presenza di nodi egoisti. In questa tesi presentiamo inoltre una versione estesa del framework, chiamata RACOON++, sviluppata per migliorare l'accuratezza, flessibilità e usabilità del framework originale. Infine, come ultimo contributo del lavoro di tesi, presentiamo SEINE, un framework per la rapida modellazione e analisi sperimentale di vari tipi di comportamenti egoistici in un dato sistema cooperativo. Il framework è basato su un nuovo linguaggio specifico di dominio (SEINE-L) sviluppato per la descrizione degli scenari di egoismo da analizzare. SEINE fornisce inoltre supporto semi-automatico per l'implementazione e lo studio di tali scenari in un simulatore di sistemi distribuiti selezionato dallo stato dell'arte.
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).
Settore INF/01 - Informatica
Information Technology; Design of distributed systems; Peer-to-peer systems; Selfishness resilience; Selfish nodes; Game theory; Semi-automatic configuration; Domain-specific language
https://hdl.handle.net/2434/373748
DAMIANI, ERNESTO
BOLDI, PAOLO
Doctoral Thesis
ADDRESSING SELFISHNESS IN THE DESIGN OF COOPERATIVE SYSTEMS / G. Lena Cota ; internal tutor: E. Damiani, G. Gianini; external tutor (INSA de Lyon): L. Brunie, S. Ben Mokhtar; coordinator: P. Boldi. DIPARTIMENTO DI INFORMATICA, 2017 Mar 24. 28. ciclo, Anno Accademico 2015. [10.13130/lena-cota-guido_phd2017-03-24].
File in questo prodotto:
File Dimensione Formato  
phd_unimi_R10010.pdf

accesso aperto

Descrizione: Tesi di dottorato
Tipologia: Tesi di dottorato completa
Dimensione 5.29 MB
Formato Adobe PDF
5.29 MB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/487336
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact