CN105164960A - 通过组合调步和前向纠错来降低重传时延 - Google Patents

通过组合调步和前向纠错来降低重传时延 Download PDF

Info

Publication number
CN105164960A
CN105164960A CN201480021186.7A CN201480021186A CN105164960A CN 105164960 A CN105164960 A CN 105164960A CN 201480021186 A CN201480021186 A CN 201480021186A CN 105164960 A CN105164960 A CN 105164960A
Authority
CN
China
Prior art keywords
grouping
packet
transmission interval
described multiple
packet transmission
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.)
Pending
Application number
CN201480021186.7A
Other languages
English (en)
Inventor
詹姆斯·A·罗斯肯德
拉曼·滕内蒂
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN105164960A publication Critical patent/CN105164960A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

一种用于降低重传时延的计算机实现的方法,包括步骤:为多个数据分组确定分组传输间隔;为所述多个分组确定冗余纠错信息;对所述多个分组到接受者的传输进行调步,其中所述多个分组的每一个基于所述分组传输间隔而被按照时间分隔。在某些方面中,所述方法进一步包括步骤:一旦所述多个分组中的每一个被传送,则将所述冗余纠错信息传送给所述接受者。此外还提供系统和计算机可读介质。

Description

通过组合调步和前向纠错来降低重传时延
技术领域
所公开的主题提供用于降低在网络上传送的数据分组的重传时延的方法和系统。更具体而言,本主题公开提供通过实现分组调步(“调步”)与前向纠错(FEC)的组合来降低重传时延的方法。
背景技术
在一些网络系统中,分组时延有两个主要原因:由于带宽限制所致的时延串行时延、由于分组丢失所致的重传时延。随着网络传输速度增加,来自串行时延的延迟贡献减少。因此,重传时延逐渐成为网络延迟的主要贡献者。
发明内容
所公开的主题涉及用于降低重传时延的计算机实现的方法,包括为多个数据分组确定分组传输间隔;为所述多个分组确定冗余纠错信息;对所述多个分组到接受者的传输进行调步,其中所述多个分组中的每一个基于所述分组传输间隔而被按照时间分隔。在某些方面中,所述方法可进一步包括:一旦所述多个分组中的每一个被传送,则将所述冗余纠错信息传送给所述接受者。此外,所公开的主题涉及用于降低重传时延的系统,包括一个或多个处理器;以及包括其中所存储的指令的计算机可读介质,所述指令当由所述处理器执行时,使得所述处理器进行包括以下的操作:为多个数据分组确定分组传输间隔,基于对所述多个数据分组的XOR求和为所述多个分组确定冗余纠错信息,对所述多个分组到接受者的传输进行调步,其中所述多个分组中的每一个基于所述分组传输间隔而被按照时间分隔。在某些方面中,所述处理器可以进一步执行操作:一旦所述多个分组中的每一个被传送则将所述冗余纠错信息传送给所述接受者。在另一个方面中,本主题技术涉及一种包括其中所存储的指令的计算机可读存储介质,所述指令当由处理器执行时,使得所述处理器执行包括以下的操作:为多个数据分组确定分组传输间隔,为所述多个分组确定冗余纠错信息,对所述多个分组到接受者的传输进行调步,其中所述多个分组中的每一个基于所述分组传输间隔而被按照时间分隔。在某些方面中,所述处理器可以进一步执行操作:一旦所述多个分组的每一个被传送则将所述冗余纠错信息传送给所述接受者。应当理解,根据以下具体实施方式,本主题技术的其他配置将变得显而易见,其中以说明的方式示出并描述本主题技术的各种配置。如将要实现的,本主题技术能够有其他和不同的配置,并且它的一些细节能够以各种其他方面进行修改,皆不脱离本主题技术的范围。因此,附图和具体实施方式应视为说明性而非限制性。
附图说明
在所附权利要求中陈述本主题技术的某些特征。但是,所包括的提供进一步理解的附图图示了所公开的方面,并连同描述一起用于解释本主题技术的原理。在附图中:
图1图示了根据本主题公开的某些方面的在其中会出现重传分组丢失的网络系统的框图。
图2图示了根据本主题公开的某些方面的在其中实现调步(pacing)和前向纠错的网络系统的框图。
图3图示了根据本主题公开的某些方面的用于实现调步和前向纠错的示例过程。
图4图示了可用于实现本主题技术的一些方面的示例网络系统。
图5图示了电子系统的示例,通过所述电子系统可以实现本主题技术的一些方面。
具体实施方式
下面阐述的具体实施方式旨在作为本主题技术的各种配置的描述,并非旨在表示可以实践本主题技术的唯一配置。附图合并于此并构成具体实施方式的一部分。具体实施方式包括为了提供对本主题技术的更透彻理解的特定细节。但是显然,本主题技术不限于这里阐述的特定细节,并且可以在没有这些特定细节的情况下实践本主题技术。在一些情况下,以框图形式示出结构和组件以便避免混淆本主题技术的概念。
图1概念性地图示了在其中出现重传分组丢失的网络系统100的框图。网络系统100包括具有发送器缓冲器103的发送器102、具有中介缓冲器105的中介104、以及接收器106。
发送器102、中介104和/或接收器106可以表示被配置为经由通信网络(诸如互联网)发送和/或接收数据分组的各种类型装置。虽然图1的示例将网络系统100图示为只包括三个装置(例如,发送器102、中介104和接收器106),但是应当理解,在网络系统100中可以包括更多数量的装置。例如,多个装置(例如,路由器、交换机、服务器、个人计算机和/或移动装置)可以被包括在网络系统100中和/或存在于发送器102与接收器106之间的通信路径上。
如图所示,自发送器102发送的数据分组(例如,分组A、分组B和分组C)被中介104接收,并被传送给接收器106。在某些实施方式中,在被传送给接收器106之前,数据分组临时存储在发送器缓冲器103中。在路由到接收器106的途中,分组被中介104接收并被临时存储在中介缓冲器105中。如所示,在发送器缓冲器103中存在附加的存储器空间,但是中介缓冲器105已经达到最高填充水平并且不能接受附加数据。因此,不能存储在中介缓冲器105中的由中介104所接收的数据分组被丢弃。作为示例,分组A被成功存储在中介缓冲器105中并由中介104传送给接收器106;但是,分组B和分组C(超出中介缓冲器105的当前容量)被丢弃。因此,所丢弃的分组(例如,分组B和分组C)需要由发送器102重传给接收器106。
与分组B和C的重传相关联的延迟被称为“重传延迟”。在某些方面中,中介104丢弃分组B的可能性与丢弃分组C的可能性相关。例如,如果在分组B到达时中介缓冲器105是满的,则在分组C到达时,存在更大的可能性中介缓冲器105仍然是满的(随后片刻)。在这种情况下,将分组丢失可能性(如同在分组B与分组C之间)称为“相关”。
如上所述,在向接受者提供可用于重构丢失分组(例如,分组B和C)的冗余纠错信息的情况下,通过使用前向纠错(FEC)技术有时候可以减少与分组丢失相关联的延迟。作为示例,通过适当的纠错信息,接收器106可以重构分组B和分组C的内容,从而避免重传的需要。但是在某些实施方式中,当分组丢失高度相关时FEC技术不太有效,因为在出现分组丢失的情况下丢失纠错信息的可能性也加大。例如,分组C的丢失将指示,丢失跟随分组C从发送器102发送给接收器106的FEC信息的可能性增加。
在一些情况下,通过将分组传输去相关可以减轻与相关分组丢失相关联的延迟(delay)。将分组传输去相关的一种方法是,调步对分组传输进行调步使得在数据流中在分组之间引入传输间隔(例如,分组传输间隔)。通过在分组之间引入传输间隔,可以给予中介缓冲器(例如,中介缓冲器105)更长的时间周期来释放可用于存储后来接收的分组的存储器资源。
在多个分组之间引入的传输间隔可以根据实施方式而变化。在某些方面中,可将传输间隔设置为固定和预定的时间周期。但是在某些实施方式中传输间隔可以基于诸如带宽可用性和/或分组大小的一个或多个动态网络特性。作为进一步的示例,分组传输间隔可以基于一个或多个网络特性,诸如对于网络中的一个或多个装置(例如,中介104)的当前可用的专用资源的度量。
图2图示了根据本技术的某些方面的在其中实现调步和FEC的网络系统的框图。图2的网络系统包括第一计算机202、第二计算机204和网络206。如图所示,网络206被示出为传送多个数据分组,诸如分组A、分组B、分组C和纠错分组207。应当理解,网络206是通信网络(例如互联网)的简化说明,并且在网络206的通信路径中,在第一计算机202与第二计算机204之间可包括一个或多个装置(例如,基于处理器的装置诸如计算机、路由器、服务器和/或交换机等等)。
纠错分组207可包括用于已经在第一计算机202与第二计算机204之间交换了的一个或多个分组的纠错信息。在图2所图示的示例中,纠错分组207包括用于分组A、分组B和分组C的纠错信息,其在从第一计算机202路由到第二计算机204的途中。纠错分组207中中所包括的实际纠错信息可以取决于实施方式、以及纠错码、或者用于数据重构的算法。作为示例,可将第二计算机204配置为使用包括“异或”运算(例如“XOR”)的一个或多个逻辑运算来执行纠错。因此,纠错分组207可包括用于分组A、分组B和分组C中的每一个的XOR纠错信息。
应当理解,可以使用其他算法或纠错代码来实现本技术的方面。作为示例,可以使用更复杂的纠错代码,诸如“Fountain代码”、“raptor代码”或“在线代码”。使用Fountain代码实施方式,可通过发送K个纠错分组来保护数据的N个分组。在这种实施方式中,N+K个分组中的任意N个分组的成功到达使得N个数据分组能够被恢复。
纠错分组207中包含的信息使得接收装置(诸如第二计算机204)能够为在传输中丢弃的一个或多个分组重构数据丢失。对一个或多个所丢弃的分组执行纠错所需要的原始信息的量可以根据实施方式而变化。作为示例,如果在传输过程中丢弃了分组B而使得第二计算机204只接收分组A、分组C和纠错分组207,则至少部分地基于分组A、分组C和纠错分组207中包含的信息,可以恢复分组B的信息内容。通过恢复所丢弃的分组B的内容(而不是让第一计算机202将分组B重传给第二计算机204),可以改善(例如降低)用于第一计算机202与第二计算机204之间发送的数据的重传时延。
如图2的示例进一步所图示,从第一计算机202发送到第二计算机204的数据分组中的每一个由时间间隔T分隔。如上所讨论的,用于分隔分组传输的调步间隔T可以是常数,也可以是动态的,并且可以基于包括网络参数(诸如,带宽可用性和/或可用缓冲器/存储器资源)的多种因素。因此,T的实际持续时间可以随实施方式而变化,例如,从几毫秒到几秒。此外在某些方面中,可将时间间隔T设置为使得传输以相比发射器/发送器(例如,发送器102或第一计算机202)的最大传输速率更小的速率发生。
在一些实施方式中,可以通过获得平均调步间隔T来估算期望的调步时间间隔T。例如,如果期望的分组间时间间隔是500微秒,则可以通过在1毫秒中发送2个分组,或者在2毫秒中发送4个分组,来获得类似的平均时间间隔。根据实施方式,精确的分组间传输时间可以变化,且仍然获得一系列分组的期望平均间隔。例如,为了获得分组之间期望的500微秒平均分组间间距,发送器可以在第一毫秒中发送2个分组,在第二毫秒中不发送分组,然后在第三毫秒中发送4个分组(对于3毫秒周期中的总共6个分组),从而获得期望的500微秒平均分组间调步速率。
如上所讨论的,使用分组调步或FEC技术可以减轻重传时延。调步涉及按照均匀隔开的时间间隔有计划的传输,并且通常在减少由于缓冲器用尽引起的分组丢失(例如,其包括由于正在进行中的缓冲器用尽所致的相关分组丢失)方面更有效。与之相反,FEC通常最适合于少量分组被丢弃的网络场景,允许接受者使用冗余纠错信息重构被丢弃的分组。但是,如果有很多分组被丢弃,则FEC(单独实施时)在使得接受者能够使用纠错信息恢复被丢弃的分组方面不太有效。具体而言,在根据丢失的分组中包含的信息构造了纠错信息的情况下,FEC在对于相关(突发性)分组丢失降低重传时延方面不太有效。
在本主题技术的某些方面中,相比来自组合的分组调步和FEC的单独贡献,可以使用FEC与调步的组合来改善(降低)重传时延更多的量。也就是说,在与分组调步组合时,FEC可以对重传时延的降低产生协同的改善。
在一些实施方式中,调步增强FEC所提供的好处。作为示例,在没有调步的情况下,对于分组A、分组B、分组C、或者纠错分组207而言丢失的可能性可能高度相关,通常在存在任何丢失时引起突发丢失,并阻止错误恢复。与之相反,通过接近中介缓冲器的可用排放速率(drainrate)的调步,单个分组(例如,分组A、分组B、分组C、或者纠错分组207的其中一个)的丢失可以实际上减少来自序列的第二分组丢失的可能性,并增加可以执行纠错恢复的可能性。因此,通过使用调步将传输流中的两个或更多分组去相关,可以改善FEC的效率,例如通过增加接收足够的原始数据来对所丢弃的分组执行数据恢复的可能性,同时还降低纠错信息(例如,纠错分组207)被丢弃的可能性。
关于图3所图示的示例过程300,描述了用于实现调步与FEC技术的组合的方法。具体而言,过程300开始于步骤302,在其中为多个数据分组确定分组传输间隔。分组传输间隔的确定可以基于多种参数或网络特性,并且因此可以取决于实施方式。分组传输间隔可以基于但是不限于各种网络特性,诸如可用带宽、当前计算资源(例如,在传输路径中用于一个或多个计算机、服务器、路由器等等的存储器或处理资源)以及分组大小。
在某些实施方式中,相对于网络特性的变化(诸如,带宽可用性),分组传输间隔是动态的并且将随时间变化。因此,根据实施方式的不同,数据流中任何两个分组之间的传输间隔可以相同,也可以不同。
在一些方面中,通过观察分组接收可以估计带宽可用性。例如,如果用最小的分组间间距来发送多个分组(例如,在没有任何调步的情况下),则分组间到达时间可以是链接带宽的估计,例如在通信路径最受限制的部分。作为另一个示例,如果通过与上述链接带宽的估计相对应的分组间调步来发送多于一个分组(例如,接近上述链接带宽到达间间隔的调步分组间发送间隔),则可将所得的到达间间隔用于估计沿着通信路径的可用带宽。
在步骤304中,为多个分组确定冗余纠错信息。如上所讨论,纠错信息可以是为其产生纠错信息的分组的数据内容的函数以及用于恢复丢失信息(例如,所丢弃的分组)的纠错过程和算法。虽然可以使用各种纠错算法来重构丢失信息(例如,使用纠错信息),但是在某些实施方式中,可以使用XOR运算来重构丢失信息。因此,纠错信息可包括用于多个分组中的一个或多个的数据内容的XOR信息。作为示例,如果多个分组包括上面关于图2所讨论的分组A、分组B和分组C,则纠错信息可包括用于分组A、分组B和分组C的数据内容的XOR信息。
在步骤306中,调步多个分组到接受者的传输,其中基于分组传输间隔,多个分组中的每一个在时间上被分隔。在一些实施方式中,所传送的分组之间的时间分隔可以近似相等;但是,在某些实施方式中,分组之间的分隔可以例如根据网络条件而变化。
在步骤308中,将冗余纠错信息传送给接受者。虽然冗余纠错信息可以在任何时间被传送已知量的数据传送,在某些方面中,在多个分组中的每一个的传输已经发生之后,将冗余纠错信息传送给接受者。就图2的示例进一步而言,在传送分组A、分组B和分组C之后,可将冗余纠错信息(例如,纠错分组207中包括的信息)传送给第二计算机204。在一些实施方式中,可将多个纠错分组结合多个数据分组传送,或者跟随多个数据分组传送。例如,可将fountain代码用于调节跟随有K个纠错分组的N个分组,使得收到K+N个分组中的任何N个分组都能够帮助全部N个数据分组的恢复。
如上所讨论,通过将分组丢失去相关,使用冗余纠错信息,多个分组的传输的调步可以增加多个分组中的一个或多个分组的恢复可能性。通过这种方式,与单独使用任何一种技术相比,利用调步和纠错技术两者的数据传输方法可以更显著地降低重传时延。此外应当理解,在某些实施方式中,与单独实现时每种技术的组合好处相比,使用调步与FEC技术两者的组合可以提供对重传时延的更大降低。
图4图示出可用于实现主题技术一些方面的示例网络系统。具体而言,网络系统400包括第一用户装置402、第二用户装置404、第三用户装置406和服务器410。如图所图示,第一用户装置402、第二用户装置404和第三用户装置406经由网络408通信地连接到服务器410。应当理解,除了第一用户装置402、第二用户装置404、第三用户装置406和服务器410之外,任何数量的其他基于处理器的装置都可以通信地连接到网络408。此外,如下更详细所讨论,网络408可包括多个网络,诸如网络(例如互联网)的网络。
在一些示例中,可通过第一用户装置402、第二用户装置404、第三用户装置406和/或服务器410中的一个或多个来执行本主题技术的一个或多个处理步骤。作为示例,可将任何用户装置(例如,第一用户装置402、第二用户装置404和/或第三用户装置406)配置为使用本主题技术的过程来传送分组,包括为多个数据分组确定分组传输间隔、为多个分组确定冗余纠错信息以及对多个分组到接受者(诸如服务器410)的传输进行调步,其中,基于分组传输间隔,按照时间将多个分组中的每一个分隔。在某些方面中,可将用户装置配置为一旦传送了多个分组中的每一个,则将冗余纠错信息传送给接受者(例如,服务器410)。
图5图示出可用于执行本主题公开的步骤的电子系统500的示例。在一些示例中,电子系统500可以是单个计算装置,诸如用户装置(例如,第一用户装置402、第二用户装置404或第三用户装置406的任何一个)或者服务器(例如,服务器410)。此外,在一些实施方式中,电子系统500可以单独操作也可以与一个或多个其他电子系统一起操作,例如作为计算机的集群或网络的一部分。
如图所图示,电子系统500包括存储装置502、系统存储器504、显示装置506、总线508、ROM510、处理器512、输入/输出装置接口514以及网络接口516。在一些方面中,总线508共同地表示所有的系统、外围设备、和通信地连接电子系统500的多个内部装置的芯片组总线。例如,总线508通信地将处理器512与ROM510、系统存储器504、显示装置506以及存储502相连接。
在一些实施方式中,处理器512检索指令以执行(以及检索数据以处理)以便执行本主题技术的过程。在不同实施方式中,处理器512可以是单个处理器,也可以是多核处理器。此外,根据实施方式,处理器512可包括一个或多个图形处理单元(GPU)和/或一个或多个解码器。
ROM510存储处理器512和电子系统500的其他模块需要的静态数据和指令。类似地,处理器512可包括一个或多个存储器位置诸如CPU缓存或存储器中的处理器(PIM)等等。在一些实施方式中,存储502可以是读写存储器装置。在一些方面中,该装置可以是非易失性存储器单元,即使在电子系统500没有电力时也存储指令和数据。本主题技术的一些实施方式可以使用例如存储502的大容量存储装置(诸如固态、磁或光存储装置)。
其他实施方式可以使用诸如存储502的一个或多个可移除存储装置(例如磁或固态驱动器)。虽然系统存储器504可以是易失性的,也可以是非易失性的,但是在一些示例中,系统存储器504是诸如随机存取存储器的易失性读写存储器。系统存储器504可以存储处理器512在运行时需要的一些指令和数据。
可将用于实现本主题技术的过程的代码存储在系统存储器504、存储502、ROM510和/或嵌入了处理器512的一个或多个存储器位置中。处理器512可以从这些不同的存储器单元检索指令以执行,以及检索数据以处理,以便执行本公开的一些实施方式的过程。
总线508还连接到输入/输出装置接口514以及显示装置506。输入/输出装置接口514使得用户能够向电子系统500传递信息并选择命令。与输入/输出装置接口514一起使用的输入装置可包括例如字母数字键盘和指示装置(也称为“光标控制装置”)和/或诸如无线键盘、无线指示装置等等的无线装置。
最后,如图5所示,总线508还通过网络接口516将电子系统500通信地连接到网络(未示出)。应当理解,网络接口516可以是有线的、光学的或无线的,并且可包括一个或多个天线和收发信机。通过这种方式,电子系统500可以是计算机网络的一部分,诸如局域网(“LAN”)、广域网(“WAN”)、或者网络的网络,诸如互联网(例如,网络408,如上所讨论)。
在实践中,可通过电子系统500来执行本主题技术的方法。在一些方面中,用于执行本公开的一个或多个过程的指令被存储在诸如存储502和/或系统存储器504的一个或多个存储器装置中。
作为示例,可将电子系统500配置为执行为多个分组确定分组传输间隔的操作(例如,使用处理器512),其中分组传输间隔大于发射器的出站链接上支持的最小间隔,基于多个数据分组的XOR求和为多个数据分组确定冗余纠错信息,以及对多个分组到接受者的传输进行调步,其中基于分组传输间隔按照时间分隔多个分组中的每一个。在某些方面中,可将电子系统500进一步配置为一旦传送了多个分组中的每一个,就将冗余纠错信息传送给接受者(例如,使用网络接口516)。
在本说明书中,术语“软件”意在包括只读存储器中驻留的固件或者磁存储中存储的应用,可将其读入存储器以用于通过处理器处理。此外,在一些实施方式中,可将本主题公开的多个软件方面实现为较大程序的子部分,同时保留本主题公开的不同软件方面。在一些实施方式中,可将多个软件方面实现为单独的程序。最后,一起实现此处所述软件方面的单独程序的任何组合皆落入本主题公开的范围。在一些实施方式中,在被安装为操作一个或多个电子系统时,软件程序限定运行和执行软件程序的操作的一个或多个特定的机器实施方式。
可以以任何形式的编程语言来编写计算机程序(又称为程序、软件、软件应用、脚本或代码),包括编译或解释语言、声明性或程序性语言,并且可以按照任何形式部署,包括作为独立程序或者作为模块、组件、子例程、对象、或者适合于在计算环境中使用的其他单元。计算机程序可以与文件系统中的文件相对应,但是并非需要。可将程序存储在保存其他程序或数据的文件的一部分中(例如,标记语言文档中存储的一个或多个脚本),存储在专用于所考虑的程序的单个文件中、或者存储在多个协同文件中(例如,存储一个或多个模块、子程序、或者代码部分的文件)。可将计算机程序部署为在一个计算机上或者在多个计算机上执行,所述多个计算机位于一个站点处或者分布在多个站点上,并通过通信网络互连。
如本申请的说明书和任何权利要求中使用的,术语“计算机”、“服务器”、“处理器”、以及“存储器”皆表示电子装置或者其他技术性装置。这些术语不包括人员或人群。为了说明书的目的,术语显示器或显示表示在电子装置上显示。如本申请的说明书和任何权利要求中使用的,术语“计算机可读介质”和“计算机可读媒介”完全限于以计算机可读取的形式存储信息的有形、实体对象。这些术语不包括任何无线信号、有线下载信号、以及任何其他瞬时信号。
本说明书中所述主题的实施例可以在计算系统中实现,计算系统包括后端组件(例如数据服务器),或者包括中间件组件(例如应用服务器),或者包括前端组件(例如具有图形用户界面或网络浏览器的客户端计算机,用户通过它们可以与本说明书中所述主题的实施方式互动),或者这些后端组件、中间件组件、或前端组件的一个或多个的任何组合。系统的组件可通过数字数据通信的任何形式或介质(例如通信网络)来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网间网络(例如互联网)、以及对等网络(例如adhoc对等网络)。
计算系统可包括客户端和服务器。客户端和服务器一般相互远离,并且通常经由通信网络互动。客户端与服务器的关系由于在各个计算机上运行且相互具有客户端-服务器关系的计算机程序而出现。在一些实施例中,服务器将数据(例如HTML网页)传送到客户端装置(例如,为了向与客户端装置交互的用户显示数据以及从用户接收用户输入的目的)。在服务器处可以从客户端装置接收在客户端装置处产生的数据(例如,用户交互的结果)。
应当理解,所公开的过程中的步骤的任何特定顺序或等级都是示例方法的说明。基于设计优选,应当理解,过程中的步骤的特定顺序或等级可以被重新安排,或者进行所有示出的步骤。一部分步骤可以同时进行。例如,在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中各种系统组件的分离不应理解为在所有实施例中都要求这种分离,并且应当理解,通常可将所述程序组件和系统一起集成在单个软件产品中,或者打包在多个软件产品中。
提供以上描述以使得本领域技术人员能够实践这里所述的各种方面。这些方面的各种修改对于本领域技术人员而言显而易见,并且可将这里定义的一般性原理应用于其他方面。因此,权利要求并非旨在限制这里所示的方面,而是要符合与语言权利要求一致的全部范围,除非特别这样指定,其中对单数元件的引用并非要表示“一个且唯一”,而是“一个或多个”。除非另有所指,术语“一些”是指一个或多个。男性代词(例如,他的)包括女性和中性代词(例如,她的和它的),反之亦然。如果有的话,标题和副标题仅为方便而使用,并不限制主题公开。
诸如“方面”这样的措词不表示这种方面为主题技术所必要,或者这种方案适用于主题技术的所有配置。与方面相关的公开可以适用于所有配置,也可以适用于一个或多个配置。诸如“方面”这样的措词可以表示一个或多个方面,反之亦然。诸如“配置”这样的措词不表示这种配置为主题技术所必要,或者这种配置适用于主题技术的所有配置。与配置相关的公开可以适用于所有配置,也可以适用于一个或多个配置。诸如“配置”这样的措词可以是指一个或多个配置,反之亦然。
本领域技术人员已知或者即将知道的贯穿本公开所述的各种方案的元件的全部结构性和功能性等同物皆通过引用明确地合并于此,并且旨在被权利要求所涵盖。

Claims (20)

1.一种用于降低重传时延的方法,包括:
为多个数据分组确定分组传输间隔;
为所述多个分组确定冗余纠错信息;
对所述多个分组到接受者的传输进行调步,其中所述多个分组中的每一个基于所述分组传输间隔而被按照时间分隔;以及
一旦所述多个分组中的每一个被传送,则将所述冗余纠错信息传送给所述接受者。
2.根据权利要求1所述的方法,其中使用所述冗余纠错信息,对所述多个分组的传输进行调步为所述多个分组中的一个或多个增加了恢复可能性。
3.根据权利要求1所述的方法,其中对所述多个分组的传输进行调步减少所述多个分组中的两个或更多之间的分组丢失的相关性。
4.根据权利要求1所述的方法,其中确定所述分组传输间隔进一步包括:
估计可用网络带宽,
其中所述分组传输间隔基于所估计的可用网络带宽。
5.根据权利要求1所述的方法,进一步包括:
基于可用网络带宽中的变化更新所述分组传输间隔。
6.根据权利要求1所述的方法,其中所述分组传输间隔大于发射器的出站链路上支持的最小间隔。
7.根据权利要求1所述的方法,其中所述冗余纠错信息基于对所述多个数据分组的XOR求和。
8.一种用于降低重传时延的系统,包括:
一个或多个处理器;以及
包括其中所存储的指令的计算机可读介质,所述指令当由所述处理器执行时,使得所述处理器执行包括以下的操作:
为多个数据分组确定分组传输间隔;
基于对所述多个数据分组的XOR求和,为所述多个分组确定冗余纠错信息;
对所述多个分组到接受者的传输进行调步,其中所述多个分组中的每一个基于所述分组传输间隔而被按照时间分隔;以及
一旦所述多个分组中的每一个被传送,则将所述冗余纠错信息传送给所述接受者。
9.根据权利要求8所述的系统,其中使用所述冗余纠错信息,对所述多个分组的传输进行调步为所述多个分组的一个或多个增加恢复可能性。
10.根据权利要求8所述的系统,其中对所述多个分组的传输进行调步减少所述多个分组中的两个或更多之间的分组丢失的相关性。
11.根据权利要求8所述的系统,其中确定所述分组传输间隔进一步包括:
估计可用网络带宽,
其中所述分组传输间隔基于估计的可用网络带宽。
12.根据权利要求8所述的系统,进一步包括:
基于可用网络带宽中的变化更新所述分组传输间隔。
13.根据权利要求8所述的系统,其中所述分组传输间隔大于发射器的出站链路上支持的最小间隔。
14.一种包括其中所存储的指令的计算机可读存储介质,所述指令当由处理器执行时,使得所述处理器执行包括以下的操作:
为多个数据分组确定分组传输间隔;
为所述多个分组确定冗余纠错信息;
对所述多个分组到接受者的传输进行调步,其中所述多个分组中的每一个基于所述分组传输间隔而被按照时间分隔;以及
将所述冗余纠错信息传送给所述接受者。
15.根据权利要求14所述的计算机可读存储介质,其中使用所述冗余纠错信息,对所述多个分组的传输进行调步为所述多个分组中的一个或多个增加恢复的可能性。
16.根据权利要求14所述的计算机可读存储介质,其中对所述多个分组的传输进行调步减少所述多个分组中的两个或更多之间的分组丢失的相关性。
17.根据权利要求14所述的计算机可读存储介质,其中确定所述分组传输间隔进一步包括:
估计可用网络带宽,
其中所述分组传输间隔基于估计的可用网络带宽。
18.根据权利要求14所述的计算机可读存储介质,进一步包括:
基于可用网络带宽中的变化更新所述分组传输间隔。
19.根据权利要求14所述的计算机可读存储介质,其中所述分组传输间隔大于发射器的出站链路上支持的最小间隔。
20.根据权利要求14所述的计算机可读存储介质,其中所述冗余纠错信息基于对所述多个数据分组的XOR求和。
CN201480021186.7A 2013-03-14 2014-01-16 通过组合调步和前向纠错来降低重传时延 Pending CN105164960A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/829,469 2013-03-14
US13/829,469 US20140269359A1 (en) 2013-03-14 2013-03-14 Reduction of retransmission latency by combining pacing and forward error correction
PCT/US2014/011929 WO2014158317A1 (en) 2013-03-14 2014-01-16 Reduction of retransmission latency by combining pacing and forward error correction

Publications (1)

Publication Number Publication Date
CN105164960A true CN105164960A (zh) 2015-12-16

Family

ID=50097837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480021186.7A Pending CN105164960A (zh) 2013-03-14 2014-01-16 通过组合调步和前向纠错来降低重传时延

Country Status (6)

Country Link
US (1) US20140269359A1 (zh)
EP (1) EP2974097A1 (zh)
KR (1) KR20150129312A (zh)
CN (1) CN105164960A (zh)
AU (1) AU2014242350A1 (zh)
WO (1) WO2014158317A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756854A (zh) * 2017-11-06 2019-05-14 普天信息技术有限公司 一种集群业务释放方法
CN115023928A (zh) * 2019-12-02 2022-09-06 资溪有限责任公司 通过多个不可靠信道的分组化数据通信

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180123391A (ko) * 2017-05-08 2018-11-16 (주)에프씨아이 접속확인 패킷 전송 제어방법 및 장치
US10785511B1 (en) * 2017-11-14 2020-09-22 Amazon Technologies, Inc. Catch-up pacing for video streaming
CN108111434B (zh) * 2017-12-14 2021-03-16 四川大学 一种基于可靠udp和喷泉码的航空自组网可靠传输方法
US20220294727A1 (en) * 2019-08-08 2022-09-15 Dejero Labs Inc. Systems and methods for managing data packet communications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1729643A (zh) * 2002-05-06 2006-02-01 高通股份有限公司 用于在无线数据通信系统内增加物理层arq的方法和装置
CN101656731A (zh) * 2003-10-08 2010-02-24 数字方敦股份有限公司 基于前向纠错(fec)的可靠性控制协议
CN102195752A (zh) * 2010-03-05 2011-09-21 微软公司 通过带有前向纠错的有损传输的远程呈现

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771674B1 (en) * 1998-12-28 2004-08-03 3Com Corporation Method and system for forward error correction based on parallel streams
JP4936542B2 (ja) * 2007-08-14 2012-05-23 キヤノン株式会社 通信制御装置、通信制御方法、及びコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1729643A (zh) * 2002-05-06 2006-02-01 高通股份有限公司 用于在无线数据通信系统内增加物理层arq的方法和装置
CN101656731A (zh) * 2003-10-08 2010-02-24 数字方敦股份有限公司 基于前向纠错(fec)的可靠性控制协议
CN102195752A (zh) * 2010-03-05 2011-09-21 微软公司 通过带有前向纠错的有损传输的远程呈现

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756854A (zh) * 2017-11-06 2019-05-14 普天信息技术有限公司 一种集群业务释放方法
CN109756854B (zh) * 2017-11-06 2021-10-26 普天信息技术有限公司 一种集群业务释放方法
CN115023928A (zh) * 2019-12-02 2022-09-06 资溪有限责任公司 通过多个不可靠信道的分组化数据通信
CN115023928B (zh) * 2019-12-02 2024-02-23 资溪有限责任公司 通过多个不可靠信道的分组化数据通信

Also Published As

Publication number Publication date
AU2014242350A1 (en) 2015-10-01
US20140269359A1 (en) 2014-09-18
WO2014158317A1 (en) 2014-10-02
KR20150129312A (ko) 2015-11-19
EP2974097A1 (en) 2016-01-20

Similar Documents

Publication Publication Date Title
CN105164960A (zh) 通过组合调步和前向纠错来降低重传时延
EP3342073B1 (en) Random linear network encoded data transmission
JP6476197B2 (ja) 輻輳制御ビットレート・アルゴリズム
EP3159803B1 (en) Data storage method and network interface card
EP3193472A1 (en) Data packet processing method and device
CN110391879A (zh) 数据传输网络的丢包恢复方法、装置和计算机设备
CN109600302A (zh) 一种有序通讯的方法、装置、存储介质及电子设备
CN103685060B (zh) 数据包发送方法及装置
CN107608821B (zh) 一种基于纠删码的数据读取方法、装置、设备
US10200154B2 (en) System and method for early packet header verification
CN116847453B (zh) 卫星数据传输及卫星物联网接入时间的管理方法
CN107665155B (zh) 处理数据的方法和装置
US10728356B2 (en) Communication device and communication system
US8504899B2 (en) Data transfer method and information processing apparatus
CN114978427B (zh) 数据处理方法、装置、程序产品、计算机设备和介质
CN113595694B (zh) 数据的传输方法、计算设备及存储介质
CN113595685A (zh) 数据传输方法及装置、存储介质、终端
CN110086574B (zh) 报文处理方法、装置、计算机设备和存储介质
JP2017175495A (ja) 送信装置、受信装置、通信システム、方法およびプログラム
KR102236581B1 (ko) 단말기가 데이터를 송수신하는 방법 및 그 단말기
JP6572574B2 (ja) ストレージ制御システム、ストレージ制御システムのノード、およびストレージ制御方法
CN112073992B (zh) 数据传输方法、装置、设备及存储介质
CN109792332B (zh) 反馈应答信息的传输方法、终端、网络设备和存储介质
CN118642883A (zh) 基于网卡的数据处理方法、装置、设备及可读存储介质
CN117997471A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151216