Background technology
Radio network technique fast development has in recent years caused people's extensive concern.Yet along with the increase of wireless network scale, the throughput of network can sharply descend.The recently new network coding technique that proposes has thoroughly changed information processing and transmission manner in the communication network, makes that the throughput of node can reach its maximum stream flow theoretical upper limit in the network, thereby receives increasing concern.
Wireless network environment is the field of an important application of network code, because the unreliability of Radio Link and physical layer broadcast characteristic are fit to use Methods for Coding very much.Application network coding can solve traditional route, stride the insurmountable problem of technology such as layer design, raising network performance.Wireless self-organization network such as wireless sensor network, wireless Mesh netword can use network coding technique to significantly improve the transmission performance of multi-hop link.
Though current existing part proposes at the network code mechanism of wireless network, but for how the correlative study of concrete application network coding techniques all also is in blank and starting stage substantially in wireless network, and the current network code scheme that has proposed also has very big room for promotion for the gain that wireless network brought.In recent years, the research emphasis of network code is progressively transferred to field of wireless.But in the theory and the application facet of network code, wireless self-organization network and cable network have marked difference, this mainly be by the architectural feature of wireless self-organization network and wireless transmission channel the time become the fading characteristic decision.
One of network code in the wireless network and legacy network coding main distinction are that it can significantly increase the network throughput of unicast stream.Figure 1 shows that the example that 3 nodes use network code to carry out communication in the wireless network: node
A, node
BMutual transmission information
p 1 ,
p 2 Arrow among Fig. 1 is represented Radio Link.Fig. 1 adopts traditional communication,
RSuccessively with the information of receiving
p 1 With
p 2 Send to node respectively
AAnd node
BLike this through 4 transmission transmission nodes
BCan acquired information
p 1 , and node
ACan acquired information
p 2 If but utilize the broadcast characteristic of wireless medium, will
p 1 With
p 2 Do directly to forward behind the XOR, then at node
BThe place can recover according to the information that receives
p 1 Come; In like manner, at node
AThe place also can recover information
p 2 Come.Therefore adopt (see figure 2) behind the network coding technique, only needed to use 3 transmission just can realize all communicating requirements of traditional approach.
Based on above-mentioned thought, the network coding method based on chance that external expert Katti etc. propose (abbreviation COPE), COPE are to study the problem that network is coded in specific implementation on the protocol level in the wireless environment first.In the COPE agreement, require each node to utilize local information to determine which packets need to encode and how to encode separately.The COPE agreement can effectively be supported the multichannel unicast stream.By COPE, the throughput of network can effectively be improved.
The basic functional principle of COPE is as follows: COPE has utilized the broadcast characteristic of wireless medium, i.e. the neighbor node that each transmission of node can both be transmitted node listens to.Each node is all temporarily stored the message that it listens to simultaneously, and reports that to neighbours it has listened to those messages.For each neighbor node, node is all safeguarded two virtual queues, and one is used for small messages (message length is less than 100 bytes), and another virtual queue is used for big message.Comprise in the virtual queue of corresponding certain neighbor node and point to the message that arrives this neighbor node in the output queue.When node is selected message, only consider the message of each virtual queue head.
When node sends message, this node comes encoding of chance with regard to the message information that utilizes neighbor node to listen to, single message after a plurality of messages are carried out will encoding behind the xor operation is broadcasted away, each original message in the coding message can both be correctly decoded by its purpose receiving node with enough big probability.COPE has expanded the Wireless Network Coding example of three nodes in the last joint, can be at many messages of XOR in the transmission once.
For the network code algorithm, the time how to select the message that is fit to fundamental influence to be arranged for the efficient of encryption algorithm at coding.This be since the algorithm of network code when encoding, have only and select to comprise the many coded combinations of message number as far as possible, as far as possible that length is approaching simultaneously message coding is to together, and the efficient of network code is brought into play in the waste in the time of could reducing each coding transmission to greatest extent.
If the message coding that two message length are differed greatly arrives together, mean that then long message of length has very big part of message not encode than short message with length, has influenced the efficiency of algorithm of network code greatly.For example, if message length being respectively the message coding of 1500bytes and 100bytes arrives together, then length is will have the message length of 1400bytes to be equivalent to not use the network code algorithm in the message of 1500bytes, be equal to the message that clean culture has sent 1400bytes, greatly reduce the efficient of network code.
Traditional Wireless Network Coding mechanism, is at first taken out message when carrying out the coding message selection as COPE from first in first out (FirstInFirstOut is abbreviated as FIFO) message queue, and judges that message is to belong to big message or small messages.And, select suitable virtual queue according to the size of message.For example, if message belongs to small messages, then COPE only checks the virtual queue that is used for small messages.Though COPE has simply provided the mechanism of selecting coding mode according to message size, can improve the efficient of encryption algorithm to a certain extent.Yet should mechanism too coarse, only simply distinguish according to the size of message, when the size differences of message is big, still has the bigger message of more difference in length and be encoded into together, the efficient of network code has been brought bigger influence.
Simultaneously, the COPE algorithm adopts the FIFO(first in first out, FirstInFirstOut) mode network encryption algorithm, when choosing the message of coded combination pattern, only consider the message of each virtual queue head, significantly reduce alternative coded combination pattern like this, might be able to not select and comprise the more coded combination pattern of message number, so also influenced the efficient of network code algorithm greatly.
Summary of the invention
Goal of the invention of the present invention is, overcome the shortcoming of existing coding techniques, this new technology of network code efficient is proposed, when carrying out the selection of network code message, utilize network code efficient as tolerance, select the highest message coding combination of code efficiency as far as possible, further promote the performance of network code in wireless network.
Coding method of the present invention is such: when the coding nodes in the wireless network is encoded, coding nodes is taken out first message (being labeled as p) and is transmitted from any message of transmit queue, node is checked the virtual queue of each maintenance then, and from any message of virtual queue, select one and encode with message p, carry out efficient according to following computing formula and select: the transmission behind the network code can be carried
nIndividual grouping, that is:
p 1,
p 2...,
p n,
n〉=2, each block length is respectively
l 1,
l 2...,
l n, so above-mentioned grouping is carried out the network code efficient that once forwards behind the network code for (
l 1+
l 2+ ... +
l n)/max{
l 1,
l 2...,
l n, max{ wherein
l 1,
l 2...,
l nReturn
l 1,
l 2...,
l nIn maximum.Select the highest coded combination pattern of code efficiency to transmit then.
In the above-mentioned coding method, any message of described virtual queue based on first-in first-out (FIFO) strategy, is that the message that takes out each virtual queue head is encoded.
The final purpose node of message can be responsible for necessary message and reorder, and therefore need not be concerned about the message sequence in the FIFO message transmissions formation of node.
Each recipient who considers coding message in the above-mentioned coding method can correctly accept and the probability of its original message of decoding, the computational methods of this coding probability P d are the computational methods of the chance conjecture mechanism of COPE, wherein each recipient's decoding probability must be higher than specified value G, and described set-point preferably is set to 0.8.
Coding method of the present invention uses efficiency of transmission as evaluation criterion, can improve the performance of network code algorithm in the transfer of data of wireless network.And invented code efficiency sensing network encryption algorithm respectively based on first in first out (FIFO) strategy and non-first in first out strategy, can select the highest coding mode combination of code efficiency.In network code algorithm based on non-first in first out strategy, node can be selected an identical subclass from any message of virtual queue, mean that more coded combination pattern can be arranged is selective, can select the coded combination pattern that code machine can be bigger; By selecting the highest coding mode combination of code efficiency, can effectively promote the entrained effective information of every bit in each transmission, thereby effectively promote the efficient of network code algorithm.Simultaneously, designed scheme of the present invention is a distributed protocol, is easy to realize in existing real network and dispose.
In the encryption algorithm of above-mentioned code efficiency perception, all extra coding gains, computational load can both be by adjusting the length of virtual queue
qControl.Suppose in network, the average degree of node, promptly average neighbours' number is
D(
D1), then the complexity of the encryption algorithm of COPE is as follows: be used to check in the time whether a next-hop node can be correctly decoded certain coding message be
O(
D).Because node is total
O(
D) individual virtual queue, therefore in COPE, the load of first in first out encryption algorithm is
O(
D 2 ).
In the efficient sensing network encryption algorithm based on the first in first out strategy, algorithm complex is identical with the COPE algorithm.And in the code efficiency sensing network encryption algorithm that adopts non-first in first out strategy, because the total O of node (
D) individual virtual queue, the length of each virtual queue is
q, and be used for checking whether can be correctly decoded certain coding message, and be similarly the time of calculating the code efficiency of this integrated mode at a next-hop node
O(
D), therefore total encryption algorithm time complexity be O (
QD 2 ).As can be seen, the encryption algorithm complexity of the encryption algorithm of code efficiency perception can be by adjusting the length of virtual queue
qValue be controlled effectively.
Embodiment
Existing C OPE algorithm, when encoding, if the length difference of message, then that length is short message uses blank byte polishing, encodes than long message with length again.Therefore using the part of blank byte is a waste for the network code algorithm.
We illustrate the notion of network code efficient with following example.With the scene among Fig. 1 is example, if node
ATo node
BTransmission length is the message of 100bytes
p 1 And length is the message of 500bytes
p 3 , node
BTo node
ATransmission length is the message of 1000bytes
p 2 Node
RReceiving message
p 1 With
p 2 After, will
p 1 With
p 2 Do to send behind the XOR, need with
p 1 Use blank byte polishing to 1000bytes, to encode again, then message
p 1 ⊕
p 2 Message length be 1000bytes, the entrained effective information of unit byte is (100+1000)/1000=1.1 among this 1000bytes.
And if node
ATo node
BTransmission length is the message of 500bytes
p 3 , node
RWill
p 3 With
p 2 Do to send behind the XOR, then message
p 3 ⊕
p 2 The middle entrained effective information of unit byte is (500+1000)/1000=1.5.Therefore,, just can effectively promote the entrained effective information of every bit in this time transmission, thereby effectively reduce total the number of transmissions, promote total network throughput if select the higher coding message integrated mode of code efficiency as far as possible.
Answer this, we use the entrained effective information of next every bit to weigh the efficient of network code.Next, we provide the formal definition of the entrained effective information of every bit.
Define the entrained effective information of 1. every bits
If coding message integrated mode
CIn comprise
nIndividual message
p 1 ,
p 2,
,
p n , the message length of each message is respectively
l 1 ,
l 2 ...,
l n , this coding message integrated mode then
CCode efficiency, the entrained effective information of promptly every bit
η C Be defined as follows:
η C =(
l 1 +
l 2 +,…,+
l n )/max{
l 1 ,
l 2 ,…,
l n }
Max{ wherein
l 1 ,
l 2 ...,
l n Return
l 1 ,
l 2 ...,
l n In maximum.
From the definition of the entrained effective information of every bit as can be seen, if the message number (promptly the code machine of this coding message integrated mode can be counted) that comprises in certain coding message integrated mode is many more, length difference between perhaps different messages is apart from more little, the entrained effective information value of every bit of this coding message is just big more, means that promptly the code efficiency of coded combination pattern is just high more.Therefore, if each node is all selected the highest code efficiency combination of code efficiency in each transmission, just can effectively promote the throughput of whole network.
The key issue that the network code algorithm of code efficiency perception will solve just is to select with which message coding together, to reduce the total transmission number in the wireless network.
In COPE, each node is all safeguarded the output queue of a first in first out (FIFO), has stored all messages that this node will be transmitted in the formation.For each neighbor node, node is all safeguarded two each and every one virtual queues, and one is used for small messages (message length is less than 100 bytes), and another virtual queue is used for big message (message length is greater than 100 bytes).For certain neighbor node
AVirtual queue safeguarded a plurality of pointers, next jumps neighbor node for this reason to pointed in the FIFO output queue
AMessage.When COPE carrying out coding message when selecting, at first message is taken out from FIFO first in first out message queue, and judges that message is to belong to big message or small messages.And, select suitable virtual queue according to the size of message, node is only selected message from the head of each virtual queue.
So the encoding mechanism that existing C OPE adopts can not be brought into play the efficient of network code algorithm fully.Simultaneously current a few thing, verified optimum coding selection problem is a np hard problem.Therefore, in order to use smoothly, effectively increase network throughput in the network of reality, we must adopt distributed network code algorithm.Simultaneously, in order in each transmission, all to send the highest coded combination pattern of code efficiency, just can not only simply message be divided into two formations of size, and need existing network code algorithm be made improvements according to the notion of network code efficient.
Based on the definition of the entrained effective information of every bit, consider to have for one
mIndividual neighbor node
n 1 ,
n 2 ...,
n m Via node
n R If
m=1, then at node
n R On do not have network coding opportunity.Consider general scene now, promptly
m2 situation.We use
P Ij The expression node
n i With
n j Between transmission probability, and establish
P Ii =1,
i=1,2 ...,
mAt node
ROn, for each neighbor node
n i The virtual queue length of safeguarding is
Q i ,
Q i In the message number be
q i To be positioned at virtual queue
Q i In
kIndividual message note is done
For certain message
p, its sender and recipient are designated as respectively
s(
p) and
D (p).
The network code algorithm that the inventive method is chosen based on the employing head of the code efficiency perception of first in first out (FIFO) strategy:
We expand the COPE algorithm, provide network code algorithm based on the code efficiency perception of first in first out (FIFO) strategy, the main core content of this algorithm is: when node carries out the coding message selection, calculate and select the combination of the highest coding mode of every bit base amount of information to transmit according to formula (1), to maximize the code efficiency of each transmission.
At first, node
n R Taking out first message from the head of transmit queue transmits.We do the message note of taking out
pNext node
n R Check each virtual queue, and take out the same message that has taken out of message trial of each virtual queue head
pEncode, and select the highest coded combination pattern of code efficiency to transmit.
Though the network code algorithm based on the code efficiency perception of first in first out strategy can all be selected the highest coded combination pattern of code efficiency for each coding transmission, yet with the COPE class of algorithms seemingly, its encryption algorithm based on the first in first out strategy has limited on the node to a great extent can be created the network coding opportunity of coming out, and this traditional FIFO encoding mechanism is not that best encryption algorithm is selected in the wireless environment of easily losing.This be because, only select message based on the encryption algorithm of the FIFO of first in first out from the head of each virtual queue, mean that the code machine of node can be subject to the identical subclass what neighbours can listen to virtual queue head message.
And from the definition of the entrained effective information of every bit as can be seen, the chance that increases network code on the node can further promote the efficient of network code equally.Tactful different with traditional first in first out, if in the network code algorithm, adopt the message selection strategy of non-first in first out, code machine can just can access further lifting, this is because coding nodes can be selected an identical subclass from any message of virtual queue, and is not limited only to the message subclass of virtual queue head.
The inventive method is based on the network code algorithm of the code efficiency perception of non-first in first out strategy:
When node is encoded, node can be selected any one original message from each virtual queue, and be not limited only to first message of virtual queue head, carry out the network code combination, and calculate and select the highest coding mode combination of code efficiency to transmit according to formula (1).We suppose that the final purpose node of message can be responsible for necessary message and reorder, and therefore when encoding, we are indifferent to the message sequence in the FIFO message transmissions formation of node.
At first, node
n R Taking out first message from transmit queue transmits.We do the message note of taking out
pNext node
n R Check each virtual queue, and attempt from each virtual queue, selecting a message with the message that has taken out
pEncode, when selecting the message combination, the coded combination pattern that record coding is most effective, and select the highest coded combination pattern of code efficiency to transmit at last.
Above-mentioned encryption algorithm needs all to consider that each recipient of coding message can correctly receive and the probability of its original message of decoding.We use chance conjecture mechanism identical among the COPE to calculate decoding probability
P D Each recipient's decoding probability must be higher than specified value
GHere, we will
GDefault value be set to 0.8.
Simultaneously, in the encryption algorithm of above-mentioned code efficiency perception, all extra coding gains, computational load can both be by adjusting the length of virtual queue
qControl.Suppose in network, the average degree of node, promptly average neighbours' number is
D(
D1), then the complexity of the encryption algorithm of COPE is as follows: be used to check in the time whether a next-hop node can be correctly decoded certain coding message be
O(
D).Because node is total
O(
D) individual virtual queue, therefore in COPE, the load of first in first out encryption algorithm is
O(
D 2 ).
In the efficient sensing network encryption algorithm based on the first in first out strategy, algorithm complex is identical with the COPE algorithm.And in the code efficiency sensing network encryption algorithm that adopts non-first in first out strategy, because the total O of node (
D) individual virtual queue, the length of each virtual queue is
q, and be used for checking whether can be correctly decoded certain coding message, and be similarly the time of calculating the code efficiency of this integrated mode at a next-hop node
O(
D), therefore total encryption algorithm time complexity be O (
QD 2 ).As can be seen, the encryption algorithm complexity of the encryption algorithm of code efficiency perception can be by adjusting the length of virtual queue
qValue be controlled effectively.