SlideShare a Scribd company logo
1 of 11
Download to read offline
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
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
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
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
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
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
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
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
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
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
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

More Related Content

Viewers also liked

Slideshare
SlideshareSlideshare
Slidesharemarthza
 
Prioritization to Production
Prioritization to ProductionPrioritization to Production
Prioritization to ProductionBoaz Katz
 
Commons und Eigentum -- jenseits von Markt und Staat
Commons und Eigentum -- jenseits von Markt und StaatCommons und Eigentum -- jenseits von Markt und Staat
Commons und Eigentum -- jenseits von Markt und StaatStefanMz
 
Nida event oracle business analytics 1 sep2016
Nida event   oracle business analytics 1 sep2016Nida event   oracle business analytics 1 sep2016
Nida event oracle business analytics 1 sep2016BAINIDA
 
Aproject 1 9-90 seminar power point 2016 (1)
Aproject 1 9-90 seminar power point 2016 (1)Aproject 1 9-90 seminar power point 2016 (1)
Aproject 1 9-90 seminar power point 2016 (1)ys solomon
 
Characterization of the 1-9-90 Roles within Commons-based Peer Production Com...
Characterization of the 1-9-90 Roles within Commons-based Peer Production Com...Characterization of the 1-9-90 Roles within Commons-based Peer Production Com...
Characterization of the 1-9-90 Roles within Commons-based Peer Production Com...Samer Hassan
 
KASH-Shiriki - Gender Analysis Report
KASH-Shiriki - Gender Analysis ReportKASH-Shiriki - Gender Analysis Report
KASH-Shiriki - Gender Analysis ReportSilvanos Owuori
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...SlideShare
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 

Viewers also liked (15)

Slideshare
SlideshareSlideshare
Slideshare
 
Prioritization to Production
Prioritization to ProductionPrioritization to Production
Prioritization to Production
 
The HiMedia Manual
The HiMedia ManualThe HiMedia Manual
The HiMedia Manual
 
Commons und Eigentum -- jenseits von Markt und Staat
Commons und Eigentum -- jenseits von Markt und StaatCommons und Eigentum -- jenseits von Markt und Staat
Commons und Eigentum -- jenseits von Markt und Staat
 
Nida event oracle business analytics 1 sep2016
Nida event   oracle business analytics 1 sep2016Nida event   oracle business analytics 1 sep2016
Nida event oracle business analytics 1 sep2016
 
Aproject 1 9-90 seminar power point 2016 (1)
Aproject 1 9-90 seminar power point 2016 (1)Aproject 1 9-90 seminar power point 2016 (1)
Aproject 1 9-90 seminar power point 2016 (1)
 
Characterization of the 1-9-90 Roles within Commons-based Peer Production Com...
Characterization of the 1-9-90 Roles within Commons-based Peer Production Com...Characterization of the 1-9-90 Roles within Commons-based Peer Production Com...
Characterization of the 1-9-90 Roles within Commons-based Peer Production Com...
 
Field Study 3 Episode 1
Field Study 3 Episode 1Field Study 3 Episode 1
Field Study 3 Episode 1
 
KASH-Shiriki - Gender Analysis Report
KASH-Shiriki - Gender Analysis ReportKASH-Shiriki - Gender Analysis Report
KASH-Shiriki - Gender Analysis Report
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 

More from Nicolaescu Petru

View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...Nicolaescu Petru
 
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...Nicolaescu Petru
 
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebSyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebNicolaescu Petru
 
Informal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoNicolaescu Petru
 
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesYjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesNicolaescu Petru
 
A Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentA Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentNicolaescu Petru
 
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...Nicolaescu Petru
 
A Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning SupportA Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning SupportNicolaescu Petru
 
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...Nicolaescu Petru
 
Browser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeBrowser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeNicolaescu Petru
 
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...Nicolaescu Petru
 
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioPrototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioNicolaescu Petru
 

More from Nicolaescu Petru (13)

View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...
 
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
 
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebSyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
 
Informal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive Video
 
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesYjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
 
A Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentA Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application Development
 
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
 
A Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning SupportA Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning Support
 
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...
 
Browser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeBrowser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-Time
 
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
 
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioPrototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
 
Struts presentation
Struts presentationStruts presentation
Struts presentation
 

Recently uploaded

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
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