CN1953351A - 用于数据传输的自适应控制的方法和装置 - Google Patents
用于数据传输的自适应控制的方法和装置 Download PDFInfo
- Publication number
- CN1953351A CN1953351A CNA2006100842147A CN200610084214A CN1953351A CN 1953351 A CN1953351 A CN 1953351A CN A2006100842147 A CNA2006100842147 A CN A2006100842147A CN 200610084214 A CN200610084214 A CN 200610084214A CN 1953351 A CN1953351 A CN 1953351A
- Authority
- CN
- China
- Prior art keywords
- data
- threshold value
- transfer
- computer
- bandwidth
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1825—Adaptation of specific ARQ protocol parameters according to transmission conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1887—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
一种监视到目的地的数据传输的计算机实施的方法、装置和计算机可用程序代码。关于该数据传输是否超过阈值作出判定。如果该数据传输超过该阈值,则使用自适应带宽控制处理来控制用于向目的地传输数据的带宽,其中对于该数据传输确保最小带宽量。
Description
技术领域
本发明总体上涉及一种改进的数据处理***,具体地说,涉及一种用于传输数据的计算机实施的方法和装置。更具体地说,本发明涉及一种自适应地控制用于传输数据的带宽的计算机实施的方法、装置和计算机可用程序代码。
背景技术
随着网络和因特网的普遍使用,商业上的通信已经发生变革。网络普遍用于传输数据。许多分布式应用利用大后台传输来提高服务质量。利用这些类型的后台传输,用户无需在执行其它动作之前等待这些传输完成。包括例如数据备份、预取(prefetch)、企业数据分布、因特网内容分布、端对端存储的广大范围的应用和服务采用后台传输。这些和其它类型的应用增加了网络带宽消耗。这些服务中的一些具有潜在无限的带宽需求,其中增量式地更多的带宽的使用提供增量式地更好的服务。这些类型的应用的一个问题在于,大多数网络仅具有可用于传输数据的限量带宽。一些应用执行关键的功能而其它是非关键的。典型地,后台传输是非关键的并且可以使用所有的可用带宽,从而使关键的网络业务变慢。
自适应带宽控制已被用来自动地适应网络状况,以减少对网络的影响。目前,不同的自适应带宽控制处理和算法用于控制不同应用所使用的带宽量以避免拥塞。当前可用的自适应带宽控制处理考虑到了本地接口水平的服务器或客户计算机上的网络状况,而不能够考虑到数据传输中可能存在的其它状况。
因而,拥有改进的计算机实施的方法、装置和计算机可用程序代码以自适应地控制传输数据中的带宽使用将是有利的。
发明内容
本发明提供了一种计算机实施的方法、装置和计算机可用程序代码,以监视数据到目的地的传输。对数据传输是否超出阈值进行判定。如果数据传输超出阈值,则使用自适应带宽控制处理来控制用于传送数据到目的地的带宽,其中,对于数据传输确保带宽的最小量。
附图说明
在所附的权利要求中阐述了认为是本发明特性的新颖特征。然而,通过结合附图参考下述说明性实施例的详细描述,将最佳地理解本发明本身,以及使用的最佳方式,本发明的进一步目的和优点,在所述附图中:
图1是其中可以实施本发明的方面的数据处理***网络的图形表示;
图2是其中可以实施本发明的方面的数据处理***的框图;
图3是图示根据本发明说明性实施例的自适应带宽控制中所使用的组件的图;
图4是根据本发明说明性实施例的传输控制协议/因特网协议(TCP/IP)和类似协议的图;
图5是图示根据本发明说明性实施例的提供自适应带宽控制过程中使用的软件处理和组件的图;
图6是根据本发明说明性实施例的用于配置用户对参数的设置的处理的流程图;
图7是根据本发明说明性实施例的、发送线程的处理的流程图;
图8是根据本发明说明性实施例的、分组监听(sniff)线程的处理的流程图;
图9是根据本发明说明性实施例的、拥塞控制线程的处理的流程图;以及
图10是根据本发明说明性实施例的、进行自适应带宽控制的处理的流程图。
具体实施方式
图1-2作为其中可以实施本发明实施例的数据处理环境的示例性图而给出。应该理解,图1-2仅是示例性的,而不意欲声称或暗示关于其中可以实施本发明实施例或多个方面的环境的任何限制。可以对所描绘的环境进行许多修改,而不背离本发明的精神和范围。
现参考附图,图1描绘了其中可以实施本发明多个方面的数据处理***网络的图形表示。网络数据处理***100是其中可以实施本发明实施例的计算机网络。网络数据处理***100包含网络102,其是用于提供网络数据处理***100内连接到一起的计算机和各种设备之间的通信链路的介质。网络102可以包括诸如有线、无线通信链路或光导纤维电缆的连接。
在所描绘的示例中,服务器104和服务器106连同存储单元108一起连接到网络102。此外,客户机110、112、114连接到网络102。这些客户机110、112、114可以是例如个人计算机或者网络计算机。在所描绘的示例中,服务器104向客户机110、112、114提供诸如引导文件、操作***映像、应用程序的数据。在此示例中,客户机110、112、114是服务器104的客户机。网络数据处理***100可以包括未示出的另外的服务器、客户机和其它设备。
在所描绘的示例中,网络数据处理***100是因特网,其中的网络102代表使用传输控制协议/因特网协议(TCP/IP)协议集来互相通信的网络和网关的全球连接。在该因特网的中心是主节点或主机之间的高速数据通信线路的主干,其包括路由传输数据和消息的数千的商业、政府、教育和其它计算机***。当然,网络数据处理***100也可以被实施为许多不同类型的网络,诸如,作为示例,内联网、局域网(LAN)或广域网(WAN)。图1旨在作为示例,而非作为对本发明不同实施例的架构限制。
现参考图2,示出了其中可以实施本发明各个方面的数据处理***的框图。数据处理***200是诸如图1中的服务器104或客户机110的计算机示例,其中设置有实施本发明实施例的处理的计算机可用代码或指令。
在所描绘的示例中,数据处理***200采用包括北桥和存储器控制器集线器(MCH)202与南桥和输入/输出(I/O)控制器集线器(ICH)204的集线器架构。处理单元206、主存储器208、图形处理器210连接到北桥和存储器控制器集线器202。图形处理器210可以通过加速图形端口(AGP)连接到北桥和存储器控制器集线器202。
在所描绘的示例中,局域网(LAN)适配器212连接到南桥和输入/输出(I/O)控制器集线器204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232、PCI/PCIe设备234通过总线238和总线240连接到南桥和输入/输出(I/O)控制器集线器204。PCI/PCIe设备可以包括,例如,以太网适配器、附加卡(add-in card)和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224可以是例如快闪二进制输入/输入***(BIOS)。
硬盘驱动器226和CD-ROM驱动器230通过总线240连接到南桥和输入/输出(I/O)空制器集线器204。硬盘驱动器226和CD-ROM驱动器230可以使用例如集成驱动电子设备(IDE)或串行高级技术附加设备(SATA)接口。超级I/O(SIO)设备236可以连接到南桥和输入/输出(I/O)控制器集线器204。
操作***运行于处理单元206之上,并且协调并提供图2中数据处理***200内各种组件的控制。作为客户机,操作***可以是商业上可得的操作***,诸如MicrosoftWindowsXP(Microsoft和Windows是美国,其它国家或者两者中的微软公司的商标)。诸如JavaTM编程***的面向对象的编程***可以与操作***协同运行并且提供从在数据处理***200上执行的Java程序或应用(Java是美国、其它国家或者两者中的Sun微***公司的商标)对操作***的调用。
作为服务器,数据处理***200可以是例如运行高级交互执行体(AIX)操作***或LINUX操作***的IBM eServerTM pSeries计算机***(eServer,pSeries和AIX是美国、其它国家或者两者中的国际商业机器公司的商标,而Linux是美国、其它国家或者两者中的Linus Torvalds的商标)。数据处理***200可以是处理单元206中包括多个处理器的对称多处理器(SMP)***。或者,可以采用单处理器***。
操作***的指令、面向对象编程***、应用或程序位于诸如硬盘驱动器226的存储设备上,并且可以被加载到主存储器208中以由处理单元206执行。由处理单元206使用计算机可用程序代码执行本发明实施例的处理,该计算机可用程序代码可以位于诸如例如主存储器208、只读存储器224的存储器中,或者位于一个或多个***设备226和230中。
本领域普通技术人员将理解,图1-2中的硬件可以依据实施而变化。其它内部硬件或者***设备,诸如快闪存储器、等同非易失性存储器或者光盘驱动器等可以在图1-2中所描绘的硬件之外被使用,或者被用来替代图1-2中所描绘的硬件。而且,本发明的处理可以被应用于多处理器数据处理***。
在某些说明性示例中,数据处理***200可以是个人数字助理(PDA),其配置有快闪存储器以提供用于存储操作***文件和/或用户生成数据的非易失性存储器。
总线***可以包括一个或多个总线,诸如图2中所示的总线238或总线240。当然,总线***可以使用任意类型的通信结构或架构来实施,该通信结构或架构在附着于该结构或架构的不同组件或设备之间提供数据传输。通信单元可以包括用于发送和接收数据的一个或多个设备,诸如图2的调制解调器222或网络适配器212。存储器可以是,例如诸如图2中北桥和存储器控制器集线器202中所发现的主存储器208、只读存储器224或者高速缓冲存储器。图1-2中所描绘的示例和上述示例并不旨在暗示架构限制。例如,数据处理***200除了采用PDA形式之外也可以是平板(tablet)计算机、膝上型计算机或者电话设备。
本发明的多个方面提供了一种用于自适应地控制传输数据过程中使用的带宽的计算机实施的方法、装置、计算机可用程序代码。本发明的多个方面能够自适应地控制数据传输,从而对于在网络上传输数据确保某最小量的带宽。在这些示例中,通过发送使用正常的高耐冲性(high-impact)TCP/IP处理相对低耐冲性自适应处理的数据来确保带宽。换言之,以与网络将允许的最小量带宽相同的快速来发送数据。在某些情况下,即使利用所确保量的带宽,可以传输的数据量也可能由于网络状况而不能达到该最小量。
本发明的多个方面认识到,传输数据的当前自适应分布机制并没有提供任何量的确保。本发明的多个方面也提供了其间没有使用自适应带宽控制处理的某最小水平的带宽。当带宽超过该量时,使用自适应控制处理来确定在高于最小量的数据传输速度或速率可以采用何带宽。尽管这些说明性示例针对自适应带宽控制,但是本发明的多个方面可以应用于向一个或多个目的地数据处理***传输大块(bulk)数据的任何类型。
现转向图3,根据本发明说明性实施例描绘了图示自适应带宽控制中使用组件的图。在该示例中,自适应发送器300向接收器302、304、306发送数据。通过向诸如路由器310的路由机制发送分组308而发送数据。路由器310是用于基于分组308中所发现的路由数据而将分组308路由或发送到适当接收器的设备。当路由器310被迫处理太多的分组时,其被称作积压(backlog)路由器。换言之,积压路由器是在其队列中具有最大负载或最大数目分组的路由器。在发送器和接收器之间可以有零或者多个路由器。发送器是分组的源而接收器是确认的源。当这些接收器接收分组308时,其向自适应发送器300返回确认312。在本示例中,确认是常规TCP/IP通信的一部分。
在这些说明性示例中,自适应发送器300可以被实施为诸如图1中的服务器104的数据处理***中的处理。接收器302、304、306是可以在诸如图1中的客户机108、110、112的接收设备上执行的处理。具体地,可以在诸如图2的数据处理***200的数据处理***上实施这些不同的处理。
自适应发送器300跟踪向每个接收器发送的分组308。确认312的接收也被跟踪并且用于标识参数,所述参数诸如往返时间。往返时间是自发送分组时起到接收确认时止的时间。在本示例中,往返时间基于自适应发送器300的视角(perspective)。
此外,该信息用于标识块。当任意分组被发送时块开始;对于块中的所有分组保持统计数据直到开始该块的初始分组被接收器确认。当对于该任意分组的确认被返回时,自适应发送器300计算该分组块的统计。换言之,取决于在块开始中的该任意分组的确认被返回之前发送多少分组,在块中可以存在一个或多个分组。此外,自适应发送器300还标识窗口。窗口是网络中被发送而没有接收到确认的分组的数目。
此外,自适应发送器300还估计位于路由器310中的分组的数目。使用当前往返时间来计算未被确认的分组的预期数目相对未被确认的分组的真实数目,来确定该信息。例如,如果由于当前往返时间五个分组应该存在于网络上并且自适应发送器300标识出8个未确认的分组,则自适应发送器300可以估计三个分组位于路由器310上。
自适应发送器300在试图保持路由器310上所选数目分组的同时通过增加或减少预期窗口大小而控制速度。大窗口更有攻击性(aggressive),因为路由器310相对于其它网络业务在处理自适应分组上花费更多时间。通过这种方式,自适应发送器300可以调谐针对路由器310的阿尔法(alpha)和贝塔(beta)参数。阿尔法是下述整数,其指示在将窗口增加一个分组之前每个连接的路由器310中的最小分组数目。贝塔是下述整数,其指示在将窗口减少一个分组之前每个连接的积压路由器中的最大分组数目。通过基于阿尔法和贝塔调整窗口,这些参数允许速度上的小增加或降低。另一参数,阈值,在块中50%的分组满足该阈值条件时允许速度上的迅速降低。在本示例中,阈值是从基(base)往返时间到最大往返时间的路途的可配置百分比。在该说明性示例中,自适应发送器300基于自适应带宽控制处理而改变向端点或目的地发送数据的速率。在这些示例中,使用该控制处理以用于在数据传输的某阈值水平之上传输数据。可以以许多不同方式执行该阈值配置和数据传输的测量。例如,该测量可以是在某时间段传输的数据量或者链路速度总量的百分比。
转向图4,根据本发明说明性实施例描绘了传输控制协议/因特网协议(TCP/IP)和类似协议的图。通信架构400利用TCP/IP和类似协议。在本示例中,通信架构400是4层***。该架构包括应用层402、传输层404、网络层406和链路层408。每层负责处理各种通信任务。链路层408也称作数据链路层或网络接口层,并且正常地包括操作***中的设备驱动器和计算机中相应的网络接口卡。该层处理与所使用的诸如光缆或以太网电缆的网络介质物理上接口的所有硬件细节。
网络层406也称作因特网层,并且处理网络周围数据分组的移动。例如,网络层406处理网络上传输的各种数据分组的路由。TCP/IP集中的网络层406包含几个协议,包括因特网协议(IP)、因特网控制报文协议(ICMP)、因特网群组管理协议(IGMP)。
接下来,传输层404提供网络层406和应用层402之间的接口,其便利于两个主计算机之间的数据传输。传输层涉及下述事宜,诸如,例如,将从应用传递给其的数据划分成对于下面的网络层适当大小的块,确认所接收的分组,以及设置超时以确定另一端确认所发送的分组。在TCP/IP协议集中,存在两个截然不同的传输协议,TCP和用户数据报协议(UDP)。TCP提供可靠的服务以确保数据在两个主机之间适当传输,包括丢失检测和重传服务。
相反地,UDP通过仅仅从一个主机向另一个发送称为数据报的数据分组而向应用层提供简单得多的服务,而不提供确保适当传输数据的任何机制。当使用UDP时,应用层必须执行可靠的功能。
应用层402处理具体应用的细节。对于几乎每个实施都存在许多公共的TCP/IP应用,包括用于远程登录的Telnet;文件传输协议(FTP);用于电子邮件的简单邮件传输协议(SMTP);以及简单网络管理协议(SNMP)。
在这些说明性示例中,在应用层402中实施本发明的各个方面,以便以允许用户输入用户设置的方式自适应地控制数据传输。通过这种方式,用户可以改变用于控制如何在网络上发送分组的不同设置,以用于自适应带宽控制。通过允许从应用层输入用户设置,用户可以针对通常自适应带宽控制处理不加以考虑的不同类型的网络和不同的网络状况而进行改变。
用户可以设置的一个设置是用于数据传输的最小带宽量的阈值水平。当数据传输超过该阈值时,使用自适应带宽控制处理以进行更高速率的数据传输。通过这种方式,可以考虑除客户机上的状况之外的状况。例如,本发明的多个方面允许用户基于因子标识来改变设置,所述因子诸如到接收器的路径上的中继段(hop)数目以及在到接收器的路径上的具有大量业务或拥塞的链路。尽管说明性示例是在应用层402上实施的,但是本发明的多个方面可以在诸如传输层404的其它层上实施。所使用的具体层可以依据具体实施而改变。
现参考图5,根据本发明说明性实施例描绘了图示提供自适应带宽控制过程中所使用的软件处理和组件的图。在该示例中,自适应发送器500是图3中的自适应发送器300内处理的更详细图示。自适应发送器500在本说明性示例中包括三个线程。发送线程502、拥塞控制线程504、分组监听线程506是被用来自适应地向一个或多个接收器发送数据的组件。发送线程502用于通过调用套接字(socket)来发送数据。套接字是将应用连接到诸如TCP/IP堆中的TCP/IP协议的网络协议的软件对象。发送线程502传输分组512中的数据。如果连接或链路所允许的传输速率超过阈值或带宽的最小水平,则发送线程502向拥塞控制线程504发送请求508以询问多少数据可以由发送线程502发送。拥塞控制线程504返回答复510,告诉可以发送多少数据。发送线程502使用答复510来发送分组512以传输。
在使用答复510过程中,如果由于某种原因,将发送的数据少于所确保的量或阈值水平,则发送线程502忽略该答复,并且不再从拥塞控制线程504请求该信息,直到再次超过最小带宽量。这些分组被存储在积压路由器队列514中,直到积压路由器将分组路由传输到它们的目的地。积压路由器队列514位于诸如图3中的路由器310的积压路由器上。当该分组被接收时把确认516返回到自适应发送器500。在此示例中,出于说明的目的,由发送线程502执行基于确保量发送数据的处理或逻辑。当然,该具体处理可以在拥塞控制线程504中实施。在此类型的实施中,发送线程502将每次询问拥塞控制线程504可以发送多少数据。
拥塞控制线程504通过执行自适应带宽控制处理而标识将发送的数据量。这些示例中的拥塞控制线程504使用自适应带宽控制处理来响应于网络状况的变化而自适应地标识在网络上传输数据分组的传输速率。这些网络状况包括,例如,除了由自适应发送器处理的数据传输之外还由于各种其它数据传输而导致的网络上的拥塞量。换言之,可以发送数据的速度速率根据网络状况而变化。拥塞控制线程504基于用户设置的不同参数而标识加速或减速的不同速率以维持最小的网络冲击。该处理使用位于队列518中的信息。具体地,分组监听线程506从网络捕获分组并确认,并且将分组信息520和确认信息522放入队列518中。分组监听线程506过滤这些分组并确认,以将拥塞控制线程504所需的适当数据放入队列518中。或者,可以将所有分组和确认放入队列518中以由拥塞控制线程504处理。队列518中的信息由拥塞控制线程504使用,来标识参数,诸如从发送分组时起到接收对于该分组的确认时止的往返时间。可以由拥塞控制线程504从队列518中的信息标识和维持的其它参数包括块、窗口、积压路由器中的分组。
此外,本发明的多个方面包括用户接口524,其可以用来设置用户定义的参数526。用户接口524由参数线程528提供。典型地,在***中首次建立自适应处理时设立参数。可以通过用户接口524和参数线程528改变这些参数。将用户定义的参数526存储在诸如盘的非易失性存储器中。以后当自适应带宽处理启动时可以读取这些参数。用户接口524允许用户选择或输入各种参数以由拥塞控制线程504在执行自适应带宽控制处理过程中使用。
在这些说明性示例中,本发明的多个方面允许用户输入或选择阈值,其用作在不使用自适应控制处理的情况下的数据传输的最小水平或速度。本发明的多个方面使用阈值以向目的地或目标发送数据。当数据传输超过该阈值时,则启动自适应带宽控制处理以用于传输数据。如果由于某种原因自适应带宽控制处理指示所传输的数据量少于该阈值,则该指示被发送数据的处理忽略。通过这种方式,本发明的多个方面以确保的传输速率在发送数据过程中提供自适应带宽控制。在这些示例中,可以设置的其它参数包括阈值、往返时间最大变化、贝塔、往返时间平滑、最大等待时间。往返时间最大变化是用于限制当前所测量的往返时间相对于先前所测量的往返时间的变化量的参数。该处理跟踪当前往返时间、最大往返时间、基往返时间。
拥塞控制线程跟踪以每个套接字为基础的往返时间和序列。如果一个分组具有往返时间10而第二分组具有往返时间20,则由往返时间最大变化值一点五(1.5)来限制该第二分组往返时间。即使真实的往返时间是20,该往返时间值也被记录为十乘以一点五等于十五(10×1.5=15)。然后,随后的分组可以具有最多一点五乘以十五(1.5×15)的往返时间,即针对第二分组所记录的往返时间。
网络通常具有一定量的随机性。该参数允许自适应带宽控制处理忽略过大或过小的往返时间,不过如果大往返时间充分地经常发生,则仍允许大往返时间。该参数允许用户配置容许多大的变化。
这些示例中的往返时间平滑参数是用于指示通过指数衰减应将往返时间测量平滑多少的整数。通过平均先前的测量来执行该指数衰减。在自适应带宽控制处理通过过度补偿往返时间上的波动而表现不规律的情况下,该参数可以有益。该平滑通常在考虑最大变化参数之前发生。
最大等待时间是这样的参数,其指示在放弃和重新设置之前连接将等待多少个最大往返时间才发送。有时在网络上可能丢失确认,导致发送器在发送另外数据之前等待长时间段。如果在发送数据之前过去了太多时间,则这是复位自适应带宽控制的处理的复位值。关于阈值参数,当在套接字上发送分组的往返时间时,该时间倾向于落入所选择的范围内。此情况在网络空闲时尤其真实。
该阈值是从最小往返时间到最大往返时间的途径的百分比。例如,百分之二十的阈值意味着该阈值是从基往返时间到最大往返时间的途径的百分之二十。取决于网络类型,往返时间将具有或多或少的变化。不同的变化通常需要不同的阈值。例如,表现良好的局域网将具有非常小的往返时间变化,从而允许低的阈值。广域网将具有较高的往返时间变化。利用该类型的网络,需要较高的阈值。该具体参数是用户可配置的,以考虑发送数据过程中可能遇到的不同类型的网络。关于阈值参数,当在套接字上发送分组的往返时间时,该时间倾向于落入所选择的范围内。此情况在网络空闲时尤其真实。
如果分组的往返时间比该阈值慢,则认为该分组慢。如果块中百分之五十的分组被认为慢,则可以将窗口削去一半,从而大大降低分布的速度。结果是,用户配置该值的允许使得允许考虑不同的网络类型和状况。
现参考图6,根据本发明说明性实施例描绘了用于配置用户对参数的设置的处理的流程图。图6中所图示的处理可以在图5中的发送线程502中实施。该处理用于允许用户定义或改变自适应带宽控制中所使用的参数。在这些示例中,这些参数是阈值、往返时间最大变化、往返时间平滑、最大等待时间、贝塔阈值。
该处理由呈现用户设置开始(步骤600)。可以在诸如图5中的用户接口524的用户接口中呈现这些设置。该处理然后接收用户输入(步骤602)。关于用户输入是否改变了参数中的设置作出判定(步骤604)。如果用户输入改变了设置,则旧的设置被新的设置代替(步骤606)。之后,处理返回到步骤600以将这些设置呈现给用户。
再次参考步骤604,如果用户输入没有改变设置,则关于用户输入是否结束改变用户设置的处理作出判定(步骤608)。如果用户输入不结束该处理,则处理返回到步骤600。否则,保存用户设置(步骤610),之后该处理终止。这些设置保存为这些示例中图5中的用户定义的参数526。
现转向图7,根据本发明说明性实施例描绘了发送线程处理的流程图。图7中所示的处理可以在诸如图5中的发送线程502的发送线程中实施。
该处理由发送将被接收的数据开始(步骤700)。之后,关于是否存在将被发送到接收器的更多数据作出判定(步骤702)。如果存在待发送的更多数据,则关于数据传输是否超过第一阈值作出判定(步骤704)。可以通过许多不同方式进行步骤704中的判定。例如,发送的数据量和需要发送该数据的时间可以用于确定是否超过该阈值。该阈值还可以是关于是否正在使用超过连接的速度的某百分比的判定。该阈值用于设置超过其则执行自适应带宽控制的水平。
如果数据传输超过第一阈值,则该处理向拥塞控制线程发送关于可以发送多少数据的请求(步骤706)。之后,该处理接收答复(步骤708)。该答复指定可以向接收器发送的数据量。接下来,关于该数据量是否小于或等于第二阈值作出判定(步骤700)。该第二阈值用于设置被确保用于发送数据的最小带宽量。第二阈值依赖于具体实施可以是与第一阈值相同的值。
如果答复中的数据量不少于或等于第二阈值,则仅使用多达答复中所指定的数据量来发送数据(步骤712)。接下来,关于是否存在另外的数据待发送作出判定(步骤714)。如果不存在另外的数据,则处理终止。
否则,处理返回步骤706以向拥塞处理线程发送另一请求。再次参考步骤710,如果答复中的数据量少于或等于第二阈值,则忽略该答复(步骤716),该处理返回到步骤700以发送数据。再次参考步骤702,如果不存在另外的数据待发送,则处理终止。
接下来转向图8,根据本发明的说明性实施例描绘分组监听线程的处理的流程图。图8中所示的处理可以在图5中的分组监听线程506中实施。
该处理由确定是否检测到了分组开始(步骤800)。如果检测到了分组,则处理从该分组中提取分组标识符和时间戳(步骤802)。该处理然后将数据存储于队列中(步骤804)。该队列可由拥塞控制线程访问,从而在确定往返时间和执行自适应带宽控制过程中可以使用该数据。
再次参考步骤800,如果没有检测到分组,则关于是否检测到了确认作出判定(步骤806)。如果没有检测到确认,则处理返回到步骤800。如果在步骤806中检测到了确认,则提取该确认的分组标识符和时间戳(步骤808)。如上所述,处理然后前进到步骤804。
现参考图9,根据本发明说明性实施例描绘了拥塞控制线程处理的流程图。在该示例中,图9中所示的处理可以在图5中的拥塞控制线程504中实施。
该处理由接收来自发送线程的请求开始(步骤900)。该请求请求可以发送多少数据的标识。之后,从队列拖动数据(步骤902)。该数据包括达到时间和分组标识符。之后,从队列中的数据标识往返时间(步骤904)。然后获取用户定义的参数(步骤906)。这些参数来自图5中的用户定义参数526。之后,该处理执行自适应带宽控制处理(步骤908)。该处理可以是例如拥塞控制线程中所包含的步骤。或者,该线程可以在步骤908调用函数或外部处理。该处理然后获得结果(步骤910),以及返回具有可以发送的数据量的答复(步骤912),之后处理终止。
接下来转向图10,根据本发明的说明性实施例描绘了用于执行自适应带宽控制的处理的流程图。图10中所描绘的处理是图9中步骤908的更详细描述。
该处理由标识最小往返时间和最大往返时间开始(步骤1000)。之后,标识窗口(步骤1002)。该处理然后标识每个确认高于及低于阈值的分组数(步骤1004)。接下来,处理确定是否块中分组的百分之五十高于该阈值(步骤1006)。如果并非块中分组的百分之五十高于该阈值,则计算预期吞吐量(步骤1008)。在步骤1008中,如下计算预期吞吐量:
E是预期吞吐量,W是窗口,minRTT是由从队列中获得的往返时间得知的最小往返时间。之后,处理标识实际吞吐量(步骤1010)。使用下式标识该实际吞吐量:
A是实际吞吐量,W是窗口,observedRTT是使用发送分组时的时刻和接收确认时的时刻的差而测量的值。结果,预期吞吐量基于最小往返时间,因为在发送分组的结果总是最小往返时间的空闲网络上存在预期。实际吞吐量基于其中当前往返时间大于最小往返时间的当前网络状况。在这些示例中,最小往返时间与基往返时间相同。该处理然后计算积压路由器上分组的数目(步骤1012)。使用下式估计实际分组数目:
Diff←(E-A)·minRTT
Diff是积压路由器上分组的数目,E是预期吞吐量,A是实际吞吐量,以及minRTT是得知的最小往返时间。
接下来,关于积压路由器上分组的数目是否小于阿尔法作出判定(步骤1014)。如上所述,阿尔法是下述整数,其指示在将窗口增加一个分组之前每个连接的积压路由器中应该存在的分组的数字数目。如果积压路由器上分组的数目小于阿尔法,则处理将窗口增加一(步骤1022)。之后,处理指示发送数据达窗口大小没有问题(步骤1018),之后处理终止。
再次参考步骤1014,如果积压路由器上分组的数目不小于阿尔法,则关于分组数目是否大于贝塔作出判定(步骤1016)。如果分组数目大于贝塔,则将窗口大小减一(步骤1024)。该处理然后前进到如上所述的步骤1018。否则,处理在不改变窗口大小的情况下前进到步骤1018。
回过来参考步骤1006,如果块中分组的百分之五十高于阈值,则将窗口减半(步骤1020)。该处理然后前进到如上所述的步骤1018。
上面图10中所示的处理基于对当前可得的带宽控制算法的修正,所述算法诸如在Venkataramani等“TCP Nice:A Mechanism for Background Transfers”,ACM SIGOPS Operating Systems Review,Vol.36,Issue SI Winter 2002,pp.1-15中描述的Nice算法,其并入本文作为参考。
NICE_FAST_RETURN-当设置时,基于具有EWOULDBLOCK的错误号(errno)的第一失败的send()而退出快速开始阶段。这将最小化快速开始模式下所花费的时间量,其并不服从于网关,这是因为填充套接字的外出(outgoing)队列将非常快。设置缺省。
NICE_INTERFACE-将由nice使用的接口(网卡标识符)。这时,自适应带宽控制处理不能够动态确定正确的接口。因而,如果接口不是第一活动(active)接口则需要手动设置该接口。通常,这将被设置为像“ethl”的事项。不设置缺省。
NICE_MAX_MULT-指定作为多个baseRTT(基往返时间)的maxRTT(最大往返时间)的最小值的浮点数。当被设置时,其有助于防止maxRTT的不合理低的值以及易于伴随于其的低吞吐量。缺省为0.0。
NICE_MIN_MSS-指示将使用的最小MSS的整数。为了效率,有利于NICE_DEFAULT_MSS而忽略操作***所提供地较低值。缺省为1000。
NICE_MIN_PACKET-指定单次应该发送的数据的最小量的整数。其与NICE_MIN_SEND不同之处在于,如果ok_to_send小于所指定的值,则其被设置为0。这是为了避免其中拥塞控制线程保持告诉发送线程发送像1个字节的非常小的值的情形。通过将该值设置为10,拥塞控制线程将等待,直到可以发送至少10个字节(返回0,直到计算指定10)。缺省为0。
NICE_MIN_SEND-指定ok_to_send的最小值的整数,这意味着拥塞控制线程将一直告诉发送线程至少发送该量的数据。通过将此设置为10,则即使自适应计算指定3,拥塞控制线程也将返回10。缺省为0。
NICE_NANO_FIXED-指定内部回调函数select_delay()当使用时将休眠的微秒数的整数。
当回调被设置为不同于select_delay()的某事项时,NICE_NANO_FIXED不起作用。当没有设置时,基于为了具有如上块的吞吐量(由上块中最快分组的RTT和块的大小确定)所指示的用于发送分组的足够空间应该花费多长时间,来动态地计算延迟。当设置为1234时,不调用nanosleep():不设置-动态地计算延迟0-以值0调用nanosleep(),在某***上其可以是长达10ms的延迟,1234-不调用nanosleep(),其它-以所指定的微秒数调用nanosleep(),缺省为0。
NICE_PCAP_TIMEOUT-指示操作***在返回所捕捉的分组列表之前应该等待多长时间的整数。该变量对Linux***不起作用,这是因为Linux***在一个分组可得之前仅仅等待,而不管其花费多长时间。在诸如Solaris的该变量起作用的***上,在超时(time-out)设置为低时获得准确的RTT以及当网络空闲时浪费CPU时间之间存在折衷。缺省为10ms(Solaris上的最低支持值)。
NICE_QUEUE_LIMIT-指定由监听线程写入、由拥塞控制线程读取的分组的队列的最大长度的整数。队列越长,nice响应越小,这是因为拥塞控制线程作用于这样的信息,所述信息由分组通过队列以其方式工作花费多长时间而延迟。缺省为10。
NICE_RTT_MAX_CHANGE-指示基和最大RTT相对于先前值所允许改变的最大量的整数。当设置时,自适应带宽控制处理将更能容忍伪(spurious)极端RTT值。缺省为1.5。
NICE_RTT_MIN_STDS-指示高于基RTT的标准偏差的最小数目的整数,将不得不在基RTT之上考虑RTT。缺省为0。
NICE_RTT_SMOOTHING-指示RTT(往返时间)测量将由指数衰减平滑多少的整数,该指数衰减是通过平均先前测量而完成的。在nice通过过度补偿RTT的每个波动而表现不规律的情况下此设置是有益的。缺省为50。
NICE_RTT_STD_SMOOTH-类似于NICE_RTT_SMOOTHING的整数,不过是用于标准偏差的。该标准偏差基于最近RTT测量的加权平均。缺省为0。
NICE_SEND_RTX_Q-当设置时,发送线程将添加或更新每个外出分组的估计至rtx_q。发送线程具有其不丢失分组的优点,但是其对外出时间的估计可能不准确。缺省设置。
NICE_THROUGHPUT_AVG-指示多少最近的分组将被包括于吞吐量计算中的整数。较大的值将得到更准确的吞吐量计算,但代价是较少响应。缺省为20。
NICE_THROUGHPUT_START-指示在开始吞吐量计算之前必须被发送的分组的最小数目的整数。这是为了考虑初始为空的慢链路队列,从而套接字的早期部分期间的吞吐量可能不是典型的套接字并且应该被忽略。缺省为100。
NICE_WAIT_BASE-指示在放弃或者复位snd_nxt和snd_una之前连接将等待多少v_baseRTT(全局最小RTT)才发送的整数。所计算的超时被添加到NICE_WAIT_MAX的超时上。缺省为0。
NICE_WAIT_MAX-指示在放弃或者复位之前连接将等待多少v_maxRTT(全局最大RTT)才发送的整数。缺省基于优先级。
这样,本发明的多个方面提供了用于调整数据传输速率的计算机实施的方法、装置和计算机可用程序代码。
本发明可以采取完全硬件实施、完全软件实施、包含硬件和元件元件两者的实施的方式。在优选实施例中,本发明以软件实施,其包括但不限于固件、驻留软件、微代码等。
此外,本发明可以采取可从提供下述程序代码的计算机可用或计算机可读介质访问的计算机程序产品的形式,该程序代码供计算机或者任何指令执行***使用或者与计算机或任何指令执行***有关。为了描述的目的,计算机可用或计算机可读介质可以是包含、存储、通信、传播或传输供指令执行***、装置或设备使用、或者与指令执行***、装置或设备有关的程序的任何有形装置。
该介质可以是电子的、磁的、光的、电磁的、红外线的或半导体的***(或装置或设备)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。目前光盘的示例包括致密盘-只读存储器(CD-ROM)、致密盘-读/写(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理***将包括通过***总线直接或间接耦接到存储元件的至少一个处理器。该存储元件包括在实际执行程序代码期间采用的本地存储器、大容量存储设备、高速缓冲存储器,所述高速缓冲存储器提供至少某些程序代码的临时存储以便减少代码在执行期间必须从大容量存储设备提取的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、定点设备等)可以直接或者通过居间的I/O控制器耦接到***。
网络适配器也可以耦接到***以使得数据处理***能够变为通过居间私有或公共网络耦接到其它数据处理***或远程打印机或者存储设备。调制解调器、电缆调制解调器和以太网卡仅是一些目前可得类型的网络适配器。
本发明的描述出于说明的目的而给出,而非意欲穷尽或者局限于所公开形式的发明。许多修改和变化对本领域技术人员将是明显的。选取和描述实施例,以便最佳解释本发明的原理、实际应用,以及使得本领域技术人员能够理解本发明的适于所构想的具体用途的、具有各种修改的各种实施例。
Claims (14)
1.一种自适应控制数据传输的计算机实施的方法,所述计算机实施的方法包括:
监视到目的地的数据传输;
判定该数据传输是否超过阈值;以及
如果与该数据传输相关联的参数超过该阈值,则使用自适应带宽控制处理来控制用于向目的地传输数据的带宽,其中对于该数据传输确保最小带宽量。
2.如权利要求1所述的计算机实施的方法,其中,该判定步骤包括:
标识数据的传输速度;以及
将该传输速度与该阈值进行比较。
3.如权利要求1所述的计算机实施的方法,其中,该判定步骤包括:
标识用于向目的地传输数据的总线路速度的百分比;以及
将所使用的总线路速度的百分比与该阈值进行比较。
4.如权利要求1所述的计算机实施的方法,还包括:
判定该数据传输是否小于或等于第二阈值;以及
如果该数据传输小于或者等于第二阈值则停止使用该自适应带宽控制处理。
5.如权利要求4所述的计算机实施的方法,其中,该阈值等于该第二阈值。
6.如权利要求1所述的计算机实施的方法,其中,该控制步骤在应用层实施。
7.如权利要求1所述的计算机实施的方法,其中,该控制步骤在传输层实施。
8.一种计算机程序产品,包括:
具有用于自适应控制数据传输的计算机可用程序代码的计算机可用介质,该计算机程序产品包括:
用于实施前述方法权利要求中的任何一个方法的计算机可用程序代码。
9.一种数据处理***,包括:
总线;
通信单元,连接到该总线;
存储器,连接到该总线,其中,存储设备包括一组计算机可用程序代码;以及
处理器单元,连接到该总线,其中,该处理器单元执行该组计算机可用程序代码,以监视到目的地的数据传输;判定该数据传输是否超过阈值;以及如果与该数据传输相关联的参数超过该阈值,则使用自适应带宽控制处理来控制用于向目的地传输数据的带宽,其中,对于该数据传输确保最小带宽量。
10.如权利要求9所述的数据处理***,其中,该处理器单元还执行该计算机可用程序代码,以标识数据的传输速度;以及将该传输速度与该阈值进行比较。
11.如权利要求9所述的数据处理***,其中,该处理器单元还执行该计算机可用程序代码,以标识用于向目的地传输数据的总线路速度的百分比;以及将所使用的总线路速度的百分比与该阈值进行比较。
12.如权利要求9所述的数据处理***,其中,该处理器单元还执行该计算机可用程序代码,以判定该数据传输是否小于或等于第二阈值;以及如果该数据传输小于或者等于第二阈值则停止使用该自适应带宽控制处理。
13.如权利要求12所述的数据处理***,其中,该阈值等于该第二阈值。
14.如权利要求9所述的数据处理***,其中,该处理器单元还执行该计算机可用程序代码,以便如果该数据传输超过该阈值,则使用自适应带宽控制处理来控制用于向目的地传输数据的带宽,其中,对于该数据传输确保最小带宽量,在应用层实施。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/256,260 | 2005-10-21 | ||
US11/256,260 US20070091922A1 (en) | 2005-10-21 | 2005-10-21 | Method and apparatus for adaptive bandwidth control with a bandwidth guarantee |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1953351A true CN1953351A (zh) | 2007-04-25 |
CN1953351B CN1953351B (zh) | 2010-06-16 |
Family
ID=37985330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100842147A Active CN1953351B (zh) | 2005-10-21 | 2006-05-29 | 用于数据传输的自适应控制的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US20070091922A1 (zh) |
JP (1) | JP4791322B2 (zh) |
CN (1) | CN1953351B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789943B (zh) * | 2009-01-22 | 2013-06-05 | 索尼公司 | 通信装置、通信***、程序和通信方法 |
CN104301290A (zh) * | 2013-07-15 | 2015-01-21 | 联想(北京)有限公司 | 一种信息处理的方法及电子设备 |
CN104486134A (zh) * | 2014-12-30 | 2015-04-01 | 北京奇虎科技有限公司 | 一种监控文件发送积压的方法和装置 |
CN105159102A (zh) * | 2015-07-30 | 2015-12-16 | 北京京东尚科信息技术有限公司 | 智能家电、智能家电***及其方法 |
CN105264509A (zh) * | 2013-05-28 | 2016-01-20 | 戴尔产品有限公司 | 融合网络中的自适应中断联合 |
CN107276850A (zh) * | 2017-06-26 | 2017-10-20 | 中国电力科学研究院 | 一种用电信息采集***统一接口测试并发传输方法及*** |
CN107980213A (zh) * | 2015-06-26 | 2018-05-01 | 微软技术许可有限责任公司 | 内联网络加速器 |
CN109451541A (zh) * | 2018-12-21 | 2019-03-08 | 中国电子科技集团公司第三十研究所 | 一种无线网络环境下基于udp的数据传输速率自适应方法 |
CN111857566A (zh) * | 2019-04-25 | 2020-10-30 | 爱思开海力士有限公司 | 控制器及其操作方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2396275B (en) * | 2002-12-09 | 2006-03-15 | Ipwireless Inc | Support of plural chip rates in a CDMA system |
US7474614B2 (en) * | 2005-10-21 | 2009-01-06 | International Business Machines Corporation | Method and apparatus for adaptive bandwidth control with user settings |
US7558271B2 (en) | 2005-10-21 | 2009-07-07 | International Business Machines Corporation | Method and apparatus for adaptive bandwidth control with defined priorities for different networks |
US20070091922A1 (en) * | 2005-10-21 | 2007-04-26 | Steven Elliot | Method and apparatus for adaptive bandwidth control with a bandwidth guarantee |
US8132172B2 (en) | 2007-03-26 | 2012-03-06 | Intel Corporation | Thread scheduling on multiprocessor systems |
US20080298374A1 (en) * | 2007-06-04 | 2008-12-04 | At&T Knowledge Ventures, L.P. | Apparatus for monitoring network connectivity |
US7688730B2 (en) * | 2007-12-20 | 2010-03-30 | Harris Corporation | System and method for multi-channel data-adaptive thresholding for shared channels with time-varying rate constraints |
US7856506B2 (en) | 2008-03-05 | 2010-12-21 | Sony Computer Entertainment Inc. | Traversal of symmetric network address translator for multiple simultaneous connections |
EP2438716B1 (en) * | 2009-06-03 | 2013-03-06 | Telefonaktiebolaget LM Ericsson (publ) | Congestion-based traffic metering |
EP2564557B1 (en) * | 2010-04-26 | 2018-12-12 | Telefonaktiebolaget LM Ericsson (publ) | Method for setting and adjusting a parameter dependent on a round trip time |
CN102156281B (zh) * | 2010-12-17 | 2012-04-04 | 浙江大学 | 基于单fpga的波束形成器输出数据带宽控制方法及装置 |
US9043509B2 (en) * | 2011-01-14 | 2015-05-26 | Broadcom Corporation | Method and system for low-latency networking |
JP5786733B2 (ja) * | 2012-01-27 | 2015-09-30 | 富士通株式会社 | 監視装置、プログラム及び監視方法 |
US9338098B2 (en) * | 2012-12-13 | 2016-05-10 | Cellco Partnership | Dynamic flow management at a firewall based on error messages |
CN103051498B (zh) * | 2012-12-29 | 2015-05-20 | 电信科学技术第一研究所 | 网速测试方法及*** |
CN103001835A (zh) * | 2012-12-29 | 2013-03-27 | 电信科学技术第一研究所 | 基于数据传输的网络带宽测试方法及*** |
US9588570B2 (en) | 2013-04-30 | 2017-03-07 | Samsung Electronics Co., Ltd. | Apparatus and method for adjusting bandwidth |
WO2018056399A1 (ja) * | 2016-09-23 | 2018-03-29 | 日本電気株式会社 | 輻輳抑制装置、輻輳抑制方法、プログラム |
WO2022032694A1 (en) | 2020-08-14 | 2022-02-17 | Cisco Technology, Inc. | Dynamic deterministic adjustment of bandwidth across multiple hubs with adaptive per-tunnel quality of service (qos) |
CN116318585A (zh) * | 2020-11-06 | 2023-06-23 | 深圳市欢太科技有限公司 | 数据传输方法及装置、终端、存储介质 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05260045A (ja) * | 1992-01-14 | 1993-10-08 | Ricoh Co Ltd | デ−タ端末装置の通信方法 |
US5822318A (en) * | 1994-07-29 | 1998-10-13 | Qualcomm Incorporated | Method and apparatus for controlling power in a variable rate communication system |
JPH11501476A (ja) * | 1995-03-08 | 1999-02-02 | オックスフォード・ブルックス・ユニバーシティー | 広帯域交換網 |
US6961341B1 (en) * | 1996-07-02 | 2005-11-01 | Microsoft Corporation | Adaptive bandwidth throttling for network services |
FI972718A0 (fi) * | 1996-07-02 | 1997-06-24 | More Magic Software Mms Oy | Foerfaranden och arrangemang foer distribution av ett anvaendargraenssnitt |
US6088578A (en) * | 1998-03-26 | 2000-07-11 | Nortel Networks Corporation | Burst request method and apparatus for CDMA high speed data |
US6366761B1 (en) * | 1998-10-06 | 2002-04-02 | Teledesic Llc | Priority-based bandwidth allocation and bandwidth-on-demand in a low-earth-orbit satellite data communication network |
EP1077559A1 (en) | 1999-08-17 | 2001-02-21 | Telefonaktiebolaget Lm Ericsson | Method and device for determining a time-parameter |
US20050259682A1 (en) * | 2000-02-03 | 2005-11-24 | Yuval Yosef | Broadcast system |
US20020078164A1 (en) | 2000-12-13 | 2002-06-20 | Marnetics Ltd. | System and method for data transfer acceleration in a TCP network environment |
US7065586B2 (en) | 2000-12-22 | 2006-06-20 | Radiance Technologies, Inc. | System and method for scheduling and executing data transfers over a network |
US6747994B2 (en) * | 2001-10-17 | 2004-06-08 | Qualcomm, Incorporated | Selecting optimal transmit formats for transmissions over allocated time durations |
CN1266878C (zh) * | 2002-01-22 | 2006-07-26 | 瑞昱半导体股份有限公司 | 一种带宽控制装置及方法 |
GB0216728D0 (en) * | 2002-07-18 | 2002-08-28 | British Telecomm | Network resource control |
US7418494B2 (en) * | 2002-07-25 | 2008-08-26 | Intellectual Ventures Holding 40 Llc | Method and system for background replication of data objects |
JP3917042B2 (ja) * | 2002-08-23 | 2007-05-23 | 東日本電信電話株式会社 | フレーム転送ネットワークにおけるフレーム送信速度制御方法およびフレーム転送装置に接続されるユーザ端末 |
JP3828481B2 (ja) * | 2002-10-30 | 2006-10-04 | 株式会社日立コミュニケーションテクノロジー | データフレーム伝送システム |
JP4223901B2 (ja) * | 2003-09-03 | 2009-02-12 | 富士通株式会社 | 通信中継方法及び装置 |
US20070008884A1 (en) * | 2003-10-08 | 2007-01-11 | Bob Tang | Immediate ready implementation of virtually congestion free guarantedd service capable network |
US20050108444A1 (en) * | 2003-11-19 | 2005-05-19 | Flauaus Gary R. | Method of detecting and monitoring fabric congestion |
JP3853784B2 (ja) | 2003-12-19 | 2006-12-06 | エヌ・ティ・ティ・アドバンステクノロジ株式会社 | データ通信管理方法 |
US7688746B2 (en) * | 2003-12-29 | 2010-03-30 | Intel Corporation | Method and system for dynamic resource allocation |
US8125910B2 (en) * | 2004-06-25 | 2012-02-28 | Nec Corporation | Communication system |
US7796517B2 (en) * | 2004-06-28 | 2010-09-14 | Minghua Chen | Optimization of streaming data throughput in unreliable networks |
US7423977B1 (en) * | 2004-08-23 | 2008-09-09 | Foundry Networks Inc. | Smoothing algorithm for round trip time (RTT) measurements |
JP4335859B2 (ja) * | 2005-09-15 | 2009-09-30 | 株式会社日立エルジーデータストレージ | 情報記録再生装置及び情報再生装置 |
US7869395B2 (en) * | 2005-09-30 | 2011-01-11 | Research In Motion Limited | Methods and apparatus for dynamically adjusting a data packet window size for data packet transmission in a wireless communication network |
US20070091922A1 (en) * | 2005-10-21 | 2007-04-26 | Steven Elliot | Method and apparatus for adaptive bandwidth control with a bandwidth guarantee |
US7474614B2 (en) * | 2005-10-21 | 2009-01-06 | International Business Machines Corporation | Method and apparatus for adaptive bandwidth control with user settings |
US7558271B2 (en) * | 2005-10-21 | 2009-07-07 | International Business Machines Corporation | Method and apparatus for adaptive bandwidth control with defined priorities for different networks |
-
2005
- 2005-10-21 US US11/256,260 patent/US20070091922A1/en not_active Abandoned
-
2006
- 2006-05-29 CN CN2006100842147A patent/CN1953351B/zh active Active
- 2006-10-20 JP JP2006286657A patent/JP4791322B2/ja active Active
-
2008
- 2008-06-03 US US12/132,236 patent/US8493859B2/en active Active
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789943B (zh) * | 2009-01-22 | 2013-06-05 | 索尼公司 | 通信装置、通信***、程序和通信方法 |
CN105264509B (zh) * | 2013-05-28 | 2019-06-07 | 戴尔产品有限公司 | 融合网络中的自适应中断联合 |
CN105264509A (zh) * | 2013-05-28 | 2016-01-20 | 戴尔产品有限公司 | 融合网络中的自适应中断联合 |
CN104301290A (zh) * | 2013-07-15 | 2015-01-21 | 联想(北京)有限公司 | 一种信息处理的方法及电子设备 |
CN104301290B (zh) * | 2013-07-15 | 2018-11-09 | 联想(北京)有限公司 | 一种信息处理的方法及电子设备 |
CN104486134A (zh) * | 2014-12-30 | 2015-04-01 | 北京奇虎科技有限公司 | 一种监控文件发送积压的方法和装置 |
CN104486134B (zh) * | 2014-12-30 | 2018-01-23 | 北京奇虎科技有限公司 | 一种监控文件发送积压的方法和装置 |
CN107980213B (zh) * | 2015-06-26 | 2021-02-09 | 微软技术许可有限责任公司 | 内联网络接口卡、网络接口卡、以及调节tcp/ip流的方法 |
CN107980213A (zh) * | 2015-06-26 | 2018-05-01 | 微软技术许可有限责任公司 | 内联网络加速器 |
CN105159102A (zh) * | 2015-07-30 | 2015-12-16 | 北京京东尚科信息技术有限公司 | 智能家电、智能家电***及其方法 |
CN107276850B (zh) * | 2017-06-26 | 2020-11-03 | 中国电力科学研究院 | 一种用电信息采集***统一接口测试并发传输方法及*** |
CN107276850A (zh) * | 2017-06-26 | 2017-10-20 | 中国电力科学研究院 | 一种用电信息采集***统一接口测试并发传输方法及*** |
CN109451541A (zh) * | 2018-12-21 | 2019-03-08 | 中国电子科技集团公司第三十研究所 | 一种无线网络环境下基于udp的数据传输速率自适应方法 |
CN111857566A (zh) * | 2019-04-25 | 2020-10-30 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN111857566B (zh) * | 2019-04-25 | 2024-04-16 | 爱思开海力士有限公司 | 控制器及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1953351B (zh) | 2010-06-16 |
US20070091922A1 (en) | 2007-04-26 |
US20080259803A1 (en) | 2008-10-23 |
JP2007116714A (ja) | 2007-05-10 |
JP4791322B2 (ja) | 2011-10-12 |
US8493859B2 (en) | 2013-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1953351B (zh) | 用于数据传输的自适应控制的方法和装置 | |
CN101292475B (zh) | 自适应带宽控制的方法和装置 | |
US7953113B2 (en) | Method and apparatus for adaptive bandwidth control with user settings | |
Ramakrishnan et al. | A binary feedback scheme for congestion avoidance in computer networks | |
US8730806B2 (en) | Congestion control and resource allocation in split architecture networks | |
CN104995883B (zh) | 用信号通知拥塞的方法 | |
US9104543B1 (en) | Determining locations of network failures | |
CA2310531A1 (en) | Method and apparatus for queue management | |
US20080306888A1 (en) | Stochastic control optimization for sender-based flow control in a distributed stateful messaging system | |
US20240098155A1 (en) | Systems and methods for push-based data communications | |
Guo et al. | IEEE SA Industry Connections-IEEE 802 Nendica Report: Intelligent Lossless Data Center Networks | |
CN101023455A (zh) | 使用排队控制和单向延迟测量实现网络拥塞控制的方法和设备 | |
CN111901237B (zh) | 源路由选路方法及***、相关设备及计算机可读存储介质 | |
WO2012141718A1 (en) | Controlling a transmission rate in a multi-hop network | |
CN114884884A (zh) | 一种拥塞控制方法及装置 |
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 |