CN101325540A - Method and apparatus for improving multicast transmission efficiency based on random network encoding - Google Patents

Method and apparatus for improving multicast transmission efficiency based on random network encoding Download PDF

Info

Publication number
CN101325540A
CN101325540A CNA2007101111069A CN200710111106A CN101325540A CN 101325540 A CN101325540 A CN 101325540A CN A2007101111069 A CNA2007101111069 A CN A2007101111069A CN 200710111106 A CN200710111106 A CN 200710111106A CN 101325540 A CN101325540 A CN 101325540A
Authority
CN
China
Prior art keywords
node
multicast
grouping
data block
self
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2007101111069A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
Original Assignee
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
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 Huawei Technologies Co Ltd, University of Electronic Science and Technology of China filed Critical Huawei Technologies Co Ltd
Priority to CNA2007101111069A priority Critical patent/CN101325540A/en
Priority to PCT/CN2008/071252 priority patent/WO2008151567A1/en
Publication of CN101325540A publication Critical patent/CN101325540A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a method for improving transmission efficiency of multicast based on random network coding, including: downstream nodes in multicast logic sub-topology transmitting self receive data block information to their own upstream nodes, the upstream nodes receiving and storing the data block information; the upstream nodes obtaining sending chance, according to the stored data block information of downstream nodes and the self received data block information, constructing a multicast packet carrying novel information through network coding, and then transmitting the multicast packet to the downstream nodes. The invention also discloses a device for improving transmission efficiency of multicast based on random network coding, including: a packet receiving module, a downstream node data caching module, a packet caching module, a packet transmitting module and a linear combination module. The invention avoids band-width waste and improves multicast efficiency.

Description

Raising is based on the method and the device of the multicast transmission efficiency of random network code
Technical field
The present invention relates to the network coding technique field, be specifically related to method and the device of a kind of raising based on the multicast transmission efficiency of random network code.
Background technology
So-called network code just is meant that the node that allows in the network not only has the ability that packet is transmitted in storage, can also carry out encoding operation to information, thereby can increase substantially throughput and the bandwidth availability ratio of network when carrying out multicast and use.
Fig. 1 has provided one and has improved the network topological diagram of network throughput by network code, as shown in Figure 1, suppose that the transmission rate of all circuits is the 1bit/ unit interval among the figure, and node S will utilize this network simultaneously to node Y and node Z multicast information.Suppose in a certain unit interval that S sends bit b respectively to T and U 1And b 2If each node all has only the storage forwarding capability, then node W can only be from b 1And b 2Nodes X is passed in one of middle selection, and obviously node Y and node Z can't receive b simultaneously 1And b 2, network offer node S to the multicast speed of node Y and Z less than the 2bit/ unit interval.And if in the node of this network, introduce encoding function, promptly allow node W with b 1And b 2The result who makes XOR passes to nodes X, by X this result is passed to Y and Z respectively again, and then node Y can solve the bit that node S sends to U by this result and the own bit of receiving from node T.And node Z also can receive that S issues the bit of T by similar mode.Thereby make S reach the 2bit/ unit interval to the speed of Y and Z multicast.
Prior art is verified: in any network, suppose that the source is to each acceptance point { T when carrying out clean culture 1, T 2..., T nMaximum rate be respectively { MF 1, MF 2..., MF n, then this source must be with min{MF m(m=1,2 ..., n) } speed is carried out multicast to all receiving nodes simultaneously, with min{MF m(m=1,2 ..., n) } be called the minimum value of source node in the max-flow of all destination nodes.And as seen from Figure 1, if node does not possess encoding function, this speed min{MF m}=2bit/ the unit interval normally is beyond one's reach, and has introduced network code and have only, and this speed just can reach.
According to the difference of the coding vector distribution method of the node in the network, network coding technique has produced random network code and two branches of deterministic network coding.Random network code is meant that the coding vector of all links in the network all is time dependent, and promptly each node all carries out encoding operation to the data of having received randomly and sends after obtaining send opportunity.
Used the notion in " generation " in the network of use random network code, that is: all original data blocks that data source need be multicasted to destination node are divided into some groups, remove last group, every group of original data block that contains equal amount.In whole multicast process, the encoding operation of node all only carries out belonging between the new data block of same group original data block and they carrying out generating after the linear combination.Claim that one group of original data block and the set of being made up of whole new data block that their linear combination generates are a generation.
Fig. 2 has provided existing multicast flow chart based on random network code, and as shown in Figure 2, its concrete steps are as follows:
Step 201: before multicast process begins, on the basis of existing network, calculate the logical sub topology that a multicast process is used.
Step 202: preestablish grouping transmission speed adjustment cycle T0 and redundancy packets thresholding N0, and each intermediate node and each destination node safeguard a redundancy packets timer t and redundancy packets counter n respectively, and initialization t=0, n=0.
Step 203: the source node in the subtopology in the time will sending a data block at every turn, generate a d dimensional vector at random, calculate this d dimensional vector and represent that this generation remains to be sent out the initial data vector of original data block, then the data block that calculates is encapsulated into grouping, after the generation numbering of this data block and the d dimension coding vector that generates inserted packet header, this grouping is sent.
Suppose that source node is h piece/unit interval to the minimum value in all destination node max-flows in this subtopology, then outwards to send the speed of data are h piece/unit interval to source node.
The form of multicast grouping mainly is made up of packet header and packet content as shown in Figure 3, and wherein, packet header comprises: generation number and coding vector as: vector element 1, vector element 2 ..., vector element d, packet content promptly: data block.
Step 204: intermediate node is received the multicast grouping, judges whether this grouping has carried fresh information promptly: whether this grouping can make linear space increase, if, execution in step 205; Otherwise, execution in step 206.
Judge whether this grouping has been carried the detailed process of fresh information and be: suppose before receiving this grouping, this intermediate node has been received a grouping of belonging to the same generation with this grouping altogether, wherein, (coding vector that encapsulates in the individual packet header of b≤d) is a linear independence to total b, then receive after this grouping, a+1 altogether of vector in coding vector in this packet header and the original packet header if there be b+1 SYSTEM OF LINEAR VECTOR irrelevant in this a+1 vector, then claims this grouping to carry fresh information.
Step 205: intermediate node is saved in this grouping in the spatial cache, goes to step 212.
Step 206: intermediate node abandons this grouping, makes n=n+1.
Step 207: intermediate node judges whether t 〉=T0 sets up, if, execution in step 208; Otherwise, execution in step 212.
Step 208: intermediate node judges whether n 〉=N0 sets up, if, execution in step 209; Otherwise, execution in step 211.
Step 209: intermediate node sends to the upstream node of sending this grouping and reduces the transmission speed signaling.
Step 210: after upstream node is received this minimizing transmission speed signaling, adjust grouping transmission speed V=V-V s, wherein, V ' is adjusted grouping transmission speed, V is the grouping transmission rate before adjusting, V sFor adjusting step-length, go to step 212.
Step 211: intermediate node makes t=0, n=0.
Step 212: one of intermediate node goes out to link to obtain a send opportunity, intermediate node carries out once linear combination at random with in the spatial cache all when the packaged data block of grouping of former generation, generate a data block, and the coding vector in each packet header carried out identical linear combination at random, obtain a new coding vector, the data block of this generation is encapsulated into a grouping, that will work as former generation inserts this packet header for the new coding vector of numbering and obtain, and will divide into groups then to send from going out to link of send opportunity arranged with self current grouping transmission rate.
Intermediate node receives when first belongs to follow-on grouping when former generation, empty in the buffer memory when the former generation grouping, enter the process of transmitting of grouping of future generation, that is: after this next generation becomes the new former generation of working as, if receive former grouping again, directly abandon later on, no longer handle when former generation.
Step 213: destination node is received the multicast grouping that intermediate node is sent, according to coding vector of having preserved in the grouping of former generation and the coding vector in this grouping, judge whether to decode successfully, if, grouping when former generation is decoded, the original data block that obtains is sent to upper layer entity; Otherwise, continue to wait for next multicast grouping.
For each destination node, in step 213 after receiving multicast that intermediate node is sent grouping, also will be as intermediate node first execution in step 204~211 described processes, and after determining that fresh information has been carried in grouping, judge whether the success of can decoding.
From as can be seen embodiment illustrated in fig. 2, in order to reduce the transmission of the redundant information in the subtopology, taked following measure: when node find own in a period of time, always receive from certain upstream node send do not have the grouping of fresh information the time, then determine the transmission speed that this upstream node should reduce to divide into groups, so reduce the signaling of transmission rate to this upstream node transmission.Upstream node receive send by certain downstream node reduce the transmission rate signaling after, beginning reduces to send to this downstream node the speed of grouping gradually, till no longer receiving the signaling that reduces transmission rate.
As can be seen: upstream node can only be passively according to the signaling of downstream node, make the action that reduces the grouping transmission rate, before upstream node is adjusted to suitable transmission rate, can transmit a great deal of grouping of not carrying fresh information between node, unnecessarily slatterned thereby go out on link, to have a large amount of bandwidth, also reduced multicast transmission efficiency simultaneously.
In addition, in the prior art, former in order to solve when former generation and the new bandwidth waste phenomenon that in the process of former generation exchange, exists, propose to regard many generation groupings as scheme that a component group is handled, divide into groups to operate to allow intermediate node many generations divide into groups regarding the same generation as, thereby by reducing generation exchange number of times to reduce bandwidth waste.But this scheme requires to store simultaneously in the spatial cache of intermediate node the grouping in many generations, has seriously increased the buffer memory expense of node.
Summary of the invention
The embodiment of the invention provides method and the device of a kind of raising based on the multicast transmission efficiency of random coded network, to reduce the transmission of redundant information in the multicast logical sub topology, improves multicast efficient.
The technical scheme of the embodiment of the invention is achieved in that
A kind of method that improves based on the multicast transmission efficiency of random network code comprises:
Downstream node in the multicast logical sub topology sends self paid-in data block information to the upstream node of self, and upstream node receives and preserve this data block information;
Described upstream node obtains send opportunity, and according to data block information and self paid-in data block information of the downstream node of having preserved, the multicast grouping by the network code structure carries fresh information sends to downstream node with this multicast grouping.
A kind of device that improves based on the multicast transmission efficiency of random network code comprises:
The grouping receiver module receives the multicast grouping that upstream node is sent, and the data block information that paid-in grouping is indicated sends to upstream node, with this packet memory in the grouping cache module;
The downstream node data cache module, the data block information that the storage downstream node is sent;
The grouping cache module is stored the multicast grouping that self node is received;
The grouping sending module when send opportunity of acquisition, sends the combination indication to linear combiner module, and the vector sum data block that linear combiner module is sent is encapsulated into the multicast grouping, and this multicast is divided into groups from there being going out to link of send opportunity to send to downstream node;
Linear combiner module, receive the combination indication, the all-multicast that obtains when former generation from the grouping cache module divides into groups, obtain the paid-in data block information of downstream node from the downstream node data cache module, according to all-multicast grouping and the data block information obtained, generation will provide the data block of fresh information for downstream node, generate the vector corresponding with this data block, and data block and the vector that generates sent to the grouping sending module.
Compared with prior art, in the embodiment of the invention, downstream node sends to upstream node with self paid-in data block information, upstream node is in the time will sending the multicast grouping to downstream node like this, the data block information that can send according to downstream node just determines that this multicast grouping whether will be for downstream node provides fresh information, has reduced the multicast of not carrying fresh information and has been grouped in transmission in the multicast logical sub topology, thereby reduced the waste of bandwidth, and improved multicast efficient.
Description of drawings
Fig. 1 is the network topology schematic diagram that existing network code improves network throughput;
Fig. 2 is existing multicast flow chart based on random network code;
Fig. 3 is the structural representation based on the multicast grouping of random network code;
The raising that Fig. 4-1 and 4-2 provide for the embodiment of the invention one is based on the flow chart of the multicast transmission efficiency of random network code;
The raising that Fig. 5-1 and 5-2 provide for the embodiment of the invention two is based on the flow chart of the multicast transmission efficiency of random network code;
The raising that Fig. 6 provides for the embodiment of the invention is based on the device composition diagram of the multicast transmission efficiency of random network code.
Embodiment
The present invention is further described in more detail below in conjunction with drawings and the specific embodiments.
For the purpose of convenient the description, at first provide the definition of the employed major technique term of the embodiment of the invention:
Work as former generation: the designate under the grouping that node is being handled is for working as former generation.
The coding vector notice signaling: when node receive that upstream node sends carry the multicast grouping of fresh information the time, the coding vector that node carries this grouping is carried in this coding vector notice signaling and sends to all upstream nodes; Node is before sending data to downstream node, and the coding vector that provides in the coding vector notice signaling of sending according to all downstream nodes judges whether data to be sent will provide fresh information for downstream node.
The vector spatial cache: node is that each downstream node of oneself is safeguarded a vectorial spatial cache.The coding vector notice signaling that node is sent by downstream node is known the paid-in data block corresponding codes of each downstream node vector, and this coding vector is kept in the vectorial spatial cache of safeguarding into this downstream node.
The grouping cache space: node is that each upstream node of oneself is safeguarded a grouping cache space.After node is received the multicast grouping of carrying fresh information that certain upstream node sends, this multicast grouping is kept in the grouping cache space of safeguarding into this upstream node.
Finish (End) signaling: source node finishes signaling the whole network multicast process by this and finishes after sending all initial data.
The successful signaling of decoding: destination node is successfully decoded and is fed back this successful signaling of decoding to source node behind certain codes or data.
The not enough signaling of amount of information: if destination node finish former when former generation to new when former generation is changed, the former data of working as former generation of still successfully not decoding then send this amount of information deficiency signaling to source node.
The raising that Fig. 4 provides for the embodiment of the invention one is based on the flow chart of the multicast transmission efficiency of random network code, and as shown in Figure 4, its concrete steps are as follows:
Step 401: before multicast process begins, on the basis of existing network, calculate the logical sub topology that a multicast process is used, and result of calculation sent to each node in this subtopology, to notify its upstream node of each node and downstream node and to send the multicast employed multicast speed of dividing into groups.
The process of the logical sub topology that the structure multicast process is used is same as the prior art, can be by router, and perhaps source node, the perhaps server in the p2p multicast process, perhaps other node that has the topology information of whole network utilizes prior art to calculate.
Step 402: source node divides generation with the data block that upper layer entity is sent.
Because the quantity of the original data block in per generation is many more, link bandwidth in the network and delay variation are more little to the adverse effect of network throughput, but the expense that coding vector takies in multicast grouping is also big more, therefore, and must be according to the number of the original data block in network environment choose reasonable per generation.In general IP network, the original data block in per generation is advisable with about 35, and the network state that can adapt to this moment generally speaking changes, and coding vector shared expense in the multicast grouping is about 2%.
Step 403: source node detects one and goes out to link send opportunity is arranged, and judges whether to change over to the transmission of multicast grouping of future generation, if, execution in step 404; Otherwise, execution in step 405.
Source node can preestablish lasting the transmissions sum of per generation grouping, when the number when the multicast grouping of former generation that has sent continues to send sum less than this, determines to proceed to work as the transmission that former generation divides into groups; When the number when the multicast of former generation grouping that has sent equals this and continues to send sum, determine to change over to the transmission of grouping of future generation.
Perhaps, source node also can preestablish the lasting transmission duration of per generation grouping, when sending the duration that has continued when the former generation grouping and continue to send duration less than this, determines to proceed the transmission of dividing into groups when former generation; When sending the duration that has continued when the former generation grouping and equal this and continue to send duration, determine to change over to transmission of dividing into groups of future generation.
In the present embodiment, judge the transmission will change multicast grouping of future generation over to when source node after, further judge when former generation whether be last generation, if all that will finish that (END) signaling is multicasted to self go out on link, finish this multicast process; Otherwise, execution in step 404.
Step 404: source node will be worked as the next generation of former generation as the new former generation of working as.
Step 405: source node generates a d dimension coding vector at random, then this d dimension coding vector is carried out matrix multiple with the d that works as a former generation original data block to be sent, the data block that obtains that will multiply each other is encapsulated into the multicast grouping, to work as then after the generation numbering of former generation and this d dimension coding vector insert the multicast packet header, with this multicast grouping from there being going out of send opportunity to send to link.
Here, d is the number of original data block, and d is a natural number.
The form of multicast grouping as shown in Figure 3.
Step 406: intermediate node is received multicast grouping, and this multicast grouping generation numbering of carrying 〉=when the generation of former generation numbering, judge whether this multicast grouping has carried fresh information, if, execution in step 407; Otherwise, abandon this multicast grouping, go to step 409.
Here, in current generation, refer to the affiliated generation of multicast grouping in the ongoing multicast grouping of the intermediate node process of transmitting.
Intermediate node is received after first multicast that belongs to first generation grouping, with the first generation as working as former generation, after this, can determine generation numbering change by the following method: current when intermediate node on behalf of m generation when former generation, and all of this intermediate node are gone into when link has all been received the multicast grouping in m+1 generation, perhaps certain bar is gone into when link has been received the multicast grouping in m+2 generation, and intermediate node will be worked as the next generation of former generation as the new former generation of working as.
If intermediate node is received for numbering<dividing into groups when the multicast of former generation numbering, can directly this multicast be divided into groups abandon.
It is same as the prior art that intermediate node judges whether this multicast grouping has carried the process of fresh information, that is: if intermediate node before receiving this multicast grouping, received a multicast grouping of belonging to the same generation with this multicast grouping, then as if a+1 coding vector linear independence in this a+1 the multicast packet header, fresh information has been carried in then definite this multicast grouping.
Step 407: intermediate node is according to the generation numbering of this multicast grouping, with this multicast grouping be saved in the corresponding grouping cache space of this numbering in generation in, and generate a coding vector notice signaling, in this signaling, insert the coding vector and the generation of this multicast grouping and number, this signaling is broadcast to own all upstream nodes.
Intermediate node be generation numbering 〉=when each of former generation numbering for distributing a grouping cache space, be used to preserve the multicast grouping in paid-in each generation.And, when intermediate node determine when the generation of former generation numbering having upgraded promptly: after having begun to change over to the transmission of new multicast grouping when former generation, will belong to former multicast of working as former generation and divide into groups all from the grouping cache space, to remove.
In this step, intermediate node can not inserted the coding vector notice signaling with the coding vector of multicast grouping yet, and the pairing initial data block identification of data block in this multicast grouping is inserted this signaling, this initial data block identification can be derived according to the coding vector in the pairing coding vector of each original data block and this multicast grouping and be learnt, for example: when the d dimension coding vector that generates at random in the step 405 and d original data block carry out matrix multiple, setting is according to the line position of d original data block in the matrix that this d original data block constitutes, and the original data block that will be positioned at the 1st row respectively is called initial data 1, the original data block that is positioned at the 2nd row is called original data block 2, ..., the rest may be inferred.Like this, if the coding vector in the multicast grouping be (1,0,1,0 ...), then can learn: the pairing original data block of data block during this multicast is divided into groups is designated: 1 and 3.In addition, intermediate node also can be according to the coding vector in the paid-in multicast grouping, determine coding vector or initial data block identification that successfully decoding also needs, this coding vector or initial data block identification that also needs of successfully decoding is inserted the coding vector notice signaling, for example: the number of establishing original data block is d, coding vector in the paid-in multicast grouping of intermediate node is e, then intermediate node can be by matrix operation, construct d-e coding vector, this a d-e coding vector and described e coding vector linear independence.
Step 408: the upstream node of intermediate node is received this coding vector notice signaling, with the coding vector in this signaling put into from safeguard as this intermediate node and with the corresponding vectorial spatial cache of generation numbering of this signaling.
Each intermediate node is safeguarded a vectorial spatial cache respectively for self each downstream node, is used to store the coding vector in each generation that this downstream node sends.
When the upstream node of intermediate node determine when the generation of former generation numbering having upgraded promptly: after having begun to change over to the transmission of new multicast grouping when former generation, will for self all downstream nodes maintenances, belong to former coding vector of working as former generation and all from vectorial spatial cache, remove.
In addition, intermediate node is gone into after link has all been received the end signaling at all, perhaps after receiving first end signaling scheduled duration, grouping cache space and vectorial spatial cache can be emptied, and will finish signaling and be multicasted to all and go out, and confirming to withdraw from current multicast process after all downstream nodes have been received this end signaling to link.
Step 409: going out to link of intermediate node obtains a send opportunity, intermediate node with in self grouping cache space, all coding vectors that belong in the multicast packet header of former generation carry out once linear combination at random, generate a new vector, claim this vector to be vector to be declared.
Step 410: intermediate node is by from the coding vector that safeguard, that preserve in the vectorial spatial cache of former generation as downstream node, and whether judge that this waits to declare the corresponding data block to be sent of vector will be for downstream node provides fresh information, if, execution in step 412; Otherwise, execution in step 411.
If this intermediate node is a downstream node safeguard, in the vectorial spatial cache of former generation, preserved a coding vector, this a coding vector linear independence, then after if this waits to declare this a of vector adding coding vector, this a+1 coding vector linear independence, then definite this waits to declare the corresponding data block to be sent of vector will provide fresh information for downstream node.
As can be seen, judge whole whether data block to be sent will provide for downstream node in the process of fresh information, what participate in computing all is coding vector but not data, and the length of coding vector generally has only the multicast total number packets according to 2% of amount, so deterministic process can't obviously increase computation burden, has improved bandwidth availability ratio.
Because intermediate node sends the multicast grouping can also can be by the multicast mode by mode of unicast, when by mode of unicast, when intermediate node divided into groups in the structure multicast, the downstream node that need be thought of as clean culture provided fresh information to get final product.And when by the multicast mode, intermediate node wishes that then this multicast grouping can provide fresh information for the downstream node of multicast as much as possible, preferably can both provide fresh information for all downstream nodes of multicast certainly when structure multicast grouping.In actual applications, intermediate node can preestablish a percentage usually, the downstream node sum of multicast be multiply by this percentage, obtain a number downwards after rounding, can provide fresh information simultaneously for the downstream node of the described number in the downstream node of multicast as long as this waits to declare the corresponding multicast grouping to be sent of vector, just think and satisfy the transmission condition.
Step 411: intermediate node determines not satisfy the transmission condition, again all coding vectors in the multicast grouping of former generation are carried out linear combination at random, up to determine that linear combination at random obtains wait that declaring the corresponding data block to be sent of vector will provide fresh information for downstream node the time, execution in step 412.
In step 409~411, intermediate node also can be safeguarded as downstream node according to oneself, the coding vector of in the vectorial spatial cache of former generation, preserving, construct the coding vector of several and the coding vector linear independence of self having preserved, according to the coding vector analysis that constructs can for downstream node bring fresh information multicast grouping corresponding codes vector the rule that should satisfy, according to this rule, to in self grouping cache space, coding vector in the all-multicast grouping of former generation carries out linear combination, satisfy this regular coding vector until obtaining one, can determine that then the multicast grouping of this coding vector correspondence will provide fresh information for downstream node.For example: intermediate node analyzes according to the coding vector that constructs: can successful decoded primary data piece 1 and 2 according to the paid-in multicast grouping of downstream node, then determine when structure can bring the multicast grouping corresponding codes vector of fresh information for downstream node, only need to consider that the original data block of this coding vector outside whether can successful decoded primary data piece 1 and 2 gets final product.Like this, the data block to be sent of judging the coding vector correspondence of constructing can be omitted and whether the step of fresh information will be provided for downstream node.
Step 412: intermediate node determines to satisfy the transmission condition, adopt with generation and wait to declare the identical linear combination method of vector, paid-in data block in the multicast grouping of former generation is carried out linear combination, generation waits to declare the corresponding data block to be sent of vector, should data block to be sent be encapsulated into a multicast grouping, insert when the generation of former generation numbering and this vector to be declared at the head of this multicast grouping, with this multicast grouping from there being going out of send opportunity to send to link.
Step 413: destination node is received generation numbering 〉=when the multicast grouping of former generation numbering, judge whether this multicast grouping has carried fresh information, if, execution in step 414; Otherwise, abandon this multicast grouping, continue to wait for next multicast grouping, this flow process finishes.
Destination node determine when the generation of former generation numbering process and determine when the process of the generation of former generation numbering change identical with intermediate node described in the step 406.
If destination node is received for numbering<dividing into groups when the multicast of former generation numbering, can directly this multicast be divided into groups abandon.
Step 414: destination node is saved in this multicast grouping in the grouping cache space corresponding with the generation numbering in this multicast grouping, generate a coding vector notice signaling, in this signaling, insert the coding vector and the generation of this multicast grouping and number, this signaling is broadcast to own all upstream nodes.
As can be seen, step 414 is similar with step 407.Equally, similar with step 408, the upstream node of destination node is received this coding vector notice signaling, with the coding vector in this signaling put into from safeguard as this destination node, number corresponding vectorial spatial cache with the generation of this signaling.
Step 415: the data block during destination node pair all-multicast corresponding with the generation numbering in this multicast grouping, in the grouping cache space divides into groups is decoded, judges whether to decode successfully, if, execution in step 416; Otherwise, execution in step 417.
Step 416: destination node returns the decoding success signaling of carrying the generation numbering to source node, the original data block that decoding is obtained sends upper layer entity to, and with the corresponding all-multicast grouping deletion of the generation numbering with in this multicast grouping of preserving in the spatial cache, continue to wait for next multicast grouping, this flow process finishes.
Corresponding with step 416, in the present embodiment, source node also can determine whether to begin to send grouping of future generation according to following method:
After source node is received the decoding success signaling that destination node returns, also can be according to the generation numbering of carrying in this signaling, judge whether to collect that all destination nodes send carries the decoding success signaling of this numbering in generation, if, then determine to finish, begin to send multicast grouping of future generation when former generation grouping process of transmitting; Otherwise, continue to wait for next decoding success signaling of carrying this numbering in generation.
Step 417: destination node is judged the current not enough signaling transmission of the amount of information condition that whether satisfies, if, execution in step 418; Otherwise, continuing to wait for next multicast grouping, this flow process finishes.
If destination node is current on behalf of m generation, and all going into to link all begins to receive the m+1 grouping in generation, perhaps certain bar is gone into the grouping of having received m+2 generation to link, and current codes or data piece still can not be correctly decoded, and then destination node determines to satisfy the not enough signaling transmission of amount of information condition.
Step 418: the destination node disappearance information of will successfully decoding is carried in the not enough signaling of amount of information and sends to source node, and this signaling is carried the generation numbering simultaneously.
Particularly, if destination node is paid-in in the multicast grouping of former generation, the coding vector that comprises f linear independence, then destination node need generate d-f coding vector, make this a d-f coding vector and a paid-in f coding vector promptly: d coding vector linear independence altogether, destination node can or have been received that a described f coding vector is carried in the amount of information deficiency signaling with this d-f coding vector and send to source node.
Step 419: after source node is received the not enough signaling of amount of information that destination node sends, according to the generation numbering of carrying in this signaling and the disappearance information of successfully decoding, the original data block of being numbered corresponding generation generation carries out linear combination, the data block that obtains is encapsulated into the multicast grouping, and with identical linear combination method, original data block corresponding codes vector is carried out linear combination, the coding vector that obtains is inserted the multicast packet header, and be sent to the described destination node of sending the not enough signaling of amount of information by singlecast router mechanism after adding generation numbering head.
For example: if carried d-f the coding vector of decoding and successfully also needing in the not enough signaling of amount of information, then d the original data block that source node is corresponding with the generation numbering of carrying in the not enough signaling of amount of information respectively with this d-f coding vector carries out matrix multiple, the data block that obtains multiply each other at every turn is encapsulated into a multicast grouping, and d-f the multicast grouping that obtains is sent to the described destination node of sending the not enough signaling of amount of information by singlecast router mechanism.
After all nodes in the network are received this multicast grouping that transmits with mode of unicast, with this multicast grouping as transmission priority the highest multicast divide into groups to send.
Step 420: after destination node is received the multicast grouping of sending by singlecast router mechanism, this multicast grouping is put into the corresponding grouping cache space of generation numbering of dividing into groups with this multicast, then according to the generation numbering in this multicast packet header, from the grouping cache space, read and all coding vectors during the corresponding multicast of this numbering is divided into groups in generation, according to the coding vector in this coding vector that reads and this multicast packet header of receiving, judge whether the success of to decode, if, then send the decoding success signaling of carrying the generation numbering, continue to wait for next multicast grouping to source node; Otherwise, continue the multicast grouping of waiting for that source node is sent.
In embodiments of the present invention, destination node determine to have entered new when former generation the grouping process of transmitting and to former decoding when former generation still unsuccessful after, also can obtain by the following method successfully decode also need data:
At first, each intermediate node determine to have entered new when the grouping process of transmitting of former generation after, the still former grouping of working as former generation of temporary storage in scheduled duration; Then, destination node determine to have entered new when former generation the grouping process of transmitting and after former decoding when former generation still got nowhere, the disappearance information of will successfully decoding and former current numbering from generation to generation are carried in the not enough signaling of amount of information, this signaling is from bottom to top fed back to each intermediate node step by step, after intermediate node is received the not enough signaling of amount of information that destination node sends, according to the successful decoding disappearance information in this signaling, the data that self whether can provide successfully decoding also to need are provided, if can, former all-multicast grouping the carrying out linear combination of then self being preserved when former generation, the data block that obtains is encapsulated into the multicast grouping, then each data block corresponding codes vector is carried out identical linear combination, with the new coding vector that obtains and generation numbering be encapsulated into the multicast packet header, then this multicast grouping is sent to destination node, simultaneously, stop the transmission of the not enough signaling of this amount of information.If all preserving the multicast corresponding with the disappearance information in the not enough signaling of described amount of information, all intermediate nodes divide into groups, then this signaling will be transmitted to source node, divide into groups by the multicast that the source node structure is corresponding with this disappearance information, and send this multicast grouping to destination node.
It is embodiment illustrated in fig. 4 that what provide is that as long as intermediate node and destination node are received the multicast grouping of carrying fresh information, the coding vector in just this multicast being divided into groups sends to upstream node by the coding vector notice signaling.In actual applications, in order to reduce signaling consumption, intermediate node or destination node also can be at set intervals, and upstream nodes sends once from the coding vector in this section multicast grouping that receive in the time, that carry fresh information.
In the embodiment shown in fig. 4, each intermediate node or destination node are after receiving a multicast grouping of having carried fresh information, all the coding vector of this multicast grouping to be sent to upstream node by the coding vector notice signaling, so that upstream node is when sending the multicast grouping, according to the coding vector of all downstream nodes of self buffer memory, judge whether multicast grouping to be sent will provide fresh information for downstream node.This processing procedure can be avoided the transmission of redundant multicast grouping when network condition is unstable, improve bandwidth availability ratio, and still, the frequent transmission of coding vector notice signaling also can increase network overhead.Shorter for the multicast block length, the unsettled network of link circuit condition, then can adopt following method to reduce the network overhead that the coding vector notice signaling is brought:
The raising that Fig. 5 provides for the embodiment of the invention two is based on the flow chart of the multicast transmission efficiency of random network code, and as shown in Figure 5, its concrete steps are as follows:
Step 501 is identical with step 401.
Step 502: each intermediate node is provided with a state flag bit respectively for each downstream node of self, and this state flag bit is initialized as 0; Simultaneously, each upstream node that each intermediate node and each destination node are respectively self is provided with a state flag bit respectively, and this state flag bit is initialized as 0.
When intermediate node is determined to have finished from former when former generation during to new conversion when former generation, this intermediate node will be with from as the Status Flag position 0 of each downstream node with each upstream node setting; When destination node is determined to have finished from former when former generation during to new conversion when former generation, also will be with oneself Status Flag position 0 as each upstream node setting.
Step 503~506 are identical with step 402~405.
Step 507: intermediate node is received generation numbering 〉=when the multicast grouping of former generation numbering, judge whether this multicast grouping has carried fresh information, if, execution in step 508; Otherwise, execution in step 511.
Step 508: intermediate node was numbered according to the generation of this multicast grouping, this multicast grouping was saved in this generation numbers in the corresponding grouping cache space.
Step 509: intermediate node judges whether the state flag bit of the upstream node that sends this multicast grouping is 1, if, execution in step 510; Otherwise, go to step 514.
Step 510: intermediate node sends to upstream node with the coding vector in this multicast packet header with for numbering by the coding vector notice signaling, goes to step 514.
After upstream node is received this coding vector and generation numbering, with this coding vector be saved in from safeguard as described intermediate node, number in the corresponding vectorial spatial cache with this generation.
Step 511: intermediate node abandons this multicast grouping, and judges whether the state flag bit of this upstream node that self preserves is 0, if, execution in step 512; Otherwise, go to step 514.
Step 512: intermediate node generates a coding vector notice signaling, in this signaling, insert self paid-in all-multicast grouping when former generation coding vector and generation numbering, this signaling is sent to the upstream node of sending this multicast grouping, simultaneously with the Status Flag position 1 of this upstream node of self preserving.
Step 513: the upstream node of intermediate node is received this coding vector notice signaling, with the coding vector in this signaling put into from safeguard as this intermediate node and with the corresponding vectorial spatial cache of generation numbering of this signaling, simultaneously with the Status Flag position 1 of this downstream node of self preservation.
Step 514: one of intermediate node goes out to link to obtain a send opportunity, intermediate node with in self spatial cache, all coding vectors that belong in the multicast packet header of former generation carry out once linear combination at random, generate a new vector, claim this vector to be vector to be declared.
Step 515: intermediate node judges whether what self preserve is 0 with this state flag bit that goes out to the corresponding downstream node of link, if, execution in step 518; Otherwise, execution in step 516.
Step 516~518 are identical with step 410~412.
Step 519: destination node is received generation numbering 〉=when the multicast grouping of former generation numbering, judge whether this multicast grouping has carried fresh information, if, execution in step 520; Otherwise, execution in step 523.
Step 520: destination node was numbered according to the generation of this multicast grouping, this multicast grouping was saved in this generation numbers in the corresponding grouping cache space.
Step 521: destination node judges whether the state flag bit of the upstream node that sends this multicast grouping is 1, if, execution in step 522; Otherwise, go to step 526.
Step 522: destination node sends to upstream node with the coding vector in this multicast packet header with for numbering by the coding vector notice signaling, goes to step 526.
After upstream node is received this coding vector and generation numbering, with this coding vector be saved in from safeguard as described intermediate node, number in the corresponding vectorial spatial cache with this generation.
Step 523: destination node abandons this multicast grouping, and judges whether the state flag bit of this upstream node that self preserves is 0, if, execution in step 524; Otherwise, continuing to wait for next multicast grouping, this flow process finishes.
Step 524: destination node generates a coding vector notice signaling, in this signaling, insert self paid-in all-multicast grouping when former generation coding vector and generation numbering, this signaling is sent to the upstream node of sending this multicast grouping, simultaneously with the Status Flag position 1 of this upstream node of self preserving.
Step 525: the upstream node of destination node is received this coding vector notice signaling, with the coding vector in this signaling put into from safeguard as this destination node and with the corresponding vectorial spatial cache of generation numbering of this signaling, simultaneously with the Status Flag position 1 of this destination node of self preservation.
Step 526~531 are identical with step 415~420.
The raising that Fig. 6 provides for the embodiment of the invention is based on the device composition diagram of the multicast transmission efficiency of random network code, as shown in Figure 6, it mainly comprises: grouping receiver module 61, vectorial cache module 62, grouping cache module 63, grouping sending module 64 and linear combiner module 65, wherein:
Grouping receiver module 61: be used to receive the generation numbering that upstream node sends 〉=when the multicast grouping of former generation numbering, according to the generation numbering in this multicast packet header, in grouping cache module 63, search with the corresponding multicast packet header of this numbering in generation in coding vector, according to the coding vector in all coding vectors that find and this multicast packet header, judge whether this multicast grouping has carried fresh information, if, this multicast packet memory in grouping cache module 63, is sent to all upstream nodes with the coding vector in this multicast packet header with for numbering by the coding vector notice signaling; Otherwise, abandon this multicast grouping.
Vector cache module 62: be used for storing the coding vector notice signaling that downstream node sends coding vector and generation numbering.
Grouping cache module 63: the multicast grouping of carrying fresh information that self node that is used for that stores packets receiver module 61 sends is received.
Grouping sending module 64: be used for going out when link obtains a send opportunity defining one, send the combination indication to linear combiner module 65, receive the vector sum data block that linear combiner module 65 is sent, this data block is encapsulated into the multicast grouping, when the former generation encode seal multicast packet header of packing into, the multicast grouping that this is packaged goes out to send to downstream node to link from described with this vector sum.
Linear combiner module 65: be used for after receiving the combination indication that grouping sending module 64 is sent, obtain coding vector when the grouping of the all-multicast of former generation from grouping cache module 63, these all coding vectors that obtain are carried out linear combination at random, generate a vector to be declared, that obtains send opportunity from vectorial cache module 62 goes out to the downstream node of link correspondence, with when all corresponding coding vectors of former generation sign, according to all coding vectors that obtain, judge that this waits to declare the corresponding multicast grouping to be sent of vector and whether will provide fresh information for downstream node, if, this waits to declare the identical linear combination method of vector employing and generation, the data block in the all-multicast grouping of former generation to buffer memory in the grouping cache module 63 is carried out linear combination, and data block and this vector to be declared that generates sent to grouping sending module 64; Otherwise, continuation is carried out linear combination at random to self node when all coding vectors of former generation, when waiting of being generated declared the corresponding multicast grouping to be sent of vector and will be provided fresh information for downstream node, this waits to declare the identical linear combination method of vector employing and generation, the data block in the all-multicast grouping of former generation to buffer memory in the grouping cache module 63 is carried out linear combination, and data block and this vector to be declared that generates sent to grouping sending module 64.
The device that the embodiment of the invention provides also can further comprise: Status Flag is provided with module 66: be used to each upstream node of self and each downstream node that a state flag bit is set respectively, and when multicast begins and self node finish from former when former generation to newly when the conversion of former generation the time, all state flag bits are changed to 0.
Simultaneously, when fresh information has been carried in the multicast grouping that grouping receiver module 61 is sent at the judgement upstream node, the state flag bit of module 66 these upstream nodes of inquiry is set to Status Flag, if 1, then send to this upstream node by the coding vector notice signaling with the coding vector in this multicast packet header with for numbering; Otherwise, do not send to this upstream node with the coding vector in this multicast packet header with for numbering.When judging that multicast grouping that upstream node is sent is not carried fresh information, the state flag bit of module 66 these upstream nodes of inquiry is set to Status Flag, if 0, the state flag bit that then Status Flag is provided with this upstream node of storage in the module 66 is changed to 1, and abandon this multicast grouping, from grouping cache module 63, obtain simultaneously in the all-multicast packet header corresponding with the generation numbering in this multicast packet header coding vector and generation numbering, all coding vectors of obtaining and generation numbered send to described upstream node by the coding vector notice signaling; If 1, directly abandon this multicast grouping.
Simultaneously, grouping sending module 64 also can go out when link obtains a send opportunity defining one, obtain the state flag bit that this goes out the downstream node that points to link to 66 inquiries of Status Flag enquiry module, and the state flag bit that inquiry obtains is sent to linear combiner module 65 with the linear combination indication.
Linear combiner module 65 receives the state flag bit that grouping sending module 64 is sent, and after generation is waited to declare vector, judge whether the state flag bit that grouping sending module 64 is sent is 0, if, this waits to declare the identical linear combination method of vector employing and generation, the data block in the all-multicast grouping of former generation to buffer memory in the grouping cache module 63 is carried out linear combination, and data block and this vector to be declared that generates sent to multicast grouping sending module 64; Otherwise, judge that this waits to declare the corresponding multicast grouping to be sent of vector and whether will provide fresh information for downstream node.
In addition, the device that the embodiment of the invention provides also can comprise: end process module 67, be used for going into after link has all been received the end signaling that upstream node sends in self all, after perhaps self receiving first end signaling scheduled duration, send clearance order to grouping cache module 63 and vectorial cache module 62, all that will finish simultaneously that signaling is multicasted to self go out to link, and confirm that signaling retreats out this multicast process acknowledging receipt of the end that self all downstream node sends.
Simultaneously, described grouping cache module 63 is removed the all-multicast grouping of self buffer memory after receiving described clearance order.
Described vectorial cache module 62 is removed all coding vectors of self buffer memory after receiving described clearance order.
In addition, the device that the embodiment of the invention provides also can further comprise: decoder module 68: receive the multicast grouping that grouping receiver module 61 is sent, from grouping cache module 63, take out the coding vector of the corresponding all-multicast of generation numbering that carries with this multicast grouping in dividing into groups, according to the coding vector of this taking-up and the coding vector in this multicast grouping, judge whether and successfully to decode, if, from grouping cache module 63, take out the corresponding all-multicast grouping of generation numbering of carrying with this multicast grouping, data block in the multicast grouping that the all-multicast that takes out divides into groups and grouping receiver module 61 is sent is decoded, the original data block that decoding is obtained sends to upper layer entity, and returns the decoding success signaling of carrying the generation numbering to source node; Otherwise, in current generation numbering institute corresponding generation of whether having finished that multicast grouping that grouping receiver module 61 sends carries, is to follow-on conversion, if, in the disappearance information of will successfully decoding and described generation, number to be carried in the not enough signaling of amount of information and send to source node, the reception sources node is sent carries the multicast grouping of described generation numbering, according to this multicast grouping and from the corresponding all-multicast grouping of grouping cache module 63 generation numberings that take out and described, the data block in this generation is decoded.
In actual applications, grouping receiver module 61 also can be after judging that fresh information has been carried in the multicast grouping, and the coding vector that also needs successfully decoding sends to vectorial cache module 62 and preserves.
Vector cache module 62 also can replace by original data block information storage module 62, and what preserve in the original data block information storage module 62 is the initial data block identification that generation numbers and paid-in multicast grouping is indicated that downstream node is sent.At this moment, grouping receiver module 61 will send to original data block information storage module 62 with the indicated initial data block identification of this multicast grouping after judging that information has been carried in the multicast grouping.
Vector cache module 62 and original data block information storage module 62 all can be described as the downstream node data cache module.
It is pointed out that all computings that relate in the embodiment of the invention can all carry out in the Galois of 8bit.
From as can be seen embodiment illustrated in fig. 4, when downstream node carries fresh information in the multicast grouping of determining to receive, send to all upstream nodes with the coding vector of this multicast grouping with for numbering, upstream node is in the time will sending the multicast grouping to downstream node like this, the coding vector that can send according to downstream node just, obtain this multicast grouping and whether will provide fresh information for downstream node, the multicast of having avoided not carrying fresh information is grouped in the transmission in the multicast logical sub topology, reduce the waste of bandwidth, and improved multicast efficient.
Simultaneously, the embodiment of the invention determine all go into to link all receive new when former generation the multicast grouping or, article one, go into when link has received that new follow-on multicast when former generation is divided into groups, determine to have finished the former former generation of working as, need not increase the node expense to new conversion of working as former generation.
In addition, in the embodiment of the invention, when destination node can not be correctly decoded, the disappearance information of will successfully decoding returns to source node, the data block that source node is successfully decoded and also needed according to this information structuring, then this data block is carried in the multicast grouping and sends to destination node, avoided the transmission of redundant data piece, and improved the decoding success rate by singlecast router.
The above only is process of the present invention and method embodiment, in order to restriction the present invention, all any modifications of being made within the spirit and principles in the present invention, is not equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (20)

1, a kind of method that improves based on the multicast transmission efficiency of random network code is characterized in that, comprising:
Downstream node in the multicast logical sub topology sends self paid-in data block information to the upstream node of self, and upstream node receives and preserve this data block information;
Described upstream node obtains send opportunity, and according to data block information and self paid-in data block information of the downstream node of having preserved, the multicast grouping by the network code structure carries fresh information sends to downstream node with this multicast grouping.
2, the method for claim 1 is characterized in that, described downstream node to the paid-in data block information of upstream node transmission self of self is: downstream node sends self paid-in data block information to all upstream nodes of self.
3, method as claimed in claim 1 or 2, it is characterized in that, described downstream node further comprised before the paid-in data block information of upstream node transmission self of self: downstream node receives the multicast grouping that upstream node is sent, and detects this multicast grouping and has carried fresh information;
Described downstream node to the paid-in data block information of upstream node transmission self of self is: the downstream node upstream nodes sends the indicated data block information of this multicast of carrying fresh information grouping.
4, the method for claim 1 is characterized in that, the data block information that described downstream node upstream nodes sends is: the coding vector of the linear independence in the paid-in all-multicast grouping of downstream node;
Perhaps, the indicated initial data block message of the paid-in multicast grouping of downstream node;
Perhaps, downstream node is according to the coding vector in the paid-in all-multicast grouping, the determined coding vector or the initial data block message of successfully decoding and also needing.
As claim 1 or 4 described methods, it is characterized in that 5, the multicast grouping that described upstream node structure carries fresh information comprises:
A, upstream node carry out linear combination with all coding vectors that belong in the multicast packet header of former generation of self preserving, generate a vector to be declared, according to the paid-in data block information of downstream node of self preserving, judge that this waits to declare the corresponding multicast grouping to be sent of vector and whether will provide fresh information for downstream node, if, execution in step B; Otherwise, return to carry out to generate and wait to declare vectorial action;
B, basis wait to declare the identical linear combination method of vector with generation, the data block that all that self is preserved belong in the multicast grouping of former generation is carried out linear combination, generate a data block, with this data block, describedly wait to declare vector and be encapsulated into the multicast grouping when former generation sign.
6, the method for claim 1, it is characterized in that, the multicast grouping that described intermediate node structure carries fresh information comprises: intermediate node is according to self paid-in data block information and self paid-in data block information more than a downstream node, and constructing one can be for providing the multicast grouping of fresh information more than a downstream node.
7, the method for claim 1 is characterized in that, described downstream node further comprised before the paid-in data block information of upstream node transmission self of self:
Intermediate node in the multicast logical sub topology is provided with a Status Flag for self each upstream node and downstream node in advance, and this Status Flag is initialized as irredundant sign; Destination node in the multicast logical sub topology is initialized as irredundant sign for each upstream node of self is provided with a Status Flag with this Status Flag;
Described upstream node obtains further to comprise before the send opportunity: described downstream node is received the multicast grouping of not carrying fresh information that upstream node is sent, judge from whether indicating irredundant as the Status Flag of this upstream node setting, if not, directly abandon this multicast grouping; If, this Status Flag has been changed to redundant sign, and abandon this multicast grouping, all corresponding data block information of generation sign with in this multicast grouping of simultaneously self having been preserved send to described upstream node, described upstream node is received this data block information, and the Status Flag of described downstream node has been changed to redundant sign.
8, method as claimed in claim 7 is characterized in that, described downstream node further comprised before the paid-in data block information of upstream node transmission self of self:
Described downstream node receives the multicast grouping that upstream node is sent, and detect this multicast grouping and carried fresh information, whether judgement is irredundant from indicating as the Status Flag of described upstream node setting, and if not, the data block information that this multicast grouping is indicated sends to described upstream node; If the data block information with this multicast grouping indication does not send to described upstream node.
9, method as claimed in claim 7, it is characterized in that, further comprise before the multicast grouping that described upstream node obtains after the send opportunity, structure carries fresh information: upstream node judges whether going out of that self preserves, described acquisition send opportunity indicates irredundant to the Status Flag of the downstream node of link sensing, if, multicast grouping of any configuration sends to described downstream node with this multicast grouping; Otherwise structure carries the multicast grouping of fresh information.
As claim 7 or 8 or 9 described methods, it is characterized in that 10, the intermediate node in the described multicast logical sub topology is provided with and further comprises after the Status Flag for self each upstream node and downstream node in advance:
Intermediate node determines self to have finished the former former generation of working as to new conversion when former generation, will all reset to irredundant sign for the Status Flag of each upstream node and downstream node setting;
Destination node in the described multicast logical sub topology is further to comprise after each upstream node of self is provided with a Status Flag:
Destination node determines self to have finished the former former generation of working as to new conversion when former generation, will all reset to irredundant sign for the Status Flag of each upstream node setting.
11, the method for claim 1, it is characterized in that, described method further comprises: the destination node in the multicast logical sub topology receives the multicast grouping, determine that the multicast grouping process of transmitting for identifying corresponding generation in this multicast grouping finishes, and the data block decoding to this generation is unsuccessful, and the disappearance information of then will successfully decoding and generation identify by the control signaling and send to source node;
Source node is received described control signaling, the original data block that described generation is identified corresponding generation according to the described disappearance information of successfully decoding carries out linear combination, the data block that obtains is encapsulated into multicast grouping back sends to destination node by singlecast router, destination node is decoded according to this multicast grouping and the multicast grouping of self having preserved.
12, the method for claim 1 is characterized in that, described method further comprises: intermediate node is determined to finish the temporary multicast grouping of deserving former generation when the multicast grouping process of transmitting of former generation;
Described method further comprises: the destination node in the multicast logical sub topology receives the multicast grouping, determine that the multicast grouping process of transmitting for identifying corresponding generation in this multicast grouping finishes, and the data block decoding to this generation is unsuccessful, and the disappearance information of then will successfully decoding and generation identify by the control signaling and from bottom to top feed back to each intermediate node step by step;
Intermediate node is received described control signaling, according to the described disappearance information of successfully decoding the original data block in self temporary described generation sign corresponding generation is carried out linear combination, the data block that obtains is encapsulated into multicast grouping back sends to destination node by singlecast router, destination node is decoded according to this multicast grouping and the multicast grouping of self having preserved.
13, the method for claim 1 is characterized in that, described upstream node is preserved this coding vector and further comprised afterwards for sign:
Upstream node determines self to have finished the former former generation of working as to new conversion when former generation, will work as former generation sign corresponding codes vector and delete.
14, method as claimed in claim 13 is characterized in that, described upstream node by following steps determine self to have finished former when former generation to new conversion when former generation:
Upstream node determine self all go into to link all to have received new multicast grouping when former generation, determine that perhaps self one goes into to link to have received new follow-on multicast grouping when former generation.
15, a kind of device that improves based on the multicast transmission efficiency of random network code is characterized in that, comprising:
The grouping receiver module receives the multicast grouping that upstream node is sent, and the data block information that paid-in grouping is indicated sends to upstream node, with this packet memory in the grouping cache module;
The downstream node data cache module, the data block information that the storage downstream node is sent;
The grouping cache module is stored the multicast grouping that self node is received;
The grouping sending module when send opportunity of acquisition, sends the combination indication to linear combiner module, and the vector sum data block that linear combiner module is sent is encapsulated into the multicast grouping, and this multicast is divided into groups from there being going out to link of send opportunity to send to downstream node;
Linear combiner module, receive the combination indication, the all-multicast that obtains when former generation from the grouping cache module divides into groups, obtain the paid-in data block information of downstream node from the downstream node data cache module, according to all-multicast grouping and the data block information obtained, generation will provide the data block of fresh information for downstream node, generate the vector corresponding with this data block, and data block and the vector that generates sent to the grouping sending module.
16, device as claimed in claim 15, it is characterized in that, further comprise: Status Flag is provided with module, for self each upstream node and each downstream node a Status Flag is set respectively, and when multicast begins and self node finish from former when former generation to newly when the conversion of former generation the time, all Status Flags are changed to irredundant sign;
Described grouping receiver module is further, receive the multicast grouping of not carrying fresh information that upstream node is sent, to Status Flag the Status Flag that module is inquired about this upstream node is set, if indication is irredundant, then Status Flag is provided with in the module Status Flag of this upstream node and has been changed to redundant sign, and abandon this multicast grouping, obtain the all-multicast grouping corresponding with the generation numbering in this multicast packet header simultaneously from the grouping cache module, the data block information that this multicast grouping is indicated sends to described upstream node by the control signaling; If indication has redundancy, directly abandon this multicast grouping.
17, device as claimed in claim 16, it is characterized in that, described grouping receiver module receives that upstream node sends when carrying the multicast grouping of fresh information, further the Status Flag that module is inquired about this upstream node is set to Status Flag, if this Status Flag indication has redundancy, then that this multicast grouping is indicated data block information sends to this upstream node by the control signaling.
18, device as claimed in claim 16, it is characterized in that, described grouping sending module is when obtaining a send opportunity, further the Status Flag that goes out the downstream node that points to link that the module inquiry obtains this send opportunity is set to Status Flag, and with obtain irredundant of inquiry or there is redundant sign indication to send to linear combiner module with the linear combination indication
Described linear combiner module is in the all-multicast grouping of obtaining from the grouping cache module when former generation, from the downstream node data cache module, obtain paid-in all data block information of downstream node when former generation, send irredundant indication if determine the grouping sending module, then according to all-multicast grouping and the data block information obtained, generate a data block arbitrarily, and generate the vector corresponding with this data block, data block and the vector that generates sent to the grouping sending module; Send redundant indication if determine the grouping sending module, then generated the data block of carrying fresh information.
19, device as claimed in claim 15, it is characterized in that, further comprise: the end process module, go into after link has all been received the end signaling that upstream node sends in self all, after perhaps self receiving first end signaling scheduled duration, send clearance order to grouping cache module and downstream node data cache module, all that will finish simultaneously that signaling is multicasted to self go out to link, and confirm that signaling retreats out this multicast process acknowledging receipt of the end that self all downstream node sends;
Described grouping cache module is removed the all-multicast grouping of self buffer memory after receiving described clearance order;
Described downstream node data cache module is removed all data block information of self buffer memory after receiving described clearance order.
20, device as claimed in claim 15, it is characterized in that, further comprise: decoder module, after receiving the multicast grouping, from the grouping cache module, take out and this multicast grouping place all coding vectors in generation, according to the coding vector of this taking-up and the coding vector in this multicast grouping, can not successfully decode and finish this multicast grouping place generation during detecting to follow-on conversion, being carried in the not enough signaling of amount of information for sign of successfully decode disappearance information and this multicast grouping sent to source node, according to the multicast grouping that source node is sent, this codes or data piece is decoded.
CNA2007101111069A 2007-06-11 2007-06-11 Method and apparatus for improving multicast transmission efficiency based on random network encoding Pending CN101325540A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNA2007101111069A CN101325540A (en) 2007-06-11 2007-06-11 Method and apparatus for improving multicast transmission efficiency based on random network encoding
PCT/CN2008/071252 WO2008151567A1 (en) 2007-06-11 2008-06-10 Method and device for improving multicast transmission efficiency based on random network coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007101111069A CN101325540A (en) 2007-06-11 2007-06-11 Method and apparatus for improving multicast transmission efficiency based on random network encoding

Publications (1)

Publication Number Publication Date
CN101325540A true CN101325540A (en) 2008-12-17

Family

ID=40129258

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101111069A Pending CN101325540A (en) 2007-06-11 2007-06-11 Method and apparatus for improving multicast transmission efficiency based on random network encoding

Country Status (2)

Country Link
CN (1) CN101325540A (en)
WO (1) WO2008151567A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010096949A1 (en) * 2009-02-24 2010-09-02 上海贝尔股份有限公司 Decoding method and receiving device in the system using network coding for retransmission
CN102148664A (en) * 2011-04-21 2011-08-10 上海大学 Inter-multicast network coding control method applied to multi-source multi-destination network
CN102546421A (en) * 2012-01-19 2012-07-04 西安电子科技大学 Integrated network coding label switching method
WO2012094881A1 (en) * 2011-01-13 2012-07-19 刘建 Wireless network and coding cooperation method in wireless communication
CN102916761A (en) * 2011-08-01 2013-02-06 华为技术有限公司 Coding and decoding method, related devices and related communication system
CN108352944A (en) * 2015-08-21 2018-07-31 瑞典爱立信有限公司 Abandon and retain physical data channel
CN109547165A (en) * 2019-01-25 2019-03-29 天府新区西南交通大学研究院 A kind of design method of sliding window BATS Codes

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6940854B1 (en) * 2001-03-23 2005-09-06 Advanced Micro Devices, Inc. Systems and methods for determining priority based on previous priority determinations
US8351334B2 (en) * 2005-02-10 2013-01-08 Telefonaktiebolaget L M Ericsson (Publ) Quality-based data scheduling
CN100579016C (en) * 2006-01-24 2010-01-06 华为技术有限公司 Distributing storage downloading system, device and method for network data
CN101207552B (en) * 2006-12-19 2012-01-11 株式会社Ntt都科摩 Method for scheduling of data block and network node

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010096949A1 (en) * 2009-02-24 2010-09-02 上海贝尔股份有限公司 Decoding method and receiving device in the system using network coding for retransmission
WO2012094881A1 (en) * 2011-01-13 2012-07-19 刘建 Wireless network and coding cooperation method in wireless communication
CN102148664B (en) * 2011-04-21 2013-06-05 上海大学 Inter-multicast network coding control method applied to multi-source multi-destination network
CN102148664A (en) * 2011-04-21 2011-08-10 上海大学 Inter-multicast network coding control method applied to multi-source multi-destination network
CN102916761A (en) * 2011-08-01 2013-02-06 华为技术有限公司 Coding and decoding method, related devices and related communication system
WO2013017077A1 (en) * 2011-08-01 2013-02-07 华为技术有限公司 Method for coding thereof related device and communication system
CN102916761B (en) * 2011-08-01 2015-04-15 华为技术有限公司 Coding and decoding method, related devices and related communication system
CN102546421A (en) * 2012-01-19 2012-07-04 西安电子科技大学 Integrated network coding label switching method
CN102546421B (en) * 2012-01-19 2014-11-19 西安电子科技大学 Integrated network coding label switching method
CN108352944A (en) * 2015-08-21 2018-07-31 瑞典爱立信有限公司 Abandon and retain physical data channel
US10892874B2 (en) 2015-08-21 2021-01-12 Telefonaktiebolaget Lm Ericsson (Publ) Discarding and retaining physical data channels
CN108352944B (en) * 2015-08-21 2021-05-11 瑞典爱立信有限公司 Method and apparatus for dropping and reserving physical data channels
CN109547165A (en) * 2019-01-25 2019-03-29 天府新区西南交通大学研究院 A kind of design method of sliding window BATS Codes
CN109547165B (en) * 2019-01-25 2021-01-08 天府新区西南交通大学研究院 Design method of sliding window BATS Codes

Also Published As

Publication number Publication date
WO2008151567A1 (en) 2008-12-18

Similar Documents

Publication Publication Date Title
CN101325540A (en) Method and apparatus for improving multicast transmission efficiency based on random network encoding
CN101222297B (en) Interlaced code and network code combined data distribution method
Altman et al. Dynamic control of coding in delay tolerant networks
CN101438533B (en) Wireless multicast for layered medium
CN102223683A (en) Data transmission method, node and system in wireless sensor network
CN101951556A (en) Wireless sensor network data distribution method based on network coding
CN102487306B (en) Wireless mesh network coding method
CN103428803B (en) A kind of chance method for routing of combination machine meeting network code
CN103561445A (en) Wireless sensor network multi-path routing method based on network coding
CN101207552B (en) Method for scheduling of data block and network node
CN103888317A (en) Protocol-independent network redundant flow eliminating method
CN108075861A (en) Network coding transmission method based on multipath in software definition FiWi networks
CN102958129A (en) Routing method and routing system based on OLSR (Optimized Link State Routing) protocol
CN102484616B (en) Transmitting terminal and band estimation method
CN103609063B (en) The method and apparatus that protocol independent multicast last hop router finds
CN101540778B (en) Method, device and system for transmitting data
CN104506272A (en) Method for monitoring network coding in X-shaped wireless network topology
CN102148664B (en) Inter-multicast network coding control method applied to multi-source multi-destination network
CN102438207A (en) Real-time multicast method in wireless multi-hop network
CN102325009A (en) Forward error correction-based method for reliably transmitting network coding multicast data stream
CN101365150B (en) Method and node enhancing multicast transmission efficiency based on random network code
CN106954242A (en) A kind of satellite distributed dynamic multi-path method for routing based on network code
CN101841455B (en) Coding and routing method, system and nodes
CN103152129B (en) The methods, devices and systems of EPON network code based on data stream
CN102104446B (en) Coded packet forwarding method, coded packet receiving processing method and forwarding node

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20081217