BlueMountain Enabling Automated, Rich, and Versatile Data - - PowerPoint PPT Presentation

bluemountain
SMART_READER_LITE
LIVE PREVIEW

BlueMountain Enabling Automated, Rich, and Versatile Data - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

BlueMountain: Backup Scenario

5

Android App BlueMountain Secure Private Cloud Dropbox

slide-6
SLIDE 6

BlueMountain: P2P Sharing Scenario

6

Android App BlueMountain

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

Challenges: Storage Virtualization

  • Can we virtualize

storage calls?

  • Android options:

○ Files ○ Database ○ Key/Value

10

slide-11
SLIDE 11

Storage Call Virtualization Fig3: BlueMountain design

  • Need to statically identify

all possible storage

  • ptions and their APIs
  • More challenging than

search and replace because of polymorphism

BlueMountain Compiler Soot NoteTaking Apk BlueMountain Manager Cloud API Backup / Restore I/O I/O Upload / Download Record Transformer Backup Lib Smarter NoteTaking Apk (Instrumented) Backup Service Cache (SD Card) DropBox

11

slide-12
SLIDE 12

Challenges: Cloud APIs

12

Sync API Custom API Realtime API

Clients Storage Backend

CRUD API CRUD API CRUD API

Common Interface

slide-13
SLIDE 13

Translator Database calls INSERT INTO table VALUES (value1,value2); get() put() Object Store

Challenges: Interface

How to translate? POSIX Filesystem calls read() write() lseek()

13

SharedPreferences getInt() putInt()

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 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 {sc296, kmarcus2, rakeshgu, hkarve, kdantu, stevko}@buffalo.edu Reliable Mobile Systems Lab http://www.nsr.cse.buffalo.edu

17