Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
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/...
Prochain SlideShare
Chargement dans…5
×

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

548 vues

Publié le

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.

Publié dans : Logiciels
  • Soyez le premier à commenter

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

×