CN103795500B - 一种基于子树分解的组播网络编码方法 - Google Patents
一种基于子树分解的组播网络编码方法 Download PDFInfo
- Publication number
- CN103795500B CN103795500B CN201410047423.9A CN201410047423A CN103795500B CN 103795500 B CN103795500 B CN 103795500B CN 201410047423 A CN201410047423 A CN 201410047423A CN 103795500 B CN103795500 B CN 103795500B
- Authority
- CN
- China
- Prior art keywords
- subtree
- node
- individual
- vector
- network
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于子树分解的组播网络编码方法,其特殊之处是,包括如下步骤:步骤一、由原网络拓扑图生成与之相对应的线图;步骤二、对所述线图进行子树分解;步骤三、为每个接收节点R j 分配静态子树集;步骤四、在静态子树集的基础上为每个接收节点R j 维护动态子树集,进而为每棵子树T i 分配全局编码矢量g(T i );步骤五、根据所有子树T i 的全局编码矢量g(T i )计算得到编码节点的本地编码矢量。经过子树分解的预处理后得到的子树图网络的网络规模(包括边数和节点数)较原始网络大大减小,所以网络编码的问题规模随之减小,复杂度也随之大大降低,更有利于工程实践应用。
Description
技术领域
本发明涉及一种基于子树分解的组播网络编码方法,属于计算机和通信网络技术领域。
背景技术
网络编码是近年来兴起的一项网络技术,该技术的基本思想是在网络中传输数据包时,允许中间节点对收到的数据包进行拆分、组合和编码等操作,从而生成新的数据包向后继节点发送。这与传统的路由技术有很大不同,因为路由采用存储转发策略,不允许中间节点对数据包进行其他操作。与路由技术相比,网络编码技术带来了包括网络吞吐量、通信鲁棒性和无线带宽等收益。为了换取这些收益,网络节点对数据包的处理功能要更为复杂,但随着集成电路和通信技术突飞猛进的发展以及摩尔定律的作用,现代网络通信的瓶颈越来越体现在通信信道的带宽上,而不是网络设备的处理能力上,所以网络编码技术将成为突破这一瓶颈的理想选择。
目前,针对网络编码技术的研究证明了当网络拓扑满足从源节点到各个接收节点的最小割等于h 时(这被称为组播属性),如果允许中间节点进行网络编码且符号取自足够大的有限域F,则可以实现从源节点向多个接收节点同时组播h 个数据包。针对满足组播属性的网络拓扑的工程实践,研究者纷纷提出各种编码方法,其中包括线性编码、随机编码、多项式时间编码、标量/矢量编码等。
在对满足组播属性的网络拓扑进行线性网络编码时(参见图1),源节点S 一次性地向网络中发送h 个符号,也可以看成是h 个数据包,这些符号产生于有限域F,即。中间节点收到来自各个入边的数据包后,对这些数据包进行线性组合的操作生成新数据包,然后把新数据包从出边发出。入边和出边的数据包是靠本地编码矢量{…,l i ,…},,(也叫本地编码核)联系起来的,即
。
上式中,IN(E i ) 表示节点的第i 条入边,OUT(E j ) 表示节点的第j 条出边,f(.)表示某条边上传输的符号,可以看作是与该边相关联的一个函数。由此可见,某个节点出边上传输的符号应该是入边上传输的符号的线性组合。同时,由于各个中间节点都执行线性运算,所以在网络中各个边上流动的数据包f ( E )又可以看成是源节点S 发出的h 个数据包σ 1,…σ h 的线性组合,即
称(g 1,…,g h )为边E 的全局编码矢量,也叫全局编码核。接收节点收到来自入边E 1,…,E h 的h 个数据包f (E 1),…, f (E h )后,通过求解线性方程组:
可得源节点发出的h 个数据包。
综上,线性网络编码问题就是如何为各个边E i 分配全局编码矢量g 1(E i )… g h (E i )使得在接收节点处能恢复源节点发送的符号的问题,或者等价地认为如何为各个节点分配本地编码核的问题。但在实际应用中,进行网络编码的网络拓扑结构(包括边数和节点数)可能非常复杂,节点数目很大,导致这种针对每个节点进行线性网络编码的问题规模大、复杂度高,可操作性不强。
发明内容
本发明的目的在于为固定拓扑有线网络的组播应用提供一种确定性的线性网络编码方法,即一种基于子树分解的组播网络编码方法,以解决针对结构复杂、规模大的网络拓扑,现有线性网络编码方法的问题规模大和复杂度高的问题。
本发明的技术方案是:
一种基于子树分解的组播网络编码方法,其特殊之处是,包括如下步骤:
步骤一、由原网络拓扑图生成与之相对应的线图,当原图中源节点发出的符号个数为h 时,在线图中出现h 个源节点,当原图中接收节点的数目为N 时,在线图中将出现h N 个接收节点R j ,即每个接收节点R j 将扩展成h 个分节点;
步骤二、对所述线图进行子树分解,所述子树分解是指把线图分解成多棵子树,每棵子树T i 的树根为线图中的源节点或具有多个输入边的编码节点,每个接收节点R j 的h个分节点将位于h 棵不同的子树中;
步骤三、为每个接收节点R j 分配静态子树集,即在子树图中,为h 个源节点到每个接收节点R j 的h 个分节点之间一一对应地寻找h 条不相邻路径,存入一个静态集合S Rj 里,当共有N 个接收节点时,所述静态集合S Rj 的数目也为N ;
步骤四、在静态子树集的基础上为每个接收节点R j 维护动态子树集,进而为每棵子树T i 分配全局编码矢量g (T i ),每个接收节点R j 相对应的动态集合D Rj 里存放的是当前正在编码的静态集合S Rj 中的子树T i 以及该子树的全局编码矢量g (T i ),共h 个,给子树T i 分配全局编码矢量时遵循的原则是其全局编码矢量g (T i )和同一动态集合D Rj 中其他h -1个全局编码矢量要彼此线性无关,即保证接收节点R j 的h 条不相邻接的路径上的子树之间彼此线性无关;
步骤五、根据所有子树T i 的全局编码矢量g (T i )计算得到编码节点的本地编码矢量。
上述的一种基于子树分解的组播网络编码方法,所述线图就是把原网络拓扑图中的边表示成线图中的节点,如果原网络拓扑图中一条边的箭尾和另一条边的箭头共享一个节点,则在线图中这两条边变成两个新的节点相邻接。
上述的一种基于子树分解的组播网络编码方法,为每棵子树T i 分配全局编码矢量g (T i )时,其中,h 个源节点所位于的h 棵子树的全局编码矢量分配成单位矢量,即g(T i ) =(0…0,1,0…0)T,其中第i 个分量为1,其他分量为0。
上述的一种基于子树分解的组播网络编码方法,计算各个编码节点的本地编码矢量时,假设子树T 有m 个父子树节点T 1 …T m ,所述父子树是指与本子树相连接,且从信息流向上看位于本子树上游的子树节点,则这些子树的全局编码矢量和本地编码矢量(l 1,l 2,…,l m )的关系满足
求解该方程组,即可得到子树T 的本地编码矢量(l 1,l 2,…,l m )。
本发明的有益效果:
由于将原网络拓扑图生成线图,再对线图进行子树分解,最后对每棵子树分配全局编码矢量,如此经过子树分解的预处理后得到的子树图网络的网络规模(包括边数和节点数)较原始网络大大减小,所以网络编码的问题规模随之减小,复杂度也随之大大降低,更有利于工程实践应用。
附图说明
图1是现有技术中的网络编码的过程示意图;
图2是利用本发明进行网络编码的原网络拓扑图(对应实施例1);
图3是由图2转变成的线图;
图4是由图3转变成的子树图;
图5是利用本发明进行网络编码的原网络拓扑图(对应实施例2);
图6是由图5转变成的线图;
图7是由图6转变成的子树图;
图8是利用本发明进行网络编码的原网络拓扑图(对应实施例3);
图9是由图8转变成的线图和子树图。
具体实施方式
该基于子树分解的组播网络编码方法,其输入是一个满足组播属性的网络拓扑图,输出是接收节点各个边的全局编码矢量(或本地编码矢量)。
实施例1
本实施例以图2所示组播通信的网络拓扑图为例进行详细说明,具体为:
第一,首先要把原始网络拓扑图转变为线图。所谓线图就是把原图中的边表示成线图中的节点,如果原图中一条边的箭尾和另一条边的箭头共享一个节点,则在线图中这两条边变成两个新的节点相邻接;如果原图中源节点发出的符号个数是h 的话,在线图中将出现h 个源节点;如果原图中接收节点的数目是N 的话,在线图中将出现h N 个接收节点,即每个接收节点将扩展成h 个分节点。
第二,对线图进行子树分解。子树分解是指把线图分解成若干棵子树,每棵子树的树根只能是线图中的源节点或具有多个输入边的节点(称为编码节点)。这样分解后,每棵子树内部将流动相同的符号,也就是说子树内部不需要编码,仅仅进行转发的操作。另外,每个接收节点的h 个分节点将位于h 棵不同的子树中。经过子树分解后,原本复杂的线图可以缩减为由子树之间相连接构成的子树图。第一步和第二步可看做是对网络编码的预处理。本实施例中,共分解为T1、T2、 T3、 T4 和T5五棵子树。
第三,在子树图中,为h 个源节点到每个接收节点R j 的h 个分节点之间一一对应地寻找h 条不相邻路径,存入一个静态集合里S Rj ,这些路径的存在性是被组播属性所保证的。因为共有N 个接收节点,所以静态集合也有N 个。需要说明的是虽然每个接收节点的h 条路径不相邻接,但各个接收节点之间可能会出现路径的邻接,也就是说某个接收节点的某条路径和其他接收节点的某条路径可能会共用某个中间节点。
本实施例中,基于图4,为接收节点R 1、R 2、R 3分配静态子树集,结果为
S R1 = {T1,T2T3T4}
S R2 = {T1,T2T5}
S R3 = {T1T5,T2}。
第四,为每棵子树分配全局编码矢量。其中,h 个源节点所位于的h 棵子树的全局编码矢量可以天然得到,可以分配成单位矢量,即为g (T i ) =(0…0,1,0…0)T,其中第i 个分量为1,其他分量为0。除了源节点所位于的h 棵子树外,其他子树的全局编码矢量动态地生成。不失一般性,假设源节点所位于的h 棵子树编号为T 1到T h ,为了给某个子树分配编码矢量,需要为每个接收节点R j 维护一个动态集合D Rj ,其中存放的是当前正在编码的S Rj 中的子树T i 以及该子树的全局编码矢量g (T i ),共h 个。给子树T i 分配编码矢量时遵循的原则是其全局编码矢量g (T i )和同一动态集合中其他h-1个全局编码矢量要彼此线性无关。也就是说,要保证接收节点R j 的h 条不相邻接的路径上的子树之间彼此线性无关。另外,由于子树T i 可能位于多个接收节点的路径上,所以这个线性无关的原则要保证对所有动态集合都成立。需要说明的是,由于子树内部流动的是相同的符号,所以子树的全局编码矢量同时也是其内部所有节点的全局编码矢量。
第五,根据所有子树的全局编码矢量计算得到各个编码节点的本地编码矢量。不失一般性,假设子树T 有m 个父子树节点T 1…T m (一个子树的父子树是指与本子树相连接,且从信息流向上看位于本子树上游的子树节点。),则这些子树的全局编码矢量和本地编码矢量(l 1 ,l 2,…,l m )的关系满足:
由于每个全局编码矢量g (T i )都是h 维矢量,所以上面实际是一个由h 个方程构成的方程组。考虑到组播属性的条件已经得到满足,即每个节点的入边数至少是h ,所以m≤ h 。求解该方程组,即可得到子树T 的本地编码矢量(l 1,l 2,…,l m )。本实施例中,在原图中编码节点DF、DG、FJ的本地编码矢量为:
实施例2
如图5所示,组播通信的网络拓扑图被称为蝴蝶网络,这是证明网络编码优于路由的最经典的样例网络。节点S 为信源,节点E 、F 分别为两个接收节点R 1、R 2,S 向这两个接收节点组播传输两个符号,即只能取自{0,1}。图6是与图5相对应的线图,图7是由图6中简化得到的子树图。基于图7,为接收节点R 1、R 2分配静态子树集,结果为S R1 = {T1,T2T3},S R2 = {T1 T3,T2}。其中,初始状态下T1子树的全局编码核g(T1) =,T2子树的全局编码核g(T2) =,动态子树集和子树T3全局编码核的分配如表2所示。
在为T3分配全局编码矢量的时候,由于T3同时位于R1和R2的静态子树集中,所以既要保证g(T1)和g(T3)线性无关,又要保证g(T2)和g(T3)线性无关,由此可得子树T3的全局编码矢量为g (T3) =。所以在图5中,子树T1的各个边中流动的符号是,子树T2的各个边中流动的符号是,子树T3的各个边中流动的符号是,其中表示模2和。接收节点E的两条入边收到的符号分别为和,通过模2运算即可得到和;同理,接收节点F的两条入边收到的符号分别为和,通过模2运算也可得到和。
实施例3
以图8所示,节点S 为信源,节点R 1至R 6为接收节点,S 向这六个接收节点组播传输两个符号。即,只能取自{0,1,2}。GF(3)上的加法表和乘法表如下所示。
图9是与图8相对应的线图和子树图。
基于图9,为接收节点R 1至R 6分配静态子树集,结果为
S R1 = {T1,T2},
S R2 = {T1,T3},
S R3 = {T1,T4}
S R4 = {T2,T3},
S R5 = {T2,T4},
S R6 = {T3,T4}。
在本实施例中,存在多个接收节点,为了实现每个节点的各个路径的全局编码矢量的线性无关性,要求T1、T2、T3、T4这四棵子树的全局编码矢量要彼此线性无关才行,这就需要用到更大的域,因为在GF(2)中可供使用的线性无关的二维向量只有3个,(1 0),(0 1),(1 1),不能满足要求。这就是为什么我们使用了GF(3),这也是为什么对于不同的网络结构可能要用到足够大的域的原因。
将T1子树的全局编码核分配为g(T1) =,T2子树的全局编码核分配为g(T2) =,动态子树集和子树T1、T2、T3、T4的全局编码核的分配如表3所示。
所以,子树T1、T2、T3、T4的全局编码矢量为:
。
经过这样的编码,
接收节点R1的两条入边收到的两个符号分别是和;
接收节点R2的两条入边收到的两个符号分别是和+;
接收节点R3的两条入边收到的两个符号分别是和+2;
接收节点R4的两条入边收到的两个符号分别是和+;
接收节点R5的两条入边收到的两个符号分别是和+2;
接收节点R6的两条入边收到的两个符号分别是+和+2;
其中的“+”都是在GF(3)上进行的,所以每个节点通过GF(3)上的运算都可解析出原始符号和,实现了组播的功能。
Claims (3)
1.一种基于子树分解的组播网络编码方法,其特征在于:包括如下步骤:
步骤一、由原网络拓扑图生成与之相对应的线图,当原图中源节点发出的符号个数为h时,在线图中出现h 个源节点,当原图中接收节点的数目为N 时,在线图中将出现h N 个接收节点R j ,即每个接收节点R j 将扩展成h 个分节点;
步骤二、对所述线图进行子树分解,所述子树分解是指把线图分解成多棵子树,每棵子树T i 的树根为线图中的源节点或具有多个输入边的编码节点,每个接收节点R j 的h 个分节点将位于h 棵不同的子树中;
步骤三、为每个接收节点R j 分配静态子树集,即在子树图中,为h 个源节点到每个接收节点R j 的h 个分节点之间一一对应地寻找h 条不相邻路径,存入一个静态集合S Rj 里,当共有N个接收节点时,所述静态集合S Rj 的数目也为N ;
步骤四、在静态子树集的基础上为每个接收节点R j 维护动态子树集,进而为每棵子树T i 分配全局编码矢量g (T i ),每个接收节点R j 相对应的动态集合D Rj 里存放的是当前正在编码的静态集合S Rj 中的子树T i 以及该子树的全局编码矢量g (T i ),共h 个,给子树T i 分配全局编码矢量时遵循的原则是其全局编码矢量g (T i )和同一动态集合D Rj 中其他h-1个全局编码矢量要彼此线性无关,即保证接收节点R j 的h条不相邻接的路径上的子树之间彼此线性无关;
步骤五、根据所有子树T i 的全局编码矢量g (T i )计算得到编码节点的本地编码矢量;
所述线图就是把原网络拓扑图中的边表示成线图中的节点,如果原网络拓扑图中一条边的箭尾和另一条边的箭头共享一个节点,则在线图中这两条边变成两个新的节点相邻接。
2.根据权利要求1所述的一种基于子树分解的组播网络编码方法,其特征在于:为每棵子树T i 分配全局编码矢量g (T i )时,其中,h 个源节点所位于的h 棵子树的全局编码矢量分配成单位矢量,即g (T i ) =(0…0,1,0…0)T,其中第i 个分量为1,其他分量为0。
3.根据权利要求1所述的一种基于子树分解的组播网络编码方法,其特征在于:计算各个编码节点的本地编码矢量时,假设子树T 有m 个父子树节点T 1…T m ,所述父子树是指与本子树相连接,且从信息流向上看位于本子树上游的子树节点,则这些子树的全局编码矢量和本地编码矢量(l 1,l 2 ,…,l m )的关系满足
求解该方程组,即可得到子树T 的本地编码矢量(l 1,l 2,…,l m )。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410047423.9A CN103795500B (zh) | 2014-02-11 | 2014-02-11 | 一种基于子树分解的组播网络编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410047423.9A CN103795500B (zh) | 2014-02-11 | 2014-02-11 | 一种基于子树分解的组播网络编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103795500A CN103795500A (zh) | 2014-05-14 |
CN103795500B true CN103795500B (zh) | 2017-01-25 |
Family
ID=50670846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410047423.9A Expired - Fee Related CN103795500B (zh) | 2014-02-11 | 2014-02-11 | 一种基于子树分解的组播网络编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103795500B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222302A (zh) * | 2007-01-11 | 2008-07-16 | 北京邮电大学 | 一种在组播业务中实现差错恢复的方法 |
CN101222297A (zh) * | 2008-01-31 | 2008-07-16 | 复旦大学 | 交织码和网络编码结合的数据分发方法 |
US7706365B2 (en) * | 2003-11-25 | 2010-04-27 | California Institute Of Technology | Randomized distributed network coding |
CN103493445A (zh) * | 2012-02-22 | 2014-01-01 | 北京大学深圳研究生院 | 一种ip组播数据的分层分发方法、系统 |
-
2014
- 2014-02-11 CN CN201410047423.9A patent/CN103795500B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7706365B2 (en) * | 2003-11-25 | 2010-04-27 | California Institute Of Technology | Randomized distributed network coding |
CN101222302A (zh) * | 2007-01-11 | 2008-07-16 | 北京邮电大学 | 一种在组播业务中实现差错恢复的方法 |
CN101222297A (zh) * | 2008-01-31 | 2008-07-16 | 复旦大学 | 交织码和网络编码结合的数据分发方法 |
CN103493445A (zh) * | 2012-02-22 | 2014-01-01 | 北京大学深圳研究生院 | 一种ip组播数据的分层分发方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103795500A (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Médard et al. | On coding for non-multicast networks | |
Li et al. | Linear network coding: Theory and algorithms | |
Li et al. | Leader-following consensus of discrete-time multiagent systems with encoding–decoding | |
Ansari et al. | Performance evaluation of various parameters of Network-on-Chip (NoC) for different topologies | |
CN108462643B (zh) | 面向整数传输速率的基于网络编码的弱安全多播传输拓扑构建方法 | |
Nikolaevskiy et al. | isBF: scalable in-packet bloom filter based multicast | |
Wei et al. | Efficient compute-and-forward network codes search for two-way relay channel | |
Bazgan et al. | A more fine‐grained complexity analysis of finding the most vital edges for undirected shortest paths | |
Chang et al. | On achieving maximum secure throughput using network coding against wiretap attack | |
Fragouli et al. | Decentralized network coding | |
Wang et al. | Optimal design of linear network coding for information theoretically secure unicast | |
CN103795500B (zh) | 一种基于子树分解的组播网络编码方法 | |
Lin et al. | Distributed constrained consensus in the presence of unbalanced switching graphs and communication delays | |
Wu | On constructive multi-source network coding | |
Liu et al. | NCoS: A framework for realizing network coding over software-defined network | |
CN104285413A (zh) | Igmp/mld转换 | |
Yeung | Network coding theory: An introduction | |
Han et al. | An integrated fast data transmission scheme based on network coding | |
Song et al. | The complexity of network coding with two unit-rate multicast sessions | |
Cai et al. | On the Solvability of 2-pair Unicast Networks---A Cut-based Characterization | |
Tian et al. | Relaying for multiple sources in the absence of codebook information | |
Li et al. | Channel diversity needed for vector space interference alignment | |
Yin et al. | A graph minor perspective to network coding: Connecting algebraic coding with network topologies | |
CN107770077B (zh) | 一种基于网络编码的信息论安全多播路由选择方法 | |
Wen et al. | Optimal rate allocation and linear network coding design for secure multicast with multiple streams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170125 Termination date: 20210211 |
|
CF01 | Termination of patent right due to non-payment of annual fee |