用于避免在(TSNDetNet的)无缝冗余的重置机制中的重复递送的系统和方法与流程

专利2023-07-06  114

用于避免在(tsn/detnet的)无缝冗余的重置机制中的重复递送的系统和方法
1.相关申请本技术要求2020年3月13日提交的序列号为62/989305的临时专利申请的权益,该临时专利申请的公开通过引用全部由此结合到本文中。
技术领域
2.本公开涉及时间敏感联网(tsn)网络、确定性联网(detnet)或类似的网络技术中的冗余机制,并且更具体地涉及避免由相关联的重置机制引起的重复递送。


背景技术:

3.在电子和电气工程师协会(ieee)当前正在开发时间敏感联网(tsn)作为一种新技术,该技术将ieee 802.1和ieee 802.3以太网标准增强至全新的确定性水平。它可以看作是以太网为保证低的端到端时延、低的抖动和低的分组丢失而进行的演进。
4.ieee 802.1工作组(wg)内的tsn任务组(tg)研究通过ieee 802网络的确定性服务。tsn tg规定了tsn工具箱的工具以及为特定目的而使用这些工具。tsn tg受特许给通过ieee 802网络的确定性服务提供:

有保证的分组传输,

低的分组丢失,

有界限的低的时延,以及

低的分组延迟变化。
5.为了实现极低的分组丢失,tsn tg规定了用于可靠性的帧复制和消除(frer)(802.1cb),frer旨在避免由设备故障引起的帧丢失。它实际上是每帧1+1(或1+n)冗余功能。没有结合故障检测/切换。frer在两个(或更多个)最大不相交路径上发送帧,然后组合这些流,并且删除额外的帧。
6.注意,为确定性联网(detnet)网络定义了与分组复制和消除功能(pref)相同的功能,以便简化实现并且允许在第2层(tsn)和第3层(detnet)网络中使用相同的概念。在本文所提供的描述中,焦点在于frer。
7.注意,按照ieee 802.1cb:
“……
此标准定义了用于可靠性的帧复制和消除(frer),它将一个流分成一个或多个链接的成员流,从而使原始流成为复合流。它复制该流的分组,将副本拆分到多个成员流中,然后在一个或多个其它点重新结合那些成员流,消除复制品,并且从那些点递送重构的流”。
8.消除功能评估从较低层向上传递的一个或多个成员流的分组的“sequence_number”子参数,以便丢弃重复的分组。“sequencehistory”变量维持最近接收的分组的“sequence_number”子参数的历史。在重复消除期间,对照历史窗口(“+/-frerseqrcvyhistorylength”)检查“sequence_number”。在历史窗口之外的分组被当作无效而丢弃。在正常操作下,接收的分组在历史窗口之内,并且仅丢弃复本。
9.ieee 802.1cb为消除功能定义了超时机制,以便应对导致不必要地丢弃的帧的一些联网场景(例如,如果消除功能不知何故变得与它的对应的序列生成功能不同步;如果重置了序列生成功能;等等)。如果发生超时,则重置历史,并且允许通过恢复算法接受下一个分组,而不管它的“sequence_number”子参数的值如何(参见ieee 802.1cb中的7.4.3.2.6中的“takeany”)。
10.关于如ieee 802.1cb中所定义的frer,当前存在某种或某些挑战。ieee 802.1cb-2017中所定义的序列恢复功能的重置方法有时可能导致暂时的重复递送。重复递送(即使是暂时的)对于tsn网络是不可接受的,因为它打破了基本设计规则之一,即,不允许tsn流消耗超过为它预留的资源。经由重复递送消耗超过指定资源可能导致违反有些流的服务质量(qos)要求,例如,延迟或丢失违反。


技术实现要素:

11.本文中公开用于避免在例如时间敏感联网(tsn)网络或确定性联网(detnet)网络的无缝冗余的重置机制中的重复递送的系统和方法。在一个实施例中,一种由基于序列编号或等效功能性实现冗余机制的接收节点执行的方法包括:经由网络从传送节点接收来自多个分组流的分组。多个分组流中的每个分组流是特定分组流的复制,多个分组流从传送节点通过网络到接收节点穿过分开的路径,并且多个分组流中的每个分组流的每个分组包括指明分组在特定分组流内的位置的序列指示。该方法进一步包括:执行消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组,其中,执行消除规程包括:当接收分组时,响应于事件的发生而重置消除规程所采用的一个或多个参数;以及响应于重置消除规程所采用的一个或多个参数,丢弃从重置消除规程之时到所定义时段结束为止由消除规程处理的所有接收的分组。以这种方式,不会由于用于基于序列号的无缝冗余的序列生成功能的重置而发生重复递送。
12.在一个实施例中,所定义时段的持续时间等于或大于多个分组流通过网络所穿过的任何两条路径之间的最大路径延迟差。在另一个实施例中,所定义时段的持续时间等于多个分组流通过网络所穿过的任何两条路径之间的最大路径延迟差。
13.在一个实施例中,丢弃从重置消除规程之时到所定义时段结束为止由消除规程处理的接收的分组包括:启动计时器,该计时器被设置成等于或大于多个分组流通过网络所穿过的任何两条路径之间的最大路径延迟差的值;以及只要时间在运行,就丢弃由消除规程处理的接收的分组。
14.在一个实施例中,执行消除规程进一步包括:接受在所定义时段结束之后的第一个接收的分组。
15.在一个实施例中,网络是tsn网络,并且消除规程是作为接收节点的用于可靠性的帧复制和消除(frer)功能的一部分来执行的。在一个实施例中,重置的一个或多个参数包括恢复序列号参数和序列历史参数。
16.在一个实施例中,网络是detnet网络,并且消除规程是作为接收节点的分组复制和消除功能(pref)功能的一部分来执行的。
17.在一个实施例中,序列指示是序列号。在另一个实施例中,序列指示是时间戳。
18.还公开接收节点的对应实施例。在一个实施例中,基于序列编号或等效功能性实
现冗余机制的接收节点适合于:经由网络从传送节点接收来自多个分组流的分组。多个分组流中的每个分组流是特定分组流的复制,多个分组流从传送节点通过网络到接收节点穿过分开的路径,并且多个分组流中的每个分组流的每个分组包括指明分组在特定分组流内的位置的序列指示。接收节点进一步适合于:执行消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组。为了执行消除规程,接收节点进一步适合于:当接收分组时,响应于事件的发生而重置消除规程所采用的一个或多个参数;以及响应于重置消除规程所采用的一个或多个参数,丢弃从重置消除规程之时到所定义时段结束为止由消除规程处理的所有接收的分组。
19.在一个实施例中,一种基于序列编号或等效功能性实现冗余机制的接收节点包括:网络接口;以及与网络接口相关联的处理电路。处理电路配置成致使接收节点经由网络从传送节点接收来自多个分组流的分组。多个分组流中的每个分组流是特定分组流的复制,多个分组流从传送节点通过网络到接收节点穿过分开的路径,并且多个分组流中的每个分组流的每个分组包括指明分组在特定分组流内的位置的序列指示。处理电路进一步配置成致使接收节点执行消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组。为了执行消除规程,处理电路进一步配置成致使接收节点:当接收分组时,响应于事件的发生而重置消除规程所采用的一个或多个参数;以及响应于重置消除规程所采用的一个或多个参数,丢弃从重置消除规程之时到所定义时段结束为止由消除规程处理的所有接收的分组。
20.在一个实施例中,一种由基于序列编号或等效功能性实现冗余机制的接收节点执行的方法包括:经由网络从传送节点接收来自多个分组流的分组。多个分组流中的每个分组流是特定分组流的复制,多个分组流从传送节点通过网络到接收节点穿过分开的路径,并且多个分组流中的每个分组流的每个分组包括指明分组在特定分组流内的位置的序列指示。该方法进一步包括:执行消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组,其中,执行消除规程包括:当接收分组时,检测重置事件的发生;以及响应于检测到重置事件,执行一个或多个动作以丢弃或接受(一个或多个)接收的分组,其中,一个或多个动作取决于重置的根本原因。
21.在一个实施例中,执行一个或多个动作包括:确定重置事件的根本原因;确定重置事件的根本原因是否是开始事件或初始化事件;以及响应于确定重置事件的根本原因是开始事件或初始化事件,收集并存储自重置事件以来的前“n”个接收的分组,从前“n”个接收的分组之中选择具有最新序列指示的分组,以及接受所选择的分组,并且丢弃前“n”个接收的分组中的其余分组。
22.在一个实施例中,执行一个或多个动作包括:确定重置事件的根本原因是否是管理事件;以及响应于确定重置事件的根本原因是管理事件,确定是否能够接受自重置事件以来的第一个接收的分组;以及响应于确定能够接受自重置事件以来的第一个接收的分组,接受第一个接收的分组。在一个实施例中,确定是否能够接受自重置事件以来的第一个接收的分组包括:保留多个序列恢复相关变量为它们在重置事件之前那样,其中,多个序列恢复相关变量包括历史窗口和指明是否已经接收过具有特定序列指示的分组的一个或多个参数;确定第一个接收的分组的序列指示是否在预定义的历史窗口之外;如果第一个接收的分组在历史窗口之外,则确定能够接受第一个接收的分组。确定是否能够接受自重置
事件以来的第一个接收的分组进一步包括:如果第一个接收的分组在历史窗口之内,则基于指明是否已经接收过具有特定序列指示的分组的一个或多个参数,确定是否已经接收过第一个接收的分组;以及如果已经接收过第一个接收的分组,则确定要丢弃第一个接收的分组,否则,确定要接受第一个接收的分组。
23.在一个实施例中,执行一个或多个动作包括:确定重置事件的根本原因是否是恢复超时事件;以及响应于确定重置事件的根本原因是恢复超时事件,接受自重置事件以来的第一个接收的分组。
24.在一个实施例中,网络是tsn网络,并且消除规程是作为接收节点的frer功能的一部分来执行的。在一个实施例中,关联到消除规程的一个或多个参数包括恢复序列号参数和序列历史参数。
25.在一个实施例中,网络是detnet网络,并且消除规程是作为接收节点的pref功能的一部分来执行的。
26.在一个实施例中,序列指示是序列号。在另一个实施例中,序列指示是时间戳。
27.还公开接收节点的对应实施例。在一个实施例中,一种基于序列编号或等效功能性实现冗余机制的接收节点适合于:经由网络从传送节点接收来自多个分组流的分组。多个分组流中的每个分组流是特定分组流的复制,多个分组流从传送节点通过网络到接收节点穿过分开的路径,并且多个分组流中的每个分组流的每个分组包括指明分组在特定分组流内的位置的序列指示。该接收节点进一步适合于:执行消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组。为了执行消除规程,接收节点进一步适合于:当接收分组时,检测重置事件的发生;以及响应于检测到重置事件,执行一个或多个动作以丢弃或接受接收的分组,其中,一个或多个动作取决于重置的根本原因。
28.在一个实施例中,一种基于序列编号或等效功能性实现冗余机制的接收节点包括:网络接口;以及与网络接口相关联的处理电路。处理电路配置成致使接收节点经由网络从传送节点接收来自多个分组流的分组。多个分组流中的每个分组流是特定分组流的复制,多个分组流从传送节点通过网络到接收节点穿过分开的路径,并且多个分组流中的每个分组流的每个分组包括指明分组在特定分组流内的位置的序列指示。处理电路进一步配置成致使接收节点执行消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组。为了执行消除规程,处理电路进一步配置成致使接收节点:当接收分组时,检测重置事件的发生;以及响应于检测到重置事件,执行一个或多个动作以丢弃或接受接收的分组,其中,一个或多个动作取决于重置的根本原因。
附图说明
29.结合到本说明书中并形成本说明书的一部分的附图示出本公开的若干方面,并且与本描述一起用于解释本公开的原理。
30.图1示出在时间敏感联网(tsn)网络中在重置接收节点处的序列恢复功能之后的此类重复递送;图2示出包括传送(tx)节点和接收(rx)节点并且可在其中实现本公开的实施例的系统;图3是根据本文所描述的第一解决方案的一个实施例示出图2的rx节点处的消除
功能的操作的状态图;图4是根据本文所描述的第一解决方案的至少一些方面示出rx节点的操作的流程图;图5是根据本文所描述的第二解决方案的一个实施例示出图2的rx节点处的消除功能的操作的状态图;图6是根据本文所描述的第二解决方案的至少一些方面示出rx节点的操作的流程图;图7a是根据本公开的一个实施例更详细地示出图6的步骤602b的流程图;图7b是根据本公开的一个实施例更详细地示出图7a的步骤714的流程图;以及图8、图9和图10是根据本公开的一些实施例的rx节点的示意性框图。
具体实施方式
31.现在将参照附图更全面地描述本文所设想的实施例中的一些实施例。但是,本文所公开的主题的范围内包含其它实施例,不应将所公开的主题解释为仅限于本文所阐述的实施例;而是,举例提供这些实施例,以便向本领域技术人员传达主题的范围。
32.下面阐述的实施例代表使本领域技术人员能够实践这些实施例并且示出实践这些实施例的最佳模式的信息。一旦根据附图阅读以下描述,本领域技术人员将会理解本公开的概念,并且将意识到本文没特别提及的这些概念的应用。应该理解,这些概念和应用落入本公开的范围内。
33.一般来说,除非在使用术语的上下文中清楚地给定和/或暗示不同含义,否则本文所使用的所有术语都要按照它们在相关技术领域中的普通含义来解释。除非另外明确地声明,否则所有对一/某一/该元件、设备、组件、部件、步骤等的提及都要开放式地解释为指该元件、设备、组件、部件、步骤等的至少一个实例。除非将某一步骤明确地描述为在另一步骤之后或之前和/或在暗示某一步骤必须在另一步骤之后或之前的情况下,否则不一定按所公开的确切顺序执行本文所公开的任何方法的步骤。在任何适当的情况下,本文所公开的实施例中的任一实施例的任何特征都可应用于任何其它实施例。同样地,这些实施例中的任一实施例的任何优点都可适用于任何其它实施例,反之亦然。所附实施例的其它目的、特征和优点从以下描述中将会清楚。
34.关于如电子和电气工程协会(ieee)802.1cb中所定义的用于可靠性的帧复制和消除(frer),当前存在某种或某些挑战。ieee 802.1cb-2017中所定义的序列恢复功能的重置方法有时可能导致暂时的重复递送。重复递送(即使是暂时的)对于时间敏感联网(tsn)网络是不可接受的,因为它打破了基本设计规则之一,即,不允许tsn流消耗超过为它预留的资源。经由重复递送消耗超过指定资源可能导致违反有些流的服务质量(qos)要求,例如,延迟或丢失违反。
35.ieee 802.1cb-2017定义了重置序列恢复功能的三个原因:1. begin事件(初始化/重置),2. 管理事件(在本文中又称为mngmt事件)(frerseqrcvyreset=真),以及3. recovery_timeout事件(超时机制到期)。
36.重置序列恢复功能(参见802.1cb-2017的第7.4.3.3节sequencerecoveryreset)
将“recovseqnum”设置为“recovseqspace-1”,清除“sequencehistory”阵列,并且将“takeany”设置为真。
37.在用于无缝冗余的路径之中,一些路径的端到端延迟大于其它路径的端到端延迟。具有较小端到端延迟的路径称为快路径,而具有较大端到端延迟的路径称为慢路径。因此,对于通过不同路径传递的分组的不同副本/复本,端到端延迟是不同的。无缝冗余的这种现象对其操作具有影响。
38.在情形-1(begin)和情形-2(管理)中,慢路径可能正在传递在生成重置之前其对应复本已被节点的消除功能接收并处理(转发)的分组。此类场景导致重复递送。图1示出在重置序列恢复功能之后的此类重复递送。在重置之后,具有sequence_number=4的分组通过快路径到达。它由于“takeany”的真值而被消除功能接受。在重置之后通过慢路径接收的分组(即,分组-1、分组-2和分组-3)也被接受,因为它们在历史窗口中,并且重置已经清除了“sequencehistory”。但是,这些分组已经在重置之前被递送,因此发生重复递送。
39.本公开的某些方面及其实施例可为上述或其它挑战提供解决方案。本文公开了用于避免在tsn或确定性联网(detnet)的无缝冗余的重置机制中的重复递送的系统和方法。特别是,在一些实施例中,这些系统和方法确保重置功能不造成重复递送。在一个实施例中,在重置之后添加重置-保护期(在本文中又称为保护计时器),期间丢弃接收的分组。在另一个实施例中,将重置规程修改为根本原因相关的。
40.本文所公开的实施例对ieee 802.1cb的消除功能提供了改进,以便实现序列恢复功能的无缝重置。在一个实施例中,提供一种基于保护计时器的重置方法。在另一个实施例中,提供一种考虑到重置的根本原因的重置方法。
41.本文所描述的解决方案的实施例可适用于tsn的frer、detnet的分组复制和消除功能(pref)、或者基于序列编号或(例如,由时间戳提供的)等效功能性的其它无缝冗余机制。一般来说,本文描述了避免在冗余机制(诸如tsn的frer或detnet的pref)的定序功能的重置的事件中的重复分组的系统和方法。
42.某些实施例可提供以下(一个或多个)技术优势中的一个或多个技术优势。本文所描述的实施例可以确保不会因为基于序列号的无缝冗余的序列生成功能的重置而发生重复递送。
43.以下描述聚焦于本文所描述的用于改进ieee 802.1cb中的序列恢复功能的重置的解决方案的实施例。因而,本文使用ieee 802.1cb术语和变量名称,在适当之处表示为“variablename”。新的变量、功能和参数遵循ieee 802.1cb命名约定,并且表示为“newentityname”。虽然以下描述使用由ieee 802.1cb规定的术语、定义和功能,但是本文所描述的解决方案可适用于tsn的frer、detnet的pref、或者基于序列编号或(例如,由时间戳提供的)等效功能性的其它无缝冗余机制。
44.图2示出系统200,该系统包括传送(tx)节点202和接收(rx)节点204,其中,tx节点202经由tsn网络206向rx节点204传送复制分组流。如上文所论述,复制分组流的传输涉及将分组流复制到多个成员流中,从而提供复合流。然后,经由tsn网络206经由包括(一个或多个)快路径和(一个或多个)慢路径的最大不相交路径将成员流传送到rx节点204。注意,虽然本文中将节点202和204分别表示为“tx节点”和“rx节点”,但是应该理解,这些节点经由tsn网络206可传送流并且可接收流。
45.如图所示,tx节点202包括frer功能208,frer功能208进行操作以在此示例中根据ieee 802.1cb提供frer。frer 208包括复制功能210和消除功能212(在它不用于将流传送到rx节点204的意义上,示为可选的)。以类似的方式,rx节点204包括frer功能214,frer功能214进行操作以在此示例中根据ieee 802.1cb提供frer。frer 214包括复制功能216(在它不用于从tx节点202接收流的意义上,示为可选的)和消除功能222。
46.当接收到由tx节点204传送的复合流的成员流时,rx节点204处的消除功能218评估每个接收的成员流的每个分组的“sequence_number”子参数,以便丢弃重复的分组。rx节点204处的frer 214维持的“sequencehistory”变量维持最近接收的分组的“sequence_number”子参数的历史。在重复消除期间,对照历史窗口(“+/-frerseqrcvyhistorylength”)检查接收的分组的“sequence_number”。如果该分组在历史窗口之外,则该分组被当作无效而丢弃。在正常操作下,接收的分组在历史窗口之内,并且只丢弃复本。如上文所描述,在某些情况下,可重置rx节点204处的序列恢复功能(消除功能218的一部分)。序列恢复功能的重置将“recovseqnum”设置为“recovseqspace-1”,清除“sequencehistory”阵列,并且将“takeany”设置为真。如果使用常规的重置机制,则这可能导致重复的分组被接收(即,没有被消除功能218丢弃),如上文所论述。因而,本文描述了与新的重置机制有关的系统和方法。
47.重复递送的根本原因是慢路径分组按照设计在历史窗口之内。它是rx节点204处的消除功能218的适当操作所需的。因此,历史的目的是避免重复。但是,如果重置清除了历史,则历史所提供的重复消除能力将丢失。
48.本文提出两种解决方案,下面详细描述其中的每种解决方案。
49.第一解决方案是为重置机制扩展增加的重置保护期,期间丢弃接收的分组。重置保护期的持续时间取决于成员流所使用的不同路径的延迟差。例如,任一对成员流之间的最大路径延迟差可以如下计算:maxpathdelaydiff=最大值
对于所有“i”和“j”(pathdelay
i-pathdelayj)其中,“n”表示成员流的数量,并且i,j={1...n}。在一个实施例中,将重置保护期设置为maxpathdelaydiff。但是,在备选实施例中,将重置保护期设置为大于或等于maxpathdelaydiff的值。
50.在一个实施例中,rx节点204处的frer 214的消除功能218如下使用重置保护期计时器(“resetguardtimer”):

当重置序列恢复功能时,消除功能218将“takeany”设置为真,将“resetguardtimer”设置为该流的“maxpathdelaydiff”,并且清除序列号历史(“sequencehistory”)。在ieee 802.1cb中,“takeany”是布尔值,该值指明消除功能218是否要接受下一个分组,而无论它的sequence_number子参数的值如何。“sequencehistory”是已经为该流接收的分组序列号的历史。
51.•
消除功能218丢弃成员流的所有接收的分组,直到“resetguardtimer”到期。
52.•
一旦“resetguardtimer”已到期,消除功能218就接受从成员流中的任一个接收的第一个分组,并且相应地更新“recovseqnum”和“sequencehistory”。在ieee 802.cb中,“recovseqnum”保留所接收的最高序列号值(modulo(recovseqspace)),或者如果自重置序列恢复功能以来没有接收到任何分组,则保留值(recovseqspace-1)。“recovseqnum”变量
是在0至(recovseqspace-1)的范围中的无符号整数。在ieee 802.1cb的第7.4.3.2.1节中定义了recovseqspace。每当重置该功能时,就将recovseqnum初始化为(recovseqspace-1)。当增量超过它的最大值时,新值为0。
53.•
回到正常消除操作。
54.图3是根据第一解决方案示出rx节点204处的消除功能218的操作的状态图。如图所示,从正常消除模式开始,接收分组,并且执行正常消除规程。一旦重置,消除功能218就转变到一状态,在该状态,消除功能218等待,直至resetguardtimer到期。在此计时器到期之前,消除功能218丢弃所有接收的分组。一旦resetguardtimer到期,消除功能218就转变到消除功能218采纳或接受任何接收的分组的状态。一旦接收到分组,消除功能218就返回到消除功能218执行正常消除模式的状态。
55.图4是根据上文所描述的第一解决方案的至少一些方面示出rx节点204的操作的流程图。这里,rx节点204的操作不限于用于tsn的frer。而是,图4的过程普遍适用于tsn的frer、detnet的pref、或者基于序列编号或(例如,由时间戳提供的)等效功能性的其它无缝冗余机制。注意,可选的步骤由虚线/虚线框表示。
56.如图4中所示,rx节点204经由网络(例如,使用tsn网络的以太网网络(本文中称为tsn网络)或者detnet网络(它可以使用任何l2联网技术,包括但不限于以太网))从tx节点202接收来自多个分组流的分组(步骤400)。每个分组流是特定分组流的复制(例如,在ieee 802.1cb术语中,每个分组流是成员流)。分组流从tx节点202通过网络到rx节点204穿过分开的路径(例如,最大不相交路径)。此外,多个分组流中的每个分组流的每个分组包括指明分组在特定分组流内的位置的序列指示。例如,序列指示可以是序列号(例如,如ieee 802.1cb中那样)、时间戳、或者用于定义分组在所复制的特定分组流内的位置的某种等效机制。
57.rx节点202执行消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组(步骤402)。执行消除规程包括:当接收分组时,响应于事件的发生而重置消除规程所采用的一个或多个参数(步骤402a)。举例来说,对于用于tsn的frer,事件可以是begin事件、mngmt事件或recovery_timeout事件。响应于重置消除规程,rx节点202丢弃从重置消除规程之时到所定义时段结束为止由消除规程处理的所有接收的分组(步骤402b)。换句话说,rx节点202丢弃在重置保护期期间被消除规程接收并处理的所有接收的分组。如上文所论述,在一些实施例中,所定义时段的持续时间等于或大于多个分组流通过网络所穿过的任何两条路径之间的最大路径延迟差。在一些其它实施例中,所定义时段的持续时间等于多个分组流通过网络所穿过的任何两条路径之间的最大路径延迟差。
58.在一些实施例中,丢弃从重置消除规程之时到所定义时段结束为止由消除规程处理的接收的分组包括:启动计时器,该计时器被设置成等于或大于多个分组流通过网络所穿过的任何两条路径之间的最大路径延迟差的值(步骤402b1);并且只要时间在运行,就丢弃由消除规程处理的接收的分组(步骤402b2)。这个计时器的一个实施例是上文所论述的重置保护期计时器。
59.在一个实施例中,执行消除规程进一步包括:接受在所定义时段结束之后的第一个接收的分组(步骤402c);以及相应地更新消除规程所采用的一个或多个参数(步骤402d),如上文所描述。
60.在一个实施例中,网络是tsn网络,并且消除规程是作为rx节点204的frer功能的一部分来执行的。此外,在一个实施例中,在步骤402a中重置的一个或多个参数包括恢复序列号参数和序列历史参数,如上文所描述。在另一个实施例中,网络是detnet网络,并且消除规程是作为rx节点204的pref功能的一部分来执行的。
61.在本文所公开的第二解决方案中,根据重置的根本原因修改重置规程。在以下描述中,“n”表示成员流的数量。重置的根本原因可以是begin事件、mngmt事件(序列恢复功能的管理发起的重置)或者recovery_timeout事件。下文针对重置的这些根本原因中的每种原因描述根据第二解决方案的rx节点204处的消除功能218的操作。但是,注意,不要求消除功能218对于重置的所有这些根本原因都实现第二解决方案。而是,消除功能218可对于重置的这些根本原因中的任何一个或多个根本原因实现第二解决方案。
62.在重置的根本原因是begin事件的情况下,存在节点初始化或重置。所有变量都被设置成它们的默认值,并且遗忘它们在重置事件之前的值。当begin事件导致了重置时,rx节点204的消除功能214如下操作:

当由于begin事件而重置消除功能218的序列恢复功能时,消除功能218收集并存储来自成员流中的任一个流的前“n”个接收的分组。
63.•
消除功能218从收集并存储的分组之中选择具有最大“sequence_number”的分组。如果存在多个具有最大“sequence_number”的分组,则消除功能218从中挑选一个分组(例如,它们中的任何一个分组)。注意,通过考虑到序列号空间的循环特性来选择最大“sequence_number”。还注意,在正确设计的系统中,这“n”个分组的sequence_number的差在历史窗口之内。
64.•
消除功能214只转发所选择的分组(例如,转发到rx节点204的协议栈中的一个或多个较高层),并且丢弃所有其它存储的分组。
65.•
消除功能214将“recovseqnum”设置成所选择的分组的sequence_number,并且将历史设置成全都为“1”(“sequencehistory”=[1,...,1])(即,将历史设置成指明已经接收过历史窗口内的所有分组)。不接受序列号低于recovseqnum的分组。
[0066]

然后,消除功能214可返回正常操作。
[0067]
在重置的根本原因是mngmt事件的情况下,管理系统已经经由“frerseqrcvyreset”变量请求序列恢复功能重置。在这种情况下,将序列恢复相关变量的值保留为它们在重置之前的值,并且在评估接收的分组期间使用这些值。当mngmt事件导致了重置时,rx节点204的消除功能214如下操作:

当由于mngmt事件而重置消除功能218的序列恢复功能时,消除功能214如下检查是否能够接受在重置之后来自成员流中的任一个流的第一个接收的分组:如果接收的分组的sequence_number在历史窗口之外(hsw:历史窗口{recovseqnum+d;...;recovseqnum-d+1},其中d=“frerseqrcvyhistorylength”),则接受该分组。将“recovseqnum”设置成接收的分组的sequence_number,并且更新历史以表明接受(“sequencehistory”=[1,0,...,0])。
[0068]
如果接收的分组的sequence_number在历史窗口之内(hsw:历史窗口{recovseqnum+d;...;recovseqnum-d+1},其中d=“frerseqrcvyhistorylength”),则对照“recovseqnum”和“sequencehistory”的保留值来评估它,以确定该分组是否已经接收过。
如果已经接收过该分组,则丢弃该分组。如果尚未接收过该分组,则转发该分组,并且相应地更新“recovseqnum”和“sequencehistory”。
[0069]

回到消除功能214的正常操作。
[0070]
在重置的根本原因是recovery_timeout事件的情况下,超时机制触发重置。如果适当地设计超时机制,则超时持续得比成员流的不同路径的延迟差更长;因此,可以清除历史,并且可以接受第一个分组,而没有重复递送的任何风险。当recovery_timeout事件导致了重置时,rx节点204的消除功能214如下操作:

当由于recovery_timeout事件而重置消除功能218的序列恢复功能时,消除功能218接受所接收的第一个分组,转发该分组(例如,转发到rx节点204的协议栈中的一个或多个较高层),将“recovseqnum”设置成接收的分组的sequence_number,并且相应地更新历史(例如,将历史更新为“sequencehistory”=[1,0,...,0])。
[0071]

回到消除功能的正常操作。
[0072]
图5是根据上文所描述的第二解决方案在重置规程考虑到重置的根本原因时的状态图。
[0073]
图6根据上文所描述的第二解决方案的至少一些方面示出rx节点204的操作。这里,接收节点204的操作不限于用于tsn的frer。而是,图6的过程普遍适用于tsn的frer、detnet的pref、或者基于序列编号或(例如,由时间戳提供的)等效功能性的其它无缝冗余机制。注意,可选的步骤由虚线/虚线框表示。
[0074]
如图6中所示,接收节点204经由网络(例如,tsn网络或detnet网络)从tx节点202接收来自多个分组流的分组(步骤600)。每个分组流是特定分组流的复制(例如,在ieee 802.1cb术语中,每个分组流是成员流)。分组流从tx节点202通过网络到rx节点204穿过分开的路径(例如,最大不相交路径)。此外,多个分组流中的每个分组流的每个分组包括指明该分组在特定分组流内的位置的序列指示。例如,序列指示可以是序列号(例如,如ieee 802.1cb中那样)、时间戳、或者用于定义分组在所复制的特定分组流内的位置的一些等效机制。
[0075]
rx节点202执行消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组(步骤602)。执行消除规程包括:当接收分组时,检测重置事件的发生(步骤602a)。举例来说,对于用于tsn的frer,重置事件可以是begin事件、mngmt事件或者recovery_timeout事件。响应于检测到重置事件,rx节点202执行一个或多个动作以丢弃或接受(一个或多个)接收的分组,其中,一个或多个动作取决于重置事件的根本原因(步骤602b)。然后,rx节点204可关于消除规程恢复正常操作(步骤602c)。
[0076]
图7a是根据第二解决方案的至少一些方面更详细地示出步骤602b的流程图。同样地,接收节点204的操作不限于用于tsn的frer。而是,图7a的过程普遍适用于tsn的frer、detnet的pref、或者基于序列编号或(例如,由时间戳提供的)等效功能性的其它无缝冗余机制。注意,可选的步骤由虚线/虚线框表示。
[0077]
如图7a中所示,为了基于重置的根本原因执行一个或多个动作以丢弃或接受自重置以来(一个或多个)接收的分组,rx节点204确定重置的根本原因(步骤700)。同样地,采用frer作为示例,根本原因可以是begin事件、mngmt事件或者recovery_timeout事件。虽然图7a中使用这些术语,但是在此上下文中要将这些术语理解为一般涵盖pref中的对应事件。
[0078]
rx节点204确定重置的根本原因是否是begin事件或初始化事件(步骤700)。如果根本原因是begin事件或初始化事件(步骤702,是),则将变量设置成它们的默认值,并且遗忘它们在重置事件之前的值,如上文所描述。此外,rx节点204收集并存储自重置以来的前“n”个接收的分组(步骤704),选择具有最新序列指示(例如,最大序列号)的分组(步骤706),接受所选择的分组,并且丢弃前“n”个接收的分组中的其余分组(步骤708)。rx节点204相应地更新消除规程的(一个或多个)参数,如上文所描述(步骤710)。
[0079]
如果根本原因是mngmt事件(步骤702,否;并且步骤712,是),则rx节点204确定是否能够接受自重置以来的第一个接收的分组(步骤714)。如果是,则rx节点204接受第一个接收的分组,并且相应地更新消除规程的(一个或多个)参数,如上文所描述(步骤716)。关于步骤714,在如图7b中所示的一个实施例中,rx节点204通过以下方式来确定是否能够接受第一个接收的分组:将多个序列恢复相关变量保留为它们在重置之前那样,其中,多个序列恢复相关变量包括历史窗口和指明是否已经接收过具有特定序列指示的分组的一个或多个参数(例如,“recovseqnum”和“sequencehistory”);以及确定第一个接收的分组的序列指示是否在预定义的历史窗口之外(步骤714-1和714-2)。如果第一个接收的分组在历史窗口之外(步骤714-2,是),则rx节点204确定能够接受第一个接收的分组(714-3)。如果第一个接收的分组在历史窗口之内(步骤714-2,否),则rx节点204基于指明是否已经接收过具有特定序列指示的分组的一个或多个参数,确定是否已经接收过第一个接收的分组(步骤714-3)。如果已经接收过第一个接收的分组(步骤714-3,是),则rx节点204确定能够丢弃第一个接收的分组(步骤714-5);否则,rx节点204确定能够接受第一个接收的分组(步骤714-6)。
[0080]
返回到图7a,如果重置的根本原因是恢复超时事件(步骤702,否;并且步骤712,否),则rx节点204接受自重置以来的第一个接收的分组(步骤718),并且相应地更新消除规程的(一个或多个)参数,如上文所描述(步骤720)。
[0081]
同样地,在一个实施例中,网络是tsn网络,并且消除规程是作为rx节点204的frer功能的一部分来执行的。在一个实施例中,重置的一个或多个参数包括恢复序列号参数和序列历史参数。在另一个实施例中,网络是detnet网络,并且消除规程是作为rx节点204的pref功能的一部分来执行的。
[0082]
如上文所论述,在一个实施例中,序列指示是序列号。在另一个实施例中,序列指示是时间戳。
[0083]
图8是根据本公开的一些实施例的rx节点204的示意性框图。如图所示,rx节点204包括一个或多个处理器804(例如,中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)和/或类似器件)、存储器806和网络接口808。一个或多个处理器804在本文中又称为处理电路。一个或多个处理器804进行操作以提供如本文所描述的rx节点204的一个或多个功能。在一些实施例中,(一个或多个)功能采用例如存储在存储器806中并由一个或多个处理器804执行的软件来实现。
[0084]
图9是根据本公开的一些实施例示出rx节点204的虚拟化实施例的示意性框图。该论述同样可适用于其它类型的网络节点。此外,其它类型的网络节点可具有类似的虚拟化架构。同样地,可选的特征由虚线框表示。
[0085]
如本文中所使用,“虚拟化的”rx节点是rx节点204的一种实现,其中,rx节点204的
功能性的至少一部分被作为(一个或多个)虚拟组件(例如,经由在(一个或多个)网络中的(一个或多个)物理处理节点上执行的(一个或多个)虚拟机)来实现。如图所示,在此示例中,rx节点204包括耦合到(一个或多个)网络902或作为网络902的一部分包含的一个或多个处理节点900。每个处理节点900包括一个或多个处理器904(例如,cpu、asic、fpga和/或类似器件)、存储器906和网络接口908。在此示例中,本文所描述的rx节点204的功能910在处理节点900之一处实现,或者以任何期望的方式分布在处理节点900中的两个或更多个处理节点当中。在一些特定实施例中,作为由一个或多个虚拟机执行的虚拟组件来实现本文所描述的rx节点204的功能910中的一些或全部,在(一个或多个)处理节点900所接管的(一个或多个)虚拟环境中实现所述一个或多个虚拟机。
[0086]
在一些实施例中,提供一种包含指令的计算机程序,指令在由至少一个处理器执行时,致使至少一个处理器执行rx节点204或某一节点(例如,处理节点900)的功能性,该节点根据本文所描述的实施例中的任一个在虚拟环境中实现rx节点204的功能910中的一个或多个。在一些实施例中,提供一种包含上述计算机程序产品的载体。该载体是电子信号、光信号、无线电信号或计算机可读存储介质(例如,诸如存储器之类的非暂时性计算机可读介质)之一。
[0087]
图10是根据本公开的一些其它实施例的rx节点204的示意性框图。rx节点204包括一个或多个模块1000,其中的每个模块采用软件来实现。(一个或多个)模块1000提供本文所描述的rx节点204的功能性。此论述同样可适用于图9的处理节点900,其中,模块1000可在处理节点900之一处实现,或者分布在多个处理节点900当中。
[0088]
本文所公开的任何适当的步骤、方法、特征、功能或益处可通过一个或多个虚拟设备的一个或多个功能单元或模块来执行。每个虚拟设备可包括多个这些功能单元。这些功能单元可经由处理电路(可包括一个或多个微处理器或微控制器)以及其它数字硬件(可包括数字信号处理器(dsp)、专用数字逻辑等)来实现。处理电路可配置成执行存储在存储器中的程序代码,存储器可包括一种或几种类型的存储器,诸如只读存储器(rom)、随机存取存储器(ram)、高速缓冲存储器、闪速存储器装置、光存储装置等。存储在存储器中的程序代码包括用于执行一个或多个电信和/或数据通信协议的程序指令以及用于实行本文所描述的技术中的一个或多个技术的指令。在一些实现中,处理电路可用于致使相应的功能单元按照本公开的一个或多个实施例执行对应功能。
[0089]
虽然图中的过程可能示出本公开的某些实施例所执行的操作的特定顺序,但是应该理解此类顺序是示例性的(例如,备选实施例可按不同的顺序执行操作,组合某些操作,交迭某些操作,等等)。
[0090]
本公开的一些示例实施例如下。
[0091]
实施例1:一种由接收节点(204)执行的方法,接收节点基于序列编号或等效功能性实现冗余机制,该方法包括:

经由网络从传送节点(202)接收(400)来自多个分组流的分组,其中:多个分组流中的每个分组流是特定分组流的复制;多个分组流从传送节点(202)通过网络到接收节点(204)穿过分开的路径;并且多个分组流中的每个分组流的每个分组包括指明分组在特定分组流内的位置的序列指示;

执行(402)消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组,其中,执行(402)消除规程包括:当接收(400)分组时,响应于事件的发生而重置(402a)消除规程所采用的一个或多个参数;以及响应于重置(402b)消除规程所采用的一个或多个参数,丢弃(402c)从重置消除规程之时到所定义时段结束为止由消除规程处理的所有接收的分组。
[0092]
实施例2:实施例1的方法,其中,所定义时段的持续时间等于或大于多个分组流通过网络所穿过的任何两条路径之间的最大路径延迟差。
[0093]
实施例3:实施例1的方法,其中,所定义时段的持续时间等于多个分组流通过网络所穿过的任何两条路径之间的最大路径延迟差。
[0094]
实施例4:实施例1中的任一个的方法,其中,丢弃(402b)从重置消除规程之时到所定义时段结束为止由消除规程处理的接收的分组包括:启动(402b1)计时器,该计时器被设置成等于或大于多个分组流通过网络所穿过的任何两条路径之间的最大路径延迟差的值;以及只要时间在运行,就丢弃(402b2)由消除规程处理的接收的分组。
[0095]
实施例5:实施例1至4中的任一实施例的方法,其中,执行(402)消除规程进一步包括:接受(402c)在所定义时段结束之后的第一个接收的分组。
[0096]
实施例6:实施例1至5中的任一实施例的方法,其中,网络是时间敏感联网tsn网络,并且消除规程是作为接收节点(204)的用于可靠性的帧复制和消除frer功能的一部分来执行的。
[0097]
实施例7:实施例6的方法,其中,重置的一个或多个参数包括恢复序列号参数和序列历史参数。
[0098]
实施例8:实施例1至5中的任一实施例的方法,其中,网络是确定性联网detnet网络,并且消除规程是作为接收节点(204)的分组复制和消除功能pref功能的一部分来执行的。
[0099]
实施例9:实施例1至8中的任一实施例的方法,其中,序列指示是序列号。
[0100]
实施例10:实施例1至8中的任一实施例的方法,其中,序列指示是时间戳。
[0101]
实施例11:一种由接收节点(204)执行的方法,接收节点基于序列编号或等效功能性实现冗余机制,该方法包括:

经由网络从传送节点(202)接收(600)来自多个分组流的分组,其中:多个分组流中的每个分组流是特定分组流的复制;多个分组流从传送节点(202)通过网络到接收节点(204)穿过分开的路径;并且多个分组流中的每个分组流的每个分组包括指明分组在特定分组流内的位置的序列指示;

执行(602)消除规程,消除规程处理每个接收的分组以确定是丢弃接收的分组还是接受接收的分组,其中,执行(602)消除规程包括:当接收(600)分组时,检测(602a)重置事件的发生;以及响应于检测到(602b)重置事件,执行(602c)一个或多个动作以丢弃或接受(一个或多个)接收的分组,其中,一个或多个动作取决于重置的根本原因(602b)。
[0102]
实施例12:实施例11的方法,其中,执行(602c)一个或多个动作包括:

确定(700)重置事件的根本原因;

确定(702)重置事件的根本原因是否是开始事件或初始化事件;

响应于确定(702,是)重置事件的根本原因是开始事件或初始化事件:收集并存储(704)自重置事件以来的前“n”个接收的分组;从前“n”个接收的分组之中选择(706)具有最新序列指示(例如,最大序列号)的分组;以及接受(708)所选择的分组,并且丢弃前“n”个接收的分组中的其余分组。
[0103]
实施例13:实施例11或12的方法,其中,执行(602c)一个或多个动作包括:

确定(712)重置事件的根本原因是否是管理事件;

响应于确定(712,是)重置事件的根本原因是管理事件:确定(714)是否能够接受自重置事件以来的第一个接收的分组;以及响应于确定(714,是)能够接受自重置事件以来的第一个接收的分组,接受(716)第一个接收的分组。
[0104]
实施例14:实施例13的方法,其中,确定(714)是否能够接受自重置事件以来的第一个接收的分组包括:

保留多个序列恢复相关变量为它们在重置事件之前那样,多个序列恢复相关变量包括历史窗口和指明是否已经接收过具有特定序列指示的分组的一个或多个参数(例如,“recovseqnum”和“sequencehistory”);

确定第一个接收的分组的序列指示是否在预定义的历史窗口之外;

如果第一个接收的分组在历史窗口之外,则确定能够接受第一个接收的分组;以及

如果第一个接收的分组在历史窗口之内,则:基于指明是否已经接收过具有特定序列指示的分组的一个或多个参数,确定是否已经接收过第一个接收的分组;如果已经接收过第一个接收的分组,则丢弃第一个接收的分组;否则,接受第一个接收的分组。
[0105]
实施例15:实施例11至14中的任一实施例的方法,其中,执行(602c)一个或多个动作包括:确定(702,否;并且712,否)重置事件的根本原因是否是恢复超时事件;以及响应于确定(702,否;并且712,否)重置事件的根本原因是恢复超时事件,接受(718)自重置事件以来的第一个接收的分组。
[0106]
实施例16:实施例11至15中的任一实施例的方法,其中,网络是时间敏感联网tsn网络,并且消除规程是作为接收节点(204)的用于可靠性的帧复制和消除frer功能的一部分来执行的。
[0107]
实施例17:实施例16的方法,其中,关联到消除规程的一个或多个参数包括恢复序列号参数和序列历史参数。
[0108]
实施例18:实施例11至15中的任一实施例的方法,其中,网络是确定性联网detnet网络,并且消除规程是作为接收节点(204)的分组复制和消除功能pref功能的一部分来执行的。
[0109]
实施例19:实施例11至18中的任一实施例的方法,其中,序列指示是序列号。
[0110]
实施例20:实施例11至18中的任一实施例的方法,其中,序列指示是时间戳。
[0111]
实施例21:一种基于序列编号或等效功能性实现冗余机制的接收节点(204),该接收节点(204)适合于执行实施例1至20中的任一实施例的方法。
[0112]
本领域技术人员将意识到对本公开的实施例的改进和修改。所有此类改进和修改都视为在本文所公开的概念的范围内。

技术特征:
1.一种由接收节点(204)执行的方法,所述接收节点基于序列编号或等效功能性实现冗余机制,所述方法包括:

经由网络从传送节点(202)接收(400)来自多个分组流的分组,其中:所述多个分组流中的每个分组流是特定分组流的复制;所述多个分组流从所述传送节点(202)通过所述网络到所述接收节点(204)穿过分开的路径;并且所述多个分组流中的每个分组流的每个分组包括指明所述分组在所述特定分组流内的位置的序列指示;

执行(402)消除规程,所述消除规程处理每个接收的分组以确定是丢弃所述接收的分组还是接受所述接收的分组,其中,执行(402)所述消除规程包括:当接收(400)所述分组时,响应于事件的发生而重置(402a)所述消除规程所采用的一个或多个参数;以及响应于重置(402b)所述消除规程所采用的所述一个或多个参数,丢弃(402c)从重置所述消除规程之时到所定义时段结束为止由所述消除规程处理的所有所述接收的分组。2.如权利要求1所述的方法,其中,所述所定义时段的持续时间等于或大于所述多个分组流通过所述网络所穿过的任何两条路径之间的最大路径延迟差。3.如权利要求1所述的方法,其中,所述所定义时段的持续时间等于所述多个分组流通过所述网络所穿过的任何两条路径之间的最大路径延迟差。4.如权利要求1中任一项所述的方法,其中,丢弃(402b)从重置所述消除规程之时到所述所定义时段结束为止由所述消除规程处理的接收的分组包括:启动(402b1)计时器,所述计时器被设置成等于或大于所述多个分组流通过所述网络所穿过的任何两条路径之间的最大路径延迟差的值;以及只要所述时间在运行,就丢弃(402b2)由所述消除规程处理的接收的分组。5.如权利要求1至4中任一项所述的方法,其中,执行(402)所述消除规程进一步包括:接受(402c)在所述所定义时段结束之后的第一个接收的分组。6.如权利要求1至5中任一项所述的方法,其中,所述网络是时间敏感联网tsn网络,并且所述消除规程是作为所述接收节点(204)的用于可靠性的帧复制和消除frer功能的一部分来执行的。7.如权利要求6所述的方法,其中,重置的所述一个或多个参数包括恢复序列号参数和序列历史参数。8.如权利要求1至5中任一项所述的方法,其中,所述网络是确定性联网detnet网络,并且所述消除规程是作为所述接收节点(204)的分组复制和消除功能pref功能的一部分来执行的。9.如权利要求1至8中任一项所述的方法,其中,所述序列指示是序列号。10.如权利要求1至8中任一项所述的方法,其中,所述序列指示是时间戳。11.一种接收节点(204),所述接收节点基于序列编号或等效功能性实现冗余机制,所述接收节点(204)适合于:

经由网络从传送节点(202)接收(400)来自多个分组流的分组,其中:所述多个分组流中的每个分组流是特定分组流的复制;
所述多个分组流从所述传送节点(202)通过所述网络到所述接收节点(204)穿过分开的路径;并且所述多个分组流中的每个分组流的每个分组包括指明所述分组在所述特定分组流内的位置的序列指示;以及

执行(402)消除规程,所述消除规程处理每个接收的分组以确定是丢弃所述接收的分组还是接受所述接收的分组;

其中,为了执行(402)所述消除规程,所述接收节点(204)进一步适合于:当接收(400)所述分组时,响应于事件的发生而重置(402a)所述消除规程所采用的一个或多个参数;以及响应于重置(402b)所述消除规程所采用的所述一个或多个参数,丢弃(402c)从重置所述消除规程之时到所定义时段结束为止由所述消除规程处理的所有所述接收的分组。12.如权利要求11所述的接收节点(204),其中,所述接收节点(204)进一步适合于执行如权利要求2至10中任一项所述的方法。13.一种接收节点(204),所述接收节点基于序列编号或等效功能性实现冗余机制,所述接收节点(204)包括:

网络接口(808;908);以及

与所述网络接口(808;908)相关联的处理电路(804;904),所述处理电路(804;904)配置成致使所述接收节点(204):经由网络从传送节点(202)接收(400)来自多个分组流的分组,其中:所述多个分组流中的每个分组流是特定分组流的复制;所述多个分组流从所述传送节点(202)通过所述网络到所述接收节点(204)穿过分开的路径;并且所述多个分组流中的每个分组流的每个分组包括指明所述分组在所述特定分组流内的位置的序列指示;以及执行(402)消除规程,所述消除规程处理每个接收的分组以确定是丢弃所述接收的分组还是接受所述接收的分组;其中,为了致使所述接收节点(204)执行(402)所述消除规程,所述处理电路(804;904)进一步配置成致使所述接收节点(204):当接收(400)所述分组时,响应于事件的发生而重置(402a)所述消除规程所采用的一个或多个参数;以及响应于重置(402b)所述消除规程所采用的所述一个或多个参数,丢弃(402c)从重置所述消除规程之时到所定义时段结束为止由所述消除规程处理的所有所述接收的分组。14.如权利要求13所述的接收节点(204),其中,所述处理电路(804;904)进一步配置成致使所述接收节点(204)执行如权利要求2至10中任一项所述的方法。15.一种由接收节点(204)执行的方法,所述接收节点基于序列编号或等效功能性实现冗余机制,所述方法包括:

经由网络从传送节点(202)接收(600)来自多个分组流的分组,其中:所述多个分组流中的每个分组流是特定分组流的复制;所述多个分组流从所述传送节点(202)通过所述网络到所述接收节点(204)穿过分开
的路径;并且所述多个分组流中的每个分组流的每个分组包括指明所述分组在所述特定分组流内的位置的序列指示;

执行(602)消除规程,所述消除规程处理每个接收的分组以确定是丢弃所述接收的分组还是接受所述接收的分组,其中,执行(602)所述消除规程包括:当接收(600)所述分组时,检测(602a)重置事件的发生;以及响应于检测到(602b)所述重置事件,执行(602c)一个或多个动作以丢弃或接受一个或多个接收的分组,其中,所述一个或多个动作取决于所述重置的根本原因(602b)。16.如权利要求15所述的方法,其中,执行(602c)所述一个或多个动作包括:确定(700)所述重置事件的所述根本原因;确定(702)所述重置事件的所述根本原因是否是开始事件或初始化事件;响应于确定(702,是)所述重置事件的所述根本原因是开始事件或初始化事件:收集并存储(704)自所述重置事件以来的前“n”个接收的分组;从所述前“n”个接收的分组之中选择(706)具有最新序列指示的分组;以及接受(708)所选择的分组,并且丢弃所述前“n”个接收的分组中的其余分组。17.如权利要求15或16所述的方法,其中,执行(602c)所述一个或多个动作包括:确定(712)所述重置事件的所述根本原因是否是管理事件;响应于确定(712,是)所述重置事件的所述根本原因是管理事件:确定(714)是否能够接受自所述重置事件以来的第一个接收的分组;以及响应于确定(714,是)能够接受自所述重置事件以来的所述第一个接收的分组,接受(716)所述第一个接收的分组。18.如权利要求17所述的方法,其中,确定(714)是否能够接受自所述重置事件以来的所述第一个接收的分组包括:保留(714-1)多个序列恢复相关变量为它们在所述重置事件之前那样,所述多个序列恢复相关变量包括历史窗口和指明是否已经接收过具有特定序列指示的分组的一个或多个参数;确定(714-2)所述第一个接收的分组的所述序列指示是否在预定义的历史窗口之外;如果所述第一个接收的分组在所述历史窗口之外(714-2,是),则确定(714-3)能够接受所述第一个接收的分组;以及如果所述第一个接收的分组在所述历史窗口之内(714-2,否),则:基于指明是否已经接收过具有特定序列指示的分组的所述一个或多个参数,确定(714-4)是否已经接收过所述第一个接收的分组;如果已经接收过所述第一个接收的分组(714-4,是),则确定(714-5)要丢弃所述第一个接收的分组;否则,确定(714-6)要接受所述第一个接收的分组。19.如权利要求15至18中任一项所述的方法,其中,执行(602c)所述一个或多个动作包括:确定(702,否;并且712,否)所述重置事件的所述根本原因是否是恢复超时事件;响应于确定(702,否;并且712,否)所述重置事件的所述根本原因是恢复超时事件,接
受(718)自所述重置事件以来的第一个接收的分组。20.如权利要求15至19中任一项所述的方法,其中,所述网络是时间敏感联网tsn网络,并且所述消除规程是作为所述接收节点(204)的用于可靠性的帧复制和消除frer功能的一部分来执行的。21.如权利要求20所述的方法,其中,关联到所述消除规程的一个或多个参数包括恢复序列号参数和序列历史参数。22.如权利要求15至19中任一项所述的方法,其中,所述网络是确定性联网detnet网络,并且所述消除规程是作为所述接收节点(204)的分组复制和消除功能pref功能的一部分来执行的。23.如权利要求15至22中任一项所述的方法,其中,所述序列指示是序列号。24.如权利要求15至22中任一项所述的方法,其中,所述序列指示是时间戳。25.一种基于序列编号或等效功能性实现冗余机制的接收节点(204),所述接收节点(204)适合于:
•ꢀ
经由网络从传送节点(202)接收(600)来自多个分组流的分组,其中:所述多个分组流中的每个分组流是特定分组流的复制;所述多个分组流从所述传送节点(202)通过所述网络到所述接收节点(204)穿过分开的路径;并且所述多个分组流中的每个分组流的每个分组包括指明所述分组在所述特定分组流内的位置的序列指示;以及
•ꢀ
执行(602)消除规程,所述消除规程处理每个接收的分组以确定是丢弃所述接收的分组还是接受所述接收的分组;
•ꢀ
其中,为了执行(602)所述消除规程,所述接收节点(204)进一步适合于:当接收(600)所述分组时,检测(602a)重置事件的发生;以及响应于检测到(602b)所述重置事件,执行(602c)一个或多个动作以丢弃或接受一个或多个接收的分组,其中,所述一个或多个动作取决于所述重置的根本原因(602b)。26.如权利要求25所述的接收节点(204),其中,所述接收节点(204)进一步适合于执行如权利要求16至24中任一项所述的方法。27.一种基于序列编号或等效功能性实现冗余机制的接收节点(204),所述接收节点(204)包括:
•ꢀ
网络接口(808;908);以及
•ꢀ
与所述网络接口(808;908)相关联的处理电路(804;904),所述处理电路(804;904)配置成致使所述接收节点(204):经由网络从传送节点(202)接收(600)来自多个分组流的分组,其中:所述多个分组流中的每个分组流是特定分组流的复制;所述多个分组流从所述传送节点(202)通过所述网络到所述接收节点(204)穿过分开的路径;并且所述多个分组流中的每个分组流的每个分组包括指明所述分组在所述特定分组流内的位置的序列指示;以及执行(602)消除规程,所述消除规程处理每个接收的分组以确定是丢弃所述接收的分
组还是接受所述接收的分组;其中,为了致使所述接收节点(204)执行(402)所述消除规程,所述处理电路(804;904)进一步配置成致使所述接收节点(204):当接收(600)所述分组时,检测(602a)重置事件的发生;以及响应于检测到(602b)所述重置事件,执行(602c)一个或多个动作以丢弃或接受一个或多个接收的分组,其中,所述一个或多个动作取决于所述重置的根本原因(602b)。28.如权利要求27所述的接收节点(204),其中,所述处理电路(804;904)进一步配置成致使所述接收节点(204)执行如权利要求16至24中任一项所述的方法。

技术总结
本文中公开用于避免在例如时间敏感联网(TSN)网络或确定性联网(DetNet)网络的无缝冗余的重置机制中的重复递送的系统和方法。在一个实施例中,一种由接收节点执行的方法包括经由网络从传送节点接收来自多个流的分组,每个流是特定分组流的复制,并且每个分组包括序列指示。该方法进一步包括执行消除规程,其中,执行消除规程包括:当接收分组时,响应于事件的发生而重置消除规程所采用的一个或多个参数;以及响应于此,丢弃从重置消除规程之时到所定义时段结束为止由消除规程处理的所有接收的分组。分组。分组。


技术研发人员:B
受保护的技术使用者:瑞典爱立信有限公司
技术研发日:2021.03.12
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-3728.html

最新回复(0)