collabdraw real-time collaborative drawing board shishir prasad prashant saxena prakhar panwaria

Post on 05-Jan-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CollabDraw Real-time Collaborative Drawing Board

Shishir PrasadPrashant SaxenaPrakhar Panwaria

CollabDraw

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

Overview

Client

Clients Browser HTML5 local store

Worker Servers Drawing Board data store

Session Manager Meta-data store

Components

Session Manager

Register

Workflow

Session Manager

Worker Servers

Client A

Start Sess

ion

Server IP

Pre

ferr

ed S

erve

rs

Client B

Start Session

Server IP

Workflow

Session Manager

Worker Servers

Client A

getWorke

r()

Server IP

Pre

ferr

ed S

erve

rs

Client B

Server Failure

Session Manager

Worker Servers

Client A

Pre

ferr

ed S

erve

rs

Client B

getWorke

r()

Disconnecte

d

getWorker()Disconnected

Server Failure

Session Manager

Worker Servers

Client A

Pre

ferr

ed S

erve

rs

Client B

Disconnected Mode

Server Failure

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

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

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

1 2 3 40

10

20

30

40

50

60

70

80

90

top related