Hierarchical Lost Packet Detection

By detecting the packet count differences between PDCP and RLC layers in wireless communication devices, identifying and processing hierarchical lost packets, the memory consumption and delay problems caused by hierarchical lost packets are solved, and communication efficiency is improved.

CN115804034BActive Publication Date: 2025-01-10QUALCOMM INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180044827.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-29
Filing Date
2021-06-22
Publication Date
2025-01-10
Estimated Expiration
2041-06-22

AI Technical Summary

Technical Problem

The prior art is difficult to effectively detect and process hierarchical lost packets, resulting in increased memory consumption of receiver equipment and delay in data transmission. Especially when hierarchical lost packets occur in network errors, there is a lack of effective compensation measures.

Method used

By detecting the packet count differences between the PDCP layer and the RLC layer in a wireless communication device, hierarchical lost packets are identified and operations such as stopping reordering timers, adjusting sequence numbers, and dumping packets are performed to reduce memory consumption and latency.

Benefits of technology

Effectively detect and process hierarchical lost packets, reducing memory consumption and data transmission waiting time of the receiver device, and improving communication efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115804034B_ABST
    Figure CN115804034B_ABST
Patent Text Reader

Abstract

A wireless communication device is described. The wireless communication device includes a memory and a processor in electronic communication with the memory. The processor is configured to cause the processor to determine a packet data convergence protocol (PDCP) packet count corresponding to a last radio link control (RLC) packet received in sequence. The processor is also configured to detect lost PDCP packets based on a comparison of the PDCP packet count with a sequence number of the last PDCP packet received in sequence.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related Applications

[0002] This application is related to Indian application No. 202041027478 filed in India on June 29, 2020 for “LAYERED MISSING PACKET DETECTION” and claims priority to the Indian application.

[0003] Public domain

[0004] The present disclosure relates generally to electronic devices and more particularly to layered lost packet detection. Background Art

[0005] Over the past several decades, the use of electronic devices has become ubiquitous. In particular, advances in electronic technology have reduced the cost of increasingly sophisticated and useful electronic devices. Cost reductions and consumer demand have caused a surge in the use of electronic devices to the point that they are nearly ubiquitous in contemporary society. As the use of electronic devices has expanded, the demand for new and improved features of electronic devices has also expanded. More specifically, electronic devices that perform new functions and / or perform functions faster, more efficiently, or with higher quality are often sought after.

[0006] Some electronic devices (e.g., cellular phones, smart phones, laptop computers, etc.) communicate with other electronic devices. For example, electronic devices may send and / or receive radio frequency (RF) signals to communicate. It may be beneficial to improve electronic device communications. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Figure 1 is a block diagram illustrating one example of a wireless communication device in which systems and methods for layered lost packet detection may be implemented;

[0009] Figure 2 is a diagram illustrating an example of grouping;

[0010] Figure 3 is a diagram illustrating an example of a Packet Data Aggregation Protocol (PDCP) reordering window;

[0011] Figure 4 is a flow chart illustrating an example of a method for hierarchical lost packet detection;

[0012] Figure 5 is a flow chart illustrating another example of a method for layered lost packet detection;

[0013] Figure 6 is a flow chart illustrating another example of a method for layered lost packet detection;

[0014] Figure 7 is a flow chart illustrating another example of a method for layered lost packet detection;

[0015] Figure 8 is a flow chart illustrating an example of a method for handling hierarchical lost packets;

[0016] Fig. 9 is a diagram illustrating an example of a network device and a wireless communication device;

[0017] Fig.10 Illustrate certain components that may be included within an electronic device configured to implement various configurations of the systems and methods disclosed herein for layered lost packet detection and / or handling; and

[0018] Fig.11 is a thread diagram illustrating an example of a technique for handling PDCP PDU retransmissions through switching and / or reestablishment.

[0019] Detailed Description

[0020] Some configurations of the systems and methods disclosed herein may involve layered lost packet detection. As used herein, the term "layer" may refer to a layer or sublayer of a communication protocol stack. Examples of layers (e.g., in ascending order) may include a physical (PHY) layer, a media access control (MAC) layer, a radio link control (RLC) layer, a packet data convergence protocol (PDCP) layer, and a radio resource control (RRC) layer. In some examples, the RLC layer may include functions such as automatic repeat request (ARQ), data segmentation, and / or data reorganization. In some examples, the PDCP layer may include functions such as reordering packet data, transferring data to an upper layer, integrity protection, encrypting data, and / or decrypting data. Although some examples of layers are given herein, some configurations of the described systems and methods may be implemented with additional or replacement layers.

[0021] The lost packets may be packets that are missed or not received correctly. In some cases, the lost packets may appear at one layer, while there are no corresponding lost packets at one or more other layers. In some examples, the lost packets that appear at one layer without corresponding lost packets at another layer (e.g., an adjacent layer) may be referred to as layered, mismatched, inconsistent and / or unbalanced lost packets. For example, the lost packets may appear at a layer higher than another layer where no corresponding lost packets appear. For example, one or more lost packets may appear at the PDCP layer, while no lost packets appear at the RLC layer. In some cases, layered lost packets may appear due to network errors. For example, one or more packets at a layer (e.g., PDCP) may be lost in transmission between network devices (e.g., base stations) and / or may be incorrectly numbered by network devices, while one or more packets at a relatively lower layer (e.g., RLC, MAC, PHY) may be correctly transmitted and / or received.

[0022] Layered packet loss may cause problems at the receiving device. For example, layered packet loss may be detected at one layer, which may cause the receiving device to perform one or more packet loss procedures at the layer, while not performing the corresponding packet loss procedures at another layer. For example, when a packet loss occurs at the PDCP layer and there is no corresponding packet loss at the RLC layer, the PDCP layer may start a reordering timer and may store (e.g., buffer) subsequent packets for reordering, while the RLC layer may not perform the corresponding packet loss procedures (e.g., ARQ, etc.). This situation may cause increased memory consumption (e.g., until the reordering timer expires and / or the buffered packets are dumped) and / or may cause delays in delivering packets to higher layers. Some examples of the systems and methods described herein may detect one or more layered packet loss and / or may perform one or more operations to mitigate and / or compensate for one or more layered packet loss. For example, some systems and methods described herein may be used to detect layered packet loss and / or PDCP sequence number holes in network transmissions, and perform one or more operations to reduce the memory impact on the receiving device and / or reduce the waiting time for packet delivery and / or data transmission in some cases.

[0023] Some configurations of the systems and methods disclosed herein can be used with a single or multiple receive (Rx) links. For example, the systems and methods disclosed herein can be used with a single long term evolution (LTE) link, multiple LTE links, a single fifth generation (5G) or new radio (NR) link, multiple 5G or NR links, and LTE links and 5G links, Evolved Universal Mobile Telecommunications Service (UMTS) Terrestrial Radio Access Network (E-UTRAN) New Radio Dual Connectivity (ENDC), multiple radio access technology (RAT) links, multiple carriers, multiple bearers, etc.

[0024] It should be noted that some examples of the systems and methods described herein may be used and / or implemented with one, two or more links. For example, in some cases and / or approaches, an electronic device may receive data (e.g., packet data) on two or more links. For example, an electronic device may receive data on two cellular (e.g., LTE, 5G) links and a Wi-Fi link. In another example, an electronic device may receive data on multiple Wi-Fi links and one or more cellular (e.g., LTE, 5G) links. In yet another example, an electronic device may receive data on a cellular (e.g., LTE, 5G) link, on a personal area network (PAN) (e.g., Bluetooth) link, and on a Wi-Fi link. Other variations are possible (e.g., a combination of two or more wireless local area network (WLAN) links, two or more PAN links, WLAN, cellular and / or PAN links, etc.).

[0025] Various configurations are now described with reference to the accompanying drawings, wherein similar reference numerals may indicate functionally similar elements. The systems and methods generally described and illustrated in the drawings herein may be arranged and designed in a variety of different configurations. Therefore, the following more detailed description of several configurations as represented in the drawings is not intended to limit the scope as claimed, but is merely representative of the systems and methods.

[0026] Figure 11 is a block diagram illustrating an example of a wireless communication device 102 in which systems and methods for layered lost packet detection may be implemented. The wireless communication device 102 may be a device or apparatus for transmitting and / or receiving RF signals. Examples of the wireless communication device 102 may include user equipment (UE), a smartphone, a tablet device, a computing device, a computer (e.g., a desktop computer, a laptop computer, etc.), a television, a camera, a virtual reality device (e.g., a head-mounted kit), a vehicle (e.g., a semi-autonomous vehicle, an autonomous vehicle, etc.), a robot, an aircraft, a drone, an unmanned aerial vehicle (UAV), healthcare equipment, a game console, an Internet of Things (IoT) device, etc. The wireless communication device 102 may include one or more components or elements. One or more of the components or elements may be implemented in hardware (e.g., circuits) or a combination of hardware and instructions (e.g., a processor with software stored in a memory).

[0027] In some configurations, the wireless communication device 102 may include a processor 110, a memory 104, one or more transceivers 106, and / or one or more antennas 108a-m. In some configurations, the wireless communication device 102 may include one or more other components and / or elements. For example, the wireless communication device 102 may include a display (e.g., a touch screen). The processor 110 may be a circuit system (e.g., an electronic circuit system, an integrated circuit, etc.) configured to perform one or more functions. In some configurations, the processor 110 may execute instructions to perform the one or more functions. In some configurations, the processor 110 may include one or more functionalities structurally implemented in the processor 110. In some configurations, the processor 110 may be a baseband processor, a modem, a modem processor, an application processor, and / or any combination thereof. The processor 110 may be coupled to the memory 104 and / or the transceiver(s) 106 (e.g., in electronic communication with them). In some examples, the wireless communication device 102 and / or the processor 110 may be configured to perform one or more of the method elements of the methods 400, 500, 600, 700, 800, and / or described with respect to one or more of the figures. For example, the wireless communication device 102 and / or the processor 110 may be configured to perform with respect to Fig.11 One or more of the described techniques.

[0028] The memory 104 may store instructions and / or data. The processor 110 may access (e.g., read and / or write) the memory 104. Examples of instructions and / or data that may be stored by the memory 104 may include hierarchical lost packet detection instructions 112, packet count data 114, sequence number data 116, operation instructions 118, other data and / or instructions for other elements, etc.

[0029] The transceiver(s) 106 may enable the wireless communication device 102 to communicate with one or more other electronic devices. For example, the transceiver(s) 106 may provide an interface for wireless communication. In some configurations, the transceiver(s) 106 may be coupled to one or more antennas 108a-m for transmitting and / or receiving RF signals. For example, the transceiver 106 may enable one or more wireless (e.g., cellular, WLAN, PAN, etc.) communication modes. The transceiver(s) 106 may include one or more transmitters and / or one or more receivers. In some configurations, the transceiver(s) 106 may be included in an RF front end and / or may include an RF front end. In some configurations, the transceiver(s) 106 may include one or more switches, one or more filters, one or more power amplifiers, one or more down converters and / or one or more up converters, etc., to achieve wireless communication.

[0030] In some configurations, multiple transceivers 106 may be implemented and / or used. For example, one or more transceivers 106 may be used for cellular (e.g., 3G, LTE, code division multiple access (CDMA), 5G, etc.) communications, and / or one or more transceivers 106 may be used for WLAN (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11) communications. In some configurations, the transceiver(s) 106 may send information (e.g., uplink packets, uplink control information, etc.) to one or more devices (e.g., base stations, evolved Node Bs (eNodeBs or eNBs), next generation Node Bs (gNBs), etc.) and / or receive information (e.g., downlink packets, downlink control information, etc.) from one or more devices. In some examples, one or more network devices (e.g., base stations, access points, wireless communication devices, etc.) may send packets to the wireless communication device 102.

[0031] As used herein, the term "packet" may refer to a set of information at one or more layers. For example, a PHY layer packet may include information in one or more frames, one or more subframes, and / or one or more time slots. In some examples, a PHY layer packet may include one or more MAC packet data units (PDUs). A MAC PDU may include a MAC header and a payload (e.g., a MAC service data unit (SDU)). A MAC payload may include an RLC packet. An RLC packet may include an RLC header and a payload (e.g., an RLC SDU). An RLC header may include an RLC sequence number. An RLC sequence number may be a number and / or index of an RLC packet in a sequence of RLC packets. An RLC sequence number may be monitored and / or stored in a memory 104 as sequence data 116. For example, sequence data 116 may include an RLC sequence number of the last (e.g., most recent) RLC packet received in sequence. The RLC sequence number of the last RLC packet received in sequence may be referred to as the lower edge of the RLC receive window. The term "in sequence" may refer to packets received in a consecutive order (e.g., in a consecutive numbered order) and / or in a sequential order. The RLC payload may include a PDCP packet. The PDCP packet may include a PDCP header and a payload (e.g., a PDCP SDU). The PDCP header may include a PDCP sequence number. The PDCP sequence number may be a number and / or index of a PDCP packet in a sequence of PDCP packets. The PDCP sequence number may be monitored and / or stored in the memory 104 as sequence data 116. For example, the sequence data 116 may include a PDCP sequence number of the last (e.g., most recent) PDCP packet received in sequence. In some examples, the sequence number of the last PDCP packet received in sequence or the last PDCP PDU submitted to the upper layer may be referred to as RX_DELIV or RX_DELIV-1. The PDCP sequence number of the last PDCP packet received in sequence may be referred to as the lower edge of the PDCP receive window. The PDCP payload may include upper layer information (e.g., Internet Protocol (IP) packets).

[0032] In some configurations, one or more lost packets may be detected using RLC sequence numbers and / or PDCP sequence numbers. In some cases, one or more lost PDCP packets may correspond to one or more lost RLC packets. The RLC sequence number and / or PDCP sequence number may be used to detect lost packets and / or trigger one or more operations (e.g., ARQ, reordering, etc.) to handle lost packets. As described above, in some cases one or more layered lost packets may occur, where a packet is lost at one layer (e.g., PDCP layer) and there is no corresponding lost packet at another layer (e.g., RLC layer). In some examples, the layered lost packets may trigger one or more operations to handle packets lost at one layer (e.g., PDCP layer) without triggering corresponding operations at another layer (e.g., RLC layer).

[0033] In some configurations, the memory 104 may include layered lost packet detection instructions 112. The layered lost packet detection instructions 112 may be instructions for detecting one or more layered lost packets. For example, the processor 110 may execute the layered lost packet detection instructions 112 to detect when a lost PDCP packet occurs without a corresponding lost RLC packet (e.g., when an RLC packet is received). The wireless communication device 102 may receive packets using the antenna(s) 108a-m and / or the transceiver(s) 106. The processor 110 may extract an RLC sequence number from the RLC packet and / or a PDCP sequence number from the PDCP packet, which may be stored in the memory 104 as sequence number data 116.

[0034] The processor 110 may be configured to determine a PDCP packet count corresponding to the last RLC packet received in sequence. For example, the processor 110 may execute the hierarchical loss packet detection instruction 112 to determine the PDCP packet count corresponding to the last RLC packet received in sequence. The RLC packets received in sequence may be RLC packets received in a sequential order in a set of RLC packets (e.g., no lost RLC packets and / or no skipped RLC sequence numbers). The PDCP packet count may be a value, quantity, and / or number indicating a PDCP packet relative to an RLC packet. For example, for a case where a PDCP packet is to be received in sequence for each RLC packet received in sequence, the PDCP packet count may indicate a PDCP packet number (e.g., a target PDCP sequence number). In some configurations, the processor 110 may use the PDCP sequence number to determine the PDCP count of the PDCP layer. For example, when a packet is moved from the RLC layer to the PDCP layer, the PDCP layer may provide (e.g., feedback) a PDCP count value of the packet to the RLC layer. In this way, the RLC layer may know the PDCP counts of all packets and may infer the PDCP packet count corresponding to the lower edge of the receive window. In some configurations, the processor 110 may increment the PDCP packet count for each RLC packet received in sequence. For example, the processor 110 may determine the PDCP packet count by extracting the PDCP sequence number from the RLC packet that has moved the lower edge of the RLC receive window. In some examples, the PDCP packet count may be expressed as Y+n, where Y is the initial PDCP packet sequence number in the packet set, and n is the number of RLC packets received in sequence in the packet set. For example, n may indicate the number of RLC packets received in sequence starting from the initial RLC packet sequence number X (and / or may correspond to the lower edge of the RLC receive window). The initial PDCP packet sequence number may correspond to an initial PDCP packet received in a communication session, in a link, after a communication interruption (e.g., after a lost packet is handled), etc. The initial RLC packet sequence number may correspond to an initial RLC packet received in a communication session, in a link, after a communication interruption (e.g., after a lost packet is handled), etc. In some configurations, the processor 110 may store the PDCP packet count as packet count data 114 in the memory 104 .

[0035] In some examples, in the case where a PDCP packet has been received in-sequence simultaneously with an in-sequence RLC packet, the PDCP packet count may correspond to the sequence number of the last PDCP packet received in-sequence (e.g., RX_DELIV or RX_DELIV-1). In the case where a lost PDCP packet occurs without a corresponding lost RLC packet, the PDCP packet count may be greater than the sequence number of the last PDCP packet received in-sequence (e.g., RX_DELIV or RX_DELIV-1). For example, the PDCP packet count may be incremented beyond the sequence number of the last PDCP packet received in-sequence.

[0036] In some configurations, the processor 110 may be configured to detect lost PDCP packets based on a comparison of the PDCP packet count with a sequence number of the last PDCP packet received in sequence (e.g., RX_DELIV or RX_DELIV-1). For example, the processor 110 may execute the hierarchical lost packet detection instructions 112 to detect lost PDCP packets based on a comparison of the PDCP packet count with a sequence number of the last PDCP packet received in sequence. In some examples, the processor 110 may be configured to perform a comparison of the PDCP packet count with the sequence number by determining that the sequence number (e.g., the sequence number of the last PDCP packet received in sequence, RX_DELIV or RX_DELIV-1) is less than the PDCP packet count. For example, in the event that the sequence number (e.g., RX_DELIV or RX_DELIV-1) is less than the PDCP packet count (e.g., the PDCP packet count corresponding to RX_NEXT, RX_NEXT-1, VR(R), or VR(R)-1), the processor 110 may detect a hierarchical lost packet. In some examples, the processor 110 may be configured to perform a comparison of the PDCP packet count with the sequence number by determining whether the PDCP packet count is greater than a sequence number (of a last PDCP packet received in sequence). For example, the processor 110 may detect a hierarchical packet loss when the PDCP packet count (e.g., a PDCP packet count corresponding to RX_NEXT, RX_NEXT-1, VR(R), or VR(R)-1) is greater than a sequence number (e.g., a sequence number of a last PDCP packet received in sequence, RX_DELIV or RX_DELIV-1).

[0037] In some examples, the wireless communication device 102 may establish communication with multiple bearers. For example, the processor 110 may be configured to establish communication with a first link, bearer, carrier and / or RAT and a second link, bearer, carrier and / or RAT. For example, the first bearer may be an NR bearer, and the second bearer may be an LTE bearer. Other combinations of different bearers may be used in some examples. In some configurations, the wireless communication device 102 may operate multiple links according to a split bearer, dual carrier and / or multi-RAT approach. Some of the techniques described herein may be performed in an NR PDCP scenario with an LTE-only RLC, in an NR PDCP scenario with an NR RLC, in a new radio dual connectivity (NRDC) scenario (e.g., one NR PDCP is served by two NR RLCs), in an ENDC scenario, and / or in a split bearer scenario, etc.

[0038] In some configurations, the processor 110 may be configured to determine PDCP packet counts corresponding to multiple links, bearers, carriers, and / or RATs. For example, the processor 110 may execute the hierarchical loss packet detection instruction 112 to determine corresponding PDCP packet counts corresponding to multiple (e.g., two, three or more) links, bearers, carriers, and / or RATs. In some examples, the processor 110 may be configured to determine a PDCP packet count corresponding to the last RLC packet received in sequence, wherein the PDCP packet count is associated with a first link, bearer, carrier, and / or RAT. For example, the PDCP packet count may correspond to an RLC packet received from a first link, bearer, carrier, and / or RAT. In some examples, the processor 110 may be configured to determine a second PDCP packet count corresponding to the second-to-last RLC packet received in sequence, and the second PDCP packet count is associated with a second link, bearer, carrier, and / or RAT.

[0039] In some examples, the processor 110 may be configured to detect hierarchical lost packets based on multiple (e.g., two, three, or more) links, bearers, carriers, and / or RATs. For example, the processor 110 may execute the hierarchical lost packet detection instructions 112 to detect hierarchical lost packets based on multiple links, bearers, carriers, and / or RATs. In some examples, the processor 110 may be configured to detect lost PDCP packets (e.g., lost hierarchical packets) based on a comparison of a PDCP packet count (e.g., corresponding to a first link, bearer, carrier, and / or RAT) with a sequence number (e.g., RX_DELIV or RX_DELIV–1) of the last PDCP packet received in sequence, and based on a second comparison of a second PDCP packet count (e.g., corresponding to a second link, bearer, carrier, and / or RAT) with the sequence number (e.g., RX_DELIV or RX_DELIV–1). For example, the processor 110 may be configured to perform a comparison of the PDCP packet count with the sequence number (e.g., RX_DELIV or RX_DELIV-1) by determining whether the sequence number is less than the PDCP packet count, and may be configured to perform a comparison of the second PDCP packet count with the sequence number by determining whether the sequence number is less than the second PDCP packet count. In some configurations, one or more comparisons may be performed for one, two, three, or more links, bearers, carriers, and / or RATs for hierarchical lost packet detection. In some examples, the comparison may be performed by determining whether the corresponding PDCP packet count is greater than the sequence number (e.g., RX_DELIV or RX_DELIV-1). In some configurations, the processor 110 may be configured to determine that a lost DPCP packet (e.g., a hierarchically lost PDCP packet) is detected when the sequence number (e.g., RX_DELIV or RX_DELIV-1) is less than a PDCP packet count (e.g., a PDCP packet count corresponding to RX_NEXT or RX_NEXT-1) and the sequence number is less than a second PDCP packet count (e.g., a second PDCP packet count corresponding to VR(R) or VR(R)-1).

[0040] In some examples, processor 110 may be configured to perform one or more operations based on (e.g., in response to) layered lost packet detection. For example, processor 110 may execute operating instructions 118 to perform one or more operations for handling layered lost packet detection. Examples of operations may include stopping a reordering timer, adjusting sequence numbers, and / or dumping packets. As described above, if not addressed, layered lost packets may result in increased memory consumption and / or increased latency to deliver packets to upper layers.

[0041] In some examples, the processor 110 may be configured to stop the PDCP reordering timer (e.g., reset the PDCP reordering timer and / or exit the PDCP reordering procedure) in response to detecting a lost PDCP packet. For example, the processor 110 may stop and / or reset the PDCP reordering timer triggered due to a lost PDCP packet. In some configurations, a layered lost packet detection procedure may be triggered based on the PDCP reordering timer. For example, the processor 110 may be configured to trigger detection based on the PDCP reordering timer. For example, the detection procedure may be executed in response to the start of the PDCP reordering timer, or may be executed in response to a threshold time after the PDCP reordering timer is started. For example, a trigger point for determining whether the PDCP layer is waiting for a packet due to (all) layered lost packets may be based on a fixed timer value (e.g., 2 milliseconds (ms), 3 ms, 5 ms, or more, etc.) from the start of the reordering timer.

[0042] In some examples, the processor 110 may be configured to adjust the sequence number in response to detecting a lost PDCP packet (e.g., a hierarchical lost packet). For example, the processor 110 may be configured to adjust the sequence number based on the PDCP packet count in response to detecting a lost PDCP packet. For example, the processor 110 may adjust the sequence number (e.g., the sequence number of the last PDCP packet received in sequence, the lower edge of the PDCP receive window, RX_DELIV, or RX_DELIV-1) to be equal to the PDCP packet count. In the case of multiple links, bearers, carriers, and / or RATs, the processor 110 may adjust the sequence number (e.g., the sequence number of the last PDCP packet received in sequence, the lower edge of the PDCP receive window, RX_DELIV, or RX_DELIV-1) to be equal to the lowest PDCP packet count. For example, the processor 110 may adjust the sequence number to be equal to the lower PDCP packet count in two links, bearers, carriers, and / or RATs.

[0043] In some examples, the processor 110 may be configured to dump one or more packets (e.g., dump one or more packets to an upper layer) in response to detecting lost PDCP packets (e.g., layered lost packets). For example, the processor 110 may be configured to dump one or more packets in a series of packets up to a PDCP packet count to a layer above the PDCP layer. In the case of multiple links, bearers, carriers, and / or RATs, the processor 110 may dump one or more packets up to a minimum PDCP packet count. In some examples, the processor 110 may dump the one or more packets before a reordering timer expires. For example, the reordering timer may have an expiration limit (e.g., 500 milliseconds, 1 second, or another value), and the processor 110 may stop the reordering timer and / or dump the one or more packets before the reordering timer expires in response to detecting layered lost packets.

[0044] In some configurations, the wireless communication device 102 may include Figure 1 One or more elements not shown in the figure. For example, the wireless communication device 102 may include one or more displays. The display may be a screen or panel for presenting images. In some examples, the display(s) may be implemented with one or more display technologies, such as a liquid crystal display (LCD), a light emitting diode (LED), an organic light emitting diode (OLED), a plasma, a cathode ray tube (CRT), etc. The display(s) may present content. Examples of content may include one or more interactive controls, graphics, symbols, characters, etc. In some configurations, information, data, and / or images based on received packets (e.g., packets dumped from the PDCP layer) may be presented on the display.

[0045] The display(s) may be integrated into or linked to the wireless communication device 102. In some examples, the display(s) may be a monitor with a desktop computer, a display on a laptop computer, a touch screen on a tablet device, an OLED panel in a smartphone, etc. In another example, the wireless communication device 102 may be a virtual reality head mounted kit with an integrated display. In another example, the wireless communication device 102 may be a computer coupled to a virtual reality head mounted kit with a display.

[0046] In some configurations, the wireless communication device 102 may present a user interface on a display. For example, the user interface may enable a user to interact with the wireless communication device 102. In some configurations, the display may be a touch screen that receives input from physical touch (e.g., by a finger, stylus, or other tool). Additionally or alternatively, the wireless communication device 102 may include another input interface or be coupled to another input interface. For example, the wireless communication device 102 may include a camera and may detect user gestures (e.g., gestures, arm gestures, eye tracking, blinking, etc.). In another example, the wireless communication device 102 may be linked to a mouse and may detect mouse clicks. In another example, the wireless communication device 102 may be linked to a keyboard and may detect keyboard input. In yet another example, the wireless communication device 102 may be linked to one or more other controllers (e.g., game controllers, joysticks, touchpads, motion sensors, etc.) and may detect input from the one or more controllers. In some examples, the wireless communication device 102 may utilize input received through the input interface to request content (e.g., downlink packets) from one or more network devices (e.g., base stations, access points, and / or electronic devices, etc.). For example, the wireless communication device 102 (eg, the processor 110) may request content from a website, server, network, etc. based on received user input.

[0047] Figure 2 2 is a diagram illustrating an example of grouping 220. Specifically, Figure 2 An example of PDU 0-n corresponding to RLC packets and PDCP packets in a network transmission scenario is explained. Figure 2 In the text, “serial number” is abbreviated as “SN”. Figure 2 An example of an initial RLC sequence number X and an example of an initial PDCP sequence number Y are also shown.

[0048] When the network (e.g., base station(s), network device(s), etc.) causes lost PDCP sequence numbers in data transmission without causing corresponding lost RLC sequence numbers, Figure 2 The scenario described in the explanation may occur. If not resolved, Figure 2The scenario in may cause one or more of the following effects on the receiving device (e.g., UE). In some approaches, once the PDCP sequence number (Y+4) is received at the wireless communication device, the PDCP reordering timer may be started. For example, the PDCP reordering timer may be started to recover the lost PDCP packet corresponding to the PDCP sequence number (Y+3) through RLC ARQ before the PDCP reordering timer expires. However, in this scenario, the PDCP reordering timer may not be accompanied by an RLC reassembly timer. This is because the RLC sequence numbers are sent by the network in sequence (e.g., without holes). This may cause the wireless communication device (e.g., UE) to not use the RLC ARQ procedure and wait in the PDCP layer for packets that will not be transmitted by the network.

[0049] Figure 3 3 is a diagram illustrating an example of a PDCP reordering window 322. For example, the PDCP reordering window 322 may be an example of a buffer for reordering PDCP packets while a reordering timer is running. Figure 3 In the text, “serial number” is abbreviated as “SN.” Figure 3 Explained in about Figure 2 An example of buffering that may occur in the described scenario if not addressed. Figure 3 In the embodiment, the PDCP reordering window 322 may store PDCP packets with sequence numbers Y+4 to Y+n+1 while waiting for the PDCP packet with sequence number Y+3 (while the PDCP reordering timer is running).

[0050] The PDCP reordering timer procedure initiated in this case may result in newly received in-sequence data (e.g., PDCP packets) being stored in the PDCP reordering window 322 until the reordering timer expires. In high throughput scenarios, this may have an adverse effect on memory (e.g., wireless communication device memory, UE memory). For example, the memory may store all PDCP packets newly received in the reordering window 322 and / or the round trip time (RTT) of PDCP packets waiting in the PDCP reordering window 322 may increase. One or more of these issues may also occur in dual connectivity scenarios, where a single PDCP entity may be served by more than one RLC entity.

[0051] Figure 4 4 is a flow chart illustrating an example of a method 400 for layered lost packet detection. In some examples, the method 400 may be performed by a wireless communication device (e.g., Figure 1 The wireless communication device 102 described above performs.

[0052] The wireless communication device may receive 402 one or more packets. In some configurations, this may be as described above with respect to Figure 1 For example, the wireless communication device may receive one or more packets from one or more links (e.g., link(s), bearer(s), carrier(s), and / or RAT(s)) using one or more antennas and / or one or more transceivers. The received packets (e.g., PHY layer packets) may include RLC packets and / or PDCP packets.

[0053] The wireless communication device may determine 404 a PDCP packet count corresponding to the last RLC packet received in sequence. In some configurations, this may be as described with respect to Figure 1 . For example, the wireless communication device may determine the PDCP count at the PDCP layer using the PDCP sequence number (e.g., the PDCP layer may provide the PDCP count value of the packet to the RLC layer so that the RLC layer can infer the PDCP packet count). In some examples, the wireless communication device may increment the PDCP packet count for each RLC packet received in sequence. In some methods, the wireless communication device may determine the PDCP packet count relative to an RLC variable. For example, the wireless communication device may determine the PDCP packet count corresponding to a variable RX_NEXT or RX_NEXT-1 (in the case where the bearer is an NR bearer), or the PDCP packet count corresponding to a variable VR(R) or VR(R)-1 (in the case where the bearer is an LTE bearer). In some examples, the PDCP packet count relative to RX_NEXT (e.g., RX_NEXT-1) or VR(R) (e.g., VR(R)–1) may be obtained by examining a PDCP header included in an RLC service data unit (SDU). For example, a relationship between an RLC sequence number and a PDCP packet count may be established by examining a PDCP header of an SDU for a corresponding RLC sequence number. In some approaches, the relationship between the RLC sequence number and the PDCP packet count may be performed and / or determined on a per-packet basis.

[0054] The wireless communication device may detect 406 a lost PDCP packet (e.g., a hierarchical lost packet) based on a comparison of the PDCP packet count and a sequence number of the last PDCP packet received in sequence (e.g., RX_DELIV or RX_DELIV-1). In some configurations, this may be as described with respect to Figure 1 For example, the wireless communication device (eg, a processor) may determine whether the sequence number (eg, RX_DELIV-1) is less than the PDCP packet count.

[0055] The wireless communication device may perform 408 operations based on the detection. In some configurations, this may be as described with respect to Figure 1For example, the wireless communication device may stop a reordering timer (e.g., a PDCP reordering timer), may adjust a sequence number (e.g., RX_DELIV), and / or may dump packets (e.g., packets up to a PDCP packet count).

[0056] In some examples, one or more of the functions, procedures, and / or operations described herein may be performed at the RLC layer and / or the PDCP layer. For example, a wireless communication device (e.g., a processor) may perform hierarchical lost packet detection at the RLC layer by determining a PDCP packet count corresponding to a lower edge of the RLC receive window (e.g., RX_NEXT, RX_NEXT-1, VR(R), or VR(R)–1) by extracting a PDCP sequence number from an RLC SDU that moves the lower edge of the RLC receive window, and / or by comparing the PDCP packet count with a lower edge of the PDCP receive window (e.g., RX_DELIV or RX_DELIV–1). In some examples, a wireless communication device (e.g., a processor) may stop a reordering timer (e.g., a PDCP reordering timer), may adjust a sequence number (e.g., RX_DELIV), and / or may dump packets (e.g., packets up to the PDCP packet count).

[0057] Figure 5 is a flow chart illustrating another example of a method 500 for layered lost packet detection. In some examples, the method 500 may be performed by a wireless communication device (e.g., Figure 1 The wireless communication device 102 described above performs.

[0058] The wireless communication device may establish 502 communications with the first bearer and the second bearer. In some configurations, this may be as described above with respect to Figure 1 The wireless communication device may be implemented as described. For example, the wireless communication device may send signals to the first bearer and the second bearer and / or receive signals from the first bearer and the second bearer. For example, the wireless communication device may request data to be delivered by the first bearer and the second bearer. One or more network devices (e.g., base stations, access points, etc.) may allocate communication resources (e.g., frequency resources, time resources, space resources, etc.) to send packets (e.g., PDCP packets) to the wireless communication device. In some configurations, one PDCP entity may be served by multiple RLC entities. For example, a sequence of PDCP packets may be sent to the wireless communication device via different bearers.

[0059] The wireless communication device may determine 504 a PDCP packet count corresponding to the last RLC packet received in sequence, wherein the PDCP packet count is associated with the first bearer. In some configurations, this may be as described with respect to Figure 1For example, the wireless communication device may determine the PDCP packet count based on the RLC packets (e.g., RLC packet sequence numbers) from the first bearer. In some approaches, when the bearer is an NR bearer, the wireless communication device may determine the PDCP packet count based on a variable (e.g., RX_NEXT or RX_NEXT-1).

[0060] The wireless communication device may determine 506 a second PDCP packet count corresponding to the second last RLC packet received in sequence, wherein the second PDCP packet count is associated with the second bearer. In some configurations, this may be as described with respect to Figure 1 For example, the wireless communication device may determine the PDCP packet count based on RLC packets (e.g., RLC packet sequence numbers) from the second bearer. In some approaches, where the bearer is an LTE bearer, the wireless communication device may determine the PDCP packet count based on a variable (e.g., VR(R) or VR(R)–1).

[0061] The wireless communication device may detect 508 a lost PDCP packet (e.g., a hierarchically lost packet) based on a comparison of the PDCP packet count with a sequence number of the last PDCP packet received in sequence (e.g., RX_DELIV or RX_DELIV-1) and based on a second comparison of the second PDCP packet count and the sequence number. In some configurations, this may be as described with respect to Figure 1 is implemented as described. For example, the wireless communication device (e.g., a processor) may determine whether the sequence number (e.g., RX_DELIV or RX_DELIV–1) is less than the PDCP packet count and less than the second PDCP packet count. In the case where the sequence number is less than the PDCP packet count and less than the second PDCP packet count, lost PDCP packets (e.g., hierarchical lost packets, PDCP “holes” from the network, etc.) may be detected. In another example, the wireless communication device (e.g., a processor) may determine whether the PDCP packet count and the second PDCP packet count are greater than the sequence number (e.g., RX_DELIV or RX_DELIV-1). In the case where the PDCP packet count and the second PDCP packet count are greater than the sequence number, lost PDCP packets (e.g., hierarchical lost packets, PDCP “holes” from the network, etc.) may be detected.

[0062] The wireless communication device may perform 510 operations based on the detection. In some configurations, this may be as described with respect to Figure 1For example, the wireless communication device may stop a reordering timer (e.g., a PDCP reordering timer), may adjust a sequence number (e.g., RX_DELIV) to the lower of a PDCP packet count (e.g., (PDCP packet count value RX_NEXT-1)+1) and a second PDCP packet count (e.g., (PDCP packet count value VR(R)-1)+1), and / or may dump packets (e.g., up to the lower of the PDCP packet count and the second PDCP packet count).

[0063] Figure 6 6 is a flowchart illustrating another example of a method 600 for layered lost packet detection. In some examples, the method 600 may be performed by a wireless communication device (e.g., Figure 1 In some configurations, the method 600 may be performed for PDCP sequence number hole detection for ENDC scenarios.

[0064] The wireless communication device may establish 602 communications with the first bearer and the second bearer. In some configurations, this may be as described above with respect to Figure 1 and / or Figure 5 to be implemented as described.

[0065] The wireless communication device may determine 604 a PDCP packet count corresponding to the last RLC packet received in sequence, wherein the PDCP packet count is associated with the first bearer. In some configurations, this may be as described with respect to Figure 1 and / or Figure 5 to be implemented as described.

[0066] The wireless communication device may determine 606 a second PDCP packet count corresponding to the second last RLC packet received in sequence, wherein the second PDCP packet count is associated with the second bearer. In some configurations, this may be as described with respect to Figure 1 and / or Figure 5 to be implemented as described.

[0067] The wireless communication device may determine 608 whether the sequence number (e.g., RX_DELIV or RX_DELIV-1) is less than the PDCP packet count. Figure 1 and / or Figure 5 For example, the wireless communication device may compare the sequence number with the PDCP packet count to determine whether the sequence number is a smaller value relative to the PDCP packet count. In the event that the sequence number is not less than (e.g., greater than or equal to) the PDCP packet count, the operation may return to determining 604 the PDCP packet count for one or more subsequent packets, and so on.

[0068] In the event that the sequence number is less than the PDCP packet count, the wireless communication device may determine 610 whether the sequence number (e.g., RX_DELIV or RX_DELIV-1) is less than the second PDCP packet count. Figure 1 and / or Figure 5 For example, the wireless communication device may compare the sequence number with the second PDCP packet count to determine whether the sequence number is a smaller value relative to the second PDCP packet count. In the event that the sequence number is not less than (e.g., greater than or equal to) the second PDCP packet count, the operation may return to determining 604 the PDCP packet count for one or more subsequent packets, and so on.

[0069] In the event that the sequence number is less than the second PDCP packet count (e.g., in the event of hierarchical lost packet detection), the wireless communication device may perform 612 operations based on the detection. In some configurations, this may be as described with respect to Figure 1 and / or Figure 5 For example, the wireless communication device may stop a reordering timer (e.g., a PDCP reordering timer), may adjust a sequence number (e.g., RX_DELIV) to the lower of a PDCP packet count and a second PDCP packet count, and / or may dump packets (e.g., up to the lower of the PDCP packet count and the second PDCP packet count).

[0070] Figure 7 700 is a flowchart illustrating another example of a method 700 for layered lost packet detection. In some examples, the method 700 may be performed by a wireless communication device (e.g., Figure 1 The wireless communication device 102 described above performs.

[0071] The wireless communication device may determine 702 one or more bearers. For example, the wireless communication device may determine 702 whether an NR bearer, an LTE bearer, or both an NR and an LTE bearer are used for communication. For example, the wireless communication device may find one or more bearers currently being used by the wireless communication device. In some examples, the wireless communication device may read a record from a memory indicating the one or more bearers being used for communication.

[0072] In the case of using NR and LTE bearers, the wireless communication device may determine 704 a PDCP packet count corresponding to RX_NEXT-1 for the NR bearer. In some configurations, this may be as described with respect to Figure 1 and / or Figure 4-6For example, at the receiver side, one or more RLC entities may maintain and / or track a PDCP packet count corresponding to a lower edge of the RLC receive window (e.g., RX_NEXT-1 in the case of NR) together with associated status information.

[0073] The wireless communication device may determine 706 a second PDCP packet count corresponding to VR(R)-1 for the LTE bearer. In some configurations, this may be as described with respect to Figure 1 and / or Figure 4-6 For example, at the receiver side, one or more RLC entities may maintain and / or track a PDCP packet count corresponding to a lower edge of the RLC receive window (e.g., VR(R)-1 in the case of LTE) together with associated status information. When RLC packets and PDCP packets are received in sequence, the last PDCP PDU submitted to the upper layer (e.g., RX_DELIV-1) may be greater than or equal to the current PDCP packet count corresponding to one or more RLCs (e.g., RX_NEXT-1 in the case of NR RLC, or VR(R)-1 in the case of LTE RLC).

[0074] The wireless communication device may determine 708 whether RX_DELIV-1 is less than a PDCP packet count (e.g., a PDCP packet count associated with RX_NEXT-1 of RLC in the case of NR). Figure 1 and / or Figure 4-6 For example, the wireless communication device may compare RX_DELIV-1 with a PDCP packet count for the NR bearer (e.g., corresponding to RX_NEXT-1). In the event that RX_DELIV-1 is not less than (e.g., greater than or equal to) the PDCP packet count, the operation may return to determining 704 the PDCP packet count for one or more subsequent packets, and so on.

[0075] In the event that RX_DELIV-1 is less than the PDCP packet count, the wireless communication device may determine 710 whether RX_DELIV-1 is less than a second PDCP packet count (which is associated with VR(R)-1 of the RLC in the case of LTE, for example). Figure 1 and / or Figure 4-6For example, the wireless communication device may compare RX_DELIV-1 with a second PDCP packet count for the LTE bearer (e.g., which corresponds to VR(R)). In the event that RX_DELIV-1 is not less than (e.g., greater than or equal to) the second PDCP packet count, the operation may return to determining 704 the PDCP packet count for one or more subsequent packets, and so on.

[0076] In the case where RX_DELIV-1 is less than the second PDCP packet count, the wireless communication device may detect the lost PDCP packets. For example, the wireless communication device may detect that the network (e.g., gNB, eNB, etc.) has transmitted data with one or more PDCP sequence number holes, while the sequence numbers of the RLC are continuous. In the case where RX_DELIV-1 is less than the second PDCP packet count, the wireless communication device may perform 712 operations based on the detection. In some configurations, this may be as described with respect to Figure 1 and / or Figure 4-6 For example, the wireless communication device may stop a reordering timer (e.g., a PDCP reordering timer), may adjust a sequence number (e.g., RX_DELIV) to the lower of a PDCP packet count and a second PDCP packet count, and / or may dump packets (e.g., up to the lower of the PDCP packet count and the second PDCP packet count).

[0077] In the case of using an LTE bearer, the wireless communication device may determine 714 a PDCP packet count corresponding to VR(R)-1 for the LTE bearer. In some configurations, this may be as described with respect to Figure 1 and / or Figure 4-6 and / or one or more of elements 706 as described.

[0078] The wireless communication device may determine 716 whether RX_DELIV-1 is less than a PDCP packet count (eg, a PDCP packet count associated with VR(R)-1 of RLC in the case of LTE). This may be as described with respect to Figure 1 and / or Figure 4-6 and / or one or more of elements 710. In the event that RX_DELIV-1 is not less than (eg, greater than or equal to) the PDCP packet count, operations may return to determining 714 the PDCP packet count for one or more subsequent packets, and so on.

[0079] In the case where RX_DELIV-1 is less than the second PDCP packet count, the wireless communication device may detect a lost PDCP packet. For example, the wireless communication device may detect that the network (e.g., gNB, eNB, etc.) has transmitted data with one or more PDCP sequence number holes, while the sequence numbers of the RLC are continuous. In the case where RX_DELIV-1 is less than the PDCP packet count, the wireless communication device may perform 712 operations based on the detection.

[0080] In the case of using NR bearers, the wireless communication device may determine 718 a PDCP packet count corresponding to RX_NEXT-1 for the NR bearer. In some configurations, this may be as described with respect to Figure 1 and / or Figure 4-6 and / or one or more of elements 704 as described.

[0081] The wireless communication device may determine 720 whether RX_DELIV-1 is less than a PDCP packet count (e.g., a PDCP packet count associated with RX_NEXT-1 of RLC in the case of NR). Figure 1 and / or Figure 4-6 and / or one or more of elements 708. In the event that RX_DELIV-1 is not less than (eg, greater than or equal to) the PDCP packet count, operations may return to determining 718 the PDCP packet count for one or more subsequent packets, and so on.

[0082] In the case where RX_DELIV-1 is less than the PDCP packet count, the wireless communication device may detect a lost PDCP packet. For example, the wireless communication device may detect that the network (e.g., gNB, eNB, etc.) has transmitted data with one or more PDCP sequence number holes, while the sequence numbers of the RLC are continuous. In the case where RX_DELIV-1 is less than the PDCP packet count, the wireless communication device may perform 712 operations based on the detection. In some examples, method 700 and / or elements of method 700 may be repeated. For example, method 700 and / or steps of method 700 may be repeated for one or more subsequent packets.

[0083] In some examples, the wireless communication device can perform method 700 in response to a change in bearers. For example, if a change in bearers occurs (eg, bearers are added, bearers are dropped, bearers are changed, etc.), the wireless communication device can return to determining 702 one or more bearers.

[0084] Figure 8 800 is a flowchart illustrating an example of a method 800 for handling layered lost packets. In some examples, the method 800 may be performed by a wireless communication device (e.g., Figure 1The wireless communication device 102 described above performs.

[0085] The wireless communication device may determine 802 whether one or more layered lost packets are detected. This may be as described above with respect to Figure 1 and / or Figure 4-7 In the event that one or more layered lost packets are not detected, the operation may return to determining 802 whether one or more layered lost packets are detected for one or more subsequent packets.

[0086] In the event that one or more layered lost packets are detected, the wireless communication device may stop 804 the PDCP reordering timer in response to detecting the layered lost packet(s). Figure 1 and / or Figure 4-7 For example, at the receiver side, when a PDCP packet lost in network transmission is detected, the PDCP layer may stop waiting for the lost packet and / or may exit the reordering timer operation procedure.

[0087] The wireless communication device may adjust 806 the sequence number based on the PDCP packet count. This may be as described above with respect to Figure 1 and / or Figure 4-7 . For example, a wireless communication device (e.g., a PDCP entity) may move the PDCP receive window to align with the RLC receive window. In some approaches, the aligned windows may be achieved by moving RX_DELIV (e.g., the lower edge of the PDCP receive window) to (NR RLC's PDCP packet count RX_NEXT–1)+1 and / or to (LTE RLC's PDCP packet count VR(R)–1)+1, whichever is lower. In the case of NR dual connectivity, a minimum PDCP packet count of a primary cell group (MCG) RLC or a secondary cell group (SCG) RLC may be maintained.

[0088] The wireless communication device may dump 808 one or more PDCP packets in a series of packets up to the PDCP packet count to a layer above the PDCP layer (e.g., radio resource control (RRC), application layer, etc.). This may be as described above with respect to Figure 1 and / or Figure 4-7 In some examples, a higher layer (e.g., an application layer) may handle lost packets (e.g., for layered lost packets, ARQ may not be performed at the PDCP layer and / or the RLC layer). For example, the application layer may use a transmission control protocol (TCP) to handle lost packets (e.g., request retransmission).

[0089] In some examples, performing Figure 8 One or more of the described operations may reduce memory consumption on a receiving device (e.g., a wireless communication device) when hierarchical packet loss occurs. For example, the wireless communication device may benefit by avoiding certain memory consumption before the PDCP reordering timer expires and / or may benefit by reducing latency in packet delivery.

[0090] Fig. 9 is a diagram illustrating an example of network devices 924a-b and a wireless communication device 926; the wireless communication device 926 may be related to Figure 1 An example of a wireless communication device 102 is depicted. Network equipment 924a-b (e.g., base stations, access points, gateways, eNB(s) and / or gNB(s), etc.) may provide communications with multiple links, bearers, carriers, and / or RATs. Fig. 9 In the example of FIG. 1 , the wireless communication device 926 communicates with the network devices 924a-b using the first link 930a and the second link 930b. The links 930a-b may be examples of (and / or may correspond to) links, bearers, carriers, and / or RATs (e.g., cellular, WLAN, and / or PAN, etc.).

[0091] In some cases, the network devices 924a-b may communicate using a link 928 (e.g., a wired and / or wireless link), and different PDCP packets may be assigned to each network device 924a-b for delivery to the wireless communication device 926. In some cases, one or more PDCP packets may be lost when transmitted via the link 928, while the RLC packets may be transmitted without loss via the link 930a-b. In some cases, one or more PDCP packets may be incorrectly numbered by one or more of the network devices 924a-b. Each of these scenarios may result in hierarchical loss packets and / or sequence number holes, as described herein. In some examples, the wireless communication device 926 may detect hierarchical loss packets and / or sequence number holes, as described herein. The wireless communication device 926 may perform one or more operations to reduce the memory impact in the hierarchical loss packet and / or sequence number hole scenarios. For example, some configurations of the systems and methods described herein may be used to detect PDCP sequence number holes in eNB / gNB transmissions and / or reduce memory consumption on a receiving device (e.g., a wireless communication device).

[0092] Fig.10Certain components that may be included within an electronic device 1030 are illustrated, which are configured to implement various configurations of the systems and methods disclosed herein for layered lost packet detection and / or handling. The electronic device 1030 may be an access terminal, a mobile station, a user equipment (UE), a smart phone, a digital camera, a video camera, a tablet device, a laptop computer, a desktop computer, a server, etc. The electronic device 1030 may be implemented according to one or more wireless communication devices (e.g., the wireless communication device 102) described herein.

[0093] The electronic device 1030 includes a processor 1032. The processor 1032 may be a general purpose single-chip or multi-chip microprocessor (e.g., ARM), a dedicated microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, etc. The processor 1032 may be referred to as a central processing unit (CPU) and / or a modem processor. Although only a single processor 1032 is shown in the electronic device 1030, in an alternative configuration, a combination of processors (e.g., ARM and DSP) may be implemented.

[0094] The electronic device 1030 also includes a memory 1034. The memory 1034 may be any electronic component capable of storing electronic information. The memory 1034 may be embodied as a random access memory (RAM), a read-only memory (ROM), a magnetic disk storage medium, an optical storage medium, a flash memory device in a RAM, an onboard memory included with a processor, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable PROM (EEPROM), a synchronous dynamic random access memory (SDRAM), a register, and the like, including combinations thereof.

[0095] The data 1038a and the instructions 1036a may be stored in the memory 1034. The instructions 1036a may be executable by the processor 1032 to implement one or more methods described herein. Executing the instructions 1036a may involve using the data 1038a stored in the memory 1034. When the processor 1032 executes the instructions 1036, various portions of the instructions 1036b may be loaded onto the processor 1032, and various fragments of the data 1038b may be loaded onto the processor 1032. In some configurations, the instructions 1036 may be executable to implement and / or perform one or more of the methods 400, 500, 600, 700, 800, and / or the functions, procedures, and / or operations described herein (e.g., regarding Figure 1 and / or Fig.11 One or more of the operations described, etc.

[0096] The electronic device 1030 may also include a transmitter 1040 and a receiver 1042 to allow transmission and reception of signals to and from the electronic device 1030. The transmitter 1040 and the receiver 1042 may be collectively referred to as a transceiver 1044. One or more antennas 1046a-b may be electrically coupled to the transceiver 1044. The electronic device 1030 may also include (not shown) multiple transmitters, multiple receivers, multiple transceivers, and / or additional antennas.

[0097] The electronic device 1030 may include a digital signal processor (DSP) 1048. The electronic device 1030 may also include a communication interface 1050. The communication interface 1050 may allow and / or enable one or more inputs and / or outputs. For example, the communication interface 1050 may include one or more ports and / or communication devices for linking other devices to the electronic device 1030. In some configurations, the communication interface 1050 may include a transmitter 1040, a receiver 1042, or both (e.g., a transceiver 1044). Additionally or alternatively, the communication interface 1050 may include one or more other interfaces (e.g., a touch screen, a keypad, a keyboard, a microphone, a camera, etc.). For example, the communication interface 1050 may enable a user to interact with the electronic device 1030.

[0098] The various components of the electronic device 1030 may be coupled together via one or more buses, which may include a power bus, a control signal bus, a status signal bus, a data bus, etc. For clarity, the various buses are described in Fig.10 It is illustrated as bus system 1052.

[0099] Fig.11It is a thread diagram illustrating an example of a technique for handling PDCP PDU retransmissions by switching and / or reestablishment. In some examples, a receiving entity (e.g., a wireless communication device, a UE, etc.) may be configured to report one or more lost PDCP PDUs to a transmitting entity (e.g., a base station, a network, an eNB, a gNB, etc.). During a switching procedure or a reestablishment procedure, a receiving entity of (all) PDCPs may construct and transmit a PDCP status PDU to report lost PDCP PDUs to the transmitting entity. In some examples, the PDCP status PDU may carry lost PDCP count information from RX_DELIV to RX_NEXT. A switching may occur when a receiving entity (e.g., a wireless communication device, a UE, etc.) moves to the coverage area of ​​another (e.g., adjacent) base station and a link is established between the receiving entity and the other base station. Reestablishment may occur when a link is reestablished between the receiving entity and the network (e.g., the same base station). In some cases, when the network retransmits lost PDCP PDUs (eg, due to handover or re-establishment), the in-sequence RLC sequence numbers may not carry in-sequence PDCP sequence numbers until all retransmitted PDUs are delivered by the network.

[0100] In some examples, some techniques described herein (e.g., detection techniques) may back off (e.g., pause, suspend, etc.) during and / or after a handover or reestablishment until a timer expires or until all holes are filled. For example, to reduce or avoid false detection of lost PDCP sequence numbers during and / or after a handover or reestablishment, some techniques described herein (e.g., hierarchical lost packet detection, PDCP sequence number hole detection, etc.) may back off (e.g., pause, suspend, etc.) until RX_DELIV moves past the RX_NEXT value recorded at the time of handover or reestablishment when constructing a PDCP status PDU. RX_DELIV may move when a running reordering timer (e.g., t-reordering) expires or when all holes have been filled by retransmissions from the network. In some examples, lost PDCP packet detection may be suspended in response to a handover or reestablishment trigger when the sequence number of the last PDCP packet received in sequence (e.g., RX_DELIV or RX_DELIV-1) is less than the lower edge of the RLC window (e.g., RX_NEXT, RX_NEXT–1, VR(R), or VR(R)–1).

[0101] Fig.11 An example of a technique for a wireless communication device 1154 and / or a network 1156 (eg, one or more base stations) to handle PDCP sequence number hole detection for handover or reestablishment is illustrated in FIG. The wireless communication device 1154 may be related to Figure 1 An example of a wireless communication device 102 is described. Fig.11One or more of the techniques described may be performed in combination with one or more of the functions, operations, techniques, methods 400, 500, 600, 700, 800, etc. described herein.

[0102] exist Fig.11 In the example of , PDCP sequence number hole detection can be active 1158 on the wireless communication device 1154 (e.g., the wireless communication device 1154 can monitor for hierarchical lost PDCP packets and / or PDCP sequence number holes). For example, the wireless communication device 1154 can perform lost PDCP detection and / or PDCP sequence number hole detection, such as with respect to Figure 1 , Figure 4 , Figure 5 , Figure 6 , Figure 7 and / or Figure 8 as described.

[0103] A handover or reestablishment may be triggered 1160. For example, if another base station (e.g., in addition to the current serving base station) may also provide improved signal strength, the wireless communication device 1154 and / or the network 1156 may trigger 1160 a handover procedure. In some examples, the wireless communication device 1154 and / or the network 1156 may trigger 1160 a reestablishment procedure (e.g., due to signaling loss, operator setup update, service area reentry, etc.).

[0104] The wireless communication device 1154 may send 1162 a PDCP status PDU 1162 to the network 1156. The PDCP status PDU may report one or more lost PDCP PDUs to the network 1156 and / or may carry lost PDCP count information from RX_DELIV to RX_NEXT.

[0105] If RX_DELIV is less than RX_NEXT (or, for example, if RX_DELIV-1 is less than RX_NEXT-1), the wireless communication device 1154 may back off 1164 the PDCP sequence number hole detection. For example, the wireless communication device 1154 may compare RX_DELIV to RX_NEXT. If RX_DELIV is less than RX_NEXT, the wireless communication device 1154 may back off (e.g., suspend, suspend, deactivate, etc.) the PDCP sequence number hole detection.

[0106] The wireless communication device 1154 may store 1166 the current RX_NEXT as “last_RX_NEXT.” In some examples, the current RX_NEXT may be stored as the most recent (eg, “last”) RX_NEXT (eg, which corresponds to the time of the PDCP Status PDU).

[0107] The network 1156 may send 1168 one or more PDCP retransmission PDUs and / or one or more PDCP new transmission PDUs. For example, when implementing a handover or reestablishment, the network 1156 may retransmit any lost PDCP PDUs (e.g., based on the PDCP status PDU) to the wireless communication device 1154 and / or may transmit one or more new PDCP PDUs to the wireless communication device 1154.

[0108] The wireless communication device 1154 may reactivate 1170 PDCP sequence number hole detection when RX_DELIV is greater than or equal to last_RX_NEXT. For example, the wireless communication device 1154 may compare RX_DELIV to last_RX_NEXT. If RX_DELIV is greater than or equal to last_RX_NEXT, the wireless communication device 1154 may reactivate (e.g., resume, continue, etc.) PDCP sequence number hole detection. For example, the wireless communication device 1154 may resume lost PDCP detection and / or PDCP sequence number hole detection, as described with respect to Figure 1 , Figure 4 , Figure 5 , Figure 6 , Figure 7 and / or Figure 8 In some examples, instead of RX_NEXT (e.g., RX_NEXT–1) or in addition to RX_NEXT (e.g., RX_NEXT–1), Fig.11 One or more of the described operations may be performed using VR(R) or VR(R)-1.

[0109] The term "determining" broadly encompasses a wide variety of actions, and thus "determining" may include calculating, computing, processing, deriving, investigating, searching (e.g., searching in a table, database, or other data structure), ascertaining, and similar actions. Additionally, "determining" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and similar actions. Additionally, "determining" may include resolving, selecting, choosing, establishing, and similar actions, among others.

[0110] Unless explicitly stated otherwise, the phrase “based on” does not mean “based only on.” In other words, the phrase “based on” may describe both “based only on” and / or “based at least on.”

[0111] The term "processor" should be interpreted broadly to cover general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, etc. In some contexts, a "processor" may refer to an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term "processor" may refer to a combination of processing devices, for example, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

[0112] The term "memory" should be interpreted broadly to cover any electronic component capable of storing electronic information. The term memory can refer to various types of processor-readable media, such as random access memory (RAM), read-only memory (ROM), nonvolatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, etc. A memory is said to be in electronic communication with a processor if the processor can read information from and / or write information to the memory. Memory that is integrated with a processor is in electronic communication with the processor.

[0113] The terms "instructions" and "code" should be interpreted broadly to include any type of computer-readable statements. For example, the terms "instructions" and "code" may refer to one or more programs, routines, subroutines, functions, procedures, etc. "Instructions" and "code" may include a single computer-readable statement or many computer-readable statements.

[0114] Some examples of the functions described herein can be implemented in software or firmware executed by hardware. These functions can be stored as one or more instructions on a computer-readable medium. The term "computer-readable medium" or "computer program product" refers to any tangible storage medium that can be accessed by a computer or a processor. As an example and not limitation, a computer-readable medium may include RAM, ROM, EEPROM, compact disk read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store program code in the form of instructions and / or data structures and can be accessed by a computer. As used herein, disk and disc include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and A disk typically reproduces data magnetically, while a disc reproduces data optically with a laser. It should be noted that computer readable media can be tangible and non-transitory. The term "computer program product" refers to a computing device or processor in combination with code or instructions (e.g., a "program") that can be executed, processed, or calculated by the computing device or processor. As used herein, the term "code" can refer to software, instructions, code, or data that can be executed by a computing device or processor.

[0115] Software or instructions may also be transmitted over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of transmission medium.

[0116] The methods disclosed herein include one or more steps or actions for achieving the described methods. These method steps and / or actions may be interchangeable with one another without departing from the scope of the claims. In other words, unless the proper operation of the described method requires a specific order of steps or actions, the order and / or use of specific steps and / or actions may be altered without departing from the scope of the claims.

[0117] In addition, it should be appreciated that modules and / or other appropriate means for performing the methods and techniques described herein can be downloaded and / or otherwise obtained by a device. For example, a device may be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, the various methods described herein can be provided via a storage device (e.g., a random access memory (RAM), a read-only memory (ROM), a physical storage medium such as a compact disc (CD) or a floppy disk, etc.), so that once the storage device is coupled to or provided to a device, the device can obtain the various methods.

[0118] As used herein, the term "and / or" should be interpreted as meaning one or more items. For example, the phrase "A, B and / or C" should be interpreted as meaning any one of the following: only A, only B, only C, A and B (but not C), B and C (but not A), A and C (but not B), or A, B and C all. As used herein, the phrase "at least one" should be interpreted as meaning one or more items. For example, the phrase "at least one of A, B and C" or the phrase "at least one of A, B or C" should be interpreted as meaning any one of the following: only A, only B, only C, A and B (but not C), B and C (but not A), A and C (but not B), or A, B and C all. As used herein, the phrase "one or more" should be interpreted as meaning one or more items. For example, the phrase "one or more of A, B, and C" or the phrase "one or more of A, B, or C" should be interpreted to mean any of the following: only A, only B, only C, A and B (but not C), B and C (but not A), A and C (but not B), or all of A, B, and C.

[0119] It will be understood that the claims are not limited to the precise configuration and components illustrated above. Various changes, modifications and variations may be made in the arrangement, operation and details of the systems, methods, and apparatus described herein without departing from the scope of the claims.

[0120] Various implementation examples are described in the following numbered clauses.

[0121] 1. A method performed by a wireless communication device, comprising:

[0122] determining a packet data convergence protocol (PDCP) packet count corresponding to a last radio link control (RLC) packet received in sequence; and

[0123] Lost PDCP packets are detected based on a comparison of the PDCP packet count and a sequence number of a last PDCP packet received in sequence.

[0124] 2. The method of clause 1, wherein the comparison of the PDCP packet count and the sequence number comprises determining whether the sequence number is less than the PDCP packet count.

[0125] 3. A method as in any preceding clause, further comprising:

[0126] establishing communications with a first bearer and a second bearer, wherein the PDCP packet count is associated with the first bearer; and

[0127] A second PDCP packet count corresponding to a second last RLC packet received in sequence is determined, the second PDCP packet count being associated with the second bearer, wherein detecting the lost PDCP packet is further based on a second comparison of the second PDCP packet count with the sequence number.

[0128] 4. A method as described in clause 3, wherein the comparison of the PDCP packet count and the sequence number includes determining whether the sequence number is less than the PDCP packet count, wherein the comparison of the second PDCP packet count and the sequence number includes determining whether the sequence number is less than the second PDCP packet count, and wherein a lost PDCP packet is detected when the sequence number is less than the PDCP packet count and the sequence number is less than the second PDCP packet count.

[0129] 5. A method as described in any preceding clause, further comprising suspending lost PDCP packet detection in response to a handover or re-establishment trigger if the sequence number of the last PDCP packet received in sequence is less than a lower edge of the RLC window.

[0130] 6. A method as described in any preceding clause, further comprising stopping a PDCP reordering timer in response to detecting lost PDCP packets.

[0131] 7. The method of any preceding clause, further comprising adjusting the sequence number based on the PDCP packet count in response to detecting a lost PDCP packet.

[0132] 8. The method of any preceding clause, further comprising dumping one or more packets in a series of packets up to the PDCP packet count to a layer above the PDCP layer.

[0133] 9. A method as described in any preceding clause, further comprising triggering the detection based on a PDCP reordering timer.

[0134] 10. A method as described in any preceding clause, wherein the lost PDCP packets occur without lost RLC packets.

[0135] 11. A wireless communication device in combination with any of the preceding clauses, the wireless communication device comprising a memory and a processor in electronic communication with the memory, wherein the wireless communication device is configured to perform any of the methods of any of the preceding clauses.

[0136] 12. A non-transitory tangible computer readable medium in combination with any of the methods of clauses 1-10, wherein the non-transitory tangible computer readable medium stores computer executable code for causing the processor to perform any of the methods of clauses 1-10.

[0137] 13. Apparatus in combination with any of clauses 1-10, wherein the apparatus comprises means for performing any of the methods of clauses 1-10.

Claims

1. A wireless communication device, comprising: Memory; a processor in electronic communication with the memory, wherein the processor is configured to: determining a Packet Data Convergence Protocol, PDCP, packet count corresponding to a last Radio Link Control, RLC, packet received in sequence, wherein the processor is configured to perform the comparison of the PDCP packet count with the sequence number by determining whether a sequence number of the last PDCP packet received in sequence is less than the PDCP packet count; establishing communications with a first bearer and a second bearer, wherein the PDCP packet count is associated with the first bearer; determining a second PDCP packet count corresponding to a second to last RLC packet received in sequence, the second PDCP packet count being associated with the second bearer, wherein the processor is configured to perform a comparison of the second PDCP packet count with the sequence number by determining whether the sequence number is less than the second PDCP packet count; as well as A lost PDCP packet is detected based on a comparison of the PDCP packet count and the sequence number, wherein the processor is configured to detect the lost PDCP packet if the sequence number is less than the PDCP packet count and the sequence number is less than the second PDCP packet count.

2. The wireless communication device of claim 1 , wherein the processor is configured to suspend lost PDCP packet detection in response to a handover or re-establishment trigger if the sequence number of the last PDCP packet received in sequence is less than a lower edge of an RLC window.

3. The wireless communication device of claim 1, wherein the processor is configured to stop a PDCP reordering timer in response to detecting the lost PDCP packets.

4. The wireless communication device of claim 1, wherein the processor is configured to adjust the sequence number based on the PDCP packet count in response to detecting the lost PDCP packet.

5. The wireless communication device of claim 1, wherein the processor is configured to dump one or more packets in a series of packets up to the PDCP packet count to a layer above the PDCP layer.

6. The wireless communication device of claim 1, wherein the processor is configured to trigger the detection based on a PDCP reordering timer.

7. The wireless communication device of claim 1, wherein the lost PDCP packets occur without lost RLC packets.

8. A method performed by a wireless communication device, comprising: determining a Packet Data Convergence Protocol (PDCP) packet count corresponding to a last Radio Link Control (RLC) packet received in sequence, wherein the comparison of the PDCP packet count with the sequence number is performed by determining whether a sequence number of the last PDCP packet received in sequence is less than the PDCP packet count; establishing communications with a first bearer and a second bearer, wherein the PDCP packet count is associated with the first bearer; determining a second PDCP packet count corresponding to a second last RLC packet received in sequence, the second PDCP packet count being associated with the second bearer, wherein comparing the second PDCP packet count to the sequence number is performed by determining whether the sequence number is less than the second PDCP packet count, and A lost PDCP packet is detected based on a comparison of the PDCP packet count and the sequence number, wherein the lost PDCP packet is detected if the sequence number is less than the PDCP packet count and the sequence number is less than the second PDCP packet count.

9. The method of claim 8, further comprising suspending lost PDCP packet detection in response to a handover or re-establishment trigger if the sequence number of the last PDCP packet received in sequence is less than a lower edge of an RLC window.

10. The method of claim 8, further comprising stopping a PDCP reordering timer in response to detecting the lost PDCP packets.

11. The method of claim 8, further comprising adjusting the sequence number based on the PDCP packet count in response to detecting the lost PDCP packet.

12. The method of claim 8, further comprising dumping one or more packets in a series of packets up to the PDCP packet count to a layer above the PDCP layer.

13. The method of claim 8, further comprising triggering the detecting based on a PDCP reordering timer.

14. The method of claim 8, wherein the lost PDCP packets occur without lost RLC packets.

15. A non-transitory tangible computer readable medium storing computer executable code, the computer executable code comprising: code for causing a processor to determine a Packet Data Convergence Protocol (PDCP) packet count corresponding to a last Radio Link Control (RLC) packet received in sequence, wherein the comparison of the PDCP packet count to the sequence number is performed by determining whether a sequence number of the last PDCP packet received in sequence is less than the PDCP packet count; code for causing a processor to establish communications with a first bearer and a second bearer, wherein the PDCP packet count is associated with the first bearer; code for causing a processor to determine a second PDCP packet count corresponding to a second-to-last RLC packet received in sequence, the second PDCP packet count being associated with the second bearer, wherein comparing the second PDCP packet count to the sequence number is performed by determining whether the sequence number is less than the second PDCP packet count, and Code for causing a processor to detect a lost PDCP packet based on a comparison of the PDCP packet count and the sequence number, wherein the lost PDCP packet is detected if the sequence number is less than the PDCP packet count and the sequence number is less than the second PDCP packet count.

16. The computer-readable medium of claim 15, further comprising code for causing a processor to stop a PDCP reordering timer in response to detecting the lost PDCP packets.

17. The computer-readable medium of claim 15, further comprising code for causing a processor to adjust the sequence number based on the PDCP packet count in response to detecting the lost PDCP packet.

18. A device comprising: means for determining a Packet Data Convergence Protocol, PDCP, packet count corresponding to a last Radio Link Control, RLC, packet received in sequence, wherein the comparison of the PDCP packet count with the sequence number is performed by determining whether a sequence number of the last PDCP packet received in sequence is less than the PDCP packet count; code for establishing communications with a first bearer and a second bearer, wherein the PDCP packet count is associated with the first bearer; code for determining a second PDCP packet count corresponding to a second-to-last RLC packet received in sequence, the second PDCP packet count being associated with the second bearer, wherein comparing the second PDCP packet count to the sequence number is performed by determining whether the sequence number is less than the second PDCP packet count, and means for detecting a lost PDCP packet based on a comparison of the PDCP packet count and the sequence number, wherein the lost PDCP packet is detected if the sequence number is less than the PDCP packet count and the sequence number is less than the second PDCP packet count.

19. The apparatus of claim 18, further comprising means for stopping a PDCP reordering timer in response to detecting the lost PDCP packets.

20. The apparatus of claim 18, further comprising means for adjusting the sequence number based on the PDCP packet count in response to detecting the lost PDCP packet.

Citation Information

Patent Citations

  • Packet data convergence protocol PDCP entity and execution method thereof

    CN104935413A

  • Methods for re-order PDCP packets

    US20160315868A1