Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TCP ACK MECHANISM WITH RLC PRESCHEDULING
Document Type and Number:
WIPO Patent Application WO/2017/200434
Kind Code:
A1
Abstract:
The following description describes a solution for increasing downstream throughput of TCP data packet involving a flow control mechanism in access networks. The solution is based on the use of the RBSes knowledge from the radio network to ensure optimal TCP throughput performance by influencing TCP flow control mechanism. By adding a prescheduling functionality in the RBS the solution will create fair and optimized mobile network performance for TCP flows.

Inventors:
HÖGLUND NIKLAS (SE)
THYNI TOMAS (SE)
WELIN ANNIKKI (SE)
Application Number:
PCT/SE2016/050445
Publication Date:
November 23, 2017
Filing Date:
May 17, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (PUBL) (SE)
International Classes:
H04L12/801; H04L1/18; H04L29/06; H04W80/06
Foreign References:
US20110158186A12011-06-30
Other References:
"Long-duration UL grant", vol. RAN WG2, no. Malmö, Sweden; 20151004 - 20151009, 4 October 2015 (2015-10-04), XP051040282, Retrieved from the Internet [retrieved on 20151004]
Attorney, Agent or Firm:
BRANN AB (SE)
Download PDF:
Claims:
CLAIMS

1 . Method for accelerating throughput of Transmission Control Protocol, TCP, data packets from a sender to a wireless user equipment, UE, via a radio base station, RBS, the method comprising:

- Receiving (S1 10) a TCP data packet;

- Sending (S120) the TCP data packet to the UE;

- Pre-scheduling (S130) the UE uplink to send a TCP ACK for the sent TCP data packet if a radio link control acknowledgement of successful reception of the TCP data packet is received from the UE; - Sending (S140) a GRANT message allowing the UE to send the TCP

ACK for the sent TCP data packet.

The method according to claim 1 , the method further comprises:

- Receiving (S150) the TCP ACK for the sent TCP data packet;

- Sending (S160) the TCP ACK for the sent TCP data packet to the sender.

3. Device (210) in a Radio Base Station, RBS, (200) for accelerating

throughput of Transmission Control Protocol, TCP, data packets from a sender (140) to a wireless user equipment, UE, (1 10) via the RBS, the device (210) comprising a processor (252) in a processing circuitry (250) being operative to perform:

- Receiving a TCP data packet;

- Sending the TCP data packet to the UE;

- Pre-scheduling the UE uplink to send a TCP ACK for the sent TCP data packet if a radio link control acknowledgement of successful reception of the TCP data packet is received from the UE;

- Sending a GRANT message allowing the UE to send the TCP ACK for the sent TCP data packet.

4. The device (210) according to claim 3, the processor (252) is further operative to perform: - Receiving the TCP ACK for the sent TCP data packet;

- Sending the TCP ACK for the sent TCP data packet to the sender.

Device according to claim 3 or 4, wherein the RBS comprises either eNodeB of a LTE system, Radio Network Controller of a 3G system, Base Station Controller of a 2G system or a Baseband Unit of a 5G system.

A computer program (260) comprising computer program code which, when run in a processor (252) of a processor circuitry (250) of a device (210) in a Radio Base Station (200), causes the device to perform steps of the method according to any of claims 1 - 2.

A computer program product (254, 258) comprising a computer program (260) according to claim 5 and a computer readable means (254, 258) on which the computer program is stored.

A carrier (254, 258) containing the computer program (260) of claim 5, wherein the carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium (254, 258).

A radio base station (200) comprising a device (210) according to any of claims 3 - 5.

Description:
TCP ACK mechanism with RLC prescheduling.

TECHNICAL FIELD

The present technology relates to a method, computer program, computer program product, carrier and a device in a radio base station in a wireless communication network. In more detail, the present technology is a mechanism for accelerating throughput of Transmission Control Protocol, TCP, data packets from a sender to a wireless user equipment, UE, via a radio base station, RBS.

BACKGROUND

Asymmetry and re-transmission in mobile networks are known characteristics. This has an unfavorable effect on the TCP performance. TCP is the main protocol used in data communication.

TCP flow control and congestion control mechanism may cause sub optimal performance over a radio network. The TCP receive windows is used by the TCP receiver to alert the TCP sender of available buffer at the receive end. The TCP sender keeps a congestion window to pace the transmission of the packets to ensure everyone in the network receives a fair portion and that network is not over congested. In a steady and stable network TCP data packets are transmitted when a TCP ACK is received.

Asymmetry and retransmission in mobile networks increases TCP's sensitivity to delay and packet loss. Specifically, ACKs which are delayed or dropped are used as feedback mechanisms by layer 4 protocols, such as TCP. Delayed or dropped ACKs create significant performance degradation. The delay in ACK feedback mechanism is affected by radio capacity asymmetry caused by difference in bandwidth ratio in up-link and down-link bandwidth capacity. The end-user performance is degraded because of limitation and delay variability in the ACK feedback from the receiver to the sender. SUMMARY

The object of this disclosure is to provide a mechanism for accelerating throughput of Transmission Control Protocol, TCP, data packets from a sender to a wireless user equipment, UE, via a radio base station, RBS. According to one aspect, a method of accelerating throughput of Transmission Control Protocol, TCP, data packets from a sender to a receiving wireless user equipment, UE, via a radio base station, RBS, is provided. The RBS receives a TCP data packet, sends the TCP data packet to the UE and pre-schedules of the UE uplink to send a TCP ACK for the sent TCP data packet if a radio link control acknowledgement of successful reception of the TCP data packet is received from the UE and sends a GRANT message allowing the UE send the TCP ACK for the sent TCP data packet.

According to further one aspect, a device in a Radio Base Station, RBS, is provided. The device enables accelerating throughput of Transmission Control Protocol, TCP, data packets from a sender to a wireless user equipment, UE, via the RBS. The device comprises a processor in a processing circuitry being operative to receive a TCP data packet, to send the TCP data packet to the UE, pre-scheduling the UE uplink to send a TCP ACK for the sent TCP data packet if a radio link control acknowledgement of successful reception of the TCP data packet is received from the UE, and to send a GRANT message allowing the UE to send the TCP ACK for the sent TCP data packet.

According to further one aspect, it is further herein provided a computer program. Said computer program comprises computer program code which, when run in a processor of a processor circuitry of a RBS device, causes the RBS to perform the steps of the method for accelerating throughput of TCP data packets.

According to yet one aspect, a computer program product is also provided. The computer program product comprises a computer program for accelerating throughput of TCP data packets and a computer readable means on which the computer program is stored. Said computer program comprises computer program code which, when run in the processor of the processor circuitry of a RBS device, causes the RBS to perform the steps of the method for accelerating throughput of TCP data packets.

According to further one aspect, a carrier containing a computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium. Said computer program comprises computer program code which, when run in a processor circuitry of a RBS device, causes the RBS to perform steps of the method for accelerating throughput of TCP data packets.

According to one additional aspect, it is provided a radio base station comprising a device for enabling accelerating throughput of Transmission Control Protocol, TCP, data packets from a sender to a wireless user equipment, UE.

One advantage is that the sending of TCP ACKs from the UE receiving TCP data packets is independent of the data packet traffic load upstream or uplink sent from the UE.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing, and other, objects, features and advantages of the present invention will be more readily understood upon reading the following detailed description in conjunction with the drawings in which:

Figure 1 is a schematic illustration the TCP ACK mechanism;

Figure 2 is a diagram illustrating the relation of actual frequency and throughput for different kind of data packets upstream and downstream;

Figure 3 is a schematic illustration of a tele and data communication system;

Figure 4 is a flowchart illustrating a method of accelerating throughput of Transmission Control Protocol data packets;

Figure 5 is a signalling scheme illustrating the prescheduling

functionality;

Figure 6 is a flowchart illustrating an embodiment of the method S100; Figure 7 is illustrating a Radio base station device capable of

performing the method S100;

Figure 8 illustrates an alternative embodiment of a RBS device capable of performing the method S100.

DETAILED DESCRIPTION

In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular circuits, circuit components, techniques, etc. in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well- known methods, devices, and circuits are omitted so as not to obscure the description of the present invention with unnecessary detail.

Figure 1 is schematically illustrating the TCP ACK mechanism for TCP packet communication between a sender and a receiver in a wireless mobile telecommunication system and network. Today there are scenarios where maximum TCP throughput cannot be achieved in such a mobile system and network. A sender 10 is sending TCP packets 30a, 30b, 30e, ... downstream to a receiver 20. For each successfully received TCP packet, the receiver 20 generates and sends upstream an acknowledgement TCP ACK to the sender 10, which waits for the acknowledgement before sending a new TCP packet. As illustrated in fig. 1 , the receiver 20 receives a TCP packet 30a and sends a TCP ACK 40a upstream to the sender 10. When the sender 10 receives the TCP ACK 40a, is sends a new TCP packet 30b downstream to the receiver 20. The receiver 20 receives the new TCP packet 30b and sends a TCP ACK 40b upstream to the sender 10. However, at a high traffic load upstream the TCP ACK may be queued in a buffer in the receiver 20 waiting to be scheduled and sent. This will cause a delay τ in the reception of the TCP ACK at the sender 10 and the sending of a new TCP packet 30c. If the following TCP ACKs 40c, 40d, 40e are delayed, such delay will cause the sending of the following TCP packets 30d, 30e, ... to be interrupted and delayed. Thus, a decrease in throughput of TCP ACKs upstream will cause a decrease of throughput of TCP packets downstream. A performed experiment regarding relation of throughput upstream and downstream for different kind of packets has verified the relation of a decrease in throughput of TCP ACKs upstream will cause a decrease of throughput of TCP packets downstream, se fig. 2.

Figure 2 is a diagram illustrating the relation of actual frequency and throughput for different kind of data packets upstream and downstream.

In the diagram, the line 1 u shows throughput frequency upstream using UDP without any flow control mechanism, the line 2u shows the throughput frequency upstream using TCP with flow control mechanism without congestion, and line 3u shows throughput frequency upstream for a UE using TCP with flow control mechanism and with downstream congestion.

The line 1 d shows the throughput frequency downstream for a UE using UDP, i.e. without any flow control mechanism. The average throughput is 59 Mbps at Y= 0,5.

The line 2d shows the throughput frequency downstream for a UE using TCP, i.e. with flow control mechanism without congestion upstream. The average throughput is approximatively 58 Mbps.

The line 3d shows the throughput frequency downstream for a UE using

TCP, i.e. with flow control mechanism with congestion upstream. The average throughput is only about 30% of the average throughput 17 Mbps downstream for a UE using UDP, i.e. without any flow control mechanism, or the average throughput downstream for a UE using TCP, i.e. with flow control mechanism without congestion upstream. The measurement verifies that when capacity is asymmetric, slow or infrequent ACK feedback degrades TCP performance in the reverse direction. Thus, there is a considerable decrease in throughput due to upstream congestion which has an effect on the flow control mechanism.

The following description describes a solution for increasing downstream throughput of TCP data packet involving flow control mechanism using a certain mechanism available in access networks operating according to the Long Term Evolution (LTE) standard. The solution is based on the use of the RBSes knowledge from the radio network to ensure optimal TCP throughput performance by influencing TCP flow control mechanism. By adding a prescheduling functionality in the RBS the solution will create fair and optimized mobile network performance for TCP flows.

Figure 3 is a schematic illustration of a tele and data communication system.

Said system 100 comprises an RBS 200, and internet 130 for transferring data traffic between one or more servers 140 located in one or more sites 150 and a wireless user equipment 1 10, either mobile or fixed. A client 1 15, e.g. an app, software or hardware, stored in a memory and executable by a processor in the UE 1 10 provides one or more functionalities for a user. Said Client 1 15 is configured to wirelessly communicate with said one or more servers 140 via the air interface between the UE 1 10 and RBS 200 and a backhaul between the RBS and the Internet 130 which connects and routes the data traffic to and from said servers 140. The data traffic comprises TCP packets and/or packets which are transferred in accordance with a method which is described in the description of figure 4.

In the communications network and system between a server node sending TCP packets to a client in a wireless user equipment a radio base station is involved. In one example, the RBS comprises an evolved NodeB, or eNodeB (eNB). The eNodeB provides a Radio Link Control (RLC) functionality.

The RLC protocol layer exists in between UE and eNodeB; it is part of LTE air interface control and user planes. The RLC Acknowledge Mode (AM) provides reliable transport services, following tasks are provided by AM RLC entity:

• Transmission Buffer

• Retransmission buffer

• Segmentation & Concatenation • Add/Remove RLC Header

• Provide AM Service Access Point (SAP) Identifier for upper Packet Data Convergence Protocol (PDCP) sub-layer

• Accesses logical channels such as dedicated control channel (DCCH) and dedicated traffic channel (DTCH) for lower MAC (Media Access

Control) sub-layer.

The 3GPP (3rd Generation Partnership Project) Technical Specification for RLC is available in the standardization document 3GPP TS 36.322.

Figure 4 is a flowchart illustrating a method of accelerating throughput of Transmission Control Protocol, TCP, data packets from a sender to a receiving wireless user equipment, UE, via a radio base station, RBS. With accelerating throughput of TCP data packets is meant to increase throughput by decreasing latency at the sending of TCP ACKs from a receiver of the TCP data packets. The RBS is configured to perform following steps:

S1 10: - Receiving a TCP data packet;

S120: - Sending the TCP data packet to the UE;

S130: - Pre-scheduling the UE uplink to send a TCP ACK for the sent TCP data packet if a radio link control acknowledgement of successful reception of the TCP data packet is received from the UE;

S140: - Sending a GRANT message allowing the UE to send the TCP ACK for the sent TCP data packet.

The method is described in more detail with reference to figure 5.

Figure 5 is a signalling scheme illustrating the prescheduling functionality in the TCP flow control mechanism in a RBS node.

One TCP data packet "A" is sent from a sender, e.g. a server, in the downstream direction towards an addressed user equipment (UE). The

TCP data packet "A" is received by the RBS, in step S1 10. The TCP data packet is sent to the UE, in step S120. A successful reception of the TCP data packet must be acknowledged by the UE by sending a TCP ACK. One problem is that the UE may be sending a lot of other data upstream, and said data is queued in a buffer waiting to be scheduled for transmission upstream. The sender is waiting for a TCP ACK to be received before sending the next TCP data packet. Increasing latency for the TCP ACK packets in upstream decreases the downstream TCP throughput. However, when the UE receives the TCP data packet and acknowledges the reception of the TCP data packet on Radio Link Control (RLC) level to the RBS. The RBS receives the acknowledgement on RLC level and knows that the TCP data packet "A" is correctly received by UE. According to the method, step S130, the RBS pre-schedules the UE uplink to send a TCP ACK for the sent TCP data packet if a radio link control acknowledgement of successful reception for the sent TCP data packet is received from the UE. Thus, the RBS is able to detect if a TCP ACK is expected from the UE by means of the radio link control acknowledgement. Thus, S130 may be formulated "Detecting a radio link control acknowledgement of successful reception for the sent TCP data packet and allocate the UE uplink to send a TCP ACK for the sent TCP data packet".

The RBS then directly pre-schedules the UE uplink, triggered by the received RLC acknowledgement from the UE and sends a GRANT message to the UE, step S140, which allows the UE to transmit the TCP ACK The UE is by means of the method in the RBS able to quicker send the TCP ACK in uplink direction. The lower latency for the TCP ACK packets in upstream increases the downstream TCP throughput.

Scheduling is a flow control mechanism that controls the allocation of the shared resources among the users at each time instant, e.g. up-links and down-links. It is closely related to link adaptation. The allocation of the resources is achieved by means of an algorithm. Pre-scheduling in the RBS means that the flow control mechanism pre-allocates the UE uplink (UL) resources to send packets, e.g. a TCP ACK for the sent TCP data packet if a radio link control acknowledgement of successful reception for the TCP data packet is received from the UE. GRANT messages, or UL scheduling grants, are sent to the UE and comprises relevant UL scheduling information. As a non-limiting example, in LTE the GRANT messages are sent within the Physical Downlink Control Channel (PDCCH).

Fig. 6 is a flowchart illustrating an embodiment of the method in the RBS. Said embodiment comprises the steps of:

S150: - Receiving the TCP ACK for the sent TCP data packet;

S160: - Sending the TCP ACK for the sent TCP data packet to the sender.

Thus, when the RBS receives the TCP ACK for the sent TCP data packet, in step S150, the RBS forwards, in step S160, the received TCP ACK to the sender.

The above described methods may be implemented in digital electronically circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus may be implemented in a computer program product tangibly embodied in a machine readable storage device for execution by a programmable processor; and method steps may be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output.

The methods may advantageously be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high-level procedural or object- oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language.

Generally, a processor will receive instructions and data from a readonly memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM (erasable programmable read only memory), EEPROM (electrically erasable programmable read only memory), and flash memory devices; magnetic disks such internal hard disks and removable disks; magneto-optical disks; and CD-ROM (Compact Disc Read-Only Memory) disks. Any of the foregoing may be supplemented by, or incorporated in, specially - designed ASICs (Application Specific Integrated Circuits).

Figure 7 is illustrating a Radio base station device capable of performing the method S100.

The RBS comprises either an eNodeB of a Long Term Evolution (LTE) system, Radio Network Controller (RNC) of a Third Generation (3G) system, Base Station Controller (BSC) of a Global System for Mobile Communication (GSM or 2G) or a Baseband Unit of a Fifth Generation (5G) system

The schematic RBS 200 comprises an RBS device 210, a scheduler (Sdr) 270, memory storage 258, an interface 256 and a Backhaul Interface (Bl) 280.

The RBS device 210 comprises a processing circuitry 250, which comprises a processor 252 and a memory storage 254 for storing computer program instructions as code and data for enabling the processing of the incoming data. The processor 252 is preferably a programmable processor. The processor 252 will receive instructions and data from the memory storage 254 implemented by a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory. Further, one memory storage 258, e.g. a Cache memory, is connected to the processing circuitry 250 for storing different data information to be used and processed in the method S100.

The processing circuitry 250 is capable of communicating with UEs 1 10 via interface 256, which is a radio interface, and with the servers 140 via an interface 280, a Backhaul Interface (Bl). The backhaul interface connects to a backhaul network (not shown) which receives and sends data traffic 290 via distribution networks, e.g. the Internet 130.

The RBS Device 210, in the RBS 200, is configured to enable accelerating throughput of Transmission Control Protocol, TCP, data packets from a sender to a wireless user equipment, UE, via a radio base station, RBS. The RBS device 210 comprises a processor 252 in a processing circuitry 250 being operative to perform the steps of:

- Receiving a TCP data packet;

- Sending the TCP data packet to the UE;

- Pre-scheduling of the UE uplink to send a TCP ACK for the sent TCP data packet if a radio link control acknowledgement of successful reception of the TCP data packet is received from the UE

- Sending a GRANT message allowing the UE to send the TCP ACK for the sent TCP data packet.

According to an embodiment of the RBS device, said embodiment is operative to perform the steps of:

- Receiving the TCP ACK for the sent TCP data packet;

- Sending the TCP ACK for the sent TCP data packet to the sender.

It is further herein provided a computer program 260. Said computer program comprises computer program code which, when run in a processor 252 of a processor circuitry 250 of a RBS device 200, causes the RBS 200 to perform the steps of the method S100.

A computer program product 258 is also provided. The computer program product comprises a computer program 260 and a computer readable means 254, 258 on which the computer program is stored. Said computer program comprises computer program code which, when run in the processor 252 of the processor circuitry 250 of a RBS device 200, causes the RBS 200 to perform the steps of the method S100.

According to further one aspect, a carrier containing a computer program 260, wherein the carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium. Said computer program comprises computer program code which, when run in a processor circuitry of a RBS device, causes the RBS to perform steps of the method S100.

Figure 8 illustrates an alternative embodiment of a RBS device capable of performing the method S100. According to further one aspect, yet another embodiment of the RBS Device, 210 is provided. The RBS Device 210, in the RBS 200, is configured to enable accelerating throughput of Transmission Control Protocol, TCP, data packets from a sender to a receiving wireless user equipment, UE, via a radio base station, RBS. The RBS device 210 comprises an interface 310 configured to receive a TCP data packet, and an interface 320 configured to send the TCP data packet to the UE, and a an TCP ACK module 330 configured to trigger a scheduler 270 to pre-schedule the UE uplink to send a TCP ACK for the sent TCP data packet if a radio link control acknowledgement of successful packet reception of the TCP data packet is received from the UE. The RBS device 210 further comprises a sender 340 configured to generate and send a GRANT message allowing the UE to send the TCP ACK for the sent TCP data packet received by the UE.

According to an embodiment of the RBS device 210, said embodiment comprises a receiving module configured to receive the TCP ACK for the received TCP data packet, and a sender module configured to send the TCP ACK for the received TCP data packet to the sender.

A number of embodiments of the present method and device have been described. It will be understood that various modifications may be made without departing from the scope of this disclosure. Therefore, other implementations of the present method and device may be regarded as being within the scope of the following claims.