Seminar Topics
(Supervisors marked in parenthesis)
Internet of Things
Fog Computing
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. (see related publications).
- Design, Deployment and Management of Fog and Edge Computing for IoT Systems: Taxonomy, Frameworks and Open Challenges -- (Chii Chang). Perform a literature review study on existing fog-driven IoT frameworks, platforms and challenges.
- Cisco fog computing -- (Chii Chang). Study the architecture and technologies of Cisco's fog computing platform. Demonstrate an Python-based Cisco IOX Application on Cisco IR829 industrial integrated services router. [Note] Equipment is only available in Lab.
- Proactive fog computing using work-bidding algorithm -- (Chii Chang). This is a practical topic to implement and testing a proactive fog computing algorithm for mobile sensors. Prerequisite skills: server-side programming, Android/iOS programming.
- State-of-the-art use cases and frameworks of Fog/Edge computing.
IoT & IIoT & WoT Research
- A Comparison of Existing IoT Platforms -- (Chii Chang). Extend the comparison table in the following publication:
Nitti, M., Pilloni, V., Colistra, G., & Atzori, L. (2016). The virtual object as a major element of the internet of things: a survey. IEEE Communications Surveys & Tutorials, 18(2), 1228-1240. - Internet of Vehicles: Use Cases, Standards, Platforms and Challenges -- (Chii Chang).
- GE PREDIX -- (Chii Chang). GE Predix is an Industrial IoT Platform developed by GE (https://www.predix.io/). Study and test the platform.
- Network Virtualisation technologies in Industrial Internet of Things taken -- (Jakob Mass)
Study what benefits virtualization tech. such as Network Function Virtualisation (NFV) and Software-Defined Networking (SDN) can bring to the industrial sector.
Other -- (Jakob Mass)
- Comparison of Low-Power Wide-Area Networks (LPWAN). 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. If possible, the student will try one of the technologies first-hand.
- Smart energy monitoring, smart grid . The future smart electrical grid and the connected electricity utilities are able to autonomously consume energy when it is cheaper for the customer, but also avoid drawing power when the task at hand is not critical and the power production on the grid is not so high (e.g. postpone starting the dishwasher when the ecological impact is currently too high). In addition to studying the smart grid concept, the students will work with a smart energy meter device that outputs electricity usage data via Z-Wave wireless protocol. In addition to setting up the device and using it, the student is encouraged to try applying some data analysis/ML technique (e.g. classifying devices that have been plugged into the system) or interfacing with web services that provide electricity cost information. http://dl.acm.org/citation.cfm?id=2684434
- IoT sensor data marketplaces Sensor data, from a smart home, for instance, can be valuable to not only the homeowners but to external parties such as companies. To this end, the concept of sensor data marketplaces has arisen. These are marketplaces which enable individuals who own Internet-connected sensor devices to earn money by selling access the sensor data on a online platform. Databroker DAO is one such example. Study the design and concepts of the Databroker DAO marketplace and compare it to alternatives.
Mobile Computing
- Continuous Integration for Android -- (Jakob Mass). The student is expected to conduct a literature survey on the topic of continuous integration (CI) solutions for iOS and Android, such as Greenhouse CI. The most prominent CI solutions should be analysed and compared in depth, and where possible, tried out first-hand. Previous Android development experience required.
- Evaluating the impact of refactoring code smells on the power consumption of android apps. -- (Hina Anwar)
Code smells point to areas in an application that could benefit from refactoring. Refactoring is defined as a technique for restructuring an existing body of code, changing its internal structure without changing its external behavior. Choosing not to resolve code smells by refactoring will not result in the application failing to work but will likely increase the difficulty of maintaining it. Thus refactoring helps to improve the maintainability of an application. Given that maintenance is considered the most expensive stage of software development and that the proportion of maintenance cost over total software cost is increasing each decade refactoring will save money in the long haul. Research suggests that there are some maintainability improvements which are inversely proportional to the improvements in reducing power consumption. This study requires that the student perform the following tasks along with a small literature survey at the start of the study to identify suitable datasets and tools for study.
The goal of this study is to evaluate the impact of code smell refactoring on power consumption of android apps.
Mobile Cloud -- Satish Srirama (Responsible persons)
- Incentive models for mobile code offloading (Taken)
Smart Home and Telia interested projects -- Chii Chang and Satish Srirama (Responsible persons)
- IoT value chain, its' components and value distribution
- Compare the IoT platforms in a matrix by their functionality
- Home automation ecosystems - Apple HomeKit, Google Nest, etc
- Home automation possibilities on open platforms
- Home automation possibilities on commercial platforms
- Wireless vs wired home automation - inter-connectivity, protocols, security, etc
- Possibilities for universal Home hub - pros and cons of open hubs vs controlled ecosystems
- Sensors and actuators in home environment - inter-connectivity, standards, security
- Data models - international industry standards, compatibility, etc
- Home Robots as Home automation hub
Distributed Computing
- 3D rendering farms for Blender, in collaboration with Tartu Art School -- Jakob Mass (responsible person)
Rendering 3D imagery can be time consuming, especially if an animated sequence has to be rendered. Establishing a cluster of computers and distributing the rendering task can provide a solution to fasten the process. The Tartu Art School is interested in establishing a render farm for the Blender 3D modelling software based on their existing infrastructure.
Cloud Computing -- Satish Srirama (Responsible person)
- Cloud resource management and scheduling
Cloud infrastructure providers mostly rely on either static VM provisioning policies, which allocate a fixed set of physical resources to VMs using bin-packing algorithms, or dynamic policies, capable of handling load variations through live VM migrations and other load balancing techniques. These policies can either be reactive or proactive, and typically rely on knowledge of VM resource requirements, either user-supplied or estimated using monitoring data and forecasting. Study these techniques and implement your own methods on CloudSim.
Z. A. Mann. Allocation of Virtual Machines in Cloud Data Centers—A Survey of Problem Models and Optimization Algorithms. ACM Computing. Surveys. 48, 1, Article 11 (August 2015).
Calheiros, Rodrigo N., et al. "CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms." Software: Practice and experience 41.1 (2011): 23-50. - Multi-Cloud and cloud interoperability solutions
Studying TOSCA (Topology and Orchestration Specification for Cloud Applications) and its implementations such as OpenTosca and Cloudify - Data pipelines on the cloud
AWS Data pipelines
Apache nifi - Sustainability in clouds
Dynamic allocation and reallocation of resources
Models for green clouds - Blockchains in cloud computing
Where the advances in blockchain will assist cloud computing? - Graph data processing with Apache Giraph
Study Graph data processing with MapReduce and targeted frameworks such as Apache Giraph. - Serverless computing
Study the emerging research trend in cloud computing domain. Identify and propose solutions for the challenges.
Real-time data processing -- Pelle Jakovits (Responsible person)
- Orchestrating complex Data Pipelines processing real-time IoT data. Student should investigate existing Data pipeline orchestration frameworks (such as Apache Nifi) and resent literature on this topic, which concentrate on managing IoT data flows fusing data from a large number of geographically distributed data sources and which may require deploying data processing tasks at different distances from the data sources (Fog Computing scenario).
- Real-time visitor count estimation in lecture rooms - The Delta Building is a new building to house the Institute of Computer Science. Its construction is to be finished in 2020. There are plans for a number of different modern sensors to be placed in the building. The Computer Graphics and Virtual Reality lab’s students are working on a real-time visualization of the people and activities inside the building. For that purpose there is a desire to know how many people occupy each room (including the hallways) at any given moment. The goal of this topic is to perform a literature study into the state-of-the-art of sensor analytics and image processing with the aim to propose an applicable approach for real-time visitor count estimation in lecture rooms.
- Real time vs micro-batching in streaming data processing: performance and guidelines Typically, stream processing frameworks buffer incoming data and process them in batches. But newer stream processing frameworks (such as Apache Storm) allow processing any incoming data objects in real time. Task of the student is to give an overview of the newest advances in Stream processing, compare the performance of real-time vs micro-batching engines for different use-cases. The student should also investigate which data or use case specific characteristics should be considered when choosing between the respective streaming data processing approaches. In addtition, student should also look into Structured Streaming, which is a new stream processing abstraction built ontop of the Spark SQL engine.
- Stream data processing on resource constrained devices - With the increasing amount of data to be collected and processing from IoT data sources, it becomes more and more expensive to simply stream all data for cloud-side data processing. Depending on specific scenarios, it may be beneficial to pre-process the data as close to its source as possible. However, there are typically limitations on how much or how powerful computing resources are available in such cases. Student should study existing solutions which aim to solve such issues, give an overview of them and demonstrate example scenarios and solutions if possible.
- Visualizing streaming data Student should perform a literature study and present in seminar what are the newest advances, best practices and available solutions for visualizing large scale streaming data. In the case of available open source visualization tools suitable in the context of this topic, student should demonstrate real-time data visualization on a an illustrative scenario.
Cloud Computing Frameworks -- Pelle Jakovits (Responsible person)
- NEWT - A fault tolerant BSP framework on Hadoop YARN - NEWT is a HPC framework ontop of Hadoop YARN which addresses the MapReduce issues with more complex algorithms. It was developed in our group and is in a working prototype state. Student should try to use NEWT to implement one or two scientific algorithms on NEWT and measure its efficiency and parallel speedup in a cluster. One outcome could be also a tutorial on how to adapt algorithms to to NEWT.
- Docker performance aspects when running large number of small docker containers.
- Remote management of IoT computing devices (in Cumulocity)
- Docker based device integration in Cumulocity: issues and challenges
- Real-time event processing in Cumulocity: limitations, issues and performance.
IBM Server-side Swift -- Chii Chang (Responsible persons)
Study server-side Swift (https://developer.ibm.com/swift/).