JRollback – A Platform Independent Backup Solution

23
JRollback – A Platform Independent Backup Solution Aaron Steele

description

JRollback – A Platform Independent Backup Solution. Aaron Steele. Project Motivation. Alice. Bob. 50+GB Free . 50+GB Free . Ultimate Project Objectives. Determine if a “friend”-based backup system is efficient enough to be feasible - PowerPoint PPT Presentation

Transcript of JRollback – A Platform Independent Backup Solution

Page 1: JRollback  – A Platform Independent Backup Solution

JRollback – A Platform Independent Backup Solution

Aaron Steele

Page 2: JRollback  – A Platform Independent Backup Solution

Project Motivation

Alice Bob

50+GB Free

50+GB Free

Page 3: JRollback  – A Platform Independent Backup Solution

Ultimate Project Objectives

Determine if a “friend”-based backup system is efficient enough to be feasible

Determine if UDP is useful in practice when used over the Internet

Create a platform-independent “friend”-based backup tool and compare it to other backup solutions

Page 4: JRollback  – A Platform Independent Backup Solution

RDP vs TCPRDP – Reliable UDP (RFC-1151)Rollback has a homemade RDP libraryRDP should be faster in theory

Design decision….RDP or TCP?

Experiment to find out

Page 5: JRollback  – A Platform Independent Backup Solution

Data Transfer Results

1MB 2MB 4MB 8MB0

50

100

150

200

250

300

350

Transfer Times

Min Average MaxFile Size

Seco

nds

Page 6: JRollback  – A Platform Independent Backup Solution

Packet Loss Results

Comcast Notre Dame0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

UDP Packet Loss

MaxMin

% o

f Pa

cket

s Lo

st

Page 7: JRollback  – A Platform Independent Backup Solution

Data Transfer Comparison

Page 8: JRollback  – A Platform Independent Backup Solution

RDP DecisionAttribute the high packet loss to buffer bloat

and ISP traffic filtering

TCP performed better when ISPs filtered traffic

TCP performs better over a wireless network (results not shown)

We ultimately decided to switch to TCP

Page 9: JRollback  – A Platform Independent Backup Solution

EvaluationTime to Backup

Measure how long it takes to backup an entire dataset

Measure how long to back up a single file.

Recovery TimeTime to recover an entire datasetTime to recover a single file

Repeat Experiments on LAN and InternetCompare to Rollback

Page 10: JRollback  – A Platform Independent Backup Solution

LAN Experimental Setup100 Mbps

Single Files {10MB – 100MB}Large Datasets {100MB – 1 GB}

Each Experiment is repeated 5 times transferring data in each direction. (10 total)

Page 11: JRollback  – A Platform Independent Backup Solution

LAN Backup Results

0 50 100 150 200 2500

10

20

30

40

50

60

Single File Backup

Linux WindowsFile Size (MB)

Bac

kup

Tim

e (s

ec)

Page 12: JRollback  – A Platform Independent Backup Solution

LAN Backup Results

0 200 400 600 800 1000 12000

50

100

150

200

250

300

Dataset Backup

Linux WindowsData Set Size (MB)

Bac

kup

Tim

e(se

c)

Page 13: JRollback  – A Platform Independent Backup Solution

LAN Recovery ResultsSingle File Recovery

Size(MB) Linux Windows Average Backup

10 2.35 4.011 2.6265

50 6.129 13.031 8.8289

100 15.337 27.884 20.5355

200 32.212 58.422 44.454

DataSet recovery

Size(MB) Linux Windows Average Backup

100 25.365 26.265 24.4625

200 50.342 49.986 49.2765

500 122.766 121.111 120.726

1000 260.443 244.333 249.31

Page 14: JRollback  – A Platform Independent Backup Solution

Internet Experimental Setup

Single Files {10MB – 100MB}Large Datasets {100MB – 1 GB}

Each Experiment is repeated 5 times transferring data in each direction. (10 total)

1.1 Mbps

14 MbpsComcast Comcast

1.1 Mbps

14 MbpsIL I

N

Page 15: JRollback  – A Platform Independent Backup Solution

Internet Backup Results

Dataset Backup (sec)Size(MB) Linux Windows Average

100 370.464 372.336 371.400

200 779.233 780.825 780.029

500 1944.334 1952.078 1948.206

1000 4083.101 4118.885 4100.993

Single File Backup (sec)Size (MB) Linux Windows Average

10 20.93 30.488 25.709

50 193.91 182.185 188.0475

100 389.892 387.07 388.481

200 774.734 783.911 784.734

Page 16: JRollback  – A Platform Independent Backup Solution

Internet Recovery ResultsDataset Recovery

Size(MB) Linux Windows Backup Average100 375.226 378.655 371.4

200 790.663 801.203 780.029

500 1955.352 1957.227 1948.2061000 4150.651 4162.999 4100.993

Single File Recovery

Size (MB) Linux Windows Backup Average10 20.93 31.022 25.70950 193.91 181.663 188.0475

100 389.892 399.021 388.481200 790.212 765.544 779.3225

Page 17: JRollback  – A Platform Independent Backup Solution

RollBack ExperimentsRollback contains RDP networking code

The code is not implemented in the latest release

Unable to perform a network backup with Rollback

To work around this a windows share was created to provide a reliable connection.

Measure the time t0 backup and recover (also repeated 10 times….by hand)

Page 18: JRollback  – A Platform Independent Backup Solution

Rollback Comparison

0 50 100 150 200 2500

10

20

30

40

50

60

Single File Backup

LinuxWindowsRollback

File Size

Tim

e (s

ec)

Page 19: JRollback  – A Platform Independent Backup Solution

Rollback Comparison

0 200 400 600 800 1000 12000

50

100

150

200

250

300

Dataset Backup

LinuxWindowsRollback

Dataset Size

Tim

e (s

ec)

Page 20: JRollback  – A Platform Independent Backup Solution

Current Features & MoreScheduled BackupE-mail confirmation of Backup/Restore (gmail

compatible)

Open Source Project available at: code.google.com/p/selfstorage

Page 21: JRollback  – A Platform Independent Backup Solution

Conclusions“Friend”-based backup is quite efficient and

feasible

RDP is not an ideal protocol for transferring data over the internet

JRollback can be used for an efficient backup and seems to perform on par with Rollback(which still lacks network functionality)

Page 22: JRollback  – A Platform Independent Backup Solution

Questions?

Page 23: JRollback  – A Platform Independent Backup Solution

Project IdeasDetecting Bufferbloat and routing traffic

away from it?

Detecting virtual machines through a secure processor?