Download Entwicklungen im Web 2.0 aus technischer

Transcript
223
File Sharing
File Sharing gehört zu den bekanntesten und verbreitetsten P2P-Anwendungen im Internet. Ein
File-Sharing-System ist ein dezentraler Datenspeicher, in dem Dateien mit einem Algorithmus
gesucht und heruntergeladen werden können. Ein Teilnehmer kann beliebige Dateien für andere zum Download bereitstellen und umgekehrt Dateien von anderen Teilnehmern herunterladen. Der große Vorteil des P2P-File-Sharings liegt in der guten Skalierbarkeit. Da häufig getauschte Dateien in der Regel redundant gespeichert sind und daher von mehreren Quellen
gleichzeitig heruntergeladen werden können, kommt es auch bei einer großen Anzahl von
Downloads derselben Datei selten zu Engpässen in der Bandbreite. Bekannte Beispiele für FileSharing-Netzwerke sind Gnutella [4], BitTorrent [3] oder Freenet [21].
Kommunikation und Kollaboration
Kollaborative P2P-Anwendungen dienen dazu, die Zusammenarbeit zwischen Nutzern in Echtzeit zu erleichtern. Da P2P-Systeme auf die Erzeugung von dynamischen Netzwerken mit variierenden Teilnehmern ausgelegt sind, eignen sie sich in natürlicher Weise für kollaborative Anwendungen. Eine der ersten P2P-Anwendungen in diesem Bereich waren die Instant-Messaging(IM)-Systeme, mit denen Textnachrichten in Echtzeit zwischen Teilnehmern ausgetauscht
werden konnten. Mittlerweile unterstützen neuere Anwendungen auch Sprach- und Videokommunikation sowie den direkten Austausch von Dateien. Das Skype-Netzwerk [18] ist eine solche
Anwendung, wobei hier der Fokus auf Sprachdiensten liegt.
Die P2P-Kollaborationssoftware Groove [11] bietet einen gemeinsamen Arbeitsbereich, der
neben den oben genannten Funktionen weitere Dienste wie gemeinsame Diskussionsforen,
Kalender und Dateifreigaben unterstützt. Groove synchronisiert automatisch alle Änderungen
an Elementen des Arbeitsbereiches zwischen den Teammitgliedern. Die Änderungen können
auch offline vorgenommen werden – die Synchronisierung erfolgt dann, sobald sich das betroffene Teammitglied mit dem Netzwerk der übrigen Mitglieder verbindet.
Häufig verfügen kollaborative Anwendungen über eine Teilnehmerliste, die anzeigt, welche
Mitglieder gerade online sind, d. h., zu welchen Mitgliedern eine Verbindung aufgebaut werden
kann. Diese Funktion ist besonders für Dienste mit Echtzeitkommunikation wichtig. Zur Aktualisierung dieser Liste muss der Status sämtlicher Mitglieder ständig kontrolliert werden. Da dies
in einem reinen P2P-Netzwerk einen großen Kummunikationsaufwand bedeuten würde, kommt
für diese Aufgabe meist ein zentraler Server zum Einsatz, bei dem sich alle Mitglieder an- und
abmelden.
2.2 Eigenschaften
P2P-Anwendungen bestehen aus einem Zusammenschluss aus gleichberechtigten Knoten zu
einem Netzwerk und stellen damit einen Gegensatz zu den zentralisierten Client-ServerArchitekturen dar. Aus dem Paradigma der Dezentralisierung ergeben sich für Anwendungen
mit P2P-Architekturen einige grundlegende Eigenschaften, die sie von anderen Architekturen
unterscheidet (vgl. [12]).