用于网络连接缓冲区大小确定的系统和方法技术方案

技术编号:20987797 阅读:28 留言:0更新日期:2019-04-29 20:24
本发明专利技术的实现涉及用于确定并实现网络连接所用的传输缓冲区大小的方法、系统和计算机程序存储装置。一种计算机实现的方法,包括:获得针对至少一个服务器和至少一个客户端装置之间的多个网络连接中的各网络连接的相应的带宽要求;确定针对各网络连接的相应的延迟;基于针对各网络连接的相应的带宽要求和相应的延迟,来计算针对该网络连接的期望传输缓冲区大小;将针对各网络连接的新的传输缓冲区大小设置为针对该网络连接的所述期望传输缓冲区大小;以及使用所述新的传输缓冲区大小来从所述至少一个服务器向所述至少一个客户端装置传输数据。

System and Method for Determining the Size of Network Connection Buffer

The implementation of the present invention relates to a method, a system and a computer program storage device for determining and realizing the transmission buffer size used for network connection. A computer implementation method includes: obtaining corresponding bandwidth requirements for each network connection in a plurality of network connections between at least one server and at least one client device; determining the corresponding delay for each network connection; and calculating the desired transmission delay for the network connection based on the corresponding bandwidth requirements and the corresponding delay for each network connection. The buffer size; setting the new transmission buffer size for each network connection to the desired transmission buffer size for the network connection; and using the new transmission buffer size to transmit data from the at least one server to the at least one client device.

【技术实现步骤摘要】
【国外来华专利技术】用于网络连接缓冲区大小确定的系统和方法相关申请的交叉引用本申请要求2016年8月24日提交的美国专利申请15/245,718的优先权,其全部内容通过引用而被包含于此。
技术介绍
本说明书涉及用于确定多个网络连接所用的传输缓冲区的大小的系统和方法。通常,客户端装置和服务器系统之间的连接利用传输缓冲区来传输数据。例如,传输控制协议(TCP)可以在各所连接的装置的操作系统内核中使用发送缓冲区和接收缓冲区。这种传输缓冲区的不恰当大小调整可能导致包括延迟问题和/或内存压力的各种问题。例如,在传输缓冲区太小的情况下,服务器和客户端装置之间的过度握手可能导致延迟问题以及/或者妨碍连接保持期望的数据传送速率。同样,在传输缓冲区太大的情况下,特别是对于涉及数千个或数百万个连接的客户端-服务器系统而言,用于维持缓冲区的内存要求可能变得过大。需要便于恰当地确定服务器系统和客户端之间的连接所用的传输缓冲区的大小的系统和方法。
技术实现思路
本文所述的系统和方法的示例用于确定多个网络连接所用的传输缓冲区的大小。使用例如服务器上的操作系统内核和从该内核提取往返时间(RTT)的应用来针对各连接测量RTT或延迟。基于例如与在所连接的装置上运行的一个或多个应用相关联的要求数据传送速率来针对各连接确定带宽要求。在特定示例中,基于RTT和带宽要求来确定传输缓冲区大小,并且可以周期性地更新或调整传输缓冲区大小,以考虑连接性的变化。本文所述的系统和方法对于具有数千个或数百万个连接的实时系统而言特别有利。这些系统和方法能够优化传输缓冲区大小以使延迟最小化并减少内存压力。这种缓冲区大小调整可以动态地(例如,在运行中和/或随时间的经过)进行,并且优先是特定于各连接的,其中缓冲区大小是针对各连接(例如,基于该连接的带宽要求和RTT)单独优化的。通过使内存使用保持到最低限度,使系统可以处理的连接数量以及这些连接的带宽最大化。通常,本说明书的主题的一个方面涉及一种计算机实现的方法,所述方法包括:获得针对至少一个服务器和至少一个客户端装置之间的多个网络连接中的各网络连接的相应的带宽要求;确定针对各网络连接的相应的延迟;基于针对各网络连接的相应的带宽要求和相应的延迟,来计算针对该网络连接的期望传输缓冲区大小;将针对各网络连接的新的传输缓冲区大小设置为针对该网络连接的所述期望传输缓冲区大小;以及使用所述新的传输缓冲区大小来从所述至少一个服务器向所述至少一个客户端装置传输数据。在特定示例中,获得针对所述多个网络连接中的各网络连接的相应的带宽要求包括:确定针对在与所述多个网络连接其中之一相关联的客户端装置上运行的应用的目标数据传送速率。获得针对所述多个网络连接中的各网络连接的相应的带宽要求包括:例如测量在一段时间内通过至少一个网络连接所传输的数据的量。在一些示例中,确定针对各网络连接的相应的延迟包括:确定针对至少一个网络连接的往返时间。针对所述至少一个网络连接的相应的延迟包括例如所述往返时间除以2。在各种实现中,确定所述往返时间包括:从所述至少一个服务器获得所述往返时间。计算针对各网络连接的期望传输缓冲区大小包括:确定针对至少一个网络连接(例如TCP/IP连接或无连接传输模式连接)的相应的带宽要求和相应的延迟的乘积。在一些示例中,所述的方法包括:确定在稍后时刻的针对至少一个网络连接的相应的延迟;以及基于在所述稍后时刻的所述相应的延迟来计算针对所述至少一个网络连接的新的期望传输缓冲区大小。在另一方面中,本说明书的主题涉及一种系统,包括:一个或多个计算机,其被编程为进行包括以下的操作:获得针对至少一个服务器和至少一个客户端装置之间的多个网络连接中的各网络连接的相应的带宽要求;确定针对各网络连接的相应的延迟;基于针对各网络连接的相应的带宽要求和相应的延迟,来计算针对该网络连接的期望传输缓冲区大小;将针对各网络连接的新的传输缓冲区大小设置为针对该网络连接的所述期望传输缓冲区大小;以及使用所述新的传输缓冲区大小来从所述至少一个服务器向所述至少一个客户端装置传输数据。在特定示例中,获得针对所述多个网络连接中的各网络连接的相应的带宽要求包括:确定针对在与所述多个网络连接其中之一相关联的客户端装置上运行的应用的目标数据传送速率。获得针对所述多个网络连接中的各网络连接的相应的带宽要求包括:例如测量在一段时间内通过至少一个网络连接所传输的数据的量。在一些示例中,确定针对各网络连接的相应的延迟包括:确定针对至少一个网络连接的往返时间。针对所述至少一个网络连接的相应的延迟包括所述往返时间除以2。在各种实现中,确定所述往返时间包括:从所述至少一个服务器获得所述往返时间。计算针对各网络连接的期望传输缓冲区大小包括:例如确定针对至少一个网络连接(例如,TCP/IP连接或无连接传输模式连接)的相应的带宽要求和相应的延迟的乘积。在一些示例中,所述操作包括:确定在稍后时刻的针对至少一个网络连接的相应的延迟;以及基于在所述稍后时刻的所述相应的延迟来计算针对所述至少一个网络连接的新的期望传输缓冲区大小。在另一方面中,本说明书的主题涉及一种非暂时性计算机可读介质,其存储有指令,所述指令在由一个或多个计算机执行的情况下,使所述计算机进行包括以下的操作:获得针对至少一个服务器和至少一个客户端装置之间的多个网络连接中的各网络连接的相应的带宽要求;确定针对各网络连接的相应的延迟;基于针对各网络连接的相应的带宽要求和相应的延迟,来计算针对该网络连接的期望传输缓冲区大小;将针对各网络连接的新的传输缓冲区大小设置为针对该网络连接的所述期望传输缓冲区大小;以及使用所述新的传输缓冲区大小来从所述至少一个服务器向所述至少一个客户端装置传输数据。针对本专利技术的给定方面所述的实施例或示例的元素可以用在本专利技术的另一方面的各种实施例或示例中,例如,设想从属于一个独立权利要求的从属权利要求的特征可以用在任何其它独立权利要求的设备、系统和/或方法中。在附图和以下的描述中详细阐述了本说明书中所描述的主题的一个或多个实施例。根据说明书、附图和权利要求,本主题的其它特征、方面和优点将变得明显。附图说明图1是用于确定和调整多个网络连接所用的传输缓冲区大小的示例系统的示意图。图2是用于确定和调整服务器系统和客户端装置之间的连接所用的传输缓冲区大小的示例系统的示意图。图3是服务器系统和客户端装置之间的连接的示意数据流图。图4是用于调整多个网络连接所用的传输缓冲区大小的示例方法。具体实施方式通常,本文所述的系统和方法用于确定用于在一个或多个服务器与多个客户端装置之间通过网络连接(例如,TCP/IP或用户数据报协议/IP连接)发送消息的传输缓冲区的大小。这些系统和方法的目标是确定传输缓冲区的大小,使得在针对各连接实现期望带宽的同时,使内存使用和延迟最小化。图1示出用于优化多个网络连接所用的传输缓冲区大小的示例系统100。服务器系统112提供处理、数据存储和数据传输。服务器系统112可以包括可以部署在各种地理位置或数据中心处的一个或多个处理器114、软件组件和数据库。服务器系统112的软件组件可以包括服务器应用116、服务器内核118和服务器缓冲区大小确定模块120。这些软件组件可以包括可以在相同或不同的单独数据处理设备上执行的子组件。服务器系统112本文档来自技高网...

【技术保护点】
1.一种计算机实现的方法,所述方法包括:获得针对至少一个服务器和至少一个客户端装置之间的多个网络连接中的各网络连接的相应的带宽要求;确定针对各网络连接的相应的延迟;基于针对各网络连接的相应的带宽要求和相应的延迟,来计算针对该网络连接的期望传输缓冲区大小;将针对各网络连接的新的传输缓冲区大小设置为针对该网络连接的所述期望传输缓冲区大小;以及使用所述新的传输缓冲区大小来从所述至少一个服务器向所述至少一个客户端装置传输数据。

【技术特征摘要】
【国外来华专利技术】2016.08.24 US 15/245,7181.一种计算机实现的方法,所述方法包括:获得针对至少一个服务器和至少一个客户端装置之间的多个网络连接中的各网络连接的相应的带宽要求;确定针对各网络连接的相应的延迟;基于针对各网络连接的相应的带宽要求和相应的延迟,来计算针对该网络连接的期望传输缓冲区大小;将针对各网络连接的新的传输缓冲区大小设置为针对该网络连接的所述期望传输缓冲区大小;以及使用所述新的传输缓冲区大小来从所述至少一个服务器向所述至少一个客户端装置传输数据。2.根据权利要求1所述的方法,其中,获得针对所述多个网络连接中的各网络连接的相应的带宽要求包括:确定针对在与所述多个网络连接其中之一相关联的客户端装置上运行的应用的目标数据传送速率。3.根据权利要求1所述的方法,其中,获得针对所述多个网络连接中的各网络连接的相应的带宽要求包括:测量在一段时间内通过至少一个网络连接所传输的数据的量。4.根据权利要求1所述的方法,其中,确定针对各网络连接的相应的延迟包括:确定针对至少一个网络连接的往返时间。5.根据权利要求4所述的方法,其中,针对所述至少一个网络连接的相应的延迟包括所述往返时间除以2。6.根据权利要求4所述的方法,其中,确定所述往返时间包括:从所述至少一个服务器获得所述往返时间。7.根据权利要求1所述的方法,其中,计算针对各网络连接的期望传输缓冲区大小包括:确定针对至少一个网络连接的相应的带宽要求和相应的延迟的乘积。8.根据权利要求1所述的方法,其中,至少一个网络连接包括TCP/IP连接。9.根据权利要求1所述的方法,其中,至少一个网络连接是无连接传输模式。10.根据权利要求1所述的方法,还包括:确定在稍后时刻的针对至少一个网络连接的相应的延迟;以及基于在所述稍后时刻的所述相应的延迟来计算针对所述至少一个网络连接的新的期望传输缓冲区大小。11.一种系统,包括:一个或多个计算机,其被编程为进行包括以下的操作:获得针对至少一个服务器和至少一个客户端装置之间的多个网络连接中的各网络连接的相应的带宽要求;确定针对各网络连接的相应的延迟;基于针对各网络...

【专利技术属性】
技术研发人员:L·瓦尔金
申请(专利权)人:萨托里环球有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1