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

Upload: gladys-henderson

Post on 05-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

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