You are on page 1of 7

Evaluating performance of Android platform using native C for embedded system

The Android platform used for mobile devices can be applied to embedded systems, such as robot control systems. Developers should create applications by using Java language provided by Android SDK for embedded systems operated via Android platforms. However, in many existing embedded systems, developers have written applications for controlling the system by using C language. Android NDK makes it possible for developers to easily reuse such legacy code written in C/C++ languages. In this paper, we show the difference in terms of performance between an Android application using native code library from C source and an Android application using the same algorithm written in Java language only. We conducted an experiment on five parts: JNI communication delay, integer calculation, floating-point calculation, memory access algorithm, and heap memory allocation algorithm. This paper presents a guideline for an effective way to use native code libraries in Android applications.

*An Android Application Sandbox system for suspicious software detection


Smartphones are steadily gaining popularity, creating new application areas as their capabilities increase in terms of computational power, sensors and communication. Emerging new features of mobile devices give opportunity to new threats. Android is one of the newer operating systems targeting smartphones. While being based on a Linux kernel, Android has unique properties and specific limitations due to its mobile nature. This makes it harder to detect and react upon malware attacks if using conventional techniques. In this paper, we propose an Android Application Sandbox (AASandbox) which is able to perform both static and dynamic analysis on Android programs to automatically detect suspicious applications. Static analysis scans the software for malicious patterns without installing it. Dynamic analysis executes the application in a fully isolated environment, i.e. sandbox, which intervenes and logs lowlevel interactions with the system for further analysis. Both the sandbox and the detection algorithms can be deployed in the cloud, providing a fast and distributed detection of suspicious software in a mobile software store akin to Google's Android Market. Additionally, AASandbox might be used to improve the efficiency of classical anti-virus applications available for the Android operating system.

Characterizing Failures in Mobile OSes: A Case Study with Android and Symbian
As smart phones grow in popularity, manufacturers are in a race to pack an increasingly rich set of features into these tiny devices. This brings additional complexity in the system software that has to fit within the constraints of the devices (chiefly memory, stable storage, and power consumption) and hence, new bugs are revealed. How this

evolution of smartphones impacts their reliability is a question that has been largely unexplored till now. With the release of open source OSes for hand-held devices, such as, Android (open sourced in October 2008) and Symbian (open sourced in February 2010), we are now in a position to explore the above question. In this paper, we analyze the reported cases of failures of Android and Symbian based on bug reports posted by third-party developers and end users and documentation of bug fixes from Android developers. First, based on 628 developer reports, our study looks into the manifestation of failures in different modules of Android and their characteristics, such as, their persistence and dependence on environment. Next, we analyze similar properties of Symbian bugs based on 153 failure reports. Our study indicates that Development Tools, Web Browsers, and Multimedia applications are most error-prone in both these systems. We further analyze 233 bug fixes for Android and categorized the different types of code modifications required for the fixes. The analysis shows that 77% of errors required minor code changes, with the largest share of these coming from modifications to attribute values and conditions. Our final analysis focuses on the relation between customizability, code complexity, and reliability in Android and Symbian. We find that despite high cyclomatic complexity, the bug densities in Android and Symbian are surprisingly low. However, the support for customizability does impact the reliability of mobile OSes and there are cautionary tales for their further development.

*A solution for application transplantation from J2ME to Android


Google's open-source Android mobile platform has been a powerful competitor of mobile operating system and drawn the attention of the leading manufacturers of the industry and became a hot spot of research. As it adopts the virtual machine Dalvik which is different from SUN Java and its Java application developing framework and API are absolutely different from J2EE, a number of mature J2ME applications cannot be applied on Android platform. Thus the general resolution of transplanting J2ME applications onto Android platform not only protects the existing investment but also enriches the applications on Android platform. After analyzing the similarities and differences between Android and J2ME in aspects of virtual machine and UI, this paper discussed the basic approach of transplanting J2ME applications onto Android platform. Due to words limitation, the paper on takes the transplant of J2ME UI child system as example to illustrate an efficient resolution of transplanting J2ME applications.

*Android as a server platform


The number of smartphone users and mobile applications are growing rapidly. Though smartphones are expected to have PC-like functionality, hardware resources such as CPUs, memory and batteries are still limited. To solve this resource problem, many researches have proposed architectures to use server resources in the cloud for mobile devices. We propose a conceptual architecture of Android as a Server Platform, which

enables multiple user Android applications on cloud server via network. Though Android is mainly designed for physical smartphone, Android's two other features are useful to construct a server platform. Android is open-source product and runs on an 86 CPU. We show three types of multi-tenant architecture for an Android server platform and discuss the direction to take to it reality.

The design and the development of the PKM based on the Android platform
The article first makes an intenstive research to the next-generation mobile application platform which is Android to determine the feasbi-asbitilty that the PKM technology can be developed in the platform of Android. Then it introduces the building process, the development process and the development tools of the Android platform, which includes JAVA and the database. After that it proposes the model of the PKM which is based on the Android platform and published with the Andriod development packages and JAVA techno-ology finally. In addition, the availability of the PKM based on the Android platform is demonstrated in a simulated environment.

Implementation of an Android Phone Based Video Streamer


This paper presents the methodologies used to integrate the open-source LIVE555 media server with an MPEG4 based video recorder software module running on an Android based mobile phone. The system implemented makes use of the camera on the mobile phone to capture real time video image which is then streamed over the WiFi network such that the video can be viewed on remote stations using the standard VLC media player. The paper also describes the development process and platform needed to develop applications for Android based embedded platform.

*Integration of SIP protocol in Android Media Framework


The transmission of multimedia content between mobile devices is increasingly an area of exploration. The evolution of mobile devices and networks that support them, provide potential to create more sophisticated and innovating services. The fact that the Android platform does not provide the SIP protocol in its architecture, is a limiting factor for the development of new streaming applications. Throughout this paper the Android platform is presented, and more specifically the streaming protocols supported by the current streaming Media Framework. Based on the current Android Media Framework, this paper presents a possible architecture for the integration of the SIP protocol. The integration of this architecture is to surpass the limitations of the current Android platform and promote an improved performance in the current SIP applications, which is reflected in a lower power consumption of the device.

A Heuristic Buffer Management Scheme on Android to Enhance Video Quality on Digital Handheld Devices

Most research efforts have concentrated on advancement in video compression techniques resulting in DivX/Xvid codecs for better performance on handheld devices. Initial investigations reveal that these techniques are actually taking less time compared to entire execution time in a typical media playback system. However, it enlists that the buffer management methods employed in multimedia framework can significantly impact the overall end-to-end performance on these resource constrained devices. Motivated by these observations, we present a heuristic buffer management scheme to improve end-to-end performance for Android based devices. The outline of the paper is as follows: Firstly, we discuss few related works to investigate existing buffer management methods used within Packet Video Multimedia framework (PVMF) of Android. Secondly, we describe how buffering schemes used between processors in hardware platform can further contribute to the performance bottleneck. Consequently, a heuristic buffer management scheme is proposed to ensure uniform buffer allocation among PVMF components and between processor-coprocessor of the hardware platform. We point out the need for such a mechanism to synchronize media processing and media controlling elements to alleviate video quality in a constant time factor. To validate our approach, an experiment was performed using the said buffer management technique to playback Xvid content on Zoom2 hardware platform based on Android. We summarize the performance characteristics for the trial experiments conducted. Experimental results lead us to conclude the technique is effective at improving overall system performance significantly. We extend to benchmark the performance achieved to further characterize this method. Finally, we also evaluate the tradeoff between memory and performance using our method with combinations of measurements using our experimental setup.

*A Self-Configurable New Generation Children Tracking System Based on Mobile Ad Hoc Networks Consisting of Android Mobile Terminals
Hiroshima City Children Tracking System is a safety support system for children based on ad hoc network technologies. Field experiments have been conducted in cooperation with an elementary school in Hiroshima. In this paper, we propose a new generation children tracking system which is based on experiences and findings of the field experiments for Hiroshima City Children Tracking System. Our proposed system consists of Android terminals which has Wireless LAN device and Bluetooth device with the ad hoc communication function. Our system manages groups of Android terminals using Autonomous Clustering technique. In this paper, we show the system requirements for our children tracking system and describe the implementation features to satisfy the system requirements. Finally, we provide some preliminary implemented results for our proposed system.

Mobile healthcare information management utilizing Cloud Computing and Android OS

Cloud Computing provides functionality for managing information data in a distributed, ubiquitous and pervasive manner supporting several platforms, systems and applications. This work presents the implementation of a mobile system that enables electronic healthcare data storage, update and retrieval using Cloud Computing. The mobile application is developed using Google's Android operating system and provides management of patient health records and medical images (supporting DICOM format and JPEG2000 coding). The developed system has been evaluated using the Amazon's S3 cloud service. This article summarizes the implementation details and presents initial results of the system in practice.

*Android phone as wireless USB storage device through USB/IP connection


This paper addresses an Android phone as a wireless USB storage device through USB/IP connection. For this expanded function, we need to make backing storage with phone storage such as SD card and translate USB file system by using file-backed storage gadget. To connect wirelessly with a host computer, USB/IP gadget transmits data through IP layer. The goal of this paper is to define an additional function of a smart phone operated as a wireless USB storage device and suggests the usage scenario in virtual computing environment estimated as future home computing infrastructure based on virtualization technology.

A new ubiquitous information agent system for cloud computing - Example on GPS and Bluetooth techniques in Google Android platform
This paper preliminarily proposed a new ubiquitous information agent system with the GPS and Bluetooth techniques in the Google Android platform and related interaction diagrams with OntoIAS in cloud computing environments. The system prototype can also reveal the feasibility of the system architecture proposed in this paper.

*FTP4Android: A local/remote file manager for Google Android platform


Nowadays it is common practice to handle any type of file with the personal computer. The introduction of mobile devices in modern life opened the doors to the possibility to do that ubiquitously, fostering a vast plethora of new entertainment applications. Unfortunately, the storage capacity of these devices is limited; it may hence be useful to have the possibility to store the files on the web and retrieve them at any time and anywhere. To satisfy this need, we have created FTP4Android. Our solution provides smartphone users with the illusion of having an infinite memory on their devices by storing their files on remote servers. To speed up the transfer process both in upload and download, parallel transmissions to/from different servers are performed. To

demonstrate how this technology could be used for entertainment purposes, we have devised a treasure hunt application for mobile users based on our FTP4Android.

*Implementation of JVM tool interface on Dalvik virtual machine


Mobile devices such as cell phones, GPS guiding systems, and mp3 players, now become one of the most important consumer electronic products. Being an embedded system, mobile devices are highly integrated in software and hardware for robustness, high performance, and low cost. The problem is that this also makes it very difficult to understand the internal interactions of hardware as well as software modules in such devices and to identify performance bottlenecks and design faults. Profiling helps developers to understand the behaviors of a system, especially during the development of new platforms. Android is a new software platform intended for mobile devices. It is composed of Linux and a Java virtual machine called Dalvik. The ability to profile Android helps developers to familiarize with Android's features and optimize their applications. In this paper, we discuss the development of a profiling tool interface, JVM TI, on Android. With this tool interface, developers can profile their Java code running on Dalvik using JVM TI.

*File-based sharing for dynamically compiled code on Dalvik virtual machine


Memory footprint is considered as an important design issue for embedded systems. Sharing dynamically compiled code among virtual machines can reduce memory footprint and recompilation overhead. On the other hand, sharing writable native code may cause security problems, due to support of native function call such as Java Native Interface (JNI). We propose a native-code sharing mechanism that ensures the security for Dalvik virtual machine (VM) on the Android platform. Dynamically generated code is saved in a file and is shared with memory mapping when other VMs need the same code. Protection is granted by controlling of file writing permissions. To improve the security, we implement a daemon process, named Query Agent, to control all accesses to the native code and maintain all the information of traces, which are the units of the compilation in the Dalvik VM. We implement our code sharing mechanism on Android version 2.1 system, and experiment on an arm-based system. We get 45% code-cache size reduction and 9% performance improvement from eliminating recompilation overhead.

Mobile phone based drunk driving detection


Drunk driving, or officially Driving Under the Influence (DUI) of alcohol, is a major cause of traffic accidents throughout the world. In this paper, we propose a highly efficient system aimed at early detection and alert of dangerous vehicle maneuvers typically related to drunk driving. The entire solution requires only a mobile phone

placed in vehicle and with accelerometer and orientation sensor. A program installed on the mobile phone computes accelerations based on sensor readings, and compares them with typical drunk driving patterns extracted from real driving tests. Once any evidence of drunk driving is present, the mobile phone will automatically alert the driver or call the police for help well before accident actually happens. We implement the detection system on Android G1 phone and have it tested with different kinds of driving behaviors. The results show that the system achieves high accuracy and energy efficiency.

*Design and implementation of SIP-based mobile VoIP application for multiple smartphone OS
As SIP (Session Initiation Protocol) has been adapted as a main session control protocols for major SDOs, the volume of Internet telephony has been increased remarkably. Furthermore, the need of VoIP has been extended to the mobile Internet. There are three major smartphone OS; iOS, Android, Windows Mobile. Hence, it is required to implement SIP-based Internet telephony applications to each smartphone OS. This paper presents an experiences on implementing SIP-based mVoIP applications for multiple smartphone OS such as iOS, Android, Windows Mobile.

You might also like