CN106464432A - 低延迟包纠删编码 - Google Patents
低延迟包纠删编码 Download PDFInfo
- Publication number
- CN106464432A CN106464432A CN201580024057.8A CN201580024057A CN106464432A CN 106464432 A CN106464432 A CN 106464432A CN 201580024057 A CN201580024057 A CN 201580024057A CN 106464432 A CN106464432 A CN 106464432A
- Authority
- CN
- China
- Prior art keywords
- bag
- packet
- encoded
- receiver
- loss
- 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
Classifications
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0033—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
- H04L1/0034—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter where the transmitter decides based on inferences, e.g. use of implicit signalling
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0033—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0033—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
- H04L1/0035—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter evaluation of received explicit signalling
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- 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
-
- 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
-
- 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/1607—Details of the supervisory signal
-
- 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
-
- 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/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- 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/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
- H04L1/1819—Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
-
- 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
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0044—Arrangements for allocating sub-channels of the transmission path allocation of payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0058—Allocation criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0058—Allocation criteria
- H04L5/006—Quality of the received signal, e.g. BER, SNR, water filling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
提供一种用于在数据传输网络中纠错的方法,包括:跨越网络路径传输多个未编码的信息包;跨越所述网络路径传输用于恢复在传输中丢失的信息包的多个经编码的包,经编码的包在时间上散布在所述未编码的信息包之间,其中经编码的包基于在先前传输的经编码的包之前传输的信息包来编码;以及根据丢包率确定经编码的包的散布。
Description
技术领域
本申请涉及数据通信网络中的纠删编码(erasure coding)。
背景技术
当跨越通信网络传输包时,包可能因各种原因而丢失,例如,由于无线链路上的噪声、队列溢出、高速缓存未命中等。重新传输丢失的包增加通信中的延迟,为了避免这一点,能够发送另外的冗余的经编码的包,并且接收器能够根据这些来重构丢失的包,典型地,这被称为前向纠错(FEC)。
标准的FEC方法将信息包的流分割成大小为NR个包的不相交的块,其中N是块大小并且R是编码率。然后,在块中所有信息包已经传输之后立即传输块的N(1-R)个经编码的包,并且每个经编码的包能够帮助接收器重构在指定块内的任何信息包(但不是任何其他块中的包)。
例如,考虑索引为k=0,1,2,…的信息包的流。这被分割成大小为NR的块,其中块K包含信息包K,K+1,…,K+NR-1。观察到每个信息包被分配给单个块。对于块K,可以用许多方式生成经编码的包。如下面所描述的那样,一个示例是通过随机线性编码。
重要地,经编码的包(i)包含关于块K中的每个信息包的信息,并且(ii)不包含关于其他块中的包的信息。这在图1中例示,其中,由NR=4个信息包u1、u2、u3和u4构成的常规块代码之后紧跟着两个冗余的经编码的包e1和e2。因此,图1中例示的块具有N=6的块大小以及R=2/3的编码率。
在已经发送了块中的所有信息包之后传输经编码的包的基本原理有两个方面。首先,该因果关系需要经编码的包仅能够保护在经编码的包之前传输的信息包。其次,通过在块中所有信息包之后传输经编码的包,则每个经编码的包能够保护块中的所有信息包。这确保冗余的包针对预期的丢包提供所需的保护,并且最大地利用可用的网络吞吐容量。实际上,这种常规块编码方法是渐进吞吐最佳的,即,当使块大小足够大时,它最大地利用可用的网络容量。
然而,因为经编码的包位于块的末端,所以直到已经传输并且接收了所有NR个信息包为止无法进行丢失的包的恢复,并且因此纠错以延迟为代价而获得,延迟大致与块大小NR成比例。典型地,信息包需要按次序递送给接收器处的应用。因此,在丢包失时,所有随后的信息包必须在接收器处缓冲,直到能够重构缺失的信息包为止,并且因此,这些包都遭受与块大小NR成比例的增加的延迟。
传统地,可用吞吐容量的最大化使用已经是通信网络中的主要设计目标,即使以高延迟为代价,因为吞吐容量已经是最稀缺的网络资源。然而,在现代网络中,由于超量配置的网络服务质量管理的盛行方法,通常可得到额外的网络容量。也就是说,网络容量往往不再是最稀缺的网络资源。替代地,延迟是主要性能瓶颈,并且实现低延迟正在变成主要设计驱动,即使实现低延迟以可用网络吞吐容量的低效使用为代价而获得。
考虑以上所述,难以跨越有损通信链路来确保包的低延迟按次序递送。常规方法是使用如上所述的块代码,可能添加丢失的包的重新传输以便从解码故障中恢复。卷积码(在无线链路上的物理层被广泛地使用)是这种类型的块代码加重新传输方案的具体情况。由于使用这样的代码的按次序递送延迟大致与块大小NR成比例,所以到目前为止的关于减少延迟的大部分工作关注于在保留将经编码的包定位于传输块的最后的相同代码结构的同时以更小的块大小进行工作,例如参见Subramanian和Leith的“On a Class of OptimalRateless Codes”(Proc Allerton Conference 2008)以及其中的引用。在关于丢包的数量存在已知上限的突发丢包的特殊情况下,Martinian提出低延迟代码结构,但是其不是系统的(systematic)(信息包绝不会未编码地传输),并且局限于具体的丢失信道,参见Martinian和Sundberg的“Burst Erasure Correction Codes with Low Decoding Delay”(IEEE Trans Information Theory,2004年)。
因此,需要解决上述问题。
发明内容
本教导提出以相比于标准块代码方法极大地减少延迟的方式,将冗余的经编码的包在时间上散布在信息包之间的方法。经编码的包的散布取决于丢包率和其他因素。
相应地,本申请提出如权利要求1所述的方法。有利的技术特征在从属权利要求中提供。
附图说明
现在将参考附图来描述本申请,附图中:
图1例示由被两个冗余的经编码的包跟随的四个信息包构成的常规块代码,经编码的包仅保护信息包u1-u4;
图2是包括传输节点和接收器节点的网络体系结构的框图;
图3例示冗余的经编码的包的网络编码首部的典型结构;
图4例示未编码的信息包和冗余的经编码的包的时间序列;
图5例示四个信息包的传输次序,其中两个冗余的经编码的包等距地散布在信息包之间;
图6是例示根据本教导的实施例的针对块编码和低延迟编码所传输的包的平均延迟和总体数量的图表;
图7a是例示当在丢包率为0.01、N=10,000并且R=0.99的纠删信道上使用常规块代码时的按次序包递送延迟的测量的图表;以及
图7b是例示当使用经编码的包的等距间隔时的相应测量的按次序递送延迟的图表。
具体实施方式
本教导提供调度经编码的包的传输以便显著地减少在接收器处的按次序包递送延迟的方法。图2是包括传输器节点100和接收器节点200的网络体系结构300的框图。信息包ui从传输器节点100跨越网络路径400传输至接收器节点200。用于恢复丢失的信息包的冗余经编码的包ei散布在信息包ui之间。传输器节点100被配置为执行本教导的方法。
在本教导的背景下,假设包具有固定的包长度,每个包封装多个数据符号。从包到包的相应符号典型地包括并行符号流,并且所有编码和解码操作在整个包上逐符号地执行。即,整个包用作数据的基本单位,亦即,作为单个未知元,并且对包内的多个数据符号的每个执行相同的操作。每个数据符号可以对应于例如一个字节或字。该视图(view)的主要优点在于解码矩阵操作能够以包而不是单个符号的粒度来执行,并且因此,包开销能够跨越多个符号地分布。
在当前所描述的实施例中,信息包以未编码的形式发送,并且仅冗余包以经编码的形式发送。未编码的信息包包含一个或多个数据符号。在实施例中,经编码的包被创建为先前传输的信息包的组合。如果接收器反馈可用,则经编码的包结构能够通过排除已知已经安全地到达接收器节点200的信息包来简化。例如,可以通过形成先前发送但未确认的信息包的随机线性组合来创建经编码的包。经编码的包的首部包含接收器节点200需要利用经编码的包的信息。现在将更详细地讨论首部结构。经编码的包的编码首部1100在图3中例示。当使用随机线性码时,编码首部1100可以包括至少以下信息:
n:在包中所组合的信息包的数量;
k:经编码的组合中的第一个信息包的索引;
C:伪随机数生成器的种子,该种子能够由接收器使用以生成在随机线性组合中所使用的系数ci。
因此,通过在首部中包括以上信息,能够在首部中运送构成特定的经编码的包的包的特定组合的身份。
图4例示根据本教导的实施例的跨越网络路径而传输并且在时间上散布有冗余的经编码的包的信息包的流的典型结构。图4中示出的箭头指示时间进展。参考图4,每个信息包ui可以包括一个或多个数据符号s1 i至sn i。这些数据符号可以是例如位或字节,并且能够映射到某个经过协议的有限域中的值,例如,当符号为位时映射到GF(2),而当符号为字节时,映射到GF(256)。信息包ui以未编码的形式传输。冗余的经编码的包ei在时间上散布在信息包ui之间。每个经编码的包ei包括经编码的符号,并且每个经编码符号是前面的数据符号的组合。例如,当使用随机线性编码时,则经编码的包ek包括经编码的符号(i=1,2,…,n),其中,ck是从与数据符号相同的有限域中随机均匀地抽取出的加权系数。注意,因为在实施例中每个经编码的包取决于前面的信息包,而不局限于指定块中的信息包,所以该代码结构从根本上与简单串接常规块代码不同。如上所述,如果接收器反馈可用,则来自在接收器节点200处已经被看到或者解码的信息包的数据符号可以从经编码的符号ei k中省略。同样,如上所述,每个经编码的包具有首部,该首部向接收器通知系数ci(i=1,2,…,n)的值等。
详细地,假设存在索引为1、2、……、NR的NR个信息包以及N(1-R)个另外的冗余包的预算。在本教导的一个实施例中,各个冗余包等距地散布在信息包之间,亦即,冗余包在每R/(1-R)个信息包之后传输。这针对N=6、R=2/3在图5中例示。
提供下面的示例来说明随机线性编码方案。再次参考图5,假设存在4个信息包u1、u2、u3和u4以及2个等距散布的经编码的包e1和e2。假设包u1和u2丢失,使得接收到e1、u3、u4和e2。根据这些,接收器节点能够构造下面的线性方程:
(其中,这里使用u1、u2等指示来自包u1、u2等的相应的数据符号)并且假如矩阵是满秩的,因此能够重构信息包的完全集合。因此,通过求解线性方程,能够恢复u1和u2。
在另一个示例中,假设包u1和u3丢失,并且接收到u2、e1、u4和e2。根据该信息,接收器节点能够构造下面的线性方程:
以这种方式,能够恢复u1和u3。通常,经编码的包ej是多个前面的信息包(具体地,在来自接收器的反馈可用的情况下的全部发送但未确认的信息包)的加权和。例如,假设经编码的包在每个第二信息包之后传输,使得包流为un、un+1、ej、un+2、un+3、ej+1并且信息包un和un+1丢失。于是,接收器节点200能够在接收到ej、un+2、un+3、ej+1之后重构un和un+1,此时,它将具有下面的线性方程:
现在假设传输包流u1、u2、e1、u3、u4、e2、u5、u6、e3、u7、u8、e4。对于流传输代码,e1是u1和u2的加权和,e2是u1-u4的和,e3是u1-u6的和,并且e4是u1-u8的和。因此,经编码的包不在信息包的不相交的集合上构造,而是在信息包的重叠的集合上构造。因此,该流传输代码构造从根本上与常规块代码构造不同。
本质上,上面的示例示出连带接收的包满足指定的代数线性方程。如果包中的一些丢失,则接收器节点能够求解方程以得出缺失的包。
传输器节点100可以从来源接受包,并且将包缓冲到缓冲区中,直到它们由接收器节点200确认(ACK)为止。然后,传输器节点100生成并且发送缓冲区中的包的随机线性组合。在线性组合中所使用的系数也在经编码的包的每个的首部中运送。
当接收到经编码的包时,接收器节点200首先从首部取回编码系数,并且将线性组合附加到它的知识空间的基础矩阵。然后,接收器节点200确定新近看到哪个包,使得该包能够被确认。接收器节点200也可以维护还没有进行解码的包的线性组合的缓冲区。如果包中的一些丢失,则接收器节点200能够求解线性方程以得出缺失的包。
当没有接收器反馈可用时,优选的实施例如下。假设将要跨越有损网络路径来传输索引为k=0、1、2、…的信息包的流。设p为网络路径上的丢包率。当跨越网络路径而行进的一个或多个数据包未能到达它们的目的地时,丢包发生。丢包率被定义为跨越网络路径的丢包的比率,并且具有0和1之间的值。例如,丢包率为1将指示每个包都丢失。经编码的包j的传输在信息包j/p之后被调度。因此,能够看到,经编码的包j的传输的调度是根据丢包率p而不是块代码大小来变化。典型地,j/p不是整数,在这种情况下,能够在值floor(j/p)和ceil(j/p)之间使用分时(time-sharing),使得平均值是j/p。如上所述,经编码的包j能够用来帮助重构索引小于j/p的任何信息包。该实施例的伪代码如下:
算法1:低延迟编码
其中,uncoded_nxt是将要传输的下一个信息包的索引,并且13行实现经编码和信息包的分时。
观察到该方法中没有使用块编码,经编码的包不是在信息包的不相交的集合上构造,而是代替地使用信息包的重叠的集合来构造。同样观察到代码是系统的。即,信息包未编码地发送,并且仅冗余包以经编码的形式发送,所以提供高效的实现。最后,观察到本教导的关键要素在于关于何时在信息包流内传输冗余/经编码的包的决策。因此,本教导提供用于确定何时调度冗余/经编码的包的传输的方法。本教导的关键方面在于彼此相关的经编码的包的传输的调度。实际上,提供用于确定经编码的包在信息包内的散布的方法。
如上所述,随机线性编码仅是能够用来根据信息包构造经编码的包的映射方法的一个示例。
通常,接收器反馈例如经由ACK包而可用。该反馈可以包括关于由接收器节点200所看到或者解码的信息包的信息,即所接收到的自由度以及已经从所传输的包流中丢失的包的索引。新的信息单位在数学上对应于自由度。实际上,当已经获得n自由度时,能够对原本将需要n个未编码的包的消息进行解码。对自由度的适当解释允许以与来源的包次序一致的方式指示接收器安排自由度。无论传输器节点100何时被允许进行传输,其均在编码窗口中发送所有包的随机线性组合。另外,接收器节点200确认自由度而不是原始包。所看到的包的概念定义与包序列号一致的自由度的排序,并且能够因此而被用来确认自由度。
在本教导中,该方法可以适合于以三种方式来使用反馈信息。首先,可以使用关于在接收器节点200处所看到/解码的包的信息。不需要在已知已经由接收器节点200所看到或者解码的信息包上进行编码,从而简化经编码的包的结构。以这种方式使用反馈信息是众所周知的,例如在美国专利US8526451B2中所公开的那样。
另外,关于所接收到的自由度以及丢失的包的信息能够用来适配冗余/经编码的包的传输调度。具体地,如果自由度由于过度的丢包而不足,则可以传输另外的经编码的包,或者如果发生了少于预期的丢包,则可以传输较少的经编码的包。
再者,关于丢失的包的信息能够用来估计丢包率p,并且如果p改变,则适配编码包之间的间隔。
因此,本教导使用反馈信息来适配经编码的包的传输调度或者散布频率。能够容易地实现使用反馈的适配,例如应用如下的伪代码:
算法2:使用接收器反馈的低延迟编码
算法2的第13行实现在构造经编码的包时使用关于在接收器节点200处所看到/解码的包的反馈。第7行实现使用关于自由度和丢失包的反馈来适配经编码的包的传输调度或散布频率。使用关于丢失包的反馈允许执行传送中(in flight)的包的记账(book-keeping)。
对于能够传输的包(经编码和信息包两者)的给定预算,该方法提供比任何块代码更低的按次序递送延迟,例如参见图6。图6例示针对块编码(使用各种大小的块)以及使用算法2的低延迟编码所传输的平均延迟和包的总体数量。链路速率:25Mbps,RTT:60ms,丢包率:10%,接收器反馈。
当传输器节点100和/或接收器节点200在计算上受约束时,限制每个经编码的包所保护的信息包的数量能够是有益的。例如,为了构造经编码的包j而不是经编码符号(i=1,2,…,n),求和可以被修改为(i=1,2,…,n),其中,参数N指定用来构造经编码的包的信息包的最大数量。替代地,将信息包的流分割成区块(chunk),并且在每个区块内应用上面的流传输代码。这些是对方法的直接扩展。
在本教导的另一个实施例中,可以使用下面的随机化方法来安置经编码的包。每当包传输时机发生时,传输器节点100投掷加权硬币,并且以概率R传输信息包并且以概率1-R传输经编码的包。如先前一样,可以用多种方式构造经编码的包,例如,构造为前面的信息包的随机线性组合。
在图7a和7b中例示可能的延迟性能的增益。图7a示出当在丢包率为0.01、N=10,000并且R=0.99的纠删信道上使用常规块代码时的按次序包递送延迟的测量。图7b示出当使用经编码的包的等距间隔时的相应的所测量的按次序递送延迟。能够看到,使用常规块代码,延迟接近10,000的块大小。与此相反,使用低延迟方案,最大延迟低10倍(a factorof 10lower)。
在又一个实施例中,传输器100被布置为跨越多个网络路径400将包传输至接收器200。这种传输器将典型地包括多个网络接口,每个网络接口使用不同的技术接入诸如蜂窝式网络或者固定接入网络这样的因特网以及有线或无线局部接入网络。这些技术在覆盖范围、容量、功耗、地理可用性以及成本方面表现出不同的质量特性。
已经提出用于跨越这样的网络路径来调度信息包的传输的多个方案,包括如在第WO2011/101425号PCT公开、第US8780693号美国专利、第US8036226号美国专利、第US8824480号美国专利、第US7230921号美国专利以及第US2013/0077501号美国公开中所描述的方案。实际上,能够采用跨越这样的网络路径来调度信息包的任何适合的方案,并且一种这样的改进方案在共同提交的第1502257.7号英国申请(律师案号:N18-619-06GB)中公开。
在一个多路径实施例中,例如,如上所述,传输器100确定每个网络路径的丢包率。然后,传输器通过具有最高丢失率的可用网络路径来调度经编码的包的传输。这基于如下观察:如果信息包不太可能丢失,则能够丢失经编码的包,因为它们可能不太被需要。
如上所述,本教导提供以与标准块代码方法相比极大地减少延迟的方式在信息包之间散布冗余包的方法。延迟不限制为与大小为N个包的不相交的块成比例。该实质的延迟减少确实以降低的纠错效率为代价而获得,因此所得到的代码不再成就容量(capacitorachieving)。然而,以这种方式用容量来换取较低的延迟能够是有利的,因为容量可能是充足的,而延迟受到严格限制。这往往是现代通信网络中的情况。
措词包括/包含当在本说明书中使用时是指所陈述的特征、整数、步骤或组件的存在,但是不排除一个或多个其他特征、整数、步骤、组件或者其分组的存在或添加。
Claims (22)
1.一种在数据传输网络中纠错的方法,包括:
跨越网络路径传输多个未编码的信息包;
传输用于恢复在跨越所述网络路径的传输中丢失的信息包的多个经编码的包,经编码的包在时间上散布在所述未编码的信息包之间,其中经编码的包基于在先前传输的经编码的包之前传输的信息包来编码;以及
根据丢包率确定经编码的包的散布。
2.根据权利要求1所述的方法,包括:根据信息包的在时间上重叠的集合来构造经编码的包。
3.根据权利要求1所述的方法,包括:根据预期的丢包率确定经编码的包的散布。
4.根据权利要求1所述的方法,包括:提供将被用于重构索引小于j/p的任何丢失的信息包的经编码的包j,其中p是丢包率。
5.根据权利要求4所述的方法,包括:将信息包的流分割成区块,并且提供将被用于重构包含信息包j/p的区块中的任何丢失的信息包的经编码的包j。
6.根据权利要求1所述的方法,其中,经编码的包的散布频率与丢包率成反比。
7.根据权利要求1所述的方法,其中,根据从接收器节点接收到的反馈信息确定经编码的包的散布频率。
8.根据权利要求7所述的方法,其中,反馈信息包括确认(ACK),其指示接收器节点已经接收到包的组合以及已经新近看到了包的组合中的哪个包。
9.根据权利要求7所述的方法,其中,反馈信息包括下列中的至少一个:
由接收器所看到或者解码的信息包的数量;
由接收器报告的所接收到的自由度dofs;以及
丢失的包的数量。
10.根据权利要求9所述的方法,包括:独立于已经由接收器所看到或解码的信息包而构造经编码的包。
11.根据权利要求9所述的方法,其中,散布频率与接收到的自由度dofs成反比。
12.根据权利要求9所述的方法,其中,经编码的包的散布频率为((uncoded_nxt-dofs)/(1-p))-dofs_inflight,其中uncoded_nxt是将要传输的下一个信息包的索引。
13.根据权利要求1所述的方法,其中,经编码的包每个均保护有限数量的信息包,其中每个经编码的包其中参数N指定用来构造经编码的包的信息包的最大数量。
14.根据权利要求1所述的方法,其中,丢包率包括网络路径丢包率。
15.根据权利要求1所述的方法,包括:使用随机线性编码对经编码的包进行编码。
16.根据权利要求15所述的方法,包括:将经编码的包构造成前面的信息包的随机线性组合。
17.根据权利要求15所述的方法,包括:当接收器节点接收到包的随机线性组合时,接收确认(ACK),并且确定已经新近看到了包的所述随机线性组合中的哪个包。
18.根据权利要求15所述的方法,包括:在每个经编码的包的首部中包含相应的编码系数。
19.根据权利要求18所述的方法,包括:从所指定的有限域中选择编码系数。
20.根据权利要求19所述的方法,其中,有限域包括二进制域GF(2)或者GF(256)。
21.根据权利要求1所述的方法,包括跨越多个网络路径来传输所述未编码的信息包,包括:确定所述多个网络路径中的每个的丢包率,以及跨越具有最高丢包率的可用网络路径来传输所述多个经编码的包。
22.一种用于执行根据权利要求1所述的方法的传输器节点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB201404535A GB201404535D0 (en) | 2014-03-14 | 2014-03-14 | Low-delay packet erasure coding |
GB1404535.5 | 2014-03-14 | ||
PCT/EP2015/052890 WO2015135716A1 (en) | 2014-03-14 | 2015-02-11 | Low-delay packet erasure coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106464432A true CN106464432A (zh) | 2017-02-22 |
CN106464432B CN106464432B (zh) | 2020-01-07 |
Family
ID=50634745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580024057.8A Active CN106464432B (zh) | 2014-03-14 | 2015-02-11 | 低延迟包纠删编码 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10243692B2 (zh) |
EP (1) | EP3117546B1 (zh) |
CN (1) | CN106464432B (zh) |
ES (1) | ES2778678T3 (zh) |
GB (1) | GB201404535D0 (zh) |
WO (1) | WO2015135716A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512733A (zh) * | 2017-02-28 | 2018-09-07 | 罗伯特·博世有限公司 | 用于在通信网络中传输消息的方法、网关和通信网络 |
CN112385159A (zh) * | 2018-05-16 | 2021-02-19 | 网络编码代码有限责任公司 | 多路径编码装置及相关技术 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201404535D0 (en) | 2014-03-14 | 2014-04-30 | Nat Univ Ireland | Low-delay packet erasure coding |
GB201502257D0 (en) | 2015-02-11 | 2015-04-01 | Nat Univ Ireland | A method of transmitting data between a source node and destination node |
US10880731B2 (en) * | 2018-04-06 | 2020-12-29 | University Of South Florida | System and method for enhanced diversity and network coding (eDC-NC) |
US11405240B2 (en) * | 2020-08-11 | 2022-08-02 | University Of Manitoba | Method for massive unsourced random access |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101432969A (zh) * | 2005-06-10 | 2009-05-13 | 数字方敦股份有限公司 | 前向纠错(fec)编码和流送 |
US20100046371A1 (en) * | 2008-05-29 | 2010-02-25 | Jay Kumar Sundararajan | Feedback-based online network coding |
CN102983952A (zh) * | 2006-11-29 | 2013-03-20 | 艾利森电话股份有限公司 | 具有线性独立数据分组编码的可靠多播 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6694478B1 (en) * | 2000-11-07 | 2004-02-17 | Agere Systems Inc. | Low delay channel codes for correcting bursts of lost packets |
US7559010B2 (en) * | 2004-08-18 | 2009-07-07 | Broadcom Corporation | Short length LDPC (Low Density Parity Check) code and modulation adapted for high speed Ethernet applications |
US8279781B2 (en) * | 2008-08-28 | 2012-10-02 | Massachusetts Institute Of Technology | Random linear network coding for time division duplexing |
WO2011043755A1 (en) * | 2009-10-06 | 2011-04-14 | Thomson Licensing | A method and apparatus for hop-by hop reliable multicast in wireless networks |
US8661323B2 (en) * | 2011-05-09 | 2014-02-25 | Google Inc. | Method and apparatus for generating packet mask |
EP2918073A4 (en) * | 2012-11-08 | 2016-10-19 | Factor Comm Corp Q | METHOD AND DEVICE FOR IMPROVING THE PERFORMANCE OF TCP AND OTHER NETWORK PROTOCOLS IN A COMMUNICATION NETWORK |
GB201404535D0 (en) | 2014-03-14 | 2014-04-30 | Nat Univ Ireland | Low-delay packet erasure coding |
-
2014
- 2014-03-14 GB GB201404535A patent/GB201404535D0/en not_active Ceased
-
2015
- 2015-02-11 WO PCT/EP2015/052890 patent/WO2015135716A1/en active Application Filing
- 2015-02-11 CN CN201580024057.8A patent/CN106464432B/zh active Active
- 2015-02-11 US US15/305,893 patent/US10243692B2/en active Active
- 2015-02-11 EP EP15705263.0A patent/EP3117546B1/en active Active
- 2015-02-11 ES ES15705263T patent/ES2778678T3/es active Active
-
2019
- 2019-02-15 US US16/277,255 patent/US10756843B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101432969A (zh) * | 2005-06-10 | 2009-05-13 | 数字方敦股份有限公司 | 前向纠错(fec)编码和流送 |
CN102983952A (zh) * | 2006-11-29 | 2013-03-20 | 艾利森电话股份有限公司 | 具有线性独立数据分组编码的可靠多播 |
US20100046371A1 (en) * | 2008-05-29 | 2010-02-25 | Jay Kumar Sundararajan | Feedback-based online network coding |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512733A (zh) * | 2017-02-28 | 2018-09-07 | 罗伯特·博世有限公司 | 用于在通信网络中传输消息的方法、网关和通信网络 |
CN108512733B (zh) * | 2017-02-28 | 2023-04-07 | 罗伯特·博世有限公司 | 用于在通信网络中传输消息的方法、网关和通信网络 |
CN112385159A (zh) * | 2018-05-16 | 2021-02-19 | 网络编码代码有限责任公司 | 多路径编码装置及相关技术 |
Also Published As
Publication number | Publication date |
---|---|
US20190253185A1 (en) | 2019-08-15 |
WO2015135716A1 (en) | 2015-09-17 |
EP3117546B1 (en) | 2020-01-15 |
CN106464432B (zh) | 2020-01-07 |
US10756843B2 (en) | 2020-08-25 |
US20170054526A1 (en) | 2017-02-23 |
EP3117546A1 (en) | 2017-01-18 |
GB201404535D0 (en) | 2014-04-30 |
ES2778678T3 (es) | 2020-08-11 |
US10243692B2 (en) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106464432A (zh) | 低延迟包纠删编码 | |
CN101432969B (zh) | 前向纠错(fec)编码和流送 | |
US9515775B2 (en) | Method and apparatus for improving the performance of TCP and other network protocols in a communication network | |
US10116418B2 (en) | Joint fountain coding and network coding for loss-tolerant information spreading | |
US8037397B2 (en) | Method for recovering a lost data unit | |
Srouji et al. | RDTS: A reliable erasure-coding based data transfer scheme for wireless sensor networks | |
WO2016045391A1 (zh) | 一种数据传输方法及装置 | |
CN104509014B (zh) | 用于数据的多信道fec编码和传输的方法、装置和可读介质 | |
JP5989346B2 (ja) | データ再送方法およびその装置 | |
CN101765977A (zh) | 编码装置和解码装置 | |
JP2012114929A (ja) | ファイルダウンロードおよびストリーミングのシステム | |
CN101350699A (zh) | 一种基于增量喷泉的信息分发方法 | |
WO2017112744A1 (en) | Improved joint fountain coding and network coding for loss-tolerant information spreading | |
TWI757609B (zh) | 用於通訊的傳輸設備和方法、接收設備和方法 | |
CN103650399A (zh) | 纠正数据单元的自适应生成 | |
CN112751644B (zh) | 数据传输方法、装置及系统、电子设备 | |
Khalaf et al. | Improving video transmission over heterogeneous network by using ARQ and FEC error correction algorithm | |
CN103888225A (zh) | 一种二进制删除信道下的喷泉码方法 | |
CN103152652B (zh) | 一种基于柯西rs编码的视频帧数据网络传输方法 | |
US20160105202A1 (en) | Coding and decoding methods and apparatus | |
JPWO2013114496A1 (ja) | 通信装置および通信方法 | |
CN112019304A (zh) | 一种基于网络编码的端到端实时可靠传输方法 | |
KR20130034569A (ko) | 버스트 데이터 손실 복구를 위한 오류 정정용 xor-연산fec 및 harq를 갖는 비균등 오류 보호방법 | |
Al-Jobouri et al. | Effective al-fec with ldgm for interactive video over dsl | |
Botos et al. | Performance evaluation of rateless erasure correcting codes for content distribution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |