14 research outputs found

    An Android-Based Mechanism for Energy Efficient Localization Depending on Indoor/Outdoor Context

    Get PDF
    Today, there is widespread use of mobile applications that take advantage of a user\u27s location. Popular usages of location information include geotagging on social media websites, driver assistance and navigation, and querying nearby locations of interest. However, the average user may not realize the high energy costs of using location services (namely the GPS) or may not make smart decisions regarding when to enable or disable location services-for example, when indoors. As a result, a mechanism that can make these decisions on the user\u27s behalf can significantly improve a smartphone\u27s battery life. In this paper, we present an energy consumption analysis of the localization methods available on modern Android smartphones and propose the addition of an indoor localization mechanism that can be triggered depending on whether a user is detected to be indoors or outdoors. Based on our energy analysis and implementation of our proposed system, we provide experimental results-monitoring battery life over time-and show that an indoor localization method triggered by indoor or outdoor context can improve smartphone battery life and, potentially, location accuracy

    Servicios de tiempo real en el sistema operativo Android

    Get PDF
    Debido a la gran expansión y crecimiento de Android el interés por utilizar este sistema operativo en entornos de tiempo real es cada vez mayor. En este trabajo se describen una serie de mecanismos proporcionados por el siste-ma operativo Android/Linux mediante los cuales es posible aislar uno o más núcleos de un multiprocesador simétrico para ser utilizados exclusivamente por tareas con requisitos temporales. Gracias a los mecanismos de aislamiento, la tasa de interferencias sufridas por las tareas con requisitos temporales respecto a otras tareas o aplicaciones que se ejecutan en el sistema operativo es muy baja. Un segundo aspecto en el que se mejora el comportamiento de tiempo real del sistema operativo Android está relacionado con las limitaciones para tiempo real de la librería bionic (modificación de glibc para Android). Para solventar estas limitaciones se ha utilizado la librería glibc incluida en la distribución es-tándar de Linux. Se han realizado una serie de tests que demuestran que la libre-ría tradicional funciona correctamente en Android. Asimismo se ha llevado a cabo la caracterización temporal de Android/glibc para las funciones más rele-vantes de POSIX para tiempo real observándose que la respuesta temporal del sistema es apropiada para aplicaciones de tiempo real laxo.Este trabajo ha sido financiado parcialmente por el Gobierno de España con referencia TIN2014-56158-C4-2-P (M2C2) y por el programa de becas predoctorales de la Universidad de Cantabria

    Out-of-band transfer with Android to configure pre-shared secrets into sensor nodes

    Get PDF
    Applications based on Wireless Sensor Networks are making their way into all kinds of industries. Today, they can do anything from off-loading hospitals by monitoring patients in their homes to regulating production lines in factories. More often than not, they perform some kind of surveillance and tracking. Thus, in most cases the information they carry is sensitive, rendering good encryption schemes suited for performance-constrained sensor nodes a valuable commodity. As traditional encryption is not well suited for performance constrained environments, there are many new "lightweight" encryption schemes emerging. However, many of the popular up and coming schemes make the assumption of already having a pre-shared secret available in the sensor node beforehand which can act as the base for their encryption key. The procedure of configuring this pre-shared secret into the sensor node is crucial and has the potential of breaking any scheme based on that assumption. Therefore, we have looked at different procedures of configuring this pre-shared secret into a sensor node securely, using nothing more than a smartphone to configure the sensor node. This would eventually eliminate the assumption of how the pre-shared secret got into the sensor node in the first place. We used an Arduino Uno R3 running an Atmega328p MCU as a simulation of a potential sensor node. Moreover, using a smartphone as the configuration device, we chose to base the communication on two types of OOB based side-channels; Namely, a visual-based using the flashlight and screen as well as audio-based, using the loudspeaker. We concluded that using a smartphone as configuration device has its difficulties, although, in this specific environment it is still a viable choice. The solution can decrease the previous knowledge required by the user performing the configuration while simultaneously upholding a high security level. The findings of this thesis highlight the fact that: technology has evolved to a point where the smartphones of today can outperform the specialized devices of yesterday. In other words, solutions previously requiring specialized hardware can today be achieved with much less "specialized" equipment. This is desirable because with less specialized equipment, it becomes easier to further develop and improve a system like this, increasing its viability.Have you ever wondered what would happen if somebody could access your refrigerator? Might seem silly, but how about your front door's lock? With the ever increasing connected society, you might have to think about these questions sooner rather than later. The establishment of our connected society is heavily dependent on sensor nodes. There is currently no rigid way of loading the necessary cryptographic keys into these sensor nodes. Now, to enable these sensor nodes to communicate securely, we have studied alternative ways of using your smartphone to transmit these keys to the sensor nodes. In this thesis, we have shown alternative ways of using a smartphone to transmit cryptographic keys into sensor nodes. These alternative ways were achieved by using components not otherwise thought to be used for communication. For instance, we built prototypes that used the flashlight; the screen and the loudspeaker to successfully transmit the keys. Doing this we were able to make the transmission easy to use while at the same time upholding a high level of security. Currently, the sensor nodes have many protocols available to use for secure communications. However, these protocols often lack information about how one should load the sensor nodes with the keys, to begin with. In essence, they provide you with the car but not the key to start it. This is a problem that needs a concrete solution. The result of this thesis can be used as a guideline for further development of this type of solution. Our prototypes indicate that this type of solution is not only viable but can be secure as well. Using nothing more than a smartphone and small additions to the sensor nodes hardware. Briefly, the prototypes are built using an Android-powered smartphone as "key-transmitting device" while the receiving "sensor node" is equipped with a microphone or a photo-transistor. The additions to the receiver enable detection of both light and sound waves sent from the smartphone. Then, using the smartphone, the user is able to transmit data by blinking with the flashlight or screen; or sending tones with the loudspeaker, which the receiver interprets

    Real-time Ada applications on Android

    Get PDF
    RESUMEN: Android es el sistema operativo más extendido en el ámbito de los dispositivos móviles. Su gran expansión y desarrollo ha provocado que exista un gran interés para utilizarlo en entornos con requisitos temporales. Este trabajo presenta un mecanismo para utilizar el lenguaje de programación Ada en el desarrollo de aplicaciones de tiempo real sobre Android. Ada es un lenguaje que ofrece soporte para aplicaciones con requerimientos temporales bajo la suposición de que la plataforma de ejecución proporciona las garantías necesarias en tiempos de respuesta. Para satisfacer estas garantías proponemos que las aplicaciones escritas en este lenguaje utilicen los mecanismos de aislamiento proporcionados por el sistema operativo Android/Linux, a través de los cuales es posible aislar uno o varios núcleos del procesador para ser usados exclusivamente por aplicaciones de tiempo real. Además, hemos estudiado los mecanismos que se encuentran disponibles en Android para compartir datos entre aplicaciones Ada con requisitos temporales y el resto de aplicaciones que se ejecutan en el mismo sistema.ABSTRACT:Android is the most extended operating system in the field of smartphones. Its wide diffusion has caused a great interest in using it in real time environments. This paper presents a mechanism to use the Ada programming language for real-time applications on Android. Ada is a language that offers support for environments with real-time requirements under the assumption that the execution platform provides the necessary guarantees on response time. To accomplish these guarantees, we propose that applications written in this language use the isolation mechanisms provided by the Android/Linux operating system through which it is possible to isolate one or several processor cores to use them exclusively with real-time Ada applications. In addition, we have studied the available mechanisms in Android to share data between these isolated real-time Ada applications with other applications executing in the same system.Este trabajo ha sido financiado en parte por el Gobierno de España en el proyecto TIN2014-56158-C4-2-P (M2C2)

    A Framework to Measure Reliance of Acoustic Latency on Smartphone Status

    Get PDF
    Audio latency, defined as the time duration when an audio signal travels from the microphone to an app or from an app to the speakers, significantly influences the performance of many mobile sensing applications including acoustic based localization and speech recognition. It is well known within the mobile app development community that audio latencies can be significant (up to hundreds of milliseconds) and vary from smartphone to smartphone and from time to time. Therefore, it is essential to study the causes and effects of the audio latency in smartphones. To the best of our knowledge, there exist mobile apps that can measure audio latency but not the corresponding status of smartphones such as available RAM, CPU loads, battery level, and number of files and folders. In this paper, we are the first to propose a framework that can simultaneously log both the audio latency and the status of smartphones. The proposed framework does not require time synchronization or firmware reprogramming and can run on a standalone device. Since the framework is designed to study the latency causality, the status of smartphones are deliberately and randomly varied as maximum as possible. To evaluate the framework, we present a case study with Android devices. We design and implement a latency app that simultaneously measures the latency and the status of smartphones. The preliminary results show that the latency values have large means (50 - 150 ms) and variances (4-40 ms). The effect of latency can be considerably reduced by just simply subtracting the offset. In order to achieve improved latency prediction that can cope with the variances an advanced regression model would be preferred

    Diseño y desarrollo de una aplicación en Android con requisitos de tiempo real flexible para la captura de datos inalámbrica de una Contera Inteligente

    Get PDF
    [ES]Se ha llevado a cabo el desarrollo de una aplicación para dispositivos Android cuya principal función es la adquisición con requisitos temporales enviados por una Contera Inteligente (CI). La conexión entre el dispositivo Android en el que se instale la aplicación y la CI se realiza mediante Bluetooth Low Energy. La CI está diseñada para ser colocada en la muleta empleada por personas con Esclerosis Múltiple (EM). Los datos adquiridos son indicativos del estado de marcha de la persona y su objetivo es proporcionar información sobre la persona usuaria de la CI. Este trabajo se engloba dentro del proyecto SMARTIP del grupo de investigación ViSens.[EU]Android-gailuetarako aplikazio bat garatu da. Aplikazio horren funtzio nagusia da datuak Contera Adimentsu batek bidalitako denbora-baldintzak betetzea. Aplikazioa instalatzen den Android-en gailuaren eta Contera Adimentsuaren arteko konexioa Bluetooth Low Energy bidez egiten da. Esklerosi anizkoitza duten pertsonek erabiltzen duten makuluan jartzeko diseinatuta dago Contera Adimentsua. Eskuratutako datuek pertsonaren egoera adierazten dute, eta haren helburua da Contera Adimentsua erabiltzen duen pertsonari buruzko informazioa ematea. ViSens ikerketa-taldearen SMARTIP proiektuaren barruan sartzen da lan hau.[EN]The development of an application for Android devices has been carried out whose main function is the acquisition of data with temporary requirements sent by a Smart Tip. The connection between the Android device on which the application is installed and the Smart Tip is made via Bluetooth Low Energy. The Smart Tip is designed to be placed on the crutch used by people with Multiple Sclerosis. The data acquired is indicative of the person's walking status and its objective is to provide information about the user of the Smart Tip. This work is included within the SMARTIP project of the ViSens research group

    Support for real-time applications on mobile devices

    Get PDF
    RESUMEN: Los dispositivos móviles como teléfonos o tabletas inteligentes han experimentado en los últimos años mejoras muy significativas tanto a nivel de hardware como de software. En la actualidad esta clase de dispositivos ofrecen potentes sistemas operativos enfocados principalmente a las necesidades del gran público. Entre los distintos sistemas operativos disponibles el más extendido es Android. Sin embargo, a diferencia de lo que ha ocurrido con los sistemas embebidos tradicionales, no se han llevado a cabo grandes desarrollos que permitan usar sistemas como Android en entornos donde las aplicaciones utilizadas necesiten cumplir requisitos temporales. Por este motivo, en esta tesis se ha propuesto una solución portable que se aprovecha de las arquitecturas multinúcleo de los dispositivos móviles actuales para aislar núcleos del procesador, y así ejecutar en dichos núcleos aplicaciones de tiempo real con pocas interferencias que puedan afectar a su respuesta temporal. Además, en la solución presentada las aplicaciones de tiempo real pueden coexistir y compartir datos con otras aplicaciones del sistema sin requisitos temporales gracias a los protocolos de sincronización no bloqueantes desarrollados en esta tesis.ABSTRACT: In recent years, mobile devices such as smartphones or tablets have experienced very significant improvements, both in terms of hardware and software. Nowadays, this class of devices offers powerful operating systems mainly focused on the needs of the general public. Among the different operating systems available, Android is the most widespread. However, unlike what has happened with traditional embedded systems, no major developments have been made to allow the use of systems such as Android in environments where applications normally need to meet a series of timing requirements. For this reason, in this thesis a novel solution has been proposed that takes advantage of the multicore architectures of current mobile devices to isolate processor cores. By applying this solution, it is possible to run real-time applications on the isolated cores with little interference on their response times. Furthermore, in the solution presented, real-time applications can coexist and share data with other system applications without timing requirements thanks to the non-blocking synchronization protocols developed in this thesis

    SOSerbia: Android-Based Software Platform for Sending Emergency Messages

    Get PDF
    This paper presents Android-based SOS platform named SOSerbia for sending emergency messages by citizens in Serbia. The heart of the platform is SOS client Android application which is an easy and simple solution for sending SOS messages with unique combination of volume buttons. The proposed platform solves a lot of safety, security, and emergency problems for people who can be in dangerous situations. After a person presses a correct combination of buttons, a message with his or her location is sent to the operating center of the Serbian Police. The platform merges several appropriately combined advanced Android technologies into one complete solution. The proposed solution also uses the Google location API for getting user's location and Media Player broadcast receiver for reading pressed buttons for volume. This logic can be also customized for any other mobile operating system. In other words, the proposed architecture can be also implemented in iOS or Windows OS. It should be noted that the proposed architecture is optimized for different mobile devices. It is also implemented with simple widget and background process based on location. The proposed platform is experimentally demonstrated as a part of emergency response center at the Ministry of Interior of the Republic of Serbia. This platform overcomes real-life problems that other state-of-the-art solutions introduce and can be applied and integrated easily in any national police and e-government systems

    Improving Responsiveness of Time-Sensitive Applications by Exploiting Dynamic Task Dependencies

    Get PDF
    In this paper, a mechanism is presented for reducing priority inversion in multi-programmed computing systems. Contrarily to well-known approaches from the literature, this paper tackles cases where the dependency relationships among tasks cannot be known in advance to the operating system (OS). The presented mechanism allows tasks to explicitly declare said relationships, enabling the OS scheduler to take advantage of such information and trigger priority inheritance, resulting in reduced priority inversion. We present the prototype implementation of the concept within the Linux kernel, in the form of modifications to the standard POSIX condition variables code, along with an extensive evaluation including a quantitative assessment of the benefits for applications making use of the technique, as well as comprehensive overhead measurements. Also, we present an associated technique for theoretical schedulability analysis of a system using the new mechanism, which is useful to determine whether all tasks can meet their deadlines or not, in the specific scenario of tasks interacting only through remote procedure calls, and under partitioned scheduling

    Development of an Android OS Based Controller of a Double Motor Propulsion System for Connected Electric Vehicles and Communication Delays Analysis

    Get PDF
    Developments of technologies that facilitate vehicle connectivity represent a market demand. In particular, mobile device (MD) technology provides advanced user interface, customization, and upgradability characteristics that can facilitate connectivity and possibly aid in the goal of autonomous driving. This work explores the use of a MD in the control system of a conceptual electric vehicle (EV). While the use of MD for real-time control and monitoring has been reported, proper consideration has not been given to delays in data flow and their effects on system performance. The motor of a novel propulsion system for an EV was conditioned to be controlled in a wireless local area network by an ecosystem that includes a MD and an electronic board. An intended accelerator signal is predefined and sent to the motor and rotational speed values produced in the motor are sent back to the MD. Sample periods in which the communication really occurs are registered. Delays in the sample periods and produced errors in the accelerator and rotational speed signals are presented and analyzed. Maximum delays found in communications were of 0.2 s, while the maximum error produced in the accelerator signal was of 3.54%. Delays are also simulated, with a response that is similar to the behavior observed in the experiments
    corecore