CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

23
CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria

Transcript of CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Page 1: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

CollabDraw Real-time Collaborative Drawing Board

Shishir PrasadPrashant SaxenaPrakhar Panwaria

Page 2: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

CollabDraw

Page 3: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Goals• High Scalability• High Fault Tolerance• Strong Consistency• Offline Mode

Overview

Client

Page 4: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Clients Browser HTML5 local store

Worker Servers Drawing Board data store

Session Manager Meta-data store

Components

Page 5: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Session Manager

Register

Workflow

Page 6: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Session Manager

Worker Servers

Client A

Start Sess

ion

Server IP

Pre

ferr

ed S

erve

rs

Client B

Start Session

Server IP

Workflow

Page 7: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Session Manager

Worker Servers

Client A

getWorke

r()

Server IP

Pre

ferr

ed S

erve

rs

Client B

Server Failure

Page 8: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Session Manager

Worker Servers

Client A

Pre

ferr

ed S

erve

rs

Client B

getWorke

r()

Disconnecte

d

getWorker()Disconnected

Server Failure

Page 9: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Session Manager

Worker Servers

Client A

Pre

ferr

ed S

erve

rs

Client B

Disconnected Mode

Server Failure

Page 10: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Session Manager

Worker Servers

Client A

Pre

ferr

ed S

erve

rs

Client B

Disconnected Mode

getWorke

r()

Server IP

getWorker() Server IP

Server Failure

Page 11: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

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

CAP

Page 12: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Demo

Page 13: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Evaluation

Page 14: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

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

Page 15: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Enhancements

Page 16: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Thanks!

Page 17: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.
Page 18: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Supplement

Page 19: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

(1) Main Page

Page 20: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

(2) Canvas Page

Page 21: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

(3) Dashboard

Page 22: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

Evaluation

Page 23: CollabDraw Real-time Collaborative Drawing Board Shishir Prasad Prashant Saxena Prakhar Panwaria.

1 2 3 40

10

20

30

40

50

60

70

80

90