Firefox OS/Research

From MozillaWiki
Jump to: navigation, search

On this page, we will list related work (published research papers and other projects) that might be of interest either as something to integrate within Firefox OS, or that we can build off of for Firefox OS related research projects.

Network Measurement

Performance prediction

Coordinating Cellular Background Transfers using Loadsense pdf

Improve device energy consumption by 20-60% by measuring cellular load and transmitting data when the network is not congested. Measure based on the power ratio: the ratio of the pilot power to the total raw power. For 3G, these are the RCSP and ECIO. For LTE these are the RSRP and RSRQ.

The MobiPerf project

Related: Mobilyzer An Android application running in the background periodically measures a wide range of performance characteristics of the mobile and wireless network. Data is then anonymized and published in an open data set.

Cross-layer application profiling

ARO: pdf This tool is intended for developers. Using packet traces, this tool can infer RRC states and RRC state changes, and then detect periodic, short bursts that lead to long tail times and thus poor battery usage.

RRC state analysis

This is done in a device-agnostic way with MobiPerf. Mobiperf infers the impact of RRC states on user-perceived latencies, rather than the RRC state changes themselves. In particular, this allows bad transition delays to be logged.

A Close Examination of Performance and Power Characteristics of 4G LTE Networks pdf

This compares the performance of LTE networks with 3G, WiFi and other networks. It also examines in depth the power and performance impacts of different RRC states on performance and power, including changes in DRX (discontinous reception). It is generally a good introduction to RRC states on LTE devices.

RILAnalyzer: a Comprehensive 3G Monitor On Your Phone website On certain Android devices it is possible to receive control-plane messages corresponding to RRC states. This is a tool to log this control-plane data and determine how it interacts with data-plane events in order to affect user-perceived performance. The ability to automatically determine a ground truth for RRC states may be usable for Firefox OS devices.

New network protocols

TCP on Cellular Networks

An In-depth Study of LTE: Effect of Network Protocol and Application Behavior on Performance pdf

Analyzing performance of TCP and applications on LTE network from a dataset captured at an operational LTE network in the US. Also develops a lightweight method for estimating bandwidth, and discovers that TCP often does not run very efficiently on LTE networks.

MultiPath TCP

MultiPath TCP (MPTCP) leverages multiple network interfaces to establish multiple TCP connections. It is standardized by RFC 6824 (experimental) and is implemented in Linux (pdf). There are a few research papers looking at the performance of MPTCP in general or on mobile platforms.

A Measurement-based Study of MultiPath TCP Performance over Wireless Networks pdf

Exploring Mobile/WiFi Handover with Multipath TCP pdf

QUIC

QUIC is proposed protocol for improved web browsing experience to address two problems of SPDY: (1) Head-of-line blocking and (2) Connection setup overhead. How does QUIC compare to HTTP and SPDY, in WiFi and Cellular?

Network Performance and Battery Optimization

Power Characterization and Optimization

TOP: Tail Optimization Protocol for Cellular Radio Resource Allocation pdf

An application of the technique of fast dormancy, where a device indicates that it would like to release radio resources in order to save power. Proposes an API where applications submit predictions of when the next data transmission will be. The system then sends a request for fast dormancy when there are no expected data transmissions in the near future. Works best for applications with predictable traffic patterns, such as streaming applications.

RadioProphet: Intelligent Radio Resource Deallocation for Cellular Networks pdf Follow-up work to the above, it explores how to effectively predict application idle periods.

PowerTutor: a diagnostic tool for analyzing system and app power usage with automated power model construction and accurate power estimation from system activities (within 5% of actual values). It has power breakdown for different apps and major system components.

TailTheft: Leveraging the Wasted Time for Saving Energy in Cellular Communications [1] Schedule delay-tolerant traffic or easily predictable traffic to be batched with more real-time traffic by prefetching or delaying it.

Networking Traffic Scheduling

Bartendr: A Practical Approach to Energy-aware Cellular Data Scheduling pdf. Poor signal strength can decrease the energy efficiency of cellular network data transfers by as much as 6x on mobile phones. For delay-tolerant traffic like streaming and syncing, the paper proposes a scheduling algorithm to reduce energy consumption.

Screen-Off Traffic Characterization and Optimization in 3G/4G Networks pdf Traffic sent while the screen is off accounts for ~60% of network energy. A lot of energy can be saved by batching this traffic. It is generally assumed that traffic sent when the screen is off is less delay-sensitive. Somewhat similar to TailTheft.

Caching

Web caching on smartphones: ideal vs reality pdf

Redundant network transfers on mobile phones are a huge problem. Most of this is due to incorrect or incomplete caching implementations. The effect of a small cache size is not substantial. Making sure this is correct can reduce traffic by 17%.

How to Reduce Smartphone Traffic Volume by 30%? pdf

By implementing various redundancy elimination algorithms. In addition to correct caching, delta encoding (sending over partial web page updates), file compression, and packet stream compression, are effective methods of reducing the data consumed.


Findall: a local search engine for mobile phones pdf

Implements a search engine that caches results locally in order to make results available in the absence of a network connection. 52% of searches are duplicates. The number goes up to 72% when considering users with similar behavior.

Informed mobile prefetching pdf

Prefetching to effectively consume without exceeding power and data budgets (assuming a fixed data plan and predictable charging intervals). Does not deal with the prediction problem; rather, it is implemented as an API which any application can use.

MOBILITY-AWARE WEB PREFETCHING OVER HETEROGENEOUS WIRELESS NETWORKS pdf

Assuming users have access to both WiFi and cellular networks, wehre WiFi is faster and cheaper. They determine an optimal time for prefetching, assuming that the cost for each technology is known, and accounting for user motion (e.g. as users walk and move from ne coverage area to another). Prefetching is done over the short term.

CAMEO: A Middleware for Mobile Advertisement Delivery pdf Allows advertisements to consume less data and power by prefetching ads in advance, using past user context history to predict future context history (i.e. what ads you will want to show). Also provides a model for subsidizing network access by showing ads on behalf of the ISP.

O2SM: Enabling Efficient Offline Access to Online Social Media and Social Networks pdf Social media content is personalized, varies greatly in size, and is often viewed in non-ideal circumstances (e.g. waiting in line). They determine ways to rank content of itnerest to users and automatically prefetch high-priority content of interest to users. Rankings are based on interactions with other users and general post popularity.

Security

User-Driven Access Control

A more natural way of granting application permissions: (Roesner et al) Build permission granting into normal user application workflow patterns with access control gadgets. Protected UI gadgets allow users to naturally give access to e.g. the camera by pressing a button with a camera on it.

Side Channel Attack Research (Shared Public Resource Privacy Leakage)

Study user privacy leakage from application/system public accessible resources. For FireFox OS, we can study the API design to find out possible leakage interfaces.

Malware/Spyware Detection

Use systematical approaches to ensure a secure environment of the application market. We can use program analysis methods to statically or dynamically detect possible malware/spyware.

Possible Privilege Escalation Problems

Inter-component communication via Intent in Android produces tons of privilege escalation attacks, such as permission re-delegation, component hijacking, etc. It would be interesting to see whether the web activity in Firefox OS, the equivalence of Intent, can enable the same attacks. If so, it is a good chance to build a defense system at this early age of B2G OS.