The project is no longer available

Edge computing with Kubernetes: Low overhead network capacity estimation

What is Kubernetes?

Kubernetes, often called K8s, is a system for automating the deployment of applications in the cloud, as well as the distribution, configuration, coordination and administration of these applications (online, see: kubernetes.io). Kubernetes can be used to ensure uptime and scalability for services and end systems, features that are essential for both civilian and military systems. K8s are often used as a service platform in modern communication and information systems. Kubernetes was originally developed by Google and is now released as open source as part of the Cloud Native Computing Foundation (CNCF).

The main benefit of using Kubernetes is the flexibility and scalability the system provides, including automated software updates, service discovery and load balancing, service orchestration, security and configuration management, and self-healing. K8s therefore fits in very well with modern agile system development based on DevOps and microservices.

K8s is also scalable across a set of computers (or nodes), be they physical hardware or virtual machines (or a combination of these). When K8s are used across multiple nodes, it is referred to as a Kubernetes cluster. Typically, in cloud computing, Kubernetes is run in a data hall. However, the solution can also be used for edge computing, but there unstable communication and problems with node connection will cause challenges.

Specific question for this thesis

This thesis is one in an ongoing series that studies improvements of K8s that make it more suitable in the context of edge computing, for example for use in disaster relief and rescue operations. This thesis expands the investigation of a thesis that was concluded in 2025: "Kubernetes in Edge Systems: Low Overhead Network Capacity Estimation".

Kubernetes is quite good at making dispatch decisions based on the availability of RAM and CPU cycles. This is sufficient for orchestration in clouds that are deployed in data centers.

To make Kubernetes relevant for the orchestration of services at the edge of the network (Edge Computing, Fog Computing etc.), the communication between nodes must be handled as well. "Out there", network availability is not even guaranteed, and when networks are available, they may have very low capacity (4G, even 3G), quickly changing latency (route changes), or throughput that changes very frequently and very much.

After the investigation in the earlier thesis, which explored cabled networks, this thesis is going to explore wireless networks. You will explore how the constantly changing properties of wireless network can be discovered, allowing them to be used by an extended Kubernetes scheduler that is suitable for for Edge Computing.

It is very typical to determine the current properties of a network by probing, which means that data streams are sent from a server application on request to a client application. How users are frequently using Speedtest for this, and researchers are frequently using iperf3. However, both waste a lot of bandwidth, and this brings two problems:

  1. We cannot afford to waste this bandwidth when we spontaneously deploy nodes in an undeveloped region.
  2. In the case of wireless networks, active probings is reduces the amount of available bandwidth for all senders and receivers, preventing them from using it productively.

Initially, you will explore the literature for viable methods of estimating the capacity of wireless networks (WiFi and/or 5G) through passive observation (measurements), location estimation, historical information and prediction.

After that, you will develop a set own approaches, and select a promising subset that you will implement and test in our lab, using either WiFi, 5G or both. You are expected to use Raspberry PIs for this implementation, in combination with OpenWRT WiFi routers or our 5G network built around a Open5GS Core.

Finally, you will assess the correctness, viability and longevity of your estimations, and report about the performance and the overhead of your chosen method.

Learning outcome

Experience

  • in formulating, investigating and answering research questions
  • understanding how resources are shared in modern wireless networks
  • handling of Kubernetes, the famous container orchestration system
  • conducting, evaluating and interpreting research results

Conditions

We expect that you:

  • have been admitted to a master's program in MatNat@UiO - primarily PROSA
  • take this as a long thesis
  • will participate actively in the weekly SINLab meetings
  • if you have not included the course IN5060 in your study plan in autumn 2025,  consider taking a different course on classical (non-ML) data analysis
  • include IN5700 or IN5020 in the study plan, unless you have already completed a course on distributed systems

 

Published July 23, 2025 12:41 PM - Last modified Nov. 18, 2025 12:29 PM