Managing data retransmission to a wireless device

First data packets for a wireless device are received at a network element and are encoded into at least one second data packet, the second data packet comprising at least two of the first data packets. The at least one second data packet is sent from the network element to the wireless device. A round trip time related to the at least one second data packet, and a frequency band load of a frequency band to deliver the at least one second data packet to the wireless device are determined. A number of permitted retransmissions of the at least one second data packet from the access node to the wireless device is adjusted based on the round trip time and the frequency band load.

TECHNICAL BACKGROUND

Data packet loss, in which a data packet intended for a receiving device fails to arrive, or arrives after a predetermined time period, can be caused by network congestion, wireless communication link interference, and a variety of other causes. To mitigate data packet loss, data packets can be repeatedly sent and re-sent, which increases packet reception at a cost of increasing network congestion. Retransmission request mechanisms can also be employed, which can also increase network congestion, owing to an increase in signaling associated with retransmission requests and subsequent packet retransmission. Further, network coding can be applied to mitigate packet loss, but the successful application of network coding is also affected by network congestion and packet loss, among other things.

OVERVIEW

In operation, first data packets for a wireless device are received at a network element and are encoded into at least one second data packet, where the second data packet comprises at least two of the first data packets. The at least one second data packet is then sent from the network element to the wireless device. A round trip time related to the at least one second data packet is determined. A frequency band load of a frequency band between an access node and the wireless device to deliver the at least one second data packet to the wireless device is also determined. Based on the round trip time and the frequency band load, a number of permitted retransmissions of the at least one second data packet from the access node to the wireless device is adjusted. In an embodiment, when a number of retransmissions of the at least one second data packet from the access node to the wireless device meets the adjusted number of permitted retransmissions of the at least one second data packet, the at least one second data packet can be re-sent from the network element to the wireless device.

DETAILED DESCRIPTION

FIG. 1illustrates an exemplary communication system100to manage data retransmission to a wireless device comprising wireless device102, access node104, network element106, communication network108, and data source110. Examples of wireless device102can comprise a cell phone, a smart phone, a computing platform such as a laptop, palmtop, or tablet, a personal digital assistant, or an internet access device, including combinations thereof. Wireless device102can communicate with access node104over communication link112. Communication link112can comprise a frequency band, such as, for example, 800 MHz, 1.9 GHz, 2.5 GHz, and the like. A frequency band can comprise one or more channels, and each channel can comprise a frequency bandwidth within the frequency band.

Access node104is a network node capable of providing wireless communications to wireless device102, and can be, for example, a base transceiver station, a radio base station, an eNodeB device, or an enhanced eNodeB device. Access node104is in communication with network element106over communication link114.

Network element106can comprise a processor and associated circuitry, and can be configured to receive first data packets for wireless device102and to encode the first data packets into at least one second data packet. The at least one second data packet can comprise at least two of the first data packets. Network element106can be further configured to provide the at least one second data packet to access node104using a data redundancy factor. The first data packets can be received from another network element of communication system100, such as data source110. Network element106can retrieve and execute software from storage, which can include a disk drive, flash drive, memory circuitry, or some other memory device, and which can be local or remotely accessible. The software comprises computer programs, firmware, or some other form of machine-readable instructions, and may include an operating system, utilities, drivers, network interfaces, applications, or some other type of software, including combinations thereof. Network element106can receive instructions and other input at a user interface. Examples of network element106can include one or more computing devices or a network components, such as an access service network gateway (ASN-GW), a packet data network gateway (P-GW), a serving gateway (S-GW), a mobile switching center (MSC), a dispatch call controller (DCC), a mobility management entity (MME), a radio network controller (RNC), a mobile switching controller (MSC), a packet data serving node (PDSN), a subscriber profile system (SPS), and an authentication, authorization, and accounting (AAA) equipment, including combinations thereof. Network element106is in communication network108over communication link116.

Data source110comprises a network element of communication system100which can be configured to send first data packets to network element106, e.g., in response to a request for the first data packets from wireless device102. Data source110can retrieve and execute software from storage, which can include a disk drive, flash drive, memory circuitry, or some other memory device, and which can be local or remotely accessible. The software comprises computer programs, firmware, or some other form of machine-readable instructions, and may include an operating system, utilities, drivers, network interfaces, applications, or some other type of software, including combinations thereof. Data source110can receive instructions and other input at a user interface. Examples of data source110can include one or more computing devices or a network components, such as a server, a router, a gateway, or another computing device. Data source110is in communication network108over communication link118.

Communication links112,114,116, and118can comprise wired or wireless communication links. Wired communication links can comprise, for example, twisted pair cable, coaxial cable or fiber optic cable, or combinations thereof. Wireless communication links can comprise a radio frequency, microwave, infrared, or other similar signal, and can use a suitable communication protocol, for example, Global System for Mobile telecommunications (GSM), Code Division Multiple Access (CDMA), Worldwide Interoperability for Microwave Access (WiMAX), or Long Term Evolution (LTE), or combinations thereof. Other wireless protocols can also be used.

Other network elements may be present in communication system100to facilitate wireless communication but are omitted for clarity, such as base stations, base station controllers, gateways, mobile switching centers, dispatch application processors, and location registers such as a home location register or visitor location register. Furthermore, other network elements may be present to facilitate communication among access node104, network element106, communication network108, and data source110which are omitted for clarity, including additional processing nodes, routers, gateways, and physical and/or wireless data links for carrying data among the various network elements.

Data packet loss, in which a data packet intended for a receiving device fails to arrive, or fails to arrive within a predetermined time period and is declared lost, is a common issue in wireless communication systems. Such packet loss can be arise from a variety of causes, including network congestion and wireless communication link interference. Various techniques can be applied to mitigate packet loss. Network coding can be applied, by which first data packets can be decoded from second data packets, but the successful application of network coding is affected by network congestion and packet loss of the second data packets, among other things. Packet retransmission can also be used, for example, from a data source (e.g., data source110) to a receiver (e.g., wireless device102), but network congestion and signaling overhead tend to increase as retransmissions increase. Additionally, packets can be retransmitted from an access node (e.g., access node104) to the receiving wireless device (e.g., wireless device102), but such retransmissions tend to increase utilization or load of the wireless communication link. A combination of techniques can be used, provided that the combination is balanced to limit increases in network congestion, signaling overhead, and/or communication link load.

In operation, first data packets for wireless device102are received at network element106, and the first data packets are encoded into at least one second data packet. The at least one second data packet comprises at least two of the first data packets. Then, the at least one second data packet is sent to wireless device102, for example, by access node104. A round trip time related to the at least one second data packet is determined. The round trip time can be determined based on information sent to data source110, such as an acknowledgment message from wireless device102, when the second data packet is decoded at wireless device102into the at least two first data packets. In addition, a frequency band load of a frequency band (e.g., communication link112) between access node104and wireless device102is determined. Based on the round trip time and the frequency band load, a number of permitted retransmissions of the at least one second data packet from the access node to the wireless device is adjusted.

FIG. 2illustrates an exemplary method of managing data retransmission to a wireless device. First data packets are received for the wireless device (operation202), and the first data packets are encoded into at least one second data packet, each second data packet comprising at least two of the first data packets using a data redundancy factor (operation204). For example, referring toFIG. 3, first data packets314comprising exemplary packets P1, P2, P3, P4, P5, and P6(the number of which is merely exemplary and is not limiting) can be sent by data source310over communication link312to communication network308, and can be received as first data packets318at network element306over communication link316. The first data packets can be encoded at network element306into at least one second data packet, which can comprise at least two of the first data packets. For example, first data packets P1-P6can be encoded at network element306into second data packets322. Second data packets322comprise exemplary packets P1+P2, P2+P3, P3+P4, P4+P5, P5+P6, P1+P6, and P2+P5. In an embodiment, second data packets322can be encoded using linear network coding or a similar coding method.

Returning toFIG. 2, at least one second data packet is then sent from the from the network element to the wireless device (operation206). For example, second data packets322(FIG. 3) can be provided to from network element306to access node304over communication link320, and then second data packets322can be scheduled for delivery from access node304to wireless device302over communication link324. At least one second data packet322can then be sent from access node304to wireless device302over first communication link324. The use of second data packets to convey the information of the first data packets enhances the robustness of the communication of the first data packets to the wireless device. For example, packet P2+P5can be lost over communication link324. However, the information in second data packet P2+P5, namely first data packets P2and P5, can be recovered from other second data packets when the second data packets are decoded at wireless device302. Thus, first packets P1-P6can be decoded (326) from the second data packets. In operation, a threshold number of second data packets typically must be received at wireless device302before wireless device302can begin to decode the second data packets into the first data packets.

Referring again toFIG. 2, a round trip time related to the at least one second data packet is determined (operation208). For example, when wireless device302receives second data packets322, first packets P1-P6can be decoded (326) from the second data packets received, and for each first data packet decoded at wireless device302, wireless device302can send an acknowledgement message (e.g., an ACK or similar message) to data source310. Based on the time at which each first data packet was sent from data source110, and a time an acknowledgement message corresponding to each first data packet is received at data source110, a round trip time can be calculated for each first data packet. Even though first data packets P2and P5can be recovered from other second data packets when the second data packets are decoded, the loss of second data packet P2+P5can still delay the sending of an acknowledgement message for packets P2and P5, because when second data packet P2+P5is lost, additional second data packets are typically required to properly decode the second data packets. Thus, packet losses of the second data packets can be determined by a sender such as data source310based on the round trip time, because round trip time will typically increase with the loss of the second data packets.

Returning toFIG. 2, next, a frequency band load of a frequency band between an access node and the wireless device to deliver the at least one second data packet to the wireless device is determined (operation210). The frequency band load can comprise a congestion level, an amount of data carried over the frequency band, a requested amount of data to be carried over the frequency band (as may be determined from a buffer status report or similar request for wireless communication link resources), an amount of data buffered for transmission over the frequency band, a data rate, a data throughput, a data delay, a data loss rate, a rate of retransmission requests, a level of signal interference, and the like, including combinations thereof. For example, the frequency band load of communication link324(FIG. 3) can be determined at wireless device302and/or access node304based on the transmission of the second data packets to wireless device302.

Then, in operation212(FIG. 2), based on the round trip time and the frequency band load of the frequency band, a number of permitted retransmissions of the at least one second data packet from the access node to the wireless device is adjusted. For example, a retransmission technique can be used between access node304and wireless device302wherein wireless device302can request a retransmission of a packet which is lost, corrupted, or otherwise cannot be properly decoded. Such retransmission technique can comprise Automatic Retransmission Request (ARQ), hybrid Automatic Retransmission Request (HARD), and the like. The access node can buffer or otherwise store second data packets sent to the wireless device, and can re-send second data packets when requested by the wireless device. In an embodiment, the number of permitted retransmissions from the access node to the wireless device can be set relatively low, or can be set to zero. For example, when the round trip time related to the second data packets is relatively low, or when the frequency band load is relatively low, it can be determined that wireless device302receives sufficient second data packets to successfully decode the first data packets at a sufficient rate. However, when the round trip time increases, or when the frequency band load increases, the number of permitted retransmission of the second data packets can be increased, to enable the retransmission of second data packets which are lost, corrupted, or otherwise not decodable at the wireless device.

FIG. 4illustrates another exemplary communication system400to manage data retransmission to a wireless device comprising wireless device402, access node404, gateway node406, controller node408, communication network410, and data source412. Examples of wireless device402can comprise a cell phone, a smart phone, a computing platform such as a laptop, palmtop, or tablet, a personal digital assistant, or an internet access device, including combinations thereof. Wireless device402can communicate with access node404over communication link414. Communication link414can comprise a frequency band.

Access node404is a network node capable of providing wireless communications to wireless device402, and can be, for example, a base transceiver station, a radio base station, an eNodeB device, or an enhanced eNodeB device. Access node404is in communication with gateway node406over communication link416, and with controller node408over communication link418.

Gateway node406can comprise a processor and associated circuitry to execute or direct the execution of computer-readable instructions, and can be configured to maintain network connection information associated with wireless device402. Gateway node406can retrieve and execute software from storage, which can include a disk drive, flash drive, memory circuitry, or some other memory device, and which can be local or remotely accessible. The software comprises computer programs, firmware, or some other form of machine-readable instructions, and may include an operating system, utilities, drivers, network interfaces, applications, or some other type of software, including combinations thereof. Gateway node406can receive instructions and other input at a user interface. Examples of gateway node406can include a standalone computing device, a computer system, or a network component, such as an access service network gateway (ASN-GW), a packet data network gateway (P-GW), a serving gateway (S-GW), a mobile switching controller (MSC), a packet data serving node (PDSN), call processing equipment, a home agent, a radio node controller (RNC), a subscriber profile system (SPS), authentication, authorization, and accounting (AAA) equipment, and a network gateway, including combinations thereof. Gateway node406is in communication with communication network410over communication link422.

Controller node408can comprise a processor and associated circuitry to execute or direct the execution of computer-readable instructions, and can be configured to control the setup and maintenance of a communication session over communication network410for wireless device402, as well as to maintain network connection information associated with wireless device402. Controller node408can comprise a mobile switching center (MSC), a dispatch call controller (DCC), a mobility management entity (MME), or other similar network node. Controller node408can retrieve and execute software from storage, which can include a disk drive, flash drive, memory circuitry, or some other memory device, and which can be local or remotely accessible. The software comprises computer programs, firmware, or some other form of machine-readable instructions, and may include an operating system, utilities, drivers, network interfaces, applications, or some other type of software, including combinations thereof. Controller node408can receive instructions and other input at a user interface. Controller node408is in communication with gateway node406over communication link420.

Data source412comprises a network element of communication system400which can be configured to send first data packets to gateway node406, e.g., in response to a request for the first data packets from wireless device402. Data source412can retrieve and execute software from storage, which can include a disk drive, flash drive, memory circuitry, or some other memory device, and which can be local or remotely accessible. The software comprises computer programs, firmware, or some other form of machine-readable instructions, and may include an operating system, utilities, drivers, network interfaces, applications, or some other type of software, including combinations thereof. Data source412can receive instructions and other input at a user interface, and can be configured to send first data packets to gateway node406. Examples of data source412can include one or more computing devices or a network components, such as a server, a router, a gateway, or another computing device. Data source412is in communication network410over communication link424.

Communication links414,416,418,420, and422can be wired or wireless communication links. Wired communication links can comprise, for example, twisted pair cable, coaxial cable or fiber optic cable, or combinations thereof. Wireless communication links can comprise a radio frequency, microwave, infrared, or other similar signal, and can use a suitable communication protocol, for example, Global System for Mobile telecommunications (GSM), Code Division Multiple Access (CDMA), Worldwide Interoperability for Microwave Access (WiMAX), or Long Term Evolution (LTE), or combinations thereof. Other wireless protocols can also be used.

Other network elements may be present in communication system400to facilitate wireless communication but are omitted for clarity, such as base stations, base station controllers, gateways, mobile switching centers, dispatch application processors, and location registers such as a home location register or visitor location register. Furthermore, other network elements may be present to facilitate communication between access node404, gateway node406, controller node408, communication network410, and data source412which are omitted for clarity, including additional processing nodes, routers, gateways, and physical and/or wireless data links for carrying data among the various network elements.

FIG. 5illustrates another exemplary method of managing data retransmission to a wireless device. First data packets are received for the wireless device (operation502), and the first data packets are encoded into at least one second data packet, each second data packet comprising at least two of the first data packets (operation504). For example, referring toFIG. 4, first data packets can be sent by data source412over communication link424to communication network410, and the first data packets can be received at gateway node406over communication link422. The first data packets can be encoded at gateway node406into at least one second data packet, which can comprise at least two of the first data packets. A number of second data packets can be encoded according to a data redundancy factor. In an embodiment, second data packets can be encoded using linear network coding or a similar coding method. The second data packets can then be provided to access node404over communication link414(operation506).

At least one second data packet is then sent from the access node to the wireless device over a frequency band (operation508). For example, second data packets can be scheduled for delivery to wireless device402(FIG. 4) over communication link414. At least one second data packet can then be sent from access node404to wireless device402over first communication link402. The use of the second data packets to convey the information of the first data packets enhances the robustness of the communication of the first data packets to the wireless device, for example, by enabling the recovery of first data packets even when a second data packet is lost, reducing the need for a packet retransmission request and for retransmission of packets. In operation, a threshold number of second data packets typically must be received at wireless device402before wireless device402can begin to decode the second data packets into the first data packets.

A round trip time related to the second data packet is then determined (operation510). For example, when wireless device402receives the second data packets, the first packets can be decoded from the second data packets received, and for each first data packet decoded at wireless device402, wireless device402can send an acknowledgement message (e.g., an ACK or similar message) to data source412. In an embodiment, the acknowledgment message comprises a transfer control protocol (TCP) acknowledgement message. Based on the time at which a first data packet was sent (e.g., from data source412) and a time of an acknowledgement message associated with the decoding of the first data packet, a round trip time can be calculated for the first data packet. When a second data packet is lost, additional second data packets are typically required to properly decode the second data packets. Thus, when a second data packet is lost round trip time associated with the encoded first data packets can increase. An increase in round trip time can therefore be correlated with second data packet loss.

A frequency band load of the first frequency band is also determined (operation512). The first frequency band load can comprise a congestion level, an amount of data carried over the first frequency band, a requested amount of data to be carried over the first frequency band (as may be determined from a buffer status report or similar request for wireless communication link resources), an amount of data buffered for transmission over the first frequency band, a data rate, a data throughput, a data delay, a data loss rate, a rate of retransmission requests, a level of signal interference, and the like, including combinations thereof. The first frequency band load of communication link414(FIG. 4) can be determined at wireless device402and/or access node404based on the transmission of the second data packets to wireless device402.

A modulation and coding scheme (MCS) assigned to send the at least one second data packet to the wireless device is then determined (operation518). The modulation and coding scheme can comprise an indication of data carrying capacity over time, such as quadrature phase shift keying (QPSK), 16-quadrature amplitude modulation (QAM), 64QAM, and the like. The MCS can further comprise a forward error correction element, such as ½, ¾. and the like. The amount of frequency band resources required to send the at least one second data packet over the first frequency band and the MCS can provide further indications of the resource utilization impact of sending the at least one second data packet over the frequency band. The MCS can provide a factor which can be used in determining whether to adjust a number of permitted retransmissions of the at least one second data packet from the access node to the wireless device.

Next, an application requirement of an application running on the wireless device is determined (operation516). The application requirement can comprise a minimum data rate, a maximum permitted data delay, a minimum throughput, a maximum error rate, a maximum data loss rate, and the like, of an application running on a wireless device, required for the application to provide a threshold level of performance. The application requirement can also be determined based on the application type, such as whether the application is a relatively delay sensitive application (such as a streaming audio application a streaming video application, a voice application, and the like) or a relatively delay insensitive application (such as an email application, a messaging application, a web browsing application, and the like). The application requirement can provide a factor which can be used in determining whether to adjust a number of permitted retransmissions of the at least one second data packet from the access node to the wireless device.

A traffic priority of the at least one second data packet sent to the application is then determined (operation518). The traffic priority can comprise a characteristic of a bearer channel established over the wireless communication link for the application running on the wireless device. For example, the traffic priority can comprise guaranteed bit rate (GBR), non-guaranteed bit rate (nGBR), and the like. The traffic priority can also comprise a routing priority associated with the at least one second data packet, such as Unsolicited Grant Service (UGS), Real-Time Polling Service (rtPS), Non-Real-Time Polling Service (nrtPS), Best Effort (BE), and so forth. The traffic priority of the at least one second data packet can provide a factor which can be used in determining whether to adjust a number of permitted retransmissions of the at least one second data packet from the access node to the wireless device.

Then, in operation522, a number of permitted retransmissions of the at least one second data packet from the access node to the wireless device is adjusted. The adjustment can be based on the round trip time and the frequency band load. In an embodiment, the number of permitted retransmissions can be adjusted based on the round trip time, the frequency band load, and the determined modulation and coding scheme. In another embodiment, the number of permitted retransmissions can be adjusted based on based on the round trip time, the frequency band load, and the determined application requirement. In yet another embodiment, the number of permitted retransmissions can be adjusted based on the round trip time, the frequency band load, and the traffic priority of the at least one second data packet. Other examples, including combinations of the foregoing, are also possible. For example, the number of permitted retransmissions can be adjusted based on based on the round trip time, the frequency band load, the determined modulation and coding scheme, the determined application requirement, and the traffic priority of the at least one second data packet.

For example, wireless device402can send a request to data source412for the first data packets. Data source412can provide the first data packets to gateway node406via communication network410, and the first data packets can be encoded into at least one second data packet at gateway node406, wherein the at least one data packet comprises at least two first data packets. Gateway node406can provide the at least one second data packet to access node404, and the at least one second data packet can be scheduled for delivery to wireless device402from access node404. Initially, the number of permitted retransmissions from access node404to wireless device402can be set to a relatively low number, including zero. As the at least one second data packet is delivered to wireless device402, the round trip time associated with the delivery of the at least one second data packet can be determined to increase. An increase in the round trip time can be associated with the loss of second data packets over communication link414, with network congestion, and the like. Packet loss may reach a level at which the decoding of second data packets at wireless device402to recover the first data packets may be insufficient to mitigate the loss of the second data packets. In such case, retransmission of second data packets from access node404to wireless device402can be increased. In addition to the round trip time, additional factors can be used to determine whether to adjust the number of permitted retransmissions of the second data packets. For example, the frequency band load can provide an indication of the severity of expected second data packet loss. As another example, the modulation and coding scheme used to deliver the second data packets to the wireless device can provide an indication of the distance of the wireless device from the access node. The farther the wireless device from the access node, the greater the anticipated second data packet loss may be. As another example, the application requirement of the application running on the wireless device can provide an indication of the tolerance of the application for delay; the lower the delay tolerance, the greater the number of permitted retransmissions can be adjusted to be. As yet another example, the traffic priority of the at least one second data packet sent to the application can provide an indication of the relative importance of the second data packet traffic; the higher the traffic priority, the greater the number of permitted retransmissions can be adjusted to be.

Additionally, or alternatively, a retransmission overhead associated with a retransmission of the at least one second data packet from the access node to the wireless device is determined (operation520). The retransmission overhead can comprise an amount of communication link resources dedicated to re-delivering a second data packet from access node404to wireless device402. The retransmission overhead can comprise an amount of bandwidth, a number of slots, a number of frames, and number of subbands, a number of physical resource blocks (PRBs), a number of resource elements (REs), or another indication of an amount of communication link resources. The retransmission overhead can provide an additional factor for adjusting the number of permitted retransmissions of the at least one second data packet from the access node to the wireless device. For example, the number of permitted retransmissions can be adjusted based on based on the round trip time, the frequency band load, the determined modulation and coding scheme, the determined application requirement, the traffic priority of the at least one second data packet, and the retransmission overhead associated with a retransmission of the at least one second data packet from the access node to the wireless device.

FIG. 6illustrates an exemplary processing node600in a communication system. Processing node600comprises communication interface602, user interface604, and processing system606in communication with communication interface602and user interface604. Processing node600can be configured to managing data retransmission to a wireless device. Processing system606includes storage608, which can comprise a disk drive, flash drive, memory circuitry, or other memory device. Storage608can store software610which is used in the operation of the processing node600. Storage608may include a disk drive, flash drive, data storage circuitry, or some other memory apparatus. Software610may include computer programs, firmware, or some other form of machine-readable instructions, including an operating system, utilities, drivers, network interfaces, applications, or some other type of software. Processing system606may include a microprocessor and other circuitry to retrieve and execute software610from storage608. Processing node600may further include other components such as a power management unit, a control interface unit, etc., which are omitted for clarity. Communication interface602permits processing node600to communicate with other network elements. User interface604permits the configuration and control of the operation of processing node600.

Examples of processing node600include access node104, network element106, data source110, access node304, network element306, data source310, access node404, gateway node406, controller node408, and data source412. Processing node600can also be an adjunct or component of a network element, such as any of the foregoing. Processing node600can also be another network element in a communication system. Further, the functionality of processing node600can be distributed over two or more network elements of a communication system.

The above description and associated figures teach the best mode of the invention. The following claims specify the scope of the invention. Note that some aspects of the best mode may not fall within the scope of the invention as specified by the claims. Those skilled in the art will appreciate that the features described above can be combined in various ways to form multiple variations of the invention, and that various modifications may be made to the configuration and methodology of the exemplary embodiments disclosed herein without departing from the scope of the present teachings. Those skilled in the art also will appreciate that various features disclosed with respect to one exemplary embodiment herein may be used in combination with other exemplary embodiments with appropriate modifications, even if such combinations are not explicitly disclosed herein. As a result, the invention is not limited to the specific embodiments described above, but only by the following claims and their equivalents.