CN102123006B - Network transmission method employing network coding - Google Patents

Network transmission method employing network coding Download PDF

Info

Publication number
CN102123006B
CN102123006B CN 201110025347 CN201110025347A CN102123006B CN 102123006 B CN102123006 B CN 102123006B CN 201110025347 CN201110025347 CN 201110025347 CN 201110025347 A CN201110025347 A CN 201110025347A CN 102123006 B CN102123006 B CN 102123006B
Authority
CN
China
Prior art keywords
node
link
network code
labeled
multicast tree
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
Application number
CN 201110025347
Other languages
Chinese (zh)
Other versions
CN102123006A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN 201110025347 priority Critical patent/CN102123006B/en
Publication of CN102123006A publication Critical patent/CN102123006A/en
Application granted granted Critical
Publication of CN102123006B publication Critical patent/CN102123006B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a network transmission method employing network coding, which belongs to a network information transmission method and solves the problem of decoding time delay increased by influence of the network coding on a node having relatively fewer usable resources for computation and storage in a network, so as to improve the transmission efficiency of the whole network. The network transmission method comprises the steps of initialization, tree-building starting, stacking of a signal source node, out-stack of the signal source node, stacking of an intermediate node, and backtracking. In the invention, the equalization of computational capabilities after the network coding is employed can be realized, and the complexity brought by the network coding is reduced by reducing network coding operands. The method is particularly applied to a heterogeneous network with nodes having different usable resources for the computation and the storage; and by the method, the problem of reduction of the overall performance of the network caused by the decoding time delay due to a relatively heavier burden on the node of the network having the relatively fewer usable resources for the computation and the storage after the network coding is employed can be solved.

Description

A kind of network transfer method that adopts network code
Technical field
The invention belongs to the network information transfer method, relate in particular to a kind of network transfer method that adopts network code.
Background technology
R.Ahlswede in 2000 etc. propose network code (Network Coding), see R.Ahlswede, N.Cai, Shuo-Yen Robert Li and R.W.Yeung.Network information flow.IEEE Trans.Inform.Theory, 46 (4): 1204-1216, July2000, its main feature allows the network intermediate node to participate in coding exactly, after the network intermediate node adopts network code, as long as the max-flow (Maxflow) of multicast (Multicast) receiving node is not less than source node information number, all these multicast receiving nodes all can recover the information that source node sends simultaneously.This differs under the situation with pure route only and reaches surely, and as seen, network code can promote the throughput of network.Network code has been applied to many fields at present, as P2P, content distribution, application layer multicast and wireless multi-hop network etc.
" random network code " (Random Network Coding) that T.Ho in 2003 etc. propose, see T.Ho, M.Medard, J.Shi, M.Eros and D.R.Karger.On randomized network coding.In Proceedings of 41st Annual Allerton Conference on Communication, Control, and Computing, October2003, advantage with distributed enforcement, but because each node participates in encoding and decoding, bring bigger complexity, be embodied in amount of calculation and memory requirement: each receiving node at first needs to solve the inverse matrix of coefficient in internal memory, and needed time complexity is o (n 3) (wherein n is the file block number), solving initial data by the group of solving an equation then, needed time complexity is o (n 2).In addition, also need ceaselessly from hard disk data to be read, hard disk is deposited backed in decoding more then, these operations CPU a big chunk time that will account for.
In sum, the introducing of network code will be comparatively harsh to the requirement of CPU and amount of ram, cause bigger burden to having the less network nodes of available resources such as calculating and storage, can cause congested and the increase propagation delay time, and then the network overall transfer performance of network code is adopted in influence.
Be clear elaboration the present invention, basic setup and sign flag that the present invention is used make the following instructions.
(V, E): show the transmission relation between the node and node in the network, be made of parallel oriented link that wherein every oriented link has unit capacity, related link is oriented link to oriented polygon G among the present invention.V={v 1, v 2..., v υBe the node set in the oriented polygon, υ is total node number in the network, E={e 1, e 2..., e εBe the oriented link set in the oriented polygon, ε is total directed chain way in the network.
Multicast (Multicast): refer to that an information source node s ∈ V sends data to a plurality of information destination node t kThe communication mode of ∈ V, 1≤k≤τ, τ are the information destination node number.
Multicast tree: adopt the tree of the transmission path of multicast, wherein do not have circulus, form at oriented polygon.
Beginning node and terminal note: refer to the node of oriented both link ends, claim the initial node of oriented link to be the beginning node, the node of oriented link terminal is terminal note.
Node-link is right: referring to two tuples that terminal note and the oriented link that is attached thereto constitute, is the stacked and elementary cell of popping among the present invention; Whether be labeled according to oriented link, can be divided into:
Whether (1) node-unmarked link is right: be the network code node according to node, can be divided into network code node-unmarked link again to right with non-network code node-unmarked link; Whether be information destination node according to node, also can be divided into information destination node-unmarked link to right with non-information destination node-unmarked link.
Whether (2) node-labeled link is right: be the network code node according to node, can be divided into the labeled link of network code node-again to non-network code node-labeled link is right.
Vertex ticks: comprise two kinds of marks, a kind of is definite node that will use in the process that makes up a multicast tree, gives to determine mark; A kind of is the interim node that uses in the process that makes up a multicast tree, gives temporary marker; Untapped node still in making up the process of a multicast tree does not make marks.
Internodal link available bandwidth: internodal link available bandwidth relates to the state of two nodes (beginning node and terminal note), be designated as BW (u, v), v represents the terminal note of this parallel link, what u represented is the beginning node of this parallel link.Being connected by the directive parallel link with unit capacity between node and the node constitutes in the oriented polygon, the parallel directed chain travel permit number that internodal link available bandwidth equals not to be labeled between the node.Certain node v then iWith its all beginning node u IjBetween all have a BW (u Ij, v i), with these BW (u Ij, v i) constitute this node v iLink available bandwidth vector
Figure GDA00002973087600021
1≤j≤P (v i), P (v i) be this node v iCorresponding Beginning node number.
The network code operand of node: certain node v iCarry out the number of times of network code operation, be designated as NC (v i).NC (v i) 〉=0 is got and was represented node v at 0 o'clock iBe non-network code node, greater than 0 expression node v iBe the network code node.
Node arrives the beeline of information destination node: certain node v iTo information destination node t kBeeline be node v iTo t kMinimum hop count, be designated as D k(v i).Certain node v iTo all information destination node t k(beeline of k=1~τ) constitutes this node v iBeeline vector D (v to information destination node i)=[D k(v i)] τ * 1In oriented polygon, as certain node v iCan not arrive certain information destination node t by oriented link kThe time, corresponding beeline D k(v i) be ∞.Make Dmin (v i)=min{D k(v i) | t kBe not labeled, Dmax (v i)=max{D k(v i) | t kBe not labeled, in the present invention, as certain node v iDmin (v i) when being ∞, by v iNode-link of forming will be to can not be stacked.
Multicast tree numbering n: distinguish different multicast trees with a numeral number n, currently represent 0≤n≤N with numbering N building multicast tree;
The link mark of multicast tree n: multicast tree is given the link e of institute's warp in the achievement process y(the label L M of 1≤y≤ε) add n(e y), the link mark that the link of all-multicast tree n is done all can be expressed as LM n
The link tag set of oriented link: in implementation of the present invention, certain oriented link e yThe set of all link marks that are coupled with LMC ( e y ) = { LM n 1 ( e y ) , LM n 2 ( e y ) , . . . , LM n r ( e y ) } . (0<n 1<n 2<...<n r<N is through this oriented link e yThe multicast tree of having built up numbering).If r=1, the link tag set of this oriented link is multicast tree n 1This oriented link e of process in the achievement process yThe time the link mark
Figure GDA00002973087600032
The singleton that constitutes
Figure GDA00002973087600033
If r 〉=2, then many multicast trees are at this oriented link e yOverlapping, LMC (e y) be through this oriented link e in these multicast trees achievement process respectively yThe time the set of link mark
Figure GDA00002973087600034
Certain oriented link e yLink tag set LMC (e y) when being empty set, this oriented link e yDo not used by any multicast tree, be unmarked link.
The source link of node or the node source link in tree n among the tree n: with node v iBe the oriented link of terminal note, and satisfy the link label L M that tree n is arranged in its link tag set n, be designated as E n(v i).
The current link mark of multicast tree N: be current building multicast tree N link mark instantly, be designated as
Figure GDA00002973087600035
Before going out stack operation each time, must recomputate
Figure GDA00002973087600036
When present node x is information source node s, the current link mark of multicast tree N
Figure GDA00002973087600037
Numbering N for tree N; When present node x is intermediate node, then need investigate the source link E of x in tree N N(x) link tag set LMC (E N(x)), if LMC (E N(x)) for only containing the singleton { LM of the link mark of setting N N(E N(x)) }, then get this link tag set LMC (E N(x)) LM in N(E N(x)) for setting the current link mark of N If LMC (E N(x)) for not only containing the link label L M that sets N N(E N(x)) multielement set
Figure GDA00002973087600039
(0<n 1<n 2<...<n r<N is through this oriented link E N(x) the multicast tree of having built up numbering), the current link mark of multicast tree N then
LM N ‾ = N ( LM n 1 ( E N ( x ) ) + LM n 2 ( E N ( x ) ) + . . . LM n r ( E N ( x ) ) + LM N ( E N ( x ) ) ) x , Its bracket represents to set N with present node x and once coding has taken place at present node x place other trees, and "+" only is expressed as connector, the commutative connection order of link mark of each multicast tree that "+" in the same bracket connects.
The father node of node in tree n: with this node v iBe terminal note, by its source link E in tree n n(v i) corresponding beginning node.
With certain node v iSubtree for root node: in the network that oriented polygon of the present invention is represented, with node v iBeing initial beginning node, finding its corresponding terminal note, is new beginning node with these terminal notes again, find their all terminal notes, repetitive operation, till not having new node to add subtree, all nodes and the oriented link that comprise in this process have just constituted with v iSubtree for root node.
Ford-Fulkerson method: calculate the fundamental method of max-flow in the network, see Wang Shuhe, graph theory.Beijing: Science Press, 2004.
The Dijkstra method: this method can be obtained individual node in the directed graph to the shortest route problem of other information destination node, for the most basic one of method of shortest path of asking in the route selection algorithm, sees Yin Jianhong, Wu Kaiya, Graph Theory ﹠ Its Algorithm.Hefei: publishing house of China Science ﹠ Technology University, 2003.
Summary of the invention
The invention provides a kind of network transfer method that adopts network code, solve the decoding time delay because adopting network code that the influence that has the less node of available resources such as calculating and storage in the network is increased, thereby improve the efficiency of transmission of whole network.
A kind of network transfer method that adopts network code of the present invention comprises the steps:
One. initialization step, set up node link initialization information table, comprise following substep:
1.1 remove network G (V, E) in the vertex ticks of each node, from all node V={v of network 1, v 2..., v υIn determine information source node s and information destination node t k, 1≤k≤τ, τ are the information destination node number; υ is total node number in the network;
1.2 calculate information source node s to each information destination node t kMax-flow f (t k), with f=min{f (t k) | 1≤k≤τ } as the max-flow of oriented polygon;
1.3 each node v in the computing network i∈ V is to each information destination node t kBeeline D k(v i), 1≤i≤υ, and insert corresponding each node to the beeline vector D (v of information destination node i)=[D k(v i)] τ * 1In;
1.4 the link available bandwidth vector of each node of initialization
Figure GDA00002973087600041
According to oriented polygon, with each node v iEach beginning node u to its correspondence IjLink available bandwidth BW (u Ijv i) be initialized as each node v iDuring for terminal note, to each beginning node u of its correspondence IjBetween parallel directed chain travel permit number, 1≤j≤P (v i), P (v i) be this node v iCorresponding beginning node number;
1.5 with each node v iNetwork code operand NC (v i) be initialized as 0, with each oriented link e yThe link tag set LMC (e of ∈ E y) be initialized as empty set, E={e 1, e 2... e ε, 1≤y≤ε, ε are total directed chain travel permit number in the network;
1.6 put currently building multicast tree numbering N=0, change step 2;
Two. the achievement setting up procedure:
2.1 it is present node x that information source node s is set, and adds definite mark;
2.2 put currently building multicast tree numbering N=N+1, change step 3;
Three. the stacked step of information source node comprises following substep:
3.1 in all neighbor nodes of present node x, judge whether to exist node v iSatisfy condition: be not labeled, link available bandwidth BW (x, v between itself and present node x i)>0 and Dmin (v i)<∞ is the node configuration node set V that then all is satisfied condition S, carry out substep 3.2; Otherwise finish; Dmin (v i)=min{D k(v i) | t kBe not labeled };
3.2 for set V SIn each node, unlabelled oriented link between optional itself and present node x, configuration node-unmarked link is right, carries out substep 3.3;
3.3 at set V SIn, judge whether to exist its network code operand NC (v iThe node of)>0 is that the node that then all is satisfied condition constitutes subclass V S1, carry out substep 3.4; Otherwise rotor step 3.5;
3.4 at subclass V S1In, according to link available bandwidth BW (x, the v between node and present node x i) big or small ascending, with the node-unmarked link of node correspondence to being pressed into the network code stack; As the BW of a plurality of nodes (x, v i) when identical, then press the network code operand NC (v of node again i) size from big to small, the node that it is corresponding-unmarked link is to being pressed into the network code stack; Carry out substep 3.5;
3.5 at set V SIn, judge whether to exist node v iSatisfy condition: non-information destination node, its link available bandwidth vector BW (v i) be not initial value and its network code operand NC (v i)=0 is that the node that then all is satisfied condition constitutes subclass V S2, carry out substep 3.6, otherwise rotor step 3.7;
3.6 at subclass V S2In, according to link available bandwidth BW (x, the v between node and present node x i) big or small ascending, with the node-unmarked link of node correspondence to being pressed into routing stacks; As the BW of a plurality of nodes (x, v i) when identical, then press the Dmax (v of node again i) size from small to large, the node that it is corresponding-unmarked link is to being pressed into routing stacks; Dmax (v i)=max{D k(v i) | t kBe not labeled }; Carry out substep 3.7;
3.7 at set V SIn, judge whether to exist its link available bandwidth vector BW (v i) equal the non-information destination node of initial value, be then they to be constituted subclass V S3, carry out substep 3.8, otherwise rotor step 3.9;
3.8 at subclass V S3In, according to link available bandwidth BW (x, the v between node and present node x i) big or small ascending, with the node-unmarked link of node correspondence to being pressed into routing stacks; As the BW of a plurality of nodes (x, v i) when identical, then press the Dmax (v of node again i) size from small to large, the node that it is corresponding-unmarked link is to being pressed into routing stacks; Carry out substep 3.9;
3.9 at set V SIn, judge whether to exist information destination node, be node-unmarked link of then information destination node being constituted to being pressed into routing stacks with random order, change step 4; Otherwise directly change step 4;
Four. the step of popping comprises following substep:
4.1 judge that routing stacks is whether empty, be rotor step 4.14 then, otherwise carry out substep 4.2;
4.2 it is right to take out a node-link from routing stacks, makes that this node-link is present node x to the beginning node of correspondence, judges whether present node x is information source node, is the current link mark of then multicast tree N
Figure GDA00002973087600061
Rotor step 4.4, otherwise carry out substep 4.3;
4.3 judge the source link E of present node x in multicast tree N N(x) link tag set LMC (E N(x)) whether be singleton { LM N(E N(x)) }, be the current link mark of then multicast tree N
Figure GDA00002973087600062
Otherwise should source link E N(x) link tag set is the multielement set
Figure GDA00002973087600063
n mBe link E that originates through this NThe numbering of the multicast tree of having built up (x), 1≤n m<N, 1≤m≤r, the current link of multicast tree N is labeled as
Figure GDA00002973087600064
LM N ‾ = N ( LM n 1 ( E N ( x ) ) + LM n 2 ( E N ( x ) ) + . . . + LM n r ( E N ( x ) ) + LM N ( E N ( x ) ) ) x ,
Figure GDA00002973087600066
Be multicast tree n mAt link E N(x) the link mark of locating; Carry out substep 4.4;
4.4 the character that the node-link that takes out in the judgement routing stacks is right if taking-up is that information destination node-unmarked link is right, is then carried out substep 4.5; If what take out is that non-information destination node-link is right, then rotor step 4.9;
4.5 this information destination node is carried out incremental check: with the current link mark of multicast tree N
Figure GDA00002973087600067
With other all with this information destination node be terminal note, labeled link e yLink tag set LMC (e y) in link label L M w(e y) make comparisons: the current link mark of removing multicast tree N
Figure GDA00002973087600068
With these LM w(e y) in the multicast tree numbering of each bracket front, if behind the connection order by each element of connecting with plus sige in each bracket of exchange,
Figure GDA00002973087600069
With some LM w(e y) identical, step 6 is changeed in then incremental failure; Otherwise by incremental check, carry out substep 4.6; W is the numbering of the multicast tree built up, 1≤w≤N-1;
4.6 in the link tag set of the unmarked link of this information destination node-unmarked link centering and on the current link mark of multicast tree N
Figure GDA000029730876000610
This information destination node t kLink available bandwidth vector BW (t k) in link available bandwidth BW (x, the t of corresponding present node x k) subtract 1, from this information destination node t kBeginning oppositely contains multicast tree N link label L M in the link tag set NOriented link will by way of the vertex ticks of non-definite flag node change definite mark into, existingly determine that the node of mark just finishes, and carries out substep 4.7 until running into;
4.7 judge whether all information destination node definite mark being arranged all, is then to carry out substep 4.8, otherwise rotor step 4.1;
4.8 judge whether to reach network max-flow f, be then to finish; Otherwise remove the vertex ticks of all nodes, zero clearing routing stacks and network code stack change step 2;
Whether be coupled with the network code operand NC (v of the non-information destination node of determining mark and this non-information destination node-link centering 4.9 judge present node x i)>0 is rotor step 4.1 then, otherwise carries out substep 4.10;
4.10 judge that the non-information destination node-link that takes out in the routing stacks to whether being that non-information destination node-labeled link is right, is then to carry out substep 4.11; Otherwise rotor step 4.13;
4.11 give pop node-node of labeled link centering adds temporary marker, labeled link e yLink tag set LMC (e y) in and go up the current link mark of multicast tree N The network code operand NC (x) of present node x adds 1; Carry out substep 4.12;
4.12 the labeled link centering of the node of the popping-link tag set of labeled link is LMC ( e y ) = { LM λ 1 ( e y ) , . . . LM λ s ( e y ) , . . . LM λ z ( e y ) } , λ sFor passing through this numbering of the multicast tree of labeled link, 1≤λ s<N, 1≤s≤z; If z=1 then replaces the factor Search the factor
Figure GDA00002973087600074
If z 〉=2 are then for all λ s, 1≤s≤z replaces the factor Rep λ s = λ s ( LM λ 1 ( e y ) + LM λ 2 ( e y ) . . . + LM λ z ( e y ) + LM N ( e y ) ) x , Search the factor Sek λ s = λ s ( LM λ 1 ( e y ) + LM λ 2 ( e y ) . . . + LM λ z ( e y ) ) x ; Traversal is so that this node-node of labeled link centering is the subtree of root node, checks the link mark in the link tag set of all oriented links in the subtree, with these link marks as the alphabetic character string, if exist in the alphabetic character string and search the factor
Figure GDA00002973087600077
Identical substring replaces with the corresponding replacement factor with this substring
Figure GDA00002973087600078
Rotor step 4.19;
4.13 the node v to this node of popping-unmarked link centering iAdd temporary marker, its link available bandwidth vector BW (v i) in link available bandwidth BW (x, the v of corresponding present node x i) subtract 1, also go up the current link mark of multicast tree N in the link tag set of the unmarked link of this node of popping-unmarked link centering
Figure GDA00002973087600079
Rotor step 4.19;
Whether being got sky 4.14 judge the network code stack, is then to finish; Otherwise carry out substep 4.15;
4.15 it is right to take out a node-link from the network code stack, and makes that this node-link is present node x to the beginning node of correspondence, judges whether present node x is information source node, is the current link mark of then multicast tree N
Figure GDA000029730876000710
Rotor step 4.17; Otherwise carry out substep 4.16;
4.16 judge the source link E of present node x in multicast tree N N(x) link tag set LMC (E N(x)) whether be singleton { LM N(E N(x)) }, be the current link mark of then multicast tree N Otherwise should source link E N(x) link tag set is the multielement set
Figure GDA000029730876000712
n mBe the numbering through the multicast tree of having built up of this source link, 1≤n m<N, 1≤m≤r, the current link mark of multicast tree N
Figure GDA000029730876000713
LM N ‾ = N ( LM n 1 ( E N ( x ) ) + LM n 2 ( E N ( x ) ) + . . . + LM n r ( E N ( x ) ) + LM N ( E N ( x ) ) ) x ,
Figure GDA000029730876000715
Be multicast tree n mAt link E N(x) the link mark of locating; Carry out substep 4.17;
Whether satisfy following condition 4.17 judge the network code node-link centering network code node of this taking-up: this network code node is labeled, and perhaps this network code node and present node x all are not labeled, and is rotor step 4.14 then; Otherwise carry out substep 4.18;
4.18 the right character of node-link of taking out in the judgement network code stack is that the network code node-labeled link is right as if what take out, then rotor step 4.11; Otherwise what take out is that network code node-unmarked link is right, rotor step 4.13;
4.19 the node of node-link centering that order is popped is present node x, changes step 5;
The stacked step of five intermediate nodes comprises following substep:
5.1 in all neighbor nodes of present node x, judge whether to exist node v iSatisfy condition: be not labeled Dmin (v i)<∞ and its be not and present node x between link available bandwidth BW (x, v iThe information destination node of)=0 is the node configuration node set V that then all is satisfied condition IC, carry out substep 5.2; Otherwise commentaries on classics step 6;
5.2 judge the source link E of present node x in multicast tree N N(x) link tag set LMC (E N(x)) whether be the singleton { LM that only contains the link mark of multicast tree N N(E N(x)) be then to make node set V }, IEqual node set V IC, and rotor step 5.8; Otherwise carry out substep 5.3;
5.3 should source link E N(x) link tag set is the multielement set LMC ( E N ( x ) ) = { LM n 1 ( E N ( x ) ) , . . . LM n m ( E N ( x ) ) , . . . LM n r ( E N ( x ) ) , LM N ( E N ( x ) ) } , n mBe link E that originates through this NThe numbering of the multicast tree of having built up (x), 1≤n m<N, 1≤m≤r is at set V ICIn, judge whether to exist node to satisfy condition: for information destination node, and to contain multicast tree n in the link tag set of oriented link between itself and the x mThe link mark
Figure GDA00002973087600082
Be the node configuration node set V that then all is satisfied condition IM, and carry out substep 5.4; Otherwise make node set V I=V IC, rotor step 5.8;
5.4 for V IMIn each node, broadcast tree n with containing in the link tag set between itself and the present node x mThe link mark
Figure GDA00002973087600083
The oriented link of each bar bind its corresponding terminal note respectively, configuration node-labeled link is right, presses the network code operand NC (v of labeled link centering node of node- i) big or small descending stacked, when there being the labeled link centering node NC (v of a plurality of nodes- i) when identical, need again relatively the number of the link tag set medium chain road sign note of the labeled link of labeled link centering of these nodes-, by link mark number from more to less the labeled link of node that it is corresponding-to being pressed into stack; When stacked, NC (v wherein iThe labeled link of the network code node that the node of)>0 constitutes-is to being pressed into routing stacks and network code stack, NC (v simultaneously iThe labeled link of the non-network code node that the node of)=0 constitutes-is to only being pressed into routing stacks; Carry out substep 5.5;
5.5 judging whether to exist with present node x is beginning node, set V IMIn node be that the labeled link of terminal note satisfies condition: do not contain multicast tree n in its link tag set mThe link mark Be then to carry out substep 5.6, otherwise rotor step 5.7;
5.6 with these labeled link bind it respectively corresponding terminal note configuration node-labeled link be right, press the network code operand NC (v of labeled link centering node of node- i) big or small descending stacked, when there being the NC (v of labeled link centering node of a plurality of nodes- i) when identical, need again relatively the number of the link tag set medium chain road sign note of the labeled link of labeled link centering of these nodes-, by link mark number from more to less with the labeled link of the node of its composition-to being pressed into stack; When stacked, NC (v wherein iThe labeled link of the network code node that the node of)>0 constitutes-is to being pressed into routing stacks and network code stack, NC (v simultaneously iThe labeled link of the non-network code node that the node of)=0 constitutes-is to only being pressed into routing stacks; Carry out substep 5.7;
5.7 make node set V I=V IC-V IM
5.8 at set V IIn, judge whether to exist node v iSatisfy condition: link available bandwidth BW (x, v between itself and present node x i)<f-(N-1), and its network code operand NC (v i)>0 is that the node that then all is satisfied condition constitutes subclass V I1, carry out substep 5.9, otherwise rotor step 5.10;
5.9 for subclass V I1In node, configuration node-link collating sequence is pressed into routing stacks and network code stack;
5.10 at set V IIn, judge whether to exist node V iSatisfy condition: non-information destination node, its link available bandwidth vector BW (v i) be not equal to initial value, and present node x between link available bandwidth BW (x, v i)<f-(N-1) and its network code operand NC (v i)=0 is that the node that then all is satisfied condition constitutes subclass V I2, and carry out substep 5.11; Otherwise rotor step 5.12;
5.11 for subclass V I2In node, configuration node-link collating sequence is pressed into routing stacks;
5.12 at set V IIn, judge whether to exist node v iSatisfy condition: non-information destination node, its link available bandwidth vector BW (v i) be not equal to initial value and and present node x between link available bandwidth BW (x, v i) 〉=f-(N-1) is that the node that then all is satisfied condition constitutes subclass V I3, and carry out substep 5.13; Otherwise rotor step 5.14;
5.13 for subclass V I3In node, this node of unmarked link bundling between optional itself and present node x, configuration node-unmarked link is right, counts NC (v according to meshed network encoding operation wherein i) size, descending with these nodes-unmarked link to being pressed into stack, when wherein there being a plurality of node NC (v i) when identical, need again relatively these NC (v i) identical node and link available bandwidth BW (x, the v between present node x i) size, according to BW (x, v i) big or small ascending NC (v i) node-unmarked link of constituting of identical node is to being pressed into stack; When stacked, NC (v wherein iNetwork code node-unmarked link that the node of)>0 constitutes is to being pressed into routing stacks and network code stack, NC (v simultaneously iNon-network code node-unmarked link that the node of)=0 constitutes is to only being pressed into routing stacks;
5.14 at set V IIn, judge whether to exist node v iSatisfy condition: non-information destination node and its link available bandwidth vector BW (v i) equal initial value, be that the node that then all is satisfied condition constitutes subclass V I4, and carry out substep 5.15; Otherwise rotor step 5.16;
5.15 for subclass V I4In node, this node of unmarked link bundling between optional itself and present node x, configuration node-unmarked link is right, according to the node of node-unmarked link centering and link available bandwidth BW (x, v between present node x i) size, by ascending order with these nodes-unmarked link to being pressed into routing stacks;
5.16 at set V IIn, judge whether to exist information destination node, be then for wherein all information destination node, this information destination node of unmarked link bundling between optional itself and x, it is right to constitute information destination node-unmarked link, is pressed into routing stacks with arbitrary order, and changes step 4; Otherwise directly change step 4;
Six. recall step, carry out following substep:
6.1 whether be empty, be rotor step 6.2 then if checking routing stacks, be halt otherwise the uppermost node-link of routing stacks is set to corresponding beginning node, and carry out substep 6.3;
6.2 whether be empty, be rotor step 6.3 then if checking the network code stack, be halt otherwise the uppermost node-link of network code stack is set to corresponding beginning node, and carry out substep 6.3;
6.3 whether be halt or its be coupled with definite mark, be that then information source node is set to halt, and change step 4, otherwise carry out substep 6.4 if judging present node x;
6.4 remove the temporary marker of present node x, judge the source link E of x among the multicast tree N N(x) link tag set LMC (E N(x)) whether be the singleton { LM that only contains the link mark of multicast tree N N(E N(x)) }, be rotor step 6.6 then, otherwise carry out substep 6.5;
6.5 the source link E of present node x among the multicast tree N N(x) link tag set is the multielement set LMC ( E N ( x ) ) = { LM n 1 ( E N ( x ) ) , . . . LM n m ( E N ( x ) ) , . . . LM n r ( E N ( x ) ) , LM N ( E N ( x ) ) } , n mBe the numbering through the multicast tree of having built up of this source link, 1≤n m<N, 1≤m≤r; The father node of present node x in multicast tree N
Figure GDA00002973087600102
The network code operand subtract 1, if r=1, then the factor is replaced in order
Figure GDA00002973087600103
Search the factor Sek n 1 = n 1 ( LM n 1 ( E N ( x ) ) + LM N ( E N ( x ) ) ) X ~ ; If r 〉=2 are then for all n m, 1≤m≤r, the factor is replaced in order Rep n m = n m ( L M n 1 ( E N ( x ) ) + LM n 2 ( E N ( x ) ) . . . + LM n r ( E N ( x ) ) ) X ~ , Search the factor Sek n m = n m ( LM n 1 ( E N ( x ) ) + . . . + LM n r ( E N ( x ) ) + LM N ( E N ( x ) ) ) X ~ , 1≤m≤r; Traversal is the subtree of root node with present node x, checks the link mark in the link tag set of all links in the subtree, with these link marks as the alphabetic character string, if exist in the alphabetic character string and search the factor
Figure GDA00002973087600107
Identical substring replaces with the corresponding replacement factor with it
Figure GDA00002973087600108
6.6 remove the source link E of present node x in multicast tree N N(x) link tag set LMC (E N(x)) the link label L M of multicast tree N in N(E N(x)), the father node of present node x in multicast tree N is set
Figure GDA00002973087600111
Be new present node x, rotor step 6.3.
Described network transfer method is characterized in that, in the described initialization step:
Described substep 1.2 calculates information source node to the max-flow of each information destination node, uses the Ford-Fulkerson method;
Described each node of substep 1.3 computing networks uses the Dijkstra method to the beeline of each information destination node.
Described network transfer method is characterized in that, in the stacked step of described intermediate node:
Described substep 5.9 comprises following process:
A. at subclass V I1In, judge whether to exist link available bandwidth BW (x, v between itself and present node x iThe node of)>0 is that all nodes that then will satisfy condition constitute second son set V I1p, and the process of carrying out B, otherwise turn over journey C;
B. for second son set V I1pIn each node, optional its with present node x between this node of unmarked link bundling, node-unmarked link is right to constitute network code, presses the wherein network code operand NC (v of node i) size, descending with these network code nodes-unmarked link to being pressed into routing stacks and network code stack simultaneously; As second son set V I1pIn have the NC (v of a plurality of nodes i) when identical, need again relatively BW (x, the v of these nodes i) size, according to BW (x, v i) big or small ascending with corresponding network code node-unmarked link to being pressed into routing stacks and network code stack simultaneously; Turn over journey C;
C. for subclass V I1In node and present node x between the oriented link that has been labeled, bind its corresponding terminal note respectively, node-labeled link is right to constitute network code, according to the network code operand NC (v of the node of labeled link centering of network code node- i) size, from big to small with the labeled link of these network code nodes-to being pressed into routing stacks and network code stack simultaneously; When wherein there being the NC (v of labeled link centering node of a plurality of network code nodes- i) big or small when identical, need again the number of the link tag set medium chain road sign note of the labeled link of labeled link centering of the network code node that these nodes relatively constitute-, press link mark number order from more to less, with the labeled link of the network code node of correspondence-to being pressed into routing stacks and network code stack simultaneously.
Described network transfer method is characterized in that, in the stacked step of described intermediate node:
Described substep 5.11 comprises following process:
A. at subclass V I2In, judge whether to exist link available bandwidth BW (x, v between itself and present node x iThe node of)>0 is that all nodes that then will satisfy condition constitute second son set V I2p, and the process of carrying out B; Otherwise turn over journey C;
B. for second son set V I2pIn each node, this node of unmarked link bundling between optional itself and present node x, it is right to constitute non-network code node-unmarked link, according to the BW of node (x, v wherein i) size, ascending non-network code node-unmarked link with its composition is to being pressed into routing stacks; Turn over journey C;
C. for subclass V I2In node and present node x between the oriented link that had been labeled, bind its corresponding terminal note respectively, constitute that non-network code node-labeled link is right, according to the number of the link tag set medium chain road sign note of wherein labeled link, by order from more to less with the labeled link of the non-network code node of its correspondence-to being pressed into routing stacks.
The present invention can realize adopting the equilibrium of computing capability behind the network code, and reduce the complexity that network code brings by reducing the network code operand, be particularly suitable for available resources heterogeneous networks inequality such as node calculating and storage, can solve because adopting behind the network code and calculate and decoding time delay that the less network node of storage available resources causes causes than HD having, and then the decline problem of the overall performance of network that causes.
Description of drawings
Fig. 1 is schematic flow sheet of the present invention;
Fig. 2 is the stacked steps flow chart schematic diagram of information source node;
Fig. 3 is the steps flow chart schematic diagram of popping;
Fig. 4 is the stacked steps flow chart schematic diagram of intermediate node;
Fig. 5 is for recalling the steps flow chart schematic diagram;
Fig. 6 is the network environment of the embodiment of the invention.
Embodiment
Below in conjunction with drawings and Examples, the present invention is further described.
As shown in Figure 1, the present invention includes initialization step, achievement setting up procedure, the stacked step of information source node, the step of popping, the stacked step of intermediate node and recall step.
Wherein, the stacked step of information source node as shown in Figure 2, the step of popping as shown in Figure 3, the stacked step of intermediate node as shown in Figure 4, recall step as shown in Figure 5.
As shown in Figure 6, in the network of present embodiment, comprise node 101~110 and node 120, totally 11 nodes; The transmission method of present embodiment comprises the steps:
One, initialization step:
1.1, remove the vertex ticks of each node in the network, determine that from network as shown in Figure 6 node 120 is information source node s; Node 106,108,110 is respectively information destination node t 1, t 2, t 3With box indicating;
1.2, use the Ford-Fulkerson labeling algorithm to calculate information source node 120 to each information destination node 106,108,110 max-flow f (t 1)=f (t 2)=f (t 3)=4, max-flow f=4 that must this oriented polygon;
1.3, use each node v in the dijkstra's algorithm computing network iTo each information destination node t kBeeline D k(v i), and insert the beeline vector D (v of each node accordingly i)=[D k(v i)] τ * 1In, for example: node 101 is D to the minimum hop count of information destination node 106 1(101)=1, the minimum hop count to information destination node 108 is D 2(101)=3, can not arrive information destination node 110, then D by oriented link 3(101) be ∞, D (101)=[1 3 ∞] T
1.4, the link available bandwidth vector of each node of initialization
Figure GDA00002973087600131
For example: corresponding P (102)=2 beginning node when node 102 is terminal note is respectively node 101 and 103, BW (101,102)=2 wherein, BW (103,102)=2, then BW (102)=[2 2] T
1.5, each node v iNetwork code operand NC (v i) be initialized as 0, with each oriented link e yLink tag set LMC (e y) be initialized as empty set;
1.6, put currently building multicast tree numbering N=0, change step 2;
Two, achievement setting up procedure:
2.1, information source node 120 be set be present node x, and add definite mark;
2.2, put currently building multicast tree numbering N=N+1=0+1=1, change step 3;
Three, the stacked step of information source node:
3.1, present node x is information source node 120, it has three neighbor nodes 101,103 and 105, all satisfy condition: be not labeled, BW (120,101)=BW (120,103)=BW (120,105)=2>0, and Dmin (101)=1, Dmin (103)=3, Dmin (105)=1, all less than ∞, so configuration node set V S={ 101,103,105} carries out substep 3.2;
3.2, for V SIn each node, optional itself and 120 unlabelled oriented links of node, it is right to constitute 3 node-unmarked links: 011 pair of node 101-link, 031 pair of node 103-link, 051 pair of node 105-link;
3.3, the set V SIn its NC of node (101)=NC (103)=NC (105)=0, satisfy not constitute subclass V S1Condition, rotor step 3.5;
3.5, the set V SBW (101), BW (103) and the BW (105) of middle node are equal to initial value, do not satisfy to constitute subclass V S2Condition, rotor step 3.7;
3.7, the set V SBW (101), BW (103) and the BW (105) of middle node are equal to initial value, and are non-information destination node, then constitute subclass V S3={ 101,103,105} carries out substep 3.8;
3.8, subclass V S3In BW (120,101)=BW (120, the 103)=BW (120,105)=2 of node, then press the Dmax (v of node i) size from small to large, 031 pair of the node 103-link of node 103 correspondences of Dmax (103)=3 at first is pressed into routing stacks, Dmax (101)=Dmax (105)=∞, right by node-unmarked link that node 101,105 is formed, stacked with random order, suppose that 051 pair of node 105-link goes into routing stacks earlier, 011 pair of node 101-link is gone into routing stacks at last, carries out substep 3.9;
3.9, the set V SIn do not have information destination node, change step 4;
Four, the step of popping:
4.1, routing stacks is not empty, carries out substep 4.2;
4.2, from routing stacks, take out a node-link to be 011 pair of node 101-link, making the beginning node 120 of its correspondence is present node x, node 120 is information source node, then the current link mark of multicast tree 1
Figure GDA00002973087600141
Rotor step 4.4;
4.4,011 pair of node 101-link taking out in the routing stacks is right for non-information destination node-link, rotor step 4.9;
4.9, present node 120 has been coupled with definite mark, but the NC of non-information destination node 101 (101)=0 do not satisfy condition, and carries out substep 4.10;
4.10,011 pair of node 101-link is that non-information destination node-unmarked link is right, rotor step 4.13;
4.13, add temporary marker for node 101, BW (120, the 101)=2-1=1 among its BW (101), the LMC of unmarked link 011 (011) and on
Figure GDA00002973087600143
LMC (011) becomes { 1}, rotor step 4.19 by empty set;
4.19, make node 101 be present node x, change step 5;
Five, stacked step:
5.1, present node 101 has two neighbor nodes 102 and 106, they all satisfy: be not labeled Dmin (102)=2<∞, Dmin (106)=0<∞, and BW (101,102)=BW (101,106)=2 ≠ 0, then configuration node set V IC={ 102,106} carries out substep 5.2;
5.2, the source link E of present node 101 in multicast tree 1 1(101) be 011, link tag set LMC (011)={ LM of link 011 1(011) }={ 1} then makes node set V I=node set V IC={ 102,106}, and rotor step 5.8;
5.8, V IIn node 102 and 106, BW (102) and BW (106) be equal to initial value, NC (102)=NC (106)=0 does not all satisfy and constitutes subclass V in the substep 5.8,5.10,5.12 I1, V I2And V I3Condition, rotor step 5.14;
5.14, V IIn only node 102 satisfy non-information destination node and BW (102) equals initial value, so constitute subclass V I4=102}, and carry out substep 5.15;
5.15, V I4In node 102,121 pairs of configuration node 102-links also are pressed into routing stacks;
5.16, V IIn information destination node 106 is arranged, be pressed into routing stacks by 161 pairs of its configuration node 106-links, and change step 4;
Four, the step of popping:
4.1, routing stacks is not empty, carries out substep 4.2;
4.2, from routing stacks, take out a node-link to be 161 pairs of node 106-links, making the beginning node 101 of its correspondence is present node x, node 101 is not information source node, carries out substep 4.3;
4.3, the source link E of present node 101 in current multicast tree 1 1(101) be 011, link tag set LMC (011)={ LM of link 011 1(011) }={ 1}, the then current link mark of multicast tree 1
Figure GDA00002973087600151
Carry out substep 4.4;
4.4,161 pairs of node 106-links are that information destination node-unmarked link is right, carry out substep 4.5;
4.5, this information destination node 106 is carried out incremental check, owing to be that the link 161,162,761,762 of terminal note is all unmarked with node 106, so by incremental check, carry out substep 4.6;
4.6, in the link tag set LMC (161) of unmarked link 161 and go up the current link mark of multicast tree 1,
Figure GDA00002973087600152
Then LMC (161) is become by empty set that { 1}, BW (101,106) among the BW of node 106 (106)=2-1=1 oppositely contain the link label L M of multicast tree 1 along the link tag set from node 106 beginnings 1Oriented link, add definite mark at first for node 106, be { the link 161 of 1} along LMC (161) oppositely then, change 101 vertex ticks into definite mark through node 101, continuing oppositely along LMC (011) be that { link 011 of the 1} information source node 120 of meeting to definite mark just finishes; Carry out substep 4.7;
4.7, information destination node 108 and 110 is also unmarked, rotor step 4.1;
Order is carried out substep 4.1,4.2,4.3,4.4,4.9,4.10,4.13,4.19, and routing stacks is not empty, takes out 121 pairs of node 102-links from routing stacks, makes the beginning node 101 of its correspondence be present node x, gets the current link mark of multicast tree 1
Figure GDA00002973087600153
Add temporary marker for node 102, BW (101, the 102)=2-1=1 among its BW (102), the current link mark of also last multicast tree 1 among the link tag set LMC (121) of unmarked link 121
Figure GDA00002973087600154
Figure GDA00002973087600155
LMC (121) is become by empty set that { 1} makes node 102 be present node x, changes step 5; Five, the stacked step of intermediate node:
Order is carried out substep 5.1,5.2,5.8,5.10,5.12,5.14,5.15,5.16, unique neighbor node 107 of present node 102, the configuration node that satisfies condition set V IC={ 107} is by the source link E of present node 102 in multicast tree 1 1(102) be link 121, Link State LMC (121)={ LM of link 121 1(121) }={ 1} then makes node set V I=node set V IC={ 107}, node 107 does not satisfy and constitutes subclass V in the substep 5.8,5.10,5.12 for the non-information destination node that BW (107) equals initial value I1, V I2And V I3Condition, constitute subclass V by it I4={ 107}, and 271 pairs of configuration node 107-links are pressed into routing stacks, change step 4;
Four, the step of popping:
Order is carried out substep 4.1,4.2,4.3,4.4,4.9,4.10,4.13,4.19, takes out 271 pairs of node 107-links from routing stacks, makes node 102 be present node x, the current link mark of multicast tree 1
Figure GDA00002973087600156
Add temporary marker for node 107, BW (102, the 107)=2-1=1 among the BW (107), the link tag set LMC (271) of link 271 also goes up current link mark,
Figure GDA00002973087600161
LMC (271) is become by empty set that { 1} makes node 107 be present node x, changes step 5;
Five, the stacked step of intermediate node:
Order is carried out substep 5.1,5.2,5.8,5.10,5.12,5.14,5.16, the unique unlabelled neighbor node 108 of present node 107 is the information destination node of BW (107,108)>0,781 pairs of configuration node 108-links are pressed into routing stacks, and change step 4;
Four, the step of popping:
Order is carried out substep 4.1,4.2,4.3,4.4,4.5,4.6,4.7, takes out 781 pairs of node 108-links from routing stacks, makes this node-link that the beginning node 107 of correspondence is present node x, the current link mark of multicast tree 1 Information destination node 108 is carried out incremental check, by incremental check, in the link tag set LMC (781) of link 781, also goes up the current link mark of multicast tree 1,
Figure GDA00002973087600163
LMC (781) is become by empty set that { 1}, BW (107,108) among the BW of node 108 (108)=2-1=1 add definite mark for node 108, change node 107,102 temporary marker into definite mark, and information destination node 110 is also unmarked, rotor step 4.1;
Order is carried out substep 4.1,4.2,4.4,4.9,4.10,4.13,4.19, takes out 051 pair of node 105-link from routing stacks, makes the beginning node 120 of its correspondence be present node x, the current link mark of multicast tree 1 Add temporary marker for node 105, BW (120, the 105)=2-1=1 among its BW (105), the current link mark of also last multicast tree 1 among the link tag set LMC (051) of link 051,
Figure GDA00002973087600165
LMC (051) is become by empty set that { 1} arranges node 105 and is present node x, changes step 5;
Five, the stacked step of intermediate node:
Order is carried out substep 5.1,5.2,5.8,5.10,5.12,5.14,5.15,5.16, and present node 105 has two neighbor nodes 104 and 110, and 541 pairs of configuration node 104-links, 501 pairs of priorities of node 110-link are pressed into routing stacks, changes step 4;
Four, the step of popping:
Order is carried out substep 4.1,4.2,4.3,4.4,4.5,4.6,4.7,4.8, takes out 501 pairs of node 110-links from routing stacks, makes the beginning node 105 of its correspondence be present node x, the current link mark of multicast tree 1
Figure GDA00002973087600166
Information destination node 110 is carried out incremental check, by incremental check, in the link tag set LMC (501) of link 501, also goes up the current link mark of multicast tree 1,
Figure GDA00002973087600167
LMC (501) becomes { 1} by empty set, BW (105 among the BW of node 110 (110), 110)=2-1=1, add definite mark for node 110, change the temporary marker of node 105 into definite mark, information destination node all has been coupled with definite mark, do not reach network max-flow f this moment, remove the vertex ticks of all nodes, zero clearing routing stacks and network code stack change step 2;
After having built multicast tree 1, the link that the link tag set changes and change as follows:
Link 011,161,121,271,781,051,501 link tag set become by empty set that { 1}, it is empty set that the link tag set of other links keeps initial condition.
Two, achievement setting up procedure:
2.1, information source node 120 be set be present node x, and add definite mark;
2.2, put currently building multicast tree numbering N=N+1=1+1=2, change step 3;
Three, the stacked step of information source node:
3.1, present node x is information source node 120, it has three neighbor nodes 101,103 and 105, all satisfy condition: be not labeled BW (120,103)=2>0, BW (120,101)=BW (120,105)=1>0, and Dmin (101)=1, Dmin (103)=3, Dmin (105)=1 is all less than ∞, so configuration node set V S=101,103,105}, and carry out substep 3.2;
3.2, for V SIn node 101,103 and 105, it is right to constitute 3 node-unmarked links: 012 pair of node 101-link, 031 pair of node 103-link, 052 pair of node 105-link;
3.3, the set V SIn its NC of node (101)=NC (103)=NC (105)=0, satisfy not constitute subclass V S1Condition, rotor step 3.5;
3.5 set V SIn node 101 and 105 satisfy condition: non-information destination node, BW (101) and BW (105) then constitute subclass V for initial value and NC (101)=NC (105)=0 S2={ 101,105} carries out substep 3.6;
3.6, V S2In its BW of node (120,101)=BW (120,105)=1, then press the Dmax (v of node i) size from small to large, Dmax (101)=Dmax (105)=∞, right by node-link that node 101,105 is formed, be pressed into routing stacks with random order, suppose that 052 pair of node 105-link goes into routing stacks earlier, 012 pair of posterior approach of node 101-link carries out substep 3.7 by stack;
3.7, the set V SIn node 103 for the non-information destination node that BW (103) equals initial value, constitute subclass V S3={ 103} carries out substep 3.8;
3.8,031 pair of configuration node 103-link is pressed into routing stacks, carries out substep 3.9;
3.9, the set V SIn do not have information destination node, change step 4;
Four, the step of popping:
Order is carried out substep 4.1,4.2,4.4,4.9,4.10,4.13,4.19, takes out 031 pair of node 103-link from routing stacks, makes node 120 be present node x, the current link mark of multicast tree 2 Node 103 adds temporary marker, BW (120, the 103)=2-1=1 among its BW (103), the LMC of unmarked link 031 (031) and on
Figure GDA00002973087600181
LMC (031) is become by empty set that { 2} makes node 103 be present node x, changes step 5;
Five, stacked step:
Order is carried out substep 5.1,5.2,5.8,5.10,5.11,5.12,5.14,5.15,5.16, and present node 103 has two neighbor nodes 102 and 104, and node 102 is non-information destination node, its BW (102)=[1 2] TBe not equal to initial value, BW (103,102)=2<f-(N-1)=4-(2-1)=3 and NC (102)=0, then configuration node 102-link is 321 pairs, be pressed into routing stacks earlier, node 104 is also for non-information destination node and its BW (104) equal initial value, 341 pairs of configuration node 104-links, after be pressed into routing stacks, change step 4;
Four, the step of popping:
Order is carried out substep 4.1,4.2,4.3,4.4,4.9,4.10,4.13,4.19, takes out 341 pairs of node 104-links from routing stacks, makes the beginning node 103 of its correspondence be present node x, the current link mark of multicast tree 2
Figure GDA00002973087600183
Add temporary marker for node 104, BW (103, the 104)=2-1=1 among its BW (104), the current link mark of also last multicast tree 2 among the link tag set LMC (341) of unmarked link 341,
Figure GDA00002973087600184
LMC (341) is become by empty set that { 2} makes node 104 be present node x, changes step 5;
Five, the stacked step of intermediate node:
Order is carried out substep 5.1,5.2,5.8,5.10,5.12,5.14,5.15,5.16, unique neighbor node 109 of present node 104, and 491 pairs of configuration node 109-links are pressed into routing stacks, change step 4;
Four, the step of popping:
Order is carried out substep 4.1,4.2,4.3,4.4,4.9,4.10,4.13,4.19, takes out 491 pairs of node 109-links from routing stacks, makes the beginning node 104 of its correspondence be present node x, the current link mark of multicast tree 2
Figure GDA00002973087600185
Add temporary marker for node 109, BW (104, the 109)=2-1=1 among the BW (109), the link tag set LMC (491) of link 491 also go up the current link mark of multicast tree 2,
Figure GDA00002973087600186
LMC (491) is become by empty set that { 2} makes node 109 be present node x, changes step 5;
Five, the stacked step of intermediate node:
Order is carried out substep 5.1,5.2,5.8,5.10,5.12,5.14,5.16, two unlabelled neighbor nodes 108 and 110 are arranged in the neighbor node of present node 109, the information destination node that is, and BW (109,108)>0, BW (119,110)>0,901 pairs of 981 pairs of configuration node 108-links and node 110-links are pressed into routing stacks with random order, suppose that 981 pairs of node 108-links go into routing stacks earlier, 901 pairs of posterior approaches of node 110-link are by stack, and the commentaries on classics step 4; Four, the step of popping:
Order is carried out substep 4.1,4.2,4.3,4.4,4.5,4.6,4.7, takes out 901 pairs of node 110-links from routing stacks, makes node 109 be present node x, the current link mark of multicast tree 2
Figure GDA00002973087600191
Information destination node 110 is carried out incremental check, owing to be that only link 501 is underlined in the oriented link 501,502,901,902 of terminal note with node 110, LMC (501)={ LM 1(501) }={ 1}, link label L M wherein 1(501) not with
Figure GDA00002973087600192
Identical, thus by incremental check, in the link tag set LMC (901) of link 901, also go up the current link mark of multicast tree 2,
Figure GDA00002973087600193
LMC (901) becomes { BW (109,110) among the 2}, the BW of node 110 (110)=2-1=1 by empty set, add definite mark to 110, change node 109,104,103 temporary marker into definite mark, information destination node 108 and 106 is also unmarked, rotor step 4.1;
Order is carried out substep 4.1,4.2,4.3,4.4,4.5,4.6,4.7 and take out 981 pairs of node 108-links from routing stacks, makes node 109 be present node x, the current link mark of multicast tree 2
Figure GDA00002973087600194
Information destination node 108 is carried out incremental check, by incremental check, among the LMC (981) and on
Figure GDA00002973087600195
Figure GDA00002973087600196
LMC (981) is become by empty set that { 2}, BW (109,108) among the BW of node 108 (108)=2-1=1 add definite mark to 108, and information destination node 106 is also unmarked, rotor step 4.1;
Order is carried out substep 4.1,4.2,4.3,4.4,4.9,4.10,4.13,4.19, takes out 321 pairs of node 102-links from routing stacks, makes the beginning node 103 of its correspondence be present node x, the current link mark of multicast tree 2
Figure GDA00002973087600197
Add temporary marker for node 102, BW (103, the 102)=2-1=1 among its BW (102), the current link mark of also last multicast tree 2 among the LMC (321),
Figure GDA00002973087600198
LMC (321) is become by empty set that { 2} makes node 102 be present node x, changes step 5;
Five, the stacked step of intermediate node:
Order is carried out substep 5.1,5.2,5.8,5.10,5.11,5.12,5.14,5.16, unique neighbor node 107 of present node 102, at first 272 pairs of configuration node 107-links are pressed into routing stacks, and 271 pairs of configuration node 107-links are pressed into routing stacks then, change step 4;
Four, the step of popping:
4.1, routing stacks is not empty, carries out substep 4.2;
4.2, from routing stacks, take out a node-link to be 271 pairs of node 107-links, make that this node-link is present node x to the beginning node 102 of correspondence, present node 102 is not information source node, carries out substep 4.3;
4.3, the source link E of node 102 in multicast tree 2 2(102) be link 321, link tag set LMC (321)={ LM of link 321 2(321) }={ 2}, the then current link mark of multicast tree 2
Figure GDA00002973087600199
Carry out substep 4.4;
4.4,271 pairs of node 107-links taking out are that non-information destination node-link is right, rotor step 4.9;
4.9, present node 102 is not coupled with definite mark, and the network code operand NC (107)=0 of node 107 does not satisfy condition, and carries out substep 4.10;
4.10,271 pairs of node 107-links are that non-information destination node-labeled link is right, carry out substep 4.11;
4.11, add temporary marker for node 107, among the link tag set LMC (271) of link 271 and go up the current link mark of multicast tree 2,
Figure GDA00002973087600201
By { LM 1(271) }={ 1} becomes { LM 1(271), LM 2(271) }=1,2}, the network code operand NC (102) of present node 102=NC (102)+1=0+1=1 carries out substep 4.12;
4.12, the labeled link centering of the node of popping-the link tag set of labeled link 271 be LMC (271)={ LM 1(271), LM 2(271) }={ 1,2}, by N=2, z=1 then replaces the factor as can be known Rep λ 1 = Rep 1 = λ 1 ( LM λ 1 ( 271 ) + LM N ( 271 ) ) x = 1 ( LM 1 ( 271 ) + LM 2 ( 271 ) ) x = 1 ( 1 + 2 ) 102 , Search the factor
Figure GDA00002973087600203
Traversal 107 is the subtree of root node with this, checks the link mark in the link tag set of all links in the subtree, is that the subtree of root node comprises four oriented links 761 among the figure with node 107 as can be known, 762,781,782, the LMC of link 781 (781) non-NULL only wherein, LMC (781)={ LM 1(781) }={ 1}, the link label L M in this link tag set 1(781)=1, factor string is identical with searching, and it is replaced to replace factor R ep 1=1 (1+2) 102, the then LM of LMC (781) lining 1(781) become 1 (1+2) 102 by 1, LMC (781) is by { 1} has become { 1 (1+2) 102}, rotor step 4.19;
4.19, make node 107 be present node x, change step 5;
Five, the stacked step of intermediate node:
5.1, have only a unlabelled neighbor node 106 in the neighbor node of present node 107, and node 106 is the information destination node of BW (107,106)>0, configuration node set V IC={ 106}, rotor step 5.2;
5.2, the source link E of present node 107 in multicast tree 2 2(107) be link 271, link tag set LMC (271)={ LM of link 271 1(271), LM 2(271) }={ 1,2} carries out substep 5.3;
5.3, the link tag set of the source link 271 of present node 107 in multicast tree 2 is LMC (107)={ LM 1(271), LM 2(271) }={ 1,2}, node set V ICMiddle node 106 is information destination node, makes node set V I=V IC={ 106}, rotor step 5.8;
5.8, the set V IMiddle node 106 does not satisfy and constitutes subclass V in the substep 5.8,5.10,5.12,5.14 1, V 2, V 3, V 4Condition, rotor step 5.16;
5.16, the set V IMiddle node 106 is information destination node, constitutes 761 pairs of information destination node 106-links by it, is pressed into routing stacks, and changes step 4;
Four, the step of popping:
4.1, routing stacks is not empty, carries out substep 4.2;
4.2, from routing stacks, take out a node-link to be 761 pairs of node 106-links, making the beginning node 107 of its correspondence is present node x, node 107 is not information source node, rotor step 4.3;
4.3, the source link E of node 107 in multicast tree 2 2(107) be link 271, link tag set LMC (271)={ LM of link 271 1(271), LM 2(271) }={ 1,2} then makes the current link mark of multicast tree 2 LM 2 ‾ = 2 ( LM 1 ( 271 ) + LM 2 ( 271 ) ) 102 = 2 ( 1 + 2 ) 102 , Carry out substep 4.4;
4.4,761 pairs of node 106-links taking out are that information destination node-unmarked link is right, carry out substep 4.5;
4.5, information destination node 106 is carried out incremental check owing to be that only link 161 is underlined in the oriented link 161,162,761,762 of terminal note with node 106, LMC (161)={ LM 1(161) }={ 1} is by removing
Figure GDA00002973087600212
Behind the connection order of each element that the multicast tree numbering 2 of bracket front and exchange plus sige connect, LM 1(161) with
Figure GDA00002973087600213
Can't be identical, so by incremental check, carry out substep 4.6;
4.6 in LMC (761), also go up the current link mark of multicast tree 2 Become by empty set that { 2 (1+2) 102}, BW (107,106) among the BW of node 106 (106)=2-1=1 add definite mark for node 106, change node 107,102 temporary marker into definite mark, carry out substep 4.7;
4.7, information destination node all has been coupled with definite mark, rotor step 4.8;
4.8, do not reach network max-flow f this moment, removes the vertex ticks of all nodes, zero clearing routing stacks and network code stack change step 2;
After having built multicast tree 2, the link that the link tag set changes and change as follows:
Link 031,321,341,491,981,901 link tag set become { 2} by empty set, the link tag set of link 271 is by { 1} becomes { 1,2}, the link tag set of link 761 becomes { 2 (1+2) 102} by empty set, link 781 link tag sets are by { 1} becomes { 1 (1+2) 102}, link 011,161,121,051,501 link tag set continue to remain that { 1}, it is empty set that the link tag set of other links keeps initial condition.
In the process of building multicast tree 3, present node is 104 o'clock, carry out step 5,492 pairs of node 109-links and 491 pairs of priorities of node 109-link are pressed into routing stacks, change step 4, take out 491 pairs of node 109-links, for non-information destination node-labeled link is right, add temporary marker for node 109, the link tag set LMC (491) of link 491 by 2} become 2,3}, the network code operand of node 104 adds 1, NC (104)=0+1=1, LMC (981) and LMC (901) are by { 2} becomes that { 2 (2+3) 104} makes node 109 be present node, changes step 5,982 pairs of node 108-links are pressed into routing stacks, continuing changes step 4, takes out to be 982 pairs of node 108-links, by the link tag set LMC (491)={ 2 of the source link 491 of present node 109 in multicast tree 3,3}, the current link mark of multicast tree 3
Figure GDA00002973087600221
Be 981 its LMC (981)={ LM of labeled link of terminal note with information destination node 108 2(981) }={ 2 (2+3) 104} removes
Figure GDA00002973087600222
And LM 2(981) after the numbering of the multicast tree before the bracket, both are identical, and the incremental check of information destination node 108 can not be passed through, and changes step 6, recalls step;
Six, recall step:
6.1, routing stacks is not empty, the beginning node 104 that 491 pairs of correspondences of the uppermost node 109-of routing stacks link are set is halt, rotor step 6.3;
6.3, present node 109 neither is not coupled with definite mark for halt yet, carries out substep 6.4;
6.4, the temporary marker of removing present node 109,109 source link E in the multicast tree 3 3(109) be link 491, LMC (491)={ LM 2(491), LM 3(491) }={ 2,3} carries out substep 6.5;
6.5, the network code operand of the father node 104 of present node 109 in multicast tree 3 subtracts 1, NC (104)=1-1=0, by LMC (491)={ LM 2(491), LM 3(491) }={ 2,3}, factor R ep is replaced in order 2=2, search factor S ek 2=2 (2+3) 104 are link 981 in the subtree of root node and link tag set LMC (981)={ LM of link 901 with node 109 2(901) }={ LM 2(981) }=2 (2+3) 104}, and link mark wherein with search factor S ek 2=2 (2+3) 104 are identical, it is replaced with replace factor R ep 2=2, LMC (981)={ LM then 2(901) }={ LM 2(981) }={ 2} carries out substep 6.6;
6.6, remove the link label L M of multicast tree 3 among the link tag set LMC (491) of the source link 491 of present node 109 in multicast tree 3 3(491)=3, the father node 104 of present node 109 in multicast tree 3 is set and is new present node, rotor step 6.3;
6.3, present node 104 is halt, and information source node is made as halt, changes step 4;
After having built multicast tree 3, the link that the link tag set changes and change as follows:
Link 012,162,052,502,541,492,982 link tag set become { 3} by empty set, link 011,161,121,051,501 link tag set continue to remain { 1}, link 031,321,341,491,981,901 link tag set continue to remain { 2}, the link tag set of link 271 is { 1,2}, the link tag set of link 761 is { 2 (1+2) 102}, the link tag set of link 781 is that { 1 (1+2) 102}, it is empty set that the link tag set of other links keeps initial condition.
After having built multicast tree 4, the link that the link tag set changes and change as follows:
Link 032,322,342,272,762,782 link tag sets become { 4} by empty set, the link tag set of link 492 is by { 3} becomes { 3,4}, the link tag set of link 982 is by { 3} becomes { 3 (3+4) 104}, the link tag set of link 902 becomes { 4 (3+4) 104} by empty set, link 011,161,121,051,501 link tag set continues to remain { 1}, link 031,321,341,491,981,901 link tag set continues to remain { 2}, link 012,162,052,502,541 link tag set continues to remain { 3}, the link tag set of link 271 continues as { 1,2}, the link tag set of link 761 continues as { 2 (1+2) 102}, the link tag set of link 781 continues as that { 1 (1+2) 102}, it is empty set that the link tag set of other links keeps initial condition.

Claims (4)

1. a network transfer method that adopts network code comprises the steps:
One. initialization step, set up node link initialization information table, comprise following substep:
1.1 remove network G (V, E) in the vertex ticks of each node, from all node V={v of network 1, v 2..., v υIn determine information source node s and information destination node t k, 1≤k≤τ, τ are the information destination node number; υ is total node number in the network;
1.2 calculate information source node s to each information destination node t kMax-flow f (t k), with f=min{f (t k) | 1≤k≤τ } as the max-flow of oriented polygon;
1.3 each node v in the computing network i∈ V is to each information destination node t kBeeline D k(v i), 1≤i≤υ, and insert corresponding each node to the beeline vector D (v of information destination node i)=[D k(v i)] τ * 1In;
1.4 the link available bandwidth vector of each node of initialization
Figure FDA00002973087500011
According to oriented polygon, with each node v iEach beginning node u to its correspondence IjLink available bandwidth BW (u Ij, v i) be initialized as each node v iDuring for terminal note, to each beginning node u of its correspondence IjBetween parallel directed chain travel permit number, 1≤j≤P (v i), P (v i) be this node v iCorresponding beginning node number;
1.5 with each node v iNetwork code operand NC (v i) be initialized as 0, with each oriented link e yThe link tag set LMC (e of ∈ E y) be initialized as empty set, E={e 1, e 2..., e ε, 1≤y≤ε, ε are total directed chain travel permit number in the network;
1.6 put currently building multicast tree numbering N=0, change step 2;
Two. the achievement setting up procedure:
2.1 it is present node x that information source node s is set, and adds definite mark;
2.2 put currently building multicast tree numbering N=N+1, change step 3;
Three. the stacked step of information source node comprises following substep:
3.1 in all neighbor nodes of present node x, judge whether to exist node v iSatisfy condition: be not labeled, link available bandwidth BW (x, v between itself and present node x i)>0 and Dmin (v i)<∞ is the node configuration node set V that then all is satisfied condition s, carry out substep 3.2; Otherwise finish; Dmin (v i)=min{D k(v i) | t kBe not labeled };
3.2 for set V SIn each node, unlabelled oriented link between optional itself and present node x, configuration node-unmarked link is right, carries out substep 3.3;
3.3 at set V SIn, judge whether to exist its network code operand NC (v iThe node of)>0 is that the node that then all is satisfied condition constitutes subclass V S1, carry out substep 3.4; Otherwise rotor step 3.5;
3.4 at subclass V S1In, according to link available bandwidth BW (x, the v between node and present node x i) big or small ascending, with the node-unmarked link of node correspondence to being pressed into the network code stack; As the BW of a plurality of nodes (x, v i) when identical, then press the network code operand NC (v of node again i) size from big to small, the node that it is corresponding-unmarked link is to being pressed into the network code stack; Carry out substep 3.5;
3.5 at set V SIn, judge whether to exist node v iSatisfy condition: non-information destination node, its link available bandwidth vector BW (v i) be not initial value and its network code operand NC (v i)=0 is that the node that then all is satisfied condition constitutes subclass V S2, carry out substep 3.6, otherwise rotor step 3.7;
3.6 at subclass V S2In, according to link available bandwidth BW (x, the v between node and present node x i) big or small ascending, with the node-unmarked link of node correspondence to being pressed into routing stacks; As the BW of a plurality of nodes (x, v i) when identical, then press the Dmax (v of node again i) size from small to large, the node that it is corresponding-unmarked link is to being pressed into routing stacks; Dmax (v i)=max{D k(v i) | t kBe not labeled }; Carry out substep 3.7;
3.7 at set V SIn, judge whether to exist its link available bandwidth vector BW (v i) equal the non-information destination node of initial value, be then they to be constituted subclass V S3, carry out substep 3.8, otherwise rotor step 3.9;
3.8 at subclass V S3In, according to link available bandwidth BW (x, the v between node and present node x i) big or small ascending, with the node-unmarked link of node correspondence to being pressed into routing stacks; As the BW of a plurality of nodes (x, v i) when identical, then press the Dmax (v of node again i) size from small to large, the node that it is corresponding-unmarked link is to being pressed into routing stacks; Carry out substep 3.9;
3.9 at set V SIn, judge whether to exist information destination node, be node-unmarked link of then information destination node being constituted to being pressed into routing stacks with random order, change step 4; Otherwise directly change step 4;
Four. the step of popping comprises following substep:
4.1 judge that routing stacks is whether empty, be rotor step 4.14 then, otherwise carry out substep 4.2;
4.2 it is right to take out a node-link from routing stacks, makes that this node-link is present node x to the beginning node of correspondence, judges whether present node x is information source node, is the current link mark of then multicast tree N
Figure FDA00002973087500031
Rotor step 4.4, otherwise carry out substep 4.3;
4.3 judge the source link E of present node x in multicast tree N N(x) link tag set LMC (E N(x)) whether be singleton { LM N(E N(x)) }, be the current link mark of then multicast tree N
Figure FDA00002973087500032
Otherwise should source link E N(x) link tag set is the multielement set n mBe link E that originates through this NThe numbering of the multicast tree of having built up (x), 1≤n m<N, 1≤m≤r, the current link of multicast tree N is labeled as
Figure FDA00002973087500034
LM N ‾ = N ( LM n 1 ( E N ( x ) ) + LM n 2 ( E N ( x ) ) + · · · + LM n r ( E N ( x ) ) + LM N ( E N ( x ) ) ) x ,
Figure FDA00002973087500036
Be multicast tree n mAt link E N(x) the link mark of locating; Carry out substep 4.4;
4.4 the character that the node-link that takes out in the judgement routing stacks is right if taking-up is that information destination node-unmarked link is right, is then carried out substep 4.5; If what take out is that non-information destination node-link is right, then rotor step 4.9;
4.5 this information destination node is carried out incremental check: with the current link mark of multicast tree N
Figure FDA00002973087500037
With other all with this information destination node be terminal note, labeled link e yLink tag set LMC (e y) in link label L M w(e y) make comparisons: the current link mark of removing multicast tree N
Figure FDA00002973087500038
With these LM w(e y) in the multicast tree numbering of each bracket front, if behind the connection order by each element of connecting with plus sige in each bracket of exchange, With some LM w(e y) identical, step 6 is changeed in then incremental failure; Otherwise by incremental check, carry out substep 4.6; W is the numbering of the multicast tree built up, 1≤w≤N-1;
4.6 in the link tag set of the unmarked link of this information destination node-unmarked link centering and on the current link mark of multicast tree N This information destination node t kLink available bandwidth vector BW (t k) in link available bandwidth BW (x, the t of corresponding present node x k) subtract 1, from this information destination node t kBeginning oppositely contains multicast tree N link label L M in the link tag set NOriented link will by way of the vertex ticks of non-definite flag node change definite mark into, existingly determine that the node of mark just finishes, and carries out substep 4.7 until running into;
4.7 judge whether all information destination node definite mark being arranged all, is then to carry out substep 4.8, otherwise rotor step 4.1;
4.8 judge whether to reach network max-flow f, be then to finish; Otherwise remove the vertex ticks of all nodes, zero clearing routing stacks and network code stack change step 2;
Whether be coupled with the network code operand NC (v of the non-information destination node of determining mark and this non-information destination node-link centering 4.9 judge present node x i)>0 is rotor step 4.1 then, otherwise carries out substep 4.10;
4.10 judge that the non-information destination node-link that takes out in the routing stacks to whether being that non-information destination node-labeled link is right, is then to carry out substep 4.11; Otherwise rotor step 4.13;
4.11 give pop node-node of labeled link centering adds temporary marker, labeled link e yLink tag set LMC (e y) in and go up the current link mark of multicast tree N
Figure FDA00002973087500043
The network code operand NC (x) of present node x adds 1; Carry out substep 4.12;
4.12 the labeled link centering of the node of the popping-link tag set of labeled link is LMC ( e y ) = { LM λ 1 ( e y ) , · · · LM λ s ( e y ) , · · · LM λ z ( e y ) } , λ sFor passing through this numbering of the multicast tree of labeled link, 1≤λ s<N, 1≤s≤z; If z=1 then replaces the factor Rep λ 1 = λ 1 ( LM λ 1 ( e y ) + LM N ( e y ) ) x , Search the factor Sek λ 1 = λ 1 ; If z 〉=2 are then for all λ s, 1≤s≤z replaces the factor
Figure FDA00002973087500047
For:
Rep λ s = λ s ( LM λ 1 ( e y ) + LM λ 2 ( e y ) . . . + LM λ z ( e y ) + LM N ( e y ) ) x , Search the factor Sek λ s = λ s ( LM λ 1 ( e y ) + LM λ 2 ( e y ) + . . . + LM λ z ( e y ) ) x ; Traversal is so that this node-node of labeled link centering is the subtree of root node, checks the link mark in the link tag set of all oriented links in the subtree, with these link marks as the alphabetic character string, if exist in the alphabetic character string and search the factor
Figure FDA00002973087500053
Identical substring replaces with the corresponding replacement factor with this substring
Figure FDA00002973087500054
Rotor step 4.19;
4.13 the node v to this node of popping-unmarked link centering iAdd temporary marker, its link available bandwidth vector BW (v i) in link available bandwidth BW (x, the v of corresponding present node x i) subtract 1, also go up the current link mark of multicast tree N in the link tag set of the unmarked link of this node of popping-unmarked link centering
Figure FDA00002973087500055
Rotor step 4.19;
Whether being got sky 4.14 judge the network code stack, is then to finish; Otherwise carry out substep 4.15;
4.15 it is right to take out a node-link from the network code stack, and makes that this node-link is present node x to the beginning node of correspondence, judges whether present node x is information source node, is the current link mark of then multicast tree N
Figure FDA00002973087500056
Rotor step 4.17; Otherwise carry out substep 4.16;
4.16 judge the source link E of present node x in multicast tree N N(x) link tag set LMC (E N(x)) whether be singleton { LM N(E N(x)) }, be the current link mark of then multicast tree N
Figure FDA00002973087500057
Otherwise should source link E N(x) link tag set is the multielement set
Figure FDA00002973087500058
n mBe the numbering through the multicast tree of having built up of this source link, 1≤n m<N, 1≤m≤r, the current link mark of multicast tree N
Figure FDA00002973087500059
LM N ‾ = N ( LM n 1 ( E N ( x ) ) + LM n 2 ( E N ( x ) ) + · · · + LM n r ( E N ( x ) ) + LM N ( E N ( x ) ) ) x ,
Figure FDA000029730875000511
Be multicast tree n mAt link E N(x) the link mark of locating; Carry out substep 4.17;
Whether satisfy following condition 4.17 judge the network code node-link centering network code node of this taking-up: this network code node is labeled, and perhaps this network code node and present node x all are not labeled, and is rotor step 4.14 then; Otherwise carry out substep 4.18;
4.18 the right character of node-link of taking out in the judgement network code stack is that the network code node-labeled link is right as if what take out, then rotor step 4.11; Otherwise what take out is that network code node-unmarked link is right, rotor step 4.13;
4.19 the node of node-link centering that order is popped is present node x, changes step 5;
Five. the stacked step of intermediate node comprises following substep:
5.1 in all neighbor nodes of present node x, judge whether to exist node v iSatisfy condition: be not labeled Dmin (v i)<∞ and its be not and present node x between link available bandwidth BW (x, v iThe information destination node of)=0 is the node configuration node set V that then all is satisfied condition IC, carry out substep 5.2; Otherwise commentaries on classics step 6;
5.2 judge the source link E of present node x in multicast tree N N(x) link tag set LMC (E N(x)) whether be the singleton { LM that only contains the link mark of multicast tree N N(E N(x)) be then to make node set V }, IEqual node set V IC, and rotor step 5.8; Otherwise carry out substep 5.3;
5.3 should source link E N(x) link tag set is the multielement set LMC ( E N ( x ) ) = { LM n 1 ( E N ( x ) ) , . . . LM n m ( E N ( x ) ) , · · · LM n r ( E N ( x ) ) , LM N ( E N ( x ) ) } , n mBe link E that originates through this NThe numbering of the multicast tree of having built up (x), 1≤n m<N, 1≤m≤r is at set V ICIn, judge whether to exist node to satisfy condition: for information destination node, and to contain multicast tree n in the link tag set of oriented link between itself and the x mThe link mark Be the node configuration node set V that then all is satisfied condition IM, and carry out substep 5.4; Otherwise make node set V I=V IC, rotor step 5.8;
5.4 for V IMIn each node, broadcast tree n with containing in the link tag set between itself and the present node x mThe link mark
Figure FDA00002973087500063
The oriented link of each bar bind its corresponding terminal note respectively, configuration node-labeled link is right, presses the network code operand NC (v of labeled link centering node of node- i) big or small descending stacked, when there being the labeled link centering node NC (v of a plurality of nodes- i) when identical, need again relatively the number of the link tag set medium chain road sign note of the labeled link of labeled link centering of these nodes-, by link mark number from more to less the labeled link of node that it is corresponding-to being pressed into stack; When stacked, NC (v wherein iThe labeled link of the network code node that the node of)>0 constitutes-is to being pressed into routing stacks and network code stack, NC (v simultaneously iThe labeled link of the non-network code node that the node of)=0 constitutes-is to only being pressed into routing stacks; Carry out substep 5.5;
5.5 judging whether to exist with present node x is beginning node, set V IMIn node be that the labeled link of terminal note satisfies condition: do not contain multicast tree n in its link tag set mThe link mark
Figure FDA00002973087500071
Be then to carry out substep 5.6, otherwise rotor step 5.7;
5.6 with these labeled link bind it respectively corresponding terminal note configuration node-labeled link be right, press the network code operand NC (v of labeled link centering node of node- i) big or small descending stacked, when there being the NC (v of labeled link centering node of a plurality of nodes- i) when identical, need again relatively the number of the link tag set medium chain road sign note of the labeled link of labeled link centering of these nodes-, by link mark number from more to less with the labeled link of the node of its composition-to being pressed into stack; When stacked, NC (v wherein iThe labeled link of the network code node that the node of)>0 constitutes-is to being pressed into routing stacks and network code stack, NC (v simultaneously iThe labeled link of the non-network code node that the node of)=0 constitutes-is to only being pressed into routing stacks; Carry out substep 5.7;
5.7 make node set V I=V IC-V IM
5.8 at set V IIn, judge whether to exist node v iSatisfy condition: link available bandwidth BW (x, v between itself and present node x i)<f-(N-1) and its network code operand NC (v i)>0 is that the node that then all is satisfied condition constitutes subclass V I1, carry out substep 5.9, otherwise rotor step 5.10;
5.9 for subclass V I1In node, make up node-link collating sequence and be pressed into routing stacks and network code stack;
5.10 at set V IIn, judge whether to exist node v iSatisfy condition: non-information destination node, its link available bandwidth vector BW (v i) be not equal to initial value, and present node x between link available bandwidth BW (x, v i)<f-(N-1) and its network code operand NC (v i)=0 is that the node that then all is satisfied condition constitutes subclass V I2, and carry out substep 5.11; Otherwise rotor step 5.12;
5.11 for subclass V I2In node, make up node-link collating sequence and be pressed into routing stacks;
5.12 at set V IIn, judge whether to exist node v iSatisfy condition: non-information destination node, its link available bandwidth vector BW (v i) be not equal to initial value and and present node x between link available bandwidth BW (x, v i) 〉=f-(N-1) is that the node that then all is satisfied condition constitutes subclass V I3, and carry out substep 5.13; Otherwise rotor step 5.14;
5.13 for subclass V I3In node, this node of unmarked link bundling between optional itself and present node x, configuration node-unmarked link is right, counts NC (v according to meshed network encoding operation wherein i) size, descending with these nodes-unmarked link to being pressed into stack, when wherein there being a plurality of node NC (v i) when identical, need again relatively these NC (v i) identical node and link available bandwidth BW (x, the v between present node x i) size, according to BW (x, v i) big or small ascending NC (v i) node-unmarked link of constituting of identical node is to being pressed into stack; When stacked, NC (v wherein iNetwork code node-unmarked link that the node of)>0 constitutes is to being pressed into routing stacks and network code stack, NC (v simultaneously iNon-network code node-unmarked link that the node of)=0 constitutes is to only being pressed into routing stacks;
5.14 at set V IIn, judge whether to exist node v iSatisfy condition: non-information destination node and its link available bandwidth vector BW (v i) equal initial value, be that the node that then all is satisfied condition constitutes subclass V I4, and carry out substep 5.15; Otherwise rotor step 5.16;
5.15 for subclass V I4In node, this node of unmarked link bundling between optional itself and present node x, configuration node-unmarked link is right, according to the node of node-unmarked link centering and link available bandwidth BW (x, v between present node x i) size, by ascending order with these nodes-unmarked link to being pressed into routing stacks;
5.16 at set V IIn, judge whether to exist information destination node, be then for wherein all information destination node, this information destination node of unmarked link bundling between optional itself and x, it is right to constitute information destination node-unmarked link, is pressed into routing stacks with arbitrary order, and changes step 4; Otherwise directly change step 4;
Six. recall step, carry out following substep:
6.1 whether be empty, be rotor step 6.2 then if checking routing stacks, be halt otherwise the uppermost node-link of routing stacks is set to corresponding beginning node, and carry out substep 6.3;
6.2 whether be empty, be rotor step 6.3 then if checking the network code stack, be halt otherwise the uppermost node-link of network code stack is set to corresponding beginning node, and carry out substep 6.3;
6.3 whether be halt or its be coupled with definite mark, be that then information source node is set to halt, and change step 4, otherwise carry out substep 6.4 if judging present node x;
6.4 remove the temporary marker of present node x, judge the source link E of x among the multicast tree N N(x) link tag set LMC (E N(x)) whether be the singleton { LM that only contains the link mark of multicast tree N N(E N(x)) }, be rotor step 6.6 then, otherwise carry out substep 6.5;
6.5 the source link E of present node x among the multicast tree N N(x) link tag set is the multielement set LMC ( E N ( x ) ) = { LM n 1 ( E N ( x ) ) , · · · LM n m ( E N ( x ) ) , · · · LM n r ( E N ( x ) ) , LM N ( E N ( x ) ) } , n mBe the numbering through the multicast tree of having built up of this source link, 1≤n m<N, 1≤m≤r; The father node of present node x in multicast tree N
Figure FDA00002973087500092
The network code operand subtract 1, if r=1, then the factor is replaced in order Rep n 1 = n 1 , Search the factor Sek n 1 = n 1 ( LM n 1 ( E N ( x ) ) + LM N ( E N ( x ) ) ) X ~ ; If r 〉=2 are then for all n m, 1≤m≤r, the factor is replaced in order Rep n m = n m ( LM n 1 ( E N ( x ) ) + LM n 2 ( E N ( x ) ) . . . + LM n r ( E N ( x ) ) ) X ~ , Search the factor Sek n m = n m ( LM n 1 ( E N ( x ) ) + . . . + LM n r ( E N ( x ) ) + LM N ( E N ( x ) ) ) X ~ , 1≤m≤r; Traversal is the subtree of root node with present node x, checks the link mark in the link tag set of all links in the subtree, with these link marks as the alphabetic character string, if exist in the alphabetic character string and search the factor
Figure FDA00002973087500097
Identical substring replaces with the corresponding replacement factor with it
6.6 remove the source link E of present node x in multicast tree N N(x) link tag set LMC (E N(x)) the link label L M of multicast tree N in N(E N(x)), the father node of present node x in multicast tree N is set
Figure FDA00002973087500099
Be new present node x, rotor step 6.3.
2. network transfer method as claimed in claim 1 is characterized in that, in the described initialization step:
Described substep 1.2 calculates information source node to the max-flow of each information destination node, uses the Ford-Fulkerson method;
Described each node of substep 1.3 computing networks uses the Dijkstra method to the beeline of each information destination node.
3. network transfer method as claimed in claim 1 or 2 is characterized in that, in the stacked step of described intermediate node:
Described substep 5.9 comprises following process:
A. at subclass V I1In, judge whether to exist link available bandwidth BW (x, v between itself and present node x iThe node of)>0 is that all nodes that then will satisfy condition constitute second son set V I1p, and the process of carrying out B, otherwise turn over journey C;
B. for second son set V I1pIn each node, optional its with present node x between this node of unmarked link bundling, node-unmarked link is right to constitute network code, presses the wherein network code operand NC (v of node i) size, descending with these network code nodes-unmarked link to being pressed into routing stacks and network code stack simultaneously; As second son set V I1pIn have the NC (v of a plurality of nodes i) when identical, need again relatively BW (x, the v of these nodes i) size, according to BW (x, v i) big or small ascending with corresponding network code node-unmarked link to being pressed into routing stacks and network code stack simultaneously; Turn over journey C;
C. for subclass V I1In node and present node x between the oriented link that has been labeled, bind its corresponding terminal note respectively, node-labeled link is right to constitute network code, according to the network code operand NC (v of the node of labeled link centering of network code node- i) size, from big to small with the labeled link of these network code nodes-to being pressed into routing stacks and network code stack simultaneously; When wherein there being the NC (v of labeled link centering node of a plurality of network code nodes- i) big or small when identical, need again the number of the link tag set medium chain road sign note of the labeled link of labeled link centering of the network code node that these nodes relatively constitute-, press link mark number order from more to less, with the labeled link of the network code node of correspondence-to being pressed into routing stacks and network code stack simultaneously.
4. network transfer method as claimed in claim 1 or 2 is characterized in that, in the stacked step of described intermediate node:
Described substep 5.11 comprises following process:
A. at subclass V I2In, judge whether to exist link available bandwidth BW (x, v between itself and present node x iThe node of)>0 is that all nodes that then will satisfy condition constitute second son set V I2p, and the process of carrying out B; Otherwise turn over journey C;
B. for second son set V I2pIn each node, this node of unmarked link bundling between optional itself and present node x, it is right to constitute non-network code node-unmarked link, according to the BW of node (x, v wherein i) size, ascending non-network code node-unmarked link with its composition is to being pressed into routing stacks; Turn over journey C;
C. for subclass V I2In node and present node x between the oriented link that had been labeled, bind its corresponding terminal note respectively, constitute that non-network code node-labeled link is right, according to the number of the link tag set medium chain road sign note of wherein labeled link, by order from more to less with the labeled link of the non-network code node of its correspondence-to being pressed into routing stacks.
CN 201110025347 2011-01-24 2011-01-24 Network transmission method employing network coding Expired - Fee Related CN102123006B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110025347 CN102123006B (en) 2011-01-24 2011-01-24 Network transmission method employing network coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110025347 CN102123006B (en) 2011-01-24 2011-01-24 Network transmission method employing network coding

Publications (2)

Publication Number Publication Date
CN102123006A CN102123006A (en) 2011-07-13
CN102123006B true CN102123006B (en) 2013-09-04

Family

ID=44251473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110025347 Expired - Fee Related CN102123006B (en) 2011-01-24 2011-01-24 Network transmission method employing network coding

Country Status (1)

Country Link
CN (1) CN102123006B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970689B (en) * 2011-08-31 2017-10-24 索尼公司 wireless network coding management method and system
CN106330399B (en) * 2016-08-30 2019-05-07 中国人民解放军理工大学 A kind of fast feedback approach suitable for multi-hop heterogeneous network network code

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562556A (en) * 2008-04-15 2009-10-21 华为技术有限公司 Method, device and system for reducing network coding cost

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704320B1 (en) * 1999-03-24 2004-03-09 Lucent Technologies Inc. Dynamic algorithm for determining a shortest path tree between network nodes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562556A (en) * 2008-04-15 2009-10-21 华为技术有限公司 Method, device and system for reducing network coding cost

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Network Information Flow;Rudolf Ahlswede等;《IEEE TRANSACTIONS ON INFORMATION THEORY》;20000731;第46卷(第4期);文章第1204-1216页 *
Rudolf Ahlswede等.Network Information Flow.《IEEE TRANSACTIONS ON INFORMATION THEORY》.2000,第46卷(第4期),文章第1204-1216页.

Also Published As

Publication number Publication date
CN102123006A (en) 2011-07-13

Similar Documents

Publication Publication Date Title
JP2000115243A (en) Packet repeater and multi-cast speedup system
CN103036792B (en) Transmitting and scheduling method for maximizing minimal equity multiple data streams
CN101562556B (en) Method, device and system for reducing network coding cost
Adhikari et al. The folded crossed cube: A new interconnection network for parallel systems
CN102804712A (en) Method and apparatus for selecting between multiple equal cost paths
CN103348639B (en) Routing resource and Control Server
CN103688514A (en) Coding method for minimum storage regeneration codes and method for restoring of storage nodes
JP2018526866A (en) Method, device and system for transmitting and receiving code block data streams
CN101883293B (en) Method and device for realizing K optimal path algorithm under condition of multiple sides among neighboring nodes
CN101420355B (en) Star-cluster double-loop on chip network topology construction
CN102055663B (en) QoS (Quality of Service) route distributing method for realizing load balance in overlay network
CN106254254B (en) Mesh topology structure-based network-on-chip communication method
CN101729385A (en) Path calculation and establishing method, device and system
CN102013922A (en) Information processing method as well as optical communication device and system in optical network
CN108449269A (en) Data center network load-balancing method based on SDN
CN102123006B (en) Network transmission method employing network coding
CN103188149A (en) Routing computation method and router
CN101917332B (en) Message delivery method for reducing network load of message midware
CN101241499A (en) Patricia tree rapid lookup method
CN102946443B (en) Multitask scheduling method for realizing large-scale data transmission
CN104301212A (en) Functional chain combination method
Förster et al. Local checkability, no strings attached
CN101656681A (en) Network coding router based on network processor
CN103259590B (en) A kind of light multicast static P circle segment protection method of jumping section based on 2
CN116257485A (en) Hamiltonian path construction method of multiprocessor interconnection network

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130904

Termination date: 20210124