Transcript ppt

CollabDraw
Real-time Collaborative Drawing Board
Shishir Prasad
Prashant Saxena
Prakhar Panwaria
CollabDraw
Overview
 Goals
•
•
•
•
High Scalability
High Fault Tolerance
Strong Consistency
Offline Mode
Client
Components
 Clients
 Browser
 HTML5 local store
 Worker Servers
 Drawing Board data store
 Session Manager
 Meta-data store
Workflow
Session
Manager
Workflow
Client A
Session
Manager
Client B
Worker
Servers
Server Failure
Preferred Servers
Client A
Session
Manager
Client B
Worker
Servers
Server Failure
Preferred Servers
Client A
Session
Manager
Client B
Worker
Servers
Server Failure
Preferred Servers
Client A
Disconnected Mode
Session
Manager
Client B
Worker
Servers
Server Failure
Preferred Servers
Client A
Disconnected Mode
Session
Manager
Client B
Worker
Servers
CAP
 Hybrid Consistency
 Between Preferred Servers : Strong
 Rest : Eventual through anti-entropy protocol
 High Availability
 Worker Failure: Dynamic client migration
 Network Failure: Disconnected mode
 Partition Tolerance
 Drawing Boards data replicated
Demo
Evaluation
Evaluation
 Average time for a paint brush event to appear on
the canvas
 Single machine: ~20 ms
 2 machines: ~32ms
 Average recovery time (in case of server failure)
 Single machine: ~18 s (Server up time)
 2 machines: ~2 s
Enhancements
Thanks!
Supplement
(1) Main Page
(2) Canvas Page
(3) Dashboard
Evaluation
90
80
70
60
50
40
30
20
10
0
1
2
3
4