3rd MobiHeld — October 23, 2011
Opening Remarks and Keynote
Keynote Address
Mobile Video and Clouds
MARS: Adaptive Remote Execution for Multi-threaded Mobile Devices
Mobile devices face a growing demand to support computationally intensive applications like 3D graphics and computer vision. However, these devices are inherently limited by processor power density and device battery life. Dynamic remote execution addresses this problem, by enabling mobile devices to opportunistically offload computations to a remote server. We envision remote execution as a new type of cloud-based heterogeneous computing resource, or a “Cloud-on-Chip”, which would be managed as a system resource as if it were a local CPU, with a highly variable wireless interconnect. To realize this vision, we introduce MARS, the first adaptive, online and lightweight RPC-based remote execution scheduler supporting multi-threaded and multi-core systems. MARS uses a novel efficient offloading decision algorithm that takes into account the inherent trade-offs between communication and computation delays and power consumption. Due to its lightweight design, MARS runs on the device itself, instantly adapts its decisions to changing wireless resources, and supports any number of threads and cores. We evaluated MARS using a trace-based simulator driven by real world measurements on augmented reality, face recognition and video game applications. MARS achieves an average speedup of 57% and 33% higher energy savings over the best static client-server partitions.
Jupiter: Transparent Augmentation of Smartphone Capabilities through Cloud Computing
Smartphones have become more and more popular, however the storage and computation limitation remains a big obstacle. With cloud computing and data centers capable of providing almost unlimited storage space and computing capability, we believe that it is possible to augment the smartphone capabilities with the support of cloud computing. This paper proposes Jupiter, a framework to augment the smartphone capabilities with the support of cloud computing. Jupiter can provide transparent user experiences to mobile users in application management and data storage. With the help of virtual machine technology, Jupiter is also able to launch desktop applications on smartphones when necessary. We have implemented a prototype of Jupiter on Android phones and demonstrated its feasibility through a couple of case studies.
Designing Real-Time Multimedia Applications on Mobile Devices
This paper explores the challenge of real-time image search and registration on mobile devices. We propose using the histogram of oriented gradients (HOG) features for characterizing image regions, and propose an algorithm based on the entropy of HOG to select “good” regions for image matching and registration. We also propose a novel implementation of a dual-mode mobile system based on a hybrid tracking and visual matching algorithm. We apply the algorithms to several mobile applications, including image matching for mobile visual search and panorama on mobile phones. The effectiveness of our approach is demonstrated on a large dataset.
Avoiding Nostril-cam and Postage-stamp People in Mobile Video Conferences
We would like to provide high-quality video conferencing so that people can communicate comfortably with each other anywhere, anytime. This is not a new goal, and there are now several applications such as Skype™ and FaceTime™ on mobile platforms that bring us closer to achieving anywhere, anytime video communications. Alas, these mobile conferences are often of poor quality due to the many challenges presented by mobile devices, such as constrained networks, limited processing power, small displays, and uncontrolled view angles and lighting. These challenges mean that simply porting existing desktop video conferencing solutions to portable devices does not provide the best user experience. Fortunately, these mobile devices also have many advantages that we can exploit to enable better-quality portable video conferences. In this paper we describe how we exploit the devices’ mobility and embedded sensors to detect and fix two problems that are often ignored but that adversely affect user experience: bad view angles and too-tiny views of people and content, especially in multi-party conferences. Please note that what we describe is very much an experimental prototype and not a finished project
Mobile Storage and Security
The Swiss Army Smartphone: Cloud-Based Delivery of USB Services
A smartphone can be configured to look like any Universal Serial Bus (USB) peripheral and can be managed remotely through its wireless data connection. By virtue of these features, smartphones are ideal vehicles for the delivery of a variety of brand-new, USB-powered services that support the management and troubleshooting of mobile laptops. We provide examples of such USB services and describe a general architecture for their implementation. The services are easy to deploy, because they can be extended to remote laptops without prior installation of new software, and well-suited for delivery through virtualization in a cloud infrastructure. While our examples target mostly the enterprise, USB services, especially virtualized ones, can easily be tailored to suit a broad set of consumer applications.
Examining Storage Performance on Mobile Devices
Conventional wisdom holds that storage is not a big contributor to application performance or energy consumption on mobile devices. Flash storage (the type most commonly used today) draws little power, and its performance is thought to exceed that of the network subsystem. In this paper we present initial evidence to the contrary even for common applications such as web browsing or application install. We find that just by varying the underlying flash storage, performance of web browsing over WiFi can vary roughly by 500%, and of application install by 300%. With a faster network (setup over USB), storage is taxed even more and the performance variation rose to roughly 700% for web browsing! The performance variation can be attributed to the characteristics of the storage device, the workload pattern (random or sequential), and the operating system itself. We also find that lower storage performance leads to increased CPU consumption, thus having an indirect impact on energy.
The Modeling and Comparison of Wireless Network Denial of Service Attacks
Mobile handhelds with wireless access are used in numerous safety critical applications. The wireless network protocols in use are vulnerable to a wide array of denial of service attacks. We propose a formal method for modeling semantic denial of service attacks against wireless network protocols. We then use our proposed model to find a new deadlock vulnerability in IEEE 802.11. The history of published denial of service attacks against wireless protocols indicates that formal methods can contribute to the construction of robust protocols.
Context and Location Awareness
Predicting Handoffs in 3G Networks
Consumers all over the world are increasingly using their smartphones on the go and expect consistent, high quality connectivity at all times. A key network primitive that enables continuous connectivity in cellular networks is handoff. Although handoffs are necessary for mobile devices to maintain connectivity, they can also cause short-term disruptions in application performance. Thus, applications could benefit from the ability to predict impending handoffs with reasonable accuracy, and modify their behavior to counter the performance degradation that accompanies handoffs. In this paper, we study whether attributes relating to the cellular network conditions measured at handsets can accurately predict handoffs. In particular, we develop a machine learning framework to predict handoffs in the near future. An evaluation on handoff traces from a large US cellular carrier shows that our approach can achieve 80% accuracy — 27% better than a naive predictor.
Searchlight: Helping Mobile Devices find their Neighbors
The rapid deployment of millions of handheld communication devices has resulted in a demand for physical proximity-based opportunistic networking. However, the success of these emerging ad hoc networks requires that a device should be able to search and find other devices in its vicinity without infrastructure support, without consuming too much battery power, and preferably without requiring clock synchronization. While approaches exist to solve this problem of energy-efficient asynchronous neighbor discovery, they present an unpleasant trade-off between good average-case performance (probabilistic approaches) and strict bound on worst-case discovery latency (deterministic approaches). In response to these limitations, we present Searchlight, an asynchronous neighbor discovery protocol that has both deterministic and probabilistic components, a novel combination that enables it to have both good average-case performance and the best worst-case bound for any given energy budget.
Context-aware Apps with the Zonezz Platform
Current smart phones can easily detect the geographic location, but very often applications are more interested in the meaning of the location for the user. In this paper we present the Zonezz platform that identifies meaningful locations such as ‘home’ or ‘work’. It provides an easy to understand context model and fully runs on a mobile device without the need for a central service. Other apps can use this platform to create context-awareness. We show the benefits of this platform with the help of a context-aware calendar tool.
Traffic Backfilling: Subsidizing Lunch for Delay-Tolerant Applications in UMTS Networks
Mobile application developers pay little attention to the interactions between applications and the cellular network carrying their traffic. This results in waste of device energy and network signaling resources. We place part of the blame on mobile OSes: they do not expose adequate interfaces through which applications can interact with the network. We propose traffic backfilling, a technique in which delay-tolerant traffic is opportunistically transmitted by the OS using resources left over by the naturally occurring bursts caused by interactive traffic. Backfilling presents a simple interface with two classes of traffic, and grants the OS and network large flexibility to maximize the use of network resources and reduce device energy consumption. Using device traces and network data from a major US carrier, we demonstrate a large opportunity for traffic backfilling.