Firefox OS/Cloud Storage

From MozillaWiki
Jump to navigation Jump to search

Overview

This project aims at to support a framework for web apps to interact with cloud storage.
Cloud Storage Support Overview.png
Cloud Storage framework wants to support following features

  • Universal Storage API

Universal Storage API is a general API for web apps to access all kinds of cloud storage.

  • Virtual Storage Interface

Virtual Storage Interface is plugin system for cloud storage framework to extend cloud storage option.

Cloud Storage Framework

Universal Storage API

Universal Storage API is a general API for web apps to access all kinds of storage.
According to different purposes, Universal Storage API can be separated into following two categories

  • Document based API

Document based API is used to help web apps save/operate their application data, such as indexedDB, on the cloud storage.

  • Filesystem based API

Filesystem based API supports web apps to access cloud storage with filesystem operations, such as file create, delete, open, read, write, close, etc.

Virtual Storage Interface

Virtual Storage Interface is plugin system for cloud storage framework to cooperate with different cloud storage.

Proposed Solution(s)

FUSE based solution

Mounting Cloud Storage to device filesystem through the FUSE mechanism.
Cloud Storage FUSE solution.png

Benefits

  • DeviceStorageAPI

DeviceStorageAPI provides well defined filesystem based API to access files/directories of internal storage and SD card. Once FUSE based solution supported, DeviceStorageAPI can be used directly to access cloud storage without any modification.

  • FUSE interface

FUSE interface is a good reference for Virtual Storage Interface. By propagating FUSE interface to FirefoxOS, FirefoxOS can easy connect to many kinds of storage, such as cloud storage, NAS, etc.

Drawbacks

  • Cross platform/browser issue
  1. DeviceStorageAPI is not a standard API for all browser
  2. FUSE is a special kernel module of Unix-like OS.

JS library solution

File:Cloud Storage JS solution.png

Framework Issues

  • Cloud Storage Account management and Authentication
  • Data cache/buffering
  • Offline accessing support
  • Security issues

Related links

Related Bugzilla