Scheduling Data Services in a Wireless Time-Sensitive Network

The method addresses the limitations of IEEE 802.1Qbv-based TSN by optimizing scheduling in wireless networks with centralized control, ensuring non-overlapping transmission windows and meeting end-to-end delay requirements, thus enhancing network capacity and user experience for mobile applications.

CN115336320BActive Publication Date: 2025-07-15MITSUBISHI ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180023380.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-27
Filing Date
2021-01-22
Publication Date
2025-07-15
Estimated Expiration
2041-01-22

AI Technical Summary

Technical Problem

The existing Ethernet-based time-sensitive network (TSN) technology cannot meet the needs of wireless nodes, especially in the case of interference between mobile devices and wireless links, and cannot effectively schedule data services to meet the requirements of deterministic communication.

Method used

By introducing a centralized scheduler in a wireless time-sensitive network, taking into account end-to-end delay requirements and interference links in the wireless access network, a hybrid integer linear planning method is adopted to optimize scheduling efficiency, ensure on-time transmission of time-critical service flows, and classify data services into time-critical and non-temporal-critical types, and use a network scheduler to generate a gating list to control data transmission.

Benefits of technology

It realizes the effective scheduling of data services in wireless TSN networks, meets the needs of mobile devices, reduces network delays, improves network capacity, and adapts to the network capacity requirements of modern enterprises and consumers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115336320B_ABST
    Figure CN115336320B_ABST
Patent Text Reader

Abstract

Systems and methods for scheduling data traffic in a wireless time-sensitive network (TSN). A computer is configured to synchronize the clocks of all nodes with a common clock in the TSN. A network scheduler is used to obtain data traffic information of the TSN to establish a routing path. The obtained data traffic information and routing information stored via a memory are used to determine the routing path. The network scheduler is used to calculate the link communication delay of each link of one or more relay nodes connecting the source node of the TSN to the destination node for each TSN flow. The network scheduler is used to determine interfering links for each wireless link. The network scheduler is used to determine a scheduling period. An optimal scheduling module is used to determine an optimal schedule. A gating list is generated for each outbound port of a wired node and a wireless transmitter of the TSN, and data transmission is started.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to scheduling data traffic in a communication network, and more particularly, to methods and apparatuses for scheduling data traffic in a time-sensitive network composed of wired nodes and wireless nodes. Background Art

[0002] For many industries such as manufacturing, automotive and industrial automation, and smart grid, deterministic communication is important. Providing determinism enables new levels of connectivity and optimization, and saves costs for many industries.

[0003] A time-sensitive network (TSN) is a technology for implementing deterministic communication. The IEEE 802.1 working group (WG) has been developing a set of Ethernet-based TSN standards to support deterministic communication via standard Ethernet. IEEE 802.1 TSN aims to deliver time-critical traffic for real-time applications that require determinism with minimized jitter and bounded end-to-end latency via standard Ethernet.

[0004] There are two types of nodes in a TSN network, namely, end nodes and relay nodes. End nodes represent devices that act as sources and / or destinations of data traffic. A data traffic source node may be referred to as a speaker, and a data traffic destination node may be referred to as a listener. End nodes may perform separate functions according to protocol stack layers. However, end nodes do not relay data. Relay nodes represent bridges and switches. They operate at the link layer to form a network and route data traffic from a source to a destination. IEEE 802.1Qca specifies a path reservation protocol to configure link layer routing paths in a TSN network. The routing path starts from a source node and ends at a destination node, which is connected through one or more relay nodes. However, as link layer devices, relay nodes do not generate data traffic and do not consume data traffic. Therefore, relay nodes cannot be source nodes or destination nodes.

[0005] TSN is designed to use time synchronization and scheduling mechanisms to achieve determinism. Therefore, time is a major aspect of TSN.

[0006] Using time synchronization, nodes in a TSN network need to share a common sense of time. In other words, all nodes need to synchronize their clocks to a master clock. The IEEE 1588 Precision Time Protocol (PTP) standard series and the IEEE 802.1AS timing and synchronization standard series are designed to achieve high-resolution clock synchronization in a TSN network. Once all nodes are synchronized to the master clock, the TSN network is ready to transmit traffic.

[0007] TSN allows all traffic classes and multiple applications to converge in one network.

[0008] TSN supports various types of services, such as periodic services, event-based services, streaming services, and best-effort services. From a time perspective, these services can be divided into two types: (1) time-critical services; and (2) best-effort services. In a TSN network, data is scheduled so that time-critical services need to be transmitted on time. Time-critical TSN services are usually periodic, and different TSN services can have different periods. For TSN services, the amount of data generated in each period is the same. The IEEE 802.1Q standard series is designed to schedule services in an Ethernet-based TSN network. By defining up to eight queues based on service priorities, TSN attempts to ensure a bounded maximum delay for the scheduled time-critical services through the switching network.

[0009] From a protocol stack perspective, TSN is a link layer technology. The forwarding decisions made by TSN bridges / switches use the Ethernet header content, rather than IP addresses. The payload of an Ethernet frame can be anything, not limited to Internet protocols. This means that TSN can be used in any environment and can carry the payloads of any industry application. At the link layer, the data unit is usually called a frame, rather than a packet as in the network layer term.

[0010] The TSN network supports applications that traditional networks cannot support. There are differences between traditional scheduling and TSN scheduling for scheduling. The first difference is that traditional scheduling is frame-based, that is, scheduling is to schedule the transmission of each frame. On the other hand, TSN scheduling is flow-based, that is, scheduling is to schedule the transmission of data flows. A flow consists of multiple frames. A guard time gap is required between the transmissions of two consecutive frames, that is, two frames cannot be sent continuously one after another. The second difference is the end-to-end (E2E) delay calculation. For traditional scheduling, the E2E delay consists of the queuing time and the frame transmission time. However, for TSN scheduling, the E2E delay needs to consider the queuing time, the frame transmission time, and the guard time. The guard time depends on the number of frames in the TSN flow and the link connection. Therefore, traditional frame-based scheduling methods cannot be directly applied to TSN flow scheduling.

[0011] However, Ethernet-based TSN technology does not meet the requirements of many industry applications that require mobile nodes. Many technical problems need to be solved.

[0012] First of all, Ethernet-based TSN alone cannot meet the requirements of many applications. For example, mobile robots and automated guided vehicles (AGVs) are widely used in environments such as manufacturing and logistics warehouses. Connecting Ethernet cables to these types of mobile devices is impractical. On the other hand, a wireless TSN network can support applications that a standard Ethernet-based TSN network cannot support. Therefore, wireless nodes are an inevitable part of the TSN network. As a result, a TSN network consisting of wireless nodes needs to be provided.

[0013] For scheduling, there are differences between Ethernet-based TSN scheduling and wireless TSN scheduling. The first difference is link interference. There is no link interference between two Ethernet links because they are connected by two separate Ethernet cables. As a result, two Ethernet links can transmit simultaneously. On the other hand, there is link interference between two wireless links as long as they are close to each other. As a result, two interfering wireless links cannot transmit simultaneously. The second difference is that Ethernet transmission is fast and reliable. In contrast, wireless transmission is slow and unreliable.

[0014] Secondly, the IEEE 802.1Qbv standard specifies gate control list (GCL)-based scheduling for Ethernet-based TSN, where the scheduling is local to the egress port, i.e., each egress port has a scheduler to schedule the traffic residing in the scheduling queue. However, the problem is that the E2E latency is an application layer requirement. The local scheduler at the Ethernet egress port is a link layer scheduler that cannot know and support the application layer E2E latency.

[0015] Thirdly, the TSN standard is a link layer technology. However, data traffic is generated at the application layer. As a result, the traffic queues at the higher layers. The link layer technology cannot know the queuing time at the higher layers and thus cannot calculate the queuing delay of the upper layers. In fact, 802.1Q specifies eight priorities for the data traffic in a TSN network. However, the priorities do not contain timing information. Therefore, the link layer technology lacks timing information to guarantee the E2E latency requirement.

[0016] Fourthly, IEEE 802.1Qbv specifies that each queue is associated with a gate, and the gate can be opened or closed. The gate state is controlled by the gate control list. However, 802.1Qbv does not provide a method to create the gate control list.

[0017] Fifthly, wireless links pose further challenges to the local scheduler. In fact, the link layer scheduler does not know which wireless links interfere with each other. Therefore, for TSN, especially for wireless TSN, the local scheduling specified in IEEE 802.1Qbv is impractical.

[0018] For this reason, the TSN scheduler needs to consider the upper layer queuing delay to calculate the end-to-end application latency and consider the interfering links so that no two interfering wireless links can be scheduled to transmit simultaneously.

[0019] Therefore, it is desirable to provide a scheduling method for scheduling data traffic in a TSN network composed of wireless nodes to meet the requirements of TSN applications that require mobile devices. Summary of the Invention

[0020] The present disclosure generally relates to scheduling data traffic in a communication network, and more particularly, to a method and an apparatus for scheduling data traffic in a time-sensitive network composed of wired nodes and wireless nodes.

[0021] Some embodiments of the present disclosure provide a method for scheduling time-critical traffic flows in a wireless time-sensitive network by jointly considering end-to-end latency requirements and interfering links in a radio access network. Additionally or alternatively, some embodiments optimize the scheduling efficiency such that as much non-time-critical best-effort traffic as possible can be transmitted.

[0022] To this end, some embodiments are based on the recognition that data traffic in a TSN network can be divided into time-critical TSN traffic and non-time-critical best-effort traffic. TSN traffic needs to meet end-to-end application layer latency requirements.

[0023] Some embodiments of the present disclosure are based on the recognition that data traffic is generated by an application at the application layer, and thus, the end-to-end latency is measured by the application at the application layer. At the source node, the data traffic queues at the upper layer queue before reaching the link layer where the time-sensitive network (TSN) function operates. Therefore, in order to meet the end-to-end latency requirements at the application layer, the upper layer queuing delay needs to be considered.

[0024] To this end, some embodiments divide the end-to-end latency into two parts: the upper layer queuing delay and the TSN delay. The upper layer delay is measured at the data traffic source node and is the time difference between the time when the data traffic is generated and the time when the data traffic reaches the link layer (i.e., the TSN layer). The TSN delay is the time difference between the time when the data traffic reaches the link layer of the source node and the time when the data traffic reaches the link layer of the destination node, where the data traffic can be forwarded without delay until the application.

[0025] Among them, the scheduler in the TSN network is a centralized scheduler, which communicates with all end nodes regarding the upper layer queuing delay and sends a schedule to all nodes.

[0026] Some embodiments of the present disclosure are based on the recognition that TSN traffic is transmitted in the form of data streams. A stream is a unidirectional data flow from a source node (speaker) to one or more destination nodes (listeners). A TSN stream consists of one or more data frames. These data frames cannot be continuously transmitted via the link. A guard time gap is required between two consecutive frame transmissions.

[0027] Some embodiments of the present disclosure are based on the recognition that the TSN latency of a TSN flow at a node that does not perform random backoff (source node or relay node) (e.g., an Ethernet node and a wireless node using TDMA channel access) includes queuing time, total transmission time, total protection time, and propagation time. For a wireless node using CSMA channel access, there is an additional latency, i.e., random backoff time. Thus, the sum of the latencies at all nodes along the routing path is the end-to-end TSN latency.

[0028] Some embodiments are based on the recognition that the scheduling of a TSN flow is a transmission window in the form of [node ID, queue ID, time offset, transmission duration], where the node ID identifies a specific node; the queue ID identifies the queue scheduled to send its data stream; the time offset indicates the transmission start time relative to the start of the scheduling period; and the transmission duration indicates the total time required to send the stream, where the transmission duration includes total transmission time, total protection time, and propagation time.

[0029] Among them, any two interfering wireless links in the TSN network cannot have overlapping transmission windows.

[0030] In addition, the TSN scheduler needs to determine interfering wireless links. Two wireless links A→B and C→D are interfering links only when node C is near node B and / or node A is near node D.

[0031] Some embodiments are based on the recognition that different TSN flows in the TSN network may have different data generation periods. Flows with shorter periods require more frequent scheduling, and flows with longer periods require less frequent scheduling.

[0032] In addition, it is desirable for the TSN scheduler to have a scheduling period that is a multiple of all flow periods (e.g., the least common multiple (LCM)). In each scheduling period, a TSN flow is scheduled for one or more transmission windows.

[0033] Therefore, the TSN scheduler needs to determine the offset of the flow within the scheduling period. Some embodiments formulate the scheduling problem of a TSN network composed of wireless nodes as a mixed integer linear programming (MILP) problem with the following constraints:

[0034] ○ Flow constraint: The scheduled time offset needs to be greater than or equal to zero, each transmission window needs to be accommodated within the flow period, and all transmission windows need to be accommodated within the scheduling period.

[0035] ○ Link constraint: The flows scheduled on a link cannot have overlapping transmission windows in the time domain.

[0036] ○ Wireless interference link constraint: The flows scheduled on interfering wireless links cannot have overlapping transmission windows in the time domain.

[0037] ○ Flow transmission constraint: Each flow is scheduled to be continuously transmitted along the determined routing path.

[0038] ○ End - to - end constraint: The upper bound of the delay of the TSN delay needs to be less than the required end - to - end delay required by the application.

[0039] Some embodiments of the present disclosure are based on the understanding that an Ethernet TSN node may have multiple outbound ports, each outbound port may have at most eight queues, and a wireless TSN node may have at most eight queues. Based on the number of queues, the TSN node may classify traffic into traffic classes based on traffic priority and map the traffic classes into queues such that time - critical TSN traffic flows are mapped into higher - priority queues and non - time - critical best - effort traffic is mapped into lower - priority queues. Some embodiments are based on the understanding that a centralized scheduler sends schedules to all TSN nodes.

[0040] The TSN node may convert the transmission window into a gated list event such that for each traffic flow in the queue, the start time of the transmission window indicates the queue open time and the end time of the transmission window indicates the queue close time.

[0041] Practical applications

[0042] By including wireless devices in a time - sensitive network, the method of the present disclosure can overcome many traditional problems. Latency refers to the speed of network traffic, measured in milliseconds or microseconds, with larger numbers indicating a slower connection. What constitutes an acceptable latency range will vary not only from network to network but also from application to application. Devices and applications that require greater network bandwidth (e.g., video or VoIP calls) will require lower latency ranges to function correctly and efficiently. Industrial control commands and responses require even lower latency ranges. Latency is measured in milliseconds or microseconds and can indicate one of two things depending on the metric used. The more common way to measure latency is called "round - trip time" (or RTT), which calculates the time it takes for a data packet to travel from one point on the network to another and for the response to be sent back to the source. Another measurement is called "time to first byte" (or TTFB), which records the time it takes from the moment a packet leaves a point on the network until it reaches its destination. RTT is more commonly used to measure latency because it can be run from a single point on the network and does not require data - collection software to be installed at the destination point (as is the case with TTFB). However, in a time - sensitive network, TTFB is often used to measure latency.

[0043] Some embodiments of the present disclosure provide methods and systems including a TSN scheduler that takes into account upper-layer queuing delays to calculate end-to-end application latency and jointly considers interfering links such that no two interfering wireless links can be scheduled to transmit simultaneously. In addition, some embodiments of the present disclosure also provide a scheduling method for scheduling data traffic in a TSN network composed of wireless nodes to meet the requirements of TSN applications that require mobile devices.

[0044] As described above, TSN networks support applications that traditional networks cannot support. There are differences between traditional scheduling and TSN scheduling for scheduling. The first difference is that traditional scheduling is frame-based, that is, scheduling is to schedule the transmission of individual frames. On the other hand, TSN scheduling is flow-based, that is, scheduling is to schedule the transmission of data flows. A flow consists of multiple frames. A guard time gap is required between the transmissions of two consecutive frames, that is, two frames cannot be sent continuously one after another. The second difference is the end-to-end (E2E) latency calculation. For traditional scheduling, the E2E latency consists of the queuing time and the frame transmission time. However, for TSN scheduling, the E2E latency needs to consider the queuing time, the frame transmission time, and the guard time. The guard time depends on the number of frames in the TSN flow and the link connection. Therefore, traditional frame-based scheduling methods cannot be directly applied to TSN flow scheduling. The method of the present disclosure provides a scheduling method that can be directly applied to TSN flow scheduling. Some advantages and benefits of these features are that the network capacity can be increased, thus addressing the growing demand for faster networking speeds today.

[0045] For example, VOIP solutions and video chat applications are now part of both enterprise and our personal lives, and online multiplayer games have become a mainstream hobby. To enable these applications, a large amount of data is being exchanged online at an increasing rate. The delay in data transmission (i.e., latency) can have a huge impact on the user experience. The methods and systems of the present disclosure can provide the capacity required to meet the demanding network capacity requirements of today's enterprises and consumers.

[0046] According to an embodiment of the present disclosure, a system for scheduling data traffic in a wireless time-sensitive network (TSN) having nodes, the nodes being wired nodes and wireless nodes. The system includes a computer communicatively coupled to a memory. The computer is configured to synchronize the clocks of all nodes with a common clock in the TSN. Then, a network scheduler communicates with a set of nodes to deliver data traffic to the TSN such that the data traffic is prioritized into TSN data streams classified as time-critical data traffic and non-time-critical data traffic. The data traffic and stored routing protocol data are used to determine link layer routing paths. For each link layer routing path, the network scheduler is used to calculate the link communication delay of each link of one or more relay nodes that connect the source node of each TSN flow to the destination node. Wherein, the link communication delay includes the transmission duration as part of the link delay. The transmission duration includes the total transmission time, the total protection time, and the link delay includes the queuing delay. The network scheduler is used to determine interfering links for each wireless link such that the interfering links do not have overlapping transmission times. Then, the network scheduler is used to determine a scheduling period such that each TSN flow is sent at least once during the scheduling period. An optimal scheduling module is used to determine an optimal schedule to generate a gating list for each outbound port of the wired node and the wireless transmitters of the TSN. Then, a gating list is generated for each outbound port of the wired node and the wireless transmitters of the TSN. Data transmission is started based on the generated gating list.

[0047] Another embodiment of the present disclosure is a method for scheduling data traffic in a wireless time-sensitive network (TSN). The method includes synchronizing the clocks of all nodes with a common clock in the TSN. Then, a network scheduler communicates with a set of nodes to transmit data traffic to the TSN. The data traffic is prioritized into TSN data streams classified as time-critical data traffic and non-time-critical data traffic. The data traffic and the stored routing protocol data are used to determine a link layer routing path. For each link layer routing path, the network scheduler is used to calculate the link communication delay of each link connecting the source node of each TSN flow to the destination node through one or more relay nodes. The link communication delay includes the transmission duration as part of the link delay. The transmission duration includes the total transmission time of all frames in the TSN flow and the total inter-frame protection time, and the link delay includes the queuing delay. The network scheduler is used to determine interfering links for each wireless link so that the interfering links do not have overlapping transmission times. Then, the network scheduler is used to determine a scheduling period so that each TSN flow is transmitted at least once during the scheduling period. Then, an optimal scheduling module is used to determine an optimal schedule to generate a gating list for each outbound port of the wired node and the wireless transmitter of the TSN. A gating list is generated for each outbound port of the wired node and the wireless transmitter of the TSN. Data transmission is started based on the generated gating list.

[0048] Another embodiment of the present disclosure is a system for scheduling data traffic in a wireless time-sensitive network (TSN) having nodes that are wired nodes and wireless nodes. The system includes a computer in communication with a memory. The computer is configured to synchronize the clocks of all nodes with a common clock in the TSN. Then, a network scheduler communicates with a set of nodes to transmit data traffic to the TSN. The data traffic is prioritized into TSN data streams classified as time-critical data traffic and non-time-critical data traffic. The data traffic and the stored routing protocol data are used to determine a link layer routing path. Then, for each link layer routing path, the network scheduler is used to calculate the link communication delay of each link connecting the source node of each TSN flow to the destination node through one or more relay nodes. The network scheduler is used to determine interfering links for each wireless link so that the interfering links do not have overlapping transmission times. Then, the network scheduler is used to determine a scheduling period based on Equation (3) so that each TSN flow is transmitted at least once during the scheduling period. The optimal scheduling module shown in Equation (4) is used to determine an optimal schedule to generate a gating list for each outbound port of the wired node and the wireless transmitter of the TSN. Then, a gating list is generated for each outbound port of the wired node and the wireless transmitter of the TSN. Data transmission is started based on the generated gating list.

[0049] Another embodiment of the present disclosure is a system for scheduling data traffic in a wireless time-sensitive network (TSN). The system includes a computer communicatively coupled to a memory. The computer is configured to synchronize the clocks of all nodes with a common clock in the TSN. Among them, the nodes include end nodes and relay nodes. The end nodes include wired and wireless data source nodes and destination nodes, and the relay nodes include wired and wireless bridges / switches / routers / access points. The network scheduler of the TSN obtains data traffic information to establish a routing path by communicating with the wired end nodes and wireless end nodes for the TSN data traffic. The TSN data traffic includes TSN data streams and best-effort data traffic. Among them, the TSN data streams are sorted by time priority as time-critical data traffic, and the best-effort service data is classified as non-time-critical data. The obtained data traffic information and the routing information stored via the memory are used to determine the routing path. Each routing path starts from a source node and ends at a destination node, and one or more relay nodes connect the source node to the destination node. The network scheduler calculates the link communication delay for each link of one or more relay nodes that connect the source node of each TSN stream to the destination node. Among them, the link communication delay includes the transmission duration as part of the link delay, and the link delay includes the queuing delay. The queuing delay is determined by the optimal scheduling module. Among them, the transmission duration includes the total time for sending all frames in the TSN stream and the total inter-frame protection time. The network scheduler determines the interfering links for each wireless link so that the interfering links do not have overlapping transmission times. The network scheduler determines the scheduling period based on Equation (3) so that each TSN stream is sent at least once in the scheduling period. The optimal scheduling module determines the optimal scheduling based on Equation (4). Among them, the scheduling for the TSN stream is a transmission window in the form of node ID, queue ID, time offset, and transmission duration. For the queue identified by the queue ID of the node identified by the node ID, the time offset corresponds to the gate opening time, and the time offset plus the transmission duration corresponds to the gate closing time to generate a gating list for each outbound port of the wired node and the wireless transmitter of the TSN. A gating list is generated for each outbound port of the wired node and the wireless transmitter of the TSN. Data transmission is started based on the generated gating list.

[0050] Another embodiment of the present disclosure is a non - transitory computer - readable storage medium having a program embodied thereon, the program being executable by a computer for performing a method. The method is for scheduling data traffic in a wireless time - sensitive network (TSN). The method includes synchronizing the clocks of all nodes with a common clock in the TSN. Among them, the nodes include end nodes and relay nodes. The end nodes include wired and wireless data source nodes and destination nodes, and the relay nodes include wired and wireless bridges / switches / routers / access points. Obtaining data traffic information using a network scheduler of the TSN to establish a routing path by communicating with wired end nodes and wireless end nodes for TSN data traffic. Making the TSN data traffic include TSN data streams and best - effort data traffic. Among them, the TSN data streams are sorted by time priority as time - critical data traffic, and the best - effort traffic data is classified as non - time - critical data. Determining the routing path using the obtained data traffic information and routing information stored via a memory. Making each routing path start from a source node and end at a destination node, and one or more relay nodes connect the source node to the destination node. Calculating, using the network scheduler, the link communication delay for each link of one or more relay nodes that connect the source node of each TSN stream to the destination node. Among them, the link communication delay includes the transmission duration as part of the link delay, and the link delay includes a queuing delay. Making the queuing delay be determined by an optimal scheduling module. Among them, the transmission duration includes the total time for sending all frames in the TSN stream and the total inter - frame protection time. Determining, using the network scheduler, interfering links for each wireless link so that the interfering links do not have overlapping transmission times. Determining, using the network scheduler, the scheduling period shown in Equation (3) so that each TSN stream is sent at least once in the scheduling period. Determining the optimal schedule using the optimal scheduling module shown in Equation (4). Among them, the scheduling for the TSN stream is a transmission window in the form of node ID, queue ID, time offset, and transmission duration. Among them, for the queue identified by the queue ID of the node identified by the node ID, the time offset corresponds to the gate - opening time, and the time offset plus the transmission duration corresponds to the gate - closing time to generate a gating list for each outbound port of the wired node and the wireless transmitter of the TSN. Generating a gating list for each outbound port of the wired node and the wireless transmitter of the TSN. Starting data transmission based on the generated gating list.

[0051] The presently disclosed embodiments will be further described with reference to the accompanying drawings. The drawings shown are not necessarily to scale, but generally focus on showing the principles of the presently disclosed embodiments. Brief Description of the Drawings

[0052] Figure 1 Figure 1 ​​is a schematic diagram showing a time-sensitive network composed of a wired end node, a wired relay node, a wireless relay node, a wireless end node, and a common clock for all nodes according to an embodiment of the present disclosure;

[0053] Figure 2A Figure 2A is a schematic diagram showing a functional structure of traffic mapping at an outbound port of a wired relay node supporting 802.1Qbv in a wireless time-sensitive network according to some embodiments of the present disclosure;

[0054] Figure 2B Figure 2B is a schematic diagram showing a functional structure of a wireless relay node supporting 802.1Qbv in a wireless time-sensitive network according to some embodiments of the present disclosure;

[0055] Figure 3A Figure 3A is a schematic diagram showing a functional structure of a wired end node supporting 802.1Qbv in a time-sensitive network according to some embodiments of the present disclosure;

[0056] Figure 3B Figure 3B is a schematic diagram showing a functional structure of a wireless end node supporting 802.1Qbv in a time-sensitive network according to some embodiments of the present disclosure;

[0057] Figure 4A Figure 4A is a schematic diagram showing a protocol stack of a TSN end node according to some embodiments of the present disclosure;

[0058] Figure 4B Figure 4B is a schematic diagram showing a protocol stack of a TSN relay node according to some embodiments of the present disclosure;

[0059] Figure 5 Figure 5 is a schematic diagram showing end-to-end delay calculation in a TSN network according to some embodiments of the present disclosure;

[0060] Figure 6 Figure 6 is a schematic diagram showing an example of inter-frame protection time and inter-stream protection time according to some embodiments of the present disclosure;

[0061] Figure 7A Figure 7A is a schematic diagram showing an example of two interfering wireless links [va, vb] and [vc, vd] according to some embodiments of the present disclosure.

[0062] Figure 7B Figure 7B ​​​​​​​​​​​​​​​​​​​​is a schematic diagram showing an example of two non-interfering wireless links [va, vb] and [vc, vd] according to some embodiments of the present disclosure;

[0063] Figure 8 Figure 8 is a schematic diagram showing an example of determining a scheduling period and transmission windows scheduled for different types of traffic within a time-sensitive network according to some embodiments of the present disclosure;

[0064] Figure 9A Figure 9A is a schematic diagram showing an example of a node scheduling multiple TSN flows stored in queues with different priorities according to some embodiments of the present disclosure;

[0065] Figure 9B Figure 9B is a schematic diagram showing an example of converting the Figure 9A shown scheduling into a gated list to control data traffic transmission of a TSN node according to some embodiments of the present disclosure;

[0066] Figure 10 Figure 10 is a block diagram showing some steps of a wireless scheduling method 1000 for wireless TSN network operation according to some embodiments of the present disclosure;

[0067] Figure 11 Figure 11 is a schematic diagram showing some components of a wireless scheduling method 1000 for implementing Figure 10 wireless TSN network operation for factory automation such as production lines, industrial control, autonomous driving, and smart grid applications;

[0068] Figure 12 Figure 12 is a block diagram showing a method that can be implemented using alternative components or in combination with components of Figure 11 according to embodiments of the present disclosure; Figure 10 of

[0069] Figure 13A Figure 13A is a schematic diagram showing some examples of a system having a control system using one or more embodiments of the method of the present disclosure according to some embodiments of the present disclosure;

[0070] Figure 13B Figure 13B is a schematic diagram showing some examples of a system having a control system using one or more embodiments of the method of the present disclosure according to some embodiments of the present disclosure; and

[0071] Figure 14 ​​​​​​​​​​​​​​​​​​Figure 14 FIG. is a schematic diagram of a system showing a control system having one or more embodiments of the method according to the present disclosure.

[0072] Although the above drawings illustrate the presently disclosed embodiments, as pointed out in the discussion, other embodiments are also conceivable. The present disclosure presents exemplary embodiments by way of illustration and not limitation. Those skilled in the art can design numerous other modifications and embodiments that fall within the scope and spirit of the principles of the presently disclosed embodiments. Detailed Embodiments

[0073] Figure 1 FIG. is a schematic diagram of a time-sensitive network composed of a wired end node, a wired relay node, a wireless relay node, a wireless end node, and a common clock for all nodes according to an embodiment of the present disclosure. Initially, to provide some information about the TSN network, the TSN network has two types of nodes, namely, end nodes and relay nodes. End nodes represent devices that serve as data traffic sources and / or data traffic destinations. A data traffic source node may be referred to as a speaker, and a data traffic destination node may be referred to as a listener. End nodes can perform separate functions according to the protocol stack layers. However, end nodes do not relay data. Relay nodes represent bridges, switches, and wireless access points. They operate at the link layer to form a network and route data traffic from the source to the destination.

[0074] Figure 1 FIG. shows a wireless time-sensitive network 100 composed of a wired TSN section 101, a wireless TSN section 102, and a common clock 103. The wired TSN section 101 includes a wired relay node 104, wired end nodes 126, 127, 128, 129 linked to bridges / switches 131, 132, 133, 134, and wired links 106, 111, 112, 113. The wireless TSN section 102 includes a wireless relay node 107, wireless end nodes 108, 118, and wireless links 109, 119. The wired TSN section 101 and the wireless TSN section 102 are connected by a wired relay node 104 and a wireless relay node 107, respectively, where the wireless relay node 107 is connected to the wired relay node 104 via a wired link 121.

[0075] In the wireless TSN network 100, different nodes have different functional structures. Relay nodes and end nodes have different functional structures. Wired nodes and wireless nodes have different functional structures.

[0076] A wired relay node may have multiple inbound ports and multiple outbound ports.

[0077] Figure 2AIt is a schematic diagram showing the functional structure of traffic mapping at the outbound port of a wired relay node supporting 802.1Qbv in a wireless time-sensitive network according to some embodiments of the present disclosure. For example, Figure 2A It shows the functional structure of traffic mapping at the outbound port of a wired relay node 200A supporting 802.1Qbv, which includes a common clock 103, a plurality of inbound ports 201a, 201b, an outbound port 202, an internal switching fabric 203, a priority filter 204, a set of queues (up to eight) 205, a gating list 206, and a set of gates G (equal to the number of queues) 207. The gating list 206 controls the gate state, that is, open or closed. Data can only be sent from the open gate G. Figure 2A It shows that gate 208 is closed and gate 209 is open. Therefore, the data from gate 209 is being sent to the outbound port 202. Each queue also has a frame selection function. However, the wireless relay node has a different structure.

[0078] Figure 2B It is a schematic diagram showing the functional structure of a wireless relay node supporting 802.1Qbv in a wireless time-sensitive network according to some embodiments of the present disclosure. For example, Figure 2B It shows the functional structure of a wireless relay node 200B supporting 802.1Qbv in a wireless time-sensitive network, which includes a common clock 103, a wireless receiver 210, a wireless transmitter 220, a priority filter 204, a set of queues (up to eight) 205, a gating list 206, and a set of gates G (equal to the number of queues) 207. The gating list 206 controls the gate state, that is, open or closed. Data can only be sent from the open gate. Figure 2B It shows that gate 208 is closed and gate 209 is open. Therefore, the data from gate 209 is being sent to the wireless transmitter 220. Each queue also has a frame selection function.

[0079] The wired end node can have a plurality of inbound ports and a plurality of outbound ports. However, the wired end node does not relay data. Figure 3A It is a schematic diagram showing the functional structure of a wired end node supporting 802.1Qbv in a time-sensitive network according to some embodiments of the present disclosure. For example, Figure 3A It shows the functional structure of traffic mapping at the outbound port of a wired end node 300A supporting 802.1Qbv, which includes a common clock 103, a plurality of inbound ports 201a, 201b, an outbound port 202, a priority filter 204, a set of queues (up to eight) 205, a gating list 206, and a set of gates G (equal to the number of queues) 207. The gating list 206 controls the gate state, that is, open or closed. Data can only be sent from the open gate. Figure 3AShows that door 208 is closed and door 209 is open so that data is sent from door 209 to the outbound port 202. Each queue also has a frame selection function. However, the wired end node does not require Figure 2A the internal switching fabric 203 because the received data is forwarded to the upper layer 230 and the outgoing data 240 from the upper layer goes to the priority filter 204. Similarly, the wireless end node does not relay data.

[0080] Figure 3B is a schematic diagram showing the functional structure of a wireless end node supporting 802.1Qbv in a time-sensitive network according to some embodiments of the present disclosure. For example, Figure 3B shows the functional structure of a wireless end node 300B supporting 802.1Qbv, which includes a common clock 103, a wireless receiver 210, a wireless transmitter 220, a priority filter 204, a set 205 of queues (up to eight), a gating list 206, and a set 207 of gates G (equal to the number of queues). The gating list controls the gate state, i.e., open or closed. Data can only be sent from an open gate. Figure 3B Shows that door 208 is closed and door 209 is open. Therefore, the data from door 209 is being sent to the wireless transmitter 220. Each queue also has a frame selection function. The wireless end node does not require Figure 2A the internal switching fabric 203 because the received data is forwarded to the upper layer 230 and the outgoing data 240 from the upper layer goes to the priority filter 204.

[0081] End-to-end delay calculation

[0082] Figure 4A is a schematic diagram showing the protocol stack of a TSN end node according to some embodiments of the present disclosure.

[0083] Figure 4B is a schematic diagram showing the protocol stack of a TSN relay node according to some embodiments of the present disclosure.

[0084] Referring to Figure 4A and Figure 4B , in addition to the functional structure, the end node and the relay node may also have different protocol stacks. The end node is an application node. Therefore, as Figure 4A shown, the end node may have seven protocol layers. In particular, TSN operates at the link layer. On the other hand, as Figure 4B shown, the TSN relay node may have two protocol layers. As a TSN end node, TSN operates at the link layer.

[0085] Figure 5 is a schematic diagram showing the end-to-end delay calculation in a TSN network according to some embodiments of the present disclosure. For example, Figure 5Shows the differences in end-to-end delay calculations caused by different protocol stacks that are not correctly calculated by the prior art. Figure 5 Also shows that the end-to-end delay can be calculated as

[0086] E2E delay = upper layer delay + E2E TSN delay. (1)

[0087] TSN application nodes must consider the upper layer delay because data traffic is generated at the application layer. As a result, data traffic queues at the higher layers before reaching the link layer (i.e., the TSN layer).

[0088] Different from traditional frame- or packet-based scheduling, TSN scheduling schedules flows, not individual frames or packets. A TSN flow is a unidirectional data flow from a source node to one or more destination nodes. A TSN flow consists of multiple frames that cannot be sent continuously. Therefore, a guard time gap needs to be inserted between two consecutive frames. Additionally, a guard time gap is required between two consecutive flows.

[0089] Figure 6 Is a schematic diagram showing examples of the inter-frame guard time and the inter-flow guard time according to some embodiments of the present disclosure. For example, Figure 6 Shows examples of two different types of guard times for TSN flow transmission, where there are two TSN flows, flow 1 601 and flow 2 602. Flow 1 601 consists of four frames and flow 2 consists of three frames. There is an inter-frame guard time 603 and an inter-flow guard time 604.

[0090] For a TSN flow, the delay at relay node i is defined as

[0091]

[0092] Where

[0093] TSN queuing time = dequeue time of the last frame – enqueue time of the first frame;

[0094] The backoff time is only applied when using the CSMA channel access mechanism and is only applied to the first frame. The remaining frames can be sent using a fixed time gap, such as the Short Inter-Frame Space (SIFS) in a WiFi network;

[0095]

[0096] Total TX time = TX time of all frames in the flow;

[0097] The propagation time is the time required for a signal to propagate from the sender to the receiver. For Ethernet-based TSN, the propagation time can be ignored. However, it may need to be considered for wireless TSN; and

[0098] The guard interval is defined as the minimum time gap required between the TXs of two consecutive frames. In Wi-Fi-based TSN, SIFS can be used for two frames in the same flow, and DIFS can be used for two frames in different flows. For Ethernet-based TSN, in the worst-case scenario, the IFG (Inter-Frame Gap) time is defined as 12 bytes / port TX rate. Thus, the guard interval is equal to the time required to transmit the maximum-length frame.

[0099] Therefore, the E2E TSN delay of flow s is defined as the time difference from the time when the flow arrives at the link layer at the source node to the time when the flow is fully received at the destination node. For an N-hop routing path, it can be calculated as

[0100]

[0101] IEEE 802.1Qca specifies a path reservation protocol to configure the link layer routing path in a TSN network. The routing path starts from the source node and ends at the destination node, which is connected by one or more relay nodes. However, as a link layer device, the relay node does not generate data traffic and does not consume data traffic. Therefore, the relay node cannot be the source node or the destination node.

[0102] A TSN flow represents

[0103] A TSN flow is a periodic data stream from the source node to one or more destination nodes. Let S be the set of flows in a wireless TSN network. For a flow s from the source node v a to the destination node v b of i ∈S, s i is represented as

[0104] <s i .E2E,s i .L,s i .F,s i .G,s i .T,s i .P>,

[0105] where

[0106] ·s i .E2E is the end-to-end delay requirement;

[0107] ·s i .L is the total number of bits in the flow;

[0108] ·s i .F is the number of frames in the flow;

[0109] ·s i.G is the inter-frame protection time for continuous transmission of frames, for example, SIFS in TSN-based WiFi;

[0110] ·s i .T is the time length of the flow period; and

[0111] ·s i .P is the routing path of the flow with source node v a and destination node v b and is represented as

[0112] ([v a ,v a+1 ,…,[v x ,v y ,…,[v b-1 ,v b ).

[0113] For the routing path

[0114] ·([v a ,v a+1 ,…,[v x ,v y ,…,[v b-1 ,v b ),

[0115] the link [v x ,v y on the path is represented as

[0116] <[v x ,v y .r,[v x ,v y .pd,[v x ,v y .mt,[v x ,v y .g>,

[0117] where

[0118] ·[v x ,v y .r is the transmission (TX) data rate on the link;

[0119] ·[v x ,v y .pd is the propagation delay;

[0120] ·[v x ,v y .mt is the micro-droplet of the link, defining a fine-scaled time interval; and

[0121] ·[vx , v y .g is the length of the inter - flow protection time between two consecutive flows, e.g., the DIFS time in WiFi - based TSN.

[0122] Interfering Links in Wireless TSN

[0123] In Ethernet - based TSN, any two links can transmit simultaneously because they are connected by different Ethernet cables and do not interfere with each other. However, a wireless network is a shared - medium network, such that two nearby wireless links will interfere with each other. The scheduler needs to identify interfering links. The local schedulers provided in 802.1Q and 802.1Qbv cannot identify interfering wireless links because the local schedulers do not have network topology information.

[0124] Let N vx denote the neighbors of node v x , i.e., the set of nodes that can communicate with node v x . If

[0125] 1) v c ∈N vb , or

[0126] 2) v a ∈N vd , or

[0127] 3) v c ∈N vb and v a ∈N vd ,

[0128] then the two wireless links [v a , v b and [v c , v d are interfering links.

[0129] Figure 7A is a schematic diagram showing an example of two interfering wireless links [v a , v b and [v c , v d according to some embodiments of the present disclosure. For example, Figure 7A shows an example of two interfering wireless links [v a , v b and [v c , v d .

[0130] In this example, node v c is within the communication range of node v b , i.e., v c ∈Nvb Therefore, the transmission interference of node v c is from the transmission of node v a to the transmission of node v b .

[0131] Figure 7B is a schematic diagram showing examples of two non-interfering wireless links [v a , v b and [v c , v d according to some embodiments of the present disclosure. For example, Figure 7B shows examples of two non-interfering wireless links [v a , v b and [v c , v d . In this example, node v a is not within the communication range of node v d , and node v c is within the communication range of node v b . Therefore, node v a and node v c can transmit simultaneously without causing interference.

[0132] Scheduling period and data flow

[0133] There are multiple TSN flows in a TSN network. Let S be the set of TSN flows in the TSN network. Each TSN flow has its own period and a pair of source and destination nodes.

[0134] To schedule all TSN flows, it is necessary to first determine the scheduling period. There are different ways to determine the scheduling period.

[0135] The least common multiple (LCM) is an effective way to determine the scheduling period h p :

[0136]

[0137] The scheduling of TSN flows is to determine the transmission window defined in the form of [node ID, queue ID, time offset, transmission duration],

[0138] where

[0139] · The node ID identifies a specific node;

[0140] · The queue ID identifies the queue scheduled to send its data stream;

[0141] · The time offset indicates the transmission start time relative to the start of the scheduling period h p ; and

[0142] · The transmission duration indicates the total time required to send the stream, where the transmission duration includes the total transmission time, the total protection time, and the propagation time.

[0143] Figure 8 It is a schematic diagram showing an example of determining a scheduling period and a transmission window scheduled for different types of services in a time-sensitive network according to some embodiments of the present disclosure. For example, Figure 8 It shows an example of determining the scheduling period for two TSN streams, where stream 1 802 has a period of 3 seconds and stream 2 803 has a period of 2 seconds. The LCM of the two periods is 6 seconds. Therefore, the scheduling period h p 801 = 6 seconds. Within the scheduling period h p , stream 1 is scheduled twice as represented by the transmission window 804, and stream 2 is scheduled three times as represented by the transmission window 805. Transmission windows 806 and 807 are assigned to best-effort data services B1 and B2, respectively.

[0144] The TSN stream is assigned one or more transmission windows within the scheduling period h p . Each transmission window schedules the transmission of the TSN stream within the TSN stream period. This transmission is referred to as the data stream of the TSN stream. The TSN stream s has h p / s.T streams within each scheduling period h p .

[0145] Let f i,j [vx,vy] be the j-th stream of the TSN stream s x propagating on the link [v y , v x via the path from the source node v y to the destination node v i . Then, f i,j [vx,vy] is represented as

[0146] <f i,j [vx,vy] .φ, f i,j [vx,vy] .φf, f i,j [vx,vy] .L, f i,j [vx,vy] .q, f i,j [vx,vy] .qd>,

[0147] where

[0148] · f i,j [vx,vy] .φ is the transmission time offset of the stream s on the link within the scheduling period h i ; p ​

[0149] ·f i,j [vx,vy] . φf is the start time offset of the flow of stream s i and

[0150] f i,j [vx,vy] . φf = f i,j [vx,vy] . φ + f * h p / s i . T; (f = 0, 1, s i . T - 1),

[0151] ·f i,j [vx,vy] . L is the transmission time of the flow and is given as f i,j [vx,vy] . L = s i . L / ([vx, vy].r * [vx, vy].mt) + s i . F * s i . G / [vx, vy].mt + optional backoff time / [vx, vy].mt;

[0152] ·f i,j [vx,vy] . q is the queue storing the flow f i,j [vx,vy] and

[0153] ·f i,j [vx,vy] . qd is the queuing delay.

[0154] The optional backoff T time is only required when using CSMA (e.g., TSN via a WiFi network).

[0155] Scheduling constraints

[0156] Constraint 1 : Queue constraints

[0157] At a TSN node, TSN flows are buffered in queues before transmission. 802.11Qbv specifies up to 8 queues for Ethernet egress ports. A wireless node can be considered a port, and thus, it can also have up to 8 queues. Let F i [vx,vy] be the set of all flows of stream s x , v y scheduled on the link [v i The queue ID constraint can be expressed as

[0158] f i,j [vx,vy].q≥1 and f i,j [vx,vy] .q≤8.

[0159] Considering best-effort data, TSN flows can be stored in a high-priority queue.

[0160] The queue at the TSN node has a finite capacity, so the total amount of flows to be buffered in the queue needs to be less than the queue capacity. This constraint is expressed as

[0161] Q[f i,j [vx,vy] .q].size+

[0162] s i .L≤Q[f i,j [vx,vy] .q].capacity.

[0163] Constraint 2 : Flow constraints

[0164] For the link [v x ,v y ] TSN streams scheduled on i For any stream, the time offset must be greater than or equal to 0, and the entire transmission window must fit within the stream period. This constraint can be expressed as

[0165] f i,j [vx,vy] .φ≥0 and

[0166] f i,j [vx,vy] .φf+f i,j [vx,vy] .L≤s i .T.

[0167] This constraint limits the time offset of the individual flows relative to the period length and ensures that the entire flow is contained within the flow period.

[0168] Constraint 3 : Link Constraint

[0169] Link [v x ,v y ]Scheduled on different flows i and Flows m The two streams of will not overlap in the time domain. This constraint can be expressed as

[0170] Where i≠m,

[0171]

[0172] Or

[0173]

[0174] Constraint 4 : Wireless interference link constraint

[0175] Two interfering links [v x , v y and [v u , v w with different flows s i and s m scheduled on them will not overlap in the time domain. This constraint can be expressed as

[0176]

[0177] Or

[0178]

[0179] Constraint 5 : Flow transmission constraint

[0180] Each flow is continuously transmitted along the routing path via different hops. Assuming δ is the maximum timing error between different nodes, this constraint can be expressed as

[0181]

[0182] Constraint 6 : End-to-end delay constraint

[0183] The end-to-end delay requirement must be satisfied to keep the TSN flow valid. As an example, we consider a TSN flow originating from node v a and destined for node v b where v a+1 is the first-hop relay node and v b-1 is the last relay node.

[0184] This constraint can be expressed as

[0185]

[0186] Optimal scheduling in wireless TSN networks

[0187] For flow f i,j ∈ F i , the end-to-end delay is given by

[0188]

[0189] where d va is node v aThe upper layer latency at [location], and the remaining latency is the TSN latency.

[0190] For s i ∈ S, the end-to-end latency is given by

[0191] D i =∑ j D i,j .

[0192] For all TSN flows in the wireless TSN network, the end-to-end latency is calculated as

[0193] D=∑ i ∑ j D i,j .

[0194] The optimal scheduling is to find the transmission offset and queue ID that minimize the total E2E latency

[0195]

[0196] subject to Constraints 1 to 6.

[0197] This scheduling problem can be transformed into a mixed linear integer programming (MLIP) problem.

[0198] Gating list generation

[0199] Each wired TSN node (relay node or end node) can have multiple inbound ports and multiple outbound ports. As Figure 2A and Figure 3A shown, for each outbound port, a wired TSN node (relay node or end node) can have at most eight queues to store data traffic. The transmission of data traffic is controlled by the gating list 206.

[0200] Each wireless TSN node (relay node or end node) has a wireless receiver and a wireless transmitter. The wireless receiver can be regarded as an inbound port, and the wireless transmitter can be regarded as an outbound port. As Figure 2B and Figure 3B shown, each wireless TSN node (relay node or end node) can also have at most eight queues to store data traffic. The transmission of data traffic is also controlled by the gating list 206.

[0201] Each queue 205 is associated with a gate 207, and the gate 207 can be opened or closed. However, data traffic (TSN flow or best-effort data) can only be sent from the queue when the queue is open. The gate state is controlled by the gating list. However, 802.1Q and 802.1Qbv do not provide an effective method to create a gating list. Therefore, it is desirable to provide a method for generating a gating list.

[0202] For link [vx , v y For each TSN flow f scheduled upward i,j [vx,vy] , the optimal scheduler determines a schedule in the form of [node ID, queue ID, time offset, transmission duration],

[0203] where

[0204] · Node ID = v x ,

[0205] · Queue ID = f i, [vx,vy] .q,

[0206] · Time offset = f i, [vx,vy] .φ and

[0207] ·

[0208] Therefore, the gate open time is

[0209]

[0210] and the gate close time is

[0211]

[0212] These open times and close times form a gating list.

[0213] Figure 9A is a schematic diagram showing an example of a node scheduling multiple TSN flows stored in queues with different priorities according to some embodiments of the present disclosure. For example, Figure 9A shows an example of the scheduling of a TSN node with multiple TSN flows stored in priority queues 5 - 8. Queues 1 - 4 are for lower - priority best - effort traffic. In contrast, the TSN flows are stored in high - priority queues.

[0214] Among them, TSN flow 1 is stored in queue 8 and has a time offset = 0 and a transmission duration = 10 μs. Queue 7 stores two TSN flows, flow 2 and flow 3.

[0215] Flow 2 has a time offset = 10 μs and a transmission duration = 5 μs.

[0216] Flow 3 has a time offset = 15 μs and a transmission duration = 8 μs.

[0217] TSN flow 4 is stored in queue 6 and has a time offset = 23 μs and a transmission duration = 7 μs.

[0218] TSN flow 5 is stored in queue 5 and has a time offset = 30 μs and a transmission duration = 3 μs.

[0219] Figure 9B is a schematic diagram showing an example of converting the Figure 9A shown scheduling into a gating list to control data traffic transmission of a TSN node. For example, Figure 9B shows converting the Figure 9A shown scheduling into a gating list to control data traffic transmission of a TSN node, where

[0220] ·o indicates the door is open,

[0221] ·c indicates the door is closed, and

[0222] ·x indicates that the door may open if data is available.

[0223] At time 0, door 8 opens to send flow 1, and the remaining seven queues are closed. Flow 1 takes 10 μs to send. At time = 10 μs, door 8 closes and door 7 opens to send flow 2 and flow 3, which takes 13 μs. At time = 23 μs, door 7 closes and door 6 opens to send flow 4, which takes 7 μs. At time = 30 μs, door 6 closes and door 5 opens to send flow 5, which takes 3 μs. Thus, door 5 closes at time = 33 μs. After all priority queues are closed, best - effort data can start transmission at time = 33 μs.

[0224] Figure 10 is a block diagram showing some steps of a wireless scheduling method 1000 for wireless TSN network operation according to some embodiments of the present disclosure.

[0225] Figure 10 Step 1005 of

[0226] may include the wireless TSN network starting or waking up all nodes (wired end - nodes, wireless end - nodes, wired relay nodes, and wireless relay nodes) in the network. Figure 1 Step 1010, once all nodes are started and / or woken up, the wireless TSN network needs to synchronize the clocks of the nodes with

[0227] Step 1015, once all nodes are synchronized to the master clock, the TSN network is ready to transmit data traffic. To transmit data traffic in the wireless TSN network, the network scheduler communicates with end nodes (wired end nodes and wireless end nodes) regarding data traffic information including TSN data traffic (i.e., TSN flows) and best-effort data traffic. For TSN flows, the information includes priority, end-to-end delay requirement, data period, number of frames within each period, frame size, upper layer delay, etc. The priority filter 204 uses the priority to buffer data into appropriate queues, as shown in Figure 2A , Figure 2B , Figure 3A and Figure 3B . The network scheduler can use the remaining information for delay calculation.

[0228] Step 1020, once the data traffic information is ready, the TSN network uses the IEEE 802.1Qca path reservation protocol to establish a routing path. The routing path starts from the source node and ends at the destination node, and each link on the routing path is associated with a link transmission rate.

[0229] Step 1025, for TSN flows, once the routing path is determined, the scheduler can calculate the link communication delay for each link. The link communication delay is part of the link delay, and the link delay includes queuing delay, as shown in Equation (2). The queuing delay is determined by the optimal scheduling.

[0230] Step 1030, in addition, once the routing topology is determined, for each wireless link, the scheduler needs to determine interfering links. These links cannot have overlapping transmission times.

[0231] Step 1035, next, the scheduler needs to determine the scheduling period using Equation (3).

[0232] Step 1040, once the scheduling period is determined, the scheduler can determine the optimal scheduling by solving the optimization problem (4), which provides information to generate a 1080 gating list for each outbound port of the wired node and the wireless transmitter.

[0233] Step 1045 is to generate a gating list for each outbound port of the wired node and the wireless transmitter.

[0234] Step 1050, after the gating list is formed, data transmission begins.

[0235] Figure 11 is a schematic diagram showing some components of a wireless scheduling method 1000 for implementing wireless TSN network operation for factory automation such as production lines, industrial control, autonomous driving, computer games, and smart grid applications. For example, Figure 10 . Figure 10The method 1000 can be installed in many different ways, including by Figure 10 The method 1000 is installed in the electronic device 1109. Figure 10 The electronic device 1109 of the method 1000 may include a control system 1129 that controls the operation of the installed electronic device 1109. The control system 1129 may obtain or receive data communicated between devices of the installed electronic device 1109, and may communicate data between other user products installed via a transceiver 1136. Data may be sent 1137 to a communication system 1159, or data may be received 1138 from the communication system 1159. All of this may depend on the control system data reception / obtaining requirements of each user-specific application to allow automated control of the installed electronic device 1109. The reception / obtaining of data may provide information to the user operator of the installed electronic device 1109 to perform some actions including control actions. The control system 1129 may use the communication system 1159 to communicate data between devices of the control system 1129 and to devices of the electronic device 1109 that may be controlled by the control system 1129. Among them, the communication system 1159 may include a data distribution service 1161 that communicates with a TSN 1163.

[0236] Based on user-specific requirements, Data Distribution Service (DDS) 1161 is available as an Object Management Group (OMG) machine-to-machine (sometimes called a connection framework) standard for real-time systems, which is designed to enable reliable, high-performance, interoperable, real-time, and scalable data exchange using a publish-subscribe model. DDS1161 can address the needs of applications like autonomous vehicles, robotics, power generation, simulation and testing, computational gaming, smart grid management, traffic systems, and other applications that require real-time data exchange.

[0237] DDS1161 can be configured as a network middleware that simplifies complex network programming, and can implement a publish-subscribe model for sending and receiving data, events, and commands between nodes. The node that generates information (publisher) creates a "topic" (e.g., temperature, position, pressure) and publishes a "sample". DDS1161 can transmit samples to subscribers who declare interest in the topic. DDS1161 can handle transmission transactions: message addressing, data marshaling and unmarshaling (so subscribers can be on a different platform from the publisher), transmission, flow control, retries, etc. Any node can be a publisher, a subscriber, or both at the same time. DDS1161 can be a publish-subscribe model that substantially eliminates complex network programming for distributed applications.

[0238] The DDS1161 can support mechanisms that go beyond the basic publish-subscribe model. The key benefit is that applications communicating using DDS1161 are decoupled. Little design time is spent dealing with their mutual interactions. In particular, an application never needs information about other participating applications, including their existence or location. DDS1161 can transparently handle message delivery without the intervention of the user application, including: (a) determining who should receive the message; (b) where the receiver is located; and (c) what happens if the message cannot be delivered. Additionally, DDS1161 can allow the user to specify Quality of Service (QoS) parameters to pre-configure the discovery and behavior mechanisms. By anonymously exchanging messages, DDS simplifies distributed applications and encourages modular, well-structured programs. If the primary node fails, DDS1161 can also automatically handle hot-swappable redundant publishers. Subscribers always get the highest-priority samples for which the data is still valid (i.e., the expiration period specified by the publisher has not expired). It also automatically switches back to the primary node when the primary node recovers.

[0239] The control system 1129 can be hardware connected to processors (1)&(2) 1131, 1133. Depending on the user's specific application requirements, the processors 1131, 1133 can include other processors, microprocessors, specific circuits, or integrated circuits to perform one or more operations according to the user's specific application to control the installed electronic device 1109.

[0240] Similarly, depending on the user's specific application, the control system 1129 can have a network module 1130, which can include a data storage unit 1135 connected to processors (1)&(2) 1131, 1133. The network module 1130 can be used as a TSN module, which can include software modules that implement specific functions in the network stack, such as a data link interface, a transport protocol, or a network application, etc. (i.e., according to the user's specific application requirements). For example, the communication system 1159 can provide data from the installed electronic device 1109 and the data storage unit 1135 to the network module 1130. Depending on the user's specific application, the processors 1131, 1133 of the network module 1130 can be programmed using a specific model related to one of factory automation, industrial control, autonomous driving, computer games, and smart grid systems that use the installed electronic device 1109. The network module 1130 is configured to receive TSN data traffic and then determine the type of each received data traffic, including types such as (a) periodic traffic, (b) event-based traffic, (c) flow traffic, and (d) best-effort traffic. Among them, the types are divided into two types,

[0241] (a) Time-critical service ; in the TSN network, schedule the data so that time-critical traffic needs to be delivered on time. Time-critical TSN traffic is usually periodic, and different TSN traffic can have different periods.

[0242] (b) Best-effort service 。

[0243] In a TSN network, schedule data such that time-critical services need to be transmitted on time. Time-critical TSN services are typically periodic, and different TSN services may have different periods. For TSN services, the amount of data generated in each period is the same. The IEEE 802.1Q standard series is designed to schedule services in a TSN network. By defining queues based on service priorities, TSN attempts to ensure a bounded maximum latency for the scheduled time-critical services through a switched network. For example, based on the type of data, i.e., time-critical TSN service or best-effort service data, network module 1130 may generate a schedule to send each data frame through communication system 1159, and then may send the data frames based on this schedule. In addition, control system 1129 may control the operation of the installed electronic device 1109 based on the sent data frames. Data storage unit 1135 may include stored software to execute programs via processors 1131, 1133, and network module 1130 to initiate, providing operability for some features of the method of the present disclosure. It is conceivable that network module 1130 may use the prioritization information and / or stored routing information stored in storage unit 1135 to perform some prioritization of data and / or routing paths according to user-specific interests related to operational aspects or as providing data to some other operation / system, which may be sent back to the installed electronic device 1109 or other systems. Since the installed electronic device 1109 includes sensors and attributes that can be customized for the specific needs of the user, the user may use any additional attributes added to the installed electronic device 1109. Among them, any such aspects discovered or obtained through the additional attributes of the installed electronic device 1109 may be communicated via communication system 1159 to other systems, user operators, etc.

[0244] The versatility of the installed electronic device 1109 can be customized according to the specific interests of the user, so that the wireless TSN network operation and data communication between users can be increased. For example, the communication system 1159 can communicate data between multiple devices (including the sensor 1114 (i.e., types of cameras, videos, detectors such as light, heat, vibration, etc.)) that can detect, measure, and record data of the installed electronic device 1109. The sensor data can then be communicated to the communication system 1159 and used to manage the operations of expected operations, that is, production lines, industrial control, autonomous driving, computer games, and smart grid applications, such as maintenance, operation efficiency, etc. According to the specific needs of the user, the user operator can use the sensor data to initiate some actions via the communication system 1159 and the control system 1129, which can include enabling the actuator 1115 (associated with components of production lines, industrial control, autonomous driving, computer games, etc.) or other devices 1116. It is conceivable that the processor 1117, the memory 1118, and the user interface / platform 1119 can be used by the user or operator of the communication system 1159 or the control system 1129.

[0245] Figure 12 is a block diagram showing a method according to an embodiment of the present disclosure Figure 10 which can be implemented using alternative components or in combination with Figure 11 the components of. For example, Figure 12 may be a controller 1211 including a processor 1240, a computer-readable memory 1212, a storage unit 1258, and a user interface 1249 having a display 1252 and a keyboard 1251, which are connected by a bus 1256. For example, the user interface 1249 communicating with the processor 1240 and the computer-readable memory 1212 obtains data when receiving user input from the surface of the user interface 1257, the keyboard surface and stores it in the computer-readable memory 1212.

[0246] It is conceivable that the memory 1212 can store instructions executable by the processor, historical data, and any data that can be used by the methods and systems of the present disclosure. The processor 1240 can be a single-core processor, a multi-core processor, a computing cluster, or any other number of other configurations. The processor 1240 can be connected to one or more input and output devices via the bus 1256. The memory 1212 can include random access memory (RAM), read-only memory (ROM), flash memory, or any other suitable memory system.

[0247] Still referring to Figure 12, the storage device 1258 may be adapted to store supplementary data and / or software modules used by the processor. For example, the storage device 1258 may store the historical data and other relevant data mentioned above with respect to the present disclosure. Additionally or alternatively, the storage device 1258 may store historical data similar to the data mentioned above with respect to the present disclosure. The storage device 1258 may include a hard disk drive, an optical drive, a thumb drive, a drive array, or any combination thereof.

[0248] The system may optionally be linked via the bus 1256 to a display interface (not shown), which is adapted to connect the system to a display device (not shown), where the display device may include a computer monitor, a camera, a television, a projector, or a mobile device, etc.

[0249] The controller 1211 may include a power supply 1254, which may optionally be located outside the controller 1211 depending on the application. A user input interface 1257 adapted to connect to the display device 1248 may be linked via the bus 1256, where the display device 1248 may include a computer monitor, a camera, a television, a projector, or a mobile device, etc. A printer interface 1259 may also be connected via the bus 1256 and is adapted to connect to a printing device 1232, where the printing device 1232 may include an inkjet printer, a solid ink printer, a large commercial printer, a thermal printer, a UV printer, or a dye-sublimation printer, etc. A network interface controller (NIC) 1254 is adapted to connect to a network 1236 via the bus 1256, where data or other data, etc. may be rendered on a third-party display device, a third-party imaging device, and / or a third-party printing device outside the controller 1211. In addition, the bus 1256 may be connected to a global positioning system (GPS) device 1201 or a similar related type device.

[0250] Still referring to Figure 12 , data or other data, etc. may be sent via the communication channel of the network 1236 and / or stored in the storage system 1258 for storage and / or further processing. Additionally, data or other data may be received wirelessly or hard-wired from the receiver 1246 (or an external receiver 1238) or sent wirelessly or hard-wired via the transmitter 1247 (or an external transmitter 1239), and both the receiver 1246 and the transmitter 1247 are connected via the bus 1256. The controller 1211 may be connected to an external routing hardware device 1244 and an external input / output device 1241 via the input interface 1208. The controller 1242 may be connected to an external control system 1272 (similar to Figure 11The control system 1129) and the routing hardware device 1244. The routing hardware device 1244 may have incoming data from the router 1273 and the network communication device 1244. Among them, the routing hardware device 1244 may have outgoing data to the router 1274 and the network communication device 1274. In addition, the external memory device 1206 may be connected to the external sensor 1204 and the machine 1202, and the memory device may be connected to the bus 1256. The output interface 1209 may be used to output the processed data from the processor 1240 via the bus 1256.

[0251] Figure 13A and Figure 13B is a schematic diagram showing some examples of a system having a control system with one or more embodiments of the method of the present disclosure.

[0252] For example, Figure 13A shows an autonomous driving vehicle 1301 including a control system that controls the operation (e.g., movement and other actions) of the autonomous driving vehicle 1301 based on data obtained, generated, and / or communicated among the devices of the autonomous driving vehicle 1301. For example, the control system may control one or more power systems (not shown) associated with the autonomous driving vehicle 1301 such that the control system can control the operation of the vehicle (e.g., driver warnings, automated movement, or other actions) based on data obtained, generated, and / or communicated among the devices of the autonomous driving vehicle 1301. Among them, one or more methods of the present disclosure may be incorporated into the system of the autonomous driving vehicle 1301.

[0253] Figure 13B shows a computer game console 1307 having a game device 1305, where the computer game console 1307 includes a control system that controls the operation (e.g., movement and other actions) of the computer game. Among them, one or more methods of the present disclosure may be incorporated into the system of the computer game console 1307.

[0254] Figure 14 is a schematic diagram showing a system having a control system with one or more embodiments of the method of the present disclosure. Figure 14Schematic diagram showing an automated system 1400 including a control system 1409, into which the methods of the present disclosure may be incorporated. The automated system 1400 includes a control system 1409 having one or a combination of the following: a manufacturing controller 1430 configured to control 1435 a device 1401 to manufacture a target object; an anomaly detector 1440 configured to inspect an image of a layer 1410 of the target object after and / or during a manufacturing process; and a recovery controller 1450 configured to cause a modification of the control of the device 1401 based on a negative inspection result.

[0255] The device 1401 may be a robotic component that performs operations, including inserting components along an insertion line to assemble a target object. The robotic component includes a robotic arm that inserts a first component 1403 into a second component 1404. In some embodiments, the robotic arm includes a wrist 1402 having multiple degrees of freedom for ensuring movement of the component 1403. In some implementations, the wrist 1402 has a clamp 1406 for holding the component 1403 in motion. Examples of target objects include semiconductors, transistors, photonic integrated circuits (PICs), etc. Among them, one or more methods of the present disclosure may be incorporated into the system of the automated system 1400.

[0256] Feature

[0257] A system for scheduling data traffic in a wireless Time-Sensitive Network (TSN). The system includes a computer communicatively coupled to a memory. The computer is configured to synchronize the clocks of all nodes with a common clock in the TSN. A network scheduler is used to obtain data traffic information of the TSN to establish a routing path by communicating with wired end nodes and wireless end nodes for the TSN data traffic, such that the TSN data traffic includes TSN data streams and best-effort data traffic. The obtained data traffic information is used to determine the routing path and store the routing information in the memory. Each routing path starts from a source node and ends at a destination node, and one or more relay nodes connect the source node to the destination node. The network scheduler is used to calculate the link communication delay for each link of one or more relay nodes connecting the source node of the TSN to the destination node for each TSN flow. Wherein, the link communication delay includes a transmission duration that is part of the link delay, and the link delay includes a queuing delay, such that the queuing delay is determined by an optimal scheduling module. Wherein, the transmission duration includes the total time for transmitting all frames in the TSN flow and the total inter-frame protection time. The network scheduler is used to determine interfering links for each wireless link such that the interfering links do not have overlapping transmission times. The network scheduler is used to determine a scheduling period such that each TSN flow is transmitted at least once in the scheduling period. An optimal scheduling module is used to determine an optimal schedule, wherein the schedule for a TSN flow is a transmission window in the form of a node ID, a queue ID, a time offset, and a transmission duration, wherein for a queue identified by the queue ID of a node identified by the node ID, the time offset corresponds to the gate opening time, and the time offset plus the transmission duration corresponds to the gate closing time, to generate a gating list for each outbound port of a wired node and a wireless transmitter of the TSN and start data transmission based on the generated gating list.

[0258] Another embodiment of the present disclosure is a method for scheduling data traffic in a wireless time-sensitive network (TSN). The method includes synchronizing the clocks of all nodes with a common clock in the TSN. Among them, the nodes include end nodes and relay nodes. The end nodes include wired and wireless data source nodes and destination nodes, and the relay nodes include wired and wireless bridges / switches / routers / access points. Use the network scheduler of the TSN to obtain data traffic information to establish a routing path by communicating with the wired end nodes and wireless end nodes for the TSN data traffic. The TSN data traffic includes TSN data streams and best-effort data traffic. Among them, the TSN data streams are sorted by time priority as time-critical data traffic, and the best-effort service data is classified as non-time-critical data. Use the obtained data traffic information and the routing information stored via the memory to determine the routing path, so that each routing path starts from the source node and ends at the destination node, and one or more relay nodes connect the source node to the destination node. Use the network scheduler to calculate the link communication delay for each link of one or more relay nodes that connect the source node of each TSN stream to the destination node. Among them, the link communication delay includes the transmission duration as part of the link delay, and the link delay includes the queuing delay, so that the queuing delay is determined by the optimal scheduling module. Among them, the transmission duration includes the total time for sending all frames in the TSN stream and the total inter-frame protection time. Use the network scheduler to determine interfering links for each wireless link so that the interfering links do not have overlapping transmission times. Use the network scheduler to determine the scheduling period so that each TSN stream is sent at least once during the scheduling period. Use the optimal scheduling module to determine the optimal scheduling. Among them, the scheduling for the TSN stream is a transmission window in the form of node ID, queue ID, time offset, and transmission duration. For the queue identified by the queue ID of the node identified by the node ID, the time offset corresponds to the gate opening time, and the time offset plus the transmission duration corresponds to the gate closing time, to generate a gating list for each outbound port of the wired node and the wireless transmitter of the TSN. The time-critical TSN data stream is to be transmitted to meet the end-to-end delay requirement, and if the TSN data stream does not occupy the entire scheduling period determined according to Equation (3), the best-effort data is transmitted. Start data transmission based on the generated gating list.

[0259] Another embodiment of the present disclosure is a system for scheduling data traffic in a wireless time-sensitive network (TSN). The system includes a computer communicatively coupled to a memory. The computer is configured to synchronize the clocks of all nodes with a common clock in the TSN. Herein, the nodes include end nodes and relay nodes, the end nodes include wired and wireless data source nodes and destination nodes, and the relay nodes include wired and wireless bridges / switches / routers / access points. The network scheduler of the TSN obtains data traffic information to establish a routing path by communicating with the wired end nodes and wireless end nodes for the TSN data traffic. The TSN data traffic includes TSN data streams and best-effort data traffic. Herein, the TSN data streams are time-prioritized as time-critical data traffic, and the best-effort data traffic is classified as non-time-critical data. The obtained data traffic information and the routing information stored via the memory are used to determine the routing path. Each routing path starts from a source node and ends at a destination node, and one or more relay nodes connect the source node to the destination node. The network scheduler calculates the link communication delay for each link of one or more relay nodes that connect the source node of each TSN stream to the destination node. Herein, the link communication delay includes the transmission duration as part of the link delay, and the link delay includes a queuing delay, such that the queuing delay is determined by an optimal scheduling module. Herein, the transmission duration includes the total time for sending all frames in the TSN stream and the total inter-frame protection time. The network scheduler determines interfering links for each wireless link such that the interfering links do not have overlapping transmission times. The network scheduler determines a scheduling period such that each TSN stream is sent at least once during the scheduling period. The optimal scheduling module determines an optimal schedule, wherein the schedule for the TSN stream is a transmission window in the form of a node ID, a queue ID, a time offset, and a transmission duration, wherein for the queue identified by the queue ID of the node identified by the node ID, the time offset corresponds to the gate opening time, and the time offset plus the transmission duration corresponds to the gate closing time, to generate a gating list for each outbound port of the wired nodes and the wireless transmitters of the TSN and start data transmission based on the generated gating list.

[0260] Another embodiment of the present disclosure is a non-transitory computer-readable storage medium having a program embodied thereon, the program being executable by a computer to perform a method. The method is for scheduling data traffic in a wireless time-sensitive network (TSN). It includes synchronizing the clocks of all nodes with a common clock in the TSN, where the nodes include end nodes and relay nodes, the end nodes include wired and wireless data source nodes and destination nodes, and the relay nodes include wired and wireless bridges / switches / routers / access points. Obtaining data traffic information using a network scheduler of the TSN to establish a routing path by communicating with wired and wireless end nodes for TSN data traffic, such that the TSN data traffic includes TSN data streams and best-effort data traffic. Among them, the TSN data streams are sorted in time priority as time-critical data traffic, and the best-effort data traffic is classified as non-time-critical data. Determining the routing path using the obtained data traffic information and routing information stored via a memory. Such that each routing path starts from a source node and ends at a destination node, and one or more relay nodes connect the source node to the destination node. Calculating, using the network scheduler, a link communication delay for each link of one or more relay nodes that connect the source node of each TSN stream to the destination node. Among them, the link communication delay includes a transmission duration that is part of the link delay, and the link delay includes a queuing delay, such that the queuing delay is determined by an optimal scheduling module. Determining, using the network scheduler, interfering links for each wireless link such that the interfering links do not have overlapping transmission times. Determining, using the network scheduler, a scheduling period such that each TSN stream is transmitted at least once during the scheduling period. Determining an optimal schedule using an optimal scheduling module, where the schedule for a TSN stream is a transmission window in the form of a node ID, a queue ID, a time offset, and a transmission duration, where, for a queue identified by the queue ID of a node identified by the node ID, the time offset corresponds to the gate opening time, and the time offset plus the transmission duration corresponds to the gate closing time, to generate a gating list for each outbound port of a wired node and a wireless transmitter of the TSN and start data transmission based on the generated gating list.

[0261] The following aspects are intended to create one or more embodiments, either individually or in combination, based on one or more combinations of the aspects listed below for the systems and methods recited in the features section above.

[0262] On the one hand, it includes nodes that start or wake up the TSN before the clocks of all nodes are synchronized with the common clock in the TSN. On the other hand, the wired and wireless nodes of the TSN include wired end nodes, wireless end nodes, wired relay nodes, and wireless relay nodes. On the one hand, the clocks of all nodes can be synchronized to the common clock using the IEEE 1588 Precision Time Protocol (PTP) standard series and the IEEE 802.1AS timing and synchronization standard series. On the one hand, the TSN data traffic includes periodic data streams and event-based data services.

[0263] On the other hand, the TSN data stream includes: (a) prioritized data that maps the data service to a queue with an appropriate priority; (b) end-to-end delay requirements; (c) data period; (d) the number of frames within each period; and (e) the size of the data frame, such that the TSN stream includes one or more data frames. On the one hand, it may include a priority filter that uses the prioritized data to place the data into the prioritized queue identification (ID) position, such that the prioritized queue ID position identifies the queue scheduled to transmit its data stream, where each wired and wireless node includes at most eight queues. On the other hand, the end-to-end delay requirement may be the sum of the delays at all nodes along the routing path, such that the end-to-end delay includes the upper-layer queuing delay and the TSN delay. In part, the wired end node and the wireless end node include the data service source node, such that the upper-layer queuing delay is measured at the data service source node and is the time difference from the time when the data service is generated to the time when the data service arrives at the link layer, where the link layer is the TSN layer. Wherein, on the one hand, the TSN delay is the time difference from the time when the data service arrives at the link layer at the data service source node to the time when the data service arrives at the link layer of the destination node, where the data service is forwarded without delay until the application. In addition, on the one hand, the data period is the amount of time when the data is generated or produced. On the other hand, the number of frames within each period includes the data frames that need to be sent as a stream, such that the inter-frame protection time separates the transmissions of two consecutive frames. On the other hand, the size of the frame is measured as the number of data bits.

[0264] On the one hand, it may include that the time-critical TSN data stream is transmitted to meet the delay requirements, and if the TSN data stream does not occupy the entire scheduling period, then best-effort data is sent. On the other hand, the stored routing information is obtained using the IEEE802.1Qca path reservation protocol.

[0265] Embodiment

[0266] The following description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the present disclosure. Instead, the following description of the exemplary embodiments will provide those skilled in the art with a viable description for implementing one or more exemplary embodiments. Various changes can be conceived in the functions and arrangements of the elements without departing from the spirit and scope of the subject matter disclosed in the appended claims.

[0267] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, those of ordinary skill in the art will understand that the embodiments can be practiced without these specific details. For example, systems, processes, and other elements in the disclosed subject matter can be shown as components in block diagrams to avoid obscuring the embodiments with unnecessary details. In other instances, well-known processes, structures, and techniques can be shown without unnecessary details to avoid obscuring the embodiments. Additionally, like reference numerals and designations in the various figures indicate like elements.

[0268] In addition, each of the embodiments can be described as a process, which is depicted as a flowchart, data flow diagram, structure diagram, or block diagram. Although a flowchart may describe operations as a sequential process, many operations can be performed in parallel or simultaneously. Additionally, the order of the operations can be rearranged. The process can terminate when its operations are completed, but it can have additional steps not discussed or included in the figures. Furthermore, not all operations in any particular described process may appear in all embodiments. The process can correspond to a method, function, program, subroutine, subprogram, etc. When the process corresponds to a function, the termination of the function can correspond to the function returning to the calling function or the main function.

[0269] Moreover, the embodiments of the disclosed subject matter can be implemented at least partially manually or automatically. It can be performed or at least assisted in being implemented manually or automatically by leveraging a machine, hardware, software, firmware, middleware, microcode, a hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments for performing the required tasks can be stored in a machine-readable medium. The processor can execute the required tasks.

[0270] In addition, the embodiments of the present disclosure and the functional operations described in this specification can be implemented in digital electronic circuits, in computer software or firmware tangibly embodied, in computer hardware including the structures disclosed in this specification and structural equivalents thereof, or in a combination of one or more of them. In addition, some embodiments of the present disclosure can be implemented as one or more computer programs, that is, one or more modules of computer program instructions tangibly embodied on a non-transitory program carrier for execution by, or to control the operation of, a data processing apparatus. In addition, the program instructions can be encoded on an artificially generated propagated signal, such as a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to a suitable receiver apparatus for execution by the data processing apparatus. A computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.

[0271] According to embodiments of the present disclosure, the term "data processing apparatus" can cover all kinds of devices, apparatuses, and machines for processing data, including, by way of example, programmable processors, computers, or multiple processors or computers. The apparatus can include dedicated logic circuits, such as FPGAs (field programmable gate arrays) or ASICs (application specific integrated circuits). In addition to hardware, the apparatus can also include code that creates an execution environment for the computer programs being discussed, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.

[0272] A computer program (which may also be referred to as or described as a program, software, software application, module, software module, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may (but need not) correspond to a file in a file system. The program can be stored in a part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program being discussed, or in multiple coordinated files, such as files that store one or more modules, subroutines, or portions of code. A computer program can be deployed to execute on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network. As an example, computers suitable for executing a computer program include those that can be based on a general-purpose microprocessor or a dedicated microprocessor or both, or any other type of central processing unit. Generally, the central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The basic elements of a computer are a central processing unit for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include or be operatively coupled to receive data from and / or transfer data to one or more mass storage devices (e.g., magnetic, magneto-optical, or optical disks) for storing data. However, a computer need not have these devices. In addition, a computer can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device, such as a universal serial bus (USB) flash drive, etc.

[0273] To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other types of devices can also be used to provide for interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including sound, voice, or tactile input. Additionally, a computer can interact with a user by sending documents to and receiving documents from the device used by the user; for example, by sending a web page in response to a request received from a web browser on the user's client device.

[0274] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component (e.g., as a data server), or a middleware component (e.g., an application server), or a front-end component (e.g., a client computer having a graphical user interface or a web browser, through which a user can interact with an implementation of the subject matter described in this specification), or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (“LANs”) and wide area networks (“WANs”), such as the Internet.

[0275] The computing system can include clients and servers. The clients and servers are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on respective computers and having a client-server relationship to each other.

[0276] Although the present disclosure has been described with reference to particular preferred embodiments, it will be understood that various other adaptations and modifications can be made within the spirit and scope of the present disclosure. Accordingly, the aspects of the appended claims cover all such variations and modifications that fall within the true spirit and scope of the present disclosure.

Claims

1. A system for scheduling data traffic in a wireless Time-Sensitive Network (TSN) having nodes, where the nodes are wired nodes and wireless nodes, the system comprising: A computer in communication with a memory, the computer being configured to: Synchronize the clocks of all nodes with a common clock in the TSN, and then a network scheduler communicates with a set of nodes to deliver data traffic to the TSN such that the data traffic is prioritized into TSN data streams classified as time-critical data traffic and non-time-critical data traffic; Use the data traffic and stored routing protocol data to determine link-layer routing paths, and use the network scheduler to calculate, for each link-layer routing path, the link communication delay of each link connecting the source node of each TSN flow to the destination node through one or more relay nodes, where the link communication delay includes a transmission duration that is part of the link delay, the transmission duration including a total transmission time and a total protection time, and the link delay including a queuing delay; Use the network scheduler to determine interfering links for each wireless link such that the interfering links do not have overlapping transmission times, and then use the network scheduler to determine a scheduling period such that each TSN flow is sent at least once during the scheduling period; Use an optimal scheduling module to determine an optimal schedule to generate a gating list for each outbound port of the wired nodes and the wireless transmitters of the TSN, and then generate the gating list for each outbound port of the wired nodes and the wireless transmitters of the TSN; and Initiate the transmission of data based on the generated gating list, The scheduling for a TSN flow is a transmission window in the form of a node ID, a queue ID, a time offset, and a transmission duration, where for the queue identified by the queue ID of the node identified by the node ID, the time offset corresponds to the gate-open time, and the time offset plus the transmission duration corresponds to the gate-closed time, and the optimal schedule is formulated as a mixed-integer linear programming problem with the following constraints: Flow constraint: The scheduled time offset needs to be greater than or equal to zero, each transmission window needs to be accommodated within the flow period, and all transmission windows need to be accommodated within the scheduling period; Link constraint: Flows scheduled on a link cannot have overlapping transmission windows in the time domain; Wireless interfering link constraint: Flows scheduled on interfering wireless links cannot have overlapping transmission windows in the time domain; Flow transmission constraint: Each flow is scheduled to be sent continuously along the determined routing path; End-to-end constraint: The upper bound of the delay of the TSN delay needs to be less than the required end-to-end delay required by the application.

2. The system according to claim 1, wherein, The step of synchronizing the clocks of all nodes with the common clock in the TSN is based on using the IEEE 1588 Precision Time Protocol (PTP) standard series and the IEEE 802.1AS timing and synchronization standard series so that the TSN is ready to deliver data traffic, and where the stored routing protocol data is the IEEE 802.1Qca path reservation protocol; or Among them, the set of nodes includes wired end nodes and wireless end nodes, and the data services are prioritized as TSN data flows classified as the time-critical data services and best-effort service data classified as the non-time-critical data services.

3. A method for scheduling data services in a wireless time-sensitive network TSN, the method comprising the following steps: Synchronize the clocks of all nodes with the common clock in the TSN, and then the network scheduler communicates with the set of nodes to transmit data services to the TSN such that the data services are prioritized as TSN data flows classified as time-critical data services and non-time-critical data services; Use the data services and the stored routing protocol data to determine the link layer routing path; Use the network scheduler to calculate, for each link layer routing path, the link communication delay of each link connecting the source node of each TSN flow to the destination node, wherein the link communication delay includes the transmission duration as part of the link delay, the transmission duration includes the total transmission time of all frames in the TSN flow and the total inter-frame protection time, and the link delay includes the queuing delay; Use the network scheduler to determine interfering links for each wireless link such that the interfering links do not have overlapping transmission times, then use the network scheduler to determine the scheduling period such that each TSN flow is transmitted at least once in the scheduling period, and subsequently use the optimal scheduling module to determine the optimal scheduling to generate a gating list for each outbound port of the wired nodes and the wireless transmitters of the TSN; Generate the gating list for each outbound port of the wired nodes and the wireless transmitters of the TSN; and Initiate the transmission of data based on the generated gating list, The scheduling for the TSN flow is a transmission window in the form of node ID, queue ID, time offset, and transmission duration, wherein for the queue identified by the queue ID of the node identified by the node ID, the time offset corresponds to the gate open time, and the time offset plus the transmission duration corresponds to the gate close time, The optimal scheduling is formulated as a mixed-integer linear programming problem with the following constraints: Flow constraint: The time offset of the scheduling needs to be greater than or equal to zero, each transmission window needs to be accommodated within the flow period, and all transmission windows need to be accommodated within the scheduling period; Link constraint: The flows scheduled on the link cannot have overlapping transmission windows in the time domain; Wireless interference link constraint: The flows scheduled on the interfering wireless links cannot have overlapping transmission windows in the time domain; Flow transmission constraint: Each flow is scheduled to be continuously transmitted along the determined routing path; End-to-end constraint: The upper bound of the delay of the TSN delay needs to be less than the required end-to-end delay required by the application.

4. The method according to claim 3, wherein The nodes of the TSN are started or awakened before the clocks of all the nodes are synchronized with the common clock in the TSN, and wherein the set of nodes includes wired end nodes and wireless end nodes, and wherein the data traffic is prioritized into TSN data streams classified as time-critical data traffic and best-effort service data classified as non-time-critical data traffic; or wherein the TSN data traffic includes periodic data streams and event-based data traffic, and wherein the optimal scheduling module is used to determine the queuing delay.

5. The method according to claim 3, wherein The TSN data stream includes (a) prioritized data that maps the data traffic to queues with appropriate priorities, (b) end-to-end delay requirements, (c) data periods for data generation or production, (d) the number of frames within each period, and (e) the size of the data frames such that the TSN stream includes one or more data frames.

6. The method according to claim 5, wherein, The priority filter uses the prioritized data to place the data into the prioritized queue identification ID positions such that the prioritized queue ID positions identify the queues scheduled to transmit their data streams, wherein each wired node and wireless node includes at most eight queues.

7. The method according to claim 5, wherein The end-to-end delay requirement is the sum of the delays at all the nodes along the routing path such that the end-to-end delay includes the upper-layer queuing delay and the TSN delay, and the end-to-end delay including the upper-layer queuing delay and the TSN delay is determined according to the following formula: end-to-end E2E delay = upper-layer queuing delay + E2E TSN delay.

8. The method according to claim 7, wherein The upper-layer queuing delay is measured at the source node and is the time difference from the time when the data traffic is generated to the time when the data traffic reaches the link layer; or Among them, the TSN delay is determined according to the formula as follows: where Queueing time + optional backoff time + total TX time + propagation time + total protection time, which is the time difference from the time when the data service arrives at the link layer of the data service source node to the time when the data service arrives at the link layer of the destination node. Among them, the data service is forwarded without delay until the application.

9. The method according to claim 5, wherein The data period is the amount of time according to which the data is generated or produced.

10. The method according to claim 5, wherein, The number of frames within each period includes the data frames that need to be sent as a stream such that the inter-frame protection time separates the transmissions of two consecutive frames, and wherein the size of the frame is measured as the number of data bits.

11. The method according to claim 3, wherein The time-critical TSN data stream is to be transmitted to meet the end-to-end latency requirement, and if the TSN data stream does not occupy the entire scheduling period determined according to h p = LCM(s i .T, ), then send best-effort data: where the entire scheduling period is h p ; where the LCM is the least common multiple LCM; where s i .T is the time length of the flow period; where the includes the TSN flow as a periodic data stream from a source node to one or more destination nodes, such that S is the set of flows in the TSN or wireless TSN network, and for a flow s a from source node v b to destination node v i ∈ S, s i is represented as <s i .E2E, s i .L, s i .F, s i .G, s i .T, s i .P>, where s i .E2E is the end-to-end latency requirement; where s i .L is the total number of bits in the flow; where s i .F is the number of frames in the flow; where s i .G is the inter-frame protection time for continuous transmission of frames; where s i .T is the time length of the flow period; and where s i .P is the routing path of the said flow having a source node v a and a destination node v b .

12. The method according to claim 11, wherein, si.G is the SIFS in TSN-based WiFi.

13. A system for scheduling data traffic in a wireless time-sensitive network TSN having nodes, the nodes being wired nodes and wireless nodes, the system comprising: A computer in communication with a memory, the computer being configured to: Synchronize the clocks of all the nodes with the common clock in the TSN, and then the network scheduler communicates with the set of nodes to deliver data traffic to the TSN such that the data traffic is prioritized into TSN data streams classified as time-critical data traffic and non-time-critical data traffic; Use the data traffic and the stored routing protocol data to determine the link layer routing path, and then use the network scheduler to calculate the link communication delay of each link of one or more relay nodes that connect the source node of each TSN stream to the destination node for each link layer routing path; Use the network scheduler to determine interfering links for each wireless link such that the interfering links do not have overlapping transmission times, and then use the network scheduler to determine a scheduling period such that each TSN flow is sent at least once during the scheduling period; Use the optimal scheduling module to determine an optimal schedule to generate a gating list for each outbound port of the wired node and the wireless transmitter of the TSN, and then generate the gating list for each outbound port of the wired node and the wireless transmitter of the TSN; And Start the transmission of data based on the generated gating list, The scheduling for the TSN flow is a transmission window in the form of a node ID, a queue ID, a time offset, and a transmission duration. Wherein, for the queue identified by the queue ID of the node identified by the node ID, the time offset corresponds to the gate open time, and the time offset plus the transmission duration corresponds to the gate close time. The optimal schedule is formed as a mixed integer linear programming problem with the following constraints: Flow constraint: The time offset of the schedule needs to be greater than or equal to zero, each transmission window needs to be accommodated within the flow period, and all transmission windows need to be accommodated within the scheduling period; Link constraint: The flows scheduled on the link cannot have overlapping transmission windows in the time domain; Wireless interference link constraint: The flows scheduled on the interfering wireless link cannot have overlapping transmission windows in the time domain; Flow transmission constraint: Each flow is scheduled to be continuously sent along the determined routing path; End-to-end constraint: The upper bound of the delay of the TSN delay needs to be less than the required end-to-end delay required by the application.

14. The system according to claim 13, wherein, The link communication delay includes the transmission duration as part of the link delay. The transmission duration includes the total transmission time and the total inter-frame protection time for sending all frames in the TSN flow, as well as the propagation time, and the link delay includes the queuing delay.

15. A system for scheduling data traffic in a wireless time-sensitive network (TSN), the system includes: A computer communicating with a memory, the computer is configured to: Synchronize the clocks of all nodes with a common clock in the TSN, where the nodes include end nodes and relay nodes, the end nodes include wired and wireless data source nodes and destination nodes, and the relay nodes include wired and wireless bridges / switches / routers / access points; Use a network scheduler to obtain data traffic information for the TSN to establish a routing path by communicating with the wired end node and the wireless end node for the TSN data traffic, such that the TSN data traffic includes TSN data flows and best-effort data traffic, where the TSN data flows are time-prioritized as time-critical data traffic, and the best-effort traffic data is classified as non-time-critical data; Use the obtained data traffic information and the routing information stored via the memory to determine a routing path such that each routing path starts from a source node and ends at a destination node, and one or more relay nodes connect the source node to the destination node; Use a network scheduler to calculate the link communication delay for each link of the one or more relay nodes that connect the source node of each TSN flow to the destination node, where the link communication delay includes the transmission duration as part of the link delay, and the link delay includes a queuing delay, such that the queuing delay is determined by an optimal scheduling module, where the transmission duration includes the total time to send all frames in the TSN flow and the total inter-frame protection time; Use the network scheduler to determine interfering links for each wireless link so that the interfering links do not have overlapping transmission times; Use the network scheduler to determine a scheduling period so that each TSN flow is sent at least once during the scheduling period; Use an optimal scheduling module to determine an optimal schedule, where the schedule for a TSN flow is a transmission window in the form of a node ID, a queue ID, a time offset, and a transmission duration, where for the queue identified by the queue ID of the node identified by the node ID, the time offset corresponds to the door opening time, and the time offset plus the transmission duration corresponds to the door closing time, to generate a gating list for each outbound port of the wired node and the wireless transmitter of the TSN; Generate the gating list for each outbound port of the wired node and the wireless transmitter of the TSN; and start the transmission of data based on the generated gating list, The optimal schedule is formulated as a mixed integer linear programming problem with the following constraints: Flow constraint: The time offset of the schedule needs to be greater than or equal to zero, each transmission window needs to be accommodated within the flow period, and all transmission windows need to be accommodated within the scheduling period; Link constraint: The flows scheduled on a link cannot have overlapping transmission windows in the time domain; Wireless interference link constraint: The flows scheduled on interfering wireless links cannot have overlapping transmission windows in the time domain; Flow transmission constraint: Each flow is scheduled to be continuously sent along the determined routing path; End-to-end constraint: The upper bound of the delay of the TSN delay needs to be less than the required end-to-end delay required by the application.

16. A non-transitory computer-readable storage medium having a program embodied thereon, the program being executable by a computer for performing a method for scheduling data traffic in a wireless time-sensitive network (TSN), the method comprising the following steps: Synchronize the clocks of all nodes with a common clock in the TSN, where the nodes include end nodes and relay nodes, the end nodes include wired and wireless data source nodes and destination nodes, and the relay nodes include wired and wireless bridges / switches / routers / access points; Use a network scheduler to obtain data traffic information for the TSN to establish a routing path by communicating with wired end nodes and wireless end nodes for TSN data traffic, such that the TSN data traffic includes TSN data flows and best-effort data traffic, where the TSN data flows are time-prioritized as time-critical data traffic, and the best-effort traffic data is classified as non-time-critical data; Determine a routing path using the obtained data service information and routing information stored via a memory, such that each routing path starts from a source node and ends at a destination node, and one or more relay nodes connect the source node to the destination node; Use a network scheduler to calculate a link communication delay for each link of the one or more relay nodes that connect the source node of each TSN flow to the destination node, wherein the link communication delay includes a transmission duration that is part of a link delay, the link delay includes a queuing delay, such that the queuing delay is determined by an optimal scheduling module, wherein the transmission duration includes a total time for transmitting all frames in the TSN flow and a total inter-frame protection time; Use the network scheduler to determine interfering links for each wireless link such that the interfering links do not have overlapping transmission times; use the network scheduler to determine a scheduling period such that each TSN flow is transmitted at least once during the scheduling period; Use an optimal scheduling module to determine an optimal schedule, wherein the schedule for a TSN flow is a transmission window in the form of a node ID, a queue ID, a time offset, and a transmission duration, wherein for the queue identified by the queue ID of the node identified by the node ID, the time offset corresponds to a gate opening time, and the time offset plus the transmission duration corresponds to a gate closing time, to generate a gating list for each outbound port of a wired node and a wireless transmitter of the TSN; Generate the gating list for each outbound port of the wired node and the wireless transmitter of the TSN; and start the transmission of data based on the generated gating list, The optimal schedule is formed as a mixed integer linear programming problem with the following constraints: Flow constraint: The time offset of the schedule needs to be greater than or equal to zero, each transmission window needs to be accommodated within a flow period, and all transmission windows need to be accommodated within the scheduling period; Link constraint: Flows scheduled on a link cannot have overlapping transmission windows in the time domain; Wireless interference link constraint: Flows scheduled on interfering wireless links cannot have overlapping transmission windows in the time domain; Flow transmission constraint: Each flow is scheduled to be continuously transmitted along the determined routing path; End-to-end constraint: The upper bound of the delay of the TSN delay needs to be less than the required end-to-end delay required by the application.

Citation Information

Patent Citations

  • Locomotive control system

    US20190322299A1