CN101882976A - 一种数据包可靠传输方法 - Google Patents

一种数据包可靠传输方法 Download PDF

Info

Publication number
CN101882976A
CN101882976A CN2010102255740A CN201010225574A CN101882976A CN 101882976 A CN101882976 A CN 101882976A CN 2010102255740 A CN2010102255740 A CN 2010102255740A CN 201010225574 A CN201010225574 A CN 201010225574A CN 101882976 A CN101882976 A CN 101882976A
Authority
CN
China
Prior art keywords
msub
mrow
mtd
packet
packet group
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
CN2010102255740A
Other languages
English (en)
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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN2010102255740A priority Critical patent/CN101882976A/zh
Publication of CN101882976A publication Critical patent/CN101882976A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出了一种数据包可靠传输方法,利用包组联合的方式,既保持了传统的包组内独立恢复丢包的特点,又在包组间建立丢包恢复的关联。根据实际的丢包数目,能够自适应的等待后续包组到来,扩展当前包组的丢包恢复能力。因而,本发明相对于传统方案,能够在几乎不增加时延的条件下,明显提升丢包恢复性能,在丢包具有较强相关性的实际网络中具有更好的性能。

Description

一种数据包可靠传输方法
技术领域
本发明涉及网络数据传输领域,是一种对数据包丢失进行恢复的有效方法。尤其适用于实时通信和单向通信中的数据包丢失恢复。
背景技术
随着计算机网络及其技术的迅速发展,网络环境在不断改善,然而数据包丢失问题仍然是影响网络通信质量的最大因素之一。对于数据包丢失,主要有两种解决方法:一种是ARQ技术:通过反馈信道,将丢失的数据段信息反馈给发送方,发送方重新发送丢失的数据段;另一种是FEC技术:通过对数据包分组添加冗余包,使得发送的数据包组具有一定的丢包恢复能力。对传输时延敏感的业务或只有单向信道的应用场景中,采用FEC技术则是一种有效且实用的选择。
常见的FEC技术通常是基于奇偶校验码、RS码(里德-所罗门码)等线性分组码的包编码方法。基于奇偶校验码的包编码,利用奇偶校验码的编码方法,产生一个冗余的监督包,并添加在数据包后,构成一组编码包组,这种方法可以恢复包组内任意丢失的一个编码包;类似的,基于RS码的包编码,利用RS码的编码方法,产生m个冗余的监督包,并添加在数据包后,构成一组编码包组,这种方法可以恢复包组内任意丢失的m个编码包。
经过研究和统计,Internet的丢包模式:大部分丢包是一种随机丢包,少数丢包表现为突发性的较长连续丢包,即少数丢包表现出较强相关性[6]。传统的基于线性分组码的丢包恢复方案,虽然在处理分布均匀的随机丢包时可获得较好的效果,但是如果网络中出现了突发的较多个密集丢包,无差别的对每个包组添加更多的冗余包,将极大增加网络的负担。且每个包组内孤立的进行丢包恢复,使得部分包组的恢复能力过剩,部分包组的恢复能力不足,无法动态的合理调度恢复资源。
发明内容
本发明提出了一种数据包可靠传输的方法,打破了线性分组码的包组间孤立地恢复丢包的弊端,通过对RS码生成矩阵的重新设计,在包组间引入动态关联,通过后续包组的到来选择性的扩展当前包组的丢包恢复能力。
一种数据包可靠传输恢复方法,其特征在于,包含以下步骤:
(1)从RS码生成矩阵中,构造其一个缺失子矩阵作为包编码的生成矩阵,并以此新生成矩阵产生当前数据包组的所有监督包;
(2)将当前数据包组生成的所有监督包进行跨包组重新分配;
(3)将分配后的编码包组进行包组内二次编码;
(4)在接收端采用自适应丢包恢复,根据当前编码包组丢包多少的不同,自适应的等待相应数量的后续关联包组,进行恢复。
基于上述技术方案,采用的包编码的生成矩阵G,其特征在于:
设Gg×h为一个g行h列的RS码的系统生成矩阵,并将其表示成子矩阵形式:
G g × h = I g W g × ( g + r ) =
I k O k × N out W in k × N in W out k × ( r - N in ) O N out × k I N out Y in N out × N in Y out N out × ( r - N in )
I表示单位阵,O表示零矩阵,Nin为一个包组的包组内监督包数目,Nout为一个包组的跨包组监督包数目,
Figure BSA00000187757400023
为k行Nin列的包组内包组内子监督矩阵,为Nout行Nin列的包组内子监督矩阵,
Figure BSA00000187757400025
为k行r-Nin列的跨包组子监督矩阵,
Figure BSA00000187757400026
为Nout行r-Nin列的跨包组子监督矩阵。g=k+Nout,h=k+Nout+r,k为包组中数据包的个数,r为这些数据包通过包编码生成监督包的个数。构造一个k行k+r列的Gg×h的缺失子矩阵,并将其作为监督包生成的生成矩阵:
G = I k W in k × N in W out k × ( r - N in ) = I k W k × r
基于上述技术方案,将当前包组的数据包生成的所有监督包进行跨包组分配,并形成新的编码包组,其特征在于:
设当前包组为第u个包组,当前包组所有监督包为pu=[pu,1 pu,2…pu,r]。通过这种监督包的分配方法,将当前编码包组分成三部分:数据包部分du,包组内监督部分Vu,in和跨包组监督部分Vu,out
du=[du,1 du,2…du,k]
V u , in = p u , 1 p u , 2 · · · p u , N in
V u , out = S u , 1 S u , 2 · · · S u , N out
其中,du,i为第u个包组中的第i个数据包,Su,i为第u个包组中第i个跨包组监督包,Su,i表达式如下:
S u , i = Σ j = 0 l - 1 p u - j , n in + j · N out + i
其中l为相关联的包组数。
基于上述技术方案,将编码包组进行包组内二次编码,其特征在于:将Su,i(i=1,2,…Nout)与pu,i(i=1,2,…Nin)建立下面的监督关系:
R u , i = p u , i + Σ j = 1 N out y j , i · S u , j
Figure BSA00000187757400036
其中,i=1,2,…Nin
Figure BSA00000187757400037
为Gg×h中的子矩阵。然后用Ru,i替换包组中的pu,i,组成新的Vu,in,并形成最终的编码包组,且满足下面的方程关系。
Du·Gin=Ru
其中, D u = d u , 1 d u , 2 · · · d u , k S u , 1 S u , 2 · · · S u , N out ,
R u = d u , 1 d u , 2 · · · d u , k S u , 1 S u , 2 · · · S u , N out R u , 1 R u , 2 · · · R u , N in
G in = I k O k × N out W in k × N in O N out × k I N out Y in N out × N in
基于上述技术方案,采用自适应的包解码方法,其特征在于:
设Nl为当前编码包组的丢包数,假设与此包组相关联的前l-1个包组的数据包是完整的,即没有丢失或已经顺利恢复丢包,且按照上述的包编码方法,每获得一个监督包,就可以多恢复出一个丢包。
(1)若Nl≤Nin,则利用解线性方程组方法,不需要任何其他编码包组的协助,就能够进行恢复丢包。
(2)若Nin<Nl≤Nin+Nout,假设之前的l-1包组是完整的,即包组内没有丢包或者已经恢复所有数据包,首先计算出pa,b(a∈{u-l-1,u-l,…,u-1},b∈{1,2,…,m}),再还原出隐藏在Su,i(i=1,2,…,Nout)中的Nout个第u个包组的监督包:
p u , i = S u , I - Σ j = 1 l - 1 p u - j , N in + j · N out + I
其中,i∈{Nin+1,Nin+2,…,Nin+Nout},I=i-Nin,为第u个包组的第i个监督包累加在跨包组监督部分的位置下标。将还原出的监督包和包组内监督部分Vu,out联合起来,便得到了Nin+Nout个第u个包组的监督包,相当于将当前包组生成矩阵Gin扩展了Nout列:
G in ′ = I k O k × N out W in k × N in W out , 1 k × N out O N out × k I N out Y in N out × N in O N out × N out
其中
Figure BSA00000187757400046
是Gg×h
Figure BSA00000187757400047
的前Nout列组成的子矩阵。任取G′in的k列,对这k维的列向量组,截取其前k行得到的方阵一定是Gg×h的一个缺失子方阵。此方阵的列向量是线性无关的,于是这任取G′in的k列也是线性无关的,可以恢复当前包组中所有的数据包。
(3)如果Nl>Nin+Nout,现有的恢复能力不能满足需求,则等待第u+1个包组的到来。如果第u-l+2个包组到第u+1个包组这l个包组中,除第u个包组,都没有丢包,或者通过包组内监督部分恢复出包组内全部数据包,进而还原出压缩在Su+1,i(i=1,2,…,Nout)中的Nout个第u个包组的监督包:
p u , i = S u + 1 , I - Σ j = 0 , j 1 l - 1 p u - j , N in + j · N out + I
其中,i∈{Nin+Nout+1,Nin+Nout+2,…,Nin+2·Nout},I=i-Nin-Nout。这样便总共得到了第u个包组的Nin+2·Nout个监督包,与步骤二中,可以得到新的增加了Nout列的当前包组生成矩阵。于是,如果Nl≤Nin+2·Nout,则可以恢复第u个包组中的所有数据包。通过第u个包组后面的l-1个包组的到来,至多可还原出第u个包组的(l-1)·Nout个额外的监督包,这样至多可以恢复出第u个包组中的Nin+l·Nout个丢包。
(4)、若Nl>Nin+l·Nout,则当前包组丢失情况超出恢复上限,放弃恢复当前包组的丢包。
基于上述方案,在自适应包解码过程中,当Nl>Nin+Nout时,可以设置包解码的最大等待包组数M,即为了恢复第u个包组的丢包,已经等待了M个包组,如果仍然没有得到足够的第u个包组的监督包,则不再继续等待后续的包组,放弃对第u个包组的恢复。
本发明一种数据包可靠传输方法,具有以下的优点:
1、打破了线性分组码的包组间孤立地恢复丢包的弊端,通过对生成矩阵的重新设计,在包组间引入了丢包恢复的动态关联,通过后续包组的到来选择性的扩展当前包组的丢包恢复能力。
2、相对于传统的基于RS码的方案,在相同冗余度下,明显提升恢复性能;在相当的恢复能力下,提高了传输效率。
3、能够自适应的针对当前包组丢包情况调整恢复能力和解码时延,从而提升系统的整体性能。
附图说明
图1为本发明的系统框图;
图2为本发明的第u个编码包组的结构图;
图3为本发明的第u个包组的监督包分配方式图;
图4为本发明的第u个包组的监督包部分(包组内监督部分和跨包组监督部分)的构成图;
图5为本发明的接收端自适应包解码的流程图;
图6为本发明的相同编码效率下,本发明和其他方法的丢包恢复性能比较图;
图7为本发明的相当的丢包恢复性能下,本发明和其他方法的编码效率比较图。
具体实施方式
下面结合附图对本发明做详细说明。
图1示例了本发明的系统框架,该系统包含了发送端和接收端两部分。发送端进一步包括监督包生成模块,跨包组监督包分配模块和包组内二次编码模块。接收端进一步包括自适应包解码模块。
在详细说明本发明前,首先做一些声明和定义。
设将k个数据包划为一组,并生成n-k=r个监督包。将数据包和监督包都称为编码包,从而形成n个包组成的编码包组。每个编码包都有s个比特,且有一个包序列号与之对应,用来发现哪些编码包在传输中丢失了。由于本发明采用RS码作为编码方案,所以文中所述的运算都是指GF域(有限域)的运算。设当前编码包组为第u包组。du,i为第u个包组的第i个数据包,i=1,2,...k,du,i又可以表示为s维的列向量[du,i,1 du,i,2…du,i,s],其中du,i,1为第u个包组的第i个数据包的第1个比特,其余依次类推。pu,i表示第u个包组的第i个监督包,i=1,2,...r,pu,i又可以表示为s维的列向量[pu,i,1 pu,i,2…pu,i,s],其中pu,i,1为第u个包组的第i个数据包的第1个比特,其余依次类推。
发送模块步骤101:监督包生成。
设Gg×h为一个g行h列的RS码的系统生成矩阵,并将其表示成子矩阵形式:
G g × h = I g W g × ( g + r ) =
I k O k × N out W in k × N in W out k × ( r - N in ) O N out × k I N out Y in N out × N in Y out N out × ( r - N in )
I表示单位阵,O表示零矩阵。构造一个k行k+r列的Gg×h的缺失子矩阵,并将其作为监督包生成的生成矩阵:
G = I k W in k × N in W out k × ( r - N in ) = I k W k × r
通过每个包组的k个数据包的RS码编码运算,得到这个包组的r个
监督包   pu=du·Wk×r      (1)
其中,pu为监督包行向量[pu,1 pu,2…pu,r],du为数据包行向量[du,1 du,2 …du,k]。
发送模块步骤102:跨包组监督包分配。
将发送步骤1中生成的监督包分成两部分:其中一部分保存当前编码包组内的包组内监督区(Vu,in)中,使当前编码包组在不需要任何其他包组的协助下,具有一定的丢包恢复能力;另一部分累加到当前包组和后续关联的l-1个包组的跨包组监督区(Vu,out)中,使当前包组在必要的时候可以等待后续关联包组的到来,从而提升当前包组的丢包恢复能力。
图2示例了本发明的第u个编码包组的结构图,通过这种监督包的分配方法,实际上将编码包组分成三部分:数据包部分du,包组内监督部分Vu,in和跨包组监督部分Vu,out
du=[du,1 du,2…du,k]
V u , in = p u , 1 p u , 2 · · · p u , N in
V u , out = S u , 1 S u , 2 · · · S u , N out
其中,Nin为一个包组的包组内监督包数目,Su,i为第u个包组中第i个跨包组监督包,Nout为一个包组的跨包组监督包数目,Su,i表达式如下:
S u , i = Σ j = 0 l - 1 p u - j , N in + j · n out + i - - - ( 2 )
其中l为相关联的包组数。
图3示例了第u个包组的监督包分配,图4示例了第u个包组监督包部分(包组内监督部分和跨包组监督部分)的构成。为简单起见,两图中的编码选取较小的参数:r=3,Nint=1,Nout=1,l=2。
发送模块步骤103:包组内二次编码。
为了使Su,i在丢失的情况下也能够在当前包组恢复,将Su,i(i=1,2,…Nout)与Pu,i(i=1,2,…Nin)建立下面的监督关系:
R u , i = p u , i + Σ j = 1 N out y j , i · S u , j
其中,i=1,2,…Nin
Figure BSA00000187757400084
为Gg×h中的子矩阵。然后用Ru,i替换包组中的pu,i,组成新的Vu,in
图5示例了本发明的接收端自适应包解码的流程图,其中Nl表示当前包组的丢包数,k的初值为1,为了图示简洁起见,省略的部分操作会在下文阐述。
每接收一个编码包组后,通过包序号来判断哪些编码包发生丢失,并计算此包组丢包数Nl,并假设与此包组相关联的前l-1个包组的数据包是完整的,即没有丢失或者已经顺利恢复丢包。如果Nl=0或者仅仅是非数据包发生了丢失,则直接提取出当前包组的数据包部分du;否则,采用下面的策略进行恢复。
在步骤201,判断Nl是否小于Nin+l·Nout,如果判断为假,则进入步骤202。
在步骤202,由于当前包组丢失情况超出恢复上限,放弃恢复本包组的丢包。
如果步骤201的判断为真,则进入步骤203。
在步骤203,判断Nl是否小于Nin,如果判断为真,则进入步骤204。
在步骤204,利用下面的矩阵形式线性方程组来恢复任意丢失小于Nin个编码包(包括数据包和跨包组监督包):
Du·Gin=Ru
其中, D u = d u , 1 d u , 2 · · · d u , k S u , 1 S u , 2 · · · S u , N out ,
R u = d u , 1 d u , 2 · · · d u , k S u , 1 S u , 2 · · · S u , N out R u , 1 R u , 2 · · · R u , N in
G in = I k O k × N out W in k × N in O N out × k I N out Y
如果步骤203的判断为假,则进入步骤205。
在步骤205,利用式2,还原出隐藏在Su,i(i=1,2,…,Nout)中的Nout个第u个包组的监督包:
p u , i = S u , I - Σ j = 1 l - 1 p u - j , N in + j · N out + I
其中,i=Nin+1,Nin+2,…,Nin+Nout,I=i-Nin,为第u个包组的第i个监督包累加在跨包组监督部分的位置下标。又根据假设,前l-1包组的数据包是完整的,所以式中的
Figure BSA00000187757400095
通过式1是可求出的。然后进入步骤206。
在步骤206,判断Nl是否小于Nin+Nout,如果判断为真,则进入步骤207。
在步骤207,将在步骤4中还原出的监督包和包组内监督部分Vu,out联合起来,便得到了Nin+Nout个当前包组的监督包,这相当于将步骤3中的Gin扩展了Nout列:
G in ′ = I k O k × N out W in k × N in W out , 1 k × N out O N out × k I N out Y in N out × N in O N out × N out
其中,其中
Figure BSA00000187757400097
是Gg×h的前Nout列组成的子矩阵。于是和步骤3中类似的,利用下面的方程组可以恢复出任意丢失的小于Nin+Nout个编码包:
Du·G′in=Ru
如果步骤206的判断为假,则进入步骤208。
在步骤208,等待第u+1个包组的到来。如果第u-l+2个包组到第u+1个包组这l个包组中,除第u个包组,都没有丢失数据包,或者通过步骤3恢复出全部数据包,则与步骤4相似的,可还原出压缩在Su+1,i(i=1,2,…,Nout)中的Nout个第u个包组的监督包:
p u , i = S u + 1 , I - Σ j = 0 , j ≠ 1 l - 1 p u - j , N in + j · N out + I
其中,i=Nin+Nout+1,Nin+Nout+2,…,Nin+2·Nout,I=i-Nin-Nout。这样便总共得到了第u个包组的Nin+2·Nout个监督包。并使k值加1(k的初值为1),然后进入步骤8。
在步骤209,判断Nl是否小于Nin+k×Nout,如果判断为真,则进入步骤9。
在步骤210,利用在步骤7中新获得的Nout个监督包,便得到了Nin+k×Nout个当前包组的监督包,这相当于将步骤3中的Gin扩展了k×Nout列,于是和步骤6类似的,可以恢复出第u个包组的任意丢失小于Nin+k×Nout个编码包。
如果步骤209中的判断为假,则回到步骤208,继续等待后续编码包组的到来,和步骤208进行相同的操作,提取出第u个包组的监督包,之后进入步骤209判断是否收集到足够的监督包,否则继续循环,直到收集到足够的监督包,并最终恢复出第u包组的数据包。
性能分新
对本文发明提出的一种数据包可靠传输的方法进行了仿真。
仿真条件:选取Gilbert模型作为仿真的网络模型,从而更接近丢包具有相关性的实际网络状况,以便更有效的示例本发明的实际应用性能,其中平均丢包率从0.01步进到0.1,条件丢包率为0.3,突发丢包长度的期望为1.427。将本发明的方案记为CCRS,传统的基于RS编码和奇偶校验编码的包编码方案分别记为CRS和CPC
仿真一:使上述的三种方案具有相同编码效率,比较其丢包恢复性能。三种方案的编码参数分别为CCRS(15,2,1,3),CRS(15,12)和CPC(5,4),其中CCRS(15,2,1,3)表示n=15,Nin=2,Nout=1,l=3。显然三种方案的编码效率均为4/5。从图6中可看出本发明CCRS方案的丢包恢复性能要明显好于其他两种方案。
仿真二:使不同的方案具有相当的丢包恢复性能,比较其编码效率。图7为CCRS(15,2,1,3)与CRS(15,11)的丢包恢复性能比较,可以看出两者在丢包率适中的条件下,恢复性能比较接近。两种方法的传输效率参数如表1所示。从表1可以看出,在恢复性能不损失的条件下,本文提出的算法可以很大程度提升传输效率。
Figure BSA00000187757400111

Claims (6)

1.一种数据包可靠传输的方法,该方法包括以下步骤:
(1)利用RS码(里德-所罗门码)生成矩阵,构造其一个缺失子矩阵作为包编码的生成矩阵,并以此新生成矩阵产生当前数据包组的所有监督包;
(2)将当前数据包组生成的所有监督包进行跨包组重新分配;
(3)将分配后的编码包组进行包组内二次编码;
(4)接收端采用自适应丢包恢复,根据当前编码包组丢包数目的不同,自适应的等待相应数量的后续关联包组,进行恢复。
2.根据权利要求1,采用的包编码的生成矩阵G,其特征在于:
设Gg×h为一个g行h列的RS码的系统生成矩阵,并将其表示成子矩阵形式:
G g × h = I g W g × ( g + r ) =
I k O k × N out W in k × N in W out k × ( r - N in ) O N out × k I N out Y in N out × N in Y out N out × ( r - N in )
I表示单位阵,O表示零矩阵,Nin为一个包组的包组内监督包数目,Nout为一个包组的跨包组监督包数目,
Figure FSA00000187757300013
为k行Nin列的包组内包组内子监督矩阵,
Figure FSA00000187757300014
为Nout行Nin列的包组内子监督矩阵,
Figure FSA00000187757300015
为k行r-Nin列的跨包组子监督矩阵,
Figure FSA00000187757300016
为Nout行r-Nin列的跨包组子监督矩阵。g=k+Nout,h=k+Nout+r,k为包组中数据包的个数,r为这些数据包通过包编码生成监督包的个数。构造一个k行k+r列的Gg×h的缺失子矩阵,并将其作为监督包生成的生成矩阵:
G = I k W in k × N in W out k × ( r - N in ) = I k W k × r
3.根据权利要求1,将当前包组的数据包生成的所有监督包进行跨包组分配,并形成新的编码包组,其特征在于:
设当前包组为第u个包组,当前包组所有监督包为pu=[pu,1 pu,2…pu,r]。通过这种监督包的分配方法,将当前编码包组分成三部分:数据包部分du,包组内监督部分Vu,in和跨包组监督部分Vu,out
du=[du,1 du,2…du,k]
V u , in = p u , 1 p u , 2 · · · p u , N in
V u , out = S u , 1 S u , 2 · · · S u , N out
其中,du,i为第u个包组中的第i个数据包,Su,i为第u个包组中第i个跨包组监督包,Su,i表达式如下:
S u , i = Σ j = 0 l - 1 p u - j , n in + j · N out + i
其中l为相关联的包组数。
4.根据权利要求1,将编码包组进行包组内二次编码,其特征在于:
将Su,i(i=1,2,…Nout)与pu,i(i=1,2,…Nin)建立下面的监督关系:
R u , i = p u , i + Σ j = 1 N out y j , i · S u , j
Figure FSA00000187757300025
其中,i=1,2,…Nin
Figure FSA00000187757300026
为Gg×h中的子矩阵。然后用Ru,i替换包组中的pu,i,组成新的Vu,in,并形成最终的编码包组,且满足下面的关系。
Du·Gin=Ru
其中, D u = d u , 1 d u , 2 · · · d u , k S u , 1 S u , 2 · · · S u , N out ,
R u = d u , 1 d u , 2 · · · d u , k S u , 1 S u , 2 · · · S u , N out R u , 1 R u , 2 · · · R u , N in
G in = I k O k × N out W in k × N in O N out × k I N out Y in N out × N in
5.根据权利要求1,采用自适应的包解码方法,其特征在于:
设Nl为当前编码包组的丢包数,假设与此包组相关联的前l-1个包组的数据包是完整的,即没有丢失或已经顺利恢复丢包,且按照上述的包编码方法,每获得一个监督包,就可以多恢复出一个丢包。
(1)若Nl≤Nin,则利用解线性方程组方法,不需要任何其他编码包组的协助,就能够进行恢复丢包。
(2)若Nin<Nl≤Nin+Nout,假设之前的l-1包组是完整的,即包组内没有丢包或者已经恢复所有数据包,首先计算出pa,b(a∈{u-l-1,u-l,…,u-1},b∈{1,2,…,m}),再还原出隐藏在Su,i(i=1,2,…,Nout)中的Nout个第u个包组的监督包:
p u , i = S u , I - Σ j = 1 l - 1 p u - j , N in + j · N out + I
其中,i∈{Nin+1,Nin+2,…,Nin+Nout},I=i-Nin,为第u个包组的第i个监督包累加在跨包组监督部分的位置下标。将还原出的监督包和包组内监督部分Vu,out联合起来,便得到了Nin+Nout个第u个包组的监督包,这相当于将当前包组生成矩阵Gin扩展了Nout列:
G in ′ = I k O k × N out W in k × N in W out , 1 k × N out O N out × k I N out Y in N out × N in O N out × N out
其中是Gg×h
Figure FSA00000187757300034
的前Nout列组成的子矩阵。任取G′in的k列,对这k维的列向量组,截取其前k行得到的方阵一定是Gg×h的一个缺失子方阵。此方阵的列向量是线性无关的,于是这任取G′in的k列也是线性无关的,可以恢复当前包组中所有的数据包。
(3)如果Nl>Nin+Nout,现有的恢复能力不能满足需求,则等待第u+1个包组的到来。如果第u-l+2个包组到第u+1个包组这l个包组中,除第u个包组,都没有丢包,或者通过包组内监督部分恢复出包组内全部数据包,进而还原出压缩在Su+1,i(i=1,2,…,Nout)中的Nout个第u个包组的监督包:
p u , i = S u + 1 , I - Σ j = 1 , j ≠ 1 l - 1 p u - j , N in + j · N out + I
其中,i∈{Nin+Nout+1,Nin+Nout+2,…,Nin+2·Nout},I=i-Nin-Nout。这样便总共得到了第u个包组的Nin+2·Nout个监督包,与步骤二中,可以得到新的增加了Nout列的当前包组生成矩阵。于是,如果Nl≤Nin+2·Nout,则可以恢复第u个包组中的所有数据包。通过第u个包组后面的l-1个包组的到来,至多可还原出第u个包组的(l-1)·Nout个额外的监督包,这样至多可以恢复出第u个包组中的Nin+l·Nout个丢包。
(4)、若Nl>Nin+l·Nout,则当前包组丢失情况超出恢复上限,放弃恢复当前包组的丢包。
6.根据权利要求5,在自适应包解码过程中,当Nl>Nin+Nout时,可以设置包解码的最大等待包组数M,即为了恢复第u个包组的丢包,已经等待了M个包组,如果仍然没有得到足够的第u个包组的监督包,则不再继续等待后续的包组,放弃对第u个包组的恢复。
CN2010102255740A 2010-07-14 2010-07-14 一种数据包可靠传输方法 Pending CN101882976A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102255740A CN101882976A (zh) 2010-07-14 2010-07-14 一种数据包可靠传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102255740A CN101882976A (zh) 2010-07-14 2010-07-14 一种数据包可靠传输方法

Publications (1)

Publication Number Publication Date
CN101882976A true CN101882976A (zh) 2010-11-10

Family

ID=43054883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102255740A Pending CN101882976A (zh) 2010-07-14 2010-07-14 一种数据包可靠传输方法

Country Status (1)

Country Link
CN (1) CN101882976A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152652A (zh) * 2013-03-15 2013-06-12 浙江大学 一种基于柯西rs编码的视频帧数据网络传输方法
WO2018149304A1 (zh) * 2017-02-15 2018-08-23 中兴通讯股份有限公司 数据处理方法和装置、数据处理设备及存储介质
CN110024314A (zh) * 2016-12-02 2019-07-16 哈曼国际工业有限公司 通信方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2869744A1 (fr) * 2004-04-29 2005-11-04 Thomson Licensing Sa Methode de transmission de paquets de donnees numeriques et appareil implementant la methode
CN101001191A (zh) * 2006-11-24 2007-07-18 北京邮电大学 用于实现超高速数据传输的弹性突发环系统及其传输方法
CN101222297A (zh) * 2008-01-31 2008-07-16 复旦大学 交织码和网络编码结合的数据分发方法
EP2151941A1 (en) * 2008-08-05 2010-02-10 Nokia Siemens Networks OY Communication network element and method transmitting data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2869744A1 (fr) * 2004-04-29 2005-11-04 Thomson Licensing Sa Methode de transmission de paquets de donnees numeriques et appareil implementant la methode
CN101001191A (zh) * 2006-11-24 2007-07-18 北京邮电大学 用于实现超高速数据传输的弹性突发环系统及其传输方法
CN101222297A (zh) * 2008-01-31 2008-07-16 复旦大学 交织码和网络编码结合的数据分发方法
EP2151941A1 (en) * 2008-08-05 2010-02-10 Nokia Siemens Networks OY Communication network element and method transmitting data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152652A (zh) * 2013-03-15 2013-06-12 浙江大学 一种基于柯西rs编码的视频帧数据网络传输方法
CN103152652B (zh) * 2013-03-15 2015-11-18 浙江大学 一种基于柯西rs编码的视频帧数据网络传输方法
CN110024314A (zh) * 2016-12-02 2019-07-16 哈曼国际工业有限公司 通信方法和系统
CN110024314B (zh) * 2016-12-02 2022-04-19 哈曼国际工业有限公司 通信方法和系统
WO2018149304A1 (zh) * 2017-02-15 2018-08-23 中兴通讯股份有限公司 数据处理方法和装置、数据处理设备及存储介质

Similar Documents

Publication Publication Date Title
JP5989346B2 (ja) データ再送方法およびその装置
CN107196746A (zh) 实时通信中的抗丢包方法、装置和系统
CN101951556B (zh) 基于网络编码的无线传感器网络数据分发方法
CN101359981B (zh) 一种数据包冗余编解码的方法、装置及系统
CN100362782C (zh) 对丢失数据单元进行恢复的方法
CN101656593B (zh) 前向纠错编码方法、前向纠错译码方法及其装置
CN101662335B (zh) 前向纠错编码方法、前向纠错译码方法及其装置
CN102227103A (zh) 一种基于不等差错保护喷泉码的信道编码传输方法
CN101436917A (zh) 数据编译码方法及装置
CN101350699A (zh) 一种基于增量喷泉的信息分发方法
Zhou et al. Fountain code based adaptive multi-hop reliable data transfer for underwater acoustic networks
CN103650399A (zh) 纠正数据单元的自适应生成
CN103428227A (zh) 基于Huffman编码的IP隐秘通信方法
CN106330199A (zh) 基于因子图的scma和ldpc联合检测译码算法及装置
CN106464432B (zh) 低延迟包纠删编码
US6697996B2 (en) Multi-dimensional packet recovery system and method
CN103716134B (zh) 一次反馈条件下度渐增的喷泉码的编码方法
CN111629232A (zh) 一种基于深度学习的实时视频传输自适应前向纠错方法和系统
CN105119949B (zh) 基于多级切片差异分布统计的数据同步方法及系统
CN101882976A (zh) 一种数据包可靠传输方法
KR20150084099A (ko) 통신 시스템에서 데이터 채널 모델의 파라미터 추정 방법 및 시스템
CN112422235B (zh) 一种基于冗余算法的网络丢包恢复方法
KR101643039B1 (ko) 분산 lt 부호의 차수 분포 최적화 방법
CN106954242A (zh) 一种基于网络编码的卫星分布式动态多径路由方法
CN115811381B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20101110