Overlay Network Mechanisms for Peer-To-Peer Systems
Total Page:16
File Type:pdf, Size:1020Kb
Overlay Network Mechanisms for Peer-to-Peer Systems Vom Fachbereich Informatik der Technischen Universität Darmstadt genehmigte Dissertationsschrift in englischer Sprache von M.A.Sc. Vasilios Darlagiannis geboren am 08.06.1973 in Kozani, Griechenland zur Erlangung des Grades eines Doktor-Ingenieur (Dr.-Ing.) Darmstadt 2005 Hochschulkennziffer D17 Erstreferent: Prof. Dr.-Ing. Ralf Steinmetz Korreferent: Prof. Nicolas D. Georganas (Ph.D.) Tag der Einreichung: 29.04.2005 Tag der Disputation: 14.06.2005 Kurzfassung (Deutsch) Das Peer-to-Peer (P2P) Paradigma bietet einen alternativen Designansatz für Verteilte Systeme, das die Forderung nach einem dedizierten Dienstanbieter, wie im Client-Server Fall notwendig, lockert. Der P2P-Ansatz ergründet das Potential Verteilte Systeme zu schaffen, die auf Ressourcen und Diensten beruhen, die durch jedes End-Gerät, das an ein herkömmliches Kommunikationsnetz wie das Internet angeschlossen ist, zur Verfügung gestellt werden. Verteilte Systeme basierend auf dem P2P-Paradigma formen, virtuelle Netzwerke, so genannte Overlay-Netzwerke, die auf physikalischen Telekommunikations- netzwerken aufsetzen. Ein Overlay-Netzwerk ist hierbei eine notwendige Abstraktion, die sowohl die funktionalen Anforderungen, wie z. B. Verbindungsverwaltung, Indezierung und Routing, erfüllen muss, als auch nicht-funktionale Eigenschaften, wie z. B. Skalierbar- keit, Ausfallsicherheit und Lastausgleich, berücksichtigen sollte. Eine Herausforderung ist hierbei Overlay-Netzwerke so zu gestalten, dass die gestellten Anforderungen befriedigt werden und gleichzeitig potentielle Konflikte zwischen diesen Anforderungen auf geeignete Weise gelöst werden. Diese Dissertationsschrift erforscht eine neuartige Architektur zur Entwicklung von effizi- enten Overlay-Netzwerken für P2P-Systeme, welche die wichtigsten Charakteristiken von häufig eingesetzten Systemen berücksichtigt. Im speziellen wird die Anzahl von Teilneh- mern berücksichtigt, die zu Skalierbarkeits- und Erweiterbarkeits-Problemen führen kann. Darüber hinaus befasst sich die Arbeit mit dem unkontrollierbaren und schwer vorherzu- sehenden Verhalten der Knoten von P2P-Systemen, was zu hoch dynamischen, schwan- kenden und veränderlichen Overlay-Netzwerk-Topologien führt. Durch dieses Verhalten wird der Entwurf ausfallsicherer und stabiler Systeme, die effizient und mit minimalen Wartungskosten betrieben werden können, zur Herausforderung. Zusätzlich muss auch die intrinsische Heterogenität der physischen Eigenschaften und das Benutzerverhalten be- rücksichtigt werden, die eine gerechte Verteilung der Aufgaben erschwert. Um die oben aufgeführten Anforderungen zu erfüllen, wurde eine Anzahl von Mechanismen entworfen. Für die Netzwerktopologie wir die Nutzung von de Bruijn-Graphen vorgeschla- gen. Sie besitzen attraktive Eigenschaften, da ihr Graph-Durchmesser logarithmisch zur Grösse des Graphen wächst, sogar bei konstanter Kantenzahl. Dies ist besonders nütz- lich, um den Anforderungen an Skalierbarkeit mit minimalen Wartungskosten gerecht zu werden. Jedoch erweist sich hierbei die nur exponentielle Erweiterbarkeit von de Bruijn- Graphen als Problem. Ein Algorithmus zum Aufbau von Graphen basierend auf lokaler Information wurde vorgeschlagen, um de Bruijn-Varianten mit inkrementellen Erweite- rungseigenschaften zu definieren. Darüber hinaus gibt es aber auch Bedenken bzgl. der Ausfallssicherheit wegen der konstante Anzahl von Kanten pro Knoten, die vorzugsweise iii so klein wie möglich sein sollte, um die Wartungskosten des Graphen gering zu halten. Dieses Problem wird durch die Einführung von Peer-Cluster, durch die Zuverlässigkeit ga- rantiert wird, und eine so genannte Two-Tier-Topologie, bei der die de Bruijn-Strukur auf die Inter-Cluster-Verbindungen angewandt wird, adressiert. Durch diese hybride Topologie ergibt sich ein wohl strukturiertes Netzwerk. Parallel hierzu erlaubt dies die Wahl direkter Nachbar-Peers unter mehreren Peers eines Nachbar-Clusters. Dies wird duch unterschied- liche Richtlinien und Metriken gesteuert, d.h. einer effizienten Abbildung auf die unter- liegende Netzwerkstruktur oder durch so genannte Trust-Level-Richtlinien. Ferner werden Mechanismen für die Intra-Cluster-Organisation vorgeschlagen, die die Heterogenität der einzelnen Peers einbeziehen. Hierfür wurde ein Rollen-basierter Ansatz entwickelt. Die all- gemeinen Kernoperationen von P2P-Overlay-Netzwerken wurden identifiziert, wobei jeder Operation eine Rolle zugeordnet wurde. Vier Basis-Rollen wurden identifiziert: Routers, Cachers, Indexers und Maintainers. Peers werden Rollen aufgrund ihrer Fähigkeiten und vorhergesagtem Verhalten zugewiesen, damit jeder Peer effizient und ohne die Gesamt- leistung des Systems zu behindern oder zu verringern zum System beiträgt. Zuverlässige Regeln sorgen hierbei für ausgeglichene Beiträge eines jedes Peers, was zu einer gerechten Lösung führt. Die vorgeschlagene Architektur wurde im Omicron-Ansatz umgesetzt. Das resultierende System wurde sowohl analytisch als auch durch Simulation evaluiert. Der analytische Ansatz basiert auf stochastischer Modellierung sowie der Analyse und Evaluation der Mechanismen, die Daten von empirischen Untersuchungen breit eingesetz- ter P2P Systemen berücksichtigt. Des weiterer werden so genannte "burn-in" Methoden, die verhältnisbezogene Zuverlässigkeitsbetrachtungsweisen nutzen, zur Optimierung der Rollenzuordnung eingesetzt. Für die Simulation wurde ein Werkzeug benötigt, das in der Lage ist, die Dynamik des Be- nutzerverhalten, die Eigenschaften des unterliegenden Netzwerks und das Zusammenspiel der eingebundnen P2P-Protokolle abzubilden. Für die Evaluation der Arbeit wurde ein solches Werkzeug basierend auf einer offenen Architektur entwickelt, das ebenfalls andere wichtige Ansätze einschliesst. Damit werden vergleichende quantitative Leistungsmessun- gen für eine Vielzahl verschiedener interessanter Einsatzszenarien ermöglicht. Sowohl die Ergebnisse der Analyse als auch der Simulation bestätigen das überlegene De- sign von Omicron für grosse, dynamische und heterogene Umgebungen, und seine Fähigkeit effizient die grosse Zahl von Zielkonflikten der Anforderungsbeschränkungen aufzulösen. iv Abstract The Peer-to-Peer (P2P) paradigm provides an alternative design approach for distributed systems, which relaxes the requirement for dedicated service providers as it is the case in client-server systems. The P2P approach explores the potential to create distributed systems based on the resources and the services that can be provided by any end-point device connected to a common communication medium, i.e. the Internet. P2P-based dis- tributed systems develop dedicated virtual networks on top of physical telecommunication networks, the so-called overlay networks. An overlay network is a mandatory abstraction from physical networks to both flexibly fulfill functional requirements such as connectivity maintenance, indexing and routing, as well as to satisfy non-functional ones, such as scala- bility, fault-tolerance and load-balance. A challenging aspect in designing overlay networks is the satisfaction of the posed requirements, while coping with potential conflicts among them in a customizable way. This thesis investigates a novel architecture for designing effective overlay networks for P2P systems that considers the most important characteristics of widely deployed systems. In particular, the large number of participants is considered, which introduces network scala- bility and expandability issues. Moreover, the thesis is concerned with their uncontrollable and difficult to predict behavior, which causes highly dynamic and fluctuating overlay net- work topologies. Such behavior makes it challenging to design resilient and stable systems that can operate effectively with minimum maintenance cost. Additionally, an important consideration is the intrinsic heterogeneity of their physical capabilities and user behavior that aggravates the problem of even workload distribution. A number of mechanisms have been devised to meet the aforementioned requirements. Starting with the network topology, the usage of de Bruijn graphs is proposed. Their attractive characteristic of having a logarithmically increasing diameter, even when nodes have fixed degree, is particularly useful to address the scalability requirement with mini- mum maintenance cost. However, the exponential expandability is an intrinsic issue for de Bruijn graphs. A graph construction algorithm based only on local information has been proposed to define de Bruijn variants with incremental expandability properties. More- over, the fixed node degree (preferably as small as possible to keep the graph maintenance costs low) poses resiliency concerns. This matter is addressed with the introduction of peer clusters that guarantee their reliability and with a two-tier topology where the de Bruijn structure applies at the inter-cluster connections. This hybrid topology provides a tightly structured network. In parallel, it gives the freedom of selecting neighbor peers from sev- eral members of the neighbor clusters. This selection can be driven by various policies and metrics, i.e., by the efficient mapping to the underlying network or by satisfying trust-level v requirements. Additional mechanisms have been proposed for the intra-cluster organiza- tion that deals with peer heterogeneity. For this issue, a role-based approach has been investigated. The common, basic operations of P2P overlay networks have been identified assigning a role to each of them. More specifically, four core roles have been identified: