Entwurf und Implementierung. eines verteilten Systems. zur Suche und Analyse. von Dateien in Peer-to-Peer Netzen

Größe: px
Ab Seite anzeigen:

Download "Entwurf und Implementierung. eines verteilten Systems. zur Suche und Analyse. von Dateien in Peer-to-Peer Netzen"

Transkript

1 Diplomarbeit Entwurf und Implementierung eines verteilten Systems zur Suche und Analyse von Dateien in Peer-to-Peer Netzen Michael Wagner # Alter Wetzlarer Weg Giessen Betreuer : Prof. Peter Sturm (Universität Trier) Eingereicht am : 8. Januar 2007 Dr. Martin Steinebach (Fraunhofer IPSI)

2

3 Erklärung Hiermit erkläre ich, dass ich die Diplomarbeit selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt und die aus fremden Quellen direkt oder indirekt übernommenen Gedanken als solche kenntlich gemacht habe. Die Diplomarbeit habe ich bisher bei keinem anderen Prüfungsamt in gleicher oder vergleichbarer Form vorgelegt. Sie wurde bisher auch nicht veröffentlicht. Trier, 8. Januar 2007

4

5 Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. Albert Einstein Für meine Eltern. Und Anke. Danksagung: Ich danke meinen Eltern, die mir dieses Studium ermöglicht haben und die mir auch in schweren Zeiten zur Seite gestanden haben. Weiter gilt mein Dank meiner Liebe Anke, die immer für mich da ist. Eine besondere Anerkennung verdient Herr Dr. Martin Steinebach, der mich während der ganzen Diplomarbeitsphase sehr geduldig unterstützt hat. Nicht zu vergessen an dieser Stelle ist Herr Professor Peter Sturm, der durch seine unterhaltsamen und zugleich lehrreichen Vorlesungen, mein Interesse für das Gebiet der verteilten Systeme geweckt hat. Zudem gilt ihm mein Dank für die Unterstützung und Betreuung während der Diplomarbeit. Ein letzter Dank gilt meinen Geschwistern, die mir, wo sie nur konnten, geholfen haben und meinen Korrekteuren für ihre gründliche Arbeit.

6 VI Kurzfassung Trotz aller Versuche der Musik- und Filmindustrie gegen angebliche Datenpiraten und Tauschbörsennutzer vorzugehen, wird Filesharing immer beliebter. Wasserzeichen stellen dabei eine gute Methode dar, um urheberrechtlich geschütztes Material zu markieren. Damit ist es möglich, unerlaubte Kopien zu identifizieren und gegen den Benutzer vorzugehen. Um diese Identifizierung durchführen zu können, müssen zuerst einmal in der entsprechenden Filesharing-Software von jedem anbietenden Benutzer die Datei bzw. ein Teil der Datei heruntergeladen werden. Ziel der Diplomarbeit ist es, eine verteilte Lösung zum Download von diesen Dateien auf der Basis einer von Schlüsselworten gesteuerten Suche zu entwerfen. Hierzu wird ein geeignetes Netzwerk ausgewählt und ein als Open Source vorliegender Client so modifiziert, dass er (a) automatisiert abhängig von Schlüsselworten Dateien herunterladen kann und (b) diesen Suchvorgang mit anderen Clients gleichen Typs synchronisieren und Kollisionen auflösen kann.

7 VII Abstract Despite all attempts of the Music and Film industries to fight them, data piracy and the use of file sharing programmes are becoming increasingly popular. Watermarks offer a good possibility of identifying illegal copies and to prosecute their users as they can be used to mark copyrighted materials. Preliminary to this identification, users have to have downloaded the concerned data at least partially by use of the corresponding file sharing software. The aim of this Diplomarbeit is to find a distributed solution to download said data based on a keyword-driven search. For this thesis, a suitable network must be chosen and an Open Source Client must be modified in such a way that it a) is able to automatically download files appropriate to the given keyword, and that it b) is able to synchronise this search with other clients of a similar type whilst preventing collisions.

8

9 IX Inhaltsverzeichnis Erklärung Kurzfassung Abstract Abkürzungsverzeichnis III VI VII XV 1 Einleitung Motivation Aufbau der Arbeit Grundlagen und Analyse Piraterie Geschichte der Schwarzkopie Motivation und Psychologie des Schwarzkopierens Rechtliche Aspekte Maßnahmen gegen Schwarzkopierer Ökonomische Folgen Existierende Lösungsansätze zur Pirateriebekämpfung Digitale Wasserzeichen Eigenschaften eines Wasserzeichen-Verfahrens Anwendungsgebiete digitaler Wasserzeichen AlgorithmManager Verteilte Systeme Peer-to-Peer Tauschbörsen Napster Bittorrent edonkey Kademlia JXTA Wichtige Grundbegriffe der JXTA-Technologie Klassifizierung von Peer-to-Peer-Systemen Entwurf Zielsetzung Ablauf der Suche und Analyse

10 X Inhaltsverzeichnis 3.3 Anforderungen Ausnahmefälle Lastverteilung Schnittstelle zu Internet-Tauschbörsen Wahl der verwendeten Komponenten Wahl der Tauschbörse Wahl der Kommunikationsplattform Datei-Identifikation Implementierungsaspekte Entwicklungsumgebung Aufbau des Prototypen Basisklasse Peer Datenverwaltung Aufbau des Masters Monitoring Dispatcher Dienste des Masters Benutzerschnittstelle Aufbau eines Slaves Anbindung an emule Systeminformationen AlgorithmWorker Dienste des Slaves Evaluation und Leistungsbeurteilung Testumgebung Funktionstests Laborversuch Praxistest Zusammenfassung und Ausblicke Zusammenfassung Ausblicke A Klassendiagramme 71 B Die optimale Konfiguration von emule 73 C Anleitung zur Nutzung des entwickelten Systems 75 D Inhalt der CD-ROM zur Arbeit 77 E Kuriositäten-Sammlung 78 Literaturverzeichnis 80

11 XI Abbildungsverzeichnis 2.1 Verbreitungspyramide Gründe gegen eine Nutzung kommerzieller Angebote Umsatzverluste durch Piraterie Nutzung verschiedener Kanäle für den Musik-Download im Internet Einbetten und Auslesen eines digitalen Wasserzeichens algodescription.xml Middleware Serverbasiertes und serverloses Peer-to-Peer-Netz Aufbau des Napster-Netzwerkes BitTorrent-Netzwerk edonkey-netzwerk Die JXTA-Architektur Digitales Wasserzeichen zur Identifikation Blackbox Wasserzeichen-Analyse Systemübersicht Ablauf der Suche und Analyse Schnittstelle zu Internet-Tauschbörsen Überklasse Peer Schnittstelle zur Datenbank Peer Monitor Dispatcher Benutzerschnittstelle Benutzerschnittstelle Slave - Übersicht Benutzerschnittstelle Analyse Testumgebung Testumgebung Testumgebung Ergebnisse Laborversuch Feldversuch A.1 Klassendiagramm Master A.2 Klassendiagramm Slave C.1 Einstellungsassistent des Slaves E.1 Buch: The Crow Who Could Fly

12 XII Abbildungsverzeichnis E.2 Buch: The Pig And The Box E.3 Parodie RIAA - Plakat

13 XIII Tabellenverzeichnis 2.1 Klassifizierung der Peer-to-Peer-Systeme Kriterien zur Lastverteilung peers.xml results.xml searches.xml server.xml files.xml wm results.xml algorithms.xml peer downloads.xml settings.xml

14

15 XV Abkürzungsverzeichnis Business Software Alliance (BSA) Compact Disc (CD) Distributed Hashtable (DHT) Digital Rights Management (DRM) Digital Subscriber Line (DSL) edonkey2000 (ed2k) File Exchange Protocol (FXP) Graphical User Interface (GUI) Globally Unique Identifier (GUID) Gesellschaft zur Verfolgung von Urheberrechtsverletzungen e.v. (GVU) Hypertext Markup Language (HTML) Integrierten Entwicklungsumgebung (IDE) International Federation of the Phonographic Industry (IFPI) Instant Messager (IM) Fraunhofer-Institut für Integrierte Publikations- und Informationssysteme (IPSI) Integrated Services Digital Network (ISDN) Internet Service Provider (ISP) Kademlia (Kad) Mediensicherheit in der IT (MERIT) Network Address Translation (NAT) Organisation for Economics Co-operation and Development (OECD) Peer-to-Peer (P2P)

16 XVI Abkürzungsverzeichnis Pipe Binding Protocol (PBP) Peer Discovery Protocol (PDP) Peer Endpoint Protocol (PEP) Peer Information Protocol (PIP) Peer Resolver Protocol (PRP) Recording Industry Association of America (RIAA) Rendezvous Protocol (RVP) Strafprozeßordnung (StPO) Telekommunikationsgesetz (TKG) Gesetz über Urheberrecht und verwandte Schutzrechte (UrhG) Uniform Resource Locator (URL) World Wide Web Consortium (W3C) World Wide Web (WWW) Extensible Markup Language (XML)

17 1 1 Einleitung In den letzten Jahren veränderte die Peer-to-Peer Technologie das Internet und dessen Gebrauch. Peer-to-Peer ist zu einem Synonym für Internet-Tauschbörsen geworden und viele denken dabei an den Tausch von Bildern, Musik oder Filmen. Durch die Zunahme der unerlaubten Verbreitung von urheberrechtlich geschütztem Material über Internet-Tauschbörsen erlangt die Pirateriebekämpfung einen immer höheren Stellenwert für die Medien- und Softwareindustrie. Das Kapitel 1.1 motiviert zunächst die wissenschaftliche Auseinandersetzung mit dieser Problematik und das Kapitel 1.2 skizziert den Aufbau dieser Arbeit und die damit verbundene Vorgehensweise. 1.1 Motivation Bild-, Ton- und Filmmedien sind in unserer heutigen Informationsgesellschaft allgegenwärtig und nicht mehr wegzudenken. Seitdem die digitalen Medien die analoge Technologie abgelöst haben, ist es möglich, Kopien dieser Medien in unbegrenzter Stückzahl mit gleichbleibender Qualität anzufertigen. Durch das digitale Format sind Werke nicht mehr an ein Trägermedium wie eine Video- oder Audiokassette gebunden, sondern können ohne großen Aufwand über Datennetzwerke, wie z.b. das Internet, verbreitet werden programmierte der Student Shawn Fanning eine Software zum Austausch von Musikdateien über das Internet. Das Programm wurde innerhalb von wenigen Monaten weltweit unter dem Namen Napster bekannt. Fanning legte mit seiner Entwicklung den Grundstein für eine bis heute anhaltende, fortwährende Verbreitung von Internet-Tauschbörsen. Fannings System basierte auf der einfachen Idee der dezentralen Datenhaltung. Dadurch wurde ermöglicht, dass Nutzer Dateien direkt von einem anderen Computer herunterladen konnten. Der zentrale Internet-Server diente dabei lediglich der Indexierung der Datenbestände. Inzwischen existieren zahlreiche, verschiedene Internet-Tauschbörsensysteme. Dank immer schnellerer Internet-Verbindungen und der fortwährenden Weiterentwicklung der Übertragungs- und Komprimierungstechnologien und der Tauschbörsen ist es aber heute nicht mehr

18 2 1 Einleitung nur möglich, Audio-Dateien zu tauschen, sondern auch Filme, Bücher und Computerprogramme. Allerdings lässt die einfache Möglichkeit der Vervielfältigung und Verbreitung digitaler Medien viele Tauschbörsen-Nutzer über rechtliche Aspekte hinwegsehen. Eine Verbreitung der Dateien in Tauschbörsen ist allerdings nur erlaubt, wenn dies vom Urheber explizit genehmigt wurde. Schließlich möchte der Urheber in der Regel mit seinem Werk Geld verdienen. Weiterhin betrachten viele Tauschbörsennutzer den unentgeltlichen Tausch als Kavaliersdelikt und weniger als Straftat (vgl. dazu Kapitel 2.1.2). Aus diesen Gründen beschäftigt sich die Wissenschaft mit Internet-Tauschbörsen und dem Verhindern von strafrechtlichen Handlungen in diesen. Weiterhin untersucht die Wissenschaft Methoden zur nachträglichen Aufdeckung solcher Verstöße. In diesem Bereich ist auch diese Arbeit einzuordnen. Viele Schutzmechanismen für digitale Medien führen zu Restriktionen. Somit ist allerdings auch eine legale Kopie nicht mehr möglich. Teilweise unterbinden solche Systeme sogar das Abspielen auf bestimmten Geräten. Ein nicht-restriktiver Ansatz ist die Einbettung von digitalen Wasserzeichen etwa mit einer Kundennummer. Dadurch wird zum Einen ein sogenannter psychologischer Kopierschutz aufgebaut, zum Anderen ermöglicht das Wasserzeichen eine Rückverfolgung bei einer eventuellen Rechtsverletzung. Um derartige Rechtsverletzungen aufzudecken, müssen alle Dateien aus Tauschbörsen erst lokal verfügbar gemacht und im Anschluss auf ein etwaiges Wasserzeichen untersucht werden. Durch die große Menge an Dateien in Internet-Tauschbörsen bietet ein verteiltes System zur Suche und Analyse dieser Dateien eine schnelle und gut erweiterbare Möglichkeit, um diesen Anforderungen gerecht zu werden. Diese Arbeit weist die Aspekte der nachträglichen Aufdeckung von unberechtigten Vervielfältigungen und Veröffentlichungen von Dateien in Internet-Tauschbörsen unter Zuhilfenahme von digitalen Wasserzeichen in einem verteilten System auf. Der Schwerpunkt dieser Arbeit liegt dabei beim Entwurf eines verteilten Systems zur Suche und zur Verfügbarmachung von Dateien aus Tauschbörsen. Die anschließende Analyse nach Wasserzeichen wird skizziert. 1.2 Aufbau der Arbeit Der Einstieg in die Thematik erfolgt im nächsten Kapitel 2. In diesem Kapitel werden die Grundlagen angesprochen und es erfolgt eine erste Analyse der Ausgangssituation. Das Kapitel gliedert sich in die vier Teilbereiche Piraterie, Digitale Wasserzeichen, Verteilte Systeme und Peer-to-Peer.

19 1.2 Aufbau der Arbeit 3 Im anschließenden Kapitel 3 wird der Entwurf eines verteilten Systems zur Suche und Analyse von Dateien in Internet-Tauschbörsen vorgestellt. Die Idee zu diesem System beruht auf einem Konzept des Fraunhofer Instituts für Integrierte Publikations- und Informationssysteme (IPSI). In diesem Kapitel wird zunächst die Zielsetzung dieser Arbeit erläutert. Im Anschluss erfolgt eine Darstellung über den Ablauf einer möglichen Suche und Analyse. Zudem werden Anforderungen, mögliche Ausnahmefälle und weitere Aspekte des zu entwickelnden Systems beschrieben. Das Kapitel 4 beschreibt verschiedene Implementierungsaspekte. Hierbei erfolgt die Darstellung des Systemaufbaus sowie die Beschreibung der verschiedenen implementierten Komponenten. Zum Abschluss erfolgt im Kapitel 5 eine Evaluation und Leistungsbewertung des Systems. Dabei gilt es lediglich einen ersten Eindruck über Potenzial und Effizienz des Systems zu vermitteln. Eine Zusammenfassung und Ausblicke für zukünftige Entwicklungen bilden den Abschluss der Arbeit.

20 4 2 Grundlagen und Analyse Dieses Kapitel soll einen Überblick über die verwendeten Techniken und über den aktuellen Stand der Technik liefern. Nach einer Einführung in das Thema Piraterie werden in den folgenden Abschnitten der Stand der Technik in Bezug auf digitale Wasserzeichen als auch in Bezug auf Peer-to-Peer beschrieben. Dabei erfolgt eine erste für eine solche Arbeit unerlässliche Analyse. 2.1 Piraterie In diesem Abschnitt erfolgt eine Einführung in die verschiedenen Aspekte der Internet- Piraterie. Nach einer kurze Einführung in ihre Geschichte werden die rechtlichen Aspekte, die ökonomischen Folgen und die möglichen Gegenmaßnahmen behandelt. Das Internet hat die Produktion, die Nutzung und den Vertieb von digitalen Medien (z.b. Bilder, Musik oder Film) revolutioniert. Betroffen von dieser Revolution sind alle Mitglieder der Wertschöpfungskette, u.a. die Konsumenten, Produzenten und der Vertrieb. Insbesondere die Möglichkeit, Medien in nicht physischer Form zu vertreiben, hat neue legale und illegale Geschäftsfelder entstehen lassen. Auf den folgenden Seiten sollen hauptsächlich die illegalen Seiten die sogenannten Raubkopien 1 beleuchtet werden. Nichtsdestotrotz sollen relevante legale Seiten nicht verschwiegen werden. 1 Im Folgenden wird der Ausdruck Raubkopie durch den Ausdruck Schwarzkopie ersetzt. Dieser Ausdruck beschreibt wesentlich treffender die begangene Straftat. 249 (1) des Strafgesetzbuch definiert einen Raub wie folgt: [...] mit Gewalt gegen eine Person oder unter Anwendung von Drohungen mit gegenwärtiger Gefahr für Leib oder Leben eine fremde bewegliche Sache einem anderen [...] wegnimmt [...].

21 2.1 Piraterie Geschichte der Schwarzkopie Zu Beginn der Computerentwicklung bestand das Hauptaugenmerk auf der Weiterentwicklung der Hardware. Software galt als frei verfügbar und wurde beliebig kopiert und verändert. 2 Einer der Vorreiter kommerzieller Software war Bill Gates, der 1975 zusammen mit Paul Allen Microsoft gründete mit dem Ziel, Software zu verkaufen. Das erste Microsoft-Produkt war eine Weiterentwicklung der Programmiersprache BASIC. Da zahlreiche Programmierer weiterhin ihrer alten Praxis der freien Vervielfältigung treu blieben, schrieb Bill Gates den sogenannten Open Letter 3, in dem er jeden des Diebstahls bezichtigte, der die Software ohne Bezahlung nutzte und kopierte 4. Mit dem Aufkommen von sogenannten Home-Computern in den 1980er Jahren wandelte sich der Computer vom Spiel- und Arbeitsgerät für Wissenschaftler und Freaks zu einem Gerät für das gemeine, wenn auch weiterhin technisch versierte Volk. Durch diesen Wandel wurde das Kopieren zu einer Art Volkssport. So sahen und sehen es noch heute viele als Hobby an, einen Kopierschutz zu umgehen. War dieses anfangs noch eher trivial, so wurde der Kopierschutz bis heute immer ausgeklügelter. Die Schwarzkopie wurde anfangs hauptsächlich im Schulhoftausch verbreitet. Mit dem Aufkommen der ersten Kopierschutzmechanismen entstanden die ersten Cracking Groups. 5 In diesen Gruppen vereinigten sich Cracker, um gemeinsam dem Hobby des Kopierschutzentfernens nachzugehen. Das Aufkommen des World Wide Web (WWW) wirkte wie eine Revolution der bisherigen Szene rund um die Schwarzkopie. Wurde früher Software über langsame Modems und Disketten getauscht, veränderte sich durch Integrated Services Digital Network (ISDN), Digital Subscriber Line (DSL) und das WWW einiges. Erst durch die neuen Technologien wurde es möglich, auch bis dahin viel zu große Werke, wie Audio, Video und Software, zu tauschen. Selbstverständlich spielten für diese Entwicklung auch noch weitere Technologien eine wichtige Rolle. Die Entwicklung der Compact Disc (CD), von Komprimierungsverfahren und nicht zuletzt die Entwicklung immer schnellerer Computer sind nur einige Beispiele. Zudem nahm die Qualität der Kopie von analogen Medien mit der Anzahl der hergestellten Kopien ab. Dieses Problem existiert bei digitalen Medien nicht mehr. Heute ist das Anfertigen 2 (Vgl. Krömer und Sen 2006, S.22) 3 (Vgl. Gates 1976) 4 (Vgl. Krömer und Sen 2006, S.26) 5 (Vgl. Krömer und Sen 2006, S.32)

22 6 2 Grundlagen und Analyse Abbildung 2.1: Verbreitungspyramide (Vgl. Krömer und Sen 2006, S.48) von beliebig vielen Kopien ohne Qualitätsverlust möglich. Parallel zu diesen technologischen Entwicklungen bildete sich eine Szene, wie sie in Abbildung 2.1 zu sehen ist. In dieser Verbreitungspyramide soll der typische Weg von sogenannten Warez 6 gezeigt werden. Im Folgenden werden die einzelnen Gruppierungen kurz beschrieben: Die Release-Szene bzw. Cracker-Szene ist zuständig für die Versorgung der ganzen Schwarzkopie-Szene mit neuen Warez. Es sei dabei angemerkt, dass ein Großteil der Gruppen dieser Szene nicht aus kommerziellen Zwecken handeln. Zwischen den Gruppen herrscht ein reger Wettbewerb um die meisten 0-Days-Releases. Mit diesem Namen werden Warez bezeichnet, die mit oder sogar vor dem offiziellen Marktstart veröffentlicht werden. Die FXP-Szene 7 sorgt für die Verbreitung der durch die Release-Szene in Umlauf gebrachten Warez. Auch hier herrscht ein reger Wettbewerb innerhalb der Szene um die Anzahl der verbreiteten Warez. Die Filesharing-Szene umfasst die Gelegenheitskopierer, sozusagen die Konsumenten der Schwarzkopie-Szene. Diese Szene entwickelte sich erst 1999 mit der Veröffentlichung der Internent-Tauschbörse Napster. 6 Warez ist ein Sammelbegriff für Schwarzkopien, der in der Filesharing-Szene Verwendung findet. Mehr zum Szenejargon unter (Krömer und Sen 2006, S.36) 7 Der Name dieser Szene kann auf das File Exchange Protocol (FXP) zurückgeführt werden. Dabei handelt es sich um ein zur schnellen Daten-Übertragung zwischen FTP-Servern unterlässliches Protokoll.

23 2.1 Piraterie Motivation und Psychologie des Schwarzkopierens In diesem Abschnitt soll über Motive des Schwarzkopierens und über die Psychologie des Kopierens gesprochen werden. Es würde allerdings zu weit gehen, über die Zubringer bzw. Lieferanten (also die Release-Szene und FXP-Szene) zu sprechen. Dazu sei auf Krömer und Sen (2006) S.175 ff verwiesen. Die Motive für das Tauschen sind sehr unterschiedlich. Sie reichen von wirtschaftlichen über ideologische bis zu sozialen Motiven. Zu den wirtschaftlichen Motiven zählt u.a. die Theorie des Homo oeconomicus, d.h. das Handeln zum größtmöglichen Nutzen. Dies unterstreicht auch eine Studie der Universität Zürich aus dem Jahr 2004, in der unter anderem die Gründe, warum keine kommerziellen Angebote genutzt werden, untersucht wurden (siehe Abbildung 2.2). Abbildung 2.2: Gründe gegen eine Nutzung kommerzieller Angebote (Vgl. Bamert u. a. 2004, S.5) Ein Beispiel für ideologische Gründe ist die Meinung: Freie Information für alle. Zu den sozialen Motiven zählt u.a. sozialer Druck, der beispielsweise durch Freunde und Bekannte ausgeübt wird, die etwas kopiert haben wollen. Weitere Motive sind u.a. ein Sammeltrieb oder einfach Gewohnheit. Diese Motive können aber nicht zu 100% auf Internet-Tauschbörsen übertragen werden. Hier greifen weitere Motive, wie mangelndes Unrechtsbewußtsein. Zudem vermuten die Filesharer kein Risiko und fühlen sich anonym und unbeobachtet. Diesen Tatbestand belegen

24 8 2 Grundlagen und Analyse mehrere Studien. Unter anderem geht aus der Studie Digitale Mentalität der Universität Witten/Herdecke herbor, dass es ein verbreitetes Bewusstsein für die Tatsache, dass Raubkopieren eine Straftat ist, die wirtschaftlichen Schaden verursacht [gibt]. Weiter heißt es, dass dieses Bewusstsein [... ] jedoch meist nur geringen Einfluss auf das tatsächliche Raubkopierverhalten [hat]. Im Falle der Urheberrechtsverletzung, die durch digitale Vervielfältigung begangen wird, bleibt ein intuitives Geständnis für das damit verbundene Unrecht aus, weil das Tatbestandsmerkmal der Wegnahme fehlt, das unseren historisch gewachsenen Vorstellungen von Diebstahl zu Grunde liegt. 8 Markus Giesler zeigt zudem in seiner Studie Rethinking Consumer Risk, dass das Risiko, einer Straftat in Form eines Urheberrechtsvergehens überführt zu werden, gegen Null tendiert. Dies führt er in seiner Studie auf das Prinzip der Kollektivierung von Risiko zurück. Das bedeutet: Je größer die Zahl der Nutzer in einer Tauschgemeinschaft ist, desto geringer ist das Risiko für den Einzelnen Rechtliche Aspekte Um eine Analyse der rechtlichen Situation durchführen zu können, müssen zunächst einmal die rechtlichen Grundlagen erläutert werden. Das in Deutschland wichtigste Gesetz in diesem Zusammenhang ist das Gesetz über Urheberrecht und verwandte Schutzrechte (UrhG). Der erste Paragraph dieses Gesetzes lautet: Die Urheber von Werken der Literatur, Wissenschaft und Kunst genießen für ihre Werke Schutz [...]. 10 Durch dieses Gesetz sind u.a. auch alle digitalen Medien geschützt. 11 Grundgedanke des Urhebergesetzes ist die Ermöglichung eines wirtschaftlichen Ertrags für den Urheber aus seiner geistigen Leistung 12. Das Gesetz soll den Urhebern die rechtliche Grundlage dafür geben, Art und Umfang der Nutzung ihrer Werke zu kontrollieren. Tauschbörsen werden vermehrt zum Tausch von urheberrechtlich geschützten Medien genutzt. Tauschbörsennutzer verstoßen daher häufig gegen das Urhebergesetz. So bedeutet eine Veröffentlichung eines urheberrechtlich geschützen Mediums in einer Tauschbörse für den Anbieter einen Verstoß gegen 15 (2) und 19 des UrhG. In diesen Paragraphen wird das Recht der öffentlichen Zugänglichmachung beschrieben (Vgl. für Strategieentwicklung in Kooperation mit der Universität Witten/Herdecke 2004, S.4) 9 (Vgl. Giesler 2004, S.35) 10 (Vgl. GesetzUeberUrheberrechtUnd, 1) 11 (Vgl. GesetzUeberUrheberrechtUnd, 2) 12 (Vgl. Krömer und Sen 2006, S.190) 13 (Vgl. GesetzUeberUrheberrechtUnd, 15(2) u. 19)

25 2.1 Piraterie 9 Lädt dagegen der Tauschbörsennutzer urheberrechtlich geschützes Material aus einer Tauschbörse herunter, so verstößt der Nutzer gegen 16 des UrhG. Dieser Paragraph billigt dem Urheber Rechte zu, ob und wie sein Werk veröffentlicht, vervielfältigt und verbreitet werden darf. 14 Das Urheberrecht hat allerdings auch viele Ausnahmen, um die Informationsfreiheit und das Entstehen von neuen Werken nicht zu gefährden. Unter anderem erlaubt der 53 Nutzern Filme und Musikstücke für den privaten Gebrauch zu kopieren. Zudem ist eine Weitergabe von Kopien im Kreise der Familie und Freunde legal, an Arbeitskollegen und Nachbarn allerdings nicht. Des Weiteren ist das Kopieren nur in geringen Stückzahlen erlaubt. 15 Die Gesetzesänderung des UrhG zum brachte zwei wichtige Einschränkungen für die Privatkopie. Grund für die Gesetzesänderung war eine EU-Richtlinie von Nach der Gesetzesänderung sind Privatkopien von offensichtlich rechtswidrig hergestellten Vorlagen illegal. 18 Zudem ist eine Privatkopie nur erlaubt, wenn hierfür kein Kopierschutz umgangen werden muss. 19 Die Gesetzesänderung von 2003 setzte allerdings nur diejenigen Teile der EU-Richtlinie um, die zwingend nötig waren. Des Weiteren ist die Regelung der Privatkopie seit der Novellierung sehr missverständlich. Wie bereits erwähnt, ist die Vervielfältigung zum privaten Gebrauch unter Verwendung einer offensichtlich rechtswidrig hergestellten Vorlage explizit verboten. Die meisten in Tauschbörsen verfügbaren Vorlagen sind allerdings keine rechtswidrig hergestellten, sondern nur unerlaubt zugänglich gemachten Vorlagen. Daher herrscht seitdem eine rege Diskussion über weitere Anpassungen, den sogenannten zweiten Korb. Doch gehen auch hier die Meinungen stark auseinander. So befürworten einige, vor allem die Vertreter der Musik- und Filmindustrie, die Abschaffung der Privatkopie. Dadurch befürchten allerdings viele eine Kriminalisierung der Tauschbörsen, was wiederum einen weiteren technologischen Fortschritt verhindert könnte. Weitere Diskussionspunkte des zweiten Korbes sind eine sogenannte Kulturflatrate und eine sogenannte Bagatellklausel. Unter der Kulturflatrate versteht man eine Pauschalabgabe, wodurch aber Downloads aus jeglichen Quellen legalisiert werden. Die Bagatellklausel sieht eine Straffreiheit bei rechtswidrigem 14 (Vgl. GesetzUeberUrheberrechtUnd, 16) 15 (Vgl. irights.info ) 16 (GesetzUeberUrheberrechtUnd, Vgl.) 17 (Vgl. Richtlinie2001/29/EGDesEuropaeischen: ) 18 (Vgl. GesetzUeberUrheberrechtUnd, 53 Abs. 1) 19 (Vgl. GesetzUeberUrheberrechtUnd, 95a)

26 10 2 Grundlagen und Analyse Kopieren in geringer Stückzahl und ausschließlich zum privaten Gebrauch vor. Dies würde vor allem Polizei und Staatsanwaltschaften entlasten Maßnahmen gegen Schwarzkopierer Schwarzkopieren ist nicht nur eine Ordnungswidrigkeit, wie etwa ein Parkvergehen, sondern stellt eine Straftat dar. So drohen Schwarzkopierern neben Geldstrafen auch Freiheitsstrafen. Zusätzlich zur strafrechtlichen Verfolgung von Schwarzkopierern können diese auch noch zivilrechtlich belangt werden. Hier drohen dann zudem hohe Schadensersatzforderungen. In der Praxis wird allerdings nur ein Bruchteil der Vergehen verfolgt. Polizei und Staatsanwaltschaft haben selten Interesse und Zeit, kleinen Fischen das Handwerk zu legen. Darauf weisen auch die Befürworter der Bagatellklausel hin. Gefahr droht diesen kleinen Fischen allerdings von Seiten der Industrie und den Urhebern. Hier haben sich zahlreiche Industrieverbände gebildet, um gemeinsam gegen Verstöße zivilrechtlich vorzugehen. So verfolgt die Business Software Alliance (BSA) als eine ihrer Hauptaufgaben Unternehmen, die nicht korrekt lizensierte Software einsetzen. Hinter der BSA stehen Unternehmen wie Microsoft, Apple und IBM. 20 Für die Musikbranche sind als wichtigste Verbände der Verband der US-Musikindustrie Recording Industry Association of America (RIAA) sowie der Weltverband der Phonoindustrie International Federation of the Phonographic Industry (IFPI) genannt. Für die deutsche Filmbranche und Unterhaltsungsindustrie tritt zusätzlich häufig die Gesellschaft zur Verfolgung von Urheberrechtsverletzungen e.v. (GVU) in Aktion. Anfangs beschränkte sich die Pirateriebekämpfung auf die großen Fische, die Release- Groups. Dann ging man dazu über, auch gegen Tauschbörsen vorzugehen veröffentlichte die RIAA erste Pläne, gegen Nutzer von Tauschbörsen vorzugehen. 21 Um ein Exempel zu statuieren, wurden 261 Tauschbörsennutzer verklagt. 22 Allerdings mussten mehrere Klagen unter dem Druck der Öffentlichkeit fallen gelassen werden und der Großteil der restlichen Klagen wurde außergerichtlich nach Schadensersatzzahlungen beigelegt. 23 Unter anderem weisen aber Messungen der britischen Firma CacheLogic darauf hin, dass sich keinerlei Erfolge dieser Maßnahmen einstellen. Aktuelle Messungen weisen auf eine anhaltend 20 (Vgl. BSA 2000) 21 (Vgl. Schotzger ) 22 (Vgl. Wilkens ) 23 (Vgl. IFPI)

27 2.1 Piraterie 11 hohe Nutzung von P2P-Systemen hin Ökonomische Folgen Eine Studie von PriceWaterhouseCoopers 25 weist für 2004 zwar einen Rückgang des Wertes der illegal getauschten Musik auf, allerdings ist dieser mit 820 Millionen Euro immer noch immens betrug nach dieser Studie der Wert sogar 1,1 Milliarden Euro. Zudem besagt die Studie, dass 2004 der Anteil der illegal getauschten Musik an den Gesamtausgaben für traditionelle Tonträger 42% betrug. Abbildung 2.3 zeigt die Verteilung der Umsatzverluste auf Teilverluste durch Tausch im Internet, durch Schulhoftausch und durch traditionellen Tausch. Dabei kann festgestellt werden, dass der Internettausch immer noch mit Abstand den größten Posten stellt. Abbildung 2.3: Umsatzverluste durch Piraterie (Vgl. Müller u. a. Oktober 2005, S.37) Eine der wichtigsten Quellen für Gewinnausfälle bzw. -verluste durch Schwarzkopierer ist die Piracy Study der BSA 26. Allerdings ist bei diesen Quellen immer auch eine genaue Analyse der Datengewinnung durchzuführen, um eine objektive Sicht zu erhalten. Um den Schaden 24 (Vgl. CacheLogic 2005) 25 (Vgl. Müller u. a. Oktober 2005) 26 (Vgl. BSA 2005)

28 12 2 Grundlagen und Analyse zu berechnen, wurden beispielsweise bei der Piracy Study von einem Marktforschungsinstitut zuerst aufwendige Marktforschungen durchgeführt. Dabei wurde ermittelt, welche Software für einen durchschnittlichen Computer benötigt wird. Diese Daten wurden dann mit den Verkaufszahlen verglichen und so der Gesamtschaden berechnet. Laut IFPI stehen derzeit rund 775 Millionen Musikstücke in Tauschbörsen illegal zum Download bereit. 27 Zudem zeigte eine Studie von 2005 über einen Zeitraum von 5 Monaten, dass 94% der Hollywood-Produktionen vor oder kurz nach dem Kinostart verfügbar waren. 28 Ähnliche Studien wie zur Musikindustrie existieren auch für Film und Software 29. Eine Studie der Universität Zürich von Dezember 2004 belegt zudem, dass Tauschbörsen ungebrochen die beliebteste Quelle für Musik aus dem Internet sind (vgl. Abbildung 2.4 ). 30 Abbildung 2.4: Nutzung verschiedener Kanäle für den Musik-Download im Internet (Vgl. Bamert u. a. 2004, S.4) Die Organisation for Economics Co-operation and Development (OECD) stellte in ihrer Studie Digital Broadband Content: Music zwei unterschiedliche Hypothesen für die ökonomische Relevanz auf. 31 Die erste Hypothese lautet, dass die heruntergeladenen Musikstücke von den Tauschbörsennutzern als vollwertiger Ersatz genutzt werden und anschließend nicht mehr gekauft werden. Diese Hypothese bestätigt die Meinung der Musikindustrie. Die zweite 27 (Vgl. IFPI) 28 (Vgl. Krempl ) 29 (Vgl. Deutschland 2006) 30 (Vgl. Bamert u. a. 2004) 31 (Vgl. OECD , S.77)

29 2.1 Piraterie 13 Hypothese besagt, dass die heruntergeladene Musik nur zum Probehören genutzt wird und somit der Absatz durch die Tauschbörsen gefördert wird. Diese These wird durch mehrere andere Studien gestützt. 32 Die Musikindustrie kritisierte diese Studien 33 und gab als Antwort wiederum eigene Studien in Auftrag 34. Zusammenfassend kann dies wie folgt gedeutet werden: Die meisten Studien kommen zum Ergebnis, dass Internet-Tauschbörsen sowohl positive wie auch negative Einflüsse auf den Umsatz der Tonträger haben Existierende Lösungsansätze zur Pirateriebekämpfung Es gibt verschiedene Ansätze zur Pirateriebekämpfung. Jeder dieser Ansätze greift einen anderen Punkt auf. Ein Ansatzpunkt ist das Vorgehen gegen die Tauschnetzwerke selbst. Hier muss zwischen dem Vorgehen gegen Netz-Betreiber und Netz-Entwickler differenziert werden. Ein weiterer Ansatzpunkt ist das Vorgehen gegen die Internetzugangsanbieter (engl. Internet Service Provider (ISP)) und gegen die Tauschbörsennutzer 36. Wie bereits im Artikel beschrieben, muss hier zwischen Up- und Downloadern unterschieden werden. Zuletzt ist der Kopierschutz nicht zu vergessen. Der Prozess gegen Napster war der Beginn immer neuer Prozesse gegen Anbieter von Tauschbörsen-Software 37. Mehr über Napster folgt im Abschnitt Abschluss einer ganzen Serie von Prozessen bildet der zur Zeit noch laufende Prozess gegen den Tauschbörsen-Anbieter Limewire. Andere Tauschbörsen-Anbieter gingen in letzter Zeit dazu über, außergerichtliche Vergleiche mit den Rechtsvertretern zu schließen, um einem Gerichtsprozess aus dem Weg zu gehen. So zahlte im September 2006 der inzwischen aufgelöste edonkey-betreiber MetaMachine 30 Millionen US-Dollar an die RIAA 38. Zuvor hatte schon der Anbieter der Software Kazaa nach einem langen Rechtsstreit einer außergerichtlichen Einigung zugestimmt. Gleich zweifach sind die Internet-Zugangsanbieter von der Pirateriebekämpfung betroffen. Zum einen forderte die RIAA 2003 erstmals die Anbieter auf, technische Vorkehrungen zu 32 (Vgl. Streit )(Vgl. Wilkens ) 33 (Vgl. Wilkens ) 34 (Vgl. Wilkens ) 35 (Vgl. OECD , S.79) 36 (Vgl. OECD , S.78) 37 (Vgl. Röttgers 2003, S.23) 38 (Vgl. Jurran )

30 14 2 Grundlagen und Analyse treffen, Filesharing zu unterbinden 39. Diese Forderungen wurden immer wieder wiederholt. Zuletzt durch den Branchenverband IFPI auf der Messe Popkomm 40. Zum anderen sind die Zugangsanbieter durch Forderungen seitens der Urheberrechtsvertreter zur Ermittlung von Kundendaten durch eine IP-Adresse betroffen. In Deutschland ist dies aber rechtlich umstritten. So hat ein Urheber zur Zeit keinen Auskunftsanspruch. Nur die Strafverfolgungsbehörden verfügen über diesen Anspruch nach Strafprozeßordnung (StPO) 100g. Daher wählen die Rechteinhaber derzeit den Umweg über ein Strafverfahren. Wesentlich problematischer ist dabei noch, dass Zugangsanbieter nach dem Telekommunikationsgesetz (TKG) 96 verpflichtet sind, nach Beenden einer Verbindung alle Daten zu löschen, es sei denn, sie seien aus abrechungstechnischen Gründen zwingend erforderlich. Allerdings erfordert eine am 21. Februar 2006 durch den Rat der Europäischen Union verabschiedete Richtlinie über die Vorratsdatenspeicherung eine Anpassung des Gesetzes bis spätestens zum März Der Richtlinie nach müssen bestimte Daten insbesondere Verkehrsdaten und Standortdaten, die bei der Bereitstellung und Nutzung öffentlicher elektronischer Kommunikationsdienste anfallen von den Diensteanbietern auf Vorrat für mindestens sechs Monate gespeichert werden. Ein weiterer Versuch, die Piraterie einzuschränken, besteht darin, den Austausch von urheberrechtlich geschützem Material uninteressant zu machen. Dies kann u.a durch die Verbreitung manipulierter Musikstücke in den jeweiligen Tauschbörsen und den Einsatz von manipulierten Servern geschehen 42. Einer der aktuellsten Ansätze zur Pirateriebekämpfung stammt von der Schweizer Firma Logistep. Diese entwickelte eine Software, die automatisch nach unerlaubten Download- Angeboten in Tauschbörsen sucht. Jede Rechtsverletzung wird automatisch über eine Anwaltskanzlei zur Anzeige gebracht. Gleichzeitig wird eine an den entsprechenden Service-Provider abgesetzt mit der Aufforderung, die entsprechenden IP-Adressen und die zugehörigen Kundendaten zu sichern. 43 Der Kopierschutz ist auch zu den Maßnahmen der Pirateriebekämpfung zu zählen. Waren früher bei analogen Medien eine Art natürlicher Kopierschutz durch die Qualitätsverluste beim Kopieren gegeben, ist es heute dank digitaler Technik möglich, grenzenlos Kopien in fortdauernd gleichbleibender Qualität anzufertigen. Daher existieren heute mehrere verschiedene Kopierschutzverfahren. 39 (Hansen , Vgl.) 40 (Vgl. Krempl ) 41 (Vgl. Richtlinie2006/24/EGDesEuropaeischen: ) 42 (Vgl. Röttgers 2003, S.67) 43 (Vgl. Bleich )

31 2.2 Digitale Wasserzeichen 15 Eine Möglichkeit greift auf gezielte Abweichungen vom Standard im Speichermedium (CD, DVD,... ) zurück. Die meisten Kopierprogramme für CDs gleichen diese Abweichungen als Beschädigungen aus. Der Kopierschutz bei Programmen überprüft eben diese Abweichungen. Fehlen diese, wird das Programm nicht ausgeführt. Bei Musik-CDs basieren die Abweichungen auf Fehlern, die von CD-Playern ignoriert werden aber in CD-Laufwerken in Computern zu Fehlern führen, so dass diese dort nicht gelesen werden können. Allerdings gibt es inzwischen zahlreiche Möglichkeiten diesen Kopierschutz zu überwinden, z.b. Brennprogramme, die jede Abweichung mitkopieren, oder neue CD-Laufwerke, die diese CDs auch lesen können. Moderne Kopierschutzverfahren setzen auf Verschlüsselung der Inhalte. Dadurch entsteht ein entsprechender Abspielschutz. Mit diesem sogenannten Digital Rights Management (DRM) lässt sich nun über spezielle Abspiel-Hard- und Software kontrollieren, was der Nutzer mit dem Medium machen darf. Allerdings schränkt dieses System die Nutzung stark ein. Zudem wirkt eine zu starke Restriktion wohl eher kundenfeindlich und hat somit auf dem freien Markt kaum eine Chance. So verwendet der zur Zeit mit Abstand erfolgreichste kommerzielle Download-Anbieter Apple in einem itunes Music Store nur ein nominelles DRM. Richard Stallmann sagt hierzu in einem Interview 44, dass statt einem Digital Rights Management lediglich ein Digital Inconvenience Management zum Einsatz kommt, da itunes es erlaubt, erworbene Musikstücke auf eine Audio-CD zu brennen. Diese können von dieser CD aus wiederum problemlos in ein digitales Format umgewandelt werden. Beim zur Zeit zweitgrößten Download-Dienst, emusic.com, kommt sogar gar kein DRM zum Einsatz. Auf diesen Grundlagen und Erkenntnissen aufbauend wird im nächsten Abschnitt die Technik der digitalen Wasserzeichen und ihre möglichen Einsatzgebiete zur Pirateriebekämpfung beschrieben. 2.2 Digitale Wasserzeichen Digitale Medien haben, wie bereits mehrfach erwähnt, in den letzten Jahren stark an Bedeutung gewonnen. Allerdings kann für diese die Authentizität der Daten, um die Identität des Besitzers oder Senders zu garantieren, nicht gewährleistet werden. Außerdem ist auch der Nachweis der Integrität, d.h. Unversehrtheit und Unverfälschtheit, um Manipulationen zu erkennen, nicht gewährleistet (Vgl. p2pnet ) 45 (Vgl. Dittmann 2000, S.1)

32 16 2 Grundlagen und Analyse Digitale Wasserzeichenverfahren bieten Lösungsmöglichkeiten für die oben genannten Probleme. Das digitale Wasserzeichen wird ähnlich wie das klassische Wasserzeichen (z.b. das Geldnotenwasserzeichen) in ein Trägermedium eingebettet. Im Unterschied zum klassischen kann das digitale Wasserzeichenverfahren auf jeder Art von digitalen Mediendateien verwendet werden und nicht nur auf Papier. Digitale Wasserzeichen erlauben es, Authentizität oder Integrität nachzuweisen, indem Informationen direkt in das Datenmaterial eingefügt werden. Grundsätzlich kann man zwischen zwei Arten von Wasserzeichen unterscheiden: Wahrnehmbare digitale Wasserzeichen Nicht wahrnehmbare digitale Wasserzeichen Wahrnehmbare digitale Wasserzeichen sind wie das klassische Wasserzeichen sichtbar bzw. hörbar. Dies könnte z.b. ein Firmenlogo sein. Die durch nicht wahrnehmbare Wasserzeichen eingebettete Informationen sind im Allgemeinen für das menschliche Auge nicht sichtbar, für das menschliche Ohr nicht hörbar und so mit dem Datenmaterial verwoben, dass ein einfaches Entfernen unmöglich ist, ohne das Datenmaterial zu beschädigen. 46 Für diese Arbeit sind ausschließlich die nicht wahrnehmbaren Wasserzeichen relevant. Die wahrnehmbaren Wasserzeichen disqualifizieren sich für den Einsatz durch ihre offensichtliche Existenz. Hierbei ist es nicht ausschlaggebend, dass die Existenz bekannt ist. Dies wird sogar teilweise auch bei nicht wahrnehmbaren Wasserzeichen gewünscht zwecks Abschreckung der Benutzer. Aufbauend auf denen in Abschnitt erläuterten Erkenntnissen, dass sich Tauschbörsen-Benutzer zumeist unbeobachtet und anonym fühlen, spricht man auch gerne von einem psychologischen Kopierschutz. Ein maßgeblicher Grund gegen eine Verwendung wahrnehmbarer Wasserzeichen und für eine Verwendung nicht wahrnehmbarer Wasserzeichen ist, dass die Nutzbarkeit der Mediendateien durch die Sichtbarkeit bzw. Hörbarkeit des Wasserzeichens stark eingeschränkt wird. Die Abteilung Mediensicherheit in der IT (MERIT) des Fraunhofer-Institut für Integrierte Publikations- und Informationssysteme (IPSI) definiert auf ihrer Homepage 47 nicht wahrnehmbare Wasserzeichen wie folgt. Definition 1 Digital Watermarking ist ein Verfahren, durch nicht-wahrnehmbare, gezielte Veränderungen an Multimediadaten, beliebige Informationen in digitale Medien (wie zum 46 (Vgl. Dittmann 2000, S.2) 47 (Vgl. MERIT, ist watermarking.de.html)

33 2.2 Digitale Wasserzeichen 17 Beispiel Audio, Video, Bilder, etc.) einzubetten. Dabei wird die Sicherheit und Geheimhaltung der eingebetteten Information durch einen geheimen Schlüssel garantiert. Ohne den geheimen Schlüssel lässt sich das Wasserzeichen nicht auslesen oder verändern. Wasserzeichen können so gestaltet werden, dass sie robust gegenüber Veränderungen des Trägermediums sind. Dies bedeutet, dass die eingebettete Information auch nach der Veränderung des markierten Mediums noch vorhanden ist. Der Wasserzeichenalgorithmus besteht aus zwei Prozessen: dem Einbettungsprozess (Watermark Embedding) und dem Abfrage- bzw. Ausleseprozess (Watermark Retrieval) (vgl. Abbildung 2.5). Abbildung 2.5: Einbetten und Auslesen eines digitalen Wasserzeichens Der Einbettungsprozess fügt die Wasserzeicheninformation (Watermark Message) in das Datenmaterial (Cover) ein und es entsteht das markierte Trägersignal. Der geheime Schlüssel wird dabei benutzt, damit das Wasserzeichen nicht von Angreifern manipuliert oder gelöscht werden kann. Der Abfrageprozess funktioniert umgekehrt. Er extrahiert mit dem geheimen Schlüssel aus dem markierten Material die Wasserzeicheninformation. Da das Wasserzeichen nicht entfernbar sein soll, kann man mit dem Abfrageprozess nur die Wasserzeicheninformation auslesen, aber nicht das Original wiederherstellen. In der Praxis werden oft zusätzliche Parameter verwendet, z.b. Wasserzeichenstärke, Initialisierungswerte, (Vgl. Dittmann 2000, S.19 f)

34 18 2 Grundlagen und Analyse Eigenschaften eines Wasserzeichen-Verfahrens Digitale Wasserzeichen besitzen eine Vielzahl von verschiedenen Eigenschaften. Hier werden nur die wichtigsten Eigenschaften kurz aufgeführt. Weitere Eigenschaften und ausführlichere Informationen werden in (Dittmann 2000, S.25 ff) und in(dittmann u. a. 2005/12//, S.457 f) aufgeführt. Robustheit: Unter einem robusten Wasserzeichen versteht man ein Wasserzeichen, welches gegenüber Transformationen des Trägermediums widerstandsfähig ist. Das Gegenstück zum robusten Wasserzeichen ist das fragile Wasserzeichen, welches nach jeglicher Transformation des Trägermediums zerstört ist. Nicht-Wahrnehmbarkeit: Diese Eigenschaft beschreibt, inwiefern ein eingebettetes Wasserzeichen akustisch bzw. optisch wahrgenommen werden kann. Security: Ein Wasserzeichen wird als sicher (secure) eingestuft, wenn die eingebettete Information durch einen Angreifer, dem das Verfahren bekannt ist und dem mindestens ein markiertes Datenmaterial vorliegt, nicht zerstört, verfälscht oder aufgespürt werden kann. Komplexität: Diese Eigenschaft beschreibt den Aufwand, der erbracht werden muss, um die Wasserzeichen-Information einzubringen und wieder auszulesen. Kapazität: Dieser Parameter misst, welche Datenmenge in das Trägermedium eingebracht werden kann Anwendungsgebiete digitaler Wasserzeichen Für Wasserzeichen gibt es eine Vielzahl von Anwendungsgebieten. Die wichtigsten sind im Folgenden aufgeführt 49. Verfahren zur Urheberidentifizierung (Authentifizierung): Robust Authentication Watermark Verfahren zur Kundenidentifizierung (Authentifizierung): Fingerprint Watermark Verfahren zur Annotation des Datenmaterials: Caption Watermark, Annotation Watermark Verfahren zur Durchsetzung des Kopierschutzes oder Übertragungskontrolle: Copy Control Watermark, Broadcast Watermark 49 (Vgl. Dittmann 2000, S.30 f)

35 2.2 Digitale Wasserzeichen 19 Verfahren zum Nachweis der Unversehrtheit (Integritätsnachweis): Integrity Watermark, Verification Watermark AlgorithmManager 50 Der AlgorithmManager ist eine generische Lösung zum Zugriff auf Wasserzeichenfunktionalitäten. Er wurde in der Abteilung MERIT des Fraunhofer IPSI entwickelt. Trotz der Implementierung in JAVA ist der AlgorithmManager unabhängig von allen Wasserzeichen- Algorithmus spezifischen Eigenschaften, wie Entwicklungssprache, Medien-Typ oder den benötigten Parametern. Dies wird durch drei wesentliche Punkte erreicht: 1. Die Entwickler eines Wasserzeichenalgorithmus spezifizieren den Gebrauch ihres Algorithmus in einer XML-Datei. Durch diese wird eine Interpretation des Algorithmus durch den AlgorithmManager ermöglicht. 2. Das Wasserzeichenverfahren selber ist hinter Interfaces versteckt. Der AlgorithmManager stellt wiederum Instanzen dieser Interfaces nach Definition aus der XML-Datei zur Verfügung. 3. Die Wasserzeichennachricht, die jeder Algorithmus nutzen muss, ist flexibel und kann aus Bits, Bytes, Characters oder als Zeichenkette (String) realisiert werden. Jeder Algorithmus besteht aus drei Objekten: algodescription.xml Wie bereits erwähnt, stehen in dieser Datei alle über einen Algorithmus benötigten Informationen. Der AlgorithmManager sucht diese Datei und erstellt daraus die interne Präsentation des Wasserzeichenalgorithmus. Embedder Der Embedder stellt die Funktionen zum Einbetten einer Wasserzeicheninformation in ein Medium zur Verfügung. Detektor Der Detektor liest die eingebetteten Informationen aus einem Medium aus. Der AlgorithmManager bietet einen einfachen Umgang mit den verschiedensten Implementierungsformen von Wasserzeichen-Algorithmen. 50 Dieser Abschnitt beruht auf der Präsentation von Patrick Wolf (Vgl. Wolf 2006)

36 20 2 Grundlagen und Analyse Abbildung 2.6: algodescription.xml (Vgl. Wolf 2006, Folie 4) 2.3 Verteilte Systeme Es existieren verschiedene Definitionen für ein verteiltes System. Leslie Lamport definiert ein verteiltes System sehr allgemein: Definition 2 A distributed system is one in which the failure of a computer you didn t even know existed can render your own computer unusable. Andrew Tanenbaum definiert ein verteiltes System wie folgt: Definition 3 Ein verteiltes System ist eine Menge voneinander unabhängiger Computer, die dem Benutzer wie ein einzelnes kohärentes System erscheinen 51. George Coulouris definiert ein verteiltes System wie folgt: Definition 4 Als verteiltes System wird ein System bezeichnet, bei dem sich die Hardwareund Softwarekomponenten auf vernetzten Rechnern befinden und nur über den Austausch von Nachrichten kommunizieren und ihre Aktionen koordinieren (Vgl. Tanenbaum u. a. 2003, S.18) 52 (Vgl. Coulouris u. a. 2005)

37 2.3 Verteilte Systeme 21 Zusammenfassend besagen die Definitionen zwei Dinge. Zum einen sind die verwendeten Computer autonom und miteinander vernetzt, zum anderen verbirgt ein verteiltes System die Verwendung mehrerer Computer. Diese Eigenschaft wird als Transparenz bezeichnet. Durch die Definition von Leslie Lamport wird deutlich, dass Fehlertoleranz von verteilten Systemen eine sehr wichtige Eigenschaft ist, die noch heute in vielen Systemen fehlt. Die verschiedenen Definitionen zeigen allerdings auch, dass es verschiedene Auffassungen über ein verteiltes System gibt. Um ein besseres Bild über ein verteiltes System zu bekommen, werden im Folgenden die wichtigsten Eigenschaften eines guten verteilten Systems aufgezählt: Eine der wichtigsten Eigenschaften ist, wie bereits erwähnt, die Eigenschaft der Transparenz. Diese Eigenschaft kann noch feiner untergliedert werden 53 : Zugriffstransparenz: Diese verbirgt Unterschiede in der Datendarstellung und der Zugriffsart auf eine Ressource. Positions-/Ortstransparenz: Die Ortstransparenz bezeichnet die Eigenschaft, dass der Ort der Ressource verborgen bleibt. Migrationstransparenz: Unter dieser Art der Transparenz versteht man die Eigenschaft, dass eine Ressource verschoben werden kann. Relokationstransparenz: Diese Eigenschaft ist eine verstärkte Eigenschaft der Migrationstransparenz: Eine Ressource kann verschoben werden, während sie genutzt wird. Replikationstransparenz: Diese Eigenschaft verbirgt, dass eine Ressource repliziert ist. Nebenläufigkeitstransparenz: Unter dieser Eigenschaft versteht man, dass eine Ressource zeitgleich von mehreren Benutzern genutzt werden kann. Fehlertransparenz: Diese Eigenschaft verbirgt einen Systemausfall, d.h. einen Ausfall eines einzelnen Systems im großen Ganzen. Persistenztransparenz: Unter Persistenztransparenz versteht man die Eigenschaft, dass verborgen bleibt, ob sich eine Ressource im Hauptspeicher oder auf der Festplatte befindet. Eine weitere wichtige Eigenschaft ist eine gute Skalierbarkeit. Diese Eigenschaft resultiert direkt aus der Definition, dass verschiedene Computer verwendet werden. Da die Wahrscheinlichkeit für Fehler und Ausfälle mit der Größe des verteilten Systems stark zunimmt, ist eine weitere wichtige Eigenschaft die Fehlertoleranz. 53 (Vgl. Tanenbaum u. a. 2003, S.21 ff)

38 22 2 Grundlagen und Analyse Eine weiterere wünschenswerte Eigenschaft ist die Offenheit des Systems. Mit dieser Eigenschaft wird bestimmt, wie gut sich das System auf verschiedenen Wegen erweitern lässt. Verteilte Systeme werden oft mit Hilfe sogenannter Middleware organisiert. Darunter versteht man eine Realisierung als Softwareschicht, die zwischen dem Betriebssystem und der Ebene aus Benutzern und Anwendungen eingefügt wird (vgl. Abbildung 2.7). Ein Beispiel dafür ist die in Abschnitt vorgestellte Peer-to-Peer-Plattform JXTA. Abbildung 2.7: Middleware (Vgl. Tanenbaum u. a. 2003, S.19) Der Entwurf und Betrieb eines verteilten Systems ist offensichlich komplexer als der eines zentralisierten Systems. Daher sollen im Folgenden die wichtigsten Motive für den Einsatz eines verteilten Systems erläutert werden. 1. Beschleunigung der Verarbeitung durch Parallelarbeit Einfachste Vorgehensweise nach dem Divide-and-Conquer-Prinzip: Aufteilung der zu verarbeitenden Daten in Teilmengen Verteilung der Arbeit an eine unabhängige Verarbeitungseinheit Parallele Verarbeitung und anschließende Zusammensetzung der Ergebnisse 2. Ausfallsicherheit durch Redundanz; redundante Datenspeicherung und/oder redundante Ausführung von Rechenoperationen, um Ausfälle abzufangen

39 2.4 Peer-to-Peer Peer-to-Peer Wie schon das englische Wort Peer (engl. Peer: Ebenbürtiger, Gleichgestellter) vermuten lässt, versteht man unter einem Peer-to-Peer (P2P)-Netzwerk ein Computernetzwerk, in dem alle Teilnehmer nahezu gleichberechtigt sind und sowohl Dienste in Anspruch nehmen (Client) als auch Dienste zur Verfügung stellen (Server). Da bisher keine grundlegende formale Definition existiert bzw. die vorhandenen Definitionen sehr verschieden sind, wird Peer-to-Peer wie folgt definiert: Definition 5 Unter einem Peer-to-Peer-Netzwerk versteht man ein Kommunikationsnetzwerk zwischen Rechnern, in dem jeder Teilnehmer sowohl Client- als auch Server-Aufgaben durchführt. Eine Beschreibung eines Peer-to-Peer-Systems ist durch die folgenden Eigenschaften möglich 54 : Rollensymmetrie: Jeder Peer ist sowohl Server als auch Client ( Servent ) Dezentralisierung keine zentrale Instanz zur Steuerung oder Koordination Information einer Gruppe sind keinem Peer vollständig bekannt, sondern über die Gruppe verteilt Peer kennt zumeist nur seinen Nachbarn und nicht die ganze Gruppe Selbstorganisation: Das globale Verhalten der Gruppe ergibt sich aus den lokalen Entscheidungen des Peers und der Interaktion zu ihr Autonomie: Peers sind in ihren Entscheidungen und ihrem Verhalten autonom. Zuverlässigkeit: Peers und Netzverbindungen sind nicht zuverlässig. Peers können ausfallen, Netzwerkverbindungen unterliegen Störungen und anderen Umwelteinflüssen. Verfügbarkeit: In Peer-to-Peer-Netzen sind nicht alle Peers zu jeder Zeit verfügbar. Daher müssen entsprechende Vorkehrungen in Form von Replikationen getroffen werden. Das älteste Peer-to-Peer-Netz ist das ARPANET, ein Vorreiter des heutigen Internets. Peerto-Peer wurde in den letzten Jahren zunehmend populärer. Ausschlaggebend dafür war u.a. Napster (vgl. Abschnitt ). 54 (Vgl. Hauswirth und Dustdar )

40 24 2 Grundlagen und Analyse Bei Peer-to-Peer-Systemen handelt es sich um so genannte Overlay-Netze. Diese bauen auf einer konkreten Netzwerk-Topologie eines Basisnetzwerkes auf und legen über dieses ein übergeordnetes unabhängiges Netzwerk. Das Peer-to-Peer-System ist für Aufbau und Verwaltung eines solchen Overlay-Netzes verantwortlich. Wie im vorherigen Abschnitt über verteilte Systeme (Abschnitt 2.3) bereits erwähnt, sind zwei der Hauptforderungen an verteilte Systeme Skalierbarkeit und Fehlertoleranz. Diese werden in Peer-to-Peer-Systemen durch Aufbau des Netzes automatisch erfüllt: Es ist für das Gesamtsystem unerheblich, ob ein Knoten ausfällt (Fehlertoleranz). Sind alle Knoten des Systems ausgelastet, lässt sich die Menge der Knoten vergrößern, auf welche die Gesamtlast verteilt wird (Skalierbarkeit). Größter Nachteil der Peer-to-Peer-Netze ist die teilweise wesentlich höhere Komplexität. Zu den bekanntesten Anwendungen des Peer-to-Peer-Prinzips zählen Tauschbörsen, Instant Messager (IM) und Voice over IP. Da Tauschbörsen in dieser Arbeit eine herausragende Rolle spielen, werden diese im nächsten Unterabschnitt näher betrachtet. Zudem wird das Peer-to-Peer-Framework JXTA, welches als Basis der prototypischen Implementierung dient, vorgestellt. Im Anschluss erfolgt eine Klassifizierung der vorgestellten Technologien Tauschbörsen Definition 6 Internet-Tauschbörsen sind Plattformen zum Autausch von Dateien über das Internet. Sie kombinieren Suchalgorithmen für verteilte Systeme und eine dezentrale Speicherung von Daten 55 und werden durch Peer-to-Peer-Netzwerke realisiert. Die Nutzung erfolgt durch Computerprogramme (sogenannte Clients), die auf jedem teilnehmenden Rechner installiert sind. Diese Clients implementieren Kommunikationsprotokolle und stellen Anwendern deren Funktionalitäten über eine Benutzerschnittstelle (engl. Graphical User Interface (GUI) ) zur Verfügung. Das Downloadangebot einer Tauschbörse besteht aus der Summe der von allen Teilnehmenern bereitgestellten Daten. Die Freigabe von Dateien für den Zugriff anderer Nutzer wird als File Sharing bezeichnet. File Sharing steht inzwischen synonym für den Dateiaustausch in Internet-Tauschnetzwerken. 55 (Vgl. Schoder und Fischbach 2002, S.6)

41 2.4 Peer-to-Peer 25 Grundsätzlich kann zwischen zwei Grundtypen von Peer-to-Peer-Netzen unterschieden werden (vgl. Abbildung 2.8). Man unterscheidet zwischen serverbasiertem und serverlosem Peerto-Peer-Netz. Beim serverbasierten Peer-to-Peer-Netz übernimmt ein übergeordneter Server die Koordinierung des Netzes. Die Verwaltung der Nutzer und der Dateien findet zentral statt. Lediglich der eigentliche Dateiaustausch findet direkt zwischen zwei Peers statt. Man spricht bei dieser Lösung auch von hybridem Peer-to-Peer, da es eine Zwischenlösung zwischen einer Client/Server-Architektur und einer vollständigen Peer-to-Peer-Lösung ist 56. Beim serverlosen Peer-to-Peer-Netz gibt es keine zentrale koordinierende Instanz. Abbildung 2.8: Serverbasiertes und serverloses Peer-to-Peer-Netz (Vgl. Schoder und Fischbach 2002, S.27) Des Weiteren können Peer-to-Peer-Netze unterschiedlich strukturiert sein. Sie können flach oder hierarchisch aufgebaut sein. Beim hierarchischen Aufbau haben einige Peers besondere Funktionen, z.b. Verwaltungsaufgaben in serverlosen Netzen. Diese ausgewählten Computer werden als Supernodes bezeichnet und dienen als Knotenpunkte. Diese Struktur kann unter anderem zu einer besseren Skalierbarkeit verhelfen. Eines der wichtigsten Merkmale der Tauschbörsen ist das verwendete Suchverfahren. Es kann hier zwischen drei gebräuchlichen Algorithmen unterschieden werden: 1. ein zentraler Suchindex auf einem Server 2. Jeder Peer verwaltet sein eigenes Dateiangebot. Suchanfragen müssen an jeden Teilnehmer geschickt werden (Broadcast). 3. Verteilter Suchindex 56 (Vgl. Schoder und Fischbach 2002, S.27)

42 26 2 Grundlagen und Analyse Tauschbörsen sind wohl die bekannteste Anwendung von Peer-to-Peer-Netzen. Daher werden Peer-to-Peer-Netze bzw. der Begriff Peer-to-Peer oft fälschlicherweise synonym mit den Begriffen Internettauschbörsen bzw. engl. Filesharing verwendet. Im Folgenden wird mit dem Tauschbörsen-Netz und der gleichnamigen Software Napster der erste Vertreter der Internet-Tauschbörsen vorgestellt. Im Anschluss werden die beiden zur Zeit in Deutschland populärsten Vertreter der Internet-Tauschbörsen, BitTorrent und edonkey, kurz charakterisiert. Zudem erfolgt eine kurze Zusammenfassung über das Kademlia- Protokoll, welches zusätzlich zum edonkey-protokoll in der Software emule (emule ist die mit Abstand meistgenutzte Software für das edonkey-netz) zum Einsatz kommt und zusätzlich die Grundlage für eine Beta-Version einer neuen serverlosen BitTorrent-Version darstellt Napster Shawn Fanning brachte im Juni 1999 eine Beta-Version seines Tauschbörsen-Netzes und der gleichnamigen Tauschbörsen-Software Napster heraus. Er bezeichnete Napster anfangs nur als Chat mit Download-Funktion für MP3-Dateien. Dabei bedient sich Napster eines simplen aber effektiven Grundprinzips: Jeder Nutzer stellt nach dem Starten der Software Dateien auf seiner Festplatte anderen Nutzern zur Verfügung. Im Gegenzug erhält er Zugriff auf die freigegebenen Dateien der momentan angemeldeten Nutzer. Der Server dient dabei nur zur Anmeldung und verwaltet zudem einen zentralen Index. Bei der Suche eines Nutzers nach einer bestimmten Datei wird der entsprechende Suchbegriff an den zentralen Server gesendet. Dieser durchsucht den Index und sendet dem suchenden Nutzer eine Liste mit allen Nutzern, die diese Datei zur Verfügung stellen. Anschließend kann der suchende Nutzer sich einen entsprechenden Tauschpartner aus den Resultaten aussuchen. Der eigentliche Tausch, also der Download der Datei, findet ohne Einfluss des Servers direkt zwischen den Clients statt erkannte auch RIAA die zunehmende Gefahr durch Napster und startete eine erste Klage gegen Napster 58. Kurz darauf folgten Klagen von der Band Metallica und dem Rapper Dr Dre. Jetzt war erstmals die Rede vom Ausschluss urheberrechtsgeschützer Musik aus Napster. Napster verlor die Klagen und sperrte im Mai 2000 erstmals Nutzer anhand von den Musikern vorgelegten Listen 59. Dies war allerdings mit einer einfachen Neuanlegung 57 (Vgl. BitTorrent.org, DHT protocol.html) 58 (Vgl. mbb ) 59 (Vgl. online )

43 2.4 Peer-to-Peer 27 eines Benutzerkontos zu umgehen. Ende Juli 2000 erfolgte eine einstweilige Verfügung, die eine kurzfristige Einstellung des Dienstes zur Folge hatte. Napster erhob Einspruch gegen diese Verfügung und durfte daraufhin vorerst online bleiben. Die Gerichtsprozesse dämpften den Erfolg allerdings nicht und hatten vielmehr die Wirkung einer Marketingkampagne. Durch das wachsende Interesse der Medien an den Prozessen wurde Napster immer populärer. So hatten zu der Zeit etwa 20 Millionen Nutzer ein Napster- Konto. Ein Jahr zuvor waren es gerade mal Im Berufungsprozess änderte Napster die Argumentationslinie. Sie stellten sich als Dienst dar, der nicht per se für Urherberrechtsverletzungen entworfen wurde, aber eben für diese benutzt wird und beriefen sich auf das Betamax-Urteil, in dem einst die Verbreitung von Videorekordern erfasst wurde. Der Prozess lief nun darauf hinaus, Lösungen zur Verhinderung der Verbreitung von urheberrechtsgeschützem Material zu finden und und diese Verbreitung zu blockieren 60. Im November 2000 verkündete Napster überraschend eine Kooperation mit der Bertelsmann ecommerce Group. Diese wollten zusammen eine kommerzielle Lösung entwickeln und dazu eine Art Abo-Modell aufbauen. Im Februar 2001 erfolgte das Urteil im Berufungsprozess. Zwar blieb danach der Betrieb erlaubt, allerdings musste das Tauschen von urheberrechtlich geschütztem Material unterbunden werden. Um das Urteil umzusetzen, wurde ein Filterverfahren auf den zentralen Index angewandt. Dazu erstellte die RIAA eine Liste mit zu sperrenden Liedern. Im März 2001 bemängelte die vorsitzende Richterin des Berufungsgerichtes die unzureichenden Filtermechanismen. Napster überarbeitete daraufhin den Filtermechanismus und erzielte deutlich bessere Ergebnisse. Allerdings wurden dadurch auch sehr viele nicht durch das Verbot betroffene Lieder ausgefiltert. Im Juni 2001 erfolgte die endgültige Ablehnung des Berufungsverfahrens. Um die Filterwirkung zu erhöhen, wurde ein neuer Client entwickelt, wodurch jetzt auch die Filterung mittels digitaler Fingerabdrücke möglich wurde. Um die Wirksamkeit sicherzustellen und einen Umstieg auf die neue Software zu erzwingen, sperrte Napster die alten Clients kurzerhand aus. Dadurch sank die Nutzerzahl von 1,57 Millionen im Feb 2001 auf im Juni. Viele Nutzer stiegen auf eines der zahlreichen alternativen Angebote um. Im August 2001 erfolgte eine vorübergehende Einstellung des Betriebs wegen angeblicher Filterprobleme. Daraufhin legte das Gericht fest, dass Napster erst wieder online gehen dürfe, wenn sichergestellt sei, dass kein illegales Lied durch den Filter komme. 60 (Vgl. Kossel )

44 28 2 Grundlagen und Analyse Dadurch wurde der Untergang von Napster besiegelt. Vom kommerziellen Programm in Zusammenarbeit mit Bertelsmann hört man nur noch wenig. Auch Metallica und Dr Dre erkannten die Situation und einigten sich außergerichtlich. Abbildung 2.9: Aufbau des Napster-Netzwerkes (Vgl. Steinmetz u. a , S.5) Bittorrent BitTorrent ist ein kollaboratives Filesharing-Protokoll, das besonders für die schnelle Verteilung großer Dateien geeignet ist. Technisch ist das Protokoll der OSI-Schicht 7, also der Anwendungsschicht, zuzuordnen und setzt daher auf das TCP/IP-Referenzmodell auf 61. BitTorrent besteht aus dem Tracker genannten Server-Programm, der Informationen zu einer oder mehreren Dateien über Torrents verwaltet, und einem Client, der vom Tracker erfährt, wer sonst noch die Datei herunterlädt und verteilt. In einer Torrent-Datei befinden sich die Adresse des Trackers sowie Dateiname, Größe und Prüfsummen der herunterzuladenden Datei. Sobald ein Client ein kleines Stück der Datei erhalten hat und die Prüfsumme verifiziert hat, meldet er dies dem Tracker und kann dieses Datei-Stück schon an andere Clients weitergeben edonkey 62 edonkey2000 (ed2k) bezeichnet zum einen ein Internet-Filesharing-Netz und zum anderen den ersten Client für dieses Netz. In edonkey2000 kommen sowohl Teile des Peer-to-Peer- Prinzips als auch Teile des Client-Server-Prinzips zum Tragen. 61 (Vgl. Wikipedia, 62 (Vgl. Wikipedia,

45 2.4 Peer-to-Peer 29 Abbildung 2.10: BitTorrent-Netzwerk (BitTorrent.org, Vgl.) Zunächt war das Netz nur mit der gleichnamigen Software von MetaMachine nutzbar entstand dann aber das Projekt emule. Der Client emule ist inzwischen mit Abstand der meist genutzte Client für des edonkey2000-netz stellten die Entwickler der ursprünglichen Software, nach Drohungen mit Schadensersatzforderungen seitens der RIAA, die Weiterentwicklung vorübergehend ein. Im März 2006 wurde die Entwicklung fortgesetzt. Am 21.Februar 2006 erfolgte der schwerste Schlag gegen das edonkey2000-netz. Bei einer groß angelegten Aktion wurde in Belgien der größte Server Razorback 2.0 abgeschaltet 63. Am stellte MetaMachine den Vertrieb der edonkey2000-software endgültig ein 64 und meldete am , dass sie 30 Millionen US-Dollar an die Musikindustrie zahlen würden, um rechtlichen Auseinandersetzungen mit der RIAA aus dem Weg zu gehen 65. Allerdings fristete zu dieser Zeit die edonkey2000-software sowieso nur noch ein Nischendasein 66. Abbildung 2.11 zeigt den Aufbau des edonkey-netzwerks. Nutzen der Client-Server-Architktur: 63 (Vgl. Zota ) 64 (Vgl. Zota ) 65 (Vgl. Jurran ) 66 (Vgl. Zota )

46 30 2 Grundlagen und Analyse Abbildung 2.11: edonkey-netzwerk (Vgl. Kulbak und Bickson January 20, 2005, S.5) Der Client übermittelt Informationen über seine freigegebenen Dateien an einen der Server, der diese indiziert. Zur Suche übermittelt ein Client Suchinformationen (Bsp. Dateiname, Typ,... ) an den Server. Der Server durchsucht seine Indizes und schickt entsprechenende Dateiquellen in Form von ed2k-links zurück. ed2k-links dienen zur einfachen Aufnahme eines Servers in die Serverliste oder einer Datei in die Downloadliste des Clients. Bsp. ed2k-link: ed2k:// file datei.txt abcdef abcdef Der Client schickt regelmäßig Anfragen zum Server, welche Clients die Dateien, die er herunterladen möchte, freigegeben haben. Der Server schickt entsprechende Einträge zurück. emule nutzt das Peer-to-Peer-Konzept auf ähnliche Weise wie bereits Napster. Nach Erhalt der Informationen vom Server in Form von ed2k-link versucht der Client, sich zu den entsprechenden Clients direkt zu verbinden. In diesem Fall haben die Clients echte Peer- Funktionalität und der Server spielt keine Rolle mehr. Zur Minimierung der Netzlast wurde in emule neben dem edonkey-protokoll ein neues Netzwerk-Protokoll implementiert. Daher ist bei allen neueren Versionen von emule auch das Kademlia-Protokoll (vgl. Abschnitt S.31) verfügbar.

47 2.4 Peer-to-Peer Kademlia Kademlia (Kad) gehört zu einer neuen Generation von Peer-to-Peer-Protokollen. Wie bereits erwähnt, gibt es verschiedene Herangehensweisen: zentraler Suchindex auf Server (Bsp. Napster) kein zentraler Indexierungsserver; Suchanfragen werden an einen Teil des Netzes geschickt. Peers, die die gesuchte Datei besitzen, melden dies an den suchenden Peer. Problem: nicht alle Peers werden durchsucht. (Bsp. Gnutella 67 ) Verwendung einer verteilten Hashtabelle (Distributed Hashtable (DHT)); diese Struktur ersetzt den zentralen Indexierungsserver. Durch die verteilte Hashtabelle werden allen verfügbaren Dateien mit einem Aufwand von O(log n) gefunden. (Bsp. Kademlia) Zur Funktionsweise von Kademlia: Es erfolgt eine eindeutige Identifizierung eines jeden Peers durch eine eindeutige Nummer, die sogenannte Node-ID. Vor dem Eintritt in das Kademlia-Netzwerk wird ein sogenannter Bootstrapping-Prozess durchgeführt. Dazu muss man wissen, dass man, um sich zum Kademlia-Netzwerk verbinden zu können, eigentlich schon erstmal selbst ein Teil des Kademlia-Netzwerkes sein muss. Um dies zu ermöglichen, verbindet man sich im Bootstrapping-Prozess über lediglich einen bekannten Client bzw. über dessen Kontakte. Nach und nach verbindet man sich so mit dem gesamten Kademlia-Netzwerk. Im Anschluss erfolgt die Berechung der verteilten Hashtabelle. Dazu wird für jede freigegebene Datei ein Hash-Wert berechnet. Der Datei-Hash und die Node-ID sind gleich lang (160 bit). Der Kademlia-Algorithmus sucht nun im Netz nach Knoten, deren ID die kleinste Distanz zum Datei-Hash aufweisen, und übermittelt ihm seine Daten. Eine bitweise exklusive-oder-verbindung - als Interger interpretiert - wird zum Abstand zwei IDs definiert (d.h. d(x, y) = x y)). Bei der Suche nach einer Datei nutzt der Peer die gleiche Prozedur wie beim Einfügen einer Datei in die verteilte Hashtabelle. Da normalerweise ständig Peers ein- und austreten, werden die Informationen auf mehrere Peers verteilt und alle paar Stunden aktualisiert JXTA JXTA (engl. juxtapose = nebeneinander stellen) ist ein von Sun Microsystems ins Leben gerufenes Projekt. Es wurde im April 2001 unter der Leitung von Bill Joy und Mi- 67 Gnutella ist ein vollständig dezentrales Netzwerk (Vgl. Wikipedia,

48 32 2 Grundlagen und Analyse ke Clary gegründet. JXTA definiert auf sehr abstrakte Weise eine Reihe von Protokollen und XML-Formaten, die für alle Anwendungen, die Peer-to-Peer nutzen möchten, eine ausgereifte und wiederverwendbare Basis sein können. Dazu verwendet JXTA eine Drei- Schichten-Architektur, XML-basierte Protokolle und einige grundlegende Abstraktionen wie Peer Groups, Pipes und Advertisements, um eine einheitliche Programmierplattform für Peer-to-Peer-Anwendungen zu schaffen und Interoperabilität und Unabhängigkeit von Software- und Hardwareplattformen zu ermöglichen Wichtige Grundbegriffe der JXTA-Technologie Das JXTA-Netzwerk besteht wie jedes Peer-to-Peer Netz aus einer Reihe untereinander verbundener Knoten, den sogenannten Peers. Ein Peer ist hierbei nicht an ein physikalisches Endgerät gebunden. Vielmehr können auf jedem Gerät parallel mehrere Peers gestartet werden. Jeder Peer wird eindeutig durch eine Peer-ID identifiziert. In JXTA existieren vier verschiedene Typen von Peers: Unter einem Minimal Peer versteht man einen Peer, der nur die grundlegendsten Funktionen, nämlich das Senden und Empfangen, ermöglicht. Diese Peers werden zumeist auf Rechner mit minimalen Systemleistungen, wie z.b. PDAs oder Mobiltelefonen, verwendet. Der Edge Peer ist der Standard-Peer. Jeder Peer implementiert standardmäßig die Funktionen eines Edge Peers. Der Minimal Peer ist eine eingeschränkte Version des Edge Peers. Der Edge Peer legt zusätzlich zu den Sende- und Empfangsfunktionalitäten Informationen über bekannte Ressourcen wie andere Peers, Peergruppen oder Dienste lokal ab. Des Weiteren implementiert der Edge Peer alle Dienste, die eine Anwendung aus Sicht des Nutzers benötigt, um zu funktionieren. Um Nachrichten über Firewalls, Network Address Translation (NAT),... hinweg zu übermitteln, wird ein Relay-Peer benötigt. Dieser wird darüber hinaus benötigt, um einen Minimal Peer in das Netzwerk einzubinden. Der Relay-Peer erhält Informationen über Wege zu anderen Peers und nutzt diese, um Nachrichten weiterzuleiten (Routing). Der Rendezvous-Peer bildet eine server-ähnliche Instanz im hybriden JXTA-Netzwerk. Über diesen Peer erfolgt eine Auflösung von Anfragen nach Ressourcen. Dazu wird eine Distributed Hash Table gebildet, die sich über alle bekannten Peers und Rendezvous- Peers erstreckt. 68 (Vgl. Hauswirth und Dustdar , S.9)

49 2.4 Peer-to-Peer 33 Ein weiterer wichtiger Bestandteil von JXTA ist die Metadaten-Struktur der Advertisements. Ein Advertisement ist ein XML-Dokument zur Beschreibung von Ressourcen (Peers, Pipes, Gruppen, Dienste,... ). Jedes Advertisement besitzt eine eindeutige ID und verfügt über eine individuell definierte Lebenszeit, die dazu genutzt wird, veraltete Ressourcen zu entfernen, ohne dazu eine zentrale Kontrollinstanz zu nutzen. Nach Ablauf der Lebenszeit muss das Advertisement neu veröffentlicht werden, um es weiter nutzen zu können. Abbildung 2.12 zeigt die Architektur von JXTA. Abbildung 2.12: Die JXTA-Architektur (Vgl. Hauswirth und Dustdar , S.10) Im JXTA-Kern befindet sich der Code zur Implementierung der Protokolle. Diese Protokolle stellen die Funktionalitäten für Peers, Peer Groups, die Sicherheit und die Überwachung der Peers (engl. Monitoring) zur Verfügung. Auf dem Kern bauen die bekannten Dienste wie Suche und File-Sharing auf, welche wiederum als Grundlage für JXTA-Anwendungen dienen. Wie bereits erwähnt, bilden sechs Protokolle den Kern von JXTA. Das Peer Resolver Protocol (PRP) dient zum Senden von Suchanfragen zu allen anderen Peers und zum Empfangen von einer Antwort. Über das Peer Discovery Protocol (PDP) veröffentlichen die Peers ihre Dienste und suchen nach Diensten der anderen Peers. Mit dem Peer Information Protocol (PIP) können Statusinformationen über Peers abgefragt werden. Das Pipe Binding Protocol (PBP) stellt die Pipes für die Kommunikation. Dabei sorgt das Peer Endpoint Protocol (PEP) dafür, dass zwischen den beiden beteiligten Peers eine Route mit Hilfe anderer Peers gefunden werden kann. Das Rendezvous Protocol (RVP) wird benötigt, um Nachrichten auch über Firewalls hinweg zu verbreiten (Vgl. Gradecki 2002, S.16)

50 34 2 Grundlagen und Analyse Klassifizierung von Peer-to-Peer-Systemen Um eine Klassifizierung der zuvor vorgestellten Peer-to-Peer-Systeme zu ermöglichen müssen zuerst einmal verschiedene Kriterien zur Klassifizierung eingeführt werden 70 : Strukturierungsgrad: Hier muss zwischen unstrukturierten Systemen und strukturierten Systemen unterschieden werden. In einem unstrukturierten System verfügt ein Peer über keine Informationen über andere Peers. Ein Beispiel hierfür sind alle Internet- Tauschbörsen, die über einen zentralen Index verfügen. In strukturierten Systemen verwaltet ein Peer hingegen lokal Informationen über andere Peers. Kademlia ist ein Beispiel dafür. Hierarchiegrad: Hier muss zwischen einem flachen und einem hierarchischen Hierarchiegrad unterschieden werden. In einem flachen Peer-to-Peer-System gibt es keine verschiedenen Rollen, die ein Peer spielen kann. In hierarchischen Peer-to-Peer-Systemen existieren hingegen verschiedene Rollen, die ein Peer spielen kann. Ein Beispiel sind alle Tauschbörsen, die über einen zentralen Server verfügen. Dieser kann als spezieller Peer mit sehr speziellen Aufgaben interpretiert werden. Kopplungsgrad: Hier muss zwischen lose und eng gekoppelten Systemen unterschieden werden. In stark gekoppelten Systemen übernimmt ein Peer innerhalb einer Peer- Gruppe eine spezielle Aufgabe, beispielsweise in Kademlia die Verwaltung eines Teils der verteilten Hashtabelle oder in JXTA die Art der Nachrichtenbehandlung. Dahingegen ist es für einen Peer in einem lose gekoppelten System unnötig, derartige Aufgaben zu übernehmen. Dies hat zur Folge, dass in einem stark gekoppelten System das Ausscheiden eines Peers besonders behandelt werden muss, wohingegen in einem lose gekoppelten System das Ausscheiden eines Peers für das Gesamtsystem ohne Belang ist. Struktierungsgrad Hierarchiegrad Kopplungsgrad unstrukturiert strukturiert flach hierarchisch eng lose Napster edonkey BitTorrent Kademlia JXTA 71 ( ) ( ) ( ) ( ) ( ) ( ) Tabelle 2.1: Klassifizierung der Peer-to-Peer-Systeme 70 (Vgl. Hauswirth und Dustdar , S.4) 71 Klassifizierung abhängig von der jeweiligen Implementierung.

51 35 3 Entwurf Die Entwicklung einer verteilten Lösung zum Download und zur Analyse von urheberrechtlich geschützem Material aus Internet-Tauschbörsen erfordert zunächst die Erstellung eines Konzepts. Hierzu wird ein abstraktes Modell einer implementierbaren Lösung entworfen. Der in dieser Arbeit vorgestellte Entwurf basiert auf der Idee, Dateien auf der Basis einer von Schlüsselworten gesteuerten Suche zu finden und anschließend diese Dateien in einem verteilten System nach digitalen Wasserzeichen zu untersuchen. 3.1 Zielsetzung Ziel der Arbeit ist der Entwurf eines verteilten Systems zum effizienten Auffinden und Herunterladen von mit digitalen Wasserzeichen markiertem Material in Internet-Tauschbörsen. Die gefundenen Dateien werden nach dem Download an die integrierte Analyse-Komponente übergeben. Die zu findenden digitalen Medien wurden mit einem digitalen Wasserzeichen, wie z.b. einer Kundennummer, versehen. Damit ist eine eindeutige Identifizierbarkeit des Käufers möglich (vgl. Abbildung 3.1). Abbildung 3.1: Digitales Wasserzeichen zur Identifikation

52 36 3 Entwurf Abbildung 3.1 zeigt, wie eine auf legalem Wege erworbene Datei in einer Internet-Tauschbörse veröffentlicht wird. Das in dieser Arbeit entworfene System dient zum Auffinden derartiger Dateien und zur anschließenden Analyse, also dem Auslesen der eingebetteten Wasserzeicheninformation. Um dabei eine hohe Effizienz und Performance zu erreichen, wurde dazu ein verteiltes System entworfen. Da das Auslesen eines Wasserzeichens einen Zeitaufwand nahe Echtzeit benötigt sowie durch die große Anzahl der in Internet-Tauschbörsen verfügbaren Dateien, kann durch die parallele Verarbeitung in einem verteilten System eine wesentlich höhere Such- und Analyseleistung gegenüber einer Einzelrechnerlösung erreicht werden. Da das Hauptaugenmerk auf dem effizienten Download der gesuchten Dateien liegt, wird das Analyseverfahren nur als Blackbox-Verfahren betrachtet und es erfolgt keine Überprüfung auf Validität der Analyseparameter. Abbildung 3.2 zeigt diese Blackbox. Abbildung 3.2: Blackbox Wasserzeichen-Analyse Um den Such- und Analysevorgang zu synchronisieren und um Kollisionen zu vermeiden, wird das verteilte System nach dem Master-Slave-Prinzip realisiert. Dabei übernimmt eine Instanz im System, der sogenannte Master, die Aufgabe, die Suche und Analyse zentral zu koordinieren. Die untergeordneten Instanzen, die sogenannten Slaves, sind dabei nur Befehlsempfänger. Abbildung 3.3 zeigt einen möglichen Systemaufbau eines verteilten Systems mit einem Master und 5 Slaves. In diesem Beispiel wurde auf das Internet-Tauschbörsennetzwerk emule bzw. edonkey zurückgegriffen. Bei diesem Systemaufbau ist auch eine zentrale Steuerung des Systems durch einen Benutzer vorgesehen. Dieser kann alle für einen Such- und Analysevorgang nötigen Parameter, z.b. Suchparameter wie Metallica, Auswahl des Wasserzeichen-Algorithmus oder Wahl des zu suchenden Medientyps, zentral an einer Benutzerschnittstelle (engl. GUI ) des Masters eingeben und verwalten.

53 3.2 Ablauf der Suche und Analyse 37 Abbildung 3.3: Systemübersicht 3.2 Ablauf der Suche und Analyse Abbildung 3.4 zeigt wie ein Such- und Analysevorgang im Idealfall ablaufen kann. Im ersten Schritt erfolgt eine Eingabe des Suchparameter in der Benutzerschnittstelle des Masters. Dabei legt der Anwender zunächst fest, mit welchem Suchwort nach welchem Medientyp (z.b. Audio-Dateien) gesucht werden soll. Zudem erfolgt eine Auswahl des in diesem Vorgang zu verwendenden Wasserzeichen-Algorithmus und des zu verwendenden Wasserzeichen-Schlüssels. Nach Eingabe der Parameter werden diese an alle dem Master bekannten Slaves geschickt. Jeder der Slaves führt im Anschluss eine Suche in dem ihm bekannten Tauschbörsen-Netzwerk

54 38 3 Entwurf Abbildung 3.4: Ablauf der Suche und Analyse durch. Im Beispiel wurde dabei wieder das emule- bzw. edonkey-netwerk ausgewählt. In diesem Netzwerk wird eine Suche an einen der zentralen Server geschickt und dieser sendet eine entsprechende Ergebnisliste zurück. Nach Erhalt der Suchergebnisse aus dem Internet-Tauschbörsennetzwerk sendet jeder der Slaves diese Ergebnisse an den Master zurück. Der Master koordiniert diese Suchergebnisse nun und wählt zu jeder gefundenen Datei (mehrere Slaves können die selbe Datei in Tauschbörsennetzwerk finden) den bestmöglichen Slave zur weiteren Verarbeitung aus. Mehr zur Verteilung der Dateien findet sich in Abschnitt 3.5 über Lastverteilung auf Seite 42. Nach der Verteilung aller Suchergebnisse sendet der Master an jeden Slave eine individuelle Bearbeitungsliste. Diese Liste enthält neben den verschiedenen Datei-IDs die zur anschließenden Analyse nötigen Angaben zu Wasserzeichen-Algorithmus und zu verwendendem Schlüssel.

55 3.3 Anforderungen 39 Jeder Slave beginnt nun mit dem Download der ihm zugewiesenen Dateien. Nach dem Download einer der Dateien beginnt der Slave mit dem Auslesen des Wasserzeichens unter Verwendung des zugewiesenen Wasserzeichen- Algorithmus und des Schlüssels. Nach der Analyse sendet der Slave das Analyse-Ergebnis, im Idealfall ein ausgelesenes Wasserzeichen, zum Master. Dieses Beispiel beschreibt lediglich den Ablauf im Idealfall. Allerdings treten in einem verteilten System zahlreiche Ausnahmen, wie z.b. der Ausfall eines Slaves, auf. Um diese zu berücksichtigen, werden im Abschnitt 3.4 verschiedene Ausnahmefälle und entsprechende Ausnahmebehandlungsmethoden entworfen. 3.3 Anforderungen Bei der Beschreibung der Anforderungen an das zu entwickelnde System wird zwischen primären und sekundären Anforderungen unterschieden. Primäre Anforderungen müssen zwingend durch die prototypische Implementierung erfüllt werden, während sekundäre Anforderungen nur im Idealfall erfüllt sein müssen. Primäre Anforderungen: Effizientes Auffinden und Analysieren von mit digitalen Wasserzeichen versehenen Dateien Transparenz gegenüber der verwendeten Internet-Tauschbörse Unerkannter Betrieb im Internet-Tauschbörsennetz Bestmögliche Ausnutzung der zur Verfügung stehenden Ressourcen Gute Skalierbarkeit des Systems Fehlertoleranz bei Ausfall eines Slaves Gute Erweiterbarkeit um neue Wasserzeichen-Algorithmen Erweiterbarkeit um weitere Internet-Tauschbörsen Sekundäre Anforderungen: Vollständige Analyse aller zu einer Suchanfrage gefundenen Dateien Fehlertoleranz bei Ausfall des Masters

56 40 3 Entwurf Wichtigste Anforderung an das System ist die aus dem Ziel hervorgehende Anforderung des effizienten Auffindens und Analysierens von mit digitalen Wasserzeichen versehene Dateien. Diese Anforderung wird durch den Aufbau eines verteilten Systems und durch eine entsprechende Lastverteilung (siehe Abschnitt 3.5) erfüllt. Die Anforderung der Transparenz gegenüber der verwendeten Internet-Tauschbörse beschreibt die Anforderung, dass es für das ganze System unerheblich sein soll, welcher Slave welche Tauschbörse nutzt. Dazu wird in Abschnitt 3.6 eine Schnittstelle eingerichtet. Um gute Ergebnisse zu erreichen und um eine gute Leistung zu erzielen, ist das unerkannte Verbleiben im Tauschbörsen-Netzwerk sehr wichtig. Viele Internet-Tauschbörsen verfügen über Mechanismen, auffällige Clients aus dem Netzwerk auszuschließen. In vielen Systemen ist z.b. der übermäßige Download gegenüber geringem oder keinem Upload, d.h. dem Anbieten von Dateien in der Tauschbörse, ein Ausschlusskriterium. Einfache Gegenmaßnahme gegen dieses Ausschlusskriterium ist das Anbieten von legalen Dateien in der Tauschbörse, wie z.b. von Open-Source-Produkten. Weitere sehr wichtige Anforderungen für das System sind die bestmögliche Ausnutzung der zur Verfügung stehenden Ressourcen, eine gute Skalierbarkeit und eine Fehlertoleranz bei Ausfall eines Slaves. Diese Anforderungen werden durch die Wahl der verwendeten Kommunikationsplattform (siehe Abschnitt 3.7), durch eine gute Lastverteilung (siehe Abschnitt 3.5) und durch den Entwurf von Behandlungsmethoden in Ausnahmefällen (siehe Abschnitt 3.4) gewährleistet. Zuletzt werden eine gute Erweiterbarkeit um neue Wasserzeichenalgorithmen und um weitere Internet-Tauschbörsen gefordert. Diese Forderungen sind nötig, um das System an die sich ständig weiterentwickelnden Technologien anzupassen. Zudem wird durch diese Anpassungsfähigkeit das System auf die verschiedenen Bedürfnisse von verschiedensten Kunden anpassbar. Anforderungen, die lediglich im Idealfall erfüllt sein müssen, sind die vollständige Analyse aller zu einer Suchanfrage gefundenen Dateien und die Fehlertoleranz bei Ausfall des Masters. Die vollständige Analyse kann kein zwingendes Kriterium sein, da in einem Peer-to-Peer- Tauschbörsensystem in regelmäßigen Abständen Clients ein- und austreten. Daher ist es möglich, dass seltene Dateien bei Austritt eines oder mehrerer Clients aus dem System nicht mehr verfügbar sind. Desweiteren ist die Fehlertoleranz bei Ausfall des Masters für eine erste prototypische Implementierung nicht zwingend erforderlich.

57 3.4 Ausnahmefälle Ausnahmefälle In diesem Abschnitt werden die verschiedenen Ausnahmefälle vorgestellt, die für die Entwicklung des Systems betrachtet wurden, und zudem wird ein erster Lösungsansatz zur Fehlerbehandlung vorgestellt. Folgende Fälle wurden beachtet: 1. Normalstart Start Master Start der Slaves 2. Start des Systems nach kompletter Abschaltung des Systems Möglichkeit des Fortsetzens unabgeschlossener Aufträge 3. Slave stürzt ab oder wird beendet Neuverteilung der Aufträge des ausfallenden Slaves 4. Neuer Slave tritt während laufender Analyse ein Abgabe von ungestarteten Aufträgen an diesen Slave 5. Slave beendet seine Aufträge Neuverteilung ungestarteter Aufträge 6. Absturz des Masters, Slaves laufen noch Aufträge pausieren Fall 1 stellt den Normalstart dar, d.h. dass das System ohne zuvor aufgetretene Fehler gestartet wird. Dazu wird zunächst der Master gestartet und im Anschluss alle Slaves. Fall 2 beschreibt den Start des Systems, nachdem das System entweder durch den Nutzer beendet wurde oder durch einen Fehler ein Neustart des gesamten Systems nötig war. Hierbei ist eine Wiederaufnahme der unabgeschlossenen Analyse-Aufträge angedacht. In Fall 3 wird der Ausfall eines Slaves während einer laufenden Analyse behandelt. Grund für diesen Ausfall kann das Beenden des Slaves durch einen Nutzer oder ein Systemausfall sein. Der Master reagiert mit einer Neuverteilung aller von diesem Slave übernommenen Aufträge auf die noch vorhandenen Slaves. Fall 4 zeigt den Konstellation, dass ein neuer Slave während einer bereits laufenden Analyse dem System beitritt. Ein mögliches Herangehen dabei wäre, den Slave für diese Sitzung zu ignorieren und erst bei einer neuen Analyse mit einzubeziehen. Da aber eine optimale Nutzung erreicht werden soll, wird eine Neuverteilung noch ungestarter Aufträge als Ausnahmebehandlung vorgezogen. Ungestartete Aufträge sind in diesem Fall alle Aufträge, die zwar bereits an verschiedene Slaves vergeben wurden, deren Download aber noch nicht begonnen hat. In Fall 5 hat ein Slave alle aufgetragenen Analysen ausgeführt. Darauf wird wie in Fall 4 mit einer Neuverteilung der ungestarteten Aufträge reagiert.

58 42 3 Entwurf Der letzte Fall ist der mögliche Absturz des Masters. Da dieser in der ersten prototypischen Implementierung als zentraler Dienst implementiert wird, ist eine Pausierung und Zwischenspeicherung aller Analyseaufträge auf den Slaves am praktischsten. 3.5 Lastverteilung In diesem Kapitel wird beschrieben, mit welchen Kriterien eine Verteilung der durch die Suche gefundenen Resultate unter den einzelnen Slaves erfolgt. Kriterium Gewichtung Geschwindigkeit des Prozessors in MHz 0,4 Größe des Arbeitsspeichers in MByte 0,4 Geschwindigkeit der Internet-Anbindung in KBit/s 0,2 Anzahl der Analysen auf dem Slave 1 Tabelle 3.1: Kriterien zur Lastverteilung Tabelle 3.1 zeigt eine Übersicht über die verwendeten Kriterien. Die Geschwindigkeit des Prozessors und die Größe des Arbeitsspeichers sind Anhaltspunkte für die Leistungsfähigkeit des Rechners. Die Geschwindigkeit der Internetanbindung gibt Aufschluss über die Anbindung des Rechners an das Internet. Im Falle dieser Arbeit wird dabei nur die Downloadrate betrachtet. Die drei genannten Kriterien dienen zur Bestimmung der Gesamtleistung eines Slaves. Dazu erfolgt zudem eine Gewichtung der einzelnen Kriterien. Damit wird erreicht, dass ein leistungsstarker Slave mit einer eher schwachen Internetanbindung dennoch besser bewertet wird als ein eher leistungsschwacher Slave mit einer guten Internet-Anbindung. Die Gewichtung ist nötig, da der eigentliche Analyse-Prozess, also das Auslesen der Wasserzeichen, wesentlich rechenintensiver ist als der Download-Prozess. Die Gesamtleistung eines Slaves wird somit durch die Addition der gewichteten Kriterien Prozessor-Leistung, Arbeitsspeicher-Größe und Download-Geschwindigkeit berechnet. Durch die Division durch die Anzahl der auf dem Slave gestarteten Analysen wird eine Lastverteilung erreicht. Ohne die Division würde der stärkste Slave alle Analyseaufträge erhalten, wohingegen alle anderen Slave ohne Auftrag wären. Die Formel zur Lastverteilung lautet somit: y = 0, 4x P rozessor Leistung + 0, 4x Arbeitsspeicher Größe + 0, 2x Download Geschwindigkeit x AnzahlderAufträge Der Slave mit dem höchsten Wert für y erhält den Analyse-Auftrag für die Datei.

59 3.6 Schnittstelle zu Internet-Tauschbörsen 43 Die hier verwendete Lastverteilung ist für eine erste prototypische Implementierung ausreichend. Darüber hinaus wäre die Verwendung der folgenden Kriterien möglich: Verfügbarkeit der Datei im Tauschbörsen-Netzwerk (Diese ist abhängig vom verwendeten Tauschbörsen-Netzwerk. Weitere Einflussfaktoren für die Verfügbarkeit sind abhängig von der Wahl des Tauschbörsen-Netzwerkes. Im emule- bzw. edonkey-netzwerk wären dies z.b. der verbundene Indexierungsserver) Auslastung des Systems (z.b. Prozessorauslastung, Arbeitsspeicherauslastung, Auslastung der Internet-Verbindung) 3.6 Schnittstelle zu Internet-Tauschbörsen Durch die Definition einer allgemeinen Schnittstelle zwischen Slave und Internet-Tauschbörse wird die in Abschnitt 3.3 geforderte Anforderung nach einer guten Erweiterbarkeit um verschiedene Internet-Tauschbörsen und der Transparenz gegenüber der gewählten Internet- Tauschbörse erfüllt. Abbildung 3.5: Schnittstelle zu Internet-Tauschbörsen Abbildung 3.5 zeigt das Klassendiagramm der entworfenen Schnittstelle zu Internet-Tauschbörsen. In der Schnittstelle wurden verschiedene Methoden definiert. Die Methoden getinfo() und getserverinfo() dienen zur Anforderung von Informationen über das Tauschbörsen-Netz und über einen je nach gewähltem Netz verbundenen Server.

60 44 3 Entwurf Durch die Methoden getstate(), downloadstate() und searchstate werden verschiedene Statusmeldungen abgefragt. Die Methode searchstate dient nur der Anfrage, ob eine Suchanfrage beendet ist und somit ob Suchresultate vorliegen. Diese Ergebnisse können dann mit der Methode getresult abgefragt werden. Die Methode downloadstate() liefert dagegen die verschiedenden Download-Zustände der herunterzuladenden Dateien. Und die Methode get- State() liefert den Status der Internet-Tauschbörse. Die Methoden connect() und connect(string to) sind zum Aufbau der Verbindung in das Tauschbörsennetzwerk vorgesehen. Dabei wird je nach Tauschbörse ein Parameter mit z.b. einer Server-ID benötigt. Die Methode disconnect() trennt die Verbindung zum Tauschbörsennetzwerk. Zuletzt dienen die Methoden downloadfile(), stopdownload(), pausedownload() und resumedownload() zur Aufnahme bzw. zum Stoppen, Pausieren oder zur Wiederaufnahme des Downloads der angegebenden Datei. 3.7 Wahl der verwendeten Komponenten In diesem Abschnitt wird die Wahl der verschiedenen, in der prototypischen Implementierung verwendeten Komponenten begründet. Die Umsetzung des Prototyps erfolgt in der objektorientierten Programmiersprache JAVA Wahl der Tauschbörse In der ersten exemplarischen Implementierung wird der Internet-Tauschbörsen-Client emule verwendet. Dieser ist der zur Zeit neben Bittorrent meistgenutzte Client. Vorteile gegenüber Bittorrent sind die bessere Suchfunktion und das bereits vorhandene Webinterface. Dadurch ist eine Anbindung des Clients an den Slave ohne Eingriff in den Quellcode möglich. Dies hat zum Vorteil, dass bei einem Update nur auf zumeist geringe Änderungen am Webinterface reagiert werden muss und nicht auf die oft weitreichenden Änderungen im Quellcode. Die Anpassung des Webinterfaces an die in Abschnitt 3.6 definierte Schnittstelle zu den Internet- Tauschbörsen erfolgt mittels des in Gamma und Riehle (2000) definierten Entwurfsmusters des sogenannten Adapters bzw. Wrappers 1 (siehe Abschnitt ). 1 (Vgl. Gamma und Riehle 2000, S.151 ff)

61 3.8 Datei-Identifikation Wahl der Kommunikationsplattform Die Vor- und Nachteile von Peer-to-Peer-Anwendungen gegenüber Client-Server-Anwendungen wurden bereits in Abschnitt 2.4 erörtert. Zwar ist der hier entwickelte Prototyp noch sehr stark an einer Client-Server-Anwendung orientiert, allerdings soll durch den Einsatz von JXTA ein Ausbau zu einem reinen Peer-to-Peer-System wesentlich vereinfacht werden. Zudem besitzt JXTA weitere Vorteile gegenüber anderen Kommunikations-Formen wie RMI, CORBA,... : Unabhängig von einer Programmiersprache Unabhängig von Hardware und Betriebssystem Interoperabilität kein Design der grundlegenden Kommunikationsmechanismen nötig Verwendung des XML-Formates zum Datenaustausch Allerdings müssen auch einige Nachteile erwähnt werden: JXTA selbst noch in der Entwicklungsphase wenige, oft veraltete Literatur zu JXTA 3.8 Datei-Identifikation Um jede Datei korrekt bearbeiten zu können, wird eine eindeutige Datei-ID im System zur Identifikation einer Datei benötigt. Um eine eindeutige Zuordnung zu gewährleisten, ist eine ID nicht auf den Dateinamen zurückzuführen. emule verwendet zwei verschiedene Arten von IDs zur Identifikation von Dateien, die durch Hashing des Dateiinhalts berechnet werden. Der sogenannte File Hash wird zur eindeutigen Identifizierung einer Datei im Netzwerk genutzt und der sogenannte Root Hash ist hauptsächlich zur Feststellung und Behebung von Übertragungsfehlern. Der File Hash ist eine 128bit Globally Unique Identifier (GUID). Die GUID wird unter Verwendung des MD4-Algorithmus verwendet. Während der Berechnung der File ID wird die Datei in 9,28 MB große Dateiteile zerlegt. Die GUID wird für jeden dieser Dateiteile berechnet und dann werden diese Hashs zu einer eindeutigen File ID kombiniert. Der Root Hash wird für jeden der 9,28 MB großen Dateiteile durch den SHA1-Algorithmus berechnet.

62 46 3 Entwurf Desweiteren müssen die verschiedenen Arten der Dateisuche und der Download-Vorgang im emule-netzwerk betrachtet werden. Bei der Dateisuche kann zwischen den Methoden Server, Global (Server) und Kad Netzwerk unterschieden werden. Die Suchmethode Server bedeutet eine Suche ausschließlich auf dem verbundenen emule- bzw. edonkey-server. Unter der Suchmethode Global (Server) versteht man die Suche auf allen Servern, die in der Serverliste des emule-clients eingetragen sind. Und zuletzt bedeutet die Suchmethode Kad Netzwerk eine Suche nur im Kademlia-Netzwerk. Die Suchmethode Global (Server) hat sich als die effizienteste erwiesen und wird daher in der prototypischen Implementierung verwendet. Der Download-Vorgang im emule-netzwerk läuft folgendermaßen ab: Nach Hinzufügen der Datei in die Downloadliste werden zunächst alle Server in der Serverliste des Clients nach Quellen durchsucht. Die Downloadquellen werden dann in die Warteschlange gesetzt. Weitere Quellen werden durch die Suche im Kademlia Netzwerk hinzugefügt. Nachdem die ersten Quellen für einen Download gefunden wurden, werden diese Quellen nach möglichen weiteren Quellen gefragt. Diese werden dann auch in die Liste hinzugefügt. Weitere Quellen sind sogenannte passive Quellen. Diese Quellen sind Clients, die selber nach der Datei suchen und daher in der Warteschlange zum Upload stehen. Von diesen Quellen ist zwar nicht der Bezug der kompletten Datei, aber von Dateiteilen möglich. 2 Die vorangegangenen Überlegungen reichen aus, um zu bestimmen, dass die in emule verwendete GUID auch zur Identifikation der Dateien im zu implementierenden System verwendet werden kann. Zudem kann durch die Einsicht in den Download-Vorgang weiter festgelegt werden, dass ein Datei-Download von einem beliebigen Slave heruntergeladen werden kann. Allerdings sollte generell jeder emule-client regelmäßig mit einer neuen aktuellen Serverliste aktualisiert werden. Dazu kann die automatische Update-Funktion des Clients genutzt werden, um eine neue Liste aus dem Internet zu laden. 2 Die Kapitel zu den emule-details stammen aus dem Paper The emule Protocol Specification (Vgl. Kulbak und Bickson January 20, 2005)

63 47 4 Implementierungsaspekte In diesem Abschnitt wird die Entwicklung eines Prototyps in Form eines ausführbaren Computerprogramms aus dem im vorherigen Abschnitt beschriebenen Entwurf erklärt. Diese Software setzt den geforderten Funktionsumfang unter Berücksichtigung der in Abschnitt 3.3 gestellten Forderungen für den vorgegebenen Anwendungsbereich um. 4.1 Entwicklungsumgebung Die Entwicklung der prototypischen Implementierung erfolgte unter Microsoft Windows XP unter Verwendung der Open-Source-Integrierten Entwicklungsumgebung (IDE) Eclipse. Die Software wurde in der objektorientierten Programmiersprache Java mit der Version 5.0 entwickelt. Des Weiteren kommt, wie bereits im Abschnitt 3.7 beschrieben, das Peer-to-Peer- Framework JXTA in seiner aktuellen Version 2.0 zum Einsatz. Zudem wurde die deutsche Version 0.47c des Internet-Tauschbörsen-Clients emule verwendet. 4.2 Aufbau des Prototypen Sowohl der Master als auch die Slaves erben zunächst einmal von der Basisklasse Peer (siehe Abschnitt 4.2.1). Des Weiteren verwenden sowohl Master als auch Slaves die Schnittstelle Database sowie deren Implementierung XMLData. Eine weitere Gemeinsamkeit von Master und Slaves ist, dass beide Typen mehrere Dienste im JXTA-Netzwerk anbieten bzw. nutzen. Der gesamte Programmfluss erfolgt im Allgemeinen ereignisgesteuert. Mögliche Ereignisse sind unter anderem: Eintritt eines neuen Slaves Start einer neuen Analyse Resultate zur ausgeführten Analyse im Filesharing-Netzwerk gefunden Neuer Download-Auftrag

64 48 4 Implementierungsaspekte Analyse zu einer Datei abgeschlossen Austritt eines Slaves Abbruch einer Analyse Ausfall des Masters Basisklasse Peer In der Basisklasse Peer wird die grundlegende Konfiguration für den Eintritt in das JXTA- Netzwerk vorgenommen und im Anschluss erfolgt der Beitritt in die JXTA-Gruppe distributedfilesharinganalysispeergroup. Abbildung 4.1 zeigt das Klassendiagramm der Über- klasse Peer. Die Konfiguration von Master und Slave unterscheiden sich. Der Master legt einerseits die JXTA-Gruppe an und zudem fungiert er als JXTA Rendezvous- und Relay- Peer. Ein Slave tritt lediglich in eine existierende JXTA-Gruppe ein und wird als Edge-Peer konfiguriert. Zur Beschreibung der verschiedenen Peer-Typen vergleiche Abschnitt Abbildung 4.1: Überklasse Peer Der Konstruktor erzeugt eine neue Instanz. Der Paramter instancename enthält dabei den Namen der zu erzeugenden Instanz. Mit dem Paramter type wird entweder die Zeichenkette master übergeben und die neue Instanz wird als Master konfiguriert oder es wird die Adresse des aktuellen Masters übergeben.

65 4.2 Aufbau des Prototypen 49 Die weiteren verfügbaren Methoden werden hauptsächlich durch den Konstruktor zur Konfiguration verwendet. Einige andere werden zur Abfrage von erzeugten Werten genutzt, wie z.b. der ID Datenverwaltung Die Datenverwaltung erfolgt in der prototypischen Implementierung mit Hilfe der Extensible Markup Language (XML). Um allerdings eine spätere Datenverwaltung in beispielsweise einer Datenbank zu ermöglichen, wurde zunächst die Schnittstelle Database (siehe Abbildung 4.2) entworfen, die dann durch die Klasse XMLData implementiert wurde. XML ist eine vom World Wide Web Consortium (W3C) definierte Auszeichungssprache und erlaubt eine hierarchisch strukturierte Speicherung in Form eines maschinen- und menschenlesbaren Dokuments 1. Abbildung 4.2: Schnittstelle zur Datenbank Die einzelnen XML-Dateien des Masters werden in den Tabellen 4.1, 4.2, 4.3, 4.4, 4.5 und 4.6 dargestellt und beschrieben. 1 (Vgl. Consortium )

66 50 4 Implementierungsaspekte peers.xml Beschreibung Element peers peer Attribut ID Hostname OS Speed Memory Rate Emule Start ed2kserver Status Datei dient zur Speicherung aller Slaves und zugehörigen Informationen Beschreibung Wurzelverzeichnis, das alle Einträge, d.h. mehrere peer-elemente, beinhaltet Dient zur Erfassung eines einzelnen Slaves und der Informationen Beschreibung eindeutige ID zur Identifikation des Slaves sowohl im JXTA-Netzwerk als auch innerhalb des Systems Name des Rechners, auf dem der Slave ausgeführt wird Betriebssystem des Rechners Prozessor-Geschwindigkeit des Rechners in MHz Arbeitsspeicher des Rechners in MB Durchschnittliche Download-Rate der Internet-Verbindung des Rechners in KByte/s Informationen über den Emule-Client Zeitstempel des Systemstatus Aktueller edonkey-server des Slaves Status des Slaves, (Mögliche Werte: online oder offline) Tabelle 4.1: peers.xml results.xml Beschreibung Element results result Attribut Name Size Hash Sources CompleteSources SearchID ServerID PeerID Status Datei dient zur Speicherung aller Suchergebnisse Beschreibung Wurzelverzeichnis, das alle Einträge, d.h. mehrere result-elemente, beinhaltet Dient zur Erfassung eines Ergebnisses Beschreibung Name der gefundenen Datei Größe der gefundenen Datei File ID der gefundenen Datei Anzahl der Dateien im Tauschbörsen-Netz Anzahl der vollständigen Quellen der Datei im Tauschbörsen-Netz ID der Suche, durch die die Datei gefunden wurde ID des Servers, mit dem der Slave zum Zeitpunkt der Suche verbunden war ID des Slaves, der das Ergebnis lieferte Status des Ergebnisses (Mögliche Werte: started, stopped, finished) Tabelle 4.2: results.xml

67 4.2 Aufbau des Prototypen 51 searches.xml Beschreibung Element searches search Attribut ID Keyword Type WmAlgo WmKey Status Datei dient zur Speicherung aller durchgeführten Suchen Beschreibung Wurzelverzeichnis, das alle Einträge, d.h. mehrere search-elemente, beinhaltet Dient zur Erfassung einer Suche Beschreibung ID der Suche und Zeitstempel des Starts Schlagwort zur Suche gesuchter Dateityp (Mögliche Werte: Audio, Image, Video) der zur Analyse der Datei zu verwendende Wasserzeichen-Algorithmus der bei der Analyse der Datei zu verwendende Wasserzeichen-Schlüssel Status der Suche (Mögliche Werte: started, stopped, finished) Tabelle 4.3: searches.xml server.xml Beschreibung Element servers server Attribut ID Name Description Version Users Files Datei dient zur Speicherung aller Server, zu denen Slaves bisher verbunden waren Beschreibung Wurzelverzeichnis, das alle Einträge, d.h. mehrere server-elemente, beinhaltet Dient zur Erfassung eines Servers Beschreibung ID des Servers (emule nutzt zur Identifikation eines Servers die IP- Adresse in Verbindung mit dem Port) Name des Servers Beschreibung des Servers im Tauschbörsen-Netz Version der eingesetzten Server-Software Anzahl der zu diesem Server vebundenen Nutzer Anzahl der auf diesem Server indizierten Dateien Tabelle 4.4: server.xml

68 52 4 Implementierungsaspekte files.xml Beschreibung Element files file Attribut Hash peer searchid Status Datei dient zur Speicherung aller Daten zu einer Datei nach der Verteilung auf einen Slave Beschreibung Wurzelverzeichnis, das alle Einträge, d.h. mehrere file-elemente, beinhaltet Dient zur Erfassung eines Datei Beschreibung File ID der gefundenen Datei ID des Slaves, der die Analyse dieser Datei durchführt ID der zugehörigen Suche Status der Datei (Mögliche Werte: started, stopped, finished) Tabelle 4.5: files.xml wm results.xml Beschreibung Element wm results wm result Attribut filehash searchid wm timestamp Datei dient zur Speicherung der Ergebnisse aller Wasserzeichen-Analysen Beschreibung Wurzelverzeichnis, das alle Einträge, d.h. mehrere wm result-elemente, beinhaltet Dient zur Erfassung eines Ergebnisses Beschreibung ID der Datei zugehörige Suche mit den entsprechenden Analyse-Parametern gefundene Wasserzeichen-Informations oder Zeichenkette unknown oder ERROR Zeitstempel des Eintrags, d.h. des Endes der Analyse Tabelle 4.6: wm results.xml

69 4.2 Aufbau des Prototypen 53 algorithms.xml Beschreibung Element algorithms algorithm Attribut name Datei dient zur Speicherung der Namen der verfügbaren Wasserzeichen- Algorithmen Beschreibung Wurzelverzeichnis, das alle Einträge, d.h. mehrere algorithm-elemente, beinhaltet Dient zur Erfassung eines Wasserzeichens Beschreibung Name des Wasserzeichens Tabelle 4.7: algorithms.xml peer downloads.xml Beschreibung Datei dient zur Speicherung aller Analyse-Aufträge einer Slaves Element Beschreibung downloads Wurzelverzeichnis, das alle Einträge, d.h. mehrere download-elemente, beinhaltet download Dient zur Erfassung eines Auftrags Attribut Beschreibung hash ID der zu bearbeitenden Datei SearchID ID der Suche, durch die die Datei gefunden wurde WmKey Wasserzeichen-Schlüssel, der bei der anschließenden Analyse genutzt werden soll WmAlgo Wasserzeichen-Algorithmus, der bei der anschließenden Analyse genutzt werden soll Status Timestamp Status des Auftrags (Mögliche Werte: started, stopped, finished) Zeitpunkt des Eintrags und somit der Auftragserteilung Tabelle 4.8: peer downloads.xml Des Weiteren verwendet der Master eine XML-Datei zur Speicherung der Namen aller verfügbaren Wasserzeichen-Algorithmen (vgl. Tabelle 4.7). Diese Datei wird nicht über die Schnittstelle Database angesprochen. Der Slave nutzt auch mehrere XML-Dateien zur Speicherung von Daten. Allerdings wird die Datei peer results.xml nur zur temporären Speicherung eines Suchresultats genutzt und ist daher hier irrelevant. Die Datei peer downloads.xml wird in Tabelle 4.8 beschrieben. Der Slave verwendet darüber hinaus die XML-Datei settings.xml zur Speicherung aller Einstellungen (vgl. Tabelle 4.9). Diese Datei wird nicht über die Schnittstelle Database sondern mit der Klasse settings angesprochen.

70 54 4 Implementierungsaspekte settings.xml Beschreibung Element Settings emule Distributed- Analysis Attribut Address Password Folder Datei dient zur Speicherung aller Einstellungen einer Slaves Beschreibung Wurzelverzeichnis, das alle Einträge beinhaltet Dient zur Erfassung aller Einstellungen bezüglich des emule-clients Dient zur Erfassung aller Einstellung bezüglich des Slaves Beschreibung Adresse des emule Webinterfaces (default: Passwort des emule Webinterfaces Sowohl für das Element emule als auch das Element DistributedAnalysis verfügbar. Beim Element emule dient dieses Attribut zur Speicherung des Pfades des Ordners, in dem die Dateien nach dem Download abgespeichert werden. Beim Element DistributedAnalysis wird in diesem Attribut der Pfad des Ordners beschrieben, in den die Datei nach dem Download aus dem emule-verzeichnis verschoben und gespeichert werden soll. MasterAddress Adresse des Masters (inklusive Protokoll und Port) (Beispiel: tcp:// :9700) AlgorithmRoot Pfad des Verzeichnisses, in dem die Algorithmen für den AlgorithmManager gespeichert sind. Tabelle 4.9: settings.xml Aufbau des Masters In diesem Abschnitt wird der Aufbau des Masters behandelt. Der genaue Aufbau des Masters ist auf Abbildung A.1 im Anhang auf Seite 71 abgebildet. Wie das Klassendiagramm zeigt, besteht der Master zunächst einmal aus einer großen Anzahl von Klassen. Diese können unterteilt werden in die Klassen der GUI, Klassen, die Dienste im JXTA-Netzwerk anbieten, Klassen, die in eigenständigen Threads ausgeführt werden und in Klassen, die Dienste im JXTA-Netzwerk suchen und nutzen. Zu den Klassen, die in eigenständigen Threads ausgeführt werden, zählen die Klassen Peer- Monitor (siehe Abschnitt ) und Dispatcher (siehe Abschnitt S.55). Die Klassen RegisterNewClientService, SearchResultInputService, AnalysisResultInputService und StoppedUnstartedDownloadsInputService sind Klassen, die Dienste im JXTA-Netzwerk anbieten und die Klassen SendSearchCommand, SendDownloadCommand und SendStopUnstartedDownloadsCommand sind Klassen, die Dienste im JXTA-Netzwerk suchen und nutzen (siehe Abschnitt S.56). Die GUI besteht aus drei Klassen (siehe Abschnitt S.57). Dazu zählen die Klassen

71 4.2 Aufbau des Prototypen 55 GUI, PeerTable und SearchTable Monitoring Durch das Monitoring erfolgt eine Überwachung der registrierten Slaves. Dazu wurde die Klasse Peer Monitor entwickelt (vgl. Abbildung 4.3). Diese Klasse erbt von der Klasse Thread und überschreibt die Methode run. Alle 30 Sekunden wird eine Nachricht an jeden der Slaves gesendet. Dies geschieht mittels des JXTA-Dienstes PeerInfoServices. Dieser sendet eine Nachricht an den angegebenen Peer. Der angesprochene Peer quittiert den Empfang der Nachricht mit einer Nachricht. Sollte der angesprochene Peer nach der Zeitspanne von 25 Sekunden noch nicht reagiert haben, so wird das Ereignis peermonitorinfonotreceived ausgelöst. Sollte ein Peer dreimal nicht auf eine Anfrage des Masters reagieren, so wird er aus der Liste der registrierten Slaves entfernt und die auf ihm ausgeführten Aufträge werden durch den Dispatcher neu verteilt. Abbildung 4.3: Peer Monitor Ein Slave wird nicht direkt nach der ersten ausbleibenden Reaktion auf die Master-Anfrage als ausgeschieden behandelt, sondern erst nach der dritten ausbleibenden Reaktion hintereinander. Dies wurde gewählt, um einen Slave nicht vorzeitig zu entfernen, wenn eine Nachricht nicht angekommen ist oder wenn ein stark belasteter Slave nicht rechtzeitig reagieren sollte Dispatcher Die Verteilung der Download- und Analyse-Aufträge erfolgt durch die Klasse Dispatcher (vgl. Abbildung 4.4). Diese Klasse erbt ebenfalls von der Klasse Thread und überschreibt die Methode run. Der Dispatcher überprüft alle 30 Sekunden, ob Suchergebnisse zu einer neuen Suche eingegangen sind und ob alle registrierten Clients auf diese Suche geantwortet haben, also Suchresultate zurückgesendet haben. Wenn eine neue Suche in Arbeit ist und wenn alle Slaves Suchresultate zu dieser Suche gesendet haben, so startet der Dispatcher

72 56 4 Implementierungsaspekte mit der Verteilung aller durch die Suche gefundenen Dateien. Dazu wird die Methode start- NewSearchResultDispatchingProcess mit der entsprechenden ID der Suche verwendet. Diese Methode wird zudem aufgerufen, wenn eine neue Suche gestartet wurde und zu dieser zwar nicht alle Slaves Resultate gesendet haben, aber eine Zeit von 200 Sekunden seit dem Start der Suche vergangen ist. Dadurch wird verhindert, dass eine Suche nicht ausgeführt wird, wenn ein Slave keine Resultate zurücksendet. Abbildung 4.4: Dispatcher Weiter wird die Methode startnewdispatchingprocessforhashset im Falle des Ausscheidens eines Slaves mit der Menge der auf diesem Slave ausgeführten Aufträge ausgeführt Dienste des Masters Die Klassen RegisterNewClientService, SearchResultInputService, AnalysisResultInputService und StoppedUnstartedDownloadsInputService sind Klassen, die Dienste im JXTA-Netzwerk anbieten. Die Klasse RegisterNewClientService veröffentlich den gleichnamigen Dienst im JXTA-Netzwerk. Über diesen Dienst können sich die Slaves beim Master registrieren und die zur Lastverteilung nötigen Informationen an den Master übermitteln. Mittels der Klasse SearchResultInputService wird der Dienst SearchResultInputService veröffentlicht. An diesen Dienst können die Slaves nach einer Suche die Suchresultate übermitteln. Entsprechend dient die Klasse AnalysisResultInputService zur Veröffentlichung eines Dienstes, um Resultate der Analyse von einem Slave zu verarbeiten.

73 4.2 Aufbau des Prototypen 57 Die Klasse StoppedUnstartedDownloadsInputService veröffentlicht den gleichnamigen Dienst im JXTA-Netzwerk. An diesen Dienst melden die Slaves alle ungestarteten Aufträge bei einer Neuverteilung, z.b. dem Eintritt eines neuen Slaves ins Netzwerk während einer laufenden Analyse. Die Klassen SendSearchCommand, SendDownloadCommand und SendStopUnstartedDownloadsCommand sind Klassen, die Dienste im JXTA-Netzwerk suchen und nutzen. Die Klasse SendSearchCommand sucht den Dienst NewSearchInput, der von allen Slaves angeboten wird, und sendet an jeden dieser Dienste die Suchparameter einer neuen Suche. Die Klasse SendDownloadCommand dient der Suche nach dem DownloadService eines Slaves, um diesem einen neuen Download-Auftrag zu übermitteln. Zuletzt sucht die Klasse SendStopUnstartedDownloadsCommand den von jedem Slave angebotenen Dienst StopUnstartedDownloadsService, um z.b. bei einem Eintritt eines neues Slaves ins Netzwerk während einer laufenden Analyse alle ungestarteten Aufträge zu beenden und neu zu verteilen Benutzerschnittstelle Mittels der Benutzerschnittstelle (siehe Abbildung 4.5) werden die Such- und Analyseparameter eingegeben. Des Weiteren werden alle registrierten Slaves in einer Tabelle angezeigt (siehe Abbildung 4.6) und es erfolgt eine Überwachung der laufenden Analyse (siehe Abbildung 4.7) Aufbau eines Slaves In diesem Abschnitt wird der Aufbau eines Slaves behandelt. Der genaue Aufbau eines Slaves ist auf Abbildung A.2 im Anhang auf Seite 72 abgebildet. Wie das Klassendiagramm zeigt, besteht ein Slave zunächst einmal aus einer großen Anzahl von Klassen. Diese können unterteilt werden in die Klasse der GUI, Klassen, die Dienste im JXTA-Netzwerk anbieten, Klassen, die zur Anbindung an die Internet-Tauschbörse genutzt werden, und Klassen, die Dienste im JXTA-Netzwerk suchen und nutzen, und zuletzt noch die in einem eigenem Thread laufende Klasse AlgorithmWorker. Mehr zu dieser Klasse folgt in Abschnitt

74 58 4 Implementierungsaspekte Abbildung 4.5: Benutzerschnittstelle Abbildung 4.6: Benutzerschnittstelle Slave - Übersicht Die Klassen NewSearchInput, DownloadService und StopUnstartedDownloadsService bieten Dienste im JXTA-Netzwerk an und die Klassen RegisterNewClient, SendSearchResult, SendAnalysisResult und SendStoppedDownloads suchen und nutzen die Dienste im JXTA-Netzwerk (siehe Abschnitt ). Die Klasse RegisterNewClient verwendet zudem zwei weitere Klassen NetworkBandwidth und WindowsSystemInformation zur Bestimmung der Systeminformationen. Mehr zu diesen Klassen folgt im Abschnitt Die GUI besteht hier nur aus einer Klasse. Weiterhin verfügt die Klasse settings über eine eigene GUI. Diese Klasse dient zur Verwaltung und zum Lesen und Schreiben der Einstellungen. Die Internet-Tauschbörse wird über die in Abschnitt 3.6 entworfene Schnittstelle Filesharing

75 4.2 Aufbau des Prototypen 59 Abbildung 4.7: Benutzerschnittstelle Analyse angesprochen. Diese wird durch die Klasse Emule implementiert. Zudem existieren dazu die beiden Klassen FilesharingError und FilesharingMonitor. Mehr zu diesen Klassen folgt im Abschnitt Anbindung an emule Die Klasse Emule ist eine Implementierung der Schnittstelle Filesharing. Mit dieser wird der transparente Zugriff auf eine Tauschbörse gewährleistet. Die Nutzung der Datei-IDs aus dem emule-system als interne Datei-IDs spielt dabei keine Rolle. Die Nutzung dieser IDs ist lediglich der einfachste Weg, auch intern eine eindeutige Identifizierbarkeit zu gewährleisten. Wenn eine weitere Tauschbörse neben emule angebunden werden soll, müsste zudem eine zwischen den Datei-IDs der verschiedenen Systeme erfolgen, um eine doppelte Übersetzung Behandlung der Dateien zu vermeiden. Da, wie bereits erwähnt, in diesem Prototyp der Internet-Tauschbörsenclient emule zum Einsatz kommt, erfolgt durch die Klasse Emule die Anpassung des Webinterfaces des emule- Clients an die in Abschnitt 3.6 definierte Schnittstelle zu den Internet-Tauschbörsen. Diese Anpassung erfolgt mittels des in Gamma und Riehle (2000) definierten Entwurfsmusters des sogenannten Adapters bzw. Wrappers 2. Eine Adapter- oder Wrapperklasse übersetzt eine Schnittstelle in eine andere Schnittstelle und ermöglicht somit eine Kommunikation über diese. Da es sich in diesem Fall um ein Webinterface handelt, besteht die Übersetzung aus einer Umwandlung der Befehle der Filesharing- Schnittstelle in einen entsprechenden Uniform Resource Locator (URL) des Webinterfaces und in der anschließenden Konvertierung der durch die URL bezogenen Daten im Hypertext Markup Language (HTML) -Format in entsprechende Java-Variablen. Dies erfolgt mittels eines HTML-Parsers. Hierbei 2 (Vgl. Gamma und Riehle 2000, S.151 ff)

76 60 4 Implementierungsaspekte ist wichtig, dass beim verwendeten emule-client die Sprache auf Deutsch gestellt ist, da ansonsten Fehler beim Parsen auftreten Systeminformationen Die Systeminformationen werden zur Lastverteilung benötigt (vgl. Abschnitt 3.5). Dazu sind die Parameter Prozessorgeschwindigkeit, Arbeitsspeichergröße und die durchschnittliche Downloadrate notwendig. Die Klasse WindowsSystemInformation dient der Ermittlung verschiedener Systemparameter unter dem Betriebssystem Microsoft Windows XP. Dazu wird das in dieser Windows-Version standardmäßig verfügbare Programm systeminfo.exe genutzt. Die Ausgabe des Programms wird durch die Klasse interpretiert und in ein Zeichenketten-Feld umgewandelt. Dabei werden folgende Werte gewonnen: Name des Rechners (Hostname) Name des Betriebssystems Geschwindigkeit des Prozessors in MHz Größe des Arbeitsspeichers in MB Die notwendige durchschnittliche Downloadrate wird durch die Klasse NetworkBandwidth ermittelt. Um die Geschwindigkeit der Download-Internet-Verbindung zu messen, werden drei verschiedene Dateien von verschiedenen Adressen aus dem Internet geladen. Dabei wird die Zeitdauer für diese Aktion gemessen. Durch die Berücksichtigung der Größe der Dateien kann im Anschluss die Geschwindigkeit in KByte pro Sekunde berechnet werden. Die Werte dieser Messungen können allerdings stark differieren. Schließlich kann nicht berücksichtigt werden, ob die Internet-Verbindung eventuell von mehreren Rechnern genutzt wird oder ob andere Programme die Verbindung schon nutzen. Dies ist allerdings auch nicht erforderlich, da durch die Messung lediglich die noch verfügbare Downloadrate festgestellt werden soll AlgorithmWorker Die Anbindung an den zur Wasserzeichen-Analyse genutzten AlgorithmManager erfolgt über die Klasse AlgorithmWorker. Diese Klasse basiert auf einer Warteschlange, in die jeder einzelne Analyse-Auftrag eingereiht wird. Jeder Auftrag wird nacheinander ausgeführt. Dazu wird eine den Analyse-Parametern entsprechende Instanz des AlgorithmManagers geladen.

77 4.2 Aufbau des Prototypen 61 Mit dieser wird dann ein neuer Detektor geladen, der dann unter Verwendung des angegebenen Wasserzeichen-Algorithmus und Schlüssels die angegebene Datei untersucht. Nach der Analyse wird entweder die gefundenene Wasserzeichen-Information oder die Zeichenkette unknown an den Slave übergeben, der diese dann an den Master sendet. Zudem ist es möglich, die Wasserzeichen-Analyse durch den AlgorithmManager zu übergehen, um diese durch ein externes Programm durchführen zu lassen Dienste des Slaves Die Klassen NewSearchInput, DownloadService und StopUnstartedDownloadsService sind Klassen, die Dienste im JXTA-Netzwerk anbieten. Die Klasse NewSearchInput bietet den Dienst SearchService im JXTA-Netzwerk an. Dieser wird vom Master zur Übermittlung einer neuen Suche an die Slaves genutzt. Mit der Klasse DownloadService wird der gleichnamige Dienst im Netzwerk angeboten. Über diesen werden Kommandos zum Download von Dateien entgegengenommen. Zuletzt bietet die Klasse StopUnstartedDownloadService den Dienst zum Anhalten aller bisher noch nicht angefangenen Aufträge an. Dieser wird, wie bereits erwähnt, z.b. bei dem Eintritt eines neuen Slaves in das Netzwerk bei einer bereits laufenden Analyse benötigt. Die Klassen RegisterNewClient, SendSearchResult, SendAnalysisResult und SendStopped- Downloads sind Klassen, die Dienste im JXTA-Netzwerk suchen und nutzen. Die Klasse RegisterNewClient sucht den vom Master angebotenen Dienst RegisterNewClient- Service und sendet ihm zur Anmeldung die Systeminformationen (siehe Abschnitt ). Die Klassen SendSearchResult und SendAnalysisResult suchen die entsprechenden Dienste des Masters, um Such- bzw. Analyseresultate an diesen zu übermitteln. Zuletzt wird die Klasse RegisterNewCleintService zur Übermittlung aller gestoppten Aufträge verwendet, nachdem vom Master der StopUnstartedDownloadService aufgerufen wurde.

78 62 5 Evaluation und Leistungsbeurteilung In diesem Kapitel erfolgt eine abschließende Evaluation und Leistungsbeurteilung des entwickelten Systems. Durch die Evaluation der prototypischen Implementierung wird überprüft, ob diese Lösung den geforderten Funktionsumfang bereitstellt und ob alle Anforderungen erfüllt werden. Der Prototyp wird zu diesem Zweck in verschiedenen Testfällen getestet und hinsichtlich seiner Konformität bezüglich der Anforderungen bewertet. Zudem erfolgt abschließend in einem weiteren Schritt ein Leistungsvergleich. Dabei wird das System in verschiedenen Fällen in Bezug auf Ergiebigkeit und Schnelligkeit bewertet. 5.1 Testumgebung Die Evalutation der prototypischen Implementierung erfolgt in mehreren Phasen. Dazu werden verschiedene Testumgebungen genutzt. Bereits während der Implementierung erfolgte eine regelmäßige Überprüfung des geforderten Funktionsumfangs und der Anforderungen. Dies geschah auf einem minimalen, verteilten System, bestehend aus zwei Rechnern, und einem Router mit Switch-Funktion (vgl. Abbildung 5.1). Beide Rechner waren mit jeweils einem emule-client ausgestattet und über eine DSL-Leitung mit dem Internet verbunden. Einer der Rechner fungierte während der Tests als Master und beherbergte zudem noch einen Slave. Der zweite Rechner führte noch einen weiteren Slave aus. Während dieser Tests wurden mehrfach alle in Abschnitt 3.4 beschriebenen Ausnahmefälle getestet. Mehr zu den Funktionstests folgt in Abschnitt 5.2. In der zweiten Phase der Evalutation wurde ein Laborversuch durchgeführt. Dazu erfolgte ein Test unter simulierten Bedingungen im lokalen Netz. Dabei wurde ein lokales System bestehend aus fünf Rechnern aufgebaut (vgl. Abbildung 5.1). Auf einem dieser Rechner wurde ein eigener emule Server installiert. Dazu wurde die Software von Lugdunum gewählt 1. Diese Software ist im Internet frei verfügbar und zur Zeit die am häufigsten verwendete Server-Software für das edonkey- bzw. emule-netz. Während des Testens simulierten zwei 1 Vgl.

79 5.1 Testumgebung 63 Abbildung 5.1: Testumgebung 1 Rechner gewöhnliche Tauschbörsenteilnehmer und die verbleibenden zwei Rechner bildeten wie schon in der ersten Phase zusammen das Analyse-System. Dabei übernahm wieder einer der Rechner die Funktion sowohl als Master als auch als Slave und der zweite Rechner wieder nur als Slave. Mehr dazu folgt im Abschnitt 5.3. Abbildung 5.2: Testumgebung 2 In der dritten und letzten Phase wurde ein Praxistest durchgeführt. Dazu wurden drei mit dem Internet über eine gemeinsame DSL-2000-Leitung verbundene und untereinander vernetzte Rechner genutzt (vgl. Abbildung 5.1). Um während des Tests im System nicht aufzufallen und somit die Anforderung nach einem unerkannten Verbleiben im Tauschbörsennetz zu gewährleisten, bot jeder der drei Rechner freie Software zum Download an. Mehr zum Praxistest folgt im Abschnitt 5.4.

80 64 5 Evaluation und Leistungsbeurteilung 5.2 Funktionstests Abbildung 5.3: Testumgebung 3 Funktionstests werden anhand von Anwendungsfällen (engl. use cases) durchgeführt. Das zu prüfende Computerprogramm hat dabei alle gestellten Aufgaben gemäß seiner Spezifikation zu lösen. Beim entwickelten System galt es, sowohl die entworfenen Ausnahmefälle (vgl. Abschnitt 3.4) als auch die vollständige Funktion der Download- und Analyse-Komponenten zu überprüfen. Zunächst einmal wurden sämtliche Ausnahmefälle mehrfach wiederholt simuliert. Dazu wurden Slave- und Master-Ausfälle durch gezieltes Ausschalten provoziert und die Reaktionen des Systems überwacht. Zudem erfolgten regelmäßige Tests mit verschiedenen Suchparametern, um die Verteilung und die Suchfunktionen zu überprüfen. Da das System nicht über eine Redundanz des Masters verfügt, wurden hauptsächlich Ausfälle eines oder mehrere Slaves in verschiedenen Phasen simuliert. Unter anderem wurden dabei folgende Situationen getestet: Ausfall eines Slaves vor Start einer Analyse Reduktion der verfügbaren Slaves Ausfall eines Slaves unmittelbar nach dem Start der Analyse, während alle Slaves die Tauschbörse durchsuchen, um die Ergebnisse anschließend zurückzusenden Master verteilte alle Ergebnisse nach Erreichen des Timeouts von 200 Sekunden.

81 5.3 Laborversuch 65 Ausfall eines Slaves nach der Verteilung der Aufträge Master registrierte Ausfall Neuverteilung aller dem ausgefallenen Slave zugeteilten Aufträge Eintritt eines Slaves unmittelbar nach dem Start der Analyse, während alle Slaves die Tauschbörse durchsuchen, um die Ergebnisse anschließend zurückzusenden Master verteilte alle Ergebnisse nach Erreichen des Timeouts von 200 Sekunden. Eintritt eines Slaves nach der Verteilung der Aufträge Master registrierte Eintritt Anhalten aller ungestarteten Download-Aufträge und Neuverteilung dieser unter allen Slaves 5.3 Laborversuch Im Laborversuch erfolgte ein Vergleich zwischem einem normalen Tauschbörsen-Client und dem implementierten, aus 2 Slaves bestehenden System in einer simulierten Umgebung (vgl. Abbildung 5.2). Dazu wurde ein Netzwerk bestehend aus einem edonkey- bzw. emule-server, zwei normalen emule-clients und zwei Rechnern mit dem Prototypen aufgebaut. Durch den Aufbau wurden lange Wartezeiten auf Dateien oder vorzeitiges Ausscheiden eines Datei- Anbieters und somit Ausscheiden einer eventuell einzigen Quelle verhindert. Zudem ist dadurch das System unabhängig von der Anzahl der Nutzer im Tauschbörsen-Netzwerk, der Tageszeit und dem Uhrzeit abhängigen Internet-Verkehr. Die beiden normalen emule-clients dienten als Daten-Anbieter. Diese boten insgesamt 108 MP3-Dateien zum Download an. Durch die Verwendung des implementierten Systems mit nur einem Slave konnte das Verhalten eines einzigen normalen Tauschbörsen-Clients simuliert werden. Bei zwei Testläufen wurde die Zeit gemessen, die ein derartiges System benötigt, um alle 108 Dateien herunterzuladen. Diese Zeiten wurden mit den durch das aus zwei Slaves bestehenden Referenz-Systems benötigten Zeiten verglichen (vgl. Abbildung 5.4). Wie zu erwarten, benötigt ein Client nahezu doppelt so lange zum Download aller Dateien wie das aus zwei Slaves bestehende System. Die erreichten Zeiten können durch eine moderne Hardware verbessert werden. Als größte Schwachstelle erwies sich der emule-server, der auf einem 150 MHz Pentium I Rechner ausgeführt wurde.

82 66 5 Evaluation und Leistungsbeurteilung 5.4 Praxistest Abbildung 5.4: Ergebnisse Laborversuch Im Praxistest wurde das entwickelte System im realen edonkey- bzw. emule-netzwerk evaluiert. Um Vergleichswerte zu erlangen, wurden dazu verschiedene Tests durchgeführt. Wie beim Laborversuch wurde zunächst das System bestehend aus nur einem Slave und einem Master als Simulation eines normalen Filesharing-Clients ausgeführt. Im Anschluss wurde das System bestehend aus zwei Slaves und einem Master getestet und zum Schluß das System bestehend aus drei Slaves und einem Master. Während des Praxistests wurde im Gegensatz zum Laborversuch nicht die Zeitdauer für das Downloaden einer bestimmten Menge von Dateien gemessen, sondern die Anzahl und die Größe der heruntergeladenen Dateien zu einem Suchwort in einem gegebenen Zeitraum. Die Tests wurden für eine Zeitdauer von zwei Stunden ausgeführt und jeweils zweimal für zwei verschiedene Suchbegriffe ausgeführt. Der erste Test erfolgte für das Suchwort Tomte. Dadurch wurde das System für eine sehr begrenzt verfügbare Menge von Dateien getestet. Im zweiten Test wurde nach dem Suchwort Metallica gesucht. Dabei wurde immer die Grenze von 300 Suchresultaten pro Client erreicht. Abbilung 5.5 zeigt die Durchschnittswerte der verschiedenen Tests. Auffällig dabei ist, dass die Unterschiede beim Suchwort Tomte minimal sind. Dahingegen verbessern sich die Er-

83 5.4 Praxistest 67 Abbildung 5.5: Feldversuch gebnisse beim Suchwort Metallica mit der Anzahl der Slaves. Durch eine schnellere Internet- Verbindung wären die Verbesserungen noch deutlicher. Die Unterschiede zwischen den Ergebnissen für das Suchwort Tomte und Metallica sind hauptsächlich durch die stark differierende Anzahl von den im Tauschbörsen-Netzwerk verfügbaren Dateien zum Suchwort zu erklären. Während der verschiedenen Testverfahren wurde das optionale Analyseverfahren unterschiedlich behandelt. Während der Funktionstests wurden verschiedene Wasserzeichen- Algorithmen getestet. Allerdings musste während der Labor- und Feldversuche darauf verzichtet werden, da kein Wasserzeichen-Algorithmus für das MP3-Format verfügbar war, der zum AlgorithmManager kompatibel war.

84 68 6 Zusammenfassung und Ausblicke Zum Abschluss der Arbeit soll in diesem Kapitel eine Zusammenfassung des Erarbeiteten dargestellt werden und ein Ausblick auf potentielle zukünftige Projekte im Anschluss an diese Arbeit beschrieben werden. 6.1 Zusammenfassung Diese Arbeit hat sich das effiziente Auffinden und Analysieren von urheberrechtlich geschütztem Material, das ohne Einwillung des Urhebers in Internet-Tauschbörsen veröffentlicht wurde, zum Ziel gesetzt. Der Schwerpunkt der Arbeit lag hierbei bei der verteilten Suche und Verfügbarmachung der Dateien aus Tauschbörsen. Internet-Tauschbörsen sind Plattformen zum Austausch von Dateien über das Internet. Durch sie haben Nutzer Zugriff auf eine große Menge von urheberrechtlich geschütztem Material, wie Filme, Musik, Bücher und Software. Die Veröffentlichung von urheberrechtlich geschütztem Material verstößt ohne die Zustimmung des Urhebers gegen das Urheberrecht. Da das Material in der Regel aus Gründen der Wertschöpfung, sprich zum Verdienst, geschützt ist, sehen die betroffenen Urheber und die betroffene Industrie den Tausch im Internet als wachsende Bedrohung an. Viele Methoden zum Schutz vor unerlaubten Kopien sind mit starken Restriktionen verbunden, durch die die Nutzbarkeit des Mediums beeinträchtigt wird. Das Fraunhofer Institut für Integrierte Publikations- und Informationssysteme (IPSI) hat mit digitalen Wasserzeichen eine neue Technologie mitentwickelt, die eine nicht-restriktive Methode darstellt. Mit digitalen Wasserzeichen kann eine beliebige Information robust in eine Datei eingebracht werden. Dies kann z.b. beim Kauf im Internet eine Kundennummer sein. Somit ist eine Rückverfolgung bei einer etwaigen Urheberrechtsverletzung gewährleistet. Zudem kann in diesem Zusammenhang von einem psychologischen Kopierschutz gesprochen werden. Damit wird dann dem laut mehreren Studien vorherrschenden Gefühl der Anonymität im Internet entgegengewirkt.

85 6.2 Ausblicke 69 Allerdings sind digitale Wasserzeichen lediglich passiv, so dass eine aktive Kontrolle ausgeführt werden muss, um eine eventuell eingebettete Information zu erhalten oder um Urheberrechtsverletzungen zu registrieren. Vor einer Analyse ist es nötig, die Datei lokal verfügbar zu machen. Um eine effiziente und auf die ständig wachsende Anzahl an Dateien in Internet- Tauschbörsen angepasste Lösung zu erhalten, wurde mit dieser Arbeit ein grundlegender Entwurf zum verteilten Download und zur verteilten Analyse geschaffen. Wichtigste Anforderung an das System waren neben einer guten Skalierbarkeit eine gute Ausnutzung der zur Verfügung stehenden Ressourcen und eine gute Erweiterbarkeit um weitere Internet-Tauschbörsen zusätzlich zu dem im Prototypen verwendete emule. Um Kollisionen zu vermeiden und um eine Lastverteilung zu erreichen, wurde das System nach dem Master-Slave-Prinzip entworfen. Diese hierarchische Struktur sieht vor, dass eine oder mehrere Instanzen eine steuernde Rolle übernehmen, während untergeordnete Instanzen, die sogenannten Slaves, lediglich Befehlsempfänger darstellen. Durch die Lastverteilung konnte die gewünschte Anforderung der optimalen Ausnutzung der Ressourcen erfüllt werden. Einfluss auf die Anzahl der einem Slave zugeteilten Aufträge haben dabei, neben der Größe des Arbeitsspeichers und der Prozessorgeschwindigkeit als Systemfaktoren, der Faktor Downloadgeschwindigkeit und die Anzahl der bisher dem Slave zugeteilten Aufträge. Als Kommunikationsplattform für die prototypische Implementierung wurde JXTA verwendet. Dieses Peer-to-Peer-Framework bietet neben einer guten Skalierbarkeit auch die Möglichkeit, das System in einer zukünftigen Arbeit problemlos auf ein vollwertiges Peer-to-Peer- System umzustellen. Durch geeignete Ausnahmebehandlungsmethoden ist zwar ein Ausfall eines Slaves problemlos, allerdings stellt der Master einen Single- Point-of-Failure dar. Somit ist bei Ausfall des Masters in der Regel ein vollständiger Neustart des Systems notwendig. Da aber diese Arbeit zunächst einmal den Entwurf eines grundlegenden Systems zur Aufgabe hatte, war die Anforderung der Ausfallsicherheit des Masters nicht gestellt. 6.2 Ausblicke Das entwickelte System bietet Raum für vielfältige Weiterentwicklungen. Wie bereits oben erwähnt, wäre eine Umsetzung eines vollständigen Peer-to-Peer-Systems denkbar. Eine weitere Möglichkeit wäre eine Weiterentwicklung der Analyse-Komponente. Das in dieser Arbeit verwendete Modul stellt nur das Grundgerüst für eine Analyse dar und es wird auf eine Überprüfung der Analyse-Parameter und der Wasserzeichen-Parameter, wie z.b. Dateityp,

86 70 6 Zusammenfassung und Ausblicke verzichtet. Zudem ist der verwendete AlgorithmManager auch noch im Entwicklungsstadium und dementsprechend anfällig. Weitere Entwicklungsmöglichkeiten wären die Erweiterung des Systems um weitere Tauschbörsen-Typen und somit um weitere Implementierungen der Schnittstelle Filesharing. Zudem wäre eine dynamischere Lastverteilung denkbar. Zur Zeit überprüft der Monitor lediglich die Verfügbarkeit eines Slaves. Denkbar wäre hier eine Abfrage der Systemauslastung und eine eventuelle Neuverteilung als Reaktion auf diese Auslastung. Eine weitere Entwicklungsmöglichkeit wäre ein inkrementelles Analyse-Verfahren. Dabei könnte die Suche in einem wählbaren Zeitabstand wiederholt aufgerufen und alle noch nicht analysierten Dateien untersucht werden. Die zukünftige Entwicklung von Maßnahmen zur Pirateriebekämpfung in Internet-Tauschbörsen wird sich vermutlich weiterhin sehr stark an den Möglichkeiten der modernen Informationstechnologie orientieren. Wie diese Arbeit zeigt, liegt in diesem Bereich viel Potenzial für zukünftge Forschungsarbeiten verborgen.

87 71 A Klassendiagramme Abbildung A.1: Klassendiagramm Master

88 72 A Klassendiagramme Abbildung A.2: Klassendiagramm Slave

89 73 B Die optimale Konfiguration von emule In diesem Abschnitt wird die für das entwickelte System optimale Konfiguration des Internet- Tauschbörsen-Clients emule beschrieben. Zunächst muss der emule-client installiert werden. Dabei sollte die empfohlene Version 47c in deutscher Sprache installiert werden. Diese Version ist auf der mitgelieferten CD-ROM verfügbar. Dabei kann zwischen einer.exe-datei, die ein Installationsprogramm beinhaltet, oder einer.zip-datei, die nur die nötigen Dateien enthält, gewählt werden. Nach der Installation wird beim ersten Start der Erst-Start-Assistent ausgeführt. Im Menüpunkt Allgemein können die Standard-Einstellungen beibehalten werden. Im nächsten Menüpunkt Ports und Verbindung erfolgt die Konfiguration der beiden für den optimalen Betrieb nötigen freigeschalteten Ports. Diese müssen in einer eventuell vorhandenen Firewall umbedingt freigegeben werden. Durch Ausführen von Ports testen können die gewählten Einstellungen überprüft werden. Die weiteren Standard-Einstellungen können beibehalten werden. Nach Abschluss des Erst- Start-Assistenten wird der Assistent zur Verbindungseinstellung geöffnet. Dabei sollten folgenden Einstellungen gewählt werden: Betriebssystem: Win2k/XP Gleichzeitige Downloads: 16+ Internetanbindung: Wahl der vorhandenen Internetanbindung. Sollte darüber keine Information vorhanden sein, kann diese Einstellung auch nach Ausführen des Slaves neu eingegeben werden. Die Durchschnittsrate der Anbindung ist dabei in der Peer Table des Masters ablesbar. Im Anschluss an die Assistenten müssen weitere Einstellungen vorgenommen werden. Diese können unter dem Menüpunkt Optionen vorgenommen werden. Dabei sollten folgende Einstellungen vorgenommen werden:

90 74 B Die optimale Konfiguration von emule Unter dem Menüpunkt Server sollte der Punkt Serverliste beim Programmstart aktualisieren aktiviert werden. Dazu muss zudem die URL http : //www.server met.de/dl.php?load = gz&trace = in der Liste eingetragen werden. Um zu verhindern, dass schlechte Server auf die Liste in emule gelangen, müssen folgende Einstellungen vorgenommen werden: Server-Adressen vom verbundenen Server beziehen Server-Adressen von verbundenen Clients beziehen Weiterhin muss das Webinterface unter dem Menüpunkt Webinterface aktiviert werden und das Administrator-Passwort muss gesetzt werden. Dieses wird später bei den Einstellungen des Slaves benötigt. Weiterhin muss die Zeit des Session Timeout hochgesetzt werden auf 20 Minuten. Zum Abschluss die Einstellungen durch OK oder Übernehmen bestätigen.

91 75 C Anleitung zur Nutzung des entwickelten Systems Vor dem Ausführen des Systems muss zunächst nach der Anleitung im vorherigen Kapitel die Installation des emule-clients auf jedem vorhergesehenen Slave vorgenommen werden. Dabei ist anzumerken, dass der Master und ein Slave auf einem Rechner ausgeführt werden können. Für den Start des Systems muss zunächst das ganze Verzeichnis auf jeden der Rechner kopiert werden. Dann wird zunächst der Master gestartet und im Anschluss die einzelnen Slaves. Dies geschieht jeweils durch Ausführen von distributedanalysis.bat. Der Master bedarf keiner weiteren Konfiguration. Die Einstellungen für den Slave werden in der Datei settings.xml, die sich im Verzeichnis data befindet, vorgenommen. Sollte die Datei nicht vorhanden sein, wird der Konfigurations-Assistent beim Start des Slaves geöffnet (vgl. Abbildung C.1). Abbildung C.1: Einstellungsassistent des Slaves In diesem Assistent können die folgenden Einstellungen vorgenommen werden:

Urheberrecht und Internet. - Rechtsfragen -

Urheberrecht und Internet. - Rechtsfragen - Urheberrecht und Internet - Rechtsfragen - Thomas Hochstein Urheberrecht und Internet Folie 0 Podiumsdiskussion CCCS Stuttgart 12.01.2006 Urheberrecht I Schutzgegenstand

Mehr

Digital Watermarks Schutz digitaler Medien Watermarking für mehr Sicherheit im Handel mit virtuellen Gütern

Digital Watermarks Schutz digitaler Medien Watermarking für mehr Sicherheit im Handel mit virtuellen Gütern Digital Watermarks Schutz digitaler Medien Watermarking für mehr Sicherheit im Handel mit virtuellen Gütern Sascha Zmudzinski Fraunhofer SIT Amt für Wirtschaft und Stadtentwicklung, Darmstadt Inhalt 1.

Mehr

Tauschbörsen File Sharing Netze

Tauschbörsen File Sharing Netze 1 1. Urheberrecht beachten Tauschbörsen - Millionen von Usern verwenden täglich Programme wie Kazaa, Limewire oder BitTorrent, um Musik, Videos, Texte oder Software vom Internet herunterzuladen oder zu

Mehr

Urheberrecht und Musik

Urheberrecht und Musik 18. Fachtagung des Forums Medienpädagogik der BLM Urheberrecht und Musik Dr. Kristina Hopf Juristische Referentin der KJM-Stabsstelle und der Bayerischen Landeszentrale für neue Medien Inhaltsübersicht

Mehr

Digital Rights Management in der Praxis

Digital Rights Management in der Praxis 3 Gerald Fränkl Digital Rights Management in der Praxis Hintergründe, Instrumente, Perspektiven, (und) Mythen VDM VERLAG DR. MÜLLER 4 - Bibliografische Information der Deutschen Bibliothek: Die Deutsche

Mehr

Über die Folgen eines durchgängigen DRM für Bildung und Wissenschaft

Über die Folgen eines durchgängigen DRM für Bildung und Wissenschaft Über die Folgen eines durchgängigen DRM für Bildung und Wissenschaft Hamburg, den 24. November 2006 Architektur eines DRMS Digital Rights Management (DRM) DRM bezeichnet den Einsatz der zur Verfügung stehenden

Mehr

DIGITAL RIGHTS MANAGEMENT

DIGITAL RIGHTS MANAGEMENT DIGITAL RIGHTS MANAGEMENT Irfan Simsek Lehr- und Forschungsgebiet Informatik 4 RWTH Aachen 27. Januar 2006 Irfan Simsek (RWTH Aachen) DIGITAL RIGHTS MANAGEMENT 27. Januar 2006 1 / 19 Fragen Was heisst

Mehr

Peer to Peer. ENGL Bernhard 0120956 PRAXMARER Stefan 0120383 COLOSIO Markus 0120160

Peer to Peer. ENGL Bernhard 0120956 PRAXMARER Stefan 0120383 COLOSIO Markus 0120160 Peer to Peer ENGL Bernhard 0120956 PRAXMARER Stefan 0120383 COLOSIO Markus 0120160 Inhalt Einführung Peer to Peer vs. Client/Server Informationssuche Technik Filesharing Programme Rechtssituation Client-Server-Architektur

Mehr

DigiRights Solution GmbH 02.02.200 9. 2009 DigiRights Solution GmbH

DigiRights Solution GmbH 02.02.200 9. 2009 DigiRights Solution GmbH 200 DigiRights Solution GmbH 200 DigiRights Solution GmbH 2 200 DigiRights Solution GmbH 3 200 DigiRights Solution GmbH 4 200 DigiRights Solution GmbH 5 DigiRights Solution GmbH wurde im Jahr 2007 zum

Mehr

Streaming. flüchtige Kopie. Download. freie Werknutzung. CC-Lizenz. BitTorrent. Upload. Kopie. Filesharing

Streaming. flüchtige Kopie. Download. freie Werknutzung. CC-Lizenz. BitTorrent. Upload. Kopie. Filesharing flüchtige Kopie Upload CC-Lizenz Streaming Kopie Download Filesharing freie Werknutzung BitTorrent Die vielen Paragrafen des Urheberrechts sind für viele Internetnutzerinnen und -nutzer nicht leicht verständlich.

Mehr

Streaming. Download. Achtung: viele zum Download angebotene Werke auf Onlineplattformen, da es sich hier oft um urheberrechtsverletzende

Streaming. Download. Achtung: viele zum Download angebotene Werke auf Onlineplattformen, da es sich hier oft um urheberrechtsverletzende Urheberrecht Streaming Streaming ist eine Form von Datenübertragung, bei der Video- und Audiodateien downgeloadet und gleichzeitig auf dem Endgerät abgespielt werden. Die Daten werden üblicherweise nicht

Mehr

JXTA. - bisher: - eigenständige, spezialisierte und inkompatible P2P-Lösungen - mit erheblichem Entwicklungsaufwand verbunden

JXTA. - bisher: - eigenständige, spezialisierte und inkompatible P2P-Lösungen - mit erheblichem Entwicklungsaufwand verbunden JXTA Ein Überblick HS-Telematik: JXTA, von Ronny Heidenreich Motivation - bisher: - eigenständige, spezialisierte und inkompatible P2P-Lösungen - mit erheblichem Entwicklungsaufwand verbunden - neuer Ansatz:

Mehr

MUSIK- KOPIEN. Die konsequente Verfolgung unrechtmässiger. Internet zeigt Wirkung. Sowohl die Zahl

MUSIK- KOPIEN. Die konsequente Verfolgung unrechtmässiger. Internet zeigt Wirkung. Sowohl die Zahl MUSIK- KOPIEN 24 Die konsequente Verfolgung unrechtmässiger Musikbeschaffung aus dem Internet zeigt Wirkung. Sowohl die Zahl der Downloads wie auch die der Musikdiebe geht langsam zurück. Illegale Downloads

Mehr

UNSERE ERFAHRUNG UND KOMPETENZ FÜR IHRE RECHTE

UNSERE ERFAHRUNG UND KOMPETENZ FÜR IHRE RECHTE Urheberrecht UNSERE ERFAHRUNG UND KOMPETENZ FÜR IHRE RECHTE Nutzen Sie unsere Dienstleistungen und Netzwerke im Kampf gegen Urheberrechtsverletzungen. Die Urheber von Werken der Literatur, Wissenschaft

Mehr

+49 (0) 221 95 15 63-0. Die häufigsten Fragen der Zuschauer haben wir im Sinne von FAQ s wie folgt zusammengefasst:

+49 (0) 221 95 15 63-0. Die häufigsten Fragen der Zuschauer haben wir im Sinne von FAQ s wie folgt zusammengefasst: Sehr geehrte Damen und Herren, nach der Stern TV Sendung haben wir so viele E-Mails bekommen, dass wir uns dazu entschieden haben, diese gesammelt zu beantworten. Viele Fragen sind mehrfach aufgetaucht,

Mehr

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer Verteiltes Backup Einleitung Grundlegende Backup Techniken Backup in Netzwerken Client/Server Peer-to-Peer Einleitung Backup: Das teilweise oder gesamte Kopieren der in einem Computersystem vorhandenen

Mehr

FREY RECHTANSWÄLTE. Strategische Beratung Rechtsmanagement

FREY RECHTANSWÄLTE. Strategische Beratung Rechtsmanagement FREY RECHTANSWÄLTE Strategische Beratung Rechtsmanagement FREY RECHTSANWÄLTE Mittelstr. 12 14, 50672 Köln Tel. +49 221 420748 00 Fax +49 221 420748 29 Email info@frey.tv www.frey.tv : Die Zähmung der Widerspenstigen?

Mehr

Sicher durchs Internet Nützliche Hinweise

Sicher durchs Internet Nützliche Hinweise Sicher durchs Internet Nützliche Hinweise Ein kleiner Ratgeber für die ganze Familie von Niels Köhrer, Ihrem Rechtsanwalt aus Kiel rund ums Thema IT-Recht. Sicher durchs Internet Nützliche Hinweise Internet-Tauschbörsen

Mehr

Überblick. 2 Bestandsaufnahme 2.1 Beispiele von verteilten Systemen 2.2 Anwendungsszenarien 2.3 Vorteile 2.4 Problembereiche

Überblick. 2 Bestandsaufnahme 2.1 Beispiele von verteilten Systemen 2.2 Anwendungsszenarien 2.3 Vorteile 2.4 Problembereiche Überblick 2 Bestandsaufnahme 2.1 Beispiele von verteilten Systemen 2.2 Anwendungsszenarien 2.3 Vorteile 2.4 Problembereiche c rk,wosch,jk VS (SS 2015) 2 Bestandsaufnahme 2 1 Prozessorfarm @Google c rk,wosch,jk

Mehr

PIWIN II. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II. Vorlesung 2 SWS SS 08

PIWIN II. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II. Vorlesung 2 SWS SS 08 PIWIN II Kap. 3: Verteilte Systeme & Rechnernetze 1 PIWIN II Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II Vorlesung 2 SWS SS 08 Fakultät für Informatik Technische

Mehr

Content Management Systeme

Content Management Systeme Content Management Systeme Ein Vergleich unter besonderer Berücksichtigung von CoreMedia und TYPO3 Bachelorthesis im Kooperativen Bachelor Studiengang Informatik (KoSI) der Fachhochschule Darmstadt University

Mehr

White Paper. Datenschutz für Betreiber von WLAN-Hotspots Die VPN-Server-Lösung von hotsplots. Stand: März 2007

White Paper. Datenschutz für Betreiber von WLAN-Hotspots Die VPN-Server-Lösung von hotsplots. Stand: März 2007 White Paper Datenschutz für Betreiber von WLAN-Hotspots Die VPN-Server-Lösung von hotsplots Stand: März 2007 hotsplots GmbH Dr. Ulrich Meier, Jörg Ontrup Stuttgarter Platz 3 10627 Berlin E-Mail: info@hotsplots.de

Mehr

Musik, Hörbücher oder Videos aus dem Internet

Musik, Hörbücher oder Videos aus dem Internet Musik, Hörbücher oder Videos aus dem Internet Peter Simon Es gibt sehr viele Quellen für Audio oder Video Dateien im Internet. Welche sind legal? Wie lädt man sie herunter? Was ist eine Mediathek? Wie

Mehr

Kitik Kritik an DRM, Praxisbezug

Kitik Kritik an DRM, Praxisbezug Kitik Kritik an DRM, Praxisbezug Inkompatibilität mit verschiedenen mobilen Endgeräten Praxis: Es gibt zur Zeit viele verschiedene DRM Systeme, die nicht auf allen Geräten einsetzbar sind Fehlende Sicherungsoption

Mehr

RICHTLINIEN ZUM UMGANG MIT URHEBERRECHTLICH GESCHÜTZTEN WERKEN UND ZUR IT-SICHERHEIT

RICHTLINIEN ZUM UMGANG MIT URHEBERRECHTLICH GESCHÜTZTEN WERKEN UND ZUR IT-SICHERHEIT DEUTSCHE LANDESGRUPPE DER IFPI E.V. RICHTLINIEN ZUM UMGANG MIT URHEBERRECHTLICH GESCHÜTZTEN WERKEN UND ZUR IT-SICHERHEIT für Universitäten und wissenschaftliche Institutionen EINLEITUNG Alle Menschen,

Mehr

Die Abmahnung wegen Filesharing Worum es geht und was man tun kann

Die Abmahnung wegen Filesharing Worum es geht und was man tun kann Die Abmahnung wegen Filesharing Worum es geht und was man tun kann von Rechtsanwältin Katja Schubert Karsten + Schubert Rechtsanwälte Stand: September 2010 Die Abmahnung wegen Filesharing 1. Wann und warum

Mehr

Executive Summary HGV integriert CoSee Wasserzeichentechnologie in ihr Remote Digital Warehouse

Executive Summary HGV integriert CoSee Wasserzeichentechnologie in ihr Remote Digital Warehouse Executive Summary HGV integriert CoSee Wasserzeichentechnologie in ihr Remote Digital Warehouse Inhalt: - Beschreibung der Wasserzeichen-Technologie im Allgemeinen - Beschreibung der Wasserzeichen-Technologie

Mehr

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Motivation und Überblick

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Motivation und Überblick Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen Vorlesung im Wintersemester 2012/13 an der Technischen Universität Ilmenau von Privatdozent Dr.-Ing. habil.

Mehr

Das teuerste Lied deines Lebens

Das teuerste Lied deines Lebens EMule, BitTorrent, Kazaa: Wie funktionieren Tauschbörsen und wie kommt die Musikindustrie an die Daten der Nutzer? Thomas Scheffczyk 30. Juni 2009 1 Gliederung Vortrag (ca. 45-50 Minuten) Aufbau einer

Mehr

Hochschule Heilbronn Technik Wirtschaft Informatik

Hochschule Heilbronn Technik Wirtschaft Informatik Hochschule Heilbronn Technik Wirtschaft Informatik Studiengang Electronic Business (EB) Diplomarbeit (280000) Evaluierung und Einführung eines Web Content Management Systems bei einem internationalen und

Mehr

Diplomarbeit. Entwurf eines generischen Prozessleitstandes für Change Request Systeme

Diplomarbeit. Entwurf eines generischen Prozessleitstandes für Change Request Systeme Fakultät für Mathematik, Informatik und Naturwissenschaften Forschungsgruppe Softwarekonstruktion Diplomarbeit Entwurf eines generischen Prozessleitstandes für Change Request Systeme Development of a Generic

Mehr

Bring Your Own Device

Bring Your Own Device Bring Your Own Device Was Sie über die Sicherung mobiler Geräte wissen sollten Roman Schlenker Senior Sales Engineer 1 Alles Arbeit, kein Spiel Smartphones & Tablets erweitern einen Arbeitstag um bis zu

Mehr

Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück

Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück Adrian Fülöp (297545) - 1 - Inhaltsverzeichnis: 1. Einführung 2.

Mehr

Impressum. Angaben gemäß 5 TMG: Vertreten durch: Kontakt: Registereintrag: Umsatzsteuer-ID: Farbenmühle mcdrent GmbH & CO. KG Hagdorn 13 45468 Mülheim

Impressum. Angaben gemäß 5 TMG: Vertreten durch: Kontakt: Registereintrag: Umsatzsteuer-ID: Farbenmühle mcdrent GmbH & CO. KG Hagdorn 13 45468 Mülheim Impressum Angaben gemäß 5 TMG: Farbenmühle mcdrent GmbH & CO. KG Hagdorn 13 45468 Mülheim Vertreten durch: Jens Müller Kontakt: Telefon: 004915168497847 E-Mail: info@mcdrent.de Registereintrag: Eintragung

Mehr

Aufbau eines virtuellen privaten Netzes mit Peer-to-Peer-Technologie

Aufbau eines virtuellen privaten Netzes mit Peer-to-Peer-Technologie Aufbau eines virtuellen privaten Netzes mit Peer-to-Peer-Technologie Wolfgang Ginolas Fachhochschule Wedel 21. September 2009 Wolfgang Ginolas (Fachhochschule Wedel) 21. September 2009 1 / 14 Einleitung

Mehr

Unternehmensdaten rundum sicher mobil bereitstellen

Unternehmensdaten rundum sicher mobil bereitstellen im Überblick SAP-Technologie SAP Mobile Documents Herausforderungen Unternehmensdaten rundum sicher mobil bereitstellen Geschäftsdokumente sicher auf mobilen Geräten verfügbar machen Geschäftsdokumente

Mehr

Merkblatt der Stiftung für Konsumentenschutz SKS

Merkblatt der Stiftung für Konsumentenschutz SKS Merkblatt der Stiftung für Konsumentenschutz SKS Bern, September 2013 Handlungshilfe «CDs brennen und Tauschbörsen» Was ist erlaubt? Früher mussten Sie mühsam vom Radio Ihr Lieblingslied auf Kassette aufnehmen

Mehr

P2P - Sicherheit Georg Lukas 2003-12-03 Seminar "Kommunikation in P2P-Netzen"

P2P - Sicherheit Georg Lukas 2003-12-03 Seminar Kommunikation in P2P-Netzen P2P - Sicherheit Georg Lukas 2003-12-03 Seminar "Kommunikation in P2P-Netzen" Ziele des Vortrags Sicherheit auf Konzept-Ebene Kommunikationsprotokolle Datenspeicherung Resistenz gegen Störungen, Angriffe,

Mehr

P2P FileSharing Technologie & Ökonomische Folgen Seminar: Internet Economics

P2P FileSharing Technologie & Ökonomische Folgen Seminar: Internet Economics P2P FileSharing Technologie & Ökonomische Folgen Seminar: Internet Economics 15. May 2003 / Samuel Lüthi Peer to Peer Technologie Die Definition für ein klassisches P2P-System: a) Ein dezentrales System,

Mehr

Zur Urheberrechtlichen Zulässigkeit von Screen Scraping

Zur Urheberrechtlichen Zulässigkeit von Screen Scraping Mag. iur. Dr. techn. Michael Sonntag Zur Urheberrechtlichen Zulässigkeit von Screen Scraping E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Institute for Information

Mehr

Geschichte und Anwendungsgebiete

Geschichte und Anwendungsgebiete VoIP Geschichte und Anwendungsgebiete Sehr geehrter Herr Schmid, liebe Mitschüler, wir möchte euch heute die Geschichte und die Anwendungsgebiete von Voice over IP etwas näher bringen. 1 Inhaltsangabe

Mehr

Employment and Salary Verification in the Internet (PA-PA-US)

Employment and Salary Verification in the Internet (PA-PA-US) Employment and Salary Verification in the Internet (PA-PA-US) HELP.PYUS Release 4.6C Employment and Salary Verification in the Internet (PA-PA-US SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten.

Mehr

Modul 6 Virtuelle Private Netze (VPNs) und Tunneling

Modul 6 Virtuelle Private Netze (VPNs) und Tunneling Modul 6 Virtuelle Private Netze (VPNs) und Tunneling M. Leischner Netzmanagement Folie 1 Virtuelle Private Netze Begriffsdefinition Fortsetz. VPNC Definition "A virtual private network (VPN) is a private

Mehr

CHECKLISTE. 10 Punkte zu Musik-Downloads und Filesharing, die jeder kennen sollte!

CHECKLISTE. 10 Punkte zu Musik-Downloads und Filesharing, die jeder kennen sollte! CHECKLISTE 10 Punkte zu Musik-Downloads und Filesharing, die jeder kennen sollte! 1. Grundlegende Informationen zu Downloads und Filesharing: Im Internet stehen viele Dateien zum Herunterladen zur Verfügung.

Mehr

Angreifbarkeit von Webapplikationen

Angreifbarkeit von Webapplikationen Vortrag über die Risiken und möglichen Sicherheitslücken bei der Entwicklung datenbankgestützter, dynamischer Webseiten Gliederung: Einführung technische Grundlagen Strafbarkeit im Sinne des StGB populäre

Mehr

Urheberrecht im Internet

Urheberrecht im Internet Urheberrecht im Internet RA Christopher Beindorff Beindorff & Ipland Rechtsanwälte Rubensstr. 3-30177 Hannover Tel.: 0511 6468098 / Fax 0511-6468055...... www.beindorff-ipland.de info@beindorff-ipland.de

Mehr

Organic Computing. Rolf Wanka Sommersemester 2008 26. Juni 2008. rwanka@cs.fau.de. Organic Computing: Peer-to-Peer-Netzwerke

Organic Computing. Rolf Wanka Sommersemester 2008 26. Juni 2008. rwanka@cs.fau.de. Organic Computing: Peer-to-Peer-Netzwerke Organic Computing Peer-to to-peer-netzwerke Rolf Wanka Sommersemester 2008 26. Juni 2008 rwanka@cs.fau.de P2P-Netzwerke aktuell Juni 2004 Quelle: CacheLogic 2005 Über 8 Mio. aktive Teilnehmer an Peer-to-Peer-Netzwerken

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

STUDIE ZUR DIGITALEN CONTENT- NUTZUNG (DCN-STUDIE)

STUDIE ZUR DIGITALEN CONTENT- NUTZUNG (DCN-STUDIE) STUDIE ZUR DIGITALEN CONTENT- NUTZUNG (DCN-STUDIE) 2012 erstellt für: Bundesverband Musikindustrie e.v., Gesellschaft zur Verfolgung von Urheberrechtsverletzungen e.v. und den Börsenverein des Deutschen

Mehr

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Ein Auszug aus... Studie Content Management Systeme im Vergleich Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Die komplette Studie ist bei amazon.de käuflich zu erwerben. Inhaltsverzeichnis

Mehr

Uniform Resource Identifiers (URI) und Domain Name Service (DNS)

Uniform Resource Identifiers (URI) und Domain Name Service (DNS) Kurzvortrag zum Thema: Uniform Resource Identifiers (URI) und Domain Name Service (DNS) Beschreiben Sie Aufbau und Einsatzzweck von URI, URL und URN. Lesen Sie die dazu passenden RFCs. Was ist der Domain

Mehr

.TEL Eine innovative Nutzung des DNS

.TEL Eine innovative Nutzung des DNS .TEL Eineinnovative NutzungdesDNS 1 von 5 DAS KONZEPT Die.tel-Registry nutzt das Domain Name System (DNS) auf eine Weise, die Inhabern einer.tel-domain Unternehmen oder Einzelpersonen die Kontrolle in

Mehr

Aufbau eines virtuellen privaten Netzes mit Peer-to-Peer-Technologie

Aufbau eines virtuellen privaten Netzes mit Peer-to-Peer-Technologie Aufbau eines virtuellen privaten Netzes mit Peer-to-Peer-Technologie Wolfgang Ginolas Fachhochschule Wedel 14. Oktober 2009 Wolfgang Ginolas (Fachhochschule Wedel) 14. Oktober 2009 1 / 38 Inhalt 1 Einleitung

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

E-Mails in einem lokalen Netzwerk senden mit einem WAGO Controller 750-842 Anwendungshinweis

E-Mails in einem lokalen Netzwerk senden mit einem WAGO Controller 750-842 Anwendungshinweis E-Mails in einem lokalen Netzwerk senden mit einem WAGO Controller 750-842, Deutsch Version 1.0.2 ii Allgemeines Copyright 2002 by WAGO Kontakttechnik GmbH Alle Rechte vorbehalten. WAGO Kontakttechnik

Mehr

Definition Informationssystem

Definition Informationssystem Definition Informationssystem Informationssysteme (IS) sind soziotechnische Systeme, die menschliche und maschinelle Komponenten umfassen. Sie unterstützen die Sammlung, Verarbeitung, Bereitstellung, Kommunikation

Mehr

Digitale Signaturen für Ï Signaturzertifikate für geschützte email-kommunikation

Digitale Signaturen für Ï Signaturzertifikate für geschützte email-kommunikation Digitale Signaturen für Ï Signaturzertifikate für geschützte email-kommunikation Ein Großteil der heutigen Kommunikation geschieht per email. Kaum ein anderes Medium ist schneller und effizienter. Allerdings

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

Mehr

Befragung und empirische Einschätzung der Praxisrelevanz

Befragung und empirische Einschätzung der Praxisrelevanz Befragung und empirische Einschätzung der Praxisrelevanz eines Vorgehensmodells zur Auswahl von CRM-Systemen D I P L O M A R B E I T zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen

Mehr

Das Knowledge Grid. Eine Architektur für verteiltes Data Mining

Das Knowledge Grid. Eine Architektur für verteiltes Data Mining Das Knowledge Grid Eine Architektur für verteiltes Data Mining 1 Gliederung 1. Motivation 2. KDD und PDKD Systeme 3. Knowledge Grid Services 4. TeraGrid Projekt 5. Das Semantic Web 2 Motivation Rapide

Mehr

Internet-Blocking: Was ist technisch möglich?

Internet-Blocking: Was ist technisch möglich? Fakultät Informatik, Institut für Systemarchitektur, Professur Datenschutz und Datensicherheit Internet-Blocking: Was ist technisch möglich? Stefan Köpsell, sk13@inf.tu-dresden.de Das Internet eine historische

Mehr

Digital Rights Management : Sony Episode. Thomas Meilleroux & Fabian Schneider TU Berlin 2007

Digital Rights Management : Sony Episode. Thomas Meilleroux & Fabian Schneider TU Berlin 2007 Digital Rights Management : Sony Episode 1 Thomas Meilleroux & Fabian Schneider TU Berlin 2007 Überblick Einführung Wie funktioniert es im Prinzip? Was war das Problem bei Sony? Was meinen die Experten?

Mehr

Effizientes Änderungsmanagement in Outsourcing- Projekten

Effizientes Änderungsmanagement in Outsourcing- Projekten Effizientes Änderungsmanagement in Outsourcing- Projekten Dr. Henning Sternkicker Rational Software IBM Deutschland GmbH Sittarder Straße 31 52078 Aachen henning.sternkicker@de.ibm.com Abstract: Es werden

Mehr

Experte. I-CH-118 Strukturiert implementieren

Experte. I-CH-118 Strukturiert implementieren Autor des Dokuments Valmir Selmani Erstellt / Aktualisiert am 16.06.2011 / 28.06.2011 Teilnehmer des Projekts: Valmir Selmani, Moritz Kündig, Tobias Künzi Seitenanzahl 13 MTV (Moritz Tobias Valmir) 2011

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

Einführung. Übersicht

Einführung. Übersicht Einführung Erik Wilde TIK ETH Zürich Sommersemester 2001 Übersicht Durchführung der Veranstaltung Termine (Vorlesung und Übung) Bereitstellung von Informationen Einführung Internet Internet als Transportinfrastruktur

Mehr

Kooperativer Speicher: Schwächen und Gegenmaßnahmen

Kooperativer Speicher: Schwächen und Gegenmaßnahmen Kooperativer Speicher: Schwächen und Gegenmaßnahmen Cooperative storage: weaknesses and countermeasures Lutz Behnke 2. Dezember 2005 2005 Lutz Behnke 1 /home/sage/texte/haw/master/seminar/coop_storage_failure.sxi

Mehr

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08 Security Patterns Benny Clauss Sicherheit in der Softwareentwicklung WS 07/08 Gliederung Pattern Was ist das? Warum Security Pattern? Security Pattern Aufbau Security Pattern Alternative Beispiel Patternsysteme

Mehr

Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Didaktik der Informatik

Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Didaktik der Informatik Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Didaktik der Informatik Konzeption und prototypische Implementierung eines Knowledge-Servers mit Adaptern zur Integration

Mehr

KEEPASS PLUGIN - BENUTZERHANDBUCH

KEEPASS PLUGIN - BENUTZERHANDBUCH Zentrum für sichere Informationstechnologie Austria Secure Information Technology Center Austria A-1030 Wien, Seidlgasse 22 / 9 Tel.: (+43 1) 503 19 63 0 Fax: (+43 1) 503 19 63 66 A-8010 Graz, Inffeldgasse

Mehr

Identifying file-sharing P2P traffic based on traffic characteristics.

Identifying file-sharing P2P traffic based on traffic characteristics. Identifying file-sharing P2P traffic based on traffic characteristics. Valerij Trajt 18. Januar 2010 Inhaltsverzeichnis 1 Einleitung 1 2 Analyse von Traffic-Charakteristiken BitTorrent-ähnlicher Anwendungen

Mehr

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

Band M, Kapitel 7: IT-Dienste

Band M, Kapitel 7: IT-Dienste Bundesamt für Sicherheit in der Informationstechnik Postfach 20 03 63 53133 Bonn Tel.: +49 22899 9582-0 E-Mail: Hochverfuegbarkeit@bsi.bund.de Internet: https://www.bsi.bund.de Bundesamt für Sicherheit

Mehr

Netze. Netze. Netze und Netzwerke. Vernetzte Systeme (Netzwerke)

Netze. Netze. Netze und Netzwerke. Vernetzte Systeme (Netzwerke) und Netzwerke A.Kaiser; WU-Wien MIS 119 Organisationen werden geschaffen, um eine Aufgabe zu erfüllen, die zu umfangreich ist, um von einer einzelnen Person erledigt zu werden Zerlegung einer Aufgabe in

Mehr

COPYRIGHT- UND SICHERHEITSRICHTLINIEN FÜR UNTERNEHMEN

COPYRIGHT- UND SICHERHEITSRICHTLINIEN FÜR UNTERNEHMEN COPYRIGHT- UND SICHERHEITSRICHTLINIEN FÜR UNTERNEHMEN DOWNLOAD STATUS: 25% SEITE 02 Sie gehen ein Risiko ein, wenn sich auf Ihrem Computer kommerzielle Musik, Filme oder andere urheberrechtlich geschützte

Mehr

Steganographie.... Planning a Jailbreak

Steganographie.... Planning a Jailbreak Steganographie... Planning a Jailbreak Motivation Verstecken statt codieren Erregt weniger Verdacht Copyright Marking Fingerprints Watermarks Copyright Marking Fingerprints Identifizieren den Benutzer,

Mehr

White Paper. Datenschutz für den Betrieb von WLAN-Hotspots Die VPN-Routing-Lösung von HOTSPLOTS. Stand: Mai 2012

White Paper. Datenschutz für den Betrieb von WLAN-Hotspots Die VPN-Routing-Lösung von HOTSPLOTS. Stand: Mai 2012 White Paper Datenschutz für den Betrieb von WLAN-Hotspots Die VPN-Routing-Lösung von HOTSPLOTS Stand: Mai 2012 hotsplots GmbH Dr. Ulrich Meier, Dr. Jörg Ontrup Rotherstr. 17 10245 Berlin E-Mail: info@hotsplots.de

Mehr

Diplomanden- und Doktorandenseminar. Implementierung eines Gnutella-Clients für IPv6

Diplomanden- und Doktorandenseminar. Implementierung eines Gnutella-Clients für IPv6 Diplomanden- und Doktorandenseminar Implementierung eines Gnutella-Clients für IPv6 1. Motivation 2. IPv6 3. Gnutella 4. Portierung Frank Sowinski 17.12.2002 Motivation Gute Gründe für IPv6 Das Anwachsen

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

2. In Abhängigkeit von der Anwendung und dem Zugang zum Internet im engeren Sinne verbindet sich der User über verschiedene Varianten mit dem Netz.

2. In Abhängigkeit von der Anwendung und dem Zugang zum Internet im engeren Sinne verbindet sich der User über verschiedene Varianten mit dem Netz. Aufbau des Internet Im Überblick ist im wesentlichen die Hardeare dargestellt, die digitale Informationen vom User bis zur Entstehung transportiert. Für diesen Überblick beschränken wir uns auf die wesentlichen

Mehr

Dynamische Web-Anwendung

Dynamische Web-Anwendung Dynamische Web-Anwendung Christiane Lacmago Seminar Betriebssysteme und Sicherheit Universität Dortmund WS 02/03 Gliederung Einleitung Definition und Erläuterung Probleme der Sicherheit Ziele des Computersysteme

Mehr

Gnutella Filesharing Clients

Gnutella Filesharing Clients Gnutella Filesharing Clients Autor: Arnulf Pelzer (webmaster@arnulfpelzer.de) Formatierung: Gabriel Welsche (ai114@gmx.de) Lizenz: GFDL In diesem Kapitel werden zwei Gnutella Clients vorgestellt. Die Grundlagen

Mehr

Strategie zur Verfolgung einzelner IP-Pakete zur Datenflussanalyse

Strategie zur Verfolgung einzelner IP-Pakete zur Datenflussanalyse Strategie zur Verfolgung einzelner IP-Pakete zur Datenflussanalyse Peter Hillmann Institut für Technische Informatik Fakultät für Informatik Peter.Hillmann@unibw.de Peter Hillmann 1 Gliederung 1. Motivation

Mehr

LWDRM Light Weight Digital Rights Management

LWDRM Light Weight Digital Rights Management LWDRM Light Weight Digital Rights Management für IIS,Erlangen Arbeitsgruppe für elektronische Medientechnologie - AEMT für sichere Telekooperation SIT Frank Siebenhaar Überblick Motivation LWDRM Grundidee

Mehr

Microsoft ISA Server 2006

Microsoft ISA Server 2006 Microsoft ISA Server 2006 Leitfaden für Installation, Einrichtung und Wartung ISBN 3-446-40963-7 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40963-7 sowie im Buchhandel

Mehr

Bring Your Own Device. Roman Schlenker Senior Sales Engineer Sophos

Bring Your Own Device. Roman Schlenker Senior Sales Engineer Sophos Bring Your Own Device Roman Schlenker Senior Sales Engineer Sophos Der Smartphone Markt Marktanteil 2011 Marktanteil 2015 Quelle: IDC http://www.idc.com Tablets auf Höhenflug 3 Bring Your Own Device Definition

Mehr

Kopieren von Audio-CDs

Kopieren von Audio-CDs Kopieren von Audio-CDs Mit Windows Media Player 11 (Windows XP, Vista) 1. Starten Sie den Windows Media Player über die Startleiste (Start Programme Windows Media Player) und legen Sie die zu kopierende

Mehr

Diplomarbeit. Planung eines Webauftritts. Ein Leitfaden für kleine und mittelständische Unternehmen. Daniel Jurischka. Bachelor + Master Publishing

Diplomarbeit. Planung eines Webauftritts. Ein Leitfaden für kleine und mittelständische Unternehmen. Daniel Jurischka. Bachelor + Master Publishing Diplomarbeit Daniel Jurischka Planung eines Webauftritts Ein Leitfaden für kleine und mittelständische Unternehmen Bachelor + Master Publishing Daniel Jurischka Planung eines Webauftritts: Ein Leitfaden

Mehr

Verschlüsselungsverfahren

Verschlüsselungsverfahren Verschlüsselungsverfahren Herrn Breder hat es nach dem Studium nach München verschlagen. Seine Studienkollegin Frau Ahrend wohnt in Heidelberg. Da beide beruflich sehr stark einspannt sind, gibt es keine

Mehr

Video over IP / Videostreaming

Video over IP / Videostreaming Video over IP / Videostreaming - einige wenige Aspekte - Prof. Dr. Robert Strzebkowski Beuth Hochschule für Technik Berlin Unterscheidung: 'Echter Streaming' mit Streaming-Server HTTP-Download als 'Pseudostreaming'

Mehr

Filesharing Ermittlung, Verfolgung und Verantwortung der Beteiligten. wiss. Ang. RA Ralf Dietrich

Filesharing Ermittlung, Verfolgung und Verantwortung der Beteiligten. wiss. Ang. RA Ralf Dietrich Filesharing Ermittlung, Verfolgung und Verantwortung der Beteiligten wiss. Ang. RA Ralf Dietrich Herbstakademie 2006 Filesharing A. Typische prinzipielle technische Wirkungsweise des Filesharing mittels

Mehr

Ökonomie und Politik im Reich der Ideen

Ökonomie und Politik im Reich der Ideen Digitial Rights Management Ökonomie und Politik im Reich der Ideen Robert A. Gehring MaC*-Days 2004 Josefstal, 12. November 2004 Fragen über Fragen... Welche Voraussetzung hat DRM? Was ist DRM? Woher kommt

Mehr

Intrusion Detection & Response

Intrusion Detection & Response Intrusion Detection & Response Seminararbeit im SS 2002 (4. Semester Bachelor) von Uwe Hoffmeister 900 1840 Christian Klie 900 1882 Tobias Schmidt 900 1883 Seite 1 von 132 Version vom 17.04.2002 1. Verzeichnisse

Mehr

S a t S e r v i c e Gesellschaft für Kommunikationssysteme mbh

S a t S e r v i c e Gesellschaft für Kommunikationssysteme mbh sat-nms Universal Network Management and Monitoring & Control System for Multimedia Ground Terminals Enhancement and Hardware Extension SatService GmbH Hardstraße 9 D- 78256 Steißlingen Tel 07738-97003

Mehr

German English Firmware translation for T-Sinus 154 Access Point

German English Firmware translation for T-Sinus 154 Access Point German English Firmware translation for T-Sinus 154 Access Point Konfigurationsprogramm Configuration program (english translation italic type) Dieses Programm ermöglicht Ihnen Einstellungen in Ihrem Wireless

Mehr

Kurzanleitung - XVA Provider unter Mac OSX 10

Kurzanleitung - XVA Provider unter Mac OSX 10 Kurzanleitung - XVA Provider unter Mac OSX 10 Installation und Bedienung- Inhalt Allgemeine Hinweise:... 1 Kapitel 1 Installation und Konfiguration... 2 Schritt 1: Java SE Development Kit 6 installieren:...

Mehr

Das Kerberos-Protokoll

Das Kerberos-Protokoll Konzepte von Betriebssystemkomponenten Schwerpunkt Authentifizierung Das Kerberos-Protokoll Referent: Guido Söldner Überblick über Kerberos Network Authentication Protocol Am MIT Mitte der 80er Jahre entwickelt

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Der Gerichtshof erklärt die Richtlinie über die Vorratsspeicherung von Daten für ungültig

Der Gerichtshof erklärt die Richtlinie über die Vorratsspeicherung von Daten für ungültig Gerichtshof der Europäischen Union PRESSEMITTEILUNG Nr. 54/14 Luxemburg, den 8. April 2014 Presse und Information Urteil in den verbundenen Rechtssachen C-293/12 und C-594/12 Digital Rights Ireland und

Mehr

Federated Identity Management

Federated Identity Management Federated Identity Management Verwendung von SAML, Liberty und XACML in einem Inter Campus Szenario d.marinescu@gmx.de 1 Fachbereich Informatik Inhalt Grundlagen Analyse Design Implementierung Demo Zusammenfassung

Mehr