WO2017111678A1 - Methods and nodes for communication of data over a radio link - Google Patents

Methods and nodes for communication of data over a radio link Download PDF

Info

Publication number
WO2017111678A1
WO2017111678A1 PCT/SE2015/051393 SE2015051393W WO2017111678A1 WO 2017111678 A1 WO2017111678 A1 WO 2017111678A1 SE 2015051393 W SE2015051393 W SE 2015051393W WO 2017111678 A1 WO2017111678 A1 WO 2017111678A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
value
sending node
node
data sending
Prior art date
Application number
PCT/SE2015/051393
Other languages
French (fr)
Inventor
Robert Baldemair
Martin HESSLER
Erik Eriksson
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/SE2015/051393 priority Critical patent/WO2017111678A1/en
Publication of WO2017111678A1 publication Critical patent/WO2017111678A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit codes
    • H03M13/096Checksums
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1657Implicit acknowledgement of correct or incorrect reception, e.g. with a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy

Definitions

  • the present disclosure relates generally to a data sending node, a data receiving node and methods therein, for communication of data over a radio link between the data sending node and the data receiving node, e.g. in a radio or cellular network.
  • radio networks for wireless communication have been developed to provide radio access for various wireless terminals and devices in different areas.
  • the radio networks are constantly improved to provide better coverage and capacity to meet the demands from subscribers using increasingly advanced services and devices, e.g. smartphones and tablets, which may require considerable amounts of bandwidth and resources for data transport in the networks.
  • radio communication in general, is the amount of available radio resources, e.g. in terms of time, frequency bandwidth and/or transmit power, and the capacity of a radio network is improved by more efficient usage of such radio resources.
  • data sending node and “data receiving node” are used to denote nodes capable of radio communication in a wireless network or the like where the data sending node transmits data to the data receiving node.
  • Each of the data sending node and the data receiving node may be a wireless device or a network node such as a base station or relay node or equivalent.
  • the term “User Equipment, UE” is commonly used to denote a wireless device.
  • a wireless device in this context could also be a Machine-to- Machine, M2M, type of device operating automatically such as a sensor, an actuator, a counter or measuring entity configured to send reports and/or receive instructions or the like over the radio network e.g. at certain intervals or upon certain events.
  • M2M Machine-to- Machine
  • CRC Cyclic Redundancy Check
  • a data receiving node may send an error indicating message back to the data sending node which may then retransmit the same data once again to the data receiving node.
  • a commonly used process for such retransmission is the well-known Hybrid Automatic Repeat Request, HARQ, process. Retransmissions may be employed if it is important that the data is received and decoded correctly, such as in M2M reporting of measurements and observations.
  • the HARQ process or similar generally requires a node receiving data from another node to indicate whether transmitted data has been properly received or not, by sending a feedback message to the data sending node.
  • Fig. 1 illustrates an example of how this is basically done.
  • a data sending node denoted data sender 100 transmits a data frame or similar with a checksum "CRC" attached, to a data receiving node denoted data receiver 102.
  • CRC checksum
  • Some bits for enabling error correction at the receiver may also be attached to the payload data.
  • the data sender 100 may be a network node and the data receiver 102 may be a wireless device, or vice versa, and this procedure may be applied in either direction, i.e. the procedure may be applied with the network node as the data sending node and the wireless device as the data receiving node as well as with the wireless device as the data sending node and the network node as the data receiving node.
  • the data receiver 102 demodulates and, if coding is applied, decodes the received data including any added error correction bits, calculates the CRC from the received and decoded data, and compares the calculated CRC with the attached CRC, in another action 1 :2. If the calculated and attached CRCs match, the data has been decoded correctly. The data receiver 102 then returns a feedback message to data sender 100, in a next action 1 :3.
  • the feedback message is either an acknowledgement, ACK, which confirms correct reception of the data, or a non-acknowledgement, NACK, which indicates some error in the data that could not be corrected, depending on the outcome of action 1 :2. If receiving a NACK, the data sender 100 is typically required to retransmit the data, as indicated by an action 1 :4, to enable another attempt of reception and decoding by the data receiver 102.
  • ACK acknowledgement
  • NACK non-acknowledgement
  • M2M devices which are typically installed at certain locations to operate automatically by sending and receiving data to and from some control function according to a predefined behavior, also commonly referred to as Machine Type Communication, MTC.
  • MTC Machine Type Communication
  • these M2M or MTC devices need to communicate data with very low latency, e.g. for real-time control of industrial equipment and machines, or for remote controlled vehicles, to mention a few non-limiting but illustrative examples. It may be required that the latency for such applications of data transmission is in the order of 1 millisecond.
  • networks of today for radio communication have been designed for applications where a latency in the order of, say, 10-20 milliseconds is deemed acceptable.
  • time critical MTC In some applications requiring low latency but high reliability, such as time critical MTC, CRC or similar error checking technique may be employed in the manner described above.
  • An illustrative example of time critical MTC is the issuing of alarms which typically involves a small data payload but requires high reliability.
  • a general view is that it is more important that any true alarm is received properly than avoiding false alarms.
  • a true alarm not to be missed requires high reliability while a false alarm, e.g. when no alarm was triggered but the MTC device anyway outputs an alarm, has lower reliability requirements. Therefore, the CRC is not really needed for alarms since the CRC only enables verification of the message content. For such applications with small payloads, high reliability requirements, and lower demands on false alarm, it is thus possible to omit the CRC and thereby save radio resources.
  • a drawback of not using CRC is however that the transmitter does not get any feedback about its transmissions.
  • the CRC bits attached to the data may add up to a relatively large overhead in the communication occupying
  • a method is performed by a data sending node for communicating data with a data receiving node over a radio link.
  • the data sending node transmits the data to the data receiving node over the radio link without including a checksum of the data.
  • the data receiving node calculates a first value based on the transmitted data using a predefined function.
  • the data receiving node further receives a second value calculated by the data receiving node based on the predefined function, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
  • a data sending node is arranged to communicate data with a data receiving node over a radio link.
  • the data sending node is configured to transmit the data to the data receiving node over the radio link without including a checksum of the data, and to calculate a first value based on the transmitted data using a predefined function.
  • the data sending node is also configured to receive a second value calculated by the data receiving node based on the predefined function, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
  • a method is performed by a data receiving node for communicating data with a data sending node over a radio link.
  • the data receiving node receives the data from the data sending node over the radio link without a checksum of the data.
  • the data receiving node then calculates a value based on the received data using a predefined function, and transmits the value to the data sending node.
  • the data sending node is enabled to determine whether the data receiving node has received the data correctly or not, based on the transmitted value.
  • a data receiving node is arranged to communicate data with a data sending node over a radio link.
  • the data receiving node is configured to receive the data from the data sending node over the radio link without a checksum of the data.
  • the data receiving node is further configured to calculate a value based on the received data using a predefined function, and to transmit the value to the data sending node, thereby enabling the data sending node to determine whether the data receiving node has received the data correctly or not, based on the transmitted value.
  • Fig. 1 is a communication scenario illustrating a conventional feedback procedure when data is transmitted over a radio link, according to the prior art.
  • Fig. 2 is a communication scenario illustrating an example of how the solution may be employed when data is transmitted over a radio link, according to some possible embodiments.
  • Fig. 3A is a flow chart illustrating a procedure in a data sending node, according to further possible embodiments.
  • Fig. 3B is a flow chart illustrating a continued procedure that the data sending node may perform after the procedure of Fig. 3A, according to further possible embodiments.
  • Fig. 4 is a flow chart illustrating a procedure in a data receiving node, according to further possible embodiments.
  • Fig. 5 is a block diagram illustrating a data sending node and data receiving node in more detail, according to further possible embodiments. Detailed description
  • a solution is provided that makes it possible to avoid the conventional CRC attachment in data transmissions from a data sending node to a data receiving node, while still providing knowledge of whether the transmission was received correctly or not. Thereby, capacity can be improved in the network since precious radio resources otherwise consumed by the CRC attachment on the radio link will instead be available for transmission of data or other information.
  • data is used to represent any payload information that is to be processed by the data receiving node e.g. according to an application or similar, and the solution is not limited to any particular type of information in the data transmission. It will now be described how the above omission of CRC bits can be accomplished without losing information about correct or incorrect reception, with reference to Fig. 2.
  • the signaling diagram in Fig. 2 illustrates, in a first action 2:1 , that a data sending node denoted data sender 200 transmits data to a data receiving node denoted data receiver 202 over a radio link 204.
  • the transmitted data does not include any CRC bits related to the data such as a checksum or the like, as opposed to the conventional data transmission 1 : 1 in Fig. 1 .
  • the extra bits required for CRC attachment may otherwise occupy considerable amounts of radio resources, particularly when the amount of payload or data bits in each transmission is relatively small and the transmissions are frequent. The gain in capacity by saved radio resources can thus be significant by omitting the CRC attachment in the data transmissions.
  • the data sending node 200 calculates a first value based on the transmitted data using a predefined function, such as a checksum function, a hash function, or any other suitable function that uses the transmitted data as input.
  • the data receiving node 202 likewise calculates a second value based on the predefined function, in an action 2:3, and sends the second value to the data sending node 200, in a following action 2:4.
  • the data sending node 200 is now able to evaluate if the data transmission was successful by comparing the first and second values to see if they match one another or not.
  • the data receiving node 202 may use exactly the same function that the data sending node 200 uses for calculating the first value, or they may use different functions which correspond to one another in a known manner.
  • Other, e.g. more complex, relations between F1 and F2 are also possible to use without departing from the embodiments and functions described herein.
  • the second value When received at the data sending node 200, the second value is compared to the previously calculated first value in a further action 2:5, and if the two values match one another, e.g. by being equal or related to one another in a known manner, it can be concluded that the data receiving node 202 has received the data correctly. If the two values do not match, the transmitted data was presumably not received correctly by the data receiving node 202. Thus, the second value effectively indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
  • An optional action 2:6 illustrates that the data sending node 200 may send some feedback to the data receiving node 202, which may be an acknowledgement "Ack” if the values did match, or correspond to, one another in action 2:5, or a non- acknowledgement "Nack” if they did not. Thereby, the data receiving node 202 may be able to decide whether the data as received is useful or not.
  • the data sending node 200 is further enabled to adjust, or modify, its transmission strategy for better reception at the data receiving node 202 if the second value does not correspond to the first value, which is illustrated by another possible action 2:7, or else keep the current transmission strategy.
  • This comparison of the first and second values may also be used for evaluating the radio link 204 in terms of quality and reliability.
  • Another optional action 2:8 is also used for evaluating the radio link 204 in terms of quality and reliability.
  • the data sending node 200 may further retransmit the same data if the first and second values did not match one another, if retransmission is required upon incorrect reception of the foregoing transmission. If the radio link 204 is really bad, the data receiving node 202 may not be able to receive the data at all and in that case the second value cannot be calculated and transmitted which may also result in a retransmission.
  • the actions in Fig. 2 may be performed in a somewhat different order than shown.
  • the data sending node 200 may calculate the first value before transmitting the data or after receiving the second value.
  • the data may be retransmitted before modifying the transmission strategy and/or before a Nack is sent, and so forth.
  • the decision to modify or keep the transmission strategy may be taken after a certain amount of data transmissions and evaluations have been made, such that at least actions 2: 1 - 2:5 may be performed repeatedly, e.g. a preset number of times, before action 2:7 is performed.
  • the data sending node in this example corresponds to the data sending node 200 of Fig. 2.
  • a first action 300 illustrates that the data sending node transmits the data to the data receiving node over the radio link without including a checksum of the data, such as a CRC attachment. This action corresponds to action 2: 1 above.
  • the data sending node calculates a first value based on the
  • the predefined function may comprise at least one of a checksum function and a hash function. Any of these functions may thus be executed using the data as input, to calculate the first value in this action.
  • the data sending node also receives a second value that has been calculated by the data receiving node based on the predefined function, as shown by another action 304, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
  • This action corresponds to action 2:4 above.
  • the data sending node may transmit a feedback request to the data receiving node wherein the second value is received in response to the feedback request.
  • the data sending node may use the above evaluation of the data transmission for deciding whether to modify or keep a used
  • the data sending node may modify the transmission strategy to improve reception of transmitted data at the data receiving node, when the second value does not correspond to the first value, or keep the transmission strategy, when the second value corresponds to the first value.
  • the latter alternative may thus indicate that there is no need to improve the reception at the data receiving node since the data was correctly received.
  • modifying the transmission strategy may comprise at least one of: increasing transmission power, adding or increasing diversity of the transmission, changing modulation and coding scheme, and changing
  • the transmission strategy may be modified when the second value does not correspond to the first value for at least a preset number of data transmissions. This embodiment may thus be used to avoid a fluctuating transmission strategy, i.e. "ping-pong" like switching between different radio parameter settings or the like.
  • the data sending node may retransmit the data to the data receiving node over the radio link, if the received second value does not correspond to the first value.
  • the data sending node may determine quality and/or reliability of the radio link based on the first and second values. For example, the radio link may be temporarily classified as "bad” when the two values do not match, or "good” when they do match. In another example, this evaluation may be made on a long-term basis such that the radio link may be classified as "bad” and/or unreliable when the percentage of successful matches for multiple data transmissions is below a predefined limit, and vice versa, i.e. the radio link may be classified as "good” and/or reliable when the percentage of successful matches for multiple data transmissions is at or above a predefined limit.
  • the data sending node may send some feedback to the data receiving node to indicate whether its data reception was successful or not, which cannot be verified at the data receiving node since the received data transmission did not include a checksum or similar.
  • the data sending node may transmit an acknowledgment of correct reception to the data receiving node when the second value corresponds to the first value.
  • the data sending node may transmit a non-acknowledgment of correct reception, which is an indication of incorrect reception or non-reception of data, to the data receiving node when the second value does not correspond to the first value.
  • the data sending node may transmit an aggregated feedback of correct or incorrect reception to the data receiving node after two or more data transmissions from the data sending node to the data receiving node.
  • the aggregated feedback may indicate that all data transmissions have been received correctly, or that at least one of the data transmissions has been received incorrectly.
  • the aggregated feedback may be configured in other ways as well, e.g. indicating which of the data transmissions has been received incorrectly and/or correctly, depending on the outcome of comparing the first and second values for each data transmission.
  • the data sending node may transmit the data as an aggregated payload in multiple messages, i.e. distributed across multiple transmission occasions, and the first and second values may in this case be valid, i.e. calculated, for all of these messages.
  • the first value is calculated for the aggregated payload
  • each of the first and second values may comprise a number of sub-values, each sub-value being valid for a corresponding message or group of messages out of said messages. Thereby, each message or group of messages with data transmission can be evaluated separately by comparing the corresponding first and second sub-values for that message or group of messages.
  • the data sending node may calculate the first value and receive the second value periodically, e.g. at regular time intervals which may be made regardless of how many data transmissions are executed during each time interval. In such embodiments, the first and second values may be calculated, e.g.
  • the flow chart in Fig. 3B illustrates in more detail an example of how the data sending node may operate depending on the evaluation of a data transmission based on the above-described first and second values, i.e. at some point after actions 300-304 have been performed.
  • An action 306 illustrates that the data sending node compares the first and second values obtained in actions 302 and 304,
  • the data sending node modifies the currently used transmission strategy in an action 308. Some examples of how the transmission strategy may be modified have been described above. As also mentioned above, the decision to modify the transmission strategy may be taken after a certain number, or percentage, of erroneous data receptions have been reached.
  • the data sending node may further send a Nack to the data receiving node to indicate erroneous reception, in an action 310. Alternatively or additionally, the data sending node may retransmit the data to the data receiving node if required or desired.
  • the data sending node can keep the currently used transmission strategy in an action 312 and may further send an Ack to the data receiving node to indicate correct reception, in an action 314.
  • An example of how the solution may be employed in terms of actions in a procedure performed by a data receiving node for communicating data with a data sending node over a radio link, will now be described with reference to the flow chart in Fig. 3C. This procedure can thus be used to accomplish the functionality described above, and some possible but non-limiting embodiments will also be described below.
  • the data receiving node in this example corresponds to the data receiving node 202 of Fig. 2.
  • a first action 400 illustrates that the data receiving node receives the data from the data sending node over the radio link without a checksum of the data. This action corresponds to actions 2: 1 and 300 above.
  • the data receiving node calculates a value based on the received data using a predefined function, corresponding to action 2:3 above. Further, this value thus corresponds to the second value discussed in the examples of Figs 2, 3A and 3B.
  • the predefined function used by the data receiving node may comprise at least one of a checksum function and a hash function.
  • the data receiving node transmits the calculated value to the data sending node, corresponding to actions 2:4 and 304 above, thereby enabling the data sending node to determine whether the data receiving node has received the data correctly or not, based on the transmitted value, as in the above- described actions 2:5 and 306.
  • the data receiving node may receive the data as an aggregated payload in multiple messages, and in that case the data receiving node may calculate the value for the aggregated payload in said messages.
  • the value may comprise a number of sub-values such that each sub-value is valid for a
  • the data receiving node may calculate and transmit the value periodically, i.e. at certain time intervals. In the latter case, the value may be calculated, e.g. collectively, for all data that has been received during such a time period, or only for the last received data.
  • the value may be calculated, e.g. collectively, for all data that has been received during such a time period, or only for the last received data.
  • the data receiving node may instead calculate and transmit the value in response to a feedback request received from the data sending node.
  • the data sending node 500 and the data receiving node 502 may be configured to operate according to any of the examples and embodiments of employing the solution as described above, where appropriate, and as follows.
  • Each of the data sending node 500 and the data receiving node 502 is shown to comprise a processor "P", a memory “M” and a communication circuit “C” with suitable equipment for transmitting and receiving radio signals in the manner described herein.
  • the processor "P”, memory “M” and communication circuit “C” may be one or more processors “P", memories “M” and communication circuits "C” depending on implementation.
  • the communication circuit C in each of the data sending node 500 and the data receiving node 502 thus comprises equipment configured for communication over a radio interface using a suitable protocol for radio communication depending on the implementation.
  • the solution is however not limited to any specific types of messages or protocols. An example of such a communication was described above for Fig. 2.
  • the actions of Figs 2-4 may be performed by means of functional modules in the respective processors P in the data sending node 500 and the data receiving node 502.
  • the data sending node 500 may comprise means configured or arranged to perform at least some of the actions of the flow charts in Fig. 3A and Fig. 3B in the manner described above.
  • the data receiving node 502 may comprise means configured or arranged to perform the actions of the flow chart in Fig. 4 in the manner described above.
  • the data sending node 500 is arranged to communicate data with the data receiving node 502 over a radio link 504.
  • the data sending node 500 thus comprises the processor P and the memory M, said memory comprising instructions executable by said processor, whereby the data sending node 500 is operative as follows.
  • the data sending node 500 is configured to transmit the data to the data receiving node 502 over the radio link 504 without including a checksum of the data. This operation may be performed by a transmitting module 500A in the data sending node 500, e.g. in the manner described for action 300 above.
  • the data sending node 500 is also configured to calculate a first value based on the transmitted data using a predefined function. This operation may be performed by a calculating module 500B in the data sending node 500, e.g. in the manner described for action 302 above.
  • the data sending node 500 is further configured to receive a second value that has been calculated by the data receiving node 502 based on the predefined function, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
  • This operation may be performed by a receiving module 500C in the data sending node 500, e.g. in the manner described for action 304 above.
  • the data sending node 500 may be further configured to modify the transmission strategy to improve reception of transmitted data at the date receiving node, when the second value does not correspond to the first value, or else keep the transmission strategy, when the second value corresponds to the first value.
  • This operation may be performed by a strategy module 500D in the data sending node 500, e.g. in the manner described for actions 306-312 above.
  • the data receiving node 502 is arranged to communicate data with the data sending node 500 over a radio link 504.
  • the data receiving node 502 comprises a processor P and a memory M, said memory comprising instructions executable by said processor whereby the data receiving node 502 is operative as follows.
  • the data receiving node 502 is configured to receive the data from the data sending node 500 over the radio link 504 without a checksum of the data. This receiving operation may be performed by a receiving module 502A in the data receiving node 502, e.g. in the manner described for action 400 above.
  • the data receiving node 502 is also configured to calculate a value based on the received data using a predefined function. This operation may be performed by a
  • the data receiving node 502 is also configured to transmit the value to the data sending node 500, thereby enabling the data sending node 500 to determine whether the data receiving node 502 has received the data correctly or not, based on the transmitted value.
  • This operation may be performed by a transmitting module 502C in the data receiving node 502, e.g. in the manner described for action 404 above.
  • Fig. 5 illustrates various functional modules in the data sending node 500 and the data receiving node 502, respectively, and the skilled person is able to implement these functional modules in practice using suitable software and hardware.
  • the solution is generally not limited to the shown structures of the data sending node 500 and the data receiving node 502, and the functional modules 500A-D and 502A-C therein may be configured to operate according to any of the features and embodiments described in this disclosure, where appropriate.
  • the functional modules 500A-D and 502A-C described above may be any functional modules 500A-D and 502A-C described above.
  • Each processor P may comprise a single Central Processing Unit (CPU), or could comprise two or more processing units.
  • each processor P may include a general purpose microprocessor, an instruction set processor and/or related chips sets and/or a special purpose microprocessor such as an Application Specific Integrated Circuit (ASIC).
  • ASIC Application Specific Integrated Circuit
  • Each processor P may also comprise a storage for caching purposes.
  • Each computer program may be carried by a computer program product in each of the data sending node 500 and the data receiving node 502 in the form of a memory having a computer readable medium and being connected to the processor P.
  • the computer program product or memory M in each of the data sending node 500 and the data receiving node 502 thus comprises a computer readable medium on which the computer program is stored e.g. in the form of computer program modules or the like.
  • the memory M in each node may be a flash memory, a Random-Access Memory (RAM), a Read-Only Memory (ROM) or an Electrically Erasable Programmable ROM (EEPROM), and the program modules could in alternative embodiments be distributed on different computer program products in the form of memories within the respective data sending node 500 and the data receiving node 502.
  • the solution described herein may be implemented in each of the data sending node 500 and the data receiving node 502 by a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the actions according to any of the above
  • the solution may also be implemented at each of the data sending node 500 and the data receiving node 502 in a carrier containing the above computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium.

Abstract

A data sending node (200), a data receiving node (202) and methods therein, for communication of data over a radio link (204). The data sending node (200) transmits (2:1) the data to the data receiving node over the radio link without including a checksum of the data, and calculates (2:2) a first value based on the transmitted data using a predefined function. The data receiving node (202) likewise calculates (2:3) a second value based on the same predefined function and sends (2:4) the second value to the data sending node (200). When received at the data sending node (200), the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not. Thereby, the data sending node (200) is enabled to adjust its transmission strategy for better reception if the second value does not correspond to the first value, or else keep the current transmission strategy. This comparison of the first and second values may also be used for evaluating the radio link in terms of quality and reliability.

Description

METHODS AND NODES FOR COMMUNICATION OF DATA OVER A RADIO
LINK
Technical field
The present disclosure relates generally to a data sending node, a data receiving node and methods therein, for communication of data over a radio link between the data sending node and the data receiving node, e.g. in a radio or cellular network.
Background
For some years, different types of radio networks for wireless communication have been developed to provide radio access for various wireless terminals and devices in different areas. The radio networks are constantly improved to provide better coverage and capacity to meet the demands from subscribers using increasingly advanced services and devices, e.g. smartphones and tablets, which may require considerable amounts of bandwidth and resources for data transport in the networks. A limiting factor for capacity of a radio network, or for radio
communication in general, is the amount of available radio resources, e.g. in terms of time, frequency bandwidth and/or transmit power, and the capacity of a radio network is improved by more efficient usage of such radio resources.
In this disclosure the terms "data sending node" and "data receiving node" are used to denote nodes capable of radio communication in a wireless network or the like where the data sending node transmits data to the data receiving node. Each of the data sending node and the data receiving node may be a wireless device or a network node such as a base station or relay node or equivalent. In the field of radio communication, the term "User Equipment, UE" is commonly used to denote a wireless device. A wireless device in this context could also be a Machine-to- Machine, M2M, type of device operating automatically such as a sensor, an actuator, a counter or measuring entity configured to send reports and/or receive instructions or the like over the radio network e.g. at certain intervals or upon certain events.
As mentioned above, it is of interest for network operators to improve capacity in their networks by utilizing the available radio resources as efficiently as possible. Another area of interest is to ensure correct and reliable reception when data is transmitted from a data sending node to a data receiving node. The amount of errors in the data communication can be reduced by adding extra control bits to the data which can be used for error correction and/or for checking that the received data has been received correctly. A common method for error detection is the well-known Cyclic Redundancy Check, CRC, where the data sending node adds a sum of the transmitted data, commonly referred to as a CRC attachment, which can be checked by the data receiving node.
If a data receiving node determines, based on the above CRC or other error detecting method, that data has not been received correctly, it may send an error indicating message back to the data sending node which may then retransmit the same data once again to the data receiving node. A commonly used process for such retransmission is the well-known Hybrid Automatic Repeat Request, HARQ, process. Retransmissions may be employed if it is important that the data is received and decoded correctly, such as in M2M reporting of measurements and observations.
The HARQ process or similar generally requires a node receiving data from another node to indicate whether transmitted data has been properly received or not, by sending a feedback message to the data sending node. Fig. 1 illustrates an example of how this is basically done. In a first action 1 :1 , a data sending node denoted data sender 100 transmits a data frame or similar with a checksum "CRC" attached, to a data receiving node denoted data receiver 102. Some bits for enabling error correction at the receiver may also be attached to the payload data. The data sender 100 may be a network node and the data receiver 102 may be a wireless device, or vice versa, and this procedure may be applied in either direction, i.e. the procedure may be applied with the network node as the data sending node and the wireless device as the data receiving node as well as with the wireless device as the data sending node and the network node as the data receiving node.
In this example the data receiver 102 demodulates and, if coding is applied, decodes the received data including any added error correction bits, calculates the CRC from the received and decoded data, and compares the calculated CRC with the attached CRC, in another action 1 :2. If the calculated and attached CRCs match, the data has been decoded correctly. The data receiver 102 then returns a feedback message to data sender 100, in a next action 1 :3.
The feedback message is either an acknowledgement, ACK, which confirms correct reception of the data, or a non-acknowledgement, NACK, which indicates some error in the data that could not be corrected, depending on the outcome of action 1 :2. If receiving a NACK, the data sender 100 is typically required to retransmit the data, as indicated by an action 1 :4, to enable another attempt of reception and decoding by the data receiver 102.
It is becoming increasingly common to employ M2M devices which are typically installed at certain locations to operate automatically by sending and receiving data to and from some control function according to a predefined behavior, also commonly referred to as Machine Type Communication, MTC. Sometimes, these M2M or MTC devices need to communicate data with very low latency, e.g. for real-time control of industrial equipment and machines, or for remote controlled vehicles, to mention a few non-limiting but illustrative examples. It may be required that the latency for such applications of data transmission is in the order of 1 millisecond. On the other hand, networks of today for radio communication have been designed for applications where a latency in the order of, say, 10-20 milliseconds is deemed acceptable. In some applications requiring low latency but high reliability, such as time critical MTC, CRC or similar error checking technique may be employed in the manner described above. An illustrative example of time critical MTC is the issuing of alarms which typically involves a small data payload but requires high reliability. A general view is that it is more important that any true alarm is received properly than avoiding false alarms. In other words, a true alarm not to be missed requires high reliability while a false alarm, e.g. when no alarm was triggered but the MTC device anyway outputs an alarm, has lower reliability requirements. Therefore, the CRC is not really needed for alarms since the CRC only enables verification of the message content. For such applications with small payloads, high reliability requirements, and lower demands on false alarm, it is thus possible to omit the CRC and thereby save radio resources. A drawback of not using CRC is however that the transmitter does not get any feedback about its transmissions.
Hence, if the communicated messages with data are quite short, typically ranging from a few tens of bits to around 1000 bits, the CRC bits attached to the data may add up to a relatively large overhead in the communication occupying
considerable amounts of radio resources in proportion to what is used for the actual payload data. It is thus a problem that the attached CRC occupies excessive radio resources in relation to the payload data, particularly in
applications involving frequent short messages.
Summary
It is an object of embodiments described herein to address at least some of the problems and issues outlined above. It is possible to achieve this object and others by using a data sending node, a data receiving node and methods therein, as defined in the attached independent claims.
According to one aspect, a method is performed by a data sending node for communicating data with a data receiving node over a radio link. In this method, the data sending node transmits the data to the data receiving node over the radio link without including a checksum of the data. The data receiving node calculates a first value based on the transmitted data using a predefined function. The data receiving node further receives a second value calculated by the data receiving node based on the predefined function, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
According to another aspect, a data sending node is arranged to communicate data with a data receiving node over a radio link. The data sending node is configured to transmit the data to the data receiving node over the radio link without including a checksum of the data, and to calculate a first value based on the transmitted data using a predefined function. The data sending node is also configured to receive a second value calculated by the data receiving node based on the predefined function, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
According to another aspect, a method is performed by a data receiving node for communicating data with a data sending node over a radio link. In this method, the data receiving node receives the data from the data sending node over the radio link without a checksum of the data. The data receiving node then calculates a value based on the received data using a predefined function, and transmits the value to the data sending node. Thereby, the data sending node is enabled to determine whether the data receiving node has received the data correctly or not, based on the transmitted value.
According to another aspect, a data receiving node is arranged to communicate data with a data sending node over a radio link. The data receiving node is configured to receive the data from the data sending node over the radio link without a checksum of the data. The data receiving node is further configured to calculate a value based on the received data using a predefined function, and to transmit the value to the data sending node, thereby enabling the data sending node to determine whether the data receiving node has received the data correctly or not, based on the transmitted value.
The above methods and nodes may be configured and implemented according to different optional embodiments to accomplish further features and benefits, to be described below.
Brief description of drawings
The solution will now be described in more detail by means of exemplary embodiments and with reference to the accompanying drawings, in which: Fig. 1 is a communication scenario illustrating a conventional feedback procedure when data is transmitted over a radio link, according to the prior art.
Fig. 2 is a communication scenario illustrating an example of how the solution may be employed when data is transmitted over a radio link, according to some possible embodiments. Fig. 3A is a flow chart illustrating a procedure in a data sending node, according to further possible embodiments.
Fig. 3B is a flow chart illustrating a continued procedure that the data sending node may perform after the procedure of Fig. 3A, according to further possible embodiments. Fig. 4 is a flow chart illustrating a procedure in a data receiving node, according to further possible embodiments.
Fig. 5 is a block diagram illustrating a data sending node and data receiving node in more detail, according to further possible embodiments. Detailed description
Briefly described, a solution is provided that makes it possible to avoid the conventional CRC attachment in data transmissions from a data sending node to a data receiving node, while still providing knowledge of whether the transmission was received correctly or not. Thereby, capacity can be improved in the network since precious radio resources otherwise consumed by the CRC attachment on the radio link will instead be available for transmission of data or other information. Throughout this disclosure, the term "data" is used to represent any payload information that is to be processed by the data receiving node e.g. according to an application or similar, and the solution is not limited to any particular type of information in the data transmission. It will now be described how the above omission of CRC bits can be accomplished without losing information about correct or incorrect reception, with reference to Fig. 2.
The signaling diagram in Fig. 2 illustrates, in a first action 2:1 , that a data sending node denoted data sender 200 transmits data to a data receiving node denoted data receiver 202 over a radio link 204. The transmitted data does not include any CRC bits related to the data such as a checksum or the like, as opposed to the conventional data transmission 1 : 1 in Fig. 1 . As mentioned above, the extra bits required for CRC attachment may otherwise occupy considerable amounts of radio resources, particularly when the amount of payload or data bits in each transmission is relatively small and the transmissions are frequent. The gain in capacity by saved radio resources can thus be significant by omitting the CRC attachment in the data transmissions.
In another action 2:2, the data sending node 200 calculates a first value based on the transmitted data using a predefined function, such as a checksum function, a hash function, or any other suitable function that uses the transmitted data as input. The data receiving node 202 likewise calculates a second value based on the predefined function, in an action 2:3, and sends the second value to the data sending node 200, in a following action 2:4. The data sending node 200 is now able to evaluate if the data transmission was successful by comparing the first and second values to see if they match one another or not.
For example, when calculating the second value the data receiving node 202 may use exactly the same function that the data sending node 200 uses for calculating the first value, or they may use different functions which correspond to one another in a known manner. A simple but illustrative example of the latter option is when two functions F1 and F2 are related such that F1 = C F2, where C is a predefined value. Other, e.g. more complex, relations between F1 and F2 are also possible to use without departing from the embodiments and functions described herein.
When received at the data sending node 200, the second value is compared to the previously calculated first value in a further action 2:5, and if the two values match one another, e.g. by being equal or related to one another in a known manner, it can be concluded that the data receiving node 202 has received the data correctly. If the two values do not match, the transmitted data was presumably not received correctly by the data receiving node 202. Thus, the second value effectively indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
It should be noted that so far the data receiving node 202 may not be aware of whether it has received the data correctly or not, since node 202 cannot check this by itself due to lacking CRC attachment, and the evaluation was made at the data sending node 200 where both values are known. An optional action 2:6 illustrates that the data sending node 200 may send some feedback to the data receiving node 202, which may be an acknowledgement "Ack" if the values did match, or correspond to, one another in action 2:5, or a non- acknowledgement "Nack" if they did not. Thereby, the data receiving node 202 may be able to decide whether the data as received is useful or not. After action 2:5, the data sending node 200 is further enabled to adjust, or modify, its transmission strategy for better reception at the data receiving node 202 if the second value does not correspond to the first value, which is illustrated by another possible action 2:7, or else keep the current transmission strategy. This comparison of the first and second values may also be used for evaluating the radio link 204 in terms of quality and reliability. Another optional action 2:8
illustrates that the data sending node 200 may further retransmit the same data if the first and second values did not match one another, if retransmission is required upon incorrect reception of the foregoing transmission. If the radio link 204 is really bad, the data receiving node 202 may not be able to receive the data at all and in that case the second value cannot be calculated and transmitted which may also result in a retransmission.
The actions in Fig. 2 may be performed in a somewhat different order than shown. For example, the data sending node 200 may calculate the first value before transmitting the data or after receiving the second value. Further, the data may be retransmitted before modifying the transmission strategy and/or before a Nack is sent, and so forth. Another option is that the decision to modify or keep the transmission strategy may be taken after a certain amount of data transmissions and evaluations have been made, such that at least actions 2: 1 - 2:5 may be performed repeatedly, e.g. a preset number of times, before action 2:7 is performed.
An example of how the solution may be employed in terms of actions in a procedure performed by a data sending node for communicating data with a data receiving node over a radio link, will now be described with reference to the flow chart in Fig. 3A. This procedure can thus be used to accomplish the functionality described above, and some possible but non-limiting embodiments will also be described below. The data sending node in this example corresponds to the data sending node 200 of Fig. 2. A first action 300 illustrates that the data sending node transmits the data to the data receiving node over the radio link without including a checksum of the data, such as a CRC attachment. This action corresponds to action 2: 1 above. In a next action 302, the data sending node calculates a first value based on the
transmitted data using a predefined function, corresponding to action 2:2 above. In some possible embodiments, the predefined function may comprise at least one of a checksum function and a hash function. Any of these functions may thus be executed using the data as input, to calculate the first value in this action.
The data sending node also receives a second value that has been calculated by the data receiving node based on the predefined function, as shown by another action 304, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not. This action corresponds to action 2:4 above. In another possible embodiment, the data sending node may transmit a feedback request to the data receiving node wherein the second value is received in response to the feedback request.
It was mentioned above that the data sending node may use the above evaluation of the data transmission for deciding whether to modify or keep a used
transmission strategy. In further possible embodiments, assuming that a certain transmission strategy is employed or applied for transmitting the data in action 300, the data sending node may modify the transmission strategy to improve reception of transmitted data at the data receiving node, when the second value does not correspond to the first value, or keep the transmission strategy, when the second value corresponds to the first value. The latter alternative may thus indicate that there is no need to improve the reception at the data receiving node since the data was correctly received.
In the former case, there are different possible ways of modifying the transmission strategy that may be used to improve signal reception at the data receiving node. In some possible embodiments, modifying the transmission strategy may comprise at least one of: increasing transmission power, adding or increasing diversity of the transmission, changing modulation and coding scheme, and changing
transmission path. These methods for improving reception are well-known as such in the field of radio communication, and are thus not necessary to describe here in more detail.
In another possible embodiment, the transmission strategy may be modified when the second value does not correspond to the first value for at least a preset number of data transmissions. This embodiment may thus be used to avoid a fluctuating transmission strategy, i.e. "ping-pong" like switching between different radio parameter settings or the like. In yet another possible embodiment, the data sending node may retransmit the data to the data receiving node over the radio link, if the received second value does not correspond to the first value.
In further possible embodiments, the data sending node may determine quality and/or reliability of the radio link based on the first and second values. For example, the radio link may be temporarily classified as "bad" when the two values do not match, or "good" when they do match. In another example, this evaluation may be made on a long-term basis such that the radio link may be classified as "bad" and/or unreliable when the percentage of successful matches for multiple data transmissions is below a predefined limit, and vice versa, i.e. the radio link may be classified as "good" and/or reliable when the percentage of successful matches for multiple data transmissions is at or above a predefined limit.
It was also mentioned above that the data sending node may send some feedback to the data receiving node to indicate whether its data reception was successful or not, which cannot be verified at the data receiving node since the received data transmission did not include a checksum or similar. Thus, another possible embodiment is that the data sending node may transmit an acknowledgment of correct reception to the data receiving node when the second value corresponds to the first value. A possible alternative or additional embodiment is that the data sending node may transmit a non-acknowledgment of correct reception, which is an indication of incorrect reception or non-reception of data, to the data receiving node when the second value does not correspond to the first value.
In another possible embodiment, the data sending node may transmit an aggregated feedback of correct or incorrect reception to the data receiving node after two or more data transmissions from the data sending node to the data receiving node. In this case, the aggregated feedback may indicate that all data transmissions have been received correctly, or that at least one of the data transmissions has been received incorrectly. The aggregated feedback may be configured in other ways as well, e.g. indicating which of the data transmissions has been received incorrectly and/or correctly, depending on the outcome of comparing the first and second values for each data transmission.
It is also possible to calculate and receive the first and second values,
respectively, in an aggregated manner as follows. Thus in a possible embodiment, the data sending node may transmit the data as an aggregated payload in multiple messages, i.e. distributed across multiple transmission occasions, and the first and second values may in this case be valid, i.e. calculated, for all of these messages. When this latter embodiment is used, further possible embodiments may include that the first value is calculated for the aggregated payload
transmitted in said messages and the second value, calculated by the data receiving node for the aggregated payload received in said messages, is received by the data sending node after said messages have been transmitted. Another possible embodiment is that each of the first and second values may comprise a number of sub-values, each sub-value being valid for a corresponding message or group of messages out of said messages. Thereby, each message or group of messages with data transmission can be evaluated separately by comparing the corresponding first and second sub-values for that message or group of messages. In another possible embodiment, the data sending node may calculate the first value and receive the second value periodically, e.g. at regular time intervals which may be made regardless of how many data transmissions are executed during each time interval. In such embodiments, the first and second values may be calculated, e.g. collectively, for all data that has been transmitted (calculates as first value by the data sending node) and received (calculates as second value by the data receiving node) during such a time period, or only for the last transmitted (first value) and received (second value) data during the time period.
The flow chart in Fig. 3B illustrates in more detail an example of how the data sending node may operate depending on the evaluation of a data transmission based on the above-described first and second values, i.e. at some point after actions 300-304 have been performed. In this example, it is assumed that the data sending node is currently using a certain transmission strategy when transmitting the data as of action 300. An action 306 illustrates that the data sending node compares the first and second values obtained in actions 302 and 304,
respectively, and determines whether the first value corresponds to the second value.
If the values do not correspond to one another, i.e. when they do not match in the manner described above, the data sending node modifies the currently used transmission strategy in an action 308. Some examples of how the transmission strategy may be modified have been described above. As also mentioned above, the decision to modify the transmission strategy may be taken after a certain number, or percentage, of erroneous data receptions have been reached. The data sending node may further send a Nack to the data receiving node to indicate erroneous reception, in an action 310. Alternatively or additionally, the data sending node may retransmit the data to the data receiving node if required or desired. On the other hand, if the values do correspond to one another in action 306, the data sending node can keep the currently used transmission strategy in an action 312 and may further send an Ack to the data receiving node to indicate correct reception, in an action 314. An example of how the solution may be employed in terms of actions in a procedure performed by a data receiving node for communicating data with a data sending node over a radio link, will now be described with reference to the flow chart in Fig. 3C. This procedure can thus be used to accomplish the functionality described above, and some possible but non-limiting embodiments will also be described below. The data receiving node in this example corresponds to the data receiving node 202 of Fig. 2.
A first action 400 illustrates that the data receiving node receives the data from the data sending node over the radio link without a checksum of the data. This action corresponds to actions 2: 1 and 300 above. In a next action 402, the data receiving node calculates a value based on the received data using a predefined function, corresponding to action 2:3 above. Further, this value thus corresponds to the second value discussed in the examples of Figs 2, 3A and 3B. In some possible embodiments, the predefined function used by the data receiving node may comprise at least one of a checksum function and a hash function. In a final shown action 404, the data receiving node transmits the calculated value to the data sending node, corresponding to actions 2:4 and 304 above, thereby enabling the data sending node to determine whether the data receiving node has received the data correctly or not, based on the transmitted value, as in the above- described actions 2:5 and 306. Some further non-limiting embodiments are possible to employ which more or less correspond to some of the embodiments described above for the data sending node. In one possible embodiment, the data receiving node may receive the data as an aggregated payload in multiple messages, and in that case the data receiving node may calculate the value for the aggregated payload in said messages. In that case, another possible embodiment is that the value may comprise a number of sub-values such that each sub-value is valid for a
corresponding message or group of messages out of said messages. In another possible embodiment, the data receiving node may calculate and transmit the value periodically, i.e. at certain time intervals. In the latter case, the value may be calculated, e.g. collectively, for all data that has been received during such a time period, or only for the last received data. In another alternative possible
embodiment, the data receiving node may instead calculate and transmit the value in response to a feedback request received from the data sending node.
A non-limiting example of how a data sending node and a data receiving node may be structured to bring about the above-described solution and embodiments thereof, will now be described with reference to the block diagram in Fig. 5. In this figure, the data sending node 500 and the data receiving node 502 may be configured to operate according to any of the examples and embodiments of employing the solution as described above, where appropriate, and as follows. Each of the data sending node 500 and the data receiving node 502 is shown to comprise a processor "P", a memory "M" and a communication circuit "C" with suitable equipment for transmitting and receiving radio signals in the manner described herein. The processor "P", memory "M" and communication circuit "C" may be one or more processors "P", memories "M" and communication circuits "C" depending on implementation.
The communication circuit C in each of the data sending node 500 and the data receiving node 502 thus comprises equipment configured for communication over a radio interface using a suitable protocol for radio communication depending on the implementation. The solution is however not limited to any specific types of messages or protocols. An example of such a communication was described above for Fig. 2.
The actions of Figs 2-4 may be performed by means of functional modules in the respective processors P in the data sending node 500 and the data receiving node 502. For example, the data sending node 500 may comprise means configured or arranged to perform at least some of the actions of the flow charts in Fig. 3A and Fig. 3B in the manner described above. Further, the data receiving node 502 may comprise means configured or arranged to perform the actions of the flow chart in Fig. 4 in the manner described above. The data sending node 500 is arranged to communicate data with the data receiving node 502 over a radio link 504. The data sending node 500 thus comprises the processor P and the memory M, said memory comprising instructions executable by said processor, whereby the data sending node 500 is operative as follows. The data sending node 500 is configured to transmit the data to the data receiving node 502 over the radio link 504 without including a checksum of the data. This operation may be performed by a transmitting module 500A in the data sending node 500, e.g. in the manner described for action 300 above. The data sending node 500 is also configured to calculate a first value based on the transmitted data using a predefined function. This operation may be performed by a calculating module 500B in the data sending node 500, e.g. in the manner described for action 302 above.
The data sending node 500 is further configured to receive a second value that has been calculated by the data receiving node 502 based on the predefined function, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not. This operation may be performed by a receiving module 500C in the data sending node 500, e.g. in the manner described for action 304 above. When a certain transmission strategy is employed or applied for transmitting the data, the data sending node 500 may be further configured to modify the transmission strategy to improve reception of transmitted data at the date receiving node, when the second value does not correspond to the first value, or else keep the transmission strategy, when the second value corresponds to the first value. This operation may be performed by a strategy module 500D in the data sending node 500, e.g. in the manner described for actions 306-312 above.
The data receiving node 502 is arranged to communicate data with the data sending node 500 over a radio link 504. The data receiving node 502 comprises a processor P and a memory M, said memory comprising instructions executable by said processor whereby the data receiving node 502 is operative as follows.
The data receiving node 502 is configured to receive the data from the data sending node 500 over the radio link 504 without a checksum of the data. This receiving operation may be performed by a receiving module 502A in the data receiving node 502, e.g. in the manner described for action 400 above. The data receiving node 502 is also configured to calculate a value based on the received data using a predefined function. This operation may be performed by a
calculating module 502B in the data receiving node 502, e.g. in the manner described for action 402 above. The data receiving node 502 is also configured to transmit the value to the data sending node 500, thereby enabling the data sending node 500 to determine whether the data receiving node 502 has received the data correctly or not, based on the transmitted value. This operation may be performed by a transmitting module 502C in the data receiving node 502, e.g. in the manner described for action 404 above.
It should be noted that Fig. 5 illustrates various functional modules in the data sending node 500 and the data receiving node 502, respectively, and the skilled person is able to implement these functional modules in practice using suitable software and hardware. Thus, the solution is generally not limited to the shown structures of the data sending node 500 and the data receiving node 502, and the functional modules 500A-D and 502A-C therein may be configured to operate according to any of the features and embodiments described in this disclosure, where appropriate.
The functional modules 500A-D and 502A-C described above may be
implemented in the data sending node 500 and the data receiving node 502, respectively, by means of program modules of a respective computer program comprising code means which, when run by the processor P causes the data sending node 500 and the data receiving node 502 to perform the above- described actions and procedures. Each processor P may comprise a single Central Processing Unit (CPU), or could comprise two or more processing units. For example, each processor P may include a general purpose microprocessor, an instruction set processor and/or related chips sets and/or a special purpose microprocessor such as an Application Specific Integrated Circuit (ASIC). Each processor P may also comprise a storage for caching purposes.
Each computer program may be carried by a computer program product in each of the data sending node 500 and the data receiving node 502 in the form of a memory having a computer readable medium and being connected to the processor P. The computer program product or memory M in each of the data sending node 500 and the data receiving node 502 thus comprises a computer readable medium on which the computer program is stored e.g. in the form of computer program modules or the like. For example, the memory M in each node may be a flash memory, a Random-Access Memory (RAM), a Read-Only Memory (ROM) or an Electrically Erasable Programmable ROM (EEPROM), and the program modules could in alternative embodiments be distributed on different computer program products in the form of memories within the respective data sending node 500 and the data receiving node 502. The solution described herein may be implemented in each of the data sending node 500 and the data receiving node 502 by a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the actions according to any of the above
embodiments, where appropriate. The solution may also be implemented at each of the data sending node 500 and the data receiving node 502 in a carrier containing the above computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium.
While the solution has been described with reference to specific exemplifying embodiments, the description is generally only intended to illustrate the inventive concept and should not be taken as limiting the scope of the solution. For example, the terms "data sending node", "data receiving node", "predefined function" and "transmission strategy" have been used throughout this disclosure, although any other corresponding entities, functions, and/or parameters could also be used having features and characteristics as described herein. The solution is defined by the appended claims.

Claims

1 . A method performed by a data sending node (200) for communicating data with a data receiving node (202) over a radio link (204), the method comprising: - transmitting (300, 2: 1 ) the data to the data receiving node over the radio link (204) without including a checksum of the data,
- calculating (302, 2:2) a first value based on the transmitted data using a predefined function, and
- receiving (304, 2:4) a second value calculated by the data receiving node based on the predefined function, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
2. A method according to claim 1 , wherein a transmission strategy is applied for transmitting the data, the method further comprising: - modifying (308, 2:7) the transmission strategy to improve reception of transmitted data, if the second value does not correspond to the first value, and
- keeping (312) the transmission strategy, if the second value corresponds to the first value.
3. A method according to claim 2, wherein the transmission strategy is modified when the second value does not correspond to the first value for at least a preset number of data transmissions.
4. A method according to claim 2 or 3, wherein modifying the transmission strategy comprises at least one of: increasing transmission power, adding or increasing diversity of the transmission, changing modulation and coding scheme, and changing transmission path.
5. A method according to any of claims 1 -4, wherein the data is transmitted as an aggregated payload in multiple messages, and the first and second values are valid for the aggregated payload in said messages.
6. A method according to any of claim 5, wherein the first value is calculated for the aggregated payload and the second value is received after said messages have been transmitted.
7. A method according to claim 5 or 6, wherein each of the first and second values comprises a number of sub-values, each sub-value being valid for a corresponding message or group of messages out of said messages.
8. A method according to any of claims 5-7, wherein calculating the first value and receiving the second value are performed periodically.
9. A method according to any of claims 1 -7, wherein a feedback request is transmitted to the data receiving node and the second value is received in response to the feedback request.
10. A method according to any of claims 1 -9, wherein the data is
retransmitted to the data receiving node over the radio link, when the received second value does not correspond to the first value.
1 1 . A method according to any of claims 1 -10, wherein quality and/or reliability of the radio link is determined based on the first and second values.
12. A method according to any of claims 1 -1 1 , wherein an acknowledgment of correct reception is transmitted to the data receiving node when the second value corresponds to the first value.
13. A method according to any of claims 1 -12, wherein a non- acknowledgment of correct reception is transmitted to the data receiving node when the second value does not correspond to the first value.
14. A method according to any of claims 1 -13, wherein an aggregated feedback of correct or incorrect reception is transmitted to the data receiving node after two or more data transmissions from the data sending node to the data receiving node.
15. A method according to any of claims 1 -14, wherein the predefined function comprises at least one of a checksum function and a hash function.
16. A data sending node (500) arranged to communicate data with a data receiving node (502) over a radio link (504), wherein the data sending node (500) is configured to:
- transmit (500A) the data to the data receiving node over the radio link (504) without including a checksum of the data, - calculate (500B) a first value based on the transmitted data using a predefined function, and
- receive (500C) a second value calculated by the data receiving node based on the predefined function, wherein the second value indicates correct or incorrect reception of the data depending on whether the second value corresponds to the first value or not.
17. A data sending node (500) according to claim 16, wherein a transmission strategy is applied for transmitting the data, wherein the data sending node (500) is further configured to:
- modify (500D) the transmission strategy to improve reception of transmitted data, if the second value does not correspond to the first value, and - keep the transmission strategy, if the second value corresponds to the first value.
18. A data sending node (500) according to claim 17, wherein the data sending node (500) is configured to modify the transmission strategy when the second value does not correspond to the first value for at least a preset number of data transmissions.
19. A data sending node (500) according to claim 17 or 18, wherein the data sending node (500) is further configured to modify the transmission strategy by at least one of: increasing transmission power, adding or increasing diversity of the transmission, changing modulation and coding scheme, and changing
transmission path.
20. A data sending node (500) according to any of claims 16-19, wherein the data sending node (500) is configured to transmit the data as an aggregated payload in multiple messages where the first and second values are valid for the aggregated payload in said messages.
21 . A data sending node (500) according to claim 20, wherein the data sending node (500) is configured to calculate the first value for the aggregated payload and receive the second value after said messages have been transmitted.
22. A data sending node (500) according to claim 20 or 21 , wherein each of the first and second values comprises a number of sub-values each sub-value being valid for a corresponding message or group of messages out of said messages.
23. A data sending node (500) according to any of claims 20-22, wherein the data sending node (500) is configured to calculate the first value and receive the second value periodically.
24. A data sending node (500) according to any of claims 16-22, wherein the data sending node (500) is configured to transmit a feedback request to the data receiving node and receive the second value in response to the feedback request.
25. A data sending node (500) according to any of claims 16-24, wherein the data sending node (500) is configured to retransmit the data to the data receiving node over the radio link (504), when the received second value does not correspond to the first value.
26. A data sending node (500) according to any of claims 16-25, wherein the data sending node (500) is configured to determine quality and/or reliability of the radio link (504) based on the first and second values.
27. A data sending node (500) according to any of claims 16-26, wherein the data sending node (500) is configured to transmit an acknowledgment of correct reception to the data receiving node when the second value corresponds to the first value.
28. A data sending node (500) according to any of claims 16-27, wherein the data sending node (500) is configured to transmit a non-acknowledgment of correct reception to the data receiving node when the second value does not correspond to the first value.
29. A data sending node (500) according to any of claims 16-28, wherein the data sending node (500) is configured to transmit an aggregated feedback of correct or incorrect reception to the data receiving node after two or more data transmissions from the data sending node to the data receiving node.
30. A data sending node (500) according to any of claims 16-29, wherein the predefined function comprises at least one of a checksum function and a hash function.
31 . A method performed by a data receiving node (202) for communicating data with a data sending node (200) over a radio link (204), the method
comprising:
- receiving (400, 2: 1 ) the data from the data sending node over the radio link (204) without a checksum of the data,
- calculating (402, 2:3) a value based on the received data using a predefined function, and
- transmitting (404, 2:4) the value to the data sending node, thereby enabling the data sending node to determine whether the data receiving node has received the data correctly or not, based on the transmitted value.
32. A method according to claim 31 , wherein the predefined function comprises at least one of a checksum function and a hash function.
33. A method according to claim 31 or 32, wherein the data is received as an aggregated payload in multiple messages and the value is calculated for the aggregated payload in said messages.
34. A method according to claim 33, wherein the value comprises a number of sub-values each sub-value being valid for a corresponding message or group of messages out of said messages.
35. A method according to any of claims 31 -34, wherein the value is calculated and transmitted periodically.
36. A method according to any of claims 31 -35, wherein the value is calculated and transmitted in response to a feedback request received from the data sending node.
37. A data receiving node (502) arranged to communicate data with a data sending node (500) over a radio link (504), wherein the data receiving node (502) is configured to:
- receive (502A) the data from the data sending node over the radio link (504) without a checksum of the data,
- calculate (502B) a value based on the received data using a predefined function, and
- transmit (502C) the value to the data sending node, thereby enabling the data sending node to determine whether the data receiving node has received the data correctly or not, based on the transmitted value.
38. A data receiving node (502) according to claim 37, wherein the predefined function comprises at least one of a checksum function and a hash function.
39. A data receiving node (502) according to claim 37 or 38, wherein the data receiving node (502) is configured to receive the data as an aggregated payload in multiple messages, and to calculate the value for the aggregated payload in said messages.
40. A data receiving node (502) according to claim 39, wherein the value comprises a number of sub-values each sub-value being valid for a corresponding message or group of messages out of said messages.
41 . A data receiving node (502) according to any of claims 37-40, wherein the data receiving node (502) is configured to calculate and transmit the value periodically.
42. A data receiving node (502) according to any of claims 37-41 , wherein the data receiving node (502) is configured to calculate and transmit the value in response to a feedback request received from the data sending node.
43. A computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the method according to any one of claims 1 -15 and 31 -36.
44. A carrier containing the computer program of claim 43, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium.
PCT/SE2015/051393 2015-12-23 2015-12-23 Methods and nodes for communication of data over a radio link WO2017111678A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/SE2015/051393 WO2017111678A1 (en) 2015-12-23 2015-12-23 Methods and nodes for communication of data over a radio link

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2015/051393 WO2017111678A1 (en) 2015-12-23 2015-12-23 Methods and nodes for communication of data over a radio link

Publications (1)

Publication Number Publication Date
WO2017111678A1 true WO2017111678A1 (en) 2017-06-29

Family

ID=59090831

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2015/051393 WO2017111678A1 (en) 2015-12-23 2015-12-23 Methods and nodes for communication of data over a radio link

Country Status (1)

Country Link
WO (1) WO2017111678A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2313747A (en) * 1996-05-30 1997-12-03 Motorola Ltd Data transmission verification
JP2000341251A (en) * 1999-05-31 2000-12-08 Victor Co Of Japan Ltd Data transmission method
US20160134399A1 (en) * 2014-11-10 2016-05-12 Huawei Technologies Co., Ltd. System and Method for Low-Payload Acknowledgment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2313747A (en) * 1996-05-30 1997-12-03 Motorola Ltd Data transmission verification
JP2000341251A (en) * 1999-05-31 2000-12-08 Victor Co Of Japan Ltd Data transmission method
US20160134399A1 (en) * 2014-11-10 2016-05-12 Huawei Technologies Co., Ltd. System and Method for Low-Payload Acknowledgment

Similar Documents

Publication Publication Date Title
US11627557B2 (en) Communication device, system and method for communication using feedback
CN106471765B (en) Wireless communication method and system with improved HARQ feedback indication
EP2286537B1 (en) Increasing reliability of hybrid automatic repeat request protocol
EP2340629B1 (en) Cooperative transmission in wireless communication system
US20170005758A1 (en) High-Reliability Transmission Scheme with Low Resource Utilization
CN107005339B (en) Method and first node for handling feedback procedures in radio communication
US11139923B2 (en) Code block groups for retransmissions in a wireless communication system
US10707994B2 (en) Advanced error detection coding
US20230049573A1 (en) Device-to-device relay processing method, device and apparatus, and storage medium
JP5289336B2 (en) Retransmission apparatus and method in wireless communication system using relay system
CN110366833B (en) Retransmission timing for acknowledgement signaling
CN109802772B (en) Information sending method and equipment
US8892141B2 (en) Base stations, cellular communication systems, methods for controlling a base station, and methods for controlling a cellular communication system
JP2016174211A (en) Communication system
CN110121850B (en) Data transmission method, transmitting terminal equipment and receiving terminal equipment
WO2017111678A1 (en) Methods and nodes for communication of data over a radio link
EP3202071B1 (en) Method and network node for handling a feedback procedure
CN114826521B (en) Control information transmitting method, control information receiving device and storage medium
JP7477479B2 (en) Terminal device, base station device, communication method, and program using extended acknowledgement response
CN112042137B (en) Method and transmitting node for handling transmissions on a radio channel
JP2022154664A (en) Terminal device, base station device, communication method, and program using extended acknowledgment
JP5790316B2 (en) Base station, baseband signal processing apparatus, and wireless communication method
CN114826521A (en) Control information transmitting method, receiving method, device and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15911465

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15911465

Country of ref document: EP

Kind code of ref document: A1