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