CN102752184A - 用于实时多播业务的数据通信***及其方法 - Google Patents

用于实时多播业务的数据通信***及其方法 Download PDF

Info

Publication number
CN102752184A
CN102752184A CN2011100987081A CN201110098708A CN102752184A CN 102752184 A CN102752184 A CN 102752184A CN 2011100987081 A CN2011100987081 A CN 2011100987081A CN 201110098708 A CN201110098708 A CN 201110098708A CN 102752184 A CN102752184 A CN 102752184A
Authority
CN
China
Prior art keywords
data
packet
unit
error correction
real
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
CN2011100987081A
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.)
Hohai University HHU
Original Assignee
Hohai University HHU
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 Hohai University HHU filed Critical Hohai University HHU
Priority to CN2011100987081A priority Critical patent/CN102752184A/zh
Publication of CN102752184A publication Critical patent/CN102752184A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种用于实时多播业务的数据通信***。数据通信***包括数据发送端、参数设置单元、数据接收端;其中,数据发送端包括数据分组单元、前向纠错编码单元、发送单元、重传处理单元;数据接收端包括接收单元、前向纠错解码单元、数据解析单元、重传请求单元;本发明还提供一种用于实时多播业务的数据通信方法,包括自适应设置通用纠错结构优化参数的步骤;发送端首发数据包和处理请求重发消息的步骤;接收端接收数据包的处理步骤。本发明通过以自适应方式设置通用纠错结构的优化参数,能有效的利用通信网络中有限带宽资源,满足实时业务在严格时延限制条件下端到端的目标可靠性要求。

Description

用于实时多播业务的数据通信***及其方法
技术领域:
本发明涉及在通信网络中的实时多播通信领域,提出一种用于实时多播业务的数据通信***及保证实时多播业务端到端的可靠性方法。
背景技术:
多播是IPv6数据包的3种基本目的地址类型之一,多播是一点对多点的通信,IPv6没有采用IPv4中的组播术语,而是将广播看成是多播的一个特殊例子。
IP多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。多播作为一点对多点的通信,是节省网络带宽的有效方法之一。在网络音频/视频广播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有多播才是最好的选择。多播能使一个或多个多播源只把数据包发送给特定的多播组,而只有加入该多播组的主机才能接收到数据包。目前,IP多播技术被广泛应用在网络音频/视频广播、AOD/VOD、网络视频会议、多媒体远程教育、“push”技术(如股票行情等)和虚拟现实游戏等方面。
有些应用会有这样的要求:一些分布在各处的进程需要以组的方式协同工作,组中的进程通常要给其他所有的成员发送消息。即有这样的一种方法能够给一些明确定义的组发送消息,这些组的成员数量虽然很多,但是与整个网络规模相比却很小。给这样一个组发送消息称为多点点播送,简称多播。
随着通信网络的高速发展,实时业务已吸引了越来越多的注意。基于IP的多播***通常采用传统的实时传输协议(RTP)来提供关于接收端与接收质量等信息。然而,传统RTP并不提供任何机制保证实时多播业务的业务质量要求(QoS)。然而,由于实时业务的特殊QoS需求以及现有通信网环境的多样性和复杂性,传统的网络协议已经满足不了实时业务的QoS需求。例如:传统的TCP协议由于延迟过大,而无法满足实时业务的严格时延要求;而UDP协议由于没有提供任何纠错机制,而无法满足实时业务的可靠性要求。
在移动通信领域,一些相关的国际组织已经提出了专门针对实时多媒体多播业务的初步解决方案。例如,3GPP组织提出的“多媒体广播多播”协议草案和3GPP2组织提出的“广播多播”协议草案。这两个方案都是基于纯前向纠错编码(FEC)的方法。在互联网通信领域,目前提出的协议标准大多是基于纯FEC或者自动请求重传(ARQ)的方法,例如RFC3940定义的NORM和RFC4585定义的RTP/AVPF等协议标准采纳的都是基于ARQ的方法。
对于实时多播业务,由于具有严格的时延限制,在多播场景中链路延时较大的场合,则无法使用基于重传的机制,此时的纠错方案只能选择FEC的方法;在链路延时较小的场合,则可以使用基于重传的机制,在这种情况下,则有众多的纠错方法可供选择,如ARQ,I类HARQ和II类HARQ等方法。现有研究表明:在多播组中用户数目较少的情况下,基于ARQ的方法因不需要编解码操作,因而具有实现简单的优点,而且效率与HARQ方法相近,因而可作为首选方案;当用户数目较多时,则基于HARQ的方法在吞吐量性能方面的优势逐渐增强,可以作为优选方法替代基于ARQ的方法;但是,当用户数目多到一定程度时,则基于FEC的方法成为最优的方法。
基于以上介绍可知,为了达到最有效的利用通信网资源满足实时多播业务的QoS要求,必须采用一种具备自适应功能的方法:该方法能根据多播场景的变化自动选择最有效的纠错方法。目前在通信网中的实时多播领域,尚没有可自动根据当前多播场景状况自动选择最优纠错方法的解决方案,用以满足实时多播业务的严格时延下的可靠性要求,同时最大化网络的吞吐量性能。
发明内容:
本发明要解决的技术问题是根据通信网中实时多播***场景的变化状况,提供一种用于实时多播业务的数据通信***及其方法,以最有效的利用通信网中有限带宽资源的方式,满足实时业务的严格时延限制下的可靠性要求。
为解决上述技术问题,本发明提出一种用于实时多播业务的数据通信***:包括数据发送端、参数设置单元、数据接收端;其中,所述数据发送端包括数据分组单元、前向纠错编码单元、发送单元、重传处理单元;所述数据接收端包括接收单元、前向纠错解码单元、数据解析单元、重传请求单元;
所述参数设置单元用于根据实时多播***的当前状况,设置通用纠错结构参数,并分别发送至数据分组单元、发送单元、重传处理单元、接收单元、重传请求单元;
在数据发送端中,
所述数据分组单元用于根据参数设置单元设置的通用纠错结构参数,将实时业务数据流进行分组并封装成数据包;
所述前向纠错编码单元用于将数据分组单元的分组数据包进行编码操作,产生通用纠错结构参数所确定数目的冗余数据包;
所述发送单元用于根据通用纠错结构参数将所述分组数据包发送给数据接收端;
所述重传处理单元用于处理从接收端获取的请求重传信息,根据通用纠错结构参数判断是否产生新的冗余数据包并重新发送给数据接收端;
在数据接收端中,
所述接收单元用于根据通用纠错结构参数接收数据发送端传来的分组数据包,并发送给前向纠错解码单元;
所述前向纠错解码单元用于完成分组数据包的解码操作,当解码成功,则将解码后的信息数据包发送至数据解析单元;当解码失败,则发送失败信息至重传请求单元;
所述数据解析单元用于解析解码后的信息数据包,并恢复出原始的实时业务数据流;
所述重传请求单元用于在接收到前向纠错解码单元的失败信息时,根据通用纠错结构参数判断是否发送重发请求消息给数据发送端。
进一步的,本发明的用于实时多播业务的数据通信***中,通用纠错结构参数包括信息数据包的长度、冗余数据包的数量、最大重传轮数、重传时新的冗余数据包的数目。
本发明还提供一种用于实时多播业务的数据通信方法,包括如下步骤:
步骤A,根据实时多播***的当前状况,设置通用纠错结构参数,并将通用纠错结构参数传送给数据发送端、数据接收端;
步骤B,数据发送端对实时业务数据流按时间先后顺序进行分组打包操作,然后对每组数据包进行编码操作,形成若干个冗余数据包;
步骤C,数据发送端监测多播***的当前状况,当状况发生变化,则返回步骤A重新设置通用纠错结构参数;当状况未发生变化,则进入下一步骤;
步骤D,数据发送端通知数据接收端采用步骤A设置的通用纠错结构参数传送数据包,当接收到数据接收端的反馈确认消息后,向数据接收端发送冗余数据包;
步骤E,数据接收端采用步骤A设置的通用纠错结构参数接收冗余数据包,并判断是否有丢包情况发生:
E-1,当没有丢包情况发生,数据接收端对接收到的冗余数据包进行解码操作,解析恢复出原始的实时业务数据流;
E-2,当发生丢包情况时,数据接收端根据通用纠错结构参数判断是否允许向数据发送端发送重传请求;
当结果为不允许时,数据接收端对已经接收到的数据包进行解码并将解码后的信息数据包传递给上层;
当结果为允许时,数据接收端将请求重发消息反馈给数据发送端;
步骤F,数据发送端接收数据接收端的请求重发消息,并调用通用纠错结构参数判断是否允许向数据接收端重传数据;
当结果为不允许时,则结束操作;
当结果为允许时,数据发送端通过编码操作形成新的冗余数据包,并采用多播的方式向数据接收端发送新的冗余数据包,返回步骤E。
进一步的,本发明的用于实时多播业务的数据通信方法中,通用纠错结构参数包括信息数据包的长度、冗余数据包的数量、最大重传轮数、重传时新的冗余数据包的数目。
进一步的,本发明的用于实时多播业务的数据通信方法中,步骤A中所述实时多播***的当前状况包括多播***中的用户数目、每条链路的丢包率、链路往返延时、分组数据包平均发送间隔时间。
本发明采用上述技术方案具有以下有益效果:
通用纠错结构的所有功能模块均分布在终端设备(即:发送端和接收端)完成,而不需要对通信***的中间环节做任何改造;
通用纠错结构的性能由其设定的参数来确定。通过自适应的方法,可以任意更改该通用纠错结构的参数,最终达到能自适应外界条件变化而优化***性能的目的;
发送端与接收端的实际处理过程均是围绕通用纠错结构设定的参数运行的。参数发生变化,则处理过程会发生相应的变化,以此达到实际运行效果与目标期望性能一致的目的。
本发明提供一种适合通信***中传输实时多媒体业务的***及方法。通过自适应环境变化而设置一种通用纠错结构的优化参数,不仅可以满足实时多媒体业务在严格时延限制条件下的目标可靠性要求,而且可以达到效率最优化的目的,从而有效的节省***中的带宽资源。
附图说明:
图1是本发明的***结构图;
图2是严格时延限制下的通用纠错结构图;
图3是自适应优化通用纠错结构参数流程图;
图4是发送端首发信息数据包处理流程图;
图5是发送端处理请求重发消息流程图;
图6是接收端接收数据包处理流程图。
具体实施方式:
如图1所示,本发明的数据通信***包括数据发送端、参数设置单元、数据接收端;其中,数据发送端包括数据分组单元、前向纠错编码单元、发送单元、重传处理单元;数据接收端包括接收单元、前向纠错解码单元、数据解析单元、重传请求单元。
其中参数设置单元用于根据实时多播***的当前状况,设置通用纠错结构参数,并分别发送至数据分组单元、发送单元、重传处理单元、接收单元、重传请求单元。
其中,发送端将完成以下功能:
1:对实时业务数据流进行分组打包的功能;
2:对分组数据包完成前向纠错编码的功能;
3:处理请求重发消息的功能。
接收端将完成以下功能:
1:接收到分组中足够多的数据包时,对分组数据包进行前向纠错解码的功能;
2:根据情况构造合适的请求重发消息,传送给发送端的功能
3:解析信息数据包,提取实时业务数据信息,恢复原始实时业务数据流的功能。
参数设置单元完成如下功能:根据通信网中实时多播***的当前状况,设置通用纠错结构的最优参数,使之使用最优的纠错方法运行在最优状态。通过设置最优参数,发送端和接收到将使用最优参数完成上述定义的功能,以此达到以最有效的利用网络资源满足实时多播业务严格时延限制条件下的可靠性的目的。
发送端的首发数据包过程完成对实时业务数据流的分组打包功能,并产生通用纠错结构参数定义的一定数量的冗余数据包,一并在首发过程中通过多播的方式发送到多播组的所有接收端。
发送端处理请求重发消息的过程将对所有接收端的请求重发消息进行处理,该过程将根据通用结构设置的参数判断是否能够发送冗余数据包,并发送多少个冗余数据包。
接收端接收数据包的处理过程将完成分组数据包的前向纠错解码功能,负责从信息数据包中解析出实时业务数据信息,恢复出原始的业务数据流。如果解码失败,接收端还需根据实时业务的时延要求判断是否构造请求重发消息,请求发送端重发一定数量的冗余数据包,用以恢复丢失的信息数据包。
如图1所示,在数据发送端中,数据分组单元用于根据参数设置单元设置的通用纠错结构参数,将实时业务数据流进行分组并封装成数据包;前向纠错编码单元用于将数据分组单元的分组数据包进行编码操作,产生通用纠错结构参数所确定数目的冗余数据包;发送单元用于根据通用纠错结构参数将所述分组数据包发送给数据接收端;重传处理单元用于处理从接收端获取的请求重传信息,根据通用纠错结构参数判断是否产生新的冗余数据包并重新发送给数据接收端。
在数据接收端中,接收单元用于根据通用纠错结构参数接收数据发送端传来的分组数据包,并发送给前向纠错解码单元;前向纠错解码单元用于完成分组数据包的解码操作,当解码成功,则将解码后的信息数据包发送至数据解析单元;当解码失败,则发送失败信息至重传请求单元;数据解析单元用于解析解码后的信息数据包,并恢复出原始的实时业务数据流;重传请求单元用于在接收到前向纠错解码单元的失败信息时,根据通用纠错结构参数判断是否发送重发请求消息给数据发送端。
本发明的***结构处理流程如图2所示,其中,发送端负责将实时业务数据流封装成数据包,具体封装要求根据通用纠错结构的参数来确定;通过前向纠错编码负责对分组数据包进行编码操作,产生结构参数所确定数目的冗余数据包;通过重传处理则负责处理从接收端获取到的请求重传消息,然后根据结构参数判断是否需要产生新的冗余数据包重传到各个接收端,如果需要,则为请求重传的分组产生一定数目的新的冗余数据包,通过多播的方式重传给所有接收端。
接收端通过前向纠错解码完成分组数据包的解码操作,根据结构所采用的前向纠错方案,当接收端接收到一定数目的分组数据包后,该模块能通过解码操作恢复出该分组中的所有信息数据包;如果接收到的分组数据包数目不够,则解码失败。重传请求操作在解码失败时发生作用,如果解码失败,将根据实时业务的延时要求和链路的往返延时状况判断是否还允许重传过程发生,如果允许,则构造合适的重发请求消息发送给发送端,请求重发一定数量的冗余数据包,用以恢复某分组中丢失的信息数据包。解析信息数据包完成对所有及时接收到的信息数据包的解析工作,通过解析信息数据的内容,经过重组等操作,恢复出原始的实时业务数据流。
本发明的具体功能实现将依赖于其参数的设定,为了便于描述本发明的其他处理流程,下面定义通用纠错结构参数中使用的四组参数的符号:
表1:通用纠错结构的参数定义
Figure BDA0000056267200000071
其次,为了实现参数的自适应优化设置,该方法必须估算在当前多播场景中使用该方法时的吞吐量性能、可靠性性能及延时性能。为此,下面将用符号“S”表示当前多播场景的参数集合,其中包含当前链路状态、多播组大小及实时业务数据速率等相关信息。结合上面定义的四类参数,可通过适当的函数估算出在当前多播场景中使用指定参数时的吞吐量性能、可靠性性能及延时性能。下面给出这三个函数的定义,如表2所示:
表2:本发明使用的函数定义
Figure BDA0000056267200000072
依靠通用纠错结构的参数,实时多播***的整体运行将由以下四个过程组成:自适应优化通用纠错结构参数过程;发送端首发信息数据包过程;发送端处理请求重发消息和接收端接收数据包处理。这四个过程是相互耦合的关系,通过相互配合,而达到整体实际运行效果与预期效果一致的目的。结合上述参数及函数的定义,下面对本发明的四个处理过程分别进行详细描述。
如图3所示,为多播***自适应优化参数设置过程,其具体步骤详述如下:
A1:初始化该方法所使用的参数,即K,Np,Nmax
Figure BDA0000056267200000073
多播场景中的所有发送端和接收端将使用这些参数运行。在本方法中,***运行的关键过程由下面的过程A2、A3和A4组成;
A2:发送端收集***中所有有关的当前运行的信息,以便于搜索适用于当前场景的优化参数。主要包含多播场景中的用户数目、每条链路的丢包率、链路往返延时、分组包数据包平均发送间隔时间等信息;
A3:根据当前的***信息,发送端将运行搜索程序,搜索适用于当前场景的最优的参数。其优化目标设置为在同时满足目标延时要求和可靠性要求的情况下,使得***的吞吐量最大化。利用上述定义的三个函数,该优化问题可表示如下:
最大化
Figure BDA0000056267200000081
满足条件:
Figure BDA0000056267200000082
满足目标可靠性要求
满足严格的目标时延要求
通过解决上述优化问题,可立即获得最优的参数K,Np,Nmax
Figure BDA0000056267200000084
A4:发送端获得优化参数后,使用控制消息将最优化参数传递到所有接收端,通知准备采用优化参数传送数据包;只有当发送端接收到所有接收端的反馈确认消息后,才开始采用优化参数传送数据包,接收端也将采用优化参数接收数据包;
A5:发送端可以通过设置定时器或者定期检测***参数的方式,监测链路状况或者多播场景等情况是否发生了变化。如果没有变化,***则依然使用当前参数继续运行;如果发生了变化,则重复步骤A2-A4。
如图4所示,为发送端首发信息数据包过程,其具体步骤详述如下:
B1:实时业务数据流按时间先后顺序进入发送端,发送将数据流存入FIFO队列中。
B2:发送端对数据流按进入的时间先后顺序进行分组打包操作,即,将数据流封装成大小相等的信息数据包,然后对这些数据包分组并进行编号,其中每组含K个信息数据包。
B3:发送端按时间先后顺序依次对每组信息数据包进行编码操作,产生Np个冗余信息包,采用的编码算法为***删除码,典型的有Reed-Solomon码或Raptor码等;注意本方法可以采用任意删除纠错码实现。
B4:发送端依次将每组K个信息数据包和对应的Np个冗余信息包发送到多播组中的所有接收端。
如图5所示,为发送端处理请求重发消息过程,其具体步骤详述如下:
D1:发送端接收到某个接收端的请求重发消息,通过解析消息内容,可知该接收端请求重发至少r个冗余信息包,用于恢复其指定分组丢失的信息数据包;
D2:发送端查询针对该分组的重传记录,可知至当前时刻为止已发生重传的轮数,这里用符号w表示;
D3:发送端判断是否超过了规定的最大重传轮数限制,如果没有超过限制,则表示允许发送端重传冗余数据包,即执行D4;如果超过了限制,则结束流程;
D4:针对该请求重发消息指定的分组,发送端查询历史记录,得到本轮重传过程中已经重传的冗余数据包数目,这里记为m;
D5:发送端判断m是否小于R(w+1)r,如果是,则执行D6;否则,结束流程;
D6:发送端通过编码操作,为该分组产生R(w+1)r-m个新的冗余数据包;
D7:通过采用多播的方式,发送端向多播组中的所有用户发送D6过程中生成的全部冗余数据包。
在上述过程中D2-D3与D4-D5过程可以整体互换。
如图6所示,为接收端接收数据包处理过程,其具体步骤详述如下:
C1:接收端接收到数据包后,根据其所带序号判断属于哪个分组,然后将其缓存到对应的分组缓冲区中;
C2:接收端判断该分组缓冲区中的数据包数目是否已经足够可以执行解码操作;如果可以,则执行C3;如果不可以则执行C4;
C3:接收端对缓冲区中的分组数据包执行解码操作,解出该分组中的K个原始信息数据包;
C4:接收端判断是否有丢包的情况发生,判断方法可以采用包序号检测法或者定时器超时检测法等方法,如果有丢包情况发生,则执行C5;否则对该数据包的接收处理流程结束;注意C4和C2的执行顺序可以互换;
C5:根据分组数据包缓冲区中接收到的数据包情况,接收端判断是否需要向发送端发送请求重发信息,请求发送端重发一定量的冗余信息包,用于恢复该分组中丢失的数据包;
C6:根据实时多媒体业务应用的严格延时要求,接收端判断是否还允许重传发生,如果不允许,则执行C7;如果允许,则执行C9。注意C6和C5的执行顺序可以互换;
C7:接收端将分组缓冲区中接收到的或者解码得到的所有信息数据包传递到上层;
C8:接收端清出所有为该分组缓冲区设置的重传定时器;注意C8和C7的执行顺序可以互换;
C9:接收端根据该分组缓冲区中接收到的数据包情况,构造针对该分组的请求重发消息,内含请求重发冗余数据包的最小数目,然后通过多播或者单播的方式反馈给发送端;
C10:接收端设置重传定时器,等待发送端重传所需的冗余信息包。如果该定时器超时,发送端则重复执行C2-C10。
下面对本发明中涉及的优化函数做进一步的详细说明,注意该组函数是基于对集合“S”的某个具体定义上的,基于这些函数的适当简化或者修改,可以达到近似的性能。
附录1:相关数学定义
为了简化描述,本附录给出与函数描述相关的数学公式和符号的定义。首先,定义集合“S”中的所使用的参数,“S”表示当前多播场景的参数集合,其中包含当前链路状态、多播组大小及实时业务数据速率等相关信息。如下表所示。
表3:集合“S”中所包含的所有参数定义
Figure BDA0000056267200000101
其次,计算出最坏链路的丢包率以及最大的往返延迟,即:
Pe(jmax)=max(Pe(1),Pe(2),...,Pe(Nrecv))
RTTmax=max(RTT(1),RTT(2),...,RTT(Nrecv))
然后,定义函数C(m,n,p)计算如下概率:对任意接收端,在其链路丢包率为P的情况下,发送端发送m个数据包,该接收端接收到n个数据包的概率,即:
C ( m , n , p ) = m n ( 1 - p ) n ( p ) m - n
其中下同。
接着,定义多播***的平均丢包率
Figure BDA0000056267200000112
为:
P e ‾ = Σ i = 1 N recv P e ( j ) N recv
最后,定义一个比较两个参数大小的函数如下:
f cmr ( x 1 , x 2 ) = 0 , x 1 = x 2 1 , x 1 > x 2
附录2:估算最大延时函数:
根据获得的RTTmax,最大的端到端延时将由以下公式进行估算:
F D ( K , N p , N max , R ρ , s ) = ( 1 2 + N max ) · RTT max + ( K + N p ) · T s
附录3:估算可靠性性能的函数:
首先,给定实施方案的参数K和Np,定义两组函数如下:
P = m = C ( K + N p , K - m , P e ‾ )
P < m = &Sigma; i = 0 N p + m - 1 C ( K + N p , K + N p - i , P e &OverBar; )
其次,在前面定义的基础上,定义针对第j个接收端的三元函数Preq(m,c,j)如下:
P req ( m , c , j ) = C ( K + N p , K - c , P e ( j ) ) &Sigma; h = f cmr ( m , c ) N recv - 1 N recv - 1 h ( P = m ) h ( P < m ) N recv - h - 1
最后,使用前面定义的函数,采用下式计算第j个接收端的最终丢包率性能:
F R j ( K , N p , N max , R &rho; , S ) = 1 K &Sigma; i = 1 K &Sigma; b = max ( N p + 1 , i ) N p + i &Sigma; m = b - N p K i &CenterDot; K i N p b - i K + N p b P req ( m , b - N p , j ) P f ( b , m , j , N max )
其中:1≤j≤Nrecv
在该式中,函数Pf(b,m,j,Nmax)的值采用下述两步迭代方法计算:
第一步,按以下公式初始化Pf(b,m,j,1)的值;
P f ( b , m , j , 1 ) = &Sigma; r 1 = 0 r max 1 ( C ( R ( 1 ) &CenterDot; m , r 1 , P e ( j ) ) )
其中, r max 1 = b - N p - 1 ;
第二步,按以下迭代公式计算得到Pf(b,m,j,Nmax)的值:
P f ( b , m , j , w ) = P f ( b , m , j , w - 1 ) ( &Sigma; r w = 0 r max w C ( R ( w ) &CenterDot; max ( 0 , b - N p - &Sigma; q = 1 w - 1 r q , r w , P e ( j ) ) )
其中,
Figure BDA0000056267200000123
且1<w≤Nmax
附录4:估算吞吐量性能的函数:
首先,使用定义的多播***平均丢包率,定义两组函数如下:
P lost = i ( m ) = C ( m , m - i , P e &OverBar; )
P lost < i ( m ) = &Sigma; n = 0 i - 1 C ( m , m - n , P e &OverBar; )
依据附录3中估算出的所有接收端的丢包率性能,则***的吞吐量性能可由下式计算:
F T ( K , N p , N max , R &rho; , S ) = 1 - 1 N recv &Sigma; j = 1 N recv F R j ( K , N p , N max , R &rho; , S ) 1 + N p K + 1 K &Sigma; w = 1 N max &Sigma; i = 1 K i &CenterDot; R ( w ) &CenterDot; P max = i ( w )
其中
Figure BDA0000056267200000127
的计算方法分为如下两种情况:
●情况1:w=1
P max = i ( 1 ) = &Sigma; h = 1 N recv N recv h ( P = i ) h ( P < i ) N recv - h , 1 &le; m &le; k
●情况2:1<w≤Nmax
P max = i ( w ) = &Sigma; m = i k &Sigma; g = 1 N recv P req , max ( m , g , w - 1 ) .
( &Sigma; h = 1 g g h ( P lost = ( R ( w - 1 ) - 1 ) &CenterDot; m + i ( R ( w - 1 ) &CenterDot; m ) ) h ( P lost < ( R ( w - 1 ) - 1 ) &CenterDot; m + i ( R ( w - 1 ) &CenterDot; m ) ) g - h )
在情况2中,函数Preq,max(m,g,w)的值采用以下两步迭代过程计算:
第一步:按以下公式初始化Preq,max(m,g,w)在w=1情况下的值
P req , max ( i , h , 1 ) = N recv h ( P = m ) h ( P < m ) N recv - h
其中:1≤i≤k;1≤h≤Nrecv
第二步:按以下迭代公式计算,即可得到Preq,max(m,g,w)在1<w≤Nmax情况下的值:
P req , max ( i , h , w ) = &Sigma; m = i k &Sigma; g = h N recv P req , max ( m , g , w - 1 ) .
g h ( P lost = ( R ( w - 1 ) - 1 ) &CenterDot; m + i ( R ( w - 1 ) &CenterDot; m ) ) h ( P lost < ( R ( w - 1 ) - 1 ) &CenterDot; m + i ( R ( w - 1 ) &CenterDot; m ) ) g - h
综上所述,为了以有效的利用通信网络中有限的带宽资源的方式,满足实时多播业务的可靠性,本发明提出一种保证通信网络中实时多播业务端到端的可靠性保证方法。由上述具体实施方式可知,该方法仅需对发送端和接收端进行适当的改造便可实现,且实现方式灵活简单,如采用软件或硬件升级的方式均可,无需对现有的通信网络或***做任何改造。因而本发明具有实现简单方便、代价低廉的优点,非常易于推广应用。

Claims (5)

1.一种用于实时多播业务的数据通信***,其特征在于:包括数据发送端、参数设置单元、数据接收端;其中,所述数据发送端包括数据分组单元、前向纠错编码单元、发送单元、重传处理单元;所述数据接收端包括接收单元、前向纠错解码单元、数据解析单元、重传请求单元;
所述参数设置单元用于根据实时多播***的当前状况,设置通用纠错结构参数,并分别发送至数据分组单元、发送单元、重传处理单元、接收单元、重传请求单元;
在数据发送端中,
所述数据分组单元用于根据参数设置单元设置的通用纠错结构参数,将实时业务数据流进行分组并封装成数据包;
所述前向纠错编码单元用于将数据分组单元的分组数据包进行编码操作,产生通用纠错结构参数所确定数目的冗余数据包;
所述发送单元用于根据通用纠错结构参数将所述分组数据包发送给数据接收端;
所述重传处理单元用于处理从接收端获取的请求重传信息,根据通用纠错结构参数判断是否产生新的冗余数据包并重新发送给数据接收端;
在数据接收端中,
所述接收单元用于根据通用纠错结构参数接收数据发送端传来的分组数据包,并发送给前向纠错解码单元;
所述前向纠错解码单元用于完成分组数据包的解码操作,当解码成功,则将解码后的信息数据包发送至数据解析单元;当解码失败,则发送失败信息至重传请求单元;
所述数据解析单元用于解析解码后的信息数据包,并恢复出原始的实时业务数据流;
所述重传请求单元用于在接收到前向纠错解码单元的失败信息时,根据通用纠错结构参数判断是否发送重发请求消息给数据发送端。
2.根据权利要求1所述的用于实时多播业务的数据通信***,其特征在于:所述通用纠错结构参数包括信息数据包的长度、冗余数据包的数量、最大重传轮数、重传时新的冗余数据包的数目。
3.一种用于实时多播业务的数据通信方法,其特征在于,包括如下步骤:
步骤A,根据实时多播***的当前状况,设置通用纠错结构参数,并将通用纠错结构参数传送给数据发送端、数据接收端;
步骤B,数据发送端对实时业务数据流按时间先后顺序进行分组打包操作,然后对每组数据包进行编码操作,形成若干个冗余数据包;
步骤C,数据发送端监测多播***的当前状况,当状况发生变化,则返回步骤A重新设置通用纠错结构参数;当状况未发生变化,则进入下一步骤;
步骤D,数据发送端通知数据接收端采用步骤A设置的通用纠错结构参数传送数据包,当接收到数据接收端的反馈确认消息后,向数据接收端发送冗余数据包;
步骤E,数据接收端采用步骤A设置的通用纠错结构参数接收冗余数据包,并判断是否有丢包情况发生:
E-1,当没有丢包情况发生,数据接收端对接收到的冗余数据包进行解码操作,解析恢复出原始的实时业务数据流;
E-2,当发生丢包情况时,数据接收端根据通用纠错结构参数判断是否允许向数据发送端发送重传请求;
当结果为不允许时,数据接收端对已经接收到的数据包进行解码并将解码后的信息数据包传递给上层;
当结果为允许时,数据接收端将请求重发消息反馈给数据发送端;
步骤F,数据发送端接收数据接收端的请求重发消息,并调用通用纠错结构参数判断是否允许向数据接收端重传数据;
当结果为不允许时,则结束操作;
当结果为允许时,数据发送端通过编码操作形成新的冗余数据包,并采用多播的方式向数据接收端发送新的冗余数据包,返回步骤E。
4.根据权利要求3所述的用于实时多播业务的数据通信方法,其特征在于:所述通用纠错结构参数包括信息数据包的长度、冗余数据包的数量、最大重传轮数、重传时新的冗余数据包的数目。
5.根据权利要求3所述的用于实时多播业务的数据通信方法,其特征在于:步骤A中所述实时多播***的当前状况包括多播***中的用户数目、每条链路的丢包率、链路往返延时、分组数据包平均发送间隔时间。
CN2011100987081A 2011-04-20 2011-04-20 用于实时多播业务的数据通信***及其方法 Pending CN102752184A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100987081A CN102752184A (zh) 2011-04-20 2011-04-20 用于实时多播业务的数据通信***及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100987081A CN102752184A (zh) 2011-04-20 2011-04-20 用于实时多播业务的数据通信***及其方法

Publications (1)

Publication Number Publication Date
CN102752184A true CN102752184A (zh) 2012-10-24

Family

ID=47032088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100987081A Pending CN102752184A (zh) 2011-04-20 2011-04-20 用于实时多播业务的数据通信***及其方法

Country Status (1)

Country Link
CN (1) CN102752184A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015027370A1 (en) * 2013-08-26 2015-03-05 Telefonaktiebolaget L M Ericsson (Publ) A method and arrangements in a communication system for enabling feedback transmission
CN105490773A (zh) * 2015-11-26 2016-04-13 珠海多玩信息技术有限公司 传输多媒体数据的方法和装置
CN105981332A (zh) * 2014-03-21 2016-09-28 英特尔公司 使用喷泉码广播管理信息
CN109565645A (zh) * 2016-08-11 2019-04-02 华为技术有限公司 组播业务传输方法、终端、基站和通信***
CN112820306A (zh) * 2020-02-20 2021-05-18 腾讯科技(深圳)有限公司 语音传输方法、***、装置、计算机可读存储介质和设备
CN113541872A (zh) * 2021-07-14 2021-10-22 北京达佳互联信息技术有限公司 实时通信方法和实时通信装置
CN113835335A (zh) * 2021-09-28 2021-12-24 中孚安全技术有限公司 一种基于光单向传输的时钟同步方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529461A (zh) * 2003-10-17 2004-09-15 中国科学院计算技术研究所 多播环境中的自适应服务质量保证方法
CN101588597A (zh) * 2009-07-01 2009-11-25 南京工业大学 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法
CN101686106A (zh) * 2008-09-28 2010-03-31 华为技术有限公司 自适应前向纠错的方法、装置和***
CN101720062A (zh) * 2009-11-13 2010-06-02 清华大学 融合宽带无线通信与电视广播业务的***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529461A (zh) * 2003-10-17 2004-09-15 中国科学院计算技术研究所 多播环境中的自适应服务质量保证方法
CN101686106A (zh) * 2008-09-28 2010-03-31 华为技术有限公司 自适应前向纠错的方法、装置和***
CN101588597A (zh) * 2009-07-01 2009-11-25 南京工业大学 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法
CN101720062A (zh) * 2009-11-13 2010-06-02 清华大学 融合宽带无线通信与电视广播业务的***

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015027370A1 (en) * 2013-08-26 2015-03-05 Telefonaktiebolaget L M Ericsson (Publ) A method and arrangements in a communication system for enabling feedback transmission
CN105981332B (zh) * 2014-03-21 2019-12-24 英特尔公司 使用喷泉码广播管理信息
CN105981332A (zh) * 2014-03-21 2016-09-28 英特尔公司 使用喷泉码广播管理信息
US10228954B2 (en) 2014-03-21 2019-03-12 Intel Corporation Broadcasting management information using fountain codes
CN105490773B (zh) * 2015-11-26 2019-04-09 珠海多玩信息技术有限公司 传输多媒体数据的方法和装置
CN105490773A (zh) * 2015-11-26 2016-04-13 珠海多玩信息技术有限公司 传输多媒体数据的方法和装置
CN109565645A (zh) * 2016-08-11 2019-04-02 华为技术有限公司 组播业务传输方法、终端、基站和通信***
CN109565645B (zh) * 2016-08-11 2021-05-18 华为技术有限公司 组播业务传输方法、终端、基站和通信***
CN112820306A (zh) * 2020-02-20 2021-05-18 腾讯科技(深圳)有限公司 语音传输方法、***、装置、计算机可读存储介质和设备
CN112820306B (zh) * 2020-02-20 2023-08-15 腾讯科技(深圳)有限公司 语音传输方法、***、装置、计算机可读存储介质和设备
CN113541872A (zh) * 2021-07-14 2021-10-22 北京达佳互联信息技术有限公司 实时通信方法和实时通信装置
CN113541872B (zh) * 2021-07-14 2024-04-16 北京达佳互联信息技术有限公司 实时通信方法和实时通信装置
CN113835335A (zh) * 2021-09-28 2021-12-24 中孚安全技术有限公司 一种基于光单向传输的时钟同步方法及***

Similar Documents

Publication Publication Date Title
US9136983B2 (en) Streaming and buffering using variable FEC overhead and protection periods
US20100214970A1 (en) Method and system for transmitting data packets from a source to multiple receivers via a network
Xu et al. CMT-NC: improving the concurrent multipath transfer performance using network coding in wireless networks
EP2437421B1 (en) Method, device and communication system for retransmitting based on forward error correction
CN100592670C (zh) 一种在iptv网络中动态自适应前向差错控制的***及方法
CN102752184A (zh) 用于实时多播业务的数据通信***及其方法
CN102687448A (zh) 网络中可靠实时数据流传输的高效应用层自动重复请求重发的方法
EP1779606A1 (en) System and method for higher throughput through a transportation network
KR100883576B1 (ko) 멀티캐스트/브로드캐스트 데이터 배포를 위한 데이터 복구강화
KR20080052042A (ko) 데이터를 멀티캐스팅하는 방법 및 장치
Roca et al. Block or convolutional AL-FEC codes? A performance comparison for robust low-latency communications
CN107209713A (zh) 按需文件修复的方法和***
Prior et al. Systematic network coding for packet loss concealment in broadcast distribution
CN102546096A (zh) 一种基于不等错误保护的实时多播自适应优化方法
Wang et al. Applying PR-SCTP to transport SIP traffic
Lohmar et al. Performance evaluation of a file repair procedure based on a combination of MBMS and unicast bearers
CN114422864A (zh) 一种音视频抗弱网传输方法及***
Tan et al. Application layer hybrid error correction with reed-solomon code for DVB services over wireless LANs
Tan et al. On the architecture of erasure error recovery under strict delay constraints
Sorour et al. A network coded ARQ protocol for broadcast streaming over hybrid satellite systems
EP3809748A1 (en) Data transmitting method and device, and data receiving method and device
Qin et al. Joint generation network coding in unreliable wireless networks
Chen et al. Interleaved FEC/ARQ coding for QoS multicast over the internet
US6981194B1 (en) Method and apparatus for encoding error correction data
Carle Error Control for Real-Time Audio-Visual Services

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: 20121024