CN116368777A - 用时间捕获位置协议的tsn运行管理系统 - Google Patents
用时间捕获位置协议的tsn运行管理系统 Download PDFInfo
- Publication number
- CN116368777A CN116368777A CN202180072417.7A CN202180072417A CN116368777A CN 116368777 A CN116368777 A CN 116368777A CN 202180072417 A CN202180072417 A CN 202180072417A CN 116368777 A CN116368777 A CN 116368777A
- Authority
- CN
- China
- Prior art keywords
- network
- time
- frame
- end station
- tsn
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000001934 delay Effects 0.000 claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 18
- 238000013481 data capture Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 abstract description 14
- 230000000153 supplemental effect Effects 0.000 abstract description 8
- 238000012795 verification Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 24
- 230000008901 benefit Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 235000013351 cheese Nutrition 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/14—Monitoring arrangements
Abstract
本公开的实施例涉及用于监控和验证TSN配置的网络上的时延的系统和方法。本公开描述了一种新颖且创造性的时间捕获位置协议,其补充现有的TSN协议。该补充TSN协议详细说明了用于捕获在TSN配置的网络中消息到达各个点的时间的方法。捕获的时间允许监控和验证基于TSN的特征及其底层系统,包括用于检测问题和延迟的运行时的诊断。
Description
相关申请的交叉引用
本专利申请要求于2020年11月3日提交的美国临时申请63/109,278,题为“具有时间捕获定位协议的TSN操作管理系统”,以及2021年11月2日提交的美国申请17/517,339,题为“具有时间捕获定位协议的TSN操作管理系统”的优先权。
技术领域
本文公开的实施例一般涉及数据通信网络中时间敏感网络(TSN)的使用,更具体地涉及用于监控和验证这种TSN网络中的消息传输时间的系统和方法。
背景技术
数据通信网络,或在本文简称为“网络”,使得能够在例如不同的计算机、计算机和外围设备以及其他数据设备之间进行数据通信。不同的行业领域对数据通信具有不同的需求。例如,在食品加工厂,许多自动化流程具有严格的时间需求,出于安全和其他原因,需要严格控制和监控时间。考虑高速奶酪切片系统,其中自动刀片切开一块由电机驱动的奶酪块送料机推进的瑞士奶酪。奶酪块需要推进的速度由扫描系统决定,扫描系统分析奶酪块中的孔洞。为了使奶酪切片系统生产出大约相同重量的奶酪片,刀片的运动必须与奶酪块的推进同步。在处理数据或通过网络通信数据中,即使小的延迟可以导致重量不均匀的奶酪片,导致浪费和生产率损失。相似地,在汽车行业,控制安全特征(例如,自动制动)的安全关键应用和自动驾驶对数据通信也具有严格的时间需求。系统中任何不明原因的延迟可能造成严重的安全隐患。
在上述领域和许多其他领域,都有使用以太网技术用于网络主干的期望。除此之外,以太网主干可以支持物联网(IoT)/工业物联网(IIoT)连接,以提供远程监控和管理、集中分析以及其他特征和功能。然而,以太网标准不能确保关键的实时数据在所需的时间内通过网络从设备A传递到设备B,所需的时间是许多时间关键型应用的关键需求。这是因为以太网和类似的网络标准更关注于可靠地传递数据,而不是时间。对于时间关键型应用,IEEE 802.1规定的时间敏感网络(TSN)可以在标准以太网网络上提供完全确定的、实时的网络消息的传递。TSN使得在以太网网络上发送确定性通信成为可能,从而满足了许多时间敏感的应用的实时数据传递需求。然而,目前的TSN的实现没有一种方法来监控和验证网络消息的时间,以确保时延如预期被严格地控制。
因此,需要一种方法来监控和验证使用TSN的网络中的消息时间(messagetiming)。
发明内容
本公开的实施例涉及用于监控和验证TSN配置的网络上的时延的系统和方法。本公开描述了与一种新颖且创造性的时间捕获位置协议相关的技术和实现,其补充现有的TSN协议。该补充TSN协议详细说明了用于捕获在TSN配置的网络中消息到达各个点的时间的方法。捕获的时间允许监控和验证基于TSN的特征及其底层系统,包括用于检测问题和延迟的运行时的诊断。
总之,在一个方面,本公开的实施例涉及为TSN配置的网络。除其他外,网络包括能够操作以在网络上传输和接收TSN消息的终端站以及连接到终端站并能够操作以分别向终端站发送和从终端站接收TSN消息的网络基础设施设备。网络还包括与终端站连接并能够操作以为TSN配置终端站的集中式用户配置器(CUC),CUC还能够操作以指令终端站来启动时间数据捕获。终端站进一步能够操作为响应CUC启动时间数据捕获的指令,在预先选择的互连层生成预定数量的帧并将帧传输到CUC,终端站在每个帧中插入当前网络时间数据。CUC进一步能够操作为使用帧中的当前网络时间数据以确定存在多少传输抖动和/或时延。
总之,在一个方面,本公开的实施例涉及为TSN配置的网络的运行方法。除其他外,该方法包括在发布者设备(talker device)生成在预先选择的开放系统互连(OSI)层带有初始时间戳的帧,初始时间戳反映当时的网络时间。该方法还包括在帧朝向发布者设备的网络端口遍历OSI层时收集额外的时间戳,每个额外的时间戳反映当时的网络时间。该方法还进一步包括通过至少一个基础设施设备在网络上传输帧,其中在每个预先配置的基础设施设备,帧在预先配置的基础设施设备的入口和出口被打上时间戳。该方法还包括在接收者设备接收帧,并在帧遍历接收者设备的OSI层时收集至少一个额外的时间戳,在接收者设备(listener device)的预先选择的OSI层获取至少一个时间戳。该方法还进一步包括基于所收集的时间戳(包括初始时间戳和至少一个时间戳)计算通过网络的网络流量中的传输抖动和/或时延。
总之,在一个方面,本公开的实施例涉及为TSN配置的网络控制器。网络控制器包括处理器和连接到处理器的存储系统,存储系统在其上存储计算机可读指令。当由处理器执行计算机可读指令时,导致网络控制器指令网络终端站启动时间数据捕获,网络终端站响应网络控制器的指令,在预先选择的互连层生成预定数量的帧并将帧传输到网络控制器,网络终端站在每个帧中插入当前网络时间数据。当由处理器执行计算机可读指令时,进一步导致网络控制器使用帧中的当前网络时间数据来确定传输抖动和/或时延的量。
总之,在一个方面,本公开的实施例涉及为TSN配置的网络设备。除其他外,网络设备包括处理器和连接到处理器的存储系统。存储系统在其上存储计算机可读指令,当由处理器执行指令时,导致网络设备接收来自网络控制器的指令以启动时间数据捕获。计算机可读指令进一步导致网络设备响应来自网络控制器接收的指令,以预定数量的帧插入当前网络时间数据,并将帧传输到网络控制器以使用帧中的当前网络时间数据确定存在多少传输抖动和/或时延。
总之,在一个方面,本公开的实施例涉及为TSN配置的网络。除其他外,网络包括能够操作以在网络上传输和接收TSN消息的终端站,每个TSN消息在其中具有帧。网络还包括连接到终端站并能够操作以分别向终端站发送和从终端站接收TSN消息的网络基础设施设备,以及连接到终端站和/或网络基础设施设备并能够操作以从终端站和/或网络基础设施设备复制TSN消息的网络测试接入点(TAP)设备。网络还进一步包括连接到终端站的网络控制器、网络基础设施和TAP设备,网络控制器能够操作以指令TAP设备启动时间数据捕获。TAP设备进一步能够操作以响应由网络控制器启动时间数据捕获的指令,以预定数量的帧插入当前网络时间数据,并将帧传输到网络控制器。网络控制器进一步能够操作为使用帧中的当前网络时间数据来确定存在多少传输抖动和/或时延。
附图说明
图1示出了根据本公开的一些实施例的设备中的示例性时间捕获位置。
图2示出了根据本公开的一些实施例的网络中的示例性时间捕获位置。
图3示出了根据本公开的一些实施例的示例性消息帧格式。
图4示出了根据本公开的一些实施例的另一示例性消息帧格式。
图5示出了根据本公开的一些实施例的用于在客户/发布者终端站插入时间信息的示例性方法。
图6示出了根据本公开的一些实施例在基础设施设备插入时间信息的示例性方法。
图7示出了根据本公开的一些实施例的用于在服务端/接收者终端站插入时间信息的示例性方法。
图8A和图8B示出了根据本公开的一些实施例的用于在CUC和CNC中收集时间信息的示例性方法。
图9示出了根据本公开的一些实施例的用于在客户/发布者终端站插入时间信息的另一示例性方法。
图10示出了根据本公开的一些实施例在基础设施设备插入时间信息的另一示例性方法。
图11示出了根据本公开的一些实施例的由于网络时延而产生的示例性时钟草图。
图12示出了根据本公开的一些实施例的智能TAP设备上的示例性时间捕获位置。
图13示出了可以用于实现本公开的各种实施例的示例性通用计算系统。
图14示出了可以用于实现本公开的各种实施例的示例性通用存储系统。
具体实施方式
作为初始事项,应该理解的是,包含所公开实施例的各方面的实际的、真实的商业应用的开发将需要许多具体实施决策来实现开发者的商业实施例的最终目标。这种具体实施决策可以包括(可能不限于)遵守与系统相关的、与业务相关的、与政府相关的和其他约束,这些约束可能随具体实施、位置和时间变化。虽然在绝对意义上,开发者的努力可能是复杂且耗时的,但对于具有本公开的益处的本领域技术人员,这样的努力仍然是常规工作。
还应理解的是,在本文公开和教导的实施例易受众多和各种修改和替代形式的影响。因此,使用单数术语,如但不限于“一个”等,并不旨在限制项目的数量。同样,书面描述中使用的任何相关术语,例如但不限于“上”、“下”、“左”、“右”、“上部”、“下部”、“向下”、“向上”、“侧”等,是为了使具体参考附图清晰,而不旨在限制本发明的范围。
如上所述,现有的TSN配置的网络没有办法监控和验证在网络上发送的消息的时延。本公开提供用于监控和验证TSN配置的网络上的时延的系统和方法。术语“TSN”或“时间敏感网络化”或“时间敏感网络”是指由IEEE 802.1定义的一组协议,其具体说明了在以太网网络(或类似网络)上传输时间敏感或时间关键型数据的机制。本公开描述了与一种新颖且创造性的时间捕获位置协议相关的技术和实现,在本文称为“802D”,其补充了IEEE802.1定义的协议集。该补充TSN协议802D详细说明了用于捕获在TSN配置的网络中各个点接收消息的时间的方法。捕获的时间允许监控和验证基于TSN的特征及其底层系统,包括用于检测问题和延迟的运行时的诊断。
许多益处来自实现本文的时间捕获位置协议的各种实施例。这些益处包括,例如,计算和比较网络的配置时延与实现的/实际时延的能力(例如,帧的不同长度,路径上链路的不同速度,电缆长度和铜光纤类型等),以及帮助识别通过网络提供的路径中的错误配置或故障设备。
这些实施例提供的额外益处包括能够基于实时流量动态地调整TAS(时间感知整形器)(802.1Qbv)门大小和偏移量,从而即使当检测到错误配置或故障设备时帮助智能集中式网络配置器(CNC)(802.1Qcc)运行以维持时延。
进一步的益处包括能够确定网络、堆栈和应用层对整体时延的贡献,使得每层可以调整到最佳设置,最终导致所有通信层对齐(即智能自调整TSN)。通过添加相应的OPCUA网络管理对象,还可以将上述益处扩展到常用的工业数据交换标准OPCUA(开放平台通信联合架构)。
进一步的益处还包括能够在每个流的基础上检测网络拥塞和网络配置容量以及配置冲突,确定通过网络的路径是否精确和准确,测量冗余流中的时延差异,动态地发现相似时延的流以帮助路径计算,将用于流(streams)的TAS门与高精度和高精确性结合,并为应用同步流提供聚合的TAS表。还可以通过检测已知基础设施设备之间的意外延迟(例如,虚开关增加了点时延)来实现增强的入侵检测和预防。
时间敏感网络(TSN)
时间敏感网络(TSN)通常是指一组能够完全确定性实时通信的技术。TSN通过使用集中控制、时间同步和调度实现确定性实时通信。在TSN配置的网络中,消息或数据包基于时间调度和优先级指定传输,以保证最大的有限时延和可靠性。因此,TSN技术可以使控制应用(包括但不限于工业和汽车领域的应用)通过标准以太网基础设施传输时间关键型数据,从而无需专门的协议来处理实时数据的传递。
标准以太网基础设施通常遵循传统的网络架构,包括(i)发生实际数据转发的数据平面,(ii)配置转发决策的控制平面,(iii)配置设备管理决策的管理平面。基础设施的特征可以基于基础设施设备的功能和用途。网络基础设施设备的示例包括(a)产生和/或消费数据的边缘设备,如PLC(可编程逻辑控制器)和I/O设备,(b)通过网络转发数据的传输设备,如网桥、中继、交换机和路由器,以及(c)执行数据处理和过滤的网络服务设备,如深度包检测(DPI)。
数据本身,特别是在工业领域或汽车领域,通常可以被表征为(1)时间敏感型数据(TSD),(2)时间感知数据(TAD)和(3)尽力服务数据(Best-Effort Data,BED)。
TSD类型的数据需要可靠且即时地从生产者传递到消费者(即有99.9999%可靠性的端到端时间感知)。这类数据的应用响应时间(ART)通常小于1ms。TSD类型数据与以下控制和管理时间敏感型数据的行业标准相关联:IEEE 802.1AS-rev、IEEE 802.1Qbv、IEEE802.1Qbu、IEEE 802.1Qca、IEEE 802.1CB、IEEE 802.1Qcc、IEEE 802.1Qci、IEEE802.1Qch。
TAD类型数据对时间不敏感,但具有确定性,因为数据受超时需求约束。用于这类数据的ART在毫秒范围内。BED类型的数据被认为是非必要信息,因此可以转换为尽力服务级别(QoS)的一般网络流量。TAD和BED类型数据与IEEE 802.1Q和IEEE 802.1P相关联。
802D的介绍
如本文所讨论,802D时间捕获位置协议是TSN补充协议,其可以为时延监控和验证的目的捕获消息通过网络中各个点的时间。该补充协议可以为沿通过TSN网络的路径的每个数据帧(即以太网帧)提供时间跟踪和诊断。该补充协议还可以为TSN特征提供性能诊断,并提供实时网络流量的精确系统宽基准测试。诊断包括工业应用响应时间的精确测量,以及网络的精确每帧影响。这是可能的或者至少更可行,因为在大多数工业应用中,数据帧通过网络行进的方式通常是沿特定的路径从点到点,很像菊花链。对于要求最高的应用,其中一些路径可以具有上百或更多个点(例如,交换机)。本文公开的补充协议可以捕获并收集沿这些路径的数据帧的时间。
从所收集的帧时间,时间捕获位置协议的实施例可以执行若干动作,例如,包括计算和比较网络的配置时延与实现的时延,以帮助识别通过网络所提供的路径中的错误配置或故障设备。时延可以是帧的不同长度、路径上链路的不同速度、电缆长度和铜光纤类型等的函数。实现时间捕获位置协议的实施例还可以基于实时流量动态地调整TAS门的大小和偏移量,从而即使当检测到错误配置或故障设备时帮助智能CNC运行以维持时延。
所收集的帧时间还允许时间捕获位置协议的实施例确定网络、堆栈和应用层对整体时延的贡献,使得每层可以调整到最佳设置,最终导致所有通信层对齐(即智能自调整TSN)。这些动作还可以作为网络管理对象扩展到OPCUA。
上述实施例提供了许多优点,包括检测每个流网络(per-stream network)拥塞和网络配置容量,以及配置冲突。额外的优点包括能够确定通过网络的路径是否精确和准确,测量冗余流中的时延差异,并动态地发现相似时延的流以帮助路径计算。此外,TAS门可以组合用于高精度和高准确性流,TAS表可以聚合用于应用同步流。其他优点包括通过检测已知基础设施设备之间的意外延迟(例如,虚开关增加了点时延)增强的入侵检测和预防。
特别是对于工业应用,实现时间捕获位置协议的实施例可以使许多领域受益,包括应用配置,其中执行应用和流性能的动态配置和即时验证,以及应用调试,其中执行系统级别上的配置测试和性能预生产的潜在验证。其他领域包括生产,其中802D提供了一种控制协议,以确保预期的性能,并允许用即时的性能反馈动态添加、重新定位、停运和重新配置网络设备。
时间捕获位置
如前所述,时间捕获位置协议的实施例在消息通过TSN配置的网络所遍历的各个点上捕获当前网络时间。时间捕获可以通过沿网络中提供的路径的各个点上获取时间戳,并将时间戳添加到消息中来完成。每个这样的点在本文被称为时间捕获位置(TCL)。每个TCL可以使用网络的标准开放系统互连(OSI)模型被引用。该模型将网络中的消息流抽象为若干层,最底层是传输消息的物理介质,最高层是发送和接收消息的设备/应用,每个中间层为其上一层服务,并由其下一层服务。然而,本文仅用于说明目的而使用OSI模型,时间捕获位置协议的实施例不限于任何特定的模型。
图1显示了本文公开的涉及TSN配置的网络的802D时间捕获位置协议的示例性实现,其部分可以在100看到。在TSN配置的网络上主要有两种类型的设备:终端站102和交换机、网桥和中继104。TSN终端站102通常可以取决于它们分别是在发送或接收消息被分类为发布者或接收者或两者都有,而TSN交换机、网桥和中继104可操作以沿网络路由消息。终端站102的非限制性示例包括传感器、计量设备、压力开关、电平开关、致动器、电机、继电器、螺线管、各种模拟设备和其他可以运行需要时间关键型确定性通信和功能的应用的设备。也设想了具有终端站和交换机、网桥或中继的功能的混合设备。这些TSN终端站102和交换机、网桥和中继104被认为是“时间感知的”,因为它们属于由gPTP主时钟管理的相同的时间域。设备还基于该域的时间管理时隙或任何与时间相关的功能。
如图1所示,终端站102和交换机、网桥和中继104基于OSI模型的各个层定义。例如,每个终端站102可以包括物理输入层106(例如,原始传感器读数)和处理物理输入106(例如,将传感器读数转换为温度)的应用层108。物理输入层106和应用层108一起构成运行在终端站102上的应用,如温度传感器。每个终端站102还包括由OPCUA客户110和OPCUA实时层112组成的OPCUA堆栈。OPCUA客户110和OPCUA实时层112建立由终端站102遵循的通信协议。注意,本文中OPCUA的使用仅是说明性的,本领域普通技术人员将理解其他工业通信协议可以在所公开的实施例的范围内使用。
OPCUA堆栈110、112驻留在每个TSN终端站102中的TCP/IP堆栈114上。每个TSN终端站102还包括多路复用器116,其提供到以太网驱动器118的访问或与以太网驱动器118的接口。TCP/IP堆栈114、多路复用器116和以太网驱动器118为终端站102提供IP堆栈/虚拟驱动器。终端站102的MAC(媒体访问控制)层120将终端站102连接到标准MII(媒体独立接口)122。MAC层120对应于OSI模型的数据链路层(层2或L2)。
MII122依次将终端站102连接到交换机MAC124,也称为集成MAC或管理MAC。交换机MAC124与交换机、网桥或中继104中的分组交换机126相关联并提供到分组交换机126访问。TSN交换机、网桥或中继104,像终端站102一样,也具有MAC128和PHY(物理介质)接口130,接口130通过物理介质132(例如,以太网电缆)上的以太网端口将交换机、网桥或中继104连接到其他网络设备。终端站MAC120、MII122、交换机MAC124、分组交换机126、链路层MAC128和PHY接口130通常是硬件组件。
上面的OSI层不是唯一的OSI层,但与本文的目的最相关。终端站102和交换机、网桥或中继104的操作对于本领域普通技术人员是众所周知的,因此为了节省起见,这里省略了详细的描述。一般来说,当终端站102作为发布者操作时,消息以发布者传输箭头134所示的方向行进到交换机、网桥或中继104,并进入网络100的其余部分。当终端站134作为接收者操作时,消息以接收者传输箭头136所示的方向从网络100的其余部分行进到交换机、网桥或中继104,并随后到达终端站102。
根据本公开的实施例,随着每个消息沿发布者传输箭头134或接收者传输箭头136行进,可以在各个位置捕获当前网络时间。每个时间捕获位置或TCL对应于各个OSI层的层106到层130之一。示例性TCL为终端站102标记为A到F,为交换机、网桥或中继104标记为G和H。可以获得当前网络时间的时间戳,并将其添加到在这些TCL的任何一个或多个的消息中,以监控时延并验证网络时间的精确性。额外和/或替代TCL可用在所公开的实施例范围内。
在图1示例中,TCL A和B分别对应于物理输入层106和应用层108。消息从作为发布者运行的一个终端站102上的TCL A遍历到作为接收者(反之亦然)运行的另一终端站102上的TCL A(或不同的TCL)所花费的时间取决于应用响应时间(ART),并包括,例如I/O输入刺激和输出激活时间(可以使用通用输入/输出(GPIO)或使用示波器的周期模拟)。消息从作为发布者运行的一个终端站102上的TCL B遍历到作为接收者(反之亦然)运行的另一终端站102上的TCL B(或不同的TCL)所花费的时间在很大程度上由应用数据映像的发起者驱动,通常包括读取I/O输入的时间,然后基于应用扫描循环填充数据结构(例如,温度读数)。
TCL C和D分别对应OPCUA堆栈110、112和TCP/IP堆栈114。消息从一个终端站102上的TCL C遍历到另一终端站102(反之亦然)上的TCL C(或不同的TCL)所花费的时间是软响应时间(SRT),其反映了消息退出(出口)和进入(入口)各自的OPCUA堆栈110、112所花费的时间。类似地,消息从一个终端站102上的TCL D遍历到另一终端站102(反之亦然)上的TCLD(或不同的TCL)所花费的时间是软响应时间,其反映了消息退出(出口)和进入(入口)各自的TCP/IP堆栈114所花费的时间。
TCL E对应于MUX116和/或以太网驱动器118。消息从这个TCL到另一终端站102中的相同的TCL(或不同的TCL)的传输时间(反之亦然)同样是软响应时间,其反映了消息退出和进入MUX116和/或以太网驱动器118所需的时间。TCL F对应于终端站MAC120,其是终端站102发送或接收消息的层(即,层2)。消息从终端站MAC120到另一终端站MAC120的传输时间(反之亦然)是网络响应时间(NRT),其反映了消息退出和进入各自层所需的时间。
TCL G和H分别对应交换机MAC124和链路层MAC128/PHY接口130。消息从每个TCL到另一交换机、网桥或中继104上的相同TCL(或不同TCL)的传输时间也是网络响应时间(NRT),其反映了消息退出和进入每个各自的TCL所需的时间。这些TCL G和H也是消息分别进入和退出交换机、网桥或中继104的点。
注意,对于给定的消息,消息所遍历的每个交换机、网桥或中继104为消息存在一组单独的TCL G和H,使得消息可以在通过网络100行进时累积多个(可能是数百个)TCL G和H时间戳。然而,由于本文的时间戳在各种设备(包括交换机、网桥和中继)上是可配置的特征,为了经济起见,如果网络时间不是时延相关故障的可疑原因,则没有必要在网络中发布者和接收者之间的每个交换机、网桥或中继上执行时间戳。换句话说,如果怀疑时延主要是终端站设备自身及其内部实现造成的,就没有必要在每个交换机、网桥或中继上执行时间戳。
此外,如上所述,发布者TCL A和接收者TCL A之间的行进时间是单向应用响应时间。TCL C与TCL D和E之间的行进时间定义了通过OPCUA/OPCUA实时堆栈110/112的遍历时间。这些时间区间的每一个可以用于认证应用,并识别对通信流的整体时延有贡献的详细点。然而,虽然图1中提供的时间区间可以用于测量TSN设备的性能,但它们仅是示例性的。随着沿路径插入更多的组件和层,TCL的数量可以扩展,并且可以向时间区间分配新的含义。例如,如果沿路径的任何地方都有加密,并且可以对其进行时间戳,则可以定义区间并将区间与加密相关联,并且可以向区间分配加密处理贡献。将网络时延划分为区间的目的是便于诊断沿路径的时间贡献。
时间捕获运行
现在转到图2,从图1的TSN配置的网络100的更全面视图显示出在其上具有802D时间捕获位置协议的示例性实现。可以看到,网络100包括几个TSN终端站102(TSN ES)和TSN网桥(BR)104,每个具有各自的MAC层和PHY接口,为了避免混乱没有特别编号。本领域普通技术人员将理解,MII也可以在TSN终端站102和网桥104之间代替PHY接口提供。TCL A到H对应于与图1描述的相同的TCL A到H。
网络100中还存在网络控制应用138,在一些实施例中网络控制应用可以是集中式用户配置器(CUC)和集中式网络控制器(CNC)。CUC和CNC138可以是网络100中的离散元件,或可以分布在整个网络100中,主机驻留在中心位置,例如,包括在云环境中。一般来说,CUC和CNC 138提供了在各个网桥104(和其他基础设施设备)中提供TSN流所需的网络连接和配置参数。基于TSN终端站102请求的连接(例如,通过其中的OPCUA客户110),CUC和CNC138确定所需的网络连接和配置参数,并将这些参数提供给网桥104(和其他基础设施设备)。注意,CUC的一些方面可以作为工业应用的一部分来实现,在这种情况下,终端站102将不请求来自CUC的连接,而是由CUC告知如何配置其通信参数。
为了维持时间感知,网络100中的各个终端站102和网桥104被同步到为网络100建立当前网络时间的特级主时钟(grandmaster clock)140。在一些实施例中,特级主时钟140可以作为CUC和CNC138的一部分来实现,在一些实施例中,特级主时钟140可以在距离CUC和CNC138一步之遥处(one hop away from)实现,或者特级主时钟140可以以一些其他合适的布置来实现。在一些实施例中,网络100内的时间同步遵循IEEE 802.1AS规定的通用精确时间协议(gPTP),尽管在本文实施例的范围内(例如IEEE 1588)可以使用其他合适的且精确的时间同步协议(即,时间同时协议)。gPTP的使用允许网络100中的各个终端站102和网桥104(以及其他基础设施设备)以高的精度(通常在10ns以内)同步到特级主时钟140。
在一些实施例中,同步通过gPTP特级主交换机142发生,交换机142将当前网络时间从特级主时钟140中继到各个终端站102和网桥104(以及其他网络设备)。在每个终端站102和每个网桥104的网络时钟144定期从特级主交换机142接收包含时间戳(反映当前时间)的时间同步消息。时间同步消息通过直接网络链路146接收到特级主交换机142。每个网络时钟144在考虑消息传输时间之后更新自己,并通过本地(内部)链路150向在每个终端站102的本地CPU时钟148提供时间戳。一般来说,同步如IEEE 802.1As所规定的运行。交换机142也可以是特级主时钟,其可以被实现为CUC、CNC或甚至生成时钟信号的终端站。然后其他交换机104可以作为中继,终端站102可以为时间信号从属于中继。
如上所述的TSN配置的网络100根据本公开的实施例可以用于至少两种捕获网络时间和测量时延的方法。第一种方法使用直接捕获,其中获取时间戳,并随消息遍历TCL在各个预选的TCL将时间戳附加到消息。第二种方法使用集中式测量方式,其中时延从在CUC和CNC 138从终端站102接收到的存在的时间信息派生。下面从作为发布者的终端站102连接到网桥104和/或其他网络基础设施设备(例如,交换机),并进一步连接到作为接收者的一个或多个终端站102角度描述这些方法。
直接时间捕获
直接捕获实施例基于客户端-服务器(client-server)或发布者-接收者的消息模型,其中作为客户/发布者设备运行的终端站102在各个OSI层生成消息。根据802D时间捕获位置协议,客户/发布者终端站102(即作为客户/发布者运行的终端站102)在通往设备以太网端口的途中将时间戳插入到预先配置或预先选择为TCL的某个OSI层的帧中。这样的帧在本文中被称为802D帧,在一些实施例中,时间戳可以在TCL F(即层2(L2))或OSI模型的数据链路层)插入。在网桥104(或其他基础设施设备),时间戳可以插入到入口(TCL G)和/或出口(TCL H)端口的802D帧中。服务器/接收者终端站102也可以将时间戳插入802D帧中,优选地在TCL F(层2),或者当消息被执行处理的最终OSI层接收时。即使在1Gbps链路速度下,这些时间戳高度精确地反映了每个TCL的当时网络时间。这是因为TSN域中的所有设备使用gPTP同步到特级主时钟140,在标称运行环境下,其误差小于1μs。大于1μs的误差可以使用802D时间捕获位置协议的控制子消息来更正,并根据需要将gPTP偏移传达到CUC和CNC138。
应该注意的是,本文的讨论描述了通常出于说明目的将时间戳插入到帧中,本领域普通技术人员将理解本公开的实施例并不如此有限。如上所述,本文的实施例不仅设想了在层2插入时间戳,而且设想了在对应于多个OSI层的任何一个或几个其他TCL插入时间戳,这取决于特定的实现。一般来说,时间戳可以被获得并插入到网络通信的任何单元中,例如分组(packet),然后可以根据需要将其组合成更大的单元或分割成更小的单元。因此,时间戳可以在物理层(即层1(L1))、网络层(层3(L3))或任何其他OSI层获得并插入,这取决于特定的实现。
在一般运行中,客户/发布者终端站102生成具有802D帧的消息,并在某个预先配置或预先选为TCL的OSI层将初始时间戳插入到帧中。时间戳可以在OSI模型的层2(L2)或接近层2(L2)获得,例如通常有原始的无复制套接字层,或者在以太网设备驱动器处。时间戳也可以在虚拟化层(例如,容器、管理程序)、UDP数据报文套接字或TCP数据报文套接字获得。时间戳可以替代地在OSI应用层或在工业协议层获得。合适的工业协议的例子是OPCUA,其可以通过仔细描述在传输中可以修改的数据来处理数据定义。
客户/发布者终端站102然后通过各个网桥104将带有802D帧的消息传输到TSN配置的网络100。在每个802D参与的网桥104,在网桥的入口和/或出口获得时间戳,然后将时间戳插入或附加到消息的802D帧。然后,在服务器/接收者终端站102(即作为服务器/接收者运行的终端站102),最终的时间戳尽可能接近作为最终处理层的OSI层(即应用层)并插入到802D帧中。802D帧现在包含来自每个预先配置或预先选择为TCL的OSI层的时间戳,通过TCL可以执行消息行进以及gPTP偏移、抖动和时延的计算。在一些实施例中,这些计算可以在服务器/接收者终端站102执行,计算的摘要可以发送到CUC和CNC138。在其他实施例中,原始时间戳数据可以发送给CUC和CNC138用于计算。后一种实施例在有多个接收802D帧的服务器/接收者终端站102处特别地有利,因为CUC和CNC138可以在各种服务器/接收者终端站之间关联时间戳。
在服务器/接收者终端站102或在CUC和CNC138执行计算的非限制性示例,包括在客户端/客户/发布者终端站102的传输抖动、在每个网桥104(或其他基础设施设备)的时延、在网络的段的时延、在服务器/服务器/接收者终端站102的接收抖动、从在多服务器/接收者情景中的每个服务器/侦听器的gPTP偏移时间、多流抖动。
在一些实施例中,在网络100上实现诸如IEEE 802.1CB的协议可以导致802D帧的复制。IEEE 802.1CB标准适用于局域网和城域网,为可靠性建立了用于帧复制和帧消除的规则。可以扩增IEEE 802.1CB之类的协议,以识别哪些TSN流是冗余的,为进一步用于整体时延诊断。
集中时间捕获
集中时间捕获方法基于与上面描述的直接时间捕获方法类似的原理,除了802D帧不被更改以附加时间戳。相反,客户/发布者终端站102和网桥104使用包含时间信息的专用802D消息将时间信息(例如,时间戳)传达给CUC和CNC138。CUC和CNC138然后使用专用802D消息中的时间信息来执行gPTP偏移、抖动和时延计算。集中式方法具有两种主要的运行模式:802D消息模式和802D附加模式。
在802D消息模式下,客户/发布者终端站102以与直连模式下相同的方式生成消息,并通过各个网桥104在TSN配置的网络100传输消息。但是,网桥104和其他基础设施设备不通过插入时间戳来改变消息中的802D帧。相反,客户/发布者终端站102直接向CUC和CNC138发送带有时间戳802D帧的单独消息。CUC和CNC138从客户/发布者终端站102收集这些带有时间戳802D帧的消息,并在接收到来自服务器/接收者终端站102的最终时间戳后重建TSN控制流。
在802D附加模式中,模式识别用于匹配或识别帧中预计插入时间戳信息的部分内的模式。如下面进一步讨论,帧可以预先配置以在帧内的特定位置保留模式信息(例如,5555),例如可以重复的特定块或特定偏移。然后可以使用位模式匹配器或类似的屏蔽机制来识别或定位预计将插入时间信息的块或偏移。在该模式下,客户/发布者终端站102、网桥104(和其他基础设施设备)和服务器/接收者终端站102按上述方式对各自的消息标记时间戳,然后将时间戳插入帧中并/或将时间戳信息发送到CUC和CNC138。然后,CUC和CNC138可以使用相同的模式模板来定位接收到的时间戳信息并重建整个时间信息流。
在直接和集中式方法中,CUC和CNC138使用收集到的数据来比较预期的、基于配置计算的时延与实际实现的时延。通过这种比较,CUC和CNC138可以推导某些诊断信息,并将诊断信息提供给终端用户。CUC和CNC138还可以基于预先配置的CNC选项使用诊断信息来自动地更正网络配置。自动地更正TSN配置以满足用户规范的能力必然导致完全自动的独立网络子系统的实现,这可以被认为是智能组网的实例。
802D帧格式
转到图3,示出了可以包含在根据本公开的实施例的在TSN配置的网络100上发送的消息内的示例性802D帧300。802D帧300是通常遵循在TSN配置的网络中使用的标准以太网帧格式的层2(L2)帧,除了帧的主体已根据本文的实施例修改为包括时间戳数据之外。可以看到,帧300由几个标准以太网字段组成,包括目的地MAC地址字段302、源MAC地址字段304和以太网类型306。此外,帧300包含针对TSN配置的网络100和在本文公开的802D协议的几个字段,包括控制类型字段308、流ID字段310、设备ID字段312、端口ID字段314、服务质量(QoS)字段316和数据字段318。填充部分320可以用于用所需的虚拟数据填充帧300,以使帧300符合所需的大小。本领域普通技术人员将理解,在所公开的实施例范围内,针对TSN配置的网络的字段的顺序可以不同于图3所示的顺序排列。
目的地MAC地址302和源MAC地址304分别是包含目的地MAC地址的标准字段。以太网类型字段306是另一个标准以太网字段,用于指示哪个协议被封装在帧的主体中。字段306也被消息接收者用来决定如何处理帧有效负荷。对于802D帧,以太网字段306可以用类型0x802D填充,以识别802D时间捕获位置协议。同样,在OSI传输层(L4),用于帧300的UDP端口和TCP端口可以指定为0x802D,十进制格式为32813。例如,与帧300相关联的组播地址是224.8.0.213,或互联网号码分配局(IANA)可以保留的另一个地址。可以使用类似0x802D(例如,233.252.80.213)的备用临时块地址代替组播地址。
控制类型字段308在0x802D内识别特定的子协议,其指定了数据字段318中的数据类型和内容。以下表1显示了用于控制类型字段308的示例性控制类型以及数据字段318中的相应数据,其中L2、L3和L4是OSI模型的层。注意在表1中,取决于实现,控制类型2、3、4和5可以组合成单个控制类型。
表1:802D帧控制类型
流ID字段310是在本文的TSN配置的网络100中用于消息的字段,消息包含用于控制流的唯一识别符,因为多个客户端和服务器的实例可以在单个网络中同时运行。设备ID字段312是包含用于原始设备(例如,客户/发布者终端站)的唯一识别符的字段。端口ID字段314是包含用于消息的原始端口的唯一识别符的字段。QoS字段316包含表示应该使用哪个队列映射(例如,队列0-7)来传输消息的数字。该字段可以反映差分服务编码点(DSCP)、VLAN识别符、VLAN优先级编码点(PCP)和传输服务质量QoS的组合。
图4示出了图3中802D帧的具体示例,表示为400。像它的对应物一样,帧400是通常遵循在TSN配置的网络中使用的标准以太网帧格式的L2帧。因此,有目的地MAC地址字段402、源MAC地址字段404和以太网类型406。还有控制类型字段408、流ID字段410、设备ID字段412、端口ID字段414和数据字段418。本例中的控制类型字段408包含用于直接模式时间戳(见表1)的控制类型2,因此数据字段418包含时间戳。此外,图3中的服务质量(QoS)字段已被包含用于数据字段418中的时间戳的识别符的时间戳ID字段422替换。时间戳ID是由客户/发布者终端站102和网桥104与每个获得的时间戳连接生成的值,可以从时间戳ID=0开始。填充部分420可以用于用所需的虚拟数据填充帧400,以使帧400符合所需的大小。
下面更详细地描述了捕获有关客户/发布者终端站102、网桥和其他基础设施设备104、服务器/接收者终端站102以及CUC和CNC138的时间戳的控制类型2直接模式。
参考图5,示例性方法500以流程图的形式被显示用于在客户/发布者终端站102(即,作为客户/发布者运行的终端站102)捕获时间信息。该方法通常从502开始,其中客户/发布者终端站102将其当前本地设备时间与由用于网络100的特级主时钟140设置的当前网络时间同步。这可以由通过gPTP规定的方式中的特级主交换机142将本地(CPU)时钟148同步到网络时钟144来执行。
在504,客户/发布者终端站102执行以某个时间间隔(p)发布/传输消息的循环,例如每1ms(即,p=1ms)一次。循环优选地可为预先选择的间隔数配置,并且应该准确和精确到纳秒以内,在网络纪元(epoch)开始加上预先选择的秒数。预先选择的间隔数可以因实现的不同而变化,并取决于实现的特定约束。在循环内,客户/发布者终端站102为每个消息在层2(TCL F)生成802D控制类型2的帧。
在506,对于每个生成的802D帧,客户/发布者终端站102将足够大小的帧缓冲分配给可变长度帧,以沿通过网络100的给定路径保留预期数量的时间戳。客户/发布者终端站102然后增加时间戳ID,如果那些字段中的任何数据变化,也更新设备ID、端口ID、队列ID和流ID。第一间隔时间戳ID的值应该是0,最后间隔时间戳ID的值应该是-1(表示它是序列中的最后一个)。客户/发布者终端站102然后获得时间戳或当前时间的其他指示,并将时间戳值插入帧中。然后,包含带有插入时间戳的帧的消息被传输。
客户/发布者终端站102在506中重复该过程,直到已达到预先选择的帧的数量(即,已经过了预先选择的间隔数),在该点循环结束于508。在510,客户/发布者终端站102从在506传输的时间戳计算某些网络指标的统计摘要,包括最小、最大和平均抖动值,以及最小、最大和平均gPTP偏移值。在512,客户/发布者终端站102可选地存储每个偏移、开始时间和结束时间,用于详细报告和调试目的。在514,客户/发布者终端站102使用带有802D控制类型3的帧及其定义的结构的消息将统计摘要传输到CUC和CNC138。
图6以流程图的形式显示了用于在网桥104或其他网络基础设施设备捕获时间信息的示例性方法600。该方法通常从602开始,其中网桥104接收带有802D控制类型2的帧的消息。在604,当802D帧通过网桥104行进时,网桥在某些点用当前时间信息扩增802D帧。这可以包括但不限于在帧中插入/更新设备ID,在帧中插入/更新端口ID,在帧中插入/更新队列ID,以及在帧中插入/更新时间戳。
时间戳(或当前时间信息)的包含可以基于网桥的配置。例如,网桥104可以配置为在网桥的入口插入时间戳,以及可选地,插入当接收在帧中时该时间戳所处的字节/位。网桥104还可以配置为在网桥的出口插入时间戳,以及可选地,插入当接收在帧中时该时间戳所处的字节/位。时间戳包含可以是可配置的选项,使得选项彼此独立。这可以有助于减少需要通过验证的网络段获得的时间戳的数量。
在帧中插入时间戳可以从帧开始的预先配置的偏移位置完成,这将需要更少的处理(因此更快)。或者,插入时间戳的位置可以由网桥104基于帧中紧靠前一个时间戳的位置自动地选择,这将需要更多的处理(因此更慢)。
图7以流程图的形式显示了用于在服务器/接收者终端站102(即,作为服务器/接收者运行的终端站102)收集时间信息的示例性方法700。该方法通常从702开始,其中服务器/接收者终端站102接收带有802D控制类型2的帧的消息。在704,服务器/接收者终端站102确认帧中的流ID与预期的流ID匹配,然后检查时间戳ID是否为0。如果时间戳ID为0,则服务器/接收者终端站102开始新的时间戳(或当前时间信息)的收集,否则服务器/接收者终端站102将时间戳添加到现有收集中。
在706,服务器/接收者终端站102检查并获得用于每个帧的接收时间(RX_TIME),其在帧中接收并读取时间戳ID。如果时间戳ID与前一个时间戳ID失序,则服务器/接收者终端站102声称帧丢失错误,如下文进一步讨论。否则,服务器/接收者终端站102继续执行到708。
在708,服务器/接收者终端站102从消息接收时间和接收的消息的帧中的时间戳计算几个与时延相关的指标。例如,服务器/接收者终端站102可以计算有关来自客户/发布者终端站102(即,AppL=RX_TIME-TX_TIME)的时间戳(TX_TIME)的总应用时延(AppL)。服务器/接收者终端站102还可以通过检查和添加由各个网桥104和其他网络基础设施设备(即,NetL=RX_TIME-网桥时间戳)插入的时间戳来计算网络时延(NetL)。服务器/接收者终端站102可以从接收时间和接收消息之前的最后一个网桥(即,RX_Lat=RX_TIME-最后一个网桥时间戳)中的时间戳进一步计算接收时延(RX_Lat)。服务器/接收者终端站102还可以从客户端/发布者时间戳(TX_TIME)和第一网桥时间戳(即,TX_Lat=第一网桥时间戳-TX_TIME)进一步计算传输时延(TX_Lat)。
在710,服务器/接收者终端站102从收集到的时间戳计算并更新与延迟相关的网络指标的最小、最大和平均。在712,服务器/接收者终端站102从收集到的时间戳计算并更新最小、最大和平均gPTP偏移。在714,服务器/接收者终端站102停止时间戳收集,并在已接收到包含在流中的802D控制类型2的帧的最后一个消息后生成指标的摘要报告。
图8A和8B显示了CUC和CNC138用于配置网络100中的设备以监控和验证网络100中沿给定路径的消息传输时间的示例性方法。CUC和CNC138中的每一个,无论直接地还是间接地,都连接到并可以访问网络100上的所有设备(至少在CUC和CNC的集中实现中)。具体地,CUC连接到并可以访问所有终端站102,CNC连接到并可以访问网络100上的所有网桥104(和其他网络基础设施设备)。这允许CUC和CNC138根据网络100上的设备需求,配置并启用在层2(即,通过在TCL F的时间戳)的网络设备中的时延的直接监控。
图8A显示了可以在CUC用于配置并启用网络设备中的时延的直接监控的示例性方法800。该方法通常在802开始,其中CUC通过发送适当的命令或指令在作为客户/发布者设备运行的终端站102启动802D时间戳来配置端站102。例如,目前许多工业网络使用利用NETCONF/YANG和SNMP/MIB的信息技术(IT)工具和协议被管理和监控。CUC可以根据这些管理协议之一,或客户具体协议(如OPCUA),或在802D协议中专门为目的设置的命令或指令向终端站102发出命令或指令。用于CUC配置终端站102以启动802D时间戳的其他方法也在所公开的实施例的范围内。在804,CUC通过从客户/发布者终端站102收集关于响应时间、抖动、偏移等的统计数据来确定客户/发布者终端站102的性能。在806,CUC将客户/发布者终端站102的性能传达给CNC用于分析。
然后在808,基于来自CNC的输入(例如,网桥104或网络中给定路径的其他网络基础设施设备的数量),CUC配置作为服务器/接收者设备运行的终端站102以启动802D时间戳收集。同样如上所讨论,这可以通过CUC向服务器/接收者终端站102发出适当的命令或指令来完成(例如,通过使用NETCONF、SNMP、OPCUA等写入公开的802D接口)。在一些实现中,通过在802D帧中使用时间戳标记,可以避免在服务器/接收者终端站102上基于网桥的数量的CNC输入配置和启动802D。
图8B显示了可以在CNC用于配置并启用网络设备中的时延的直接监控的示例性方法820。该方法通常在822开始,其中CNC通过向网桥104发出适当的命令或指令来配置网桥104,其方式与上面讨论的CUC在网桥104启动802D时间戳类似。与CUC一样,用于CNC配置网桥104以启动802D时间戳的其他方法也在所公开的实施例的范围内。在824,CNC通过发送适当的命令将偏移配置为与网桥104中的时间戳一起使用。在826,CNC配置在网桥104收集哪些时间戳(例如,在入口(TCL G),在出口(TCL H),或两者都收集)。在828,CNC形式的CUC在给定路径中的网桥104的性能上。
上面描述的方法与层2(L2)直接时间戳捕获的使用有关,其中,随着消息沿网络100遍历路径,在各个预先选择的TCL获得时间戳并附加到消息。如以上简要讨论,802D时间捕获位置协议的实施例设想了第二方法,该方法使用集中时间捕获,其中时延从来自终端站102在CUC和CNC138接收的现有时间信息推导。集中时间捕获与L2直接印戳类似,除了一些额外的性能。
集中时间捕获方法具有两种类型的运行:将时间信息附加到现有TSN流模式的运行,以及生成802D帧的运行。集中式方法和直接方法的主要运行区别在于,时间捕获的集中式模式不将时间戳插入到流或802D时间捕获位置协议中的其他任何地方。将时间戳插入帧的步骤被记录时间数据并使用802D控制类型4的消息向CUC和CNC通信的步骤所取代。在集中式方法中,CUC和CNC充当流收集处理器和分析引擎。因此,CUC和CNC具有足够的信息来比较网络中每个流的配置/预期时延与从802D时间信息获得的时延。这允许CUC和CNC计算和更正带宽利用率,提出时延优化,甚至重新配置通过网络的路径。
考虑通过网桥B向服务器/接收者L传输信息的客户/发布者T的示例。CNC通过网桥B提供了在特定的gPTP偏移打开,并在特定的持续时间打开的门。在理想的情况下,发布者和接收者将具有恒定的且已知的传输和接收延迟,网桥和网络介质也将具有可预测的时延。然而,在现实世界中,发布者和接收者经常遇到由于网络拥塞、抖动、时延等原因的延迟。
进一步考虑客户/发布者T以200μs的偏移从0传输,帧的大小是1500字节,导致门长度约为12μs。网桥B具有3μs的时延,服务器/接收者L具有1μs的接收时延。帧到达的预期时间将以216μs从0偏移。也假设这是以1ms间隔发生的循环运行。所有设备T、L和B的时间同步到纳秒精度。
几件事可能出错。首先,客户/发布者T传输帧的时间比配置的200μs晚几微秒。因此,帧到达网桥B较晚以适应12μs窗口,从而将其延迟1ms的整个循环。第二,gPTP时间同步可能具有比预期更大的抖动,因此来自客户/发布者T的帧错过了窗口,帧再次延迟到另一个循环。可能还有很多其他问题。
通过使用802D协议来检查并进行配置评估,可以避免这些“错误配置”或高度优化的理论配置。由于在一些实施例中,协议在网络中的每个点执行时间戳,因此可以确定当客户/发布者T传输数据时的最大偏移,然后将门的起始偏移调整到+/-2μs的误差(假设应用的最大抖动)。门起始偏移可以调整到202μs或其长度可以调整到14μs以覆盖传输抖动,或者可以进行这两种调整以覆盖gPTP偏移变化。该信息可以报告给用户,并且可以自动地或基于用户更改的确认进行更正。
一些TSN设备(包括终端站和网桥)可能随着时间的推移而恶化。这可以例如由于内存碎片、系统更改、多次重新配置、启用和/或禁用附加TSN特征、人为干扰系统等原因发生。本文中的802D协议可以被CNC用作质量保证工具,以验证整个系统仍然根据原始配置执行。下面是可以用于实现集中时间捕获方式的方法。
参考图9,示例性方法900被显示用于在客户/发布者终端站102(即,作为客户/发布者运行的终端站102)实现集中时间信息捕获。方法900类似于图5的对应物,除了时间信息从客户/发布者终端站102直接地传输到CUC和CNC138用于处理。该方法通常从902开始,其中客户/发布者终端站102将其当前本地设备时间与由用于网络100的特级主时钟140设置的当前网络时间同步。同样,这可以由通过gPTP规定的方式中的特级主交换机142将本地(CPU)时钟148同步到网络时钟144来执行。
在904,客户/发布者终端站102执行以某个时间间隔(p)发布/传输消息的循环,例如每1ms(即,p=1ms)一次。循环优选地可为预先选择的间隔数配置,并且应该准确和精确到纳秒以内,在网络纪元(epoch)开始加上预先选择的秒数。在循环内,客户/发布者终端站102为每个消息在层2(TCL F)生成802D控制类型4(替代控制类型2)的帧。
在906,对于每个生成的802D帧,客户/发布者终端站102将足够大小的帧缓冲分配给可变长度帧,以沿通过网络100的给定路径保留预期数量的时间戳。客户/发布者终端站102然后增加时间戳ID,如果那些字段中的任何数据变化,也更新设备ID、端口ID、队列ID和流ID。第一时间戳ID的值应该是0,最后时间戳ID的值应该是-1(同样表示它是序列中的最后一个)。客户/发布者终端站102然后获得时间戳或当前时间的其他指示,并将时间戳值插入帧中。然后,包含带有插入时间戳的帧的消息被直接地传输到CUC,而不是如控制类型2的帧的情况(见图5)被传输到提供的路径中的下一个网桥或交换机。
客户/发布者终端站102在906中重复该过程,直到已达到预先选择的帧的数量(即,已经过了预先选择的间隔数),在该点循环结束于908。在910,客户/发布者终端站102使用具有802D控制类型5的帧的消息将802D帧传输到CUC和CNC138。在912,客户/发布者终端站102可选地存储每个偏移、开始时间和结束时间,用于详细报告和调试目的。在914,客户/发布者终端站102使用带有802D控制类型3的帧及其定义的结构的消息将统计摘要传输到CUC和CNC138。
图10以流程图的形式显示了用于在网桥104或其他网络基础设施设备捕获时间信息的示例性方法1000。方法1000类似于图6的对应物。该方法通常从1002开始,其中网桥104接收带有802D控制类型2的帧的消息。在1004,当802D帧通过网桥104行进时,网桥在某些点用当前时间信息扩增802D帧。这可以包括但不限于在帧中插入/更新设备ID,在帧中插入/更新端口ID,在帧中插入/更新队列ID,以及在帧中插入/更新时间戳。
时间戳(或当前时间信息)的包含可以基于网桥的配置。例如,网桥104可以配置为在网桥的入口插入时间戳,以及可选地,插入当接收在帧中时该时间戳所处的字节/位。网桥104还可以配置为在网桥的出口插入时间戳,以及可选地,插入当接收在帧中时该时间戳所处的字节/位。时间戳包含可以是可配置的选项,使得选项彼此独立。这可以有助于减少需要通过验证的网络段获得的时间戳的数量。
在帧中插入时间戳可以从帧开始的预先配置的偏移位置完成,这将需要更少的处理(因此更快)。或者,插入时间戳的位置可以由网桥104基于帧中紧靠前一个时间戳的位置自动地选择,这将需要更多的处理(因此更慢)。在一些实施例中,帧可以具有可以将信息插入其中的预定义的模式填充插槽。例如,帧有效负荷可以具有预先配置的模式,例如005555005555005555,其中0(或二进制中的0000)和5(或二进制中的0101)表示可以插入时间戳的已知的网桥或交换机的模式或占位符。然后网桥或交换机可以自动地检测第一子模式(例如5555)并在其中用时间戳改写预先选择的字节数(例如,4字节),然后检测子模式的下一个实例,并在其中用时间戳改写预先选择的字节数,等等。
gPTP偏移报告
现在参考图11,显示了包含几个时钟迹线的曲线图1100,说明在像网络100的TSN配置的网络中可能的时钟漂移。如上所述,网络100中的时间由集中式gPTP特级主时钟140设置。网络设备通过gPTP特级主交换机142将它们的工作时钟144与特级主时钟140同步,交换机142中继来自特级主时钟140的包含当前时间的消息。虽然一般的gPTP协议可以以极高的精度维持网络100中的时间,但是由于gPTP的分布特性,时钟漂移仍然可能随时间的推移而发生。如图11所示,其中标记为1102的迹线表示gPTP特级主时钟140,标记为1104的迹线表示工作时钟144。可以看到,工作时钟144通常与gPTP特级主时钟140保持在已知和可接受的偏移值(例如,10ns)内。然而,当时钟漂移发生时,工作时钟144可以偏离出已知和可接受的偏移之外。这可以通过标记为1106的迹线来展示,其表示当发生时钟漂移时的工作时钟144。
本文的802D时间捕获位置协议可以方便地检测网络100中的时钟漂移。例如,在TSN配置的网络100中,每个终端站102和网桥104(或其他网络基础设施设备)可以通过带有本文讨论的时间戳帧的消息向CUC和CNC138报告时延和其他问题。该信息可以作为用于网络上每个设备的精度保证,也可以用于解释使用802D协议检测到的时延。例如,CUC或CNC可以通过随时间监控一个或几个TCL并追踪最小、最大和差来推断漂移已发生。一旦使用802D协议检测到漂移,CUC或CNC可以使用gPTP的诊断特征来验证时延的原因是否是PTP漂移。在一些实施例中,可以使用自动化过程来更正由802D协议得到的时延。消息可以根据802D协议使用控制类型1的帧通信(见表1)。这些消息可以包含特级主时钟ID、客户/发布者ID、时钟ID以及与特级主时钟的偏移量等等。消息可以以适当的预先选择的时间间隔发送。
TAS错误报告
除了时钟精度保证外,802D协议还可以用于检测早到和晚到的帧。在TSN配置的网络中,每个终端站客户/发布者和网桥中的时间感知整形器(TAS)将网络上的消息传输限制在若干通道中,这些通道本质上是传输可能发生的时间窗口。其中一些通道是为高优先级消息保留的,这保证了消息的传递不超过预先选择的最大时延量。可以配置通道的每个终端站客户/发布者和网桥(或其他网络基础设施设备)也具有能力检测早到和晚到的帧(即,在窗口打开之前或TAS窗口关闭之后到达的帧)。
用802D协议,早到帧和晚到帧的检测可以成为明确的功能。由于802D协议使用在设备的入口(TCL G)打上时间戳的帧,因此帧应该到达出口(TCL H)的时间是预先已知的。如果在出口接收的帧比预期的早或晚,则终端站客户/发布者和网桥可以生成并向CUC和CNC发送802D错误消息,表示潜在的设备错误配置或存在高流量抖动。同样的检测也可以应用于大于TAS窗口大小的帧。下面的表2提供了示例错误代码及其描述。额外和/或替代代码在本公开的范围内。
错误代码 | 描述 |
1 | 早帧 |
2 | 晚帧 |
3 | 过大帧 |
4 | 丢失的帧队列过载 |
表2:802D错误代码
除了上面讨论的终端站102和交换机、网桥和中继104之外,本公开的实施例进一步设想了使用以太网测试接入点(TAP),也称为智能TAP设备,作为可以插入时间戳的TCL。智能TAP设备是可独立配置的设备,其可以插入网络中的各个点,以复制在网络中的两个节点之间流动的网络流量。然后,智能TAP设备将复制的流量提供给网络工具,如安全和分析工具,以提供网络性能的评估。
图12显示了示例性TSN配置的网络1200,其中一个或多个TAP设备可以被用作TCL,其中时间戳可以根据本公开的实施例插入。网络1200类似于前面讨论的TSN配置的网络100,其中有通过物理介质132连接到TSN网桥、交换机和中继104的TSN终端站102。网络1200中还存在网络控制应用138,在一些实施例中网络控制应用可以是CUC/CNC。为了维持时间感知,网络1200中的各个终端站102和网桥、交换机和中继104被同步到为网络1200建立当前网络时间的gPTP特级主时钟140。在一些实施例中,特级主时钟140可以作为CUC/CNC138的一部分来实现,在一些实施例中,特级主时钟140可以在距离CUC和CNC138一步之遥处实现,或者特级主时钟140可以以一些其他合适的布置来实现。
根据本公开的实施例,网络1200还包括在网络1200内的各个点添加的若干智能TAP设备1202。这些智能TAP设备1202可以位于网络1200上一个或多个终端站102和一个或多个交换机104之间的任何位置,以充当无源帧捕获设备。TAP设备1202以通常的方式同步到gPTP特级主时钟140并从特级主时钟140接收时间信息,因此TAP设备是时间感知的并具有到精确网络时间的访问。
在一般运行中,TAP设备1202可以由CUC/CNC136按需配置,以类似于终端站102和交换机104的方式启动时间捕获。一旦配置,TAP设备1202获得时间信息并将时间信息(例如,时间戳)插入到复制的帧中,并通过802D控制类型4的帧将帧作为带外消息提供给CUC/CNC136。在一些实施例中,包含控制类型4的帧的带外消息使用补充后端网络(由虚线1204表示)发送到CUC/CNC136,TAP设备1202连接到补充后端网络。802D协议和智能TAP设备1202的使用以这种方式最小化或避免了配置终端站102和/或交换机104以获得和提供时间戳的需要,从而限制了网络配置上的侵入。当然,网络1200可以在所公开的实施例的范围内包括配置的TAP设备1202以及配置的终端站102和/或配置的交换机104。
除了支持802D协议,智能TAP设备1202还可以配置(通过CUC/CNC136),以提供使用模式识别来捕获带有某些预先选择的特性的帧的探测和捕获机制。当TAP设备1202检测到带有预先选择的特性的帧时,TAP设备1202使用802D控制类型4的帧生成带外消息并将帧(其中插入时间戳)发送到CUC/CNC136。当另一TAP设备1202检测到相同的帧时,该TAP设备1202也捕获帧并将帧(其中插入时间戳)发送到CUC/CNC136。在CUC/CNC136,来自带外802D消息的帧被合并,并以前面描述的方式为抖动、时延和延迟分析时间信息。
图13示出了可以用于实现本公开的各种实施例的示例性计算系统。通常,可以使用本公开的各种实施例中使用的任何通用计算系统。这样的计算系统可以是物理的或是虚拟的。例如,本公开的各种实施例可以作为在图13所示的通用计算系统1300中执行的专用软件实现。计算系统1300可以包括连接到一个或多个存储设备1330的处理器1320,例如磁盘驱动、存储器或用于存储数据的其他设备。存储器1330通常用于在计算系统1300运行期间存储程序和数据。计算系统1300还可以包括提供额外存储容量的存储系统1350。计算系统1300的组件可以通过互连机制1340联接,互连机制1340可以包括一个或多个总线(例如,集成在同一机器内的组件之间)和/或网络(例如,驻留在独立的离散机器上的组件之间)。互连机制1340使通信(例如,数据、指令)能够在系统1300的系统组件之间交换。
计算系统1300还包括一个或多个输入设备1310(例如,键盘、鼠标、轨迹球、麦克风、触摸屏)以及一个或多个输出设备1360(例如,打印设备、显示屏、扬声器)。此外,计算系统1300可以包含一个或多个接口(未显示),接口将计算系统1300连接到通信网络(作为互连机制1340的补充或替代)。
存储系统1350,更详细地显示在图14中,通常包括计算可读且可写的非易失性记录介质1410,其中存储定义由处理器1320执行的程序的信号或存储在介质1410上的由程序处理以执行与本文所述实施例相关的一个或多个功能的信息。例如,介质可以是磁盘或闪存。通常,在运行中,处理器1320导致数据从非易失性记录介质1410读取到存储系统存储器1420,存储器1420允许处理器比介质1410更快地访问信息。该存储系统存储器1420通常是易失性的随机访问存储器,如动态随机访问存储器(DRAM)或静态存储器(SRAM)。如图所示,该存储系统存储器1420可以位于存储系统1350中,或在系统存储器1330中。处理器1320一般操作存储系统1420内的数据,在处理完成之后再将数据复制到介质1410。已知用于管理介质1410和集成电路存储元件1420之间的数据移动的各种机制,并且本公开不限于此。所公开的不限于特定存储器1420、存储器1330或存储系统1350。
计算系统可以包括专门编程的专用硬件,例如专用集成电路(ASIC)。本公开的各方面可以在软件、硬件或固件或其任何组合中实现。此外,这些方法、行为、系统、系统要素及其组件可以作为上述计算系统的一部分或作为独立组件实现。
尽管计算系统1300通过示例的方式显示为本公开的各个方面可以在其上实践的一种类型的计算系统,但是应当认识到,本公开的各个方面不限于在图13所示的计算系统上实施。本发明的各个方面可以在具有图13所示的不同架构或组件的一个或多个计算系统上实践。此外,本公开的实施例的功能或过程在本文(或在权利要求中)被描述为在处理器或控制器上执行时,这样的描述旨在包括使用多个处理器或控制器来执行功能的系统。
计算系统1300可以是使用高级计算编程语言可编程的通用计算系统。计算系统1300也可以使用专用编程的、专用的硬件来实现。在计算系统1300中,处理器1320通常是商业上可用的处理器,例如英特尔公司的著名的奔腾级处理器。许多其他处理器是可用的。这样的处理器通常执行操作系统。
处理器和操作系统一起定义了计算平台,在其上以高级编程语言编写应用程序。应当理解,本公开的实施例不限于特定的计算系统平台、处理器、操作系统或网络。此外,本领域技术人员应该清楚地知道,本公开不限于特定的编程语言或计算系统。此外,应当认识到,也可以使用其他适当的编程语言和其他适当的计算系统。
在前面,参考了各种实施例。然而,本公开的范围不限于具体描述的实施例。替代地,所描述的特征和元素的任何组合,无论是否与不同的实施例相关,都被预期来实施和实践预期的实施例。此外,尽管实施例可以实现优于其他可能的解决方案或现有技术的优点,但是特定的优点是否由给定的实施例实现并不限制本公开的范围。因此,前面的方面、特征、实施例和优点仅仅是说明性的,并且不被认为是所附权利要求的元素或限制,除非在权利要求中明确陈述。
应该理解的是,包含所公开实施例的各方面的实际的商业应用的开发将需要许多具体实施决策来实现商业实施例。这种具体实施决策可以包括(可能不限于)遵守与系统相关的、与业务相关的、与政府相关的和其他约束,这些约束可能随具体实施、位置和时间变化。虽然开发者的努力可能被认为是复杂且耗时的,但对于具有本公开的益处的本领域技术人员,这样的努力仍然是常规工作。
还应理解的是,在本文公开和教导的实施例易受众多和各种修改和替代形式的影响。因此,使用单数术语,如但不限于“一个”等,并不旨在限制项目的数量。同样,书面描述中使用的任何相关术语,例如但不限于“上”、“下”、“左”、“右”、“上部”、“下部”、“向下”、“向上”、“侧”等,是为了使具体参考附图清晰,而不旨在限制本发明的范围。
本公开在其应用中不限于以下描述中所述或由附图说明的结构细节和组件的布置。本公开能够具有其他实施例并且能够以各种方式被实践或被执行。此外,这里使用的措辞和术语是为了描述的目的,不应被视为限制。本文的“包括”、“组成”、“具有”、“包含”、“涉及”以及变体的使用是开放式的,即“包括但不限于……”。
本文所公开的各种实施例可以作为系统、方法或计算程序产品来实现。相应地,各方面可以采取整体硬件实施例、整体软件实施例(包括固件、常驻软件、微代码等)或结合软件和硬件方面的实施例的形式,这些方面在本文中一般被称为“电路”、“模块”或“系统”。此外,各方面可以采取体现在一个或多个具有体现在其上的计算可读程序代码的计算可读介质中的计算程序产品的形式。
可以利用一种或多种计算可读介质的任何组合。计算可读介质可以是非暂时性计算可读介质。非暂时性计算可读介质可以是,例如但不限于,电子、磁、光学、电磁、红外或半导体系统、装置或设备,或上述的任何适当组合。非暂时性计算可读介质的更具体示例(非详尽列表)可以包括以下:具有一个或多个电线的电连接、便携式计算软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或上述任何适当组合。体现在计算可读介质上的程序代码可以使用任何适当的介质传输,介质包括但不限于无线、有线、光纤电缆、射频等,或上述任何适当组合。
用于执行本公开的各方面的运行的计算程序代码可以用一种或多种编程语言的任何组合来编写。此外,这种计算程序代码可以使用单个计算系统或通过彼此通信(例如,使用局域网(LAN)、广域网(WAN)、互联网等)的多个计算系统执行。虽然参考流程图和/或框图描述了上述的各种特征,但本领域普通技术人员将理解,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以通过计算逻辑(例如,计算程序指令、硬件逻辑、两者的组合等)实现。通常,计算程序指令可以提供给通用计算、专用计算或其他可编程数据处理装置的处理器。此外,使用处理器执行这样的计算程序指令产生可以执行流程图和/或框图块或块中指定的功能或行为的机器。
计算系统的一个或多个部分可以分布在联接到通信网络的一个或多个计算系统上。例如,如上所述,确定可用电源容量的计算系统可以远离系统管理器定位。这些计算系统也可以是通用计算系统。例如,本公开的各个方面可以分布在一个或多个被配置为向一个或多个客户计算系统提供服务(例如,服务器)或作为分布式系统的一部分执行总体任务的计算系统中。例如,本公开的各个方面可以在客户-服务器或多层系统上执行,多层系统包括分布在根据本公开的各种实施例执行各种功能的一个或多个服务器系统中的组件。这些组件可以是使用通信协议(如TCP/IP)在通信网络(如互联网)上通信的可执行代码、中间代码(如IL)或解释代码(如Java)。例如,一个或多个数据库服务器可以用于存储设备数据,例如用于设计与本公开的实施例相关联的布局的预期功率消耗。
应当认识到,本公开不限于在任何特定系统或系统组上执行。此外,应当认识到,本公开不限于任何特定的分布式架构、网络或通信协议。
本公开的各种实施例可以使用面向对象的编程语言编程,例如SmallTalk、Java、C++、Ada或c#(C-sharp)。也可以使用其他面向对象的编程语言。另外,可以使用函数式语言、脚本语言和/或逻辑编程语言,如BASIC、Fortran、Cobol、TCL或Lua。本公开的各个方面可以在非编程环境中实现(例如,分析平台,或以HTML、XML或其他格式创建的文档,当在浏览器程序的窗口中查看时,呈现图形用户界面(GUI)的各个方面或执行其他功能)。本公开的各方面可以作为编程或非编程元件或其任何组合实现。
附图中的流程图和框图说明了本公开的各种实施例的可能实现的架构、功能和/或运行。在这方面,流程图或框图中的每个块可以表示模块、段或部分代码,其包括用于实现指定逻辑功能的一个或多个可执行指令。还应该注意的是,在一些替代实现中,块中指出的功能可以与附图中指出的顺序不同。例如,连续显示的两个块实际上可以基本上同时地执行,或者块有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意到,方框图和/或流程图的每个块,以及方框图和/或流程图中的块的组合,可以由执行指定功能或行为的基于特殊用途硬件的系统,或特殊用途硬件和计算指令的组合实现。
应当理解,以上描述旨在说明而非限制。在阅读和理解以上描述后,许多其他实施例是显而易见的。尽管本公开描述了具体示例,但是应当认识到,本公开的系统和方法不限于本文描述的示例,而是可以在所附权利要求的范围内进行修改来实践。因此,说明书和附图被认为是说明性的而不是限制性的。因此,本公开的范围应该参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。
Claims (29)
1.一种被配置为用于时间敏感网络(TSN)的网络,包括:
终端站,能够操作以在所述网络上传输和接收TSN消息;
网络基础设施设备,连接到所述终端站,并能够操作以分别向所述终端站发送和从所述终端站接收TSN消息;和
集中式用户配置器(CUC),与所述终端站连接并能够操作以为TSN配置所述终端站,所述CUC还能够操作以指令所述终端站来启动时间数据捕获;
其中,响应于所述CUC启动时间数据捕获的指令,所述终端站还能够操作以在预先选择的互连层生成预定数量的帧并将所述帧传输到所述CUC,所述终端站在每个帧中插入当前网络时间数据;并且
其中,所述CUC还能够操作以使用帧中的当前网络时间数据来确定存在多少传输抖动和/或时延。
2.根据权利要求1所述的网络,其中所述预先选择的互连层是开放系统互连(OSI)模型的层2。
3.根据权利要求1所述的网络,其中每个帧中的当前网络时间数据是时间戳,每个时间戳反映当时的网络时间。
4.根据权利要求3所述的网络,其中所述终端站通过首先将所述帧传输到所述网络基础设施设备来将所述帧传输到所述CUC。
5.根据权利要求4所述的网络,进一步包括集中式网络控制器(CNC),所述集中式网络控制器连接到所述CUC和所述网络基础设施设备,所述CNC能够操作以指令所述网络基础设施设备启动在所述网络基础设施设备接收的帧的时间戳。
6.根据权利要求5所述的网络,其中,响应于所述CNC启动时间戳的指令,所述网络基础设施设备能够操作以在所述网络基础设施设备接收的每个帧中插入反映当前网络时间的时间戳,所述时间戳被插入到帧内预先配置模式的预先选择的子模式中。
7.根据权利要求6所述的网络,其中所述终端站是客户/发布者终端站,所述网络进一步包括连接到所述网络基础设施设备和所述CUC的服务器/接收者终端站,所述服务器/接收者终端站能够操作以从所述基础设施设备接收帧,以及,响应于CUC的指令,收集在所述帧中的时间戳,所述服务器/接收者终端站还能够操作以使用时间戳计算应用时延、网络时延、接收时延和传输时延中的一个或多个。
8.一种操作被配置为用于时间敏感网络(TSN)的网络的方法,包括:
在发布者设备生成在预先选择的开放系统互连(OSI)层带有初始时间戳的帧,所述初始时间戳反映当时的网络时间;
在所述帧朝向所述发布者设备的网络端口遍历所述OSI层时收集额外的时间戳,每个额外的时间戳反映当时的网络时间;
通过至少一个基础设施设备在所述网络上传输帧,其中在每个预先配置的基础设施设备处,所述帧在预先配置的基础设施设备的入口和出口被打上时间戳;
在接收者设备处接收帧;
当所述帧遍历所述接收者设备的OSI层时收集至少一个额外的时间戳,在所述接收者设备的预先选择的OSI层获取至少一个时间戳;以及
基于所收集的时间戳计算通过所述网络的网络流量中的传输抖动和/或时延,所收集的时间戳包括所述初始时间戳和至少一个时间戳。
9.根据权利要求8所述的方法,其中所述计算由所述接收者设备执行并传输到集中式用户配置器和/或集中式网络配置器。
10.根据权利要求8所述的方法,其中所述计算由所述集中式用户配置器和/或所述集中式网络配置器使用从所述接收者设备收集的时间戳执行。
11.根据权利要求8所述的方法,其中通过所述网络的网络流量中的抖动和/或时延包括以下至少一个:所述发布者设备的传输抖动、穿过每个基础设施设备的时延、穿过包括一个或多个基础设施设备的基础设施段的时延,或所述接收者设备的接收抖动。
12.根据权利要求11所述的方法,其中所述接收者设备是多个接收者设备之一,并且抖动和/或时延包括所述接收者设备的接收偏移和多流抖动。
13.根据权利要求8所述的方法,还包括执行计算的时延与所述网络配置的时延的比较。
14.根据权利要求13所述的方法,还包括基于所述比较在通过所述网络提供的路径中识别错误配置或故障设备。
15.根据权利要求13所述的方法,还包括基于所述比较,计算和更正带宽利用率,提出时延优化,或通过所述TSN网络重新配置路径。
16.根据权利要求8所述的方法,其中时间戳插入或附加到所述帧内预先配置模式的预先选择的子模式中的帧。
17.一种被配置为用于时间敏感网络(TSN)的网络控制器,包括:
处理器;
存储系统,连接到所述处理器,所述存储系统在其上存储计算机可读指令,当由所述处理器执行指令时,使得所述网络控制器:
指令网络终端站启动时间数据捕获,所述网络终端站响应于所述网络控制器的指令,在预先选择的互连层生成预定数量的帧,并将所述帧传输到所述网络控制器,所述网络终端站在每个帧中插入当前网络时间数据;以及
使用所述帧中的当前网络时间数据确定传输抖动和/或时延的量。
18.根据权利要求17所述的网络控制器,其中,当由所述处理器执行所述计算机可读指令时,所述计算机可读指令还使得所述网络控制器指令所述网络基础设施设备以启动在所述网络基础设施设备处接收的帧的时间戳。
19.根据权利要求18所述的网络控制器,其中所述网络终端站通过首先将所述帧传输到所述网络基础设施设备来将所述帧传输到所述网络控制器。
20.根据权利要求17所述的网络控制器,其中所述网络控制器包括集中式用户配置器(CUC)、集中式网络控制器(CNC),或两者兼有。
21.一种被配置为用于时间敏感网络(TSN)的网络设备,包括:
处理器;
存储系统,连接到所述处理器,所述存储系统在其上存储计算机可读指令,当由所述处理器执行指令时,使得所述网络设备:
从网络控制器接收指令以启动时间数据捕获;
响应于从所述网络控制器接收的指令,在预定数量的帧中插入当前网络时间数据;以及
将所述帧传输到所述网络控制器以使用所述帧中的当前网络时间数据来确定存在多少传输抖动和/或时延。
22.根据权利要求21所述的网络设备,其中所述网络设备是以下之一:网络终端站、网络基础设施设备或网络测试接入点(TAP)设备。
23.根据权利要求21所述的网络设备,其中所述网络设备通过首先将所述帧传输到网络基础设施设备来将所述帧传输到所述网络控制器。
24.根据权利要求21所述的网络设备,其中所述网络设备通过将带外消息传输到所述网络控制器来将所述帧传输到所述网络控制器。
25.根据权利要求21所述的网络设备,其中所述网络控制器包括集中式用户配置器(CUC)、集中式网络控制器(CNC),或两者兼有。
26.一种被配置为用于时间敏感网络(TSN)的网络,包括:
终端站,能够操作以在所述网络上传输和接收TSN消息,每个TSN消息在其中具有帧;
网络基础设施设备,连接到所述终端站,并能够操作以分别向所述终端站发送和从所述终端站接收TSN消息;
网络测试接入点(TAP)设备,连接到所述终端站和/或所述网络基础设施设备,并且能够操作以从所述终端站和/或所述网络基础设施设备复制TSN消息;以及
网络控制器,连接到所述终端站、所述网络基础设施、所述TAP设备,所述网络控制器能够操作以指令所述TAP设备来启动时间数据捕获;
其中,响应于由所述网络控制器启动时间数据捕获的指令,所述TAP设备还能够操作以在预定数量的帧中插入当前网络时间数据,并将所述帧传输到所述网络控制器;并且
其中,所述网络控制器还能够操作以使用所述帧中的当前网络时间数据来确定存在多少传输抖动和/或时延。
27.根据权利要求1所述的网络,其中每个帧中的当前网络时间数据是时间戳,每个时间戳反映当时的网络时间。
28.根据权利要求1所述的网络,其中所述TAP设备还能够操作以确定所述帧是否与预先选择的模式匹配,并且只在所述帧与预先选择的模式匹配时才在所述帧中插入当前网络时间和传输所述帧。
29.根据权利要求1所述的网络设备,其中所述TAP设备使用带外消息将所述帧传输到所述网络控制器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063109278P | 2020-11-03 | 2020-11-03 | |
US63/109,278 | 2020-11-03 | ||
PCT/US2021/057752 WO2022098659A1 (en) | 2020-11-03 | 2021-11-02 | Tsn operation management system with time capture location protocol |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116368777A true CN116368777A (zh) | 2023-06-30 |
Family
ID=81379391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180072417.7A Pending CN116368777A (zh) | 2020-11-03 | 2021-11-02 | 用时间捕获位置协议的tsn运行管理系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11916660B2 (zh) |
EP (1) | EP4218164A1 (zh) |
CN (1) | CN116368777A (zh) |
WO (1) | WO2022098659A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4287530A1 (en) * | 2022-06-02 | 2023-12-06 | Siemens Aktiengesellschaft | Analysis of local time stamps and reference clock in a at least partly virtual communication system for error detection |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8532304B2 (en) * | 2005-04-04 | 2013-09-10 | Nokia Corporation | Administration of wireless local area networks |
US9185579B2 (en) * | 2012-08-24 | 2015-11-10 | Ascom Network Testing Ab | Systems and methods for measuring available bandwidth in mobile telecommunications networks |
US10764180B1 (en) * | 2018-02-20 | 2020-09-01 | Toshiba Memory Corporation | System and method for storing data using software defined networks |
-
2021
- 2021-11-02 WO PCT/US2021/057752 patent/WO2022098659A1/en unknown
- 2021-11-02 US US17/517,339 patent/US11916660B2/en active Active
- 2021-11-02 CN CN202180072417.7A patent/CN116368777A/zh active Pending
- 2021-11-02 EP EP21819636.8A patent/EP4218164A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022098659A1 (en) | 2022-05-12 |
US20220140930A1 (en) | 2022-05-05 |
EP4218164A1 (en) | 2023-08-02 |
US11916660B2 (en) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10623297B2 (en) | Methods, systems, and computer readable media for testing scheduling fidelity in a time sensitive network | |
US9413625B2 (en) | Automatic capture of the network delay components | |
CN108737003B (zh) | 用于测试时间敏感网络(tsn)元件的方法、系统和计算机可读介质 | |
TWI753199B (zh) | 間接封包分類時間戳系統及方法 | |
Megyesi et al. | Challenges and solution for measuring available bandwidth in software defined networks | |
US20190013954A1 (en) | Elastic timestamping | |
JP5646090B2 (ja) | Traceroute_delay診断コマンド | |
KR101426325B1 (ko) | 패킷-교환 네트워크를 위한 네트워크 요소 | |
CN113196712B (zh) | Tsn使能控制器 | |
Soucek et al. | Quality of service concerns in IP-based control systems | |
EP2398188A1 (en) | Method of Remote Active Testing of a Device or Network | |
WO2016045098A1 (zh) | 交换机、控制器、系统及链路质量检测方法 | |
Mildner | Time sensitive networking for wireless networks-a state of the art analysis | |
Bosk et al. | Methodology and infrastructure for tsn-based reproducible network experiments | |
CN116368777A (zh) | 用时间捕获位置协议的tsn运行管理系统 | |
Gogolev et al. | A simpler tsn? traffic scheduling vs. preemption | |
Senk et al. | Flexible measurement testbed for evaluating Time-Sensitive networking in industrial automation applications | |
Nsaibi | Timing Performance Analysis of the Deterministic Ethernet Enhancements Time-Sensitive Networking (TSN) for Use in the Industrial Communication | |
Rinaldi et al. | Evaluating low-cost bridges for time sensitive software defined networking in smart cities | |
İckin | Implementation of measurement module for seamless vertical handover | |
Wisniewski et al. | Seamless Reconfiguration of the Industrial Network System | |
Eidson | An overview of clock synchronization using ieee 1588 | |
Mitaroff-Szécsényi | Distributed synchronized measurement system in the ARROWHEAD Internet of Things Framework | |
fast Ethernet | Today’s Fabs and EDA |
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 |