Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
1
Learning
Layers
This slide deck is licensed under a Crea...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
2
Learning
Layers
Responsive
Open
Community
Information
Sy...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
3
Learning
Layers
Collaboration on Shared Data -
Algorithm...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
4
Learning
Layers
Collaboration on Shared Data -
System Pe...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
5
Learning
Layers
Related Work
 Operational Transformatio...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
6
Learning
Layers
YATA:
Formalization, Rules, Characterist...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
7
Learning
Layers
YATA:
Extendable Data Types
 Simple dat...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
9
Learning
Layers
Open-Source YATA Implementation:
Yjs
 C...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
10
Learning
Layers
 Exploration of 3D objects on the Web
...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
11
Learning
Layers
Conclusion and Future Work
 Near real-...
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
12
Learning
Layers
Contact Information
https://github.com/...
Nächste SlideShare
Wird geladen in …5
×

Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types

526 Aufrufe

Veröffentlicht am

GROUP 2016 Presentation of the paper "Near Real-Time Peer-to-Peer Shared Editing on Extensible
Data Types" by Petru Nicolaescu, Kevin Jahns, Michael Derntl and Ralf Klamma.

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types

  1. 1. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 1 Learning Layers This slide deck is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types Petru Nicolaescu*, Kevin Jahns*, Michael Derntl**, Ralf Klamma* *Advanced Community Information Systems (ACIS) RWTH Aachen University, Germany **eScience-Center Eberhard Karls Universität Tübingen, Germany nicolaescu@dbis.rwth-aachen.de
  2. 2. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 2 Learning Layers Responsive Open Community Information Systems Community Visualization and Simulation Community Analytics Community Support WebAnalytics WebEngineering Advanced Community Information Systems (ACIS) Group @ RWTH Aachen Requirements Engineering
  3. 3. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 3 Learning Layers Collaboration on Shared Data - Algorithmic Perspective: YATA  Near real-time (NRT) collaboration beyond text editing  Ensure scalability, flexibility and various (complex) data types Lorem Ipsum text Collaboration Engine Introduction graphs objects
  4. 4. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 4 Learning Layers Collaboration on Shared Data - System Perspective: Yjs  Support NRT shared editing on the Web  P2P, client-server and federated communication protocols  Easy configuration and modular architecture – Various communication (messaging) protocols – Persistence (in-memory, local database) – Data type needs by custom Web applications  Open-source, scalable, easy-to-use framework http://y-js.org Introduction
  5. 5. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 5 Learning Layers Related Work  Operational Transformation (OT) [ElGi89], [SuEl98], [SXAg14] – Focus on transforming conflicting operations – Composed of a control algorithm and a transformation function – Mostly designed for client-server environments – YATA vs. OT – Reduces time to synchronize (good time complexity) – Smaller size of propagated messages – Not restricted to certain data types  Conflict-free Replicated Data Types (CRDTs) [PMSL09], [SPBZ11] – Focus on avoiding conflicts via commutative operations – State-based vs. operation-based – Designed for P2P environments – YATA vs. CRDTs – Deletions follow the tombstone approach – Ensures a total order based on an internal data structure representation (doubly linked list) – Designed for shared editing on the Web – Good time complexity http://y-js.org
  6. 6. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 6 Learning Layers YATA: Formalization, Rules, Characteristics  Belongs to CRDT family  Insert/delete operations  Main properties – Intention preservation – Conflicting insertions – Origin crossing forbidden – Transitivity – Insertions with same origin are ordered by creator id – Proven correctness – Enforcement of a strict total order relation for insertions – Antisymmetry, transitivity and totality rules are fulfilled http://y-js.org Algorithmic perspective
  7. 7. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 7 Learning Layers YATA: Extendable Data Types  Simple data types (list, replace and map managers)  Specific/more complex data formats (XML, JSON) formed by composing simple types http://y-js.org Algorithmic perspective
  8. 8. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 9 Learning Layers Open-Source YATA Implementation: Yjs  Client-side Web-based library implemented in JavaScript  Connectors for messaging protocols (WebSockets, XMPP, WebRTC)  Operations/internal data saved in memory or using a local database  Configuration of needed data types (text, list, map, JSON, etc.)  Garbage collection/offline editing http://y-js.org System perspective
  9. 9. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 10 Learning Layers  Exploration of 3D objects on the Web  Graph-based visual modeling on the Web  Video drawing  Code editing  Rich-text editing  Chat  State synchronization of Web components across multiple devices NRT Collaborative Applications Powered by Yjs http://y-js.org System perspective
  10. 10. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 11 Learning Layers Conclusion and Future Work  Near real-time shared editing on arbitrary data types  YATA: CRDT algorithm designed for P2P settings  Implementation available as open-source JS library (Yjs)  Arbitrary communication protocols (XMPP, WebRTC, WebSockets)  Operation history configurable: in-memory, in-browser or using a database  Custom data types can be combined with other existing types  Open-source community (academia and industry)  Next: maintainance, further evaluation of Yjs, adding awareness, more types and applications http://y-js.org
  11. 11. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 12 Learning Layers Contact Information https://github.com/y-js  Email: yjs@dbis.rwth-aachen.de  Slides available on SlideShare: Nicolaescu Petru http://y-js.org Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types Petru Nicolaescu, Kevin Jahns, Michael Derntl, Ralf Klamma

×