Patent Description:
A mobile device may process data for transmission.

<CIT> describes a method for transmitting data from an RLC layer in a radio communication system. <CIT> describes a method and apparatus for discarding a packet data convergence protocol (PDCP) service data unit (SDU).

A method for pre-processing PDCP PDU is disclosed according to claim <NUM>. An apparatus according to claim <NUM> and a program product according to claim <NUM> also perform the method.

As will be appreciated by one skilled in the art, aspects of the embodiments may be embodied as a system, method or program product.

Many of the functional units described in this specification have been labeled as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components.

An identified module of code may, for instance, comprise one or more physical or logical blocks of executable code which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module.

More specific examples (a non-exhaustive list) of the storage device would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

Code for carrying out operations for embodiments may be written in any combination of one or more programming languages including an object-oriented programming language such as Python, Ruby, Java, Smalltalk, C++, or the like, and conventional procedural programming languages, such as the "C" programming language, or the like, and/or machine languages such as assembly languages.

These code may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the schematic flowchart diagrams and/or schematic block diagrams block or blocks.

In this regard, each block in the schematic flowchart diagrams and/or schematic block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions of the code for implementing the specified logical function(s).

<FIG> is a schematic block diagram illustrating one embodiment of a communication system <NUM>. The system <NUM> includes one or more base stations <NUM> and a mobile device <NUM>. The mobile device <NUM> may communicate with the base stations <NUM> on the cells of a cell groups <NUM> associated with the base stations <NUM>. The cell groups <NUM> may be associated with a gNodeB (gNB) base station <NUM>, i.e. New Radio (NR) base station <NUM>, or an enhanced evolved node B (eNB) Long Term Evolution (LTE) base station <NUM>. In one embodiment, a first cell group 105a may be associated with a Master Node and a second cell group 105b may be associated with a Secondary Node. The group of the serving cells associated with the Master Node may be a Master Cell Group (MCG), the group of serving cells associated with the Secondary Node may be a Secondary Cell Group (SCG). The mobile device <NUM> may be a mobile telephone, a machine-type communications (MTC) device, a tablet computer, a laptop computer, and embedded communication devices in automobiles, kiosks, appliances, and the like.

The system <NUM> may be designed for high data transmission rates and low latency. As a result, it may be advantageous to preprocess PDU in various layers to speed data transmission. In one embodiment, the mobile device <NUM> is in communication with the first cell group/first node 105a. In addition, the mobile device <NUM> may be in communication with the second cell group (SCG)/second node 105b. To increase data transmission to the cell groups <NUM>, the mobile device <NUM> may preprocess PDU for transmission to the base stations <NUM>. Unfortunately, superfluous PDU may be generated and transmitted, reducing the efficiency of the mobile device <NUM>. The embodiments described herein limit the preprocessing of PDU to reduce inefficiencies as will be described hereafter.

<FIG> is a schematic block diagram illustrating one alternate embodiment of the communication system <NUM>. In the depicted embodiment, the system <NUM> includes one base station <NUM> in communication with the mobile device <NUM>.

<FIG> is a schematic block diagram illustrating one embodiment of transmission data <NUM>. The transmission data <NUM> maybe organized as a data structure in a memory. In the depicted embodiment, the transmission data <NUM> includes a transmission data size <NUM>, a split bearer configuration indicator <NUM>, a data split threshold <NUM>, a preprocessing threshold <NUM>, a routing mode <NUM>, and a duplicate PDU definition <NUM>.

The transmission data size <NUM> may record the quantity of data that is available for transmission from the mobile device <NUM> to the cell groups <NUM>. The transmission data size <NUM> may be measured in bytes, kilobytes, megabytes, and the like.

The split bearer configuration indicator <NUM> may indicate that the mobile device <NUM> is configured for split bearer data transmission to two or more cell groups <NUM>. The data split threshold <NUM> may indicate a quantity of data that if exceeded, may cause the mobile device <NUM> to communicate the data in a split bearer transmission. In one embodiment, the data split threshold <NUM> is a number of Packet Data Converge Protocol (PDCP) PDU.

The preprocessing threshold <NUM> may specify a maximum quantity of PDCP data that are pre-processed. The preprocessing threshold <NUM> may be calculated based on a reference uplink grant as will be described hereafter.

The routing mode <NUM> may specify a PDU routing method for split bearer transmission. The duplicate PDU definition <NUM> may specify the contents of a duplicate PDU. In one embodiment, the duplicate PDU definition <NUM> specifies that a duplicate PDU be transmitted as an empty PDU that includes only a header and does not include data.

<FIG> is a schematic block diagram illustrating one embodiment of communication data. The communication data maybe organized as a data structure in memory and/or wirelessly transmitted. In the depicted embodiment, the communication data includes a PDU <NUM> and a reference uplink grant <NUM>. In one embodiment, the reference uplink grant <NUM> is configured to the mobile device <NUM>. The preprocessing threshold <NUM> may be calculated from the reference uplink grant <NUM>.

<FIG> is a schematic block diagram illustrating one embodiment of mobile device transmission layers <NUM>. The mobile device transmission layers <NUM> maybe organized as a combination of data structures, registers, and semiconductor hardware. In the depicted embodiment, the layers <NUM> include a PDCP <NUM>, a Radio Link Control (RLC) <NUM>, a MAC for MCG 325a, a MAC for SCG 325b, and a physical (PHY) <NUM> layers. A plurality of PDCP <NUM> and RLC <NUM> may be distributed between an MCG Radio Bearer (RB) <NUM>, a split bearer RB <NUM>, and an SCG RB <NUM>.

A PDCP <NUM> may generate one or more PDU from data that is to be transmitted from the mobile device <NUM> to the cell groups <NUM>. The RLC <NUM> and MAC <NUM> may generate PDU <NUM> from the PDCP PDU. The PHY <NUM> may transmit the PDU <NUM> to a cell group respectively the associated node <NUM>. Data may be communicated via one of the radio bearer, MCG RB <NUM>, split bearer RB <NUM>, and SCG RB <NUM> as will be described hereafter.

When the RLC <NUM> and MAC <NUM> are preprocessing a significant number of PDCP PDU <NUM>, RLC/MAC Packet Data Unit (SDU) may be pre-constructed in the RLC/MAC <NUM> with an RLC/MAC header. However, if too many PDU <NUM> are preprocessed and PDCP SDU are required to be discarded, e.g., due to expiry of the PDCP discard timer, the transmission efficiency of the mobile device <NUM> is degraded since preprocessed PDCP SDUs, e.g., already formed into RLC PDUs, cannot be removed from the transmission queue and will be transmitted. The embodiments limit the number of preprocessed PDU <NUM> thereby ensuring that the discard functionality is effective.

In addition, in the case of a split bearer transmission, the mobile device <NUM> does not know which cell group <NUM> to begin transmitting data to until an uplink grant is received. As a result, the RLC <NUM>/MAC <NUM> does not know which cell group <NUM> PDU <NUM> should be pre-processed for. The embodiments reduce and/or eliminate the number of PDU <NUM> that are preprocessed prior to receiving an uplink grant.

<FIG> is a schematic block diagram illustrating one alternate embodiment of mobile device transmission layers <NUM>. In the depicted embodiment, the layers <NUM> include a signaling radio bearer (SRB) <NUM> and one or more DRB <NUM>. Each of the SRB <NUM> and the DRB <NUM> may include a PDCP <NUM> and RLC <NUM> in communication with a MAC <NUM>.

<FIG> is a schematic block diagram illustrating one embodiment of a transceiver <NUM>. The transceiver <NUM> may be the mobile device <NUM>. Alternatively, the transceiver <NUM> may be the cell group <NUM>. In the depicted embodiment, the transceiver <NUM> includes a processor <NUM>, a memory <NUM>, communication hardware <NUM>, a transmitter <NUM>, and a receiver <NUM>. The memory <NUM> may be a semiconductor storage device, an optical storage device, micromechanical storage device, a magnetic storage device, or combinations thereof. The memory <NUM> may store code. The processor <NUM> may execute the code. The communication hardware <NUM> may direct data within the mobile device <NUM>. The transmitter <NUM> may transmit PDU <NUM> to a cell group <NUM> and/or mobile device <NUM>. The receiver <NUM> may receive PDU <NUM> from a cell group <NUM> and/or mobile device <NUM>.

<FIG> is a schematic flow chart diagram illustrating one embodiment of a PDU preprocessing method <NUM>. The method <NUM> may pre-process PDU <NUM>. The method <NUM> may be performed by the mobile device <NUM> and/or the processor <NUM> of the mobile device <NUM>.

The method <NUM> starts, and in one embodiment, the processor <NUM> receives <NUM> a configuration of the reference uplink grant <NUM>. The reference uplink grant <NUM> may be signaled from the base station <NUM>. In one embodiment the reference uplink grant is signaled to the processor <NUM> during the initial attach procedure. The base station <NUM> may update the reference uplink grant <NUM>. In one embodiment, the base station <NUM> may update the reference uplink grant <NUM> by using a radio resource control procedure such as a RRC reconfiguration procedure. In certain embodiments, the reference uplink grant <NUM> is hardcoded in the specification.

The reference uplink grant <NUM> determines the amount of data in bits or bytes or the like, e.g., transport block size and the like that the processor <NUM> may be capable of generating and transmitting on the uplink within a defined processing time when an uplink grant is received from a base station <NUM>. In one embodiment, the reference uplink grant <NUM> is determined as the maximum expected uplink (UL) grant size considering the mobile device capabilities. The mobile device capabilities may include Multiple Input Multiple Output (MIMO) capabilities, supported numerologies, and the like as well as restrictions on the network side, e.g., maximum bandwidth, and the like.

The processor <NUM> may calculate <NUM>, based on the reference uplink grant, the required amount of preprocessing for the one or more configured radio bearer <NUM>/<NUM>/<NUM>/<NUM> which is necessary in order to generate the transport block according to the reference uplink grant. The processor <NUM> may calculate <NUM> the preprocessing threshold <NUM> of PDU <NUM> for preprocessing PDU <NUM> by the RLC <NUM>/MAC <NUM> for each of one or more configured radio bearers <NUM>/<NUM>/<NUM>/<NUM>. The processor <NUM> shall preprocess data for only one potential uplink transmission. The processor <NUM> may calculate <NUM> the preprocessing threshold <NUM> for the configured one or multiple configured radio bearer <NUM>/<NUM>/<NUM>/<NUM> by performing the logical channel prioritization (LCP) procedure with the UL reference grant as input.

The processor <NUM> may pre-route <NUM> PDU <NUM> to one or more RLC <NUM>/MAC <NUM>. The processor <NUM> may determine <NUM> if the number of PDU <NUM> that are pre-routed <NUM> to the RLC <NUM>/MAC <NUM> is not up to the pre-routing threshold <NUM>. If the number of PDU <NUM> is not up to the pre-routing threshold <NUM>, the processor <NUM> may continue to pre-route <NUM> PDU <NUM>.

The PDU <NUM> may be pre-routed <NUM> to two or more cell groups <NUM> in response to detecting a split bearer configuration indicated by the split bearer configuration indicator <NUM> and determining that the data to be transmitted exceeds the data split threshold <NUM>. Alternatively, the PDU <NUM> may be pre-routed <NUM> to a single cell group <NUM> in response to detecting no split bearer configuration. In one embodiment, the PDU <NUM> are pre-routed <NUM> to a single cell group <NUM> in response to detecting the split bearer configuration and determining that the data to be transmit does not exceed the data split threshold <NUM>.

If the number of PDU <NUM> that are pre-routed is up to the preprocessing threshold <NUM>, the RLC <NUM>/MAC <NUM> may preprocess <NUM> the PDU <NUM> for transmission and the method <NUM> ends.

<FIG> is a schematic flow chart diagram illustrating one embodiment of a PDU discard method <NUM>. The method <NUM> may discard PDU <NUM> that were preprocessed for transmission. The method <NUM> may be performed by the mobile device <NUM> and/or the processor <NUM> of the mobile device <NUM>.

The method <NUM> starts, and in one embodiment, the processor <NUM> determines <NUM> to discard a first PDCP PDU <NUM>. The processor <NUM> may determine <NUM> to discard the first PDCP PDU <NUM> based on expiry of PDCP discard timer. The first PDCP PDU <NUM> may be assigned an RLC header and formed to an RLC PDU <NUM>. In response to determining <NUM> to discard the first PDU <NUM>, the PDU <NUM> may be transmitted <NUM> as an empty RLC PDU <NUM> and the method <NUM> ends. The empty RLC PDU <NUM> may include some indication that there is no data payload in the RCL PDU <NUM>. In one embodiment, the RLC PDU <NUM> contains only header information.

<FIG> is a schematic flow chart diagram illustrating one alternate embodiment of a PDU discard method <NUM>. The method <NUM> discards PDU <NUM> that were preprocessed for transmission. The method <NUM> may be performed by the mobile device <NUM> and/or the processor <NUM> of the mobile device <NUM>.

The method <NUM> starts, and in one embodiment, the processor <NUM> determines <NUM> to discard a first PDCP PDU <NUM>. The determination <NUM> to discard the first PDCP PDU <NUM> may be based on expiry of PDCP discard timer. The first PDCP PDU <NUM> is assigned an RLC header and formed to an RLC PDU. In response to determining <NUM> to discard the first PDU <NUM>, the processor <NUM> discards <NUM> the first PDCP PDU <NUM>. In addition, the processor <NUM> reassigns <NUM> sequence numbers for subsequent RLC PDU <NUM> and the method <NUM> ends.

The embodiments use a configured reference uplink grant <NUM> and calculate the preprocessing threshold <NUM> for pre-processing PDU <NUM>. In addition, the embodiments may only pre-route PDU <NUM> up to the preprocessing threshold <NUM>. As a result, a processing power friendly implementation for the transmitter <NUM> in the mobile device <NUM> is ensured while PDCP discard functionality is still effective. Further embodiments discard PDCP PDUs <NUM> even though the PDCP PDU <NUM> has been formed into a RLC PDU <NUM> with a sequence number. As a result, the mobile device <NUM> does not transmit the discarded PDCP PDU <NUM>, increasing the efficiency of transmission.

Claim 1:
A method (<NUM>) for pre-processing Packet Data Converge Protocol, PDCP, Protocol Data Units, PDUs, prior to receiving an uplink grant, the method comprising:
pre-routing, from a PDCP entity to a Radio Link Control, RLC, entity, a set of PDCP PDUs, of a radio bearer;
assigning an RLC header to a PDCP PDU of the set of PDCP PDUs to form an RLC PDU;
discarding (<NUM>), at the RLC entity, the PDCP PDU which was assigned the RLC header; and
reassigning (<NUM>) a sequence number for another RLC PDU subsequent to the RLC PDU formed from the discarded PDCP PDU.