COMMUNICATION APPARATUS AND DATA TRANSMISSION METHOD THEREOF
A communication apparatus and a data transmission method of the communication apparatus are disclosed. The communication apparatus receives feedback messages corresponding to failed data from receivers, generates a feedback matrix in response to the feedback messages, selects transmission candidate data from the feedback matrix, performs network coding on the transmission candidate data, and transmits retransmission data generated by the network coding to the receivers. Transmission candidate data is selected from the feedback matrix, and network coding is performed on the transmission candidate data to retransmit data to the receivers.
Latest Electronics and Telecommunications Research Institute Patents:
- METHOD OF MEASURING CARBON EMISSIONS AND SERVICE SERVER THEREOF
- Security code
- Method of separating terrain model and object model from three-dimensional integrated model and apparatus for performing the same
- Apparatus for microwave heat spread and an operation method thereof
- Method and apparatus for repetitive signal transmission in wireless communication system
This application claims priority to and the benefit of Korean Patent Application No. 10-2012-0113155 filed in the Korean Intellectual Property Office on Oct. 11, 2012, the entire contents of which are incorporated herein by reference.
BACKGROUND OF THE INVENTION(a) Field of the Invention
The present invention relates to a communication apparatus and a data transmission method thereof.
(b) Description of the Related Art
A communication apparatus is an apparatus for communicating data between different places, and can be largely divided into a source node for transmitting data and a destination node for receiving data.
When a source node transmits data to multiple destination nodes, the data may not be transmitted to the destination nodes due to a data error or the like. Hereupon, the multiple destination nodes send the source node feedback messages requesting retransmission of failed data or feedback messages requesting transmission of desired data. Based on the feedback messages, the source node may generate transmission data and transmit it to the destination nodes by using a network coding technique.
When the source node generates transmission data by using a network coding technique, the network coding technique is required to improve the reliability and efficiency of data transmission. Moreover, the network coding technique needs to be appropriate for systems with limited communication resources. However, the existing network coding techniques do not offer enough gain because of their complicated algorithm.
SUMMARY OF THE INVENTIONThe present invention has been made in an effort to provide a communication apparatus using a network coding technique that ensures a high transmission rate and high reliability and has low complexity, and a data transmission method thereof.
An exemplary embodiment of the present invention provides a data transmission method of a communication apparatus. The data transmission method of the communication apparatus may include: receiving feedback messages corresponding to failed data from receivers; generating a feedback matrix in response to the feedback messages; selecting transmission candidate data from the feedback matrix; performing network coding on the transmission candidate data; and transmitting retransmission data generated by the network coding to the receivers.
The selecting of transmission candidate data may include: if the receivers have a degree greater than a maximum number of data units that the communication apparatus can transmit, selecting data from the lowest of data indices of degree 1 of the receivers to the data index immediately preceding the lowest of the data indices of degree (maximum number of data units+1) of the receivers.
Data received successfully by all the receivers and data already transmitted a maximum number of times per data may be excluded from the feedback matrix.
The data transmission method of the communication apparatus may further include realigning the feedback matrix according to a priority order.
The realigning may include: if the priority order is defined for data, realigning column vectors of the feedback matrix; and if the priority order is defined for receivers, realigning row vectors of the feedback matrix.
The performing of network coding may include: if the first receiver requesting first data among the transmission candidate data does not request second data, and the second receiver requesting the second data does not request the first data, combining the first data and the second data by an XOR operation.
The transmitting of retransmission data to the receivers may include: dividing the retransmission data into transmission units; and attaching a header containing data information to each transmission unit and transmitting the transmission units to the receivers.
The header may include the total number of data units, the degree of each data unit, and the index of each data unit.
The data transmission method of the communication apparatus may further include, if the receivers have a degree less than the maximum number of data units that the communication apparatus can transmit, adding new data in an amount equal to the difference between the maximum number of data units and the maximum degree of the receivers.
Another exemplary embodiment of the present invention provides a communication apparatus. The communication apparatus may include: an RF module; and a processor connected with the RF module, wherein, upon receiving feedback messages corresponding to failed data from a plurality of receivers, the processor may generate a feedback matrix in response to the feedback messages, generate retransmission data by performing network coding on transmission candidate data of the feedback matrix, and transmit the retransmission data to the plurality of receivers.
In the network coding, if the first receiver requesting first data among the transmission candidate data does not request second data, and the second receiver requesting the second data does not request the first data, the first data and the second data may be combined by an XOR operation.
If the plurality of receivers have a degree greater than a maximum number of data units that the communication apparatus can transmit, data from the lowest of the data indices of degree 1 of the plurality of receivers to the data index immediately preceding the lowest of the data indices of degree (maximum number of data units+1) of the plurality of receivers may be selected as the transmission candidate data of the feedback matrix.
If the priority order is defined for data, column vectors of the feedback matrix may be realigned, and if the priority order is defined for receivers, row vectors of the feedback matrix may be realigned.
In accordance with an exemplary embodiment of the present invention, it is possible to ensure reliability and increase transmission efficiency by using a network coding technique applicable to systems with limited transmission resources.
Also, higher efficiency can be achieved by using an algorithm with low complexity when generating retransmission data based on network coding.
In the following detailed description, only certain exemplary embodiments of the present invention have been shown and described, simply by way of illustration. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. Accordingly, the drawings and description are to be regarded as illustrative in nature and not restrictive. Like reference numerals designate like elements throughout the specification.
In the specification, the term “communication apparatus” may designate a terminal, a mobile terminal (MT), a mobile station (MS), an advanced mobile station (AMS), a high reliability mobile station (HR-MS), a subscriber station (SS), a portable subscriber station (PSS), an access terminal (AT), user equipment (UE), and so on, or may include all or some functions of the terminal, the MT, the MS, the AMS, the HR-MS, the SS, the PSS, the AT, the UE.
Further, the term “communication apparatus” may designate a base station (BS), an advanced base station (ABS), a high reliability base station (HR-BS), a node B, an evolved node B (eNodeB), an access point (AP), a radio access station (RAS), a base transceiver station (BTS), a mobile multihop relay (MMR-BS), a relay station (RS) serving as a base station, and a high reliability relay station (HR-RS) serving as a base station, and may include all or some functions of the BS, the ABS, the nodeB, the eNodeB, the AP, the RAS, the BTS, the MMR-BS, the RS, and the HR-RS.
For convenience of description, the term “node” is used hereinafter to denote a communication apparatus; however, it should be noted that the scope of the invention is not limited by the use of this term.
As shown in
In the communication system shown in
A method for the source node to retransmit failed data will be described with reference to
As shown in
As shown in
Next, as shown in
Meanwhile, in accordance with an exemplary embodiment of the present invention, the source node (S) 100 generates retransmission data by a network coding technique using an algorithm with low complexity. This will be described below in detail.
First, the source node (S) 100 receives feedback messages from the multiple destination nodes (n1 and n2) 210 and 220, and then updates a feedback matrix (S310 and S320).
Next, the source node (S) 100 realigns the feedback matrix according to priority order (S330).
If transmission candidate data is bigger than transmittable resource, the source node (S) 100 selects the part to be used for transmission from the feedback matrix (S340).
The source node (S) 100 generates retransmission data from the selected part of the feedback matrix by using a network coding technique (S350).
On the other hand, if the generated retransmission data is smaller than the transmittable resource, the source node (S) 100 adds new data for transmission (S360).
Next, the source node (S) 100 divides total retransmission data into transmission units (S370), and attaches a header containing data information to each transmission unit and sequentially transmits the transmission units (S380).
The steps S310 to S380 of
First, the step S320 of updating a feedback matrix when the source node (S) 100 receives feedback messages from the multiple destination nodes (n1 and n2) 210 and 220 will be discussed.
For the first session in which the source node (S) 100 transmits to the multiple destination nodes (n1 and n2) 210 and 220 for the first time, the feedback matrix consists of messages transmitted from the source node (S) 100 to the multiple destination nodes (n1 and n2) 210 and 220. For the subsequent sessions, the source node (S) 100 updates the feedback matrix upon receipt of feedback messages, i.e., information about data failed to be received by the multiple destination nodes (n1 and n2) 210 and 220. Data received successfully by all the destination nodes (n1 and n2) 210 and 220 and data already transmitted a maximum number of times per data are excluded from the feedback matrix.
As shown in
Next, in the step S330, the source node (S) 100 realigns the feedback matrix according to a priority order. If the priority order is defined for data, the source node (S) 100 realigns the column vectors of the feedback matrix. If the priority order is defined for destination nodes, the source node (S) 100 realigns the row vectors of the feedback matrix. Otherwise, if the priority order is defined for both data and destination nodes, the source node may realign the column vectors first and then the row vectors, or vice versa.
A method for the source node to select the part (transmission candidate data) to be used for actual transmission from the feedback matrix in the step S340 will be discussed in detail. The maximum number of data units that can be transmitted until the next update of the feedback matrix is defined as L, and the number of 1's in a row vector of the feedback matrix is defined as a node degree. If every destination node has a degree no greater than L, the step S340 is omitted. Otherwise, data from the lowest of the data indices of degree 1 of the destination nodes to the data index immediately preceding the lowest of the data indices of degree (L+1) of the destination nodes are selected.
The step S340 will be described with respect to an example of a realigned feedback matrix shown in
In the realigned feedback matrix of
In the step S350, the source node performs network coding on the selected part (transmission candidate data) of the feedback matrix by the algorithm of
A method of generating retransmission data from the feedback matrix of
First, the step S710 is performed to initialize the feedback matrix, as shown in
Next, the step S750 is applied to d3 according to the step S740. The step S740 is applied again because n1 requesting d3 has requested d1. The step S750 is applied to d4 according to the step S740. Once the step S750 is performed on d4, n2 requesting d4 has requested d2 included in {circumflex over (D)}c1, and therefore the step S760 is not performed. Since there is no more data to check, the next step S720 is performed.
d3, which is not an element of {circumflex over (D)}, is selected in the step S720, and c2=d3 in the step S740. d3 is included in {circumflex over (D)}c2. Next, the step S750 is applied to d1 according to the step S740. According to the step S750, n1 requesting d1 has requested d3 included in {circumflex over (D)}c2, and therefore the routine goes back to the step S740. The step S750 is applied to d2 according to the step S740. Accordingly, because n2 requesting d2 has requested d3 included in {circumflex over (D)}c2, the algorithm goes back to the step S740. Next, the step S750 is applied to d4. Accordingly, the step S720 is performed again since there is no more data to check after n2 requesting d4 has requested d3 included in {circumflex over (D)}c1.
D4, which is not an element of {circumflex over (D)}, is selected in the step S720, and c3=d4 in the step S740. D4 is included in {circumflex over (D)}c3. Next, the step S750 is applied to d1 according to the step S740. According to the step S750, n1 requesting d1 has not requested d4 included in {circumflex over (D)}c3, and therefore the step S760 is performed. Accordingly, c3=c3⊕d1=d4⊕d1, and d1 is included in {circumflex over (D)}c3. Since only n1 has requested d1, the step S740 is performed according to the step S770. Next, the step S740 is applied to d2. According to the step S750, n2 requesting d2 has requested d3 included in {circumflex over (D)}c3, and therefore the step S740 is performed again. Next, the step S750 is applied to d3. Accordingly, the step S720 is performed again since there is no more data to check after n2 requesting d3 has requested d4 included in {circumflex over (D)}c3. Hereupon, the step S720 is performed on all the data to finish the algorithm.
Accordingly, when the algorithm shown in
Next, the step S360 of
The step S370 of
Lastly, in the step S380 of
Referring to
In accordance with an exemplary embodiment of the present invention, it is possible to ensure reliability and increase transmission efficiency by using a network coding technique applicable to systems with limited transmission resources. Also, higher efficiency can be achieved by using an algorithm with low complexity when generating retransmission data based on network coding.
While this invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims
1. A data transmission method of a communication apparatus, the method comprising:
- receiving a feedback message corresponding to failed data from receivers;
- generating a feedback matrix in response to the feedback message;
- selecting transmission candidate data from the feedback matrix;
- performing network coding on the transmission candidate data; and
- transmitting retransmission data generated by the network coding to the receivers.
2. The method of claim 1, wherein the selecting of transmission candidate data comprises: if the receivers have a degree greater than a maximum number of data units that the communication apparatus can transmit, selecting data from the lowest of data indices of degree 1 of the receivers to the data index immediately preceding the lowest of the data indices of degree (maximum number of data units+1) of the receivers.
3. The method of claim 1, wherein data received successfully by all the receivers and data already transmitted a maximum number of times per data are excluded from the feedback matrix.
4. The method of claim 1, further comprising realigning the feedback matrix according to a priority order.
5. The method of claim 4, wherein
- the realigning comprises:
- if the priority order is defined for data, realigning column vectors of the feedback matrix; and
- if the priority order is defined for receivers, realigning row vectors of the feedback matrix.
6. The method of claim 1, wherein
- in the network coding,
- if the first receiver requesting first data among the transmission candidate data, does not request second data, and the second receiver requesting the second data does not request the first data, the first data and the second data are combined by an XOR operation.
7. The method of claim 1, wherein
- the transmitting of retransmission data to the receivers comprises:
- dividing the retransmission data into transmission units; and
- attaching a header containing data information to each transmission unit and transmitting the transmission units to the receivers.
8. The method of claim 7, wherein the header comprises the total number of data units, the degree of each data unit, and the index of each data unit.
9. The method of claim 1, further comprising, if the receivers have a degree less than the maximum number of data units that the communication apparatus can transmit, adding new data in an amount equal to the difference between the maximum number of data units and the maximum degree of the receivers.
10. A communication apparatus comprising:
- an RF module; and
- a processor connected with the RF module,
- wherein, upon receiving feedback messages corresponding to failed data from a plurality of receivers, the processor generates a feedback matrix in response to the feedback messages, generates retransmission data by performing network coding on transmission candidate data of the feedback matrix, and transmits the retransmission data to the plurality of receivers.
11. The communication apparatus of claim 10, wherein, in the network coding, if the first receiver requesting first data among the transmission candidate data does not request second data, and the second receiver requesting the second data does not request the first data, the first data and the second data are combined by an XOR operation.
12. The communication apparatus of claim 10, wherein, if the plurality of receivers have a degree greater than a maximum number of data units that the communication apparatus can transmit, data from the lowest of the data indices of degree 1 of the plurality of receivers to the data index immediately preceding the lowest of the data indices of degree (maximum number of data units+1) of the plurality of receivers is selected as the transmission candidate data of the feedback matrix.
13. The communication apparatus of claim 10, wherein, if the priority order is defined for data, column vectors of the feedback matrix are realigned, and if the priority order is defined for receivers, row vectors of the feedback matrix are realigned.
Type: Application
Filed: Oct 11, 2013
Publication Date: Apr 17, 2014
Applicant: Electronics and Telecommunications Research Institute (Daejeon)
Inventors: Jung Hyun KIM (Daejeon), Jihyung KIM (Daejeon), Hyun-jae KIM (Incheon), Kwang Jae LIM (Daejeon), DongSeung KWON (Daejeon)
Application Number: 14/052,028