SlideShare a Scribd company logo
Advanced Community Information Systems Group
Chair for Information Systems and Databases
Prof. Dr. M. Jarke
A Framework for Near Real-time P2P Shared Editing on
Arbitrary Data Types
Petru Nicolaescu, Kevin Jahns, Michael Derntl, Ralf Klamma
yjs@dbis.rwth-aachen.de
P. Nicolaescu, K. Jahns, M. Derntl, R. Klamma, "Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types".
In Proceedings of the 15th International Conference on Web Engineering (ICWE 2015), Rotterdam, Netherlands, June 23-26, 2015.
Springer Lecture Notes in Computer Science 2015
Learning Layers
This project has received funding from the European
Union’s Seventh Framework Programme for research,
technological development and demonstration under grant
agreement no 318209 and from European Commision
under the grant 531262-LLP-2012-ES-KA3MP.
 Scalable and easy to use framework
 Novel, reliable approach for conflict resolution
 Supports custom data types, e.g. JSON, XML
 Good convergence time and low complexity
Key Contributions
 Collection of open-source JavaScript libraries
available under MIT license:
https://github.com/yjs
Try it out!
 Collaboration Engine handles the conflicts and
plugs in the various data types
 Resolves occuring conflicts
 Data types can be added programatically
 Connectors work at protocol level
 Connect peers between each other
 Propagate operations to peers
 WebRTC and XMPP are currently available
P2P Architecture
 Enable near real-time collaboration
 Solve P2P collaborative editing conflicts
 Collaboration in Web browser: drawing, editing,
modeling, synchronizing, etc.
Shared Editing
 YATA – shared editing in P2P architectures
 Similar to Operational Transformation
 Support for arbitrary data types (e.g. list-like,
tree-like, map-like, graph-like data)
 Garbage collector mechanism for operations
Novel Approach: YATA
 Enable near real-time collaboration in widget-
based applications
 Implement support for further data types
 Preserve and synchronize state across devices
Web Engineering Challenges
http://y-js.org
Yjs
Collaboration
Framework

More Related Content

Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types

  • 1. Advanced Community Information Systems Group Chair for Information Systems and Databases Prof. Dr. M. Jarke A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types Petru Nicolaescu, Kevin Jahns, Michael Derntl, Ralf Klamma yjs@dbis.rwth-aachen.de P. Nicolaescu, K. Jahns, M. Derntl, R. Klamma, "Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types". In Proceedings of the 15th International Conference on Web Engineering (ICWE 2015), Rotterdam, Netherlands, June 23-26, 2015. Springer Lecture Notes in Computer Science 2015 Learning Layers This project has received funding from the European Union’s Seventh Framework Programme for research, technological development and demonstration under grant agreement no 318209 and from European Commision under the grant 531262-LLP-2012-ES-KA3MP.  Scalable and easy to use framework  Novel, reliable approach for conflict resolution  Supports custom data types, e.g. JSON, XML  Good convergence time and low complexity Key Contributions  Collection of open-source JavaScript libraries available under MIT license: https://github.com/yjs Try it out!  Collaboration Engine handles the conflicts and plugs in the various data types  Resolves occuring conflicts  Data types can be added programatically  Connectors work at protocol level  Connect peers between each other  Propagate operations to peers  WebRTC and XMPP are currently available P2P Architecture  Enable near real-time collaboration  Solve P2P collaborative editing conflicts  Collaboration in Web browser: drawing, editing, modeling, synchronizing, etc. Shared Editing  YATA – shared editing in P2P architectures  Similar to Operational Transformation  Support for arbitrary data types (e.g. list-like, tree-like, map-like, graph-like data)  Garbage collector mechanism for operations Novel Approach: YATA  Enable near real-time collaboration in widget- based applications  Implement support for further data types  Preserve and synchronize state across devices Web Engineering Challenges http://y-js.org Yjs Collaboration Framework