[发明专利]一种采用网络编码的网络传输方法有效
| 申请号: | 201110025347.8 | 申请日: | 2011-01-24 |
| 公开(公告)号: | CN102123006A | 公开(公告)日: | 2011-07-13 |
| 发明(设计)人: | 黄佳庆;程文青;尹柳 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | H04L1/00 | 分类号: | H04L1/00 |
| 代理公司: | 华中科技大学专利中心 42201 | 代理人: | 方放 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 一种采用网络编码的网络传输方法,属于网络信息传输方法,解决因采用网络编码对网络中具有计算和存储等可用资源较少的节点的影响而增加的解码时延,从而提高整个网络的传输效率。本发明包括初始化步骤、建树启动步骤、信源节点入栈步骤、出栈步骤、中间节点入栈步骤和回溯步骤。本发明可以实现采用网络编码后计算能力的均衡,而且通过减少网络编码操作数来降低网络编码带来的复杂性,尤其适合于节点计算和存储等可用资源不相同的异构网络,可以解决因采用网络编码后对具有计算和存储可用资源较少的网络节点造成的较重负担所导致的解码时延,进而造成的网络整体性能的下降问题。 | ||
| 搜索关键词: | 一种 采用 网络 编码 传输 方法 | ||
【主权项】:
1.一种采用网络编码的网络传输方法,包括如下步骤:一.初始化步骤,建立节点链路初始化信息表,包括下述子步骤:1.1清除网络G(V,E)中各个节点的节点标记,从网络的所有节点V={v1,v2,L,vυ}中确定信源节点s和信宿节点tk,1≤k≤τ,τ为信宿节点数;υ为网络中总节点数;1.2计算信源节点s到各个信宿节点tk的最大流f(tk),将f=min{f(tk)|1≤k≤τ}作为有向多边图的最大流;1.3计算网络中各个节点vi∈V到每个信宿节点tk的最短距离Dk(vi),1≤i≤υ,并填入相应的各个节点到信宿节点的最短距离向量D(vi)=[Dk(vi)τ×1中;1.4初始化各节点的链路可用带宽向量
根据有向多边图,将各节点vi到其对应的每个始节点uij的链路可用带宽BW(uij,vi)初始化为各节点vi为终节点时,到其对应的每个始节点uij间的并行有向链路条数,1≤j≤P(vi),P(vi)为该节点vi对应的始节点数;1.5将各节点vi的网络编码操作数NC(vi)初始化为0,将各有向链路ey∈E的链路标记集合LMC(ey)初始化为空集,E={e1,e2,Λ,eε},1≤y≤ε,ε为网络中总有向链路条数;1.6置当前在建多播树编号N=0,转步骤二;二.建树启动步骤:2.1设置信源节点s为当前节点x,并加上确定标记;2.2置当前在建多播树编号N=N+1,转步骤三;三.信源节点入栈步骤,包括下述子步骤:3.1在当前节点x的所有邻居节点中,判断是否存在节点vi满足条件:未被标记、其与当前节点x间的链路可用带宽BW(x,vi)>0且D min(vi)<∞,是则将所有满足条件的节点构成节点集合VS,进行子步骤3.2;否则结束;D min(vi)=min{Dk(vi)|tk未被标记};3.2对于集合VS中的每一个节点,任选其与当前节点x间一条未标记的有向链路,构成节点-未标记链路对,进行子步骤3.3;3.3在集合VS中,判断是否存在其网络编码操作数NC(vi)>0的节点,是则将所有满足条件的节点构成子集合VS1,进行子步骤3.4;否则转子步骤3.5;3.4在子集合VS1中,按照节点与当前节点x间的链路可用带宽BW(x,vi)的大小由小到大,将节点对应的节点-未标记链路对压入网络编码栈;当多个节点的BW(x,vi)相同时,则再按节点的网络编码操作数NC(vi)的大小从大到小,将其对应的节点-未标记链路对压入网络编码栈;进行子步骤3.5;3.5在集合VS中,判断是否存在节点vi满足条件:非信宿节点、其链路可用带宽向量BW(vi)不为初始值且其网络编码操作数NC(vi)=0,是则将所有满足条件的节点构成子集合VS2,进行子步骤3.6,否则转子步骤3.7;3.6在子集合VS2中,按照节点与当前节点x间的链路可用带宽BW(x,vi)的大小由小到大,将节点对应的节点-未标记链路对压入路由栈;当多个节点的BW(x,vi)相同时,则再按节点的Dmax(vi)的大小从小到大,将其对应的节点-未标记链路对压入路由栈;D max(vi)=max{Dk(vi)|tk未被标记};进行子步骤3.7;3.7在集合VS中,判断是否存在其链路可用带宽向量BW(vi)等于初始值的非信宿节点,是则将它们构成子集合VS3,进行子步骤3.8,否则转子步骤3.9;3.8在子集合VS3中,按照节点与当前节点x间的链路可用带宽BW(x,vi)的大小由小到大,将节点对应的节点-未标记链路对压入路由栈;当多个节点的BW(x,vi)相同时,则再按节点的Dmax(vi)的大小从小到大,将其对应的节点-未标记链路对压入路由栈;进行子步骤3.9;3.9在集合VS中,判断是否存在信宿节点,是则将信宿节点构成的节点-未标记链路对以任意顺序压入路由栈,转步骤四;否则直接转步骤四;四.出栈步骤,包括下述子步骤:4.1判断路由栈是否已空,是则转子步骤4.14,否则进行子步骤4.2;4.2从路由栈中取出一个节点-链路对,令该节点-链路对对应的始节点为当前节点x,判断当前节点x是否为信源节点,是则多播树N的当前链路标记
转子步骤4.4,否则进行子步骤4.3;4.3判断当前节点x在多播树N中的来源链路EN(x)的链路标记集合LMC(EN(x))是否为单元素集合{LMN(EN(x))},是则多播树N的当前链路标记
否则该来源链路EN(x)的链路标记集合为多元素集合
nm为经过该来源链路EN(x)的已建好的多播树的编号,1≤nm<N,1≤m≤r,多播树N的当前链路标记为![]()
![]()
为多播树nm在链路EN(x)处的链路标记;进行子步骤4.4;4.4判断路由栈中取出的节点-链路对的性质,若取出的为信宿节点-未标记链路对,则进行子步骤4.5;若取出的是非信宿节点-链路对,则转子步骤4.9;4.5对该信宿节点进行增流检验:将多播树N的当前链路标记
与其它所有以该信宿节点为终节点的、已标记链路ey的链路标记集合LMC(ey)中的链路标记LMw(ey)作比较:除去多播树N的当前链路标记
和这些LMw(ey)中每个括号前面的多播树编号,若通过交换各个括号内用加号连接的各元素的连接次序后,
与某一个LMw(ey)完全相同,则增流失败,转步骤六;否则通过增流检验,进行子步骤4.6;w为已建好的多播树的编号,1≤w≤N-1;4.6在该信宿节点-未标记链路对中的未标记链路的链路标记集合中并上多播树N的当前链路标记
该信宿节点tk的链路可用带宽向量BW(tk)中对应当前节点x的链路可用带宽BW(x,tk)减1,从该信宿节点tk开始反向沿着链路标记集合中含有多播树N链路标记LMN的有向链路将途经的非确定标记节点的节点标记改为确定标记,直至碰到已有确定标记的节点才结束,进行子步骤4.7;4.7判断是否所有信宿节点均有确定标记,是则进行子步骤4.8,否则转子步骤4.1;4.8判断是否达到网络最大流f,是则结束;否则清除所有节点的节点标记,清零路由栈和网络编码栈,转步骤二;4.9判断当前节点x是否被加上确定标记且该非信宿节点-链路对中的非信宿节点的网络编码操作数NC(vi)>0,是则转子步骤4.1,否则进行子步骤4.10;4.10判断路由栈中取出的非信宿节点-链路对是否为非信宿节点-已标记链路对,是则进行子步骤4.11;否则转子步骤4.13;4.11给出栈的节点-已标记链路对中的节点加上临时标记,已标记链路ey的链路标记集合LMC(ey)中并上多播树N的当前链路标记
当前节点x的网络编码操作数NC(x)加1;进行子步骤4.12;4.12出栈的节点-已标记链路对中已标记链路的链路标记集合为
λs为经过该已标记链路的多播树的编号,1≤λs<N,1≤s≤z;若z=1,则替换因子
查找因子
若z≥2,则对于所有λs,1≤s≤z,替换因子
为:
查找因子
遍历以该节点-已标记链路对中的节点为根节点的子树,检查子树中所有有向链路的链路标记集合中的链路标记,将这些链路标记作为母字符串,若母字符串中存在与查找因子
完全相同的子字符串,将该子字符串替换为相应的替换因子
转子步骤4.19;4.13给该出栈的节点-未标记链路对中的节点vi加上临时标记,其链路可用带宽向量BW(vi)中对应当前节点x的链路可用带宽BW(x,vi)减1,该出栈的节点-未标记链路对中的未标记链路的链路标记集合中并上多播树N的当前链路标记
转子步骤4.19;4.14判断网络编码栈是否已被取空,是则结束;否则进行子步骤4.15;4.15从网络编码栈中取出一个节点-链路对,并令该节点-链路对对应的始节点为当前节点x,判断当前节点x是否为信源节点,是则多播树N的当前链路标记
转子步骤4.17;否则进行子步骤4.16;4.16判断当前节点x在多播树N中的来源链路EN(x)的链路标记集合LMC(EN(x))是否为单元素集合{LMN(EN(x))},是则多播树N的当前链路标记
否则该来源链路EN(x)的链路标记集合为多元素集合
nm为经过该来源链路的已建好的多播树的编号,1≤nm<N,1≤m≤r,多播树N的当前链路标记![]()
![]()
为多播树nm在链路EN(x)处的链路标记;进行子步骤4.17;4.17判断该取出的网络编码节点-链路对中网络编码节点是否满足下述条件:该网络编码节点已被标记,或者该网络编码节点及当前节点x均未被标记,是则转子步骤4.14;否则进行子步骤4.18;4.18判断网络编码栈中取出的节点-链路对的性质,若取出的是网络编码节点-已标记链路对,则转子步骤4.11;否则取出的为网络编码节点-未标记链路对,转子步骤4.13;4.19令出栈的节点-链路对中的节点为当前节点x,转步骤五;五.中间节点入栈步骤,包括下述子步骤:5.1在当前节点x的所有邻居节点中,判断是否存在节点vi满足条件:未被标记,D min(vi)<∞且其不为与当前节点x间的链路可用带宽BW(x,vi)=0的信宿节点,是则将所有满足条件的节点构成节点集合VIC,进行子步骤5.2;否则转步骤六;5.2判断当前节点x在多播树N中的来源链路EN(x)的链路标记集合LMC(EN(x))是否为只含有多播树N的链路标记的单元素集合{LMN(EN(x))},是则令节点集合VI等于节点集合VIC,并转子步骤5.8;否则进行子步骤5.3;5.3该来源链路EN(x)的链路标记集合为多元素集合
nm为经过该来源链路EN(x)的已建好的多播树的编号,1≤nm<N,1≤m≤r,在集合VIC中,判断是否存在节点满足条件:不为信宿节点,且其与x之间有向链路的链路标记集合中含有多播树nm的链路标记
是则将所有满足条件的节点构成节点集合VIM,并进行子步骤5.4;否则令节点集合VI=VIC,转子步骤5.8;5.4对于VIM中的各个节点,将其与当前节点x之间的链路标记集合中含有播树nm的链路标记
的各条有向链路分别绑定其所对应的终节点,构成节点-已标记链路对,按节点-已标记链路对中节点的网络编码操作数NC(vi)的大小由大到小入栈,当存在多个节点-已标记链路对中节点NC(vi)相同时,需再比较这些节点-已标记链路对中的已标记链路的链路标记集合中链路标记的个数,按链路标记个数由多到少将其对应的节点-已标记链路对压入栈;入栈时,其中NC(vi)>0的节点构成的网络编码节点-已标记链路对同时压入路由栈和网络编码栈,NC(vi)=0的节点构成的非网络编码节点-已标记链路对只压入路由栈;进行子步骤5.5;5.5判断是否存在以当前节点x为始节点、集合VIM中的节点为终节点的已标记链路满足条件:其链路标记集合中不含多播树nm的链路标记
是则进行子步骤5.6,否则转子步骤5.7;5.6将这些已标记链路分别绑定其所对应的终节点构成节点-已标记链路对,按节点-已标记链路对中节点的网络编码操作数NC(vi)的大小由大到小入栈,当存在多个节点-已标记链路对中节点的NC(vi)相同时,需再比较这些节点-已标记链路对中的已标记链路的链路标记集合中链路标记的个数,按链路标记个数由多到少将其组成的节点-已标记链路对压入栈;入栈时,其中NC(vi)>0的节点构成的网络编码节点-已标记链路对同时压入路由栈和网络编码栈,NC(vi)=0的节点构成的非网络编码节点-已标记链路对只压入路由栈;进行子步骤5.7;5.7令节点集合VI=VIC-VIM;5.8在集合VI中,判断是否存在节点vi满足条件:其与当前节点x间的链路可用带宽BW(x,vi)<f-(N-1)、且其网络编码操作数NC(vi)>0,是则将所有满足条件的节点构成子集合VI1,进行子步骤5.9,否则转子步骤5.10;5.9对于子集合VI1中的节点,构建节点-链路对并顺序压入路由栈和网络编码栈;5.10在集合VI中,判断是否存在节点vi满足条件:非信宿节点、其链路可用带宽向量BW(vi)不等于初始值、与当前节点x间的链路可用带宽BW(x,vi)<f-(N-1)且其网络编码操作数NC(vi)=0,是则将所有满足条件的节点构成子集合VI2,并进行子步骤5.11;否则转子步骤5.12;5.11对于子集合VI2中的节点,构建节点-链路对并顺序压入路由栈;5.12在集合VI中,判断是否存在节点vi满足条件:非信宿节点、其链路可用带宽向量BW(vi)不等于初始值、且与当前节点x间的链路可用带宽BW(x,vi)≥f-(N-1),是则将所有满足条件的节点构成子集合VI3,并进行子步骤5.13;否则转子步骤5.14;5.13对于子集合VI3中的节点,任选其与当前节点x间一条未标记链路绑定该节点,构成节点-未标记链路对,根据其中节点网络编码操作数NC(vi)的大小,由大到小将这些节点-未标记链路对压入栈,当其中存在多个节点NC(vi)相同时,需再比较这些NC(vi)相同的节点与当前节点x间的链路可用带宽BW(x,vi)的大小,按照BW(x,vi)的大小由小到大把NC(vi)相同的节点构成的节点-未标记链路对压入栈;入栈时,其中NC(vi)>0的节点构成的网络编码节点-未标记链路对同时压入路由栈和网络编码栈,NC(vi)=0的节点构成的非网络编码节点-未标记链路对只压入路由栈;5.14在集合VI中,判断是否存在节点vi满足条件:非信宿节点、且其链路可用带宽向量BW(vi)等于初始值,是则将所有满足条件的节点构成子集合VI4,并进行子步骤5.15;否则转子步骤5.16;5.15对于子集合VI4中的节点,任选其与当前节点x间一条未标记链路绑定该节点,构成节点-未标记链路对,根据节点-未标记链路对中的节点与当前节点x间的链路可用带宽BW(x,vi)的大小,按由小到大的顺序将这些节点-未标记链路对压入路由栈;5.16在集合VI中,判断是否存在信宿节点,是则对于其中所有的信宿节点,任选其与x间一条未标记链路绑定该信宿节点,构成信宿节点-未标记链路对,以任一顺序压入路由栈,并转步骤四;否则直接转步骤四;六.回溯步骤,执行以下子步骤:6.1检查路由栈是否为空,是则转子步骤6.2,否则设置路由栈最上面的节点-链路对所对应的始节点为停止点,并进行子步骤6.3;6.2检查网络编码栈是否为空,是则转子步骤6.3,否则设置网络编码栈最上面的节点-链路对所对应的始节点为停止点,并进行子步骤6.3;6.3判断当前节点x是否为停止点或者其已被加上确定标记,是则将信源节点设置为停止点,并转步骤四,否则进行子步骤6.4;6.4清除当前节点x的临时标记,判断多播树N中x的来源链路EN(x)的链路标记集合LMC(EN(x))是否为只含有多播树N的链路标记的单元素集合{LMN(EN(x))},是则转子步骤6.6,否则进行子步骤6.5;6.5多播树N中当前节点x的来源链路EN(x)的链路标记集合为多元素集合
nm为经过该来源链路的已建好的多播树的编号,1≤nm<N,1≤m≤r;当前节点x在多播树N中的父节点
的网络编码操作数减1,若r=1,则令替换因子
查找因子
若r≥2,则对于所有nm,1≤m≤r,令替换因子
查找因子
1≤m≤r;遍历以当前节点x为根节点的子树,检查子树中所有链路的链路标记集合中的链路标记,将这些链路标记作为母字符串,若母字符串中存在与查找因子
完全相同的子串,将其替换为相应的替换因子
6.6除去当前节点x在多播树N中的来源链路EN(x)的链路标记集合LMC(EN(x))中多播树N的链路标记LMN(EN(x)),设置当前节点x在多播树N中的父节点
为新的当前节点x,转子步骤6.3。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110025347.8/,转载请声明来源钻瓜专利网。
- 上一篇:用于制备光致抗蚀剂图案的方法
- 下一篇:印刷电路板的制造方法及印刷电路板





