Seminar P2P im Sommersemester 2010

Transcription

Seminar P2P im Sommersemester 2010
Seminar P2P im Sommersemester 2010
Teilnehmer des Seminar P2P im Sommersemester 2010
28. September 2010
Veranstalter:
Fachgebiete P2P, KOM, TK, DVS
Fachbereich Informatik
TU Darmstadt
Inhaltsverzeichnis
1 NAT Traversal Techniques von Stephan Arneth
4
2 Trac Models for Multiplayer Games von Maxim Babarinov
10
3 Sybil Resistant DHT von Niklas Büscher
16
4 KI in modernen Computerspielen von Damian A. Czarny
23
5 Reputation Systems for P2P Networks von Alexander Gebhardt
35
6 P2P Gaming Overlays von Christian Glaser
43
7 General Overview on Benchmarking Techniques and Their Applicability for P2P
Systems von Tomasz Grubba
49
8 Safebook Key Management von Felix Günther
55
9 Mobile P2P von Yann Karl
62
10 Survey of Possible Tasks for Articial Life in Large-scale Networks von Denis
Lapiner
68
11 Survey and Denition of Distributed Information Management Systems von
Niklas Lochschmidt
75
12 Peer-to-Peer Business Models von Oliver May
82
13 Analyzing Network Coding for Security Threats and Attacks von Benjamin Milde 91
14 Current Research on Twitter von Philipp Neubrand
97
15 Large-scale Multiplayer Games and Networked Virtual Environments von Leonhard Nobach
104
16 P2P Online Social Networks von Sascha Nordquist
114
17 User Behavior Modeling in P2P Systems von Malcolm Parsons
121
18 A Forgetting Internet von Olga Petrova
128
19 Benutzerverhalten in Online-Social-Networks von Daniel Puscher
134
20 General Overview on Underlay Modelling for P2P Simulators von Christian Rosskopf
141
21 Peer-to-Peer-Botnets: Ein systematischer Überblick von André Schaller
2
149
22 Plausible Deniability von Martin Soemer
160
23 Cloud Computing von Martin Stopczynski
165
24 The Impact of Network Properties on Multiplayer Games von Dimitri Wulert 172
25 P2P Quality Management von Mingmin Xu
3
178
NAT TRAVERSAL TECHNIQUES
NAT Traversal Techniques
Stephan Arneth
der Kommunikationspartner.
Der Benutzer hinter einem NAT-Router hat nach Liu et Pan
[8] bei beliebig verwendeten P2P-Diensten mit geringeren
Geschwindigkeiten zu rechnen. Das hat zwei Gründe.
Zunächst können andere Peers keine Verbindung zum Peer
des betroffenen Benutzers aufbauen, die für eine parallele
Kommunikation verwendet werden kann. Er hat infolgedessen
deutlich weniger Nachbarn als ein Peer ohne NAT und
erhält damit auch eine geringere Bandbreite. Ein weiterer
Grund ist die geringere Uploadgeschwindigkeit gegenüber der
Downloadgeschwindigkeit, die entsprechend der bei Bittorrent
vorhandenen „tit-for-tat“-Strategie, die NAT-Betroffenen noch
zusätzlich bremst. Aus der Einschätzung von Muller et
al. [10] folgt, dass P2P zukünftig weiterhin durch NAT
behindert wird. Das Problem des „NAT Traversal“ wird somit
langfristig bestehen bleiben und damit sind Investitionen für
die Bewältigung dieses Problems lohnenswert.
Zusammenfassung—In dieser Seminararbeit soll das Problem
von P2P-Anwendungen behandelt werden, die mit verschiedenen NAT-Implementationen konfrontiert werden. Aufgrund dieser verschiedenen Implementationen haben P2P-Anwendungen
Schwierigkeiten, ihre Kommunikationspartner zu erreichen.
Hierzu werden die NAT-Grundlagen untersucht, auf den Trend
aktueller Router eingegangen und mögliche Wege für das Traversieren aufgezeigt. Verhaltensbasierte Verfahren wie STUN,
TURN, ALG, Reversal und Hole-Punching werden untersucht.
Zugleich werden kontrollbasierte Verfahren vorgestellt, die das
NAT direkt manipulieren. Letztlich erkennt man, dass zur
Lösung dieses Problems eine Kombination von verschiedenen
Verfahren eingesetzt werden muss und noch weitere Entwicklungen erforderlich sind.
I. E INFÜHRUNG
In den meisten Fällen erhält man vom Internet Service
Provider (ISP) nur eine IP-Adresse. Diese IP-Adresse wird
als öffentlich bezeichnet. Wenn mehrere Rechner auf das
Internet zugreifen möchten, existiert schon ein kleines lokales Netzwerk, bestehend aus diesen privaten Rechnern. Die
privaten Rechner im lokalen Netz erhalten keine öffentliche
IP-Adresse, da diese Menge beschränkt ist. Daraus ergeben
sich zwei Netze, das Local Area Network (LAN) und das
Wide Area Network (WAN), zwischen diesen der Verkehr
vermittelt werden muss. Der Router übernimmt diese Aufgabe
und setzt für die Vermittlung zwischen den beiden Netzen
das Network Address Translation (NAT) ein. Nicht nur im
privaten Umfeld wird NAT eingesetzt, sondern auch in anderen
Subnetzen, um die Zahl verwendeter öffentlicher IP-Adressen
zu beschränken. NAT ist grundsätzlich im Hinblick auf die
Client- / Serverarchitektur zugeschnitten worden.
Hier liegt genau das Problem für P2P-Netze. Peer-toPeer Kommunikation unterscheidet sich erheblich vom
traditionellen Client- / Servermodell. Jeder Peer kann sowohl
als Client und Server auftreten. Das führt zu einem Problem
mit dem NAT-Verfahren. Ein Peer innerhalb des lokalen
Netzes kann zwar problemlos nach außen hin eine Verbindung
aufbauen. Wenn jedoch sein Kommunikationspartner hinter
einem Router liegt, kann er diesen entsprechend ohne
Kenntnis des verwendeten NAT-Verfahrens nicht erreichen.
Grundsätzlich kann festgestellt werden, dass viele der
verwendeten Router neben geschäftlichen auch im privaten
Umfeld generell von außen nicht passierbar sind (vgl. [6]).
Der Autor Muller et al. [10] deutet auch daraufhin, dass
selbst wenn die Adressenknappheit durch IPv6 gelöst wird,
die privaten und Firmen-netzwerke weiterhin NAT einsetzen
werden. Hierfür liegen Gründe in der Privatheit und Sicherheit
bei den Nutzern. Im geschäftlichen Bereich möchte man
auch nicht die Topologie des Netzwerks öffentlich zeigen.
NAT wird somit auch für das Verstecken von internen Hosts
verwendet. Daraus ergeben sich Hindernisse beim Auffinden
Im weiteren Verlauf dieser Arbeit beschäftigt sich Abschnitt II mit dem NAT-Mechanismus. Nach Besprechung der
grundlegenden NAT-Implementierungen werden in Abschnitt
III die Traversal-Techniken untersucht und verglichen. Hierbei
werden verhaltensbasierte (engl. behavior-based) und kontrollbasierte (engl. control-based) Ansätze betrachtet. Nach der
Vorstellung der verschiedenen Verfahren wird am Ende eine
Zusammenfassung und eine Einschätzung über die Problematik gegeben.
II. WAS IST NAT?
Als sich die Problematik der Knappheit an IP-Adressen
im Internet Protokoll Version 4 in den 90er Jahren immer
mehr verdeutlicht hat, soll das Network Address Translation
(NAT) Protokoll eine kurzfristige Lösung darstellen. Es soll
den Druck der immer knapperen öffentlichen IP-Adressen entschärfen. Der NAT Mechanismus ermöglicht die Verwendung
einer einzigen öffentlichen IP-Adresse, die eine Gruppe von
Rechnern verwenden kann. Viele Router im privaten Bereich
setzen dies ein und kodieren im inneren lokalen Netzwerk
die bekannten IP-Adressen der Klasse C (siehe [4]). Nach
außen hin tritt der Router dem Internet als einziger Rechner
in Erscheinung. Infolgedessen ist er als ein Vermittler für
die Zuteilung von Verbindungen zwischen dem privaten und
öffentlichen Netzwerk zu verstehen.
Bei der ersten ausgehenden Verbindung wird beim Router in
der NAT-Tabelle die IP-Adresse mit dem verwendeten Sourceport des internen Rechner gespeichert. Der Router ersetzt dann
in jedem Paket die interne IP-Adresse durch die öffentliche IPAdresse und dem verwendeten Sourceport des Routers. Die
Pakete werden jeweils nach der Anpassung vom Router ins
Internet weitergeleitet. Die Antwort aus dem Internet wird
4
NAT TRAVERSAL TECHNIQUES
vom Router wieder entgegengenommen und wieder für den
internen Rechner zurück auf die private IP-Adresse übersetzt
(vgl. [10]). Wie RFC 3489 [12] jedoch aufzeigt, existieren
vier verschiedene Typen von NAT-Implementationen, die im
Folgenden näher beschrieben werden. Allen gemeinsam ist die
Tatsache, dass für den Sender aus dem internen Netz immer
alle Ziele uneingeschränkt erreichbar sind. Der Unterschied
zwischen den folgenden Typen liegt in der Erreichbarkeit aus
dem externen Netz zum inneren Netzwerk. Zur Illustration
werden die Beteiligten folgendermaßen bezeichnet.
• Peer A (LAN) - L(Adresse:P)
• Router-NAT - R(Adresse:P)
• Peer B / C (WAN) - W(Adresse:P)
a) Full cone: Beim sog. „Full cone“ wird der ausgehende
Internetzugriff nach außen hin auf eine spezifische Portadresse
umgeleitet. Zum Beispiel hat Peer A eine Webseite aufgerufen.
Sein Sourceport ist 31400 und wird L:31400 bezeichnet. Der
Router legt eine Bindung für Peer A und Port 31400 fest.
Dabei verwendet der Router nach außen hin jedoch einen
anderen Sourceport (R:61300) als Peer A. Peer B erhält
infolgedessen die Anfrage von Peer A von der öffentlichen
Adresse des Routers und von Port 61300. Der Router leitet
die darauf folgende Antwort von Peer B an den Client auf
Port 31400 weiter.
Bei diesem NAT-Verfahren ist ein Zugriff von einem anderen
außen stehenden Rechner möglich (siehe Abbildung 1). Wenn
z.B. Peer C auf den Sourceport des Routers zugreift, kann Peer
C auch den Client erreichen.
Peer A
S-Port:
31400
Peer A
Abbildung 3.
4)
Peer C
jeder S-Port
Abbildung 1.
NAT-Typ: Full Cone, [2]
b) Restricted cone: Dieser Typ schränkt den Zugriff von
außen auf die Source IP-Adresse ein. Nur wenn vorher Peer B
von Peer A bereits adressiert worden ist, kann Peer B Peer A
erreichen. Dabei ist der verwendete Port von Peer B nicht von
Bedeutung. Peer A kann Peer B auf Port X aufgerufen haben
und Peer B kann ihm über Port Y antworten (siehe Abbildung
2).
Peer A
S-Port:
31400
1)
Abbildung 2.
NAT
Peer B
Port:
61300
4)
S-Port:
31400
NAT
Port:
61300
3)
Peer C
2)
Peer B
D-Port Peer A
!= S-Port Peer B
1)
3)
Port:
61301
4)
Peer B
Dport Peer A
!= SPort Peer B
2)
Port:
61300
2)
NAT-Typ: Port Restricted Cone, [2]
Peer A
jeder S-Port
3)
3)
NAT
d) Symmetrisch: Das symmetrische Verfahren ist etwas
komplexer (siehe Abbildung 4). Zu Beginn wird die erste
Anfrage von Peer A (L:31500) auf eine Bindung (R:45000)
gesetzt. Diese Bindung bleibt solange erhalten, wie Peer A
über diese Verbindung kommuniziert. Wenn er jedoch eine
andere Verbindung mit gleichem Sourceport und Destinationport zu einem anderen Peer mit anderer IP-Adresse aufbaut, verwendet der Router eine neue Bindung mit anderem
Sourceport (R:X). Dies äußert sich dadurch, dass der NAT
nach außen hin einen neuen Port für die neue Bindung
festlegt. Die Art und Weise des Hochzählens der Portnummern
unterscheidet sich von Router zu Router. Eine Gruppe von
Routern zählt deterministisch hoch. Die Andere verwendet
Sprünge und ist schwer nachzuvollziehen. Der NAT-Router
kodiert grundsätzlich die Verbindungen mit einem 5-Tupel:
Protokoll, Local-IP, Local-Port, Destination-IP, DestinationPort. Das symmetrische Verfahren ist noch komplizierter als
Port Restricted Cone für außen stehende Peers zu durchqueren,
da sie die dynamische Festlegung des NAT-Routers nicht vorhersehen können. Deshalb existieren auch „port-prediction“Ansätze, die jedoch nicht in allen Fällen erfolgreich sind. Dies
begründet sich darin, dass sie ein sprunghaftes fast zufälliges
Hochzählen einiger symmetrischer NAT Implementationen
nicht vorhersehen können (vgl. [8]). Unter „port-prediction“
versteht man das Erraten der vorhandenen NAT-Bindung und
dem dabei verwendeten Port. Bei Feststellung eines gültigen
Ports des NAT Routers kann ein Peer von außen den innerhalb
des NATs befindlichen Peer erreichen.
2)jeder S-Port
Port:
61300
1)
S-Port:
31400
1)
Peer B
3)
NAT
anderen Sourceports werden vom NAT-Router abgewiesen.
Dadurch muss der Aufruf und die darauf erfolgende Antwort
sowohl in Adresse und verwendetem Port übereinstimmen
(siehe Abbildung 3).
Peer C
Abbildung 4.
4)
Peer C
NAT-Typ: Symmetric Cone, [2]
Grundsätzlich ist festzustellen, dass NAT auf die Client-/
Serverarchiktektur zugeschnitten ist. Die verschiedenen Verfahren zeigen auf, dass kein eindeutiger Standard in Bezug
auf NAT existiert. RFC 5389 [11] führt an, dass sich die
aktuelleren Router in die beschriebenen NAT-Klassifikationen
nicht mehr kategorisieren lassen. Sie zeigen vielmehr ein dyna-
NAT-Typ: Restricted Cone, [2]
c) Port Restricted Cone: Zusätzlich zu „Restricted cone“
ist der verwendete Sourceport des außen stehenden Rechners
eingeschränkt. Die Rechnerantwort darf als Sourceport nur
den von Peer A aufrufenden Port (DPort) verwenden. Alle
5
NAT TRAVERSAL TECHNIQUES
mischeres Verhalten und wechseln zwischen diesen Klassifikationen entsprechend der Netzwerklast. Dieser Trend erschwert
das Traversieren von NAT-Routern erheblich.
eine Verbindung zu Client B aufzubauen. Nachdem Client A
die Anforderung erhalten hat, öffnet Client A die Verbindung
zu Client B, auf die Client B daraufhin mit Client A kommunizieren kann. Reversal ähnelt dem im späteren Verlauf
beschriebenen Hole Punching (vgl. [3]).
III. NAT T RAVERSAL T ECHNIKEN
Wie kann die NAT Barriere überwunden werden? Hierfür existieren verhaltensorientierte (engl. behavior-based) und
kontrollorientierte (engl. control-based) Ansätze. Verhaltensorientierte Verfahren haben den Vorteil, dass sie das NAT nicht
verändern. Kontrollorientierte Verfahren verändern dagegen
aktiv das NAT ohne es zu beobachten, um explizit einen Port
für die Kommunikation einzurichten.
A. verhaltensbasierte Verfahren
In diesem Abschnitt werden die verhaltensorientierten Ansätze untersucht. Die Gemeinsamkeit dieser Verfahren liegt
darin, dass zunächst die Art der zwischen den Peers liegenden
NAT-Implementationen festgestellt werden müssen. Im zweiten Schritt wird der erkannte NAT-Typ entsprechend passiert.
1) Relay: Eine ganz simple Methode zur Überwindung
von NAT-Implementierungen ist die Verwendung eines dritten
Relay-Servers, der für die komplette Kommunikation zwischen
zweier Peers vorhanden sein muss (siehe Abbildung 5). Über
diesen Relay-Server wird die komplette Kommunikation abgewickelt. Die Peers haben hierbei keine direkte Verbindung.
Voraussetzung für die Verbindung ist somit die ständige Erreichbarkeit des Relay-Servers. Außerdem ist die Bandbreite
zum Relay-Server für die Peers sehr wichtig. Sonst entwickelt
sich das Relay zu einem Nadelöhr. Das Relay ist jedoch wieder
ein Fallback auf die traditionelle Client/Server-Architektur,
welches das Potenzial von P2P einschränkt.
Abbildung 6.
NAT Traversal mit Reversal, [3]
3) STUN: Das Verfahren „Session Traversal Utilities for
NAT“ (STUN) wird in RFC 3489 [12] und RFC 5389 [11]
beschrieben. In [12] wird das klassische STUN-Protokoll
beschrieben, was die generelle Bewältigung der verschiedenen
NAT-Typen versucht. Eine grundsätzliche Voraussetzung ist
das Vorhandensein eines Servers außerhalb des NAT-Routers.
Der außen stehende Dritte sorgt für die Feststellung der
öffentlichen Adresse der hinter den NAT Routern befindlichen
Peers. Die Peers können nicht von sich aus ihre öffentliche
IP-Adresse sicher feststellen. Zur Illustration des klassischen
STUN-Prinzips dient die folgende Abbildung 7.
10.1.10.1
STUN-Client
192.168.1.1
Abbildung 7.
Abbildung 5.
Request
NAT
STUN-Server
Response:
IP:10.1.10.1
Ablauf STUN-Protokoll
Für die Feststellung der eigenen öffentlichen IP-Adresse
nimmt der STUN-Client Kontakt mit einem STUN-Server
auf. Die Kommunikation erfolgt dabei ausschließlich über das
User-Datagram-Protokoll (UDP). Der STUN-Server erhält die
Anfrage des STUN-Clients mit der öffentlichen IP-Adresse des
STUN-Clients, da der Router das Paket neu adressiert hat. Der
STUN-Server schickt als Antwort die öffentliche IP-Adresse
des STUN-Clients an den STUN-Client zurück. Damit ist dem
STUN-Client die öffentliche IP-Adresse bekannt. Das STUNProtokoll kann somit nur die öffentliche IP-Adresse des letzten
NAT-Routers detektieren, falls der Binding-Request mehrere
NAT Traversal über Relaying, [3]
2) Reversal: Wenn ein Peer direkt mit dem Internet ohne
NAT verbunden ist, gibt es die Möglichkeit die ReversalMethode zu verwenden (siehe Abbildung 6). Als Voraussetzung gilt, dass beide Kommunikationspartner sich vorher an
einem Rendezvous Server S angemeldet haben, damit der
Server die Peers hinter NAT erreichen kann. Dann sendet
Client B die Anforderung über den Server S an Client A um
6
NAT TRAVERSAL TECHNIQUES
NAT-Netze passiert.
Das STUN Verfahren kann mit allen in section II vorgestellten
NAT-Typen bis auf das symmetrische NAT verwendet werden.
Bei symmetrischen NAT hat man das Problem, dass den durch
STUN festgestellten Port und Adresse des NAT-Routers nicht
von anderen Peers genutzt werden. Der symmetrische NATRouter würde die ankommende Verbindung des neuen Peers
abweisen. Somit bringt dem neuen Peer die Information über
eine erfolgreiche Verbindung zu Peer X keinen Mehrwert.
Um den Fall einer symmetrischen NAT-Umgebung zu erkennen, dient folgender Ansatz. Über die Verwendung von zwei
nacheinander abgesendeten Binding-Requests kann der Client
feststellen, ob der Sourceport des NAT-Routers fortlaufend geändert wird. Dies ist ein Erkennungszeichen für symmetrisches
NAT.
4) TURN: Aufgrund der Schwächen von STUN bezüglich
des symmetrischen NATs ist 2005 das Verfahren „Traversal
Using Relays around NAT“ (TURN) herausgearbeitet worden.
Es handelt sich um eine Erweiterung des STUN-Verfahrens.
Bei TURN sind die Allocation-Nachrichten um einige Informationen erweitert. Sie werden bei der Kommunikation zwischen TURN-Client und TURN-Server eingesetzt. In diesen
Allocation-Requests werden zusätzlich Verbindungsinformationen gespeichert, so dass der TURN-Server vom TURNClient Informationen aus dem privaten Netz erhält. Mit Hilfe
dieser Informationen kann der TURN-Server die Verhältnisse
in den NAT-Umgebungen einschätzen. Er kann mit diesen
Informationen auch in bestimmten Fällen ein symmetrisches
NAT bewältigen. Im Fall des symmetrischen NATs achtet der
TURN-Server darauf, dass im Voraus eine Verbindung vom
Ziel zum TURN-Server abgegangen war, damit die Verbindung eines anderen Peers auf die abgegangene Verbindung
umgelenkt werden kann. Diese kombinatorische Leistung setzt
an den TURN-Server enorme Leistung voraus, da er eine
Relay-Funktion inne hat. Deshalb liegt es nahe, dass TURN
erst als die letzte Möglichkeit für NAT Traversal genutzt wird
(vgl. [9]).
5) Application Level Gateway: Der Application Level Gateway (ALG) oder auch Proxy hat eine ähnliche Aufgabe
wie das NAT. Er übernimmt auch eine Stellvertreterrolle und
verteilt Pakete an die angeschlossenen Rechner. NAT wird
im Vergleich auf der dritten OSI-Schicht betrieben und hat
somit keinen Einblick auf den Inhalt der Datenpakete. Der
Gateway ist dagegen auf höheren Schichten implementiert und
hat dadurch die Möglichkeit Datenpakete zu analysieren. Gegenüber den Routern (NAT) kann der Gateway infolgedessen
den Payload (Nutzdaten) von Paketen interpretieren. Er hat
somit die Möglichkeit, zusätzliche Informationen abzulegen
und abzurufen. Aus höheren OSI-Schichten verschachteln sich
mehrere Protokollinformationen und Dateninhalte, die für die
unteren Schichten als Payload interpretiert werden. Aufgrund
dieses Schichtenmodells haben Router auf der dritten Ebene
Schwierigkeiten detailliertere Informationen aus dem Paket zu
erhalten. Der ALG dagegen kann den Payload interpretieren
und ermöglicht die Übersetzung von öffentlichen IP-Adresse
auf private IP-Adressen mit semantischem Hintergrund. Hier
stellt der ALG eine zusätzliche Komponente dar und muss
im Router ebenfalls untergebracht werden. Diese Kombination
wird in RFC 2993 [5] als NAT/ALG klassifiziert. Jedoch ist
diese notwendige hardwaretechnische Anpassung am Router
genau ein Schwachpunkt für die Umsetzung. Sie ist nach Hu
et al. mit Aufwand und Kosten verbunden und daher wenig
attraktiv (vgl. [6], 2.4).
6) Hole Punching: Dieses Verfahren verwendet ebenfalls
einen externen Server für die Herstellung der Verbindungen
zweier Peers ähnlich wie bei STUN. Der Unterschied hierbei ist jedoch, dass Hole Punching die Verbindung durch
keepalive-Messages längere Zeit halten kann. Der Firewall
wird dadurch von innen heraus ein fortwährender Verkehr
simuliert, wodurch die Verbindung von außen nach innen nicht
abbrechen kann. Sie verändert nicht die Konfiguration der
Firewall bzw. Router, sondern erstellt durch simulierte Pakete
einen Tunnel in der Firewall. Hole Punching funktioniert in
den meisten Fällen nur über das Transportprotokoll UDP. Über
TCP kann kein Handshake zwischen den Peers durchgeführt
werden. Insbesondere beim sog. Legacy NAT schlägt der
TCP-Handshake, da diese NAT-Implementierung das NATVerfahren stark abweichend implementiert hat. Der verwendete Relay-Server dient in diesem Fall nur für die Feststellung
der öffentlichen IP-Adressen der beteiligten Peers. Nachdem
die öffentlichen IP-Adressen festgestellt worden sind, kann
das Hole Punching durchgeführt werden (siehe Abbildung 8).
Zuerst öffnet Client A eine Verbindung zu Client B. Diese
Verbindung schlägt zunächst am Router von Client B fehl,
aber der NAT-Router hält auf der Seite von Client A die
Verbindung offen. Client B hat jetzt die Möglichkeit Client
A zu erreichen. Diese Vorgehensweise wird gleichzeitig für
Client A ausgeführt. Ein Problem bei Hole Punching ist
jedoch, dass es kein symmetrisches NAT überwinden kann
(vgl. [3]).
Abbildung 8.
Ablauf Hole Punching aus [3]
7) Kombinierte Verfahren: Die Autoren Wacker et al. [13]
beschreiben ein Verfahren, welches das STUN-Protokoll für
die Feststellung des NAT-Typs von Peers verwendet. Zusätzlich zu dem öffentlichen STUN-Server im klassischen
Internet werden auf P2P-Ebene ebenfalls STUN-Server über
7
NAT TRAVERSAL TECHNIQUES
sog. „superpeers“ erstellt. Damit ist das P2P-Netz unabhängiger von den klassischen STUN-Servern. Nachdem die NATTypen über das STUN-Protokoll festgestellt sind, werden die
geeigneten Traversal-Methoden entsprechend der folgenden
Tabelle I ausgewählt.
2) UPnP: Ein für den Benutzer komfortableres Verfahren
ist, wenn die P2P-Anwendung über Universal Plug and Play
(UPnP) direkt mit dem Router kommuniziert. Die Anwendung öffnet dadurch automatisch einen Port für ankommende
Verbindungen. Damit wird letztlich das Port Forwarding im
vorherigen Abschnitt ausgeführt. Die Anwendung muss jedoch
UPnP unterstützen und der Router muss UPnP unterstützen
bzw. es muss aktiviert sein. Der Router kann allerdings von
jedem Rechner aus dem lokalen Netzwerk über UPnP manipuliert werden. Es ist hierbei herauszustellen, dass UPnP
nicht für NAT Traversal entwickelt wurde. Das Protokoll wird
nur für die Automatisierung verwendet. Der Router kann über
UPnP dem internen Rechner weitere Informationen anbieten.
Wenn die öffentliche IP-Adresse vom Router direkt abgerufen
werden kann, ist das STUN-Verfahren oder andere Feststellungstechniken nicht notwendig (vgl. [1] und [7]).
Tabelle I
T RAVERSAL S ELEKTION , [13]
NAT
Full
Cone
Restricted Cone
Port Restricted Cone
Symmetric
Full Cone
Direkt
Reversal
Reversal
Reversal
Restricted
Cone
Direkt
Hole Punching
Hole Punching
Hole Punching
Port
Restricted
Cone
Direkt
Hole Punching
Hole Punching
Relaying
Symmetric
Direkt
Hole Punching
Relaying
Relaying
Neben dem Vorschlag von Wacker et al. [13] existiert ein
weiteres kombiniertes Verfahren mit der Bezeichnung „NatTrav“ (vgl. [1]), welches speziell TCP Verbindungen als
Basis und Hole Punching für das NAT Traversal verwendet.
Für die Verwaltung ist ein externer Server als „Connection
Broker“ im Einsatz. Die Autoren wollen mit ihrem Vorschlag
die folgenden Anforderungen erfüllen, die nach ihrer Sicht
erforderlich sind:
• Skalierbarkeit
• Standardisierte Schnittstellen (Interfaces)
• Standardisierte Stacks (speziell TCP)
• Sicherheit
• Mobilität
Der Grund für die ausschließliche Verwendung von TCP
statt UDP ist, dass viele Netzwerke UDP nicht zulassen. Die
Verwendung von SSL soll sicherstellen, dass die Peers sich
gegenseitig authentifizieren können.
IV. Z USAMMENFASSUNG UND B EWERTUNG
Die verhaltensbasierten Verfahren haben den Vorteil,
dass sie nicht das NAT an sich verändern. Sie umgehen
die NAT-Blockade durch Simulation einer ausgehenden
Verbindung, die im nächsten Schritt für den ankommenden
Verkehr genutzt wird. Das STUN-Protokoll an sich, stellt
nur die öffentliche IP-Adresse des betroffenen Clients fest.
STUN allein hat somit nur eine informative Komponente. In
Kombination mit Hole Punching kann die P2P-Anwendung
über STUN das NAT überwinden, solange ein symmetrisches
NAT ausgeschlossen ist.
Das angesprochene einfache Relay ist dagegen für alle
NAT-Typen verwendbar. Der Relay-Server muss jedoch den
gesamten Verkehr weiterleiten. Die Peers sprechen in diesem
Fall nur indirekt miteinander. Der Relay-Server steht jedoch
völlig konträr zur Idee von P2P. In diesem Zusammenhang
hat der Relay-Server Ähnlichkeit mit dem TURN-Server.
Sie sind als „teure“ Lösungen im Vergleich zu den anderen
Verfahren zu betrachten.
Der Application Level Gateway (ALG) ist eine Erweiterung
für NAT-Router, um das NAT zu unterstützen. Das ALG ist
als Hardware Erweiterung zu verstehen, da der Router selbst
diese Funktionalität nicht bieten kann. Die Übersetzung am
Router kann mit ALG besser in Zusammenhang betrachtet
werden, da die Verbindung mit ihrem Inhalt betrachtet
werden kann. Der Router auf OSI-Schicht 3 kann nur
einzelne Pakete interpretieren und nur grob abschätzen, wie
sich die Verbindung verhalten könnte. Der ALG dagegen
kann durch die Interpretation des Payloads von mehreren
Paketen die Semantik einsehen und den NAT-Router daraufhin
gezielter justieren. Durch den Einblick des ALGs auf die
Router-Konfiguration kann er auch das symmetrische NATVerhalten besser einschätzen.
Hole Punching ist grundsätzlich die einfachste Methode für
P2P-Anwendungen und ist mit einer P2P-Umgebung am
Besten zu vereinen. Nachdem die öffentlichen IP-Adressen
über STUN festgestellt worden sind, können die Peers über
Hole Punching unabhängig von Dritten miteinander die
Verbindungen aufbauen. Es kann jedoch, wie bereits erwähnt,
nicht symmetrische NATs überwinden.
Das symmetrische NAT-Verfahren wird in der Arbeit von
Wang et al. [14] eingehend untersucht. Hier wird das progressive symmetrische NAT-Verfahren klassifiziert, welches
deterministisch die Portnummern auswählt und als einfacher
einzuschätzen gilt. Das randomisierte symmetrische NATVerfahren verwendet dagegen zufällige Portnummern. Das
STUN-Protokoll wird letztlich um port-prediction-Methoden
erweitert zum sog. PS-STUN.
B. Kontrollbasierte Verfahren
1) Port forwarding: Eine direkte manuelle Manipulation
des Routers ist das Port Forwarding. Der Benutzer muss
hierbei jedoch von Hand einen Port für die ankommende
Verbindung auswählen und im Router einstellen. Im Router
muss in diesem Fall neben dem Port für ankommende Verbindungen auch die Zieladresse im lokalen Netzwerk eingestellt
sein. Dieser Port kann somit nur für einen Rechner im lokalen
Netzwerk genutzt werden. Über den festgelegten Port ist der
lokale Rechner aus dem Internet erreichbar (vgl. [1] und [7]).
Die Router-Konfiguration setzt jedoch einige Kenntnisse voraus, die für die meisten Benutzer nicht vorausgesetzt werden
können.
8
NAT TRAVERSAL TECHNIQUES
Die kontrollbasierten Verfahren greifen direkt in die RouterKonfiguration ein. Sie beobachten nicht vorher das Verhalten
des Routers, sondern erstellen für sich den notwendigen Port.
Das manuelle Port-Forwarding ist aufgrund der notwendigen
Kenntnisse nur von bestimmten Personenkreisen durchführbar.
UPnP ist aus sicherheitstechnischer Sicht kritisch zu
betrachten. Jeder Rechner und jede Anwendung kann für sich
beliebig einen Port für den ankommenden Verkehr einstellen.
Dem Benutzer ist diese Anpassung nicht unbedingt bekannt.
Es existiert keine globale Kontrolle über die festgelegten
Ports. So können auch verschiedene Rechner miteinander im
internen Netz interferieren, wenn Anwendung A den gleichen
Port für den ankommenden Verkehr verwenden möchte wie
Anwendung B. Das sowohl manuelle und dynamische über
UPnP erfolgende Port-Forwarding lässt sich jedoch nicht bei
kaskadierten NATs einsetzen (vgl. [8]). Die P2P-Anwendung
kann nur den im eigenen lokalen Netz vorliegenden Router
beeinflussen. Die außerhalb des eigenen lokalen Netzwerks
befindlichen Router können für die P2P-Anwendung nicht
angepasst werden.
[6] Z. Hu. NAT Traversal Techniques and Peer-to-Peer Applications.
Telecommunications Software and Multimedia Laboratory, Helsinki University of Technology. I, III-A5
[7] Knobloch. NAT Traversal. Seminar P2P WS 2005, Humboldt Universität, 2005. III-B1, III-B2
[8] Y. Liu and J. Pan. The Impact of NAT on BitTorrent-like P2P Systems.
pages 242–251, 2009. I, II-0d, IV
[9] R. Mahy, P. Matthews, and J. Rosenberg. Traversal Using Relays around
NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT
(STUN). RFC 5766 (Proposed Standard), April 2010. III-A4
[10] A. Muller, G. Carle, and A. Klenk. Behavior and Classification of NAT
Devices and Implications for NAT Traversal. IEEE Network, 22(5):14–
19, September 2008. I, II, V
[11] J. Rosenberg, R. Mahy, P. Matthews, and D. Wing. Session Traversal
Utilities for NAT (STUN). RFC 5389 (Proposed Standard), October
2008. II-0d, III-A3
[12] J. Rosenberg, J. Weinberger, C. Huitema, and R. Mahy. STUN Simple Traversal of User Datagram Protocol (UDP) Through Network
Address Translators (NATs). RFC 3489 (Proposed Standard), March
2003. Obsoleted by RFC 5389. II, III-A3
[13] A. Wacker, G. Schiele, S. Holzapfel, and T. Weis. A NAT Traversal
Mechanism for Peer-To-Peer Networks. 2008 Eighth International
Conference on Peer-to-Peer Computing, pages 81–83, September 2008.
III-A7, I, III-A7
[14] Y. Wang, Z. Lu, and J. Gu. Research on Symmetric NAT Traversal in
P2P applications. International Multi-Conference on Computing in the
Global Information Technology - (ICCGI’06), 00(c):59–59, 2006. III-A7
V. FAZIT
Aufgrund der diversen NAT-Implementationen existiert kein
alleinstehendes NAT-Traversal Verfahren, was alle Formen
bewältigen kann. Das Problem hierbei ist, dass kein exakter
Standard für NAT von den Herstellern verfolgt wird. Die
Router weisen ein dynamischeres Verhalten auf, wodurch die
besprochenen NAT-Typen abwechselnd zum Einsatz kommen.
Die NAT Implementationen unterscheiden sich nicht nur von
Hersteller zu Hersteller, sondern auch von Modell zu Modell
(vgl. [10]). Leider wird es zukünftig nicht absehbar sein, dass
NAT grundsätzlich abgelöst wird. Selbst wenn IPv6 eingeführt
wird, ist zu erwarten, dass NAT weiterhin zur Abtrennung
von lokalen Netzwerken eingesetzt wird. Die ursprünglich
als kurzfristig angesehene Zwischenlösung zur Bewältigung
der IP-Adressenknappheit hat sich im Alltag des Internets
manifestiert. Um dieses Problem aufgreifen zu können, müssen mehrere NAT-Traversal-Techniken verwendet werden. Das
TURN-Verfahren kann zwar die meisten aller auftretenden
Fälle bewältigen. TURN benötigt jedoch enorme Ressourcen.
Zuerst wird die Verwendung von STUN empfohlen, um die
einfachsten NAT-Implementieren durchqueren zu können und
dann erst die aufwändigeren Verfahren wie TURN einzusetzen.
L ITERATUR
[1] J. Eppinger. TCP Connections for P2P Apps: A Software Approach to
Solving the NAT Problem. Technical Report CMU-ISRI, pages –05–104,
2005. III-A7, III-B1, III-B2
[2] Knocke et al. Wie funktioniert Network Address Translation (NAT)? Kategorien, 2007. 1, 2, 3, 4
[3] B. Ford, P. Srisuresh, and D. Kegel. Peer-to-Peer Communication Across
Network Address Translators. In USENIX Annual Technical Conference,
page 179–192, 2005. 5, III-A2, 6, III-A6, 8
[4] V. Fuller and T. Li. Classless Inter-domain Routing (CIDR): The Internet
Address Assignment and Aggregation Plan. RFC 4632 (Best Current
Practice), August 2006. II
[5] T. Hain. Architectural Implications of NAT. RFC 2993 (Informational),
November 2000. III-A5
9
TRAFFIC MODELS FOR MULTIPLAYER GAMES
Traffic Models for Multiplayer Games
Maxim Babarinow
II. G AME AND TRAFFIC MODEL CLASSIFICATION
Abstract—Recently, a number of studies have been conducted
in the field of traffic modeling for network multiplayer games.
However, new hardware, software, and architectures have been
proposed for network games. For example, peer-to-peer technology was introduced to replace client-server architecture to
reduce the impact of single-point-of-failure. On the one hand,
there is a need for developing benchmarks, generating realistic
workloads, to validate these techniques. On the other hand,
Internet Service Providers (ISPs) should be able to estimate the
amount of traffic caused by network games to improve their
architectures. Following a brief introduction and a presentation
of measurement methodologies, this work presents a classification
of traffic models. State-of-the-art low-level traffic models are
categorized and the most important results are presented. The
goal of this work is to help researchers and ISPs in the
development of game traffic generators to evaluate promising
approaches for providing low-latency gaming environments.
There are a very large number of commercial network
games in different game genres and a variety of papers on the
modeling of game traffic. For the classification and comparison
we use the game classification and results presented in [9].
The traffic of various game genres varies depending on client
hardware, game architecture and other factors [3], [9]. One
of the main conclusions from the study in Lakkakorpia [9]
is that in general, action games, simulators, and real time
strategy (RTS) games produce real time traffic while turn
based strategy games produce non-real-time traffic. Based
on this knowledge, the traffic models presented for action,
simulators and RTS games can be summarized as a single
category. Further research [2], [15], [7] analyzed traffic of
Massively Multiplayer Online Role Play Games (MMORPGs).
The research shows that there are key differences between
MMORPG traffic and other game genres. Based on this fact,
we introduce a second category, the MMOGs.
• Action, simulators, and real time strategy (RTS)
games. This class of games requires short reaction
times by the player. Thus, such games are especially
sensitive to network characteristics and generate realtime traffic [9]. Games in this category generally contain
virtual characters or avatars moving in real time virtual
environments. Examples: Quake III, Halo 2, Half-Life,
Need for Speed, or Starcraft.
I. I NTRODUCTION
Internet multimedia traffic is increasing rapidly due to
the growth in popularity and prevalence of interactive
applications such as video-conferencing, streaming media
and network games [12]. By the introduction of multiplayer
games on the Internet, network games received a high boost
in popularity, since they attract millions of users who are
playing simultaneously in virtual worlds. Interactive network
games are now generating a significant part of today’s Internet
traffic and pose one of the most profitable businesses on the
Internet. Analyzing this kind of traffic is highly interesting
for Internet Service Providers (ISPs), manufacturers and
researchers.
•
Interactive gaming has a higher need for real time performance than other real-time applications. The requirement of
quality of service (QoS) for such traffic is stricter than for
voice or video applications that require roundtrip delays of less
than about 300 ms [17]. Game players found that the difference
between 50 and 150 ms delay can determine who wins or loses
the game [1]. This knowledge forces game players to choose
an Internet Service Provider (ISP) that is offering the best
performance. ISPs in turn respond to this demand by providing
support for high-quality gaming environments. The supply of
this support may lead to better customer retention or even new
revenue streams [18]. In order to improve their infrastructure
for this kind of traffic, ISPs must have detailed knowledge
of the network load generated by games. Currently, due to
the motivational factors we described, there are a number of
convenient traffic models. They are created by analyzing a
number of different popular games. These models permit the
evaluation of hardware and software for low-latency gaming
environments.
Massively Multiplayer Online Role Playing Games
(MMORPGs). MMORPGs describe a fast-growing game
genre and belong to the most popular games among
network gamers. They attract millions of people who
are playing simultaneously and are populating virtual
worlds. MMORPGs (Massively Multiplayer Online Roleplay Games) are a special role playing genre extension to MMOGs (Massively Multiplayer Online Games).
MMORPGs and FPS (First Person Shooter) games both
generate small packets and require low bandwidths
[2]. On the other hand, the traffic characteristics of
MMORPGs are different from the well established FPSs
[15]. MMORPGs, such as World of Warcraft (WoW),
Lineage I & II or Shen Zhou Online, use a different type
of protocol and have other limitations and requirements
to the network.
III. M ETHODOLOGY
A. Measurement methodology
Different multiplayer games offer different connectivity options. Internetwork Packet Exchange (IPX) games are played
over LANs, while TCP/IP games can be played either over
LANs or the Internet [1]. In some of the analyzed games,
10
TRAFFIC MODELS FOR MULTIPLAYER GAMES
the game server can be run in dedicated or non-dedicated
mode [13]. Most games are built as client-server applications [5]. In this setting, clients are communicating and coordinating with a central server. The server keeps track of the
global game state and passes game state information to each
client. Clients synchronize their local state with the server
by using the packets they receive and they return packets
containing player movement and status information [4]. Tools
such as Tcpdump1 , Etheral2 (a network protocol analyzer),
pkthisto3 (packet traffic analysis program) and other network
packet sniffers like Commview4 can be used to capture and
analyze game network traffic. When the traffic of a game
server cannot be measured (e.g., in World of Warcraft, a
popular MMORPG), it is assumed that the received packets
at client level are server traffic, and transmitted packets are
client traffic [13].
with a brief explanation. In this section we will renounce on
introducing goodness-of-fit tests such as Chi-square (χ2 ) and
Kolmogorov-Smirnov (KS) since, as we mentioned before,
they do not lead to acceptable results.
•
Extreme Value distribution:
f (x) = 1b e−
x−a
b
e−e
− x−a
b
b>0
This distribution is commonly used for modeling
the smallest or largest value in a large set of identically
distributed values. Here, a is a location parameter and b
is a scale parameter. Cumulative distribution of ’Extreme
Value distribution’ is given by:
F C (x) = e−e
•
B. Characterization and validation methodology
x−a
b
Power Lognormal Distribution:
p
−logx p−1
f (x, p, σ) = ( xσ
)φ( logx
x, p, σ > 0
σ )(Φ( σ ))
The goal in the development of traffic models is to achieve
a reasonable match with the observed data but also to find a
balance between accurate modeling and performance (simulation execution speed) [11]. Borella [1] found that traditional
goodness-of-fit tests such as Chi-square (χ2 ) and KolmogorovSmirnov (KS) often fail and do not lead to acceptable results.
This assumption was validated in numerous other publications
[11] [9]. These tests are biased towards large or "messy" data
sets, as well as data that exhibits significant autocorrelation
[1]. Instead of determining a data set’s fit to a specific model,
a common approach is to determine the discrepancy between
empirical data and the mathematical model. The discrepancy
is measured using a metric λ2 that returns a non-negative
magnitude [14]. For a value of 0, there is no discrepancy
at all. Discrepancy is significant if λ2 > 1.0. The smaller
the discrepancy, the better the model [9]. Various distribution
functions are used for modeling packet length and packet interarrival time. A promising approach providing less discrepancy
is to model a data set for a particular part with a split
distribution [9]. This approach also provides an estimator λ̂2
to measure the discrepancy in case data is grouped. Quantilequantile (Q-Q) plots are commonly used to visually compare
and display the quality of a model.
Deploying a large number of network game clients with
variable network conditions is expensive and therefore difficult
[3]. However, the provided traffic models can be used in
combination with network simulation tools, such as NS-2 5
to develop traffic generators [6], [10], [11], [18].
1) Distribution functions: For a mathematical description a
distribution function and its parameters have to be chosen to fit
the empirical data. Commonly used distributions are: normal,
extreme value, deterministic, exponential, power lognormal
or even complex gamma function. In this section, two of
these most commonly used distribution functions are presented
This equation can be used with parameters provided in
the citations of this work for matching the packet size
distribution in various games. Cumulative distribution
function of ’Power Lognormal Distribution’ is defined
as follows:
p
F C (x, p, σ) = 1 − (Φ( −logx
σ )) x, p, σ > 0
IV. T RAFFIC M ODELS
Traffic modeling for games can be categorized into low
or high level driven traffic models. Low level traffic models
are based on attributes like packet sizes, packet inter-arrival
times (amount of time between the arrival of one packet and
the arrival of the next packet) and data rates (in packets and
bits per second) [1], [6], [3]. High level approaches generate
workload by modeling user behavior.
Tan et al. [16] present a Network Game Mobility Model
(NGMM) for First-Person-Shooter (FPS) games. They state
that there is a growing need to develop more realistic
models than the low level approaches, since low level traffic
models fail to address application level aspects of network
game traffic. However, the NGMM model cannot be applied
or generalized for other game genres like MMOGs. The
behavior of users in this genre can vary drastically, leading
to irregular traffic which is unique to MMORPGs [2]. Since
the complexity of high level models compared to low level
approaches is significantly higher, a detailed discussion of
high level models would exceed the context of this paper.
An alternative approach is to consider in-game behavior
for the low-level traffic model presented in [13]. This work
primarily discusses low level traffic models but also presents
a promising approach [13] by combining in-game behavior
with low level traffic modeling.
1 http://www.tcpdump.org/
2 http://www.ethereal.com/
3 http://caia.swin.edu.au/genius/tools/pkthisto/
4 http://www.tamos.com/products/commview/
5 http://www.isi.edu/nsnam/ns
11
TRAFFIC MODELS FOR MULTIPLAYER GAMES
V. ACTION , S IMULATORS AND R EAL T IME S TRATEGY
(RTS) GAMES
Borella [1] presented a traffic model for Quake I and
Quake II. Other traffic models for Quake II are presented
in [11] and [13]. The authors of [4], [5], [6] present traffic
models for Half-Life. A traffic model for Counter-Strike and
Starcraft is presented in [3]. In [10] a traffic model and characterization is presented for the Xbox console game Halo 1
and in [18] for its successor Halo 2. More traffic models for
different game genres are presented in [9].
•
A. Packet size
•
Server to Client. The packet size sent from server
to different clients strongly depends on the number of
players participating in the game [11], [18]. Figure 1
shows how the packet size corresponds to the number
of players in Quake III. For every player, a certain
amount of data has to be sent from server to client to
synchronize their gameplay. Therefore, the packet size
is directly dependent on the number of players [5].
Different maps can also influence the packet length [6]
but only to a lesser extent than the number of players [11].
distribution plus a negative exponential function for every additional player [11]. This model is, however, not
useful for higher packet lengths over 200 Bytes. Other
studies [4] , [1] , [18] use the extreme value distribution
which fits best for Half-Life, Quake II and Halo 2 server
packet lengths. In [18], different parameters are presented
depending on the number of players.
Client to Server. Packet lengths from Quake III and
Half-Life are almost independent of all observed parameters (number of players, map type, client hardware) [11]
[6]. Each Client sends packets with nearly the same size.
Packets in Quake III have a more limited range from 50 to
70 Bytes [11] whereas the packet size in Half-Life ranges
from 60 to 90 Bytes [6]. Half-Life packet size presented
in [4] varies around a mean of 82 Bytes where 99 percent
of all packets range between 60 and 110 Bytes. Figure 2
shows an aggregated packet length plot. The packet length
is as previously introduced independent of all parameters.
The peaks in the packet length log that occur at random
time intervals may represent a short idle time [6].
Fig. 2.
Fig. 1.
Half-Life - all clients to server packet lengths [6]
Quake’s mean packet size is about 23 Bytes and can
be well-modeled deterministic [1]. Median packet sizes
for Starcraft are about 120 Bytes and for Counter-strike
about 160 Bytes [3]. Regarding Halo 2, the packet size
depends on the number of players on a single client and
can be modeled as a linear function [18]. All other traffic
models confirmed that there is no dependency from the
number of players. Our assumption is that this finding
relates to the Xbox architecture of Halo 2 which differs
from common FPS games architectures, since many other
studies approved that client to server packet size is mostly
independent of all observed parameters.
Quake III - packet length vs. number of players [11]
In Half-Life, the packet length is wide spread and ranges
from 60 to 300 Bytes. Most packets are between 140
and 180 Bytes [6]. The mean packet size for CounterStrike presented in [4] is 127 Bytes and 160 Bytes in
[3]. The Quake III mean packet length is 77 Bytes [1]
and in the case of Starcraft it amounts to 120 Bytes [3].
Overall, the average packet sizes are much smaller than
the typical Internet traffic packet size of more than 400
Bytes. The packets are usually very small because they
contain mainly movement and status information [4].
A Lognormal distribution with different parameters can
be used to find out a fitting packet length. In [6],
parameters presented for Half-Life are considering different maps. The packet length in Quake III with a
two player game can be modeled with a Lognormal
B. Packets per Second (PPS) and data rates
•
12
Server to Client. The PPS rate in Quake III varies
slightly between 19 and 20 packets per seconds and the
packet transmission rate is almost constant. One packet
update per client occurs approximately every 50 ms [11].
Almost the same value was observed in the traffic-model
TRAFFIC MODELS FOR MULTIPLAYER GAMES
•
of Half-Life [6] where the PPS rate varies between 16
and 16.5 packets per second. Approaching the capacity
of 22 players in Counter-strike, the server has a packet
rate of around 800 packets per second and hovers around
900 Kbits per second [5]. The data rate (Kbits per second)
depends on the PPS rate and packet length [6].
Client to Server. The author of [4] assumed that as
slower client machines require more processing time for
rendering, their packet rate is lower. This assumption has
been confirmed by [11], [1], [4]. The packet per second
rate of individual clients depend on the graphic card and
the map played [11]. The PPS rate in Half-Life varies
from 22 to 24 packets and mean data rate is about 13
Kbits per second [6]. The bandwidth used by clients in a
2-players Starcraft game is around 600 Bytes per second.
Each pair of players adds about 1500 Bytes per second
of data and can be modeled as a linear function [3].
The average bandwidth in Counter-Strike is around 2800
Bytes per second [3].
C. Packet inter-arrival times
•
•
Server to Client. Inter-arrival times of Counter-strike,
Half-Life and Quake III servers are very steady [4],
[6], [11]. Grenville et al. [6] show that there is a low
dependency of the map played. Generally, the map or
number of clients connected to a server have no influence
on inter-arrival times as shown in Figure 3 [11], [13].
Every 60 ms (Half-Life) [6], 50 ms (Quake III) [11],
[13] or 62 ms (Counter-Strike) [4] one update packet is
sent to clients.
Packet inter-arrival times can be modeled with fixed
time intervals depending on the map played [6]. Another
approach is to ignore the type of map and model interarrival times by a complex gamma distribution [11], or
an extreme value distribution [1], [4], to use mixtures
of various distributions (normal, extreme, deterministic,
exponential) [9] or to approximate with a simple spike at
a constant value [11].
Client to Server. The client inter-arrival time is independent on the number of players. If the number of clients
increases, the mean of packet inter-arrival time of all
clients are similar [13]. The packet transmission from the
different clients is strongly dependent on the graphic card
and rendering software used [11], [6]. Client’s graphic
cards and the map played influence the traffic characteristics. Modern graphic systems with more memory
and faster graphic processing chips send more packets
per second than machines with old graphic cards [11].
Various parameters and distribution functions for multiple
game genres can be extracted from Lakkakorpia and c.o.
study [9].
Fig. 3. Quake III - Probability Density Function (PDF) of packet interarrival times for server and client considering number of players and in-game
behavior [13]
called ShenZhou Online. Both traffic models are developed
for 2D games. Interestingly, comparing mostly the same game
in 2D and full-3D graphics (Lineage I and Lineage II), leads
to different bandwidth consumptions [8]. Motivated by this
fact, traffic characterization and models for Lineage II, the
successor of Lineage I, which features full-3D graphics is
presented in [8]. Papers focused on traffic patterns generated
by the popular MMORPG World of Warcraft (WoW) are presented in [15] and [13]. The key characteristics of previously
discussed online game traffic are that all of them have small
and highly periodic UDP packets. However, most MMORPGs
exchange messages using TCP packets due to their client
server structure and connection management convenience [7].
A. Bandwidth Consumption
The tendency of down and uplink bandwidth consumption
can be analyzed during a traffic measurement period. It was
observed that at weekdays, the bandwidth in Lineage II
oscillates between 20 Mbps and 100 Mbps [8]. The highest
consumption was found on holidays [15] with up to more
than 140 Mbps in Lineage II [7]. Low packet rate and small
payload of MMORPGs like Shen Zhou Online [2] lead to
low bandwidth requirements to play this type of game. Nearly
all connections consume less than 8 Kbps when TCP ACKs
are considered. This usage is much lower than the average
40 Kbps needed by Counter-Strike [2]. This surprising result
might stem from the players behavior in these two different
types of games. Players behavior in MMORPGs is relatively
VI. M ASSIVELY M ULTIPLAYER O NLINE ROLE -P LAYING
G AMES (MMORPG S )
In [7] the authors present a traffic model for Lineage
(popular MMORPG). Authors of [2] proposed a analyzed
an extensive traffic trace for a popular Korean MMORPG
13
TRAFFIC MODELS FOR MULTIPLAYER GAMES
slow-paced compared to FPS games but on the other hand the
bandwidth consumption is comparable to the online RTS game
Warcraft III [2].
The bandwidth of downstream packets in Lineage II [8]
is substantially larger than that of upstream packets. This
disparity is much bigger than in Lineage I. It was found out
that the asymmetry between upstream and downstream traffic
is significant. This is caused by the different graphical representation of Lineage II and Lineage I. Svoboda et al. compared
their analyzed traces with a video record concluding that high
peaks in downlink correlate with high environment interaction.
This raises the question how the number of users impacts on
bandwidth. It was found that the correlation between number
of users and bandwidth is linear (see Fig. 4) [7], [8]. This
finding is a result from the structure of common MMOGs
since not every client’s message to the server is broadcast.
Messages are forwarded only to a small group of users who
are near to the sender or in the same area [7].
II traffic analysis shows that aggregate packet inter-arrival
times are dependent on the number of concurrent users [8].
Most packets (99 percent) arrive in 270 microseconds. This
is shorter than in Lineage I with 2 ms. This difference is
caused by concurrent user number, game structure and full3D graphics in comparison of Lineage II [8] to Lineage I. The
model for inter-arrival of WoW does not exactly correspond to
the empirical distribution but can be best modeled for server
and client as normal distributions [13]. Same problems with
matching observed data was observed in Lineage I traffic best
matching model was Extreme Value Distribution.
Fig. 4.
Network games attract millions of people and they are
generating a significant part of today’s internet traffic. The
increasing popularity of such interactive applications leads to
the introduction and development of new hardware, software
and architectures. These techniques have to be validated to
provide low-latency gaming environments. A promising approach is to develop benchmarks for validation and evaluation
of quality of service (QoS) aspects in respect to games.
However, the question rises how realistic workloads can be
generated. This work presented an overview over the most
recent traffic measurement methods, characterization and low
level traffic modeling of popular multiplayer games. Low
level traffic models are introduced to generate workload. The
main research results are that traffic of various game genres
can depend on client hardware, game architecture and other
factors. In general, we can classify the traffic based on realtime requirements of different game genres. But also, we have
to introduce a separate category for MMORPGs because of
their special traffic characteristics. On the one hand, Action,
Simulators and RTS games require short reaction times; they
generate real-time traffic and are especially sensitive to network characteristics. On the other hand MMORPGs require
low-bandwidth consumption; they generate small packets and
have very long-tailed session durations. The most significant
effect of 3D-based MMORPGs (Lineage II) compared to 2D
D. Comparison of MMOG traffic with other game genres
MMORPGs game pace is slower than FPS games, so the
inter-arrival times of server and client of World of Warcraft are
longer than in the case of Quake III [13]. In games like FPS,
RTS, and FTG (Fighting Games), during a game, players must
be always active or they will be defeated. In MMORPGs and
other adventure-oriented games players do not need to "play"
all the time [2], so they spend a lot of time in a idle state or
are communicating over the in-game chat functionality with
other players. Non-RPG games are mostly round based. Hence,
the session time is very short in comparison to MMOGs. The
analysis of session duration of Lineage II shows the big impact
[8]. The observed average session duration is 183 minutes [8].
The distribution of session durations is heavy-tailed, meaning
that the average rate is mostly generated by ’addicted’ users
who play more than 80 hours during the measurement period.
The average playing time of Lineage II is much higher as the
average time about 49.68 minutes [7].
VII. C ONCLUSION AND F UTURE W ORK
Correlation between number of users and bandwidth [7]
B. Packet lengths
BY empirically analyzing Lineage I, it was shown that the
smallest packets have no data at all and just 40 Bytes of header.
These are pure control packets such as SYN, ACK and FIN
[7]. The average client to server packet size is about 49 Bytes
and server to client about 76 Bytes [7]. The client packet size
in Shen Zhou Online without the TCP/IP header amounts to
about 40 Bytes. The server packet sizes have a much higher
distribution with an average payload size of 114 Bytes [2].
As previously discussed, server packets are containing data
about multiple players. Especially in MMOGs, the server
sends packets not containing the data of all players but only
of players that are in the player’s close environment. Lineage
I packet size can be best modeled with a Power Lognormal
Distribution [7].
C. Packet Inter-arrival Times
When a player does not play the game, inter-arrival time
of the server is more than 200 ms. When the player is in
a battle, server and client transmit more packets to each
other and the inter-arrival time is the shortest [13]. Lineage
14
TRAFFIC MODELS FOR MULTIPLAYER GAMES
MMORPGs (Lineage I) is the asymmetry between upstream
and downstream traffic. Different measurement methods, various setups and different parameter analysis make it complicated to compare the presented studies. Consequently, the need
for the development of a standard in the measurement of game
traffic will arise. In most of the presented traffic models ingame behaviors were mentioned but ignored in their traffic
models. Future experiments about other game genres or types
of network games should rise to the challenge of including
in-game behavior for low-level traffic models. The presented
results and studies can be used as a basis for future benchmark
development.
[18] Sebastian Zander and Grenville Armitage. A traffic model for the
xbox game halo 2. In NOSSDAV ’05: Proceedings of the international
workshop on Network and operating systems support for digital audio
and video, pages 13–18, New York, NY, USA, 2005. ACM. I, III-B, V,
V-A, V-A, V-A
R EFERENCES
[1] M. S. Borella. Source models of network game traffic. Computer
Communications, 23(4):403 – 410, 2000. I, III-A, III-B, IV, V, V-A,
V-A, V-B, V-C
[2] Kuan-Ta Chen, Polly Huang, and Chin-Laung Lei. Game traffic analysis:
An mmorpg perspective. Computer Networks, Nov 2006. II, IV, VI,
VI-A, VI-B, VI-D
[3] Mark Claypool, David LaPoint, and Josh Winslow, editors. Network
Analysis of Counter-strike and Starcraft. In Proceedings of the 22nd
IEEE International Performance, Computing, and Communications Conference (IPCCC), pages 261-268, Phoenix, Arizona, USA 2003. II, III-B,
IV, V, V-A, V-A, V-B
[4] Johannes Färber. Network game traffic modelling. ACM, New York,
NY, USA, 2002. III-A, V, V-A, V-B, V-C
[5] Wu-chang Feng, Francis Chang, Wu-chi Feng, and Jonathan Walpole.
Provisioning on-line games: a traffic analysis of a busy counter-strike
server. In IMW ’02: Proceedings of the 2nd ACM SIGCOMM Workshop
on Internet measurment, pages 151–156, New York, NY, USA, 2002.
ACM. III-A, V, V-A, V-B
[6] Tanja Lang Grenville, Tanja Lang, Grenville Armitage, Phillip Branch,
and Hwan yi Choo. A synthetic traffic model for half-life. In in
Australian Telecommunications, Networks and Applications Conference
(ATNAC, 2003. III-B, IV, V, V-A, V-A, 2, V-B, V-C
[7] J. Kim, E. Hong, and Y Choi. Measurement and analysis of a massively
multiplayer online role playing game traffic, August 2003. II, VI, VI-A,
4, VI-B, VI-D
[8] Jaecheol Kim, Jaeyoung Choi, Dukhyun Chang, Taekyoung Kwon,
Yanghee Choi, and Eungsu Yuk. Traffic characteristics of a massively
multi-player online role playing game. In NetGames ’05: Proceedings
of 4th ACM SIGCOMM workshop on Network and system support for
games, pages 1–8, New York, NY, USA, 2005. ACM. VI, VI-A, VI-C,
VI-D
[9] J. Lakkakorpia, A. Heinerb, and J. Ruutuc. Measurement and characterization of internet gaming traffic. Research Seminar on Networking,
February 2002. II, III-B, V, V-C
[10] T. Lang and G. Armitage. A ns-2 model for the system link game halo.
Australian Telecommunications Networks and Applications Conference
(ATNAC), 2003. III-B, V
[11] Tanja Lang, Philip Branch, and Grenville Armitage. A synthetic traffic
model for Quake3. ACM, New York, NY, USA, 2004. III-B, V, V-A,
1, V-A, V-B, V-C
[12] Mingzhe Li, Mark Claypool, Robert Kinicki, and James Nichols. Characteristics of streaming media stored on the web. ACM Trans. Internet
Technol., 5(4):601–626, 2005. I
[13] HyoJoo Park, TaeYong Kim, and SaJoong Kim. Network traffic analysis
and modeling for games. Internet and Network Economics, pages 1056–
1065, 2005. III-A, IV, V, V-C, 3, VI, VI-C, VI-D
[14] S.P. Pederson and M.E. Johnson. Estimating model discrepancy. In
Technometrics 32, pages 305–314, 1990. III-B
[15] P. Svoboda, W. Karner, and M. Rupp. Traffic analysis and modeling for
world of warcraft, June 2007. II, VI, VI-A
[16] Swee Ann Tan, William Lau, and Allan Loh. Networked game mobility
model for first-person-shooter games. In NetGames ’05: Proceedings
of 4th ACM SIGCOMM workshop on Network and system support for
games, pages 1–9, New York, NY, USA, 2005. ACM. IV
[17] International Telecommunication Union. One way transmission time.
Technical report, Recommendation G.114, February 1996. I
15
SYBIL RESISTANT DHT
Sybil resistant DHT
Niklas Büscher
Peer-to-peer systems often use a multi-hop routing and so a
large number of malicious nodes increases the probability to
have a malicious node within a path between honest nodes.
Our main focus in this paper is how to resist this routing
problem.
Abstract—Distributed Hash Tables (DHTs) are often exposed to
an attack, in which an adversary introduces many false identities
to the DHT network, called sybil attack. These malicious nodes
increase the influence of an attacker and undermine the peer-topeer structure, which leads to a malfunctioned system. We give
a short overview of the different types of solutions to resist this
attack and then concentrate on two of them. We discuss their
theoretical potential and promises in contrast to their usability
and real feasibility.
The following sections in this paper provide an overview
of solutions to the sybil attack. In Section II we will give an
introduction on DHTs and online socials networks. Section III
follows with a description the Sybil attack and the possible impacts on DHT. Then in section IV we will give a classification
of solutions to this attack and sections V and VI will go into
a more detailed discussion of these solutions. In section VII
we will conclude our overview on the sybil attack and give an
outlook on further research.
I. I NTRODUCTION
Many systems on the internet are vulnerable to an attack,
in which an adversary creates a lot of malicious identities,
called sybil attack. The attacker as a single entity, creates
many identities to interact with the attacked systems. The
probably most common victims are voting and reputation
systems. If one single attacker submits a huge number of
votes to one poll, he influences the voting results. In 2009 the
Time magazine1 started an online vote, to ask who are the
most influencing persons in 2009. The most voted persons
are unknown persons, leaded by a pseudonym moot. A few
internet users from 4chan2 , an image board, found a way
to submit more than one vote and so they submitted many
millions of votes with just a few physical entities. The online
service of the time magazine could not decide which physical
entity has already voted and which not and so they accepted
many millions of virtual identities belonging to the same
users.
It is also possible to undermine many reputation systems by
creating many false identities, who influence the reputation
process for the needs of an adversary. Most common examples
are Googles Page Rank or the reputation systems of the
online stores like Ebay or Amazon, where an attacker decries
products of his competitors or increases the rating of his own
products.
II. BACKGROUND
A. Distributed Hash Tables
Distributed hash tables (DHTs) are part of many structured
peer-to-peer systems. The DHTs provide a lookup structure
like it is known from hash-tables. Out of a black-box view,
a DHT system provides two functions, one to save or put a
pair (key, data) on the network and one to retrieve the data
associated with a given key. Every node has a responsibility
for a range of keyvalues and to save the associated data. The
goal is to divide the keyspace into uniform parts, so that
every participating node has the same amount of work to do.
The responsibility for maintaining the mapping from keys to
values is distributed among the nodes. This allows DHTs to
scale with extremely large numbers of nodes.
An example of a DHT peer-to-peer system is the Chord
network [8]. It has the characteristic features of a DHT
and is used as a base for our later view on the solutions
of the sybil attack. We first take a look at the structure of
the Chord network and the implemented routing process.
Chord nodes organize themselves in a ring structure [fig
1], In a well functioned network, each entering node looks
up its own position in the ring, depending on the own
ID (e.g. ID = H(u)) and then contacts or creates links
to its successors. This should guarantee that all nodes are
reachable. To increase the efficiency of this structure, each
node keeps a table of fingers to other node. These fingers
are carefully chosen around the ring, so lookups can be done
in a very fast way without many hops. The goal is to reach
an exponentially distribution of fingers around the ring to
offer a lookup in O(log (n)). So short jumps could be done
in detail but also longer jumps could be done very fast. As
said before the saved data is associated with a key, derived
from the hash function H. Each node has a responsibility for
the keys (and the associated data) next to its own ID. The
The reliability of any distributed network depends on
the reliability of each single node. If an attacker could gain
access to many false nodes or create numerous malicious
nodes he has an influence on the networks behavior. There
are many ways to influence and disturb peer-to-peer systems
with the usage of a huge number of controlled nodes. One
example is, that an attacker could start flooding the whole
network by sending many nonsense requests from his many
malicious identities. This stops or slows the routing and
information exchanging process, because many honest nodes
have to work for the multiple false identities and do not have
many resources left to work for the honest nodes. Another
main problem is the vulnerability of the routing process.
1 www.time.com
2 www.4chan.org
16
SYBIL RESISTANT DHT
creates many (virtual) identities to increase its influence.
As described in the introduction, the sybil attack occurs in a
large number of domains, but we focus on the sybil attack
on DHTs. The reliability of a DHT network depends on the
reliability of each single node. If an attacker gains access to
many false nodes or creates numerous malicious nodes he will
have an influence on the DHT networks behavior. There are
at least two different targets for an attacker. On the one hand
there is the saved data in the DHT, which can be manipulated
or deleted by an attacker. And on the other hand there is the
routing process which can be disturbed. The distribution of
the sybil nodes has consequences for the possible attacks. In
Chord, a region full of sybil nodes in the chord network has a
large influence on the data saved in the region, but the impact
on the rest at the ring structure and the routing process is
another than fairly distributed sybil nodes.
Looking at the attacks on the routing process, a sybil attacker
can start flooding the whole network by sending many nonsense requests from his malicious identities to stop or to slow
the routing and information exchanging process of the peer-topeer network. Another attack with the usage of many malicious
sybil nodes concerns the routing process of the honest nodes.
If a honest node searches another node or content on the
peer-to-peer overlay, depending on the routing process of the
DHT network, the node will look up into its hash-table to
get the next hop (depending on the routing protocol). If the
next hop is a false node, the false node will have at least two
possibilities to disturb the routing of this honest node. At first
it just can simple stop forwarding the request to the next closer
node to the goal node. Depending on the routing protocol, the
honest node has to wait until the time out is reached and then
has to continue requesting the next node. Depending on the
percentage of the false nodes to the whole network, the routing
process will take a long time, because the honest nodes will
hit many false nodes. Another possibility of the sybil attacker
is to disturb the routing process is, that every malicious node
replies a routing request with a link to another malicious node,
controlled by the adversary. So the honest node is sent from
malicious node to malicious node. This behavior is known
as the "wild goose chase" and the attacking nodes are called
Byzantine adversaries.
In the next chapter we will classify known solutions for sybil
attack against the routing process in DHT networks.
Fig. 1.
The routing structure of the Chord network.
http://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Chord_network.
png/250px-Chord_network.png
typical lookup strategy of a node starts with a lookup in the
own successor and finger table, for the node which is closest
to the target node. Then the node sends a request to this
chosen finger, which replies with the requested data or has
to recursively forward the request until the queried node is
found. This standard lookup procedure is called a multi-hop
closeness routing [1]. In typically DHTs there are two ways
to do a multi-hop lookup. One is called the iterative way and
the other is the recursive way. An iterative lookup requires
more initiative from the querying node but offers more
control about the routing process. The querying node requests
its fingers for the next possible hops and then continues
with querying the next hop itself. This is in contrast to the
recursive way, where the fingers are their selves responsible
for forwarding the request.
B. Social Networks - Bootstrap Graph
A (online) social network service provides possibilities for
persons and institutions to build up a digital representation
of parts of their physical world relations. These virtual
representation forms a well connected network graph out of
the virtual identities and the links between these contacts.
A bootstrap graph is the initial situation for the routing
process in peer-to-peer systems [1], [7]. A online social
network can be used as a bootstrap graph. This bootstrap
approach offers the possibility to find a probably honest route
from node to node, because online social networks (should)
reflect trusted physical relations.
IV. OVERVIEW OF SOLUTIONS
There are many ways to classify solutions for the sybil
attack [6] on DHT. It already starts with the different types
of DHT systems and many DHTs implement different routing
protocols and organizing structures. Other ways to classify
the solutions are by system type and environment(structured,
unstructured, routing protocol . . . ), by means, by costs and
possible other classes. Furthermore the solutions can be
divided into two different types of solutions, recognizing the
attack and prevention or reaction on this attack.
Our main focus is set on the prevention and robustness of the
routing process, given a structured DHT peer-to-peer network.
III. S YBIL ATTACK
The name sybil attack was introduced by Douceur [3], [4],
based on a novel about the multiple identities of the main
character Sybil. There is not any formal definition of the sybil
attack, but it is clearly stated [1]–[3], [5], [10], that the sybil
attack is described with the phrase, that one physical entity
17
SYBIL RESISTANT DHT
So we decided to differentiate between two main classes of
solutions.
by Chris Lesniewski-Laas [1], [5] but have a different idea.
The first solution builds a one-hop DHT with random walks
through the social network and derives a probabilistic model
to ensure a small lookup failure rate. The second solution uses
an opposite multi-hop approach. The main idea behind this
approach is to avoid too much trust into any node. Therefor
this approach records the usage of every finger and maintains
so called trust-profiles for every node. Both solutions show
good simulations results, but have critical assumptions of
the social network, which will be shown in the next section
besides a detailed description of both solutions.
Another mentioned solutions in a survey of solutions for
the sybil attack are trusted devices [6]. This is a hardware
based solution which ensures, for example via cryptographic
functions, that the using entity has only a single identity. We
will not take this approach into any further consideration,
because this hardware devices are not very common in
consumers computers.
A. Architectural keeping
The first group uses existing structures and does not need
any architectural redesign, in contrast to the second group,
which requires architectural changes and new structures. The
solutions of architecture keeping group, can be used for many
existing DHT networks, without changing the DHT network
or bootstrap approach. The solutions in the first group are
flooding and resource testing. The flooding approach is rather
a theoretical than useful strategy in large DHTs to prevent the
routing process against the sybil attack. Flooding the whole
network with routing requests is to expensive in the number
of messages, but a querying node will reach all connected
honest nodes. So flooding is only useful in small networks,
and we will not take a deeper look into it.
Resource testing was mentioned as a useful approach [6] to
fortify the sybil attack. Resource testing can be described as
a stresstest for testable and bounded resources. The main idea
behind resource testing is, the assumption that one physical
entity has only a limited access to number of resources like
IP-addresses or CPU-time. The resource testing approach can
further be divided into two classes, the one time resource
testing class and the continuous resource testing, called
recurring costs. But Douceur [3] has proven, that resource
testing is not feasible under usual conditions. The next section
offers more details on the feasibility of resource testing.
All solutions of both groups have advantages and
disadvantages depending on the requirements of the user.
Section VII summarizes this dis- and advantages and the next
section takes a deeper look into the proof of the unfeasibility
of resource testing and section VI follows with a detailed
description of the most promising distributed, social network
approaches.
V. USELESS RESOURCE TESTING ?
As described, resource testing tries to find out, whether
every new node, introduced to the peer-to-peer network, is
a own physical entity with computational or bandwidth resources. This can be done by checking the IP-address of each
node and disallowing duplicates. Another way of resource
testing is to check the computational power of each node,
with small computational puzzles like bruteforcing hashes.
Besides the disadvantages of testing resources, which are
power consumption for CPU puzzles and disallowing users
behind a NAT3 , this is not the main problem of resource
testing. John R. Douceur [3] has proven, that resource testing
is very inefficient to prevent the sybil attack.
He introduced a very simple and formal model to set up four
lemmas and to prove them to show up that resource testing is
not quite useful. His model of a peer-to-peer network is made
of three parts [fig 2]:
• A set of infrastructural entities
• A cloud which offers broadcast communication
• A pipe connecting an entity to the cloud
Nodes send messages through the pipe to the broadcasting
cloud to communicate with other nodes.
He differs between entity and identity. An entity is a physical
connected unit, which can present one or even more identities
to the peer-to-peer network. In a network without any central
server, each entity accepts only identities that it could identify
itself or identities which are accepted by other identities who
vouch for the new identity. We do not want to go into detail,
B. Architectural extending
The second group of solutions requires architectural
changes or further means to provide a sybil resistant DHT
network. One of the probably most mentioned solutions in
this group is the use of a central authority, who controls the
access to the DHT. Every node has to register itself to the
central authority or central server. So there is some check
between the central authority and each node. This can be
done by the well known means like email verification or
identification via identity cards. The central authority certifies
the presented identities and every node has to present its own
signed identity to other nodes. This solution shows apparently
perfect results in the presence of a strong central authority
[6]. But the main problem of this solution is the need for
a central server, which is not very common in peer-to-peer
systems and decreases the advantages of distributed systems.
Another problem is the strength of this solution, because
it depends on the strength of the authorization process of
the central server. Many CAPTCHAs do not resist a long
time against computational attacks, and there is also the
possibility to get access to many email accounts. Hence the
sybil problem returns from peer-to-peer to the strength of
single authorization process.
There is another class of architectural extending approaches,
which makes use of social networks or bootstrap graphs. The
next section gives a detailed description of two solutions
based on a social network. Both solutions are introduced
3 Network Address Translation, computers behind a router share a public
internet IP address.
18
SYBIL RESISTANT DHT
an attacker has the possibility to register new identities to
the social network and to build up contacts between these
identities. But they also assume, that the attacker nodes
convinces only a small number of honest nodes to build up
a social link between attacker and honest node. So there are
only a few links from honest nodes to malicious nodes. These
links between honest and false nodes are called attack links.
Although an attacker can introduce many more malicious
nodes behind these attached point.
A. One-Hop DHT, probablistic approach
Fig. 2.
The first presented solution solves the Byzantine Dissidents Problem in a DHT network with a probabilistic onehop routing protocol. The Byzantine Dissidents Problem was
mentioned in the beginning as the wild goose chase. It is
introduced by Chris Lesniewski-Laas [5] and the basic idea
is to use the assumptions on the social network to decrease
the lookup failure rate. The approach builds up its own onehop DHT, although it is based on the SybilLimit system [9].
To understand this solution it is not necessary to describe the
SybilLimit system. The social network is used to construct a
finger table for every node. The underlaying social network
has n honest nodes with m undirected edges connecting them.
The social network should be fast mixing. The mixing time is
a measure for the radius of honest node in the network. Every
random walk with the length d from a node k should result in
an uniform distribution of honest end nodes. The network is
known as fast mixing if d = O(log
√ n). Every node constructs
its routing table with r = Θ( m log m) entries. Each entry
is an endpoint of a random walk with the length d, starting
with nodes, where a social link exists. These endpoints of the
random walks are called fingers. Every node in the network
constructs its own routing table with r fingers by initiating
these r random walks.
Lesniewski-Laas estimates the probability of a random walk,
n
without hitting a false node, of a length d with O( g log
n ).
Where g is the number of attack edges in the social network. This probability is called the escape probability and he
assumes, that g should be bounded by o( logn n ), this limits
the escape probability to o(1). So his work is based on
the assumption that the attacker could not create more than
o( logn n ) attack edges, and we will get back to this later on.
The routing algorithm is not very complex. Every source node
s, which searches for a target node, broadcasts the target
identifier t to all its fingers fi . He assumes in his paper, that
at least Ω(r) fingers of s are honest, and at least one of the
fingers of the honest fingers has the target t in its routing table.
The probability that the target is in any of the honest sources
fingers is Ω(r)
m , remind m is the number edges between honest
nodes. Following this statement, the probability for failing the
1
request results in pf ail = O( m
). So this protocol provides a
good probability phit = 1 − pf ail to find the target, without
getting misleaded by a false node.
Lesniewski-Laas also shows up some improvements in his
paper on his protocol to reduce the traffic of the sent messages.
As described, the protocol begins with the broadcast from node
Formal model of distributed environment. [3]
but exemplary show how the proof is done. The first lemma
Douceur presents, shows that even with severely resource
constraints, a false entity can register a constant number of
different identities to the network in the direct validation
process:
Lemma 1: If p is the ratio of the resources of a faulty entity
f to the resources of a minimally capable entity, then f can
present g = bpc distinct identities to local entity l. [3]
The proof is quite obvious, but this first lemma shows one
problem with resource testing. If the amount of the tested
resource differs from entity to entity, there must be a minimal
lower bound of needed resources capacities. And every entity
with more resources can present g = bpc identities to other
entities.
The other three lemmas show, that each entity has to validate
simultaneously all identities it is presented. Else an attacker
can register a large or even unbound number of false identities.
They also show, that a sufficiently large set of false entities
can register an unbounded number of identities by vouching
for themselves. And at last they show up, that all nodes must
perform their identity validations at the same time to resist a
multiple identity registration.
These lemmas and proofs leads Douceur to the statement, that
at sybil resistant resource testing approach needs has to fulfill
the following requirements: [3]
• All entities operate under nearly identical resource constraints.
• All presented identities are validated simultaneously by
all entities, coordinated across the system.
• When accepting identities that are not directly validated,
the required number of vouchers exceeds the number of
systemwide failures.
These are requirements, which probably cannot be fulfilled
in any practical distributed system. Douceurs model is kept
very simple, but it can easily transported to other peer-to-peer
systems and demonstrates the weakness of resource testing.
VI. B OOTSTRAP BASED DHT ROUTING
Both solutions in the following paragraphs are based on
a bootstrap graph, as described in II. Both confirm, that
19
SYBIL RESISTANT DHT
TABLE I
S UMMED UP OVERVIEW TO FORTIFY THE SYBIL ATTACK
Name
Requirements
Central Server
Central Server, Authorization process, Certifying
Resource Testing
All entities have identical resources, all presented identities are
validated simultaneously by all entities.
One-Hop sybil-proof DHT
Multi-Hop trust based routing
Success
The strength against any sybil attack is reduced to the strength of
the central server. A good authorization process results in good resistance.
Works under perfect conditions.
Initial bootstrap graph
Fortifies
very
well
against
o(n/ log n)
attack
edges.
Decreases
very
fast
above
o(n/ log n) attack edges.
Continuous social network
Routing is still possible with many
attack edges.
s to all fingers to lookup
up the target. This would result
√
in at least r = Θ( m log m) messages. Lesniewski-Laas
suggests to use features from existing peer-to-peer networks
for example Chord. Every node construct its routing table as
described before but every node creates a second table of
successors nodes. To get this successors, each node u asks
every node f in its finger table for the k = log m nodes
next to the hashvalue of u, ID = H(u). The advantage of
this approach is, that there are at least Ω(r) honest nodes
in the finger table and that a at least these Ω(r) will reply
valid successors of u. Using these techniques, Lesniewski-Las
showed up, that O(1) messages are enough to get to the next
hop. In the worst case scenario, the node u has to send log m
messages to find the target node t. These whole paper is the
first approach to get a sybil resistant routing protocol with
a sublinear number of messages (the simple solution is to
broadcast O(n) messages, described as flooding in privious
section). Lesniewski-Laas substantiates his suggestion with
simulation results. He implemented a simulation proof-ofconcept on a graph with 7.335 nodes and 56.211 edges without
any separated clustes and nodes with a smaller degree than 5.
His simulation runs with, randomly chosen, nodes swapped
from honest to false nodes and all the edges to this nodes
have been marked as attack edges. As estimated with a number
g = o(n/ log n) of attack edges the number of failed lookups
was very low (< 5%). Even with some more attack edges, the
routing protocol successfully resist against evil nodes, but with
a rising number of attack edges the number of failed lookups
dramatically increases. To give an example with g = 12000
the failure lookup rate is stated with 15.8%.
One problem beside the assumption of this suggested approach
is the size of the routing √
table. Lesniewski-Laas suggests a finger table size of r = Θ( m log m) to proof his sybil resistant
routing. A bigger peer-to-peer network with approximately
10.000.000 edges, requires a maintaining of a routing table
with more than 10000 entries per node. Normally there are
many leaving and entering nodes and so a maintaining is even
harder.
Disadvantages
Single point of failure. A central
server is not very common in peerto-peer systems.
Its nearly impossible to reach perfect conditions.
Requires large routing finger tables
and even more routing messages.
Requires a non common bootstrap
graph model. Prevents only against
o(n/ log n) attack edges.
Requires bootstrap graph. Requires
more bandwidth in absence of
any adversary. Problems with many
bottlenecks or a non uniform distribution of the most connected
nodes. Assumption can not be hold.
B. Multi-Hop DHT, uniform trust approach
Danezis, Lesniewski-Laa, Kasshoek and Anderson showed
up another solution to the sybil attack based on a bootstrap
graph in their paper Sybil-resistant DHT routing [1]. In
contrast to the first approach, this solution is based on a
multi-hop routing protocol implemented in Chord. But the
sybil resistant features they developed, could be implemented
in other networks, too. The main idea is to uniformly use all
nodes in the network to avoid bottlenecks nodes. Looking
at the assumption, the attacker is attached at only a few
points in the network and thats why the goal of this solution
is not to give too much trust into any node. The common
routing strategy in Chord is closeness routing, as described
before it is a fast lookup strategy but susceptible to the
wild goose chase. So they added a routing strategy, called
diversity routing. As the name already says, this strategy
tries to diversify the routing request on many nodes. The
implementation of the diversity routing begins with two
changes in the Chord iterative strategy. At first, every new
joining node has to discover its successor, predecessor and
finger nodes, as usual, but in change also the paths in the
social network to these nodes. The second change is, that a
queried node has to return all nodes which it knows about
and the connections in the social network. In difference to
the closeness routing, where every queried node replies with
just the next closest node to the target. So every querying
node s has the possibility to choose an own way to the target
t by getting information from other nodes.
The routing works as follows:
1) Each initiating node keeps track of queried nodes, done
by ID. A histogram is calculated of the frequency with
which every node in the network has been on the path in
the social network to a queried node so far. The authors
of this paper call this a trust profile.
2) A node which wants to initiate a lookup has to calculate
a trust profile for every candidate. This trust profile
20
SYBIL RESISTANT DHT
TABLE II
N UMBER OF QUERIES TO SATISFY 100 LOOKUPS IN CLOSENESS , MIXED
AND ZIG - ZAG ROUTING (100 GOOD NODES ). [1]
contains the number of usage of this node in direction
to the queried node.
3) These candidate profiles are compared to each other to
find out which decision increases the least trust on a
single or small amount of nodes. The best and smallest profile and candidate, lexicographically ordered, is
choosen.
Number of
bad nodes
1
50
100
200
400
Closeness
Mixed
(b=0.2)
Zig-Zag
373
1400
3183
6977
18434
1696
2172
2358
4842
15110
510
1291
2104
3606
7004
Good entries in
finger table
99%
65%
46%
30%
20%
working and outperform any standard routing like closeness
routing. With regard to the assumptions the Byzantine Dissidents Problem is solved in both solutions.
D. Disadvantages
Fig. 3.
Both solutions have disadvantages which cannot be disregarded. At first both need an initial bootstrap graph, this is
a huge architectural change for many DHT systems. But the
even harder problem is the assumption on the attacker and the
number of attached points in the social network. The social
engineering techniques are sophisticated enough to show, that
it is possible to introduce a lot of sybil contacts into a typical
open social network.
To sum up, with regard to the assumptions both approaches
are promising, but further research with other assumptions has
to be done.
Illustrating a step of the diversity routing node selection. [1]
This diversity routing does not work in any direction, or
even towards the queried target t. So the authors present
two strategies to combine the closeness and the diversity
routing. The first strategy, mixed routing, just balance the
choice between diversity and closeness by a factor b ∈ [0, 1].
Given to ranks ci for closeness routing and di for diversity
routing, the new rank ri is calculated by:
VII. C ONCLUSION
We described solutions, how to resist the sybil attack. They
are summed up in table I. Non of the given methods can
be called the perfect method to get a perfect sybil resistant
routing. Every method requires means which are a bit against
the spirit of peer-to-peer networks(central server, social network) or the method does not successfully resists against the
sybil attack(resource testing). All methods can be used in the
specified environments, which fulfill the requirements.
The sybil attack seems to be still a problem for many peerto-peer systems which cannot use a bootstrap graph model or
central server because of their architecture. To sum up, the
sybil problem has to be solved domain specific.
There is still a large open field to research methods which
prevent a peer-to-peer network against the sybil attack with
the usage of different means and in different domains. And
we think there is some tradeoff between anonymity and sybil
attack prevention.
ri = bci + (1 − b)di
The next hop is a mixed choice between safety and speed. But
this very intuitive approach did not show any good simulation
results, the mixed routing performs as bad as the closeness
routing in the presence of malicious nodes, even by optimizing
b.
The authors show up another approach, called zig-zag routing.
As the name suggests, from hop to hop the strategy changes.
One step is done by closeness routing, the next step is chosen
by trust. The simulation statistics of the authors demonstrate
the best results in comparison to the other mentioned strategies
in presence of false nodes. These results of their simulation
are shown in table II.
The practicability of this approach has the same problem as the
bootstrap graph approach before. There is a need to maintain
lots of data of many other nodes in a probably fast switching
network. With the usage of zig-zag routing, the length of each
walk is doubled, so the percentage to hit false nodes increases.
R EFERENCES
[1] G Danezis, C Lesniewski-Laas, and MF Kaashoek. Sybil-resistant DHT
routing. Computer Security– . . . , 2005. II-A, II-B, III, IV-B, VI-B, 3,
II
[2] J. Dinger and H. Hartenstein. Defending the sybil attack in p2p
networks: Taxonomy, challenges, and a proposal for self-registration.
III
[3] J Douceur. The sybil attack. Peer-to-Peer Systems, 2002. III, IV-A, V,
2, V
[4] John Douceur. Peer-to-Peer Systems, volume 2429 of Lecture Notes
in Computer Science. Springer Berlin Heidelberg, Berlin, Heidelberg,
October 2002. III
C. Advantages
Both solutions show really good simulations results. Even
with a large number of sybil nodes, both approaches keep up
21
SYBIL RESISTANT DHT
[5] C Lesniewski-Laas. A Sybil-proof one-hop DHT. Proceedings of the
1st workshop on Social . . . , 2008. IV-B, VI-A
[6] BN Levine, C Shields, and NB Margolin. A survey of solutions to the
sybil attack. University of Massachusetts Amherst . . . , 2006. IV, IV-A,
IV-B
[7] E. Sit and R. Morris. Security considerations for peer-to-peer distributed
hash tables. Peer-to-Peer Systems, pages 261–269, 2002. II-B
[8] I. Stoica, R. Morris, D. Liben-Nowell, D.R. Karger, M.F. Kaashoek,
F. Dabek, and H. Balakrishnan. Chord: a scalable peer-to-peer lookup
protocol for internet applications. IEEE/ACM Transactions on networking, 11(1):17–32, 2003. II-A
[9] H. Yu, P.B. Gibbons, M. Kaminsky, and F. Xiao. Sybillimit: A nearoptimal social network defense against sybil attacks. In IEEE Symposium
on Security and Privacy, 2008. SP 2008, pages 3–17, 2008. VI-A
[10] Q. Zhang, P. Wang, D.S. Reeves, and P. Ning. Defending against sybil
attacks in sensor networks. In 25th IEEE International Conference on
Distributed Computing Systems Workshops, 2005, pages 185–191, 2005.
III
22
KI IN MODERNEN COMPUTERSPIELEN
KI in modernen Computerspielen
Damian A. Czarny
Im weiteren Verlauf dieser Ausarbeitung erfolgt eine genaue
Analyse der KI Computerspiel Komponente, auch Spiele-KI
genannt. Ziel ist es auf der einen Seite im nächsten Teil der
Ausarbeitung einen möglichst hürdenlosen Einstiegspunkt in
die komplexe Materie zu schaffen. Auf der anderen Seite
soll mit der Aufführung zahlreicher elementarer Definitionen,
wie die eines Computerspiels oder die der Künstlichen Intelligenz, eine einheitliche Nomenklatur für den dritten und
umfangreichsten Teil der Ausarbeitung etabliert werden. In
diesem wird dann mit der Untersuchung der Spiele-KI von
First-Person Shootern versucht, die Anforderungen der KI
in Computerspielen weiter zu konkretisieren. Die Vorstellung
verschiedener Verfahren soll zeigen wie Teile dieser Anforderungen erfüllt werden können. Abgeschlossen wird die
Ausarbeitung mit einem Fazit und einer kurzen aber kritischen
Betrachtung des aktuellen Entwicklungsstandes der Spiele-KI
in der Industrie.
Zusammenfassung—Spiele-KI ist ein integraler Bestandteil
moderner Computerspiele, welche heutzutage durchaus dazu in
der Lage sind überaus realistische und komplexe Spielwelten zu
erschaffen. Die vorliegende Ausarbeitung beschäftigt sich mit
der Frage, welche Herausforderungen dadurch für die Spiele-KI
entstehen und wie diese in angemessener Weise zu lösen sind.
Die Ausarbeitung ist dabei in zwei Teile aufgeteilt. Teil eins
bemüht sich einen möglichst Einsteiger freundlichen Überblick
über die Thematik zu vermitteln. Wohingegen der zweite Teil eine
exemplarisch aufgeführte Untersuchung der Spiele KI in FirstPerson Shootern beinhaltet. Die behandelten Konzepte und Umsetzungstechniken werden dabei anhand eines eigens entwickelten
Modells vorgestellt, welches auf dem Modell des Rationalen
Agenten von S. Russel und einer FPS-Bot Architektur nach P.
Tozour basiert.
I. E INLEITUNG
1
Computerspiele können spätestens seit dem Erfolg von
Grand Theft Auto 4 (GTA 4), welches laut dem Publisher
Take Two im März 2009 bereits mehr als 770 Millionen
Dollar Einnahmen einspielte, nicht mehr als Nischenprodukte
bezeichnet werden. 2 Diese Zahlen sind umso beeindruckender
wenn man bedenkt, dass erst mit der Einführung des Heimund Personalcomputers (PC) in den 1980er Jahren sich
Computerspiele zu einem Massenphänomen entwickelten.
Ein Rückstand von rund 80 Jahren auf eine Filmindustrie, die
ihre erste blühte Zeit mit der Stummfilmära bereits Ende des
19. Jahrhunderts feierte.
II. S PIELE -KI: E IN Ü BERBLICK
A. Künstliche Intelligenz und Spiele-KI
Künstliche Intelligenz (KI) bezeichnet in erster Linie
einen Wissenschaftszweig der Informatik. Im Zentrum der
Betrachtung steht dabei die (automatisierte) Schaffung von
Intelligenz.
Die traditionelle KI hat im Laufe der Zeit den Begriff der
„Intelligenz“ aus einer Vielzahl unterschiedlicher Richtungen
untersucht. Je nach Interpretation des Begriffs verfolgte die
KI einen anderen Weg zur Erforschung und Erschaffung
intelligenter Systeme. Eine konkrete Definition der KI ist
aufgrund dieser zeitlich geprägten Auslegung, was Intelligenz
bedeutet, als durchaus problematisch anzusehen. Stuart
Russell versucht jedoch in [14, S. 17f] den verschiedenen
Entwicklungsströmen der KI gerecht zu werden und leitet
daraus vier übergeordnete Auffassungen ab. Sie definieren
ab wann ein künstliches System als intelligent bezeichnet
werden kann.
Doch was ist ein Computerspiel eigentlich, wie wird es definiert? Folgende Definition beschreibt die wesentliche Natur
eines Computerspiels durchaus treffend:
Ein Computerspiel versteht man am besten als eine
in sich geschlossene Mikrowelt, mit eigenen Regeln
und einer Geschichte. Das zentrale Element ist die
Interaktivität, d.h., ein Spiel ermöglicht dem Spieler
eine reichhaltige, interessante Interaktion mit einer
eigens dafür geschaffenen Spielwelt. [6, S. 32]
Ein jedes Computerspiel verfügt darüber hinaus über einige
typische Komponenten die sich grob in zwei Bereiche unterteilen lassen:
• Technische Komponenten: Grafik, Audio und Physik
• Spielerische Komponenten: Spiellogik, Geschichte und
Künstliche Intelligenz (KI)
Demnach ist ein System genau dann intelligent, wenn dieses
System entweder...
• menschlich denken,
• rational denken,
• menschlich handeln oder
• rational handeln kann.
Rationalität meint in diesem Kontext die Fähigkeit, das
Richtige oder das Bestmögliche im Sinne einer vorgegebenen
Richtlinie, der maximierbaren Nutzenfunktion, zu tun. Somit
konzentriert sich die KI unter Betrachtung der Rationalität auf
das Ziel ein Problem optimal zu lösen. Das Entscheidende bei
dieser Betrachtung ist die Vernachlässigung des Prozesses zur
1 Oftmals wird zwischen Computerspiel (Spielsoftware für PCs) und Videospiel (Spielsoftware für Videospielkonsolen zum Anschluss an ein TV-Gerät)
unterschieden
2 http://box-office.suite101.de/article.cfm/kino_die_erfolgreichsten_filme_
aller_zeiten Zum Vergleich: Um in die Reihe der zehn erfolgreichsten
Filmproduktionen aller Zeiten aufgenommen zu werden, werden momentan
etwas mehr als 900 Millionen Dollar Einnahmen benötigt.
23
KI IN MODERNEN COMPUTERSPIELEN
Entstehung des Lösungsweges. Der Lösungsweg muss nur
optimal unter der Nutzenfunktion sein, wie jedoch die Lösung
erreicht wurde, ob durch Berechnungen, logisches Schließen
oder auf menschenähnliche Weise ist nebensächlich. Nach
Russell bildet diese Auffassung von Intelligenz das rationale
Handeln am besten ab und ist somit seiner Meinung nach die
aktuell erstrebenswerteste Richtung der KI Forschung. Russell
begründet diese Annahme indem er aufführt, dass rationales
Denken immer auf korrekten logischen Schlussfolgerungen
beruht und diese allein nicht die ganze Rationalität darstellen,
weil es häufig Situationen gibt, wo man zwar nicht das
beweisbar Korrekte tun kann, jedoch etwas getan werden
muss. Wenn im weiteren Verlauf dieser Ausarbeitung von
der traditionellen KI die Rede ist, dann wird dabei die
akademische Betrachtung des rationalen Handelns gemeint.
(vgl. [14, S. 58ff])
B. Anforderungen und KI-Typen
Die Hauptaufgabe der Spiele-KI besteht noch einmal
zusammengefasst darin ein realistisches bzw. in erster
Linie glaubhaftes Verhalten von Nicht-Spieler Charakteren
wie Gegnern oder Mitspielern zu erstellen. Doch welche
Anforderungen werden an eine solche Spiele-KI gestellt und
benötigen alle Computerspiele die gleichen Anforderungen?
Diesen beiden Fragen soll im Folgenden näher nachgegangen
werden.
Allgemein lassen sich folgende Anforderungen an eine
Spiele-KI ableiten, die sich zu großen Teilen aus den Anforderungen an eine Human Level AI ergeben. Was hauptsächlich
daran liegt, dass in dem Groß der Computerspiele hauptsächlich menschähnliche Wesen die Spielwelt bevölkern. (vgl. [9]).
Das zu simulierende Verhalten sollte...
• glaubwürdig,
• autonom,
• robust,
• koordiniert,
• kommunikativ (intern/extern),
• geplant und
• kreativ sein.
Weiter sollte es...
• in Echtzeit reagieren,
• lernfähig sein,
• die Umgebung wahrnehmen und
• mit dieser interagieren können.
Die Computerspielbranche stellt weitere exklusive Anforderungen an die Spiele-KI, die sich im Wesentlichen aus
wirtschaftlichen Überlegungen heraus ergeben:
• Anpassungsfähigkeit der Spiele-KI, besonders in Hinblick auf den Schwierigkeitsgrad
• Maximierung des Unterhaltungswert des Computerspiels
(Spielspaß)
• Abwechslungsreichtum aufweisen um den Spieler so lange wie möglich an das Produkt zu binden
• Performant sein
• Kostengünstig sein
Die konkreten Anforderungen an eine Spiele-KI und
besonders ihr Maß der Realisierung, rudimentär oder
auf Human Level AI-Niveau, hängen maßgeblich vom
Computerspiel ab in dem sie eingesetzt werden soll.
Computerspiele müssen, um sich gut verkaufen zu können,
über ein Alleinstellungsmerkmal verfügen, weshalb die
Produktion eines Computerspiels und damit die der Spiele-KI
immer einer gewissen Einzigartigkeit unterliegt.
Spiele-KI ist ein Sammelbegriff für die praktische
Ausübung einiger Teilbereiche der traditionellen KI in
Computerspielen. Somit sind Spiele als Anwendungsszenario
für die von der KI zu entwickelten intelligenten Systeme
zu verstehen. Die Spiele-KI Entwicklung ist allerdings
keine primär akademisch betriebene Ausübung, sondern
eine industrielle. Somit hat sich der Begriff SpieleKI auch für die unterschiedlichen Zielsetzungen beider
Lager in der Entwicklung von KI-Systemen durchgesetzt.
Die größte Abgrenzung zwischen industriell-geprägter
Spiele-KI und traditioneller KI liegt im unterschiedlichen
Problemlösungsansatz begründet.
Für die Spiele-KI steht nicht das optimale Lösen eines
KI-Problems im Vordergrund, sondern eine Problemlösung die
auf die Maximierung des Unterhaltungswertes ausgerichtet
ist. Die Problemlösung muss sich dem zufolge in erster
Linie an den Spielspaß, die Hardwareleistung der
Kundenzielgruppe und an die Ziele des Spieldesigns
ausrichten. Im Extremfall interessiert sich eine Spiele-KI
überhaupt nicht für optimale Ergebnisse. So könnte die
aktuelle Schwierigkeitsmodellierung vorgeben in bestimmten
Situationen nicht optimale Aktionen zu wählen, um den
Spieler nicht zu überfordern. Auch kann im Sinne der
Abwechslung die Wahl nicht optimaler Ergebnisse sinnvoll
sein. In der akademischen Welt hingegen wünscht man sich
am liebsten beweisbar wiederholbare optimale Ergebnisse.
In [11] wird unter der Betrachtung eben jener Zieldefinition
geschlussfolgert, dass die daraus abgeleitente wesentliche
Rolle der Spiele-KI darin besteht, ein für den Spieler
nachvollziehbares, d.h. glaubhaftes, und autonom wirkendes
Verhalten von Nicht-Spieler Charakteren (NPC - Non-Playing
Characters) zu realisieren. Intelligente NPCs sollen der
Spielwelt somit eine gewisse Lebendigkeit und damit auch
eine gesteigerte Glaubwürdigkeit verleihen, was sich positiv
auf den Spielspaß eines Spiels auswirkt.
J. Laird beschreibt in [9] die Anforderungen an eine
Spiele-KI anhand von sogenannten KI-Typen. Einen KITypen kann man sich als eine Rollenbeschreibung vorstellen,
die immer wieder in Computerspielen Verwendung findet.
Für den anschließenden dritten Teil dieser Ausarbeitung
sind die beiden erstgenannten KI-Typen von Bedeutung, da
diese Anforderungen näher untersucht werden. Die Restlichen
werden an dieser Stelle nur der Vollständigkeit halber erwähnt.
24
KI IN MODERNEN COMPUTERSPIELEN
Tactical Enemies repräsentieren gegnerische Einheiten,
die vom Spieler bekämpft werden müssen. Sie zeichnen sich
maßgeblich durch intelligentes autonomes Handeln aus. Dies
schließt Aspekte der Wegfindung, der Umgebungsexploration
und Interaktion mit ein. Letztgenannter Punkt bezeichnet
Aktionen wie beispielsweise das Aufheben einer Waffe von
einem Tisch oder das Öffnen von Türen. Gegner müssen, wie
kein anderer KI-Typ, den Erwartungen des Spielers gerecht
werden. Dies liegt daran, da diese zentraler Bestandteil der
Herausforderungen und somit des Spielspaßes eines Spiels
sind. Dabei müssen eventuelle Stärken als auch Schwächen
des darzustellenden Gegners nachgebildet werden, d.h. wird
z.B. ein menschlicher Wächter verkörpert, sollte dieser auf der
einen Seite über rudimentäre Kampferfahrung verfügen und
auf der anderen Seite eine verminderte Sehstärke in schlecht
beleuchteten Räumen haben. Gegebenenfalls müssen Tactical
Enemies auch ein intelligentes Gruppenverhalten aufweisen,
was Koordinierungs- und Kooperationsfähigkeiten voraussetzt.
des Spielers in Strategiespielen II-C. Ihr Fokus liegt dabei
auf einem Ressourcenmanagement, welches das Sammeln,
Verwalten und Einsetzen von Ressourcen beinhaltet. Mit
den erworbenen Ressourcen werden Gebäude oder Einheiten
erstanden und diese dann entsprechend den eigenen Zielen
eingesetzt. Dabei sind besonders die Entwicklung und die
Einhaltung einer übergeordneten Strategie hervorzuheben,
damit die Einheiten auf ein Ziel oder mehrere Ziele
hinarbeiten können. In diesem Kontext muss auch auf
bestimmte Limitierungen der KI geachtet werden. Der
Spieler besitzt mit Maus und Tastatur nur über eine begrenzte
Eingabegeschwindigkeit zur Spielweltinteraktion. Eine SpieleKI muss deshalb den Limitierungen des Spielers angepasst
werden um bei diesem nicht den Eindruck mangelnder
Fairness aufkommen zu lassen.
Units sind die zu befehligenden Einheiten die überwiegend
in Strategiespielen dazu eingesetzt werden um bestimmte
Spielziele zu erreichen. Ähnlich wie bei den Partners zeichnen
sie sich dadurch aus, dass sie primär Befehle entgegen
nehmen müssen, die daraufhin selbstständig ausgeführt
werden. Selbständig deswegen, weil von ihnen erwartet wird,
dass sie ein gewisses Maß an Eigenständigkeit aufweisen,
damit der Spieler nicht jeden einzelnen Schritt für alle
Einheiten vorgeben muss. Die Eigenständigkeit der Einheiten
stellt den Entwickler allerdings vor einen heiklen Balanceakt.
Einerseits möchte man intelligente und eigenständige
Einheiten, anderseits muss darauf geachtet werden, das
Herausforderungspotenzial nicht gegen Null laufen zu lassen,
sodass im Extremfall der Spieler gar nicht mehr gebraucht
wird. Weiter müssen Hardwaregrenzen beachten werden,
die in Spielen mit großen Einheitenmengen mit jeweils
eigenständigen KI Routinen pro Einheit unweigerlich erreicht
werden würden.
Partners sollen den Spieler im Kampf gegen Tactical
Enenmies unterstützen. Sie ähneln diesen deshalb stark,
weil sie ebenfalls im Kampf ein autonomes und glaubhaftes
Verhalten aufweisen müssen. Computerspiele sind fast
immer auf den Spieler fokussiert, der dementsprechend
oft eine entsprechende Führungsrolle in Anspruch nimmt.
Der Schwerpunkt dieses KI-Typs liegt deshalb nicht primär
auf autonomen Handeln, sondern auf dem Befolgen der
Befehle des Spielers. Dazu ist eine Mensch-zu-Maschine
Kommunikation und Koordinierung zu realisieren, die
aufgrund der hohen Komplexität momentan leider nur
mit stark begrenzten Sprachmitteln umgesetzt wird, wenn
überhaupt. Eine solch einfache Befehlsmenge könnte aus
folgenden vorgefertigten Befehlen bestehen: verteidige, greife
an und folge mir. Essentiell für die Kommunikation und
Kooperation mit dem Spieler ist die Herausforderung zu
meistern, der KI ein Verständnis von Teamwork zu vermitteln,
dazu gehört u.a. die Intensionen des Spielers zu verstehen.
Commentators und Story Directors sind KI Typen die
für eine relativ kleine Zahl von Spielen benötigt werden.
Commentators sollen das Spielgeschehen analysieren und Interpretieren. Die Interpretation soll am besten in natürlicher
Sprache an den Spieler wieder gegeben werden. Haupteinsatzgebiet sind hierbei Sportspiele, wie Fußball oder Tennis, die
auch in der Realität professionell kommentiert werden. Story
Directors hingegen sind die Regisseure eines Computerspiels.
Sie überwachen und lenken ein Spiel mit spielvorantreibenden
Aktionen. Diese Aktionen können u.a. Informationen und
Anweisungen für andere KI-Typen enthalten. Ein Beispiel
hierfür wäre eine vom Spieler verratene verbündete Gruppierung anzuweisen in Zukunft nur noch feindselig auf diesen
Spieler zu reagieren.
Support Characters repräsentieren die auf den ersten
Blick simpelste Gruppe der KI-Typen. Sie sollen den Spieler
in erster Linie außerhalb des Kampfes unterstützen, z.B.
als Ladenbetreiber oder als Auftraggeber. Die Menschzu-Maschine Kommunikation ist aus diesem Grund ihre
Hauptanforderung. Allerdings erfährt auch die Maschinezu-Maschine Kommunikation in aktuellen Spielen mehr
Beachtung. So werden in Assasines Creed 3 Support
Characters dazu verwendet, die Welt mit glaubwürdigen
Statisten zu bevölkern. Jeder Statist geht dabei im Hintergrund
einem jeweils individuellen, mit anderen nicht unbedingt
disjunkten, Tagesablauf nach. An diesem Beispiel kann man
erahnen welches Potenzial hier verborgen liegt. Dieser KI-Typ
kann mit geringem Aufwand minimal abgedeckt werden,
doch schon kleine Steigerungen können zu einem deutlichen
Atmosphäre-plus in Sachen realistischer Spielwelt führen.
C. Spiele Genres
Computerspiele lassen sich in Anlehnung an die
Filmbranche in sogenannte Spiele Genres einteilen. Allerdings
sind die Grenzen zwischen den einzelnen Genres in der
Computerspielbranche fließender als bei Filmen. Dieser
Umstand wird mit dem aktuellen Trend der bewussten
Vermischung von Genreelementen, den sogenannten Genres
Stratetic Opponents sind zumeist die Wiedersacher
3 http://www.assassinscreed.de/
25
KI IN MODERNEN COMPUTERSPIELEN
Sport Games stellen in erster Linie virtuelle Formen
real bekannter Sportarten wie Mannschaftssport, Rennsport,
Athletik oder Extremsport dar. Die Anforderungen an die KI
sind vielfältig und fordernd, da in den meisten Fällen von
einer großen Wissensbasis des Spielers ausgegangen werden
muss. Somit könnten bereits kleinste Abweichungen zur
Realität den Spielspaß merklich trüben. Die KI wird generell
in drei Rollen eingesetzt. Die erste Rolle ist besonders in
Mannschaftssportspielen ähnlich der in Strategiespielen.
Hier werden über Einheitenkontrolle die individuellen
Sportler kontrolliert und anhand einer übergeordneten Taktik
eingesetzt. Dies ist deshalb notwendig, da der Spieler
meistens zu einem bestimmten Zeitpunkt nur einen Spieler
direkt kontrollieren kann. Verstärkt wird die strategische
Komponente, wenn der Spieler als Trainer auch Management
Aufgaben übernimmt. Die zweite Rolle entspricht der der
Stratetic Opponents um z.B. die gegnerischen Einheiten oder
das gegnerische Team zu leiten. Die letzte Rolle entspricht
dem Einsatz von Commentators.
Mixes, weiter verstärkt. Dennoch lassen sich die Kernelemente
eines Computerspiels auf die nachfolgend vorgestellten Genres
abbilden. Die Genres werden hier nur der Vollständigkeit
halber erwähnt. Aus diesem Grund erfolgt an dieser Stelle eine
Begrenzung auf die wichtigsten vier Genres, die größtenteils
mit den im vorherigen Abschnitt eingeführten KI-Typen
charakterisiert werden können. Weitere Informationen und
Beispiele, sowie eine differenziertere Betrachtung von Spiele
Genres findet der interessierte Leser in [9] und vor allem in
[19].
Action Games, hier übernimmt der Spieler die direkte
Kontrolle über eine Figur oder ein Fahrzeug in der Spielwelt.
Die grundlegende Herausforderung dieser Spiele besteht
darin, bestimmte Aufgaben zu erfüllen die nur mit
ausreichend Geschicklichkeit, Reaktionsschnelligkeit und
Timing zu meistern sind. Durch Einsatz von Waffen oder
Kampfsporttaktiken kann der Spieler sich gegen gegnerische
Einheiten - Tactical Enemies - zur Wehr setzten. Darüber
hinaus stellen Entwickler dem Spieler immer häufiger
computergesteuerte Begleiter - Parnters - temporär oder über
die gesamte Spielzeit zur Seite. Das in III verwendete Genre
der First-Person Shooter als Anwendungsszenario wird den
Actions Games zugeordnet.
III. S PIELE -KI IN F IRST P ERSON S HOOTERN - E IN
A NWENDUNGSBEISPIEL
Nachdem in II ein Überblick über die Anforderungen der
KI in verschiedenen Spielen gegeben worden ist, soll in
diesem Teil der Ausarbeitung eine exemplarisch aufgeführte
Untersuchung der Spiele-KI von First-Person Shootern (FPS)
aufgeführt werden.
Adventure Games gehören dem ältesten Genre an,
demjenigen von dem behauptet wird der interaktiven Fiktion
am Nächsten zu kommen. Ein Adventure bezeichnet nicht
ein bestimmtes Spielszenario, wie z.B. Western, Weltraum
oder Gegenwart, sondern ist ein Sammelbegriff für eine
Ausrichtung auf Rätsel und Aufgaben die eine Interaktion mit
der Umgebung erfordern. Eine ausgereifte und cineastisch
inszenierte Handlung steht dabei ebenfalls im Mittelpunkt.
Zwar können Adventures durchaus actionlastig sein, doch
steht der Kampf und insbesondere eine direkte Konfrontation
mit dem Gegner nicht im Mittelpunkt des Spiels. Action tritt
in diesen Spielen meistens in Form von Mini-Spielen auf, wie
dem Drücken von bestimmten Tastenfolgen unter Zeitdruck.
Adventure Games stehen und fallen mit ihren Supporting
Characters. Der Spieler muss mit ihnen interagieren können
und sie als realistische, von Zielen getriebene, Individuen
wahrnehmen. Weiter ist der Story Director aufgrund der
Hervorhebung der Handlung und der daraus einzuleitenden
Auswirkungen auf die Spielwelt von großer Bedeutung.
FPS stellen mittlerweile ein eigenes Untergenre der
Action Games dar. In denen der Spieler bildlich gesprochen
in die Haut der Spielfigur schlüpft. Dabei wird versucht
den Eindruck zu erwecken die virtuelle Umgebung mit
den Sinnen der Spielfigur wahrzunehmen, welche in der
Regel auf Sehen und Hören beschränkt sind. Man spricht
in diesem Zusammenhang von der sogenannten Ich- oder
Ego-Perspektive, welche auch in anderen Medien wie z.B.
Büchern Verwendung findet.
Ziel
der
Untersuchung
ist
es,
anhand
der
Anforderungsbeschreibung eines Tactical Enemies aus
Abschnitt II-B einige konkrete Techniken, Konzepte und
Mechanismen vorzustellen, mit deren Hilfe man einige
der zuvor genannten Anforderungen erfüllen kann. Die
Begrenzung auf einen KI-Typen und auf ein konkretes
Untergenre soll es ermöglichen, trotz der relativ geringen
Anzahl an Techniken, ein in sich abgeschlossenes Bild einer
Spiele-KI und ihrer Komponenten aufzuzeigen.
Strategy Games erfordern schnelles und vorausschauendes
strategisches oder taktisches Planen. Der Spieler kontrolliert
eine Vielzahl von Kampfeinheiten die je nach Spielsetting
Panzer, Ritter, Orks oder andere Figuren verkörpern können.
Der Spieler sieht das Spiel meistens aus einer entfernten
Draufsicht, auch Gottansicht genannt, die vor allem den
nötigen Überblick zum Befehligen der Einheiten bieten soll.
Hauptaufgabe des Spielers ist die bei den Stratetic Opponents
aufgeführten Aufgaben zu erledigen. Man unterscheidet
zwischen zwei Arten von Strategiespielen: Rundenbasierte
Strategiespiele (TBS - Turn-based strategy) und Echtzeit
Strategiespiele (RTS - Real-time strategy).
An erster Stelle der Untersuchung steht die Einführung des
bereits in II-A erwähnten Konzepts der Rationalität. Rationales
Handeln wurde an dieser Stelle als eine mögliche Auffassung
von Intelligenz vorgestellt. Die Betrachtung der Spiele-KI mit
Hilfe von Agenten als übergeordnetes Konzept ermöglicht
darüber hinaus einen zentralen Zugang zur KI als Wissenschaftsdisziplin und ihrer erprobten Techniken. Außerdem
können Agenten als Entwurfsgrundlage zur Entwicklung der
zu steuernden Einheiten einer Spiele-KI betrachtet werden.
26
KI IN MODERNEN COMPUTERSPIELEN
Einfache Reflex-Agenten: Aktionsauswahl basiert nur
auf aktueller Wahrnehmung und wird durch ConditionAction-Rules modelliert.
• Modellbasierte Reflex-Agenten: Es wird ein interner
Zustand und ein Weltmodell verwaltet, um nicht beobachtbare Aspekte zu modellieren. Nicht beobachtbare
Aspekte sind beispielsweise gegnerische Aktionen außerhalb des Wahrnehmungsbereiches des Agenten.
• Zielbasierte Agenten: Anhand des Weltmodells und
des internen Zustandes beeinflusst eine Zielfunktion die
Aktionsauswahl. Suchen und Planen sind wichtige Mittel
um Aktionsfolgen zu finden die Ziele erreichen.
• Nutzenbasierte Agenten: Zielerfüllung wird auf den
Nutzen analysiert um zwischen Aktionen oder Aktionsketten die Ziele erfüllen zu unterscheiden. Eine Nutzenfunktion bildet einen Zustand auf eine, den Nutzen
darstellende, reelle Zahl ab.
• Lernende Agenten: Lernen erlaubt in unbekannten Umgebungen eine gegenüber dem Ausgangswissen größere
Kompetenz aufzubauen.
Prinzipiell kann man einen Nutzenbasierten Agenten, egal
ob mit oder ohne Lernaspekt, als den Agenten bezeichnen
der einem rationalen, und somit intelligenten, Agenten am
nächsten kommt. Im weiteren Verlauf wird mit Agent genau
dieser Typ bezeichnet. Abbildung 2 fasst die wichtigsten
Komponenten dieser Agentenart nochmal zusammen.
A. Rationale Agenten
•
Stuart Russell beschreibt in [14] einen Agenten als „alles,
was eine Umgebung über Sensoren wahrnehmen kann und
in dieser Umgebung über Aktuatoren handelt.“. Dieses
einfache Konzept auf die Spiele-KI übertragen bedeutet,
dass ein Agent gefilterte Informationen, im weiteren Verlauf
als Wahrnehmungen bezeichnet, über seine Umgebung, die
Spielwelt, bekommt und dann anhand dieser Informationen
entscheidet, wie seine nächste Aktion in der Umgebung
auszusehen hat. Weiter geht man üblicherweise davon aus,
dass ein Agent zwar seine eigenen Aktionen wahrnehmen
kann, allerdings nicht immer auch dessen Wirkungen.
Abbildung 1 veranschaulicht diesen Zusammenhang.
Die in der Mitte der Abbildung dargestellte Funktion
f wird Agentenfunktion genannt und soll anhand einer
Wahrnehmungsfolge P die Ausführung einer bestimmten
Aktion andeuten.
Abbildung 1.
Der schematische Aufbau eines Agenten. [14]
Ein rationaler Agent ist in diesem Sinne ein Agent der
das Richtige bzw. das Bestmögliche tut. Um entscheiden
zu können was das Beste ist, braucht der Agent eine
Leistungsbewertungsfunktion, die eine Bewertung seiner
Aktionen ermöglicht. Wie diese auszusehen hat ist
Anwendungsabhängig. Wichtig ist allerdings eine nicht
ergebnisorientierte Funktion zu verwenden, sondern
eine die den vom Programmierer gewünschten Weg
zum Ziel belohnt. Ein rationaler Agent zeichnet sich
dadurch aus, diese Leistungsbewertung unter Betrachtung
seiner Wahrnehmungen, eventuellen Vorwissen und
den wahrscheinlichen Auswirkungen seiner möglichen
nächsten Aktionen zu maximieren. Rationalität sollte in der
Anwesenheit von unvollständigem oder unsicherem Wissen
nicht mit Perfektion verwechselt werden. Perfektion maximiert
immer die tatsächliche Leistung. Rationalität maximiert
dagegen die erwartete Leistung unter Berücksichtigung des
aktuellen Wissens.
Abbildung 2. Der Nutzenbasierte Agent und seine wichtigsten Komponenten.
[14]
B. KI in First Person Shootern
In III-A wurde der Agent u.a. als ein Entwurfsmodell
für eine zu steuernde Einheit der Spiele-KI vorgestellt. Im
Bereich der FPS spricht man in diesem Zusammenhang
von sogenannten Bots. Für gewöhnlich steuert ein
Agentenexemplar ein Exemplar eines Bots, mit anderen
Worten einen konkreten Tactical Enemy, wie z.B. einen
gegnerischen Wächter oder einen Soldaten in der Spielwelt.
Generell werden mindestens fünf Agententypen unterschieden die, mit Ausnahme des Lernenden Agenten, als aufeinander aufbauende Prinzipien betrachtet werden können:
In Abbildung 1 wurde gezeigt, dass sich der
eigentliche
Entscheidungsprozess
abstrakt
als
eine
Aktionsauswahlfunktion darstellen lässt. Die darauf
27
KI IN MODERNEN COMPUTERSPIELEN
aufbauende Verfeinerung des Agenten aus Abbildung 2
zeigt, welche Abstraktionen mit einem Zustandsmodell, einer
Leistungsbewertungsfunktion, einer Ziel- und Nutzenfunktion
sich hinter dem Anfangs simplen Modell verbergen. FPS
oder Computerspiele im Allgemeinen sind mittlerweile in der
Lage überaus realistische Spielwelten zu erschaffen, wodurch
Bots in die Lage versetzt werden müssen sich in überaus
komplexen virtuellen Umgebungen rational Verhalten zu
können. Aus diesem Grund schlägt Paul Tozour in [18] eine
KI Architektur für FPS vor, die den Entscheidungsprozess
in vier hierarchisch angeordnete Komponenten Verhalten,
Bewegung, Animation und Kampf unterteilt.
eine wichtige Rolle. Beispielsweise hat das virtuelle Ableben
des Bots den Abbruch aller aktuellen Animationen zur Folge,
weil eine Sterbeanimation sofort abzuspielen ist und sozusagen
alle anderen Sequenzen unterbindet. Für diese oder andere
Aufgabenbereiche werden durchaus KI-Techniken wie Koordinierungsmethoden eingesetzt, doch spielen diese weit weniger
eine Rolle als in den anderen Komponenten. Aus diesem
Grund könnte man auch durchaus die Auffassung vertreten,
die Animation der Bot Aktionen nicht als Teil des Bots selber
anzusehen, sondern eher als Aufgabe und somit Bestandteil
der Gameengine zu verstehen.
Die Verhaltenskomponente ist dabei die übergeordnete
Komponente, welche für die Entscheidungsfindung auf der
Top-Ebene zuständig ist. Rolle, Abstraktionsniveau und
Aufbau entsprechen weitestgehend dem Agentenentwurf
aus Abbildung 2. Mit anderen Worten soll die
Verhaltenskomponente mit der Umgebung interagieren,
einen internen Zustand verwalten, Ziele definieren und
auswählen, sowie den Nutzen der Aktionen bestimmen
und in letzter Instanz die nächste auszuführende
Aktion bestimmen. Die Weiterentwicklung des Agenten
besteht
nun
darin,
dass
bestimmte
aufwendige
Entscheidungsprozesse in Unterkomponenten auslagert
werden. Die Verhaltenskomponente bestimmt z.B. als nächste
Aktion eine Fluchtbewegung statt einer Kampfaktion.
Wie diese Flucht genau auszusehen hat, d.h. in erster
Instanz welcher Fluchtweg einzuschlagen ist, wird an die
Bewegungskomponente weiter delegiert.
Abbildung 3. Erweitertes Agentenmodell für FPS. Die Verhaltenskomponente
ist dabei als der komplette Agent aufzufassen. Basierend auf [14] und [18]
C. Verhaltenskomponente
Die Animationskomponente unterscheidet sich hierbei etwas
von den anderen beiden Komponenten, zwar gibt Paul Tozour
in seinem Artikel keine genaue hierarchische Anordnung
seiner Komponenten vor, doch wird ersichtlich, dass die
beiden Komponenten Kampf und Bewegung zusätzlich
zur Verhaltenskomponente einen direkten oder indirekten
Zugriff auf die Animationskomponente benötigen. Sie
Animationskomponente ist hauptsächlich für das Abspielen
passender Animationsequenzen zuständig. Wenn man die
Animationskomponente auf den Agentenentwurf überträgt,
könnte man sie als Bestandteil der Aktuatorkomponente
auffassen. Abbildung 3 stellt zusammenfassend eine mögliche
Erweiterung des Agentenentwurfs nach Russell (Abbildung
2) um die von Tozour vorgeschlagenden FPS Komponenten
dar.
Es gibt eine Vielzahl von Möglichkeiten den
Entscheidungsprozess zu implementieren. Im Folgenden
werden drei davon etwas näher behandelt: Spielbäume, Planer
und Endliche Automaten.
Spielbaum
Ein Spielbaum modelliert den Entscheidungsraum mit Hilfe
von Bäumen. Ein Knoten repräsentiert dabei einen möglichen Spielzustand, wobei die Wurzel den jeweils aktuellen
Spielzustand aus Sicht des Bots beschreibt. Die Kanten sind
mit den jeweils erlaubten Aktionen eines Zustandes gekennzeichnet und führen zu Folgezuständen die nach der Ausführung der entsprechenden Aktion resultieren. Die zukünftigen
gegnerischen Aktionen spielen bei der Entscheidungsfindung
eine elementare Rolle, weswegen sie und die der Mitspieler
ebenfalls in den Baum integriert werden. Der Baum enthält
dementsprechend abwechselnd die möglichen Aktionen des
Bots und die der anderen Spieler. Es werden in der Theorie
solange alle Kombinationen aufgebaut bis jeder Pfad im Baum
zu einem Blattknoten führt. Ein Blattknoten beschreibt einen
Terminalzustand, d.h. einen Zustand in dem keine weiteren
Aktionen mehr ausgeführt werden können. Ein Terminalzustand ist die einzige Stelle im Baum in der eine verlässliche
Nutzenbewertung stattfinden kann. Die denkbar einfachste
Variante einer finalen Zustandsbewertung (Nutzenbewertung)
wäre eine nummerische Aussage über Sieg oder Niederlage
Nachfolgend soll eine detailierte Vorstellung von möglichen
konkreten Implementierungstechniken für die Verhaltens-,
Bewegungs- und Kampfkomponente untersucht werden. Die
Animationskomponente wird nicht weiter betrachtet. Es sei
nur noch folgende kurze Schlussbemerkung über sie gestattet.
Die Animationskomponente verwaltet unter anderem ein
Skelettmodell des Bots, um parallele Animationssequenzen
abspielen zu können, wenn diese über eine disjunkte Menge an
betroffenen Körperregionen verfügen. In diesem Zusammenhang spielt auch die Priorisierung von Animationssequenzen
28
KI IN MODERNEN COMPUTERSPIELEN
wie z.B. folgende die den Ausgang eines Duells mit einem
anderen Bot bewertet:
Planen wird von mehreren Spielen erfolgreich eingesetzt.
Das FPS Spiel KIllzone [13] beispielsweise verwendet das
sogenannte HTN-Planen (Hierarchical Task Network).HTNPlanen unterteilt dabei das Ziel durch Methoden in viele
kleinere Teilziele, auch Tasks genannt. Anders als in
klassischen Planungsalgorithmen wie STRIPS fließt bei der
Task-Zerlegung eine Menge an spezifischen Domänenwissen
von Experten in das Planen mit ein, wodurch dem HTNPlanen eine große praktische Relevanz zukommt. Eine
Wiederverwendbarkeit für andere Computerspiele wird
allerdings dadurch merklich erschwert.
f (DuellGewonnen) = 1
f (DuellV erloren) = 0
Wenn man einen solchen Spielbaum aufgebaut hat, kann
das Entscheidungsproblem der nächsten besten Aktion als
Suchproblem aufgefasst werden und somit alle gängigen
Suchalgorithmen wie Minimax- oder Alpha-Beta-Suche
angewandt werden. Die Nutzenbewertung der Blätter
ermöglicht es das Suchproblem als die Maximierung des
Nutzens zu definieren, somit würde im obigen einfachen
Beispiel die Aktion ausgewählt werden, die zu den meisten
Blättern mit f (DuellGewonnen) führt.
Planen ist eine fortschrittliche und komplexe KI-Technik,
die zum Verständnis ein entsprechend fundiertes KIWissen voraussetzt. Aus diesem Grund wird nicht der
Planungsansatz, sondern die dritte hier behandelte Möglichkeit
zur Entscheidungsfindung ausführlicher behandelt - der
Einsatz von sogenannten Finite State Maschines (FSM), zu
deutsch: Endliche Automaten. Die Verwendung von Endlichen
Automaten stellt den in der Praxis am verbreitetesten Ansatz
in der Industrie dar. Für den weiter an Planen interessierten
Leser sei für allgemeine Informationen auf [14, Kap. 11]
verwiesen. Detailliertere Ausführungen zum HTN-Planen
finden sich in [10, S. 2fff].
Dieser Ansatz wird überaus erfolgreich in klassischen
Spielen wie Schach oder Kartenspielen verwendet, eignet
sich jedoch nur begrenzt für komplexere Computerspiele,
weil hier der Suchraum sehr schnell überaus groß werden
kann, wodurch eine effektive vollständige Suche fast
unmöglich wird. Es existieren einige Erweiterungen, wie
die Verwendung von Heurisiken, oder Variationen, wie der
Einsatz von Simulationen (Monte-Caro Simulation [2] oder
UCT Suche [4]), die das Ergebnis einer vollständigen Suche
approximieren. Diese sind jedoch nicht in der Lage das
Performance Problem in angemessener Weise für komplexe
Spiele zu lösen, weswegen ein Einsatz, wenn überhaupt, nur
für kleine Teilentscheidungen in Betracht kommt. Für weitere
Informationen zu Spielbäumen und konkreten Beispielen
dazu sei an dieser Stelle auf [14, Kap. 6]) verwiesen.
Endlicher Automat
Endliche Automaten gehören zu der wohl bekanntesten
Problemklasse der Automatenlehre. Im Grunde ist ein
Endlicher Automat ein gerichteter Graph mit einer endlichen
Anzahl an Zuständen und Transitionen. Er verhält sich somit
ähnlich einem Baum, in dem Kanten in alle Richtungen
und in beliebiger, aber endlicher, Zahl erlaubt sind.
Ähnlich zum Wurzelknoten eines Baumes muss jeder
Endlicher Automat einen Startzustand und, analog zu
den Blättern eines Baumes, mindestens einen Endzustand
auszeichnen. Zustände im Allgemeinen beschreiben auf
abstrakte Weise das Verhalten des Bots. Die Transitionen
ermöglichen Zustandsübergänge bzw. im Kontext des
Bots Verhaltensänderungen. Der aktuell besuchte Zustand
wird dabei über mehrere Aktionsentscheidungen hinweg
gespeichert. Für gewöhnlich kann dabei zu einem bestimmen
Zeitpunkt allerdings nur jeweils ein Zustand aktiv sein.
Planen
Statt einer Suche im Entscheidungsraum kann auch ein
Planungsalgorithmus zur Planung eingesetzt werden. Ein
Plan ist dabei definiert als eine Abfolge von Aktionen,
die es zu ermitteln gilt. Planen beschreibt somit den
Prozess, wie man von einer Ausgangssituation zu einer
gewünschten Zielsituation gelangt. Im Allgemeinen wird
zwischen Vorwärts- und Rückwärtsplanern unterschieden.
Am einfachsten stellt man sich Planen als ein Wegebzw. Navigationsproblem in einem Graphen vor, bei dem
die Vorwärtssuche jeweils vom Start zum Ziel und die
Rückwärtssuche vom Ziel zum Start sucht. Planen ist somit
als eine spezielle Art der Suche zu verstehen, welche um
eine aussagekräftige Aktionsbeschreibung in einer logischen
Repräsentation erweitert wird. Planer ermöglichen eine
effektive Suche in großen Zustandsräumen, weil anders als
bei der normalen Suche nicht nur in den Blättern, sondern dank
der logischen Aktionsbeschreibung in jedem Planungsschritt
ausreichend Informationen zur Nutzenevaluierung zur
Verfügung stehen und somit eine schnelle Konzentration
auf vielversprechende Aktionen möglich wird. Der größte
Nachteil des Planes liegt jedoch in der Schwierigkeit der
Erfassung der Spielwelt als eine logische Repräsentation, die
wie beschrieben die Grundlage des Planens darstellt.
Endliche Automaten werden in deterministische und
nichtdeterministische unterteilt. Bei ersteren handelt es
sich um Endliche Automaten, wo der Folgezustand
eindeutig durch den aktuellen Zustand, der aktuellen
Eingabe und falls vorhanden den Informationen über den
aktuellen Zustand des Weltmodells bestimmbar ist. Mit
anderen Worten, wenn der Bot sich in einer bestimmten
Situation immer gleich verhält. Andernfalls spricht man
von Nichtdeterminismus. Nichtdeterminismus ist dann
erwünscht, wenn man Unwissenheit über die Umgebung
modellieren möchte oder eine gewisse Unberechenbarkeit
erreichen möchte. Mittels Potenzmengenkonstruktion lässt
sich allerdings jeder nichtdeterministische Automat in einen
äquivalenten, unter Umständen aber viel komplexeren,
deterministischen Automaten transformieren.
29
KI IN MODERNEN COMPUTERSPIELEN
{isOpponent = true},
{isHealthCritical = false},
{isOpponentFleeing = false},
{isOpponentHealthCritical = false},
{isMyGunPowerful = false}
Ganz gleich ob deterministisch oder nichtdeterministisch,
jeder Endliche Automat muss, wie auch alle anderen
auf Rationalität basierenden Entscheidungsverfahren, eine
Nutzenbewertung vornehmen um eine Transaktion und somit
die nächste Aktion des Bots zu bestimmen. Es existieren
mehrere Möglichkeiten eine solche Evaluierung zu erreichen.
Eine mögliche wäre die Zustandsübergänge mit logischen
Bedingungen zu verknüpfen. Ob eine Bedingungskomposition
einer Transaktion vom aktuellen Zustand aus erfüllt wird
hängt dabei von der aktuellen Eingabe (Bot Wahrnehmung)
und vom Weltzustand ab. Eine einfache Evaluierung
würde z.B. eine Aktionsauswahl nach der Anzahl der
erfüllten (Teil)-Bedingungen vornehmen. Hierzu soll ein
Beispiel aufgeführt werden. Für ein ähnliches allerdings
ausführlicheres Schritt-für-Schritt Beispiel eines Endlichen
Automaten für Computerspiele sei an dieser Stelle auf [1]
verwiesen.
Darauf könnte die obige einfache Evaluierung für Flüchten
einen Nutzen von drei und für Verfolgen, sowie für
Patrouillieren einen Nutzen von eins ermitteln. Bei diesen
Nutzenwerten würde dann die Aktion die zum Zustand
Fleeing führt ausgewählt werden.
Wenn man das Literal im Beispiel folgenderweise abändern
würde: isOpponentF leeing = true. Dann kämme jeweils
ein Nutzen von zwei für Flüchten und Verfolgen heraus. Eine
Entscheidung könnte nun entweder rein zufällig erfolgen oder
unter Berücksichtigung einer bestimmten Wahrscheinlichkeit,
die umso größer ist, je größer der Nutzen der Transition
ist. Diese Variante ist in der Fachliteratur als Fuzzy Logic
bekannt. Auch der Einsatz einer Priorisierungsliste wäre
denkbar, welche vorschreibt, dass bei gleichem Nutzen
Flüchten bevorzugt werden sollte. Andere Varianten wie die
Gewichtung von erfüllten oder nicht erfüllten Bedingungen
wären ebenfalls möglich. Wie man sieht existiert hier ein
großer Variationsspielraum. Endliche Automaten sind aus
diesem Grund, ihrer Einfachheit, die nur ein begrenztes
KI Wissen erfordert, und bekannter effektiver CodeImplementierungen sehr beliebt. So wird diese Technologie
in erfolgreichen Spielen wie Quake oder Halo eingesetzt.
Betrachtet wird nun der in Abbildung 4 dargestellte Endliche Automat der eine mögliche Modellierung der von Paul
Tozour [18] vorgeschlagenen Komponenten einer exemplarischen Verhaltenssteuerung zeigt. Der deterministische Endliche Automat verfügt über folgende Zustände:
• Idle: Startzustand, der Bot steht Wache und ist bereit in
Aktion zu treten.
• Patrolling: Der Bot folgt einen vom Designer vorgegeben
Überwachungsweg um nach neuen Gegnern Ausschau zu
halten.
• Combat: Der Bot ist geht in den Kampfmodus. Das
genaue Kampfverhalten wird an die Kampfkomponente
weiter geleitet.
• Fleeing: Der Bot ergreift die Flucht vor Gegnern oder
sonstigen Bedrohungsquellen.
• Searching: Der Bot sucht nach einem geflüchteten Gegner.
• Die: Endzustand, virtuelles Ableben des Bots.
Endliche Automaten haben allerdings auch Nachteile.
Das ursprüngliche Konzept erlaubt zwar anders als bei
Spielbäumen das Nachbilden von dynamischen Verhalten,
doch kann die Modellierung sehr schnell zu einer hohen
Anzahl an Transitionen, Zuständen und Zyklen führen, welche
alles andere als einfach zu handhaben wären. Es existieren
allerdings Techniken um diesem Problem entgegenzuwirken,
wirklich lösen können sie dieses Skalierungsproblem
allerdings nicht. Ein Beispiel für eine solche Technik
wäre die Einführung von Hierarchien (HFSM), wo ein
Zustand auch ein Endlicher Automat bzw. ein HFSM sein
kann. Ein Ausführliches Beispiel hierfür bietet Damian
Isla unter [7]. Der unter anderem die These vertritt, dass
Endliche Automaten von einer verbesserten, d.h. formaleren,
Wissensrepräsentation enorm profitieren würden, weil der
Informationsgehalt bzw. die Aussagekraft einer Wahrnehmung
dadurch deutlich erhöht werden würde, was letzten Endes
eine effektivere Modellierung von Endlichen Automaten
ermöglichen könnte.
Lerntechniken werden momentan u.a. dafür eingesetzt zur
Laufzeit genau diese Informationen aus den Wahrnehmungen
zu gewinnen. Techniken wie das Induktive Lernen oder der
Einsatz von Neuronalen Netzen würden z.B. eine automatische aus der Erfahrung heraus entwickelte Bewertung der
Wahrnehmungen oder Wahrnehmungsquellen ermöglichen, die
es dem Bot z.B. erlauben würde im Laufe des Spiel zu
bemerken, dass die Sichtung eines nahen Gegners immer
Abbildung 4. Endlicher Automat eines simplen FPS-Bots basierend auf [18].
Wegen der Übersichtlichkeit wurde hierbei auf die Abbildung des Endzustands
verzichtet. Zu ihm würde allerdings jeder Zustand mit einer hoch priorisierten
Transaktion isHealthZero = true führen. Auch auf die Rückkanten von
Fleeing und Searching nach Combat wurde verzichtet.
Eine Nutzenevaluierung könnte nun wie folgt aussehen:
Wenn man sich im Zustand Combat befindet und alle Informationen des folgende Literal ergeben würde:
30
KI IN MODERNEN COMPUTERSPIELEN
maßgeblichen Ausgang auf den Spielverlauf hatte als andere
Wahrnehmungsaspekte und deswegen stärkeren Einfluss auf
den Entscheidungsprozess einnehmen sollte. Die Kombinierung von formalen Methoden und Lerntechniken hätte meiner
Meinung eine kommutative Wirkung und somit ein großes Potential. Mit der formalen Modellierung könnte der Experte die
seiner Meinung nach relevanten Informationen aussagekräftig
und in eine Berechenbare Form aus den Wahrnehmungen in
das Modell einfließen lassen. Mit darauf aufbauenden Lerntechniken könnte er dann den Automaten Erkenntnisse lernen
lassen die außerhalb der Wissensbasis des Entwicklers liegen.
relevante Informationen den Wegpunkten angehängt werden,
wie z.B. eine Auszeichnung als Scharfschützenpunkt, der
beim Besitzt eines passenden Scharfschützengewehrs als
potenzielles Bewegungsziel an Attraktivität gewinnen würde.
Weiter können Kantenmarkierungen Animationsbefehle
enthalten wie sprung- oder duck-Anweisungen.
Das Einfließen von Expertenwissen wird gleichsam als
größter Nachteil dieses Konzeptes aufgefasst. Einerseits
ist die Erstellung mit einem erheblichen Aufwand für
den Leveldesigner verbunden und andererseits ist die
Intelligenz der Bot-Navigation im Wesentlichen vom
Können des Leveldesigners abhängig. Um dem ein wenig
entgegenzuwirken werden immer häufiger Lerntechniken
eingesetzt die mit ausgeklügelten Statistiken den Bot u.a. in
die Lage versetzen können bestimmte Wegpunkte zu meiden,
weil diese regelmäßig zum virtuellen Tod des Bots und somit
dem nicht erreichen des Bewegungsziel geführt haben.
D. Bewegungskomponente
Die Verhaltenskomponente bestimmt zwar wie in III-C
aufgeführt die Zielbestimmung, wie genau das Ziel jedoch
erreicht werden soll fällt in den Zuständigkeitsbereich der
Bewegungskomponente. Sie muss demzufolge über eine
Wegfindung in komplexen Umgebungen verfügen, entlang der
gefunden Wege sich bewegen können und dabei Hindernisse
erkennen und ausweichen können.
Um mit Wegpunktegraphen Hindernisse umgehen zu
können muss die simple Graphenstruktur erweitert werden.
Dies liegt in erster Linie daran, dass in simplen Graphen
nicht zwischen Wegpunkten und Hindernissen unterschieden
werden kann. Die Einführung von Radien, die den freien
Platz in der Umgebung der Knoten und Kanten angeben,
ermöglicht ein Ausschließen von statischen Hindernissen, wie
einer Säule oder ähnlichen unbeweglichen und unzerstörbaren
Hindernissen aus dem Graph. Abbildung 5 veranschaulicht
den Einsatz von Radien zur Hindernisausschließung. Ein netter
Nebeneffekt von Radien ist, da sie explizit den Hindernisfreien
Raum definieren und damit die Bewegungsfreiheit eines Bots
wie in Abbildung 6 zu sehen wesentlich erhöht. Der Bot muss
sich nicht länger nur auf den Kanten zwischen den Knoten
bewegen, sondern kann wie in Abbildung 5 den ganzen
durch die Radien aufgespannten Raum (in der Abbildung
der graue Bereich) zwischen Zwei Knoten benutzen. Damit
wird ebenfalls ein weiteres Problem von Wegepunktgraphen
gemindert - das Pfadglättungsproblem.
An erster Stelle steht die Entwicklung einer passenden
Repräsentation der Spielwelt, der Suchraumrepräsentation,
auf dessen Datenstrukturen entsprechende Wegfindungsalgorithmen eingesetzt werden können. Die Wahl einer
Suchraumrepräsentation ist stark von der spezifischen
Umgebung abhängig. In FPS Spielen haben sich
Wegpunktegraphen und Navigation Meshes durchgesetzt,
die im Folgenden näher betrachtet werden sollen.
Wegpunktegraphen fassen die Spielwelt als einen
zusammenhängenden gerichteten Graphen zusammen, wobei
ein Wegpunkt bzw. ein Knoten einen Ort repräsentiert
der von einem Bot angesteuert werden kann. Die Kanten
verbinden Graphen typisch einzelne Wegpunkte miteinander
und stellen die Wege auf denen sich ein Bot bewegen kann dar.
Wegpunktegraphen fungieren in diesem Sinne als ein stark
vereinfachtes Modell der Spielwelt. Dies führt automatisch
zu einer Eingrenzung der Bewegungsfreiheit eines Bots,
da dieser außerhalb des Graphen keinerlei Informationen
verfügt und somit diesen niemals verlassen darf. Auf der
anderen Seite ermöglicht die Simplifizierung auf ein einfaches
Graphenmodell eine effiziente Berechnung des kürzesten
Weges durch Einsatz wohl definierter Graphenalgorithmen
wie Hill Climbing, A*, Tiefen- oder Breitensuche.
Der Einsatz von Wegpunktegraphen ist wegen seiner
Einfachheit und aufgrund einer starken Integrierbarkeit
von Expertenwissen beliebt. Der Leveldesigner kann
durch geschickte Platzierung von Wegpunkten und durch
Hinzunahme von Wegpunkt-Attributen eine durchaus
effektive und differenzierbare Bot-Navigationen realisieren.
Beispielsweise ist es möglich über Wegpunkte den Bot
Informationen über seine nahe Umgebung, wie Erreichbarkeit
und Sichtbarkeit entfernter Wegepunkte zu geben. Auch
können für die Verhaltenskomponente zur Zielbestimmung
Abbildung 5. Ein Graph bestehend aus vier Knoten aus dem der Hinternisknoten mittels Radien und den dadurch definierten freien Raum aus den
Graphen ausgeschlossen wird. Basierend auf [5]
Von Bots die Wegpunktegraphen zur Navigation einsetzen
wird behauptet sie würden sich wie auf Schienen bewegen, da
31
KI IN MODERNEN COMPUTERSPIELEN
Navigation Meshes repräsentieren nach Paul Tozour
[17] „eine Menge von konvexen Polygonen, welche die
begehbare Fläche einer 3D Umgebung beschreiben.“ Ein
Polygon ist dabei ein Vieleck welches zur Darstellung von
dreidimensionalen Objekten benutzt wird. Abbildung 7 zeigt
ein Navigation Mesh für das aus Abbildung 6 aufgeführte
Beispiel. Die Abbildung zeigt, dass jede Ecke eines Polygons
als Knoten und jede Verbindung zwischen zwei Ecken
als Kante innerhalb des Graphen aufgefasst werden kann.
Entscheidend für Navigations Meshes ist das erstens die
begehbare Fläche möglichst vollständig und realistisch von
den Polygonen abgedeckt wird. Es macht demnach wenig
Sinn mit Navigation Meshes einen Wegepunktegraphen
nachzubilden. Zweitens die Eigenschaft der Konvexität.
Konvex bezeichnet in diesem Zusammenhang das jede
Verbindungsstrecke zwischen zwei beliebigen Punkten
innerhalb des Polygons ebenfalls vollständig in diesem
Polygon liegt. Diese Eigenschaft garantiert somit dass ein
Agent der sich zwischen zwei Knoten bewegt niemals das
aktuelle Mesh bzw. Polygon verlässt.
Abbildung 6.
Ein Wegepunktgraph in dem ein Pfad von A nach B
hervorgehoben ist. [16]
Navigation Meshes besitzen nach [16] einige wesentliche
Vorteile gegenüber Wegepunktegraphen. So tritt das
Pfadglättungsproblem aufgrund der weit genaueren
Raumabdeckung des Navigation Meshes weit weniger zu Tage,
weil eine Pfadkorrektur und somit eine Hindernisumgehung
ohne weites möglich ist. Wohingegen bei Wegepunktegraphen
ohne Radien ein plötzliches Hindernis einer Katastrophe
gleichkommt, da der kleine durch die Kante vorgegebene
Weg nicht verlassen werden darf. Weiter zeigt der Vergleich
von Abbildung 7 und 6 das größere Flächen weitaus
effektiver und effizienter abgedeckt werden können als es mit
einem Wegepunktegraphen, selbst mit Radien, möglich wäre.
Außerdem zeigt der Abbildungsvergleich, dass ein „Zick-Zag“
laufen von Bots basierend auf Wegpunktegraphen vermieden
wird, der unweigerlich bei diesen entsteht, weil die Freiräume
zwischen den Knoten im Wegpunktegraphen unbekanntes
Gebiet darstellen und somit nicht betreten werden dürfen
Zwar existiert in einem Navigation Mesh ebenfalls Freiraum
doch ist dieser auf ein Minimum beschränkt. Als Nachteile
von Navigation Meshes werden lediglich die im Vergleich zu
Wegepunktegraphen hohen Speicher kosten und die durchaus
komplexe und aufwendige Generierung angesehen.
Abbildung 7. Ein Navigation Mesh der viel weniger Knoten und Kanten
benötigt wie der Wegepunktgraph. Der Freiraum zwischen den Knoten dargestellt als weiße Fläche ist dabei nicht unbekanntes Gebiet, sondern kann zur
Wegeoptimierung benutzt werden. [16]
sie sich immer auf Geraden entlang bewegen. Diesem Problem
wird mit Techniken wie dem Catmull-Rom spline, welches
eine Abrundung der Kanten bewirkt, entgegengewirkt, doch
wie erwähnt besitzt ein Bot keine Informationen außerhalb des
Graphen, sodass eine Abrundung und somit ein Abweichen
vom Graphen zur einer Kollision führen kann. Radien
erweitern den Informationsraum, sodass der Spielraum für
Abrunden innerhalb des Graphen vergrößert wird.
Auf beiden Suchraumrepräsentationen kann abschließend
einer der bereits erwähnten Graphenalgorithmen angewandt
werden. Generell unterscheidet man zwischen einer globalen
und einer lokalen Suche, in denen sich jeweils andere
Suchalgorithmen etabliert haben.
In [12] definiert A. Nareyek die globale Suche als
„Long-Term Pathfinding“ und bezeichnet damit eine Art
übergeordnete Suche die einen kürzesten Weg von A nach B
unter Vernachlässigung einiger Details, wie z.B. dynamische
Hindernisse, vornimmt. Der A*-Algorithmus wird hier
als populärster Vertreter seiner Zunft aufgeführt, dessen
Funktionsweise bei Bedarf ebenfalls in [12] oder in [14]
Um weiter dynamischen Hindernissen, d.h. beweglichen
oder zerstörbaren Hindernissen, ausweichen zu können
werden weitere Informationen oder Techniken wie
Graphenkommentierung oder Boundingboxes bzw. spheres
benötigt. (vgl. primär [17] aber auch [5])
32
KI IN MODERNEN COMPUTERSPIELEN
nachgeschlagen werden kann.
Gegnerverhalten zu tätigen und demensprechend die eigne
Taktik darauf auszurichten. Die Gegnermodellierung ist
ebenfalls für das Zielen und Schießen essentiell. Damit ein
sich in Bewegung befindlicher Gegner getroffen werden kann,
muss eine Voraussage über sein Verhalten, ins besondere
seine zukünftige Bewegung in Bezug auf Richtung und
Geschwindigkeit getroffen werden. In diesem Fall hilft
ein sogenannter Tracker [3] welcher im einfachsten Fall
die Projektilgeschwindigkeit der aktuellen Waffe, sowie
Geschwindigkeit und Richtung des Ziels berechnet und
somit nicht auf die aktuelle Gegnerposition zielt, sondern
auf eine voraussichtlich zukünftige Position, wie es in
Abbildung 8 dargestellt ist. Bei diesen Berechnungen
ist die Berücksichtigung von Waffeneigenschaften von
entscheidender Bedeutung. Die eben aufgeführte simple
Berechnung wäre für eine Mehrschusswaffe, wie ein
Maschinengewehr oder eine Schrottflinte unbrauchbar und
müsste weitere Aspekte beachten.
Die lokale Suche wird hingegen hauptsächlich dazu eingesetzt den optimalen Weg zwischen zwei benachbarten Knoten
unter Berücksichtigung aller Details zu finden bzw. den Weg
der globalen Suche zu verfeinern. In [12] und in [15] wird die
lokale Suche als „Short-Term Steering“ bezeichnet, wobei der
Begriff des „Steerings“ aus der Robotik stammt und für eine
Reihe von Techniken zur exakten Bewegungssteuerung eines
Agenten aus einer eingeschränkten Perspektive steht. Eine
mögliche Steering-Technik ist beispielsweise eine Vektorrechnung zur Steuerung, sodass z.B. mittels Vektoraddition des Bewegungsvektors des Agenten mit den Vektorrepräsentationen
der Hindernisse ein neuer Bewegungsvektor berechnet wird
der somit um die Hindernisse herum führt. Es ist ersichtlich,
dass solch eine Art der Berechnung nur für die unmittelbare
Umgebung vorgenommen werden kann.
E. Kampfkomponente
Die Verhaltenskomponente entscheidet ähnlich wie bei
der Bewegungskomponente lediglich wann zu kämpfen ist,
in der Kampfkomponente erst wird dann entscheiden, wie
der Bot letzen Endes den Kampf konkret zu bestreiten
hat. In diesen Zuständigkeitsbereich fallen u.a Gegnerund Waffenauswahl, sowie die Entscheidung für das
endgültige Zielen und Schießen. Die Mächtigkeit der beiden
letztgenannten Punkte ist stark von der Umgebung abhängig
in der die Spiele-KI eingesetzt wird. Je nach Mächtigkeit
der Umgebungsinteraktionen, zielt der Entscheidungsprozess
im feingranularen Fall auf eine Koordinatenangabe in einem
drei-dimensionalen Raum ab, sodass jeder einzelner Punkt des
Gegners getroffen werden kann, oder im entgegen gesetzten
Fall lediglich auf eine Angabe des Feuerzeitpunktes um den
Gegner nur zu treffen.
Abbildung 8.
Ein simpler Tracker um ein bewegliches Ziel mit einer
Einzelschusswaffe zu treffen. [3]
Die Kampfkomponente benutzt in der Regel, wie die
Verhaltenskomponente Endliche Automaten oder ähnliche
darauf aufbauende Konstrukte zur Entscheidungsfindung. Ein
wesentlicher Aspekt ist dabei, dass der Entscheidungsprozess
in der Regel mindestens zweigeteilt ist. Als erstes
wird eine Kampftaktik gewählt, die die anschließende
Einzelentscheidungswahl maßgeblich beeinflusst und in
regelmäßigen Abständen auf ihre Gültigkeit hin überprüft
wird. Die größte Herausforderung bei der Taktikauswahl
ist die momentane Spielsituation bestmöglich erfassen und
interpretieren zu können. Eine Taktik wird in der Regel als
vordefinierte Regelmenge mittels Expertenwissen realisiert,
welches wenn aktiv den Entscheidungsprozess auf eine
gewisse Weise beeinflusst. Eine mögliche Technik zur
Taktikauswahl ist die aus III-D eingeführten Wegepunkte
mit taktisch relevanten Informationen zu versehen und
diese während des Spiels in die Entscheidungsfindung mit
einfließen zu lassen. (vgl. [18])
IV. Z USAMMENFASSUNG UND FAZIT
Im Rahmen dieser Ausarbeitung wurde gezeigt, dass das
Anforderungsspektrum an eine Spiele-KI breit gefächert ist.
Die Anforderungen reichen dabei von simpel anmutenden
Fähigkeiten wie Bewegen und Kämpfen, hin zu Aspketen
menschenähnlicher Verhaltensnachbildung (Human Level AI),
wie der Kommunikations- und/oder Koordinierungsfähigkeit
in Gruppen. Mit der Analyse eines Tactical Enemies in FirstPerson Shootern wurden Techniken und zu berücksichtigende
Aspekte zur Erfüllung einiger der zuvor aufgeführten
Anforderungen vorgestellt und analysiert. Ein wesentliches
Merkmal dieser Untersuchung war die Zusammenführung von
Expertenwissen, eines in der Industrie tätigen KI-Entwickler
wie P. Tozour, mit etablierten Konzepten der traditionellen
KI, wie dem Modell des rationalen Agenten nach S. Russel.
Anhand dieses Modells wurden eine Reihe von Techniken
und Alternativen in den Bereichen Verhalten, Bewegung und
Kampf aufgezeigt und auf etwaige Stärken und Schwächen
der verschiedenen Ansätze eingegangen.
Ein für die Taktikauswahl weiteres wichtiges Element
ist die Gegnermodellierung. Eine exakte Modellierung
ermöglicht es fundierte Aussagen über das zukünftige
33
KI IN MODERNEN COMPUTERSPIELEN
Ein Aspekt der bei dieser vorgenommenen Betrachtung
vielleicht nicht jedem Leser sofort ins Auge springt, ist
der Einfluss der Spiele-KI auf das Gamedesign. Wenn
man beispielsweise die Kampfkomponente betrachtet muss
man unweigerlich feststellen, dass diese Komponente, wie
keine andere KI Komponente, wesentlichen Einfluss auf
die Spielbalance ausübt. Die Kampfkomponente muss auf
die Modellierung menschlicher Schwächen achten. Ein
augenblicklich schießender, dabei noch perfekt zielender,
Bot wäre für die meisten Spieler unbezwingbar. Wenn man
sich jetzt ein Missionsdesign vor Augen führt, welches ohne
Berücksichtigung der KI, in einer besonderen Spielsituation
eine Spielerkonfrontation mit fünf oder sechs solcher Gegner
vorsieht, würde man wahrscheinlich zu dem Schluss kommen,
dass auch der weltbeste Spieler nie den Abspann dieses Spiels
erleben würde. Auf der anderen Seite ist ein Strategiespiel,
wo eine intelligente autonome Einheiten-KI zum siegreichen
Beenden einer Mission den Spieler nicht oder nur sehr
eingeschränkt benötigt, ebenfalls nicht zweckdienlich.
Wenn doch müsste dies im Gamedesign von Beginn an
explizit berücksichtigt werden um den Spieler vor andere
Herausforderungen zu stellen.
[2] Rémi Coulom. Efficient selectivity and backup operators in monte-carlo
tree search. Computers and Games, pages 72–83, 2007. III-C
[3] Daniel Sanchez Crespo Dalmau and Daniel Sanchez Crespo. Game
programming: Action oriented ai. Website. http://www.peachpit.com/
articles/article.aspx?p=102090&seqNum=8. Zugriff 30.05.2010. III-E,
8
[4] Sylvain Gelly and David Silver. Combining online and offline knowledge
in uct. In ICML ’07: Proceedings of the 24th international conference
on Machine learning, pages 273–280. ACM, 2007. III-C
[5] Sebastian Hammes. Hindernisnavigation. Website, 2007. http://www.
fh-wedel.de/fileadmin/mitarbeiter/iw/Lehrveranstaltungen/2007SS/
SeminarSpieleKI/Ausarbeitung6HindernisnavigationHammes.pdf.
Zugriff 30.06.2010. 5, III-D
[6] Marc Hassenzahl. Attraktive software – was gestalter von computerspielen lernen können. In User Interface Tuning. Benutzungsschnittstellen
menschlich gestalten, 2003. I
[7] Damian Isla. Handling complexity in the halo 2 ai. Website. http:
//www.gamasutra.com/gdc2005/features/20050311/isla_pfv.htm. Zugriff
28.05.2010. III-C
[8] Heiko Klinge. Künstliche Dummheit statt Künstliche Intelligenz: Warum
Künstliche Intelligenz (KI) in Spielen stagniert. GameStar-Ausgabe
02/2008, 2008. IV
[9] John E. Laird and Michael van Lent. Human-Level AI’s Killer
Application. AI Magazine Volume 22 Number 2, 2001. II-B, II-C
[10] M. Lekavy and P. Návrat. Expressivity of strips-like and htn-like planning. In Agent and Multi-Agent Systems: Technologies and Applications,
pages 121–130, 2007. III-C
[11] Michael Mateas. Expressive ai: Games and artificial intelligence. In
Proceedings of International DiGRA Conference, 2003. II-A
[12] Alexander Nareyek. Ai in computer games. Queue, 1(10):58–65, 2004.
III-D
[13] T. Verweij R. Straatman and A. Champandard. Killzone 2 multiplayer
bots. Paris Game AI Conference 2009, 2009. III-C
[14] S. J. Russell and P. Norvig. Künstliche Intelligenz: Ein moderner Ansatz.
Pearson Studium, 2nd edition, 2004. II-A, III-A, 1, 2, 3, III-C, III-D
[15] Simon L. Tomlinson. S.l. tomlinson: The long and short of steering in
computer games the long and short of steering in computer. III-D
[16] Paul Tozour. Fixing pathfinding once and for all. Website. http://www.
ai-blog.net/archives/000152.html. Zugriff 30.05.2010. 6, 7, III-D
[17] Paul Tozour. Building a near-optimal navigation mesh. In AI Game
Programming Wisdom, pages 171–185. Charles River Media, 2002.
III-D
[18] Paul Tozour. First-person shooter ai architecture. In AI Game Programming Wisdom, pages 387–396. Charles River Media, 2002. III-B, 3,
III-C, 4, III-E
[19] Wikipedia. Video game genres. Website. http://en.wikipedia.org/wiki/
Video_game_genres. Zugriff 28.05.2010. II-C
Für Heiko Klinge ist dieser Einfluss in [8] einer der
Hauptgründe warum die KI in Computerspielen seit Jahren
auf geringem Level stagniert. Die Spiele-KI wird trotz
ihrer großen Bedeutung meist relativ spät eingeplant. Bei
Verzögerungen nicht selten erst in ein fast fertiges Spiel im
Nachhinein rein programmiert. Als Gründe hierfür werden
eine falsche Priorisierung der Spiele-KI, die nicht als das
Verkaufsargument von der Marketing Abteilung angesehen
wird, und eine Unterschätzung des Entwicklungsaufwands
aufgeführt.
Das es allerdings auch anders geht hat in der jüngsten
Zeit vor allem Assasines Creed gezeigt. Die Entwicklung von
belebten Städten mit Hunderten von Passanten mit jeweils
individuellen Tagesabläufen war von Beginn an zentrales
Spielelement und dass für den Publisher, für das Marketing
und damit auch für den Entwickler selbst. Demnach lässt
die Zukunft durchaus Hoffen, besonders wenn man bedenkt,
dass Computerspiele es sich nicht auf Dauer leisten können in
fotorealistischen Welten über eine „dumme“ KI zu verfügen.
Es muss jedoch gesagt werden, dass zwar von Firmen wie
Artificial und Xaitment langsam professionelle Tools auf den
Markt kommen, diese jedoch noch sehr weit davon entfernt
sind in Sachen Mächtigkeit und Ausgereiftheit mit Tools aus
anderen Bereichen, wie dem Grafikbereich mit Maya oder
3DStudioMax gleich ziehen zu können. Eine Möglichkeit wie
man einen Fortschritt erzielen könnte, ist es, wie in dieser
Ausarbeitung gezeigt, sich auf die Erfolge und Konzepte der
traditionellen KI zu beziehen und diese als Grundlage für
weitere Entwicklungen zu verwenden.
L ITERATUR
[1] Jason Brownlee. Finite state machines (fsm). Website. http://ai-depot.
com/FiniteStateMachines/. Zugriff 30.06.2010. III-C
34
REPUTATION SYSTEMS FOR P2P NETWORKS
Reputation Systems for P2P Networks
Alexander Gebhardt
up to a comprehensible and short scheme. This scheme is
set into context of approaches that have been analyzed in
the surveys as well as approaches, outside the scope of the
surveys. The intention behind the choice of these approaches is
to discover a wide range of properties that can be encountered
in reputation systems. In section II, the overall incentive
to put a reputation system in place is differentiated and
put into perspective. The following section III explains the
notion of reputation and how it can be used to establish
trust in decentralized networks. It is subdivided into the main
components and properties of reputation systems, namely their
architectures III-A, the policies they implement III-B, their
identity models III-C, their reputation metrics and processing
methods III-D, and finally their security problems III-E. In
section IV the main conclusions of this paper are summarized.
Abstract—In P2P-Systems like in economics the knowledge
of a transaction partner’s reputation may be seen as major
factor deciding for a transaction or against it. Many efforts have
been made in the research community to model and implement
mechanisms that produce reliable reputation information on
peers in a network in order to support decision making. This
paper introduces a general architecture of reputation systems
and details its main facets referring to some of the best known
approaches in the field. Topologies, identity models, reputation
policies and metrics as well as inherent security issues and
solutions are part of the discussion.
I. I NTRODUCTION
In business transactions throughout the economy, trust is a
fundamental principle for the assessment of their value and
risk. If all parties in such a transaction trust each other, they
mutually rely on the display of a certain behavior specified
in a contract between them. In Internet economics the market
connects huge amounts of users, and the parties interacting
with each other are mainly unknown strangers hidden behind
synonyms. The Internet auctioning platform eBay operates a
large system that tries to establish a basis for trust relationships
in its scope. Users in eBay rate each other after successful
or unsuccessful transactions and put these ratings on display
for everyone else. Malicious behavior such as fraud can be
exposed and further transactions with the malicious party
become rather improbable. Since the rise of peer to peer networks especially for file-sharing purposes, malicious behavior
introduces real security threats to nearly all security goals
in participating computer systems, reaching from integrity,
authenticity and privacy to confidentiality.
The need for a notion of trust in peer to peer networks
gave rise to a vast amount of research regarding reputation
systems for decentralized networks. Whereas in centralized
networks, the known concept of public key infrastructures
and trust anchors is applicable for one or more central trusted
entities deciding for trust and distrust inside the system, this
approach does not scale without major financial investments in
bandwidth and computing power. Since 2001 a large amount of
different systems have been proposed that collect user opinions
expressed similarly to the opinions in eBay from the peer to
peer network. They derive from this data local and global
reputation measures that can be retrieved by users of the
network in preparation of a transaction.
In fact, the number of approaches is so large, that there
is even a vast amount of surveys that try to categorize the
approaches and find common denominators that help to route
research among extensions of present models [5], instead of
broadening the base of available mechanisms: Jøsang et al.
state a certain ”lack of coherence“ in the area of reputation
systems. In this paper, several surveys are investigated for
common classifications of reputation systems and summarized
II. T RUST
The first thing to understand with trust in the context of
reputation systems is that an entity’s reputation may be an
indicator for whether to trust it or not, but a high value of
reputation is not equivalent to a high value of trust. And even
if an entity is trustworthy that does not say anything about
its reputation, which might be low because it never interacted
with someone. This section will give a short introduction to
trust and its facets in peer to peer networks.
The notion of trust in the context of computer systems
or human interaction via computer systems would be quite
simple, if the notion of trust in everyday life was simple. In
fact, the everyday life notion of trust is rather complex and
bears different meanings in different contexts although used
under a common name. To give a clear understanding of what
trust means in a peer to peer environment the notion has to be
expanded. In the sentence “I trust peer X” an unconditional
trust in a peer as a whole is expressed, which might imply
trust in the peer’s current behavior, trust in the steadiness of
the peer’s behavior, trust in the authenticity of its identity and
so on. This situation is very rare in everyday life and even
more rare in a more or less anonymous network of millions of
users one has never met personally. In general, trust is limited
to a certain aspect of an entity under specified conditions in a
specified context. An example in a peer to peer environment
might be: “Given the trust in my communication channel, I
trust the association of a peers identifier and its real identity
in the form of its IP address”.
Jøsang et al. select in [5] several definitions of trust found
in the literature, which sum up to the following: Trusting in
the reliability of a peer with regard to a given action that
influences the environment of the truster is called reliability
trust. The
extent to which one party is willing to depend on
something or somebody in a given situation with
35
REPUTATION SYSTEMS FOR P2P NETWORKS
a feeling of relative security, even though negative
consequences are possible [5, p. 4]
is called decision trust. Both forms of trust incorporate the
dependence of the truster on the trustee or his behavior.
Decision trust, in contrast to most other trust notions, also
incorporates risk which leads to a much broader notion of trust,
since trust may also be present in situations where a negative
outcome may occur. Provision trust is called the trust of an
entity in another entity’s behavior compared to its asserted
behavior specified in a contract. Identity trust is the trust an
entity puts into the association between another entity and its
provided identifier, which commonly goes by the name entity
authenticity. The term ID will further on refer to an identifier
or name in the identity model of a peer to peer system whereas
the identity or real identity refers to a credential linked to a
user of the system e.g. the IP-address.
More generally, trust relationships can be classified in terms
of scope and perspective. The perspective of a trust relationship may be either subjective or objective. A persons’ own
experience with another person falls in the category of subjective perspective, as do other people’s experiences, whereas
an objective perspective can be obtained via standardized tests
e.g. of a service providers reliability. The scope is another very
important detail in common predications concerning trust and
can either be general or specific. While a general notion of
trust makes reasoning very simple, it omits many details due
to its coarse granularity. A specific predication of trust covers
only a very small set of aspects of an entity but makes the
circumstances under which the trust holds very precise.
Peer to peer applications strongly rely on the principles
of reciprocality and cooperation. The service offered by the
peer to peer application gains in quality with each active
peer that contributes to the system. As long as every peer
is willing to contribute at least the ”amount“ of service he
consumed, the participation in the network does not have any
disadvantage. Since the best local strategy to use such an
application is to consume without contributing, the application
has to implement a policy that forces or at least incentivizes
users to contribute. User of such an application have to see
an immediate gain from contribution instead of the hardly
visible gain for the overall service quality. The reliability of
peers also contributes to the overall service quality. If a peer
provides a poor service e.g. providing a low quality file in a
file-sharing network, the service consumer will have to make
a second attempt to receive a file with an appropriate quality
level. If this attempt also fails, the user may decide to leave
the network and thereby reduces the global service quality.
These two examples are problems whose solutions are covered
by reputation systems for peer to peer networks. Reputation
systems are able to incentivize users to contribute to the system
and give the opportunity to gather information on a service
provider or service before using it. This leads to a higher level
of confidence with the system which in turn incentivizes more
users to join the network.
Reputation is what is generally said or believed
about a person’s or thing’s character or standing. [5]
In social environments reputation is mostly unquantified information that is human comprehensible only and either needs
a lot of interpretation to help reasoning about an entity’s
trustworthiness or is already expressed in natural language
using terms that are vaguely in an at least partial order like
terrible, bad, neutral and good. Generally these descriptions
have to be modeled so that a computer program may itself
reason about reputation, but in terms of reduced overhead, the
most approaches use numeric values to quantify reputation and
complex algorithms to determine which behavior shall be rated
with which value. The quantification allows fast processing,
and compact display in user interaction, but also gives room
for e.g. game theoretic approaches for peer selection based on
these values.
Reputation systems have been widely studied in the literature [5], [8], [10], [11] and are available in hundreds of
more ore less different implementations and models which
is a known issue regarding the ”lack of coherence“ in the
research on this topic. In this section, reputation systems will
be described regarding several aspects like their architecture in
III-A, the policies they are implementing in III-B, their identity
models in III-C and their security issues in III-E. According to
Ruohomaa et al. [11], the remaining part of reputation systems
can be investigated by looking at the three topics:
III. R EPUTATION
In all kinds of networks where reciprocally unknown users
interact with another by exchanging valuable goods, there is a
need for metrics that indicate whether a planned interaction is
likely to result in the expected trade or in another undesirable
state. In economics, such metrics are partially derived from
product prizes, where a conspicuously low price for a product
leads to the assumption that it is of very low quality, and a high
price to the assumption of superior quality. These assumptions
are independent of the entity offering the products. A metric
that delivers more reliable information about the outcome of
a transaction in this sense is reputation. An entity offering
a service that has gained good reputation from earlier service
users e.g. contented customers of a store may be very likely to
make a fair trade with a new customer. The same can be said
about bad reputation with an unfair outcome. In peer to peer
networks, there are usually no prices to pay when accessing
services, thus, there is no implication for the outcome of a
transaction. In general, there are also many service providers
that a future user may have never seen or heard of before,
leaving a transaction outcome unsure. Like in the real world,
a peer has to ask other peers that have knowledge on the
reliability of the service provider i.e. their provision trust
in him, to be able to decide whether to interact with the
provider or not. Reputation systems automatize this process
by incentivizing users to rate past transactions and make their
rating publicly available for other users.
•
•
•
creation and content of a recommendation,
selection and use of recommenders and
interpretation and reasoning applied to the gathered information
which will be discussed in detail in section III-D.
36
REPUTATION SYSTEMS FOR P2P NETWORKS
A. Topologies
transactions between two peers. The incentive policy implemented in reputation systems incentivizes users to offer valuable service and to behave in a reasonable and transparent way.
Since following an incentive is optional, reputation systems
also need to handle peers that do not follow the incentive,
commonly called “malicious” peers.
Malicious peers are similar to regular peers except for
differences in the source of profit respectively their goal.
While a regular peer’s goals in a network may range from
successfully using a service to altruisticly providing service
for global welfare, the goals of a malicious peer partially
conflict with them. A malicious peer may e.g. interrupt service
usage and provision running denial of service attacks on other
peers. Even a regular user may be categorized as malicious,
if he does not follow a general principle of reciprocity, i.e.
giving back what has been taken, which is vital for peer to
peer networks to achieve a certain level of service quality.
Peers that use services without providing services themselves
are called “freeriders” and are unwelcome guests in many
reputation systems. These systems try to incentivize service
provision by limiting the service usage capability of a peer in
the network according to its contribution rate in the past. A
common problem, these reputation systems have to cope with
is that newcomers do not have a past in the network (or at least
seem so) and therefore look like freeriders, but need to be able
to gain reputation (which freeriders should not) in order to be
able to provide good service. This problem is referred to as
the “newcomer problem”.
According to S. Marti and H. Garcia-Molina [8] there exists
a conflict of objectives between incentive schemes encouraging
cooperation in the network and incentive schemes that try
to punish malicious peers, implying that both goals cannot
be satisfied at the same time by one system. A similar
conflict exists between the cooperation incentive and one that
punishes freeriders, as described in the preceding passage.
The systems described in [2] and [6] for example focus on
the punishment of malware spreading peers while taking into
account the freeriding issue in their source selection algorithms
(See section III-D4). With the ReGreT system [12], Sabater et
al. try to incentivize cooperation in social environments or so
called multi agent environments [11]. Due to a sophisticated
formal model their approach is also adaptable to a wide range
of other policies thus supporting arbitrary incentives like e.g.
an incentive to deliver on time as stated in [12]. M. Gupta
et al. [3] even relativize the notion of freeriders by assigning
reputation to peers that participate in the routing of queries,
which are practically all peers in the system except maybe
some malicious peers that practice message dropping. On the
other hand, freeriders are explicitly penalized in their approach
as the metric bases on message sizes which are minimal in
routing compared to e.g. application level service provision.
Their incentive is strictly focused on peer cooperation.
An example for a list of requirements or goals of a typical
reputation system is that of EigenTrust [6] which comprises:
• a self-policing system in which shared ethics are defined
by the users
• anonymity maintenance
• no profit for newcomers
Reputation systems for peer to peer networks can be put
into the application layer next to the peer to peer application
they are supporting as what can be called an extension.
Since the reputation system is not bound to the overlay that
supports its host, it may or may not introduce out of band
communication in order to fulfill its purpose. In the most cases
where out of band communication takes place, it utilizes direct
TCP/IP connections or a custom overlay. There exist mainly
three different types of topologies for reputation systems.
Most reputation systems rely on a central server that stores
reputation information for its clients. Such architectures often
handle bottlenecks by setting up redundancy at the server level
and provide a central identity management, which is apart
from its topology the basis for every reputation system. A
well known example of this topology is the eBay platform. The
decentralized systems corresponding to peer to peer topologies
often use the identity management of their host applications,
which in the most cases is of distributed nature. Other systems
form an individual overlay for reputation management to be
independent of the supported peer to peer overlay. Reputation values are either stored on the peers the reputation is
attached to or on other peers in the role of an agent like in
[2]. Some approaches even use distributed storage systems
to store and replicate the reputation data in a transparent
fashion [1]. While distributed approaches attempt to eliminate,
they lack for example mechanisms to counter sybil attacks
(See section III-E for further explanation). The third type of
topology, often referred to as “hybrid”, is a solution where
most of the network acts like a decentralized network, but
parts of the functionality incorporate a classic client / server
approach. These networks either exploit the heterogeneity of
peers assigning them demanding tasks (ultra peers known from
Gnutella v. 0.61 or super peers known from FastTrack2 ) or rely
on a central trusted authority that for example provides access
control mechanisms, global variables or an identity generator
service [3].
B. Policies
Policies are widely used to force users of any system into a
certain behavior. Incentive mechanisms implement incentive
policies that modify the game theoretic environment in a
system, such that users that try to maximize their own profit
have to follow certain rules resulting in a behavior that satisfies
the policy. Users face an incentive to behave exactly as the
policy states, given that the goal of the user is a goal the
incentive mechanism or the policy addresses.
Reputation systems can be seen as implementation of an
incentive policy as they provide a way to maximize a user’s
own profit by following certain rules, i.e. by participating in
a reputation protocol. Reputation systems promise a higher
chance for successful service use and a basis for reliability
trust and provision trust, which is e.g. essential in business
1 Gnutella
2 KaZaA:
v. 0.6: http://rfc-gnutella.sourceforge.net/src/rfc-0_6-draft.html
http://www.kazaa.com
37
REPUTATION SYSTEMS FOR P2P NETWORKS
minimal overhead
robustness in case of attacks
Clearly, the policy this system implements in none that punishes freeriders. It explicitly addresses the wish for anonymity
in a rating system in order to prevent vengeance actions. It
addresses the cost of participating in the protocol via the
requirement for minimal overhead. The no-profit requirement
for newcomers targets whitewashing attacks and incentivizes
the maintenance of a steady identity which supports the
reputation system as will be stressed in the following section.
ogy, the algorithmic core of the system can be investigated.
According to Ruohomaa et al. [11] it can be divided into:
•
•
•
•
•
creation and content of a recommendation,
selection and use of recommenders and
interpretation and reasoning applied to the gathered information.
Aberer et al. [1] divide the core into:
•
•
C. Identity Model
•
Identity models are a key concept to reputation systems.
In everyday life, reputation is associated with an entity like
a person or with collectives like a company or a brand. In
collectives each entity inherits some ground reputation from
the fact that the entity is a member of the collective, and
in the other direction adds to the reputation of the collective
making a collective’s reputation a pool of the reputation of its
members. Single entities can be identified by identity-cards
which bind their appearance to their name and membership
contracts which bind them to their collective identifier.
In computer reputation systems these rules hold for immutable identifiers which can be seen as names for a collective
of users or entities behind that name. Every regular user that
follows the rules of a peer to peer network, using such an
identifier, adds the reputation gained via interactions with other
peers to the collective name. If the user acts maliciously, the
group reputation will suffer from this peer’s behavior. In peer
to peer file-sharing networks, the common case is that the
groups only contain one single user loosely coupled to the
group name (i.e. there are no contracts). In some systems, the
identifiers change with every start of the application which
would lead to very temporary and ineffective reputation scores.
So, the basis for every reputation system is a long lasting
identifier, preferably binding an entity behind a name to that
name. This identifier can be assigned to a reputation score
providing a basis for trust.
Mechanisms to achieve such a binding reach from establishing a central server that generates identifiers for identities
in the network and asks the requesting entity to provide
identifiers for an out of band identity, up to the usage of secrets
e.g. with public / private key pairs [2], [3], [7]. Such a binding
is desirable for liability reasons but conflicts with an important
goal in open peer to peer networks: Anonymity. Especially in
the presence of whitewashing or the sybil attack (See section
III-E) more complex identity models have to be consulted that
bring some cost to identity creation like a difficult computation
process or a simple fee. The major problem with such models
is the central authority they rely on which induces bottlenecks
and thus a bad scalability. Further solutions fall into the scope
of literature dedicated to identity models and are not discussed
in this paper.
a global trust model, which will in general depend on
a notion of reputation and describe when an agent is
trustworthy,
a local algorithm to determine trust and
data and communication management.
The global trust model of Aberer is a formal requirement for
the reasoning part in Ruohomaa’s list. It specifies how exactly
the reasoning can be done and how to interpret the results.
The local algorithm in Aberer’s list contains the selection and
use of recommenders and also the creation and content of a
recommendation. The data and communication management
of Aberer et al. addresses mainly the storage and access
mechanisms used for persistence and retrieval of reputation
records. Ruohomaa et al. only touch on this subject in the
reasoning part indicated by ”gathered information“. Since
Aberer et al. take a layer-model perspective there is no surprise
in the reverse order compared to Ruohomaa et al.. It is to
notice that the algorithm for the selection of a service provider
is a characteristic of the reasoning and interpretation phase.
In [4] Hoffman et al. make a much more detailed categorization of the reputation system, which is in the most
cases covered by the discussion in this section even if not
explicitly stated. Their analysis framework is a more formal
approach that divides the reputation system into formulation,
calculation and dissemination. The formulation subsystem
specifies the creation and content of a recommendation as in
Ruohomaa’s list. The calculation subsystem specifies how a
reputation value is being calculated from recommendations,
resembling the local algorithm of Aberer et al.. The dissemination subsystem is exactly what Ruohomaa et al. call data
and communcation management. As can be concluded, all the
investigated categorizations are similar.
The categorization proposed in this paper is the following:
•
•
•
•
Creation of recommendations
Recommender selection
Trustworthiness decision
Source selection
For clarity reasons the discussion of the interpretation and
reasoning phase is splitted into the trustworthiness decision
that filters out certain peers from the set of obtained sources
and the source selection process. The storage of reputation
records is addressed in the section on recommendation creation
(III-D1).
The foundation of a useful reputation metric is the ability to
aggregate a large set of user experiences with other users and
transactions into a very small set of values that nevertheless
give a hint on the contents of the large set. The notion of
a compression function may be adequate to describe what
produces this metric.
D. Reputation Metric
Besides important environmental factors such as the identity
model, the reputation policy and the reputation system’s topol-
38
REPUTATION SYSTEMS FOR P2P NETWORKS
The eBay reputation system [9] for example constructs
single transaction ratings of a recommender, a recommendee, a
time stamp, a rating of either -1 for negative, 0 for neutral and
1 for positive transaction outcome and finally a text comment
for detailing reasons for the rating. All ratings for an entity in
the ebay system are collected centrally and aggregated into a
simple general reputation value, namely the number of positive
ratings by distinct users minus the number of negative ratings
by distinct users. This number only serves as a simple metric
for fast comparison and can be seen as a recommendation. The
detailed database of reputation records of a given entity can be
viewed completely for each entity and due to the timestamps
in transaction records, some predictability of behavior may be
assessed.
While the eBay system might be extensive in terms of
usage count and therefore widely studied in current and past
research, it has two drawbacks that make it a bad choice for
peer to peer networks. The first is obviously the centralized
architecture. The second is the inclusion of human-machineinteraction in the process of reasoning about trustworthiness
[11]. In some of the current peer to peer networks, the service
provider selection is hidden from the user, as there are for
example many source selection steps in file-sharing systems
like BitTorrent 3 . Making these steps visible, in order to let a
user decide which service provider to use, would decrease the
usability of such systems. Therefore the goal of the following
reputation mechanisms for peer to peer systems is to make
trust machine-decidable based on reputation data stored in the
network.
1) Creation of Recommendations: All computations in reputation systems are based on transaction records, either giving
a positive or a negative rating. Aberer et al. propose in [1]
a binary transaction value, i.e. either a transaction succeeds
or the transaction fails. Based on the transaction data with
negative outcome, called complaints, they derive a reputation
value that is the product of the number of complaints filed
by the concerning node and the number of complaints filed
by other nodes about it. This value is proportional to the
untrustworthiness of an entity, as high values indicate a high
rate of mutual complaints.
In [2] Damiani et al. add a second source of data to their
reputation system for file-sharing networks. As explained in
section II several types of trust can be distinguished. The differentiation of trust, made in this approach is on the one hand
the provision trust and on the other hand a kind of identity trust
in data, commonly called data authenticity. Each peer holds its
own opinion on available data in form of a short binary record
(+ or -) and for provision trust, a list containing for each past
transaction partner the number of positive experiences and the
number of negative experiences. In recommendation records,
assembled during votes, the available data is aggregated into
a single rating and sent to the poller. The details of the
aggregation are omitted by the authors.
Kamvar et al. present with EigenTrust [6] a similar concept
of binary experiences. In EigenTrust, experiences are aggregated like in [1] by subtracting the negative experiences from
the positive ones but in contrast setting negative reputation
values to zero and normalizing them to be a real number in
the interval of [0, 1]. In a peer to peer network with n nodes,
a global reputation matrix of range n is assumed containing
the opinions (assigned reputation) from each peer on each
other peer. This matrix is distributed among all peers in the
network, each storing its own row, i.e. its vector of opinions
on all other peers. As a restriction on the range of reputation
values, the sum of values in each row has to be 1. For
this reason EigenTrust may be categorized as a flow model
[5], which is an important property against some attacks on
reputation systems as explained in section III-E. Besides this
local reputation vector, each peer also tries to estimate a global
reputation value for each other peer by querying selected
peers for their opinions. These opinions add to the local
knowledge of the global matrix and are used in a transitive
trust calculation. In this calculation all possible transitive trust
chains are constructed from the executing peer to all reachable
other peers, where the reputation resulting from a chain is
the product of assigned reputations in the chain. Kamvar et
al. show that the global reputation vector resulting from this
procedure converges against the left principal eigenvector of
the global trust matrix, which means that over a small set of
gathered opinions and several iterations for the trust chain, the
resulting vector for all peers is nearly equal.
Two different approaches are proposed by Gupta et al. in
[3] with two reputation systems called debit credit reputation
computation (DCRC) and credit only reputation computation
(CORC). Both target the “freeriding problem” in peer to peer
file-sharing networks, which is clearly a goal different to the
preceding approaches. The CORC mechanism is the contrary
to [1] as it omits negative experiences and hence can only
provide a metric for the general participation of an entity in the
network. The DCRC mechanism is like EigenTrust [6] a flow
model, with the difference that the reputation that is given to
a service provider is taken from the service consumer and not
from other service providers. Since several services in a peer
to peer file-sharing environment are distinguished by Gupta
et al., a cumulated reputation score is built from the sum of
transaction in the role of a service provider, subtracted by the
sum of transactions in the role of a service consumer. This
second metric, like the first, indicates a level of participation,
but it helps to distinguish between newcomers and freeriders,
because freeriders will be assigned a negative score in DCRC
while newcomers have a zero value.
Significantly different to the preceding approaches, Sabater
et al. propose with ReGreT [12] a mechanism for social
networks that rates single transactions with real numbers in the
interval [−1, 1] according to the difference between a contract
and the actual behavior of the transaction partner in a set of
statements of the contract. Thus the reputation can be categorized in different aspects like e.g. a reputation to be lying about
service quality, or a reputation to be delivering on time. A
cumulated reputation value, if necessary, can be derived from
reputation values of finer granularity by applying ontological
rules, which form the third dimension of reputation next to the
individual dimension (a peer’s own experiences) and the social
dimension (other witnesses’ experiences). Each dimension is
3 http://www.bittorrent.com
39
REPUTATION SYSTEMS FOR P2P NETWORKS
processed in an individual step. The first step computes the
weighted mean of the own experiences giving more relevance
to recent experiences. The second step collects third party
opinions weighted by their reliability and aggregates them in
a convex combination with the own reputation estimation. The
third dimension may need further processing steps according
to the depth of the ontology graph. The outcome is a single
reputation value from the same range as the experience ratings.
The notion of reliability that is important in transitive trust
chains is computed in the same three-dimensional structure
and uses the deviation of values as a metric.
2) Recommender Selection: In the voting based algorithms
a set of voters is queried about their opinions on a set of
resource providers. These voters are either selected randomly
from the network, from the set of peers the initiator of the
vote has interacted with like in [2] or in some cases, they
are found via hash functions like in [6]. In hybrid reputation
systems the set of voters can be replaced by a central trusted
authority signing reputation values [3]. In the decentralized
cases, the notion of transitive trust plays an important role for
the voting process. The voters opinions on a service providers
are weighted by the trust that the initiator puts in the voter.
So, an unreputable voter has a low impact on the result of the
vote.
3) Trustworthiness Decision: The reasoning upon the obtained reputation values is mostly done via thresholds that
divide trustworthy peers from untrustworthy ones. In [3] a
select-best approach is implemented that selects peers in
descending reputation order as service providers until the
desired service could be successfully used. Marti et al. [7]
see peers as trustworthy as long as they have a reputation
value above a certain threshold. If no service provider passes
this threshold, the service selection process will be regarded
as failed. Damiani et al. [2] filter the outcome of their opinion
poll with regard to data reputation, IP-clusters of voters and
callback confirmation, where nodes from known malicious
IP-clusters are excluded as well as peers not responding to
a test callback. The remaining set of peers is regarded as
trustworthy. In EigenTrust [6], each peer responding to a query
is a potential download source. There is no filtering applied in
order to give newcomers a chance of being selected. Aberer et
al. [1] provide a function that determines from the reputation
data if a peer is trustworthy or not.
4) Source Selection: The diverse approaches all have different methodology when it comes to selecting a service provider
from a list of the trustworthy providers. Problems arising in
this part of the reputation management include the newcomer
problem and a load balancing issue. If a reputation mechanism
selects the most reliable peer out of a preselection of peers with
good promised service quality, this will lead to an explosion of
reputation for this peer, because its reputation will rise after
the transaction and the next peers will even more probably
decide in favor of this reputable peer. In [3] this seems to be
the case. EigenTrust [6] interprets its normalized reputation
values as a probability of being selected, providing some load
distribution instead of a focused load to the most reputable
peer. The mechanism also incorporates a small probability
that a peer with no reputation will be selected in this process.
The disadvantage of not selecting the most reputable peer is
the increased chance of selecting a malicious peer as service
provider.
Damiani et al. [2] use a voting mechanism, taking place
after the receipt of all QueryHit messages in Gnutella. The
voting mechanism delivers other peers opinions on peers in
the set of available sources and thus forms the basis for
the decision algorithm. Although the most reputable peer is
selected from the set as a service provider, it is contacted
before the transaction and asked, if the necessary bandwidth
is available or not, and in negative cases, the second most
reputable peer is selected and so forth. This approach forces
some load distribution while still suffering from reputation
explosion for the most reputable peers.
E. Problems and Security Issues
While many reputation systems are being installed to solve
security issues concerning malware, they introduce a broad
range of vulnerabilities and problems themselves. Jøsang et
al. list some of them in [5] which will be discussed in this
section.
Since with reputation systems user identities become associated with a real value and with long term identities the time
an identity is present in the network is strongly increased, a
user’s identity may become target of various attacks. Malicious
peers may try to steal the identity in an identity theft in order
to use the high reputation to give other malicious peers a good
reputation or to behave badly in the name of someone else.
Competitors may try to launch denial of service attacks on the
entity behind the identity to disturb the entity’s transactions
which will result in bad reputation. Malicious peers may also
try to lie about transactions with a certain other peer which
is called badmouthing or slandering [4] in combination with
lying and discrimination.
•
•
•
Rating a peer negative, even though it provided good
service is called badmouthing.
Rating a peer inverse to its actual behavior is called lying,
which includes giving a peer a positive rating, even if it
acts malicious or does not act at all.
If a peer rates the majority of other peers according to
their behavior but rates a small group always negative the
peer discriminates the set of victims.
In all cases, a victim of the attack loses reputation and
with it the corresponding service quality: The network’s value
will decrease for the victim as will the victim’s value for the
network.
1) Whitewashing: In the case of bad reputation, which is by
assumption the common case for malicious peers, the easiest
way to further use the network is to acquire a new identity
without an incriminating past behavior. This is also known as
whitewashing and a major problem in all fully decentralized
systems, since they lack a central instance that could use
common heuristics or requirements to determine whether a
new user really is new as he claims to be. Another approach
to this problem is to penalize new users in terms of a more
slowly rising reputation.
40
REPUTATION SYSTEMS FOR P2P NETWORKS
2) Sybil Attack: A further attack on the identity model is the
sybil attack. During a sybil attack, a malicious user attempts
to acquire a large number of identities. Each identity is used
to give other malicious entities good reputation by lying,
resulting in a malicious cluster of arbitrarily high reputation
that will be very likely to be selected by some peers for future
transactions. In [5], the solution to this behavior is called
flow model. In a flow model the global reputation for the
collective of all peers is a constant, and with every transaction,
the honest, hard working service provider gains reputation
while the service consumer looses the same amount. Google’s
PageRank algorithm [9] is named as a well known member
of this group of models. A basic assumption for this model to
protect against sybil attacks is that the initial reputation of a
newcomer is so low that in transitive trust chains, their opinion
has no weight. If this was not the case, a malicious attacker
could easily obtain hundreds of newcomer IDs each rating one
malicious target peer positively and thus not suffering from the
negative flow in the rating peers.
3) Discrimination: Regarding the topic of discrimination
in reputation systems another issue evolves: If a peer gets
discriminated by another peer that has a high reputation, other
peers will be very likely to identify the victim as the malicious
node, lying about the transaction. Only systems that include
a weight to the victim’s opinion derived from its general
trustworthiness may handle this problem correctly.
4) Dynamic Behavior: If an entity’s service quality drops
after reaching a high level, the following loss of reputation
may not be reflected properly in systems that calculate their
reputation value as a quotient of successful and unsuccessful
transactions, because they tend to become inert with time. So,
many authors implement a countermeasure in form of a fading
or forgetting factor in their reputation systems, that puts a
weight to the age of transaction ratings. Recent transactions
are rated normally while older transactions loose more and
more weight for the reputation value. On the one hand,
this mechanism makes it easy for bad behaving peers to let
others forget their bad behavior, on the other hand the service
providers will have to keep their quality high in order to keep
a good reputation.
5) Expectation Problem: One issue that is inherent to
all current reputation systems is the requirement of human
participation in the rating process. In the previous section it has
been pointed out that such a requirement reduces the usability
of the system as users are forced to perform additional actions
that may in cost outweigh the benefits derived from the
system. The design of source selection algorithms automates
a part of the system while for the rating human participation
remains necessary. This is a formalization problem because
an application cannot perform a comparison between expected
and actual outcome of a transaction if the expected outcome
cannot be formalized. In the example of P2P file-sharing the
application cannot check if the downloaded copyright free
music file is a binary representation for the song the user
wanted to download since the user cannot tell the application
what exactly he or she does expect.
This problem is explicitly addressed by the Regret system
[12] which assumes a contract that states what the expected
outcome is. It remains open if the cost of formulating precise
contracts for service use in peer to peer overlays is less than
the cost for repeated evaluation in the case of a bad outcome.
IV. C ONCLUSION
This paper has summarized common categories of reputation systems provided in the literature and has put some
selected reputation systems in this context. In section II a common understanding of the notions of trust has been fostered
in order to reason about reputation systems and their purpose.
The classification of trust as done in [5] helps to distinguish
between an amount of trust that can be put into a persons’
behavior in the context of risk, and the trust in a persons
behavior according to the effects on one’s own welfare. It
has been pointed out that trust can be built on reputation
but reputation is not the only metric, trust is built on in real
economics. Thus, reputation systems can only provide a tiny
base for the establishment of trust in distributed environments.
The section on reputation III has guided through the main
components and attributes of a reputation system, as for
example its architecture, which may be either centralized like
the eBay reputation system, decentralized like EigenTrust [6]
or hybrid like [3].
It has been shown that reputation systems provide incentives
according to their policies which might be to encourage
cooperation, to stop the spread of malware in the file-sharing
network, or even to prevent freeriding.
In section III-C the different identity models of reputation
systems have been introduced and it has been emphasized, that
a steady identity is a main requirement for the implementation
of a reputation system. Without steady identities, reputation
would only last as long as the identity is held, which could be
easily exploited by malicious peers in a whitewashing attack.
The core of a reputation system has been detailed in section
III-D where a common denominator for the available classifications from [1], [5], [11] has been derived. The investigation
has focused on four parts of the core, namely the creation and
content of recommendations, the selection of recommenders,
the trustworthiness decision and finally the source selection.
Different approaches could be distinguished by:
• their dimension of rating information (positive or negative
ratings)
• the recommendation type (real number, binary, categorized, normalized)
• their storage structure (centralized, agents, peer itself)
• the selection of recommenders (voting, trust agent, random set, neighbors)
• the aggregation methods (convex combination, transitive
trust chains, sum)
• the selection of service providers (deterministic, probabilistic)
The choice of examined reputation systems show a wide
range of these properties and also cover many cases in the
regarded surveys.
Finally, security issues have been discussed in section III-E.
The results showed that a lot of efforts have to be put in the
prevention of lying, whitewashing, sybil attacks, discrimination and unfair ratings, in order to gain value from reputation
41
REPUTATION SYSTEMS FOR P2P NETWORKS
usage. They also showed that the different approaches all have
their weaknesses. The presence of weaknesses and the absence
of the ultimate solution has been pointed out to derive from
the approaches’ different goals and incentives and the conflict
of objectives described in III-B.
Reputation systems can greatly enhance the transparency
of marketplaces in peer to peer networks as in economics,
where for example rating agencies publicly rate companies
for the reliability of their financial solvency, which serves
its potential co-contractors as a base for risk assessment. In
peer to peer networks the risk of being exposed to malware
can be analogously mitigated by risk assessment based on
recommendation data of specialized reputation systems. Since
the notions of computer reputation systems originate from the
social environment and economics, some of the systems and
especially the surveys on reputation systems may emit useful
ideas for situations outside of computer systems that cope
with problems where solutions with a central management are
infeasible. A likely example might be an open source project in
engineering like an open source car 4 . Nevertheless, for peer to
peer networks and maybe the growing number of online social
networks reputation systems become an essential requirement,
providing methods known from social life that help human
users to decide whom to trust.
[11] Sini Ruohomaa, Lea Kutvonen, and Eleni Koutrouli. Reputation
management survey. In ARES ’07: Proceedings of the The Second
International Conference on Availability, Reliability and Security, pages
103–111, Washington, DC, USA, 2007. IEEE Computer Society. III,
III-B, III-D, IV
[12] Jordi Sabater and Carles Sierra. Reputation and social network analysis
in multi-agent systems. In AAMAS ’02: Proceedings of the first
international joint conference on Autonomous agents and multiagent
systems, pages 475–482, New York, NY, USA, 2002. ACM. III-B,
III-D1, III-E5
R EFERENCES
[1] Karl Aberer and Zoran Despotovic. Managing trust in a peer-2-peer
information system. In CIKM ’01: Proceedings of the tenth international
conference on Information and knowledge management, pages 310–317,
New York, NY, USA, 2001. ACM. III-A, III-D, III-D1, III-D3, IV
[2] Ernesto Damiani, De Capitani di Vimercati, Stefano Paraboschi,
Pierangela Samarati, and Fabio Violante. A reputation-based approach
for choosing reliable resources in peer-to-peer networks. In CCS ’02:
Proceedings of the 9th ACM conference on Computer and communications security, pages 207–216, New York, NY, USA, 2002. ACM. III-A,
III-B, III-C, III-D1, III-D2, III-D3, III-D4
[3] Minaxi Gupta, Paul Judge, and Mostafa Ammar. A reputation system
for peer-to-peer networks. In NOSSDAV ’03: Proceedings of the 13th
international workshop on Network and operating systems support for
digital audio and video, pages 144–152, New York, NY, USA, 2003.
ACM. III-A, III-B, III-C, III-D1, III-D2, III-D3, III-D4, IV
[4] Kevin Hoffman, David Zage, and Cristina Nita-Rotaru. A survey of
attack and defense techniques for reputation systems. ACM Comput.
Surv., 42(1):1–31, 2009. III-D, III-E
[5] Audun Jøsang, Roslan Ismail, and Colin Boyd. A survey of trust and
reputation systems for online service provision. Decis. Support Syst.,
43(2):618–644, 2007. I, II, III, III-D1, III-E, III-E2, IV
[6] Sepandar D. Kamvar, Mario T. Schlosser, and Hector Garcia-Molina.
The eigentrust algorithm for reputation management in p2p networks.
In WWW ’03: Proceedings of the 12th international conference on World
Wide Web, pages 640–651, New York, NY, USA, 2003. ACM. III-B,
III-D1, III-D2, III-D3, III-D4, IV
[7] Sergio Marti and Hector Garcia-Molina. Limited reputation sharing in
p2p systems. In EC ’04: Proceedings of the 5th ACM conference on
Electronic commerce, pages 91–101, New York, NY, USA, 2004. ACM.
III-C, III-D3
[8] Sergio Marti and Hector Garcia-Molina. Taxonomy of trust: Categorizing p2p reputation systems. Comput. Netw., 50(4):472–484, 2006. III,
III-B
[9] Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd.
The pagerank citation ranking: Bringing order to the web. Technical
Report 1999-66, Stanford InfoLab, November 1999. Previous number
= SIDL-WP-1999-0120. III-D, III-E2
[10] Paul Resnick, Ko Kuwabara, Richard Zeckhauser, and Eric Friedman.
Reputation systems. Commun. ACM, 43(12):45–48, 2000. III
4 http://www.theoscarproject.org/
42
P2P GAMING OVERLAYS
P2P Gaming Overlays
Christian Glaser
Abstract—Aktuelle Server/Client Ansätze um Spiele mit hoher Benutzeranzahl zu realisieren stellen hohe Anforderungen
an die Server und erzeugen hohe Betriebskosten. Die hohen
Anforderungen und Betriebskosten machen es schwierig solch
ein Spiel am Laufen zu halten. Wird das Spiel nicht oft genug
verkauft bzw. sind durchschnittlich zu wenige zahlende Spieler
vorhanden können die Betriebskosten nicht gedeckt werden.
Diese Arbeit stellt einige Peer-to-Peer (P2P) Ansätze vor, mit
denen man vom klassischen Server/Client System abweicht um
so die Last auf die Peers zu verlagern. Von einer kommerziellen
Anwendung ist man noch entfernt, aber die ersten Ansätze sind
sehr vielversprechend.
I. E INFÜHRUNG
In aktuellen Server/Client Architekturen senden die Spieler
ihre Bewegungsinformationen und weitere Aktionen an den
Server. Der Server muss die Aktionen validieren und sendet
dann die Informationen weiter an Spieler, für welche diese
Informationen relevant sind. Dies muss der Server für jeden
einzelnen Spieler durchführen, was schnell zu einer extremen
Last führt. Speziell für Spiele mit einer extremen Anzahl
von Spielern, wie sie in Massively Multiplayer Online Games
(MMOG) oder Massively Multiplayer Online Role-Playing
Games (MMORPG) vorkommen, wird dies zum Problem. Fig.
1 zeigt die Anzahl aktiver Spieler der bekanntesten MMOGs.
Schnell reicht hier ein einzelner Server nicht mehr und es
müssen ganze Server-Cluster aufgebaut werden. Diese ServerCluster müssen gewartet werden, es muss entsprechende Bandbreite vorhanden sein um den Datentransfer zu gewährleisten,
müssen gekühlt und gewartet werden. Dies alles erzeugt
enorme Kosten, welche nur gedeckt werden können, wenn
auf Dauer genug Spieler für das Spiel bezahlen. Ist dies nicht
der Fall ist die Gefahr groß, dass die Kosten die Einnahmen
übersteigen oder sich zumindest so sehr angleichen, dass der
Betrieb des Spieles sich nicht mehr rechnet. Daher ist es vor
allem für kleinere Firmen schwer ein MMOG zu entwickeln,
da das wirtschaftliche Risiko zu groß ist. Besonders weil
World of Warcraft hier bereits die Vormachtstellung besitzt
und die meisten Spieler bereits auf ihren Servern hat. Fig.
1 zeigt hier recht gut wie World of Warcraft mit über 10
Millionen aktiven Spielern kaum Spieler für weitere MMOGs
übrig lässt. [11]
P2P-Systeme könnten die Lösung für diese Probleme bieten,
da hier der Server entlastet oder vollkommen überflüssig
gemacht wird. Das ist möglich, indem die Last auf die
einzelnen Spieler (Peers) verteilt wird und so jeder neue Client
Ressourcen ins System einbringt. Die einzelnen Peers müssen
ihre Updates direkt an die Peers schicken, für welche die
Information relevant ist. Die Hauptaufgabe eines solchen P2PSystems ist also das Finden der relevanten Peers.
Diese Arbeit stellt einige alternative Ansätze vor um solch
ein P2P-System zu realisieren. Die Hauptaufmerksamkeit
Fig. 1. Aktive Spieler der größten MMOGs. World of Warcraft sticht hier
mit über 10 Millionen aktiven Spielern heraus.
Quelle: MMOGCHART MMOG Active Subscriptions: 200,000+, http://www.
mmogchart.com/Chart1.html
wird hierbei auf die Übermittlung von Positionsinformationen
gerichtet, da ein Spieler seinen Avatar die meiste Zeit durch
die Spielwelt bewegt, stellt dies die wichtigste Form der
Kommunikation in MMOGs dar.
Zunächst wird ein wichtiges Verfahren für P2P-Systeme
vorgestellt, der Multicast, welches wichtig ist, da die Bandbreite oft nicht ausreicht um alle Nachrichten Unicast zu
versenden. Dann folgen einige klassische Ansätze für Interest
Management, was die Grundlage ist für ein P2P-System um
dann als letztes das Donnybrook System vorzustellen, welches
Interest Management auf einer höheren Ebene betreibt um so
schnelle Action-Spiele (also Spiele, die einen geringen Delay
benötigen) mit vielen Spielern möglich zu machen.
II. M ULTICAST
Da in einem P2P-System, wie es für MMOGs benötigt wird,
oft die selbe Nachricht an viele Spieler geschickt wird, ist es
oft sinnvoll, die Nachricht nicht Unicast an jeden einzeln zu
schicken, sondern nur einmal ins Netz - das Netzwerk leitet die
Nachricht dann an alle Empfänger weiter. Ideal wäre es, wie
in DIVE [7] ein LAN zu haben, welches Multicast unterstützt,
oder die Möglichkeit, sich in einer Gruppe anzumelden und
eine Nachricht der Gruppe wird an alle Mitglieder der Gruppe
weitergeleitet, was komplett vom Netzwerk geregelt wird.
Leider wird ein solches Multicast von vielen Netzen (vor allem
dem Internet) nicht unterstützt. [5]
Abhilfe lässt sich mit einem Applikation Layer Multicast
(ALM) schaffen. Dies ist zwar nicht so effizient wie ein Netzwerk Multicast, aber besser als bei einer großen Anzahl von
Peers jede Nachricht hintereinander an alle Peers zu schicken,
43
P2P GAMING OVERLAYS
da die Bandbreite dafür oft nicht ausreicht. Stattdessen werden
Multicast Bäume aufgebaut. D.h. ein Paket wird einmal (oder
mehrmals) verschickt und der Empfänger schickt sie wieder
an weitere Peers. Es gibt viele verschiedene Möglichkeiten
solche Multicast Bäume aufzubauen. Denkbar wäre z.B. auch
die Peers in feste Gruppen zu unterteilen oder diese dynamisch
anhand der Bandbreite aufzubauen. Multicast Bäume sind
ein wohlerforschtes Gebiet und daher gibt es bereits viele
Implementierungen. In [11] sind einige aufgelistet.
III. I NTEREST M ANAGEMENT
Lu Fan et al. [11] beschreibt Interest Management folgendermaßen: Ohne die Unterstützung eines Servers ist es wichtig
die Daten zu beschränken, die ein Peer senden oder empfangen muss, da es sonst seine Bandweite überschreiten würde.
Interest Management (IM) ist ein klassisches Forschungsgebiet
welches sich mit dem Thema beschäftigt und ursprünglich von
Macedonia et al. in den 1990ern ins Leben gerufen wurde
(gemäß [12], wie zitiert von [11]). Die Idee von Interest
Management basiert auf 2 Annahmen:
• 1. Ein Spieler muss nicht alles in der Spielwelt wissen,
solange es ihn nicht betrifft
• 2. Ein Spieler-Avatar hat nur begrenzte Bewegungsgeschwindigkeit und Wahrnehmung
Also kann die Sicht eines Spielers auf einen kleinen Bereich
beschränkt werden. Dieser kleinere und vergleichsweiße statische Bereich nennt sich Area of Interest (AOI). Vereinfacht
kann man zwischen 3 Klassen unterscheiden: Ein regionsbasiertes Publish/Subscribe System, ein Räumliches System
und ein Hybrid aus beidem und dem Client/Server System,
welches in der Einleitung vorgestellt wurde.
Im Folgenden werden Peers, die sich in der AOI befinden,
als Nachbarn bezeichnet.
Fig. 2. Modell eines publish/subscribe Systems
Quelle: Peer-to-Peer Support for Massively Multiplayer Games [4]
B. Räumlich
Ein räumliches System funktioniert grundsätzlich über die
Entfernung, die ein Spieler-Avatar in der Spielwelt zu anderen
hat. Dazu können z.B. sogenannte Voronoi Diagramme [13]
aufgestellt oder nur über die Entfernung und Sensorknoten [2]
gearbeitet werden.
A. Regionsbasiertes publish/subscribe
Die Welt wird beim regionsbasiertem Publish/Subscribe
System während des Entwurfs der virtuellen Welt in feste
Regionen unterteilt. Peers, deren Spieler-Avatare sich in einer
Region befinden, formen eine ’Interest Group’ und verteilen
ihre Nachrichten nur untereinander als Multicast. Oder es
werden, wenn das Spieldesign dies zulässt, die Nachrichten
auch in benachbarte Regionen verteilt. [4]
Dieses Konzept ist sehr einfach zu implementieren und es
ist leichter die Area of Subscription als die AOI Kollision
zu berechnen. Allerdings unterliegt dieses System einigen
Problemen:
• Es ist schwierig die richtige Größe der Regionen zu
wählen. Sie müssen groß genug sein um sicherzustellen,
dass Peers ihre Nachrichten verteilen bevor sie die Region
wieder verlassen. Aber nicht zu groß, sonst wird ein
Peer mit Nachrichten überschwemmt. Die richtige Größe
zu finden ist gerade dann schwierig wenn es Peers mit
sehr unterschiedlichen Geschwindigkeiten gibt. Z.B. Ein
Flugzeug und ein Fußsoldat. [8]
• Eine statische regionale Aufteilung funktioniert nicht
immer wenn die Peers ungleichmäßig verteilt sind. [11]
Fig. 3. Voronoi Diagramm. Der rote Kreis ist die AOI des Peers. Quadrate
sind angrenzende Nachbarn. Dreiecke sind abgrenzende Nachbarn. Kreise sind
normale Nachbarn und Kreuze sind keine Nachbarn.
Quelle: VON [13]
1) VON (Voronoi-based Overlay Network): Wenn man eine
Menge von Punkten im Raum hat (Zentren genannt), dann
unterteilt ein Voronoi den Raum so, dass Bereiche aufgespannt
werden, sodas in einem Bereich alle Punkte näher zu einem
Zentrum sind als zu jedem anderem. In einem Spiel wären
die Zentren die Positionen der einzelnen Spieler, für die ein
Voronoi Diagramm angelegt wird. Darüber wird kreisförmig
die AOI des Spielers gelegt und so angrenzende Nachbarn,
welche den Spieler direkt umgeben, sowie abgrenzende Nachbarn, die sich am Rand seiner AOI befinden, bestimmt. Fig. 3
visualisiert dies.
Zu den Nachbarn wird eine direkte Verbindung gehalten
44
P2P GAMING OVERLAYS
Fig. 5.
pSense Quelle: [2]
leitet ihn weiter zu einem Knoten, der näher an seinen Koordinarten ist, bis er einen Knoten gefunden hat, welcher in
seiner AOI ist. Trennt ein Peer die Verbindung wieder, egal
ob durch Abbruch der Verbindung oder gezieltem Disconnect,
aktualisieren sich die Knoten über seine angrenzenden Nachbarn.
Nachteil von diesem System ist, dass auf den einzelnen
Maschinen ein großer Berechnungsoverhead vorhanden ist, da
jeder Client ein Voronoi Diagramm aktuell halten muss. Dazu
kommt, dass die Kommunikation nicht minimal ist. Man stelle
sich vor, dass ein Spieler ganz viele angrenzende Nachbarn
hat, die aber alle nicht in der AOI liegen. Fig. 4 visualisiert
das Problem.
Fig. 4. Voronoi Worst Case erstellt mit CGAL
Quelle:
CGAL
2D
Voronoi
Diagramm
sop.inria.fr/members/Pierre.Alliez/demos/voronoi/
2) pSense: pSense [2] arbeitet wie VON über die Entfernung, die ein Spieler-Avatar zu anderen hat. Im Gegensatz
zu VON erspart sich pSense allerdings die aufwändig zu
berechnenden Voronoi-Diagramme. Die Spieler-Avatare, die
sich in der AOI befinden, werden lediglich in einer NearNode Liste geführt. Um zu verhindern, dass das Netzwerk
partitioniert wird arbeitet pSense mit Sensor Knoten, welche
in einer Sensor-Node Liste gespeichert werden. Würde man
nur Verbindungen zu Peers in der AOI aufrecht erhalten,
würde sehr schnell das Netzwerk partitionieren, sobald etwas
Luft zwischen Spielergruppen entsteht. Und da es keinen
Server mit globalem Wissen gibt, könnte man das Netzwerk
nicht mehr zusammenführen. Deshalb hält pSense in jeder
Himmelrichtung der Spielwelt die Verbindung zu einem Peer
aufrecht, dessen Spieler-Avatar am nächsten ist. Das sind die
Sensorknoten. Fig. 5 a und b) zeigen dies.
Die Sensorknoten werden periodisch abgefragt, ob sie einen
besseren Sensor kennen, und sobald ein Spieler-Avatar näher
an die AOI rückt bemerkt das der Sensorknoten und teilt dies
als Vorschlag für einen besseren Sensorknoten mit (Fig. 5 c).
Der einzige Fall, in dem das Netzwerk nun noch Partitionieren
kann, ist wenn ein Sensorknoten offline geht. Passiert dies
werden Peers aus der Near-Node Liste gefragt, die sich in dem
Sektor befinden, oder auch Sensorknoten aus benachbarten
Sektoren. Im seltenen Fall, dass alle Spieler-Avatare sich in
einer geraden Linie befinden kann das Netzwerk allerdings
immer noch partitionieren. Die Sensorknoten sind außerdem
http://www-
(kein Multicast), um minimale Latenz zu garantieren. Zu den
angrenzenden Nachbarn wird in jedem Fall eine Verbindung
gehalten, auch wenn diese nicht komplett in der AOI liegen.
Dies ist notwendig, damit die Verbindung des P2P Netzwerks nicht getrennt wird. Bewegt der Spieler seinen Avatar,
sendet der Client Positionsnachrichten an alle Nachbarn. Neue
Knoten werden über abgrenzende Nachbarn entdeckt, da diese
Knoten außerhalb der AOI kennen.
Wenn sich ein Spieler-Avatar bewegt, sendet er Positionsupdates an alle Nachbarn. Wenn der Empfänger ein abgrenzender
Nachbar ist, überprüft er, ob seine angrenzenden Nachbarn
nun auch für den sich bewegenden Spieler-Avatar sichtbar
sind, und teilt dies dem Peer mit, welchem der Spieler-Avatar
gehört. Diese bauen dann direkte Verbindungen auf, teilen sich
Nachbarn mit und aktualisieren ihre Voronoi Diagramme.
Will sich ein neuer Spieler Verbinden, muss er die Koordinarten seines Avatars an irgendeinen Knoten senden. Dieser
45
P2P GAMING OVERLAYS
Fig. 6.
pSense Quelle: [2]
dafür verantwortlich, dass Spieler-Avatare, die sich der AOI
nähern, bemerkt werden.
Wenn ein Spieler dem Netzwerk beitreten will, muss er
lediglich die Adresse eines beliebigen Peers kennen. Z.B. von
einem Login-Server, der solch einen Peer kennt. Ist dessen
Spieler-Avatar bereits in der AOI kann er direkt anfangen
Positionsupdates zu verschicken. Ist der Spieler-Avatar des
Peers noch nicht in Vision Range bekommt er von diesem
Peer einen Sensor-Node genannt, welcher sich näher an seiner
Position befindet und wird so weitergeleitet, bis ein Peer mit
Spieler-Avatar in der AOI gefunden wird. In Fig. 5 a) und b)
ist zu sehen, wie dann die noch unbekannten Nachbarn gefunden werden. Positionsupdates werden an alle Knoten weitergeleitet, die bereits bekannt sind (und für die die Bandbreite
ausreicht), p ist noch unbekannt. q erhält das Positionsupdate,
kennt p allerdings schon, und leitet das Positionsupdate an
p weiter. p meldet sich darauf dann als neuer Nachbar an
und ist von da an bekannt. In Fig. 5 b) ist p von keinem
Peer in der AOI bekannt, dafür kennt Sensor S einen SpielerAvatar, der näher ist und leitet daher das Positionsupate weiter
an q, welcher p kennt, um das Positionsupdate wiederum
weiterzuleiten.
Allerdings kann es hohe Last auf den Super-Peers bedeuten
und macht diese zu einem Single-Point of Failure. ( Lu Fan
et al [11] )
IV. U MGANG MIT HOHER S PIELERDICHTE
In MMOGs kommt es oft vor, dass an bestimmten Orten
oder Zeiten die Spielerdichte sehr hoch wird, z.B. in Städten
oder zu bestimmten Events, an denen viele Spieler teilnehmen
möchten. Auch hier gibt es verschiedene Arten wie man damit
umgehen kann.
A. AOI dynamisch anpassen
VON [13] und Velvet [10] passen z.B. ihre AOI dynamisch
an und verkleinern oder vergrößern sie, je nachdem, wie
viele Spieler-Avatare in der Nähe sind. Abbildung 5 und
6 verdeutlichen dies. Das hat zum Vorteil, dass kein Lag
dadurch entsteht, dass Peers auf Positionsupdates warten
müssen, allerdings sieht der Spieler eben auch nicht mehr so
weit, was zur Folge hat, dass für den Spieler Möglichkeiten
eingeschränkt werden können (z.B. wenn die AOI kleiner wird
als seine Aktionsreichweite).
C. Hybrid
Beim Hybrid ist die Welt in Regionen aufgeteilt wie beim
regionsbasiertem Publish/Subscribe Model. Für jede Region
wird ein Super-Peer ausgewählt. Verbindet sich ein Peer,
findet er den Super-Peer für die Region heraus und gibt
ihm sporadisch Positionsupdates durch. Der Super-Peer hat
so eine globale Sicht der Welt und kann AOI-Kollisionen
vorausberechnen. AOI Kollisionen treten auf, falls die AOIs
zweier Spieler-Avatare sich überschneiden und sie sich so
gegenseitig sehen könnten. Spieler-Avatare, deren AOI sich
mit hoher Wahrscheinlichkeit bald schneiden, teilt er dies mit,
damit diese direkte P2P Verbindungen aufbauen. MOPAR [1]
ist z.B. ein solches Hybrid System.
Dieses System hat den Vorteil der feinen Unterteilung
wie im regionalen Ansatz ohne den Berechnungsoverhead
durch z.B. Voronoi Diagramme auf den Peers zu haben und
es ist leichter zu implementieren als ein regionaler Ansatz.
Fig. 7.
Verkleinerung der AOI Quelle: Velvet [10]
B. Multicast
pSense [2] macht dagegen sowas ähnliches wie einen Multicast, indem es einfach die Positionsupdates an so viele
Nachbarn schickt wie es die Bandbreite zulässt. Wenn ein Peer
ein Positionsupdate bekommt schickt er sie nochmal weiter,
da diese eventuell noch nicht alle bekommen haben. Dies
46
P2P GAMING OVERLAYS
Fig. 8.
konzentrieren kann und von den restlichen Objekten nur sehr
wenig bemerkt. Um das zu modellieren führt jeder Spieler ein
Interest Set welches 5 andere Spieler-Avatare listet, denen er
die meiste Aufmerksamkeit schenkt. Nur von diesen 5 SpielerAvataren erhält er genaue Positionsangaben.
Um die Spieler herauszufinden, welchen die meiste
Aufmerksamkeit geschenkt wird, werden Dinge analysiert wie
z.B.
• die Entfernung zum Spieler-Avatar -> Spieler-Avatare die
nicht weit entfernt sind wird eher Beachtung geschenkt
• Blickrichtung des Spielers -> wohin wird gezielt?
• welchen Spieler-Avataren wurde zuletzt Beachtung
geschenkt, denn es ist üblich für den Menschen ein
bestimmtes Ziel zu verfolgen
Zwischen diesen Punkten kann dann noch je nach Kontext
eine andere Gewichtung bestimmt werden. Zielt der Spieler
z.B. mit einem Scharfschützengewehr, so ist der Punkt wohin
er zielt der stärkste Indikator für seine Aufmerksamkeit,
wohingegen er mit einer Nahkampfwaffe sich eher auf Ziele
in seiner Nähe konzentriert.
Vergrößerung der AOI Quelle: Velvet [10]
wird so oft gemacht, bis ein festgelegter Hop-Count überschritten wird. Nachteil hierbei ist, dass für alle Peers, welche
die Nachricht nicht im ersten Hop bekommen, ein größerer
Delay besteht. Die Performance vom gesamten System nimmt
also ab, dafür muss die AOI Reichweite nicht eingeschränkt
werden und dem Spieler werden somit keine Möglichkeiten
genommen.
C. Besseres Interest Management
Eine weitere Möglichkeit, die man von Donnybrook [3]
adaptieren könnte, wäre, Spieler-Avatare, auf welche die
Aufmerksamkeit des Spielers zurzeit nicht liegt, durch guided
AI Bots (Doppelgängers) zu ersetzen. Dies wird im nächsten
Kapitel ausführlich beschrieben. Dies vereint die Vorteile der
beiden vorher beschrieben Systeme ohne deren Nachteile zu
haben.
B. Doppelgängers
Alle anderen Spieler-Avatare, auf denen nicht die Konzentration liegt, werden durch guided AI Bots (sogenannte Doppelgängers) gesteuert und bekommen nur ab und zu (etwa
einmal in der Sekunde) Bewegungsimpulse von den wirklichen
Spielern. Zwischen diesen Bewegungsimpulsen muss ein Doppelgänger die Kontrolle übernehmen, sonst würde der SpielerAvatar ohne flüssige Bewegung von einer Position zur anderen
springen und damit die Aufmerksamkeit des beobachtenden
Spielers auf sich ziehen.
V. D ONNYBROOK
In den vorherigen Kapiteln lag der Fokus auf MMOGs,
welche zwar eine sehr große Spielerzahl zulassen, dies aber
nur mit großen Delay möglich machen. Ausweichen oder ähnliche schnelle Aktionen sind hier normalerweise nicht möglich.
Ein Treffer wird stattdessen meist mit Wahrscheinlichkeiten
berechnet. (Kampfwertungssystem WoW 1 ) Schnelle ActionSpiele dagegen benötigen geringen Delay und basieren auf
schnellen Aktionen. Dies war bisher allerdings nur mit geringen Spielerzahlen möglich. Battlefield 1942 unterstützt z.B. bis
zu 64 Spielern 2 , sofern der Server wirklich Leistungsstark ist.
Donnybrook [3] geht nun einen vollkommen neuen Ansatz,
um auch solch Action Spiele mit sehr vielen Spielern zuzulassen, indem es Spieler-Avatare, auf die sich der Spieler aufgrund der eingeschränkter Wahrnehmungsfähigkeit des Menschen aktuell nicht konzentrieren kann, durch guided AI
Bots zu ersetzen. Nur die Peers, auf desen Spieler-Avatare
der Spieler aktuell seine Aufmerksamkeit widmet, werden
genau dargestellt. Der Unterschied zu klassischen Interest
Management Systemen besteht also darin, dass innerhalb der
AOI noch einmal unterschieden wird zwischen “Interessant”
und “weniger Interessant” während im klassischen Interest
Management alle Avatare in der AOI als “Interessant” zu
betrachten sind.
VI. AUSBLICK
Man konnte sehen, dass für die Positionsübermittlung über
ein P2P-Netz schon sehr ausgereifte Verfahren existieren.
Regionsbasierte Publish/Subscribe Verfahren sind eine gute
Wahl, falls die Spielwelt sehr gut partitionierbar ist. Mit
VAST3 existiert eine schon implementierte räumliche Variante, die VON nutzt um Positionsupdates über ein P2PNetz zu übertragen. Mit pSense besitzt man einen Ansatz,
der ohne hohen Berechnungsaufwand auskommt und so P2PMMOGs auch auf schwächeren Rechnern ermöglicht. Ebenso
ist dies mit dem Hybridansatz der Fall, der zusätzlich mehr
Sicherheit bieten könnte, da immer ein Super-Peer ein Gebiet
überwacht. Diese Super-Peers könnten Server vom Entwickler
sein, welche aber nicht mehr so Kostenintensiv wären wie bei
einem klassischem Server/Client System.
Bis diese Systeme aber in einem realen MMOG eingesetzt
werden können sind noch viele weitere Arbeiten nötig, da eben
nur die Positionsübermittlung so ausgereift ist. Für weitere
Merkmale wie Persistenz und Sicherheit gibt es zwar einige
Ansätze aber noch zu wenig ausgereiftes. Für Persistenz gibt
es zwar z.B. schon ausgereifte verteilte Datenbank Systeme,
aber es muss noch erforscht werden inwiefern sich diese
Systeme für MMOGs eignen oder wie man sie modifizieren
A. Interest Sets
In Donnybrook geht man davon aus, dass gemäß [6] und
[9] der Mensch sich nur auf eine konstante Zahl von Objekten
1 http://forums.wow-europe.com/thread.html?topicId=61866509&sid=3
2 http://www.bf-games.net/readcontent/26/battlefield_1942_faq.html
3 http://vast.sourceforge.net/
47
P2P GAMING OVERLAYS
müsste, da sie ursprünglich für Filesharing entwickelt wurden
und nicht die Performanceanforderungen und Sicherheitskriterien eines MMOGs erfüllen. Sicherheit ist sehr schwer zu
gewährleisten in MMOGs, da es keine zentrale Instanz gibt,
welche z.B. Positionsupdates überprüfen kann. Dies spricht für
den Hybrid Ansatz, welcher zumindest regional einen SuperPeer besitzt, welcher dies übernehmen könnte. [11]
Man sieht also, dass man in dem Gebiet noch vor vielen
Problemen steht, aber auch ist großes Potenzial erkennbar,
welches stark zur Spekulation über zukünftige MMOGs verleitet. So sind MMOGs ohne monatlich Kosten denkbar, da
die Serverkosten entfallen und monatliche Kosten kaum mehr
gerechtfertigt wären. Auch eine völlig neue Art von Spiel wäre
denkbar: Action-MMOGs, welche "Interest Management"Verfahren mit Donnybrook kombinieren und eine riesige
Welt für Millionen von Spielern samt schnellen actiongeladen
Gefechten bieten.
R EFERENCES
[1] Son T. Vuong Anthony Yu. MOPAR: A Mobile Peer-to-Peer Overlay
Architecture for Interest Management of Massively Multiplayer Online
Games. Proceedings of the international workshop on Network and
operating systems support for digital audio and video, 2005. III-C
[2] Sebastian Jeckel Patric Kabus Bettina Kemme Alejandro Buchmann
Arne Schmieg, Michael Stieler. pSense - Maintaining a dynamic localized peer-to-peer structure for position based multicast in games. Eighth
International Conference on Peer-to-Peer Computing, 2008. III-B, 5,
III-B2, 6, IV-B
[3] Jacob R. Lorch Thomas Moscibroda Jeffrey Pang Srinivasan Seshan
Xinyu Zhuang Ashwin Bharambe, John R. Douceur. Donnybrook: Enabling Large-Scale, High-Speed, Peer-to-Peer Games. ACM SIGCOMM
Computer Communication Review, 2008. IV-C, V
[4] Wei Xu Bryan Hopkins Björn Knutsson, Honghui Lu. Peer-to-Peer
Support for Massively Multiplayer Games. IEEE INFOCOM, 2004.
III-A, 2
[5] Bryan Lyles Hassan Kassem Doug Balensiefen Christophe Diot, Brain
Neil Levine. Deployment Issues for the IP Multicast Service and
Architecture. IEEE Network, 2000. II
[6] Nelson Cowan. The magical number 4 in short-term memory: A
reconsideration of mental storage capacity. Behavioral and Brain
Sciences, 2000. V-A
[7] Mårten Stenius Emmanuel Frécon. DIVE: a scaleable network architecture for distributed virtual environments. Distributed Systems
Engineering, 1998. II
[8] Kier Storey Graham Morgan, Fengyun Lu. Interest Management
Middleware for Networked Games. Proceedings of the 2005 symposium
on Interactive 3D graphics and games, 2005. III-A
[9] Norma Graham J. G. Robson. Probability summation and regional
variation in contrast sensitivity across the visual field. Vision Research,
1979. V-A
[10] Nicolas D. Georganas Jauvane C. de Oliveira. VELVET: An Adaptive
Hybrid Architecture for VEry Large Virtual EnvironmenTs. Presence,
2004. IV-A, 7, 8
[11] Hamish Taylor Lu Fan, Phil Trinder. Design Issues for Peer-to-Peer
Massively Multiplayer Online Games. International Journal of Advanced
Media and Communication, 2009. I, II, III, III-A, III-C, VI
[12] Michael R. Macedonia. NPSNET: A Network Software Architecture for
Large Scale Virtual Environments. Citeseer, 1994. III
[13] Tsu-Han Chen Shun-Yun Hu, Jui-Fa Chen. VON: A Scalable Peer-toPeer Network for Virtual Environments. IEEE Network, 2008. III-B, 3,
IV-A
48
GENERAL OVERVIEW ON BENCHMARKING TECHNIQUES AND THEIR APPLICABILITY FOR P2P SYSTEMS
General Overview on Benchmarking Techniques
and Their Applicability for P2P Systems
Tomasz Grubba
This paper will define the term benchmarking, in its original
meaning as well as in its meaning in computer science.
A few benchmarking tools, Linpack, TPC-E, Magpie and
P2PTester, will be introduced and discussed in respect to their
applicability to peer-to-peer systems. Finally, a short overview
of the required functionality and of important design decisions
of peer-to-peer benchmarking tools will be provided.
Abstract—During the last ten years, the number and variety of
peer-to-peer systems has risen. Although different benchmarking
methods exist since the 1970s, only little effort is put into
developing a standardized benchmarking system in this field.
Considering the fact that the number of (newly developed) peerto-peer systems still grows, a tool for measuring performance
may become helpful.
In this paper the term benchmarking is defined and a few
benchmarks from other domains are introduced and discussed
with respect to peer-to-peer systems. Finally the only exisiting
peer-to-peer benchmark, P2PTester, is presented and judging by
the results of the discussions a list of requirements for future
benchmarks or performance measuring tools in this field is being
provided.
II. B ENCHMARKING
Today it is hard to give a precise definition of the term
benchmarking. Since it was first introduced by Xerox Corporation in the 1970s, we might want to cite the former CEO
of Xerox, David T. Keams: "Benchmarking is the continuous
process of measuring products, services and practices against
the toughest competitors or those companies recognized as
industry leaders" [5]. This quote provides an important piece
of information which is often overseen when talking about
benchmarking: In every benchmark, there should be at least
two parties, which can be compared to each other. Otherwise
many of the metrics cannot be interpreted correctly, if there is
no reference point.
Similarly to the definition, there are also many definitions
of the process of benchmarking. Usually, all of those can
be roughly reduced to two main steps while performing a
benchmark [5]:
• benchmarking performance includes the quantification of
performance and comparing it to the performance of
competitors
• changing the practices includes changes inside the
company in order to improve its performance
I. I NTRODUCTION
In a time when Google Inc., originally an Internet search
company, holds the number one spot of the most valuable
brands in the world [19], it is not surprising that distributed
systems continue to play a more and more important role. One
of these technologies, peer-to-peer, first became known to the
public when Napster [3] was released in the late 1990s. Since
then, the idea of peer-to-peer continued to evolve and led to
such "success stories" like Skype [1] or BitTorrent [10].
The idea behind this model is the communication between
several participants, where each of them can act as a server
as well as a client. Furthermore, such a system can also be
characterized by three properties [18]:
• autonomousity: each peer can leave or join the network
at any time
• heterogeneity: the connected peers can run on different
operating systems or platforms
• most traffic happens between peers: peers can establish
a direct connection between themselves and exchange
data directly
As it can be seen in step two, the term originates from
the field of business administration, but today many of the
characteristics can be transferred to the field of computer
science, as described in the following chapter.
By using the peer-to-peer model, applications are said to
provide a better scalability as well as availability and robustness. The scalability factor can easily be demonstrated by a
common filesharing example: The more peers own a certain
file (seeds), the more sources can be contacted by another peer
(therefore, theoretically, the available bandwidth rises with
each additional peer). And since the files are distributed among
many peers, such a system (usually) lacks a single point of
failure, which makes it more robust to attacks or data loss
compared to a single server.
Even though many peer-to-peer projects exist, until now
there is no standardized way to test the performance of such
systems. In fact, there is only one approach to benchmark them
[6], which has not been deployed in too many scenarios yet.
A. Benchmarking in Computer Science
In the field of computer science, first benchmarking tools
started to emerge in the 1980s. They usually run on several
systems (we will define system in a few moments) and try to
quantify and compare performance as well as the price (usually
as a 5-year-cost-of-ownership). This paper will focus on the
performance factor only.
One can basically differentiate between four different forms
of benchmarking [11]:
• the same software runs on different (hardware) machines
(e.g. running the Linkpack benchmark on different processors)
49
GENERAL OVERVIEW ON BENCHMARKING TECHNIQUES AND THEIR APPLICABILITY FOR P2P SYSTEMS
•
•
•
Benchmark Name
LINPACK 100
LINPACK 1000
LINPACK Parallel
HPLinpack
different software runs on the same machine (e.g. evaluating the efficiency of different algorithms)
different releases of a software product run on one machine (e.g. comparing different version of the Microsoft
Windows operating system)
different software- and hardware-systems are compared
to each other (e.g. comparing "Wintel" systems to the
former Mac/PowerPC systems)
Matrix Dimension
100
1.000
1.000
arbitratry
Fig. 1: Matrix sizes in Linpack benchmarks
A benchmark can have a variable number of operations, for
example the Linpack 100’s DGEFA routine counts close to
700.000 floating point operations. The results of the benchmark are presented in FLOPS (floating point operations per
second). Current supercomputers are capable of running up
to 1.800 TeraFLOPS [2], while a common current personal
computer (e.g. an Intel i5 with 2.26GHz) may compute close
to 2.000 MegaFLOPS. Just recently Linpack has become a
little more known to the public after Google released Android
2.2 (using a new JIT-compiler). The first speed tests were made
with Linpack for Android and have shown an increase of up
to 450% in system performance compared to Android 2.1 (as
can be for example seen in [20]).
Linpack has also been a subject to criticism. First, as
mentioned before, it can only quantify the processing power
(and to some extent also the speed of the memory), which is
not necessarily representative for the overall performance of
a system. Furthermore many manufacturers tried to optimize
their machines for the Linpack-benchmark, for example by
recognizing and replacing equations by using faster algorithms.
In addition, such a benchmark is not representative for many
computational problems, which do not heavily rely on floating
point operations.
Regarding its applicability to peer-to-peer systems it needs
to be stated, that because of its local execution there is almost
no use in benchmarking those systems. The processing power
needed to run a peer-to-peer client should be sufficient on most
or even all of today’s computers (including mobile devices).
The basic process of running a benchmark is comparable
to the process of software testing. First, the System Under
Test (SUT) needs to be specified along with the specific
performance aspects, that need to be measured. In step two
a metric is defined, which will be used to determine the
performance and allows systems to be compared to each
other. Following the definition of the output some workload is
provided. Depending of the type of the benchmark, workload
can be some equations to be solved or data to be inserted to
a database. Finally, the benchmark is executed (several times)
and the results are evaluated.
In the beginning, one of the first approaches was to measure
the performance using the MIPS-metric (millions of instructions per second). As Gray states [11], it is a too simple
approach. For instance, MIPS may have another meaning
to performance on different architectures. In addition, the
metric is hardly scalable (e.g. it is not clear how it should be
interpreted in a multiprocessor environment). Therefore, every
domain or even every benchmark vendor uses an own metric
in order to make the results comparable across platforms.
B. Domainspecific Benchmarks
During the years, it became clear that it will not be possible
to find and define one standard benchmark for comparing
computer systems. The reason for this can be explained by a
simple example. Taking a look at the so-called supercomputers
[2], those architectures are usually purely designed for fast
CPU-execution times, but often lack database-functionality,
which would make them useless in this field.
In the following, this paper will first briefly describe four
more and less popular benchmarks from different domains,
ordered by their applicability to peer-to-peer systems. A
rather popular field of benchmarking, that of graphic cards,
is left out due to its irrelevance to the topic of peer-to-peer
benchmarking.
1) Linpack: The Linpack-Benchmark [9] emerged from the
project BLAS, which originally (1970s) was just a collection
of linear equations programmed in Fortran. During the years,
more performance data was added and as of today it is one
of the standard tools to measure computational power and is
also used to rank computers in the Top500 list [2].
The main idea behind the benchmark is to solve a general
dense matrix problem Ax=b. Due to memory limitations,
matrices of the size 100 were used initially. As the capacity of
memory increased, such a limitation has become discarded.
Fig. 1 shows a list of four different benchmarks in the
Linpack suite of benchmarks.
Fig. 2: TPC-E business model [16]
2) Transaction Processing Performance Council: Out of
several consortia, which try to standardize domain-specific
benchmarks, one of the better known is the Transaction
50
GENERAL OVERVIEW ON BENCHMARKING TECHNIQUES AND THEIR APPLICABILITY FOR P2P SYSTEMS
Fig. 3: TPC-E database model [16]
and additionally represents a much more realistic real world
scenario than abstract queries (e.g. in the Wisconsin Query
Set [8]). Furthermore, by having a variable size of the dataset
used, it is easily scalable and can simulate a small brokerage
firm as well as a bigger one with millions of customers.
In contrast to the previously introduced Linpack benchmark,
TPC-E can also be run on a distributed system. Unfortunately,
the results only show transactions per seconds and are
not splitted in smaller parts of the underlying architecture.
Assuming a database built on the peer-to-peer model, the TPC
benchmarks could be a first step to measure the performance.
But given the fact, that the tools are basically run on the client
respectively on the customers and brokerage house side, the
results would mainly depend on the machine they are tested
on. Observations based on averaged results from different
clients have the disadvantage of hiding information about the
performance of the peers in both ends of the spectrum (i.e.
the extremely slow and fast ones, which may be of interest
while developing such systems).
Processing Performance Council consisting of several hardand software manufacturers, which is defining standards for
transaction processing and database benchmarks. Up to this
day, they have released nine different benchmarks [17], while
only TPC-C, TPC-E and TPC-H are still used and maintained.
Out of those, we will briefly introduce TPC-E, which is
a benchmark for On-Line Transaction Processing, developed
in 2007 [16]. The system simulates the workload of a brokerage firm containing three distributed entities (Customers,
Brokerage House and Stock Exchange), which can roughly
be described as a three-tier architecture (see Fig. 2). The
whole system consists of 33 tables with 188 columns and
is constructed to be vendor neutral, in order to make the
benchmark runnable on different platforms. Fig. 3 provides
an ER-diagram in order to demonstrate the complexity of
the system. Though the single tables are not of interest in
this context, the colors indicate the "tiers" of the architecture
(red: broker, blue: customer, green: market, orange: dimension
tables used by more than one tier)
A data loader is also provided but does not state a maximum
number of entries. Customers can be loaded in blocks of 1.000.
Along with the customers, also companies and securities and
a few more entities are loaded into the database.
After the data is loaded, a predefined set of transactions
is executed. The benchmark contains 12 different transaction
types, such as "Enter a stock trade" or "Lookup historical
trade info". The metric for the results is TpsE (Transactions
per second E, in order to differentiate between the different
available benchmarks).
In comparison to earlier benchmarks developed by the
consortium (e.g. TPC-A or TPC-B), this has several benefits.
Since it is partly using real data (based on the 2000 US and
Canada census data), it is easier to understand by humans
3) Magpie: Another interesting approach to measure the
performance of distributed systems is Magpie [4], [13], developed by Microsoft’s Research department in the UK. Unfortunately, even though the project exists at least since 2002, up
to this day there are no tools available to the public. So the
following chapter will only demonstrate the basic idea behind
the project without providing any examples of real world tests.
Magpie is developed as an online modelling infrastructure
and is based on two key design principles. Firstly, influenced
by the fact that most Microsoft products, especially Windows,
are proprietary, it needs to be black-box, i.e. any software
tested with this benchmark is not needed to be modified.
Secondly, end-to-end tracing enables the analysis of every
51
GENERAL OVERVIEW ON BENCHMARKING TECHNIQUES AND THEIR APPLICABILITY FOR P2P SYSTEMS
request between any two peers individually.
Using further techniques, such as behavioural clustering
rather than for example URL-based clustering, and stochastic
context-free grammar with a probabilistic state machine, it is
possible for Magpie to model the system and benchmark it in
order to optimize the performance.
This approach seems to be a new way to benchmark
systems, but, as mentioned before, too litte information is
shared with the world, even though the authors were planning
to profile a peer-to-peer messaging framework in 2002 [13].
Since no details about the work have been published in the
recent years, it is possible, that the project has been cancelled.
the application itself is located), which can for example be
responsible for routing or query processing.
The Test(er) Layer is responsible for allowing the modularity of the components. The main part of it is the distributed
logging module, which records the details of each event (by
intercepting every action performed by the application).
The Master Tester or Test Generation Layer helps the user
in creating and controlling tests. It contains a Java Graphical
User Interface and additionally has an own web interface to
demonstrate the results.
P2PTester provides an API for writing test scenarios. Using
this API, any actions by the peer-to-peer systems are intercepted by P2PTester in order to log them. Using these log
files, the tool is able to measure the following parameters:
4) P2PTester: The only project, that focuses solely on peerto-peer benchmarking, is P2PTester, being led by the PRiSM
Laboratory in France [6]. They state three main goals of their
performance measurement tool:
•
•
1) Genericity: the tool should be applicable to a wide range
of different peer-to-peer platforms
2) Scalability: the tool should be deployable on a large
scale and produce only a low overhead itself
3) Modularity: detailed and fine-grained measures should
be possible in order to analyze components of the
underlying system
•
•
number and size of message needed for standard P2Pactions (joining, leaving, querying)
size of data stored on each peer
query result sizes
query processing time, partly broken down into more
exact information
Among the demonstrated benchmarking tools, P2PTester is
the most applicable one in the peer-to-peer world. It has the
potential to work on a big variety of systems (provided they
can be adjusted, more on that later) and deliver comparable
results.
Even though it is a very promising project, unfortunately,
there are a few downsides of this approach as well:
First of all, by providing interfaces for the peer-to-peer systems, it is harder to apply them on many existing architectures,
because in contrast to Magpie, this is not a black box solution.
Especially while dealing with proprietary software, this tool
might be useless.
Secondly, it is not known, whether the system has been
deployed on a large number of peers. The biggest known
number is a test on roughly 100 computers at three locations
in France in 2007. Considering the fact that many systems are
used by several million peers (e.g. Skype), it is hard to predict
the applicability of the tool.
Comparing the results to the ones of the other benchmarks
presented in this paper (especially Linpack and TPC-E) it lacks
an easy to understand metric. On the one hand this makes it
easier to benchmark components and single requests (which is
important for developers), but on the other hand normal endusers will have trouble to understand the results because of
their complexity.
Nevertheless, as of today, P2PTester is the best and most
promising approach to benchmark peer-to-peer systems.
P2PTester is structured into four layers, which are schematically shown in Fig. 4 and will be explained in the following.
5) Other approaches: Several other approaches to perform
simulations or measure performance of distributed systems
exist, but most of them have limitations, which make them
hard to apply in the real world.
PeerSim [14] is a tool to simulate peer-to-peer networks,
but it is not possible to apply it to existing systems with an
own infrastructure in order to measure the performance
GnutellaSim [12] simulates a peer-to-peer network by instantiating a framework with the Gnutella network. In theory it
Fig. 4: P2PTester Architecture [6]
The Communication or Network Layer offers an infrastructure in order to enable an exchange of messages between peers.
In the current version a basic socket-approach is used.
The Application (or Protocol Peer) Layer consists of application specific modules (so is basically the layer, where
52
GENERAL OVERVIEW ON BENCHMARKING TECHNIQUES AND THEIR APPLICABILITY FOR P2P SYSTEMS
should be possible to extend the functionality to other systems,
but none other simulations can be found.
Theme NUM [15] have performed large-scale experimental
evaluation of the JXTA framework on 5.000 peers located
across France. They developed an own peer-to-peer network in
order to evaluate the boundaries of the framework (the number
of peers, that can be kept in one peerset). Since JXTA is used,
this approach is hardly transferable to other systems, which
makes a comparison difficult.
A few other simulators of specific P2P-networks exist,
but all of those focus on a single network and as stated in
the beginning, in order to benchmark systems at least one
alternative needs to be present and tested as well.
instant messaging (Skype [1]) or social networking (Safebook
[7]), every type has different performance requirements. For
example while at instant messaging or at phone calls any
delay decreases the quality of service, in a filesharing scenario
even a delay of 2-3 seconds is acceptable, but a high bandwidth/download rate is much more important than in other
scenarios.
Since some of these problems seem to contradict each other,
the peer-to-peer world will eventually evolve in a similar way
as benchmarking in computer science in general has evolved
in its beginnings: While different requirements led to domain
specific benchmarks, specific tools will emerge in order to
benchmark different applications.
IV. C ONCLUSION
As mentioned in the introduction, only little research in the
benchmarking of peer-to-peer systems has been conducted.
While older approaches have none or only little applicability
to today’s peer-to-peer systems, only P2PTester is a tool solely
focusing on peer-to-peer. Even though it has not been tested
on a large number of peers yet and has its drawbacks, it could
mark the beginning of a new research field.
Any further research will need to deal with a number of
decisions and problems, such as finding a way to provide
workload in a decentralized scenario, maintain the scalability
or produce as little overhead as possible, just to name a
few. Furthermore, because of the complexity and variety of
those systems it will be hard to develop a single standard
benchmark for peer-to-peer infrastructures, rather many more
specialized approaches will eventually emerge. This situation
can be compared to the situation of the first benchmarks in
computer science, where domain specific tools needed to be
developed in order to receive usable results.
III. R EQUIREMENTS F OR A P EER - TO -P EER
B ENCHMARKING T OOL
Even though P2PTester seems to be a project heading in the
right direction, it will probably not be suitable for every system
and every scenario. Therefore this section will define a few
requirements for a peer-to-peer benchmark and will discuss
the needs of several parties.
Before developing a new benchmark, one needs to decide
the main goal of it. For example, the point of view of the end
user may vary from the point of view of the developer. While
the latter wants to build a fast and stable overall system, getting
the opportunity to tune single components of the product,
a single user is just interested in its own performance and,
speaking about benchmarks, an easy to understand metric.
This paper will provide a guidance to gather results, which
are as detailed as possible (as described under the point
modularity while discussing P2PTester), a later adjustment to
them may make the metric easier to read for non-tech-savvy
readers.
In order not to interfere with the idea of peer-to-peer, one
needs to keep the properties of this approach in mind (as stated
in the introduction of this paper): In the optimal scenario, the
system should not be able to be aware of any benchmark
running at the same time. The peers should still be able to
join or leave the network at any time without causing trouble
for not only the network, but also the benchmark being run
on top of it.
Scalability, one of the main reasons for the success of peerto-peer systems, should not be hindered by any tests. In order
to achieve this, an important issue is the overhead produced
by the benchmark. It should be kept as low as possible.
While speaking about scalability, another problem emerges:
because of the decentralized character of such networks, a
way needs to be found to generate the workload and simulate
a realistic behaviour of the participating peers.
Furthermore, the tool should be platform independent and
support the heterogeneity of the network (i.e. the possibility of
the peers to run on different platforms). Taking into consideration, that in the best scenario every peer should be intercepted
in some way or the other, it might need some precaution.
Probably the hardest goal to achieve is the universality of
such a system. Because of the wide range of applications
using the peer-to-peer model, e.g. filesharing (BitTorrent [10]),
R EFERENCES
[1] Skype. http://www.slype.com(last accessed on 13.07.2010), 2010. I, III
[2] Top500 list - june 2010. http://top500.org/list/2010/06/100(last accessed
on 05.06.2010), 2010. II-B, II-B1, II-B1
[3] K. Aberer, M. Punceva, M. Hauswirth, and R. Schmidt. P2p systems.
In In Practical Handbook of Internet Computing. CRC press, 2004. I
[4] P. Barham, R. Isaacs, R. Mortier, and D. Narayanan. Magpie: Online
modelling and performance-aware systems. In In Proceedings of the
Ninth Workshop on Hot Topics in Operating Systems (HotOS IX, pages
85–90. USENIX Association, 2003. II-B3
[5] W. Booth, G. G. Colomb, and J. M. Williams. The Benchmarking Book:
Best Practice for Quality Managers and Practitioners. Butterworth
Heinemann, 2009. II
[6] B. Butnaru, F. Dragan, G. Gardarin, I. Manolescu, B. Nguyen, R. Pop,
and N. P. L. Yeh. P2ptester: a tool for measuring p2p platform
performance. In International Conference on Data Engineering, pages
1501–1502, 2007. I, II-B4, 4
[7] L. A. Cutillo, R. Molva, and T. Strufe. Consumer communications
and networking safebook: A privacy-preserving online social network
leveraging on real-life trust, 2009. III
[8] D. J. Dewitt. The wisconsin benchmark: Past, present, and future. the
benchmark handbook for database and transaction processing systems,
1991. II-B2
[9] J. J. Dongarra, P. Luszczek, and A. Petitet. The linpack benchmark:
Past, present, and future. concurrency and computation: Practice and
experience. Concurrency and Computation: Practice and Experience,
15, 2003. II-B1
[10] D. Erman, D. Ilie, and A. Popescu. Bittorrent session characteristics
and models. In in Procedings of HETNETS05, 2005. I, III
[11] J. Gray. Database and transaction processing performance handbook.,
1993. II-A
53
GENERAL OVERVIEW ON BENCHMARKING TECHNIQUES AND THEIR APPLICABILITY FOR P2P SYSTEMS
[12] Q. He, M. Ammar, G. Riley, H. Raj, and R. Fujimoto. Mapping peer
behavior to packet-level details: A framework for packet-level simulation
of peer-to-peer systems. http://www.cc.gatech.edu/computing/compass/
gnutella/simulator.ps (last accessed on 05.06.2010), 2003. II-B5
[13] R. Isaacs and P. Barham. Performance analysis in loosely-coupled
distributed systems. In In 7th CaberNet Radicals Workshop, 2002. II-B3
[14] A. Montresor and M. Jelasity. Peersim: A scalable p2p simulator, 2009.
II-B5
[15] T. Num, G. Antoniu, G. Antoniu, L. Cudennec, L. Cudennec, M. Duigou,
M. Duigou, M. Jan, and M. Jan. Performance scalability of the jxta p2p
framework. In In Proc. 21st IEEE International Parallel and Distributed
Processing Symposium, pages 108–131, 2007. II-B5
[16] T.-P. Subcommittee. TPC-E Benchmark Overview. Transaction Processing Performance Council. http://tpc.org/tpce/spec/TPCEpresentation.ppt
(last accessed on 05.06.2010). 2, 3, II-B2
[17] TPC-PR. Transaction Processing Performance Council. II-B2
[18] T. Tuan, A. Dinh, M. Lees, G. Theodoropoulos, and R. Minson. Large
scale distributed simulation of p2p networks, 2008. I
[19] L. Whitney.
Google, ibm, apple–world’s most valuable brands.
http://news.cnet.com/8301-1001_3-20003629-92.html (last accessed on
05.06.2010), 2010. I
[20] T. Wimberly.
Jit performance boost coming with
android
2.2.
http://androidandme.com/2010/05/news/
jit-performance-boost-coming-with-android-2-2/ (last accessed on
05.06.2010), 2010. II-B1
54
SAFEBOOK KEY MANAGEMENT
Safebook Key Management
Felix Günther
interesting properties of the presented approaches which are
evaluated later on using reasonable system parameters.
As a result, it is shown that the examined schemes differ
heavily in terms of the given constraints, whereas an approach
based on broadcast encryption performs best regarding the
outlined properties.
The rest of this paper is organized as follows. First, beneficial architectural structures of Safebook are pointed out in
section II. In section III, requirements for suitable encryption
schemes are discussed and weaker constraints identified. A
survey of applicable approaches is given thereafter in section IV, followed by an evaluation of these in section V. In
section VI, approaches related to the described ones are discussed and their drawbacks regarding the given requirements
are pointed out. The paper concludes in section VII with a
short summary and gives an outlook on future work.
Abstract—Safebook is a peer-to-peer based online social network (OSN), enabling users to create profiles and share data
like in other OSNs as, e.g., Facebook. Since the decentralized
architecture of Safebook does not contain a central authority
that is able perform access control, encryption is needed to ensure
the confidentiality of published data. This paper outlines strict
requirements and weak constraints for the encryption of data
attributes in Safebook. Subsequently, an overview of possible
cryptographic solutions is given and their suitability according
to these requirements is analyzed. As a result, the differences
and trade-offs between and within the given approaches are
expounded. The outcome of this paper can be used as a
foundation for further investigations on this topic.
I. I NTRODUCTION
Safebook [2] is a peer-to-peer based, decentralized OSN that
builds links between peers based on real-life relations. The
system provides operations like data publication in profiles,
data retrieval from other users’ profiles, contact management
or message exchange as known from existing OSNs.
Due to its decentralized nature, Safebook lacks a central
authority enforcing access control on all user profiles which
is possible on centralized OSNs like Facebook or LinkedIn
that are accessed through a single web interface. In contrast
to these systems, the profile of a user in Safebook is stored
on her system itself, all user systems forming a peer-to-peer
network. Since the profile of a user is replicated on the systems
of her friends (i.e., her contacts) for accessibility reasons, she
is not able to enforce live access control on her profile either.
These constraints yield the need of encryption of user profile
data in Safebook to guarantee its confidentiality. In addition to
that, Safebook users shall be enabled to restrict access to their
profiles in a fine-grained manner on atomic attributes. Thus,
the encryption scheme has to offer a possibility to encrypt a
multitude of single attributes each for a single user or a group
of users.
Aside of these hard constraints the architecture of Safebook
poses some weaker constraints. Since all operations need to
be executable on mobile devices and with affected users being
offline, storage space requirements and the requisite interaction
between group members in the particular encryption scheme
have to be taken into account.
After presenting architectural structures of Safebook beneficial for key management, this paper points out the significant
requirements demanded from the encryption scheme and outlines weaker constraints leading to varying focuses among the
investigated approaches. Based on these requirements and constraints, an overview of different encryption schemes is given,
reflecting different approaches to distribute and manage group
keys. Thereupon, these schemes are analyzed regarding the
weak constraints by developing abstract formulas for several
II. B ENEFICIAL A RCHITECTURAL S TRUCTURES OF
S AFEBOOK
The architecture of Safebook includes a Trusted Identification Service (TIS) that provides each user joining the network
with an unambiguous node identifier and pseudonym. Along
with this, each user generates two public/private key pairs
for the peer-to-peer and OSN levels for which she receives
certificates from the TIS.
Furthermore, the peer-to-peer substrate of Safebook allows
to resolve the public key belonging to a user or to a user’s
pseudonym. That way, encryption schemes can utilize the
global availability of keying material (i.e., distributed public/private key pairs) for their purpose. The existence of keying
material eases the communication and key distribution needed
for key management and renders more complex approaches
(as they are needed in, e.g., ad-hoc networks, where no
preliminary keying material is available) unnecessary.
Beyond that, the user groups who shall be allowed to access
certain attributes are—in contrast to members in, e.g., ad-hoc
networks or interest groups in Facebook—both relatively stable and more likely increasing than decreasing. Thus, member
exclusions will occur only rarely, which can be advantageous
for some encryption schemes.
III. R EQUIREMENTS AND C ONSTRAINTS
In this section, the mandatory requirements for encryption
schemes solving the given problem are defined first, followed
by weaker constraints, whose degree of fulfillment can be
quantified for each approach.
A. Mandatory Requirements
The following requirements have to be met by an approach
to be suitable at all:
55
SAFEBOOK KEY MANAGEMENT
1) Confidentiality: If an attribute a is encrypted for a
certain group of users Ua = {Ua,1 , Ua,2 , . . . , Ua,n }, it has to
be computationally infeasible for any user U 6∈ Ua to decrypt
the attribute a.
2) Access Control: Only the owner of a profile can change
the access rules to its attributes, defining who is allowed to
access a certain attribute and who is not. In particular, the
mirroring peers (i.e., all peer in the owner’s contact list) must
not be able to manipulate the access rules, neither of attributes
they are allowed to decrypt nor of these that they are not
allowed to decrypt.
3) Privacy: It has to be infeasible for any user to discover
the identity of an authorized user (except for herself) of an
attribute as well as to decide whether any other user is or is
not authorized to access an attribute.
4) Key Independence: If the encryption schemes use group
keys K = {K0 , K1 , . . . , Kn } (i.e., a secret share is published
to and known by all users having access to a given attribute),
it has to be guaranteed that a passive adversary knowing
an arbitrary subset K̂ ⊂ K of group keys is not able to
discover any other group key K̄ ∈ (K \ K̂) (cf. [10]). Key
independence implies forward and backward secrecy; i.e., an
attacker knowing a contiguous subset of group keys cannot
discover subsequent or preceding keys.
3) Expenditure of resources needed for computations: As
Safebook clients should be able to run on mobile devices with
limited computing power, access control management has to
be feasible also on these clients. Thus, the computation of keys
is demanded not to be too expensive regarding the resources
needed.
IV. E NCRYPTION S CHEMES
In this section, different approaches suiting the requirements
are described. First, a simple and intuitive scheme in two
variants is described. Thereafter, a more complex approach is
outlined based on the One-way Function Tree (OFT) scheme
[1], [11], [13], which itself bases on the Logical Key Hierarchy
approach (LKH) [17], [18]. The third scheme—presented in
[7]—uses bilinear pairings for broadcast encryption (BE) to
achieve adaptive security (the scheme is subsequently referred
to as “Gentry-Waters BE”).
A. Simple Shared Key
The intuitive approach to encrypt attributes for a group
of users is the following: The profile owner creates a new
attribute a and defines the group Ua = {Ua,1 , Ua,2 , . . . , Ua,n }
of users authorized to access it. She then chooses a secret
key Ka for this attribute at random, encrypts the attribute a
as EncKa (a) and adds the encrypted attribute to her profile.
Finally, the key Ka has to be distributed to all users in
Ua . Regarding the architecture of Safebook, there are two
possibilities to distribute the key Ka , forming the two shapes
of this approach:
1) Client-side Key Storage: The first variant is to send
every user Ua,i the secret key Ka for the new attribute
using the respective public key pki for encryption; i.e., send
Encpki (Ka ) to each Ua,i ∈ Ua .
In this case, the owner of the profile only has to store the
current attribute key Ka (which does not have to—and should
not—be stored in the profile), but this key needs to be stored
also on the system of every user in Ua .
When creating an attribute, Ka has to be sent to each user
Ua,i , resulting in n messages. If a new user Ua,n+1 is added to
the group of authorized users Ua , the attribute key Ka needs
to be changed and the new key Ka0 has to be transmitted
to all users Ua,i ∈ Ua0 = Ua ∪ {Ua,n+1 } as Encpki (Ka0 ),
thus resulting in n + 1 messages and encryptions. The owner
of the profile then encrypts the attribute with the new key
as EncKa0 (a) replacing the old encryption in the profile. On
exclusion of a user Ua,j out of Ua , the owner of the profile also
has to choose a new secret key Ka0 and replace the encrypted
attribute in the profile. The key has to be distributed to all
users in the new group of authorized users Ua0 = Ua \ {Ua,j },
resulting in n−1 messages and encryptions. It should be noted
that this approach also supports the addition or exclusion of a
subgroup of multiple users Ūa = {Ūa,j1 , . . . , Ūa,jm } at once:
Addition and exclusion of this group can be carried out like
the addition or exclusion of a single user, publishing the new
key Ka0 to Ua0 = Ua ∪ Ūa in case of user addition respectively
Ua0 = Ua \ Ūa in case of user exclusion, resulting in n + m
respectively n − m messages.
B. Weaker Constraints
Besides the hard requirements given above, there are weaker
constraints posed by the architecture of Safebook, which
allow an evaluation of different approaches applying to the
requirements. These are:
1) Storage Space: The keys used by encryption schemes in
the given setting are duplicated in two ways: On the one hand,
the keys the owner has to store in her profile (e.g., encrypted
shared keys for authorized users) are replicated on the systems
of all her contacts. On the other hand, the keys needed for
accessing an attribute have to be stored by the client user
(regarding the access to a profile) for every attribute she has
access to and that for any contact’s profile in her contact list.
It is obvious that especially the client-side storage needs can
become very large. Therefore, storing keys on clients should
be avoided if possible, or at least used on a limited scale.
Keeping the replication of user profiles in mind, the amount
of storage overhead imposed in the profile should be kept as
low as possible. It should be noted that not all data stored
at the owner of a profile necessarily has to be stored in the
profile itself, e.g., the private key of the owner clearly has
to be stored on her system but—needless to say—not in her
profile, replicated on other systems. Encryption schemes may
introduce similar keys or other data, which have to be stored
on the owner’s system only, not directly in the profile.
2) Interaction with group users: Since Safebook is based
on a peer-to-peer system, its users’ systems apparently are
not permanently online, which makes direct communication
difficult. Therefore, live interaction needed between the owner
of a profile and users in an access group for a certain
attribute should be reduced to a minimum. Otherwise, e.g.,
establishment of keys would slow down dramatically, since
delayed channels would have to be used.
56
SAFEBOOK KEY MANAGEMENT
Ka0
Ka
EncKa,1 (R(R(r)))
Ka,1
Ka,0
Ka,1
0
Ka,0
EncKa,00 (R(r))
Ka,00
Ka,01
Ka,10
Ka,11
Ka,00
Ua,1
Ua,2
Ua,3
Ua,4
Ua,1
Fig. 1.
OFT key tree
2) Profile-side Key Storage: The second variant of this
approach is to store the secret key in the profile rather than
distributing it to all authorized users. For this purpose, the
owner of the profile computes Encpki (Ka ) for each Ua,i ; i.e.,
she encrypts the secret key Ka for each authorized user Ua,i
using the respective public key pki . These encodings of Ka are
then stored in the owners profile, accessible for all Safebook
users, thus also the authorized ones.
This way, the authorized users do not need to store anything:
To access a an authorized user Ua,i decrypts the encryption
of Ka destined for him using his private key ski and receives
Ka enabling him to decrypt the attribute. This zero-storage at
client-side is traded in for greater storage needs at profile-side,
since the owner of the profile in this variant has to store not
only Ka (outside the profile), but also n encryptions of Ka in
the profile that are replicated on the systems of her contacts.
Since no information has to be transferred to the authorized
users in this variant, there is no group interaction at all; i.e.,
no messages need to be sent. Member addition and exclusion
(also of multiple users) are done analogously to the first
variant, storing the new encrypted keys in the profile rather
than sending them to the users.
Fig. 2.
0
Ka,01
Ka,10
EncKa,011 (r)
Ua,4
Ka,010
Ka,011
Ua,2
Ua,3
Ka,11
Ua,5
OFT user removal or addition
to assure forward secrecy. As an enhancement of the LKH
approach, OFT does not choose all new keys on the path to the
root at random, but only assigns the parent node p(Ū ) of the
removed user Ū a randomly chosen value r. Then, a pseudorandom generator [8] G which doubles the size of its input
(L(x) and R(x) denoting the left and right halves of the output
of G(x)) is used to determine the new keys on the path to the
root. Every other node v on the path to the root is assigned
a value rv computed as rp(v) = R(rv ) = R|Ū |−|v| (r) (where
p(v) denotes the parent and |v| the height of v). Based on these
0
= L(rv ) =
values the new key of a node v is defined as Ka,v
|Ū |−|v|−1
L(R
(r)). Finally, each value rp(v) is encrypted with
the key Ka,s(v) (s(v) denoting the sibling of v) and sent to
the users in the subtree of s(v), thus enabling all users to
compute the new attribute key Ka0 . For example, if user Ua,2
is removed in the tree of figure 2, EncKa,011 (r) has to be sent
to Ua,3 , EncKa,00 (R(r)) to Ua,1 and EncKa,1 (R(R(r))) to
Ua,4 and Ua,5 , thus dlog ne encryptions are needed and n − 1
messages sent. Now, each user is able to compute the new
0
0
keys Ka,01
= L(r), Ka,0
= L(R(r)) and Ka0 = L(R(R(r))).
User addition is accomplished similar to user removal. To
guarantee backward secrecy, all keys on the path from the new
user to the root have to be changed the same way as if the new
user would have been removed. Thus, the addition of Ua,2 to
the tree of figure 2 results in the same encryptions and n + 1
messages sent (of course, r is chosen newly at each addition
or removal). If user Ua,3 is moved down in the tree in order to
add Ua,2 , she keeps her old key Ka,01 as the new key Ka,011 .
The owner of the profile has to store the whole key tree
(not in the profile itself), whereas the authorized users have to
retain at most dlog ne + 1 keys each.
B. OFT-based Approach
The approach based on the One-way Function Tree (OFT)
uses a binary tree, containing the shared secret key Ka for
the attribute a at its root and associating the leafs with the n
authorized users Ua,1 , . . . , Ua,n (see Figure 1).
The key tree is of height log n and is initialized as follows
(cf. [1]): The profile owner associates every node v with
a randomly chosen key Ka,v and sends each user all keys
associated to nodes on the path from the user to the root
encrypted with the respective user’s public key. In the tree of
Figure 1 for example, Ua,1 would receive Ka,00 , Ka,0 and Ka .
Thus, each user receives at most log n + 1 keys, transmitted
with n messages. As all users know Ka , the encrypted attribute
EncKa (a) can be stored in the profile with all authorized users
able to decrypt it.
On user removal, all keys associated to nodes on the path
from the removed user Ū to the root have to be changed
C. Gentry-Waters broadcast encryption (BE) approach
The Gentry-Waters BE scheme presented in [7], which is
a very novel approach in the field of broadcast encryption
[3], [4], [6], [12] (especially regarding adaptive security),
57
SAFEBOOK KEY MANAGEMENT
can be used for the encryption of multiple attributes at the
same time and with low overhead in our setting. Due to its
complexity, we will only sketch the approach at this point (cf.
[7], section 3.1 for more details). The construction contains
the four algorithms Setup, KeyGen, Enc and Dec which we
will draft subsequently:
Setup generates the basis groups G, GT of prime order p
and the bilinear map e. Moreover, it chooses α ∈ Zp and
g, h1 , . . . , hn ∈ G at random and computes a public and a
private key P K and SK. Using the private key, KeyGen is
called for each of n users (where n constitutes the upper
bound for the number of users which can be granted access
to an attribute), resulting in a secret key di for each user.
These secret keys can be stored in the profile, encrypted
with the public key of the respective user. This concludes the
initialization.
Thereafter, a secret share for each group of authorized users
can be computed by providing SK and the group of authorized
users to Enc, which outputs a header Hdr and the secret key
K. Using this secret key, the owner of the profile can now
encrypt the attribute, the group shall have access to and store
it in the profile together with the header Hdr. Each authorized
user is then able to decrypt the shared key K using Dec with
her secret key di 1 , which she is able to decrypt with her private
key ski .
User addition and removal requires a new execution of
Enc, since the group of authorized users has changed. A
regeneration of the secret keys di is not needed.
The authorized users have to store nothing in this approach.
The owner of the profile has to retain the private key SK
whereas the public key P K and the encrypted secret keys
di for each user as well as the header Hdr and symmetric
encryption EncK (a) for each attribute have to be stored in
the profile.
2) Storage requirements in the profile and its replications:
The amount of storage in bytes needed for a single attribute in
the profile is denoted by Sp . This value includes the storage
needed on the systems of the profile owner’s contacts (remember that Safebook profiles are replicated at their owner’s
contacts for accessibility reasons). It does not include the
storage needed for the symmetric encryption of the attribute
itself.
3) Storage requirements at the authorized users: The
amount of storage in bytes needed for a single attribute on
the systems of all users authorized to access the attribute is
denoted by Su .
4) Number of encryptions on initialization: The number of
encryptions needed on initialization of the encryption scheme
is denoted by Ei , not including the encryption of the attribute
itself.
5) Number of encryptions on user addition: The number
of encryptions needed when a user is added to the group
of authorized users is denoted by Ea , not including the
encryption of the attribute itself.
6) Number of encryptions on user removal: The number
of encryptions needed if a user is excluded from the group of
authorized users is denoted by Er , not including the encryption
of the attribute itself.
7) Number of messages on initialization: The overall number of messages sent on initialization of the encryption scheme
is denoted by Mi .
8) Number of messages on user addition: The overall
number of messages sent when a user is added to the group
of authorized users is denoted by Ma .
9) Number of messages on user removal: The overall
number of messages sent if a user is excluded from the group
of authorized users is denoted by Mr .
B. Abstract property formulas
Table I shows the abstract formulas for all properties and
encryption schemes using the notation shown in table II. We
will now develop these formulas:
1) Simple Shared Key: In both variants the owner has to
store the shared symmetric key Ka , thus So = bs . Sp = 0
for the variant of client-side key storage (since the profile is
not needed for storage here) and Sp = (C + 1) · N · ba for
the profile-side storage, as we have to store the (asymmetrically) encrypted Ka for N users (N is the number of users
authorized to access attribute a, cf. table II) and this storage
is replicated to the C contacts of the profile’s owner. Each
authorized user has to store Ka in the client-side variant, thus
Su = N · bs here. In the profile-side variant, the users have to
store nothing.
The number of needed encryptions is identical for both
variants: On initialization, the shared key Ka has to be
encrypted for each user, resulting in N encryptions. When
adding or removing a user, Ka has to be encrypted for all
members of the new group of authorized users, thus N + 1
respectively N − 1 encryptions have to be performed.
Whilst the profile-side variant does not need any messages
to be sent, each encrypted key has to be transmitted to the
appropriate user in the client-side variant.
V. E VALUATION
We will now evaluate the encryption schemes described in
the previous section according to the requirements and weaker
constraints presented in section III. First, the relevant metrics
(as storage space, numbers of encryptions needed, etc.) for
analysis are defined. Then, abstract formulas are determined
for all properties and encryption schemes. In a third step, we
apply concrete values for the parameters of the properties to
explore the trade-offs imposed by the approaches. Finally, the
differences between the approaches are discussed.
A. Property definitions
We will study the following abstract properties on each
scheme:
1) Storage requirements at the profile owner outside the
profile: The amount of storage in bytes needed for a single
attribute on the system of the profile owner, which is not stored
in the profile, is denoted by So .
1 The Dec algorithm also has to be provided with the indices of the users that
are allowed to access a certain attribute. It is arguable how much information
about the users with the respective indices can be deduced. We assume
that meaningful linking becomes (statistically) impossible if the attribute is
encrypted for a certain percentage of additional dummy indices not related to
any user.
58
SAFEBOOK KEY MANAGEMENT
TABLE I
A BSTRACT PROPERTY FORMULAS
Scheme
S. Shared Key (1)
S. Shared Key (2)
OFT
Gentry-Waters BE
So
bs
bs
(2N − 1)bs
bg
A
Storage
Sp
0
(C + 1)N ba
0
|P K|+Cba
A
+ 2bg (C + 1)
Su
N bs
0
N (dlog N e + 1)bs
0
TABLE II
N OTATION USED IN THE PROPERTY FORMULAS
A
N
C
nBE
bs
ba
bg
bp
the
the
the
the
the
the
the
the
Ei
N
N
N
1
Encryptions
Ea
Er
N +1
N −1
N +1
N −1
dlog N e
dlog N e
1
1
Mi
N
0
N
0
Messages
Ma
Mr
N +1
N −1
0
0
N +1
N −1
0
0
C. Analysis of the proposed schemes
Figure 3 shows the plots of all properties over the number
of authorized users for an attribute.
For A, C, nBE , ba , bs , bg and bp , we have used the following reasonable values: We have assumed a high average of
C = 250 contacts and a medium average of A = 300 attributes
in a profile. A maximum of 250 users for a group of authorized
users used in the Setup algorithm of the BE approach seems
reasonable. Furthermore, we have chosen a bit length of 1024
for asymmetric keys and pairings each (ba = 128, bp = 128)
and a bit length of 192 for symmetric keys and pairing-based
group elements each (bs = 24, bg = 192).
number of attributes in the profile
number of users authorized to access an attribute
number of contacts of the profile’s owner
maximum number of users chosen for the Setup algorithm
size of a symmetric key in bytes
size of an asymmetric key in bytes
size of a pairing-based group element (g ∈ G) in bytes
size of a pairing (e(g, g)) in bytes
2) OFT-based Approach: In the OFT-based scheme, the
owner of the profile has store the key tree outside of the
repository which contains 2N − 1 nodes, each associated with
a symmetric key bs . The N users in the tree have to retain the
keys on the path to the root (at most dlog N e + 1 symmetric
keys of size bs ), thus Su = N · (dlog N e + 1) · bs . Nothing has
to be stored in the profile.
During the initialization, all keys on the path from a user’s
leaf node to the root have to be sent encrypted to the respective
user, resulting in N encryptions and N messages sent. Since
user addition and removal are quite similar, they both need the
same number of encryptions: For each subtree under a sibling
of a node on the path from the removed or added node to
the root, a value rv is encrypted, resulting in at most dlog N e
(and at least log N ) encryptions. All nodes in the tree have an
ancestor changing its associated key, thus all N +1 respectivley
N − 1 nodes have to receive a key updating message.
3) Gentry-Waters BE scheme: The owner of the profile has
to store the private key SK of size bg in the Gentry-Waters BE
scheme. As this key has to be stored only once, its size has to
be distributed over the number of attributes; i.e., divided by the
b
number of attributes A, resulting in So = Ag . The authorized
users need not retain anything. The profile has to provide the
public key P K (consisting of nBE +1 elements of the group G
and one pairing e(g, g)α ) of size |P K| = (nBE +1)·bg +bp and
the encrypted secret keys di for all of the profile user’s contacts
(C · ba ). This storage—like the private key—is required only
once and therefore divided by A. Further, the header Hdr of
size 2 · bg has to be stored in the profile for each attribute.
Finally, all this is replicated on the C systems of
the user’s
a
+
2
·
b
contacts. Summarized, Sp = |P K|+C·b
g · (C + 1).
A
Concerning the number of encryptions, we only consider
needed executions of the algorithm Enc, since Setup and
KeyGen have to be processed only at the initialization of the
scheme, not at each initialization of an attribute. Thus, we
have a single encryption for initialization as well as for user
addition and removal.
No active messaging is needed in this approach.
D. Discussion
The two variants of the Simple Shared Key approach require
a considerable amount of storage either in the profile or at
client-side, which is rather problematic since storage in the
range of megabytes at profile-side respectively kilobytes at
client-side is needed just for a single attribute. Keeping in mind
that a user may have thousands of attributes and clients have
to store attribute keys for each attribute of all of their contacts,
the Simple Shared Key approach gets infeasible rapidly.
Without doubt, the great advantage of the approach based
on the One-way Function Tree scheme is the ease of access revocation; i.e., user removal in our case. However, this scheme
requires a comparatively high amount of group interaction in
form of messages to the authorized users and depends on an
amount of client-side key storage that is even higher than the
one needed by the Simple Shared Key approach. As stated
before, the amount of client-side storage is multiplied by the
number of attributes the user has access to at the profiles of
all her contacts. Thus, this approach results in large overall
storage needs.
It is obvious that the Gentry-Waters BE approach based
is most suitable regarding the given constraints. Especially
the important storage requirements are met as the GentryWaters BE scheme performs very well at each of the three
related properties. Even if it is considered that pairing based
cryptography is more expensive than symmetric or public key
cryptography, the Gentry-Waters BE approach requires a tolerable amount of computing power. Moreover, the avoidance
of group interaction in form of messages is an advantage of
this scheme.
Given the presented evaluation, the Gentry-Waters BE approach turns out to be the best fitting approach, worthy of
further investigation.
59
SAFEBOOK KEY MANAGEMENT
So [KBytes]
100
10
100000
Simple Shared Key (1)
Simple Shared Key (2)
OFT
Gentry-Waters BE
10000
1
0.1
0.01
1000
S. Shared Key (1) (= 0)
Simple Shared Key (2)
OFT (= 0)
Gentry-Waters BE
1000
100
0.001
Simple Shared Key (1)
Simple Shared Key (2) (= 0)
OFT
Gentry-Waters BE (= 0)
100
Su [KBytes]
1000
Sp [KBytes]
10000
10
1
0.1
0.0001
1e-05
10
50
100
150
200
250
0.01
50
100
N
1000
250
50
10000
Simple Shared Key (1)
Simple Shared Key (2)
OFT
Gentry-Waters BE
1000
10000
Simple Shared Key (1)
Simple Shared Key (2)
OFT
Gentry-Waters BE
1000
10
1
1
1
0.1
150
200
250
100
N
200
250
10000
1000
100
10
1
10000
Simple Shared Key (1)
Simple Shared Key (2) (= 0)
OFT
Gentry-Waters BE (= 0)
1000
100
200
250
Simple Shared Key (1)
Simple Shared Key (2) (= 0)
OFT
Gentry-Waters BE (= 0)
100
1
50
100
N
(g) Messages during initialization
250
10
1
150
150
(f) Encryptions on user removal
10
100
100
N
(e) Encryptions on user addition
Simple Shared Key (1)
Simple Shared Key (2) (= 0)
OFT
Gentry-Waters BE (= 0)
50
50
Mi
1000
150
N
Mi
10000
200
Simple Shared Key (1)
Simple Shared Key (2)
OFT
Gentry-Waters BE
0.1
50
(d) Encryptions during initialization
250
Er
Ea
Ei
10
100
200
100
10
0.1
150
(c) Storage at the users
100
50
100
N
(b) Storage in the profile
100
Mi
200
N
(a) Storage at the owner
10000
150
150
200
N
250
50
100
150
200
250
N
(h) Messages on user addition
(i) Messages on user removal
Fig. 3. Plots of all properties over the number of authorized users N (y-axis plotted with logscale, properties that are constant 0 are marked accordingly
with “(= 0)” in the legend)
VI. R ELATED A PPROACHES
conflicting with the privacy requirements.
In [9], Jin and Lotspiech present a broadcast encryption
scheme with differently privileged users. They introduce “security classes” to provide different data sets for differently
privileged user groups. Even though Safebook attribute user
groups could be arranged in a hierarchy like in role-based
systems, the proposed approach—since it is designed for a
linear hierarchy (i.e., group A > group B > group C, etc.)—
imposes conflicts regarding overlapping attribute user groups
and key distribution.
Multiple approaches exist to establish group keys in (mobile) ad hoc networks (cf. [16]) that could generally be used
to set up attribute group keys in Safebook. However, these
approaches assume that no preliminary keying material is
available and therefore impose much useless overhead in a
system like Safebook having public/private key pairs at hand
for bilateral communication.
Steiner, Tsudik and Waidner proposed an approach that
extends Diffie-Hellman key exchange to groups in [14], [15].
This scheme provides cheap member addition but is based on
the contribution of all group members to compute the group
key, which poses two problems regarding the requirements
and constraints: It requires direct interaction between the
authorized users, which is infeasible regarding the peer-topeer architecture. Moreover, the key exchange happens directly
between the members of the authorized user group, which
violates the privacy requirements as the authorized users have
to know each other.
A recent encryption scheme proposed by Eskeland and
Oleshchuk [5] uses fractional public keys to compute a shared
group key. If Safebook users could be provided with a private
key based on this scheme, neither they nor the owner of
the profile would have to store any further keys. However,
the private keys are generated by a central trusted authority
like Safebook’s Trusted Information Service, which would
then be able to decrypt any communication in Safebook. The
authorized users also need to know the other authorized users,
VII. C ONCLUSION AND F UTURE W ORK
The architecture of Safebook leads to the need for different
encryption schemes as they are used in centralized online
60
SAFEBOOK KEY MANAGEMENT
social networks. Private data has to be encrypted in user
profiles to guarantee its confidentiality.
The peer-to-peer structure of Safebook raises different requirements and constraints that we have presented in this
paper, subdivided into strict and weaker ones. Afterwards,
different encryption schemes have been described that base
upon distinct approaches.
To evaluate the given schemes, interesting properties stemming from the outlined requirements and constraints are
defined first. As a second step, abstract formulas for the
computation of these properties are developed for each encryption scheme using varying system parameters. All properties
are plotted afterwards with reasonable values applied for the
abstract parameters, constituting a basic overview over the
trade-offs imposed between and within different approaches.
Though there is evidence that the broadcast encryption
based approach performs best in the present setting, further
investigations and simulations—especially simulations based
upon real data sets—are needed to prove this observation.
Clearly, the evaluation carried out in this paper can just
give a first insight into the characteristics of the presented
approaches. A precise elaboration of the schemes outlined in
this paper remains for future work.
[17] D. Wallner, E. Harder, and R. Agee. Key management for multicast:
Issues and architectures. RFC 2627 (Informational), 1999. IV
[18] C. K. Wong, M. G. Gouda, and S. S. Lam. Secure group communications
using key graphs. In SIGCOMM, pages 68–79, 1998. IV
R EFERENCES
[1] R. Canetti, J. A. Garay, G. Itkis, D. Micciancio, M. Naor, and B. Pinkas.
Multicast security: A taxonomy and some efficient constructions. In
INFOCOM, pages 708–716, 1999. IV, IV-B
[2] L. A. Cutillo, R. Molva, and T. Strufe. Safebook: A privacy-preserving
online social network leveraging on real-life trust. "IEEE Communications Magazine", Vol 47, Issue 12, Consumer Communications and
Networking Series, December 2009, 2009. I
[3] Y. Dodis and N. Fazio. Public key broadcast encryption for stateless
receivers. In Digital Rights Management Workshop, pages 61–80, 2002.
IV-C
[4] Y. Dodis and N. Fazio. Public key trace and revoke scheme secure
against adaptive chosen ciphertext attack. In Public Key Cryptography,
pages 100–115, 2003. IV-C
[5] S. Eskeland and V. A. Oleshchuk. Secure group communication using
fractional public keys. In ARES, pages 254–257, 2010. VI
[6] A. Fiat and M. Naor. Broadcast encryption. In CRYPTO, pages 480–491,
1993. IV-C
[7] C. Gentry and B. Waters. Adaptive security in broadcast encryption
systems (with short ciphertexts). In EUROCRYPT, pages 171–188, 2009.
IV, IV-C
[8] O. Goldreich, S. Goldwasser, and S. Micali. How to construct random
functions. J. ACM, 33(4):792–807, 1986. IV-B
[9] H. Jin and J. Lotspiech. Broadcast encryption for differently privileged.
In SEC, pages 283–293, 2009. VI
[10] Y. Kim, A. Perrig, and G. Tsudik. Simple and fault-tolerant key
agreement for dynamic collaborative groups. In ACM Conference on
Computer and Communications Security, pages 235–244, 2000. III-A4
[11] D. A. McGrew and A. T. Sherman. Key establishment in large dynamic
groups using one-way function trees. Technical Report No. 0755, TIS
Labs at Network Associates, Inc., Glenwood, MD, May 1998. IV
[12] D. Naor, M. Naor, and J. Lotspiech. Revocation and tracing schemes
for stateless receivers. In CRYPTO, pages 41–62, 2001. IV-C
[13] A. T. Sherman and D. A. McGrew. Key establishment in large dynamic
groups using one-way function trees. IEEE Trans. Software Eng.,
29(5):444–458, 2003. IV
[14] M. Steiner, G. Tsudik, and M. Waidner. Diffie-hellman key distribution
extended to group communication. In ACM Conference on Computer
and Communications Security, pages 31–37, 1996. VI
[15] M. Steiner, G. Tsudik, and M. Waidner. Cliques: A new approach to
group key agreement. In ICDCS, pages 380–387, 1998. VI
[16] J. van der Merwe, D. S. Dawoud, and S. McDonald. A survey on peerto-peer key management for mobile ad hoc networks. ACM Comput.
Surv., 39(1), 2007. VI
61
MOBILE P2P
Mobile P2P
Yann Karl
Abstract—After Napster, Gnutella, eDonkey and many more
successful examples for peer-to-peer networking emerged among
the global communication networks, the usage of those concepts
in mobile environments is taking its first steps. This paper will
at first define some requirements and challenges of mobile peerto-peer networking, then take a look at possible solutions for
some of the challenges mobile peer-to-peer has to face. We give
examples for applications based on mobile ad hoc networks and
study the architectural problems and possible solutions.
•
at anytime. The topology in fact represents the relative
distance of its nodes and reconfigures as nodes move, join
the network or disappear.
Fault Tolerance: Since central control units are missing
and the network reorganizes itself, the network itself
is fault-tolerant on node failure, reorganizing itself to
prevent any malfunction.
B. Mobile Peer-to-Peer Systems
The idea of bringing Peer-to-Peer systems to mobile devices
is not really the traditional idea on which their design was
based. Initially, mobile hardware was designed as thin client
as part of a client-server system. Because of their lack of computational power, their main purpose was to access resources
like internet data or computation power provided by larger
server systems. Since mobile CPUs are gaining more speed
while saving battery life, and wireless network connections
are becoming more stable and are able to utilize greater
bandwidth, it becomes possible to design mobile systems as
peer-to-peer systems.
Bolcer et al describe peer-to-peer as “any relationship in
which multiple, autonomous hosts interact as equals. An
autonomous host is useful in it’s own right even in the absence
of others. The peering relationship implies that additional functions are available to other peers collectively as a consequence
of their collaborations with other hosts. Known as the network
effect, the value and extent of these added powers increases
dramatically as the number and variety of peers grows” [2].
A mobile peer-to-peer system inherits many of the features
of ad hoc networks:
• Self-organizing: since mobile devices are usually on the
move and the network structure is based on proximity,
the topology of a mobile peer-to-peer system constantly
changes due to the altering distances between its peers.
• Fully decentralized: a peer-to-peer system lacks central
information nodes, so each peer in a mobile peer-to-peer
system is equally important to it.
• Highly dynamic: because of the nature of wireless connections, communication end-points move frequently,
creating a high dynamic behavior of the peer-to-peer
network.
I. I NTRODUCTION
When Mobile ad hoc networks first appeared as DARPA
packet radio networks in early 1970’s, they became an important research topic in the domain of communication networks.
The main goal is to create and maintain a network lacking
central control entities. Peer-to-Peer networks realize quite a
similar approach within fixed network infrastructures. Since
mobile ad hoc networks suffer from rapid changes in the
operation environment, weak signal strengths and heterogeneous combination of hard and software, the challenges the researchers and implementers face are quite different from wired
peer-to-peer solutions. Subsequently we give an overview of
these challenges and the current development in mobile peerto-peer environments.
II. C HALLENGES OF A D H OC M OBILE I NFORMATION
S YSTEMS
An ad hoc mobile information systems is a decentralized
and highly dynamic network consisting of autonomous mobile
devices which interact as peers. The network itself is selforganizing, changing its topology depending on the relative
distance of its members. Compared to wired network systems,
mobile systems are limited in terms of QoS-mechanisms,
bandwidth capacity and signal transport medium quality, thus
requiring many technical challenges to be solved.
A. Ad hoc Networks
A wireless ad hoc network is a self-organizing networks
consisting of different wireless nodes that communicate on
dynamically established connections. Ad hoc networks have a
number of advantages compared to traditional wireless cellular
networks [1]:
• No Infrastructure required: Ad hoc wireless networks
don’t rely on any given central control unit like wired
base-stations So, they can be established in places without
any existing infrastructure on demand and with little
configuration effort.
• Self-organization: In contrast to wire based networks,
the topology of an ad hoc network depends on physical
proximity of the nodes and thus is subject to change
III. C HALLENGES
The unique character of mobile peer-to-peer systems represents a significant challenge for the designer. Gerd Kortuem
et al [1] described the most important properties as follows:
A. Networking
In general, wireless data networks suffer from great limitations referring to power, available spectrum, mobility, band-
62
MOBILE P2P
width, latency, availability and connection stability. Communication links can be interrupted spontaneously, and thus
networks failures have to be handled gracefully by the mobile
peers. In addition, peer applications should provide for disconnected operations such that a peer remains operational even
without network connection. Furthermore, communication between arbitrary peers in a mobile peer-to-peer network requires
routing over multiple-hop wireless paths. The main difficulty
arises from the fact, that without a fixed infrastructure these
paths consist of wireless links whose end-points are likely
to be moving independently of one another. Consequently,
node mobility causes the frequent failure and activation of
links, leading to increased network congestion while the
network routing algorithm reacts to topology changes [3]. The
instability of multi-hop paths and the limited lifetime of routes
in ad hoc networks have a negative impact on the performance
on peer-to-peer routing.
[4]. As decentralization is a necessary feature of mobile peerto-peer networks, they can not rely on central servers as wire
network peer-to-peer systems like Gnutella sometimes do (e.g.
central host cache). So, other way of discovering surrounding
peers have to be found.
E. Data Sharing and Synchronization
Due to its weak network connections, data sharing and
synchronization is a challenge not easily solved. To be able
to cooperate in a consistent and reliable way, peers need
to be able to share and synchronize data. The unpredictable
behavior of wireless networks and the fact that peers usually
communicate pair-wise lead to the following, yet conflicting
requirements:
•
B. Mobile Device Limitations
As stated on the networking issues above, the main limitation of mobile devices is power and therefore battery life.
The limited energy capacity also restricts the uplink bandwidth
and makes sending data a more expensive operation that
receiving. Mobile devices also lack the computational power,
memory and storage space of modern desktop computers or
server systems. Less powerful CPUs also prevent the usage of
intensive cryptographic security and signing measures.
•
•
C. Naming
Since peer-to-peer systems lack central authorities, they
often operate outside the DNS system. As we characterized
above, a mobile peer-to-peer system in its decentralized and
autonomous environment should not rely on central naming.
Additional reasons for not relying on the DNS system are:
• In mobile ad hoc networks without central units, access
to a DNS server should not be relied on.
• IP networking is not always available making DNS
resolving impossible.
• Impromptu collaboration requires not only the identification of peers but also the identification of its user for
access control or privacy reasons, so it is necessary not
only to determine the name of a device but also identify
its current owner.
High availability: For peers to be able to perform tasks
autonomous from connections to other peers, it is necessary to employ a replicated object scheme where every
peer keeps a local copy of any shared object.
Consistency: Replication of data and its independent use
and alteration creates the problem of syncing independently updated information on the same shared object to
prevent peers from working with inconsistent data.
Timeliness: Solutions for keeping consistency have to
deal with the problem that data might be shared between
groups of peers that never meet at the same time. This
may result in slow update propagation through the whole
group.
F. Security
The security aspect of mobile peer-to-peer systems is much
more complicated than that of wire based systems. Without
proper countermeasures is it possible to track movement of
mobile devices and even observe and keep track of their
activities. In ad hoc networks where every capable device
may be a communication partner, users may not be aware of
whom they are connected to or what devices try to connect
to them. Spoofing identities of known people in line of sight
by someone in the next room can lead to unauthorized access
to private, sensitive or confidential data. So in this case, not
only strong encryption, which are unfortunately limited to the
mobile devices CPU power, but also robust authentication
methods are needed for connection establishment. This is
similar to the issues of naming, because in a system lacking
central authorities, the question “how and whom can we trust
on the network” cannot be easily answered. There is no
central certification authority (CA) to be trusted, thus no public
key infrastructure. So to solve this issue, efficient distributed
authentication protocols are needed which are capable of
running in a totally decentralized environment. A possible
solution, proposed in [5] is the use of reputations. To ensure a
fully secure system it might also become necessary to include
biometric security checks not only to ensure that the device
itself has the right certificates installed but also that it was not
accidentally taken or stolen by another user.
D. Resource Discovery
For mobile peer-to-peer applications it is not only necessary
to discover the devices which are part of the network, but also
to gather meta-information about its neigboring devices to take
advantage of their available and shared resources such as storage, media and services. Because of the unpredictable nature
of mobile ad hoc networks, discovering resources becomes
quite a challenge. Algorithms are needed through which a peer
can not only detect the availability of a neighboring device
but also share information about configuration and supported
services. Resource discovery must be timely (in order to detect
moving devices) and efficient (so not to overload the network)
63
MOBILE P2P
G. Privacy
Privacy in the case of mobile peer-to-peer applications
should be a challenge well taken care of. Privacy is the right
of any individual to control them-self the data and information
collected about their behavior. In contrast to security, which
concerns are about keeping information and data safe from
malicious access attempts, privacy defines the amount of
information known about an individual. So, it is not only
necessary to secure any data from unauthorized access, but
also giving the user control over what information is disclosed,
to whom, and when. Moreover, it should be possible for any
user to stay anonymous if necessary or desired.
IV. T HE MPP P ROTOCOL
The fact, that MANETs and peer-to-peer have a lot in common, is used by Ruediger Schollmeier and Ingo Gruber [6] to
develop a protocol combining both features. In general, peerto-peer protocols are not aware of their underlying network
layer and assume wired connections, thus creating a lot of
overhead network traffic unsuitable for mobile systems. Also,
they generally rely on TCP and assume stable, reliable data
delivery between peers. On the other hand, MANETs are not
aware of the peer-to-peer application layer, taking much effort
in recreating broken links instead of choosing an alternate data
source.
The MPP Protocol Suite consists of 3 different protocols:
the MPP Protocol as the application layer protocol, the Mobile
Peer Control Protocol (MPCP) as the inter-layer communication protocol and EDSR as the network routing protocol.
HTTP over TCP is used for the data transport.
Fig. 1.
MPP Network layers and protocols [6]
Fig. 2.
[6]
MPP message sequence chart for data search and download process
A. Structure
The EDSR protocol is an enhanced version of the existing
Dynamic Source Routing [7] protocol which is capable of
finding routes between hosts in a mobile ad hoc network.
The EDSR protocol does not change the behavior of the DSR
protocol, so EDSR nodes can be integrated into any DSR
network. EDSR extends the request and reply types to not
only find routes to a peer, but also submit search-information
for file-requests, and the capability to reply to those requests.
This leads to the following advantages [6]:
• The MANET keeps control of the network organization.
This way, the changing structure of the topology is taken
into account by the overlaying peer-to-peer network.
• Routing is performed by the network layer and not
unnecessary additionally by the application layer which
minimizes the overall implementation effort.
• Any security implemented on the MANET layer also
improves the peer-to-peer network security.
• By integrating both networks, no redundant information
creating unnecessary traffic and thus taking bandwidth is
created.
Figure 1 shows the layer model of the mobile peer-to-peer
network. MPCP serves as a communication channel to achieve
the above stated advantages between the Application (MPP)
and the network layer (EDSR).
Figure 2 shows the sequence of announcing an application
to the EDSR layer, searching for files and transmitting data.
The MCPC works as registration service enabling the EDSR
to notify applications of incoming search requests, to transmit
search queries of its user to the network and handle incoming
requests and responses from the EDSR.
So, using the MCPC, the peer-to-peer application registers
itself to the EDSR layer. If a user starts a search request,
the EDSR layer handles it, flooding requests throughout the
MANET. Registered nodes on the EDSR layer receive and
forward this request to their overlaying peer-to-peer application which then decides whether to reply or not depending if
the users query matches. If the request is a match, an EDSR
reply is sent back to the requesting node, containing not only
information about the file matching, but also complete routing
information between both hosts.
As stated above, MPP then uses the HTTP protocol for file
transfer, implementing not only GET requests for downloading, but also PUT requests for uploading, which is part of the
HTTP RFC but usually not implemented in e.g. web-servers.
64
MOBILE P2P
To download file chunks from different peers or to retrieve
broken up-/downloads, the MPP uses the HTTP content range
header.
messages and may be implemented on top of many existing
protocols such as TCP/IP, UDP or HTTP.
V. T HE P ROEM M IDDLEWARE P LATFORM
Proem is described as "an open computing platform targeted
at ad hoc mobile information systems. It provides a complete
solution for developing and deploying collaborative peer-topeer applications for mobile ad hoc networks and personal
area networks." [8]
Proem was developed by the Wearable Computing Laboratory at the Department of Computer Science, University of
Oregon, USA, based on their rich experience in mobile peerto-peer application development. [8] [9]
The main objectives of Proem are stated as followed:
• Adaptability: Proem is design to rapidly response to
changes in the operating environment.
• Universality: Proem, in contrast to other concepts, is an
infrastructure for building diverse mobile communities
ranging from file sharing to instant messaging.
• Interoperability: Proem’s goal is to provide interoperability between heterogenous hardware and software platforms.
• Platform Independence: Proem is designed independent
of the programming language to be used, utilizing open
web standards and technologies such as HTTP, XML,
MIME and others.
• Extensibility: Proem’s core components may be modified
by developers.
• High-level development support: Proem was designed to
provide a simple but powerful development platform for
the implementation of mobile peer-to-peer applications.
Fig. 3.
Proem Middleware Architecture [9]
Figure 3 shows the components of the Proem Middleware
Architecture. Besides the protocols for presence, community,
data and transport, it includes the following services useful for
application design and development:
• Discovery manager: provides service for presence announcement and discovery of peers.
• Context manager: responsible for information about currently visible peers.
• Peer database: data storage for peerlets to store custom
meta-information on peers, keeps log of peer encounters.
• Resource manager: provides peerlets with the ability to
share resources with other peers and allows access control
on these resources.
• Event bus: Since Proem is event-based on a publishsubscribe basis, the event bus handles the communication
between the components notifying peerlets of contextual
data changes.
• Profile manager: stores information about the peer user
and its relation to others.
• Protocol manager: gives information about applicationspecific protocols supported by the current peer.
The use of the Proem platform as application platform
in software engineering courses has shown, that not only
experienced users but also novice developers were able to build
a complete application design in a short timeframe. Future
work on the integration to the underlying ad hoc networks
and the specification of a security architecture still needs to
be done.
A. Architecture
The basic building block of the Proem architecture is the
peer, which is an autonomous host or device in a peer-topeer relationship. Deployed on each peer is the Peerlet Engine,
a runtime environment for Peerlets. The Peerlet itself is the
peer-to-peer application based on an event-based programming
model.
From an abstract point of view, Proem consists of a set of
communication protocols defining the syntax and semantics
of messages, which peers are able to exchange. The Proem
platform itself is a collection of tools, APIs and runtime
structures for the development of peer-to-peer applications. It
currently exists as a proof of concept Java implementation.
The Proem defines 4 protocols for peer communication:
• Proem Transport Protocol: the low level basis of all
Proem protocols - a connectionless, asynchronous communication protocol.
• Presence Protocol: protocol for presence announcement.
• Data Protocol: designed for peers to share and synchronize data.
• Community Protocol: designed to be used for community
membership.
Additionally, Proem can be extended by application-specific
protocols. The Proem Transport Protocol builds on XML
VI. M ORE EXAMPLES FOR M OBILE P EER - TO -P EER
S OLUTIONS
A. The Mobile Agent P2P Architecture (MAP2P)
Tim Hsing-ting Hu et al [10] propose an architecture to
support mobile devices as enhancement to the Gnutella File
Sharing Network. The main problems stated in their work
using mobile devices with the Gnutella Protocol are the
following:
• Periodic sending of Heartbeat messages drains too much
power.
65
MOBILE P2P
•
•
•
Limited bandwidth of wireless networks are often a
bottleneck.
Unpredictability of wireless networks according to sudden disconnects.
Lack of mobility awareness for migration between networks.
If a peer wants to download a file from the mobile peer, the
mobile agent works similar to a HTTP proxy, denying access
if the mobile peer is not available or forwarding the request
if it’s present.
Downloading a file to the mobile peer can be either done
directly by the mobile device via HTTP, if in an area with WiFi
connectivity or any other accessible network, or the mobile
agent can be directed to download the file on behalf of the
mobile peer. (see figure 6)
The solution in their proposal is the use of a mobile
agent. Mobile Agents have the characteristics of being mobile,
autonomous and persistent [11]. In this case, instead of the
mobile device attaching to the peer-to-peer network, a mobile
agent acting on behalf of the device is used. The mobile agent
mediates the communication with the mobile system through a
lightweight protocol to reduce the necessary amount of traffic.
Fig. 6.
Fig. 4.
Options for Download Operation [10]
One of the main challenges of mobile peer-to-peer, network migration, is also handled in this solution. Since the
mobile peer knows the location of its agent, it can update
its IP-Address at anytime. Mobile Agents are also allowed to
migrate for different reasons, they can move to an operation
environment closer to the peer, or be forced to migrate when
its current execution environment runs out of resources. (see
figure 7)
The Mobile Agent P2P Architecture [10]
The proposed Mobile Agent P2P architecture is shown in
figure 4. A necessary extension to the existing peer-to-peer
network are hosts that contain execution environments for
mobile agents. Those execution environments not only serve
as place for mobile agents to execute their program code, but
also as a resource and security control for the host.
The process of joining the network for a mobile client is
illustrated in figure 5. Starting the File-Sharing client creates
a mobile agent containing any information about its mobile
peer, which is then migrated to an execution host and reports
its location back to the mobile peer.
Fig. 7.
Options for Download Operation [10]
B. Distributed Search Service for Peer-to-Peer File Sharing
Fig. 5.
In [12] Christoph Lindemann et al. present a passive
distributed indexing (PDI) technique, a general-purpose distributed search service for mobile file sharing applications
based on peer-to-peer technology. The service enables resource
effective searching for files distributed across mobile devices
based on simple queries.
The basic idea behind the PDI implementation is that each
mobile devices stores a local repository containing a set of
available files. Each document is uniquely identified using
its path in the local storage and the IP or MAC address of
the device. Also, each device maintains a local index cache.
Queries are defined by a query string consisting of a list
of keywords connected by a Boolean AND operation. Query
messages are transmitted between peers using local broadcasts.
To spread the messages further, queries may be forwarded for
Mobile Devices Joining the Gnutella Network [10]
Searching for a file is not different from the usual Gnutella
search method. If the user enters a search on his mobile device,
it is given to the mobile agent for processing. If only limited
bandwidth is available, it will only return the top of the list
results, which should be most reliable matches. Since the
mobile agent contains the list of files shared by the user on
his mobile device, it can directly answer to any search request
from the network without need to communicate with its peer.
66
MOBILE P2P
a predefined number of hops. To fill the local index cache, all
devices listen to broadcasted responses and add all references
to matching documents to the cache.
PDI itself does not specify how documents match the query,
making this a task of the application implementing it. To cope
with the low transmission range of wireless devices, PDI is
able to forward query messages as shown in figure 8. As the set
of documents in the result increases with each hop, any peer
on its way updates its cache with the information available. To
avoid unneccesary traffic, duplicate entries are removed from
the reply.
Fig. 8.
[11] K. A. Pham V, “Mobile software agents: An overview,” IEEE Communication Magazine, vol. 1, pp. 26–37, July 1998. VI-A
[12] O. P. W. Christoph Lindemann, “A distributed search service for peerto-peer file sharing in mobile applications.” VI-B, 8
Message forwarding in PDI [12]
VII. C ONCLUSION AND F UTURE W ORK
As we could see in the given concepts and examples of
implementations, a lot is done merging the ideas of MANETs
and peer-to-peer from different angles: presenting new ideas
for new protocols and application development, and also
integrate mobile clients into existing peer-to-peer networks
like Gnutella. Still, there is a lot of work to be done, but
since the development of mobile devices itself concerning
computational power and battery life advances on a day to day
basis, there are a lot of interesting opportunities in developing
peer-to-peer based applications for mobile devices.
R EFERENCES
[1] D. P. T. G. C. T. S. F. Z. S. Gerd Kortuem, Jay Schneider, “When
peer-to-peer comes face-to-face: Collaborative peer-to-peer computing in
mobile ad-hoc networks,” in Proceedings of the International Conference
on Peer- to-Peer Computing (P2P2001), (Linkoping, Sweden), August
2001. II-A, III
[2] A. S. H. P. K. B. M. P. O. R. N. T. Gregory Alan Bolcer, Michael Gorlick, “Peer-to-peer architectures and the magiTM open-source.” II-B
[3] J. J. Kistler and M. Satyanarayanan, “Disconnected operation in the coda
file system,” ACM Transactions on Computer Systems, vol. 10(1):3, p. 1,
February 1992. III-A
[4] M. Nidd, “Timeliness of service discovery in deapspace. proceedings of
the 2000 international workshop on parallel processing.” III-D
[5] J. J. S. F. Z. S. Jay Schneider, Gerd Kortuem, “Disseminating trust
information in wearable communities,” in 2nd International Symposium
on Handheld and Ubitquitous Computing (HUC2K), (Bristol, England),
Sept 25-27 2000. III-F
[6] I. G. Ruediger Schollmeier, “Protocol for peer-to-peer networking in
mobile environments,” 2003. IV, IV-A, 1, 2
[7] D. M. D. Johnson, “Dynamic source routing in ad hoc wireless networks,” Mobile Computing, pp. 153–181, 1996. IV-A
[8] G. Kortuem, “Proem: A peer-to-peer computing platform for mobile
ad-hoc networks,” 2001. V
[9] G. Kortuem, “Proem: A middleware platform for mobile peer-to-peer
computing,” Mobile Computing and Communications Review, vol. 6,
no. 4, p. 1, 2003. V, 3
[10] A. S. Tim Hsing-ting Hu, Binh Thai, “Supporting mobile devices in
gnutella file sharing networks.” VI-A, 4, 5, 6, 7
67
SURVEY OF POSSIBLE TASKS FOR ARTIFICIAL LIFE IN LARGE-SCALE NETWORKS
Survey of possible tasks for Artificial Life in
large-scale Networks
Denis Lapiner
II. V ISION
Abstract—This paper deals with the question: "If we create
artificial life, what could its task be?". Artificial life and learning
algorithms are essential today they help handling the complexity
of software, which is growing rapidly especially in the distributed
networks domain. The article will give a rough overview of
the history of artificial life (AL) and artificial intelligence (AI).
Additionally it will briefly introduce the methodology used in AL
and AI application. Furthermore, some practical and theoretical
applications for AL and AI will be presented. Finally this article
will give some suggestions on what can be performed by artificial
life inside a decentral, intelligent and autonomous network.
The scientists of the Multimedia Communications Lab
(KOM) do research on SkyNet, a peer to peer network which
uses any number of resources on ordinary desktop personal
computers. This network is capable of monitoring itself and
furthermore it finds performance measurement values which
need to be satisfied by itself. These could be for example
latency, average individual processor load, availability, etc.
The system autonomously decides which division of resources
is optimal. The current aim of the scientists is to make the
network adapt to the needs of the users. If users complain of
long waiting time then the latency needs to be improved, if the
local load is too high then it needs to be reduced. But these
are only the current aims. From a visionary perspective, this is
only low-level self organization, as the network could be able
to follow its own autonomous aims. Large-scale networks like
SkyNet are particularly suitable for AL applications, because
of their massive parallel computational abilities. Furthermore
SkyNet’s computational power and memory capacities are
incredibly high and surpass those of any high-end single
machine. In addition there are no investment needed to operate
SkyNet. In order to find some suitable and meaningful task for
SkyNet I will introduce some applications from the history of
AI and AL. Besides the progress of the expectations towards
intelligent systems will be shown. Finally I will suggest some
tasks which SkyNet could have in respect to already existent
applications.
I. I NTRODUCTION
The most common misapprehension about artificial intelligence (AI) and artificial life (AL), probably caused through
the since-fiction films, is that AI is capable of thinking and
understanding what it does. In fact AI is mostly defined by
some heuristic algorithms. If an machine decides that an article
is about sports, then it does so not because it understands the
text, but because the word frequency is similar to the sport
articles the machine has seen before. Artificial intelligence
and artificial life are almost 70 years old. They evolved from
toy applications to highly valuable applications that save large
amounts of money and simplify everyday life. Both are used in
fields like the Internet, computer games, other entertainment,
computer graphics, robotics, security, economics, medicine,
and linguistics. The methodology for AL and AI consists
of various techniques like evolutionary computation, agentbased modelling, cellular automata, swarm intelligence, Lindenmayer systems, neural networks and many more. Many
applications of the algorithms exist, starting with algorithms
playing chess better then any human ever could and continuing
in spacecrafts that are too complex to be controlled solely by
human beings. This article will give a qualified overview of
the techniques used in AL and AI applications. In addition
interesting applications will be named and explained. The
methodologies of AL are predominant massively parallel and
computationally intensive, which makes large-scale networks
very suitable for these methodologies. This paper will introduce a decentral, intelligent and autonomous peer to peer
network called SkyNet, which is planned to use artificial life
for self organisation and improvement of its services. Due to
the fact that SkyNet’s network does not have a certain task
at the moment, the main intention of this article is to present
three suggestions for possible tasks which artificial life inside
SkyNet could have.
III. H ISTORY
This section is to introduce the history of the artificial
intelligence and artificial life ideas. It shows examples for
AI and AL applications from the past. In addition this
section is to show that there is no AI that can define its task
automatically. It is rather human’s job to define the machine’s
task.
According to the book "Artificial Intelligence, A Modern
Approach" written by Stuart J.Russell and Peter Norvig
"the first work that is now generally recognized as AI was
done by Warren McCulloch and Walter Pitts" [4] in 1943.
These two scientists have created a neural network in which
a neuron can be active ("on") or inactive ("off"). Where a
neuron is switched on when a certain number of his direct
neighbours is active. McCulloch and Pitts have shown that
any computable functions can be realized with their neural
network and consequently all logical connectives like "and",
"or", "not", etc. are implementable. They also have made
68
SURVEY OF POSSIBLE TASKS FOR ARTIFICIAL LIFE IN LARGE-SCALE NETWORKS
some theoretical thoughts on making their network learn,
which were practically demonstrated by Donald Hebb in
year 1949. The learning rules Hebb has defined were called
"Hebbian learning" to his honour. According to the preceding
information we can assume that around 1950 the expectations
for artificial intelligence were to solve some simple logical
problems and some learning ability for easy logical functions
(- computable functions). This conclusion is confirmed by the
first neural network computer called SNARC in 1951 created
by Marvin Minsky and Dean Edmonds. This computer had
even problems to solve mathematical tasks.
example for commercial AI software is R1 used by the Digital
Equipment Corporation to simplify the configuration of orders
for new computer systems. Nevertheless many companies
made some promises on complicated AI technology which
they could not keep. This period is known as the "AI Winter".
From this development of AI we see that the expectations
we have about AI systems changed. AI is now not only
messing around with small theoretical problems, but is used
to help people on their working place like the expert system
R1 did. One more practical example for a useful AI system
is the diagnostic expert system used in Windows to correct
problems. Furthermore Stephen Wolfram explains in his book
"A New Kind of Science" [10] that in the mid-1980s to the
mid-1990s the research in artificial life had its most active
time. AL showed in this years that "... computer programs
could be made to emulate various features of biological
systems." [10]. In that time Wolfram himself was working
on cellular automata, which will be explained in more detail
in the next section. "The first conference on artificial life,
in 1989, where the term "artificial life" was coined, gave
recognition to ALife as a field in its own right" [5].
Stuart J.Russell and Peter Norvig say that development
of artificial intelligence in the 1950s was "full of success-in
a limited way" [4]. Programs which could solve problems
with a "thinking humanly" approach appeared. Learning
algorithms showed that computers are better in playing games
then humans, if you let them learn a game by themselves.
This development shows that artificial intelligence faced new
tasks that time. They had to learn and solve problems which
are not related to mathematics. Even worse, they had to
solve mathematical problems without using mathematics! The
phrase "in a limited way" from above refers to the availability
problem of computers that time. Here is a quote concerning
this problem from the previously mentioned book: "Working
at night, he used machines that were still on the testing
floor at IBM’s manufacturing plant." [4]. In 1968 a program
called ANALOGY was even able to solve geometric analogy
problems that appear in IQ tests. In this time AI researchers
got very confident of capabilities of artificial intelligence.
One of the predictions that have been made was that it will
take no more than 10 years until a computer becomes chess
champion and proves a challenging mathematical theorem
[4]. Indeed, this prediction came true, although not in those
following 10 years.
In the 1990s many agent systems emerged in the artificial
intelligence field. Their popularity is demonstrated by the
integration of the word "bot" in the everyday language. The
Internet, growing rapidly, became a large application area for
AI. A new research area called "Web Mining" was formed.
Search engines, spam filter and recommendation systems
use AI technologies. Actually the Internet would be almost
senseless without AI programs which help users every day.
Also medicine was a fast growing application area for AI.
In 1991 the fist "Artificial Intelligence in Medicine Europe"
conference was held [8].
"Artificial Intelligence, A Modern Approach" [4] gives
some examples for AI tasks around year 2000. These will be
briefly listed below.
Still the so far emerged algorithms were not scalable for
large or difficult problems. The next generation of artificial
intelligent algorithms were the "knowledge-based systems".
The advantage of these was the background knowledge which
they had on the engaged problem. The Dendral program
(1969) is an example of this approach. This program was
designed to calculate the structure of molecules given their
mass spectrum. The important difference to earlier algorithms
is that Dendral had a large database of rules which were
provided by the developers. These rules allowed to restrain
the number of possible results to a limited value. From
there on the program could search for the best fitting result.
Also Kim and Cho write in their paper that evolutionary
computation with genetic algorithms have been used to find
out the structure of proteins [5]. Since the number of artificial
intelligent applications increased fast knowledge-based
languages appeared in the world. An example is Prolog,
which is still in use today.
•
Autonomous planning and scheduling, like the
planning program on board of NASA’s spacecraft.
•
Game playing, IBM’s Deep Blue won a chess match
against Garry Kasparov.
•
•
Diagnosis, medical programs make suggestions on
possible diseases.
•
Logistics Planning, such as DART, a transportation
planner of the U.S. forces during the Gulf crisis.
•
In the 1980s artificial intelligence became an industry. In
1980 the value of the AI industry was only a few millions
and in 1988 it had grown up to billions of dollars [4]. One
•
69
Autonomous control. A program navigated a minivan
for 2850 miles across the U.S. after learning on some
training runs.
Robotics, for example in surgery.
Language understanding and problem solving, like
Proverb, a crossword puzzle solver.
SURVEY OF POSSIBLE TASKS FOR ARTIFICIAL LIFE IN LARGE-SCALE NETWORKS
•
IV. P RESENT
This section will introduce some papers which deal with the
aims of artificial life nowadays. At first AL’s methodologies
and their application areas will be explained. Thereafter one
of the application areas of AL will be explained in more
detail. Finally this section will give some information on
SkyNet’s self-organisation and the state of the art in this
research area.
•
Artificial Life
The first discussed paper in this section is "A
Comprehensive Overview of the Applications of Artificial
Life" [5] from Kyung-Joong Kim and Sung-Bae Cho. This
paper names some aims which artificial life nowadays can
have. First of all I will explain the difference between
traditional AI design and that of AL. There are two
approaches to model AI. On the one hand, the "top-down
approach (involving a complicated, centralized controller
that makes decisions based on access to all aspects of the
global state)" [5] and on the other hand, the "bottom-up
approach, which is based on parallel, distributed networks
of relatively simple, low-level agents that simultaneously
interact with each other" [5]. The top-down approach is the
one traditionally used for AI, while the bottom-up approach
is characteristic for AL. Besides the bottom-up approach
of AL is capable of using the massive parallel computation
abilities of large-scale networks in a much more efficient
way then AI’s top-down approach. Artificial life has different
methodologies to solve problems, these are listed below:
•
•
•
•
Evolutionary Computation is inspired by the biological
evolution process in nature, its algorithms use evolution
strategies to compute results, they all are population
based search algorithms. The evolutionary computation
is used for learning, adaptation, and searching. There
are three main types for these algorithms: Genetic
algorithms, genetic programming and evolutionary
programming. Genetic algorithms are the most popular
ones and worthy to be described in more detail. They use
crossover and mutations as search operators. In genetic
algorithms a population of individuals experiences an
evolutionary process. The individuals fight for resources
in the environment and the stronger ones pass their
genetic material to the later generation.
Normally evolutionary computation uses some
autonomous fitness function to select the stronger
individuals, but for some applications, like graphics,
such fitness functions are hard to find. Therefore the
fitness function must be determined by the subjective
view of a human user. This method is called interactive
evolutionary computation. However the human always
creates a bottleneck for the computation, which leads to
small number of generations.
Agent-Based Modelling Multi Agent Simulations
explained in the next section are also an example for
artificial life.
Cellular Automata are used for computation, actually
there is no autonomy, but they still belong to the field
of artificial life. A grid of cells in which each cell
has an internal state, a program, and knowledge of
its neighbours is used to represent different complex
behaviours. The program defines the state transitions
according to the states of the cell’s neighbours. This
method is used for modelling ecological systems, image
processing and neural network construction.
Swarm Intelligence uses algorithms which imitate
insect swarms. Kim and Cho give two examples for such
algorithms.
The first one is the popular ant colony optimization,
it solves complex combinatorial optimization problems
using artificial ants. This algorithm has many applications
in fields like electronics, industrial design, chemical
process design, and data mining. Furthermore it is
used in telecommunications and networking in areas of
control and routing.
The second algorithm is the particle swarm optimization
based on the behaviour of bees.
Lindenmayer System, this method uses simple
grammar rules to generate complex sentences from
primitive components. It is used in computer graphics
to model plants like trees and flowers or other regular
shapes like feathers.
Neural Networks are used for classification of their
inputs. Actually they map inputs to outputs, which they
previously learned in the training phase. This method
is often used in optimization, regression, and prediction
problems.
Kim and Cho also give many detailed examples for fields of
application that use artificial life, some of them will be listed
below. Since we are only interested in possible task of AL,
technical information like implementations are not discussed
in our paper, for more information take a look at [5].
•
•
70
Robotics: the main task for AL in robotics is designing
controllers for robots. To solve this problem, methods
from evolutionary computation combined with neural
networks are used. Besides designing controllers there
are also other issues like map building, planning and
human-robot interaction.
Computer Graphics: here AL helps designing virtual
characters, generating images and animation. Virtual
creatures and characters have an important role in
computer graphics nowadays. AL helps to shape the
creatures and design their behaviour. Cho and Lee have
developed an image retrieval system based on human
SURVEY OF POSSIBLE TASKS FOR ARTIFICIAL LIFE IN LARGE-SCALE NETWORKS
preference and emotion by using an interactive GA. It
searches the images not only with explicit queries, but
also with implicit queries such as "cheerful expression"
and "gloomy expression"" [5]. Mostly interactive
evolutionary computation is used for this tasks, since
their quality is not rateable objectively.
•
•
•
•
•
Natural Phenomenon Modelling: this is a good
application field for cellular automata and Lindenmayer
systems. A popular task in this field is modelling
flock behaviour. For example the behaviour of fish
swarms or plant-eating insects can be simulated.
Flocking algorithms were used in movies like Batman
Returns where animated flocks of bats were simulated.
Furthermore flock behaviour can be even used to explain
the evolution of fossils.
the layout of electrical circuits since they became very
large and complex.
Entertainment and Games: traditional AI in games
is modelled via top-down approach which makes it
follow simple predefined rules. Finding and tuning these
rules needs expensive expert knowledge. Furthermore
this kind of AI cannot produce unexpected behaviour.
AL’s bottom-up approach allows to create AI for games
without expert knowledge and more important its
behaviour is unpredictable and makes the game play
much more interesting. The popular games Half-life
and Unreal both use flocking to control the movement
of groups of fish, birds, and monsters to create a more
realistic and natural environment. Even music can be
composed by AL using evolutionary computation. Divers
AL music composition systems exist like GenJam,
SBEAT3, GP-MUSIC, etc.
•
Security: it was already described in the "Autonomic
Computing Systems" section that self-healing and
self-protection are task which can be solved with
adaptive distributed agent based systems. Like Kim and
Cho say: "Recent security incidents and analysis have
demonstrated that manual response to such attacks is
no longer feasible" [5]. Consequently many researches
on immune systems for intrusion detection software
were made and few named in [5]. Even researches on
computer-virus-immune systems exist.
The illustration above from [5] shows the field of
application and the relations of the methodologies of AL.
Multi Agent Simulations
Economics: like mentioned in the Multi Agent
Simulations section, agent based simulation software
allows to better schedule, execute, monitor, and
coordinate business activities. Kim and Cho explain
one more popular application: "Agent-based design and
implementation philosophy has been used as a prototype
for a business process management system for British
Telecom (BT)" [5].
The next work I want to present is "Multi-agent simulations
and ecosystem management: a review" [2] written by F.
Bousquet and C. Le Page. It introduces the main aspects
of multi-agent simulations (MAS) and gives some example
MAS projects. In MAS many independent agents (programs)
are interacting with each other and their virtual environment.
To make it simple think of the game of life: each cell on
the grid would then be an agent, who only interacts with its
direct neighbours. MAS are explained in more detail because
one of my suggestions for SkyNet’s tasks is a generic MAS
framework, this idea will be explained in more detail in the
last section.
There are two possible types of multi-agent simulation. On
the one hand a simulation can reveal "critical coefficients that
characterize the transitions" [2]. For this approach, a model
with possible transitions needs to be specified. There is some
target behaviour of the simulation, that can be achieved with
the right combination of coefficients. Exactly this combination
is what needs to be found in the simulation. According to the
authors this kind of simulation is used in physics science, but
unfortunately the paper does not reveal any examples of real
projects that deal with this type of simulation.
On the other hand a "like reality" simulation can answer
"and what if ...?" [2] questions. Scientists from life - and
Internet and Information Processing: one of the
possible task for the AL in the Internet is creating a
recommendation system, which sorts the Internet for a
particular user. Kind of an immune system, adapted for
every user, could then remove unimportant information
from the data found by filtering agents. Since the main
power of evolutionary computation is searching they
are highly suitable for data mining. For example the
colony-based algorithm Ant-Miner can find classification
rules in data bases.
Industrial Design: AL application solve problems in
industrial design like: better planning of traffic systems
in big cities, optimizing design of batch chemical
processes, and even design aid systems for women’s
clothes. AL’s search algorithms are also used to design
71
SURVEY OF POSSIBLE TASKS FOR ARTIFICIAL LIFE IN LARGE-SCALE NETWORKS
social faculties are typical users of this kind of simulation.
Usually this method helps to understand the relations in the
real world, that are described by the model, instead of using
the model to predict the behaviour in the reality caused by
the chosen coefficients [2].
F. Bousquet and C. Le Page give many examples for the
second kind of MAS, explaining all of them would make this
paper to long, therefore only some interesting projects will be
mentioned. Dean et al. has simulated population movements
in response to environmental crises of Anasazi Indians in
order to reveal historical information. Another example for
use of MAS made by Lansing and Kremer is the simulation of
water management in Bali, which revealed some information
on the coordination of water management. One more example
is that MAS are often used to help understanding the
management process of renewable resources and agricultural
practices. Also simulating the activity on the roads of a
natural park in order to prevent crossing of different user
groups like cyclists, walkers and vehicle drivers seems to be
an interesting application for MAS.
This paper also mentions that multi-agent simulations can
use already existing models, for example they can simulate
the behaviour of human users in already existing frameworks.
For example the workload of some telecommunication can be
simulated in order to optimize the structure of a network.
Furthermore Bonabeau and Theraulaz mention in their paper
[1] that many parallel swarm and genetic algorithms exist.
These algorithms use multi-agent like artificial life approaches
to solve their problems. Bonabeau and Theraulaz explain the
importance of artificial life as following: "In particular, AL
builds bridges between natural sciences and the sciences of
the artificial: This makes it unique and indispensable" [1]
suits the user’s requests.
•
Self-healing describes the act of failure prevention, but
also recovery or replacement of failed components.
•
Self-optimization deals with issues like resource
utilization and work load management in a way that
•
Self-awareness means that the system knows its status
and the status of the available resources.
•
Context-awareness is the ACS’s knowledge of its
environment, which allows it to react to changes such as
new policies.
Openness implies the system being a cross platform
application which can operate in an inhomogeneous
environment.
The authors of the survey mentioned above refer to a
paper written by Mazeiar Salehie and Ladan Tahvildari
called "Autonomic Computing: Emerging Trends and Open
Problems" [9]. This paper gives some examples of already
existing ACSs. In the list of commercial products IBM
seems to have some interesting projects for large intelligent
networks like Oceano, an infrastructure for a large scale
computing utility power plant. Oceano is the first scalable and
manageable systems of its kind. Besides that, IBM’s Optimal
Grid which is also a prototype made to help in the creation
and management of large-scaled, connected, parallel grid
applications seems to be interesting. Optimal Grid optimizes
performance and includes autonomic grid functionality.
Nevertheless the industry-oriented projects seem to focus
only on self-configuring and self-optimizing. Oceano seems
to be an exception among industry-oriented projects with its
capability of self-awareness. Regarding the academic-oriented
projects the two most valuable in our context are AntHill
developed at the University of Bologna and eBiquity created
at the University of Baltimore County. AntHill is a supportive
tool for the implementation and evaluation of multi-agent
and evolutionary programming based p2p-applications. It
simplifies the design, implementation and evaluation of such
systems. eBiquity "explores the interactions between mobile,
pervasive computing, multi-agent systems and artificial
intelligence techniques" [9]. Both tools could be very useful
for the above mentioned multi-agent simulations. Salehie and
Tahvildari point out that the focused autonomic characteristics
in academic projects are different to the industry-oriented,
since they focus more on openness. Furthermore eBiquity
is even able of context-awareness in contrast to almost all
described projects in the paper. Nevertheless there seems
to be no ACS that satisfies all characteristics, consequently
further research in this area is necessary.
This section will briefly present the state of the art on
Autonomic Computing Systems(ACSs). In the survey "A
Survey of Autonomic Computing Systems" [7] Mohammad
Reza Nami and Koen Bertels describe the use of Autonomic
Computing Systems to solve the problem of self organisation
which was mentioned in the Vision section. In brief the task
of ACSs is to improve services and reduce the complexity
- "The increasing complexity, cost and heterogeneity of
distributed computing systems have motivated researchers to
investigate new ideas to cope with the management of this
complexity." [7]. This paper also gives some definitions for
characteristics of ACSs which will be summarised below
later some ACS-projects will be discussed considering these
characteristics.
Self-configuration is the systems ability of dynamic
configuration and adaptation to changing conditions.
Self-protection is the capability of the ACS to detect
security threats and handle them.
•
Autonomic Computing Systems
•
•
V. C ONCLUSION
Artificial intelligence became an essential part in today’s
information technology. The complexity of computer systems
increased to a degree where we cannot handle all its layers and
need systems which allow to interact with a higher abstraction
72
SURVEY OF POSSIBLE TASKS FOR ARTIFICIAL LIFE IN LARGE-SCALE NETWORKS
level without knowing the exact details beyond it. AI is present
in complicated and expensive systems like spacecraft, whose
sensitive controls are too complex to being controlled one by
one, but it is also present in little every day applications like
spam filters and web search engines. Also artificial life has a
wide application area. Simulations of complex environments,
like the coordination of water management in Bali, allow
to find possible problems and solutions before expensive
projects are realized outside the virtual world. Similar to
AI we also face AL applications in every day life like in
fields of computer graphics, entertainment, Internet or security.
condition SkyNet being a large distributed network allows
to use highly parallel algorithms very well. Consequently
all algorithms from artificial life can be executed with a
high-performance. One possible task, like proposed in Kim’s
and Cho’s paper, could to be creating a recommendation
system [5]. This system could be individually adapted
for each Internet user in the world. SkyNet could use its
computational power to permanently run filtering agents in
order to index and classify the Internet. With the mentioned
immune system agents, individual for each user, SkyNet
could adapt the retrieved information to the surfing habits
of its users. Furthermore SkyNet could improve the query
interface for Internet searches. Like the above mentioned
image retrieval system designed by Cho and Lee which
searches the images not only with explicit queries, but also
with implicit queries such as "cheerful expression" and
"gloomy expression" [5]. SkyNet would then learn to answer
questions like humans like to ask them. In this case people
would not need long lasting experience with search engines
like google to find what they are searching for in the Internet.
One more feature SkyNet could provide for the Web 3.0 is
cleaning it from viruses using some immune system agents,
which search for viruses and eliminate them. SkyNet could
offer a service to clean up a desktop computer from viruses
and keep it upto date if it joins the network. Moreover the
time between the discovery of a new virus and distributing
a database update to all users could be reduced drastically.
Also this application for SkyNet will attract many users if it
becomes successful, in this case the nodes for the network
will be easy to find.
VI. F UTURE W ORK
Back to the question what the autonomous aims of
SkyNet’s peer to peer network could be. SkyNet does not
have an underlying large-scale network yet. For this reason
many application field for AL are not suitable for SkyNet.
For example in robotics AL is used to design controllers, but
there is no task that provides direct benefit to a large group of
people. That is why it will be impossible to find participating
nodes for a large-scale network in this special field. Because of
that, I will suggest only tasks that are attractive to many users.
My first suggestion is to use SkyNet as a medical diagnosis
system. Its task would be to propose possible diseases to the
given symptoms. This systems can use SkyNet’s p2p-network
as a distributed database, which saves data about diseases
and the probability of their symptoms. There were similar
applications in the past, like the Quick Medical Reference [6]
possibly one of the most effective medical expert systems.
Many papers with technical ideas on creating such systems
like "A Tractable Inference Algorithm for Diagnosing
Multiple Diseases" [3] exist. Nevertheless there is no system
that is reachable in every hospital in the world, SkyNet runs
in the Internet, therefore it is reachable from everywhere.
Moreover SkyNet is reachable for ordinary people, this
would allow them to inform themselves on possible diseases
according to their symptoms, which would make their
questions to the doctor much more precise. Furthermore
an exclusive user group like doctors and experts could be
allowed to teach SkyNet and expand its database. This would
allow to create an always up to date medical database, which
does not need to be replaced after dozens of years, instead it
would become more and more precise. Besides this special
user group could provide the system with feedback about
its proposal. The system could then learn and improve the
probabilities of the diseases according to the feedback on its
suggestion. Also the query interface for the system could be
improved with use of AI to find synonyms for diseases and
symptoms. Besides a medical diagnosis system will be likely
used by a large group of people, which will make it easier to
find participants for the p2p-network.
Another use of SkyNet could be a generic multi agent
simulation system. SkyNet will have a computation power that
can not be realized with one machine and not event with a
group of high performance computers. Therefore parallel, large
scaled and CPU-intensive simulations could be run. SkyNet’s
definition of artificial life could then be exchanged for every
simulation. The simulations could lower the costs for big
projects that need expensive planning and improve the quality
of those. The user group for a simulation software will have
a limited number of participants, however these users will
usually come from big companies, which could offer powerful
computers for the network. The exclusive user group for this
application will make it more difficult to create a large-scale
network, nonetheless it is not impossible to create a network
between companies, since all of them would benefit from
SkyNet.
R EFERENCES
[1] Eric W. Bonabeau and G. Theraulaz. Why do we need artificial life?
MIT Press, 1994. IV
[2] F. Bousquet and C. Le Page. Multi-agent simulations and ecosystem
management: a review. Ecological Modelling, 2004. IV
[3] David Heckerman. A Tractable Inference Algorithm for Diagnosing
Multiple Diseases. Medical Computer Science Group, Knowledge
Systems Laboratory, Departments of Computer Science and Medicine
Stanford, 1989. VI
[4] Stuart J.Russell and Peter Norvig. Artificial Intelligence A Modern
Approach (Second Edition). Pearson Education, Inc., 2003. III
One more possibility is creating Web 3.0. Since SkyNet
has access to many desktop computers through the Internet,
it can use their computational power to create Web 3.0. The
73
SURVEY OF POSSIBLE TASKS FOR ARTIFICIAL LIFE IN LARGE-SCALE NETWORKS
[5] Kyung-Joong Kim and Sung-Bae Cho. A Comprehensive Overview of
the Applications of Artificial Life. Department of Computer Science
Yonsei University, 134 Shinchon-dong, Sudaemoon-ku, Seoul 120-749,
Korea, 2006. III, IV, VI
[6] Randolph A. Miller and Fred E. Masarie Jr. Quick Medical Reference
(QMR): An evolving, microcomputer-based diagnostic decision-support
program for general internal medicine. 1989. VI
[7] Mohammad Reza Nami and Koen Bertels. A Survey of Autonomic
Computing Systems. Computer Engineering Laboratory, Delft University
of Technology, 2007. IV
[8] Vimla L. Patel, Edward H. Shortliffe, Mario Stefanelli, Peter Szolovits,
Michael R. Berthold, Riccardo Bellazzi, and Ameen Abu-Hanna. The
Coming of Age of Artificial Intelligence in Medicine. proceedings of
Artificial Intelligence in Medicine (AIME ‘07), 2009. III
[9] Mazeiar Salehie and Ladan Tahvildari. Autonomic Computing: Emerging
Trends and Open Problems. Dept. of Elect. and Comp. Eng. University
of Waterloo, 2005. IV
[10] Wolfram Stephen. A New Kind of Science. Wolfram Media, 2002. III
74
SURVEY AND DEFINITION OF DISTRIBUTED INFORMATION MANAGEMENT SYSTEMS
Survey and Definition of Distributed Information
Management Systems
Niklas Lochschmidt
proposed. These new applications have significantly stronger
requirements regarding Quality-of-Service and must often be
explicitly designed to handle heterogeneous peers, for example
smartphones in a VoIP system.
These complex applications require the P2P systems to
become autonomous to a larger extent. In "The Vision of
Autonomic Computing" [12] Jeffrey O. Kephart and David M.
Chess state that a system can only be self-managing if it has a
means of acquiring live system information. According to their
vision, a system should at first "merely collect and aggregate
information to support decisions by human administrators",
while the information will later serve as foundation for automatic advisory and ultimately autonomic decision making
to allow the system to configure, heal, protect and optimize
itself. Current P2P systems are usually designed to be able to
optimize based on information that a node can directly obtain
and it is not possible to get any information on the system
wide status.
Distributed Information Management Systems (DIMS) have
been proposed to meet the demand for system information.
Zhang et al. have described a DIMS to be a system "to
gather from and distribute to entities comprising the system
whatever system metadata of concern" [13]. What is described
with metadata is usually low level machine information like
number of CPUs, amount of available bandwidth or amount of
available memory. In large scale distributed systems it would
be infeasible to store and forward every bit of information
to every peer as the amount of information is practically
unbounded. As a result DIMS are able to calculate aggregates
from the low level information. The desired effect is, that
the size of each aggregate is now bounded, but it also brings
with it the potentially undesired effect of information loss. To
counter this DIMS calculate aggregates for different levels in
a hierarchy to allow the presentation of overviews as well as
details of the systems state. With this information an individual
peer, a peer functioning as coordinator or the developer of a
P2P system can decide what steps should be taken in order to
meet the requirements of the new applications.
The majority of scientific work on the foundations of DIMS
has been done around 2003 and 2004. Systems like Astrolabe
[14] , SOMO [13] and SDIMS [15] have introduced the basic
idea what functionality and properties DIMS should provide.
Newer contributions such as SkyEye.KOM [16] refined these
approaches to deal with emerging trends towards mobile
computing and higher heterogeneity of nodes.
The main contribution of this paper is to state a definition
of the term "Distributed Information Management System",
because even though the term is commonly used, as of
now there is no common definition available. The proposed
Abstract—In recent years peer-to-peer applications have grown
into fields were it is essential to be able to monitor the systems
state in order to make configurations and optimizations at
runtime. Distributed Information Management Systems (DIMS)
have emerged that gather system information in an efficient
way and provide an interface to issue complex queries on this
information. This paper surveys the approaches to distributed
information management, lists common core functionalities and
properties of DIMS and states a definition of the term DIMS.
I. I NTRODUCTION
Over the last 15 years peer-to-peer (P2P) systems have
emerged in order to serve as a viable and scalable alternative
to conventional client-server architectures.
The first generation of P2P systems concentrated solely
on file sharing and while their performance was good in the
beginning it turned out that they were actually flawed in some
aspects. For example Napster had a central server cluster
for indexing the available files. The centralized architecture
scaled only because of significant financial investment into
the indexing servers, which were a single point of failure and
served as legal targets in the lawsuit that brought Napster to a
halt [1]. However in Napster there was a possibility to see at
least how many users are online and how many files are shared
even if those numbers were unlikely to be accurate [2]. The
next contestant Gnutella, was originally based on a gossiping
protocol and had no guarantee for finding files even if they
were available somewhere in the system. As a result, counting
the exact number of peers or files in the system is not possible
[2].
The second and third generation of hybrid and structured
P2P systems reintroduced the possibility to aggregate basic
system state information. They have been studied to an
extent, that they are now regarded as robust and scalable
alternatives for many applications like file sharing [3] and
publish-subscribe architectures [4]. In hybrid P2P systems
like FastTrack [5] aggregating system state information is
possible because of the presence of coordinator nodes called
super-nodes, which communicate with other super-nodes and
aggregate the state of several ordinary nodes. Structured P2P
systems like Chord [6] or Kademlia [7] can be monitored by
deriving system information from the structure or by querying
specific nodes for their state. However these strategies for
acquiring system state information directly depend on the inner
workings of the monitored system, offer no guaranties for
correctness and are often not efficient.
In recent years several new applications for P2P systems like Application Layer Multicast [8], [9], Distributed
Computation [10] and Voice-over-IP (VoIP) [11] have been
75
SURVEY AND DEFINITION OF DISTRIBUTED INFORMATION MANAGEMENT SYSTEMS
definition is based on the approaches that already used the
term. Therefore a survey on DIMS is necessary before a
definition can be found that represents the greatest possible
denominator.
The next chapter describes the approaches to distributed
information management found in the literature. Based on
these, chapter III contains a description of common core
functionality and core properties for a DIMS together with the
definition for the term DIMS. Chapter IV includes currently
unresolved problems that should be addressed in the future
and finally chapter V concludes.
partition of the system due to network failure only effects parts
of the system.
Problems with Astrolabe are, that it is not self-configuring,
meaning the buildup of the hierarchy and naming of the nodes
has to be done by hand by administrators and it is therefore
their responsibility to find a tradeoff between delay (depth
of tree) and network load (fan-out). In addition, any gossiping
scheme, by design, requires aggressive replication of messages
and aggregate information (see [15]) and Van Renesse et al.
therefore make the assumption, that "the number of aggregating queries active within any given scope is assumed to be
reasonably small".
II. A PPROACHES TO D ISTRIBUTED I NFORMATION
M ANAGEMENT
B. SOMO
In this chapter an overview over existing approaches to
distributed information management for P2P systems is presented. The implementations described in this chapter have
been selected because they are either representative in terms of
the offered functionality or exhibit interesting rare properties.
The order in which the implementations are presented here is
based on the succession in which the papers describing the
systems reference each other. As additional information, at
the end of this chapter there are some alternative approaches
to distributed information management described that are
implemented in way that makes them hardly usable on the
internet and for that reason are not taken into account for the
definition presented in chapter III.
In contrast to Astrolabe, the Self Organized Metadata Overlay (SOMO) by Zhang et al. [13] does not use gossiping but
instead builds on top of a Distributed Hash Table (DHT) such
as Pastry [17] or Kademlia [7]. It leverages the features of P2P
DHTs especially self-organization and self-healing and builds
an overlay on top. Opposed to Astrolabe, SOMO’s algorithms
contain placeholders for functions that have to be implemented
before deployment to the nodes. For example, to build the
hierarchy needed for aggregation, SOMO relies on a supplied
function that takes an interval of the key-space (a zone) and
calculates the key to locate the responsible node for this zone.
This way the overlay on top of the DHT is a tree in which
the inner nodes are the coordinators of the zones. Each node
periodically executes a routine to determine its place in the
tree and in each round the tree potentially changes and the
hierarchy is therefore not static like in Astrolabe.
Aggregated information in SOMO is called a report. To
calculate a report, each node pulls the report from it’s children
and calculates a new report from these. Each child node
periodically calculates the report in the same way and sends
it back, if a node is a leaf node it simply returns it’s local
machine information. The calculation of the new reports is
done using a set of functions that again have to be defined by
the developer before deployment. The functions can therefore
not be changed at runtime. When a node has calculated a full
report, consisting of the results of all functions in the set, it
sends the report back to the children. Since this goes all the
way up to the root of the tree, the aggregation of the reports
can be viewed as a converge cast, while the dissemination of
the reports is essentially a multicast.
In addition to the periodically aggregation of reports, Zhang
et al. also envisioned the implementation of capacity search
(e.g. "search for 5 nodes with bandwidth > x") and publishsubscribe into SOMO.
Problems with SOMO are, that there is no control over the
way the tree is build up, which becomes a problem when
peers are heterogeneous with low bandwidth/low processing
capability nodes in the system. In this case a slow peer can
become an inner node or the root of the SOMO tree and
significantly slow down the dissemination of the reports. Due
to a lack of subtree (administrative) isolation the tree structure
changes rapidly and temporary disconnection of individual
nodes has a negative effect on all nodes in the system. Opposed
A. Astrolabe
Developed by Van Renesse et al. Astrolabe [14] is a
hierarchical P2P system based on a randomized epidemic
protocol, also called gossiping protocol. An epidemic protocol
was chosen, because it is naturally resistant to failure of
nodes or whole network subsystems. The hierarchy of nodes
in Astrolabe is similar to a DNS hierarchy with top-level
domains, and administrative isolated subdomains.
Astrolabe is based on the decentralized storage of so
called Managed Information Bases (MIB) and aggregations
there from. Each node has an Astrolabe-agent installed that
has access to a MIB containing the attribute values of the
local machine (Number of CPUs, amount of bandwidth,. . . ).
Rendezvous of nodes in the same subdomain is done via IPMulticast and each agent stores a list of reachable agents for
each subdomain it is a part of. All agents gossip the local MIB
to other agents in the subdomain and receive their local MIBs
the same way. Aggregations of the remote and local MIBs are
calculated via SQL aggregation queries (AVG, SUM,...) and
the result is a new local MIB for use in the subdomain one
level up the hierarchy. This process takes place periodically
and for each level in the hierarchy until, in the end, each node
stores a set of MIBs for each subdomain it is in. The size of
the aggregation record and the general performance correlates
with the number of active aggregation queries. These queries
can be installed on the agents remotely at runtime and the
results of the queries can be probed multiple times later on.
Due to the administrative isolation of the individual domains,
programs can be installed in specific subdomains only and a
76
SURVEY AND DEFINITION OF DISTRIBUTED INFORMATION MANAGEMENT SYSTEMS
0
to Astrolabe the type of information included in the reports
can not be changed at runtime so that SOMO can only be used
for a predetermined task and has to be reinstalled or updated
once the need for different information arises.
1
0
00
C. Willow DHT
1
10
11
Fig. 1. Hierarchy of domains in DASIS: each inner node in the tree is a
domain and each peer with the same prefix is part of the domain
As a follow up to Astrolabe, the Willow DHT [18] borrows
from Astrolabes design model, but is implemented as a DHT
similar to Kademlia. The P2P aggregation protocol uses a
combination of SQL programs installed on the nodes in
addition to multicast functionality along the routing tree.
Each node in the Willow DHT has a 128 bit identifier and
nodes with the same prefix share the same domain. Each
node can therefore be in as many as 128 domains. Similar
to Astrolabe each node stores all aggregates of all domains in
which the node is located. Each domain promotes a contact
member that acts as coordinator for the domain. When a new
SQL program should be installed it is send to the coordinator
for the root domain (length of shared prefix is zero), which
forwards it to next two coordinators in the tree (shared prefix
= 0 and shared prefix = 1). The results of the SQL program
are send from the leafs to the coordinators and up to the root
coordinator.
The Willow DHT also supports publish-subscribe by implementing multicast with filtering. A multicast message can be
augmented with a SQL statement that is evaluated with the
attributes of each child domain. If the query evaluates to true
the message will be forwarded to the coordinator of that subdomain. This way messages could be send for example to all
nodes with CPU load smaller than 50%.
Like most P2P systems implementing Application Layer
Multicast the Willow DHT adapts the tree to optimize for low
link latencies.
E. SDIMS
The Scalable Distributed Information Management System
(SDIMS) by Praveen Yalagandula and Mike Dahlin [15]
combines features of Astrolabe, like runtime configuration and
administrative isolation, with the scalability and efficiency that
is possible by using a DHT as substrate.
The authors state, that hierarchical aggregation as utilized by
the previous systems is the key for making a DIMS scalable.
Path locality on the other hand assures that a subdomain in
a system can continue to work even if other subdomains can
not be reached [20]. To achieve this the underlying DHT of
SDIMS – called Autonomous DHT or A-DHT – is a modified
version of Pastry maintaining a different leaf set for each
domain the node is in.
Like in Astrolabe the SDIMS aggregates information by
installing aggregation functions for specific attributes. The
aggregation function has an expiration time so it must be periodically renewed or otherwise it will time out. Each function
can also be restricted to specific domains only (administrative
isolation). When a value at a local node changes, the change
is send to the node in the same domain that is closest to the
hash of the attribute name and type. This results in one tree
being build per attribute which means that for a large number
of attributes, the load is balanced on all nodes. When a node
is nearest to the key it calculates the aggregate for the domain
based on the received data and sends the report to all nodes
in the same domain as well as to the node that is nearest to
the key in the next higher hierarchy level, etc. . .
The installation of the aggregate function takes two arguments that specify how far up each update is sent and how far
down each aggregate is sent. This allows fine tuning of the
amount of replication in the system compared to the time a
probe for the result of an aggregation function will need.
The probe operation is used to get the results of an aggregation function. The operation can be one time only (one-shot) or
continuous. The latter means, that the result of an aggregation
will be provided to the issuer of the probe once the result
changes, which essentially implements a publish-subscribe
infrastructure. Since SDIMS has the concept of administrative
isolation, a probe operation can also be restricted to individual
domains.
With SDIMS, Yalagandula and Dahlin presented a very
complete DIMS in 2004 and since evaluation also looked
promising this is likely the cause for a lack of work on the
topic DIMS in the next 3-4 years. Recently the increasing
importance of systems being able to cope with heterogeneous
nodes ranging from smartphone to Desktop-PCs and servers
D. DASIS
The Distributed Approximate System Information Service
(DASIS) [19] is conceptualized to integrate directly into an
existing structured P2P system to effectively improve the
join operation of new peers into the system. In DASIS a
peer with a given key is expected to be an "expert" on the
state of all domains consisting of the peers with a same
prefix. This results in one domain for each possible prefix
and a binary tree (shown in figure 1) that represents the
hierarchy of these domains. Each peer is then responsible for
exchanging messages with all peers in their routing table to
gather information about available bandwidth, number of peers
in each subtree, etc. . . Each of the attributes to be collected
again has to be chosen by the developer at development time
and can not be changed at runtime. After an initial request
for some information by a peer to some remote peer in the
routing table, the remote peer is responsible to send updates to
the asking peer whenever the value of an attribute changes. As
a result the number of attributes is limited and the selection of
attributes with a high probability for change should be omitted.
77
SURVEY AND DEFINITION OF DISTRIBUTED INFORMATION MANAGEMENT SYSTEMS
while still being able to compute complex aggregates from
many attributes reopened the topic of DIMS.
multicast and heartbeat messages that are not an option when
designing for the internet.
On the other hand systems like TAG [24] are designed
for sensor networks consisting of many battery powered and
wireless sensor nodes. TAG relies heavily on the underlying
wireless network characteristics and uses stream processing
techniques to aggregate information from readings of many
sensor nodes. This can usually be done without exchanging
any additional messages which reduces power consumption to
a minimum. However a technique like this is not deployable
to machines communicating over the internet.
F. SkyEye.KOM
The SDIMS builds up a tree for each attribute which means
calculation of complex queries that combine multiple attributes
becomes time consuming and produces some significant overhead. In addition the equal balancing of the workload is not the
right choice when deployed in a heterogeneous environment.
In that case workload should be shifted towards capable
nodes in terms of available computation power and bandwidth.
SkyEye.KOM [16] solves this problem by reintroducing a
domain coordinator as seen in SOMO.
The main difference between SOMO and SkyEye.KOM
is, that a system-wide parameter TM in specifies how many
peers have to at least be attached to a coordinator, while
a peer-specific parameter TM ax , calculated from the peers
system specification and network connectivity, specifies how
many peers a specific coordinator can serve at most. When
the number of peers in a coordinator’s domain falls below
TM in the domain is closed and all peers are attached to the
coordinator one level up the hierarchy. If on the other hand
the number of connected peers at a coordinator exceeds TM ax
the coordinator selects a group of support peers and temporary
delegates handling of the additional peers to them thereby
shifting the load to a more capable peer. This is a prime
example on how system information gathered by a DIMS can
be used to to optimize the structure of a P2P network.
III. D EFINITION
An appropriate definition of DIMS should be the greatest
common denominator of properties and functionality of the
surveyed approaches. In this chapter the common aspects are
summarized and then a definition is stated.
A. Configuration
All DIMS can be configured for the task at hand, however
DIMS can be deployed in several ways. Astrolabe, SDIMS
and SkyEye.KOM are designed as stand-alone systems or
Aggregation Management Layers while DASIS and SOMO
are designed to be directly integrated into a P2P system.
The main difference is, that stand-alone DIMS should be
used by several applications at once and reconfiguration must
therefore be possible at runtime, while the integrated systems
are configured before runtime.
G. Other approaches
B. Data
Some generic distributed databases can be used to monitor
system state but they are not optimized for the task. This is
especially true for distributed databases that conform (or try to
conform) to the ACID principle [21] and can only be deployed
in a controlled environment, because they can not handle high
churn rates. Most distributed databases are also designed for
relative low update rates, which is not true for all attributes
that could be of interest. A distributed database that has been
proposed for monitoring purposes is PIER [22]. However PIER
is not designed to efficiently store and disseminate system state
information for many clients but is optimized to serve generic
SQL queries for each client individually.
DIMS are designed to be scalable to a large amount of
nodes and robust to node failures or network latencies. While
these properties are ideal for using it over the internet it
is neither usable for real-time applications nor for systems
designed for low power consumptions. For such applications
other monitoring systems like the ones below could be used
instead.
The Ganglia distributed monitoring system [23] is designed
for monitoring high-performance computing systems like clusters and grids and also incorporates the idea of a hierarchy
in conjunction with information aggregation. This system
operates on the assumption that the attached clusters have a
high reliability which stands in contrast to the natural churn in
P2P systems. In addition Ganglia makes extensive use of IP
DIMS operate on data that is supplied by the nodes in the
system. Often this data represents the low-level system state
of the host computer, but in principle every kind of data is
allowed as long as aggregates can be calculated (see below).
C. Aggregation Functions
Aggregation is the process of combining multiple data
points into a single bounded value that is still of use to the
interested party. To aggregate information one or multiple
aggregation functions must be defined. In DIMS that are
configured before runtime the developer has total control over
what the function does, however in systems where aggregation
functions can be installed at runtime the common type of
installable aggregation functions are semantically equivalents
to the structured query languages (SQL) aggregation functions
count, sum, avg, min and max [25], [26] (see Table I).
D. Hierarchical Aggregation
In DIMS the aggregated information is always structured
in a hierarchical way since "hierarchical aggregation is a
fundamental abstraction for scalability" [15]. Building a hierarchy and allowing nodes to request aggregations for a
specific subtree of the hierarchy (a domain) means, that a
birds-eye view of as well as detailed insight into the state
of the distributed system can be efficiently calculated.
78
SURVEY AND DEFINITION OF DISTRIBUTED INFORMATION MANAGEMENT SYSTEMS
Function
count
sum
avg
min
max
Example in DIMS
Count the number of nodes in the system
Sum up the total amount of disk space available
Calculate the average bandwidth of the nodes
Find the minimum CPU frequency of all nodes
Find the maximum amount of free memory that
one of the nodes has
Capacity search is similar to an SQL select request with a
limit argument. This ensures that the message size is bounded
and that the request can be efficiently served. An example
for such an request would be to retrieve the three nodes in
a domain that have the most bandwidth available (e.g. to use
them as router nodes inside an application layer multicast).
This way a system utilizing the DIMS can use it to configure,
repair and optimize itself.
TABLE I
C OMMON SQL AGGREGATION FUNCTIONS IN THE CONTEXT OF
DISTRIBUTED INFORMATION MANAGEMENT
G. Publish-Subscribe
Publish-subscribe is equally important for self-repair and
self-optimization as well as self-protection. For example one
could subscribe for an event designed to identify faulty or
malicious nodes. As soon as a node detects such a faulty node
it could publish a notification and the subscribers can then try
to deal with the problem.
The structure of the aggregation hierarchy in integrated
DIMS is usually identical to the hierarchy implied by the underlying DHT, while stand-alone systems use a separate hierarchy. The way in which this separate hierarchy is constructed is
usually externalized by the DIMS. Astrolabe, like the Domain
Name Service (DNS), relies on human administrators to assign
nodes to domains before connecting the nodes to the system.
SkyEye.KOM and SDIMS on the other hand rely on a function
to calculate the coordinator for a peer based on the peers key,
thus all peers that connect to this coordinator reside in the same
domain. Such a function can be deterministic but it could also
be designed to leverage the geographic position or connectivity
provided by the peer.
The aggregates returned by a DIMS are not guaranteed to
show the actual current status of the system and it is not
guaranteed that the result of the same request on two different
nodes at the same time yields the same result. However given
that the arguments for the aggregation function and the P2P
system is stable for some time, the results will eventually
become consistent (eventual consistency [14]).
H. Soft-State
When a DIMS is configurable at runtime, precautions must
be taken to ensure that installed aggregation functions and the
subscriptions are cleared when the application that installed
them is no longer active. The common approach is to make
installed functions and subscriptions soft-state so they must be
refreshed or will eventually expire. Astrolabe is an exception
in that the installation request is cryptographically signed and
the issuer of the request is responsible for uninstalling the
request when it is no longer needed.
I. The Definition
I propose the following definition based on the survey over
existing DIMS and the analysis above:
A Distributed Information Management System is a
reduced Distributed Database in which the stored information is gathered automatically and represents the status
of the distributed system in a hierarchical way.
E. Administrative Isolation
When a DIMS is deployed as a stand-alone system, it is
also important that all operations (query, capacity search and
publish-subscribe) supported by the DIMS can be restricted
(logical and physical) to a specific domain in the hierarchy.
This property is called administrative isolation and it is important for three reasons [14], [15]:
• security: Nodes outside the queried domain do not receive
messages with potentially sensible information.
• availability: Sibling domains of a domain can fail without
influencing domain internal operations.
• efficiency: Messages are only exchanged inside the nodes
of a domain which is a significantly smaller number
then all nodes in the system, except for queries at the
root or top-level domain. This also means, that domains
can be formed according to their locality to improve
responsiveness.
IV. D ISCUSSION AND F UTURE W ORK
The definition above does not include a concrete statement
about what functionality must always be provided. This is
reasonable because DIMS serve either a specific application
or multiple applications at once. What functionality a concrete
DIMS should provide therefore depends on the specific purpose for which a DIMS is used and can therefore not be a
part of the definition.
The definition also does not include a description on how
the information is gathered in order not to over-specify. That
said a DIMS should offer the ability to fine-tune the rate with
which updates on attribute values and continuous query results
are sent in the system. This is important because some local
attributes do not change (number of CPUs), some change with
a slow rate (available disk space) and some change with high
frequency (free CPU cycles). One client of a DIMS might
need the amount of free CPU cycles of all nodes every 10
seconds while another might need the available disk space
of all nodes in a domain every minute. A DIMS with a
fixed refresh rate per attribute might either generate more
F. Capacity Search
While the aggregation functions above are useful to decide
whether a system is of good health, it is not suitable to
help with the configuration, repairs and optimizations. Therefore DIMS commonly implement capacity search or publishsubscribe mechanisms or both.
79
SURVEY AND DEFINITION OF DISTRIBUTED INFORMATION MANAGEMENT SYSTEMS
traffic then needed or produce less updates then necessary.
The up and down parameters in the SDIMS are a way to
cope with that but the SDIMS does not help with choosing
nor optimizes the parameters itself, but requests them from
the client. Apart from that in the SDIMS the aggregation
functions are calculated for single attributes only. In a system
that allows multiple attributes for each query, attributes can
have different frequencies of change, which should be taken
into consideration.
V. C ONCLUSION
With increasing complexity of current P2P systems, designers and developers of such systems must be able to obtain
live system information to improve the design, protocol and
implementation of their applications. Apart from that, enough
information on the systems state has to be aggregated in order
to serve as a solid foundation for automatic decision making
in autonomous P2P systems.
In this paper a definition of the term Distributed Information
Management Systems has been stated and core functionalities
and properties of DIMS have been identified that incorporate
the requirements of developers and autonomous systems. The
definition represents the greatest common denominator of
current approaches to distributed information management.
An aspect that has been largely ignored since Astrolabe is
security in DIMS. The only security in most DIMS is offered
by administrative isolation and is as such very weak. For
example anyone could intercept messages right before a peer
and could inject wrong values. Of course a security mechanism
like a Public Key Infrastructure could be used in conjunction
with any DIMS, but especially in the presence of peers with
low computational power one should investigate in possible
alternatives and maybe include a statement on security into
the definition of DIMS.
R EFERENCES
[1] T. Ryan, “Infringement.com: RIAA v. Napster and the War Against
Online Music Piracy,” Ariz. L. Rev., vol. 44, no. C, p. 495, 2002.
[2] S. Saroiu, K. Gummadi, and S. Gribble, “Measuring and Analyzing
the Characteristics of Napster and Gnutella Hosts,” Multimedia systems,
vol. 9, no. 2, pp. 170–184, 2003.
[3] E. Biersack, P. Rodriguez, and P. Felber, “Performance Analysis of Peerto-Peer Networks for File Distribution,” LNCS: Quality of Service in the
Emerging Networking Panorama, pp. 1–10, 2004.
[4] A. Rowstron, A.-M. Kermarrec, M. Castro, and P. Druschel, “SCRIBE:
The design of a large-scale event notification infrastructure,” Proceedings of 3rd International Workshop on Networked Group Communication
(NGC2001), pp. 30–43, 2001.
[5] J. Liang, R. Kumar, and K. Ross, “The FastTrack Overlay: A measurement study,” Computer Networks, vol. 50, no. 6, pp. 842–858, Apr.
2006.
[6] I. Stoica, R. Morris, D. Karger, and M. Kaashoek, “Chord: A scalable
peer-to-peer lookup service for internet applications,” Proceedings of
the 2001 Conference on Applications, Technologies, Architectures and
Protocols for Computer Communications, vol. 11, no. 1, pp. 17–32, Feb.
2001.
[7] P. Maymounkov and D. Mazieres, “Kademlia: A peer-to-peer information system based on the xor metric,” Peer-to-Peer Systems, pp. 53–65,
2002.
[8] S. Banerjee, B. Bhattacharjee, and C. Kommareddy, “Scalable application layer multicast,” in SIGCOMM ’02: Proceedings of the 2002
conference on Applications, technologies, architectures, and protocols
for computer communications. New York, NY, USA: ACM, 2002, pp.
205–217.
[9] M. Castro, P. Druschel, A.-M. Kermarrec, A. Nandi, A. Rowstron, and
A. Singh, “SplitStream,” in ACM SIGOPS Operating Systems Review,
vol. 37, no. 5. ACM, Dec. 2003, p. 298.
[10] D. Milojicic, V. Kalogeraki, R. Lukose, K. Nagaraja, J. Pruyne,
B. Richard, S. Rollins, and Z. Xu, “Peer-to-Peer Computing,” Oct. 2002.
[11] K. Singh and H. Schulzrinne, “Peer-to-Peer Internet Telephony Using
SIP,” Proceedings of the International Workshop on Network and
Operating Systems Support for Digital Audio and Video - NOSSDAV
’05, p. 63, 2005.
[12] J. Kephart and D. Chess, “The Vision of Autonomic Computing,”
Computer, vol. 36, no. 1, pp. 41–50, 2003.
[13] Z. Zhang, S. Shi, and J. Zhu, “SOMO: Self-organized metadata overlay
for resource management in P2P DHT,” Peer-to-Peer Systems II, pp.
170–182, 2003.
[14] R. V. Renesse, K. Birman, and W. Vogels, “Astrolabe: A robust and
scalable technology for distributed system monitoring, management, and
data mining,” ACM Transactions on Computer Systems, vol. 21, no. 2,
pp. 164–206, May 2003.
[15] P. Yalagandula and M. Dahlin, “A scalable distributed information management system,” ACM SIGCOMM Computer Communication Review,
vol. 34, no. 4, p. 379, Oct. 2004.
[16] K. Graffi, A. Kovacevic, S. Xiao, and R. Steinmetz, “SkyEye.KOM:
An information management over-overlay for getting the oracle view
on structured P2P systems,” 14th IEEE International Conference on
Parallel and Distributed Systems, pp. 279–286, Dec. 2008.
Currently all DIMS rely on the nodes in the system to
be faithful with reporting their local machine information. If
a node reports fake information it can greatly influence the
aggregation results and can not be easily distinguished from
faulty values due to churn (joining and leaving of nodes). One
solution to solve this problem is to explicitly detect and remove
obvious outliers from the calculation or by applying smoothing
mechanisms [27]. While this has been shown to be effective
for dealing with churn related error, it is not guaranteed to
reduce the effect of malicious nodes. Another solution would
be to create the local DIMS instance as part of a trust chain
from a Trusted Platform Module1 Chip, but TPM-Chips are
currently not built into every device.
The definition in this paper is based on several work done
in academic research, however, there are currently many proprietary P2P systems widely deployed, like Skype2 or Zattoo3 ,
that are heterogeneous as well as efficient – Skype connects
desktop computers, stand-alone telephones and mobile phones.
These systems are bound to include some kind of distributed
information management to optimize themselves. A real world
data analysis of these systems could provide more relevant
results then the results from simulations. However since they
are proprietary and encrypted an analysis is difficult [28] and
is out of scope for this paper.
In addition to smartphones even smaller devices like sensor
nodes have been proposed as possible participants in a DIMS.
However since sensor nodes normally work with a different
kind of physical network (see ZigBee [29]) an integrated
DIMS or a total different approach to distributed information
management that is not based on a DHT is probably more
suited [30]. In general it should be studied in which situation a generic stand-alone DIMS should be favoured over a
specialized or low-level information management system.
1 Information
on TPM, see: http://www.trustedcomputinggroup.org/
popular chat, webcam and VoIP software, http://www.skype.com
3 Zattoo: P2P based video streaming software, see: http://www.zattoo.com
2 Skype:
80
SURVEY AND DEFINITION OF DISTRIBUTED INFORMATION MANAGEMENT SYSTEMS
[17] A. Rowstron and 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), vol. 11. Citeseer, 2001, pp. 329–350.
[18] R. van Renesse and A. Bozdog, “Willow: DHT, aggregation, and
publish/subscribe in one protocol,” Peer-to-Peer Systems III, pp. 173–
183, 2004.
[19] K. Albrecht, R. Arnold, and R. Wattenhofer, “Join and Leave in Peer-toPeer Systems: The DASIS approach,” Technical report, CS, ETH Zurich,
2003.
[20] N. Harvey, M. Jones, S. Saroiu, M. Theimer, and A. Wolman, “Skipnet:
A scalable overlay network with practical locality properties,” Proceedings of the 4th conference on USENIX Symposium on Internet
Technologies and Systems, vol. 5, p. 9, 2003.
[21] T. Haerder and A. Reuter, “Principles of transaction-oriented database
recovery,” ACM Computing Surveys, vol. 15, no. 4, pp. 287–317, Dec.
1983.
[22] R. Huebsch, J. Hellerstein, N. Lanham, B. Loo, S. Shenker, and
I. Stoica, “Querying the Internet with PIER,” in Proceedings of the 29th
international conference on Very large data bases-Volume 29. VLDB
Endowment, 2003, p. 332.
[23] M. Massie, B. Chun, and D. Culler, “The Ganglia Distributed Monitoring
System: Design, implementation, and experience,” Parallel Computing,
vol. 30, no. 7, pp. 817–840, Jul. 2004.
[24] S. Madden, M. Franklin, J. Hellerstein, and W. Hong, “Tag: a tiny aggregation service for ad-hoc sensor networks,” ACM SIGOPS Operating
Systems Review, vol. 36, no. SI, p. 146, 2002.
[25] M. Bawa, H. Garcia-Molina, A. Gionis, and R. Motwani, “Estimating
aggregates on a peer-to-peer network,” Computer Science Department,
Stanford University, Tech. Rep., 2003.
[26] G. Saake and A. Heuer, Datenbanken-Konzepte und Sprachen. MitpVerlag, Heidelberg, 2008.
[27] K. Graffi, D. Stingl, J. Rueckert, A. Kovacevic, and R. Steinmetz,
“Monitoring and Management of Structured Peer-to-Peer Systems,”
IEEE Ninth International Conference on Peer-to-Peer Computing, pp.
311–320, Sep. 2009.
[28] S. Baset and H. Schulzrinne, “An analysis of the skype peer-to-peer
internet telephony protocol,” Arxiv preprint cs/0412017, pp. 1–11, Apr.
2004.
[29] P. Kinney and Others, “ZigBee Technology: Wireless control that simply
works,” in Communications design conference, vol. 2, no. October, 2003,
pp. 1–20.
[30] D. Kempe, A. Dobra, and J. Gehrke, “Gossip-Based Computation of
Aggregate Information,” 44th Annual IEEE Symposium on Foundations
of Computer Science, 2003. Proceedings., pp. 482–491, 2003.
81
PEER-TO-PEER BUSINESS MODELS
Peer-to-Peer Business Models
Untersuchung der kommerziellen Verwertbarkeit der P2P-Technologie
Oliver May
bereitgestellten Musiktitel auf einen Server übertrugen [27].
Trotz des Einsatzes eines zentralen Servers wurde das aus
den Teilnehmern (peers) entstehende Kollaborationsnetzwerk
mit dem P2P-Grundkonzept assoziiert. Das Programm und
die von ihm und seinem Onkel gegründete Firma [42]
nannte er nach seinem Nicknamen ’Napster’ [27]. Durch
die enorme Weiterentwicklung der Internet-Bandbreite,
Rechenleistung und Speicherkapazität sowie der Flat-Rate
basierten Internetzugangsmethoden wurde Napster schnell
populär [27].
Obwohl
Napster
bereits
2001
aufgrund
eines
Gerichtsurteils [51] eingestellt werden musste, veränderte
diese Technologie grundlegend die Nutzung des Internets.
Abbildung 1 zeigt die Ergebnisse der CacheLogic Studie
2006 [14]. Aus dieser geht hervor, dass trotz der Abschaltung
des
Napster-Servers
alternative
P2P-Anwendungen
enorme Wachstumsraten aufwiesen. Auswertungen der
Verbindungsdaten 2002 ergaben, dass in Spitzenzeiten bis
zu 65 % des Downstreams und bis zu 90 % des Upstreams
privater Nutzer aus der Nutzung von P2P-Systemen stammten.
Zusammenfassung—Die Peer-to-Peer (P2P) - Technologie hat
in den letzten zehn Jahren, ungeachtet der Illegalität, die Geschäftstätigkeit der Musikverlage und Filmstudios sowie das Nutzungsverhalten von Internetteilnehmern wesentlich beeinflusst.
Doch können, außerhalb des Umfeldes des illegalen File-Sharings,
ökonomisch sinnvolle Geschäftsmodelle auf Basis eines P2PNetzwerkes etabliert werden? Zur Beantwortung dieser Frage
werden zunächst die theoretischen Einsatzgebiete im Hinblick
auf eine produktive Verwertbarkeit erarbeitet um darauf folgend, anhand der Untersuchung von vier realisierten Business
Modellen, eine allgemeine Antwort abzuleiten.
Abschließend kommt diese Arbeit nach der Auswertung der
Anwendungsgebiete und der Fallstudien zu dem Ergebnis, dass
ein P2P-System keine ausreichende Grundlage für ein praktikables Geschäftsmodell darstellen kann. Dennoch lässt sich mit
einem kontrollierten Einsatz dieser Technologie, um existierende
Dienste zu erweitern oder deren Betriebskosten zu reduzieren,
eine indirekte Ertragsquelle erkennen.
I. E INLEITUNG
Die Ende der siebziger Jahre von Prof. Dieter Seitzer
entwickelte Idee, Musiksignale über Telefonleitungen zu
übertragen, hat in ihrer Weiterentwicklung am Frauenhofer
Institut zu einer radikalen Änderung der Übertragung und des
Konsums von Audio-Inhalten geführt. Die seit 1995 unter
dem Namen ’MP3’ bekannte Kompressionstechnik begann
ihre Massenverbreitung durch die ersten 1998 eingeführten
tragbaren Abspielgeräte, wie das ’Rio’ von Diamond. Die
zunehmende Beliebtheit des Mediums veranlasste zahlreiche
andere Hersteller ähnliche Geräte zu entwickeln [15].
Mit der weiteren vereinfachten Handhabung des MP3-Codecs
verbreitete sich insbesondere bei technikaffinen Studenten
der Download von Audio-Dateien mittels der schnellen
Anbindung ihrer Wohnheime. Für die Suche nach bestimmten
Titeln wurden Anbieter wie Scour.com und Lycos genutzt,
welche durchsuchbare Indizes von MP3-Titeln, gespeichert auf
privaten Webseiten, enthielten. Diese Indexdaten waren jedoch
nach wenigen Tagen nicht mehr gültig, da die referenzierten
MP3s aufgrund von hohen Traffic-Kosten oder in Folge von
Abmahnungen vom Webspace-Anbieter gelöscht wurden [42].
Dieses Problem versuchte ein 18-jähriger Informatikstudent,
Shawn Fanning, 1999 mit einem altruistischen Konzept, in
dem jedes Individuum dem anderen hilft, zu lösen [26].
Dabei sollten Nutzer direkt auf die Festplatten anderer
zugreifen können, um Musikdateien auszutauschen. Im
Gegensatz zu den alternativen Anbietern, die periodisch
Suchprogramme (robots) einsetzten, um Musikinhalte zu
finden bzw. zu aktualisieren, sollten dies nach Fanning
die Nutzer selbst übernehmen, indem sie ihre Liste der
Abbildung 1.
Internet-Nutzungsarten (1993-2006) [14]
Obgleich die Software ursprünglich aus dem altruistischen Grundgedanken konzipiert wurde, war Napster das
erste Business Modell einer P2P-Technologie-Anwendung, da
Mitarbeiter- und Server-Kosten finanziert werden mussten.
Das Geschäftskonzept sah die Kooperation mit Musikverlagen
vor, für die Napster als Promotion und Distributions-Plattform
dienen sollte. Die Vorstellung von Don Dodge, ehemaliger
Leiter der Produktentwicklung von Napster, war wie folgt:
Napster hat 50 Millionen Nutzer von denen eine Vielzahl
bereit waren 5 $ pro Monat oder 1 $ pro Download zu zahlen.
Dies sollte zu Einnahmen von 3 Milliarden $ führen, wovon
Napster 10 % für seine Dienstleistung einbehalten würde. Der
P2P Seminar, TU Darmstadt, Sommer 2010, verfasst am 30. Juni 2010
82
PEER-TO-PEER BUSINESS MODELS
Selbstorganisation
Das gesamte Netzwerkverhalten entsteht aus partikulärer
Interaktion der einzelnen Peers.
• Autonomie
Jeder Peer ist unabhängig in seinen Entscheidungen und
in seinem Verhalten.
• Zuverlässigkeit
Durch entsprechende Mechanismen (Replikation, Reputationsmanagement, etc.) wird sichergestellt, dass trotz der
’losen’ Struktur das System zuverlässig funktioniert.
• Verfügbarkeit
Diese Eigenschaft impliziert die Forderung, dass ungeachtet der verteilten Speicherung sowie unbekannter
Glaubwürdigkeit und Kollaborationsrate der Peers, die
nötigen Ressourcen jederzeit und für jeden Peer zur
Verfügung stehen.
Die zuvor genannten Eigenschaften erfüllen nur wenige P2PSysteme, da sie entweder in dem gedachten Anwendungsszenario nicht erforderlich sind oder deren Umsetzung zu einem
enormen Komplexitätsanstieg1 führen würde. Insbesondere
aus Komplexitätsreduktionsgründen sind einige hybride P2PAnsätze2 entwickelt worden.
verbleibende Umsatz sollte an Musikverlage als Rechteinhaber
abgeführt werden. Nach den Vorstellungen von Dodge wäre
dieses Konzept für die Musikindustrie ökonomisch sinnvoll,
da sie bis dato über 90 % der Einnahmen als Kosten für Promotion und Distribution aufbringen und dadurch weniger als
1 $ pro Album als Gewinn vereinnahmten. Die 10 Millionen $
jährliche Kosten von Napster wurden zunächst von Investoren
getragen, um eine für Verhandlungen nötige Marktpräsenz zu
erreichen. Diese Investition sollte sich durch einen späteren
Börsengang amortisieren [11].
”We changed the world but failed to achieve business success” [11] ist das Resümee von Dodge über die erfolglose
Etablierung des Geschäftsmodells. Mit der Frage, ob sich die
P2P-Technologie trotz des Misserfolgs von Napster erfolgreich
verwerten lässt, befasst sich diese Ausarbeitung. Da ein P2PNetzwerk nicht nur zum Austausch von Musiktiteln genutzt
werden kann, werden im nächsten Abschnitt zunächst die
Charakteristika und die sich daraus ergebenden Anwendungsgebiete vorgestellt. Grundlage für die Etablierung einer P2Pbasierten Anwendung ist der Austausch bzw. die Bereitstellung von Ressourcen auf Teilnehmer-Ebene. Welche grundsätzlichen Anreize ein Unternehmen den Teilnehmern bieten
kann, um ihre Ressourcen freizugeben, betrachtet der dritte
Abschnitt. Im darauf folgenden Kapitel werden ausgewählte
Anwendungsszenarien auf ihre kommerzielle Verwertbarkeit
überprüft. Hierfür werden zuerst Kriterien für die Beurteilung aufgestellt und anschließend anhand von umgesetzten
Geschäftsmodellen die Verwertbarkeit der Einsatzgebiete diskutiert.
•
B. Anwendungsszenarien
Das P2P-Konzept beschränkt sich nicht nur auf das
Internet, sondern schließt zugleich Intranets und andere
ad-hoc-Netzwerke mit ein. Ebenfalls können Anwendungen
für jegliche Arten von computer-ähnlichen Plattformen
wie Smartphones, Netbooks oder Fernseher mit NetzwerkAnschluss für ein P2P-System nutzen. P2P-Anwendungen
lassen sich nach M ILOJICIC ET AL . [47] in die drei folgenden
in Abbildung 2 dargestellten Kategorien einteilen.
II. P2P-T ECHNOLOGIE
”Peer-to-peer is a class of applications that take
advantage of resources – storage, cycles, content,
human presence – available at the edges of the
Internet. Because accessing these decentralized resources means operating in an environment of unstable connectivity and unpredictable IP addresses,
peer-to-peer nodes must operate outside the DNS
and have significant or total autonomy of central
servers” [44].
Mit dieser groben Definition von Clay Shirky lässt sich ein
P2P-System als eine Art ’Internet auf Applikationsebene über
dem Internet’ ansehen [12].
A. Charakteristika
Ein P2P-Netzwerk kann nach H AUSWIRTH und
D USTDAR [16] durch die folgenden Eigenschaften
charakterisiert werden:
• Rollensymmetrie
Jeder Peer kann gleichzeitig Client wie auch Server
(servent) sein.
• Dezentralisierung
Es existiert weder eine zentrale Koordinierungsinstanz
(für die Interaktionssteuerung der Peers) noch eine zentrale Datenbasis (die Daten speichert und allen zur Verfügung stellt) und kein Peer verfügt über eine globale Sicht
des Systems (Peer kennt nur direkte Nachbarn).
Abbildung 2.
Taxonomie der P2P-Anwendungen (in Anlehnung an [34])
Daten- und Speicher-Management
Diese Anwendungskategorie umfasst die Speicherung und
Verarbeitung der Informationen der Peers im Netzwerk.
1 Das Gnutella System, ein weiteres bekanntes P2P-Netzwerk, erfüllt zwar
die obigen Eigenschaften, benötigt jedoch eine relativ hohe Bandbreite zur
Umsetzung der Such- und Netzwerkverwaltungsstrategie.
2 Z.B. das Napster System aus Kapitel I, das für die Suche und Knotenverwaltung einen zentralen Server einsetzt.
83
PEER-TO-PEER BUSINESS MODELS
Tabelle I
KONKRETE A NWENDUNGSBEISPIELE3
Hierzu zählen Datenaustausch-Systeme, wie zum Beispiel
File-Sharing-Programme
und
Streaming-Anwendungen
oder P2P-Speicher-Systeme, die ihren Schwerpunkt bzgl.
der Sicherheit und Verfügbarkeit von gespeicherten Daten
haben. Und Systeme zur Datenfilterung sowie Data-Mining,
bei denen der Fokus nicht auf den Informationsaustausch
gelegt wird, sondern auf kollaborierende Techniken die
durchsuchbare Indizes innerhalb des Netzwerks aufbauen.
DATEN - UND S PEICHER -M ANAGEMENT
Datenaustausch
• Filesharing (BitTorrent [5], LimeWire [29], in2movies [†]),
• Videostreaming (Kontiki [22])
Speicher-Systeme
• Online-Festplatte (Wuala [7])
Daten-Filterung und Data-Mining
• Web Crawler (YaCy [8]),
• Kollaboratives Data Mining [10]
Parallele Verarbeitung
Parallelisierbare P2P-Systeme zerlegen ein umfangreiches
Problem in kleine Teilprobleme, die parallel von einer
Vielzahl unabhängiger Computer (peer nodes) gelöst werden.
Dabei kann zwischen rechenintensiven, die die Lösung
einer Aufgabe auf viele Peers verteilen, und modularisierten
Anwendungen, bei denen verschiedene Komponenten auf den
Peers ausgeführt werden, unterschieden werden.
PARALLELE V ERARBEITUNG
rechenintensiv
• Suche nach außerirdischen Signalen (Seti@home [52]),
• Medizinische Forschung (Compute against Cancer [†])
modularisiert
• Workflow-Management-Systemen (P2E2-Projekt [2]),
• generelle Web Services (JXTA [48])
Direkte Kollaboration
Kollaborierende Anwendungen erlauben eine direkte Zusammenarbeit in Echtzeit. Informationen können gesammelt und
weitergegeben werden, ohne dass dazu ein zentraler Server
benötigt wird. Das klassische Anwendungsgebiet ist die direkte Kommunikation mittels Text oder Sprache. Eine simultane
Bearbeitung der gleichen Information erlauben Shared Apps.
Des Weiteren existieren Multiplayer Spiele auf verschiedenen
Plattformen, die die P2P-Technologie nutzen.
In Tabelle I werden abschließend ausgewählte konkrete
Anwendungsbeispiele zu den zuvor erläuterten Kategorien
aufgeführt.
D IREKTE KOLLABORATION
Kommunikation
• Voice over IP (Skype [46]),
• Intsant Messaging (ICQ [18])
Projektarbeit
• Groupware (MS Office Groove [33])
Spiele
• Smartphone Spiele (iPaintBall [1])
• Konsolen Spiele (Halo 3 [XBox 360] [32])
• PC-Spiele (Call of Duty: Modern Warfare 2 [19])
so groß ist wie der Beitrag, in Form von Kosten für die
Bereitstellung von Ressourcen.
Die trivialste Anreizform ist die direkte oder indirekte finanzielle Vergütung. So könnte die Auszahlung von Geldeinheiten,
Einräumung von Nutzungsrechten oder Erwerb von Dienstleistungsansprüchen pro Zeiteinheit der Verbindung mit dem
Netzwerk eine direkte Bezahlung darstellen. Eine indirekte
Provision wäre beispielweise eine Spende an eine wohltätige
Organisation.
Eigennützige nicht monetäre Anreizgestaltung kann aufgrund
von sozialen oder ideologischen Motiven geschehen. Das aus
den Sozialwissenschaften stammende Erklärungsmodell der
’Sozialen Anreize’ basiert auf Verpflichtungen der Erfüllung
sozialer Konventionen oder als Ausdruck sozialer Beziehungen
[31]. Voraussetzung für die Generierung sozialer Anreize ist
jedoch der Verzicht auf Anonymität der Teilnehmer. Nur so
könnten gruppendynamische Verpflichtungen aus der realen
Welt zur Teilnahme an dem Netzwerk zwingen, um nicht sozialen Repressalien unterliegen zu müssen. Fraglich ist jedoch,
ob in hochskalierten Netzwerken, aufgrund der großen Zahl an
Teilnehmern, eine soziale Verbundenheit entstehen kann. Ideologisch motiviertes Handeln basiert auf dem Grundgedanken,
die Welt durch die individuelle Tat positiv zu beeinflussen
[31]. Unter diese Kategorie fallen unter anderem Projekte,
die auf Erkenntnisgewinn zentraler Fragestellungen abzielen.
Trotz der gemeinnützigen Zielsetzung erfüllt die Teilnahme
den Eigennutz der intrinsischen Befriedigung (z.B. Wohlgefühl
durch ’gute Tat’). Im Gegensatz zu den finanziell orientierten
III. KOLLABORATIONSANREIZE
Wie bereits in Abschnitt II-A angedeutet wurde, basiert
ein P2P-Netzwerk auf der Kollaboration der einzelnen Teilnehmer, die ihre eigenen Ressourcen anderen zur Nutzung
zur Verfügung stellen. Für die spätere Beurteilung von Geschäftsideen auf Basis der P2P-Technologie wird zunächst
auf die fundamentale Frage eingegangen, welche Anreize ein
Business Modell dem Teilnehmer bieten kann, um sich an
diesem Netzwerk zu beteiligen.
Nach KOLLOCK [21] basiert jede Form der OnlineZusammenarbeit auf eigennützigen oder altruistischen Motiven. Die Verhaltensimplikationen der Nutzer, die sich aus
egozentrischen Anreizen ergeben, lassen sich durch die Übertragung der aus der betriebswirtchaftlichen Organisationstheorie stammende Anreiz-Beitrags-Theorie erklären. Diese besagt,
dass die Existenz einer als Koalition verstandene Organisation
gesichert ist, sofern es gelingt, für die Organisationsteilnehmer
eine mindestens ausgeglichene Beziehung zwischen Anreizen
(inducements) und Beiträgen (contributions) herzustellen [43].
Angewendet auf Mitarbeiter als Organisationsteilnehmer sieht
diese Theorie vor, dass der als Anreiz verstandene Lohn
mindestens so hoch sein muss, wie die als Beitrag eingebrachte Arbeitsleistung. In konsequenter Adaption hat ein P2PGeschäftsmodell eine Existenzberechtigung, sofern der aus
dem Netzwerk stammende Nutzen des Teilnehmers mindestens
3 Unterstrichene
Beispiele werden in Abschnitt IV-B diskutiert.
84
PEER-TO-PEER BUSINESS MODELS
Anreizen können soziale oder ideologische Anreize nur indirekt vom Unternehmen stimuliert werden. In Bezug auf soziale
Motive könnte das Business Modell den Betrieb sozialer
Plattformen vorsehen, die soziale Verflechtungen aufbauen und
in das Netzwerk übertragen. Da der Aufbau neuartiger ideeller
Wertvorstellungen nur schwer durch ein Unternehmen durchführbar ist, muss bei dieser Zielsetzung auf bereits etablierte
Ideologien aufgebaut werden.
In Situationen, in denen Netzwerk-Anhänger nicht aus eigennützigen Interessen handeln, können altruistische Motive
unterstellt werden. Da diese Motive nicht durch Anreize stimuliert werden können, werden diese nicht näher betrachtet.
B. Business Model - Fallstudien
Im Folgenden werden ausgewählte Business Modelle
vorgestellt und hinsichtlich ihrer ökonomischen Verwertbarkeit
beurteilt. Grundsätzlich kann mit keinem gesetzwidrigen
Geschäftsgebaren eine positive ökonomische Beurteilung
verbunden werden, da diese nur solange praktiziert werden
können bis eine staatliche Einrichtung die Ausübung untersagt,
werden derartige Modelle nur beiläufig behandelt.
(legale) Filesharing-Dienstleistungen
Obwohl kleinere Musiklabels durch geringe Markteintrittskosten, in Bezug auf Promotion und Werbung, vom
File-Sharing-Netzwerken profitieren können [3] und
sogar in den USA bekanntere Künstler sich gegen die
strikte Verfolgung von Teilnehmer aussprechen [24],
bekämpfen amerikanische Major Labels gemeinsam als
’Recording Industry Association of America’ (RIAA) [39]
die unlizenzierte digitale Vervielfältigung (digital piracy)
eigener urheberrechtlich geschützter Inhalte [40].
Durch Schadensersatzklagen versuchen die Plattenfirmen die
Einnahmeverlusten zu begegnen [45]. Der erste von der RIAA
gewonnene populäre Prozess richtete sich gegen Napster
[51], dessen Dienst leicht, aufgrund des zentralisierten
Suchdienstes, abgeschaltet werden konnte. In Folge dieses
Urteils wurden dezentrale Netzwerk-Strukturen geschaffen,
in denen es keine zentralen Anbieter und damit keinen
zentralen Akteur, der schadensersatzpflichtig wäre, existieren.
In der Vergangenheit wurden daher einzelne P2P-Nutzer, die
mehr als 1.000 Titel zum Tausch anboten, zur Abschreckung
anderer verklagt [37].
Da bislang das Anbieten von Dienstleistungen oder Herstellen
von Software für ein Filesharing-Netzwerk, das illegale
Inhalte enthält, keine rechtlichen Auswirkungen impliziert,
wären solche Geschäftsmodelle eventuell ökonomisch
sinnvoll. Dies könnte sich jedoch mit der Bestätigung eines
Urteils vom 12. Mai 2010 eines US-Bundesgerichts (federal
court) verändern. In dem Verfahren, das sich gegen die
Anbieter eines populären P2P-Dienstes ’Limewire’ richtet,
wurde entschieden, dass diese Software zum Raubkopieren
verleitet und illegal ist [38]. Mit diesem Entscheid, der dem
Anbieter eine indirekte Urheberrechtsverletzung bereits bei
dem Aufbau eines Netzes ohne Sicherheitsmechanismen
zum Schutz von Urheberrechten unterstellt, wäre jedes
derartige Geschäftsmodell potentiellen Schadensersatzklagen
ausgesetzt. Dies würde jegliche Dienstleistung im Umfeld
von P2P-Netzen, wie BitTorrent, Gnutella oder private Netze
der Darknet4 betreffen und wird daher in dieser Arbeit nicht
weiter vertieft.
IV. P2P-B USINESS M ODELS
Nachdem in den vorangegangenen Abschnitten die grundsätzlichen Anwendungsmöglichkeiten und die Partizipationsanreize aufgezeigt wurden, erklärt und beurteilt dieses Kapitel
umgesetzte Business Modelle. Hierzu werden ausgewählte
Projekte aus den Bereichen des legalen Filesharing, Video
Streaming, Grid Computing und Voice over IP betrachtet.
A. Schlüsselfaktoren
Um das Potential einer Geschäftsidee beurteilen zu können, ist es zunächst erforderlich Kriterien, an denen eine
einheitliche Evaluierung stattfinden kann, festzulegen. Neben den zahlreichen Forschern (z.B.: [50], [36]), die sich
mit den Erfolgsfaktoren von E-Business-Modellen beschäftigt
haben, betrachteten M AC I NNES ET AL . [30] und H UGHES
ET AL . [17] insbesondere die Schlüsselfaktoren von P2PGeschäftsmodellen. Bei dem von H UGHES ET AL . entwickelten Framework wird ein P2P-Geschäftsmodell aus technologischer, ökonomischer, struktureller, juristischer, politischer,
kultureller und kognitiver Perspektive beurteilt. Im Gegensatz
zu diesen analytisch geprägten umfassenden Beurteilungskriterien beschränkt sich diese Ausarbeitung auf die folgenden,
in Anlehnung an M AC I NNES ET AL . vorgeschlagenen ökonomischen Erfolgsfaktoren.
•
•
•
•
Einnahmebasis (revenue source)
Referenziert die Art und Weise, wie das Unternehmen die
Kosten seiner unternehmerischen Tätigkeiten aufbringt.
Teilnehmernutzen (potential benefit to actors)
Beinhaltet alle Erträge die die Mitglieder eines P2PNetzwerks erhalten. Diese Eigenschaft zielt auf die Anreizmotive der finanziellen, ideologischen oder sozialen Entschädigung der Ressourcenbereitstellung aus Abschnitt III ab.
Technologie (technology)
Bezieht sich auf die eingesetzte Grundtechnologie (Netzwerkarchitektur, Informationsübermittlung, Teilnehmerinteraktion) und die das Netzwerk unterstützenden Systeme (z.B. das Vergütungssystem, Support).
Sicherheitskonzepte (security)
Umfasst die Sicherungsmittel zum Schutz der Daten vor
unerlaubten Zugriffen, Vertrauenswürdigkeit der Infrastruktur sowie die sichere Kommunikation.
Filesharing zur Distributionsunterstützung (in2movies)
Ein mögliches Geschäftsmodell, mit einem eingeschränkten
P2P-System,
in
Hinblick
auf
Autonomie
und
Dezentralisierung, versuchte die Kooperation aus Warner
Bros. Entertainment GmbH und ein zum BertelsmannKonzern gehörender technischer Dienstleister im Jahr 2006
4 Ein nicht öffentliches P2P-Netzwerk, in dem ein Teilnehmer nur durch
Einladung beitreten kann [4]
85
PEER-TO-PEER BUSINESS MODELS
zu etablieren. Sie wollten ein Filmportal ’in2movies’ im
deutschen Markt erschaffen, dessen operatives Geschäft sich
auf den Vertrieb von Videos (Spielfilmen, Serien) als digitaler
Download in DVD-naher Qualität (1,5 MBit/s encodiert)
konzentrieren sollte [23].
Als Einnahmegrundlage diente der Verkauf und die spätere 24Stunden Ausleihe von 1.500 Warner Bros. Spielfilmen. Dabei
sollten aktuelle Filme 14,99 e, ältere 6,99 e und TV-Serien
1,99 e kosten. Dieses Angebot war im Gegensatz zur KaufDVD ohne alternative Tonspuren oder Extras ausgestattet. Die
dem Geschäft zugrundeliegende Technologie war ein hybrides
P2P-Netzwerk. In diesem sollte grundsätzlich nach dem Kauf
eines Filmes die Videodatei vom in2movies-Server herunter
geladen werden. Da aufgrund von mehreren gleichzeitig
angefragten Filmen die Downloadgeschwindigkeit der
zentralen Server stark beeinträchtigt werden könnte, sollten
bei hoher Auslastung Peers aushelfen. Die Lastverteilung
wurde über das Download-System GNAB der BertelsmannTochter Arvato gesteuert. Dieses System lagerte VideoFragmente der zu übertragenden Downloads auf die Peers
aus und administrierte deren Verteilung. Der schnelle und
sicherere Download sowie das 24-Stunden Angebot sollten
den Teilnehmernutzen für Käufer darstellen. Der Anreiz, dass
sich Kunden selbst als Distributions-Servent an der Plattform
beteiligten, geschah in Form einer fiktiven Vergütung. Für
bereitgestellte Upload-Kapazität erhielt ein Teilnehmer
’MoviePoints’, die gegen Film-Downloads eingetauscht
werden konnten (ca. 40 GB Upload für einen Film). Damit
die gekauften Filme nicht beliebig weitergegeben werden
konnten, sah das Sicherheitskonzept den Einsatz eines ’Digital
Rights Management’ (DRM) Systems vor. Dieses beschränkte
das Abspielen der Videos auf maximal drei Plattformen und
unterband das Brennen auf Video-DVDs.
Trotz verschiedenster Kooperationen (u.a. mit AOL, Amango,
Media-Markt-Kette oder Yahoo) wurde der Dienst Mitte
2008 aufgrund von Erfolglosigkeit eingestellt [20]. Das
in2movies Filmportal zeigt, dass ein Geschäftsmodell nur
dann erfolgreich sein kann, wenn es dem Kunden ein für
ihn empfundenen Mehrwert bietet. Ein Dienst, der sich als
Konkurrenz zum ordinären Kauf eines Films aufstellt, muss
dem Kunden spezielle Vorteile bieten, damit dieser sein
gewohntes Kaufverhalten ändert. Der Vorteil des ständigen
Zugangs überwog nicht die Nachteile der durch das DRM
eingeschränkte Nutzungsrecht von Filmen zu DVD-ähnlichen
Kaufpreisen ohne DVD-Verpackung und -Qualität. Gerade die
Einsparungen von IT-Infrastrukturkosten durch den Einsatz
der P2P-Technologie haben sich nicht in der Preispolitik
manifestiert, so dass dieser Dienst von den Kunden abgelehnt
wurde und keine Marktetablierung erreicht worden ist.
vorstellbar. Insbesondere das Übertragen von TV-Livestream
über das Internet als Übertragungsmedium ist unter dem
Marketingbegriff ’IPTV’ bekannt.
Die trivialste Form der Datenübertragung ist eine Client/Server
basierte Technologie, welche als ’Unicast’ bezeichnet wird.
Bei diesem Verfahren, in Abbildung 3a schematisch
dargestellt, überträgt der zentrale Streaming-Server jedem
Nutzer jeweils ein Datenstrom. Die Serverkapazität,
insbesondere dessen Anbindung an das Internet, würde
linear mit der Anzahl der Zuschauer steigen. Da das
englische öffentliche Fernsehen (BBC) als eine der ersten
Fernsehstationen in Europa ihre Programme über das Internet
verbreiteten, berechneten L IEBAU ET AL . in einer Fallstudie
[28], dass, sollte ganz England IPTV nutzen, bei der UnicastTechnik 140.000 Server5 benötigt, was ökonomisch nahezu
unrealisierbar wäre.
(a) Unicast (One-to-One)
(b) Hybrides P2P (Kontiki Konzept)
(c) Multicast (One-to-Many)
Abbildung 3.
IPTV Übertragungswege
Eine Alternative zum Unicast wäre der Einsatz der P2PTechnologie um den Aufwand für eine komplexe Server
Farm zu vermeiden. Diesen Ansatz verfolgte die BBC indem
sie das von der Firma Kontiki entwickelte hybride P2PÜbertragungskonzept in ihrem Streaming-Programm verwen-
Video Streaming (Kontiki)
Ein weiteres als das zuvor vorgestellte Verfahren Videos als
komplette Datei zu übertragen, ist die Möglichkeit, bewegte
Bilder als Video-Stream anzubieten. Dabei werden die
Videoinhalte sukzessive weitergereicht, so dass eine nahezu
verzögerungsfreie Wiedergabe beim Empfänger möglich
ist. Hierbei sind sowohl Filmabruf (Video on Demand)
- Varianten als auch die Übertragung von TV-Kanälen
5 Dabei liegt die Annahme zugrunde, dass für eine derartige IPTV-Plattform
45.600 TB Traffic pro Monat erzeugt werden würde und jeder Server eine
10 KBps Internetanbindung besäße.
86
PEER-TO-PEER BUSINESS MODELS
dete. Der BBC iPlayer6 wurde im Oktober 2005 erstmals im
Testbetrieb eingesetzt und stetig weiterentwickelt.
Die Einnahmebasis der Kontiki Gesellschaft liegt im
Verkauf von Nutzungslizenzen und Anpassung der Video
Streaming Technologie. Zielgruppen sind Unternehmen die
Videoinhalte intern, für Partner oder für Kunden verbreiten
wollen. Des Weiteren kann diese Technologie zur IPTV Übertragung genutzt werden. Der Teilnehmernutzen stellt sich für
Clients in einem stabilen Datenstrom, der in Zeiten hoher
Auslastung Aussetzer in der Wiedergabe minimiert, dar. Für
Anbieter von Videoinhalten reduziert diese Methode die Kosten für eine Server-Infrastruktur und benötigte Bandbreite.
Die Peer-unterstützende-Netzwerk-Technologie wird in Abbildung 3b vereinfacht dargestellt. Diese kombiniert partikuläre
Downloads von Peers und zentralen Servern. Da einige Peers
Inhalte temporär auf ihren Rechner aufbewahren zu denen sie
keine Wiedergabeberechtigung haben, sieht das Sicherheitskonzept den Einsatz eines DRM-Systems vor. Bei diesem kann
der Inhalt nur bei Besitz eines passenden Schlüssels, den ein
DRM-Server bei jeder Wiedergabe vergibt, genutzt werden.
Im Dezember 2007, mit der Veröffentlichung der dritten BBC
iPlayer Version, verabschiedeten sich die Engländer von der
P2P-Technologie. Die Umstellung des BBC-Video-Services
auf einen zentralen Server-Stream geschah aufgrund der folgenden drei identifizierten Motiven [41], die teilweise die
Ursache der Ablehnung des Video-Angebots waren:
• Unerwünschter Ressourcenverbrauch
Nutzer mochten P2P nicht, da für diesen bezahlten Dienst
die Technologie sowohl CPU wie Upload Ressourcen
belegten, so dass sich nach deren Empfinden ihre Rechner
spürbar verlangsamten.
• ISP deckeln Bandbreite nach Traffic-Verbrauch
Einige Angebote englischer Internet Service Provider
(ISP), berechnen bei gedeckelten Internetzugängen sowohl Upload wie Download als Traffic, so dass einige
Teilnehmer durch den erhöhten P2P-Upload frühzeitig ihr
Traffic Limit erreichten.
• Reduktion der Datenübertragungskosten
(bandwidth
costs)
Wie Abbildung 4 verdeutlicht, verringerten sich im
Zeitraum des ersten Releases bis zur Umstellung (2004
bis 2008) die Breitband-Kosten um fast 90 %. Dies
war die grundlegende ökonomisch und technische
Entwicklung, die das Anbieten von direkten httpDownloads als eine realisierbare Alternative ermöglichte.
Abbildung 4.
6 Im
Für
die
Reduzierung
der
Server-Last
wurden
bei
Livestream-Übertragungen
die
Router
der
Internetdienstanbieter, die als Multiplikatoren der Datenpakte
fungieren, mit einbezogen. In diesem Multicast-Verfahren, das
in Abbildung 3c skizziert ist, wird das Routing Information
Protocol (RIP) verwendet, welches das Versenden der DatenPakete an viele Empfänger zur gleichen Zeit ermöglicht.
Trotz der Abkehr der BBC von der P2P-Technik kann dieses
Geschäftsmodell weiter ökonomisch erfolgreich sein. Im
Gegensatz zur BBC verwendet zum Beispiel das britische
Bezahlfernsehen BSkyB weiterhin die Technologie von
Kontiki [6]. Diese bieten das IPTV nur als zusätzliche
Konsummöglichkeit neben der gewöhnlichen Kabel- bzw.
Satelliten-Übertragung des TV-Programms an. Neben
dem TV-Streaming kann diese Videoverbreitungslösung
erfolgreich bei kleineren Unternehmen genutzt werden,
die teure Server-Infrastrukturkosten scheuen, da sie nur
gelegentlich Video-Botschaften übermitteln und die Nachteile
akzeptieren.
P2P in der medizinischen Forschung (Parabon)
Bei den P2P-Netzwerken, die Rechenleistung bündeln,
werden überwiegend keine ökonomischen Motive zugrunde
gelegt. Die Aufgaben haben eine zu erforschende
Problemstellung und die Nutzer engagieren sich in diesem
aus idealistischen Gründen (z.B. bei der Weltraumerforschung
nach außerirdischen Signalen im SETI@home Projekt).
Dennoch wird im Folgenden ein indirektes Geschäftsmodell
der Firma Parabon, dass die ’Compute against Cancer’Initiative betreut vorgestellt. Das Ziel dieses P2P-GridComputing-Projekts ist die Krebsforschung zu beschleunigen,
indem die Reaktion von Krebszellen auf verschiedene
Medikamente simuliert wird.
Dieser Dienst besitzt zwar keine direkte Einnahmebasis,
jedoch promotet Parabon mit diesem Projekt seine Technik
und die teilnehmenden Forscher können aus den späteren
Patenten Einnahmen generieren. Der Teilnehmernutzen basiert
auf der ideologisch motivierten intrinsischen Befriedigung,
behilflich bei der Krebserforschung zu sein. Bis 2001
wurden jedoch zur Bekanntmachung des Projektes monetäre
Anreize zur Teilnahme, indem an jeden Tag 100 $ und
1.000 $ pro Monat verlost wurden, gesetzt [49]. Bei dem
Zusammenschluss der Rechner wird die von Parabon
entwickelte Technologie verwendet. Jeder Peer nutzt die
spezielle Parabon Pioneer Software, welche sich die
nötigen Daten und Engines lädt und die Ergebnisse wieder
zurück zum Erkenntnis-Server überträgt. Parabon nutzt
kein ausdrückliches Sicherheitskonzept, sondern basiert auf
Vertrauen der Teilnehmer, dass sowohl die Software keinen
Schaden anrichtet als auch Ergebnisse nicht manipuliert sind.
Insbesondere zielt das Vertrauen der ressourcengebenden
Teilnehmer darauf ab, dass ihr System nicht für den Aufbau
eines Netzes, den ’Botnetz’, für illegale Computerattacken
genutzt wird. Ihre Systeme könnten unter anderem für DDoS-
Breitband Internet Transit Kosten (1998-2014) [25]
Feldversuch als ’Integrated Media Player’ (iMP) bezeichnet.
87
PEER-TO-PEER BUSINESS MODELS
Attacken7 oder zur Spam-Verteilung8 eingesetzt werden.
Zwar könnte ein Botnetz ’legal’ durch eine Klausel in den
Nutzungsbedingungen aufgebaut werden und dadurch in der
Vermietung und Verkauf von Botnetzen ein Geschäftsmodell
bestehen, werden diese doch mit hoher Wahrscheinlichkeit
nicht für gesetzeskonforme Zwecke eingesetzt werden und
wären damit illegitim. Das für diese Netzwerke durchaus ein
Markt existiert, bescheinigt die Kaspersky Studie. In dieser
wird geschätzt, dass die ”Pacht für ein E-Mail-Botnetz, das
etwa 1.000 Mails pro Minute versendet (bei 100 ZombieRechnern online) [...] etwa 2.000 $ im Monat” [35] beträgt.
Der Verkauf von ”Zombie-Netzen mit [...] einigen hundert
Bots [erzeugt Einnahmen] zwischen 200 und 700 $” [35].
Voice over IP (Skype)
Der mit über 520 Millionen Nutzern [13] wohl populärste
legale P2P-Dienst ist die Telefon-Software Skype, mit der
Gespräche über das Internet kostenlos geführt werden können.
Neben den freien Telefonaten von PC zu PC bietet Skype
die gebührenpflichtige Möglichkeit aus dem Skype Netz in
das gewöhnliche Telefonnetz anzurufen. Die Platzierung von
Werbung und die Erlöse aus den Festnetzverbindungen stellt
die Einnahmebasis des Unternehmens dar. In Bezug auf
die abgewickelten Gespräche ist Skype erfolgreich, so dass
bereits acht Prozent der weltweiten Auslandsgespräche über
den Internet-Telefondienst abgewickelt werden [54].
Das technologische Fundament von Skype, veranschaulicht
in Abbildung 5, bildet eine hybride P2P-Infrastruktur,
bestehend aus Super-Knoten, gewöhnlichen Knoten und den
Login-Servern. Nach dem Download der Skype Software
überprüft diese die Rechenleistung sowie Internetanbindung
und entscheidet ob der Rechner als Super Knoten agiert.
Gewöhnliche Knoten verbinden sich mit Super Knoten,
die wiederum mit anderen Super Knoten verbinden. Super
Knoten und gewöhnliche Knoten bilden zusammen das
P2P-Overlay-Netzwerk, in dem die Telefonate weitergereicht
werden. Der einzige zentralisierte Teil in diesem Netzwerk
sind die Login-Server [28].
Das Sicherheitskonzept von Skype beinhaltet sowohl
Zertifikate zur Sicherstellung der digitalen Identität, eine
grundsätzlich verschlüsselte Kommunikation (AES-256) sowie
zahlreiche Mechanismen zum Schutz vor Angriffen, wie z. B.
der Identitätswechsel, Abhören, Man-In-The-Middle-Angriffe
und Datenmodifizierung während der Übertragung [46].
Der Teilnehmernutzen liegt in der einfachen Bedienung,
kostenlosen Nutzung und in den zusätzlichen Angeboten (z.B.
Videokonferenz, Spielen, Chats etc.).
Aus den gerade erörterten Eigenschaften scheint dieses
Geschäftsmodell geeignet zu sein, dauerhaft substanzielle
Abbildung 5.
Struktur des Skype-Overlay-Netzwerks [28]
Erlöse zu generieren. Zu diesem Ergebnis kam auch das
Management von Ebay und übernahm 2005 Skype für einen
ökonomisch fragwürdigen Betrag von 3,1 Milliarden $ [54].
In den folgenden Jahren gelang es Ebay jedoch nicht mit
Skype ein gewinnbringendes Ergebnis zu erzielen, da trotz
der enormen Beliebtheit, der Dienst kaum Profit abwirft.
Setzt man den Umsatz von 551 Millionen $ im Jahr 2008
in Bezug zu den Nutzern, erwirtschaftet jeder Teilnehmer
im Monat weniger als 11 Cent für das Unternehmen [54].
Zwar führt dies nach Abzug aller Kosten zu einem Gewinn
von 116 Millionen $ [9], doch dieses Ergebnis ergibt,
gemessen an der Investitionssumme, eine Investitionsrendite
von gerade 3,7 %. Da dieser Profit nach Abzug von Steuern
und Abschreibung aus betriebswirtschaftlicher Sicht zu
wenig ist, verkaufte Ebay 2009 65 % von Skpye an eine
Investorengruppe für den Verkaufspreis von 1,9 Milliarden $
[53]. Skype zeigt, dass es sogar große Technologie Firmen
nicht schaffen ein profitables Geschäftsmodell im Umfeld
einer kostenlosen P2P-Dienstleistung aufzubauen. Daher,
sollte es den neuen Eigentümern nicht gelingen weitere
Ertragsquellen zu generieren, wird Skype wahrscheinlich
in naher Zukunft entweder weiterverkauft, über Spenden
finanziert oder eingestellt werden.
V. FAZIT UND AUSBLICK
Durch die vielen zum Teil einzigartigen Vorteile, wie
Dezentralisierbarkeit, geringere Netzwerkkosten, Anonymität,
Skalierbarkeit oder Selbstorganisation, verbreitete sich die
P2P-Technologie rasant und wurde Grundlage einer Reihe unterschiedlichster Anwendungen. P2P fand Einzug in Konzepten aus den Bereichen der Daten- und Speicher-Management,
parallelen Verarbeitung und direkten Kollaboration. Jedoch
dominierte die Verwendung dieser Technik für den kostenlosen Austausch bzw. unlizenzierten Vervielfältigung geschützte
Inhalte. Dadurch haftete der Technologie ein Image der Illegalität an, so dass P2P-Systeme von Unternehmen eher bekämpft
anstatt genutzt wurden.
Das Hauptproblem bei der Verwirklichung eines P2PGeschäftsmodells ist die mit der Technologie tief verankerte
Kultur der kostenlosen Nutzung. Innerhalb der Tauschbörsen
entstand ein irreales Gefühl der indirekten Bezahlung der
Inhalte, da der Betrieb oder die Auslastung des Rechners
bemerkbare Kosten verursachte. Der Erhalt der Inhalte wurde
7 Distributed Denial-of-Service-Attacken (DDoS-Attacken) sind Überlastungsangriffe auf ein Computersystem, so dass dieses keine legitimen Anfragen mehr bearbeiten kann. Kriminelle können DDoS-Attacken als Druckmittel
verwenden, um Lösegeld von den angegriffenen Firmen zu erpressen. Nach
Experten-Schätzungen [35] gab es im Jahr 2008 zirka 190.000 DDoSAttacken
mit einem erbeuteten Lösegeld von rund 20 Millionen $.
8 Spam-Mails sind unerwünschte Email-Mitteilungen, deren Inhalt meist
Werbung für Viagra, Online-Casinos oder gefälschte Luxusartikel sind. Da
das massive Versenden von Mails verfolgt wird, werden Botnetze zu diesem
Zweck eingesetzt. Nach der Kaspersky Studie [35] liegen die Einnahmen für
100.000 verschickte Mails bei ca. 70 $.
88
PEER-TO-PEER BUSINESS MODELS
als Anreiz höherwertig als die Kosten eingestuft, so dass sich
die Nutzer an den Netzwerken beteiligten. Neben den individuellen Fehlern der Geschäftsgestaltung war das Versagen
in der Schaffung attraktiver Anreize, die Ursache des Scheiterns der meisten Versuche der kommerziellen Verwertung.
Erreichte das Geschäftsmodell eine hohe Kundenanzahl für
einen kostenlosen Dienst (als Anreiz), dann wurde zu wenig an
den kostenpflichtigen Zusatzleistungen verdient (z.B. Skype).
Alternativ wurde der Anreiz für die Beteiligung an dem
kommerziellen Netzwerk als nicht attraktiv genug bewertet,
so dass keine angemessene Anzahl von Kunden gewonnen
werden konnte (z.B. in2movies). Dem Einsatz von P2P als
Mittel der Kostenersparnis steht die enorme technische Weiterentwicklung und die exponentielle Degression der Übertragungskosten entgegen. Denn vergleicht man die Kosten für den
Breitbandzugang aus dem Jahr 1998, der Veröffentlichung von
Napster, mit denen 10 Jahre später, haben sich die Kosten um
den Teiler 100 reduziert.
Die kommerzielle Verwertung der P2P-Technologie könnte
ihren Durchbruch in zukünftigen mobilen Netzwerken haben.
Aus der zunehmenden Verbreitung und technischen Weiterentwicklung von mobilen Geräten wie Smartphones, Netbooks
oder Tablet-Computer die verschiedenste Netzzugänge, wie
GSM, WLAN und Bluetooth unterstützen, könnte ein Markt
für P2P-Software oder -Spiele entstehen. Da die Funkfrequenzbereiche stark reglementiert sind, verbleibt die Bandbreite für die Datenübertragung innerhalb eines Netzes auf
einem relativ geringen Niveau. Hier könnten nun parallel aus
mehreren in Reichweite befindlichen Geräten ad-hoc P2PSysteme über andere Netzzugänge aufgebaut und dadurch die
einzelne Geräte-Bandbreite erhöht werden. Doch stellt sich
in diesem Anwendungsszenario genauso das grundsätzliche
Problem der profitablen Umsatzgenerierung.
Abschließend ist festzuhalten, dass die P2P-Technologie als
alleinige Grundlage nur wenig Raum für eine Etablierung
eines substanziellen Geschäftsmodells bietet. Jedoch lässt sich
mit einem kontrollierten Einsatz eine indirekte Ertragsquelle
erkennen, wenn die P2P-Technologie genutzt wird, um existierende Dienste zu erweitern oder deren Betriebskosten zu
reduzieren.
[7] Caleido AG. Wuala - der sichere online-speicher. http://www.wuala.com,
Letzter Zugriff 3.6.2010. I
[8] Michael Christen. Dezentrale web-suche mit yacy. http://yacy.net,
Letzter Zugriff 3.6.2010. I
[9] Michael Corkery. Did EBay Make a Profit on Skype Or Not? The Wall
Street Journal, 01.09.2009. IV-B
[10] Souptik Datta, Kanishka Bhaduri, Chris Giannella, Ran Wolff, and Hillol
Kargupta. Distributed Data Mining in Peer-to-Peer Networks. IEEE
Internet Computing, 10(4):18–26, 2006. I
[11] Don Dodge. How Napster changed the world - A look back 7 years
later, 2007. http://dondodge.typepad.com. Letzter Zugriff 3.6.2010. I
[12] Schahram Dustdar and Harald Gall. Software-Architekturen für verteilte
Systeme: Prinzipien, Bausteine und Standardarchitekturen für moderne
Software. Xpert.press. Springer, Berlin, 2003. II
[13] eBAY Inc. Reports Third Quarter 2009 Results, 21.10.2009. IV-B
[14] David Ferguson. Trends and Statistics in Peer-to-Peer: Vice president
of Engineering, CacheLogic, 17.03.2006. I, 1
[15] Fraunhofer-Institut für Integrierte Schaltungen IIS (Hrsg.). 20 Jahre
Audiocodierung am Fraunhofer IIS. I
[16] Manfred Hauswirth and Schahram Dustdar. Peer-to-Peer: Grundlagen
und Architektur. Datenbank Spektrum, 13:5–13, 2005. II-A
[17] Jerald Hughes, Karl R. Lang, and Roumen Vragov. An analytical
framework for evaluating peer-to-peer business models. Electronic
Commerce Research and Applications, 7(1):105–118, 2008. IV-A
[18] ICQ LLC. Communicate and find new friends on icq. http://www.icq.
com, Letzter Zugriff 3.6.2010. I
[19] Infinity Ward Inc.
Call of duty: Modern warfare 2.
http://
modernwarfare2.infinityward.com, Letzter Zugriff 3.6.2010. I
[20] Nico Jurran. Filmportal in2movies stellt seinen Betrieb ein, 28.05.2008.
http://www.heise.de. Letzter Zugriff 3.6.2010. IV-B
[21] Peter Kollock. The Economies of Online Cooperation: Gifts and Public
Goods in Cyberspace. In Marc A. Smith and Peter Kollock, editors,
Communities in cyberspace, pages 220–239. Routledge, 1999. III
[22] Kontiki Inc. Kontiki enterprise video solutions. http://www.kontiki.com,
Letzter Zugriff 3.6.2010. I
[23] Stefan Krempl. Portal in2movies zielt auf Filmfreunde und PowerSauger, 12.04.2006. http://www.heise.de. Letzter Zugriff 3.6.2010. IV-B
[24] Jonathan Krim. Artists Break With Industry on File Sharing: Some
Musicians Say Web Services Can Be Valuable Means of Distribution.
Washington Post, page E05, 1.3.2005. IV-B
[25] Craig Labovitz, Danny McPherson, Scott Iekel-Johnson, Jon Oberheide,
Farnam Jahanian, and Manish Karir. ATLAS - Internet Observatory
2009 Annual Report: (NANOG47), 18.10.2009. 4
[26] Damian Fernandez Lamela, Kwan Hong Lee, and Mihai Lupu. Peerto-Peer Business Models: Term Paper: 15.358: The Software Business,
2006. I
[27] Jin Li. On peer-to-peer (P2P) content delivery. Peer-to-Peer Networking
and Applications, 1(1):45–63, 2008. I
[28] Nicolas Liebau, Konstantin Pussep, Kalman Graffi, Sebastian Kaune,
Eric Jahn, André Beyer, and Ralf Steinmetz. The Impact Of The P2P
Paradigm. In 13th Americas Conference on Information Systems (AMCIS
2007). AIS Electronic Library (AISeL), 2007. IV-B, IV-B, 5
[29] Lime Wire LLC. Limewire. http://www.limewire.com, Letzter Zugriff
3.6.2010. I
[30] Ian MacInnes and Junseok Hwang. Business Models for Peer to Peer
Initiatives: Research paper. In Joze Gricar and Andreja Pucihar, editors,
16th Bled Electronic Commerce Conference, pages 44–58, 2003. IV-A
[31] Kevin McGee and Jörgen Skågeby. Gifting Technologies. In Andy
Clarke, editor, 4th Conference on Computational Semiotics for Games
and New Media, pages 87–96, 2004. III
[32] Microsoft Corporation. Halo 3. http://halo.xbox.com/halo3, Letzter
Zugriff 3.6.2010. I
[33] Microsoft Corporation. Microsoft office groove 2007. http://office.
microsoft.com/groove, Letzter Zugriff 3.6.2010. I
[34] Dejan S. Milojicic, Vana Kalogeraki, Rajan Lukose, Kiran Nagaraja,
Jim Pruyne, Bruno Richard, Sami Rollins, and Zhichen Xu. Peer-toPeer Computing: HPL-2002-57 (R.1), 2003. 2
[35] Yury Namestnikov. Schattenwirtschaft Botnetz - ein Milliongeschäft für
Cybercriminelle, 2009. Kaspersky Lab. IV-B, 7, 8
[36] Alexander Osterwalder and Yves Pigneur. An eBusiness Model Ontology for Modeling e-Business. In Joze Gricar and Uros Hribar, editors,
15th Bled Electronic Commerce Conference, 2002. IV-A
[37] Markus Pilzweger. RIAA einigt sich außergerichtlich mit 64 P2PNutzern. PC Welt, 30.09.2003. IV-B
[38] Joseph Plambeck. Court Rules That File-Sharing Service Infringed
Copyrights. The New York Times, page B10, 12.05.2010. IV-B
L ITERATUR
[1] Apple Inc. ipaintball p2p multiplayer. http://itunes.apple.com/de/app/
ipaintball-p2p-multiplayer/id336552326, Letzter Zugriff 3.6.2010. I
[2] Matthias Bender, Steffen Kraus, Florian Kupsch, and et.al. Peer-to-PeerTechnologie für unternehmensweites und organisationsübergreifendes
Workflow-Management. In Peter Dadam and Manfred Reichert, editors,
Informatik 2004 - Informatik verbindet, volume 51 of Lecture Notes
in Informatics (LNI), pages 511–516. Gesellschaft für Informatik (GI),
2004. I
[3] Sudip Bhattacharjee, Ram D. Gopal, Kaveepan Lertwachara, James R.
Marsden, and Rahul Telang. The Effect of Digital Sharing Technologies
on Music Markets: A Survival Analysis of Albums on Ranking Charts.
Management Science, 53(9):1359–1374, 2007. IV-B
[4] Peter Biddle, Paul England, Marcus Peinado, and Bryan Willman. The
Darknet and the Future of Content Distribution. Levine’s Working Paper
Archive. 4
[5] BitTorrent Inc. Bittorrent. http://www.bittorrent.com, Letzter Zugriff
3.6.2010. I
[6] BSkyB Ltd. How does Sky use Kontiki’s secure peer-to-peer technology
to deliver shows to my PC?, 2010. http://www.sky.com. Letzter Zugriff
3.6.2010. IV-B
89
PEER-TO-PEER BUSINESS MODELS
[39] Recording Industry Association of America. Riaa - faq. http://riaa.com/
faq.php, Letzter Zugriff 3.6.2010. IV-B
[40] BPI Research & Information. The Impact of Illegal Downloading on
Music Purchasing, 2009. http://www.ifpi.org. Letzter Zugriff 3.6.2010.
IV-B
[41] Anthony Rose. Introducing BBC iPlayer Desktop for Mac, Linux
and PC: BBC Intenert Blog, 19.12.2008. http://www.bbc.co.uk. Letzter
Zugriff 3.6.2010. IV-B
[42] Janko Röttgers. Mix, Burn & R.I.P. Das Ende der Musikindustrie. Heinz
Heise, Hannover, 2003. I
[43] Gerhard Schewe.
Gabler Wirtschaftslexikon: Stichwort: AnreizBeitrags-Theorie (6. Version), 2010. III
[44] Clay Shirky. What Is P2P ... And What Isn’t, 2000. http://openp2p.com.
Letzter Zugriff 3.6.2010. II
[45] Stephen E. Siwek. The True Cost of Sound Recording Piracy to the
U.S. Economy, 2007. IPI Policy Report. IV-B
[46] Skype Limited. Skype. http://www.skype.com, Letzter Zugriff 3.6.2010.
I, IV-B
[47] Ralph H. Sprague, editor. Proceedings of the 41st Annual Hawaii
International Conference on System Sciences (HICSS ’08), Washington,
2008. IEEE Computer Society. II-B
[48] Sun Microsystems Inc. Jxta technology to create peer-to-peer (p2p)
applications. http://www.jxta.org, Letzter Zugriff 3.6.2010. I
[49] Eugen Thome. Parabon - Compute Against Cancer: Science@home.de,
2010. http://www.science-at-home.de, Letzter Zugriff 3.6.2010. IV-B
[50] Paul Timmers. Business Models for Electronic Markets. Electronic
Markets, 8(2):3–8, 1998. IV-A
[51] United States Court of Appeals, Ninth Circuit. A & M Records vs..
Napster Inc, 3.04.2001. I, IV-B
[52] Universität Berkeley. Seti@home. http://setiathome.berkeley.edu, Letzter Zugr. 3.6.2010. I
[53] Oliver Voß. Ebay verkauft Skype für knapp zwei Milliarden Dollar.
Wirtschaftswoche, 01.09.2009. IV-B
[54] Oliver Voß. Skype hat kein Geschäftsmodell: Erfolglose Ebay-Tochter.
Wirtschaftswoche, 15.04.2009. IV-B, IV-B
90
ANALYZING NETWORK CODING FOR SECURITY THREATS AND ATTACKS
Analyzing Network Coding for Security Threats
and Attacks
Benjamin Milde
verify Avalanche’s performance.
Abstract—Network coding is as a promising alternative to
traditional content distribution approaches in P2P networks. Its
key advantages are more efficient data delivery and its ability to
maintain resiliency with impatient and selfish agents. One of its
main problems however are Byzantine attacks, where malicious
peers can corrupt data to perform a DDoS. This work gives
an introduction to network coding theory, an overview of the
performance gains and resiliency that arise if network coding is
applied to P2P systems and contrasts different ideas to solve the
problem of Byzantine attacks that have emerged recently.
One of the major drawbacks of network coding in P2P
networks, is that special care has to be taken into account for
malicious nodes. An Byzantine [20] adversary may pretend to
forward packets, but instead modifies them so that they are
corrupted. Since packages are not only forwarded, but mixed
a single corrupted package can "infect" all the information
that is being passed from the source to the sinks [13]. In
order to understand the impact of this type of attack, a
deeper understanding of network coding in general and in
P2P systems is needed. The rest of the paper is organized
as follows: Section II describes network coding and briefly
introduces linear network coding. In Section III the advantages
of network coding in peer to peer systems are presented.
Section IV describes Byzantine attacks in network coding and
section V shows different countermeasures for this type of
attack.
I. I NTRODUCTION
Network coding has been originally proposed in information
theory [1] [19], but there is an ongoing process to apply it
to P2P network systems. The idea is to use the power of
network coding to improve resilience to peer dynamics in
P2P systems [22] and to increase performance in download
times [6].
In traditional networks, data is send in the form of
packets, that are forwarded from node to node. Different data
packets may share a resource and use the same path, but
the information that is contained in the packets is separated.
This is there network coding introduces a new paradigm:
data packets may be mixed into one or more packets, the
information is coded instead of just forwarded. Nodes can
now combine packets in such a way, that it is easier to
maximize the flow in a multicast network. In fact, it has been
proved [21] that linear coding usually suffices to achieve the
maximum rate in a multicast setting.
II. N ETWORK CODING
B A
A
S1
B
S1
S2
B
A
S2
A+B
T
T
A
B
A+
R1
R1
R2
B
A+
B
R2
(a) Both R1 and R2 want (b) With network coding,
to receive the packets A this can be done in one
time frame
and B in this network
According to max-flow min-cut theorem [23], the maximum
flow of a network with packets passing from one source to
a sink is equal to the amount of capacity that needs to be
removed in order to stop all flow from the source to the
sink. The proof from Li et al. [21] shows that with linear
network coding, the amount of capacity in the min-cut can
be achieved for a flow from one source to a group of sinks.
Thus, with the the max-flow min-cut theorem, this is the
maximum achievable rate for a multicast network.
B
A
S1
B
A
S2
T
A
A
B
A
R1
R2
(c) With normal routing,
only one of the end nodes
can get both packages in
one time frame
There are some results from practical attempts to apply
network coding to P2P network systems, namely the
Avalanche project from Microsoft 1 . In [6], [7] and [9] they
could present some of the practical benefits of a P2P network
with network coding. Unfortunately, up to this date, there is
no published software from Microsoft that can be used to
Fig. 1. The canonical simple example for network coding, a butterfly network.
The canonical example for network coding is a butterfly
network. Two nodes, S1 and S2 want to send to different
1 http://research.microsoft.com/en-us/projects/avalanche/default.aspx
91
ANALYZING NETWORK CODING FOR SECURITY THREATS AND ATTACKS
packets across a network as shown in figure 1(a). Both R1
and R2 want to receive both packages. 1(a)
so far as (g 1 , X 1 ), · · · , (g m , X m ), where (g k , X k ) is the
k-th information vector and encoding vector of the k-th packet.
Assume that in one time frame, S1 and S2 can send a
package to R1 or R2 . But every path can just be used once
in one time frame. It is easy to see that there is a bottleneck
in the middle of the network. With traditional routing, that is
no package can be altered they can just be forwarded, two
time frames must be used, as shown in figure 1(c). If we
refrain from the restriction, that packets cannot be altered,
the packets could be send in a more efficient way. The node
T could combine the information of A and B in such a way,
that then one of the end-nodes has already one package, the
other one can be calculated from the coded packet from T.
To compute a new packet (g 0 , X 0 ) the node picks then a
new set
coefficients, h = (h1 , · · · , hn ) and computes
X 0 as
Pof
Pm
m
0
i
0
0
X = i=1 hi X . Then, g is given by gi = j=1 hj gi j [5]
B. Decoding
A node receives at least n coded packages of the
form (g 1 , X 1 ), · · · , (g m , X m ), where (g k , X k ) is the k-th
information vector and encoding vector of the k-th
Pnpacket. The
node can built a set of linear equations {X j = i=1 gi j M i },
where the unknowns are theM i s.
In this simple example, the XOR operation could be used.
T computes A ⊕ B and forwards the coded package. Both R1
and R2 receives the same package A ⊕ B as seen in figure
1(b). They also receive A from S1 and B from S2 . R1 and
R2 now have to decode the coded package. Because a simple
XOR was used, R1 can easily decode B with (A ⊕ B) ⊕ A.
R2 can decode A in the same manner. If the packets are send
in this way, only one time frame is needed. So in this special
case, sending the packets with network coding is twice as
fast as with normal routing.
If one node received enough linear independent packets to
build at least n equations, all the original packets M 1 , · · · , M n
can be decoded uniquely simply by solving the equations.
C. Choosing coefficients
Two strategies exist. There is a deterministic polynomialtime algorithm for multicasting [24] that chooses the
coefficients for the nodes in such a way that there are no
collisions in the form of linear dependencies. Because the
coefficients are deterministic, no encoding vectors must be
transmitted. Every sink can compute it so that it can decode
the packages that are just the information vectors. This has
the advantage that this really gives the maximal achievable
throughput for the network, because only the information
vectors must be transfered.
A. Encoding
For linear network coding [21], that is used in practice, this
simple scheme is generalized. Linear coding over finite fields
are used, because the algorithms for coding and decoding
are well understood. 2s bits can be interpreted as a symbol
in the finite field 2 (also called Galois field) F2s . Let L be
the length of some packet. A packet is then divided into n
symbols of length L/n and the last symbol is filled with zero
bits if its length does not equal to L/n.
This comes with the price that nodes cannot easily join or
disconnect from the network. In order to retain full flexibility
to accommodate for changes in network topology, a second
scheme for choosing coefficients exists, that is called random
linear coding [12] [10].
A packet M i can have many symbols. Data can be defined
as a group of packages, M 1 , · · · , M n . The k-th symbol of M
is Mk . To clarify the next equations, the original data can now
be expressed as (M1 1 , · · · , Mm 1 ), · · · , (M1 n , · · · , Mm n ),
where (M1 i , · · · , Mm i ) = M i is the i-th package of the data.
Retaining flexibility to network topology changes is crucial
for a practical p2p system with network coding, because
nodes behave very dynamically in a practical p2p system and
are not reliable entities.
To keep things simple, assume that each encoded packet
has a coefficient vector assigned. This coefficient vector is
called encoding vector and is defined as g = (g1 , · · · , gn ) and
the information vector is X = (X1 , · · · , Xn ) [3] [5]
1) Random linear coding: In random linear coding, the
coefficients are chosen at random in a decentralized manner.
There is a proven lower bound on the success probability to
recover the original data if n coded packets have been received.
Pn
i
For the information vector X =
i=1 gi M one must
perform a summation for P
each symbol. Each of the Xk
n
i
are computed as Xk =
i=1 gi Mk . All additions and
multiplications are carried out in the chosen F2s
For example, the lower bound for the success probability
in a random linear network with 100 nodes with F28 is
0.868 [10]. The lower bound depends on the amount of nodes
in the system and the chosen finite field. If the chosen field is
bigger or if lesser nodes are in the network, the chance for a
linear dependency in the decoding phase becomes less likely.
So if one uses F216 instead in this example, the lower bound
for the success probability becomes 0.9995.
Encoding can also be done in a recursive manner, so that
new packets are generated out of a set of already received
packets. Suppose a node stores the m packets it received
2 http://mathworld.wolfram.com/FiniteField.html
92
ANALYZING NETWORK CODING FOR SECURITY THREATS AND ATTACKS
Choosing F216 instead of F28 comes at the cost that
operations are more costly. Another way to improve the
probability is that more than n packets can be send, so that
there is a compensate for collisions that could occur. In
random linear network coding, choosing the finite field F2s is
a trade off between computational complexity and throughput.
They attributed this observation to the tit-for-tat algorithm
and to the way a BitTorrent-like system tries to maximize
availability. When starting a download, a node has to search
rare packets first and has no good chances for cooperation,
because it has nothing to share and cannot cooperate. Over the
time it has more and more packets to share and can form good
cooperations that helps the node to download faster. In the end
it must search nodes that have the an exact copy of missing
file parts, so it is harder to form and maintain cooperations
that are useful and download speed decreases. A lot of the
overall time is spend in the begging and the end of a download.
III. A DVANTAGES OF N ETWORK CODING IN P2P S YSTEMS
BitTorrent, one of the most famous traditional peer to peer
systems, uses a modified version of a tit-for-tat algorithm
that is called optimistic unchoking [4]. In short, it rewards
cooperation and gives incentives to the user for uploading
with a higher bandwidth. Also, rare packets are downloaded
with priority to improve overall availability.
In a P2P network with network coding, there is no need
to increase availability by looking for rare parts of the
data. Nearly every new packet is unique and is valuable to
everyone. That means, that nodes can form cooperations
more easily, because nearly every packet they have can be
traded easily. A node has no need to search rare parts in the
beginning and when it completes its file, it does not need to
search the missing parts. [6]
When a peers upload capacity is full, peers that do not
cooperate are "choked" and the client tries to upload to a
(hopefully) more cooperative user instead. The goal is to
optimize the pareto efficiency: a node that is not cooperating
consumes upload capacity, but does not return download
speed in favor to the client. If two nodes cooperate, they
make a pareto improving move: both of the upload capacities
assigned to each other is helping each node to attain a higher
download speed.
800
/µ=0.5
/µ=1
700
/µ=1.5
Number of Peers
600
500
400
300
Fig. 3. Amount of time spent in each stage of the download when using a
network coding peer to peer system (simulated). Taken from [6]
200
100
0
0
10
20
30
40
50
60
70
Download Completedness(%)
80
90
Figure 3 illustrates this. Note the absence of an U-like
shape, overall performance can thus be improved then
compared to a traditional peer to peer system. [6] Because
every new packet is unique, the availability of the data
increases. As long as there are enough packets (n or more)
the data stays available. The network can recover itself even
in extreme situations, when no node has the complete file,
but only some fractions of it.
100
Fig. 2. "Peer distribution in the stable state, without the seeds departure
and the download peers aborting" from [8]. By varying parameters in the
simulation the severeness of the U-shape can be influenced, but the overall
situation remains the same: there is a big group of nodes struggling to start
or end a download in a BitTorrent-like file sharing system.
In [8], Tian et al. modeled and analyzed BitTorrent-like peer
to peer networks and how the tit-for-tat algorithm influences
the download times for each peer. Figure 2 demonstrates the
state of a stable system. In this system, no node aborts the
download and all nodes keep uploading as a seed after the
download has finished. They came to the conclusion that the
tit-for-tat algorithm gives such a system an U-like shape.
There are many more peers trying to begin the download
and many more peers that want to finish their download then
peers that are in the middle of the file transfer.
In [9] a very extreme example for this was created and
simulated, to show how a P2P network coding can make a very
robust system, how availability is attained when nodes are not
reliable and leave early. A model was created that compared
a stable system, there all nodes stay forever, to a system in
which the server leaves after serving the full file and every
node leaves after downloading the whole file. See figure 4
for experimental results. Even if nodes are very impatient and
selfish and leave early, as apposed to an optimal state there
nodes stay forever, performance and availability is on par to
the stable state. This is one of the key advantages of network
93
ANALYZING NETWORK CODING FOR SECURITY THREATS AND ATTACKS
with it.
This is no thread to traditional P2P systems, in the sense
that a corrupted package can be easily identified and verified
using traditional hash functions. But because information is
coded and mixed in network coding, simple hash functions
can not be applied to individual packets. They can be still
applied for a whole set of packets (for example the complete
data that should be transmitted). But then, the receiving nodes
can only decide in the end of the decoding process if the
data is not corrupted. If it decides that a corruption occurred,
this would mean that the node must download all the data
again, because it does not know which individual packets got
corrupted.
In [17], Luisa Lima et al. proved that for a P2P system with
network coding, even for a "small probability of attack the
system fails with overwhelming probability in the presence
of Byzantine adversaries". So in order to be of practical use,
the issue of Byzantine adversaries must be solved, otherwise
the advantages of network coding are outweighed by the fact
that traditional P2P network system are not prone to this type
of attack.
Fig. 4. "Finish times for 200 nodes using network coding when a) the server
stays for ever and b) when the server leaves after serving the full file. Nodes
arrive in batches of 40 nodes every 20 rounds. Nodes leave immediately after
downloading the file." Taken from [9]
coding.
That is why it is not surprising that attacks on network
coding in the presence of Byzantine adversaries is an
emerging field of research and numerous recent papers exist
that present different ideas how to solve this issue.
IV. B YZANTINE ATTACKS IN N ETWORK C ODING P2P
S YSTEMS
In a Byzantine attack, a malicious node is allowed to
interfere with the data. It can change or completely discard
data it should forward. A Byzantine adversary could also
introduce new packets, that are not part of the encoded
data. Since packages are not only forwarded, but mixed
and encoded a single corrupted package can "infect" all
the information that is being passed from the source to the
sinks. [13]
R1
X1
X2
Alice
R2
α 1 X1 � β1 Z
α2 X2 � β2 Z
X3
R3
Calvin
α3 X3 � β3 Z
V. C OUNTER MEASURES FOR B YZANTINE ATTACKS IN
NETWORK CODING
Quite different ideas have emerged to solve the issue of
Byzantine attacks in network coding. The proposals seem to
fall into this three board categories [16]:
A. End-to-end error correction schemes
Network Error Correction for Network Coding was
theoretically introduced in [25] and [2]. The idea is to
generalize existing point-to-point error correction codes, like
Bob hamming codes, to the multi-cast case by defining other
measures of distances that are useful for network coding.
Additional coded information needs to be transmitted that
helps the end-nodes to decide which data was corrupted.
There are proved bounds on the maximal achievable rates
when an Byzantine adversary is present.
Jaggie at al. introduced the first practical scheme. [14]
Their network codes are polynomial-time and distributed,
furthermore they are rate optimal because they achieve the
theoretic maximal bounds.
Fig. 5. An illustrating example for Byzantine Attacks in Network Coding,
taken from [13]. Alice transmits to Bob. Calvin injects corrupted packets into
their communication, corrupting all the information that is being send.
Figure 5 illustrates this with an easy example. Note that
even though Calvin did not exchange any packets with Alice
or Bob directly, he managed to corrupt the data that was being
send from Alice to Bob. The intermediate nodes between
Alice and Bob were tricked into thinking that the vector Z
is part of the communication and performed network coding
Let zo be the rate at which a Byzantine adversary injects
data into the system. C is the network capacity, it is the
maximal flow of the network (or the min-cut). The maximal
rate of C is only achievable without any interference. If the
nodes that perform the end-to-end error correction have a
94
ANALYZING NETWORK CODING FOR SECURITY THREATS AND ATTACKS
secret channel, an optimal rate of C − zo is achievable. [14]
packages can be examined and detected by every node, so
that corrupted packages are not forwarded. To be of practical
use, it must be computationally fast enough so that it is not
performance bottleneck in the network. This is especially true
for the verify operation in a scheme, since a possible practical
scheme would verify a package on every intermediate node.
This means that for an adversary that wants to corrupt all
the communication, as much corrupt data has to be injected
as there is normal data. This is very good and comparable to
a traditional packet routing system with error correction. But
it is impractical for peer to peer systems, because a secure
channel between each of the end points in the system is hard
to attain.
In [15], Kamal et al. propose a signature scheme for
network coding that is based on elliptic curves. The scheme is
quite complex and signatures on elliptic curves are generally
a bit computationally intense [18]. So this is a scheme that
works in theory, but then applied to peer to peer networks,
there massive data volumes could be exchanged, this remains
impractical. There are experimental results in [26] that show
doubtlessly that this is very time consuming.
Jaggie at al. also suggested a different scheme for a
setup in which there is no secret channel between the end
points. Then the optimal rate becomes C − 2zo [14]. This
means that if the majority of the nodes act healthy in
the system, then network error correction can still be useful
and can be applied to peer to peer system with network coding.
An interesting approach are homomorphic hash
functions [8]. This is because they are the siblings of
normal hash functions and could be used like hash functions
in traditional peer to peer networks. A hash function is a
function h(x), that usually maps a large input, say x, to a
much smaller input. To be useful in peer to peer networks,
the hash function should atleast satisfy the second preimage
resistance. That means, for any given x it should be hard to
find a x0 , so that h(x) = h(x0 ).
B. Generation-based Byzantine detection schemes
Generations are a parts of the data, for which the network
coding is done. On can split a large file into many independent
parts on which the encoding and decoding operations are
done. This parts are called generations. The most naive
approach against Byzantine adversaries would be to make
many small generations and use traditional hash functions
to detect changes in the data once the complete generation
can be decoded. Then, if a node detects corrupt data, it must
redownload only the affected generations, not the whole
file. This is not very optimal, but can be done with little
computational overhead. This would however sacrify some
of the advantageous properties of network coding, the better
availability can only be made possible in relation to one
generation.
An homomorphic hash function has an additional property:
For any original blocks bi with ∀i ∈ [1, n] the hash value of
any given linear combination b0 = c1 b1 + c2 b2 + · · · + cn bn
of the blocks is given by hc1 (b1 ) · hc2 (b2 ) · . . . · hcn (bn ) [8].
This allows the nodes to compute new hash values out of
already existing hash values. A node that generates new
coded packages out of already coded packages (recall the
part in section "Encoding" about recursive encoding) can thus
generate new packages with valid hash values easily. Every
node can check the validity of the packages it receives.
Ho et al. [11] introduced an informatic-theoretic approach
for detecting Byzantine adversaries in random linear network
coding, based on the assumption that the adversary does not
know all the linear combinations received by all sinks of the
network. A polynomial hash is added to each packet in the
generation. Once a node receives all necessary packets for a
generation, it can detect errors with some probabilistic error
margin. The detection probability can be varied by the length
of the hash, the field size, and the amount of information (the
linear combinations) that the adversary does not know.
The authors have given a concrete homomorphic hash
function. Let G = (r, q, g) be a set of parameters that are
needed for the hash function. r and q are some random prime
numbers so that q|(r − 1) holds. The length of r and q are
the security parameters for the system, for example 1024 bit
for r and 257 bit for q. The parameter g is a vector of m
numbers so that each of the elements of the vector can be
written as x(r−1)/q , where X ∈ Fq and x 6= 1 [8].
The advantages of this scheme are that the probability can
be traded by varying some parameters that also effect the
computational power needed for net work coding (for example
the field size). But it makes only sense in combination with
some other scheme, because errors could be still present in the
decoding phase of the generation and this scheme only detects
the errors probabilistically.
Then for a block bi = [bi 1 , bi 2 , · · · , bi n ], h(bi ) is defined
Qm
k
as: h(bi ) = k=1 gk bi . A hash value of an entire file is then
a vector over all the bi : H(F ) = (h(b1 ), h(b2 ), · · · , h(bn ))
[8]. The homomorphic property
Pn comes now into play:
For an encoded block e =
i=1 ci bi the hash value can
be computed from
thew
original
blocks by the following
Pn
equivalence: e ≡ i=1 hci (bi ) mod r
C. Packet-based Byzantine detection schemes
This scheme is very simple, but has several drawbacks. First,
all the computation needs to be done in Fq (where q is some
prime number) and not some finite field F2s (as discussed
in the section "Encoding"). This alone makes the decoding
Several ideas have been proposed to solve the issue
of Byzantine adversaries in network coding on a packet
basis. This has the advantage that corrupted or malicious
95
ANALYZING NETWORK CODING FOR SECURITY THREATS AND ATTACKS
and encoding in the network slower. Then, computing and
checking the hash values is a very slow process. For instance
the checking rates are approximately 300 Kbps on a 3 GHz
Pentium processor. Checking normal hash functions, like
SHA-1 can be done with 560 Mbps on the same computer! [8]
[10] T Ho, R Koetter, M Medard, and DR Karger. The benefits of coding
over routing in a randomized setting. International Symposium on
Information Theory, 2003. II-C, II-C1
[11] T Ho, B Leong, R Koetter, M Médard, and M Effros. Byzantine
modification detection in multicast networks with random network
coding. IEEE Transactions on Information Theory, 2008. V-B
[12] T Ho, M Médard, J Shi, M Effros, and DR Karger. On randomized
network coding. In Proceedings of 41st Annual Allerton Conference on
Communication, Control, and Computing, 2003. II-C
[13] S Jaggi, M Langberg, S Katti, T Ho, D Katabi, and M Medard.
Resilient network coding in the presence of byzantine adversaries. IEEE
INFOCOM 2007, 2007. I, IV, 5
[14] S Jaggi, M Langberg, S Katti, T Ho, D Katabi, and M Medard.
Resilient network coding in the presence of byzantine adversaries. IEEE
INFOCOM 2007, 2007. V-A
[15] DC Kamal, D Charles, K Jain, and K Lauter. Signatures for network
coding. In Proceedings of the fortieth . . . , 2006. V-C
[16] Minji Kim, Luisa Lima, Fang Zhao, and Muriel M. On Counteracting
Byzantine Attacks in Network Coded Peer-to-Peer Networks. Information Sciences, pages 1–11, 2010. V, V-C
[17] MJ Kim, L Lima, F Zhao, J Barros, and M Médard. On Counteracting
Byzantine Attacks in Network Coded Peer-to-Peer Networks. Arxiv
preprint arXiv, 2009. IV
[18] N Koblitz, A Menezes, and S Vanstone. The state of elliptic curve
cryptography. Designs, Codes and Cryptography, 2000. V-C
[19] R Koetter and M Médard. Beyond routing: An algebraic approach to
network coding. IEEE INFOCOM, 2002. I
[20] L Lamport, R Shostak, and M Pease. The Byzantine generals problem.
ACM Transactions on Programming Languages and Systems, 1982. I
[21] SYR Li, RW Yeung, and N Cai. Linear network coding. IEEE
Transactions on Information Theory, 2003. I, II-A
[22] D Niu. On the Resilience of Network Coding in Peer-to-Peer Networks
and its Applications. 2009. I
[23] Christos H. Papadimitriou and Kenneth Steiglitz. Combinatorial optimization: algorithms and complexity p.117-120, The Max-Flow, Min-Cut
Theorem. Courier Dover Publications, 1998. I
[24] P Sanders, S Egner, and L Tolhuizen. Polynomial time algorithms for
network information flow. Proceedings of the fifteenth annual ACM
symposium on Parallel algorithms and architectures, 2003. II-C
[25] RW Yeung and N Cai. Network error correction, part I: Basic concepts
and upper bounds. Communications in Information and Systems, 2006.
V-A
[26] Z Yu, Y Wei, B Ramkumar, and Y Guan. An efficient signaturebased scheme for securing network coding against pollution attacks.
Proceedings of IEEE INFOCOM, 2008. V-C
Thus, for now homomorphic hash functions are also of
theoretic nature and can’t be used to solve the issue of
Byzantine attacks in network coding for now.
In [16], a new signature scheme is proposed that is based
on the Diffie-Hellman problem and also works on a packet
basis. They have proven that their scheme is the most
bandwidth effective and stated that it is thus superior to other
schemes. No concrete numbers are given for how intensive
the computational part is, but chances are, since they also
using modulo-arithmetic and exponentiation that it is also to
expensive for most of todays computers to be of practical
use.
VI. C ONCLUSION AND F UTURE W ORK
This work has shown that network coding in peer to peer
networks has some interesting and advantageous properties
that could make peer to peer networks more robust in regards
to file availability and could increase download performance
for all participants. However, with network coding the thread
of Byzantine adversaries is introduced. There are many
proposals, many of them have their own short comings. Most
of them are simply to slow to be used in practice and would
annihilate the performance advantages of network coding.
Further research should be focused on solving the
Byzantine issue in network coding, desirable would be a
simple non-probabilistic scheme that is also practical and fast
on todays computers. Eventually this could make network
coding a foothold in todays practical peer to peer networks.
As of today, network coding remains an interesting concept
in theory.
R EFERENCES
[1] R Ahlswede, N Cai, SYR Li, and RW Yeung. Network information
flow. IEEE Transactions on Information Theory, 2000. I
[2] N Cai and RW Yeung. Network error correction, part II: Lower bounds.
Communications in Information and Systems, 2006. V-A
[3] PA Chou, Y Wu, and K Jain. Practical network coding. Annual Allerton
Conference on Communication Control and Computing, 2003. II-A
[4] Bram Cohen. Incentives Build Robustness in BitTorrent. 2003. III
[5] C Fragouli, J Le Boudec, and J Widmer. Network coding: An instant
primer. Computer Communication Review, 2006. II-A
[6] C Gkantsidis, J Miller, and P Rodriguez. Anatomy of a p2p content distribution system with network coding. The 5th International Workshop
on Peer-to-Peer Systems, 2006. I, III, 3, III
[7] C Gkantsidis, J Miller, and P Rodriguez. Comprehensive view of a live
network coding P2P system. Proceedings of the 6th ACM SIGCOMM
on Internet measurement, 2006. I
[8] C Gkantsidis and P Rodriguez. Cooperative security for network coding
file distribution. IEEE INFOCOM, 2006. 2, III, V-C
[9] C Gkantsidis and PR Rodriguez. Network coding for large scale content
distribution. Proceedings IEEE INFOCOM 2005, 2005. I, III, 4
96
CURRENT RESEARCH ON TWITTER
Current Research on Twitter
Philipp Neubrand
Influence and Ranking contains all papers analyzing various forms of influence within Twitter and techniques to rank
users based on their influence. This category was introduced
as measuring influence is a very popular field of research. In
addition, ranking users is a common task in most advanced
research, be it to single out the most influential user to have
your advertisement spread or to find ways of communication
with parts of the population in emergency situations.
Social Interaction covers all papers that take a closer look
on the social interaction between users inside OSNs. Papers
investigating the motives for using OSNs are also listed here,
as the why can reveal a lot about the how.
Emergency Use handles papers analyzing the use of Twitter
in mass emergency situations. Both past use of Twitter during
such situations as well as prospects of future use are discussed.
The rest of the paper is structured as follows: In section
II the technical vocabulary will be introduced. Section III
contains the papers in the category Influence and Ranking
while section IV contains all those in the category Social
Interaction. After that, section V covers all papers of the
category Emergency Use. In section VI we conclude this paper
with a brief forecast on future areas of research surrounding
Twitter.
Abstract—This paper will give an overview about the current
research on Twitter. While all Online Social Networks (OSN)
have grown in the last years, Twitter is of special importance,
due to its unique characteristics: The 140 character limited, fast
paced tweeting and the number of users. As Facebook has similar
features and is very popular in the US, some papers on Facebook
that cover these features are also included. The papers in this
work will be categorized based on the attributes of OSNs that
they assess, forming three major groups: 1) influence 2) social
interaction between users 3) use of OSNs during emergencies or
disasters.
I. I NTRODUCTION
Online Social Networks (OSNs) have become more and
more interesting as the number of internet users has exploded.
With the number of potential users growing by a factor of
5 since the beginning of the century, shooting from about
360 million in 2000 up to over 1,800 million in April 20101 ,
the scope of any internet project has widened. When only a
few percent of the population were interconnected in 2000,
the internet users were mainly computer affine people and it
was used to work and play. By now, over 25% of the world
population are using the internet across all social levels. As the
user base widened not only in size but in variety, Online Social
Networks (OSNs) got a lot of attention from the scientific
community across the world [5] [24] [4] [8] [18] [22].
Among the most studied attributes of OSNs are the social
networks they create and how people interact within it. This
is particularly interesting for marketing. Understanding the
network and the motives for OSN usage is an obvious concern
of most OSN founders. Lately, the use of OSNs during
emergency situations got a lot of attention as it offers the
possibility of integrating the information of many people. In
addition, programs that build on top of OSNs use various
and sometimes only assumed attributes of the OSNs they are
based on. Examples are SybilGuard [27] or Reliable EMail [6].
Proofing, disproofing or providing means of changing these
attributes can change the functionality of the applications.
In this paper, the current work on Twitter will be presented
and categorized. In addition, some papers on Facebook are
included if they cover related or for Twitter relevant topics.
Twitter was picked as the main focus of this work as it is
one of the biggest OSNs currently deployed with over 100
million signed up users2 . It also provides a unique way of
communication, the so called microblogging or tweeting.
The proposed categories are based on the aspects of Twitter
that are analyzed:
II. T WITTERS TECHNICAL VOCABULARY
Microblogging in Twitter comes along with some conventions and a specific technical vocabulary. In the following, the
parts of the vocabulary relevant for this work will be listed.
• A tweet is a short message in Twitter, containing a
maximum of 140 characters.
• If user A follows another user B, A will automatically
receive all tweets of B.
• A followee or followed is a user that is being followed
by another user. The followees of a user are the users he
is following.
• A hashtag is a word in a Tweet that is meant as
information about the content of that tweet. This metainformation is marked by a single "#" in front of the word,
either inline or appended. For example, "#TUD" would
indicate a connection of the tweet to the TU Darmstadt.
• A reference is a link to another Twitter user, signaled by
an "@" in front of his/her name. For example, "@Flipp"
is a reference to the user named Flipp.
• A retweet is a message that was not created by the sender
but that is being forwarded. Usually the original author is
tributed with a reference ("RT @Flipp") and the message
itself is not altered but only shortened if needed. However,
a variety of notations are used to signal retweets: "via
@[username]", "RT" (without a username) or even just
repeating the Tweet without appending the "RT" flag. For
further details see [2].
1 http://www.internetworldstats.com/stats.htm
2 http://economictimes.indiatimes.com/infotech/internet/
Twitter-snags-over-100-million-users-eyes-money-making/articleshow/
5808927.cms
97
CURRENT RESEARCH ON TWITTER
III. I NFLUENCE AND R ANKING
probability of a random surfer to traverse an edge in TwitterRank is topic specific. Thereby a topic-specific relationship
network is constructed, which is a subset of the complete
Twitter network. This extension to PageRank means that the
influence of a user on another users depends on the number
of tweets he sends and the topic similarity of both. By
aggregating all the TwitterRanks the overall influence of a user
can be measured.
In the last part the authors compare the most influential users
found by their algorithm to the ones found by the traditional
In-degree approach and to an unaltered PageRank algorithm.
They show that their listing is different from the other two. In a
performance test they then apply the Twitter recommendation
algorithm (that is selecting users to be recommended for
following) to their ranking and show that their ranking yields
consistently better results although the difference is only
marginal. This is to be expected, as as neither In-degree nor
the traditional PageRank factor in similar interests.
This section contains all papers that analyze the influence in Twitter or Facebook. Most papers that analyze how
influence can be measured introduce some way of ranking
users according to their metric. However, the definition of
influence, while not a new concept, is quite controversial
in the scientific community. This is being reflected by a
broad overview about the ranking techniques currently under
discussion. Unlike Googles PageRank for websites, there is no
established ranking algorithm for Twitter users as of yet.
Identifying influential users is a very important task as it is
the basis for most advanced research. It is important no matter
if you are advertising or trying to save lives in an emergency.
W HAT IS T WITTER , A S OCIAL N ETWORK OR A N EWS
M EDIA ? [16]
Haewoon Kwak et al. analyze the overlay network of Twitter. As following is a directed action, the Twitter network itself
is unidirectional or directed. The structure of this network is
different from the expectations. While the follower distribution
below 1000 followers follows a power law, the news character
leads to a lower average path length than expected. In addition,
for those normal users below 1000 followers most followers
are geographically close and the connections are homophil.
However, this pattern is obstructed by the accounts with a
lot more than 1000 followers, namely celebrities and news
accounts which have followers from all around the world.
After that, the authors take a closer look on various ranking
techniques. They compare PageRank, ranking by number of
followers and ranking by number of retweets to eachother
without spotting a best or worst approach. The authors do
point out that especially ranking by retweet shows the rise of
alternative media in Twitter.
At the end they take a closer look on conversations within
Twitter. Matching the contents of tweets to topics of major
news websites, the authors show that there is a high overlap
between them, but topics usually stay active in Twitter even
after they are dropped from the news. The second aspect of
conversations in Twitter, retweets, gets examined aswell. It
is shown that once a Tweet starts spreading via retweeting,
it will reach a certain amount of people no matter how
many followers the original author has. While not offering
a detailed explanation for this phenomenon, the authors imply
that selected individuals have the power of dictating what is
being retweeted and what not.
M EASURING U SER I NFLUENCE IN T WITTER : T HE M ILLION
F OLLOWER FALLACY [3]
Cha et. al. take a closer look at the way people are
influenced in Twitter: They distinguish between the popularity
(the indegree), the content value (number of retweets) and
the name value (number of mentions) of a user. These are
vastly different as a popular user (like a celebrity) does not
necessarily produce the most valued content. In addition, the
most retweeted users are often news broadcasters that get their
interesting or important news retweeted, while mentions usually emerge through continuous conversations. This explains
why the popularity does not map to both the content and the
name value of a user, meaning that those are in fact three
different types of influence.
After having established those different definitions of influence, the authors analyze if influence is limited to one
topic. They show that especially the news authorities do have
influence about a variety of topics but even ordinary people
can achieve that. In the end the authors suggest a way of
achieving influence: post interesting and creative tweets on
selected topics that get retweeted and engage in conversations.
F INDING I NFLUENTIALS BASED ON T EMPORAL O RDER OF
A DOPTION IN T WITTER [17]
Lee et. al. look into the task of finding the most influential
individuals within a Twitter conversation. While the first
approach would be just to just check the number of followers
of a user, the authors postulate a more sophisticated ranking
based on the chronological order of tweets: The idea being that
early tweets have much more influence on the conversation
than later ones.
To quantify this definition of influence, the authors introduce
the effective readers for every tweet, which is defined as the
number of people that hear about that specific topic the first
time via this very tweet. While this is in some way linked to
the number of followers, the later a tweet happens the lower
the number of effective readers will be, no matter how many
followers someone has.
T WITTER R ANK : F INDING T OPIC - SENSITIVE INFLUENTIALS
IN T WITTER [25]
Weng et. el. analyze how influential Twitter users can be
identified. First they inspect the usual way of determinating
a users influence based on the number of followers. As this
approach would be meaningless if the following relation is
random, it is first shown that users following each other are
more likely to have the same interests. This would not be the
case if the relations would just be random.
Next the authors introduce a more refined approach of
ranking users, called TwitterRank. Based on PageRank the
98
CURRENT RESEARCH ON TWITTER
This ranking technique is unique in that it identifies other
people as influential than ranking by # followers or PageRank.
The authors state that while the ranking does work, there
is some room for improvement and that they will add some
additional considerations in the future. While celebrity Ashton
Kutcher leads both traditional rankings (#followers and PageRank), Pete Cashmore, a newswrite on social media, leads the
effective readers ranking.
than followees) or the same equation but with all repricoral
(2-way) links removed. Taking PageRank as an example the
authors show that influencing this metric is hardly possible
and that it would in fact improve a ranking.
Then 50 spammer accounts (by checking their bio information and the average follower/followee count as well as their
usual conversations) and about the same number of aggressive
marketing accounts (legit but "spammy" marketing accounts)
are identified by hand and their place in the rankings is determined. PageRank, HITS and NodeRank all rank spammers
and marketeers about equally high (50% in the top 10% to
20% of the ranks) with TunkRank only rating spammers high
and marketeers average among the users. TwitterRank only
gives low prestige to both spammers and marketeers while at
the same time ranking spammers very high (90% in the top
30% of users). The author explains that prestige is distributed
mainly between the top 25 accounts, that get more than 95% of
the available prestige. The tweaked PageRank gets very mixed
results as it puts about 40% of the spammers in a bin with
nearly zero prestige but at the same time ranks the remaining
60% in the top 10% of users.
The authors conclude that you can tamper with the currently
used PageRank, for example by link spamming. NodeRank
has the same problem as it is closely related to PageRank.
TwitterRank is probably not suited for global ranking as it
was initially designed for local analysis and is computation
intensive on a global scale. TunkRank on the other hand does
outperform all other algorithms and is therefore recommended.
At the end they try to explain the complex behavior of
the tweaked PageRank. For once, most of the users receive
virtually no prestige by this ranking. Considering that most of
the users do not contribute, this is expected (see participation
inequality [9]. On the other hand the top positions for the
tweaked PageRank are a lot different from the top positions
of most other rankings. This is explained by how the weights
are introduced into the PageRank algorithm: A user is not
affected by its own ratio but by the ratio of his followers.
Being linked to famous users with a high ratio leads to a high
score which then means a high position. The authors use the
term giant shoulder phenomenon, as lesser popular users are
carried to higher positions by popular ones.
N EPOTISTIC R ELATIONSHIPS IN T WITTER AND THEIR
I MPACT ON R ANK P RESTIGE A LGORITHMS [7]
Avello et. al. explore the impact of spammers on various
ranking algorithms and introduce means to desensitize ranking
algorithms to their presence: An in this way altered algorithm
would rank spammers low, eliminating the need of detecting
and removing them before ranking. At first, the compared
algorithms are introduced: PageRank [19], Hyperlink-Induced
Topic Search (HITS) [14], NodeRank [20], TunkRank3 and
TwitterRank [25] and known weaknesses of both PageRank
and HITS [1] are mentioned.
HITS is not intended to be applied to the whole internet but
is instead meant to be applied to the result of a search query.
It is based on the assumption, that there are two different
types of documents: pages with a high count of incoming and
pages with a lot of outgoing links. This leads to two different
scores being awarded, the authoritive and the hub score. The
authoritive score is the sum of the hub scores of all pages
linking to a page and the hub score is the sum of the authoritive
scores of all pages a page links to. If the scores are normalized
in-between passes, the ranking converges after a few iterations.
NodeRank uses the PageRank approach to ranking web
pages but was modified to work on weighted graphs. In
addition, the damping/teleportation parameter is not fixed for
the whole algorithm and network. This parameter reduces the
ranking a bit, accomodating for the fact that the random surfer,
which is the main idea of PageRank, will at some point stop
browsing. In NodeRank the factor depends on the number
of outgoing connections of the current node. By this, the
algorithm can adapt to different topologies within a network.
In comparison to the two rankings above, TunkRank was
designed to rank users in Twitter. It defines influence as the
number of people that will read a tweet. The calculation is
performed recursively based on two assumptions: 1) every user
pays the same attention to all the people they are following,
i.e. the chance of a tweet being read is 1 / # of followees; 2)
if a user reads a tweet, there is a constant probability for a
retweet. The influence is then calculated as the probability of a
read by its followers plus the probability that a retweet occurs
and is read, and so on. The drawback of TunkRank is that the
retweet probability needs to be rather low, as otherwise cycles
in the recursion may occur and thus the calculation does not
converge.
Next a way to desensitize a ranking algorithm to spammers
is introduced: A paradoxical discounted ratio is proposed, that
can be used as a weight in any given algorithm. This ratio for a
user is either followers/followees (if a user has more followers
IV. S OCIAL I NTERACTION
Collected in the next section are all papers analyzing various
aspects of social interaction in OSNs including motives for
using OSNs. This is in fact a very broad area of research,
that could be broken down further in future work, as papers
analyzing the motivations and habits of people using OSNs
are mixed with papers analyzing the pure social interaction.
"L OOKING AT ", "L OOKING UP " OR "K EEPING UP WITH "
P EOPLE ? M OTIVES AND U SES OF FACEBOOK [13]
Joinson looks into the motives for using Facebook. Even
though the author does not analyze Twitter, the motives for
using various OSNs are most likely pretty similar. The conclusions and findings in this paper about Facebook are therefore,
at least to some extent, applicable to Twitter as well. The
3 http://thenoisychannel.com/2009/01/13/a-twitter-analog-to-pagerank/
99
CURRENT RESEARCH ON TWITTER
author conducted a study among Facebook users to identify
the main reasons, the so called factors, for using Facebook
and lists 7 of them: Keeping in touch, Passive contact, social surveillance, Re-acquiring lost contacts, Communication,
Photographs, Design related (using Facebook because its ease
of use), Perpetual contact (seeing another users status) and
Making new contacts. In addition he introduces up to 8 loads
per factor, that describe it even further. For example the first
factor, Keeping in touch has the load Finding out what old
friends are doing now.
Next he matches the factors/loads to the demographics of
the participants and establishs a model to predict the average
frequency of facebook use as well as the duration of each
visit based on these factors. He finds that gender and age
are the most determining factors for both frequency and time
spent and that the different factors come with different implications for frequency and time. Females visit more often while
younger people spend more time. All in all, your demographics
and the motivation for your use of Facebook allow predictions
for both how often and how long you will use Facebook.
At the end the author matches the motives against the
privacy settings of users and concludes that wanting to meet
new people is the first reason to lower the privacy level.
W HY WE T WITTER : U NDERSTANDING M ICROBLOGGING
U SAGE AND C OMMUNITIES [12]
Java et. al. try to answer two questions: Why do we Twitter?
and How do we Twitter?. In addition, the authors give a brief
overview about who twitters and explain that while originally
launched in the US, Twitter became fairly popular in Europe
and Asia as well. Even though, friendships are more likely to
be intra continental and between geographically close people.
They then introduce three categories of user relationship:
information-sharing (having a lot of followers but only following a few), information-seeking (following many but being
only followed by a few) and friendship-wise (having an equal
number of followers and followees). Considering only the last
category, the authors identify certain communities that are
formed in Twitter. These communities show a dense network
of friendship relations while only having scarce relations
with other people. Communities mostly form around similar
interests.
Finally the authors analyze what people talk about in Twitter
throughout the week. Not surprisingly, the biggest topic is
Daily Chatter, followed by Conversations.
A F EW C HIRPS A BOUT T WITTER [15]
Krishnamurthy et. al. describe the twitter network as well
as its users. They identify three different categories of Twitter
users, namely broadcasters with a big number of followees,
acquaintances with roughly even numbers of followers and
followees and miscreants/evangelists with a much larger number of people they are following. The first category mostly
consists of news agencies and celebrities, the second one
is the biggest as it contains most normal users. The last
category is populated by spammers. They then analyze the
tweeting behavior and find that broadcasters indeed tweet a lot,
acquaintances have conversations and spammers do not chat
a lot. In addition, most tweets are entered through the web
interface, followed by mobile devices and instant messengers.
At the end the authors take a quick look at the popularity
of Twitter in different geographical regions, identified by
timezones. They show that Twitter has most users in the
US followed by Europe and Japan and that the growth in
all regions does slow down after a first surge at the very
beginning.
U SER INTERACTION IN SOCIAL NETWORKS AND THEIR
IMPLICATIONS [26]
Wilson et. al. explore whether ordinary links in Facebook
are in fact friend relationships and if those links are all equal.
As this is a question that is relevant for all OSNs (be it
Facebook, Twitter or Flickr), the conclusions drawn here are
probably applicable to other OSNs as well. To answer this
question they take a closer look on the interaction between
friends and show that most of the interaction (>70%) happens
among a small subset (<20%) of declared friends. Further,
about 40% of declared friends are not interacting at all. They
conclude that not every link is equal and that only a subset
of them actually represent a real relationship. To further prove
their point they examine the wall posts and photo comments in
Facebook and show that only 1% of the users are responsible
for 20% of the wall posts and another 1% of the users are
responsible for 40% of the photo comments. Thus, a small
group of very active users opposes a rather big group of not
so active ones and therefore the links have to be different.
Correlating the amount of connections to the percentage of
interaction the authors show that 50% of all interactions are
done by only 10% of the users and nearly 100% of interactions
are done by about 50% of the users.
After showing that the social graph does not represent active
social relationships, the authors introduce their approach of
representing user relationships: the interaction graph. In this
graph users only get connected if they actively interact with
each other rather than just get linked. More formally, the graph
specifies a interaction rate threshold (n interactions in t time)
which has to be surpassed to get connected. After evaluating
different values for n and t, the authors chose n >= 1 and a
varying t at 2 month, 6 month, 12 month and lifetime.
In a next step they then compare those five graphs (one
social network graph and four interaction graphs with different
t) to each other using various graph metrics. The interaction
graphs actually follow a power-law scaling more precisely
(having a lower fitting error) but have a lower clustering and
longer paths. They remain small-world graphs.
In the last chapter the authors evaluate the meaning of their
interaction graph to applications that use OSNs (or graphs
generated by OSNs), namely Reliable Email (an OSN based
anti-spam system) and SybilGuard (guarding distributed applications against Sybil attacks where an attacker introduces a
certain number of controlled nodes to influence the distributed
application). They show that while RE would work significantly better with an interaction graph, SybilGuard would drop
in efficiency.
100
CURRENT RESEARCH ON TWITTER
S OCIAL NETWORKS THAT MATTER : T WITTER UNDER THE
MICROSCOPE [10]
V. E MERGENCY U SE
Huberman et. al. take a closer look into the way people
connect in Twitter: Following and being followed. As you
do not need to accept anyone that wants to follow you, the
maintenance of this relationship is rather small. They then ask
if the relationship means something.
To answer this question they compare the number of followers to the number of friends (by their definition anyone
a user has mentioned at least two times) and they show that
even with this weak definition of friendship the dense network
of followers gets thinned out a lot: No one has more friends
than followers and most people have lass then 10% of their
followers as friends.
The authors conclude that a link between two people does
not necessarily mean that they are friends and that therefore
it should not be viewed as this.
T WEET, T WEET, R ETWEET: C ONVERSATIONAL A SPECTS
OF R ETWEETING ON T WITTER [2]
Boyd et. al. analyze the use of retweeting in Twitter, in
particular how, why and what people retweet. First they note,
that while there are conventions about retweeting those are
interpreted in different ways by different users. People may
or may not attribute the original author or even introduce
their own convention that signals a retweet. In addition,
commenting on the original Tweets messes the conventions
up even more and nested retweets are not supported by any
convention so far.
In the next section the shortening of long tweets is examined. As the convention for retweeting is to insert additional
characters into the tweet, long tweets need to be shortened to
fit into the 140 character limit. The authors identify two types
of shortening behavior: Preservers only shorten words and
remove punctuation, while preserving the content and most
of the message while Adapters remove whole words or even
rephrase the tweet. They conclude that even though messages
are altered and striped down to where you can barely read and
understand them, the original meaning is preserved in retweets.
Next the motivations behind retweeting are examined. After
evaluating the answers of regular Twitter users being asked
why they retweet, the authors list 10 motivations: Spreading
tweets, Informing others, Commenting, To show that you are
listening, Agreeing, Validating, Helping less popular people/topics, Gaining followers or reciprocity and Saving Tweets
(as they will show up on your own profile after being retweeted
rather than on someone else’s).
The authors then take a look on what people actually
retweet. The reason for retweeting obviously influences what
you are retweeting but common elements can be found.
Breaking news get retweeted as well as otherwise interesting
tweets (for someones followees). Interestingly various calls for
social action get retweeted as well: calls to raise money but
also calls to get a message out (as happened when George
Tiller was murdered, people retweeted the message until it
showed up as a current Trend).
Paper in this category deal with Twitter in emergency
situations. A great variety of information is spread via Twitter
in emergency situations, ranging from personal status updates
(I am fine...) to circumstantial information I can see the fires
burning three miles east. This leads to the rather different
tasks of not only identifying reliable source but also recognizing important information and parsing this information. In
addition, Twitter can be used as a way to get the message
out to people, as important information gets spread rather fast
via Twitter. This is where Twitter is unique: it provides fast
communication and supplies a back channel for information
flowing from the field into the command.
PASS I T O N ?: R ETWEETING IN M ASS E MERGENCY [21]
Starbird and Palen examine the phenomenon retweeting in
Twitter. This convention allows Twitterers to forward information they receive via Twitter to their followers. Usually the
original author is tributed by mentioning his name and by only
tweaking the tweet in length.
This form of influence is only loosely dependent on the social network and allows a more precise classification of tweets:
In an emergency situation important tweets are retweeted more
often than unimportant ones. Furthermore, tweets by official
accounts (like radio stations/newspapers) or by accounts just
created for this situation are more likely to be retweeted. This
implies that independent of your original number of followers,
your message will get broadcasted if it is important enough.
The locality of a user to an emergency allows another
distinction: If he is affected by it, f.e. by living in an affected
region, he will forward tweets that contain information that is
important for other local users, like locations of evacuation
centers. If he is not local he will forward more newslike
information, for example pictures and overviews.
The authors of the paper introduce the number of retweets
as a filter mechanism for important information. If a tweet is
forwarded by different people it is more important than if it
just vanishes.
M ICROBLOGGING D URING T WO NATURAL H AZARDS
E VENTS : W HAT T WITTER M AY C ONTRIBUTE TO
S ITUATIONAL AWARENESS [23]
Vieweg et. al examine the usage of Twitter during two
natural hazard situation in the USA with regard to how
those tweets can enhance the situational awareness of first
responders. The term situational awareness is used to describe
the ability of seeing all aspects of a situation rather than
only a piece of it. The authors propose that by including the
information available via Twitter the situational awareness can
be improved.
In the two analyzed situations, namely the Red River Crest
and the Oklahoma Grassfires, both 2010, a lot of local people
broadcasted so called situational updates: various information
about the current situation from water heights to shelter
locations. The authors then read through all of the messages
and categorized them by their content: If a tweet contained
the name of a highway it was tagged as Road Condition, if
101
CURRENT RESEARCH ON TWITTER
it contained information about injuries or some type of damages it was labeled as Damage/Injuries. Ten basic categories
were identified: Preparation, Warning, Response to Warning,
Hazards Location, Other Environmental Conditions, Advice,
Evacuation, Sheltering, Animal Management and Damage and
Injury reports. The authors hope that these categories can
be automatically assigned in the future maybe as a basis for
automated content extraction.
T WITTER A DOPTION AND U SE IN M ASS C ONVERGENCE
AND E MERGENCY E VENTS [11]
Hughes and Palen attempt a descriptive analysis of Twitter
usage during two emergencies, namely the two hurricanes
Gustav and Ike, and two national security events, namely the
Democratic and Republic National Council (all 2008). The
tweets regarding these events are compared to all the tweets
of that time to detect patterns in non-routine Twitter usage.
The authors point out that the percentage of users with
a specific amount of tweets in the conversation is constant
even though the number of involved users varies. In addition,
the tweets surrounding the events contain less replies and
more URLs than average, making them less private and more
informative.
The authors postulate that around special events information
brokers emerge with the majority of people just consuming the
information those brokers spread.
VI. C ONCLUSION AND F UTURE W ORK
The paper has given an overview about the current research
on Twitter and has categorized this research. The current
focus of research is the social interaction in Twitter and
ways to rank and formalize this interaction. While a lot of
ranking algorithms have been introduced, as of yet there is no
established ranking similar to Googles PageRank for websites.
Complicating matters, there is no easy way of determinating
the quality of a ranking algorithm for Twitter users as the best
possible ranking is a controversial topic in itself. Finding and
establishing a ranking will be a challenge.
In addition, another field of research is emerging: The
use of Twitter in emergency or non-routine situations. While
this is still mostly descriptive analysis of past use, some
efforts are undertaken to show how Twitter can be used
in future emergencies to help both the government and the
affected population. This includes early drafts of automated
data mining from Twitter as well as exploration of how people
can be informed via Twitter. All the research in this field is in
a very early stage and while most of the time only ideas are
elaborated, using Twitter in a real emergency situation seems
to be the next logical step.
While this survey was limited to exploring research about
Twitter and related topics, there are a great variety of other
OSNs being researched: Facebook [24], Flickr [8], even
Youtube [4], each with its own interesting features. In addition,
as this paper is getting finished, new research about Twitter is
being published.
R EFERENCES
[1] Krishna Bharat and Monika R. Henzinger. Improved algorithms for topic
distillation in a hyperlinked environment. In SIGIR ’98: Proceedings of
the 21st annual international ACM SIGIR conference on Research and
development in information retrieval, pages 104–111, New York, NY,
USA, 1998. ACM. III
[2] Danah Boyd, Scott Golder, and Gilad Lotan. Tweet, tweet, retweet: Conversational aspects of retweeting on twitter. In HICSS ’10: Proceedings
of the 2010 43rd Hawaii International Conference on System Sciences,
pages 1–10, Washington, DC, USA, 2010. IEEE Computer Society. II,
IV
[3] Meeyoung Cha, Hamed Haddadi, Fabricio Benevenuto, and Krishna P.
Gummadi. Measuring User Influence in Twitter: The Million Follower
Fallacy. In In Proceedings of the 4th International AAAI Conference
on Weblogs and Social Media (ICWSM), Washington DC, USA, May
2010. III
[4] Meeyoung Cha, Haewoon Kwak, Pablo Rodriguez, Yong-Yeol Ahn, and
Sue Moon. I tube, you tube, everybody tubes: analyzing the world’s
largest user generated content video system. In IMC ’07: Proceedings
of the 7th ACM SIGCOMM conference on Internet measurement, pages
1–14, New York, NY, USA, 2007. ACM. I, VI
[5] Meeyoung Cha, Alan Mislove, and Krishna P. Gummadi.
A
measurement-driven analysis of information propagation in the flickr
social network. In WWW ’09: Proceedings of the 18th international
conference on World wide web, pages 721–730, New York, NY, USA,
2009. ACM. I
[6] Scott Garriss, Michael Kaminsky, Michael J. Freedman, Brad Karp,
David Mazières, and Haifeng Yu. Re: reliable email. In NSDI’06:
Proceedings of the 3rd conference on Networked Systems Design &
Implementation, pages 22–22, Berkeley, CA, USA, 2006. USENIX
Association. I
[7] Daniel Gayo-Avello. Nepotistic relationships in twitter and their impact
on rank prestige algorithms. CoRR, abs/1004.0816, 2010. III
[8] Amit Goyal, Francesco Bonchi, and Laks V.S. Lakshmanan. Learning
influence probabilities in social networks. In WSDM ’10: Proceedings of
the third ACM international conference on Web search and data mining,
pages 241–250, New York, NY, USA, 2010. ACM. I, VI
[9] B. Heil and M. Piskorski. New twitter research: Men follow men
and nobody tweets. Available at: http://blogs.hbr.org/cs/2009/06/new_
twitter_research_men_follo.html, 2009. III
[10] Bernardo A. Huberman, Daniel M. Romero, and Fang Wu. Social networks that matter: Twitter under the microscope. CoRR, abs/0812.1045,
2008. IV
[11] Amanda Lee Hughes and Leysia Palen. Twitter adoption and use in mass
convergence and emergency events. International Journal of Emergency
Management, 6:248–260(13), 11 February 2010. V
[12] Akshay Java, Xiaodan Song, Tim Finin, and Belle Tseng. Why
we twitter: understanding microblogging usage and communities. In
WebKDD/SNA-KDD ’07: Proceedings of the 9th WebKDD and 1st SNAKDD 2007 workshop on Web mining and social network analysis, pages
56–65, New York, NY, USA, 2007. ACM. IV
[13] Adam N. Joinson. Looking at, looking up or keeping up with people?:
motives and use of facebook. In CHI ’08: Proceeding of the twenty-sixth
annual SIGCHI conference on Human factors in computing systems,
pages 1027–1036, New York, NY, USA, 2008. ACM. IV
[14] Jon M. Kleinberg. Authoritative sources in a hyperlinked environment.
J. ACM, 46(5):604–632, 1999. III
[15] Balachander Krishnamurthy, Phillipa Gill, and Martin Arlitt. A few
chirps about twitter. In WOSP ’08: Proceedings of the first workshop
on Online social networks, pages 19–24, New York, NY, USA, 2008.
ACM. IV
[16] Haewoon Kwak, Changhyun Lee, Hosung Park, and Sue Moon. What is
twitter, a social network or a news media? In WWW ’10: Proceedings of
the 19th international conference on World wide web, pages 591–600,
New York, NY, USA, 2010. ACM. III
[17] Changhyun Lee, Haewoon Kwak, Hosung Park, and Sue Moon. Finding
influentials based on the temporal order of information adoption in
twitter. In WWW ’10: Proceedings of the 19th international conference
on World wide web, pages 1137–1138, New York, NY, USA, 2010.
ACM. III
[18] Alan Mislove, Bimal Viswanath, Krishna P. Gummadi, and Peter Druschel. You are who you know: inferring user profiles in online social
networks. In WSDM ’10: Proceedings of the third ACM international
conference on Web search and data mining, pages 251–260, New York,
NY, USA, 2010. ACM. I
102
CURRENT RESEARCH ON TWITTER
[19] Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd.
The pagerank citation ranking: Bringing order to the web. Technical
Report 1999-66, Stanford InfoLab, November 1999. Previous number
= SIDL-WP-1999-0120. III
[20] Josep M. Pujol, Ramon Sangüesa, and Jordi Delgado. Extracting
reputation in multi agent systems by means of social network topology.
In AAMAS ’02: Proceedings of the first international joint conference on
Autonomous agents and multiagent systems, pages 467–474, New York,
NY, USA, 2002. ACM. III
[21] Kate Starbird and Leysia Palen. Pass it on?: Retweeting in mass
emergencies. Information Systems for Crisis Response and Management
Conference, 2010. V
[22] T. Strufe. Safebook: A Privacy-Preserving Online Social Network
Leveraging on Real-Life Trust. IEEE Communications Magazine,
page 3, 2009. I
[23] Sarah Vieweg, Amanda L. Hughes, Kate Starbird, and Leysia Palen.
Microblogging during two natural hazards events: what twitter may
contribute to situational awareness. In CHI ’10: Proceedings of the
28th international conference on Human factors in computing systems,
pages 1079–1088, New York, NY, USA, 2010. ACM. V
[24] Bimal Viswanath, Alan Mislove, Meeyoung Cha, and Krishna P. Gummadi. On the evolution of user interaction in facebook. In WOSN ’09:
Proceedings of the 2nd ACM workshop on Online social networks, pages
37–42, New York, NY, USA, 2009. ACM. I, VI
[25] Jianshu Weng, Ee-Peng Lim, Jing Jiang, and Qi He. Twitterrank: finding
topic-sensitive influential twitterers. In WSDM ’10: Proceedings of the
third ACM international conference on Web search and data mining,
pages 261–270, New York, NY, USA, 2010. ACM. III, III
[26] Christo Wilson, Bryce Boe, Alessandra Sala, Krishna P.N. Puttaswamy,
and Ben Y. Zhao. User interactions in social networks and their
implications. In EuroSys ’09: Proceedings of the 4th ACM European
conference on Computer systems, pages 205–218, New York, NY, USA,
2009. ACM. IV
[27] Haifeng Yu, Michael Kaminsky, Phillip B. Gibbons, and Abraham Flaxman. Sybilguard: defending against sybil attacks via social networks. In
SIGCOMM ’06: Proceedings of the 2006 conference on Applications,
technologies, architectures, and protocols for computer communications,
pages 267–278, New York, NY, USA, 2006. ACM. I
103
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
Large-scale Multiplayer Games and Networked
Virtual Environments
Leonhard Nobach
Abstract—How to create game infrastructures that have to
deal with more and more users? How to create world-scale networks without any lag and waiting time experience? This paper
focuses on problems of today’s large-scale network games and
virtual environments. In detail, it gives an insight about software
architecture, network architecture and network communication
paradigms of these games, always aiming to achieve the quality
aspects Scalability, Adaptability, Fault-Tolerance as well as aspects
subject to the player’s perception, like game experience, especially
the freedom from lag. This paper creates a generic network
architecture for this kind of games. After that, three popular
multiplayer online games are introduced, and it is shown how
the vendors face the common problems of backend infrastructure.
I. I NTRODUCTION
A. History of Multiplayer Games
In computer history, large efforts have been made to create virtual reality. Algorithms evolved that generate a threedimensional projection of world models stored at the computer, with detailed aspects, like transparency, reflection, blur
and so on. The market grew, and even the semiconductor
industry supplied game developers with dedicated hardware
components like graphics adapters, allowing them to gain a
perception of world models in a computer that is not far away
from reality.
While the graphics evolved, you may forget that the evolution made progress in other directions, too. The common
player did not want to play only against the artificial intelligence of virtual characters, the player rather wanted to challenge human beings. The first multiplayer games were made
for being run at single computers. Here, two or more players
each had controller pads (or even had to share a keyboard) and
the screen was split, so that the players could challenge each
other. As the personal computer gained a larger audience and
network interfaces were standardized, multiplayer local-area
network gaming gained popularity. Gamers organized LAN
parties at regular intervals and connected their computers to
networks, from small sizes to over 7.000 participants.
In the young years of the Internet, dial-up connections had
a low bandwidth, a high latency and were too expensive to
stay online during a whole game session. With broadband
Internet access coming up, Internet gaming portals gained
popularity. First, the players met in forums to organize game
interconnections, here, each group still had a small player
count. But the demand for being able to interact with more
and more players reached a level, which confronted network
architects with still unresolved problems. How to get the whole
world together in one virtual world, without servers being
overloaded and people getting disconnected?
B. Massively Multiplayer Online Games (MMOGs)
The pioneers of MMO-Gaming were Daimonin1 and Neverwinter Nights2 . Daimonin, for example, is a game taking
place in a medieval context. Daimonin is a fantasy roleplaying game. Key concept of role playing is solving of quests
with some reward. Other elements are attaining skills and
knowledge by fighting computer characters (Player-versusEnvironment, PvE) as well as fighting other human characters
(Player-versus-Player, PvP). In the most role-playing games,
you will reach certain levels, giving you additional skills,
the ability to use advanced weapons and glory among other
players. Another game of this genre is the famous World of
Warcraft, created by Blizzard Entertainment. While Daimonin,
which is open source, is having an isometric third-person
view with poor graphics, the World of Warcraft uses a more
advanced 3D environment.
Another today’s role-playing MMOG is Eve Online, created
by the Icelandic company CCP Games. The Eve Online
universe plays in a science-fiction context, in contrast to the
often medieval fantasy games. The player commands starships,
and trades, fights and travels between multiple solar systems.
The last game addressed in this paper is Linden Labs’
Second Life, which is not a role-playing game and very
different from the other games named before. Second Life does
not specify neither a genre, nor a particular environment. When
you register the game, you create an avatar. This is a humanlooking person, that you can modify in many appearance
aspects. But after you have logged in, you do not need to
follow a game story created by the vendor. You rather create
the world together with other players. For example, you can
create objects from primitive shapes (like a sphere, a torus
or cylinder) you can group them, model very detailed objects
from them and place them in the environment, if you have
permissions for that. Going further, you can apply scripts to
objects and thus implement a behavior on them. Conceptually,
this leads to the possibility to even create custom games and
experiences in this virtual world. In practice, all the usergenerated content leads to scalability and efficiency problems
of Second Life, limiting the potential.
C. What this paper is about
The Key Features of a Virtual World by Kumar et al. [1] give
an overview about the aspects a virtual world should fulfill.
Especially the features Server Scalability, Network Constraints
and Object Encoding are aspects that intersect with the ones
in this paper.
104
1 http://www.daimonin.org
2 http://www.bladekeep.com/nwn/
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
Chapter II will suggest a generic client-server architecture
of Multiplayer Online Games. Chapter III will extend this
architecture to achieve scalability by distributing load onto
multiple servers. Chapter IV will go into detail: The infrastructures of three popular MMOGs are explained, especially their
conceptual difference to the generic architecture. The rather
short last chapter will round this paper up by giving a short
comment on current infrastructure and gives an insight about
what may come in later days.
II. G ENERIC A RCHITECTURE AND C OMMUNICATION OF
C URRENT M ULTIPLAYER N ETWORK G AMES
This chapter describes a generic architecture of multiplayer
network games as they are used in practice. The following
lines do not resemble a special architecture for a network
game, they rather give the reader an overview about stateof-the-art concepts, they show alternatives and give clues for
improving the number of players that may interact with a
single server.
A. Client-Server architecture
When multiple instances communicate, the first simple
network architecture model to be referred to is often the clientserver concept. The server is an instance that defines the state
of a world model, while clients request the server to influence
the model state or to retrieve a part of this model needed by
the client for representation.
2) Occlusion: The server may filter the representation sent
to the clients, based on the events the game wants the
players to perceive
3) Large parts of the game code remain in the custody
of the server provider (which sometimes is the game
provider).
4) Easier connection setup, e.g. there are no problems with
NAT traversal.
Since all games discussed in this paper make use of clientserver concept (but with multiple servers), we will focus on
this strategy from now on.
B. From the Client to the Server: Actions
Whenever a player attempts to influence the game world,
the player creates actions. Different types of player actions
have different requirements which are important for their
communication to the server. Requirements on player actions
can be expressed using the values deadline and precision [19].
The deadline is the time after which the action does not fulfill
its original purpose in the game world anymore. In contrast,
the precision is the accurary of (parts of) the game state the
player has to know to make a decision about initating an
action. For example, the deadline is very small when shooting
a game character with a sniper, since the character may only
be visible for a split second, Here the precision is very high,
too, since you need to know the exact position of the character
you shoot on.
The player’s actions need to be propagated to the server to
influence the game world. For this, messages containing the
action are sent to the server.
C. Duties of the Server
updates
updates
action
Fig. 1: The client server topology and a distributed approach
using n copies of the world state.
Despite of the client-server concept’s simplicity, some people prefer a decentralized approach, where a copy of the
current model is kept on every client [28]. Changes to the
model have to be multicast to all other clients to keep the
model up-to-date (Figure 1). The advantages of the distributed
approach are that there
1) is no single point of failure (like the server)
2) the latency is likely to be lower, since there is only one
hop necessary for a state change, unlike the client-server
concept.
However, you will experience other obstacles when implementing a game in practice. These problems will not appear
when using a client-server model:
1) Game world consistency: The game state is defined at
the server.
The dominant purpose of the server is to maintain a model
of the game world, this includes handling player actions.
Whenever an action message arrives at the server, the server
maintains changes to the game world that are induced by the
action message given. This is a non-trivial step explained later,
but we already disclose that it may take some processing power
and thus time to finish.
So when the server is busy maintaining the game universe, further action messages must be enqueued. Here, an
advanced scheduling algorithm may be used like Start-time
Fair Queuing [21]. This algorithm allows for enqueueing
different action message types at different queues, while the
queues are prioritized reciprocally to their deadline, which
allows for urgent events (like shoots) to be handled earlier
than e.g. moving or digging a hole. Despite the prioritization,
it guarantees starvation avoidance, since eventually a lowprioritized message will be handled, even when the queue of
urgent elements is always full.
Now that the server is free to handle an action, it has to do
various steps. These steps include, roughly in the following
order, but may not be limited to:
• Validating the action: Is the player allowed to do such an
action? For example if the region does not allow fighting,
the sword can not be taken out of the sheath. A good
105
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
validation of actions on the server side will avoid cheating
e.g. by changing the client’s execution code.
• Inducing changes on the game universe: Based on an
action messages, objects and players may move, appear
and disappear, their appearance may change and so on.
Often, it is good for the later update procedure to not only
change the state of the universe, but keeping a change log,
too.
• Physics: Objects moving, appearing and disappearing
may often affect the environment, or the motion of this
object is affected by the environment. Possible tasks of
physics engines are collision detection and object motion
handling while respecting collisions with other objects,
adhesion and roll resistance. To reduce complexity, there
are physics that definitely should not be handled by the
server. For instance, there are detailed physics that do
not affect surrounding objects, but are rather important
for the rendering process at the client. An example for
this is a flattering cape, or a curtain which is pushed aside
when moving the character under it.
• Artificial Intelligence: Non-Player Characters (NPCs) or
Bots need to react on player actions and world changes.
The Artificial Intelligence (AI) is processed at the server.
The steps above can be strongly cohesive, since an object
movement that is handled by the physics engine may again
induce a change of the model and vice versa, or large parts
of validation of the action may be done by the physics engine
(like an avatar running against a wall). The level of cohesion
depends on the complexity of the game.
D. From the Server to the Client: Updates
As the game world changes, these changes have to be
propagated to the clients. These state updates need to be
received by the client on time, because the player always needs
accurate information about the avatar’s environment to initiate
further actions. You either can send updates to the clients
whenever a state change occurs, or you can do it in a framed
way [13], this means, state updates are accumulated and sent
after certain time intervals. Typical rates for updating the
client lie around 10 updates/second [30] and 45 updates/second
(Second Life).
These status updates are a great opportunity to save bandwidth, because the server should only send updates to clients
that may receive and that are interested in them, this problem
is called Interest Management [27]. In virtual environments,
Interest Management may be based on the visibility of objects
to the player (culling). The visibility can be calculated based
on the euclidean distance of the avatar to the respective objects
(sphere), this method can be extended by using the heading
(cone or frustum) of the client (Figure2). When changing
frustum settings, e.g. when using a spyglass in the game, we
have to keep in mind that the client must always tell its new
viewing settings to the server for culling calculations.
To save even more bandwidth for update messages on very
crowded servers, a crowd dynamics model can be applied
(Parker and Sorenson, [30]). Here, important parameters of
the moving behavior of a whole crowd of players is modeled,
Fig. 2: Culling is not only done by the client’s graphics
adapter, but also by the server only sending necessary updates.
Here are three options: sphere, cone and a “spyglass” cone.
which is transferred to the client as a statistical function
instead of every particular position of distant entities. Now
the client can visualize this movement, using the shape of
random characters which follow the crowd behavior model
that was transferred and display them to the player. However,
crowd dynamics should only be used for players very far away
and hardly visible, since it will hide details of a co-player’s
appearance the player may be looking for. A good example is
a player seeking a friend in a crowd, an information ignored in
the statistical crowd function. Additionally, this technique can
not be pplied to arbitrary objects which are not of an equal
shape.
Updates to the client can not only be culled, they can also
be prioritized, so that the client receives updates to nearby
objects faster. This is especially useful when the server reaches
its upstream bandwidth limits.
E. Latency and Lag
The most common definition of latency of a network game
is the time between an action initiated by the player and a
reaction of the environment that the player, in reality, would
expect to occur immediately. The most important parts of the
communication process that cause latency are
•
•
•
•
network layer delay for action and update messages, i.e.
packets waiting in queues of intermediate routers and
medium propagation delay in copper and fibre cables,
action messages waiting in the server’s queue,
world modification execution time at the server,
retransmissions, they will be discussed in the next chapter.
Lag occurs when latency reaches a level which is negatively
affecting game experience. Some authors [11] use lag as a
synonym for latency. The following table is an overview of
lag limits [20] according to the definition given above.
106
Genre
Real-time Strategy
(Amer.) Football
Racing
First-Person Shooter
Lag limit
>1s
500ms
100ms
60-100ms
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
F. Lag, Omissions and Recovery
A common problem of packet switching networks are
packet omissions that ocassionally occur, either once or in
bursts3 . Esbensen [11] supposes a very simple communication
protocol, which shall resemble the state of the art in current
MMOGs. Here, an action message is very large and has to be
split into multiple packets. The packets are then reassembled
at the server, handled by it, and an update is sent back to the
client, split into multiple packets as well and serving as an
acknowledgement. If not all packets that were sent are received
by the server (omissions), it times out and sends a message
asking for retransmission to the client. If all packets could be
transmitted, the client gets its action message acknowledged
via the update message of the server.
First, most urgent action messages do not need to be
that large that they need to be split into multiple packets
or IP fragments. Let us calculate an example: An update
of the absolute position of an object is triggered. Let us
assume a short header is transferred (byte), an object identifier
(long) and the 3D coordinates of the object (each dimension
long/double). Then we have 33 bytes of payload, which is
much smaller than even a pessimistic MTU4 of 500 bytes in
the Internet.
Second, when omissions occur, there are more advanced
retransmission mechanisms than timing out and retransmitting
the whole action message, for example TCP’s Fast Retransmit:
When a single packet is omitted and the next one arrives, a
second acknowledgement (Dup-Ack) is sent for the last packet
received. So the retransmission lasts only approx. 1*RTT5
longer than the correct transmission and may result in lag,
but this is very much faster than waiting for a timeout, asking
for retransmission and retransmitting the whole action message
again. TCP’s Fast Retransmit is part of TCP Reno, which is
widely used in the network stacks of operating systems today.
Esbensen [11] further suggests that most retransmissions
can be avoided by sending messages in single packets carrying its own payload and additionally redundant payload of
the messages sent before. This may help to reconstruct lost
messages without further need for retransmits with a certain
probability. When omission bursts occur, this strategy will
likely fail, since the first packets ommitted by the burst will
not be reconstructed by the following packets, also omitted.
Additionally, this technique is inappropriate when bandwidth
capacity of the transmission is a matter. Otherwise, the redundant message payload will dramatically increase needed
bandwidth and will lead to the intermediate routers dropping
additional packets due to network congestion. Esbensen claims
that 90% of protocol packet transmissions and 98% of lag can
be reduced, but does not show or link to resources that prove
that or show his measurement approach.
An additional fact is, that many actions and update messages
are “self-healing”. This means that when ocassional omissions
occur, a small state deviation at the client side or an action
is not crucial for the game experience, and will eventually
3 Many
packet omissions in succession
Transmission Unit
5 Round-Trip Time
4 Maximum
be obsoleted by further state updates. In this case, it may
not be necessary to use a reliable communication protocol.
For example, Second Life updates are based on UDP packets,
where a large portion of them are not retransmitted in case of
omissions [24].
III. A DDING THE “M ASSIVELY ” TO N ETWORK
M ULTIPLAYER G AMES
In the previous chapter, we have shown several paradigms
for client-server communication in online environments, focusing on reduction of bandwidth and complexity, thus resulting
in additional player capacity per server. This chapter now focuses on concepts that allow to distribute online environments
onto multiple servers.
A. Dominant: Spatial Distribution
In this context, scalability is achieved, when an addition
of processing cores that act as servers for the game can
always result in a roughly proportional win of player- or world
size capacity. In all games analyzed, a spatial distribution is
used: the game world, in our previous chapter handled by an
authoritative server, is split up into multiple regions 6 . A region
runs in a region process. Since a player avatar always interacts
heavily with its nearby environment which is part of a region,
the player’s client is connected to the corresponding region
server. The region is influenced by the players actions, leading
to action messages being sent to the region server process for
handling. Additionally, the region’s current state changes are
periodically sent from the region server process to the player’s
client for representation.
When splitting a game universe into regions for seamless
region interactivity (next chapter), a region must have defined
borders and neighbors. When using homogeneous region
bounds, we have to define a region border shape that allows
either 2D (planar worlds, impenetrable sky and ground) or 3D
tesselation, like a hexagon, a square or a cube. Voronoi regions
are an example of an inhomogeneous splitting.
B. Handing Over between Regions
If we just split the game universe into regions, they would
be sealed off from another. Regions have to communicate with
each other to ensure a typical MMORPG experience. The most
important type of interaction is avatar crossing. It should be
desirable to enable object crossing in realistic MMOGs, too.
Let us suggest a very simple mechanism, ensuring the
possibility of avatar movement between regions. A region
contains portals to other regions. A portal is a data structure
consisting of a
1) unique identifier inside the region,
2) a geometric shape in the region world (e.g. a rectangle),
typically at the border of regions or in the ground.
3) a point and direction in the region world (spawn point)
and
4) a transport address of another region server process,
6 The
107
term used for parts of the game world may vary between games
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
5) an identifier of another portal in the above region server
process.
Whenever the physics engine of a process m detects collision
or intersection of an avatar A with a portal P’s geometric shape
P(2), the handover is initiated:
• m tells process n addressed by P(4) that it has to expect
a handover of avatar A.
• m tells the client of avatar A that the avatar has to be
handed over to process n.
• The client of avatar A, formerly connected to m connects
to n. n tells the m that the avatar shall be handed over,
along with all properties of it.
• m removes the avatar A. n’s region spawns the avatar at
the spawn point (3) of the portal P(5).
To reduce lag, which will possibly occur here, region
processes may keep connections to portal-referenced neighbor
processes alive. Portal references should be symmetric, this
means that for every portal q, a portal p addressed by q(4)
and q(5) should in turn address portal q via p(4) and p(5).
Whenever walking into a portal, the player will enter the
region “behind” the portal from his perspective. Symmetric
relations will allow the avatar to go back to the former region
as well.
Until now, the transfer between regions is not seamless.
A player walking into another region may suddenly jump to
the target region portal’s spawn point, stand still and face
another direction. For example, “Legend of Zelda - Ocarina of
Time” had this spawn behavior when loading another region
(although it was not a distributed game).
To extend the above model to a portal behavior with seamless physics, we have to transfer several physical properties
along with the avatar handover, like the avatar’s position,
direction and velocity. With this information, the target process
can calculate position of, direction of and velocity at the reentry point, making the spawn point obsolete.
In a networked virtual environment, it is desired to enter
other regions by not only crossing regions through small
portals, but by using any point of a region’s bounds for
crossing.
2.
3.
a
model from above, every line/face of the border is a portal
pointing to the corresponding border in the adjacent region A
summary of region handover strategies are depicted in Figure
3.
Handing over objects to another region process is important
for seamlessness in environments where (non-avatar) objects
are allowed to cross regions. The procedure for object handover can be derived from the seamless portals procedure for
avatar movement, but without any client-server communication
taking part.
C. Watching into other regions
For a seamless border behavior, you often want players to
be able watch into neighbor regions without interacting with
them. For achieving this goal, you can distinguish between
two options (Figure 4):
• Proxy: The region a client’s avatar is currently in keeps
connections to neighboring regions, receives updates from
them and propagates them to its clients (if necessary,
depending on culling strategies). This strategy is easier in
terms of connection management, but may result in more
latency and will not inherently enable a quick handover,
like explained in the following strategy.
• Direct: Clients connect to neighbor regions as well and
receive status updates from them, if the avatars are in
range. This approach has the lowest status updates delay,
and also supports a quick handover without lag, since
the connection is already established prior to entering
a neighbor region. Furter advantages are low latency of
update messages and low payload usage. The problem is
that many connections have to be maintained, depending
on the number of neighbors. In a 2D-square-tiled world,
9 connections (edge-to-edge-joined neighbors included)
have to be maintained by the client and 9 connections
per client by the server (on average).
3.
2.
b
c
Fig. 3: Different strategies for region handover, shown on a
two-dimensional map. a) Portals, b) Portals with seamless
physics, and c) Seamless Borders. The yellow area is the
region where players may reside.
For seamless border handovers, a region needs defined
borders and neighbors (see previous chapter). Applying our
Fig. 4: Proxy-based and direct neighbor region state updates.
In the latter case, the dotted connections are kept open, but
at the current avatar position no state updates are propagated,
because the culling strategy forbids the propagation of updates
to the client.
D. Adaptability
The spatial distribution of game universes along with region
handovers ensures scalability of player and object capacities
108
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
with a growing game world and seamless movement between
regions, assumed that players are equally distributed throughout the game world. But in reality, players are attracted by
some hot spots that get overcrowded very fast, while many
regions are empty. We can summarize different levels of
adaptability:
•
•
•
•
Static, homogeneous. The region processes, running
regions with homogeneous bounds are distributed on
several hardware units7 . Some servers run multiple, only
ocassionally used regions, while a process running a
usually crowded region may run on a dedicated machine.
Processes that get too crowded may be shut down manually, save their state and be recreated on processing units
with less load. Players currenly on the region will need
to disconnect.
Static, heterogeneous. Like above, but the bounds of
a region may be dynamically established, which results
in regions with heterogeneous sizes and neighbor count.
Game operators try to predict the level of concurrent users
in an area of the game world and use a smaller region
size in crowded areas than in less crowded, thus reducing
the number of players per region process. The problem is
that the smaller the regions are in an area in the world is,
the higher the IPC8 per area/space measure unit will be,
caused by many handovers. A player that moves through
a crowded area will experience a lot more lag caused by
the handover between small regions.
Hot-Swapping Regions [6], homogeneous / heterogeneous. If a region’s process is highly utilized, the process
can be serialized and transferred to a hardware unit with
more dedicated processing power and bandwidth. In turn,
processes that tend to have only a small crowd can be
moved to machines that host many low-utilized regions.
During the swapping, players may notice a considerable
lag, but will not get disconnected. Challenges are connection management, load measurement and the selection of
an algorithm that decides when to swap. Since a region
swap itself may need a lot of processing power and
bandwidth, it is important that high throughput between
the servers is possible and large hysteresis is used in the
swapping decision algorithm.
Region Splitting, heterogeneous. Here region can not
only be transferred between servers, but they can even
be split into smaller regions to distribute load onto
many hardware units, if necessary. Regions with few
utilization can, in turn, be conjoined to a larger region
to avoid unnecessary handovers/IPC between them. This
is the most advanced grid-based adaptation mechanism
discussed here.
E. Appearance, Inventory and Skills
Large-scale network games are well received among players, not least due to the capability to customize an avatar in
many aspects, gain virtual property, skills and strength. These
aspects were not considered until now. It is certain that, in a
game where these properties are of importance, they strongly
influence the possible actions for a player and the outcome for
the environment. In games where the properties of a player,
especially the skills, are of importance for the player’s esteem,
it is desired to ensure that these properties can only be altered
in a way the rules of the game constitute.
The common approach is to establish communication between the region server and a central or distributed database
management system, maintaining the player properties. Trust
is an important aspect that is required in both directions to
ensure that cheating is made hard to the maximum extent.
The region process has to trust the database to make sure that
the player’s authentic properties are returned. Conversely, the
database has to trust the game server that it only changes the
player’s properties in a way that conform to the game’s rules.
If we put all the infrastructure in the hands of the game
provider, this trust is easily ensured. All popular MMO games
are currently maintained by a central, authoritative instance.
In all of them, avatar skills are crucial for game experience.
Second Life even has currency that can be exchanged to realworld money.
Although player properties are very different among
MMOs and boundaries overlap, we try to introduce a certain
nomenclature and their meaning for infrastructure decisions:
•
•
Other strategies might be to provide incentives for users to
leave to lower-crowded regions, like taxes on transactions in
highly crowded ones.
7 In
this context, hardware units are units with one or more processor cores,
its own memory and network interface, A good example for a hardware unit
is a dedicated server or a server blade.
8 Inter-Process Communication
109
•
Transient: Player properties are not of importance for the
development of a character. A loss of the properties will
not mean a great loss for the player, or will not mean
an influence on game perception of other players. This is
typical for games for ocassional players. For example, a
wide-scale car racing game, where you just select a car
with a certain appearance and gain stats while you are
online. This property is making it easy from the database
management’s point of view, since there will be few or
no communication necessary between the database and
the region servers.
Evolving: Player properties are being developed along
frequent game sessions. Typically, skills are attained,
items are created and taken into an inventory, bought
and sold to other residents. Properties attained will have
a strong effect on the game experience for the player
and possible opponents. This usually requires moderately
higher communication between the database and region
servers, since the region server needs to know more about
the players’ properties for calculating interaction with the
environment. Despite, the main problem will be higher
trust demands between the region server and the game
database, since the motivation for cheating and hacking
the game will be accordingly higher.
Vendor-generated: This is especially related to items
and appearance. The finite set of items is defined and
implemented by the vendor (or another game authority).
The advantage for client-server communication is that the
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
client can store these items’ representational state (i.e. the
3D shape and textures) locally and load them on demand,
the server just needs to update the client about a current
item/appearance identifier, if needed. Databases storing
the player properties are not suffering from storing and
transmitting the whole item’s representation.
• User-generated: Items and appearance are not defined
by the vendor, they are rather created by the players
themselves. The possible set of items is infinite, if you
can think of it, you can create it. Impacts on infrastructure
and requirements are obvious: Game databases have to
store more information for representation (for use at the
client) and for behavior (for use at region servers) of such
items. Additionally, this will result in a lot more traffic
between database, regions and clients.
A good example for a borderless transition between vendorgenerated and user-generated player properties is the appearance creation in Second Life: Here, you can adjust properties
of your body with a lot of sliders: like chin length, face
width, hair at the front, waist and leg size and many more.
By adjusting them randomly, you will likely create a character
unique among all players, although the function that derives
a geometrical shape from the slider positions is created by
Linden Labs, the publisher of Second Life.
•
•
IV. BACKEND S TRATEGIES IN P RACTICE : P OPULAR
MMO-G AMES
This chapter presents the three popular large-scale multiplayer online games Second Life, World of Warcraft and Eve
Online. It explains how they implement the generic clientserver and grid model we constructed in the chapters before,
and shows how they conceptually differ from it. In some
cases, detailed specifications of backend communication are of
strategic importance for the vendors, leading to non-disclosure
[22] and even legal actions against projects trying to reverseengineer backend infrastructure [4].
•
•
A. Second Life
In Second life, the world map is divided into 256 · 256m2
square regions. Every Second Life player runs a viewer that
authenticates at a central authentication server. Viewers are
spatially distributed on processes, called simulators. Every
simulator handles such a 256mx256m region, which keeps
track of the region’s state, sends updates to the clients that
are currently connected to the region an acts as a proxy to
further, generally central servers for the client. The simulator’s
purpose is focused on the following jobs:
• Keeping track of the avatars currently in the region:
The simulator keeps track of the avatar’s positions. An
avatar can enter a region by either teleporting or walking/flying into it from another region. The viewer the
avatar is using tells the server about keystrokes, chat
messages and other commands the player has entered.
This way, the server can update the avatar’s state and
calculate interaction with the world.
• Storing objects in the region: If it is permitted by
the land owner, an avatar connected to a simulator can
position an asset at a place of choice (called “rezzing” in
Second Life nomenclature). There are two ways to rez an
item with different backend communication paradigms.
Second Life allows building custom objects from primitive shapes (e.g. a cube, a cylinder or a torus). When you
want to do that, action messages to create the primitive
shape and further ones are sent to the simulator you are
currently on. The other way is to take an object from
your inventory for rezzing. For this, the simulator calls
an asset server, this is where your inventory is stored.
Then it loads the complete object from your inventory
and places it where you selected it to appear.
Communication with adjacent regions: We already
mentioned that the avatar may leave a region and enter
another one. In order to do this properly, adjacent regions
are connected via a circuit (UDP connection) and must
at least transfer the current state, the entrance position
and the motion vector of the avatar. Since the avatar
may carry objects with it (e.g. when sitting in a car and
driving into another region), more complex objects have
to be transferred between regions. As a Second Life user,
you will experience a short freeze while you are moving
between two regions, especially when one of them is
crowded, thus overloaded.
Physics: The server processes object interaction using
a physics engine. This includes, but is not limited to
collision detection. The Second Life simulators run the
physics engine Havok 4. Non-interactive physics (like the
flattering of capes in the wind) is done at the viewer side
[24]
Execution of Scripts: In Second Life, scripts can be
applied to objects that are written in a language solely
created for Second Life, the Linden Scripting Language.
They are executed in a virtual machine on the region
server. LSL scripts strongly interact with the environment
and the physics engine.
Periodic updating of the viewers: If objects or avatars
change in the region, these changes are propagated to
the viewers. To reduce the amount of bandwidth for
updates, the simulator does visibility computing for a
viewer and only sends objects to it that may be visible.
The algorithms currently used for visibility computing are
currently closed-source, but may be improvable [24].
Running one simulator on a 256mx256m square does not
mean that the simulator has to run on a dedicated server for
itself. A server may run multiple simulators at once if they are
not overcrowded. The far most traffic-consuming property of
Second Life, action and environment reaction, is distributed in
a location-based way, but there are still central instances for
many transactions:
110
•
•
A login server authenticates the viewer and maintains a
handshake with the region to connect to. The authentication procedure is done via an XML remote procedure
call.
Second Life organizes its square regions in an xy coordinate space. A space server knows the location of every
region in the grid and provides the corresponding server
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
Fig. 5: User-generated content in OpenSimulator, a reimplementation of the Second Life backend: A catamaran. Later,
scripts can be applied that set the sails according to the wind
and make it able to move.
associated to a region. E.g. a server can ask the space
server for its neighbors.
• Asset servers and further central database servers. For
this, Linden Labs use storage clusters from Isilon Systems. [1]
While testing Second Life, we noticed that nearly every
interaction which depends on the asset storage cluster is laggy.
When rezzing a medium-detailed object even as the only
viewer in an uncrowded region, the object takes up to 10
seconds until it is appearing. Second Life is the game with
the far most user-generated content introduced here (see Figure
5). Second Life’s main bottleneck are the asset clusters, often
reaching capacity limits [1].
B. World of Warcraft
The World of Warcraft currently has 11 million subscribers
[31]. These subscribers are obviously no stale accounts, since
the players pay a fee every month and so they all might
regularly use it. Thus, Blizzard, Inc. has the financial power to
invest into a large-scale infrastructure. Blizzard is the company
that does worst in disclosing its infrastructure [4], [22], but
still, it is possible to determine key concepts related to our
reference architecture. Main concepts are the environment
solely generated by Blizzard’s staff, the creation of hundreds
of copies of the world called realms and instancing, a method
to create regions only for access for certain groups of players
on demand.
1) Vendor-Generated Environment: Blizzard has a team
of 51 artists [10], dedicated to creating the environment,
appearances and 1.5 million [10] unique items. The shape,
textures, animations and behavior of these assets are not placed
on the (region) servers to send it to the clients on demand.
Instead, these items are shipped with the game and are being
installed at the client as compressed files. This is obviously
why World of Warcraft needs up to 15 gigabytes of disk space
[16]. Compressed files are unpacked and loaded into memory,
whenever it is demanded.
The concept that unburdens the servers from a lot of
client update information requires a region server to supply
clients with updates regarding only the following parts of the
environment:
• Avatars of other players (like movement, gestures etc...)
• Non-player characters (NPCs)
• Mobile Objects (called MOBs).
• Updates of skills and stats, chat messages.
Whenever the vendor-generated content of the World of
Warcraft changes, patches are released. These patches can not
only be installed using patch servers of Blizzard, but also
a recommended tracker-based peer-to-peer network can be
used. This additionally saves bandwidth for Blizzard regarding
media distribution, and supplies users with a faster download
access.
2) Realms: The World of Warcraft is not unique, there are
rather hundreds of copies of the world. These copies are called
realms. Currently, there are 200 realms in North America only.
Realms do not interact, an avatar can only be created for a
particular realm, the transfer of avatars between realms is only
done restrictively, either when a realm gets overloaded, or on
a paid basis, and then, the transfer can last several days.
Creation of separate realms has two advantages:
• Lower infrastructure cohesion. The inter-process communication required is reduced to a per-realm basis.
Every realm only needs one separate database and storage
cluster. As the audience for World of Warcraft increases. a
well-proven infrastructure only needs to be copied several
times to create additional realms, without the concern of
scalability.
• Lower world size. The size of the world can be lower
than in a unique-world model, since we have to assume
that the world size has to increase with the number of
players the world contains. This results in lower design
effort for the staff, and reduces the amount of disk space
needed by the clients and the bandwidth needed for
patching.
In the World of Warcraft community, it is common to
confuse realms with servers. But a realm always consists of
multiple region and database servers. Currently, the World of
Warcraft employs more than 13.000 servers around the world
[31]. If we assume a total of 400 realms worldwide, we can
estimate there are about 30 servers working for a realm on
average.
3) Instancing: There are some regions in the World of
Warcraft which are solely created on a per-group basis, especially dungeons. This means, whenever a group of players
enters such a dungeon, a separate instance of this dungeon is
created solely for these players. Other players will not be able
to enter this instance, instead, when they enter the dungeon
111
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
too, a new one is created for them in turn. Additionally, the
game experience of such instanced regions is another one, it is
rather based on a sequence of obstacles the player has to face,
than the typical network virtual environment behavior where
the player can enter and leave whenever he or she wants.
Instance regions launch a presumably dedicated process to
a group of players with limited size, reducing lag due to server
congestion in areas with hard and complicated tasks, where lag
caused by server congestion will cause the most undesirable
impact on game experience.
4) Transport Protocol: World of Warcraft, like many clientserver online games, uses TCP as a transmission protocol.
C. Eve Online
Although the game is fully proprietary, CCP, the vendor of
Eve Online, allows to gain a rough insight into the backend
infrastructure in contrast to Blizzard [6], [7]. Like Second Life,
but in contrast to the World of Warcraft, Eve Online uses a
single-world approach rather than creating several copies of
it.
1) Distribution Strategy: Using our reference model, regions9 in Eve Online are solar systems, where every solar
system is a process that can be distributed among Eve’s more
than 5000 IBM blade servers.
Eve uses a trick that is offered by its sci-fi genre, which
makes inter-region communication like handovers easy from
an infrastructure designer’s view. In the Eve universe, travels
between solar systems are only possible using “jump drive”
or ”jump gates“ [2].
• Travel time: Travelling between solar systems may waste
some time until arrival. This time can be used for a
handing over between two region processes without any
hectics. Here, lag may occur without an impact on game
experience.
• Invisible adjacency: Because of the large distance,
events in other solar systems are not visible to the players
in a particular system. This makes it unnecessary to
update clients across regions.
Eve’s database is centralized and is run on an SQL server.
2) Adaptability: Eve is a good example for MMOGs suffering from mass attraction phenomena, which are constantly
overloading several regions. Like explained in our reference
architecture, Eve runs crowded regions on dedicated machines,
while others share a server among other regions. Eve plans to
extend adaptability to be able to hot-swap regions between
servers, while even being able to split up transactions inside a
region process to multiple processing cores, using Infiniband
technology, a high-bandwidth and low-latency serial bus [6].
3) Stackless Python [14]: To provide feasible support for
highly concurrent environments, language-specific tools of
Stackless Python are exploited. Instead of pushing information
aside to the processor’s stack for executing a subroutine (like
a procedure), Stackless Python uses special data structures
to store this information. Stackless Python allows for fast
9 Note that Eve uses the term “region” in another context than we use it
in our reference model. In Eve, regions are groups of solar systems. In this
paper, “region” always refers to the term of our generic architecture
switching between tasklets (microthreads) in a single core
by using its own virtual machine for context switching. Just
an example: If hundreds of player-versus-players fights are
handled by one server, we may have hundreds of threads
calculating the outcome of a fight. Stackless Python does better
in concurrent threads than traditional stacked processor-based
machines. It does not have inherent efficiency improvement for
multi-processor threading [15]. Stackless Python is not only
used at the server side, but also at the client side.
4) Proxies: Another characteristic of Eve are proxies, hiding backend connections of the clients to the region servers.
An Eve player stays connected to a proxy server throughout
the game session, no matter which solar system the client is on.
No further connections have to be set up by the client when
changing the region. Additionally, the proxy server concept
is an opportunity to supply the region server with trusted
information about the player, like skills and items, anti-cheat
free, consistent and mutually excluded. This may help to
unburden the central database.
V. C ONCLUSION
In Eve and the World of Warcraft, the world is created
mainly by the vendor. Of all games introduced here, Second
Life is the only multiplayer environment really allowing the
creation of user-generated content with all of its aspects. To
come back to Kumar’s Key Features of a Virtual World [1],
it is the only virtual world that really fulfills the most of
these aspects in terms of current architecture, licensing and
the vendor’s motivation. But as we said, currently, Second Life
has to cope with heavy infrastructure problems, caused by their
asset storage cluster. The World of Warcraft and Eve Online do
better in performance by providing vendor-generated content,
limiting the opportunities to customize the world.
VI. F UTURE P ROSPECTS
Linden Labs, Inc. recently released the viewer under an
open-source license. Soon, the community launched the open
source projects OpenSimulator (.Net/Mono) and the Hippo
OpenSim Viewer. OpenSimulator is an open implementation
of the Second Life grid. Based on OpenSimulator, the OSGrid
was launched, a grid where everybody can set up own region
servers and connect them to the grid. OpenSimulator also lets
new ideas emerge, like the Hypergrid, which uses a Web-based
concept to intertwine heterogeneous region servers among
each other. The original Second Life idea already reaches
protocol status10 .
In the future, we will probably have a virtual universe with
defined and open-source protocols and interfaces, where game
designers will use them to design their own games on top of
it. But until then, we have to purge problems with efficiency,
scalability, adaptability and lag.
Peer-to-Peer network virtual environment infrastructure is
under research today. The work formerly done by servers is
distributed among the player’s hosts themselves, obsoleting
a backend infrastructure hosted by the vendor. This will
allow the vendors to publish online games without remarkable
infrastructure costs.
112
10 Metaverse
Exchange Protocol, see http://www.bubblecloud.org/
LARGE-SCALE MULTIPLAYER GAMES AND NETWORKED VIRTUAL ENVIRONMENTS
R EFERENCES
[1] Second life grid update from fj linden.
https://
blogs.secondlife.com/community/features/blog/2009/01/12/
second-life-grid-update-from-fj-linden, January 2009.
I-C, IV-A,
V
[2] About eve online.
http://wiki.eveonline.com/en/wiki/About_EVE_
Online, May 2010. IV-C1
[3] A beginner’s guide to creating a mmorpg. http://www.devmaster.net/
articles/building-mmorpg/, May 2010.
[4] Blizzard v. bnetd. http://www.eff.org/cases/blizzard-v-bnetd, May 2010.
IV, IV-B
[5] Configuration of wow backend servers. http://www.wowblues.com/us/
configuration-of-wow-backend-servers-94199628.html, May 2010.
[6] Eve evolved: Eve online’s server model. http://www.massively.com/
2008/09/28/eve-evolved-eve-onlines-server-model/, May 2010. III-D,
IV-C, IV-C2
[7] Eve online architecture. http://highscalability.com/blog/2008/10/22/
eve-online-architecture.html, May 2010. IV-C
[8] Gdc austin: An inside look at the universe of warcraft. http://www.
gamasutra.com/php-bin/news_index.php?story=25307, May 2010.
[9] Immense scale and interconnection in eve-online. http://blogs.utexas.
edu/gamegeog/2010/02/12/109/comment-page-1/, May 2010.
[10] Interviews: World of warcraft - lead designer rob pardo. http://uk.pc.
gamespy.com/pc/world-of-warcraft/568494p2.html, May 2010. IV-B1
[11] Online game architecture: Back-end strategies. http://www.gamasutra.
com/gdc2005/features/20050310/esbensen_01.shtml, May 2010. II-E,
II-F
[12] Opensim load balancing and region splitting. http://opensimulator.org/
wiki/OpenSim_Load_Balancing_and_Region_Splitting, May 2010.
[13] Second life wiki. http://wiki.secondlife.com, May 2010. II-D
[14] Stackless python project size. http://www.stackless.com/, May 2010.
IV-C3
[15] [stackless] stackless python in a multicore environment. http://www.
stackless.com/pipermail/stackless/2007-August/001963.html, May 2010.
IV-C3
[16] World of warcraft community site. http://www.worldofwarcraft.com,
May 2010. IV-B1
[17] Ahmed Abdelkhalek, Angelos Bilas, and Andreas Moshovos. Behavior
and performance of interactive multi-player game servers. In Cluster
Computing, 2001.
[18] Susanne Busse, Ralf-Detlef Kutsche, Ulf Leser, and Herbert Weber.
Federated information systems: Concepts, terminology and architectures.
Technical report, 1999.
[19] Mark Claypool and Kajal Claypool. Latency and player actions in online
games. Commun. ACM, 49(11):40–45, 2006. II-B
[20] Matthias Dick, Oliver Wellnitz, and Lars Wolf. Analysis of factors
affecting players’ performance and perception in multiplayer games.
In NetGames ’05: Proceedings of 4th ACM SIGCOMM workshop on
Network and system support for games, pages 1–7, New York, NY,
USA, 2005. ACM. II-E
[21] Pawan Goyal, Harrick M. Vin, and Haichen Cheng. Start-time fair
queuing: A scheduling algorithm for integrated services packet switching
networks. In In Proceedings of ACM SIGCOMM’96, pages 157–168,
1996. II-C
[22] Bruce Hack, Mike Morhaime, Jean-Francois Grollemund, and
Nichol Bradford.
Introduction to vivendi games - investor
presentation.
http://www.sec.gov/Archives/edgar/data/1127055/
000095012306007628/y22210exv99w1.htm, May 2010. IV, IV-B
[23] Wolfgang Karner, Markus Rupp, and Philipp Svoboda. Traffic analysis
and modeling for world of warcraft. Technical report, 2007.
[24] Sanjeev Kumar, Jatin Chhugani, Changkyu Kim, Daehyun Kim, Anthony Nguyen, Pradeep Dubey, Christian Bienia, and Youngmin Kim.
Second life and the new generation of virtual worlds. Computer,
41(9):46–53, 2008. II-F, IV-A
[25] Jay Lee. Relational database guidelines for mmogs. http://www.
gamasutra.com/resource_guide/20030916/lee_01.shtml, May 2010.
[26] Emmanuel Léty, Thierry Turletti, and François Baccelli. Score: a
scalable communication protocol for large-scale virtual environments.
IEEE/ACM Trans. Netw., 12(2):247–260, 2004.
[27] Michael R. Macedonia, Michael J. Zyda, David R. Pratt, Paul T. Barham,
and Steven Zeswitz. Npsnet: A network software architecture for large
scale virtual environments, 1994. II-D
[28] Martin Mauve. How to keep a dead man from shooting. In In
Proceedings of the 7 th International Workshop on Interactive Distributed Multimedia Systems and Telecommunication Services (IDMS)
2000, pages 199–204, 2000. II-A
[29] Lothar Pantel and Lars C. Wolf. On the impact of delay on realtime multiplayer games. In NOSSDAV ’02: Proceedings of the 12th
international workshop on Network and operating systems support for
digital audio and video, pages 23–29, New York, NY, USA, 2002. ACM.
[30] J. R. Parker and Nathan Sorenson. A novel network architecture for
crowded online environments. In Sandbox ’08: Proceedings of the 2008
ACM SIGGRAPH symposium on Video games, pages 129–134, New
York, NY, USA, 2008. ACM. II-D, II-D
[31] Brendan Sinclair. Blizzard outlines massive effort behind world of
warcraft. http://www.gamespot.com/news/6228615.html, May 2010.
IV-B, IV-B2
[32] Daniel Terdiman. ’second life’: Don’t worry, we can scale. http:
//www.zdnet.com/news/second-life-dont-worry-we-can-scale/148320,
May 2010.
[33] Tracy V. Wilson. How world of warcraft works. http://electronics.
howstuffworks.com/world-of-warcraft.htm, May 2010.
113
P2P ONLINE SOCIAL NETWORKS
P2P Online Social Networks
Sascha Nordquist
Abstract—Dieses Paper behandelt P2P Online Social Networks.
Bisherige Online Social Networks (OSNs) basieren auf einer
Client-Server Lösung. Der P2P Ansatz kann zur Lösung einiger
Probleme wie Sicherheit, Datenschutz, Performance und Kosten
verwendet werden. Dazu werden in diesem Paper Dazu ihre
Ziele, Probleme, Vor- und Nachteile vorgestellt. Als Stellvertreter
werden die P2P Online Social Networks PeerSoN, Safebook und
LifeSocial vorgestellt und anhand der Hauptfunktionen eines
OSN verglichen.
I. E INLEITUNG UND M OTIVATION
Online Social Networks werden immer beliebter und für
manche Internetnutzer ist Facebook sogar “Das Internet”.
Es gibt hunderte Sozialer Netzwerke1 . Laut angaben von
Facebook, eines der größten Sozialen Netzwerke, hat allein
Facebook mehr als 400 Millionen aktive Benutzer. Durchschnittlich hat ein Benutzer dort 130 Kontakte und mehr als
500 Milliarden Minuten im Monat, hochgerechnet auf die
Benutzer, wird Facebook von ihren Benutzern genutzt.
Umso wichtiger ist es, bei diesen Sozialen Netzen, auf
Sicherheit und Datenschutz zu achten. Es hat sich immer
wieder gezeigt, dass durch Sicherheitslücken in den Systemen
Benutzerdaten ausspioniert oder an dritte verkauft werden.
OSNs werden dazu verwendet, um Daten mit anderen Internetnutzern (zum Beispiel Familie, Freunden, Arbeitskollegen,
...) auszutauschen. Dazu kann im Normalfall jeder Nutzer
ein eigenes Profil erstellen, in dem er sich selbst beschreibt.
Eine weitere Kernfunktion eines OSN ist, dass man Kontakte
verwalten kann. Mit diesen Kontakten kann man dann über
das OSN Daten (Nachrichten, Bilder, ...) austauschen.
Viele Nutzer von Facebook, StudiVZ oder anderen Netzwerken wissen gar nicht, wer sich alles ihre privaten Bilder
oder Gästebucheinträge anschaut und wofür diese Daten benutzt. Aufgrund dessen machen sich viele keine Gedanken
darüber, welche Art von persönlichen Information, zum
Beispiel Fotos “von der letzten Party”, sie in ihrem Profil
veröffentlichen. Dies kann jedoch für die spätere Karriere
zum Problem werden, da heutzutage von vielen Firmen die
Profile möglicher, zukünftiger Mitarbeiter angeschaut werden,
bevor diese schließlich eingestellt werden. 2 Sogar nach dem
löschen des eigenen Profils bleiben die Daten bei einigen OSN
Providers weiterhin gespeichert und man hat keinen Einfluss
mehr auf die Daten.
Zu den Problemen eines OSN mit einem zentralen Server
gehören unter anderem Sicherheit, Datenschutz, Kosten und
Last des Servers.
Um einige Probleme von herkömmlichen Client-Server
OSNs zu lösen, gibt es einige dezentralisierte Peer-to-Peer
1 Top
100 Soziale Netzwerke in Deutschland: http://online-ich.de/20100125/
top-100-soziale-netzwerke-deutschland/
2 http://www.50hz.de/karrierefalle-das-internet-ist-auch-ein-privater-raum/
(P2P) Ansätze. Einer der Hauptvorteile eines P2P Online
Social Networks ist, dass es keinen zentralen Server gibt. Die
Kommunikation zwischen 2 Benutzern des OSN findet also
nicht über einen Server, sondern direkt zwischen 2 Benutzern
oder über andere Peers in diesem Netzwerk statt.
Im weiteren Verlauf dieses Papers wird zuerst auf ein
paar Grundlagen und Definitionen eingegangen (Kapitel II).
Im Kapitel III werden auf die Vor- und Nachteile einer
dezentralen Architektur eingegangen. Im Anschluss werden
die Ziele (Kapitel IV-A) und Probleme (Kapitel IV-B) in Peerto-Peer Online Social Networks erklärt. Daraufhin werden die
gefundenen Lösungsansätze den jeweiligen Zielen zugeordnet
(Kapitel V). Im Kapitel VI werden die Hauptfunktionen eines
Sozialen Netzwerkes beschrieben. Dazu werden die drei P2P
Ansätze PeerSoN, Safebook und LifeSocial verglichen. Im
Weiteren wird im Kapitel VII auf das Thema Datenschutz,
im Kapitel VIII auf das Thema Sicherheit, im Kapitel IX
auf die Verfügbarkeit und Kapitel X auf Integrität von Daten
eingegangen. Zum Ende des Papers wird in Kapitel XI ein
Fazit gezogen.
II. G RUNDLAGEN UND D EFINITIONEN
A. DHT
Eine DHT ist eine verteile Hashtabelle und ist eine spezielle
Art eines P2P Netzwerks. Die Grundfunktion einer DHT
ist das Speichern von Daten in einem P2P Netzwerk. Dazu
können Daten in einem (key, value) Paar gespeichert werden.
Mit Hilfe des ”key“ kann dann die “value” ausgelesen werden.
OpenDHT, KAD und FreePastry sind einige von vielen DHT
Implementierungen. KAD (Kademlia) hat den Vorteil, dass
jeder Peer einer Identität zugewiesen werden kann.
B. OSN
“Online Social Network” Ein Online Social Network ist,
ganz allgemein, ein Service im Internet, dass Kommunikation
und Freundschaftsbeziehnungen zwischen Personen im Internet ermöglicht. Beispiele für große Soziale Netzwerke sind:
Facebook, MySpace, StudiVZ, und viele mehr.
C. P2P OSN
Ein Soziales Netzwerk, dass auf einer Peer-to-Peer Lösung
basiert.
D. Ein Peer eines P2P OSN
Ein Peer eines P2P OSN ist zum Beispiel Ein Computer,
Laptop, Smartphone oder ähnliches, welches am P2P OSN
teilnimmt.
114
P2P ONLINE SOCIAL NETWORKS
E. Man-In-The-Middle Angriff
Bild 1: Man In The Middle 3
Bei diesem Angriff kann “Mallory” (Bild 1) die Daten zwischen “Alice” und “Bob” abhören, manipulieren oder unterdrücken. “Alice” und “Bob” müssen davon nichts mitbekommen.
F. Sybil Attack
Eine Sybil Attacke passiert wenn ein P2P Netzwerk von
einem Angreifer mit vielen gefälschten Identitäten “besetzt”.
Dadurch hat der Angreifer Kontrolle über einen Teil des
Netzwerks und kann damit unter anderem Daten unterdrücken,
falsch weiterleiten usw.
Bild 2: Struktur eines Matryoshkas [9]
Matryoshkas bei Safebook sind ineinander verschachtelte
Ringe. Der innerste Knoten ist eine Person bzw ein Peer.
Im innersten Ring befinden sich die Kontakte dieser Person.
Im 2. Ring werden die Kontakte der Benutzer des 1. Rings
gespeichert (Freundesfreunde). Die nachfolgenden Ringe sind
gleichermaßen aufgebaut: Freunde der Freundesfreunde, Freunde der Freunde der Freundesfreunde, usw. Die Benutzer
ab dem 2. Ring müssen jedoch nicht unbedingt in einer
Beziehung zueinander stehen. Die Verbindungen zwischen den
Knoten in Bild 2 sind die Kontaktbeziehungen zwischen den
einzelen Personen.
J. TIS
G. Eclipse Attack
Bei einer Eclipse Attacke kann als Fortführung einer Sybil
Attacke gesehen werden. Dabei hat ein Angreifer so viel
Kontroller über ein P2P Netzwerk, dass er dieses Netzwerk
zum Beispiel in mehrere Teile aufspalten kann.
H. Impersonation Attack
Bei einem Impersonation Attack geht es hauptsächlich
darum, dass versucht wird eine falsche Identität vorzutäuschen.
In einem P2P OSN wäre das der Fall, wenn sich ein Benutzer
als ein anderer ausgeben könnte.
I. Matryoshka
Matryoshkas sind eigentlich kleine Holzfigürchen
die man ineinander setzen kann. Dieses Prinzip
wird zum Beispiel von Safebook als Modell zur
Speicherung von Daten im P2P Netzwerk verwendet.
3 Quelle
Bild 1: http://en.wikipedia.org/wiki/Man-in-the-middle_attack
“Trusted Identification Service”. Dieser Service wird von
Safebook verwendet, um jedem Benutzer eine eindeutige
Identität zu geben. [10]
III. D EZENTRALE A RCHITEKTUR
A. Vorteile
Da herkömmliche OSNs auf einem zentralen Server liegen,
liegt der gesamte Traffic auf diesem einen Server. Umso mehr
Benutzer ein solches OSN haben, umso teurer ist der Server.
Bei einem P2P Ansatz gibt es keinen zentralen Server
und die Last wird auf die einzelnen Peers verteilt. Ein Peer
in einem P2P System ist ein Benutzer des Netzwerks (zum
Beispiel ein PC, Notebook, PDA, Smartphone).
Dadurch entstehen für den Betreiber eines P2P OSN weniger
Kosten. Darüber hinaus muss der Betreiber bei einem wachsenden OSN die Infrastruktur nicht selbst erweitern, da sich
die Infrastruktur in einem P2P Netzwerk, durch die hinzukommenden Peers, selbst erweitert. Umso größer ein solches
P2P Netzwerk wird, desto robuster wird es.
B. Nachteile
Da bei P2P OSNs kein zentraler Service Provider vorhanden
ist, gibt es niemanden, der bösartige oder illegale Inhalte löscht
oder bösartige Benutzer sperrt. [3]
115
P2P ONLINE SOCIAL NETWORKS
IV. Z IELE UND P ROBLEME VON P2P OSN
A. Ziele
• Datenschutz kann verbessert werden, da jeder Peer selbst
Kontrolle über seine Daten hat und diese nicht auf einem
Server gespeichert werden.
• Sicherheit kann verbessert werden, da es zum Beispiel
keinen zentralen Server gibt, der zum Ziel eines Angriffs
werden kann.
• Performance kann verbessert und Kosten können verringert werden, da die Rechenlast auf den Peers verteilt
werden kann.
• Filesharing - Hiermit kann man zum Beispiel mit seinen
Freunden Daten austauschen.
B. Probleme
• Wo werden die Daten gespeichert?
• Was passiert, wenn ein Peer offline geht?
• Wie und wo kann ich mich im Netzwerk registrieren?
• Wie und wo kann ich mich im Netzwerk einloggen?
• Wie stellt man Datenschutz sicher?
• Wie verhindert man Manipulation von Daten?
• Wie kann man nach Kontakten suchen?
• Was passiert, wenn viele Peers gleichzeitig offline gehen?
V. E INORDNUNG DER GEFUNDENEN A NSÄTZE
A. PeerSoN
PeerSoN4 , welches eine Art Vorgänger von Safebook ist,
legt den Fokus auf Datenschutz und Sicherheit. PeerSoN ist
ein Prototyp eines P2P OSN. [3], [4] Dieses System basiert
auf einer DHT (OpenDHT).
B. Safebook
Safebook5 ist ein P2P Online Social Network, welches
sich auf Datenschutz und Sicherheit fokussiert. [9], [11]
Es kombiniert eine DHT und einen Ring des Vertrauens
(Matryoshka), in welchem Daten nur bei vertrauenswürdigen
Peers gespeichert werden. Safebook besteht aus folgenden 3
Hauptkomponenten: [11]
1) einige Matryoshkas (Siehe: II-I)
2) ein P2P Substrat (zum Beispiel DHT - Siehe: II-A)
3) ein “trusted identification service” (TIS - Siehe: II-J)
C. LifeSocial
LifeSocial6 legt den Fokus auf die Vorteile in Datenschutz,
Sicherheit, Performance und Kosten eines P2P OSN [5]–[7]
D. RetroShare, Tribler, Maze
RetroShare7 , Tribler8 [2], [13] und Maze [8] haben Filesharing als Ziel. Diese Systeme sind hauptsächlich Filesharing Programme, welche nur nebensächlich Funktionen eines
Sozialen Netzwerks implementieren. Aus diesem Grund wird
im Rest des Papers nicht weiter auf diese eingegangen.
4 PeerSoN:
http://www.peerson.net/
5 Safebook: http://www.safebook.us/
6 LifeSocial: http://www.lifesocial.org/
7 Retroshare: http://retroshare.sourceforge.net/
8 Tribler: http://www.tribler.org/
E. Likir
Ein P2P Framework [12] auf dem ein OSN aufgebaut
werden kann. Es hat als Hauptziel den Schutz vor Angriffen
(Sicherheit) wie Sybil und Eclipse Attack durch einen “identity based” DHT. Dazu definiert Likir eine neue Art von DHT,
welches auf KAD basiert. Likir besteht aus 3 Modulen
• Certification Service (CS), welcher einem Benutzer
während der Registrierungsphase eine eindeutige Benutzer Id zuweist.
• Ein Interaktions Protokoll, welches asymmetrische Verschlüsselung verwendet und signierte Ids auszutauschen.
• Ein Reputation System (RS), welches die Bewertung
anderer Peers erlaubt. So kann man Peers identifizieren,
die nicht vertrauenswürdig sind.
F. diaspora
“The privacy aware, personally controlled, do-it-all, open
source social network.”9
Dieses P2P OSN legt, wie die Definition schon sagt ihren
Fokus auf Datenschutz. Dieses Netzwerk wird hier nicht
weiter betrachtet, da es zu diesem Netzwerk keine veröffentlichten Papers oder Implementierungsdetails gibt.
G. HelloWorld
“HelloWorld” ist ein OpenSource und verteiltes soziales
Netzwerk. Bei diesem Netzwerk kann jeder Benutzer selbst
entscheiden, auf welchem Server seine Daten gespeichert
werden. Es bietet unter anderem auch ein P2P Client, für
das direkte Versenden und Empfangen von Nachrichten. Es
legt ebenfalls großen Wert auf Datenschutz. [1] 10 Wenn man
nämlich die Daten auf einem lokalen Server speichert, kann
man selbst entscheiden, welche Daten man zeigt, welche Daten
man ändert oder löscht. Dieses Netzwerk ist kein “klassisches”
P2P System. Es wird hier jedoch trotzdem erwähnt, da es ein
Ansatz zur Dezentralisierung eines Sozialen Netzwerks ist.
VI. G RUNDFUNKTIONEN EINES OSN
A. Account erstellen
Um an einem Sozialen Netzwerk teilzunehmen, muss
zuerst einmal ein Account erstellt werden. Dazu gibt es
unterschiedliche Strategien. Zum einen gibt es soziale Netze,
bei denen man von einem anderen Benutzer eingeladen
werden muss, um sich einen Account erstellen zu könnnen.
Das hat den Vorteil, dass man nach der Registrierung bereits
einen Kontakt hat. Andere Netze widerrum erlauben eine
Registrierung ohne vorherige Einladung.
Einige der größeren sozialen Netzwerke wie Facebook oder
wer-kennt-wen änderten die Strategie nach einiger Zeit von
Einladung zur freien Registrierung.
1) PeerSoN: PeerSoN lässt eine freie Registrierung zu. Es
benutzt zur Identifizierung einen Hash der E-Mail Adresse
oder des öffentlichen Schlüssels des Benutzers.
9 diaspora:
http://www.joindiaspora.com/
http://www.helloworld-network.org/
10 HelloWorld:
116
P2P ONLINE SOCIAL NETWORKS
2) Safebook: Safebook erlaubt nur Registrierungen durch
vorherige Einladung. [9] Dies hat den Vorteil, dass die Verfügbarkeit des eigenen Profils besser gesichert ist. Weitere
Informationen dazu im Kapitel IX. Nachdem sich der Benutzer
registriert hat, wird dessen Matryoshka aufgebaut. Diese Matryoshka wird beim Account erstellen einmal angelegt und im
Weiteren immer aktuell gehalten.
3) LifeSocial: LifeSocial bietet die Möglichkeit einer freien
Registrierung durch Angabe eines Benutzernamens und eines
Passworts. Danach wird ein minimales Profil, ein privater und
ein öffentlicher Schlüssel für diesen Benutzer angelegt.
B. Einloggen
Wenn man einen Account erstellt hat, muss man sich
mit diesem im OSN anmelden können. In OSNs wie
Facebook oder MySpace passiert dies durch Angabe von
Benutzername/E-Mail Adresse und dem Passwort. Bei diesen
Netzwerken meldet man sich am zentralen Server an. Bei P2P
OSNs gibt es zwei Möglichkeiten dies umzusetzen. Anmelden
bei
•
•
einem beliebigen Peer
bei speziellen Peers (z.B. den eigenen Kontakten)
1) PeerSoN: Bei PeerSoN findet der Login bei einem beliebigen Peer statt. Nach erfolgreichem Login sendet PeerSoN
eine Meldung an den DHT, dass der Peer nun online ist.
2) Safebook: Die Anmeldung bei Safebook erfolgt nur bei
Peers innerhalb des eigenen Matryoshka. Der Anmeldeprozess
startet dabei am äußersten Ring der Matryoshka. [9]
3) LifeSocial: LifeSocial [5] bietet die Möglichkeit der
Anmeldung an einem beliebigen Peer im Netzwerk. Die
Anmeldung funktioniert ähnlich wie die Registrierung. Wenn
im Registrierungsverfahren festgestellt wird, dass der Benutzer
bereits existiert, dann wird dieser angemeldet. Dazu sendet der
Peer, der zur Anmeldung benutzt wird, eine Anfrage an andere
Peers, um die vom Benutzer eindeutige nodeID zu suchen.
C. Kontakte verwalten
Ein Soziales Netz kann man als einen Graph aus Kontakten
verstehen. Um diesen Graph zu erweitern, muss ein soziales
Netzwerk die Möglichkeit bieten, die eigenen Kontakte zu
verwalten. Hierfür gibt es in sozialen Netzwerken unterschiedliche Umsetzungsmöglichkeiten.
•
•
Jeder Benutzer kann seine Kontakte hinzufügen, ohne
vom anderen Benutzer eine Bestätigung zu bekommen.
Dieser Fall führt zu einem Graph, bei dem es Kanten
(Kontaktbeziehungen) in eine oder in beide Richtungen
gibt. (Gerichteter Graph)
Eine Kontaktanfrage muss vom Empfänger zuerst akzeptiert werden, damit dieser Kontakt in die Kontaktliste
aufgenommen wird. Dies führt zu einem ungerichteten
Graph.
Bei allen vorgestellten P2P OSNs muss aus Datenschutzgründen eine Kontaktanfrage vom Empfänger akzeptiert werden.
D. Daten mit den Kontakten austauschen
Eine weitere Grundfunktion ist das Austauschen von Daten
mit den eigenen Kontakten in Form von Nachrichten, Statusmeldungen, Bildern, Blogeinträgen, Gästebucheinträgen oder
ähnlichem.
In den vorgestellten P2P OSN (PeerSoN, LifeSocial,
Safebook) wird großen Wert auf Datenschutz gelegt. Deswegen werden alle Daten zwischen beiden Kommunikationspartnern verschlüsselt. Mehr dazu im Kapitel VII.
E. Asynchrone Nachrichten
In OSN kann man ebenfalls Nachrichten schreiben, auch
wenn der betreffende Benutzer gerade offline ist. Sobald
dieser wieder online geht, soll er diese Nachricht erhalten. In
Client-Server basierten Systemen können diese Nachrichten
einfach in einer Datenbank gespeichert und beim nächsten
Login wieder aus der Datenbank ausgelesen werden. Bei P2P
Netzwerken muss dazu eine andere Lösung gefunden werden.
1) PeerSoN: Wenn Bei PeerSoN eine Nachricht von Peer
A nach Peer B gesendet wird, dann wird im OpenDHT
nachgeschaut, ob Peer B online ist. Wenn ja, dann wird
diese Nachricht direkt an Peer B gesendet. Wenn Peer B
allerdings offline ist, dann wird die Nachricht im OpenDHT
zwischengespeichert. Die Nachrichten werden allerdings nur
1 Woche zwischengespeichert und sie dürfen eine Länge
von 800 Zeichen nicht überschreiten. (Limitierungen von
OpenDHT) [4]
2) Safebook: Safebook bietet ebenfalls die Möglichkeit
von Offline-Nachrichten. Diese werden gleich behandelt wie
Profil-Informationen.
3) LifeSocial: LifeSocial benutzt einen DHT Overlay, um
diese Offline-Nachrichten zwischen zu speichern.
F. Kontakte suchen
Um ein Soziales Netzwerk aufzubauen, muss man seine
Kontakte in diesem Netzwerk erst einmal finden. Dazu wird
von OSNs eine Suche nach Kontakten angeboten. Das ist in
P2P Systemen eine größere Herausforderung, da man keine
zentrale Datenbank hat, in der alle Benutzer verwaltet werden.
Des Weiteren ist dies bei den vorgestellten P2P Systemen
nicht mehr so gut lösbar. Um eine Person um Internet finden
zu können muss man zum Beispiel dessen Namen, Wohnort,
Interessen oder ähnliche Informationen über den Benutzer
öffentlich zur Verfügung stellen. Wenn allerdings, wie in den
bekannten Systemen, standardmäßig alle Informationen vor
anderen Benutzern versteckt wird und man eigentlich nur die
Existenz eines Benutzers feststellen kann werden Suchanfragen häufig erfolglos bleiben. Benutzer könnten zum Beispiel
direkt eingeladen werden oder Kontakte in der Kontaktliste
der eigenen Kontakte finden.
Man könnte in einem P2P OSN eine Suchfunktion implementieren, in dem man einen Kompromiss bei den Datenschutzeinschränkungen eingeht oder man den Benutzern erlaubt Inhalte
zu veröffentlichen, die jeder Peer es Netzwerks lesen kann.
In diesem Fall könnte man eine Suchanfrage, mit einer bestimmten TTL (time to live), an alle Kontakte schicken. Die
Kontakte leiten diese Suchanfrage dann weiter bis die TTL
abgelaufen ist.
117
P2P ONLINE SOCIAL NETWORKS
VII. DATENSCHUTZ
Datenschutz in OSNs geht nicht nur um den Schutz von
Profilinformationen, welche der OSN Benutzer seinen Kontakten zur Verfügung stellt, sondern auch um die Versendung
von Daten zwischen dem Benutzer und seinen Kontakten. Es
geht auch darum, dass dies nicht nachverfolgt werden kann.
Diese Daten könnten zum Beispiel Nachrichten, Bilder oder
ähnliches sein.
A. PeerSoN
Der Datenschutz wird bei PeerSoN durch Verschlüsselung
der Daten erreicht. Dazu wird mit privaten und
öffentlichen Schlüsseln gearbeitet, um den Kontakten
Zugang zu persönlichen Informationen zu erlauben.
Neben der Verschlüsselung verwendet PeerSoN auch
eine Rechteverwaltung (Access Control). Mit dieser
Rechteverwaltung können die Benutzer festlegen, wer
welche Daten sehen darf. [4]
B. Safebook
Safebook setzt auf das Vertrauen zu den eigenen
Kontakten [9]. Im Normalfall werden alle persönlichen
Informationen über einen Benutzer versteckt. Nur die
ausgewählten Kontakte haben gesonderte Rechte und können
Informationen über den Benutzer abfragen. Des Weiteren
bietet Safebook auch die Möglichkeit einer detaillierten
Rechteverwaltung, in welcher jedes Attribut des Profils
berücksichtigt wird. Beim Veröffentlichen von Daten wird
ausgewählt, welcher Klasse diese Daten angehören. Diese
Klassen sind: private (Nicht veröffentlicht), protected
(veröffentlicht und verschlüsselt) und public (veröffentlicht
und unverschlüsselt). [9] Jede Kommunikation zwischen
2 Benutzern ist geheim, so dass niemand Informationen,
außer den beiden Kommunikationspartnern, aus Request
und Response beziehen kann. Dazu verwendet Safebook
Multi-Hop Routing [11] von außen nach innen, durch die
Ringe des Matryoshkas.
C. LifeSocial
LifeSocial verwendet, wie PeerSoN, auch eine
Verschlüsselung und eine feingranulare Rechteverwaltung.
[5] Wenn ein Benutzer neue Daten verfasst, dann werden
diese Daten mit einem symmetrischen Schlüssel verschlüsselt.
Danach kann von dem Benutzer ausgewählt werden, welche
anderen Benutzer Zugriff auf diese Daten haben dürfen. Der
symmetrische Schlüssel wird mit jedem öffentlichen Schlüssel
der berechtigten Benutzer verschlüsselt, so dass dieser mit
ihrem privaten Schlüssel entschlüsselt werden kann. So wird
sichergestellt, dass nur die Benutzer, die einen passenden,
privaten Schlüssel haben, die Daten entschlüsseln können.
Alle vorgestellten P2P OSNs haben zusätzlich noch den
Vorteil der Dezentralisierung, da die Daten bei einem P2P
OSN nicht, wie bei einem normalen OSN, auf einem zentralen
Server gespeichert werden. Durch diese Dezentralisierung ist
das OSN unabhängig vom Betreiber und ein Missbrauch der
Daten durch den Provider des OSN wird verhindert.
VIII. S ICHERHEIT
Bei P2P Systemen ist es noch wichtiger als bei WebAnwendungen Benutzerdaten zu verschlüsseln, da die Daten
nicht nur auf einem Server, sondern auf vielen Peers liegen.
Sollte man die Daten nicht verschlüsseln, könnten Daten von
unberechtigten Benutzern ausgelesen oder manipuliert werden.
In den vorgestellten P2P OSN werden alle Daten verschlüsselt.
Bei einem zentralen Server besteht die Gefahr eines Angriffs,
wodurch es zu Missbrauch der Benutzerdaten kommen könnte.
Ausgeschlossen ist solch ein Angriff bei einem dezentralen
Netzwerk, da die Daten nicht auf einem zentralen Server
liegen. Sollte ein Angriff auf einen einzelnen Peer gelingen, wären die Konsequenzen viel geringer, als auf einem
zentralen Server, da die Daten nur einen einzelnen Benutzer
des OSNs betreffen. Es werden ebenfalls alle Nachrichten
zwischen Benutzern verschlüsselt, vom Absender signiert und
vom Empfänger verifiziert. Dadurch wird ein “Man-in-themiddle” Angriff verhindert.
Es werden folgende Angreifer unterschieden: [9]
• ein bösartiger Benutzer
• ein bösartiger Provider
• ein Angreifer, der den Datenverkehr abhören oder manipulieren kann
A. Safebook
Safebook verwendet zur Authentifizierung einen “trusted
indentification service” (TIS - Siehe: II-J) welcher “Sybil”
und “impersonation attacks” verhindert [10], indem er jedem
Benutzer ein eigenes Pseudonym, eine NodeID und ein zugehöriges Zertifikat zuweist. Das Pseudonym wird als ”key“ für
die DHT verwendet.
B. PeerSoN
PeerSoN verwendet einen nicht vertrauenswürdigen externen Service (OpenDHT - Siehe: II-A). Dadurch ist die
Sicherheit und Privatsphäre bei PeerSoN schwächer als bei
Safebook. [9]
Benutzer in PeerSoN haben zur Identifizierung eine GUID
(Global Unique Id), welche ein Hash der E-Mail Adresse oder
ein Hash des öffentlichen Schlüssels des Benutzers ist.
PeerSoN ist allerdings nicht gegen Impersonation und Sybil
Attacks geschützt. Es wird zwar eine mögliche Lösung gegen
Impersonation Attacks mit Hilfe eines Challenge/Response
Protokoll erwähnt, wurde aber in PeerSoN bisher nicht implementiert. Sybil Attacken können nicht abgewendet werden, da
es ist nämlich kein Problem viele E-Mail Adressen zu besitzen.
C. LifeSocial
LifeSocial benutzt wie PeerSoN einen externen DHT:
“FreePastry” [6]. Nach der Registrierung wird der Benutzer
118
P2P ONLINE SOCIAL NETWORKS
mit einer eindeutigen userId und Authentifizierungsinformationen ausgestattet. Damit kann er sich dann bei jedem beliebigen Peer einloggen. Dadurch ist ein Impersonation Attack
ausgeschlossen. Durch die freie Registrierung ist eine Sybil
Attake wie auch bei PeerSoN möglich.
IX. V ERFÜGBARKEIT
Ein Problem von P2P OSNs ist die Verfügbarkeit von
Informationen eines Peers, wenn dieser offline geht. Des
Weiteren muss man auch Peers, die offline sind, Daten (z.B.
Nachrichten) senden können.
Die Problematik bei P2P besteht darin, dass die Daten irgendwo zwischengespeichert werden müssen. Falls dies nur
bei dem Benutzer selbst passieren würde, wären die Daten
weg, sobald er offline geht. Ein weiteres Problem ist, Daten
aktuell zu halten. Wenn Daten zum Beispiel redundant auf
mehreren Peers existieren und der Besitzer ein Update der
Daten macht, dann müssen alle Peers, die die alten Daten
halten, aktualisiert werden. Eine wichtige Frage hierbei ist,
wo Daten gespeichert werden. Möglichkeiten zur Datenspeicherung wären zum Beispiel: [3]
• in einer verteilten Hashtabelle (DHT)
• bei zufälligen Peers
• bei den Kontakten
A. PeerSoN
PeerSoN verwendet beispielsweise eine verteilte Hashtabelle (DHT), um Daten der Benutzer verfügbar zu halten.
B. LifeSocial
LifeSocial
benutzt
dafür
einen
“Storage
and
Replication Layer”, der die Funktionalität einer verteilten
Hashtabelle (DHT) mit ID-Based Routing und Key-Based
Routing implementiert, um zum Beispiel Freundelisten,
Gruppenmitgliedschaften, Alben-Listen und Foto-Listen zu
speichern. [6]
A. Safebook
Safebook verwendet neben signieren auch noch den TIS
(Definition: II-J) um sicherzugehen, dass die Daten auch vom
Richtigen signiert werden.
B. LifeSocial
Bei LifeSocial hat jeder Benutzer eine eindeutige userId und
Authentifizierungsinformationen.
XI. FAZIT
In diesem Paper wurden Kernfunktionalitäten eines
OSNs und die Lösungsansätze der drei wichtigsten P2P
OSN vorgestellt. Soziale Netze werden im Internet immer
populärer und es kommt in diesen Netzwerken immer wieder
zu Datenklau oder Verkauf an dritte. Um die Daten der Nutzer
zu schützen, wäre eine dezentrale Lösung besser geeignet,
als eine Client-Server Lösung. Durch die Dezentralisierung
würden die Daten zum einen gegen Angriffe des Providers
geschützt werden und zum anderen auch die Benutzerdaten
nicht, vom Provider, an Dritte verkauft werden.
Anders als bei Client-Server Lösungen muss jedoch verstärkt
auf die Verschlüsselung geachtet werden, weil die Daten
meist redundant auf verschiedenen Peers gespeichert werden.
Ob sich ein solches Netzwerk in näherer Zukunft, in
größerem Umfang, durchsetzen wird, ist jedoch fraglich.
Soziale Netzwerke leben eher von der Vielzahl von Funktionen, als von der Sicherheit von Daten. Das kommt daher, dass
sich der Großteil der Benutzer eines sozialen Netzwerkes sich
keine Gedanken macht, was mir den eigenen Daten passiert.
Außerdem hat eine Vielzahl von Funktionen den Vorteil, dass
das Soziale Netzwerk nicht so schnell langweilig wird und die
Benutzer länger eingeloggt bleiben.
Des Weiteren werden viel mehr finanzielle Mittel in kommerzielle Soziale Netze investiert, als in Netzwerke, bei denen
niemand etwas verdient.
C. Safebook
Safebook löst dieses Problem mit Hilfe von Matryoshkas.
Das bedeutet, dass die Daten eines Peers ebenfalls bei den
Kontakten (des innersten Rings des Matryoshka) dieses Peers
liegen. Desto mehr Kontakte man hat, umso besser ist die
Verfügbarkeit. Tests haben gezeigt, dass drei bis vier Ringe
eines Matryoshka und ca. 23 Kontakte ausreichen, um 90%
Verfürbarkeit zu erreichen. [10] Sollte ein Peer allerdings nur
wenige Kontakte haben, ergeben sich daraus Nachteile in der
Verfügbarkeit der Daten.
Die eigenen Benutzerdaten werden verschlüsselt bei den
Kontakten gespeichert. [9] Ein Vorteil bei diesem Verfahren
ist die Vereinfachung von Updates [3].
X. I NTEGRITÄT
Bei der Integrität geht es darum, dass personenbezogene
Daten nicht von unberechtigten Benutzern modifiziert werden
dürfen. Hierfür könnten zum Beispiel diese Daten vom Besitzer signiert werden.
119
R EFERENCES
[1] HelloWorld: An Open Source, Distributed and Secure Social Network.
2009. V-G
[2] S.M.A. Abbas, J.A. Pouwelse, D.H.J. Epema, and H.J. Sips. A gossipbased distributed social networking system. In Proceedings Wetice 2009,
pages 93–98. IEEE CS Press, 2009. V-D
[3] Sonja Buchegger and Anwitaman Datta. A Case for P2P Infrastructure
for Social Networks - Opportunities and Challenges. Snowbird, Utah,
USA, February 2-4, 2009. III-B, V-A, IX, IX-C
[4] Sonja Buchegger, Doris Schiöberg, Le Hung Vu, and Anwitaman Datta.
PeerSoN: P2P Social Networking - Early Experiences and Insights.
Nürnberg, Germany, March 31, 2009. V-A, VI-E1, VII-A
[5] Kalman Graffi, Patrick Mukherjee, Burkhard Menges, Daniel Hartung,
Aleksandra Kovacevic, and Ralf Steinmetz. Practical security in p2pbased social networks. In IEEE Society, editor, The 34th Annual IEEE
Conference on Local Computer Networks (LCN), Piscataway, NJ, USA,
Oct 2009. IEEE Computing Society, IEEE. V-C, VI-B3, VII-C
[6] Kalman Graffi, Sergey Podrajanski, Patrick Mukherjee, Aleksandra
Kovacevic, and Ralf Steinmetz. A distributed platform for multimedia
communities. In IEEE International Symposium on Multimedia (ISM
’08), page 6, Berkley, USA, Dec 2008. IEEE, IEEE Computer Society
Press. V-C, VIII-C, IX-B
[7] Kalman Graffi, Dominik Stingl, Julius Rückert, Aleksandra Kovacevic,
and Ralf Steinmetz. Monitoring and management of structured peerto-peer systems. In 9th International Conference on Peer-to-Peer
Computing 2009, pages 311–320. IEEE Computer Society, Sep 2009.
V-C
P2P ONLINE SOCIAL NETWORKS
[8] Jinqiang Han Hua Chen, Xiaoming Li. Maze: a Social Peer-to-peer Networking. IEEE International Conference on E-Commerce Technology
for Dynamic E-Business, 2009. V-D
[9] Refik Molva Leucio Antonio Cutillo and Thorsten Strufe. Safebook:
A Privacy-Preserving Online Social Network Leveraging on Real-Life
Trust. IEEE Communications Magazine, 2009. II-I, V-B, VI-A2, VI-B2,
VII-B, VIII, VIII-B, IX-C
[10] Refik Molva Leucio Antonio Cutillo and Thorsten Strufe. Safebook:
Feasibility of transitive cooperation for privacy on a decentralized
social network. World of Wireless, Mobile and Multimedia Networks
(WoWMoM), 2009. II-J, VIII-A, IX-C
[11] Thorsten Strufe Leucio Antonio Cutillo, Refik Molva and Sophia Antipolis. Privacy Preserving Social Networking Through Decentralization.
2010. V-B, VII-B
[12] Giancarlo Ruffois Luca Maria Aiello. Secure and Flexible Framework
for Decentralized Social Network Services. 2010. V-E
[13] J.A. Pouwelse, P. Garbacki, J. Wang, A. Bakker, J. Yang, A. Iosup,
D.H.J. Epema, M. Reinders, M. van Steen, and H.J. Sips. Tribler:
A social-based peer-to-peer system. Concurrency and Computation:
Practice and Experience, 20:127–138, February 2008. V-D
120
USER BEHAVIOR MODELING IN P2P SYSTEMS
User Behavior Modeling in P2P Systems
Malcolm Parsons
Zusammenfassung—Die Simulation von P2P-Systemen stellt
eine wichtige Methode dar, um die Performanz von P2PAnwendungen zu evaluieren. Damit realistische Simulationen
durchgeführt werden können, muss ein realitätsnahes Benutzermodell verwendet werden. Untersuchungen zeigen, dass die
Verwendung von realitätsfernen Benutzermodellen zu unzureichenden Simulationsergebnissen führen. Dies hat zur Folge, dass
ein veröffentlichtes Produkt im praktischen Einsatz Schwächen
in der Performanz aufweisen kann.
Diese Arbeit führt in den Prozess der Erstellung von Benutzermodellen ein und präsentiert Arbeiten, die Benutzerverhalten
sammeln, analysieren und Benutzer- und somit auch Workloadmodelle erstellen, um P2P-Anwendungen in realen Situationen
evaluieren zu können. Es werden hierbei verschiedene Modelle
für unterschiedliche P2P-Anwendungen im Bereich File-Sharing,
Video-on-Demand und Online-Gaming vorgestellt.
Verhaltensmodellierung von Nutzern hat sich zu einem wichtigen
Forschungsbereich entwickelt, indem noch viele Forschungsmöglichkeiten existieren.
I. E INFÜHRUNG
A. Motivation
Benutzermodell sind Modelle, welche das Verhalten von
Nutzern an einem System oder in einer Anwendung modellieren. Solch ein Modell kann zur Generierung von Workload
genutzt werden. Laut Calzarossa et al. [2] wird der Begriff
Workload als „Anfragen oder Befehle die vom System verarbeitet werden“ definiert. In manchen Arbeiten wird der Begriff
von Benutzermodellen und Workloadmodellen gleichermaßen
verwendet.
Benutzermodelle sind essentiell für die Simulation und Evaluation von Anwendungen. Um eine Anwendung wie P2PAnwendungen, Computersysteme, Netzwerke oder Serverarchitekturen testen zu können, existieren zwei Möglichkeiten.
Die erste ist der Aufbau einer realen Testumgebung mit
physischen Maschinen und Netzwerken. Die zweite Möglichkeit besteht in der Simulation einer Testumgebung. Der erste
Ansatz eignet sich meist für kleinere Systeme mit geringeren
Teilnehmern und einer kleinen Aufgabe. Zum Beispiel wurden
klassische Serverarchitekturen auf diese Art getestet. In [1]
wurde z.B. ein verteilter Dateiserver an einer Universität
evaluiert.
Steigt jedoch der Umfang des zu testenden Systems, soll z.B.
die Auslastung und Performanz einer neuen P2P-File-SharingAnwendung mit mehr als 1000 Teilnehmern evaluiert werden,
so macht eine simulationsbetriebene Evaluation Sinn. Es ist
meist deutlich einfacher, 1000 Teilnehmer zu simulieren, als
1000 reale Computer inklusive der jeweiligen Benutzer für
einen Test zu verwenden.
Damit eine P2P-Anwendung auf Performanz und Design etc.
evaluiert werden kann, wird ein Modell zur Simulation des
Benutzerverhaltens benötigt. Das für die Simulation verwendete Benutzerverhaltensmodell hat einen maßgeblichen Einfluss
auf das Simulations- und Evaluationsergebnis. So kann eine
sehr umfangreiche Simulation für eine P2P-Anwendung durchgeführt werden, dessen Ergebnisse auf einen guten Einsatz
schließen lassen. Weicht das reale Verhalten der Benutzer
jedoch von dem geschätzten Verhalten in der Simulation ab,
so sind alle Simulationsergebnisse bedeutungslos. Pussep et
al. [12] untersuchen die Auswirkungen von unterschiedlichen
Benutzermodellen auf ein zu testendes System. Laut ihren
Ergebnissen wirken sich unterschiedliche Benutzerverhaltensmodelle unterschiedlich auf die Belastung eines Systems aus.
Ein weiterer Grund – und eine Herausforderung – für die
Notwendigkeit fundierten Wissens über das Verhalten von
Benutzern in P2P-Anwendungen sind die P2P-spezifischen Eigenschaften. Jeder Teilnehmer einer P2P-Anwendung beteiligt
sich in fast jedem Fall an der Verteilung des betreffenden
Inhaltes dieser Anwendung. Durch die dezentrale Struktur
des Netzes existiert kein zentraler Punkt, um Messungen
durchführen zu können. Es ist somit schwieriger, Erkenntnisse
und Messergebnisse – und vor allem Schätzungen – über das
Verhalten von Nutzern zu erhalten, als dies in den klassischen
Client-Server-Architekturen der Fall war. Dies ist ein wichtiger
Punkt, um organisierte und wissenschaftliche Untersuchungen
zu diesem Thema durchzuführen.
Realitätsnahe Verhaltensmodelle sind somit unabdingbar, um
genaue Erkenntnisse über Auslastung und Performanz einer
Anwendung zu erhalten. Nur dann können Rückschlüsse bezüglich der Tauglichkeit des Systems bei einem realen Einsatz
gezogen werden und dessen Dynamik verstanden werden.
Des Weiteren spielen wirtschaftliche Interessen eine wichtige Rolle, da durch geeignete Simulationen die Entwicklung
(Software- als auch Hardware-Seite) von über-proportionierten
Produkten vermieden werden kann. Auch der Vergleich mit
Konkurrenzprodukten (Benchmark) ist ein Anwendungsgebiet.
B. Ziel
Ein ideales Verhaltensmodell wäre eines, welches mittels
Parameter für jegliche P2P-Anwendung (z.B. File-Sharing,
Online-Gaming, Video-on-Demand) eingesetzt werden könnte.
Die Parameter könnten immer weiter verfeinert werden und
die Last für das System immer weiter erhöht werden, solange,
bis die Auslastungs- und Performanzgrenze der jeweiligen
Anwendung gefunden ist. Auf diese Weise gäbe es ein Benchmarkingmodell, welches für alle Anwendungen einsetzbar
wäre.
Ein solches universell einsetzbares Modell zu erstellen, ist
jedoch sehr schwierig. Das Verhalten von Benutzern variiert
stark bei verschiedenen Anwendungen. So verfolgen Nutzer
bei File-Sharing-Anwendungen und bei Online-Spielen völlig
unterschiedliche Strategien. Bisher wird das Verhalten von
Nutzern eher anwendungsspezifisch untersucht und modelliert.
121
USER BEHAVIOR MODELING IN P2P SYSTEMS
Allein hier gibt es bereits eine große Zahl von Parametern, mit
denen ein Modell angepasst werden kann. Alle im Zuge dieser
Arbeit gefundenen Modelle beschäftigen sich mit spezifischen
P2P-Anwendungen oder Anwendungsgebieten.
B. Modelltypen
Es gibt verschiedene Arten von Workloadmodellen:
•
C. Voraussetzung
Die Voraussetzung, um ein realistisches Modell entwickeln
zu können, ist ein fundiertes Wissen über die Verhaltensweise
von Benutzern. Der erste Schritt ist demnach das
Benutzerverhalten in einem realen System zu analysieren.
Ein mögliches Vorgehen wäre eine Loggingfunktionalität in
eine Anwendungen einzufügen, die das Benutzerverhalten
in Logdateien schreibt. Diese Dateien werden anschließend
analysiert. Eine detailgetreuere Beschreibung wird in II-C
vorgenommen.
Im weiteren Verlauf dieser Arbeit beschäftigt sich Abschnitt II
mit der Charakterisierung, Beschreibung und Modellierung
von Nutzer- und somit auch Workloadmodellen. Abschnitt III
stellt einige, in verschiedenen Arbeiten analysierte,
Verhaltensweisen von Nutzern zu spezifischen Anwendungen
vor. Abschnitt IV enthält eine Zusammenfassung der Arbeit.
•
II. B ENUTZER -/W ORKLOAD -M ODELLE
In diesem Abschnitt wird auf die Eigenschaften, Anforderungen und die Erstellung von Benutzermodellen eingegangen.
Benutzermodelle repräsentieren das typische Verhalten von
Benutzern (die Wahrscheinlichkeiten von Aktionen, die in
einer bestimmten Situation durchgeführt werden). Somit kann
Workload für ein System generiert werden. Neben einem
konkreten Benutzermodell existieren noch andere Systeme für
die Erzeugung von Workload für ein zu testendes System.
•
A. Anforderungen
In diesem Abschnitt soll ein Überblick über die unterschiedlichen Phasen für die Konstruktion von Modellen gegeben
werden. Hierfür existieren verschiedene Ansätze und Verfahren. Des Weiteren muss festgelegt sein, was die Eigenschaften
(Kriterien) eines guten Modells sind und wie diese erreicht
werden. Bodnarchuk et al. [1] haben drei Anforderungen
(Kriterien) zusammengefasst, die die Güte von System bzw.
Modellen zum Generieren von Workload bestimmen sollen:
•
•
•
Genauigkeit (accuracy) eines Modells lässt sich durch
den Vergleich mit einem realen System bestimmen. Ist
die vom Modell generierte Auslastung eines zu testenden
Systems ähnlich zu der Auslastung im realen Einsatz, so
erfüllt das Modell dieses Kriterium.
Reproduzierbarkeit (reproducability) wird erfüllt, wenn
ein Modell zwei Workloads generieren kann, deren Effekt
auf einem zu testenden System nicht unterscheidbar ist.
Flexibilität (flexibility) ist von einem Modell erfüllt,
wenn es Auslastungen mit verschiedenen Charakteristiken generieren kann. Es kann also mittels Parametern
variiert werden.
Live-Load: Hierbei wird ein System real getestet. Zum
Zeitpunkt des Tests werden Benutzeraktionen zum Testen des Systems verwendet. Dieser Ansatz hat mehrere
Nachteile. Zum einen kann keine Aussage über die Repräsentativität des Workloads getroffen werden, da hier
nur Aktionen über eine gewisse Zeitspanne verwendet
werden. Der Workload besitzt eine hohe Genauigkeit,
jedoch nur für den Zeitraum des Tests. Es muss genau
untersucht werden, wie die Repräsentativität für die restliche – nicht getestete Zeit – ist. Ein Beispiel soll dies
verdeutlichen. Würde man einen File-Sharing-Server an
der Universität für einen Monat testen, so kann gesagt
werden, dass (wenn der Test im Mai stattfand) für den
Monat Mai das System getestet ist und die Auslastung
des Systems bekannt ist. Äußere Umstände – wie z.B.
Semesterferien oder besondere Veranstaltungen – die in
anderen Monaten eintreten, würden von dem Live-Load
jedoch nicht getestet sein.
Workload-Traces: Dies sind aufgezeichnete Anfragen an
das System und bieten Reproduzierbarkeit (anders als
Live-Loads) und Genauigkeit. Einer der größten Probleme besteht in der Speicherung der großen Datenmengen,
die Traces umfassen. Unpraktisch ist auch die Erfüllung
des Kriteriums der Flexibilität. Sollen Workloads mit
verschiedenen Charakteristiken vorhanden sein, so muss
für jedes solches ein eigener Trace erstellt werden.
synthetisches Workloadmodell: Ein synthetisches
Workloadmodell wird aus Traces erstellt und bietet die
Möglichkeit, zum einen weniger Platz zu benötigen
und zum anderen über Parameter verschiedene
Charakteristiken konfigurieren zu können. Der
geringe Verbrauch an Speicherplatz ist z.B. durch
die Funktionsweise eines solchen Modells zu erklären.
Das Modell besitzt innere Zustände. Von diesen
Zuständen aus werden – unter Berücksichtigung
diverser Abhängigkeiten in dem jeweiligen Zustand
– Entscheidungen getroffen. Solche Entscheidungen
umfassen die zu wählenden Aktionen (z.B. kann eine
Aktion A mit der Wahrscheinlich x ausgewählt werden).
Eine Beispiel für die Darstellung eines solchen Modells
ist Abbildung 1. Laut Calzarossa et al. [2] besitzt
ein synthetisches Modell auch noch die Eigenschaft
der Portabilität. Außerdem erfüllt es Genauigkeit,
Reproduzierbarkeit, Flexibilität. Letzteres ist erfüllt, da
das Modell parametrisiert ist.
In der Arbeit von Lo et al. [9] wurde untersucht, inwieweit
Workload-Traces und synthetische Workloadmodelle sich unterschiedlich auf die Performanz eins Systems auswirken. Das
Ergebnis war, dass die alleinige Auswahl eines der Modelle
kaum einen Unterschied aufweist.
C. Erstellung eines Modells
Die Erstellung eines Workloadmodells bedarf mehrere
Schritte, die im folgenden beschrieben werden sollen. Als
122
USER BEHAVIOR MODELING IN P2P SYSTEMS
erstes müssen Daten über die Aktionen, die Benutzer ausführen, gesammelt werden. Anschließend werden diese analysiert
und letztlich aus den gewonnenen Erkenntnissen ein Modell
erstellt.
a) Protokollierung: Der erste Schritt ist die Sammlung
von Aktionen, welche Benutzer in einer P2P-Anwendung
ausführen. Es ist wichtig zu wissen, was ein Nutzer zu welcher
Zeit für Aktionen ausführt. Ein mögliches Beispiel, um an
solche Informationen zu gelangen, wäre die Modifikation eines
File-Sharing-Clients. Durch das Hinzufügen einiger Zeilen
Code könnten alle Aktionen und die Uhrzeit, zu denen sie ausgeführt wurden, in Logdateien gespeichert werden. Dies sollte
für möglichst viele Benutzer und über eine möglichst lange
Zeitperiode erfolgen. In diesem Schritt können sehr große
Datenmengen anfallen. Sollte nicht genügend Speicherplatz
verfügbar sein, können alternativ die Hauptbelastungszeiten
des Systems bestimmt werden und nur während diesen Zeiten
die Erfassungen durchgeführt werden.
In Abschnitt II-B wurde das Konzept von Workload-Traces
beschrieben. Diese eignen sich auch gut, da sie ebenfalls eine
Sammlung von Nutzeraktionen darstellen.
b) Analyse: Nachdem Daten über die Aktionen von
Benutzern gesammelt wurden, müssen diese analysiert werden. Aufgrund der großen Menge an angefallen Daten ist es
wichtig, die Übersicht zu behalten und nur die wichtigsten
Informationen zu extrahieren.
Zum einen müssen die Aktionen und Anforderungen der Nutzer identifiziert werden, welche die größten Auswirkungen auf
das System haben. Dies könnten zum Beispiel (bei einer DHTbasierten P2P-Anwendung) eine sehr hohe Churn-Rate sein.
Eine solche hätte das Versenden vieler Kontrollnachrichten
(z.B. für den Aufbau der Routingtabellen), ein häufiges NeuVersenden von Dateien oder eine große Anzahl an Anfragen
bezüglich verschiedener Dateien zur Folge. Churn ist ein gut
erforschter Bereich in P2P-Netzen (siehe hierzu [6]). Des
Weiteren spielt es eine Rolle, wann und wie oft bestimmte
Aktionen hintereinander ausgeführt werden.
Zur Analyse der gesammelten Daten können numerische Analysetechniken und stochastische Prozesse verwendet werden,
um dynamisches Verhalten aufzuzeigen.
Neben der Identifikation von „teuren“ Aktionen, ist die Erkennung von Mustern eine wichtige Aufgabe. Hier kann z.B.
eine numerische Mustererkennung, wie Clustering, verwendet
werden. Clustering versucht Strukturen/Muster in großen Datenmengen zu finden (siehe [2]).
Hilfreich ist auch eine visuelle Analyse und eine visuelle
Repräsentation der ermittelten Ergebnisse (siehe [2]). Gerade letzteres kann spezielle Zusammenhänge und Muster des
Workloads aufzeigen. So kann z.B. ein Benutzerverhalten
aufgedeckt werden, welches an verschiedenen Tagen und in
unterschiedlichen geographischen Regionen (Europa, Asien,
Nordamerika) oder nur während bestimmten Tageszeiten stattfindet. Eine weitere Erkenntnis könnte folgender Natur sein:
97% der Anfragen von Nutzern aus Nord Amerika werden
nicht von Nutzern aus Europa gestellt [7].
c) Modellierung: Der letzte Schritt besteht darin, ein
Modell aufzubauen, welches die extrahierten Informationen
verwendet, um Benutzerverhalten zu repräsentieren und
synthetischen Workload zu generieren. Hierfür kann versucht
werden, Wahrscheinlichkeitsverteilungen zu finden, die
die extrahierten Informationen beschreiben. Häufigkeiten
können auch in Form von Tabellen, Arrays oder ähnlichen
Speicherungsformen abgelegt werden, damit ein Algorithmus
auf diese zugreifen kann. Dieser kann dann feststellen in
welcher Situation und mit welchen Abhängigkeiten welche
Aktion oder welche Eigenschaft des Nutzers mit welcher
Wahrscheinlichkeit ausgeführt wird.
Eine Art, Benutzerverhalten zu modellieren, ist die
Repräsentation als Benutzerverhaltensgraph [2]. Ein Beispiel
für einen solchen wären die Abbildungen 1 und 2.
Ein weiteres wäre die Form eines Algorithmus der Schritt für
Schritt Entscheidungen trifft und Workload generiert.
Ein fertiges Modell wird aus allen notwendigen Informationen
und Schlüsselfaktoren erstellt. Ein Einsatz eines solchen
synthetischen Modells könnte nun folgendermaßen ablaufen:
1) Das System befindet sich in einer Testphase
2) Das Benutzer-/Workloadmodell wählt eine Aktion (z.B.
Anfrage nach einer Ressource, Verlassen eines Netzes
oder Anmeldung in ein Netz) aus
3) Die ausgewählte Aktion kann mit zusätzlichen Parametern erweitert werden. Zum Beispiel Anzahl der angeforderten Dateien, Größe der angeforderten Dateien,
Anzahl der verschickten Requests usw.
4) Ausführung der Aktion
Das Modell kann evaluiert werden, indem die Auswirkungen
des generierten Workloads mit den Auswirkungen eines realen
Workloads verglichen werden.
III. V ERHALTENSMODELLE VON B ENUTZERN
In diesem Abschnitt werden einige Ergebnisse verschiedener Untersuchungen über das Benutzerverhalten spezifischer
Anwendungen vorgestellt.
A. P2P-File-Sharing-Anwendungen
1) MAZE: Die Erstellung eines Modells für das Benutzerverhalten in einer P2P-File-Sharing-Anwendung wurde von [4]
im Jahr 2009 durchgeführt. Die Autoren untersuchten Nutzer
im Bezug auf ihr Verhalten bei einem – vom ihnen nicht
verursachten – fehlgeschlagenen Download (retry-behavior)
und die zeitliche Dauer bis eine fertig heruntergeladene Datei
aus dem Programm entfernt wurde (retention time). Diese
beiden Verhaltensmerkmale können starken Einfluss auf die
Performanz von P2P-Anwendungen haben. Genaue Daten
sind daher für realitätsnahe Simulationen wichtig. Für diesen
Zweck wurden über die Dauer von zwei Jahren das DownloadVerhalten von Benutzern des File-Sharing-Programms MAZE
( [13]) gesammelt und die resultierenden Logdateien anschließend auf die genannten Ziele hin untersucht. MAZE wird
primär für die Verteilung von Videodateien verwendet und –
so die Autoren – Untersuchungen sollen gezeigt haben, dass
das Verhalten der MAZE-Benutzer sehr ähnlich zu Benutzern
anderer File-Sharing-Programme ist.
123
USER BEHAVIOR MODELING IN P2P SYSTEMS
Tabelle II
PARAMETER FÜR DAS DATEI -E NTFERNUNGS -M ODELL . Pf r STELLT DIE
WAHRSCHEINLICHKEIT DAR , DASS EIN N UTZER DIE DATEI AUS DEM
P ROGRAMM ENTFERNT, Rc DASS EINE DATEI ÜBERPRÜFT ( ANGESEHEN )
WIRD , Pd DASS EINE DATEI DIREKT NACH DER Ü BERPRÜFUNG ENTFERNT
WIRD UND Rr DAS EINE DATEI ENTFERNT WIRD , NACHDEM SIE
ÜBERPRÜFT WURDE , ABER NICHT DIREKT DANACH ENTFERNT.
Abbildung 1.
Modell des Benutzerverhaltens bei Downloads.
Tabelle I
D IE WICHTIGSTEN PARAMETER FÜR DAS M ODELL FEHLGESCHLAGENER
D OWNLOADS UND DAS ERNEUTE H ERUNTERLADEN SOLCHER
FEHLGESCHLAGENEN D OWNLOADS . E S WERDEN DIE
M ODELLPARAMETER FÜR FÜNF REPRÄSENTATIVE DATEIEN
PRÄSENTIERT.
Dateien
u1
Pus
Ps
Pf
Pr
F0
1525
38%
27,1%
72,9%
39,3%
F1
1326
39,4%
25,6%
74,4%
47,1%
F2
1104
40%
26,4%
73,6%
46,1%
F3
9945
66,5%
59%
41%
27,6%
F4
21211
63,7%
58,2%
41,8%
20,4%
a) Retry-Behavior: Abbildung 1 zeigt einen Verhaltensgraph für Benutzer, deren Download einer Datei fehlschlägt.
Die Erstellung des Modells ist hier jedoch nicht die Herausforderung, vielmehr sind konkrete Werte für die Parameter
zu identifizieren. Es werden Werte für fünf repräsentative
Dateien gezeigt. Die Dateien stellen Filme dar, von denen die
ersten drei populäre Videos und die letzten beiden Filme für
Erwachsene waren. Das Modell besitzt folgende Parameter:
• Der erfolgreiche Download Ps
• Der fehlgeschlagene Download Pf = 1 − Ps
• Die Wahrscheinlichkeit einen fehlgeschlagenen Download erneut zu Versuchen Pr
• Die Wahrscheinlichkeit, dass generell aufgegeben wird
und es nicht versucht wird, den fehlgeschlagene Download erneut herunterzuladen 1 − Pr
• Die Zahl der potentiellen Benutzer U (t) zum Zeitpunkt
t
• Die Wahrscheinlichkeit eines Downloads C(t)
• Anteil der Nutzer, die irgendwann den Download erfolgreich beenden Pus
• Die Zahl der Nutzer, die versuchen, die entsprechende
Datei herunterzuladen u1
Aus den Daten (siehe Tabelle I) kann geschlossen werden,
dass Nutzer von MAZE wenig Probleme damit haben, einen
fehlgeschlagenen Download erneut zu laden. Sie besitzen eine
hohe Toleranz, was dies betrifft, da die Erfolgsrate (Ps ) nicht
Dateien
Pf r
Rc
Pd
Rr
F0
50.4%
93.6%
77.8%
16.1%
F1
60.2%
82.2%
90.7%
15.0%
F2
56.8%
93.4%
73.9%
6.0%
F3
57.0%
83.3%
92.9%
12.6%
F4
48.6%
95.5%
81.6%
5.6%
hoch ist. 20,4% bis 47,1% der Nutzer versuchen erneut, einen
fehlgeschlagenen Download zu laden.
Des Weiteren wurde festgestellt, dass C(t) – für die meisten
überwachten Dateien – den größten Wert innerhalb der ersten
drei Tage nach Veröffentlichung der Datei annimmt, bei F0
innerhalb der ersten zwei Tage.
b) Retention Time: Die Zeit, nach welcher ein Download
vollständig geladen ist und aus der P2P-Anwendung entfernt
wird, wird als retention time bezeichnet. Hierbei spielen freeriding, die Dauer zwischen fertigem Download und dessen
Überprüfung bzw. Anschauen sowie die Dauer zwischen der
Überprüfung und der Entfernung der Datei eine Rolle.
Tabelle II zeigt die Modell Parameter. Eine Beschreibung der
Parameter ist in der Tabellen-Legende zu finden. Diese zeigen,
wie unterschiedlich die Strategien von Nutzern im Bezug auf
das Entfernen von fertiggestellten Downloads sind. Ungefähr
die Hälfte der Nutzer sind free-riders – Nutzer die nur an
der Beschaffung der Datei interessiert sind und sich nicht an
der Verbreitung der Datei beteiligen wollen. 90% überprüfen
die Datei im Laufe eines Tages. Ungefähr 80% der Nutzer
entfernen eine Datei, nachdem sie sie einmal verwendet haben
(in diesem Fall sich den Film einmal angesehen haben) und
20% der Nutzer entfernen die Datei mit einer Rate von 10%
pro Tag.
2) Query Verhalten bei Gnutella: In 2004 untersuchten
[7] das Query-Verhalten von Nutzern der P2P-File-SharingAnwendung Gnutella [5]. Über die Dauer von 40 Tagen zeichneten sie alle Anfragen an einen modifizierten Client (der als
superpeer lief) auf. Das Projekt hatte das Hauptziel, genügend
Messungen zu liefern, um aus diesen ein synthetisches Modell
entwickeln zu können. Analysiert wurden vor allem folgende
Punkte:
• Der Anteil der passiven Clients. Passive Clients führen
während ihrer gesamten Online-Zeit (Session) keine Anfragen durch
• Die Dauer von Sessions
• Für jede aktive Session
– Die Zahl der durchgeführten Anfragen
– Die Zeit zwischen zwei Anfragen
– Die Zeit bis die erste Anfrage gestellt wird
– Die Zeit nach der letzten Anfrage
– Die populärsten Anfragen
Die in dieser Arbeit gewonnenen Erkenntnisse umfassen:
124
USER BEHAVIOR MODELING IN P2P SYSTEMS
Tabelle III
Ü BERSICHT ÜBER DIE VERSCHIEDENEN S PIELER -K LASSEN . E INGETEILT
SIND DIESE DURCH DIE A NZAHL AN B EWEGUNGEN . K LASSE 1 STELLT
S PIELER DAR , WELCHE NUR SEHR SELTEN SPIELEN . K LASSE 5 STELLT
S PIELER DAR , WELCHE SEHR OFT SPIELEN .
Klasse
Abbildung 2. Verhaltensgraph für Regionen (Rooms) und die möglichen
Aktionen in einem MOG. Beim Anmelden wird dem Spieler ein Raum
zugewiesen. Von dort aus kann er in einen benachbarten Raum wechseln oder
sich von dem Spiel abmelden.
•
•
•
•
•
Um das Anfrage-Verhalten der Nutzer erfassen zu können, müssen automatisch durchgeführte Wiederanfragen,
die von der Client-Software generiert werden und Protokoll spezifische Aufgaben erfüllen, ausgefiltert werden.
Diese würden sonst die Statistik verzerren.
Pro Tag verändern sich die 100 populärsten Suchanfragen.
97% der Anfragen die aus Nord Amerika ausgeführt werden, werden nicht von Nutzern aus Europa durchgeführt
Die Anzahl der Anfragen, die pro Session ausgeführt
werden, sind abhängig von der geographischen Position
der Nutzer. So führen Nutzer in Europa mehr Anfragen
aus als Nutzer in Nord Amerika. Die Sessions an sich
dauern im Schnitt in Europa am längsten.
Es wurde ein signifikanter Zusammenhang zwischen der
Dauer einer Sitzung und der Anzahl der Anfragen während dieser Sitzung festgestellt. Kein Zusammenhang
wurde zwischen dem Anfrage-Intervall und der Anzahl
von Anfragen festgestellt.
B. Multi-player Online-Game
Im Jahr 2005 führten [8] eine Untersuchung über das Nutzerverhalten eines Multi-player Online Games (MOG) durch.
Das Nutzerverhalten bei MOGs kann vom Genre des Spiels
abhängen. So stellt ein Ego-Shooter andere Anforderungen
(Genauigkeit eines Schusses) als eine Rollenspiel. Letzteres
zeichnet sich eher durch die Erforschung der virtuellen Welt
aus.
Ziel der Arbeit war die Entwicklung eines Modells. Hierfür
wird eine virtuelle Welt in Regionen (Rooms) unterteilt. Um
Daten über das Spielverhalten von Nutzern zu erhalten, wurde
ein Jahr lang das MOG RockyMud untersucht. Insgesamt wurde das Verhalten von 556 verschiedenen Spielern untersucht.
Ein typischer Nutzer betritt das Spiel, hält sich in Regionen
auf, führt Aktionen aus (Kämpfe mit Monstern), wechselt
Regionen und verlässt das Spiel. Ein Benutzerverhaltensmodell in Form eines Graphen ist in Abbildung 2 aufgeführt.
Als interessanteste Parameter für ein Modell wurden folgende
Aktionen bzw. Verhaltensweisen ausgewählt:
# Spieler
∅ # Bewegungen
1
21
1
2
302
80
3
145
1.123
4
80
12.175
5
8
77.441
Die Dauer der Intervalle, in denen sich Benutzer in das
Spiel einloggen
• Die Wahrscheinlichkeit, dass Nutzer von einer Region des
Spiels in eine andere wechseln (transition probability)
• Die Dauer, für die sich Spieler in einer Region aufhalten,
bevor sie wechseln
• Wie lange Spieler im Spiel verweilen, also die Zeit
zwischen dem Einloggen und dem Ausloggen
Diese Parameter lassen sich – laut den Autoren von [8] – auf
alle Spielgenres anwenden und sind deshalb von besonderem
Interesse. Die Interaktion zwischen Nutzern im MOG wurde
aus Zeit- und Aufwandsgründen ausgelassen.
•
Die Ergebnisse – also die gewonnen Erkenntnisse über
das Benutzerverhalten – sehen folgendermaßen aus:
• Die Ankunftsintervallrate gleichen einer exponentiellen
Verteilung f (x) = λ · e−λx , wobei λ zwischen 70,3 und
12.301,7 Sekunden annehmen kann (abhängig von der
Region in der der Spieler startet)
• Spieler werden in verschiedene Klassen eingeteilt (z.B.
basierend auf der Anzahl der durchgeführten Bewegungen). Tabelle III stellte eine Übersicht über die Klassen
und deren Spieler dar. Jede Klasse hat eine unterschiedliche Wahrscheinlichkeit, die aktuelle Region zu verlassen
• Die Aufenthaltsdauer in einer Region ist Pearson verteilt
• Spieldauer ist Pareto (2. Ordnung) verteilt, mit
f (x) =
ab2
,
(x + b)a
a > 0, b > 0.
Für das Modell wurden die Werte a = 4, 56 und b = 0, 6
identifiziert
Des Weiteren lassen sich Verhaltensmuster für spezielle Regionen identifizieren. Abhängig von der Klasse verhalten sich
Spieler in unterschiedlichen Regionen unterschiedlich. Zum
Beispiel verlassen Nutzer das Spiel, nachdem sie in einer
bestimmten Region waren.
C. P2P-basiertes Video-on-Demand-Anwendung
In [10] wurde das Nutzerverhalten der P2P basierten
Video-on-Demand (VoD) Anwendung CCTV.com [3] mit
der Verwendung von Hard-Chaches über eine Periode von
100 Tagen untersucht. Ziel der Untersuchung war es, zu
ermitteln, ob sich die Verwendung von Hard-Cache eignet.
Unter Hard-Cache wird verstanden, dass Videos auf der
Festplatte von Teilnehmern gespeichert werden. Anders
125
USER BEHAVIOR MODELING IN P2P SYSTEMS
Poisson-Verteilter Ankunfts Prozess) und Online/Offline
Modell verwendet.
Die Arbeit von [12] zeigt deutlich, dass Verhaltensmodelle von
Benutzern eine deutliche Auswirkung auf die Performanz und
Auslastung von P2P-Anwendungen haben. Unterschiedliche
Modelle bewirken auch unterschiedliche Messergebnisse. Nur
ein realistisches Verhaltensmodell kann somit eine korrekte
Evaluation von Anwendungen ermöglichen.
IV. FAZIT
Abbildung 3. Ein Ergebnis der Untersuchung des Benutzerverhaltens für
Popularität (= die Anzahl der Anfragen für 30 Tage) von Musik- und
Nachrichten Videos. Rote Linien repräsentieren Nachrichtenvideos und blaue
Linien Musikvideos.
als Soft-Cache werden diese Videos nicht z.B. nach dem
Ausloggen oder einem Neustart entfernt. Der Sinn des
Hard-Chaching Verfahrens ist, dass Nutzer auch nach einem
Verlassen und erneuten Beitritt Videos verteilen können.
Ein Ergebnis der Untersuchung bezieht sich auf die Popularität
von Musik- und Nachrichtenvideos. Abbildung 3 zeigt die
Popularität, d.h. die Anzahl der Anfragen für eine 30-tägige
Zeitspanne. Die roten Linien repräsentieren Nachrichtenvideos
und die blau gepunkteten Linien Musikvideos. Es zeigt
sich, dass Nachrichtenvideos nur ein paar Tage nach
Veröffentlichung interessant sind. Dafür erhalten sie in
diesen ersten Tagen deutlich mehr Anfragen als Musikvideos.
Musikvideos haben in den 30 Tagen nach Veröffentlichung
eine fast gleichbleibende Nachfrage. Dies ist in der Hinsicht
eine wichtige Erkenntnis, da sie für die Betreiber einer
VoD-Anwendung bedeutet, dass Nachrichtenvideos nach ein
paar Tagen aus dem Hard-Cache entfernt werden sollten und
mit neueren ersetzt werden.
D. DHT - Auswirkungen von Wokloads
In 2008 untersuchten [12] die Auswirkungen, die
Verhaltensmodelle von Nutzern auf die Performanz von
P2P-basierten verteilten Hashtabellen (Distributed Hash
Tables) haben. Zum Einsatz kam Kadamelia [11]. Das
Hauptaugenmerk wurde bei dieser Untersuchung auf die
Lebenszeit (Lifetime) eines Nutzers gelegt. Diese Lebenszeit
stellt die zeitliche Spanne dar, ab welchem der Nutzer sich
zum ersten Mal bei einer Anwendung anmeldet (Ankunftszeit)
und endet zu dem Zeitpunkt, an dem sich der Nutzer zum
letzten Mal von der Anwendung abmeldet und sich nie wieder
anmeldet (Weggang).
Während dieser Lebenszeit gibt es Online-Zyklen (in denen
der Nutzer in der Anwendung angemeldet ist) und OfflineZyklen (in denen der Nutzer abgemeldet ist). Die Art
und Frequenz dieser Online- und Offline-Zyklen wird als
Churn bezeichnet. Für die Evaluation wurden verschiedene
Parameter für das Lifetime-Modell (Deterministisch- und
In dieser Arbeit wurde auf die Thematik der Modellierung
von Benutzerverhalten für P2P-Systeme eingegangen.
Es wurde gezeigt, dass realistische Benutzer- und
Workloadmodelle ein wichtiger Punkt für eine realitätsnahe
Simulation und somit einer realitätsnahen Evaluation von
P2P-Systemen und Anwendungen sind. Des Weiteren wurden
Ergebnisse über aktuelle Studien (die letzte vom Jahr 2009)
zur Analyse und Modellerstellung von Benutzerverhalten
zusammengefasst. Es existieren Analysen von Nutzerverhalten
und somit auch die Grundlagen für synthetische Modelle für
verschiedene Aspekte von P2P-File-Sharing-, P2P-basierten
Video-on-Demand- und Online-Spiel-Anwendungen.
Von den besprochenen Modelltypen zur Erzeugung von
Workload ist das synthetische Modell den anderen in den
meisten Fällen vorzuziehen. Es bedarf deutlich weniger
Speicherplatz als Traces und ist parametrisiert. Dank der
internen Zustände und der internen Abfragen, um z.B. mittels
Wahrscheinlichkeitsverteilungen
Aktionen
auszuwählen,
kann synthetischer Workload generiert werden. Allerdings
bieten Workload-Traces in der Situation einen Vorteil,
wenn Beziehungen, Interaktionen und Abhängigkeiten
zwischen verschiedenen Benutzern einer P2P-Anwendung
berücksichtigt werden müssen. Dies wäre nur mit viel
Aufwand – welcher sich bis zu einer Anpassung des
verwendeten Simulationsprogramms auswirken würde – bei
synthetischen Modellen machbar.
Die synthetische Modellbildung ist ein noch nicht erschöpfter
Forschungsbereich. Alle hier vorgestellten Modelle sind
– bis auf eine Ausnahme – für spezifische Anwendungen
erstellt worden. Auffallend war, dass die Messzeiträume
der vorgestellten Arbeiten sehr unterschiedlich waren. Die
Zeiträume gehen von knapp über einem Monat bis hin zu
einem Jahr. Auch die Zahl der überwachten Nutzer schwankt
stark. Es wäre interessant, die erhaltenen Ergebnisse vor dem
Hintergrund der verschiedenen Messzeiträume zu vergleichen
bzw. zu untersuchen, inwieweit sich unterschiedlich lange
Messzeiträume bei der selben Anwendung auf die Ergebnisse
auswirken. Auffallend ist auch, dass das Thema für die
Messung und Untersuchung von Benutzerverhalten für
P2P-Anwendungen momentan fast nur im akademischen
Bereich interessant ist. Dies lässt sich gut an den in dieser
Arbeit vorgestellten Modellen und Verhaltensuntersuchungen
erkennen. Die untersuchten P2P-Anwendungen Gnutella,
RockyMud und MAZE stellen keine Main-StreamAnwendungen dar. Gnutella hat keine große Verbreitung
in der File-Sharing-Community gefunden. MAZE ist ein
126
USER BEHAVIOR MODELING IN P2P SYSTEMS
Forschungsprojekt. RockyMud war zum Zeitpunkt der
Erstellung dieser Arbeit im Internet nicht mehr erreichbar.
Untersuchungen in kommerziellen Produkten oder weit
verbreiteten Anwendungen (außer dem vorgestellten VoDSystem) wurden nicht gefunden.
Das große Ziel wird es sein, Benutzermodelle zu entwickeln, die für jede Art von Anwendung eingesetzt werden
können.
L ITERATUR
[1] R. Bodnarchuk and R. Bunt. A Synthetic Workload Model for a Distributed System File Server. ACM SIGMETRICS Performance Evaluation
Review, 19(1):59, June 1991. I-A, II-A
[2] M. Calzarossa, L. Massari, and D. Tessera. Workload Characterization Issues and Methodologies. Performance Evaluation: Origins and
Directions, page 459–482, 2000. I-A, II-B, II-C0b, II-C0c
[3] CCTV.com. China Central Television. III-C
[4] Q. Feng and Y. Dai. User Behavior Modeling in Peer-to-Peer File Sharing Networks: Dissecting Download and Removal Actions. 2009 IEEE
International Conference on Acoustics, Speech and Signal Processing,
pages 3477–3480, April 2009. III-A1
[5] Gnutella Developer Forum. Gnutella Protocol Development. http://rfcgnutella.sourceforge.net/, 2003. III-A2
[6] O. Herrera and T. Znati. Modeling Churn in P2P Networks. 40th Annual
Simulation Symposium (ANSS’07), pages 33–40, March 2007. II-C0b
[7] A. Klemm, C. Lindemann, Mary K. Vernon, and O. Waldhorst. Characterizing the Query Behavior in Peer-to-Peer File Sharing Systems.
Proceedings of the 4th ACM SIGCOMM conference on Internet measurement - IMC ’04, page 55, 2004. II-C0b, III-A2
[8] M. Kwok and G. Yeung. Characterization of User Behavior in a MultiPlayer Online Game. In Proceedings of the 2005 ACM SIGCHI International Conference on Advances in computer entertainment technology,
volume 54, page 74. ACM, 2005. III-B, III-B
[9] V. Lo, J. Mache, and K. Windisch. A Comparative Study of Real
Workload Traces and Synthetic Workload Models for Parallel Job
Scheduling. In Job Scheduling Strategies for Parallel Processing, page
25–46. Springer, 1998. II-B
[10] J.G. Luo, Y. Tang, M. Zhang, and S.Q. Yang.
Characterizing
User Behavior Model to Evaluate Hard Cache in Peer-to-Peer Based Video-on-Demand Service. Advances in Multimedia Modeling,
(60432030):125–134, 2007. III-C
[11] P. Maymounkov and D. Mazieres. Kademlia: A Peer-to-Peer Information
System Based on the Xor Metric. Peer-to-Peer Systems, page 53–65,
2002. III-D
[12] K. Pussep, S. Kaune, C. Leng, A. Kovacevic, and R. Steinmetz. Impact
of User Behavior Modeling on Evaluation of Peer-to-Peer Systems.
Computer, 2008. I-A, III-D
[13] M. Yang, H. Chen, B. Zhao, Y. Dai, Z. Zhang, U. C. Barbara, and
S. Barbara. Deployment of a Large-scale Peer-to-Peer Social Network.
In Proc. of WORLDS, 2004. III-A1
127
A FORGETTING INTERNET
A forgetting Internet
Olga Petrova
Abstract—Internet presents new challenges to the task of
protecting private data. Data sent over the Internet are constantly
duplicated and stored by providers, opening a possibility for
attacks on privacy. These attacks cannot be met with countermeasures by original data owners, because the senders do not
have direct control over the data copies. Recently two new systems, Vanish and EphCOM, which address this security problem,
were developed and underwent initial tests. Their approach is
based on the notion of disappearing keys for encrypted data. In
order to temporarily store the bits of the encryption keys both
Vanish and EphCOM use large networks, which provide openly
available Internet services. Certain features of these services are
exploited in order to organize automatic destruction of the keys.
We describe basic principles, which drive the design of both
systems, the details of the prototype implementations, the results
of the tests performed by the developers and initial trials by
independent groups of researchers. We also discuss how the two
systems perform with respect to potential security threats.
I. I NTRODUCTION
The Internet and open networks give their users more and
more possibilities to communicate. And at the same time
they open these communications to potential eyes dropping
by other parties. Once private data become available on the
Internet the person who created these data essentially loses
control over them. Internet providers, mail servers, owners
of websites and hosts of social networks, such as Facebook,
Flickr or other data sharing community services, constantly
duplicate and archive data which were posted. Often copies are
saved by the involved parties for a very long time, for years.
Sometimes a person who sent or posted the original data would
prefer to protect them against any misuse, but is no longer
capable of doing so, because he or she has no knowledge
even about how many duplicates exist and where they are
stored. Even confident messages, intended to be viewed by
a particular receiver are regularly duplicated by mail, Web
servers and Internet providers long after the initial purpose of
sending them was achieved. Then the data might not be given
any special care or protection. These stored copies of private
data or outdated web-communications can become subjects
of security attacks or an unwanted investigation. Very often,
therefore, users would prefer that their data would not be
available at all after a certain expiration time. On its own
computer a user can manually delete sensitive old data or
automate this process with a cron job. But the copies archived
by the receivers or providers can not be deleted by the initial
data owners neither manually nor automatically.
At the first level of protection the security is addressed by
encrypting sensitive data or messages. However, this measure
is sufficient only under condition that the encryption keys are
stored separately from the encrypted data and that even if an
attacker or investigator has access to the encrypted data he can
not obtain the corresponding encryption key at the same time.
One of the possible approaches in this direction is to give
encryption keys to a trusted third party. The key would be
available to the sender and receiver of the encrypted message
for some time and after that irreversibly destroyed by the
trusted party (the so called Ephemerizer family of solutions).
This approach has some limitations. Not only it can happen
that the third party is not fully trustworthy, the encrypted keys
can be stolen or copied by an attacker, or the trusted party
can be forced to disclose the keys. Therefore, it is desirable
to devise such a technique that would allow encryption keys
to be saved temporarily without involving any third party and
to be automatically destroyed after a certain expiration time
without special effort from the initial data owners.
Two recently developed systems, Vanish [2] and EphCOM
[1], explore exactly this possibility. Both systems were built for
the same purpose and share common points in the design. But
there are principal differences between them as well. Vanish
and EphCOM differ significantly first of all in the choice of
the network which is used for storing the encryption keys.
The systems also use their own algorithms for constructing
the encryption keys. The structure of the following sections of
this paper reflects these similarities and differences of the two
projects. Whenever possible, common points are addressed
keeping in mind both systems, and minor variations are
mentioned after that. More essential parts, which are specific
to either one of the systems, are described in separate subsections. Also, it is important to note that Vanish was the first
project which implemented the new approach. EphCOM was
created later, and its design was influenced by the experience
obtained with the first Vanish implementation. Therefore, in
the sections where security is discussed, special consideration
is given to the attacks which were initially underestimated by
the Vanish developers. EphCOM is designed and expected to
overcome security attacks of this type better then Vanish.
II. BASIC REQUIREMENTS AND OPERATION SHEME
The developers of Vanish and EphCOM systems raised the
requirements to the security of communication and retained
data to a very high level. The basic condition is that even if the
encrypted data are stored unmodified and are fully available
to the attacker after the expiration time, the data should not
be possible to decrypt. The attacker might have a fraction of
the key available after expiration time, but this fraction should
not be sufficient for data decoding. Furthermore, the process
of the destruction of encryption keys should be organized in
such a way that keys disappear automatically without explicit
intervention by the data owners or by the providers who
stored either the encrypted data or the keys. In addition, the
developers wanted to create a system, which would not require
from potential users a need for any specific secure hardware.
128
A FORGETTING INTERNET
And finally, it was intended that the system would only use
common network services openly available on the Internet.
In general, the technique of disappearing keys is envisioned
to be applied for various types of data, like e-mail messages,
web posts and even files, stored locally only by one party.
But for the sake of simplicity we will use e-mail exchange
as an example for explaining the basic principles of Vanish
and EphCOM. The process of message transmission between
sender and receiver would be organized as follows. After the
data are created in the non-encrypted form, say, in plain text,
the sender would trigger the encapsulation stage, during which
the encryption key is constructed and the data are encrypted
using this key. Already at this stage the system should know
the intended length of expiration period, because this length
can influence the constructed value of the encryption key.
After the encryption stage is finished, the data and the key
are separated: the key parts are automatically stored by the
system in an open network, while the encrypted message is
sent to the receiver. In addition to the encrypted text the
object transmitted to the receiver contains some information
needed to reconstruct the encryption key by the receiver.
This encapsulated object is denoted differently by Vanish and
EphCOM groups, Vanishing Data Object (VDO) and EphCOM
object (ECO) respectively. In the rest of this paper it is referred
to as encapsulated object.
After recieving the encapsulated object the reciever has to
trigger the process of decapsulation. Using the information
added to the encrypted message the system checks if the
expiration time is not yet reached and it makes sense to
decode the message. Then the system extracts parts of the
encryption key from the storage network, reconstructs the key
and decrypts the message. If the lifetime of the key is already
exceeded, but the receiver tries to extract the encryption
key nevertheless, the information obtained from the storage
network is corrupted to such a degree that the reconstructed
key is incorrect and efficient decryption of the message is no
longer possible.
III. D ISAPPEARING KEYS
Major idea of the new approach is that encryption keys can
be stored using existing and commonly available open network
services, Distributed Hash Table (DHT) network in case of
Vanish and Domain Name System (DNS) in case of EphCOM.
The services are used by Vanish and EphCOM as temporary
storage, and this storage is provided by such a huge number
of participating nodes that if a potential attacker tries to break
the security of the system it would be too difficult for him to
guess the location of the parts of the encryption keys prior to
their expiration and too expensive to collect information from
these services proactively.
Because the state of the DHT and DNS servers used in the
process of composing and reconstructing encryption keys will
change after a certain time and will not be reproducible after
that, it would become impossible to reconstruct the keys after
the expiration time.
A. Construction of the keys in Vanish
For its operation Vanish uses one of the existing DHTs.
Several large-scale DHTs exist in the Internet and openly
available for common use. Any DHT is a storage network,
which consists of many Peer-to-Peer participating nodes. The
data stored in a DHT consists of a pair (index, value). One
computer (sender) can store a value on a DHT using a
certain index and another computer (receiver) can retrieve
this value using the same index. One of the most important
properties of a DHT for potential Vanish implementation is
large number and worldwide distribution of the participating
nodes. For example, the first prototype of Vanish was based
on the million-node Vuze DHT which primary service is to
store keys for decentralized torrent tracking. Another essential
property needed by Vanish is that a DHT can reliably store
data (encryption keys) for a predetermined period of time,
say, for several hours, and on the other hand, shortly after
that these data with high probability will be replaced by new
information. This replacement is done automatically and in a
natural way due to inherent property of DHT to constantly
refill the contents stored on its nodes giving priority to newer
data.
In principle, in the extreme case an encryption key generated
by a Vanish process can be saved as a whole in one (index,
value) pair, but this would obviously present two potential
problems - the whole key would be easier to extract by an
attacker and it can be accidentally either erased by the DHT
node or stored longer than intended. Therefore, at the stage
when an encription key K is composed by Vanish, the key
is subdivided into N shares K=(K1 , K2 , K3 .... KN ). To each
share Ki Vanish assigns certain index Ii and then stores shares
of the key as N (index, value) pairs in the DHT using this
set of indices I=(I1 , I2 , I3 ....IN ). The constantly changing
state of the DHT does not guarantee that all shares of the
key will be extracted without errors. To deal with this issue
Vanish uses threshold secret share, in which the threshold T
determines how many of the shares are required to reconstruct
the original key. The value of this threshold is also included
in the encapsulated object transmitted between the sender and
the receiver.
In its simplest implementation Vanish could include in the
encapsulated object the encrypted message EM, set of indices
I, total number of shares N in the encryption key, and the
threshold value T. However, the Vanish developers decided to
add more complexity and flexibility into the mechanism of
building the set of indices I. The set of indices I is built by
a special algorithm using an access key L and time, provided
by a weakly synchronized clock. The final encapsulated object
transmitted by Vanish, VDO = (EM,L,N,T). At the decapsulation stage the receiver uses the access key L and time provided
by his clock to reconstruct the set of indices I. With this set of
indices the reciever then contacts the DHT in order to extract
shares of the encryption key.
This design feature that the set of indices I is defined not
only by access key L, but also may depend on time, allows
Vanish to repost in the DHT the same encryption key using a
different set of indices, which is more secure than reposting the
129
A FORGETTING INTERNET
same set of (index, value) pairs several times. This extension
of the key lifetime can be used if the default timeout of the
DHT is not suitable.
B. Construction of the keys in EphCOM
Similarly to Vanish, EphCOM uses openly available service
in order to store encryption keys. Namely, it uses cache DNS
servers. In their basic function DNS servers resolve domain
names into IP addresses. In order to serve the incoming
requests more efficiently DNS servers remember recently
reconstructed domain names and IP addresses and keep these
data in the cache.
For its operation EphCOM exploits certain features of the
DNS cache servers. Every DNS server replies to the domain
name reconstruction queries either by using its own database
(non-recursive requests) or by redirecting requests to other
DNS servers if there is no entry in the local database (recursive
requests). Every DNS server should support non-recursive
queries, while support for recursive queries is optional. If a
certain domain name was resolved recently and was stored
in the cache of the DNS server, the subsequent request for
the same name resolution is answered quickly if the request
comes within a certain time period. This time is set by the
DNS server and is called Time To Live (TTL). What is also
essential for the EphCOM implementation is that the type of
DNS request can be specified as recursive or non-recursive by
the requesting node.
The algorithm of disappearing encryption keys is organized
in EphCOM in the following manner. First, a key K=(K1 , K2 ,
K3 .... KN ) which consists of N bits is generated. Then, two
sets of N addresses are built, a set of server names SN=(SN1 ,
SN2 , SN3 .... SNN ) and a set of domain names DN=(DN1 ,
DN2 , DN3 .... DNN ) associating every bit of the encryption
key Ki with a pair (SNi ,DNi ). After that, if Ki =1, the sender
performs recursive DNS request to the cache server SNi asking
to recognize the domain name DNi and thus, in a sense, storing
the domain name in the server’s cache, whereas if Ki =0 such a
request is skipped. The sets SN and DN are encapsulated with
the encrypted message and sent to the reciever. At the time
when receiver has to reconstruct all N bits of the encryption
key, the reciever sends N non-recursive DNS requests, asking
each DNS cache server SNi to recognize the corresponding
domain name DNi . Ideally, all the servers associated with
bits Ki =1 would be able to answer the non-recursive requests
because the corresponding domain names would be stored in
their cache due to the preceding request made by the sender.
On the opposite, for Ki =0 the server would not be able to serve
the non-recursive query, because its cache would not have a
record about the domain name. So, if server SNi replies with
a valid IP record, the corresponding bit Ki is reconstructed by
the receiver’s EphCOM client as 1, otherwise as 0. The last
element transmitted in the encapsulated message by EphCOM
is the end time ET after which the key is expected to be
unrecoverable, ECO = (EM,SN,DH,ET).
Of course, there can be errors in the DNS replies. By
accident the server associated with Ki =0 might have in its
cache a record with domain name DNi , or for Ki =1 the record
created after the sender’s request in the server SNi can be
accidentally deleted or the server can become unavailable by
the time of the receiver’s query.
In order to cope with this type of errors the developers
of EphCOM foresee the usage of error correction codes.
For example, in its first implementation EphCOM adopts a
convolution code, which is sufficient for a prototype system
and can be replaced by more sophisticated algorithm for future
optimizations of the system.
Again, as built-in features of DHTs guarantee the destruction of keys generated by Vanish clients, the basic functionality
of the DNS network service used by the EphCOM assures automatic key destruction after the expiration time. DNS servers
keep the data in their cache only for some predetermined time,
which ranges from several minutes to several days depending
on the server. Even if the encapsulated message is completely
available after expiration timeout, the list of DNS servers
linked to the domain names, which was used to compose the
encryption key, is not sufficient for reconstructing the key,
because the information stored in cache of the DNS servers
has already changed.
In order to be able to set suitable values of the expiration
time to the disappearing data EphCOM proactively builds a
database of DNS servers which can satisfy timing requirements. Currently, there is a wide choice of DNS servers, which
have suitable TTL values ranging from several minutes to
several days and peaked at 1, 2, 8, 24, 48 hours and 7 days.
This allows the EphCOM client to choose SN sets with the
same TTL equal to the expected lifetime of the encryption
key. Differently from the Vanish project, the developers of
EphCOM decided, at least for the first implementation, not
to build in any feature, which would allow to dynamically
extend the lifetime of the encryption key. On the opposite, the
expiration time is even included in ECO.
IV. A RCHITECTURE OF THE PROTOTYPE SYSTEMS
The developers of Vanish and EphCOM created prototype
applications with the main goal to test the basic functionality
of the systems and to provide proof of concept. The Vanish
prototype applications included a modification of Firefox
plugin for the Gmail service and a Firefox extension, which
allowed to decrypt and encrypt a text in an input box of a
web page. One more Vanish application would allow users to
wrap sensitive files into VDO’s and to set expiration time to
these objects. Similarly, the EphCOM prototype applications
included a Firefox extension and a command line tool. For
simplicity, in the following we only describe the applications
built as Firefox extensions, because they better illustrate potential usage of both systems.
The architecture of Vanish and EphCOM extensions for
Firefox is similar and organized in layers, such that the core
modules, which perform generation of encryption keys and
communicate with network servers for key storing, are run in
the background. The forefront layer of the user interface was
developed by the Vanish group and is based on the FireGPG
plug-in for Gmail. It was separately released by the Vanish
group by the time when the EphCOM group started to make
130
A FORGETTING INTERNET
their prototype, and therefore it was adapted to the EphCOM
Firefox plug-in as well.
From the user’s side to work with both, Vanish and EphCOM Firefox extensions is very similar and rather straightforward. Suppose, a Firefox user has the Vanish plug-in installed
in her computer and wants to add the "disappearing" property
to her text, which she just typed in an input box of some
web page. In this case she simply selects the sensitive text
and right-clicks on the selected part. Out of the popped up
options, she only needs to pick the "Encapsulate Text", and
the Vanish client running in the background replaces the text
in the window by the encrypted message, while the encryption
key is stored in the DHT. A reader of this encrypted message
also needs to have the Vanish client running, and can again
simply right click on the encrypted text, choose "Decapsulate
Text" option, and the Vanish client does the rest - the text is
decrypted and replaced (provided that the encryption key is
not yet expired).
The layers with core elements of the software, the ones
which compose and decompose encryption keys, naturally are
different in Vanish and EphCOM. The Vanish prototype was
tested with two DHTs, Vuze DHT and Open DHT, and the
most extensive experiments were performed with the Vuze
DHT. In order to integrate Vanish with the Vuze DHT the
developers needed to modify the Vuze client installed on
the sender and receiver nodes, however, these modifications
were local to the client nodes, no changes to the Vuze DHT
servers were necessary. Installation of the EphCOM prototype
is even less demanding, this installation does not require any
additional background software.
V. T ESTS OF BASIC FUNCTIONALITY AND PERFORMANCE
During the initial tests of both systems the functionality of
the overall scheme was confirmed, and the general feasibility
of the new approach of disappearing keys was demonstrated.
These tests also helped to identify potential performance
limitations and possible ways to overcome them. For example,
robust and secure operation of Vanish was possible if the
number of shares in the encryption keys was chosen between
20 and 50, and the time to store 50 key shares at the Vuze
DHT was about 30 seconds. If composition of the key is started
only at the time when the sender triggers it, this latency of 30
seconds would be inconveniently large for email encryption.
But if Vanish proactively generates encryption keys and stores
shares in the DHT in advance, then encapsulation process takes
about 80 milliseconds and therefore the encryption latency
is barely noticeable by the user. In the Vanish operations
the number of shares and thresholds in the secret sharing
are two crucial parameters, which affect both availability and
security, and thus become a subject of a certain trade-in and
optimization. The tests demonstrated that with number of
shares N=50 and threshold 90
Also experience with the Vanish Firefox extension showed
that certain types of communications required timeout longer
than 8 hours (default timeout for the Vuze DHT) and therefore
special treatment for such communications would be needed.
As mentioned earlier, this prolongation of a key is possible in
Vanish, but requires at least weak synchronization of sender’s
and receiver’s clocks.
Similarly to Vanish, the EphCOM prototype also revealed
noticeable latency at the stage when information about encryption key is distributed to the DNS cache servers. This
distribution lasted from 20 to 50 seconds depending on how
many parallel threads execute the recursive queries to the
DNS servers. Latency of key retrieval at the receiver’s side
was smaller, its values varied from 3 to 10 seconds. This
stage can be performed faster then key distribution, because
for key reconstruction only non-recursive queries are sent to
the DNS servers. As already mentioned, the error correction
code used in the first EphCOM prototype was not optimal.
Every bit 1 in the encryption key was coded as 3-bit symbol
111 and every bit 0 as 3-bit symbol 000. This simple choice
of a convolutional code was suitable for a test release, but
led to larger than optimal number of requests to the DNS
servers. Therefore one can expect that in the future versionsof
EphCOM the latency of key storage and retrieval will be
shorter. In order to facilitate the generation of the encryption
keys, the EphCOM prototype also uses a background job,
which pregenerates sets of valid DNS cache servers and
domain names. However, this background job does not reduce
duration of subsequent DNS queries.
It is also worth noting that neither Vanish nor EphCOM
present any substantial overhead to the network services,
which they use for storing the disappearing keys. The Vuze
DHT can store in principle up to 2160 (index, value) pairs,
by far exceeding any potential load by Vanish users. The
EphCOM developers also point out that additional DNS traffic
created by EphCOM queries is negligible compared to the
DNS queries made by regular web navigation.
VI. S ECURITY OF THE SYSTEMS
While addressing their major objective to provide additional
protection from retroactive security attacks, both Vanish and
EphCOM in their implementations try not to introduce any
new threats to privacy at the stages before the end of the
lifetime of the stored encryption keys. Both groups achieved
their major goal to make a system, which due to the feature
of key destruction would make a retroactive attack on security
extremely difficult to organize. Even if the attacker has access
to the DHT network machines in case of Vanish or DNS
servers in case of EphCOM, the nature of both services guarantees that the temporary data become completely unrecoverable.
Moreover, the machines participated in the DHT network or
DNS servers are scattered around the globe and gaining access
to them is very problematic. Therefore, special care is given
by both groups to the attackers, which could try to retrieve
encryption keys BEFORE the keys are destroyed.
Protection from direct copying. To prevent the direct attack
¯ would try to make a copy of the encrypted data and
which
the corresponding key information both Vanish and EphCOM
organize the software in such a way that the encapsulated
objects, VDO or ECO, themselves could be additionally encrypted by using traditional encryption software, for example,
PGP or GPG. Then even if the permanent PGP private keys of
131
A FORGETTING INTERNET
the sender become known to an attacker after the expiration
time of the Vanish or EphCOM encryption keys, this would
only allow the attacker to reconstruct the encapsulated object,
but encryption of the original message already will not be
possible.
Protecting Internet exchange. Another sort of attackers can
try¯ to intercept the Internet communications between the
sender or receiver nodes and the network, which is used to
store the encryption key, DHT or DNS. This information
does not contain encrypted messages, but can be used by the
attacker to obtain and store encryption keys. Even indirect information about addresses of the nodes, which were contacted
(especially addresses of the DNS servers in case of EphCOM),
if accumulated for a long time, can reveal the structure or
contents of the encryption keys. The attacker could build a
database of the encryption keys hoping that they can be useful
for future decryptions. In order to defend against such attackers
Vanish can limit its connections only to the DHTs, which by
default encrypt communications between participating nodes.
Another protection is to use Tor in combination with Vanish
in order to screen interactions between the sender or receiver
machines with the DHT. Similarly, the developers of EphCOM
also foresee the screening of network communications with the
DNS servers by the Tor or a likewise system.
Integration into the storage network. This type of attackers
¯
might
infiltrate the network used for key storage and own
a significant fraction of nodes in the DHT network used by
Vanish or DNS servers used by EphCOM. Naturally, in this
way such attackers can collect information about encryption
keys. In order to prevent against this security threat, the
number of nodes participating in the storage network should
be very large. For example, developers of Vanish estimated
that approximately 10 % of the network nodes should be
owned by the attacker to allow him to reconstruct significant
fraction of the encryption keys. Because the number of nodes
participating in the storage network is very large this attack
was expected to be very expensive.
However, as was demonstrated in later studies, performed by
two groups of researchers [3], the first prototype of the Vanish
system was vulnerable to Sybil attacks, and these attacks did
not require any expensive hardware or services. Two features
of DHTs made this attacks possible and were overlooked by
the Vanish group. In DHT’s one node is allowed to act with
many virtual names and therefore to participate in peer-topeer exchange with many identities. In fact, each IP address
owned by the attacker allows him to participate with up to
65,535 node ID’s in the Vuze DHT network, so with just a
few machines one can gain a significant fraction of the DHT
network. Second significant factor is that a DHT node does
not have to stay online for a long time in order to effectively
collect the data from the DHT. The low-cost attacks on the
Vanish system were organized by the attackers with hopping
strategies, when each Sybil node only lived for 3 minutes,
collected most of the data in one part of the DHT, and then
jumped into another part of the Vuze DHT with a new identity.
Given that Vanish keys are stored in the Vuze for 8 hours such
Sybil nodes can provide coverage from 160 locations.
In future versions of the Vanish system the developers can
try to overcome the shortcomings of the first prototype, but
all security improvements would need some modifications
made not in the Vanish itself, but in the DHT operations. For
example, Vanish can choose another, more secure DHT, like
OpenDHT, which is privately hosted and operates only on a
separate set of nodes. However, such a DHT would essentially
act as a trusted third party, and not as an open primary service.
Alternatively, Vanish can ask for some modifications to be
made in the Vuze DHT significantly reducing the possibility
for a sort living identities to participate in the DHT data
exchange. In addition, restricting participation of nodes in
the Vuze to fewer number of IDs per one IP would not
significantly decrease functionality of the DHT with respect
to its primary service, because currently the majority of
nodes in the Vuze DHT already satisfy this condition. Such
countermeasures would not eliminate the threat from Sybil
attacks completely, but would raise their cost.
The EphCOM approach, which uses the DNS infrastructure,
is expected to defend against attacks of this type better. In
order to launch a successful Sybil attack within the DNS
network the attacker would need to own very large number
of IP addresses. To organize this with different hosts acting
as DNS servers would be prohibitely expensive. In addition,
within the current framework of public IPv4 policy every
account is limited to 5 IP addresses, and therefore, a large
number of public IP addresses cannot be organized with
just few hosts. Moreover, the EphCOM system preselects
for its operation only the DNS servers, which are relatively
stable. For example, in order to protect from short term Sybil
identities, an EphCOM implementation can use for key storage
only DNS servers, which were working for at least one year,
and the set of selected servers will still be sufficiently large.
However, one has to always keep in mind that when
a disappearing key system, Vanish or EphCOM, relies on
features of any primary network service, future developments
of this service can go into direction unfavorable to the selected
features. Currently EphCOM relies on the possibility to organize different types of requests sent to DNS servers, namely
recursive and non-recursive. This feature may not necessarily
be maintained in the future. For example, future progress
might allow all DNS queries to be served quickly as recursive,
and the choice whether a request should be treated as recursive
or non-recursive might be moved from client and delegated to
DNS servers themselves. Therefore, one has to expect that
future disappearing key systems will always need to adapt to
the new conditions in the underlying private storage services.
VII. C ONCLUSION
Wide use of Internet made protection of the data privacy
increasingly important and difficult. Private data such as
email messages are constantly stored by third parties and
can present a future threat to the initial owners. To address
this problem the new approach was explored by two projects,
Vanish and EphCOM. In this approach the keys used in the
encryption of the data are temporarily stored using existing
primary network services in such a way that the keys are
automatically destroyed after the expiration time. The new
132
A FORGETTING INTERNET
systems demonstrated that built-in features of DHT and cache
DNS servers allow one to organize timely destruction of the
encryption keys. Two prototype applications were developed
and underwent initial tests. The keys were self-destructed at
the predefined time without direct user participation. However,
the first experience also revealed some potential limitations for
these systems. The Vanish system was shown to be vulnerable
to low-cost Sybil attacks. Regardless of these difficulties, both
systems demonstrated the potential usefulness of the new
approach.
R EFERENCES
[1] EphCOM: Practical Ephemeral Communications. , 2009. I
[2] Amit A. Levy Henry M. Levy Roxana Geambasu, Tadayoshi Kohno.
Vanish: Increasing Data Privacy with Self-Destructing Data. University
of Washington, 2009. I
[3] Nadia Heninger Edward W. Felten J. Alex Halderman Christofer J.
Rossbach Brent Waters Scott Wolchok, Owen S. Hofmann and Emmett
Witchel. Defeating Vanish with Low-Cost Sybil Attacks Against Large
DHTs. , 2009. VI
133
BENUTZERVERHALTEN IN ONLINE-SOCIAL-NETWORKS
Benutzerverhalten in Online-Social-Networks
Daniel Puscher
Abstract—Social Networks sind zur Zeit beliebter denn je. Um
die bestehenden Services zu verbessern und benutzerfreundlicher
zu machen, ist es nötig zu verstehen, wie Benutzer mit dem
Dienst interagieren. Zu diesem Thema wurden bereits einige
Studien angestellt, die das Verhalten von Benutzern genauestens
aufzeichnen und daraus versuchen, das Verhalten der Benutzer
zu analysieren und generalisieren. Man kommt nach Betrachtung der Ergebnisse zu interessanten Erkenntnissen, die genutzt
werden können, um bestehende Social Networks zu verbessern,
und das Design künftiger Plattformen zu optimieren.
I. E INLEITUNG
Der Begriff "Social Network" (deutsch: Soziales Netzwerk)
bezeichnet eine spezielle Klasse von Web-Services. Bei
diesen kann der Nutzer online ein öffentliches, oder auch
für Fremde nur eingeschränkt zugängliches, Profil über sich
selbst erstellen. Die meisten Anbieter bieten dem Nutzer an,
ein Bild von sich, allerlei persönliche Angaben sowie seine
Interessen dort zu veröffentlichen. Außerdem lassen sich bei
diesen Netzwerken andere Benutzer als "Freunde" markieren.
Als Resultat wird eine Verbindung zwischen den beiden
Benutzern hergestellt und der jeweils andere Nutzer taucht in
einer sogenannten "Freundesliste" auf, wodurch es für andere
Benutzer möglich ist, diese Verbindung einzusehen. Durch die
Verbindungen entsteht ein Netzwerk aus sozialen Kontakten,
innerhalb diesem die Teilnehmer Daten (zum Beispiel Private
Nachrichten, Fotos, Videos und Links) austauschen können.
Die Funktionen zur Interaktion und Kommunikation, die
ein Social Network besitzt, existieren schon seit längerer
Zeit im Internet als Chats, Foren und eMail. Die Geschichte
von Social Networks beginnt jedoch erst in der Mitte der
1990er Jahre. Zu dieser Zeit entstanden Plattformen, die
über reine Internet-Foren und Chats hinausgingen. Als eines
der ersten Angebote kann die Schulfreunde-Community
classmates.com angesehen werden, welche 1995 in den USA
gegründet wurde. Allerdings waren solche Dienste bis ca.
2003 nicht besonders populär. Dann gab es jedoch einen
schnellen Anstieg der Nutzerzahlen. Interessante Meilensteine
in der Geschichte von Social Networks, zumindest wenn es
um den "Wert" dieser Seiten geht, waren der Verkauf von
MySpace für 580 Millionen US-Dollar im Jahr 2005 an News
Corporation [6], der anteilige Verkauf von Facebook (1,6%)
für 240 Millionen US-Dollar in 2007 an Microsoft [8] und
der Verkauf von Bebo (populär in Großbrittanien) für 850
Millionen US-Dollar in 2008 an AOL [20].
Was ist also das Besondere an Social Networks und wieso
haben sie einen solchen Erfolg?
Der Erfolg liegt, wie bei vielen Web 2.0-Diensten,
darin, dass die Nutzer die Möglichkeit haben, aktiv das
Internet mitzugestalten. Durch die Plattform ist es auf
einfache Weise möglich, selbst Informationen im Web zu
veröffentlichen. Der Nutzer ist nicht mehr nur als Konsument
zu sehen, sondern vielmehr als Produzent und Konsument
gleichzeitig ("Mitmach-Web"). Die Funktionen sind bei
diesen Diensten auf die "sozialen Bedürfnisse" ausgerichtet.
Die Hauptfunktionen sind soziale Kommunikation und die
Selbstdarstellung. [16]
Social Networks sind zur Zeit extrem populär. 2008 gab
es alleine aus Deutschland 149 Social Networks [18]. Dieser
Wert dürfte bis heute allerdings noch weiter angestiegen sein.
Dabei gibt es neben den allgemeinen Netzwerken für die breite
Masse auch eigene Plattformen für speziellere Zielgruppen,
wie torfreunde.de für Fußballer, mamiweb.de für Mütter oder
sogar Angebote für Senioren, welche aber nur sehr selten
genutzt werden. [13] Die international bedeutendsten Portale
sind MySpace, die VZ-Netzwerke1 und Facebook. Auf
MySpace sind laut eigenen Aussagen mehr als 220 Millionen
Nutzer registriert, bei den VZ-Netzwerken insgesamt 16,9
Millionen2 und Facebook kann als absoluter Spitzenreiter
mehr als 400 Millionen aktive Nutzer in aller Welt vorweisen3 .
Doch wozu benutzen Leute eigentlich Social Networks?
Um zu erfahren, warum und wie Studenten Social Networks
nutzen, führten C. Lampe et al. 2006 eine Studie auf der
Plattform "Facebook" mit über 1000 Studenten der Michigan
State University durch. Es wurde unter anderem die Frage
behandelt, mit welchem Ziel das Social Network benützt
würde. Der Grund, der von den Studenten als am wichtigsten
eingestuft wurde, war: "Mit alten Freunden oder jemandem,
den ich aus der Highschool kenne, in Kontakt bleiben." mit
einer durchschnittlichen Wichtigkeit von 4,63/5. Ein weiterer sehr wichtiger Grund war: "Das Profil von jemandem
’checken’, den ich privat kennengelernt habe." (4,51/5). Das
Kennenlernen von neuen Freunden wurde dagegen eher selten
als Grund angegeben: "Persönliches Treffen mit jemandem,
den ich über Facebook kennen gelernt habe." (2,41/5) und
"Jemanden zum Ausgehen finden." (1,99/5). [9]
Social Networks werden also hauptsächlich dazu genutzt, mit
seinen Freunden in Kontakt zu bleiben, und nicht dazu, neue
Personen kennen zu lernen.
Laut einer Veröffentlichung von "Nielsen" von 2009 sind
Social Networks inzwischen weltweit4 der viert-beliebteste
Service im Internet. 67% der Internetnutzer benutzen solche
1 StudiVZ,
SchülerVZ und MeinVZ
http://www.studivz.net/l/about_us/1, Stand: Juni 2010
3 Quelle: http://www.facebook.com/press/info.php?statistics, Stand: Juli
2010
4 Zugrundeliegende Daten wurden von "Nielsen" in Australien, Brasilien,
Deutschland, Frankreich, Italien, Spanien, Schweiz, Großbrittanien and den
USA gesammelt
134
2 Quelle:
BENUTZERVERHALTEN IN ONLINE-SOCIAL-NETWORKS
Seiten. Damit sind Social Networks sogar beliebter als die
private eMail. [12]
Social Networks zeigen außerdem ein überdurchschnittlich
großes Wachstum auf. Innerhalb eines Jahres ist die Anzahl
der Benutzer von Social Networks um 27,8% gewachsen. Im
Vergleich dazu wuchsen die Nutzerzahlen bei Suchmaschinen
nur um 4,6%. [11] Die schnelle Verbreitung dieser Services
gibt Anlass dazu, zu überprüfen, wie genau die Nutzer diese
Angebote nutzen. In diesem Paper wird zuerst die Frage
beantwortet, warum solch eine Analyse überhaupt Sinn macht.
Im weiteren Verlauf werden die Ergebnisse zweier Studien zu
diesem Thema vorgestellt und analysiert. Dabei wurden die
Ergebnisse in mehrere Gruppen eingeteilt:
• Sitzungsdaten: Informationen darüber, wie lange und
wie oft ein Nutzer online ist. Zusätzlich wurde untersucht,
wie die Aktivität von der Zeit abhängt.
• Anzahl von Freunden: Wie viele Freunde haben Nutzer?
• Nutzeraktivitäten: Welchen Aktivitäten gehen Nutzer
am meisten nach?
• Übergang zwischen Aktivitäten: Angaben darüber, in
welcher Reihenfolge der Nutzer Aktionen ausführt.
• Interaktion mit anderen Benutzern: Untersucht wurde,
wie Benutzer miteinander kommunizieren.
Zusätzlich wird beschrieben, inwiefern diese Erkenntnisse
eine Rolle für die Entwicklung von neuartigen Social
Networks, speziell Safebook, spielen.
Safebook ist ein dezentrales Social Network, es kommt
also ohne einen zentralen Server aus, auf dem alle Profildaten
gespeichert sind. Stattdessen speichert jeder Nutzer die Profile
seiner Freunde.
Bei einer Freundschaftsanfrage landet man in einem solchen
Fall nicht direkt bei dem Nutzern, sondern vielleicht erstmal
bei einem Freund eines Freundes dieses Nutzers. Die Daten
werden über verschlüsselte Umwege versendet, so dass eine
Rückverfolgung unmöglich ist.
Derzeit wird Safebook von unter Anderem von Thorsten Strufe
an der TU Darmstadt entwickelt. Grund für die Entwicklung
war eine eigene Studie, in der wahllos Profile bei Facebook
anlegt wurden, die es mit dem gleichen Namen und Foto schon
gab. Über deren Freundeslisten konnten durch Freundschaftsanfragen über 80 Prozent der Personen dazu gebracht werden,
sich mit dem Fake-Profil anzufreunden. Auch Datenlecks,
die bei diversen Angeboten aufgetreten sind (wie im Mai
2010 bei Facebook [14] oder 2009 bei Schüler VZ [15])
zeigen, dass es Zeit ist, über Alternativen zur aktuellen Technik
nachzudenken.
II. WARUM FÜHRT MAN EINE V ERHALTENS -A NALYSE
VON B ENUTZERN DURCH ?
Die Gründe für die Analyse des Benutzerverhaltens in
Sozialen Netzwerken sind vielfältig:
•
Die Effizienz der vorhandenen Implementierung kann
getestet werden.
Somit lässt sich das Design der Seite verbessern und
gleichzeitig auch eine bessere Platzierung der Werbung
erreichen. [2] Dies ist ein besonders wichtiger Punkt,
da Social Networks erhebliche Ausgaben haben und die
einzige Einnahmequelle, neben Investoren, Werbung ist.
Facebook zum Beispiel hat im Monat über 20 Millionen
US-Dollar Ausgaben für Strom, Bandbreite, Hardware,
Miete und Personal. Zusätzlich steigen diese Kosten
ständig, da sich die Anzahl der Nutzer und die Menge der
Inhalte, die gespeichert werden müssen, ständig erhöht.
[4] Das erste mal, dass Facebook seit der Gründung
Anfang 2004 Geld verdient hat, war Mitte 2009. Zuvor
waren die Ausgaben des Unternehmens immer höher als
die Einnahmen. [17]
•
•
Modelle, die das Verhalten von Nutzern beschreiben,
sind in sozialen Studien und im viralen Marketing
von großer Bedeutung. So können Firmen diese
Informationen benutzen, um Inhalte/Aktionen (oder
allgemein: Werbung) schnell und vor allem effektiv zu
verbreiten. [10]
Da Social Networks durch ihre Popularität einen nicht
geringen Anteil des Internet-Traffics ausmachen, können
die Informationen, die aus der Analyse des Nutzverhaltens gewonnen werden, dazu genutzt werden, die Struktur
des "next-generation Internet" zu entwickeln. [1]
III. B ESCHREIBUNG DER ZUGRUNDE LIEGENDEN DATEN
Zu dem Thema "Benutzerverhalten in Social Networks"
existieren eine Reihe wissenschaftlicher Untersuchungen.
Allein die Suche bei Google Scholar nach "user behavio(u)r"
"social network(s)" bringt fast 4000 Ergebnisse. Viele dieser
Studien unterscheiden sich jedoch von den Ergebnissen her
kaum, da oft die gleichen Plattformen untersucht werden
und sich andererseits das Verhalten der Nutzer in den
verschiedenen Plattformen ähnelt.
In diesem Paper beziehe ich mich auf 2 populäre
Studien. Zum Einen die sehr ausführliche Veröffentlichung
"Characterizing user behavior in online social networks"
von F. Benevenuto et al. aus dem Jahr 2009, zum Anderen
"Rhythms of social interaction: messaging within a massive
online network" von S. Golder et al. von 2007.
Im ersten Paper beruht die Analyse auf detailliert erfassten
Clickstream-Daten. Ein Clickstream zeichnet für einen
Benutzer genau auf, wann er an welche Stelle einer Website
geklickt hat, bzw. welche Funktionen er ausgeführt hat.
Gesammelt wurden über einen Zeitraum von 12 Tagen die
Daten von 37.024 Nutzern, die die 4 populären Netzwerke
"Orkut", "MySpace", "Hi5" und "LinkedIn" benutzten. Da
das Sammeln der Daten direkt über die Portale nicht möglich
ist, wurde dies über einen brasilianischen AggregationsService realisiert, der den Nutzern erlaubt, sich mit einer
einzigen Authentifikation in mehrere Netzwerke gleichzeitig
einzuloggen. Die Auswertung berücksichtigte einerseits die
Auslastung des Services (wie oft Nutzer sich einloggen und
135
BENUTZERVERHALTEN IN ONLINE-SOCIAL-NETWORKS
wie lange sie online bleiben), andererseits die Aktivitäten, die
die Nutzer durchführen.
Das zweite Paper behandelt die Frage, wie Nachrichten
zwischen den Benutzern eines Social Network ausgetauscht
werden. Dazu wurde das Social Network "Facebook" über
einen Zeitraum von 26 Monaten überwacht. Insgesamt beruht
die Analyse auf 362 Millionen ausgetauschten Nachrichten
von 4,2 Millionen Nutzern. Die Daten wurden an 496 nordamerikanischen Universitäten gesammelt und bestehen aus
datenschutzrechtlichen Gründen nur aus völlig anonymisierten
Headern (jedem Nutzer wurde eine zufällige ID zugeordnet)
ohne Nachrichteninhalt.
wird der Service zu jeder Zeit immer von einer gewissen
Mindestanzahl an Personen (ca. 50) genutzt.
Jedoch muss man hierbei bedenken, dass der untersuchte Service hauptsächlich von Nutzern aus Brasilien benutzt wird. Bei
einer Seite, die von vielen internationalen Usern gleichzeitig
verwendet wird, würde sich keine solch deutliche Kurve
abzeichnen, da die Nutzer sich in verschiedenen Zeitzonen
aufhalten.
IV. A NALYSE VON S ITZUNGSDATEN
Eine wichtige Eigenschaft für die Aktivität der Nutzer
ist einerseits die Anzahl der Besuche pro Zeiteinheit und
andererseits auch die Länge einer Sitzung. Laut F. Benevenuto
et al. hat der Großteil der Benutzer (63%) in dem Zeitraum
von 12 Tagen die Seite nur einmal besucht, wohingegen
es auch Besucher gegeben hat, die die Seite öfter besucht
haben. Der Benutzer, der sich am meisten einloggte, tat dies
durchschnittlich 4,1 mal pro Tag.
Auch die Länge der Sitzungen variierte stark. Über die Hälfte
der Benutzer (51%) waren über den Testzeitraum insgesamt
nicht mehr als 10 Minuten angemeldet. 14% der Benutzer
waren mehr als eine Stunde angemeldet und 2% sogar mehr
als 12 Stunden (durchschnittlich 1 Stunde pro Tag), wie man
in Fig. 1 sehen kann.
Fig. 2: Anzahl von verbundenen Benutzern pro Tageszeit [1]
Aus den Messwerten lässt sich auch herauslesen, dass auch
die Benutzung von Social Networks über die Woche verteilt
einem deutlichen Muster folgt. So sind am Wochenende (in
Fig. 2 28./29. März und 04./05. April) deutlich weniger Nutzer
aktiv als unter der Woche.
V. A NZAHL VON F REUNDEN
Laut S. Golder et al. haben die analysierten 4,2 Millionen
Nutzer im Mittel 144 Freunde. Erstaunlich ist, dass es einige
Nutzer gibt, die extrem von diesem Mittelwert abweichen. Es
gab zum Beispiel 11 Nutzer mit mehr als 10000 Freunden. [5]
(s. Fig. 3)
Fig. 1: Länge der Sessions pro Benutzer [1]
Allerdings seien die Dauer des Aufenthalts auf der Plattform
und die Anzahl der Besuche nicht sehr stark miteinander
verknüpft. So gibt es Benutzer, die sich nur wenige Male
einloggen und trotzdem insgesamt eine lange Zeit auf der Seite
verbringen. Andererseits gäbe es auch Nutzer, die sich zwar
häufig einloggen, aber insgesamt nicht viel Zeit auf der Seite
verbringen.
Weiterhin ist die Aktivität auf den Plattformen stark von der
Tageszeit und dem Wochentag abhängig. Wie man in Fig. 2
sehen kann, gibt es Spitzenzeiten, an denen sehr viele Benutzer
(> 700) online sind (um 15 Uhr), und Zeiten, an denen weniger
Benutzer online sind (früh am Morgen und nachts). Jedoch
Fig. 3: Anzahl von Freunden pro Benutzer [5]
Für Safebook, bei dem jeder Nutzer die Daten aller seiner
Freunde speichert, würde diese Erkenntnis bedeuten, dass
der durchschnittliche Benutzer Daten für 144 andere Nutzer
speichern muss. Geht man davon aus, dass es sich bei diesen
Daten nicht nur um Text, sondern auch um Videos und Bilder
handelt (was heutzutage üblich ist), so kämen auf den Nutzer
nicht unerhebliche Datenmengen zu, die er speichern müsste.
136
BENUTZERVERHALTEN IN ONLINE-SOCIAL-NETWORKS
Geht man davon aus, dass die hochgeladenen Fotos, skaliert
und komprimiert, noch eine Größe von 100KB aufweisen
und jeder Nutzer ca. 10 Fotos hochgeladen hat, käme man
schon auf eine Datenmenge von über 140MB. Würde jeder
Nutzer noch 2 Videos in YouTube-Qualität (ca. 10MB für 3,5
Minuten) hochladen, die man speichern müsste, käme man auf
eine Datenmenge von knapp 3GB. Dies ist auch in der Zeit
von Breitband-Internet-Anschlüssen und Terrabyte-Festplatten
noch ein stolzer Wert.
VI. A NALYSE DER N UTZERAKTIVITÄTEN
Um zu untersuchen, was Benutzer in einem Social Network
genau machen, wurde zuerst mit den Clickstream-Daten der
Untersuchung von F. Benevenuto et al. für jeden Nutzer ein
Profil angelegt. Die durchgeführten Klicks wurden daraufhin
in 41 verschiedene Aktivitäten aufgeteilt und in 7 Gruppen
einsortiert:
• Suchen nach Gruppen oder anderen Benutzern
• Einem anderen Nutzer öffentliche Kurznachrichten hinterlassen
• Private Nachrichten versenden
• Eine Aktivität eines Freundes kommentieren
• Fotos und Videos ansehen/hochladen
• Aktivitäten, die mit Profilen und Freunden zu tun
haben, wie Freundschaftsanfragen beantworten, Profilseiten lesen, etc.
• Aktivität in Gruppen
A. Nutzer-Aktivitäten
Eine eindeutige Aussage, die sich aus den Ergebnissen
ziehen ließ, ist, dass das Browsen bzw. Stöbern die häufigste
Aktivität ist. 92% aller Anfragen zählten dazu. Zum Beispiel
war die Anzahl der Benutzer, die Nachrichten durchstöbert
haben, 13 mal so hoch wie die Anzahl der Benutzer, die
Nachrichten verschickt haben. Auch sind Aktivitäten, die mehr
Engagement vom Benutzer benötigen, wie zum Beispiel Das
Editieren des eigenen Profils, das Schreiben von Kommentaren
oder das Verfassen von Nachrichten, im Vergleich zu passiven
Aktivitäten nicht besonders beliebt.
Es lässt sich somit sagen, dass sich die meisten Benutzer
einen Großteil der Zeit passiv im Social Network aufhalten,
um neue Einträge von Freunden zu lesen, Fotos zu betrachten
oder Profile zu durchstöbern und nur gelegentlich aktiv am
Geschehen teilnehmen.
B. Wahrscheinlichkeit der Aktivität über die Zeit
Um zu überprüfen, ob es einen Unterschied in der Art der
Aktivität macht, ob Benutzer eher lang oder eher kurz online
sind, wurden Nutzer abhängig von Ihrer Sitzungs-Dauer in 4
Klassen eingeteilt. Für jede dieser Gruppen wurde daraufhin
überprüft, welchen Aktivitäten sie vorzugsweise nachgehen.
In Fig. 4 und Fig. 5 kann man sehen, wie sich die Zeit, die
für verschiedene Aktionen in Anspruch genommen wird, in
Abhängigkeit von der Sitzungsdauer verändert.
Man sieht schnell, dass die Nutzer, unabhängig von der
Sitzungsdauer, am meisten Zeit mit dem eigenen und fremden
Fig. 4: Zeit, die ein Benutzer mit einer bestimmten
Sitzungslänge mit beliebten Aktivitäten verbringt [1]
Fig. 5: Zeit, die ein Benutzer mit einer bestimmten
Sitzungslänge mit weniger beliebten Aktivitäten verbringt [1]
Profilen sowie mit öffentlichen Kurznachrichten ("Was macht
du gerade?") verbringen. In sehr kurzen Sitzungen (< 1
Minute) entfallen 90% der Zeit auf diese beiden Aktivitäten.
Jedoch auch in sehr langen Sitzungen (> 20 Minuten) werden
noch 75% der Zeit dafür verwendet.
Außerdem sieht man in den Graphen, dass mit zunehmender
Sitzungsdauer der Zeitanteil, der auf Aktivitäten, die mehr
Engagement erfordern (also nicht passiv sind), ständig
steigt. Die Wahrscheinlichkeit, dass sich ein Benutzer aktiv am Geschehen beteiligt, steigt also mit zunehmender
Sitzungslänge.
So ist zum Beispiel der Zeitanteil, der für das Betrachten
von Videos und Fotos aufgewandt wird, bei langen Sitzungen
doppelt so hoch, wie bei sehr kurzen Sitzungen.
VII. Ü BERGANG ZWISCHEN A KTIVITÄTEN
Zusätzlich wurde auch ausgewertet, welche Aktion
Benutzer als nächstes durchführen, wenn Sie eine Aktivität
beendet haben. Dies gibt Designern wertvolle Hinweise zur
Gestaltung der Webseite. Funktionen, die von einem Punkt
besonders oft aufgerufen werden, sollten von dort aus auch
einfach zu finden sein.
Als Ergebnis lässt sich feststellen, dass es sehr
wahrscheinlich ist, dass ein User nach dem Beenden
137
BENUTZERVERHALTEN IN ONLINE-SOCIAL-NETWORKS
einer Aktivität die gleiche Aktivität noch ein mal ausführt.
Nach dem Betrachten eines Fotos ist es zum Beispiel
sehr wahrscheinlich, dass der Benutzer ein weiteres Foto
betrachtet.
Insgesamt wurden 67% der Benutzeraktivitäten wiederholt.
Darüber hinaus gab es mehr Übergänge zwischen
Funktionen innerhalb der gleichen Kategorie (77%)
als kategorieübergreifend (23%). Benutzer führen also
voraussichtlich mehrere Aufgaben, die thematisch verwandt
sind, hintereinander aus.
Es ist also wahrscheinlicher, dass sich ein Benutzer direkt
nach dem Durchstöbern einer Liste von Fotoalben Fotos
ansieht, als dass er Funktionen aus einer anderen Kategorie,
wie zum Beispiel Schreiben einer Nachricht, benutzt.
Zusätzlich ließ sich aus den Ergebnissen auch herauslesen, dass eine einzelne Funktion überdurchschnittlich oft
aufgerufen wird, wenn sie sehr einfach erreichbar ist. So zum
Beispiel das Anzeigen der Start- oder Profil-Seite, was von
jeder anderen Seite aus möglich ist.
Für die Entwicklung von zukünftigen Social Networks ist es
also wichtig, dass man Funktionen, die oft benutzt werden
sollen bzw. die voraussichtlich oft genutzt werden, so einfach
wie möglich zugänglich macht. Je mehr Klicks eine Funktion
entfernt ist, desto seltener wird sie benutzt.
Für das Beispiel Safebook sind diese Erkenntnisse interessant, da für 78% der Profilbesuche kein erneuter Datenaustausch nötig ist, da das eigene Profil und das von direkten
Freunden lokal gespeichert ist. Lediglich in 22% greift man
auf ein unmittelbares Profil zu, welches von einem anderen
Benutzer abgerufen werden muss.
B. Direkter Informationsaustausch mit anderen Nutzern
Es gibt in den untersuchten Social Networks drei verschiedene Möglichkeiten zum direkten Informationsaustausch:
• Kurznachrichten schreiben
• Private Nachrichten schreiben
• Kommentare verfassen
Das Schreiben von Kurznachrichten geschieht meist auf der
Profilseite von Freunden. Das Posten auf das eigene Profil ist
sehr selten (0,5%).
Erstaunlicherweise kommunizieren die meisten Nutzer nicht
über private Nachrichten mit ihren Freunden. Stattdessen werden 76% der versendeten privaten Nachrichten an indirekte
Freunde versendet.
Kommentare konnten in dem untersuchten Social Network nur
zu direkten Freunden geschrieben werden, weswegen sich für
diese Gruppe in Fig. 7 eine Rate von 100% ergibt.
Freund
VIII. I NTERAKTION MIT ANDEREN B ENUTZERN
A. Aufruf von Funktionen
In Fig. 6 kann man sehen, welche Funktionen bei welchen
Benutzern aufgerufen wurden. Dabei wurde unterschieden
zwischen dem eigenen Profil, dem von Freunden und dem
von indirekten Freunden.
2+hops
Private
Nachrichten
Fig. 7: Direkter Informationsaustausch innerhalb des Social
Network [1]
Fig. 6: Aufruf von Seiten innerhalb des Social Network [1]
Die Grafik zeigt, dass insgesamt über 80% aller Funktionen
auf dem eigenen oder einem Profil eines direkten Freundes
aufgerufen werden.
Benutzer besuchen ihr eigenes Profil häufig, wenn Sie
Kommentare und Kurznachrichten schreiben. Fast genau
so häufig werden die Kurznachrichten auf Profilseiten von
direkten Freunden gelesen. Profile von direkten Freunden
werden öfters aufgerufen (59%) als das eigene, und auch
Profile von indirekten Freunden werden in 22% der Fälle
besucht.
Beim Betrachten von Fotos fällt auf, dass ein sehr großer
Anteil der angeschauten Fotos von unmittelbaren Freunden
stammt.
1) Private Nachrichten: S. Golder et al. kamen in
ihrer Studie von Facebook zu dem Ergebnis, dass private
Nachrichten eher selten geschrieben werden. Laut den ermittelten Daten verschickt ein Nutzer durchschnittlich 0,97
Nachrichten pro Woche. Dabei ist noch zu beachten, dass
es einige wenige Nutzer gibt, die sehr viele Nachrichten
verschicken aber wiederum auch eine große Menge an Teilnehmern, die gar keine schicken.
Dass eine derart geringe Anzahl an Nachrichten verschickt
werden ist erstaunlich. Da für Studenten die Kommunikation
per eMail eine große Wichtigkeit hat [7], hätte man hier einen
deutlich höheren Wert erwartet.
2) Anstupsen, Gruscheln etc.: Ein weiteres Feature bei
einigen Social Networks ist das Anstupsen (bei Facebook)
oder Gruscheln (bei den VZ-Netzwerken). Stupst man einen
anderen Benutzer an, bzw. gruschelt man ihn, erhält dieser
beim nächsten Einloggen eine Meldung darüber und eine
direkte Möglichkeit zum "zurück-gruscheln" bzw. "zurückanstupsen".
138
BENUTZERVERHALTEN IN ONLINE-SOCIAL-NETWORKS
Dabei kann das Gruscheln/Anstupsen für verschiedene NutzerPaare verschiedene Bedeutungen haben. Das entscheiden die
Nutzer für sich selbst.
Ein relativ weit verbreitetes Phänomen sind die sogenannten
"Poke wars" (Poke = Anstupsen). Dabei gruschelt sich ein
Paar von Nutzern gegenseitig wiederholt über mehrere
Stunden oder Tage.
Laut S. Golder et al. werden Nachrichten und "Anstupser"
hauptsächlich zwischen Freunden ausgetauscht werden (90,6%
der Nachrichten und 87,5% der "Anstupser")
Auch wenn Nachrichten hauptsächlich zwischen Freunden
gesendet werden, so sendet (wie oben bei anderen Netzwerken
schon festgestellt) auch bei Facebook nur ein geringer Teil der
Nutzer überhaupt Nachrichten. Die Untersuchung der Daten
ergab, dass von 378 Millionen Freundschafts-Paaren nur 57
Millionen (15.1%) überhaupt Nachrichten austauschten. [5]
C. Was Benutzer dazu bringt, ein Profil zu besuchen
Aus der Analyse der gesammelten Daten ging hervor,
dass die meisten Zugriffe auf Profile von Freunden von dem
eigenen Profil ausgingen (68%). Von diesem Profil wurde
in 25% der Fälle ein weiteres Profil von einem Freund
aufgerufen und mit einer Wahrscheinlichkeit von 7% das
eines indirekten Freundes.
Die meisten Benutzer rufen Profile von Freunden und
indirekten Freunden überdurchschnittlich oft direkt von ihrer
Startseite aus auf. Das mag daran liegen, dass dort Neuigkeiten
von Freunden (zum Beispiel Aktivitäten mit deren Freunden
wie zum Beispiel Kommentare) angezeigt werden, welche
wiederum Links zu den entsprechenden Personen beinhalten.
Somit existieren nicht nur Links zu Freunden sondern auch zu
indirekten Freunden.
Eine weitere Auffälligkeit ist, dass ein hoher Anteil der
Zugriffe von Freundes-Profilen ausgeht. Und zwar 25% der
Zugriffe auf Profile von Freunden und 30% der auf Profile
von indirekten Freunden.
Dies bestätigt die Aussage, dass Benutzer von Social Networks
vor allem durch ihre Freunde auf andere Benutzer und Inhalte
aufmerksam werden. [3]
Network "Facebook" fast 60% der Nutzer inaktiv. Sie haben
für mehr als ein Jahr keinerlei Aktivität gezeigt.
Ein anderer Trend, der sich abgezeichnet hat, ist, dass der
Grad der Interaktion nicht mit dem Grad der Verknüpfung
(Anzahl der Freunde) steigt. Benutzer mit einem geringen
Grad kommunizieren mit ähnlich vielen Freunden wie
Benutzer mit einem hohen Grad. Daraus kann man schließen,
dass es einfacher ist, Freunde in einem Social Network zu
gewinnen als mit diesen zu kommunizieren.
Insgesamt kommunizierten 55% der Nutzer in der Testphase
mit mindestens einem anderen Nutzer, 8% hatten mindestens
eine sichtbare Aktivität und 47% zeigten nur unsichtbare
Aktivitäten.
Diese Werte sollten beim Analysieren von Nutzerverhalten
anhand von Aktivitäts-Beobachtungen berücksichtigt werden.
So würde man 47% der Nutzer eben nicht beachten, da die
Aktivitäten dieser Nutzer unsichtbar sind.
IX. FAZIT
Viele Erkenntnisse, die aus den Studien gewonnen worden
sind bzw. von den jeweiligen Autoren herausgearbeitet
wurden, klingen schlüssig und dürften Personen, die selbst
Benutzer von Social Networks sind auch schon aufgefallen
sein.
Aus den Ergebnissen lässt sich der durchschnittliche
Social Network-Benutzer herauslesen. Er besucht das Social
Network innerhalb von 12 Tagen einmal, wahrscheinlich
unter der Woche um die Mittagszeit. Dabei ist dieser nicht
länger als 10 Minuten angemeldet. Der Durchschnitts-User
hat 144 Freunde und verbringt die meiste Zeit nicht damit,
Nachrichten zu schreiben, sondern mit dem Stöbern auf
anderen Profilseiten.
Da sich Social Networks jedoch im ständigen Wandel
befinden und auch das Verhalten der Benutzer sich mit jeder
neuen Funktion oder jedem neuen Design ändern kann, ist
es wichtig, Studien in regelmäßigen Abständen durchzuführen
und die gewonnenen Erkenntnisse zu vergleichen.
D. Anzahl der kontaktierten Nutzer
Hierbei wurde die Anzahl der Personen, die ein Benutzer
kontaktiert hat, ausgewertet. Dabei wurde verglichen zwischen
allen Aktivitäten und Aktivitäten, die auch für Dritte sichtbar
sind.
Der dabei festgestellte Interaktionsgrad ist sehr gering.
In der 12-tägigen Testphase kommunizierte ein Benutzer
durchschnittlich nur mit 3,2 anderen Teilnehmern des
Netzwerks. Betrachtet man nur die für Dritte sichtbaren
Aktivitäten kommt man sogar nur auf einen Wert von 0,2
Teilnehmer.
Dieser geringe Wert wurde auch schon in anderen Studien
festgestellt. Laut Christo Wilson et al. [19] sind im Social
139
R EFERENCES
[1] F Benevenuto, T Rodrigues, M Cha, and V Almeida. Characterizing
User Behavior in Online Social Networks. in ACM SIGCOMM conference on In, pages 49–62, 2009. II, 1, 2, 4, 5, 6, 7
[2] Moira Burke, C. Marlow, and T. Lento. Feed me: motivating newcomer
contribution in social network sites. In Proceedings of the 27th
international conference on Human factors in computing systems, pages
945–954. ACM, 2009. II
[3] Meeyoung Cha, Alan Mislove, and Krishna P. Gummadi.
A
measurement-driven analysis of information propagation in the flickr
social network. Proceedings of the 18th international conference on
World wide web - WWW ’09, page 721, 2009. VIII-C
[4] Andreas
Dengler.
Geldvernichtungsmaschine
Facebook?
[Internet].
http://www.seedfinance.de/2008/10/31/
geldvernichtungsmaschine-facebook-jetzt-mit-zahlen/, Okt 31 2008.
Zuletzt abgerufen am 05.07.2010. II
[5] S.A. Golder, D.M. Wilkinson, and B.A. Huberman. Rhythms of social
interaction: Messaging within a massive online network. In Communities
and technologies 2007: proceedings of the Third Communities and
Technologies Conference, Michigan State University 2007, page 41.
Springer-Verlag New York Inc, 2007. V, 3, VIII-B2
BENUTZERVERHALTEN IN ONLINE-SOCIAL-NETWORKS
[6] Handelsblatt. News Corporation kauft Internetfirma Intermix Media [Internet].
http://www.handelsblatt.com/unternehmen/it-medien/
news-corporation-kauft-internetfirma-intermix-media;929653, Jul 18
2005. Zuletzt abgerufen am 07.07.2010. I
[7] S. Jones and M. Madden. The Internet goes to college. Pew Internet
and American Life Project, 2002. VIII-B1
[8] Jürgen Kuri.
Microsoft kauft sich bei Social-Networking-Site
Facebook ein [Internet].
http://www.heise.de/newsticker/meldung/
Microsoft-kauft-sich-bei-Social-Networking-Site-Facebook-ein-188995.
html, Okt 25 2007. Zuletzt abgerufen am 07.07.2010. I
[9] Cliff Lampe, Nicole Ellison, and Charles Steinfield. A Face(book) in the
Crowd: Social Searching vs. Social Browsing. Human Factors, pages
167–170, 2006. I
[10] Jure Leskovec, Lada a. Adamic, and Bernardo a. Huberman. The
dynamics of viral marketing. ACM Transactions on the Web, 1(1):5–es,
May 2007. II
[11] Alan Long. The Rise and Rise of the Social Network. [Internet]. http://weblogs.hitwise.com/alan-long/2009/11/the_rise_and_rise_
of_the_socia.html, Nov 11 2009. Zuletzt abgerufen am 05.07.2010. I
[12] Nielsen Online Report. Social networks & blogs now 4th most popular
online activity, September 2009. I
[13] Wilfried Schock. 50plus im Netz – Senioren Communitys nicht
gefragt. [Internet].
http://www.i-marketing-net.de/social-networks/
senioren-communitys-nicht-gefragt/, Jul 13 2009. Zuletzt abgerufen am
05.07.2010. I
[14] Maximilian Schönherr. Lauschangriff im Facebook-Chat [Internet]. http:
//www.zeit.de/digital/datenschutz/2010-05/facebook-chat-panne, Mai 5
2010. Zuletzt abgerufen am 12.07.2010. I
[15] Julia Seeliger.
Daten-Leck bei Schüler-VZ [Internet].
http://www.taz.de/1/politik/schwerpunkt-ueberwachung/artikel/1/
daten-leck-bei-schueler-vz/, Okt 16 2009.
Zuletzt abgerufen am
12.07.2010. I
[16] Stoxn.
Online-Communities und Social Networking:Wichtiger
Bestandteil des Web 2.0 [Internet]. Version 13. http://knol.google.com/
k/stoxn/online-communities-und-social-networking/2o6u2g6xfx3th/62,
Sep 10 2009. Zuletzt abgerufen am 05.07.2010. I
[17] Oliver Voß.
Facebook verdient erstmals Geld [Internet].
http://www.wiwo.de/unternehmen-maerkte/
facebook-verdient-erstmals-geld-408443/, Sep 16 2009.
Zuletzt
abgerufen am 10.07.2010. II
[18] Martin Weigert.
Aktuelles Ranking: 149 Social Networks
aus Deutschland. [Internet].
http://netzwertig.com/2008/04/15/
zn-aktuelles-ranking-149-social-networks-aus-deutschland/, Apr 15
2008. Zuletzt abgerufen am 05.07.2010. I
[19] Christo Wilson, Bryce Boe, Alessandra Sala, Krishna P.N. Puttaswamy,
and Ben Y. Zhao. User interactions in social networks and their
implications. Proceedings of the fourth ACM european conference on
Computer systems - EuroSys ’09, page 205, 2009. VIII-D
[20] Peter-Michael Ziegler.
Time Warner zahlt 850 Millionen
US-Dollar
für
britische
Online-Community
[Internet].
http://www.heise.de/newsticker/meldung/
Time-Warner-zahlt-850-Millionen-US-Dollar-fuer-britische-Online-Community-190292.
html, Mär 13 2008. Zuletzt abgerufen am 07.07.2010. I
140
GENERAL OVERVIEW ON UNDERLAY MODELLING FOR P2P SIMULATORS
General Overview on Underlay Modelling for P2P
Simulators
Christian Rosskopf
Abstract—Für die Erstellung und Analyse von P2PAnwendungen ist es notwendig, die zugrunde liegende Netzstruktur zu kennen und simulieren zu können. Daher werden in
dieser Arbeit mehrere Ansätze zur Erzeugung von Topologien
betrachtet und analysiert. Dabei wird geprüft wie gut es gelingt
eine Topologie zu erstellen die dem Internet möglichst ähnlich
ist. Für eine realistische Simulation einer dem Internet ähnlichen
Topologie gehört auch die Berücksichtigung von Latenzen. Deshalb werden einige Modelle vorgestellt, die sich mit der Messung
und Berechnung von Latenzen beschäftigen.
I. E INFÜHRUNG
Um Peer-to-Peer-Anwendungen (P2P) sinnvoll testen zu
können, wird eine große Anzahl an teilnehmenden Peers
benötigt. Diese Arbeit beschäftigt sich nun damit wie ein
großes P2P-Netzwerk realistisch simuliert werden kann. Dabei
muss zum einen die Heterogenität der Peers beachtet werden,
da sie sich beispielsweise sehr in Leistungsstärke und ihrer
Anbindung an das Internet unterscheiden können. Zum anderen muss vor allem die Struktur des simulierten Netzwerks
dem Internet sehr ähnlich sein, um die erzielten Ergebnisse
auf eine spätere Anwendung übertragen zu können. Daher
wird hier überprüft, wie eine solche Netzstruktur für eine
Simulation geschaffen werden kann. Zusätzlich ist für eine realistische Simulation auch die Implementierung eines Latenzmodells notwendig. Dafür werden einige Modelle vorgestellt,
mit denen es möglich ist in großen Netzen die Latenz zu
messen. Die so gesammelten Beispieldaten könnten dann in
ein Simulationsmodell integriert werden.
Die Arbeit ist folgendermaßen aufgebaut: In Kapitel II
werden zuerst, die für diese Arbeit grundlegenden Begriffe
definiert und erläutert. Ebenso wird eine kurze Einführung in
den Aufbau von Peer-to-Peer-Netzwerken gegeben. In Kapitel
III wird der Aufbau des Internets kurz betrachtet. Dazu werden
gemessene Ergebnisse vorgestellt, die als charakteristische
Werte für das Internet angesehen werden können. Kapitel
IV betrachtet verschiedene Ansätze, um eine dem Internet
möglichst ähnliche Topologie zu erzeugen. In Kapitel V
werden die Ergebnisse dieser Ansätze mit den in Kapitel III
gemessenen Werten verglichen. Dadurch werden die einzelnen
Ansätze in ihrer Effizient bewertet. Kapitel VI beschäftigt sich
dann damit, wie auf einem geeignetem Modell während einer
Simulation Latenzen dargestellt werden können. Dazu werden
einige Modelle vorgestellt, die sich damit beschäftigen, wie
Latenz möglichst genau gemessen werden könnte. In Kapitel
VII werden die Latenzmodelle bewertet und es werden ihre
Anforderungen an Speicher und Rechenleistung betrachtet.
Darauffolgend werden in Kapitel VIII zwei existierende P2PSimulatoren kurz vorgestellt. Zum Abschluss wird in Kapital
IX eine Zusammenfassung der Arbeit präsentiert. Dabei wird
betrachtet, wie gut Topologien erzeugt werden können und
welche Arten der Latenzsimulation besonders empfehlenswert
sind.
II. G RUNDLAGEN
Es folgt zuerst eine kurze Erläuterung von wichtigen Begriffen aus der Graphentheorie und anderen benötigten Vokabeln.
Danach wird definiert was unter einem P2P-Netzwerk zu
verstehen ist und was für dieses kennzeichnend ist.
A. Begriffe der Graphentheorie
Folgend werden wichtige Begriffe der Graphentheorie
definiert. Die komplexeren Begriffe werden dabei am Beispielgraph in Abbildung 1 1 erläutert. Die hier vorgestellten Begriffe werden in den folgenden Kapiteln immer wieder aufgegriffen, um das Internet mit künstlich geschaffenen Topologien
vergleichen zu können.
1) Average Path Length: Dies bezeichnet die durchschnittliche Pfadlänge [21] in einem Graphen. Dazu wird für jeden
Knoten die durchschnittliche Entfernung zu allen anderen
Knoten berechnet und daraus der Durchschnittswert berechnet.
Je nach Definition kann als Entfernung die Anzahl der zu
passierenden Knoten auf dem kürzesten Weg oder die Summe
der gewichteten Kanten verwendet werden.
2) Degree Distribution: Damit wird die Verteilungsfunktion des Knotengrades im Graphen bezeichnet. Sie gibt
Auskunft über die Anteile der Knoten im Graph, die beispielsweise einen niedrigen Knotengrad besitzen.
3) Diameter: Damit wird in [21] unter dem Namen "Average Eccentricity" der mittlere Durchmesser eines Graphen
definiert. Der Wert für den Durchmesser eines Knoten ist
gleich der Länge der kürzesten Strecke zwischen ihm und
dem am weitesten von ihm entfernten Knoten. Der durchschnittliche Durchmesser ist demnach der Mittelwert über
die Durchmesser aller Knoten des Graphen. Als Durchmesser
des Graphen wird der höchste zu einem Knoten gehörende
Durchmesser verwendet.
4) Clustering Coefficent: Der lokale Clusterkoeffizient [21]
beschreibt wie stark ein Knoten verbunden ist. Dazu wird für
jeden seiner Nachbarn berechnet, mit wie vielen der anderen
Nachbarn sie verbunden sind. Ein Wert von 1 bedeutet dabei,
jeder Nachbar besitzt auch eine direkte Verbindung zu jedem
anderen Nachbarn. Ein Wert von 0 sagt hingegen aus, dass
zwischen den Nachbarn keine Verbindungen bestehen. Für den
globalen Clusterkoeffizent wird der Durchschnitt der einzelnen
Werte verwendet.
141
1 http://de.wikipedia.org/wiki/Clusterkoeffizient
GENERAL OVERVIEW ON UNDERLAY MODELLING FOR P2P SIMULATORS
c reelle Konstanten. Powerlaws konnten in vielen Bereichen
nachgewiesen werden. So unterliegen einige Phänomene der
Wirtschaft ebenso wie der Bevölkerungswachstum einem Powerlaw. Für diese Arbeit ist interessant, dass auch im Internet einige Powerlaws existieren. So hängt beispielsweise die
Häufigkeit eines vorkommenden Knotengrades und somit die
Verteilung der Knotengrade ebenfalls von einem Powerlaw ab.
Fig. 1. Der Clusterkoeffizient (CK) für Knoten 1 beträgt 1, da seine beiden
Nachbarn miteinander verbunden sind. Für die Knoten 2 und 5 ist der CK
= 1/3, da jeweils nur eine von drei möglichen Verbindungen unter ihren
Nachbarn besteht. Die Knoten 3 und 4 haben CK = 0, da ihre Nachbarn
nicht untereinander verbunden sind. Für Knoten 6 ist er nicht definiert.
5) Vertex Cover: Die Knotenüberdeckung [21] bezeichnet
das Verhältnis zwischen der Anzahl einer Auswahl an Knoten
und der Anzahl der im Graph vorhandenen Knoten. Für
die Auswahl muss dabei folgendes gelten: 1) Fügt man zu
den ausgewählten Knoten alle Knoten hinzu die durch eine
ihrer Kanten erreichbar sind, erhält man die Menge aller im
Graphen vorhandenen Knoten. 2) Die Auswahl muss eine
minimale Anzahl an Knoten umfassen. In Abbildung 1 werden
für die Knotenüberdeckung mindestens 2 Knoten benötigt, die
Knotenüberdeckung beträgt also 1/3 und könnte durch eines
der folgenden Paare dargestellt werden: {1,4}, {2,4} oder
{4,5}.
6) Maximum Clique Size: Als Clique wird in der Graphentheorie eine Teilmenge eines Graphen bezeichnet, in der
jedes beliebige Knotenpaar direkt miteinander verbunden ist.
Es existiert also eine Teilmenge die komplett untereinander
verbunden ist. Dies würde bei Topologien als "fully connected
mesh" bezeichnet. Unter Maximum Clique Size ?? versteht
man entsprechend die Größe der größten Clique im Graphen.
In Abbildung 1 hat die maximale Clique Größe 3 und besteht
aus der Knotenmenge {1,2,5}
B. Weitere Begriffe
1) Latenz: Mit Latenz wird die Verzögerung in der Kommunikation zwischen den Knoten bezeichnet. Die Ursachen
dafür können zum einen in der geographischen Entfernung
liegen. Die Übertragungen zwischen einem Peer in Europa
und einem Peer in Nordamerika sind normalerweise einer
größeren Latenz ausgesetzt, als die zwischen zwei geografisch
benachbarte Knoten. Latenz kann aber auch durch unterschiedliche Anbindungen an das Internet entstehen. So können
zwei geographisch benachbarte Knoten verschiedene Service
Provider nutzen und dadurch eine viel höhere Latenz besitzen,
als durch ihre Entfernung erwartet wird.
2) Jitter: Damit wird ein Störwert bezeichnet, der
Schwankungen in der gemessenen Latenz zwischen zwei
Knoten erklärt. Durch Jitter kann eine Antwort entweder früher
oder später ankommen als erwartet.
3) Churn: Der Begriff beschreibt die ständige Fluktuation
von Knoten in einem P2P-Netzwerk. Ständig kommen neue
Knoten hinzu und andere verlassen das Netzwerk entweder
durch Abmeldung oder ohne Benachrichtigung.
4) Powerlaw: Die allgemeine Form eines Powerlaws oder
Potenzgesetzes ist in Formel 1 zu sehen. Dabei sind b und
f (x) = b ∗ cx
(1)
C. Peer-to-Peer-Networks
Im Gegensatz zu einem Client-Server-Modell sind in einem
P2P-Netzwerk nach der ursprünglichen Definition alle Peers
gleich [6]. Typisch für P2P-Netze ist, dass es keine zentrale
Kontrolle gibt und die Peers somit unabhängig sind. Ein P2PNetz ist sehr dynamisch und es gibt einen ständigen Wechsel
zwischen hinzukommenden und gehenden Knoten. Weitere
allgemeine Eigenschaft von P2P-Netzen ist die Skalierbarkeit
und Robustheit gegenüber Angriffen. Ein Netzwerk kann sehr
gut mit einer hohen Anzahl an Knoten arbeiten, da diese
nicht von einer zentralen Stelle verwaltet werden müssen.
Dadurch ist es auch für Angreifer schwierig verwundbare
Stellen innerhalb des P2P-Netzes ausfindig zu machen. In der
Praxis werden strukturierte und unstrukturierte P2P-Netzwerke
unterschieden. In einem strukturierten Netzwerk wie Chord
[20] besitzen die einzelnen Peers feste Zuständigkeitsbereiche
bezüglich Objekten. Clients wird in diesem Fall beispielsweise durch eine Hashfunktion eine feste Position im Overlay zugewiesen. Im unstrukturierten Ansatz, der häufig in
Filesharing-Anwendungen zu finden ist, kann der Client selbst
wählen mit wem er sich verbindet und somit seine Position
im Overlay beeinflussen.
III. C HARAKTERISTISCHE E IGENSCHAFTEN DES
I NTERNETS
Die hier vorgestellten Werte wurden in [21] präsentiert und
basieren auf der Aufbereitung zweier Studien [16], [17]. Diese
haben Routing Tabellen von 51 autonomen Systemen (AS)
im Zeitraum November 1997 bis Februar 2002 gesammelt.
Die einzelnen Domänen oder autonomen Systeme haben eine
Größenordnung von ungefähr 6000 bis 12000 Knoten.
A. Nodedegree
In [21] wurde gezeigt, dass ungefähr 1,5 bis 2% der Knoten
einen Anteil von über einem Drittel an der Summe der
Knotengrade haben. Auf der anderen Seite haben über 60%
der Knoten nur einen Grad von 1, sie sind somit also nur
zu einem anderen Knoten verbunden. Weitere ca. 25% der
Knoten haben einen Grad von 2. In [7] wurde gezeigt, dass
die Verteilung des Knotengrades einem Powerlaw unterliegt.
B. Cluster Coefficient
Dadurch, dass sehr viele Knoten nur eine sehr geringe
Anzahl an Nachbarn haben, können höhere Werten für den
Clusterkoeffizienten als bei vielen Zufallsmodellen beobachtet
werden. Für die beobachteten Systeme wurden Werte im Bereich von 0,35 bis 0,45 gemessen, wobei ein leichter Anstieg
142
GENERAL OVERVIEW ON UNDERLAY MODELLING FOR P2P SIMULATORS
über den Untersuchungszeitraum zu beobachten war. Dieser
relativ hohe Wert kann auch auf das Powerlaw zurückgeführt
werden, welches für die Verteilung des Knotengrades verantwortlich ist.
C. Vertex Cover
Bei den in [11] zitierten Beobachtungen wurden für Vertex
Cover Werte von 0,15 bis 0,2 festgestellt. Hier ist zu beachten,
dass die Werte im Laufe de Experimentes kontinuierlich
sanken und gegen Ende den Wert 0,15 erreichten. Dies bedeutet, dass bei richtiger Auswahl mit Hilfe von 15% der
Knoten der komplette Graph erstellt werden kann.
D. Diameter
Für die untersuchten autonomen Systeme konnte ein mittlerer Durchmesser von 6,5 bis 7,5 bestimmt werden. Im
Durchschnitt ist es also möglich mit 7 Sprüngen von einem
Knoten zu einem anderen beliebigen Knoten zu kommen.
E. Maximum Clique Size
Als Größe wurden hier im Laufe des Experiments Werte
zwischen 8 und 16 Knoten gemessen. Es wurde dabei in [11]
angenommen, dass es sich bei diesen Cliquen um die Knoten
handelt, die den höchsten Knotengrad besitzen. Übertragen auf
das gesamte Internet wird die maximale Clique vermutlich
durch die 10 bis 15 größten autonomen Systeme gebildet.
IV. M ODELLIERUNG VON I NTERNETTOPOLOGIEN
In diesen Abschnitt werden nun einige Modelle und Generatoren vorgestellt, die zur Erzeugung von Graphen verwendet
werden. Dabei wird kurz beschrieben nach welchem Verfahren
ein Graph erzeugt wird. Im Kapitel V wird dann bewertet wie
erfolgreich die Modelle sind, um eine Topologie zu erzeugen,
die den in III gemessenen Werten ähnlich ist.
A. Gilbert Modell
In diesem sehr einfachen Modell [10], [19] existiert zwischen zwei Knoten mit der Wahrscheinlichkeit p eine Kante.
Ein Generator benötigt als Eingaben nur die Anzahl der
Knoten und die Wahrscheinlichkeit p.
B. Barabsi-Albert-Modell
Bei diesem Modell [19] wird versucht, die in III
beschriebene Eigenschaft des Powerlaws bezüglich des
Knotengrades zu erreichen. Dazu wird der Graph sukzessiv
aufgebaut. Ein Knoten der neu an den Graphen angebunden
wird, versucht sich mit m verschiedenen Knoten zu verbinden,
wobei Knoten die einen hohen Grad besitzen bevorzugt werden. Ein vorhandener Knoten j wird mit Wahrscheinlichkeit
Π(j) ausgewählt. Dabei wird Π(j) nach Formel 2 berechnet,
wobei kt (j) für den Knotengrad des aktuell betrachteten
Knoten j steht:
kt (j)
kt (j)
=
Π(j) = P
2 · mt
kt (v)
v∈V
(2)
Fig. 2. Die Abbildung aus [22] zeigt die beiden Möglichkeiten wie ein neuer
Knoten mit einem bestehenden Netzwerk verbunden werden kann und welche
neuen Verbindungen dabei erzeugt werden.
Je höher also der Anteil eines Knotens an der Summe der
Knotengrade ist, desto höher ist die Wahrscheinlichkeit, dass
er von einem neuen Knoten ausgewählt wird. Für das Modell
kann mit dem Parameter m festgelegt werden, wie viele
Verbindungen ein neuer Knoten erstellen soll.
C. Positive-Feedback-Preference-Modell - PFP-Modell
Auch in diesem Modell [22] wird sich an der PowerlawEigenschaft orientiert. Jedoch werden hier Knoten mit einem
hohen Grad noch stärker bevorzugt. In Abbildung 2 werden
zwei Möglichkeiten unterschieden, wie ein neuer Knoten k1
sich mit dem aktuellen Graphen verbinden kann:
1) Mit Wahrscheinlichkeit 1-p verbindet sich k1 mit einem
vorhandenem Knoten. Dieser verbindet sich mit zwei
weiteren Knoten des Graphen zu denen noch keine
direkte Verbindung besteht.
2) Mit Wahrscheinlichkeit p wird der neue Knoten k1
mit zwei Knoten des existierenden Graphen verbunden.
Einer dieser Knoten verbindet sich mit einem weiteren
Knoten aus dem Graphen zu dem bisher keine direkte
Verbindung besteht.
Die Auswahl der Knoten zu denen eine Verbindung erstellt
wird, wird nach der Formel 3 bestimmt. Dabei bezeichnet Π(i)
die Wahrscheinlichkeit mit der Knoten ki zu einem Knoten mit
Knotengrad k eine Verbindung erstellt. Dem Generator werden
beim Start die Anzahl der Knoten, sowie feste Werte für δ
und p übergeben. Nach den Auswertungen aus [22] werden
die besten Ergebnisse mit δ = 0.021 und p = 0.4 erzielt.
Dabei handelt es sich bei δ um einen experimentellen Parameter, dessen Idealwert durch mehrere Simulationsvorgänge
bestimmt wurde.
k (1+δ ln k)
Π(k) = P (1+δ ln k) , σ > 0
kj
(3)
D. I-Net 3.0
Der Generator I-Net 3.0 [21] ist eine Weiterentwicklung von
I-Net 2.2 [12]. Da I-Net 2.2 in einigen Punkten noch zu große
Abweichungen zu real gemessenen Werten besaß, wurde INet 3.0 gezielt in diesen Bereichen verbessert. Dabei wurde
143
GENERAL OVERVIEW ON UNDERLAY MODELLING FOR P2P SIMULATORS
vor allem an einer Optimierung in den Bereichen Degree
Distribution und Vertex Cover gearbeitet. In I-Net 2.2 war
der Vertex Cover zwischen 50 und 100% größer als in den
Messungen. Dies ist darauf zurück zu führen ist, dass zu
viele Knoten mit einem kleinem Grad zu anderen Knoten mit
kleinem Grad verbunden wurden. Diese Knoten müssten dann
auch in die Menge des Vertex Cover aufgenommen werden,
bringen aber ihrerseits über die Kanten kaum andere Knoten
mit. Beispielsweise waren 35% der Knoten mit Grad 2 mit
Knoten verbunden die einen Grad von maximal 3 hatten.
In den realen Werten waren es nur knapp 5%. Ähnliches
wurde auch für die am stärksten verbundenen Knoten festgestellt. Ungefähr 45% der Nachbarn des Knoten mit dem
zweithöchstem Grad besitzen selbst einen Grad von maximal
3, wobei hier ein Wert von 75% erwartet wurde. Daraus folgt,
dass Knoten mit niedrigem Grad öfter mit Knoten verbunden
werden müssen die einen hohen Grad besitzen. Als Folge
dessen wurde der Algorithmus für die Verbindungen in INet 3.0 überarbeitet. Die Wahrscheinlichkeit, dass sich zwei
Knoten verbinden steigt nun umso mehr, je stärker sie sich
in ihrem Grad unterscheiden. Ein Graph wird nach folgendem
Schema erzeugt:
1) Es wird ein sukzessiv ein Spannbaum mit allen Knoten
erzeugt deren Grad größer 1 sein soll. Ein neuer Knoten
wählt dafür nach Formel 4 und 5 einen Knoten aus, der
noch freie Grade besitzt.
2) Alle Knoten mit Grad 1 werden nun sukzessiv
in den Graphen eingebaut. Auch sie wählen ihren
Verbindungspartner über 4 und 5 aus.
3) Nun besteht der Graph aus allen Knoten, jedoch haben
viele Knoten noch freie Grade. Jetzt werden innerhalb
des Graphen neue Verbindungen erzeugt. Dabei wird mit
den Verbindungen für den Knoten mit den meisten freien
Graden begonnen. Auch hier wird die Auswahl über 4
und 5 getroffen.
wij
= M AX(1,
s
(log
di 2
f (di ) 2
) ) · dj
) + (log
dj
f (dj )
wj
P (i, j) = P i k
wi
(4)
(5)
k∈G
In 5 steht P(i, j) für die Wahrscheinlichkeit, dass ein Knoten
i mit Grad di zu einem Knoten j mit Grad dj verbindet. Dazu
wird anhand der jeweiligen Knotengrade eine Gewichtung für
die Verbindung in 4 berechnet. Diese wird anhand der Knotengrade und deren Häufigkeit bestimmt. Kombinationen aus
stark unterschiedlichen Graden werden dabei stark bevorzugt,
während gleiche oder sehr ähnliche Grade nur mit linearer
Priorität beachtet werden. Die wichtigsten Einstellungen für
den Generator sind die Anzahl der gewünschten Knoten, sowie
der Anteil von Knoten der Grad 1 besitzt.
V. E VALUATION DER T OPOLOGIEMODELLE
In diesem Abschnitt werden die von den zuvor in IV
vorgestellten Modelle und Generatoren erzeugten Topologien
betrachtet und mit denen für das Internet charakteristischen
Werten aus III verglichen.
A. Gilbert-Model
Die erzeugte Topologie weicht sehr stark von der in III
vorgestellten ab. Durch die Art wie die Knoten verbunden wurden, ergibt sich eine ganz andere Verteilung des Knotengrades.
Außerdem kann durch das Modell gut ein Erwartungswert für
die Anzahl an Verbindungen pro Knoten berechnet werden. Da
alle Knoten ungefähr gleich viele Nachbarn besitzen und die
Verbindungen zufällig erstellt wurden, sind die Nachbarn eines
Knoten untereinander nicht stark verbunden. Daraus ergibt sich
auch ein sehr geringer Wert für den Clusterkoeffizienten, der
somit stark von den angestrebten Werten abweicht.
B. Barabasi-Albert-Model
Das Modell liefert die besten Werte für die Einstellung m =
3 . Dadurch besitzt aber jeder Knoten auch mindestens m
Verbindungen. Dies ist aber eine starke Abweichung zu den
Werten aus III und [21]. Dort wurde gezeigt, dass ein Großteil
der Knoten nur einen Nachbarn besitzt.
C. PFP-Model
Die vom Modell erzeugte Topologie wurde in [22] mit
einem chinesischen AS verglichen. Dabei wurden bezüglich
des Knotengrades Werte erzielt die sehr nahe am Vergleichsobjekt lagen. Bezüglich der Pfadlänge und der maximalen
Clique konnten sehr ähnliche Werte erzielt werden.
D. I-Net 3.0
Die Optimierungen gegenüber der Vorgängerversion haben
zu Verbesserungen bezüglich Degree Distribution und Vertex
Cover geführt. Jedoch weicht I-Net 3.0 noch immer stark
von den in III gemessenen Werten für Clique Size und
Clustering Coefficient ab. Vor allem im Bereich der maximalen
Clique sind die Ergebnisse ernüchternd, da hier I-Net 2.2
bessere Werte lieferte. Auch der Clusterkoeffizient konnte
zur Vorgängerversion nicht wirklich verbessert werden. Hier
lagen die Ergebnisse bei den frühen Vergleichsdaten sogar
leicht unter den Werten von I-Net 2.2, bei den späten konnte
aber eine geringe Verbesserung zum Vorgänger erzielt werden.
Da die Verteilung der Knotengrade ist in I-Net 3.0 nahezu
identisch zu den gemessenen Vergleichswerten ist, liegt die
Ungenauigkeit in einzelnen Bereichen wohl an der Art wie die
Knoten untereinander verbunden werden. Der Verbindungsalgorithmus sollte also noch anhand der neuen Ergebnisse weiter
verfeinert werden.
VI. M ODELLIERUNG VON L ATENZEN IN S IMULATIONEN
Um eine Simulation realistisch durchführen zu können, wird
neben einem geeignetem Topologiemodell auch eine realistische Darstellung der Latenz zwischen den einzelnen Knoten
benötigt. Es gibt beispielsweise die Möglichkeit konstante oder
auf zufällige Werte für die Latenz zu verwenden. Ein weitere
Möglichkeit besteht darin, bereits gemessene Latenz mit Hilfe
einer analytischen Verteilungsfunktion den Knoten zuzuteilen.
Im folgenden werden einige weitere Ansätze vorgestellt, die
es ermöglichen sollen realistische Latenzwerte für eine Simulation zu erhalten. Eine Auswertung dieser Modelle findet in
Kapitel VII statt.
144
GENERAL OVERVIEW ON UNDERLAY MODELLING FOR P2P SIMULATORS
Fig. 3. Um die Latenz zwischen A und B bestimmen zu können wird von
KING eine DNS-Anfrage an Name-Server-A gestellt. Dabei wird nach Host B
gefragt und die Anfrage an Name-Server-B weitergeleitet. Aus der Antwortzeit
und der Latenz zwischen KING und Name-Server-A kann die Latenz zwischen
den Servern berechnet werden. Bild stammt aus [11]
A. KING
In KING [11] wird die Latenz zwischen zwei beliebigen
Endhosts mit Hilfe von DNS-Anfragen geschätzt. Dieses Verfahren besitzt den Vorteil, dass die Endhosts nicht unter der
Kontrolle des KING-Netzes sein müssen. Die Entwicklung von
KING basiert auf zwei Beobachtungen:
1) Ein Endhost befindet sich meistens in der Nähe seines
DNS-Servers.
2) Die Latenz zwischen zwei DNS-Servern kann über
rekursive DNS-Abfragen ermittelt werden.
Um die Latenz zwischen den Hosts A und B in Abbildung
3 zu bestimmen, sendet der KING-Client eine Anfrage nach
Host-B an den Name-Server-A. Dieser leitet sie an NameServer-B weiter. Von der Bearbeitungsdauer der Anfrage wird
Latenz abgezogen, die zwischen dem Client und NameServer-A besteht. Diese kann mittels eines ICMP-Pings oder
einer iterativen DNS-Anfrage ermittelt werden. Da sich nach
Beobachtung 1, die Endhosts in der Nähe ihrer Name-Server
befinden, kann der ermittelte Wert als Latenz zwischen den
Endhosts angesehen werden.
B. Global Network Positioning - GNP
In [14] werden die Schwächen einiger Ansätze bei der Simulation mit Latenzen angesprochen. Werden die Latenzzeiten
über analytische Verteilungsfunktionen bestimmt, ist dies zwar
einfach und ohne große Ressourcen umzusetzen, jedoch kann
dabei keine geographische Verteilung der Knoten berücksichtigt werden. Für den Fall, dass Latenzen für jeden Knoten
gespeichert werden tritt das Problem auf, dass der Speicherbedarf quadratisch mit der Knotenzahl steigt. Daher wird
ein Ansatz mit linearer Komplexität vorgeschlagen der mit
Netzwerkkoordinaten arbeitet. Damit während der Simulation
der Speicherbedarf und die Rechenleistung niedrig gehalten
werden können, müssen im Vorfeld komplexe Berechnungen durchgeführt werden, die jedoch für weitere Simulationen verwendet werden können. Grundlage des Modells ist
die Beobachtung, dass oft weit entfernte Knoten mit geringerer Verzögerung kommunizieren können, als geographisch
benachbarte Knoten, da sie den gleichen ISP nutzen. Für
das Modell werden sogenannte Monitore benötigt. Dies sind
Knoten, für die untereinander jeweils die Round-Trip-Zeiten
bekannt sind. Bei der Wahl der Monitore sollte dabei darauf geachtet werden, dass diese geographisch möglichst weit
auseinander liegen. Die Monitore werden anschließend auf
diesen Daten basierend in ein d-dimensionales Koordinatensystem eingetragen, wobei d kleiner der Anzahl an Monitoren
sein muss. Um für einen neuen Knoten seine Position im Raum
zu bestimmen muss er mindestens d + 1 Monitore pingen.
Anhand der erhaltenen Latenzen kann der Knoten selbst seine
Position im Raum bestimmen. Um nun die Latenz für zwei beliebige Knoten, die im Koordinatensystem eingetragen sind, zu
berechnen, muss nur die euklidische Norm ihrer Koordinaten
bestimmt werden.
C. Dynamische Latenz
In [13] wird ebenfalls wie bei GNP [14] versucht über
die IP-Adresse einen Standort zu berechnen und durch diesen
eine Abschätzung der Latenz zu erhalten. Auch hier werden
den Adressen Punkte in einem mehrdimensionalen Raum
zugeordnet. Dabei wird auch betrachtet das Latenz kein
statischer Wert ist sondern ein dynamischer. Eine gemessene
Latenz entspricht nämlich nicht nur der benötigten Zeit für
den Weg, es kommt ein Zeitanteil für die Verabeitung am
Ziel hinzu. Deshalb wird in diesem Ansatz versucht eine
Abschätzung für die Latenz zugegeben, die Schwankungen
durch die Verarbeitung mit betrachtet. Im ersten Schritt des
Modells werden für alle Knotenpaare die minimalen Delays
anhand der Roundtrip-Zeiten aus den Daten von CAIDA
[1] berechnet. Damit ist der statische Anteil der Latenzen
berechnet und die Knoten können in einem mehrdimensonalen
Raum entsprechend ihrer gegenseitigen Latenzen positioniert
werden. Im nächsten Schritt soll der Jitter berechnet werden. Dabei werden für den Jitter Zeitintervalle festgelegt, die
beschreiben um wie viel die Latenz vom berechneten Wert
abweichen kann. So dient dieser Störwert dazu, dynamische
Latenzen zu erzeugen. Die Daten für die Berechnung des
Jitters stammen aus dem PingER-Projekt [5]. Dort ist deutlich
erkennbar, dass der Jitter stark von den Regionen abhängt in
denen sich die jeweiligen Knoten befinden. Beispielsweise ist
der Jitter für eine Verbindung nach Afrika besonders hoch,
wohingegen eine Verbindung Nordamerika-Europa fast den
gleichen Wert hat wie Nordamerika-Nordamerika. Dies wird
darauf zurückgeführt, dass in unterschiedlichen Regionen die
Infrastruktur des Internets sehr unterschiedlich ausgebaut ist.
VII. E VALUIERUNG DER L ATENZMODELLE
Zuerst betrachtet diese Kapitel die Genauigkeit der berechneten Latenz im Vergleich zu den wirklichen Latenzwerten.
Anschließend wird eine Übersicht geliefert, die den Speicherbedarf und die Rechenleistung für die Modelle betrachtet.
A. KING
Bei Tests zur Bestimmung der Latenz von Webservern lagen
zwei Drittel der Ergebnisse innerhalb einer Abweichung von
10% zu den tatsächlichen Werten. Drei Viertel der Ergebnisse
lagen noch innerhalb einer Abweichung von 20%. Bei einem
Versuch zur Bestimmung der Latenz von Napster-End-Clients
kam es allerdings zu stärkeren Abweichungen. Hier wurde
die geschätze Latenz zu niedrig angesetzt. Nach [11] ist dies
145
GENERAL OVERVIEW ON UNDERLAY MODELLING FOR P2P SIMULATORS
auf die schlechtere Anbindung der Endnutzer im Vergleich
zu Webservern zurückzuführen. Wenn man aus den Vergleichswerten allerdings den letzten Hop zum End-Client weglässt,
erreicht KING die gleichen Ergebnisse wie im vorherigen
Experiment.
Kombinationen von Regionen gespeichert werden muss. Dies
würde eigentlich einem Aufwand von O(n2 ) entsprechen,
kann jedoch vernachlässigt werden, da n hier im Gegensatz
zum Modell von KING nur sehr klein ist. Mit n werden in
diesem Fall große Regionen beschrieben die einen gemeinsamem Jitter-Wert haben.
B. Global Network Positioning
Für GNP wurden 200= Messungen vorgenommen und folgende Ergebnisse veröffentlicht:
1) 81% der berechneten Latenzen hatten eine maximale
Abweichung von 50%.
2) 50% der Messungen hatten eine Abweichung von maximal 12.3%.
Die größten Abweichungen gab es ab Latenzen die eigentlich
einen Wert von mindestens 350ms hatten. Hier wurden die
Werte teils stark unterschätzt. Allerdings machten diese auch
nur knapp 7% der Werte aus.
Die Auswertung der so erhaltenen Latenzen zeigte, dass die
Verteilungskurve für die durchschnittliche Latenz gleich der
Kurve aus den beobachteten Werten der CAIDA [1] Studie
ist.
C. Dynamische Latenzen
Da dieses Modell auf den Werten von GNP für die Latenz
basiert, wird hier auf den vorherigen Abschnitt verwiesen.
D. Allgemeine Evaluierung
In Abbildung 4 ist eine allgemeine Übersicht über die
Berechnungskosten und den Speicherbedarf verschiedener
Modellierungstypen dargestellt. Die Verwendung einer
Verteilungsfunktion, die auf zuvor gemessenen Werten
beruht, ist mit wenig Aufwand einsetzbar und benötigt nur
minimale Systemanforderungen. Allerdings berücksichtigen
diese Latenzen keine geographische Positionen der Knoten.
Außerdem können die Latenzwerte für einen Knoten sehr
unterschiedlich ausfallen, wenn jedes mal erneut auf die
Funktion zurückgegriffen wird. Dies kann einen ungewollten
Jitter erzeugen.
Um das Modell von KING einzusetzen müssten große
Mengen an Daten zuvor ermittelt werden und über die ganze
Simulationsdauer gespeichert werden. In diesem Fall müsste
für jedes Knotenpaar ein Latenzwert gespeichert sein. Dies
entspricht einem Aufwand von O(n2 ) und ist bei einer
Knotenzahl von n > 10000 nicht zu vernachlässigen. Allerdings würde man sehr genau Werte zur Verfügung haben. Dieser
Ansatz ist mit den Lookup-Tabellen vergleichbar.
Die Ansätze GNP und dynamische Latenz haben einen sehr
hohen Berechnungsaufwand für die Koordinaten der Knoten.
Dieser ist allerdings einmalig und findet vor der Simulation
statt. Die dabei berechneten Werte können anschließend für
viele Simulationen genutzt werden. Im Falle von GNP gibt
es auch kaum Speicheraufwand und der Rechenaufwand ist
während der Simulation sehr gering.
Bei Verwendung der dynamischen Latenz trifft auf den
Rechenaufwand das gleiche wie für GNP zu. Der Speicheraufwand hingegen ist höher, da der Jitter für die einzelnen
VIII. P2P-S IMULATOREN
In diesem Kapitel werden abschließend zwei verschiedene
P2P-Simulatoren vorgestellt. Dabei wird kurz beschrieben
welche Underlaymodelle genutzt werden können und wie
Latenzen simuliert werden. Außerdem wird aufgelistet welche
Arten von Overlays in der Simulation unterstützt werden und
welche zusätzlichen Features der Simulator zur Verfügung
stellt.
A. OverSim
OverSim [2], [3] stellt drei unterschiedlich komplexe Underlaymodelle zur Auswahl:
1) Simple: In diesem Modus ist es möglich bis zu
100000 Knoten zu simulieren. Für die Simulation können Latenzen benutzt werden. Dabei kann entweder
auf konstante Werte zurückgegriffen werden oder die
Latenz kann über die Position in einem n-dimensionalen
Raum ähnlich wie in GNP berechnet werden. Ebenso
können den einzelnen Knoten Werte für Bandbreite,
Laufzeitverzögerung, Jitter und Paketverlust zugeteilt
werden um ein heterogenes Netzwerk zu simulieren.
2) Inet: In diesem Modus findet die Simulation unter
Verwendung eines vollständigen IP-Protokolls statt. Des
weiteren können auch simuliert werden und durch verschiedene implementierte MAC-Protokolle kann auch
der Zugriff von drahtlosen Geräten simuliert werden.
3) SingleHost: Dieses Underlay dient als Anbindung an
echte Netzwerke. Damit soll es ermöglicht werden,
Overlay-Protokolle die für OverSim entwickelt wurden
in realen Netzwerken einzusetzen.
Bei der Simulation kann sowohl auf strukturierte und unstrukturierte Overlayprotokolle zurückgegriffen werden. In Oversim
sind unter anderem Chord [20], Kademlia [15], Pastry [18],
Gia [4] und Vast implementiert. Ebenso ist es möglich Churn
zu simulieren oder mobile Knoten durch Änderung ihrer
Koordinaten darzustellen.
B. ProtoPeer
Das Ziel von ProtoPeer [8], [9] ist es, die Lücke zwischen
Simulation und dem richtigen Einsatz einer P2P-Anwendung
zu überbrücken. Für Simulationen von P2P-Anwendungen
wird normalerweise viel Code benötigt, der in der veröffentlichten Anwendung nicht mehr verwendet wird. ProtoPeer möchte erreichen, dass für Simulation und Veröffentlichung der Code genutzt werden kann. Das Framework
wurde in Java implementiert und verwendet zum Übertragen
von Nachrichten TCP und UDP.
Es gibt sowohl die Möglichkeit eine Simulation in Schritten
durchzuführen, als auch einen Live-Test durchzuführen. Für
146
GENERAL OVERVIEW ON UNDERLAY MODELLING FOR P2P SIMULATORS
Fig. 4.
Überischt über die verschiedenen Latenzmodelle
die Darstellung von Delay, kann auf die in Abschnitt VI
vorgestellten Modelle KING und GNP sowie auf eine analytische Verteilungsfunktion zurückgegriffen werden. Wie in OverSim können auch hier Churn und Knoten mit verschiedene
Bandbreiten simuliert werden. Zum Testen der Anwendung
existiert auch die Möglichkeit in unterschiedlich detaillierten
Stufen ein Simulationsprotokoll zu erstellen.
IX. FAZIT
Die Beobachtungen in Kapitel V machen deutlich, dass es
zwischen den Ergebnissen der Modelle und Generatoren und
den wirklich gemessenen Strukturen noch immer Unterschiede
gibt. Sowohl das Gilbert- als auch das Barabasi-Albert-Modell
weichen in der Verteilung der Knotengrade stark vom erwünschtem Ergebnis ab und sind daher für eine realistische
Simulation des Internets keine gute Wahl. Die Verteilung ist
beim PFP-Modell schon besser aber nicht so überzeugend
wie bei I-Net 3.0. Bei Betrachtung des Clusterkoeffizienten
wäre jedoch das PFP-Modell zu bevorzugen, da I-Net 3.0 hier
noch eine starke Abweichung besitzt. Dies bedeutet, dass INet 3.0 zwar bei der Anzahl der Nachbarn die ein Knoten
besitzt sehr gute Arbeit leistet, jedoch noch nicht die korrekten
Nachbarknoten auswählt.
Hier ist allerdings anzumerken, dass die Vergleichsdaten
aus den Jahren 1997 bis 2002 stammen und das I-Net-Projekt
seit 2002 anscheinend nicht mehr weiterentwickelt wurde. Die
Arbeit zum PFP-Modell entstammt immerhin dem Jahr 2006
und das Modell wird dort mit Werten aus dem Jahre 2002
und 2005 verglichen. Aufgrund dessen könnte man das PFPModell im Vergleich besser bewerten, da es eher aktuell ist.
Die Ergebnisse aus Kapitel VI zeigen, dass es sehr gut
möglich ist Latenzen genau abzuschätzen. Je nach Priorität des
Projektes in dem man Latenz verwenden will, kann man sich
für unterschiedliche Lösungen entscheiden. Den geringsten
Aufwand bei der Beschaffung und Implementierung haben die
analytischen Verteilungsfunktionen, allerdings liefern sie auch
die ungenausten Ergebnisse. Spielt der Speicherbedarf keine
Rolle, können mit einem Loopkup-Modell oder dem Ansatz
von KING die genausten Ergebnisse erzielt werden. Für GNP
und dem ähnlichen Modell mit dynamischen Latenzen aus
VI-C spricht vor allem, dass sie recht gut in eine Simulation hinzugefügt werden können. Sie benötigen zwar einen
gewissen Vorlauf um ihre Position einmalig zu berechnen,
können dann aber ohne große Anforderungen an Speicher oder
Rechenleistung integriert werden. Mit ihnen kann die Latenz
zwischen beliebigen Knoten schnell und recht genau errechnet
werden und. Beim Modell mit dynamischer Latenz gibt es
zusätzlich die interessante Möglichkeit Jitter zu simulieren.
In den Arbeiten zu den beiden vorgestellten Simulatoren wurde leider nicht genau drauf eingegangen, wie
das Underlay jeweils modelliert wurde. Beide Modelle bieten aber die Möglichkeit eine sehr große Anzahl Knoten
zu simulieren, wobei es bei OverSim mehr verschiedene
Auswahlmöglichkeiten bezüglich des Underlay und auch des
Overlay gibt. Mit beiden ist es möglich Latenzen zu berücksichtigen und dabei wird auch auf die hier vorgestellten
Latenzmodelle zurückgegriffen.
147
R EFERENCES
[1] Caida. macroscopic topology project. VI-C, VII-B
[2] I. Baumgart, B. Heep, and S. Krause. OverSim: Ein skalierbares und
flexibles Overlay-Framework fr Simulation und reale Anwendungen.
2005. VIII-A
[3] I. Baumgart, B. Heep, and S. Krause. OverSim: A scalable and flexible
overlay framework for simulation and real network applications. In
Ninth International Conference on Peer-to-Peer Computing (IEEE P2P
09), pages 87–88, 2009. VIII-A
[4] Y. Chawathe, S. Ratnasamy, L. Breslau, N. Lanham, and S. Shenker.
Making gnutella-like p2p systems scalable. In Proceedings of the 2003
conference on Applications, technologies, architectures, and protocols
for computer communications, page 418. ACM, 2003. VIII-A
[5] L. Cotrell. PingER project at Stanford, 1999. VI-C
[6] J. Ebersp
"acher and R. Schollmeier. 5. First and Second Generation of Peerto-Peer Systems. Peer-to-Peer Systems and Applications, pages 35–56,
2005. II-C
[7] M. Faloutsos, P. Faloutsos, and C. Faloutsos. On power-law relationships of the internet topology. In Proceedings of the conference on
Applications, technologies, architectures, and protocols for computer
communication, page 262. ACM, 1999. III-A
[8] W. Galuba, K. Aberer, Z. Despotovic, and W. Kellerer. ProtoPeer: from
Simulation to Live Deployment in One Step. In Eighth International
Conference on Peer-to-Peer Computing (P2P’08), pages 191–192. IEEE,
2008. VIII-B
GENERAL OVERVIEW ON UNDERLAY MODELLING FOR P2P SIMULATORS
[9] W. Galuba, K. Aberer, Z. Despotovic, and W. Kellerer. ProtoPeer: a P2P
toolkit bridging the gap between simulation and live deployement. In
Proceedings of the 2nd International Conference on Simulation Tools
and Techniques, pages 1–9. ICST (Institute for Computer Sciences,
Social-Informatics and Telecommunications Engineering), 2009. VIII-B
[10] E.N. Gilbert. Random graphs. The Annals of Mathematical Statistics,
pages 1141–1144, 1959. IV-A
[11] K.P. Gummadi, S. Saroiu, and S.D. Gribble. King: Estimating latency
between arbitrary Internet end hosts. In Proceedings of the 2nd ACM
SIGCOMM Workshop on Internet Measurment, pages 5–18. ACM, 2002.
III-C, III-E, 3, VI-A, VII-A
[12] C. Jin, Q. Chen, and S. Jamin. Inet: Internet topology generator. 2000.
IV-D
[13] S. Kaune, K. Pussep, C. Leng, A. Kovacevic, G. Tyson, and 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). Citeseer, 2009.
VI-C
[14] G. Kunzmann, R. Nagel, T. Hossfeld, A. Binzenhofer, and K. Eger.
Efficient simulation of large-scale P2P networks: Modeling network
transmission times. In 15th EUROMICRO International Conference
on Parallel, Distributed and Network-Based Processing, 2007. PDP’07,
pages 475–481, 2007. VI-B, VI-C
[15] P. Maymounkov and D. Mazieres. Kademlia: A peer-to-peer information
system based on the xor metric. Peer-to-Peer Systems, pages 53–65,
2002. VIII-A
[16] T. McGregor, H.W. Braun, and J. Brown. The NLAMR network analysis
infrastructure. IEEE Communications Magazine, 38(5):122–128, 2000.
III
[17] D. Meyer. University of oregon route views archive project. at
http://archive. routeviews. org. III
[18] A. Rowstron and 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), volume 11, pages 329–350. Citeseer, 2001. VIII-A
[19] Ralf. Steinmetz and K. Wehrle. Peer-to-peer systems and applications.
Springer, 2005. IV-A, IV-B
[20] I. Stoica, R. Morris, D. Karger, M.F. Kaashoek, and H. Balakrishnan.
Chord: A scalable peer-to-peer lookup service for internet applications.
In Proceedings of the 2001 conference on Applications, technologies,
architectures, and protocols for computer communications, page 160.
ACM, 2001. II-C, VIII-A
[21] J. Winick and S. Jamin. Inet-3.0: Internet topology generator, 2002.
II-A1, II-A3, II-A4, II-A5, III, III-A, IV-D, V-B
[22] S. Zhou. Characterising and modelling the internet topology The
rich-club phenomenon and the PFP model. BT Technology Journal,
24(3):108–115, 2006. 2, IV-C, IV-C, V-C
148
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
Peer-to-Peer-Botnets: Ein systematischer Überblick
André Schaller
Zusammenfassung—Botnets stellen seit über 10 Jahren als
verteilte Angriffswerkzeuge eine Bedrohung für legitime Internetnutzer dar. Sie bilden ein Netzwerk aus Computern, die
von einem Angreifer kontrolliert werden. Diese Technologie hat
vor wenigen Jahren eine Weiterentwicklung vollzogen, die den
ehemals zentralen Charakter durch die Anwendung von P2PTechnologien ablöste. Diese neue Generation der Peer-to-Peer
(P2P) Botnets ist komplexer im Aufbau, effektiver in ihren
Funktionen und schwerer still zu legen. Exemplare dieser neuen
Generation von Botnets wurden bereits entdeckt und sind für
einige der größten Masseninfektionen in den letzten drei Jahren
verantwortlich.
In dieser Arbeit werden aktuelle Erkenntnisse über P2PBotnets systematisch aufbereitet. Es werden Vertreter präsentiert
und ihre Verbreitung verdeutlicht. Weiterhin wird eine Klassifizierung von P2P-Botnets vorgenommen, um aktuelle Schädlinge
systematisch einordnen zu können. Im Anschluss wird gezeigt,
dass P2P-Botnets, die auf dem publish-/subscribe-Verfahren
basieren und deren Kommunikation unverschlüsselt verläuft,
mittels eines Index-Poisoning-Angriffs, zum Stillstand gebracht
werden können.
I. E INFÜHRUNG
Eine der größten Bedrohungen der heutigen IT-Security stellen Botnets dar. Sie bestehen aus Netzwerken von Computern,
die unter der Kontrolle eines Angreifers stehen. Das signifikante Bedrohungspotenzial von Botnets gegenüber anderen
Schadprogrammen ist vielfältig, kann aber durch zwei wesentliche Aspekte verdeutlicht werden: Einerseits können Botnets
in kurzer Zeit hohe Wachstumsraten erreichen, andererseits besitzen bereits kleinere Botnets genügend Ressourcen, um auch
besonders geschützte Rechner oder Netzwerke erfolgreich zu
attackieren und lahm zu legen.
Ihr schnelles Wachstum, in verhältnismäßig kurzer Zeit,
ist auf die Art ihrer Verbreitung zurück zu führen. Obwohl
dem Angreifer verschiedene Angriffsvektoren zur Verfügung
stehen, um die Schadsoftware des Botnets zu verbreiten (siehe
Abschnitt III-B), sind es vor Allem Würmer, die als Transportmittel eine effiziente Propagation sicher stellen.
Die Effektivität des Botnets wird durch die kummulierten
Ressourcen der einzelnen Bots im Netzwerk sicher gestellt.
Der überwiegende Teil der Rechner setzt sich aus DesktopPCs, Web-Servern und anderen Hosts wie Laptops zusammen. Keiner dieser Hosts kann, für sich allein genommen,
genügend Daten verarbeiten beziehungsweise versenden, um
andere Teilnehmer im Internet zu beeinflussen. Oft sind die Internetanbindungen betroffener Systeme zu langsam, um einen
Schaden bei anderen Hosts anzurichten. Die vereinten Ressourcen des Botnets jedoch, können bei einem zeitgleichen und
zielgerichteten Angriff eine ausreichend große Datenmenge
erzeugen, um auch stark gesicherte Systeme unter der Last
zusammenbrechen zu lassen. Diese Art des Angriffs wird
Distributed Denial of Service (DDoS) genannt und stellt eine
wichtige Funktion von Botnets dar.
Weiterhin sind Botnets heutzutage der primäre Treiber
für den massenhaften Versand von Spam-Mails. Diese unerwünschten Mails wurden anfänglich von wenigen Rechnern versendet. Dies konnte jedoch durch Organisationen, die
an der Verhinderung von Spam interessiert sind, erfolgreich
unterbunden werden. Durch die verteilten Versand mittels
Botnets wird dieser Ansatz der Spam-Bekämpfung erschwert.
Weiterhin kann durch den parallelen Versand durch tausende
Bots weitaus höhere Spam-Raten erzielt werden.
Das Konzept der Botnets unterliegt einem sehr dynamischen
Entwicklungsprozess, der die grundlegende Strukturen mehrfach verändert und effizienter gestaltet hat. Ausschlaggebend
für die erste Generation von Botnets war die Entwicklung von
EggDrop1 , eines der populärsten und ältesten Bots, der keine
schädlichen Funktionen beinhaltete, sondern Routineaufgaben
bei der Administration von Internet Relay Chat (IRC) Servern
automatisieren sollte. Das Potenzial über ein etabliertes Protokoll mehrere Bots zu kontrollieren führte zur Entwicklung der
ersten bösartigen Bots. Sie werden über einen zentralen IRCServer gesteuert, in dem sie seinen speziellen Channel betreten
und dort auf Befehle warten. Bekannte Vertreter dieser Art von
Bots sind GTBot und Agobot.
Diese Architektur mit dem IRC-Server als zentraler Punkt
zur Steuerung (Command-and-Control; C2) ist für den Angreifer zwar einfach zu implementieren und effizient. Jedoch
stellt sie gleichzeitig als Single Point of Failure die größte
Schwachstelle dar. Mit dem Schließen des Channels oder
des gesamten Servers können Bots keine Instruktionen erteilt
werden. Die Weiterentwicklung von Botnets führte zu einer
weitgehenden Dezentralisierung der Architektur. Dies wurde
erreicht, indem vorhandene Entwicklungen aus dem Bereich
Peer-to-Peer (P2P) adaptiert wurden.
Abbildung 1.
149
Schema eines zentralisierten IRC-Botnets [6]
1 http://www.eggheads.org/
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
Der Rest der Arbeit ist wie folgt aufgebaut. In Abschnitt
II werden allgemeine Informationen über bekannte Vertreter
von P2P-Botnets vorgestellt. Abschnitt III befasst sich mit
der Klassifizierung von Botnets nach den folgenden Gesichtspunkten: Typ des Botnets, Infizierungsvektoren, Ziele,
Bootstrapping-Ansätze und Mechanismen der Command-andControl-Kanäle. In Abschnitt IV werden die aus Abschnitt
II vorgestellten Vertreter den Merkmalen aus Abschnitt III
zugeordnet und im Detail erläutert. In Abschnitt V werden
mögliche Gegenmaßnahmen gegen P2P-Botnets aufgezählt.
Letztlich wird in Abschnitt VI diese Arbeit zusammengefasst.
II. A KTUELLE P2P-B OTNETS
Abbildung 2.
Schema eines Peer-to-Peer Botnets [6]
P2P-Netzwerke sind Netze, deren Mitglieder, auch Peers
oder Nodes genannt, gleiche Rollen besitzen. Jedes Peer stellt
dem Rest Dienste zur Verfügung oder kann die Dienste der
anderen nutzen. Dabei gibt es keine zentralisierten Funktionen
einzelner Peers. Als Beginn der P2P-Entwicklung kann die
Inbetriebnahme von Napster gesehen werden. Mit dem Client
konnte ein PC als Peer im Netzwerk von Napster teilnehmen
und mit anderen Teilnehmern Musikdateien tauschen. Die
Suche nach Musikstücken verlief über einen Index, der über
wenige, zentrale Server verteilt war. Daher kann Napster
nicht als vollwertiges P2P-Netzwerk angesehen werden. Nach
Schließung von Napster auf Grund illegaler Nutzung wurde
Gnutella entwickelt: ein komplett dezentrales P2P-System. Im
Gegensatz zu Napster gibt es bei Gnutella keine zentralisierten
Rollen oder Funktionen innerhalb des Netzes. Suchanfragen
werden in das Netzwerk gefloodet, d.h. sie werden von Node
zu Node weiter gereicht. Dieser ineffiziente Suchansatz muss
benutzt werden, da es sich bei Gnutella um ein unstrukturiertes
P2P-System handelt: Es gibt keine festen Zuständigkeitsbereiche der Nodes und auch keinen definierten Platz, an dem
angebotene Ressourcen abgelegt werden. In strukturierte P2PNetzwerken werden verteilte Algorithmen genutzt um obige
Probleme zu lösen. Mittels Distributed Hash Tables (DHTs)
wird die Position der Nodes und der angebotenen Dateien
im Netzwerk festgelegt und ist allen Teilnehmern bekannt.
Bekannte Vertreter strukturierter P2P-Systeme sind Chord2
und Kademlia3 . Eine chronologische Auflistung wichtiger Entwicklungen aus dem Bereich der Botnets und P2P liefert [9].
Einen schematischen Überblick liefert Tabelle 1.
zentralisiert
Beispiel
Napster
verteilt
unstrukturiert
strukturiert
Gnutella (vor 2000)
Chord, Kademlia
Tabelle I
S YSTEMATISIERUNG VON P2P-N ETZWERKEN ANHAND IHRER S TRUKTUR
2 http://pdos.csail.mit.edu/chord/
3 http://www.cs.rice.edu/Conferences/IPTPS02/109.pdf
Im folgenden Abschnitt werden drei prominente Vertreter
von P2P-Botnets aufgeführt und allgemein beschrieben. Die
Auswahl richtet sich nach der geschätzten Botnet-Größe, des
daraus folgenden Schadpotenzial und ihrer Präsenz in den
Medien. Neben den aufgezählten Schädlingen gibt es eine
Reihe weiterer Vertreter.
A. Stormworm
Der bisher prominenteste Vertreter von P2P-Botnets stellt
Stormworm 4 (Nuwar, Zhelatin) dar. Er basiert auf einem
hybriden P2P-Ansatz, der auf Overnet als P2P-Protokoll aufsetzt. E-Mails, mittels derer er propagiert wurde, berichteten
über einen Sturm über Europa, welcher zur Namensgebung
führte. Er wurde als erstes im Januar 2007 entdeckt und
erhielt seine Aktivitäten bis zum Anfang 2009 aufrecht. Die
primäre Funktion des Stormworms besteht im Versand von
Spam und Malware. Zwischen 2007 und 2009 war Peacomm
für rund 17% des weltweiten Spam-Versands verantwortlich
[11]. Zwischenzeitlich wurde das Stormnet auf eine Größe
von ca. 1 Millionen infizierter PCs geschätzt. Markant für den
Stormworm ist die große Anzahl von Derivaten. Mehrere tausend verschiedene Ausprägungen konnten täglich beobachtet
werden. Diese hatten jedoch eine kurze Wirkungsdauer von
wenigen Stunden. Mit dieser Taktik wollten die Autoren des
Schädlings die Effektivität von Signatur-basierten Antivirenprodukten einschränken.
Seit Anfang 2009 konnte ein drastischer Einbruch der
Aktivitäten beobachtet werden. So wurde ab September 2008
kein weiterer Versand von Spam durch Stormworm registriert.
Nach weiteren Analysen5 wurden Anfragen an einzelne Peers
des Stormnets mit der Nachricht „Go away, we’re not home“beantwortet.
Seit dem 28. April 2010 wurde eine modifizierte Version des
Stormworms entdeckt6 . Sie setzt auf dem Großteil der Codebasis des Vorgängers auf. Jedoch wurde die P2P-Infrastruktur
komplett entfernt. Diese als Stormworm 2 genannte Version
kommuniziert ausschließlich über HTTP.
4 http://www.symantec.com/security_response/writeup.jsp?docid=2007-\
011917-1403-99
5 http://www.sudosecure.net/archives/264
6 https://www.honeynet.org/node/539
150
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
B. Nugache
Nugache, der als Vorläufer vom Stormworm gesehen werden kann, wurde Anfang April 2006 entdeckt7 . Er stellte eine
Trendwende in der Qualität von Botnets dar, da er als einer der
ersten Schädlinge auf eine reine P2P-Infrastruktur setzte, um
seine Command-and-Control-Channel zu implementieren. Die
Hauptfunktion von Nugache bestand in der Ausführung von
DDoS-Attacken und im Versand von Spam. Die Verwendung
asymmetrischer Verschlüsselung in verschiedenen Bereichen
der Kommunikation der Bots untereinander erschwerte die
Analyse des Schädlings.
C. Waledac
Der bedeutendste P2P-Bot im Jahr 2009 war ohne Zweifel
Waledac. Er wurde als erstes im Dezember 2008 entdeckt.
Waldac wird von einigen Experten als Nachfolger des Stormworms bezeichnet. Grundsätzlich gibt es einige Gemeinsamkeiten bezüglich der technischen Ansätze, sowie der verfolgten
Ziele. Waledec hat jedoch einen puristischeren P2P-Ansatz
als Stormworm und ist somit dezentraler aufgebaut. Ähnlich
wie der Stormworm liegt die Hauptfunktion von Waledac im
Versenden von Spam-Mails. Waledac hat nach Schätzungen
das Potenzial rund 1,5 Millionen Mails pro Tag zu versenden8 .
Mitte 2009 wurde die Größe des Botnetzes auf circa 20000
Rechner geschätzt9 . Im Februar 2010 versuchte Microsoft rund
280 Domains von potenziellen Command-and-Control-Servern
zu deaktivieren10 .
III. K LASSIFIZIERUNG
A. Botnet-Typen
Obwohl P2P-Botnets selbst einen speziellen Typus allgemeiner Botnets darstellen, ist eine feinere Klassifizierung unterschiedlicher Typen von P2P-Botnets sinnvoll. Im Folgenden
wird die Einteilung von [18] aufgegriffen, da sie bis zum
Verfassungsdatum dieser Arbeit als die einzige gilt. Weiterhin
greift die Art der Einteilung die wichtigsten strukturellen
Unterschiede auf und verdeutlicht diese. P2P-Botnets können
bezüglich ihres Umfelds und Mitglieder in drei unterschiedliche Klassen eingeteilt werden: parasite P2P-Botnets, leeching
P2P-Botnets und bot-only Botnets.
Parasite Botnets entwickeln sich auf Basis eines bereits
existierenden P2P-Netzwerks. Sie setzen auf das in diesem
Netz verwendete P2P-Protokoll auf, um die notwendigen C2Mechanismen zu verwenden. Potenzielle Opfer dieser Art von
Botnets sind legitime Nutzer des P2P-Netzwerks. Dies führt zu
einer starken Beschränkung der etwaigen Größe des Botnets,
da diese durch die Mitgliederzahl des zugrundeliegenden P2PNetzwerks limitiert wird. Die Autoren von [18] sehen dies
als Hauptgrund dafür, dass der Großteil aktueller P2P-Botnets
nicht auf diese Art implementiert ist. Diesem Nachteil stehen
7 http://www.symantec.com/security_response/writeup.jsp?docid=
2006-043016-0900-99
8 http://clubhouse.microsoft.com/Public/Post/
d4666a88-8d90-4d6c-9311-07e9452eebdb
9 How Much Spam Does Waledac Send? http://blog.eset.com/2009/07/07
10 http://www.allspammedup.com/2010/03/microsoft-slays-waledec/
eine Reihe von Vorteilen gegenüber: Die gesamte Kommunikation kann mittels eines bereits existierenden und oft stabil
funktionierendem Protokoll geschehen. Bot-Befehle, die über
diesen „In-Band-Channel“ versendet werden, fallen auf Grund
ihrer Einbettung in legitime P2P-Befehle weniger auf und
tragen daher zum Schutz vor der Entdeckung bei. Ein weiterer
Vorteil bezieht sich auf die Aufnahme eines angreifbaren
Opfers in das Botnet (Bootstrapping). Da diese bereits Mitglied des Netzwerks sind, werden keine weiteren Aktionen
benötigt, um das neue Mitglied in das Botnet aufzunehmen
Mögliche Varianten des Bootstrappings werden in Kapitel
III-D diskutiert.
Die Klasse der leeching Botnets kann als eine Erweiterung
zu den parasite Botnets angesehen werden. Prinzipiell ähneln
sie sich stark, da auch die leeching Botnets ein vorhandenes
P2P-Protokoll, respektive P2P-Netzwerk, instrumentalisieren,
um den Command-and-Control-Channel zu implementieren.
Leeching Botnets sind jedoch in der Lage nicht nur angreifbare Hosts aus dem zugrundeliegenden Netz als Mitglieder
aufzunehmen. Sie können jeden verwundbaren Rechner aus
dem Internet zu einem Bot rekrutieren. Dies erhöht die Anzahl
möglicher Mitglieder und gleichzeitig die Flexibilität des
gesamten Botnets. Dieser Vorteil bedingt jedoch Maßnahmen,
um einen Rechner außerhalb des P2P-Netzes in das Botnet
aufzunehmen. Daher kommen leeching Botnets nicht ohne
einen Bootstrapping-Prozess aus.
Die flexibelste Art von P2P-Botnets sind bot-only Botnets.
Ihre Mitglieder werden aus dem gesamten Internet rekrutiert.
Das Netz selbst setzt meist nicht auf einem existierenden P2PProtokoll auf, sondern nutzt ein unabhängiges, speziell dafür
entwickeltes. Die Benutzung eines existierenden Protokolls
ist jedoch weiterhin möglich. Folglich sind im ersten Fall
alle Rechner im Netzwerk ausschließlich Bots, während bei
den anderen Botnet-Typen auch legitime P2P-Nutzer Teil des
Netzes sind. Bootstrapping ist in diesem Fall abhängig von der
Architektur des Protokolls und somit optional. Hauptnachteil
dieses Types ist, dass das eingesetzte Protokoll oft ungetestet
eingesetzt wird.
B. Infizierungsvektoren
Um einen verwundbaren Host zu einem Mitglied des Botnets zu migrieren, muss dessen Schwachstelle ausgenutzt
werden, um Schadcode zu infizieren. In der Regel erfolgt
der Infizierungsprozess zweistufig. In einem ersten Schritt
wird der primäre Schadcode (Payload) zur Ausnutzung der
tatsächlichen Schwachstelle injiziert. Danach wird ein sekundärer Schadcode nachgeladen, um erweiterte Funktionalitäten
bereitzustellen. Dieser zweistufige Prozess dient unter anderem
der vereinfachten Infizierung mittels eines kleinen primären
Payloads, welcher die Detektion erschwert. Weiterhin dient
die Fähigkeit des Nachladens sekundären Schadcodes der
Aktualisierung neuer Funktionen im Botnet. Die eigentlichen
Infizierungsvektoren und die Orte, von denen der sekundäre
Schadcode nachgeladen wird, hängt in erster Linie von der
Klasse des P2P-Botnets ab.
Für parasite Botnets, welche Teil eines legitimen P2PNetzwerks sind, steht grundsätzlich P2P-Schadsoftware als
151
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
Infizierungsvektor zur Verfügung. Hier kann, analog zu Viren
und Würmen, in passive und aktive Schädlingen unterteilt werden. Passive P2P-Schädlinge sind meist als populäre Inhalte
getarnte Payloads, die zum Download innerhalb des Netzwerks
angeboten werden. In Frage kommen jegliche Medien, die
unter den Peers getauscht werden (vermeintliche Videos-,
Audio, Bild, PDF-Dateien et cetera). Sie verweilen passiv
im Download-Verzeichnis des P2P-Clients und warten darauf,
von einem anderem Peer heruntergeladen und ausgeführt zu
werden. Aktive P2P-Schädlinge ähneln in ihrem Verhalten den
Würmern, da diese sich selbst ständig verbreiten. Sie suchen
aktiv nach potenziellen Opfern, indem sie zum Beispiel die
zuletzt kontaktierte Peers versuchen zu infizieren oder Peers,
welche auf eine Suchanfrage antworten.
Leeching und bot-only Botnets können zusätzliche Arten
der Propagation nutzen. In der Praxis nutzen sie meist eine
Kombination gängiger Infizierungsvektoren. Die primäre Infektion erfolgt meist durch Spam-Mails, Würmer oder sogenannte „Drive-by-Downloads“beim Besuch einer modifizierten
Website. Selten werden Exploits manuell und gezielt ausgenutzt, um eine Infektion zu realisieren. Ein wichtiges Element
stellt Social Engineering dar, bei der Internetnutzer durch
gefälschte Inhalte in Mails, Instant-Messaging-Nachrichten
oder auf Websites zum Download vermeintlich legitimer Tools
zum Ausführen der schädlichen Payloads „überredet“werden.
Die Autoren von [3] berichten: „Social engineering attacks
represent a significant source of malware infections. Worms
that spread through e-mail, peer-to-peer networks, and instant
messaging clients account for 35% of the computers [...]“. Die
sekundären Schadcodes, welche erweiterte Funktionalitäten
und Kommunikation mit dem Rest des Botnets bereitstellen,
werden oft von Rechnern außerhalb des Netzwerks nachgeladen. In einigen Fällen werden diese Programmteile jedoch
von anderen Peers innerhalb des Netzes bezogen.
C. Ziele
Einer der Hauptaufgaben von Botnets ist die Propagation
des eigenen Schadcodes selbst. Die Verfasser von [8] behaupten: „in most cases, botnets are used to spread new bots“.
Daneben werden Botnets für eine Reihe von Zwecken eingesetzt, die grob in drei Klassen kategorisiert werden können:
Informationssammlung, Informationsverarbeitung und Informationsversand.
Zur Gruppe der Informationssammlung zählen Funktionen
wie die Samlung von Passwörtern, Seriennummern und Lizenzdaten installierter Software, persönliche Daten wie gesammelte E-Mail-Adressen, Kontodaten und Ähnliches. Diese
Funktion stellt unter den bisher untersuchten P2P-Botnets
jedoch eine untergeordnete Rolle dar.
Eine weiterer Einsatzzweck von Botnets ist die Verarbeitung von Informationen. Hierunter zählen in erster Linie das
Cracken verschlüsselter Passwörter. Diese befinden sich meist
in Form von MD5-Hashes, die als Teil von größeren, illegal
erworbenen Datenbanken vorliegen. Das Cracken der Hashes
geschieht meist durch einen Brute-Force-Ansatz, bei dem
alle Möglichen Kombinationen durchprobiert werden. Dies
erfordert große Rechenkapazitäten, welche durch das Botnet
bereit gestellt werden können.
Eine der wichtigsten Funktionen von Botnets ist jedoch
der Informationsversand. Hierunter zählen Aktivitäten, wie
das Durchführen einer Distributed Denial-of-Service-Attacke
(DDoS-Attacke). Weiterhin fällt der massenhafte Versand von
Spam-Mails unter diese Kategorie. In manchen Fällen wurde
auch die Propagation von Schadsoftware, die nicht direkt
zum Botnet gehört, beobachtet. Was dieses Einsatzgebiet so
interessant macht, sind die Verwertungsmöglichkeiten. Teile
des Botnets können an „Interessenten“vermietet werden, um
ihnen temporär Kontrolle über eine der genannten Funktionen zu übergeben. Diese „Kunden“starten ihrerseits SpamKampagnen, um Umsatz zu erwirtschaften. Oder sie setzen
Marktkonkurrenten durch DDoS-Angriffe unter Druck oder
unterbinden das Nutzen deren Angebote, um den Umsatz zu
schmälern. Der Informationsversand ist somit interessant, da
er eine wirtschaftliche Komponente besitzt.
Eine systematische Übersicht modularer Funktionsblöcke
von Botnets liefert [12].
D. Bootstrapping
Damit ein verwundbarer Host eine nutzbare Ressource
innerhalb des Botnets darstellen kann, muss diese in das Netzwerk aufgenommen werden. Dieser Prozess wird als Bootstrapping bezeichnet. Um sich mit dem restlichen Netzwerk
zu verbinden und vom Operator Befehle entgegen nehmen
zu können, muss jeder Bot mit ausreichend Informationen
darüber versorgt werden. Diese Informationen macht das Bootstrapping zu einem kritischen Teil der Gesamtarchitektur, da
es sich als Single-Point-of-Failure herausstellen kann. Wird
ein Bot-Exemplar analysiert, können diese Informationen zur
Aufdeckung weiter Teile und somit zur Schließung des Botnets beitragen. Wie bereits in Kapitel III-A erläutert, ist ein
Bootstrapping im Fall von parasite Botnets nicht notwendig, da
sich die Peers bereits im darunterliegenden P2P-Netzwerk befinden. Im Falle von leeching Botnets ist dieser Prozess jedoch
zwingend. Derzeit analysierte Botnets nutzen unterschiedlicher
Strategien.
Eine intuitive Methode, einen neuen Bot in das restliche
Netzwerk aufzunehmen, ist, eine Liste von IP Adressen und
Portnummern anderer Peers hart-kodiert in jeden Peer zu implementieren. Dabei sind Peers mit besonderen Charakteristiken auszuwählen. Es sollten vor alle Peers mit einer geringen
Churn-Rate ausgewählt werden, damit die Erreichbarkeit dieser gewährleistet ist. Dieses Vorgehen ist jedoch sehr störanfällig gegen Analysen von gekaperten Bot-Instanzen. Indem man
die Verbindung zu den Hosts unterbindet, welche als EntryPoints des Bootstrapping-Prozesses dienen, kann zumindest
die Vergrößerung des Botnets effektiv unterbunden werden.
Weiterhin können die in der Liste hinterlegten Informationen
veralten, sodass der Bootstrapping-Prozess gestört wird.
Eine zweite Methode verlagert die eigentlichen Informationen für das Bootstrapping, also IP-Adressen und Portnummern
von Peers, auf externe Web-Server aus. Mittels sogenannter Web-Caches, die unter Anderem auch im P2P-Netzwerk
Gnutella Anwendung finden, erlangen neue Bots ausreichen
Informationen über den Zutritt zum Botnet. Diese Web-Caches
sind meist außerhalb des Netzwerks lokalisiert und können
152
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
dynamische Einträge enthalten. In diesem Fall ist jedoch die
Adresse des Web-Caches hart-kodiert im Bot vorhanden. Dies
führt zu dem selben Nachteil, wie in der oben erläuterten
Vorgehensweise.
Um kritische Informationen zur Konstruktion des Netzes
nicht statisch in den Bots zu hinterlegen, gibt es den Ansatz
des Austauschs von Peer-Listen. Nach der Infektion eines
Hosts B durch einen Bot A, übergibt A eine Untermenge an
Peers, die er kennt an B. Diese Methode umgeht erfolgreich
einen Bootstrapping-Prozess. Sie kann erweitert werden, in
dem ein Listenaustausch bekannter Peers bei jeder Kommunikation zweier Peers erfolgt. Jedoch kann dieses Vorgehen
lediglich in bot-only-Botnets angewandt werden. Grund dafür
ist, dass das zugrundeliegende Protokoll speziell dafür ausgelegt ist.
In der Praxis gibt es bisher noch kein P2P-Botnet, welches
sich durch den Austausch von Peer-Listen konstruiert. Jedoch
wurde mit dem in [17] vorgestellten hybriden Botnet ein
Prototyp implementiert, der diese Fähigkeit besitzt. Weiterhin
wurde in [14] ein weiteres System entwickelt, welches diesen
Ansatz verfolgt.
zu den Befehlen führen, an den Peers hinterlegen, welche
zuständig für die Suchanfrage sind. Dies sind die Peers,
deren ID am nächsten zur Hash-ID des Suchbegriffes liegen.
Die Berechnung des Hashes für die Suchanfrage ist meist in
einem hart-kodierten Algorithmus im Bot hinterlegt.
Die bereits erwähnten Systeme aus [17] und [14], sowie [13]
verwenden eine Kombination beider Verfahren. So werden
in Rambot Ankündigungen zu neuen Updates, Befehlen et
cetera per push-Mechanismus verbreitet. Daraufhin versuchen
die einzelnen Bots diese Änderungen mittels pull-Verfahren zu
beziehen.
IV. Z UORDNUNG
Im folgenden Abschnitt werden den Charakteristiken von
P2P-Botnets, die in Abschnitt III vorgestellt wurden, aktuellen P2P-Botnets zugeordnet. Die Auswahl der vorgestellten
Vertreter unterliegt keiner Eingrenzung. Es werden für jedes
Kriterium diejenigen Schädlinge vorgestellt, welche dazu geeignet sind, die unterschiedlichen Ausprägungen der Klassifizierungsmerkmale darzustellen.
A. Botnet-Typen
E. Command-and-Control-Mechanismen
Ein weiterer wichtiger Aspekt in der Architektur von Botnets ist der Ansatz zur Propagation von Befehlen an alle
Bots. Traditionelle, zentralisierte IRC-Botnets wenden eine
einfache Form der Verbreitung von Befehlen an. Alle Bots
verbinden sich regelmäßig mit einem oder mehreren zentralen
IRC-Servern. In einem fest definierten IRC-Channel werden
Befehle vom Operator mittels einfacher Chat-Nachrichten an
die Bots erteilt. Im Fall von P2P-Botnets existiert eine derartige zentrale Instanz nicht, sodass andere Ansätze verfolgt
werden müssen. Diese Ansätze zur Kommunikation innerhalb
der Bots kann in zwei Gruppen eingeteilt werden:push und
pull.
Bei dem push-Verfahren, welches auch als CommandForwarding bezeichnet wird, agieren Bots bei dem Empfang
von Befehlen passiv. Ihnen werden die Befehle durch andere
Bots zugestellt. Nachdem Erhalt des Befehls senden sie diesen
an weitere Bots. Hierbei entsteht das Problem, zu entscheiden,
an welche Bots Befehle weitergeleitet werden sollen. Die
Autoren von [18] schlagen zwei Alternativen vor. In der ersten
Version bedient sich ein Bot seiner Nachbarschafts-Peer-Liste.
Der zweite Ansatz der Arbeit besteht darin, eine Suchanfrage
nach einem speziellen Titel zu starten. Die Peers, welche
auf die Suche antworten, werden als Ziele der Weiterleitung
angesehen. In Rambot [13] wird der Push-Mechanismus durch
einfaches Flooding der Befehle in das Netzwerk realisiert.
Dem steht das pull-Verfahren gegenüber, welches auch
als Command-Publishing beziehungsweise CommandSubscribing bezeichnet wird. Hierbei versuchen Bots aktiv
neue Befehle zu beziehen. Sie überprüfen in regelmäßigen
Intervallen definierte Orte im Netzwerk (Rendezvous-Punkte),
an denen der Botmaster neue Befehle hinterlegt. Dies wird
realisiert, indem Peers regelmäßig nach bestimmten Hashes
in der Distributed Hash Table (DHT) suchen. Der Botmaster
muss lediglich die Befehle selbst oder Informationen, welche
1) Parasite Botnets - Phatbot: Die ersten Exemplare
von P2P-Botnets beschränkten sich auf existierende P2PNetzwerke und konnten somit der Klasse der parasitären P2PBotnets zugeordnet werden. Ein Beispiel für diese Schädlinge
ist Phatbot. Dieser setzt auf dem WASTE-Protokoll 11 auf.
WASTE implementiert verschlüsselte und anonyme Kommunikation innerhalb eines P2P-Netzes und wurde 2003 von
Nullsoft unter der GPL veröffentlicht.
Jedoch sind die meisten Vertreter heutiger P2P-Botnets der
leeching beziehungsweise bot-only Klasse zuzuordnen. Das
Auftauchen neuer Schädlinge, welche sich auf existierende
P2P-Netzwerke beschränken, ist nicht mehr fest zu stellen.
Vermutliche Gründe dafür, sind die in Abschnitt III-A beschriebenen Nachteile parasitärer P2P-Bots.
2) Leeching Botnets - Stormworm: Die erste Generation
des Stormwurms setzte auf Overnet auf, welches das Overlay
des P2P-Netzes organisierte. In dieser Version ist Storm der
Klasse der leeching Botnets zuzuordnen. Zwar wurde Overnet
2006 geschlossen, jedoch blieben danach weitere Peers online,
sodass zu diesem Zeitpunkt neben Bots auch gutartige Peers
im Netzwerk zu verzeichnen waren. Jedoch änderte sich die
Charakteristik von Storm im Oktober 2007. Alternativ zu
Overnet etablierte der Stormworm ein eigenes Netzwerk, welches anfangs optional zur Verfügung stand. Spätere Versionen
nutzten ausschließlich dieses spezielle Netzwerk, welches als
Stormnet bezeichnet wurde. Diese Generation Storms ist der
Klasse der bot-only P2P-Botnets zuzuordnen. Im Folgenden
wird Bezug auf die erste, leeching Version des Stormworms
genommen, welche auf Overnet aufbaut.
Overnet ist eine P2P-Hashtabelle, welche auf Kademlia
basiert. Jedoch gibt es Unterschiede im Vergleich zu Kademlia.
Overnet nutzt 128 bit Hashes als Schlüsselraum für Peer- und
Schlüssel-IDs. Im Gegensatz dazu verwendet Kademlia 160
153
11 http://waste.sourceforge.net/
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
bit Hashes. Beim Start des Clients wird ein zufälliger HashWert generiert. Genau wie Kademlia basiert Overnet auf der
XOR-Metrik. Diese definiert dieL
Distanz zwischen zwei HashWerten x und y als d(x, y) = x y. x und y werden bitweise
kalkuliert. Die XOR-Metrik besitzt die Eigenschaft der Unidirektionalität. Es gibt für jeden Schlüssel x und jede Distanz
ε > 0 genau einen Schlüssel y, sodass gilt: d(x, y) = ε. Werte
werden gespeichert, in dem aus ihren Namen der Hash-Wert
gebildet wird (Objekt-ID). Dieser wird an dem Peer abgespeichert, dessen ID die kleinste Distanz zur Objekt-ID aufweist.
Um eine Datei beziehungsweise ein Datum von einem Peer zu
laden, wird bei dem Knoten gesucht, dessen ID am nächsten
zum entsprechenden Schlüssel der Datei liegt. Das Routing
erfolgt auch bei Overnet nach dem Präfix-Ansatz. Ein Peer
besitzt mehrere „Nachbarschaftslisten“, in der Informationen
über benachbarte Peers enthalten sind. Bei Kademlia handelt
es sich um 160 Listen, die Informationstrippel speichern. Diese
Trippel setzen sich zusammen aus Informationen über ID des
Knoten, IP-Adresse, sowie der UDP-Portnummer. Für jede der
Listen gilt, dass eine Liste i, mit 0 ≤ i < 160, diejenigen
Knoten speichert, deren Distanz zwischen 2i und 2i+1 liegt.
In einer Liste können maximal k Einträge vorliegen. Dieser
Wert ist parametrierbar und führt dazu, dass diese Listen
auch k-Buckets genannt werden. In Overnet speichert ein
Bucket maximal 20 Einträge. Das Peer sendet einen Datum
an ein anderes Peer, welches das selbe Präfix besitzt, wie der
Schlüssel des Datums. Das Präfix des Empfängerknotens muss
jedoch um eine weitere Nummernstelle mit der ID des Datums übereinstimmen, als die eigene Peer-ID. Overnet wurde
nicht als quelloffene Software veröffentlicht. Jedoch gibt es
Anzeichen, dass das Overnet-Modul dem Kademlia-Derivat
KadC ähnelt. In [5] wird dieser Zusammenhang durch die
Analyse einer Datei hergestellt, die der Stormworm nutzt, um
den Bootstrapping-Prozess zu starten. Diese Datei besteht aus
Hashes, die Informationstrippeln kodiert. Diese Informationen
setzen sich aus der Peer-ID, der IP-Adresse und dem UDP-Port
zusammen: „Auffällig ist die große Ähnlichkeit ihrer Struktur
zu der Datei, die die Cbibliothek KadC [. . . ] zur Verwaltung
ihrer Kontakte verwendet“ [5].
3) Bot-only Botnets - Waledac: Einen Vertreter aus der
Klasse der bot-only Botnets stellt Waledac dar. Die C2Strukturen, sowie die gesamte Kommunikation Waledacs wird
mittels Hypertext Transfer Protocol (HTTP) realisiert. Diese
HTTP-basierte P2P-Kommunikation wurde von einigen Sicherheitsexperten als HTTP2P getauft12 . Bei dem Austausch
von Befehlen untereinander werden HTTP-Anfragen selbst
nicht verschlüsselt. Die eigentlichen Befehle, welche als Payload mittels HTTP transportiert werden, sind jedoch durch ein
asymmetrischen Verschlüsselungsverfahren chiffriert. Zusätzlich zu HTTP benutzt Waledac eine Reihe weiterer, offener
Protokolle und Standards, um die Kommunikation zwischen
den Bots zu gewährleisten. Dazu gehören unter Anderem
XML-basierte Nachrichtenformate und Base64-Kodierung. Da
Waledac in die Klasse der bot-only P2P-Botnets einzuordnen
ist, rekrutiert er potenzielle Opfer aus dem gesamten Internet.
B. Infizierungsvektoren
1) Spam-Mails - Stormworm: Der Stormworm verbreitete
sich in der ersten Phase seiner Existenz lediglich als Anhang
von Mails. Diese Mails enthielten meist englischen Text
zu einer Breite von Themen, die in sogenannten Kampagnen organisiert waren. Sie benutzten verschiedene Techniken
des Social-Engineerings, um die Ausführung des schadhaften Anhangs durchzusetzen. So wurden infizierte Mails zu
bestimmten Feiertagen versandt, welche inhaltlich auf den
Festtag abgestimmt waren. Der Anhang wurde als elektronische Postkarte (E-Card) ausgegeben. Laut Dahl [5] änderte sich die Ausbreitungsstrategie ab Ende Juni 2007. Zu
diesem Zeitpunkt wurden in versendeten Spam-Mails keine
weiteren Stormworm-Exemplare versandt. Jedoch behielten
die Angreifer die Social-Engineering-Taktiken bei und betteten
stattdessen Links zu anderen infizierten Hosts ein, die dem
Anwender eine vermeintlich ungefährliche Website präsentierten. Auf solchen Websites wurde mit weiteren sozialen
Beinflussungen versucht, das Opfer zum Download eines
Stormworm-Exemplars zu veranlassen. Parallel nutzten die
Angreifer zusätzlich ein automatisiertes Verfahren. Falls der
Anwender nicht zum Download des Schädlings bewegt werden
konnte, versuchte die manipulierte Website automatisch eine
Reihe von Browser-Exploits auszunutzen, um Stormworm
ohne weiteres Zutun durch den Nutzer zu installieren. Ab August 2007 nutzte Stormworm zusätzlich unterschiedliche BlogSoftwares, um sich zu verbreiten. Inhaltlich ähnelten die in
den Blogs dargebotenen Informationen den Mail-Kampagnen.
Eine zeitliche Übersicht der Verbreitungsmechanismen und der
Kampagnen liefert [5].
2) Manipulierte Websites - Waledac: Die Verbreitungsmechanismen Waledacs ähneln denen von Storm, auch wenn
sie nicht ähnlich mannigfaltig sind. Waledac verbreitet sich
lediglich über infizierte Websites. Diese bemächtigen sich
ähnlichen Social-Engineering-Taktiken. So wird der Nutzer im
Glauben gelassen, dass er auf entsprechenden Seiten Updates
zu Codecs und Videoplayern, Handy-Tools und weitere Programme beziehen kann, die sich als Waledac-Exemplare herausstellen. Die Websites sind thematisch und inhaltlich auf das
vermeintliche Programm abgestimmt, sodass der unerfahrene
Nutzer keinen Unterschied zu einer legitimen Seite feststellen
kann. Im Gegensatz zu Storm muss der Nutzer jedoch aktiv
die ausführbare Datei herunterladen, da keine automatisierte
Ausnutzung von Schwachstellen des jeweiligen Browsers in
der Website implementiert ist.
3) Instant-Messaging - Nugache: Nugache ist ein Beispiel
für P2P-Bots, welche eine ganze Bandbreite an Infizierungsvektoren nutzen. Obwohl die Mechanismen zur Verbreitung
nicht genau abgegrenzt werden können, wurde Nugache dafür bekannt, dass es vor Allem mittels Instant Messenger
(IM) Nachrichten Zugang zu neuen Opfern fand. [4] listet
weitere Wege der Verbreitung auf. Dazu gehören unter Anderem: Phishing-Websites, Spam und Mail-Anhänge, modifizierte Versionen von Limewire-Clients, Browser-Exploits und
weitere Exploits in Netzwerkdiensten.
12 http://www.shadowserver.org/wiki/pmwiki.php/Calendar/20081231
154
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
C. Ziele
D. Bootstrapping - Stormworm, Nugache & Waledac
1) Spam-Versand - Stormworm & Waledac:
a) Stormworm: Hauptfunktion von Stormworm ist der
Versand von Spam-Mails im Rahmen sogenannter Kampagnen. Diese Kampagnen zeichnen sich durch eine thematische
Ausrichtung auf aktuelle Ereignisse aus. So wurden unter
anderem Spam-Mails verschickt, welche über die Folgen des
Sturmtiefs Kyrill informierten. Weiterhin gab es Kampagnen
anlässlich zu Fest- und Feiertagen, wie dem Valentinstag oder
zu sportlichen Ereignissen. Holz et al [10] zählten zwischen
Dezember 2006 und Januar 2007 21 verschiedene Spam-MailKampagnen, indem sie von Storm versandte Mails in einer
dafür installierten Spamtrap auswerteten. Gekoppelt an diese
Funktion kann Stormworm den befallenen Rechner nach EMail Adressen durchsuchen, um diese für weitere Spam-MailKampagnen zu nutzen.
Neben dem Versand von Spam-Mails implementiert Storm
noch weitere Funktionen, die für Botnets markant sind. Dazu
zählen unter anderem die Möglichkeit eine Distributed Denial
of Service Attacke (DDoS) auszuführen. Erwähnenswert ist,
dass Storm die Möglichkeit zum Ausführen einer DDoSAttacke auch zur Selbstverteidigung nutzt. Storm wertet verschiedene Statistiken über Aktivitäten innerhalb des Botnets
aus. Darunter fällt auch die Anzahl paralleler Downloads der
primären Payloads pro IP-Adresse. Falls diese ungewöhnlich
hoch für einen normale Infizierungsprozess ist, geht Storm
von einem Versuch der Analyse aus und attackiert die IPAdresse mittels einer ICMP-DDoS Attacke. Dies geschah
unter anderem dem Autor von [5] bei dem Versuch das
Verhalten des Stormworms zu untersuchen.
b) Waledac: Da Waledac vom Aufbau und Systemverhalten stark Storm ähnelt, gibt es auch bezüglich der Funktionalität Übereinstimmungen. Die Hauptfunktion Waledacs
liegt im Versand von Spam-Mail. Diese sind, ähnlich wie
bei Storm, Template-basiert und in sogenannten Kampagnen
organisiert. Die Autoren von [1] berichten in ihrer Arbeit,
dass Waledac Spam-Mails zur Selbstverbreitung und zum
Sammeln von legitimen Mail-Adressen versendet. Im letzten
Fall wird den Opfern ein Angebot zum Kauf sehr günstiger
Uhren unterbreitet. Bei Interesse, sollen sich diese per EMail bei einer vermeintlichen Kontaktperson melden. Waledac
organisiert den Versand von Spam, ählich wie Storm, in
Kampagnen. Diese basieren inhaltlich auf Fest- und Feiertagen
und enthalten Links zu Websites, welche Waledac-Exemplare
getarnt zum Download anbieten.
2) DDoS-Angriffe - Nugache: Nugache weist eine größere
Bandbreite an Funktionalitäten auf und ähnelt diesbezüglich Trojaner. Als Hauptfunktion wurde die Ausführung von
DDoS-Angriffen identifiziert. Weiterhin ermöglicht Nugache
dem Botmaster die Kontrolle infizierter Rechner, das Herunterladen und Bereitstellen von Daten via File Transfer Protocol
(FTP) und HTTP. Eine weitere Funktion besteht in der Aufzeichnung von Tastenanschlägen, sogenanntem Keylogging.
Dies ermöglicht das Ausspähen von sensiblen Daten, wie
Passwörtern, Transaktionsnummern und Ähnlichem.
Im Bereich des Bootstrapping-Prozesses verhalten sich die
Schädlinge Storm, Nugache und Waledac ähnlich. Alle Vertreter nutzen hart-kodierte Informationen, um sich initial mit
dem Netzwerk zu verbinden.
1) Stormworm: Storm legt bei der Infizierung eines neuen Rechners eine Datei an (meist spooldr.ini), in der
Kontaktinformationen über festgelegte Peers enthalten sind.
Diese Liste hat einen Umfang von mehreren hundert Einträgen
[5], [15]. Jeder Eintrag besteht aus zwei Feldern, die durch
einen Seperator („=“) getrennt sind. Das erste Feld ist ein
Hash-Wert, welcher die Peer-ID darstellt und zur eindeutigen
Identifizierung des Peers dient. Im zweiten Feld sind zusätzlich
Informationen, IP-Adresse, Port-Nummer und der Typ des
Peers, hexadezimal kodiert. Diese Informationen können genutzt werden, um das eigentliche Bootstrapping zu vollziehen.
Die ersten Varianten von Stormworm, welche auf Overnet
aufsetzten, folgten hierbei dem Ablauf des Netzwerkbeitritts
von Kademlia. Es wird zuerst zufällige Peer-ID mittels einer
Hash-Funktion erzeugt. Diese ID bleibt persistent und wird für
spätere Aktivitäten im Netzwerk genutzt. Die hart-kodierten
Peers werden entsprechend ihrer Distanz in die jeweiligen
Buckets einsortiert. Danach erfolgt das Versenden der Nachricht NODE_LOOKUP mit der eigenen Peer-ID als Parameter.
Dies hat als Konsequenz, dass der Knoten Informationen über
seine Nachbarschaft erhält und diese wiederum den Knoten in
ihre Buckets aufnehmen.
2) Nugache: Wie bereits erwähnt, verfolgt Nugache einen
ähnlichen Ansatz zur Verwaltung der Informationen, die für
den Beitritt zum Botnet benötigt werden. Die Autoren von [15]
fanden durch Analysen des Schädlings heraus, dass jedes Exemplar über eine fest eingebundene Liste von 22 IPs verfügt,
zudem sich ein neu infizierter Rechner verbindet. Dieser erhält
daraufhin eine aktuelle Liste infizierter Rechner. Die Liste liegt
in binärer Form vor. Zusätzliche Kontaktinformationen, welche
von den Bootstrapping-Peers übermittelt werden, legt Nugache
in der Windows-Registrierung unter HKCU_Software_Gnu
ab. Nugache zeichnet erfolgreiche Verbindungen zu anderen
Peers, sowie die Anzahl der Verbindungsversuche auf und
speichert sie in der Registrierung ab.
3) Waledac: Waledacs Ansatz, um neu infizierte Bots in
das Botnet aufzunehmen, ist im Vergleich zu anderen Schädlingen dynamischer und robuster gegen Angriffe. Borup [2]
hat einen umfassenden Überblick über Waledacs Verhalten
zusammengestellt. Zwar greifen Bots anfänglich auch eine
Liste von 100 sogenannter Proxy-Bots zurück. Da auf Grund
der speziellen Netzwerkarchitektur Waledacs Proxy-Bots einem hohen churn aufweisen, kann diese Liste schnell nicht
mehr aktuell sein. Daher wird jeder neues Waledac-Exemplar
mit einer dynamisch erzeugten Liste erreichbarer Proxy-Bots
erzeugt. Nach dem ersten Start senden die Proxy-Bots dem
anfragenden Bot Informationen über weitere Peers. Zusätzlich
macht Waledac Gebrauch von der fast-flux Komponente. Ein
Bot sendet weitere Anfragen an eine Domain aus dem fast-flux
Netzwerk nach Peer-Informationen.
155
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
E. Command-and-Control-Mechanismen
1) 3-Schichtarchitektur, Pull - Stormworm: Die erste Version des Stormworm setzte als leeching Botnet auf Overnet
auf. Spätere Versionen lösten Overnet durch ein eigenes P2PProtokoll, Stormnet genannt, ab. Dieses unterscheided sich zu
Overnet lediglich in der Kodierung der Nachrichten. Diese
werden mittels eines 40 Byte Schlüssels XOR kodiert. Die
Nachrichten selbst wurden nicht verändert. Wie bereits erwähnt, gibt es in der Netzwerkarchitektur Gemeinsamkeiten zu
Waledac. Auch Stormworm gliedert sie in 3 Ebenen. Abhängig
von der Erreichbarkeit neu infizierter Rechner, nehmen sie die
Rolle eines Spammers oder Gateways ein. Ein Spammer ist
nicht direkt aus dem Internet erreichbar und fragt daher aktiv
bei Gateways nach neuen Peers und Spam-Templates nach.
Gateways beantworten Anfragen von Spammer-Bots als auch
den Kontroll-Knoten, die Kontaktinformationen für SpammerBots an den Gateways hinterlegen. Das Auffinden von Inhalten
und die Suche nach neuen Peers durch Spammer erfolgt
nach dem Prinzip der Schlüsselsuche. Eine hard-kodierter
Algorithmus generiert unterschiedliche Schlüssel, nach denen
Spammer-Bots suchen. Auf den entsprechenden Peers, die
für den jeweiligen Schlüssel verantwortlich sind, wurden zuvor Kontaktinformationen in Form von IP-Adresse und PortNummer eines Kontroll-Knoten hinterlegt. Ein Spammer-Bot
verbindet sich mittels TCP mit den entsprechenden KontrollKnoten und fragt nach neuen Instruktionen. Die Schlüssel
dienen somit als Rendezvouz-Punkt. Dies ist ein charakteristisches Merkmal für publish/subscribe-basierte Architekturen.
Holz et al. [10] konnten durch ihre Analysen den Algorithmus
näher bestimmen. Es ist eine Funktion f (d, i), die als Parameter d das aktuelle Datum und als Parameter i eine Zufallszahl
zwischen 0 und 31 entgegen nimmt. Daraus ergeben sich pro
Tag 32 unterschiedliche Schlüssel, nach denen gesucht wird.
Die Schlüsselsuche dient weiterhin zum Auffinden weiterer
infizierter Bots. Dies ist notwendig, da in der ersten Version
von Stormnet zwischen infizierten Bots und legitimen Knoten
des Overnet-Netzwerks unterschieden werden musste.
2) 3-Schichtarchitektur, Push & Pull - Waledac: Waledacs
Infrastruktur zur Kommunikation zwischen den beteiligten
Bots ist in drei Ebenen gegliedert. Für die Etablierung der
Command-and-Control-Kanäle werden den Bots unterschiedliche Funktionen zugeteilt. Diese greifen mittels push- sowie
pull-Techniken auf Informationen bezüglich weiterer Peers im
Netzwerk und neuen Spam-Instruktionen zu. Abhängig von
der Erreichbarkeit eines infizierten Rechners nimmt ein Bot
entweder die Funktion eines Spammers (auch Worker) oder
eines Proxys ein. Falls ein Rechner nicht direkt aus dem
Internet erreichbar ist, sich also zum Beispiel hinter einem
NAT-Gerät befindet, wird er zu einem Spammer. Spammer
bilden die unterste Schicht des Netzwerks. Da sie nicht direkt
vom restlichen Netzwerk kontaktiert werden können, fragen
sie aktiv nach Informationen über neue Spam-Kampagnen
nach. Diese Anfragen werden von Proxy-Bots weitergeleitet.
Sie bilden die mittlere Schicht des Netzwerks. Da sie öffentlich
erreichbar sind, können sie Anfragen von Spammern weiterleiten zu der obersten Schicht. Die oberste Schicht besteht aus 5
Backend-Servern, welche stabile IPs besitzen und deren Netz-
werkstatus sich über lange zeit nicht verändert. Die Proxies
leiten Anfragen von Worker-Bots an Backend-Server weiter
und bieten diese Funktionalität für andere Proxies an, sodass
nie ein Bot direkt mit einem Backend-Server kommuniziert.
Somit muss jeder Bot mindesten einen Proxy-Bot in seiner
Liste haben, um an der C2-Kommunikation teilzunehmen. Um
diese Liste möglichst aktuell zu halten beantworten Proxies
Anfragen von Workern bezüglich neuer Peer-Informationen.
Gleichzeitig senden Proxies unterinander Anfragen, wobei die
anfragenden Proxy-Bots auf der Liste der kontaktierten Bots
stehen und sich somit aktiv werben. Die Kommunikation
ermöglicht somit push-, sowie pull-Methoden. Weiterhin ist
auffällig, dass Waledac in den unteren zwei Ebenen Peerto-Peer-Charakteristiken aufweist. Auf Grund der BackendServer hat Waledac jedoch auch eine zentrale Komponente.
Die Gliederung der C2-Kommunikation in verschiedene Layer
ähnelt der Architektur des Stormworms.
3) Dezentral, Pull - Nugache: Die C2-Infrastruktur von Nugache unterscheided sich von den bereits vorgestellten Schädlingen Stormworm und Waledac. Sie ist im Vergleich sehr viel
einfacher gehalten und komplett dezentral. Abgesehen vom
puristischen P2P-Charakter dieses Botnets wurde in späteren
Versionen eine Rollenverteilung eingeführt. Um eine höhere
Effizienz zu gewährleisten, werden in dieser Version auch
Rechner in das Botnet aufgenommen, welche nicht direkt aus
dem Internet erreicht werden können. In [15] wird beschrieben, dass die Funktion eines neu infizierten Bots abhängig
von seiner Erreichbarkeit festgelegt wird. Falls sich dieser
hinter einem NAT-Gerät befindet, kann er lediglich die Rolle
eines Clients annehmen. Öffentlich erreichbare Peers werden
als Servents eingesetzt, die Anfragen von Clients beantworten.
Die gesamte Kommunikation findet in einem verschlüsselten
P2P-Netz ab, welches lediglich pull-Methoden implementiert.
Zusätzlich zur P2P-Komponente, können Nugache-Bots auf
zentralisierte IRC-Kanäle zugreifen.
V. G EGENMASSNAHMEN
Um ein Botnet effektiv zu bekämpfen, gibt es grundsätzlich
zwei Ansätz. Im ersten Ansatz würde man versuchen, alle
infizierten Rechner vom Schädling mittels eines Antivirenprogramms zu bereinigen. Der zweite Ansatz besteht darin, die
Command-and-Control-Kanäle des Netzes anzugreifen, sodass
keine Kommunikation mehr zwischen Botmaster und Bots
stattfinden kann. Dies würde das Botnet für den Botmaster ultimativ nutzlos machen. In zentralisierten Botnets kann durch
Schließung der zentralen IRC-Server oder durch Filterung
jeglicher Verbindungen dahin dieses Ziel erreicht werden. Da
in P2P-Botnets keine physische, zentrale Stelle vorhanden ist,
müssen andere Ansätze gefunden werden. Die wichtigsten
werden in diesem Abschnitt vorgestellt.
A. Naive Ansätze
Naive Ansätze umfassen den Einsatz Signatur-basierter Antivirenprogramme sowie das physische Lahmlegen identifizierter Bots. Beide Methoden führen zu keinem befriedigenden
Ergebnis, was vor Allem dem P2P-Charakter der Botnets zu
zuschreiben ist. Wie bereits erwähnt zeigen unter Anderem
156
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
Typ
Ziele
Infektion
Bootstrapping
C&C-Struktur
Stormworm
Leeching (erste Version)
Primär: Spam-Versand
Spam-Mails
hart-kodierte Listen (statisch)
Waledac
Bot-only
Primär: Spam-Versand
Websites
Listenaustausch
3-Schichtenarchitektur,
Pull
3-Schichtenarchitektur, Push & Pull
Nugache
Bot-Only
Primär: DDoS-Angriffe
Instant-Messaging
hart-kodierte Listen (dynamisch) & hart-kodierte Listen (dynamisch)
Dezentral, Pull
Phatbot
Zentralisiert (IRC)
Primär: DDoS-Angriffe
Würmer
hard-koderit (statisch)
Zentralisiert, Pull
Tabelle II
Ü BERBLICK K LASSIFIKATION VON P2P-B OTNETS
Waledac und Stormworm sehr starke polymorphe Aktivitäten.
Beide Schädlinge erstellten Replikate von sich selbst, jedoch
mit leicht veränderter Code-Basis. Dies führte dazu, dass
für jedes neue Derivat eine neue Viren-Signatur durch die
Hersteller erstellt werden musste. Die Derivate selbst zeigten
eine nur geringe Lebensdauer von wenigen Stunden, im Falle
von Waledac. Weiterhin ist dieser Ansatz reaktiver Natur.
Botnets zeigen während ihrer Wirkenszeit charakteristische
Verbreitungsmuster auf, die eine Konstanz gemeinsam haben.
Trotz dem Einsatz von Antiviren-Software verbreiten sich die
Schädlinge der Botnets somit erfolgreich weiter.
Das physische Lahmlegen aller Rechner eines Botnets ist
schon aus praktischen Gründen nicht möglich. Die Größe des
Botnets lässt dies nicht zu. Knoten mit herausragender Wichtigkeit für das Botnet gibt es auf Grund des P2P-Charakters
prinzipiell nicht. Weiterhin sind Botnets meist geographisch
weit verteilt. Der Zugriff auf Rechner anderer Länder wird oft
durch juristische Schranken behindert.
B. Index-Poisoning-Angriff
Dieser Angriff wurde erstmals durch die Content-Industrie
eingeführt, um die Verbreitung inhaltlich geschützter Werke
in P2P-Netzwerken zu verhindern beziehungsweise zu unterbinden. Sie kann auf alle P2P-Netzwerke angewandt werden,
deren C2-Mechanismen nach dem publish/subscribe-Ansatz
funktionieren und weitere Kriterien erfüllen. Ein erfolgreicher
Index-Poisoning-Angriff kann dabei nur gelingen, wenn das
Netzwerk die Kommunikation nicht verschlüsselt. Weiterhin
darf keine Authentifikation unter den Botserforderlich sein,
um Inforamtionen auszutauschen. Bei dem Index-PoisoningAngriff werden Inhalte mittels Indizes im Netzwerk positioniert und abgefragt. Derartige Netzwerke werden auch als
Index-basierte Netzwerke bezeichnet. In erster Linie stellt
Storm ein derartiges System dar, da dessen Architektur auf
dem pull-Mechanismus aufsetzt und keine optionalen pushMethoden zur Kommunikation implementiert (siehe Abschnitt
IV-E1).
Im ersten Schritt muss durch Reverse-Engineering eines Bot-Exemplars die fest einprogrammierte Funktion zur
Berechnung der Rendezvouz-Schlüssel identifiziert werden.
Nachdem der Verteidiger (oder Sicherheitsspezialist) Kenntnis
von der Art und Weise der Berechnung der Schlüssel hat, kann
er diese voraussagen und hat somit Kenntnis über die Nodes,
welche für die Speicherung der Inhalte verantwortlich sein
werden. Der eigentliche Prozess der „Vergiftung“geschieht,
in dem der Verteidiger falsche Informationen und den selben
Schlüssel-IDs veröffentlicht. Tut er dies in genügend größer
Anzahl, steigt die Wahrscheinlichkeit, dass Bots, die nach diesen Schlüsseln suchen, anstelle der echten Bot-Instruktionen
die falschen Informationen erhalten. In Kademlia werden
Inhalte jedoch nicht nur an dem Knoten gespeichert, dessen
ID am nächsten zur Objekt-ID des gespeicherten Wertes ist.
Um eine erhöhte Redundanz trotz des P2P-inhärenten Churns
zu gewährleisten, wird der Inhalt an den k-nächst gelegenen
Knoten hinterlegt. Ein Sicherheitsspezialist müsste also auch
die k nächsten Knoten um den eigentlichen Schlüssel herum
mit falschen Inhalten versorgen. Trifft eine Anfrage eines Bots
auf dem Weg zum eigentlichen Zielknoten zwischendurch auf
einen der Knoten, der als Redundanz auch diesen Wert speichert, wird dieser den falschen Inhalt zurück liefern und die
Suche beenden. Die Autoren von [18] haben die Effektivität
dieser Attacke ausgewertet.
Es existieren jedoch Möglichkeiten, Index-Poisoning abzuwehren. Die Schwachstellen, die eine derartige Attacke
ermöglichen sind grundsätzlich folgende. Erstens funktioniert
Index-Poisoning in Netzwerken, in denen Inhalte ohne vorherige Authentifizierung veröffentlicht werden. Zweitens führt
ein hard-kodierter Algorithmus zur Berechnung der Schlüssel
dazu, dass Rendezvous-Punkte im Voraus berechnet werden
können. Drittens ergibt sich durch die begrenzte Schlüsselzahl
eine logische Zentralität, obwohl das Netz an sich physisch
dezentral aufgebaut ist.
Das in [16] vorgestellte Botnet „Overbot“umgeht einen Teil
der Probleme, indem es seine Kommunikation mit einer starken RSA-Verschlüsselung chiffriert. Weiterhin berechnet jeder
Knoten in Overbot seinen eigenen Schlüssel. Zusätzlich überprüft ein Knoten durch Authentifizierung vor dem Publishing,
etwa durch asymmetrische Verschlüsselung, ob der Befehl
vom Botmaster kommt und ob dieser Befehl auf dem Weg
zum Knoten inhaltlich verändert wurde (durch Verwendung
von Hashes und Signaturen).
C. Sybil-Angriff
Der Ansatz der Sibyl-Angriff basiert, wie bei dem IndexPoisoning auf der Kenntnis der Berechnung der RendezvouzPunkte, also Schlüsseln. Weiterhin funktioniert diese Art des
Angriffs auf ein P2P-Botnet oder -Netzwerk allgemein dann,
wenn Informationen ohne Authentifikation von Knoten akzeptiert und veröffentlicht werden können. Allgemein formuliert,
basiert die Sybil-Attacke auf der Erstellung mehrerer, gefälschter Knoten. Diese Knoten sollen in möglichst hoher Zahl
im Netzwerk verteilt werden, um einen überproportionalen
157
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
Einfluss auf das Gesamtverhalten im Netzwerk zu erreichen.
Dies ist einfach umsetzbar, da eine Entität in einem P2PNetzwerk nicht zwangsläufig an nur eine physische Identität
gebunden ist. Somit kann auf einem Rechner eine Vielzahl
(bis zu tausend Identitäten, auf einem durchschnittlichen PC)
an gefälschten Identitäten simuliert werden. Diese existieren
als Knoten im P2P-Botnet. Die IDs der Knoten dürfen dabei
natürlich nicht zufällig gewählt werden. Sie müssen nahe
derjenigen Objekt-IDs liegen, deren Distribution man unterdrücken will. Wenn der Botmaster nun Inhalte unter dieser
Objekt-ID veröffentlicht, werden diese im besten Fall auf allen
gefälschten Knoten mitveröffentlicht, da deren IDs nahe zu der
Objekt-ID liegen. Dieses Vorgehen wird auch als aktive SybilAngriff definiert.
Da die gefälschten Knoten unter der Kontrolle der Verteidigers liegen, können diese vom P2P-Protokoll abweichendes
Verhalten implementieren. So können diese alle anfragenden
Verbindungen abbrechen, was zum Nichtauffinden der Inhalte
führt. In einer ersten Phase der Bekämpfung eines P2PBotnets könnten diese jedoch lediglich passiv agieren und die
Datenströme mitzeichnen, damit sie zur Analyse des Netzees
genutzt werden können.
Eine spezielle Form der Sybil-Attacke, die Eclipse-Attacke,
welche in [7] präsentiert wurde, soll hier kurz vorgestellt
werden. Die direkte Kommunikation von Peers untereinander funktioniert primär mittels der Informationen, welche
in sogenannten Nachbarschaftslisten (den k-Buckets in Kad)
hinterlegt sind. Die Integrität der Inhalte dieser Listen ist
demnach essentiell für jede Art der Kommunikation innerhalb
des Netzwerks. Grundsätzlich funktioniert er Eclipse-Angriff
in der Art, dass eine moderate Anzahl an gefälschten Entitäten
im Netzwerk einen anderen Bot-Knoten dazu bringen, sie
als Peers in seine Nachbarschaftslisten aufzunehmen. Ziel
ist es, die Nachbarschaftslisten möglichst vieler Bot-Knoten
zu kontrollieren. Diese Attacke kann jedoch im Fall von
Stormworm, welcher auf Overnet aufsetzte, nicht angewandt
werden. Der Grund dafür liegt im Aufbau des Schlüsselraums
in Overnet. Um eine Schlüssel-ID k mittels einer EclipseAttacke anzugreifen, müssen gefälschte Peers möglichst nahe
um k ins das Netzwerk eingeführt werden. In Overnet werden zu Zwecken der Redundanz jedoch Inhalte nicht um n
Peers verteilt, die am nächsten zu k sind. Dagegen werden
Inhalte über den gesamten Schlüsselraum verteilt, sodass eine
derartige „Angriffszone“nicht existiert.
VI. Z USAMMENFASSUNG
Wie in dieser Arbeit gezeigt wurde. stellen P2P-Botnets
eine Weiterentwicklung zentraler Botnets dar. Es wurde eine
Auswahl aktueller Vertreter dieser Art von Schädlingen präsentiert, darunter Stormworm, Nugache und Waledac. P2PBotnets können entlang verschiedener Dimensionen klassifiziert werden. Die wichtigste Kategorisierung teilt sie dabei in
die drei Typen parasite, leeching und bot-only botnets ein. Ein
wesentlicher Punkt in der Funktionsweise von Botnets ist die
Aufnahme eines neu infizierten Rechners in das bestehende
Netzwerk, der Bootstrapping-Prozess. Je nach Implementierung des Bootstrappings, müssen Informationen über andere
Peers einem neuen Knoten bekannt sein. Diese Informationen können als Ausgangspunkt für Gegenmaßnahmen genutzt
werden. Auf Grund der dezentralen Struktur aktueller Botnets, müssen neue Verteidigungsmaßnahmen ergriffen werden.
Mittels Index-Poisoning können viele der Botnets erfolgreich
infiltiert werden, welche auf Basis von unverschlüsselten
publish-/subscribing-Verfahren Inhalte ohne Authentifikation
unter den Bots austauschen. Es wurden jedoch im Rahmen
der Forschung bereits hybride P2P-Botnets entwickelt, welche
neben pull- auch push-Mechanismen implementieren, um Angriffen zu widerstehen. Die Entwicklung P2P-basierter Botnets
hat gerade erst begonnen. Es ist mit weiteren technischen
Fotschritten auf Seiten der Angreifer zu rechnen. Um diesen
Gefahrenzu begegnen, muss an der Entwicklung neuer Botnets
gearbeitet werden, damit entsprechende Gegenmaßnahmen abgeleitet werden können.
L ITERATUR
[1] Markus Engelberth Felix C. Freiling Ben Stock, Jan Göbel and Thorsten
Holz. Walowdac - analysis of a peer-to-peer botnet. Technical
report, Laboratory for Dependable Distributed Systems University of
Mannheim, Secure Systems Lab Technical University Vienna, 2009.
IV-C1b
[2] Lasse Trolle Borup. Peer-to-peer botnets: A case study on waledac.
Technical report, Technical University of Denmark, 2009. IV-D3
[3] Matthew Braverman. Msrt - progress made, trends observed. Technical
report, Microsoft Antimalware Team, 2006. III-B
[4] Supreeth Burji. Reverse engineering of a malware - eyeing the future
of security. Master’s thesis, The Graduate Faculty of The University of
Akron, 2009. IV-B3
[5] Frédéric Dahl. Der storm-worm. Master’s thesis, Universität Mannheim,
2008. IV-A2, IV-B1, IV-C1a, IV-D1
[6] D. Dittrich and S. Dietrich. Command and control structures in malware.
In USENIX ;login, volume 32, pages 8–17, 2007. 1, 2
[7] John Douceur and Judith S. Donath. The sybil attack. pages 251–260,
2002. V-C
[8] Thorsten Holz et al. Know your enemy: Tracking botnets. Technical
report, The Honeynet Project and Research Alliance, 2005. III-C
[9] Julian B. Grizzard and The Johns. Peer-to-peer botnets: Overview and
case study. In USENIX Workshop on Hot Topics in Understanding
Botnets (HotBots 2007), 2007. I
[10] Thorsten Holz, Moritz Steiner, Frederic Dahl, Ernst Biersack, and Felix
Freiling. Measurements and mitigation of peer-to-peer-based botnets: a
case study on storm worm. In LEET’08: Proceedings of the 1st Usenix
Workshop on Large-Scale Exploits and Emergent Threats, pages 1–9,
Berkeley, CA, USA, 2008. USENIX Association. IV-C1a, IV-E1
[11] Commtouch Software Ltd. Malware outbreak trend report: Storm-worm.
Technical report, Commtouch Software Ltd., 2007. verfügbar unter http:
//www.commtouch.com/downloads/Storm-Worm_MOTR.pdf. II-A
[12] Jeet Morparia. Peer-to-peer botnets: Analysis and detection. Master’s
thesis, San Jose State University, 2008. III-C
[13] Thorsten Holz Ralf Hund, Matthias Hamann. Towards next-generation
botnets. Computer Network Defense, European Conference on, 0:33–40,
2008. III-E
[14] Michael J. Jacobson Ryan Vogt, John Aycock. Army of botnets. In In
Proceedings of NDSS 2007, pages 111–123, 2007. III-D, III-E
[15] John Hernandez Sven Dietrich Sam Stover, Dave Dittrich. analysis of the
storm and nugache trojans: P2p is here. In Usenix ;login: The USENIX
Magazine, volume 32, 2008. IV-D1, IV-D2, IV-E3
[16] Guenther Starnberger, Christopher Kruegel, and Engin Kirda. Overbot
- a botnet protocol based on kademlia. In 4TH INTERNATIONAL
CONFERENCE ON SECURITY AND PRIVACY IN COMMUNICATION
NETWORKS (SECURECOMM), 2008. V-B
[17] Ping Wang, Sherri Sparks, and Cliff C. Zou. An advanced hybrid peerto-peer botnet. In HotBots’07: Proceedings of the first conference on
First Workshop on Hot Topics in Understanding Botnets, pages 2–2,
2007. III-D, III-E
158
PEER-TO-PEER-BOTNETS: EIN SYSTEMATISCHER ÜBERBLICK
[18] Ping Wang, Lei Wu, Baber Aslam, and Cliff C. Zou. A systematic
study on peer-to-peer botnets. In ICCCN ’09: Proceedings of the 2009
Proceedings of 18th International Conference on Computer Communications and Networks, pages 1–8, Washington, DC, USA, 2009. IEEE
Computer Society. III-A, III-E, V-B
159
PLAUSIBLE DENIABILITY
Plausible Deniability
Martin Soemer
Abstract—In der folgenden Ausarbeitung wird näher auf
den Sachverhalt der glaubhaften Abstreitbarkeit eingegangen.
Einige Personengruppen wie bspw. Informanten haben ein großes
Interesse daran, nicht in Verbindung mit manchen Daten oder
deren Weitergabe gebracht werden zu können. Hier soll eine
Übersicht über einige Verfahren gegeben werden, die den Aspekt
der Plausible Deniability in elektronischen Medien umsetzen.
Beispiele hierfür sind Off-the-Record und TrueCrypt Hidden
Volumes. Im Abschluss wird kurz darauf eingegangen, welche
Probleme in den bisher existenten Lösungen noch vorhanden
sind und welche Verfahren bereits gut integriert sind.
I. M OTIVATION
Jeder betreibt auf irgendeinem Wege Kommunikation. Sei
es übers Telefon, via Brief, persönlich im Gespräch oder
elektronisch mittels E-Mail oder Instant Messaging. Kommuniziert man von Person zu Person, so kann man recht
einfach sicherstellen, dass die ausgetauschten Informationen
vertraulich bleiben, indem man einen nicht öffentlichen Ort für
das Gespräch wählt. Bei der Telefonie und dem Briefverkehr
ist dies auch direkt damit gegeben, dass ein spezieller Adressat
mit der Information erreicht wird. Diese Kommunikationswege
sind rechtlich davor geschützt mitgeschnitten zu werden.
Doch werden immer mehr Informationen über das Internet
ausgetauscht. Hier fällt es leichter eine Unterhaltung unbemerkt mitzuzeichnen, da der Kommunikationsweg durch das
Internet nicht für mich ersichtlich ist, oder im Falle von
Wireless-LANs meine Informationen drahtlos gesendet werden und somit jemand in lokaler Nähe diese ohne Probleme
ebenfalls erhält (Figur 1). Rechtlich ist es ebenfalls kritisch zu
Natürlich können Daten verschlüsselt übermittelt werden, sodass die Informationen nicht unmittelbar lesbar sind. Doch
ist die Zukunftssicherheit von kryptographischen Methoden
nicht immer garantiert und im Falle das bspw. der Rechner
des Empfänger übernommen oder ausgespäht wird, nutzt eine
Verschlüsselung auch nicht. Die hier gewünschte Eigenschaft
ist glaubhafte Abstreitbarkeit, oder im wie im weiteren Verlauf
dieser Arbeit “plausible deniability” genannt. Das bedeutet,
dass auch im Nachhinein keine eindeutige Zuordnung zu dem
Absender möglich ist. Hierbei kann Verschlüsselung sogar
kontraproduktiv wirken wie in Abschnitt IV gezeigt wird.
Auch das Aufbewahren von Daten kann kritisch sein. Die
Existenz von Daten auf einem System, selbst wenn diese
verschlüsselt vorliegen, kann sich negativ auswirken.
II. O UTLINE
Im Abschnitt III wird kurz gezeigt, welche Arten von
Plausible Deniability existieren. Darauf folgend werden in
Abschnitt IV einige Schwierigkeiten die es bei der Umsetzung
zu beachten gibt geschildert. Danach wird auf einige Methoden
genauer eingegangen, angefangen in Abschnitt V, in dem
eine mögliche Umsetzung von Plausible Deniability für EMail-Verkehr dargestellt. In dem Abschnitten VI und VII
werden dann noch spezielle Verfahren für Instant MessagingProtokolle gegeben, wobei Abschnitt VI ein Verfahren für 1zu-1-Kommunikation beschreibt und Abschnitt VII näher auf
Kommunikation mit mehreren Teilnehmern eingeht. Wie nicht
nur die Informationen beim Empfänger einer Nachricht abstreitbar gestalten werden, sondern auch der Kommunikationsweg,
wird in Abschnitt VIII beschrieben. Eine andere Anwendung
von Plausible Deniability als die Kommunikation wird in
Abschnitt IX gegeben, in dem eine Methode verschleiern von
Daten auf einem Datenträger beschrieben ist. Zum Abschluss
findet sich in Abschnitt X ein Fazit und ein Ausblick auf
mögliche Forschungsgebiete.
III. A RTEN VON P LAUSIBLE D ENIABILITY IN DER
KOMMUNIKATION
Fig. 1.
Es gibt unterschiedliche Arten, wie bei elektronischer Kommunikation etwas abstreitbar gehalten wird.
Unbekannter Kommunikationsweg
betrachten. In den Nutzungsbestimmungen von vielen Instant
Messagern und einigen Mail-Providern ist vermerkt, dass an
allen über sie vermittelten Daten der Anbieter Recht hat diese
zu verwerten.
Nun gibt es aber einige Personengruppen welche ein Interesse
daran haben, dass Informationen die sie jemand anderem
mitteilen anschließend nicht mehr eindeutig ihnen zuordenbar
sind. Beispielsweise möchten Geheimdienste, Journalisten, Informanten oder Dissidenten nicht immer, dass Informationen
welche nach außen dringen ihnen angelastet werden können.
A. Inhaltliche Abstreitbarkeit
Möchte man nach dem Übermitteln einer Nachricht abstreiten können, exakt diesen Text gesendet zu haben, so
gibt es dafür mathematische Ansätze wie bspw. in [2], in
dem Verfahren für kryptographische Funktionen beschrieben
werden, mit denen zu einem übermittelten Ciphertext, ein
möglicher Klartext ermittelt werden kann, welcher nicht dem
eigentlich übermittelten Text entspricht. Dabei gibt es noch
die Unterscheidung ob der Ausweichtext vorher bestimmbar
160
PLAUSIBLE DENIABILITY
sein soll, oder ob er lediglich durch mathematische Methoden
berechenbar ist und somit keinen Sinn wie bspw. lesbare
Sprache ergeben muss.
B. Sender/Empfänger-Abstreitbarkeit
Häufig ist es interessant, abstreiten zu können eine
Nachricht überhaupt gesendet zu haben, anstatt nur deren
Inhalt abstreiten zu können. Zum Beispiel ist es für einen
Informanten wichtiger erst gar nicht in Kontakt mit bspw.
einem Journalisten gebracht werden zu können, als das dieser
bewiesenermaßen vorliegt.
Um dieses Ziel zu erfüllen, weitet man die Anzahl der
möglichen Personen, welche die Nachricht geschickt haben
könnten, aus, sodass keine eindeutige Zuordnung mehr stattfinden kann.
IV. S CHWIERIGKEITEN
Möchte man das Konzept der Plausible Deniability umsetzen, so stellen viele der üblichen Methoden zur Verschlüsselung und Authentifizierung Schwierigkeiten dar. Eines
der derzeit am häufigsten verwendeten Verschlüsselungsverfahren für den E-Mail-Austausch ist Pretty Good Privacy
(PGP), welches Philip R. Zimmermann 1991 entwickelte
[10]. Dieses basiert auf einem Schlüsselpaar-Prinzip aus öffentlichem und geheimen Schlüssel. Nachrichten welche mit
dem privaten Schlüssel signiert wurden, können dabei mittels
des öffentlichen Schlüssels auf ihre Authentizität geprüft werden. Möchte man Nachrichten an eine Person verschlüsselt
versenden so wird der öffentliche Schlüssel dieser dafür verwendet. Nur mit dem passenden privaten Schlüssel kann diese
dann wieder gelesen werden.
In Belangen der Plausible Deniability ist dieses Verfahren
aber absolut kontraproduktiv, da eine Person eindeutig einer
Nachricht zugeordnet werden kann. Im Falle der Signatur
ist dies der Absender und im Falle der Verschlüsselung der
Empfänger.
Nachricht auch selber hätte signieren können. Nur das Wissen
von Bob, dass er die Mail nicht selber geschrieben hat, beweist
ihm, dass die Nachricht von Alice stammen muss.
Das in [8] beschriebene Verfahren hat den Vorteil, dass nur
der öffentliche Schlüssel des Empfängers bekannt sein muss,
um die Ring-Signatur zu erstellen. Es ist also keine weitere
Architektur notwendig als die bisher etablierte zum Austausch
von öffentlichen Schlüsseln, wie sie auch von PGP genutzt
wird.
Dieses Verfahren kann aber nicht bei mehreren Empfängern
verwendet werden, da dann aus dem Wissen, dass man nicht
selber die Nachricht gesendet hat, kein eindeutiger Absender
mehr feststellbar ist, sondern eine Gruppe von möglichen
Sendern in Betracht kommen kann.
Dieser Sachverhalt bietet eine andere Art von Plausible Deniability, bei der zwar abgestritten werden kann, dass man eine
Mail geschrieben hat, aber auch der Empfänger nicht weiss,
wer diese Person war. In [8] wird dafür als Anwendungsbeispiel ein Fall genannt, in dem eine führende Person aus dem
weissen Haus Informationen versenden möchte, ohne das diese
Person als Informant identifizierbar ist. Dafür muss dieser
lediglich eine Ringsignatur mit allen öffentlichen Schlüsseln
der Führungskräfte im weissen Haus erstellt. Damit ist diese
Person nicht identifizierbar, aber es kann geprüft werden, das
die Quelle authentisch ist, da es sich auf jeden Fall um einer
der Führungskräfte handeln muss.
VI. 1- ZU -1-I NSTANT M ESSAGING
Beim Instant Messaging sind die Kommunikationszeiten
wesentlich kürzer als bei E-Mails. Dies erlaubt einem,
Methoden zu nutzen, bei denen die Authentifizierung
flüchtiger ist und somit bspw. nach einer Sitzung entfernt
werden kann. Ein inzwischen etabliertes Verfahren hierfür ist
Off-the-Record (OTR) [1]. Dieses setzt folgende Aspekte um:
•
•
•
V. E-M AIL
E-Mails stellen im Bezug auf die Plausible Deniability eine
besondere Schwierigkeit dar, da die Kommunikationszeiten
relativ lang sind. Möchte man sicherstellen das der Absender
sich dem Empfänger gegenüber authentifizieren kann, so muss
eine Methode gefunden werden welche auch nach bspw. einer
Woche dies noch zulässt, ohne das eine dritte Person diese
Authentifizierung nachvollziehen kann.
Geht man davon aus, dass eine Mail jeweils nur an einen
Empfänger adressiert ist, lässt sich dieser Umstand ausnutzen.
Wie in [8] beschrieben, lassen sich Ring-Signaturen nutzen
um eine Signatur zu erzeugen welche von jedem aus einer
Gruppe von möglichen Personen erzeugt werden kann. Kommt
man nun auf die Annahme zurück, dass die Kommunikation
nur 2 Teilnehmer hat, wird in [1] die Möglichkeit aufgezeigt,
eine Ring-Signatur für 2 Teilnehmer zu nutzen. Sendet Alice
nun eine mit einer solchen Signatur versehene Mail, kann
Bob sicher sein, dass diese von Alice kommt, doch eine dritte
Person (im folgenden Eve genannt) kann dies nicht beweisen.
Auch Bob hat diese Möglichkeit gegenüber Eve nicht, da er die
•
Verschlüsselung
Authentifizierung
Deniability
Perfect forward secrecy
Der Begriff der “perfect forward secrecy” bedeutet dabei,
dass beim Verlust von privaten Daten, alte Konversationen
nicht kompromittiert werden können.
Um diese Ziele zu erfüllen, baut OTR auf den Ideen, welche
in Abschnitt V beschrieben wurden, auf und erweitert diese.
Jeder Teilnehmer besitzt einen privaten Schlüssel. Dieser wird
zu Beginn der Kommunikation verwendet um mittels des
Diffie-Hellman-Algorithmus [3] einen gemeinsamen Schlüssel
für die Verschlüsselung zu finden, wie in Figur 2 dargestellt
ist. In dieser Figur sind x und y die privaten Schlüssel von
A → B : A, g, p
B→A:
Fig. 2.
B
, mit A = g x mod p
, mit B = g y mod p
Ablauf des Diffie-Hellman-Schlüsselaustauschs
Alice und Bob, p ist eine Primzahl und g eine Primitivwurzel
161
PLAUSIBLE DENIABILITY
mit 2 ≤ g ≤ p − 2. Alice berechnet dann den Schlüssel aus
x
y
K = g B und Bob mit K = g A .
Wird nun einer der Teilnehmer kompromittiert, so, kann
zwar festgestellt werden das sowohl Alice als auch Bob an
dem Schlüsselaustausch teilgenommen haben, da der private
Schlüssel von beiden verwendet wurde, aber die weitere
Konversation könnte sowohl von Alice als auch von Bob
stammen, da beide nun den gleichen Schlüssel für die übrige
Kommunikation besitzen. Um dies zu verdeutlichen wird in
Figur 3 der Ablauf des OTR-Verfahrens noch einmal genau
dargestellt.
A→B
: g x1
A→B
: g x2 , E(M1 , k11 )
B→A
: g y1
B→A
: g y2 , E(M2 , k21 )
A→B
Fig. 3.
komplexere Verfahren eingesetzt werden.
VII. M EHR -T EILNEHMER -I NSTANT M ESSAGING
Ein Beispiel eines solchen Verfahrens ist mpOTR (multiparty OTR) [7]. Der Ablauf des Protokolls lässt sich in 6
Teilschritte gliedern, welche in Figur 4 dargestellt sind.
1)
2)
3)
4)
5)
Initialisierung
SessionID bestimmen
Protokoll-Parameter authentifizieren
Teilnehmer authentifizieren
Kommunikation
• Senden
• Empfangen
6) Beenden
Fig. 4.
x3
: g , E(M3 , k22 )
OTR-Protokoll [1]
Bei jeder Nachrichtenübermittlung wird hierbei der Schlüssel getauscht. dieser wird in der Figur als g kl dargestellt, was
für den l-ten Schlüssel von Teilnehmer k steht. E(Mi , kab )
symbolisiert die Verschlüsselung der i-ten Nachricht mit dem
gemeinsamen Schlüssel k, welcher aus den Teilen g xa und g yb
zusammengesetzt ist.
Die gegenseitige Authentifizierung basiert wie in Abschnitt V
darauf, dass sowohl Alice als auch Bob die Nachricht hätten
verschlüsseln können, aber der jeweilige Empfänger weiß, dass
er die Nachricht nicht geschrieben hat, sie folglich von seinem
Kommunikationspartner stammen muss.
Die bekannten Implementierungen für das OTR-Verfahren
[6] [5] kennen dabei 4 unterschiedliche Zustände in denen
sich eine Kommunikation befinden kann. Zum ersten gibt es
den Zustand “Nicht privat”. Dabei wird der Text im Klartext übermittelt und es findet keinerlei Authentifizierung oder
Verschlüsselung statt. Der zweite Zustand ist “Privat”. Dies
bedeutet das eine verschlüsselte Kommunikation stattfindet
und der öffentliche Schlüssel der Gegenpartei authentisch ist.
Dies ist auch der gewünschte Zustand in einer Unterhaltung
mittels OTR. Der dritte Zustand lautet “Unverifiziert”. Hierbei findet zwar eine Verschlüsselung statt, jedoch ist der
öffentliche Schlüssel der Gegenpartei nicht als authentisch
angesehen. Dieser Zustand ist in sofern als unsicher anzusehen, dass zwar die Daten verschlüsselt vorliegen, jedoch nicht
garantiert werden kann, dass nicht eine dritte Person zwischen
den beiden Teilnehmern die Nachrichten vermittelt (Man-InThe-Middle-Attacke). Der letzte Zustand lautet “Beendet”. In
diesen wird gewechselt wenn eine bestehende OTR-Sitzung
beendet wird, sei es durch das mutwillige Beenden einer der
beiden Teilnehmer, oder durch das Beenden des Clients von
einem.
Wie bei E-Mails gibt es aber auch bei dem OTR-Verfahren
das Problem, das es nur für zwei Teilnehmer konzipiert ist.
Möchte man das Verfahren ausdehnen auf Chatrooms wie
bspw. IRC in sicherer aber abstreitbarer Weise nutzen, müssen
Ablauf von mpOTR
In dem Beispiel eines IRC-Channels findet dieses Verfahren Anwendung, wenn man nur mit bekannten Teilnehmern kommunizieren möchte. Diese erzeugen flüchtige
Signaturen, welche nach einer Sitzung gelöscht werden.
Diese werden zwischen allen Beteiligten ausgetauscht, wobei
dieser Austausch von Teilnehmer zu Teilnehmer privat
abläuft, also jeder Teilnehmer zu jedem anderen Teilnehmer
einzeln eine Verbindung aufbaut um einen Schlüsselaustausch
durchzuführen. Somit kann jeder Teilnehmer jedem anderen
eindeutig eine flüchtige Signatur zuordnen, und jeder hat
sich gegenüber jedem authentifiziert. Wird nun eine Sitzung
beendet, so werden die flüchtigen Signaturen im Channel
veröffentlicht, sodass anschließend jeder alles hätte schreiben
können, aber während einer Sitzung die Zuordnung eindeutig
ist. Ändert sich die Teilnehmerliste, so wird die aktuelle
Sitzung beendet und eine neue begonnen. Dabei berechnet
jeder Teilnehmer eine Checksumme über die Liste der von
ihm anerkannten Teilnehmer. unterscheidet sich diese Checksumme mit der von anderen Teilnehmern, so ist ein Teilnehmer
hinzugekommen, welcher nicht autorisiert ist.
Auch bei diesem Verfahren ist der einzige Punkt, an dem
die Mitwirkung eines speziellen Teilnehmers im Nachhinein
nachgewiesen werden kann der initiale Schlüsselaustausch.
Dieser ist auch nicht effizient gelöst, da er mit einer Komplexität von O(nn ) nicht gut auf hohe Nutzerzahlen skaliert.
VIII. P ROTOKOLL -E BENE
Während die bis hierhin beschriebenen Verfahren die
Möglichkeit bieten, abzustreiten der Autor einer Nachricht
zu sein, kann doch auf Netzwerkebene eine Verbindung
nachgewiesen werden. Für viele Zwecke wäre es wünschenswert nicht nur den Inhalt abstreiten zu können, sondern
schon allein die Verbindung zu einem System. Für diesen
Zweck gibt es einige Möglichkeiten den Weg, den ein Paket im
Netzwerk zurücklegt, zu verschleiern. Eines der bekanntesten
Verfahren ist TOR [4]. Mit dieser Anwendung ist es möglich
den Verkehr von TCP-Paketen anonym umzuleiten. Auch
lassen sich Dienste anonym mittels sogenannten Rendezvous
Points anbieten.
162
PLAUSIBLE DENIABILITY
Fig. 5.
Aufbau eines 2-Sprung-Kreises und Beginn einer Web-Page-Anfrage [4]
TOR bildet ein Netzwerk aus TOR-Knoten, zwischen denen
Daten nur verschlüsselt übermittelt werden und auf Pfaden
zwischen den Knoten immer nur der direkte Nachfolger
und der direkte Vorgänger bekannt sind. Dadurch ist die
Anonymität des einzelnen garantiert, da niemals ein Knoten
sicher weiß, von wem ein Paket ursprünglich ausging.
Möchte sich ein Teilnehmer über das Netzwerk mit einem
anderen Teilnehmer verbinden, so sieht der Ablauf bspw. so
aus wie in Figur 5 gezeigt. Es wird eine TLS-Verbindung
zu einem bekannten TOR-Knoten hergestellt und der erste
Teil eines Diffie-Hellman-Schlüsselaustauschs übermittelt, wie
er in Figur 2 gezeigt wurde. Dieser antwortet nach Diffie
Hellman-Protokoll, sodass eine vertrauliche Verbindung zum
ersten Knoten hergestellt wurde. Soll ein weiterer Sprung
im Netzwerk hinzugefügt werden, wird ein Extend-Befehl
über den ersten Knoten abgesetzt, welcher für den 2. Knoten
verschlüsselt wurde. Dieser Befehl bewirkt widerum den
Aufbau einer TLS-Verbindung zu Knoten 2.Dieser Vorgang
kann beliebig oft wiederholt werden um mehr Sprünge bis
zum Ziel durchzuführen. Um nun sicher zu gehen, dass kein
Knoten auf dem Weg mehr feststellen kann als den Vorgängerbzw. Nachfolgeknoten, werden die Pakete in umgekehrter
Reihenfolge verschlüsselt, also in dem gegebenen Beispiel
zuerst für Knoten 2, danach für Knoten 1. Sendet man nun
eine normale TCP-Anfrage, so kommt am letzten Punkt ein
unverschlüsseltes Paket an, der dieses dann unverschlüsselt
an das Ziel weiterleitet. Nach einer festen Zeit wird der
so erstellte Pfad verworfen und ein neuer erstellt, um eine
potentielle Nachverfolgung zu erschweren.
Um einen anonymen Treffpunkt zwischen 2 Parteien zu
ermöglichen, oder auch einen TCP-Dienst wie bspw. einen
Webserver anonym anbieten zu können, nutzt TOR Rendezvous Points. Bei diesem Verfahren verbindet sich ein
Teilnehmer in das TOR-Netzwerk und hinterlässt an einigen
Knoten die Information auf einen Dienst. Nun kann ein
anderer Teilnehmer ebenfalls über das Tor-Netzwerk zu diesen
Informationsknoten verbinden und den Dienst eines anderen
anfordern. Auf diese Weise wird eine anonyme Verbindung
aufgebaut, ohne das die Beteiligten sich direkt kennen, sondern
bspw. nur einen Verweis auf einen Informationsknoten den
man auf einer Webseite gegeben hat.
IX. E XISTENZ VON DATEN
Möchte man Daten auf einem System vor dem Zugriff
von Dritten schützen, ist die einfachste Methode diese zu
verschlüsseln. Doch möchte man nicht nur den Inhalt sichern,
sondern die Existenz dieser im Gesamten glaubhaft abstreiten
können, so stößt man auf Schwierigkeiten. Selbst wenn man
einen Bereich auf einem Datenträger vollständig mit Zufallswerten füllt, bevor man diesen nutzt, ist dies nur ein Schutz,
solange das System, welches diese Daten nutzen soll, nicht
erreichbar ist. Bekommt man Zugriff auf das System, nutzt
man einfach dessen Methoden um an die Daten zu gelangen.
Ein möglicher Ansatz um auch in einem solchen Falle Abstreitbarkeit zu erlangen wird in [9] mittels des Tools TrueCrypt
beschrieben (wie in Figur 6 zu sehen ist). Dieses erzeugt eine
Container-Datei, welche zunächst vollständig mit zufälligen
Werten gefüllt wird. Möchte man nun auf eine Datei in dem
System zugreifen, muss man das Programm nutzen, welches
die Dateizuordnungen aus dem Container auslesen kann. Doch
deutet die Existenz eines solchen mit Zufallswerten gefüllter
Bereich darauf hin das dort Daten vorliegen. Um nun die Existenz dieser abstreitbar zu machen bedient sich das Programm
eines Tricks. Während ein normales System alle vorhandenen
Dateien in einer Liste zur Verfügung hat um auf diese zugreifen zu können, kann TrueCrypt innerhalb eines Containers
einen weiteren Container erzeugen, welcher nirgendwo aufgeführt wird. Es verbirgt sich also in einem Container voller
Zufallswerte ein weiterer Container, welcher von außen nicht
ersichtlich ist. Möchte man auf die darin enthaltenen Daten
zugreifen, muss man explizit darauf hinweisen wo dieser
Container beginnt, da er selbst keine Zuordnung hat. Wird man
nun gezwungen den Zugang zu dem verschlüsselten Bereich
auf dem Datenträger zu gewähren, findet man in diesem nur
Alibi-Dateien, aber die Existenz des zweiten Containers kann
nicht festgestellt werden.
163
PLAUSIBLE DENIABILITY
Fig. 6.
Option zur Erstellung eines verschlüsselten und versteckten Bereichs
Um die Abstreitbarkeit zu garantieren, darf das umgebende
System keinerlei Aktionen mitprotokollieren, welche in dem
geschützten Container geschehen. Viele moderne Betriebssysteme protokollieren den Zugriff auf Daten, was umgangen
werden muss.
X. FAZIT UND AUSBLICK
Abschließend bleibt festzustellen, dass Plausible Deniability
zwar mit unterschiedlichen Bemühungen erreichbar ist, aber
die bisher verbreiteten Verfahren nur mit 2 Teilnehmern effizient realisiert werden. In Umgebungen mit mehreren Teilnehmern ist noch einiges zu verbessern um effiziente Verfahren
zur Hand zu haben.
Ein Manko, dass die beschriebenen Verfahren zur Kommunikation noch haben, ist, dass der Schlüsselaustausch die
Mitwirkung an der Kommunikation noch zeigt. Ein Verfahren
für den Deniable-Key-Exchange müsste entwickelt werden um
auch diesen Grad der Mitwirkung abstreiten zu können.
Im Bereich des E-Mail-Verkehrs gibt es keine Methode eine
Mail an mehrere Empfänger zu schicken und abstreitbar zu
signieren, sodass der Empfänger sicher weiß, dass die Mail
vom Absender stammt.
Mit TOR ist im Bereich der abstreitbaren Verbindung oder
des anonymen Dienstangebots ein gutes Mittel gegeben, doch
zeigen aktuelle Forschungen immer wieder Schwachstellen
auf. Nehmen aber viele an dem Netzwerk teil, so stellt dieses
Verfahren eine gute Lösung für das Problem der Abstreitbarkeit eines Datenweges dar.
Plausible Deniability von Daten ist ein Bereich, in dem
noch viel getan werden kann. Wo moderne Browser die
Möglichkeit bieten den Verlauf zu löschen um den Aufenthalt
auf bestimmten Internet-Seiten abstreitbar zu gestalten, da
protokollieren Betriebssysteme immer mehr mit.
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
R EFERENCES
[1] Nikita Borisov, Ian Goldberg, and Eric Brewer. Off-the-record communication, or, why not to use pgp. In WPES ’04: Proceedings of the 2004
164
ACM workshop on Privacy in the electronic society, pages 77–84, New
York, NY, USA, 2004. ACM. V, VI, 3
Ran Canetti, Cynthia Dwork, Moni Naor, and Rafail Ostrovsky. Deniable encryption. In CRYPTO ’97: Proceedings of the 17th Annual
International Cryptology Conference on Advances in Cryptology, pages
90–104, London, UK, 1997. Springer-Verlag. III-A
Whitfield Diffie and Martin E. Hellman. New directions in cryptography.
IEEE Transactions on Information Theory, 22(6):644–654, November
1976. VI
Roger Dingledine, Nick Mathewson, and Paul Syverson. Tor: The
second-generation onion router. In In Proceedings of the 13th USENIX
Security Symposium, pages 303–320, 2004. VIII, 5
Scott Ellis.
Off the record plugin for miranda im.
"http://www.scottellis.com.au/miranda_plugins/ver_otr.html",
June
2010. VI
Ian Goldberg, Rob Smits, Chris Alexander, and Nikita Borisov. Off the
record plugin for pidgin. "http://otr.cypherpunks.ca/", June 2010. VI
Ian Goldberg, Berkant Ustaoğlu, Matthew D. Van Gundy, and Hao Chen.
Multi-party off-the-record messaging. In CCS ’09: Proceedings of the
16th ACM conference on Computer and communications security, pages
358–368, New York, NY, USA, 2009. ACM. VII
Ronald L. Rivest, Adi Shamir, and Yael Tauman. How to leak a secret.
In ASIACRYPT ’01: Proceedings of the 7th International Conference
on the Theory and Application of Cryptology and Information Security,
pages 552–565, London, UK, 2001. Springer-Verlag. V
Robin Snyder. Some security alternatives for encrypting information
on storage devices. In InfoSecCD ’06: Proceedings of the 3rd annual
conference on Information security curriculum development, pages 79–
84, New York, NY, USA, 2006. ACM. IX
Philip R. Zimmermann. The official PGP user’s guide. MIT Press,
Cambridge, MA, USA, 1995. IV
CLOUD COMPUTING
Cloud Computing
Martin Stopczynski
Abstract—Cloud computing illustrates a huge cloud of distinctive services, hiding the technology and infrastructure behind
it. Furthermore, through the constant technology development
and maturity of the business models providing the services, ’the
cloud’ expands and the characterization gets bigger and fuzzier.
This fact makes it difficult to provide a comprehensive definition
of the term cloud computing.
Though, in order to bring light into ’the cloud’ of services
and the technology associated, this paper will provide an insight
in particular services ’the cloud’ offers, the key concepts as
well as the underlying architecture. In addition, we want to
present different approaches to achieve cloud computing features
and aspects by employing the concepts of peer-to-peer and grid
computing.
Fig. 1.
General unterstanding of Cloud Computing [6]
I. I NTRODUCTION
Talking about cloud computing, we think about a cloudy
group of technologies and services provided over the internet.
Some would say ’the cloud’ is a metaphor for the internet
to abstract the complex infrastructure we do not want to
think of or even worry about. This very abstract and basic
statement describes in general the public understanding of
cloud computing and is illustrated in Figure 1.
Going a step further, one can say that cloud computing is
yet another buzz word [17] to define the overall IT processes
and services around the next generation web technologies.
Similar to the buzz phrase Web 2.0, there is a vast number
of characterizations of the cloud computing term, which we
will discuss later in Section III-B. Moreover, the hype around
the ’cloud’ combined with ’computing’ further muddies the
message. To resolve this confusion and to get an insight into
the variety of aspects of cloud computing, this paper will
provide an overview of the technical as well as the business
model understanding [7].
We will encounter that the nowadays term of cloud computing was formed by the convergence of three major IT trends:
• Virtualization: where applications are separated from
infrastructure.
• Utility Computing: where computing capacity is accessed
over a grid as variably shared services.
• Application Service Provision: where applications are
available on demand on a subscription basis.
To get an idea what led to the paradigm of cloud computing,
section II will emphasize the technical and business preconditions as well as trends for the arising of cloud computing.
Some of these technologies include utility computing, grid
computing, virtualization and cluster computing.
Section III shows the abstract cloud computing architecture
with the specific actors (vendor, developer, end-user) and
applications in this segment. Following, in Section IV we
present a few popular cloud computing provider and their
services. In Section III-B we describe the key aspects in the
cloud computing environment and reveal why cloud computing
is so successful. Finally, we show two concepts how to use
peer-to-peer and grid computing as a cloud computing service.
II. U NFOLDING C LOUD C OMPUTING
In order to understand the fundamental idea of cloud computing, we have to enlist some basic technical and business
preconditions that build the term of cloud computing – see
Figure 2.
The success of today’s cloud computing is not just solely
based on the development of supercomputers or server farms
and clusters. The outcome is primary established by the
conjunction of cluster computing and the business model of
utility computing, which briefly summarize the concept of
renting expensive hardware, software or computation power
rather than buying it.
A. Utility computing
Utility computing is not a new concept and is known since
the early 60ies. It expresses the technology and business
model to provide different IT services like computing power,
storage and applications on demand, by paying only what you
used. Utility computing eliminates the need to acquire and
manage the computing resources, eliminates the start up costs
in acquiring capital, configuring machines, performing the
basic system management and system administration as well
as allowing to focus on simply running the needed applications
[15]. It also characterize the idea of paying for services per
usage, which we will encounter later.
The term is related to the traditional utility services such
as electricity, water, gas and telephone network. The concept
is simple – why should one acquire expensive hardware that
exceed the current liquidity of a company if primarily, it is
unknown what resources are really needed and secondly, if it is
still unclear whether the business will be successful. Besides,
165
CLOUD COMPUTING
Fig. 2.
partition a workload into a grid-aware application, and provide
the application with secure access to data [15].
At present, multi-organizational grid computing is mainly
used by academic institutions with large computational or
storage demands. Commercial adoption has been slow, mainly
due to security concerns created by the shared use of resources
in an environment with unknown users [22].
What distinguishes grid computing from conventional high
performance computing systems such as cluster computing,
is that grids tend to be more loosely coupled, heterogeneous,
geographically dispersed and may be used for many different
purposes. They are often constructed with the aid of generalpurpose grid software libraries called middleware. The disparity to cloud computing is visualized in Figure 3, and is
described as followed:
Development and Accommondation of Cloud Computing
Fig. 3.
as an end-user you neither have to worry about managing those
resources nor do you generally worry about accessing them,
rather than tapping into these resources in some standardized
means.
However, the breakthrough of this model occurred today,
because at that time several technical preconditions were
not available or fully adapted. Among these conditions were
maintaining extremely flexible and efficient dynamic IT infrastructure with complete cost control, cost allocation and active
Service-Level-Agreement (SLA) management.
The often compared concept of grid computing, which arise
in the mid-90ies, also could not reach the achievement of cloud
computing. Though, foremost the establishment of virtualization and the capability to run any software or operating system
on raw hardware enabled the popularity and success around
cloud computing.
B. Grid computing
Grid computing is a coordinated form of distributed computing whereby a virtual super computer is composed from
a cluster of networked, loosely coupled computers, acting in
collaboration to perform very large tasks (mostly a single
problem at the same time). The idea started with a vision of
making computing resources sharable and broadly accessible,
ultimately providing a form of utility computing as described
above. Grid developed from a huge computing research focus,
which has been heavily backed by access to large computing
clusters. Most of the grid related projects are those doing
deep research with cluster aware programs, developed with
a willingness to use a grid-aware library such as the Globus
Toolkit [10]. This middleware facilitate computation as well as
data intensive applications that typically require high levels of
inter-machine communication. These toolkits and applications
provide the ability to locate services within the grid, sustain
communication between processes, simplify the ability to
Difference between Cloud and Grid Computing [18]
Cloud Computing: Typical configuration when consumers visit an application served by the central ’cloud’, which
is housed in one or more data centers. Green symbolizes
resource consumption by many end-users (tasks), and yellow
resource provision (data center), which is hidden behind the
central ’cloud’. The role of the coordinator for resource
provision is designated by red, and is centrally controlled.
Grid Computing: Typical configuration in which
resource provision is managed by a group of distributed
nodes. Green symbolizes resource consumption (end-users),
which is usually only one batch-oriented task, and yellow
resource provision (servers), which are distributed over the
network. The role of the coordinator for resource provision is
designated by red, and is centrally controlled (middelware).
We can say that the focus of grid computing is on using
multiple distributed but collaborative resources to run single
batch-oriented jobs, when cloud computing provides dynamic
and virtualized resources that are centrally organized in the
’cloud’, for multiple users.
C. Virtualization
Virtualization defines the abstraction of logical systems
from their physical implementation. The simulation of IT
resources provides the opportunity to run distributed systems
on one physical machine, so processes can be accomplished
parallel as well as use shared resources without knowing each
other. This conjunction of hardware and software simplifies the
IT infrastructure and especially its maintenance. Advantages
of virtualization are standardizing and automation of processes
like deployment of patches or security updates, monitoring,
166
CLOUD COMPUTING
backup and prioritization of resources. Furthermore, virtualization offers applications to be independent of the underlying
hardware.
The goal of virtualization is to reduce running costs for
the physical systems and its administration plus increasing
the capacity utilization of the resources. Usually servers are
10 to 15% busy, so the initial costs acquiring them, moreover
the running costs for electricity and cooling are wasted
[3]. By deploying multiple virtual servers on one physical
machines you get different benefits. Not only the aspect of
saving space in the data center, also the increase of reliability,
energy-saving and server-utilization are huge advantages of
virtualization. With all its features virtualization characterize
a huge enabler for the rise of cloud computing and provided
the agility as well as flexibility to deploy on-demand any
machine instance needed.
Large broadband connection took also a big role in cloud
computing becoming a lead technology where data, software
applications and computing power accessed from the ’cloud
of online resources’ without worrying about maintenance or
support. The accomplishment of cloud computing arise for
individuals to access the data or use the application from
anywhere, any time and any device as well as for organizations
to reduce capital costs by purchasing software and hardware
as a utility service.
Although, it is quite difficult at this point to give a
broad definition of cloud computing, Rehof Jacob, director of
Frauenhofer ISST, summarizes the objectives as follows [12]:
• In cloud computing the service providers focus the model
of on-demand services.
• Software vendors understand by this concept especially
the hosting of business applications, mostly in cooperation with the service providers.
• Provider of virtualization solutions interpret the cloud as
a virtualization software, which also contains dynamic
cluster computing.
• The users interpret the term very flexible, depending on
the challenge and approach.
III. C LOUD C OMPUTING - A RCHITECTURE AND
C ONCEPTS
This section distinguishes the kind of systems where
’clouds’ are being used and characterizes the actors involved
in this domain. Due to the fact that the concept of cloud
computing is driven by many market participants and the
individual protagonists emphasized different priorities, we will
point out the key architecture. As shown in the lower part of
Figure 2, there are three different abstraction levels in cloud
computing aimed at different market segments.
requires (CPU, RAM, Disk-Space, Bandwidth). These
instances (virtual machines) behave like dedicated servers
and are controlled by the developer (customer). By splitting,
assigning and dynamically resizing the resources, the vendor
is able to build ad-hoc systems as demanded by customers.
IaaS providers like Amazon EC21 or Rackspace-Cloud2 offer
user-defined disk images and software stacks to run on their
hardware. A non-proprietary example for IaaS is the open
source system Eucalyptus [19].
Platform as a Service (PaaS): Instead of supplying a
virtualized infrastructure, one layer of abstraction above, this
cloud service offers the software platform where developers
(customers) can build their own application that run on the
providers infrastructure. Providing an easy to use API which
can be used by developers, not concerning with matters
of allocation or other technical details. An example for
PaaS is Google’s App Engine3 or Microsoft Azur4 . Some
further services similar to this field are Storage-as-a-Service
(like Amazon S35 , Rackspace Cloudfiles6 ) or Database-as-aService (like Microsoft SQLAzur7 or Amazon SimpleDB8 ).
Software as a Service (SaaS): At the end-user facing
level are the most popular examples of cloud computing. This
type of cloud computing delivers a single application through
the browser to thousands of customers using a versatile
architecture. With web-based applications like Google Mail,
Calendar or Docs9 the vendor offers specific services,
resources or storage. On the customer side, it means no
upfront investment in servers, software licensing or software
implementation; on the provider side, with ’just one app’ to
maintain, costs are low compared to conventional hosting.
Another provider of this service is Salesforce.com10 with a
huge portfolio of applications.
Looking at Figure 4 we now can visualize the roles of
the various actors in the cloud environment. Besides the
vendor providing a particular service, the developers utilize
the resources to build applications or services for the end-user.
Indeed, actors can take on multiple roles, with vendors also
developing services for the end-user, or developers utilizing
the services of others to build their own services.
B. Key Aspects and Concepts
At this point we will gather most of the available cloud
characterizations to get an integrative definition as a minimum
common denominator. Taking the comments of a variety of
experts from table I into account, we can provide a list of key
aspects of cloud computing:
1 http://aws.amazon.com/de/ec2/
2 http://www.rackspacecloud.com/
3 http://code.google.com/intl/de-DE/appengine/
A. Key Architecture
Infrastructure as a Service (IaaS): At the bottom layer
of cloud computing service/infrastructure providers offer
their large set of computing resources, such as storing and
processing capacity. Through virtualization the vendor can
provide all different sets of machine instances the customer
167
4 http://www.microsoft.com/windowsazure/products/
5 http://aws.amazon.com/de/s3/
6 http://www.rackspacecloud.com/
7 http://www.microsoft.com/windowsazure/products/sqlazur
8 http://aws.amazon.com/de/simpledb
9 http://www.google.com/intl/de/options/
10 http://www.salesforce.com/
CLOUD COMPUTING
Fig. 4.
TABLE I
C LOUD DEFINITIONS BY E XPERTS
Actors in Cloud Computing [18]
Author
J. Cross
K. Marks
D. Farber
M. Fox
S. Gillmor
Easy to use: Do not care what’s in the cloud and do not
worry about maintenance.
• User friendly: Do not get distressed with the underlying
infrastructure, just use the services provided.
• Agile: Rapid and inexpensively scale up/down recourses
to avoid peaks or idle time.
• Flexible: Choose the specification what instances and
computing power is required on-demand.
• Pay-as-you-go: Only pay the services you actually use
and do not bother to license software.
• Risk: Reduce capital costs by purchasing software or
hardware as a utility service.
• Instance availability: Dynamic increase/decrease services
nearly in real-time.
• Independent: Enable users to access the services from any
device and any location.
• Reliable: Use multiple redundant sites with huge infrastructure services to improve reliability.
11
• SLA : Get the service you signed on.
This leads to an encompassing definition of the cloud: Clouds
are a large pool of easily usable and accessible virtualized
resources (such as hardware, development platforms and/or
services). These resources can be dynamically reconfigured to
adjust to a variable load (scale) and are exploited by a payper-use model.
•
S. Lawrence
G. Gruman
M. Klems
B. Martin
I. W. Berger
J. Kaplan
K. Hartig
K. Sheynkman
IV. C LOUD C OMPUTING - P ROVIDER
There are a lot of cloud computing providers out there [9]
offering different cloud services. To give an insight on the
discussed segments we enlist a few popular vendors and their
general portfolio.
Amazon Web Services – IaaS: AWS is a comprehensive
cloud services platform, offering computer power, storage,
content delivery and other functionality. Some of the major
services provided are:
• Amazon EC2 (Elastic Compute Cloud) is a web service
that provides resizable compute capacity in the cloud.
It offers different sets of virtual machines, operating
systems and software stacks.
11 Service
T. Doerksen
Level Agreement
168
R. Buyya
R. Cohen
R. Bragg
Definition
I don’t care what’s up there, as long as it works. I have
get a way to plug in to a huge network of recourses and
don’t have to mass with the stuff in the middle. [4]
The idea of cloud computing comes from the days when
we draw the network as a cloud and didn’t care where the
mass went, the cloud hides for us. [4]
Use the Cloud to store a lot of data, applications and other
things. In the future everything will move to the cloud
and providing data or applications will be like serving
electricity. [4]
... all activitiy you want to do should take place on a remote
server and you need only a network connection. [4]
... startups beeing able to implement ideas at a very early
stage without the concern of scaling up. [4]
Cloud computing is ... the user-friendly version of Grid
computing... [11]
Cloud Computing is a bit like liquid paper - it covers
up mistakes. If you want to get something up running,
you don’t have to worry about installing software or
infrastructure... [4]
Cloud computing comes into focus only when you think
about what IT always needs: a way to increase capacity
or add capabilities on the fly without investing in new
infrastructure, training new personnel, or licensing new
software. Cloud computing encompasses any subscriptionbased or pay-per-use service that, in real time over the
Internet, extends IT’s existing capabilities. [13]
...you can scale your infrastructure on demand within
minutes or even seconds, instead of days or weeks,
thereby avoiding under-utilization (idle servers) and overutilization of in-house resources... [11]
Cloud computing encompasses any subscription-based or
pay-per-use service that, in real time over the Internet,
extends IT’s existing capabilities. [11]
...the key thing we want to virtualize or hide from the user is
complexity... all that software will be virtualized or hidden
from us and taken care of by systems and/or professionals
that are somewhere else - out there in the Cloud... [11]
...a broad array of web-based services aimed at al lowing
users to obtain a wide range of functional capabilities on
a pay-as-you-go basis that previously required tremendous
hardware/software investments and professional skills to
acquire. Cloud computing is the realization of the earlier
ideals of utility computing without the technical complexities or complicated deployment worries... [11]
...really is accessing resources and services needed to
perform functions with dynamically changing needs... is
a virtualization of resources that maintains and manages
itself. [11]
Clouds focused on making the hardware layer consumable
as on-demand compute and storage capacity. This is an
important first step, but do companies to harness the power
of the Cloud, complete application infrastructure needs
to be easily configured, deployed, dynamically-scaled and
managed in these virtualized hardware environments. [11]
A Cloud is a type of parallel and distributed system
consisting of a collection of interconnected and virtualized
computers that are dynamically provisioned and presented
as one unified computing resources based on service-levelagreements established through negotiation between the
service provider and consumers. [8]
Cloud computing is one of those catch all buzz words
(like Web 2.0) that tries to encompass a variety of aspects
ranging from deployment, load balancing, provisioning,
business model and architecture. It’s the next logical step
in software. For me the simplest explanation for Cloud
Computing is describing it as internet cetric software. [11]
The key concept behind the Cloud is web application... a
more developed and reliable Cloud. Many finds it’s now
cheaper to migrate to the web cloud than invest in their
own server farm... it is a desktop for people without a
computer... [5]
CLOUD COMPUTING
•
•
Amazon S3 (Simple Storage Service) provides a simple
web service interface that can be used to store and retrieve
data, any time and anywhere on the web.
Amazon Simple DB provides core database functions of
data indexing and querying in the cloud.
Google App Engine – PaaS: Google App Engine is
a platform for developing and hosting web applications on
Google’s infrastructure. App Engine requires developers to use
only its supported languages, APIs and frameworks. Currently,
the supported programming languages are Java and Python.
App Engine costs nothing to get started. All applications
can use up to 1 GB of storage and enough CPU and
bandwidth to support an efficient app serving around 20
million page views a month, absolutely free. By enabling the
billing option for the application, the free limits are raised,
and you only have to pay for resources used above the free
levels.
Microsoft Azur – PaaS: The Windows Azure platform is
a set of cloud computing services that can be used together or
independently that enable:
• Windows Azure, providing a scalable environment with
compute, storage, hosting, and management capabilities.
• SQL Azure, a Relational Database for the cloud.
• AppFabric helps developers connect applications and
services in the cloud or on-premises. This includes
applications running on Windows Azure, Windows
Server and a number of other platforms including Java,
Ruby, PHP and others.
Salseforce – SaaS, PaaS: Salesforce (Force.com) offers
a software as a service platform for building and deploying
applications on a subscription basis. These applications
are build using Apex (a proprietary Java-like programming
language for the Force.com platform) and Visualforce (an
XML-like syntax for building user interfaces in HTML,
AJAX or Flex).
Open Source Provider:
Euculyptus: This acronym for Elastic Utility Computing
Architecture Linking Your Programs To Useful Systems, is an
open-source software infrastructure for implementing ’cloud
computing’ on own indrastructure. The current interface
to Eucalyptus is compatible with Amazon’s EC2 and S3
interfaces, but the infrastructure is designed to support
multiple client-side interfaces. Eucalyptus is implemented
using commonly available Linux tools and basic Web-service
technologies making it easy to install and maintain.
V. C LOUD C OMPUTING BASED ON P 2 P AND GRID
In the final section we will provide examples how to achieve
a ’cloud’ with an underlying peer-to-peer/grid structure.
Peer-to-peer: Commonly abbreviated to P2P, is any distributed network architecture composed of participants that
make a portion of their resources (such as processing power,
disk storage or network bandwidth) directly available to other
network participants, without the need for central coordination
instances (such as servers or stable hosts) [23]. Peers are
both suppliers and consumers of resources, in contrast to the
traditional client-server model where only servers supply, and
clients consume.
Taking these considerations as well as the discussed in
Section II into account, we will now show two different
concepts to combine P2P, grid and cloud computing concepts.
To understand the need of P2P based the cloud concept, we
will have to look at the requirements and motivations first.
A. Motivation of using P2P/Grid
The increasing demand of large scale instances, intensive
data/computation and the support of high performance computing infrastructures requires huge costs to recruit external
resources to address ’resource insufficiency’ during peak periods. On the other hand, during off-peak periods, it cannot
provide services to others to make full advantage of the
investment.
Therefore, resource scalability is becoming a critical problem for current workflow systems. Here, cloud computing can
provide scalable resources on demand to system requirements.
Besides scalable resources, another principal issue for large
scale workflow applications is decentralized management. In
order to achieve successful execution, effective coordination
of system participants is required for many management tasks
such as resource management (load management, workflow
scheduling), QoS (Quality of Service) management, data management, security management and others [16].
One of the conventional ways to solve the coordination
problem is centralised management where coordination services are set up on a centralized machine. All the communications such as data and control messages are transmitted
only between the central node and other resource nodes but
not among them. However, centralized management depends
heavily on the central node and thus can easily result in a
performance bottleneck. Some others common disadvantages
also include: single point of failure, lack of scalability and
the advanced computation power required for the coordination
services [16].
To overcome the problems of centralized management, the
typical decentralized architecture of peer-to-peer comes into
account. Though, without any centralised coordination, pure
P2P (unstructured decentralized) where all the peer nodes are
communicating with each other through complete broadcasting
suffers from low efficiency and high network load. Evidently,
neither centralized nor unstructured decentralized management
is suitable for managing large scale workflow applications
since massive communication and coordination services are
required. Therefore, in practice, structured P2P architecture
is often applied where a super node acts as the coordinator
peer for a group of peers. Through those super nodes which
maintain all the necessary information about the neighboring
nodes, workflow management tasks can be effectively executed
where data and control messages are transmitted in a limited
broadcasting manner [16].
169
CLOUD COMPUTING
B. P2P/Grid Based Cloud Workflow System
Based on the analysis above, it is evident that cloud computing is a promising solution to address the requirement of
scalable resources, and structured decentralized architecture
such as structured P2P is an effective solution to address
the requirement of decentralized management. Therefore, in
this chapter we present SwinDeW-C (Swinburne Decentralized
Workflow for Cloud) [16], a peer to peer based cloud workflow
system for managing large scale workflow applications.
Workflow systems are designed to support the process
automation of large scale business and scientific applications
like insurance claims or to search for pulsars, from the
scientific application area. Generally they are deployed on
high performance computing infrastructures such as clusters,
cloud and grid computing. SwinDeW-C is also based on
an existing SwinDeW-Grid [25] (a peer-to-peer based grid
workflow system – see Figure 5).
a) SwinDeW-G: contains many grid nodes distributed
in different places. Each grid node contains many computers
including high performance PCs and/or supercomputers composed of significant numbers of computing units. In SwinDeWG, a scientific workflow is executed by different peers that may
be distributed at different grid nodes. As shown in Figure 5,
each grid node can have a number of peers, and each peer can
be simply viewed as a grid service. The top plane of Figure 5
shows a sample of how a scientific workflow can be executed
in the grid computing environment.
Fig. 5.
SwinDeW-G Evironment
b) SwinDeW-C: is built on a cloud computing infrastructure called SwinCloud [16]. In SwinDeW-C a peer is deployed
on a virtual machine (Platform Layer in Figure 6), which can
scale the computing power dynamically according to the tasks
requested.
The architecture of SwinDeW-C is depicted in Figure 6
and includes the general cloud architecture layers from top
to bottom: application layer (user applications), platform
layer (middleware cloud services to facilitate the development/deployment of user applications), unified resource layer
(abstracted/encapsulated resources by virtualisation) and fabric
layer (physical hardware resources).
The focus on the system architecture are the cloud management services like pricing (pay-per-use) and virtual machine
Fig. 6.
Architecture of SwinDeW-C
management (scalability). Furthermore, the usability improved
by accessing SwinDeW-C via a web portal with any device
from anywhere in the world. Compared with SwinDeW-G
which can only be accessed through a SwinDeW-G peer with
pre-installed software.
C. Cloud Computing Platform Based on P2P
In this subsection, we propose a peer-to-peer file system,
Peeraid [24], to tackle storage and data management problems
of open cloud systems. Based on distributed hash table,
Peeraid is fully decentralized to guarantee scalability and avoid
single point of failure.
As discussed before, cloud computing platforms are a set of
scaleable large-scale data server clusters, providing computing
and storage services to customers. Usually the architecture of
current cloud computing system are central structured, thus
all data nodes must be indexed by a master server which may
become a bottleneck of the system.
To resolve this problem Peeraid proposes a cloud computing
architecture based on P2P which provides a pure distributed
data storage environment without any central entity . The cloud
based on the proposed architecture shown in Figure 7, is selforganized and self-managed and shall have a better scalability
and fault tolerance. The distributed P2P network indexed by
DHT arithmetic such as Chord [20] or Pastry [21].
The key components in this system are the gateway and the
chunk server that are defined as follows:
Gateway: the entity which can transfer the request or
response between the client application with the network and
can lead the request to the nearest node in the network.
Chunk Server: the entity which is served as the data resource
node and P2P node. It has three function modules with
separated interfaces. As shown in the figure above: Index
Module, takes charge of part of the global resource index
which is assigned by DHT arithmetic. Route Module, passes
a lookup request by a next hop routing table which is also
assigned by DHT. Data Module, provides the data resource
stored in the local machine.
170
CLOUD COMPUTING
Fig. 7.
Cloud Storage Architecture Based on P2P
VI. C ONCLUSION
In this paper, we proposed a detailed ontology for the cloud
in an attempt to establish the knowledge domain of the area
of cloud computing and its relevant components. As shown,
the IT trends like virtualization, cluster or grid computing
and the vision of XaaS (everything as a service) led to the
nowadays known term of cloud computing. But, with the
maturity of IT technologies and the expansion of the business
concepts in this area like Google Chrome OS (a cloud based
operating system) [1] or Google Cloud Print [2], it will be
a changing characterization. What can we learn from this is,
that cloud computing does not only offer a way to a less
carrying IT. It is still a complex resource, which requires
knowledge and hard work in order to use it profitably [14].
R EFERENCES
[1] “Google
chrome
os,”
Google
Inc,
Tech.
Rep.,
2009. [Online]. Available: http://googleblog.blogspot.com/2009/07/
introducing-google-chrome-os.html VI
[2] “Google cloud print,” Google Inc, Tech. Rep., 2010.
[Online]. Available: http://code.google.com/intl/de-DE/apis/cloudprint/
docs/overview.html VI
[3] BITCOM, “Cloud computing - evolution in der technik, revolution
im business,” BITKOM, Tech. Rep., 2009. [Online]. Available:
http://www.bitkom.org/61123_61119.aspx II-C
[4] R. Boothby, “What is cloud computing,” Joyent, Tech. Rep., 2009.
[Online]. Available: http://www.youtube.com/watch?v=6PNuQHUiV3Q
I
[5] R. Bragg, “Cloud computing: When computers really rule,” Tech
News World, Tech. Rep., 2008. [Online]. Available: http://www.
technewsworld.com/story/63954.html I
[6] R. Buest, “Cloud architektur,” ClourUser Expert, Tech. Rep., 2010.
[Online]. Available: http://clouduser.org/2009/10/31/cloud-architektur 1
[7] ——, “Was ist utility computing,” ClourUser Expert, Tech.
Rep., 2010. [Online]. Available: http://clouduser.org/2010/03/14/
was-ist-utility-computing I
[8] R. Buyya, C. S. Yeo, and S. Venugopal, “Market-oriented cloud
computing: Vision, hype, and reality for delivering it services as
computing utilities,” CoRR, Tech. Rep., 2008. [Online]. Available:
http://www.spectrum.ieee.org/aug08/6490 I
[9] Cloude Slam’10. [Online]. Available: http://www.cloudslam10.com IV
[10] I. Foster, “The globus toolkit for grid computing,” in CCGRID ’01:
Proceedings of the 1st International Symposium on Cluster Computing
and the Grid. Washington, DC, USA: IEEE Computer Society, 2001,
p. 2. II-B
[11] J. Geelan, “Twenty-one experts define cloud computing,” Virtualization
Journal, Tech. Rep., 2009. [Online]. Available: http://virtualization.
sys-con.com/node/612375 I
[12] W. Grohmann, “Cloud, iaas, paas, saas, xaas, s+s - was ist
das?” Computerwoche, Tech. Rep., 2010. [Online]. Available: http:
//www.computerwoche.de/mittelstand/1933248/index2.html II-C
[13] G. Gruman and E. Knorr, “What cloud computing really means,”
InfoWorld, Tech. Rep., 2010. [Online]. Available: http://www.infoworld.
com/article/08/04/07/15FE-cloud-computing-reality1.html I
[14] W. Herrmann, “Neun mythen um cloud computing,” Computerwoche,
Tech. Rep., 2009. [Online]. Available: http://www.computerwoche.de/
hardware/data-center-server/1898918/index11.html VI
[15] G. Huizenga, “Cloud computing: Coming out of the fog,” 2008. II-A,
II-B
[16] X. Liu, D. Yuan, G. Zhang, J. Chen, and Y. Yang, “Swindew-c: A peerto-peer based cloud workflow system,” 2009. V-A, V-B, V-B0b
[17] J. Maguire, “Cloud computing: The ever expanding buzzword,” 2009.
[Online]. Available: http://itmanagement.earthweb.com/entdev/article.
php/3791456/Cloud-Computing-The-Ever-Expanding-Buzzword.htm I
[18] A. Marinos and G. Briscoe, “Community cloud computing,” in CloudCom ’09: Proceedings of the 1st International Conference on Cloud
Computing, 2009, pp. 472–484. 3, 4
[19] D. Nurmi, R. Wolski, C. Grzegorczyk, G. Obertelli, S. Soman, L. Youseff, and D. Zagorodnov, “The eucalyptus open-source cloud-computing
system,” in CCGRID ’09: Proceedings of the 2009 9th IEEE/ACM
International Symposium on Cluster Computing and the Grid, 2009,
pp. 124–131. III-A
[20] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker, “A
scalable content-addressable network,” in SIGCOMM ’01: Proceedings
of the 2001 conference on Applications, technologies, architectures, and
protocols for computer communications, 2001, pp. 161–172. V-C
[21] A. I. T. Rowstron and P. Druschel, “Pastry: Scalable, decentralized
object location, and routing for large-scale peer-to-peer systems,” in
Middleware ’01: Proceedings of the IFIP/ACM International Conference
on Distributed Systems Platforms Heidelberg. London, UK: SpringerVerlag, 2001, pp. 329–350. V-C
[22] M. Schmidt, N. Fallenbeck, M. Smith, and B. Freisleben, “Secure
service-oriented grid computing with public virtual worker nodes,” in
SEAA ’09: Proceedings of the 2009 35th Euromicro Conference on
Software Engineering and Advanced Applications, 2009, pp. 555–562.
II-B
[23] R. Schollmeier, “A definition of peer-to-peer networking for the classification of peer-to-peer architectures and applications,” in P2P ’01:
Proceedings of the First International Conference on Peer-to-Peer
Computing. Washington, DC, USA: IEEE Computer Society, 2001,
p. 101. V
[24] K. Xu, M. Song, X. Zhang, and J. Song, “A cloud computing platform
based on p2p,” Beijing University of Posts and Telecommunications,
2009. V-C
[25] Y. Yang, K. Liu, J. Chen, J. Lignier, and H. Jin, “Peer-to-peer based
grid workflow runtime environment of swindew-g,” in E-SCIENCE ’07:
Proceedings of the Third IEEE International Conference on e-Science
and Grid Computing, 2007, pp. 51–58. V-B
171
THE IMPACT OF NETWORK PROPERTIES ON MULTIPLAYER GAMES
The Impact of Network Properties on Multiplayer
Games
Dimitri Wulffert
Abstract—Online multiplayer games are very sensitive to
internet common problems like latency and packet loss. In order
to set up an efficient network and provide better service in
multiplayer games, it is necessary to investigate which games are
affected by network properties and in which degree. This paper
shows relevant studies on several kinds of games and summarises
the impact of network properties on different type of games as
well as on the end user experience.
I. I NTRODUCTION
Online multiplayer games are very popular among gamers,
in most of the cases the multiplayer component is preferred
because the opponent is a human. The reason behind this
preference is that human players find more challenging and
rewarding to play against a human player than a computer bot.
Because of this reason many companies include in their games
a sophisticated multiplayer component, so that gamers can
enjoy a longer replay value from the game. This multiplayer
experience is affected by multiple factors:
• How many people play the game.
• How good or bad play the other players.
• How fun is the game, playing with others.
• How strong is the network and the stability of the game.
This paper concentrates on the last point: on how the
network properties affect the gameplay and the players’ performance. The investigation focuses on several kinds of games:
First person shooter (FPS), Real time strategy (RTS), Sports,
Racing and tests how they are affected to different properties
on the network.
The information provided in this paper can be useful to
users, game developers and networks developers. For users
to have a general idea on how the properties of the network
affect the game experience depending on the game type. For
game developers to see how the latency range affects different
kinds of games; and for network developers to ensure quality
of service by building a more adequate network for gaming
[2].
This paper is organized as follows: section 2 shows the
approach used in this investigation in order to measure the
effects of latency and packet loss. Section 3 explains for each
kind of game, how latency and packet loss affect the game’s
and players’ performance. Section 4 shows the conclusions
and future work.
This includes studies from First Person Shooter [2], Real Time
Strategy [1], Racing [5] [4] and Sport games [3].
To measure the players’ performance, it is important to take
into account that the skills of the player influence the results
of the tests. For this reason, in this investigation players are
classified in three groups:
• Pro gamer: Player with very good playing skills.
• Average gamer: Player with average playing skills.
• Inexperience gamer: Player with no experience in playing
games.
Not all tests include this player classification. In case the
test does not include this separation, this investigation assumes
average gamers.
III. I NVESTIGATION
Online Multiplayer games are affected by the settings of the
network: if the speed of the network is slow, the result will be
a high latency. On the other hand if the network is congested,
it is possible to encounter packet loss. These two problems are
the most common when players play online multiplayer games
and affect the game experience, making it either annoying
or frustrating. Before going to the next section, let’s see the
definition of latency and packet loss.
Latency
Latency is the time measured, in which transmitted messages from station A reach station B. If the latency is higher,
messages between A and B will take longer to reach their
destination.
Packet loss
Packet loss, as its name suggests, occurs when one or more
transmitted packets fails to reach their destination. This failure
might be caused by several factors, e.g. due to collision in the
network. As a consequence the information can be lost or
corrupted.
These two problems react differently depending on which
kind of game is currently being played. This means that there
are games more resistant to latency or packet loss than other
kind of games. In order to measure which actions are more or
less affected by latency and packet loss, the classification of
the next terms is required [2]: precision and deadline.
II. A PPROACH
In order to test the effect of network properties on different
kinds of games, the use of experiments and tests made from
other studies was required (for each respective type of game).
Precision
Precision [2] actions determine how accurate the player
must be in order to execute his/her action.
172
THE IMPACT OF NETWORK PROPERTIES ON MULTIPLAYER GAMES
Simple Movement
Complex Movement
For the simple movement test, two players start running in
the same direction from the same start point. The objective
is to see how the two players perform when the network is
manipulated to increase the delay. Results have shown that no
matter how high the delay and packet loss were, the speed
and the time of both players were the same. This outcome is
explained [6] by the fact, that the players’ locations require
minimal iteration from the server and because UT2003 uses
client-side prediction for latency and packet loss compensation.
For the complex movement test, a special track with multiple obstacles was made. Players try to reach the finish line
in the shortest time possible. As shown in Fig. 2 and 3 [6],
the players’ performance during complex movement was not
significantly affected neither by latency smaller than 400ms
nor by a packet loss.
•
•
Fig. 1.
Precision vs. Deadline [2]
For instance, in FPS games, the precision actions are based
on the snipers counted, here the level of precision required
to fire the weapon successfully is relatively high, so in this
case a delay (or a faulty synchronization due to loss packets)
could be fatal for the gamer. Therefore these kind of precision
actions are highly affected by delay and packet loss.
Fig. 2.
Movement performance vs latecy in FPS [6]
Deadline
Deadline [2] is the time required for an action to be
executed. If the action is really important and must be done
at once, like e.g. firing a sniper rifle in a FPS game, it has a
very short deadline. There are longer deadlines, e.g. in RTS
games, where the player tells its army to move, this could take
500 ms and it will not affect neither the performance nor the
actual game experience.
In Fig. 1 the relation between Precision and Deadline is
displayed.
Taking as basis the previous concepts and definitions, this
investigation shows how different kind of games are affected
by packet loss and delay:
A. First person shooters
First person shooters games are known for its first person
view, in other words the player can see what the avatar sees in
a first person perspective. The player has also control of the
movement and view of the avatar and in many games it is able
to shoot targets and also to interact with its environment. For
this kind of game, players are required to have good reflexes,
precision and timing in order to meet their target. With so
many different types of FPS games, with different types of
weapons, characters, objectives, etc, there are two concepts
that are common in each FPS games: movement and shooting.
Movement in FPS
Actions like moving and jumping are affected by delays,
but the question is: how long must be the delay in order to
affect the performance of the player? For this question, several
tests were made by [6] in Unreal Tournament 2003, in which
movement was divided in two different actions:
Shooting in FPS
In FPS there are many different types of weapons; these
weapons can be categorized in two classes [6]:
• Precision weapons (Sniper rifle)
• Normal weapons (Machine guns, Uzis, etc)
Depending on the weapon used by the player, latency may
affect the gameplay in a different way. For example, if the
player has a sniper rifle, the grade of precision required to
shoot successfully implies almost perfect timing. Therefore
this kind of weapon has a very short deadline and needs high
precision as shown in Fig. 1, i.e. in FPS games, these weapons
are the most affected by latency and delay.
On the other hand, normal weapons require lower exactness
than precision weapons but still their deadline is the same as
for precision weapons as shown in Fig. 1. But because the
required precision is lower, they are more resistant to latency
and delay.
The player’s performance under various degrees of latency
and packet loss is shown in Fig 4. and 5. As displayed in
the figures, players’ performance under 50 ms latency is not
altered significantly, but as soon as the latency exceeds 50
ms of latency, the players’ performance deteriorates, in this
example from 41 kills to 30 kills, an approximate 20 percent
of performance loss, also the number of deaths for this player
173
THE IMPACT OF NETWORK PROPERTIES ON MULTIPLAYER GAMES
Fig. 3.
Movement performance vs packet loss in FPS [6]
Fig. 4.
Shooting performance vs latecy in FPS [6]
Fig. 5.
Shooting performance vs packet loss in FPS [6]
TABLE I
R EQUIRED EXPLORING TIME UNDER DIFFERENT LATENCY [1]
Latency
Warcraft III
Age of Mythology
CCG
0-500 ms
250-285 s
305-315 s
317-315 s
500-1000 ms
285-305 s
315-320 s
315-314 s
Exploring
increases with higher latency, from 10 to 15 deaths, also a 50
percent of performance degradation.
In terms of packet loss, players performed better with more
packet loss, than with higher latency. As it is displayed in Fig.
5, kill rate stays almost intact and death rate is not affected
significantly.
In conclusion, FPS games are best played under 50 ms
latency without altering the player performance due network
problems. Another important point is that higher latency
affects more the gameplay of FPS than packet loss.
For this test, the time during which the player explores
all maps is measured. The test was repeated under different
latencies as displayed in Table I. As shown in Table I, for
latency between 0-500 ms, the time difference for CCG and
Age of Mythology was lower than 10s whereas for Warcraft
III it was 35s. For a latency range between 500 and 1000 ms,
the same first two games mentioned above increased the time
difference in 5s while the increase for Warcraft III was of
20s. This means that in Warcraft III every 100 ms of latency,
increased in 6s the exploring time; this time difference is
insignificant for a RTS game. The other two games have shown
that even less time change over higher latency. In conclusion,
exploring with higher latency does not affect significantly the
players’ performance.
Building
B. Real time strategy
RTS games are known for their Omnipresent perspective,
this means players can see the field from a very high position.
They are also known for giving the possibility to control
several objects at the same time. In order to test RTS games
a special classification was made by Marc Claypool [1], this
classification splits the game in three parts:
• Exploring, time during which the player explores her/his
surroundings.
• Building, time during which the player creates buildings,
researches and builds up her/his army.
• Combat, part of the game in which two or more armies
fight for supremacy.
The tests were based on three different games: Warcraft
III, Age of Mythology and Command and Conquer Generals
(CCG), and special maps were created to test the players’
performance under different latency situations. For these tests
the latency was in a range between 0 ms and 3000 ms, but
most of the test were focused on a maximal latency of 1000
ms.
Building tests had similar results as the exploring tests.
In this test time was also measured after certain amount of
buildings and research was made. Table II shows that under
higher latency, the required building time was shorter [1] at
least in Age of Mythology and CCG, and in the case of
Warcraft III there is a delay of 0.6 seconds per 100 ms of
latency, which is insignificant in RTS games. In conclusion,
these three games are not affected by latency in the building
phase.
Combat
Combat in RTS depends considerably on the game being
played, for instance if the micro management (control of
single units or small groups in the game) in the game is very
important, then the game will be more susceptible to latency.
For the test, each player has an army with a determinate
number of health points (Health points for Warcraft III and
Age of Mythology, number of units in Command and Conquer
Generals), these two armies combat through different latency
174
THE IMPACT OF NETWORK PROPERTIES ON MULTIPLAYER GAMES
TABLE II
R EQUIRED BUILDING TIME UNDER DIFFERENT LATENCY [1]
Latency
Warcraft III
Age of Mythology
CCG
0-1000 ms
502-508 s
480-465 s
520-502 s
0 to 500 ms
-500 to -400
190 to 220
15 to 14
Collision delay [4]
Fig. 7.
Racing performance vs latecy [4]
1000-2000 ms
508-512 s
465-450 s
502-498 s
TABLE III
C OMBAT PERFORMANCE UNDER DIFFERENT LATENCY [1]
Unit score difference
Warcraft III
Age of Mythology
CCG
Fig. 6.
500 to 1000 ms
-400 to -200
220 to 380
14 to 13
and the difference of health points tells how good the player
performed.
Table III shows how players’ performed after combating
each other with different of latency. Players with a latency
between 500 and 1000 ms lost one or two units more than
under latency between 0 and 500 ms. For this reason, latency
has little influence in the outcome of the battle.
After looking all three phases, i.e exploring, building and
combat in RTS games, it is observed that latency has little effect on the players’ performance. This conclusion is explained
by the fact that the strategy factor a player has to display in
order to win the game is essential compared to the reaction
time of the player in a real time game, in other words good
strategy surpasses good reaction in RTS.
C. Racing games
In racing games, players have control over a vehicle ( e.g. a
car, a spaceship, a submarine, etc. ). In most of these games,
players have to run a circuit in the shortest time possible. There
are many types of variations of racing games, e.g. simulation
racing like Forza 3 or an arcade racing game like Burnout
Paradise. Racing games can be separated into racing games
without and with collisions.
Without collision
Games without collision are common (e.g. Trackmania). In
this kind of game the players’ performance is not affected even
under high delays (only if the game does not synchronize the
position of other players). This is because the interaction with
the other players is minimal and there are often played in
single player mode, with the difference that the player can
compare its score with other players.
With collision
In comparison to the games without collisions, a game
with collisions and with a system that synchronizes the game
frequently, is more exposed to latency and packet loss. The
reason behind this, is that the game tries to keep the same
state on all clients. So if any of the clients lags, the other
clients will also be affected.
In order to test this point, several tests were made by Lothar
Pantel and Lars C. Wolf [4]. The first tests were based on
two games: Need for Speed and Re volt, here 5 different
types of test were made. In the first four kinds of test, the
objective was to test how well the games were synchronized,
when playing with two players. For these tests, the following
problems occurred:
• In both monitors, both players are shown to be in the first
place.
• In most of the cases, at the start of the race, the server
has the first place (even when both cars are the same, and
one person is pushing forward in both computers at the
same time)
• If a collision occurs on players’ B screen as shown in
Fig 6. , two possible situations can happen: either the
collision happens also on Screen A with player A asking
himself how did it occur; or in Screen B the collision is
not displayed anymore, showing an incongruence in the
gameplay. In both cases, one of the players receive an
unexpected behaviour of the game.
Fig. 7 shows how latency affects racing games. Here three
different players with different skills, play a game called RCCar Simulation. Gamers are exposed to different levels of
latency and their best times for each lap are recorded. Fig.
7 shows, that with more than 50 ms of latency, all players’
performance started to deteriorate. But this degradation is not
the same on each player. Depending on how skilled the player
is, the performance’s deterioration was altered differently due
to high latency. Players also stated that when the game had a
latency of 50ms, the delay was hardly noticed, even at 100 ms
the game was playable, but with more than 200 ms the game
experience was unacceptable.
In conclusion, based on the test results, racing games are
best played with a latency up to 50ms. For a simulation game,
a latency of 100ms has to be avoided and for every kind of
racing game a latency higher of 200 ms will make the game
experience unacceptable .
D. Sport games
Another very popular genre in the games industry is sports.
These games are related to real sports like basketball, soccer,
175
THE IMPACT OF NETWORK PROPERTIES ON MULTIPLAYER GAMES
football, tennis, etc. For this kind of games, a multiplayer is
a very important part of the game, so people can test their
skills against other people online. This investigation use a
study made by James Nichols and Mark Claypool [3], testing
Madden NFL football. Here the use of "playstation 2" consoles
was used, the reason behind this is that sports games are more
popular in consoles than in PCs.
For the test, the environment was set as follows: two
consoles Alpha and Beta play against each other. Beta connects
to Alpha and the latency reference is:
• Console Alpha with 1500 ms latency, console Beta with
low latency.
• Console Beta with 1500 ms latency, console Alpha with
low latency.
• Both consoles with 750 ms latency.
For the first test, Alpha got a high latency and as described
by [3], the game uses a "Dumb Client Model", in order to
handle this situation.
Here the client sends to the server a "I want to move"
request; the server receives the information, validates the move
and sends an acknowledge (ACK) to the client; after the client
receives the response, the client’s console renders the move.
In other words, this means that player will have to wait for
the response of the other console, in order to render its action.
For this reason the player might get very frustrated if he/she is
making an important move and because of the slow reaction
of the network he/she loses the ball.
For the second test, Beta has a latency of 1500 ms. Here
the use of the "Client-side Prediction" was made as explained
in [3]. In this case when the client Alpha makes a move, it
will be rendered at the same time in which the message is
transmitted to Beta, Beta verifies and validates the move, then
returns a message to Alpha, with this last message Alpha fixes
the movement. As shown in the first two tests, the behaviour
in the game is different depending on who is the host and
which of the players has a higher latency.
For the third test, both players have the same amount of
latency. So if Alpha sends a message to Beta, Alpha will wait
for 1/2 of the estimated round-trip time (RTT), after this time
passed, Alpha render the move. This means that Alpha render
the move at 750 ms, after he sends the message. Beta is going
to receive the message at 750 ms and then it will render the
move too. So both consoles render the move at the same time,
this also means that both players will play with delay, but both
of them are playing synchronized.
Another test was also made, this time only one player is
induced to different ranges of latency. As shown in Fig. 8, the
players’ performance was measured based on the amount of
gained yards. Yards could be gained when the player is playing
offensively. The player can either make a pass or run with the
ball, the more yards are gained, the better is the performance.
In this test, players show good performance under 500 ms
of latency gaining between 4.5 and 5 yards. But as soon the
latency goes higher than 500 ms, the players’ performance is
drastic reduced. Here are some examples, on how players react
to latency:
• The player got the ball and is going to the left side of
the field, he/she wants to change course but because of
Fig. 8.
Performance vs latecy in NFL [3]
high latency, the player ended going out of bounds of the
field.
• The player wants to pass the ball, the pass must have a
precise timing , but because of latency, the pass is delayed
and therefore intercepted.
In conclusion, the player’s performance was not affected
with less than 500 ms of latency, but with more than 750
or more ms of latency the game starts to lag and the game
experience as well as the player’s performance are affected. It
is also important to notice that depending on how the current
state of the network is, the game will use different models in
order to handle this (Dumb Model, Client Side Prediction or
Symmetrical latencies).
IV. C ONCLUSION AND F UTURE W ORK
In this investigation, four kinds of games: FPS, RTS, Sports
and Racing games, were tested with different network problems: latency and packet loss. The objective was to see how
the performance of the player and the gameplay were affected
by these two problems.
Based on the different tests and their results, it is observed
that racing games are the most sensitive to latency. This is
because the tested games have shown incongruent gameplay
with more than 50 ms latency, e.g collisions that never
happened or two players at the same time in the first place.
Also the players’ performance deteriorated with more than 50
ms of latency.
FPS games are also sensitive to latency, but in FPS the
actions made by the player may increase or decrease the
susceptibility to latency. Players’ movements are not highly
affected by latency even if the movement is complex. But
shooting in FPS is highly affected by latency, even more
if the player is using precision weapons. Also the players’
performance is affected by increasing the number of deaths
and decreasing the numbers of kills with more than 50 ms of
latency.
Sport games have shown to be more resistant to latency
than racing and FPS games. Here even with a latency of 500
ms, the players’ performance was not affected significantly.
There were some cases, that actions like pass and running
were affected by latency, but only with more than 500 ms of
latency. The reason behind this: is that the factor of tactics is
more important than fast reaction.
176
THE IMPACT OF NETWORK PROPERTIES ON MULTIPLAYER GAMES
RTS games have shown to be the most resistant to latency. In
this kind of game, players’ performance was not significantly
affected, even with more than 1000 ms of latency. Also the
outcomes of battles were not affected by latency, because the
strategy factor of the game has a primary role, even higher
than the reaction of the player.
In all of these kinds of games, the number of packet
loss, did not affected neither the gameplay nor the players’
performances.
As for the next steps, further research in newer games will
be of benefit. The reason behind this is that most of the testing
done so far is done with games older than five or six years,
and some of the newer games handle network properties better
than older ones. Another two possible interesting area for
future work based in this topic, could be a research based
on: how players adapt to latency in different kind of games.
Or how multiplayer games are affected by network settings in
emerging mobile communication technologies like 4G.
R EFERENCES
[1] Mark Claypool. The effect of latency on user performance in Real-Time
Strategy games. Elsevier North-Holland, Inc. New York, NY, USA, 2005.
II, III-B, I, III-B, II, III
[2] Mark Claypool and Kajal Claypool. Latency and player actions in online
games. ACM New York, NY, USA, 2006. I, II, III, III, 1, III
[3] James Nichols and Mark Claypool. The Effects of Latency on Online
Madden NFL Football. ACM New York, NY, USA, 2004. II, III-D, 8
[4] Lothar Pantel and Lars C. Wolfl. On the Impact of Delay on Real-Time
Multiplayer Games. ACM New York, NY, USA, 2002. II, III-C, 6, 7
[5] Yutaka Ishibashi Takahiro Yasuil and Tomohito Ikedo. Influences of
Network Latency and Packet Loss on Consistency in Networked Racing
Games. ACM New York, NY, USA, 2005. II
[6] Corey Lusher John Plunkett Emmanuel Agu Tom Beigbeder, Rory Coughlan and Mark Claypool. The Effects of Loss and Latency on User
Performance in Unreal Tournament 2003. ACM New York, NY, USA,
2004. III-A, 2, III-A, 3, 4, 5
177
P2P QUALITY MANAGEMENT
P2P Quality Management
Mingmin Xu
Abstract—P2P applications are widely used nowadays, but to
monitor and manage the quality of a P2P system (e.g. specific
lookup times, communication delays, underlay efficiency ...) is still
difficult. Researchers propose various approaches to overcome
the difficulty of the P2P quality management. This paper gives
an overview on current approaches to control the service quality
provided by p2p systems. Three different approaches will be discussed in detail and compared with each other. Those approaches
of quality management are useful, but integrated and systematic
approaches that can be widely used in different P2P systems are
currently rare.
I. I NTRODUCTION
In the year 1999, the first Peer-to-Peer(P2P) system, the
music-sharing application Napster [7], was introduced in the
Internet. The popularity of Peer-to-Peer networks has grown
dramatically ever since. Since at least 2003, the traffic load on
the Internet appears to be dominated by P2P applications [12].
P2P applications are nowadays not only used for file sharing.
With the emerge of P2P applications such as Skype, Edutella,
PPlive and SETI@home, P2P systems are now widely used in
many other areas.
Various P2P applications have specific quality requirements
of their own. Appropriate quality management of P2P systems
is one of the key factors of the success of P2P systems,
especially in a commercial scenario. The quality of service
provided by a P2P system must be measurable and controllable. That is important both for the users and for P2P system
providers as well.
Comparing to the client/server systems, the quality management of a P2P system has both special benefits and challenges
of his own. On one hand, the quality of a P2P system can be
monitored and managed with much lower costs, because costs
are typically shared among the participating nodes. On the
other hand, the lack of a central server and the decentralized
stored information about the whole running system makes the
administration more difficult. Because of the dynamic and
heterogeneous nature of P2P systems, it is quite difficult to
reach every node to retrieve precise and fresh information.
Furthermore, the uncertainty and unreliability of links and
nodes, as well as the large scale of systems, lead also to the
complexity problem.
Researchers propose various approaches to overcome the
difficulty of the P2P quality management and take advantages
of P2P paradigm. This paper gives an overview on current
approaches to control the service quality provided by p2p
systems.
The remainder of the paper is structured as follows: Firstly,
The quality attributes to describe a P2P system and metrics that
used to measure the quality of systems are described in Section
2. After that, some related concepts such as performance
management, network management and automatic computing,
Fig. 1.
Quality attributes in four groups.
which are all useful for quality management will be introduced
in Section 3. And then we discuss three of quality management
approaches in Section 4. The Simple Network Management
Protocol (SNMP), the Distributed Network Agents (DNA)
framework and the SkyEye.KOM solution are discussed there
one by one. These three approaches are compared with each
other according to several criteria in Section 5. Section 6
finally concludes the paper.
II. Q UALITY ATTRIBUTES AND M ETRICS
Different researchers use different attributes to describe
the quality of P2P systems. Heckmann et al. [5] divide all
important quality attributes into four groups (see Fig. 1): adaptivity, efficiency, validity and trust. These attributes include all
important aspects of P2P systems, and can be used to evaluate
and compare them.
Each attributes can only be measured through a set of
quality metrics. For example, in the group of efficiency, the
attribute performance can be measured through metrics such
as response times, data availability, hop count per lookup etc.,
while the attribute costs can be measured through metrics such
as bandwidth consumption, load distribution, local storage
consumption etc.
Quality metrics play a central role in P2P quality management. Proper metrics must be selected according to specific
quality requirement. And appropriate thresholds must be determined for each metric so that exceeding these thresholds
indicates a quality problem worthy of attention.
Referring to the concept of quality management, P2P
quality management is focused not only on the quality of
P2P network, but also the means to achieve it. Generally
quality management approaches have three tasks: to monitor
178
P2P QUALITY MANAGEMENT
the network system quality through gathering corresponding
metrics information, to trigger an alarm in the case of exceeding of predefined threshold of such metrics and to start
reconfiguration automatically to meet the given quality goals.
The first task provides the foundation of the other two tasks,
so that monitor is the basic function and of most importance,
while only some of current quality management approaches
realize the third task.
Through the monitor and control a certain set of quality
metrics, specific quality requirements for P2P systems will be
guaranteed.
III. Q UALITY M ANAGEMENT, N ETWORK M ANAGEMENT
AND AUTOMATIC C OMPUTING
Before depicting any specific quality management approaches, some relevant concepts, such as network management and automatic computing, need be introduced firstly.
A. Network Management and FCAPS
The main goal of network management is “to ensure that the
users of a network receive the information technology services
with the quality that they expect” [2]. To achieve this, network
managers must monitor, control, and secure the computing
assets connected to the network.
A common way of characterizing network management
functions is FCAPS. FCAPS is an acronym for fault, configuration, accounting, performance, security, the management
categories into which the ISO model defines network management tasks. Therefore network management has altogether five
functionally areas as following [8] [14]:
Fault management A fault is an event that has a negative significance. Faults can cause downtime or unacceptable network degradation. The goal of fault management is
to recognize, isolate, correct and log faults to improve the
availability of the network. Furthermore, it uses trend analysis
to predict errors so that the network is always available. Fault
management is perhaps the most widely implemented of the
ISO network management elements.
Configuration management The goal of configuration is
to monitor network and system configuration information so
that the effects on network operation of various versions of
hardware and software elements can be tracked and managed.
Accounting management The purpose of accounting management is to measure network utilization parameters. For nonbilled networks, administration management replaces accounting management.
Performance management The goal of performance management is to measure the network performance and maintain
the performance an acceptable level. The network performance
addresses the throughput, percentage utilization, error rates
and response times areas. The network can be monitored to
collect performance data. Performance thresholds can be set
in order to trigger an alarm.
Performance data, such as throughout and response time,
are important quality metrics as well. Therefore performance
management has similar tasks like those of quality management.
Security management The purpose of security management is to control access to network resources.
Performance management and partially fault management
have a tight relationship with quality management. So that
the architectures, applications or approaches of network management (especially performance management) can be used in
quality management, too.
B. Automatic Computing and 4-Steps Model of Quality Management
As mentioned in the introduction, the dynamic and the large
scale of P2P systems lead often to the complexity problem.
IBM proposed in 2001 the concept of automatic computing
[6] to overcome the complexity problem in IT systems. This
concept of automatic computing is also be useful in P2P
quality management.
The autonomic concept is inspired by the human body’s
autonomic nervous system, which is able to effectively monitor, control, and regulate the human body without external
intervention. So an autonomic system is a system that manages
itself. According to Paul Horn’s definition, an autonomic
system is have eight characteristics [9]: self-configuration,
self-healing, self-optimization, self-protection, self-awareness,
context-awareness, openness and anticipatory. Some of the
characteristics are special meaningful for quality management.
For example, self-awareness is the capability to know the
current status, which is similar to the monitor task in quality management, while self-configuration or self-optimization
enable the system to meet quality requirements automatically.
There is a 4 steps loop to describe the autonomic element
architecture. Following this approach, a 4-steps model of
quality management [10] [4] (see Fig. 2) can be established.
This model describe the steps that are needed to reach and
keep a preset quality state.
Policies are a set of predefined rules that used to manage and
control the changing and/or maintaining of the quality state
[9]. They govern how the four steps are accomplished, indicate
which resources are to be monitored or not and how changes
need to be propagated in the system. In quality management,
policies can be defined as preset quality intervals for a set
of metrics [4]. For example, the response time of a streaming
application must be below 100ms or the count of overlay hops
has to be between 7 to 11, and so on. This setting of quality
intervals are scenario and application specific.
Monitor The detail information of relevant quality metrics
in a P2P system is collected, gathered, filtered and reported
in monitor step [1]. Monitoring retrieve a live view on the
quality of a running p2p system. This step can be seen as
a knowledge-building tool, delivering the facts on which the
future decisions in analyze step can base on.
Analyze The information gathered in monitoring step is
analyzed in this step. Following the preset policies (a set of
quality intervals), the current quality state is compared to the
preset quality requirements to determine if some change needs
to be made, and which metric needs to be de- or increased.
In the case that deviation is detected from the preset quality
intervals the change request is logically passed to the plan
step.
179
P2P QUALITY MANAGEMENT
Fig. 2.
Fig. 3.
SNMP Manager and managed devices.
Fig. 4.
Three kinds of SNMP messages.
The 4-steps model of quality management.
Plan Quality metrics cannot be de- or increased directly,
they can only be changed through a reconfiguration of the
system. The step decides which configurable parameter needs
to be changed in order to effect the invalid quality metric and
how. Various mechanism can be used in this step to decide
on the interdependence between metrics and configurable
parameters. They help to find out which parameters in the
system configuration to change in order to lower or raise a
specific metric.
Execute The execute step provides the mechanism to schedule and perform the necessary system reconfiguration. The
information of change plan should spread quickly to all peeps
in the network, and new settings should be applied on each
node in a coordinated fashion. Once the new configuration is
adopted system wide, the value of quality metrics need to be
updated and the 4-steps cycle restarts.
The last three steps can also be regarded as the control step
based on monitor step. Using the concept of automatic computing leads to a self-organized, efficient quality management
system.
IV. A PPROACHES OF Q UALITY M ANAGEMENT
After the introduce of some useful concepts, some available
approaches of quality management will be discussed one by
one in this section.
A. SNMP Protocol
Simple Network Management Protocol (SNMP) is a UDPbased network protocol, which operates in the Application
Layer of the Internet Protocol Suite as defined by the Internet
Engineering Task Force (IETF) [11].
SNMP is based on a manager/agent model and allows an
SNMP manager (the controller) to control an SNMP agent (the
controlee) by exchanging SNMP messages (see fig. 3). The
managed devices, sometimes called network elements, can be
any type of device, such as routers, access servers, switches,
bridges, hubs, IP telephones, IP video cameras, computer
hosts, and printers.
In general there are three kinds of SNMP messages that are
exchanged between SNMP manager and SNMP agent: get,
set and trap (see fig. 4). SNMP agent is a software component
that runs on the managed devices. The first kind of messages
are get request and get response. SNMP manager uses get
request to ask for the value of a variable or list of variables.
After receiving such request, the agent send a response with
the required information back. The second kind of messages
are Trap. Trap is an asynchronous notification from agent to
manager when some preset condition occurs. For example,
agent can send a notification when a defect occurs. These two
kinds of messages can be used to monitor (get) parameters on
an SNMP agent in both active (get) and passive (trap) way.
The third kind of messages are set request and set response,
which are used to Change the value of a variable or list of
variables. Variable bindings are specified in the body of the
request. Changes to all specified variables are to be made as
an atomic operation by the agent. A Response with current
new values for the variables is returned.
SNMP itself does not define which information (which
180
P2P QUALITY MANAGEMENT
Fig. 6.
Fig. 5.
The structure of a DNA.
variables) a managed system should offer. It uses an extensible design, where the available information is defined by
management information bases (MIBs).
SNMP is used now mostly in network management systems
to monitor network elements, to control and configuration of
network elements remotely and to identify network failures.
Popular network management systems include BMC Patrol,
CA Unicenter, Sun Management Console (formerly SyMon),
IBM Tivoli NetView and the famous HP OpenView [13].
With the preset intervals of metrics, SNMP can also be
used to accomplish the three tasks of quality management,
which have introduced in Section 2. Get request enables the
monitor function, while trap allows to trigger an alarm in the
case of deviation. Furthermore, set request can be used to start
reconfiguration automatically to meet the given quality goals.
But the monitoring and control of quality is usually carried
out by rather centralized entities (SNMP manager). So the
quality management system using SNMP have two major
disadvantages. One, the central sever is the single point of
failure. Two, it is not scalable.
B. DNA Framework
The second approach is the Distributed Network Agents
(DNA) framework. In order to avoid the above mentioned
disadvantages of centralization, this framework is a distributed,
P2P-based, generic testing and Quality of Service monitoring
architecture [2]. The architecture is based on equal agents,
denoted as DNA, which form a management overlay for the
service. The DNA, similar to SNMP agent, is defined as a
software component that runs on the managed devices. The
structure of a DNA is shown in fig. 5.
Mediator is the main component of a DNA, which runs as
a daemon in the background and is responsible for the communication between the user and the individual test modules.
A test module consist of several tests and can be added or
removed. The user is able to connect to the mediator using
the graphical user interface (GUI) or the command line.
SkyEye.KOM: monitoring tree topology.
Test module contains local tests and distributed tests. A
distributed test is a test that is performed in conjunction with at
least one other DNA. Many tests such as hardware and TCP/IP
tests, are mainly useful in fault management. But there are still
some tests, like throughput test, are concluded in performance
management.
Lots of equal DNA build a P2P based, self-organizing
network to connect with each other. Kademlia algorithm is
the basis of such DNA overlay.
DNAs constantly monitor the IP network in a distributed
way. Unlike SNMP, one interesting property of the DNA
framework is the performance management from the user point
of view. End users can manually start tests or read the results of
tests that have already been performed. The DNA framework
is scalable.
C. Approach based on SkyEye.KOM
The third approach is based on a distributed information
system named SkyEye.KOM [3]. It can only be used in
quality management of structured P2P network, such as Chord,
Kademlia, Tapestry.
SkyEye.KOM is an information management over-overlay
for structured P2P systems to gather, aggregate and store
metadata information about all peers. As Figure 6 depicts,
SkyEye.KOM builds a tree topology on the top of the structured P2P overlay, which allows a directed information flow
towards the root.
Following the automatic computing concept, the monitoring
and management system based on SkyEye.KOM [4] can be
divided into 4 steps as following:
Monitor step This approach take advantage of SkyEye.KOM information system to realize a lightweight and
reliable monitor function.
Firstly the tree topology need to be created. Through a ID
mapping functions, the various overlay-specific ID spaces are
mapped onto an unified ID space. All nodes in the tree except
root is called coordinator. Each coordinator is responsible
for an interval of ID space, so called domains. Through
a coordinator-key function, coordinator-keys are calculated
and the whole ID space is deterministically subdivided into
domains.
The Distributed Hash Table (DHT) provides typically the
functionality to address a node, which is responsible for a
particular key, as well as the ability for a peer to determine, if
181
P2P QUALITY MANAGEMENT
it is responsible for a key. Those two functions, which DHT
provides, are named as following:
• void route(key K, msg M, node Hint)
• boolean resp(key K)
Those two functions are used to determine the position of
a peer in the tree. Using the resp(key) function, a peer is
checked if it is responsible for the coordinator-key. If not,
goes recursively down the tree and calculates the next smaller
domain until the testing for responsibility is positive. Peer
that responsible for a coordinator-key is coordinator of the
corresponding domain. The Parent-Coordinator is the peer
responsible for the coordinator-key one domain higher. Peers
communicate only with their parent-coordinators and parentcoordinators with their sub-coordinators correspondingly in
the tree. This is done using the route(key K, msg M, node
Hint) function.
The metric-update of every node transfers to its parentcoordinator until the root reaches. With the help of aggregate
functions, this approach enables to gather a wide set of
information, including the minimum, maximum, sum, count,
average and standard deviation of all metrics and all the
information is aggregated to the root. Through the aggregation
of the metrics at every level in the tree, the size stays invariant.
So The monitoring of metrics is very precise but lightweight.
The gathered information in monitoring step provides a
good foundation to operate the analyze and the planning step
operate within the root node.
Analyze step In the analyze step the new received information about the current system state is analyzed and compared
to the the predefined quality requirement, basing on the preset
policies.
Policies guide the analyze step and determines if the change
of quality metrics is necessary or not. As mentioned in Section
3, policies in quality management can be defined as preset
quality intervals for a set of metrics. For example, the required
the response time of a certain service is [0,80ms],etc. Using
such policies, it’s easy to detect the deviation.
This approach the root is responsible for the analyze and
planing step. If necessary, the system goes to the next plan
step.
Plan step Qualities metrics can only be changed through
system configuration. The major Task of the plan step is to
chose the suitable configurable parameters and determine the
precise change plan of the parameters in order to reach the
desired quality state. Hence, the relationship between system
parameters and quality metrics must be correctly found out.
Various mechanism can be used here to decide on the
interdependence between metrics and configurable parameters.
One possible method in this step is to use expert knowledge.
This approach uses currently this method. Preset static rules
determines system configuration plan. For instance, the metric
such as average hop count is changed through the modify of
a certain parameter, which is routing table size.
This method is simple, but cannot adopt automatically to
the changing environment. In contrast to the manual methods,
automatic methods, such as genetic algorithms and machine
learning, enable P2P systems to manage itself and make decisions based on their past experiences to adopt in a a dynamic
environment. How to make these theories more widely usable
in the quality management can be researched in the future.
Plan step In the execute step, all peers must be informed
with the information of selected configurable parameters and
the precise plan of system configuration. And then all nodes
must adopt the configuration changes locally. The information
about changes is either fixed parameter settings or policies that
need to be interpreted locally.
This system based on SkyEye.KOM stores information in
the root node, and accomplishes analyze and plan steps both
in the root node. Thus, the information of changes can use the
ACKs in the monitoring step to all peers.
Once the new configuration is adopted system wide, the new
value of quality metrics need to be updated and the 4-steps
cycle (monitor-analyze-plan-excute) restarts.
In general the system based on SkyEye.KOM accomplishes
two major tasks: First, the system offer a detailed view on the
quality metrics of a running system. Second, preset quality
requirements can be automatically met by the system through
the usage of a self-configuration process.
Because this approach use two functions that typically come
with DHT, it can be used only in a structured P2P system.
V. C OMPARISON OF T HREE A PPROACHES
Those above mentioned three Approaches will be compared
with each other according to following criteria:
the scope of use The first two approaches can be used all
kinds of IP network, while the last one can be used only in a
structured P2P system.
fault and performance management The first two approaches provide both fault and performance management,
while the last one is only suitable for performance management.
centralized or decentralized SNMP has a central manager
so that it is rather centralized. The other two are both decentralized.
monitor and control SNMP and system based on SkyEye.KOM provide both monitor and control function, while
DNA framework has only the monitor function.
point of view SNMP and system based on SkyEye.KOM
give both a general view of the network, but DNA give
information from the user point of view.
scalability SNMP is not scalable, but the other two are
scalable.
VI. C ONCLUSION
With develop Peer-to-Peer systems and applications, both
researchers and industries pay more attention to the P2P
quality management nowadays. But taking account of the
nature of P2P network, the quality management is rather
difficult.
Quality metrics are used to measure the quality of P2P
network. Through the monitor and control a certain set of
quality metrics, specific quality requirements for P2P systems
can be guaranteed.
Several approaches of quality management have been proposed, which realize at least the monitor function. In this paper
three kinds of approaches are introduced in detail:
182
P2P QUALITY MANAGEMENT
One, approach based on SNMP. It has both monitor and
control function. Furthermore, it can trigger an alarm with
trap. But it is rather centralized solution, and is not able to
scale.
Two, DNA framework, which is a P2P based distributed
framework that can be used in quality management. It provides
metrics information from the user point of view. But it has only
the monitor function.
System based on SkyEye.KOM is an approach specially
for structured P2P network. Through automated system reconfiguration it can meet the preset quality goals automatically.
Though many approaches have been proposed to improve
the quality management in P2P systems, ideal approach for
all kinds of P2P network does not exist. The P2P quality
management still can be a challenge in the future.
R EFERENCES
[1] Michael Behrisch. Autonomic Computing in Peer-to-Peer Systems. Bachelor Thesis, TU Darmstadt, 2009. III-B
[2] Andreas Binzenhoefer, Kurt Tutschku, Bjoern auf dem Graben, Markus
Fiedler, and Patrik Arlos. A p2p-based framework for distributed network
management. in Wireless Systems and Network Architectures in Next
Generation Internet, 2009. Springer Berlin / Heidelberg, 2006. III-A,
IV-B
[3] Kalman Graffi, Aleksandra Kovacevic, Song Xiao, Ralf Steinmetz. SkyEye.KOM: An Information Management Over-Overlay for Getting the
Oracle View on Structured P2P Systems. The 14th IEEE International
Conference on Parallel and Distributed Systems, p. 279-286, IEEE
Computer Society Press, 2008. IV-C
[4] Kalman Graffi, Dominik Stingl, Julius Rueckert, Aleksandra Kovacevic,
Ralf Steinmetz. Monitoring and Management of Structured Peer-to-Peer
Systems. In: 9th International Conference on Peer-to-Peer Computing
2009, p. 311–320, 2009. III-B, III-B, IV-C
[5] Oliver Heckmann, Ralf Steinmetz, Nicolas Liebau, Alejandro Buchmann,
Claudia Eckert, Jussi Kangasharju, Max Muehlhaeuser, Andreas Schuerr.
Qualitaetsmerkmale von Peer-to-Peer Systemen. Technical Report KOMTR-2006-03, Technische Universitaet Darmstadt, 2006. II
[6] Paul
Horn.
Autonomic
computing.
http://www.research.ibm.com/autonomic/manifesto/autonomic_computing.pdf,
2001. III-B
[7] Napster. http://www.napster.com, 2010. I
[8] network management. http://en.wikipedia.org/wiki/Network_management,
2010. III-A
[9] Mohammad Reza Nami, Koen Bertels. A Survey of Autonomic Computing
Systems. In Proceedings of the Third International Conference on
Autonomic and Autonomous Systems IEEE Computer Society, 2007.
III-B, III-B
[10] Edited by Manish Parashar, Salim Hariri. Autonomic Computing Concepts, Infrastructure, and Applications. CRC Press, Taylor and Francis
Group, 2007. III-B
[11] Simple
Network
Management
Protocol.
http://de.wikipedia.org/wiki/Simple_Network_Management_Protocol,
2010. IV-A
[12] Ralf Steinmetz, Klaus Wehrle (Eds.). Peer-to-Peer Systems and Applications. Springer Publishing, 2005. I
[13] Ben Rockwood. The Cuddletech Guide to SNMP Programming.
http://www.cuddletech.com/articles/snmp/, 2004. IV-A
[14] Swayam
Prakasha.
SNMP
A
Smart
Protocol.
Enterprise
Networks
and
Servers.
http://www.enterprisenetworksandservers.com/monthly/art.php?2410,
2006. III-A
183