CN102113276B - 控制经由数据通信链路的数据流的方法和装置 - Google Patents
控制经由数据通信链路的数据流的方法和装置 Download PDFInfo
- Publication number
- CN102113276B CN102113276B CN200980129859.XA CN200980129859A CN102113276B CN 102113276 B CN102113276 B CN 102113276B CN 200980129859 A CN200980129859 A CN 200980129859A CN 102113276 B CN102113276 B CN 102113276B
- Authority
- CN
- China
- Prior art keywords
- communication
- grouping
- flow control
- control
- receiver
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
- H04L47/323—Discarding or blocking control packets, e.g. ACK packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
控制经由数据通信链路的数据流,该链路根据一数据通信协议操作,在该数据通信协议中,该链路上的数据通信的接收器可在由该接收器所确定的时间周期暂停该链路上的数据通信,包括:为该发送器指定流量控制周期的持续时间;为该发送器指定在流量控制周期期间待从该发送器传输至该接收器的破坏通信控制分组的数目;由该发送器确定在流量控制周期期间是否从该接收器接收到流量控制消息;取决于在流量控制周期期间是否从该接收器接收到流量控制消息而更改破坏通信控制分组的数目;以及在后续流量控制周期期间在正常数据通信间将该经更改数目的破坏通信控制分组从该发送器传输至该接收器。
Description
技术领域
本发明的技术领域是数据处理,或更具体地,是用于控制经由数据通信链路的数据流的方法、装置及产品。
背景技术
常将1948年对EDVAC计算机***的开发引证为计算机时代的开端。从那时起,计算机***已演进成极其复杂的器件。现今的计算机比诸如EDVAC的早期***要先进得多。计算机***通常包括硬件与软件组件、应用程序、操作***、处理器、总线、存储器、输入/输出器件等的组合。随着半导体处理及计算机架构的进步促使计算机的效能越来越高,更加先进的计算机软件已演进以利用硬件的较高效能,从而产生现今的比仅仅几年前的计算机***要强大得多的计算机***。
已发现显著进步的领域之一为数据通信,但仍存在对该领域的改良的需要。包括IEEE802.lx协议的一些数据通信协议(例如)定义基本的流量控制机制。这通常基于“X-通(x-on)”及“X-断(x-off)”方案,其中如果接收器变得堵塞,则该接收器可将帧(流量控制消息)发送回至发源站,该流量控制消息在该流量控制消息中所定义的一时间周期切断所有通信。此方案的缺点为,在给定的数据通信链路上执行的所有会话被中断以提供流量控制。具有高延时要求及低延时要求两者的会话都被中断。流传输视频/音频信息的会话具有致命的中断的风险,从而有可能在视频/音频流中产生可视信息丢失(dropout)。此X-通/X-断技术确实减轻网络堵塞-但以中断链路上的所有通信会话而不管任何特定通信会话的特定数据通信要求或优先级的极高代价来进行。这意味着,网络必须经过过度设计以具有大量额外带宽从而确保流量控制尽可能不被频繁地调用。
发明内容
本说明书描述最小化数据通信流量控制事件但仍提供流量控制以保持网络平稳操作的方法、装置及产品。本说明书描述提供对高优先级会话的流量控制并且仍维持较低优先级通信会话的流的可选额外解决方案。更具体地,本说明书描述控制经由数据通信链路的数据流的方法、装置及计算机程序产品,其中该链路根据一数据通信协议操作,在该数据通信协议中,该链路上的数据通信的接收器在针对当前层级的数据通信检测到带宽不足后便可通过将流量控制消息发送至发送器而在由该接收器所确定的时间周期暂停该链路上的数据通信,该方法包括:为该发送器指定流量控制周期的持续时间;为该发送器指定在流量控制周期期间待从该发送器传输至该接收器的破坏通信控制分组的数目;由该发送器确定在流量控制周期期间是否从该接收器接收到流量控制消息;取决于在流量控制周期期间是否从该接收器接收到流量控制消息而更改破坏通信控制分组的数目;以及在后续流量控制周期期间在正常数据通信间将经更改数目的破坏通信控制分组从该发送器传输至该接收器。
附图说明
本发明的上述及其它特征及优点根据如所附附图中所说明的本发明的示例性实施例的以下更特定描述将显而易见,其中相似参考数字通常表示本发明的示例性实施例的相似部件。
图1阐述根据本发明的实施例的控制经由数据通信链路的数据流的***的网络图;
图2阐述说明根据本发明的实施例的控制经由数据通信链路的数据流的实例方法的流程图;
图3阐述说明根据本发明的实施例的控制经由数据通信链路的数据流的另一示例性方法的流程图;以及
图4阐述说明根据本发明的实施例的控制经由数据通信链路的数据流的另一示例性方法的流程图。
具体实施方式
参照所附的附图(以图1开始)描述根据本发明的用于控制经由数据通信链路的数据流的示例性方法、装置及产品。图1阐述根据本发明的实施例的用于控制经由数据通信链路的数据流的***的网络图。图1的***包括数据通信的发送器、数据通信的若干接收器(194),及两个数据通信网络(100、101),数据通信经由这两个数据通信网络从发送器(152)传输至所述接收器(194)中的一个或多个。将网络(100、101)表示为局域网(100)及广域网(101)。接收器(194)包括:个人计算机(108),其经由局域网(100)耦接至发送器(152)以用于数据通信;膝上型计算机(126),其也经由局域网(100)耦接至发送器(152)以用于数据通信;个人数字助理(112),其经由局域网(100)且也经由广域网(101)耦接至发送器(152)以用于数据通信;及服务器(106),其也经由局域网(100)以及广域网(101)耦接至发送器(152)以用于数据通信。
为容易解释,如下文更详细地描述,在此实例中将发送器(152)表示为自动化器件,其具有以操作方式耦接至计算机存储器(168)的计算机处理器(156),在该计算机存储器(168)中存储控制该发送器的操作的计算机程序指令。然而,读者应认识到,该发送器可事实上实施为能够进行数据通信的几乎任何自动化器件,包括(例如)个人计算机、膝上型计算机、移动电话、个人数字助理、移动因特网器件等,如本领域普通技术人员将想到的。
读者应认识到,图1的实例中的所有自动化器件都可发送及接收数据通信。然而,如本说明书中所使用的术语“发送器”及“接收器”指示通用角色而非关于特定数据通信消息的特定器件的特殊身份。这里使用的术语“发送器”为通常将消息信息发送至接收器的实体、计算机、另一自动化器件或通信适配器。这里使用的术语“接收器”为通常从发送器接收消息信息的实体、计算机、某一其它自动化器件,或通信适配器。因此,这是在此说明书中表征发送器及接收器的消息业务流的总方向,而非任何特定数据通信消息的方向。
在图1的实例中,发送器(152)经耦接以用于经由被称作“链路”的数据通信路径与接收器(194)进行数据通信,且发送器与接收器之间的这种数据通信根据操作所述链路的至少一数据通信协议(133)来进行。这种链路在图1的实例中由从发送器(152)至接收膝上型计算机(126)的经由局域网(100)的数据通信路径(140、142)、以及从发送器(152)至接收服务器(106)的经由局域网(100)及广域网(101)的数据通信路径(140、144、146)来表示。
为容易解释,仅用一数据通信协议(133)说明图1的实例,但本领域普通技术人员应认识到,这种数据通信将通常实施多个数据通信协议,其中所述协议组织于堆栈中,该堆栈具有形成该堆栈中的垂直连接的多个接口、硬件层、链路层、网络层、传输控制层等。在这种协议中,当(例如)数据正到达接收器比接收器可处理数据更快时-证明在通信的接收端上处理带宽不足,通常使接收器能够建议发送器暂停通信一时间周期。从发送器的观点而言,由接收器实行由接收器所确定的周期的这种通信暂停可呈现为通信灾难-发送器完全不能控制的大规模扰乱。
在本说明书中,术语“链路”指代任何数据通信路径或任何数据通信协议堆栈的任何层中支持流量控制的耦接,接收器通过该流量控制可在由接收器所确定的时间周期暂停来自发送器的通信。这种接收器可通过(例如)以下动作来检测带宽不足:维持存储传入消息的固定大小的接收队列(132),同时等待接收应用程序处理每一传入消息;追踪该队列的相对充满度;及将该队列的填充超过某一预定阈值解译为带宽不足。这种协议的实例包括以太网协议、802.lx协议及其类似者,所述协议中的每一个支持诸如“XOFF”消息类型或其类似者的消息类型,该消息类型可包括由接收器所确定的时间周期作为消息内容的一部分,在该时间周期期间,不准许发送器将消息业务发送至所述接收器。
根据本发明控制经由数据通信链路的数据流通常通过计算机(也即,通过自动化计算机器)来实施。举例而言,在图1的***中,发送器(152)、所有接收器(194)及两个网络(100、101)在某种程度上至少实施为计算机。因此,为了进一步解释,图1阐述自动化计算机器的方块图,该自动化计算机器包含在根据本发明的实施例控制经由数据通信链路的数据流过程中有用的示例性发送器(152)。图1的发送器(152)包括至少一个计算机处理器(156)或“CPU”以及随机存取存储器(168)(“RAM”),RAM(168)经由高速存储器总线(166)及总线适配器(158)连接至处理器(156)且连接至发送器(152)的其它组件。
应用程序(151)(进行用户层级数据处理且通过将消息发送至一个或多个接收器来利用数据通信的计算机程序指令模块)存储于RAM(168)中。操作***(154)也存储于RAM(168)中。对根据本发明的实施例控制经由数据通信链路的数据流有用的操作***包括UNIXTM、LinuxTM、Microsoft XPTM、AIXTM、IBM的i5/OSTM及本领域普通技术人员将想到的其它操作***。通信子***(126)(提供代表用以根据本发明的实施例控制经由数据通信链路的数据流的应用程序的服务的计算机程序指令模块)作为操作***的一部分也存储于RAM中。可经改良以根据本发明的实施例控制经由数据通信链路的数据流的通信子***的实例包括TCP/IP引擎、以太网络驱动程序、802.1lx驱动程序及其类似者。图1的实例中的应用程序(151)、操作***(154)及通信子***(126)展示于RAM(168)中,但这种软件的许多组件通常也存储于非易失性存储器中,诸如存储于磁盘驱动器(170)上或存储于闪存(134)中的固件(136)中。
图1的计算机(152)包括经由扩充总线(160)及总线适配器(158)耦接至处理器(156)且耦接至发送器(152)的其它组件的磁盘驱动器适配器(172)。磁盘驱动器适配器(172)将以磁盘驱动器(170)形式的非易失性数据存储装置连接至计算机(152)。在用于根据本发明的实施例控制经由数据通信链路的数据流的计算机中有用的磁盘驱动器适配器包括集成驱动电子(“IDE”)适配器、小计算机***接口(“SCSI”)适配器,及本领域普通技术人员将想到的其它适配器。非易失性计算机存储器也可实施为光盘驱动器、电可擦除可编程只读存储器(所谓的“EEPROM”或“闪速”存储器)、RAM驱动器等,如本领域普通技术人员将想到的。
图1的实例计算机(152)包括一个或多个输入/输出(“I/O”)适配器(178)。I/O适配器经由(例如)用于控制至显示器件(诸如,计算机显示屏幕)的输出以及来自用户输入器件(181)(诸如,键盘及鼠标)的用户输入的软件驱动器及计算机硬件来实施用户导向的输入/输出。图1的实例计算机(152)包括视频适配器(209),视频适配器(209)为专门设计用于至显示器件(180)(诸如,显示屏幕或计算机监视器)的图形输出的I/O适配器的实例。视频适配器(209)经由高速视频总线(164)、总线适配器(158)及也为高速总线的前端总线(162)而连接至处理器(156)。
图1的示例性计算机(152)包括用于与其它计算机(182)进行数据通信及用于与数据通信网络(100)进行数据通信的通信适配器(167)。可经由RS-232连接、经由诸如通用串行总线(“USB”)的外部总线、经由诸如IP数据通信网络的数据通信网络及以本领域普通技术人员将想到的其它方式来连续地进行这种数据通信。通信适配器实施硬件层级的数据通信,一计算机经由这种数据通信直接地或经由数据通信网络将数据通信发送至另一计算机。对根据本发明的实施例控制经由数据通信链路的数据流有用的通信适配器的实例包括用于有线拨号通信的调制解调器、用于有线数据通信网络通信的以太网络(IEEE802.3)适配器,及用于无线数据通信网络通信的802.11适配器。
在此实例中,发送器的通信适配器(102)自身为发送器的自动化子***,其包括计算机处理器(104)及经由存储器总线(167)连接至该处理器的计算机存储器(106)。通信程序(经改良以根据本发明的实施例控制经由数据通信链路的数据流的用于数据通信的计算机程序指令模块)(108)安置于通信适配器的计算机存储器内。实例通信适配器在其计算机存储器(106)中配置有支持根据本发明的实施例控制经由数据通信链路的数据流的以下参数:指定在流量控制周期期间传输的破坏分组(corrupt packet)的数目的参数(208)、指定流量控制周期的持续时间的参数(206)及指定流量控制周期的预定数目的参数(212)。通信适配器(102)、应用程序(151)及通信子***(154)一起操作发送器以如下控制经由数据通信链路的数据流:
发送器(152)具有用于流量控制周期的指定持续时间(206),且发送器具有对在每一流量控制周期期间待从发送器传输至接收器的破坏通信控制分组的数目的指定(208)。发送器(152)及接收器(194)都经由数据通信链路操作数据通信,这些数据通信链路中的每一个根据数据通信协议(133)操作,在该协议中,链路上的数据通信的接收器在针对当前层级的数据通信检测到带宽不足后便可通过将流量控制消息(135)发送至发送器而在由接收器所确定的时间周期暂停该链路上的数据通信。在这种通信中,发送器(152)确定在每一流量控制周期期间是否从接收器接收到暂停通信的这种流量控制消息(135)。发送器接着取决于在流量控制周期期间是否从接收器接收到流量控制消息而更改在流量控制周期期间待传输至接收器件(receiving)的破坏通信控制分组的数目。发送器接着在后续流量控制周期期间于正常数据通信(304)间将经更改数目的破坏通信控制分组(236)从发送器传输至接收器。
破坏通信控制分组(236)为满足以下的通信控制分组:有意使其破坏以便使接收器在接收到该分组后迅速舍弃该分组,而非以任何方式处理该分组。此分组在此上下文中被称作“控制”分组,因为其目的并非传递有效载荷数据,而是控制发送带宽同时对接收端上的处理带宽没有影响-因为接收端上的应用程序不会发现此分组;在通信协议堆栈中的低层级处舍弃这种破坏分组。这种破坏分组因此必须充分正常使得其成功地从发送器传输,但充分破坏以在其到达接收器时或之前被舍弃。这种破坏可以在诸如因特网协议的有损协议(lossy protocol)中来实施,例如,其中通过将如本领域普通技术人员将想到的有缺陷校验和、短存留时间、非支持版本号码等包括于该分组中而按惯例丢弃有缺陷分组。使用短留存时间可使破坏分组在其到达接收器的前被丢弃,但这种程序将仍具有减小发送带宽而不减小接收端上的处理带宽的有益效应。通过在正常通信间如此散布破坏通信控制分组,发送器有效地减小可用于正常传输的发送带宽,从而减缓正常通信的传输,给予接收端上的处理功能性进行接收的时间更新,使发送带宽与接收端上的处理带宽平衡,并且降低对来自发送端的数据通信的具有其严重扰乱的流量控制消息的风险。此方法接受正常发送带宽的一些减小,以便降低引起极度扰乱的流量控制消息的风险。
发送器(152)可通过在流量控制周期期间接收到流量控制消息的情况下递增破坏通信控制分组的数目及接着在后续流量控制周期期间传输经递增数目的破坏通信控制分组来更改破坏通信控制分组的数目(208)。发送器(152)可通过在流量控制周期期间未接收到流量控制消息的情况下递减破坏通信控制分组的数目及在后续流量控制周期期间传输经递减数目的破坏通信控制分组来更改破坏通信控制分组的数目(208)。发送器(152)可通过仅在预定数目的流量控制周期期间未接收到流量控制消息的情况下递减破坏通信控制分组的数目及在后续流量控制周期期间传输经递减数目的破坏通信控制分组来更改破坏通信控制分组的数目(208)。此外,正常数据通信(304)的特征可为通信优先级,发送器(152)可根据优先级将正常数据通信(304)排入(enqueue)至数据通信队列(110)中,仅将破坏分组(236)排入至低优先级队列中,并且仅传输来自该低优先级队列的经更改数目的破坏通信控制分组。
组成图1中所说明的实例***的发送器、接收器及网络的配置用于解释,而非用于限制本发明。对根据本发明的各种实施例控制经由数据通信链路的数据流有用的数据处理***可包括未展示于图1中的额外计算机、发送器、接收器、网络路由器、服务器、其它器件,客户端-服务器和端对端架构,如本领域普通技术人员将想到的。这种数据处理***中的网络可支持许多数据通信协议,包括(例如)TCP(传输控制协议)、IP(因特网协议)、HTTP(超文本传送协议)、WAP(无线存取协议)、HDTP(手持式器件传输协议),及本领域普通技术人员将想到的其它协议。除了图1中所说明的之外,可在各种硬件平台上实施本发明的各种实施例。
为了进一步解释,图2阐述说明根据本发明的实施例的控制经由数据通信链路的数据流的实例方法的流程图。在此实例中的链路根据数据通信协议操作,在该协议中,该链路上的数据通信的接收器(图1上的194)在针对当前层级的数据通信检测到带宽不足后便可通过将流量控制消息发送至发送器而在由接收器所确定的时间周期暂停该链路上的数据通信。本领域普通技术人员应认识到,术语“数据通信链路”通常用以指代ISO数据通信协议堆栈的链路层中的数据通信耦接。
然而,术语“数据通信链路”在本说明书中在稍广泛意义上使用以指代任何数据通信路径或任何数据通信协议堆栈的任何层中支持流量控制的耦接,接收器通过该流量控制可在由接收器所确定的时间周期暂停来自发送器的通信。此接收器可通过(例如)以下动作来检测带宽不足:维持存储传入消息的固定大小的接收队列,同时等待接收应用程序处理每一传入消息;追踪该队列的相对充满度;及将该队列的填充超过某一预定阈值解译为带宽不足。这种协议的实例包括以太网协议、802.lx协议及其类似者,所述协议中的每一个支持诸如“XOFF”消息类型或其类似者的消息类型,该消息类型可包括由接收器所确定的时间周期作为消息内容的一部分,在该时间周期期间,不准许发送器将消息业务发送至所述接收器。从发送器的观点而言,由接收器实行由接收器所确定的周期的这种通信暂停可呈现为通信灾难-发送器完全不能控制的扰乱。
如上文所提及,术语“发送器”及“接收器”指示通用角色而非关于特定消息的特定行动者(actor)的特殊身份。这里使用的术语“发送器”为通常将消息信息发送至接收器的实体、计算机、另一自动化器件或通信适配器。这里使用的术语“接收器”为通常从发送器接收消息信息的实体、计算机或通信适配器。也即,角色“发送器”及“接收器”为消息业务流方向的大致指示,使得(例如)将流量控制消息发送至“发送器”的可以是“接收器”-因为消息业务流的大致方向为从发送器至接收器。流量控制消息从接收器至发送器的传输为表征发送器及接收器的消息业务流的总方向的例外情况。
图2的方法包括为发送器指定(202)流量控制周期的持续时间(206)。指定持续时间可通过将持续时间指定为通信适配器的操作参数(诸如,在制造通信适配器时存储于非易失性存储器中的固件参数)来进行。或者,流量控制周期的持续时间可实施为在任何时间经由用户接口录入且存储于通信适配器中的固件中的用户定义的通信参数。流量控制周期的持续时间的指定也可以如本领域普通技术人员可想到的其它方式来实施,并且所有这些方式完全在本发明的范围内。流量控制周期的持续时间根据本发明的实施例为指定时间周期,在该指定时间周期期间检测到流量控制消息,并且根据本发明的实施例传输破坏通信控制分组。
图2的方法包括为发送器指定(204)在一个或多个流量控制周期期间待从发送器传输至接收器的破坏通信控制分组的数目(208)。在图2的方法中,破坏通信控制分组(236)包括满足以下的通信控制分组:有意使其破坏以便使接收器在接收到该分组后迅速丢弃该分组,而非以任何方式处理该分组。将数据通信传输至接收器的最终目的是为了待由接收器中、接收器上或与接收器相关联的应用程序处理的通信内容(消息内容)。正常通信分组从发送器以特定速率发送并且由接收端应用程序以特定速率消耗。如果接收端上的处理带宽小于发送带宽,则消息业务在接收队列中累积,并且接收器上的通信适配器最终发送流量控制消息,从而扰乱发送器的通信操作。发送破坏分组在不减小接收端上的处理带宽的情况下减小用于正常通信的发送带宽。破坏分组减小用于正常通信的正常发送带宽,因为所述破坏分组用无用的通信分组占用发送带宽的一部分。破坏分组对接收端上的处理带宽没有影响,因为检测所述破坏分组并将其丢弃是低层级处理(诸如,通信适配器或低层级协议引擎内的处理),从而绝不会将所述破坏分组呈现给接收端应用程序用于处理。
图2的方法包括由发送器确定(210)在流量控制周期期间是否从接收器接收到流量控制消息。根据本申请的实施例,流量控制消息可包括(例如)根据用于基于端口的网络存取控制的IEEE802.lx标准的XOFF分组。如上所述,从发送器的观点而言,接收这样流量控制消息扰乱数据通信。发送器可(例如)通过以下动作确定在流量控制周期期间是否接收到该流量控制消息:追踪流量控制周期的持续时间;对在该流量控制周期期间所接收的流量控制消息进行计数;在该流量控制周期末尾观测流量控制消息的计数是否大于零;并且如果该计数大于零,则将该计数重设成零以在下一流量控制周期期间使用。
图2的方法还包括:取决于在流量控制周期期间是否从接收器接收到流量控制消息而更改(220)破坏通信控制分组的数目;及在后续流量控制周期期间在正常数据通信间将经更改数目的破坏通信控制分组从发送器传输至接收器。在图2的方法中,更改破坏通信控制分组的数目包括在该流量控制周期期间接收到流量控制消息的情况下递增(226)破坏通信控制分组的数目,使得通过传输(232)经递增数目的破坏通信控制分组来执行传输(230)经更改数目的破坏通信控制分组。在图2的方法中,更改破坏通信控制分组的数目还包括在该流量控制周期期间未接收到流量控制消息的情况下递减(228)破坏通信控制分组的数目,使得接着通过传输(234)经递减数目的破坏通信控制分组来执行传输(230)经更改数目的破坏通信控制分组。本领域普通技术人员应认识到,待在流量控制周期期间传输的破坏通信分组的数目的这种更改实施封闭循环控制功能,该功能使用流量控制周期期间的一个或多个流量控制消息的接收作为负反馈来控制用于正常通信的发送带宽。如果未接收到流量控制消息,则通过发送较少破坏分组而使发送带宽变宽。如果接收到流量控制消息,则通过发送较多破坏分组而使发送带宽变窄。这种封闭循环控制有效地匹配用于正常通信的发送端带宽与接收端上的处理带宽。
为了进一步解释,图3阐述说明根据本发明的实施例的用于控制经由数据通信链路的数据流的另一示例性方法的流程图。图3的方法类似于图2的方法,其包括(实际上):为发送器指定(202)流量控制周期的持续时间(206);为发送器指定(204)在一个或多个流量控制周期期间待从发送器传输至接收器的破坏通信控制分组的数目(208);由发送器确定(210)在流量控制周期期间是否从接收器接收到流量控制消息;取决于在流量控制周期期间是否从接收器接收到流量控制消息而更改(220)破坏通信控制分组的数目;及在后续流量控制周期期间在正常数据通信间将经更改数目的破坏通信控制分组从发送器传输(230)至接收器,所有这些动作以与如上文关于图2的方法所描述的类似方式来操作。
然而,在图3的方法中,每当在流量控制周期期间未接收到流量控制消息时,不递减待在流量控制周期期间传输的破坏通信控制分组的数目。相反,图3的方法对流量控制周期的预定数目(212)操作,并且包括确定(218)在该预定数目的流量控制周期期间是否未接收到流量控制消息,仅在该预定数目的流量控制周期期间未接收到流量控制消息的情况下(222)递减(228)破坏通信控制分组的数目。在图3的方法中,如同图2的方法,在下一流量控制周期中传输(234)的是经递减数目的破坏分组。
在图3的方法中,如同图2的方法,每当在流量控制周期期间接收到(216)流量控制消息时,递增(226)待在流量控制周期期间传输的流量控制分组的数目。读者应认识到,从发送器的观点而言,表示实质通信扰乱的是流量控制消息的接收。因此,图3的方法在每当接收到流量控制消息时总是采取措施以降低接收到此流量控制消息的风险-通过减小用于正常消息业务的发送带宽,试图匹配接收端上的处理带宽及因此降低流量控制消息的风险。
另一方面,在一个或多个流量控制周期期间未接收到流量控制消息的事实可能仅仅意味着,发送带宽与接收器带宽已成功匹配,并且在此特定时刻无需对破坏分组的数目进行进一步调整来进一步调整带宽。为确认此情形,如果未接收到流量控制消息,则图3的方法随时间过去在预定数目(212)的流量控制周期内递减(228)破坏分组的数目,从而增加用于正常分组的发送带宽,直至最终接收到(216)另一流量控制分组并且通过递增(226)在流量控制周期期间传输的破坏分组的数目而再次减小用于正常业务的带宽。本领域普通技术人员应认识到,将对在递减破坏分组的数目之前的无流量控制消息的多个流量控制周期的要求作为惯性***包括到封闭循环控制(事实上,循环增益的方向性减小)中,使得该循环仍快速响应流量控制消息的接收,但较慢响应流量控制消息的缺乏。在将流量控制周期的预定数目设定成1的普通状况下,图3的方法完全如同图2的方法来运作。对于流量控制周期的任何预定数目(212)大于1而言,图3的方法的循环增益如上所述减小。
为了进一步解释,图4阐述说明根据本发明的实施例的用于控制经由数据通信链路的数据流的另一示例性方法的流程图。图4的方法类似于图2的方法,其包括(实际上):为发送器指定(202)流量控制周期的持续时间(206);为发送器指定(204)在一个或多个流量控制周期期间待从发送器传输至接收器的破坏通信控制分组的数目(208);由发送器确定(210)在流量控制周期期间是否从接收器接收到流量控制消息;取决于在流量控制周期期间是否从接收器接收到流量控制消息而更改(220)破坏通信控制分组的数目;及在后续流量控制周期期间在正常数据通信间将经更改数目的破坏通信控制分组从发送器传输(230)至接收器,所有这些动作以与如上文关于图2所描述的类似方式来操作。
然而,在图4的方法中,除图2的方法的功能性之外,正常数据通信(304)的特征为通信优先级(306),并且该方法包括根据优先级将正常数据通信排入(302)至多个数据通信队列(308、310)中,及仅将破坏分组排入(312)至低优先级队列中(310)。除图2的方法的功能性之外,在图4的方法中,将经更改数目的破坏通信控制分组从发送器传输(230)至接收器包括仅传输(314)来自低优先级队列(310)的经更改数目的破坏通信控制分组(236)。读者应认识到,由于许多原因,正常数据通信的特征可为通信优先级。可需要一些高优先级分组在特定时间之前经传递(例如)以由实时操作***使用。其它高优先级分组可为视频流或必须近实时(near real time)传递的其它多媒体数据的一部分。可将低优先级指派至以有损传输格式的通信分组,诸如,因特网协议分组或以太网络分组等。在正常数据通信(304)的特征为通信优先级(306)的环境中,仅传输(314)来自低优先级队列(310)的破坏通信控制分组(236)不仅[1]如上文所述减小发送带宽以便使发送带宽与接收端上的处理带宽平衡,而且[2]最小化高优先级通信的任何所得扰乱。
主要在用于控制经由数据通信链路的数据流的全功能性计算机***的情况下描述本发明的示例性实施例。然而本领域普通技术人员将认识到,本发明也可体现于安置在计算机可读的信号承载媒体(signal bearingmedia)上以供任何合适数据处理***使用的计算机程序产品中。这种信号承载媒体可为用于机器可读信息的传输媒体或可记录媒体,包括磁性媒体、光学媒体,或其它合适媒体。可记录媒体的实例包括硬盘驱动器中的磁盘或磁碟、用于光驱的压缩盘、磁带,及本领域普通技术人员将想到的其它可记录媒体。传输媒体的实例包括用于语音通信的电话网络及数字数据通信网络(诸如,EthernetsTM及通过因特网协议通信的网络及环球网)以及无线传输媒体(诸如,根据IEEE802.11系列规范所实施的网络)。本领域普通技术人员将即刻认识到,具有合适程序化构件的任何计算机***将能够执行如体现于程序产品中的本发明的方法的步骤。本领域普通技术人员将即刻认识到,虽然此说明书中所描述的示例性实施例中的一些针对在计算机硬件上安装并执行的软件,但实施为固件或硬件的替代实施例仍完全在本发明的范围内。
根据先前描述应理解,在不脱离本发明的真实精神的情况下,在本发明的各种实施例中可作出修改及变化。此说明书中的描述仅出于说明的目的,并且不应在限制性意义上加以解释。
Claims (10)
1.一种控制经由数据通信链路的数据流的方法,该链路根据一数据通信协议操作,在该数据通信协议中,该链路上的数据通信的接收器在针对当前层级的数据通信检测到带宽不足后,通过将流量控制消息发送至发送器而在由该接收器所确定的一个时间周期暂停该链路上的数据通信,该方法包含:
为该发送器指定流量控制周期的持续时间;
为该发送器指定要在一个流量控制周期期间从该发送器传输至该接收器的破坏通信控制分组的数目;
由该发送器确定在一个流量控制周期期间是否从该接收器接收到流量控制消息;
取决于在一个流量控制周期期间是否从该接收器接收到流量控制消息而更改破坏通信控制分组的数目;以及
在后续的一个流量控制周期期间使用正常数据通信将经更改数目的破坏通信控制分组从该发送器传输至该接收器,
其中,破坏通信控制分组为满足以下的通信控制分组:有意使其破坏以便使接收器在接收到该分组后迅速舍弃该分组,而非以任何方式处理该分组。
2.如权利要求1的方法,其中:
更改破坏通信控制分组的数目进一步包含在该流量控制周期期间接收到流量控制消息的情况下递增破坏通信控制分组的数目;以及
传输经更改数目的破坏通信控制分组进一步包含传输经递增数目的破坏通信控制分组。
3.如权利要求1的方法,其中:
更改破坏通信控制分组的数目进一步包含在该流量控制周期期间未接收到流量控制消息的情况下递减破坏通信控制分组的数目;以及
传输经更改数目的破坏通信控制分组进一步包含传输经递减数目的破坏通信控制分组。
4.如权利要求1的方法,其中:
更改破坏通信控制分组的数目进一步包含仅在预定数目的流量控制周期期间未接收到流量控制消息的情况下递减破坏通信控制分组的数目;及
传输经更改数目的破坏通信控制分组进一步包含传输经递减数目的破坏通信控制分组。
5.如权利要求1的方法,其中:
所述正常数据通信与通信优先级相关;
该方法进一步包含根据优先级使用多个数据通信队列来排入所述正常数据通信以及使用低优先级队列来排入所述破坏分组;以及
将经更改数目的破坏通信控制分组从该发送器传输至该接收器进一步包含传输来自该低优先级队列的经更改数目的破坏通信控制分组。
6.一种控制经由数据通信链路的数据流的装置,该链路根据一数据通信协议操作,在该数据通信协议中,该链路上的数据通信的接收器在针对当前层级的数据通信检测到带宽不足后,可操作为通过将流量控制消息发送至发送器而在由该接收器所确定的一个时间周期暂停该链路上的数据通信,该装置进一步包含:
为该发送器指定流量控制周期的持续时间的部件;
为该发送器指定要在一个流量控制周期期间从该发送器传输至该接收器的破坏通信控制分组的数目的部件;
由该发送器确定在一个流量控制周期期间是否从该接收器接收到流量控制消息的部件;
取决于在一个流量控制周期期间是否从该接收器接收到流量控制消息而更改破坏通信控制分组的数目的部件;以及
在后续的一个流量控制周期期间使用正常数据通信将经更改数目的破坏通信控制分组从该发送器传输至该接收器的部件,
其中,破坏通信控制分组为满足以下的通信控制分组:有意使其破坏以便使接收器在接收到该分组后迅速舍弃该分组,而非以任何方式处理该分组。
7.如权利要求6的装置,其中:
更改破坏通信控制分组的数目的部件进一步包含在该流量控制周期期间接收到流量控制消息的情况下递增破坏通信控制分组的数目的部件;以及
传输经更改数目的破坏通信控制分组的部件进一步包含传输经递增数目的破坏通信控制分组。
8.如权利要求6的装置,其中:
更改破坏通信控制分组的数目的部件进一步包含在该流量控制周期期间未接收到流量控制消息的情况下递减破坏通信控制分组的数目的部件;以及
传输经更改数目的破坏通信控制分组的部件进一步包含传输经递减数目的破坏通信控制分组的部件。
9.如权利要求6的装置,其中:
更改破坏通信控制分组的数目的部件进一步包含在该流量控制周期期间未接收到流量控制消息的情况下递减破坏通信控制分组的数目的部件;以及
传输经更改数目的破坏通信控制分组的部件进一步包含传输经递减数目的破坏通信控制分组的部件。
10.如权利要求6的装置,其中所述正常数据通信与通信优先级相关;该装置进一步包含:根据优先级使用多个数据通信队列来排入所述正常数据通信的部件;
使用低优先级队列来排入所述破坏分组的部件;以及
其中将经更改数目的破坏通信控制分组从该发送器传输至该接收器的部件进一步包含传输来自该低优先级队列的经更改数目的破坏通信控制分组。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/184,541 | 2008-08-01 | ||
US12/184,541 US7821942B2 (en) | 2008-08-01 | 2008-08-01 | Controlling data flow through a data communications link |
PCT/EP2009/059742 WO2010012730A1 (en) | 2008-08-01 | 2009-07-28 | Controlling data flow through a data communications link |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102113276A CN102113276A (zh) | 2011-06-29 |
CN102113276B true CN102113276B (zh) | 2014-06-11 |
Family
ID=41110931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980129859.XA Expired - Fee Related CN102113276B (zh) | 2008-08-01 | 2009-07-28 | 控制经由数据通信链路的数据流的方法和装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7821942B2 (zh) |
EP (1) | EP2311226B1 (zh) |
JP (1) | JP5400881B2 (zh) |
KR (1) | KR101341668B1 (zh) |
CN (1) | CN102113276B (zh) |
CA (1) | CA2732434C (zh) |
TW (1) | TW201014295A (zh) |
WO (1) | WO2010012730A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8953631B2 (en) * | 2010-06-30 | 2015-02-10 | Intel Corporation | Interruption, at least in part, of frame transmission |
US20160080826A1 (en) * | 2014-09-16 | 2016-03-17 | Qualcomm Incorporated | Systems, methods and apparatus for broadcasting pay-per-view video over enhanced multimedia broadcast multicast service |
KR102593060B1 (ko) | 2015-09-04 | 2023-10-25 | 바스프 에스이 | 통합형 scr 및 암모니아 산화 촉매 시스템 |
KR102371485B1 (ko) * | 2020-07-15 | 2022-03-07 | 고려대학교 산학협력단 | 이더넷 기반 네트워크 내 트래픽 제어 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434118B1 (en) * | 1999-01-11 | 2002-08-13 | 3Com Corporation | Method for determining round trip time utilizing ATM traffic management mechanism |
CN101189840A (zh) * | 2005-05-30 | 2008-05-28 | 艾利森电话股份有限公司 | 数据单元中继设备和控制该数据单元中继设备的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04278753A (ja) * | 1991-03-07 | 1992-10-05 | Nec Commun Syst Ltd | 固定長パケット整合装置 |
JPH06197150A (ja) * | 1992-09-11 | 1994-07-15 | Nec Corp | フロー制御方式 |
US5953318A (en) * | 1996-12-04 | 1999-09-14 | Alcatel Usa Sourcing, L.P. | Distributed telecommunications switching system and method |
US6091709A (en) * | 1997-11-25 | 2000-07-18 | International Business Machines Corporation | Quality of service management for packet switched networks |
US6947380B1 (en) * | 2000-12-01 | 2005-09-20 | Cisco Technology, Inc. | Guaranteed bandwidth mechanism for a terabit multiservice switch |
US6829667B2 (en) * | 2001-09-14 | 2004-12-07 | Intel Corporation | Method and system for improved processing of CPU intensive communications protocols by disabling per frame interrupts for an interrupt period |
JP4593991B2 (ja) * | 2004-07-21 | 2010-12-08 | ルネサスエレクトロニクス株式会社 | 通信装置及び通信帯域制御方法 |
US20100149973A1 (en) | 2006-10-09 | 2010-06-17 | Daniel Krupp | Method and Apparatus for use in a Communications Network |
-
2008
- 2008-08-01 US US12/184,541 patent/US7821942B2/en not_active Expired - Fee Related
-
2009
- 2009-07-28 WO PCT/EP2009/059742 patent/WO2010012730A1/en active Application Filing
- 2009-07-28 CN CN200980129859.XA patent/CN102113276B/zh not_active Expired - Fee Related
- 2009-07-28 JP JP2011520472A patent/JP5400881B2/ja not_active Expired - Fee Related
- 2009-07-28 KR KR1020117004951A patent/KR101341668B1/ko not_active IP Right Cessation
- 2009-07-28 EP EP09781190.5A patent/EP2311226B1/en not_active Not-in-force
- 2009-07-28 TW TW098125429A patent/TW201014295A/zh unknown
- 2009-07-28 CA CA2732434A patent/CA2732434C/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434118B1 (en) * | 1999-01-11 | 2002-08-13 | 3Com Corporation | Method for determining round trip time utilizing ATM traffic management mechanism |
CN101189840A (zh) * | 2005-05-30 | 2008-05-28 | 艾利森电话股份有限公司 | 数据单元中继设备和控制该数据单元中继设备的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102113276A (zh) | 2011-06-29 |
US7821942B2 (en) | 2010-10-26 |
WO2010012730A1 (en) | 2010-02-04 |
CA2732434C (en) | 2018-05-29 |
EP2311226B1 (en) | 2017-01-04 |
TW201014295A (en) | 2010-04-01 |
JP2011530205A (ja) | 2011-12-15 |
KR101341668B1 (ko) | 2014-01-06 |
KR20110055592A (ko) | 2011-05-25 |
EP2311226A1 (en) | 2011-04-20 |
US20100027423A1 (en) | 2010-02-04 |
CA2732434A1 (en) | 2010-02-04 |
JP5400881B2 (ja) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101608612B1 (ko) | 네트워크 트래픽에서의 도착간 지연의 감소 | |
KR101670642B1 (ko) | 클라이언트 디바이스 상에서의 패킷 송신을 스케줄링하기 위한 시스템 및 방법 | |
US7643420B2 (en) | Method and system for transmission control protocol (TCP) traffic smoothing | |
CN1910868B (zh) | 用于控制队列缓冲器的方法及装置 | |
US8521882B2 (en) | Client/subscriber rotation using select write calls for server resiliency | |
EP2601765A1 (en) | Methods and apparatus for reducing data transmission overhead | |
CN102113276B (zh) | 控制经由数据通信链路的数据流的方法和装置 | |
CN103929372A (zh) | 主动队列管理方法和设备 | |
US11368482B2 (en) | Threat detection system for mobile communication system, and global device and local device thereof | |
CN101547159A (zh) | 一种避免网络拥塞的方法和设备 | |
CN102148662A (zh) | 一种数据发送速率的调整方法及装置 | |
CN102055677A (zh) | 减少网络拥塞的方法及设备 | |
CN116868553A (zh) | 用于管理端点资源和拥塞缓解的数据中心网络上的动态网络接收器驱动的数据调度 | |
EP2245537B1 (en) | Network message management device and methods thereof | |
US11683250B2 (en) | Managing proxy throughput between paired transport layer connections | |
Moradiya et al. | Evaluating TCP Performance with RED for Efficient Congestion Control | |
Sood | Utilization of Parallel Transmission in the Network Using MAC Protocol With Back Off Algorithm in WSN | |
CN113905417A (zh) | 基于令牌桶的5g基站分组数据汇聚协议层流量控制方法 | |
CN115150111A (zh) | 云桌面及云应用通信方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140611 Termination date: 20200728 |
|
CF01 | Termination of patent right due to non-payment of annual fee |