17
BlueMountain Enabling 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 Lab http://www.nsr.cse.buffalo.edu 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

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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