CN101971578A - Tcp分组间距 - Google Patents

Tcp分组间距 Download PDF

Info

Publication number
CN101971578A
CN101971578A CN200880127690XA CN200880127690A CN101971578A CN 101971578 A CN101971578 A CN 101971578A CN 200880127690X A CN200880127690X A CN 200880127690XA CN 200880127690 A CN200880127690 A CN 200880127690A CN 101971578 A CN101971578 A CN 101971578A
Authority
CN
China
Prior art keywords
tcp
grouping
layer
equipment
connection
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
Application number
CN200880127690XA
Other languages
English (en)
Other versions
CN101971578B (zh
Inventor
A·沃森
N·J·斯塔夫拉科斯
K·帕塔萨拉蒂
C·库普曼斯
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.)
Citrix Systems Inc
Original Assignee
Bytemobile Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40433760&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101971578(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Bytemobile Inc filed Critical Bytemobile Inc
Publication of CN101971578A publication Critical patent/CN101971578A/zh
Application granted granted Critical
Publication of CN101971578B publication Critical patent/CN101971578B/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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种用计算机实现的方法,所述方法包括在第一设备处,在网络层和传输层之间提供分组调度程序层;在所述分组调度程序层处,从所述第一设备上的发送层接收一个或多个传输控制协议(TCP)分组,其中所述发送层是所述网络层或者所述传输层中的一个;通过延迟所述一个或多个TCP分组中的至少一个的传递来使所述传递平滑;以及向接收层发送所述一个或多个TCP分组,其中所述接收层是所述网络层或者所述传输层中不是所述发送层的那个。

Description

TCP分组间距
相关专利的交叉引用
本申请主张名称作“TCP分组间距(TCP Packet Spacing)”、申请于2007年12月28日、申请号为61/017,275的美国临时申请的权利,在此通过引用将该临时申请并入。
背景技术
分组突发是比如高速下行链路分组接入(HSDPA)等现在的高速无线数据网络中的普遍问题,而且分组突发产生于实现这种网络的方式。通过无线数据网络向移动客户机发送数据的TCP服务器或者代理可以接收TCP确认分组的突然突发。由于在上行链路路径上缓存TCP确认分组而引起这些突发。TCP确认分组的缓存是实现高速数据网络的方式的副作用,并且主要被需要用于在传递TCP分组的同时维持秩序。TCP确认分组的这种突发也可能由无线电信道衰落引起。无线电信道衰落是由于多种原因引起的,比如大气干扰、移动单元和小区发射塔收发器之间的距离等等。
为应对TCP确认的突发,TCP服务器通常向移动客户机发送数据分组的突发以填充按照TCP协议所定义的拥塞窗口。在大多数情况下,所期望的是让服务器向客户机尽可能快地发送数据以使用全部的信道带宽。然而,无线分组核心网中的节点通常没有被设计用于处理突发的传输并且当在短的时间间隔中接收TCP/IP分组的突发时频繁地丢失分组。
TCP服务器假定如果在配置的时间间隔内没有收到来自客户机的确认或者如果它从客户机接收一个或多个重复的确认,则分组被丢失。不论发生哪种情况,服务器不得不重新传送丢失的分组并且这触发TCP的慢启动以及拥塞避免算法。最终的结果是没有利用全部的信道带宽。可用无线信道带宽的不充分使用在从服务器向移动客户机传送大量数据时尤其普遍。例如,该问题在使用HTTP或者FTP的大文件下载期间将是普遍的。
紧接在网络衰落(network fade)之后的来自移动客户机的TCP确认分组的大量突发触发来自TCP服务器的数据分组的突发。如上所述,来自TCP服务器的大量数据分组突发通常导致不希望的分组丢失以及无线数据信道的不充分使用。
附图说明
图1是示范性系统的框图;
图2A是在计算机设备处的TCP/IP分组处理的简化的视图;
图2B是具有分组调度程序的TCP/IP分组处理的示范性视图;
图3是示意图1的示范性系统的实施例的框图;
图4是示意在图3的示范性系统中用于处理输入的分组的示范性通信流程的功能示意图;
图5是表示用于处理输入的分组的示范性方法的流程图;
图6是表示用于在分组调度程序中处理输入的分组的示范性方法的流程图;
图7是示意在图3的示范性系统中用于处理输出的分组的示范性通信流程的功能示意图;
图8是表示用于处理输出的分组的示范性方法的流程图;
图9是表示用于在分组调度程序中处理输出的分组的示范性方法的流程图。
具体实施方式
现在将详细参考根据TCP分组间距(the TCP Packet Spacing)所实现的示范性实施例,其示例在附图中被示意。在任何可能的地方,相同的参考标号将贯穿附图被用来指代相同或相似的部件。
以下实施例描述在无线数据网络或者任何数据网络中处理TCP分组突发的能力。在这个方案被使用时,从例如移动客户机(mobileclient)的客户机设备所接收的TCP确认分组的突发和向客户机设备所发送的数据分组的突发被平滑(smooth),从而使分组丢失最少。在一些实施例中,TCP分组间距在优化服务节点(OSN)上被实现,比如Bytemobile的OSN。另外,在一些实施例中,TCP分组间距可以在任何TCP服务器、内容服务器或者客户机设备上被实现。TCP分组间距可以使在无线或者任何数据网络中不希望的分组丢失最少,产生无线或者任何数据信道中的可用带宽的有效使用。
图1是示范性系统的框图。示范性系统100可以是通过比如无线网络、因特网等网络传送数据分组的任何类型的系统。例如,该示范性系统可以包括通过因特网从内容服务器接收数据分组的移动客户机。该示范性系统除了其它以外可以包括移动客户机102、网关104,一个或多个网络106、110,代理服务器108以及一个或多个内容服务器112-114。
移动客户机102是示范性的客户机设备,其为硬件部件,比如计算机、PDA、移动电话、膝上型电脑、台式机或者接入数据网络的任何设备,包括允许该设备与数据网络通信并且从数据网络接收数据分组的软件应用。移动客户机102提供一个或多个软件应用(softwareapplication),比如web浏览器、搜索引擎爬行器、屏幕阅读器、媒体播放器或者盲文浏览器。另外,移动客户机102具有从因特网请求以及接收数据分组的能力,比如流媒体的数据分组。例如,移动客户机102可以向内容服务器112-114发送请求数据以根据网页的URL得到网页的特定文件或者目标数据,并且网页的内容服务器可以在数据库中查询该目标数据并且可以将该目标数据作为响应数据(例如HTTP/WAP响应数据)的部份发送回移动客户机102。在一些实施例中,响应数据可以通过代理服务器108被路由。
网关104是用作入口或者接入装置(a means ofaccess)的一个或多个设备,并且其可以或者可以不将在一种类型的网络中所提供的有格式的数据转换为另一种类型的网络所需要的特定格式。网关104例如可以是服务器、路由器、防火墙服务器、主机或者代理服务器。网关104具有将从移动客户机102所接收的信号变换成网络106能够理解的信号的能力并且反之亦然。然而,这种变换能力在一些数据网络中不被需要,例如第四代移动通信(4G:Fourth-Generation)或者微波存取全球互通(WiMAX)。网关104可能能够单独地或者以任何组合来处理音频、视频以及T.120传输,并且具有全双工媒体转换(media translation)的能力。
网络106和110可以包括广域网(WAN)、局域网(LAN)或者适于比如因特网通信等分组类型的通信的无线网络的任何组合。另外,网络106和110可以包括使TCP分组的突发平滑的分组调度程序(packetscheduler)。
代理服务器108可以用作在网关104和内容服务器112-114之间提供通信的TCP服务器。代理服务器108可以提供用于使从移动客户机102所接收的或者向移动客户机102所发送的TCP分组突发平滑的分组调度程序。将在下文中进一步描述该分组调度程序。
内容服务器112-114是从移动客户机102接收请求数据、相应地处理该请求数据并且在一些实施例中通过代理服务器108将响应数据返回给移动客户机102的服务器。举例来说,内容服务器112-114可以是web服务器、企业服务器或者任何其它类型的服务器。内容服务器112-114可以是负责接受来自移动客户机102的请求(例如HTTP、RTSP或者可以发起媒体会话的其它协议)并且负责把流媒体供应给移动客户机102的计算机或者计算机程序。在一些实施例中,内容服务器112-114可以包括使TCP分组的突发平滑的分组调度程序。
图2A是在计算机设备处的TCP/IP分组处理的简化的视图。根据功能,主机或者服务器上的网络架构可以被分成不同的层。例如,开放系统互连基本参考模型(OSI模型)将网络架构分成七层,其包括物理层、数据链路层(其可以进一步包括逻辑链路控制(LLC)子层和媒体访问控制(MAC)子层)、网络层、传输层、会话层、表示层以及应用层。然而,在实际操作中,协议栈可以将OSI层中的一个或多个合并成单个层以共同作用来允许软件或者硬件执行功能。因此,本领域的技术人员会理解以下所描述的一个或多个层可以被合并成单个层。
图2A示意了三层的网络架构,从顶层到底层为应用层210、TCP/IP堆栈层(stack layer)220以及网络接口层230。在这些层中的每一个处的功能以及数据封装都是本领域内众所周知的,因此将不在这里进行详细描述。下面的描述集中在TCP/IP分组处理。
应用层210是最顶层,该应用层210除了其它以外包括比如HTTP、远程登录协议(Telnet)和FTP等数据传输协议,以及比如Web服务器或者HTTP代理等软件应用。应用层210可以向对等机(peermachine)或者因特网发送数据或者从对等机或者因特网接收数据。
在向对等机或者因特网发送数据时,应用层210可以直接或者通过一个或多个其它层向TCP/IP堆栈层220传输数据。依次地,TCP/IP堆栈层220根据标准TCP流程控制语义向网络接口层230移动数据,该TCP/IP堆栈层220是负责TCP/IP处理的中间层。在一些实施例中,TCP/IP堆栈层220除了其它以外可以包括OSI模型的层中的传输层。
网络接口层230在这个图中是最底层。例如,在以太网网络中,将服务器连接到以太网网络的网络接口卡的驱动器将构成这个层。网络接口层230连接网络中的主机或者节点并且向目的地传送数据。
在从对等机或者因特网接收数据分组时,是网络接口层230首先接收并且处理数据分组,然后尽可能快地转移到TCP/IP堆栈层220。TCP/IP堆栈层220又处理所接收的分组并且如果有必要的话,向所述应用发信号。在处理之后,TCP/IP堆栈层220向应用层210传输所接收的数据。
在一些实施例中,即使在没有数据被接收时,TCP/IP堆栈层220也可以传送分组,比如TCP确认分组或者丢失的数据分组的重新传输。在向对等机或者因特网提供数据的情况下,应用层210(比如web服务器)比TCP层可以发送出去更快地向TCP层发送数据的突发。TCP层缓存它不能发送的数据。在从网络接口层230接收TCP确认分组的突发时,TCP/IP堆栈层220将数据分组的突发向下发送到网络接口层230。同样地,如果来自对等机或者因特网的确认没有在配置的时间间隔内被接收,或者一个或多个重复的确认被接收,则TCP/IP堆栈层220假定分组被丢失并且重新传送被丢失的分组。因此,瞬时数据速率可能非常高并且超过无线数据网络中的节点的处理能力,产生不希望的分组丢失以及无线数据信道的不充分使用。
图2B是具有分组调度程序层240的TCP/IP分组处理的示范性视图。为了适度地处理来自对等机或者因特网的TCP确认分组的突发,TCP分组间距引入用于分组处理的新的逻辑层。该新的处理层被称作分组调度程序层(Packet Scheduler Layer)240。分组调度程序层240位于TCP/IP堆栈层220和网络接口层230之间。分组调度程序层240既处理来自网络接口层230的输入的分组(incoming packet)也处理去往网络接口层230的输出的分组(outgoing packet)。
具有分组调度程序的TCP/IP分组处理可以被用在代理服务器中,采用TCP优化技术,比如Bytemobile的TCP优化技术。代理服务器将移动客户机和内容服务器之间的TCP连接分开并且改变TCP在网络的无线侧上的行为。即使在TCP确认分组的大量突发(large burst)从移动客户机被接收时,代理服务器避免向移动客户机发送大量的分组突发。通过利用这一方案,可以更平滑的方式传送到移动客户机的TCP数据分组,从而使分组丢失最少。
在一些实施例中,图2B所提供的实施例可以在移动设备或者内容服务器112-114中的一个或多个中包括分组调度程序层240。
图3是示意图1的示范性系统的实施例的框图。移动客户机102是除了其它以外可以包括允许移动客户机102与代理服务器108通信并且从代理服务器108接收数据分组的软件应用,该代理服务器108从内容服务器112-114中的一个或多个获得数据分组。代理服务器108除了其它以外可以包括应用层210、TCP/IP堆栈层220、分组调度程序层240以及网络接口层230。分组调度程序层240除了其它以外可以包括分组调度程序查找表310和分组调度程序服务队列320。
分组调度程序查找表310存储每个TCP连接的信息。所存储的信息包括以下内容:
a.每一连接的(per-connection)先进先出(FIFO)队列,该队列具有指向尚未被传递到上行(upstream)TCP/IP堆栈层220或者到下行(downstream)网络接口层230的分组的指针。在一些实施例中,该FIFO队列可以被设置用于同一用户的多个连接或者甚至一组用户的所有连接。
b.上一个分组被传递到上行TCP/IP堆栈层220或者到下行网络接口层230时的时间戳。这被称作上一次传递时间(LDT:LastDelivery Time)
c.按当前设置(in the current set)已被传递到上行TCP/IP堆栈层220或者到下行网络接口层230而没有任何额外的延迟的分组的数量。这被称作突发计数(BC:Burst Count)。
在一些实施例中,分组调度程序查找表310可以在计算机的高速缓冲存储器(cache)中被实现。
分组调度程序服务队列320可以是存储指向需要由分组调度程序层240提供服务/处理的分组的指针的单个队列。在一些实施例中,分组调度程序服务队列320可以是存储分组供分组调度程序层240服务/处理的缓冲器(buffer)。分组调度程序服务队列320可以在计算机的高速缓冲存储器中被实现。
在一些实施例中,分组调度程序层240可以维护分组调度程序查找表310和分组调度程序服务队列320的用于处理输入的分组和输出的分组的独立的实例(instance)。通过维护分组调度程序查找表310和分组调度程序服务队列320的独立的实例,分组的延迟传递对于输入的分组和输出的分组两者可以同时被允许。实际上,在一个方向上允许延迟传递可能就够了。
另外,分组调度程序层240可以包括用于在将分组传送到它们的预定的目的地之前存储它们的缓冲器。
图4是示意在图3的示范性系统中用于处理输入的分组的示范性通信流程的功能示意图。输入的分组是在比如分组调度程序层240的分组调度程序处从比如网络接口层230的下行网络接口层所接收的将被传递到比如TCP/IP堆栈层220的上行TCP/IP堆栈层的那些分组。
移动客户机102建立TCP连接并且向代理服务器108发送(402)TCP分组。在代理服务器108内,在接收TCP分组之后,网络接口层230向分组调度程序层240传送(404)该分组。分组调度程序层240通过检查例如该TCP分组是否为TCP确认分组来确定该TCP分组是否适合于(eligible for)分组调度服务。如果该TCP分组不适合于分组调度服务,例如该TCP分组不是TCP确认,则分组调度程序层240向上行TCP/IP堆栈层220传递(406)该TCP分组,该TCP/IP堆栈层220处理该TCP分组并且又向应用层210发送经处理的分组。
如果该TCP分组适合于分组调度服务,例如该TCP分组不是TCP确认,则分组调度程序层240缓存该分组用于以后的传递。同样地,分组调度程序层240在分组调度程序查找表310中存储关于这个TCP连接的信息,并且在分组调度程序服务队列320中存储指向该分组的指针用于以后的处理。如上所述,关于该TCP连接的信息除了其它以外可以包括每一连接的FIFO队列、上一次传递时间(LDT)以及突发计数(BC),该每一连接的FIFO队列具有指向尚未被传递到上行TCP/IP堆栈层220的分组的指针。在一些实施例中,分组调度程序层240将分组本身存储在分组调度程序服务队列320中用于以后的处理。将在下文中进一步讨论处理从下行网络接口层230所接收的输入的分组的细节。
图5是表示处理输入的分组的示范性方法的流程图。本领域的技术人员将容易理解的是可以改变所示意的过程以删除步骤或者进一步包括额外的步骤。
在从网络接口层接收(502)TCP分组后,分组调度程序层例如通过检查该TCP分组是否为TCP确认分组来确定(504)该TCP分组是否适合于分组调度服务。TCP标志和对应于该分组的其它特性被用来检查该分组对于分组调度服务的合格性(eligibility)。检查合格性的规则可能是比较通用的。简单且实用的规则是确定是否TCPACK(确认)标志被设置而URG(紧急)、RST(复位)、SYN(同步)以及FIN(完成)标志没有被设置。
如果所述分组不适合于分组调度服务,例如该分组不是TCP确认分组,则分组调度程序层可以向上行TCP/IP堆栈层转发(506)该分组。然后,用于这个分组的过程可以停止(520)。
如果所述分组适合于分组调度服务,则分组调度程序层从内部的分组调度程序查找表取回(508)每一连接的FIFO队列,并且确定(510)用于该TCP连接的条目是否已经存在。在一些实施例中,分组调度程序查找表提供对应于单个连接的FIFO队列。在一些实施例中,分组调度程序查找表提供对应于多个连接的FIFO队列。
如果用于由分组调度程序层处理的连接的条目存在,则分组调度程序层跳过随后的若干步骤,并且将指向该分组的指针插入被存储在分组调度程序查找表中的每一连接的FIFO队列中用于以后的处理。如果没有用于该连接的条目存在,则分组调度程序层创建(512)对应于这个TCP连接的新的每一连接的FIFO队列并且将该队列插入(512)分组调度程序查找表中。上一次传递时间(LDT)被设置(514)为当前时间并且突发计数(BC)被设置(514)为0。上一次传递时间和突发计数被存储到分组调度程序查找表中。上一次传递时间和突发计数将被更新并且被用于处理输入的分组以及向上行TCP/IP堆栈层传递输入的分组。将在下文中进一步讨论细节。在那之后,指向该分组的指针被插入(516)被存储到分组调度程序查找表中的每一连接的FIFO队列中。
最后,指向该分组的指针还被插入(518)分组调度程序服务队列中,被分组调度程序层用于处理所指向的分组。在一些实施例中,该分组本身被插入(518)分组调度程序服务队列中用于以后的处理。然后,该处理可以停止(520)。
图6是表示用于在分组调度程序层中处理输入的分组的示范性方法的流程图。本领域的技术人员将容易理解的是所示意的过程可以被改变以删除步骤或者进一步包括额外的步骤。处理分组调度程序服务队列中的条目以及处理从网络接口层所接收的分组可以发生在不同的执行环境中。
分组调度程序层可以通过触发(trigger)(例如从网络接口层所接收的分组)或者在一段不活动时间之后点火(fire)的计时器来调用(invoke)(602)分组调度程序服务例程(routine)以处理分组调程序度服务队列中的条目。分组调度程序层首先检查以确定(604)在分组调度程序队列中是否有要被处理的任何条目。如果分组调度程序服务队列为空,则分组调度程序服务例程终止(626)。如果分组调度程序服务队列不为空,则分组调度程序层从所述队列取回(606)第一个条目(在一些实施例中为下一个指向分组的指针(next pointer to a packet),而在另一些实施例中为分组)。分组调度程序层还从分组调度程序查找表取回(608)与所述连接有关的信息,例如每一连接的FIFO队列、上一次传递时间以及突发计数。
如早先所述,例如在上面的图5中,分组调度程序查找表存储每一连接的FIFO队列,该每一连接的FIFO队列具有指向已在分组调度程序层被缓存的分组的指针。分组调度程序层确定(610)正被处理的当前分组是否为每一连接的FIFO队列中的第一个条目。如果当前分组不是每一连接的FIFO队列中的第一个条目,则当前分组仅被放回(612)分组调度程序服务队列中用于以后的处理并且该方法将再一次返回步骤604。这确保了对于给定的连接,分组的排序(ordering)被维护。
如果分组是每一连接的FIFO队列中的第一个分组,则分组调度程序层从分组调度程序查找表取回(614)该连接的上一次传递时间(LDT)和突发计数(BC)。分组调度程序层计算当前时间和该连接的上一次传递时间之间的时间间隔并且对照由系统自动设置或者由管理员设置的预先配置的延迟时间进行检查(616)。
如果时间间隔小于预先配置的延迟时间,则这个分组是到上行TCP/IP堆栈层的延迟传递的候选(candidate)。在这种情况下,分组调度程序层对照由系统自动设置或者由管理员设置的预先配置的突发计数阈值来检查(618)这个连接的突发计数。这个突发计数阈值是被认为是在不接收分组丢失的情况下传送分组的最大值的值。突发计数阈值可以基于所存储的历史数据。如果突发计数小于预先配置的突发计数阈值,则分组调度程序层向上行TCP/IP堆栈层传递(622)该分组。然后,分组调度程序层将上一次传递时间更新(624)为等于当前时间并且将突发计数增加(624)1。增加突发计数将最终使突发计数在这个特定连接的随后几轮处理(例如通信会话期间在两个设备之间的分组交换)中达到预先配置的突发计数阈值;因此该分组被传递(622)到上行TCP/IP堆栈层。在设置步骤624之后,该方法进入步骤604。如果突发计数大于预先配置的突发计数阈值,则分组调度程序层通过仅将指向该分组的指针重新插入分组调度程序服务队列中并且将该分组保持在分组调度程序层中的缓冲器中来延迟向上行TCP/IP堆栈层传递该分组。在一些实施例中,分组本身被重新插入(612)分组调度程序服务队列中用于以后的处理。
如果当前时间和该连接的上一次传递时间之间的时间间隔大于或者等于预先配置的延迟阈值,则分组调度程序层将该连接的突发计数设置(620)为0并且向上行TCP/IP堆栈层传递(622)该分组。然后,分组调度程序层将上一次传递时间更新(624)为等于当前时间并且将突发计数增加(624)1。处理通过再一次从步骤604开始而继续。
图7是示意在图3的示范性系统中用于处理输出的分组的示范性通信流程的功能示意图。输出的分组是从比如分组调度程序层240的TCP/IP堆栈层向比如网络接口层230的下行网络接口层所发送的最终将被传递到预定的客户机的那些分组。在分组调度程序层240中对输出的分组的处理可以类似于如上面在图4-6中所描述的对输入的分组的处理。然而,在由分组调度程序层240处理输出的分组时,网络接口层230和TCP/IP堆栈层220的作用被互换。其它不同可能包括但不限于被用于检查分组对于经由分组调度程序服务的延迟传递的合格性的规则。尽管规则可以是任意的,但延迟TCP ACK分组对于输入的分组实际上可能是实用的,因为TCP ACK突发是无线网络中的普遍问题。对于输出的分组,可能实用的是延迟TCP数据分组使得分组突发以及由此产生的分组丢失可以被减到最少。
如上所述,在一些实施例中,分组调度程序层240可以维护分组调度程序查找表310和分组调度程序服务队列320的用于处理输入的分组的实例,并且维护分组调度程序查找表310和分组调度程序服务队列320的用于处理输出的分组的另一个实例。通过维护分组调度程序查找表310和分组调度程序服务队列320的用于输入的分组和输出的分组的独立的实例,分组的延迟传递对于输入的分组和输出的分组两者可以同时被允许。
在代理服务器108上,应用层210向TCP/IP堆栈层220发送(702)数据,其把数据分组(packetize)并且向分组调度程序层240发送TCP分组中的一个。分组调度程序层240例如通过检查该TCP分组是否为数据分组来确定该TCP分组是否适合于分组调度服务。如果该TCP分组不适合于分组调度服务,例如在该TCP分组不是数据分组时,则分组调度程序层240向下行网络接口层230传递(706)该TCP分组,该网络接口层230最终向移动客户机102发送(708)该分组。
如果该TCP分组适合于分组调度程序服务,例如在该TCP分组是数据分组时,分组调度程序层240缓存该分组用于以后的传递。同样地,分组调度程序层240将关于这个TCP连接的信息存储在分组调度程序查找表310中,并且将指向该分组的指针存储在分组调度程序服务队列320中用于以后的处理。如上所述,关于该TCP连接的信息除了其它以外可以包括每一连接的FIFO队列、上一次传递时间(LDT)以及突发计数(BC),该每一连接的FIFO队列具有指向尚未被传递到下行网络接口层230的分组的指针。在一些实施例中,分组调度程序层240将分组本身存储在分组调度程序服务队列320中用于以后的处理。将在下文中进一步讨论处理从上行TCP/IP堆栈层220所接收的输出的分组的细节。
图8是表示用于处理输出的分组的示范性方法的流程图。本领域的技术人员将容易理解的是所示意的过程可以被改变以删除步骤或者进一步包括额外的步骤。
在从TCP/IP堆栈层接收(802)TCP分组之后,分组调度程序层例如通过检查(804)该TCP分组是否为TCP数据分组来确定该TCP分组是否适合于分组调度服务。如果该分组不适合于分组调度服务,例如在该TCP分组不是TCP数据分组是,则TCP分组调度程序层向下行网络接口层转发(806)该分组。然后用于这个分组的处理可以停止(820)。
如果该分组适合于分组调度服务,例如在该TCP分组是TCP数据分组时,则分组调度程序层从内部的分组调度程序查找表取回(808)每一连接的FIFO队列并且确定(810)用于该TCP连接的条目是否已经存在。在一些实施例中,分组调度程序查找表提供对应于单个连接的FIFO队列。在一些实施例中,分组调度程序查找表提供对应于多个连接的FIFO队列。
如果用于由分组调度程序层处理的连接的条目存在,则分组调度程序层跳过随后的若干步骤,并且将指向该分组的指针插入(816)被存储在分组调度程序查找表中的每一连接的FIFO队列中用于以后的处理。如果没有用于该TCP连接的条目存在,则分组调度程序层创建(812)对应于这个TCP连接的新的每一连接的FIFO队列,并且将该队列插入(812)分组调度程序查找表中。该连接的上一次传递时间被设置(814)为当前时间并且该连接的突发计数被设置(814)为0。上一次传递时间和突发计数被存储到分组调度程序查找表中。上一次传递时间和突发计数将被更新并且被用于处理输出的分组以及向下行网络接口层传递输出的分组。将在下文中进一步讨论细节。在步骤814之后,指向该分组的指针被插入(816)被存储在分组调度程序查找表中的每一连接的FIFO队列中。
在那之后,指向该分组的指针也被插入(818)分组调度程序服务队列中,被分组调度程序层用于处理所指向的分组。在一些实施例中,分组本身被插入分组调度程序服务队列中用于以后的处理。然后,该过程可以停止(820)。
图9是表示用于在分组调度程序层中处理输出的分组的示范性方法的流程图。本领域的普通技术人员将容易理解的是所示意的过程可以被改变以删除步骤或者进一步包括额外的步骤。如上所述,在分组调度程序层中对输出的分组的处理可以类似于对输入的分组的处理。然而,有许多不同。例如,在输出的分组由分组调度程序层处理时,网络接口层和TCP/IP堆栈层的作用被互换。
分组调度程序层可以通过触发(例如从TCP/IP堆栈层所接收的分组)或者在一段不活动时间之后点火的计时器来调用(902)分组调度程序服务例程以处理分组调度程序服务队列中的条目。分组调度程序层首先检查以确定(904)在分组调度程序服务队列中是否有要被处理的任何条目。如果分组调度程序服务队列为空,则分组调度程序服务例程终止(926)。如果分组调度程序服务队列不为空,则分组调度程序层从所述队列取回(906)第一个条目(下一个指向分组的指针)。分组调度程序层还从分组调度程序查找表取回(908)与所述连接有关的信息,例如每一连接的FIFO队列、上一次传递时间以及突发计数。
如早先所述,例如在上面的图8中,分组调度程序查找表存储每一连接的FIFO队列,该每一连接的FIFO队列具有指向已在分组调度程序层被缓存的分组的指针。分组调度程序层确定(910)正被处理的当前分组是否为每一连接的FIFO队列中的第一个条目。如果它不是每一连接的FIFO队列中的第一个条目,则它仅被放回(912)分组调度程序服务队列中用于以后的处理。处理通过再一次从步骤904开始而继续。这确保了对于给定的连接,分组的排序被维护。
如果分组是每一连接的FIFO队列中的第一个分组,则分组调度程序层从分组调度程序查找表取回(914)该连接的上一次传递时间和突发计数。分组调度程序层计算当前时间和该连接的上一次传递时间之间的时间间隔,并且对照由系统自动设置或者由管理员设置的预先配置的延迟时间进行检查(916)。
如果时间间隔小于预先配置的延迟时间,则这个分组是到下行网络接口层的延迟传递的候选。在这种情况下,分组调度程序层对照由系统自动设置或者由管理员设置的预先配置的突发计数阈值检查(918)这个连接的突发计数。如果突发计数小于预先配置的突发计数阈值,则分组调度程序层向下行网络接口层传递(922)该分组。然后,分组调度程序层将上一次传递时间更新(924)为等于当前时间并且将突发计数增加(924)1。增加突发计数将最终使突发计数在随后的几轮处理中达到预先配置的突发计数阈值,从而被传递(922)到下行网络接口层。在设置步骤924之后,该方法进入步骤904。如果突发计数大于预先配置的突发计数阈值,则分组调度程序层通过仅将指向该分组的指针重新插入(912)分组调度程序服务队列中并且将该分组保持在分组调度程序层处的缓冲器中来延迟向下行网络接口层传递该分组。在一些实施例中,分组本身被重新插入(912)分组调度程序服务队列中用于以后的处理。
如果当前时间和该连接的上一次传递时间之间的时间间隔大于或者等于预先配置的延迟阈值,则分组调度程序层将该连接的突发计数设置(920)为0并且向下行网络接口层传递(922)该分组。然后,分组调度程序层将上一次传递时间更新(924)为等于当前时间并且将突发计数增加(924)1。处理通过再一次从步骤904开始而继续。
在此所公开的方法可以被实现为计算机程序产品,即被有形地包括在信息载体中(例如在计算机可读存储设备中或者在被传播的信号中)的计算机程序,供例如可编程处理器、计算机或者多个计算机等数据处理装置执行或者用于控制该数据处理装置的操作。计算机程序可以用任何形式的编程语言来写,包括被编译的或者被解释的语言,并且它可以任何形式被采用,包括作为独立的程序或者作为模块、部件、子例程或者适于用在计算环境中的其它单元。计算机程序可以被采用以在一个计算机上或者在处于一个地点或者跨多个地点分布并且通过通信网络相互连接的多个计算机上被执行。
在前面的说明书中,已经参考具体的示范性实施例描述了本发明。然而,将显而意见的是可以做出各种修改和变化而不脱离如在随后的权利要求中所阐明的、本发明的更广义的精神及范围。据此,说明书和附图应被看做是示意性的而非限制性的意义。根据对本说明书的思考以及对在此所公开的本发明的实践,本发明的其它实施例对于本领域的技术人员可能是明显的。

Claims (41)

1.一种用计算机实现的方法,所述方法包括:
在第一设备处,在网络层和传输层之间提供分组调度程序层;
在所述分组调度程序层处,从所述第一设备上的发送层接收一个或多个传输控制协议(TCP)分组,其中所述发送层是所述网络层或者所述传输层中的一个;
通过延迟所述一个或多个TCP分组中的至少一个的传递来使所述传递平滑;以及
向接收层发送所述一个或多个TCP分组,其中所述接收层是所述网络层或者所述传输层中不是所述发送层的那个。
2.根据权利要求1所述的方法,其中所述第一设备是计算机服务器。
3.根据权利要求1所述的方法,其中所述一个或多个TCP分组中的所述至少一个是由所述第一设备上的所述发送层生成的TCP确认分组。
4.根据权利要求1所述的方法,其中所述一个或多个TCP分组中的所述至少一个是丢失的TCP分组的重新传输,所述丢失的TCP分组由所述第一设备上的所述发送层重新发送。
5.根据权利要求1所述的方法,其中所述第一设备通过所述第一设备和第二设备之间的连接与所述第二设备通信。
6.根据权利要求5所述的方法,其中所述第二设备是移动设备。
7.根据权利要求5所述的方法,其中所述一个或多个TCP分组中的所述至少一个源自于所述第二设备。
8.根据权利要求5所述的方法,其还包括:
确定所述一个或多个TCP分组中的所述至少一个是否适合于向所述接收层的延迟传递。
9.根据权利要求8所述的方法,其中确定所述一个或多个TCP分组中的所述至少一个是否适合于向所述接收层的延迟传递是基于所述一个或多个TCP分组中的所述至少一个的TCP确认标志被设置。
10.根据权利要求8所述的方法,其中确定所述一个或多个TCP分组中的所述至少一个是否适合于向所述接收层的延迟传递是基于所述一个或多个TCP分组中的所述至少一个的DATA标志被设置。
11.根据权利要求8所述的方法,其还包括如果所述一个或多个TCP分组中的所述至少一个不适合于TCP分组调度服务,则向所述第一设备上的所述接收层发送所述一个或多个TCP分组中的所述至少一个。
12.根据权利要求8所述的方法,其还包括:
在所述第一设备处,存储关于所述第一设备和所述第二设备之间的连接的信息,其中所述信息被用于配置向所述接收层的延迟传递。
13.根据权利要求12所述的方法,其中被存储的关于所述第二设备和所述第一设备之间的连接的信息包括:
所述连接的上一次分组传递时间;
所述连接的突发计数;以及
每一连接的先进先出(FIFO)队列,其存储指向还没有被传递到所述接收层的所述一个或多个TCP分组中的所述至少一个的指针。
14.根据权利要求13所述的方法,其中如果所述一个或多个TCP分组中的所述至少一个是从所述发送层所接收的所述连接的第一个分组,则所述连接的所述上一次分组传递时间被设置为当前时间并且所述连接的所述突发计数被设置为0。
15.根据权利要求13所述的方法,其还包括:
将所述一个或多个TCP分组中的所述至少一个插入TCP分组调度服务队列用于延迟向所述接收层的传递。
16.根据权利要求15所述的方法,其还包括:
从所述TCP分组调度服务队列获得下一个被延迟的TCP分组;
取回被存储的关于所述第一设备和所述第二设备之间的连接的信息,其中被存储的上一次分组传递时间被用于计算所述连接的延迟时间;
基于被取回的关于所述连接的信息,确定所述下一个被延迟的TCP分组是否为所述连接的第一个将被传递的分组;以及
如果所述下一个被延迟的TCP分组是所述连接的所述第一个将被传递的分组并且所述连接的所述延迟时间或者所述突发计数达到预先配置的阈值,则向所述第一设备上的接收层发送所述下一个被延迟的TCP分组。
17.根据权利要求16所述的方法,其中从所述TCP分组调度服务队列获得下一个被延迟的TCP分组可以通过从所述发送层接收TCP分组而被调用。
18.根据权利要求16所述的方法,其中从所述TCP分组调度服务队列获得下一个被延迟的TCP分组可以通过计时器在所述第二设备和所述第一设备之间的连接的在所述第一设备处的接收或者发送TCP分组的一段预先配置的不活动时间之后被调用。
19.根据权利要求16所述的方法,其还包括:
更新被存储的关于所述连接的信息。
20.根据权利要求19所述的方法,其中更新关于所述连接的信息包括:
如果所述延迟时间达到用于向所述接收层传递被延迟的TCP分组的所述预先配置的阈值,则将所述突发计数重新设置为0;
将所述突发计数增加1;以及
将所述上一次分组传递时间更新为与当前时间相等。
21.根据权利要求16所述的方法,其还包括:
如果所述下一个被延迟的TCP分组不是所述连接的所述第一个将被传递的分组,或者所述连接的所述延迟时间和所述突发计数没有达到所述预先配置的阈值,则将所述下一个被延迟的TCP分组重新插入所述TCP分组调度服务队列中用于以后向所述接收层的传递。
22.一种系统,所述系统包括:
第一设备,以及
第二设备,其被配置用于通过所述第一设备和所述第二设备之间的连接与所述第一设备通信,所述第二设备在网络层和传输层之间包括分组调度程序层,其中所述分组调度程序层:
从所述第一设备上的发送层接收一个或多个传输控制协议(TCP)分组,其中所述发送层是所述网络层或者所述传输层中的一个,
通过延迟所述一个或多个TCP分组中的至少一个的传递来使所述传递平滑,并且
向接收层发送所述一个或多个TCP分组,其中所述接收层是所述网络层或者所述传输层中不是所述发送层的那个。
23.根据权利要求22所述的系统,其中所述一个或多个TCP分组中的所述至少一个是由所述第二设备上的所述发送层生成的TCP确认分组。
24.根据权利要求22所述的系统,其中所述一个或多个TCP分组中的所述至少一个是丢失的TCP分组的重新传输,所述丢失的TCP分组由所述第二设备上的所述发送层重新发送。
25.根据权利要求22所述的系统,其中所述第二设备通过所述第二设备和第一设备之间的连接与所述第一设备通信。
26.根据权利要求25所述的系统,其中所述一个或多个TCP分组中的所述至少一个源自于所述第一设备。
27.根据权利要求25所述的系统,其中所述分组调度程序层确定所述一个或多个TCP分组中的所述至少一个是否适合于向所述接收层的延迟传递。
28.根据权利要求27所述的系统,其中所述分组调度程序层基于所述一个或多个TCP分组中的所述至少一个的TCP确认标志被设置来确定所述一个或多个TCP分组中的所述至少一个是否适合于向所述接收层的延迟传递。
29.根据权利要求27所述的系统,其中所述分组调度程序层基于所述一个或多个TCP分组中的所述至少一个的TCP DATA标志被设置来确定所述一个或多个TCP分组中的所述至少一个是否适合于向所述接收层的延迟传递。
30.根据权利要求27所述的系统,其中如果所述一个或多个TCP分组中的所述至少一个不适合于所述延迟传递,则所述分组调度程序层立即向所述第一设备上的所述接收层发送所述一个或多个TCP分组中的所述至少一个。
31.根据权利要求27所述的系统,其中所述分组调度程序层存储关于所述第一设备和所述第二设备之间的连接的信息,其中所述信息被用于配置向所述接收层的延迟传递。
32.根据权利要求31所述的系统,其中被存储的关于所述第一设备和所述第二设备之间的连接的信息包括:
所述连接的上一次分组传递时间;
所述连接的突发计数;以及
每一连接的先进先出(FIFO)队列,其存储指向还没有被传递到所述接收层的所述一个或多个TCP分组中的所述至少一个的指针。
33.根据权利要求32所述的系统,其中如果所述一个或多个TCP分组中的所述至少一个是从所述发送层所接收的所述连接的第一个分组,则所述连接的所述上一次分组传递时间被设置为当前时间并且所述连接的所述突发计数被设置为0。
34.根据权利要求27所述的系统,其中所述分组调度程序层将所述一个或多个TCP分组中的所述至少一个插入TCP分组调度服务队列用于延迟向所述接收层的传递。
35.根据权利要求34所述的系统,其中所述分组调度程序层:
从所述TCP分组调度服务队列获得下一个被延迟的TCP分组;
取回被存储的关于所述第一设备和所述第二设备之间的连接的信息,其中被存储的上一次分组传递时间被用于计算所述连接的延迟时间;
基于被取回的关于所述连接的信息,确定所述下一个被延迟的TCP分组是否为所述连接的第一个将被传递的分组;并且
如果所述下一个被延迟的TCP分组是所述连接的第一个将被传递的分组并且所述连接的所述延迟时间或者所述突发计数达到预先配置的阈值,则向所述第二设备上的接收层发送所述下一个被延迟的TCP分组。
36.根据权利要求35所述的系统,其中所述分组调度程序层在从所述发送层接收TCP分组时从所述TCP分组调度服务队列获得下一个被延迟的TCP分组。
37.根据权利要求35所述的系统,其中在所述第二设备处,对于所述第二设备和所述第一设备之间的连接,所述分组调度程序层在所述第二设备和所述第一设备之间的连接的在所述第一设备处的接收或者发送TCP分组的一段预先配置的不活动时间之后从所述TCP分组调度服务队列获得下一个被延迟的TCP包。
38.根据权利要求35所述的系统,其中所述分组调度程序层更新被存储的关于所述连接的信息。
39.根据权利要求38所述的系统,其中所述分组调度程序层通过以下操作更新被存储的关于所述连接的信息
如果所述延迟时间达到用于向所述接收层传递被延迟的TCP分组的所述预先配置的阈值,则将突发计数重新设置为0;
将所述突发计数增加1;以及
将所述上一次分组传递时间更新为与当前时间相等。
40.根据权利要求35所述的系统,其中:
如果所述下一个被延迟的TCP分组不是所述连接的第一个将被传递的分组,或者所述连接的所述延迟时间和所述突发计数没有达到所述预先配置的阈值,则所述分组调度程序层将所述下一个被延迟的TCP分组重新插入所述TCP分组调度服务队列中用于以后向所述接收层的传递。
41.一种存储指令的计算机可读介质,所述指令在由第一设备执行时使得所述第一设备执行用于传递下一个被延迟的TCP分组的方法,所述方法包括:
在第一设备处,在网络层和传输层之间提供分组调度程序层;
在所述分组调度程序层处,从所述第一设备上的发送层接收一个或多个传输控制协议(TCP)分组,其中所述发送层是所述网络层或者所述传输层中的一个;
通过延迟所述一个或多个TCP分组中的至少一个的传递来使所述传递平滑;以及
向接收层发送所述一个或多个TCP分组,其中所述接收层是所述网络层或者所述传输层中不是所述发送层的那个。
CN200880127690.XA 2007-12-28 2008-12-22 Tcp分组间距 Active CN101971578B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US1727507P 2007-12-28 2007-12-28
US61/017275 2007-12-28
PCT/US2008/014027 WO2009085276A1 (en) 2007-12-28 2008-12-22 Tcp packet spacing

Publications (2)

Publication Number Publication Date
CN101971578A true CN101971578A (zh) 2011-02-09
CN101971578B CN101971578B (zh) 2014-07-30

Family

ID=40433760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880127690.XA Active CN101971578B (zh) 2007-12-28 2008-12-22 Tcp分组间距

Country Status (4)

Country Link
US (1) US8521901B2 (zh)
EP (1) EP2232791B1 (zh)
CN (1) CN101971578B (zh)
WO (1) WO2009085276A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268328A (zh) * 2013-05-09 2018-07-10 华为技术有限公司 数据处理装置及数据处理方法
CN112997456A (zh) * 2018-11-14 2021-06-18 中兴通讯股份有限公司 用于满足无线通信中时间控制要求的方法、装置和系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5123159B2 (ja) * 2008-12-24 2013-01-16 株式会社日立製作所 通信システム及びゲートウェイ装置
US7990976B2 (en) * 2009-05-13 2011-08-02 Telefonaktiebolaget L M Ericsson (Publ) Negotiated secure fast table lookups for protocols with bidirectional identifiers
US10292066B2 (en) * 2011-11-04 2019-05-14 Cisco Technology, Inc. System and method of modifying congestion control based on mobile system information
CN103200622A (zh) * 2012-01-09 2013-07-10 株式会社Ntt都科摩 一种通信处理方法、装置及网关设备
US9813343B2 (en) * 2013-12-03 2017-11-07 Akamai Technologies, Inc. Virtual private network (VPN)-as-a-service with load-balanced tunnel endpoints
US11165680B2 (en) * 2014-09-15 2021-11-02 Vasona Networks, Inc. Bit-rate extraction for encrypted video
US10063922B2 (en) * 2014-09-15 2018-08-28 Vasona Networks Inc. Performance metrics for downloads of encrypted video
US20160164943A1 (en) * 2014-12-05 2016-06-09 Qualcomm Incorporated Transport interface for multimedia and file transport
US10582266B2 (en) 2015-10-07 2020-03-03 Vasona Networks Inc. Rating video-download quality
CN109857379B (zh) * 2019-01-18 2023-09-05 广州九尾信息科技有限公司 一种数据服务封装的方法及装置
US11750714B2 (en) * 2020-03-31 2023-09-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Fast resumption of dormant sessions on a client device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1344456A (zh) * 1998-10-07 2002-04-10 诺基亚网络公司 用于tcp连接的增强确认定步设备和方法
US20040059828A1 (en) * 2002-09-19 2004-03-25 Hooper Donald F. DSL transmit traffic shaper structure and procedure
CN1507212A (zh) * 2002-12-10 2004-06-23 华为技术有限公司 一种使信元流量实现最小抖动的加权轮询方法
US20040179523A1 (en) * 2001-07-06 2004-09-16 Kazuhito Maruyama Packet communication method, communication system, communication apparatus, communication program and recording medium containing communication program
CN1653761A (zh) * 2002-05-13 2005-08-10 高通股份有限公司 用于控制通信系统中的数据流的方法和装置
CN1809034A (zh) * 2006-02-23 2006-07-26 上海交通大学 适用于无线高速自适应信道的网络分组调度方法
US20060269012A1 (en) * 2003-01-06 2006-11-30 Electronics And Telecommunications Research Institute Digital television transmitter and receiver for transmitting and receiving dual stream using 4 level vestigial side band robust data
CN1885819A (zh) * 2005-06-24 2006-12-27 中兴通讯股份有限公司 一种宽带码分多址移动通信系统中的分组调度方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532213B1 (en) * 1998-05-15 2003-03-11 Agere Systems Inc. Guaranteeing data transfer delays in data packet networks using earliest deadline first packet schedulers
EP1133202A1 (en) * 2000-03-07 2001-09-12 Lucent Technologies Inc. Radio telecommunications system with improved use of air interface (II)
US7664028B1 (en) * 2001-03-05 2010-02-16 Pmc-Sierra Ltd. Apparatus and method for metering and marking data in a communication system
JP3904922B2 (ja) * 2001-12-28 2007-04-11 株式会社日立製作所 トラヒックシェーパーおよび集線装置
US7522523B2 (en) * 2003-04-25 2009-04-21 Alcatel-Lucent Usa Inc. Assigning packet queue priority
US7782767B1 (en) * 2005-07-20 2010-08-24 Tektronix, Inc. Method and system for calculating burst bit rate for IP interactive applications
KR100651469B1 (ko) * 2005-10-07 2006-11-29 삼성전자주식회사 비대칭 무선 네트워크 환경에서의 tcp의 ack피기배킹을 이용한 데이터 전송률을 향상시킬 수 있는방법과 그 단말 및 시스템
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US20080112318A1 (en) * 2006-11-13 2008-05-15 Rejean Groleau Traffic shaping and scheduling in a network
US8045456B1 (en) * 2006-11-27 2011-10-25 Marvell International Ltd. Hierarchical port-based rate limiting

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1344456A (zh) * 1998-10-07 2002-04-10 诺基亚网络公司 用于tcp连接的增强确认定步设备和方法
US20040179523A1 (en) * 2001-07-06 2004-09-16 Kazuhito Maruyama Packet communication method, communication system, communication apparatus, communication program and recording medium containing communication program
CN1653761A (zh) * 2002-05-13 2005-08-10 高通股份有限公司 用于控制通信系统中的数据流的方法和装置
US20040059828A1 (en) * 2002-09-19 2004-03-25 Hooper Donald F. DSL transmit traffic shaper structure and procedure
CN1507212A (zh) * 2002-12-10 2004-06-23 华为技术有限公司 一种使信元流量实现最小抖动的加权轮询方法
US20060269012A1 (en) * 2003-01-06 2006-11-30 Electronics And Telecommunications Research Institute Digital television transmitter and receiver for transmitting and receiving dual stream using 4 level vestigial side band robust data
CN1885819A (zh) * 2005-06-24 2006-12-27 中兴通讯股份有限公司 一种宽带码分多址移动通信系统中的分组调度方法
CN1809034A (zh) * 2006-02-23 2006-07-26 上海交通大学 适用于无线高速自适应信道的网络分组调度方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268328A (zh) * 2013-05-09 2018-07-10 华为技术有限公司 数据处理装置及数据处理方法
CN108268328B (zh) * 2013-05-09 2022-04-22 华为技术有限公司 数据处理装置及计算机
CN112997456A (zh) * 2018-11-14 2021-06-18 中兴通讯股份有限公司 用于满足无线通信中时间控制要求的方法、装置和系统
CN112997456B (zh) * 2018-11-14 2024-05-14 中兴通讯股份有限公司 用于满足无线通信中时间控制要求的方法、装置和系统

Also Published As

Publication number Publication date
WO2009085276A1 (en) 2009-07-09
US8521901B2 (en) 2013-08-27
EP2232791B1 (en) 2013-07-10
CN101971578B (zh) 2014-07-30
US20090172184A1 (en) 2009-07-02
EP2232791A1 (en) 2010-09-29

Similar Documents

Publication Publication Date Title
CN101971578B (zh) Tcp分组间距
CN100407698C (zh) 无线链路控制层的数据传输方法
CN101052043B (zh) 一种基于发送窗口与往返时间的tcp发送方法
CN103312807B (zh) 数据传输方法、装置及系统
CN106302228B (zh) 一种数据中心网络中基于任务感知的传输控制方法
CN106134147A (zh) 实现请求管理器和连接管理器功能的传输加速器
CN101796491A (zh) 长延时链路上提高http性能的方法和装置
CN101502065A (zh) 用于通过在定序时应用背压来提供服务质量的方法
CN103354528B (zh) 多流同步方法及装置
Tourrilhes Packet frame grouping: Improving IP multimedia performance over CSMA/CA
CN101816153A (zh) 增强的数据链路利用
CN107948103A (zh) 一种基于预测的交换机pfc控制方法及控制系统
US20180091631A1 (en) Systems and methods for writing prioritized http/2 data to a socket buffer
CN101621532B (zh) 一种使用线程池实现超文本传输协议应用的方法
CN107547442A (zh) 数据传输缓存队列分配方法及装置
EP3820090B1 (en) System and method for providing distributed quality-of-service control and policy enforcement
CN107733813A (zh) 报文转发方法及装置
CN103368870B (zh) 集群存储网络并行负载的控制方法及系统
CN109802898A (zh) 多链路数据传输方法、接收装置及存储介质
CN111211996B (zh) 一种流调度方法
CN105763375B (zh) 一种数据包发送方法、接收方法及微波站
CN106533954A (zh) 一种报文调度方法和装置
CN107852372A (zh) 数据分组网络
CN110891027B (zh) 基于队列调度的命名数据网络传输控制方法、装置和设备
CN101027876A (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
ASS Succession or assignment of patent right

Owner name: CITRIX SYSTEMS INC

Free format text: FORMER OWNER: BYTEMOBILE INC.

Effective date: 20131225

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20131225

Address after: American Florida

Applicant after: Citrix Systems Inc

Address before: American California

Applicant before: Bytemobile Inc.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BYTEMOBILE INC.

Free format text: FORMER OWNER: CITRIX SYSTEMS INC

Effective date: 20150812

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150812

Address after: American Florida

Patentee after: Bytemobile Inc.

Address before: American Florida

Patentee before: Citrix Systems Inc

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160229

Address after: American Florida

Patentee after: Citrix Systems Inc

Address before: American Florida

Patentee before: Bytemobile Inc.