Network programmability will be required to handle future increased network traffic and constantly changing application needs. However, there is currently no way of using a high-level, easy to use programming language to program Wi-Fi firmware. This impedes rapid prototyping and deployment of novel network services/applications and hinders continuous performance optimization in Wi-Fi networks, since expert knowledge is required for both the used hardware platforms and the Wi-Fi domain. In this paper, we present ReactiFi, a high-level reactive programming language to program Wi-Fi chips on mobile consumer devices. ReactiFi enables programmers to implement extensions of PHY, MAC, and IP layer mechanisms without requiring expert knowledge of Wi-Fi chips, allowing for novel applications and network protocols. ReactiFi programs are executed directly on the Wi-Fi chip, improving performance and power consumption compared to execution on the main CPU. ReactiFi is conceptually similar to functional reactive languages, but is dedicated to the domain-specific needs of Wi-Fi firmware. First, it handles low-level platform-specific details without interfering with the core functionality of Wi-Fi chips. Second, it supports static reasoning about memory usage of applications, which is important for typically memory-constrained Wi-Fi chips. Third, it limits dynamic changes of dependencies between computations to dynamic branching, in order to enable static reasoning about the order of computations. We evaluate ReactiFi empirically in two real-world case studies. Our results show that throughput, latency, and power consumption are significantly improved when executing applications on the Wi-Fi chip rather than in the operating system kernel or in user space. Moreover, we show that the high-level programming abstractions of ReactiFi have no performance overhead compared to manually written C code.
Information-centric disruption-tolerant networks (ICN-DTNs) are useful to re-establish mobile communication in disaster scenarios when telecommunication infrastructures are partially or completely unavailable. In this paper, we present opportunistic named functions, a novel approach to operate ICN-DTNs during emergencies. Affected people and first responders use their mobile devices to specify their interests in particular content and/or application specific functions that are then executed in the network on the fly, either partially or totally, in an opportunistic manner. Opportunistic named functions rely on user-defined interests and on locally optimal decisions based on battery lifetimes and device capabilities. In the presented emergency scenario, they are used to preprocess, analyze, integrate and transfer information extracted from images produced by smartphone cameras, with the aim of supporting the search for missing persons and the assessment of critical conditions in a disaster area. Experimental results show that opportunistic named functions reduce network congestion and improve battery lifetime in a network of battery-powered sensors, mobile devices, and mobile routers, while delivering crucial information to carry out situation analysis in disasters.
Mobile devices are increasingly being used in edge and fog computing environments to process contextual data collected by sensors. Although complex event processing (CEP) is a suitable approach for realizing context-aware services on mobile devices in these environments, existing mobile CEP engines do not leverage the full potential of modern mobile hardware/software architectures. In this paper, we present multimodal CEP, a novel approach to process streams of events on-device in user space (user mode), in the operating system (kernel mode), on the Wi-Fi chip (Wi-Fi mode), and/or on a sensor hub (hub mode), providing significant improvements in terms of power consumption and throughput. Multimodal CEP automatically breaks up CEP queries and selects the most adequate execution mode for the involved CEP operators. Filter, aggregation, and correlation operators can be expressed in a high-level language without requiring system-level domain-specific knowledge. Multimodal CEP enables developers to efficiently detect user activities, collect environmental conditions, or interpret operating system and network events. Furthermore, it facilitates novel context-aware services, demonstrated by a use case for gathering and analyzing mobility data by Wi-Fi probe request tracking.
Several protocols used in wireless networks rely on nodes announcing information to other nodes. This can be illustrated by service announcements sent in ZeroConf, routing announcements used in OLSR, and peer announcements in wireless peer-to-peer or delay-tolerant networking systems such as Forban and Serval. The main problem is that these protocols use fixed time intervals between subsequent broadcast announcements. Fixed intervals can either lead to high network load (if the announcement interval is too short) or delay the distribution of information between peers (if the announcement interval is too long). Repeatedly broadcasting announcements after fixed intervals also has an impact on the energy consumption of mobile devices operating in wireless networks. In this paper, we present several approaches to realize dynamic announcement intervals that facilitate fast reception from at least one other node while trying to keep the overall communication overhead as low as possible. Experimental results in terms of performance properties and energy consumption are presented to illustrate the benefits of dynamic announcement intervals in wireless on-demand networks.
Software-defined networking paradigms have found their way into wireless edge networks, allowing network slicing, mobility management, and resource allocation. This paper presents dynamic role assignment as a novel approach to software-defined network topology management for wireless edge devices, such as laptops, tablets and smartphones. It combines the centralized control of wireless Network Interface Controller (NIC) modes with Network Function Virtualization (NFV) to integrate network topology transitions as well as network service and application service placement within a single mechanism. Our proposal is evaluated with respect to latency, bandwidth, and power consumption of the edge nodes. The experimental results show significant differences in both bandwidth (up to 18%) and power consumption (up to 15%) for playing different roles, and when using (a) a web proxy and (b) an intrusion prevention system as examples of application services.
Serval is an open-source, delay-tolerant wireless ad-hoc networking system designed to allow communications anywhere and anytime, despite the total loss of supporting telecommunications infrastructures provided by mobile phone operators. In emergency situations, Serval can be used to establish a disaster-response communications network spontaneously formed by mobile phones and/or battery powered wireless routers. In this paper, we present an in-depth experimental evaluation of Serval for various network setups and usage patterns, including simulated long term use. The focus of our evaluation is on the delay-tolerant aspects of Serval, providing insights into the scenarios where Serval can be deployed with satisfactory quality and performance characteristics. Furthermore, since mobile phones have a limited battery capacity, we take a closer look at the battery drain resulting from using Serval over different communication links, such as WiFi and Bluetooth. Our purpose in providing these analyses is to understand the current capability of Serval and identify any areas where further improvement is required, and to provide a summary of current readiness of Serval in advance of planned pilots in the Pacific region.
In recent years, the number of mobile applications has grown significantly. Not surprisingly, various security and privacy concerns associated with mobile applications have emerged. Several researchers are addressing these problems by analyzing the security properties of mobile application code. Most of the security checks rely on custom scripts and are quite heterogeneous with respect to dependencies, deployment and reporting. In this paper, we present AndroLyze, a distributed framework with unified logging and reporting functionality to perform security checks on large numbers of applications in an efficient manner. AndroLyze provides optimized scheduling algorithms for distributing static code analysis tasks across several machines. Moreover, AndroLyze can handle several versions of a single mobile application to generate a security track record over many versions. To demonstrate the benefits of AndroLyze, we have analyzed the Top Free 500 Android applications of all categories in Google Play collected over three years. The resulting data set consists of almost 40,000 mobile applications and requires about 227 GB of storage space.
Improving the energy efficiency of software running in a data center is a challenging task. Several application-specific techniques, such as energy-aware heuristics, controlled approximation and energy-conserving I/O, have been proposed to tackle this problem. In this paper, we introduce data sparsing with artifacts, a novel approach to increase the energy efficiency of applications that are robust to input variations, such as speech and image processing. Data sparsing with artifacts is aimed at reducing the processing times and thus the energy efficiency of such applications while preserving the quality of the results by replacing a random subset of the original data with application-specific artifacts. In contrast to previous work, the proposed approach introduces artifacts at the data layer, without application layer modifications and with general purpose hardware. Data sparsing with artifacts has been integrated into a prototypical file system in userspace (FUSE) and the Hadoop Distributed File System (HDFS). Experiments with MapReduce-based face detection, face recognition and speech recognition algorithms show promising energy savings of up to 10 % with moderate accuracy losses for different data sparsing rates and artifacts.
Ensuring the software quality of mobile applications with respect to performance, robustness, energy consumption, security and privacy is an important problem for a growing researcher and developer community. In this paper, we present Dynalize, a Platform-as-a-Service cloud for the dynamic analysis of mobile applications. It allows researchers and developers to investigate mobile applications at runtime in a virtual device cloud and to publish the performed analyses as web services. In contrast to existing approaches, it makes use of container virtualization on top of Infrastructure-as-a-Service instances, enabling dynamic provisioning and fast deployment of dynamic analyses. A custom container layout and a novel storage solution on the virtual server layer ensures cost- and runtime-efficient large-scale analyses of thousands of apps. The applicability of Dynalize is demonstrated by a security analysis of about 6,000 Android applications. Experiments on container startup, virtual device to container throughput and different storage back ends show the feasibility of the proposed approach.
A novel approach to virtual machine (VM) consolidation, based on energy-efficient storage migration and live VM migration, is implemented using Eucalyptus, an open source clone of the Amazon Elastic Compute Cloud. Several experiments demonstrate the potential energy savings.
—To protect computer systems and their users against security attacks, all potential security related incidents should be detected by monitoring system behavior. In this paper, a novel approach to detect, analyze and handle security anomalies in virtualized computing systems is presented. Adequate sensors on different virtualization layers monitor relevant events, a Complex Event Processing engine is used to aggregate and correlate events on the same or different layers to find genuine attacks and eliminate false positives, and corresponding actions are performed if a security anomaly is detected. To enhance the quality of the results, machine learning techniques are used to analyze a historical database of recorded events offline to generate new or modify existing queries on the monitored event stream automatically. Furthermore, sensors can be activated and deactivated during runtime to gather interesting events, reduce the false alarm rate and ensure the system’s responsiveness when a sudden increase of monitored event data occurs. In this way, a flexible, minimally-invasive approach for detecting, analyzing and reacting to a broad variety of security anomalies in a virtualized environment is provided.
The commercial success of Cloud Computing and recent developments in Grid Computing have brought platform virtualization technology into the field of high performance computing. Virtualization offers both more flexibility and security through custom user images and user isolation. In this paper, we present an approach for combined malware detection and kernel root kit prevention in virtualized Cloud Computing environments. All running binaries in a virtual instance are intercepted and submitted to one or more analysis engines. Besides a complete check against a signature database, live introspection of all system calls is performed to detect yet unknown exploits or malware. Furthermore, to prevent that an intruder retains persistent control over a running instance after a successful compromise, an in-kernel root kit prevention approach is proposed. Only authorized and thus trusted kernel modules are allowed to be loaded during runtime, loading of unauthorized modules is no longer possible. Finally, the performance of the presented solutions is evaluated.
In this paper, an approach for improving the energy efficiency of infrastructure-as-a-service clouds is presented. The approach is based on performing live migrations of virtual machines to save energy. In contrast to related work, the energy costs of live migrations including their pre- and post-processing phases are taken into account, and the approach has been implemented in the Eucalyptus open-source cloud computing system by efficiently combining a multi-layered file system and distributed replication block devices. To evaluate the proposed approach, several short- and long-term tests based on virtual machine workloads produced with common operating system benchmarks, web-server emulations as well as different MapReduce applications have been conducted. The results indicate that energy savings of up to 16 percent can be achieved in a productive Eucalyptus environment.