WO2010096648A2 - Network coding relay operations - Google Patents
Network coding relay operations Download PDFInfo
- Publication number
- WO2010096648A2 WO2010096648A2 PCT/US2010/024725 US2010024725W WO2010096648A2 WO 2010096648 A2 WO2010096648 A2 WO 2010096648A2 US 2010024725 W US2010024725 W US 2010024725W WO 2010096648 A2 WO2010096648 A2 WO 2010096648A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- buffer
- packets
- network coding
- new packet
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/155—Ground-based stations
- H04B7/15521—Ground-based stations combining by calculations packets received from different stations before transmitting the combined packets as part of network coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/24—Radio transmission systems, i.e. using radiation field for communication between two or more posts
- H04B7/26—Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
- H04B7/2603—Arrangements for wireless physical layer control
- H04B7/2606—Arrangements for base station coverage control, e.g. by using relays in tunnels
-
- 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/0041—Arrangements at the transmitter end
-
- 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
- H04L27/00—Modulated-carrier systems
- H04L27/18—Phase-modulated carrier systems, i.e. using phase-shift keying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/32—Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
- H04L27/34—Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
- H04L27/3405—Modifications of the signal space to increase the efficiency of transmission, e.g. reduction of the bit error rate, bandwidth, or average power
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/32—Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
- H04L27/34—Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
- H04L27/345—Modifications of the signal space to allow the transmission of additional information
-
- 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
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0097—Relays
Definitions
- This application is related to wireless communications.
- LTE Long Term Evolution
- HSDPA High Speed Downlink Packet Access
- Network coding allows a relay node (RN) to reduce the air interface utilization by one time slot because upon receipt of packets from two end nodes (ENs), the RN creates a single m-bit packet p that may be obtained as a bit-wise XOR of the received packets. RN then forwards p to both ENs, ENl and EN2. ENl recognizes pi sent by ENl and therefore, upon reception of p, ENl bit-wise XORs pi and p that results in p2 sent by EN2. EN2 obtains pi from p2 and p in the same way.
- This approach to network coding provides air interface savings in relaying data but the above example ignores several issues that may arise during real-world transmission. Moreover, these issues are not adequately addressed in the art today.
- ENl and EN2 transmit are often different sizes, thus the bit- wise XOR operation is not well defined in this case and may lose much of the efficiency apparent in the simple example above.
- Second issue Different transmission rates. ENl and EN2 often transmit at different packet rates. For example, if ENl is transmitting at a higher rate, not all of ENl's packet can be network coded— there are simply more of ENl's packets at the RN than EN2's packets. Depending on latency constraints, the scheduler may be able to cause same time transmission. There is a penalty because — especially during Below Rooftop (BRT) deployment — it must then give up some opportunistic gain.
- BRT Below Rooftop
- relay When relay is used herein, such a relay is preferentially (but not necessarily) part of network infrastructure. For such a relay, it is common to distinguish between a deployment below or above the roof top lines (abbreviated as BRT and ART respectively) since the wireless signal propagation differs significantly between the two cases.
- the transmitter discards a packet once it receives an acknowledgement of its reception by a receiver. For example, when ENl sends pi to RN, ENl discards pi either upon receiving an ACK from RN, or upon transmission (if the operation is unacknowledged).
- ENl sends pi to RN
- ENl discards pi either upon receiving an ACK from RN, or upon transmission (if the operation is unacknowledged).
- transmitted packets pi and p2 need to be kept in buffers by ENl and E2. This introduces additional burden on the MAC that manages the buffer and also overly taxes resources with increased buffer size..
- a transmitter EN does not implicitly know which of its transmitted packets were combined into a network coded packet at the relay node RN. There needs to be a method for the RN to indicate to each EN that it network- encoded the EN's packet. This issue is related to the previous one because this packet must still be in the MAC buffer at the time that a network coded packet is received. Otherwise, network decoding will fail.
- HARQ Repeat reQuest
- This method may include: receiving a new packet at the RN from one of the ENs; determining the source node of the new packet at the RN; providing a buffer for each EN; determining whether the buffer associated with an EN that is not the source of the new packet (non- source buffer) has the new packet buffered and based upon such determination, either: (1) storing the new packet in the EN buffer that is the source of the new packet on a condition that the non- source buffer is empty; or (2) network coding the new packet with an existing packet in the non- source buffer.
- FIG. 1 shows a LTE wireless communication system/access network.
- FIG. 2 is an exemplary block diagram of an LTE wireless communication system.
- FIG. 3 shows the interaction between the ENs and the RN.
- FIG. 4 shows High-Speed Downlink Shared Channel (HS-DSCH) channel encoding chain for a combined packet.
- HS-DSCH High-Speed Downlink Shared Channel
- FIG. 5 shows Simple Quadrature Phase Shift Keying (QPSK) modulation alphabet.
- FIG. 6 shows general network coding at modulation process.
- FIG. 7 shows Relay Node (RN) operation under a method 1 with two End Nodes (ENs).
- FIG. 8 shows single buffer RN operation.
- FIG. 9 shows RN operation under a method Ia with 2 ENs.
- FIG. 10 shows RN operation under a method Ic with 2 ENs.
- FIG. 11 shows a network coding operation.
- FIG. 12 shows an infinite square lattice including a sub-lattice.
- wireless transmit/receive unit includes but is not limited to a user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a pager, a cellular telephone, a personal digital assistant (PDA), a computer, or any other type of device capable of operating in a wireless environment.
- base station includes but is not limited to a Node- B, a site controller, an access point (AP), or any other type of interfacing device capable of operating in a wireless environment.
- FIG. 1 shows an LTE wireless communication system/access network 200 that includes an Evolved-Universal Terrestrial Radio Access Network (E-UTRAN) 205.
- the E- UTRAN 205 includes a wireless transmit and receive unit (WTRU) 210 and several evolved Node-Bs, (eNBs) 220.
- the WTRU 210 is in communication with an eNB 220.
- the eNBs 220 interface with each other using an X2 interface.
- FIG. 2 is an exemplary block diagram of an LTE wireless communication system 300 including the WTRU 210, the eNB 220, and the MME/S-GW 230. As shown in FIG. 2, the WTRU 210, the eNB 220 and the MME/S-GW 230 may perform MAC and PHY layer operations for network coding relays.
- MME Mobility Management Entity
- S-GW Serving Gate Way
- the WTRU 210 includes a processor 316 with an optional linked memory 322, at least one transceiver 314, an optional battery 320, and an antenna 318.
- the transceiver 314 is in communication with the processor 316 and the antenna 318 to facilitate the transmission and reception of wireless communications.
- a battery 320 is used in the WTRU 210, it powers the transceiver 314 and the processor 316.
- the eNB 220 includes a processor 317 with an optional linked memory 315, transceivers 319, and antennas 321.
- the processors in the system is configured to perform a method of the MAC and PHY layer operations for network coding relays.
- the transceivers 319 are in communication with the processor 317 and antennas 321 to facilitate the transmission and reception of wireless communications.
- the eNB 220 is connected to the Mobility Management Entity/Serving GateWay (MME/S-GW) 230 which includes a processor 333 with an optional linked memory 334.
- MME/S-GW Mobility Management Entity/Serving GateWay
- FIG. 3 generally shows the interaction between the End Nodes
- ENs ENl and EN2 and the Relay Node (RN) in a wireless network.
- ENl may be an evolved eNodeB and EN2 may be a WTRU or vice versa with the link direction changing, i.e. DL to UL and UL to DL.
- the RN receives the packets pi and p2 from the ENs and creates a combined packet p data stream by network coding based upon the methods described herein and optimizes the Medium Access Control (MAC) and Physical (PHY) Layer operations for network coding.
- MAC Medium Access Control
- PHY Physical
- nodes may relay information between other network nodes using network coding.
- One such simple setup includes 3 nodes as shown in FIG. 3: an End Node 1 (ENl), an End Node 2 (EN2), and a Relay Node (RN).
- the term 'relay' may refer to a relay node, or an intermediary network node that may provide a link between a Node-B and a WTRU, which could be considered end nodes (ENs).
- ENl needs to transmit a packet pi of size m bits to EN2, while at the same time, EN2 needs to transmit a packet p2 of the same size (m bits) to ENl.
- ENl and EN2 use the RN to send and receive data. As described in this simple communications example, this communication process requires at least the following steps: (1) ENl sends pi to RN; (2) EN2 sends p2 to RN; (3) RN sends pi to EN2; and (4) RN sends p2 to ENl. [0039] 1. Network coding
- This section discusses network coding packets of unequal length.
- the network coding may be used to combine the packets in one of the following ways.
- pi is a packet of 11 bits and p2 is a packet of 12 bits, where 11>12.
- the packet p2 may be zero- padded to increase its length to 12 bits.
- the resulting combined packet p has a length 211 and can be XORed to extract pi and p2 from p.
- an XOR operation 401 may be performed at any step from the original source packet receipt 401 to the beginning of the Turbo encoding block 405. XORing can be performed before and after the CRC block 402 without significant difference.
- FIG. 4 shows an example of XORing information bits before the CRC attachment 402.
- the High-Speed Downlink Shared Channel (HS-DSCH) encoding steps include CRC attachment 402, bit scrambling 403, code block segmentation 404, turbo coding 405, and then the HARQ bit separation 406, 1 st rate matching 407, Buffer 408, and 2 nd rate matching 409, physical channel segmentation 410, and interleaving, modulation, and channel mapping 411.
- the XOR operation 401 may also be performed at any step from the output of the Turbo encoding 405 to the buffer 408. Since all transmitted packets in HSDPA are automatically stored in the buffer 408, it may be convenient to XOR the bits of the two missing packets which are stored in the IR buffer. [0048] XORing packets pi and p2 of different sizes into packet p may face performance challenges as packet sizes increases. The challenge may be alleviated partially using rate matching (puncturing and/or repetition). For example, puncturing is the process of removing some parity bits after encoding with an error- correction code. This has the same effect as encoding with an error- correction code with a higher rate, or less redundancy.
- rate matching may be used to equalize the number of coded bits associated with two source packets of unequal length. But puncturing and repetition in excessive amounts (e.g. by a factor of two or more) may severely degrade link performance.
- pi may be modulated using the full quadrature phase shift keying (QPSK) modulation alphabet (or other suitable modulation code) as shown in FIG. 5 (resulting in 2 bits per modulation symbol).
- QPSK quadrature phase shift keying
- p2 is modulated using 1 of 2 binary phase shift keying (BPSK) sub-modulation alphabets available in the QPSK modulation alphabet. For example, symbols 0 and 2 may be used for modulation of p2.
- BPSK binary phase shift keying
- the network coding combination scheme might be as follows: let Si,i be the i th modulation symbol for pi and Si,2 be the i th modulation symbol for p2. Then the output modulation symbol is given by
- the output modulation scheme is fixed at QPSK — more specifically, it is fixed by design. Moreover, the output remains balanced, that is, each symbol occurs at the output with equal probability (assuming equiprobable bits at each input bit stream).
- the receiver of packet pi (which knows p2) cancels out p2 and benefits from simple QPSK modulation.
- the receiver of packet p2 (which knows pi) cancels out pi and benefits from simple BPSK modulation. In particular, this receiver enjoys a 3 dB channel SNR difference after the removal of contribution from pi.
- the modulation scheme may to be fixed:
- the output may retain all the necessary symmetries in the complex plane to avoid I/Q imbalance, DC offset and other issues (in particular, circular symmetry around the origin and symmetry around the I and Q axis). While an equiprobable output is targeted, this may not always be possible and the symmetry maintenance requirement above is sufficient to ensure low impact on performance and operation of most systems.
- the receiver of the lower-rate packet should benefit from an SNR improvement roughly equal to the ratio of the rates between the higher rate and the lower rate packet.
- An M-PSK modulation scheme may be described as one whose alphabet consists of the following points in the complex plan
- a M _ PSK 0 ⁇ ...,M -l
- M is a positive integer (where it is sufficient to consider
- M points are placed equidistantly around a unit circle in the complex (I/Q) plane.
- the fixed angle ⁇ controls the angular rotation of the modulation.
- Modulation mapping is the process of mapping the bit stream into values 0, 1, ... M-I.
- Mi and M2 be factors of M (i.e. Mi and
- M2 divide M). Then the following modulation alphabets define sub-modulation with index i and M 1 value of M-PSK:
- ni2 may be mapped into a proper M 2 - PSK constellation thus retaining all the required symmetry properties. Similarly the receiver with knowledge of ni2 may recover mi.
- the output of the transmitter may be mapped into a PSK constellation with the number of symbols equal to the least common divisor of Mi and M 2 (LCD(Mi, M 2 )). Because, M ⁇ LCD(Mi, M 2 ), this is either the M-PSK constellation or a proper sub-constellation of M-PSK.
- each sub- modulation is has an alphabet ⁇ 0, ..., M 1 -I), (associated with sub-lattice i) such that M 1 divides M. Make sure the full lattice is labeled such that each
- the resulting modulation symbol is always a point in the mother lattice and the result is balanced.
- the modulation is always constrained to the sub- lattice and therefore carried the benefit of the improved minimum distance of that sub-lattice. For example receiver 1 upon observing m, can remove the
- nested lattices which is a lattice that contains a sub-lattice that is self-similar to the "mother lattice”— i.e. it is just a scaled up version of the mother lattice. Modulation alphabets defined by restricting such sub-lattices will also contain self-similar sub-alphabets (provided the restriction is done properly). This is illustrated using a square lattice as shown in FIG.
- FIG. 12 depicts an infinite square lattice 700 showing a sub- lattice composed of diagonally cross hatched points depicted as elements 702 and vertically hatched points depicted as elements 708.
- Sub-lattice points of the resulting 16-QAM constellation are a (DC-shifted) QPSK constellation. The DC shift is easily corrected as part of "network-decoding.”
- each sub-lattice point With each sub-lattice point, a set of points in it' "neighborhood" can be associated-i.e. a coset of that sub-lattice.
- a coset is depicted by the element 706 containing four such sub-lattice points.
- Each coset is therefore in a 1-to-l relationship with a single sub-lattice point, which is called as the coset center, even if it is "visually" not in the center of the coset.
- the network coding process proceeds as follows. Suppose first that the first stream requires the use of full modulation alphabet, while the second stream is lower rate and requires the use of a (restricted) sub-lattice. The process then proceed as follows:
- the two streams of the same rate are network coded. This may be done in several ways: A traditional bit- wise XOR or more generally any map which maps a pair of sub-lattice points to a new sub-lattice point and is invertible when one of the two original arguments is given.
- MAC Medium Access Control
- FIG. 7 illustrates this method in a flowchart for two End Nodes
- a relay node buffers at most one packet for each EN.
- the RN network codes the buffered packet with the newly received one. If the RN receives a packet from an EN for which it has a packet buffered already, it replaces the older packet with the new one. The packet being discarded from the buffer still needs to be delivered to its intended EN-and is therefore transmitted by itself, with no network coding.
- FIG. 7 shows relay node (RN) operation starting with the RN's receipt of a new packet 101.
- the RN determines the source of the packet (ENl or EN2) 102 and looks to the buffer associated with the other destination EN 103a, 103b (the non- source buffer). If this buffer is empty, the received packet is stored in the source RN buffer.
- the source RN buffer may or may not be empty; if it is not empty the new packet replaces the buffer content and the old packet is sent out without network coding 104a, 104b. If the buffer contains a packet, the two packets are XORed and the buffer for the other EN is emptied 105a, 106a, 105b, 106b.
- the RN then awaits the next received packet 107.
- This process assumes that no two packets are ever received simultaneously, however if this occurs (i.e. two packets-one from ENl and one from EN2 are received at the RN at the same time), one of the packets is arbitrarily assumed to have been received first.
- the method can be modified so that only one buffer is kept and thus the step 102 from FIG. 7's method is eliminated (as well as the corresponding steps related to the second EN), which results in the modified flowchart of FIG. 8 that shows similar steps as FIG. 7's: receiving a new packet 201, checking the buffer 203, buffering and sending 204 or network coding 205 and emptying buffer 206, and finally awaiting more packets 207.
- the method shown in FIG. 8 has an advantage of having a minimal buffer size; however it provides no ability for the RN to choose packets for network coding that may be most appropriate-for example packets that may be of roughly equal size. [0090] Such an ability can be achieved through the modification of the method in FIG. 7. In such a modified method, the RN buffers multiple packets for each EN. The packets contain headers or other means of identification that uniquely identify their contents. If the RN receives a packet from an EN for which it has packets already, it sends the oldest packet out without network coding and buffers the new one in.
- the new packet can be either: (1) coded with some packet from EN2 and only buffer in the ENl buffer if the EN2 buffer is empty (Method Ia), or (2) buffered automatically and then look over the packets in the ENl and EN2 buffer and choose the best pair of ENl and EN2 packets to network code (a packet may be matched as soon as it arrives, in which case it does not have to be buffered) .
- FIG. 9 summarizes the Method Ia.
- the RN determines the source of the packet (ENl or EN2) 102 and looks to the buffer associated with the other EN.
- the received packet is stored in the source RN buffer 122a, 122b. If the buffer for the other EN contains one or more packets, the RN selects the packet that is closest in size (optionally on a condition that the size difference does not exceed a given value) 124a. The two packets are XORed and the previously stored packet is removed from this buffer 126a.
- the two buffers may be replaced with a single buffer per pair with the following modifications: (1) The buffer may buffer more than one packet; and (2) When a packet from a buffer is used, the buffer may not be emptied— rather only that packet is removed.
- both the EN buffers may contain packets. This is different from the methods of FIGS. 7 and 8.
- there would not likely be any substitution of a single buffer (as in FIG. 8).
- a single buffer can be created for a pair of ENs, but it does not produce a factor of 2 savings in storage that are realized in going from FIG. 7 to FIG. 8 because of the increased buffer storage required.
- the single buffer requires that the packets in the buffer be labeled with their source EN, which in effect creates multiple EN buffers implemented as a single actual one.
- Multi-packet buffers in Method Ia or Method Ib address the problem of mismatched packets size but may suffer from delays.
- a packet from an EN may be delayed by the RN for an unreasonably long time - which may have a negative impact both on system performance and the buffer size required at the RN and at the ENs. This problem is address through a further improvement described below.
- the RN should send out the packets that have been stored for a predetermined longer time, either without XORing with another packet or XORing with a packet of an unmatched size. This alternative balances the bandwidth performance (or efficiency of network coding) and storage requirements.
- the method is illustrated in FIG. 10. Once the RN receives a packet, it first deals with the new packet as in Method Ia or Ib and shown in steps 101, 102, 107, 120, 122, 124, and 126.
- this process can be modified as follows by replacing the step 128a, 128b with a step that asks: "Does ENl (or EN2) buffer have a packet Ci (or C2) older than the new packet or is ENl (or EN2) buffer full?"
- the RN receives a packet from the EN 1 , it proceeds match it and code it or buffer it, as per Method Ia or Ib. If the incoming packet is matched (and network coded, as opposed to buffered), the matching procedure takes into account both the length of the packets (prefers packets of more similar lengths) and the duration of time that a packet has been kept (prefers to match with older packets).
- g(x) is a function that takes an integer value (packet age) and produces a value between 0 and 1, the closer to 1 the older the packet.
- g(x) l-exp(-x) is one such function.
- av(x,y) is a functions that take two values between 0 and
- f(x,y) is a function that takes two positive integer values ix, and is a function that takes two positive integer values x,y (packet length) and produces a value between 0 and 1 which increases the closer the packets get in length.
- the RN did not receive a packet for a certain time length T_out (usually predefined by the network design and should depend on the allowed roundtrip time), then it proceeds to match and transmit the already buffered packets (starting with the oldest one) either with or without network coding, matching these by length where possible.
- T_out usually predefined by the network design and should depend on the allowed roundtrip time
- the network coded packet must be a code of only two original packets (so that each receiving terminal does not know only one of the source packets coded into any network coded one).
- the RN must pair up the ENs into network coded pairs. Such pairing may be static (i.e. two ENs are paired with each other as a matter of link or RN configuration) or dynamic (on a packet-by-packet basis).
- the EN contains two MAC packet buffers (these are "logicaFand can be implemented in any reasonable fashion).
- the first is a standard MAC packet buffer. This contains a queue of packets to be transmitted. Once a packet is transmitted and reception is acknowledged (if acknowledgement is used in the connection), the packet is removed from this buffer.
- the transmitted packet is discarded.
- the packet is placed into the network coding buffer.
- the buffer contains N packets and when a new packet needs to be placed in the buffer— and the buffer is full— the oldest is deleted (thus the buffer may be implemented as a First In First Out (FIFO) /queue). Other operations on the buffer as well as how its size (N) is determined are discussed below.
- FIFO First In First Out
- the base approach for RN is used.
- the RN buffers at most one (1) packet from each EN. If the transmission and reception processing of packets at the EN and RN were instantaneous, a single packet queue at the EN would suffice. Unfortunately, the packet processing is not instantaneous.
- the "network coding" delay is, in other system this is unknown, except for some specified upper limit.
- the EN needs to buffer more than one packet.
- each packet pi, p2 is assigned a Network Coding Index (NCI) by the EN's MAC 502a, 502b.
- NCI Network Coding Index
- the NCI should have a modulus equal to (or greater then) the network coding buffer size that the EN is required to keep (i.e. modulus greater than or equal to N) and the EN may buffer the packet pi, p2 before transmission to the RN 504a, 504b.
- the packet 506 it includes the following information in the header of the network coded packet: (1) The address of the first destination EN and the NCI of that ENs packet that was coded; and (2) The address of the second destination EN and the NCI of that ENs packet that was coded. It does this at step 507 before transmission of the combined packet.
- the EN upon receiving a network coded packet p2 intended for it, looks up its own packet using the NCI and uses this for network decoding 508a, 508b. Upon successfully network decoding, the packet is removed from the buffer 510a, 510b.
- This approach can be extended to a case of more than 2 ENs and the various operational modes where the RN requires more than one packet buffer. For example, suppose that the RN stores at most M packets from each EN. The value of M is determined based on the system parameters. Each EN then, needs to have N>M packet storage in its network coding buffer with N-M greater than the latency required for processing and transmission. The NCI is used as above. The operation does not depend on the total number of ENs in the system, except that this may impact the computation of M. The packet reception and decoding proceeds as above and when a packet in an ENs buffer has been used for network decoding, it is removed from the buffer.
- ROM read only memory
- RAM random access memory
- register cache memory
- semiconductor memory devices magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks, and digital versatile disks (DVDs).
- Suitable processors include, by way of example, a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs); Field Programmable Gate Arrays (FPGAs) circuits, any other type of integrated circuit (IC), and/or a state machine.
- DSP digital signal processor
- ASICs Application Specific Integrated Circuits
- ASSPs Application Specific Standard Products
- FPGAs Field Programmable Gate Arrays
- a processor in association with software may be used to implement a radio frequency transceiver for use in a wireless transmit receive unit (WTRU), user equipment (UE), terminal, base station, Mobility Management Entity (MME) or Evolved Packet Core (EPC), or any host computer.
- WTRU wireless transmit receive unit
- UE user equipment
- MME Mobility Management Entity
- EPC Evolved Packet Core
- the WTRU may be used in conjunction with modules, implemented in hardware and/or software including a Software Defined Radio (SDR), and other components such as a camera, a video camera module, a videophone, a speakerphone, a vibration device, a speaker, a microphone, a television transceiver, a hands free headset, a keyboard, a Bluetooth® module, a frequency modulated (FM) radio unit, a Near Field Communication (NFC) Module, a liquid crystal display (LCD) display unit, an organic light-emitting diode (OLED) display unit, a digital music player, a media player, a video game player module, an Internet browser, and/or any Wireless Local Area Network (WLAN) or Ultra Wide Band (UWB) module.
- SDR Software Defined Radio
- other components such as a camera, a video camera module, a videophone, a speakerphone, a vibration device, a speaker, a microphone, a television transceiver, a hands free headset, a keyboard
- ENs ENs
- RN Relay Node
- the method performed at the RN, the method comprising: receiving a new packet at the RN from one of the ENs as a source node; determining the source node of the new packet at the RN; providing a buffer for each EN; and determining whether the buffer associated with the EN that is not the source of the new packet (non-source buffer) has the new packet buffered, and based upon such determination, either: storing the new packet in the EN buffer that is the source of the new packet
- source buffer or network coding the new packet with an existing packet in the non- source buffer.
- the RN has existing packets stored, the RN sends an oldest packet out without network coding and buffers the new packet in the source EN buffer, or the new packet is network coded with a packet from the non- source buffer and if the non- source buffer is empty, the new packet is buffered in the source EN buffer that sent the new packet.
- packet rating is based upon the scoring packets between 0 and 1, where 1 is considered to be a matched packet and 0 is an unmatched packet, and the score is determined by the relation: where: f(lengthl, Iength2) is a function that takes two positive integer values and produces a value between 0 and 1 which increases as the packets get closer in length; g(buffered age) is a function that takes an integer value and produces a value between 0 and 1, the closer to 1 the older the packet; av is a function that take two values between 0 and 1 and produces an averaged value.
- a method of embodiments 7-13 wherein on a condition that the RN does not receive a packet from an EN for a certain length of time, the method further comprising: transmitting already-buffered packets starting with an oldest packet either with or without network coding.
- N Network Coding Index
- a method for combining packets comprising:
- the method further comprising: modulating pi using Quadrature Phase Shift Keying (QPSK) modulation alphabet resulting in 2 bits per modulation symbol; modulating p2 using 1 of 2 Binary Phase Shift Keying (BPSK) sub-modulation alphabets available in the QPSK modulation alphabet and modulating p2 using 1 bit per channel symbol such that both pi and p2 are then modulated into m modulation symbols.
- QPSK Quadrature Phase Shift Keying
- BPSK Binary Phase Shift Keying
- network coding is achieved by: a bit-wise XOR; and any map that maps a pair of sub-lattice points to a new sub-lattice point and is invertible when one of the two original streams is given.
- a method for network coding packets at a wireless network relay node comprising: receiving a new packet at the RN; identifying an end node (EN) that is the source of the new packet; determining whether a buffer associated with an EN that is the destination for the new packet has the new packet buffered and based upon such determination, either: storing the new packet in an EN buffer associated with the source of the new packet on a condition that the destination EN buffer is empty; or network coding the new packet with an existing packet in the destination EN buffer.
- ENs ENs
- RN Relay Node
- the method performed at the RN, the method comprising: receiving a new packet at the RN from one of the ENs; providing a single buffer for the ENs; determining whether the buffer contains a packet from the EN that transmitted the new packet and depending on the outcome of that determination, either: storing the new packet in the buffer and sending out an old packet; or network coding the new packet with an existing packet in the buffer.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method for network coding of packets between End Nodes (ENs) and a Relay Node (RN) in wireless communications can be performed at the RN. This method may include: receiving a new packet at the RN from one of the ENs; determining the source node of the new packet at the RN; providing a buffer for each EN; determining whether the buffer associated with an EN that is not the source of the new packet (non-source buffer) has an existing packet buffered and based upon such determination, either: (1) storing the new packet in the EN buffer that is the source of the new packet on a condition that the non-source buffer is empty; or (2) network coding the new packet with the existing packet in the non-source buffer.
Description
[0001] NETWORK CODING RELAY OPERATIONS
[0002] FIELD OF INVENTION
[0003] This application is related to wireless communications.
[0004] BACKGROUND
[0005] Wireless technologies continue to evolve, mostly driven by the need for reliable higher data rates. One example of this evolution is the next generation of the Third Generation Partnership Project (3GPP) wireless standard known as Long Term Evolution (LTE). Although the current description discusses LTE in detail, the hardware, software, methods, and systems described herein could be used in other wireless settings such as in without limitation, High Speed Downlink Packet Access (HSDPA) systems or WiMaX IEEE 802.x standards.
[0006] Network coding allows a relay node (RN) to reduce the air interface utilization by one time slot because upon receipt of packets from two end nodes (ENs), the RN creates a single m-bit packet p that may be obtained as a bit-wise XOR of the received packets. RN then forwards p to both ENs, ENl and EN2. ENl recognizes pi sent by ENl and therefore, upon reception of p, ENl bit-wise XORs pi and p that results in p2 sent by EN2. EN2 obtains pi from p2 and p in the same way. This approach to network coding provides air interface savings in relaying data but the above example ignores several issues that may arise during real-world transmission. Moreover, these issues are not adequately addressed in the art today.
[0007] First issue: Different packet sizes. The packets pi and p2 that
ENl and EN2 transmit are often different sizes, thus the bit- wise XOR operation is not well defined in this case and may lose much of the efficiency apparent in the simple example above.
[0008] Second issue: Different transmission rates. ENl and EN2 often transmit at different packet rates. For example, if ENl is transmitting at a higher rate, not all of ENl's packet can be network coded— there are simply more of ENl's packets at the RN than EN2's packets. Depending on latency constraints, the scheduler may be able to cause same time transmission. There is a penalty because — especially during Below Rooftop (BRT) deployment — it must then give up some opportunistic gain. In this situation, if the number of bits is different, the gain from network coding diminishes. When relay is used herein, such a relay is preferentially (but not necessarily) part of network infrastructure. For such a relay, it is common to distinguish between a deployment below or above the roof top lines (abbreviated as BRT and ART respectively) since the wireless signal propagation differs significantly between the two cases.
[0009] Third issue: Buffer overuse. The transmitter discards a packet once it receives an acknowledgement of its reception by a receiver. For example, when ENl sends pi to RN, ENl discards pi either upon receiving an ACK from RN, or upon transmission (if the operation is unacknowledged). In order to perform decoding of network coding packets, however, transmitted packets pi and p2 need to be kept in buffers by ENl and E2. This introduces additional burden on the MAC that manages the buffer and also overly taxes resources with increased buffer size..
[0010] Fourth issue: Packet transmission times are not synchronized.
Thus, a transmitter EN does not implicitly know which of its transmitted packets were combined into a network coded packet at the relay node RN. There needs to be a method for the RN to indicate to each EN that it network- encoded the EN's packet. This issue is related to the previous one because this packet must still be in the MAC buffer at the time that a network coded packet is received. Otherwise, network decoding will fail.
[0011] Fifth issue: Addressing of noisy channels and Hybrid Automatic
Repeat reQuest (HARQ). For example, consider the case that a network-coded packet is not received by one of the intended ENs. The appropriate corrective
action requires a different network coding operation at the RN as the EN that has received the packet no longer needs a re-transmission.
[0012] Sixth issue: While network coding is traditionally achieved using bit-wise XOR, in this case such an operation may be sub-optimal as it fails to take full advantage of the opportunities provided by operating in the Physical
Layer of the communication system. Thus, a more sophisticated approach to network coding is desired.
[0013] Hence, what is needed is a method and related apparatus that addresses the obstacles and issues.
[0014] SUMMARY
[0015] A method for network coding of packets between End Nodes
(ENs) and a Relay Node (RN) in wireless communications can be performed at the RN. This method may include: receiving a new packet at the RN from one of the ENs; determining the source node of the new packet at the RN; providing a buffer for each EN; determining whether the buffer associated with an EN that is not the source of the new packet (non- source buffer) has the new packet buffered and based upon such determination, either: (1) storing the new packet in the EN buffer that is the source of the new packet on a condition that the non- source buffer is empty; or (2) network coding the new packet with an existing packet in the non- source buffer.
[0016] BRIEF DESCRIPTION OF THE DRAWINGS
[0017] A more detailed understanding may be had from the following description, given by way of example in conjunction with the accompanying drawings wherein:
[0018] FIG. 1 shows a LTE wireless communication system/access network.
[0019] FIG. 2 is an exemplary block diagram of an LTE wireless communication system.
[0020] FIG. 3 shows the interaction between the ENs and the RN.
[0021] FIG. 4 shows High-Speed Downlink Shared Channel (HS-DSCH) channel encoding chain for a combined packet.
[0022] FIG. 5 shows Simple Quadrature Phase Shift Keying (QPSK) modulation alphabet.
[0023] FIG. 6 shows general network coding at modulation process.
[0024] FIG. 7 shows Relay Node (RN) operation under a method 1 with two End Nodes (ENs).
[0025] FIG. 8 shows single buffer RN operation.
[0026] FIG. 9 shows RN operation under a method Ia with 2 ENs.
[0027] FIG. 10 shows RN operation under a method Ic with 2 ENs.
[0028] FIG. 11 shows a network coding operation.
[0029] FIG. 12 shows an infinite square lattice including a sub-lattice.
[0030] DETAILED DESCRIPTION
[0031] When referred to hereafter, the terminology "wireless transmit/receive unit (WTRU)" includes but is not limited to a user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a pager, a cellular telephone, a personal digital assistant (PDA), a computer, or any other type of device capable of operating in a wireless environment. When referred to hereafter, the terminology "base station" includes but is not limited to a Node- B, a site controller, an access point (AP), or any other type of interfacing device capable of operating in a wireless environment.
[0032] LTE's (as well as other wired and wireless standards) goals include higher spectral efficiencies, lower latency, and higher peak data rates as compared to previous generation of wireless standards. FIG. 1 shows an LTE wireless communication system/access network 200 that includes an Evolved-Universal Terrestrial Radio Access Network (E-UTRAN) 205. The E-
UTRAN 205 includes a wireless transmit and receive unit (WTRU) 210 and several evolved Node-Bs, (eNBs) 220. The WTRU 210 is in communication with an eNB 220. The eNBs 220 interface with each other using an X2 interface. Each of the eNBs 220 interface with a Mobility Management Entity (MME)/Serving Gate Way (S-GW) 230 through an Sl interface. Although a single WTRU 210 and three eNBs 220 are shown in FIG. 1, it should be apparent that any combination of wireless and wired devices may be included in the wireless communication system access network 200. [0033] FIG. 2 is an exemplary block diagram of an LTE wireless communication system 300 including the WTRU 210, the eNB 220, and the MME/S-GW 230. As shown in FIG. 2, the WTRU 210, the eNB 220 and the MME/S-GW 230 may perform MAC and PHY layer operations for network coding relays.
[0034] In addition to the components that may be found in a typical
WTRU, the WTRU 210 includes a processor 316 with an optional linked memory 322, at least one transceiver 314, an optional battery 320, and an antenna 318. The transceiver 314 is in communication with the processor 316 and the antenna 318 to facilitate the transmission and reception of wireless communications. In case a battery 320 is used in the WTRU 210, it powers the transceiver 314 and the processor 316.
[0035] In addition to the components that may be found in a typical eNB, the eNB 220 includes a processor 317 with an optional linked memory 315, transceivers 319, and antennas 321. The processors in the system is configured to perform a method of the MAC and PHY layer operations for network coding relays. The transceivers 319 are in communication with the processor 317 and antennas 321 to facilitate the transmission and reception of wireless communications. The eNB 220 is connected to the Mobility Management Entity/Serving GateWay (MME/S-GW) 230 which includes a processor 333 with an optional linked memory 334.
[0036] FIG. 3 generally shows the interaction between the End Nodes
(ENs) ENl and EN2 and the Relay Node (RN) in a wireless network. In FIG. 3, ENl may be an evolved eNodeB and EN2 may be a WTRU or vice versa with the link direction changing, i.e. DL to UL and UL to DL. The RN receives the packets pi and p2 from the ENs and creates a combined packet p data stream by network coding based upon the methods described herein and optimizes the Medium Access Control (MAC) and Physical (PHY) Layer operations for network coding. It is within this general framework that this description discusses the below methods and systems, although deviations from FIG. 3 are possible.
[0037] In certain wireless networks, nodes may relay information between other network nodes using network coding. One such simple setup includes 3 nodes as shown in FIG. 3: an End Node 1 (ENl), an End Node 2 (EN2), and a Relay Node (RN). When referred to herein, the term 'relay' may refer to a relay node, or an intermediary network node that may provide a link between a Node-B and a WTRU, which could be considered end nodes (ENs). [0038] Consider an example using FIG. 3: ENl needs to transmit a packet pi of size m bits to EN2, while at the same time, EN2 needs to transmit a packet p2 of the same size (m bits) to ENl. ENl and EN2 use the RN to send and receive data. As described in this simple communications example, this communication process requires at least the following steps: (1) ENl sends pi to RN; (2) EN2 sends p2 to RN; (3) RN sends pi to EN2; and (4) RN sends p2 to ENl. [0039] 1. Network coding
[0040] This section discusses network coding packets of unequal length.
There are two approaches described here: network coding before the channel coding (i.e. before the single network coded packet is channel-encoded) and network coding after the channel coding (i.e. two source packets are separately encoded and then the output is network coded).
[0041] The network coding may be used to combine the packets in one of the following ways.
[0042] (1) Zero-pad a shorter packet to the longer packet's length.
Consider an example where pi is a packet of 11 bits and p2 is a packet of 12 bits, where 11>12. To combine packets pi and p2, the packet p2 may be zero- padded to increase its length to 12 bits. The resulting combined packet p has a length 211 and can be XORed to extract pi and p2 from p.
[0043] (2) Perform the summation in the ring of positive integers modulo some maximal value.
[0044] (3) Perform repetition of bits in the packet p2_with the shorter length to match the larger packet pi and then XOR the resulting packets. [0045] (4) Some or all of the above approaches can be used to combine more than two packets at a time.
[0046] With reference to FIG. 4, which shows High-Speed Downlink
Shared Channel (HS-DSCH) channel encoding steps, an XOR operation 401 may be performed at any step from the original source packet receipt 401 to the beginning of the Turbo encoding block 405. XORing can be performed before and after the CRC block 402 without significant difference. FIG. 4 shows an example of XORing information bits before the CRC attachment 402. The High-Speed Downlink Shared Channel (HS-DSCH) encoding steps include CRC attachment 402, bit scrambling 403, code block segmentation 404, turbo coding 405, and then the HARQ bit separation 406, 1st rate matching 407, Buffer 408, and 2nd rate matching 409, physical channel segmentation 410, and interleaving, modulation, and channel mapping 411. [0047] The XOR operation 401 may also be performed at any step from the output of the Turbo encoding 405 to the buffer 408. Since all transmitted packets in HSDPA are automatically stored in the buffer 408, it may be convenient to XOR the bits of the two missing packets which are stored in the IR buffer.
[0048] XORing packets pi and p2 of different sizes into packet p may face performance challenges as packet sizes increases. The challenge may be alleviated partially using rate matching (puncturing and/or repetition). For example, puncturing is the process of removing some parity bits after encoding with an error- correction code. This has the same effect as encoding with an error- correction code with a higher rate, or less redundancy. With puncturing, however, the same decoder can be used regardless of how many bits have been punctured, thus puncturing considerably increases the flexibility of the system without significantly increasing its complexity. No matter what rate matching method is used, rate matching may be used to equalize the number of coded bits associated with two source packets of unequal length. But puncturing and repetition in excessive amounts (e.g. by a factor of two or more) may severely degrade link performance.
[0049] A. Network coding the coded packets
[0050] Using modulations of high order to allow for equalization of packets of different length to overcome the problems described is provided here. This approach allows for "coarse" equalization-fine equalization is then accomplished by standard rate matching techniques. The coarse approach as described may equalize packets to within a factor of two. Moreover, the coarse equalization approach is designed to increase the effective Signal-to-Noise- Ratio (SNR) afforded to the lower-rate packet, thus maximizing the performance advantage that can be delivered to a link. [0051] i. QPSK and BPSK
[0052] As an example, consider a requirement to network code two packets: pi and p2, and suppose p2 contains m (coded- and rate-matched) bits, while pi contains 2m bits, pi may be modulated using the full quadrature phase shift keying (QPSK) modulation alphabet (or other suitable modulation code) as shown in FIG. 5 (resulting in 2 bits per modulation symbol). p2 is modulated using 1 of 2 binary phase shift keying (BPSK) sub-modulation alphabets available in the QPSK modulation alphabet. For example, symbols 0
and 2 may be used for modulation of p2. Thus, p2 is modulated using 1 bit per channel symbol and both pi and p2 are then modulated into m modulation symbols.
[0053] Assume these packets now need to be combined (network coded).
The network coding combination scheme might be as follows: let Si,i be the ith modulation symbol for pi and Si,2 be the ith modulation symbol for p2. Then the output modulation symbol is given by
Si = (si,i + Si,2) mod 4 [1]
The general process as illustrated by the example is shown in FIG. 6. [0054] The following three observations can be made about the example.
First, the output modulation scheme is fixed at QPSK — more specifically, it is fixed by design. Moreover, the output remains balanced, that is, each symbol occurs at the output with equal probability (assuming equiprobable bits at each input bit stream). Second, the receiver of packet pi (which knows p2) cancels out p2 and benefits from simple QPSK modulation. Third, the receiver of packet p2 (which knows pi) cancels out pi and benefits from simple BPSK modulation. In particular, this receiver enjoys a 3 dB channel SNR difference after the removal of contribution from pi.
[0055] This approach can be extended beyond just BPSK/QPSK to more general modulation schemes, while recognizing certain issues to arrive at a design that offers good performance.
[0056] First, the modulation scheme may to be fixed: The output may retain all the necessary symmetries in the complex plane to avoid I/Q imbalance, DC offset and other issues (in particular, circular symmetry around the origin and symmetry around the I and Q axis). While an equiprobable output is targeted, this may not always be possible and the symmetry maintenance requirement above is sufficient to ensure low impact on performance and operation of most systems.
[0057] Second, the receiver of the lower-rate packet should benefit from an SNR improvement roughly equal to the ratio of the rates between the higher rate and the lower rate packet.
[0058] The QPSK/BPSK example above achieves these two goals but a broader range of communication system designs are possible while achieving the design goals, and some of these designs are discussed herein.
[0059] ii. M-PSK
[0060] An M-PSK modulation scheme may be described as one whose alphabet consists of the following points in the complex plan
[2]
[0061] where M is a positive integer (where it is sufficient to consider
M>4).
[0062] In other words, M points are placed equidistantly around a unit circle in the complex (I/Q) plane. The fixed angle φ controls the angular rotation of the modulation. Modulation mapping is the process of mapping the bit stream into values 0, 1, ... M-I. Let Mi and M2 be factors of M (i.e. Mi and
M2 divide M). Then the following modulation alphabets define sub-modulation with index i and M1 value of M-PSK:
[0065] The operation of network coding at the modulation level is accomplished as follows: (1) Given integers W1 e (0,1,...,M1 - 1} and W2 e (0,1,...,M2 - 1} representing the desired modulation symbols for 2 streams
M M to be network coded, (2) Compute m = mx h m2 and map m into the M-
M1 M2
PSK constellation according to [2].
[0066] Upon reception of a modulation symbol m, and with knowledge of mi, a receiver may recover ni2. Moreover ni2 may be mapped into a proper M2- PSK constellation thus retaining all the required symmetry properties. Similarly the receiver with knowledge of ni2 may recover mi. [0067] The output of the transmitter may be mapped into a PSK constellation with the number of symbols equal to the least common divisor of Mi and M2 (LCD(Mi, M2)). Because, M≥LCD(Mi, M2), this is either the M-PSK constellation or a proper sub-constellation of M-PSK.
[0068] To extend this to a more general set of rates between the two inputs, a similar process can be used for M-PSK case as follows: [0069] (1) Label the full lattice with integer labels from the set {0, ..., M-
1} - which is the transmission alphabet for the full modulation. Each sub- modulation is has an alphabet {0, ..., M1-I), (associated with sub-lattice i) such that M1 divides M. Make sure the full lattice is labeled such that each
M coset center has a label m , Hi=O5I5...,M1-I.
M1
[0070] (2) Network code as follows. Input stream i, take on values
In1G(O,].,...,M1-I). The modulation code for any two streams (e.g. streams 1 and 2) is derived as follows:
[3]
[0071] The following properties are noted (1) the resulting modulation symbol is always a point in the mother lattice and the result is balanced. (2) Following network decoding, the modulation is always constrained to the sub- lattice and therefore carried the benefit of the improved minimum distance of that sub-lattice. For example receiver 1 upon observing m, can remove the
M contribution from mi. The remaining index is a m2 , which is by definition
M2 a coset center in sub-lattice 2.
[0072] iii. PAM and QAM constellations:
[0073] Higher order modulation (described as modulation on a lattice) insures that packets with unequal numbers of bits results in the same number of channel symbols by mapping larger packets into a higher order modulation alphabet (more bits per channel symbol) and smaller packets into lower modulation alphabets. Unfortunately, this approach attempts to use power scaling at the RN to adjust performance. This results in "unspecified" modulation at the relay that can cause transmitter problems (increase pear-to- average power ratio (PAPR)) as well as performance degradation at the receiver.
[0074] Unlike previously presented methods, there is a need for fixing the lattice from which the modulation alphabet for the RN is defined (as well as the alphabet itself) and network coded into this lattice. [0075] One possible approach is to use nested lattices, which is a lattice that contains a sub-lattice that is self-similar to the "mother lattice"— i.e. it is just a scaled up version of the mother lattice. Modulation alphabets defined by restricting such sub-lattices will also contain self-similar sub-alphabets (provided the restriction is done properly). This is illustrated using a square lattice as shown in FIG. 12 and describe how this restricts to a 16-QAM modulation alphabet with a 4-QAM (QPSK) sub-alphabet modulation scheme. [0076] FIG. 12 depicts an infinite square lattice 700 showing a sub- lattice composed of diagonally cross hatched points depicted as elements 702 and vertically hatched points depicted as elements 708. A square with dashed lines, element 704, outlines a finite 16-QAM constellation with the origin of the complex plane properly located. Sub-lattice points of the resulting 16-QAM constellation (element 704) are a (DC-shifted) QPSK constellation. The DC shift is easily corrected as part of "network-decoding."
[0077] With each sub-lattice point, a set of points in it' "neighborhood" can be associated-i.e. a coset of that sub-lattice. In FIG. 12, such a coset is depicted by the element 706 containing four such sub-lattice points. Each
coset is therefore in a 1-to-l relationship with a single sub-lattice point, which is called as the coset center, even if it is "visually" not in the center of the coset.
[0078] The network coding process proceeds as follows. Suppose first that the first stream requires the use of full modulation alphabet, while the second stream is lower rate and requires the use of a (restricted) sub-lattice. The process then proceed as follows:
[0079] (1) Separate the first stream into 2 bits streams — one of the same rate as the second stream.
[0080] (2) The two streams of the same rate (the sub-stream of the first stream and the second stream) are network coded. This may be done in several ways: A traditional bit- wise XOR or more generally any map which maps a pair of sub-lattice points to a new sub-lattice point and is invertible when one of the two original arguments is given.
[0081] (3) The output of the network coding of sub-streams selects a sub- lattice point, while the remaining portion of the first stream selects a point in the coset associated with that sub-lattice point.
[0082] This approach has certain properties. First the output is well- balanced - all points are equiprobable. Second, the receiver of the lower rate packets gains the SNR advantage associated with coding to a sub-lattice. [0083] 2. MAC Packet Buffering and Indexing
[0084] The issues of Medium Access Control (MAC) packet buffering and indexing are addressed with the goal of making sure that the information necessary for network decoding is available at the transmitter node and that this is done with the least possible increase in the node's complexity (processing and memory requirement) and lower interface overhead. For this, a type of network coding is used that does not require identical number of bits. [0085] A. Method 1
[0086] FIG. 7 illustrates this method in a flowchart for two End Nodes
(ENs). In the method, a relay node (RN) buffers at most one packet for each
EN. Upon reception of a packet from another EN, the RN network codes the buffered packet with the newly received one. If the RN receives a packet from an EN for which it has a packet buffered already, it replaces the older packet with the new one. The packet being discarded from the buffer still needs to be delivered to its intended EN-and is therefore transmitted by itself, with no network coding.
[0087] FIG. 7 shows relay node (RN) operation starting with the RN's receipt of a new packet 101. Upon receipt of the packet, the RN determines the source of the packet (ENl or EN2) 102 and looks to the buffer associated with the other destination EN 103a, 103b (the non- source buffer). If this buffer is empty, the received packet is stored in the source RN buffer. The source RN buffer may or may not be empty; if it is not empty the new packet replaces the buffer content and the old packet is sent out without network coding 104a, 104b. If the buffer contains a packet, the two packets are XORed and the buffer for the other EN is emptied 105a, 106a, 105b, 106b. The RN then awaits the next received packet 107. This process assumes that no two packets are ever received simultaneously, however if this occurs (i.e. two packets-one from ENl and one from EN2 are received at the RN at the same time), one of the packets is arbitrarily assumed to have been received first. [0088] The method can be modified so that only one buffer is kept and thus the step 102 from FIG. 7's method is eliminated (as well as the corresponding steps related to the second EN), which results in the modified flowchart of FIG. 8 that shows similar steps as FIG. 7's: receiving a new packet 201, checking the buffer 203, buffering and sending 204 or network coding 205 and emptying buffer 206, and finally awaiting more packets 207. [0089] The method shown in FIG. 8 has an advantage of having a minimal buffer size; however it provides no ability for the RN to choose packets for network coding that may be most appropriate-for example packets that may be of roughly equal size.
[0090] Such an ability can be achieved through the modification of the method in FIG. 7. In such a modified method, the RN buffers multiple packets for each EN. The packets contain headers or other means of identification that uniquely identify their contents. If the RN receives a packet from an EN for which it has packets already, it sends the oldest packet out without network coding and buffers the new one in.
[0091] With this modification, two choices arise. When a packet arrives from ENl, the new packet can be either: (1) coded with some packet from EN2 and only buffer in the ENl buffer if the EN2 buffer is empty (Method Ia), or (2) buffered automatically and then look over the packets in the ENl and EN2 buffer and choose the best pair of ENl and EN2 packets to network code (a packet may be matched as soon as it arrives, in which case it does not have to be buffered) .
[0092] These approaches are described below in further detail.
[0093] i. Method Ia
[0094] FIG. 9 summarizes the Method Ia. Upon a successful reception of any packet 101, the RN determines the source of the packet (ENl or EN2) 102 and looks to the buffer associated with the other EN. At step 120a, 120b, if this buffer is empty or has no similar-sized packet as the other packet's buffer, the received packet is stored in the source RN buffer 122a, 122b. If the buffer for the other EN contains one or more packets, the RN selects the packet that is closest in size (optionally on a condition that the size difference does not exceed a given value) 124a. The two packets are XORed and the previously stored packet is removed from this buffer 126a. This process assumes that no two packets are ever received simultaneously, however if this occurs (i.e. two packets-one from ENl and one from EN2 are received at the same time), one of them is arbitrarily assumed to have been received first. Packet header or other side information may specify which packets may be concatenated or split in order to equalize packet size for XORing operation.
[0095] This procedure is similar to the procedure described in FIG. 7, with the following modifications: (1) The EN buffers can buffer more than 1 packet, and (2) When a packet from a buffer is used, the buffer is not emptied— rather only that packet is removed.
[0096] As with FIG. 8's modification of the method of FIG. 7, the two buffers may be replaced with a single buffer per pair with the following modifications: (1) The buffer may buffer more than one packet; and (2) When a packet from a buffer is used, the buffer may not be emptied— rather only that packet is removed.
[0100] ii. Method Ib
[0101] Consider a method where both the EN buffers may contain packets. This is different from the methods of FIGS. 7 and 8. In particular, there would not likely be any substitution of a single buffer (as in FIG. 8). A single buffer can be created for a pair of ENs, but it does not produce a factor of 2 savings in storage that are realized in going from FIG. 7 to FIG. 8 because of the increased buffer storage required. Moreover, the single buffer requires that the packets in the buffer be labeled with their source EN, which in effect creates multiple EN buffers implemented as a single actual one.
[0102] Multi-packet buffers in Method Ia or Method Ib address the problem of mismatched packets size but may suffer from delays. A packet from an EN may be delayed by the RN for an unreasonably long time - which may have a negative impact both on system performance and the buffer size required at the RN and at the ENs. This problem is address through a further improvement described below.
[0103] iii. Method Ic
[0104] Now consider a condition that the EN's and/or RN's buffer size is limited, or there is a latency constraint on the RN. Faced with this limitation, the RN should send out the packets that have been stored for a predetermined longer time, either without XORing with another packet or XORing with a
packet of an unmatched size. This alternative balances the bandwidth performance (or efficiency of network coding) and storage requirements. [0105] The method is illustrated in FIG. 10. Once the RN receives a packet, it first deals with the new packet as in Method Ia or Ib and shown in steps 101, 102, 107, 120, 122, 124, and 126. After that, it checks its buffer to see if there is an old packet 128a, 128b, which may be network coded with a packet in the other buffer of a similar size (if possible) 130a, 130b. Then the packets are removed from ENl or EN2's buffers 132a, 132b. If so, it sends out the old packet (preferable to XOR with another packet even without matched size).
[0106] In case the RN's buffer size is limited, this process can be modified as follows by replacing the step 128a, 128b with a step that asks: "Does ENl (or EN2) buffer have a packet Ci (or C2) older than the new packet or is ENl (or EN2) buffer full?"
[0107] If the RN receives a packet from the EN1, it proceeds match it and code it or buffer it, as per Method Ia or Ib. If the incoming packet is matched (and network coded, as opposed to buffered), the matching procedure takes into account both the length of the packets (prefers packets of more similar lengths) and the duration of time that a packet has been kept (prefers to match with older packets). Various tradeoff methods may be used to rate packets. For example, the following formula provides a general framework for producing rated scores between 0 and 1, with 1 being better and giving preference to better length matched and older packets. Other frameworks may be used - as the formula is just one example for score computation. score = aγ(i(lengthl,length2),g(buffered age))
[3]
[0108] where g(x) is a function that takes an integer value (packet age) and produces a value between 0 and 1, the closer to 1 the older the packet. For example: g(x) = l-exp(-x) is one such function.
[0109] Finally, av(x,y) is a functions that take two values between 0 and
1 and produces an averaged value, for example: av( <x,y Λ) = — x +^-y
[5]
[0110] f(x,y) is a function that takes two positive integer values ix, and is a function that takes two positive integer values x,y (packet length) and produces a value between 0 and 1 which increases the closer the packets get in length.
[6]
X - f(x, y \ y) = y
[8] and other similar functions
[0112] In a variation, if the RN did not receive a packet for a certain time length T_out (usually predefined by the network design and should depend on the allowed roundtrip time), then it proceeds to match and transmit the already buffered packets (starting with the oldest one) either with or without network coding, matching these by length where possible.
[0113] To extend the process described above to more than 2 EN's in the present context, the network coded packet must be a code of only two original packets (so that each receiving terminal does not know only one of the source
packets coded into any network coded one). Thus, the RN must pair up the ENs into network coded pairs. Such pairing may be static (i.e. two ENs are paired with each other as a matter of link or RN configuration) or dynamic (on a packet-by-packet basis).
[0114] If the pairing is static the process as per FIG. 8 (either Method 1 or Method Ia) is used. However, for any substantially large number of ENs the number of pairs may be quite large and the process as per FIG. 7 is more efficient. If the pairing is dynamic, the process as per FIG. 8 becomes problematic. It is, therefore, assumed that the procedure in FIG. 7 is followed according to either of the approaches (base method (Method 1) or its modifications (Methods Ia, Ib, Ic) as described above. [0115] 3. Operation of the EN
[0116] Having described the operation of RN, the operation of EN is now described in greater detail. The EN contains two MAC packet buffers (these are "logicaFand can be implemented in any reasonable fashion). The first is a standard MAC packet buffer. This contains a queue of packets to be transmitted. Once a packet is transmitted and reception is acknowledged (if acknowledgement is used in the connection), the packet is removed from this buffer.
[0117] Typically, the transmitted packet is discarded. However, in the presence of network coding at the RN, the packet is placed into the network coding buffer. The buffer contains N packets and when a new packet needs to be placed in the buffer— and the buffer is full— the oldest is deleted (thus the buffer may be implemented as a First In First Out (FIFO) /queue). Other operations on the buffer as well as how its size (N) is determined are discussed below.
[0118] To properly understand the buffer operation and design, the base approach for RN is used. In the base approach for the RN, there were only two ENs, the RN buffers at most one (1) packet from each EN. If the transmission and reception processing of packets at the EN and RN were instantaneous, a
single packet queue at the EN would suffice. Unfortunately, the packet processing is not instantaneous. Moreover, while in some systems it is specified what the "network coding" delay is, in other system this is unknown, except for some specified upper limit.
[0119] Therefore, the EN needs to buffer more than one packet.
Moreover, while the RN buffers only 1 packet, the EN does not necessarily know which of its packets the RN actually used to create a network coded packet. In this case, there must be a method for RN to signal which packet is used. One way to accomplish this it to label each packet with an index modulo- N as it is transmitted and stored in the network coding queue of the EN. Because N is typically small, this requires minimal overhead (e.g. a 4-bit (register) can support N<16 that suffices for most systems). [0120] The network coding operation is shown in FIG. 11. First, each packet pi, p2 is assigned a Network Coding Index (NCI) by the EN's MAC 502a, 502b. The NCI should have a modulus equal to (or greater then) the network coding buffer size that the EN is required to keep (i.e. modulus greater than or equal to N) and the EN may buffer the packet pi, p2 before transmission to the RN 504a, 504b.
[0121] When the RN combines two packets into a network coding packet
506, it includes the following information in the header of the network coded packet: (1) The address of the first destination EN and the NCI of that ENs packet that was coded; and (2) The address of the second destination EN and the NCI of that ENs packet that was coded. It does this at step 507 before transmission of the combined packet.
[0122] Finally, the EN, upon receiving a network coded packet p2 intended for it, looks up its own packet using the NCI and uses this for network decoding 508a, 508b. Upon successfully network decoding, the packet is removed from the buffer 510a, 510b.
[0123] This approach can be extended to a case of more than 2 ENs and the various operational modes where the RN requires more than one packet
buffer. For example, suppose that the RN stores at most M packets from each EN. The value of M is determined based on the system parameters. Each EN then, needs to have N>M packet storage in its network coding buffer with N-M greater than the latency required for processing and transmission. The NCI is used as above. The operation does not depend on the total number of ENs in the system, except that this may impact the computation of M. The packet reception and decoding proceeds as above and when a packet in an ENs buffer has been used for network decoding, it is removed from the buffer. [0124] Although features and elements are described above in particular combinations, each feature or element can be used alone without the other features and elements or in various combinations with or without other features and elements. The methods or flow charts provided herein may be implemented in a computer program, software, or firmware incorporated in a computer-readable storage medium for execution by a general purpose computer or a processor. Examples of computer-readable storage mediums include a read only memory (ROM), a random access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks, and digital versatile disks (DVDs). [0125] Suitable processors include, by way of example, a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs); Field Programmable Gate Arrays (FPGAs) circuits, any other type of integrated circuit (IC), and/or a state machine. [0126] A processor in association with software may be used to implement a radio frequency transceiver for use in a wireless transmit receive unit (WTRU), user equipment (UE), terminal, base station, Mobility Management Entity (MME) or Evolved Packet Core (EPC), or any host
computer. The WTRU may be used in conjunction with modules, implemented in hardware and/or software including a Software Defined Radio (SDR), and other components such as a camera, a video camera module, a videophone, a speakerphone, a vibration device, a speaker, a microphone, a television transceiver, a hands free headset, a keyboard, a Bluetooth® module, a frequency modulated (FM) radio unit, a Near Field Communication (NFC) Module, a liquid crystal display (LCD) display unit, an organic light-emitting diode (OLED) display unit, a digital music player, a media player, a video game player module, an Internet browser, and/or any Wireless Local Area Network (WLAN) or Ultra Wide Band (UWB) module.
[0097] EMBODIMENTS
[0098] 1. A method for network coding of packets between End Nodes
(ENs) and a Relay Node (RN) in wireless communications, the method performed at the RN, the method comprising: receiving a new packet at the RN from one of the ENs as a source node; determining the source node of the new packet at the RN; providing a buffer for each EN; and determining whether the buffer associated with the EN that is not the source of the new packet (non-source buffer) has the new packet buffered, and based upon such determination, either: storing the new packet in the EN buffer that is the source of the new packet
(source buffer); or network coding the new packet with an existing packet in the non- source buffer.
[0099] 2. The method of embodiment 1, further comprising sending out an existing packet from the source buffer of the new packet on a condition that the non- source buffer is empty; or network coding the new packet with an existing packet in the non- source buffer on a condition that the non- source buffer is not empty.
[00100] 3. The method of embodiment 1 or 2, further comprising network coding the new packet and emptying the non- source buffer on a condition that the non- source buffer is not empty.
[00101] 4. The method according to any of the previous embodiments, wherein network coding is done using a XOR operation that does not require identical number of bits.
[00102] 5. The method of embodiment 4, wherein in response to two packets arriving simultaneously at the RN, the RN arbitrarily considers either of the packets to be received first.
[00103] 6. The method according to any of the previous embodiments, wherein the RN chooses packets that are either equal sized packets or nearly equal in size for network coding.
[00104] 7. The method of embodiment 6, further comprising: buffering multiple packets for each EN in each EN's buffer; in response to a packet from a buffer of an EN being used, removing the used packet from the buffer of the EN.
[00105] 8. The method of embodiment 7, further comprising: modifying the packets such that they contain identifiers; and on a condition that the RN receives a new packet from an EN for which the
RN has existing packets stored, the RN sends an oldest packet out without network coding and buffers the new packet in the source EN buffer, or the new packet is network coded with a packet from the non- source buffer and if the non- source buffer is empty, the new packet is buffered in the source EN buffer that sent the new packet.
[00106] 9. The method of embodiment 8, wherein the identifiers comprise message bits.
[00107] 10. The method of embodiment 6, further comprising: looking up existing packets in EN buffers to choose an appropriately- sized pairing between an existing packet and the new packet.
[00108] 11. The method of embodiment 7, wherein a latency constraint is imposed at the RN when an EN buffer is full.
[00109] 12. The method according to any of the previous embodiments, wherein a matching procedure rates packets based upon packet length and the duration of time that a packet has been stored in an EN buffer.
[00110] 13. The method of embodiment 12, wherein packet rating is based upon the scoring packets between 0 and 1, where 1 is considered to be a matched packet and 0 is an unmatched packet, and the score is determined by the relation: where: f(lengthl, Iength2) is a function that takes two positive integer values and produces a value between 0 and 1 which increases as the packets get closer in length; g(buffered age) is a function that takes an integer value and produces a value between 0 and 1, the closer to 1 the older the packet; av is a function that take two values between 0 and 1 and produces an averaged value.
[00111] 14. A method of embodiments 7-13, wherein on a condition that the RN does not receive a packet from an EN for a certain length of time, the method further comprising: transmitting already-buffered packets starting with an oldest packet either with or without network coding.
[00112] 15. The method according to any of the previous embodiments, further comprising: assigning each packet a Network Coding Index (NCI) comprising a modulus equal to or greater than a network coding buffer size N.
[00113] 16. The method of embodiment 15, further comprising: adding an address of a destination EN and the NCI of the EN packet to the new packet.
[00114] 17. The method of embodiment 16, wherein upon receipt of a network coded packet, an EN decodes the network coded packet using the NCI and on a condition that successful network decoding is completed, the new packet is removed from the EN buffer.
[00115] 18. The method according to any of the previous embodiments, further comprising: storing no more than M packets for each EN wherein each buffer has a size N, wherein each buffer has N>M packet storage capacity, wherein "1N-M is greater than latency required for processing and transmitting packets.
[00116] 19. The method according to any of the previous embodiments, wherein the RN is a base station.
[00117] 20. The method according to any of the previous embodiments, wherein at least one of the ENs is a wireless transmit and receive unit
(WTRU).
[00118] 21. A method for combining packets comprising:
[00119] network coding packets before channel coding wherein a single packet is channel encoded; and
[00120] network coding after the channel coding wherein two packets are separately channel encoded and then the output is network coded.
[00121] 22. The method of embodiment 21, wherein coarse matching is performed on two packets pi and p2, and p2 contains m bits, while pi contains
2m bits, the method further comprising: modulating pi using Quadrature Phase Shift Keying (QPSK) modulation alphabet resulting in 2 bits per modulation symbol; modulating p2 using 1 of 2 Binary Phase Shift Keying (BPSK) sub-modulation alphabets available in the QPSK modulation alphabet and modulating p2 using 1 bit per channel symbol such that both pi and p2 are then modulated into m modulation symbols.
[00122] 23. The method of embodiment 22, further comprising network coding packets pi and p2.
[00123] 24. The method of embodiment 23, wherein the network coding scheme is described and the output modulation symbol for the scheme is given by the relation: si = (si,l + si,2) mod 4 where si,l is the ith modulation symbol for pi and si, 2 be the ith modulation symbol for p2.
[00124] 25. The method of embodiment 21, wherein network coding a first stream requires the use of full modulation alphabet, while a second stream is at a lower rate and requires the use of a restricted sub-lattice, the method comprising: separating the first stream into 2 bits streams — one of the same rate as the second stream; and two streams of the same rate-the sub-stream of the first stream and the second stream are network coded.
[00125] 26. The method of embodiment 25 wherein network coding is achieved by: a bit-wise XOR; and any map that maps a pair of sub-lattice points to a new sub-lattice point and is invertible when one of the two original streams is given.
[00126] 27. A method for network coding packets at a wireless network relay node (RN) comprising: receiving a new packet at the RN; identifying an end node (EN) that is the source of the new packet; determining whether a buffer associated with an EN that is the destination for the new packet has the new packet buffered and based upon such determination, either: storing the new packet in an EN buffer associated with the source of the new packet on a condition that the destination EN buffer is empty; or network coding the new packet with an existing packet in the destination EN buffer.
[00127] 28. A method for network coding of packets between End Nodes
(ENs) and a Relay Node (RN) in wireless communications, the method performed at the RN, the method comprising: receiving a new packet at the RN from one of the ENs; providing a single buffer for the ENs; determining whether the buffer contains a packet from the EN that transmitted the new packet and depending on the outcome of that determination, either: storing the new packet in the buffer and sending out an old packet; or network coding the new packet with an existing packet in the buffer.
[00128] 29. The method of embodiment 28, wherein packets in the buffer are labeled with the source EN.
Claims
1. A method for network coding of packets between End Nodes (ENs) and a Relay Node (RN) in wireless communications, the method performed at the RN, the method comprising: receiving a new packet at the RN from one of the ENs as a source node; determining the source node of the new packet at the RN; providing a buffer for each EN; and determining whether the buffer associated with the EN that is not the source of the new packet (non-source buffer) has the new packet buffered, and based upon such determination, either: storing the new packet in the EN buffer that is the source of the new packet (source buffer) ; or network coding the new packet with an existing packet in the non- source buffer.
2. The method of claim 1, further comprising sending out an existing packet from the source buffer of the new packet on a condition that the non- source buffer is empty; or network coding the new packet with an existing packet in the non- source buffer on a condition that the non- source buffer is not empty.
3. The method of claim 1, further comprising network coding the new packet and emptying the non- source buffer on a condition that the non- source buffer is not empty.
4. The method of claim 1, wherein network coding is done using a XOR operation that does not require identical number of bits.
5. The method of claim 4, wherein in response to two packets arriving simultaneously at the RN, the RN arbitrarily considers either of the packets to be received first.
6. The method of claim 1, wherein the RN chooses packets that are either equal sized packets or nearly equal in size for network coding.
7. The method of claim 6, further comprising: buffering multiple packets for each EN in each EN's buffer; in response to a packet from a buffer of an EN being used, removing the used packet from the buffer of the EN.
8. The method of claim 7, further comprising: modifying the packets such that they contain identifiers; and on a condition that the RN receives a new packet from an EN for which the RN has existing packets stored, the RN sends an oldest packet out without network coding and buffers the new packet in the source EN buffer, or the new packet is network coded with a packet from the non- source buffer and if the non- source buffer is empty, the new packet is buffered in the source EN buffer that sent the new packet.
9. The method of claim 8, wherein the identifiers comprise message bits.
10. The method of claim 6, further comprising: looking up existing packets in EN buffers to choose an appropriately- sized pairing between an existing packet and the new packet.
11. The method of claim 7, wherein a latency constraint is imposed at the RN when an EN buffer is full.
12. The method of claim 1, wherein a matching procedure rates packets based upon packet length and the duration of time that a packet has been stored in an EN buffer.
13. The method of claim 12, wherein packet rating is based upon the scoring packets between 0 and 1, where 1 is considered to be a matched packet and 0 is an unmatched packet, and the score is determined by the relation: score = aγ(i(lengthl, length!), ^(buffered age)) where: f(lengthl, Iength2) is a function that takes two positive integer values and produces a value between 0 and 1 which increases as the packets get closer in length; g(buffered age) is a function that takes an integer value and produces a value between 0 and 1, the closer to 1 the older the packet; av is a function that take two values between 0 and 1 and produces an averaged value.
14. A method of claim 7, wherein on a condition that the RN does not receive a packet from an EN for a certain length of time, the method further comprising: transmitting already-buffered packets starting with an oldest packet either with or without network coding.
15. The method of claim 1, further comprising: assigning each packet a Network Coding Index (NCI) comprising a modulus equal to or greater than a network coding buffer size N.
16. The method of claim 15, further comprising: adding an address of a destination EN and the NCI of the EN packet to the new packet.
17. The method of claim 16, wherein upon receipt of a network coded packet, an EN decodes the network coded packet using the NCI and on a condition that successful network decoding is completed, the new packet is removed from the EN buffer.
18. The method of claim 1, further comprising: storing no more than M packets for each EN wherein each buffer has a size N, wherein each buffer has N>M packet storage capacity, wherein N-M is greater than latency required for processing and transmitting packets.
19. The method of claim 1, wherein the RN is a base station.
20. The method of claim 1, wherein at least one of the ENs is a wireless transmit and receive unit (WTRU).
21. A method for combining packets comprising: network coding packets before channel coding wherein a single packet is channel encoded; and network coding after the channel coding wherein two packets are separately channel encoded and then the output is network coded.
22. The method of claim 21, wherein coarse matching is performed on two packets pi and p2, and p2 contains m bits, while pi contains 2m bits, the method further comprising: modulating pi using Quadrature Phase Shift Keying (QPSK) modulation alphabet resulting in 2 bits per modulation symbol; modulating p2 using 1 of 2 Binary Phase Shift Keying (BPSK) sub- modulation alphabets available in the QPSK modulation alphabet and modulating p2 using 1 bit per channel symbol such that both pi and p2 are then modulated into m modulation symbols.
23. The method of claim 22, further comprising network coding packets pi and p2.
24. The method of claim 23, wherein the network coding scheme is described and the output modulation symbol for the scheme is given by the relation: 4 where
Si, i is the ith modulation symbol for pi and Si,2 be the ith modulation symbol for p2.
25. The method of claim 21, wherein network coding a first stream requires the use of full modulation alphabet, while a second stream is at a lower rate and requires the use of a restricted sub-lattice, the method comprising: separating the first stream into 2 bits streams - one of the same rate as the second stream; and two streams of the same rate-the sub- stream of the first stream and the second stream are network coded.
26. The method of claim 25 wherein network coding is achieved by: a bit-wise XOR; and any map that maps a pair of sub-lattice points to a new sub-lattice point and is invertible when one of the two original streams is given.
27. A method for network coding packets at a wireless network relay node (RN) comprising: receiving a new packet at the RN; identifying an end node (EN) that is the source of the new packet; determining whether a buffer associated with an EN that is the destination for the new packet has the new packet buffered and based upon such determination, either: storing the new packet in an EN buffer associated with the source of the new packet on a condition that the destination EN buffer is empty; or network coding the new packet with an existing packet in the destination EN buffer.
28. A method for network coding of packets between End Nodes (ENs) and a Relay Node (RN) in wireless communications, the method performed at the RN, the method comprising: receiving a new packet at the RN from one of the ENs; providing a single buffer for the ENs; determining whether the buffer contains a packet from the EN that transmitted the new packet and depending on the outcome of that determination, either: storing the new packet in the buffer and sending out an old packet; or network coding the new packet with an existing packet in the buffer.
29. The method of claim 28, wherein packets in the buffer are labeled with the source EN.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10708842.9A EP2399357B1 (en) | 2009-02-20 | 2010-02-19 | Network coding relay operations |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15399809P | 2009-02-20 | 2009-02-20 | |
US61/153,998 | 2009-02-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2010096648A2 true WO2010096648A2 (en) | 2010-08-26 |
WO2010096648A3 WO2010096648A3 (en) | 2011-01-06 |
Family
ID=42224819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2010/024725 WO2010096648A2 (en) | 2009-02-20 | 2010-02-19 | Network coding relay operations |
Country Status (4)
Country | Link |
---|---|
US (1) | US8737297B2 (en) |
EP (1) | EP2399357B1 (en) |
TW (2) | TW201215021A (en) |
WO (1) | WO2010096648A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2704021A1 (en) * | 2012-08-31 | 2014-03-05 | Nxp B.V. | SRAM handshake |
WO2014119928A1 (en) | 2013-01-31 | 2014-08-07 | Samsung Electronics Co., Ltd. | Method and apparatus for improved network coding in wireless communication system |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7945387B2 (en) * | 2003-03-19 | 2011-05-17 | Broadcom Corporation | Method and apparatus for distribution of satellite navigation data |
FR2949632B1 (en) * | 2009-08-28 | 2012-05-18 | Commissariat Energie Atomique | METHOD OF EQUALIZING THE SIZE OF DATA PACKETS BY BLOCKS OF A MULTIMEDIA STREAM |
JP5740590B2 (en) * | 2010-12-03 | 2015-06-24 | 株式会社国際電気通信基礎技術研究所 | Wireless device and wireless communication system including the same |
US8576766B2 (en) | 2011-08-29 | 2013-11-05 | Telefonaktiebolaget L M Ericsson (Publ) | Dynamic scheduling of in-band relay node resources |
US20130128931A1 (en) * | 2011-11-17 | 2013-05-23 | Aviacomm Inc. | On-chip radio calibration |
US9160687B2 (en) * | 2012-02-15 | 2015-10-13 | Massachusetts Institute Of Technology | Method and apparatus for performing finite memory network coding in an arbitrary network |
US8913543B2 (en) | 2012-03-01 | 2014-12-16 | Telefonaktiebolaget L M Ericsson (Publ) | Cooperative relaying and network coding in a cellular communications system |
KR101758845B1 (en) * | 2012-04-02 | 2017-07-17 | 삼성전자주식회사 | A method and an apparatus for scheduling based physical layer network coding for bidirectional traffic |
CN103582014A (en) * | 2012-07-18 | 2014-02-12 | 株式会社Ntt都科摩 | Data transmission method |
EP2733881A1 (en) * | 2012-11-15 | 2014-05-21 | Alcatel Lucent | Transmission method, transmitter apparatus, reception method and receiver apparatus for a joint transmission of first data units and at least second data units |
US9112839B2 (en) * | 2012-12-22 | 2015-08-18 | Qualcomm Incorporated | Methods and apparatus for efficient wireless communication of file information |
KR102115401B1 (en) * | 2013-04-24 | 2020-05-26 | 삼성전자주식회사 | Method and apparatus for managing packet in a system surpporting a network coding scheme |
US10361721B1 (en) | 2014-05-01 | 2019-07-23 | Marvell International Ltd. | Methods and network device for uncoded bit protection in 10GBASE-T Ethernet |
EP3235300B1 (en) | 2015-01-21 | 2019-03-20 | Sony Corporation | Methods, base station, mobile node and relay node |
US10341879B2 (en) | 2015-02-23 | 2019-07-02 | Sony Corporation | Mobile communication system, methods and base station |
US10063422B1 (en) | 2015-12-29 | 2018-08-28 | Amazon Technologies, Inc. | Controlled bandwidth expansion in compressed disaggregated storage systems |
US10517092B1 (en) | 2018-06-04 | 2019-12-24 | SparkMeter, Inc. | Wireless mesh data network with increased transmission capacity |
CN112532293B (en) * | 2020-12-01 | 2022-03-08 | 电子科技大学 | Bidirectional wireless relay transmission method suitable for multiple relay nodes |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247058B1 (en) * | 1998-03-30 | 2001-06-12 | Hewlett-Packard Company | Method and apparatus for processing network packets using time stamps |
US7355992B2 (en) * | 2003-03-18 | 2008-04-08 | Harris Corporation | Relay for extended range point-to-point wireless packetized data communication system |
WO2006085801A1 (en) * | 2005-02-10 | 2006-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Quality-based data scheduling |
US20080089333A1 (en) * | 2006-10-17 | 2008-04-17 | Kozat Ulas C | Information delivery over time-varying network topologies |
AU2008205320B2 (en) * | 2007-01-08 | 2010-10-21 | Interdigital Technology Corporation | Method and apparatus for multicasting with feedback information |
US20080219251A1 (en) * | 2007-03-08 | 2008-09-11 | Feng Xue | Combining packets in physical layer for two-way relaying |
US8205140B2 (en) * | 2007-05-10 | 2012-06-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for the use of network coding in a wireless communication network |
US7912003B2 (en) * | 2007-06-27 | 2011-03-22 | Microsoft Corporation | Multipath forwarding algorithms using network coding |
KR101325741B1 (en) * | 2007-08-07 | 2013-11-08 | 한국과학기술원 | Apparatus for network-coding and method thereof |
JP5266450B2 (en) * | 2007-08-27 | 2013-08-21 | アップル インコーポレイテッド | Method and communication apparatus in radio communication system |
JPWO2009069262A1 (en) * | 2007-11-29 | 2011-04-07 | パナソニック株式会社 | Radio transmission apparatus and radio transmission method |
US9425885B2 (en) * | 2008-04-11 | 2016-08-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Network coded data communication |
-
2010
- 2010-02-19 US US12/708,947 patent/US8737297B2/en not_active Expired - Fee Related
- 2010-02-19 EP EP10708842.9A patent/EP2399357B1/en not_active Not-in-force
- 2010-02-19 WO PCT/US2010/024725 patent/WO2010096648A2/en active Application Filing
- 2010-02-22 TW TW100109988A patent/TW201215021A/en unknown
- 2010-02-22 TW TW099104995A patent/TWI461017B/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
None |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2704021A1 (en) * | 2012-08-31 | 2014-03-05 | Nxp B.V. | SRAM handshake |
US9053248B2 (en) | 2012-08-31 | 2015-06-09 | Nxp B.V. | SRAM handshake |
WO2014119928A1 (en) | 2013-01-31 | 2014-08-07 | Samsung Electronics Co., Ltd. | Method and apparatus for improved network coding in wireless communication system |
CN104956632A (en) * | 2013-01-31 | 2015-09-30 | 三星电子株式会社 | Method and apparatus for improved network coding in wireless communication system |
EP2951966A4 (en) * | 2013-01-31 | 2016-08-10 | Samsung Electronics Co Ltd | Method and apparatus for improved network coding in wireless communication system |
CN104956632B (en) * | 2013-01-31 | 2018-07-06 | 三星电子株式会社 | For the method and apparatus of improved network code in a wireless communication system |
Also Published As
Publication number | Publication date |
---|---|
US20100220644A1 (en) | 2010-09-02 |
EP2399357A2 (en) | 2011-12-28 |
WO2010096648A3 (en) | 2011-01-06 |
US8737297B2 (en) | 2014-05-27 |
TW201215021A (en) | 2012-04-01 |
TWI461017B (en) | 2014-11-11 |
EP2399357B1 (en) | 2016-10-12 |
TW201126953A (en) | 2011-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8737297B2 (en) | Network coding relay operations | |
JP5802789B2 (en) | Method and apparatus for bidirectional relay scheme using physical layer network coding | |
JP6227135B2 (en) | System and method for data scrambling procedures | |
US10084515B2 (en) | Method and system for millimeter wave hotspot (mmH) backhaul and physical (PHY) layer transmissions | |
US7764707B2 (en) | Method for adaptive quadrature amplitude modulation signal constellation remapping for data packet retransmissions | |
US8004992B2 (en) | Adding hybrid ARQ to WLAN protocols with MAC based feedback | |
RU2446577C2 (en) | Method and device for reliable transmission of radiounits with combined ack/nack fields | |
US10985874B2 (en) | HARQ framing and retransmission with two-tier feedback | |
TW201507392A (en) | Method and apparatus for time-based fast ACK/NACK response operation with enhanced general packet radio service 2 uplink | |
KR101485017B1 (en) | Method and apparatus for seamless transitions between radio links using different frequency bands for data transmission | |
KR101485013B1 (en) | Method and apparatus for seamless transitions between radio links using different frequency bands for data reception | |
KR20020001173A (en) | Method for transferring data and data information by asynchronous wireless communication system | |
US20200099503A1 (en) | Radio Base Station and User Equipment Configured to Communicate Using Dual Frequency Asymmetric Time Division Duplexing | |
US20200099505A1 (en) | Methods of Data Multiplexing Using Dual Frequency Asymmetric Time Division Duplexing | |
WO2022050019A1 (en) | Information processing device and decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10708842 Country of ref document: EP Kind code of ref document: A2 |
|
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2010708842 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010708842 Country of ref document: EP |