Patent Description:
In modern radio communication systems utilizing packet transmissions, a receiver acknowledges reception of a data packet by transmitting an acknowledgment message. The acknowledgment typically comprises a positive acknowledgment (ACK) to indicate correct reception of the data packet and a negative acknowledgment (NAK) or no acknowledgment to indicate erroneous or no reception of the data packet. Some systems utilize bundling of acknowledgments, wherein the receiver bundles a plurality of acknowledgments to the same acknowledgment message according to a criterion.

<NPL>, suggests defining several ACK bundle classes. If there is no coverage problem, the scheme with minimum number of bundled ACK/NACK should be adopted. Classes should be selected according to coverage ability.

<NPL>, suggests in the framework of a multicarrier system using ACK bundling across multiple component carriers when the coverage is limited, and to use one ACK per carrier when there is no coverage problem.

<NPL>, suggests using ACK/NACK multiplexing for UEs without coverage problem, and selecting ACK/NACK bundling for UEs with coverage problem.

<NPL>, suggests increasing the number of repeated ACK/NACK as a function of the cell radius (coverage) that should be achieved. It is specified that the path loss depends on the cell radius.

Embodiments of the present invention are described below, by way of example only, with reference to the accompanying drawings, in which.

<FIG> illustrates an exemplary wireless telecommunication system to which embodiments of the invention may be applied. Embodiments of the invention may be realized in a wireless ad hoc network comprising a plurality of network nodes <NUM>, <NUM>, <NUM> that may be realized by radio communication apparatuses. The ad hoc network may refer to a network that is established between the network nodes <NUM> to <NUM> without any network planning with respect to the infrastructure and/or frequency utilization. The network nodes may be operationally equivalent to each other. At least some of the network nodes <NUM> to <NUM> are free to move, and they may also be configured to route data packets that are unrelated to their own use, e.g. data packets of other network nodes. However, it should be understood that principles of the invention may be applied to other types of communication systems, e.g. wireless mesh networks, communication systems having a fixed infrastructure such as cellular communication systems, and other types of systems. The principles of the invention may also be applied to point-to-point connections, wherein two network nodes communication directly with each other without using any other network node to route the data packets.

In the embodiment of <FIG>, the network nodes <NUM> to <NUM> have a very long communication range (even a thousand or thousands of kilometres), and they may communicate directly with network nodes on the other side of the Earth. In general, the communication distance may extend beyond a radio horizon of the network nodes <NUM> to <NUM>. A generic equation for computing the radio horizon may be presented as <MAT>, where h<NUM> and h<NUM> represent heights of communicating network nodes. The capability of communicating beyond the radio horizon may be achieved by appropriate selection of operating frequency, e.g. the operating frequency may be restricted to below very high frequencies (VHF), but in some embodiments even frequencies on a lower half of the VHF band are used. The network nodes <NUM> to <NUM> may also communicate with satellites orbiting at the height of <NUM> kilometres (Low Earth Orbit, LEO), for example. From this point of view, the communication distance may be higher than a <NUM> kilometres.

On the other hand, the network nodes <NUM> to <NUM> may communicate with network nodes located in close distance, e.g. a few kilometres or even less. Their transmit powers may vary from a few Watts (e.g. <NUM> to <NUM> W) to even kilo Watts, depending on whether the network node is mobile or fixed and the type of power supply. For example, a network node installed to a building, a truck, or a ship may utilize high transmit powers, while a hand-held device may be limited to the few Watts. The frequency band utilized by the network nodes <NUM> to <NUM> may comprise a high frequency (HF) band (<NUM> to <NUM>), but it should be understood that other embodiments utilize other frequency bands, e.g. VHF or ultra-high frequencies (UHF). An advantage of HF frequencies is their long propagation range, and the fact that they may propagate via several types of communication paths. <FIG> illustrates a scenario where a first network node <NUM> communicates with a second network node <NUM> over surface radio waves that propagate close to the ground surface. However, a third network node <NUM> on the other side of the Earth may be reached via radio waves that propagate by utilizing ionospheric reflections. Some network nodes may be reached by using both surface waves and ionospheric reflections. In some scenarios, a radio signal emitted by the first network node <NUM> may reach the second network node <NUM> close to the first network node <NUM> through the ionospheric reflection waves. This type of propagation may be called "Near Vertical Incidence Skywave". In such scenarios, the surface radio wave component may or may not be present. Typically one of the two propagation types dominates by providing a stronger signal in the receiver.

Such a high variation in the communication distance may require adaptive selection of communication parameters. Embodiments of the invention relate to selecting the number of bundled acknowledgments according to the communication distance in an automatic repeat request (ARQ) process. <FIG> illustrates a flow diagram of a process for operating a radio communication apparatus to select the number of bundled acknowledgments and cause transmission of an acknowledgment message comprising the selected number of bundled acknowledgments. Referring to <FIG>, the process starts in block <NUM>. The start of the process may be triggered upon starting a data packet transmission between a transmitter and a receiver, wherein the transmitter and the receiver may each be any one of the wireless communication apparatuses <NUM> to <NUM>. From one viewpoint, the transmitter and the receiver may be understood as a wireless communication apparatus and a counterpart wireless communication apparatus, wherein the counterpart refers to the data transmission. In block <NUM>, a metric proportional to a communication distance between the transmitter and the receiver is determined. Embodiments of the metric are described below. The metric may represent the communication distance as physical distance or as a time or communication delay based distance. In block <NUM>, a number of data packet acknowledgments to be bundled together according to the determined communication distance is selected. The selected number of bundled acknowledgments is proportional to the communication distance, e.g. more data packet acknowledgments are bundled together into a single acknowledgment message for a longer communication distance than for a shorter communication distance. In block <NUM>, transmission of the acknowledgment message comprising the selected number of data packet acknowledgments is triggered. Further embodiments of block <NUM> are described below.

Bundling the acknowledgment messages proportionally to the communication distance provides improved data rates in both short and long communication distances. The inventors have discovered that by using a fixed number of bundled acknowledgments results in an optimal solution for only the short distance (a few kilometres) or the long distance. For example, with a low number of bundled acknowledgments a good data rate may be achieved for the short distance, while the data rate of the high distance degrades, because the transmitter has to wait for the acknowledgments of old data packets before it can send new ones. On the other hand, with a high number of bundled acknowledgments a good data rate may be achieved for both the short distance and the long distance in an optimal case where no retransmissions are needed but, in case of needed retransmissions, a packet delay of the short communication distance may become sub-optimal. Therefore, it is optimal to select a low number of bundled acknowledgments for the short distance to achieve high data rates and low delays and to select a high number of bundled acknowledgments for the long distance to achieve at least high data rates.

In an embodiment, the metric representing the communication distance is formed from at least one of the following: known locations of the transmitter and the receiver, a round-trip-time of the connection between the transmitter and the receiver, and a path loss estimate based on estimation of a received signal strength as computed by the receiver from a signal received from the transmitter. With respect to the embodiment using the locations, the locations of the transmitter and the receiver may be determined by using a location tracking system, e.g. a Global Positioning System (GPS). The transmitter and the receiver may inform each other about their respective locations by exchanging location coordinates, and the distance may be computed from the location coordinates. With respect to the embodiment using the round-trip-time, the round-trip-time may be determined by a conventional "ping" request or by transmitting another signal and measuring a time between the transmission of the signal and reception of a response signal. The system may utilize dedicated signalling for measuring the round-trip-time. In such an embodiment, when a device (the transmitter or the receiver) receives such a signal to which it should respond so as to enable measurement of the round-trip-time, the device may determine a default procedure related to processing and transmitting the response signal. If for some reason the processing and the transmission of the response signal is delayed, the device may include in the response signal an information element indicating the delay in the processing. Then, another device receiving the response signal may reduce the delay from the measured total delay so as to determine the real round-trip-time. In an embodiment, the request signal may be a request-to-send (RTS) message, and the response signal may be a clear-to-send (CTS) message related to preparing for the transmission of at least one data packet from a transmitter to a receiver. In another embodiment, the round-trip-time may be determined by carrying out a first transmission between two devices without bundling the acknowledgment, e.g. by transmitting an acknowledgment to a first data packet in a first transmission opportunity of the acknowledgment message, wherein the acknowledgment message comprises only one data packet acknowledgment. Then, the transmitter of the data packet may compute the round-trip-time from a time difference between the transmission of the first data packet and reception time of the acknowledgment message acknowledging the reception of the first data packet. Thereafter, the acknowledgment bundling may by triggered. In an embodiment where the transmitter and the receiver are synchronized to a common clock, the distance may be determined from one signal transmitted to a one direction. In the synchronized system, the party receiving the signal may have the knowledge of the transmission time of the signal, and it may compute the communication distance from the known transmission time and reception time of the signal with a simple subtraction operation and, optionally, mapping the result to a distance metric.

With respect to the embodiment using the path loss or equivalent metric computed from the received signal strength, the received signal strength may be measured from a pilot signal or another signal transmitted with a known transmit signal strength. With the knowledge of the transmit signal strength, and the received signal strength, e.g. signal power, the attenuation caused by a radio channel may be estimated, and the attenuation may be mapped to a database linking the attenuations to average communication distances. The estimate may not be entirely accurate because of variable radio channels but it should be appreciated that some embodiments of selecting the number of bundled acknowledgments do not necessitate an entirely accurate estimate of the communication distance.

In an embodiment, the number of bundled acknowledgments is a semi-static parameter, and it is computed case-wise, e.g. per a Medium Access Control (MAC) session. The MAC session may be defined as a transmission opportunity or a session in which a transmitter gains access to a communication channel and transmits a plurality of data packets to a receiver. The MAC session may be a continuous period of time reserved for the transmitter through a request-to-send (RTS) and clear-to-send (CTS) handshake with the receiver or through any other channel reservation scheme. The MAC session may end when the reservation expires (time limitation), the quality of the communication channel is detected to degrade below a threshold level, a transmission buffer is cleared of transmission data, or a higher layer cancels the MAC session in the transmitter. When the MAC session is long, e.g. minutes or even higher, the number of bundled acknowledgments may be recomputed during the MAC session. In other embodiments, the same number of bundled acknowledgments is used throughout the MAC session, and the new number of bundled acknowledgments may be computed for the subsequent MAC session. As a consequence, the change in any one of the parameters affecting the number of bundled acknowledgments, e.g. the communication distance, may cause the number of bundled acknowledgments to vary between the consecutive MAC sessions. This makes the method according to some embodiments of the invention very adaptive to changing environments.

Let us now consider some embodiments of the flow diagram of <FIG> and, particularly, to different embodiments for realizing block <NUM>. <FIG> illustrates a signalling diagram of an embodiment in which the receiver determines the (radio) communication distance and determines autonomously the number of acknowledgments to be bundled together. It is obvious to the person skilled in the art that the roles "transmitter" and "receiver" relate only to the context where data packets are transmitted from the transmitter to the receiver, and the roles may be reversed for situations where the data packets are transmitted to the opposite direction. Referring to <FIG>, the transmitter prepares and transmits data packets to the receiver in block <NUM>. The transmitter may also store identifiers of the transmitted data packets in a list of unacknowledged data packets. In block <NUM>, the receiver receives the data packets and processes them one at a time, for example. The processing may comprise performing error correction and detection on the data packets so as to determine whether or not each data packet was received correctly. The receiver may then prepare an acknowledgment for each data packet, wherein the acknowledgment maybe provided with an identifier indicating to which each acknowledgment relates, e.g. a frame number. In block <NUM>, the receiver determines the number of acknowledgments to be bundled together by first determining at least the communication distance and then computing the number of acknowledgments to be bundled. The receiver may determine the communication distance, for example, from the latest available knowledge about the distance, e.g. information achieved in connection with previous RTS-CTS handshake or the latest location information. The latest RTS-CTS handshake may relate to the timing when the receiver previously transmitted data packets to the transmitter. Block <NUM> may alternatively be carried out before block <NUM>. In block <NUM>, the receiver bundles the number of acknowledgments determined in block <NUM> into a single acknowledgment message and transmits the acknowledgment message to the transmitter. In block <NUM>, the transmitter receives the acknowledgment message and processes the message so as to determine whether or not at least some of the data packets transmitted in block <NUM> were received correctly (ACK) or erroneously (NAK). The transmitter may remove from the list of unacknowledged data packets at least those data packets that were received correctly and carry out a retransmission of at least some of the data packets that were received erroneously. The same bundling of acknowledgments may be applied to the initial transmissions and retransmissions of the data packets.

<FIG> illustrates a signalling diagram of an embodiment in which the transmitter determines the (radio) communication distance and determines autonomously the number of acknowledgments to be bundled together. The steps with the same reference signs as in <FIG> have essentially the same functionality. Consequently, the transmitter transmits and the receiver receives the data packets in blocks <NUM> and <NUM>. Now, the transmitter carries out block <NUM> and determines the number of ACK/NAKs to be bundled into the same acknowledgment message. In block <NUM>, the transmitter transmits a bundling command message instructing the number of ACK/NAKs to be bundled to the receiver. The bundling command message may be included in a data packet transmitted by the transmitter to the receiver. <FIG> illustrates an embodiment of such a data packet carrying the bundling command. The data packet comprises a header <NUM> carrying control information including the bundling command <NUM> and a payload portion <NUM> carrying payload data to the receiver.

In an embodiment, the bundling command <NUM> is a bit or byte value that indicates explicitly the number of acknowledgments to be bundled together. For example, if it is determined in block <NUM> that <NUM> acknowledgments are to be bundled together, the bundling command may carry a bit combination that indicates value <NUM>. Upon receiving the bundling command <NUM> in block <NUM>, the receiver may wait for the reception of at least the indicated number of data packets and then include the acknowledgments into the same acknowledgment message in block <NUM>. This embodiment may be realized such that block <NUM> is carried out before block <NUM> or in block <NUM>.

In another embodiment, the bundling command is a one-bit indicator, and the transmitter may use the bundling command to trigger the transmission of the acknowledgment message. For example, the bundling command may carry one bit value to indicate that the transmission is not triggered and a different bit value to trigger the transmission of the acknowledgment message. The transmitter may count the number of unacknowledged data packets and, until the number reaches a determined value, the transmitter may configure the bundling command to carry a value that does not trigger the transmission of the acknowledgment message. However, upon reaching the determined value, the transmitter may configure the bundling command to carry a value that triggers the transmission of the acknowledgment message. Upon reception of each data packet, the receiver may be configured to check the bundling command. If the bundling command carries the value that does not trigger the transmission of the acknowledgment message, the receiver may simply process the data packet, determine whether to respond to the data packet with an ACK or NAK and buffer the acknowledgment value. If the bundling command carries the value that triggers the transmission of the acknowledgment message, the receiver may prepare an acknowledgment message and insert into the acknowledgment message all the buffered acknowledgments. In yet another embodiment, the transmitter prepares a dedicated bundling command message that triggers the transmission of the acknowledgment message in response to the bundling command message. The bundling command message may be understood as an acknowledgment request message, and the acknowledgment message as an acknowledgment response message that responds to the acknowledgment request message.

As mentioned above, the effective data rate increases with the increase in the number of bundled acknowledgments. However, in a real scenario where packet losses occur, too high number of bundled acknowledgments results in an increased delay caused by the delayed acknowledgment to an individual data packet. The delay is caused by a waiting time when the receiver waits for the reception of the determined number of data packets before transmitting the acknowledgment message. In case of a given data packet is lost a number of times, e.g. an initial transmission and one or more retransmissions fails, the overall delay may be high. Furthermore, the inventors have discovered that the increase in the effective data rate achievable by the increase in the number of bundled data packets follows a logarithmic function where the increase in the effective data rate saturates. The point of saturation is dependent at least on the communication distance, wherein the saturation is achieved with a lower number of bundled acknowledgments when the communication distance is low. For example, in one case it was discovered that when the communication distance was <NUM> kilometres (km) the saturation of the data rate was achieved with five (<NUM>) bundled acknowledgments, while when the communication distance was <NUM><NUM> kilometres (km) the saturation of the data rate was not reached even after fifty (<NUM>) bundled acknowledgments. Other parameters may also affect the point of saturation, as shown below. However, the delay may start to play a higher role than the physical data rate, depending on the real-time requirements of an application using the data transfer service. Therefore, an upper limit is provided to the number of bundled acknowledgments in order to keep the delay tolerable even in the case of multiple losses of the same data packet. The actual value of the upper limit may be determined depending on the system specifications and the applications using the data transfer service. According to the claimed invention, the upper limit is made adaptive and determined case-wise on the basis of the real-time requirements of the application. A lower upper limit is selected to the applications setting high real-time demands, e.g. a voice communication connection, thus trading the data rate to the lower delay. On the other hand, a higher upper limit is selected to the applications setting low real-time demands, e.g. an e-mail or another messaging application, thus resulting in higher data rates and possibly a high delay.

<FIG> illustrates an embodiment of a procedure according to the claimed invention for selecting the number of bundled acknowledgments and taking the upper limit into account. The process may be understood as an embodiment of blocks <NUM> and <NUM> described above. The procedure starts in block <NUM>. The procedure may be based on the following Equation (<NUM>) for an effective data rate G in bits per second: <MAT> where DI is an unidirectional link delay in seconds including a propagation delay and, optionally, processing delays in the transmitter and/or in the receiver, Lpkt is a length of a data packet in seconds, DR is a nominal data rate of the connection in bits per second, RD/A is the number of bundled acknowledgments, LACK is the length of the acknowledgment message in seconds, and gt is a guard time between consecutive data packets in seconds. Equation (<NUM>) may be used to determine an optimal value for the RD/A with respect to the effective data rate G and the delay with the DI that defines the communication distance, e.g. <NUM>* DI may define the round-trip-time. In an embodiment, Equation (<NUM>) is used in the process of <FIG> iteratively where the communication distance and other parameters needed are first computed in block <NUM>. Block <NUM> may also comprise selection of the upper limit. The data rate DR may be determined according to the bandwidth and other factors affecting the nominal data rate. Naturally, RD/A is unknown at this stage, and it may be initialized to a determined value that is known to be lower than the optimal number of bundled acknowledgments for the determined communication distance. The initial value of the RD/A may be lower for the lower communication distance and higher for the higher communication distance. The initialization may be carried out in block <NUM> when block <NUM> is executed for the first time and, otherwise, block <NUM> may increment the RD/A when block <NUM> is executed the next time. In block <NUM>, Equation (<NUM>) is computed with the current value of RD/A. In block <NUM>, the RD/A is compared with the upper limit. If the upper limit has been reached, i.e. the RD/A is not below the upper limit, the process proceeds to block <NUM> in which the upper limit is selected as the value for the RD/A. Thereafter, the process moves to block <NUM> in which the current value of the RD/A is selected for use in bundling the acknowledgments into the acknowledgment message. However, if the upper limit has not yet been reached, the process may proceed to block <NUM> in which the increase in the data rate with respect to the previous iteration is evaluated with respect to a reference value. The reference value may define the above-mentioned saturation point of the effective data rate G, e.g. it may define a point where the effective data rate G with respect to the increment of RD/A does not increase sufficiently anymore. In the first iteration, the comparison may be made with respect to effective data rate of zero bits/s or the process may simply skip block <NUM> and return to block <NUM>. In the subsequent iterations, if it is determined in block <NUM> that the effective data does increase more than the minimum increase defined by the reference value, the process returns to block <NUM>. On the other hand, if it is determined in block <NUM> that the effective data does not increase more than the minimum increase defined by the reference value, the process moves to block <NUM> in which the current value of RD/A is selected.

Obviously, there are other embodiments for using Equation (<NUM>) to derive the optimal value for RD/A with the above-mentioned conditions. The Actual computation of Equation (<NUM>) may be replaced by the provision of look-up tables in the apparatus determining the number of bundled acknowledgments. The apparatus may then replace blocks <NUM> to <NUM> by a single procedure in which it reads from look-up tables a value of the RD/A that is linked to the parameters determined in block <NUM>. In such an embodiment, the use of the upper limit, for example, may be encoded into the look-up table values. Other equivalent mathematical methods are equally possible. Some embodiments may reduce the complexity of the computation by eliminating less significant parameters from Equation (<NUM>), e.g. the length of the data packets, the length of the acknowledgment message, and/or the guard time. The data rate may in some embodiments be maintained, because it may in some scenarios and in some implementations of the wireless communication system play a significant role on the behaviour of the function G(RD/A). For example, in some scenarios the saturation of G is achieved sooner with the smaller nominal data rates.

<FIG> illustrates an embodiment of an apparatus comprising means for carrying out the functionalities of the network node <NUM> to <NUM> according to any one of the above-described embodiments. The apparatus may be a radio communication apparatus implemented as a portable device, e.g. a computer (PC), a laptop, a tabloid computer, a portable radio phone, a mobile radio platform (installed to a vehicle such as a truck or a ship), or any other apparatus provided with radio communication capability. In some embodiments, the apparatus is the vehicle equipped with the radio communication capability. In other embodiments, the apparatus is a fixed station, e.g. a base station. In further embodiments, the apparatus is comprised in any one of the above-mentioned apparatuses, e.g. the apparatus may comprise a circuitry, e.g. a chip, a processor, a micro controller, or a combination of such circuitries in the apparatus.

The apparatus may comprise a communication controller circuitry <NUM> configured to control the communications in the communication apparatus. The communication controller circuitry <NUM> may comprise a control part <NUM> handling control signalling communication with respect to establishment, operation, and termination of the radio connections. The control part <NUM> may also carry out any other control functionalities related to the operation of the radio links, e.g. transmission, reception, and extraction of the control messages, e.g. RTS/CTS messages, acknowledgment messages, and/or headers of data packets carrying control information such as the bundling command <NUM>. The communication controller circuitry <NUM> may further comprise a data part <NUM> that handles transmission and reception of payload data over the radio links. The communication controller circuitry <NUM> may further comprise an ARQ manager circuitry <NUM> configured to handle the ARQ processes in the apparatus. The ARQ manager may process the acknowledgments for the data packets it has transmitted, and possible retransmissions, and for the data packets it has received. The ARQ manager circuitry <NUM> may comprise as a sub-circuitry an ACK/NAK bundling controller circuitry <NUM> configure to determine the number of acknowledgments bundled together into the same acknowledgment message. Depending on the embodiment, the ACK/NAK bundling controller circuitry <NUM> may determine the number of the bundled acknowledgments, e.g. the above-mentioned RD/A, and transmit the bundling command through the control part <NUM> to the receiver in the header of a data packet or as a separate control message, or it may configure the control part to bundle the determined number of acknowledgments into the same acknowledgment message to be transmitted to the transmitter (embodiment of <FIG>).

The circuitries <NUM> to <NUM> of the communication controller circuitry <NUM> may be carried out by the one or more physical circuitries or processors. In practice, the different circuitries may be realized by different computer program modules. Depending on the specifications and the design of the apparatus, the apparatus may comprise some of the circuitries <NUM> to <NUM> or all of them.

The apparatus may further comprise the memory <NUM> that stores computer programs (software) configuring the apparatus to perform the above-described functionalities of the network node <NUM> to <NUM>. The memory <NUM> may also store communication parameters and other information needed for the radio communications. For example, the memory may store the above-mentioned value for the upper limit and the reference value. The memory <NUM> may serve as the buffer for data packets to be transmitted, the data packets that have not yet been acknowledged, and the acknowledgments that are being accumulated before the transmission of the acknowledgment message. The apparatus may further comprise radio interface components <NUM> providing the apparatus with radio communication capabilities with other network nodes. The radio interface components <NUM> may comprise standard well-known components such as amplifier, filter, frequency-converter, analogue-to-digital (A/D) and digital-to-analogue (D/A) converters, (de)modulator, and encoder/decoder circuitries and one or more antennas. The apparatus may further comprise a user interface enabling interaction with the user. The user interface may comprise a display, a keypad or a keyboard, a loudspeaker, a smartcard and/or fingerprint reader, etc..

An embodiment provides an apparatus comprising at least one processor and at least one memory including a computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the apparatus to perform the functionalities of the network node <NUM> to <NUM> in the role of the transmitter and/or the receiver, as described above in connection with <FIG>.

As used in this application, the term 'circuitry' refers to all of the following: (a) hardware-only circuit implementations such as implementations in only analogue and/or digital circuitry; (b) combinations of circuits and software and/or firmware, such as (as applicable): (i) a combination of processor(s) or processor cores; or (ii) portions of processor(s)/software including digital signal processor(s), software, and at least one memory that work together to cause an apparatus to perform specific functions; and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.

As a further example, as used in this application, the term "circuitry" would also cover an implementation of merely a processor (or multiple processors) or portion of a processor, e.g. one core of a multi-core processor, and its (or their) accompanying software and/or firmware. The term "circuitry" would also cover, for example and if applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit (ASIC) for the apparatus according to an embodiment of the invention.

The processes or methods described in <FIG> may also be carried out in the form of a computer process defined by a computer program. The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program. Such carriers include transitory and/or non-transitory computer media, e.g. a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package. Depending on the processing power needed, the computer program may be executed in a single electronic digital processing unit or it may be distributed amongst a number of processing units.

Claim 1:
A method for bundling data packet acknowledgments in a wireless communication device (<NUM>), the method comprising:
setting an upper limit for a number of data packet acknowledgments to be bundled together into a single acknowledgment message, wherein the upper limit is selected on the basis of real-time requirements of an application transferring data over a connection between the wireless communication device and a counterpart wireless communication device (<NUM>, <NUM>) such that a lower upper limit is selected to applications setting high real-time demands while a higher upper limit is selected to applications setting low real-time demands;
determining a metric by computing (step <NUM>) an effective data rate as a function of the communication distance, the nominal data rate and the number of bundled acknowledgements;
using the metric to determine (<NUM>, <NUM>) an optimal number of data packet acknowledgments to be bundled together with respect to the determined communication distance and the effective data rate such that the optimal number of data packet acknowledgments to be bundled together is not greater than the upper limit;
bundling (<NUM>) the determined optimal number of acknowledgements into a single acknowledgement message; and
causing (<NUM>) transmission of the single acknowledgment message.