Actor Model in the IoT Network Edge for Creating Distributed Applications Using Akka

Freddy Marcelo Surriabre Dick
With the upcoming wave of devices coming in the next few years to the Internet of Things (IoT), new challenges will arise with respect to the vast amount of data generated by these devices and the processing of all these data in an efficient manner. Cloud-centric architectures, that rely on the distant cloud for processing data, do not seem to fit the new requirements of this new dynamic Internet of Things, where multiple devices constantly need to interact with each other, handling real-time data processing. The edge computing model moves the computing from the cloud to the network edge, close to the source of data, reducing latency and bandwidth needs of the whole network among other benefits. Moreover, in this new model, edge devices play a central role, handling the incoming and outgoing of the data, and providing computation power to the network. Furthermore, there is the possibility to distribute the computation process among all edge devices. In this new decentralized model, a new paradigm is needed that can deal with this distributed scenario. The Actor model, which defines actors as its basic unit of computation, addresses the need of working in a distributed environment with requirements of concurrency, resiliency and scalability among others. Message passing is defined as the sole mechanism for interaction between actors in the model, allowing to perform concurrent and parallel computation without the need of locks or any thread-safe mechanisms. The Akka toolkit is an implementation of the Actor model which offers, through its platform, a series of modules and libraries than can be used to build concurrent and distributed applications. In this thesis, the Akka toolkit is used as an alternative for developing applications on the edge, applying the concept of the Actor model. Lightweight containerization through Docker is used to deploy the application on a distributed network of devices representing the edge devices. Finally, an IoT Akka system architecture is proposed along with its implementation, based on a Wireless Sensor Network IoT scenario, to demonstrate the feasibility of conceiving applications on the edge rather than using a cloud based approach.
Graduation Thesis language
Graduation Thesis type
Master - Software Engineering
Satish Narayana Srirama
Defence year