Arbeitsbericht für das Teilprojekt - QuaP2P
Transcription
Arbeitsbericht für das Teilprojekt - QuaP2P
Arbeitsbericht für das Teilprojekt „Adaptivität“ der DFG Forschergruppe 733: QuaP2P – Verbesserung der Qualität von P2P-Systemen Arbeitsbericht Projektkennwort: QuaP2P Themengebiet: Verbesserung der Qualität von P2P-Systemen Berichtszeitraum: 01.06.2006 – 31.12.2008 Inhalt 1 Allgemeine Angaben zum Teilprojekt „Adaptivität“.................................................................... 1 1.1 DFG-Geschäftszeichen ........................................................................................................1 1.2 Fachgebiete und Fachrichtung ...........................................................................................1 1.3 Titel....................................................................................................................................1 1.4 Berichtszeitraum ................................................................................................................1 2 Zusammenfassung des Berichts .................................................................................................. 2 3 Bericht über die bisherige Entwicklung ...................................................................................... 4 4 3.1 Kenntnisstand bei der letzten Antragstellung .....................................................................4 3.2 Ausgangsfragestellung........................................................................................................5 3.3 Ergebnisse und Analyse......................................................................................................6 3.3.1 Arbeitspaket A1 - Simulationsumgebung.....................................................................6 3.3.2 Arbeitspaket A2 - Evaluierung der Skalierbarkeit und Stabilität existierender OverlayMechanismen ............................................................................................................12 3.3.3 Arbeitspaket A3 - Flexibilität: Kontextbewusstsein ....................................................16 3.3.4 Arbeitspaket A4 - Ausgestaltung/Entwicklung von Referenzszenario A ....................19 3.3.5 Arbeitspaket A5 - Adaptivitätsmechanismen für die Referenzszenarien ....................23 3.4 Zusammenarbeit innerhalb der Forschergruppe...............................................................24 3.5 Vergleiche mit Arbeiten außerhalb der Forschergruppe ...................................................25 3.6 Offene Fragen und Ausblick .............................................................................................27 Literatur ................................................................................................................................... 29 i ii 1 Allgemeine Angaben zum Teilprojekt „Adaptivität“ 1.1 DFG-Geschäftszeichen STE 866/4-1 1.2 Fachgebiete und Fachrichtung Multimedia Kommunikation Prof. Dr.-Ing. Ralf Steinmetz Dipl.-Ing. Aleksandra Kovacevic Telekooperation Prof. Dr Max Mühlhäuser Dipl.-Wirtsch.-Inf. Dirk Bradler 1.3 Titel Teilprojekt TP1 der Forschergruppe FOR 733: „Untersuchung und Verbesserung der Adaptivität von Peer-to-Peer-Systemen“ 1.4 Berichtszeitraum 01.06.2006 – 31.12.2008 1 2 Zusammenfassung des Berichts Adaptivität ist im Kontext dieses Antrags definiert als Anpassungsfähigkeit eines Peer-to-PeerSystems an innere und äußere Rahmenbedingungen und deren dynamische Veränderung. Dazu wird sowohl die qualitative als auch die quantitative Anpassungsfähigkeit des Systems betrachtet. Die Fähigkeit des Systems, sich an die verändernde Anzahl von Entitäten (und damit ggf. Nutzern) und an die zur Verfügung gestellten Dienste anzupassen, bezeichnen wir als Skalierbarkeit. Weiterhin muss darauf geachtet werden, dass das P2P-System bei geänderten Rahmenbedingungen, insbesondere bei häufigen Abfolgen von Adaptionsvorgängen, seine Funktionalität aufrechterhält. Dieses Qualitätsmerkmal bezeichnen wir als Stabilität. Die qualitative Adaptivität - also die Anpassung an Gegebenheiten, die die Anwendung zur Laufzeit charakterisieren - bezeichnen wir als Flexibilität. Sie wird durch die Verarbeitung von Kontextinformationen erreicht. Diese können eingeteilt werden in nutzerzentrierten sowie netzzentrierten Kontext. Die Relevanz der entwickelten Mechanismen im Teilprojekt Adaptivität wurde theoretisch und simulativ gezeigt, zusätzlich wurden einzelne Mechanismen zur Integration in die Referenzszenarien A und B ausgewählt. Für die Untersuchung der qualitativen Aspekte der Peer-to-Peer-Systeme und deren Wechselwirkungen wurde für das Gesamtprojekt als gemeinsame Evaluationsplattform der Simulator PeerfactSim.KOM [1] entwickelt. Der Simulator ist so entworfen, dass man nicht nur P2P-OverlayNetzwerke, sondern P2P-Systeme als Ganzes mit allen Diensten und Anwendungen oberhalb der Overlay-Schicht untersuchen kann. Das ermöglichte die gezielte Evaluation von Mechanismen für die Referenzszenarien. Es wurde herausgefunden, welchen Einfluss verschiedene Entwurfsentscheidungen auf die Qualität von P2P-Overlaynetzwerken haben. Insbesondere wurde der Einfluss auf Skalierbarkeit und Stabilität untersucht. Bezüglich dieser Entwurfskonzepte verglichen wir acht P2P-Overlaynetzwerke, die wir im Simulator PeerfactSim.KOM implementiert haben (strukturiert, unstrukturiert, hybrid und hierarchisch). Dazu wurden Wechselwirkungen zwischen den Qualitätseigenschaften identifiziert. Als ein notwendiger Bestandteil der beiden Referenzszenarien wurde Ortsbewusstsein in der Overlaystruktur und der Systemfunktionalität identifiziert, weswegen das P2P-Overlay Globase.KOM [2-4] entworfen und implementiert wurde. Globase.KOM unterstützt vollständige ortsbezogene Suche und zeigt sich im Vergleich mit verwandten Arbeiten bezüglich Skalierbarkeit, Stabilität und Effizienz als leistungsfähige Alternative. Als ein Anwendungsszenario für Globase.KOM wurde eine P2P-basierte Notrufinfrastruktur untersucht. Zu diesem Zweck wurde das Overlay um Nachrichtenpriorisierungsfähigkeiten erweitert und gezeigt, dass höher priorisierte Notrufe in einem solchen Netzwerk zeitnah und ohne Verlust durchgestellt werden. Im Bereich nutzerzentrierter Kontext, verstanden als flexiblere Ausführung typischer Interaktionen des Nutzers mit einer P2P-Applikation, wurde das P2P-Netzwerk PathFinder [5] entwickelt. Es kombiniert sowohl Volltextsuche als auch Primärschlüsselabfragen (Key Lookup) in einem P2POverlay Netzwerk. Dieser Ansatz kombiniert die Vorteile einer Verteilten Hash Tabelle (Distributed Hash Table - DHT) und die hohe Trefferwahrscheinlichkeit für Volltextsuche aus unstrukturierten Netzwerken, wie z.B. BubbleStorm [6]. Beziehungen zwischen Nutzern werden explizit in DCC [7] (Distributed Command and Control) modelliert, welches die verteilte Erstellung und den Betrieb einer Stab-Linien-Organisationsstruktur ermöglicht. Handlungsbeziehungen zwischen den Organisationseinheiten werden innerhalb des strukturierten P2P-Netzwerks abgebildet. Dieser Mechanismus 2 kann auf einem beliebigen Overlay-Netzwerk, welches Primärschlüsselsuche unterstützt, ausgeführt werden. DCC wird in Referenzszenario A eingesetzt. Im Bereich netzzentrierter Kontext, verstanden als flexiblere Ausführung von Protokollen ohne Nutzerinteraktion, wurde ein Application Level Multicast (ALM) System, welches auf bestehenden strukturierten P2P-Netzen aufbaut, entwickelt [8]. Kein Peer erhält hierbei eine Nachricht doppelt, wogegen vergleichbare Ansätze insbesondere zusätzliche Nachrichtenduplikate verursachen [9]. Dieser Mechanismus kann als Ressourcenallokationsmechanismus in strukturierten P2P-Netzwerken mit geringer Nachrichtenanzahl verwendet werden. Neben Ressourcenallokation wird durch netzzentrierten Kontext die Robustheit der Netzwerke gegen Netzwerkpartitionierung verbessert. Diese kann durch hohe Nutzerfluktuation (Churn) und in mobilen Netzwerken durch Bewegung der Peers auftreten. Um einer Partitionierung frühzeitig entgegenzuwirken, identifiziert BridgeFinder [10] Konnektivitätsengpässe. Gegenmaßnahmen können dann gezielt eingeleitet werden. Erkenntnisse aus beiden Kontextbereichen werden im Referenzszenario A aufgegriffen. Die Anforderungen an ein verteiltes Katastrophenmanagementsystem wurden durch freie Interviews mit Ersthelfern, der Feuerwehr, dem THW und dem DRK erhoben [11]. Bestehende P2P-OverlayNetze wurden auf Tauglichkeit im Katastrophenfall evaluiert [12]. Es wurde die Simulationsumgebung First Response Communication Sandbox (FRCS) entwickelt [13], welche die physischen Positionen und Bewegungen aller Beteiligten einer Katastrophe simuliert. Diese Simulationsumgebung kann an beliebige Netzwerksimulatoren angeschlossen werden, dadurch wird eine integrierte Simulation eines Katastropheneinsatzes möglich. Dieser ganzheitliche Ansatz wurde in einer Demonstration [14] ebenfalls vorgestellt. Der DCC-Mechanismus garantiert die Aufrechterhaltung der Organisationsstruktur und BridgeFinder identifiziert Knoten zur Aufrechterhaltung der Konnektivität in mobilen Szenarien. Der FiRe (First Response) Prototyp dient als praktische Anwendung. Ziel des Prototyps ist die Ermittlung der Latenzzeiten unter realen Bedingungen. 3 3 Bericht über die bisherige Entwicklung 3.1 Kenntnisstand bei der letzten Antragstellung Zum Zeitpunkt der Antragstellung waren Dateitauschbörsen die dominierenden Anwendungen der Peer-to-Peer-Technologie. Weitere Anwendungsdomänen waren nicht im Fokus der wissenschaftlichen Arbeiten. Die Qualität eines Peer-to-Peer-Systems wurde deshalb meistens anhand der erzielten Downloadzeiten für Dateien beurteilt. Flexibilität ist die qualitative Adaptivität - also die Anpassung an Gegebenheiten, die die Anwendung zur Laufzeit charakterisieren. Dies wird durch Verarbeitung von Kontextinformationen erreicht. Diese können unterteilt werden in netzzentrierte sowie nutzerzentrierte Kontextinformationen. Die Definition des Begriffes Kontext variierte zum Zeitpunkt der Antragsstellung je nach Fragestellung. Für das Forschungsvorhaben Flexibilität wurde Kontext folgendermaßen definiert: „Kontext bezeichnet hilfreiche Zusatzinformation, welche die Funktionsweise von Software zur Laufzeit verbessert.“ Die Anpassung der Netzwerktopologie ist demzufolge nur ein Teilaspekt der Kontextinformationen. Ganzheitliche Ansätze zur Kontextverarbeitung waren zwar in verwandten Arbeiten in einzelne funktionale Module gekoppelt (Context Toolkit [15]), jedoch ist die Zielsetzung eine andere. Die Möglichkeit der Verarbeitung des Kontexts bedingt nicht automatisch eine Verbesserung der P2P-Funktionalität. Die Verbesserung der P2P-Mechanismen benötigt eine zielgerichtete Auswertung einzelner Eigenschaften des netzzentrierten und nutzerzentrierten Kontexts. Die Nutzung von Kontextinformationen beschränkte sich zum Zeitpunkt der Antragstellung hauptsächlich auf die Anpassung von P2P-Overlay-Netzwerken an die zugrundeliegende Topologie der Netzwerkschicht [16,17]. Frühe Ansätze für die P2P-Kommunikationsinfrastruktur entwickelten verteilte Strukturen basierend auf linearem Hashing [18,19]. Im Allgemeinen stellen verteilte Hash-Tabellen (DHTs) eine skalierbare Methode zur Verfügung, um Datenobjekte unter gegebenen Schlüsseln zu adressieren [20]. Es gab viele DHT-basierte Konzepte wie Chord [21,22], Koorde [23], Kademlia [24], Omicron [25], Pastry [26], CAN [27], Skipnet [28]. Neben der eben erläuterten Auswahl strukturierter Overlay-Netzwerke gab es einige unstrukturierte Ansätze [29,30]. Die Nutzung von Kontextinformationen wurde bei der Erstellung von strukturierten und unstrukturierten Netzwerken kaum berücksichtigt. Die Position einzelner Peers innerhalb des Netzwerks und die damit verbundene graphentheoretische Bedeutung kann jedoch vielseitig genutzt werden, z.B. kann eine bevorstehende Partitionierung verhindert werden (vgl. BridgeFinder in Abschnitt 3.3.3.2). Die Skalierbarkeitseigenschaften unstrukturierter Overlays wurden bereits in einigen Arbeiten untersucht. Lv et al. diskutieren in [31] skalierbare Suchmethoden und untersuchen, wie Peer-Heterogenität genutzt werden kann, um Systeme wie Gnutella besser skalierbar zu gestalten als im homogenen Fall [32]. Yang und GarciaMolina [33] erforschen die Leistungsfähigkeit von gerichteten Breitensuchetechniken und lokalen Indizes. Oceanstore [34] nutzt hybride Techniken basierend auf Tapestry und abgeschwächten Bloom-Filtern [35], um populäre Objekte mit hoher Wahrscheinlichkeit effizient zu finden [36]. Adamic et al. [37] untersuchen skalierbare Suche in Power-Law-Netzwerken. Small-WorldNetzwerkeigenschaften [38] werden ebenfalls im Kontext von P2P untersucht [38-42]. Hierarchi- 4 sche Ansätze wie eDonkey [43,44] oder das FastTrack-Protokoll, das in KaZaA [45] genutzt wird, nutzen das Konzept von Super-Peers (und Servern) in P2P-Architekturen, um die SuchanfrageRouting-Kosten zu reduzieren. Allerdings können Server in solchen Ansätzen potentielle Flaschenhälse werden, wenn sie nicht mit der gesamten Netzwerkgröße gut ausbalanciert werden. Im Kontext von P2P-Systemen haben Stabilitätsuntersuchungen in der Forschung zum Beginn des Projektes noch nicht die gleiche Aufmerksamkeit erhalten wie Skalierbarkeits-, Lastverteilungsund Fehlertoleranzuntersuchungen. Es gab allerdings einige interessante erste Ansätze wie Omicron [46] und Coral [47]. Im Bereich des Referenzszenarios A war das kommerziell erhältliche P2P-System Groove bereits zu Testzwecken im Einsatz in mobilen Umgebungen. Details des entwickelten Systems sind nicht öffentlich zugänglich. Ziel von Groove ist jedoch, eine Zusammenarbeit von Kleingruppen zu ermöglichen; für größere Projekte muss man auf den Groove-Server zurückgreifen. Der P2P-Gedanke wird hier sehr eingeschränkt. Ein vergleichbarer, auf P2P-basierter Ansatz ist die Arbeit „Integrated peerto-peer applications for advanced emergency response systems“ [48]. Hier wurde explizit eine P2PLösung für die Bedürfnisse von Ersthelfern in Katastropheneinsätzen entwickelt. Allerdings ist der Fokus der Arbeit die Ausgestaltung der Benutzeroberfläche; die Kommunikationsprotokolle und die Skalierbarkeit der Lösung wurden nicht evaluiert. 3.2 Ausgangsfragestellung Die Kernaufgabe dieses Teilprojektes war es, die Adaptivität von Peer-to-Peer-OverlayNetzwerken systematisch zu evaluieren und neue Mechanismen in allen Untermerkmalen zu entwickeln. Wegen der Komplexität und Größe solcher Netzwerke haben wir die Simulation als Evaluationsmethodik gewählt. Die Betrachtung von vielen Knoten war insbesondere für die Untersuchung der Skalierbarkeit notwendig. Existierende Simulatoren wie beispielsweise der häufig eingesetzte NS2 [49,50] sind für große Overlay-Netzwerke nicht geeignet. Sie sind auf die Simulation der Paketebene in der Vermittlungsschicht spezialisiert und skalieren bei einer notwendigen Menge von Knoten ungenügend. Der erste Schritt in diesem Teilprojekt war deshalb die Entwicklung eines Simulators für Peer-to-Peer-Overlay-Netzwerke. Dieser sollte aus drei Schichten bestehen: der Benutzerschicht, der Overlay- und der Netzwerksimulationsschicht. Unter Einbeziehung der gewonnenen Erfahrungen im Gesamtprojekt sollte der Simulator ständig überarbeitet und der wissenschaftlichen Gemeinschaft zur Verfügung gestellt werden. Daraufhin sollten detaillierte Erkenntnisse über die quantitative Adaptivität (Skalierbarkeit und Stabilität) eines breiten Spektrums existierender Overlay-Mechanismen gewonnen werden. Zu den zu evaluierenden Mechanismen gehörten unstrukturierte, hierarchische, strukturierte, hybride und spezialisierte Overlay-Mechanismen. Darüber hinaus sollte ein Studium der Wechselwirkungen dieser beiden Untermerkmale (Skalierbarkeit und Stabilität) untereinander und bezüglich der anderen Qualitätsmerkmale durchgeführt werden. Die Ergebnisse dieser Untersuchungen sollten schließlich bei der Wahl von geeigneten Adaptivitätsmechanismen für die beiden Referenzszenarien einfließen. Frühzeitig haben wir Skalierbarkeit, Stabilität, Effizienz, Lokalisierbarkeit und Robustheit gemeinsam untersucht, was es uns ermöglichte, die umfassenden Wechselwirkungen gezielter zu erkennen und zu untersuchen. Ein weiterer Grund hierfür war, dass in der Forschungsgemeinde die Qualitätsmerkmale Stabilität und Robustheit nicht klar abgegrenzt sind. Durch die integrierte Be- 5 trachtung quantitativer Merkmale konnten Auswirkung qualitativer Anpassungen der P2PMechanismen (Flexibilität) simulativ evaluiert werden. Die folgenden wissenschaftlichen Kernfragen zum Zeitpunkt der Antragsstellung des Arbeitspakets Flexibilität lauteten: • Wie lässt sich der neueste Forschungsstand im Bereich „context aware computing“ erweitern und anpassen auf große dynamische P2P-Systeme? • Wie lässt sich dabei Kontextbewusstsein uminterpretieren und erweitern, um alle Aspekte externer Adaptivität (wie definiert) abzudecken? • Wie können die zugehörigen Mechanismen als wieder verwendbare, mit anderen Aspekten kombinierbare Komponenten entworfen und realisiert werden? Als Ergebnis des Qualitätsmerkmals Adaptivität wurde eine wissenschaftlich differenzierte Gültigkeitsbestätigung für die Annahme, dass sich P2P-Netze als Kommunikationsinfrastruktur für Katastropheneinsätze (Referenzszenario A) eignen, erwartet. Diese und andere Aspekte sollten auch über Publikationen in die Literatur zu „incident management“ einfließen. Zusätzlich sollten Teilaspekte in einem weiteren Schritt, aufbauend auf Szenarienbeschreibung, Simulator und Experimenten, als Prototyp realisiert werden. 3.3 Ergebnisse und Analyse Die adaptivitätsspezifischen Ergebnisse werden in den folgenden Abschnitten vorgestellt. 3.3.1 Arbeitspaket A1 - Simulationsumgebung Der Simulator ist so entworfen, dass nicht nur P2P-Overlay-Netzwerke, sondern P2P-Systeme als Ganzes, mit allen Diensten und Anwendungen oberhalb der Overlay-Schicht untersucht werden können. Das ermöglicht die gezielte Evaluation von Mechanismen für die Referenzsenarien. Im ersten Schritt wurde dafür der Anforderungskatalog für die zu entwickelnde Simulationsumgebung erstellt [51]. Hierbei wurden die folgenden Kerneigenschaften als besonders wichtig eingestuft: • 6 Modularität. Um den verschiedensten Ansprüchen, die P2P-Protokolle an einen Simulator stellen können, gerecht zu werden, wurde der Simulator aus einzelnen, voneinander unabhängigen Komponenten erstellt. Durch die Analyse zahlreicher P2P-Protokolle wurden deren wichtigste Abbildung 1: Funktionale Schichten des Simulators Komponenten identifiziert [52]. Vorteil der Aufteilung in unabhängige Komponenten ist, dass einzelne Komponenten ausgetauscht werden können, ohne dass sich diese Veränderung zwangsläufig auf alle anderen Teile des Simulators auswirkt. So kann beispielsweise ein sehr detailliertes Netzwerkmodell durch ein leichtgewichtiges Modell ersetzt werden, wenn das Netzwerkmodell die Simulationsergebnisse nicht oder nur gering beeinflussen würde [51]. • Skalierbarkeit. P2P-basierte Systeme heben sich vor allem durch ihre hohe Skalierbarkeit von Client-Server-basierten Ansätzen ab. Der Simulator sollte also die Möglichkeit bieten, P2P-Systeme mit einem möglichst hohen Realitätsgrad quantitativ zu untersuchen. • Modellierung von Diensten. Die Einsatzszenarien von P2P-Anwendungen sind vielseitig und können sich im Laufe der Zeit ändern. Jede Anwendung besitzt hierbei ihre eigenen Anforderungen bzw. stellt für ihren Einsatzzweck unterschiedliche Dienste zur Verfügung. Eine generische Simulationsplattform sollte deshalb eine leicht erweiterbare Modellierung von Diensten erlauben, die über die einfache Suchfunktionalität von Overlays oder die Wegewahl von Suchnachrichten im Overlay hinausgeht. Anhand dieses Anforderungskatalogs wurde die Architektur des Simulators PeerfactSim.KOM entworfen, die sich in zwei wesentliche Bereiche aufteilt: die funktionalen Schichten und die Simulations-Engine (siehe Abbildung 1). Darüber hinaus wurden für jede funktionale Schicht, ausgehend von der oben bereits erwähnten Analyse, einzelne Komponenten definiert, die wiederum Dienste für andere Komponenten aus der gleichen funktionalen Schicht zur Verfügung stellen können. Die Simulation-Engine ist ebenfalls eine Komponente, die beliebig ausgetauscht werden kann. Sie stellt den eigentlichen Kern des Simulators da, dessen wesentlicher Bestandteil der Scheduler ist. In diesem werden die zeitlichen Abläufe innerhalb des Simulators koordiniert und die korrekte Ausführungsreihenfolge der eigentlichen Ereignisse sicherstellt. In der Netzwerkschicht wurden im Rahmen des Arbeitspaketes A1 verschiedene InternetModelle implementiert, die je nach Evaluationsziel unterschiedlichen Anforderungen genügen. Zum Beispiel kommt es bei der Untersuchung von latenzoptimierten Overlay-Netzwerken eher auf die realistische Modellierungen von Nachrichtenlaufzeiten im Internet an. In diesem Kontext kann jedoch die Zeit, die für die Übertragung dieser meist sehr kleinen Overlay-Nachrichten vergeht, oftmals vernachlässigt werden, da sie im Vergleich zur eigentlichen Nachrichtenlaufzeit im Übertragungsmedium mindestens eine Größenordnung geringer ist [53]. Auf der anderen Seite bedarf es zur Evaluation von klassischen P2P-basierten Inhaltsverteilsystemen, wie zum Beispiel Emule oder BitTorrent, eines komplexeren Modells, das unter anderem auch die Modellierung von TCP-Flüssen erlaubt. Im Folgenden sollen deshalb die im Rahmen dieses Arbeitspakets entwickelten Modelle kurz erörtert werden. 3.3.1.1 Netzwerkmodelle Zunächst wurde ein einfaches Nachrichtenlaufzeitmodell entworfen, das die Details, die die Latenz auf den unteren vier Schichten des OSI Modells beeinflusst, auf der Transportschicht zusammenfasst. Die eigentliche Nachrichtenlaufzeit wird hierbei durch die folgende Formel beschrieben: 7 Dabei wurde ein dreiteiliger P Ansatz verfolgt, der sowohl einen P P statischen Anteil als auch einen variablen, distanzabhängigen Anteil besitzt. Zusätzlich P P P wurde der momentane Auslastungszustand des Netzwerks berücksichtigt. Hierbei bildet df den Anteil der algorithmischen Verzögerung und der Verarbeitungsverzögerung der beteiligten (Zwischen-) Systeme ab. Er ist ein fester Anteil an der Gesamtlatenz. Des Weiteren beschreibt dist die Euklidische Ebene Entfernung zwischen Start- und Endpunkt der Übertragung und v die Geschwindigkeit, mit der sich das Signal in dem Übertragungsmedium ausbreitet. Der Quotient dist/v ergibt Abbildung 2: Abbildung der Peers in also die Ausbreitungsverzögerung des Signals. Demnach hat die euklidische Ebene eine Nachricht mit zunehmender Entfernung zwischen Startund Zielpunkt auch eine größere Latenz. Der Faktor f dient zur Streckung oder Stauchung der Gesamtlatenz, abhängig vom aktuellen Zustand des Netzwerks. Hierüber sollen Netzwerkeigenschaften wie Retransmission (verursacht durch Paketverlust, Paketbeschädigung oder “Out-of-order“Pakete) und Netzwerküberlastung (Begrenztheit der Ressourcen der Zwischensysteme) modelliert werden. dist ⎤ ⎡ Latenz = f ⋅ ⎢df + v ⎥⎦ ⎣ In diesem einfachen Nachrichtenlaufzeitmodell wird der virtuelle Raum im Simulator, in dem sich die einzelnen Peers befinden können, durch eine euklidische Ebene beschrieben. Jeder im Simulator erzeugte Peer des Netzwerks wird entsprechend seiner Position in die euklidische Ebene abgebildet und erhält so eine eindeutige, zweidimensionale Koordinate (vgl. Abbildung 2). Von besonderem Interesse ist jedoch, wie die einzelnen Peers in dieser Ebene verteilt sind. Da die Verteilung der Peers die Ergebnisse der Simulation maßgeblich beeinflussen kann, beispielsweise bei der Bestimmung der oben erläuterten Nachrichtenlaufzeit, wurden zwei Verteilungsvarianten verwirklicht [51]: 8 • Gleichmäßige Zufallsverteilung. Bei dieser Verteilung werden die am Netzwerk teilnehmenden Peers in der euklidischen Ebene gleichmäßig zufallsverteilt. Nachteil dieser einfachen Verteilung der Peers ist, dass sie nicht der realen Verteilung von Peers entspricht. Betrachtet man die weltweite Verteilung der Peers in realen Systemen, sind diese oft ungleichmäßig verteilt und bilden Gebiete, in denen die Dichte der Peers deutlich höher ist als in anderen Gebieten. • Bitmapbasierte Zufallsverteilung. Um der ungleichmäßigen Verteilung der Peers Rechnung zu tragen, können die Peers aufgrund eines Graustufen-Bitmaps zufallsverteilt werden. Dabei kann ein Bild beliebiger Größe, beispielsweise eine Weltkarte oder Stadtkarte, mit verschiedenen Grautönen eingefärbt werden. Je dunkler der Grauton, desto höher die Wahrscheinlichkeit, dass sich an dieser Position ein Peer befindet. Auf diese Weise kann die Verteilung der Peers realitätsnah abgebildet werden, indem z. B. eine Karte eines Landes entsprechend statistischen Daten zur Bevölkerungsdichte oder Internetnutzung mit Grautönen versehen wird. Denkbar ist auch der gezielte Entwurf extremer Peer-Konfigurationen, um die Stabilität eines Protokolls unter besonderen Bedingungen zu testen. Abbildung 3 zeigt die Stadtkarte Darmstadts mit überlagerten Grautönen entsprechend der (fiktiven) Verteilungsdichte der Peers. Abbildung rechts stellt das daraus resultierende Graustufen-Bitmap dar. Abbildung 3: Links: Mit Grautönen eingefärbte Karte des Stadtzentrums von Darmstadt - je dunkler der Grauton, desto höher die Dichte der Peers. Rechts: resultierendes Bitmap, das im Simulator verwendet werden kann In einem zweiten Schritt wurde ein realistischeres Netzwerkmodell zur Bestimmung der Nachrichtenlaufzeiten im Internet entworfen [53], und in PeerfactSim implementiert. Dieses Modell verwendet, zur Bestimmung der minimalen Nachrichtenlaufzeit zwischen zwei Kommunikationspartnern im Internet, die Messdaten des CAIDA’s-Macroscopic-Topogoly(Topology?)-Projekt [54]. Dazu werden die von den Messmonitoren erfassten und weltweit verteilten Hosts (ca. 400.000) in einen mehrdimensionalen Euklidischen Raum eingebettet. Dieser sehr rechenintensive Prozess muss jedoch nur einmal durchgeführt werden. Das heißt, ein eigens hierfür entwickelter Mechanismus erlaubt es, unter Zuhilfenahme von „Global Network Positioning“, den Hosts eine mehrdimensionale Koordinate zuzuweisen, die für alle Simulationen wieder verwendet werden kann. Diese Hosts bilden auch die Grundmenge, aus der beliebige geographische Peer-Verteilungen für bestimmte Simulationsszenarien erzeugt werden können. Abbildung 4 zeigt alle für eine Simulation frei wählbaren Hosts. Abbildung 4: Beispielprojektion der Hosts auf die Weltkarte Da die minimale Nachrichtenlaufzeit jedoch nur statisch ist, wurde zusätzlich ein Mechanismus entwickelt, um eine variable Streckung (Jitter) dieser Zeit zu ermöglichen. Dieser Ansatz bedient 9 sich ebenso zahlreicher Messdaten aus dem Internet (PingER-Projekts [55]). Bei der Variation der minimalen Nachrichtenlaufzeit wird zudem die geographische Position der Peers mitberücksichtigt, die hierfür ein ausschlaggebendes Kriterium ist. Die Gesamtlatenz zwischen zwei Kommunikationspartnern im Internet setzt sich daher aus einem statischen und einem variablen Part zusammen und ist in Abbildung 5 veranschaulicht. Die bisher vorgestellten Modelle berücksichtigen nur die Nachrichtenlaufzeit im Internet und vernachlässigen hierbei die tatsächliche Dateigröße. Diese Annahme ist legitim, wenn man sich speziell auf die Untersuchung von Such-Overlays fokussiert. Möchte man jedoch einen Dateitransfer simulieren, sind die Nachrichtengrößen natürlich der ausschlaggebende Faktor für die eigentliche Übertragungszeit. Hierzu wurde für den Simulator ein weiteres Modell konzipiert, dass es erlaubt, den „Fairshare“ von TCP-Flüssen realistisch nachzubilden. Damit bietet der Simulator auch die Möglichkeit, Inhaltsverteilsysteme in ihrer Ganzheitlichkeit zu untersuchen. Abbildung 5: Zwei-Komponentenarchitektur zur Berechnung der Nachrichtenlaufzeiten 3.3.1.2 Overlay Modelle Im Rahmen des Arbeitspakets A2 wurden zehn relevante P2P-Overlay-Netzwerke implementiert. Dies ist genauer in Abschnitt 3.3.2 beschrieben. 3.3.1.3 Applikationsschicht Auf der Applikationsschicht wurde das populäre Inhaltsverteilssystem BitTorrent [56] implementiert. Des Weiteren wurde ein Dienst implementiert, welcher es erlaubt „Network-Coding“ [57] auf einzelne Dateiblöcke anzuwenden. Das Simulationsframework erlaubt es, diese Komponenten generisch mit einem Such-Overlay zu kombinieren. Folglich können beispielsweise Datei-Tauschbörsen, wie z. B. eMule, in ihrer Ganzheitlichkeit untersucht werden. 3.3.1.4 Benutzerverhaltensmodelle Das Benutzerverhalten in P2P-Systemen bestimmt sich durch diverse Einflussfaktoren und kann sich, je nach Anwendung, sehr stark in seiner Modellierung unterscheiden. Der entwickelte Simula10 tor stellt deshalb zwei unterschiedliche Komponenten zur Modellierung des Benutzerverhaltens zur Verfügung, die Konnektivitäts- und Arbeitslastkomponente [58]. Die Konnektivitätskomponente steuert die Dynamik der Beteiligung von Peers am Netzwerk. Diese Komponente stellt diverse Verteilungen beruhend auf Messdaten aus dem Internet zur Verfügung, wie z. B. eine Weibull- und Exponentialverteilung in den Online-Zeiten der Peers sowie die Modellierung des Ankunftsprozesses der Peers im System. Die Arbeitslastkomponente beschreibt die Ressourcenverteilungen auf die Peers, bestimmt die Popularität von angebotenen Services in einer Dateitauschbörse und definiert die zeitliche Abfolge der Suchanfragen, die ein Peer in einem Overlay-Netzwerk initiiert. 3.3.1.5 Generierung von Simulationsszenarien Um die Vergleichbarkeit von verschiedenen Simulationsläufen zu erhöhen, wurde die Einbindung von sogenannten Szenarien implementiert. Die Idee hinter einem Szenario ist, dass darin alle relevanten Informationen enthalten sind und mehrmaliges Ausführen des gleichen Szenarios immer genau dieselben Ergebnisse liefert. So kann ein und dieselbe Simulation mehrfach wiederholt werden, was besonders zur Beobachtung spezieller Verhaltensweisen eines P2P-Protokolls sowie fürs Debugging sehr hilfreich ist. Darüber hinaus können die Rahmenbedingungen eines Szenarios leicht auf ein anderes P2P-Protokoll übertragen werden. Somit werden direkte Vergleiche zwischen mehreren Protokollen unter identischen Umgebungsbedingungen ermöglicht. Zur Beschreibung eines Szenarios wurde ein XML-Dokument gewählt, das folgende Einstellungen beinhaltet [51]: • Allgemeine Einstellungen des Simulators. Hierzu zählen grundlegende Einstellungen des Simulators wie das zu simulierende Peer-to-Peer-Protokoll und die Anzahl der teilnehmenden Peers. Das zu verwendende Netzwerkmodell kann spezifiziert werden und auch, ob Peers nach Vollendung ihrer Aufgaben das Netzwerk wieder verlassen sollen oder nicht. Darüber hinaus kann die Saat des Zufallsgenerators festgelegt werden, um immer wieder exakt die gleiche Zufallsverteilung zu erlangen. • Protokollspezifische Einstellungen. Hier können sämtliche veränderlichen Parameter des P2PProtokolls festgelegt werden, wie beispielsweise die Anzahl der Nachfolgerknoten im ChordProtokoll oder die Größe der Buckets im Kademlia-Protokoll. • Auswahl der Churn-Rate. Die Einstellmöglichkeiten umfassen die Art der Churn-Rate sowie die mit ihr verbundenen Parameter. • Auswahl der zu berechnenden Metriken. In diesem Abschnitt werden die zu berechnenden Metriken und ihre Parameter sowie das Ausgabeverzeichnis der Ergebnisse festgelegt. Verhalten der Peers. Hierbei kann gezielt das Verhalten einzelner Peers (i), verschiedener Gruppen von Peers (ii) sowie das Standardverhalten der Peers definiert werden (iii). Das Verhalten eines Peers (i) setzt sich aus der Definition seiner ID, dem Beitrittszeitpunkt ins Netzwerk sowie einer Menge von Aktionen zusammen. Eine Aktion setzt sich wiederum aus der Angabe der auszuführenden Aktion (z. B. Primärschlüsselsuche), mit der Aktion verbundenen Parametern und des Ausführungszeitpunkts zusammen. Bei der Angabe des Verhaltens einer Gruppe von Peers (ii) kommt zu den zuvor genannten Teilen noch die Angabe der Größe der Gruppe hinzu. Ist das Verhalten eines Peers weder durch (i) noch (ii) spezifiziert, verhält er sich nach dem Standardverhalten eines Peers (iii). Dieses ist analog zu (i) aufgebaut. 11 3.3.1.6 Nutzung von PeerfactSim.KOM außerhalb der Forschergruppe Der Simulator steht seit Ende letzten Jahres Interessierten im Internet zur Verfügung. Besonders zu erwähnen ist, dass der Simulator bereits auf europaweiter Ebene sowie im industriellen Bereich Anwendung gefunden hat. Beispielsweise verwenden ihn verschiedene europäische Universitäten für ihre Forschungszwecke im Rahmen des EU Network of Excellence „CONTENT“ [59], um mit dessen Hilfe neuartige P2P-basierte Inhaltsverteilstrategien zu analysieren. Ebenso wurde er auch für die Evaluation eines P2P-basierten Streaming-Systems der Motionet AG [60] eingesetzt. Darüber hinaus konnten die Ergebnisse dieses Arbeitspakets, nämlich die Entwicklung eines generischen Simulationsframeworks, erfolgreich auf der CeBIT 2008 vorgestellt werden. 3.3.2 Arbeitspaket A2 - Evaluierung der Skalierbarkeit und Stabilität existierender Overlay-Mechanismen Ziel dieses Arbeitspakets war es herauszufinden, welchen Einfluss verschiedene Entwurfsentscheidungen auf die Qualität von P2P-Overlaynetzwerken haben. Insbesondere wurde der Einfluss auf Skalierbarkeit und Stabilität untersucht. Um unterschiedliche Overlaynetzwerktypen systematisch zu evaluieren, haben wir zunächst die relevanten Metriken für Skalierbarkeit, Stabilität, Effizienz, Robustheit und Lokalisierbarkeit definiert. Die Erweiterung auf weitere Qualitätsmerkmale neben Skalierbarkeit und Stabilität wurde von uns vorgenommen, um die bilateralen Wechselwirkungen später besser identifizieren zu können. Der erstellte Metrikenkatalog enthält z.B. Antwortzeit und Trefferquote als Metriken für die Leisungsfähigkeit; Anzahl der Hops einer Suchnachricht, Lastverteilung über die Peers, Stretchfaktor als Metriken für den Aufwand. Die Skalierbarkeit und Stabilität wurden über die Varianz der gemessenen Effizienz bei veränderter Systemgröße und Systemlast bewertet. Für die Systemlast wurden verschiedene Anwendungsszenarien modelliert. Ein Ausschnitt über die Ergebnisse dieser Arbeitsschritte ist in [61] beschrieben. Um Einsichten in den Einfluss von Entwurfsentscheidungen auf die Qualität von P2POverlaynetzwerken zu gewinnen, wurden und werden entsprechend [62] sechs grundlegende Entwurfskonzepte systematisch untersucht: 1) Wahl des Identifikatorraums, 2) Abbildung der Ressourcen und Peers auf den Identifikatorraum, 3) Verwaltung des Identifikatorraums durch die Peers, 4) Struktur des logischen Overlaynetzwerks, 5) Routing-Strategie, 6) Instandhaltungsstrategie. Bezüglich dieser Entwurfskonzepte verglichen wir acht P2P-Overlaynetzwerke, die wir im Simulator PeerfactSim.KOM implementiert haben: zwei unstrukturierte (Gnutella 0.4 [29] und Gia [30]), zwei strukturierte (Chord [63] und Kademlia [64]), zwei hybride (Gnutella 0.6 [65] und Globase.KOM [2,3]) sowie zwei hierarchische Overlays (Chordgia und Giachord). Bisher wurden die folgenden Overlays bezüglich der Entwurfskonzepte simulativ verglichen: Gnutella 0.4 mit Gia, Chord mit Kademlia, Globase.KOM mit Chord und Kademlia. Weiterhin geplant sind die Vergleiche von Gnutella 0.6 mit Globase.KOM und Chordgia mit Giachord. Weiterhin werden die jeweils besten Overlays eines Typs miteinander verglichen werden. Diese Untersuchungen erfolgen bis Ende März 2009, was dem Projektzeitplan entspricht. Bezüglich der zuvor genannten Entwurfskonzepte wurden folgende Feststellungen und Ergebnisse erzielt: 12 In unstrukturierten Overlay-Netzwerken ist die Zuordnung von Ressourcen und Peers auf den Identifikatorraum unabhängig voneinander. Damit sind die Entwurfsentscheidungen für die Konzepte 1)–3) und 6) bereits festgelegt. Unsere Auswahl der zu untersuchenden unstrukturierten Overlays wurde beeinflusst durch die Entwicklung von Gnutella 0.4. Dieses weist bekanntermaßen eine schlechte Skalierbarkeit und Effizienz auf. Die Lösung dieser Probleme hat zum allgemeinen Verständnis von unstrukturierten Overlays beigetragen und führte zur Entwicklung von Gia, einem unstrukturierten und Gnutella 0.6, einem hybriden Overlay. Gia verbessert die Skalierbarkeit, Effizienz und Stabilität von Gnutella durch den Einsatz von vier zusätzlichen Mechanismen: BiasedRandom-Walk (Routing-Strategie), Ein-Hop-Replikation (in Zusammenhang mit der RoutingStrategie), Topologieanpassung (Struktur des logischen Overlaynetzwerks) und Flusskontrolle (Routing-Strategie). Die Ein-Hop-Replikation (One Hop Replication – OHR) dient dazu, den Suchprozess zu verbessern, indem die Anzahl der Hops - bis ein Treffer erzielt wird - und damit die Netzlast verringert werden. Das Ziel der dynamischen Topologieanpassung (Topology Adaption – TA) ist sicherzustellen, dass Knoten mit einer höheren Kapazität eine größere Anzahl an Nachbarn mit großer Bandbreite besitzen. Die Flusskontrolle (Flow Control - FC) verhindert, das Suchanfragen an überlastete Knoten geschickt werden. Die Kombination aus Topologieanpassung, Flusskontrolle und Ein-Hop-Replikation stellt sicher, dass Peers mit höherer Bandbreite eine Antwort auf die Großzahl der Suchanfragen liefern. Daher benutzt Gias Suchprotokoll den gewichteten Random-Walk (Biased-Random-Walk – BRW). Suchanfragen werden nicht, wie bei Gnutella, an alle Nachbarn gesendet, sondern jeweils nur an den Knoten mit der größten Bandbreitenkapazität. In Simulationen wurde durch das Weglassen einzelner Mechanismen deren Anteil an der Leistungsfähigkeit aufgezeigt. Wie aus den Simulationen deutlich wurde (siehe Abbildung 6) gibt es zwar mit dem Biased-Random-Walk und der Ein-Hop-Replikation zwei Komponenten, die auf dem ersten Blick die größten Leistungsgewinne erbringen, aber auf den zweiten Blick den Erfolg auf der einen Seite (z.B. wesentlich weniger Nachrichtenlast im Netz) mit einem großen Defizit auf der anderen Seite (z.B. geringere Erfolgsrate, mehr benötigte Hops) erkaufen. Es ist das Zusammenspiel aller vier Komponenten, das für die Leistungssteigerung von unstrukturierten Overlay-Netzwerken sorgt. Im Rahmen des Teilprojekts Validität ist das unstruktuierte Overlaynetzwerk „Bubblestorm“ [6] entwickelt und dessen Mechanismen auch mit Gnutella 0.4 verglichen worden. Bubblestorm wird momentan ebenfalls in PeerfactSim.KOM implementiert. In strukturierten Overlays ist die Zuordnung von Ressourcen und Peers auf den Identifikatorraum fest vorgegeben. In den meisten Fällen erfolgt diese Zuordnung durch eine Verteilte Hashtabelle (DHT). Die Ressourcen werden anhand ihrer IDs in der Regel auf den zuständigen Peer abgebildet. Wir untersuchten und verglichen zwei strukturierte Overlaynetze, Chord als das meist zitierte und Kademlia als das am meisten verbreitete, in der Praxis. Beide Overlays sind DHT-basiert, weisen allerdings große konzeptionelle Unterschiede auf. In verwandten Arbeiten wurde bereits festgestellt, dass andere DHT-basierte Overlays (Pastry, Tapestry [66] und CAN [27]) im Vergleich mit Chord eine schlechtere Leistungsfähigkeit aufweisen. 13 Abbildung 6: Faktoranalyse für Gnutella (oben) bzw. Gia (unten) mit einzeln analysierten GiaFeatures: BRW (Biased-Random-Walk), OHR (Ein-Hop-Replikation), FC(Flusskontrolle), TA(Topologieanpassung) Die konzeptionellen Hauptunterschiede zwischen Chord und Kademlia bestehen in der unterschiedlichen Verwaltung des Identifikatorraums sowie in der Routing- und Instandhaltungsstrategie. Der Unterschied bezüglich der Verwaltung des Identifikatorraums ist die Verwendung unterschiedlicher Distanzfunktionen – Kademlia verwendet die XOR-Funktion und Chord die arithmetische Dezimalsubtraktion. In beiden Overlays werden die Ressourcenidentifikatoren durch Peers mit dem nächsten Peer-Identifikator bezüglich der Distanzfunktion verwaltet. Des Weiteren verwendet Kademlia paralleles Routing und eine Struktur des logischen Overlaynetzes, die, verglichen mit Chord, zu einer viel größerer Anzahl von Kontakten pro Peer führt. Chord verwendet eine passive Instandhaltungsstrategie, wobei ausgefallene Kontakte erst während einer Stabilisierungsphase und nicht wie bei Kademlia sofort bei Ausfallerkennung ersetzt werden. Skalierbarkeitsuntersuchungen von Chord und Kademlia ergaben folgende Resultate (Abbildung 7): Beide Protokolle besitzen eine Routing-Komplexität von O(log2n) bezüglich der Netzwerkgröße. Die bessere Skalierbarkeit und Effizienz von Kademlia zeigt den großen Einfluss einer höheren Anzahl von Kontakten in den Routingtabellen und der Parallelität von Suchanfragen. Abbildung 7: Skalierbarkeit (Anzahl der Hops, Relative Delay Penalty und Operationsdauer) von Kademlia und Chord Für die Bewertung der Stabilität haben wir eine Extremsituation für das System im Zeitintervall t1 – t2 erzeugt. Aussagekräftig sind hierbei keine absoluten Zahlen, sondern eher Vergleichswerte zwischen unterschiedlichen Overlay-Netzwerken. Auffällig in den Resultaten (Abbildung 8) ist ein 14 extremer Anstieg der Antwortzeit direkt nach dem Zeitpunkt t2. Grund hierfür ist, dass die Einträge in den Routing-Tabellen der verbleibenden Peers nicht schnell genug aktualisiert werden und für die Ausführung der Overlay-Operationen die entsprechenden Timeout-Zeiten abgewartet werden müssen. Die Messwerte von Kademlia zeigen keine wesentliche Veränderung zu den Zeitpunkten t1 und t2. Die Begründung hierfür liefern die aktive Instandhaltungsstrategie und die Replizierung von Datenobjekten. In unseren Simulationen von Chord wurden zum Teil Nachrichten nach 100 Hops verworfen. Dies passiert, wenn Verweise auf Nachfolger-Peers im Chord-Ring falsch gesetzt sind. Dieser Fehler wird nicht aktiv, sondern erst während der Stabilisierungsphase von Chord repariert [67]. Weiterhin reduziert sich mit höherem Churn der Instandhaltungsaufwand bei Chord. Durch Churn gehen in Chord Finger und Successoren verloren und werden nicht aktiv repariert. Während der Stabilisierungsphase müssen dadurch weniger Finger auf die korrekte Position überprüft werden, was den Instandhaltungsverkehr reduziert. Dies zeigt den Nachteil passiver Instandhaltungsmechanismen. Zwar erzeugen sie geringeren Aufwand, sie können aber bereits bei normalem Churn zu einer mangelhaften Stabilität führen. Abbildung 8: Stabilität von Chord und Kademlia (Anzahl der Hops und Operationsdauer) Weitere Simulationsergebnisse, präsentiert in [61], zeigen, dass Kademlia grundsätzlich Chord überlegen ist. Trotz der geringeren Kommunikationskosten in Kademlia benötigt es durchschnittlich 35 % weniger Suchschritte pro Primärschlüsseloperation und 66 % geringere Antwortzeiten als Chord. Deswegen konzentrierte sich unsere weitere Forschung an strukturierten Overlays auf Kademlia. In [68] untersuchten wir den Nutzen der Position der Peers im Underlaynetzwerk und modifizierten den iterativen Routing-Algorithmus von Kademlia, um den Interdomain-Verkehr auf der DHT-Ebene zu reduzieren. Evaluationen mit realen Messdaten [53] bestätigten, dass die Berücksichtigung der Ortsinformationen tendenziell auch zu einer Reduzierung der Antwortzeiten führt. Die bisher existierenden Mechanismen zur Reduzierung der Latenzen für die Primärschlüsselsuche dagegen reduzieren den Inter-Domain-Verkehr nicht im gleichen Umfang wie unser Ansatz. Die Schlussfolgerung bezüglich des Designs strukturierter Overlay-Netzwerke ist, dass die Entwurfskonzepte 4, 5 und 6 den höchsten Einfluss auf die Effizienz und Stabilität haben. In hybriden P2P-Overlays wird über die Verwaltung des Identifikatorraums die Heterogenität der Peers berücksichtigt. Deswegen erhalten nicht alle Peers die gleichen Aufgaben. Hybride Ansätze wurden anhand von Gnutella 0.6 und Globase.KOM evaluiert. Die Entscheidung für Gnutella 0.6 erfolgte aus folgenden Gründen: Erstens ist es ähnlich zu den Overlays, die in zwei populären P2PAnwendungen zum Einsatz kommen (KaZaA and Skype). Zweitens ist es interessant zu sehen, in- 15 wiefern die Evolution von einer unstrukturierten (Gnutella 0.4) zu einer hybriden (Gnutella 0.6) Topologie die Leistungsfähigkeit des Overlaynetzwerks verbessert hat. Das zweite untersuchte hybride Overlay Globase.KOM wurde im Rahmen des Arbeitspakets A5 im Hinblick auf die funktionalen und qualitativen Anforderungen der Referenzszenarien A and B entwickelt. Verglichen mit den strukturierten und unstrukturierten Overlays zeigen hybride Ansätze die Fähigkeit, komplexe Anfragen effizient zu beantworten und dabei die Vollständigkeit der Suchantworten zu garantieren. Eigentlich ist zu vermuten, dass aufgrund der unterschiedlichen Aufgaben der Peers in hybriden Overlays die Stabilität and Robustheit mangelhaft sein könnte. Es zeigte sich aber, dass die Dauer zur Wiederherstellung des normalen Systemzustands nach einem Extremlastzustand in hybriden Overlays wesentlich kürzer ausfällt als bei unstrukturierten und strukturierten Overlays. Ein Vergleich der Leistungsfähigkeit der Primärschlüsselsuche in Globase.KOM mit strukturierten Overlays wird in Abbildung 17 vorgestellt. Eine komparative Evaluation von Globase.KOM und Gnutella 0.6 wird aktuell durchgeführt und wird bis zum Ende des Projekts abgeschlossen sein. Hierarchische Overlays ermöglichen es, die Vorteile von unstrukturierten und strukturierten P2POverlays zu kombinieren. Die Peers sind in Clustern organisiert, wobei das Routing und die Topologie innerhalb der Cluster unstrukturiert und zwischen den Clustern strukturiert sein können oder umgekehrt. Solche Ansätze lösen erfolgreich das Problem des Protokoll-Overheads in strukturierten und die unzureichende Skalierbarkeit der Anfragen in unstrukturierten Overlays. Zusätzlich erhöht sich die Effizienz beim Beantworten von komplexen Anfragen und die Lastverteilung verbessert sich, verglichen mit hybriden Ansätzen. Das Design von PeerfactSim.KOM erlaubt eine leichte Kombination von beliebigen Overlays. Es wurden zwei Kombinationen implementiert – Chord-Gia, wobei Chord für das Routing außerhalb von Clustern und Gia innerhalb von Clustern verwendet wurde, und Gia-Chord für die umgekehrte Weise. Hierbei wurde Chord anstelle von Kademlia verwendet, da ein deterministisches Routingverhalten benötigt wird. Die Evaluation hierarchischer Overlays und deren Vergleich mit anderen Overlays wird ebenfalls bis zum Ende des Projekts abgeschlossen sein. 3.3.3 Arbeitspaket A3 - Flexibilität: Kontextbewusstsein Im Arbeitspaket A3 wurde zunächst das Prinzip des Context Toolkits von Armind K. Dey [15] zur allgemeinen Bearbeitung von Kontextinformationen auf P2P-Technologie übertragen. Dies ist technisch mittels eines P2P-Systems möglich. Allerdings entsteht durch die Verwendung eines allgemeinen Kontextverarbeitungstoolkits, in welchem jede Art von Daten eingetragen werden kann, kein gezieltes System zur Verbesserung der Flexibilität von P2P-Systemen. Durch Simulation von bestehenden P2P-Systemen (u.a. CAN [27], Chord [21], Pastry [69], Tapestry [66] und PathFinder [5]) sowie eine Spezialistenbefragung zu dem Bereich Katastropheneinsatz [11] (Szenario A) konnten wichtige Aspekte zur Verbesserung der Flexibilität mittels Kontextinformationen identifiziert und effiziente Lösungen erarbeitet werden. Die Menge der Kontextinformationen wurde geteilt in nutzerzentrierten Kontext und netzzentrierten Kontext. Kontextinformation fällt in den Bereich nutzerzentriert, falls Interaktion mit dem Endnutzer eine Voraussetzung zur Erhebung oder Bearbeitung des Kontextes ist. Im Bereich P2P sind die typischen Nutzerinteraktionen alle Formen der Suchanfragen, wie z.B. Präfix-Suche, komplexe Suche oder 16 Primärschlüsselsuche, auch die Einordnung des Nutzers in seine soziale Struktur (z.B. eine Organisationsstruktur) kann durch Modellierung des sozialen Kontexts erreicht werden. Im Gegensatz dazu benötigt der netzzentrierte Kontext keine Interaktion mit dem Endnutzer. Kontextinformationen können autonom innerhalb des P2P-Netzes erhoben und bearbeitet werden. Typische Informationen sind hier die Anzahl der verbundenen Peers, die Struktur und Konnektivität des Netzwerkes und Ressourcenallokation. 3.3.3.1 Nutzerzentrierter Kontext Im Bereich nutzerzentrierter Kontext wurde eine flexiblere Verarbeitung von Suchanfragen in P2P-Netzen entwickelt. Es existieren zwei Formen von Suchanfragen: Primärschlüsselsuche und „komplexe Suchanfragen“. Je nach Anwendungsgebiet wählt der Anwender ein P2P-Netzwerk, welches für die eine oder die andere Form der Suche optimiert wurde. Diese Kontextab3 2 hängigkeit der P2P-Netze wurde bisher 2 1 entweder einfach hingenommen oder es Target 3 wurden durch die Inverted-Index-Technik 2 2 mit hohem Aufwand komplexere Suchen in DHT-Overlay-Netzen ermöglicht. Eine in1 Origin tegrierte Lösung, welche beide Formen der 2 3 Suche gleichermaßen gut beherrscht, existierte bisher nicht. Abbildung 9: Primärschlüsselsuche in PathFinder Der Forschungsbeitrag ist die Erstellung des Overlay-Netzwerks „PathFinder“[5], welches sowohl komplexe Suchanfragen als auch Primärschlüsselsuche innerhalb eines Netzes effizient ausführen kann. Die Ausführung der unterschiedlichen Suchanfragen im P2P-Netz wird kontextabhängig entschieden. Durch diese Kombination können auch kombinierte Anfragetypen realisiert werden. Eine typische Anfrage nach einem Stichwort wird als Volltextsuche abgesetzt, sobald ein Treffer gefunden wird, kann eine Primärschlüsselsuche alle verfügbaren Replikate lokalisieren. Beide Formen der Suche nutzen den kleinen Durchmesser eines Erdös Renyi Zufallsgraphen, dadurch können Informationen schnell und effektiv gefunden werden. Durch PathFinder wird die Suche nach beliebigen Informationen effizient ermöglicht, Beziehungen zwischen Nutzern eines P2POverlay-Netzwerks werden jedoch nicht explizit durch PathFinder oder andere Overlay-Netzwerke modelliert. Jeder Benutzer befindet sich in einem sozialen Gefüge (z.B. einer Organisationsstruktur) mit definierten Anrufungs- und Anhörungswegen. Dies führte zu der Entwicklung einer DHTbasierten P2P-Organisationsstruktur. In dieser Arbeit wurde die Anwendung DCC [7] (Distributed Command and Control) entwickelt, die hierarchischen Datenzugriff in strukturierten Peer-to-Peer-Netzwerken ermöglicht. Ziel ist es, oberhalb von strukturierten Peer-to-Peer-Netzwerken eine Hierarchie aufzubauen, so dass verteilte hierarchische Datenspeicherung und Zugriff möglich ist. Die hierarchische Datenstruktur kann auch in der Kommunikation von verteilt verwalteten Organisationsstrukturen, wie bei Einsatzkräften im Katastrophenschutz, angewendet werden. 17 Da als Basis strukturierte Peer-to-Peer-Netzwerke dienen, kann die entwickelte Anwendung eine verteilte Hashtabelle als Grundlage benutzen. Mit Hilfe dieser Hashtabelle wird die Hierarchie verwaltet. Das entwickelte System wurde simulativ mit den Overlay-Netzwerken Chord [21], Symphony [42] und CAN [6] getestet [7]. Die benötigte Schnittstelle zu den unterhalb der Anwendung liegenden Peer-to-Peer-Netzwerken ist minimal, es wird nur eine Methode für das Senden an eine ID und das Empfangen benötigt. Daher ist die Anwendung flexibel auf alle Peer-to-Peer-Netzwerke übertragbar, welche schlüsselbasiertes Routing ermöglichen. Die Resultate der Simulationen haben gezeigt, dass es möglich ist, eine hierarchische Struktur oberhalb von strukturierten Peer-to-Peer Netzwerken aufzubauen. Es wird gezeigt, dass bei N Netzwerkteilnehmern der zeitliche Aufwand mit O(log N) skaliert, um die hierarchische Struktur aufzubauen. Abbildung 10: Nachrichtenaufwand zur Verwaltung einer Organisationsstruktur Der linke Teil der Abbildung 10 zeigt den zeitlichen Aufwand zur Erstellung einer Stab-Linen Organisationshierachie. Ein Schritt entspricht durchschnittlich 100ms, d.h. bei einer Gesamtgröße von 1000 Teilnehmern ist innerhalb einer Minute die Organisationsstruktur etabliert. Die vertikalen Linien geben das 95% Konfidenzintervall an. Die Funktionsfähigkeit der Organisationsstruktur ist bei massivem Verlassen der Teilnehmer gewährleistet. Der zweite Teil der Abbildung zeigt den Wiederherstellungsaufwand der Organisationsstruktur bei Verlassen von maximal 20% der Teilnehmer. Die zeitliche Varianz ist hier höher als bei einem sukzessiven Aufbau der Struktur, dennoch ist nach 80 Sekunden das System garantiert wieder einsatzfähig. 3.3.3.2 Netzzentrierter Kontext Als netzzentrierter Kontext wurde für Szenario A ein System für Application Level Multicast (ALM) auf bestehenden strukturierten P2P-Netzen entwickelt [8]. Dadurch ist es möglich zur Laufzeit erhobene Informationen über einzelne Peers, deren Bandbreite, Online-Zeit etc. in definierten Regionen zu verbreiten und Ressourcenallokation durchzuführen. Die Reichweite des ALM kann flexibel gewählt werden und kann nur einige Schritte, aber auch das gesamte Netzwerk umfassen. ALM ermöglicht zusätzlich die Möglichkeit der Präfix-Suche. Bei Wahl einer geeigneten Mapping- 18 Funktion werden nur Bereiche des Netzwerkes angesprochen, welche die Präfix-Kriterien erfüllen [70]. Die Möglichkeit ALM sowohl zum Verbreiten von Kontextinformationen innerhalb des P2PNetzes zu verwenden als auch Präfix-Suche zu ermöglichen, qualifiziert den entwickelten Mechanismus sowohl für netzzentrierten als auch für nutzerzentrierten Kontext gleichermaßen. In Error! Reference source not found. ist ein ALM Baum des entwickelten Algorithmus dargestellt. Die Multicast Nachricht wird von dem grau eingefärbten Peer gesendet. Kein Peer erhält eine Nachricht doppelt, vergleichbare Ansätze verursachen insbesondere im Fall des CAN Netzwerkes unnötige Nachrichtenduplikate [9]. Abbildung 11: Application Level Multicast Baum eines CAN Overlay Netzwerks 3.3.4 Arbeitspaket A4 - Ausgestaltung/Entwicklung von Referenzszenario A Die Arbeit am hier beschriebenen Arbeitspaket beschäftigte sich mit der Entwicklung des Szenarios “P2P-basiertes Kommunikationssystem für den Katastropheneinsatz“, welches in Zukunft FiRe (First Response) genannt wird. Die wichtigsten Ergebnisse lassen sich wie folgt zusammenfassen: Die Anforderungen an ein verteiltes Katastrophenmanagementsystem wurden durch freie Interviews mit Ersthelfern, der Feuerwehr, dem THW und dem DRK erhoben [11]. Bestehende P2P-Overlay-Netze wurden auf Tauglichkeit im Katastrophenfall evaluiert [12]. Es wurde die Simulationsumgebung First Response Communication Sandbox (FRCS) entwickelt [13], welche die physischen Positionen und Bewegungen aller Beteiligten einer Katastrophe simuliert. Diese Simulationsumgebung kann an beliebige Netzwerksimulatoren angeschlossen werden, dadurch wird eine integrierte Simulation eines Katastropheneinsatzes möglich. Dieser ganzheitliche Ansatz wurde in einer Demonstration [14] ebenfalls vorgestellt. Des Weiteren garantiert der DCC Mechanismus [7] die Aufrechterhaltung der Organisationsstruktur und BridgeFinder [10] identifiziert Knoten zur Aufrechterhaltung der Konnektivität in mobilen Szenarien. Folgende Use-Cases wurden für das Referenzszenario A durch freie Interviews mit Ersthelfern, der Feuerwehr, dem THW und dem DRK erhoben [11]: 19 Name Beschreibung Beispiel Broadcast/Multicast Nachrichten müssen an bestimmte Peers gesendet werden, optional mit Bestätigung. Die Einsatzleitung sendet eine Nachricht zur Evakuierung an alle Beteiligten. Shift Change Auftreten von Churn muss bei Schichtwechsel berücksichtigt werden. Feuerwehr-Trupp A beendet die Schicht. Alle Aufgaben und Verantwortungsbereiche werden von Trupp F übernommen. Locality Awareness Ein mobiler Benutzer betritt ein Gebiet und erhält automatisch kontextsensitive Nachrichten. Ein Arzt läuft auf ein Gebäude zu und erhälteine Warnmeldung, das Gebäude nicht zu betreten. Resource Awareness Zusätzliche Hardware wird zur Verfügung gestellt, das P2P-Netz stellt sich darauf ein und nutzt die neuen Ressourcen. Ein Kommunikationstrupp stellt einen neuen Server zur Verfügung, welcher in das P2P- Netz eingegliedert wird. Active Search Suche nach einem Objekt, optional innerhalb einer gewissen Reichweite. Ein Ersthelfer sucht nach dem nächsten zu erreichenden Arzt. Hierarchy Maintenance Die Organisationsstruktur ist strikt hierarchisch aufgebaut und muss bei Eintreffen/Verlassen von Helfern aktualisiert werden. Ein neues Löschfahrzeug trifft am Unfallort ein, die Insassen werden in die Organisationstruktur aufgenommen und können Nachrichten senden/empfangen. Die erarbeiteten Use Cases stellen eine Teilmenge der insgesamt gewünschten Funktionalität dar (Basis Use Cases). Je nach Institution sind zusätzliche spezielle Use Cases erwünscht. Bei der Bearbeitung des Szenarios A wurde Wert auf eine allgemeine Einsatzfähigkeit der erarbeiteten Mechanismen gelegt. Eine spätere Erweiterung der Basis Use Cases ist jederzeit möglich. Die erhobenen Anforderungen dienten als Leitfaden für die entwickelte Katastrophensimulation, den Prototyp als auch für die Entwicklung spezieller Mechanismen, wie z.B. das Application Level Multicast [8] und DCC [7], das System zur Pflege der Organisationsstruktur. 20 Environment Creation Peer Configuration Network Simulation Movement Simulation Analysis and Visualization Abbildung 12: Prozessschritte der FRCS In Abbildung 12Error! Reference source not found. ist der Verlauf eines Simulationszyklus dargestellt. Nach der Erstellung einer für den kompletten Simulationslauf fixen Umgebung werden die Aktoren mit individuellen Attributen ausgestattet. Die darauf folgende Netzwerksimulation und Bewegungssimulation bedingt sich gegenseitig. In der simulierten Netzwerkebene können Nachrichten mit Befehlen generiert werden, welche Auswirkungen auf die Bewegung der einzelnen Peers haben, umgekehrt haben die Bewegungen der Peers Einfluss auf die Konnektivität des Netzwerkes. Diese integrierte Betrachtung ist mit bisherigen Simulatoren nicht möglich. Während des Designs der FRCS wurde gezielt Wert auf eine klare Schnittstelle zwischen allen beteiligten Softwarekomponenten gelegt. Die Ausgabe der errechneten Bewegungsdaten sowie die Steuerung der Simulation kann durch ein beliebiges Programm geschehen, welches die Schnittstelle der FRCS implementiert. Abbildung 13 zeigt einen Ausschnitt einer Simulation, einzelne Peers können u.a. mit individuellen Reichweiten ihres Netzwerkadapters versehen werden (hier in Form eines grünen Kreises dargestellt). Die Erstellung des FRCS in Kombination mit der P2P-Netzwerksimulation ermögAbbildung 13: Graphische Ausgabe FRCS lichte bestehende P2P-Overlay-Netze im Hinblick auf die Einsatzfähigkeit in Katastrophenszenarien zu evaluieren. Bestehende P2P-Systeme wurden systematisch auf Eignung für Katastrophenszenarien evaluiert [12], dies war durch die in Arbeitspaket A2 gesammelte Expertise erst ermöglicht worden. Durch die Heterogenität der beteiligten Ressourcen kann durch geeignete Wahl von Superpeers die Wahrscheinlichkeit des Auseinanderfallens von Netzwerken erheblich reduziert werden. Abbildung 14 zeigt die Anzahl der Cluster bei einer gezielten Auswahl von Superpeers im Gegensatz zu einer zufälligen Auswahl in einem Szenario mit 2000 Teilnehmern. Die beteiligten Peers besitzen unterschiedliche Modellierungen der Onlinezeit. Die Spannbreite wurde maximal auf das 10fache des Basiswertes begrenzt. Bei zufälliger Auswahl kann die Anzahl einzelner Partitionen bis über 400 erreichen, bei einer gezielten Auswahl der Superpeers beträgt die Anzahl circa 1/5. 21 Die Evaluation bestehender P2PNetzwerke, insbesondere in Katastrophenszenarien zeigt, dass eine Partitionierung des Netzwerkes in unverbundene Cluster eine realistische Bedrohung für bestehende P2P-Netzwerke darstellt. Insbesondere in Katastrophensituationen können durch unvorhersehbare Ereignisse große Teile der Verbindungen gestört werden oder komplett ausfallen. Etablierte P2PSysteme haben die Gefahr der Partitionierung ignoriert und somit auch keine Protokolle für eine erfolgreiche Vereinigung eines partitionierten P2PNetzes implementiert. Abbildung 14: Evaluation Overlaynetzwerke bestehender P2P- Um einer bevorstehenden Partitionierung frühzeitig entgegenzuwirken identifiziert BridgeFinder [10] Konnektivitätsengpässe. Diese entstehen durch Clusterbildung innerhalb der beteiligten Kommunikationsgeräte. Durch geographische Gebiete mit einem hohen Anteil an Kommunikationsgeräten entstehen stark verbundene Cluster, welche untereinander jedoch nur leicht vernetzt sind. Innerhalb der Forschergruppe wurden durch BridgeFinder die kritischen Peers der aufgespannten Netzwerktopologie identifiziert. Bisher konnten diese kritischen Stellen des Netzwerkes entweder nur durch lokale Algorithmen bestimmt werden oder durch statistische Hochrechnung aufgrund von Stichprobentests [71]. Die Methode zur Identifizierung kritischer Nodes basiert auf dem Push-Sum [72] Algorithmus, welcher innerhalb der Forschergruppe modifiziert [73] und dadurch auf P2POverlaynetzen nutzbar wurde. Zusätzlich zu der Simulation von Katastrophenszenarien wurde innerhalb FiRe ein Prototyp für Ersthelfer entwickelt. Ziel des Prototyps ist die Ermittlung der Latenzzeiten unter realen Bedingungen. Die Architektur des Prototyps kapselt drei Schichten, welche nach Bedarf ausgetauscht werden können. Es existiert eine Netzwerkschicht, welche Overlay-Funktionalitäten an eine Middleware-Ebene weitergibt. Bisher implementierte Funktionalität der Middleware ist ortsbezogene Suche, Kommunikation per Chat und das Setzen von Tags an bestimmten Orten (Geotagging). Die graphische Oberfläche basiert auf Thinlets, der Prototyp kann dadurch sowohl auf kleineren Geräten (PDAs) als auch auf regulären Desktop-Rechnern eingesetzt werden. Außerdem wurde er im Hinblick auf den Folgeantrag der Forschergruppe entwickelt, er kann dort als realer Peer in die Benchmarking Suite integriert werden. Abbildung 15: Prototype eines FiRe Endgerätes 22 3.3.5 Arbeitspaket A5 – Adaptivitätsmechanismen für die Referenzszenarien Für den Entwurf eines geeigneten Overlay-Mechanismus im Rahmen der Referenzszenarien A und B müssen folgende Fragen beantwortet werden: “Was sind funktionale und nicht-funktionale Anforderungen dieser Szenarien?” und “Sind diese Anforderungen erfüllt durch existierende P2POverlay-Netzwerke?” Abbildung 16: Basisbaumstruktur von Globase.KOM – Vergleich mit RectNet. Ein P2P-basiertes Kommunikationssystem für Katastropheneinsätze muss in der Lage sein, alle verfügbaren Hilfskräfte in einem bestimmten Gebiet zwecks Kommunikation und Koordination schnell und zuverlässig zu finden. In einer kollaborativen global verteilten P2PSoftwareentwicklungsumgebung kommunizieren die Teilnehmer miteinander über große Distanzen, wofür eine effiziente Strategie für die Platzierung von Daten und Verbindungsaufbau im P2POverlay benötigt wird. Analysen haben gezeigt, dass beide Referenzszenarien ein Ortsbewusstsein der Peers im System erfordern. Die Unterstützung für Anfragen basierend auf geographischer Position der Peers, ortsabhängige Anpassung des Speichers und Kommunikation werden nicht durch existierende Overlays unterstützt. Globase.KOM stellt ein Overlay für vollständige ortsbezogene Suche dar, welches zunächst eine Baumstruktur anhand von geografischen Lokalitätsbeziehungen aufbaut, wie in Abbildung 16 dargestellt. Diese Baumstruktur wird durch Verknüpfungen zu einem Expander Graphen erweitert, welcher Robustheit und Stabilität des Overlays gewährleistet. Globase.KOM wurde in [2,3] vorgestellt. Im Vergleich mit anderen verwandten Arbeiten weist Globase.KOM eine vollständige Peer-Lokalisierbarkeit auf, skaliert besser und ist effizienter (siehe Abbildung 16 rechts). Als Funktionen bietet Globase.KOM die Möglichkeit, Peers oder Dienste in einem geografisch bestimmten Ort zu suchen, z.B. vorgegeben durch einen Punkt und einen Radius. Zusätzlich unterstützt das Overlay die Suche nach dem geographisch nächsten Peer. Zusätzlich wurde in Arbeitspaket A2 die Performanz von Globase.KOM als Vertreter hybrider Overlays mit der Performanz der Primärschlüsselsuche von Chord und Kademlia verglichen. Resultate zeigten, dass bzgl. Primärschlüsselsuche Globase.KOM wesentlich besser als Chord und ungefähr gleich gut wie Kademlia ist. Allerdings ist das Underlay-Bewusstsein wesentlich höher bei Globase.KOM als bei Kademlia, was die Operationskosten signifikant reduziert und die Gesamteffizienz (definiert als das Verhältnis einer in definierter Qualität vorgegebener Leistungsfähigkeit zu dem Aufwand) erhöht. Somit ist Globase.KOM bezüglich Skalierbarkeit und Stabilität überlegen. 23 Abbildung 17: Performance-Vergleich der Primärschlüssel-Operationen in Globase.KOM, Chord und Kademlia Im Teilprojekt Effizienz wurden Mechanismen untersucht, mit denen Overlay-Nachrichten eine individuelle Dienstgüte (Verlust- und Latenzprioritäten) zugewiesen werden kann. Der dort entwickelte Mechanismus wurde in Globase.KOM integriert und in einem P2P-basierten Notrufszenario untersucht [74]. Kontaktpartner für Notrufe wurden mit Globase.KOM basierend auf ihrer Nähe zum Anrufenden ermittelt. Ferner erhielten die Notrufe im System die höchste Priorität bzgl. der Latenz, sodass diese am schnellsten durchgestellt wurden. Des Weiteren wurde in [75,76] die Eignung von Globase.KOM für Referenzszenario B untersucht. In Abschnitt 3.6 werden die Vorteile der ortsbezogenen Funktionalität für Referenzszenario B diskutiert. 3.4 Zusammenarbeit innerhalb der Forschergruppe Die Forschergruppe verfasste einen Übersichtsartikel zum Thema Peer-to-Peer und beschrieb die Herausforderungen der verschiedenen Qualitätsmerkmale in P2P-Netzen. Darüber hinaus wurde PeerfactSim.KOM im Rahmen des Arbeitspaketes A1 entwickelt und in der gesamten Forschergruppe genutzt. Regelmäßige Treffen innerhalb der Forschergruppe garantierten die Berücksichtigung aller Anforderungen der einzelnen Qualitätsmerkmale schon während der Designphase. Die Zusammenarbeit mit Teilprojekt Validität ergab ein neuartiges realistisches Netzwerk Modell [53](vgl. Abschnitt 3.3.1). Des Weiteren beeinflusste das Teilprojekt Effizienz maßgeblich die Entwicklung des Simulators, dadurch wurden Fortschritte in unterschiedlichsten P2PMechanismen ermöglicht ([77-79]). Regelmäßige Treffen zur expliziten Identifizierung allgemeiner Metriken in unterschiedlichen Szenarien zur Messung der Qualität in P2P-Systemen führten bereits zur Veröffentlichung ([51,61,80]) relevanter Ergebnisse. Konkrete Zusammenarbeit ergab sich bei der Untersuchung des Gossiping Protokolls Push-Sum. Push-Sum wird innerhalb des Bubble Storm Netzwerks zur Zählung der momentan verbundenen Peers verwendet. Für Szenario A wird eine Push-Sum Variante gewählt, um kritische Knoten innerhalb eines Netzwerkes zu identifizieren. Des Weiteren wird die Performance des Push-Sum Protokolls für verschiedene P2P-Overlay-Netze untersucht und verbessert. Außerdem wurden gemeinsame Beiträge zur Evaluation und Implementierung von Mechanismen sowohl für Referenzszenario A [11-14] als auch Referenzszenario B [75,76,81] erarbeitet. Studentische Arbeiten für beide Referenzszenarien wurden während der gesamten Laufzeit des ersten Förderzeitraumes von einer Vielzahl von Mitarbeitern gemeinsam betreut. 24 Die regelmäßige wöchentliche Vortragsreihe mit den anderen wissenschaftlichen Mitarbeitern der Forschergruppe ermöglichte die Entwicklung des Application Level Multicast Systems und des BridgeFinder Mechanismus. Sehr hilfreich ist auch das P2P-Kolloquium an der TU Darmstadt. Durch die P2P-Forschergruppe gelang es, internationale Forscher einzuladen, welche durch ihre Gastvorträge verwandte Arbeiten vorstellten und die Ausrichtung und Zusammenarbeit innerhalb der Forschergruppe positiv beeinflussten. Durch das gemeinsame Auftreten als Forschergruppe gelang es, gute studentische Abschlussarbeiten in Form von Master-, Bachelor- und Diplomarbeiten zu betreuen. Die Marke „quap2p“ konnte erfolgreich an der TU Darmstadt sowohl unter den Professoren als auch unter den Studenten platziert werden. Dies lag unter anderem an der Webpräsenz www.quap2p.de, einheitlichen quap2p-T-Shirts sowie studentischen Informationsveranstaltungen und Flyern. 3.5 Vergleiche mit Arbeiten außerhalb der Forschergruppe In Bezug auf P2P-Netzwerksimulation zeigt sowohl der Kenntnisstand bei Beginn des Arbeitspakets als auch der heutige Stand, dass bisherige Simulatoren, wie z.B. P2PSim [82], PeerSim [83], Overlay Weaver [84], OverSim [85], in ihrer Architektur nur auf die Modellierung von P2PSuchoverlaynetzwerken ausgelegt sind. Jedoch stellen heutige wie auch zukünftige P2PAnwendungen wesentlich mehr Dienste zur Verfügung, deren Komplexität und Vielfältigkeit sich fortlaufend erhöht. Diese Erkenntnis bestätigt die dringende Notwendigkeit der Entwicklung einer generischen Simulationsplattform, die es erstmalig erlaubt, P2P-Systeme in ihrer Ganzheitlichkeit zu untersuchen [51]. In diesem Kontext ist die Einführung einer Applikationsschicht als besonders wichtig anzusehen, die damit PeerfactSim.KOM ein Alleinstellungsmerkmal, im Vergleich zu anderen Simulatoren, verleiht. Betreffend die Evaluationsmethodik werden existierende Overlay-Mechanismen außerhalb der Forschergruppe in der Regel mittels individuell für die betrachtete Lösung definierter Kriterien und Metriken untersucht. Diese Individualität macht einen Vergleich verschiedener Ergebnisse problematisch, wenn nicht nahezu unmöglich. Eine komparative Evaluation von Overlays ist jedoch nur aussagekräftig, wenn die Alternativen in der gleichen Umgebung (z.B. Peer-Ressourcen, Nutzerverhalten, Churn usw.) und anhand gleicher Metriken evaluiert werden. Es existieren nur einige wenige Arbeiten in dieser Richtung (z.B. [86]), die sich allerdings nicht mit dem Einfluss der Entwurfskonzepte und Qualitätsmerkmalen beschäftigen. Einige aktuelle Studien beschäftigten sich mit Skalierbarkeit und Stabilität in P2P Systemen. Dai et. al [87] untersuchte die Auswirkungen von ortsbewussten P2P-Netzwerken auf die Skalierbarkeit. Ebenfalls wurde die effiziente und skalierbare Nachrichtenzustellung in unstrukturierten Netzwerken betrachtet [88]. Die Verbesserung der Stabilität von P2P-Multicast-Overlays kann außerdem durch Schätzung der Lebenszeit eines Peers erreicht werden [89]. Ortsabhängige Suche in P2P-Netzen wurde bisher hauptsächlich mittels Wiederverwendung existierender strukturierter Overlays realisiert, welche allerdings in der Regel für eindimensionale Primärschlüsselanfragen optimiert sind [90,91]. Diese Lösungen können nicht die Vollständigkeit der Suchergebnisse gewährleisten. Des Weiteren führt eine „Linearisierung“ von Projektionen zweidimensionaler Räume in einen eindimensionalen Raum, welche in der Regel mittels raumfüllender Kurven erreicht wird, zu zusätzlichen Kommunikationsverzögerungen. Andere Ansätze, welche auf 25 verteilten, raumaufteilenden Bäumen [92] oder Modifikationen des CAN-Overlays [93] aufbauen, erzeugen Leistungsfähigkeitsengpässe auf Peers höherer Ebenen, da die Suchnachrichten zu den Peers in der Nähe des Baumwurzel propagiert werden. Eine ausführliche Übersicht und Analyse der verwandten Arbeiten zum Ortsbewusstsein in P2P-Overlay-Netzwerken wurde in [3] vorgestellt. Im Bereich Katastrophenmanagement existieren mehrere Forschungsvorhaben, welche größtenteils orthogonal zu der Arbeit innerhalb der QuaP2P-Forschergruppe zu sehen sind. Ein auf P2Pbasierter Ansatz ist die Arbeit „Integrated peer-to-peer applications for advanced emergency response systems“ [48]. Hier wurde explizit eine P2P-Lösung für die Bedürfnisse von Ersthelfern in Katastropheneinsätzen entwickelt. Allerdings ist der Fokus der Arbeit die Ausgestaltung der Benutzeroberfläche, die Kommunikationsprotokolle und die Skalierbarkeit der Lösung wurden nicht evaluiert. Während der ersten Förderperiode wurde die Arbeit Service Oriented Pervasive Computing for Emergency Response Systems [94] veröffentlicht; Ziel war es hier ebenfalls einen Prototyp zu erstellen, basierend auf der P2P-Kommunikationsplattform JXTA [95]. Die gewählte Architektur des Beitrages beeinflusste maßgeblich den erarbeiten Prototyp FiRe. Auf das P2P-System JXTA wurde jedoch bewusst verzichtet, da XML basierte Nachrichtentypen zum einen negativen Einfluss auf die Performanz haben [96] und zum anderen gewünschte eigene Mechanismen nicht in die API von JXTA integrierbar sind. Die Arbeit von Ying Huang „Requirements and System Architecture Design Consideration for First Responder Systems“ [97] greift die vorgeschlagene Teilung eines Kommunikationssystems für Ersthelfer in mobile und stationäre Komponenten der Homeland Security auf und identifiziert Schlüsselkriterien zur Erstellung einer Kommunikationslösung. Die hier identifizierten Anforderungen bestätigen den gewählten Ansatz eines DHT-Overlay-Netzwerks für stationäre Peers in Kombination mit mobilen Ad-hoc-vernetzten Einheiten. Die Resultate aus BridgeFinder [10], ALM [70] sowie die Simulationsergebnisse aus FRCS [13] und die eigene Anforderungsanalyse [11] genügen den identifizierten Anforderung von Ying Huang und sind bereits zu großen Teilen implementiert und evaluiert. Im Bereich der Flexibilität von P2P-Netzen durch Kontextdaten wurden im ersten Förderzeitraum mehrere Arbeiten zu ortsbewussten P2P-OverlayNetzwerken veröffentlicht [98-100], innerhalb der Forschergruppe wurde der Bereich Lokation im Teilbereich Adaptivität behandelt und Globase.KOM [101] als ortsbewusstes P2P–Overlay-Netzwerk etabliert. Im weiteren Bereich des nutzerzentrierten Kontexts wurden Mechanismen zur semantischen Suche in P2P-Overlay-Netzen vorgestellt [102,103], welche zwar ebenfalls Beziehungen (Kontext) der Benutzer modellieren, sich aber technologisch grundsätzlich von dem Ansatz des DCC unterscheiden. Das Forschungsvorhaben PlaceLab [90] wählt eine ähnliche und einfach zu implementierende Methode, allerdings auf Kosten der Performanz, da PlaceLab strikt auf einem binären Baum basiert. Technologisch ähnlich und mit gleicher Skalierbarkeit ist SOMO [104], allerdings ist das Ziel von SOMO nicht die kontextuelle Modellierung von Benutzerbeziehungen sondern Aggregation und Verteilung von Daten. Im Bereich des netzzentrierten Kontexts entstanden während der ersten Förderperiode mehrere Arbeiten zur Identifizierung kritischer Knoten innerhalb eines komplexen Netzwerks [105-107]; diese Arbeiten verfolgen die gleichen Ziele wie der BridgeFinder Ansatz. Die Beurteilung eines bestimmten Knotens im Hinblick auf seine Wichtigkeit für den Zusammenhalt des Netzwerkes kann durch oben erwähnte Methoden erreicht werden. Eine komplette Betrachtung aller Knoten innerhalb eines Netzwerkes ist durch bestehende Ansätze nur durch sehr hohen Nachrichtenaufwand 26 oder überhaupt nicht möglich. BridgeFinder kann hier durch die Nutzung des PushSum [108] Gossiping Protokolls einen klaren Vorteil erzielen. 3.6 Offene Fragen und Ausblick Ein zukünftiges Ziel für die Erweiterung des Simulators ist es, eine Kommunikationsschnittstelle für bereits existierende Prototypen und die eigentliche Simulationsplattform zu schaffen. Dieser Ansatz schafft einen sehr hohen Detailgrad für die qualitative Analyse von P2P-Systemen, den man aufgrund der inhärenten Abstraktion einer rein simulativen Modellierung nicht erreicht. Es ist jedoch fraglich, inwieweit man die Problematik der Synchronisation zwischen der simulierten Zeit und der in Echtzeit ablaufen Anwendung unter Kontrolle bekommt. Hierbei werden in Zukunft noch viele interessante Forschungsfragen zu beantworten sein. Zum Zeitpunkt der Erstellung dieses Arbeitsberichts wurde eine komparative Evaluation aller im PeerfactSim.KOM implementierten Overlay-Netzwerke mit Hunderten verschiedener Versuchskonfigurationen begonnen. Das Hauptziel dieser Experimente ist ein Vergleich der Skalierbarkeit, Stabilität, Effizienz und Robustheit verschiedener Overlaytypen (unstrukturiert, strukturiert, hybrid and hierarchisch) sowie eine quantitative Auswertung ihrer bilateralen Wechselwirkungen. Damit wird ein erster Schritt zur Beantwortung der Frage geliefert, welches Overlay am besten für welches Anwendungsszenario geeignet ist. Zur endgültigen Beantwortung dieser Frage fehlen allerdings noch weitere Untersuchungen, die in der zweiten Phase der Forschergruppe beantwortet werden sollen. Zudem wurde bislang ein wesentlicher Aspekt beim Einsatz von P2P-Systemen vernachlässigt: das Vorhandensein von Network-Address-Translation-Routern vor den meisten Peers. Dadurch sind diese nicht direkt erreichbar. Die sich dadurch ergebenden Effekte werden bisher von den verwandten Arbeiten weitestgehend nicht berücksichtigt. Zum zweiten wurden bisher keine multilateralen Wechselwirkungen zwischen den Qualitätsmerkmalen untersucht. Hierfür fehlt bislang in der Forschergruppe auch ein geeignetes, einheitliches Vorgehenskonzept. Die Verwendung des ortsbewussten P2P-Overlays Globase.KOM im Referenzszenario B eröffnet eine Vielzahl neuer Anwendungsmöglichkeiten. Die Unterstützung multidimensionaler Suchanfragen wie “liefere alle Dokumente verwandt mit dem Vorgegebenem, welche im Zeitraum zwischen t1 und t2 verändert wurden” kann viele zusätzliche Vorteile für kollaborative Softwareentwicklungsumgebung bedeuten. Das Speichern der für die Arbeit eines Entwicklers relevanten Daten (verschiedene Code-Versionen oder verlinkte Dokumente, wie Design- oder Anforderungsdokumentation) in seiner Nähe kann dabei die Effizienz des Systems steigern. Diese Sachverhalte sollen in der nächsten Projektphase untersucht werden. Zum Zeitpunkt der Erstellung des Arbeitsberichtes wurden für das Referenzszenario A neben der Erhebung relevanter Use Cases und Evaluation bisheriger P2P-Lösungen sowohl eine Testumgebung entwickelt als auch ein kombiniertes hybrides P2P-Overlay. Dieses berücksichtigt mobile Peers durch einen angepassten Ad hoc On Demand Distance Vector (AODV) Routing Algorithmus [109] und bietet statischen Peers die Möglichkeit, eine verteilte Hashtabelle (PathFinder und CAN mit ALM) zum schnelleren Zugriff auf Informationen zu erstellen. Die abschließende Evaluation der Kombination beider Strategien unter Berücksichtigung der Mobilität einzelner Peers wird voraussichtlich bis Ende des ersten Antragszeitraumes erfolgt sein. Im ersten Antragszeitraum wird eine Betrachtung multilateraler Abhängigkeiten der angebotenen 27 Funktionen, welche bei P2P-Netzwerken - insbesondere auch im Katastrophenbereich – auftreten, nicht stattfinden. Multilaterale Wechselwirkungen entstehen bei gleichzeitiger Nutzung mehrerer Funktionen innerhalb eines P2P-Netzwerkes. Gerade im Katastrophenbereich ist es wichtig, Funktionen wie Bildübertragung, Sprachübertragung, Dokumentenverwaltung wie auch Lokalisierung von Gegenständen und Ersthelfern entweder zeitgleich oder zumindest teilweise parallel auszuführen. Die Betrachtung/Untersuchung der Auswirkung und Steuerung mehrerer parallel angebotener Dienste auf die Stabilität und Performanz des gesamten Netzwerkes ist Teil der zweiten Förderphase. 28 4 Literatur [1] PeerfactSim.KOM - Peer-to-Peer Simulator, “http://peerfact.kom.e-technik.tu-darmstadt.de/.” [2] A. Kovacevic, N. Liebau, und R. Steinmetz: Globase.KOM - A P2P Overlay for Fully Retrievable Location-Based Search. In: Proceedings of the Seventh IEEE International Conference on Peer-to-Peer Computing, 2007. [3] A. Kovacevic, O. Heckmann, N. Liebau, und R. Steinmetz: Location Awareness - Improving Distributed Multimedia Communication. In: Special Issue of the Proceedings of IEEE on Advances in Distributed Multimedia Communications , Bd. 96, Nr. 1, 2008. [4] O. Heckmann, M.G. Sanchis, A. Kovacevic, N. Liebau, und R. Steinmetz: A Peer-to-Peer System for Location-Based Services. In: Proceedings of Peer-to-Peer Paradigm (PTPP) Track at AMCIS 2006, 2006. [5] D. Bradler, L. Krumov, J. Kangasharju, und M. Mühlhäuser: PathFinder: Efficient Lookups and Efficient Search in Peer-to-Peer Networks. In: The 28th IEEE International Conference on Computer Communications. [6] W.W. Terpstra, J. Kangasharju, C. Leng, und A.P. Buchmann: Bubblestorm: Resilient, Probabilistic, and Exhaustive Peer-to-Peer Search. In: Proceedings of the 2007 SIGCOMM Conference , 49 60, 2007. [7] D. Bradler, L. Krumov, und J. Kangasharju: Hierarchical Data Access in Structured P2PNetworks. In: (in Submission) 12th Communications and Networking Simulation Symposium , 2009. [8] D. Bradler, J. Kangasharju, und M. Mühlhäuser: Optimally Efficient Multicast in Structured Peer-to-Peer Networks. In: Special Session on Scalable Adaptive Multicast in P2P Overlays, 2009. [9] S. Ratnasamy, M. Handley, R. Karp, und S. Shenker: Application-Level Multicast Using Content-Addressable Networks. In: Lecture Notes in Computer Science , 14-29, 2001. [10] D. Bradler, L. Krumov, J. Kangasharju, und M. Mühlhäuser: BridgeFinder, How to Find Data Bottlenecks in Distributed Environments. 2009. [11] D. Bradler, J. Kangasharju, und M. Mühlhäuser: Systematic First Response Use Case Evaluation. In: Workshop on Mobile and Distributed Approaches in Emergency Scenarios , 2008. [12] D. Bradler, J. Kangasharju, und M. Mühlhäuser: Evaluation of Peer-to-Peer Overlays for First Response. In: Proceedings of the 2008 Sixth Annual IEEE International Conference on Pervasive Computing and Communications, 2008, S. 463-467. [13] D. Bradler, K. Panitzek, I. Schweizer, und M. Mühlhäuser: First Response Communication Sandbox. In: 11th Communications and Networking Simulation Symposium , 115 122, 2008. [14] D. Bradler, J. Kangasharju, und M. Mühlhäuser: Demonstration of First Response Communication Sandbox. In: CCNC'2009 Demonstration Proposals, 2009. [15] D. Salber, A.K. Dey, und G.D. Abowd: The Context Toolkit: Aiding the Development of Context-Enabled Applications. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems: The CHI Is the Limit, 1999, S. 434-441. [16] M. Castro, P. Druschel, Y.C. Hu, und A. Rowstron: Topology-Aware Routing in Structured Peerto-Peer Overlay Networks. MSR-TR-2002-82, Microsoft Research, 2002. [17] M. Kwon und S. Fahmy: Topology-Aware Overlay Networks for Group Communication. In: 12th Workshop on Network and Operating Systems Support for Digital Audio and Video, 2002, S. 127 136. 29 [18] W. Litwin und M. Neimat: LH*S: A High-Availability and High-Security Scalable Distributed Data Structure. In: Proceedings of Research Issues in Data Engineering (RIDE), 1997, S. 141 150. [19] W. Litwin, M. Neimat, und D.A. Schneider: LH*: A Scalable, Distributed Data Structure. In: ACM Transactions on Database Systems (TODS) , Bd. 21, Nr. 4, 480 525, 1996. [20] K. Hildrum, J.D. Kubiatowicz, S. Rao, und B.Y. Zhao: Distributed Object Location in a Dynamic Network. In: Proceedings of the Fourteenth Annual ACM Symposium on Parallel Algorithms and Architectures, 2002, S. 41 52. [21] I. Stoica, R. Morris, D. Karger, F. Kaashoek, und H. Balakrishnan: Chord: A Scalable Peer-toPeer Lookup Service for Internet Aplications. In: ACM Applications, Technologies, Architectures, and Protocols for Computer Communication, 2001, S. 149 160. [22] I. Stoica, R. Morris, D. Liben-Nowell, D. Karger, M.F. Kaashoek, F. Dabek, und H. Balakrishnan: Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications. In: IEEE Transactions on Networking , Bd. 11, Nr. 1, 17 32, 2003. [23] F. Kaashoek und D.R. Karger: Koorde: A Simple Degree-Optimal Hash Table. In: Proceedings of the 2nd International Workshop on Peer-to-Peer Systems (IPTPS03), 2003, S. 98 107. [24] P. Maymounkov und D. Maziéres: Kademlia: A Peer-to-Peer Information System Based on the XOR Metric. In: Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS02), 2002, S. 53 65. [25] V. Darlagiannis: Overlay Network Mechanisms for Peer-to-Peer Systems. TU Darmstadt, 2005. [26] A. Rowstron und P. Druschel: Pastry: Scalable, Distributed Object Location and Routing for Large-Scale Peer-to-Peer Systems. In: IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), 2001, S. 329-350. [27] S. Ratnasamy, P. Francis, M. Handley, R. Karp, und S. Schenker: A Scalable ContentAddressable Network. In: Proceedings of the 2001 SIGCOMM Conference , Bd. 31, Nr. 4, 161 172, 2001. [28] N.J. Harvey, M.B. Jones, S. Saroiu, M. Theimer, und A. Wolman: SkipNet: A Scalable Overlay Network with Practical Locality Properties. In: Proceedings of the 4th USENIX Symposium on Internet Technologies and Systems (USITS '03), 2003, S. 113 126. [29] The Gnutella Protocol Specification V0.4, http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf, 2002. [30] Y. Chawathe, S. Ratnasamy, L. Breslau, N. Lanham, und S. Shenker: Making Gnutella-Like P2P Systems Scalable. In: SIGCOMM, Proceedings of Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, 2003. [31] Q. Lv, P. Cao, E. Cohen, K. Li, und S. Shenker: Search and Replication in Unstructured Peerto-Peer Networks. In: Proceedings of the 16th International Conference on Supercomputing, 2002, S. 84 95. [32] Q. Lv, S. Ratnasamy, und S. Shenker: Can Heterogeneity Make Gnutella Scalable? In: Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS02), 2002, S. 94-103. [33] B. Yang und H. Garcia-Molina: Improving Search in Peer-to-Peer Networks. In: IEEE 22th International Conference on Distributed Computing Systems (ICDCS '02), 2002, S. 5-14. [34] J. Kubiatowicz, D. Bindel, Y. Chen, S. Czerwinski, P. Eaton, D. Geels, R. Gummadi, S. Rhea, H. Weatherspoon, C. Wells, und B. Zhao: OceanStore: An Architecture for Global-Scale Persistent Storage. In: Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, 2000, S. 190 201. 30 [35] B.H. Bloom: Space/Time Trade-Offs in Hash Coding with Allowable Errors. In: Communications of the ACM , Bd. 13, Nr. 7, S.422-426, 1970. [36] S. Rhea und J. Kubiatowicz: Probabilistic Location and Routing. In: Proceedings of the 21st Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2002), 2002. [37] L.A. Adamic, R.M. Lukose, A.R. Puniyani, und B.A. Huberman: Search in Power-Law Networks. In: Physical Review E , Bd. 64, Nr. 046135, 2001. [38] L.A. Adamic: The Small World Web. In: Proceedings of the 3rd European Conference on Research and Advanced Technology for Digital Libraries (ECDL), 1999, S. 443-452. [39] H. Zhang, A. Goel, und R. Govindan: Using the Small-World Model to Improve Freenet's Performance. In: Proceedings of IEEE Infocom, 2002, S. 79-79. [40] I. Clarke, O. Sandberg, B. Wiley, und T.W. Hong: Freenet: A Distributed Anonymous Information Storage and Retrieval System. In: ICSI Workshop on Design Issues in Anonymity and Unobservability, 2000, S. 46-66. [41] E. Bonsma: Fully Decentralized, Scalable Look-up in a Network of Peers Using Small World Networks. In: Proceedings of Systemics, Cybernetics and Informatics (SCI), 2002. [42] G.S. Manku, M. Bawa, und P. Raghavan: Symphony: Distributed Hashing in a Small World. In: Proceedings of the 4th USENIX Symposium on Internet Technologies and System (USITS '03), 2003, S. 127-140. [43] K. Tutschku: A Measurement-Based Traffic Profile of the eDonkey Filesharing Service. In: Proceedings of the 5th Anual Passive & Active Measurement Workshop, 2004, S. 12-21. [44] O. Heckmann, N. Liebau, V. Darlagiannis, A. Bock, A. Mauthe, und R. Steinmetz: From Integrated Publication and Information Systems to Information and Knowledge Environments: Essays Dedicated to Erich J. Neuhold on the Occasion of His 65th Birthday. M. Hemmje, C. Niederee, und T. Risse(Hrsg), 2005, S. 69-78. [45] J. Liang, R. Kumar, und K. Ross: The KaZaA Overlay: A Measurement Study. Polytechnic University, New York, 2004. [46] V. Darlagiannis, A. Mauthe, und R. Steinmetz: Overlay Design Mechanisms for Heterogeneous, Large Scale, Dynamic P2P Systems. In: Journal of Networks and System Management , Bd. 12, 371-395, 2004. [47] M.J. Freedman, E. Freudenthal, und D. Mazires: Democratizing Content Publication with Coral. In: Proceedings of the 1st Symposium on Networked Systems Design and Implementation, 2004, S. 239-252. [48] A.S. Bahora, T.C. Collins, S.C. Davis, S.C. Goknur, J.C. Kearns, T.N. Lieu , T.P. Nguyen, J.S. Zeng, B.M. Horowitz, und S.D. Patek: Integrated Peer-to-Peer Applications for Advanced Emergency Response Systems. Part I. Concept of Operations. In: Proceedings of the IEEE Systems and Information Engineering Design Symposium, 2003, S. 255-260. [49] NS2: Network Simulator 2, Homepage. 2004. [50] K. Fall und K. Varadhan: The Ns Manual. 2000. [51] A. Kovacevic, S. Kaune, P. Mukherjee, N. Liebau, und R. Steinmetz: Benchmarking Platform for Peer-to-Peer Systems. In: It - Information Technology (Methods and Applications of Informatics and Information Technology) , Bd. 49, Nr. 5, 312-319, 2007. [52] V. Darlagiannis, A. Mauthe, N. Liebau, und R. Steinmetz: An Adaptable, Role-Based Simulator for P2P Networks. In: Proceedings of the International Conference on Modeling, Simulation & Visualization Methods, MSV '04 , 2004, S. 52-59. 31 [53] S. Kaune, K. Pussep, C. Leng, A. Kovacevic, G. Tyson, und R. Steinmetz: Modelling the Internet Delay Space Based on Geographical Locations. In: 17th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP 2009), 2009. [54] CAIDA : Home. “http://www.caida.org/home/.” [55] W. Matthews und L. Cottrell: The PingER Project: Active Internet Performance Monitoring for the HENP Community. In: IEEE Commununication Magazine , Bd. 38, 130-136, 2000. [56] B. Cohen: BitTorrent Homepage. http://www.bittorrent.com/ [57] C. Gkantsidis und P.R. Rodriguez: Network Coding for Large Scale Content Distribution. In: INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings IEEE, 2005, S. 2235-2245. [58] K. Pussep, S. Kaune, C. Leng, A. Kovacevic, und R. Steinmetz: Modeling User Behavior in Peerto-Peer Systems. KOM-TR-2008-07, 2008. [59] Exellence in Content Distribution Network Research. “http://www.ist-content.org/.” [60] Motionet AG: Motionet AG. “http://www.motionet.de/typo3/.” [61] A. Kovacevic, K. Graffi, S. Kaune, C. Leng, und R. Steinmetz: Assessing Structured Peer-toPeer Overlays for Network Virtual Environments. In: Proceedings of The Second International Workshop on Peer-to-Peer Networked Virtual Environments in Conjunction with The 14th International Conference on Parallel and Distributed Systems (ICPADS 2008), 2008. [62] K. Aberer, L.O. Alima, A. Ghodsi, S. Girdzijauskas, S. Haridi, und M. Hauswirth: The Essence of P2P: A Reference Architecture for Overlay Networks. In: P2P '05: Proceedings of the Fifth IEEE International Conference on Peer-to-Peer Computing, 2005, S. 11 20. [63] I. Stoica, R. Morris, D. Karger, M.F. Kaashoek, und H. Balakrishnan: Chord: A Scalable Peerto-Peer Lookup Service for Internet Applications. In: Proceedings of ACM SIGCOMM, 2001, S. 149 160. [64] P. Maymounkov und D. Maziéres: Kademlia: A Peer-to-Peer Information System Based on the XOR Metric. In: Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS02), 2002, S. 53 65. [65] RFC-Gnutella 0.6, http://rfc-gnutella.sourceforge.net/. [66] B.Y. Zhao, L. Huang, J. Stribling, S.C. Rhea, A.D. Joseph, und J. Kubiatowicz: Tapestry: A Resilient Global-Scale Overlay for Service Deployment. In: IEEE Journal on Selected Areas in Communications , Bd. 22, Nr. 1, 41 53, 2004. [67] N.C. Liebau: Trusted Accounting in Peer-to-Peer Environments - A Novel Token-Based Accounting Scheme for Autonomous Distributed Systems. Technische Universität Darmstadt, Germany, 2008. [68] S. Kaune, T. Lauinger, A. Kovacevic, und K. Pussep: Embracing the Peer Next Door: Proximity in Kademlia. In: 8th International Conference on Peer-to-Peer Computing (P2P '08), 2008, S. 343-350. [69] A. Rowstron und P. Druschel: Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems. In: IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), 2001, S. 329 350. [70] D. Bradler, J. Kangasharju, und M. Mühlhäuser: Optimally Efficient Prefix Search and Multicast in Structured Peer-to-Peer Networks. TUD-CS-2008-103, Department of Computer Science, Darmstadt University of Technology, 2008. [71] M. Sheng, J. Li, und Y. Shi: Critical Nodes Detection in Mobile Ad Hoc Network. In: Proceedings of the 20th International Conference on Advanced Information Networking and Applications-Volume 2 (AINA'06)-Volume 02, 2006, S. 336-340. 32 [72] D. Kempe, A. Dobra, und J. Gehrke: Gossip-Based Computation of Aggregate Information. In: Foundations of Computer Science, 2003. Proceedings. 44th Annual IEEE Symposium On, 2003, S. 482-491. [73] W.W. Terpstra, C. Leng, und A.P. Buchmann: Brief Announcement: Practical Summation Via Gossip. 2007. [74] K. Graffi, A. Kovacevic, K. Wulffert, und R. Steinmetz: ECHoP2P: Emergency Call Handling Over Peer-to-Peer Overlays . In: International Workshop on Peer-to-Peer Network Virtual Environments (P2P-NVE), 2007. [75] P. Mukherjee, A. Kovacevic, M. Benz, und A. Schürr: Towards a Peer-to-Peer Based Global Software Development Environment. In: Proceedings of the Software Engineering Conference SE2008, 2008, S. 204-216. [76] P. Mukherjee, A. Kovacevic, und A. Schürr: Analysis of the Benefits the Peer-to-Peer Paradigm Brings to Distributed Agile Software Development. In: Lecture Notes in Informatics (LNI) - Proceedings, Series of the Gesellschaft Für Informatik (GI), 2008, S. 72-77. [77] K. Graffi, S. Kaune, K. Pussep, A. Kovacevic, und R. Steinmetz: Load Balancing for Multimedia Streaming in Heterogeneous Peer-to-Peer Systems. In: 18th International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV '08), A.C.M. Press(Hrsg), 2008, S. 6. [78] K. Graffi, K. Pussep, S. Kaune, A. Kovacevic, N. Liebau, und R. Steinmetz: Overlay Bandwidth Management: Scheduling and Active Queue Management of Overlay Flows. In: IEEE Local Computer Networks '07, U.S.A. IEEE Computer Society(Hrsg), 2007, S. 334-342. [79] K. Graffi, A. Kovacevic, S. Xiao, und R. Steinmetz: SkyEye.KOM: An Information Management Over-Overlay for Getting the Oracle View on Structured P2P Systems. In: The 14th IEEE International Conference on Parallel and Distributed Systems (ICPADS'08), 2008, S. 8. [80] K. Graffi, A. Kovacevic, P. Mukherjee, M. Benz, C. Leng, D. Bradler, J. Schroeder-Bernhardi, und N. Liebau: Peer-to-Peer Forschung - Überblick Und Herausforderungen. In: It - Information Technology (Methods and Applications of Informatics and Information Technology) , Bd. 49, Nr. 5, 272-279, 2007. [81] P. Mukherjee, C. Leng, W. Terpstra, und A. Schürr: Peer-to-Peer Based Version Control. In: Proceedings of The Second International Workshop on Peer-to-Peer Networked Virtual Environments in Conjunction with The 14th International Conference on Parallel and Distributed Systems (ICPADS 2008), 2008. [82] P2psim: A Simulator for Peer-to-Peer (p2p) Protocols. “http://pdos.csail.mit.edu/p2psim/.” [83] PeerSim P2P Simulator. “http://peersim.sourceforge.net/.” [84] Overlay Weaver: An Overlay Construction Toolkit. “http://overlayweaver.sourceforge.net/.” [85] The OverSim P2P Simulator - Trac. “http://www.oversim.org/.” [86] J. Li, J. Stribling, T.M. Gil, R. Morris, und F.F. Kaashoek: Comparing the Performance of Distributed Hash Tables Under Churn. In: Proc. of the 3rd International Workshop on Peer-to-Peer Systems, 2004. [87] L. Dai, Y. Cui, und Y. Xue: On Scalability of Proximity-Aware P2P Streaming. In: IEEE INFOCOM Mini-Symposium, 2007. [88] A. Kumar, J. Xu, und E.W. Zegura: Efficient and Scalable Query Routing for Unstructured Peer-to-Peer Networks. In: Infocom, 2005, S. 1162-1173. [89] Y. Tian, D. Wu, G. Sun, und K. Ng: Improving Stability for Peer-to-Peer Multicast Overlays by Active Measurements. In: Journal of Systems Architecture: The EUROMICRO Journal , Bd. 54, Nr. 1-2, 305 323, 2008. 33 [90] Y. Chawathe, S. Ramabhadran, S. Ratnasamy, A. LaMarca, S. Shenker, und J. Hellerstein: A Case Study in Building Layered DHT Applications. In: SIGCOMM '05: Proceedings of the 2005 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, 2005, S. 97 108. [91] S. Zhou, G. Ganger, und P. Steenkiste: Location-Based Node IDs: Enabling Explicit Locality in DHTs. CMU-CS-03-171, Carnegie Mellon University, 2003. [92] D. Heutelbeck: Distributed Space Partitioning Trees and Their Application in Mobile Computing. Fernuniversität Hagen, 2005. [93] H. Wang, R. Zimmermann, und W. Ku: ASPEN: An Adaptive Spatial Peer-to-Peer Network. In: GIS '05: Proceedings of the 13th Annual ACM International Workshop on Geographic Information Systems, 2005, S. 230 239. [94] S. Kalasapur, K. Senthivel, und M. Kumar: Service Oriented Pervasive Computing for Emergency Response Systems. In: Proceedings of the Fourth Annual IEEE International Conference on Pervasive Computing and Communications Workshops, 2006. [95] B. Traversat, A. Arora, M. Abdelaziz, M. Duigou, C. Haywood, J. Hugly, E. Pouyoul, und B. Yeager: Project JXTA 2.0 Super-Peer Virtual Network. 2003. [96] E. Halepovic und R. Deters: JXTA Performance Study. In: Communications, Computers and Signal Processing, PACRIM. IEEE Pacific Rim Conference On, 2003. [97] Ying Huang, Wenbo He, K. Nahrstedt, und W. Lee: Requirements and System Architecture Design Consideration for First Responder Systems. 2007, S. 39-44. [98] L. Galluccio, G. Morabito, S. Palazzo, M. Pellegrini, M.E. Renda, und P. Santi: Georoy: A Location-Aware Enhancement to Viceroy Peer-to-Peer Algorithm. In: Computer Networks , Bd. 51, Nr. 8, 1998-2014, 2007. [99] Y. Liu, L. Xiao, X. Liu, L.M. Ni, und X. Zhang: Location Awareness in Unstructured Peer-toPeer Systems. In: IEEE Transactions on Parallel and Distributed Systems , 163-174, 2005. [100] Y. Yu, S. Lee, und Z. Zhang: Leopard: A Locality Aware Peer-to-Peer System with No Hot Spot. In: R. Boutaba Et Al. (Eds.): NETWORKING 2005, LNCS 3462, Pp. 27-39 , 2005. [101] N. Liebau und R. Steinmetz: Globase. KOM-A P2P Overlay for Fully Retrievable LocationBased Search. In: Proceedings of the Seventh IEEE International Conference on Peer-to-Peer Computing (P2P 2007)-Volume 00 , 87 96, 2007. [102] A. Crespo und H. Garcia-Molina: Semantic Overlay Networks for P2P Systems. Stanford University, 2003. [103] J.X. Parreira, S. Michel, und G. Weikum: p2pDating: Real Life Inspired Semantic Overlay Networks for Web Search. In: Information Processing and Management , Bd. 43, Nr. 3, 643-664, 2007. [104] Z. Zhang, S.M. Shi, und J. Zhu: SOMO: Self-Organized Metadata Overlay for Resource Management in P2P DHT. In: Lecture Notes in Computer Science , 170-182, 2003. [105] M. Sheng, J. Li, und Y. Shi: Critical Nodes Detection in Mobile Ad Hoc Network. In: Aina , Bd. 2, 336-340, 2006. [106] X. Liu, L. Xiao, A. Kreling, und Y. Liu: Optimizing Overlay Topology by Reducing Cut Vertices. In: Proceedings of the 2006 International Workshop on Network and Operating Systems Support for Digital Audio and Video, 2006, S. 1 6. [107] T. Qiu, E. Chan, und G. Chen: Overlay Partition: Iterative Detection and Proactive Recovery. In: Communications, ICC. IEEE International Conference On, 2007, S. 1854 1859. [108] D. Kempe, A. Dobra, und J. Gehrke: Gossip-Based Computation of Aggregate Information. In: Foundations of Computer Science, 2003. Proceedings. 44th Annual IEEE Symposium On, 2003, S. 482-491. 34 [109] C. Perkins, E.M. Royer, und S.R. Das: Ad Hoc On-Demand Distance Vector (AODV) Routing. RFC 3561, July 2003, 2003. 35