CN101427516B - 网络延迟控制 - Google Patents

网络延迟控制 Download PDF

Info

Publication number
CN101427516B
CN101427516B CN2005800189120A CN200580018912A CN101427516B CN 101427516 B CN101427516 B CN 101427516B CN 2005800189120 A CN2005800189120 A CN 2005800189120A CN 200580018912 A CN200580018912 A CN 200580018912A CN 101427516 B CN101427516 B CN 101427516B
Authority
CN
China
Prior art keywords
bag
transmission path
network transmission
responsive
series
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.)
Expired - Fee Related
Application number
CN2005800189120A
Other languages
English (en)
Other versions
CN101427516A (zh
Inventor
P·基廷
Y·张
W·M·斯蒂芬斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Zyray Wireless Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zyray Wireless Inc filed Critical Zyray Wireless Inc
Publication of CN101427516A publication Critical patent/CN101427516A/zh
Application granted granted Critical
Publication of CN101427516B publication Critical patent/CN101427516B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了控制网络业务流以避免在传输定时敏感包时出现不必要的延迟。监控要经网络传输路径传输的多个包。预计定时敏感包将变得可用于经该网络传输路径传输的时间。根据预计的时间来控制该多个数据包,使得在与预计的时间相关联的时间除该定时敏感包外的包将不会占用该网络传输路径。本发明公开了通过发送和分析一系列测试包的接收而估计与网络传输路径相关联的最大数据传输速率。本发明公开了通过发送和分析一系列测试包的接收而估计与网络传输路径相关联的缓冲器的缓冲器大小。

Description

网络延迟控制
其它申请的交叉引用
本申请要求于2004年4月13日提交的、题为“网络流控制(Network Flow Control)”的临时美国专利申请60/562111的优先权,通过引用将该申请结合于本文中。
发明领域
本发明一般涉及连网。更具体地说,公开了一种延迟控制技术。
发明背景
在计算机网络中,从一个网络节点传送到下一网络节点的包可能遇到变化的延迟。一般地说,通常对包进行排序,并通过网络路径一次传输一个包。在要通过网络传输多个包时,随后的协商和排序可导致随机的传输延迟量。例如,一个包可能被强制等待另一包完成传输,这是因为该另一包在等待包变得可用之前开始传输,或者因为该另一包具有更高的优先级指定。因此,包到达时的延迟可能偏离预期的传输延迟。对预期的延迟的偏离通常被称为抖动。对于许多网络配置,抖动具有不是正态分布的概率分布函数(pdf)。此外,抖动是非平稳随机过程。
对于诸如定时包、因特网协议(IP)话音、视频流传输或具有较严格定时要求的其它协议包的时间敏感包,特别不希望网络中出现抖动。抖动可导致显著的性能降级并降低网络带宽的利用率。另外,对于包括定时和频率信息的包,网络抖动的非平稳性质使得此类信息难以可靠传播。因此,会希望有一种为时间敏感包减少抖动的方式。如果还可提高网络带宽的利用率,这也会有所帮助。此外,如果可使网络抖动变为平稳随机过程,这会有所帮助。
附图说明
在下面的详细说明和附图中,公开了本发明的各种实施例。
图1示出在一个实施例中使用的网络延迟控制器。
图2A示出NDC实施的包处理过程。
图2B示出用于正常模式计时器的过程。
图2C示出用于安静模式计时器的过程。
图3A提供NTP在12mS间隔期间的传输速率的图形表示。
图3B示出网络延迟控制器配置为估计NTP内缓冲器利用率的实施例。
图4A示出经NTP接收和发射包的过程。
图4B示出用于确定图4A所示正常操作模式何时有效的正常模式计时器的操作。
图4C示出如何通过传播计时器估计NTP中的当前缓冲器利用率。
图5示出第一、第二和第三节点经耦合以将网络包数据发射到网络流控制器的网络配置。
图6A-6D示出使网络流控制器内的仲裁抖动和与NTP有关的传播抖动降到最低的NDC的操作。
图7示出一种网络配置,该配置包括用于自动估计给定NTP的带宽和输入缓冲器大小的链路带宽分析器(LBA)。
图8示出第二NDC传输的13个包的示例序列。
图9示出PIP数据包的示例格式。
详细说明
本发明可以用多种方式实施,包括作为过程、设备、系统、计算机可读介质(如计算机可读存储介质)或通过光通信链路或电通信链路发送程序指令的计算机网络。在此说明书中,这些实施或本发明可采用的任何其它形式可被称为技术。通常,在本发明的范围内可改变公开过程的步骤顺序。
在下面与示出本发明原理的附图一起提供本发明的一个或多个实施例的详细说明。结合此类实施例对本发明进行了描述,但本发明并不限于任何实施例。本发明的范围只受权利要求书限制,并且本发明包括许多替代方案、修改和等同物。在下面的说明中阐述了许多特定的细节以便透彻地理解本发明。这些细节作为示例提供,并且可在一些或所有这些特定的细节不存在的情况下根据权利要求书来实现本发明。为清晰起见,未详细描述在本发明相关技术领域中已知的技术材料以免不必要地使本发明模糊。
本文公开了相对于延迟特征提高基于包的网络(如以太网、异步传送模式(ATM)、包中继等)的传输性能。在一些实施例中,指定的包通过基于包的网络的平均传播延迟和一系列对应的指定的包的传播延迟变化被减少或降到最低。在本文使用时,术语“定时敏感包(timing sensitive packet)”用于指减少、最小化或避免传播延迟对其而言可能是有利或所希望的包。此类包的一个示例可以是用于使例如在两个不同位置的两个或多个过程或操作同步的定时包。此类定时包可用于通过网络提供相位或频率参考以便锁定在远程位置的锁相环(PLL)或锁频环(FLL)。
在本文使用时,包指经网络传输的数据单元,如以太网包、数据信元或根据各种协议和标准的其它数据单元。包的格式和包中存储的数据量可以变化。为便于说明,在此说明书整篇中广泛论述了使用以太网包的示例,但这些技术也适用于其它包类型。
图1示出在一个实施例中使用的网络延迟控制器。在此示例中,第一节点(101)通过网络传输路径(104)将信息包发射到第二节点(102)。节点101和102可包括嵌入式系统、计算机终端或关联网络或网元的入口点/出口点。网络延迟控制器(NDC)(106)用于在节点(101)与网络传输路径(NTP)(104)之间传送包。实际上,由第二节点(102)接收的所有信息包都通过NDC(106)发送。在图1中,从第一节点(101)到NDC(106)的最大数据传输速率表示为T1。从NDC(106)到网络传输路径(104)的最大数据速率表示为T2。从连接到NDC(106)的端口到连接到第二节点(102)的端口的网络传输路径(104)的最大数据速率表示为T3。在此示例中,假设最大数据速率T3小于最大数据速率T1或T2。与此情况相关联的问题在本文中被称为“速率过渡抖动(ratetransition jitter)”,由此至少部分由于定时敏感包必须遍历的端到端路径的不同段可能具有不同数据速率的原因,接收端可能难以可靠地预测定时敏感包的到达时间。最大数据速率T3小于最大数据速率T1或T2的假设暗示第一节点(101)具有传输带宽高于网络传输路径(104)本身的网络接口。因此,第一节点(101)能够以快于NTP(104)的速率进行数据传输。此类网络传输路径的一个示例可包括数字用户线(DSL)传输路径。DSL调制解调器可具有到计算机的“10 base T”以太网接口,例如,该接口能够每秒传输10兆比特(Mbps)。DSL连接本身可具有1Mbps的最大传输容量。为与较高速度的发射机(如第一节点(101))一起工作,NTP(104)包括在完全突发地从发射机接收并通过NTP(104)较慢地传播数据包时数据包的存储空间。NTP(104)可包括在从第一节点(101)接收快速但有限突发的包时包的附加存储空间。NTP(104)可包括诸如交换机、路由器、光纤介质、模拟用户线等通常已知网元的组合。
在由第一节点(101)发射到第二节点(102)的包类型集合中包括有指定的定时敏感包。定时敏感包与其它包的不同之处在于包结构内的一个或多个特殊字段。对于以太网协议,可使用16比特的“以太网类型字段”,随后是48比特的源地址字段和目的地址字段。或者,可使用48比特的目的地址字段或目的地址字段的子集、源地址字段的一部分、有效负荷、包内各种字段的组合或任何其它适当的字段。诸如特殊应用、系统配置、整体效率、网络协议和网络介质的因素可影响用于区分定时敏感包的字段选择。监控由NDC(106)接收的包以了解是否存在指定的时间敏感包。
在图1中,NDC(106)包括用于在从第一节点(101)接收包时限制数据速率的速率限制器(107),使得根据NTP(104)的最大数据速率压制到NTP(104)的包传输。为限制转发到网络传输路径(104)的包的数据速率,NDC可存储一些从第一节点(101)接收的包。如果收到非定时敏感包并且无存储空间可用,或者如果未用的存储空间量不足,并且如果在实际上未超过NTP(104)的数据速率容量的情况下无法将包转发到网络传输路径(104),则包均被丢弃。优选是在NDC(106)收到所有定时敏感包时,将它们转发到NTP(104)。由于NDC(106)根据网络传输路径(104)的最大数据速率对数据进行速率限制,因此,视NDC(106)中使用的特殊速率限制技术而定,网络传输路径(104)一般不会存储多于一个的最大大小的包。
NDC(106)配置为在从第一节点(101)输出某个定时敏感包时识别该包。图2A-2C示出根据一些实施例由NDC(106)实施的一组操作。具体地说,图2A示出由NDC实施的包处理过程,并且图2B和图2C分别示出如下所述由NDC使用的正常模式计时器和安静模式计时器的过程。先参照图2A,确定指定的定时敏感包是否被收到或被存储在队列中(206)。在一些实施例中,始终在收到定时敏感包时传输它们,并且从不将它们存储在队列中供以后传输。在此类实施例中,步骤206包括确定是否收到定时敏感包。在其它实施例中,可在规定的情况下将定时敏感包存储在队列中,例如,在同时或接近同时收到或者预期收到更高优先级的定时敏感包的情况下,或者在收到定时敏感包时NTP不可用的情况下。如果定时敏感包被收到或在队列中,并且预期在定时敏感包通过NTP的传输时间期间无更高优先级的包到达,则将定时敏感包转发到NTP以供传输(225)。如果尚未收到定时敏感包,并且队列中无定时敏感包,则确定非定时敏感包是否被收到或存储在队列中(208)。如果尚未收到非定时敏感包,并且队列中无非定时敏感包,则过程再次开始,并且执行步骤206和208直至收到或者在队列中发现存在定时敏感包或非定时敏感包。如果在步骤208中确定非定时敏感包被收到或者存在于队列中,则确定安静模式是否有效(210)。在一些实施例中,步骤210包括确定安静模式计时器是否被设置并尚未终止或被复位(即,计时器是否在运行)。安静模式计时器定义一个时间窗口,在该窗口期间进入的非时间敏感包被缓冲,以便为传输预期到达的定时敏感包而使网络传输路径保持畅通。
下面结合图2B和图2C论述安静模式计时器的细节。在一些实施例中,时间窗口在定时敏感包预期到达的时间开始。在其它实施例中,时间窗口开始的时间比定时敏感包的预期到达时间提前预定的时间量,以便在定时敏感包到达之前留出时间清除NTP上的非定时敏感包。在一些实施例中,时间窗口可延伸超出定时敏感包的预期到达时间,例如,以允许定时敏感包推迟到达。在一些实施例中,时间窗口最初可设为在定时敏感包的预计到达时间终止,但如果定时敏感包在预计时间未到达,则时间窗口可延伸,例如,延伸规定的量或根据规定的算法延伸。
如果安静模式有效(即,安静模式计时器被设置并尚未终止)(210),并且在步骤208中确定收到非定时敏感包,则收到的包被存储在队列中或者在无足够存储空间可用时被丢弃(270)。如果安静模式有效(即,安静模式计时器被设置并尚未终止)(210),并且未收到非定时敏感包(即,由于队列中存在一个或多个非定时敏感包,而不是由于收到尚未存储在队列中的非定时包,在步骤208中确定的答案为肯定),则在步骤270中不采取措施。
如果安静模式无效(即,安静模式计时器已终止或被复位,即未在运行)(210),则确定是否达到速率限制阈值(215)。视NDC的实施而定,可采用各种速率限制技术。在一个实施例中,限制速率,使得以未超过NTP(104)的最大数据传输容量的平均速率将数据发送到NTP。如果达到速率限制阈值,则收到的非定时包(如果有的话)被存储在队列中或者在无足够存储空间可用时被丢弃(270)。如果未超出速率限制阈值,则传输非定时敏感包(220)。在一些实施例中,在步骤220中,基于先入先出(FIFO)传输非定时敏感包,这样,按收到包的顺序并在传输任何随后收到的包之前传输在队列中存储的包(如果有的话)。在一些此类实施例中,步骤220包括在队列中、在所有以前收到的、可能已经存储在队列中的包之下或之后的位置存储以后收到的、在步骤220的某次迭代中未传输(例如,由于以前收到的包被存储在队列中)并尚未存储在队列中的包。在其它实施例中,可能不使用FIFO方案,并且可在从队列中拉出任何包以供传输之前传输收到的、以前尚未存储在队列中的包。一旦传输了包(220),则过程便再次开始。
参照图2B,无论何时收到指定的定时敏感包(245),都设置正常模式计时器(250)。优选是将正常模式计时器设为取决于下一定时敏感包预期到达时的时间间隔或规定的时间减去在下一定时敏感包的预期到达时间之前定义窗口(在本文被称为“安静模式”,在安静模式期间,不会将非定时敏感包传输到NTP以确保在定时敏感包到达时NTP可用于传输该包)的时间值的值。正常模式计时器将在达到设置的时间值之后终止。一旦设置了正常模式计时器(250),则复位(停止)在运行(即被设置并尚未终止)的安静模式计时器(252)。在一些实施例中,只在确定传输了定时敏感包时才执行图2B的步骤252,以确保安静窗口保持有效(即,不传输非定时敏感包)直至传输了安静模式计时器设置用于的定时敏感包。在一些实施例中,图2A的步骤225包括在安静模式计时器被设置并尚未终止时复位安静模式计时器,并且在此类实施例中,省略图2B的步骤252。
参照图2C,无论何时正常模式计时器终止(255),都设置安静模式计时器(260)。如上所述,安静模式计时器设为某个时间值,表示不会将非定时敏感包传输到NTP的间隔。安静模式计时器将在达到安静模式时间值之后终止。
优选是正常模式计时器预计指定的定时敏感包的周期。安静模式计时器用于控制到NTP(104)的非定时敏感包流,使得在定时敏感包预计到达的时间,非定时敏感包将不占用网络传输路径。在一些实施例中,NDC(106)配置为在收到定时敏感包时将正常模式计时器设为某个间隔TN,该间隔与定时敏感包的已知定期传输间隔一致。例如,假设网络传输路径(104)具有1Mbps的最大传输速率T3,并且第一节点(101)到网络传输路径(104)的接口T1和T2是以太网连接,这些以太网连接具有10Mbps的最大传输容量。还假设以1秒的定期间隔传输指定的定时敏感包。对于此示例的剩余说明,指定的定时敏感包将被称为“1pps包”,但所述技术还适用于具有不同到达速率的定时敏感包。
在正常模式计时器终止之前,将对NDC(106)接收的所有非1pps包进行速率限制,并在适当时将其转发到NTP(104)。图3A提供在一个实施例中由NDC(106)调节的NTP(104)在12mS间隔期间的传输速率的图形表示。如图3A所示,指定了12K比特/12mS或1Mbps的最大NTP传输速率。另外在图3A中,指定了1200比特/12mS或100Kbps的阈值传输速率。如果计算的NTP传输速率实际上超过100Kbps的阈值传输速率,则不将NDC(106)接收的包转发到NTP(104)。如图3A所示,在时间零T0,将64字节的包转发到NTP(104)。由于NDC/NTP接口较快,因此,即时计算的传输速率在将整个包完全传送到NTP(104)时迅速增加到38.416Kbps的最大速率。在NTP(104)传播该包时,在12mS窗口期间的传输速率减为零。在T1,将1500字节的最大大小的包传送到NTP。在将该包传送到NTP(104)时,计算的在12mS间隔期间的传输速率峰值为900Kbps。虽然通过NTP(104)传播该包,但在时间T2,NDC(106)接收另一最大大小的包。然而,直到计算的在12mS时间窗口期间的传输速率实际上为100Kbps,例如,在所示示例中在时间T4或其附近,才将该包转发到NTP。在将第二包传输到NTP(104)时,在将第二包完全传送到NTP(104)时,计算的NTP(104)传输速率峰值为1Mbps。类似地,会存储随后在T3接收的最大大小的包,并且直到计算的在12mS时间窗口期间的传输速率实际上为100kbps,即,在所示示例中在时间T5或其附近,才将该包转发到NTP。一般情况下,用于以太网的最大大小的包为1500字节。如果网络配置为接受1500字节的最大大小的包,则它将使用1500字节*8比特/字节*1秒/10Mb或1.2毫秒的最大值将包从NDC(106)传送到NTP(104)。如果一从NDC(106)收到数据时NTP(104)就开始传输,则到NTP(104)收到整个最大大小的包之时为止,NTP(104)将已经以1Mbps的速率传输了同一包的大约1200比特。因此,NTP(104)将需要存储大约12000比特(1500字节*8比特/字节)减去1200比特或10800比特以容纳最大大小的包。为便于说明此示例,假设速率限制功能操作以确保在将NDC(106)接收的包传送到NTP(104)之前,计算的NTP传输速率不超过100Kbps是必需的。因此,正常模式计时器应设为允许在最坏情况下到下一1pps包预期到达之时为止存储在NTP(104)中的最大量数据从NTP(104)传播出去。对于以1Mbps传输的10800比特的信息,正常模式计时器应设为在1秒减去10.8毫秒或989.2毫秒内终止。在正常模式计时器终止(255)时,设置安静计时器(260)。安静计时器应设为至少在从正常模式计时器的终止开始直到下一1pps包的预期时间的持续时间内运行。优选是安静模式计时器将设为在稍微更长的持续时间内运行,以相对于下一1pps包的到达时间为抖动提供余量。在正常模式计时器终止之后和在安静窗口计时器终止之前,不将从第一节点(100)接收的所有非时间敏感包转发到NTP(104),而是在存储空间可用时由NDC(106)存储。如果收到较小的包,并且确定可转发它且在预期下一定时敏感包时在12mS内的传输速率会等于零,则可任选地将它传送到NTP(104)。否则,丢弃非时间敏感包。因此,正常模式计时器优选设为某个值,该值与预期下一时间敏感包的时间间隔减去清除网络传输路径(104)中所有存储的数据所需的时间一致。安静计时器优选设为限制用于压制网络传输路径(104)上非定时敏感数据传输的时长。在NDC(106)接收、检测和转发定时敏感包之后,清除安静计时器(252),并且对NDC(106)存储或接收的所有其它数据流量进行速率限制并将其转发到网络传输路径(104)。如果下一预期的定时敏感包延迟显著或未到达并且安静计时器终止,则对NDC(106)存储或随后接收的所有数据流量进行速率限制并将其转发到网络传输路径(104)。
或者,正常模式计时器可设为在下一指定的定时敏感包预期到达时终止,并且可在正常模式计时器设为终止之前的某个预定时间设置安静模式计时器。
在图2A-2C中示出的上述示例中,以10Mbps接收数据和以1Mbps输出数据的速率过渡或者可并入NDC(106)内。此类功能配置或重新布置就处理指定的定时敏感包而言不需要改变NDC(106)的操作、正常模式计时器、安静计时器的操作等。选择假设用于此公开内容中所述示例的功能划分在很大程度上是为了使公开内容变得清晰。视实施或环境而定,网元的其它逻辑和物理分组与布置是可能的。
在图1-2C中示出的上述实施例中,基于使用的特殊速率限制方法,根据NTP(104)内的缓冲器利用率的最坏情况假设来压制到NTP(104)的数据传输。也就是说,在假定NTP(104)内的数据缓冲器不大于容纳最大大小的包所需的数据缓冲器的时期内,压制数据。基于最大大小的包的传输时间,NDC(106)根据NTP(104)来限制最大速率。或者,NDC可监控NTP缓冲器利用率。在NTP可存储多于一个的最大大小的包、因而更好地利用NTP中可用的存储空间时,这是有利的。在一些实施例中,NDC记录网络传输路径内的缓冲器利用率,并根据进入的非时间敏感包的大小、NTP缓冲器中估计的当前数据量和下一时间敏感包预期到达之前的剩余时间,转发进入的非定时敏感包。
图3B示出网络延迟控制器配置为估计NTP内的缓冲器利用率的实施例,如在上一段中暗示的。网络配置(300)包括NDC(320),该NDC部分通过使用缓冲器利用率估计器(325)来控制数据包流到NTP(330)中。在此示例中,假设通过NTP的最大数据速率T3小于T1和T2两者的最大数据速率。在将包从NDC(320)传输到NTP(330)时,缓冲器利用率估计器(325)在包通过NTP(330)传播时记录在NTP(330)中存储的包数据量。考虑到缓冲器利用率估计器(325)的当前读数、NTP(330)的传输速度和在指定的时间敏感包预期到达之前的剩余时间,NDC(320)操作以确保在下一时间敏感包的预期到达时间在NTP(330)缓冲器中未存储数据。
图4A-4C示出一组过程,如可在NDC上实施以估计NTP缓冲器利用率和根据估计控制包流的过程。图4A示出一个过程,通过该过程,基于估计的NTP缓冲器利用率和定时敏感包的预期到达时间,经NTP接收和发射包。图4B示出用于确定图4A所示的正常操作模式何时有效的正常模式计时器的操作。图4C示出如何通过传播计时器估计NTP中的当前缓冲器利用率。
在一个实施例中,图3B的NDC 320实施图4A-4C的过程。在操作中,NDC可将包转发到NTP,并维持NTP缓冲器利用率的估计。在下面的说明中,NDC不必将NTP缓冲器的实际容量考虑在内。另外,在NTP的容量为最大大小的包所需的最小值时,NTP缓冲器利用率算法变得等同于速率限制算法。在下面的示例中,假设NDC包括解释NTP缓冲器大小和NTP传输速度的设计参数。可通过传播计时器的当前读数估计NTP的瞬时缓冲器利用率。在NDC将包传输到NTP时,根据所传输包的大小设置传播计时器。传播计时器在被设置之后便开始根据NTP的传输速率倒计时。在NDC传输附加包时,将每个包的大小加到传播计时器的当前内容上。这样,NDC维持清空NTP缓冲器所需的安静时间量的持续估计(即,不将其它包传输到NTP的间隔长度),例如,以确保在下一定时敏感包到达时缓冲器为空。
参照图4A,NDC确定定时敏感包是否被收到或存储在队列中(430)。如果定时敏感包被收到或者在队列中,则传输它(470)。如果未收到定时敏感包,并且队列中无定时敏感包,则NDC检查以了解是否非定时敏感包被收到或存在于队列中(435)。如果未收到非定时敏感包,并且队列中无非定时敏感包,则NDC继续检查是否收到或队列中存在定时敏感或非定时敏感包(430和435)。如果非定时敏感包被收到或存在于队列中,则NDC检查是否可在下一定时敏感包到达之前通过NTP传输该包,并且不会使NTP缓冲器溢出(440)。为此,NDC将预期传输的下一非定时包的包大小(Ps)与传播计时器的内容(Pt)之和(将在下面结合图4C进行更全面的描述)与NTP的缓冲器大小(Bsize)进行比较(440)。此比较确定将所收到包的大小的包(Ps)加到已经经传播计时器估计为在NTP缓冲器中的数据(Pt)上是否会超出缓冲器的容量。NDC还将表示为清空缓冲器所需安静时间(即,Ps+Pt除以NTP的传输速率)的Ps与Pt之和与直到下一定时敏感包预期到达的时间(Te)进行比较(440)。在一些实施例中,Te等于正常模式计时器上的剩余时间,图4B示出该计时器的操作。在一些实施例中,正常模式计时器在除下一定时敏感包的预期到达时间外的时间终止,例如,在预期到达时间之前不久或之后不久的某个时间。在一些此类实施例中,例如,通过将正常模式计时器终止之前的剩余时间加上或减去规定的偏移,从正常模式计时器终止之前的剩余时间导出直到下一定时敏感包预期到达的时间Te。在其它实施例中,可使用单独的计时器记录直到下一定时敏感包预期到达的时间Te。如果Ps与Pt之和小于或等于Bsize(440),并且小于Te,则将非定时敏感包转发到NTP(450)。如上结合图2A的步骤220所述,对于不同的配置和/或实施,用于在不止一个包可供传输时在步骤450中确定传输哪个非定时敏感包的算法可能不同。如果Ps与Pt之和大于Bsize,或者大于或等于Te(440),并且由于非定时敏感包被收到但尚未存储在队列中(即,不是由于队列中已经存在一个或多个此类包),因而在步骤435得到肯定结果,则在存储空间可用时将收到的包存储在队列中,或在无存储空间可用时丢弃收到的包(460)。
图4B示出用于控制正常模式计时器启动的过程。在步骤445中,确定是否收到定时敏感包。每次收到此类包时,都启动正常模式计时器(455)。
优选是在NDC中采用的计时器设置和/或判定标准选择为允许预期的时间敏感包的一些到达时间差异。如果正常模式计时器终止,该条件在图3B和图4A-4C所示示例中表示下一定时敏感包实际上不在预期时到达,因而计时器终止等同于超时。在一个实施例中,超时导致默认状况,使得Te被假定为大于Ps与Pt之和,直到例如通过随后的定时包的接收而重新启动正常计时器为止,这样,通过步骤435、440和450的操作,在有非定时包被收到或存在于队列中时,只要NTP的输入缓冲器不太满,这些包的传输便将继续。优选是在图3B-4C所示示例中,正常模式计时器设为稍大于下一预期的定时敏感包的时间的值,以允许残余网络抖动。在一些实施例中,如果发生超时(即,在预期的定时敏感包到达之前正常模式计时器终止),则基于预期到达的下一定时敏感包的预计到达时间,例如,基于定时敏感包预期到达的已知或预期的周期,可启动正常模式计时器或辅助计时器。在此类实施例中,重新启动正常模式计时器,或启动辅助计时器,以恢复正常操作,预计预期在正常模式计时器起初设置用于的定时敏感包之后到达的定时敏感包的到达。如果例如由于预期的定时敏感包在上游网络中传输时被丢弃或丢失,因而预期的定时敏感包从未到达,则此类配置会使正常操作能够恢复。
图4C示出在图4A-4C所示示例中的传播计时器的操作。在将包转发到NTP(480)时,如在图4A的步骤450和/或470中一样,将该包中的比特数加到传播计时器的内容上(495)。在传播计时器的内容大于零时(485),以与NTP最大传输速率相同的速率减小传播计时器(490)。传播计时器的内容表示当前在NTP中缓冲并通过NTP传播的数据量。传播计时器的内容在除以NTP的传输速率时表示所有数据将通过NTP传播的剩余时间。
一些网络配置可传输多个指定的定时敏感包流。优选是在NDC指定并识别不止一种类型的定时敏感包时,相对于彼此按优先级排列(prioritize)不同类型的定时敏感包。此外,在例如图1-2C的使用正常模式计时器和安静模式计时器的实施例中,为NDC识别的每个指定的定时敏感包维持单独的正常模式计时器和单独的安静模式计时器。在较低优先级的定时敏感包的安静窗口与较高优先级的定时敏感包的安静窗口重合时,较低优先级的包将由NDC存储并在较高优先级的包被收到并转发到NTP之后或者在较高优先级的安静模式计时器终止之后发送。如果NDC维持NTP的缓冲器利用率的估计,则只在NDC确定在较高优先级的包预期到达之前较低优先级的定时敏感包不会通过NTP传播时,才存储该较低优先级的定时敏感包。
一些网络协议包括以下规定:根据目的网络路径的容量和拥塞参数修改进入的流量的速率。对于以太网,这可通过使用暂停包而得以实现。当在以太网网络内的接收节点检测到在即将或不远的将来它将无法处理所收到数据的状况时,该节点可将暂停包发送到始发数据包的始发节点。在暂停包中规定时间间隔以表示将不发送包到接收节点的时长。暂停包可用于更有效地利用遍布网络中各种节点的数据缓冲器。通常,在如图1所示的实施例中,如果暂停包被定时使得在预期发射指定的定时敏感包时将不暂停第一节点(101),则NDC(106)可将这些暂停包发射到第一节点(101),而实际上不影响指定的定时敏感包的网络延迟。
上述实施例主要集中在解决速率传输抖动及其影响定时敏感包的问题上。然而,网络延迟控制器可另外和/或转而用于为定时敏感包实际消除在多个网络通信源尝试通过公共网络端口传输时引起的仲裁延迟。在本文使用时,术语“仲裁延迟(arbitration delay)”指在通过中间节点或公共网络端口传输第一发送节点发送的数据中,由于该中间节点或公共网络端口忙于转发第二(或多个其它)发送节点经同一中间节点或公共端口发送的数据而造成的延迟。传统上,通过优先级排列方案将选定包的此类仲裁延迟降到最低,在该方案中,始终将高优先级的包类型放置在预定要从某个网络端口传输的包队列的顶部。例如,以太网能够通过使用虚拟局域网(VLAN)标记而提供此类优先级排列。然而,即使使用优先级排列方法,高优先级的定时敏感包仍发生视某个网络输出端口的仲裁状态而定的随机延迟。可能变化的仲裁延迟引起的此类随机延迟在本文中被称为“仲裁抖动(arbitration jitter)”。具体地说,如果高优先级的包变得可用于由网络端口传输的同时另一包传输已经在进行中,则将延迟该高优先级的包。
参照图5,示出一种网络配置(500),其中,第一、第二和第三节点(分别为501、502和503)经耦合以将网络包数据发射到网络流控制器(510)。网络流控制器(510)包括在诸如集线器、交换机和路由器的网络设备中通常具有的网络功能。在图5中,网络流控制器(510)管理第一、第二和第三节点(分别为501、502和503)发射到输出网络端口的网络包流,该输出网络端口耦合到网络传输路径(520)。因此,在图5中,第一、第二和第三节点(501、502和503)全部能够通过网络流控制器(510)和NTP(520)将网络包发射到第四节点(530)。视具体类型而定,网络流控制器可将一些网络流量从一些端口引导到其它端口。例如,以太网集线器一般不引导流量。替代地,在集线器的一个端口接收的所有网络流量只是在集线器的所有其它端口输出。诸如交换机和路由器的其它网络流控制器一般“学会”将包含某个目的地址的数据流量引导到一个端口,在该端口产生具有相同源地址的数据流量。在实际的网络设备中使用了许多不同的引导流量的方式和方法。网络流控制器(510)包括路由选择逻辑功能(515),该功能可包括任何用于引导网络流量的仲裁方法。网络流控制器(510)还包括网络延迟控制器(540),以便为传输指定的定时敏感包而将仲裁抖动降到最低。路由选择逻辑选择性地将流量从第一、第二和第三节点(分别为501、502和503)耦合到NDC(540)。网络流控制器(510)中所示的具体功能划分不是唯一的。实际上,网络流控制器(510)的许多包含NDC(540)的替代体系结构是可能的。在操作中,实际上随机的包流量由第一、第二和第三节点(分别为501、502和503)生成并通过网络流控制器(410)和NTP(520)传输到第四节点(530)。NDC(540)在网络流控制器(510)接收的包中检测指定的定时敏感包。在检测到定时敏感包时,将它放置在要通过NTP(520)传输到第四节点(530)的包队列开始处。在大约相同的时间,正常模式计时器设为根据下一对应的指定的定时敏感包预期可供网络流控制器(510)传输的时间间隔而终止。使用正常模式计时器,NDC(520)将确保在下一定时敏感包到达时,不会开始或进行到NTP(520)和第四节点(530)的其它包传输。如果从网络流控制器(510)到第四节点(530)的NTP(520)的传输速率小于网络流控制器(510)的传输速率,则NDC还可补偿网络路径中传输速率降低引起的抖动。
图6A-6D示出NDC(540)使网络流控制器(510)内的仲裁抖动和与NTP(520)有关的传播抖动降到最低的操作。如上所述,在NTP的传输速率小于网络流控制器到NTP的传输速率时,与NTP有关的传播抖动会显现。图6A示出将从多个输入端口之一(例如,从图5的节点1、2、3等)接收的包加到要经NTP传输的包队列的过程。图6B示出用于确定图6A和图6C所示正常操作模式何时有效的正常模式计时器的操作。图6C示出从队列拉出包以经NTP传输的过程。图6D示出如何通过传播计时器估计NTP中的缓冲器利用率的当前级别。
如图6A所示,NDC检测是否收到包(605)。如果收到的包是定时包(610),则将该包放在要转发到NTP的包队列顶部(615),并且设置正常模式计时器(图6B的620和625)。注意,如果NTP的传输速率等于或大于到NTP的网络流控制器接口的传输速率,则传播计时器在NDC中无作用,并且无需包括在内。如果收到的包不是定时包(610),则将收到的包存储在队列中,或在队列满时丢弃它(660)。
图6C示出在图5和图6A-6B所示示例中从队列拉出包并传输包的过程。在与图6A和图6B的过程并行运行的图6C的过程中,检查传输队列以确定它是否为空(645)。如果它不为空,则NDC确定队列中的顶部包是否为定时敏感包(647)。如果顶部包为定时敏感包,则经NTP传输该顶部包(655)。如果顶部包不是定时敏感包,则确定队列中的包是否可在下一预期的定时敏感包到达之前完全通过NTP传播而不使NTP的缓冲器溢出(650)。如果这样,则传输队列中的非定时敏感包(655),并再次检查传输队列以确定它是否为空(645)。如果确定队列中的包无法在下一预期的定时敏感包到达之前完全通过NTP传播而不使NTP的缓冲器溢出(650),则当时不传输包。
图6D示出在图4A-4C所示示例中的传播计时器的操作。在将包转发到NTP(680)时,如在图6C的步骤655中一样,将包中的比特数加到传播计时器的内容上(695)。在传播计时器的内容大于零(685)时,以与NTP最大传输速率相同的速率减小传播计时器(690)。传播计时器的内容表示当前在NTP中缓冲并通过NTP传播的数据量。传播计时器的内容在除以NTP的传输速率时表示所有数据将通过NTP传播的剩余时间。
为使网络延迟控制器有效地利用给定网络传输路径的可用带宽,重要的是NDC具有网络传输路径的最大吞吐容量的相当准确的估计。在NDC具有NTP中可用存储空间的相当准确的估计时,可获得传输效率的其它增强。然而,实际上,某条网络传输路径的最大传输速率和缓冲器容量可以是任意的,并且未预计用于将网络延迟控制器通用且广泛地部署到各种网络配置。
图7示出一种网络配置(700),该配置包括用于自动估计给定NTP的带宽和输入缓冲器大小的链路带宽分析器(LBA)。网络配置(700)包括耦合到第一NDC(710)的第一节点(705)和耦合到第二NDC(740)的第二节点(720)。如图7所示,第二NDC(740)包括LBA(742)。在分析NTP(760)期间,实际上阻止来自节点1和节点2(分别为705和720)的所有网络流量通过NTP(760)传播。LBA(742)开始的操作是以第二NDC(740)网络接口的最大传输速率将包序列通过NTP(760)传输到第一NDC(710)。图8示出第二NDC(740)传输的13个包的示例序列(800)。优选是为提高NTP(760)缓冲器估计的精度,传输的包小,并且大小相等。优选是包序列足够大,以确保在NTP(760)的传输速率低于NDC(740)的传输速率时,与NTP(760)相关联的所有缓冲器将溢出。每个传输的包包括一个序号,该序号表示每个特殊的包在第二NDC(740)发送的一系列包内的位置。LBA(712)检查从第二NDC(740)接收的每个包的序号。如果对于所有传输的包均未发现缺失的序号,则NTP(760)的带宽假设为能够支持第二NDC(740)网络接口的最大传输速率。如果LBA(712)检测到收到的序列有缺失,则假设NTP(760)的最大传输速率小于第二NDC(740)网络接口的最大传输速率。在图8中,具有序号5(820)、8(830)和11(840)的包呈阴影示出,以表示第一NDC(710)未收到它们。在发现缺失的序号时,第一NDC的LBA(712)检测在发现序号缺失之前收到的包的数量,在包序列(800)中指定为NR。如图8所示,第二NDC(740)传输的包的总数量减去发现序号缺失之前收到的包的数量指定为NT。通过将NT除以子集NT内成功传输到远端的包的数量(即NT减去缺失的包的数量NM),第一NDC(710)的LBA(712)得到第二NDC(740)最大传输速率RNDC与NTP(760)的最大传输速率RNTP相比的近似比率PR,因此,PR=NT/(NT-NM)。在图8所示示例中,NT=9,其中,3个包未到达远端(即,NM=3),因此,PR=9/(9-3)=1.5。也说是说,NDC的最大传输速率为NTP的最大传输速率的1.5倍,即,这使得对于NDC传输到NTP的每三个包,在填充NTP输入缓冲器并且丢弃该系列的第一个包之后,NTP只能够传输两个包。比率PR用于在NTP(760)具有相对较低的最大传输速率的情况下在NDC中进行速率限制,并用于估计转发到NTP(760)的包的传播时间。
NTP(760)的近似输入缓冲器大小等于NR-(NR/PR)乘以传输的序列的平均包大小。通过将近似缓冲器大小设为等于在如第一缺失包所示缓冲器变满之前发送到NTP中的数据量(即,NR乘以传输的序列的平均包大小)减去在填充缓冲器的TR期间通过NTP传输的数据量(即,TR乘以NTP的最大传输速率RNTP),可导出此等式。这产生了等式Bsize=NR*AVG SIZE-TR*RNTP。通过将包的数量NR乘以平均包大小以获得在填充缓冲器期间NDC发送到NTP中的近似数据量,并将结果除以NDC的最大传输速率,可求出期间TR,即TR=NR*AVGSIZE/RNDC。还可将诸如包间延迟的其它网络参数的公差考虑在内。将求TR的后一等式代入上述求缓冲器大小的等式中产生Bsize=NR*AVG SIZE-(NR*AVG SIZE/RNDC)*RNTP,通过用PR替代RNTP/RNDC,这变为Bsize=NR*AVG SIZE-(NR*AVG SIZE)/PR,从而简化为Bsize=[NR-(NR/PR)]*AVG SIZE。对于图8所示的示例包序列,NR等于4,比率PR等于1.5,并且NTP(750)的近似输入缓冲器大小等于1.333乘以传输的序列的平均包大小。将估计的比率PR和估计的缓冲器大小提供到第二NDC(740)。因此,考虑到链路带宽分析器的结果,NDC提供有估计的网络参数,这些参数可用于诸如速率限制类方法的网络延迟控制方法(如图1-2C中所示的那些方法,是举例而并非限制)或NTP缓冲器管理类方法(如图3-4C中所示的那些方法,是举例而并非限制)。
通过包间隔协议(PIP)提供指定定时敏感包的通用且动态的方法。使用PIP时,在部署包含网络延迟控制的网络之前,指定的定时敏感包无需是定期的,也无需定义。图9示出PIP数据包的示例格式。图9所示的PIP包格式(900)包括地址信息字段(902),该字段可包括关于数据包的目的地和起源的标识数据。还包括在PIP包格式(900)中的有用于区分PIP包和其它包的PIP类型字段(904)。PIP标识符字段(906)用于区分与特殊功能或应用相关联的PIP包和其它PIP包。包括在PIP包格式(900)中的优先级字段(908)用于按优先级排列各种PIP包的网络延迟控制。包间隔字段(910)表示将传输具有相同PIP标识符的另一PIP包的时间期间。包的数据或有效负荷可包括在数据字段(912)中。在操作中,一般将管理这些PIP字段,使得例如与一个应用的包相关联的PIP标识符的赋值不会和与同一网络上另一应用相关联的包的PIP标识符一致。优选是在PIP中规定最小间隔,使得指定的定时敏感包不可能消耗给定网络路径太大百分比的可用带宽。
各种要素和实施例可组合在一起并且并入网络流控制器(如交换机、集线器、路由器和网关),以提供适合仲裁和通用网络应用的NDC网络。通常,NDC操作以确保在检测到第一指定的定时敏感包之后,外来的网络流量实际上将不会延迟随后的指定的定时敏感包,可另外存储它们并通过端口或网络传输路径传播。因此,NDC提供较短的时间期间,定时敏感包可通过该期间传播而无阻碍并具有最小且可预测的传播延迟。使用NDC时,即使外来的网络流量从NDC与网络传输路径传输容量的串联组合的0%变化到100%时,定时敏感包通过网络传输路径的测量平均延迟和测量平均抖动实际上是不变的。
本文公开了检测并预计定时敏感包并因此通过使用计时器控制到NTP的包流。可调节来自网络流控制器的包输出,并在预期下一指定的定时敏感包时停止。例如,正常模式计时器可设为稍迟于下一指定的定时敏感包的预期到达时间终止,或者可结合诸如安静计时器的另一计时器使用。在一些实施例中,在使用的正常模式计时器或安静计时器终止之前,相对于计时器的状态、要传输的包的大小和估计的包传播时间,评估要传输的、不是指定的定时敏感包的所有包。此外,基于速率限制的NDC可采用缓冲器利用率估计以提高对应的NTP的效率或吞吐量。
虽然为清楚地理解而相当详细地描述了上述实施例,但本发明并不限于提供的细节。实施本发明有许多替代方式。公开的实施例是用于说明而不是限制。在不脱离随附权利要求书中限定的本发明范围的情况下,本领域的技术人员会想到许多变化、修改和替代方式。

Claims (48)

1.一种控制网络流量的方法,包括:
监控要经网络传输路径传输的多个包;
预计定时敏感包将变得可用于经所述网络传输路径传输的时间;以及
根据所预计的时间控制所述多个包,使得在与所预计的时间相关联的时间所述网络传输路径将不会被除所述定时敏感包外的包占用;
控制到所述网络传输路径的包流包括经所述网络传输路径发送多个测试包。
2.如权利要求1所述的控制网络流量的方法,还包括根据所述网络传输路径的最佳数据速率,对所述要传输的多个包进行速率限制。
3.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包包括定时包。
4.如权利要求1所述的控制网络流量的方法,其中所述与所预计的时间相关联的时间包括基于所预计的时间确定的时间窗口。
5.如权利要求4所述的控制网络流量的方法,还包括在所述定时敏感包未在所预计的时间到达的情况下延伸所述时间窗口。
6.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括在所预计的时间之前清空与所述网络传输路径相关联的存储器。
7.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括在所预计的时间之前清空与所述网络传输路径相关联的存储器,使得经所述网络传输路径传输特定类型的包而不缓冲。
8.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括在与所预计的时间相关联的时间窗口期间,禁止传输除所述定时敏感包外的包。
9.如权利要求8所述的控制网络流量的方法,其中所述时间窗口与计时器相关联。
10.如权利要求8所述的控制网络流量的方法,其中所述时间窗口的开始与设置计时器相关联。
11.如权利要求8所述的控制网络流量的方法,其中所述时间窗口的结束与计时器的终止相关联。
12.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括在存储器中存储除所述定时敏感包外的包。
13.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括确定所述网络传输路径的带宽。
14.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括确定所述网络传输路径的带宽,并调节到所述网络传输路径的数据发送以避免显著超过所述网络传输路径带宽。
15.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括估计与所述网络传输路径相关联的最大数据传输速率。
16.如权利要求15所述的控制网络流量的方法,其中估计与所述网络传输路径相关联的最大数据传输速率包括:
以已知速率将一系列测试包从发送节点发送到所述网络传输路径以经所述网络传输路径传输到接收节点;
确定包括所述一系列测试包的包中到达所述接收节点的包的数量;以及
至少部分基于与存在的、未到达所述接收节点的包相关联的数据,估计所述与所述网络传输路径相关联的最大数据传输速率。
17.如权利要求16所述的控制网络流量的方法,其中至少部分基于与存在的、未到达所述接收节点的包相关联的数据估计所述与所述网络传输路径相关联的最大数据传输速率包括至少部分基于未到达的包的数量,估计所述与所述网络传输路径相关联的最大数据传输速率。
18.如权利要求16所述的控制网络流量的方法,其中至少部分基于与存在的、未到达所述接收节点的包相关联的数据估计所述与所述网络传输路径相关联的最大数据传输速率包括至少部分基于与未到达的包相关联的标识符,估计所述与所述网络传输路径相关联的最大数据传输速率。
19.如权利要求16所述的控制网络流量的方法,其中至少部分基于与存在的、未到达所述接收节点的包相关联的数据估计所述与所述网络传输路径相关联的最大数据传输速率包括:
识别在所述接收节点接收时所述系列中的第一缺失包;
确定包括所述第一缺失包和所述系列中按顺序在所述第一缺失包之后的包的子集中包的数量;以及
比较所述子集中包的总数量与所述子集中到达所述接收节点的包的数量。
20.如权利要求19所述的控制网络流量的方法,其中至少部分基于与存在的、未到达所述接收节点的包相关联的数据估计所述与所述网络传输路径相关联的最大数据传输速率还包括将所述子集中到达所述接收节点的包的数量除以所述子集中包的总数量,并将结果乘以所述已知速率。
21.如权利要求16所述的控制网络流量的方法,其中所述已知速率包括与所述发送节点相关联的最大数据传输速率。
22.如权利要求16所述的控制网络流量的方法,其中确定所述与所述网络传输路径相关联的最大数据传输速率等于或超过所述已知速率。
23.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括确定与所述网络传输路径相关联的缓冲器的缓冲器大小。
24.如权利要求23所述的控制网络流量的方法,其中确定缓冲器大小包括:
以已知速率将一系列测试包从发送节点发送到所述网络传输路径以经所述网络传输路径传输到接收节点;
确定是否包括所述一系列测试包的所有包均到达所述接收节点;以及
如果确定并非包括所述系列的所有包到达所述接收节点,则:
识别所述系列中未到达的第一缺失包;
确定所述系列中在所述第一缺失包之前的包的数量;以及
至少部分基于所述系列中在所述第一缺失包之前的包的数量,估计所述缓冲器大小。
25.如权利要求24所述的控制网络流量的方法,其中估计所述缓冲器大小还包括至少部分基于与所述网络传输路径相关联的最大数据传输速率,估计所述缓冲器大小。
26.如权利要求24所述的控制网络流量的方法,其中估计所述缓冲器大小还包括至少部分基于与所述系列相关联的平均包大小,估计所述缓冲器大小。
27.如权利要求24所述的控制网络流量的方法,其中至少部分基于所述系列中在所述第一缺失包之前的包的数量估计所述缓冲器大小包括从与所述系列中在所述第一缺失包之前的包相关联的数据量减去在发送所述系列中在所述第一缺失包之前的包期间所述网络传输路径传输到所述接收节点的近似数据量。
28.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括确定与所述网络传输路径相关联的缓冲器的缓冲器大小,并至少部分基于所述缓冲器大小设置时间窗口。
29.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括确定与所述网络传输路径相关联的缓冲器的缓冲器大小,并基于进入的包的长度和当前在所述缓冲器中的数据量动态调整时间窗口。
30.如权利要求1所述的控制网络流量的方法,其中控制到所述网络传输路径的包流包括持续估计在任何给定时间占用所述网络传输路径的数据量。
31.如权利要求30所述的控制网络流量的方法,其中持续估计在任何给定时间占用所述网络传输路径的数据量包括每次将包发送到所述网络传输路径时增大传播计时器,并基于与所述网络传输路径相关联的数据传输速率,随时间减小所述传播计时器。
32.如权利要求30所述的控制网络流量的方法,其中控制到所述网络传输路径的包流还包括在将非定时敏感包加到占用所述网络传输路径的数据上会导致超过和与所述网络传输路径相关联的缓冲器相关联的缓冲器大小的容量时,阻止发送所述非定时敏感包。
33.如权利要求32所述的控制网络流量的方法,其中控制到所述网络传输路径的包流还包括在将非定时敏感包加到占用所述网络传输路径的数据上会导致所述网络传输路径不可用于在与所预计的时间相关联的时间以实际上最小的延迟传输所述定时敏感包时,阻止发送所述非定时敏感包。
34.如权利要求30所述的控制网络流量的方法,其中控制到所述网络传输路径的包流还包括在将非定时敏感包加到占用所述网络传输路径的数据上会导致所述网络传输路径不可用于在与所预计的时间相关联的时间以实际上最小的延迟传输所述定时敏感包时,阻止发送所述非定时敏感包。
35.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包包括表示下一定时敏感包将变得可用的时间的字段。
36.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包包括用于区分所述定时敏感包和非定时敏感包的字段。
37.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包与特殊功能相关联,并包括用于区分所述定时敏感包和不与所述功能相关联的定时敏感包的字段。
38.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包包括表示与所述定时敏感包相关联的优先级的字段。
39.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包包括同步信息。
40.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包包括用于对接收节点进行频率锁定的频率信息。
41.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包包括无线协议包。
42.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包包括话音数据。
43.如权利要求1所述的控制网络流量的方法,其中所述定时敏感包包括流式视频数据。
44.一种用于控制网络流量的系统,包括:
用于经网络传输路径传输多个包的接口;以及
耦合到所述接口的网络延迟控制器,配置为:
监控要经网络传输路径传输的多个包;
预计定时敏感包将变得可用于经所述网络传输路径传输的时间;以及
根据所预计的时间控制到所述网络传输路径的包流,使得在与所预计的时间相关联的时间所述网络传输路径将不会被除所述定时敏感包外的包占用;
控制到所述网络传输路径的包流包括经所述网络传输路径发送多个测试包。
45.一种估计与网络传输路径相关联的最大数据传输速率的方法,包括:
以已知速率将一系列测试包从发送节点发送到所述网络传输路径以经所述网络传输路径传输到接收节点;
确定是否包括所述一系列测试包的所有包均到达所述接收节点;以及
至少部分基于与存在的、未到达所述接收节点的包相关联的数据,估计所述与所述网络传输路径相关联的最大数据传输速率。
46.一种用于估计与网络传输路径相关联的最大数据传输速率的系统,包括:
发送接口,配置为以已知速率将一系列测试包从发送节点发送到所述网络传输路径以经所述网络传输路径传输到接收节点;以及
处理器,配置为确定是否包括所述一系列测试包的所有包均到达所述接收节点,并至少部分基于与存在的、未到达所述接收节点的包相关联的数据,估计所述与所述网络传输路径相关联的最大数据传输速率。
47.一种估计和与网络传输路径相关联的缓冲器相关联的缓冲器大小的方法,包括:
以已知速率将一系列测试包从发送节点发送到所述网络传输路径以经所述网络传输路径传输到接收节点;
确定是否包括所述一系列测试包的所有包均到达所述接收节点;以及
如果确定并非包括所述系列的所有包到达所述接收节点,则:
识别所述系列中未到达的第一缺失包;
确定所述系列中在所述第一缺失包之前的包的数量;以及
至少部分基于所述系列中在所述第一缺失包之前的包的数量,估计所述缓冲器大小。
48.一种用于估计和与网络传输路径相关联的缓冲器相关联的缓冲器大小的系统,包括:
发送接口,配置为以已知速率将一系列测试包从发送节点发送到所述网络传输路径以经所述网络传输路径传输到接收节点;以及
处理器,配置为确定是否包括所述一系列测试包的所有包均到达所述接收节点,并在确定并非包括所述系列的所有包到达所述接收节点的情况下:
识别所述系列中未到达的第一缺失包;
确定所述系列中在所述第一缺失包之前的包的数量;以及
至少部分基于所述系列中在所述第一缺失包之前的包的数量,估计所述缓冲器大小。
CN2005800189120A 2004-04-13 2005-04-12 网络延迟控制 Expired - Fee Related CN101427516B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US56211104P 2004-04-13 2004-04-13
US60/562,111 2004-04-13
US11/054,345 2005-02-08
US11/054,345 US7499402B2 (en) 2004-04-13 2005-02-08 Network delay control
PCT/US2005/012487 WO2005101744A2 (en) 2004-04-13 2005-04-12 Network delay control

Publications (2)

Publication Number Publication Date
CN101427516A CN101427516A (zh) 2009-05-06
CN101427516B true CN101427516B (zh) 2010-12-15

Family

ID=35060422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800189120A Expired - Fee Related CN101427516B (zh) 2004-04-13 2005-04-12 网络延迟控制

Country Status (7)

Country Link
US (1) US7499402B2 (zh)
EP (1) EP1735953B1 (zh)
KR (1) KR101071898B1 (zh)
CN (1) CN101427516B (zh)
HK (1) HK1132394A1 (zh)
TW (1) TWI388156B (zh)
WO (1) WO2005101744A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106230661A (zh) * 2016-08-01 2016-12-14 北京大学 网络数据延迟控制方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509465B1 (en) * 2004-06-25 2009-03-24 Emc Corporation System and method for managing memory or session resources used for movement of data being copied in a data storage environment
US7929442B2 (en) * 2004-06-30 2011-04-19 Intel Corporation Method, system, and program for managing congestion in a network controller
DE602004004390T2 (de) * 2004-07-23 2007-05-24 Siemens Ag Verfahren zur Übertragung von Datenpaketen zwischen Knoten in einem Kommunikationsnetz
EP1875689B1 (fr) * 2005-04-28 2014-11-26 Orange Procede de routage, station emettrice-receptrice et programme d'ordinateur pour la mise en uvre du procede
US7778169B2 (en) * 2005-09-02 2010-08-17 Cisco Technology, Inc. Packetizing media for a time slotted communication system
US9002258B2 (en) 2006-01-18 2015-04-07 Dongju Chung Adaptable audio instruction system and method
US20070201365A1 (en) * 2006-01-23 2007-08-30 Frederick Skoog Video packet multiplexer with intelligent packet discard
US7876696B2 (en) * 2006-01-27 2011-01-25 Texas Instruments Incorporated Adaptive upstream bandwidth estimation and shaping
US7796999B1 (en) 2006-04-03 2010-09-14 Sprint Spectrum L.P. Method and system for network-directed media buffer-size setting based on device features
US20080086516A1 (en) * 2006-10-04 2008-04-10 Oracle International Automatically changing a database system's redo transport mode to dynamically adapt to changing workload and network conditions
TW200924438A (en) * 2007-11-21 2009-06-01 Ralink Technology Corp Apparatus of transmitting packets of wireless local network and method for using the same
US9013999B1 (en) * 2008-01-02 2015-04-21 Marvell International Ltd. Method and apparatus for egress jitter pacer
US8130752B2 (en) 2008-06-13 2012-03-06 Telco Acquisition I, Inc. Real-time network measurement
US8165011B2 (en) * 2008-06-13 2012-04-24 Telco Acquisition I, Inc. Real-time network measurement
US7876791B2 (en) 2008-07-24 2011-01-25 Samsung Electronics Co., Ltd. Synchronizing apparatus and method in packet network
US8154996B2 (en) * 2008-09-11 2012-04-10 Juniper Networks, Inc. Methods and apparatus for flow control associated with multi-staged queues
US8213308B2 (en) * 2008-09-11 2012-07-03 Juniper Networks, Inc. Methods and apparatus for defining a flow control signal related to a transmit queue
US8325749B2 (en) * 2008-12-24 2012-12-04 Juniper Networks, Inc. Methods and apparatus for transmission of groups of cells via a switch fabric
TWI395487B (zh) * 2008-10-02 2013-05-01 Ind Tech Res Inst 應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品
US8615201B1 (en) * 2008-10-13 2013-12-24 Altera Corporation System for communications link components
US8254255B2 (en) * 2008-12-29 2012-08-28 Juniper Networks, Inc. Flow-control in a switch fabric
US20100265833A1 (en) * 2009-04-16 2010-10-21 Ou Frank Y Network bandwidth determination
KR20110001464A (ko) * 2009-06-30 2011-01-06 주식회사 포스코아이씨티 신호들의 합성을 위한 신호 처리 방법 및 장치
US9264321B2 (en) 2009-12-23 2016-02-16 Juniper Networks, Inc. Methods and apparatus for tracking data flow based on flow state values
US9602439B2 (en) 2010-04-30 2017-03-21 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US9065773B2 (en) 2010-06-22 2015-06-23 Juniper Networks, Inc. Methods and apparatus for virtual channel flow control associated with a switch fabric
US8553710B1 (en) 2010-08-18 2013-10-08 Juniper Networks, Inc. Fibre channel credit-based link flow control overlay onto fibre channel over ethernet
CN102420738B (zh) * 2010-09-27 2014-08-20 国基电子(上海)有限公司 电缆调制解调器及其设置优先级的方法
US9660940B2 (en) 2010-12-01 2017-05-23 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US8792499B2 (en) * 2011-01-05 2014-07-29 Alcatel Lucent Apparatus and method for scheduling on an optical ring network
US9032089B2 (en) 2011-03-09 2015-05-12 Juniper Networks, Inc. Methods and apparatus for path selection within a network based on flow duration
US8811183B1 (en) 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US9584385B2 (en) * 2012-01-19 2017-02-28 Comcast Cable Communications, Llc Adaptive buffer control
EP3148150B1 (en) * 2014-06-25 2018-03-21 Huawei Technologies Co., Ltd. Method and device for determining transmission buffer size
US10069748B2 (en) 2015-12-14 2018-09-04 Mellanox Technologies Tlv Ltd. Congestion estimation for multi-priority traffic
CN105828018B (zh) * 2015-12-21 2019-02-22 广东亿迅科技有限公司 用于视频会议的传输方法
US10069701B2 (en) 2016-01-13 2018-09-04 Mellanox Technologies Tlv Ltd. Flexible allocation of packet buffers
US10721178B2 (en) * 2016-01-22 2020-07-21 Medtronic, Inc. Systems, apparatus and methods facilitating data buffering and removal
US10250530B2 (en) 2016-03-08 2019-04-02 Mellanox Technologies Tlv Ltd. Flexible buffer allocation in a network switch
US10084716B2 (en) 2016-03-20 2018-09-25 Mellanox Technologies Tlv Ltd. Flexible application of congestion control measures
US10205683B2 (en) * 2016-03-28 2019-02-12 Mellanox Technologies Tlv Ltd. Optimizing buffer allocation for network flow control
US10387074B2 (en) 2016-05-23 2019-08-20 Mellanox Technologies Tlv Ltd. Efficient use of buffer space in a network switch
US9985910B2 (en) 2016-06-28 2018-05-29 Mellanox Technologies Tlv Ltd. Adaptive flow prioritization
US10389646B2 (en) 2017-02-15 2019-08-20 Mellanox Technologies Tlv Ltd. Evading congestion spreading for victim flows
US10645033B2 (en) 2017-03-27 2020-05-05 Mellanox Technologies Tlv Ltd. Buffer optimization in modular switches
CN110024339B (zh) * 2017-11-06 2020-10-09 华为技术有限公司 报文转发方法、转发设备和网络设备
US10602139B2 (en) * 2017-12-27 2020-03-24 Omnivision Technologies, Inc. Embedded multimedia systems with adaptive rate control for power efficient video streaming
WO2019231453A1 (en) * 2018-05-31 2019-12-05 Hewlett-Packard Development Company, L.P. Packets transmissions based on priority levels
US10609722B2 (en) * 2018-06-28 2020-03-31 Intel IP Corporation Techniques for scheduling communication based on receive data capacity
US11005770B2 (en) 2019-06-16 2021-05-11 Mellanox Technologies Tlv Ltd. Listing congestion notification packet generation by switch
US10999221B2 (en) 2019-07-02 2021-05-04 Mellanox Technologies Tlv Ltd. Transaction based scheduling
CN114830611A (zh) * 2019-10-15 2022-07-29 汉阳大学校Erica产学协力团 集中式网络配置实体及包括该实体的时间敏感网络控制系统
US11470010B2 (en) 2020-02-06 2022-10-11 Mellanox Technologies, Ltd. Head-of-queue blocking for multiple lossless queues
US11894948B2 (en) * 2020-04-02 2024-02-06 PrimeWan Limited Method of forming a virtual network
CN111800347B (zh) * 2020-09-09 2020-12-18 北京东方通科技股份有限公司 一种基于时间敏感网络的数据调度方法
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6097697A (en) * 1998-07-17 2000-08-01 Sitara Networks, Inc. Congestion control
US6188698B1 (en) * 1997-12-31 2001-02-13 Cisco Technology, Inc. Multiple-criteria queueing and transmission scheduling system for multimedia networks
US20030189943A1 (en) * 2002-04-08 2003-10-09 International Business Machines Corporation Priority based bandwidth allocation within real-time and non-real-time traffic streams
US7225271B1 (en) * 2001-06-29 2007-05-29 Cisco Technology, Inc. System and method for recognizing application-specific flows and assigning them to queues

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389010B1 (en) * 1995-10-05 2002-05-14 Intermec Ip Corp. Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones
US6529475B1 (en) * 1998-12-16 2003-03-04 Nortel Networks Limited Monitor for the control of multimedia services in networks
US6570849B1 (en) * 1999-10-15 2003-05-27 Tropic Networks Inc. TDM-quality voice over packet
US6654376B1 (en) * 1999-12-28 2003-11-25 Nortel Networks Limited ATM packet scheduler
US6707821B1 (en) * 2000-07-11 2004-03-16 Cisco Technology, Inc. Time-sensitive-packet jitter and latency minimization on a shared data link
US6917589B2 (en) * 2001-01-25 2005-07-12 Agere Systems Inc. Automatic quality of service assignment in ethernet switches
US7025985B2 (en) * 2001-05-28 2006-04-11 Kanebo, Ltd. Dihydroxyphenyl compounds and glucoside compounds thereof
GB2385684A (en) * 2002-02-22 2003-08-27 Sony Uk Ltd Frequency synchronisation of clocks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6188698B1 (en) * 1997-12-31 2001-02-13 Cisco Technology, Inc. Multiple-criteria queueing and transmission scheduling system for multimedia networks
US6097697A (en) * 1998-07-17 2000-08-01 Sitara Networks, Inc. Congestion control
US7225271B1 (en) * 2001-06-29 2007-05-29 Cisco Technology, Inc. System and method for recognizing application-specific flows and assigning them to queues
US20030189943A1 (en) * 2002-04-08 2003-10-09 International Business Machines Corporation Priority based bandwidth allocation within real-time and non-real-time traffic streams

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chipalkatti R,Jurose J.F.scheduling policies for real-time and non-real-time traffic in a statistic multiplexer.INFOCOM"89.1989,3774-783. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106230661A (zh) * 2016-08-01 2016-12-14 北京大学 网络数据延迟控制方法
CN106230661B (zh) * 2016-08-01 2019-05-14 北京大学 网络数据延迟控制方法

Also Published As

Publication number Publication date
US7499402B2 (en) 2009-03-03
WO2005101744A2 (en) 2005-10-27
TWI388156B (zh) 2013-03-01
US20050226156A1 (en) 2005-10-13
TW200534636A (en) 2005-10-16
EP1735953A2 (en) 2006-12-27
EP1735953A4 (en) 2013-03-20
HK1132394A1 (en) 2010-02-19
CN101427516A (zh) 2009-05-06
WO2005101744A3 (en) 2009-04-09
KR101071898B1 (ko) 2011-10-11
EP1735953B1 (en) 2014-06-11
KR20070048648A (ko) 2007-05-09

Similar Documents

Publication Publication Date Title
CN101427516B (zh) 网络延迟控制
KR101977523B1 (ko) 네트워크에 있어서의 데이터 프레임의 트래픽 쉐이핑의 방법 및 그 디바이스 및 컴퓨터 프로그램
Laursen et al. Routing optimization of AVB streams in TSN networks
US10447583B2 (en) Packet processing technique for a communication network
WO2019157867A1 (zh) 一种分组网络中控制流量的方法及装置
JP4446356B2 (ja) レート・シェーパ・アルゴリズム
EP2090003B1 (en) Apparatus and method of controlled delay packet forwarding
EP2050199B1 (en) Expedited communication traffic handling apparatus and methods
US20030174700A1 (en) Window flow control with common time reference
EP4030646B1 (en) Packet forwarding method, device and system
US7529247B2 (en) Empirical scheduling of network packets
CN108353036B (zh) 用于通信网络的分组处理技术
EP3032785B1 (en) Transport method in a communication network
EP2302847B1 (en) Control of traffic flows with different CoS in a communication network
Baldi et al. Time-driven priority router implementation: Analysis and experiments
CN115883483A (zh) 一种时间敏感业务缓存队列的调度系统和方法
Albanese et al. Big file protocol (BFP): A traffic shaping approach for efficient transport of large files
Xie et al. Insertion Based Packets Scheduling for providing QoS guarantee in switch systems
Zhang Quality of service mechanisms in optical burst-switched networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BROADCOM CORP.

Free format text: FORMER OWNER: RADIO FRAME INTERNET CO.,LTD.

Effective date: 20091120

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20091120

Address after: California, USA

Applicant after: BROADCOM Corp.

Address before: Washington State

Applicant before: RADIOFRAME NETWORKS, Inc.

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1132394

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1132394

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20180508

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: California, USA

Patentee before: BROADCOM Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190828

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Singapore Singapore

Patentee before: Avago Technologies General IP (Singapore) Pte. Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101215