Patent Description:
The present disclosure relates to a wireless network and, in particular, to Radio Resource Control (RRC) segmentation in a wireless network.

Radio Resource Control (RRC) is the protocol used in Third Generation Partnership Project (3GPP) systems to control the configuration of the User Equipment (UE), and hence the UE's operation. This protocol comprises messages which are encoded according to Abstract Syntax Notation One (ASN. The network node sends ASN. <NUM>-encoded messages comprising configuration parameters to the UE, and the UE decodes these messages and applies the configurations. In some cases these configurations may be very complicated and hence the messages used to describe the configuration become very complex and hence large in size.

There are limitations in the layers below the RRC layer in terms of maximum size of packets. This limit is <NUM> kilobytes (kB) in New Radio (NR) and <NUM> kB in Long Term Evolution (LTE). The size of the RRC messages may exceed these limitations and, hence, the limitations become a limitation on how complicated or advanced the configurations provided from the network to the UE can be.

To circumvent these limitations, it is discussed to introduce segmentation of the RRC messages such that a large RRC message can be split up and sent in smaller parts, where each part does not exceed the limitations of the lower layers. If in NR the RRC message which the network intends to send to the UE is, say <NUM> kB, the network could split this into three segments and send the segments individually to the UE.

In order for the UE to know when all segments of an RRC message have been received, the network indicates with a flag for each segment if that segment is the last segment of the RRC message. When the UE receives the last segment of the RRC message, the UE can combine the segments to start decoding the RRC message.

It remains open for now whether the segments have indices which indicate which number this segment has.

The document <CIT> discloses processing a received communication which includes periodic transmissions of a set of information segments includes a first transmission of the set of information segments which is received and processed to identify each of the segments as valid or invalid. The valid segments of the first set are then stored. When all segments of the set are not valid and stored, subsequent transmissions of the set of information segments are transmitted, and only those segments not previously identified as valid stored are received and processed to identify whether each such retransmitted segment is valid or invalid. The valid segments so identified are then stored. Subsequent transmissions are repeatedly received until all segments of the set have been identified as valid and stored.

Devices and methods are defined by the appended set of claims.

Core Network Node: As used herein, a "core network node" is any type of node in a core network or any node that implements a core network function. Some examples of a core network node include, e.g., a Mobility Management Entity (MME), a Packet Data Network Gateway (P-GW), a Service Capability Exposure Function (SCEF), a Home Subscriber Server (HSS), or the like. Some other examples of a core network node include a node implementing a Access and Mobility Function (AMF), a UPF, a Session Management Function (SMF), an Authentication Server Function (AUSF), a Network Slice Selection Function (NSSF), a Network Exposure Function (NEF), a Network Function (NF) Repository Function (NRF), a Policy Control Function (PCF), a Unified Data Management (UDM), or the like.

Wireless Communication Device (WCD): One type of communication device is a wireless communication device, which may be any type of wireless device that has access to (i.e., is served by) a wireless network (e.g., a cellular network).

There currently exist certain challenge(s) with respect to Radio Resource Control (RRC) segmentation. In case the UE's radio connection with the network becomes poor, the UE detects so called Radio Link Failure (RLF). In this case, the UE will perform some actions to regain the connection to the network. For example, the UE will trigger an RRC connection reestablishment procedure to attempt to reestablish the connection with the network.

In case the UE has received some, but not all, segments of a segmented RRC message, the UE will keep some of the segments in a memory in order to assemble with the remaining segments as soon as they arrive. If the UE's radio connection with the network fails, for example like described above, while the UE has received some, but not all, segments of an RRC message, these segments would remain in the UE's memory. If the UE at a later point in time regains the connection with the network, the network may, after the connection has been regained, send another segmented RRC message to the UE. In this case, the UE may combine the segments received before the connection failed with the segments received after the connection was regained, but these segments may not necessarily be of the same RRC message. If they are of different RRC messages, the UE would assemble the segments which are from different messages and decoding of the message would fail, which will cause the UE's connection towards the network to fail.

Certain aspects of the present disclosure and their embodiments may provide solutions to the aforementioned or other challenges. Systems and methods are disclosed herein that enable a wireless communication device (WCD) to perform a recovery action(s) when a failure occurs during reception of a segmented Radio Resource Control (RRC) message. In some embodiments, a WCD determines that an error has occurred (e.g., a RLF) after the WCD has received at least one but not all segments of a segmented RRC message. Upon detecting the error, the WCD performs a recovery action(s). For example, the WCD discards the received segment(s) of the segmented RRC message.

In some embodiments, a WCD (e.g., a UE) determines that it has received at least one but not all segments of a segmented RRC message while an error happens, and then the WCD discards the received segments of the RRC message.

Certain embodiments may provide one or more of the following technical advantage(s). Embodiments of the present disclosure may avoid the situation where the WCD combines segments of a first RRC message with segments of a second RRC message and hence avoid errors due to such combining.

<FIG> illustrates one example of a cellular communications system <NUM> in which embodiments of the present disclosure may be implemented. In the embodiments described herein, the cellular communications system <NUM> is, e.g., a <NUM> system (5GS) including a Next Generation RAN (NG-RAN) (also referred to herein as a NR RAN), an Evolved Packet System (EPS) including an LTE RAN, or the like. In this example, the RAN includes base stations <NUM>-<NUM> and <NUM>-<NUM>, which in the NG-RAN are referred to as gNBs (NR base station) or ng-eNBs (LTE RAN nodes connected to 5GC) and in the LTE RAN are referred to as eNBs, controlling corresponding (macro) cells <NUM>-<NUM> and <NUM>-<NUM>. The base stations <NUM>-<NUM> and <NUM>-<NUM> are generally referred to herein collectively as base stations <NUM> and individually as base station <NUM>. Likewise, the (macro) cells <NUM>-<NUM> and <NUM>-<NUM> are generally referred to herein collectively as (macro) cells <NUM> and individually as (macro) cell <NUM>. The RAN may also include a number of low power nodes <NUM>-<NUM> through <NUM>-<NUM> controlling corresponding small cells <NUM>-<NUM> through <NUM>-<NUM>. The low power nodes <NUM>-<NUM> through <NUM>-<NUM> can be small base stations (such as pico or femto base stations) or Remote Radio Heads (RRHs), or the like. Notably, while not illustrated, one or more of the small cells <NUM>-<NUM> through <NUM>-<NUM> may alternatively be provided by the base stations <NUM>. The low power nodes <NUM>-<NUM> through <NUM>-<NUM> are generally referred to herein collectively as low power nodes <NUM> and individually as low power node <NUM>. Likewise, the small cells <NUM>-<NUM> through <NUM>-<NUM> are generally referred to herein collectively as small cells <NUM> and individually as small cell <NUM>. The cellular communications system <NUM> also includes a core network <NUM>, which in the 5GS is referred to as the <NUM> core (5GC). The base stations <NUM> (and optionally the low power nodes <NUM>) are connected to the core network <NUM>.

The base stations <NUM> and the low power nodes <NUM> provide service to wireless communication devices (WCDs) <NUM>-<NUM> through <NUM>-<NUM> in the corresponding cells <NUM> and <NUM>. The WCDs <NUM>-<NUM> through <NUM>-<NUM> are generally referred to herein collectively as WCDs <NUM> and individually as WCD <NUM>. In the following description, the WCDs <NUM> are oftentimes UEs, but the present disclosure is not limited thereto.

<FIG> is a flow chart that illustrates the operation of a WCD <NUM> (e.g., a UE) in accordance with some embodiments of the present disclosure. Optional steps are represented with dashed lines/boxes. As illustrated, the WCD <NUM> receives one or more segments (but not all segments) of a segmented RRC message (step <NUM>). The WCD <NUM> determines that an error (e.g., RLF) has occurred before a last segment of the segmented RRC message has been received by the WCD <NUM> (step <NUM>). More specifically, in one embodiment, in order to determine that an error (e.g., RLF) has occurred before a last segment of the segmented RRC message has been received by the WCD <NUM>, the WCD <NUM> determines that not all segments of the segmented RRC message have been received (step 202A) and determines that an error (e.g., RLF) has occurred (step 202B).

In some embodiments, the WCD <NUM> determines that not all segments of the segmented RRC message have been received by determining that the segment(s) received in step <NUM> is(are) the first segment(s), but not all segments, of a segmented RRC message. More generally, the WCD <NUM> determines that the segment(s) of the segmented RRC message received in step <NUM> are not all of the segments of the segmented RRC message.

In some embodiments, the WCD <NUM> may determine this by first determining that it has received (segment(s) of) an RRC message that is of a type of RRC message that can carry segments.

In some embodiments, the WCD <NUM> determines that the WCD <NUM> has not received all segments of the segmented RRC message using any desired mechanism. For example, in one embodiment, the WCD <NUM> determines that it has not received all segments of the segmented RRC message by determining that the WCD <NUM> has not received an indication for a segment that indicates that that segment is the last segment of the segmented RRC message. Hence, the WCD <NUM> is expecting to receive more segments of the message.

Note that once all segments of a message have been received, the WCD <NUM> may e.g., consider that it has not received a first segment of a segmented RRC message. It is assumed that the WCD <NUM> will, when it has received all segments of a message, assemble the message and apply it, but it would no longer consider itself to have received a first segment of a segmented RRC message.

In step <NUM>, the WCD <NUM> determines that an error has occurred (or been triggered) before a last segment of the segmented RRC message has been received (i.e., while the WCD <NUM> still expects more segment(s) of the segmented RRC message) as follows. In some embodiment, the failure may be, e.g.:.

Upon determining that an error has occurred before a last segment of the segmented RRC message has been received by the WCD <NUM>, the WCD <NUM> performs one or more recovery action(s) (i.e., one or more recovery mechanism(s)) (step <NUM>). Such a recovery mechanism is performed in order to avoid that the WCD <NUM> applies some segments received prior to the failure, with segments which are received after the failure. One example of a recovery mechanism is that the WCD <NUM> discards the segments received so far.

Note that the WCD <NUM> may not necessarily know how many segments there are in total but it knows that it has so far received, e.g., <NUM> segments and those <NUM> segments are not all segments of the segmented message.

When it here says "discard" segments, it may mean one or more of the following: that the WCD <NUM> considers them invalid, that the WCD <NUM> erases them from a memory, that the WCD <NUM> considers the memory wherein the segments are stored. Regardless of which action(s) the UE takes, the WCD <NUM> refrains from using the segment in a later segmented RRC message assembly procedure.

Another example of a recovery mechanism is that the WCD <NUM> determines the segments as no longer valid or applicable, etc. If the WCD <NUM> at a later point receives segments from the network, the WCD <NUM> would not combine those (new) segments with segments which are not considered valid or applicable.

Below is illustrated one example implementation of some aspects of the process performed by the WCD <NUM> described above. This example implementation is illustrated as a change compared to current specification, where changes are shown with underlined text.

In another set of embodiments, a WCD <NUM> (e.g., UE) will upon reception of a segment of a message determine if the segment is the first segment of the message. This may be determined based on a number indicating which segment number this segment is. If the WCD <NUM> determines that this segment is the first segment of a message, the UE discards, or in some other way consider invalid, any segments of the previous message.

For example, if the WCD <NUM> has received three segments so far and they have had, in this order, index number <NUM>, <NUM>, and <NUM>. And if the WCD <NUM> then receives another segment with number <NUM>, the WCD <NUM> may determine this segment to be of a new message and the WCD <NUM> would discard the previous segments, i.e. the previous number <NUM>, <NUM>, and <NUM>. This has the benefit that if the WCD <NUM> received some, but not all, segments of a message before a connection failed, the WCD <NUM> would not attempt to combine those segments with segments of a new message which is being sent to the WCD <NUM> after the connection was regained.

<FIG> is a flow chart that illustrates the operation of a WCD <NUM> (e.g., a UE) in accordance with at least some aspect of the embodiments above. Optional steps are represented with dashed lines/boxes. As illustrated, the WCD <NUM> receives one or more segments, but not all segments, of a first segmented RRC message (step <NUM>). For example, these segments may consist of three segments having index numbers <NUM>, <NUM>, and <NUM>, respectively. The WCD <NUM> receives a first segment of a second segmented RRC message (step <NUM>). For example, this segment may have an index of <NUM>, which indicates that it is a first segment of a segmented RRC message (i.e., the second segmented RRC message). Upon receiving the first segment of the second segmented RRC message, the WCD <NUM> discards the received segment(s) of the first RRC message.

The WCD <NUM> may receive one or more remaining segments of the second segmented RRC message (step <NUM>). The WCD <NUM> may assemble the received segments of the second segmented RRC message (step <NUM>). The WCD <NUM> may then perform one or more action(s) in accordance with the assembled RRC message (step <NUM>).

Now, a description of some network related embodiments will be provided. In one embodiment, the network (e.g., a network node such as, e.g., a base station <NUM>) determines that a WCD <NUM> (e.g., a UE) has regained connection towards the network after an RLF event or similar failure. The network further determines if the network has sent at least one segment of a segmented RRC message to the WCD <NUM> prior to the failure (e.g., RLF event) and that not all segments of the segmented RRC message have been successfully sent to the WCD <NUM> and that the WCD <NUM> has acknowledged the reception of those segments.

Acknowledgement of successful reception of the segments may be considered acknowledgement indications on e.g. HARQ-level by a HARQ ACK, on RLC-level by a RLC ACK, or on RRC level (by an RRCReconfigurationComplete message).

If the network has sent RRC segments to the WCD <NUM> and the WCD <NUM> triggers RLF, the methods above describe how the WCD <NUM> recovers from the situation by e.g. discarding the so-far-received RRC segments. The network (e.g., a network node such as, e.g., a base station <NUM>) would, if it determines that it has sent RRC segments to a WCD <NUM> but the WCD <NUM> has not received all of the segments, determine that the transmission of the segmented RRC message has failed and hence assume that the WCD <NUM> has not applied it, i.e. not even those segments which the WCD <NUM> has received successfully, if any.

The network then assumes that the configuration of the WCD <NUM> is as it was without having applied the segmented RRC message. This configuration will here be referred to as the "original configuration" of the WCD <NUM>.

If, or when, the network later wants to reconfigure the UE it would do those reconfigurations as a modification towards the original configuration of the WCD <NUM>, not the configuration the WCD <NUM> would have had in case the WCD <NUM> had applied the segmented RRC message.

Further, if the WCD <NUM> regains the connection but this time the WCD <NUM> gets connected to another network cell or node than it was connected to prior to the RLF, the new cell (referred to as the "target node") would request the configuration of the WCD <NUM> (also known as the context of the WCD <NUM>) from the node to which the WCD <NUM> was connected prior to the RLF (referred to as the "source node"). The source node would, if it determines that the WCD <NUM> has not received all segments of an RRC message, consider the configuration of the WCD <NUM>, or "context" of the WCD <NUM>, to be the one without having applied the segmented RRC message.

If the network determines when the WCD <NUM> has regained the connection with the network, that the wanted WCD <NUM> configuration is the one which the segmented RRC message was intended to achieve, the network may resent the segmented RRC message to the WCD <NUM>.

<FIG> is a flow chart that illustrates the operation of a network node (e.g., a base station <NUM>) in accordance with at least some aspect of the embodiments above. Optional steps are represented with dashed lines/boxes. As illustrated, the network node determines that a WCD <NUM> (e.g., a UE) has regained connection towards the network after a failure (e.g., after a RLF) (step <NUM>). The network node also determines that at least one segment of a segmented RRC message was sent to the WCD <NUM> prior to the failure and that no all segments of the RRC message were successfully received by the WCD <NUM>, as described above (step <NUM>). Upon determining that at least one segment of a segmented RRC message was sent to the WCD <NUM> prior to the failure and that no all segments of the RRC message were successfully received by the WCD <NUM>, the network node performs one or more actions based on an assumption that the WCD <NUM> has not applied the segmented RRC message, as described above (step <NUM>). For example, the network node may perform one or more actions based on an original configuration of the WCD <NUM> (i.e., a configuration of the WCD <NUM> prior to the segmented RRC message). As another example, the network node may determine a new configuration of the WCD <NUM> as a modification to the original configuration of the WCD <NUM>, instead of as a modification of the configuration of the WCD <NUM> if the segmented RRC message had been applied by the WCD <NUM>. As another example, the network node may resend the segmented RRC message to the WCD <NUM>.

RRC may be implemented in a cloud environment and the embodiments described herein for an RRC entity (mainly in the WCD <NUM> but the network may need to take corresponding actions), hence this may be implemented in a cloud environment.

<FIG> is a schematic block diagram of a network node <NUM> according to some embodiments of the present disclosure. Optional features are represented by dashed boxes. The network node <NUM> may be, for example, a base station <NUM> or <NUM> or a network node that implements all or part of the functionality of the base station <NUM>, eNB, or gNB described herein. As illustrated, the network node <NUM> includes a control system <NUM> that includes one or more processors <NUM> (e.g., Central Processing Units (CPUs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), and/or the like), memory <NUM>, and a network interface <NUM>. The one or more processors <NUM> are also referred to herein as processing circuitry. In addition, if the network node <NUM> is a radio access node, the network node <NUM> may include one or more radio units <NUM> that each includes one or more transmitters <NUM> and one or more receivers <NUM> coupled to one or more antennas <NUM>. The radio units <NUM> may be referred to or be part of radio interface circuitry. In some embodiments, the radio unit(s) <NUM> is external to the control system <NUM> and connected to the control system <NUM> via, e.g., a wired connection (e.g., an optical cable). However, in some other embodiments, the radio unit(s) <NUM> and potentially the antenna(s) <NUM> are integrated together with the control system <NUM>. The one or more processors <NUM> operate to provide one or more functions of a network node <NUM> as described herein (e.g., one or more functions of a network node described above, e.g., with respect to <FIG>). In some embodiments, the function(s) are implemented in software that is stored, e.g., in the memory <NUM> and executed by the one or more processors <NUM>.

<FIG> is a schematic block diagram that illustrates a virtualized embodiment of the network node <NUM> according to some embodiments of the present disclosure. As used herein, a "virtualized" network node is an implementation of the network node <NUM> in which at least a portion of the functionality of the network node <NUM> is implemented as a virtual component(s) (e.g., via a virtual machine(s) executing on a physical processing node(s) in a network(s)). As illustrated, in this example, the network node <NUM> includes one or more processing nodes <NUM> coupled to or included as part of a network(s) <NUM>. Each processing node <NUM> includes one or more processors <NUM> (e.g., CPUs, ASICs, FPGAs, and/or the like), memory <NUM>, and a network interface <NUM>. If the network node <NUM> is a radio access node, the network node <NUM> may include the control system <NUM> and/or the one or more radio units <NUM>, as described above. If present, the control system <NUM> or the radio unit(s) are connected to the processing node(s) <NUM> via the network <NUM>.

In this example, functions <NUM> of the network node <NUM> described herein (e.g., one or more functions of a network node described above, e.g., with respect to <FIG>) are implemented at the one or more processing nodes <NUM> or distributed across the one or more processing nodes <NUM> and the control system <NUM> and/or the radio unit(s) <NUM> in any desired manner. In some particular embodiments, some or all of the functions <NUM> of the network node <NUM> described herein are implemented as virtual components executed by one or more virtual machines implemented in a virtual environment(s) hosted by the processing node(s) <NUM>.

In some embodiments, a computer program including instructions which, when executed by at least one processor, causes the at least one processor to carry out the functionality of the network node <NUM> (e.g., one or more functions of a network node described above, e.g., with respect to <FIG>) or a node (e.g., a processing node <NUM>) implementing one or more of the functions <NUM> of the network node <NUM> in a virtual environment according to any of the embodiments described herein is provided.

<FIG> is a schematic block diagram of the network node <NUM> according to some other embodiments of the present disclosure. The network node <NUM> includes one or more modules <NUM>, each of which is implemented in software. The module(s) <NUM> provide the functionality of the network node <NUM> described herein (e.g., one or more functions of a network node described above, e.g., with respect to <FIG>).

<FIG> is a schematic block diagram of a wireless communication device <NUM> according to some embodiments of the present disclosure. As illustrated, the wireless communication device <NUM> includes one or more processors <NUM> (e.g., CPUs, ASICs, FPGAs, and/or the like), memory <NUM>, and one or more transceivers <NUM> each including one or more transmitters <NUM> and one or more receivers <NUM> coupled to one or more antennas <NUM>. The transceiver(s) <NUM> includes radio-front end circuitry connected to the antenna(s) <NUM> that is configured to condition signals communicated between the antenna(s) <NUM> and the processor(s) <NUM>, as will be appreciated by on of ordinary skill in the art. The processors <NUM> are also referred to herein as processing circuitry. The transceivers <NUM> are also referred to herein as radio circuitry. In some embodiments, the functionality of the wireless communication device <NUM> described above may be fully or partially implemented in software that is, e.g., stored in the memory <NUM> and executed by the processor(s) <NUM>. Note that the wireless communication device <NUM> may include additional components not illustrated in <FIG> such as, e.g., one or more user interface components (e.g., an input/output interface including a display, buttons, a touch screen, a microphone, a speaker(s), and/or the like and/or any other components for allowing input of information into the wireless communication device <NUM> and/or allowing output of information from the wireless communication device <NUM>), a power supply (e.g., a battery and associated power circuitry), etc..

Claim 1:
A method performed by a wireless communication device (<NUM>), the method comprising:
receiving (<NUM>) one or more first segments, but not a last segment, of a segmented Radio Resource Control, RRC, message, and;
discarding the one or more first segments of the segmented Radio Resource Control, RRC, message if a Radio Link Failure, RLF, occurs.