Personal tools
You are here: Home Theses

Open theses 2017/2018 study year

There are several other research topics which are not advertised here. If you are generally interested in doing a thesis on Mobile Applications, Cloud Computing or Internet of Things, write a mail to Prof. Satish Srirama and talk to him personally to choose a topic.


Available Topics to choose from

All of the following topics can be laid out either as BsC or as MsC thesis (advisors are shown in brackets).

B means Bachelor, M means Master. A number in front of one of these letters means that there are several theses offered in this topic


Cloud Computing

(Satish Srirama)

  • Resource management and scheduling in cloud computing

–       Static VM provisioning policies

Allocate a fixed set of physical resources to VMs using bin-packing algorithms

–       Dynamic policies

Capable of handling load variations through live VM migrations and other load balancing techniques


The thesis should be looking/developing the dynamic resource provisioning policies and should adapt them to different domains such as fog computing, large-scale data analytics by incorporating them to respective tools and prototypes.


  • Serverless computing

–       Function as a service

–       Microservices

–       Function-level QoS management in serverless computing


  • Sustainability in clouds

–       Dynamic allocation and reallocation of resources

–       Models for green clouds

–       Dynamic task scheduling for Energy and Quality of Service Optimisation


  • Blockchains in cloud computing

–       Distributed immutable ledger deployed in a decentralized network

–       Relies on cryptography to meet security constraints

–       Where the advances in blockchain will assist cloud computing?

Fog Computing

(Chii Chang and Satish Srirama)

Emerging Fog computing (Fog) architecture provides seamless integration between Cloud-centric Internet of Things (CIoT) servers and the edge network endpoints. In essence, Fog is the Cloud near the ground, which represents an information system that is capable of providing the computational and networking resources closer to the data sources or end-users. As a result, it can reduce the latency and improve the efficiency of the overall processes.

  • Proactive Fog Computing for Smartphone Sensing as a Service

Summary—Fog-assist smartphone sensing is promising but it involves challenge in rapid process migration. Smartphones are moving objects and their connectivity is dynamic. Therefore, developers need to consider that a failed process migration will cause the waste of resource usage and generate extra latency. This research involves developing a proactive fog computing method, implementing and validating a proof-of-concept prototype.


  • Rapid Pico Data Centre Migration for Fog Social Computing Network

Summary—To support mobility of fog-assist social network in proximity, the system needs to provide a feasible method for dynamic migrating the temporary data from one fog node (i.e. pico data centre) to another. This research involves developing and validating an adaptive pico data centre migration scheme.


  • Autonomous Scalable Device Deployment at the Edge Network of IoT

Summary—Supporting fog computing in IoT involves complex configuration and software deployment. Commonly, developers need to implement specific adaptor to connect IoT devices. This research involves developing and validating a scheme that supports autonomous IoT device adaptor deployment.


  • Containerised Stream Data Processing: A Comparison among CPE-Fog, Neighbouring-Fog and Remote Cloud

Summary—This research involves an experimental study on the performance of different deployment models of fog computing.


Summary—The practical research project aims to experiment the performance and feasibility of applying Apache OpenWhisk platform in fog computing.

  • Edge Analytics (Satish Srirama)

–       Data processing on resource constrained devices

–       Edge analytics for real-time stream data processing

–       Fog topology management


Indie Fog

(Chii Chang) Background

Summary—Indie Fog is a new fog computing architecture design. Topics arise from Indie Fog are as follows:

  • Indie Fog Registry Prototype
  • Indie Fog Repository Prototype
  • Generic Indie Fog Server and Client SDK
  • Indie Fog Server Prototype on Raspberry Pi
  • Indie Fog Server Prototype on CISCO IR829 Industrial Integrated Router
  • Indie Fog Server Prototype on Android OS Device


Internet of Things: Reliable Data Acquisition

(Chii Chang)

Summary—Supporting reliability and scalability in IoT requires a large amount of additional resource usage for encoding/decoding additional data and signals; and additional wireless network communication to monitor and manage the processes, which results a high cost in terms of both lifetime of the front line battery-powered machines (e.g. sensors, robots) and the bandwidth cost of wireless network usage that is required to enable the communication between the machines and the backend controller systems. Although there exists a fair number of software middleware frameworks for IoT, they did not fully address the challenges in reliability, scalability and cost-efficiency together. The proposed middleware integrates novel mobile network signalling algorithm, forward-error-correction, network coding and elastic cloud computing using adaptive workflow algorithm towards enabling reliable, cost-efficient middleware for IoT. Topics arise from this domain are as follows:

  • Dynamic Reconfigurable Data and Signal Processing on IoT Devices
  • Software-Defined Network for Adaptive Communication Between Devices and Cloud
  • Remote Dynamic Program Deployment Across Devices at the IoT Edge
  • Reliable Mesh Network for Data Delivery from Mobile Internet of Things
  • High-performance Opportunistic Mobile IoT Data Analytics using Mesh Topology
  • Context-Aware IoT Node Deployment


Internet of Things: Smart Cities

(Chii Chang)

Summary—Smart Cities system is one of the major research domain in IoT. Topics involve smart cities are as follows:

  • IoT-Lite for Smart Cities
  • Urban Safety using Mesh Social Internet of Things
  • Energy-Efficient Opportunistic Service Discovery in High Density Urban Areas
  • Energy-Efficient Device Deployment and Configuration for Urban IoT
  • High Speed Data Delivery for Urban IoT Applications


Internet of Things: Energy monitoring (B/M)

(Jakob Mass)

Summary— Energy-efficiency is one of the important benefits IoT solutions can provide. Intelligent decision-making based on energy monitoring can save expenses and reduce the economic footprint of systems. However, the crucial aspect to achieving energy-efficiency are mechanisms for properly monitoring energy consumption. In this thesis, a practical solution for electricity consumption in the home is developed. The work involves using a "smart meter" device, which transmits energy readings using zWave. Based on the (live) data, data analysis approaches need to be applied in order to recognize which devices are currently running in the local electric network.


Internet of Things: Low-Power Wide-Area Networks (B)

(Jakob Mass)

Summary—LPWAN-based infrastructure provides autonomous devices an energy efficient way to become connected. Recently, deployment of such LPWAN networks has started also in Estonia, e.g. NORAnet (LoRaWAN-based) and Sigfox. In this topic different existing LPWAN technologies will be studied and compared.  As part of the project, hands-on experiments with these devices will also be done.



Large Scale Data Processing

(Pelle Jakovits)


  • From SQL queries to Structured Streaming applications (B) (Pelle Jakovits)

Structured Streaming is a new stream processing abstraction built on top of the Apache Spark SQL engine. The goal of this topic is to study this stream data processing approach and compare its usability, fault tolerance and performance to more classical streaming approaches. The thesis should give an overview of its advantages and disadvantages, demonstrate how to adapt typical stream processing applications to it and investigate how easy it would be to take arbitrary Spark SQL, Dataframe or Hive SQL based applications and convert them into Streaming applications using Spark Structured Streaming.


  • Optimizing the performance of Apache Spark Streaming applications (M) (Pelle Jakovits)

The goal of this topic is to investigate what characteristics have a significant effect on the performance of Spark Streaming applications and provide guidelines and best practices on how to create and configure Streaming applications in Apache Spark to achieve optimal performance in different scenarios.


  • Real time vs micro-batching in streaming data processing: performance and guidelines (B/M) (Pelle Jakovits)

Typically, stream processing frameworks buffer incoming data and process them in small batches. But newer stream processing frameworks (such as Apache Storm) allow processing any incoming data objects in real time. The goal of the thesis is to compare  the performance of real-time vs micro-batching stream data processing frameworks under different scenarios and to investigate which data or application specific characteristics must be considered when choosing between them for specific use cases.


  • Stream data processing on resource constrained devices (B/M) (Pelle Jakovits)

With the ever increasing amount of data that needs to be collected from IoT data sources, it becomes more and more expensive to simply stream all the data to a cloud-side data processing platform. Depending on specific scenarios, it may be beneficial to (pre-)process the data as close to its source as possible. However, there are limitations on how powerful computing resources are available near the data sources. The goal of this thesis is to evaluate existing solutions for streaming data processing which allow performing part of the data processing nearer to the source, give an overview of their usability, advantages and disadvantages and analyse their effectiveness in comparison to more classical stream data processing frameworks such as Apache Spark or Storm.


  • Performance of containerized applications when running a large number of tiny containers (B/M) (Pelle Jakovits)

In comparison to using Virtual machines, containerization technologies such as Docker result in much less overhead when running multiple concurrent software environments for applications that need to be virtually separated from each other. The goal of this topic is to investigate the performance disadvantages of executing large amount of containerized applications on different types of computers (from high performance to resource constrained computers) and to estimate how many containers can be supported on different hardware before running into performance issues.


  • GPU accelerated Distributed computing frameworks (B/M) (Pelle Jakovits)

The goal of this thesis is to study what is the state of art in using GPU's to accelerate data processing in different large scale distributed computing frameworks such as Hadoop MapReduce or Apache Spark. These frameworks can greatly simplify creating parallel applications and can scale up the computations to hundreds of nodes but the individual computing power of s single node is often left unoptimized.  
What is the best practices to 'move' data between the framework`s computing engine and the GPU's, and how advanced are the Java GPU interfaces in comparison to other programming languages (C, C++, ...) Practical part of the thesis would be to demonstrate the utilization of GPU  in these frameworks and measuring the parallel efficiency of the results.


Other Topics

(Satish SriramaPelle Jakovits)


  • Migrating an enterprise application from a relational back-end to NoSQL data store. (M) (Satish Srirama)

Description: we are interested in migrating enterprise applications to cloud scale solutions, because we want to develop methodologies for migrating applications from relational to non-relational data stores. Non-relational data stores, also called NoSQL databases, are a better fit for the cloud, because they have been designed for horizontal scaling. Generally they abandon the relational model in favor of simpler key-value based data models. Example of NoSQL databases include Riak, MongoDB, Cassandra and Neo4J.


Description: The goal is to implement security services on the cloud, which can be offered to mobile devices.

Example: Speech recognition service for identifying mobile device users. Mobile device owners speech patterns are stored in the cloud and is used to identify mobile device users. The user has to read a certain sentence (provided by the service) aloud, and the recording of the voice is sent to the cloud for speech recognition. If the recognition fails, then some of it's functionality, application or even the mobile device itself is not enabled.


The goal of this topic is to investigate how to utilize cloud based IoT platforms (such as Cumulocity) to manage a large number of IoT computing devices, such as Raspberry Pi’s. Student should create software for integrating any computer running Docker with Cumulocity IoT platform. Such software should display information about the currently running containers, support deploying and configuring Docker containers, remote management of their life-cycle and executing arbitrary commands inside the deployed containers.


The goal of this topic is to seamlessly integrate MQTT "speaking" devices to an IoT platform (Such as Cumulocity) by using an intermediate Agent or Middleware which takes care of authentication, data delivery and synchronization, IoT platform configuration and other tasks and issues related to device integration. Using an intermediate agent also has a potential for augmenting the data and services that are provided by IoT devices -- for example by injecting additional information about the current location, state and service quality of such devices.