Personal Data Attic As Alternative to Public Cloud
Total Page:16
File Type:pdf, Size:1020Kb
PERSONAL DATA ATTIC AS ALTERNATIVE TO PUBLIC CLOUD BRIAN POLLACK Submitted in partial fulfillment of the requirements for the degree of Master of Science Department of Electrical Engineering and Computer Science CASE WESTERN RESERVE UNIVERSITY May 2019 CASE WESTERN RESERVE UNIVERSITY SCHOOL OF GRADUATE STUDIES We hereby approve the thesis/dissertation of Brian Pollack candidate for the degree of Master of Science*. Committee Chair Michael Rabinovich Committee Member Vincenzo Liberatore Committee Member Xusheng Xiao Date of Defense March 6, 2019 *We also certify that written approval has been obtained for any proprietary material contained therein. Contents List of Tables iv List of Figures x 1 Introduction 1 1.1 Concept . .2 1.2 Application in Healthcare . .4 1.2.1 Current Medical Record Problems . .4 1.2.2 Existing Solutions . .5 1.2.3 Benefits of Our Approach in Healthcare . .6 1.3 Application in SaaS Cloud Offerings . .7 1.3.1 Reasons for Keeping Data Private . .7 1.3.2 Potential Benefits to Using Data Attic . .7 1.3.3 Potential Implementation . .9 1.4 Security Considerations . .9 2 Related Work 11 2.1 Dropbox . 11 2.2 ownCloud . 12 3 Choosing a Protocol 13 3.1 Performance . 13 3.1.1 Local Storage . 14 i 3.1.2 NFS . 14 3.1.3 iSCSI . 15 3.1.4 WebDAV . 16 3.1.5 Conclusion . 17 3.2 Security . 22 3.2.1 NFS . 22 3.2.2 iSCSI . 22 3.2.3 WebDAV . 22 3.2.4 Conclusion . 22 3.3 Ease of Use . 23 3.3.1 NFS . 23 3.3.2 iSCSI . 23 3.3.3 WebDAV . 24 3.3.4 Conclusion . 24 3.4 Conclusion . 25 4 Implementation 26 4.1 Data Attic Server . 28 4.1.1 Server Specification . 28 4.1.2 Server Installation . 28 4.1.3 Server Management . 30 4.2 Data Attic Client . 34 4.2.1 WebDAV Client . 34 4.2.2 Data Attic Daemon . 34 4.2.3 Client Application Library . 35 4.2.4 Client Configuration Utility . 37 4.2.5 Client Installation . 38 4.2.6 Sharing Access to Data Attic . 42 ii 5 Evaluation 44 5.1 Servers . 44 5.2 Performance Test Script . 44 5.3 Performance Test Results . 46 5.3.1 Write, no bandwidth restrictions . 47 5.3.2 Write, 25/3 network speed . 47 5.3.3 Write, 100/20 network speed . 47 5.3.4 Write, 1000/1000 network speed . 48 5.3.5 Read, no bandwidth restrictions . 48 5.3.6 Read, 25/3 network speed . 48 5.3.7 Read, 100/20 network speed . 48 5.3.8 Read, 1000/1000 network speed . 48 5.3.9 Summary . 49 5.4 Gzip Test . 74 5.4.1 Gzip Test Results . 75 6 Future Work 79 6.1 QR Codes for Sharing Credentials . 79 6.2 Federation . 81 6.3 Synchronization and Backup Offsite . 81 6.4 Synchronization Client for Personal Computer . 82 7 Conclusion 83 A Performance Test Data 85 iii List of Tables 3.1 Preliminary performance test results for writing over local network. 18 3.2 Preliminary performance test results for reading over local network. 19 3.3 Preliminary performance test results for writing over simulated internet. 20 3.4 Preliminary performance test results for reading over simulated internet. 21 A.1 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 0 ms. Upload bandwidth: Max mbps. Download bandwidth: Max mbps. 86 A.2 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 5 ms. Upload bandwidth: Max mbps. Download bandwidth: Max mbps. 87 A.3 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 10 ms. Upload band- width: Max mbps. Download bandwidth: Max mbps. 88 A.4 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 20 ms. Upload band- width: Max mbps. Download bandwidth: Max mbps. 89 A.5 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 50 ms. Upload band- width: Max mbps. Download bandwidth: Max mbps. 90 iv A.6 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 100 ms. Upload band- width: Max mbps. Download bandwidth: Max mbps. 91 A.7 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 0 ms. Upload bandwidth: 3 mbps. Download bandwidth: 25 mbps. 92 A.8 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 5 ms. Upload bandwidth: 3 mbps. Download bandwidth: 25 mbps. 93 A.9 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 10 ms. Upload band- width: 3 mbps. Download bandwidth: 25 mbps. 94 A.10 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 20 ms. Upload band- width: 3 mbps. Download bandwidth: 25 mbps. 95 A.11 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 50 ms. Upload band- width: 3 mbps. Download bandwidth: 25 mbps. 96 A.12 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 100 ms. Upload band- width: 3 mbps. Download bandwidth: 25 mbps. 97 A.13 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 0 ms. Upload bandwidth: 20 mbps. Download bandwidth: 100 mbps. 98 A.14 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 5 ms. Upload bandwidth: 20 mbps. Download bandwidth: 100 mbps. 99 v A.15 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 10 ms. Upload band- width: 20 mbps. Download bandwidth: 100 mbps. 100 A.16 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 20 ms. Upload band- width: 20 mbps. Download bandwidth: 100 mbps. 101 A.17 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 50 ms. Upload band- width: 20 mbps. Download bandwidth: 100 mbps. 102 A.18 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 100 ms. Upload band- width: 20 mbps. Download bandwidth: 100 mbps. 103 A.19 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 0 ms. Upload bandwidth: 1000 mbps. Download bandwidth: 1000 mbps. 104 A.20 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 5 ms. Upload bandwidth: 1000 mbps. Download bandwidth: 1000 mbps. 105 A.21 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 10 ms. Upload band- width: 1000 mbps. Download bandwidth: 1000 mbps. 106 A.22 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 20 ms. Upload band- width: 1000 mbps. Download bandwidth: 1000 mbps. 107 A.23 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 50 ms. Upload band- width: 1000 mbps. Download bandwidth: 1000 mbps. 108 vi A.24 Execution times of performance test script comparing data attic to NFS. Operation: write. RTT latency added: 100 ms. Upload band- width: 1000 mbps. Download bandwidth: 1000 mbps. 109 A.25 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 0 ms. Upload bandwidth: Max mbps. Download bandwidth: Max mbps. 110 A.26 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 5 ms. Upload bandwidth: Max mbps. Download bandwidth: Max mbps. 111 A.27 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 10 ms. Upload bandwidth: Max mbps. Download bandwidth: Max mbps. 112 A.28 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 20 ms. Upload bandwidth: Max mbps. Download bandwidth: Max mbps. 113 A.29 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 50 ms. Upload bandwidth: Max mbps. Download bandwidth: Max mbps. 114 A.30 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 100 ms. Upload band- width: Max mbps. Download bandwidth: Max mbps. 115 A.31 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 0 ms. Upload bandwidth: 3 mbps. Download bandwidth: 25 mbps. 116 A.32 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 5 ms. Upload bandwidth: 3 mbps. Download bandwidth: 25 mbps. 117 vii A.33 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 10 ms. Upload bandwidth: 3 mbps. Download bandwidth: 25 mbps. 118 A.34 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 20 ms. Upload bandwidth: 3 mbps. Download bandwidth: 25 mbps. 119 A.35 Execution times of performance test script comparing data attic to NFS. Operation: read. RTT latency added: 50 ms. Upload bandwidth: 3 mbps. Download bandwidth: 25 mbps. 120 A.36 Execution times of performance test script comparing data attic to NFS.