Abstra t. This paper presents the design and implementation of a lightweight and exible middleware, based on Smart Messages (SMs), for programming distributed appli ations over networks of ubiquitous Javaenabled devi es, su h as ell phones and PDAs. SMs are user-de ned distributed appli ations whi h exe ute on nodes of interest, named by their properties, and use expli it migration to move between these nodes. The main bene ts provided by SMs are ease of deployment for new appli ations and adaptability to highly dynami network onditions. To leverage the omputing power of existent wireless Java-enabled devi es, we have designed a portable SM ar hite ture in whi h the SM support at nodes is implemented as a runtime system on top of pre-installed Java virtual ma hines, and the SM migration is implemented by instrumenting the SM Java byte ode. The experimental results for appli ations exe uted over a testbed onsisting of HP iPAQs ommuni ating through 802.11 wireless ards demonstrate the feasibility of our ar hite ture.
We evaluate the feasibility of using Migratory TCP (M-TCP), a reliable onne tion-oriented transport layer proto ol that supports onne tion migration, for building highly available Internet servi es. M-TCP an transparently migrate the server endpoint of a live onne tion and assists server appli ations in resuming servi e on migrated onne tions. M-TCP provides a generi solution for the problem of servi e ontinuity and availability in the fa e of onne tivity failures. We have implemented M-TCP and present results of an experimental evaluation whi h shows it an eÆ iently provide support for highly available servi es. We illustrate the use of M-TCP in two appli ations. The rst is a syntheti generi media streaming server. We show that, when the performan e of the urrent server degrades, M-TCP an sustain throughput lose to the average server behavior by migrating onne tions to better servers. The se ond appli ation is a transa tional database server in whi h we have integrated support for migrating lient onne tions. Using our system, a database frontend an ontinue the exe ution of a series of transa tions submitted by a remote lient in a session started with another front-end. The system allows a session to survive adverse onditions by onne tion migration, while ensuring that ACID semanti s are preserved and that the exe ution is deterministi a ross migration.
Smart personal devices equipped with a wide range of sensors and peripherals can potentially be misused in various environments. They can be used to exfiltrate sensitive information from enterprises and federal offices or be used to smuggle unauthorized information into classrooms and examination halls. One way to prevent these situations is to regulate how smart devices are used in such restricted spaces. In this paper, we present an approach that robustly achieves this goal for ARM TrustZone-based personal devices. In our approach, restricted space hosts use remote memory operations to analyze and regulate guest devices within the restricted space. We show that the ARM TrustZone allows our approach to obtain strong security guarantees while only requiring a small trusted computing base to execute on guest devices.
Mobile app developers often wish to make their apps available on a wide variety of platforms, e.g., Android, iOS, and Windows devices. Each of these platforms uses a different programming environment, each with its own language and APIs for app development. Small app development teams lack the resources and the expertise to build and maintain separate code bases of the app customized for each platform. As a result, we are beginning to see a number of cross-platform mobile app development frameworks. These frameworks allow the app developers to specify the business logic of the app once, using the language and APIs of a home platform (e.g., Windows Phone), and automatically produce versions of the app for multiple target platforms (e.g., iOS and Android). In this paper, we focus on the problem of testing cross-platform app development frameworks. Such frameworks are challenging to develop because they must correctly translate the home platform API to the (possibly disparate) target platform API while providing the same behavior. We develop a differential testing methodology to identify inconsistencies in the way that these frameworks handle the APIs of the home and target platforms. We have built a prototype testing tool, called X-Checker, and have applied it to test Xamarin, a popular framework that allows Windows Phone apps to be cross-compiled into native Android (and iOS) apps. To date, X-Checker has found 47 bugs in Xamarin, corresponding to inconsistencies in the way that Xamarin translates between the semantics of the Windows Phone and the Android APIs. We have reported these bugs to the Xamarin developers, who have already committed patches for twelve of them.
Smart personal devices equipped with a wide range of sensors and peripherals can potentially be misused in various environments. They can be used to exfiltrate sensitive information from enterprises and federal offices or be used to smuggle unauthorized information into classrooms and examination halls. One way to prevent these situations is to regulate how smart devices are used in such restricted spaces. In this paper, we present an approach that robustly achieves this goal for ARM TrustZone-based personal devices. In our approach, restricted space hosts use remote memory operations to analyze and regulate guest devices within the restricted space. We show that the ARM TrustZone allows our approach to obtain strong security guarantees while only requiring a small trusted computing base to execute on guest devices.
In contrast to autonomous driving solutions purely based on artificial intelligence, this article discusses an alternative for autonomous cars, which involves remote over-the-network driving. The progress in ITS technology, especially in wireless networks and robotic control theory, allows envisioning tele-operated cars that are equally effective in navigating roads and highways to cars controlled by an on-board human driver. This article also examines the challenges that remote driving needs to overcome and possible solutions before turning this technology into reality. Remote Driving: A Ready-to-go Approach to Autonomous Car? Opportunities and Challenges Ruilin Liu † , Kostas Bekris † , Ahmed Elgammal † , Vinod Ganapathy † , Mario Gerla ‡ , Liviu Iftode † , Melchi Michel † , and Jingang Yi † † Rutgers, The State University of New Jersey, ‡ University of California, Los Angeles
Traditionally, pollution measurements are performed using expensive equipment at fixed locations or dedicated mobile equipment laboratories. This is a coarse-grained and expensive approach where the pollution measurements are few and far in-between. In this paper, we present a vehicular-based mobile approach for measuring fine-grained air quality in real-time. We propose two cost effective data farming models -- one that can be deployed on public transportation and the second a personal sensing device. We present preliminary prototypes and discuss implementation challenges and early experiments.
The proliferation of sharing on social networks, such as Facebook, Pinterest, Linkedin, and Foursquare, has closely connected people more than ever before. Our hypothesis is that, modulo privacy concerns, people are willing to share a lot more useful information than they are currently doing, but do not have the time and energy to do so. For instance, (1) people would like to share their current availability to receive a call with their most frequent phone contacts, (2) drivers would like to share road conditions with other drivers in the vicinity. By automating the sharing process, we posit that a whole new array of applications become possible. Smart mobile devices possess rich sensors, continuous connectivity and push notifications, which enable them to continuously share information with other devices, in real time. In this paper, we explore the opportunity for automatic sharing, and the challenges it introduces. We introduce a novel architecture called SBone which enables devices to automatically share useful information with each other, and present two applications that enable the above two scenarios by utilizing SBone.
We introduce a novel abstraction, the target container (TC), which serves as a parallel programming model and execution framework for developing complex applications for tracking multiple targets in a large-scale camera network. The key insight is to allow the domain expert (e.g., a vision researcher) to focus on the algorithmic details of target tracking and let the system deal with providing the computational resources (cameras, networking, and processing) to enable target tracking. Each TC has a one-to-one correspondence with a target, possibly tracked from multiple cameras. The domain expert provides the code modules for target tracking (such as detectors and trackers) as handlers to the TC system. The handlers are invoked dynamically by the TC system to discover new targets (detector) and to follow existing targets (tracker). The TC system also provides an interface for merging TCs whenever they are determined to be corresponding to the same target. This paper presents the design of the TC system, details of an experimental prototype, and an example application to demonstrate the simplicity of using the TC programming model.
An opportunistic model of mobile computing is presently emerging in which users can fully benefit from their personal computing environment wherever they are without having to carry "heavy-weight" mobile systems with them. The transition to this model can be seen as part of the pervasive computing vision, being catalyzed by the near ubiquity of powerful smart phones, the increasing availability of local PC hardware, and recent trends in virtualization and cloud computing. The fate of the opportunistic mobile computing model will be essentially decided by the performance, availability, and security of data access relative to alternative solutions. Mobile users require safe and efficient access to their data from whatever PC or device they are currently using, wherever they may be. These requirements expose several new challenges to the performance, availability, and security of user data access under opportunistic mobile computing conditions.In this dissertation, we identify challenges to user data access within the opportunistic mobile computing model, present novel approaches to address them, and demonstrate the effectiveness of these approaches through extensive experimentation. To improve the performance of data access for opportunistic mobile computing, we introduce the concept of safe borrowing of local storage, which we prototyped as the TransPart system. To improve the availability of data access for opportunistic mobile computing, we introduce the concept of a self-cleaning portable cache, which we prototyped as the Horatio system. To improve the security of remote data access for opportunistic mobile computing, we introduce the Working Set-Based Access Control (WSBAC) scheme, which applies the concept of the working set to distributed file system access control.The main conclusion of our research is that opportunistic mobile computing can be realized in a safe and efficient manner for mobile users. Given the ad-hoc nature of opportunistic mobile computing, it is likely that the challenges identified in this dissertation will continue to exist into the foreseeable future. Fortunately, as our research shows, they can be addressed using nascent technologies and applying our concepts without violating the basic tenet of opportunistic mobile computing, namely to minimize the burden of what hardware users must carry.
Rootkits affect system security by modifying kernel data structures to achieve a variety of malicious goals. While early rootkits modified control data structures, such as the system call table and values of function pointers, recent work has demonstrated rootkits that maliciously modify noncontrol data. Most prior techniques for rootkit detection have focused solely on detecting control data modifications and, therefore, fail to detect such rootkits. This paper presents a novel technique to detect rootkits that modify both control and noncontrol data. The main idea is to externally observe the execution of the kernel during an inference phase and hypothesize invariants on kernel data structures. A rootkit detection phase uses these invariants as specifications of data structure integrity. During this phase, violation of invariants indicates an infection. We have implemented Gibraltar, a prototype tool that infers kernel data structure invariants and uses them to detect rootkits. Experiments show that Gibraltar can effectively detect previously known rootkits, including those that modify noncontrol data structures.
We present the Social Farm architecture for encouraging user contribution through the profit motive. Our solution leverages the connectivity and trust relationships available in online social networks to create and operate businesses using the programming interface provided by existing online social networks. Social Farm automates the tasks of finding partners, implementing the business workflow, managing profits and reputation, and managing the day-to-day operations of the business. It encourages contribution and engagement by providing an automatic mechanism for transparent and fair distribution of profits to contributors.