Per Flow Network Scheduling for Dynamic QoE
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network scheduling algorithms are not designed for per flow scheduling in thin-client connections and fail to adapt to changing application and flow characteristics over time, leading to suboptimal Quality of Experience (QoE) during congestion periods.
Innovation Solution
A method for per flow scheduling that prioritizes flows based on application and flow characteristics, including dynamic changes in Round-Trip Time (RTT) and bandwidth requirements, using a hybrid scheduling technique that dynamically assigns flows to queue classes and adjusts bandwidth allocation to maintain high QoE, even during congestion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing scheduling algorithms are used, then device complexity is reduced, but Quality of Experience deteriorates during congestion periods
Solution Approach 1:
The network traffic is segmented into multiple queue classes based on application characteristics and flow requirements. Each queue class is handled by a dedicated scheduling algorithm, allowing complex QoE requirements to be managed through simpler, specialized sub-routines rather than a single complex scheduler.
Solution Approach 2:
The scheduling system dynamically adapts to changing application and flow characteristics over time. Queue class assignments and scheduling parameters are adjusted based on real-time monitoring of RTT, bandwidth requirements, and application state changes, enabling the system to maintain high QoE without requiring permanently complex fixed-structure algorithms.
2Reliability
If per flow scheduling is implemented, then Quality of Experience improves, but scalability deteriorates
Solution Approach 1:
The scheduling device implements a universal framework that handles multiple flow types and application characteristics through a common set of queue classes and scheduling mechanisms. This multi-functional approach allows the system to provide per-flow scheduling benefits across diverse traffic types without requiring separate specialized handlers for each case, thereby improving scalability.
Solution Approach 2:
Instead of creating separate scheduling structures for each flow, the system manages per-flow characteristics by dynamically changing parameters such as queue class assignments, weight values, and bandwidth allocations. This parameter-based control enables fine-grained flow management while maintaining a compact, scalable data structure that does not grow linearly with the number of flows.
3Manufacturing precision
If application characteristics are monitored dynamically, then scheduling accuracy improves, but measurement precision requirements increase
Solution Approach 1:
The system uses lightweight, easily obtainable metrics such as packet inter-arrival times, flow duration, and basic header information to infer application characteristics. Rather than requiring complex, resource-intensive deep packet inspection or precise application identification, the scheduler uses these simpler, more readily available signals to achieve adequate scheduling accuracy for most practical purposes.
Solution Approach 2:
The scheduling system continuously monitors flow characteristics and QoE outcomes, using this feedback to refine queue class assignments and scheduling decisions. This closed-loop approach allows the system to improve scheduling accuracy over time through learning and adaptation, reducing the need for extremely precise initial measurements while maintaining high scheduling effectiveness.
Data Source
AI summary
A method operates a network, wherein multiple clients are connected to a server for accessing an application that is provided or running on the server. The application is tunneled within one or more corresponding flows between the clients and the server. A device for per flow scheduling of the flows prioritizes the flows based on at least one of application characteristics, application requirements, flow characteristics or flow requirements. The prioritizing by the device takes into consideration a change or a variation, over time, of at least one of an application characteristic, an application requirement, a flow characteristic or a flow requirement.


