CN108616332B - Multi-user data transmission method based on random linear network coding - Google Patents
Multi-user data transmission method based on random linear network coding Download PDFInfo
- Publication number
- CN108616332B CN108616332B CN201810456833.7A CN201810456833A CN108616332B CN 108616332 B CN108616332 B CN 108616332B CN 201810456833 A CN201810456833 A CN 201810456833A CN 108616332 B CN108616332 B CN 108616332B
- Authority
- CN
- China
- Prior art keywords
- user
- storage server
- data packet
- data packets
- packets
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The invention discloses a multi-user data transmission method based on random linear network coding. The method uses network coding technology on a storage server: the server calculates a file set to be transmitted according to the downloading requests of all users; then, coding the files by using a random linear network coding method, and then sending the coded data to a user; after a user receives a sufficient number of data packets, all original files participating in encoding can be decoded, files interested by the user are selected from the original files, and other files are discarded; finally, the storage server learns whether the user has successfully decoded or not through feedback information of the user; and when the confirmation information of all the users is received, the transmission is ended. The multi-user data transmission method can improve the overall transmission efficiency and increase the throughput of the network.
Description
Technical Field
The invention belongs to the technical field of wireless network communication, and particularly relates to a multi-user data transmission method based on random linear network coding.
Background
With the development of social economy and scientific technology and the continuous promotion and deepening of informatization construction, wireless networks and wireless communication data transmission are more and more widely applied in various fields. Among them, multicast is one of the most commonly used data transmission methods in wireless networks. In wireless multicast, because a wireless channel is easily affected by interference, attenuation and the like, the wireless channel sometimes presents a higher channel error rate or packet loss rate, so that the quality of a wireless link is poorer, the transmission of a data packet is easily damaged, and the transmission efficiency is further seriously affected. For this problem, one of the conventional solutions is to use a retransmission technique, such as an Automatic Repeat Request (ARQ) policy: when a certain data packet is not successfully received by all users, the source node continuously retransmits the data packet until all receiving nodes successfully receive the data packet. Therefore, the transmission efficiency of the retransmission technique is not really high.
Network coding is another technique to improve the efficiency of wireless multicast. The sending end firstly utilizes the network coding technology to code the original data packet, generates a coded data packet and then sends the coded data packet to a user. For the user, all the original packets can be successfully decoded by receiving a sufficient number of linearly independent encoded packets. Therefore, there is no packet retransmission problem that seriously affects multicast efficiency.
The invention applies network coding to a single-hop wireless network, and is mainly used for improving the transmission efficiency of data packets. A group of mobile users, which want to download one or more files interested by the users from a central storage server; there may be duplication of files that different users want to download, e.g., some popular resources may be downloaded by multiple users. In view of the above features, the present invention uses network coding techniques on a storage server: the server calculates a file set to be transmitted according to the downloading requests of all users; then, coding the files by using a random linear network coding method, and then sending the coded data to a user; after a user receives a sufficient number of data packets, all original files participating in encoding can be decoded, files interested by the user are selected from the original files, and other files are discarded; finally, the storage server learns whether the user has successfully decoded or not through feedback information of the user; and when the confirmation information of all the users is received, the transmission is ended.
Disclosure of Invention
The invention provides a multi-user data transmission method based on random linear network coding, aiming at file transmission in a wireless network.
The technical scheme of the invention is as follows:
a data transmission method based on random linear network coding comprises the following processing steps:
suppose the storage server has m packets, denoted Xi,X2,K,Xm(ii) a There are n users, each of which downloads one or more of the users' own needs from the storage serverA data packet; recording the data packet set to be downloaded by the ith user as AiWe haveRecording the number of linearly independent data packets received by the ith user as ciIts initial value is set to 0, i.e.
(1) A transmission preparation stage:
establishing connection between each user and the storage server, initiating a data packet transmission request to the storage server, and informing the storage server of a data packet set A to be downloadediI ∈ {1, K, n }, after receiving all the download requests from the users, the server calculates the set of all the data packets to be transmitted, and records it as B, so we have B ═ a1UA2UKUAn。
(2) And (3) a transmission stage:
in each time slot of the transmission stage, the storage server and the user transmit and receive data packets according to the following steps:
(2.1) the storage server generates an encoded data packet Y by using a random linear network coding method, wherein the data packet Y is a random linear combination of all data packets in the set B, namelyWhere | B | represents the number of elements in set B, a1,K,a|B|For coding coefficients, each time coding is performed from the coding field FqThe symbol {0,1, K, q-1} is randomly selected, and q represents the size of the code field and is a predetermined integer. Step (2.2) is entered.
And (2.2) the storage server broadcasts the generated coded data packet to all users through a wireless channel. Go to step (2.3).
(2.3) at the receiving end, if the ith user successfully receives the data packet broadcast by the storage server in the current time slot, the user judges whether the data packet is cached in the data packet and the own cacheAre linearly independent of other packets. If yes, adding the data packet into the cache, and adding ciIs increased by 1, i.e. ci=ci+1, go to step (2.4); otherwise, the data packet is discarded, and step (2.6) is entered.
(2.4) if ciI | B |, this means that the ith user has received a sufficient number of linearly independent encoded packets, and therefore all the original packets in set B can be decoded by gaussian elimination. Due to the fact thatThe user can find out all the packets to be downloaded from the set B and discard the packets that are not needed by the user, and go to step (2.5). Otherwise, the step (2.1) is returned.
(2.5) the ith user sends an ACK message to the storage server to inform the storage server that the storage server has decoded the data packet to be downloaded. The user then enters a silence state, discarding other packets received in subsequent time slots, and proceeds to step (2.6).
(2.6) the storage server determines whether ACK acknowledgement information has been received from all users. If so, the transmission phase is ended, otherwise, the step (2.1) is returned.
The invention has the following characteristics:
the storage server of the invention does not simply broadcast the original data packet to the user, but utilizes the characteristic that the files which different users want to download have repeatability, adopts a random linear network coding method, and collects all the data packets which need to be sent first and then codes the data packets, and then sends the data packets to the user. By adopting the method, although the number of the data packets which need to be received by each user is more than that before, the storage node does not need to retransmit the lost data packets, thereby improving the overall transmission efficiency and increasing the throughput of the network.
Drawings
Fig. 1 is a schematic diagram of a network according to the present invention.
Fig. 2 is a flow chart of a data transmission method according to the present invention.
Detailed Description
To further illustrate the present invention, a preferred embodiment is given below. This example is only illustrative of the principles of the present invention and does not represent any limitation of the present invention.
Assume that there is one storage server, with a total of 10 different files. Suppose that each file contains only one packet, so there are 10 original packets, denoted as X, on the server1,X2,K,X10. The existing 3 users have the data packet sets A respectively1={X1,X2,X3},A2={X3,X4,X5,X6},A3={X2,X3,X6,X7}. The number of linearly independent data packets received by the user is initially 0, i.e. c1=c2=c30. Let the size of the code field be q 16, so the code field is F16={0,1,K,15}。
3 users firstly establish connection with the server, send a downloading request to the server and inform the server of a data packet set A which the server wants to download1,A2,A3. After receiving all the user download requests, the server calculates the set of all the data packets to be transmitted, i.e. B ═ a1UA2UA3={X1,X2,X3,X4,X5,X6,X7}。
In the 1 st time slot of the transmission stage, the server generates the 1 st coded data packet by using a random linear network coding method, and records the 1 st coded data packetWherein the coefficient a is encoded1,a2,K,a7From the coded field F16And (4) randomly selecting {0,1, K,15 }. The server will encode the data packet Y1Broadcast to 3 users. Suppose that the 1, 2 st user successfully receives the data packet Y1And the 3 rd user is not successfully received due to the influence of noise. Since there is no cache for user 1 and user 2Any data packet, so user 1 and user 2 will be Y1Put into the cache of the user and update the number c of the linear independent data packets received by the user1And c2I.e. c1=c 21. Due to c1,c2,c3All values of (c) are less than | B | ═ 7, so 3 users do not need to send ACK acknowledgment information to the server.
In the 2 nd time slot of the transmission phase, the server generates the 2 nd coded data packetWherein the coefficient a is encoded1,a2,K,a7From the coded field F16And (4) randomly selecting {0,1, K,15 }. The server will encode the data packet Y2Broadcast to 3 users. Suppose that only the 2 nd user successfully received packet Y2. Since user 2 has cached the existing data packet Y1User 2 needs to determine Y2And Y1Whether linearly independent. If yes, then Y is added2Put into its own cache and update c22; otherwise, discarding Y2. Due to c1,c2,c3Is still less than | B | ═ 7, so 3 users do not need to send ACK acknowledgement information to the server.
In the next time slot, the storage server and the user transmit and receive the data packet according to the method. If a user receives a sufficient number of linearly independent data packets, e.g. c1If it is 7, the user 1 may decode all the packets in the set B by using gaussian elimination, and simultaneously send an ACK acknowledgement message to the server, informing the server that it has successfully decoded itself. If the server receives the ACK information of all 3 users, the whole transmission process is finished.
The invention relates to a data transmission method based on random linear network coding, belonging to the technical field of wireless network communication; the invention uses the coded data packet to replace the original data packet for sending, avoids the problem that the data packet is lost and needs to be retransmitted in the traditional transmission method, and improves the transmission efficiency of the data and the throughput of the network.
While the foregoing has described in detail the preferred embodiments and principles of the present invention, it will be apparent to those skilled in the art that variations may be made in the embodiments and equivalents without departing from the spirit and scope of the invention.
Claims (1)
1. A multi-user data transmission method based on random linear network coding is characterized by comprising the following processing steps:
suppose the storage server has m packets, denoted Xi,X2,...,Xm(ii) a Is provided withnEach user needs to download one or more data packets which are required by the user from the storage server; recording the data packet set to be downloaded by the ith user as Ai,Recording the number of linearly independent data packets received by the ith user as ciIts initial value is set to 0, i.e.
(1) A transmission preparation stage:
establishing connection between each user and the storage server, initiating a data packet transmission request to the storage server, and informing the storage server of a data packet set A to be downloadediI ∈ { 1.. multidot.n }, after receiving all the download requests from the users, the server calculates the set of all the data packets to be transmitted, and the set is marked as B, B ═ A {1∪A2∪…∪An;
(2) And (3) a transmission stage:
in each time slot of the transmission stage, the storage server and the user transmit and receive data packets;
the transmission stage of the step (2) comprises the following specific steps:
(2.1) the storage server generates an encoded data packet Y by using a random linear network coding method, and the data packet Y is a setRandom linear combination of all packets in B, i.e.Where | B | represents the number of elements in set B, a1,...,a|B|For coding coefficients, each time coding is performed from the coding field FqQ represents the size of a coding domain and is a predetermined integer; entering the step (2.2);
(2.2) the storage server broadcasts the generated coded data packet to all users through a wireless channel, and the step (2.3) is carried out;
(2.3) at a receiving end, if the ith user successfully receives the data packet broadcast by the storage server in the current time slot, the user judges whether the data packet is linearly independent from other data packets in the cache of the user; if yes, adding the data packet into the cache, and adding ciIs increased by 1, i.e. ci=ci+1, go to step (2.4); otherwise, discarding the data packet and entering the step (2.6);
(2.4) if ciB |, it means that the ith user has received a sufficient number of linearly independent encoded data packets, and therefore all the original data packets in the set B can be decoded by using gaussian elimination; due to the fact thatThe user can find out all the data packets to be downloaded from the set B, and discard the data packets which are not needed by the user, and then the step (2.5) is carried out; otherwise, returning to the step (2.1);
(2.5) the ith user sends an ACK (acknowledgement) message to the storage server to inform the storage server that the data packet to be downloaded is decoded by the storage server; then the user enters a silent state, discards other data packets received in the following time slot, and enters the step (2.6);
(2.6) the storage server judging whether ACK confirmation information has been received from all the users; if so, the transmission phase is ended, otherwise, the step (2.1) is returned.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810456833.7A CN108616332B (en) | 2018-05-14 | 2018-05-14 | Multi-user data transmission method based on random linear network coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810456833.7A CN108616332B (en) | 2018-05-14 | 2018-05-14 | Multi-user data transmission method based on random linear network coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108616332A CN108616332A (en) | 2018-10-02 |
CN108616332B true CN108616332B (en) | 2020-10-13 |
Family
ID=63663177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810456833.7A Active CN108616332B (en) | 2018-05-14 | 2018-05-14 | Multi-user data transmission method based on random linear network coding |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108616332B (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8068426B2 (en) * | 2008-05-29 | 2011-11-29 | Massachusetts Institute Of Technology | Feedback-based online network coding |
CN102970235A (en) * | 2012-12-06 | 2013-03-13 | 南京邮电大学 | Multicast routing method based on intra-flow and inter-flow network encoding in wireless mesh network |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248645B (en) * | 2012-02-08 | 2018-03-16 | 深圳市腾讯计算机系统有限公司 | BT off-line datas download system and method |
CN103095827B (en) * | 2013-01-11 | 2016-12-28 | 中国传媒大学 | A kind of local multi-client synergistic data method for down loading based on random network code |
CN106686112A (en) * | 2017-01-18 | 2017-05-17 | 中国工商银行股份有限公司 | Cloud file transmission system and method |
CN107147471A (en) * | 2017-03-24 | 2017-09-08 | 南京邮电大学 | A kind of data transfer optimization method based on linear network encoding |
-
2018
- 2018-05-14 CN CN201810456833.7A patent/CN108616332B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8068426B2 (en) * | 2008-05-29 | 2011-11-29 | Massachusetts Institute Of Technology | Feedback-based online network coding |
CN102970235A (en) * | 2012-12-06 | 2013-03-13 | 南京邮电大学 | Multicast routing method based on intra-flow and inter-flow network encoding in wireless mesh network |
Non-Patent Citations (1)
Title |
---|
"Reliability of Multicast under Random Linear Network Coding";Evgeny Tsimbalo;《IEEE》;20170930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108616332A (en) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | On the age of information of short-packet communications with packet management | |
Lucani et al. | Random linear network coding for time division duplexing: When to stop talking and start listening | |
EP1771964B1 (en) | Point-to-point repair request mechanism for point-to-multipoint transmission systems | |
US9325513B2 (en) | Method and apparatus for hop-by-hop reliable multicast in wireless networks | |
US9215082B2 (en) | Method and apparatus for hop-by-hop reliable multicast in wireless networks | |
JP5607218B2 (en) | H-ARQ acknowledgment detection confirmation by data combination and re-decoding | |
RU2469482C2 (en) | Method and system for data transfer in data transfer network | |
US7650560B2 (en) | Packet transmission apparatus and method using optimized punctured convolution codes | |
WO2012122758A1 (en) | Data transmission method and system, and control station | |
JP2011520388A (en) | Preemptive acknowledgment for data transmission in communication systems | |
KR20090118988A (en) | Method and appaeatus for multicasting with feedback information | |
WO2017215382A1 (en) | Data transmission method, device and system | |
CN107249203B (en) | fountain code-based Internet of vehicles remote data communication relay agent method | |
EP3387773A1 (en) | Relaying method and device and recipient with return in an omamrc system | |
Liu et al. | Quality-aware instantly decodable network coding | |
Pan et al. | Coding of multi-source information streams with age of information requirements | |
Nguyen et al. | Hybrid ARQ-random network coding for wireless media streaming | |
US20090046713A1 (en) | Method and apparatus for transmitting non-decodable packets | |
Yafeng et al. | Performance analysis of type III HARQ with turbo codes | |
CN113438055A (en) | Convolutional network coding transmission method based on unequal redundancy insertion | |
CN108616332B (en) | Multi-user data transmission method based on random linear network coding | |
RU2378770C2 (en) | Method and device for encoding and planning in data packet transmission systems | |
CN102292926A (en) | Decoding method and receiving device in the system using network coding for retransmission | |
KR101116265B1 (en) | Wireless device with dynamic fragmentation threshold adjustment | |
CN101867439B (en) | Indication method of bit mapping mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |