Personal tools
You are here: Home Theses

Open theses topics for the 2018/2019 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 (M)

–       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 - 2 theses (M)

–       Function as a service

–       Microservices

–       Function-level QoS management in serverless computing

The thesis should develop tools that facilitate in designing and orchestrating data pipeline applications that involve serverless entities. The tools should follow OASIS - Topology and Orchestration Specification for Cloud Applications specification.

  • Auto-scaling and cost prediction of serverless computing applications (M)

The thesis should study and develop models for auto-scaling serverless computing applications. The thesis should first study how auto-scaling the traditional enterprise applications is different from scaling serverless applications.

  • Evaluating the performance and quality of data pipelines (M/B)

The goal of this thesis is to design a toolset for evaluating the performance of data pipelines under different scenarios. Should contain functionality for generating data for pipeline stress testing, monitoring and visualizing performance metrics.

  • Continuous Integration engine supporting testing of data pipeline applications (M)

The thesis should develop tools for continuous testing of data pipeline applications. The tool should also have support for measuring the performance of the setup.

  • 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?

  • Edge Analytics (Satish Srirama)

–       Data processing on resource constrained devices

–       Edge analytics for real-time stream data processing

–       Fog topology management


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.


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.


  • Distributed Serverless Data Processing in IoT networks (M)  (Pelle Jakovits)

The goal of this topic is to study how efficiently Serverless technologies can be utilized to process data streams in multi layer (Fog computing)  IoT networks in a distributed manner and compare the efficiency, reliability and security of this approach in comparison to the typical Cloud centric data processing.


  • Service mesh based management of data streams in IoT networks (M) Pelle Jakovits)

Service mesh solutions (such as Istio) have a potential to greatly reduce the complexity of managing distributed IoT applications and their data. The goal of this thesis is to investigate open source service mesh solutions and to design a proof-of-concept data flow management solution for controlling the data flows inside distributed IoT applications.

Topics Supervised by Chii Chang

For more details about the topics, please contact Dr. Chii Chang


Research & Development

Context-Aware Computing (Dr. Chii Chang)

  1. State of the art in context-aware software architecture and blueprint

  2. Context-aware software architecture for Cyber-Physical System (CPS) and  Internet of Things (IoT)

  3. Context-aware IoT Data Processing

  4. Context-aware Internet of Mobile Things (IoMT) management

  5. Context aware control flow for multi-layered IoT

  6. Context aware data flow for multi-layered IoT

  7. How do you know a smart home is really smart? Context-aware smart home: concept and prototype

  8. How do you satisfy everyone in a connected smart office?

Fog and Edge Computing (Dr. Chii Chang)

  1. Microservice-Oriented Urban Indie Fog

  2. Serverless Indie Fog

  3. Mist Computing - Cost and Performance efficiency of IoT front-ends; is it really efficient?

  4. Blockchain-based Fog and Edge Computing

  5. Software-Defined Fog Networking: State-of-the-Art and Prototype Development

Internet of Things (Dr. Chii Chang)

  1. Load Balancer for Mixed Cluster on Internet of Everything

  2. Microservice IoT Architecture Design and Proof-Of-Concept: case study on urban computing

  3. Internet of Everything - Trends, Platforms and Blueprint

  4. Distributed cloud architecture for IoT

Mobile and Ubiquitous Computing (Dr. Chii Chang)

  1. Indoor Positioning using BLE beacons

  2. Indoor positioning using devices and mixed signals


Mobile Social Network in Proximity (MSNP)

Decentralised Mobile Social Network in Proximity (Dr. Chii Chang)

  1. MSNP in New Trends

  2. Trustworthy MSNP using Blockchain


Software Engineering (Development)

Internet of Things (IoT) and Web of Things (WoT) (Dr. Chii Chang)

  1. Practical Open Source IoT Platforms Comparison

  2. Integrating IoTSS Lab sensors with EdgeXFoundery

  3. Open Source Web of Things Module for NodeJS

  4. T2T NodeJS Module Development

  5. Prototype development - NodeJS Module - BPM4IoT

  6. IETF RFC 7252 Constrained Application Protocol (CoAP) NodeJS module development (Not Draft; full standard)

Fog and Edge Computing (Dr. Chii Chang)

  1. Multi-access Edge Computing API for NodeJS

  2. OpenWRT Fog Computing server development

  3. EPIoT-N: Edge Process-compliant Internet of Things (EPIoT) module for NodeJS

  4. EPIoT-A: Edge Process-compliant Internet of Things (EPIoT) API for Android

Mobile Computing (Dr. Chii Chang)

  1. Dynamic Code Execution engine for Android

  2. A framework for cluster computing with Android smartphones

  3. Dynamic Javascript Code Execution engine development for iOS

  4. iJetty Servlet Container for new Android + CoAP and MQTT capabilities

Services Science (Dr. Chii Chang)

  1. Multi-service Orchestration Workflow Engine for NodeJS

  2. RESTful Business Process Execution Language (BPEL) engine for NodeJS

  3. Service-oriented Software Defined Networking (SDN)

  4. Microservice platform development for NodeJS


Bachelor Thesis Topics

(Dr. Chii Chang)


  1. NodeJS Module for Fog Networking - Multi-cast and Uni-cast over TCP-IP

  2. NodeJS Module for Fog Storage - Distributed storage among Fog nodes

  3. NodeJS Module for Fog Acceleration - Clustering fog nodes for stream processing

  4. NodeJS BPMN engine integrating with multi-service protocols

  5. Practical study on open source NodeJS IoT frameworks

  6. Integrating HomeKit devices with OpenHab (NOT making OpenHab as Homekit device)

  7. SigFox-based mist computing

  8. SigFox-based Device-to-Device (D2D)

  9. SigFox-based Over-The-Air (OTA) programming

  10. Arduino OTA programming

  11. iJetty for new Android (Requirement: Java / Android)


Other Topics

(Satish SriramaPelle Jakovits)


  • Establishing a rendering farm for the Tartu Art School 3D department. (B/M) (Jakob Mass / Pelle Jakovits)

Tartu Art School has some infrastructure - PC-s equipped with GPU’s suitable for rendering 3D movies and animations - however, today there is no easy-to-use, uniform platform to deploy rendering jobs to the infrastructure. For this thesis, the problem of establishing a render farm for rendering Blender 3D projects is to be studied and solved. In addition to managing the infrastructure (e.g. with Docker), the project could involve setting up a web application which assists the user (3D designer)  in deploying their project for rendering.

  • 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.


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.


  • Automatic integration of IoT devices using MQTT (M) (Pelle Jakovits)

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.