CN1134945C - 用于tcp连接的增强确认定步设备和方法 - Google Patents

用于tcp连接的增强确认定步设备和方法 Download PDF

Info

Publication number
CN1134945C
CN1134945C CNB998160717A CN99816071A CN1134945C CN 1134945 C CN1134945 C CN 1134945C CN B998160717 A CNB998160717 A CN B998160717A CN 99816071 A CN99816071 A CN 99816071A CN 1134945 C CN1134945 C CN 1134945C
Authority
CN
China
Prior art keywords
grouping
packet
confirming
affirmation
confirm
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
CNB998160717A
Other languages
English (en)
Other versions
CN1344456A (zh
Inventor
�յºա��Ͽ�����
苏德赫·迪克西特
拿瑟·汉尼
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.)
Nokia Oyj
Nokia Technologies Oy
Original Assignee
Nokia Networks Oy
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 Nokia Networks Oy filed Critical Nokia Networks Oy
Publication of CN1344456A publication Critical patent/CN1344456A/zh
Application granted granted Critical
Publication of CN1134945C publication Critical patent/CN1134945C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • 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/12Avoiding congestion; Recovering from congestion
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Landscapes

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

Abstract

揭示了用于TCP连接的增强确认定步设备(500)和方法。本发明包括链路层实体(528),用于接收来自源的数据分组和把数据分组(540)转发到前向数据链路,链路层实体(528)把接收的数据分组(540)存储在数据分组缓存器(530)中,直至数据分组离开链路层实体(528)和被转发到前向数据链路为止,以及还包括确认定步设备(500),该确认定步设备被耦合到链路层实体,用于响应于接收到来自源(540)的数据分组(540),定步要被发送到源的确认分组(532)。确认定步设备(500)还包括:确认控制单元(510),用于监视在链路层实体(528)处的阻塞和根据在链路层实体(528)处是否发生阻塞,产生控制信号,用于控制确认分组(532)的处理;确认分组缓存器(534),被耦合到确认控制单元(510),用于存储从确认控制单元(510)接收的确认分组(532);以及调度器(520),被耦合到确认控制单元(510)和确认缓存器(534),调度器(520)根据由确认控制单元(510)产生的控制信号把确认分组(532)释放给源(540)。

Description

用于TCP连接的增强确认定步设备和方法
                      发明背景
1.发明领域
本发明总的涉及网络,更具体地,涉及用于TCP连接的增强确认定步设备和方法。
2.相关技术描述
今天,一个组织的计算机网络已成为它的循环系统。组织把台式工作站,服务器和主站组合成局域网(LAN)团体。这些局域网被连接到其它局域网和广域网(WAN)。成对的系统在需要通信时,必须能够通信,而不管它们位于网络的什么地方,这已成为逐日运行所必须的。
在早先的网络计算年代期间,专有的联网协议就是标准。然而,由国际标准化组织(ISO)引入的开放系统互联参考模型的发展导致互联工作给人深刻印象的程度,它通常允许最终用户的应用在网络的系统之间工作得很好。实施方案是根据由来自几十个计算机经销商、硬件部件经销商和独立的软件公司的志愿者提供的书面标准的。
在过去十年期间,LAN一直在激增。这引起必须由网络管理者解决的、如何使得阻塞最小化和使得通过量最佳化的重现的问题。以前的解决办法是仅仅把局域网分成多个较小的网络,服务于较少的人群。这些段通过桥连接,形成单个局域网,业务是对于每个段本地地隔离开的。
新的网络类型和广域网的发展产生对路由器的需要。例如,互联网是由网关(有时被称为路由器)连接的一组网络。加上过滤和防火墙能力的路由器,提供对广播域的更多的控制,限制广播业务和增强保密性。由于嵌入的智能,路由器能够选择通过网络的最佳路径。这种附加智能,当可能时,也允许路由器构建到目的地的冗余路径。无论如何,由嵌入的智能提供的最佳路径选择能力的附加复杂性增加了路由器的端口成本和造成很大的等待时间开销。包括分布式客户/服务器数据业务的共享媒体的网络,扩展的用户人数,以及更复杂的应用引起新的带宽瓶颈。这样的阻塞产生不可预测的网络响应时间,不能支持对延时敏感的应用,以及造成较高的网络故障率。
在现代网络中阻塞控制逐渐成为重要的问题。互联网应用(诸如,万维网(WWW))的飞速发展将当前的技术推向它的极限,显然,需要更快速的输送和改进的阻塞控制机制。结果,许多设备经销商和服务提供者转向高级联网技术,以便提供对涉及的复杂业务质量(QoS)管理问题的适当的解决方案。实例包括异步传送模式(ATM)网络和出现的IP网络业务。无论如何,在这些较新的变化例内仍旧有必要支持现有传统IP协议的主机。具体地,普遍存在的TCP传输层协议一直是由网络浏览器、文件/电子邮件传送业务广泛使用的、IP网络中的主力传输协议。
传输控制协议(TCP)是TCP/IP协议家族的一部分,随着互联网的成功已获得世界最重要数据通信协议之一的位置。TCP提供在使用TCP/IP协议的装置之间的可靠的数据连接。TCP工作在IP的上部,被使用来把数据打包成数据分组,被称为数据包,以及用于在网络上传输。
互联网协议(IP)是网络层协议,通过互联网路由数据。互联网协议被设计成适应由不同的经销商构建的主机与路由器的使用,包括增长的各种各样的增多的网络类型,使得网络能够增长,而不中断服务器,以及支持更高层的会话和面向消息的业务。IP网络层允许把局域网“岛”集成在一起。
然而,IP不包含任何流控或重传机制。这就是为什么TCP典型地被使用于它的上部的原因。具体地,TCP使用确认,用于检测丢失的数据分组。TCP/IP网络在当今多半是所有网络中最重要的网络,以及运行在几个(物理的)网络的上部,诸如上面提到的ATM网络。这些基础网络可以提供关于网络的条件和业务的信息,它们可被使用来提供关于阻塞的反馈。
为了管理阻塞,TCP使用滑动窗机制与反应的阻塞控制来调节发送者的窗口尺寸。该协议调节它的传输行为,偶然返回从远端接收机端发送的确认(ACK)分组。
然而,TCP的问题在于它的阻塞控制机制相当慢。大多数TCP实施方案使用非常粗略的定时器来测量“超时”,即,大约200-500ms的粒度。而且,大多数TCP实施方案依靠ACK延时或分组丢弃,来检测阻塞。结果,过量的源窗口的减小可导致大量的带宽浪费,因为TCP源被迫使重新启动它的传输窗口。而且,许多研究表明,TCP在ATM网络上,特别是对于较大的WAN型传播延时不能很好地运行。
为了克服TCP的以上的缺点,必须通过在TCP反馈环中引入某些更快的阻塞指示机制,使得网络阻塞的机会最小化。然而,为了确保与当前的版本兼容性以及加速市场的接受性,任何这样的企图必须防止改变实际的TCP协议或它的实施方案。
根据这些方面,提出了多种ACK定步方案。这些ACK定步方案基本上调制TCP ACK分组的间距,限制在阻塞期间源的发送。ACK定步很适合于高速(子)网络的边界,诸如ATM、千兆比特IP(即,光WDM)、或卫星。实际上,这种技术在接入节点处执行TCP业务整型。这样的方法对于先进的ATM数据业务特别有利,即,下层的ABR流控或按连接排队,其中阻塞趋向于在ATM网络的外围产生,即,在接入节点处。如果前向链路被阻塞,正如某些阻塞度量表示的,ACK分组在被发送到源以前适当地被延时。
另一些作者提出修正ACK分组本身的域,即接收器窗口尺寸,来改进性能。然而,这样的方案或者需要精确的路程来回的延时测量,或者不能保持紧密的缓存控制。而且,重写ACK分组域将需要昂贵的“检验和”的重新计算。
虽然ACK定步是控制TCP源行为的有效的方式,但许多建议的方案或者太复杂,和/或对于网络参量设置过分敏感。由于研究表明,TCP的通过量和公平度在许多高速度网络情景下是很低的,所以必须设计有效的、可行的方案来提高它的性能。虽然修改协议的功能本身也是一个任选项,这不一定是在短到中等的时间中可行的替换例。在这方面ACK定步方法可以给出很大的好处。
可以看到,需要一种更鲁棒的、全面的、用于ACK定步的方案。
也可以看到,需要可以提供高的通过量和精确的带宽公平度的ACK定步。
还可以看到,需要可以很大地减小TCP缓存延时的、和可应用于很宽范围的网络情形的ACK定步。
也可以看到,需要可以提供更快速的阻塞指示而不用修改TCP协议的ACK定步。
                      发明概要
为了克服上述的现有技术中的限制,以及为了克服在阅读和了解本技术说明后更清晰的其它限制,本发明揭示了用于TCP连接的增强确认定步设备和方法。
本发明通过提供一种更鲁棒的、全面的、用于ACK定步的方案,而解决上述的问题。按照本发明的ACK定步提供高的通过量和精确的带宽公平度。而且,ACK定步很大地减小TCP缓冲延时,以及可应用于很大范围的网络情形。因此,ACK定步提供更快速的阻塞指示而不用修改TCP协议。
按照本发明的原理的系统包括:链路层实体,用于接收来自源的数据分组和把数据分组转发到前向数据链路,链路层实体把接收的数据分组存储在数据分组缓存器中,直至数据分组离开链路层实体和被转发到前向数据链路为止;以及确认定步设备,被耦合到链路层实体,用于响应于接收到来自源的数据分组,定步要被发送到源的ACK分组。确认定步设备还包括:确认控制单元,用于监视在链路层实体处的阻塞和根据在链路层实体处是否发生阻塞,产生控制信号,用于控制确认分组的处理;确认分组缓存器,被耦合到确认控制单元,用于存储从确认控制单元接收的确认分组;以及调度器,被耦合到确认控制单元和确认缓存器,调度器根据由确认控制单元产生的控制信号把确认分组释放给源。
按照本发明的原理的系统的其它实施例可以包括替换的或任选的附加方面。本发明的一个这样的方面是,调度器根据排队策略选择释放的ACK分组。
本发明的另一个方面是,排队策略包括当使用集中ACK分组缓存时发送排头的ACK分组。
本发明的另一个方面是,排队策略包括当使用按类别或按流的ACK分组缓存时,用于选择在ACK分组缓存器中的要释放的ACK分组的加权循环(WRR)处理过程。
本发明的另一个方面是,加权循环(WRR)处理过程使用与TCP最大段尺寸(MSS)成反比的加权因子,该加权因子用于加权对释放的ACK分组的选择,以便减少对较小的MSS流的偏斜。
本发明的另一个方面是,排队策略包括当使用按类别或按流的ACK分组缓存时,用于选择在ACK分组缓存器中的要释放的ACK分组的公平排队(FQ)处理过程。
本发明的另一个方面是,确认控制单元还包括ACK分组定步处理器,ACK分组定步处理器通过使用ACK分组到达处理器和数据分组离开处理器,而产生控制信号,用于控制确认分组的处理。
本发明的另一个方面是,ACK分组到达处理器通过检验在链路层实体处的阻塞和判决是把ACK分组保存在ACK分组缓存器中,还是直接把ACK分组发送给源而不把ACK分组缓存在ACK分组缓存器中,而控制ACK分组到ACK分组缓存器的处理。
本发明的另一个方面是,ACK分组到达处理器通过确定链路层实体是否阻塞,确定ACK分组缓存器是否空,如果链路层实体被阻塞或ACK分组缓存器不是空的,则把ACK分组存储在缓存器中,以及如果ACK分组缓存器是空的且链路层实体没有阻塞,则把ACK分组转发给源,而决定是把ACK分组保存在ACK分组缓存器中,还是直接把ACK分组发送给源而不把ACK分组缓存在ACK分组缓存器中。
本发明的另一个方面是,如果ACK分组是在阻塞期间要被缓存在ACK分组缓存器中的第一ACK分组,则ACK分组被存储在ACK分组缓存器中,以及被调度器选通送出。
本发明的另一个方面是,如果ACK分组是在阻塞期间要被缓存在ACK分组缓存器中的第一ACK分组,则ACK控制单元增加在从ACK分组缓存器中被选通送出的ACK分组之间的间隔。
本发明的另一个方面是,如果在链路层实体中的阻塞已消除,则数据分组离开处理器减小在从ACK分组缓存器释放的ACK分组之间的间隔。
具体在本发明的附属权利要求中,指出表征本发明的新颖性的这些和各个其它优点和特性,以及它们形成本发明的一部分。然而,为了更好地了解本发明、它的优点、和通过它的使用达到的目的,应当参考形成本发明的另一个部分的附图,以及参考附带的说明性材料,其中说明和描述了按照本发明的设备的具体的例子。
                      附图简述
现在参照附图,其中相同的参考数字代表相应的部件:
图1显示包括七层的OSI模型;
图2显示互联网协议网络层与OSI七层模型的比较;
图3显示分组流和TCP滑动窗;
图4显示其中接收机把确认提供给源以及接收来自源的数据的网络系统;
图5显示按照本发明的增强的ACK定步设备;
图6显示按照本发明的、用于TCP ACK到达和数据离开660方法的伪代码;
图7显示用于使用两个滞后排队门限值,QL和QH,的阻塞状态方法的伪代码;以及
图8显示按照本发明的、用于增强的TCP ACK到达和ATM信元离开方法的伪代码。
                    发明详细描述
在以下的示例性实施例的说明中,参照构成本发明的一部分的附图,图上以说明的方式显示其中可以实施本发明的具体的实施例。应当看到,其它实施例也可被利用,因为可以作出结构上的改变,而不背离本发明的范围。
本发明提供用于TCP连接的增强确认定步设备和方法。提供了更鲁棒的、全面的、用于ACK定步的方案,它允许提供高的通过量和精确的带宽适合度。而且,ACK定步很大地减小TCP缓冲延时,和可应用于很大范围的网络情形。因此,按照本发明的ACK定步提供更快速的阻塞指示而不用修改TCP协议。
图1显示包括七层的OSI模型100,包括应用层110,表示层120,会话层130,传输层140,网络层150,数据链路层160,和物理层170。OSI模型100由国际标准化组织(ISO)提出,以及在标题为“TheOSI Reference Model(OSI参考模型)”的ISO 7498中被描述,该标准在此引用,以供参考。
OSI模型的每个层执行特定的数据通信任务,为该层前面的层进行业务(例如,网络层为传输层提供业务)。处理过程可被比喻为在信被通过邮政系统发送以前把信放置在一系列的信封中。每个后续的信封把另一个层的处理或对于处理事务必须的开销信息加进来。所有的信封放在一起有助于确保把信送到正确的地址,且所接收的消息与发送的消息相同。一旦全部数据包在目的地处被接收,信封被一个一个地打开,直至信本身呈现为正好是所写的内容为止。
然而,在数据通信事务中,每个最终用户不知道透明地执行它们的功能的信封。例如,自动银行出纳事务可以通过多层OSI系统被跟踪。一个多层系统(开放系统A)提供作为对于尝试该事务的个人的接口的应用层,而另一个多层系统(开放系统B)提供与银行的主机上的应用软件接口的应用层。在开放系统A和B中的相应的层被称为对等层,以及与对等协议通信。这些对等协议提供对于用户的应用的通信支持,执行与事务有关的任务,诸如记入借方帐户,发出货币,或记入贷方帐户。
然而,在两个开放系统(开放系统A和开放系统B)之间的实际数据流在一个开放系统中(开放系统A,源)从上部180到底部182,穿过通信线路,然后在另一个开放系统中(开放系统B,目的地)从底部182到上部180。每次当用户应用数据从一个层向下传送到同一个系统的另一层,会加上更多的处理信息。当该信息在另一个系统中被对等层去除和处理时,它使得各种任务(纠错,流控等)被执行。
ISO具体地规定全部七层,它们在下面按数据离开源时的实际流动顺序被概括:
第7层,应用层110,为用户应用(例如从自动银行出纳机器取钱)提供与OSI应用层接口。该OSI应用层110在另一个开放系统,银行主计算机中,具有相应的对等层。
第6层,表示层120,确信用户信息(从你的支票帐户支取$50现金的请求)是以目的地开放系统可理解的格式(即,1和0的句法或序列)。
第5层,会话层130,提供在开放系统之间的数据的同步控制(即,确保传送通过源的第5层的比特配置与传送通过目的地的第5层的比特配置相同)。
第4层,传输层140,确保在两个开放系统之间建立端到端连接,以及该连接经常是可靠的(即,在目的地的第4层确认对于连接的请求,也就是说,它已从源的第4层接收到)。
第3层,网络层150,提供通过网络的数据路由和中继(特别是,在外出的一侧在第3层上把地址放置在信封上,然后由目的地的第3层读出)。
第2层,数据链路层160,包括当消息向下传送通过在一个开放系统中的这一层以及向上通过另一个开放系统中的对等层时数据的流控。
第1层,物理接口层170,包括数据通信设备借以机械连接和电气连接的方式,以及数据借以从源处的第1层到目的地处的第1层移动通过那些物理连接的装置。
图2是显示其中互联网协议网络层202适合于OSI七层模型204的比较200。在图2上,传输层210提供数据连接业务给应用,以及可包含保证数据无错误地而无遗漏和按次序传送的机制,。在TCP/IP模型212中的传输层210通过传送数据段到IP层202,而发送数据段,IP层再把数据段路由到目的地。传输层210接受从IP 202进入的段,确定哪个应用是接收者,以及以数据被发送的次序把数据传送到该应用。
因此,互联网协议202执行网络层功能,以及在系统之间路由数据。数据可穿越单个链路,或可被中继通过互联网的几个链路。数据以被称为数据包的单元被载送,它包括IP报头,包含第3层220地址信息。路由器检查IP报头中的目的地地址,以便把数据包定向给它们的目的地。IP层202被称为无连接,因为每个数据包被独立地路由,以及IP层202不保证数据包的可靠的或按次序地传送。IP层202路由它的业务,而不关心特定的数据包属于哪个应用到应用的交互。
TCP层210提供在使用TCP/IP协议的设备之间的可靠的数据连接。TCP层210作用在IP层202的上部,它被使用于把数据打包成被称为数据包的数据分组和通过物理层230将其发送到下面的网络。
然而,IP协议不包含任何流控或重传机制。这是为什么TCP层210典型地被使用于IP层202的上部的原因。相反,TCP协议提供对于检测到丢失的数据分组的确认。
图3显示分组流300和TCP滑动窗310。TCP源的主要特性之一是,它使用滑动窗310,该滑动窗确定字节和因此确定在从接收机接收确认以前可被发送的IP分组。这使得有可能调节源的有效传输速率。
当TCP源增加滑动窗310的尺寸时,它的平均传输速率也增加。滑动窗310是在八位字节12-19上。已经有多到11个的八位字节被发送以及滑动窗310移过这些八位字节。在滑动窗310内,有两个八位字节组320,322。第一个八位字节组320是已被发送的330、从12到16的八位字节。在滑动窗310中的第二个八位字节组322是还没有发送的、从17到19的八位字节。第二个八位字节组322可被立即发送340。最后,八位字节20和向上的部分350不能被发送360。八位字节12必须被确认,以及在八位字节20可被发送以前,滑动窗向前滑动。因此,TCP通过使用这个TCP滑动窗310提供丢失的数据分组的重新发送和流控。滑动窗310实际上是由接收机发送的窗口通告的阻塞窗口的最小值。
图4显示TCP网络系统400,其中接收机410提供确认420给源430,以及接收来自源430的数据440。接收机410发送确认分组420,它也包括窗口通告数据450,用于将接收机410处理进入的数据440的能力通知源430。这样,接收机410可通知适当的窗口尺寸450,用于流控目的。实际上,窗口通告450规定接收机410准备接受多少额外的数据八位字节。源430被认为按照这个通告调节它的滑动窗,除非由源430保持的阻塞窗口460太小。
第二窗口,阻塞窗口460,在TCP源430处被内部使用来降低滑动窗的尺寸。这发生在定时器时间到时,这说明数据分组已被发送,但在一定的时间间隔内确认没有到达。这意味着,数据分组已丢失,这多半是由网络阻塞造成的。为了不使得阻塞更严重,TCP源430通过减小滑动窗的尺寸降低它的传输速率。这些窗口的关系可被表示为:
         TW=MIN(窗口通告,阻塞窗口)
其中TW表示传输窗口,即滑动窗。
原理上,阻塞窗口460和被包括在由下面的网络提供的通告窗口450中的反馈信息可被使用于同样的目的,即,按照网络的负载和阻塞调节TCP源430的传输速率。然而,在阻塞窗口460和被包括在通告窗口450中的反馈信息之间的一个重要的差别是,阻塞窗口460根据端到端的原则工作,以及典型地由于相当长的超时而对改变的反应非常慢。因此,阻塞窗口460也不能给出任何详细的信息。TCP源410只知道分组已被丢弃,它不能给出关于网络条件的精确的图象。另一方面,被包括在通告窗口450中的反馈信息可以更精确,以及可以更快速地对改变条件作出反应。
基础的网络可以使用在确认分组420中载送的接收机的窗口通告450,用于控制TCP源410的传输速度。这可以通过加上设备或网络功能(被称为反馈信息变换器(FIC))而被完成。
这样,TCP使用滑动窗协议,其中源430根据来自接收机410的返还的ACK分组420,调节它的窗口尺寸。所以,窗口460的增长速率与这些返还的分组420的速率有关。所以,显然通过修改返还的ACK流420的时序,源窗口460的增长可被控制。ACK定步方法正是根据这个基本原理。具体地,这些方法适当地延迟在阻塞网络单元,例如,接入节点和IP路由器中的返还的ACK分组420,限制由源430过量地发送。当正确地完成时,ACK定步可减小TCP超时,限制队列构建,以及由此,改进总的连接结果。
由于TCP业务概貌的大的非对称性质,实际上只在TCP源430一侧需要ACK定步。这是值得注意的,因为它暗示,所要求的ACK定步功能需要仅被限制在大的万维网服务器/文件主机。所以不需要昂贵的更新用于大得多的、不同的用户接入库。然而,应当提到,ACK定步假定网络内有良好的速率控制。这实际上把网络抽象成有相当恒定的带宽,使得阻塞主要在接入节点处出现。
先进的ATM载体能力,例如,VBR-nrt,ABR和GFR,可现实地达到这些条件。而且,预期在高速IP路由器中出现的速率保证也将产生对ACK定步有利的条件。
然而,如上所述,许多当前的ACK定步方法不能具体修改以便实施。例如,快速TCP(F-TCP)需要在前向方向上基础的数据“清算”速率的知识。这或者是链路容量,或者对于ATM可用比特速率(ABR)业务类别的情形下,是连接允许的信元速率(ACR),等等。对于ACK分组420的计算的延时是根据这个速率。
显然,这样的方案需要更先进的信息处理方法,以及如果基础的速率改变很大,会有问题。而且,由远端TCP客户410对ACK分组的延时发送可增加灵敏度问题,以及大大地恶化这样的方案的性能。另外,这些方案不能提供显著的公平度,因为它们只以聚集方式缓存返还的ACK分组420,即先进先出(FIFO)。另一个ACK定步方法,ACK漏桶方案需要太多的每个流状态,实际上要“跟踪”每个TCP数据流的开窗口行为。
图5显示按照本发明的、增强的ACK定步设备500。ACK定步设备500依靠排队长度信息,来讨论阻塞水平,以及不需要任何附加的(昂贵的)定时器机制。如图5所示的ACK定步设备500是非常通用的,以及可被定做成适合于各种各样的网络。
在图5上,提供了ACK控制单元510。ACK控制单元510控制在过载(即,阻塞)和欠载时间间隔期间ACK分组的处理,连同ACK调度器单元520的运行。ACK控制单元510依靠业务测量和来自基础链路层实体528与数据分组缓存器530的数据发送通知522。在阻塞时间间隔期间,返还的ACK分组532被存储在使用适当的分类量化度(集中,每种类别,每个流)的ACK分组缓存器534并以合适的选出速率来进行选通,具体地,在阻塞时间间隔期间ACK分组532的发送被执行,以使得允许缓存器534在合理的时间腾空。当阻塞减退时,提高ACK发送速率,以允许改进带宽利用。应当指出,在所有的情形下,ACK控制单元510激活ACK调度器单元520,发送在缓存器534中的ACK分组532。
因为TCP是可扩大的协议,除任何接收机窗口限制外,它总是企图增加其发送定额。这意味着,对于大的(大量)文件传送,正常的TCP协议将不断地增加它的窗口尺寸,释放分组,然后减慢。当系统中数据量增加时,ACK分组532的数目也增加。
这一点对于ACK定步方案具有非常细微的暗示。即,在正常TCP协议中的数据分组540的增长将被ACK分组532的增长“代替”。这被称为ACK缓存“漂移”现象。这种漂移的速率在TCP连接的慢启动阶段对ACK定步的情形将是线性的(即,快速的),以及对于在TCP连接的阻塞避免阶段对ACK定步的情形将是亚线性的。
解决这个问题有两种可能的方法。较简单的方法是给ACK分组缓存器534配备以足够的用于ACK分组532的容量,以及在ACK分组缓存器534用尽的稀少的事件中,采用从前面丢弃的策略。典型地,在前面的ACK的号最可能关系到比到达的分组540的号码更低的序列号。这种缓存方法是非常合理的,因为ACK分组532是小的(40字节),以及大多数文件传送不是无限的。例如,64kB RAM的ACK分组缓存器534可大约保存1700个ACK分组532,它已超出155Mb/s WAN链路的需要。
另一个方法是使用两个变量跟踪TCP序列号,即对最后进和最后出的数值进行每个流计数。这个方法产生较小的存储器需求,但需要ACK号码重写(即,重新计算“检验和”)。另外,如果ACK分组532无序地到达,必须进行特别的考虑。而且,或许是,在ACK分组532中出现的其它域,诸如接收机窗口尺寸和URG/RST标志,也可包含非冗余信息,它会使得事情进一步复杂化。
因此,从实施方案看来,ACK缓存方法是更可行的。ACK缓存方法加上了最小的附加限制,以及不修改TCP分组532中的任何域。
如图5所示,在数据流的前向方向,链路层实体528可以代表各种各样的基础技术。实例包括专用链路或ATM VC或IP流类别。而且,链路层实体528可以是对于单个TCP数据流专用的(例如,ATM VC等),或在一组TCP数据流之间共享(业务集中)。同样地,在反向方向上的ACK定步可以在不同的级别上被完成。例如,如果每个流排队在前向方向上完成,则在反向方向上也必须有每个流的ACK定步,即,每个流数据/每个流ACK。
然而,如果在前向方向上进行集中的或基于类别的ACK定步,则可能希望在反向方向上同样完成(集中数据/集中ACK,每个类别的数据/每个类别的ACK)。其它可以决定在前向方向上进行简单的、集中排队,而在反向方向上进行更先进的每个流的ACK缓存。这个方法改进了在集中在同一个链路层实体530的数据流中间的公平度,而不需要在前向方向上高速度的每个流缓存和调度技术。虽然对于进入的ACK分组532仍旧需要每个流ACK的计数,但它被限制于网络边缘,其中处理速率需求也被大大地减小,因为ACK分组关系到更大的IP分组尺寸。通过选择调度器分配,即,反比于数据流的TCP最大分段尺寸(MSS)的加权因子,对更小的MSS流的偏斜可被减轻(到一定程度)。
对于不同的业务结构的正在进行的标准化努力,后者在哲学上相当好地适配。即,每个流的计数/开销被限制于网络的接入部分,即,其中进行ACK定步,减小骨干内的复杂性。因为大多数接入节点具有的连接比骨干设备的少得多,所以这个方法在正出现的网络中是非常可行的。
根据以上的讨论,ACK调度器520可被规定为相当通用的,从各种分组调度方法借用的装置,以便改进适合度。例如,在集中(FIFO)ACK缓存的最简单的形式中,调度器520仅仅必须发送排头(HOL)的ACK。对于更先进的每个类别或每个数据流的ACK缓存策略,加权循环(WRR)或公平排队(FQ)调度器可被实施来“选择”用于发送的下一个适当的ACK。
ACK控制单元510包括ACK定步处理器512,用于控制ACK分组到源的定步。ACK定步处理器包括两个主要部件:数据分组离开处理器514和ACK到达处理器。ACK到达处理器516检验阻塞水平和判决是否保存进入的ACK分组。数据分组离开处理器514通过链路层实体528和数据分组缓存器530监视阻塞水平,以及决定何时按“时钟”输出ACK分组532到源。
图6显示按照本发明的用于TCP ACK到达610和数据离开660方法的伪代码600。对于所有进入的TCP ACK分组执行TCP ACK到达610和数据离开660方法。
在图6上,假定存在排队对象用于使ACK分组进入队列/退出队列,以及缓存的ACK分组数目的运行计数值被保持,例如,num_ACK604。在链路层阻塞和/或非空的ACK分组缓存器612的情况下,进入的ACK分组被存储在缓存器614中。缓存的ACK分组被保存在缓存器中,以及只通过数据分组离开方法660被适当地发送出去。
如上所述,ACK缓存可以根据集中或基于以上参照图5讨论的、更多选择性的每个类别/每个流,而进行的。如果ACK分组到达空的缓存器以及没有阻塞640,则只要向上转发到TCP源(即,透明的传送通过)642。然而,如果这是要被缓存的第一ACK 630,则为了“启动”ACK发送过程,这个ACK分组必须在适当的间隔632后被选通送出。
为了避免对昂贵的定时器机制的依赖,应当把ACK分组的发送与链路层实体中的基础数据分组离开处理过程660相联系。即,在阻塞期间,ACK分组在每α1个数据分组被发出以后被发送,其中α1被称为(整数)减慢因子。
从实施方案看来,以上的功能可以通过使用简单的计数器变量,例如pkt_counter 644,而被精巧地完成。对于第一ACK分组,计数器变量值被设置为α1,然后按照数据离开处理过程660在每次数据分组离开时减量。当计数器变量值达到零时,缓存的ACK分组被释放,以及计数器被复位。
与某些预期相反,给定的数值α1并不暗示TCP源的等价的幅度减慢。这里,问题被TCP协议的许多特性复杂化,诸如慢启动/阻塞避免阶段,“ACK一每个一其它性质(ACK-every-other)”,延时的ACK定时器等。例如,在发送全部尺寸的段的无限的源的理想化情形下,启动普遍存在的“ACK-每个一其它”性质,可以看到,需要α1>3的数值来调节TCP源的速率。替换地,如果TCP源的最终系统行为是未知的,则非常大的α1数值可被使用来“保证”排队长度控制。换句话说,这样的数值实际上禁止所有的ACK发送,直至阻塞减退为止(即,接通/断开型控制),但通常会引起增加的排队振荡。
应当指出,为了给出通用的、更灵活的说明,图6上的伪代码没有明显地规定阻塞检测方法。具体地,拥塞状态()例程620只返回布尔值,指示链路层实体是否阻塞。显然,各种各样阻塞表示机制可在这里被使用。某些例子包括队列长度,平均的队列长度,输入速率过载测量,和数据丢失率。然而,优选地,队列长度应当被使用来简化实施方案的复杂性。
图7上显示用于使用两个滞后队列门限值QL 710,QH 714的样本方法700的伪代码。在图7上,检验阻塞状态,以及返回一个二进制标志702。滞后队列门限值QL 710,QH 714被使用720。如果存在阻塞以及队列长度小于QL 722,则通过把标志设置为第一状态724,即,拥塞标志=OFF(关闭),而使得阻塞消除状态变化被存储。替换地,如果不存在阻塞以及队列长度大于QH 730,则通过把标志设置为第二状态732,即,拥塞标志=ON(打开),而使得阻塞开始状态变化被存储。二进制标志的状态然后被返回740。
结果表明,如果这些门限值710,712根据在源与接入节点之间的路程来回延时(即,接入网络延时)被适当地确定大小,则可以达到接近无损耗的性能。因为这样的延时通常比WAN网络中观察到的端到端延时小很多倍,在缓存需求中的相当大的减小对于按照本发明的ACK定步方案是可能的。
再次参照图6,无论何时分组离开链路层,都执行数据分组离开方法660。目标是以定时的方式释放被存储的ACK分组,由此正确地控制在接入节点的链路层缓存器中的阻塞(排队)水平,即使得分组丢失最小化。该方法首先检验,查看是否有任何缓存的ACK分组等待发送662,以及ACK发送计数器,即Pkt-counter,是否达到零664。如果是这种情况,则缓存的ACK分组被释放给源670。
此后,如果仍旧存在阻塞680,则通过重新设置pk_counter为α1682,ACK分组间的间隔被保持在每α1个数据分组一个间隔。这允许数据链路层中的数据缓存器进一步排空。然而,如果阻塞已消除684,则ACK分组间的间隔被减小为α2个数据分组686,允许源更快的发送。α2参数被称为整数加速因子,以及必须α1>α2。如果计数器是非零的688,则它只被递减690。然而,为了阻止在阻塞时间间隔以后带宽利用不足,如果计数器值大于α2,它只被复位到α2(即,特别是对于更大的α2值)。
再次地,由于由TCP规定引起的复杂性,α2=1数值并不暗示,TCP源速率(大约)等于基础链路实体的速率。更具体地,对于理想化的条件具有“ACK一每个一其它”特征,α2=2的数值执行得更好。
再次参照图5,应当指出,合格的ACK分组532是根据由ACK调度器520使用的排队策略被选择的。这个总的机制不需要任何昂贵的定时器机制来释放存储的ACK分组532,正如现有的方法中需要的。
图8显示用于按照本发明的、增强的TCP ACK到达810和ATM信元离开860方法的伪代码800。在TCP ACK到达处理过程810中,作出关于链路层实体是否阻塞或ACK分组缓存器是否非空812的决定。如果链路层实体被阻塞以及ACK分组缓存器不为空814,则进入的ACK被存储在队列816(FIFO,每个类别,或每个流)。ACK分组被存储在各个ACK队列的末尾处,以及ACK计数被递增818。接着,进行检验,以便确定这个ACK是否为被缓存的第一ACK分组820。如果这是要被缓存的第一ACK分组822,则信元计数器被设置为α1*分组信元,这样计数器被设置成较大的间隔824。否则826,ACK分组被发送到TCP源828。
在ATM信元离开处理过程860中,作出关于ACK分组缓存器是否非空的决定862,即是否有ACK分组发送?如果有ACK分组被发送864,则调度器确定下一个合格的ACK分组870。下一个合格的ACK分组被从合格的ACK队列头中取下872,以及被发送到TCP源874。ACK计数值被递减876,以及信元计数器被适当地复位880。如果存在阻塞882,则信元计数器被设置为等于α1*分组信元,以增加间隔884。否则886,信元计数器被设置为等于α2*分组信元,以减小间隔888。
如果信元计数值是非零890,则作出关于阻塞是否消除的决定892。如果阻塞已消除以及信元计数值大于α2*分组信元894,则信元计数器被设置为等于α2*分组信元895。否则896,信元计数器被递减898。
假定以上的分组处理方法是非常通用的,则对于使用更小的分组(信元)尺寸的ATM网络的情形,存在更大的灵活性。具体地,有可能按每个数据(部分的)分组发送执行ACK发送,以及同时阻止使用任何昂贵的定时器机制,即,计数器现在是根据信元而不是分组(信元计数器)。因为信元尺寸典型地比TCP MSS尺寸的分组小得多,所以分组现在可用更细化的时间量化度被发送。即,α1和α2因子不再必须是整数,正如在基于分组的方案中那样。考虑一个恒定值,packet_cells,即,在(IP)TCP MSS中的信元数目: packet _ cells = ( [ ( TCP _ MSS + 40 ) 48 ] + 1 ) . - - - ( 1 )
再次参照图5,在阻塞期间,ACK分组532在每α1*packet_cells后被发送,以及在欠载期间,在每α2*packet_cells后被发送。对于大多数部分,ACK到达和信元离开方法与它们的基于分组的对应部分相同。例如,在每次信元发送以后,信元计数器被递减速,以及当它到达零时,缓存器534中的ACK分组532被ACK调度器520释放。在ACK分组缓存器534是空的期间,计数器值被适当地复位。
总之,在ATM网络上的TCP协议的性能是一个重要的领域。近来,提出了各种ACK定步方案来改进TCP与更先进的基础ATM传输类别(即,ABR流控,每个连接的排队)的交互作用。然而,这些方案受到参量灵敏度问题的影响,以及可能实际上很难实现。因此,揭示了一种能够在各种各样的网络情形中执行的、增强的ACK定步设备。该方案使用(更直接)队列长度阻塞信息来延迟TCP ACK分组,以及可实施各种各样的公平度准则。该方法提供改进端到端TCP通过量和带宽公平度的鲁棒的方式。在接入节点中的缓存需求也非常适用于各种各样的子网络。
本发明的示例性实施例的以上的说明是为了显示和说明的目的而给出的。不打算把本发明限制于所揭示的精确的形式。根据以上的教导,有可能作出许多修改和变动。不打算用这种详细说明来限制本发明的范围,而是打算用附属的权利要求来给出所述范围。

Claims (76)

1.用于响应于接收到来自源的数据分组而定步要被发送到源的确认分组的确认定步设备,包括:
确认控制单元,用于监视网络的负载和根据网络的负载产生控制信号,用于控制确认分组的处理;
确认分组缓存器,被耦合到确认控制单元,用于存储从确认控制单元接收的确认分组;以及
调度器,被耦合到确认控制单元和确认缓存器,调度器根据由确认控制单元产生的控制信号释放确认分组。
2.按照权利要求1的确认定步设备,其特征在于,其中调度器根据排队策略选择要被释放的确认分组。
3.按照权利要求2的确认定步设备,其特征在于,其中排队策略包括当使用集中确认分组缓存时发送排头的确认分组。
4.按照权利要求2的确认定步设备,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的加权循环处理过程。
5.按照权利要求4的确认定步设备,其特征在于,其中加权循环处理过程使用与TCP最大段尺寸成反比的加权因子,用于加权对释放的确认分组的选择,以便减少对较小的最大段尺寸流的偏斜。
6.按照权利要求2的确认定步设备,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的公平排队处理过程。
7.按照权利要求1的确认定步设备,其特征在于,其中确认控制单元还包括确认分组定步处理器,确认分组定步处理器通过使用确认分组到达处理器和数据分组离开处理器,而产生控制信号,用于控制确认分组的处理。
8.按照权利要求7的确认定步设备,其特征在于,其中确认分组到达处理器通过检验网络的阻塞并且判决是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中,而控制确认分组到确认分组缓存器的处理。
9.按照权利要求7的确认定步设备,其特征在于,其中确认分组到达处理器通过确定网络是否阻塞,确定确认分组缓存器是否空的,如果网络被阻塞或确认分组缓存器不是空的,则把确认分组存储在缓存器中,以及如果确认分组缓存器是空的或网络没有阻塞,则把确认分组转发给源,而决定是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中。
10.按照权利要求9的确认定步设备,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认分组被存储在确认分组缓存器中,以及被调度器选通送出。
11.按照权利要求10的确认定步设备,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认控制单元增加在从确认分组缓存器中被选通送出的确认分组之间的间隔。
12.按照权利要求11的确认定步设备,其特征在于,其中确认控制单元通过设置分组计数器变量为第一预定值而增加在确认分组之间的间隔。
13.按照权利要求12的确认定步设备,其特征在于,其中当数据分组从网络离开时,分组计数器变量被递减。
14.按照权利要求13的确认定步设备,其特征在于,其中当分组计数器变量被递减到零以及确认控制单元复位分组计数器变量时,调度器释放缓存的确认分组。
15.按照权利要求8的确认定步设备,其特征在于,其中网络的阻塞水平是通过分析代表数据分组缓存器容量的队列长度,而被确定的。
16.按照权利要求15的确认定步设备,其特征在于,其中当队列长度小于低的门限值时,网络被表示为非阻塞的。
17.按照权利要求15的确认定步设备,其特征在于,其中当队列长度大于高的门限值时,网络被表示为阻塞的。
18.按照权利要求7的确认定步设备,其特征在于,其中数据分组离开处理器通过监视网络的阻塞水平和决定何时把来自确认缓存器的确认分组选通到源,而控制确认分组从确认分组缓存器的释放。
19.按照权利要求18的确认定步设备,其特征在于,其中数据分组离开处理器通过检验确认分组是否处在确认分组缓存器中等待发送和由确认控制单元设置的分组计数器变量是否具有零的数值,以及当分组计数器变量具有零的数值时,释放在确认分组缓存器中缓存的确认分组给源,而决定何时把来自确认缓存器的确认分组选通到源。
20.按照权利要求19的确认定步设备,其特征在于,其中如果在网络中仍旧存在阻塞,则数据分组离开处理器增加在从确认分组缓存器中释放确认分组之间的间隔。
21.按照权利要求20的确认定步设备,其特征在于,其中确认分组的释放之间的间隔是通过把分组计数器变量复位为第一预定值,而被增加的。
22.按照权利要求21的确认定步设备,其特征在于,其中如果分组计数器变量值是非零的,则数据分组离开处理器使分组计数器变量递减。
23.按照权利要求22的确认定步设备,其特征在于,其中如果分组计数器变量大于第二预定值,则数据分组离开处理器把分组计数器变量复位到第二预定值,以防止阻塞时间间隔后带宽利用不足。
24.按照权利要求19的确认定步设备,其特征在于,其中如果网络中阻塞被消除,则数据分组离开处理器减小在从确认分组缓存器中释放确认分组之间的间隔。
25.按照权利要求24的确认定步设备,其特征在于,其中数据分组离开处理器通过把分组计数器变量复位到第二预定值,而减小在确认分组的释放之间的间隔,该第二预定值小于第一预定值。
26.按照权利要求25的确认定步设备,其特征在于,其中如果分组计数器变量值是非零的,则数据分组离开处理器使分组计数器变量递减。
27.按照权利要求26的确认定步设备,其特征在于,其中如果分组计数器变量大于第二预定值,则数据分组离开处理器把分组计数器变量复位到第二预定值,以防止阻塞时间间隔后带宽利用不足。
28.按照权利要求19的确认定步设备,其特征在于,其中网络的阻塞水平是通过分析代表数据分组缓存器的容量,而被确定的。
29.按照权利要求28的确认定步设备,其特征在于,其中当队列长度小于低的门限值时,网络被表示为非阻塞的。
30.按照权利要求28的确认定步设备,其特征在于,其中当队列长度大于高的门限值时,网络被表示为阻塞的。
31.按照权利要求1的确认定步设备,其特征在于,其中确认分组缓存器按集中的原则缓存确认分组。
32.按照权利要求1的确认定步设备,其特征在于,其中确认分组缓存器按流类型缓存确认分组,以及其中调度器,考虑到对于缓存的确认分组的流类型,释放在确认缓存器中的确认分组。
33.一种接入节点设备,包括:
链路层实体,用于接收来自源的数据分组和把数据分组转发到前向数据链路,该链路层实体把接收的数据分组存储在数据分组缓存器中,直至数据分组离开链路层实体和被转发到前向数据链路为止,以及
确认定步设备,被耦合到链路层实体,用于响应于接收到来自源的数据分组,定步要被发送到源的确认分组,该确认定步设备还包括:
确认控制单元,用于监视在链路层实体处的阻塞和根据在链路层实体处是否发生阻塞而产生控制信号,用于控制确认分组的处理;
确认分组缓存器,被耦合到确认控制单元,用于存储从确认控制单元接收的确认分组;以及
调度器,被耦合到确认控制单元和确认缓存器,调度器根据由确认控制单元产生的控制信号把确认分组释放给源。
34.按照权利要求33的接入节点设备,其特征在于,其中调度器根据排队策略选择要被释放的确认分组。
35.按照权利要求34的接入节点设备,其特征在于,其中排队策略包括当使用集中确认分组缓存时发送排头的确认分组。
36.按照权利要求34的接入节点设备,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的加权循环处理过程。
37.按照权利要求36的接入节点设备,其特征在于,其中加权循环处理过程使用与TCP最大段尺寸成反比的加权因子,用于加权对释放的确认分组的选择,以便减少对较小的最大段尺寸流的偏斜。
38.按照权利要求34的接入节点设备,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的公平排队(FQ)处理过程。
39.按照权利要求33的接入节点设备,其特征在于,其中确认控制单元还包括确认分组定步处理器,确认分组定步处理器通过使用确认分组到达处理器和数据分组离开处理器,而产生控制信号,用于控制确认分组的处理。
40.按照权利要求39的接入节点设备,其特征在于,其中确认分组到达处理器通过检验在链路层实体处的阻塞和判决是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中,而控制确认分组到确认分组缓存器的处理。
41.按照权利要求39的接入节点设备,其特征在于,其中确认分组到达处理器通过确定链路层实体是否阻塞,确定确认分组缓存器是否空的,如果链路层实体被阻塞,或确认分组缓存器不是空的,则把确认分组存储在缓存器中,以及如果确认分组缓存器是空的,或链路层实体没有阻塞,则把确认分组转发给源,而决定是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中。
42.按照权利要求41的接入节点设备,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认分组被存储在确认分组缓存器中,以及被调度器选通送出。
43.按照权利要求42的接入节点设备,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认控制单元增加在从确认分组缓存器中被选通送出的确认分组之间的间隔。
44.按照权利要求39的接入节点设备,其特征在于,其中如果链路层实体中阻塞被消除,则数据分组离开处理器减小在从确认分组缓存器中释放确认分组之间的间隔。
45.用于响应于接收到来自源的数据分组而提供对于要被发送到源的确认分组的确认定步的方法,包括:
监视网络的负载;
根据网络的负载,产生控制信号,用于控制确认分组的处理;
存储从确认控制单元接收的确认分组到确认分组缓存器中;以及
根据控制信号,释放确认分组。
46.按照权利要求45的方法,其特征在于,其中释放还包括根据排队策略选择确认分组释放。
47.按照权利要求46的方法,其特征在于,其中排队策略包括当使用集中确认分组缓存时发送排头的确认分组。
48.按照权利要求46的方法,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的加权循环处理过程。
49.按照权利要求48的方法,其特征在于,其中加权循环处理过程使用与TCP最大段尺寸成反比的加权因子,用于加权对释放的确认分组的选择,以便减少对较小的最大段尺寸流的偏斜。
50.按照权利要求46的方法,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的公平排队处理过程。
51.按照权利要求45的方法,其特征在于,其中产生控制信号用于控制确认分组的处理包括确认分组到达处理和数据分组离开处理。
52.按照权利要求51的方法,其特征在于,其中确认分组到达处理通过检验网络的阻塞和判决是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中,而控制确认分组到确认分组缓存器的处理。
53.按照权利要求51的方法,其特征在于,其中决定是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认缓存器中,还包括:确定网络是否阻塞,确定确认分组缓存器是否空的,如果网络被阻塞,或确认分组缓存器不是空的,则把确认分组存储在缓存器中,以及如果确认分组缓存器是空的,或网络没有阻塞,则把确认分组转发给源。
54.按照权利要求53方法,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认分组被存储在确认分组缓存器中以及被选通送出。
55.按照权利要求54的方法,其特征在于,还包括如果确认分组是要被缓存在确认分组缓存器中的第一确认分组,则增加在从确认分组缓存器中被选通送出的确认分组之间的间隔。
56.按照权利要求55的方法,其特征在于,其中增加间隔还包括把分组计数器变量设置为第一预定值。
57.按照权利要求56的方法,其特征在于,其中还包括当数据分组从网络离开时,将分组计数器变量递减。
58.按照权利要求57的方法,其特征在于,还包括当分组计数器变量被递减到零以及复位分组计数器变量时,释放缓存的确认分组。
59.按照权利要求52的方法,其特征在于,其中网络的阻塞水平是通过分析代表数据分组缓存器容量的队列长度,而被确定的。
60.按照权利要求59的方法,其特征在于,还包括当队列长度小于低的门限值时,网络被表示为非阻塞的。
61.按照权利要求59的方法,其特征在于,其中当队列长度大于高的门限值时,网络被表示为阻塞的。
62.按照权利要求51的方法,其特征在于,其中释放还包括监视网络的阻塞水平和决定何时把来自确认分组缓存器的确认分组选通到源。
63.按照权利要求62的方法,其特征在于,其中决定还包括检验确认分组是否处在确认分组缓存器中等待发送和由确认控制单元设置的分组计数器变量是否具有零的数值,以及当分组计数器变量具有零的数值时,释放在确认分组缓存器中缓存的确认分组。
64.按照权利要求63的方法,其特征在于,其中数据分组离开处理还包括如果在网络中仍旧存在阻塞,则增加在从确认分组缓存器中释放确认分组之间的间隔。
65.按照权利要求64的方法,其特征在于,其中增加还包括把分组计数器变量复位为第一预定值。
66.按照权利要求65的方法,其特征在于,其中数据分组离开处理还包括如果分组计数器变量值是非零的,则使分组计数器变量递减。
67.按照权利要求66的方法,其特征在于,其中数据分组离开处理还包括如果分组计数器变量大于第二预定值,则把分组计数器变量复位到第二预定值,以防止阻塞时间间隔后带宽利用不足。
68.按照权利要求63的方法,其特征在于,其中数据分组离开处理还包括如果网络中阻塞被消除,则减小在从确认分组缓存器中释放确认分组之间的间隔。
69.按照权利要求68的方法,其特征在于,其中数据分组离开处理还包括通过把分组计数器变量复位到第二预定值,而减小在确认分组的释放之间的间隔,该第二预定值小于第一预定值。
70.按照权利要求69的方法,其特征在于,其中数据分组离开处理还包括如果分组计数器变量值是非零的,则使分组计数器变量递减。
71.按照权利要求70的方法,其特征在于,其中数据分组离开处理还包括如果分组计数器变量大于第二预定值,则把分组计数器变量复位到第二预定值,以防止阻塞时间间隔后带宽利用不足。
72.按照权利要求63的方法,其特征在于,其中确定网络的阻塞水平还包括分析代表数据分组缓存器的容量的队列长度。
73.按照权利要求72的方法,其特征在于,还包括当队列长度小于低的门限值时,网络被表示为非阻塞的。
74.按照权利要求72的方法,其特征在于,还包括当队列长度大于高的门限值时,网络被表示为阻塞的。
75.按照权利要求45的方法,其特征在于,其中存储还包括按集中的原则缓存确认分组。
76.按照权利要求45的方法,其特征在于,其中存储还包括按流类型缓存确认分组,以及其中释放还包括通过考虑对于缓存的确认分组的流类型,调度在确认缓存器中的确认分组的释放。
CNB998160717A 1998-10-07 1999-10-06 用于tcp连接的增强确认定步设备和方法 Expired - Fee Related CN1134945C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/167,882 US6215769B1 (en) 1998-10-07 1998-10-07 Enhanced acknowledgment pacing device and method for TCP connections
US09/167,882 1998-10-07

Publications (2)

Publication Number Publication Date
CN1344456A CN1344456A (zh) 2002-04-10
CN1134945C true CN1134945C (zh) 2004-01-14

Family

ID=22609207

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB998160717A Expired - Fee Related CN1134945C (zh) 1998-10-07 1999-10-06 用于tcp连接的增强确认定步设备和方法

Country Status (7)

Country Link
US (1) US6215769B1 (zh)
EP (1) EP1169826B1 (zh)
JP (1) JP4417566B2 (zh)
CN (1) CN1134945C (zh)
AU (1) AU6289099A (zh)
DE (1) DE69942071D1 (zh)
WO (1) WO2000021233A2 (zh)

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085227B1 (en) * 2001-05-11 2006-08-01 Cisco Technology, Inc. Method for testing congestion avoidance on high speed networks
EP1040431B1 (en) 1997-12-24 2005-03-30 America Online, Inc. Localization of clients and servers
US6590885B1 (en) 1998-07-10 2003-07-08 Malibu Networks, Inc. IP-flow characterization in a wireless point to multi-point (PTMP) transmission system
US6628629B1 (en) 1998-07-10 2003-09-30 Malibu Networks Reservation based prioritization method for wireless transmission of latency and jitter sensitive IP-flows in a wireless point to multi-point transmission system
US6640248B1 (en) 1998-07-10 2003-10-28 Malibu Networks, Inc. Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer
US6594246B1 (en) 1998-07-10 2003-07-15 Malibu Networks, Inc. IP-flow identification in a wireless point to multi-point transmission system
US6452915B1 (en) 1998-07-10 2002-09-17 Malibu Networks, Inc. IP-flow classification in a wireless point to multi-point (PTMP) transmission system
US6862622B2 (en) * 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
US6680922B1 (en) 1998-07-10 2004-01-20 Malibu Networks, Inc. Method for the recognition and operation of virtual private networks (VPNs) over a wireless point to multi-point (PtMP) transmission system
CA2249152C (en) * 1998-09-30 2003-07-08 Northern Telecom Limited Apparatus for and method of managing bandwidth for a packet-based connection
US6556578B1 (en) * 1999-04-14 2003-04-29 Lucent Technologies Inc. Early fair drop buffer management method
US7023800B1 (en) * 1999-06-01 2006-04-04 Microsoft Corporation Congestion avoidance within aggregate channels
SE516871C2 (sv) * 1999-06-23 2002-03-12 Teracom Ab Metod för flödesstyrning i ett datakommunikationsnät
US6570851B1 (en) * 1999-07-01 2003-05-27 Nokia Telecommunications Oy Receiver driven differentiated service marking for unicast and multicast applications
US6603771B1 (en) 1999-07-02 2003-08-05 Cypress Semiconductor Corp. Highly scalable architecture for implementing switch fabrics with quality of services
US6584517B1 (en) * 1999-07-02 2003-06-24 Cypress Semiconductor Corp. Circuit and method for supporting multicast/broadcast operations in multi-queue storage devices
US6628656B1 (en) 1999-08-09 2003-09-30 Cypress Semiconductor Corp. Circuit, method and/or architecture for improving the performance of a serial communication link
US6625177B1 (en) 1999-08-09 2003-09-23 Cypress Semiconductor Corp. Circuit, method and/or architecture for improving the performance of a serial communication link
US6990070B1 (en) 1999-12-17 2006-01-24 Nortel Networks Limited Method and apparatus for adjusting packet transmission volume from a source
US6785234B1 (en) * 1999-12-22 2004-08-31 Cisco Technology, Inc. Method and apparatus for providing user control of audio quality
US6721786B1 (en) * 2000-01-06 2004-04-13 International Business Machines Corporation Method and apparatus for balancing bandwidth usage in a browser
US7103635B2 (en) * 2000-01-28 2006-09-05 Lucent Technologies Inc. Really simple mail transport protocol
JP2001237882A (ja) * 2000-02-23 2001-08-31 Nec Corp パケットデータ転送におけるパケットサイズ制御装置及びその制御方法
JP3604615B2 (ja) * 2000-04-21 2004-12-22 株式会社東芝 通信装置、中継装置および通信制御方法
US6894974B1 (en) * 2000-05-08 2005-05-17 Nortel Networks Limited Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
US6876639B1 (en) * 2000-06-01 2005-04-05 Nortel Networks Limited Transmission control protocol handoff notification system and method
US6741555B1 (en) * 2000-06-14 2004-05-25 Nokia Internet Communictions Inc. Enhancement of explicit congestion notification (ECN) for wireless network applications
US6910063B1 (en) * 2000-06-28 2005-06-21 Microsoft Corporation System and method of enhancing web server throughput in single and multiple processor systems
US7031267B2 (en) * 2000-12-21 2006-04-18 802 Systems Llc PLD-based packet filtering methods with PLD configuration data update of filtering rules
US7013482B1 (en) * 2000-07-07 2006-03-14 802 Systems Llc Methods for packet filtering including packet invalidation if packet validity determination not timely made
US7047312B1 (en) * 2000-07-26 2006-05-16 Nortel Networks Limited TCP rate control with adaptive thresholds
US7200111B2 (en) * 2000-08-31 2007-04-03 The Regents Of The University Of California Method for improving TCP performance over wireless links
US6816458B1 (en) * 2000-09-13 2004-11-09 Harris Corporation System and method prioritizing message packets for transmission
US6826153B1 (en) 2000-09-13 2004-11-30 Jeffrey Kroon System and method of increasing the message throughput in a radio network
US6856599B1 (en) * 2000-09-13 2005-02-15 Harris Corporation System and method of reducing retransmission of messages in a TCP/IP environment
US6826152B1 (en) 2000-09-13 2004-11-30 Harris Corporation System and method of conserving bandwidth in the transmission of message packets
US6625711B1 (en) * 2000-11-16 2003-09-23 Cypress Semiconductor Corp. Method and/or architecture for implementing queue expansion in multiqueue devices
US20020080784A1 (en) * 2000-12-21 2002-06-27 802 Systems, Inc. Methods and systems using PLD-based network communication protocols
US7542419B2 (en) * 2001-04-02 2009-06-02 International Business Machines Corporation Method and apparatus for managing aggregate bandwidth at a server
US6961309B2 (en) * 2001-04-25 2005-11-01 International Business Machines Corporation Adaptive TCP delayed acknowledgment
AU2002303501A1 (en) * 2001-04-27 2002-11-11 Wanwall, Inc. Weighted fair queuing-based methods and apparatus for protecting against overload conditions on nodes of a distributed network
US7050393B2 (en) * 2001-05-10 2006-05-23 International Business Machines Corporation Method, system, and product for alleviating router congestion
US20030002497A1 (en) * 2001-06-29 2003-01-02 Anil Vasudevan Method and apparatus to reduce packet traffic across an I/O bus
US7000024B1 (en) * 2001-07-09 2006-02-14 Cisco Technology, Inc. Systems and methods for providing transmission control protocol communications
US7006834B2 (en) 2001-10-29 2006-02-28 Qualcomm Incorporated Base station time calibration using position measurement data sent by mobile stations during regular position location sessions
CA2473863A1 (en) * 2001-11-13 2003-05-22 Ems Technologies, Inc. Enhancements for tcp perfomance enhancing proxies
US7266612B1 (en) 2002-02-14 2007-09-04 At&T Corp. Network having overload control using deterministic early active drops
US7283469B2 (en) * 2002-04-30 2007-10-16 Nokia Corporation Method and system for throughput and efficiency enhancement of a packet based protocol in a wireless network
US7236459B1 (en) * 2002-05-06 2007-06-26 Packeteer, Inc. Method and apparatus for controlling data transmission volume using explicit rate control and queuing without data rate supervision
US8046484B2 (en) * 2002-09-26 2011-10-25 Sharp Laboratories Of America, Inc. Transmitting data across a contention channel in a centralized network
US7428595B2 (en) * 2002-09-30 2008-09-23 Sharp Laboratories Of America, Inc. System and method for streaming TCP messages in an enterprise network
KR100460958B1 (ko) * 2002-12-04 2004-12-09 삼성전자주식회사 비대칭 네트워크 환경에서의 tcp의 데이터 전송효율을향상시킬 수 있는 통신시스템 및 그 방법
US7307952B2 (en) * 2002-12-20 2007-12-11 Intel Corporation Method and apparatus to determine whether data flow is restricted by a sending node, a receiving node, or by a network
US7225266B2 (en) * 2002-12-20 2007-05-29 Nokia Corporation Adaptive delayed ACK switching for TCP applications
US7389336B2 (en) 2003-01-24 2008-06-17 Microsoft Corporation Pacing network packet transmission using at least partially uncorrelated network events
US7583594B2 (en) * 2003-01-31 2009-09-01 Texas Instruments Incorporated Adaptive transmit window control mechanism for packet transport in a universal port or multi-channel environment
JP4227621B2 (ja) * 2003-03-20 2009-02-18 ノキア シーメンス ネットワークス ゲゼルシャフト ミット ベシュレンクテル ハフツング ウント コンパニー コマンディトゲゼルシャフト データパケットの伝送方法および送信機
US8230106B2 (en) * 2003-03-31 2012-07-24 Alcatel Lucent Methods and apparatus for improved transmission control protocol transmission over a wireless channel exhibiting rate and delay variations
US20040223506A1 (en) * 2003-05-08 2004-11-11 Renesas Technology Corp. Packet communication device sending delayed acknowledgement through network
US7352700B2 (en) * 2003-09-09 2008-04-01 Lucent Technologies Inc. Methods and devices for maximizing the throughput of TCP/IP data along wireless links
US7502322B2 (en) * 2003-09-30 2009-03-10 Nokia Corporation System, method and computer program product for increasing throughput in bi-directional communications
US7613115B2 (en) * 2003-10-31 2009-11-03 International Business Machines Corporation Minimal delay transmission of short messages
US7349337B1 (en) * 2003-12-12 2008-03-25 Novell, Inc. Techniques for shaping data transmission rates
US7546367B2 (en) 2004-01-15 2009-06-09 Novell, Inc. Methods and systems for managing network traffic by multiple constraints
GR1006334B (el) * 2005-03-09 2009-04-14 Βασιλειος Συρης Δρομολογητης προσβασης για παροχη διαφοροποιημενων υπηρεσιων σε ασυρματα δικτυα 802.11
US7577097B2 (en) * 2005-03-22 2009-08-18 Microsoft Corporation Compound transmission control protocol
US7583600B1 (en) * 2005-09-07 2009-09-01 Sun Microsytems, Inc. Schedule prediction for data link layer packets
US20070073933A1 (en) * 2005-09-13 2007-03-29 International Business Machines Corporation Asynchronous interface with vectored interface controls
US7719967B2 (en) 2005-09-28 2010-05-18 Netapp, Inc. Cumulative TCP congestion control
US7680044B2 (en) * 2005-12-29 2010-03-16 Panasonic Electric Works Co., Ltd. Systems and methods for managing traffic within a peer-to-peer network
US8091132B2 (en) * 2006-03-03 2012-01-03 New Jersey Institute Of Technology Behavior-based traffic differentiation (BTD) for defending against distributed denial of service (DDoS) attacks
US7869366B1 (en) 2006-03-28 2011-01-11 Packeteer, Inc. Application-aware rate control
TWI347103B (en) * 2006-06-01 2011-08-11 Innovative Sonic Ltd Dual receiving window method and apparatus for automatic retransmission request
JP4664243B2 (ja) * 2006-06-29 2011-04-06 富士通株式会社 通信装置
US8289965B2 (en) 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US7948909B2 (en) * 2006-06-30 2011-05-24 Embarq Holdings Company, Llc System and method for resetting counters counting network performance information at network communications devices on a packet network
US8000318B2 (en) * 2006-06-30 2011-08-16 Embarq Holdings Company, Llc System and method for call routing based on transmission performance of a packet network
US8488447B2 (en) 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
US8194643B2 (en) * 2006-10-19 2012-06-05 Embarq Holdings Company, Llc System and method for monitoring the connection of an end-user to a remote network
US8717911B2 (en) 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
US9094257B2 (en) 2006-06-30 2015-07-28 Centurylink Intellectual Property Llc System and method for selecting a content delivery network
US8184549B2 (en) * 2006-06-30 2012-05-22 Embarq Holdings Company, LLP System and method for selecting network egress
US8274905B2 (en) 2006-08-22 2012-09-25 Embarq Holdings Company, Llc System and method for displaying a graph representative of network performance over a time period
US8130793B2 (en) 2006-08-22 2012-03-06 Embarq Holdings Company, Llc System and method for enabling reciprocal billing for different types of communications over a packet network
US8549405B2 (en) 2006-08-22 2013-10-01 Centurylink Intellectual Property Llc System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8098579B2 (en) * 2006-08-22 2012-01-17 Embarq Holdings Company, LP System and method for adjusting the window size of a TCP packet through remote network elements
US8125897B2 (en) * 2006-08-22 2012-02-28 Embarq Holdings Company Lp System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets
US8224255B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for managing radio frequency windows
US8228791B2 (en) 2006-08-22 2012-07-24 Embarq Holdings Company, Llc System and method for routing communications between packet networks based on intercarrier agreements
US8064391B2 (en) * 2006-08-22 2011-11-22 Embarq Holdings Company, Llc System and method for monitoring and optimizing network performance to a wireless device
US9479341B2 (en) 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US8576722B2 (en) 2006-08-22 2013-11-05 Centurylink Intellectual Property Llc System and method for modifying connectivity fault management packets
US8040811B2 (en) * 2006-08-22 2011-10-18 Embarq Holdings Company, Llc System and method for collecting and managing network performance information
US8223655B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for provisioning resources of a packet network based on collected network performance information
US8743703B2 (en) 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US8531954B2 (en) 2006-08-22 2013-09-10 Centurylink Intellectual Property Llc System and method for handling reservation requests with a connection admission control engine
US8107366B2 (en) 2006-08-22 2012-01-31 Embarq Holdings Company, LP System and method for using centralized network performance tables to manage network communications
US20080049629A1 (en) * 2006-08-22 2008-02-28 Morrill Robert J System and method for monitoring data link layer devices and optimizing interlayer network performance
US8407765B2 (en) 2006-08-22 2013-03-26 Centurylink Intellectual Property Llc System and method for restricting access to network performance information tables
US8144587B2 (en) * 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for load balancing network resources using a connection admission control engine
US8199653B2 (en) * 2006-08-22 2012-06-12 Embarq Holdings Company, Llc System and method for communicating network performance information over a packet network
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US8238253B2 (en) * 2006-08-22 2012-08-07 Embarq Holdings Company, Llc System and method for monitoring interlayer devices and optimizing network performance
US8750158B2 (en) 2006-08-22 2014-06-10 Centurylink Intellectual Property Llc System and method for differentiated billing
US7684332B2 (en) 2006-08-22 2010-03-23 Embarq Holdings Company, Llc System and method for adjusting the window size of a TCP packet through network elements
US8194555B2 (en) * 2006-08-22 2012-06-05 Embarq Holdings Company, Llc System and method for using distributed network performance information tables to manage network communications
US7889660B2 (en) * 2006-08-22 2011-02-15 Embarq Holdings Company, Llc System and method for synchronizing counters on an asynchronous packet communications network
US8144586B2 (en) * 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for controlling network bandwidth with a connection admission control engine
US8307065B2 (en) * 2006-08-22 2012-11-06 Centurylink Intellectual Property Llc System and method for remotely controlling network operators
US8619600B2 (en) 2006-08-22 2013-12-31 Centurylink Intellectual Property Llc System and method for establishing calls over a call path having best path metrics
US7808918B2 (en) 2006-08-22 2010-10-05 Embarq Holdings Company, Llc System and method for dynamically shaping network traffic
US8102770B2 (en) * 2006-08-22 2012-01-24 Embarq Holdings Company, LP System and method for monitoring and optimizing network performance with vector performance tables and engines
US8537695B2 (en) 2006-08-22 2013-09-17 Centurylink Intellectual Property Llc System and method for establishing a call being received by a trunk on a packet network
US8189468B2 (en) 2006-10-25 2012-05-29 Embarq Holdings, Company, LLC System and method for regulating messages between networks
US7940735B2 (en) * 2006-08-22 2011-05-10 Embarq Holdings Company, Llc System and method for selecting an access point
US8379515B1 (en) 2007-02-01 2013-02-19 F5 Networks, Inc. TCP throughput control by imposing temporal delay
US8111692B2 (en) * 2007-05-31 2012-02-07 Embarq Holdings Company Llc System and method for modifying network traffic
FR2922391B1 (fr) * 2007-10-15 2009-12-04 Canon Kk Procede et dispositif de transmission de donnees
EP2232791B1 (en) * 2007-12-28 2013-07-10 Bytemobile, Inc. Tcp packet spacing
US9578055B1 (en) 2008-01-25 2017-02-21 F5 Networks, Inc. Thwarting drone-waged denial of service attacks on a network
US8068425B2 (en) 2008-04-09 2011-11-29 Embarq Holdings Company, Llc System and method for using network performance information to determine improved measures of path states
US8331231B2 (en) 2008-09-09 2012-12-11 Centurylink Intellectual Property Llc System and method for monitoring bursting traffic
US20110249557A1 (en) * 2008-12-19 2011-10-13 Indian Institute Of Science Centralized Wireless Manager (WiM) for Performance Management of IEEE 802.11 and a Method Thereof
US8374091B2 (en) * 2009-03-26 2013-02-12 Empire Technology Development Llc TCP extension and variants for handling heterogeneous applications
US8780705B2 (en) * 2009-04-30 2014-07-15 Freescale Semiconductor, Inc. Apparatus, communications system and method for optimizing data packet flow
US8964543B1 (en) 2010-02-16 2015-02-24 Google Inc. System and method of reducing latency by transmitting duplicate packets over a network
US8325623B1 (en) 2010-02-16 2012-12-04 Google Inc. System and method for reducing latency during data transmissions over a network
JP5352852B2 (ja) * 2010-03-19 2013-11-27 株式会社日立製作所 移動通信システム、及び通信方法
US8335160B2 (en) * 2010-03-30 2012-12-18 Telefonaktiebolaget L M Ericsson (Publ) Flow sampling with top talkers
US8468196B1 (en) 2010-05-20 2013-06-18 Google Inc. System and method of reducing latency using adaptive retransmission timeouts
US8239532B1 (en) 2010-06-24 2012-08-07 Google Inc. System and method of reducing latency using adaptive DNS resolution
CN101867972B (zh) * 2010-06-29 2012-12-12 中国科学院计算技术研究所 无线链路控制层非确认模式下的数据传输方法
US8576711B1 (en) 2010-09-28 2013-11-05 Google Inc. System and method for reducing latency via client side dynamic acknowledgements
DE102011011400B4 (de) * 2011-02-17 2012-10-11 Innoroute Gmbh Verfahren und Anordnung zur Vermeidung von Überlast auf der Teilnehmeranschlussleitung
CN102143078B (zh) * 2011-03-29 2013-10-02 华为技术有限公司 一种报文处理方法、转发设备及系统
WO2013060378A1 (en) 2011-10-28 2013-05-02 Telecom Italia S.P.A. Apparatus and method for selectively delaying network data flows
WO2013091159A1 (zh) * 2011-12-19 2013-06-27 北京瑞星信息技术有限公司 变频杀毒技术
WO2013139010A1 (zh) * 2012-03-21 2013-09-26 华为技术有限公司 确认包的处理方法、设备及系统
US9276967B2 (en) 2012-07-27 2016-03-01 Centurylink Intellectual Property Llc System and method for determining optimal bandwidth for streaming to a client device in an adjustable bit rate video system
US8917739B2 (en) * 2013-01-15 2014-12-23 Fluke Corporation Method and apparatus to dynamically sample NRT using a double-ended queue that allows for seamless transition from full NRT analysis to sampled NRT analysis
US9985899B2 (en) 2013-03-28 2018-05-29 British Telecommunications Public Limited Company Re-marking of packets for queue control
CN104184677B (zh) * 2013-05-24 2018-12-14 中兴通讯股份有限公司 一种流量整形的驱动方法及驱动器
CN105264843B (zh) * 2013-06-07 2020-06-05 苹果公司 在通信设备中管理待发送的确认数据包
GB201313760D0 (en) * 2013-07-31 2013-09-18 British Telecomm Fast friendly start for a data flow
US9319329B2 (en) * 2013-10-14 2016-04-19 Google Inc. Pacing enhanced packet forwarding/switching and congestion avoidance
CN104811998B (zh) * 2014-01-27 2018-08-21 华为技术有限公司 一种控制传输控制协议窗口调整的方法和无线接入点
EP3332522B8 (en) 2015-08-06 2019-07-31 British Telecommunications public limited company Data packet network
EP3332519B8 (en) 2015-08-06 2019-07-31 British Telecommunications public limited company Data packet network
CN107786307A (zh) * 2017-09-21 2018-03-09 上海华为技术有限公司 一种数据处理方法及终端
US10560391B2 (en) * 2018-01-18 2020-02-11 Cisco Technology, Inc. Adaptive acknowledgement control
US11784933B2 (en) * 2020-12-08 2023-10-10 Google Llc Traffic shaping offload on a network interface controller

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2540930B2 (ja) 1988-02-19 1996-10-09 日本電気株式会社 輻輳制御装置
JPH0583377A (ja) 1991-09-25 1993-04-02 Nec Corp 加入者回線試験方式
DE4323405A1 (de) 1993-07-13 1995-01-19 Sel Alcatel Ag Zugangskontrollverfahren für einen Pufferspeicher sowie Vorrichtung zum Zwischenspeichern von Datenpaketen und Vermittlungsstelle mit einer solchen Vorrichtung
DE19507569C2 (de) 1995-03-03 1997-02-13 Siemens Ag Schaltungsanordnung zur Aufnahme und Weiterleitung von Nachrichtenzellen durch eine ATM-Kommunikationseinrichtung
DE19507570C2 (de) 1995-03-03 1997-08-21 Siemens Ag Verfahren und Schaltungsanordnung zum Weiterleiten von über eine ATM-Kommunikationseinrichtung übertragenen Nachrichtenzellen an eine Abnehmerleitung
US5805577A (en) 1995-07-20 1998-09-08 Jain; Raj Erica: explicit rate indication for congestion avoidance in ATM networks
US5768627A (en) 1995-12-15 1998-06-16 On Spec Electronic, Inc. External parallel-port device using a timer to measure and adjust data transfer rate
US5812527A (en) 1996-04-01 1998-09-22 Motorola Inc. Simplified calculation of cell transmission rates in a cell based netwook
JP2001501785A (ja) * 1996-05-10 2001-02-06 フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド 異種のフロー制御能力を有する多重ネットワークを介してフロー制御を可能にする方法及び装置
US5805585A (en) 1996-08-22 1998-09-08 At&T Corp. Method for providing high speed packet data services for a wireless system
US6078564A (en) * 1996-08-30 2000-06-20 Lucent Technologies, Inc. System for improving data throughput of a TCP/IP network connection with slow return channel
US6038606A (en) * 1997-11-25 2000-03-14 International Business Machines Corp. Method and apparatus for scheduling packet acknowledgements

Also Published As

Publication number Publication date
EP1169826A4 (en) 2006-04-05
WO2000021233A8 (en) 2001-03-15
DE69942071D1 (de) 2010-04-08
WO2000021233A3 (en) 2001-10-25
JP4417566B2 (ja) 2010-02-17
CN1344456A (zh) 2002-04-10
WO2000021233A2 (en) 2000-04-13
AU6289099A (en) 2000-04-26
US6215769B1 (en) 2001-04-10
WO2000021233A9 (en) 2002-04-11
EP1169826A2 (en) 2002-01-09
EP1169826B1 (en) 2010-02-24
JP2002527936A (ja) 2002-08-27

Similar Documents

Publication Publication Date Title
CN1134945C (zh) 用于tcp连接的增强确认定步设备和方法
CA2227244C (en) A method for supporting per-connection queuing for feedback-controlled traffic
EP0275678B1 (en) Packet switching system arranged for congestion control through bandwidth management
EP0829986B1 (en) System for improving data throughput of a TCP/IP Network connection with slow return channel
US6925060B2 (en) Method and unit for controlling the flow of a TCP connection on a flow controlled network
Lin et al. Dynamics of random early detection
US7280477B2 (en) Token-based active queue management
US6788697B1 (en) Buffer management scheme employing dynamic thresholds
US6894974B1 (en) Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
US7161907B2 (en) System and method for dynamic rate flow control
US6829649B1 (en) Method an congestion control system to allocate bandwidth of a link to dataflows
US6674718B1 (en) Unified method and system for scheduling and discarding packets in computer networks
US20130194929A1 (en) System and methods for distributed quality of service enforcement
CN1910868B (zh) 用于控制队列缓冲器的方法及装置
CN103999414B (zh) 一种归因针对相应用户寄存器的共享资源的拥塞贡献的方法和装置
US20070297414A1 (en) Cooperative Operation of Network Transport and Network Quality of Service Modules
US20090010165A1 (en) Apparatus and method for limiting packet transmission rate in communication system
EP1232627B1 (en) Method and system for controlling transmission of packets in computer networks
Aweya et al. Multi-level active queue management with dynamic thresholds
JP2003298638A (ja) パケット伝送装置及びその方法
Garcia-Luna-Aceves Enhancing End-to-End Transport with Packet Trimming
Morgan et al. Packet-pair rate control—buffer requirements and overload performance
Aweya et al. TCP rate control with dynamic buffer sharing
CN114884884A (zh) 一种拥塞控制方法及装置
Kabari Simulation of an Optimized Data Packet Transmission in a Congested Network

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170110

Address after: Espoo, Finland

Patentee after: NOKIA TECHNOLOGIES OY

Address before: Espoo, Finland

Patentee before: Nokia Corp.

Effective date of registration: 20170110

Address after: Espoo, Finland

Patentee after: NOKIA Corp.

Address before: Espoo, Finland

Patentee before: Nokia Networks OY

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: 20040114

Termination date: 20171006