A flow scheduling configuration method in time-sensitive network of robot operating system

By real-time monitoring and dynamic adjustment of flow scheduling configuration, the uncertainty problem of time-critical data transmission in the robot operating system is solved, ensuring the timely arrival of data and the stability of the network, adapting to changes in the network environment, and improving the overall performance of the time-sensitive network.

CN119676177BActive Publication Date: 2025-09-23HARBIN INST OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411849060.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-16
Publication Date
2025-09-23
Estimated Expiration
2044-12-16

AI Technical Summary

Technical Problem

Existing robot operating systems have difficulty ensuring the deterministic transmission of time-critical data when transmitting large amounts of data. The dynamic changes in the network environment cause the flow scheduling plan to not match the actual situation, affecting the timeliness and reliability of the data flow. There is a lack of effective configuration deployment inspection and error correction methods.

Method used

The network controller obtains current basic data, monitors the slowdown ratio of data flows in real time, determines abnormal information based on preset thresholds, and dynamically adjusts flow scheduling configuration data, including supercycles, data flow startup data, and gating lists, to ensure the rationality and reliability of network device configuration.

Benefits of technology

It improves the real-time performance and reliability of the network, reduces delays and packet loss, adapts to different network loads and application requirements, enhances the flexibility and adaptability of the network, and reduces the risk of failure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119676177B_ABST
    Figure CN119676177B_ABST
Patent Text Reader

Abstract

The present invention provides a flow scheduling configuration method in a time-sensitive network of a robot operating system, which relates to the field of network transmission technology. The configuration method comprises: obtaining current basic data of the time-sensitive network and entering a flow scheduling configuration process: obtaining flow scheduling configuration data according to the current basic data, and performing configuration according to the flow scheduling configuration data; when a terminal device sends a data stream, obtaining a mitigation ratio of each data stream, and based on each mitigation ratio, performing a judgment according to a preset threshold to obtain abnormal information, and comparing the number of abnormal information within a preset time interval with the preset number of data streams to obtain a comparison result; based on the comparison result, checking the flow scheduling configuration data to obtain an inspection result, and correcting the flow scheduling configuration data according to the inspection result; the present invention can effectively reduce delays and packet loss in data transmission by real-time monitoring and dynamic adjustment of the flow scheduling configuration, thereby ensuring that data of time-sensitive applications arrives in a timely manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of network transmission technology, and in particular to a flow scheduling configuration method in a time-sensitive network of a robot operating system. Background Art

[0002] The underlying communication protocols of current robot operating systems primarily rely on TCP / UDP and DDS. However, when transmitting large amounts of data (such as 3D lidar data and camera data), it remains difficult to ensure deterministic transmission of time-critical data (such as joint control commands), which significantly hinders real-time robot control. Existing research indicates that TSN could become the de facto standard for real-time robot communication. Robot operating systems incorporating TSN can ensure critical communication of time-sensitive data while also providing support for the data link layer for real-time communication.

[0003] In Time-Sensitive Networking (TSN), the design and implementation of flow scheduling schemes are crucial to ensuring the effectiveness of real-time data transmission. However, the dynamic changes in the network environment may make the original scheduling scheme no longer match the actual situation, thus affecting the timeliness and reliability of data flow.

[0004] Generally speaking, the correctness of flow scheduling schemes relies on accurate network model parameters. These parameters include link latency, port queue length, and packet processing delay on switching devices. The accuracy of these parameters directly impacts the effectiveness of the scheduling algorithm, ensuring that packets can smoothly pass through the network within the predetermined time window.

[0005] However, in actual operation, network parameters are affected by a variety of factors, such as fluctuations in network traffic, changes in device performance, and fault recovery. These changes can increase link latency, alter queue lengths, and even cause ports to change between open and closed states. When outdated scheduling schemes are calculated based on outdated network parameters, packets may arrive at a port at inappropriate times. For example, a packet that was supposed to arrive when a port's queue was open may arrive when the queue is closed due to increased processing latency in the upstream switch. In this case, the packet may need to wait until the next supercycle before being sent, severely impacting the completion time of periodic data flows.

[0006] Furthermore, current research and practice primarily focus on the calculation and optimization of flow scheduling schemes, while research on configuration and deployment correctness checking, judgment, and error correction methods is relatively limited. This results in poor real-time and accurate judgment of the problem's location when configuration errors occur in real applications, leading to degraded network performance and data transmission delays. Summary of the Invention

[0007] The problem solved by the present invention is one or more of the above-mentioned problems in the prior art.

[0008] To solve the above problems, the present invention provides a flow scheduling configuration method in a time-sensitive network of a robot operating system.

[0009] In a first aspect, the present invention provides a flow scheduling configuration method in a time-sensitive network of a robot operating system, which is applied to a time-sensitive network of a robot operating system, wherein application devices of the time-sensitive network include a robot control device, a switching device, and a network controller; the flow scheduling configuration method in the time-sensitive network of the robot operating system includes:

[0010] The current basic data of the time-sensitive network is obtained through the network controller, and the flow scheduling configuration process is entered:

[0011] Obtaining flow scheduling configuration data according to the current basic data, and performing configuration according to the flow scheduling configuration data;

[0012] When the terminal device sends a data stream, obtaining a mitigation ratio of each data stream, performing a judgment based on each mitigation ratio according to a preset threshold to obtain abnormal information, and comparing a number of the abnormal information with a preset number of data streams within a preset time interval to obtain a comparison result;

[0013] Based on the comparison result, the flow scheduling configuration data is checked to obtain a check result, and the flow scheduling configuration data is modified according to the check result.

[0014] Optionally, the obtaining of the mitigation ratio of each of the data flows, and performing judgment based on each of the mitigation ratios according to a preset threshold to obtain abnormal information, includes:

[0015] Obtaining a preset number, and obtaining temporary data based on the preset number and the corresponding mitigation ratio;

[0016] When the temporary data exceeds the preset threshold, the abnormal information is obtained and sent to the network controller.

[0017] Optionally, the checking the flow scheduling configuration data based on the comparison result to obtain a check result includes:

[0018] When the number of the abnormal information exceeds the preset number of data flows, sorting the mitigation ratios of the data flows corresponding to the abnormal information to obtain a first set to be checked, and determining a target data flow corresponding to the largest mitigation ratio in the first set to be checked;

[0019] The switching devices corresponding to the target data flow are sorted according to the port queue length to obtain a second set to be checked, and the switching devices in the second set to be checked are checked based on a preset indicator to obtain the inspection result.

[0020] Optionally, the checking of each switching device in the second set to be checked based on a preset indicator and obtaining a result of the checking includes:

[0021] When any of the switching devices has an abnormality, the corresponding abnormal data is corrected, and the corrected current basic data of the time-sensitive network is obtained, and the flow scheduling configuration process is re-executed until all the switching devices in the second set to be checked are completed.

[0022] Optionally, the stream scheduling configuration data includes super periods of all the data streams, start data of the data streams and gating list data.

[0023] Optionally, the gating list data includes a gating period; and the flow scheduling configuration method in a time-sensitive network of the robot operating system further includes:

[0024] Dividing the gate control period to obtain multiple time slots;

[0025] A preset priority is obtained, and each of the time slots is allocated based on the preset priority.

[0026] Optionally, before configuring according to the flow scheduling configuration data, the method further includes:

[0027] The synchronization message sending period of the master clock in the time-sensitive network is shortened.

[0028] Optionally, the preset indicator includes a gating list, and the inspection result includes abnormal data in the gating list; and the inspection of each switching device in the second set to be inspected based on the preset indicator to obtain the inspection result includes:

[0029] Obtaining a gating list of a target switching device; the target switching device is any switching device in the second set to be checked;

[0030] The current gating list is compared with the gating list data in the flow scheduling configuration data to obtain corresponding gating list abnormal data.

[0031] Optionally, the preset indicator further includes synchronization data, and the inspection result further includes synchronization abnormality data; and the inspection of each switching device in the second set to be inspected based on the preset indicator, obtaining the inspection result further includes:

[0032] Acquiring synchronization data of the target switching device;

[0033] The current synchronization data is compared with the synchronization data in the time-sensitive network to obtain corresponding synchronization exception data.

[0034] Optionally, the preset indicator further includes link data, and the inspection result further includes link abnormality data; and the inspection of each switching device in the second set to be inspected based on the preset indicator, obtaining the inspection result further includes:

[0035] Acquiring link data of the target switching device;

[0036] The link data is compared with the link data in the current basic data to obtain corresponding link abnormality data.

[0037] The beneficial effects of the flow scheduling configuration method in the time-sensitive network of the robot operating system of the present invention are:

[0038] First, the network configuration module in the network controller collects real-time network status information, including basic data such as topology, link latency, and port queue lengths, to provide a basis for subsequent scheduling. Based on this collected basic data, a flow scheduling strategy is formulated to determine the transmission time, priority, and bandwidth allocation for each flow. Network device settings are then adjusted based on the generated flow scheduling configuration data to ensure on-time transmission of flows. The network controller consists of a centralized network configuration module (CNC) and a centralized unit configuration module (CUC).

[0039] As terminal devices send data streams, the slowdown ratio (slowdown) of each stream is calculated in real time—the ratio of actual completion time to ideal completion time. The system then determines whether the slowdown ratio is abnormal based on a preset threshold. If the slowdown ratio exceeds the threshold, the anomaly is recorded. The user configuration module (CUC) then counts the number of anomalies within a preset time interval and compares this with the preset number of data streams to assess overall network performance. Finally, based on the comparison results, the system determines whether the stream scheduling configuration is appropriate and whether adjustments are necessary. If the configuration is found to be unreasonable, the stream scheduling configuration data is modified based on the inspection results to optimize network performance.

[0040] In summary, the method of the present invention can effectively reduce delays and packet loss in data transmission by real-time monitoring and dynamic adjustment of flow scheduling configuration, ensuring that data for time-sensitive applications (such as industrial automation, audio and video transmission, etc.) arrives in time. And through the anomaly detection mechanism, problems in the network can be discovered and adjusted in a timely manner, reducing the risk of failures caused by network congestion or improper configuration. Through real-time correction of flow scheduling configuration, network bandwidth can be used more efficiently, resource waste can be avoided, and the service quality of the overall network can be improved. At the same time, the method can dynamically adjust the configuration according to changes in network status, and also avoid the tediousness of manual configuration and error detection, adapt to different network loads and application requirements, and improve the flexibility and adaptability of the network. And as the network scale expands or new equipment is connected, the method can still maintain effective flow scheduling and anomaly monitoring, and support large-scale time-sensitive network environments. Therefore, the flow scheduling configuration method has important application value in time-sensitive networks and can effectively improve the real-time performance and reliability of the network. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 This is a flow chart of a method for configuring flow scheduling in a time-sensitive network of a robot operating system according to an embodiment of the present invention;

[0042] Figure 2 A schematic diagram of a framework of a flow scheduling configuration method in a time-sensitive network of a robot operating system according to an embodiment of the present invention;

[0043] Figure 3 This is a schematic structural diagram of a robot operating system according to an embodiment of the present invention;

[0044] Figure 4 is the super period T of the time-sensitive network downstream of the embodiment of the present invention hyper Schematic diagram of;

[0045] Figure 5 A schematic diagram of TSN node gating switch time configuration for time-sensitive network downstream scheduling according to an embodiment of the present invention;

[0046] Figure 6 This is a schematic diagram showing that the time-sensitive network downstream scheduling solution according to an embodiment of the present invention does not match the actual situation. DETAILED DESCRIPTION

[0047] To make the above-mentioned objects, features, and advantages of the present invention more clearly understood, specific embodiments of the present invention are described in detail below with reference to the accompanying drawings. Although certain embodiments of the present invention are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as being limited to the embodiments described herein. Instead, these embodiments are provided to provide a more thorough and complete understanding of the present invention. It should be understood that the drawings and embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of protection of the present invention.

[0048] It should be understood that the various steps described in the method embodiments of the present invention may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present invention is not limited in this respect.

[0049] The term "including" and its variations used in this document are open inclusions, that is, "including but not limited to"; the term "based on" means "based at least in part on"; the term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments"; the term "optionally" means "optional embodiments". The relevant definitions of other terms will be given in the following description. It should be noted that the concepts of "first", "second", etc. mentioned in the present invention are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0050] It should be noted that the modifications of "one" and "multiple" mentioned in the present invention are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0051] The names of the messages or information exchanged between multiple devices in the embodiments of the present invention are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0052] While current robot operating systems generally manage to minimize network communication latency, they struggle to ensure deterministic transmission of time-critical data (such as joint control commands), significantly hindering real-time robot control. For high-criticality applications requiring hard real-time performance, such as field devices like sensors and actuators, some manufacturers have developed vendor-specific protocols based on modified Ethernet technologies (such as EtherCAT, SERCOS III, and PROFINET IRT). These protocols are specialized for specific tasks, and their use depends largely on the application. However, in robotics, the lack of a truly standard protocol places a burden on component integration or inter-robot communication.

[0053] Time-Sensitive Networking (TSN) is a set of IEEE standards whose primary goal is to provide a unified data link layer for real-time communications, thereby achieving compatibility across different vendors and allowing the convergence of traffic and real-time communications. Within TSN, the IEEE 802.1Qbv standard introduces the Time-Aware Shaper (TAS). On switches supporting the Qbv protocol, traffic is divided into multiple priority categories based on actual functional requirements, and the switch's egress message queue is opened or closed according to a preconfigured gate control list (GCL), providing deterministic latency guarantees for important data in periodic robot control.

[0054] Time-Sensitive Networking (TSN) also offers real-time features such as time synchronization and latency guarantees. In a network running the TSN time synchronization protocol, a single TSN device serves as the master clock. The master clock periodically broadcasts Sync packets containing its local time to slave clocks in the network. The slave clocks adjust their local clocks to align with the master clock, achieving time synchronization. The clock errors between nodes in a TSN network are at the microsecond level, allowing them to be considered synchronized. This provides the hardware foundation for precise flow scheduling configuration.

[0055] Based on this, Figure 1 As shown, an embodiment of the present invention provides a flow scheduling configuration method in a time-sensitive network of a robot operating system, which is applied to a time-sensitive network of a robot operating system. The application devices of the time-sensitive network include a robot control device, a switching device, and a network controller. The flow scheduling configuration method in the time-sensitive network of the robot operating system includes:

[0056] S100: Obtain current basic data of the time-sensitive network through the network controller and enter the flow scheduling configuration process:

[0057] Specifically, if Figure 2 As shown in the figure, a framework diagram of the flow scheduling configuration method in the time-sensitive network of the robot operating system is shown, wherein the black arrow box is a switching device (such as a physical switch), and the computer-style icon is a terminal device (robot controller). The network controller includes a centralized network configuration module (centralized network configuration CNC) and a centralized user configuration module (centralized user configuration CUC). Through the CNC module in the network controller, basic data is periodically collected from network devices using protocols such as SNMP (Simple Network Management Protocol). These data include network topology, link delay, port queue length, processing delay of switching equipment, etc. These data provide a basis for subsequent scheduling. Figure 3 As shown, in Figure 2 The terminals shown (such as the two computer terminals and the network controller's computer) can all be installed with the robot operating system, which comprises a basic operating system layer and a robot middleware layer. The robot middleware comprises the underlying communication middleware and the upper-layer communication / control framework between robot components. The communication middleware includes traditional basic communication protocols (such as TCP / UDP, DDS, etc.) and is integrated with TSN to form real-time communication middleware to ensure real-time control of the robot.

[0058] S200, obtaining flow scheduling configuration data according to the current basic data, and performing configuration according to the flow scheduling configuration data;

[0059] Specifically, the CUC module in the network controller analyzes and processes the current basic data obtained by the CNC module to obtain the flow scheduling configuration data, and uses this data as the input for calculating the scheduling configuration plan. For example, when a flow in the network leaves or a new flow arrives, a new scheduling plan will be calculated, which usually includes: the super period T of all flows (data flows) in the network hyper (See Figure 4 As shown), gate list data (such as the opening and closing time of GCL gate (see Figure 5 As shown in Figure 2, a schematic diagram of TSN node gating switch time configuration for flow scheduling in a time-sensitive network is shown), and flow startup data, etc.

[0060] Once the flow scheduling configuration data is generated, the CUC module sends these configurations to each network device through the corresponding configuration protocol (such as NETCONF, RESTCONF or other communication protocols).

[0061] After receiving the new configuration, the device makes corresponding adjustments to ensure that the data packets are processed according to the new policy (flow scheduling configuration data).

[0062] S300: When the terminal device sends a data stream, obtain a mitigation ratio of each data stream, perform a judgment based on each mitigation ratio according to a preset threshold, obtain abnormal information, and compare the number of abnormal information with a preset number of data streams within a preset time interval to obtain a comparison result;

[0063] Specifically, before the sender in a terminal device sends a data stream, it calculates the ideal stream completion time, or expected time, based on the stream scheduling configuration data. The terminal device then begins sending the data stream to the network. Each data stream may have different characteristics, including packet size, transmission frequency, and destination. During data stream transmission, the difference between the actual completion time and the expected time for each data stream is monitored. The slowdown ratio can be defined as the ratio of the actual completion time of a stream to its corresponding expected time, with this value being greater than or equal to 1. This means that through real-time monitoring, the slowdown ratio of each data stream can be calculated to assess its transmission performance.

[0064] Based on the preset slowdown ratio threshold, the system determines whether a data flow is abnormal. If the slowdown ratio exceeds the threshold, the data flow is considered abnormal and the relevant information is recorded. For example, if the preset threshold is 2, a flow with a slowdown ratio greater than 2 is marked as abnormal. The abnormal value of the current flow is reported to the CUC module.

[0065] The CUC module continuously collects anomaly information at preset intervals, recording the number and characteristics of all data flows marked as anomalies. The number of anomaly information recorded during the preset interval is compared with the preset number of data flows. This comparison helps determine the overall health of the network. Based on the comparison results, an anomaly report is generated, indicating that the current flow scheduling configuration data is incorrect and requires further investigation. If the comparison result is normal, the current flow scheduling configuration data does not need to be adjusted.

[0066] Real-time monitoring and mitigation ratio calculations enable timely detection of anomalies in data flow transmission, preventing potential network failures. Furthermore, by monitoring data flows and identifying anomalies, intervention can be made before problems escalate, improving overall network reliability and stability. By identifying anomalies and taking appropriate action, network resource utilization can be optimized, reducing resource waste caused by traffic anomalies. Rapidly responding to anomalies can reduce user experience, including delays and packet loss, thereby improving the user experience.

[0067] By collecting and analyzing abnormal information, more accurate decisions can be made based on the data to optimize network configuration and management strategies.

[0068] In summary, this process not only improves the network monitoring capability by monitoring the slowdown ratio of data flow and judging anomalies, but also provides strong support for subsequent network optimization and troubleshooting.

[0069] S400 , based on the comparison result, checking the flow scheduling configuration data to obtain a checking result, and modifying the flow scheduling configuration data according to the checking result.

[0070] Specifically, in this step, based on the previously detected abnormal situation and the comparison result (such as the number of abnormal flows and the preset number of flows), the network control system will generate a specific comparison result.

[0071] Based on the comparison results, the existing flow scheduling configuration data is carefully reviewed. This includes verifying whether the flow scheduling policy meets network performance requirements. For example, the review may include: whether the current configuration is reasonable and whether it can support the characteristics and requirements of the current traffic. The thresholds, priorities, and bandwidth allocations set in the flow scheduling policy are also checked for suitability. The impact of changes in the network environment (such as traffic patterns and fluctuations) on the existing configuration is also considered.

[0072] If any inconsistencies or deficiencies in the flow scheduling configuration are found based on the inspection results, they should be corrected promptly. For example, the flow scheduling algorithm can be updated: based on the new network conditions, the flow scheduling policy or algorithm can be adjusted, such as adopting a more appropriate scheduling method (such as fair queuing or priority scheduling). The corrected configuration needs to be redeployed to the network devices to ensure that the new policy takes effect.

[0073] Restart the flow scheduling and monitor the operation of the new scheduling configuration under actual traffic. By collecting data again, verify whether the revised flow scheduling configuration effectively improves network performance and reduces the occurrence of abnormal flows.

[0074] By checking and correcting flow scheduling configurations, the network can better adapt to changing traffic patterns and demands, thereby improving overall performance. This process also allows the network to promptly respond to potential anomalies, enabling the flow scheduling configuration to flexibly adapt to new traffic conditions and reducing the risk of network failures. Furthermore, a verified and corrected flow scheduling configuration can more efficiently utilize network resources, avoiding unnecessary resource waste and improving network utilization. Timely inspection and correction also reduces network fluctuations caused by improper configuration, enhancing network stability and reliability.

[0075] By implementing this process, we can ensure that the flow scheduling configuration can adapt to changing network conditions, thereby improving service quality and user experience.

[0076] In this embodiment, the network configuration module in the network controller first collects real-time network status information, including basic data such as topology information, link latency, and port queue length, to provide a basis for subsequent scheduling. Based on the acquired basic data, a flow scheduling strategy is formulated to determine the transmission time, priority, and bandwidth allocation for each flow. Network device settings are then adjusted based on the generated flow scheduling configuration data to ensure timely transmission of flows. The network controller includes a centralized network configuration module (CNC module) and a centralized user configuration module (CUC module).

[0077] As terminal devices send data streams, the slowdown ratio (slowdown) of each stream is calculated in real time—the ratio of actual completion time to ideal completion time. The system then determines whether the slowdown ratio is abnormal based on a preset threshold. If the slowdown ratio exceeds the threshold, the anomaly is recorded. The user configuration module (CUC) then counts the number of anomalies within a preset time interval and compares this with the preset number of data streams to assess overall network performance. Finally, based on the comparison results, the system determines whether the stream scheduling configuration is appropriate and whether adjustments are necessary. If the configuration is found to be unreasonable, the stream scheduling configuration data is modified based on the inspection results to optimize network performance.

[0078] In summary, the method of this embodiment can effectively reduce delays and packet loss in data transmission by real-time monitoring and dynamic adjustment of flow scheduling configuration, ensuring that data for time-sensitive applications (such as industrial automation, audio and video transmission, etc.) arrives in time. And through the anomaly detection mechanism, problems in the network can be discovered and adjusted in a timely manner, reducing the risk of failure due to network congestion or improper configuration. Through real-time correction of flow scheduling configuration, network bandwidth can be used more efficiently, resource waste can be avoided, and the service quality of the overall network can be improved. At the same time, the method can dynamically adjust the configuration according to changes in network status, adapt to different network loads and application requirements, and improve the flexibility and adaptability of the network. And as the network scale expands or new equipment is connected, the method can still maintain effective flow scheduling and anomaly monitoring, supporting large-scale time-sensitive network environments. Therefore, the flow scheduling configuration method has important application value in time-sensitive networks and can effectively improve the real-time performance and reliability of the network.

[0079] Optionally, the obtaining of the mitigation ratio of each of the data flows, and performing judgment based on each of the mitigation ratios according to a preset threshold to obtain abnormal information, includes:

[0080] Obtaining a preset number, and obtaining temporary data based on the preset number and the corresponding mitigation ratio;

[0081] When the temporary data exceeds the preset threshold, the abnormal information is obtained and sent to the network controller (CUC module).

[0082] Specifically, the sender of the flow calculates the corresponding slowdown ratio after each flow is completed. Based on the performance requirements and characteristics of the network, a preset number (such as the number of recently detected flows) is set for subsequent temporary data calculations. The preset number can be adjusted based on historical traffic patterns and current network conditions.

[0083] Based on the obtained slowdown ratios, statistics are collected for a preset number of data flows. These slowdown ratios are aggregated to form a temporary data set. Appropriate aggregation methods (such as averaging or taking the maximum value) are then used to calculate the temporary data. For example, based on a preset number (e.g., n), the average slowdown ratio of n flows is calculated, which is the temporary data.

[0084] Set a preset threshold and compare the temporary data against it. If the temporary data exceeds the threshold, the network is considered abnormal and the anomaly is recorded. For example, if the preset threshold is 2 and the average slowdown ratio of n flows exceeds 2, the network is considered abnormal, the anomaly is recorded, and the abnormal value of the current flow is reported to the CUC module.

[0085] In some embodiments, this step of the process is distributedly performed by the starting nodes of all flows in the network. First, the sending end calculates the flow completion time under ideal conditions based on the configuration information previously sent by the controller. After the actual transmission of the flow is completed, the sending end can obtain the actual completion time of the flow and compare the actual value with the ideal value (expected time) to obtain the slowdown of the flow. If the slowdown is greater than 2, the flow is regarded as an abnormal flow, and the abnormal slowdown value of the current flow is reported to the CUC module of the network controller.

[0086] The reasons for abnormal values ​​can be found in Figure 4 and Figure 6 For example, the processing delay of the switch (switching device) is actually higher than the reported value in step S100 (the processing delay of the switching device for the data packet in the current basic data), which may lead to Figure 4The time window t2-t3 in the example is not long enough to forward two packets. Packet 2.2, originally scheduled to be sent during this time period, has to be delayed until time t4. Therefore, packet 2.2 will be piled up in queue q2 during the time period t3-t4. This will introduce additional flow completion time for other flows (the current example only shows the case where one flow fails; in reality, hundreds or even thousands of flows may fail here, causing more serious consequences). Therefore, the main problems that may arise from the process of outliers include delays, queue backlogs, network congestion, resource waste, failure to detect abnormal flows, degraded service quality, complex troubleshooting, and reduced user satisfaction. These problems are interrelated and may lead to further deterioration of network performance.

[0087] Optionally, the checking the flow scheduling configuration data based on the comparison result to obtain a check result includes:

[0088] When the number of the abnormal information exceeds the preset number of data flows, sorting the mitigation ratios of the abnormal information corresponding to the data flows to obtain a first set W to be checked, and determining a target data flow corresponding to the largest mitigation ratio in the first set W to be checked;

[0089] The switching devices corresponding to the target data flow are sorted according to the port queue length to obtain a second set P to be checked, and the switching devices in the second set to be checked are checked based on a preset indicator to obtain the inspection result.

[0090] Optionally, the checking of each switching device in the second set to be checked based on a preset indicator and obtaining a result of the checking includes:

[0091] When any of the switching devices has an abnormality, the corresponding abnormal data is corrected, and the corrected current basic data of the time-sensitive network is obtained, and the flow scheduling configuration process is re-executed until all the switching devices in the second set to be checked are completed.

[0092] Specifically, this process involves checking and correcting the flow scheduling configuration data to ensure the performance and stability of the time-sensitive network. Specific process description: Based on the comparison results of the flow scheduling configuration data, when the number of abnormal information exceeds the preset number of data flows, such as: through the CUC module in n*T hyper If the number of abnormal information received within the (preset time interval), that is, the number of abnormal flows, exceeds the preset number of data flows (such as 10% of the total number of flows), it means that there is a problem with the current flow scheduling configuration data, and the fault point needs to be gradually identified.

[0093] First, the CUC module identifies the switch most likely to have a problem and performs a correction. Because changes to a single switch affect the slowdown of all flows passing through it, each time a switch is corrected, the slowdown must be recollected and rechecked. Specifically, if the issued network configuration (the current flow scheduling configuration data) does not match the actual network conditions, packets will accumulate in the queue, causing the queue to lengthen. Obviously, the greater the mismatch, the longer the queue length, resulting in a larger slowdown. Therefore, starting with the switch with the longest queue length makes it easier to detect problems early and end the troubleshooting cycle.

[0094] The CUC module sorts the collected abnormal flows by slowdown ratio from high to low to establish a first set to be checked, W. The purpose of this step is to identify which data flows are most severely affected. The target data flow with the largest slowdown ratio is selected (this data flow is the flow that requires the most attention and optimization in the current network). The second set to be checked, P, is then sorted by port queue length from high to low across the switching devices it passes through. The switch with the largest port queue length, P, is selected. Queue length generally reflects the device's load and processing capacity; long queues can indicate latency and performance bottlenecks.

[0095] Based on the preset performance indicators (such as the super period T of the data flow hyper , data flow startup data and gating list data, etc.), and checks each switching device in the second set P to be checked. This step is intended to evaluate the performance status of these devices and identify potential anomalies.

[0096] If an anomaly is detected on any switching device, the system will correct the abnormal data for that device and then re-acquire the current basic data to ensure that the performance indicators of all switching devices are within the normal range. After ensuring that all switching devices are functioning normally, the flow scheduling configuration process will be re-executed. This process will continue until all switching devices to be checked have been inspected and corrected, ensuring that the network is in optimal condition at all times.

[0097] Continuous monitoring and maintenance of switching equipment can reduce the frequency of network failures and enhance network stability and reliability. Reconfiguring flow scheduling can also enable more efficient utilization of network resources, ensuring the proper allocation of bandwidth and processing power, and reducing resource waste. Automated inspection and correction processes can also reduce the need for manual intervention, thereby reducing operational costs and time, and improving efficiency.

[0098] This process's cyclical inspection mechanism provides a foundation for continuous improvement in network management, enabling the network to adapt to changing traffic demands and technological developments. Furthermore, by prioritizing target data flows with the highest slowdown ratios, it effectively reduces latency in critical flows and ensures timely transmission of important data.

[0099] Optionally, a search set Q is constructed, and the initial search set Q is an empty set. The switch p with the largest port queue length is selected to start the search, and if the switch p is in Q, the next switch 0 is postponed.

[0100] Optionally, the flow scheduling configuration data includes the super period T of all the data flows. hyper , data flow startup data and gate list data (GCL gate opening and closing time).

[0101] In some embodiments, the CUC (centralized user configuration) module of the centralized network controller calculates the flow scheduling scheme (current flow scheduling configuration data) based on the network parameters (current basic data) collected in S100. The scheduling scheme mainly includes the following information: the super period T of all flows in the network; hyper , stream start time (data stream start data) and GCL gate opening and closing time (gate list data). Figure 4 and Figure 5 Take the example to illustrate how the scheduling scheme works.

[0102] like Figure 4 and Figure 5 As shown, Figure 5 In the figure, S1, S2, and S3 in the black arrow boxes are switches, and H1 is a terminal device. There are two flows in the current network, identified by their first-hop switches, denoted as flow S1 and flow S2. Flow S1 starts every 50 microseconds and sends one packet each time; flow S2 starts every 75 microseconds and sends two packets each time. When flows in the network have different periods, the lowest common multiple of all flows is used as the basic scheduling period, also known as the super period T. hyper ( Figure 4 ). In this example, the super period is 150 microseconds.

[0103] Next, using the super cycle as the basic time unit, the GCL gate opening and closing time is calculated for each port on the switch, that is, Figure 5 In the table, q18 represents the priority queues (typically eight; the tables for S1 and S2 omit other priority queues), and t07 indicates the time at which the queue is enabled to send packets. The numbers "1.1" and "1.2" in the small squares in the figure represent the first and second packets sent by flow S1, respectively. (Since a flow sends only one packet at a time, 1.2 is actually a packet from the second round.) The same applies to the other packets.

[0104] Will Figure 4 and Figure 5 For comparison, at time t0, queue q1 on the S1-S3 port and queue q2 on the S2-S3 port are enabled. Packets 1.1, 2.1, and 2.2 arrive at port S3-H1 at time t1. At this time, only queue q1 is enabled. Therefore, packet 1.1, with priority q1, is forwarded first, while packets 2.1 and 2.2 are buffered in the queue until time t2. When packets 2.3 and 2.4 of flow S2 arrive at port S3-H1, the window in queue q2 is insufficient to send packet 2.4. Therefore, packet 2.4 is buffered until time t6, when it is forwarded along with packet 1.3 from flow S1.

[0105] Optionally, the gating list data includes a gating period; and the flow scheduling configuration method in a time-sensitive network of the robot operating system further includes:

[0106] Dividing the gate control period to obtain multiple time slots;

[0107] A preset priority is obtained, and each of the time slots is allocated based on the preset priority.

[0108] Specifically, first, we define the gating period, which refers to the time period within which a switch port is allowed to send data packets in a time-sensitive network. The gating period can be fixed or dynamically adjusted according to the needs of the flow.

[0109] The gating cycle is divided into multiple time slots. Each time slot represents a small unit of time used to schedule the transmission of different flows. The division method can be optimized based on factors such as network traffic characteristics, latency requirements, and priority.

[0110] In a time-sensitive network, different data flows may have different priorities. For example, a real-time video stream may have a higher priority than a normal data stream.

[0111] Get the preset priorities of these flows, usually configured through a network management system or application layer protocol. These priorities can be static (pre-defined) or dynamic (adjusted in real time based on network status).

[0112] Based on the preset priorities, time slots are allocated to each flow. High-priority flows can obtain more time slots or receive longer sending time in a time slot to ensure that their data packets can be transmitted in time.

[0113] For example, a gating cycle is divided into three time slots: time slot 1 is allocated to high-priority traffic (such as real-time control signals), time slot 2 is allocated to medium-priority traffic (such as status monitoring data), and time slot 3 is allocated to low-priority traffic (such as logging information or debugging data). Each time slot forms a virtual communication channel within a specific time period (for example, time slot 1 is from 0ms to 5ms, time slot 2 is from 5ms to 10ms, and time slot 3 is from 10ms to 15ms). Within each time slot, only traffic queues of the corresponding priority are allowed to pass; traffic of other priorities is strictly prohibited to ensure efficient allocation of network resources and meet real-time requirements.

[0114] By dividing time slots and allocating them based on priority, network resources can be more efficiently utilized, preventing low-priority flows from occupying excessive bandwidth and causing delays for high-priority flows. Furthermore, through a clear gating cycle and time slot allocation mechanism, network behavior becomes more predictable, facilitating network management and monitoring. This helps network administrators analyze traffic and troubleshoot problems. This method can adjust time slot allocation based on dynamic changes in network traffic, ensuring good service quality under varying network conditions.

[0115] In summary, by dividing the gating period and assigning priority to time slots, we can significantly improve the performance and reliability of time-sensitive networks. This scheduling configuration method not only meets the needs of different flows, but also enhances the overall efficiency and stability of the network.

[0116] Optionally, a guard band exists within the GCL cycle. For example, a guard band (e.g., from 14.5ms to 15ms) is set at the end of time slot 3 (low-priority traffic) to prevent low-priority traffic from failing to complete transmission in time and affecting the resource allocation of the subsequent high-priority time slot (time slot 1). During the guard band, if a frame of low-priority traffic has started transmission, it is allowed to continue transmission until completion; however, if a new low-priority frame has not yet started transmission, it must stop and wait for time slot 3 of the next cycle. This mechanism effectively prevents low-priority traffic from preempting the resources of high-priority time slots, reduces the delay in high-priority data transmission, and ensures the real-time performance of high-priority tasks.

[0117] Optionally, before configuring according to the flow scheduling configuration data, the method further includes:

[0118] The synchronization message sending period of the master clock in the time-sensitive network is shortened.

[0119] Specifically, to minimize interference caused by configuration mismatches due to time synchronization errors (i.e., the premise for calculating the current flow scheduling configuration data is that t0 to t7 are globally consistent on all devices in the network), the CNC module notifies the master clock in the network through the NETCONF protocol to reduce the synchronization message sending period before issuing the configuration, thereby ensuring that the clock of the entire network is at a higher accuracy during the configuration phase.

[0120] Optionally, the preset indicator includes a gating list, and the inspection result includes abnormal data in the gating list; and the inspection of each switching device in the second set to be inspected based on the preset indicator to obtain the inspection result includes:

[0121] Obtaining a gating list of a target switching device; the target switching device is any switching device in the second set to be checked;

[0122] The current gating list is compared with the gating list data in the flow scheduling configuration data to obtain corresponding gating list abnormal data.

[0123] Optionally, the preset indicator further includes synchronization data, and the inspection result further includes synchronization abnormality data; and the inspection of each switching device in the second set to be inspected based on the preset indicator, obtaining the inspection result further includes:

[0124] Acquiring synchronization data of the target switching device;

[0125] The current synchronization data is compared with the synchronization data in the time-sensitive network to obtain corresponding synchronization exception data.

[0126] Optionally, the preset indicator further includes link data, and the inspection result further includes link abnormality data; and the inspection of each switching device in the second set to be inspected based on the preset indicator, obtaining the inspection result further includes:

[0127] Acquiring link data of the target switching device;

[0128] The link data is compared with the link data in the current basic data to obtain corresponding link abnormality data.

[0129] Specifically, troubleshoot possible issues on switch P one by one. The general troubleshooting process includes:

[0130] 1. Check whether the GCL gate opening and closing time configuration is consistent with the issued one;

[0131] 2. Check whether the clock synchronization is normal;

[0132] 3. Whether the adjacent link delay is consistent with that used in step 2 and other abnormal conditions.

[0133] If no issues are found, switch P is removed from set P and added to the already checked set Q. Set P is then checked again. If any issues are found, they are corrected and the process returns to step S100 and re-executed. If no issues are found after checking set P, the second highest flow rate slowdown is selected from set W for further troubleshooting.

[0134] After troubleshooting and correction, the synchronization message sending period of the master clock in the time-sensitive network is restored to normal.

[0135] Although the present invention is disclosed as above, the protection scope of the present invention is not limited thereto. Those skilled in the art may make various changes and modifications without departing from the spirit and scope of the present invention, and these changes and modifications will fall within the protection scope of the present invention.

Claims

1. A flow scheduling configuration method in a time-sensitive network of a robot operating system, characterized in that: A time-sensitive network applied to a robot operating system, wherein the application devices of the time-sensitive network include a robot control device, a switching device, and a network controller; and a flow scheduling configuration method in the time-sensitive network of the robot operating system includes: The current basic data of the time-sensitive network is obtained through the network controller, and the flow scheduling configuration process is entered: Obtaining flow scheduling configuration data according to the current basic data, and performing configuration according to the flow scheduling configuration data; When the terminal device sends a data stream, obtaining a mitigation ratio of each data stream, performing a judgment based on each mitigation ratio according to a preset threshold to obtain abnormal information, and comparing a number of the abnormal information with a preset number of data streams within a preset time interval to obtain a comparison result; Based on the comparison result, the flow scheduling configuration data is checked to obtain a check result, and the flow scheduling configuration data is modified according to the check result.

2. The flow scheduling configuration method in a time-sensitive network of a robot operating system according to claim 1, characterized in that: The obtaining of the mitigation ratio of each data stream and performing a judgment based on each mitigation ratio according to a preset threshold to obtain abnormal information includes: Obtaining a preset number, and obtaining temporary data based on the preset number and the corresponding mitigation ratio; When the temporary data exceeds the preset threshold, the abnormal information is obtained and sent to the network controller.

3. The flow scheduling configuration method in a time-sensitive network of a robot operating system according to claim 1, characterized in that: The checking of the flow scheduling configuration data based on the comparison result to obtain a checking result includes: When the number of the abnormal information exceeds the preset number of data flows, sorting the mitigation ratios of the data flows corresponding to the abnormal information to obtain a first set to be checked, and determining a target data flow corresponding to the largest mitigation ratio in the first set to be checked; The switching devices corresponding to the target data flow are sorted according to the port queue length to obtain a second set to be checked, and the switching devices in the second set to be checked are checked based on a preset indicator to obtain the inspection result.

4. The flow scheduling configuration method in a time-sensitive network of a robot operating system according to claim 3, characterized in that: The step of inspecting each of the switching devices in the second set to be inspected based on the preset indicator and obtaining the inspection result includes: When any of the switching devices has an abnormality, the corresponding abnormal data is corrected, and the corrected current basic data of the time-sensitive network is obtained, and the flow scheduling configuration process is re-executed until all the switching devices in the second set to be checked are completed.

5. The flow scheduling configuration method in a time-sensitive network of a robot operating system according to claim 1, characterized in that: The flow scheduling configuration data includes super periods of all the data flows, start data of the data flows and gating list data.

6. The flow scheduling configuration method in a time-sensitive network of a robot operating system according to claim 5, characterized in that: The gating list data includes a gating period; the flow scheduling configuration method in a time-sensitive network of the robot operating system further includes: Dividing the gate control period to obtain multiple time slots; A preset priority is obtained, and each of the time slots is allocated based on the preset priority.

7. The flow scheduling configuration method in a time-sensitive network of a robot operating system according to claim 1, characterized in that: Before configuring according to the flow scheduling configuration data, the method further includes: The synchronization message sending period of the master clock in the time-sensitive network is shortened.

8. The flow scheduling configuration method in a time-sensitive network of a robot operating system according to claim 3, characterized in that: The preset indicators include a gate list, and the inspection results include abnormal data in the gate list; The checking of each switching device in the second set to be checked based on the preset indicator to obtain the result of the checking includes: Obtaining a gating list of a target switching device; the target switching device is any switching device in the second set to be checked; The current gating list is compared with the gating list data in the flow scheduling configuration data to obtain corresponding gating list abnormal data.

9. The flow scheduling configuration method in a time-sensitive network of a robot operating system according to claim 8, characterized in that: The preset indicator further includes synchronization data, and the inspection result further includes synchronization abnormality data; and the inspection of each switching device in the second set to be inspected based on the preset indicator, and the inspection result further includes: Acquiring synchronization data of the target switching device; The current synchronization data is compared with the synchronization data in the time-sensitive network to obtain corresponding synchronization exception data.

10. The flow scheduling configuration method in a time-sensitive network of a robot operating system according to claim 9, characterized in that: The preset indicator further includes link data, and the inspection result further includes link abnormality data; and the inspection of each switching device in the second set to be inspected based on the preset indicator, and the inspection result further includes: Acquiring link data of the target switching device; The link data is compared with the link data in the current basic data to obtain corresponding link abnormality data.

Citation Information

Patent Citations

  • Joint optimization method for path selection and gating scheduling in time-sensitive network

    CN114172843A

  • Time-sensitive network abnormal traffic filtering method based on traffic identification

    CN117955700A