Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen

21
SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout Kollaboratives Editieren von XML-Dokumenten in P2P- Systemen Seminar-Ringvorlesung Alexandra Revout Hamburg, 19. Januar 2007

description

Seminar-Ringvorlesung. Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen. Alexandra Revout. Hamburg, 19. Januar 2007. Übersicht. Einführung Szenario Themenbereiche Vergleich mit existierenden Projekten Weiteres Vorgehen Risiken. Einführung. - PowerPoint PPT Presentation

Transcript of Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen

Page 1: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen

Seminar-Ringvorlesung

Alexandra Revout

Hamburg, 19. Januar 2007

Page 2: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Übersicht

• Einführung

• Szenario

• Themenbereiche

• Vergleich mit existierenden Projekten

• Weiteres Vorgehen

• Risiken

Page 3: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Einführung

• Mein Thema in AW: Kollaboratives Schreiben

- Erstellung und Bearbeitung von gemeinsamen Dokumenten in einer Gruppe durch mehrere Gruppenmitglieder

- Kollaboratives Schreiben in mobilen Umgebungen

• Wichtigste Konzepte des Kollaborativen Schreibens

- Angestrebtes Ziel: Dokumente abrufen, editieren und speichern kollaborativ und jederzeit, überall und mit beliebigen Geräten

Page 4: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Einführung

• Wichtigste Konzepte des Kollaborativen Schreibens

- Eigenschaften:

Konsistenz der Dokumente

Verfügbarkeit

Zugriffskontrolle

Kollaboratives Awareness

Page 5: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Einführung

• Wichtigste Konzepte des Kollaborativen Schreibens

- Ansätze

Session: Synchron / Asynchron / Hybrid

Architektur: Zentralisiert / Verteilt

Speicherart: DB-basiert / Dateisystem-basiert

Page 6: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Einführung

• Wichtigste Konzepte des Kollaborativen Schreibens

- Probleme

Konkurrierende Zugriffe

Sichtbarkeit der Änderungen

Beliebige Geräte

Mobilität / drahtlose Netzwerke

Page 7: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Szenario

• Szenario

- Gruppe von Studenten erstellt ein Protokoll

- Spontane Entscheidung, kein spezielles System erwünscht / steht zur Verfügung

- Aufteilung der Aufgaben

- Keine Zusammenführung der einzelnen Teile "per Hand" erwünscht

- Fortfahren der Bearbeitung immer dann, wann Zeit dafür da ist

- Bearbeitung überall, wo man Zeit hat mit einem Notebook oder einem PDA

Page 8: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Szenario

• Meine Idee:

- Middleware

- Mobile Geräte und Ad-hoc-Netzwerke

- Peer-to-Peer-Kommunikation

- Kollaboratives Bearbeiten von Dokumenten

- Ein Initiator des Dokumentes, eine Kopie für jeden anderen

- Strukturiertes Format des Dokumentes

Page 9: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Themenbereiche

• GesamtbildPeer-to-Peer

Kol

labo

rativ

es

Sch

reib

en

Rep

likat

ion

XML

Mein Thema

Page 10: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Themenbereiche: Peer-to-Peer

• Peer-to-Peer-Plattformen

- JXTA [JXTA]

Open-Source-Projekt

Interoperabilität

Plattform-Unabhängigkeit

Standardisierung von Protokollen, die spontane P2P-Netzwerke ermöglichen

Java-Implementierung von Sun

"Light"-Version: JXTA für Java Micro Edition [JXME, Bisignano]

Page 11: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Themenbereiche: Peer-to-Peer

• Peer-to-Peer-Plattformen

- MS Windows Peer-to-Peer Netzwerkkomponente [MS P2P]

Infrastruktur für P2P-Anwendungen

Peer-to-Peer-Netzwerkkomponente für WindowsXP

Peer-to-Peer SDK

Nicht für mobile Klein-Geräte gedacht

Page 12: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Themenbereiche: Replikation

• Replikation der Dokumente

- Jedes Peer eine Kopie des zu bearbeitenden Dokumentes

- Verschiedene Versionen bei den einzelnen Peers

- Probleme / Fragestellungen:

Keine permanente Netzverbindung der einzelnen Peers

Wie wird ein konsistenter Zustand des Dokumentes erreicht?

Bekommen die einzelnen Peers irgendwann einen gleichen Zustand des Dokumentes?

Page 13: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Themenbereiche: Replikation

• Replikation der Dokumente

- Replikation-Strategien:

Optimistische Verfahren

Merge Replikation [MR]

Problem: Konflikte bei der Zusammenführung

Primär-Kopie

Ein Initiator – mehrere Ausführende

Problem: Ausfall des Initiators

Page 14: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Themenbereiche: Kollaboratives Schreiben

• Kollaboratives Schreiben

- Asynchroner Ansatz

- Zusammenführung / Synchronisation der Dokument-Versionen der einzelnen Peers

- "Lösung" des Merging-Problems:

Vergabe von Editierungs-Rechten

Exklusives Recht auf die Bearbeitung von Teilen des Dokumentes für einzelne Peers

Übertragung nur der bearbeiteten Teilen

Problem: ein Peer nicht erreichbar, was dann?

Page 15: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Themenbereiche: XML

• XML-basiertes Format

- Plattformunabhängigkeit

- Strukturiertes Format

- Einzelne Teile des Dokumentes als Teilbäume leicht übertragbar

- Zahlreiche Engines und Frameworks, die XML-Dokumente in beliebige Formate umwandeln [Xalan, FOP]

- Kollaborative Informationen wie Schreibrechte im Dokument enthalten Co-Dokument

- Text-Format starke Komprimierung möglich

Page 16: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Vergleich mit existierenden Projekten

• Relevante Projekte im Vergleich

Synchrones

Editieren

Asynchrones

EditierenP2P

Feste

Infrastruktur

Rechte-

Verwaltung

Co-Dokument-

Struktur

XMIDDLE [Mascolo]

nein ja ja nein nein nein

MCWS [Yushun]

ja ja neinja, mit mobilen

Hostsja ja

PASIR [Neyem]

nein ja ja nein nein nein

Meine Arbeit nein ja ja nein ja ja

Page 17: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Weiteres Vorgehen

• Evaluierung über die Möglichkeiten der Umsetzung der P2P-Umgebung

• Entscheidung über die relevante Konzepte für das Replikationsverfahren

• Ausarbeitung der Co-Dokument-Struktur

• Design der Architektur

• Überprüfung auf die Tragfähigkeit des Konzeptes

Page 18: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Risiken

• Ausgewählte P2P-Plattform hält nicht, was sie verspricht

- Umsteigen auf andere Plattform oder eigene Implementierung

- zusätzlicher Zeitaufwand

• Probleme mit den mobilen Kleingeräten

- Umsteigen auf größere Geräte

- Zusätzlicher Zeitaufwand

Page 19: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Literatur

• [Bisignano] M. Bisignano et. al., "A JXTA compilant framework for mobile handheld devices in ad-hoc networks", in Proceedings of the 10th IEEE Symposium on Computers and Communications (ISCC'05), IEEE, 2005

• [Mascolo] Cecilia Mascolo et al., "An XML based Middleware for Peer-to-Peer Computing", in Proceedings of First International Conference on Peer-to-Peer Computing, 2001

• [Yushun] Li Yushun at al., "Mobile Collaboration Writing", in Proceedings of the 14th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC'03), IEEE, 2003

• [Neyem] Andrés Neyem et al., "A Strategy to Share Documents in MANETs using Mobile Devices", in the 8th International Conference Advanced Communication Technology (ICACT'06), 2006

• [JXTA] JXTA Spezifikation & Referenz-Implementierung, URL: http://www.jxta.org, Stand: Januar 2007

• [JXME] JXTA Java Micro Edition Project, URL: http://jxme.jxta.org, Stand: Januar 2007

Page 20: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Literatur

• [MS P2P] Windows Peer-to-Peer Networking, URL: http://www.microsoft.com/technet/network/p2p/default.mspx, Stand: Januar 2007

• [MR] Merge-Replikation, MSDN Library, SQL Server-Replikation, URL: http://msdn2.microsoft.com/de-de/library/ms152746.aspx, Stand: Januar 2007

• [XML] Extensible Markup Language, URL: http://www.w3.org/XML• [Xalan] The Apache Xalan Project, URL: http://xalan.apache.org• [FOP] Formatting Objects Processor, The Apache XML Graphics Project,

URL: http://xmlgraphics.apache.org/fop

Page 21: Kollaboratives Editieren  von XML-Dokumenten in P2P-Systemen

SR – Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen Alexandra Revout

Vielen Dank für die Aufmerksamkeit!