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.
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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