CN114830609A - 调度通过电信网络的传输 - Google Patents
调度通过电信网络的传输 Download PDFInfo
- Publication number
- CN114830609A CN114830609A CN201980103119.2A CN201980103119A CN114830609A CN 114830609 A CN114830609 A CN 114830609A CN 201980103119 A CN201980103119 A CN 201980103119A CN 114830609 A CN114830609 A CN 114830609A
- Authority
- CN
- China
- Prior art keywords
- transmission
- phase
- data stream
- data
- initiator node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 536
- 239000003999 initiator Substances 0.000 claims abstract description 262
- 238000000034 method Methods 0.000 claims description 134
- 238000012545 processing Methods 0.000 claims description 14
- 230000001186 cumulative effect Effects 0.000 claims description 12
- 230000003252 repetitive effect Effects 0.000 claims description 5
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 description 15
- 230000004048 modification Effects 0.000 description 15
- 238000012804 iterative process Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000001934 delay Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000000819 phase cycle Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/801—Real time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/826—Involving periods of time
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及调度通过电信网络的多个数据流的传输。通过调度,根据相应重复率,在多个阶段中的一个或多个阶段中,从发起者节点发送多个数据流中的每个数据流的相应重复传输。从发起者节点组中选择第一发起者节点。在迭代多个数据流中的数据流时,该数据流的重复传输是从发起者节点组的所选择的发起者节点发送的,在迭代的每次迭代中,基于选择标准从来自所选择的发起者节点的数据流中选择数据流,其中在每次迭代中,基于分配标准将多个阶段中的阶段分配给所选择的数据流,该分配标准考虑了先前选择的数据流及其对相应阶段的分配。
Description
技术领域
本发明涉及电信网络领域,更具体地说,本发明涉及一种用于调度通过电信网络的多个数据流的传输的计算机实现的方法、另一种计算机实现的方以及一种用于电信网络的网络调度设备。
背景技术
目前,有一种趋势是也使用电信网络用于传输时间关键的数据。虽然电信网络用于许多不同的应用,但一些应用、例如工业领域或车辆控制领域中的应用,需要在一定的时间约束内传输数据。通常,在工业制造环境中,提供用于控制制造过程的单独的电信网络,该电信网络与另外的电信网络分开,该另外的电信网络用于另外的数据传输,该另外的数据传输不是时间关键的或者对于制造过程不是关键的,例如用于办公室通信或过程规划的数据通信不是关键的,该另外的电信网络通常需要更高的带宽,但不需要时间约束或至少时间约束不太严格。
对于允许在一定时间约束内传输数据的电信网络,已经开发了几种硬实时或软实时技术,例如EtherCat或ProfinetIRT。然而,使用基于不同标准的多个电信网络可能导致网络的碎片化。另一方面,对于不同的应用,使用一个允许硬实时或软实时数据通信的电信网络可能会增加网络的(所有)节点的总成本和/或要求。
发明内容
需要改进在特定时间约束内通过电信网络传输数据的可靠性和/或减少对这样的电信网络的节点的要求,该电信网络允许在特定时间约束内的数据传输(例如通过电信网络传输数据),其中例如对在一定时间限制内进行数据传输没有要求或有较低要求的电信网络节点,必须满足较少的或者甚至不需要满足(特殊)要求,例如除了根据诸如某些以太网标准的通信标准之外。
这一要求通过每个独立权利要求的教导、特别是通过一种用于调度多个数据流的传输的计算机实现的方法,通过另一种用于调度多个数据流的传输的计算机实现的方法,以及通过一种网络调度设备来满足。具体地,通过从属权利要求书的教导提供了各种实施例、实现、有利的修改、进一步的修改和进一步的改进。
本发明的第一方面涉及一种用于调度通过电信网络的多个数据流的传输的计算机实现的方法。通过调度,电信网络被配置为,使得根据相应重复传输的相应重复率,在多个阶段中的一个或多个阶段中,从发起者节点组中的发起者节点发送多个数据流中的每个数据流的相应重复传输。该方法包括从发起者节点组中选择第一发起者节点。该方法还包括迭代多个数据流中的数据流,这些数据流的重复传输是从发起者节点组的所选择的发起者节点发送的,其中在迭代过程的每次迭代中,基于选择标准从来自所选择的发起者节点的数据流中选择数据流,并且其中在每次迭代中,基于分配标准将多个阶段中的阶段分配给所选择的数据流,该分配标准考虑了先前选择的数据流及其对相应阶段的分配。此外,根据相应阶段来调度每个数据流的相应重复传输。
根据针对多个数据流中的每个数据流的每个相应重复传输的相应阶段来调度相应重复传输的优点尤其可以是,该调度是确定性的调度,由此可以提高数据传输和/或通过电信网络(例如从发起者节点到例如目的地节点)发送重复传输的可靠性。此外,例如,确定性的调度可以有助于保证在某些时间约束内、例如在重复传输的数据的预定最大到达时间或与阶段相关联的预定数量的传输周期内的数据传输(例如,通过在发起者节点处的重复传输之一和在目的地节点处的重复传输的到达来传输数据)。
基于分配标准(该分配标准考虑了先前选择的数据流及其对相应阶段的分配)迭代地分配相应阶段的优点特别是,相应选择的数据流和先前选择的数据流可以以计算效率的方式分布在多个阶段上(例如,根据实现,按照顺序O(n^2),或O(N*P),或O(N*log(P)),其中N是数据流的数量,P是阶段的数量)和/或具有预定的/确定的运行时间,由此,例如,可以以更效率的方式利用电信网络的带宽和/或处理时间,从而可以避免由于一个阶段内的大量重复传输或大量数据传输而不满足时间约束(而在其他阶段中,重复传输的数量或通过这些重复传输传输的数据量较低)和/或使得带宽和/或处理时间保留用于其他数据传输,例如具有比数据流的重复传输更低优先级的数据传输。此外,计算效率可以有助于在具有有限计算资源的网络调度设备、诸如网关节点或网络控制器中实现计算机实现的方法和/或通过该网络调度设备执行计算机实现的方法,由此例如针对计算机实现的方法适配电信网络和/或使用这样的调度操作电信网络可以得到简化。
通过基于选择标准迭代地选择相应数据流,当迭代地将阶段分配给数据流时,可以考虑传输顺序,从而可以同时确定给数据流的阶段分配和传输顺序(例如初步或最终的传输顺序)。此外,传输顺序可能会影响用于阶段分配的解决方案,反之亦然,因此,同时确定两者可以改进用于阶段分配和/或传输顺序的解决方案,由此,例如可以满足通过重复传输进行的数据传输的某些时间约束,和/或为其他数据传输保留电信网络的(更多)带宽和/或处理时间。
本发明的第二方面涉及一种用于调度通过电信网络的多个数据流的传输的另外的的计算机实现的方法。通过所述调度,电信网络被配置为,使得根据相应重复传输的相应重复率,在多个阶段中的一个或多个阶段中,从发起者节点组中的发起者节点发送多个数据流中的每个数据流的相应重复传输。进一步的方法包括为多个数据流中的每个数据流确定阶段分配,其中将多个阶段中的相应阶段分配给多个数据流中的每个相应数据流。进一步的方法还包括:在为多个数据流中的每个数据流分配阶段之后,基于对多个数据流中的每个数据流的阶段分配,确定针对发起者节点组中的至少一个发起者节点和针对多个阶段中的至少一个阶段的至少一组重复传输的传输顺序。
结合本发明的第一方面详细描述的实施例、实现、有利修改、进一步修改和进一步改进以及潜在的好处和优点也相应地应用于根据本发明的网络调度设备。因此,根据一些实施例,通过执行根据本发明的第一方面的方法来确定阶段分配。同样地,在根据本发明的第一方面的一些实施例中,通过根据本发明的第二方面的另外的方法来确定传输顺序。这可以协同地允许进一步改进传输的调度,其中,例如在阶段分配期间,根据本发明的第一方面的一些实施例,当向数据流分配阶段时确定初步的传输顺序,其中根据本发明的第二方面的一些实施例,传输顺序进一步优化,例如通过排序。
本发明的第三方面涉及一种用于电信网络的网络调度设备,其中根据相应重复传输的相应重复率,在多个阶段中的一个或多个阶段中,从电信网络的发起者节点组中的发起者节点发送多个数据流中的每个数据流的相应重复传输。网络调度设备包括数据处理设备,该数据处理设备适于从发起者节点组中选择第一发起者节点。该数据处理设备还适于迭代多个数据流中的数据流,这些数据流的重复传输是从发起者节点组中的所选择的发起者节点发送的。此外,该数据处理设备适于在每次迭代时并且基于选择标准,从来自所选择的发起者节点的数据流中选择数据流。此外,该数据处理设备适于,在每次迭代时,基于考虑了先前选择的数据流及其对相应阶段的分配的分配标准,将多个阶段中的阶段分配给所选择的数据流。此外,根据相应阶段来调度每个数据流的相应重复传输。
结合本发明的前述方面详细描述的实施例、实现、有利修改、进一步修改和进一步改进以及潜在的好处和优点也相应地应用于根据本发明的网络调度设备。因此,根据一些实施例,网络调度设备适于执行根据本发明的第一或第二方面的方法,或者分别地,由根据本发明的第三方面的网络调度设备执行根据本发明的第一/第二方面的方法的一些实施例。
本发明的另一个方面涉及一种用于电信网络的另外的的网络调度设备,其中,根据相应重复传输的相应重复率,在多个阶段中的一个或多个阶段中,从电信网络的发起者节点组中的发起者节点发送多个数据流中的每个数据流的相应重复传输。该网络调度设备包括数据处理设备,该数据处理设备适于确定对多个数据流中的每个数据流的阶段分配,其中多个阶段中的相应阶段被分配给多个数据流中的每个相应数据流。该数据处理设备还适于在向多个数据流中的每个数据流分配阶段之后,基于对多个数据流中的每个数据流的阶段分配,确定针对发起者节点组中的至少一个发起者节点和针对多个阶段中的至少一个阶段的至少一组重复传输的传输顺序。
结合本发明的前述方面详细描述的实施例、实现、有利修改、进一步修改和进一步改进以及潜在的好处和优点也相应地应用于根据本发明的另外的网络调度设备。因此,根据一些实施例,另外的网络调度设备适于执行根据本发明的第一或第二方面的(另外的)方法,或者分别地,由根据本发明的另一个方面的另外的网络调度设备执行根据本发明的第一/第二方面的方法的一些实施例。
以上概述仅旨在给出对一些实施例和实现的一些特征的简要概述,并且不应被解释为是限制的。其它实施例可以包括与上述特征不同的其它特征。
附图说明
从以下对示例性实施例的详细描述和附图中,本公开的上述和其他实施例、有利的修改、进一步的改进、元件、特征、步骤和特性将更加明显。当未另作说明或根据上下文另作说明时,类似的附图标记指示示例性实施例和整个附图中的相应装置、元件或特征。
图1示意性示出了在具有电信网络的场景中根据实施例的网络调度设备。
图2示意性地说明了具有另外的电信网络的场景。
图3示意性地示出了具有图1的电信网络的场景的干扰矩阵,用于阐明根据实施例的用于调度多个数据流的传输的计算机实现的方法。
图4表示根据实施例的计算机实现的方法的流程图。
图5示意性示出了根据图3的场景的一些数据流的实施例的阶段分配结构。
图6示意性示出了用于图3的场景的阶段分配结构。
图7示意性示出了将传输划分为传输周期以及将每个传输周期与阶段循环关联。
具体实施方式
下面参考附图详细描述本发明的各种实施例。应理解,以下对实施例的描述不应在限制意义上进行理解。本发明的范围不由以下描述的实施例或附图来限制,这些实施例或附图仅被视为是说明性的。
这些附图应被视为图中所示的示意性表示和元件,它们不一定是按比例示出的。相反,示出各种元件使得它们的功能和它们的一般目的对于本领域技术人员来说变得显而易见。在图中示出或在此描述的功能块、设备、组件或其他物理或功能单元之间的任何连接或耦合也可以被实现为间接连接或耦合。组件之间的耦合可以通过无线连接建立。功能块可以以硬件、固件、软件或其组合来实现。
图1结合电信网络100示意性地示出了根据本发明的实施例的网络调度设备300。此外,根据本发明的一些实施例,电信网络100或其部分还可以是例如包括电信网络的一个或多个发起者节点和网络调度设备的系统,该网络调度设备适于调度来自发起者节点的数据传输。
在示例性实施例中,网络调度设备300包括至少一个通信接口320,用于提供对电信网络100中的多个数据流的传输的调度。此外,网络调度设备300包括适于确定调度的数据处理设备340。
在示例性实施例中,电信网络100包括发起者节点122、124的组120和目的地节点140、142、144、146、148,其中发起者节点122、124经由网络链路150、152、154、156、158、160、162、164、166、168、170和电信网络100的另外的网络节点130、132、134、136、138数据连接到目的地节点140、142、144、146、148。在一些实现中,一个或多个发起者节点120是工业设备,例如用于制造过程的工业设备,例如CNC机器、机器人、传送带、灯或风车。在一些实现中,目的地节点140-148中的一个或多个是工业设备,例如用于制造过程的工业设备,例如CNC机器、机器人、传送带、灯或风车。在一些实现中,一个或多个发起者节点120和一个或多个目的地节点140-148是工业设备,例如用于制造过程的工业设备,例如CNC机器、机器人、传送带、灯或风车。在一些实现中,发起者节点120的第一工业设备适于经由电信网络100(例如经由一些网络节点130-138和网络链路150-170)来控制目的地节点140-148的第二工业设备。此外,第二工业设备可以适于经由电信网络100向第一工业设备提供传感器信号(例如针对用于控制第二工业设备的反馈回路)。因此,例如关于传感器信号,第一和第二工业设备关于电信网络100改变角色,其中,当提供传感器信号时,第二工业设备是发起者节点,而第一工业设备是目的地节点。
在示例性实施例中,其中发起者节点组120经由网络链路150-170数据连接到目的地节点140-148,电信网络100还包括另外的网络节点130-138,这些网络节点分别适于提供网络链路150-170中的两个或更多个网络链路之间的数据连接。在一些实现中,另外的网络节点130-138中的网络节点包括网关节点或由网关节点组成。
在示例性实施例中,电信网络100是有线网络。此外,在一些实现中,电信网络100根据诸如IEEE802.3的以太网标准。此外,在一些实现中,一些(另外的)网络节点是网关节点。对于根据以太网标准的网络,在一些实现中,网关节点被实现为网络交换机。
在示例性实施例中,发起者节点组120的第一发起者节点122通过经由电信网络100的路径数据连接到目的地节点140。如图1所示,路径包括网络链路150和网络链路152,并且还包括网络节点130,其中网络节点130适于提供网络链路150与网络链路152之间的数据连接,并且其中第一发起者节点122经由网络链路150数据连接到网络节点130,而网络节点130经由网络链路152数据连接到目的地节点140。
同样地,第一发起者节点122通过经由电信网络100的路径数据连接到目的地节点142,该路径包括网络链路150、网络节点130、网络节点132以及网络链路158,该网络节点132经由该路径的网络链路154数据连接到网络节点130。
如图1所示,网络链路150是将第一发起者节点122连接到目的地节点140的路径的一部分,并且作为将第一发起者节点122连接到目的地节点142的路径的一部分。因此,网络链路150是共享网络链路。
此外,第一发起者节点122同样经由包括另外的网络节点130、132、134和网络链路150、154、160、162的路径数据连接到目的地节点144。此外,第一发起者节点122经由包括另外的网络节点130、132、134、136和网络链路150、154、160、164、166的路径数据连接到目的地节点146。此外,第一发起者节点122经由包括另外的网络节点130、132、134、136、138和网络链路150、154、160、164、168、170的路径数据连接到目的地节点148。
同样地,发起者节点组120的第二发起者节点124通过经由电信网络100的路径数据连接到目的地节点140。如图1所示,该路径包括网络链路156、网络链路154和网络链路152,并且还包括网络节点130和132,其中网络节点132适于提供从网络链路156到网络链路154的数据连接,并且网络节点130适于提供从网络链路154到网络链路152的数据连接,并且其中第二发起者节点124经由网络链路156数据连接到网络节点132,而网络节点130经由网络链路152数据连接到目的地节点140。
从图1中可以看出,网络链路154适于提供从网络节点130到网络节点132的数据连接(例如用于将第一发起者节点122数据连接到目的地节点142的路径),并且适于提供从网络节点132到网络节点130的数据连接(例如用于将第二发起者节点124数据连接到目的地节点140的路径)。在一些实现中,在一个方向上(例如从网络节点130到网络节点132)的传输可能影响在另一个方向上(例如从网络节点132到网络节点130)的传输。在这样的实现中,网络链路154可以适于和/或可以在半双工模式下操作,其中(特别是)数据在一个时间仅被传输到所述方向中的一个,而在另一个时间,数据可以被传输到相应的相反方向。在这样的实现中,网络链路154是关于包括该网络链路的路径的共享网络链路,例如,即使路径将网络链路用于不同的方向。在一些实现中,网络链路可以适于全双工模式和/或可以在全双工模式下操作,其中沿着该网络链路在一个方向上的数据传输不会或至少不会显著影响数据传输到另一个方向,例如相反方向。在这样的实现中,关于包括/使用该网络链路用于两个不同的数据传输方向的两个路径,该网络链路不是共享网络链路。
此外,第二发起者节点124同样经由包括网络节点132和网络链路156和158的路径数据连接到目的地节点142,其中网络节点132还适于提供从网络链路156到网络链路158的数据连接。此外,第二发起者节点124经由包括另外的网络节点132、134和网络链路156、160、162的路径数据连接到目的地节点144。此外,第二发起者节点124经由包括另外的网络节点132、134、136和网络链路156、160、164、166的路径数据连接到目的地节点146。此外,第二发起者节点124经由包括另外的网络节点132、134、136、138和网络链路156、160、164、168、170的路径数据连接到目的地节点148。
从图1中可以看出,网络链路160是从第一发起者节点122到目的地节点144的路径的一部分,并且作为从第二发起者节点124到目的地节点144的路径的一部分,其中对于这两个路径,网络链路160适于提供从网络节点132到网络节点134的数据连接,并且因此用于在相同方向上(例如从网络节点132到网络节点134)的数据传输。因此,网络链路160是共享网络链路,例如也用于具有半双工模式的实现以及具有由网络链路160提供的全双工模式的实现。同样地,网络链路152、156、158、162、164、166、168、170是关于包括它们的相应路径的共享网络链路。
在示例性实施例中,网络调度设备300适于借助通信接口320和电信网络100(例如通过提供调度信号)至少向发起者节点组120提供传输的调度。在一些实现中,网络调度设备300经由电信网络100直接数据连接到发起者节点组。这可以有利地允许将电信网络100用于发起者节点与目的地节点之间的数据传输,以及网络调度设备300与(至少)发起者节点组之间的数据传输(即,特别是用于调度),从而可以降低包括电信网络100的网络结构的复杂性。
在一些实现中,网络调度设备300包括网关节点或由网关节点组成。
在示例性实施例中,如图1所示,网络调度设备300适于通过通信接口320并且通过附加网络或通信路径(即通过提供调度信号)至少向发起者节点组120提供传输的调度。在一些实现中,网络调度设备300经由电信网络100间接地数据连接到发起者节点组的数据,或者网络调度设备300单独数据连接到多个发起者节点。在一些这样的实现中,附加网络或通信路径可以是无线通信路径。替换地,在一些这样的实现中,附加网络或通信路径可以是附加的有线网络。这可以有利地允许将发起者节点与目的地节点之间的数据传输与网络调度设备300和(至少)发起者节点组之间的(即特别是用于调度的)数据传输分开,由此可以减少电信网络100上的负载和/或减轻潜在的干扰。
在一些实现中,网络调度设备300是网络控制器。
在图2中示出了另外的电信网络102。此外,根据本发明的一些实施例,电信网络102或其部分还可以是例如包括电信网络的一个或多个发起者节点和网络调度设备或网关节点的系统,网络调度设备或网关节点适于调度来自发起者节点的数据传输。
在示例性实施例中,电信网络102类似于电信网络100,电信网络100已经参考图1进行了描述。电信网络102也包括发起者节点122、124的组120、目的地节点140-148和网络节点130-138以及网络链路150-170。此外,电信网络102包括网络链路172,其中网络节点130和网络节点138经由网络链路172数据连接。
从图2中可以看出,网络节点130和网络节点138也经由网络链路154、160、164、168数据连接。在一些实现中,网络链路172可以被实现为适于从网络节点130向网络节点138发送数据的单向网络链路,但不能在相反的方向上,或者反之亦然。因此,结合网络链路154、160、164、168,电信网络102可以包括沿着网络链路154、160、164、168和172的环形结构。在一些替换实现中,网络链路172可以被实现为双向网络链路,例如具有全双工或半双工模式。因此,对于从第一发起者节点122到目的地节点148的数据连接,存在通过如下电信网络102的路径,该电信网络包括网络链路150、网络节点130、网络链路172、网络节点138和网络链路170,并且存在通过如下电信网络102的路径,该电信网络包括网络链路150、网络节点130、网络链路154、网络节点132、网络链路160、那里的网络节点134、网络链路164、那里的网络节点136、网络链路168、网络节点138和网络链路170的。因此,电信网络102包括环路,该环路例如包括网络链路172、168、164、160和154。
与电信网络102相比,图1的电信网络100不包括环路和/或具有树型拓扑结构。此外,对于具有树型拓扑结构的电信网络,其节点/网络节点中的两个之间的路径(例如从发起者节点到目的地节点)是唯一的。因此,这两个节点之间的路径可以基于指示这两个节点的数据(例如配置信号)明确地确定。对于不具有树型拓扑结构并且例如具有诸如电信网络102的环路的电信网络,可以存在从该电信网络的一个节点到该电信网络的另一个节点的多个路径。
在图3中示意性示出了参照图1描述的电信网络100的场景的干扰矩阵,以阐明根据本发明的实施例的用于调度多个数据流的传输的计算机实现的方法。
在示例性实施例中,该场景包括作为多个数据流(为了简洁起见,也称为“流”)的三十个数据流201-230。第一发起者节点122适于与目的地节点140-148通信,其中,针对目的地节点140-148中的每一个数据流,第一发起者节点122以相应重复率1、2和4,即RR=1、2或4,向目的地节点140-148发送消息(例如重复传输)。因此,第一发起者节点122适于将十五个数据流201-216中的每一个数据流的重复传输发送到目的地节点中的相应一个。同样地,第二发起者节点124适于与目的地节点140-148通信,其中,第二发起者节点124以相应重复率1、2或4将十五个数据流216-230中的一个数据流的相应重复传输发送到目的地节点中的相应一个。
此外,在示例性实施例中,发起者节点122和124分别是诸如ProfinetIRT-controller的控制器设备。
此外,由于该网络100具有树型拓扑结构,所以给定的发送方(例如发起者节点122或124)和接收方地址(例如目的地节点140、…或148)之间的路径是唯一的,并且可以有效地确定。
为了进一步阐明场景和/或计算机实现的方法和/或为了基于场景测试和实现计算机实现的方法,多个数据流中的每一个数据流的重复传输的相应持续时间可以在预定的最小传输持续时间和预定的最大传输持续时间之间随机地进行选择。例如,可以基于每个重复传输的相应数据量和网络带宽(例如1Gb/s)来确定相应持续时间。
在随机选择传输持续时间之后,场景可以用下表来概括:
在上表中,针对多个数据流中的每一个数据流,基于相应路径长度,计算重复传输的最后一个比特(bit)的行进持续时间(或行进时间),其中相应路径长度可以基于重复传输的路径上的跳数(例如网络节点的数量)和/或网络链路的数量,其中路径长度乘以例如2μs的最大桥接延迟(包括较低优先级帧的抢占延迟),加上传输持续时间,该传输持续时间可以由在相应的网络链路上发送整个重复传输所需的时间跨度计算(例如针对第一发起者节点122,网络链路130)。因此,在一种实现中,如果网络链路和可能的网络节点提供相同的带宽(例如网络带宽),传输持续时间可以通过(相应重复传输的数据量)/(网络带宽)来计算。
电缆(如网络链路)的延迟可以作为附加的跳数(例如作为路径的附加长度,例如附加的2μs)进行考虑,也可以忽略不计。
在执行阶段分配(例如阶段关联,例如向多个数据流中的每一个数据流分配阶段)和重复传输的排序(例如确定每个重复传输的传输顺序)时或之前,可以检查在三十个数据流之间是否存在任何可能的干扰。因此,维度“流数量x流数量”(在示例场景中为30x30)的矩阵被构造,如图3中所示,其中,确定流“i”的路径是否与流“j”的路径有重叠(例如,共享网络链路和/或共享网络节点),其中流“j”的路径不是源自发送方处的相同的输出端口。如果没有重叠,则在矩阵的元素“ij”处写入“0”,当有重叠时,则写入“1”。这样的矩阵在图3中示出,其中“0”项为白色,“1”项为黑色。例如,从图1和上表中可以看出,流201(源自发起者节点122)与源自发起者节点124的流216、221、226具有潜在的干扰。
重复传输的阶段分配和排序在一些实施例中作为单个优化问题提供,或者在一些其他实施例中作为两个单独的优化问题提供。在下文中有一种启发式算法,其打算顺序处理几组流,每个流源自相同的发起者节点(以及其相同的输出端口)。因此,当针对后一组流确定阶段分配时,可以考虑针对前一组流确定的阶段分配。因此,对于上述场景,存在两组流,第一组源自相同的发起者节点122,第二组源自发起者节点124。应当理解,该启发式算法还可以用于一组数据流,其中,例如所有的数据流源自一个发起者节点,其中,例如发起者节点组仅有一个发起者节点。还应理解,启发式算法还可以用于包括两个以上发起者节点的发起者节点组,并因此用于两组以上的数据流。
图4示出了用于调度通过电信网络的多个数据流的传输的计算机实现的方法400的流程图,该方法400是根据本发明的实施例的。此外,在一些有利的实现中,根据本发明的实施例,该方法400由网络调度设备或系统执行,该系统包括网络调度设备和一个或多个发起者节点。
在示例性实施例中,方法400包括方法条件410、412、414、416和418,并且进一步包括方法步骤420、422、424、425、426、430、432、434、436、440、442、444、446、448、450、452、454、460、470和480。该方法在方法402的开始处开始,并且在方法404的结束处结束。此外,可以重复执行一个或多个方法步骤、特别是方法步骤的序列和/或整个方法400。
在示例性实施例中,传输被划分为传输周期,其中传输周期具有具有预定时间长度。对于多个数据流中的每个数据流,相应重复传输具有相应重复率。多个数据流中的每个数据流的相应重复传输通过发起者节点在传输周期的与多个阶段中的阶段相关联的传输周期中传输,并且在相应重复传输的相邻重复传输的开始之间以相应的时间间隔来重复地传输,其中相应的时间间隔由传输周期的预定时间长度乘以相应重复率来确定。
在一些实现中,电信网络是时间敏感的网络。在一些另外的实现中,电信网络可以至少支持时间同步,以便根据传输周期和/或阶段来发送传输,其中传输周期/阶段是基于同步时间确定的。例如,在具有时间敏感的网络的场景中,重复率也可以被称为缩减率或减少率,传输周期也可以被称为网络周期。
因此,在一些实现中,在时间敏感的网络中的信息发送(即特别是重复传输的发送)是循环的,即消息(例如帧或重复传输)以规则的时间间隔来重新发送,其中具有这种时间间隔的传输周期的每一个都与一组阶段中的一个阶段相关联,该组阶段中的阶段被分开相应的时间间隔。这些时间间隔被定义为网络周期“Tn”的整数倍,并且它们确定“缩减率(RR,Reduction Ratio)”作为每个帧/重复传输/数据流的特征。因此,RR=1意味着在每个网络周期/阶段中发送一个帧/重复传输,即其两次发送之间的间隔正好是一个Tn。在一般情况下,数据流的相同的重复传输的两次发送之间的间隔等于(RR*Tn)。RR=K>1的结果是,该数据流可以在K个网络周期/阶段中的任何一个中第一次发送。例如,RR=2的数据流可以在(与第一阶段相关联的)第一网络周期或(与第二阶段相关联的)第二网络周期中初始发送,然后在此之后每2*Tn发送一次,例如在与第一阶段相关联的所有(奇数的)网络周期中或在与第二阶段相关联的所有(偶数的)网络周期中。第一次发送发生的网络周期的选择(从可用的RR周期中的选择)可以被称为“阶段分配”或“阶段关联”。当单个数据流的路径或至少共享网络链路已经被确定时,该分配可以用于最小化由数据流之间的网络链路共享或其重复传输引起的延迟。当两个或多个数据流共享同一网络链路时,它们可能会相互干扰,从而产生延迟。由干扰引起的最坏情况延迟与共享同一网络链路的数据流的数量成比例,由单个数据流的重复传输的数据的量或分别地由单个数据流的重复传输的大小进行标度。
一些示例性实施例、实现和进一步的修改将结合参考图1和图2以及图5和图6并且针对参考图3所描述的场景进行描述(图5和图6也在下文中进行描述)。然而,示例性实施例、实现和进一步的修改也可用于其他电信网络、网络调度设备、包括网络调度设备和一个或多个发起者节点的系统,以及用于数据流、重复传输、重复率和/或阶段分配/阶段关联的其他场景。
图5示意性示出了用于图3的场景的一些数据流的阶段分配结构500,根据本发明的实施例的阶段分配结构。
在示例性实施例中,对于具有重复率RR=1、2和4的重复传输,这些重复率的最小公倍数是4,因此,存在四个阶段501、502、503和504(例如多个阶段由四个阶段组成),其中在这些阶段中的一个阶段内的重复传输可能不同于来自这些阶段中的另外的阶段的重复传输,而超过这四个阶段将导致在这些阶段内传输模式的重复(例如,在这四个阶段之后,重复传输的模式重复)。因此,对于阶段分配,分配数据流和/或考虑由等于最小公倍数的数量的阶段组成的多个阶段可能就足够了。有益的是,在一些实现中,重复率的允许值可以被限制为2的整数次幂(例如RR=1、2、4、8、…、256、512),由此最小公倍数等于重复率的最大值,由此可以减少需要考虑的阶段的数量,这可以增加计算效率和/或减少对数据流、重复率和/或网络拓扑结构的配置改变的响应时间。
在示例性实施例中,阶段分配结构500包括针对重复率RR=1的重复传输的数据流与阶段501相关联的第一数据字段551,针对RR=2的数据流与阶段501相关联的第二数据字段552,针对RR=2的数据流与阶段502相关联的第三数据字段553,针对RR=4的数据流与阶段501相关联的第四数据字段554,针对RR=4的数据流与阶段503相关联的第五数据字段555,针对RR=4的数据流与阶段502相关联的第六数据字段556,以及针对RR=4的数据流与阶段501相关联的第七数据字段557。
图6示意性示出了用于图3的场景的阶段分配结构500,根据本发明实施例的阶段分配结构,其中多个数据流中的另一个数据流已存储在数据字段之一中或链接到所述数据字段之一。
现在参照图4。
在方法步骤420处,确定多个数据流、多个数据流中的每个数据流的每个重复传输的每个重复率、发起者节点组(例如,电信网络的一个或多个网络节点适合于发送数据流中的至少一个数据流的重复传输)和一个或多个目的地节点(例如,电信网络的网络节点适合于接收数据流中的至少一个数据流的重复传输)。在一些实现中,为了确定多个数据流、重复率、发起者节点和/或目的地节点,接收至少一个配置信号,该至少一个配置信号指示它们中的至少一个。替换地或附加地,在一些实现中,可以从存储设备、例如网络调度设备的存储设备加载指定多个数据流中的至少一个数据流的配置数据、重复率、发起者节点和/或目的地节点。此外,确定例如为调度多个数据流的传输而必须考虑的多个阶段。在一些实现中,通过计算多个数据流的重复传输的重复率的最小公倍数(LCM-RR)来确定多个阶段,其中多个阶段由等于最小公倍数的数量P个阶段组成,例如,第一阶段501、第二阶段502、…和第P个阶段,其中P=LCM-RR。
在方法步骤422,针对多个数据流中的每个数据流确定通过电信网络的相应路径,其中相应路径用于相应数据流的相应重复传输。在一些实现中,为了确定相应路径,接收至少一个配置信号,该至少一个配置信号针对多个数据流中的每个流指示一个、一些或全部相应路径。在一些实现中,为了确定相应路径,确定电信网络的拓扑结构(为了简洁起见也将其称为“网络拓扑结构”或“拓扑结构”)。基于网络拓扑结构并且基于多个数据流中的每个数据流的发起者节点和目的地节点,确定至少一个相应路径。在电信网络具有树型拓扑结构的一些实现中,每个路径由相应的发起者节点和目的地节点唯一地确定。在电信网络包括环路的一些实现中,从网络节点到另外的网络节点,例如从发起者节点之一到目的地节点之一可以有多个路径。当确定从这样的发起者节点到这样的目的地节点的至少一个路径时,可以基于路径选择标准来选择这些多个路径中的一个,路径选择标准例如是路径的长度、沿着路径的行进持续时间或沿着路径的带宽。此外,当包括方法步骤422、特别是包括路径确定的方法400的多个部分被重复执行时,路径选择标准也可以被迭代调整,例如在每次重复中,可以从由多个可能路径组成的组中选择组中的不同的一个作为确定的路径,并且将其用作从发起者节点到目的地节点的相应路径。此外,在一些进一步的修改中,可以对该组进行排序,使得例如针对第一次重复,可以选择具有最短路径长度的组的路径和/或从组中选择用于多次重复的路径的顺序可以由路径选择标准确定,例如,通过路径的长度,例如在第一次重复时以最短的路径开始。
在方法步骤424处,针对多个数据流的每个相应路径,确定相应路径是否包括共享网络链路,其中所享网络链路也是多个数据流中的另外的数据流的路径的一部分。此外,在一些实现中,可能会确定干扰矩阵,例如参考图3描述的干扰矩阵。
在方法步骤426处,基于选择的顺序选择发起者节点组中的发起者节点作为所选择的发起者节点,使得所选择的发起者节点先前未被选择或至少先前未被选择用于多个数据流的相同路径。
根据一些实现,在执行方法步骤426之前,执行方法步骤425,其中随机确定选择发起者节点的顺序,例如,可以将发起者节点组存储在列表数据结构中,其中为了随机确定顺序,基于随机函数的输出对列表进行洗牌。
在方法步骤430处,从发起者节点组中的所选择的发起者节点发送其重复传输的多个数据流中的数据流的迭代被初始化。方法步骤430包括方法步骤432、434、436。在方法步骤432处,通过选择多个数据流中的每个数据流(其重复传输是从所选择的发起者节点发送的)并且将其添加到数据流组中来确定数据流组(其可以被称为“流组”)。在方法步骤434处,通过流组的每个流的相应重复传输的相应行进持续时间,按降序来排序流组中的流。在一些实现中,这种排序可以通过快速排序算法来实现。在方法步骤436处,利用稳定排序算法,通过它们相应重复率,即排序的流组中的每个数据流的相应重复传输的相应重复率,以升序对排序的流组中的流进行排序。在一些实现中,归并排序(mergesort)算法可以用作稳定排序算法。替换地,在一些实现中,可以使用稳定的整数排序算法,例如计数排序或桶排序。
例如,在按重复率和行进持续时间这两者进行排序之后,参考图3描述的场景的数据流可以在排序的流组中进行排序,如下表所示:
数据流 | 行进持续时间μs | 重复率RR |
204 | 20.3 | 1 |
201 | 13.4 | 1 |
205 | 12.9 | 1 |
202 | 11.9 | 1 |
203 | 11.3 | 1 |
207 | 16.2 | 2 |
210 | 13.7 | 2 |
209 | 13.6 | 2 |
208 | 12.2 | 2 |
206 | 7.8 | 2 |
214 | 19.5 | 4 |
215 | 17.5 | 4 |
211 | 13.7 | 4 |
213 | 11.8 | 4 |
212 | 7.9 | 4 |
在方法步骤440,通过在排序的流组上迭代来执行对多个数据流中的数据流的迭代,多个数据流中的数据流的重复传输是从发起者节点组的所选择的发起者节点发送的。方法步骤440包括方法步骤442、444和454以及方法条件412。
在方法步骤442处,在迭代过程的每次迭代中,从排序的流组中选择数据流,所选择的数据流位于排序的流组中的开始处,其中所选择的数据流然后从排序的流组中移除。替换地,在一些实现中,为了从排序的流组中选择相应数据流,可以在迭代过程的第一次迭代中或之前初始化索引变量,以指向排序的流组的开始,在迭代过程的每次迭代中,根据索引变量从排序的流组中选择数据流,并且调整索引变量以指向排序的流组的下一个数据流。因此,例如通过按重复率和行进持续时间对流组进行排序,然后根据排序的流组选择每个数据流,选择标准基于相应重复传输的相应重复率和相应重复传输的行进持续时间。
在方法步骤444处,基于分配标准将多个阶段中的阶段分配给所选择的数据流,该分配标准考虑了先前选择的数据流及其对相应阶段的分配。方法步骤444包括方法步骤446、448、450和452以及方法条件410。
在方法步骤446处,从多个阶段中选择如下阶段,该阶段小于或等于所选择的数据流的重复传输的相应重复率,并且在迭代过程的迭代中先前没有为所选择的数据流选择该阶段。
在方法步骤448处,测量所选择的数据流与在所选择的阶段内从任何先前选择的发起者节点发送其重复传输的任何数据流之间的干扰。在一些实现中,所选择的阶段的干扰的度量是通过对如下每个重复传输的相应持续时间进行求和来确定的,在该所选择的阶段内从任何先前选择的发起者节点发送这些重复传输并且这些重复传输的路径包括与所选择的数据流的路径共享的共享网络链路。
在方法条件410处,确定是否已经选择了多个阶段中小于或等于所选择的数据流的重复传输的相应重复率的所有阶段。如果是这种情况,符号为<y>,则在方法步骤450处继续方法400。否则符号为<n>,在方法步骤446处继续方法400,其中,例如选择了先前未选择的阶段。
在方法步骤450处,针对所选择的阶段中的每一个(针对其,已经针对所选择的数据流确定了干扰的度量),如果在针对所选择的发起者节点的迭代过程的先前迭代中已经确定了累积发送延迟,则确定干扰的相应度量和累积发送延迟的度量的总和;否则,干扰的相应度量被视为总和,例如,累积发送延迟的度量被设置为零作为默认值。
在方法步骤452处,确定对于所选择的阶段中的哪个阶段,相应总和最小,并且将该阶段分配给所选择的数据流。因此,在这样的实现中,每个阶段的总和被用作分配标准(并且例如是在所选择的发起者节点处的累积发送延迟和所选择的数据流与从任何先前选择的发起者节点发送其重复传输的任何数据流之间的干扰的度量),使得考虑到先前选择的数据流及其对相应阶段的分配,从而有益地可以将数据流分配到阶段。
在方法条件412处,确定是否已经从排序的流组中选择了所有数据流。在一些实现中,可以确定排序的流组是否为空。在一些另外的实现中,可以确定索引值指向排序的流组的最后一个数据流还是指向无效值。如果所有的数据流都已被选中,符号为<y>,则在方法条件414处继续方法400。否则符号为<n>,在方法步骤454处并且然后在迭代过程的进一步迭代的方法步骤442处继续方法400,,其中,例如从排序的流组中选择先前未选择的另外的数据流。
在方法步骤454处,例如,在迭代过程的当前迭代中将相应阶段分配给所选择的数据流之后,并且在进一步迭代的方法步骤442处继续方法400之前,在考虑所选择的数据流的相应传输的相应持续时间和每个先前选择的数据流的相应传输的相应持续时间的情况下,确定相应阶段在所选择的发起者节点处的累积发送延迟的度量,每个先前选择的数据流的重复传输是在该阶段内从所选择的发起者节点发送的。在一些实现中,累积发送延迟的度量被确定为所选择的数据流的相应传输的持续时间和每个先前选择的数据流的相应传输的持续时间的总和。
在方法条件414处,确定是否已经选择了发起者节点组的所有发起者节点,例如,在至少针对多个数据流的相同路径具有多个可能路径的实现中。如果是这种情况,符号为<y>,则执行方法步骤460。否则符号为<n>,在方法步骤426处继续方法400。
在方法步骤460处,确定在每个发起者节点处以及在多个阶段中的每个阶段内发送重复传输的传输顺序。
在一些实现中,当向每个数据流分配阶段时,同时确定传输顺序,其中在相应发起者节点处并且针对相应阶段的传输顺序是基于向相应数据流分配相应阶段的顺序的,使得,例如已经第一个分配给相应阶段的相应数据流的重复传输也是根据传输顺序的第一个,其数据流已经第二个分配给相应阶段的重复传输也是关于传输顺序的第二个,等等。
附加地或替换地,在一些实现中,在为多个数据流中的每个数据流分配阶段之后确定最终传输顺序,并且将其用作用于调度的传输顺序。在一些进一步的实现中,基于阶段分配顺序的先前确定的传输顺序被用作用于在阶段上分配重复传输的初步传输顺序,同时考虑到先前选择的数据流及其对相应阶段的分配以及(潜在的/初步的/先前的)传输顺序。在一些进一步的实现中,在阶段分配之后,至少基于重复传输在阶段上的分布来确定(最终的)传输顺序,例如同时考虑了先前选择的数据流及其对相应阶段的分配以及潜在的/初步的/先前的传输顺序的阶段分配。此外,在一些进一步的修改中,最终传输顺序的确定进一步基于潜在的/初步的/先前的传输顺序,例如只有一些重复传输可以在传输顺序内被重新安排,而其他重复传输的顺序不被改变,例如只有不会满足调度约束的重复传输。替换地,最终传输顺序的确定可以独立于潜在的/初步的/先前的传输顺序。例如,不将潜在的/初步的/先前的传输顺序作为用于确定最终传输顺序的输入,然而,可能会产生一些(间接的)依赖性,例如由于同时考虑先前选择的数据流及其对相应阶段的分配,以及在阶段分配期间的潜在的/初步的/先前的传输顺序。
在对多个数据流中的每个数据流分配阶段之后确定(最终的)传输顺序的一些实现中,基于比较函数,通过排序确定用于发起者节点组中的至少一个发起者节点和用于多个阶段中的至少一个阶段的传输顺序,比较函数考虑了在至少一个阶段内由至少一个发起者节点调度用于传输的每个重复传输的最坏情况到达时间。
例如,(重复)传输的到达时间(即相对于传输的阶段开始的时间,其中传输的最后一个比特到达相应的目的地节点)可以取决于以下内容:
1)其开始时间(相对于网络周期开始的偏移);
2)其长度(重复传输的长度/数据量);
3)由链路组成的路径(例如电缆)和其他网络节点(例如网桥);
4)传输速度/带宽(可能因网络而异);
5)相应的电缆延迟和桥接延迟(BDs);
6)网桥中相应的转发机制(存储和转发(S&F)、直通、…);
7)网桥中相应的流量整形器;
8)其重复率大于1(RR>1)时的阶段分配;
9)其与多个数据流中的其他高优先级流/流的干扰,这些流例如共享网桥的相同的输出端口但已经到达不同的端口(或起源于该网桥,而我们感兴趣的传输不是)和/或例如共享网络链路,即其中它们的路径具有共享网络链路,例如由于在网桥上具有相同的输出端口;
10)它对不同优先级的流的干扰,例如对低优先级帧的干扰,例如如果没有(充分)抢占。
例如,为了估计帧的到达时间,必须处理不同延迟变量的不确定性,例如桥接延迟、干扰延迟等。因此,可以计算这些变量的最坏情况影响,并且对(重复)传输沿着其从其发起者节点到其目的地节点的路径经历的延迟进行保守估计。
对于这种(最坏情况)估计,例如可以作出以下假设:
1)所有网桥/另外的网络节点将使用延迟的直通转发机制;这是有益的,而诸如S&F的其他机制是两个“慢”的机制,并且它们还影响后面的(重复的)传输,从而例如增加用于确定(最坏情况)到达时间的计算作业量;
2)如果有流量整形器,最好是严格优先级的;其他整形器的可能的实现可能会增加最坏情况延迟模型的计算作业量,因为它们使这些模型更加复杂,优化成本更高;
3)低优先级传输,例如低优先级帧,可以被抢占;
4)对其他流的可能的干扰/由干扰引起的最坏情况延迟与所有其他干扰流的重复传输的数据量之和成比例,例如,与所有其他干扰流的帧长之和成比例。这是如下事实的结果,即没有保证的最小的行进持续时间,而只有上界限;
5)在发起者节点(也被称为“谈话者”)处的流按RR顺序发送,即RR=2的所有流必须在RR=4等的任何流之前发送。当所有RR为2的幂时,这保证了在与分配给相应数据流的阶段之一相关联的每个传输周期中可以同时发送流。
例如,在这些假设下,(重复)传输的到达时间等于传输开始时间(也被称为“发送时间”,例如从相应阶段开始的偏移,例如由传输顺序确定)、没干扰的情况下传输沿其路径的行进持续时间、以及与在不同通话者/发起者节点处发起的其他流的可能最坏情况干扰(与共享发起者节点的流的干扰被编码在传输的传输开始时间中,例如通过针对相应发起者节点的传输顺序)之和。
因此,(重复)传输的最坏情况到达时间可以计算为:传输到达时间=传输开始时间+传输行进持续时间+由干扰引起的最坏情况延迟。
在方法步骤460之后,在方法条件416处确定是否满足调度约束。如果是这种情况,符号为<y>,则在方法步骤470处继续方法400。否则符号为<n>,在方法条件418处继续方法400。在一些实现中,调度约束是每个重复传输的传输到达时间低于预定阈值,其中在一些实现中,预定阈值小于或等于阶段或传输周期的持续时间。因此,可以保证所有的(重复)传输到达(例如在它们各自的目的地节点处)在其已经(例如从/通过各自的发起者节点)被传输的阶段/传输周期内。
在方法条件418处确定,基于相应的随机顺序的发起者节点的选择和在数据流上的迭代是否至少重复了预定次数。如果是这种情况,符号为<y>,(并且仍然不满足调度约束),则执行方法步骤482,其中,在方法步骤482处,提供错误信号,例如发送到从其接收到至少一个配置信号的网络节点和/或发送到至少一个发起者节点,其中错误信号指示未能满足调度约束,例如不能确定数据流的传输的调度,其中所有的传输都到达它们已经被传输的阶段。否则符号为<n>,在方法步骤426处或之前继续方法400,其中,例如改变选择发起者节点的顺序,使得例如可以找到满足调度约束的调度。在一些实现中,预定次数基于发起者节点组中的发起者节点的数量。因此,在一些进一步的实现中,预定次数可以等于发起者节点的数量、其平方根或发起者节点的平方数,其中有利的是,如果存在这样的解决方案,则很可能在这些重复次数内找到调度的解决方案,同时例如低于所有可能排列的上界限。在一些实现中,其中电信网络包括用于多个数据流中的至少一个数据流的多个路径,在方法步骤422处继续方法400,其中,例如针对该至少一个数据流选择多个路径中的另一个,使得例如可以找到满足调度约束的调度。
在方法步骤470处,调度每个数据流的相应重复传输,其中相应重复传输在分配给相应数据流的相应阶段开始,并且在等于相应重复率的阶段数量之后重复地传输,并且其中在每个阶段内,根据传输顺序来传输来自相同发起者节点的重复传输。
为此目的,在一些实现中,针对每个阶段和/或针对发起者节点组中的每个发起者节点确定来自同一相应发起者节点的重复传输组,其中,对于重复传输组中的每一个,阶段已经被分配给相应数据流,或者另外的阶段已经被分配给相应数据流,使得另外的阶段的数量(例如第一或第二阶段,因此是一个或两个阶段)和相应重复传输的相应重复率的整数倍(例如RR=1或RR=2)等于阶段的数量;例如该阶段是第三阶段(因此具有数量三)并且取决于重复率,下面,对于另外的阶段,除其他外,可能的是:1(另外的阶段的数量)+2*1(重复率)=3(阶段的数量);或者1(另外的阶段的数量)+1*2(重复率)=3(阶段的数量);或2(另外的阶段的数量)+1*1(重复率)=3(阶段的数量)。此外,在一些实现中,重复传输组中根据传输顺序的第一个重复传输由相应发起者节点传输,接下来,重复传输组中根据传输顺序的第二个重复传输由相应发起者节点发送,……,以及重复传输组中根据传输顺序的最后一个重复传输由相应发起者节点传输,其中,第一个重复传输的传输开始时间在从相应阶段的开始的预定的偏移处(例如,偏移为零,在相应阶段开始处),第二个重复传输的传输开始时间在从第一个重复传输的传输结束的预定偏移处(例如,偏移为t_gap:(第二个重复传输的)传输开始时间=(第一个重复传输的)传输开始时间+t_gap+(第一个重复传输的)传输持续时间)等等。因此,例如,当所有偏移相对于相应阶段的开始为零时,重复传输组中最后一个重复传输的传输开始时间将等于重复传输组中除最后一个重复传输之外的所有重复传输的所有传输持续时间的总和。
对于参考图3描述的场景,通过执行方法400的示例性实施例对来自第一发起者节点122的数据流的阶段分配由图5阐明。从图5可以看到,来自第一发起者节点122的RR=1的所有流204、201、205、202、203链接到数据字段551,因此,第一阶段501已经被分配给它们,其中根据它们的传输持续时间在数据字段551处对它们进行排序。接下来,从RR=2的数据流中,具有最大传输持续时间的数据流,例如流207,被链接到数据字段552,因此第一阶段也被分配给数据流207。在该分配之后,第一阶段501的累积发送延迟大于第二阶段502的累积发送延迟,因此,第二阶段502被分配给RR=2的其他流210、209、208、206,并且这些流被链接到数据字段553,其中根据它们的传输持续时间在数据字段553处对它们进行排序。同样地,RR=4的流被链接到数据字段554、555、556和557中的一个。
对于来自图3的场景的第二发起者节点124的数据流的阶段分配,当执行方法400的示例性实施例时,还考虑由于与来自第一发起者节点的流的干扰而引起的延迟。
因此,对于这些数据流中的每一个数据流,(最坏情况)干扰延迟可以总结为下表:
例如,由于在每个阶段中发送RR=1的数据流,当确定干扰的度量时,使用所有阶段上干扰延迟的最大值。例如,由于每隔一个阶段发送RR=2的数据流,当确定第一阶段的干扰的度量时,使用第一和第三阶段上干扰延迟的最大值,而当确定第二阶段的干扰的度量时,使用第二和第四阶段上干扰延迟的最大值。例如,更一般地,为了测量在所选择的阶段处的所选择的流的干扰,计算所有阶段上的最大值,其数字与所选择的数据流的重复率的模等于所选择的阶段。
从图6中可以看出,来自第二发起者节点124的RR=1的所有流220、218、216、217、219链接到数据字段551,因此,第一阶段501已经被分配给它们,其中根据它们的传输持续时间在数据字段551处对它们进行排序。接下来,从RR=2的数据流中,具有最大传输持续时间的数据流,例如流224,被链接到数据字段552,因此第一阶段也被分配给数据流224。然而,在该分配之后,对于具有下一个最大传输持续时间的数据流225,第一阶段501的累积发送延迟和第一/第三阶段的干扰延迟(例如,最大值为20.7μs)的总和将大于第二阶段502,因此,第二阶段502被分配给流225。同样地(但未示出),阶段被分配给来自第二发起者节点的其他流。
对于这个场景,图7示意性地示出了将传输划分为传输周期701、702、703、704、705、706,以及每个传输周期与阶段501、502、503、504的循环关联,其中传输周期沿时间轴770布置。
在图7中可以看到,来自RR=1的第一发起者节点的数据流204、201、205、202、203具有在第一阶段501内开始的重复传输,因此,在与第一阶段501相关联的第一传输周期701中,这些传输在以下阶段502、503、504中的每一个阶段中重复地传输,因此,在每一个传输周期701、702、703、704、705、706中重复地传输。此外,数据流207的重复传输在阶段501开始,然而由于它具有RR=2,它仅在与阶段501或503相关联的传输周期中、例如传输周期701、703、705、……中传输。此外,数据流214的重复传输在阶段501开始,然而由于它具有RR=4,它仅在与阶段501相关联的传输周期中、例如传输周期701、705、……中传输。其他数据流的重复传输以类似的方式被发送,其中一些在图7中示出。
现在再次提到图4和实施方法步骤460的实施例,根据本发明的实施例。
在示例性实施例中,在方法步骤460,确定(最终)传输顺序,使得所有流上的(最坏情况)到达时间的最大值被最小化。基于未预料到的见解:由于来自其他发起者节点的流的干扰导致的最坏情况延迟依赖于对其他发起者节点的阶段分配,但与其他发起者节点的传输顺序无关,通过单独地/独立地最小化该组发起者节点中的每个发起者节点的相应最大/最坏情况到达时间来最小化所有流上的最大到达时间。因此,例如,对于某些实现来说可以示出,通过独立地对来自发起者节点组中的每个相应发起者节点以及针对多个阶段中的每个相应阶段的相应流进行排序,针对相应发起者节点和阶段的所有流上的最坏情况到达时间的最大值具有可能的最小值,并且由于通过来自其他发起者节点的流的干扰引起的最坏情况延迟与其他发起者节点的传输顺序无关,所以来自所有发起者节点和所有阶段的所有流上的最坏情况到达时间的最大值具有其可能的最小值。
下面给出了实现和证明:
注意,在不同的通话者处发送的流之间的最坏情况干扰仅由阶段分配确定。此外,阶段分配还决定了节点处的流量和队列大小限制是否得到满足。因此,可以假设每个流s都具有固定的值v(s),它代表了不能被影响的延迟,如网络中的行进时间(例如行进持续时间)和由先前选择(路径和阶段分配)产生的干扰。
v(s)=dconst(s)+fixedInterTalkerInterference(s)
等式:定义v(s)
现在,简单地看一下流的最坏情况到达时间的定义,就会发现流调度只能影响帧在一个通话者上的发送时间。因此,在每个通话者处的帧调度(例如多个数据流的传输调度)是一个独立的问题,并且在一个通话者处考虑该问题就足够了。现在,我们希望调度帧,使所有流上的最大的最坏情况(最后一比特)到达时间最小,同时遵守具有较小缩减率的流首先发送的约束。形式上,帧调度问题/流调度问题可以表述如下。
流调度问题(STREAM SCHEDULING PROBLEM,SSP)
输出:部分顺序<S(t)上的,使得
ii.如果RR(s)<RR(s′),则s<s′,即具有较小RRs的流被优先调度,
iii.maxs∈s(t)∑s′∈S(t):s′≤sf(s′)+v(s)被最小化,其中例如f(s′)是s′的传输持续时间和可能的偏移,例如用于提供连续传输之间的间隙。
首先,注意如上面等式所定义的v(s),(iii)如果以由部分顺序输出所定义的顺序发送流,则精确对应于最大到达时间,因为∑s′<sf(s′)是s的发送时间,例如数据流s的重复传输的传输开始时间。因此,SSP的解决方案提供了用于调度帧/调度重复传输的最优方案。
现在表明,与几乎所有阶段分配问题的变型相比,对于给定的固定阶段分配,例如先前确定的阶段分配,可以非常有效地找到最优的流调度,因为可以通过排序来解决SSP。
定理:流调度问题(STREAM SCHEDULING PROBLEM)可以在时间上得到最优解O(nlog(n))。
证明:表明可以通过反复求解标准调度问题来求解SSP。考虑(1|(dj)|Lmax)。在[Graham,R.L.;Lawler,E.L.;Lenstra,J.K.;Rinnoy Kan,A.H.G.(1979),“确定性排序和调度中的优化和近似:一项调查(Optimization and Approximation in DeterministicSequencing and Scheduling:a Survey)”,北约系统科学小组和离散优化研讨会的离散优化和系统应用高级研究会议记录,Elsevier,第(5)287-326页中介绍的标准调度标记法中描述了以最小化最大迟到为目标的单机调度问题。
在调度理论中,给出了一组机器,它们可以一次处理一个作业,也可以处理具有持续时间的作业,还可以处理不同属性和边界约束的作业。目标是调度机器上的所有作业,以满足所有约束条件,并优化某个目标函数。在这种情况下,仅有一台机器。作业j的迟到1(j)被定义为j的完成时间与其到期日dj之间的差值。最大迟到Lmax是所有作业的最大迟到。由于目标函数要求存在到期日,它们在符号中经常被省略,即(1||Lmax)也是一种可能的描述。
这个问题可以通过应用最早到期日规则(EarliestDue Date Rule,EDD)作为Lawler算法的一个特例来有效解决[Lawler(1973):受优先权约束的单机最佳排序(Optimal Sequencing of a single machine subject to precedence constraints),管理科学19,544-546]。Lawler算法的正确性意味着,根据作业的到期日对作业进行调度,可以使最大迟到率最小化。
现在,解释如何以这种方式制定SSP,因此,例如如何将EDD应用于用于调度多个数据流的传输的技术解决方案。以递增的顺序并且针对阶段上的每个RR来迭代RR,并且考虑具有固定阶段p的SR(t)中的所有流,这个组被称为SR(t,p)。每个流s∈SR(t.p)对应于具有持续时间f(s)的作业j(s)。所有作业都可以在时间0处进行调度。然后,确定了到期日
数学要求:根据上面定义的d(s),如果按照由调度指示的顺序发送流,则流的迟到是它(最后一个比特)的到达时间。
让作业j0,...,jn按最优调度来排序,并且s0,...,sn是相应的流。在当前的调度问题中,作业的完成时间是所有先前调度的作业持续时间和作业本身持续时间的总和。因此,作业ji的迟到是
根据定义,这是si的到达时间。
数学要求直接意味着,对于每个RR,将最大到达时间最小化。不同RR的流对发送时间的影响仅由阶段分配决定,而不是由排序决定。因此,每个RR和阶段内的最大到达时间的最小化足以使其全局最小化。
事实上,对于具有至少一个“最后流(即不延迟任何其他流的发送的流)”的RR,将到达时间最小化就足够了,以便将通话者处的最大到达时间最小化。然而,我们也对尽可能节约资源的解决方案感兴趣。由于调度每个RR使最终结果在网络资源方面更加效率,并且一次排序不使用太多计算资源,因此额外的努力似乎是值得的。
要对所有RR和阶段应用EDD,只需对S(t)进行一次排序:按RR,在每个RR中按阶段,在每个阶段中按到期日。所需的部分顺序是隐式的,可以使用该顺序计算发送时间。因为排序采用所以证明就结束了。Q.E.D.
因此,有益的是,运行时间范围指的是如上所述的问题,而不是输入数据的生成。因此,一旦输入数据可用(通常是在阶段分配/阶段分配之后的情况),我们只是表明可以通过排序算法来执行行进持续时间的最小化,对于在诸如网络调度设备的机器上的实际运行时间来说,排序算法是非常有效的。
从上述内容可以得出以下结论。
根据一些实施例,通过迭代多个数据流中的数据流,确定多个数据流中的每个数据流的阶段分配(其中,例如将多个阶段的相应阶段分配给多个数据流中的每个相应数据流),多个数据流中的数据流的重复传输是从所选择的发起者节点和/或从发起者节点组的一个或多个另外的发起者节点发送的。因此,例如,发起者节点组可以包括一个或多个发起者节点;并且,例如,对于每个相应发起者节点,在来自相应发起者节点的所有数据流上执行相应的迭代,其中,例如在该相应迭代的每个迭代中,选择来自该相应发起者节点的数据流中的数据流,并将阶段分配给该选择的数据流。
根据一些实施例,通过从数据存储设备加载阶段分配来确定多个数据流中的每个数据流的阶段分配,其中,例如将多个阶段中的相应阶段分配给多个数据流中的每个相应数据流。因此,在一些实施例中,进一步的方法的阶段分配的确定包括从数据存储器加载阶段分配或者由其组成或者由其执行。因此,在一些实施例中,另外的网络调度设备包括或者是数据连接到数据存储设备,并且数据处理设备适于通过从数据存储设备加载阶段分配来确定阶段分配。
根据一些实施例,通过例如经由输入设备从另外的网络调度设备或从用户接收阶段分配来确定多个数据流中的每个数据流的阶段分配,其中,例如将多个阶段中的相应阶段分配给多个数据流中的每个相应数据流。因此,在一些实施例中,进一步的方法的阶段分配的确定包括从另外的网络调度设备或从用户例如经由用户输入设备接收阶段分配或者由其组成或者通过其执行。因此,在一些实施例中,另外的网络调度设备包括或者是数据连接到用户输入设备,其中用户输入设备适于请求和/或处理指定阶段分配的用户输入,并且将用户输入/阶段分配发送到(另外的)网络调度设备,并且其中数据处理设备适于通过接收和处理用户输入/从用户输入设备接收阶段分配来确定阶段分配。
根据一些实施例,例如通过发送到至少一个或所有发起者节点组的调度信号,调度每个数据流的相应重复传输,其中相应重复传输在分配给相应数据流的相应阶段开始,并且在等于相应重复率的多个阶段之后重复地传输。
在一些实施例中,其中调度每个数据流的相应重复传输,以便在分配给相应数据流的相应阶段开始,并且在等于相应重复率的阶段的数量之后重复传输,在每个阶段内,根据传输顺序来传输来自相同发起者节点的重复传输。
在一些实施例中,其中根据传输顺序来发送来自相同发起者节点的重复传输,该方法或进一步的方法包括:例如在向多个数据流中的每个数据流分配阶段之后和/或在调度每个数据流的相应重复传输之前,基于向多个数据流中的每个数据流分配阶段来确定针对发起者节点组中的至少一个发起者节点和针对多个阶段中的至少一个阶段的传输顺序。
在一些实施例中,其中来自同一发起者节点的重复传输是根据传输顺序传输的,该方法或进一步的方法包括:例如在向多个数据流中的每个数据流分配阶段之后和/或在调度数据流中的每个数据流的相应重复传输之前,通过排序(例如,借助排序算法),基于比较函数确定针对发起者节点组中的至少一个发起者节点和多个阶段中的至少一个阶段的传输顺序,该比较函数考虑了在至少一个阶段内由至少一个发起者节点调度用于传输的重复传输的最坏情况到达时间。
在一些实施例中,其中为了确定针对发起者节点组中的至少一个发起者节点和针对多个阶段中的至少一个阶段的重复传输的传输顺序,考虑了重复传输的最坏情况到达时间,重复传输中的当前传输的最坏情况到达时间基于对多个数据流中的每个数据流的阶段的分配以及基于被调度用于在当前传输之前的传输的重复传输中的其他传输的传输顺序来确定,但是例如独立于针对发起者节点组中的其他发起者节点和/或针对多个阶段中的其他阶段的可能的进一步传输顺序。
在一些实施例中,其中根据传输顺序来传输来自相同发起者节点的重复传输,传输顺序由分配给每个数据流的相应阶段的顺序来确定。
根据一些实施例,选择标准是基于相应重复传输的相应重复率和相应重复传输的行进持续时间的。
根据一些实施例,该方法还包括:按其相应重复率的升序对来自多个数据流的数据流进行排序,这些数据流的重复传输是从所选择的发起者节点发送的。这可以有益地允许选择更频繁更早发送的流,从而例如可以改善在各阶段上的分布,并且/重复传输的相对开始时间对于它们被传输的所有阶段保持相同,因为以更高频率发送的其他传输(例如具有较低的重复率)将在所分配的阶段内已经被发送。
根据一些实施例,该方法进一步包括按其相应行进持续时间降序对具有相同重复率的经排序的数据流进行排序。此外,通过迭代经排序的数据流来执行数据流的迭代和选择。这可以有益地允许在阶段分配内更早地考虑这样的数据流,这些数据流对于最坏情况到达时间更为关键,因为例如当行进持续时间较大时,延迟到达的可能性(即传输的到达时间大于预定的上界限)通常增加。
根据一些实施例,从下面的组中选择选择标准,该组包括:相应重复率、相应重复传输的持续时间、相应重复传输的行进持续时间、用于形成相应重复传输的路径长度、相应重复传输的数据量或其组合。
根据一些实施例,发起者节点组包括第一发起者节点和第二发起者节点。此外,该方法还包括:在选择第一发起者节点之后选择第二发起者节点,并且给其重复传输是从第二发起者节点发送的数据流分配阶段。此外,该方法还包括迭代多个数据流中的数据流,这些数据流的重复传输是从发起者节点组中的第二发起者节点发送的,以便给它们分配阶段。
在一些实施例中,其中发起者节点组包括第一和第二发起者节点,其中发起者节点组还包括一个或多个另外的发起者节点,其中发起者节点组的每个发起者节点是被选择的,并且针对每个发起者节点执行迭代。
在一些实施例中,其中发起者节点组包括多于一个的发起者节点,每个发起者节点的选择顺序是随机确定的。此外,至少以随机确定的顺序进行选择并且迭代重复至少预定次数,直到满足调度标准。
根据一些实施例,对于多个数据流中的每个数据流,电信网络包括通过电信网络的相应路径,相应路径用于相应数据流的相应重复传输。此外,该方法还包括,针对每个相应路径确定相应路径是否包括共享网络链路,其中该共享网络链路也是多个流中的另一个数据流的路径的一部分。此外,(在迭代过程的迭代中选择的)所选择的数据流与(从该阶段内的任何先前选择的发起者节点发送其重复传输并且其路径包括与所选择的数据流的路径共享的共享网络链路的)任何数据流之间的多个阶段中的阶段的干扰的度量是每个重复传输的相应持续时间上的总和。
根据一些实施例,其中分配标准是所选择的发起者节点处的累积发送延迟和在所选择的数据流与其重复传输是从任何先前选择的发起者节点发送的任何数据流之间的干扰的度量。
根据一些实施例,迭代过程还包括:在迭代过程的迭代中将相应阶段分配给所选择的数据流之后,在考虑到所选择的数据流和每个先前选择的数据流的相应传输的相应持续时间的情况下,确定相应阶段在所选择的发起者节点处的累积发送延迟的度量,数据流的重复传输是在该阶段内从所选择的发起者节点发送的。
根据一些实施例,迭代还包括:当将相应阶段分配给所选择的数据流时,确定在所选择的数据流和任何数据流之间的干扰的度量,这些任何数据流的重复传输是从多个阶段中的每个阶段的任何先前选择的发起者节点发送的,每个阶段小于或等于所选择的数据流的重复传输的相应重复率,并且如果在所选择的发起者节点的迭代的先前迭代中确定了累积发送延迟,则将阶段分配给所选择的数据流,该所选择的数据流具有干扰的度量和累积发送延迟的度量的最小总和。
根据一些实施例,通过电信网络的传输(例如,多个数据流的重复传输)被划分为传输周期,其中传输周期与多个阶段中的一个循环地相关联。根据一些实现,多个阶段可以定义阶段周期,该阶段周期被重复以将每一个传输周期与多个阶段之一相关联。根据一些实现,多个阶段可以包括第一阶段、第二阶段、……和最后阶段,其中多个阶段的阶段按时间排序。此外,传输周期按时间排序,其中,例如,传输周期的第一传输周期内的传输是在传输周期的第二传输周期内的传输之前执行的,并且其中第二传输周期的传输是在传输周期的第三传输周期的传输之前执行的,等等。此外,传输周期与多个阶段中的一个循环地相关联,方式是将传输周期的每个连续的传输周期与多个阶段中的连续的阶段相关联,从第一传输周期和第一阶段开始,直到所有的阶段都与连续传输周期中的一个相关联,并且重复这种关联,从传输周期中的下一个传输周期和第一阶段开始。例如,传输周期与多个阶段中的一个循环地相关联,方式是:将第一传输周期与第一阶段相关联,将第二传输周期与第二阶段相关联,……直到传输周期与最后阶段相关联;然后将传输周期中的在先前与最后阶段相关联的传输周期之后的传输周期与第一阶段相关联,将该与第一阶段相关联的传输周期之后的传输周期与第二阶段相关联,等等。因此,在一些实施方式中,在由多个阶段定义的阶段周期内,等于多个阶段的阶段数量的多个连续传输周期可以分别与多个阶段中的一个相关联,其中针对等于阶段数量的连续传输周期的下一个连续传输周期,阶段周期被重复,并且在先前的传输周期之后,将这些连续传输周期中的每一个与多个阶段中的一个相关联,并且其中对于进一步的(连续的)网络周期可以进一步重复该关联。
在通过电信网络的传输被划分为传输周期的一些实施例中,传输周期在具有预定时间长度,例如预定持续时间。此外,多个阶段中的阶段具有等于传输周期的预定持续时间的预定持续时间。
通过确定数据流的重复传输的阶段,以及通过关于传输周期对重复传输进行调度,基于数据流在相应阶段上的分布的确定和/或数据的调度和传输(例如通过电信网络对重复传输的传输)可以被简化,其中,例如不需要高精度的定时(即能够在一个传输周期内分布传输的精度,通常在200ns到100μs的范围内),但它例如足以根据传输周期同步数据传输的定时,传输周期例如可以具有在500μs到50ms之间、通常大约1ms的典型时间间隔。此外,虽然例如发起者节点(例如发送至少一个重复传输的电信网络节点)可能被要求根据传输周期来同步它们的传输,并且因此要使用同步的时间基,但电信网络的其他节点不一定要求使用同步的时间基,例如至少只要这些节点不传输干扰重复传输的数据传输,即特别是在重复传输的传输周期内或为重复传输保留的部分传输周期内传输这些数据传输,和/或至少只要这些节点的数据传输的优先级低于数据流的重复数据传输,因此被拒绝或缓冲用于以后的传输。然而,例如,可能要求一些或所有其他节点至少转发时间同步信号,以便将时间同步信号提供给发起者节点,其中发起者节点的每个节点适于基于时间同步信号建立同步的时间基。
在通过电信网络的传输被划分为传输周期的一些实施例中,电信网络是时间敏感的网络。
在本申请的意义内,“时间敏感的网络”至少可以指电信网络,其中电信网络适于基于网络周期来传输时间敏感的数据,其中电信网络的所有节点具有共同的时间基。此外,这种时间敏感的网络可以适于在以太网上进行时间敏感的数据传输。为此,时间敏感的网络可以具有适于提供时间同步信号的中心实例。此外,所有的节点都可以适于(至少)转发时间同步信号。此外,一些节点(例如用于发送数据的节点)可以适于基于时间同步信号来建立同步的时间基。此外,这种时间敏感的网络可以取决于IEEE 802.1Q的以太网标准。因此,数据传输可以被划分为时间敏感的数据传输和其他数据传输,其中时间敏感的数据传输可以经由在底层电信网络(例如,作为一个整体的时间敏感的网络)之上定义的虚拟LAN传输,该底层电信网络是根据诸如IEEE 802.3的以太网标准的。关于根据以太网标准的电信网络的进一步细节例如通过以下方式给出
https://en.wikipedia.org/wiki/Ethernet
例如,在日期为2019年8月4日的版本中
https://en.wikipedia.org/w/index.php?title=Ethernet&oldid=909327347
并且关于时间敏感的网络的进一步细节例如通过以下给出
https://en.wikipedia.org/wiki/Time-Sensitive_Networking
例如,在日期为2019年7月13日的版本中
https://en.wikipedia.org/w/index.php?title=Time-Sensitive_ Networking&oldid=906080116。
例如,对于其中电信网络是时间敏感的网络的实施例,或者对于用于控制时间关键过程、诸如制造过程或用于控制(例如自动)车辆的过程的实施例,一个要求可以是所有高优先级的数据传输、例如重复数据传输(在一个网络周期内到达它们相应的目的地节点而不丢失传输、例如不丢失帧)。因此,必须规划和/或提供电信网络,包括:数据传输发送顺序(例如重复传输的传输顺序)、通过电信网络的用于传输重复传输的路径以及阶段分配。通过将作为电信网络的时间敏感的网络与基于数值优化的阶段的确定以及根据阶段和关于网络周期的重复传输的调度相结合,可以有益地满足这些要求。此外,通过抢占机制,可以有益地避免具有较低优先级的数据传输的干扰。
在一些实施例中,例如其中电信网络是时间敏感的网络,(重复)传输被实现为诸如以太网帧的帧。因此,(重复)传输也可以称为帧。
根据一些实施例,每个数据流的相应重复传输具有高优先级,而其他数据传输具有低优先级,其中在具有低优先级的数据传输被传输之前,至少一定量的具有高优先级的数据传输被传输,例如在网络链路处/通过网络链路。在一些实现中,还基于阶段分配(例如基于相应阶段)调度具有低优先级的数据传输,该阶段分配基于类似于或等于数值优化的优化进行确定。这可以有益地提高电信网络的带宽的利用率。
在本申请的含义内,“高优先级”或分别地“低优先级”可以至少指例如关于以太网标准使用的术语。此外,这些术语还可以指相对优先级,其中具有高优先级的数据传输比具有低优先级的数据传输具有更高的优先级,或者分别地具有低优先级的数据传输比具有高优先级的数据传输具有更低的优先级。
在一些实施例中,其中确定针对发起者节点组中的至少一个发起者节点和多个阶段中的至少一个阶段的至少一组重复传输的传输顺序,该至少一组重复传输的每个相应重复传输来自源自至少一个发起者节点的相应数据流,其中至少一个阶段已经被分配给相应数据流,或者另外的阶段已经被分配给相应数据流,使得另外的阶段的数量和相应重复传输的相应重复率的整数倍等于该至少一个阶段的数量。
在一些实施例中,其中针对发起者节点组中的至少一个发起者节点和多个阶段中的至少一个阶段确定传输顺序(例如至少一组重复传输的传输顺序),传输顺序的确定考虑到顺序标准,例如重复传输(例如,由被调度用于传输的重复传输组成的至少一组重复传输)的最坏情况到达时间,该重复传输被调度用于由至少一个发起者节点在至少一个阶段内根据其阶段分配和重复率发送。
在一些实施例中,其中确定针对发起者节点组中的至少一个发起者节点和多个阶段中的至少一个阶段的至少一组重复传输的传输顺序,传输顺序的确定包括(例如由其执行):通过考虑相应的顺序标准(例如,至少一组重复传输中的每个重复传输的相应最坏情况到达时间)对至少一组重复传输进行排序。
根据一些实施例,(相应的)顺序标准是与最坏情况估计(例如最坏情况到达时间)相关的标准。这可以有利地允许基于阶段分配确定针对发起者节点和阶段的传输顺序(例如考虑到这样的顺序标准),但独立于其他阶段和/或独立于针对其他发起者节点的可能的传输顺序。
在本申请的含义内,“最坏情况”至少可以指对场景的估计,其中从一个或多个可能性、例如场景的实现中选择最坏的可能性。通过这样的估计,可以有利地保证,如果在最坏情况下满足条件或约束,则在该场景的所有其他可能实现中也将满足该条件或约束。例如,对于由干扰引起的最坏情况延迟,相应传输与最终可能干扰的任何其他传输(任何其他传输例如在相同阶段内传输并且与相应的节点共享至少一个链路或节点)的每一个可能的干扰被考虑,例如进行累加。同样地,(重复)传输的最坏情况到达时间,例如传输到达时间,可以被计算为传输开始时间和传输行进持续时间以及由干扰引起的最坏情况延迟的总和,其中通常传输开始时间被(预先)确定(例如由传输顺序确定),并且由于通过电信网络的(预先)确定的路径,传输行进持续时间是固定的,因此只有一种可能性和/或总是表示/实现最佳和最坏情况。在传输可以沿着至少两个路径传输的情况下,即对于传输行进持续时间,也可以使用最坏情况传输行进持续时间,即至少两个路径中导致更长行进持续时间的路径。因此,数据流的(重复)传输的最坏情况到达时间也可以被称为“最大到达时间”,因为最坏情况到达时间是(重复)传输的所有可能的到达时间中的最大值,例如对于给定的阶段,考虑任何可能的干扰,而在导致另一个可能到达时间的其他实现中,与其他传输的一些干扰可能不会发生。此外,“最大到达时间”也可以指所有(数据)流上的最大到达时间,例如来自发起者节点组中的一个或一些或全部发起者节点,其中所有这些流的最大到达时间是这些数据流的每个(重复)传输的每个最大/最坏情况到达时间的最大值,并且可能是多个阶段的所有阶段上的最大/最坏情况到达时间的最大值,或者分别地,是关于多个阶段中的一个阶段的最大/最坏情况到达时间的最大值。
在一些实施例中,其中通过排序确定至少一组重复传输的传输顺序,排序例如包括排序、由排序组成或通过排序执行并且例如借助排序算法,排序基于比较函数,该比较函数考虑了相应顺序标准、例如至少一组重复传输的每个重复传输的相应最坏情况到达时间。
尽管本发明已经相对于某些优选实施例进行了示出和描述,但本领域的其他技术人员在阅读和理解说明书时将会进行等效和修改。本发明包括所有这样的等效和修改,并且仅受所附权利要求的范围的限制。
Claims (15)
1.一种用于调度通过电信网络(100,102,104)的多个数据流的传输的计算机实现的方法(400),其中根据相应重复传输的相应重复率在多个阶段中的一个或多个中,从发起者节点组(120)的发起者节点(122,124)传输多个数据流中的每个数据流的相应重复传输;所述方法(400)包括:
-(426)从所述发起者节点组中选择第一发起者节点(122);
-(430,440)迭代多个数据流中的数据流,所述数据流的重复传输是从发起者节点组(120)的所选择的发起者节点(122,124)发送的,并且在迭代(440)的每次迭代中:
--(442)基于选择标准,从来自所选择的发起者节点的数据流中选择数据流;和
--(444)基于分配标准,将多个阶段中的阶段分配给所选择的数据流,所述分配标准考虑了先前选择的数据流及其对相应阶段的分配;
并且其中根据相应阶段来调度每个数据流的相应重复传输。
2.根据权利要求1所述的方法(400),进一步包括:
-(460)在给多个数据流中的每个数据流分配阶段之后,基于对多个数据流中的每个数据流的阶段分配,针对发起者节点组中的至少一个发起者节点并且针对多个阶段中的至少一个阶段确定传输顺序;和
-(470)调度每个数据流的相应重复传输,其中相应重复传输在分配给相应数据流的相应阶段开始,并且在等于相应重复率的阶段数量之后重复地传输,并且其中在每个阶段内,根据传输顺序来传输来自相同发起者节点(122,124)的重复传输。
3.根据权利要求1所述的方法(400),进一步包括:
-(470)调度每个数据流的相应重复传输,其中相应重复传输在分配给相应数据流的相应阶段开始,并且在等于相应重复率的阶段数量之后重复地传输,并且其中在每个阶段内,根据传输顺序来传输来自相同发起者节点(122,124)的重复传输,其中所述传输顺序由给每个数据流分配相应阶段的顺序来确定(460)。
4.根据前述权利要求中任一项所述的方法(400),其中所述选择标准是基于所述相应重复传输的相应重复率和所述相应重复传输的行进持续时间的,并且其中所述方法还包括:
-(436)将来自多个数据流的数据流按其相应重复率的升序进行排序,所述数据流的重复传输是从所选择的发起者节点发送的;和
-(434)将具有相同重复率的经排序的数据流按其相应行进持续时间的降序进行进一步排序;
其中数据流的迭代和选择是通过迭代经排序的数据流来执行的。
5.根据权利要求1至3中任一项所述的方法,其中所述选择标准从以下组中选择,所述组包括:相应重复率、相应重复传输的持续时间、相应重复传输的行进持续时间、用于形成相应重复传输的路径长度、相应重复传输的数据量或其组合。
6.根据前述权利要求中任一项所述的方法(400),其中发起者节点(122,124)的组(120)包括所述第一发起者节点(122)和第二发起者节点(124),所述方法还包括:
-(426)在选择第一发起者节点并且给数据流分配阶段之后选择第二发起者节点(124),所述数据流的重复传输是从第二发起者节点(124)发送的;
-(430,440)迭代多个数据流中的数据流,以便为它们分配阶段,所述数据流的重复传输是从发起者节点组的第二发起者节点发送的。
7.根据权利要求6所述的方法(400),其中所述发起者节点组(120)还包括一个或多个另外的发起者节点;并且其中所述发起者节点组的每个发起者节点(122,124)是被选择的(426),并且针对每个发起者节点(122,124)执行迭代(430,440),其中随机确定(425)每个发起者节点(122,124)的选择(426)的顺序;并且其中至少以随机确定的顺序进行选择和重复(418)迭代至少预定次数,直到(416)满足调度约束。
8.根据权利要求6或7所述的方法(400),其中,所述电信网络(100,102,104)针对多个数据流中的每个数据流包括通过所述电信网络的相应路径,所述相应路径用于相应数据流的相应重复传输;
并且其中所述方法进一步包括:
-(424)对于每个相应路径,确定所述相应路径是否包括共享网络链路(130,132,134,136,138),其中所述共享网络链路也是所述多个流中的另外的数据流的路径的一部分;
并且其中对于所选择的数据流与任何数据流之间的多个阶段中的阶段的干扰的度量是每个重复传输的相应持续时间上的总和,所述所选择的数据流是在所述迭代的迭代中选择的,所述任何数据流的重复传输是在所述阶段内从任何先前选择的发起者节点发送的并且所述任何数据流的路径包括与所述所选择的数据流的路径共享的共享网络链路。
9.根据前述权利要求中任一项所述的方法(400),其中,所述分配标准是在所选择的发起者节点处的累积发送延迟的度量和在所选择的数据流与任何数据流之间的干扰的度量,所述任何数据流的重复传输是从任何先前选择的发起者节点(122、124)发送的。
10.根据前述权利要求中任一项所述的方法(400),所述迭代进一步包括:
--(454)在所述迭代的迭代中将相应阶段分配给所选择的数据流之后,在考虑到所选择的数据流和每个先前选择的数据流的相应传输的相应持续时间的情况下,确定对于相应阶段在所选择的发起者节点处的累积发送延迟的度量,所述每个先前选择的数据流的重复传输是在所述阶段内从所选择的发起者节点发送的;和
--(448)当将相应阶段分配(444)给所选择的数据流时,确定在所选择的数据流和任何数据流之间的干扰的度量,所述任何数据流的重复传输是从多个阶段中的每个阶段(446,410)的任何先前选择的发起者节点发送的,所述每个阶段小于或等于所选择的数据流的重复传输的相应重复率,并且如果在所选择的发起者节点的迭代的先前迭代中确定了累积发送延迟,则将阶段分配(452)给所选择的数据流,所述所选择的数据流具有干扰的度量和累积发送延迟的度量的最小总和。
11.根据前述权利要求中任一项所述的方法(400),其中所述电信网络(100,102,104)是时间敏感的网络,并且其中所述传输被划分为传输周期,所述传输周期具有预定持续时间,并且其中所述传输周期与所述多个阶段之一循环地相关联。
12.一种用于调度通过电信网络(100,102,104)的多个数据流的传输的另外的计算机实现的方法,其中,根据相应重复传输的相应重复率,在多个阶段中的一个或多个中,从发起者节点组(120)的发起者节点(122,124)发送多个数据流中的每个数据流的相应重复传输;所述方法包括:
-为多个数据流中的每个数据流确定阶段分配,其中将多个阶段中的相应阶段分配给多个数据流中的每个相应数据流;和
-(460)在为多个数据流中的每个数据流分配阶段之后,基于对多个数据流中的每个数据流的阶段分配,确定针对发起者节点组中的至少一个发起者节点和针对多个阶段中的至少一个阶段的至少一组重复传输的传输顺序。
13.根据权利要求12所述的另外的方法,其中,所述传输顺序的确定考虑顺序标准,例如重复传输的最坏情况到达时间,所述重复传输被调度用于由至少一个发起者节点在至少一个阶段内根据其阶段分配和重复率发送。
14.根据权利要求12或13所述的另外的方法,其中:
所述至少一组重复传输的每个相应重复传输来自源自所述至少一个发起者节点的相应数据流;
所述至少一个阶段已经被分配给相应数据流,或者另外的阶段已经被分配给相应数据流,使得所述另外的阶段的数量和所述相应重复传输的相应重复率的整数倍等于所述至少一个阶段的数量;和
通过在考虑至少一组重复传输的每个重复传输的相应最坏情况到达时间的情况下对至少一组重复传输进行排序,来执行传输顺序的确定。
15.一种用于电信网络(100)的网络调度设备(300),其中,根据相应重复传输的相应重复率,在多个阶段中的一个或多个中,从所述电信网络的发起者节点组(120)中的发起者节点发送多个数据流中的每个数据流的相应重复传输;所述网络调度设备包括数据处理设备(340),所述数据处理设备适于:
-从所述发起者节点组中选择第一发起者节点;
-迭代多个数据流中的数据流,所述数据流的重复传输是从所述发起者节点组的所选择的发起者节点发送的,并且在每次迭代时:
--基于选择标准,从来自所选择的发起者节点的数据流中选择数据流;和
--基于分配标准将多个阶段中的阶段分配给所选择的数据流,所述分配标准考虑了先前选择的数据流及其对相应阶段的分配;
并且其中根据相应阶段来调度每个数据流的相应重复传输。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2019/079676 WO2021083510A1 (en) | 2019-10-30 | 2019-10-30 | Scheduling transmissions through a telecommunication network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114830609A true CN114830609A (zh) | 2022-07-29 |
CN114830609B CN114830609B (zh) | 2024-03-26 |
Family
ID=68536781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980103119.2A Active CN114830609B (zh) | 2019-10-30 | 2019-10-30 | 调度通过电信网络的传输 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240171527A1 (zh) |
EP (1) | EP4014448B1 (zh) |
CN (1) | CN114830609B (zh) |
WO (1) | WO2021083510A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4258617A1 (en) * | 2022-04-08 | 2023-10-11 | Siemens Aktiengesellschaft | Computer-implemented method, computer-implemented tool and control system for tracking multicyclic traffic of time sensitive networking (tsn)"-networks with synchronized end-stations |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1343099A2 (de) * | 2002-03-06 | 2003-09-10 | APE Ptacek Engineering GmbH | Kommunikationssystem für Datenbanken |
US20060067235A1 (en) * | 2004-09-24 | 2006-03-30 | Swarup Acharya | Differential delay constrained routing for virtually-concatenated data traffic |
US20070116027A1 (en) * | 2005-11-21 | 2007-05-24 | Alcatel | Device and method for generating priority preservation composite bursts, for a network equipment of a burst switching communication network |
CN101601203A (zh) * | 2007-01-30 | 2009-12-09 | 摩托罗拉公司 | 用于在通信网络上发射帧的方法和装置 |
CN102714520A (zh) * | 2010-01-15 | 2012-10-03 | 索尤若驱动有限及两合公司 | 用于在同一线路上进行数据和能量传输的方法及相应的数据传输系统 |
CN103036792A (zh) * | 2013-01-07 | 2013-04-10 | 北京邮电大学 | 一种最大化最小公平多数据流传输调度方法 |
CN107113770A (zh) * | 2014-12-23 | 2017-08-29 | 高通股份有限公司 | 到大群集中的节点的高效成对测距 |
CN108923885A (zh) * | 2018-06-19 | 2018-11-30 | 重庆邮电大学 | 一种用于窄带物联网系统的重复传输数的选择方法 |
CN110199278A (zh) * | 2016-11-25 | 2019-09-03 | 西门子股份公司 | 计算机网络中的高效数据传播 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108702325B (zh) * | 2016-02-16 | 2021-03-12 | 苹果公司 | 增强网络业务的通信 |
-
2019
- 2019-10-30 EP EP19801733.7A patent/EP4014448B1/en active Active
- 2019-10-30 WO PCT/EP2019/079676 patent/WO2021083510A1/en active Application Filing
- 2019-10-30 US US17/773,269 patent/US20240171527A1/en active Pending
- 2019-10-30 CN CN201980103119.2A patent/CN114830609B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1343099A2 (de) * | 2002-03-06 | 2003-09-10 | APE Ptacek Engineering GmbH | Kommunikationssystem für Datenbanken |
US20060067235A1 (en) * | 2004-09-24 | 2006-03-30 | Swarup Acharya | Differential delay constrained routing for virtually-concatenated data traffic |
US20070116027A1 (en) * | 2005-11-21 | 2007-05-24 | Alcatel | Device and method for generating priority preservation composite bursts, for a network equipment of a burst switching communication network |
CN101601203A (zh) * | 2007-01-30 | 2009-12-09 | 摩托罗拉公司 | 用于在通信网络上发射帧的方法和装置 |
CN102714520A (zh) * | 2010-01-15 | 2012-10-03 | 索尤若驱动有限及两合公司 | 用于在同一线路上进行数据和能量传输的方法及相应的数据传输系统 |
CN103036792A (zh) * | 2013-01-07 | 2013-04-10 | 北京邮电大学 | 一种最大化最小公平多数据流传输调度方法 |
CN107113770A (zh) * | 2014-12-23 | 2017-08-29 | 高通股份有限公司 | 到大群集中的节点的高效成对测距 |
CN110199278A (zh) * | 2016-11-25 | 2019-09-03 | 西门子股份公司 | 计算机网络中的高效数据传播 |
CN108923885A (zh) * | 2018-06-19 | 2018-11-30 | 重庆邮电大学 | 一种用于窄带物联网系统的重复传输数的选择方法 |
Non-Patent Citations (4)
Title |
---|
NAYAK NARESH GANESH ET: "《Incremental Flow Scheduling and Routing in Time-Sensitive Software-Defined Networks》", 《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》 * |
余洋;艾中良;: "基于分布式计算的密集型多路网络流均衡调度方法", 科技通报, no. 05 * |
梁佳雯;张劭昀;郭海双;: "FlexRay静态部分基于优先级调度问题的研究", 现代计算机(专业版), no. 06 * |
霍成义;吴振强;: "重路由匿名通信系统中前驱攻击模型研究", 计算机工程与设计, no. 05 * |
Also Published As
Publication number | Publication date |
---|---|
CN114830609B (zh) | 2024-03-26 |
WO2021083510A1 (en) | 2021-05-06 |
EP4014448A1 (en) | 2022-06-22 |
EP4014448C0 (en) | 2024-02-14 |
EP4014448B1 (en) | 2024-02-14 |
US20240171527A1 (en) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210073689A1 (en) | Method for generating a schedule for mixed critical computer networks | |
US20240098033A1 (en) | Centralized network configuration entity and time-sensitive network control system comprising same | |
CN109743144A (zh) | 基于时间触发以太网的静态调度表生成方法、航电系统 | |
CN113032938A (zh) | 时间敏感流的路由调度方法、装置、电子设备及介质 | |
Kentis et al. | Effects of port congestion in the gate control list scheduling of time sensitive networks | |
EP4125249A1 (en) | Method to configure real-time communications in a network with time-triggered and rate-constrained traffic | |
US11329747B2 (en) | Scheduling deterministic flows in time synchronized networks | |
US20180026900A1 (en) | Method Of Transmitting Data Between A Source Node And Destination Node | |
CN114830609B (zh) | 调度通过电信网络的传输 | |
Jiang et al. | Assessing the traffic scheduling method for time-sensitive networking (TSN) by practical implementation | |
KR102620137B1 (ko) | Tsn 트래픽 스케줄링에 대한 구현 및 평가 방법 | |
CN114039936B (zh) | 基于时间敏感的虚拟电厂通信业务流量调度方法及装置 | |
Grigorjew et al. | Dynamic Real-Time Stream Reservation with TAS and Shared Time Windows | |
CN105099925B (zh) | 用于确定性网络的分层调度方法、装置以及介质 | |
CN114830610A (zh) | 电信网络中的干扰抑制 | |
CN114285541A (zh) | 一种基于时延误差时间触发以太网调度表生成方法 | |
Wisniewski et al. | Scheduling of profinet irt communication in redundant network topologies | |
US10567306B2 (en) | Communication management list generation device, communication management list generation method, and storage medium in which communication management list generation program is stored | |
KR102595945B1 (ko) | 산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법 | |
Garreau et al. | Link between real-time scheduling and time-triggered networks | |
WO2021083508A1 (en) | Interference reduction in telecommunication networks | |
CN117978753A (zh) | 一种基于流量排序的时间敏感网络调度方法及装置 | |
Balashov et al. | Iterative Co-Scheduling of Tasks and Their Data Exchange Through Virtual Link-Based Packet Switched Network | |
CN118400325A (zh) | 一种流量调度方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |