Method for managing out-of-order packets and user equipment thereof

By introducing multiple reordering queue circuits in 5G NR communications and generating filtering rules based on network and application information, the balance between sequentiality and timeliness in out-of-order packet management is solved, improving application performance and user experience.

CN115914126BActive Publication Date: 2025-10-17MEDIATEK SINGAPORE PTE LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111051955.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-08
Publication Date
2025-10-17
Estimated Expiration
2041-09-08

AI Technical Summary

Technical Problem

In 5G NR communications, the management mechanism of out-of-order data packets may harm delay-sensitive and order-sensitive applications. Existing technologies find it difficult to find a balance between ensuring the orderliness and timeliness of data packets.

Method used

By introducing multiple reordering queue circuits in user equipment and using the management module to collect network and application information to generate filtering rules, the filtering module assigns out-of-order data packets to different reordering queues, determines the push order of data packets based on the reordering timer and bitmap, and optimizes the transmission of data packets in combination with high-level sequence numbers.

Benefits of technology

It enables flexible management of out-of-order data packets, improves the performance of delay-sensitive and sequence-sensitive applications, and enhances user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115914126B_ABST
    Figure CN115914126B_ABST
Patent Text Reader

Abstract

The application provides a method for managing out-of-order packets and a user equipment (UE) thereof. The UE comprises a radio frequency (RF) signal processing device, a management module, a filtering module and a multi-order queue circuit. The RF signal processing device can receive a plurality of packets from a network node. The management module can collect network information and application information of the network node, and generate a filtering rule according to the network information and the application information. The filtering module can receive the filtering rule from the management module, and distribute the plurality of out-of-order packets into different reordering queues according to the filtering rule, wherein each reordering queue corresponds to a different reordering timer. The multi-order queue circuit comprises the reordering queues. The multi-order queue circuit determines how to push each out-of-order packet through a TCP / IP stack to its corresponding application program. The method for managing out-of-order packets and the UE thereof provided by the application can improve user experience.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates generally to wireless communication technologies. In particular, it relates to an out-of-order packet management technique. BACKGROUND

[0002] GSM / GPRS / EDGE technologies are also known as 2G cellular technology, WCDMA / CDMA-2000 / TD-SCDMA technologies are also known as 3G cellular technology, and LTE / LTE-A / TD-LTE technologies are also known as 4G cellular technology. These cellular technologies have been used in various telecommunication standards to provide a common protocol to enable different wireless devices to communicate at a municipal, national, regional, and even global level. An example of an emerging telecommunication standard is 5G New Radio (NR). 5G NR is a set of enhancements to the LTE mobile standard promulgated by the Third Generation Partnership Project (3GPP). It is designed to better support mobile broadband Internet access by improving spectral efficiency, lowering costs, improving services, and improving flexibility, among other improvements.

[0003] In 5G NR, as long as a radio link control (RLC) layer reassembles a complete RLC SDU, a data packet is pushed to a packet data convergence protocol (PDCP) layer. Therefore, RLC service data units (SDUs) that appear in the PDCP layer can be out-of-order. Thus, a reorder timer is introduced in the PDCP layer to let the out-of-order data packets be arranged in order. However, the data packets pushed to the PDCP layer do not carry any application information. Therefore, even if a certain application has a low requirement on data packet order, data packets of this application can only be pushed to an application layer of the PDCP layer when all data packets are in order or the reorder timer expires. This mechanism can harm some time-sensitive applications (e.g., gaming). On the other hand, if the reorder timer is turned off, the performance of order-sensitive applications (e.g., FTP files) can be degraded. SUMMARY

[0004] The following disclosure is merely exemplary in nature and is not intended to limit the disclosure in any way. Furthermore, there is no intention to limit the application to the specific illustrative embodiments described herein. Rather, the specific illustrative embodiments are included so that from them, and by virtue of the detailed description that follows, one skilled in the art can derive a full and enabling understanding of the application. Thus, the following disclosure is presented by way of example only. Further, the scope of the application is defined by the appended claims and equivalents thereof and not by the description of the examples. For purposes of clarity, the description is divided into several sections, which are intended to be illustrative only. Thus, the scope of the application is not intended to be limited to the examples described herein.

[0005] The present application provides a method for managing out-of-order packets and a user equipment (UE) thereof to overcome the above-mentioned problems.

[0006] The present application provides a user equipment (UE) for managing out-of-order packets. The UE can include a radio frequency (RF) signal processing device, a management module, a filtering module, and a multi-reorder queue circuit. The RF signal processing device can receive a plurality of packets from a network node. The management module can collect network information and application information of the network node, and generate a filtering rule according to the network information and the application information. The filtering module can receive the filtering rule from the management module, and allocate the plurality of out-of-order packets to different reorder queues according to the filtering rule, wherein each reorder queue corresponds to a different reorder timer. The multi-reorder queue circuit includes the reorder queues. The multi-reorder queue circuit determines how to push each out-of-order packet through a TCP / IP stack to its corresponding application program.

[0007] In some embodiments of the present application, the network information includes operator information, network type, signal strength, latency, out-of-order rate, and packet loss rate.

[0008] In some embodiments of the present application, the application information includes application type, five-tuple information of the application, and process ID of the application.

[0009] In some embodiments of the present application, the management module includes a recorder, a collector, and a reorder timer setting module. The recorder can record an application list, application types in the application list, and default reorder timers of corresponding applications in the application list. The collector collects network information and application information, wherein the collector collects application information of corresponding applications in the application list. The reorder timer setting module receives the network information and the application information from the collector, receives the default reorder timers from the recorder, and generates a filtering rule according to the network information, the application information, and the default reorder timers, wherein the filtering rule includes expiration values of reorder timers of the reorder queues. In some embodiments of the present application, the reorder timer setting module updates the filtering rule according to new network information and new application information collected by the collector.

[0010] In some embodiments of the present application, the filtering module includes a storage device and a checker. The storage device stores a multi-reorder queue table, wherein the multi-reorder queue table is established based on the filtering rules from the management module. The checker assigns the out-of-order packets to different reorder queues according to the multi-reorder queue table. In some embodiments of the present application, the packets can be classified into three types. In some embodiments of the present application, for the first type of packets, if the packet is in order, the checker can directly push the packet to its corresponding application through the stack. In some embodiments of the present application, for the other two types of packets, if a first out-of-order packet in the out-of-order packets matches a filtering rule in the multi-reorder queue table, the checker assigns the first out-of-order packet to a reorder queue corresponding to the multi-reorder queue circuit, and if a second out-of-order packet in the out-of-order packets does not match any filtering rule in the multi-reorder queue table, the checker assigns the second out-of-order packet to a normal queue of the multi-reorder queue circuit.

[0011] In some embodiments of the present application, before the reorder timer of a reorder queue corresponding to the multi-reorder queue circuit expires, if a bitmap is complete, the multi-reorder queue circuit pushes the packets in the reorder queue to their corresponding applications through the TCP / IP stack, wherein the bitmap is used to determine whether the missing packets in the packet queue have been waited for.

[0012] In some embodiments of the present application, when the reorder timer of a reorder queue corresponding to the multi-reorder queue circuit expires and the bitmap is not complete, the multi-reorder queue circuit pushes the packets in the reorder queue to the TCP / IP stack.

[0013] In some embodiments of the present application, the multi-reorder queue circuit checks the high layer sequence number of the out-of-order packets, wherein the high layer sequence number is supported by a higher layer protocol (e.g., TCP).

[0014] In some embodiments of the present application, if the high layer sequence number of the out-of-order packets is continuous, the multi-reorder queue circuit pushes the out-of-order packets to their corresponding applications through the TCP / IP stack.

[0015] Embodiments of the present application provide a method for managing out-of-order packets. The method is applied to a user equipment (UE). The method comprises the following steps: a radio frequency (RF) signal processing device of the UE receives a plurality of packets from a network node; a management module of the UE collects network information and application information of the network node; the management module of the UE generates a plurality of filtering rules according to the network information and the application information. A filtering module of the UE receives the filtering rules from the management module; the filtering module of the UE distributes the plurality of out-of-order packets into different reordering queues of a multiple reordering queue (MRQ) circuit of the UE according to the filtering rules, each reordering queue corresponding to a different reordering timer. The MRQ circuit determines how to push each out-of-order packet through a TCP / IP protocol stack to a corresponding application program.

[0016] The method for managing out-of-order packets and the UE thereof provided by the present application can improve user experience.

[0017] Other aspects and features of the present application will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments for a UE and method for managing out-of-order packets. BRIEF DESCRIPTION OF DRAWINGS

[0018] The present application can be more fully understood by reference to the following detailed description of specific embodiments for a UE and method for managing out-of-order packets when read in conjunction with the following drawings, in which:

[0019] Figure 1 is a block diagram of a wireless communication system according to embodiments of the present application.

[0020] Figure 2 is a block diagram of a management module according to embodiments of the present application.

[0021] Figure 3 is a block diagram of a filtering module according to embodiments of the present application.

[0022] Figure 4A is a block diagram of a multiple reordering queue (MRQ) circuit according to embodiments of the present application.

[0023] Figure 4B is a schematic diagram of a bitmap according to embodiments of the present application.

[0024] Figure 5 is a schematic diagram of managing out-of-order packets according to embodiments of the present application.

[0025] Figure 6 is a flowchart of a method for managing out-of-order packets according to embodiments of the present application. DETAILED DESCRIPTION

[0026] Certain terms are used throughout the present description and claims to refer to particular components. As one skilled in the art will appreciate, manufacturers can refer to a component by different names. This document does not intend to distinguish between components that differ in name but not in function. In the following description and in the claims, the terms "include" and "comprise" are used in an open-ended fashion, and thus should be interpreted to mean "including, but not limited to." Also, the term "couple" or "coupled" means to be directly or indirectly connected physically or logically, and thus should be interpreted in the broader context of a functional relationship.

[0027] The following description is presented to enable any person skilled in the art to make and use the application, and is provided in the context of a patent application and its requirements. Various modifications to the embodiments described herein will be readily apparent to those skilled in the art, and the generic principles defined herein can be applied to other embodiments without departing from the scope of the application. Thus, the present application is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.

[0028] The following description is presented to enable any person skilled in the art to make and use the application, and is provided in the context of a patent application and its requirements. Various modifications to the embodiments described herein will be readily apparent to those skilled in the art, and the generic principles defined herein can be applied to other embodiments without departing from the scope of the application. Thus, the present application is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.

[0029] Figure 1 is a block diagram of a wireless communication system 100 according to an embodiment of the present application. As shown in Figure 1 , the wireless communication system 100 can include a user equipment (UE) 110 and a network node 120. Notably, to clarify the concepts of the present application, Figure 1 is a schematic block diagram including only elements related to the present application. However, the present application should not be limited to Figure 1 what is shown.

[0030] In an embodiment, the network node 120 can be a base station, a gNodeB (gNB), a NodeB (NB), an eNodeB (eNB), an access point, an access terminal, but the present application is not limited thereto. In the above embodiment, the UE 110 can communicate with the network node 120 through a fifth generation (5G) communication technology or a 5G new radio (NR) communication technology, but the present application is not limited thereto.

[0031] As shown in Figure 1 , the UE 110 can include at least a baseband signal processing device 111, a radio frequency (RF) signal processing device 112, a processor 113, a storage device 114, a management module 115, a filtering module 116, a multiple reorder queue (MRQ) circuit 117, and an antenna module including at least one antenna.

[0032] In an embodiment of the application, the UE 110 can be a smart phone, a personal data assistant (PDA), a pager, a laptop computer, a desktop computer, a wireless handset, or any computing device that includes a wireless communications interface.

[0033] The RF signal processing device 112 can receive an RF signal through an antenna and process the received RF signal to convert the received RF signal into a baseband signal, process the baseband signal by the baseband signal processing device 111, or receive a baseband signal from the baseband signal processing device 211, convert the received baseband signal into a radio frequency signal, and transmit the radio frequency signal to a peer communication device. The RF signal processing device 112 can include a plurality of hardware elements to perform radio frequency conversion. For example, the RF signal processing device 112 can include a power amplifier, a mixer, an analog-to-digital converter (ADC) / digital-to-analog converter (DAC), etc.

[0034] The baseband signal processing device 111 can also process the baseband signal to obtain information or data transmitted by a peer communication device. The baseband signal processing device 111 can also include a plurality of hardware elements to perform baseband signal processing.

[0035] The processor 113 can control the operations of the baseband signal processing device 111 and the RF signal processing device 112. According to an embodiment of the application, the processor 113 can also be configured to execute program codes of software modules corresponding to the baseband signal processing device 111 and / or the RF signal processing device 112. In execution, the program codes accompanied by specific data in a data structure can also be referred to as processor logic units or stack instances. Therefore, the processor 113 can be considered as being composed of a plurality of processor logic units, each of which is configured to perform one or more specific functions or tasks of a corresponding software module.

[0036] The storage device 114 can store software and firmware program codes, system data, user data, etc. of the UE 110. The storage device 114 can be a volatile memory, such as a random access memory (RAM), or a non-volatile memory, such as a flash memory or a read-only memory (ROM), or a hard disk, or any combination thereof.

[0037] According to an embodiment of the application, the RF signal processing device 112 and the baseband signal processing device 111 can be collectively referred to as a radio module, which is capable of communicating with a wireless network to provide wireless communication services in compliance with a predetermined radio access technology (RAT). It is worth noting that, in some embodiments of the application, the UE 110 can be further extended to include a plurality of antennas and / or a plurality of radio modules, and the application should not be limited to the contents shown in the figures. Figure 1

[0038] ​According to one embodiment of the present invention, the baseband signal processing device 111 and the RF signal processing device 112 may be configured in the modem of the UE 110, and the processor 113 may be configured in the application processor (AP) of the UE 110. According to an embodiment of the present invention, the management module 115, the filtering module 116, and the MRQ circuit 117 may be configured in the modem. According to another embodiment of the present invention, the management module 115, the filtering module 116, and the MRQ circuit 117 may be configured in the application processor. In one embodiment of the present invention, the management module 115 may be configured in the application processor, and the filtering module 116 and the MRQ circuit 117 may be configured in the modem. According to an embodiment of the present invention, the application processor may further include a network interface card (NIC) driver and a TCP / IP stack 118.

[0039] Furthermore, according to one embodiment of the present invention, the management module 115, the filter module 116, and the MRQ circuit 117 may be software modules executed by a modem or an application processor. According to another embodiment of the present invention, the management module 115, the filter module 116, and the MRQ circuit 117 may be hardware (e.g., circuitry) configured in a modem or an application processor.

[0040] According to an embodiment of the present invention, the management module 115 may be configured to collect application information and network information of the network node 120 , and generate a plurality of filtering rules according to the network information and the application information. Figure 2 FIG is a block diagram of a management module according to an embodiment of the present invention. Figure 2 As shown, the management module 115 may include a recorder 210 , a collector 220 , and a reschedule timer setting module 230 .

[0041] Recorder 210 can record an application list, the application types in the application list, and the default reorder timer for the applications in the application list. The application list can record currently running applications. Application types can include latency-sensitive or order-sensitive, but the present invention is not limited to these. The default reorder timer value can be a historical timer setting value for the application.

[0042] The collector 220 can collect network information of the network node 120. In addition, the collector 220 can collect application information corresponding to the applications in the application list. According to an embodiment of the present application, the network information can include operator information (i.e., a network operator providing services to the UE 110), a network type (e.g., 4G or 5G, but the present application is not limited thereto), a signal strength of a current network, a latency of the current network, an out-of-order rate of the current network, and a packet loss rate of the current network, but the present application is not limited thereto. According to an embodiment of the present application, the application information can include an application type (e.g., a latency-sensitive type or an order-sensitive type), five-tuple information (i.e., a source IP address, a destination IP address, a source port number, a destination port number, and a used protocol) of the application, and a process number (ID) of the application program, but the present application is not limited thereto.

[0043] The reorder timer setting module 230 can receive the network information and the application information from the collector 220. In addition, the reorder timer setting module 230 can receive the default reorder timer from the logger 210. According to an embodiment of the present application, the reorder timer setting module 230 can generate a filtering rule according to the default reorder timer, or according to the network information, the application information, and the default reorder timer. Then, the reorder timer setting module 230 can transmit the filtering rule to the filtering module 116.

[0044] According to an embodiment of the present application, in an initial state or an operator switching state, the reorder timer setting module 230 can generate a filtering rule according to the default reorder timer from the logger 210.

[0045] According to another embodiment of the present application, in a normal state, the reorder timer setting module 230 can generate a filtering rule according to the network information, the application information, and the default reorder timer. In this embodiment, the information collected by the collector 220 (i.e., the network information and the application information) and the default reorder timer of the logger 210 can correspond to different weights. When the reorder timer setting module 230 determines a value of a reorder timer in the filtering rule, the reorder timer setting module 230 can multiply the information collected by the collector 220 by its corresponding weight, and multiply the default reorder timer from the logger 210 by its corresponding weight.

[0046] According to an embodiment of the present application, each filtering rule can include its corresponding application, 5-tuple information (i.e., a source IP address, a destination IP address, a source port number, a destination port number, and a used protocol) of the application, corresponding ToS (Type of Service) information, corresponding DSCP (Differentiated Services Code Point) information, a corresponding reorder queue ID, a corresponding reorder timer value, and a corresponding priority, but the present application is not limited thereto.

[0047] According to embodiments of the present application, the reorder timer setting module 230 can update the filter rules based on the new network information and the new application information collected by the collector 220. Then, the reorder timer setting module 230 can send the updated filter rules to the filter module 116.

[0048] According to embodiments of the present application, the reorder timer setting module 230 can analyze the current network quality based on the current network information from the collector 220. When the network quality becomes worse, the reorder timer setting module 230 can adjust the reorder timer values, for example, the reorder timer setting module 230 can increase the reorder timer values for the corresponding time-latency sensitive type applications. When the network quality becomes better, the reorder timer setting module 230 can also adjust the reorder timer values, for example, the reorder timer setting module 230 can decrease the reorder timer values for the corresponding time-latency sensitive type applications. In one embodiment, when the reorder timer setting module 230 adjusts the reorder timer values based on the current network quality, the reorder timer setting module 230 can refer to a lookup table to find the reorder timer values (e.g., the optimal reorder timer values) based on the current network quality. In another embodiment, when the reorder timer setting module 230 adjusts the reorder timer values according to the current network quality, the reorder timer setting module 230 can use an intelligent learning algorithm (e.g., a neural network algorithm or model) to find the reorder timer values (e.g., the optimal reorder timer values) according to the current network quality.

[0049] According to embodiments of the present application, the RF signal processing device 112 can receive a plurality of data packets from the network node 120. The filter module 116 can receive filter rules from the management module 115 and receive data packets of radio link control (RLC) service data units (SDUs) from a RLC layer. The filter module 116 can assign out-of-order data packets in the data packets from the RLC layer to different reorder queues of the MRQ circuit 117 according to the filter rules. Each reorder queue of the MRQ circuit 117 can correspond to a different filter rule (i.e., correspond to a different reorder timer). Figure 3 is a block diagram of a filter module according to embodiments of the present application. As shown in Figure 3 According to embodiments of the present application, the filter module 116 can be configured near the TCP / IP stack MRQ circuit, for example, in a network interface card (NIC) driver.

[0050] According to embodiments of the present application, the storage device can store a multiple reorder queue (MRQ) table. The MRQ table is established based on the filtering rules from the management module 115. When the filtering rules are updated, the MRQ table can be updated according to the updated filtering rules. If the number of updated filtering rules exceeds a threshold, the filtering rules with lower priority can be moved to the normal queue of the MRQ circuit 117.

[0051] The inspector 320 can assign the out-of-order packets of the data packets to different reorder queues of the MRQ circuit 117 according to the information of the multiple reorder queue table. According to embodiments of the present application, if the data packets are in order (i.e., consecutive data packets), the inspector 320 can directly push the data packets through the TCP / IP stack 118 to their corresponding application programs. According to embodiments of the present application, if an out-of-order packet can match one of the filtering rules in the multiple reorder queue table, the inspector 320 can assign the out-of-order packet to its corresponding reorder queue of the MRQ circuit 117. In addition, if an out-of-order packet does not match any of the filtering rules in the multiple reorder queue table, the inspector 320 can assign the out-of-order packet to the normal queue of the MRQ circuit 117.

[0052] According to embodiments of the present application, the MRQ circuit 117 can include one normal queue and a plurality of reorder queues. The MRQ circuit 117 can determine how to push each out-of-order packet through the TCP / IP stack 118 to its corresponding application program, based on the information of the multiple reorder queue table. Figure 4A With 4B description details.

[0053] Figure 4A is a block diagram of a multiple reorder queue (MRQ) circuit according to embodiments of the present application. As shown in Figure 4A , the MRQ circuit 117 can include a normal queue 410 and reorder queues 420-440, but the present application is not limited thereto. The normal queue 410 and the reorder queues 420-440 can have their corresponding reorder timers. According to embodiments, after the reorder timer expires, each queue (e.g., the normal queue 410 and the reorder queues 420-440) can push its out-of-order packets to the TCP / IP stack 118.

[0054] According to one embodiment, the MRQ circuit 117 can include a bitmap (e.g., bitmap 450 as shown in Figure 4B , but the present application is not limited thereto). The bitmap can record the data packets sent to the MRQ circuit 117. Figure 4B is a schematic diagram of a bitmap according to embodiments of the present application. As shown in Figure 4B , when the MRQ circuit 117 receives packet 1 and packet 4 from the filtering module 116, the fields corresponding to packet 1 and packet 4 in the bitmap 450 can be set to "1", but the present application is not limited thereto.

[0055] According to one embodiment, if the bitmap is complete (e.g., all fields of bitmap 450 have been set to "1", or the front portion of bitmap 450 is set to "1" consecutively, but the present application is not limited thereto) before the reorder timer corresponding to a reorder queue (e.g., reorder queue 420-440) of MRQ circuit 117 has expired, MRQ circuit 117 can push the out-of-order packets in the reorder queue to their corresponding applications through TCP / IP stack 118, wherein the complete bitmap can contain all fields or a portion of consecutive fields.

[0056] According to one embodiment, when the reorder timer corresponding to a reorder queue (e.g., reorder queue 420-440) of MRQ circuit 117 has expired and the bitmap is not complete (e.g., some fields of bitmap 450 have not been set to "1", but the present application is not limited thereto), MRQ circuit 117 can push the out-of-order packets in the reorder queue to TCP / IP stack 118. In this embodiment, the packets pushed to TCP / IP stack 118 can be assigned to applications by higher layer protocols.

[0057] According to an embodiment, MRQ circuit 117 can check the high layer sequence number of the out-of-order packets, wherein the high layer sequence number is supported by higher layer protocols (e.g., layer 4 protocols). If the high layer sequence number of the out-of-order packets is consecutive to the previous packets, MRQ circuit 117 can directly push these out-of-order packets to their corresponding applications through TCP / IP stack 118 without waiting for the reorder timer to expire.

[0058] Figure 5 is a diagram illustrating the management of out-of-order packets according to an embodiment of the present application. As shown in Figure 5 packet 1, 2, 4, 5, 7 and 9, wherein the dashed circles represent missing packets (i.e., packets 3, 6 and 8 are missing). Therefore, filter module 116 does not know which application packets 3, 6 and 8 belong to. In addition, assume that reorder queue 420 corresponds to a first filter rule and has a first reorder timer (e.g., 180 milliseconds), and reorder queue 430 corresponds to a second filter rule and has a second reorder timer (e.g., 15 milliseconds). In addition, as shown in Figure 5As shown, application Al (cloud gaming) and application A2 (FTP file) are running in UE 110. Application Al (cloud gaming) is a latency-sensitive application and corresponds to the reordering queue 430 with a shorter reordering timer. Application A2 (FTP file) is an order-sensitive application and corresponds to the reordering queue 420 with a longer reordering timer. Because packets 1 and 2 are in order, the filtering module 116 can directly push the packets through the TCP / IP stack 118 to its corresponding application (i.e., application A2). In addition, the filtering module 116 can send out-of-order packets 4, 5, 7, and 9 to the respective reordering queues of the MRQ 117 according to the filtering rules. In one embodiment, after the second reordering timer (e.g., 15 ms) has expired, the MRQ circuit 117 can push out-of-order packets 4 and 5 to the TCP / IP stack 118 if packet 3 has not been received yet. Then, the TCP / IP stack 118 can distribute the out-of-order packets 4 and 5 through the higher layer protocol. In another embodiment, if the high layer sequence number (e.g., fourth layer sequence number, also known as TCP SN) of out-of-order packet 4 is consecutive to the high layer sequence number of the previous packet of application Al, the MRQ circuit 117 can directly push out-of-order packets 4 and 5 through the TCP / IP stack 118 to its corresponding application without waiting for the second reordering timer to expire. It should be noted that, Figure 5 The embodiments are used only to explain the present application, but not to limit the present application.

[0059] Figure 6 is a flowchart of a method for managing out-of-order packets according to an embodiment of the present application. The method for managing out-of-order packets can be applied to the communication system 100 including the UE 110 and the network node 120. As shown in FIG. 6, in step S610, the radio frequency (RF) signal processing device of the UE 110 receives a plurality of packets from the network node 120. Figure 6

[0060] In step S620, the management module of the UE 110 collects application information and network information of the network node.

[0061] In step S630, the management module of the UE 110 generates a plurality of filtering rules according to the network information and the application information.

[0062] In step S640, the filtering module of the UE 110 receives the filtering rules from the management module of the UE 110.

[0063] In step S650, the filtering module of the UE 110 distributes a plurality of out-of-order packets to different reordering queues of the multiple reordering queue circuits of the UE 110 according to the filtering rules, wherein each reordering queue corresponds to a different reordering timer. ​

[0064] In step S660, the multi-ordering queue circuit of the UE 110 determines how to push each out-of-order packet through the TCP / IP stack to its corresponding application.

[0065] In some embodiments of the present application, in the method of managing out-of-order packets, the network information includes operator information, network type, signal strength, latency, out-of-order rate, and packet loss rate.

[0066] In some embodiments of the present application, in the method of managing out-of-order packets, the application information includes application type, application five-tuple information, and application process ID.

[0067] In some embodiments of the present application, in the method of managing out-of-order packets, the management module can include a recorder, a collector, and a reorder timer setting module. The recorder can record an application list, application types in the application list, and default reorder timers corresponding to the applications in the application list. In step S620, the collector collects network information and application information, and the collector collects application information corresponding to the applications in the application list. In step S630, the reorder timer setting module receives network information and application information from the collector, receives default reorder timers from the recorder, and generates filtering rules according to the network information, the application information, and the default reorder timers. The filtering rules include expiration values of reorder timers of reorder queues. In some embodiments of the present application, in the method, the reorder timer setting module updates the filtering rules according to new network information and new application information collected by the collector.

[0068] In some embodiments of the present application, in the method of managing out-of-order packets, the filtering module includes a storage device and an inspector. The storage device stores a multi-ordering queue list, wherein the multi-ordering queue list is established according to the filtering rules from the management module. In step S650, the inspector assigns out-of-order packets to different reorder queues according to the multi-ordering queue list. In some embodiments of the present application, the data packets can be divided into three types. In some embodiments of the present application, for one type of data packet, the method further includes: if the data packet is in order, the inspector directly pushes the data packet through the stack to its corresponding application. In some embodiments of the present application, for the other two types of data packets, the method further includes: if a first out-of-order packet in the out-of-order packets matches a filtering rule in the multi-ordering queue list, the inspector assigns the first out-of-order packet to a reorder queue of its corresponding multi-ordering queue circuit; if a second out-of-order packet in the out-of-order packets does not match any filtering rule in the multi-ordering queue list, the inspector assigns the second out-of-order packet to a normal queue of the multi-ordering queue circuit.

[0069] In some embodiments of the application, the method further comprises, if the bitmap is complete before the expiry of the reorder timer corresponding to a reorder queue of the multiple reorder queue circuit, the multiple reorder queue circuit pushes the data packets in the reorder queue through the TCP / IP stack to their corresponding application.

[0070] In some embodiments of the application, the method further comprises, when the reorder timer corresponding to a reorder queue of the multiple reorder queue circuit expires and the bitmap is not complete, the multiple reorder queue circuit pushes the data packets in the reorder queue to the TCP / IP stack.

[0071] In some embodiments of the application, the method further comprises the multiple reorder queue circuit checking the high layer sequence number of the out-of-order data packets, wherein the high layer sequence number is supported by a higher layer protocol (e.g. TCP). If the high layer sequence number of the out-of-order data packets is consecutive, the multiple reorder queue circuit pushes the out-of-order data packets through the TCP / IP stack to their corresponding application.

[0072] In the out-of-order data packet management method provided by the application, multiple reorder queues and multiple reorder timers are introduced in the PDCP layer of the UE. Therefore, the mechanism in the out-of-order data packet management method provided by the application provides greater flexibility for the management or allocation of out-of-order data packets of different types of applications.

[0073] The steps of a method disclosed herein can be implemented directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module (e.g., including executable instructions and related data) and other data can be stored on a data storage medium such as RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, a CD-ROM, or any other computer-readable storage medium known in the art. An example storage medium can be coupled to a machine, such as a computer / processor (for convenience, referred to as a "processor"). The processor can read information (e.g., code) from the storage medium and write information (e.g., code) to the storage medium. An example storage medium can be embedded in the processor. The processor and the storage medium can be located in an ASIC. The ASIC can be located in a user device. In alternative designs, the processor and the storage medium can be located as discrete components in a user device. Moreover, in many aspects, any suitable computer program product can comprise a computer-readable medium that includes code that, when executed by a computer, carries out one or more aspects of the disclosure. In many aspects, a computer program product includes packaging materials.

[0074] Any particular sequence or hierarchy of steps, as disclosed herein, is merely illustrative of example approaches. Based upon design preferences, it is to be understood that the disclosure contemplates any particular sequence or hierarchy of steps, as disclosed herein, can be re-arranged while remaining within the scope of the present disclosure. Various steps as recited in the method claims, as examples, are presented in the specific order illustrated, and thus should not be construed as requiring the order for the specific sequence or hierarchy of steps.

[0075] The use of "first", "second", "third", etc. adjectives in the claims to modify an element does not imply any priority, precedence, order of use or sequence of method steps, but merely serves as identifiers to distinguish between different components with the same name (having different adjectives).

[0076] While the present disclosure has been disclosed in terms of examples in the specification, the disclosure is not intended to be limited to the examples disclosed herein, but is to be accorded the full scope latent therein with respect to equivalent structures, functions, operations, and sequences as can be appreciated by one of ordinary skill in the art upon making reference to the disclosure given above.

Claims

1. A user equipment for managing out-of-order data packets, comprising: a radio frequency signal processing device configured to receive a plurality of data packets from a network node; a management module configured to collect network information and application information of the network node, and generate a filtering rule based on the network information, the application information, and a default reordering timer, wherein the application information includes an application type, application five-tuple information, and an application process identifier; a filtering module, wherein the filtering module receives the filtering rule from the management module and distributes the plurality of out-of-order data packets to different reordering queues according to the filtering rule, wherein each reordering queue corresponds to a different filtering rule and a reordering timer, wherein the filtering rule includes an expiration value of the reordering timer for the reordering queue; and Multiple order queue circuitry, wherein the multiple order queue circuitry includes the reorder queue, wherein the multiple order queue circuitry determines how to push each out-of-order data packet through a transmission control protocol / internet protocol stack to its corresponding application.

2. The user equipment for managing out-of-order data packets according to claim 1, wherein The network information includes operator information, network type, signal strength, latency, out-of-order rate, and packet loss rate.

3. The user equipment for managing out-of-order data packets according to claim 1, wherein The management module contains: a recorder configured to record an application list, application types in the application list, and a default reorder timer for corresponding applications in the application list; a collector configured to collect the network information and the application information, wherein the collector collects the application information corresponding to the application in the application list; and The reschedule timer setting module is configured to receive the network information and the application information from the collector, and receive the default reschedule timer from the recorder.

4. The user equipment for managing out-of-order data packets according to claim 3, wherein The reordering timer setting module updates the filtering rule according to the new network information and new application information collected by the collector.

5. The user equipment for managing out-of-order data packets according to claim 1, wherein The filtering module contains: a storage device configured to store a multi-order queue table, wherein the multi-order queue table is established based on the filtering rule from the management module; and A checker is configured to allocate the out-of-order data packets of the plurality of data packets to different reordering queues according to the multiple reordering queue table.

6. The user equipment for managing out-of-order data packets according to claim 5, wherein: If the plurality of data packets are in order, the inspector directly pushes the plurality of data packets to their corresponding applications through the transmission control protocol / internet protocol stack.

7. The user equipment for managing out-of-order data packets according to claim 6, wherein: If a first out-of-order data packet among the out-of-order data packets matches a filtering rule in the multi-order queue table, the checker assigns the first out-of-order data packet to a reordering queue corresponding to the multi-order queue circuit; if a second out-of-order data packet among the out-of-order data packets does not match any filtering rule in the multi-order queue table, the checker assigns the second out-of-order data packet to a normal queue of the multi-order queue circuit.

8. The user equipment for managing out-of-order data packets according to claim 1, wherein Before the reordering timer of a reordering queue corresponding to the multi-ordering queue circuit expires, if the bitmap is complete, the multi-ordering queue circuit pushes the data packets in the reordering queue to its corresponding application through the TCP / IP stack.

9. The user equipment for managing out-of-order data packets according to claim 1, wherein: When a reordering timer corresponding to a reordering queue of the multiple-ordering queue circuit expires and the bitmap is incomplete, the multiple-ordering queue circuit pushes the data packets in the reordering queue to the TCP / IP stack.

10. The user equipment for managing out-of-order data packets according to claim 1, wherein: The multi-order queue circuit checks a higher-level sequence number of the out-of-order data packet, wherein the higher-level sequence number is supported by a higher-level protocol.

11. The user equipment for managing out-of-order data packets according to claim 10, wherein: If the high-level sequence numbers of the out-of-order data packets are continuous, the multi-order queue circuit pushes the out-of-order data packets to their corresponding applications through the TCP / IP stack.

12. A method for managing out-of-order data packets, used in a user equipment, the method comprising: receiving, by the radio frequency signal processing device of the user equipment, a plurality of data packets from a network node; collecting, through the management module of the user equipment, network information and application information of the network node, and generating a filtering rule based on the network information, the application information, and a default reordering timer, wherein the application information includes an application type, application five-tuple information, and an application process identifier; receiving, by a filtering module of the user equipment, the filtering rule from the management module, and allocating the plurality of out-of-order data packets to different reordering queues according to the filtering rule, wherein each reordering queue corresponds to a different filtering rule and a reordering timer, wherein the filtering rule includes an expiration value of the reordering timer for the reordering queue; and The user equipment's multiple reordering queue circuitry determines how to push each out-of-order packet through the TCP / IP stack to its corresponding application.

13. The method for managing out-of-order data packets according to claim 12, wherein: Further including: Recording, by a recorder of the management module, an application list, application types in the application list, and default reordering timers of corresponding applications in the application list; collecting the network information and the application information through a collector of the management module, wherein the application information collected by the collector corresponds to the application in the application list; as well as The rescheduling timer setting module of the management module receives the network information and the application information from the collector, and receives the default rescheduling timer from the recorder.

14. The method for managing out-of-order data packets according to claim 13, wherein: It further includes: the reordering timer setting module updates the filtering rule according to the new network information and new application information collected by the collector.

15. The method for managing out-of-order data packets according to claim 12, wherein: Further including: The out-of-order data packets of the plurality of data packets are allocated to different reordering queues according to a multi-order queue table by a checker of the filtering module, wherein a storage device of the filtering module stores the multi-order queue table, and the multi-order queue table is established based on the filtering rule from the management module.

16. The method for managing out-of-order data packets according to claim 15, wherein: The method further comprises: if the plurality of data packets are in order, directly pushing the plurality of data packets to corresponding applications through the transmission control protocol / internet protocol stack by the inspector.

17. The method for managing out-of-order data packets according to claim 16, wherein: The method further comprises: if a first out-of-order data packet among the out-of-order data packets matches a filtering rule in the multi-order queue table, allocating the first out-of-order data packet to a reordering queue corresponding to the multi-order queue circuit by the checker; if a second out-of-order data packet among the out-of-order data packets does not match any filtering rule in the multi-order queue table, allocating the second out-of-order data packet to a normal queue of the multi-order queue circuit by the checker.

18. The method for managing out-of-order data packets according to claim 12, wherein: The method further comprises: before a reordering timer of a reordering queue corresponding to the multiple-ordering queue circuit expires, if the bitmap is complete, pushing the data packets in the reordering queue to its corresponding application through the transmission control protocol / internet protocol stack via the multiple-ordering queue circuit.

19. The method for managing out-of-order data packets according to claim 12, wherein: The method further comprises: when a reordering timer of a reordering queue corresponding to the multiple-ordering queue circuit expires and the bitmap is incomplete, pushing the data packets in the reordering queue to the TCP / IP stack through the multiple-ordering queue circuit.

Citation Information

Patent Citations

  • Method and apparatus for reordering data in an evolved high speed packet access system

    CN103634082A

  • Methods for re-order PDCP packets

    CN106063324A