CN111327657A - 数据缓冲的方法、设备和计算机可读介质 - Google Patents
数据缓冲的方法、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN111327657A CN111327657A CN201811535432.7A CN201811535432A CN111327657A CN 111327657 A CN111327657 A CN 111327657A CN 201811535432 A CN201811535432 A CN 201811535432A CN 111327657 A CN111327657 A CN 111327657A
- Authority
- CN
- China
- Prior art keywords
- node
- path
- length
- time
- delay
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
根据本公开的实施例,提供了数据缓冲的方法、设备和计算机可读介质。在网络的第一节点处,检测与第一节点和网络的第二节点之间的传输时延相关的信息,信息指示以下至少一项:时延变化范围,时延变化范围覆盖多个分组从第二节点到达第一节点时产生的相应实际时延与相应预期时延之间的多个偏差,和在第一节点与第二节点之间的不同路径上的分组传输产生的路径时延差异;基于检测到的信息确定缓冲时间长度;以及将从第一节点待传出的数据缓冲所确定的缓冲时间长度。以此方式,可以使得节点处的缓冲时间长度更加合理,同时可以满足路径切换以及传输网络对称性的要求。
Description
技术领域
本公开的实施例总体上涉及通信领域,并且更具体地,涉及数据缓冲的方法、设备和计算机可读介质。
背景技术
在通信系统中,各个通信设备间可以通过传输网络实现数据的传输。随着通信技术的飞速发展,第五代(5G)移动通信网络已经完成第一阶段全功能标准化工作,这使得5G的实际部署成为可能。在5G网络架构中,引入了前传网络的概念。在这样的前传网络中,通信设备(诸如,基带处理单元(BBU)、远程无线电单元(RRU)等)之间不再是简单的直连,而是通过多个节点构成的传输网络彼此连接。传输网络的传输性能将影响通信设备间数据传输的质量。
一直以来,时间敏感类应用都是通信网中的重要业务,该类应用对传输时延和对称性控制均具有很高的要求。从某种意义上讲,连接通信设备的传输网络的网络性能决定了通信设备间的业务质量。因此,如何设计传输网络,使其具备更低的时延以及更好的对称性以使其满足时间敏感类应用的需求,是当前研究的热点和难点之一。
发明内容
根据本公开的实施例,提供了一种用于传输网络中的数据缓冲方案。
根据本公开的第一方面,提出了一种数据缓冲的方法。该方法包括:在网络的第一节点处,检测与第一节点和网络的第二节点之间的传输时延相关的信息,信息指示以下至少一项:时延变化范围,时延变化范围覆盖多个分组从第二节点到达第一节点时产生的相应实际时延与相应预期时延之间的多个偏差,和在第一节点与第二节点之间的不同路径上的分组传输产生的路径时延差异;基于检测到的信息确定缓冲时间长度;以及将从第一节点待传出的数据缓冲所确定的缓冲时间长度。
根据本公开的第二方面,提出了一种电子设备。该电子设备包括:包括处理器,以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使电子设备:在网络的第一节点处,检测与第一节点和网络的第二节点之间的传输时延相关的信息,信息指示以下至少一项:时延变化范围,时延变化范围覆盖多个分组从第二节点到达第一节点时产生的相应实际时延与相应预期时延之间的多个偏差,和在第一节点与第二节点之间的不同路径上的分组传输产生的路径时延差异;基于检测到的信息确定缓冲时间长度;以及将从第一节点待传出的数据缓冲所确定的缓冲时间长度。
在本公开的第三方面,提供了一种计算机可读介质。该计算机可读介质具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行根据第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1是本公开描述的实施例可以在其中被实现的通信系统的示意图;
图2示出了根据本公开的一些实施例的在节点处执行解封装时用于数据缓冲处理的功能的框图;
图3示出了根据本公开的一些实施例的节点处的时间戳生成处理框图;
图4示出了根据本公开的一些实施例的一系列采样的分组的时间戳曲线图;
图5示出了根据本公开的一些实施例的节点的在作为封装节点时的计算驻留时间长度的框图;
图6示出了根据本公开的一些实施例的中间节点处的时间戳生成框图;
图7示出了根据本公开的一些实施例的传输分组的结构示意图;
图8示出了根据本公开的一些实施例的节点处执行的分组封装处理框图;
图9示出了根据本公开的一些实施例的在节点处执行封装过程中的数据缓冲处理框图;
图10示出了根据本公开的一些实施例的在节点处执行封装处理过程中的数据缓冲处理框图;
图11示出了适合实现本公开的实施例的设备的简化框图;以及图12示出了根据本公开的一些实施例的示例计算机可读介质的框图。
具体实施方式
下面将参照图更详细地描述本公开的优选实施例。虽然图中显示了本公开的优选实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在此使用的术语“通信设备”是指可以作为信源或信宿的任何适当的实体、设备或节点。在通信网络中,不同通信设备之间具有数据通信。通信设备的示例包括但不限于节点B(NodeB或者NB)、演进节点B(eNodeB或者eNB)、基带处理单元(BBU)、远程无线电单元(RRU)、射频头(RH)、远程无线电头端(RRH)、诸如微微基站、毫微微基站等的低功率节点等。
在本文中,网络或传输网络的“节点”是指与要彼此通信的节点相接的任何适当的实体或节点,有时也称为传输节点。传输网络例如可以是光分配网络(ODN)。节点可以是构成ODN的任何器件。在传输网络的起始端或终止端,存在具备封装和/解封装功能的传输节点。这样的传输节点的示例包括但不限于光线路终端(OLT)、光网络单元(ONU)。传输网络中还具有中间节点,与其他节点连接以实现数据转发功能。中间节点包括但不限于包含分光器等。
图1描述了本公开的实施例可以在其中被实现的通信系统100。该通信系统100包括通信设备101-1和101-2、节点102-1和102-2、和可选的在节点102-1和102-2之间的中间节点103-1和103-2(如虚线框所示)。节点102-1和102-2、以及中间节点103-1和103-2构成了通信设备101-1和通信设备101-2之间的传输网络130。
节点102-1和102-2分别连接到通信设备101-1和101-2。通信设备101-1、101-2可以通过链路114-1、114-2将业务/数据分别发送至节点101-1和101-2,并且可以通过链路113-1、113-2分别接收从节点101-1和101-2传出的业务/数据。向传输网络130中的相连节点提供待传送的数据的通信设备101-1或101-2可以被称为源设备、数据的源节点或数据源,经由传输网络130接收所传送的数据被称为目的地设备、数据的目的地节点或数据目的地,这些术语在本文中可互换地使用。
节点102-1和102-2之间存在从节点102-2至节点102-1的方向的工作路径111-1以及从节点102-1至节点102-2的方向的工作路径111-2,用于实现彼此间业务数据和控制信令的交互。可选地,通信系统100还可以包括与工作路径111-1、111-2相对应的保护路径112-1、112-2,以提高传输网络的可靠性。节点102-1和102-2分别包括用于处理解封装操作的解封装模块121-1、121-2,以及用于处理封装操作的封装模块122-1、122-2。在对从某个路径接收到的分组执行解封装操作时,节点102-1或102-2可以被称为解封装节点,对要在某个路径上传输的分组执行封装操作时,节点102-1或102-2可以被称为封装节点。
为便于描述,通信设备101-1和101-2有时被统称为通信设备101,节点102-1和102-2有时被统称为节点102,中间节点103-1和103-2有时被统称为中间节点103,工作路径111-1和111-2有时被统称为工作路径111,保护路径112-1和112-2有时被统称为保护路径112,解封装模块121-1和121-2有时被统称为解封装模块121,并且封装模块122-1和122-2有时被统称为封装模块122。
在通信系统100中的通信可以根据任何适当的通信协议来实施,包括但不限于,无线通信协议(诸如第一代(1G)、第二代(2G)、第三代(3G)、第四代(4G)和第五代(5G)等蜂窝通信协议、诸如电气与电子工程师协会(IEEE)802.11等的无线局域网通信协议)、IEEE802.3等规定的以太网传输协议、国际电信联盟标准化组织(ITU-T)以及国际互联网工程任务组(IETF)等规定的光网络传输协议、和/或目前已知或者将来开发的任何其他协议。
应当理解,虽然图1中示出了两个通信设备(即通信设备101-1和101-2),但是每个节点102-1和102-2可以连接至任意数目的通信设备。虽然图1中示出了两个可选的中间节点(即中间节点103-1和103-2),但是应当理解,中间节点的数目可以是任意数目,甚至包括中间节点数目为零的情况。在没有中间节点的情况下,节点102-1和102-2直接相连。应当理解,根据本公开的实施例的方案可以类似地应用到各种类型的通信系统。
作为示例而非限制性地,通信设备101-1和101-2可以为BBU或RRU,节点102-1和102-2可以为OLT或ONU,中间节点103-1和103-2可以是任意的光传输网络中的器件。
由于传输网络的引入,要进行数据通信的通信设备之间不再是简单的直连关系,传输网络会对在通信设备之间传输的分组产生不良的影响,导致分组不能按照预期的时间达到,即产生了分组时延变化,这同时也为传输网络的节点之间的传输路径的对称性控制增加了难度。
为了吸收传输网络对分组传输产生的不良影响,通常在传输网络的解封装节点处设置缓冲器,例如抖动缓冲器(jitter buffer),接收的分组被缓冲在抖动缓冲器并以恒定的比特率输出。但是,由于抖动缓冲器的引入,导致了传输网络时延的进一步增加。目前,通常需要获得在进入解封装节点前,在传输网络中的每个节点处的最大分组时延偏差。在解封装节点处,将每个节点的分组最大分组时延偏差累加并据此设置抖动缓冲器的大小。每个节点处的分组时延变化的范围的获取依赖于供应商的提供,或者依赖于用户在每个节点处的测量值。这种操作,需要用户对整个传输网络的拓扑结构有一个清晰的认知,并且没有考虑分组在整个传输网络传输的实际传输情况,导致抖动缓冲器的设置并不合理。并且,该操作在设置抖动缓冲器时,没有考虑传输路径从工作路径切换至保护路径的这种情况,当发生路径切换时,会导致用户业务的不连续。
此外,为了实现通信设备间传输路径的对称性,在传统方案中,需要在整个传输网络部署精密时间协议(PTP),也称为1588协议。这种部署增加了网络的部署成本,并且传输路径的对称性控制完全依赖于网络的部署,且操作复杂。
根据本公开实施例,提供了一种用于传输网络中的数据缓冲的方案。在该方案中,由节点获得时延变化范围,该时延变化范围可以指示覆盖多个分组从第二节点到达第一节点时产生的相应实际时延与相应预期时延之间的多个偏差,节点基于检测的时延变化范围,确定用于缓冲后续数据的缓冲时间长度。该方案使得用户无需获得整个传输的网络拓扑,也无需用户在每个节点处执行测量,并且不依赖于提供商提供的参数,其仅需在执行节点针对多个分组进行测量,即可获得分组在整个传输网络上的分组时延变化的范围,据此设置的缓冲参数更加符合网络的真实状况。
进一步,根据本公开实施例,在确定用于缓冲后续数据的缓冲时间长度时,考虑了彼此通信的两个节点之间的不同路径上的分组传输产生的路径时延之间的差异,这种差异既可以是工作路径和保护路径间的路径时延差异,也可以是传输方向相反的两条传输路径间的路径时延差异,根据传输路径的不同,执行不同的数据缓冲策略,使得即使发生路径切换,用户的业务也不会中断,并且无需在整个传输网络上部署高成本的精密时间协议,也可实现传输网络的对称性控制。
以下将参考附图来详细描述根据本公开的各种实施例的数据缓冲方案。根据本公开的实施例的数据缓冲方案可以被实现在节点102处。在一些实施例中,可以在节点102执行解封装时可以对解封装的数据进行缓冲,数据缓冲的具体时间长度可以根据本公开的实施例来计算。因此,本公开的数据缓冲方案可以在节点102的解封装模块121中执行。图2示出了根据本公开的实施例的解封装模块121的示例的框图。
如图2所示,解封装模块121包括解复用器201、中间功能模块202、缓冲器203以及可选的中间功能模块206。具体地,解复用器201用于从工作路径111和/或保护路径112接收经由传输网络130传输的一个或多个分组。这样的分组可以是由工作路径111和/或保护路径112另一侧的另一节点102从通信设备101接收到数据并且对数据进行封装后确定的。
在解复用器201对接收到的分组进行解复用,获得解复用后的数据。随后,解复用后的数据被发送至中间功能模块202,并最终存储在缓冲器203中。缓冲器203用于将数据缓冲一段时间。缓冲器203对数据缓冲的时间长度简称为缓冲时间长度,用于衡量缓冲器的大小。在这样的缓冲器203处执行数据缓冲的主要目的在于抵消分组在传输网络130的整个路径传输(例如,路径111和/或路径112)过程中经历的时延的抖动。因此,在执行分组解封装的节点处的缓冲器203有时也可以被称为抖动缓冲器。
缓冲器203输出的数据在经中间功能模块206的某些处理后被发送至相连的通信设备101。中间功能模块202代表数据进入缓冲器203之前需要经过的所有功能模块,其可以包括但不限于:工作/保护路径控制模块、开销剥离器等。中间功能模块206代表数据离开缓冲器203之后需要经过的一个或多个功能模块,其可以包括但不限于:传输介质依赖接口单元等。
解封装模块121还包括缓冲器控制模块205,用于控制缓冲器203对数据的缓冲时间长度,以实现对数据缓冲时间的控制。具体地,缓冲器控制模块205可以基于与节点102与路径另一端的节点102之间的传输时延相关的信息来确定缓冲时间长度。这样的传输时延相关的信息可以包括在另一端的节点102到达当前节点102的分组传输的时延变化范围。在这样的实施例中,解封装模块121包括分组相关检测模块204,用于检测来自到达节点102的多个分组的时延变化范围,并将检测的时延变化范围通过分组时延信息215发送至缓冲器控制模块205。缓冲器控制模块205根据分组时延信息215指示的时延变化范围确定缓冲时间长度,将缓冲时间长度通过缓冲器控制信息211发送至缓冲器203,以实现对后续数据缓冲时间长度的控制。
下面,将具体描述分组相关检测模块204如何确定分组时延变化范围以及缓冲器控制模块205如何基于此来确定缓冲器203的缓冲时间长度。
具体地,分组相关检测模块204接收解复用器201发送的多个(例如N个)分组的解复用后的数据,并且基于这些数据来测量时延变化范围。在某些实施例中,分组相关检测模块204确定N个分组对应的N个实际到达时间,被表示为TS(1)……TS(N),其中N大于等于2的整数。分组相关检测模块204获取N个分组达到节点102的预期到达时间,被表示为TS’(1)……TS’(N)预期到达时间指示各个分组在不存在分组时延变化(PDV)的情况下预期到达节点102的时间。在一些示例中,第i个分组的预期到达时间可以被确定为:TS’(i)=初始偏移+(i-1)×理想分组重复周期,i=1,……N。初始偏移可以被预先配置,理想分组重复周期是分组传输的预设参数值。
然后,分组相关检测模块204计算N个实际到达时间与N个预期到达时间之间的多个时间差值PDV(1)……PDV(N),其中PDV(i)=TS(i)-TS’(i),i=1,……N。分组相关检测模块204可以计算覆盖这些时间差值的取值范围为:Range_PDV=Max(PDV(i))-Min(PDV(i)),其中Max(PDV(i))为时间差值中的最大值,Min(PDV(i))为时间差值中的最小值。
在某些实施例中,分组相关检测模块204基于覆盖多个时间差值的取值范围来确定时延变化范围。根据该方式确定的时延变化范围可以使得确定的缓冲时间长度更加合理,同时最大限度地吸收传输网络130对于分组产生的时延影响,避免由于分组时延过大导致的丢包。
在某些实施例中,基于覆盖多个时间差值的取值范围来确定时延变化范围包括将时延变化范围确定为等于差值变化范围Range_PDV。在某些实施例中,基于覆盖多个时间差值的取值范围来确定时延变化范围可以包括将时延变化范围确定为差值变化范围Range_PDV与一参考范围余量的和。参考范围余量是基于以往测量的差值变化范围Range_PDV设置的,其可以是静态的,也可以是动态调整的。
在某些实施例中,分组相关检测模块204可以经由节点102的其他部件获得分组的实际到达时间TS(1)……TS(N)。下面将参考
图3具体描述节点102如何获得分组的实际到达时间。图3示出了根据本公开的一些实施例的被包括在节点102中的时间戳生成部件300的框图。
时间戳生成部件300的选择器301的输入包括一个控制信息,即,时钟模式控制信息321,并且还包括两个时钟信息,即,恢复的系统传输时钟信息322和恢复的分组时钟信息323。系统传输时钟信息322和恢复的分组时钟信息323分别指示系统传输的时钟频率和分组所对应的时钟频率。选择器301根据时钟模式控制信息321确定使用恢复的系统传输时钟信息322和/或恢复的分组时钟信息323作为输出的时钟信息。选择器301将确定的时钟信息输出至时间计数器组302,时间计数器组302与时间戳模块303连接。时间戳模块303可由多个时间事件触发以产生时间戳。
在需要确定N个分组的N个实际到达时间TS(1)……TS(N)时,时间戳模块303可由时间事件311触发,时间事件311表示数据经由工作路径达到分组相关检测模块204。时间戳模块303生成的时间戳信息通过时间戳信号331发送至分组相关检测模块204,即可作为N个解复用后的数据的N个实际到达时间TS(1)……TS(N)。
在某些实施例中,当时间戳模块303的被时间事件311触发时,时钟模式控制信息321控制选择器301选择分组时钟信息323。在某些实施例中,当分组业务和传输网络同步时,时钟模式控制信息321控制选择器301选择恢复的系统传输时钟信息322,当分组业务和传输网络不同步时,时钟模式控制信息321控制选择器301选择恢复的分组时钟信息323。通过上述实施例,可以使得为N个解复用后的数据确定的时间戳与数据源的所使用的时钟信息一致,实现对于传输业务更加精准的时间控制。在某些实施例中,分组时钟信息323可以是网络节点102在至少一个分组中提取的,分组时钟信息可以指示分组中的数据的源节点所使用的时钟频率。
可以基于多种方式在至少一个分组中提取分组时钟信息323,多种方式可以基于软件或硬件或二者结合的方式实现,指示时钟信息323的方式也可以是多样的,其既可以是直接的,也可以是隐含。本公开对于时钟信息323的提取和指示方式不进行任何限定。
图4示出了根据本公开的一些实施例的一系列采样的分组的时间戳曲线图400。参考图4,其横坐标表示分组序号1-100,纵坐标代表时间戳值。曲线410表示100个采样分组的实际达到时间戳的数值,曲线420表示100个采样分组的预期达到时间戳数值,曲线430表示100个采样分组的实际达到时间戳与预期达到时间戳之间的时间差值,其中点431表示最大时间差值,点432表示最小的时间差值。在确定分组变化范围时,覆盖多个时间差值的取值范围可以被确定应为点431与432对应的纵坐标的时间戳的差值。
在描述了分组相关检测模块204如何获得时延变化范围后,下面将继续具体描述缓冲器控制模块205如何基于检测到的信息(即指示时延变换范围的信息)来确定缓冲时间长度。
仍参考图2,缓冲器控制模块205接收分组相关检测模块204发送的指示时延变化范围的分组时延信息215。缓冲器控制模块205根据输入的时延变化范围确定缓冲器203的缓冲时间长度,并生成缓冲器控制信息211,缓冲器控制信息211指示所确定的缓冲时间长度。缓冲器控制模块205将缓冲器控制信息211提供给缓冲器203,以控制缓冲器203对数据的缓冲时间。
在某些实施例中,缓冲器控制模块205可以根据时延变化范围确定缓冲器203的缓冲时间长度,或者缓冲器控制模块205根据时延变化范围和某个余量之和确定缓冲器203的缓冲时间长度。在某些实施例中,缓冲时间的长度可以等于时延变化范围的二分之一与一定余量之和。缓冲器203的大小大于等于缓冲时间长度。这里的余量可以自动或者由用户设置,例如可以基于以往的缓冲时间长度值进行设置。例如,缓冲器203的大小可以被确定为是缓冲时间长度的两倍、三倍等等。将缓冲器203的大小设置为大于缓冲时间长度可以有助于应对诸如过载、欠载等不同情况。
通过上述操作,使得无需获得整个传输的网络拓扑,也无需在每个节点处执行测量即确定缓冲器203的缓冲时间长度,以使得后续分组在节点102处的缓冲时间更加合理。相较于传统方案,本公开的数据缓冲方案有效地减少了传输网络130带来的时延,提高了传输网络130的性能。
通过对上述多个实施的描述,描述了节点102根据来自工作路径111的多个分组的测量时延变化范围,并确定缓冲时间长度的方案。在某些场景中,通常为工作路径111部署保护路径,即保护路径112。工作路径和保护路径经由一个节点102的不同端口与另一节点102的不同端口连接。在这种情况下,类似地,分组相关检测模块204可以检测保护路径112上的分组传输的时延变化范围,并且缓冲器控制模块205也可以基于此来确定缓冲时间长度。
在某些实施例中,针对部署了保护路径的场景,分组既可能通过工作路径111达到节点102,也可能通过保护路径112到达节点102,如果缓冲器203的缓冲时间长度设置不合理,会导致缓冲器203不能正确处理通过保护路径112传输的分组。根据本公开的某些实施例,在确定缓冲时间长度时,还可以同时考虑不同路径上的分组时延变化范围。下面继续参考图2描述这样的实施例。
在某些实施例中,解复用器201接收来自工作路径111的N个分组和保护路径112的N个分组。保护路径112与工作路径111传输的分组的有效载荷相同。将工作路径111的N个解复用后的分组和保护路径112的N个解复用后的分组分别发送至分组相关检测模块204。
在分组相关检测模块204处,根据工作路径111的N个解复用后的分组确定一时延变化范围(记为,第一候选时延变化范围),根据保护路径112的N个解复用后的分组确定一时延变化范围(记为,第二候选时延变化范围)。针对相应路径确定第一候选时延变化范围和第二候选时延变化范围的操作与本公开前述记载的确定时延变化范围的操作相同,此处不再重复。
在某些实施例中,在确定保护路径112上的N个解复用数据的实际达到时间时,依然需要由节点102的其他部件获得。参考附图3,当需要获得保护路径112上的N个解复用数据的实际达到时间时,图3中的时间戳模块331由图3中的时间事件312触发,时间事件312表示分组经由保护路径达到分组相关检测模块204。
分组相关检测模块204将第一候选时延变化范围和第二候选时延变化范围中选择较大的候选范围作为分组时延变化的范围输出至缓冲器控制模块205。缓冲器控制模块205根据输入的时延变化范围确定缓冲时间长度,并通过缓冲器控制信息211来设置缓冲器203缓冲时间长度。根据上述操作,在确定缓冲时间长度时,同时考虑了保护路径上传输的分组,使得工作路径和保护路径可以共享同一个缓冲器203,降低了系统操作难度。
以上具体描述了基于时延变化信息确定缓冲时间长度的实施例。在某些场景中,两个节点102的工作路径111和保护路径112之间传输不匹配,即工作路径111和保护路径的路径时延存在差异,若缓冲器203在设置时没有考虑工作路径111和保护路径的路径时延差异,会导致当节点102发生链路切换时,传输的业务中断。在某些场景中,从节点102-1到节点102-2的方向上的路径和从节点102-2到节点102-1的方向上的路径(例如,工作路径111-1和111-2)存在路径时延差异,导致传输网络的传输不对称。
在某些实施例中,缓冲器控制模块205在确定缓冲时间长度时还包括路径时延差异,作为与两个节点102之间的传输时延相关的信息。节点102的解封装模块121可以包括路径相关检测模块207,用于检测不同路径的路径时延差异,并将其输出至缓冲器控制模块205。通过缓冲器控制模块205对于缓冲器203的控制,使得该缓冲器可以在发生链路切换时依然可以保证业务的连续,并且通过对缓冲器203的缓冲时间的控制,调整路径的路径时延,实现传输网络的对称性控制。
在某些实施例中,一条路径的路径时延是指对于同一分组而言,该分组经该路径进入传输网络130和离开传输网络130的所经历的时间。在某些实施例中,路径时延可以通过同一分组在传输网络130的一条路径上的所有节点处的驻留时间长度之和的方式来计算,这在下文中将详细描述。当然,应当理解,路径时延差异的测量不限于此。
具体的,参考附图2,节点102还通过路径相关检测模块207获得不同路径的驻留时间长度信息214。驻留时间长度信息214指示各个路径涉及的节点处分组的驻留时间长度。基于获得的不同路径的驻留时间长度信息214,路径相关检测模块207测量不同路径的路径时延,并且确定不同路径的路径时延差异。路径相关检测模块207将确定的不同路径的路径时延差异通过路径时延信息213发送至缓冲器控制模块205,路径时延信息213指示不同路径的路径时延差异。缓冲器控制模块205根据检测的路径时延信息213即可获得不同路径的路径时延差异,基于路径时延差异来确定缓冲器203的缓冲时间长度的增量,并将其通过缓冲器控制信息211输出至缓冲器203。路径相关检测模块207如何基于驻留时间长度确定路径时延,这将在下文中详细描述。
在某些实施例中,如果分组经由不同路径(即,工作路径111和保护路径112)到达节点102,路径相关检测模块207可以分别确定不同路径111、112的路径时延,然后确定不同路径的路径时延之间的差异,以提供给缓存控制模块205使用。假设执行解封装功能的是节点102-1。节点102-1可以获得工作路径111-1的路径时延,被表示为Latency_111-1,并且获得保护路径112-1的路径时延,被表示为Latency_112-1。路径时延差异可以被确定为这两个路径时延之差。例如,假设Latency_112大于Latency_111,路径时延差异可以被确定Diff_Latency=Latency_112-1-Latency_111-1。假设Latency_112小于Latency_111,路径时延差异可以被确定为Diff_Latency=Latency_111-1-Latency_112-1。
通过上述实施例,缓冲器控制模块205同时考虑了工作路径和保护路径的路径时延差异,使得即使发生路径切换,也不会导致传输业务的中断。
附加地或备选地,节点102也可以确定两个节点102之间不同方向的路径上的路径时延差异。仍假设执行解封装功能的是节点102-1。节点102-1可以确定从节点102-2到节点102-1的方向上的工作路径111-1以及相反方向的工作路径111-2之间的路径时延差异。缓冲器控制模块205可以基于这样的路径时延差异来实现网络的对称性控制。例如,在节点102-1处获得工作路径111-1的路径时延:Latency_111-1,同时获得工作路径111-2(工作路径111-1的反向传输路径)的路径时延Latency_111-2。当Latency_111-2大于Latency_111-1时,为了实现传输路径的对称性,路径时延差异可以被确定为两个路径时延之差,被表示为:Diff_Latency=Latency_111-2-Latency_111-1。缓冲器控制模块205根据测量的路径时延差异来确定缓冲器203的缓冲时间长度的增量并将其通过缓冲器控制信息211输出至缓冲器203,以此增加工作路径111-1的路径时延,实现传输网络130的对称性控制。通过该实施例,无需全网部署1588协议,即可实现网络的对称性控制。
在实现对称性控制的过程中,执行解封装功能的节点102可以基于这样的路径时延差异来调节自身缓冲器的缓冲时间长度。此外,也可以由执行封装功能的节点102基于这样的路径时延差异来调节自身的数据缓冲时间长度,这将下面详细描述。在备选实施例中,执行解封装功能的节点102可以利用这样的路径时延差异的一部分来调节缓冲时间长度,而由执行封装功能的节点102基于其余部分来调节缓冲时间长度。
以上讨论了在确定路径时时延确定分组在一条路径上涉及的各个节点处的驻留时间长度。下文将具体描述如何确定在各个节点处的驻留时间长度以及驻留时间长度达到节点102后,节点102的路径相关检测模块207如何基于这样的驻留时间长度来确定路径时延。为便于讨论,下文中以工作路径111-1为例来说明如何基于驻留时间长度来确定路径时延。其他路径的路径时延也可以类似地确定。
工作路径111-1包括节点102-1、节点102-2以及可选的中间节点103-1和103-2。节点102-2作为工作路径111-1的封装节点,节点102-1作为工作路径111-1的解封装节点。作为封装节点的节点102-2和作为解封装节点的节点102-1均可以获得工作路径111-1上所有节点的驻留时间长度,节点102-2和节点102-1将工作路径111-1上的所有节点的驻留时间长度累积即可获得工作路径111-1的路径时延。
下面将结合附图,具体描述各个节点处驻留时间长度的计算。
参考附图5介绍作为封装节点的节点102-2的驻留时间长度的计算。参考附图5,附图5为节点102的封装模块122的部分功能模块的示意图。参考图5,待传输的数据经过中间功能模块501发送至缓冲器502,最后经由中间功能模块503输出。中间功能模块501用于实现数据存储至缓冲器502之前的所有操作,包括但不限于,结构分析模块、分片模块等。中间功能模块503实现数据自缓冲器502输出后的所有操作,包括但不限于,介质相关接口模块等。作为封装节点的节点102-2处的驻留时间长度为进入节点102-2的时间,即进入中间功能模块501的时间与离开节点102-2的时间,即离开中间功能模块503之间的时间段。该时间段可由时间戳来衡量。下面结合附图3来具体说明节点102作为封装节点时的驻留时间长度的计算过程。
参考附图3,时间戳模块303的输入触发事件包括,时间事件313,用于表示当节点102作为封装节点时数据进入节点102,以及时间事件314,用于表示当节点102作为封装节点时数据离开节点。结合该实施例所描述的具体场景,在节点102-2处,时间事件313对应进入节点102-2的中间功能模块501,时间事件314对应离开节点102-2的中间功能模块503。节点102-2基于时间事件313和314生成相应的时间戳,并基于时间戳的差值获得节点102-2的驻留时间长度。
下面,结合附图2介绍作为解封装节点的节点102-1的驻留时间长度的计算。参考附图2,分组可以经解复用器201进入节点102-1,并经由中间模块206处理后离开节点102-1。在一些情况下,节点102-1在解复用器201之外还存在一个或多个其他中间功能模块(图中未示出),用于对接收到的分组进行初步的处理,并且将处理后的分组发送给解复用器201。作为解封装节点的节点102-1处的驻留时间长度为进入节点102-1的时间(可以为进入节点102-1的解封装模块121-1的时间)与离开节点102-1的时间(可以为离开中间功能模块206的时间)之间的时间段。该时间段可由时间戳来衡量。下面结合附图3来具体说明节点102-1的驻留时间长度的计算过程。
参考附图3,时间戳模块303的输入触发事件包括,时间事件315,用于表示当节点102作为解封装节点时数据进入节点102,以及时间事件316,用于表示当节点102作为解封装节点时数据离开节点。结合该实施例所描述的具体场景,在节点102-1处,时间事件315对应进入节点102-1的解复用模块121-1,时间事件316对应离开节点102-1的中间功能模块206。节点102-1基于时间事件315和316生成相应的时间戳,并基于时间戳的差值获得节点102-1的驻留时间长度。
在某些实施例中,当时间戳模块由时间事件313-316触发时,时钟模式控制信息321既可以控制选择器301选择恢复的系统传输时钟信息322也可以控制选择器301选择恢复的分组时钟信息323。在某些实施例中,还可以同时选择恢复的系统传输时钟信息322和恢复的分组时钟信息323。具体为,当分组业务和传输网络同步时,时钟模式控制信息321控制选择器301选择恢复的系统传输时钟信息322,当分组业务和传输网络不同步时,时钟模式控制信息321控制选择器301选择恢复的分组时钟信息323。在某些实施例中,也可以选择同时将系统传输时钟信息322和恢复的分组时钟信息323发送至时间计数器组302。
时间计数器组302接收选择器发送的时钟信息。在某些实施例中,时间计数器组302可以包括两个时间计数器,两个时间计数器中的一个可以接收选择器发送的系统传输时钟信息322,另一个可以选择恢复的分组时钟信息323。这两个时间计数器彼此独立的工作。
在某些实施例中,当时间戳模块由时间事件313-316触发时,时钟模式控制信息321控制选择器301仅选择恢复的系统传输时钟信息322。通过该实施例,使得节点102在计算驻留时间长度时,始终选择系统传输时钟信息,避免了执行在分组中获得分组时钟的操作,还可以使得节点102在计算驻留时间长度时使用的时钟基准信息与其他节点处使用的时钟基准信息一致,使得计算的驻留时间长度更加准确。
下面,结合附图6介绍作为转发节点的中间节点103的驻留时间长度的计算。中间节点103依然需要借助其节点中的其他部件生成时间戳信息以获得驻留时间长度。参考图6示出了根据本公开的一些实施例的中间节点103处的时间戳生成框图600。
在某些实施例中,恢复的系统传输时钟信息611作为时间计数器601的输入时钟信号,时间计数器601的输出连接至时间戳模块602,时间戳模块602由时间事件触发生成相应的时间戳,输入的时间事件可以为:时间事件612,表示分组进入中间节点103,时间事件613,表示分组离开中间节点103。中间节点103根据时间戳模块602生成的时间戳之间的差值计算分组在节点103处的驻留时间长度。
在一些实施例中,各个节点可以通过传输网络130中的任何消息将分组的驻留时间指示给节点102-1和/或节点102-2。例如,驻留时间长度可以由在传输网络130中被传输的分组携带,或者可以由各个节点发出的专用信令来指示。由分组或专用信令指示的驻留时间长度信息作为驻留时间长度信息214被提供给路径相关检测模块207。为了使路径相关检测模块207区分接收到的驻留时间长度与具体节点和/或具体分组的对应关系,除驻留时间长度外,还可以向节点102(具体地,路径相关检测模块207)指示节点标识、特定的分组信息(例如分组序号)等等。路径相关检测模块207根据驻留时间长度信息214,确定分组在每个节点处的驻留时间长度,然后可以将执行驻留时间长度累加后获得对应路径的路径时延。在一些实施例中,当分组经过节点时,驻留时间长度可以在传输路径上的各个节点处依次累加,传输路径的解封装节点可以根据驻留时间长度的累计值获得传输路径的路径时延。
如以上提及的,可以通过被传输的分组携带驻留时间。参考图7,示出了根据本公开的一些实施例的传输分组的结构700的示意图。数据分组包括传输开销1 701和有效载荷702以及传输开销2 703。各个节点可以将本节点的驻留时间长度添加至传输开销1 701或传输开销2 703中。
在某些情况下,中间节点103-1、103-2所支持的协议类型与节点102-1、102-2支持的协议类型不同。一种典型的场景为,节点102-1、102-2支持恒定比特率(CBR)封装协议,而中间节点103-1、103-2在传输CBR分组时无法对CBR分组生成时间戳以计算驻留时间长度。在某些实施例中,由执行封装功能的节点102执行将分组封装成中间节点支持的协议的功能。参考图8,其示出了根据本公开的一些实施例的节点102的封装模块122处执行的分组封装处理框图。
封装模块122经由链路114获得待传送的数据,例如可以是CBR业务数据。封装模块122中的中间功能模块501对接收到的业务数据进行处理,针对中间功能模块501的描述参见前述针对附图5中的中间功能模块501的描述。经中间功能模块501处理后的业务数据被发送至缓冲器502进行缓冲,传输开销生成和封装模块803自缓冲器502读取分片,并接收相应的协议适配控制信号811,对读取的分片执行封装操作,以获得封装后的分组。在执行封装操作时,模块803使用中间节点103支持的协议将读取的分片封装,这样的协议例如是1588协议。
由于并不是在任何时间均需要中间节点103执行计算驻留时间长度,因此并不需在封装模块122一直将数据封装成中间节点能够计算驻留时间的协议(例如,1588协议)。因此,在某些实施例中,传输开销生成和封装模块803还接收来自传输开销生成控制模块804的控制,使得仅在需要的时候才执行将数据封装成中间节点103支持打时间戳的协议的操作。通过该实施例,通过对封装节点处封装过程的改进,可以实现即使中间节点103支持的协议类型有限,中间节点103依然可以正确计算驻留时间长度。
在某些实施例中,为了使得计算的驻留时间长度更加准确,虽然封装时使用中间节点103支持的协议,例如,1588协议对数据进行封装,但是封装后的分组的大小、服务质量(QoS)、和/或其他属性应当与节点102支持的协议类型(例如,CBR协议)一致。针对本具体应用场景,即使节点102使用1588协议对数据进行封装,但是封装后的分组的大小、服务质量(QoS)、和/或其他属性应与CBR的数据包大小、服务质量(QoS)、和/或其他属性一致。通过该实施例,使得计算的路径时延更加准确。
在某些实施例中,传输网络130仅包括节点102-1、和102-2。这种网络也被称为小规模网络。针对这种小规模网络的驻留时间长度,可以仅根据节点102-1和节点102-2的驻留时间长度统计数据获得。为了讨论的目的,仍然以工作路径111-1为例,且工作路径111-1不包括可选的中间节点103-1、103-2。应当理解,针对工作路径111-1的时延计算方法,同样适用于工作路径111-2、112-1和112-2。在该应用场景下,可以统计多个分组在节点102-1的驻留时间长度以及另外的多个分组在节点102-2的驻留时间长度。然而,基于在分组在节点102-1驻留时间长度和节点102-2处的驻留时间长度之和确定工作路径111-1的路径时延。通过该实施例测量的路径时延的计算,可以避免在整个传输网络130中进行测量,即可获得整个工作路径111-1的路径时延。
在某些实施例中,由执行解封装的节点102中的解封装模块121在传输网络130仅包括节点102-1和102-2时如何确定这两个节点之间的某个路径的路径时延。假设仍以计算工作路径111-1的路径时延为例进行说明。具体地,解封装模块121中的路径相关检测模块207可以获得相应多个分组在节点102-1和102-2处的驻留时间长度。在该方法中,节点102-1、102-2处的驻留时间长度的计算和发送与本公开前述的驻留时间长度的计算和发送一致,此处不再重复。
在一个实施例中,路径相关检测模块207可以从多个分组在节点102-1处的相应驻留时间长度中,选择较大的驻留时间长度(例如,大于第一时间阈值的驻留时间长度)。所选择的这个驻留时间长度称为第一驻留时间长度。在一个示例中,可以选择多个分组在节点102-1处的最大驻留时间长度作为第一驻留时间长度。路径相关检测模块207可以从多个分组在节点102-2处的相应驻留时间长度中,选择较小的驻留时间长度(例如,小于第二时间阈值的第二驻留时间长度。所选择的这个驻留时间长度称为第二驻留时间长度。在一个示例中,可以选择多个分组在节点102-2处的最小驻留时间长度作为第二驻留时间长度。路径相关检测模块207然后将所选择的第一驻留时间和第二驻留时间之和确定为工作路径111-1的路径时延。
在另外一些实施例中,相反地,路径相关检测模块207还可以选择节点102-2处的较大驻留时间长度(例如,最大驻留时间长度)和节点102-1处的较小驻留时间长度(例如,最小驻留时间长度),并且将所选择的两个驻留时间长度之和确定为工作路径111-1的路径时延。
以上讨论了基于不同节点102-1和102-2处统计的驻留时间长度中较大和较小的驻留时间长度之和来确定工作路径111-1的路径时延。为了确定工作路径111-1与不同的另一路径之间的路径时延差异,路径相关检测模块207也可以用类似方式确定另一路径的路径时延差异。
上文描述了在网络节点102的解封装模块121处通过控制缓冲器203的缓冲时间实现数据缓冲的方案。在一些实施例中,为了实现网络的对称性控制,需要增加某条传输路径,例如工作路径111-1的路径时时延,也可以调整工作路径111-1上作为封装节点的节点102-2处的缓冲时间。下面将参考图9对该过程进行具体描述。
参考图9,图9示出了根据本公开的一些实施例的在节点102的封装模块122处实现数据缓冲的示例结构。在封装模块122中,中间功能模块501和中间功能模块503的描述参考前述关于附图5中间功能模块501、中间功能模块503和缓冲器502的描述。
封装模块122还包括路径相关检测模块901,用于获得传输方向相反的两条路径的驻留时间长度信息911。传输方向相反的两条路径例如可以是工作路径111-1和111-2,或者是保护路径112-1和112-2。驻留时间长度信息911可以指示各个路径涉及的节点处分组的驻留时间长度。路径相关检测模块901根据获得驻留时间长度信息911确定传输方向相反的两条路径的路径时延差异,并将路径时延差异作为路径时延差异信号912发送至缓冲器控制模块902。缓冲器控制模块902根据路径时延差异信号912确定缓冲器502的缓冲时间长度,并通过缓冲器控制信号913将所确定的缓冲时间长度发送至缓冲器502。待传输的数据将在缓冲器502被缓冲接收到的缓冲时间长度。
根据该实施例,提供了实现路径对称性控制的另一实现方式。路径相关检测模块901根据驻留时间长度信息911计算不同路径时延并确定路径时延差异的过程与如前所述的路径相关检测模块207的操作类似,此处不再重复。
在某些实施例中,缓冲器控制模块902在确定缓冲时间长度时,将缓冲时间长度确定为使得不同方向的路径上的路径时延差异降低、甚至减少为零,从而实现路径的对称性控制。这样的对称性控制可以通过节点102-1和102-2之间的协商来进行。为了说明,假设工作路径111-1的路径时延低于工作路径111-2,对工作路径111-1的路径时延的调节可以通过调节工作路径111-1上执行解封装操作的节点102-1处的缓冲器203实现,例如可以通过节点102-1的解封装模块121-1中的缓冲器控制模块205对缓冲器203的缓冲时间长度进行控制。备选地,也可以通过调节工作路径111-1上执行封装操作的节点102-2处的缓冲器502实现,例如可以通过节点102-2的封装模块122-2中的缓冲器控制模块902对缓冲器502的缓冲时间长度进行控制。此外,也可以同时调节节点102-1处的缓冲器203和102-2处的缓冲器502。无论以哪种方式调节,节点102-1的数据缓冲时间增量和节点102-2的数据缓冲时间的增量之和为路径时延差异。
节点102-1的缓冲器203和节点102-2的缓冲器502的时间增量可以通过协商确定,本公开对于具体的协商过程不作限定。例如,可以预先设定仅在执行解封装操作的节点102-1处调节缓冲时间长度,也可以预先设定仅在执行封装操作的节点102-2处调节缓冲时间长度。备选地,也可以由其中执行封装操作或解封装操作的节点102先确定本节点增加的缓冲时间增量,然后向另一节点102发送通知消息,由另一节点102基于路径时延差异和前一节点102所增加的缓冲时间增量来确定本节点的缓冲时间长度。通过该实施例,使得路径的对称性控制更加灵活。
以上以工作路径111-1为例,讨论了节点102-1和102-2如何基于路径时延差异协商调节缓冲时间长度的方案。应当理解,如果需要调整工作路径111-2、保护路径112-1、保护路径112-2的路径时延,也可以执行类似的操作。例如,若需要调节工作路径111-2的路径传输时延,可以调节节点102-1处的缓冲器502的缓冲时间长度和/或节点102-2处的缓冲器203的缓冲时间长度。
图10示出了根据本公开的一些实施例的在节点102处执行的数据缓冲方法1000。方法1000可以在图1中的节点102处实现。在框1010处,检测与第一节点和网络的第二节点之间的传输时延相关的信息。信息指示以下至少一项:时延变化范围,时延变化范围覆盖多个分组从第二节点到达第一节点时产生的相应实际时延与相应预期时延之间的多个偏差,和在第一节点与第二节点之间的不同路径上的分组传输产生的路径时延差异。在框1020处,基于检测到的信息确定缓冲时间长度。在框1030处,将从第一节点待传出的数据缓冲所确定的缓冲时间长度。
在某些实施例中,检测信息包括:分别检测多个分组从第二节点到达第一节点的多个实际到达时间;计算多个实际到达时间与多个分组对应的多个预期到达时间之间的多个时间差值,多个时间差值分别指示多个偏差;以及基于覆盖多个时间差值的取值范围来确定时延变化范围。
在某些实施例中,检测多个实际到达时间包括:从多个分组中的至少一个分组提取时钟信息,时钟信息指示分组中的数据的源节点所使用的时钟频率;以及利用提取的时钟信息来检测多个实际到达时间。
在某些实施例中,其中检测信息包括:确定第一候选时延变化范围,第一候选时延变化范围覆盖多个分组在第一路径上从第二节点到达第一节点时产生的多个第一偏差;确定第二候选时延变化范围,第二候选时延变化范围覆盖多个分组在第二路径上从第二节点到达第一节点时产生的多个第二偏差;以及从第一候选时延变化范围和第二候选时延变化范围中选择较大的范围作为时延变化范围。
在某些实施例中,其中检测信息包括:基于至少第一分组在第三路径上传输时在第一节点处的驻留时间长度和在第二节点处的驻留时间长度,来确定与第三路径相对应的第一路径时延;基于至少第二分组在第四路径上传输时在第一节点处的驻留时间长度和在第二节点处的驻留时间长度,来确定与第四路径相对应的第二路径时延;以及基于第一路径时延和第二路径时延之间的差异来确定路径时延差异。
在某些实施例中,其中第一节点和第二节点之间存在至少一个中间节点,其中第一路径时延的确定还基于第一分组在第三路径上传输时在至少一个中间节点处的驻留时间长度,并且其中第二路径时延的确定还基于第二分组在第四路径上传输时在至少一个中间节点处的驻留时间长度。
在某些实施例中,还包括利用预定协议封装第一分组,至少一个中间节点能够利用预定协议检测第一分组在至少一个中间节点处的驻留时间长度。
在某些实施例中,其中第一节点和第二节点直接连接,并且多个第一分组在第三路径上传输,确定第一路径时延包括:从多个第一分组在第一节点或第二节点中的一个节点处的相应驻留时间长度中,选择大于第一时间阈值的第一驻留时间长度;从多个第一分组在第一节点或第二节点中的另一节点处的相应驻留时间长度中,选择小于第二时间阈值的第二驻留时间长度;以及基于第一驻留时间长度和第二驻留时间长度之和,来确定第一路径时延。
在某些实施例中,其中第一节点和第二节点直接连接并且多个第二分组在第四路径上传输,确定第二路径时延包括:从多个第二分组在第一节点或第二节点中的一个节点处的相应驻留时间长度中,选择大于第三时间阈值的第三驻留时间长度;从多个第二分组在第一节点或第二节点中的另一节点处的相应驻留时间长度中,选择小于第四时间阈值的第四驻留时间长度;以及基于第三驻留时间长度和第四驻留时间长度之和,来确定第二路径时延。
在某些实施例中,其中不同路径包括第一节点和第二节点之间的工作路径和保护路径,工作路径和保护路径经由第一节点的不同端口与第二节点的不同端口连接,以在不同分组中传输相同有效载荷的不同副本。
在某些实施例中,其中不同路径包括从第一节点到第二节点的方向上的路径和从第二节点到第一节点的方向上的路径。
在某些实施例中,其中确定缓冲时间长度包括:基于路径时延差异的至少一部分来确定缓冲时间长度,以使得第二节点利用路径时延差异中的剩余部分确定另一缓冲时间长度之后,在从第一节点到第二节点的方向和从第二节点到第一节点的方向中的不同路径上的分组传输产生的路径时延相同。
在某些实施例中,其中第一节点连接到待传送的数据的源设备和目的地设备中的一个,第二节点连接到源设备和目的地设备中的另一个。
图11示出了适合实现本公开的实施例的设备1100的简化框图。设备1100可以用来实现传输网络中的传输节点,例如图1所示的节点102。如所示出的,设备1100包括一个或多个处理器1110,耦合到处理器1110的一个或多个存储器1120,以及耦合到处理器1110的一个或多个发送器和/或接收器(TX/RX)1140。
TX/RX 1140用于双向通信。TX/RX 1140具有至少一个线缆/光缆/无线接口,用于促进通信。通信接口可以表示与其他设备通信必要的任何接口。
处理器1110可以具有适合于本地技术环境的任何类型,并且作为非限制性示例可以包括以下一个或多个:通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器。设备1100可以具有多个处理器,诸如在时间上跟随与主处理器同步的时钟进行从动的专用集成电路芯片。
存储器1120包括一个或多个非易失性存储器和一个或多个易失性存储设备器。非易失性存储器的示例但不限于包括只读存储器(ROM)1124、可擦除可编程只读存储器(EPROM)、闪存、硬盘、压缩盘(CD)、数字多功能(DVD)、其他磁存储设备和/或光学存储设备。易失性存储器的示例包括但不限于随机存储存取器(RAM)1122或者在掉电期间无法持续的其他易失性存储器。
计算机程序1130包括计算机可执行指令,这些指令由相关联的处理器1110可执行。程序1130可以被存储在ROM 1122中。处理器1110可以通过将程序1130加载到RAM 1124中,来执行各种适当的动作和处理。
本公开的实施例可通过程序1130来实现,以使设备1100执行如以上参照图10所讨论的本公开的任一过程。本公开的实施例也可以由硬件或软件与硬件的组合来实现。
在一些实施例中,程序1130可以被有形地包含于计算机可读介质。这样的计算机可读介质可以被包括在设备1100(例如,存储器1120)中或者被包括在设备1100可访问的其他存储设备中。设备1100可以将程序1130从计算机可读介质读取到RAM 1124以用于执行。计算机可读介质可以包括各种有形非易失性存储设备,诸如ROM、EPROM、闪存、硬盘、CD、DVD等。图12示出了CD或DVD形式的计算机可读介质1200的示例。该计算机可读介质1200具有存储于其上的程序1130。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。例如,在一些实施例中,本公开的各种示例(例如方法、装置或设备)可以部分或者全部被实现在计算机可读介质上。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
本公开中的设备或装置中所包括的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一个实施例中,一个或多个单元可以使用软件和/或固件来实现,例如存储在存储介质上的计算机可执行指令。除了计算机可执行指令之外或者作为替代,设备或装置中的部分或者全部单元可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。
作为示例,本公开的实施例可以在计算机可执行指令的上下文中被描述,计算机可执行指令诸如包括在目标的物理或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的计算机可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本公开的上下文中,计算机可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。计算机可读介质可以是机器可读信号介质或机器可读存储介质。计算机可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、随机存储存取器(RAM)、闪存、硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分离的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。
Claims (27)
1.一种数据缓冲的方法,包括,
在网络的第一节点处,检测与所述第一节点和所述网络的第二节点之间的传输时延相关的信息,所述信息指示以下至少一项:
时延变化范围,所述时延变化范围覆盖多个分组从所述第二节点到达所述第一节点时产生的相应实际时延与相应预期时延之间的多个偏差,和
在所述第一节点与所述第二节点之间的不同路径上的分组传输产生的路径时延差异;
基于检测到的所述信息确定缓冲时间长度;以及
将从所述第一节点待传出的数据缓冲所确定的缓冲时间长度。
2.根据权利要求1所述的方法,其中检测所述信息包括:
分别检测所述多个分组从所述第二节点到达所述第一节点的多个实际到达时间;
计算所述多个实际到达时间与所述多个分组对应的多个预期到达时间之间的多个时间差值,所述多个时间差值分别指示所述多个偏差;以及
基于覆盖所述多个时间差值的取值范围来确定所述时延变化范围。
3.根据权利要求2所述的方法,其中检测所述多个实际到达时间包括:
从所述多个分组中的至少一个分组提取时钟信息,所述时钟信息指示所述分组中的数据的源节点所使用的时钟频率;以及
利用提取的所述时钟信息来检测所述多个实际到达时间。
4.根据权利要求1所述的方法,其中检测所述信息包括:
确定第一候选时延变化范围,所述第一候选时延变化范围覆盖所述多个分组在第一路径上从所述第二节点到达所述第一节点时产生的多个第一偏差;
确定第二候选时延变化范围,所述第二候选时延变化范围覆盖所述多个分组在第二路径上从所述第二节点到达所述第一节点时产生的多个第二偏差;以及
从所述第一候选时延变化范围和所述第二候选时延变化范围中选择较大的范围作为所述时延变化范围。
5.根据权利要求1所述的方法,其中检测所述信息包括:
基于至少第一分组在第三路径上传输时在所述第一节点处的驻留时间长度和在所述第二节点处的驻留时间长度,来确定与所述第三路径相对应的第一路径时延;
基于至少第二分组在第四路径上传输时在所述第一节点处的驻留时间长度和在所述第二节点处的驻留时间长度,来确定与所述第四路径相对应的第二路径时延;以及
基于所述第一路径时延和所述第二路径时延之间的差异来确定所述路径时延差异。
6.根据权利要求5所述的方法,其中所述第一节点和所述第二节点之间存在至少一个中间节点,
其中所述第一路径时延的确定还基于所述第一分组在所述第三路径上传输时在所述至少一个中间节点处的驻留时间长度,并且
其中所述第二路径时延的确定还基于所述第二分组在所述第四路径上传输时在所述至少一个中间节点处的驻留时间长度。
7.根据权利要求6所述的方法,还包括:
利用预定协议封装所述第一分组,所述至少一个中间节点能够利用所述预定协议检测所述第一分组在所述至少一个中间节点处的所述驻留时间长度。
8.根据权利要求5所述的方法,其中所述第一节点和所述第二节点直接连接,并且多个所述第一分组在所述第三路径上传输,确定所述第一路径时延包括:
从多个所述第一分组在所述第一节点或所述第二节点中的一个节点处的相应驻留时间长度中,选择大于第一时间阈值的第一驻留时间长度;
从多个所述第一分组在所述第一节点或所述第二节点中的另一节点处的相应驻留时间长度中,选择小于第二时间阈值的第二驻留时间长度;以及
基于所述第一驻留时间长度和所述第二驻留时间长度之和,来确定所述第一路径时延。
9.根据权利要求5所述的方法,其中所述第一节点和所述第二节点直接连接并且多个所述第二分组在所述第四路径上传输,确定所述第二路径时延包括:
从多个所述第二分组在所述第一节点或所述第二节点中的一个节点处的相应驻留时间长度中,选择大于第三时间阈值的第三驻留时间长度;
从多个所述第二分组在所述第一节点或所述第二节点中的另一节点处的相应驻留时间长度中,选择小于第四时间阈值的第四驻留时间长度;以及
基于所述第三驻留时间长度和所述第四驻留时间长度之和,来确定所述第二路径时延。
10.根据权利要求1所述的方法,其中所述不同路径包括所述第一节点和所述第二节点之间的工作路径和保护路径,所述工作路径和所述保护路径经由所述第一节点的不同端口与所述第二节点的不同端口连接,以在不同分组中传输相同有效载荷的不同副本。
11.根据权利要求1所述的方法,其中所述不同路径包括从所述第一节点到所述第二节点的方向上的路径和从所述第二节点到所述第一节点的方向上的路径。
12.根据权利要求11所述的方法,其中确定所述缓冲时间长度包括:
基于所述路径时延差异的至少一部分来确定所述缓冲时间长度,以使得所述第二节点利用所述路径时延差异中的剩余部分确定另一缓冲时间长度之后,在从所述第一节点到所述第二节点的方向和从所述第二节点到所述第一节点的方向中的不同路径上的分组传输产生的路径时延相同。
13.根据权利要求1所述的方法,其中所述第一节点连接到所述待传出的数据的源设备和目的地设备中的一个,所述第二节点连接到所述源设备和所述目的地设备中的另一个。
14.一种电子设备,包括:
至少一个处理器,以及
存储计算机程序代码的至少一个存储器,
所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起促使所述电子设备:
在网络的第一节点处,检测与所述第一节点和所述网络的第二节点之间的传输时延相关的信息,所述信息指示以下至少一项:
时延变化范围,所述时延变化范围覆盖多个分组从所述第二节点到达所述第一节点时产生的相应实际时延与相应预期时延之间的多个偏差,和
在所述第一节点与所述第二节点之间的不同路径上的分组传输产生的路径时延差异;
基于检测到的所述信息确定缓冲时间长度;以及
将从所述第一节点待传出的数据缓冲所确定的缓冲时间长度。
15.根据权利要求14所述的设备,其中所述电子设备被促使为:
分别检测所述多个分组从所述第二节点到达所述第一节点的多个实际到达时间;
计算所述多个实际到达时间与所述多个分组对应的多个预期到达时间之间的多个时间差值,所述多个时间差值分别指示所述多个偏差;以及
基于覆盖所述多个时间差值的取值范围来确定所述时延变化范围。
16.根据权利要求15所述的设备,其中所述电子设备被促使为:
从所述多个分组中的至少一个分组提取时钟信息,所述时钟信息指示所述分组中的数据的源节点所使用的时钟频率;以及
利用提取的所述时钟信息来检测所述多个实际到达时间。
17.根据权利要求14所述的设备,其中所述电子设备被促使为:
确定第一候选时延变化范围,所述第一候选时延变化范围覆盖所述多个分组在第一路径上从所述第二节点到达所述第一节点时产生的多个第一偏差;
确定第二候选时延变化范围,所述第二候选时延变化范围覆盖所述多个分组在第二路径上从所述第二节点到达所述第一节点时产生的多个第二偏差;以及
从所述第一候选时延变化范围和所述第二候选时延变化范围中选择较大的范围作为所述时延变化范围。
18.根据权利要求14所述的设备,其中所述电子设备被促使为:
基于至少第一分组在第三路径上传输时在所述第一节点处的驻留时间长度和在所述第二节点处的驻留时间长度,来确定与所述第三路径相对应的第一路径时延;
基于至少第二分组在第四路径上传输时在所述第一节点处的驻留时间长度和在所述第二节点处的驻留时间长度,来确定与所述第四路径相对应的第二路径时延;以及
基于所述第一路径时延和所述第二路径时延之间的差异来确定所述路径时延差异。
19.根据权利要求18所述的设备,其中所述第一节点和所述第二节点之间存在至少一个中间节点,
其中所述第一路径时延的确定还基于所述第一分组在所述第三路径上传输时在所述至少一个中间节点处的驻留时间长度,并且
其中所述第二路径时延的确定还基于所述第二分组在所述第四路径上传输时在所述至少一个中间节点处的驻留时间长度。
20.根据权利要求19所述的设备,所述电子设备还被促使为:
利用预定协议封装所述第一分组,所述至少一个中间节点能够利用所述预定协议检测所述第一分组在所述至少一个中间节点处的所述驻留时间长度。
21.根据权利要求18所述的设备,其中所述第一节点和所述第二节点直接连接,并且多个所述第一分组在所述第三路径上传输,所述电子设备被促使为:
从多个所述第一分组在所述第一节点或所述第二节点中的一个节点处的相应驻留时间长度中,选择大于第一时间阈值的第一驻留时间长度;
从多个所述第一分组在所述第一节点或所述第二节点中的另一节点处的相应驻留时间长度中,选择小于第二时间阈值的第二驻留时间长度;以及
基于所述第一驻留时间长度和所述第二驻留时间长度之和,来确定所述第一路径时延。
22.根据权利要求18所述的设备,其中所述第一节点和所述第二节点直接连接并且多个所述第二分组在所述第四路径上传输,所述电子设备被促使为:
从多个所述第二分组在所述第一节点或所述第二节点中的一个节点处的相应驻留时间长度中,选择大于第三时间阈值的第三驻留时间长度;
从多个所述第二分组在所述第一节点或所述第二节点中的另一节点处的相应驻留时间长度中,选择小于第四时间阈值的第四驻留时间长度;以及
基于所述第三驻留时间长度和所述第四驻留时间长度之和,来确定所述第二路径时延。
23.根据权利要求14所述的设备,其中所述不同路径包括所述第一节点和所述第二节点之间的工作路径和保护路径,所述工作路径和所述保护路径经由所述第一节点的不同端口与所述第二节点的不同端口连接,以在不同分组中传输相同有效载荷的不同副本。
24.根据权利要求14所述的设备,其中所述不同路径包括从所述第一节点到所述第二节点的方向上的路径和从所述第二节点到所述第一节点的方向上的路径。
25.根据权利要求24所述的设备,其中所述电子设备被促使为:
基于所述路径时延差异的至少一部分来确定所述缓冲时间长度,以使得所述第二节点利用所述路径时延差异中的剩余部分确定另一缓冲时间长度之后,在从所述第一节点到所述第二节点的方向和从所述第二节点到所述第一节点的方向中的不同路径上的分组传输产生的路径时延相同。
26.根据权利要求14所述的设备,其中所述第一节点连接到所述待传出的数据的源设备和目的地设备中的一个,所述第二节点连接到所述源设备和所述目的地设备中的另一个。
27.一种计算机可读介质,其上存储有计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时使所述一个或多个处理器执行根据权利要求1至13中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811535432.7A CN111327657A (zh) | 2018-12-14 | 2018-12-14 | 数据缓冲的方法、设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811535432.7A CN111327657A (zh) | 2018-12-14 | 2018-12-14 | 数据缓冲的方法、设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111327657A true CN111327657A (zh) | 2020-06-23 |
Family
ID=71170167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811535432.7A Pending CN111327657A (zh) | 2018-12-14 | 2018-12-14 | 数据缓冲的方法、设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111327657A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113868166A (zh) * | 2021-10-09 | 2021-12-31 | 海光信息技术股份有限公司 | 自适应请求应答系统、方法、设备和计算机介质 |
CN114070442A (zh) * | 2020-07-30 | 2022-02-18 | 上海诺基亚贝尔股份有限公司 | 不同通信方向上的呈现时间偏移量的自动对齐 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254465A (zh) * | 1997-05-22 | 2000-05-24 | 特尔科迪亚技术股份有限公司 | 对动态分组交换网中的延迟进行均衡的系统和方法 |
CN101814984A (zh) * | 2010-04-09 | 2010-08-25 | 华为技术有限公司 | 获取不对称延迟时间的方法和装置 |
US8228957B1 (en) * | 2006-05-26 | 2012-07-24 | Sprint Communications Company L.P. | Differential delay mitigation in diverse backhaul environments |
CN102742249A (zh) * | 2010-01-27 | 2012-10-17 | 荷兰皇家Kpn电信集团 | 用于媒体流同步的方法、系统和装置 |
CN105099949A (zh) * | 2014-04-16 | 2015-11-25 | 杜比实验室特许公司 | 基于对延迟抖动和对话动态的监视的抖动缓冲器控制 |
CN106713141A (zh) * | 2015-11-18 | 2017-05-24 | 华为技术有限公司 | 用于获得目标传输路径的方法和网络节点 |
-
2018
- 2018-12-14 CN CN201811535432.7A patent/CN111327657A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254465A (zh) * | 1997-05-22 | 2000-05-24 | 特尔科迪亚技术股份有限公司 | 对动态分组交换网中的延迟进行均衡的系统和方法 |
US8228957B1 (en) * | 2006-05-26 | 2012-07-24 | Sprint Communications Company L.P. | Differential delay mitigation in diverse backhaul environments |
CN102742249A (zh) * | 2010-01-27 | 2012-10-17 | 荷兰皇家Kpn电信集团 | 用于媒体流同步的方法、系统和装置 |
CN101814984A (zh) * | 2010-04-09 | 2010-08-25 | 华为技术有限公司 | 获取不对称延迟时间的方法和装置 |
CN105099949A (zh) * | 2014-04-16 | 2015-11-25 | 杜比实验室特许公司 | 基于对延迟抖动和对话动态的监视的抖动缓冲器控制 |
CN106713141A (zh) * | 2015-11-18 | 2017-05-24 | 华为技术有限公司 | 用于获得目标传输路径的方法和网络节点 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070442A (zh) * | 2020-07-30 | 2022-02-18 | 上海诺基亚贝尔股份有限公司 | 不同通信方向上的呈现时间偏移量的自动对齐 |
CN113868166A (zh) * | 2021-10-09 | 2021-12-31 | 海光信息技术股份有限公司 | 自适应请求应答系统、方法、设备和计算机介质 |
CN113868166B (zh) * | 2021-10-09 | 2024-05-17 | 海光信息技术股份有限公司 | 自适应请求应答系统、方法、设备和计算机介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170150464A1 (en) | Communication apparatus, time synchronizing method, and non-transitory computer-readable storage medium | |
EP3294014B1 (en) | A method for scheduling a transmission of packets within a network | |
US8982897B2 (en) | Data block output apparatus, communication system, data block output method, and communication method | |
KR102009588B1 (ko) | 시간 동기화 방법과 시스템, 및 네트워크 디바이스 | |
US10231256B2 (en) | Method for radio source scheduling | |
US8000599B2 (en) | Optical transmission system and optical transmission method | |
US10728134B2 (en) | Methods, systems, and computer readable media for measuring delivery latency in a frame-preemption-capable network | |
CN104054284A (zh) | 通过分组交换网络的数据传输 | |
US10492160B2 (en) | Network node | |
US10361962B2 (en) | Packet processing technique for a communication network | |
CN111327657A (zh) | 数据缓冲的方法、设备和计算机可读介质 | |
EP3295765B1 (en) | Systems and methods of transporting internal radio base station (rbs) interface information over a packet switched network | |
US9467243B2 (en) | Packet relay device and packet transmission device | |
CN107534606B (zh) | 电信系统中的帧起始优化方法、系统及可读介质 | |
US8891966B2 (en) | Optical communication device and signal adjusting method | |
US20110158093A1 (en) | Bandwidth control method and bandwidth control device in node device | |
US10555330B2 (en) | Terminal station apparatus and band allocation method | |
Aichhorn et al. | Realization of line current differential protection over IP-based networks using IEEE 1588 for synchronous sampling | |
Ma et al. | Demonstration of latency control label-based bounded-jitter scheduling in a bridged network for industrial internet | |
JP2006148329A (ja) | 位相調整方法及び装置 | |
JP2018191090A (ja) | 加入者線端局装置及び帯域割当方法 | |
US11924111B2 (en) | Signal transfer device and signal transfer method | |
CN115868145A (zh) | 一种通信方法及相关设备 | |
CN114070442A (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 |