reliable mobile systems lab … · 2019-02-26 · modifications to the android platform for ease of...
TRANSCRIPT
![Page 1: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/1.jpg)
BlueMountainEnabling Automated, Rich, and Versatile Data
Management for Android Apps
Sharath Chandrashekhara, Kyle Marcus, Rakesh G. M. Subramanya,Hrishikesh S. Karve, Karthik Dantu and Steven Y. Ko
Reliable Mobile Systems Labhttp://www.nsr.cse.buffalo.edu
1
![Page 2: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/2.jpg)
Mobile Apps - State of Art
● Use local and cloud storage; rich forms of interaction, backup, sharing etc.
● Large companies use their own cloud; smaller developers use public cloud
● Too many cloud providers, no standard interface
2
![Page 3: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/3.jpg)
Life as a Developer● Several design choices● Consistency models, interface
and semantics● Tangential and repetitive● Binds an app to a particular
cloud
3
➪ Developers want to reduce development time and provide more flexibility to users
![Page 4: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/4.jpg)
Life as a User● Constrained by the developer’s
decisions● Privacy concerns when data is
moved to cloud● Has to contact the developers
for any customization
4
➩ Users want flexibility and control
![Page 5: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/5.jpg)
BlueMountain: Backup Scenario
5
Android AppBlueMountain
Secure Private Cloud
Dropbox
![Page 6: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/6.jpg)
BlueMountain: P2P Sharing Scenario
6
Android AppBlueMountain
![Page 7: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/7.jpg)
BlueMountain Goals● Reduce development effort: Focus on app logic; treat
all storage operations as local● Automatically transform apps: Enable richer forms of
data interaction● Flexibility: Customize without access to source code● Post-development cycle: Works with existing apps; no
modifications to the Android platform for ease of deployment.
7
![Page 8: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/8.jpg)
BlueMountain
● A system that automatically integrates cloud storage services with Android apps
● Main components○ App Transformer: Analyses and rewrites app
binaries by virtualizing the storage calls and enables richer data interactions
○ Runtime: Runs as a regular app; and interacts with the cloud and manages policies
8
![Page 9: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/9.jpg)
BlueMountain Architecture
9
Apk
BlueMountain Transformer
Decompiler
Analyzer
Rewriter
Smarter Apk(Instrumented)
I/O
Local Storage(SD Card)
Cloud Storage
Upload /Download
BlueMountain Runtime
Cloud API
Policy Manager
![Page 10: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/10.jpg)
Challenges: Storage Virtualization
● Can we virtualize storage calls?
● Android options:○ Files○ Database○ Key/Value
10
![Page 11: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/11.jpg)
Storage Call Virtualization
Fig3: BlueMountain design
● Need to statically identify all possible storage options and their APIs
● More challenging than search and replace because of polymorphism
BlueMountain Compiler
Soot
NoteTaking Apk
BlueMountain Manager
Cloud APIBackup / Restore
I/O
I/O
Upload /Download
Record Transformer
Backup Lib
Smarter NoteTaking Apk
(Instrumented)Backup Service
Cache (SD Card)
DropBox
11
![Page 12: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/12.jpg)
Challenges: Cloud APIs
12
Sync API Custom API Realtime API
Clients
Storage Backend
CRUD API CRUD API CRUD API
Common Interface
![Page 13: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/13.jpg)
Translator
Database callsINSERT INTO table VALUES
(value1,value2);
get() put()
Object Store
Challenges: Interface
How to translate?
POSIX Filesystem callsread() write() lseek()
13
SharedPreferencesgetInt() putInt()
![Page 14: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/14.jpg)
Challenges: Semantics
● Handling concurrent updates● Most clouds provide only eventual consistency● Timing differences between local and cloud● Time-bound eventually-consistent model?● Getting additional inputs from the developers?
14
![Page 15: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/15.jpg)
Related Work
● Viewbox, Simba - Fault tolerance and consistency guarantees
● Cimbiosys - Selective sharing of files● Procrastinator - Rewriting the binary● MetaSync - Enhances cloud services● CloudRail - Unified API
15
![Page 16: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/16.jpg)
Conclusion & Future Work
● Initial vision for BlueMountain - storage virtualization and cloud integration
● Developed a prototype to demonstrate these features● Future work
○ Full implementation○ Resolving interface and semantic mismatches○ Analysing and categorizing the apps of Play Store
and corporate apps which store data on their private cloud
16
![Page 17: Reliable Mobile Systems Lab … · 2019-02-26 · modifications to the Android platform for ease of deployment. 7. BlueMountain A system that automatically integrates cloud storage](https://reader034.vdocuments.us/reader034/viewer/2022042302/5ecdc8cbae8a0070877f0ad4/html5/thumbnails/17.jpg)
BlueMountainEnabling Automated, Rich, and Versatile Data Management for Android Apps
Sharath Chandrashekhara, Kyle Marcus, Rakesh G. M. Subramanya,Hrishikesh S. Karve, Karthik Dantu and Steven Y. Ko
{sc296, kmarcus2, rakeshgu, hkarve, kdantu, stevko}@buffalo.eduReliable Mobile Systems Labhttp://www.nsr.cse.buffalo.edu
17