High throughput network coding method in a kind of wireless network
Technical field
The present invention relates to the radio network technique field, particularly relate to the packet networks coding method on the network node in a kind of wireless network.
Technical background
Current, wireless communication technology has been widely used in the various aspects of society, has brought greatly facility for people's life.Yet than wire communication, a remarkable deficiency of radio communication is that bandwidth is very limited.Because this deficiency, the supported throughput of current wireless communication technology is well below wire communication, make service quality also not reach people's demand far away, such as utilizing the online high definition programme televised live of watching of smart mobile phone, its clarity and fluency have very big gap from people's requirement.
Network coding technique is a kind of technology that very is used for improving the radio communication throughput, its main thought is that the network trunk node becomes an encoded packets that size is constant with a plurality of clear data packet encoders of transmission that need, sending encoded packets then reaches once bag and sends and just a plurality of clear data bags are delivered to a plurality of receiving nodes, thereby improved efficiency of transmission very effectively, improved radio throughput greatly.
So far, there are a lot of literature research to design the good network coding method, such as the loop coding method (referring to " On the X-ities of Network Coding in Wireless Networks ", publish in ACM SIGMETRICS, 2007) and the COPE coding method (referring to " XORs in The Air:Practical Wireless Network coding ", publish in IEEE/ACM Transactions on Networking, 2008) or the like.Some relevant inventions are also arranged:
On December 6th, 2010, the Yang Zhen of Nanjing Univ. of Posts and Telecommunications has applied for patent " a kind of wireless mesh network coding method ".In this invention, by in the packet header of encoded packets, adding the destination node of DESN mark for marking raw data packets, receiver side only need be decoded at the link that enters via node, link at the target approach node carries out Route Selection, thereby reduce the number of times of raw data packets transmission, improve network throughput.
On May 15th, 2012, Harbin Engineering University Zhao Yun dragon has been applied for patent " the network code restorative procedure of coding Network Based ".In this invention, decode node draws required retransmission data packet may set and forms the RACK request package by the CBCR algorithm computation and sends to neighbor node, and neighbor node is encoded according to the request content among the RACK and obtained the required packet of decode node then.
In existing network code algorithm, same data flow has only a packet to participate in coding at most.If have the bag of several packets and other data flow to carry out network code in the data flow, then the receiving node of this data flow can't be decoded to encoded packets and be obtained this several packets, can only obtain these several data packet codings encoded packets together.
Summary of the invention
The present invention proposes a kind of can be together and the network coding method that on receiving node, can decode with the packet encoder of a plurality of packets of same data flow and other data flow, once send institute's data packets transmitted number thereby significantly increase network node, improve the throughput of network node greatly.
In order to realize above-mentioned technical assignment, the present invention takes following technical solution:
High throughput network coding method in a kind of wireless network considers that the packet of different data flow is often in different size, has the packet of some data flow big especially, has the packet of some data flow especially little, the data flow F that packet is less
iA plurality of packet P
I, 1..., P
I, nIn data before and after couple together and be combined into a big combination bag
, will make up bag then
Become an encoded packets to send with the data packet coding of other data flow.Data flow F
iAfter corresponding receiving node received encoded packets, can decode obtained the combination bag
And should make up bag and split and to obtain a plurality of raw data packets P
I, 1..., P
I, nThereby a plurality of bags of accomplishing once to send just that packet is less data flow are delivered to receiving node, have improved throughput greatly.Described high throughput network coding method may further comprise the steps:
Step 1: flowing through this node and having in the data flow of buffer memory bag, coded data stream is expressed as F mutually
1, F
2..., F
K, wherein K is a coded data flow amount mutually.In these data flow, pick out that stream of packet maximum, be expressed as F
x, x ∈ 1,2 ..., K}.
Step 2: encoded packets size L is set
*=L
x, encoded packets transmission rate R
*=R
xAnd the set of data flows S that finally participates in encoding operation
f={ F
x, L wherein
iBe data flow F
iThe size of middle packet, R
iReached at transmission rate for this Radio Link of receiving node from coding nodes to data flow Fi.With data flow F in the buffer memory
xThe bag of arrival the earliest put into S set
p, S
pSet for the packet that will carry out network code operation.
Step 3: k=1 is set.
Step 4: if k=x then jumped to for the 7th step.
Step 5: calculate
, N wherein
kBe data flow F
kInstitute's cached data packet number, n
kBe event data stream F
kIn the operation below selected come out to participate in coding then this data flow will participate in coded data bag number.
To data flow F
k, check whether it meets the following conditions:
Event data stream F
kSatisfy this condition, R then is set
*← min{R
k, R
*And S
f← S
f∪ { F
k, with data flow F in the buffer memory
xN
kThe individual data front and back that arrive bag the earliest couple together, and add that packet header is combined into a combination bag, and the bag that this is new is put into S set
p, jumped to for the 7th step then.
Step 6: check data flow F
kWhether institute's cached data packet number surpasses 1/3rd of cache size, if surpass 1/3rd of cache size, then with data flow F
kPick out and participate in coding, R promptly is set
*← min{R
k, R
*And S
f← S
f∪ { F
k, with data flow F in the buffer memory
xN
kThe individual data front and back that arrive bag the earliest couple together, and add that packet header is combined into a combination bag, and the bag that this is new is put into S set
p
Step 7: k ← k+1 is set.If k=K+1 then jumped to for the 8th step; Otherwise, jumped to for the 4th step.
Step 8: with S set
pIn packet be encoded into an encoded packets by network code operation, this encoded packets will be with transmission rate R
*Send.
Step 9: finish.
Technical characterstic of the present invention and effect:
1) coding method of the present invention has broken through the deficiency that each data flow has only a packet participation to encode at most in the existing network coding method, the synthetic combination bag of a plurality of packages of the data flow that packet is less participates in coding, thereby accomplished that the less data flow of packet can have a plurality of bags to participate in coding, has improved network node greatly and has once sent institute's data packets transmitted number.
2) influence of physical layer transmission rate parameter to coding gain considered in coding method of the present invention simultaneously, and physical layer that can encoded data stream based on each can reach transmission rate, chooses suitable data stream and encodes, and has reached bigger coding gain.
Description of drawings
Fig. 1 is a legacy network coding method schematic diagram.
Fig. 2 is based on network coding method schematic diagram (a) network coding method of packet combination strategy, and (b) decoding of receiving encoding bag and combination bag split schematic diagram.
Embodiment
The present invention will be further described below in conjunction with accompanying drawing.
Be the legacy network coding method among Fig. 1, the maximum packets of each data flow participate in coding, and the small data packets afterbody zero padding that participates in coding equals big packet up to length.
We illustrate the specific embodiment of the present invention with the network code based on packet assembling strategy shown in Figure 2.The wireless network that has the network code function for network node is when a network node has send opportunity, based on the information of the data flow that flows through this node, as packet size L
i, link can reach transmission rate R
i, cached data packet number N
iMove coding method of the present invention and pick out the packet number that participates in coded data stream, goes out to be used for making up for the less data-flow computation of select packet and carry out the network code operation at last and obtain encoded packets Deng, this node.Described coding method comprises following steps:
Step 1: flowing through this node and having in the data flow of buffer memory bag, coded data stream is expressed as F mutually
1, F
2..., F
K, wherein K is a coded data flow amount mutually.In these data flow, pick out that stream of packet maximum, be expressed as F
x, x ∈ 1,2 ..., K}.
Step 2: encoded packets size L is set
*=L
x, encoded packets transmission rate R
*=R
xAnd the set of data flows S that finally participates in encoding operation
f={ F
x, L wherein
iBe data flow F
iThe size of middle packet, R
iFor from coding nodes to data flow F
iReached at the transmission rate of this Radio Link of receiving node.With data flow F in the buffer memory
xThe bag of arrival the earliest put into S set
p, S
pSet for the packet that will carry out network code operation.
Step 3: k=1 is set.
Step 4: if k=x then jumped to for the 7th step.
Step 5: calculate
, N wherein
kBe data flow F
kInstitute's cached data packet number, n
kBe event data stream F
kIn the operation below selected come out to participate in coding then this data flow will participate in coded data bag number.
To data flow F
k, check whether it meets the following conditions:
Event data stream F
kSatisfy this condition, R then is set
*← min{R
k, R
*And S
f← S
f∪ { F
k, with data flow F in the buffer memory
xN
kThe individual data front and back that arrive bag the earliest couple together, and add that packet header is combined into a combination bag, and the bag that this is new is put into S set
p, jumped to for the 7th step then.
Step 6: check data flow F
kWhether institute's cached data packet number surpasses 1/3rd of cache size, if surpass 1/3rd of cache size, then with data flow F
kPick out and participate in coding, R promptly is set
*← min{R
k, R
*And S
f← S
f∪ { F
k, with data flow F in the buffer memory
xN
kThe individual data front and back that arrive bag the earliest couple together, and add that packet header is combined into a combination bag, and the bag that this is new is put into S set
p
Step 7: k ← k+1 is set.If k=K+1 then jumped to for the 8th step; Otherwise, jumped to for the 4th step.
Step 8: with S set
pIn packet be encoded into an encoded packets by network code operation, this encoded packets will be with transmission rate R
*Send.
Step 9: finish.
Obtain encoded packets and corresponding transmission rate R shown in Fig. 2 (a) by the above network coding method
*After, this encoded packets of network node is with transmission rate R
*Send.
Receive the neighbor node of this encoded packets for each, determine that by the header information of checking encoded packets whether encoded packets covers the packet toward oneself, if do not cover the packet toward oneself, then abandons it.If comprised to toward own packet, then obtain past oneself packet by the execution decode operation as Fig. 2 (b) shown in.Check further that this packet size equals the size of bag expressly or greater than the size of bag expressly,, then these are expressly wrapped and give the upper strata and handle if this packet determines then that greater than bag expressly this bag is a combination bag and is split into a plurality of plaintext bags; If equate, determine that then this bag is that a plaintext wraps and give the upper strata processing.