The course project can be done in groups (maximum 3 people) or individually. Groups can comprise students from any of the participating universities.
Process includes a project proposal by the student (or group) followed by a revised proposal on the basis of instructors' feedback and a final project report. Students can propose their own projects or select one from a list of possible projects to be provided by the instructors for each of the four course modules.
Draft Project Timeline
- Feb 22, 2023 Draft Project Proposal Due
- March 01, 2023 Revised Project Proposal Due (based on instructor feedback)
- Apr 19, 2023 Final Project Report Due
Proposal Format
Write a 2 page proposal that describes:
-
The problem you plan to study
- Be specific!!!
-
Why you think it's important
- You should want to read this paper because...
- Related work you have found so far
-
What you plan to do including:
- Specific milestones you will achieve; these serve as a baseline -- something that is evaluate-able, but not very impressive.
- Specific milestones you plan to achieve
- Specific milestones you could achieve if things go incredibly well and you find yourselves ahead of schedule; this is the list of cool things you could do building on the accomplishments of a + b.
Final Report Format
The default form for a project is as a research paper of 10 to 15 pages (single column double spaced), a video demonstration of the experiment, and accompanying source code. It can be one of the following:
- An implementation and quantitative evaluation/comparison of existing systems or previous research proposals
- A prototype implementation/simulation of your proposed solution to a research problem in the scope of the chosen project topic.
Students (groups) who are taking both NetSoft theory and practice courses can combine their projects to address a single topic. The expected end report in this case should contain : (1) an introduction that motivates and describes the problem, and summarizes the project findings; (2) an elaborate discussion of the related works; (3) a detailed description of project contributions (i.e., architecture, algorithms, etc.); (4) evaluations of the proposed solution(s); (5) concluding remarks and possible future work. The report should not exceed 30 pages (single column double spaced).
Sample Projects
-
(Point of contact for the following projects will be University of
Waterloo)
-
Mechanisms for network slice isolation and security: Network slicing enables partitioning a shared network infrastructure into logical networks tailored to user or application requirements, including requirements for isolation and security. There may be varying levels of isolation. A network slice can be completely isolated from other slices by using dedicated NFs and network resources in all the network. The other extreme case is to share everything with other network slices. Sharing can also be defined in terms of the groups of NFs. For instance, two network slices can share RAN NFs and still use dedicated core NFs. The type of virtualization (VM or containers) and their placement on NFV infrastructure (NFVI) can also have an impact on isolation. For instance, given two VNFs belonging to two different end-to-end slices on a common NFVI, each with their own pinned CPU cores, one VNF may experience performance degradation if underlying shared processor resources (e.g., shared last level cache) is hogged by the other VNF. The aim of this project is to model how different types of NF sharing and isolation can impact slice performance in terms of latency, throughput, and reliability.
- Machine-learning based resource allocation in softwarized networks: Softwarized networks enable the deployment of network functions such as firewalls, NATs, and WAN optimizers as virtual network functions (VNFs) on commodity servers as opposed to using specialized hardware middleboxes. Very often network services require steering traffic through multiple network functions chained in a specific order, which is also known as service function chains (SFCs). Softwarized networks provide the flexibility to deploy these SFCs anywhere in the network where computing and switching equipment are available (e.g., central offices, edge data-centers, point-of-presence). In order to meet the quality of service (QoS) requirements (e.g., bandwidth) the constituent VNFs of an SFC are typically peak provisioned. Since network traffic exhibits a bursty nature, peak provisioning of the VNFs may lead to idle infrastructure resources during low-utilization periods. This project aims at taking a machine learning (ML) approach to provision resources for these VNFs. The project involves devising an ML models for predicting resource usage of co-located VNFs from different SFCs on different servers and proactively scale up or down resources (e.g., increasing/decreasing CPU shares through cgroup or starting a new instance for horizontal scale out) based on the prediction.
- Adaptive monitoring for SDN: Accurate network monitoring data is typically collected at the expense of increased overhead (e.g., network bandwidth, switch memory etc.). This monitoring overhead is expected to further increase with the flexibility brought about by network softwarization, resulting into significantly more monitoring probes deployed in the network for various monitoring purposes. This stresses the need for monitoring algorithms that leave minimal resource footprint in the network without sacrificing monitoring data accuracy. This project involves the design and implementation of a monitoring application that leverages SDN programmability to collect/sample flow data and/or statistics. To better understand the tradeoff between monitoring accuracy and overhead, we need to analyze the impact of varying monitoring frequencies and granularities on different performance metrics such as accuracy, runtime, cost, and computational overhead. The project goal is then to design, implement, and evaluate an algorithm to automatically adapt monitoring frequencies and granularities according to network conditions and current accuracy requirements. In this regard, machine learning techniques can be useful to learn and infer appropriate monitoring frequencies while taking into account current network condition.
- Software-Defined Security: This project involves leveraging SDN to detect and mitigate security threats (e.g., intrusion detection, DDoS attack etc.) made to a network. The global network view provided by SDN facilitates the collection of different types of monitoring data such as network usage, context of the flows etc. A security application can be thought of as a control application that leverages the global network view available at the control plane. The security application can employ data analytics techniques/Machine Learning to uncover unusual patterns in network usages and classify them into possible security threats (e.g., intrusion detection, DDoS attack etc.). Once such an attack is detected the security application should take mitigation steps such as block traffic matching certain flow signature, re-route traffic to a deep packet inspection box located at a fixed location in the network etc. To do so, the application can leverage the APIs provided by the controller to install necessary flow rules in the switches.
-
Federated learning for the Open Radio Access Network (RAN):
The Open RAN network is an emerging technology that seeks to
revolutionize the communication network industry by promoting
collaboration among various RAN providers. One of the significant
challenges in Open RAN is the allocation of radio resources and RAN
slicing, which requires precise and real-time information about the
network. This information is commonly stored in private datasets owned
by different Mobile Virtual Network Operators (MVNOs), making it
challenging to aggregate and utilize for resource allocation. The
competition among MVNOs often impedes their willingness to share data
for privacy reasons. This project proposes using Federated Learning
(FL) to address this challenge. FL is a machine learning approach that
enables the cooperative training of models across multiple devices to
build a global model, preserving the privacy of the data. The project
aims to implement FL in the field of Open RAN by training machine
learning models on each MVNO according to its users' requirements,
aggregating the models to form a federated model, and utilizing this
model to optimize the Open RAN network's performance through efficient
radio resource allocation.
-
Trustworthy and interpretable machine learning for networking:
The integration of machine learning (ML) in networking has shown great
potential for automating network management and optimizing network
performance. However, it is essential to ensure that the ML models
used in networking are trustworthy and interpretable. Interpretability
is needed to understand the decisions made by ML models and to ensure
that they align with network policies and regulations. Moreover, ML
models should be able to handle real-world challenges such as robustly
satisfying critical constraints and generalizing to unseen scenarios
without the need for additional training. The aim of this project is
to design and develop a trustworthy and interpretable ML model for a
networking task such as anomaly detection, traffic classification, and
resource optimization. This can involve utilizing techniques like
feature selection, graph neural networks, model interpretability, or
Explainable AI.
-
Benchmarking 5G core open-source implementations:
There are various open-source 5G core implementations available in the
literature, including free5GC, Open5GS, and OAI 5G CN. Investigating
the capabilities of various implementations in terms of metrics like
throughput, latency, and reliability, as well as their support for
network slicing and integration with machine learning, can aid in
determining the most suitable implementation for specific scenarios.
The aim of this project is to develop a benchmarking framework for
evaluating and comparing the performance of 5G core implementations.
This can involve implementing benchmarking scenarios, identifying
suitable performance metrics, examining the impact of different
network configurations such as the number of connected devices, and
analyzing the results to gain insights into the strengths and
limitations of different 5G core implementations.