Advanced

Mobile Devices In the Distributed IoT Platform Calvin

Najafi Nassab, Alexander LU (2017) EITM01 20171
Department of Electrical and Information Technology
Abstract
Development towards a connected world where anything can talk to anything is ongoing. Calvin is a research project at Ericsson that simplifies the development of peer-to-peer applications for the Internet of Things. Calvin is created in order to let the developer of an application for the Internet of Things focus on the implementation instead of having to worry about underlying protocols, hardware access, security, application deployment, and application management. A Calvin application is defined by a dataflow graph where every node is a small reusable computational component called an Actor. The actors can move and be migrated to any connected unit during runtime which allows for complex applications to be created.

Mobile devices are... (More)
Development towards a connected world where anything can talk to anything is ongoing. Calvin is a research project at Ericsson that simplifies the development of peer-to-peer applications for the Internet of Things. Calvin is created in order to let the developer of an application for the Internet of Things focus on the implementation instead of having to worry about underlying protocols, hardware access, security, application deployment, and application management. A Calvin application is defined by a dataflow graph where every node is a small reusable computational component called an Actor. The actors can move and be migrated to any connected unit during runtime which allows for complex applications to be created.

Mobile devices are computationally powerful devices with many sensors and have a lot of functionality through mobile device applications. The devices have traditionally only been used for configuration and control of Internet connected devices. This thesis successfully shows how mobile devices can be part of the distributed platform Calvin as any other device in the Internet of Things.

The thesis proposes a general solution of how Calvin can make advantage of a mobile device at any time it is connected to the Internet. The thesis shows how mobile devices and third party applications on the device can share their capabilities in the Calvin platform with other connected devices. The thesis analyses the effect of the long term running Calvin runtime on a mobile device and shows that it is possible and feasible to use Calvin in Android without draining the device's resources. (Less)
Popular Abstract
The Internet might be the greatest innovation in modern time. It is used by billions of people every day to do all sorts of tasks. The number of Internet connected device is growing rapidly and Ericsson is expecting 26 billion devices to be connected in 2020. To meet these demands, development of new network types is ongoing. Ericsson is currently developing the next generation networks for mobile phones called 5G and more people get their houses connected to the Internet through fast fiber optic cables.

The Internet of Things (IoT) is a term referring to historically non Internet connected devices that are connected today. IoT therefore includes a broad spectrum of device types such as temperature sensors, thermostats, light bulbs,... (More)
The Internet might be the greatest innovation in modern time. It is used by billions of people every day to do all sorts of tasks. The number of Internet connected device is growing rapidly and Ericsson is expecting 26 billion devices to be connected in 2020. To meet these demands, development of new network types is ongoing. Ericsson is currently developing the next generation networks for mobile phones called 5G and more people get their houses connected to the Internet through fast fiber optic cables.

The Internet of Things (IoT) is a term referring to historically non Internet connected devices that are connected today. IoT therefore includes a broad spectrum of device types such as temperature sensors, thermostats, light bulbs, cars, speaker systems and even refrigerators. It is a complex task to enable all of these devices to connect and communicate. The devices must be able to recognize each other and they must have a common method of how they should share data. For example, a temperature sensor must have a method of how temperature data should be sent to other devices such as a mobile phone. The mobile phone must furthermore be able to parse the data from the temperature sensor to be able to display the data to a user. The devices must also be able to decide if the communication should be done over for example Wifi, 3G, 4G or even Bluetooth.

At Ericsson research in Lund, a group of scientists are trying to solve the problem of connecting these devices through a project called Calvin. The project enables any device capable of running Calvin to communicate with other Calvin devices. Calvin also allows users to easily specify how the devices should be connected. It is a simple task to connect a light bulb with a Internet connected button to allow the lights to be controlled in Calvin.

This master's thesis focuses on bringing mobile devices into the IoT platform Calvin as any other Internet connected device. Mobile devices has historically only been used to control and read data from other devices. Mobile devices are for example common as remote controls in home automation systems where they can be used to control the house lighting or to fetch the current outdoor temperature. By letting mobile devices become a part of Calvin, more complex and powerful applications can be created.

Mobile devices are in some aspects very different from other Internet connected devices. While they are very powerful in terms of processing power, they are very limited in some aspects such as battery and data usage. A mobile phone user normally expects the device to be able to run for at least a full day of normal usage while the data consumption often is limited by the mobile network carrier. All programs running on a mobile device must therefore be very careful in their use of these resources and must be adapted to fit in to the mobile device system.

The available mobile operating systems in the world is dominated by Android which has a market share of 86.6%. This thesis therefore focuses on bringing the Android system into the Calvin platform. This is done by proposing adoptions and needed functionality in order to let Calvin take advantage of a mobile device and to let the mobile device share its capabilities with other Calvin connected devices. The main problem formulation for the thesis therefore comes naturally to be "how can the distributed platform Calvin make the best use of a mobile device?".

The thesis takes on and proposes a solution of many different aspects of mobile devices. One aspect is how to solve the problems with the mobility of mobile devices. Since mobile devices can move, they connect to many different networks all the time. For example, in a home automation system, the mobile is only connected to the home LAN while it has Wifi coverage. If the mobile device leaves the home it loses its connection to other devices since it connects to a mobile network instead. This thesis proposes a solution where the the mobile device can be anywhere in the world while still being able to communicate with Calvin connected devices.

Mobile devices has a large amount of sensors and other hardware capabilities. But a lot of the functionality of a mobile device is implemented in various applications that are downloaded. This thesis shows how both the hardware capabilities, but also how third party applications can share their functionality with other Calvin connected devices in a standardized and simple way.

This thesis shows how Calvin must be adapted in order to meet the high demands on mobile device applications in terms of resource usage. The RAM memory is a limited resource that has to be used with great care in a mobile device. The RAM memory usage of Calvin was examined through a set of experiments in and the results are used to show that Calvin behaves good on the mobile device. The RAM usage is dominated by Android itself and the Android Framework when running the application but the actual Calvin implementation.

The data usage of the proposed solution for connectivity was also examined. The solution enables flexibility in terms of mobility, but it comes with a price since much more data has to be sent. The solution was evaluated and it is shown how much more data the proposed solution consumes.

Overall the thesis shows that it is feasible to run Calvin on a mobile device, and with modifications and added functionally great applications can be created in an easy way. (Less)
Please use this url to cite or link to this publication:
author
Najafi Nassab, Alexander LU
supervisor
organization
course
EITM01 20171
year
type
H2 - Master's Degree (Two Years)
subject
keywords
Calvin, Mobile Devices, Android, Internet of Things, Distributed Platforms, Dataflow
report number
LU/LTH-EIT 2017-574
language
English
id
8912745
date added to LUP
2017-06-13 13:22:29
date last changed
2017-06-13 13:22:29
@misc{8912745,
  abstract     = {Development towards a connected world where anything can talk to anything is ongoing. Calvin is a research project at Ericsson that simplifies the development of peer-to-peer applications for the Internet of Things. Calvin is created in order to let the developer of an application for the Internet of Things focus on the implementation instead of having to worry about underlying protocols, hardware access, security, application deployment, and application management. A Calvin application is defined by a dataflow graph where every node is a small reusable computational component called an Actor. The actors can move and be migrated to any connected unit during runtime which allows for complex applications to be created.

Mobile devices are computationally powerful devices with many sensors and have a lot of functionality through mobile device applications. The devices have traditionally only been used for configuration and control of Internet connected devices. This thesis successfully shows how mobile devices can be part of the distributed platform Calvin as any other device in the Internet of Things.

The thesis proposes a general solution of how Calvin can make advantage of a mobile device at any time it is connected to the Internet. The thesis shows how mobile devices and third party applications on the device can share their capabilities in the Calvin platform with other connected devices. The thesis analyses the effect of the long term running Calvin runtime on a mobile device and shows that it is possible and feasible to use Calvin in Android without draining the device's resources.},
  author       = {Najafi Nassab, Alexander},
  keyword      = {Calvin,Mobile Devices,Android,Internet of Things,Distributed Platforms,Dataflow},
  language     = {eng},
  note         = {Student Paper},
  title        = {Mobile Devices In the Distributed IoT Platform Calvin},
  year         = {2017},
}