CN102067547B - 用于调节链路流量的技术 - Google Patents

用于调节链路流量的技术 Download PDF

Info

Publication number
CN102067547B
CN102067547B CN200980122347.0A CN200980122347A CN102067547B CN 102067547 B CN102067547 B CN 102067547B CN 200980122347 A CN200980122347 A CN 200980122347A CN 102067547 B CN102067547 B CN 102067547B
Authority
CN
China
Prior art keywords
session
server
receptance
retransmission rate
group
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.)
Active
Application number
CN200980122347.0A
Other languages
English (en)
Other versions
CN102067547A (zh
Inventor
T·布尔卡德
D·普雷索托
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN102067547A publication Critical patent/CN102067547A/zh
Application granted granted Critical
Publication of CN102067547B publication Critical patent/CN102067547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

描述了一种调节与服务器的通信的系统。该系统确定第一组用户与服务器之间经由对等链路的第一组会话期间的数据分组的重传率。接下来,该系统将该重传率与第二组用户与服务器之间经由对等链路的第二组会话期间的数据分组的历史重传率进行比较。该系统继而基于重传率与历史重传率的比较来调整服务器针对经由对等链路发起与附加用户的会话的请求的目标接受率。另外,该系统基于服务器针对发起会话的请求的实际接受率与目标接受率来接受或者拒绝经由对等链路发起另一用户与服务器之间的会话的请求。

Description

用于调节链路流量的技术
技术领域
本实施方式涉及用于调节通信的技术。更具体地,本实施方式涉及用于接受或者拒绝在网络中的链路上发起会话的请求。
背景技术
网络(诸如因特网或者万维网(WWW))中的服务器可以通过多宿主(例如,使用多个链路连接的)网络与用户进行数据传送。通常,服务器的操作者和操作链路的提供商之间的财务方案可以分为两类:(1)支付-递送(transit)方案,其中一个或多个提供商得到支付以传送数据;和/或(2)对等协议,其中服务器操作者以及一个或多个附加提供商通常议定向彼此传送数据而不需要支付。尽管支付递送方案通常允许去往或者来自网络中的所有用户的业务经由所谓的“递送”链路来传送,但是与对等协议相关联的所谓的“对等”链路通常仅覆盖发送向或者发送自驻留在由服务器操作者的相应对等伙伴(诸如附加提供商之一)操作的子网上的那些用户。
在网络中,针对去往服务器或者来自服务器的数据分组的路由通常使用边界网关协议(BGP)来确定。例如,递送链路的提供商可以使用BGP来指定与一个或者多个路由器信息块(RIB)相关联的目的地。反之,附加的对等提供商通常仅向驻留在其部分子网上的用户指示RIB,因为其不希望中继与网络中其他用户相关联的业务。
遗憾的是,调节递送链路和/或对等链路上的业务量可能是困难的,这可能造成给定链路超过其容量。所产生的溢出情况通常造成性能下降,诸如视频流式传输期间的视频重新缓冲。该问题对于对等链路可能更加严重,因为与递送链路相比较,其倾向于不充分提供。
发明内容
一个实施方式提供了一种用于调节与服务器的通信的系统。在操作期间,该系统确定一组用户和服务器之间经由网络中的对等链路进行的第一组会话期间的数据分组重传率,其中第一组会话在第一时间间隔内发起。继而,该系统将重传率与第二组用户与服务器之间经由对等链路进行的第二组会话期间的数据分组的历史重传率进行比较,其中第二组会话在第二时间间隔内发生。在一些实施方式中,第二组会话包括第一组会话,第二组用户包括第一组用户,并且第二时间间隔包括第一时间间隔。
接下来,该系统调整服务器针对经由对等链路发起与附加用户的会话的请求的目标接受率,其中目标接受率基于重传率与历史重传率的比较。而且,该系统基于服务器的实际接受率与目标接受率之间的比较来接受或者拒绝经由对等链路发起另一用户与服务器之间的会话的请求,从而维持对等链路的通信性能。
在一些实施方式中,该网络包括因特网。
在一些实施方式中,第一时间间隔包括一分钟和/或第二时间间隔包括一天。
在一些实施方式中,历史重传率包括第二时间间隔期间重传率的分布时刻。例如,该时刻可以包括中间值(median)。
在一些实施方式中,网络包括耦合至另一服务器的至少一个递送链路,并且该至少一个递送链路可以将服务器耦合至因特网服务提供商(ISP)。例如,ISP可以针对传送数据分组向服务器的操作者计费。而且,请求的拒绝可以包括将其他用户重定向至其他服务器(诸如业务被重定向到的递送备份服务器)的指令。
在一些实施方式中,系统基于实际接受率与目标接受率之间的差来接受或者拒绝请求。
在一些实施方式中,对等链路包括服务器的操作者与网络上的另一实体之间的免结算链路。例如,该实体和操作者可以议定彼此传送数据分组而不需要支付。
在一些实施方式中,系统收集关于第二组会话的统计信息,其中至少部分地基于收集的统计信息来确定重传率。
在一些实施方式中,系统基于边界网关协议(BGP)信息来确定哪些会话可能要与对等链路相关联。
在一些实施方式中,服务器的目标接受率(可以随时间进行调整)大于最小值并且小于最大值,最小值和最大值可以是固定的。另外,服务器的目标接受率可以小于服务器的实际接受率的两倍。
在一些实施方式中,基于van Jacobsen控制模型来调整目标接受率。
在一些实施方式中,基于重传率与历史重传率之间的差来调整目标接受率。而且,可以在重传率超过历史重传率预定值时调整目标接受率。注意,该调整可以包括通过乘法因子来减小目标接受率。
此外,系统可以在会话终止时增大目标接受率。例如,当会话终止时,可以通过加法增量来增大目标接受率,其中加法增量选择为使得目标接受率的相关联的增大率小于与乘法因子相关联的目标接受率的减小率。
在一些实施方式中,系统可以通过计算机系统来实现,该计算机系统可以包括服务器,或者其可以包括在服务器中。
另一实施方式提供了一种包括由系统执行的上述操作中的至少一些的方法。
另一实施方式提供了一种与系统结合使用的计算机程序产品。该计算机程序产品可以包括对应于由系统执行的上述操作中的至少一些的指令。
另一实施方式提供了一种服务器。该服务器可以包括输入节点,其配置用于耦合至包括对等链路的网络,该对等链路配置用于在用户与服务器之间传送数据分组。而且,该服务器可以包括对等管理器,其配置用于:确定重传率,将重传率与历史重传率进行比较,调整目标接受率,以及接受或者拒绝请求。
附图说明
图1是示出通信系统的一个实施方式的框图。
图2是示出用于调节与服务器的通信的过程的一个实施方式的流程图。
图3是示出用于调节与服务器的通信的过程的一个实施方式的流程图。
图4是示出系统的一个实施方式的框图。
图5是示出数据结构的一个实施方式的框图。
图6是示出数据结构的一个实施方式的框图。
注意,贯穿附图,相似的参考数字指示相应的部分。
具体实施方式
给出以下描述是为了使本领域任何技术人员都能够做出和使用实施方式,并且以下描述在特定应用及其需求的上下文中提供。对所公开的实施方式的各种修改将对本领域技术人员变得易见,并且在不脱离本发明实施方式的精神和范围的情况下,在此定义的一般原理可以应用于其他实施方式和应用。由此,本公开并不旨在限制于所示出的实施方式,而是符合于在此公开的原理和特征一致的最宽范围。
描述了系统(其可以是计算机系统)、服务器、方法以及与系统和/或服务器一起使用的计算机程序产品(例如软件)的实施方式。这些设备和技术可以用于调节与服务器的通信。特别地,可以基于数据分组的重传率与数据分组的历史重传率的比较来调整服务器针对经由网络(诸如因特网)中的链路发起与附加或者新用户的会话的请求的目标接受率(诸如每秒允许的字节数的目标)。例如,可以基于重传率与历史重传率之间的差来调整目标接受率。在以下的讨论中,对等链路用作链路的说明性示例。注意,可以基于BGP信息来标识针对给定用户的对等链路。
而且,可以基于服务器针对经由对等链路发起与附加用户的会话的请求的实际接受率(诸如每秒允许的实际字节数目)与目标接受率,来接受或者拒绝经由对等链路发起与另一用户和服务器的会话的请求。例如,可以基于实际接受率与目标接受率之间的差来接受或者拒绝请求。以这种方式,可以维持对等链路的通信性能和/或可以最大化对等链路的利用率。
注意,重传率可以基于第一时间间隔(诸如一分钟)内经由对等链路发起的用户与服务器之间的会话,并且历史重传率可以基于第二时间间隔(诸如一天)内经由对等链路发生的用户与服务器之间的会话。
在以下讨论中,对等链路可以包括服务器的操作者和网络上的另一实体之间的链路。例如,该实体和操作者可以议定在不需要支付的情况下或者在免结算的基础上(例如,基于对等协议)彼此传送数据分组。虽然在一些实施方式中,可能存在涉及在对等链路上传送数据的结算,但是通常,对等链路是网络上议定向彼此的用户传送数据分组而不需要收费的两个实体之间的链路。注意,其他实体可以是ISP。
另外,递送链路可以包括服务器与ISP之间的链路,其中ISP针对向和从服务器传送数据而向服务器的操作者收费。递送链路的更为一般的定义是网络上两个实体之间的链路,其中至少一个实体针对传送数据分组而向另一个实体收费。
在一些实施方式中,服务器的操作者是ISP或者应用提供商。
注意,网络可以包括:因特网或者万维网(WWW)、内联网、局域网(LAN)(诸如IEEE 802.11或者WiFi)、广域网(WAN)(诸如IEEE 802.16或者WiMAX)、城域网(MAN)、卫星网络、无线网络(诸如蜂窝电话网络)、光网络和/或网络或者支持计算系统或者电子设备之间的通信的其他技术的组合。
现在描述包括网络的通信系统的实施方式。图1呈现了示出通信系统100的框图。在该系统中,服务器110-1经由路由器112和网络(诸如因特网)向用户(诸如用户122)提供数据(例如,视频数据流)。用户与服务器110-1之间的这些所称的“连接”或者“会话”可以经由链路,该链路可以包括递送链路114和/或对等链路116。如前所述,与给定用户相关联的对等链路可以基于BGP信息来标识。
注意,递送链路114可以与ISP 120-1和/或120-2相关联,而对等链路116可以与ISP 120-3(更具体地,与网络上的实体)相关联。另外,ISP 120-1和120-2在网络中可以与ISP 120-3或者服务器110-1的操作者(其可以与ISP 120之一相关联或者不与其相关联)具有不同的状态或者层。例如,ISP 120-1和120-2可以是层1提供商,而ISP 120-3可以是层2或者层3提供商。然而,ISP 120可以是或者不是不同层提供商。另外,如前所提到的,ISP 120-1和120-2可以由服务器110-1来支付以传送数据,而ISP 120-3可以与服务器110-1具有对等协议,也即,ISP 120-3可以向或者从位于ISP 120-3操作的子网中的用户122传送数据,而不需要向服务器110-1的操作者收费(即,免结算传送)。
遗憾的是,当服务器110-1向用户122提供数据时,一个或多个对等链路116可能达到其最大容量,即使对等链路116中的其他对等链路可能仍然具有可用于附加会话的足够容量。这可能导致丢弃位于受影响对等链路上的数据分组。此外,可能由于服务器110-1中的资源限制而发生此类性能下降。
为了应对这些性能挑战,通信系统100中的一个或多个服务器(诸如服务器110-1)可以包括对等管理器124。该对等管理器可以确定是否接受经由给定对等链路发起与新用户的会话的请求,和/或是否接受与一个或多个用户122经由给定对等链路的现有会话相关联的附加数据。例如,对等管理器124的决定可以至少部分地基于与给定对等链路相关联的性能度量,诸如一个或多个时间间隔期间所观察到的传输控制协议(TCP)丢失率。如果请求被拒绝,则对等管理器124可以提供将一个或多个用户重定向至网络中的一个或多个附加服务器(诸如服务器110-2)的指令。
如以下参考图2和图3进一步描述的,在操作期间,对等管理器124可以确定最近发起(诸如,过去的一分钟期间)的会话期间经由给定对等链路传送的数据分组的重传率,以及较长时间间隔期间(诸如,之前一天期间)发生的会话期间经由给定对等链路传送的数据分组的历史重传率。基于这些重传率的比较,对等管理器124可以调整接受或者拒绝经由给定对等链路发起新会话的请求,和/或经由给定对等链路接收与现有会话相关联的附加数据的请求的目标接受率。而且,对等管理器124可以基于目标接受率和实际接受率来接受或者拒绝此类请求。
注意,对等管理器124可以使用收集器126收集的统计信息来至少部分地确定这些重传率。特别地,收集器126可以在一个或多个时间间隔期间聚集关于会话、链路和相关联的重传率(诸如TCP丢失率)的信息。
而且,注意,网络中的通信可以经由节点118之间的多跳来发生。ISP 120-1和120-2可以向特定用户提供关于给定节点在其子网中的相对位置的信息,以便确定适合的路由和/或计费。在一些实施方式中,该信息可以包括:BGP信息、RIB信息和/或CIDR(无类域间路由)块,其包括与特定链路相关联的IP范围列表。类似地,ISP 120-3可以为其子网中的用户122提供诸如BGP信息之类的信息,以便防止服务器110-1的操作者对于对等协议的滥用。
在一些实施方式中,对等管理器124可以使用诸如BGP信息之类的信息来确定哪些用户与给定对等链路相关联。在一些实施方式中,路由器112可以接收信息,并且该信息可以由收集器126收集以用于对等管理器124的后续使用。
通过调节与服务器110-1的通信,该技术可以促进经由一个或多个对等链路116的高利用率通信,而不会发生振荡,并且减小或者消除了性能下降(诸如视频流的重新缓冲)。而且,该技术可以促进此类通信,而不会过度提供对等链路116,例如,可以在不发生溢出的情况下使用一个或多个对等链路116上的额外容量。
通信系统100可以包括更少的组件或者附加的组件。例如,可以存在16个服务器110,每一个可以具有相关联的对等管理器。(注意,即使这些对等管理器可以彼此独立地操作,但是其实质上可以使用与同时溢出的公共缓冲区相关联的相同反馈信息。因此,如果一个或多个对等管理器是积极的,则其他对等管理器可以是足够不积极的,以使得可以维持对等链路116的总体容量)。另外,可以将两个或更多组件组合到一个组件中,和/或可以改变一个或多个组件的位置。例如,对等管理器124可以调节与多个服务器110相关联的通信。
现在描述用于调节与服务器的通信的方法的实施方式。图2呈现了示出用于调节与服务器(诸如图1中的服务器110-1)的通信的过程200的流程图,其可以由包括服务器或者包括在服务器中的系统来执行。在操作期间,系统确定一组用户与服务器之间经由网络中的对等链路进行的第一组会话期间数据分组的重传率,其中第一组会话中的给定会话在第一时间间隔内发起(210)。继而,系统将该重传率与第二组用户与服务器之间经由对等链路的第二组会话期间的数据分组的历史重传率进行比较,其中第二组会话中的给定会话在第二时间间隔内发生(212)。注意,第二组会话包括第一组会话,第二组用户包括第一组用户,并且第二时间间隔包括第一时间间隔。
接下来,系统基于重传率与历史重传率的比较来调整服务器针对经由对等链路发起与附加用户的会话的请求的目标接受率(214)。而且,系统基于服务器针对经由对等链路发起与附加用户的会话的请求的实际接受率与目标接受率,来接受或者拒绝经由对等链路发起另一用户与服务器之间的会话的请求(216),从而维持对等链路的通信性能。
图3呈现了示出用于调节与服务器(诸如图1中的服务器110-1)的通信的过程300的流程图,其可以由包括服务器或者包括在服务器中的系统来执行。在操作期间,与服务器的会话可以开始(310)。例如,用户可以经由给定对等链路连接至服务器。该用户使用哪个链路可以使用来自外部系统(诸如收集器126(图1))的最新BGP信息来确定,该收集器126可以基于网络中的路由器的路由反射来收集该信息。特别地,该信息可以提供网络中每条链路的路由器接口和RIB,并且可以通过将与给定用户相关联的传入数据的IP地址与所提供的RIB之一进行匹配来将与给定用户相关联的传入数据归于给定链路。
继而,系统可以基于收集的统计信息来确定经由给定对等链路的新会话(诸如,过去的一分钟期间发起的会话)的当前重传率(312)以及经由给定对等链路(诸如之前的一天或者几天期间发生的会话)的历史重传率(314)。为了防止偏移基于与具有慢连接的用户相关联的丢失率的调节,当前重传率可以基于新用户(诸如,过去的最后一分钟期间发起会话的用户)来确定。另外,通过使用历史重传率作为基线,可以相对于给定链路上的“正常”丢失率(其可以随链路而改变)来调节目标接受率(以下进一步描述)。
注意,这些重传率可以基于一个或多个时间间隔期间的TCP丢失率,其提供与网络容量相关联的性能下降度量。特别地,使用Linux中所称的“getsocketopt(获得套接字选项)”系统调用,可以确定每个套接字上重传的TCP数据分组的数目。将该值与针对该套接字的最大分段大小相乘,并且除以发送的字节的数目,可以提供数据分组丢失比的近似值。
此外,在一些实施方式中,历史重传率可以包括重传率的分布时刻。例如,时刻可以包括重传率的中间值,其在24小时的时间间隔中的每分钟确定。这种方式可以减少或者消除统计异常值的影响。
接下来,系统可以将当前重传率与和阈值有关的历史重传率进行比较(316)。例如,系统可以计算当前重传率与历史重传率之间的差。在示例性实施方式中,如果当前重传率超过历史重传率多于3%,则可以调整(并且,特别地,减小)与给定对等链路相关联的目标接受率(318)。该阈值可以提供有助于维护经由给定对等链路的通信期间的性能的裕度。
在示例性实施方式中,系统使用雅各布森(Jacobsen)控制模型来调整与给定对等链路相关联的目标接受率。特别地,可以使用乘法因子来增大与给定对等链路相关联的目标接受率,并且使用另一乘法因子来减小该与给定对等链路相关联的目标接受率。在其他实施方式中,可以使用加法因子来增大与给定对等链路相关联的目标接受率,并且使用另一加法因子来减小与给定对等链路相关联的该目标接受率。然而,注意,乘法因子的使用可以促进针对具有完全不同容量的对等链路的目标接受率的调整,从而避免了过度使用或者较慢响应。
如前所提到的,对不同时间间隔期间的重传率的比较可以产生目标接受率增大的约束或者上限。而且,与给定对等链路相关联的目标接受率可以大于最小值并且小于最大值(与重传率无关)。另外,与给定对等链路相关联的目标接受率可以小于与给定对等链路相关联的实际接受率的两倍。
对与给定对等链路相关联的目标接受率的调整(特别地,目标接受率的减小)可以每分钟确定一次(然而,如以下讨论的,每当会话终止时都可以发生目标接受率的增加)。在当前重传率与历史重传率之间的差小于阈值时,可以利用乘法因子来增大目标接受率,其小于其他乘法因子的十分之一。而且,当会话终止时,与给定对等链路相关联的实际接受率减小,而与给定对等链路相关联的目标接受率可以增大,以使得在近似等于典型视频的时间间隔(诸如一分钟)之后,增大可以等于10%(实际上,目标可以是接受1.1个新视频而不是1个新视频)。该增大可以基于加法增量,该加法增量可以选择为使得目标接受率的增大率小于与乘法因子相关联的目标接受率的减小率。例如,基于时间的增大率可以小于基于时间的减少率的十分之一,使得其可能花费加法增量的十倍时间来取消乘法因子的影响。
反之,在当前重传率与历史重传率的差大于阈值时,可以通过其他乘法因子来减小目标接受率。该减少可以在一分钟的间隔时实现。在一些实施方式中,减小的目标接受率等于原有目标接受率的一半。
如果比较小于阈值(316),或者在已经调整了目标接受率之后(318),系统可以调节请求(320),诸如新用户与服务器之间的新会话的请求或者在另一用户与服务器之间的现有会话期间传送附加数据的请求。特别地,服务器可以基于与给定对等链路相关联的目标接受率和与给定对等链路相关联的实际接受率,来接受或者拒绝经由给定对等链路的针对会话的每个请求(新的或者现有的)。例如,当实际接受率超过目标接受率时,可以拒绝请求;并且当实际接受率小于目标接受率时,可以接受请求。注意,当请求被拒绝时,可以指示(例如,使用超文本传送协议或者HTTP重定向)用户转至另一服务器。
在一些实施方式中,目标接受率指示经由给定对等链路的每秒允许的目标字节数目,而实际接受率指示经由给定对等链路的每秒允许的实际字节数目。然而,在一些实施方式中,与新会话相关联的实际接受率是每秒允许比特的当前数目加上与新会话相关联的每秒期望比特数目。类似地,当会话终止时,可以通过与该会话相关联的每秒期望比特数目来减小实际接受率。
在其他实施方式中,调节技术可以使用不同的参数。例如,用于确定重传率的时间间隔可以不同,或者在比较当前重传率与历史重传率时可以使用不同的裕度量(例如不同的阈值)。而且,可以使用重传分布除中间值以外的一个或多个时刻(诸如平均)。
另外,代替使用TCP数据分组丢失,在其他实施方式中,可以使用指示网络容量的其他度量,包括:路由器(诸如图1中的路由器112)处的丢弃数据分组、丢弃的探测业务的百分比或者净空量(其中净空是递送的字节与需要在不重新缓冲的情况下回放的字节之比)。例如,如果针对给定对等链路上的所有用户的净空降至可能发生重新缓冲的1.0,则针对净空的较大值,通常不需要重新缓冲。
此外,虽然上述讨论忽略了读取请求和/或发布重定向指令(其可能适用于非常大的下载,诸如大于1MB的下载)的开销,但是在其他实施方式中,调节技术可以包括与这些操作相关联的开销。
在过程200(图2)和300的一些实施方式中,存在附加的或者更少的操作。而且,操作的顺序可以改变,并且两个或者更多操作可以组合为一个操作。
现在描述系统的实施方式,该系统实现了用于调节与服务器(诸如图1中的服务器110-1)的通信的方法的至少一部分。图4呈现了示出系统400的一个实施方式的框图。系统400包括:一个或多个处理器410、通信接口412、用户接口414以及将这些组件耦合在一起的一个或多个信号线422。注意,一个或多个处理单元410可以支持并行处理和/或多线程操作,通信接口412可以具有持久通信连接,并且一个或多个信号线422可以构成通信总线。另外,用户接口414可以包括:显示器416、键盘418和/或指示器420,诸如鼠标。
系统400中的存储器424可以包括易失性存储器和/或非易失性存储器。更具体地,存储器424可以包括:ROM、RAM、EPROM、EEPROM、闪存、一个或多个智能卡、一个或多个磁盘存储设备和/或一个或多个光学存储设备。存储器424可以存储操作系统426,其包括用于处理执行硬件相关任务的各种基本系统服务的过程(或者指令集)。虽然在图4中没有示出,但是操作系统426可以包括浏览器(或者指令集),用于提供和/或呈现网页中的信息。存储器424还可以存储通信模块428中的通信过程(或者指令集)。这些通信过程可以用于与以下装置通信:一个或多个计算机、设备和/或服务器,包括相对于系统400远程定位的计算机、设备和/或服务器。
存储器424还可以包括一个或多个程序模块(或者指令集),包括对等管理器模块430(或者指令集)。对等管理器模块430可以分析通信统计432,诸如与用户和服务器之间经由网络中的一个或多个链路的会话(例如链路A 434-1上的会话A和/或链路A 434-2上的会话B)相关联的通信统计,以确定不同时间间隔期间的重传率440。例如,可以确定在过去的一分钟发起的针对与给定链路相关联的会话的重传率。类似地,可以确定在最后一天中针对与给定链路相关联的会话的历史重传率。注意,关于会话和其何时发起(以及是否正在进行)的信息可以包括在对等管理器数据436中,该对等管理器数据436包括针对多条链路(包括链路A 438-1和/或链路B438-2)的此类信息。
基于重传率440,对等管理器模块430可以为一个或多个链路确定一个或多个目标接受率442。例如,可以基于van Jacobsen控制模型来调整目标接受率442。另外,基于这些链路的目标接受率442和实际接受率444(其可以使用通信统计432来确定),对等管理器模块430可以接受或者拒绝在给定链路上发起与另一用户的另一会话的请求446。
在一些实施方式中,当请求446被拒绝时,对等管理器模块430可以推荐另一服务器。此外,在一些实施方式中,当一个或多个会话终止时,对等管理器模块430可以增大针对一个或多个链路的一个或多个目标接受率442。
存储器424中的各种模块中的指令可以利用以下语言实现:高级过程语言、面向对象的变成语言和/或汇编或者机器语言。编程语言可以进行编译或者解释,也即,可配置或者配置用于由一个或多个处理单元410来执行。
虽然系统400示出为具有多个分立组件,但是图4旨在作为可以在系统400中存在的各种特征的功能性描述而不是在此描述的实施方式的结构示意。在实践中,并且本领域技术人员可以认识到,系统400的功能可以分布在大量服务器或者计算机上,服务器或者计算机的各种群组执行功能的特定子集。
在一些实施方式中,系统400的一些或者全部功能可以在一个或多个专用集成电路(ASIC)和/或一个或多个数字信号处理器(DSP)中实现。
系统400可以包括更少的组件或者附加的组件。另外,两个或者更多组件可以组合为一个组件,和/或可以改变一个或多个组件的位置。在一些实施方式中,系统400的功能可以较多在硬件中而较少在软件中实现,或者较少在硬件中而较多在软件中实现,如本领域所知。
现在描述可以在系统400中使用的数据结构的实施方式。图5呈现了示出数据结构500的一个实施方式的框图。该数据结构可以包括通信统计510。例如,通信统计510-1可以包括:一个或多个IP地址512-1、一个或多个链路514-1和/或统计516-1(诸如TCP丢失率)。
图6呈现了示出数据结构600的一个实施方式的框图。该数据结构可以包括关于链路610的信息。例如,关于链路610-1的信息可以包括:目标接受率612-1、实际接受率614-1和/或一个或多个时间戳616-1,其指示相应的对话618-1何时发起或者终止。
在一些实施方式中,数据结构500(图5)和600包括更少或者附加的组件。另外,两个或更多组件可以组合为一个组件,和/或可以改变一个或多个组件的位置。
虽然以上实施方式将对经由对等链路的通信进行调节作为说明性示例,但是在其他实施方式中,上述技术可以用于调节经由其他类型的链路的通信,诸如一个或多个递送链路。
实施方式的以上描述仅为了说明和描述的目的而呈现。其并不只在穷举性的或者将本发明的实施方式限制于所公开的形式。因此,多种修改和变体将对本领域技术人员易见。另外,以上公开并不只在显示本发明的实施方式。本发明的实施方式的范围由所附权利要求限定。

Claims (22)

1.一种用于调节与服务器的通信的方法,包括:
确定一组用户与所述服务器之间经由网络中的对等链路的第一组会话期间的数据分组的重传率,其中所述第一组会话中的给定会话在第一时间间隔内发起;
将所述重传率与第二组用户与所述服务器之间经由所述对等链路的第二组会话期间的数据分组的历史重传率进行比较,其中所述第二组会话中的给定会话在第二时间间隔内发生,并且所述第二组会话包括所述第一组会话,所述第二组用户包括所述第一组用户,并且所述第二时间间隔包括所述第一时间间隔;
基于所述重传率与所述历史重传率的比较来调整所述服务器针对经由所述对等链路发起与附加用户的会话的请求的目标接受率;以及
基于所述服务器针对经由所述对等链路发起与所述附加用户的会话的请求的实际接受率以及所述目标接受率,来接受或者拒绝经由所述对等链路发起另一用户与服务器之间的会话的请求,从而维持所述对等链路的通信性能。
2.根据权利要求1所述的方法,其中所述网络包括因特网。
3.根据权利要求1所述的方法,其中所述第一时间间隔包括一分钟。
4.根据权利要求1所述的方法,其中所述第二时间间隔包括一天。
5.根据权利要求1所述的方法,其中所述历史重传率包括所述第二时间间隔期间所述重传率的分布时刻。
6.根据权利要求5所述的方法,其中所述时刻包括中间值。
7.根据权利要求1所述的方法,其中所述网络包括耦合至另一服务器的至少一个递送链路;以及
其中所述至少一个递送链路将所述服务器耦合至因特网服务提供商。
8.根据权利要求7所述的方法,其中请求的拒绝包括将其他用户重定向至其他服务器的指令。
9.根据权利要求1所述的方法,其中基于所述实际接受率与所述目标接受率之间的差来接受或者拒绝所述请求。
10.根据权利要求1所述的方法,其中所述对等链路包括所述服务器与所述网络中的另一实体之间的免结算链路。
11.根据权利要求1所述的方法,还包括收集关于所述第二组会话的统计信息,其中至少部分地基于收集的统计信息来确定所述重传率。
12.根据权利要求1所述的方法,还包括基于边界网关协议信息来确定哪些会话可能要与所述对等链路相关联。
13.根据权利要求1所述的方法,其中所述服务器的目标接受率大于最小值并且小于最大值。
14.根据权利要求1所述的方法,其中所述服务器的目标接受率小于所述服务器的实际接受率的两倍。
15.根据权利要求1所述的方法,其中基于van Jacobsen控制模型来调整所述目标接受率。
16.根据权利要求1所述的方法,其中基于所述重传率与所述历史重传率之间的差来调整所述目标接受率。
17.根据权利要求1所述的方法,其中当所述重传率超过所述历史重传率预定值时,调整所述目标接受率。
18.根据权利要求17所述的方法,其中所述调整包括通过乘法因子来减小所述目标接受率。
19.根据权利要求18所述的方法,还包括当会话终止时,通过加法增量来增大所述目标接受率,其中所述加法增量选择为使得所述目标接受率的关联增大率小于与所述乘法因子相关联的所述目标接受率的减小率。
20.根据权利要求17所述的方法,还包括当会话终止时增大所述目标接受率。
21.一种用于调节与服务器的通信的装置,所述装置包括:
用于确定一组用户与服务器之间经由网络中的对等链路的第一组会话期间的数据分组的重传率的装置,其中所述第一组会话中的给定会话在第一时间间隔内发起;
用于将所述重传率与第二组用户与所述服务器之间经由所述对等链路的第二组会话期间的数据分组的历史重传率进行比较的装置,其中所述第二组会话中的给定会话在第二时间间隔内发生,并且所述第二组会话包括所述第一组会话,所述第二组用户包括所述第一组用户,并且所述第二时间间隔包括所述第一时间间隔;
用于基于所述重传率与所述历史重传率的比较来调整服务器针对经由所述对等链路发起与附加用户的会话的请求的目标接受率的装置;以及
用于基于所述服务器针对经由所述对等链路发起与所述附加用户的会话的请求的实际接受率以及所述目标接受率,来接受或者拒绝经由所述对等链路发起另一用户与所述服务器之间的会话的请求,从而维持所述对等链路的通信性能的装置。
22.一种服务器,包括:
输入节点,配置用于耦合至包括对等链路的网络,所述对等链路配置用于在用户与所述服务器之间传送数据分组;以及
对等管理器,配置用于:
确定一组用户与所述服务器之间所述对等链路的第一组会话期间的数据分组的重传率,其中所述第一组会话中的给定会话在时间间隔内发起;
将所述重传率与第二组用户与所述服务器之间经由所述对等链路的第二组会话期间的数据分组的历史重传率进行比较,其中所述第二组会话中的给定会话在另一时间间隔内发生,并且所述第二组会话包括所述第一组会话,所述第二组用户包括所述第一组用户,并且所述另一时间间隔包括所述时间间隔;
基于所述重传率与所述历史重传率的比较来调整服务器针对经由所述对等链路发起与附加用户的会话的请求的目标接受率;以及
基于所述服务器针对经由所述对等链路发起与所述附加用户的会话的请求的实际接受率以及所述目标接受率,来接受或者拒绝经由所述对等链路发起另一用户与服务器之间的会话的请求,从而维持所述对等链路的通信性能。
CN200980122347.0A 2008-05-02 2009-04-29 用于调节链路流量的技术 Active CN102067547B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/114,350 US7882231B2 (en) 2008-05-02 2008-05-02 Technique for regulating link traffic
US12/114,350 2008-05-02
PCT/US2009/042045 WO2009134845A2 (en) 2008-05-02 2009-04-29 Technique for regulating link traffic

Publications (2)

Publication Number Publication Date
CN102067547A CN102067547A (zh) 2011-05-18
CN102067547B true CN102067547B (zh) 2014-05-28

Family

ID=41255747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980122347.0A Active CN102067547B (zh) 2008-05-02 2009-04-29 用于调节链路流量的技术

Country Status (10)

Country Link
US (1) US7882231B2 (zh)
EP (1) EP2314037B1 (zh)
JP (1) JP5408811B2 (zh)
KR (1) KR101537835B1 (zh)
CN (1) CN102067547B (zh)
AU (1) AU2009243136B2 (zh)
BR (1) BRPI0912001A2 (zh)
CA (1) CA2723208C (zh)
DE (1) DE202009019134U1 (zh)
WO (1) WO2009134845A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8817653B2 (en) * 2009-10-30 2014-08-26 At&T Intellectual Property I, L.P. Detecting irregular retransmissions
KR101917766B1 (ko) * 2012-05-25 2018-11-13 삼성전자주식회사 무선 통신 시스템에서 혼잡 제어 방법 및 장치
CN103796228B (zh) * 2012-10-31 2018-09-11 中兴通讯股份有限公司 一种无线网络毛细管道性能评估方法及装置
US8959152B2 (en) 2012-12-13 2015-02-17 Microsoft Corporation Peer-to-peer communication to increase download throughput
CN105208067A (zh) * 2014-06-26 2015-12-30 格瑞菲技术有限公司 异步多源流式传输
CN113206795B (zh) * 2021-04-12 2022-05-17 烽火通信科技股份有限公司 传输策略调整方法、装置、设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1398094A (zh) * 2001-07-12 2003-02-19 Lg电子株式会社 数据通信方法
WO2003028237A1 (en) * 2001-09-28 2003-04-03 Divxnetworks, Inc. Dynamic bit rate control process
US7225459B2 (en) * 2001-10-17 2007-05-29 Numerex Investment Corproation Method and system for dynamically adjusting video bit rates

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307867B1 (en) * 1998-05-14 2001-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Data transmission over a communications link with variable transmission rates
CN1185902C (zh) * 2000-06-26 2005-01-19 松下电器产业株式会社 移动通信系统
KR100695830B1 (ko) * 2000-09-05 2007-03-19 유티스타콤코리아 유한회사 무선통신 시스템에서 데이터 반복 전송 방법
TWI250741B (en) 2003-02-26 2006-03-01 Realtek Semiconductor Corp Method for automatically and dynamically adjusting packet transmission speed of wireless communication network system
US7729252B2 (en) 2003-05-30 2010-06-01 Alcatel-Lucent Usa Inc. Methods and devices for providing fast and robust overload control
JP2005065177A (ja) * 2003-08-20 2005-03-10 Nippon Telegr & Teleph Corp <Ntt> P2p通信システムにおける接続リンク数制御方法、情報処理装置、およびリンク数制御プログラム
US20070008884A1 (en) * 2003-10-08 2007-01-11 Bob Tang Immediate ready implementation of virtually congestion free guarantedd service capable network
US7243284B2 (en) * 2003-12-11 2007-07-10 International Business Machines Corporation Limiting number of retransmission attempts for data transfer via network interface controller
JP4687343B2 (ja) * 2005-09-06 2011-05-25 日本電気株式会社 チャネル帯域占有率評価方法、無線通信システム、チャネル帯域占有率評価装置及びプログラム
JP4805081B2 (ja) * 2006-09-29 2011-11-02 富士通株式会社 無線中継装置、無線中継方法および無線中継プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1398094A (zh) * 2001-07-12 2003-02-19 Lg电子株式会社 数据通信方法
WO2003028237A1 (en) * 2001-09-28 2003-04-03 Divxnetworks, Inc. Dynamic bit rate control process
US7225459B2 (en) * 2001-10-17 2007-05-29 Numerex Investment Corproation Method and system for dynamically adjusting video bit rates

Also Published As

Publication number Publication date
JP5408811B2 (ja) 2014-02-05
DE202009019134U1 (de) 2017-01-15
CA2723208C (en) 2013-06-18
CA2723208A1 (en) 2009-11-05
EP2314037B1 (en) 2017-08-09
EP2314037A4 (en) 2013-07-24
KR101537835B1 (ko) 2015-07-17
JP2011524107A (ja) 2011-08-25
WO2009134845A3 (en) 2010-02-18
AU2009243136B2 (en) 2013-03-21
CN102067547A (zh) 2011-05-18
US7882231B2 (en) 2011-02-01
AU2009243136A1 (en) 2009-11-05
KR20110013408A (ko) 2011-02-09
US20090276518A1 (en) 2009-11-05
WO2009134845A2 (en) 2009-11-05
BRPI0912001A2 (pt) 2015-10-13
EP2314037A2 (en) 2011-04-27

Similar Documents

Publication Publication Date Title
CN102067547B (zh) 用于调节链路流量的技术
EP2985970B1 (en) Probabilistic lazy-forwarding technique without validation in a content centric network
EP2629466B1 (en) Method, device and system for forwarding data in communication system
JP7405856B2 (ja) レイテンシ制約下でのキャッシュのクラスタに対する効率的で柔軟な負荷分散
US20020069284A1 (en) System and method of controlling network connectivity
US11876716B2 (en) Systems and methods for adjusting a congestion window value of a content delivery network
KR20170121269A (ko) 전송 제어 프로토콜(tcp) 데이터 패킷을 송신하는 방법 및 장치 그리고 시스템
US7356584B2 (en) Optimization of service provider load balancing
CN103369601A (zh) 为手机客户端提供大并发处理及流量控制的方法
US20100180033A1 (en) Hybrid Server Overload Control Scheme for Maximizing Server Throughput
Yang et al. Algorithms for fault-tolerant placement of stateful virtualized network functions
US20220377127A1 (en) Efficient file routing system
WO2019102814A1 (ja) Api課金システム、api課金管理方法、及び、api課金プログラム
CN102404133B (zh) 一种ip网络数据交互的方法和装置
Zinner et al. Performance evaluation of packet reordering on concurrent multipath transmissions for transport virtualisation
JP2011250223A (ja) ゲートウェイ装置およびゲートウェイ装置におけるパケットバッファ管理方法
JP2001127756A (ja) パケット通信システム、パケット通信方法、並びにQoS端末装置
WO2023187937A1 (ja) 品質調整装置、品質調整方法、及びプログラム
CN105323191A (zh) 路由器及其资源分配方法
WO2022062778A1 (zh) 业务计费方法、通信设备及存储介质
WO2023187935A1 (ja) 品質調整装置、品質調整方法、及びプログラム
US20230066060A1 (en) Routing of bursty data flows
TW200300315A (en) Data network controller
CN101656759B (zh) 实现移动网络p2p应用的方法、终端及系统
JP2021136551A (ja) 情報処理装置、及び、情報処理方法

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
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.

CP01 Change in the name or title of a patent holder