首页> 中国专利> 基于延迟的确认减少对TCP代理会话的缓存使用

基于延迟的确认减少对TCP代理会话的缓存使用

摘要

通过服务网关减少客户机和服务器之间的TCP代理会话的缓存使用包括:确定服务器侧TCP会话的第一往返时间(RTT),并确定客户机侧TCP会话的第二RTT;将第一RTT与第二RTT进行比较;确定第二RTT是否超出第一RTT一阈值;若是,则基于第二RTT计算要求的RTT;根据计算出的要求RTT设定定时器,其中服务器侧TCP会话的TCP确认被延迟直到定时器到期为止。要求的RTT可被计算为第二RTT的百分比或第二RTT减去一预定值。服务网关在将TCP确认数据分组发送至服务器之前等待直到定时器到期为止。

著录项

  • 公开/公告号CN103944954A

    专利类型发明专利

  • 公开/公告日2014-07-23

    原文格式PDF

  • 申请/专利权人 A10网络股份有限公司;

    申请/专利号CN201410029889.6

  • 发明设计人 L·韩;Z·曹;

    申请日2014-01-22

  • 分类号H04L29/08(20060101);H04L29/06(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人张东梅

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 01:19:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-12

    授权

    授权

  • 2015-03-04

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20140122

    实质审查的生效

  • 2014-07-23

    公开

    公开

说明书

发明领域

本发明总地涉及数据通信,更具体地涉及服务网关。

背景技术

诸如防火墙和服务器负载平衡器之类的许多服务网关一段时间提供传输 控制协议(TCP)代理功能。TCP代理的典型服务应用包括网络分析、安全和由于 非对称客户机和服务器状态的通信量适应。TCP代理服务器一般分配一定量的 存储器缓存以应付客户机设备和服务器之间的TCP代理会话的数据分组缓存。 存储器缓存被用来应付客户机侧会话和服务器侧会话的数据分组缓存。客户机 侧会话发送和接收缓存及服务器侧会话发送和接收缓存间的存储器空间分配 通常不将性能考虑在内。TCP代理服务器从服务器侧会话接收数据分组,根据 需要的服务应用处理数据分组,并将结果数据分组发送至客户机侧会话。在理 想的场景下,这些步骤是在来自服务器侧会话的下一数据分组被传递至TCP代 理服务器之前完成的。然而,在许多部署的情况下,客户机设备通过移动宽带 接入或剩余因特网接入来接入服务,这种接入具有由于长距广域网引起的较长 传输时间以及基于订户接入服务的较慢传输带宽。然而,一个或多个TCP代理 服务器位于同一数据中心内并享有短传输时间和高容量带宽。在该部署场景 中,当TCP代理服务器从服务器侧会话接收数据分组时,所接收的数据分组被 放置在服务器侧会话接收缓存中,并等待由服务应用处理的时机,进而等待客 户机侧会话以释放客户机侧会话发送缓存,由于之前发送的数据分组的缓慢传 输,该客户机侧会话发送缓存被填充以早前处理的待决数据分组,进而等待它 们传输的时机。

在典型情况下,一旦成功地从服务器接收到适当量的TCP数据,TCP代理 服务器根据TCP协议发送TCP确认。当服务器接收到之前发送的TCP数据的TCP 确认时,服务器将附加的TCP数据分组发送至TCP代理服务器。TCP代理服务 器应当进一步增加服务器侧会话接收缓存的存储器空间以存储附加的TCP数据 分组,同时等待之前的TCP数据被处理并被发送至客户机。这种级联效应使TCP 代理服务器消耗大量的存储器空间,用于容纳服务器侧会话的接收的TCP数据 分组所需的服务器侧会话接收缓存。所使用的缓存空间越大,可供TCP代理服 务器使用以应付附加TCP代理会话的存储器资源越少;尽管TCP代理服务器可 能具有其它丰裕的资源以应付附加负载。

发明内容

根据本发明的一个实施例,一种减少客户机和服务器之间的传输控制 协议(TCP)代理会话的缓存使用的方法,包括:(a)确定服务网关和服务器 之间的TCP代理会话的服务器侧TCP会话的第一往返时间(RTT),并确定服 务网关和客户机之间的TCP代理会话的客户机侧TCP会话的第二RTT;(b) 通过服务网关将第一RTT与第二RTT进行比较;(c)确定第二RTT是否超出 第一RTT;(d)响应于确定第二RTT超出第一RTT,基于第二RTT通过服务 网关计算要求的RTT;以及(e)根据计算出的要求RTT通过服务网关设定定 时器,其中服务器侧TCP会话的TCP确认被延迟直到定时器到期为止。

在本发明的一个方面,确定(c)和计算(d)包括:c1)确定第二RTT是否 超出第一RTT一预定阈值;以及d1)响应于确定第二RTT超出第一RTT该预 定阈值,基于第二RTT通过服务网关计算要求的RTT。

在本发明的一个方面,计算(d)包括:d1)通过服务网关将要求的RTT 计算为第二RTT的百分比。

在本发明的一个方面,计算(d)包括:(d1)通过网关服务器将要求的RTT 计算为第二RTT减去一预定值。

在本发明的一个方面,设定(e)包括:(e1)通过服务网关在服务器侧TCP 会话上从服务器接收数据分组;(e2)通过服务网关确定将TCP确认发送至 服务器的需要;(e3)通过服务网关将定时器设定至要求的RTT;以及(e4) 响应于定时器的到期,通过服务网关将TCP确认发送至服务器。

对应于前面总结的方法的系统和计算机可读介质也在这里被描述和要 求保护。

附图说明

图1示出根据本发明一实施例为客户机设备和服务器之间的TCP代理 会话提供服务的服务网关。

图1a示出根据本发明一实施例的服务网关的组件。

图2示出根据本发明一实施例的延迟发送TCP ACK分组的过程。

具体实施方式

本发明能采用完全硬件实施例、完全软件实施例或包含硬件和软件部 件两者的实施例的形式。在一优选实施例中,本发明以软件实现,该软件 包括但不限于固件、驻留软件、微代码等。

此外,本发明能采用可从计算机可用或计算机可读介质访问的计算机 程序产品的形式,该计算机程序产品提供由计算机或任何指令执行系统使 用或与之联系地使用的程序代码。出于说明的目的,计算机可用或计算机 可读介质可以是包含、存储、通信、传播和传输程序的任何装置,以由指 令执行系统、装置或设备使用或与之联系地使用。

介质可以是电子、磁、光、电磁、红外或半导体系统(或装置或设备) 或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可 移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光 盘。光盘的当前例子包括紧致盘-只读存储器(CD-ROM)、紧致盘-读/写 (CD-R/W)和DVD。

适于存储和/或执行程序代码的数据处理系统将包括通过系统总线直 接或间接耦合至存储器元件的至少一个处理器。存储器元件可包括在实际 执行程序代码期间利用的本地存储器、大容量存储以及高速缓存存储器, 这些存储器提供至少一些程序代码的临时存储以减少在执行过程中必须从 大容量存储中检索代码的次数。

输入/输出或I/O设备(包括但不限于键盘、显示器、定点设备等)可直 接或通过中间I/O控制器耦合至系统。

网络适配器也可耦合至系统以允许数据处理系统通过中间私用网或公 用网耦合至其它数据处理系统或远程打印机或存储设备。调制解调器、线 缆调制解调器和以太网卡只是当前可用类型的网络适配器中的一些。

附图中的流程图和框图示出根据本发明各实施例的系统、方法和计算 机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中 的每个方框可代表模块、区段或代码的一部分,其包括一个或多个可执行 指令以实现规定的本地功能。也应当注意,在一些替代实现中,框内记录 的功能可按附图中记录的顺序之外的顺序发生。例如,连续示出的两个框 实际上可基本同时地执行,或者某些框有时可按相反顺序执行,这依赖于 所涉及的功能。还要注意框图和/或流程图的每个框以及框图和/或流程图 中的这些框的组合可通过实现特定功能或动作的基于专用硬件的系统或专 用硬件和计算机指令的结合来实现。

本文中使用的术语仅是为了描述具体实施例而不旨在对发明构成限 制。本文中使用的单数形式“一”、“一个”和“该”旨在也包括复数形 式,除非上下文中清楚指明了相反情形。要进一步理解,术语“包括”和/ 或“包含”,当在本说明书中使用时,规定了所声称的特征、整体、步骤、 操作、要素和/或组件的存在,但不排除一个或多个其它特征、整体、步骤、 操作、要素、组件和/或它们的组的存在或附加。

本发明的实施例,如下文所述,调整了服务侧会话传输时间以减少缓 存使用,这进而增加了TCP代理服务器的TCP代理会话的能力。根据本发 明的实施例,TCP代理服务器延迟服务器发送附加的TCP数据,其中该延迟 允许TCP代理服务器在服务器侧会话接收缓存中处理和发送拟被处理和发 送至客户机的当前TCP数据。当服务器在延迟后发送附加TCP数据时,TCP 代理服务器在服务器侧会话接收缓存中将具有足够的空间以接收附加的 TCP数据。该延迟延长了该服务器和TCP代理服务器之间的服务器侧会话的 传输时间。

图1示出根据本发明的实施例经由数据网络153为客户机设备100和 服务器设备200之间的TCP代理会话400提供服务的服务网关300。

在一个实施例中,数据网络153包括网际协议(IP)网络、团体数据网 络、区域团体数据网络、因特网服务提供者网络、住户数据网络、诸如以 太网的有线网络、诸如WiFi网络的无线网络或蜂窝网络。在一个实施例中, 数据网络153位于数据中心内,或连接至一网络或应用网络云。

客户机设备100一般是具有网络接入能力的计算设备。在一个实施例 中,客户机设备100是工作站、台式个人计算机或膝上个人计算机、个人 数据助理(PDA)、平板计算设备、智能电话或蜂窝电话、机顶盒、因特网媒 体浏览器、因特网媒体播放器、智能传感器、智能医疗设备、网顶盒、联 网电视机、联网DVR、联网蓝光播放器、联网手持游戏设备或媒体中心。

在一个实施例中,客户机设备100是住户宽带网关、商业因特网网关、 商业Web代理服务器、网络消费者房屋设备(CPE)或因特网接入网关。

在一个实施例中,客户机设备100包括宽带远程接入服务器(BRAS)、 数字订户线接入多路复用器(DSLAM)、线缆调制解调器终端系统(CMTS)或服 务提供者接入网关。

在一个实施例中,客户机设备100包括诸如网关GPRS支持节点 (GGSN)、家庭代理(HA)或PDN网关(PGW)之类的移动宽带接入网关。

在一个实施例中,客户机设备100包括服务器负载平衡器、应用传递 控制器、通信量管理器、防火墙、VPN服务器、远程接入服务器或企业或数 据中心接入网关。

在一个实施例中,客户机设备100是类似于服务网关300的设备。

客户机设备100经由服务网关300向服务器200发起TCP会话400。

服务器200是一般耦合至处理器和存储计算机可读程序代码的计算机 可读介质的计算设备。具有处理器和计算机可读程序代码的服务器200实 现Web服务器、文件服务器、视频服务器、数据库服务器、应用服务器、 语音系统、会议服务器、媒体网关、媒体中心、应用服务器或网络服务器 的功能,这些服务器使用TCP会话400向客户机设备100提供基于TCP的 服务或应用服务。

在一个实施例中,服务器200是类似于服务器网关300的设备。

在一个实施例中,TCP会话400包括HTTP会话、FTP文件传输会话、 基于TCP的视频流会话、基于TCP的音乐流会话、文件下载会话、组会议 会话、数据库接入会话、远程终端接入会话、远程通信网会话、电子商务 交易、远程程序调用或基于TCP的网络通信会话。

图1a所示的服务网关300可操作地耦合至处理器310、存储器模块 320、网络接口模块330以及计算机可读介质340。计算机可读介质340存 储计算机可读程序代码,该计算机可读程序代码当由使用存储器模块320 的处理器310执行时,实现如本文所述的本发明的各实施例。在一些实施 例中,服务网关300被实现为服务器负载平衡器、应用传递控制器、服务 传递平台、通信量管理器、安全网关、防火墙系统的组件、虚拟个人网络 (VPN)的组件、视频服务器的负载平衡器、将负载分配至一个或多个服务器 的网关、Web或HTTP服务器、网络地址转换(NAT)网关或TCP代理服务器。

在一个实施例中,计算机可读介质340包括服务应用350的指令,并且处 理器310执行服务应用350。

在一个实施例中,服务应用350实现VPN防火墙、网关安全应用、HTTP 代理、基于TCP的音频或视频流会话代理、Web会话代理、内容过滤、服务器 负载平衡、防火墙或网络应用会话代理的功能。

回到图1,在向客户机设备100和服务器200之间的TCP代理会话400提 供服务的一个实施例中,服务网关300建立与客户机设备100的客户机侧TCP 会话420以及与服务器200的服务器侧TCP会话470。

在一个实施例中,服务网关300为服务器侧TCP会话470分配一接收缓存 474。在一个实施例中,接收缓存474驻留在存储器模块320中。

在一个实施例中,服务网关300使用TCP会话470的往返时间(RTT)497 监测TCP会话470的性能。服务网关300测量或估计TCP会话470的RTT497。 在一个示例实施例中,服务网关300基于服务网关300向服务器200发送TCP 会话470的数据分组的时间与服务网关300接收到对发送数据分组的确认的时 间之间的时长来测量RTT497。在一个实施例中,服务网关300在TCP会话470 期间周期地或偶尔地测量RTT497。在一个实施例中,服务网关300基于与服 务器200的一个或多个之前的服务器侧TCP会话估计RTT497。在一个实施例 中,服务网关300将RTT497估计为10毫秒、100毫秒、3毫秒、22毫秒或3 秒。

在一个实施例中,服务网关300从接收缓存474检索数据,在一个实施例 中通过服务应用350处理该数据,并通过TCP会话420将经处理的数据发送至 客户机设备100。在一个实施例中,服务网关300每当TCP会话420准备传输 时处理来自接收缓存474的数据。TCP会话420的缓慢传输造成服务网关300 延迟处理来自接收缓存474的数据。在一个实施例中,服务网关300使用TCP 会话420的往返时间(RTT)492监测TCP会话420的性能。服务网关300测量或 估计TCP会话420的RTT492。在一个示例性实施例中,服务网关300基于服 务网关300将TCP会话420的数据分组发送至客户设备100的时间和服务网关 300接收对发送的数据分组的确认的时间之间的时长来测量RTT492。在一个 实施例中,服务网关300在TCP会话420过程中周期地或偶尔地测量RTT492。 在一个实施例中,服务网关300基于与客户机设备100的一个或多个在前客户 机侧TCP会话估计RTT492。在一个实施例中,服务网关300将RTT492估计 为10毫秒、100毫秒、3毫秒、22毫秒或3秒。

在一个实施例中,服务网关300将RTT497与RTT492进行比较。在一个 实施例中,当服务网关300确定RTT492超出RTT497某一阈值时,服务网关 300如下文所述地施加处理,以调整RTT497以收窄RTT492和RTT497之间 的间隙。在一个实施例中,当RTT492比RTT497高过至少2倍、5倍或10 倍时或当RTT492至少大过RTT497一预定量(例如20毫秒、50毫秒或200 毫秒)时,RTT492被确定为超出RTT497该阈值。

在一个实施例中,服务网关300确定RTT492未超出RTT497该阈值,并 且服务网关300不调整RTT497。

在一个实施例中,服务网关300规则地或偶尔地测量RTT492和RTT497, 并将RTT492与RTT497进行比较。

图2示出根据本发明一实施例用于调整服务器侧TCP会话470的RTT497 的过程。在一个实施例中,服务网关300从服务器200接收TCP会话470上 的数据分组480。服务网关300将数据分组480存储到接收缓存474中。在一 个实施例中,服务网关300从接收缓存474确定按照TCP协议发送TCP确认 的需要。不是立即发送TCK ACK数据分组479,而是服务网关300使用定时 器487安排在稍后时间发送TCP ACK数据分组479。服务网关300将定时器 487设定至要求的RTT498。当定时器487到期时,服务网关300发送TCP ACK 数据分组479。在一个实施例中,服务网关300包括时钟(未示出),该时钟允 许服务网关300确定定时器487是否到期。

在一个实施例中,服务网关300基于RTT492计算要求的RTT498。在一 个实施例中,计算要求的RTT498使其落在RTT492的实际范围内。例如,要 求的RTT498被计算为RTT492的预定百分比,例如RTT492的30%、40%、 60%或75%。在一个实施例中,要求的RTT498被计算为RTT492减去一预 定值,例如10毫秒、5毫秒或25毫秒。要求的RTT498提供发送TCP会话 470的TCP确认的定时延迟,并由此增加TCP会话470的往返时间。当在发 送TCP ACK数据分组479之后服务网关300如图1所示地测量RTT497时, RTT497被预期具有与要求的RTT498类似的值。

在一个实施例中,服务网关300执行一过程,即测量RTT497、RTT492, 将RTT492与RTT497进行比较,并当服务网关300确定RTT492显著大于 RTT497时执行图2中的处理步骤,从而减小接收缓存474的存储器容量,这 进而增加了服务网关300处理额外TCP代理会话的能力。

在一实施例中,由用户凭经验确定预定RTT492的百分比或预定值,即针 对不同客户机和服务器的不同TCP代理会话使用多种百分比和值。典型地, RTT492和RTT497之间的差越小,则所需的接收缓存474的存储器容量越小。 在一个实施例中,用户配置要求的RTT498以减少RTT497和RTT492之间 的差。在一个实施例中,预定的百分比在30%和50%之间,并由用户对服务 网关300配置。用户能配置对较小的接收缓存474容量配置较高值的预定百分 比或要求的RTT498,并对较大的接收缓存474容量配置较小值的预定百分比 或要求的RTT498。用户可考虑一预定百分比或预定值以在接收缓存474容量 和要求的RTT498之间取得平衡。

尽管已根据所示实施例描述了本发明,然而本领域内技术人员将容易理 解,对这些实施例可能存在变型并且这些变型可落在本发明的精神和范围内。 因此,可由本领域内技术人员作出许多修正而不脱离所附权利要求书的精神和 范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号