CN111683019B - 在通信设备中管理待发送的确认数据包 - Google Patents

在通信设备中管理待发送的确认数据包 Download PDF

Info

Publication number
CN111683019B
CN111683019B CN202010499102.8A CN202010499102A CN111683019B CN 111683019 B CN111683019 B CN 111683019B CN 202010499102 A CN202010499102 A CN 202010499102A CN 111683019 B CN111683019 B CN 111683019B
Authority
CN
China
Prior art keywords
tcp ack
queue
communication device
sent
packets
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
CN202010499102.8A
Other languages
English (en)
Other versions
CN111683019A (zh
Inventor
谢涛
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.)
Apple Inc
Original Assignee
Apple 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
Application filed by Apple Inc filed Critical Apple Inc
Priority to CN202010499102.8A priority Critical patent/CN111683019B/zh
Publication of CN111683019A publication Critical patent/CN111683019A/zh
Application granted granted Critical
Publication of CN111683019B publication Critical patent/CN111683019B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

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

Abstract

本发明涉及在通信设备中管理待发送的确认数据包,并具体提供了一种在通信设备中管理待发送的确认(ACK)数据包的方法。该方法可包括通信设备监测通过网络待发送的数据包的传输队列的状态;检测指示拥塞的队列状态,该拥塞使得传输队列中的待发送的一个或多个ACK数据包的发送延迟;以及响应于队列状况来丢弃来自传输队列的一组一个或多个ACK数据包。所丢弃的一组一个或多个ACK数据包可包括传输队列中的待发送的ACK数据包中的一个或多个最旧ACK数据包。在一组一个或多个ACK数据包已被丢弃之后,传输队列中的待发送的最新ACK数据包可仍然在传输队列中等待发送。

Description

在通信设备中管理待发送的确认数据包
本申请是申请日为2013年6月7日、题为“在通信设备中管理待发送的确认数据包”的发明专利申请201380077184.5的分案申请。
技术领域
所描述的实施例一般涉及通信技术,并且更具体地涉及在通信设备中管理待发送的确认(ACK)数据包。
背景技术
当两个计算设备通过网络进行通信时,第一设备可以发送数据至第二设备。第二设备可通过发送一个或多个ACK数据包至第一设备来确认成功地接收由第一设备发送的数据。例如,执行特定传输层协议(诸如传输控制协议(TCP))的设备和网络可使用ACK数据包作为流控制机制。就这一点而言,发送一系列数据包至第二设备的设备可被允许在接收确认成功地接收已发送的未确认数据包的ACK数据包之前,最多可发送预定义的最大数目的未确认数据包至第二设备。如果发送一系列数据包的发送设备已发送最大数量的未确认数据包,则发送设备必须停止发送一系列数据包中的另外的连续数据包,和/或重新发送一个或多个之前已发送的数据包,直到其从第二设备接收ACK。如此,如果第二设备发送ACK数据包以确认接收到由发送设备发送的数据包存在延迟,则可减少与发送设备的通信会话的吞吐量和往返时间(RTT),因为由发送设备发送数据包可被暂停。
在许多情况下,在网络上沿一个方向发送数据的可用带宽不同于沿另一方向发送数据的带宽。例如,在许多蜂窝通信系统中,可用的下行链路(DL)带宽通常显著高于可用的上行链路(UL)带宽,因为由移动终端从网络下载的数据量可远远高于由该移动终端上载到网络的数据。然而,有时UL带宽甚至不足以允许TCP ACK数据包的传输。如果当设备在发送TCP ACK数据包以确认DL上接收到的数据的同时正在向网络上载数据,则此情况可能恶化。由于UL上的这种拥塞,TCP设备的RTT可增加,并且DL吞吐量可被影响,因为DL上的数据包的发送可由于TCP ACK数据包的延迟传输而暂停。
发明内容
本文所公开的一些示例性实施例提供在通信设备中管理待发送的ACK数据包的方法。更具体地,根据一些示例性实施例的通信设备可被配置为响应于拥塞状况而丢弃传输队列中的待发送的一个或多个最旧ACK数据包。就这一点而言,根据此实施例,可避免在拥塞状况下发送较旧ACK数据包而使用带宽,因为较新的待发送的ACK数据包可被发送,该待发送的ACK数据包累积地确认接收到被已丢弃数据包确认的数据包,而无需等待发送已被丢弃的待发送的ACK数据包。因此,从确认接收到数据的减少的延迟,RTT可能减少且通信会话的吞吐量可能增加。
在第一实施例中,提供了无线通信设备。第一实施例的无线通信设备可包括通信接口和耦接到该通信接口的处理电路。通信接口可被配置为在上行链路上将数据发送至蜂窝网络,并在下行链路上从蜂窝网络接收数据。第一实施例的处理电路可被配置为控制无线通信设备以至少:监测上行链路上待发送的数据包的传输队列的状态;检测指示上行链路拥塞的队列状况,该上行链路拥塞使得发送传输队列中的待发送的多个TCP ACK数据包中的一个或多个TCP ACK数据包延迟;以及响应于所述队列状况,丢弃来自传输队列的多个TCP ACK数据包中的一组一个或多个TCP ACK数据包。所丢弃的一组一个或多个TCP ACK数据包可包括传输队列中的待发送的多个TCP ACK数据包的一个或多个最旧TCP ACK数据包。在一组一个或多个TCP ACK数据包已被丢弃之后,传输队列中的待发送的多个TCP ACK数据包中的最新TCP ACK数据包可在传输队列中保持待发送。
在第二实施例中,提供了用于在通信设备中管理待发送的ACK数据包的方法。第二实施例的方法可包括以下通信设备:用于监测通过网络待发送的数据包的传输队列的状态;检测指示上行链路拥塞的队列状况,该上行链路拥塞使得发送传输队列中的待发送的多个ACK数据包中的一个或多个ACK数据包延迟;以及响应于所述队列状况,丢弃来自传输队列的多个ACK数据包中的一组一个或多个ACK数据包。所丢弃的一组一个或多个ACK数据包可包括传输队列中的待发送的多个ACK数据包的一个或多个最旧ACK数据包。在该组一个或多个ACK数据包已被丢弃之后,传输队列中的待发送的多个ACK数据包中的最新ACK数据包可在传输队列中保持待发送。
在第三实施例中,提供了一种在通信设备中管理待发送的ACK数据包的计算机程序产品。第三实施例的计算机程序产品可包括在其上存储有程序代码的至少一个非暂态计算机可读存储介质。第三实施例的程序代码可包括:用于监测通过网络待发送的数据包的传输队列的状态的程序代码;用于检测指示拥塞的队列状况的程序代码,该拥塞使得发送传输队列中的待发送的多个ACK数据包中的一个或多个ACK数据包延迟;以及用于响应于所述队列状况,丢弃来自传输队列的多个ACK数据包中的一组一个或多个ACK数据包的程序代码。所丢弃的一组一个或多个ACK数据包可包括传输队列中的待发送的多个ACK数据包的一个或多个最旧ACK数据包。在该组一个或多个ACK数据包已被丢弃之后,传输队列中的待发送的多个ACK数据包中的最新ACK数据包可在传输队列中保持待发送。
在第四实施例中,提供了一种管理待发送的ACK数据包的装置。第四实施例的设备可包括:用于监测通过网络待发送的数据包的传输队列的状态的装置;用于检测指示拥塞的队列状况的装置,该拥塞使得发送传输队列中的待发送的多个ACK数据包中的一个或多个ACK数据包延迟;以及用于响应于所述队列状况,丢弃来自传输队列的多个ACK数据包中的一组一个或多个ACK数据包的装置。所丢弃的该组一个或多个ACK数据包可包括传输队列中的待发送的多个ACK数据包的一个或多个最旧ACK数据包。在该组一个或多个ACK数据包已被丢弃之后,传输队列中的待发送的多个ACK数据包中的最新ACK数据包可在传输队列中保持待发送。
提供所述发明内容仅仅是为了概述一些示例性实施例,以便提供对本公开的一些方面的基本了解。因此,应当理解,上文所述的示例性实施例仅为实例,且不应理解为以任何方式缩小本发明的范围或实质。根据在结合以举例的方式示出所描述的实施例的原理的附图的情况下进行的以下详细描述,其他实施例、方面和优点将变得显而易见。
附图说明
通过参考结合附图所作的以下描述可最佳地理解所述实施例及其优点。这些附图未必按比例绘制,并且决不会限制本领域的技术人员在不脱离所描述的实施例的实质和范围的前提下对所描述的实施例所作的在形式和细节方面的任何修改。
图1示出了根据一些示例性实施例的通信系统。
图2示出了示例性的TCP ACK数据包格式。
图3示出了根据一些示例性实施例的可在通信设备上实现的装置的框图。
图4A和图4B示出了根据一些示例性实施例对传输队列中的待发送的ACK数据包的管理。
图5示出了根据一些示例性实施例的用于管理待发送的ACK数据包的示例性方法的流程图。
图6示出了根据一些示例性实施例的用于管理待发送的ACK数据包的另一个示例性方法的流程图。
图7示出了根据一些示例性实施例的用于管理待发送的ACK数据包的又一个示例性方法的流程图。
具体实施方式
在许多通信系统中,接收数据的设备可通过发送ACK数据包至发送设备来确认接收到数据。然而,如果发送ACK数据包存在延迟,诸如可发生在拥塞状况下,则由发送设备发送额外数据可被暂停,同时发送设备在以下实例中等待接收ACK数据包:在此实例中发送设备已发送可允许的最大数量的未确认数据包。如此,发送ACK数据包的延迟可导致拥塞状况,该延迟导致不期望的RTT减少和吞吐量增加。
本文所公开的一些示例性实施例提供在通信设备中管理待发送的ACK数据包的系统、方法、装置和计算机程序产品,其可在导致发送传输队列中的待发送的ACK数据包延迟的拥塞状况下增加通信会话中的吞吐量并减少RTT。更具体地,一些示例性实施例可被配置为响应于拥塞状况,丢弃传输队列中的待发送的一个或多个最旧ACK数据包。就这一点而言,根据此类实施例,可以避免在拥塞状况下发送较旧ACK数据包而使用带宽,因为较新的待发送的ACK数据包可被发送,该待发送的ACK数据累积地确认接收到被已丢弃数据包确认的数据包,而无需等待发送已被丢弃的待发送的ACK数据包。因此,从在拥塞状况下确认接收到数据的减少的延迟,RTT可能减少且通信会话的吞吐量可能增加。
图1示出了根据一些示例性实施例的通信系统100。系统100可包括通信设备102,该通信设备可连接至网络104。通信设备102可实施为任何计算设备,该计算设备可被配置为连接至网络并通过该网络通信,诸如包括有线网络、无线网络、它们的某种组合等。以非限制性示例进行说明,通信设备102可实施为无线通信设备(例如,移动终端、蜂窝电话、智能手机、平板计算设备、膝上型电脑、台式计算机和/或包括被配置为支持通过无线网络通信的无线通信接口的其他计算设备)、膝上型电脑、台式计算机、服务器、网络电视、网络音频/视频接收器、联网家电和/或可被配置为连接至网络并通过该网络通信的任何其他设备。
网络104可实施为可支持两个联网设备之间(诸如通信设备102)通信的任何网络。例如,网络104可实施为有线网络(例如,以太网网络、有线局域网、光纤网络、可由电话/有线服务供应商维护的有线网络、或它们的某种组合等)、无线网络(例如,蜂窝网络、无线局域网、无线广域网、或它们的某种组合等)或它们的组合,且在一些示例性实施例中可包括互联网。
如此,应当理解通信设备102可经由多种链路和/或访问网络中的任一种连接至网络104。例如,在通信设备102实施为无线通信设备且网络104包括无线访问网络的实施例中,通信设备102可经由蜂窝基站、无线局域网接入点和/或其他无线网络接入点连接至网络104。又如,在通信设备102经由有线连接来连接至网络104的实施例中,通信设备102可经由以太网连接、电话线、缆线和/或可用于将通讯设备连接至网络的其他有线接口连接至网络104。
通信设备102可经由通信设备102和网络104之间的连接向网络104发送数据并从该网络接收数据。例如,交换的数据可通过网络104交换,网络104支持通信设备102和可经由网络104访问的另一联网设备之间的通信系统。
在一些示例性实施例中,通信设备102可从网络104接收(例如,下载)数据,如引用106所示。例如,接收到的数据可被分割成数据包,该数据包可通过分组交换网络发送。例如,数据可使用诸如TCP等的传输层协议发送。通信设备102可被配置为通过将确认发送(例如,ACK数据包)至网络104以确认成功接收到数据,如引用108所示。在接收到的数据被分割成数据包的一些示例性实施例中,该确认可确认已接收特定数据包。例如,数据包可由一系列数据包内的独特序列号和/或其他标识符来识别,数据包可在通信会话中被通信设备102接收,并且一个ACK可通过指示一个或多个成功接收的数据包序列号(和/或可用于识别数据包的其他标识符)来指示成功接收一个或多个此类数据包。
根据一些示例性实施例,通信设备102可被配置为响应于接收到的数据包来生成ACK数据包。通信设备102可进一步被配置为添加ACK数据包至一个传输队列,该传输队列可由通信设备102维护,以用于将数据包发送至网络104。一个ACK数据包可在传输队列中保持待发送(例如,排在之前已添加和/或具有更高优先级的任何数据包之后),直到轮到它被发送,此时ACK数据包可从传输队列中移除并发送至网络104。
在使用TCP的实施例中,由通信设备102生成和发送的ACK数据包可以是TCP ACK数据包,该数据包可根据图2所示的示例性TCP ACK数据包格式进行格式化。TCP ACK数据包可用于在接收侧端确认成功接收数据,而无需任何有效载荷。TCP ACK数据包标头中的控制信息可为时间要求严格的。然而,应当理解,对TCP的立即公开的引用以举例的方式且不是以限制的方式提供。就这一点而言,在讨论关于TCP的示例的情况下,其他传输层协议和/或其他合适的非传输层通信协议可用来在本公开的范围内补充或替代TCP。因此,应当理解,根据一些示例性实施例,可由通信设备102使用补充或替代TCP的协议来发送和接收数据。同样,在此类示例性实施例中,通信设备102可使用非TCP协议中使用的ACK数据包来确认接收到数据。因此,应当理解,关于TCP描述的实施例可经过必要的变更而施用于其他协议,该协议可使用ACK数据包以用于对网络通信会话进行流控制。
在一些示例性实施例中,诸如使用TCP的一些实施例中,可实施流控制机制,使得在接收到针对已发送数据的至少一部分的确认之前,网络104和/或经由网络104与通信设备102通信的设备可允许发送最大数量的数据(例如,最大数量的数据包)至通信设备102。在一些情况下,通信设备102和网络104之间的连接可拥塞,使得通信设备102的传输队列中待发送的一个或多个ACK数据包可被延迟。在此类拥塞情况下,通信设备102延迟确认接收到的数据可相应地延迟发送更多数据至通信设备102。
作为一个更特定的示例场景,在通信设备102实施为无线通信设备且连接至无线访问网络的一些示例性实施例中,DL上可用的带宽可高于UL上可用的带宽。此类场景在使用无线电接入技术(RAT)的一些蜂窝网络中可特别常见,诸如时分同步码分多址(TD-SCDMA)和增强数据速率全球移动通信系统(GSM)演进(EDGE)。例如,由于TD-SCDMA直播网络中未部署高速上行链路分组接入(HSUPA),最大UL数据速率可限制为每秒128千比特(kbps),同时DL可支持高达每秒1.5兆比特(Mbps)的数据速率。因此,尽管通信设备102可在DL上接收相对较大量的数据,但有限的UL带宽可导致拥塞状况,该拥塞状况可延迟由通信设备102对ACK数据包的传输。
正如本文下面所述,一些示例性实施例中的通信设备102可被配置为监测传输队列的状态,以检测指示拥塞的队列状况,诸如无线网络中的UL拥塞、有线网络中的拥塞和/或网络连接中的其他拥塞,该拥塞可导致发送传输队列中的待发送的一个或多个ACK数据包延迟。响应于检测到此类队列状况,一些此类示例性实施例的通信设备102可被配置为丢弃传输队列中的待发送的一个或多个最旧ACK包。然而,至少一个最新ACK数据包可留在传输队列中待发送,以便待发送至网络104以确认所接收的数据。就这一点而言,根据此类示例性实施例,丢弃一个或多个最旧ACK数据包之后,在传输队列中保持待发送的ACK数据包可被网络104和/或联网设备理解,其可以接收ACK数据包以累积地确认接收到被所丢弃的一个或多个ACK数据包确认的数据(例如,每个数据包)。因此,丢弃一个或多个最旧ACK数据包可减少在拥塞状况下发送待发送数据的数量,同时仍然可为所有已成功接收的数据提供确认,使得即使在拥塞状况下,也可继续和/或更快地恢复向通信设备102通信更多数据,从而为通信会话减少RTT并提高吞吐量。
图3示出了根据一些示例性实施例可在通信设备102上实现的装置300的框图。就这一点而言,当在计算设备(诸如无线通信设备102)上实现时,装置300可使计算设备能够根据一个或多个示例性实施例来管理通信设备中待发送的ACK数据包。应当理解,图3中所示以及下文相对于图3所述的部件、设备或元件可能不是必需的,并且因此在某些实施例中可省略一些。此外,一些实施例可包括超出图3中所示以及关于图3所述的那些之外的另外或不同的部件、设备或元件。
在一些示例性实施例中,装置300可包括处理电路310,该处理电路310可被配置为根据本文所公开的一个或多个示例性实施例来执行动作。就这一点而言,处理电路310可被配置为根据各种示例性实施例来执行和/或控制装置300的一个或多个功能性的执行,因此可提供用于根据各种示例性实施例执行装置300的功能性的装置。处理电路310可被配置为根据一个或多个示例性实施例来执行数据处理、应用执行和/或其他处理和管理服务。
在一些实施例中,装置300或其一个或多个部分或一个或多个部件诸如处理电路310可包括一个或多个芯片组,芯片组可各自包括一个或多个芯片。在一些情况下,装置300的处理电路310和/或一个或多个其他部件可因此被配置为在芯片组上实现该实施例。在一些将装置300的一个或多个部件实施为芯片组的示例性实施例中,芯片组能够使得计算设备在实现于计算设备上或以其他方式操作性地耦接到计算设备时工作于系统100中。
在一些示例性实施例中,处理电路310可包括处理器312,并且在一些实施例中,诸如在图3中所示的实施例中,还可包括存储器314。处理电路310可与通信接口316和/或传输队列管理器318通信或以其他方式控制通信接口316和/或传输队列管理器318。
处理器312可实施为多种形式。例如,处理器312可实施为各种基于硬件的处理装置,诸如微处理器、协处理器、控制器或包括集成电路的各种其他计算或处理设备,该集成电路诸如ASIC(应用专用集成电路)、FPGA(现场可编程门阵列)、它们的某种组合等等。尽管示出为单个处理器,但应当理解,处理器312可包括多个处理器。所述多个处理器可彼此操作性通信,并且可被共同地配置成执行如本文所述的装置300的和/或通信设备102的一个或多个功能性。在一些示例性实施例中,处理器312可被配置为执行可存储在存储器314中的或者可以其他方式可供处理器312访问的指令。例如,在一些示例性实施例中,处理器312可实施为通用计算处理器,该计算处理器可经由诸如总线耦合到内存314,并可被配置为通过执行内存314中存储的指令执行根据一个或多个示例性实施例的操作。因此,无论是由硬件或由硬件和软件的组合来配置,当被相应地配置时,处理器312能够根据各种实施例执行操作。
在一些示例性实施例中,存储器314可包括一个或多个存储器设备。存储器314可包括固定的存储器设备和/或可移除的存储器设备。在一些实施例中,存储器314可提供非暂态计算机可读存储介质,该非暂态计算机可读存储介质可存储可由处理器312执行的计算机程序指令。就这一点而言,存储器314可被配置为存储用于使得装置300能够根据一个或多个示例性实施例来执行各种功能的信息、数据、应用程序、指令等等。在一些实施例中,存储器314可经由一条或多条总线与处理器312、通信接口316或传输队列管理器318中的一者或多者通信以用于在装置300的部件之间传递信息。
装置300还可包括通信接口316。通信接口316可被配置为支持装置300和网络104之间的连接。就这一点而言,通信接口316可包括用于实现与其他设备和/或网络通信的一个或多个接口机构。例如,通信接口316可包括天线(或多根天线)并且支持硬件和/或软件以用于实现与无线通信网络(例如,蜂窝网络、Wi-Fi、WLAN等等)和/或通信调制解调器或其他硬件/软件通信,以用于支持经由电缆、数字用户线路(DSL)、USB、FireWire、以太网或其他有线联网方法的通信。在一些示例性实施例中,通信接口316可相应地被配置为向/从一个或多个远程设备和/或网络(诸如网络104)发送数据和/或接收数据。
装置300还可包括传输队列管理器318。传输队列管理器318可实施为各种装置,诸如电路、硬件、包括存储在计算机可读介质(例如,存储器314)上并由处理设备(例如,处理器312)执行的计算机可读程序指令的计算机程序产品,或者它们的某种组合。在一些实施例中,处理器312(或处理电路310)可包括或者以其他方式控制传输队列管理器318。
如前所述,通信设备102可被配置为响应于成功接收来自网络104的数据来生成ACK数据包,并将这些ACK数据包添加至传输队列中,该传输队列可由通信设备102维护,以用于等待将待发送数据包发送至网络104。因此,响应于成功收到一个或多个数据包,诸如TCP ACK数据包等ACK数据包可被生成并添加至传输队列。
一些示例性实施例中的传输队列管理器318可被配置为针对指示拥塞的队列状态的发生来监测传输队列的状态,通过非限制性实例诸如在与网络104的连接为无线连接的实例中的UL拥塞,该UL拥塞可导致发送传输队列中的待发送的一个或多个ACK数据包延迟。传输队列管理器318可被配置为使用多项技术中的任一项,单独或组合,以检测此类指示拥塞的队列状况的发生。
例如,在一些示例性实施例中,可对在传输队列中等待发送的ACK数据包的数量设置预定义的阈值极限。传输队列318可相应地被配置为监测传输队列中的待发送的ACK数据包的数量,且如果待发送的ACK数据包的数量达到预定义的阈值极限,则传输队列管理器318可被配置为检测指示拥塞的队列状况的发生,该拥塞使得发送传输队列中的待发送的一个或多个ACK数据包延迟。根据具体实施方案,阈值极限可设置为任何数量。在一些示例性实施例中,通过非限制性实例,阈值极限可设置为3。
又如,在一些实施例中,传输队列318可被配置为给传输队列中的待发送的一个或多个ACK数据包中的每一个来维持定时器。就这一点而言,响应于ACK数据包被添加至传输队列,传输队列管理器318可设定计时器。如果在被维持定时器的ACK数据包由通信设备102发送之前定时器截止,则传输队列管理器318可被配置为检测指示拥塞的队列状况的发生,该拥塞使得发送传输队列中的待发送的一个或多个ACK数据包延迟。根据具体实施方案,定时器的值可设置为任何值。在一些示例性实施例中,可为添加至传输队列的每个ACK数据包设定定时器。或者,在一些示例性实施例中,可为添加至传输队列的ACK数据包的子组设定定时器。
应当理解,传输队列管理器318可被配置为使用定时器补充或替代对传输队列中的待发送的ACK数据包的数量设定的阈值极限,以用于根据一些示例性实施例检测的指示拥塞的队列状况,该拥塞使得发送传输队列中的一个或多个待发送的ACK数据包延迟。此外,应当理解,传输队列管理器318可被配置为使用一种或多种其他技术补充或替代定时器和/或对传输队列中的待发送的ACK数据包的数量的阈值极限,以用于根据一些示例性实施例检测的指示拥塞的队列状况,该拥塞使得发送传输队列中的一个或多个ACK数据包延迟。
传输队列管理器318可进一步被配置为响应于检测到指示拥塞的队列状况,丢弃来自传输队列的一组一个或多个ACK数据包,该拥塞使得发送待发送的一个或多个ACK数据包延迟。所丢弃的该组一个或多个ACK数据包可包括传输队列中的待发送的一个或多个最旧ACK数据包。在该组一个或多个ACK数据包已被丢弃之后,至少一个最新ACK数据包可在传输队列中保持待发送。因此,当检测到指示拥塞的队列状况时,所丢弃的该组一个或多个ACK数据包可以是在传输队列中待发送的ACK数据包的合适子集。
例如,在一些实施例中,ACK数据包可通过一个时间戳值识别,诸如可以指示ACK数据包被生成和/或添加至传输队列中的时间。因此,根据一些示例性实施例,拥有最旧时间戳值的一个或多个ACK数据包可被丢弃,同时具有最新时间戳值的待发送的ACK数据包可在传输队列中保持待发送。
如另外的示例,ACK数据包可通过对应的数据包序列号识别,序列号由各自的ACK数据包确认。因此,传输队列中的待发送的一个最旧ACK数据包可通过确认由某一时刻传输队列中的ACK数据包确认的那些数据包中对应的最旧(例如,最早接收到的)数据包来识别。
如又一个示例,在一些示例性实施例中,最旧ACK数据包可根据传输数队列的结构来识别。例如,在一些示例性实施例中,传输队列可以是先进先出(FIFO)队列。为此,在某一时刻,最旧ACK数据包可以是队列中所有ACK数据包中排在第一的ACK数据包。
应当理解,只要至少有一个ACK数据包保持待发送,则可以丢弃任何数量的ACK数据包。作为一个非限制性实例,在可在传输队列中等待发送的ACK数据包数量的阈值极限被定义的一些示例性实施例中,可以丢弃n个最旧ACK数据包,其中n为足以将传输队列中的待发送的ACK数据包的总数减少至低于阈值极限的数量的ACK数据包数量。
又如,在一些示例性实施例中,可以丢弃除了最新m个待发送的ACK数据包之外的每个待发送的ACK数据包。在丢弃一个或多个ACK数据包之后传输队列中剩余m个最新待发送数据包的实施例中,m可以是任何限定数量(例如,1或更多)的数据包,并可根据具体实施方案而变化。例如,在一些实施例中,m可以是一个限定的数据包数量(例如,2或更多),以在传输中丢失ACK数据包的情况下提供冗余。例如,在一些示例性实施例中,传输队列中可以剩余3个ACK数据包,以允许通信设备102发送3个ACK以用于快速传输,并在传输中丢失一个或多个ACK数据包的情况下提供更高的稳健性。
丢弃一个ACK数据包之后,传输队列中保持待发送的至少一个ACK数据包可累积地被网络104和/或接收ACK数据包的设备理解(例如,由通信设备102确认的数据发送器),以确认接收到由被丢弃ACK数据包确认的数据。例如,在一些示例性实施例中,如果共同确认接收到数据包序列号[1…n-1]的ACK数据包从传输队列丢弃,并且确认接收到数据包序列号n的一个ACK数据包留在传输队列中,并最终被通信设备102发送,则确认接收到数据包序列号n的被发送ACK数据包可被一个实体理解,该实体接收所述ACK数据包以确认接收到数据包序列号[1…n]。又如,在一些示例性实施例中,ACK数据包可包括一次性明显地确认已成功接收的一系列数据包中的每个数据包。因此,为数据包序列号n生成的ACK数据包可以明显地确认接收到每个数据包序列号[1…n](假定每个所述数据包已成功接收)。因此,在此类示例性实施例中,如果响应于收到任何数据包序列号[1…n-1]而生成的ACK数据包响应于拥塞而被丢弃,则响应于接收到数据包序列号n而生成的ACK数据包可以用于确认接收到之前的数据包。
图4A和图4B示出了根据一些示例性实施例对传输队列中的待发送的ACK数据包的管理。在图4A的示例中,传输队列可以包含ACK1 402、ACK2 404、ACK3 406和ACK4 408,其中分别地ACK1 402为最旧ACK数据包,并且ACK4为最新ACK数据包。响应于检测到指示拥塞的使发送图4A中所示传输队列中的发送的一个或多个ACK数据包延迟的一种队列状况后,传输队列管理器318可被配置为丢弃一个或多个最旧ACK数据包(例如,ACK1 402、ACK2 404和ACK3 406中的一个或多个)。例如,如果除了两个最新ACK数据包(例如,ACK3 406和ACK4408)之外的每个ACK数据包都被丢弃,则传输队列可以只留有ACK3 406和ACK4 408待发送,如图4B所示。ACK3 406可被接收ACK数据包的实体理解,以便隐式或显式地确认接收到由被丢弃的ACK数据包ACK1 402和ACK2 404确认的所有数据。ACK4 408可被接收ACK数据包的实体理解,以便隐式或显式地确认接收到由被丢弃的ACK数据包ACK1 402、ACK2 404和ACK3406确认的所有数据,并可进一步在ACK3 406在传输中丢失的情况下提供冗余。
在一些示例性实施例中,传输队列318可被配置为基于每条链路(例如,每条TCP链路)管理待发送的ACK数据包。在一些示例性实施例中,可为每条相应的链路维持单独的传输队列。在此类示例性实施例中,传输队列318可针对指示拥塞的队列状况来监测每个相应的传输队列,并可单独管理传输队列中的待发送的ACK数据包。除此之外或另选地,在一些示例性实施例中,一个公用传输队列可用于两条或多条链路,且传输队列管理器318可被配置为单独管理与公用传输队列相关链路的待发送的ACK数据包。因此,例如,如果检测到指示拥塞的队列状况,传输队列管理器318可被配置为在响应于所述队列状况来丢弃一个或多个ACK数据包之后,为每条相应的链路留下至少一个ACK数据包在公用传输队列中待发送。
图5示出了根据一些示例性实施例的用于管理待发送的ACK数据包的示例性方法的流程图。就这一点而言,图6示出了可通过通信设备102执行的操作。处理电路310、处理器312、存储器314、通信接口316或传输队列管理器318中的一者或多者可例如提供用于执行关于图5所示出和描述的操作的装置。
操作500可包括通信设备102监测传输队列的状态。在操作510处,通信设备102可确定是否已检测到指示拥塞的队列状况,该拥塞使得发送传输队列中的待发送的一个或多个ACK数据包延迟。如果没有检测到此类队列状况,则通信设备102可返回至操作500,并继续监测传输队列的状态。然而,如果在操作510中检测到指示拥塞的队列状况,则所述方法可继续至操作520,该操作可包括通信设备102将来自传输队列的一组一个或多个ACK数据包丢弃。所丢弃的该组一个或多个ACK数据包可包括传输队列中的待发送的多个ACK数据包的一个或多个最旧ACK数据包。执行操作520之后,传输队列中的待发送的多个ACK数据包中的最新ACK数据包可在传输队列中保持待发送。
执行操作520之后,根据一些示例性实施例,该方法可返回至操作500。就这一点而言,对指示拥塞状况的传输队列的监测可例如持续通信会话的时间,在该持续时间中,通信设备102发送ACK数据包以确认接收到数据。
图6示出了根据一些示例性实施例的用于管理待发送的ACK数据包的另一个示例性方法的流程图。更具体地,图6示出了图5所示方法的一个实施例,其中可以对传输队列中待发送的ACK数据包数量限定阈值极限,并用于监测传输队列的状态,以检测拥塞。处理电路310、处理器312、存储器314、通信接口316或传输队列管理器318中的一者或多者可例如提供用于执行图6举例说明和描述的操作的装置。
操作600可包括通信设备102监测传输队列中的待发送的ACK数据包的数量。就这一点而言,操作600可对应于操作500的实施例。
操作610可包括通信设备102确定传输队列中的待发送的ACK数据包的数量是否达到预定义的阈值极限。就这一点而言,操作610可对应于510的实施例,其中传输队列中的待发送的ACK数据包的数量可用于确定是否存在延迟发送一个或多个ACK数据包的拥塞。如果传输队列中的待发送的ACK数据包的数量没有达到预定义的极限,则通信设备102可返回至操作600,并继续监测传输队列中的待发送的ACK数据包的数量。
然而,如果在操作610中确定传输队列中的待发送的ACK数据包的数量已达到预定义的阈值极限,则所述方法可继续至操作620,该操作可包括通信设备102将来自传输队列的一组一个或多个ACK数据包丢弃。所丢弃的该组一个或多个ACK数据包可包括传输队列中的待发送的多个ACK数据包的一个或多个最旧ACK数据包。在执行操作620之后,传输队列中的待发送的多个ACK数据包中的最新ACK数据包可在传输队列中保持待发送。
在执行操作620之后,根据一些示例性实施例,该方法可返回至操作600。就这一点而言,对指示拥塞状况的传输队列的监测可持续通信会话的时间,在该持续时间中,通信设备102发送ACK数据包以确认接收到数据。
图7示出了根据一些示例性实施例的用于管理待发送的ACK数据包的再一个示例性方法的流程图。更具体地,图7示出了图5的方法的实施例,其中可以设定一个或多个定时器,并用于监测传输队列的状态,以检测拥塞。处理电路310、处理器312、存储器314、通信接口316或传输队列管理器318中的一者或多者可例如提供用于执行关于图7举例说明和描述的操作的装置。
操作700可包括通信设备102添加ACK数据包至传输队列。操作710可包括响应于操作700中ACK数据包被添加至传输队列,通信设备102启动计时器。就这一点而言,操作710可对应于操作500的实施例,其中可使用定时器监测传输队列的状态。在一些示例性实施例中,可为添加至传输队列的每个ACK数据包设置定时器。或者,在一些实施例中,可为添加至传输队列的ACK数据包的子组设置定时器。
操作720可包括通信设备102确定定时器在操作700中被添加到传输队列中的ACK数据包被发送之前是否截止。就这一点而言,操作720可对应于510的实施例,其中一个定时器在对应的ACK数据包被发送前截止可被视为指示发送ACK数据包延迟的拥塞的队列状况。如果定时器未截止和/或如果ACK数据包在定时器截止之前被发送,则通信设备102可返回至方法的开始,并可从操作700重新开始(如果有新的ACK数据包被添加至传输队列)。
然而,如果在操作720中确定定时器在ACK数据包被发送之前已经截止,则所述方法可继续至操作730,该操作可包括通信设备102将来自传输队列的一组一个或多个ACK数据包丢弃。所丢弃的该组一个或多个ACK数据包可包括传输队列中的待发送的多个ACK数据包的一个或多个最旧ACK数据包。在执行操作730之后,传输队列中的待发送的多个ACK数据包中的最新ACK数据包可在传输队列中保持待发送。
在执行操作730之后,根据一些示例性实施例,该方法可返回至开始。就这一点而言,该方法可继续被执行,并持续通信会话的时间,在该持续时间中,通信设备102发送ACK数据包以确认接收到数据。
在一些示例性实施例中,在图6的方法和图7的方法中执行的技术可同时执行。就这一点而言,一些示例性实施例可同时使用传输队列中ACK数据包数量的阈值极限以及一个或多个定时器,以检测拥塞并管理传输队列中的待发送的ACK数据包。
在一些示例性实施例中,可以根据由通信设备102连接至网络104所使用的网络连接的特性,选择性地施用本文所公开的管理待发送的ACK数据包的技术(诸如关于图5-7举例说明和描述的方法)。例如,在一些实施例中,如果从网络104接收数据的可用带宽和向网络104发送数据的可用带宽之间存在失衡,使得向网络104发送数据的可用带宽低于从网络104接收数据的可用带宽,则可以施用一种或多种关于图5-7举例说明和描述的方法。例如,在通信设备104连接至蜂窝或其他无线网络且UL带宽低于DL带宽的实例中,根据上述一个或多个实施例,通信设备102可针对指示拥塞的队列状况监测传输队列,并可在检测到此类状况时选择性地丢弃待发送的一个或多个ACK数据包。然而,如果UL带宽与DL带宽相同,或者至少确定UL带宽足以发送ACK数据包和上载到网络的任何其他数据,且不会遭受拥塞,则一些此类示例性实施例中的通信设备102可以不执行本文公开的监测传输队列的状态和管理待发送的ACK数据包的一种或多个方法。
相似地,在一些示例性实施例中,根据通信设备102和网络104之间的连接所使用的网络访问技术通信,设备102可被配置为选择性地施用本发明所公开的技术,以用于监测传输队列的状态和管理待发送的ACK数据包。例如,在一些实施例中,如果通信设备102经由一个蜂窝RAT连接至网络104,诸如TD-SCDMA或EDGE,它们提供的UL通信可用带宽显著地低于DL通信,则通信设备102可被配置为施用本发明所公开的一种或多种技术来监测传输队列状态和管理待发送的ACK数据包,诸如关于图5-7举例说明和描述的一种或多种方法。然而,如果通信设备102经由蜂窝RAT连接至网络104,诸如长期演进(LTE),其为UL通信提供足够的带宽,则通信设备102可不执行本发明所公开的用于监测传输队列状态和管理待发送的ACK数据包的一种或多种技术。
可单独地或以任何组合方式来使用所述实施例的各方面、实施例、具体实施或特征。可由软件、硬件或硬件与软件的组合来实现所述实施例的各个方面。所述实施例还可被实施为计算机可读介质上的用于控制生产操作的计算机可读代码,或者被实施为计算机可读介质上的用于控制生产线的计算机可读代码。计算机可读介质为可存储数据的任何数据存储设备,所述数据其后可由计算机系统读取。计算机可读介质的实例包括只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带和光学数据存储设备。计算机可读介质还可分布在网络耦接的计算机系统上使得计算机可读代码以分布式方式来存储和执行。
在前面的详细描述中,参考了形成说明书一部分的附图,并且在附图中以举例说明的方式示出了根据所述实施例的具体实施例。尽管足够详细地描述了这些实施例以使得本领域的技术人员能够实践所述实施例,但应当理解,这些实例不是限制性的,从而可以使用其它实施例并且可在不脱离所述实施例的实质和范围的情况下作出修改。
此外,上面的描述为了进行解释的目的使用了特定命名来提供对所述实施例的彻底理解。然而,对于本领域的技术人员而言将显而易见的是,为了实践所述实施例不需要这些具体细节。因此,对特定实施例的上述描述是出于举例说明和描述的目的而呈现的。提供相对于上述描述中所呈现的实施例而公开的描述和实例仅仅是为了添加上下文以及有助于对所述实施例的理解。这些描述不旨在被认为是穷举性的或将所述的实施例限制为所公开的精确形式。对于本领域的普通技术人员而言将显而易见的是,根据上述教导内容,许多修改、替代应用、和变型是可能的。对此,本领域的技术人员将很容易理解,可在没有这些具体细节中的一些或全部的情况下实践所述实施例。此外,在一些情况下,为了避免不必要地模糊所述实施例,未详细描述熟知的处理步骤。

Claims (21)

1.一种无线通信设备,包括:
通信接口,所述通信接口被配置为通过上行链路将数据发送至网络以及通过下行链路从所述网络接收数据;和
处理电路,所述处理电路耦接至所述通信接口,所述处理电路被配置为控制所述无线通信设备以至少进行以下操作:
监测公用传输队列的状态,所述公用传输队列包括要通过多个数据链路被发送到所述网络的传输控制协议确认TCP ACK数据包,其中所述多个数据链路中的至少一个数据链路包括所述上行链路,并且监测所述状态至少包括:
将特定TCP ACK数据包添加到所述公用传输队列中的待发送的TCP ACK数据包;
为所述公用传输队列中的待发送的TCP ACK数据包维持至少一个定时器,以及
设定所述至少一个定时器中的用于所述特定TCP ACK数据包的定时器;以及
响应于检测到指示用于所述特定TCP ACK数据包的所述定时器在所述特定TCP ACK数据包被发送到所述网络之前截止的队列状况,进行以下操作:
从所述公用传输队列丢弃至少一个TCP ACK数据包;以及
在从所述公用传输队列丢弃所述至少一个TCP ACK数据包之后,为所述多个数据链路中的每个相应数据链路留下所述公用传输队列中的待发送的TCP ACK数据包当中的最新TCP ACK数据包。
2.根据权利要求1所述的无线通信设备,其中所述处理电路被进一步配置为控制所述无线通信设备以进行以下操作:
至少部分地通过监测所述公用传输队列中的待发送的TCP ACK数据包的数量来监测所述公用传输队列的所述状态;以及
当所述公用传输队列中的待发送的TCP ACK数据包的数量达到预定义的阈值极限时,检测到指示上行链路拥塞的所述队列状况。
3.根据权利要求1至2中任一项所述的无线通信设备,其中所述最新TCP ACK数据包累积地确认接收到被丢弃了的所述至少一个TCPACK数据包。
4.根据权利要求1至2中任一项所述的无线通信设备,其中,响应于检测到所述队列状况,所述公用传输队列中的待发送的所述最新TCP ACK数据包不被丢弃。
5.根据权利要求1至2中任一项所述的无线通信设备,其中所述网络为无线网络。
6.根据权利要求5所述的无线通信设备,其中所述无线通信设备和所述无线网络之间的下行链路连接上的可用带宽大于所述无线通信设备和所述无线网络之间的上行链路连接上的可用带宽。
7.根据权利要求1至2中任一项所述的无线通信设备,其中所述无线通信设备是移动终端、蜂窝电话、智能手机、平板计算设备、膝上型电脑或台式计算机中的一者。
8.一种无线通信设备,包括:
用于通过上行链路将数据发送至网络以及通过下行链路从所述网络接收数据的部件;
用于监测公用传输队列的状态的部件,所述公用传输队列包括要通过多个数据链路发送到所述网络的传输控制协议确认TCP ACK数据包,其中所述多个数据链路中的至少一个数据链路包括所述上行链路,并且监测所述状态至少包括:
将特定TCP ACK数据包添加到所述公用传输队列中的待发送的TCP ACK数据包,
为所述公用传输队列中的待发送的TCP ACK数据包维持至少一个定时器,以及
设定所述至少一个定时器中的用于所述特定TCP ACK数据包的定时器;以及
用于响应于检测到指示用于所述特定TCP ACK数据包的所述定时器在所述特定TCPACK数据包被发送到所述网络之前截止的队列状况而进行以下操作的部件:
从所述公用传输队列丢弃至少一个TCP ACK数据包;以及
在从所述公用传输队列丢弃所述至少一个TCP ACK数据包之后,为所述多个数据链路中的每个相应数据链路留下所述公用传输队列中的待发送的TCP ACK数据包当中的最新TCP ACK数据包。
9.根据权利要求8所述的无线通信设备,还包括:
用于至少部分地通过监测所述公用传输队列中的待发送的TCPACK数据包的数量来监测所述公用传输队列的所述状态的部件;以及
用于当所述公用传输队列中的待发送的TCP ACK数据包的数量达到预定义的阈值极限时,检测到指示上行链路拥塞的所述队列状况的部件。
10.根据权利要求8至9中任一项所述的无线通信设备,其中所述最新TCP ACK数据包累积地确认接收到被丢弃了的所述至少一个TCPACK数据包。
11.根据权利要求8至9中任一项所述的无线通信设备,其中响应于检测到所述队列状况,所述公用传输队列中的待发送的所述最新TCPACK数据包不被丢弃。
12.根据权利要求8至9中任一项所述的无线通信设备,其中所述网络为无线网络。
13.根据权利要求12所述的无线通信设备,其中所述无线通信设备和所述无线网络之间的下行链路连接上的可用带宽大于所述无线通信设备和所述无线网络之间的上行链路连接上的可用带宽。
14.根据权利要求8至9中任一项所述的无线通信设备,其中所述无线通信设备是移动终端、蜂窝电话、智能手机、平板计算设备、膝上型电脑或台式计算机中的一者。
15.一种由无线通信设备执行的方法,所述无线通信设备被配置为通过上行链路将数据发送至网络以及通过下行链路从所述网络接收数据,所述方法包括:
监测公用传输队列的状态,所述公用传输队列包括要通过多个数据链路被发送到所述网络的传输控制协议确认TCP ACK数据包,其中所述多个数据链路中的至少一个数据链路包括所述上行链路,并且监测所述状态至少包括:
将特定TCP ACK数据包添加到所述公用传输队列中的待发送的TCP ACK数据包;
为所述公用传输队列中的待发送的TCP ACK数据包维持至少一个定时器,以及
设定所述至少一个定时器中的用于所述特定TCP ACK数据包的定时器;以及
响应于检测到指示用于所述特定TCP ACK数据包的所述定时器在所述特定TCP ACK数据包被发送到所述网络之前截止的队列状况,进行以下操作:
从所述公用传输队列丢弃至少一个TCP ACK数据包;以及
在从所述公用传输队列丢弃所述至少一个TCP ACK数据包之后,为所述多个数据链路中的每个相应数据链路留下所述公用传输队列中的待发送的TCP ACK数据包当中的最新TCP ACK数据包。
16.根据权利要求15所述的方法,还包括:
至少部分地通过监测所述公用传输队列中的待发送的TCP ACK数据包的数量来监测所述公用传输队列的所述状态;以及
当所述公用传输队列中的待发送的TCP ACK数据包的数量达到预定义的阈值极限时,检测到指示上行链路拥塞的所述队列状况。
17.根据权利要求15至16中任一项所述的方法,其中所述最新TCPACK数据包累积地确认接收到被丢弃了的所述至少一个TCP ACK数据包。
18.根据权利要求15至16中任一项所述的方法,其中,响应于检测到所述队列状况,所述公用传输队列中的待发送的所述最新TCP ACK数据包不被丢弃。
19.根据权利要求15至16中任一项所述的方法,其中,所述网络为无线网络。
20.根据权利要求19所述的方法,其中所述无线通信设备和所述无线网络之间的下行链路连接上的可用带宽大于所述无线通信设备和所述无线网络之间的上行链路连接上的可用带宽。
21.根据权利要求15至16中任一项所述的方法,其中,所述无线通信设备是移动终端、蜂窝电话、智能手机、平板计算设备、膝上型电脑或台式计算机中的一者。
CN202010499102.8A 2013-06-07 2013-06-07 在通信设备中管理待发送的确认数据包 Active CN111683019B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010499102.8A CN111683019B (zh) 2013-06-07 2013-06-07 在通信设备中管理待发送的确认数据包

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010499102.8A CN111683019B (zh) 2013-06-07 2013-06-07 在通信设备中管理待发送的确认数据包
CN201380077184.5A CN105264843B (zh) 2013-06-07 2013-06-07 在通信设备中管理待发送的确认数据包
PCT/CN2013/076929 WO2014194515A1 (en) 2013-06-07 2013-06-07 Managing pending acknowledgement packets in a communication device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380077184.5A Division CN105264843B (zh) 2013-06-07 2013-06-07 在通信设备中管理待发送的确认数据包

Publications (2)

Publication Number Publication Date
CN111683019A CN111683019A (zh) 2020-09-18
CN111683019B true CN111683019B (zh) 2023-08-29

Family

ID=52007432

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010499102.8A Active CN111683019B (zh) 2013-06-07 2013-06-07 在通信设备中管理待发送的确认数据包
CN201380077184.5A Active CN105264843B (zh) 2013-06-07 2013-06-07 在通信设备中管理待发送的确认数据包

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201380077184.5A Active CN105264843B (zh) 2013-06-07 2013-06-07 在通信设备中管理待发送的确认数据包

Country Status (4)

Country Link
US (1) US10021688B2 (zh)
CN (2) CN111683019B (zh)
DE (1) DE112013007142T5 (zh)
WO (1) WO2014194515A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111683019B (zh) * 2013-06-07 2023-08-29 苹果公司 在通信设备中管理待发送的确认数据包
US9986460B1 (en) * 2015-05-01 2018-05-29 Sprint Spectrum L.P. Adjusting acknowledgment transmissions based on carrier aggregation
CN105187949B (zh) * 2015-08-21 2019-06-25 广州市百果园网络科技有限公司 一种视频的传输方法及客户端
US11019500B2 (en) * 2015-09-11 2021-05-25 Apple Inc. Apparatus for determining an estimated number of bytes to send over a link
CN105721333B (zh) * 2016-01-21 2019-02-15 全时云商务服务股份有限公司 一种数据传输装置及方法
CN106911485B (zh) * 2017-03-16 2020-09-15 恒生电子股份有限公司 用于可靠组播传输数据的方法及设备
KR102356912B1 (ko) * 2017-06-16 2022-01-28 삼성전자 주식회사 통신 시스템에서 tcp ack 전송 방법 및 장치
CN109428682B (zh) * 2017-08-23 2021-06-29 北京国双科技有限公司 一种消息处理确认方法及装置
CN107786307A (zh) * 2017-09-21 2018-03-09 上海华为技术有限公司 一种数据处理方法及终端
KR102652451B1 (ko) * 2018-01-29 2024-04-01 코닌클리케 필립스 엔.브이. 블루투스 기반 ipv6 저전력 네트워킹
WO2019220517A1 (ja) * 2018-05-14 2019-11-21 富士通株式会社 基地局装置、端末装置、及び通信方法
CN110519113A (zh) * 2018-05-22 2019-11-29 深信服科技股份有限公司 一种远程虚拟桌面图像帧控方法、系统、设备及存储介质
FR3089742A1 (fr) * 2018-12-10 2020-06-12 Orange Terminal pouvant être connecté simultanément à plusieurs réseaux d’accès, procédé de sélection d’un réseau d’accès par le terminal, dispositif et procédé de fourniture d’informations caractéristiques d’un réseau d’accès.
US20220086851A1 (en) * 2020-09-11 2022-03-17 Qualcomm Incorporated Limit for retransmission of dropped feedback
CN114157399B (zh) * 2021-06-16 2023-07-14 北京天德科技有限公司 一种tcp反馈包ack包的优化方法、装置以及系统
CN116261848A (zh) 2021-09-02 2023-06-13 苹果公司 用于新无线电的无线电链路控制累积模式
US20230221961A1 (en) * 2022-01-10 2023-07-13 Cisco Technology, Inc. Remote front-drop for recovery after pipeline stall
CN115001541B (zh) * 2022-06-21 2023-05-05 美的集团股份有限公司 数据传输方法、装置、电子设备、存储介质和产品

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5961605A (en) * 1997-02-06 1999-10-05 Gte Laboratories Incorporated Method and apparatus for acknowledging TCP data packets
CN1344456A (zh) * 1998-10-07 2002-04-10 诺基亚网络公司 用于tcp连接的增强确认定步设备和方法
CN1349333A (zh) * 2000-06-29 2002-05-15 朗迅科技公司 用于在网络通信系统中发送数据分组的纠错通信方法
US6424626B1 (en) * 1999-10-29 2002-07-23 Hubbell Incorporated Method and system for discarding and regenerating acknowledgment packets in ADSL communications
CN101682627A (zh) * 2007-05-25 2010-03-24 施克莱无线公司 用于网络装置的缓冲控制的方法
CN101816153A (zh) * 2007-09-20 2010-08-25 Lm爱立信电话有限公司 增强的数据链路利用
WO2012066824A1 (ja) * 2010-11-16 2012-05-24 株式会社日立製作所 通信装置および通信システム
CN103001751A (zh) * 2012-12-18 2013-03-27 华中科技大学 一种lte-wlan异构无线网络系统中的跨层arq方法
CN105264843B (zh) * 2013-06-07 2020-06-05 苹果公司 在通信设备中管理待发送的确认数据包

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315515B2 (en) * 2003-09-30 2008-01-01 Conexant Systems, Inc. TCP acceleration system
US7782817B2 (en) * 2005-11-04 2010-08-24 Intel Corporation Systems and techniques for improved data throughput in a wireless network
US7746901B2 (en) * 2006-12-14 2010-06-29 Oracle America, Inc. Method and system for offloaded transport layer protocol switching
CN102006283B (zh) * 2010-10-21 2013-07-17 意法·爱立信半导体(北京)有限公司 数据传输的方法和装置
JP2012134907A (ja) * 2010-12-24 2012-07-12 Nippon Hoso Kyokai <Nhk> Tcp転送装置およびそのプログラム
CN102413503B (zh) * 2011-12-27 2014-06-25 上海海事大学 一种用于准TCP,即Semi-TCP的自适应确认分组延迟发送的方法
US9386128B2 (en) * 2012-03-23 2016-07-05 Qualcomm Incorporated Delay based active queue management for uplink traffic in user equipment
CN102970118B (zh) * 2012-12-04 2015-06-17 福建星网锐捷网络有限公司 一种tcp ack报文处理方法、装置及无线网络设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5961605A (en) * 1997-02-06 1999-10-05 Gte Laboratories Incorporated Method and apparatus for acknowledging TCP data packets
CN1344456A (zh) * 1998-10-07 2002-04-10 诺基亚网络公司 用于tcp连接的增强确认定步设备和方法
US6424626B1 (en) * 1999-10-29 2002-07-23 Hubbell Incorporated Method and system for discarding and regenerating acknowledgment packets in ADSL communications
CN1421079A (zh) * 1999-10-29 2003-05-28 Eci电信公司 在adsl通信中用于丢弃和再生确认分组的方法和系统
CN1349333A (zh) * 2000-06-29 2002-05-15 朗迅科技公司 用于在网络通信系统中发送数据分组的纠错通信方法
CN101682627A (zh) * 2007-05-25 2010-03-24 施克莱无线公司 用于网络装置的缓冲控制的方法
CN101816153A (zh) * 2007-09-20 2010-08-25 Lm爱立信电话有限公司 增强的数据链路利用
WO2012066824A1 (ja) * 2010-11-16 2012-05-24 株式会社日立製作所 通信装置および通信システム
CN103001751A (zh) * 2012-12-18 2013-03-27 华中科技大学 一种lte-wlan异构无线网络系统中的跨层arq方法
CN105264843B (zh) * 2013-06-07 2020-06-05 苹果公司 在通信设备中管理待发送的确认数据包

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Web流语义感知的改进队列管理算法;赵东平等;《西安交通大学学报》;20061020(第10期);全文 *

Also Published As

Publication number Publication date
CN105264843B (zh) 2020-06-05
DE112013007142T5 (de) 2016-04-14
US10021688B2 (en) 2018-07-10
WO2014194515A1 (en) 2014-12-11
CN105264843A (zh) 2016-01-20
CN111683019A (zh) 2020-09-18
US20160302197A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
CN111683019B (zh) 在通信设备中管理待发送的确认数据包
US10795745B2 (en) Dynamic and adaptive approach for failure detection of node in a cluster
US11432223B2 (en) Methods and apparatuses for selecting a first base station or a second base station to transmit a packet data unit (PDU) to a user equipment (UE)
WO2017050216A1 (zh) 一种报文传输方法及用户设备
US7898958B2 (en) Communication system
EP3528409B1 (en) Method and system for improving wireless link efficiency
JP5867188B2 (ja) 情報処理装置、輻輳制御方法および輻輳制御プログラム
US10111130B2 (en) Supporting delivery of data packets using transmission control protocol in a wireless communication network
US20150304226A1 (en) Communication device, transmission data output control method, and program for same
CN107534890B (zh) 适应性tti调整的方法以及用户设备
WO2017168040A1 (en) Expediting repetition of an unanswered poll for automatic repeat request (arq) feedback
WO2017107148A1 (zh) 一种数据传输方法及网络侧设备
US11405148B2 (en) Communication system, communication device, method, and recording medium of program
US10439945B2 (en) Single stream aggregation protocol
US9544249B2 (en) Apparatus and method for aligning order of received packets
US9444604B2 (en) Communication system, communication method and data receiving terminal
US9385931B1 (en) Determining a reordering timer
WO2015127759A1 (zh) 一种数据拥塞的处理方法及装置
JP6973511B2 (ja) 通信装置、通信システム、通信方法及びプログラム
EP2890179B1 (en) Method, apparatus and computer program for data transfer
EP3613164B1 (en) Device and method for monitoring a tcp connection
WO2017051860A1 (ja) データ通信装置、データ通信制御方法及びプログラム
WO2013102310A1 (zh) 数据处理的方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant