Isochronous Real-Time (IRT) traffic provides deterministic latency for selected flows. To achieve this, the transmission through the whole network is scheduled to take place at deterministic times on each hop. This set-up requires an IRT schedule to be calculated and then deployed in the network. State-of-the-art technologies that can provide IRT and non-IRT traffic in the same network, divide time into strict phases of IRT and non-IRT traffic. This requires the used IRT schedule to be optimized for bandwidth utilization, which is an NP-hard probem.
IEEE Time-Sensitive Networking offers the ability to transmit best-effort traffic, QoS traffic, and isochro- nous real-time (IRT) traffic over the same network without the need to have distinct phases, allowing the transmission of non-IRT frames in-between IRT frames. As a result, non-optimal schedules could be used in the network.
This may offer the opportunity for faster algorithms to be used, allowing a more flexible approach to IRT scheduling: The registration or removal of streams during runtime. This stream registration service can be provided by a centralized SDN controller. Once calculated, the IRT schedule can then be deployed with SDN.
In the first part of this thesis, the scheduling problem shall be solved by implementing a basic algorithm that can add or remove streams from a currently active schedule. Additionally, the creation of OpenFlow flow table entries has to be implemented.
In the next step, the algorithm shall be optimized for the needs of combining SDN with TSN, i.e., reducing the numbers of SDN flow table entries and TSN egress queues to be used.
In the evaluation, different versions of this algorithm shall be compared to each other by these two metrics, as well as average frame latency, the number of streams that can be supported at the same time, and the time to react to new stream registrations.
- Programming Expertise, Understanding of computational complexity
- Programming Language: Any
- Custom Mininet-based emulation environment for the project
- OpenDaylight SDN controller with a Python-based client for flow management, which provides interfaces for implementing IRT scheduling and SDN flow creation