O UR S OLUTION BSTORE O UR S OLUTION BSTORE Key ideas: Data - - PowerPoint PPT Presentation

o ur s olution bstore o ur s olution bstore
SMART_READER_LITE
LIVE PREVIEW

O UR S OLUTION BSTORE O UR S OLUTION BSTORE Key ideas: Data - - PowerPoint PPT Presentation

S EPARATING W EB A PPLICATIONS FROM U SER D ATA S TORAGE WITH BSTORE Ramesh Chandra Priya Gupta Nickolai Zeldovich MIT CSAIL M OTIVATING E XAMPLE Alice manages her photos online. M OTIVATING E XAMPLE Alice manages her photos online. Snaps


slide-1
SLIDE 1

SEPARATING WEB APPLICATIONS FROM USER DATA STORAGE WITH BSTORE

Ramesh Chandra Priya Gupta Nickolai Zeldovich MIT CSAIL

slide-2
SLIDE 2

MOTIVATING EXAMPLE

Alice manages her photos online.

slide-3
SLIDE 3

MOTIVATING EXAMPLE

Alice manages her photos online.

 Snaps family photos  Uploads to Flickr

slide-4
SLIDE 4

MOTIVATING EXAMPLE

Alice manages her photos online.

 Snaps family photos  Uploads to Flickr  Edits them with PhotoEditor  PhotoEditor uses SuperRedEyeRemover

slide-5
SLIDE 5

MOTIVATING EXAMPLE

Alice manages her photos online.

 Snaps family photos  Uploads to Flickr  Edits them with PhotoEditor  PhotoEditor uses SuperRedEyeRemover  Uses PhotoViewer to view photos as wallpaper

slide-6
SLIDE 6

MOTIVATING EXAMPLE

Alice manages her photos online.

 Snaps family photos  Uploads to Flickr  Edits them with PhotoEditor  PhotoEditor uses SuperRedEyeRemover  Uses PhotoViewer to view photos as wallpaper  Uses Shutterfly to print photos

slide-7
SLIDE 7

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-8
SLIDE 8

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-9
SLIDE 9

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-10
SLIDE 10

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-11
SLIDE 11

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-12
SLIDE 12

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-13
SLIDE 13

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-14
SLIDE 14

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-15
SLIDE 15

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-16
SLIDE 16

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-17
SLIDE 17

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-18
SLIDE 18

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-19
SLIDE 19

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-20
SLIDE 20

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-21
SLIDE 21

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-22
SLIDE 22

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-23
SLIDE 23

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-24
SLIDE 24

STRAWMAN – MANUAL MANAGEMENT

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

  • User must manually upload / download
  • User must manually sync – error prone
  • Web app developer must provision storage servers
  • Redundant network transfers
slide-25
SLIDE 25

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-26
SLIDE 26

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-27
SLIDE 27

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-28
SLIDE 28

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-29
SLIDE 29

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-30
SLIDE 30

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-31
SLIDE 31

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-32
SLIDE 32

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-33
SLIDE 33

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-34
SLIDE 34

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-35
SLIDE 35

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly Advantages:

  • Solves manual upload / download
  • Apps can automatically sync
  • Avoids redundant network transfers
slide-36
SLIDE 36

CURRENT SOLN – WEB SERVICES AND OAUTH

BROWSER

BACKEND SERVERS

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly Problems:

  • Needs servers to relay data
  • Coarse-grained access control
  • Two-party sharing
  • Apps cannot further delegate

Advantages:

  • Solves manual upload / download
  • Apps can automatically sync
  • Avoids redundant network transfers
slide-37
SLIDE 37

OUR SOLUTION – BSTORE

slide-38
SLIDE 38

OUR SOLUTION – BSTORE

Key ideas:

 Data sharing in the browser:  App developers don’t need servers for data access  Support for offline sharing  Avoid redundant network transfers

slide-39
SLIDE 39

OUR SOLUTION – BSTORE

Key ideas:

 Data sharing in the browser:  App developers don’t need servers for data access  Support for offline sharing  Avoid redundant network transfers  Common storage mechanisms:  Unified namespace  Data access API  Delegation of access rights

slide-40
SLIDE 40

BSTORE OVERVIEW

slide-41
SLIDE 41

BSTORE OVERVIEW

BACKEND SERVERS

slide-42
SLIDE 42

BSTORE OVERVIEW

BROWSER BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-43
SLIDE 43

BSTORE OVERVIEW

BROWSER

flickr FS

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-44
SLIDE 44

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

slide-45
SLIDE 45

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-46
SLIDE 46

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-47
SLIDE 47

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-48
SLIDE 48

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-49
SLIDE 49

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-50
SLIDE 50

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-51
SLIDE 51

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-52
SLIDE 52

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-53
SLIDE 53

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-54
SLIDE 54

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-55
SLIDE 55

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-56
SLIDE 56

BSTORE API

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly FS-specific API BSTORE API

slide-57
SLIDE 57

BSTORE API

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly FS-specific API BSTORE API

Benefits to User: User-centric storage

  • User’s data available to all her apps
  • User controls which apps get access
  • Doesn’t require browser changes
slide-58
SLIDE 58

BSTORE API

BSTORE OVERVIEW

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly FS-specific API BSTORE API

Benefits to User: User-centric storage

  • User’s data available to all her apps
  • User controls which apps get access
  • Doesn’t require browser changes

Benefits to Apps:

  • Can share data using a common API
  • Do not need server for storing or processing data
  • Enables offline sharing
  • Egalitarian: Apps are first-class citizens
  • Can export existing data via BSTORE
  • Can delegate rights to other apps
slide-59
SLIDE 59

TALK OUTLINE

 Motivation  Current solutions  BSTORE overview  Design details:  Filesystem API  FS organization with tags  Tag-based access control  Filesystem setup  Implementation  Evaluation  Related work

slide-60
SLIDE 60

FILESYSTEM API

 Each FS has a flat file structure  BSTORE FS API:

 create(fs, init_tags) -> handle  set (handle, data) ->  get (handle) -> data  delete(handle) ->

 Fits data model for most web apps

slide-61
SLIDE 61

 All files are versioned  Most API calls return current version

VERSIONING

slide-62
SLIDE 62

 All files are versioned  Most API calls return current version

 create(fs, init_tags) -> ver, handle  set (handle, data) -> ver  get (handle) -> ver, data  delete(handle) ->

VERSIONING

slide-63
SLIDE 63

 All files are versioned  Most API calls return current version

 create(fs, init_tags) -> ver, handle  set (handle, data) -> ver  get (handle) -> ver, data  delete(handle) ->

 set increments version number

VERSIONING

slide-64
SLIDE 64

 All files are versioned  Most API calls return current version

 create(fs, init_tags) -> ver, handle  set (handle, data, [match_ver]) -> ver  get (handle) -> ver, data  delete(handle, [match_ver]) ->

 set increments version number

 Compare and swap-like functionality to detect

concurrent modifications

 set and delete fail if current ver != match_ver

VERSIONING

slide-65
SLIDE 65

PRINCIPALS

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-66
SLIDE 66

flickr.com

PRINCIPALS

BROWSER flickr.com

fsmgr.com

BACKEND SERVERS editor.com redeye.com viewer.com sfly.com

Shutterfly

slide-67
SLIDE 67

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-68
SLIDE 68

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-69
SLIDE 69

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

paris newyork

slide-70
SLIDE 70

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

paris newyork print

slide-71
SLIDE 71

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

paris newyork print

slide-72
SLIDE 72

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

paris newyork print

slide-73
SLIDE 73

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

paris newyork print print

slide-74
SLIDE 74

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

flickr.com #paris flickr.com #newyork flickr.com #print viewer.com #print

slide-75
SLIDE 75

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

flickr.com #paris flickr.com #newyork flickr.com #print viewer.com #print

slide-76
SLIDE 76

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

flickr.com #paris flickr.com #newyork flickr.com #print viewer.com #print

slide-77
SLIDE 77

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

flickr.com #paris flickr.com #newyork fsmgr.com #christmas flickr.com #print viewer.com #print fsmgr.com #christmas

slide-78
SLIDE 78

FS ORGANIZATION WITH TAGS

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

flickr.com #paris flickr.com #newyork fsmgr.com #christmas

Tags API settag(handle, tag) -> ver rmtag (handle, tag) -> ver gettag(handle) -> ver, tag_list search(fs, tag_expr) -> handle_list

flickr.com #print viewer.com #print fsmgr.com #christmas

slide-79
SLIDE 79

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas fsmgr.com #private

slide-80
SLIDE 80

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com #private

slide-81
SLIDE 81

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com #private

slide-82
SLIDE 82

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com viewer.com fsmgr.com #christmas read fsmgr.com #private

slide-83
SLIDE 83

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com viewer.com fsmgr.com #christmas read

Photo Viewer

fsmgr.com #private

slide-84
SLIDE 84

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com viewer.com fsmgr.com #christmas read fsmgr.com #private

slide-85
SLIDE 85

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com viewer.com fsmgr.com #christmas read viewer.com sfly.com viewer.com #print read fsmgr.com #private

slide-86
SLIDE 86

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com viewer.com fsmgr.com #christmas read viewer.com sfly.com viewer.com #print read

Shutterfly

fsmgr.com #private

slide-87
SLIDE 87

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com viewer.com fsmgr.com #christmas read viewer.com sfly.com viewer.com #print read

Shutterfly

fsmgr.com #private

slide-88
SLIDE 88

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com viewer.com fsmgr.com #christmas read viewer.com sfly.com viewer.com #print read viewer.com sfly.com fsmgr.com #private read

Shutterfly

fsmgr.com #private

slide-89
SLIDE 89

ACCESS CONTROL

BROWSER

flickr FS FS Manager

Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

File Manager

fsmgr.com #christmas viewer.com #print fsmgr.com #christmas

from to tags rights

fsmgr.com viewer.com fsmgr.com #christmas read viewer.com sfly.com viewer.com #print read viewer.com sfly.com fsmgr.com #private read

Access Control API add_dlg(to, tags, rights) -> rm_dlg (to, tags, rights) -> get_dlg(to) -> <tags,rights>

fsmgr.com #private

slide-90
SLIDE 90

FILESYSTEM SETUP

 FS manager needs FS info to mount the FS  FS info stored in a mountpoint file  Example:

<mountpoint> <url src="http://flickr.com/fs.html"/> <params username="ramesh" password="pass"/> </mountpoint>

 Any principal can add a mountpoint as long as it

can create the mountpoint file

 Mountpoint file contents encrypted by FS

manager

 encrypt(mntpoint_plaintext) -> mntpoint_ciphertext

slide-91
SLIDE 91

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

slide-92
SLIDE 92

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

slide-93
SLIDE 93

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

slide-94
SLIDE 94

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS

slide-95
SLIDE 95

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS

Layered FS

slide-96
SLIDE 96

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS

Layered FS

slide-97
SLIDE 97

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS

Layered FS

slide-98
SLIDE 98

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS

Layered FS

slide-99
SLIDE 99

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS

Layered FS

slide-100
SLIDE 100

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS

Layered FS

slide-101
SLIDE 101

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS

Layered FS

slide-102
SLIDE 102

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS

Layered FS

slide-103
SLIDE 103

FILESYSTEM EXAMPLES

BROWSER

flickr FS FS Manager

BACKEND SERVERS Photo Editor SuperRedEye Remover Photo Viewer Shutterfly

Shutterfly

amazon FS

Storage FS

encrypt FS Local FS

Layered FS

slide-104
SLIDE 104

TALK OUTLINE

 Motivation  Current solutions  BSTORE overview  Design details:  Filesystem API  FS organization with tags  Tag-based access control  Filesystem setup  Implementation  Evaluation  Related work

slide-105
SLIDE 105

IMPLEMENTATION

Component LOC JavaScript PHP Core Components Util Library 1348

  • FS Manager

617

  • File Manager

337

  • Filesystems

StorageFS 58 712 EncryptFS 239

  • CheckPointFS

595

slide-106
SLIDE 106

IMPLEMENTATION

Component LOC JavaScript PHP Core Components Util Library 1348

  • FS Manager

617

  • File Manager

337

  • Filesystems

StorageFS 58 712 EncryptFS 239

  • CheckPointFS

595

  •  Browser-side Javascript components:

 Communication between browser windows: postMessage  Supports Firefox and Google Chrome browsers  No browser modifications

 Storage FS:

 PHP backend on Linux / Apache  Communication between JS and PHP: XMLHttpRequest POST

slide-107
SLIDE 107

EVALUATION

 What is the effort to port apps to BSTORE?  What is BSTORE’s performance overhead?

slide-108
SLIDE 108

EFFORT TO PORT APPS

 Less than a day per app  Modifications are localized

Application Original LOC Modified LOC % Modified Pixastic 4245 81 1.9% vi 3471 74 2.1% TrimSpreadsheet 1293 66 5.1%

slide-109
SLIDE 109

PERFORMANCE EVALUATION

 Compare BSTORE get with XMLHttpRequest(XHR) GET  Experimental setup:

 Firefox browser on Intel Core i7 950 3.07GHz  Storage FS on Intel Xeon 3.06GHz  Network configurations:  Local network: 100Mbps Ethernet  Simulated wide area networks: 10Mbps/10ms, 1Mbps/100ms  File size: 1MB

slide-110
SLIDE 110

LOW OVERHEAD FOR REMOTE SERVERS

 BSTORE overhead primarily in browser:

 Encoding and decoding data

postMessage

0% 20% 40% 60% 80% 100% 120% 140% 160% 180% Local Network 10 Mbps, 10 ms 1 Mbps, 100 ms Time XHR GET BSTORE get

slide-111
SLIDE 111

LOW OVERHEAD FOR REMOTE SERVERS

 BSTORE overhead primarily in browser:

 Encoding and decoding data

postMessage

0% 20% 40% 60% 80% 100% 120% 140% 160% 180% Local Network 10 Mbps, 10 ms 1 Mbps, 100 ms Time XHR GET BSTORE get

More evaluations – in the paper

  • BSTORE set vs. XMLHttpRequest POST
  • Overhead of Layered FS
  • Firefox vs. Google Chrome
slide-112
SLIDE 112

LIMITATIONS

 No support for cross-user sharing  Principals are limited by SOP to URL origin  Don't support apps that:

 Need a DB interface  Need server-side computation

slide-113
SLIDE 113

RELATED WORK

 Server-side sharing:  Cannot support browser-only apps or offline usage  Pair-wise sharing  E.g: OAuth, REST APIs, Menagerie  Client-side sharing:  Position paper by Hsu and Chen, with vision similar

to BSTORE

 Tag-based file organization in other domains:  E.g: Semantic file systems, Presto

slide-114
SLIDE 114

CONCLUSIONS

 Current web app storage model constrains users

and app developers

 BSTORE solves these issues with:  Browser-based sharing  Common API  Tag-based rights delegation  BSTORE works on unmodified browsers and has

low overhead

slide-115
SLIDE 115

CONCLUSIONS

 Current web app storage model constrains users

and app developers

 BSTORE solves these issues with:  Browser-based sharing  Common API  Tag-based rights delegation  BSTORE works on unmodified browsers and has

low overhead Thank you!