CN114868370A - 用于减少网络时延的方法和系统 - Google Patents

用于减少网络时延的方法和系统 Download PDF

Info

Publication number
CN114868370A
CN114868370A CN202080006599.3A CN202080006599A CN114868370A CN 114868370 A CN114868370 A CN 114868370A CN 202080006599 A CN202080006599 A CN 202080006599A CN 114868370 A CN114868370 A CN 114868370A
Authority
CN
China
Prior art keywords
inter
wan
network device
connection
connections
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080006599.3A
Other languages
English (en)
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.)
Pismo Labs Technology Ltd
Original Assignee
Pismo Labs Technology Ltd
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 Pismo Labs Technology Ltd filed Critical Pismo Labs Technology Ltd
Publication of CN114868370A publication Critical patent/CN114868370A/zh
Pending legal-status Critical Current

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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/11Identifying congestion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开用于减少网络时延的方法和系统。第一网络装置与第二网络装置建立多个连接。然后,确定所述多个连接中的每一个的非拥塞时延。向所述多个连接中的每一个分配加权值。根据第一准则,当连接的性能降低时减小所述连接的所述加权值。所述第一网络装置可在一时间间隔之后再次执行权重减小。最后,根据所述加权值,通过所述多个连接发送数据包。

Description

用于减少网络时延的方法和系统
技术领域
本发明总体上涉及计算机网络的领域,更具体地说,本发明涉及用于通过减少网络时延来提高网络性能的方法和系统。
背景技术
一个网络中,网络性能可能会有所不同。时延是一个被广泛用于衡量网络性能的性能度量。
当连接的时延增加时,这通常意味着连接变得拥塞。当连接拥塞时,可能会出现缓存过满(bufferbloat)现象,这可能会导致数据包排队的时间更长。这可能会导致一些实时应用程序严重延迟,例如即时消息服务、IP语音(voice over IP,VoIP)、在线游戏、IP电视应用程序。
在先进先出队列管理网络中,缓存过多可能会使时延显著增加。
除了简单地使缓存变小外,已知多种技术可以防止缓存过满所造成的影响。例如,在网络拥塞期间,可以丢弃一些数据包,或者用适当的显式拥塞通知(ExplicitCongestion Notification,ECN)位标记数据包。另一种已知技术是主动队列管理(ActiveQueue Management,AQM)。AQM允许路由器管理其队列大小,以防缓存被广泛使用,同时在需要时仍使用缓存。另一种已知的技术实施方案是随机早期检测(Random Early Detection,RED)。然而,当网络装置有多个WAN发送数据包时,所有这些已知技术都无法提高网络的总体性能。
发明内容
本发明公开用于减少网络时延的方法和系统。第一网络装置与第二网络装置建立多个连接。然后,确定所述多个连接中的每一个的非拥塞时延。向所述多个连接中的每一个分配加权值。根据第一准则,当连接的性能降低时减小所述连接的所述加权值。所述第一网络装置可在一时间间隔之后再次执行权重减小。最后,根据所述加权值,通过所述多个连接发送数据包。
附图说明
图1A和1B示出根据本发明的各种实施例的网络环境。
图2A是根据本发明的实施例的存储WAN间(WAN-to-WAN)连接的初始加权值的表格。
图2B是根据本发明的实施例的存储WAN间连接的非拥塞时延的表格。
图2C是示出用于在通过多个WAN间连接发送数据包之前向WAN间连接分配初始加权值的方法的流程图。
图2D是根据本发明的实施例的WAN间连接的估计时延的表格。
图2E是根据本发明的实施例的每个WAN间连接的加权值的表格。
图2F是根据本发明的实施例的每个WAN间连接的加权值的另一表格。
图2G是根据本发明的实施例的存储WAN间连接的初始加权值的表格。
图3A是根据本发明的实施例的示出用于在发送数据包时改变加权值的方法的流程图。
图3B是根据本发明的实施例的示出在一时间段期间WAN间连接的估计时延的表格。
图4A是本发明的网络装置的框图。
图4B是本发明的另一网络装置的框图。
图5A是示出在不具有TCP加速的情况下进行数据包传输的时序图。
图5B是示出在具有TCP加速的情况下进行数据包传输的时序图。
图5C是根据本发明的实施例的示出在具有TCP加速的情况下进行数据包传输的时序图。
图6是根据本发明的实施例的示出网络装置如何将用于WAN间连接的数据包排成队列的框图。
图7示出根据本发明的实施例的适配系统。
图8A是根据本发明的实施例的每个WAN接口的加权值的表格。
图8B是根据本发明的实施例的每个WAN接口的时延的表格。
图9是根据本发明的实施例的示出用于在发送数据包时改变WAN接口的加权值的方法的流程图。
具体实施方式
本发明有利地解决了上述需要,其提供了通过减少由缓存过满引起的时延来实现改进的网络性能的系统和方法。
以下说明仅提供了优选示例性实施例和示例性实施例,且不意图限制本发明的范围、适用性或配置。实际上,优选示例性实施例和示例性实施例的以下说明将为所属领域的技术人员提供实施本发明的优选示例性实施例的有效说明。应理解,在不脱离如在所附权利要求书中阐述的本发明的精神和范围的情况下可以对元件的功能以及布置进行各种改变。
处理单元执行程序指令或代码段以实施本发明的实施例。此外,实施例可通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当用软件、固件、中间件或微码来实施时,用于执行必要任务的程序指令可以存储在计算机可读存储介质中。处理单元可以通过虚拟化来实现,并且可以是虚拟处理单元,包含基于云的实例中的虚拟处理单元。
构成各种实施例的程序指令可以存储在存储介质中。此外,如本文所公开的,术语“计算机可读存储介质”可以表示用于存储数据的一个或多个装置,包含只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、随机存取存储器(RAM)、磁RAM、磁芯存储器、软磁盘、软盘、硬盘、磁带、CD-ROM、快闪存储器装置、存储卡和/或用于存储信息的其它机器可读介质。术语“计算机可读存储介质”还可以包含但不限于便携式或固定存储装置、光学存储介质、磁介质、存储器芯片或盒式磁盘、无线信道以及能够存储、容纳或承载指令和/或数据的各种其它介质。计算机可读存储介质可以通过虚拟化来实现,并且可以是虚拟计算机可读存储介质,包含基于云的实例中的虚拟计算机可读存储介质。
本发明的实施例涉及使用计算机系统来实施本文所描述的技术。在实施例中,本发明的处理单元可以驻存在计算机平台等机器上。根据本发明的一个实施例,本文中所描述的技术由计算机系统响应于处理单元执行易失性存储器中所含的一个或多个指令的一个或多个序列来执行。此类指令可以从另一计算机可读介质读取到易失性存储器中。对易失性存储器中所含的指令的序列的执行使得处理单元执行本文中所描述的过程步骤。在替代实施例中,硬接线电路可以代替或结合软件指令使用来实施本发明。因此,本发明的实施例不限于硬件电路和软件的任何特定组合。
并且,应注意,实施例可以描述为过程,所述过程被描绘为流程图、流程图表、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,操作的次序可以重新布置。过程在其操作完成时终止,但是可以具有不包含在图中的额外步骤。过程可以与方法、函数、程序、子例程、子程序等相对应。当过程与函数相对应时,它的终止对应于所述函数返回到调用函数或主函数。
此外,如本文所公开的,术语“辅助存储装置”和“主存储器”可以表示用于存储数据的一个或多个装置,包含只读存储器(ROM)、随机存取存储器(RAM)、磁RAM、磁芯存储器、磁盘存储介质、光学存储介质、快闪存储器装置和/或用于存储信息的其它机器可读介质。术语“机器可读介质”包含但不限于便携式或固定存储装置、光学存储装置、无线信道和能够存储、容纳或承载指令和/或数据的各种其它介质。机器可读介质可以通过虚拟化来实现,并且可以是虚拟机可读介质,包含基于云的实例中的虚拟机可读介质。
此外,实施例可通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当用软件、固件、中间件或微码实施时,用于执行必要任务的程序代码或代码段可以存储在例如存储介质等机器可读介质中。处理单元可以执行必要任务。处理单元可以是CPU、ASIC半导体芯片、半导体芯片、逻辑单元、数字处理器、模拟处理器、FPGA或能够执行逻辑和算术功能的任何处理器。代码段可表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类别,或指令、数据结构或程序语句的任何组合。代码段可通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络传输等任何合适的方法传递、转发或传输。处理单元可以通过虚拟化来实现,并且可以是虚拟处理单元,包含基于云的实例中的虚拟处理单元。
端到端连接可以使用面向连接的协议(例如传输控制协议(TCP))或无连接协议(例如用户数据报协议(UDP))来传输包。众所周知的用于部署端到端连接的协议包含二层隧道协议(Layer 2Tunnelling Protocol,L2TP)、安全外壳(SSH)协议、多协议标签交换(MPLS)和Microsoft的点对点隧道协议(PPTP)。连接到网络接口的连接采用光纤、以太网、ATM、帧中继、T1/E1、IPv4、IPv6、无线技术、Wi-Fi、WiMax、高速包接入技术、3GPP长期演进(LTE)等形式。
网络接口可以是虚拟网络接口,包含基于云的实例中的虚拟网络接口。
主机可以是计算装置、笔记本电脑、移动电话、智能手机、台式电脑、交换机、路由器或能够传输和接收包的电子装置。传输主机是传输包的主机。传输主机还可以是从主机接收包然后根据策略和/或确定的路线传输包的网络装置。接收主机是接收包的主机。接收主机还可以是从主机接收包然后根据策略和/或确定的路线传输包的网络装置。因此,主机可以是传输主机和接收主机。
图1A示出根据本发明的实施例的适配系统。所述系统包含至少两个站点101和102。每个站点包括至少一个网络装置,例如网络装置101a和102a。相同站点中的主机和所述至少一个网络装置在相同的局域网(LAN)中。
图4A和图4B示出了根据本发明的实施例的两个网络装置。图4A示出网络装置101a的框图,且图4B示出网络装置101b的框图。网络装置102a可包含处理单元411、主存储器412、系统总线413、辅助存储装置414、至少一个LAN接口(例如LAN接口415)和至少两个广域网(WAN)接口(例如WAN接口416和417)。类似于网络装置102a,网络装置101a可包含处理单元401、主存储器402、系统总线403、辅助存储装置404、至少一个LAN接口(例如LAN接口405)和至少两个广域网(WAN)接口(例如WAN接口406和407)。网络装置101a可进一步包含WAN接口408。网络装置101a和102a之间的一个差异在于WAN接口的数目。网络装置101a的以下描述也可应用于网络装置102a。
辅助存储装置404和主存储器402是计算机可读存储介质。处理单元401和主存储器402可彼此直接连接或通过总线连接。系统总线403将处理单元401直接或间接地连接到辅助存储装置404、WAN接口406-408和LAN接口405。使用系统总线403使得网络装置101a具有更高的模块化。系统总线403的总线架构没有限制,只要它能够让不同组件与处理单元通信即可。辅助存储装置404存储供处理单元401执行的程序指令。本发明的范围不限于网络装置101a和102a分别具有三个和两个网络接口,网络装置101a和102a可以具有更多的网络接口。图4A和图4B中指定的LAN接口和WAN接口仅出于说明性目的。可以在网络装置101a内使用的其它组件包含板级电子组件、媒体处理器和其它专用SoC或ASIC装置。还可根据需要提供对各种处理层和协议(例如,802.3、DOCSIS MAC、DHCP、SNMP、H.323/RTP/RTCP、VoIP、SIP等)的支持。在一个实例中,使用至少一个蜂窝式调制解调器来提供WAN连接性。所述至少一个蜂窝式调制解调器可以通过总线(例如总线403)耦合到处理单元401。例如,网络装置101a的网络接口可以通过使用蜂窝式调制解调器来实现。
网络装置101a和102a可以体现为支持将多个WAN间连接的带宽聚合的多WAN网络装置。网络装置101a和102a经由互连网络100连接。互连网络100是一种可以包括城域网(MAN)、WAN、无线网络和因特网的互连网络。
网络装置101a能够连接到接入网络111,且网络装置102a能够连接到接入网络112。接入网络111和112是为互连网络100提供接入的接入网络。出于说明性目的,网络装置101a可包括能够连接到三个接入网络111a-c的三个WAN接口,且网络装置101b可包括能够连接到两个接入网络112a-b的两个WAN接口。但是,根据所要的网络装置和配置,这些配置可能会有不同。网络装置101a和102a的WAN接口的数目没有限制。
接入网络111a-c和112a-b可具有类似或不同的时延和带宽能力。此外,接入网络111a-c和112a-b可包括相同或不同类型的连接,例如以太网缆线、数字订户线(DSL)、传输系统1(Transmission System 1,T1)、Wi-Fi、通用包无线电服务(GPR)、GSM演进增强数据速率(EDGE)、全球移动电信系统(UMTS)、LTE、5G、卫星连接等等。
出于说明性目的,数据包可以在连接到网络装置101a的主机和连接到网络装置102a的另一主机之间发送和接收。出于说明性目的,经由连接113和114连接到网络装置101a的网络接口的主机分别是台式电脑101b和笔记本电脑101c,且经由连接115和116连接到网络装置102a的网络接口的主机分别是服务器102b和数据库服务器102c。
图1B示出根据本发明的实施例的在两个网络装置之间建立的WAN间连接。可以在网络装置101a的同一LAN内的主机和网络装置102a的同一LAN内的主机之间建立端到端连接。WAN间连接可以经由网络装置101a的网络接口和网络装置102a的网络接口建立。例如,在网络装置101a和102a之间建立六个WAN间连接120a-f。
网络装置101a的三个网络接口能够连接到三个接入网络111a-c,而网络装置102a的两个网络接口能够连接到两个接入网络112a-b。因此,可以通过接入网络111a-c和112a-b创建六个WAN间连接。
在台式电脑102b和服务器102b之间建立的端到端连接可经由这六个WAN间连接中的至少一个建立。
在一个实例中,WAN间连接120a-f分别通过网络接口111a-112b、111a-112b、111b-112a、111b-112b、111c-112a和111c-112b建立。
确定初始加权值
图2A示出存储WAN间连接120a-f的初始加权值的表格。图2A应结合图2C和图1B查看。在一个实例中,首先,网络装置101a的处理单元通过具有相等分布的WAN间连接120a-f向网络装置102a发送数据包。因此,WAN间连接120a-f中的每一个的初始加权值被分配有相同加权值,即一百。并不限制必须使用一百作为初始加权值。还可使用其它数字作为默认加权值。
也不限制所有WAN间连接的初始加权值都必须相同。但是,优选的是WAN间连接120a-f的初始加权值大致相同,因为通常一开始不存在任何关于WAN间连接的时延的信息。如果在分配加权值之前存在可用的时延信息,那么可以相应地调整加权值。
相比于其它WAN间连接,WAN间连接所具有的加权值越高,可供网络装置101a的处理单元用于发送数据包的WAN间连接相比于通过其它WAN间连接就越多。或者,如果网络装置101a的处理单元配置成通过加权值低于具有较高加权值的WAN间连接的WAN间连接发送更多数据包,那么有可能通过WAN间连接发送更多数据包。
或者,基于每个WAN间连接的非拥塞时延(non-congested latency,“NCL”)而确定初始加权值。WAN间连接的时延越低,WAN间连接的加权值就越高。因为时延优选是较低的,所以网络装置101a的处理单元可以尝试更多地使用具有较低时延的WAN间连接,向这些具有较低时延的WAN间连接分配较高加权值。例如,具有最低时延的WAN间连接的加权值可以分配为200,而具有最高时延的WAN间连接的加权值可以分配为40。
确定非拥塞时延
图2B示出存储WAN间连接120a-f的NCL的表格。出于说明的目的,WAN间连接120a-f的NCL分别被估计为100ms、200ms、130ms、50ms、400md和70ms。在估计NCL期间,从网络装置101a发送到网络装置102a和从网络装置102a发送到网络装置101a的数据包的数目应少到数据包不会影响NCL估计的程度。否则,NCL估计可能不准确,因为数据包可能会使WAN间连接拥塞并引发缓存过满。在一个实例中,没有数据包正在发送或接收,仅有时延估计包正在通过WAN间连接120a-f中的每一个从网络装置101a发送到网络装置102a。当网络装置102a在WAN间连接处接收到时延估计包时,网络装置102a回复确认。确认是从网络装置102a发送到网络装置101a的包,并且可以存储和嵌入信息。当网络装置101a接收到确认时,网络装置101a的处理单元就能估计WAN间连接的往返时延。或者,网络装置101a的处理单元对WAN间连接120a-f中的每一个使用ping测试来估计WAN间连接120a-f中的每一个的相应时延。
在一个替代性实例中,当网络装置101a通过WAN间连接120a-f向网络装置102a发送时延估计包时,网络装置101a在每个时延估计包中嵌入时戳。当网络装置102a从WAN间连接接收到时延估计包时,网络装置102a的处理单元比较其时钟与时戳,以估计时延估计包通过WAN间连接到达网络装置102a所耗费的时间量。这个时间量就是时延。然后,网络装置102a的处理单元在确认中嵌入时延。当网络装置101a接收到确认时,网络装置101a的处理单元从确认中检索经网络装置102a的处理单元估计的时延。检索到的时延就是WAN间连接的NCL估计。在一个变型例中,网络装置102a的处理单元不比较其时钟与时戳,而是在确认中存储来自网络装置101a的时戳和网络装置102a的时戳。当网络装置101a的处理单元接收到确认时,就可以比较这两个时戳,以估计WAN间连接的时延和NCL。
图2C是示出用于将加权值分配给所述多个WAN间连接中的每一个的方法的流程图。应了解,在图2A中提供的特定功能、功能次序等意在例示根据本发明的概念的操作。因此,本文中的概念可按照不同于所示实施例的各种方式来实施。
图2C应该结合图1B查看。在过程201处,网络装置101的处理单元估计WAN间连接120a-f中的每一个的相应NCL。在过程202处,网络装置101的处理单元根据NCL初始化WAN间连接120a-f中的每一个的加权值。例如,NCL越高,加权值就越低,且NCL越低,加权值就越高。这使得具有较低NCL的WAN间连接能够用于发送更多数据包。出于说明的目的,在图2G中示出WAN间连接120a-f中的每一个的加权值。
在过程203处,网络装置101a的处理单元根据存储初始加权值的表格发送数据包。出于说明的目的,网络装置101a的处理单元使用图2G中所示的加权值。基于WAN间连接120a-f的分别为50、100、50、120、60和100的加权值,所有加权值的总和是480。因此,网络装置101a的处理单元分别经由WAN间连接120a-f发送约10.4%(50/480)、20.8%(100/480)、10.4%(50/480)、25%(120/480)、12.5%(60/480)和20.8%(100/480)的数据包。
并不限制初始加权值必须是图2G中所示的加权值或必须基于NCL而确定。例如,可以使用一个默认值作为图2A中所示的初始加权值,使得网络装置101的处理单元在过程203中分别经由WAN间连接120a-f中的每一个发送约六分之一的数据包。
改变时延
WAN间连接的时延可因为多个因素而改变或波动。因素之一是缓存过满。缓存过满可出现在有线和无线网络中,包含蜂窝网络。缓存过满通常发生在数据包无法足够快地到达目的地并造成拥塞的情况下。众所周知,蜂窝网络运营商通常部署大型队列来存储数据包。大型队列可能会造成缓存过满。当发生缓存过满时,时延将增加。防止缓存过满发生的技术之一是减少经由WAN间连接发送的数据包的数目。当数据包较少时,蜂窝网络运营商可能不将数据包存储在队列中,并且时延可返回到NCL。因此,当当前时延高于NCL时,希望经由WAN间连接发送更少的数据包。
图2D示出在1500ms内估计的WAN间连接120a-f的时延的表格。例如,首先在t=0ms处估计的WAN间连接120a、120b、120c、120d、120e和120f的NCL分别是100ms、200ms、130ms、50ms、300ms和70ms。在1000ms之后,在t=1000ms处,WAN间连接120a、120b、120c、120d、120e和120f的估计时延分别变为100ms、250ms、200ms、60ms、600ms和300ms。WAN间连接120b、120c、120d、120e和120f的时延增加。这很可能指示WAN间连接120b、120c、120d、120e和120f变得拥塞,且这些WAN间连接中可能出现了缓存过满。具体地说,WAN间连接120c、120e和120f的时延增加超过30%。WAN间连接120c的时延从130ms到200ms增加近53%。WAN间连接120e的时延从300ms到600ms增加100%。WAN间连接120f的时延从70ms到300ms增加近328%。
图2E示出基于图2D中的估计时延在1500ms内WAN间连接120a-f中的每一个的加权值的表格。如果WAN间连接的时延的增加量超过阈值,例如30%,那么网络装置101a的处理单元可减小这个WAN间连接的加权值。因为WAN间连接120a的估计时延保持相同,所以WAN间连接120a的加权值保持相同。在t=0ms到t=1000ms的时间期间,因为在t=1000ms处WAN间连接120b的估计时延的增加量小于NCL的30%,所以WAN间连接120b的加权值保持在100。但是,在t=1000ms到t=1500ms的时间期间,因为在t=1500ms处WAN间连接120b的估计时延的增加量超过NCL的30%,所以WAN间连接120b的加权值从100减小到60。因为WAN间连接120c的估计时延的增加量超过30%,所以WAN间连接120c的加权值从100减小到80。因为WAN间连接120d的估计时延的增加量小于30%,所以WAN间连接120d的加权值保持在100。因为WAN间连接120e的估计时延的增加量大大超过30%,所以WAN间连接120e的加权值从100减小到30。因为WAN间连接120f的估计时延的增加量大大超过30%,所以WAN间连接120f的加权值从100减小到40。
估计时延有可能低于NCL。在这些情况下,NCL可以更新为新的时延估计。在一个变型例中,NCL不进行更新。
在更新加权值的一个详细实例中,当特定WAN间连接的加权值减小时,即使这一特定WAN间连接时延减小了,加权值也不会再次增加。这可以简化更新加权值的实施。当其它WAN间连接的时延由于有更多数据包通过它们进行发送而增加时,这些WAN间连接的加权值将因此减小。于是,通过这一特定WAN间连接发送的数据包的百分比将增加,因为通过其它WAN间连接发送的数据包的百分比减小。例如,当WAN间连接120f的时延如图2D中所示在t=1000ms到t=1500ms的时间期间从300ms改善为70ms时,WAN间连接120f的加权值保持在40,如图2E中所示。
或者,在更新加权值的另一详细实例中,当特定WAN间连接的加权值减小时,此加权值可以在这一特定WAN间连接的时延减小时再次增加。于是,在其它WAN间连接的加权值的总和不增加的情况下,通过这一特定WAN间连接发送的数据包的百分比将增加。例如,当WAN间连接120f的时延如图2D中所示在t=1000ms到t=1500ms的时间期间从300ms改善为70ms时,WAN间连接120f的加权值从40增加到100,如图2F中所示。
加权值更新频率
WAN间连接的加权值可以在不同时间间隔之后更新。尽管时延可能会每毫秒改变一次,但优选的是不要过于频繁地更新WAN间连接的加权值,因为这可能会消耗大量计算资源。例如,加权值可以每50ms、500ms、4秒或30秒更新一次。并不限制加权值必须每隔特定秒数更新一次。优选的是,加权值在WAN间连接建立之后不久比在WAN间连接已建立一段时间之后更新得更频繁。
在一个实例中,加权值首先可以在NCL估计之后的前500ms期间每10ms更新一次,然后每60ms更新一次。并不限制每个WAN间连接的加权值必须同时更新。也不限制每个WAN间连接必须按照相同时间间隔更新。在一个实例中,具有较大时延方差的WAN间连接的加权值的更新比具有较小时延方差的WAN间连接的更新更频繁。
在另一实例中,加权值和NCL可以在第一时间段之后重置。例如,WAN间连接的NCL将每5分钟估计一次。接着,将WAN间连接的加权值重置为相同值。然后,WAN间连接的加权值将根据WAN间连接的不断变化的时延来进行更新。
加权值更新频率在图3A的过程304和305以及图9的过程904和905中示出,稍后将详细论述。
丢弃数据包
当网络装置101a的处理单元注意到WAN间连接的时延增加时,除了WAN间连接的较低加权值之外,网络装置101a的处理单元还可将数据包从WAN间连接的队列中丢弃。丢弃数据包可能会对应用程序和/或主机的操作造成不利影响。但是,本发明选择允许应用程序和/或主机自己补救丢弃的数据包。这是可能的,当数据包由于较大时延和/或缓存过满而延迟时,传输这些数据包的应用程序和/或主机可以重新传输数据包,忽略延迟或报告延迟。丢弃数据包可以释放网络资源。
图6示出网络装置101a如何将用于WAN间连接的数据包排成队列的框图。当网络装置101a的处理单元接收到数据包时,处理单元的模块,即模块601,将首先基于加权值和其它策略(例如出口策略和防火墙策略)选择WAN间连接。接着,网络装置101a的处理单元将在选定WAN间连接的队列中存储数据包。出于说明的目的,图6中所示的队列602a、602b、602c、602d、602e和602f分别是图1B中所示的WAN间连接120a、120b、120c、120d、120e和120f的队列。加阴影的矩形示出所存储的数据包。例如,有两个数据包存储在队列602a中,且没有数据包存储在队列602e中。在另一实例中,队列602c几乎全满。
出于说明的目的,存在两个使用网络装置101a的每一网络接口建立的WAN间连接。出于说明的目的,图6中所示的网络接口603a、603b和603c可以分别使用图4A中所示的网络接口406、407和408来实施。队列602a和602b中的数据包经由网络接口603a发送。队列602c和602d中的数据包经由网络接口603b发送。队列602e和602f中的数据包经由网络接口603c发送。当网络装置101a的处理单元决定从某一队列中丢弃数据包时,数据将会从所述队列中去除,并且不会经由对应网络接口发送。
队列可以存储在一个或多个易失性或非易失性存储单元处。例如,队列可以存储在处理单元的DRAM、SRAM、快闪、硬盘、光盘、高速缓存中。
网络装置101a的处理单元具有多种配置,用于确定何时开始丢弃数据包及何时停止丢弃数据包。在由图3A示出的一个实施例中,数据包被选定,并且可以被丢弃。在过程201处,估计NCL。在过程202处,确定初始加权值。接着,网络装置101a的处理单元执行过程304以根据第一准则确定WAN间连接性能是否降低。
第一准则可以是时延的增加量超过阈值。第一准则还可以是在特定时间段内的特定数据包丢弃次数。第一准则还可以是供WAN间连接使用的无线连接的信噪比(SNR)低于特定分贝。因为网络接口可供多个WAN间连接使用且使用无线调制解调器建立的无线连接可用作网络接口,所以无线连接的SNR可能会影响WAN间连接的网络性能,包含时延。此外,因为无线连接的SNR可随时间推移而波动且可在不同位置处波动,所以WAN间连接的时延在短时间内可能会显著改变。改善SNR意味着改善时延,而SNR变差意味着时延增加。因此,WAN间连接的加权值可受无线连接的SNR影响。
第一准则还可进一步包含第一准则在一段时间内有效的定时因素。例如,第一准则在过程202之后或在过程305处更新加权值之后的5秒内有效。并不限制第一准则必须在5秒内是有效的。它可为1秒、20秒、5分钟或1小时。过程304也可定期执行。例如,网络装置101a的处理单元只能每50ms、500ms、4秒或30秒检测一次WAN间连接的性能(如时延)是否降低。
在过程306中,处理单元根据第二准则确定WAN间连接是否劣化。第二准则可与第一准则相同或不同。在一个实例中,当时延的增加量超过WAN间连接的NCL的特定百分比时,第二准则有效,然后可以执行过程307。如果时延的增加量小于所述特定百分比,那么可以接着执行过程309。第二准则还可进一步包含第二准则在一段时间内有效的定时因素。例如,第二准则在上次估计时延之后200ms内有效。因此,在过程308处执行数据包丢弃的频率不会超过每200ms一次。并不限制第二准则必须在5秒内是有效的。也不限制第二准则限于时延。第二准则还可包含网络性能、位置和日时间。
首先在过程307处,从WAN间连接的队列中选择满足第二准则的数据包,然后在过程308处,从队列中丢弃或去除所述数据包。数据包可以随机或根据选择策略来选择。例如,数据包可以基于先进先出(first-in-first-out,FIFO)或后进先出(last-in-first-out,LIFO)而选择。在另一实例中,首先丢弃具有最大有效负载的数据包。在另一实例中,首先丢弃具有最小有效负载的数据包。在另一实例中,首先丢弃去往特定数据目的地的数据包。将继续丢弃数据包,直到不再满足第二准则为止。
在一个实例中,丢弃为WAN间连接排队的所有数据包。例如,可以丢弃队列602c中的所有数据包。在WAN间连接120c不再满足第二准则之前,不允许通过WAN间连接120c发送数据包。在一个变型例中,仅丢弃固定百分比的数据包,例如80%。
在一个变型例中,如果所有WAN间连接的时延的增加量都超过NCL的特定百分比,那么第二准则有效。图3B是示出在t=0ms到t=3000ms的时间段期间WAN间连接120a-f的估计时延的表格。图3B应结合图1B和图6查看。出于说明的目的,所述特定百分比是55%。在t=0ms处,估计NCL,WAN间连接120a-f的NCL分别是100ms、200ms、130ms、50ms、300ms和70ms。接着在t=2000ms处,所有WAN间连接的时延增加超过100%,超过了55%,因此执行过程307。所以,在过程308处,从队列602a-602f中丢弃数据包。出于说明的目的,从队列602a-602f中的每一个中丢弃数据包。在t=3000ms处,WAN间连接120a-f的时延改善,且增加量不超过NCL的55%。第二准则不再满足,因此不会再丢弃数据包,且不执行过程307。
在一个变型例中,如果所有WAN间连接中有至少一半的时延的增加量超过NCL的特定百分比,那么第二准则有效。在过程307处,网络节点101a的处理单元从WAN间连接的队列中选择增加量超过NCL的所述特定百分比的数据包。在过程308处,从队列中丢弃数据包。如果WAN间连接的时延的增加量未超过NCL的特定百分比,那么所述WAN间连接将不执行过程307。
在过程309处,根据WAN间连接120a-f的加权值,从队列中检索通过WAN间连接120a-f发送的数据包。
在一个变型例中,在执行过程305之后,将数据包存储在WAN间连接120a-f的队列处。例如,相比于具有较低加权值的WAN间连接的队列,具有较高加权值的WAN间连接将具有更多数据包存储在对应队列处。使用图2F作为图示,相比于WAN间连接120e的队列,网络装置101a的处理单元将在WAN间连接120a的队列处存储更多数据包,因为WAN间连接120a的加权值大于WAN间连接120e的加权值。
TCP加速器
任选地,在数据包是传输控制协议(TCP)包且最初是通过主机101b和/或主机101c发送的情况下,网络节点101a的处理单元可执行TCP加速。在过程309处数据包发送之后,在过程310处,网络装置101a的处理单元可产生并发送TCP确认给主机,所述主机向网络节点101a发送数据包。TCP确认对应于在过程310处发送的数据包。
TCP加速可应用到网络装置101a和102a来执行。出于说明的目的,在用于图解说明的图5A、图5B和图5C中,TCP加速仅应用到网络装置101a。TCP加速器可以是硬件TCP加速器或软件TCP加速器。
在一个实例中,为了使数据包传输加速,当从台式电脑101b接收到数据包时,网络装置101a可在通过网络装置102a从服务器102b接收确认消息(ACK)之前的第一时间段内向台式电脑101b发送ACK。因此,另一数据包可以从台式电脑101b发送到网络装置101a以改进整体网络流性能。
为了简化,不同于图1B,在图5A、图5B和图5C中,出于说明性目的,在网络装置101a和102a之间仅建立WAN间连接120a和120b。根据算法,数据包分发到所述多个WAN间连接。出于说明性目的,Data 1、Data 2、Data 3、Data 4、Data 5和Data 6是通过网络装置101a和102b从台式电脑101b发送到服务器102b的数据包。出于说明性目的,应用轮询调度(round-robin)来分发数据包。并不限制用于分发数据包的算法。
使用虚线和短划线来指示针对发送到服务器102b的特定数据包选择的两个不同WAN间连接。例如,通过WAN间连接120a发送的数据包(如Data 1)由短划线表示。通过WAN间连接120b发送的数据包(如Data 2)由虚线表示。
图5A是示出在不具有TCP加速的情况下进行数据包传输的时序图。数据包通过网络装置101a和102b从台式电脑101b发送到服务器102b。执行握手,以建立WAN间连接。出于握手的目的,在台式电脑101b和网络装置101a之间发送SYN1和SYN2,在网络装置101a和网络装置102a之间发送SYN/ACK1,且在网络装置102a和服务器102b之间发送SYN/ACK2。在握手完成之后,建立WAN间连接120a和120b。数据包逐个地通过WAN间连接120a或120b和网络装置102a从台式电脑101b发送到服务器102b。针对通过网络装置102a及WAN间连接120a或120b中的一个被服务器102b成功接收的每个数据包,由网络装置101a从服务器102b接收ACK。来源于台式电脑101b的数据包在网络装置102a处缓存,网络装置102a负责在数据包丢失的情况下执行局部重新传输。仅在通过网络装置102a从服务器102b接收到例如Data 1的数据包时,服务器102b才将ACK发送回到台式电脑101b。时序图中Data 1和Data 2的发送模式重复用于其余数据包,例如Data 3、Data 4、Data 5和Data 6。
图5B是示出在具有TCP加速的情况下进行数据包传输的时序图。执行握手以建立WAN间连接,如图5A中所示。建立两个WAN间连接,例如WAN间连接120a和120b。当台式电脑101b和服务器102b之间建立端到端连接时,建立另一WAN间连接,例如WAN间连接120c。
为了使发送数据包的过程加速,网络装置101a不仅立即确认SYN,而且还确定数据包,例如图5B中所示的Data 1、Data 2……Data 6。如图5B中所示,假设网络装置101a中的TCP加速器的队列或缓存足够大,那么网络装置101a能够连续地从台式电脑101b接收数据包。但是,在一些情形下,如果分发数据包的算法不基于时延相关的加权值,那么多个WAN间连接的整体性能无法从TCP加速器中受益。出于说明性目的,此处应用轮询调度。
当数据包被网络装置101a接收时,网络装置101a确定是否存在至少两个可用的WAN间连接。如果存在至少两个可用的WAN间连接,那么根据算法和加权值,将数据包分发到WAN间连接。如果仅存在一个可用的WAN间连接,那么直接发送所述数据包。在一个变型例中,如果WAN间连接的队列全满或几乎全满,那么此WAN间连接可能无法用于发送数据包。在另一变型例中,如果WAN间连接的性能降低且一直满足如先前所描述的第二准则,那么此WAN间连接不可用。
如果存在超过一个可用的WAN间连接,那么根据算法分发数据包,并且通过WAN间连接传输数据包。出于说明性目的,应用轮询调度来分发数据包。例如,如果应用轮询调度,那么每次向所述多个WAN间连接中的每一个分发一个包。例如,通过WAN间连接120a发送Data 1。因为是根据轮询调度算法分发数据包,所以随后通过WAN间连接120b发送Data 2。然后,可以在网络装置101a接收相应ACK之后通过WAN间连接120a发送Data 3,并且可以在网络装置101a接收相应ACK之后通过WAN间连接120b发送Data 4。
在发送数据包时,一个或多个WAN间连接的性能可能会变差。出于说明性目的,在发送数据包时,只有WAN间连接120a拥塞。当通过WAN间连接120a发送Data3时,发送Data 3需要更多的时间。因此,WAN间连接120a的时延可能会增加,并且WAN间连接120a变得拥塞。
如果WAN间连接120a和120b均可用,那么在接收到ACK 6之后,网络装置101a可接收ACK 5。此时,WAN间连接120a被Data 3占用,且WAN间连接120b已准备就绪。WAN间连接120a仅在ACK 5被接收到时才准备就绪。因为只应用了轮询调度,所以当WAN间连接120b准备就绪时,下一个包只能在WAN间连接120a准备好时发送。因此,网络装置101a要另外再等待一段时间,且在WAN间连接120a准备就绪之前无法向网络装置102a发送Data 5。
为了提高网络性能,本发明利用准备就绪的WAN间连接来发送数据包。
图5C是根据本发明的实施例的示出用于在发送数据包时提高多个WAN间连接中的网络性能的方法的时序图。出于说明性目的,与图5B不同,相比于之前使用的轮询调度,此处应用的是加权轮询调度。加权值是基于多个WAN间连接的时延。出于说明性目的,建立两个WAN间连接。
假设网络装置101a和102a之间建立的两个WAN间连接的加权值相同,则将相同量的数据包分发到两个WAN间连接。例如,如果向两个WAN间连接应用加权轮询调度,那么第一包被分发到第一WAN间连接,且第二包被分发到第二WAN间连接。
根据本发明,多个WAN间连接的加权值改变。加权值可以通过应用图3A中所示的方法来改变。如果WAN间连接拥塞,那么此WAN间连接的时延增加,并且此WAN间连接的加权值减小。如果其它WAN间连接的加权值不变,那么相较于其它WAN间连接,分发到这个拥塞的WAN间连接的数据包更少。例如,网络装置101a确定当WAN间连接120a拥塞时WAN间连接120b的加权值不变。因此,WAN间连接120a的加权值减小,例如从100减小到50,并且有更少的数据包分发到WAN间连接120a。
在接收到Data 1和Data 2的ACK之后,Data 3和Data 4从网络装置101a发送到网络装置102a。网络装置101a等待来自服务器102b的Data 3和Data 4的ACK。
如果应用加权轮询调度,那么分发到WAN间连接120a和120b的数据包的数目可能会改变。如上文所描述,WAN间连接120b的加权值不变,例如100。因为WAN间连接120a拥塞,所以WAN间连接120a的加权值减小,例如从100减小到50。
因此,分发到WAN间连接120a和WAN间连接120b的数据包的数目比率是1:2。当ACK6被网络装置101a接收到时,这意味着Data 4发送成功。不同于图5B,网络装置101a可以使用WAN间连接120b发送Data 5,而不是等到WAN间连接120a准备好。
当ACK 5被网络装置101a接收时,这意味着Data 3发送成功。因为Data4和Data 5是通过WAN间连接120b发送的,根据加权轮询调度算法,按照多个WAN间连接中的每一个的更新后的加权值,下一个包Data 6可以通过WAN间连接120a发送。
在另一实施例中,分发到多个WAN间连接的数据包是基于在一时段之后的更新后的加权值。例如,如果WAN间连接120a和120b的先前加权值均为10,那么WAN间连接120a和120b的更新后的加权值分别是5和10。Data 4可以根据先前加权值来发送,即使加权值改变也是如此。更新后的加权值可以应用于Data 5和即将到来的数据包。
并不限制何时基于更新后的加权值来分发数据包。上述实施例仅出于说明性目的。
聚合的连接
在一个实施例中,可以聚合至少两个WAN间连接以形成聚合的WAN间连接。例如,考虑到图1B,聚合WAN间连接120a和120b以形成聚合的WAN间连接。基于用户偏好,数据包可以通过聚合的WAN间连接或通过WAN间连接发送。例如,数据包可以基于以下中的一个或多个来发送:源业务的地址,例如IP地址、IP地址范围和以太网地址;业务目的地的一个或多个域名;协议,例如传输控制协议、用户数据报协议和端口号;以及算法,例如加权平衡、最少使用及最低时延和优先级。
如果没有指定用户偏好,那么基于聚合的WAN间连接和/或多个WAN间连接的加权值来发送数据包。例如,在网络装置101a和102a之间建立两个WAN间连接120a和120b。聚合WAN间连接120a和120b以形成聚合的WAN间连接。于是,通过聚合的WAN间连接发送的数据包可以根据两个WAN间连接的加权值通过所述两个WAN间连接发送。在一个变型例中,聚合的WAN间连接的加权值可以通过WAN间连接120a和120b的平均加权值来计算。
WAN接口的加权值
图7示出根据本发明的实施例的适配系统。系统包含站点101和评估服务器,例如评估服务器702。评估服务器可通过接入网络703到达。相比于由图1A示出的实施例,网络装置101a是向WAN接口而不是向WAN间连接分配加权值。仅出于说明的目的,存在三个接入网络111a-c,分别连接到网络节点101a的WAN接口406-408。网络装置101a的处理单元通过WAN接口406-408向评估服务器702发送评估包,以估计WAN接口406-408的NCL。接着,网络装置101a的处理单元可以基于评估包的往返时间或基于由评估服务器702发送的对评估包的确认来估计时延。图8B示出WAN接口406-408的估计的NCL的表格。
前文讨论的用于估计NCL和确定WAN间连接的初始加权值的技术也可应用于WAN接口406-408。例如,WAN接口406-408的初始加权值可配置为默认值,例如一百。因此,通过每个WAN接口发送相同数目的数据包是适当的。在一个变型例中,并不是根据加权值发送数据包,而是基于加权值建立网络会话。例如,网络装置101a的处理单元将基于加权值来分发网络会话。当WAN接口406-408的加权值大致相同时,处理单元将在WAN接口406-408当中分发数目大致相同的网络会话。在另一实例中,如果WAN接口406-408的加权值是20、30和50,那么处理单元将通过WAN接口406分发大致20%的网络会话,通过WAN接口407分发大致30%的网络会话,并通过WAN接口408分发大致50%的网络会话。
在一个变型例中,初始加权值是基于NCL。WAN接口的NCL越低,处理单元将分配给WAN接口的加权值就越高。
图9是根据本发明的实施例的示出用于改变WAN接口的加权值的方法的流程图。图9应结合图7和图4A查看。如果WAN接口拥塞,那么此WAN接口的时延可能会增加,处理单元就可以降低此WAN接口的加权值。
在过程901处,估计网络装置101a的WAN接口406-408中的每一个的NCL。在过程902处,确定初始加权值。在过程902之后,网络装置101a的处理单元执行过程904以根据第一准则确定例如WAN接口406的WAN接口的性能是否降低。在过程905处,可以更新WAN接口406的加权值。在过程906中,处理单元根据第二准则确定WAN接口406是否劣化。在一个实例中,当时延的增加量超过WAN接口406的NCL的特定百分比时,第二准则有效,此时可以执行过程907。如果时延的增加量小于所述特定百分比,那么可以执行过程909。首先在过程907处,从WAN接口406的队列中选择满足第二准则的数据包,然后在过程908处,从队列中丢弃或去除所述数据包。在过程909处,从队列中检索所述数据包,并根据每个WAN接口的加权值来发送所述数据包。
在一个实例中,WAN接口的加权值可以在不同时间间隔之后更新。
第一准则还可进一步包含第一准则在一段时间内有效的定时因素。第二准则还可进一步包含第二准则在一段时间内有效的定时因素。前文针对WAN间连接讨论的第一准则、第二准则、丢弃包和定时因素的细节也可应用于WAN接口。

Claims (20)

1.一种在第一网络装置处实行的方法,其包括:
(a)与第二网络装置建立多个连接;
(b)确定所述多个连接中的每一个的非拥塞时延;
(c)向所述多个连接中的每一个分配加权值;
(d)根据第一准则,当连接的性能降低时减小所述连接的所述加权值;
(e)根据所述加权值,通过所述多个连接发送数据包;以及
(f)在一时间间隔之后再次执行步骤(d)。
2.根据权利要求1所述的方法,其进一步包括:
(g)根据第二准则,当所述连接的所述性能降低时,从所述连接的队列中丢弃数据包;
其中步骤(g)在(e)之前执行;
其中要从所述连接的所述队列中丢弃的所述数据包是基于选择策略来选择的。
3.根据权利要求1所述的方法,其中所述第一准则选自以下中的一个或多个:时延、在特定时间段内的数据包丢弃次数、及信噪比(SNR)。
4.根据权利要求2所述的方法,其中当所述时延的增加量超过所述连接的所述非拥塞时延的第一百分比时,所述第二准则是有效的。
5.根据权利要求1所述的方法,其中所述多个连接进行聚合以形成聚合的连接。
6.根据权利要求1所述的方法,其中所述数据包是传输控制协议(TCP)包;其中所述数据包使用TCP加速器发送。
7.根据权利要求1所述的方法,其中所述加权值的更新在所述时间间隔之后比在所述时间间隔之前更频繁。
8.根据权利要求1所述的方法,其中当所述连接的所述时延减小时,所述连接的所述加权值保持不变。
9.根据权利要求1所述的方法,其中所述多个连接是使用无线通信技术建立的。
10.一种在第一网络装置处实行的方法,其包括:
(a)确定多个WAN接口中的每一个的非拥塞时延;
(b)向所述多个WAN接口中的每一个分配加权值;
(c)根据第一准则,当WAN接口的性能降低时减小所述WAN接口的所述加权值;
(d)根据第二准则,当所述WAN接口的所述性能降低时从所述WAN接口的队列中丢弃数据包;
(e)根据所述加权值,通过所述多个WAN接口发送未被丢弃的数据包;
(f)在一时间间隔之后再次执行步骤(c);以及
其中要从所述连接的所述队列中丢弃的所述数据包是基于选择策略来选择的。
11.根据权利要求10所述的方法,其中所述数据包是传输控制协议(TCP)包;其中通过所述多个连接发送的所述数据包通过TCP加速器来加速。
12.一种第一网络装置,其包括:
辅助存储装置;
主存储器;
至少一个处理单元;
至少两个网络接口;
至少一个非暂时性计算机可读存储介质;其中所述非暂时性计算机可读存储介质存储能够由所述至少一个处理单元执行以进行以下操作的程序指令:
(a)与第二网络装置建立多个连接;
(b)确定所述多个连接中的每一个的非拥塞时延;
(c)向所述多个连接中的每一个分配加权值;
(d)根据第一准则,当连接的性能降低时减小所述连接的所述加权值;
(e)根据所述加权值,通过所述多个连接发送数据包;以及
(f)在一时间间隔之后再次执行步骤(d)。
13.根据权利要求12所述的第一网络装置,其中所述至少一个非暂时性计算机可读存储介质进一步存储能够由所述至少一个处理单元执行以进行以下操作的程序指令:
(g)根据第二准则,当所述连接的所述性能降低时,从所述连接的队列中丢弃数据包;
其中步骤(g)在(e)之前执行;
其中要从所述连接的所述队列中丢弃的所述数据包是基于选择策略来选择的。
14.根据权利要求12所述的第一网络装置,其中所述第一准则选自以下中的一个或多个:时延、在特定时间段内的丢包次数、及信噪比(SNR)。
15.根据权利要求13所述的第一网络装置,其中当所述时延的增加量超过所述连接的所述非拥塞时延的第一百分比时,所述第二准则是有效的。
16.根据权利要求12所述的第一网络装置,其中所述多个连接进行聚合以形成聚合的连接。
17.根据权利要求12所述的第一网络装置,其中所述数据包是传输控制协议(TCP)包;其中所述数据包使用TCP加速器发送。
18.根据权利要求12所述的第一网络装置,其中所述加权值的更新在所述时间间隔之后比在所述时间间隔之前更频繁。
19.根据权利要求12所述的第一网络装置,其中当所述连接的所述时延减小时,所述连接的所述加权值保持不变。
20.根据权利要求12所述的第一网络装置,其中所述多个连接是使用无线通信技术建立的。
CN202080006599.3A 2020-11-20 2020-11-20 用于减少网络时延的方法和系统 Pending CN114868370A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2020/060960 WO2022106868A1 (en) 2020-11-20 2020-11-20 Method and systems for reducing network latency

Publications (1)

Publication Number Publication Date
CN114868370A true CN114868370A (zh) 2022-08-05

Family

ID=77999606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080006599.3A Pending CN114868370A (zh) 2020-11-20 2020-11-20 用于减少网络时延的方法和系统

Country Status (4)

Country Link
US (4) US11895031B2 (zh)
CN (1) CN114868370A (zh)
GB (1) GB2607641A (zh)
WO (1) WO2022106868A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178448B1 (en) * 1997-06-18 2001-01-23 International Business Machines Corporation Optimal link scheduling for multiple links by obtaining and utilizing link quality information
CN103532909A (zh) * 2012-07-04 2014-01-22 中兴通讯股份有限公司 多流业务并发传输方法、子系统、系统及多接口终端
WO2017008697A1 (zh) * 2015-07-10 2017-01-19 努比亚技术有限公司 数据传输方法、装置、多通道路由方法及用户设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9531508B2 (en) * 2009-12-23 2016-12-27 Pismo Labs Technology Limited Methods and systems for estimating missing data
US8369349B2 (en) * 2010-03-25 2013-02-05 Canon Kabushiki Kaisha Network streaming over multiple physical interfaces using feedback information
US8717878B2 (en) * 2010-03-25 2014-05-06 Canon Kabushiki Kaisha Providing feedback information when network streaming over multiple physical interfaces
US10225103B2 (en) * 2016-08-29 2019-03-05 Vmware, Inc. Method and system for selecting tunnels to send network traffic through
AU2017383561B2 (en) * 2016-12-21 2022-11-10 Dejero Labs Inc. Packet transmission system and method
CN108243116B (zh) 2016-12-23 2021-09-14 华为技术有限公司 一种流量控制方法及交换设备
TWI692955B (zh) 2019-01-16 2020-05-01 香港商希瑞科技股份有限公司 伺服器及相關的電腦程式產品
CN110062352A (zh) 2019-04-24 2019-07-26 重庆邮电大学 车辆自组织网络中基于丢包区分的多路径tcp网络编码传输系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178448B1 (en) * 1997-06-18 2001-01-23 International Business Machines Corporation Optimal link scheduling for multiple links by obtaining and utilizing link quality information
US6862618B1 (en) * 1997-06-18 2005-03-01 International Business Machines Corporation Optimal link scheduling for multiple links
CN103532909A (zh) * 2012-07-04 2014-01-22 中兴通讯股份有限公司 多流业务并发传输方法、子系统、系统及多接口终端
WO2017008697A1 (zh) * 2015-07-10 2017-01-19 努比亚技术有限公司 数据传输方法、装置、多通道路由方法及用户设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
侯赛因•阿尔斯兰 *
冯元勇: "一种基于通信时间延迟的流量分配/路由选择算法" *
杜龙海: "基于 SCPS-TP 的 TCP 协议加速器的研究与实现" *

Also Published As

Publication number Publication date
US20240129241A1 (en) 2024-04-18
GB2607641A (en) 2022-12-14
GB202112258D0 (en) 2021-10-13
US20240129239A1 (en) 2024-04-18
US11895031B2 (en) 2024-02-06
US20230164079A1 (en) 2023-05-25
US20240129240A1 (en) 2024-04-18
WO2022106868A1 (en) 2022-05-27

Similar Documents

Publication Publication Date Title
US11876711B2 (en) Packet transmission system and method
US7724750B2 (en) Expedited data transmission in packet based network
US8897137B2 (en) Dynamic setting of optimal buffer sizes in IP networks
US8169909B2 (en) Optimization of a transfer layer protocol connection
US9042355B2 (en) Quality of service (QoS) for satellite communications network
US9674104B1 (en) Adapting proportional integral controller enhanced algorithm for varying network conditions in a network environment
EP3588880B1 (en) Method, device, and computer program for predicting packet lifetime in a computing device
US11677666B2 (en) Application-based queue management
EP1730903B1 (en) Expedited data transmission in packet based network
US10523571B2 (en) Processing data items in a communications network
CN114868370A (zh) 用于减少网络时延的方法和系统
Patel et al. A new active queue management algorithm: Altdrop
US8159944B2 (en) Time based queuing
US10805225B2 (en) Methods for the processing of data packets, corresponding device, computer program product, storage medium and network node

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40077222

Country of ref document: HK