Slide 3:
Concepts Open Cooperative Web Framework We want to provide web meeting participants with the ability to manipulate data that is centric to the decision making process. Cooperative Web When used in a meeting (session) users can interact in an N:N model By using a JavaScript API and a few lines of additional code per application. Done
Slide 4:
Open Cooperative Web Framework JavaScript Application JavaScript Coweb Client HTTP Java Coweb
Server Java, Python, Perl, JavaScript, etc. Coweb Services Framework Service The server-side components that enable external, programmatic participants in sessions (i.e., bots) Application Browser-based application using the coweb framework Client Browser-based components enabling session joining, cooperative eventing , and operational transformation Server The server-side components that control coweb session access and lifecycle
Slide 5:
Open Cooperative Web Framework JavaScript Application JavaScript Coweb Client HTTP Java Coweb Server Java, Python, Perl, JavaScript, etc. Coweb Services Framework Coweb Bayeux Web Socket Comet HTTP TCP/IP Coweb Protocol
Slide 6:
Open Cooperative Web Framework Conflict & Convergence Conflicts can occur when users edit at the same time or difference in wire-speed How to guarantee convergence? Coweb framework resolves the consistency problem by implementing Operation Transformation Algo A component of the coweb framework and process incoming cooperative events and transforming them as needed
Slide 7:
Open Cooperative Web Framework Conflict & Convergence How OT picks a winner ? Based on consistent, global property guaranteed to be the same across users of the application. Example: based on alphabetical ordering to decide the outcome then replace the value on each other events OT Algo finishes by detecting that no other operations were seen by (A) other than his own edit before (B) ’ s event arrived.
Slide 8:
Open Cooperative Web Framework Real-Time Collaboration Demo