Network coding for multiple HARQ processes
Network coding of data packets into NC segments for NTN systems addresses HARQ stalling by enabling reliable packet reconstruction in NTN environments with long RTTs, improving communication robustness and reducing resource usage.
Patent Information
- Application Number
- PCT/SE2024/050108
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-07
- Publication Date
- 2025-08-14
AI Technical Summary
HARQ processes in Non-Terrestrial Networks (NTN) face stalling due to long Round Trip Times (RTTs) and the inability to reuse HARQ processes before feedback is received, leading to reduced communication throughput and increased energy consumption.
Implement network coding (NC) to split data packets into subpackets, which are then network coded to form NC segments and multiplexed into different HARQ processes over a single link, with an indication providing identifiers and coefficients to enable the receiver to reconstruct the original packets even if some segments are lost.
Enhances communication robustness and reliability without relying on HARQ feedback, reducing resource usage and maintaining throughput in NTN environments with long delays.
Smart Images

Figure SE2024050108_14082025_PF_FP_ABST
Abstract
Description
[0001] NETWORK CODING FOR MULTIPLE HARQ PROCESSES
[0002] TECHNICAL FIELD
[0003] Embodiments herein relate to a transmitter node, a receiver node, and methods therein. In some aspects, they relate to handling data packets to be transmitted to a receiver node in a wireless communications network.
[0004] BACKGROUND
[0005] In a typical wireless communication network, wireless devices, also known as wireless communication devices, mobile stations, stations (STA) and / or User Equipment (UE), communicate via a Wide Area Network or a Local Area Network such as a Wi-Fi network or a cellular network comprising a Radio Access Network (RAN) part and a Core Network (CN) part. The RAN covers a geographical area which is divided into service areas or cell areas, which may also be referred to as a beam or a beam group, with each service area or cell area being served by a radio network node such as a radio access node e.g., a Wi-Fi access point, a Base Station (BS) or a radio base station (RBS), which in some networks may also be denoted, for example, a Base Station (BS), a NodeB (NB), eNodeB (eNB), or gNodeB (gNB) as denoted in Fifth Generation (5G) telecommunications. A service area or cell area is a geographical area where radio coverage is provided by the radio network node. The radio network node communicates over an air interface operating on a radio frequency with the wireless devices within the range of the radio network node.
[0006] 3rd Generation Partnership Project (3GPP) is the standardization body for specifying the standards for the cellular system evolution, e.g., including 3G, 4G, 5G and the future evolutions. Specifications for Evolved Universal Terrestrial Radio Access (E- UTRA) and Evolved Packet System (EPS) have been completed within the 3GPP. In 4G also called a Fourth Generation (4G) network, EPS is core network and E-UTRA is radio access network. In 5G, 5G Core (5GC) is core network, NR is radio access network. As a continued network evolution, the new release of 3GPP specifies a 5G network also referred to as 5G New Radio (NR) and 5GC.
[0007] Frequency bands for 5G NR are being separated into two different frequency ranges, Frequency Range 1 (FR1) and Frequency Range 2 (FR2). FR1 comprises sub-6 GHz frequency bands. Some of these bands are bands traditionally used by legacy standards but have been extended to cover potential new spectrum offerings from 410 MHz to 7125 MHz. FR2 comprises frequency bands from 24.25 GHz to 52.6 GHz. Bands in this millimeter wave range have shorter range but higher available bandwidth than bands in the FR1.
[0008] Multi-antenna techniques may significantly increase the data rates and reliability of a wireless communication system. For a wireless connection between a single user, such as UE, and a base station (BS), the performance is in particular improved if both the transmitter and the receiver are equipped with multiple antennas, which results in a Multiple-Input Multiple-Output (MIMO) communication channel. This may be referred to as Single-User (SU)-MIMO. In the scenario where MIMO techniques is used for the wireless connection between multiple users and the base station, MIMO enables the users to communicate with the base station simultaneously using the same time-frequency resources by spatially separating the users, which increases further the cell capacity. This may be referred to as Multi-User (MU)-MIMO. Note that MU-MIMO may benefit when each UE only has one antenna. The cell capacity can be increased linearly with respect to the number of antennas at the BS side. Due to that, more and more antennas are employed in BS. Such systems and / or related techniques are commonly referred to as massive MIMO.
[0009] Non-Terrestrial Networks (NTN)
[0010] Any network not located on earth is an NTN. NTNs use satellites, drone, balloons, etc., to transmit and receive radio for communication. Terrestrial Networks (TN) are mainly the ordinary cellular networks that we use daily.
[0011] The main objective with NTNs is to provide coverage. This may be coverage over oceans or other areas where it is difficult to deploy network towers. Coverage may also be needed during a rescue operation in a remote area where a drone could be used to provide a temporary network. A drone providing temporary coverage is often referred to as Cell On Wings (COW). A COW may also be used to provide a temporary capacity boost, e.g. if a large crowd of users are expected to spend time in a fairly remote area. There are a number of commercial NTN systems available, both standardized in 3GPP and proprietary.
[0012] Since Release 17 there have been activities in 3GPP to standardize NTNs. There are two different 3GPP architectures available to realize satellite communication systems, transparent mode and regenerative mode. In the transparent mode a base station such as gNB or NB, is located on the ground behind a gateway. Thus, the satellite’s main purpose is to act as a repeater forwarding signals between the ground stations and a UE. The only processing that can be performed on the satellite is radio frequency processing, e.g. frequency conversion, amplification, and beam management. Since the NB is on the ground a satellite in a transparent architecture is simpler and requires less processing power. With simplicity comes less flexibility.
[0013] The regenerative architecture puts the entire NB, or at least parts of it, in the satellite, e.g. the radio unit which makes it possible to decode and process packets on the satellite. In this case the feeder link resembles the backhaul and / or fronthaul of a TN and is therefore not necessarily implemented using NR. Compared to the transparent architecture, the regenerative architecture provides more flexibility, better performance, and a possibility for global coverage since it allows inter-satellite links. Also, the satellite can process signals, rather than just relaying them.
[0014] Figure 1 depicts an example of regenerative architecture with a Radio Unit (RU) in a Low Eart Orbit (LEO) satellite and a Central Unit (CU) and / or Distributed Unit (DU) gNB behind a gateway on the ground.
[0015] NTN and Hybrid Automatic Retransmission request (HARQ)
[0016] NTN transmissions in 3GPP Release"!? NR are based on up to 32 HARQ processes for continuous transmissions. See 5G from Space: An Overview of3GPP Non-Terrestrial Networks, X. Lin, et al. IEEE Communications Standards Magazine, vol. 5, no. 4, pp. 147-153, December 2021. A HARQ process cannot be reused for a new transmission until a feedback for a previous transmission is received. With long Round Trip Time (RTT)s and using a stop-and-wait protocol, the transmissions will stall when all HARQ processes are waiting for feedback, which reduces communication throughput. The 32 HARQ processes are however not enough to cover the RTTs of LEO and Geostationary Orbit (GEO) based NTNs. A satellite in GEO circles earth above the equator from west to east following the earth's rotation. As further extension of the number of HARQ processes is deemed undesirable, schemes for reusing the same HARQ process before a full RTT has passed have to be employed to avoid stalling. When reusing a HARQ process for Downlink (DL) transmissions before an RTT has passed, the HARQ feedback becomes unnecessary and thus is disabled. For Uplink (UL) there is no HARQ feedback and the gNB may dynamically decide if a HARQ process shall be reused before an RTT has passed by sending grants for new data or grants for retransmissions or wait until it has decoded an UL transmission to decide to send a retransmission grant.
[0017] For HARQ processes with disabled feedback, to save energy a UE does not need to listen for retransmission assignments after a period. When HARQ is not used for retransmissions, the link adaptation may target a lower block error rate, but to achieve robustness a higher Radio Link Control (RLC) retransmission rate, as well as more RLC status reporting, is expected. Another option would be to use HARQ repetitions, where the same Transport Block (TB) is transmitted more than once.
[0018] To cover a long RTT in NTNs, some of the Medium Access Control (MAC) and RLC timers are extended.
[0019] Network Coding background:
[0020] For example, a packet S is split into K subpackets, e.g., S1, S2, ... , SK, then those K subpackets are linearly combined to construct n packets. This is shown in Figure 2. Figure 2 depicts encoding process at a transmitter where packets: C1=S1, C2=S1+S2, C3= 2S1+S2 etc. (C3 is not shown in Figure 2.)
[0021] Ci = [gi,1 gi,2 ... , gi,K] * [S1 S2 ... SK]T, where coefficient gi,j is taken from the finite field GF(q). Associated with each coded subpacket, defined as segments herein, there is a coefficient vector [gi, 1 gi,2 ... , gi,K], In this setting, subpackets S1 S2 ... SK are systematic subpackets. After receiving m segments, i.e. coded subpackets, for K <= m <= n, the receiver uses the Gaussian elimination method to reconstruct the K subpackets, see Figure 3 and the document Network Coding: An Instant Prime. Fragouli, C.; Le Boudec, J.Y.; Widmer, J, ACM SIGCOMM Comput. Commun. Rev. 2006, 36, 63-68. Figure 3 depicts an encoding process at a receiver. For successful reconstruction, the receiver must have access to K segments, i.e. coded subpackets, where their coefficient vectors are linearly independent (i.e., build a rank K matrix).
[0022] Innovative subpacket
[0023] When a receiver has access to segments ci1, ci2, ci3, ... , cix and a new subpacket ciy is received, it is said that the new subpacket is innovative if ciy’s coefficient vector is linearly independent of the coefficient vectors of the previously existing subpackets (ci1 , ci2, ci3, ... , cix). For example if previously transmitted packets “a” and “a+b” then a packet “2a+b” is not innovative. Similarly, if network coding (NC) is used in the Packet Data Convergence Protocol (PDCP) layer, a PDCP Service Data Unit (SDU) packet, or PDCP Packet Data Unit (PDU), depending on how it is specified, is split into K equal size subpackets and then those subpackets are encoded to N packets and transmitted by a lower layer. The lower layer here is e.g. the RLC or MAC layer. On the receiver side, the PDCP layer must receive K subpackets with linearly independent coefficient vectors to be able to reconstruct the original packet. Then the receiver decodes and reconstructs the original packet by putting together the decoded subpackets S1 S2 ... SK. For the PDCP layer in the receiver, to transmit a PDCP PDU to a higher layer it must store in its buffer all the received packets until it is able to decode the original packet. The higher layer here is e.g. the Service Data Adaptation Protocol (SDAP) or directly to the TCP / IP layer or the UDP layer and thereafter to the application. In the traditional method, when a packet reaches the PDCP layer it can either be decoded and then immediately forwarded to the higher layer or it has already been received and then the packet is discarded. However, when NC is used, the data stays longer in the PDCP layer. Consequently, the PDCP layer needs a bigger buffer capacity compared to the traditional method of PDCP duplication.
[0024] In Figure 4, PDCP duplication is illustrated. Figure 4 depicts PDCP duplication without coding. By receiving one packet from either path, the PDCP layer on the receiver side can reconstruct the PDCP PDU. Here, a PDCP PDU is duplicated and transmitted over two independent RLC layers, RLC1 and RLC2. After receiving one PDCP PDU, the receiver forwards it to a higher layer. The higher layer here is e.g. the Transmission Control Protocol (TCP) / Internet Protocol (IP) layer.
[0025] To benefit from NC, the NC segments must be transmitted over two or more independent transmissions. Therefore, network coding may easily be applied with features such as carrier aggregation and dual connectivity where different segments are transmitted over different links, and thereby utilizing the independence between transmissions on different links.
[0026] Existing PDCP Layer architecture
[0027] The following functions are handled by PDCP layer 2 user plane:
[0028] • Transfer of user data.
[0029] • In-sequence delivery of upper layer PDUs at 5G-PDCP during a re-establishment procedure for 5G-RLC Acknowledge Mode (AM).
[0030] • Duplicate detection of lower layer SDUs at 5G-PDCP during re-establishment procedure for 5G-RLC AM. • Retransmission of 5G-PDCP SDlls during mobility in Radio Resource Control (RRC)_CONNECTED mode for 5G-RLC AM.
[0031] • Ciphering and deciphering.
[0032] • Timer-based SDU discard in UL.
[0033] • Ciphering and Integrity Protection. Note that only Advanced Encryption Standard (AES) shall be mandatory.
[0034] • T ransfer of control plane data
[0035] PDCP entities are located in the PDCP sublayer. Several PDCP entities may be defined for a UE. Each PDCP entity carries the data of one radio bearer. A PDCP entity is associated either to the control plane or the user plane depending on which radio bearer it is carrying data for.
[0036] RLC
[0037] Figure 5 depicts the relation between RLC PDU and SDU. A PDCP PDU arrives at the RLC layer as an RLC SDU. This RLC SDU may then be segmented. It is is not all RLC SDUs that are segmented, only if an RLC SDUs is too large to fit when multiplexed into a transport block. To each segment or RLC SDU an RLC header is added after which each unit, i.e. segment + RLC header, is referred to as an RLC PDU.
[0038] The RLC layer is responsible for the following functions of 5G layer.
[0039] • Transfer of upper layer PDUs.
[0040] • Error Correction through Automatic Retransmission request (ARQ), only for AM data transfer.
[0041] • Reordering of 5G-RLC data PDUs, only for Unacknowledge Mode (UM) and AM data transfer.
[0042] • Duplicate detection, only for UM and AM data transfer.
[0043] • Protocol error detection, only for AM data transfer.
[0044] • 5G-RLC SDU discard, only for UM and AM data transfer.
[0045] • Segmentation, only for UM and AM data transfer.
[0046] • Resegmentation, only for AM data transfer.
[0047] • 5G-RLC re-establishment.
[0048] The RRC-layer is also responsible for some layer 3 functions. The layer 3 may e.g. be RRC signalling. • Broadcasting of system information to Non-Access-Stratum (NAS) and Access- Stratum (AS).
[0049] • Establishment, maintenance, and release of RRC connection.
[0050] • Security, including key management.
[0051] • Establishment, configuration, maintenance, and release of point-to-point radio bearers.
[0052] • Mobility functions along with cell addition and cell release.
[0053] • UE measurement reporting, control of UE reporting, UE based mobility.
[0054] • NAS direct message transfer to and / from NAS from / to a UE.
[0055] SUMMARY
[0056] As part of developing embodiments herein, the inventors identified some problems that first will be described.
[0057] The propagation delay becomes larger with distance between a UE and a base station, so for some NTN deployments this may become a problem. Several changes have been standardized to mitigate the large RTT for satellite communication, such as disabling HARQ feedback and extending some MAC and RLC timers. However, the RTT still affects the performance, e.g. it limits the functionality of HARQ. To mitigate the loss in reliability in these cases, RLC retransmissions are used implying a high RLC retransmission rate and high rate of RLC SRs, which leads to a high overhead.
[0058] If a UE is connected via a single connection, it is currently not possible to utilize NC to obtain significantly higher reliability. The reason is that the different NC segments may very likely be sent over the same transmission, the same HARQ transmission, without any diversity. This means that there is a very high dependency between subpackets’ failure events and thus risk of failure for the transmitted subpackets in one link, also referred to as leg, since a transmission error on the MAC layer will result in that all subpackets in the failing TB will be lost or delayed. This will reduce the ability of NC to increase transmission reliability.
[0059] Thus, there is prior art on using NC in PDCP duplication over DC or carrier aggregation. When NC is applied in these cases, the MAC layer sends different segments on different carriers or legs meaning that there is multiple PDCP-RLC-MAC-PHY stacks.
[0060] An object of embodiments herein is to provide a way of transmitting data packets to improve the performance of a wireless communications network. Embodiments herein use transmissions over one leg, also referred to as a single link, meaning that there is only one PDCP-RLC-MAC-PHY stack, which makes it different from prior art.
[0061] According to an aspect of embodiments herein, the object is achieved by a method performed by a transmitter node. The method is for handling data packets to be transmitted to a receiver node in a wireless communications network. The transmitter node transmits a data packet towards the receiver node over the single link. The data packet comprises K subpackets wherein K>=2, each subpacket network coded to form N Network Coded, NC, segments wherein N>K, each NC segment out of the N NC segments is multiplexed into different Hybrid Automatic Repeat request, HARQ, processes. The transmitter node transmits each NC segment out of the N NC segments over a single link, towards the receiver node. The NC segments are multiplexed into different Hybrid Automatic Repeat request, HARQ, processes. The transmitter node transmits an indication to the receiver node. The indication comprises a respective identifier identifying each of the N transmitted NC segments, which of the transmitted N NC segments that belongs to the same original packet, and a respective associated NC coefficient of the N of NC segments.
[0062] According to an aspect of embodiments herein, the object is achieved by a method performed by a receiver node. The method is for handling data packets from a transmitter node in a wireless communications network. The receiver node receives a number n of Network Coded, NC, segments, from the transmitter node, in different Hybrid Automatic Repeat request, HARQ, processes. The n NC segments are related to the data packets and comprise at least two NC segments. The K subpackets are based on the data packet and comprise at least two subpackets. Each subpacket comprised in the K subpackets, has been network coded NC to form the N NC segments. The N is greater than K and the N NC segments comprises at least three NC segments. The said N NC segments have been transmitted by the transmitter node towards the receiver node. The receiver node receives an indication from the transmitter node. The indication indicates a respective identifier identifying each of the N transmitted NC segments, which of the transmitted N NC segments that belongs to the same original packet, and a respective associated NC coefficient of each of the N of NC segments. The receiver node determines whether n is equal to or smaller than N. When n is equal to N, the receiver node determines that all NC segments transmitted from the transmitter node have been received. When n is less than N, the receiver node determines that an NC segment of the N NC segments comprised in a HARQ transmission is missing. Based on the indication, the receiver node recreates the original K subpackets based on the received n NC segments of the N NC segments and retrieves the data packets.
[0063] According to another aspect of embodiments herein, the object is achieved by a transmitter node. The transmitter node is configured to handle data packets to be transmitted to a receiver node in a wireless communications network. The transmitter node is further configured to:
[0064] - Transmit a data packet towards the receiver node over the single link. The data packet comprises K subpackets wherein K>=2, each subpacket network coded to form N Network Coded, NC, segments wherein N>K, each NC segment out of the N NC segments is multiplexed into different Hybrid Automatic Repeat request, HARQ, processes.
[0065] - Transmit an indication to the receiver node, which indication is adapted to comprise: a respective identifier identifying each of the N transmitted NC segments, which of the transmitted N NC segments that belongs to the same original packet, and a respective associated NC coefficient of the N of NC segments.
[0066] According to an aspect of embodiments herein, the object is achieved by a receiver node. The receiver node is configured to handle data packets from a transmitter node in a wireless communications network. The receiver node is further configured to:
[0067] - Receive a number n of Network Coded, NC, segments, from the transmitter node, in different Hybrid Automatic Repeat request, HARQ, processes, wherein the n NC segments are related to the data packets and are adapted to comprise at least two NC segments, wherein K subpackets are based on the data packets, which K subpackets are adapted to comprise at least two subpackets, wherein each subpacket adapted to be comprised in the K subpackets, has been network coded NC to form the N NC segments, wherein N>K, wherein the N NC segments are adapted to comprise at least three NC segments, and wherein said N NC segments have been transmitted by the transmitter node towards the receiver node,
[0068] - Receive an indication from the transmitter node, which indication is adapted to indicate: a respective identifier identifying each of the N transmitted NC segments, and which of the transmitted N NC segments that belongs to the same original packet, and a respective associated NC coefficient of each of the N of NC segments, and - Determine whether n is equal to or smaller than N, and when n is equal to N, determine that all NC segments transmitted from the transmitter node are adapted to be received, and when n is less than N, determine that an NC segment of the N NC segments comprised in a HARQ transmission is missing, and based on the indication, recreate the original K subpackets based on the received n NC segments of the N NC segments and retrieve the data packets.
[0069] Embodiments herein may provide one or more of the following advantages:
[0070] By performing these methods, it is possible to increase robustness in a link without using HARQ by using NC on that works on a single leg, also referred to as a single link. Embodiments herein provide similar reliability as packet duplication but with lower resource usage, e.g., fewer packet transmissions are needed.
[0071] The network coding does not require HARQ feedback to work and is therefore a suitable addition to deployments that have long delays over the air, such as NTN.
[0072] BRIEF DESCRIPTION OF THE DRAWINGS
[0073] Examples of embodiments herein are described in more detail with reference to attached drawings in which:
[0074] Figure 1 is a schematic block diagram illustrating Prior Art.
[0075] Figure 2 is a schematic block diagram illustrating Prior Art.
[0076] Figure 3 is a schematic block diagram illustrating Prior Art.
[0077] Figure 4 is a schematic block diagram illustrating Prior Art.
[0078] Figure 5 is a schematic block diagram illustrating Prior Art.
[0079] Figure 6 is a schematic block diagram illustrating embodiments of a communications network.
[0080] Figure 7 is a flowchart depicting an embodiment of a method in a transmitter node. Figure 8 is a flowchart depicting an embodiment of a method in a receiver node. Figure 9 is a schematic block diagram illustrating an example embodiment.
[0081] Figure 10 is a schematic block diagram illustrating an example embodiment.
[0082] Figure 11 is a flowchart illustrating an example embodiment of a method herein.
[0083] Figure 12 is a schematic block diagram illustrating embodiments of a transmitter node.
[0084] Figure 13 is a schematic block diagram illustrating embodiments of a receiver node.
[0085] Figure 14 schematically illustrates embodiments of a communication system.
[0086] Figure 15 is a generalized block diagram of embodiments of a UE. Figure 16 is a generalized block diagram of embodiments of a network node.
[0087] Figure 18 is a generalized block diagram of embodiments of a host.
[0088] Figure 18 is a generalized block diagram of embodiments of a virtualization environment.
[0089] Figure 19 is a generalized block diagram of embodiments of a communication diagram of a host.
[0090] DETAILED DESCRIPTION
[0091] In some examples of embodiments herein provide methods comprising an NC layer. A transmitter node such as e.g., its NC layer generates K NC subpackets by using different PDCP PDlls and constructs N NC segments. These are then sent on different independent HARQ processes, e.g., different MAC transport blocks towards a receiver node. As mentioned above, embodiments herein the transmissions are sent over one leg, also referred to as a single link, meaning that there is only one PDCP-RLC-MAC-PHY stack, which makes it different from prior art.
[0092] The methods may include descriptions of timers and information passed between layers as well as necessary information exchange between the transmitter node and the receiver node, e.g. a header with NC segment number and mapping to PDCP SN. Example embodiments herein further provide methods of how to inform the MAC layer, how to schedule the data and how the receiver should decode and reassemble the NC data.
[0093] In some examples a single PDCP packet is split into two subpackets on which NC is applied to form e.g. three NC segments. The transmitter node such as its NC layer e.g., buffers K PDCP packets and splits these into the K different NC subpackets. These K subpackets Sk are coded so that a matrix C is created with N independent vectors Ci = [gi,1 gi,2 ... , gn,K] * [S1 S2 ... SK]T. In its simplest form the transmitter node such as its NC layer constructs a subpacket from each of the PDCP packets and then constructs a matrix C with N segments to transmit independently.
[0094] On the receiving side, the receiver node such as e.g. its RLC may buffer the received segments until at least K segments have been received, that is the minimum number to decode the PDCP packet. After successful gaussian elimination of the matrix C, the receiver of the receiver node may forward the received segments to PDCP. An example for embodiments herein is for NTN where HARQ retransmissions are disabled leading to lower reliability or that other methods such as HARQ repetitions or retransmissions by RLC are needed to obtain sufficient reliability.
[0095] Another example is when a UE is at a cell edge and has a rather high Block Error Rate (BLER) even with the lowest Modulation and Coding Scheme (MCS). Another use case may be when a UE is using configured grants with fixed grant sizes and rather high BLER.
[0096] Figure 6 is a schematic overview depicting a wireless communications network 100 wherein embodiments herein may be implemented. The wireless communications network 100 comprises one or more RANs. The communications network 100 may use 5G NR but may further use a number of other different technologies, such as, 6G, Wi-Fi, Long Term Evolution (LTE), LTE-Advanced, Wideband Code Division Multiple Access (WCDMA), Global System for Mobile communications / enhanced Data rate for GSM Evolution (GSM / EDGE), Worldwide Interoperability for Microwave Access (WiMax), or Ultra Mobile Broadband (UMB), just to mention a few possible implementations.
[0097] Base stations, such as a first base station 110, operate in the RAN the communications network 100. The base station 110, may be a transmission and reception point e.g. a radio access network node such as a base station, e.g. a radio base station such as a NodeB, an evolved Node B (eNB, eNode B), an NR Node B (gNB), a base transceiver station, a radio remote unit, an Access Point Base Station, a base station router, a transmission arrangement of a radio base station, a stand-alone access point, a Wireless Local Area Network (WLAN) access point or an Access Point Station (AP ST A), an access controller, or any other network unit capable of communicating with UEs, such as a UE 121, within a cell served by the base station 110. The base station 110 may be referred to as a serving radio network node and may communicate with the UE 121 with DL transmissions to the UE 121 and UL transmissions from the UE 121.
[0098] One or more UEs operate in the wireless communication network 100, such as e.g. the UE 121. The UE 121 may e.g. be, a remote UE, a wireless device, an NR device, a mobile station, a wireless terminal, an NB-loT device, an MTC device, an eMTC device, a CAT-M device, a WiFi device, an LTE device and an a non-access point (non-AP) STA, a STA, that communicates via a base station such as e.g. a base station 110, and one or more RANs, to one or more CNs. It should be understood by the skilled in the art that “UE” is a non-limiting term which means any terminal, client, mobile client, IMS client, wireless communication terminal, user equipment, Device to Device (D2D) terminal, or node e.g. smart phone, laptop, mobile phone, sensor, relay, mobile tablets or even a car or any small base station communicating within a cell.
[0099] Methods according to embodiments herein are performed by a transmitter node 111 and a receiver node 112. In some example scenarios the transmitter node 111 is represented by the base station 110 and the receiver node 112 is represented by the UE 121. In some other example scenarios transmitter node 111 is represented by the UE 121 and the receiver node 112 is represented by the base station 110.
[0100] As mentioned above, methods according to embodiments herein are performed by the transmitter node 111 and the receiver node 112. These nodes may be Distributed Nodes (DN)s and functionality, e.g. comprised in a cloud 170 as shown in Figure 6.
[0101] A number of embodiments will now be described, some of which may be seen as alternatives, while some may be used in combination.
[0102] A method according to embodiments will first be more generally described as seen from the view of the transmitter node 111 together with Figure 7, and then as seen from the view of the receiver node 112 together with Figure 8. This will be followed by a more detailed description with examples.
[0103] Figure 7 shows example embodiments of a method performed by a transmitter node 111. The method is for handling one or more data packets to be transmitted to the receiver node 112 in the wireless communications network 100.
[0104] The method comprises the following actions, which actions may be taken in any suitable order. Optional actions are referred to as dashed boxes in Figure 7.
[0105] Action 701. The transmitter node 111 may obtain the data packets. The data packets may e.g. be PDCP packets or RLC or MAC packets. The data packets may be obtained from any user application.
[0106] To achieve robustness these data packets will be divided into subpackets, and be network coded in the below actions, and then be transmitted to the receiver node 112. The data packets are then to be retrieved by the receiver node 112. Action 702. The transmitter node 111 may generate K subpackets based on the obtained data packets. The K subpackets comprise at least two subpackets.
[0107] E.g., The transmitter node 111 divides the obtained data packets into K subpackets. This is to enable network coding of the original data packet(s). In case where several PDCP packets are obtained, these may in some cases be treated as subpackets and the NC algorithm operates directly on them, e.g. each PDCP packet can represent a subpacket.
[0108] Action 703. The transmitter node 111 may then network codes each subpacket comprised in the K subpackets to form N Network Coded (NC) segments. This may be to introduce redundancy into the coding, allowing to reconstruct the original packets from a subset of the N NC segments.
[0109] The N is greater than K (N>K). This is e.g., since K NC segments are needed to reconstruct the original packets meaning that even if some of the N NC segments are lost during transmission, the receiver node 112 can reconstruct the original packets based on the receive K NC segments. The N NC segments comprise at least three NC segments, and as mentioned above, the K subpackets comprise at least two subpackets.
[0110] In some embodiments, the network coding of each subpacket comprised in the K subpackets to form N NC segments may be performed together with a respective associated NC coefficient, to form an NC Matrix with the N NC segments. This is e.g., to make any related computation efficient.
[0111] Action 704. The transmitter node 111 transmits a data packet towards the receiver node 112 over the single link. A single link when used herein e.g. means that a single MAC / RLC / PDCP entity is used at the transmitting side, i.e. at the transmitter node 111, and the receiving side, i.e. at the receiver node 112. The data packet comprises K subpackets wherein K>=2, each subpacket network coded to form N NC segments wherein N>K, each NC segment out of the N NC segments is multiplexed into different HARQ processes. The transmitter node 111 transmits each NC segment out of the N NC segments multiplexed into different HARQ processes. The different HARQ processes may also be also referred to as different Transport Blocks (TB). The N NC segments are multiplexed into different HARQ processes e.g., to ensure that if a TB or HARQ process is lost, this will not affect all NC segments of a packet, since the different segments will be distributed over different TBs or HARQ processes. This will make recovery of the original possible as long as K of the N TBs or HARQ processes are correctly received. In contrast, if all NC segments would be multiplexed into the same TB or HARQ process, as would be the case without using embodiments herein, a recovery of the original packet would not be possible.
[0112] Action 705. The transmitter node 111 further transmits an indication to the receiver node 112. The indication comprises: parameters such as e.g., a respective identifier identifying each of the N transmitted NC segments, which of the transmitted N NC segments that belongs to the same original packet, and a respective associated NC coefficient of the N of NC segments. The associated NC coefficient of the N of NC segments was in some embodiments used for when the transmitter node 111 network coded each subpacket comprised in the K subpackets together with a respective associated NC coefficient, to form the NC Matrix with the N NC segments.
[0113] Some needed parameters such as the number K of subpackets, and the number N of transmitted NC segments may be hard coded or configured in the receiver node 112 or may in some embodiments be comprised in the indication.
[0114] The transmitted N NC segments and indication enables the receiver node 112 to, based on the indication, recreate the original K subpackets based on the received n NC segments of the N NC segments and retrieve the data packets.
[0115] Figure 8 shows example embodiments of a method performed by a receiver node 112. The method is for handling one or more data packets from a transmitter node 111 in a wireless communications network 100.
[0116] The method comprises the following actions, which actions may be taken in any suitable order. Optional actions are referred to as dashed boxes in Figure 8.
[0117] Action 801. The receiver node 112 receives a number n of NC segments from the transmitter node 111. The n NC segments are received in different HARQ processes over a single link. The n NC segments are related to the data packets and comprise at least two NC segments. The transmitter node 111 has transmitted N NC segments, but the receiver node 112 has received n NC segments. If n=N, the receiver node 112 has received all transmitted NC segments. If n<N, the receiver node 112 has not received all transmitted NC segments, meaning the receiver node have not received all NC segments to retrieve the data packets. However, by using the method according to embodiments herein the received node 112 is capable of retrieving all data packets.
[0118] As mentioned above, a number K of subpackets are based on the data packets. The K subpackets are e.g., generated by the transmitter node 111 based on the data packets. The K subpackets comprise at least two subpackets. Each subpacket comprised in the K subpackets, has been network coded (NC) to form e.g., together with a respective associated NC coefficient an NC Matrix, N NC segments.
[0119] Each subpacket comprised in the K subpackets, may be network coded to form the N NC segments, e.g., together with a respective associated NC coefficient, to form an NC Matrix with the N NC segments.
[0120] The N is greater than K (N>K), and the N NC segments comprises at least three NC segments. The said N NC segments have been transmitted by the transmitter node 111 towards the receiver node 112.
[0121] Action 802. The receiver node 112 receives an indication from the transmitter node 111. The indication indicates a respective identifier identifying each of the N transmitted NC segments, and which of the transmitted N NC segments that belongs to the same original packet, and a respective associated NC coefficient of each of the N of NC segments.
[0122] As mentioned above, some needed parameters such as the number K of subpackets, and the number N of NC segments transmitted by the transmitter node 111 may be hard coded or configured in the receiver node 112. Or as an alternative, they may in some embodiments be comprised in the received indication. Thus, the indication may further comprise the number K of subpackets, and the number N of NC segments transmitted by the transmitter node 111.
[0123] Action 803. The receiver node 112 determines whether n is equal to or smaller than N.
[0124] Action 804. When n is equal to N (n=N), the receiver node 112 determines that all NC segments transmitted from the transmitter node 111 have been received.
[0125] Action 805. When n is less than N, (n<N), the receiver node 112 determines that an NC segment of the N NC segments comprised in a HARQ transmission is missing. Action 806. Based on the received indication, the receiver node 112 recreates the original K subpackets based on the received n NC segments of the N NC segments and retrieve the data packets.
[0126] In this way by using the methods above, the original packets can be recreated based on only reception of n of the N NC segments.
[0127] Embodiments herein such as the embodiments mentioned above will now be further described and exemplified. The text below is applicable to and may be combined with any suitable embodiment described above.
[0128] System overview
[0129] According to embodiments herein, a single connection, also referred to as link, using separate HARQ transmissions is applied for the NC segments to achieve independent transmission. When using NC the data packets may need to be buffered in the transmitter node 111 and the receiver of the receiver node 112, respectively, and some more complexity may arise due to matrix inversion in the receiver node 112.
[0130] Two examples of embodiments herein are described below. In one example, two subsequent PDCP PDlls are treated as the K subpackets and are then network coded into N NC segments, in this example three NC segments. In the other example each PDCP PDU is network coded into a number of N NC segments.
[0131] Figure 9 depicts an overview of the first example of embodiments herein. Figure 9 Illustrates an example wherein a second transmission from the transmitter node 111 to the receiver node 112 fails, referred to as packet B, but it is restored via network coding from a last packet. Note that in Figure 9, the transmitter node 111 is referred to as Transmitter and the receiver node 112 is referred to as Receiver. Basically, the operation is similar to A xor (A+B) which gives the result of packet B, which means that it is possible to decode packet B out from the network coding. Note that it is not assumed any HARQ feedback here which makes the embodiment a suitable addition to deployments with long delays such as NTN. In this example K=2 and N=3. Figure 9 shows the first example where two PDPC packets A and B that are buffered in a network coding layer (NC layer) of the transmitter node 111 and are thereafter network coded. An NC layer when used herein e.g. means layer where the K subpackets are network coded into the N segments. The PDCP packets are in this example the “subpackets” however the embodiments herein are not limited to a specific number of PDCP packets. For example, a single PDPC packet may be split into K subpackets and perform the same procedure as shown in Figure 9. For simplicity the example comprises only two (K=2) single PDCP packets as subpackets. The subpackets and the NC coefficients form a network coding matrix C, with N independent vectors Ci or segments.
[0132] As can be seen, the size of the data sent here is the three segments (N=3), C1, C2 and C3 (A xor B). This equals “A+B+C3”, i.e. 50% more than just transmitting A and B. For normal PDCP duplication the overhead is always 100%.
[0133] In the example of Figure 9, the 2ndsegment, relating to HARQ process 2, is lost in the receiver node 112. According to embodiments herein, the data is recovered with gaussian elimination of the remaining segments, 1stand 3rdsegments.
[0134] The receiver node 112 needs to be notified of which segments that belong to the same original packet. As mentioned above, the receiver node 112 may receive an indication with the required information and parameters. See Action 802 above. In one option, the parameters may be part of System Information broadcasted by every radio base station, e.g., gNBs, or configured to the UE 121 when being the receiver node 112. By RRC. The indicated parameters may define the number of PDCP PDlls that are buffered and used for subpackets (2 in this example) and the number of segments (N=3 in this example). In another more dynamic example, these parameters are part of an RLC header, e.g., denoted “NC layer” in Figure 9. In addition to the basic parameters, the receiver node 112 also needs to be informed of sequence numbers and segment number, needs to receive an indication of theses parameters. This may be coded into the RLC packet header. The legacy RLC AM header is already used to convey, also referred to as indicate, the RLC SDU sequence number (SN) and this may be reused. In addition, an extra byte may be added to convey / indicate the NC information. For example, the bits are used to indicate N and K (if not part of SI or dedicated RRC configuration) and segment number. In this example, the two first RLC SDUs, correspond to exact copies of the two PDCP PDUs and the RLC SN and segment info indicates this, i.e. SN=1 and 2, segment number 1 and 2. For the third segment, which is a NC coded version of both PDCP PDU A and PDCP PDU B, the corresponding RLC SDU is created by the NC. In this case this segment may use the SN of the last RLC SDU, i.e. SN=2 and segment=3. This enables the receiver node 112 to understand how to recover the initial packets.
[0135] The second example is depicted in Figure 10 illustrating PDCP PDU / RLC SDU packets split into 2 subpackets, which are segmented by NC operation into 3 segments. Different segments of same SN sent in different TBs, i.e. different HARQ processes. A PDCP SN, is typically same as RLC SN if only one stack as in this case. A TB is made up of segments from several PDCP packets.
[0136] Depending on the TB size,
[0137] - Several RLC segments from same PDCP SN and user gives lower reliability, lower delay The reason is that if one TB is lost, several NC coded packets of the same original packet are lost, resulting in lower reliability since less overall redundancy.
[0138] - Containing subpackets from even more PDCP packets gives longer delay, higher reliability. Here it is possible to create more redundancy, more NC packets, which will be spread out into more TBs. But this results in a longer wait to receive a sufficient amount of NC coded packets.
[0139] In this example, every PDCP PDU i.e. RLC SDU is split into two subpackets which are segmented by NC operation into 3 segments. The RLC layer of the transmitter node 111 then takes these segmented and network coded RLC SDU segments and adds the needed information, to be indicated in the RLC header. First, the legacy RLC SN indicates the RLC SDU which has been segmented and to which NC has been applied. An additional field is added which indicates N, K and segment number. Since the RLC header is byte aligned, 8 bits may be used for this, e.g. N uses the first two bits (may code up to 5 subpackets, since the value is always larger than 2), K uses bit 3 to 5 and segment number uses bit 6 to 8. Also in this case, the general NC parameters may be conveyed via SI or in dedicated RRC signalling.
[0140] In some embodiments of the transmitter node 111 , the NC layer informs the MAC layer that the different segments of the same SN must be transmitted on different TBs i.e. HARQ processes.
[0141] Figures 11a-c show a detailed flow charts of example embodiments herein. They depict a case NC is performed for two or more PDCP packets. The flowchart in Figure 11a describes the transmitting PDCP and network coding layer of the transmitter node 111. The flowchart in Figure 11b illustrates the transmitting MAC layer of the transmitter node 111 , and finally he flowchart in Figure 11c describes the receiver part of the receiver node 112. Note that there may be either a separate NC layer or this may be integrated to RLC.
[0142] PDCP and Network Coding layer - transmitter node 111 at Sender side.
[0143] The Actions in the PDCP and Network Coding layer in the sender side, i.e. in the transmitter node 111 are depicted in Figure 11a. Action 1101. The transmitter node 111 monitors if any PDCP packet is received.
[0144] In one embodiment the latency due to buffering of PDCP packets is limited by a timer (MaxWaitingTime) according to embodiments herein. The PDCP buffering may be done to increase the flexibility and efficiency for the transport block at lower layers.
[0145] Action 1102. PDCP layer of the transmitter node 111 receives packets. At start time, MaxWaitingTime=0. The timer, MaxWaitingTime, is started when a first PDCP packet in a pair or the specified number of PDCP packets that are buffered before NC is applied.
[0146] Action 1103. The transmitter node 111 monitors if the Max Waiting Time is expired. The timer is stopped when the second PDCP packet in a pair or the last PDCP packet of the specified number of PDCP packets that are buffered before NC is applied is received. If the timer expires, the PDCP packets are sent to lower layers without applying NC. In another option, when the timer expires, the received packet or packets that have been received since the timer started are submitted to the NC or RLC layer for NC.
[0147] Action 1105. The transmitter node 111 checks if any new PDCP packet is received?
[0148] Action 1106. If so the transmitter node 111 sends the PDCP packets to the NC layer.
[0149] Action 1107. The NC layer of the transmitter node 111 codes the 2 PDPCP packets to N=3 segments (N=3,K=2). The transmitter node 111 such as its NC layer encodes the PDCP packets into different segments, e.g. N=3, N>K, e.g., created using the network coding matrix C from the subpackets [S1 S2 ... SK] and the NC coefficients G= [gi, 1 gi,2 ... , gi,K] such as C = [gi,1 gi,2 ... , gi,K] * [S1 S2 ... SK]T. The matrix C will then contain N independent network coded vectors Ci or segments.
[0150] Action 1108. The NC layer sends the NC segments to RLC of the transmitter node 111. Each segment must be on different HARQ Processes. The NC layer shall preferably inform the lower layer, e.g. the RLC or the MAC layer, that each of the segment packets must be sent on different HARQ processes.
[0151] This may be implemented by mapping the segment numbers, 1,2,3 in this example, to different HARQ processes. For example, all segments with segment number 1 are transmitted on HARQ process k, all segments with segment number 2 are transmitted on HARQ process k+1 and so on.
[0152] RLC / MAC layer - transmitter node 111 at the sender side The Actions in the RLC / MAC layer in the sender side, i.e. in the transmitter node 111 are depicted in Figure 11b.
[0153] Action 1111.The transmitter node 111 monitors if a first NC segment is to be sent to the MAC layer.
[0154] Action 1112. The first NC segment is set to Number=1.
[0155] Action 1113. The 1stNC segment is sent to MAC.
[0156] Action 1114. The MAC layer adds NC segment to PHY layer, adds a MAC header with NC segment number and transmits it to the receiver node 112. The NC segments may be passed to RLC, i.e., RLC SDlls, or the NC segments may be constructed in RLC and the mapping to HARQ processes be based on RLC SN if different NC segments are in different RLC SDUs.
[0157] For example, it may be implemented so that if RLC SN mod 3=0, the RLC SDU is transmitted on HARQ process k, that if RLC SN mod 3=1 , the RLC SDU is transmitted on HARQ process k+1, and so on. If the NC segmentation is performed in the RLC layer, then different segments may have the same SN and segments of the same SN must be use different HARQ processes.
[0158] The NC segments may be passed to different logical channels (LCHs) with the restriction that the LCHs are not allowed to be multiplexed in the same TB (i.e. HARQ process). In this case it is possible to also configure different logical channel priorities to the LCHs so that transmission of the K first segments is prioritized over transmission of the last segments.
[0159] The header may be implemented in different ways, but the important thing is that the header is visible to the receiving NC layer. If as in this invention NC is applied to PDCP PDU packet and the NC layer is part of RLC, the header may be part of the RLC header.
[0160] The transmitter node 111 may also receive feedback from the receiver node 112 that the PDCP packet has been successfully decoded. In this case the transmitter may stop transmitting additional segments, i.e., if decoding was successful after transmitting K segments, there is no need to transmit the additional segments. This may be implemented so that the MAC stops transmitting or retransmitting MAC TBs or that the RLC layer discards the corresponding RLC SDU.
[0161] Receiver node 112 at the Receiver side
[0162] The Actions in the receiver side, i.e. in the receiver node 112 are depicted in Figure
[0163] 11c. Action 1121. The MAC receiver at the receiver node 112 finds the segment number.
[0164] Action 1122. The MAC receiver at the receiver node 112 checks if the Max segments are received (i.e., N segments). The Max segments are the maximum number of network coded segments used in the transmission.
[0165] Action 1123. The receiver node 112 such as its MAC receiver, checks if Any NC segment is lost? The receiver node 112 receives the indication from the transmitter node 111 in which it is notified of the number of the segments and the SN via the NC information in the RLC header. This is to know which segments that belong to the same PDCP packet. Note that the NC coefficients are preferably sent by the transmitter node 111 to the transmitter node 111 too. The receiver node 112 has to wait at least for k=K segments (MAC TBs) until it can try to decode the data. This is since at least k=K segments are needed to decode the original subpackets and data packets. If the receiver node 112 cannot decode the data for K segments it will wait for more segments, up to k=N segments.
[0166] Action 1124. The receiver node 112 uses Gaussian elimination to decode the NC segments.
[0167] Action 1125. The receiver node 112 determines whether the Gaussian elimination was successful. In one option, if the receiver node 112 is able to decode the data after only K segments (or k<N), it may inform the transmitter node 111 in advance that the data is successfully decoded, this requires feedback, i.e. HARQ ACK or NACK.
[0168] Action 1126. If the reception is not successful, the receiver node 112 awaits additional segments. If the gaussian elimination was not successful (due to too many segments were lost), the receiver node 112 may send a NACK to specify which segment, i.e. which HARQ process, that should be resent. According to one option, if the gaussian elimination was successful, the receiver never sends any ACK or NACK to the sender.
[0169] Action 1127. If the reception was successful, the receiver node 112 passes the decode the NC segments to upper layers.
[0170] Action 1128. In the upper layer, the receiver node 112 determines if less than N NC segments have been received.
[0171] Action 1129. If less than N NC segments have been received the receiver node
[0172] 112 sends feedback to the transmitter node 111. To perform the method actions above, the transmitter node 111 is configured to handle data packets to be transmitted to a receiver node 112 in a wireless communications network 100.
[0173] The transmitter node 111 may comprise an arrangement depicted in Figure 12. The transmitter node 111 may comprise an input and output interface 1200 configured to communicate in the communications network 100, e.g., with the receiver node 112. The input and output interface 1200 may comprise a wireless receiver not shown, and a wireless transmitter not shown.
[0174] The transmitter node 111 may further be configured to generate K subpackets based on an obtained data packets, wherein the K subpackets are adapted to comprise at least two subpackets.
[0175] The transmitter node 111 may further be configured to network code each subpacket adapted to be comprised in the K subpackets, to form N Network Coded, NC, segments, wherein N>K, and wherein the N NC segments are adapted to comprise at least three NC segments.
[0176] The transmitter node 111 is further configured to transmit a data packet towards the receiver node over the single link. The data packet comprises K subpackets wherein K>=2, each subpacket network coded to form N NC segments wherein N>K, each NC segment out of the N NC segments is multiplexed into different HARQ processes.
[0177] The transmitter node 111 is further configured to transmit an indication to the receiver node 112, which indication is adapted to comprise: a respective identifier identifying each of the N transmitted NC segments, which of the transmitted N NC segments that belongs to the same original packet, and a respective associated NC coefficient of the N of NC segments.
[0178] In some embodiments, the transmitted N NC segments and indication enables the receiver node (112) to, based on the indication, recreate the original K subpackets based on the received n NC segments of the N NC segments and retrieve the data packets.
[0179] In some embodiments, the indication is further adapted to comprise the number K of subpackets, and the number N of transmitted NC segments.
[0180] In some embodiments, the network coding of each subpacket adapted to be comprised in the K subpackets to form N NC segments is further adapted to comprise network coding of each subpacket adapted to be comprised in the K subpackets, together with a respective associated NC coefficient, to form an NC Matrix with the N NC segments. To perform the method actions above, the receiver node 112 is configured to handle data packets from a transmitter node 111 in a wireless communications network 100.
[0181] The receiver node 112 may comprise an arrangement depicted in Figure 13. The receiver node 112may comprise an input and output interface 1300 configured to communicate in the communications network 100, e.g., with the transmitter node 111. The input and output interface 1300 may comprise a wireless receiver not shown, and a wireless transmitter not shown.
[0182] The receiver node 112 is further configured to receive a number n of Network Coded, NC, segments, from the transmitter node 111, in different Hybrid Automatic Repeat request, HARQ, processes. The n NC segments are related to the data packets and are adapted to comprise at least two NC segments. The K subpackets are based on the data packets, which K subpackets are adapted to comprise at least two subpackets. Each subpacket adapted to be comprised in the K subpackets, has been network coded NC to form the N NC segments. The N is greater than K, and the N NC segments are adapted to comprise at least three NC segments. The said N NC segments have been transmitted by the transmitter node 111 towards the receiver node 112.
[0183] The receiver node 112 is further configured to receive an indication from the transmitter node 111. The indication is adapted to indicate a respective identifier identifying each of the N transmitted NC segments, and which of the transmitted N NC segments that belongs to the same original packet, and a respective associated NC coefficient of each of the N of NC segments.
[0184] The receiver node 112 is further configured to determine whether n is equal to or smaller than N.
[0185] When n is equal to N, the receiver node 112 is further configured to determine that all NC segments transmitted from the transmitter node 111 are adapted to be received.
[0186] When n is less than N, the receiver node 112 is further configured to determine that an NC segment of the N NC segments comprised in a HARQ transmission is missing, and based on the indication, recreate the original K subpackets based on the received n NC segments of the N NC segments and retrieve the data packets.
[0187] In some embodiments, each subpacket adapted to be comprised in the K subpackets, has been network coded NC to form the N NC segments together with a respective associated NC coefficient to form an NC Matrix with the N NC segments.
[0188] In some embodiments, the indication is further adapted to comprise the number K of subpackets, and the number N of NC segments transmitted by the transmitter node 111. Embodiments herein may be implemented through a respective processor or one or more processors, such as the respective processor 1210 of a processing circuitry in the transmitter node 111 depicted in Figure 12, and processor 1310 of a processing circuitry in the receiver node 112 depicted in Figure 13 together with respective computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the respective transmitter node 111 and the receiver node 112. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the respective IMS node 130 and PS ON node 151 transmitter node 111 and the receiver node 112.
[0189] The transmitter node 111 and the receiver node 112 may further comprise a respective memory 1220 and memory 1320 comprising one or more memory units. The respective memory 1220 and memory 1320 comprises instructions executable by the processor in the respective transmitter node 111 and the receiver node 112. The respective memory 1220 and memory 1320 are arranged to be used to store e.g., media functions, indications, tags, information, data, configurations, communication data, and applications to perform the methods herein when being executed in the respective transmitter node 111 and the receiver node 112.
[0190] In some embodiments, a respective computer program 1230 and computer program 1330 comprises instructions, which when executed by the respective at least one processor 1210 and processor 1310, cause the at least one processor of respective transmitter node 111 and the receiver node 112 to perform the actions above.
[0191] In some embodiments, a respective carrier 1240 and carrier 1340 comprises the respective computer program 1230 and computer program 1330, wherein the respective carrier 1240 and carrier 1340 is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a computer-readable storage medium.
[0192] Those skilled in the art will appreciate that units in the respective transmitter node 111 and the receiver node 112 described above may refer to a combination of analog and digital circuits, and / or one or more processors configured with software and / or firmware, e.g. stored in the respective transmitter node 111 and the receiver node 112, that when executed by the respective one or more processors such as the processors described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuitry ASIC, or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a-Chip (SoC).
[0193] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.
[0194] Figure 14 shows an example of a communication system QQ100 in accordance with some embodiments.
[0195] In the example, the communication system QQ100 includes a telecommunication network QQ102 that includes an access network QQ104, such as a radio access network (RAN), and a core network QQ106, which includes one or more core network nodes QQ108. The access network QQ104 includes one or more access network nodes, such as network nodes QQ110a and QQ110b (one or more of which may be generally referred to as network nodes QQ110), or any other similar 3rdGeneration Partnership Project (3GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network QQ102 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network QQ102 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network QQ102, including one or more network nodes QQ110 and / or core network nodes QQ108.
[0196] Examples of an ORAN network node include an open radio unit (0-Rll), an open distributed unit (0-Dll), an open central unit (O-CU), including an O-CU control plane (O- CLI-CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an A1 , F1, W1, E1 , E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an 0-2 interface defined by the O-RAN Alliance or comparable technologies. The network nodes QQ110 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 121, QQ112a, QQ112b, QQ112c, and QQ112d (one or more of which may be generally referred to as UEs QQ112) to the core network QQ106 over one or more wireless connections.
[0197] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system QQ100 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system QQ100 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0198] The UEs QQ112 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes QQ110 and other communication devices. Similarly, the network nodes QQ110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs QQ112 and / or with other network nodes or equipment in the telecommunication network QQ102 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network QQ102.
[0199] In the depicted example, the core network QQ106 connects the network nodes QQ110 to one or more hosts, such as host QQ116. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network QQ106 includes one more core network nodes (e.g., core network node QQ108) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node QQ108. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (ALISF), Subscription Identifier Deconcealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).
[0200] The host QQ116 may be under the ownership or control of a service provider other than an operator or provider of the access network QQ104 and / or the telecommunication network QQ102, and may be operated by the service provider or on behalf of the service provider. The host QQ116 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.
[0201] As a whole, the communication system QQ100 of Figure 14 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.
[0202] In some examples, the telecommunication network QQ102 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network QQ102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network QQ102. For example, the telecommunications network QQ102 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC) / Massive loT services to yet further UEs.
[0203] In some examples, the UEs QQ112 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network QQ104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network QQ104. Additionally, a UE may be configured for operating in single- or multi- RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC).
[0204] In the example, the hub QQ114 communicates with the access network QQ104 to facilitate indirect communication between one or more UEs (e.g., UE QQ112c and / or QQ112d) and network nodes (e.g., network node QQ110b). In some examples, the hub QQ114 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub QQ114 may be a broadband router enabling access to the core network QQ106 for the UEs. As another example, the hub QQ114 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes QQ110, or by executable code, script, process, or other instructions in the hub QQ114. As another example, the hub QQ114 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub QQ114 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub QQ114 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub QQ114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub QQ114 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.
[0205] The hub QQ114 may have a constant, persistent or intermittent connection to the network node QQ110b. The hub QQ114 may also allow for a different communication scheme and / or schedule between the hub QQ114 and UEs (e.g., UE QQ112c and / or QQ112d), and between the hub QQ114 and the core network QQ106. In other examples, the hub QQ114 is connected to the core network QQ106 and / or one or more UEs via a wired connection. Moreover, the hub QQ114 may be configured to connect to an M2M service provider over the access network QQ104 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes QQ110 while still connected via the hub QQ114 via a wired or wireless connection. In some embodiments, the hub QQ114 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node QQ110b. In other embodiments, the hub QQ114 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node QQ110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.
[0206] Figure 15 shows a UE QQ200 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes such as e.g., base station 110, the transmitter node 111 and / or receiver node 112, and / or other UEs, such as e.g., UE 121, the transmitter node 111 and / or receiver node 112. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rdGeneration Partnership Project (3GPP), including a narrow band internet of things (NB-loT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.
[0207] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle-to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter). The UE QQ200 includes processing circuitry QQ202 that is operatively coupled via a bus QQ204 to an input / output interface QQ206, a power source QQ208, a memory QQ210, a communication interface QQ212, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 15. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.
[0208] The processing circuitry QQ202 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory QQ210. The processing circuitry QQ202 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry QQ202 may include multiple central processing units (CPUs).
[0209] In the example, the input / output interface QQ206 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE QQ200. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.
[0210] In some embodiments, the power source QQ208 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source QQ208 may further include power circuitry for delivering power from the power source QQ208 itself, and / or an external power source, to the various parts of the UE QQ200 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source QQ208. Power circuitry may perform any formatting, converting, or other modification to the power from the power source QQ208 to make the power suitable for the respective components of the UE QQ200 to which power is supplied.
[0211] The memory QQ210 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory QQ210 includes one or more application programs QQ214, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data QQ216. The memory QQ210 may store, for use by the UE QQ200, any of a variety of various operating systems or combinations of operating systems.
[0212] The memory QQ210 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUlCC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory QQ210 may allow the UE QQ200 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory QQ210, which may be or comprise a device-readable storage medium.
[0213] The processing circuitry QQ202 may be configured to communicate with an access network or other network using the communication interface QQ212. The communication interface QQ212 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna QQ222. The communication interface QQ212 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter QQ218 and / or a receiver QQ220 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter QQ218 and receiver QQ220 may be coupled to one or more antennas (e.g., antenna QQ222) and may share circuit components, software or firmware, or alternatively be implemented separately.
[0214] In the illustrated embodiment, communication functions of the communication interface QQ212 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.
[0215] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface QQ212, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).
[0216] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input. A UE, when in the form of an Internet of Things (loT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and / or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE QQ200 shown in Figure 15.
[0217] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-loT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.
[0218] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators. Figure 16 shows a network node QQ300 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (aPs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)), O- RAN nodes or components of an O-RAN node (e.g., 0-Rll, 0-Dll, O-CU).
[0219] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units, distributed units (e.g., in an O-RAN access node) and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).
[0220] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi- cell / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs).
[0221] The network node QQ300 includes a processing circuitry QQ302, a memory QQ304, a communication interface QQ306, and a power source QQ308. The network node QQ300 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node QQ300 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node QQ300 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory QQ304 for different RATs) and some components may be reused (e.g., a same antenna QQ310 may be shared by different RATs). The network node QQ300 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node QQ300, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node QQ300.
[0222] The processing circuitry QQ302 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node QQ300 components, such as the memory QQ304, to provide network node QQ300 functionality.
[0223] In some embodiments, the processing circuitry QQ302 includes a system on a chip (SOC). In some embodiments, the processing circuitry QQ302 includes one or more of radio frequency (RF) transceiver circuitry QQ312 and baseband processing circuitry QQ314. In some embodiments, the radio frequency (RF) transceiver circuitry QQ312 and the baseband processing circuitry QQ314 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry QQ312 and baseband processing circuitry QQ314 may be on the same chip or set of chips, boards, or units.
[0224] The memory QQ304 may comprise any form of volatile or non-volatile computer- readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device- readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry QQ302. The memory QQ304 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry QQ302 and utilized by the network node QQ300. The memory QQ304 may be used to store any calculations made by the processing circuitry QQ302 and / or any data received via the communication interface QQ306. In some embodiments, the processing circuitry QQ302 and memory QQ304 is integrated.
[0225] The communication interface QQ306 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface QQ306 comprises port(s) / terminal(s) QQ316 to send and receive data, for example to and from a network over a wired connection. The communication interface QQ306 also includes radio front-end circuitry QQ318 that may be coupled to, or in certain embodiments a part of, the antenna QQ310. Radio front-end circuitry QQ318 comprises filters QQ320 and amplifiers QQ322. The radio front-end circuitry QQ318 may be connected to an antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry may be configured to condition signals communicated between antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry QQ318 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry QQ318 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters QQ320 and / or amplifiers QQ322. The radio signal may then be transmitted via the antenna QQ310. Similarly, when receiving data, the antenna QQ310 may collect radio signals which are then converted into digital data by the radio front-end circuitry QQ318. The digital data may be passed to the processing circuitry QQ302. In other embodiments, the communication interface may comprise different components and / or different combinations of components.
[0226] In certain alternative embodiments, the network node QQ300 does not include separate radio front-end circuitry QQ318, instead, the processing circuitry QQ302 includes radio front-end circuitry and is connected to the antenna QQ310. Similarly, in some embodiments, all or some of the RF transceiver circuitry QQ312 is part of the communication interface QQ306. In still other embodiments, the communication interface QQ306 includes one or more ports or terminals QQ316, the radio front-end circuitry QQ318, and the RF transceiver circuitry QQ312, as part of a radio unit (not shown), and the communication interface QQ306 communicates with the baseband processing circuitry QQ314, which is part of a digital unit (not shown).
[0227] The antenna QQ310 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna QQ310 may be coupled to the radio front-end circuitry QQ318 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna QQ310 is separate from the network node QQ300 and connectable to the network node QQ300 through an interface or port.
[0228] The antenna QQ310, communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna QQ310, the communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.
[0229] The power source QQ308 provides power to the various components of network node QQ300 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source QQ308 may further comprise, or be coupled to, power management circuitry to supply the components of the network node QQ300 with power for performing the functionality described herein. For example, the network node QQ300 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source QQ308. As a further example, the power source QQ308 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.
[0230] Embodiments of the network node QQ300 may include additional components beyond those shown in Figure 16 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node QQ300 may include user interface equipment to allow input of information into the network node QQ300 and to allow output of information from the network node QQ300. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node QQ300. Figure 17 is a block diagram of a host QQ400, which may be an embodiment of the host QQ116 of Figure 14, in accordance with various aspects described herein. As used herein, the host QQ400 may be or comprise various combinations hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host QQ400 may provide one or more services to one or more UEs.
[0231] The host QQ400 includes processing circuitry QQ402 that is operatively coupled via a bus QQ404 to an input / output interface QQ406, a network interface QQ408, a power source QQ410, and a memory QQ412. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures QQ2 and QQ3, such that the descriptions thereof are generally applicable to the corresponding components of host QQ400.
[0232] The memory QQ412 may include one or more computer programs including one or more host application programs QQ414 and data QQ416, which may include user data, e.g., data generated by a UE for the host QQ400 or data generated by the host QQ400 for a UE. Embodiments of the host QQ400 may utilize only a subset or all of the components shown. The host application programs QQ414 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAG, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs QQ414 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host QQ400 may select and / or indicate a different host for over-the-top services for a UE. The host application programs QQ414 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.
[0233] Figure 18 is a block diagram illustrating a virtualization environment QQ500 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments QQ500 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment QQ500 includes components defined by the O-RAN Alliance, such as an O- Cloud environment orchestrated by a Service Management and Orchestration Framework via an 0-2 interface.
[0234] Applications QQ502 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment Q400 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.
[0235] Hardware QQ504 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers QQ506 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs QQ508a and QQ508b (one or more of which may be generally referred to as VMs QQ508), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer QQ506 may present a virtual operating platform that appears like networking hardware to the VMs QQ508.
[0236] The VMs QQ508 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer QQ506. Different embodiments of the instance of a virtual appliance QQ502 may be implemented on one or more of VMs QQ508, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment. In the context of NFV, a VM QQ508 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs QQ508, and that part of hardware QQ504 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs QQ508 on top of the hardware QQ504 and corresponds to the application QQ502.
[0237] Hardware QQ504 may be implemented in a standalone network node with generic or specific components. Hardware QQ504 may implement some functions via virtualization. Alternatively, hardware QQ504 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration QQ510, which, among others, oversees lifecycle management of applications QQ502. In some embodiments, hardware QQ504 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system QQ512 which may alternatively be used for communication between hardware nodes and radio units.
[0238] Figure 19 shows a communication diagram of a host QQ602 communicating via a network node QQ604 with a UE QQ606 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE QQ112a of Figure 14 and / or UE QQ200 of Figure 15), network node (such as network node QQ110a of Figure 14 and / or network node QQ300 of Figure 16), and host (such as host QQ116 of Figure 14 and / or host QQ400 of Figure 17) discussed in the preceding paragraphs will now be described with reference to Figure 19.
[0239] Like host QQ400, embodiments of host QQ602 include hardware, such as a communication interface, processing circuitry, and memory. The host QQ602 also includes software, which is stored in or accessible by the host QQ602 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE QQ606 connecting via an over-the-top (OTT) connection QQ650 extending between the UE QQ606 and host QQ602. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection QQ650.
[0240] The network node QQ604 includes hardware enabling it to communicate with the host QQ602 and UE QQ606. The connection QQ660 may be direct or pass through a core network (like core network QQ106 of Figure 14) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.
[0241] The UE QQ606 includes hardware and software, which is stored in or accessible by UE QQ606 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE QQ606 with the support of the host QQ602. In the host QQ602, an executing host application may communicate with the executing client application via the OTT connection QQ650 terminating at the UE QQ606 and host QQ602. In providing the service to the user, the UE's client application may receive request data from the host’s host application and provide user data in response to the requests data. The OTT connection QQ650 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection QQ650.
[0242] The OTT connection QQ650 may extend via a connection QQ660 between the host QQ602 and the network node QQ604 and via a wireless connection QQ670 between the network node QQ604 and the UE QQ606 to provide the connection between the host QQ602 and the UE QQ606. The connection QQ660 and wireless connection QQ670, over which the OTT connection QQ650 may be provided, have been drawn abstractly to illustrate the communication between the host QQ602 and the UE QQ606 via the network node QQ604, without explicit reference to any intermediary devices and the precise routing of messages via these devices.
[0243] As an example of transmitting data via the OTT connection QQ650, in step QQ608, the host QQ602 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE QQ606. In other embodiments, the user data is associated with a UE QQ606 that shares data with the host QQ602 without explicit human interaction. In step QQ610, the host QQ602 initiates a transmission carrying the user data towards the UE QQ606. The host QQ602 may initiate the transmission responsive to a request transmitted by the UE QQ606. The request may be caused by human interaction with the UE QQ606 or by operation of the client application executing on the UE QQ606. The transmission may pass via the network node QQ604, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step QQ612, the network node QQ604 transmits to the UE QQ606 the user data that was carried in the transmission that the host QQ602 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step QQ614, the UE QQ606 receives the user data carried in the transmission, which may be performed by a client application executed on the UE QQ606 associated with the host application executed by the host QQ602.
[0244] In some examples, the UE QQ606 executes a client application which provides user data to the host QQ602. The user data may be provided in reaction or response to the data received from the host QQ602. Accordingly, in step QQ616, the UE QQ606 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE QQ606. Regardless of the specific manner in which the user data was provided, the UE QQ606 initiates, in step QQ618, transmission of the user data towards the host QQ602 via the network node QQ604. In step QQ620, in accordance with the teachings of the embodiments described throughout this disclosure, the network node QQ604 receives user data from the UE QQ606 and initiates transmission of the received user data towards the host QQ602. In step QQ622, the host QQ602 receives the user data carried in the transmission initiated by the UE QQ606.
[0245] One or more of the various embodiments improve the performance of OTT services provided to the UE QQ606 using the OTT connection QQ650, in which the wireless connection QQ670 forms the last segment. More precisely, the teachings of these embodiments may improve the latency and thereby provide benefits such as reduced user waiting time.
[0246] In an example scenario, factory status information may be collected and analyzed by the host QQ602. As another example, the host QQ602 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host QQ602 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host QQ602 may store surveillance video uploaded by a UE. As another example, the host QQ602 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host QQ602 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.
[0247] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection QQ650 between the host QQ602 and UE QQ606, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host QQ602 and / or UE QQ606. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection QQ650 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection QQ650 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node QQ604. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host QQ602. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection QQ650 while monitoring propagation times, errors, etc.
[0248] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
[0249] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.
[0250] When using the word “comprise” or “comprising” it shall be interpreted as nonlimiting, i.e. meaning consisting at least of.
[0251] The embodiments herein are not limited to the preferred embodiments described above. Various alternatives, modifications and equivalents may be used.
Claims
CLAIMS1 . A method performed by a transmitter node (111), for handling a data packet to be transmitted to a receiver node (112) over a single link, in a wireless communications network (100), the method comprising: transmitting (704) towards the receiver node (112) over the single link, a data packet comprising K subpackets wherein K>=2, each subpacket network coded to form N Network Coded, NC, segments wherein N>K, each NC segment out of the N NC segments is multiplexed into different Hybrid Automatic Repeat request, HARQ, processes, and transmitting (705) an indication to the receiver node (112), which indication comprises:- a respective identifier identifying each of the N transmitted NC segments,- which of the transmitted N NC segments that belongs to the same original packet, and- a respective associated NC coefficient of the N of NC segments.
2. The method according to claim 1 , wherein the transmitted N NC segments and indication enables the receiver node (112) to: based on the indication, recreate the original K subpackets based on the received n NC segments of the N NC segments and retrieve the data packets.
3. The method according to any of the claims 1-2, wherein the indication further comprises:- the number K of subpackets, and- the number N of transmitted NC segments.
4. The method according to any of the claims 1-3, wherein the network coding (703) each subpacket comprised in the K subpackets to form N NC segments comprises: network coding each subpacket comprised in the K subpackets, together with a respective associated NC coefficient, to form an NC Matrix with the N NC segments.
5. A computer program (1230) comprising instructions, which when executed by a processor (1210), causes the processor (1210) to perform actions according to any of the claims 1-4.
6. A carrier (1240) comprising the computer program (1230) of claim 5, wherein the carrier (1240) is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a computer-readable storage medium.
7. A method performed by a receiver node (112) for handling a data packet from a transmitter node (111) in a wireless communications network (100), the method comprising: receiving (801) over a single link, a number n of Network Coded, NC, segments, from the transmitter node (111), in different Hybrid Automatic Repeat request, HARQ, processes, wherein the n NC segments are related to the data packet and comprise at least two NC segments, wherein K subpackets are based on the data packet, which K subpackets comprise at least two subpackets, wherein each subpacket comprised in the K subpackets, has been network coded NC to form, together with a respective associated NC coefficient, an NC Matrix with the N NC segments, wherein N>K, and receiving (802) an indication from the transmitter node (111), which indication indicates:- a respective identifier identifying each of the N transmitted NC segments, and- which of the transmitted N NC segments that belongs to the same original packet, and- a respective associated NC coefficient of each of the N of NC segments, determining (803) whether n is equal to or smaller than N, when n is equal to N, determining (804) that all NC segments transmitted from the transmitter node (111) have been received, and when n is less than N, determining (805) that an NC segment of the N NC segments comprised in a HARQ transmission is missing, and based on the indication, recreating (806) the original K subpackets based on the received n NC segments of the N NC segments and retrieve the data packet.
8. The method according to claim 7, wherein each subpacket comprised in the K subpackets, has been network coded NC to form the N NC segments comprises that: each subpacket comprised in the K subpackets, has been network coded NC to together with a respective associated NC coefficient to form an NC Matrix with the N NC segments.
9. The method according to any of the claims 7-8, wherein the indication further comprises:- the number K of subpackets, and- the number N of NC segments transmitted by the transmitter node (111).
10. A computer program (1330) comprising instructions, which when executed by a processor (1310), causes the processor (1310) to perform actions according to any of the claims 7-9.
11. A carrier (1340) comprising the computer program (1330) of claim 10, wherein the carrier (1340) is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a computer-readable storage medium.
12. A transmitter node (111) configured to handle data packets to be transmitted to a receiver node (112) in a wireless communications network (100), the transmitter node (111) further configured to: transmit towards the receiver node (112) over the single link, a data packet comprising K subpackets wherein K>=2, each subpacket network coded to form N Network Coded, NC, segments wherein N>K, each NC segment out of the N NC segments is multiplexed into different Hybrid Automatic Repeat request, HARQ, processes, transmit an indication to the receiver node (112), which indication is adapted to comprise:- a respective identifier identifying each of the N transmitted NC segments,- which of the transmitted N NC segments that belongs to the same original packet, and- a respective associated NC coefficient of the N of NC segments.
13. The transmitter node (111) according to claim 12, wherein the transmitted N NC segments and indication enables the receiver node (112) to: based on the indication, recreate the original K subpackets based on the received n NC segments of the N NC segments and retrieve the data packets.
14. The transmitter node (111) according to any of the claims 12-13, wherein the indication is further adapted to comprise:- the number K of subpackets, and- the number N of transmitted NC segments.
15. The transmitter node (111) according to any of the claims 12-14, wherein the network coding of each subpacket adapted to be comprised in the K subpackets to form N NC segments is further adapted to comprise: network coding each subpacket adapted to be comprised in the K subpackets, together with a respective associated NC coefficient, to form an NC Matrix with the N NC segments.
16. A receiver node (112) configured to handle data packets from a transmitter node (111) in a wireless communications network (100), the receiver node (112) further configured to: receive over a single link, a number n of Network Coded, NC, segments, from the transmitter node (111), in different Hybrid Automatic Repeat request, HARQ, processes, wherein the n NC segments are related to the data packets and are adapted to comprise at least two NC segments, wherein K subpackets are based on the data packets, which K subpackets are adapted to comprise at least two subpackets, wherein each subpacket adapted to be comprised in the K subpackets, has been network coded NC to form the N NC segments, wherein N>K, wherein the N NC segments are adapted to comprise at least three NC segments, and wherein said N NC segments have been transmitted by the transmitter node (111) towards the receiver node (112), andreceive an indication from the transmitter node (111), which indication is adapted to indicate:- a respective identifier identifying each of the N transmitted NC segments, and- which of the transmitted N NC segments that belongs to the same original packet, and- a respective associated NC coefficient of each of the N of NC segments, determine whether n is equal to or smaller than N, when n is equal to N, determine that all NC segments transmitted from the transmitter node (111) are adapted to be received, and when n is less than N, determine that an NC segment of the N NC segments comprised in a HARQ transmission is missing, and based on the indication, recreate the original K subpackets based on the received n NC segments of the N NC segments and retrieve the data packets.
17. The receiver node (112) according to claim 16, wherein each subpacket adapted to be comprised in the K subpackets, has been network coded NC to form the N NC segments further adapted to comprise that: each subpacket adapted to be comprised in the K subpackets, has been network coded NC together with a respective associated NC coefficient to form an NC Matrix with the N NC segments.
18. The receiver node (112) according to any of the claims 16-17, wherein the indication is further adapted to comprise:- the number K of subpackets, and- the number N of NC segments transmitted by the transmitter node (111).
Citation Information
Patent Citations
Method and apparatus for broadcasting / multicasting retransmission based on network coding
WO2011113200A1