Traffic scheduling method and system for multi-core SDN switch
By combining deep learning models and load prediction models, the traffic scheduling strategy of multi-core SDN switches is dynamically adjusted, solving the problems of network latency and low resource utilization in traditional methods, and achieving efficient and adaptive traffic management.
Patent Information
- Application Number
- CN202410553166.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-07
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2044-05-07
AI Technical Summary
Traditional multi-core SDN switch traffic scheduling methods perform poorly when handling bursty or unevenly distributed traffic, resulting in low network latency and resource utilization. They also lack adaptive and systematic performance monitoring and cannot effectively cope with changes in network demand.
It employs a deep learning model to identify and classify data packet types in real time, combines a load prediction model to predict future traffic patterns, dynamically adjusts pipeline configuration and load balancing strategies, optimizes resource allocation through key performance indicators, and integrates performance monitoring and feedback mechanisms.
It improves network adaptability and responsiveness, reduces latency and congestion, optimizes resource utilization, and ensures that the network maintains efficient operation under various traffic conditions.
Smart Images

Figure CN118509373B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of software-defined networking technology, and in particular to a traffic scheduling method and system for multi-core SDN switches. Background Technology
[0002] In modern data centers and network infrastructures, the traffic scheduling strategies of multi-core SDN (Software-Defined Networking) switches are crucial to the performance and efficiency of the entire network system. These switches are responsible for efficiently managing and distributing network traffic, ensuring that data packets can be transmitted quickly and accurately throughout the network. However, with the increasing volume of network traffic and the diversification of network applications, traditional traffic scheduling methods face growing challenges.
[0003] The main problems with traffic scheduling include processing latency, uneven load distribution, and low resource utilization. These problems are often exacerbated by reliance on static, non-adaptive scheduling strategies, such as allocating traffic based on hash functions with preset rules. This approach performs poorly when handling bursty or unevenly distributed traffic. Furthermore, fixed pipeline configurations limit the ability of switches to cope with varying network demands, leading to bottlenecks during peak traffic periods and wasted resources during off-peak hours.
[0004] Existing technologies (Chinese invention patent, publication number CN117793031A) have shown significant shortcomings in the face of these challenges. For example, load balancing based on simple hash functions cannot effectively predict and adapt to changes in traffic patterns, easily leading to network congestion and a decline in service quality. At the same time, the lack of systematic performance monitoring and feedback mechanisms makes it difficult for network operators to adjust and optimize network configurations in real time, and to fully utilize multi-core processing capabilities. Summary of the Invention
[0005] To address the numerous problems existing in the prior art, this invention provides a traffic scheduling method and system for multi-core SDN switches. This invention utilizes the centralized control capabilities of software-defined networks to dynamically adjust pipeline configurations and load balancing strategies, based on real-time monitoring of network performance metrics and the output of predictive models. Key performance indicators (such as processing latency, throughput, and packet loss rate) are used to evaluate the effectiveness of current traffic management and guide adjustments to the number, functionality, and priority of pipelines to optimize resource allocation and improve network efficiency. This invention enhances network adaptability and responsiveness, enabling the network to dynamically adjust resources according to actual traffic demands and network conditions. This not only reduces latency and congestion but also improves the performance assurance of critical applications. Through continuous performance monitoring and adjustments, network administrators can ensure that the network maintains optimal operating conditions under various traffic conditions.
[0006] A traffic scheduling method for multi-core SDN switches includes the following steps:
[0007] Continuously monitor and capture raw traffic data packets, use deep learning models to identify and classify packet types in real time, and extract flow feature description data;
[0008] Based on flow feature description data and historical load data, a load prediction model is used to predict traffic patterns and potential hash collisions within a specified future time period, generating predicted load data.
[0009] Based on predicted load data, load balancing strategies and pipeline configurations are dynamically adjusted to ensure optimal allocation of network resources, while also generating pipeline configuration data.
[0010] Based on the pipeline configuration data, each pipeline processes the data packets it is assigned and monitors the performance of the entire network traffic processing. Key performance indicator data is collected and used to optimize the load prediction model and adjust the pipeline configuration to achieve continuous optimization of system performance.
[0011] Preferably, the deep learning model learns to identify complex patterns and features in data packets by using historical traffic data as training samples; during training, the deep learning model optimizes the ability to identify and classify data packets by adjusting internal weights and biases to minimize prediction errors; after training, the deep learning model analyzes the incoming data in real time and classifies the data packet types, including video streams, emails, and web data.
[0012] Preferably, flow feature description data is extracted based on the data packet type, and the flow feature description data includes:
[0013] Communication endpoint information: source IP address and destination IP address, port number;
[0014] Traffic characteristics: data packet size, number of data packets, total traffic;
[0015] Temporal characteristics: Flow duration, arrival time interval;
[0016] Protocol characteristics: the type of protocol used, protocol-specific fields;
[0017] Service type: Quality of service parameters, application layer protocol.
[0018] Preferably, the flow feature description data and historical load data are integrated into a comprehensive dataset. The load prediction model is trained by identifying and extracting specific patterns and features from the data in the comprehensive dataset through a neural network with at least two layers. After training, the load prediction model is used to receive new flow feature description data, identify the trend, periodicity and potential anomalies or congestion points of the traffic from the flow feature description data, and output predicted load data. The predicted load data is used to describe the traffic patterns and potential hash collisions experienced by the network in a future specified time period.
[0019] Preferably, based on predicted load data, data flows are redistributed to different servers or network paths to avoid overload and reduce latency, thus achieving dynamic adjustment of the load balancing strategy;
[0020] Based on predicted load data, the number and functionality of pipelines are increased or decreased according to the predicted traffic patterns and types, thus achieving dynamic adjustment of pipeline configuration.
[0021] Preferably, the pipeline configuration data is used to describe the operating parameters and preset tasks of each pipeline. The pipeline configuration data includes: the number of pipelines, the functional definition of each pipeline, its processing capacity, priority setting, and the corresponding network traffic type.
[0022] Preferably, the key performance indicator data is used to optimize the load prediction model and adjust the pipeline configuration, including:
[0023] Based on key performance indicator data, the accuracy of the current load prediction model in predicting traffic distribution and behavior is shown. By comparing the actual performance with the predicted load data, the model parameters or training data are adjusted to more accurately reflect the actual network operation.
[0024] When key performance indicators show that certain pipelines are overloaded during peak hours, the number of pipelines handling that type of traffic should be increased or the processing capacity of existing pipelines should be adjusted. When the utilization rate of certain pipelines remains low, these pipelines need to be reduced or resources should be reallocated to where they are needed more. Furthermore, pipeline prioritization should be guided based on the key performance indicator data to ensure that critical applications are processed first.
[0025] The key performance indicators include: processing latency, throughput, and packet loss rate.
[0026] A traffic scheduling system for multi-core SDN switches, comprising:
[0027] The packet monitoring module is configured to continuously monitor and capture packets of raw traffic data.
[0028] The data classification module includes a deep learning model configured to identify and classify data packet types in real time and extract stream feature descriptions.
[0029] The load prediction module uses the extracted flow feature description data and historical load data to predict traffic patterns and potential hash collisions within a specified future time period through a load prediction model, and generates predicted load data.
[0030] The load balancing adjustment module dynamically adjusts the load balancing strategy and pipeline configuration based on the predicted load data to ensure the optimal allocation of network resources and generate pipeline configuration data.
[0031] The pipeline processing module includes at least two pipelines, each pipeline processes the data packets it is assigned according to the pipeline configuration data, and monitors the performance of the entire network traffic processing.
[0032] The performance monitoring module is configured to collect key performance indicator data, which is used to optimize the load prediction model and adjust the pipeline configuration to achieve continuous optimization of system performance.
[0033] Compared with the prior art, the advantages and beneficial effects of the present invention are as follows:
[0034] This invention uses a deep learning model to identify and classify data packet types in real time, improving the dynamism and accuracy of data processing and allowing the system to respond more effectively to various traffic demands.
[0035] This invention uses machine learning models to predict future traffic patterns and potential hash collisions, and dynamically adjusts load balancing strategies and pipeline configurations to ensure optimal allocation of network resources.
[0036] This invention also integrates a comprehensive performance monitoring and feedback mechanism, which not only improves the network's adaptive capability, but also achieves continuous optimization of system performance through continuous data analysis and model adjustment;
[0037] This invention significantly improves the performance and stability of multi-core SDN switches under high load environments, meeting the stringent requirements of modern networks for efficient traffic management. Attached Figure Description
[0038] Figure 1 This is a schematic flowchart of the method of the present invention;
[0039] Figure 2 This is a structural block diagram of the system of the present invention. Detailed Implementation
[0040] The embodiments of the present disclosure will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the disclosure. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure for ease of explanation. However, it will be apparent that one or more embodiments may be practiced without these specific details. Furthermore, descriptions of well-known structures and techniques are omitted in the following description to avoid unnecessarily obscuring the concepts of the present disclosure.
[0041] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0042] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0043] When using expressions such as "at least one of A, B, and C," the expression should generally be interpreted in accordance with the meaning commonly understood by a person skilled in the art (e.g., "a system having at least one of A, B, and C" should include, but is not limited to, systems having A alone, having B alone, having C alone, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). Similarly, when using expressions such as "at least one of A, B, or C," the expression should generally be interpreted in accordance with the meaning commonly understood by a person skilled in the art (e.g., "a system having at least one of A, B, or C" should include, but is not limited to, systems having A alone, having B alone, having C alone, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.).
[0044] The accompanying drawings illustrate several block diagrams and / or flowcharts. It should be understood that some blocks, or combinations thereof, in the block diagrams and / or flowcharts can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that, when executed by the processor, these instructions can create means for implementing the functions / operations described in these block diagrams and / or flowcharts. The technology of this disclosure can be implemented in hardware and / or software (including firmware, microcode, etc.). Alternatively, the technology of this disclosure can take the form of a computer program product stored on a computer-readable storage medium, which is available for use by or in conjunction with an instruction execution system.
[0045] A traffic scheduling method for multi-core SDN switches includes the following steps:
[0046] Continuously monitor and capture raw traffic data packets, use deep learning models to identify and classify packet types in real time, and extract flow feature description data;
[0047] In traffic scheduling of multi-core SDN switches, this invention employs a deep learning-based method to continuously monitor and capture raw traffic data packets, identify and classify packet types in real time, and then extract key flow feature description data. The core of this process lies in improving the efficiency and accuracy of traffic scheduling through intelligent technology, thereby optimizing the performance of the entire network.
[0048] Multi-core SDN switches continuously capture all data packets passing through them through their built-in monitoring mechanisms. This process is real-time, ensuring that all traffic data is logged and can be used for further analysis. Monitoring systems are typically designed to be efficient and low-latency to handle the large amounts of data transmission in high-speed networks.
[0049] Once data packets are captured, deep learning models immediately begin processing them. These models, typically composed of multi-layered neural networks, are capable of learning complex patterns from the characteristics of the data packets. For example, the model analyzes information such as packet size, source and destination IP addresses, port numbers, and protocol types to determine whether the packet belongs to a video stream, a VoIP call, or simple data transmission. For instance, if a data packet originates from a known video streaming service's IP address and its size remains consistently large, the model can classify it as video traffic. This classification is based on recognition patterns trained from a large amount of historical data.
[0050] After classification, the model further extracts detailed feature descriptions of the traffic. This data includes the flow's communication endpoint information, traffic characteristics, time characteristics, protocol characteristics, and service type. This information is crucial for determining how to manage and schedule network traffic.
[0051] For example, for traffic identified as VoIP calls, the system extracts features with high real-time requirements, such as low latency and high priority, and then configures a dedicated processing pipeline for such call traffic in the switch to ensure call quality.
[0052] This invention utilizes deep learning models for real-time identification and classification of traffic data, significantly improving the flexibility and accuracy of traffic scheduling compared to traditional static rule-based methods. This approach more accurately reflects actual traffic changes occurring in the network, enabling network administrators to manage and optimize network resources more effectively. Particularly in multi-core SDN switches, this intelligent traffic processing better utilizes the processing power of multiple cores, dynamically adjusting the load on each core to avoid overloading some cores while others remain idle, thereby improving the overall system's processing capacity and efficiency. Furthermore, through real-time performance feedback, the system can continuously optimize its predictive models and adjustment strategies, ensuring the network maintains optimal performance in the face of constantly changing traffic demands.
[0053] In summary, this invention provides a more intelligent and adaptive method for traffic scheduling in multi-core SDN switches by introducing advanced deep learning technology, which is particularly important in dealing with today's increasingly complex and growing network traffic.
[0054] Preferably, the deep learning model learns to identify complex patterns and features in data packets by using historical traffic data as training samples; during training, the deep learning model optimizes the ability to identify and classify data packets by adjusting internal weights and biases to minimize prediction errors; after training, the deep learning model analyzes the incoming data in real time and classifies the data packet types, including video streams, emails, and web data.
[0055] In traffic scheduling of multi-core SDN switches, the application of deep learning models provides an efficient and accurate method for identifying and classifying data packets passing through the network. This method aims to improve network performance and response speed while optimizing resource utilization.
[0056] The training process of deep learning models involves using historical traffic data as training samples. This data includes various types of network traffic and corresponding packet characteristics, such as packet size, protocol type, source and destination IP addresses, etc. Through this data, the model can learn and identify complex patterns in the data flow. For example, the model recognizes that a specific combination of packet size and port number is often associated with video traffic. This pattern learning is based on statistical information and features extracted from a large amount of historical data. During the model training phase, prediction errors are minimized by adjusting the weights and biases within the network. This is accomplished through backpropagation and other optimization algorithms, with the goal of reducing the discrepancy between the model output and the actual labels.
[0057] When using deep learning models to identify packet types, the models typically analyze multiple features of the packets, including but not limited to packet size, protocol type, port number, and timestamp. Each type of packet (such as video streams, emails, and web data) has its own unique characteristic patterns.
[0058] Video stream packets: typically have large packet sizes and high throughput. Video data streams often use specific ports and protocols (such as RTMP or HLS).
[0059] Email data packets typically contain specific protocol ports such as SMTP (port 25), IMAP (port 143), or POP3 (port 110). Email packets are smaller than video streams, but they are characterized by high-frequency, small packet transmission.
[0060] Web packets: These are typically transmitted via HTTP or HTTPS protocols (ports 80 and 443), and the size and number of packets can vary depending on the richness of the web page content.
[0061] Deep learning models learn how to categorize new traffic into predefined classes by analyzing the patterns of these features in the training data. Once trained, the model can analyze these features and predict the class of new data packets in real time as they arrive.
[0062] During the training of a deep learning model, the adjustment of weights and biases is achieved through the backpropagation algorithm, which is often used in conjunction with optimization algorithms such as gradient descent. The specific steps are as follows:
[0063] (1) Forward propagation: The features of the input data packet are propagated forward through each layer of the model, and each layer processes the data using its weights and biases;
[0064] (2) Loss calculation: The predicted results output by the model are compared with the true labels, and the loss function (such as cross-entropy loss) is calculated, which reflects the accuracy of the prediction;
[0065] (3) Backpropagation: The gradient of the loss function with respect to each weight and bias is calculated, and these gradients indicate how to adjust the parameters to reduce the error;
[0066] (4) Parameter update: Use gradient descent (or other optimization algorithms) to update the weights and biases in the network. The adjustment amount is usually proportional to the product of the learning rate and the gradient.
[0067] This process is repeated in multiple iterations until the model's performance on the validation set no longer improves significantly or the preset number of iterations is reached.
[0068] Using historical traffic data as training samples has a significant impact on model performance. This historical data provides rich contexts and cases, enabling the model to learn the behavior patterns of data packets under different network conditions. For example, historical data includes characteristics of periods of network congestion or packet characteristics during special events (such as large-scale DDoS attacks).
[0069] Through training, the model can identify complex patterns, such as recognizing that certain traffic peaks are related to increased video traffic or increased email traffic during specific holidays. The model can therefore predict future traffic changes and provide a scientific basis for traffic scheduling on SDN switches, enabling network operators to prepare in advance and adjust resource allocation strategies to adapt to predicted traffic changes.
[0070] This training method based on historical data greatly enhances the network's adaptability and efficiency, enabling it to better cope with complex and ever-changing network environments.
[0071] The trained deep learning model is deployed to a multi-core SDN switch for real-time analysis of incoming data packets. The model quickly classifies packet types, distinguishing between video streams, emails, and web data. This classification is based on packet characteristics learned during training. For example, if a packet's characteristics match a video traffic pattern determined during training, such as high packet size and specific port usage, the model classifies it as a video stream. This instant classification capability is crucial for optimizing traffic scheduling on the multi-core SDN switch, as it allows the system to appropriately prioritize and allocate resources to different types of traffic.
[0072] This invention enables multi-core SDN switches to allocate appropriate processing cores and bandwidth to different types of data flows through precise classification. For example, video traffic, due to its high bandwidth requirements, is allocated to higher-performance cores. Accurate traffic identification allows switches to respond quickly to traffic changes, adjusting their resource usage in a timely manner to reduce congestion and latency. By avoiding unnecessary processing and reducing potential conflicts, precise traffic classification and scheduling can significantly improve overall network efficiency.
[0073] In summary, the application of deep learning models in traffic scheduling of multi-core SDN switches not only improves the accuracy of data processing but also significantly enhances network performance and stability through intelligent traffic analysis and dynamic resource allocation. This technological advancement provides a necessary tool for handling the complex and high-speed data flows in modern networks.
[0074] Preferably, flow feature description data is extracted based on the data packet type, and the flow feature description data includes:
[0075] Communication endpoint information: source IP address and destination IP address, port number;
[0076] Traffic characteristics: data packet size, number of data packets, total traffic;
[0077] Temporal characteristics: Flow duration, arrival time interval;
[0078] Protocol characteristics: the type of protocol used, protocol-specific fields;
[0079] Service type: Quality of service parameters, application layer protocol.
[0080] In traffic scheduling of multi-core SDN switches, accurately identifying and utilizing flow characteristic description data is crucial for achieving efficient and intelligent network management. The following is an in-depth analysis of this flow characteristic description data, covering its principles and effects, and specifically illustrating how each data type is applied to traffic scheduling strategies in multi-core SDN switches.
[0081] (1) Communication endpoint information includes source IP address, destination IP address, and port number. This basic information is the core element of traffic scheduling because it directly defines the start and end points of the data flow. For example, in a multi-core SDN switch, traffic can be intelligently routed to a specific processing core based on the destination IP address and port number to balance the load and reduce the overhead of cross-core communication.
[0082] (2) Traffic characteristics encompass packet size, number of packets, and total traffic. These characteristics help switches understand the volume and transmission characteristics of traffic, thereby adjusting buffer sizes and queue management strategies. For example, a flow of many small packets requires different queuing strategies than a flow of large packets to optimize processing latency and throughput.
[0083] (3) Temporal characteristics include stream duration and arrival time interval. These temporal parameters are crucial for understanding the behavioral patterns and periodicity of streams. For example, data streams with long durations represent continuous video conferences, while irregular arrival time intervals indicate network congestion or traffic bursts.
[0084] (4) Protocol characteristics involve the type of protocol used and protocol-specific fields. This information is crucial for determining the processing priority and security requirements of data streams. For example, identifying encrypted HTTPS traffic requires specific security handling strategies, while identifying specific TCP flags such as SYN and ACK can help optimize connection management.
[0085] (5) Service type involves quality of service parameters and application layer protocols. This information helps network administrators configure appropriate resources for different service levels and application types, such as guaranteeing low-latency paths for VoIP calls or allocating high-bandwidth channels for FTP transfers.
[0086] This invention enables multi-core SDN switches to implement more intelligent traffic scheduling strategies by accurately extracting and utilizing these flow characteristic description data. By analyzing endpoint information and traffic characteristics, the switch can dynamically adjust traffic allocation to ensure load balancing across processing cores and prevent some cores from being overloaded while others remain idle. The application of time and protocol characteristics allows the switch to intelligently adjust resources based on real-time traffic demands and protocol requirements, improving overall network performance. Service type identification allows the switch to prioritize resources for critical applications and services, ensuring service quality and user experience.
[0087] In summary, this traffic scheduling strategy based on flow feature description data not only improves the utilization of network resources but also enhances the network's adaptability and responsiveness, enabling multi-core SDN switches to effectively cope with various challenges in modern network environments.
[0088] Based on flow feature description data and historical load data, a load prediction model is used to predict traffic patterns and potential hash collisions within a specified future time period, generating predicted load data.
[0089] The foundation for building load forecasting models is the integration of flow characteristic description data and historical load data. Flow characteristic description data provides real-time traffic characteristics, including packet type, size, and communication endpoint information, while historical load data provides patterns and trends in past traffic.
[0090] Using this data, load forecasting models (typically machine learning models such as neural networks or decision trees) are trained to identify complex patterns in traffic and predict future loads. This includes learning about periodic changes in traffic, the impact of sudden events, and the behavioral characteristics of different types of traffic.
[0091] Especially in predicting potential hash collisions, the model needs to identify distribution patterns that lead to uneven traffic or overload. Hash collisions typically occur when multiple traffic flows through the same processing path, and the model predicts potential future collision points by analyzing historical collision events and current traffic configurations.
[0092] By predicting future traffic patterns, multi-core SDN switches can respond in advance, adjusting routing policies and load balancing settings to avoid potential congestion and performance bottlenecks. For example, if a predictive model indicates that a large amount of video traffic will pass through a specific core during a certain period, network administrators can adjust the routing of other types of traffic in advance, or increase resources to handle that type of traffic.
[0093] By dynamically adjusting pipeline configuration and resource allocation, the model helps ensure load balancing across each processing core, optimizing overall network performance. This predictive approach makes resource allocation more accurate and efficient, reducing resource waste.
[0094] Predicting potential hash collisions allows system administrators to take action before a collision occurs, such as adjusting the hash algorithm or reconfiguring the pipeline, to ensure that traffic is smoothly distributed across multiple cores.
[0095] The load prediction model of this invention plays a crucial role in traffic scheduling of multi-core SDN switches. It predicts future traffic trends and potential problems by analyzing historical and real-time data. This not only improves network responsiveness and performance but also reduces potential network problems through preventative measures, ensuring the stable and efficient operation of the data center.
[0096] Preferably, the flow feature description data and historical load data are integrated into a comprehensive dataset. The load prediction model is trained by identifying and extracting specific patterns and features from the data in the comprehensive dataset through a neural network with at least two layers. After training, the load prediction model is used to receive new flow feature description data, identify the trend, periodicity and potential anomalies or congestion points of the traffic from the flow feature description data, and output predicted load data. The predicted load data is used to describe the traffic patterns and potential hash collisions experienced by the network in a future specified time period.
[0097] In the traffic scheduling strategy of multi-core SDN switches, integrating flow characteristic description data and historical load data into a comprehensive dataset and using a load prediction model is one of the core technologies. This approach aims to optimize network resource allocation and performance by predicting network traffic patterns and potential hash collisions through advanced neural network technology.
[0098] Real-time flow characteristic description data and historical load data. Flow characteristic description data provides immediate traffic information, such as packet size, protocol type, source and destination addresses, while historical load data provides past traffic behavior patterns and trends. Together, this data provides a comprehensive perspective, enabling models to more accurately learn and predict network traffic dynamics.
[0099] Load forecasting models typically employ at least two layers of neural networks. This multi-layered structure allows the model to capture data patterns ranging from simple to complex. During training, the first layer identifies basic traffic characteristics, such as common features during traffic peaks, while deeper layers learn more complex patterns, such as traffic anomalies caused by specific events. For example, the model might learn to detect increased data flow at a specific time every Monday morning due to backup operations, or identify traffic anomalies caused by specific types of attacks.
[0100] After training, the load prediction model receives new flow characteristic description data in real time and analyzes traffic trends, periodicity, and potential anomalies or congestion points. The model's output—predicted load data—includes descriptions of traffic patterns and potential hash collisions the network will experience over a future period. This predictive data is crucial for multi-core SDN switches because it can be used to dynamically adjust pipeline configurations and load balancing strategies to avoid predicted congestion points and optimize resource usage.
[0101] In traffic scheduling of multi-core SDN switches, identifying traffic trends, periodicity, and potential anomalies or congestion points is crucial. These capabilities are primarily achieved through the use of advanced machine learning techniques.
[0102] To identify anomalies and congestion points in traffic, load forecasting models typically employ the following techniques:
[0103] (1) Time series analysis: Time series algorithms (such as ARIMA, seasonal decomposition time series forecasting models, etc.) are used to identify the periodicity and trends of traffic data. These algorithms can simulate and predict traffic changes over time, helping network administrators understand traffic patterns and predict future traffic fluctuations.
[0104] (2) Anomaly detection algorithms: such as cluster-based anomaly detection (K-means, etc.), distance-based methods (such as local anomaly detection), or neural networks (such as autoencoders). These algorithms can identify traffic behaviors that do not conform to normal patterns, such as sudden surges or significant drops in traffic, indicating DDoS attacks or network device failures.
[0105] (3) Machine learning classification models: such as random forests, support vector machines or deep neural networks, which can learn from historical data what traffic behaviors represent potential congestion and identify them in real-time traffic.
[0106] In actual network traffic management, if the model predicts a traffic peak within a specific time period (such as due to a large online event), the SDN controller can adjust the routing policy in advance to redistribute some traffic to paths with lower current load, in order to avoid congestion and service quality degradation.
[0107] Predictive load data plays a central role in traffic scheduling on SDN switches, with specific applications including:
[0108] (1) Traffic scheduling strategy: When the load forecasting model predicts that there will be high traffic or potential hash collisions in a certain period of time in the future, the SDN controller can dynamically adjust the traffic scheduling strategy based on this information.
[0109] Specific measures include:
[0110] If high traffic volume is predicted, increase the processing capacity of the corresponding pipeline or activate backup resources.
[0111] Optimize the number of pipelines and allocation strategy based on traffic type and prediction results to ensure that each traffic type is evenly distributed across all processing units and avoid overloading any single node.
[0112] (2) To deal with hash collisions, when a potential hash collision is predicted, the system can adjust the hash function or change the load balancing algorithm to distribute the upcoming traffic and reduce collisions. For example, the hash parameters of the hash algorithm can be adjusted to distribute traffic more evenly across multiple processing nodes, or a more complex load balancing algorithm can be introduced to dynamically adjust traffic distribution.
[0113] Through these strategies, SDN switches can more effectively manage and optimize network resources, improve the overall performance and stability of the network, and reduce latency and packet loss caused by uneven traffic or congestion.
[0114] This invention enables multi-core SDN switches to identify traffic trends and changes in advance through this data-driven prediction model. This allows network administrators to adjust routing policies and resource allocation in advance to cope with predicted increases or decreases in traffic. By predicting potential hash collisions, switches can make adjustments in advance, such as reallocating some traffic to less used processing cores, thereby avoiding overload and performance bottlenecks.
[0115] Optimize network responsiveness and resource utilization: Accurate traffic prediction enables more rational allocation of network resources, improving overall network efficiency and response speed.
[0116] In summary, this neural network-based load prediction model plays a crucial role in traffic scheduling of multi-core SDN switches, not only improving the intelligence level of network management but also greatly enhancing the network's adaptability and performance.
[0117] Based on predicted load data, load balancing strategies and pipeline configurations are dynamically adjusted to ensure optimal allocation of network resources, while also generating pipeline configuration data.
[0118] Load forecasting models analyze historical load data and current flow characteristics to predict network traffic patterns and potential hash collisions over a specific future time period. This forecast data provides a basis for dynamically adjusting load balancing strategies. For example, if the model predicts a data center will experience high traffic load in the next few hours, the SDN controller can adjust traffic routing policies in advance to distribute or redirect some traffic to avoid potential congestion.
[0119] Based on predicted load data, the SDN controller adjusts load balancing strategies, such as changing traffic allocation rules, adjusting priority policies, or modifying routing configurations. This adjustment is dynamically executed based on data provided by the model to adapt to predicted traffic changes. For example, for an upcoming surge in video traffic, the system will prioritize video traffic through paths with higher bandwidth, while reducing the allocation of other types of traffic on these paths.
[0120] Pipeline configuration adjustments are made based on predicted load, including increasing or decreasing the number of pipelines and adjusting the processing capacity and tasks of each pipeline. Such adjustments ensure that each pipeline can efficiently handle its assigned traffic, thereby optimizing overall network performance. For example, if an increase in requests for a certain service is predicted, the corresponding pipeline configuration will be enhanced to handle the higher request rate.
[0121] After adjusting the load balancing strategy and pipeline configuration, the system generates new pipeline configuration data, which includes the current configuration information and status of each pipeline. This information is crucial for system operation and maintenance management and can be used for monitoring and further optimization decisions.
[0122] This invention significantly improves network resource utilization efficiency and overall system performance by dynamically adjusting load balancing strategies and pipeline configurations, based on traffic scheduling strategies using predicted load data. Specific effects include: the system can quickly respond to traffic changes, avoiding potential network bottlenecks and congestion through pre-adjustment of configurations; through dynamic adjustment, network resources are allocated on demand, avoiding excessive concentration or idleness, thus improving resource utilization; optimized traffic allocation and pipeline configuration reduce latency and increase data transmission rates, thereby enhancing user experience and service quality.
[0123] This data-driven, dynamic adjustment strategy provides an efficient and flexible solution for traffic management of multi-core SDN switches, capable of meeting the ever-increasing and changing traffic demands in modern network environments.
[0124] Preferably, based on predicted load data, data flows are redistributed to different servers or network paths to avoid overload and reduce latency, thus achieving dynamic adjustment of the load balancing strategy;
[0125] Based on predicted load data, the number and functionality of pipelines are increased or decreased according to the predicted traffic patterns and types, thus achieving dynamic adjustment of pipeline configuration.
[0126] Based on data provided by the load prediction model, the SDN controller can identify in real time which servers or network paths are at risk of overload. Using this information, the SDN controller can decide to redirect some data flows to servers or paths with lower loads, thereby preventing individual nodes from overloading and balancing the load across the entire network. By optimizing data flow, the transmission distance and time of data within the network are reduced, effectively reducing communication latency.
[0127] In a multi-core SDN switch environment, data flow redirection strategy is one of the key traffic management technologies, designed to optimize network performance and reduce latency through intelligent routing.
[0128] First, the system needs to assess the current performance status of all servers and network paths, including bandwidth utilization, response time, and processing capacity. This data is typically provided in real-time by network monitoring tools. Based on predicted load data, the system analyzes the future load faced by each server and path. This includes predicting traffic peaks, data types (such as video, email, and web requests), and traffic duration.
[0129] Decision support algorithms (such as cost-based routing and least-load-first routing) are used to select the optimal data flow path. For example, the algorithm decides to redirect video traffic to a higher-bandwidth path, while redirecting data-intensive requests such as file downloads to a more powerful server. The SDN controller dynamically adjusts routing policies based on real-time data and forecasts to respond to changes in network conditions in real time.
[0130] After the redirection is implemented, continue to monitor network performance and latency to verify the effectiveness of the redirection strategy and make adjustments as necessary. Collect the implementation results to optimize future prediction models and decision-making algorithms, continuously improving the intelligence and accuracy of network scheduling.
[0131] In one embodiment, during a large online event, a load forecasting model predicts that specific network nodes will receive a large amount of traffic. The SDN controller can preemptively redirect some video streams or data requests to other nodes with underutilized processing capacity, ensuring smooth operation of the entire network and avoiding video stuttering or service delays caused by node overload.
[0132] Based on predicted traffic patterns and types, the SDN controller can dynamically increase or decrease the number of pipelines, or adjust the functionality and priority of pipelines. This adjustment is based on predictions of future traffic demand to ensure that each type of traffic is appropriately processed. Dynamically adjusting pipeline configurations helps to use processing resources more efficiently, avoid resource idleness or overload, and improve the overall operating efficiency of network devices.
[0133] Dynamic adjustments to the pipeline are based on a thorough understanding of network requirements, and the specific steps include:
[0134] (1) Analyze traffic patterns and demands: Based on the predicted load data, identify different types of traffic demands, such as real-time data processing and big data transmission, as well as the specific characteristics of these demands. Analyze traffic patterns to identify the periodicity and peak time periods of traffic, and determine the types of traffic that require special handling or priority management.
[0135] (2) Adjust pipeline configuration: Increase or decrease the number of pipelines based on traffic patterns and types. For example, additional pipelines dedicated to video processing are needed for predicted periods of high video traffic. Adjust the functional settings of each pipeline, such as setting up dedicated encryption, decoding, or caching functions for specific types of data. Allocate processing resources reasonably to ensure that each pipeline is configured with appropriate processing capacity and storage resources according to the type and volume of data it processes.
[0136] (3) Effect evaluation and optimization: After implementing the adjustments, the performance of the network and each pipeline will be tested to evaluate whether the actual effect of the adjustments meets expectations. Based on the test results and actual operation, the pipeline configuration and resource allocation strategy will be further optimized to improve the overall network efficiency and responsiveness.
[0137] Through these detailed strategies and methods, this invention enables multi-core SDN switches to achieve more precise traffic management and resource optimization, cope with ever-changing network demands, and thus maintain an efficient and stable network operation.
[0138] In one embodiment, when a large influx of real-time gaming traffic is anticipated, the SDN controller can add dedicated pipelines for processing gaming data and increase their priority to ensure low latency and high responsiveness in gaming data processing. Furthermore, if a certain type of traffic is less prevalent, the corresponding pipeline can be temporarily scaled back, and resources allocated to pipelines that require it more.
[0139] This invention can adapt to different network load conditions, dynamically adjust resource allocation, and enhance the network's adaptability to traffic fluctuations; through reasonable traffic allocation and resource configuration, it minimizes network latency and improves data processing speed; and ensures that all processing resources are used most effectively, reducing resource waste.
[0140] This prediction-based traffic scheduling strategy provides a forward-looking solution for traffic management in SDN environments, making network management more intelligent and enabling it to anticipate and respond to various network conditions, thereby maintaining the continuity and quality of network services.
[0141] Preferably, the pipeline configuration data is used to describe the operating parameters and preset tasks of each pipeline. The pipeline configuration data includes: the number of pipelines, the functional definition of each pipeline, its processing capacity, priority setting, and the corresponding network traffic type.
[0142] The pipeline configuration data consists of:
[0143] The number of pipelines refers to the total number of pipelines configured in the switch. The number is determined based on the overall network load demand and forecast data to ensure sufficient processing capacity to handle various traffic conditions.
[0144] The functional definition of each pipeline covers its main responsibilities and processing types, such as specifically handling video traffic, VoIP calls, or data storage. The functional definition is based on the main traffic types and business needs in the network.
[0145] Processing capacity, or bandwidth, of each pipeline determines the amount of data it can process and its processing speed. Processing capacity is set based on statistical analysis of traffic and predictions of future traffic.
[0146] Priority settings allow certain pipelines to be given higher priority during peak network traffic periods to ensure that the performance of critical applications and services is not affected.
[0147] The corresponding network traffic type is configured for each pipeline based on the type of traffic it processes, such as real-time video, large-scale data download, or interactive applications.
[0148] This invention enables SDN controllers to dynamically adjust the number and functionality of pipelines based on network conditions by precisely describing and managing pipeline configurations, achieving optimal resource allocation. For example, during predicted peak video conferencing periods, the number and processing capacity of pipelines handling video traffic can be increased.
[0149] Specific prioritization ensures that critical applications such as emergency service communications and high-priority user traffic are not affected by latency or packet loss when network load changes. For example, emergency medical data transmission can always be prioritized through a high-performance pipeline.
[0150] The flexible configuration of pipelines enables the network to adapt to various traffic changes, reducing performance issues caused by mismatched resource allocation. For example, when data backup traffic increases at night, more pipelines can be temporarily added to handle the large number of data transfer requests.
[0151] Through these in-depth configurations and management practices, the traffic scheduling capabilities of multi-core SDN switches are significantly enhanced, improving not only overall network performance but also ensuring efficient and stable operation under various traffic conditions. This strategy enables network administrators to better control and optimize network resources to meet ever-changing business needs.
[0152] Adjustments to the number and functionality of pipelines are based on real-time network monitoring data and predicted load data. The SDN controller continuously collects detailed information about network traffic, such as traffic density, traffic type, source and destination IP addresses, and bandwidth usage. Furthermore, historical data analysis and future traffic forecasts also provide a basis for adjustments.
[0153] The decision-making process for adjusting pipeline configuration typically relies on a series of algorithms and logic, including:
[0154] (1) Load forecasting algorithm: Use time series analysis, machine learning or deep learning models to predict future traffic patterns.
[0155] (2) Resource optimization algorithms: such as genetic algorithms, linear programming or heuristic algorithms, used to optimize the number and configuration of pipelines under resource constraints.
[0156] (3) Priority scheduling algorithm: Determine the priority of the pipeline based on business importance and service quality requirements.
[0157] The implementation steps for dynamic adjustment include:
[0158] (1) Monitoring and data collection: The SDN controller monitors the network status and performance indicators in real time and collects necessary traffic data and device status information.
[0159] (2) Data analysis and forecasting: Analyze the collected data and use forecasting models to estimate the traffic load and demand changes in future time periods.
[0160] (3) Adjust decisions by using optimization algorithms to calculate the optimal pipeline configuration based on the analysis and forecast results. This includes starting new pipelines, shutting down pipelines that are no longer needed, or reconfiguring the functionality and processing capacity of existing pipelines.
[0161] (4) Execution and Feedback: The SDN controller executes adjustment commands and dynamically modifies pipeline configurations. Simultaneously, the system continuously monitors the adjustment effects and network performance, and further optimizes the decision-making process based on feedback.
[0162] The SDN controller executes adjustment commands to dynamically modify pipeline configurations. Simultaneously, the system continuously monitors the adjustment effects and network performance, further optimizing the decision-making process based on feedback.
[0163] Dynamically adjusting pipeline configurations can significantly improve network adaptability and performance, effectively handle traffic peaks and unexpected events, reduce latency and congestion, and improve overall network efficiency. This flexibility is crucial for maintaining high service quality and optimizing user experience.
[0164] In multi-core SDN switches, ensuring that critical service traffic is prioritized over ordinary data traffic is a key part of network performance management. Prioritization strategies and their implementation involve complex decision-making processes to guarantee that network resources are appropriately allocated to the services and applications that require them most.
[0165] First, the services and applications in the network need to be categorized to determine which are critical and which are general. For example, emergency medical services or emergency response systems for financial trading platforms would be classified as high-priority services.
[0166] Based on service categories, traffic is tagged with different priority labels. The SDN controller uses these labels to identify and process traffic with different priorities. For example, VoIP calls and video conferencing traffic are marked as high priority, while ordinary web browsing requests are low priority.
[0167] Implement priority queue management in the pipeline to ensure that high-priority tasks can pass through quickly, and guarantee their quality of service (QoS) even when the network is congested.
[0168] In practice, if the SDN controller predicts a period of high network load, the system will automatically adjust its policies to ensure that all critical business traffic is still prioritized. For example, during peak periods of online education or remote work, the SDN controller will ensure that data streams related to education and work are processed before video entertainment content.
[0169] Pipeline configuration must be precisely matched to the type of network traffic to optimize processing efficiency and response speed. This involves the specific technical details and configuration principles of pipeline design.
[0170] Based on packet characteristics such as data size, transmission frequency, and protocol type, the pipeline can identify different traffic types. For example, large file transfers and real-time video streams can be identified and distinguished.
[0171] Pipelines can be customized with specific processing functions for different identified traffic types. For example, for real-time video streams, pipelines have higher data processing speeds and specific data buffers; for large data transfers, larger data caching capabilities are required.
[0172] Based on real-time traffic monitoring data, pipeline configurations are dynamically adjusted to adapt to changes in traffic patterns. For example, if a large amount of media traffic is detected at night, the corresponding pipelines will be adjusted to enhance their video data processing capabilities.
[0173] This invention uses machine learning algorithms to adaptively adjust pipeline configurations based on historical data and real-time feedback to continuously optimize performance. It employs advanced resource allocation algorithms (such as dynamic bandwidth allocation) to dynamically allocate processing capacity and network bandwidth according to traffic type requirements.
[0174] Multi-core SDN switches can ensure that various types of network traffic are properly processed, optimize the performance and responsiveness of the entire network, and ensure that critical services are not affected by network congestion.
[0175] Based on the pipeline configuration data, each pipeline processes the data packets it is assigned and monitors the performance of the entire network traffic processing. Key performance indicator data is collected and used to optimize the load prediction model and adjust the pipeline configuration to achieve continuous optimization of system performance.
[0176] In the traffic scheduling strategy of multi-core SDN switches, optimizing system performance using pipelined configuration data is a core activity. This strategy involves not only real-time processing of network packets but also continuous monitoring and optimization of network performance.
[0177] Each pipeline is responsible for processing a specific type of data packet based on its configuration data. This configuration data defines the pipeline's functionality, processing capacity, and priority, ensuring that each type of data stream receives appropriate resources and priority processing. Pipeline configuration can be dynamically adjusted based on real-time network conditions and predicted load data. For example, if a large amount of video traffic is predicted, the system will temporarily increase the number of pipelines processing video data.
[0178] The system continuously monitors the traffic processing performance of the entire network, including key performance indicators such as throughput, latency, and packet loss rate. All monitored performance data is collected and analyzed by the system to evaluate the effectiveness of the current pipeline configuration.
[0179] The collected key performance indicator (KPI) data was used to optimize the load forecasting model. This feedback mechanism allows the model to learn the difference between actual network performance and predictions, continuously adjusting and improving its prediction algorithm. By analyzing the comparison between performance data and prediction results, the model adjusts its parameters to more accurately predict future load conditions.
[0180] Through continuous monitoring and data feedback, the system can quickly respond to changes in network status and adjust pipeline configuration in real time, thereby improving processing efficiency and reducing latency. Dynamically adjusting pipeline configuration ensures the most efficient use of network resources and avoids resource waste.
[0181] When large-scale online events cause a surge in traffic, the system can instantly add pipelines to handle the data streams from such events, ensuring the network does not crash due to overload. If a pipeline performance degradation is detected, the system can quickly troubleshoot and reallocate traffic to guarantee service continuity.
[0182] By implementing these strategies, multi-core SDN switches can achieve smarter and more adaptive traffic management, ensuring that the network maintains high efficiency and stable performance under various conditions. This continuous performance optimization not only improves network operational efficiency but also greatly enhances network reliability and user satisfaction.
[0183] Preferably, the key performance indicator data is used to optimize the load prediction model and adjust the pipeline configuration, including:
[0184] Based on key performance indicator data, the accuracy of the current load prediction model in predicting traffic distribution and behavior is shown. By comparing the actual performance with the predicted load data, the model parameters or training data are adjusted to more accurately reflect the actual network operation.
[0185] When key performance indicators show that certain pipelines are overloaded during peak hours, the number of pipelines handling that type of traffic should be increased or the processing capacity of existing pipelines should be adjusted. When the utilization rate of certain pipelines remains low, these pipelines need to be reduced or resources should be reallocated to where they are needed more. Furthermore, pipeline prioritization should be guided based on the key performance indicator data to ensure that critical applications are processed first.
[0186] The key performance indicators include: processing latency, throughput, and packet loss rate.
[0187] The system continuously collects data on processing latency, throughput, and packet loss rate. These metrics provide a clear picture of the network's current operational status and are key factors in evaluating network performance. Through real-time analysis of this data, the SDN controller can assess the accuracy of the load forecasting model. Comparing the model's predictions with actual network performance helps identify the causes and trends of prediction errors.
[0188] Based on the comparison between performance metrics and predicted data, adjust the parameters of the load forecasting model or the training dataset. For example, if it is found that the model systematically underestimates traffic during a certain period, the model's sensitivity needs to be adjusted or the model needs to be retrained to include more representative data.
[0189] The machine learning algorithms used in model tuning include:
[0190] (1) Used for continuous data prediction, such as network traffic volume. Commonly used regression algorithms include linear regression and logistic regression.
[0191] (2) Decision trees and random forests: used for classification and regression tasks, capable of handling complex nonlinear relationships, and suitable for predicting traffic types and behaviors.
[0192] (3) Neural networks: especially deep learning models, such as convolutional neural networks (CNN) and recurrent neural networks (RNN), are suitable for predicting time series data, such as periodic flow changes.
[0193] Model tuning trigger mechanisms include: automatic tuning at set intervals (e.g., daily, weekly) or when a certain prediction error threshold is reached; and manual tuning by network administrators when significant performance deviations are observed.
[0194] The model's performance is evaluated periodically (e.g., weekly or monthly) by comparing predicted results with actual performance data to determine if adjustments are needed. In specific situations, such as traffic surges caused by large events or unforeseen incidents, the model needs to be adjusted in real time to quickly adapt to new traffic patterns.
[0195] The adjustment process includes:
[0196] (1) Collect the latest network traffic data and process the data to make it suitable for model input.
[0197] (2) Retrain the model using a new dataset, or adjust the model's parameters to adapt to new data features.
[0198] (3) The adjusted model was tested in a controlled environment to verify the improvement in its predictive accuracy.
[0199] (4) Once verified, the newly adjusted model will be deployed to the production environment.
[0200] Through the above adjustment mechanism, the load prediction model can continuously provide accurate traffic predictions, helping SDN systems to effectively manage and schedule network resources, thereby maintaining high network performance and high reliability.
[0201] Dynamically adjust pipeline configurations based on key performance indicators (KPIs). If KPIs show that certain pipelines are frequently overloaded during peak hours, increase the number of pipelines handling similar traffic or improve their processing capacity. Conversely, if the utilization rate of certain pipelines remains consistently low, consider reducing the number of these pipelines or reallocating their resources to more demanding areas. Adjust pipeline priority settings based on performance indicators to ensure that pipelines handling critical applications receive sufficient resources and prioritize processing critical data.
[0202] The main criteria for adjustment are based on key performance indicators. When the pipeline's processing latency exceeds a predetermined threshold or the packet loss rate increases abnormally, it indicates that the pipeline is overloaded. When the pipeline's throughput is consistently below a certain percentage of its design capacity (e.g., below 50%), it indicates that its utilization is low.
[0203] Critical business pipelines enjoy higher priority and resource guarantees, and their performance must be ensured to remain unaffected even during periods of resource strain. The launch of new services or changes to existing services require corresponding pipeline adjustments to adapt to the new business needs.
[0204] When sustained high traffic is detected, automatically or manually start additional pipelines to offload the load. Increase resource quotas for specific pipelines, such as allocating more CPU cycles or memory resources.
[0205] Load balancing technology is used to redirect traffic from overloaded pipelines to underloaded pipelines, ensuring even distribution.
[0206] Based on business importance and real-time performance data, adjust pipeline priorities to ensure that traffic processing for critical applications is not affected.
[0207] The continuous performance monitoring and data feedback mechanism of this invention enables the load prediction model to be continuously optimized, improving its accuracy in predicting network traffic distribution and behavior. This continuous learning and adjustment mechanism helps the system better understand and predict future network load, thereby making more accurate scheduling decisions. Dynamically adjusting pipeline configuration based on real-time performance monitoring data can maximize the efficiency of network resource utilization, avoid resource waste, and reduce service interruptions caused by overload or insufficient resources. By finely adjusting the number, function, and priority of pipelines, the network can respond more flexibly to various traffic demands, reduce latency, increase throughput, and reduce packet loss.
[0208] Anticipating a surge in remote conference traffic, the system proactively increases the pipelines processing real-time video and audio streams, prioritizing them to ensure conference quality. Simultaneously, monitoring data shows the processing latency and packet loss rate of these pipelines, allowing for real-time configuration adjustments to maintain optimal performance. During off-peak periods of large-scale data backups, the system reduces some routine data processing pipelines based on predicted low network utilization, concentrating resources on handling large data transfers to improve backup efficiency and reduce overall network congestion.
[0209] Through this comprehensive monitoring, analysis, and dynamic adjustment strategy, multi-core SDN switches can flexibly respond to various network conditions and achieve optimal traffic scheduling while ensuring network performance and stability.
[0210] A traffic scheduling system for multi-core SDN switches, comprising:
[0211] The packet monitoring module is configured to continuously monitor and capture packets of raw traffic data. This module is responsible for monitoring and capturing packets of raw traffic data. It connects to the switch's port, captures packets entering and leaving the switch, and passes them to subsequent processing modules. Real-time packet capture allows the system to respond more quickly and improves overall traffic processing efficiency. By monitoring raw packets, the system can understand the status of network traffic in real time, providing an accurate data foundation for subsequent traffic scheduling.
[0212] The data classification module, incorporating a deep learning model, is configured to identify and classify packet types in real-time and extract flow feature descriptions. This module uses a deep learning model to identify and classify packet types and extract flow feature descriptions. This model can classify packets into different flows based on their characteristics, such as source address, destination address, and port. By classifying packets in real-time, the system can better understand the characteristics of different flows, providing a more accurate basis for subsequent traffic prediction and load balancing adjustments. For example, classifying video streams, audio streams, and regular data streams allows for targeted adjustments to their processing priorities, improving user experience.
[0213] The load prediction module utilizes extracted flow feature description data and historical load data to predict traffic patterns and potential hash collisions within a specified future time period using a load prediction model, generating predicted load data. This module leverages a deep learning model and historical load data to predict traffic patterns and potential hash collisions within a specified future time period, generating predicted load data. This prediction can be based on historical data trends and patterns combined with current traffic characteristics. By predicting future traffic patterns, the system can prepare for load balancing adjustments in advance, avoiding network congestion and performance degradation caused by sudden traffic surges. The predicted load data can also serve as a reference for adjusting load balancing strategies and pipeline configurations, further optimizing the allocation of network resources.
[0214] The load balancing adjustment module dynamically adjusts load balancing strategies and pipeline configurations based on predicted load data to ensure optimal allocation of network resources and generate pipeline configuration data. This module dynamically adjusts traffic routing and processing methods based on current and predicted load conditions. By dynamically adjusting load balancing strategies, the system can achieve flexible management of network resources, ensuring maximum network throughput and balanced traffic distribution. For example, if a traffic increase is predicted, the system can automatically adjust traffic routing to prevent excessive load on a single core from impacting overall performance.
[0215] The pipelined processing module includes at least two pipelines. Each pipeline processes its assigned data packets according to its configuration data and monitors the overall network traffic processing performance. Each pipeline can perform different processing on the data packets based on the configuration information, such as routing, filtering, and forwarding. The multi-pipeline design increases the parallelism of data packet processing and accelerates traffic processing speed. By monitoring the overall network traffic processing performance, the system can promptly identify and resolve performance bottlenecks, ensuring stable network operation.
[0216] The performance monitoring module is configured to collect key performance indicator (KPI) data. This KPI data is used to optimize the load prediction model and adjust pipeline configuration to achieve continuous system performance optimization. This module is responsible for collecting KPI data for optimizing the load prediction model and adjusting pipeline configuration. These performance indicators may include throughput, latency, packet loss rate, etc., and are used to evaluate the overall system performance. By collecting and analyzing performance indicator data, the system can promptly identify performance problems and take corresponding optimization measures, thereby achieving continuous system performance optimization. For example, by adjusting pipeline configuration and load balancing strategies, the system can improve network throughput and response speed, enhancing the user experience.
[0217] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0218] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0219] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0220] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable apparatus for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0221] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0222] Memory includes non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, like read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0223] Computer-readable media include both permanent and non-permanent, removable and non-removable media that can store information by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0224] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0225] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A traffic scheduling method for a multi-core SDN switch, characterized in that, Includes the following steps: Continuously monitor and capture raw traffic data packets, use deep learning models to identify and classify packet types in real time, and extract flow feature description data; The flow characteristic description data includes: communication endpoint information: source IP address and destination IP address, port number; traffic characteristics: packet size, number of packets, total traffic; time characteristics: flow duration, arrival time interval; protocol characteristics: protocol type used, protocol-specific fields; service type: quality of service parameters, application layer protocol; Based on flow feature description data and historical load data, a load prediction model is used to predict traffic patterns and potential hash collisions within a specified future time period, generating predicted load data. Based on predicted load data, load balancing strategies and pipeline configurations are dynamically adjusted to ensure optimal allocation of network resources, while also generating pipeline configuration data. The pipeline configuration data is used to describe the operating parameters and preset tasks of each pipeline. The pipeline configuration data includes: the number of pipelines, the functional definition, processing capacity, priority setting and corresponding network traffic type of each pipeline; Based on the pipeline configuration data, each pipeline processes the data packets it is assigned and monitors the performance of the entire network traffic processing. Key performance indicator data is collected and used to optimize the load prediction model and adjust the pipeline configuration to achieve continuous optimization of system performance. The key performance indicator data is used to optimize the load prediction model and adjust pipeline configuration, including: Based on key performance indicator data, the accuracy of the current load prediction model in predicting traffic distribution and behavior is shown. By comparing the actual performance with the predicted load data, the model parameters or training data are adjusted to more accurately reflect the actual network operation. When key performance indicators show that certain pipelines are overloaded during peak hours, the number of pipelines handling that type of traffic should be increased or the processing capacity of existing pipelines should be adjusted. When the utilization rate of certain pipelines remains low, these pipelines need to be reduced or resources should be reallocated to where they are needed more. Furthermore, pipeline prioritization should be guided based on the key performance indicator data to ensure that critical applications are processed first. The key performance indicators include: processing latency, throughput, and packet loss rate.
2. The traffic scheduling method for a multi-core SDN switch according to claim 1, characterized in that, The deep learning model learns to identify complex patterns and features in data packets by using historical traffic data as training samples. During training, the deep learning model optimizes the ability to identify and classify data packets by adjusting internal weights and biases to minimize prediction errors. After training, the deep learning model analyzes the incoming data in real time and classifies the data packet types, including video streams, emails, and web data.
3. The traffic scheduling method for a multi-core SDN switch according to claim 1, characterized in that, The flow feature description data and historical load data are integrated into a comprehensive dataset. The load prediction model is trained by identifying and extracting specific patterns and features from the data in the comprehensive dataset through a neural network with at least two layers. After training, the load prediction model is used to receive new flow feature description data, identify the trend, periodicity and potential anomalies or congestion points of traffic from the flow feature description data, and output predicted load data. The predicted load data is used to describe the traffic patterns and potential hash collisions experienced by the network in a future specified time period.
4. The traffic scheduling method for a multi-core SDN switch according to claim 1, characterized in that, Based on predicted load data, data flows are redistributed to different servers or network paths to avoid overload and reduce latency, thus achieving dynamic adjustment of the load balancing strategy. Based on predicted load data, the number and functionality of pipelines are increased or decreased according to the predicted traffic patterns and types, thus achieving dynamic adjustment of pipeline configuration.
5. A traffic scheduling system for a multi-core SDN switch, characterized in that, include: The packet monitoring module is configured to continuously monitor and capture packets of raw traffic data. The data classification module includes a deep learning model configured to identify and classify data packet types in real time and extract stream feature descriptions. The flow characteristic description data includes: communication endpoint information: source IP address and destination IP address, port number; traffic characteristics: packet size, number of packets, total traffic; time characteristics: flow duration, arrival time interval; protocol characteristics: protocol type used, protocol-specific fields; service type: quality of service parameters, application layer protocol; The load prediction module uses the extracted flow feature description data and historical load data to predict the traffic patterns and potential hash collisions within a specified future time period through the load prediction model, and generates predicted load data. The load balancing adjustment module dynamically adjusts the load balancing strategy and pipeline configuration based on predicted load data to ensure optimal allocation of network resources and generates pipeline configuration data. The pipeline configuration data describes the operating parameters and preset tasks of each pipeline. The pipeline configuration data includes: the number of pipelines, the functional definition of each pipeline, its processing capacity, priority setting, and the corresponding network traffic type. The pipeline processing module includes at least two pipelines, each pipeline processes the data packets it is assigned according to the pipeline configuration data, and monitors the performance of the entire network traffic processing. The performance monitoring module is configured to collect key performance indicator data, which is used to optimize the load prediction model and adjust the pipeline configuration to achieve continuous optimization of system performance. The key performance indicator data is used to optimize the load prediction model and adjust pipeline configuration, including: Based on key performance indicator data, the accuracy of the current load prediction model in predicting traffic distribution and behavior is shown. By comparing the actual performance with the predicted load data, the model parameters or training data are adjusted to more accurately reflect the actual network operation. When key performance indicators show that certain pipelines are overloaded during peak hours, the number of pipelines handling that type of traffic should be increased or the processing capacity of existing pipelines should be adjusted. When the utilization rate of certain pipelines remains low, these pipelines need to be reduced or resources should be reallocated to where they are needed more. Furthermore, pipeline prioritization should be guided based on the key performance indicator data to ensure that critical applications are processed first. The key performance indicators include: processing latency, throughput, and packet loss rate.
Citation Information
Patent Citations
Video stream classification and scheduling system in SDN
CN113114573A
Flow scheduling system and scheduling method for multi-core SDN (Software Defined Network) switch
CN117793031A