Interference Mitigation in Telecommunications Networks
Through numerical optimization technology, the transmission stage of the data stream is determined and the transmission is scheduled, which solves the problems of data transmission reliability and node requirements of the telecommunications network within time constraints, and realizes efficient data transmission and resource utilization.
Patent Information
- Application Number
- CN201980103120.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-10-30
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2039-10-30
AI Technical Summary
The prior art is difficult to efficiently transmit data through telecommunications networks within a specific time constraint, and increases the total cost and complexity of network nodes, especially in data transmission scenarios where low requirements or no time constraints are required.
Through a computer-implemented method, numerical optimization technology is used to determine the repeated transmission stages of multiple data streams, and the data stream is scheduled based on these stages to ensure reliable transmission within a predetermined time and reduce the requirements of network nodes. The method includes determining a path for each data stream, comparing the network path to determine a shared transmission link, and optimizing the interference values by hybrid integer linear planning to improve transmission efficiency.
It realizes data transmission reliability and efficient utilization of network resources within specific time constraints, reduces the demand of network nodes, and improves the transmission accuracy and bandwidth utilization of data streams.
Smart Images

Figure CN114830610B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of telecommunication networks, and in particular to a computer-implemented method for scheduling transmission of multiple data streams, and a gateway node. Background Art
[0002] Currently, there is a trend to also use telecommunication networks for the transmission of time-critical data. Although telecommunication networks are used for many different applications, some applications, for example in the industrial sector or in the field of vehicle control, require the transmission of data within certain time constraints. Typically, in an industrial manufacturing environment, a separate telecommunication network is provided for controlling the manufacturing process, which is separate from a further telecommunication network, which is used for further data transmission, which is not time-critical or is not critical for the manufacturing process, such as data communication for office communication or process planning, which further telecommunication network usually requires a higher bandwidth, but does not require time constraints or at least the time constraints are not strict.
[0003] For telecommunication networks that allow data transmission within certain time constraints, several hard real-time or soft real-time technologies have been developed, such as EtherCat or Profinet IRT. However, the use of multiple telecommunication networks based on different standards may lead to fragmentation of the network. On the other hand, the use of a telecommunication network that allows hard real-time or soft real-time data communication for different applications may increase the total cost and / or requirements of (all) nodes of the network. Summary of the invention
[0004] There is a need to improve the reliability of data transmission over a telecommunication network within certain time constraints and / or to reduce the requirements on nodes of such a telecommunication network, which telecommunication network allows data transmission (e.g. data transmission over a telecommunication network) within certain time constraints, wherein for example nodes of the telecommunication network having lower requirements or no requirements for data transmission within certain time limits have to meet fewer or even no (special) requirements, e.g. apart from according to telecommunication network communication standards such as certain Ethernet standards.
[0005] This need is met by the teaching of each independent claim, in particular by a computer-implemented method for scheduling the transmission of multiple data streams and by a gateway node. Various embodiments, implementations, advantageous modifications, further modifications and further improvements are provided in particular by the teaching of the dependent claims.
[0006] A first aspect of the invention relates to a computer-implemented method for scheduling transmissions of a plurality of data streams in a telecommunications network. The transmissions are divided into transmission periods, wherein the transmission periods have a predetermined time length, and wherein respective repetitive transmissions of each of the plurality of data streams are transmitted at time intervals determined by multiplying the predetermined time length of the transmission period by a respective repetition rate of the respective repetitive transmissions. The method comprises: determining, for each of the plurality of data streams, a respective path through the telecommunications network, the path being used for respective repetitive transmissions of the respective data stream. Furthermore, the method comprises: determining, based on a comparison of the paths through the network, a plurality of shared transmission links, wherein each shared transmission link is part of at least two paths. Furthermore, the method further comprises: determining, for each of the plurality of data streams, respective phases of the respective repetitive transmissions based on numerical optimization. The numerical optimization has an objective function comprising at least one value indicating interference between two or more repetitive transmissions of the plurality of data streams. Furthermore, the method comprises: scheduling respective repetitive transmissions of each of the plurality of data streams, wherein the respective repetitive transmissions begin at a transmission period associated with the respective phase.
[0007] One advantage of scheduling the respective repetitive transmissions according to the respective phases of each respective repetitive transmission for each of the plurality of data streams may be, in particular, that the scheduling is a deterministic scheduling, whereby the reliability of data transmission and / or sending the repetitive transmissions (e.g. from an initiator node to, e.g., a destination node) over the telecommunications network may be improved. Furthermore, for example, deterministic scheduling may help to ensure data transmission (e.g., data transmission at the initiator node and data arrival at the destination node) within certain time constraints, such as within a predetermined time span or a predetermined number of transmission cycles.
[0008] One advantage of determining the stages of repeated transmission of a data stream based on numerical optimization may be, in particular, that the optimal values of the respective stages can be determined in an efficient and / or reliable manner, thereby, for example, ensuring that the respective repeated transmission of each data stream arrives at the respective destination node within certain time constraints (i.e. for example, in particular within a predetermined number of transmission cycles, for example within one transmission cycle), and / or reserving more bandwidth and / or processing time for other data transmissions (e.g. data transmissions having a lower priority relative to the repeated transmission of the data stream).
[0009] By determining the phases of repeated transmissions of a data stream, and by scheduling the repeated transmissions with respect to a transmission period, the numerical optimization-based determination and / or the scheduling and transmission of data (e.g. the transmission of repeated transmissions via a telecommunication network) can be simplified, wherein for example high-precision timing (i.e. the precision with which the transmissions can be distributed within a transmission period, typically in the range of 200 ns to 100 μs) is not required, but it is for example sufficient to synchronize the timing of the data transmissions with respect to the transmission period, which has a typical time interval, e.g. between 500 μs and 50 ms, typically around 1 ms. Furthermore, while for example an initiator node (e.g. a telecommunication network node sending at least one repeated transmission) may be required to synchronize its transmissions with respect to the transmission period, and thus use a synchronized time base, other nodes of the telecommunication network are not necessarily required to use a synchronized time base, e.g. at least as long as these nodes do not transmit data transmissions that interfere with the repeated transmissions, i.e. in particular transmit these data transmissions within the transmission period of the repeated transmission or within a part of the transmission period reserved for the repeated transmissions, and / or at least as long as the data transmissions of these nodes have a lower priority than the repeated data transmissions of the data stream, and are therefore rejected or buffered for later transmission. However, some or all other nodes may be required to at least forward the time synchronization signal, for example, in order to provide the time synchronization signal to the initiator node, wherein each of the initiator nodes is adapted to establish a synchronized time base based on the time synchronization signal.
[0010] According to some embodiments, the telecommunications network is a time-sensitive network. This may advantageously help to divide the data transmission into transmission cycles, which may also be referred to as network cycles. In addition, this may help to provide a time synchronization signal and / or establish a synchronized time base to divide the data transmission into network cycles. In addition, this may advantageously help to assign a higher priority to the corresponding repeated transmission of each data stream and assign a lower priority to other data transmissions, such as office communications or process planning. In addition, in some implementations, the data transmission of data transmissions with lower priority is limited by a preemption mechanism, wherein the preemption mechanism is suitable for ensuring the data transmission of high priority transmissions (e.g., repeated transmissions).
[0011] Within the meaning of the present application, a "time-sensitive network" may at least refer to a telecommunication network, wherein the telecommunication network is adapted to transmit time-sensitive data based on a network cycle, wherein all nodes of the telecommunication network have a common time base. Furthermore, such a time-sensitive network may be adapted to time-sensitive data transmission on an Ethernet network. To this end, the time-sensitive network may have a central instance adapted to provide a time synchronization signal. Furthermore, all nodes may be adapted to (at least) forward the time synchronization signal. Furthermore, some nodes (e.g. nodes for sending data) may be adapted to establish a synchronized time base based on the time synchronization signal. Furthermore, such a time-sensitive network may depend on the Ethernet standard of IEEE 802.1Q. Thus, data transmissions may be divided into time-sensitive data transmissions and other data transmissions, wherein the time-sensitive data transmissions may be transmitted via a virtual LAN defined on top of an underlying telecommunication network (e.g. the time-sensitive network as a whole), which is in accordance with Ethernet standards such as IEEE 802.3. Further details about the telecommunication network in accordance with the Ethernet standard are given, for example, by
[0012] https: / / en.wikipedia.org / wiki / Ethernet
[0013] For example, in the version dated August 4, 2019
[0014] https: / / en.wikipedia.org / w / index.php?title=Ethernet&oldid=909327347
[0015] And further details about time-sensitive networking are given, for example, by
[0016] https: / / en.wikipedia.org / wiki / Time-Sensitive_Networking
[0017] For example, in the version dated July 13, 2019
[0018] https: / / en.wikipedia.org / w / index.php?title=Time-Sensitive_ Networking&oldid=906080116 .
[0019] For example, for embodiments in which the telecommunication network is a time-sensitive network, or for embodiments for controlling time-critical processes, such as manufacturing processes or for controlling (e.g. automated) vehicles, one requirement may be that all high-priority data transmissions, such as repetitive data transmissions, arrive at their respective destination nodes within one network cycle without losing transmissions, such as without losing frames. Therefore, the telecommunication network must be planned and / or provided, including: the data transmission sending order (e.g. the transmission order of the repetitive transmissions), the paths through the telecommunication network for transmitting the repetitive transmissions, and the phase-allocation. These requirements may be advantageously met by combining the network being time-sensitive as a telecommunication network with the determination of phases based on numerical optimization and the scheduling of repetitive transmissions according to phases and with respect to network cycles. Furthermore, interference of data transmissions with lower priority may advantageously be avoided by a preemption mechanism.
[0020] According to some embodiments, the respective repeated transmissions of each data stream have a high priority, while other data transmissions have a low priority, wherein at least a certain amount of data transmissions with a high priority are transmitted, e.g., at / through a transmission link, before data transmissions with a low priority are transmitted. In some implementations, data transmissions with a low priority are also scheduled based on a phase allocation (e.g., based on a respective phase), the phase allocation being determined based on an optimization similar to or equal to a numerical optimization. This can advantageously improve the utilization of the bandwidth of the telecommunications network.
[0021] Within the meaning of the present application, "high priority" or respectively "low priority" may refer at least to terms used, for example, with respect to the Ethernet standard. In addition, these terms may also refer to relative priorities, wherein a data transmission with a high priority has a higher priority than a data transmission with a low priority, or a data transmission with a low priority has a lower priority than a data transmission with a high priority, respectively.
[0022] A second aspect of the present invention relates to a gateway node for a telecommunications network. The gateway node comprises a data processing device. The data processing device (e.g., together with the gateway node) is adapted to determine a corresponding path through the telecommunications network for a corresponding repeated transmission of a corresponding data stream for each of a plurality of data streams. In addition, the data processing device is adapted to determine a plurality of shared transmission links based on a comparison of paths through the network, wherein each corresponding shared transmission link is part of at least two paths. In addition, the data processing device is further adapted to determine a corresponding phase of a corresponding repeated transmission of each of a plurality of data streams based on numerical optimization, wherein the numerical optimization has an objective function, and the objective function comprises at least one value indicating interference between two or more repeated transmissions of a plurality of data streams. In addition, the data processing device is further adapted to schedule the corresponding repeated transmission of each of a plurality of data streams, wherein the corresponding repeated transmission starts at a transmission period associated with the corresponding phase.
[0023] The embodiments, implementations, advantageous modifications, further modifications and further improvements as well as potential benefits and advantages described in detail in conjunction with the first aspect of the present invention also apply accordingly to the gateway node according to the present invention. Therefore, according to some embodiments, the gateway node is adapted to perform the method according to the first aspect of the present invention, or, respectively, some embodiments of the method according to the first aspect of the present invention are performed by the gateway node according to the second aspect of the present invention.
[0024] Another aspect of the invention relates to a computer-implemented method for scheduling transmissions of a plurality of data streams over a telecommunications network, wherein the transmissions are divided into transmission periods, and the transmission periods have a predetermined time length. In addition, the telecommunications network includes a plurality of shared transmission links, wherein each of the plurality of shared transmission links is shared by at least two of the plurality of data streams. The method includes determining, for each of the plurality of data streams, a respective phase of a respective repeated transmission based on at least one optimization and relative to the transmission period, wherein the at least one optimization has at least one objective function, the objective function including at least one value indicating interference between two or more repeated transmissions of the plurality of data streams on the plurality of shared links. In addition, the method includes scheduling the respective repeated transmissions of each of the plurality of data streams according to the respective phase.
[0025] Another aspect of the present invention relates to a network scheduling device for a telecommunications network, wherein the transmission through the telecommunications network is divided into transmission periods. The network scheduling device includes a data processing device. The data processing device (e.g., together with the network scheduling device) is adapted to determine a corresponding phase of a corresponding repeated transmission for each data stream in a plurality of data streams based on at least one optimization and relative to the transmission period, the at least one optimization having at least one objective function, the objective function including at least one value indicating interference between two or more repeated transmissions of the plurality of data streams. In addition, the data processing device (e.g., together with the network scheduling device) is adapted to schedule the corresponding repeated transmission of each data stream in the plurality of data streams according to the corresponding phase.
[0026] Another aspect of the invention relates to a system comprising a network scheduling device and one or more initiator nodes for a telecommunications network, or comprising a gateway node and one or more initiator nodes for a telecommunications network. In some implementations, the gateway node is according to the second aspect of the invention. In some implementations, the telecommunications network is according to the first aspect of the invention, wherein the one or more initiator nodes are nodes of the telecommunications network.
[0027] The embodiments, implementations, advantageous modifications, further modifications and further improvements as well as potential benefits and advantages described in detail according to the aforementioned aspects of the invention also apply accordingly to the methods, network scheduling devices and systems according to other aspects of the invention.
[0028] According to some implementations, the transmission period is determined by a synchronous clock signal or a time synchronization signal. In some implementations, the time synchronization signal is a synchronous clock signal. In some of these implementations, the synchronous clock signal is provided by a clock device of the telecommunications network.
[0029] According to some implementations, the network scheduling device or gateway node includes clock means adapted to provide a time synchronization signal.
[0030] According to some embodiments, the network scheduling device or gateway node is adapted to schedule the respective repeated transmissions by providing a scheduling signal to one or more initiator nodes, the scheduling signal comprising phases.
[0031] Alternatively or additionally, according to some embodiments, the network scheduling device or gateway node is adapted to schedule respective repeated transmissions by providing respective scheduling signals to each of the one or more initiator nodes, each respective scheduling signal comprising a respective phase.
[0032] According to some implementations, at least one of the one or more initiator nodes is adapted to receive a scheduling signal, or respectively, to receive a corresponding scheduling signal. At least one of the one or more initiator nodes is further adapted to transmit a corresponding repetitive transmission of at least one of the plurality of data streams according to a corresponding phase. In some implementations, at least one of the one or more initiator nodes is further adapted to transmit a corresponding repetitive transmission of at least one of the plurality of data streams according to a corresponding phase and according to a corresponding repetition rate.
[0033] According to some embodiments, each of the one or more initiator nodes is adapted to receive the scheduling signal / the corresponding scheduling signal and transmit the corresponding repetitive transmission of at least the corresponding one of the plurality of data streams according to the corresponding phase. In some implementations, each of the one or more initiator nodes is further adapted to transmit the corresponding repetitive transmission of at least one of the plurality of data streams according to the corresponding phase and according to the corresponding repetition rate.
[0034] The above summary is merely a brief overview of some features of some embodiments and implementations and should not be construed as limiting. Other embodiments may include more features than explained above. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] The above and other embodiments, advantageous modifications, further improvements, elements, features, steps and characteristics of the present disclosure will become more apparent from the following detailed description of the exemplary embodiments and the accompanying drawings. When not otherwise specified or otherwise indicated by the context, similar reference numerals refer to corresponding devices, elements or features in the exemplary embodiments and throughout the accompanying drawings.
[0036] Figure 1 A network scheduling device with a telecommunication network according to an embodiment is schematically illustrated.
[0037] Figure 2 A further telecommunication network according to an embodiment is schematically illustrated.
[0038] Figure 3 Schematically illustrates a method for combining multiple data streams according to an embodiment Figure 2 telecommunications network.
[0039] Figure 4 A flow chart showing a method according to an embodiment.
[0040] Figure 5 A scenario with repeated transmission of multiple data streams and their alignment with the transmission period is schematically shown.
[0041] Figure 6 Schematically shows a Figure 5scenarios where the corresponding phases have been determined by optimization.
[0042] Figure 7 A flow chart showing a further method according to an embodiment.
[0043] Figure 8 A gateway node according to an embodiment is schematically illustrated.
[0044] Fig. 9 A further long-distance telecommunication network for illustrating the optimization and determination of the corresponding phases according to an embodiment is schematically illustrated. DETAILED DESCRIPTION
[0045] Various embodiments of the present invention are described in detail below with reference to the accompanying drawings. It should be understood that the following description of the embodiments should not be understood in a limiting sense. The scope of the present invention is not limited by the embodiments or drawings described below, which are considered to be illustrative only.
[0046] These drawings should be considered as schematic representations and elements shown in the figures, which are not necessarily shown to scale. On the contrary, various elements are shown so that their functions and their general purpose become apparent to those skilled in the art. Any connection or coupling between the functional blocks, devices, components or other physical or functional units shown in the figures or described herein may also be implemented as indirect connections or couplings. Coupling between components may be established via wireless connections. Functional blocks may be implemented in hardware, firmware, software or a combination thereof.
[0047] Figure 1 The network scheduling device 300 according to an embodiment of the present invention is schematically illustrated in conjunction with the telecommunication network 100. In addition, according to some embodiments of the present invention, the telecommunication network 100 or a part thereof may also be, for example, a system including one or more initiator nodes of the telecommunication network and a network scheduling device, the network scheduling device being adapted to schedule data transmission from the initiator node.
[0048] In an exemplary embodiment, the network scheduling device 300 comprises at least one communication interface 320 for providing scheduling of transmission of a plurality of data flows in the telecommunication network 100. Furthermore, the network scheduling device 300 comprises a data processing device 340 adapted to determine a schedule.
[0049] In an exemplary embodiment, the telecommunications network 100 includes a plurality of initiator nodes 110, a plurality of transmission links 120, and a plurality of destination nodes 160. In some implementations, one or more of the initiator nodes 110 are industrial devices, such as industrial devices used in a manufacturing process, such as a CNC machine, a robot, a conveyor belt, a lamp, or a windmill. In some implementations, one or more of the destination nodes 160 are industrial devices, such as industrial devices used in a manufacturing process, such as a CNC machine, a robot, a conveyor belt, a lamp, or a windmill. In some implementations, one or more of the initiator nodes 110 and one or more of the destination nodes 160 are industrial devices, such as industrial devices used in a manufacturing process, such as a CNC machine, a robot, a conveyor belt, a lamp, or a windmill. In some implementations, the first industrial device of the initiator node 110 is adapted to control the second industrial device of the destination node 160 via the telecommunications network 100 (e.g., via some of the plurality of transmission links 120). In addition, the second industrial device may be adapted to provide a sensor signal to the first industrial device via the telecommunications network 100 (e.g., for a feedback loop for controlling the second industrial device). Thus, for example with respect to the sensor signal, the first and second industrial devices change roles with respect to the telecommunication network 100 , wherein the second industrial device is an initiator node and the first industrial device is a destination node when providing the sensor signal.
[0050] In an exemplary embodiment, the plurality of initiator nodes 110 are data connected to the plurality of destination nodes 160 via the plurality of transmission links 120, wherein the telecommunications network 100 further comprises a plurality of link nodes, each of which is adapted to provide a data connection between two or more of the plurality of transmission links 120. In some implementations, a link node in the plurality of link nodes comprises or consists of a gateway node.
[0051] In an exemplary embodiment, the telecommunications network 100 is a wired network. Furthermore, in some implementations, the telecommunications network 100 is in accordance with Ethernet standards such as IEEE 802.3. Furthermore, in some implementations, some of the link nodes in the plurality of link nodes are gateway nodes. For a network in accordance with the Ethernet standard, in some implementations, the gateway node is implemented as a network switch.
[0052] In the exemplary embodiment, the initiator node 112 of the plurality of initiator nodes 110 is data connected to the destination node 162 of the plurality of destination nodes 160 via the path 222 through the telecommunications network 100. Figure 1As shown, path 222 includes transmission link 122, transmission link 130, transmission link 132, and transmission link 150 (each of the plurality of transmission links 120), and includes link node 172, link node 174, and link node 176 (each of the plurality of link nodes). Initiator node 112 is connected to link node 172 via transmission link 122. Link node 172 is connected to link node 174 via transmission link 130. Link node 174 is connected to link node 176 via transmission link 132. Link node 176 is connected to destination node 162 via transmission link 150.
[0053] Likewise, the initiator node 114 of the plurality of initiator nodes 110 is data connected to the destination node 164 via a path 224 through the telecommunications network 100. The path 224 includes the transmission link 130 of the plurality of transmission links 120 and the transmission links 124, 134, 144, and 146, wherein the transmission links 124, 130, 134, 144, and 146 are data connected through one of the link nodes 172, 174, 182, and 184 of the plurality of transmission links, respectively.
[0054] like Figure 1 As shown, transmission link 130 is part of path 222 and path 224, wherein path 222 and path 224 merge at link node 172 or at least at transmission link 130. (The merging of paths may also be referred to as the meeting of paths or the merging / meeting of data streams, i.e., in particular when at least two paths of at least two data streams meet / merge at a shared transmission link or link node, this may be referred to as the merging / meeting of at least two data streams with respect to a shared transmission link / link node.) Therefore, transmission link 130 is a shared transmission link, which is (at least) shared between paths 222 and 224. In addition, paths 222 and 224 are also split at or after transmission link 130 (i.e., in particular at link node 174), wherein, for example, path 222 extends along transmission link 132, and path 224 extends along transmission link 134.
[0055] In addition, the initiator node 116 of the plurality of initiator nodes 110 is data connected to the destination node 164 via a path 226 through the telecommunications network 100. The path 226 includes transmission links 126, 136, 140, 144, and 146 of the plurality of transmission links 120, wherein the initiator node 116 is data connected to the link node 178 of the plurality of link nodes via the transmission link 126, the link node 178 is data connected to the link node 180 of the plurality of link nodes via the transmission link 136. The link node 180 is data connected to the link node 182 via the transmission link 140, the link node 182 is data connected to the link node 184 via the transmission link 144, and the transmission link 184 is data connected to the destination node 164 via the transmission link 146. Figure 1 As shown, paths 224 and 226 merge (at least) at transmission link 144 and extend along transmission link 146. Thus, transmission links 144 and 146 are part of paths 224 and 226 and are shared transmission links, wherein further (in view of paths 224 and 226) transmission link 114 is also a transmission link at which paths (i.e., specifically paths 224 and 226) merge.
[0056] In addition, the initiator node 116 is data connected to the destination node 166 via a path 227 through the telecommunications network 100. The path 227 includes the transmission links 126 and 136 and the transmission link 148 of the plurality of transmission links 120, wherein the transmission links 126 and 136 are shared between the paths 226 and 227, and wherein the transmission link 126 is a transmission link where the paths 226 and 227 are merged. In addition, the paths 226 and 227 are split at or after the transmission link 136 (i.e., specifically at the link node 180), wherein the link node 180 is data connected to the destination node 166 via the transmission link 148.
[0057] In addition, the initiator node 118 of the plurality of initiator nodes 110 is data-connected to the destination node 164 via a path 228 through the telecommunications network 100, wherein the path 228 includes the transmission link 128 and the transmission link 146 of the plurality of transmission links 120. Figure 1 As shown, path 228 merges with paths 224 and 226 at link node 284 or at least at transmission link 146, and thus, transmission link 146 is also a shared transmission link at which the paths merge.
[0058] In addition, in Figure 1In the exemplary embodiment shown, the initiator node 116 is data connected to the destination node 162 via a path 230 through the telecommunications network 100. The path 230 includes transmission links 126, 136, 140, 134, 132, and 150, and link nodes 178, 180, 182, 174, 176. It can be seen that potential data flows or data traffic along the path 224 from the initiator node 112 and potential data flows or data traffic along the path 230 from the initiator node 116, both with the destination node 126, have different data flow directions for the transmission link 134.
[0059] In some implementations of telecommunications networks, in particular Figure 1 As shown in, at least one, some or all of the transmission links in a plurality of transmission links are suitable for bidirectional data flow. Alternatively or additionally, in some implementations, some link nodes are only suitable for data flow to one direction. In addition, in some implementations, wherein the transmission link is suitable for bidirectional data flow, the transmission link is suitable for transmitting data from the first (link) node to which it is data connected to the second (link) node to which it is data connected, and simultaneously transmitting data in the opposite direction, i.e. from the second node to the first node. Therefore, in some implementations, the first and second link nodes and / or the transmission link are suitable for full-duplex mode. Alternatively, the first and second link nodes and / or the transmission link can be suitable for half-duplex mode, wherein (particularly) data is only transmitted to one of the two directions at one time, and data can be transmitted to the corresponding opposite direction at another time.
[0060] In an exemplary embodiment, the network scheduling device 300 is adapted to provide scheduling of transmissions (e.g. by providing scheduling signals) to at least a plurality of initiator nodes 110 by means of the communication interface 320 and the telecommunication network 100. In some implementations, the network scheduling device 300 is directly data connected to the plurality of initiator nodes via the telecommunication network 100. This may advantageously allow the telecommunication network 100 to be used for data transmissions between an initiator node and a destination node and (i.e. in particular for scheduling) for data transmissions between the network scheduling device 300 and (at least) a plurality of initiator nodes, whereby the complexity of the network structure comprising the telecommunication network 100 may be reduced.
[0061] In some implementations, the network scheduling device 300 includes or consists of a gateway node.
[0062] In an exemplary embodiment, Figure 1As shown, the network scheduling device 300 is suitable for providing the scheduling of transmission to at least multiple initiator nodes 110 through the communication interface 320 and through an additional network or communication path (i.e., by providing a scheduling signal). In some implementations, the network scheduling device 300 is indirectly data-connected to multiple initiator nodes through the telecommunications network 100, or the network scheduling device 300 is data-connected to multiple initiator nodes respectively. In some such implementations, the additional network or communication path can be a wireless communication path. Alternatively, in some of such implementations, the additional network or communication path can be an additional wired network. This can advantageously allow the data transmission between the initiator node and the destination node to be separated from the data transmission between the network scheduling device 300 and (at least) multiple initiator nodes (i.e., in particular for scheduling), thereby reducing the load on the telecommunications network 100 and / or alleviating potential interference. In some implementations, the network scheduling device 300 is a network controller.
[0063] exist Figure 2 , another telecommunication network 102 is schematically illustrated. In addition, according to some embodiments of the present invention, the telecommunication network 102 or a part thereof may also be, for example, a system including one or more initiator nodes of the telecommunication network and a network scheduling device or a gateway node, the network scheduling device or the gateway node being adapted to schedule data transmission originating from the initiator node.
[0064] In the exemplary embodiment, telecommunication network 102 is similar to telecommunication network 100, which has been described with reference to Figure 1 Likewise, the telecommunication network 102 includes a plurality of initiator nodes, a plurality of link nodes 170, and a plurality of destination nodes, wherein, for example, the initiator nodes 112, 114, 116, and 118 of the plurality of initiator nodes are data-connected to the destination nodes 162, 164, and 166 of the plurality of destination nodes via a plurality of transmission links and a plurality of link nodes 170.
[0065] However, in Figure 2 102, and accordingly, at least some implementations of telecommunications network 102 do not include such a path. For example, transmission link 134 may be implemented as a unidirectional transmission link suitable for transmitting data from link node 174 to link node 182 (but not the reverse direction). Other implementations of telecommunications network 102 may include such a path, however, for the purpose of Figure 2 for clarity, it is not shown.
[0066] In addition, Figure 1 of telecom networks 100, Figure 2The telecommunications network 102 further includes a link node 186 among the plurality of link nodes 170 and a transmission link 138 and a transmission link 142 among the plurality of transmission links. The path 227 includes the transmission links 126, 136, 142, and 148, wherein the transmission link 142 is data-connected to the transmission link 148 through the link node 186. The path 228 includes the transmission links 128, 138, and 146, wherein the transmission link 128 is data-connected to the transmission link 138 through the link node 186.
[0067] With through Figure 1 Similar to the path 226 of the telecommunications network 100, the initiator node 116 passes through Figure 2 The path 226 of the telecommunications network 102 is data connected to the destination node 164. The path 226 includes transmission links 126, 136, 140, 144 and 146, wherein the transmission links are connected by one of the link nodes 178, 180, 182 and 184, respectively.
[0068] In addition, the initiator node 116 is data-connected to the destination node 164 via a path 232. The path 232 includes transmission links 126, 136, 142, 138, and 146, wherein these transmission links are connected by one of the link nodes 178, 180, 186, and 184, respectively. Although the paths 226 and 232 share the transmission links 126, 136, and 146, the telecommunications network 102 provides two routes from the initiator node 116 to the destination node 164, for example, Figure 2 As shown, link node 180 is data coupled to link node 184 via transmission link 140, link node 182, and transmission link 144, and to link node 184 via transmission link 142, link node 186, and transmission link 138. Thus, telecommunications network 102 includes loop 234.
[0069] Compared with telecommunication network 102, Figure 1 The telecommunication network 100 does not include a loop and / or has a tree topology. In addition, for a telecommunication network having a tree topology, a path between two nodes, such as a path from an initiator node to a destination node, is unique. Therefore, the path between the two nodes can be unambiguously determined based on data (e.g., a configuration signal) indicating the two nodes. For a telecommunication network that does not have a tree topology, such as a telecommunication network 102 that has a loop, there may be multiple paths from one node of the telecommunication network to another node of the telecommunication network.
[0070] Figure 3 Schematically illustrates a method for combining multiple data streams according to an embodiment Figure 2 telecommunications network.
[0071] In the exemplary embodiment, a path through telecommunications network 102, from initiator node 112 to destination node 162 and including transmission links 122, 130, 132, and 150 and link nodes 172, 174, and 176 (e.g., Figure 2 Path 222 ) is used to transmit data stream 212 among multiple data streams 210.
[0072] In addition, a path through telecommunications network 102, from initiator node 114 to destination node 164 and including transmission links 124, 130, 134, 144, and 146 and link nodes 172, 174, 182, and 184 (e.g., Figure 2 Path 224 ) is used to transmit data stream 214 among multiple data streams 210.
[0073] In addition, a path through telecommunications network 102, from initiator node 116 to destination node 164 and including transmission links 126, 136, 140, 144, and 146 and link nodes 178, 180, 182, and 184 (e.g., Figure 2 Path 226 ) is used to transmit data stream 216 among multiple data streams 210.
[0074] In addition, a path through telecommunications network 102, from initiator node 116 to destination node 166 and including transmission links 126, 136, 142, and 148 and link nodes 178, 180, and 186 (eg, Figure 2 Path 227) is used to transmit data stream 217 among multiple data streams 210.
[0075] In addition, a path through telecommunications network 102, from initiator node 118 to destination node 164 and including transmission links 128, 138, and 146 and link nodes 186 and 184 (e.g., Figure 2 Path 228 ) is used to transmit data stream 218 among multiple data streams 210.
[0076] Figure 4 A flowchart of a computer-implemented method 400 for scheduling transmission of multiple data streams through a telecommunications network is shown, the method 400 being in accordance with an embodiment of the present invention. Furthermore, in some advantageous implementations, according to an embodiment of the present invention, the method 400 is performed by a network scheduling device or system, the system comprising a network scheduling device and one or more initiator nodes. Furthermore, in some further advantageous implementations, with reference to Figure 8 The gateway node 800 or system described (the system includes reference Figure 1 The network scheduling device 300 described and reference Figure 1 , Figure 2 The described one or more initiator nodes 112, 114, 116, 118) are suitable for performing the method 400 and are in accordance with embodiments of the present invention.
[0077] In the exemplary embodiment, method 400 includes method condition 410 and further includes method steps 440, 442, 444, 446, 450, 452, 454 and 456. The method starts at the beginning of method 402 and ends at the end of method 404. Furthermore, one or more method steps, in particular a sequence of method steps and / or the entire method 400 may be repeatedly performed.
[0078] The telecommunications network comprises a plurality of shared transmission links, wherein each shared transmission link of the plurality of shared links is shared by at least two data flows of the plurality of data flows.
[0079] Furthermore, the transmissions are divided into transmission periods, wherein the transmission periods have a predetermined time length. For each of the plurality of data streams, the respective repetitive transmissions have a respective repetition rate and a respective phase. The respective repetitive transmissions of each of the plurality of data streams are transmitted (e.g., by an initiator node) in a transmission period of the transmission period associated with the respective phase, and are repeatedly transmitted with respective time intervals between the start of adjacent repetitive transmissions of the respective repetitive transmissions, wherein the respective time intervals are determined by multiplying the predetermined time length of the transmission period by the respective repetition rate.
[0080] In some implementations, the telecommunications network is a time-sensitive network. In some other implementations, the telecommunications network may at least support time synchronization so that transmissions are sent according to a transmission period, where the transmission period is determined based on the synchronized time. For example, in a scenario with a time-sensitive network, the repetition rate may also be referred to as a reduction rate or a reduction rate, and the transmission period may also be referred to as a network period.
[0081] Therefore, in some implementations, the transmission of information in a time-sensitive network (i.e., the transmission of repetitive transmissions in particular) is cyclic, i.e., the message (e.g., frame or repetitive transmission) is retransmitted at regular time intervals. These time intervals are defined as integer multiples of a network period "Tn", and they determine a "reduction ratio (RR)" as a characteristic of each frame / repetitive transmission / data stream. Therefore, RR=1 means that one frame / repetitive transmission is sent in each network period, i.e., the interval between its two transmissions is exactly one Tn. In general, the interval between two transmissions of the same repetitive transmission of a data stream is equal to (RR*Tn). As a result of RR=K>1, the data stream can be sent for the first time in any of the K network periods. For example, a data stream with RR=2 can be initially sent in the first or second network period, and then sent every 2*Tn thereafter. The selection of the network period (selection from the available RR periods) in which the first transmission occurs can be called "phase allocation". When the path or at least the shared transmission link of a single data stream has been determined, this phase allocation can be used to minimize the delay caused by the sharing of the transmission link between the data streams or their repeated transmission. When two or more data streams share the same transmission link, they may interfere with each other, thereby incurring delays. The worst-case delay is proportional to the number of data streams sharing the same transmission link, scaled by the frame size of a single data stream or, respectively, by the size of repeated transmissions of a single data stream.
[0082] Some exemplary embodiments, implementations and further modifications will be incorporated with reference to Figure 1 and Figure 2 as well as Figure 5 and Figure 6 Describe ( Figure 5 and Figure 6 (also described below). However, the exemplary embodiments, implementations and further modifications may also be used in other telecommunication networks, network scheduling devices, systems including network scheduling devices and one or more initiator nodes, and other scenarios for data flow, repeated transmissions, repetition rates and / or phase allocations.
[0083] exist Figure 5 The repeated transmission of multiple data streams and their alignment with the transmission cycle (ie, in particular, how the transmission is divided into transmission cycles) and the initial phase allocation are explained in .
[0084] In an exemplary embodiment, the plurality of transmission cycles 530 include a transmission cycle 531, a transmission cycle 532, a transmission cycle 533, and a transmission cycle 534. The repetition rate of the repeated transmission of the data stream 212 is 4, i.e., RR=4, and the phase is 1, i.e., Ph_start=1, so these repeated transmissions start from the first transmission cycle 531 and are repeated every four transmission cycles, i.e., in particular, the transmission starts at Tn=1, 5, 9, 13, ... The repetition rate of the repeated transmission of the data stream 214 is 2, i.e., RR=2, and the phase is 1, i.e., Ph_start=1, so these repeated transmissions start from the first transmission cycle 531 and are repeated every two transmission cycles, i.e., in particular, the transmission starts at Tn=1, 3, 5, 7, ... The repetition rate of the repeated transmission of the data stream 216 is 2, i.e., RR=2, and the phase is 1, i.e., Ph_start=1, so these repeated transmissions start from the first transmission cycle 531 and are repeated every two transmission cycles, i.e., in particular, the transmission starts from Tn=1, 3, 5, 7, ... The repetition rate of the repeated transmission of the data stream 217 is 2, i.e., RR=2, and the phase is 1, i.e., Ph_start=1, so these repeated transmissions start from the first transmission cycle 531 and are repeated every two transmission cycles, i.e., in particular, the transmission starts from Tn=1, 3, 5, 7, ... The repetition rate of the repeated transmission of the data stream 218 is 1, i.e., RR=1, and the phase is 1, i.e., Ph_start=1, so these repeated transmissions start from the first transmission cycle 531 and are repeated every two transmission cycles, i.e., in particular, the transmission starts from Tn=1, 2, 3, 4, 5, 6, 7, ... For the purpose of explanation, only transmission cycle 531, i.e., specifically Tn=1, transmission cycle 532, i.e., specifically Tn=2, transmission cycle 533, i.e., specifically Tn=3, and transmission cycle 534, i.e., specifically Tn=4 are explained. Since each repeated transmission is cyclically performed at the corresponding repetition rate, the entire transmission including or consisting of the corresponding transmission is also cyclic. In addition, since the lowest common multiple of the repetition rate is 4, the entire transmission is cyclic every four transmissions, and therefore, the transmission cycle after the transmission cycle 534 appears (as shown in FIG. Figure 5 ) looks like transmission cycle 531, the next transmission cycle looks like transmission cycle 532 and so on.
[0085] like Figure 35, repeated transmissions of data streams 212, 214, 216, 217, and 218 can be transmitted through the telecommunications network 102, wherein data streams 212 and 214 can share the shared transmission link 130. In addition, data streams 216 and 217 can come from the same initiator node 116 and share the shared transmission links 126 and 136. In addition, data streams 214 and 216 can share shared transmission links 144 and 146, wherein data streams 214, 216 and data stream 218 share the transmission link 146 and arrive at the destination node 164, such a destination node is suitable for receiving the data streams. When data streams 214 and 216 merge at the transmission link 144, data stream 218 merges with data streams 214 and 216 at the transmission link 146. Therefore, data streams 214 and 216 will not (further) delay each other or (further) interfere with each other at the shared transmission link 146, because the delay / interference between them has already occurred at the transmission link 144.
[0086] Likewise, repeated transmissions of data streams 212, 214, 216, 217, and 218 may be referred to by reference to Figure 1 The telecommunications network 100 described herein performs transmission, with the same data flows sharing the same transmission link.
[0087] Reference now Figure 4 .
[0088] At method step 440, a respective phase of a respective repetitive transmission of each data stream 212, 214, 216, 217, 218 of the plurality of data streams 210 is iteratively determined relative to the transmission periods 531, 532, 533, and 534 based on at least one optimization. The at least one optimization has at least one objective function including at least one value indicating interference between two or more repetitive transmissions of the plurality of data streams 210 at the plurality of shared links 120, wherein the interference between the plurality of data streams 210 depends on the respective repetition rate and the respective phase of each data stream, and in some implementations further depends on the shared transmission link. Method step 440 includes method steps 442, 444, and 446 and method condition 410, wherein steps 442, 444, and 446 are iteratively performed (to determine the respective phase), and the method condition is iteratively evaluated. At least one optimization may be implemented as a numerical optimization, such as gradient descent or a mixed integer linear programming / solver or a combinatorial optimization, wherein possible solutions (i.e., in particular each corresponding phase, such as phase allocation) are iterated (i.e., in particular by permuting among all or at least some possible phase allocations) or a combination thereof. In some implementations, the numerical optimization may be combined with the combinatorial optimization, wherein the possible shared transmission links are permuted and, for each such permutation, the corresponding phase is determined by the numerical optimization.
[0089] At method step 442, when performed in a first iteration within method step 440, an initial phase assignment is determined, e.g., for each of the data streams 212, 214, 216, 217, and 218, a corresponding (initial) phase is determined. Valid values for such a corresponding phase are in the range between (including) 1 and the corresponding repetition rate. For example, at a repetition rate RR=4, the corresponding phase may be 1, 2, 3, or 4. For example, for a repetition rate RR=1, only a corresponding phase of 1 is valid. For example, in the case of a repetition rate RR=2, the corresponding phase may be 1 or 2. The corresponding (initial) phase may be determined based on a random selection of a corresponding valid value, e.g., by a (pseudo) random number generator.
[0090] For example, referring to the diagram showing the initial phase allocation Figure 5 , all corresponding stages are initialized with a value of 1, which is valid for any repetition rate greater than or equal to 1.
[0091] At method step 442, when executing in a further iteration, a (further) phase allocation is determined. For example, when the optimization is implemented as a gradient descent, the further phase allocation can be determined by selecting such respective phases at which the gradient of the at least one objective function is descended. For example, when the optimization is implemented as a combinatorial optimization, the further phase allocation can be determined by selecting a further permutation of all valid phases. Finally, the initial or further phase allocation and thus the respective (initial or further) phase of the respective repeated transmission of each data stream is the respective phase determined based on the at least one optimization at the last iteration.
[0092] At method step 444, for each of the data streams 212, 214, 216, 217, and 218 and each of the plurality of shared transmission links 120, a respective count of duplicate transmissions from one of the data streams that is combined with at least one of the data streams at the respective shared transmission link is determined. Furthermore, for each respective shared transmission link 126, 130, 136, 144, and 146 of the plurality of shared transmission links 120, at least one value indicative of interference is dependent on a respective count of one of the data streams combined on the respective shared transmission link.
[0093] Furthermore, in some implementations, at method step 444, for each respective shared transmission link 126, 130, 136, 144, and 146, a sum of all respective counts on the respective shared transmission links, except for the respective count having the minimum value of these respective counts, is determined. Alternatively, in some implementations, at method step 444, for each respective shared transmission link 126, 130, 136, 144, and 146, a minimum value of all respective counts on the respective shared transmission links is further determined. Determining the sum excluding the respective count having the minimum value or determining the minimum value may advantageously take into account that, as described above, (previously) already merged data streams (on the previous shared transmission link) will not be further delayed / interfered with each other.
[0094] Furthermore, in some further implementations where sums / minimum values are determined, at method step 444, a maximum value among each sum / minimum value of the corresponding counts across the plurality of shared transmission links 120 and across a predetermined number of transmission cycles (i.e., in particular across all cycles of the plurality of transmission cycles 530) is determined, wherein the at least one value indicative of interference is a maximum value. This may advantageously help to optimize the worst case interference over all shared transmission links and the predetermined number of transmission cycles. In some such implementations, the predetermined number may be the least common multiple of all repetition rates, such as "RRmax", which may advantageously constrain the calculations performed so that such a transmission cycle (since the transmission is cyclic) is not equal to the previous transmission cycle, thereby improving reliability (since the predetermined number is necessary) and / or efficiency (since the predetermined number is sufficient).
[0095] In some implementations, the at least one optimization has an additional objective function that includes an additional value indicating total interference. At method step 446 of such implementation, the total interference is determined as a set of values indicating interference at each of the plurality of shared transmission links 120 and across a predetermined number of transmission cycles. In some further implementations, in which a sum / minimum value is determined for each respective shared transmission link, the total interference is determined by summing the corresponding sum / minimum value at each shared transmission link. This facilitates taking total interference into account when allocating during the optimization phase. While the worst-case interference may be related to ensuring that each repeated transmission arrives at the respective destination node within a predetermined time (e.g., within a transmission cycle / network cycle), whereby the reliability of the data transmission and therefore, for example, the reliability of the manufacturing process controlled by such data transmission may be guaranteed or at least enhanced, the total interference may be related to the load of the telecommunications network, for example, the data transmission capacity of the telecommunications network is reserved for other data transmissions, such as low priority data streams. Having determined the worst-case interference and / or total interference, it can advantageously help determine the buffer size required at a link node (e.g., between transmission links), for example, for lower priority data streams, such as when repeated transmissions of multiple data streams are transmitted by a punch-through operation and lower priority data streams are transmitted by a store and forward operation.
[0096] For example, refer to Figure 5, all repeated transmissions have one transmission or one frame, at transmission period 531: the sum of the shared transmission link 130 is 1 (for example, the repeated transmissions of data streams 212 and 214 interfere, and both have one transmission / frame causing interference or delay of 1); the sum of the shared transmission link 126 is 1 (for example, data streams 216 and 217 interfere with each other at least on transmission link 126, assuming that the initiator node 126 can send repeated transmissions for two data streams 216 and 217 at the same time, for example, there are two network ports); the sum of the shared transmission link 136 is 0 (for example, data streams 216, 217 interfere with each other). 17 has interfered on the previous transmission link, for example, on the transmission link 126); the sum of the shared transmission link 144 has a value of 1 (for example, the repeated transmissions of the data streams 214 and 216 interfere); the sum of the shared transmission link 146 has a value of 2 (for example, when the repeated transmissions of the data streams 214 and 216 interfere, the data streams 214 and 216 have been merged at the shared transmission link 144, but now the data stream 218 additionally interferes, wherein the transmission counts of the data streams 214 and 216 are 2, and the count of the data stream 218 is 1, so the minimum value excluded from the sum is 1, and the resulting sum =2, i.e., only the counts of data streams 214, 216 are considered, because, for example, the additional data stream 218 delays data streams 214, 216 by 1, one of the data streams will be delayed by 2 in total, or alternatively, data streams 214, 216 delay data stream 218 by 2. At transmission period 532, there is no interference, because only the repeated transmission of data stream 218 is transmitted, and therefore, the sum at all shared link nodes 130, 144, 146, 126, 136, 146 is 0. The sum in transmission period 533 is equal to the sum in transmission period 531 except at transmission link 130, because data stream The repetition rate of 212 is 4, there is no transmission at the transmission period 533, that is, in the transmission period 533, the value of the sum at the shared transmission link 130 is 0. Finally, there is no interference at the transmission period 534, and the sum is 0. Thus, the worst case interference is 2. In addition, for the implementation of determining the total interference, for example, as another value of another objective function, the total interference on all shared transmission links 130, 144, 146, 126 and 136 and all transmission periods 531, 532, 533 and 534 is the sum of 5 (for period 531) and 4 (for period 533), that is, the total interference is 9.
[0097] At method condition 410, it is determined whether one or more optimization criteria are met, such as reaching at least one objective function, i.e., in particular reaching a minimum value of at least one value indicative of interference. In some implementations, it is determined whether the worst-case interference is minimized and whether the total interference is also minimized in all possible phase allocations that produce the minimum worst-case interference. Furthermore, in some implementations, it is additionally determined whether an upper limit on the number of iterations of method step 440 / at least one optimization / further optimization has been reached. If this (or at least one of the two conditions) is met, the optimization is performed with <y>If the optimization criteria are not met, the method step 450 is executed. Otherwise, one or more optimization criteria are not met and the upper limit of the number of iterations may not be reached. <n>If , the method continues at method step 442 for further iterations.
[0098] Figure 6 Explained Figure 5 In the case of , the phase allocation (i.e., in particular the corresponding phase) has been determined by optimization. For example, the corresponding phase can be determined by referring to Figure 4 The method described is step 440 to determine.
[0099] In an exemplary embodiment, the stage of repeated transmission of data stream 212 (now) is 4. The stage of repeated transmission of data stream 214 (now) is 1. The stage of repeated transmission of data stream 216 (now) is 2. The stage of repeated transmission of data stream 217 (now) is 1. The stage of repeated transmission of data stream 218 (still) is 1 (which is the only valid value). Therefore, in the case where all repeated transmissions have one transmission or one frame, at all transmission periods 531, 532, 533, 534: the sum of shared transmission link 130 has a value of 0; the sum of shared transmission link 126 has a value of 0; the sum of shared transmission link 130 has a value of 0; the sum of shared transmission link 136 has a value of 0; the sum of shared transmission link 144 has a value of 0; the sum of shared transmission link 146 has a value of 1. Therefore, for example. All interference between data streams is avoided except for the interference that occurs between data stream 218 and data stream 214 or 216. So, the worst case interference is 1 and the total interference is 4.
[0100] from Figure 6 As can be seen from the figure, the repeated transmissions are distributed in the transmission period, so the worst case and / or total interference can be advantageously reduced. In addition, other phase allocations, such as data stream 212 having a corresponding phase of 2, will result in a worst case interference of 1 and a total interference of 4. In addition, for example, data stream 212 having a corresponding phase of 1 will result in the worst case interference still being 1, but will increase the total interference to 5.
[0101] Reference now Figure 4 .
[0102] At method step 450, respective repeated transmissions of each of the plurality of data streams 210 are scheduled according to respective phases.
[0103] Therefore, in some implementations, the optimization algorithm (e.g., based on the determination of the phases by at least one optimization) distributes the data streams over the phases to minimize the sharing of transmission links, such as transmission links where the data streams are merged. If the maximum value of the repetition rate of all data streams is RRmax, it is sufficient to analyze the data stream sharing (e.g., interference) in the RRmax network cycle, because, for example, the overall transmission is cycled every RRmax network cycle. At least one optimization will select the phase allocation so that the distribution of link sharing (which means the worst case delay due to interference) within these cycles is optimal relative to a predetermined criterion. In some further implementations, the predetermined criterion is to minimize the maximum interference over these RRmax cycles, and possibly (i.e., based on another objective function) to also reduce the total number of overlaps over all RRmax cycles.
[0104] In some implementations, such as embodiments performed by a system including the network scheduling device 300 and one or more initiator nodes 112 , 114 , 116 , and 118 , method step 450 includes method steps 452 , 454 , and 456 .
[0105] In some implementations, method steps 440 and 450 or (at least) method steps 440 and 452 are performed by a network scheduling device, such as a gateway node.
[0106] In some implementations, method steps 454 and 456 are performed by one or more initiator nodes, ie in particular each of the one or more initiator nodes may perform method steps 454 and 456 .
[0107] At method step 452, corresponding repeated transmissions are scheduled by providing a scheduling signal (the scheduling signal includes a phase) to one or more initiator nodes, or by providing a corresponding scheduling signal (each corresponding scheduling signal includes a corresponding phase) to each of the one or more initiator nodes.
[0108] At method step 454, a scheduling signal or a corresponding scheduling signal is received, for example by a corresponding initiator node of the one or more initiator nodes.
[0109] At method step 456, the respective repetitive transmissions are transmitted in accordance with the scheduling signal or a respective scheduling signal and, for example, in accordance with the respective phase and repetition rate.
[0110] In some implementations, where the method 400 is performed by a network scheduling device such as a gateway node, the gateway node performs step 450 by limiting the transmission of repeated transmissions to repeated transmissions according to the phase allocation (i.e., in particular, the corresponding repetition rate and phase). In some advantageous modifications, other repeated transmissions can be stored (i.e., in particular, cached) and sent in a later transmission cycle according to the phase allocation, and / or an error signal can be sent to the corresponding initiator node.
[0111] Figure 7 A flowchart of a computer-implemented method 700 for scheduling transmission of multiple data streams through a telecommunications network is shown, the method 700 being performed in accordance with an embodiment of the present invention. Furthermore, in some advantageous implementations, the method 700 is performed by a network scheduling device or system, the system comprising a network scheduling device and one or more initiator nodes. Furthermore, in some further advantageous implementations, reference is made to Figure 8 The gateway node 800 or system described is suitable for executing the method 700 and is according to an embodiment of the present invention, the system comprising a reference Figure 1 The network scheduling device 300 described and reference Figure 1 , Figure 2 In addition, the method 700 may be implemented in some exemplary embodiments in accordance with the embodiment of the present invention. Figure 4 Therefore, details such as those regarding the telecommunications network will not be repeated, but for these details, reference is made to the details given above, such as those in reference Figure 4 And reference Figure 1 , Figure 2 , Figure 3 , Figure 5 or Figure 6 .
[0112] In the exemplary embodiment, method 700 includes method conditions 712 and 714 and further includes method steps 720, 722, 724, 726, 730, 740, 744, 746, 748, 750 and 758. The method starts at the beginning of method 702 and ends at the end of method 704. Furthermore, one or more method steps, in particular a sequence of method steps and / or the entire method 700 may be repeatedly performed.
[0113] At method step 730, at least one configuration signal is received, wherein the at least one configuration signal indicates a repetition rate for repeated transmission of the plurality of data streams 210, and wherein the repetition rate is limited to an integer power of 2, such as 1, 2, 4, 8, 16, etc.
[0114] At method step 720, at least one configuration signal is received, wherein the at least one configuration signal indicates at least one data stream of the plurality of data streams 210, at least one initiator node, and at least one destination node. Furthermore, at least one initiator node 112, 114, 116, 118 is adapted to send a respective repetitive transmission of at least one data stream 212, 214, 216, 217, 218 of the plurality of data streams 210, and at least one destination node 162, 164, 166 is adapted to receive a respective repetitive transmission of at least one data stream of the plurality of data streams 210.
[0115] In some implementations, at least one configuration signal of step 730 and at least one configuration signal of step 720 are a combined configuration signal or are at least received together, wherein the combined configuration signal or the two at least one configuration signals are received from each initiator node, respectively, wherein they indicate the corresponding data stream, the corresponding repetition rate, the corresponding initiator node, and the corresponding destination node.
[0116] Alternatively, in some implementations, at least one configuration signal of step 730 and / or at least one configuration signal of step 720 is received (e.g. as a combined signal) from another node of the telecommunications network 100, 102 or from an external device, such as a configuration apparatus for setting a scheduling configuration externally.
[0117] At method step 722, topology data indicative of the topology of the telecommunications network 100, 102 is established. In some implementations, the topology data is determined by a measurement protocol, wherein topology detection network packets are sent and received in response. In some implementations, the topology data is determined by retrieving topology data from a topology database.
[0118] At method step 724, a respective path 222, 224, 226, 227, 228 (e.g. in a first iteration) or a further respective path 232 (e.g. in a further iteration) for at least one data flow of the plurality of data flows 210 from at least one initiator node to at least one destination node is determined, the respective path or the further respective path passing through the telecommunication network 100, 102 and being used for respective repeated transmissions of the respective data flow.
[0119] Alternatively, in some modifications, instead of method steps 722 and 724 outlined above, at least one configuration signal of method step 720 may already include paths 222, 224, 226, 227, 228, whereby the paths are determined by retrieving them from the at least one configuration signal; thus, the paths may be determined by method step 720, and according to some such modifications, method 700 does not include method steps 722 and 724.
[0120] Since the telecommunications network 100 has, for example, a tree-type topology, the paths of the data flows are uniquely determined by the data flows or by the respective initiator nodes and the respective destination nodes of each data flow. Since the telecommunications network 102 includes, for example, the loop 234, some data flows may use different paths, wherein the respective paths for such data flows may be predetermined (e.g., by at least one configuration signal) or may be determined by the method 700 (e.g., as part of an optimization), wherein one of the different paths is selected based on an optimization criterion. For example, repeated transmissions of the data flow 216 may be transmitted by the path 226 and may also be transmitted by the path 232.
[0121] At method step 726 , a plurality of shared transport links 120 are determined based on a comparison of the paths 222 , 224 , 226 , 227 , 228 , or 232 through the telecommunications network 100 or 102 , wherein each of the shared transport links 126 , 130 , 136 , 144 , 146 is part of at least two paths.
[0122] At method step 740, the corresponding phase of the corresponding repeated transmission of each data stream in the plurality of data streams 210 is iteratively determined based on numerical optimization, wherein the numerical optimization is implemented using mixed integer linear programming. The numerical optimization has an objective function, which includes at least one value indicating interference between two or more repeated transmissions of the plurality of data streams. In addition, the numerical optimization takes into account the worst-case arrival time, the worst-case delay and the worst-case total travel time as upper limits, wherein the worst-case arrival time is mainly optimized (e.g., minimized), and (within the optimized value of the phase of the best worst-case arrival time) the worst-case delay and then the worst-case total travel time are optimized (e.g., minimized). Therefore, at least one value indicating interference is based on the worst-case arrival time of the corresponding repeated transmission of each data stream in the plurality of data streams. In addition, the objective function includes a first additional value based on the worst-case delay of the corresponding repeated transmission of each data stream in the plurality of data streams. In addition, the objective function also includes a second additional value based on the total travel time, which is a set of each value of the total travel time of the corresponding repeated transmission of each data stream in the plurality of data streams. In some advantageous modifications, the numerical optimization takes into account at least the worst case arrival time as an upper limit, wherein at least one value indicative of interference is a weighted average of the worst case arrival times of the respective repeated transmissions of each of the plurality of data streams and the aggregate total travel time. Furthermore, for example, for the numerical optimization optimizing the worst case scenario, the objective function is evaluated and at least one value and the first additional value and the second additional value are determined accordingly for a predetermined number of transmission cycles, wherein (since the repetition rate is an integer power of 2) the predetermined number is determined by selecting a maximum value of the repetition rate. Limiting the repetition rates to integer powers of 2 facilitates using their maximum value as the predetermined number, wherein after this predetermined number the overall transmission of the repeated transmissions is cyclic. Furthermore, the fact that the least common multiple is the maximum value of the repetition rate facilitates reducing the predetermined number, thereby reducing the amount of computation required, compared to other scenarios where the repetition rate is not limited to an integer power of 2.
[0123] Method step 740 includes method steps 744, 746, and 748, wherein method steps 744, 746, and 748 are iteratively performed to perform numerical optimization until one or more optimization criteria (e.g., objective function) reaches (e.g., falls below) one, some, or all of the upper limits, and / or until a maximum number of iterations is reached. In some implementations, the iterations and / or criteria are similar to those of reference Figure 4 In some implementations, a mixed integer linear solver is used for numerical optimization, where the objective function is provided as a linear objective function.
[0124] In some implementations, where for example a telecommunication network is a time-sensitive network, messages (i.e. in particular data transmissions) with different priorities use the same telecommunication network at the same time, and their interactions may be handled in different ways. However, any time-sensitive network must guarantee that high priority frames / transmissions, such as repeated transmissions, arrive within the network cycle in which they are sent. For this reason, in some such implementations, other frames / data transmissions (i.e. data transmissions with lower priority) are preempted, making interference between high priority data streams one of the main reasons for delays in repeated transmissions of these frames / data transmissions / data streams. By using a MILP (Mixed Integer Linear Programming) optimization model (e.g. a mixed integer linear programming or a mixed integer linear solver), it can be used to minimize the latest arrival time of any high priority data transmission (e.g. repeated transmission) in any transmission cycle (e.g. in the context of a time-sensitive network, any network cycle). The advantage of the MILP optimization model may be in particular that its solution may help to guarantee that all frames / repeated transmissions arrive in time, wherein, for example, deterministic scheduling may be achieved based on the solution of the corresponding phase determined based on the MILP optimization model. By means of the solution, an efficient phase allocation can be provided, thereby reserving more network capacity, e.g., bandwidth, for other flow types or data transmissions (e.g., data transmissions with lower priority). In addition, the advantages of a MILP solver (e.g., a mixed integer linear solver) may be, in particular, that the solver can guarantee to find an optimal solution; thus, on the one hand, when phases are determined for a linear objective function based on numerical optimization (i.e., by mixed integer linear programming / mixed integer linear solver), these phases are guaranteed to be optimal, and on the other hand, if no solution is found or one or more upper limits cannot be met, it is also guaranteed that there is no solution, e.g., no phase allocation (given repetition rate, network topology, etc.) to meet the upper limits and / or enough corresponding phases, which can, for example, help to take appropriate actions, such as increasing network capacity. In addition, the advantages of a MILP solver may be, in particular, more efficient than a general nonlinear solver, whereby the method 700 or at least a portion thereof, e.g., the numerical optimization, can be performed on a device with limited computing resources, such as some embodiments of a gateway node or a network controller.
[0125] In method step 744, a respective total travel time of a respective repeated transmission of each of the plurality of data streams 210 is determined, wherein the respective total travel time depends on one or more transmission delays encountered along the respective paths 222, 224, 226, 227 and 228 or 232, and on interference between the respective repeated transmission and other repeated transmissions of the plurality of data streams 210. Furthermore, the worst case arrival time is determined by selecting a maximum value of each of the respective total travel times and by selecting the maximum value in a predetermined number of transmission cycles, the respective total travel time including interference at the respective initiator node 112, 114, 116, 118.
[0126] At method step 746, the worst case delay is determined by selecting the maximum value of each of the respective total travel times that does not include interference at the respective transmitting node 116 and over a predetermined number of transmission cycles.
[0127] Therefore, as referenced Figure 1 and Figure 2 As shown, repeated transmissions of data streams 216 and 217 have interfered at the transmission link 126 or at the initiator node 116, and therefore, the corresponding total travel time and the worst-case arrival time are increased by the interference; however, since one of these repeated transmissions cannot be transmitted before the other has been transmitted, it will not be delayed by the interference relative to the time point when it is transmitted, for example, the corresponding worst-case delay will not be increased by the interference.
[0128] At method step 748, the worst-case aggregate total travel time is determined by, for each data stream, determining the corresponding aggregate total travel time of each transmission cycle by summing the total travel times of the corresponding transmission cycles, and then selecting the corresponding aggregate total travel time of the corresponding transmission cycle (where the corresponding aggregate total travel time has the maximum value) as the worst-case aggregate total travel time.
[0129] At method condition 712, it is determined (e.g. in a scenario with a telecommunications network 102 that does not have a tree topology and / or has a loop 234) whether a further path can be selected for one of the plurality of data flows. If this is the case, <y>If , method 700 continues at method step 724. Otherwise, <n>Indicates that method 700 continues at method condition 714 .
[0130] So, for example, reference Figure 2 and Figure 3 , when the method continues at method step 724 for further iterations, path 232 may be selected as a further path for data stream 216 (e.g., instead of path 226, which may have been selected in the first iteration of data stream 216). As a result, interference at link node 182 or transmission link 144 may be reduced, but interference at link node 184 / transmission link 146 may still exist. For scenarios where transmission link 144 has a lower bandwidth than transmission link 146 and therefore repeated transmission of data streams 214 and 216 is a bottleneck, routing via path 232 may be beneficial and, for example, reduce the worst-case arrival time.
[0131] At method condition 714, a determination is made as to whether the numerical optimization fails to satisfy at least one of the upper limits, wherein the stage selected from the numerical optimization in which the selected path leads to the lowest value of the at least one value may be a first additional value and may be a second additional value. If the numerical optimization fails to satisfy at least one upper limit, <y>If it is indicated, then execute method step 758. Otherwise, use <n>Indicates that method step 750 is executed.
[0132] At method step 758, a warning signal is provided, for example, to one or more initiator nodes.
[0133] At method step 750, respective repetitive transmissions of each of the plurality of data streams 210 are scheduled, wherein the respective repetitive transmissions begin at a transmission period associated with the respective phase.
[0134] In addition, in some further modifications, method 400 can be combined with method 700. In some implementations, method 400 can include method step 730. In some implementations, method 400 can include method steps 720, 722, 724 and 726 and method condition 712 (e.g., for selecting one or more further paths and further optimizing by selecting the paths). In some implementations, method 400 can include method condition 714 and method step 758 (e.g., for providing a warning signal). In some implementations, method 700 can implement method step 750 similar to method step 450 (e.g., for scheduling repeated transmissions by providing a scheduling signal to the initiator node).
[0135] In some implementations, the objective function is provided as a linear objective function and numerical optimization is performed based on:
[0136] For each corresponding stage of the data flow, a binary variable is defined. This can be an array of binary values and can be described based on a pseudocode similar to AMPL (Mathematical Programming Language, see https: / / en.wikipedia.org / wiki / AMPL).
[0137] var streamToPhase{stream in streams(),rr in 0..stream.rr()-1}binary;
[0138] Since each data stream, or more specifically each repeated transmission of a data stream, has exactly one phase according to which they are sent, constraints can be defined in the pseudo-code.
[0139] choose_one_phase_per_stream{stream in streams()}: sum{rr in0..stream.rr()-1} streamtophase[stream,rr]=1;
[0140] Furthermore, the interaction of different data flows and phases (e.g. interference between repeated transmissions of a data flow depending on the repetition rate and phase) is modeled. To this end, a variable is established that holds the worst case delay of a flow that may be caused by being delayed by other data flows. The worst case delay depends on the size of the repeated transmissions (e.g. frame size) and is calculated as the sum of all frame sizes of data flows that share at least one transmission link with the corresponding data flow and are assigned to the same phase.
[0141] var DelayCausedByInterferingStreams{stream in streams()}>=0;
[0142] define_delay_caused_by_InterferingStreams{stream in streams(),rr in0..stream.RR()-1}:
[0143] streamToPhase[stream,rr]=1->DelayCausedByInterferingStreams[stream]>=sum{intersecting_idx in intersectingStreams(stream)}
[0144] (sum{other_rr in 0..stream(intersecting_idx).RR()-1:other_rr modstream.RR()=rr mod stream(intersecting_idx).RR()}
[0145] streamToPhase[stream(intersecting_idx)][other_rr])*
[0146] stream(intersecting_idx).interferenceDelay();
[0147] In addition to the interference considered as described above, the corresponding total travel time and the worst-case arrival time also depend on one or more transmission delays encountered along the corresponding path, such as transmission delays on the cable or transmission delays through link nodes or transmission delays through bridges. All delays can be added together to determine the total travel time. This can be taken into account by defining the following variables and constraints.
[0148] var streamDelay{stream in streams()}>=0;
[0149] var maxStreamDelay>=0;
[0150] subject to defind_stream_delay{stream in streams()}:
[0151] streamDelay[stream]>=DelayCausedByInterferingStreams[stream]+
[0152] phaseIndependentDelay(stream);
[0153] subject to define_max_interference{stream in streams()}:
[0154] maxStreamDelay>=streamDelay[stream];
[0155] Finally, the worst case arrival time is determined and optimized, which is the maximum delay of repeated transmissions of one of the data streams. In pseudocode, this can be performed as follows:
[0156] minimize worst_case:maxStreamDelay;
[0157] Such an implementation described above in conjunction with the pseudocode does not rely on the repetition rate / reduction rate being an integer power of 2. Therefore, such an implementation can also be used for more general embodiments and / or for at least one optimization by numerical optimization at method step 440 of method 400 .
[0158] In some implementations, where the repetition rate is an integer power of 2, the objective function is provided as a linear objective function, and numerical optimization is performed based on the following description in conjunction with pseudo code similar to AMPL (a mathematical programming language, see, for example, https: / / en.wikipedia.org / wiki / AMPL):
[0159] Taking advantage of the fact that the repetition rate is a power of 2, the phases can be defined by the following variables, which are expressed in binary:
[0160] via streamToPhaseInBin{stream in streams(),rr in 0..stream.log2rr()-1}binary;
[0161] For example, a data stream t with a repetition rate RR=8 may have a number of 1 and 2 2 When the stream is assigned a (initial) phase of Ph=7 (or Ph_initial=7), the binary variables will be set to
[0162] streamToPhaseInBin[t,i]=1for i=0,1,2
[0163] -For example (because 7=2^0+2^1+2^2).
[0164] Furthermore, if the binary variable (as defined above) of one of the two data streams with the smaller repetition rate is the same as the corresponding binary variable of the other of the two data streams, then the two data streams may be sent in the same transmission period. For example, when one of the two data streams is data stream t and the other is data stream s, where data stream s has a repetition rate RR=4 and the phase is 3, the binary variable of data stream s will be set to
[0165] streamToPhaseInBin[s,i]=1for i=0,1
[0166] - For example (because 3 = 2^0 + 2^1). Therefore, when data streams t and s share a transmission link, they may interfere at transmission cycle 7 (and 15, 23, ...) at the transmission link (ie, the shared transmission link).
[0167] While the repetition rate is not required to be a power of 2 in the implementation described above, interference occurring only on the shared transmission link is already accounted for due to the representation of the facet allocation (i.e., via "var streamToPhase") and the sum of the frame sizes, in the implementation outlined here and requiring the repetition rate to be a power of 2, interference on acquisition at the shared transmission link is accounted for by the following pseudo-code:
[0168] var phaseBinaryDiffNonNegative{stream in streams(),otherstream_idx inintersectingStreams(stream)}binary;
[0169] var phaseBinaryDiffNonPositive{stream in streams(),otherstream_idx inintersectingStreams(stream)}binary;
[0170] Therefore, based on the following pseudo code that defines the boundary condition, if the difference is less than or equal to 0, the variable "phaseBinaryDiffNonPositive", i.e., in particular, the corresponding binary variable (e.g., set by the boundary condition) for each (data) stream in the (data) stream and for each additional stream in the streams sharing the transmission link or the merged transmission link, is greater than 0.
[0171] checkPhaseBinaryDiff1{stream in streams(),otherstream_idx inintersectingStreams(stream)}:
[0172] sum{i in 0..min(stream.log2RR(),stream(otherstream_idx).log2RR())-1}(streamToPhaseInBin[stream,i]-streamToPhaseInBin[stream(otherstream_idx),i])*2^i+stream.RR()*phaseBinaryDiffNonPOsitive[stream, otherstream_idx]>=1;
[0173] Likewise, based on the pseudo code below (which may define boundary conditions), if the difference is greater than or equal to 0, then the variable "phaseBinaryDiffNonNegative" is greater than 0.
[0174] checkPhaseBinaryDiff2{stream in streams(),otherstream_idx in
[0175] intersectingStreams(stream)}:
[0176] sum{i in 0..min(stream.log2RR(),stream(otherstream_idx).log2RR())-1}(streamToPhaseInBin[stream,i]-streamToPhaseInBin[stream(otherstream_idx),i])*2^i-stream.RR()*phaseBinaryDiffNonNegative[stream,otherstream_idx]<=-1;
[0177] Based on this, the interfering data stream is determined based on the following pseudo code:
[0178] var streamsInterfere{stream in streams(),otherstream_idxinintersectingStreams(stream)}binary;
[0179] compute_intersection_in_phase{stream in streams(),otherstream_idxinintersectingStreams(stream)}:
[0180] streamsInterfere[stream,otherstream_idx]>=phaseBinaryDiffNonPOsitive[stream,otherstream_idx]+phaseBinaryDiffNonNegative[stream,otherstream_idx]-1;
[0181] Finally, a linear model similar to the one given above was constructed and minimized.
[0182] The advantage of these implementations requiring a repetition rate that is a power of 2 is in particular that the number of variables, in particular the number of binary variables, can be reduced compared to the more general implementations given above. For example, while the number of variables of the "streamToPhase" of the more general implementation given above must be equal to the maximum value of the repetition rate multiplied by the number of data streams (i.e. (number of data streams)*max(repetition rate)), for the implementation requiring a repetition rate that is a power of 2 (due to the binary representation), the number of variables of "streamToPhaseInBin" is the base-2 logarithm of the maximum value of the repetition rate multiplied by the number of data streams (i.e. (number of data streams)*log2(max(repetition rate))). Thus, for example, the more general implementation given above scales linearly with the repetition rate (e.g. linearly with the maximum repetition rate), while the (more complex) implementation (requiring a repetition rate that is a power of 2) scales logarithmically. As a result, the more complex implementation is computationally more efficient, e.g. when using repetition rates with higher values (e.g. repetition rates greater than or equal to 32 or 512). A more general implementation may advantageously be more efficient when, for example, only repetition rates with lower values (eg values below 10) are used, since constraints on interference occurring only on the shared transmission link do not have to be calculated as additional constraints.
[0183] Similar to the implementation of minimizing the worst-case arrival time presented above, the worst-case delay can be optimized by determining the interference occurring at the shared transmission links and nodes (other than the corresponding initiator node).
[0184] exist Figure 8 FIG. 8 schematically shows a gateway node 800 according to an embodiment of the present invention.
[0185] In an exemplary embodiment, the gateway node 800 includes a data processing device 840, a topology database 842 adapted to store and retrieve topology data of the telecommunications network, a clock device 850 adapted to provide a time synchronization signal to the telecommunications network, and a plurality of network ports 810 including network ports 812, 814, 816. The network ports of the plurality of network ports 810 are respectively adapted to establish a data connection between a node of the telecommunications network (e.g., one of the initiator nodes 112, 114, 116, or 118) and the gateway node 800 via a transmission link (e.g., one of the plurality of transmission links 120).
[0186] Furthermore, the gateway node 800 is adapted to execute the method 700 by means of the data processing device 840 .
[0187] In some implementations, the network scheduling device 300 and / or the gateway node 800 is a central network controller, wherein the central network controller includes a data storage device having all planned, possible or determined paths through the network for all data flows and / or repetition rates as well as additional parameters of the telecommunications network, such as the network topology or transmission delays due to delays through cables, through bridges, through switches, through gateway nodes, etc.
[0188] exist Fig. 9 In the figure, according to an embodiment of the present invention, another telecommunication network 900 is schematically shown to illustrate the optimization and the determination of the corresponding phases.
[0189] In an exemplary embodiment, telecommunications network 900 includes nodes 901, 902, 903, 904, 905, 906, 906, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 926, 927, 928, 929 and 930.
[0190] In an exemplary case, node 901 and node 921 are initiator nodes, for example, controller devices such as Profinet IRT controllers. Controller device 901 sends two messages, for example, repeated transmissions, to each of nodes 902, 908, and 930 (these nodes are destination nodes 902, 908, and 930), wherein each of destination nodes 902, 908, and 930 receives one of the two messages with a repetition rate of RR=2 and the other of the two messages with a repetition rate of RR=4. The second controller device 921 communicates with nodes 922, 923, and 930 (these nodes are destination nodes 922, 923, and 930), and also sends one RR=2 message and one RR=4 message to each destination, i.e., destination nodes 922, 923, and 930. Therefore, the number of data streams established through the controller is 6, which means that there are a total of 12 in the entire network.
[0191] from Fig. 9 As can be seen, the telecommunications network has a tree topology. Overlaps between flows (e.g., possible interference) exist in the transmission links (also referred to as "links" for brevity) connected to controller devices 901, 921 (also referred to as "controllers" for brevity), and also in the overlap of data flows from the two controllers to node 930. The overlap starts in the link between (link) nodes 918 and 925.
[0192] Each data flow of the plurality of data flows is defined by its sender-receiver-pair (i.e. a respective originator node and a respective destination node), its respective repetition rate RR and its respective path:
[0193] Stream1:Sender=901; Receiver=902; RR=2; Path=[901 904 903 902];
[0194] Stream2:Sender=901; Receiver=908; RR=2; Path=[901 904 905 906 907908];
[0195] Stream3:Sender=901; Receiver=930; RR=2; Path=[901 904 910 915 918925 927 928 929 930];
[0196] Stream4:Sender=901; Receiver=902; RR=4; Path=[901 904 903 902];
[0197] Stream5:Sender=901; Receiver=908; RR=4; Path=[901 904 905 906 907908];
[0198] Stream6: Sender=901; Receiver=930; RR=4; Path=[901 904 910 915 918925 927 928 929 930];
[0199] Stream7:Sender=921; Receiver=922; RR=2; Path=[921 920 916 919 918915 917 922];
[0200] Stream8:Sender=921; Receiver=923; RR=2; Path=[921 920 924 926 923];
[0201] Stream9:Sender=921; Receiver=930; RR=2; Path=[921 920 919 918 925927 928 929 930];
[0202] Stream10: Sender=921; Receiver=922; RR=4; Path=[921 920 916 919 918915 917 922];
[0203] Stream11: Sender=921; Receiver=923; RR=4; Path=[921 920 924 926 923];
[0204] Stream12: Sender=921; Receiver=930; RR=4; Path=[921 920 919 918 925927 928 929 930];
[0205] The shared transmission links may be represented by a matrix having a column for each of the plurality of data flows and a row for each transmission link, wherein each transmission link is indicated by a first link node (link start) and a second link node (link end), wherein the first and second link nodes are data connected by a corresponding transmission link. Thus, the matrix M may be constructed by first identifying links included in the paths of all flows, and then indicating the flows that share these links, wherein an entry of the matrix M is set to 1 if the corresponding transmission link of the row of the entry is part of the path for the corresponding flow of the corresponding column through the network, and otherwise, the entry is set to zero. For Fig. 9 An exemplary telecommunication network of . The matrix M may be as follows:
[0206]
[0207] It can be seen from the fact that the matrix M is 1 that the links (901 to 904) and (921 to 922) are associated with the controllers 901 and 921, and each of them is used by six flows. The first intersection between flows from different controllers occurs in the link (918 to 925). Therefore, these three transmission links are transmission links merged by different data flows. Therefore, by comparing the paths based on the matrix M, a plurality of shared transmission links are determined. In addition, a shared transmission link merged by at least two of the plurality of data flows is determined based on the matrix M.
[0208] Furthermore, the row associated with one of the links 901 to 904, 921 to 922 and 918 to 925 is extracted from the matrix M and a new matrix Mrelevant is determined, which has the dimensions (Number_of_Relevent_Links x Number_of_Streams), i.e. in the exemplary case (3x12):
[0209] 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1
[0210] For modifications where the telecommunication network does not have a tree topology, further shared link nodes (e.g. link nodes next to the link node where the data streams first merge) may be relevant for determining at least one link node representing interference, since data streams may merge multiple times, e.g. after a loop.
[0211] Therefore, for telecommunication networks with a tree topology, at least in some implementations, it is sufficient to extract rows of the matrix M that reflect only the links where flows first meet and overlap (assuming that flows do not separate and then overlap again on their way, e.g. due to loops).
[0212] The (initial) phase allocation of the data streams is performed by defining a variable Ph(i) for each data stream, e.g. in the exemplary case i=1 to 12. The variable Ph(j) associated with a stream "j" can take integer values between [1:RR(j)], where RR(j) is the repetition rate of the data stream "j". Thus, for a stream with RR=2, the associated Ph variable can take the values [1,2], and for a stream with RR=4, the valid values of Ph are [1,2,3,4]. The value assigned to the Ph variable indicates the phase, i.e. the transmission period in which the first send repetition transmission occurs.
[0213] In the exemplary case, the maximum RR across all streams is 4, so it is sufficient to determine at least one value indicating the interference and its dependency on the phase allocation for 4 (consecutive) transmission cycles (e.g., a first network cycle, a second network cycle, a third network cycle, and a fourth network cycle).
[0214] For the initial phase allocation, each phase can be set to 1, such as the exemplary case Ph(i)=1 where i=1 to 12. The phase allocation matrix is determined based on the initial phase allocation and the repetition rate. In the exemplary case, the phase allocation matrix can have the following values:
[0215] 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0
[0216] The columns of the phase allocation matrix are associated with network cycles and rows of the phase allocation matrix, or with data flows. Thus, in the first network cycle, all data flows are sent, for example, each repeated transmission of a data flow is sent (as can be seen from the first column of the phase allocation matrix). No data flow is sent in the second network cycle and the fourth network cycle. As can be seen from the third column of the phase allocation matrix, in the third network cycle, data flows: flow 1, flow 2 and flow 3 and data flows: flow 6, flow 7 and flow 8 are sent.
[0217] By multiplying the matrix Mrelevant with the phase allocation matrix and taking into account that in case of interference of flows from two different controllers the maximum delay is equal to the minimum number of flows involved on the controller, a further matrix is determined showing the number of overlaps in its entries, wherein the further matrix has a number of columns equal to the number of observed network cycles and a number of roles equal to the number of involved transmission links, i.e. in the exemplary case:
[0218] 6 0 3 0 6 0 3 0 min(2,2) 0 min(1,1) 0
[0219] In a more general scenario, e.g. where data flows overlap (i.e. in particular merge and possibly interfere) at a shared link node, the minimum number of involved flows from the previous transmission link may be used for the respective entry in the further matrix, in order to take into account that data flows that have previously merged (e.g. at the previous transmission link) are not further mutually delayed. Alternatively, the sum over the respective number of involved data flows from the respective previous shared transmission links may be used for the respective entry in the further matrix, wherein the minimum number of involved flows from one of the previous transmission links or, alternatively, the maximum number of involved flows from one of the previous transmission links is subtracted from the sum.
[0220] By allocating over the rows, the total interference per network cycle can be determined, i.e. in the exemplary case:
[0221] 14 0 7 0
[0222] It can be seen that for the initial stage arrangement, interference loads the network cycle.
[0223] By optimizing the phase allocation, interference and / or total interference at the shared transmission link can be reduced. By performing the above numerical optimization or combinatorial optimization, the following phases are determined for the data stream: Ph(1)=2, Ph(2)=1, Ph(3)=1, Ph(4)=3, Ph(5)=2, Ph(6)=3, Ph(7)=2, Ph(8)=1, Ph(9)=2, Ph(10)=4, Ph(11)=2, Ph(12)=4.
[0224] Therefore, after optimization, the stage assignment matrix has the following values:
[0225] 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1
[0226] In addition, the following further matrices of values:
[0227] 2 2 4 1 1 3 1 4 0 0 0 0
[0228] It can be seen that no (further) interference occurs at the (related) shared link nodes 918 to 925, because after the optimization, due to the optimized phase allocation, the repeated transmission from the initiator node 901 and the repeated transmission from the initiator node 921 are never sent to the destination node 930 in the same network cycle. Therefore, in order to find the actual worst-case interference, the entries in the third row are set to zero. Therefore, the maximum value over all shared links and all network cycles, i.e. the worst-case interference, is 4. It is worth noting that, in addition, when the value of the third row is determined by summing the data flows involved and subtracting the maximum or minimum number of data flows from the previous shared transmission link, all values will be zero, because in network cycle 1, only flow 3 is sent to destination node 930 (so no interference occurs), in network cycle 2, only flow 9 is sent to destination node 930 (so no interference occurs), in network cycle 3, flow 3 and flow 6 are sent to destination node 930 (so interference has occurred at initiator node 901 or at least at transmission links 901 to 904, and the interference count, i.e., count 1 is subtracted from the sum of the counts of all involved flows / all involved flows, i.e., 1-1=0), and similarly, in network cycle 4, flow 9 and flow 12 are sent to destination node 930 (so the interference between them occurs at the previous node or link, i.e., at initiator node 921 or at least at transmission links 921 to 920).
[0229] Finally, the total interference is determined as
[0230] 3 5 5 5
[0231] And it can be seen that the interference that occurs is now more evenly distributed over the network cycle.
[0232] like Figure 6 As shown in , wherein the transmission periods are arranged along a time axis 550, in some further modifications, the repeated transmissions of the plurality of data streams are shifted relative to a start time within each transmission period 531, 532, 533, 534, and the start time 551, 552, 553, 554 indicates the start of the data transmission within the respective transmission period. In some further modifications, the network scheduling device 300 and / or the gateway node 800 comprises a time-aware shaper, which is adapted to shift the repeated transmissions within at least one transmission period. Thereby, interference between repeated transmissions may be further mitigated, so that for example the worst case arrival time may be (further) reduced. In some further implementations, the nodes or at least the link nodes or at least the shared link nodes of the telecommunication network may respectively comprise a time-aware shaper. By scheduling repetitive transmissions based on a phase allocation determined by at least one optimization / numerical optimization in combination with a time-aware shaper, the reliability of transmission of repetitive transmissions of a data stream may be (further) enhanced (e.g. due to the deterministic scheduling based on the phase allocation, certain upper bounds are guaranteed to be met even when repetitive transmissions are shifted within a transmission cycle) while synergistically increasing the throughput through the telecommunications network, or synergistically (further) reducing the worst case arrival time or aggregate total travel time or worst case delay.
[0233] Additionally or alternatively, in some exemplary embodiments, e.g., to further mitigate interference and / or reduce a worst case arrival time, e.g., below a threshold such as a scheduling constraint, a transmission order is determined, wherein, according to the transmission order, repeated transmissions from at least one initiator node of the telecommunications network for at least one phase are sent by at least one initiator node within a transmission period associated with the at least one phase.
[0234] Therefore, in some implementations, in a further method step of method 400 or 700, a respective transmission order in which repeated transmissions are sent at each initiator node and within each phase is determined.
[0235] In some implementations, after allocating phases for each of the plurality of data streams, a final transmission order is determined and used as the scheduled transmission order. In some further implementations, the previously determined transmission order is used as a preliminary transmission order for the distribution of repeated transmissions over the phases. In some further implementations, after the phase allocation, a (final) transmission order is determined based at least on the distribution of repeated transmissions over the phases (e.g., the phase allocation). Furthermore, in some further modifications, the determination of the final transmission order may be independent of the preliminary transmission order, e.g., the preliminary transmission order is not used as an input for determining the final transmission order, however, some (indirect) dependencies may arise, e.g., due to taking the preliminary transmission order into account during the phase allocation.
[0236] In some implementations, wherein a (final) transmission order is determined after assigning a phase to each of the plurality of data flows, the transmission order of the at least one initiator node and the at least one phase is determined by sorting based on a comparison function, the comparison function taking into account a worst-case arrival time of each repeated transmission scheduled for transmission by the at least one initiator node within the at least one phase. Likewise, a respective transmission order may be determined for each initiator node of the telecommunication network 100.
[0237] For example, the arrival time of a (repeated) transmission (i.e. the time relative to the start of the phase of transmission in which the last bit of the transmission arrives at the respective destination node) may depend on the following:
[0238] 1) its start time (offset relative to the start of the network cycle);
[0239] 2) its length (length / data volume of repeated transmission);
[0240] 3) A path consisting of links (e.g., cables) and other network nodes (e.g., bridges);
[0241] 4) Transfer speed / bandwidth (may vary by network);
[0242] 5) Corresponding cable delays and bridge delays (BDs);
[0243] 6) The corresponding forwarding mechanism in the bridge (store and forward (S&F), cut-through, ...);
[0244] 7) Corresponding traffic shaper in the bridge;
[0245] 8) Phase allocation when its repetition rate is greater than 1 (RR>1);
[0246] 9) its interference with other high priority flows / streams among the multiple data flows, which for example share the same output port of a bridge but have arrived at different ports (or originated from the bridge, while the transmission we are interested in does not) and / or for example share network links, i.e. where their paths have shared network links, for example due to having the same output port on the bridge;
[0247] 10) Its interference with flows of different priorities, e.g. with low priority frames, e.g. if there is no (adequate) preemption.
[0248] For example, in order to estimate the arrival time of a frame, one has to deal with the uncertainty of different delay variables, such as bridging delays, interference delays, etc. Therefore, the worst-case impact of these variables can be calculated and a conservative estimate made of the delay that a (repeated) transmission experiences along its path from its originator node to its destination node.
[0249] For this (worst case) estimate, one can make the following assumptions, for example:
[0250] 1) All bridges / other network nodes will use a delayed cut-through forwarding mechanism; this is beneficial, whereas other mechanisms such as S&F are both "slower" and they also affect later (repeated) transmissions, e.g. increasing the amount of computational work for determining the (worst case) arrival time;
[0251] 2) If there is a traffic shaper, it is best to use a strict priority one; possible implementations of other shapers may increase the computational workload of the worst-case delay models because they make these models more complex and more expensive to optimize;
[0252] 3) Low priority transmissions, such as low priority frames, can be preempted;
[0253] 4) The possible interference to other flows / the worst case delay caused by interference is proportional to the sum of the amount of data repeatedly transmitted by all other interfering flows, e.g., proportional to the sum of the frame lengths of all other interfering flows. This is a consequence of the fact that there is no guaranteed minimum travel duration, but only an upper bound;
[0254] 5) The flows at the initiator node (also called the "talker") are sent in RR order, i.e. all flows with RR=2 must be sent before any flow with RR=4 etc. When all RRs are powers of 2, this guarantees that the flows can be sent simultaneously in each transmission cycle associated with one of the phases allocated to the corresponding data flow.
[0255] For example, under these assumptions, the arrival time of a (repeated) transmission is equal to the sum of the transmission start time (also called "send time", e.g., offset from the start of the respective phase, e.g. determined by the transmission order), the travel duration of the transmission along its path in the absence of interference, and the possible worst-case interference with other flows originated at different talker / originator nodes (interference with flows sharing a shared originator node is encoded in the transmission start time of the transmission, e.g., by the transmission order for the respective originator nodes).
[0256] Therefore, the worst case arrival time of a (repeated) transmission can be calculated as: transmission arrival time = transmission start time + transmission travel duration + worst case delay caused by interference.
[0257] In an exemplary embodiment, in a further method step, a (final) transmission order is determined such that the maximum value of the (worst-case) arrival times over all flows is minimized. Based on the unexpected insight that the worst-case delay due to interference of flows from other initiator nodes depends on the phase allocation to the other initiator nodes, but is independent of the transmission order of the other initiator nodes, the maximum arrival time over all flows is minimized by individually / independently minimizing the respective maximum / worst-case arrival time of each initiator node in the group of initiator nodes. Thus, for example, it can be shown for some implementations that by independently sorting the respective flows from each respective initiator node in the group of initiator nodes and for each respective phase in a plurality of phases, the maximum value of the worst-case arrival times over all flows for the respective initiator node and phase has its possible minimum value, and since the worst-case delay due to interference of flows from other initiator nodes is independent of the transmission order of the other initiator nodes, the maximum value of the worst-case arrival times over all flows from all initiator nodes and all phases has its possible minimum value.
[0258] The implementation and proof are given below:
[0259] Note that the worst-case interference between flows sent at different talkers is determined only by the phase allocation. Furthermore, the phase allocation also determines whether the flow and queue size constraints at the nodes are met. Therefore, it can be assumed that each flow s has a fixed value v(s), which represents the delay that cannot be influenced by the travel time in the network (e.g., travel duration) and the interference caused by the previous choices (path and phase allocation).
[0260] v(s)=d const (s)+fixedInterTalkerInterference (s)
[0261] Equation: Definition v(s)
[0262] Now, a brief look at the definition of the worst-case arrival time of a flow shows that flow scheduling can only affect the time when a frame is sent on one talker. Therefore, frame scheduling at each talker (e.g., transmission scheduling of multiple data flows) is an independent problem, and it is sufficient to consider the problem at one talker. Now, we wish to schedule frames so that the largest worst-case (last bit) arrival time over all flows is minimized while obeying the constraint that the flow with the smaller reduction rate is sent first. Formally, the frame scheduling problem / flow scheduling problem can be stated as follows.
[0263] STREAM SCHEDULING PROBLEM (SSP)
[0264] Input: A set of streams S(t) sent from a caller, value function Phase assignment s.t.p(s) ∈ [RR(s)-1]
[0265] Output: A partial order < on S(t) such that
[0266] i. s < s′ or That is, two streams s and s′ are comparable if and only if one stream delays the transmission time of the other stream.
[0267] ii. If RR(s) < RR(s′), then s < s′, that is, the stream with the smaller RRs is scheduled first,[[]]
[0268] iii. mas s∈s(t) ∑ s′∈S(t):s′≤s f(s′) + v(s) is minimized, where for example f(s′) is the transmission duration of s′ and a possible offset, for example to provide a gap between consecutive transmissions.
[0269] First, note that v(s) as defined by the above equation, (iii) exactly corresponds to the maximum arrival time if the streams are sent in the order defined by the partial order output, since ∑ s′<s f(s′) is the transmission time of s, for example the start time of the transmission of the repeated transmission of the data stream s. Thus, the solution to the SSP provides an optimal solution for scheduling frames / scheduling repeated transmissions.
[0270] Now it is shown that, compared to almost all variants of the phase assignment problem, for a given fixed phase assignment, for example a previously determined phase assignment, an optimal stream scheduling can be found very efficiently because the SSP can be solved by sorting.
[0271] Theorem: The STREAM SCHEDULING PROBLEM can be optimally solved in time O(n log(n)).
[0272] Proof: It is shown that the SSP can be solved by repeatedly solving a standard scheduling problem. Consider (1|(d j )|L max The single-machine scheduling problem with the objective of minimizing maximum tardiness is described in standard scheduling notation as introduced in [Graham, RL; Lawler, EL; Lenstra, JK; Rinnoy Kan, AHG (1979), "Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey", Proceedings of the NATO Systems Science Group and Discrete Optimization Symposium on Advanced Research in Discrete Optimization and Systems Applications, Elsevier, (5) 287-326.
[0273] In scheduling theory, we are given a set of machines that can process jobs one at a time, jobs with durations, and jobs with different attributes and bounds. The goal is to schedule all the jobs on the machines to satisfy all constraints and optimize some objective function. In this case, there is only one machine. The lateness of job j, l(j), is defined as the difference between the completion time of j and its due date d j The maximum lateness L max is the maximum lateness of all jobs. Since the objective function requires the existence of due dates, they are often omitted in the notation, i.e. (1‖L max ) is also a possible description.
[0274] This problem can be solved efficiently by applying the Earliest Due Date Rule (EDD) as a special case of Lawler's algorithm [Lawler (1973): Optimal Sequencing of a single machine subject to precedence constraints, Management Science 19, 544-546]. The correctness of Lawler's algorithm means that the maximum tardiness can be minimized by scheduling the jobs according to their due dates.
[0275] Now, it is explained how to formulate SSP in this way and therefore, for example, how to apply EDD to a technical solution for scheduling the transmission of multiple data streams. The RRs are iterated in increasing order and for each RR on the stage and considering S with fixed stage p R (t), this group is called S R (t,p). Each stream s∈S R (tp) corresponds to job j(s) with duration f(s). All jobs can be scheduled at time 0. Then, the due date is determined
[0276]
[0277] Mathematical requirement: According to d(s) defined above, the lateness of a flow is its (last bit's) arrival time if the flows are sent in the order indicated by the schedule.
[0278] Let jobs j0,…,j n Sort by optimal schedule, and s0,…,s n is the corresponding flow. In the current scheduling problem, the completion time of a job is the sum of the durations of all previously scheduled jobs and the duration of the job itself. Therefore, job j i The lateness is
[0279]
[0280] By definition, this is i Arrival time.
[0281] The mathematical requirement directly implies that, for each RR, the maximum arrival time is minimized. The impact of flows at different RRs on the sending time is determined only by the phase assignment, not by the ordering. Therefore, minimization of the maximum arrival time within each RR and phase is sufficient to minimize it globally.
[0282] In fact, for RRs with at least one "last flow (i.e. a flow that does not delay the sending of any other flow)", it is sufficient to minimize the arrival time in order to minimize the maximum arrival time at the talker. However, we are also interested in solutions that are as resource-efficient as possible. Since scheduling each RR makes the final result more efficient in terms of network resources and sorting at once does not use too many computing resources, the extra effort seems worth it.
[0283] To apply EDD to all RRs and stages, S(t) only needs to be sorted once: by RR, by stage within each RR, and by expiration date within each stage. The required partial order is implicit, and the dispatch time can be computed using this order. Because the sorting takes So the proof ends.
[0284] QED
[0285] It is therefore helpful to note that the runtime bounds refer to the problem as described above, rather than the generation of the input data. Thus, once the input data is available (which is typically the case after stage allocation / phase assignment), we simply show that minimization of travel durations can be performed by a sorting algorithm that is very efficient for practical runtimes on machines such as network scheduling equipment.
[0286] The following conclusions can be drawn from the above.
[0287] According to some embodiments, the numerical optimization is implemented using mixed integer linear programming. This may advantageously allow ensuring that the result of the numerical optimization (i.e. the determined stage) has an optimal value. In addition, this may advantageously facilitate determining the stage in a computationally efficient manner and / or help reduce the amount of energy required to determine the stage, thereby, for example in an industrial environment, reducing cooling requirements. For example, when the method is performed to schedule repeated transmissions of a manufacturing process and the manufacturing process causes particles in the air, such as dust, it may be beneficial to cool the equipment performing the method in a passive manner or at least limit the airflow through the equipment.
[0288] According to some embodiments, the numerical optimization is performed by a network scheduling device, a gateway node or a network controller of a telecommunications network. The advantage of performing the method by a network scheduling device, a gateway node or a network controller may be, in particular, that these can be integrated with a telecommunications network, thereby, for example, increasing the reliability of scheduling. In addition, by performing the method together with a gateway node, by receiving a data transmission on one or more communication interfaces such as a network port, and routing the data transmission to one of the communication interfaces through the gateway node according to the schedule, the gateway node can beneficially schedule data transmission, such as repeated transmission. In addition, combining the method performed by a network scheduling device, a gateway node or a network controller with the use of a mixed integer linear programming or a mixed integer linear solver to implement numerical optimization can collaboratively facilitate the scheduling of transmissions and / or collaboratively allow the reduction of requirements for computing power and / or cooling for network scheduling devices / gateway nodes / network controllers. In addition, by scheduling with a mixed integer linear programming / solver, a higher number of transmissions can be facilitated compared to other optimization techniques. In addition, in the case of limited computing power, a mixed integer linear programming / solver can facilitate meeting certain time constraints and / or facilitate real-time scheduling and / or real-time changes in scheduling (for example, for other repetition rates and / or other initiator nodes or destination nodes).
[0289] According to some embodiments, for at least one phase, at least one group of repetitive transmissions of respective repetitive transmissions of respective data streams of the plurality of data streams are from at least one initiator node, wherein the at least one initiator node is adapted to transmit repetitive transmissions of the at least one group of repetitive transmissions according to their respective phases and respective repetition rates within transmission periods associated with the at least one phase, wherein a transmission order within each of the transmission periods is determined by a transmission order of the at least one group of repetitive transmissions. Furthermore, the method further comprises, after determining the respective phase for each data stream of the plurality of data streams, determining a transmission order of the at least one group of repetitive transmissions by sorting each repetitive transmission of the at least one group of repetitive transmissions based on a comparison function taking into account respective worst-case arrival times of the respective repetitive transmissions.
[0290] According to some embodiments, after assigning a phase to each of the plurality of data flows, a transmission order for at least one initiator node and at least one set of repeated transmissions for at least one phase is determined based on the phase assignment to each of the plurality of data flows.
[0291] According to some embodiments, respective repetitive transmissions of each data stream are scheduled, for example by a scheduling signal sent to at least one or all initiator nodes, wherein the respective repetitive transmissions start at a respective phase allocated to the respective data stream and are repeatedly transmitted after a number of phases equal to the respective repetition rate.
[0292] In some embodiments, wherein respective repetitive transmissions of each data stream are scheduled to begin at respective phases assigned to the respective data streams and to be repeated after a number of phases equal to the respective repetition rate, within each phase, repetitive transmissions from the same initiator node are transmitted according to a transmission order.
[0293] In some embodiments, wherein repeated transmissions from the same initiator node are sent according to a transmission order, the method includes determining a transmission order for at least one initiator node and for at least one phase based on assigning phases to each of the multiple data streams, for example after assigning phases to each of the multiple data streams and / or before scheduling corresponding repeated transmissions of each data stream.
[0294] In some embodiments, wherein repeated transmissions from the same initiator node are transmitted according to a transmission order, the method includes determining, by sorting (e.g., with the aid of a sorting algorithm), a transmission order for at least one initiator node and at least one phase, e.g., for transmissions by at least one initiator node in each transmission period associated with at least one phase, based on a comparison function, e.g., after assigning phases to each of a plurality of data streams and / or before scheduling corresponding repeated transmissions of each of the data streams, the comparison function taking into account worst-case arrival times of repeated transmissions scheduled for transmission by at least one initiator node in at least one phase.
[0295] In some embodiments, wherein for determining a transmission order of repeated transmissions for at least one initiator node in the group of initiator nodes and for at least one phase of a plurality of phases a worst-case arrival time of the repeated transmissions is taken into account, the worst-case arrival time of a current transmission in the repeated transmissions being determined based on an allocation to phases for each of a plurality of data streams and based on a transmission order of other transmissions in the repeated transmissions scheduled for transmission preceding the current transmission, but being independent, for example, of possible further transmission orders for other initiator nodes and / or for other phases.
[0296] In some embodiments, wherein a transmission order of at least one set of repeated transmissions is determined for at least one initiator node and at least one stage, each respective repeated transmission in the at least one set of repeated transmissions is from a respective data stream originating from the at least one initiator node, wherein at least one stage has been assigned to the respective data stream or another stage has been assigned to the respective data stream, such that an integer multiple of the number of the other stages and a respective repetition rate of the respective repeated transmissions is equal to the number of the at least one stage.
[0297] In some embodiments, where a transmission order (e.g., a transmission order of at least one group of repetitive transmissions) is determined for at least one initiator node and at least one phase, the transmission order is determined taking into account an ordering criterion, such as a worst-case arrival time of repetitive transmissions (e.g., at least one group of repetitive transmissions consisting of repetitive transmissions scheduled for transmission) that are scheduled for transmission by the at least one initiator node within the at least one phase according to its phase allocation and repetition rate.
[0298] In some embodiments, wherein a transmission order of at least one set of repeated transmissions for at least one initiator node and at least one stage is determined, the determination of the transmission order includes (e.g., is performed by): sorting the at least one set of repeated transmissions by considering corresponding sequence criteria (e.g., corresponding worst-case arrival time of each repeated transmission in the at least one set of repeated transmissions).
[0299] According to some embodiments, the (respective) order criterion is a criterion related to a worst case estimate (e.g. worst case arrival time). This may advantageously allow determining a transmission order for the initiator node and the phases based on the phase allocation (e.g. taking into account such order criterion), but independently of other phases and / or independently of possible transmission orders for other initiator nodes.
[0300] Within the meaning of the present application, "worst case scenario" may at least refer to an estimation of a scenario, wherein the worst possibility is selected from one or more possibilities, e.g., realizations of a scenario. By such an estimation, it can be advantageously ensured that if a condition or constraint is satisfied in the worst case scenario, it will also be satisfied in all other possible realizations of the scenario. For example, for the worst case delay caused by interference, each possible interference of the corresponding transmission with any other transmission that may eventually interfere (any other transmission is, for example, transmitted within the same phase and shares at least one link or node with the corresponding node) is taken into account, e.g., accumulated. Similarly, the worst case arrival time of a (repeated) transmission, e.g., the transmission arrival time, may be calculated as the sum of the transmission start time and the transmission travel duration and the worst case delay caused by interference, wherein typically the transmission start time is (pre)determined (e.g., determined by the transmission order), and the transmission travel duration is fixed due to the (pre)determined path through the telecommunication network, so that only one possibility and / or the best and worst case scenarios are always represented / realized. In case a transmission can be transmitted along at least two paths, i.e. for the transmission travel duration, the worst case transmission travel duration may also be used, i.e. the path of the at least two paths that results in a longer travel duration. Therefore, the worst case arrival time of a (repeated) transmission of a data stream may also be referred to as the "maximum arrival time", since the worst case arrival time is the maximum of all possible arrival times of the (repeated) transmission, e.g. for a given stage, taking into account any possible interference, whereas in other implementations leading to another possible arrival time, some interference with other transmissions may not occur. Furthermore, the "maximum arrival time" may also refer to the maximum arrival time over all (data) streams, e.g. from one or some or all of the initiator nodes in the group of initiators, wherein the maximum arrival time of all these streams is the maximum of each maximum / worst case arrival time of each (repeated) transmission of these data streams, and may be the maximum of the maximum / worst case arrival times over all stages of a plurality of stages, or, respectively, the maximum of the maximum / worst case arrival times with respect to one of a plurality of stages.
[0301] In some embodiments, wherein the transmission order of at least one set of repetitive transmissions is determined by sorting, the sorting e.g. comprising, consisting of or being performed by sorting and e.g. with the aid of a sorting algorithm, the sorting is based on a comparison function that takes into account respective order criteria, e.g. respective worst-case arrival times of each repetitive transmission in the at least one set of repetitive transmissions.
[0302] According to some embodiments, the method further comprises receiving at least one configuration signal indicating a repetition rate for repeated transmissions of the plurality of data streams.
[0303] According to some embodiments, the at least one value is based on a respective total travel time of respective repeated transmissions of each of the plurality of data streams.
[0304] In some embodiments, where at least one value is based on a corresponding total travel time, the objective function of the numerical optimization further comprises an aggregate total travel time, where the aggregate total travel time is the set of each value of the total travel time. In some implementations, the aggregate total travel time is determined by summing each value of the total travel time, for example, by summing each corresponding total travel time for each data flow. This can advantageously allow (also) optimizing the aggregate total travel time, which can be an indicator of the telecommunications network load caused by the data flow.
[0305] In some embodiments, where at least one value is based on a corresponding total travel time, the numerical optimization considers one or more upper limits selected from the group consisting of worst case travel time, worst case arrival time, worst case delay, and worst case aggregate total travel time. This may be useful to ensure that certain requirements are met. For example, when controlling a manufacturing process based on the schedule provided by the method, it may be required that each repeated transmission be characterized by its destination node within a transmission cycle, for example to ensure a correct feedback loop for the manufacturing process.
[0306] According to some embodiments, the corresponding total travel time depends on one or more transmission delays encountered along the corresponding path, and on the interference between the corresponding repeated transmissions and other repeated transmissions of the multiple data streams. In some implementations, the one or more transmission delays include delays encountered at the cables of the network, the bridges of the network, the switches of the network and / or further delays caused by the transmission medium. In some implementations, the corresponding total travel time for each data stream is determined by summing all one or more transmission delays encountered along the corresponding path, and further summing the interference between the corresponding repeated transmissions and other repeated transmissions of the multiple data streams. In some further implementations, when summing the interference, for each interference occurring between the corresponding repeated transmission and the other repeated transmissions, the data size of the corresponding repeated transmission and the data size of the other corresponding repeated transmissions are determined, wherein for each shared link node, all data sizes are added. In some further modifications, when all data sizes are added, only those data sizes associated with the data streams merged at the corresponding shared link node are considered. Furthermore, in some further modifications, regardless of the data size of the previous transmission link, for the previous transmission link, some merged data streams are transmitted, where the sum of these data sizes has a maximum or minimum value compared to the data sizes from other previous transmission links. This can advantageously allow the interference between the data streams to be considered only when they are merged, because, for example, after merging, these data streams will not further interfere with each other, but will, for example, be arranged so that one of the repeated transmissions of the status stream is transmitted before the repeated transmission of another, thereby (further) mitigating the interference.
[0307] In some embodiments, where the numerical optimization considers one or more upper bounds, the worst case arrival time is determined by a maximum value of each of the respective total travel times including the interference at the respective initiator node.
[0308] In some embodiments, where the numerical optimization considers one or more upper bounds, the worst case delay is determined by the maximum value of each of the respective total travel times excluding interference at the respective transmission node.
[0309] In some embodiments, wherein the numerical optimization considers one or more upper limits, the method further comprises selectively providing a warning signal if the numerical optimization fails to satisfy at least one of the one or more upper limits.
[0310] According to some embodiments, the numerical optimization includes determining at least one value indicating interference for a predetermined number of transmission cycles, and minimizing a set of values indicating interference across the predetermined number of transmission cycles. In some implementations, a worst-case value, such as a value for a worst-case arrival time, a worst-case delay, or a worst-case travel time, or a worst-case total travel time, is determined by selecting a maximum of corresponding values for each transmission cycle. Thus, in some implementations, the worst-case arrival time is determined by selecting an arrival time from the network cycle having the highest value.
[0311] According to some embodiments, at least one value is based on a weighted average of the worst case arrival time and the aggregate total travel time, wherein the aggregate total travel time is a collection of each value of the total travel time. Thus, both the worst case arrival time (e.g., related to the reliability of the network) and the aggregate total travel time (e.g., related to the performance of the network and / or the efficient use of the bandwidth of the telecommunications network) can be advantageously optimized. The advantage of the weighted average can be, in particular, that although the aggregate total travel time generally has a higher value than the worst case arrival time (e.g., when more than one data stream is involved), this can be balanced by the weighted average. Thus, in some implementations, when calculating the weighted average, the worst case arrival time can have a weight that is greater than the weight of the aggregate total travel time, with a coefficient being a count of multiple data streams, such as the number of data streams for which optimization / scheduling is performed. In some further implementations, the coefficient can be greater than the count, which can advantageously allow a higher weight to be given to the worst case arrival time, thereby improving the reliability of the network, such as the reliability of the transmission and arrival of repeated transmissions at the corresponding destination node. In some implementations, one or more additional values, such as a value for a worst-case delay, may be used when calculating the weighted average.
[0312] In some embodiments, where at least one value is based on a weighted average, the numerical optimization takes into account the worst case travel time as at least one of the one or more upper limits. This can advantageously allow several values, such as values used when determining (e.g., calculating) the weighted average, such as the worst case arrival time, the aggregate total travel time, and / or the worst case delay to be optimized simultaneously, while ensuring that the worst case travel time remains below or at the upper limit, thereby, for example, facilitating deterministic scheduling and improving the reliability of the telecommunications network.
[0313] According to some embodiments, the respective repetition rate of the respective repeated transmissions of each of the plurality of data streams is an integer power of 2. Furthermore, in some implementations, wherein at least one value indicative of interference is determined for a predetermined number of transmission cycles, the predetermined number being a maximum value of the repetition rate. An advantage of the repetition rate being an integer power of 2 may be, in particular, that the overall transmission of the repeated transmissions is cycled after a number of cycles of the least common multiple of the repetition rates, wherein if the repetition rates are all integer powers of 2, the least common multiple is equal to the maximum value of the repetition rates. Thus, this may advantageously allow simplifying the determination of the number of required transmission cycles for which at least one value must be determined and / or allow reducing the computational requirements, since (in general) the maximum value rises slower (and at least not faster) than the least common multiple.
[0314] According to some embodiments, the respective repetition rate of the respective repeated transmission of each of the plurality of data streams has valid values in the range of 0 to 5000 or in the range of 1 to 3000 or in the range of 1 to 512. An advantage of one of the valid values being 0 may be, in particular, that the data streams whose repetition rate is set to 0 may be (temporarily) excluded from the transmission. An advantage of one of the valid values being 1 may be, in particular, that the data streams whose repetition rate is set to 1 may be configured to be transmitted for each transmission cycle. An advantage of valid values having a fixed upper limit (e.g. 512, 3000 or 5000) may be, in particular, that the repetition rate may be represented by a fixed size digital representation of an integer value, whereby (e.g. with limited computing power) it may be facilitated, for example, to implement at least one or said numerical optimization performed by a node of the telecommunication network. The advantage of a valid value range of up to, for example, 512, 3000 or 5000 may be, in particular, that this may help to select a suitable repetition rate and / or that this may provide, for example, scalability for initiator nodes, for example for initiator nodes that have to send data very frequently, for example every or every two network cycles, for example initiator nodes that provide control data or sensor data in a closed-loop control, and for example for initiator nodes that have to send data infrequently, for example every 256, 512 or 1024 network cycles, for example initiator nodes that provide relatively (with respect to the time interval of the network cycles) slowly changing information, for example the (volumetric) temperature of a manufacturing device, whereby the bandwidth of, for example, a telecommunications network may be utilized more efficiently.
[0315] According to some embodiments, the respective repetition rate of the respective repeated transmissions of each of the plurality of data streams is an integer power of 2, wherein the upper limit of the valid value is also an integer power of 2. In some implementations, the upper limit of the valid value is 128, 256, 512 or 1024. This advantageously allows each respective repetition rate to be represented by, for example, an integer data type (thus simplifying the implementation) and / or by a fixed number of bits, so that the bandwidth of the telecommunication network and / or the memory of a device (e.g. a node of the network) performing the method or at least performing at least one numerical optimization / the numerical optimization can be utilized more efficiently.
[0316] According to some embodiments, the respective repetition rate of the respective repeated transmissions of each of the plurality of data streams is an integer power of 2, having valid values between and including 1 and 512 (eg, 1, 2, 4, ..., 256, 512).
[0317] According to some embodiments, the telecommunication network has a tree topology.In addition, the respective path is uniquely determined based on the respective initiator node and the respective destination node of each of the plurality of data flows.
[0318] According to some embodiments, the method also includes receiving at least one configuration signal from at least one initiator node, the at least one initiator node being adapted to send corresponding repeated transmissions of at least one of the multiple data streams, wherein the at least one configuration signal indicates at least one of the multiple data streams, at least one initiator node and at least one destination node, the at least one destination node being adapted to receive corresponding repeated transmissions of at least one of the multiple data streams.
[0319] According to some embodiments, the method further comprises establishing topology data indicative of a topology of the telecommunications network.
[0320] In some embodiments, wherein at least one initiator node and at least one destination node are established (e.g. by receiving at least one configuration signal) and wherein topology data indicative of a topology of the telecommunications network is established, the method further comprises determining a respective path or a further respective path from the at least one initiator node to the at least one destination node for at least one of the plurality of data flows. This may advantageously facilitate the use of alternative routes (e.g. further paths) to mitigate interference, whereby the respective total travel time and / or the worst case arrival time may be (further) reduced.
[0321] According to some embodiments, the method further comprises receiving at least one configuration signal, for example from a node of the telecommunication network, wherein the configuration signal indicates the respective path.This may be advantageous for defining the path deterministically.
[0322] An advantage of receiving a configuration signal (e.g. at least one configuration signal indicating a corresponding repetition rate or all repetition rates or, for example, at least one configuration signal indicating at least one initiator node and at least one destination node) is that in particular the scheduling provided by the method can be dynamically adjusted, thereby increasing the flexibility of the scheduling.
[0323] In some embodiments, dynamic adjustment of the schedule is synergistically combined with providing a warning signal if one or more upper limits are not met. This can beneficially improve the reliability of the schedule, even when the schedule is dynamically adjusted.
[0324] According to some embodiments, for each of the plurality of data streams, a respective repetition transmission is scheduled to start at a transmission period of a transmission period associated with the respective phase and to be repeatedly transmitted within a respective time interval between starts of adjacent repetition transmissions of the respective repetition transmissions, wherein the respective time interval is determined by multiplying a predetermined time length of the transmission period by a respective repetition rate of the respective repetition transmission. Furthermore, interference between the plurality of data streams further depends on the respective repetition rate.
[0325] According to some embodiments, the method further comprises receiving at least one configuration signal from at least one initiator node adapted to send respective repeated transmissions of at least one data stream of the plurality of data streams, wherein the at least one configuration signal indicates a respective repetition rate of the respective repeated transmissions.
[0326] According to some embodiments, the at least one value indicative of interference depends on a predetermined number of transmission cycles.
[0327] According to some embodiments, for each respective shared transmission link of the plurality of shared transmission links, the at least one value indicative of interference depends on respective interference between two or more repeated transmissions of the plurality of data streams at the respective shared transmission link.
[0328] According to some embodiments, for each data stream of the plurality of data streams (210), the telecommunications network comprises at least one respective path through the telecommunications network, the respective path being used for respective repeated transmissions of the respective data stream.
[0329] According to some embodiments, the method further comprises determining a plurality of shared transmission links based on a comparison between each at least one corresponding path of each of the plurality of data flows, wherein each shared transmission link is part of at least two paths.
[0330] According to some embodiments, the method further comprises, for each path and at each shared transmission link of the plurality of shared transmission links, determining a respective count of repeated transmissions from one of the paths merged with at least one other path at the respective shared transmission link. Furthermore, in some implementations, for each respective shared transmission link of the plurality of shared transmission links, at least one value indicative of interference depends on a respective count of one of the paths merged at the respective shared transmission link.
[0331] According to some embodiments, for each respective shared transmission link, the at least one value indicative of interference depends on a sum of all respective counts at the respective shared transmission link except for the respective count having a minimum value of these respective counts.
[0332] According to some embodiments, the at least one value indicative of interference is a maximum value of each of the sums of respective counts across a plurality of shared transmission links and across a predetermined number of transmission periods.
[0333] According to some embodiments, the method further comprises receiving at least one configuration signal from at least one initiator node, the at least one initiator node being adapted to send respective repeated transmissions of at least one of the plurality of data streams, wherein the at least one configuration signal indicates at least one of the plurality of data streams, at least one initiator node, and at least one destination node being adapted to receive respective repeated transmissions of at least one of the plurality of data streams. Furthermore, the method comprises determining at least one respective path from the at least one initiator node to the at least one destination node for at least one of the plurality of data streams.
[0334] According to some embodiments, the telecommunication network has a tree topology. Furthermore, the method comprises establishing topology data indicating the tree topology of the telecommunication network, wherein at least one corresponding path is determined based on at least one initiator node, at least one destination node and the topology data.
[0335] According to some embodiments, the at least one configuration signal indicates at least one respective path through the telecommunications network.
[0336] According to some embodiments, the method further comprises determining whether the at least one optimization satisfies one or more upper limits, the one or more upper limits being selected from the group consisting of: worst case interference at any one of the plurality of shared transmission links and worst case total interference. Furthermore, the method further comprises, if the at least one optimization fails to satisfy at least one of the one or more upper limits, selectively establishing topology data indicative of a topology of the telecommunications network. Furthermore, the method further comprises determining another corresponding path from the at least one initiator node to the at least one destination node based on the topology data. Furthermore, the method further comprises determining, for each of the plurality of data flows, a respective phase of a respective repeated transmission based on the at least one optimization and based on the another corresponding path.
[0337] According to some embodiments, at least one optimization is implemented based on numerical optimization, for example, numerical optimization according to the first aspect of the present invention. Accordingly, the numerical optimization can be further implemented according to aspects, (exemplary) embodiments, implementations, advantageous modifications, further modifications and further improvements (also) related to at least one optimization.
[0338] According to some embodiments, at least one corresponding path is determined based on at least one initiator node, at least one destination node and topology data, or wherein the configuration signal indicates the at least one path.
[0339] According to some embodiments, at least one optimization has another objective function comprising another value indicative of total interference, wherein the total interference is a set of values indicative of interference at each of the plurality of shared transmission links and across a predetermined number of transmission periods.
[0340] According to some embodiments, the network scheduling device includes or consists of a gateway node.
[0341] Alternatively, according to some embodiments, the network scheduling device includes or consists of a network controller.
[0342] Although the present invention has been shown and described with respect to certain preferred embodiments, equivalents and modifications will occur to others skilled in the art upon reading and understanding the specification. The present invention includes all such equivalents and modifications, and is limited only by the scope of the appended claims.< / n> < / y> < / n> < / y> < / n> < / y>
Claims
1. A computer-implemented method for scheduling transmission of a plurality of data streams in a telecommunications network, wherein the transmissions are divided into transmission periods, the transmission periods having a predetermined time length, and wherein respective repeated transmissions of each of the plurality of data streams are transmitted at time intervals determined by multiplying the predetermined time length of the transmission period by a respective repetition rate of the respective repeated transmissions, wherein the repetition rate refers to how many transmission periods a repeated transmission is repeated, the method comprising: - determining, for each data flow of the plurality of data flows, a respective path through the telecommunications network for a respective repeated transmission of the respective data flow; - determining a plurality of shared transmission links based on a comparison of paths through the network, wherein each shared transmission link is part of at least two of the paths; - determining, for each of the plurality of data streams, a respective phase of a respective repetitive transmission based on a numerical optimization having an objective function comprising at least one value indicating interference between two or more repetitive transmissions of the plurality of data streams; and - scheduling a respective repetitive transmission of each of the plurality of data streams, wherein the respective repetitive transmission starts at a transmission period associated with the respective phase. 2 . The method of claim 1 , wherein the numerical optimization is implemented using mixed integer linear programming and is performed by a gateway node of the telecommunications network.
3. The method according to claim 1, in, for at least one phase, at least one group of repetitive transmissions of respective repetitive transmissions of respective data streams of the plurality of data streams is from at least one initiator node, wherein the at least one initiator node is adapted to transmit repetitive transmissions of the at least one group of repetitive transmissions in a transmission period associated with the at least one phase according to its respective phase and a respective repetition rate, wherein a transmission order within each of the transmission periods is determined by a transmission order of the at least one group of repetitive transmissions; The method further includes: after determining the corresponding stage for each of the multiple data streams, determining the transmission order of the at least one group of repeated transmissions by sorting each of the at least one group of repeated transmissions based on a comparison function, wherein the comparison function takes into account the corresponding worst-case arrival time of the corresponding repeated transmissions.
4. The method according to any one of claims 1 to 3, further comprising: - receiving at least one configuration signal, the at least one configuration signal indicating a repetition rate for repeated transmission of the plurality of data streams.
5. The method according to any one of claims 1 to 3, wherein the at least one value is based on a respective total travel time of respective repeated transmissions of each of the plurality of data streams. The method according to claim 5 , wherein the objective function of the numerical optimization further includes an aggregate total travel time, the aggregate total travel time being an aggregate of each value of the total travel time.
7. The method of claim 5, wherein the numerical optimization considers one or more upper limits selected from the group consisting of: Worst case travel time, worst case arrival time, worst case delay, and worst case combined total travel time.
8. The method according to claim 7, wherein: The respective total travel time depends on one or more transmission delays encountered along the respective path and on interference between respective repeated transmissions of the plurality of data streams and other repeated transmissions; The worst case arrival time is determined by a maximum value of each of the respective total travel times including interference at the respective initiator node; and The worst case delay is determined by the maximum value of each of the respective total travel times excluding interference at the respective transmission nodes.
9. The method according to claim 7 or 8, further comprising: If the numerical optimization fails to meet at least one of the one or more upper limits, a warning signal is selectively provided.
10. The method according to any one of claims 1 to 3, wherein: The numerical optimization includes determining at least one value indicative of interference for a predetermined number of transmission periods and minimizing a set of values indicative of interference across the predetermined number of transmission periods.
11. The method of claim 10, wherein a respective repetition rate of respective repeated transmissions of each of the plurality of data streams is an integer power of 2, and wherein the predetermined number of transmission cycles is a maximum value of the repetition rate.
12. The method according to any one of claims 1 to 3, wherein the telecommunication network has a tree topology, and wherein for each of the plurality of data flows, a respective path is uniquely determined based on a respective initiator node and a respective destination node.
13. The computer-implemented method of any one of claims 1 to 3, further comprising: - receiving at least one configuration signal from at least one initiator node, the at least one initiator node being adapted to transmit respective repetitive transmissions of at least one data stream of the plurality of data streams, wherein the at least one configuration signal indicates at least one data stream of the plurality of data streams, the at least one initiator node and at least one destination node, the at least one destination node being adapted to receive respective repetitive transmissions of at least one data stream of the plurality of data streams; - establishing topology data indicative of the topological structure of the telecommunications network; and - determining a respective path or a further respective path from the at least one initiator node to the at least one destination node for at least one data flow of the plurality of data flows.
14. The computer implemented method of any one of claims 1 to 3, wherein the telecommunications network is a time sensitive network.
15. A gateway node for a telecommunications network, comprising data processing equipment, the data processing equipment being adapted to: - determining, for each data flow of the plurality of data flows, a respective path through the telecommunications network for a respective repeated transmission of the respective data flow; - determining a plurality of shared transmission links based on a comparison of paths through the network, wherein each respective shared transmission link is part of at least two paths; - determining, for each of the plurality of data streams, a respective phase of a respective repetitive transmission based on a numerical optimization having an objective function comprising at least one value indicating interference between two or more repetitive transmissions of the plurality of data streams; and - scheduling a respective repetitive transmission of each of the plurality of data streams, wherein the respective repetitive transmission starts at a transmission period associated with the respective phase.
Citation Information
Patent Citations
Method For Performing Random Access At Adaptive Transmission Point In Wireless Communication System That Uses Mmwave Band
CN107683627A
Method for selecting repeated transmission number for narrowband Internet of Things system
CN108923885A
Method and circuit for the transmission of at least two binary data streams over a multiplex transmission section
EP0178548A1
Enhance communication of network traffic
EP3417576A1
Transmission method of OFDM signals and retransmission method thereof
JP2007259226A