Integrity protection of radio resource control message
Patent Information
- Application Number
- JP2024114921
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-11-11
- Filing Date
- 2024-07-18
- Publication Date
- 2025-05-12
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing wireless communication networks face challenges in ensuring integrity protection of Radio Resource Control (RRC) messages during connection resumption, particularly in New Radio (NR) systems, where backward compatibility issues arise when additional input parameters are used for generating security tokens, leading to potential tampering and replay attacks.
A method for generating Message Authentication Codes (MACs) for integrity protection of RRC messages, where a wireless device determines the generation method based on signaling indicating whether to use a first or second set of parameters, which may include additional inputs like cause fields and C-RNTI, ensuring compatibility with both legacy and advanced network nodes.
Enhances the security and robustness of RRC connection resumption by preventing tampering and replay attacks, while maintaining compatibility with various network nodes, thus improving the integrity and efficiency of wireless communication systems.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a method, a wireless device and a network node for integrity protection of radio resource control messages. A computer program, a medium and a communication system are also disclosed. [Background technology]
[0002] In legacy wireless communication networks, such as those based on Long Term Evolution (LTE), wireless devices release connections to access networks (e.g., Radio Resource Control (RRC) connections) when they have not been actively using them for a while. The connections between the access network and the core network are also released, making the resources that those connections consumed available for other devices. However, when a device completely releases a connection with an access network, it discards the context for that connection, which means that in order to later reconnect to the network, the device must completely renegotiate the context.
[0003] In modern wireless communication networks, such as those based on New Radio (NR), a wireless device only needs to suspend its connection to the access network for relatively short periods of inactivity. When a connection is simply suspended, the device retains the context for that connection and can use it to more quickly resume the connection when needed. The connection between the access network and the core network maintains state. If the period of inactivity lasts longer than a short period of time, the device can release the connection to the access network.
[0004] To resume a suspended connection, the wireless device sends a request to the network, e.g., to a target wireless network node, to resume the connection. To protect against a malicious third party tampering with the request, the wireless device computes a security token, e.g., in the form of a Message Authentication Code-Integrity (MAC-I), to integrity protect the request. The security token is traditionally a generated token based on certain input parameters such as keys, bearer IDs, etc.
[0005] The integrity protection provided by the security token could be improved by generating the security token based on additional input parameters. However, this has proven difficult to do without causing backward compatibility issues. For example, if the wireless device were to generate the security token using these additional input parameters, the resume procedure would fail if the target of the resume request was a wireless network node that did not support generating security tokens based on those additional parameters.
[0006] The 3GPP (3rd Generation Partnership Project) (registered trademark) document 3GPP TR 33.809 V0.7.0 mentions security concerns regarding the RRC message RRCResumeRequest message in 3GPP 5G systems, assuming a man-in-the-middle (MiTM) attack by a fake base station, as a key issue. Summary of the Invention
[0007] It is an object of the present invention to enable enhanced integrity protection in wireless networks.
[0008] A first aspect of the present invention relates to a method performed by a wireless device for use in a wireless communication system, the method comprising receiving signaling indicating how the wireless device should generate a Message Authentication Code (MAC) for integrity protection of a Radio Resource Control (RRC) message requesting resumption of an RRC connection, generating a MAC in accordance with the signaling, and transmitting the RRC message and the generated MAC.
[0009] In one embodiment of the first aspect, a first method of generating a MAC is inputting a first set of parameters into an integrity algorithm and a second method of generating a MAC is inputting a second set of parameters into the same or a different integrity algorithm, the first set of parameters being a subset of the second set of parameters, and the signaling indicates whether the wireless device uses the first method or the second method to generate the MAC, or that the wireless device uses the second method to generate the MAC.
[0010] According to an embodiment of the first aspect, the signalling indicates whether or not the wireless device shall generate a MAC as a function of one or more of a cause field indicating the cause for requesting resumption of the RRC connection and a Cell Radio Network Temporary Identifier C-RNTI.
[0011] A method according to a first aspect can include generating a Packet Data Convergence Protocol (PDCP) packet carrying an RRC message and including a MAC in a header.
[0012] The method according to the first aspect can include receiving an RRC Release message indicating that the wireless device should release or suspend the RRC connection, the signaling being included in the RRC Release message.
[0013] In an embodiment of the first aspect, the method comprises receiving a Non-Access Stratum (NAS) message, wherein the signaling is included in the NAS message.
[0014] In an embodiment of the first aspect, the signaling is received from a network node indicating how a wireless device generates a MAC for integrity protection of an RRC message requesting resumption of an RRC connection when the network node is the source or target of the resumption.
[0015] In an embodiment of the first aspect, the signaling indicates how the wireless device generates a MAC for integrity protection of an RRC message requesting resumption of an RRC connection to a given target network node or to a given target cell.
[0016] In an embodiment of the first aspect, the signaling indicates how a wireless device generates a MAC for integrity protection of an RRC message requesting resumption of a previously established RRC connection with a given source network node or a given source cell.
[0017] A method according to a first aspect may include generating an RRC message for a given target network node or a given target cell to request resumption of a previously established RRC connection with the given target network node or the given target cell, determining a manner in which a wireless device generates a MAC for integrity protection of the generated RRC message based at least in part on received signaling, generating a MAC for integrity protection of the generated RRC message in accordance with the determination, and transmitting the RRC message and the generated MAC, where determining may include determining a source method and a target method based at least in part on the received signaling, where the source method is a manner in which the wireless device generates a MAC for the given source network node or the given source cell and the target method is a manner in which the wireless device generates a MAC for the particular target network node or the particular target cell, and further determining a manner in which the wireless device generates a MAC for integrity protection of the generated RRC message based on the source method and the target method. According to one embodiment, a first method of generating a MAC is inputting a first set of parameters into an integrity algorithm, and a second method of generating a MAC is inputting a second set of parameters into the integrity algorithm, the second set of parameters including the first set of parameters as well as one or more additional parameters, and said determining includes determining to generate the MAC using the second method only if both the source method and the target method are each the second method.
[0018] A method according to a first aspect may include transmitting signaling from a wireless device indicating how the wireless device has generated, is generating, or is capable of generating a MAC for integrity protection of an RRC message requesting resumption of an RRC connection.
[0019] A second aspect of the invention relates to a method performed by a wireless device for use in a wireless communication system, the method comprising transmitting signaling from the wireless device indicating how the wireless device has generated, will generate or can generate a MAC for integrity protection of an RRC message requesting resumption of an RRC connection, in one embodiment the signaling indicates which parameters the wireless device has input, will input or can input into an integrity algorithm to generate the MAC.
[0020] An embodiment of the method according to the second aspect includes generating a PDCP packet carrying an RRC message and including a MAC in a header of the PDCP packet.
[0021] An embodiment of the method according to the second aspect comprises transmitting an RRC message and the generated MAC. The transmitted signaling is included in the transmitted RRC message.
[0022] In an embodiment of the method according to the second aspect, the transmitted signalling is capability signalling indicating how the wireless device is capable of generating a MAC for integrity protection of an RRC message requesting resumption of the RRC connection.
[0023] In an embodiment of the first and second aspect, the signaling indicates that the wireless device generates a MAC using the entire RRCResumeRequest message as input to the integrity algorithm.
[0024] A third aspect of the present invention relates to a method performed by a network node for use in a wireless communication system, the method comprising transmitting signalling from the network node to a wireless device indicating how the wireless device should generate a MAC for integrity protection of an RRC message requesting resumption of an RRC connection.
[0025] In an embodiment of the third aspect, the signaling indicates how the wireless device generates a MAC for integrity protection of an RRC message requesting resumption of an RRC connection when a network node is the source or target of the resumption.
[0026] In an embodiment of the third aspect, the signaling indicates how the wireless device generates a MAC for integrity protection of an RRC message requesting a specific target network node or a specific target cell to resume an RRC connection.
[0027] In an embodiment of the third aspect, the signaling indicates how the wireless device generates a MAC for integrity protection of an RRC message requesting resumption of a previously established RRC connection with a particular source network node or a particular source cell.
[0028] An embodiment of the method according to the third aspect comprises receiving signaling from a wireless device indicating how the wireless device has generated, is generating or is capable of generating a MAC for integrity protection of an RRC message requesting resumption of an RRC connection.
[0029] An embodiment of a method according to the third aspect comprises receiving an RRC message and a MAC.
[0030] In one embodiment, the method according to the third aspect comprises receiving a PDCP packet carrying an RRC message and including a MAC in a header of the PDCP packet.
[0031] In one embodiment the method according to the third aspect comprises the wireless device sending an RRC Release message indicating that the RRC connection should be released or suspended, the signalling being included in the RRC Release message.
[0032] In one embodiment the method according to the third aspect comprises transmitting an RRC message to the wireless device while the RRC connection is established or during a procedure for establishing the RRC connection, the signalling being included in the transmitted RRC message.
[0033] In one embodiment, the method according to the third aspect comprises transmitting a NAS message to the wireless terminal, the signaling being included in the NAS message.
[0034] The signaling, in one embodiment of the first and third aspects, indicates which parameters can be input to the integrity algorithm to generate the MAC.
[0035] The signaling according to the methods of the first and third aspects may be system information or may be included in the system information, in which case the signaling may be included in system information block 1.
[0036] A fourth aspect of the invention relates to a method performed by a network node for use in a wireless communication system, the method comprising receiving signalling from a wireless device indicating how the wireless device has generated, or is able to generate, an integrity protection MAC for an RRC message requesting resumption of an RRC connection.
[0037] In one embodiment of the fourth aspect, the signaling indicates which parameters the wireless device has input, will input, or can input into the integrity algorithm for generating the MAC.
[0038] An embodiment of the fourth aspect includes generating the expected MAC based on the signaling.
[0039] An embodiment of the fourth aspect includes generating a PDCP packet carrying an RRC message and including a MAC in a header of the PDCP packet.
[0040] An embodiment of the fourth aspect includes receiving an RRC message and a MAC, the receiving signaling being included in the received RRC message.
[0041] According to an embodiment of the method according to the second to fourth aspects, the first method of generating a MAC is inputting a first set of parameters into the integrity algorithm and the second method of generating a MAC is inputting a second set of parameters into the integrity algorithm, and the signaling indicates whether the wireless device has used, is using or is able to use the first method or the second method to generate the MAC, or whether the wireless device has used, is using or is able to use the second method to generate the MAC.
[0042] In an embodiment of the second to fourth aspects, the first parameter set is a subset of the second parameter set.
[0043] The first set of parameters, in an embodiment of the first to fourth aspects, includes one or more of an integrity key, a count, a bearer ID, and an indicator of a transmission direction.
[0044] The second parameter set includes one or more of a cause field and a C-RNTI indicating a cause for requesting resumption of the RRC connection in an embodiment of the first to fourth aspects.
[0045] The signalling according to an embodiment of the second and fourth aspects may indicate whether the wireless device has generated, will generate or is able to generate a MAC, or whether it has generated, will generate or is able to generate a MAC, as a function of one or more of the cause field and the C-RNTI indicating the cause for requesting resumption of the RRC connection.
[0046] An embodiment of the method according to the third and fourth aspects comprises receiving an RRC message and a MAC.
[0047] The MAC is resumeMAC-I in one embodiment of the first to fourth aspects.
[0048] In one embodiment of the methods of the third and fourth aspects, the received signaling is capability signaling indicating how the wireless device can generate a MAC for integrity protection of an RRC message requesting resumption of the RRC connection.
[0049] An embodiment of the method according to the third and fourth aspects comprises receiving an RRC message and a MAC, determining how to generate an expected MAC based on the received signals, generating the expected MAC based on said determination, and verifying integrity of the RRC message using the generated expected MAC and the received MAC.
[0050] According to a fifth aspect, a wireless device is configured to perform the method according to any one of the first and second aspects including any one of their embodiments.
[0051] A sixth aspect relates to a wireless device having a processing circuit and a memory storing instructions executable by the processing circuit, whereby the wireless device is configured to perform a method according to any one of the first and second aspects, including any one of their embodiments.
[0052] A seventh aspect relates to a computer program having instructions which, when executed by at least one processor of a wireless device, cause the wireless device to perform a method according to any one of the first and second aspects, including any one of their embodiments.
[0053] An eighth aspect relates to a network node configured to perform the method according to any one of the third and fourth aspects, including any one of their embodiments.
[0054] A ninth aspect relates to a network node having a processing circuit and a memory, the memory comprising instructions executable by the processing circuit, whereby the network node is configured to perform a method according to any one of the third and fourth aspects, including any one of their embodiments.
[0055] In one embodiment of the ninth aspect, the network node is a base station, in which case the base station may be a gNB.
[0056] The invention also relates to a tenth aspect in the form of a computer program having instructions which, when executed by at least one processor of a network node, cause the radio network node to perform the method according to any one of the third and fourth aspects, including any one of their embodiments.
[0057] An eleventh aspect relates to a carrier containing any one of the two computer programs, the carrier being any one of an electrical signal, an optical signal, a radio signal, or a computer-readable storage medium.
[0058] A twelfth aspect of the present invention relates to a communication system including a host computer having a processing circuit configured to provide user data and a communication interface configured to forward the user data to a cellular network for transmission to a user device, the cellular network comprising a base station having a radio interface and a processing circuit, the processing circuit of the base station being configured to perform the method according to any one of the third and fourth aspects, including any one of the embodiments. [Brief description of the drawings]
[0059] [Figure 1] FIG. 1 illustrates a wireless communication system in accordance with some embodiments. [Diagram 2] FIG. 2 illustrates a method performed by a wireless device according to some embodiments. [Diagram 3] FIG. 3 illustrates an embodiment of a method performed by a wireless device. [Figure 4] FIG. 4 illustrates an embodiment of a method performed by a network node. [Diagram 5] FIG. 5 illustrates a more specific embodiment of the method shown in FIG. [Figure 6] FIG. 6 is a diagram illustrating a wireless device implemented in accordance with one or more embodiments. [Figure 7] FIG. 7 illustrates a network node implemented in accordance with one or more embodiments. [Figure 8] FIG. 8 illustrates a user equipment (UE) state machine and state transitions in NR. [Figure 9] FIG. 9 is a sequence diagram involving the message RRCRelease between the gNB and the UE. [Figure 10] FIG. 10 is a sequence diagram regarding RRCResume. [Figure 11] FIG. 11 is a sequence diagram associated with a successful RRC connection resumption. [Figure 12] FIG. 12 illustrates a successful RRC connection resumption fallback to an established RRC connection. [Figure 13] FIG. 13 illustrates a successful RRC connection resumption and subsequent network release. [Figure 14] FIG. 14 illustrates a normal RRC connection resumption followed by a network initiated pause. [Figure 15] FIG. 15 illustrates an RRC connection resumption request from a UE and a subsequent rejection from the network. [Figure 16] FIG. 16 is a diagram illustrating the derivation of MAC-I / NAS-MAC or XMAC-I / XNAS-MAC. [Figure 17] FIG. 17 is a block diagram of a wireless communication network according to some embodiments. [Figure 18]FIG. 18 is a block diagram of a user equipment according to some embodiments. [Figure 19] FIG. 19 is a block diagram of a virtualization environment according to some embodiments. [Figure 20] FIG. 20 is a block diagram of a communication network with a host computer according to some embodiments. [Figure 21] FIG. 21 is a block diagram of a host computer according to some embodiments. [Figure 22] FIG. 22 is a flow chart illustrating a method implemented in a communication system, according to one embodiment. [Figure 23] FIG. 23 is a flow chart illustrating a method implemented in a communication system, according to one embodiment. [Figure 24] FIG. 24 is a flow chart illustrating a method implemented in a communication system, according to one embodiment. [Diagram 25] FIG. 25 is a flow chart illustrating a method implemented in a communication system, according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0060] Detailed Description 1 illustrates a wireless communication system 10 according to some embodiments. The wireless communication system 10 includes one or more Radio Access Networks (RANs) 10A and one or more Core Networks (CNs) 10B. The one or more RANs 10A provide wireless access to a wireless device 12 and connect the wireless device 12 to one or more CNs 10B. The one or more CNs 10B in turn connect the wireless device 12 to one or more external data networks, such as the Internet.
[0061] Nevertheless, the wireless device 12 is shown in FIG. 1 as having one or more connections 16 (e.g., radio resource control (RRC) connections) with the RAN 10A. The wireless communication system 10 supports suspension of the connection 16, e.g., after a period of inactivity. In some embodiments, suspension of the connection 16 means that radio resources for the connection 16 are released, but the context for the connection 16 is maintained to reduce reconnection delays. Alternatively or additionally, suspension of the connection 16 means that the wireless device 12 operates in an inactive state, e.g., RRC_inactive, as described below. To suspend the connection 16, the RAN 10A sends control signaling (not shown) to the wireless device 12 indicating that the connection 16 is to be suspended. The wireless device 12 can responsively receive the control signaling and suspend the connection 16 according to the control signaling. At some point thereafter, the wireless device 12 may reinitiate the connection 16 at the same or a different attachment point (e.g., the same or a different cell, or the same or a different RAN) within one or more RANs 10A. To do so, the wireless device 12 may send a request to reinstate the connection 16.
[0062] Alternatively or additionally, the wireless communication system 10 may support the complete release and re-establishment of the connection 16. The wireless device 12 may also send a request to request re-establishment of the connection.
[0063] In this regard, Figure 1 generally illustrates that the wireless device 12 may transmit a message (e.g., RRC message 18) requesting the resumption or re-establishment of the connection 16. The wireless device 12 also transmits a security token (e.g., message authentication code 20) for integrity protection of the message. The security token may be transmitted with or associated with the message, such as by being included in a Packet Data Convergence Protocol (PDCP) header of a PDCP packet carrying the message. A network node within one or more RANs 10A that receives the message may correspondingly generate an expected security token (not shown) and compare the received security token to the expected security token to verify the integrity of the message.
[0064] As indicated in this regard, wireless device 12 receives signaling 22 that indicates, among other things, how wireless device 12 is to generate a security token for message integrity protection. For example, signaling 22 includes security token generation information 24. In any event, signaling 22 may indicate, for example, which parameters should be input into an integrity algorithm for generating the security token, or that certain parameters should be input into an integrity algorithm for generating the security token.
[0065] As shown in FIG. 1, for example, there may be a first method 26A and a second method 26B for generating a security token. The first method 26A may include inputting a first set of input parameters 28A to an integrity algorithm 30A. The second method 26B may include inputting a second set of input parameters 28B to the same or a different integrity algorithm 30B. In some embodiments, the first set of parameters 28A is a subset (i.e., a proper subset) of the second set of parameters 28B. Alternatively or additionally, the second set of input parameters 28B may include one or more of: (i) a cause field indicating a cause for requesting resumption or re-establishment of the RRC connection; or (ii) a cell radio network temporary identifier (C-RNTI). In these and other cases, the first method 26A may be a legacy method and the second method 26B may be a new method introduced after the first method 26A. Nonetheless, signaling 22 in such an embodiment may indicate whether wireless device 12 should use first method 26A or second method 26B to generate the security token, or signaling 22 may simply indicate that wireless device 12 should generate security token 20 using second method 26B.
[0066] In some embodiments, the signaling 22 should be applied regardless of which network node, cell, or RAN the wireless device 12 requests to resume or re-establish the connection 16, and regardless of which network node, cell, or RAN previously suspended or released the connection 16. However, in other embodiments, the signaling 22 is explicitly or implicitly applied to a particular target network node, cell, or RAN (which may be included in the group of target network nodes, cells, or RANs to which the signaling 22 applies) to which the wireless device 12 requests to resume or re-establish the connection 16. Alternatively or additionally, the signaling 22 is explicitly or implicitly applied to a particular source network node, cell, or RAN (which may be included in the group of source network nodes, cells, or RANs to which the signaling 22 applies) that previously suspended or released the connection 16. In these latter embodiments, the wireless device 12 may receive signaling 22 from one or both of (i) a target network node, cell, or RAN for which the wireless device 12 requests to resume or re-establish the connection 16, or (ii) a source network node, cell, or RAN that previously suspended or released the connection 16. Based on at least this signaling 22, the wireless device 12 may determine how the wireless device 12 generates a security token for a particular source network node or a particular source cell (referred to as a "source method") and how the wireless device 12 generates a security token for a particular target network node or a particular target cell (referred to as a "target method"). The wireless device 12 may then determine how the wireless device 12 generates a security token for integrity protection of the message 18 based on the source integrity and the target integrity.For example, the wireless device may decide to generate the security token 20 using the second method 26B only if both the source method and the target method are the second method 26B, e.g., if both the source and target (source eNB / geNB and target eNB / geNB) support (or indicate that the second method 26B should be used). The following description shows a specific example in which "UE++ uses the new version of resumeMAC-I only if the source gNB is source gNB++ and the target gNB++ is target gNB++. UE++ uses the old version of resumeMAC-I only if one of the gNBs is old, i.e., the source gNB is source gNB or the target gNB is target gNB." In this example, the security token is a MAC 20 in the form of resumeMAC-I, and the first method 26A generates the old version of resumeMAC-I and the second method 26B generates the new version of resumeMAC-I.
[0067] In view of modifications and variations of the present disclosure, Figure 2 illustrates a method performed by a wireless device 12 configured for use in a wireless communication system 10 according to certain embodiments. The method in some embodiments includes receiving signaling 22 indicating how the wireless device 12 is to generate a security token for integrity protection of an RRC message 18 requesting resumption or re-establishment of an RRC connection 16 (block WW100).
[0068] In some embodiments, the method includes generating a security token in accordance with the signaling 22 (block WW110).
[0069] In some embodiments, the method may include transmitting the RRC message 18 and the generated security token (block WW120).
[0070] In some embodiments, the method alternatively or additionally includes transmitting signaling from the wireless device 12 indicating how the wireless device 12 has generated, how it will generate, or how it can generate a security token for integrity protection of an RRC message 18 requesting resumption or re-establishment of an RRC connection (block WW130).
[0071] Figure 3 illustrates a method performed by a wireless device 12 for use in a wireless communication system 10 in accordance with some embodiments of the method of Figure 2. The method according to Figure 3 includes receiving signaling 22 indicating how the wireless device 12 should generate a security token in MAC 20 format for integrity protection of an RRC message 18 requesting resumption of an RRC connection 16 (block W2100).
[0072] The method of FIG. 3 includes generating a MAC 20 in accordance with the signaling 22 (block W2110).
[0073] The method of FIG. 3 includes transmitting the RRC message 18 and the generated MAC 20 (block W2120).
[0074] 3 may alternatively or additionally include transmitting signaling from wireless device 12 indicating how wireless device 12 has generated, will generate, or can generate a MAC 20 for integrity protection of an RRC message 18 requesting resumption of the RRC connection (block W2130). Note that the transmitting indicated by block W2130 may occur instead of or prior to receiving signaling 22 indicated by block W2100.
[0075] 4 illustrates a method performed by a network node 40 (e.g., in one or more RANs 10A or one or more CNs 10B and as shown in FIG. 7) configured for use in a wireless communication system 10, according to another particular embodiment. In one embodiment, the method includes transmitting signaling 22 from the network node 40 indicating how the wireless device 12 is to generate a security token for integrity protection of an RRC message 18 requesting resumption or re-establishment of an RRC connection (block WW200).
[0076] In some embodiments, the method alternatively or additionally includes receiving signaling from the wireless device 12 indicating how the wireless device 12 has generated, how it will generate, or how it can generate a security token for integrity protection of an RRC message 18 requesting resumption or re-establishment of an RRC connection (block WW205).
[0077] In some embodiments, the method includes receiving an RRC message 18 and a security token (block WW210). In some embodiments, the method further includes verifying the integrity of the received RRC message 18 using the security token (block WW220).
[0078] Figure 5 illustrates a more specific embodiment of the method illustrated in Figure 4. Here, the method includes transmitting signaling 22 from the network node 40 indicating how the wireless device 12 should generate a MAC for integrity protection of an RRC message 18 requesting resumption of the RRC connection (block W5200).
[0079] 5 may alternatively or additionally include receiving signaling from wireless device 12 indicating how wireless device 12 has generated, will generate, or can generate a MAC for integrity protection of RRC message 18 requesting resumption of the RRC connection (block W5205). It should thus be noted that the receiving of block W5205 may occur in lieu of or prior to the transmission indicated by block W5200.
[0080] In some embodiments, the method of Figure 5 includes receiving an RRC message 18 and a security token (block W5210). In some embodiments, the method of Figure 5 further includes verifying the integrity of the received RRC message 18 using a MAC (block W5220).
[0081] Embodiments herein also include corresponding apparatus, such as the wireless device 12, configured to perform any of the steps of any of the embodiments described above for the wireless device.
[0082] The embodiment further includes a wireless device 12 including a processing circuit and a power supply circuit. The processing circuit is configured to perform any of the steps of any of the embodiments described above for the wireless device. The power supply circuit is configured to provide power to the wireless device.
[0083] The embodiment further includes a wireless device 12 having processing circuitry configured to perform any of the steps of any of the embodiments described above for the wireless device. In some embodiments, the wireless device further comprises communication circuitry.
[0084] The embodiment further comprises a wireless device 12 having a processing circuit and a memory, the memory including instructions executable by the processing circuit such that the wireless device is configured to perform any of the steps of any of the embodiments described above for the wireless device.
[0085] The embodiments further include a user equipment (UE). The UE has an antenna configured to transmit and receive wireless signals. The UE also has a radio front-end circuit connected to the antenna and the processing circuit and configured to condition signals communicated between the antenna and the processing circuit. The processing circuit is configured to perform any of the steps of any of the embodiments described above for the wireless device. In some embodiments, the UE further has an input interface connected to the processing circuit and configured to allow information input to the UE to be processed by the processing circuit. The UE may have an output interface connected to the processing circuit and configured to output information from the UE processed by the processing circuit. The UE may also have a battery connected to the processing circuit and configured to provide power to the UE.
[0086] Embodiments herein further include a network node configured to perform any of the steps of any of the embodiments described above for the network node.
[0087] An embodiment further includes a network node including a processing circuit and a power supply circuit. The processing circuit is configured to perform any of the steps of any of the embodiments described above for the network node. The power supply circuit is configured to supply power to the network node.
[0088] Embodiments further include a network node having processing circuitry configured to perform any of the steps of any of the embodiments described above for the network node. In some embodiments the radio network node further comprises communications circuitry.
[0089] An embodiment further includes a network node having a processing circuit and a memory, the memory including instructions executable by the processing circuit, whereby the radio network node is configured to perform any of the steps of any of the embodiments described above for the radio network node.
[0090] More specifically, the above-mentioned apparatus may implement any functional means, modules, units, or circuits to perform the methods and any other processes herein. In one embodiment, for example, the apparatus has individual circuits or circuit systems configured to perform the steps shown in the method diagrams. In this regard, the circuits or circuit systems may have one or more microprocessors with dedicated circuits for performing specific functional processes, and / or memory. For example, the circuit systems may include one or more microprocessors or microcontrollers, as well as other digital hardware including one or more digital signal processors (DSPs), special purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in the memory. The memory may include one or several types of memory, such as read-only memory (ROM), random access memory, cache memory, flash memory devices, optical storage devices, and the like. The program code stored in the memory may include program instructions for performing one or more telecommunication and / or data communication protocols in some embodiments, as well as instructions for performing one or more of the methods described herein. In embodiments using a memory, the memory stores program code that, when executed by one or more processors, performs the methods described herein.
[0091] FIG. 6 illustrates a wireless device 12 as implemented in accordance with one or more embodiments. As shown, the wireless device 12 includes a processing circuit 110 and a communication circuit 120. The communication circuit 120 (e.g., a radio circuit) is configured to transmit and / or receive information to and from one or more other nodes, for example, using any communication technology. Such communication may occur through one or more antennas that are either internal or external to the wireless device 12. The processing circuit 110 is configured to perform the processes described above in FIG. 2 and FIG. 3, for example, by executing instructions stored in the memory 130. In this regard, the processing circuit 110 may implement certain functional means, units, or modules.
[0092] 7 illustrates a network node 40 implemented in accordance with one or more embodiments. As shown, the network node 40 includes a processing circuit 410 and a communication circuit 420. The communication circuit 420 is configured to transmit and / or receive information to and from one or more other nodes, for example, using any communication technology. The processing circuit 410 is configured to perform the processes described above with respect to FIGS. 4 and 5, for example, by executing instructions stored in a memory 430. In this regard, the processing circuit 410 may implement specific functional means, units, or modules.
[0093] Those skilled in the art will also appreciate that the embodiments herein further include corresponding computer programs.
[0094] The computer program comprises instructions which, when executed on at least one processor of an apparatus, such as the wireless device 12 and the network node 40, cause the apparatus to perform any of the respective operations described above. In this regard, the computer program may comprise one or more code modules or portions corresponding to the means or units described above.
[0095] Embodiments further include a medium containing such a computer program, which may include one of an electrical signal, an optical signal, a radio signal, or a computer readable storage medium.
[0096] In this regard, embodiments herein also include computer programs, such as computer program 140 of FIG. 6 and 440 of FIG. 7, stored in a non-transitory computer-readable (storage or recording) medium (e.g., in the form of memory 130 and memory 440, respectively) and having instructions that, when executed by a processor of the device, cause the device to perform as described above.
[0097] Additional embodiments are now described, at least some of which may be described for illustrative purposes as applicable in particular contexts and / or wireless network types, but which are likewise applicable in other contexts and / or wireless network types not explicitly described.
[0098] RRC connection resumption is available in New Radio (NR) and enhanced Long Term Evolution (eLTE). In particular, as shown in Figure 8, the RRC state model is updated in NR (and eLTE, i.e. LTE connected to 5G Core (5GC)) to introduce a new RRC_INACTIVE state in addition to the existing RRC_IDLE and RRC_CONNECTED states inherited from LTE. In RRC_INACTIVE, the UE context from the previous RRC connection is stored in the Radio Access Network (RAN) and reused the next time an RRC connection is established. The UE context includes information such as UE security settings, configured radio bearers, etc. Storing the UE context in the RAN avoids the signaling required for security activation and bearer establishment that is normally required when transitioning from RRC_IDLE to RRC_CONNECTED. This improves latency and reduces signaling overhead.
[0099] The RRC_INACTIVE mode is achieved by introducing two new procedures: "RRC Connection Suspend" (also called RRC Connection Release with SuspendConfig) and "RRC Connection Resume". The gNB suspends the connection and transitions the UE from RRC_CONNECTED to RRC_INACTIVE by sending an RRC Release message with a suspend indication (or configuration) to the UE as shown in Figure 9. This can happen, for example, after the UE has been inactive for a certain period of time that causes the gNB internal activity timer to expire. Both the UE and the gNB store the UE context and the associated identifier (called I-RNTI). It was recently updated that two identifiers, namely long and short I-RNTI, are configured by the suspend configuration. The one used for resumption depends on the indication from the network in the system information of the cell where the UE intends to resume. The two I-RNTI identifiers were introduced to support the scenario when the UE is resuming in a cell that only gives the UE a small scheduling grant for the first UL message. For this purpose, two different resume messages were also introduced: RRCResumeRequest and RRCResumeRequest1. However, RRC Resume Request is used herein to refer to both messages.
[0100] On the next transition to RRC_CONNECTED, the UE resumes the connection by sending an RRC Resume Request to the gNB to which the UE wishes to resume the connection (note that this may be a different cell / gNB than the one where the connection was suspended) containing the following information: · I-RNTI (either long or short I-RNTI depending on the system information indication). · A security token (MAC called resumeMAC-I in 3GPP terminology) used to identify and verify the UE when resuming an RRC connection. Indicator of the cause of the resume, e.g. mobile originated data.
[0101] The gNB serving the cell where the UE is resuming may be referred to as the target gNB, and the gNB serving the cell where the UE was suspended may be referred to as the source gNB. To resume the connection, the target gNB identifies which gNB is the source gNB (taking into account the gNB part of the I-RNTI) and requests that gNB to send the UE's context. In the request, the target provides, among other things, the target cell ID, as well as the UE ID and the security token received from the UE. This is shown in Figure 10.
[0102] The source gNB then locates the UE context based on the I-RNTI and verifies the request based on the security token. If successful, the source gNB transfers the UE context to the target gNB, which responds with an RRC Resume to the UE to confirm that the connection has been resumed. The RRC Resume message may also include configurations to reconfigure the radio bearers being resumed. Finally, the UE acknowledges receipt of the RRC Re-establishment by sending an RRC Re-establishment Complete.
[0103] Note that the NR RRC resume procedure works similarly in LTE and eLTE (i.e., when LTE is connected to 5GC) (although the state model considers the UE to be in RRC_IDLE with saved context).
[0104] In NR and eLTE (LTE connected to 5GC), the RRCResume message in response to the RRCResumeRequest is encrypted and integrity protected using a new security key that is derived based on the stored AS security context. This new key derivation (sort of key update) is done as part of the resume procedure, specifically as part of the transmission of the RRCresumeRequest (or RRCResumeRequest1).
[0105] The RRCResume message is not the only message that can be sent in response to the RRCResumeRequest message. In NR and eLTE, as described above, after the UE sends an RRC Resume Request type message (e.g., RRCRequest or RRCResumeRequest1), the UE can receive a message on signaling radio bearer #1 (SRB1), which is also ciphered and integrity protected. - RRCRelease with Suspend configuration, which transitions the UE to RRC_INACTIVE; - RRCRelease without suspension, which transitions the UE into RRC_IDLE; - RRCResume, which transitions the UE to RRC_CONNECTED.
[0106] Other messages that can be sent are RRCReject with a waiting timer or RRCSetup (which will cause a fallback to RRC_IDLE), but over SRB0 (i.e., not ciphered or integrity protected). All of these possible responses are listed below. Figure 11 shows signalling for successful RRC resumption. Figure 12 shows successful RRC connection resumption fallback to RRC connection establishment. Figure 13 shows successful RRC connection resumption followed by network release. Figure 14 shows successful RRC connection resumption followed by network suspension. Figure 15 shows an RRC connection resumption request from the UE followed by a rejection from the network.
[0107] In LTE and NR, message integrity protection is performed by both the network and the UE by calculating the Message Authentication Code-Integrity (MAC-I) included in the PDCP header according to the Packet Data Convergence Protocol (PDCP). When the receiver receives a PDCP packet, it calculates and verifies the MAC-I using the same input and algorithm as the transmitter, so that both the sender and the receiver can be authenticated. The derivation is specified in 3rd Generation Partnership Project (3GPP) Technical Specification (TS) 33.401v.15.9.0 for Evolved Packet Systems (EPS) and in TS 33.501v.15.1.0(2018-06) for 5G Systems (5GS), only the applied algorithms differ. For E-UTRA connected to either EPC or 5GC, the algorithms used are specified in TS 33.401, and for NR, the algorithms used are specified in 33.501.
[0108] Below is an excerpt from TS 33.501v 15.1.0(2018-06) for the derivation of MAC-I.
[0109] The input parameters to the integrity algorithm are a 128-bit integrity key named KEY, a 32-bit COUNT, a 5-bit bearer ID called BEARER, a 1-bit indication of the transmission direction, DIRECTION, and the message itself, MESSAGE. The DIRECTION bit is 0 for uplink and 1 for downlink. The length in bits of MESSAGE is LENGTH.
[0110] FIG. 16 illustrates the use of the integrity algorithm NIA to authenticate the integrity of a message.
[0111] Based on these input parameters, the sender calculates a 32-bit message authentication code (MAC-I / NAS-MAC) using the integrity algorithm NIA (Integrity Algorithm for 5G). The message authentication code is then appended to the message when it is sent. In the case of an integrity protection algorithm, the receiver calculates an expected message authentication code (XMAC-i / XNAS-MAC) for the received message in the same way that the sender calculated the message authentication code for the message it sent, and verifies the data integrity of the message by comparing it with the received message authentication code, i.e., MAC-i / NAS-MAC.
[0112] Integrity protection is always applied to control signals (RRC messages) and is configurable for NR user plane messages.
[0113] Currently, one or more of certain challenges exist: State transitions such as those described above suffer from several security issues.
[0114] One of the problems is that even if the resumeMAC-I field of the RRCRequest or RRCResumeRequest1 message acts as a security token and proves to the gNB that the token was generated by a legitimate UE, the RRCResumeRequest or RRCRequest1 message itself is not protected from unauthorized tampering. For example, an attacker can tamper with the resumeCause field of the RRCRequest or RRCResumeRequest1 message and change its value, for example, from "highPriorityAccess" to "rna-Update", thereby causing unintended consequences. In this example, the unintended consequence may be that the UE is put back into the RRC_INACTIVE state instead of transitioning to the RRC_CONNECTED state. The practical consequence in that case is that the user will not be able to receive services such as calls.
[0115] Another problem, commonly known as a replay attack, is as follows: The UE may get an RRCReject message from the gNB in response to a RRCResumeRequest or RRCResumeRequest1 message. The UE then retransmits the same RRCResumeRequest or RRCResumeRequest1 message after some time. The fact that the RRCResumeRequest or RRCResumeRequest1 message is the same before and after can be exploited by an attacker. An attacker can capture the RRCResumeRequest message and send it to another gNB while the UE waits for some time before retransmitting. When that gNB then performs the rest of the resume procedure, the UE context on the network side is updated. As a result, the network has a new UE context, whereas the UE still has the old context, and the procedure will fail if the legitimate UE retransmits the RRCResumeRequest message after some time.
[0116] There is another procedure called the RRC re-establishment procedure (also known in 4G as the RRC connection re-establishment procedure). The purpose of this procedure is to re-establish the RRC connection. The UE can initiate the procedure to continue the RRC connection, and the procedure is successful if the network can find and verify a valid UE context. The security mechanisms of this procedure are in many ways similar to the RRC connection resume procedure. The similarity comes from the fact that the security token used in the re-establishment procedure, called shortMAC-I, is calculated in the same way as resumeMAC-I, with only minor differences in the values of the inputs. Therefore, the issues mentioned above for the resume procedure are also issues for the re-establishment procedure.
[0117] Several techniques could improve the security of the resume procedure. These techniques would define a new way to calculate and verify the resumeMAC-I field in RRCResumeRequest or RRCResumeRequest1. It is the UE that calculates the new resumeMAC-I and the gNB verifies it. These techniques could include one or more additional inputs to the calculation of resumeMAC-I. For example, one technique could add the resumeCause field as an additional input or use the entire RRCResumeRequest message as input. Doing this would make it harder for an attacker to tamper with that resumeCause field. Another technique could add a temporary Cell Radio Network Temporary Identifier (CRNTI) as an additional input. This temporary CRNTI is ephemeral in nature and changes with every resume procedure. Adding it as an additional input would therefore make it harder for an attacker to replay an old captured RRCResumeRequest message.
[0118] These techniques would be advantageous as they improve security in some way, but they are not self-contained. This incompleteness comes from the fact that even if new UEs (e.g., compliant with Rel-16 and / or Rel-17 and later) implement one of these specified techniques, legacy UEs (e.g., compliant with Rel-15, or compliant with Rel-16 and / or Rel-17 and later that do not implement one or more of these specified techniques) still generate the RRCResumeRequest message and its contents (e.g., resume cause and resume MAC-I) in the manner specified in Rel-15.
[0119] What this means will be explained with reference to the following terms. 1. UE-- means a legacy UE that can calculate the resumeMAC-I field of the old version and cannot calculate the resumeMAC-I field of the new version. 2. UE++ means a current UE that can calculate the new version of the resumeMAC-I field, and can also calculate the old version of the resumeMAC-I field. 3. Source gNB-- refers to a legacy source gNB that does not recognize and cannot validate the new version of the resumeMAC-I field. This gNB can only validate the old version of the resumeMAC-I field. 4. Source gNB++ means the latest source gNB that can recognize and validate the new version of the resumeMAC-I field. This gNB can also validate the old version of the resumeMAC-I field (a base station that can support new UEs (i.e., UEs that support a set of new features) must also support legacy UEs). 5. target gNB-- means a legacy target gNB that does not recognize and cannot support any source gNB in validating the new version of the resumeMAC-I field. This gNB is only capable of supporting any source gNB in validating the old version of the resumeMAC-I field. 6. Target gNB++ means a new target gNB that can recognize and support any source gNB in validating the new version of the resumeMAC-I field, and that can also support any source gNB in validating the old version of the resumeMAC-I field.
[0120] To address the backward compatibility issues mentioned above, several approaches can be provided: The UE++ can indicate to the source gNB++ that the UE++ supports the new version of resumeMAC-I.
[0121] When the UE++ sends a RRCResumeRequest to the target gNB++, the target gNB++ indicates to the source gNB++ the necessary information during the context request procedure (such as resumeCause and temporary CRNTI). The source gNB++ knows that the UE++ supports the new version of resumeMAC-I, and because it has the necessary information, the source gNB++ can verify the new version of resumeMAC-I.
[0122] Otherwise, when the UE++ sends a RRCResumeRequest to the target gNB--, the target gNB cannot indicate the necessary information (such as resumeCause and temporary CRNTI) to the source gNB++ during the context request procedure. The source gNB++ knows that the UE++ supports the new version of resumeMAC-I. However, the source gNB++ does not have the necessary information. Therefore, the source gNB++ cannot verify the new version of resumeMAC-I. The source gNB++ can indicate failure (e.g., reject the context request procedure). The source gNB++ can also do a hit-and-trial with all possible values (e.g., all values of resumeCause) to see if any value verifies resumeMAC-I correctly.
[0123] The above mentioned method of handling the backward compatibility issue works in some cases, but does not solve all scenarios. For example, if UE++ sends RRCResumeRequest to target gNB--, even if resumeMAC-I is valid, the ongoing procedure may not succeed (e.g. because target gNB-- does not know how to support the computation of a new resumeMAC-I). In that case, the network may consider it as a non-valid UE and respond with RRCSetup to build the context from scratch, or it may simply ignore the request (which causes timer T319 to expire). In both cases, the UE will perform a NAS recovery, i.e., return via IDLE and tear down the context. These are not the most efficient use of resources in terms of time, signaling, power consumption and computation. Moreover, the step of the source gNB++ to perform hit-and-trials with all possible values is not only unintelligent and wasteful of computational power, but also a bad security practice. In fact, this method does not guarantee that the validation is correct, even if the probability is low. This is because the probability that one security key and resumeCause pair will generate the same resumeMAC-I as another security key and resumeCause pair is low, known as the collision probability.
[0124] Certain aspects of the present disclosure and embodiments thereof may provide solutions to these and other problems. Some embodiments enable the UE and the network to enhance the security of the state transition between RRC_INACTIVE and RRC_CONNECTED in a robust manner. Some embodiments herein address a particular problem related to backward compatibility of features related to the computation of resumeMAC-I, as described above.
[0125] Particular embodiments may provide one or more of the following technical advantages: Some embodiments enable enhanced security that is robust. The robustness comes from the fact that both the UE and the network have a deterministic and efficient way to know about and use the enhanced security.
[0126] For simplicity, some embodiments are described with respect to a resumption procedure. However, the embodiments can also be extended to a re-establishment procedure. Similarly, in the following, terms related to mechanisms in a 5G system are used. However, these teachings are equally applicable to relevant mechanisms in a legacy 4G system or any future system.
[0127] Some embodiments address backward compatibility in one or more of the following ways. 1. The UE++ uses the new version of the resumeMAC-I calculation upon receiving an indication from the network that the new version should be used. 2. This indication from the network to the UE++ can be received in a variety of ways: a. As part of broadcast information from the source gNB++ or target gNB++, for example, MIB (Master Information Block), SIB1 (System Information Block 1) or other SIBs. b. As part of an RRC message (e.g. an RRC Release message) from the source gNB++ that moved the UE++ to RRC_INACTIVE state. This may contain a list of cells for which the UE should use the new method, or alternatively, a list of cells for which the UE should not use the new method. c. As part of other RRC messages (e.g., Random Access Response (RAR), RRC (connection) setup, RRC re-configuration) sent to the UE++ when the UE++ is in or transitioning to the RRC_CONNECTED state. d. As part of a NAS message sent to the UE++. This can come into play, for example, when the entire system or tracking area supports a new version. 3. The UE++ uses the new version of resumeMAC-I only if the source gNB is source gNB++ and the target gNB is target gNB++. The advantage of doing so is to avoid wasting resources as mentioned above, e.g. to avoid procedure failure. 4. The UE++ uses the old version of resumeMAC-I if any of the gNBs are old, i.e., if the source gNB is the source gNB or the target gNB is the target gNB. This means that in one embodiment, the absence of capability signaling from either the source gNB or the target gNB may be the basis for the UE++ to calculate the old version of resumeMAC-I. 5. Alternatively or additionally, the UE++ indicates to the network whether to use the old or new version of resumeMAC-I. 6. This indication from the UE++ to the network can be done in a variety of ways: a. Using the spare bit of the RRCResumeRequest message. b. Add a new field to the RRCResumeRequest message. c. Using a different type of RRC message, such as RRCResumeRequest_newer. d. Pre-transmit the capability to the network as part of the UE's capabilities. In this case, the target gNB first identifies the UE by its I-RNTI and obtains its UE capabilities. Based on this, the target gNB knows whether the UE can use the new method or not. If so, the target gNB assumes that the UE is using the new method and decodes resumeMAC-I based on the new method; otherwise, the target gNB verifies the UE capabilities to ensure that the UE cannot use the new method and then decodes resumeMAC-I using the old method.
[0128] Although the subject matter described herein may be implemented in any suitable type of system using any suitable components, the embodiments disclosed herein are described in relation to a wireless network, such as the exemplary wireless network shown in FIG. 17. For simplicity, the wireless network of FIG. 17 shows only network QQ106, network nodes QQ160 and QQ160b, and wireless devices (WD) QQ110, QQ110b, and QQ110c. In practice, the wireless network may further include any additional elements suitable for supporting communications between wireless devices and other communication devices, such as landlines, service providers, or any other network nodes or end devices. Of the illustrated components, network node QQ160 and wireless device (WD) QQ110 are shown with further details. The wireless network may provide communication and other types of services to one or more wireless devices to facilitate the wireless devices' access to and / or use of services provided by or via the wireless network.
[0129] A wireless network may be comprised of and / or interfaced with any type of communication, telecommunication, data, cellular, and / or radio network, or other similar type of system. In some embodiments, a wireless network may be configured to operate according to a particular standard or other type of predefined rules or procedures. Thus, particular embodiments of a wireless network may implement a communication standard, such as Global System for Mobile Communications (GSM), UMTS, LTE, Narrowband Internet of Things (NB-loT), and / or other suitable 2G, 3G, 4G, or 5G standard; a Wireless Local Area Network (WLAN) standard, such as the IEEE 802.11 standard; and / or any other suitable wireless communication standard, such as WiMax (Worldwide Interoperability for Microwave Access), Bluetooth, Z-Wave, and / or ZigBee standards, and / or the like.
[0130] Network QQ106 may include one or more backhaul networks, core networks, IP networks, public switched telephone networks, packet data networks, optical networks, wide area networks, local area networks, wireless local area networks, wired networks, wireless networks, metropolitan area networks, and other networks that enable communication between devices.
[0131] Network nodes QQ160 and WD QQ110 include various components, which are described in more detail below. These components cooperate to provide network node and / or wireless device functionality, such as providing wireless connectivity in a wireless network. In various embodiments, a wireless network may include any number of wired or wireless networks, network nodes, base stations, controllers, wireless devices, relay stations, and / or any other components or systems that may facilitate or participate in communication of data and / or signals, whether via wired or wireless connections.
[0132] As used herein, a network node refers to a device configured, arranged, and / or operable to directly or indirectly communicate with wireless devices and / or with other network nodes or devices in a wireless network to enable and / or provide wireless access to wireless devices and / or perform other functions (e.g., management) in a wireless network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., wireless access points), base stations (Bs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR Node Bs (gNBs)). Base stations may be classified based on the amount of coverage they provide (or, in other words, their transmit power levels) and may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node that controls relay stations. A network node may also include one or more (or all) parts of a distributed wireless base station, such as a centralized digital unit and / or a remote radio unit (RRU) (sometimes referred to as a remote radio head (RRH)). Such remote radio units may or may not be integrated with an antenna as an antenna-integrated radio. Some of the distributed radio base stations may also be referred to as nodes in a distributed antenna system (DAS). Further examples of network nodes include multi-standard radio (MSR) equipment such as MSR BS, network controllers such as radio network controllers (RNC) or base station controllers (BSC), base transceiver stations (BTS), transmission points, transmission nodes, multi-cell / multicast coordination entities (MCE), core network nodes (e.g., MSC, MME), O&M nodes, OSS nodes, SON nodes, positioning nodes (e.g., E-SMLC), and / or MDT. As another example, the network nodes may be virtual network nodes, as described in more detail below.More generally, however, a network node may represent any suitable device (or group of devices) that is configured, arranged, and / or operable to enable and / or provide wireless devices with access to a wireless network or to provide some service to wireless devices that have accessed the wireless network.
[0133] In FIG. QQ1, the network node QQ160 includes a processing circuit QQ170, a machine-readable medium QQ180, an interface QQ190, an auxiliary device QQ184, a power source QQ186, a power circuit QQ187, and an antenna QQ162. Although the network node QQ160 shown in the example wireless network of FIG. QQ1 may represent a device including the illustrated combination of hardware components, other embodiments may have a network node having a different combination of components. It should be understood that a network node may have any suitable combination of hardware and / or software required to perform the tasks, features, functions, and methods disclosed herein. Furthermore, although the components of the network node QQ160 are shown as a single box disposed within a larger box or nested within multiple boxes, in reality the network node may have multiple different physical components that make up a single illustrated component (e.g., the machine-readable medium QQ180 may have multiple separate hard drives as well as multiple RAM modules).
[0134] Similarly, the network node QQ160 may be composed of multiple physically separate components (e.g., Node B components and RNC components, or BTS components and BSC components, etc.), each of which may have their own respective components. In certain scenarios where the network node QQ160 has multiple separate components (e.g., BTS and BSC components), one or more separate components may be shared among several network nodes. For example, a single RNC may control multiple Node Bs. In such scenarios, each unique Node B and RNC pair may be considered as one individual network node. In some embodiments, the network node QQ160 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate machine-readable media QQ180 for different RATs) and some components may be reused (e.g., the same antenna QQ162 may be shared by several RATs). Network node QQ160 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node QQ160, such as, for example, GSM, WCDMA, LTE, NR, WiFi, or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chips or sets of chips and other components within network node QQ160.
[0135] The processing circuit QQ170 is configured to perform any decision, calculation, or similar operation (e.g., a particular acquisition operation) described herein as being provided by a network node. These operations performed by the processing circuit QQ170 may include, for example, processing the information acquired by the processing circuit QQ170 by transforming the acquired information to other information, comparing the acquired or transformed information to information stored in the network node, and / or performing one or more operations based on the acquired or transformed information, and making a decision as a result of said processing.
[0136] The processing circuitry QQ170 may have one or more combinations of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software, and / or coding logic, operable to provide the functionality of the network node QQ160, either alone or in conjunction with other network node QQ160 components, such as the machine readable medium QQ180. For example, the processing circuitry QQ170 may execute instructions stored in the machine readable medium QQ180 or in memory within the processing circuitry QQ170. Such functionality may include providing any of the various wireless features, functions, or benefits described herein. In some embodiments, the processing circuitry QQ170 may include a system on a chip (SOC).
[0137] In some embodiments, the processing circuit QQ170 may include one or more of a radio frequency (RF) transceiver circuit QQ172 and a baseband processing circuit QQ174. In some embodiments, the radio frequency (RF) transceiver circuit QQ172 and the baseband processing circuit QQ174 may be on separate chips (or sets of chips), boards, or units (such as a radio unit and a digital unit). In alternative embodiments, some or all of the RF transceiver circuit QQ172 and the baseband processing circuit QQ174 may be on the same chip, or the same set of chips, boards, or units.
[0138] Some or all of the functionality described herein as being provided by a network node, base station, eNB, or other such network device in certain embodiments may be performed by the processing circuitry QQ170 executing instructions stored on the machine-readable medium QQ180 or memory in the processing circuitry QQ170. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry QQ170 without executing instructions stored on a separate or distinct machine-readable medium, such as in a hardwired manner. In any of these embodiments, the processing circuitry QQ170 may be configured to perform the described functionality, whether or not it executes instructions stored on a machine-readable storage medium. Benefits provided by such functionality are not limited to the processing circuitry QQ170 alone or other components of the network node QQ160, but are enjoyed by the network node QQ160 as a whole, and / or by end users and the wireless network as a whole.
[0139] The machine-readable medium QQ180 may include any form of volatile or non-volatile computer-readable memory, including, but not limited to, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory, read-only memory, mass storage media (e.g., hard disks), removable storage media (e.g., flash drives, compact discs (CDs) or digital video discs (DVDs)), and / or other volatile or non-volatile, non-transitory machine-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry QQ170. The machine-readable medium QQ180 may store any suitable instructions, data, or information, including applications including one or more of computer programs, software, logic, rules, codes, tables, etc., and / or other instructions that may be executed by the processing circuitry QQ170 and utilized by the network node QQ160. The machine-readable medium QQ180 may be used to store any calculations performed by the processing circuit QQ170 and / or any data received via the interface QQ190. In some embodiments, the processing circuit QQ170 and the machine-readable medium QQ180 may be considered to be integrated.
[0140] The interface QQ190 is used for wired or wireless communication of signaling and / or data between the network node QQ160, the network QQ106, and / or the WD QQ110. As shown, the interface QQ190 has a port / terminal QQ194 for transmitting and receiving data to and from the network QQ106, for example, via a wired connection. The interface QQ190 also includes a radio front-end circuit QQ192, which may be connected to the antenna QQ162 or may be part of the antenna QQ162 in certain embodiments. The radio front-end circuit QQ192 has a filter QQ198 and an amplifier QQ196. The radio front-end circuit QQ192 may be connected to the antenna QQ162 and the processing circuit QQ170. The radio front-end circuit may be configured to condition the signal communicated between the antenna QQ162 and the processing circuit QQ170. The radio front-end circuit QQ192 can receive digital data to be sent to other network nodes or WDs via a wireless connection. The radio front-end circuit QQ192 may convert the digital data into a radio signal having appropriate channel and bandwidth parameters using a combination of a filter QQ198 and / or an amplifier QQ196. The radio signal may then be transmitted via the antenna QQ162. Similarly, when receiving data, the antenna QQ162 may collect the radio signal, which is then converted into digital data by the radio front-end circuit QQ192. The digital data may be passed to the processing circuit QQ170. In other embodiments, the interface may include different components and / or different combinations of components.
[0141] In certain alternative embodiments, the network node QQ160 may not include a separate radio front-end circuit QQ192, and instead the processing circuit QQ170 may include a radio front-end circuit and may be connected to the antenna QQ162 without a separate radio front-end circuit QQ192. Similarly, in some embodiments, all or a portion of the RF transceiver circuit QQ172 may be considered part of the interface QQ190. In still other embodiments, the interface QQ190 may include one or more ports or terminals QQ194, the radio front-end circuit QQ192, and the RF transceiver circuit QQ172 as part of a radio unit (not shown), and the interface QQ190 may communicate with a baseband processing circuit QQ174 that is part of a digital unit (not shown).
[0142] Antenna QQ162 may include one or more antennas, or antenna arrays, configured to transmit and / or receive wireless signals. Antenna QQ162 may be connected to radio front-end circuit QQ190 and may be any type of antenna capable of wirelessly transmitting and receiving data and / or signals. In some embodiments, antenna QQ162 may include one or more omnidirectional, sector or panel antennas operable to transmit / receive wireless signals between 2 GHz and 66 GHz, for example. An omnidirectional antenna may be used to transmit / receive wireless signals in any direction, a sector antenna may be used to transmit / receive wireless signals with devices in a particular area, and a panel antenna may be a line-of-sight antenna used to transmit / receive wireless signals in a relatively straight line. In some examples, the use of more than one antenna may be referred to as MIMO. In some embodiments, antenna QQ162 may be separate from network node QQ160 and may be connectable to network node QQ160 via an interface or port.
[0143] The antenna QQ162, the interface QQ190, and / or the processing circuit QQ170 may be configured to perform any receiving operation and / or a particular acquisition operation described herein as being performed by a network node. Any information, data, and / or signal may be received from a wireless device, another network node, and / or any other network device. Similarly, the antenna QQ162, the interface QQ190, and / or the processing circuit QQ170 may be configured to perform any transmitting operation described herein as being performed by a network node. Any information, data, and / or signal may be transmitted to a wireless device, another network node, and / or any other network device.
[0144] The power supply circuit QQ187 may comprise or be connected to a power management circuit and is configured to provide power to the components of the network node QQ160 for performing the functions described herein. The power supply circuit QQ187 may receive power from the power supply QQ186. The power supply QQ186 and / or the power supply circuit QQ187 may be configured to provide power to the various components of the network node QQ160 in a form suitable for each component (e.g., voltage and current levels required by each component), and the power supply QQ186 may be included in the power supply circuit QQ187 and / or the network node QQ160 or may be external. For example, the network node QQ160 may be connectable to an external power source (e.g., a wall socket) via an input circuit or interface such as an electrical cable, whereby the external power source provides power to the power supply circuit QQ187. As a further example, the power supply QQ186 may include a power source in the form of a battery or battery pack connected to or integrated with the power supply circuit QQ187. In the event of a failure of the external power source, the battery may provide a backup power source. Other types of power sources, such as photovoltaic devices, may also be used.
[0145] Alternative embodiments of network node QQ160 may include additional components not shown in FIG. QQ1 that may be responsible for providing certain aspects of the network node's functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, network node QQ160 may include user interface devices that allow for the input of information into network node QQ160 and the output of information from network node QQ160, thereby enabling a user to perform diagnostics, maintenance, repair, and other management functions of network node QQ160.
[0146] As used herein, a wireless device (WD) refers to a device capable of, configured to, arranged to, and / or operable to communicate wirelessly with network nodes and / or other wireless devices. Unless otherwise noted, the term WD may be used interchangeably with UE herein. Wireless communication may include transmitting and / or receiving wireless signals using electromagnetic, radio, infrared, and / or other types of signals suitable for conveying information through the atmosphere. In some embodiments, a WD may be configured to transmit and / or receive information without direct human intervention. For example, a WD may be designed to transmit information to a network on a predefined schedule, when triggered by an internal or external event, or in response to a request from the network. Examples of WDs include, but are not limited to, smartphones, mobile phones, cell phones, voice over IP (VoIP) phones, wireless local loop phones, desktop computers, personal digital assistants (PDAs), wireless cameras, game consoles or devices, music storage devices, playback devices, wearable terminal devices, wireless endpoints, mobile stations, tablets, laptops, laptop embedded devices (LEEs), laptop mounted devices (LMEs), smart devices, wireless customer premises equipment (CPEs), vehicle mounted wireless terminal devices, etc. WDs can support device-to-device (D2D) communications, for example, by implementing 3GPP standards for sidelink communications, vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), and vehicle-to-everything (V2X), in which case they are also referred to as D2D communications devices. As yet another example, in an Internet of Things (IoT) scenario, a WD can represent a machine or other device that performs monitoring and / or measurements and transmits results of such monitoring and / or measurements to another WD and / or network node. In this case, the WD may be a machine-to-machine (M2M) device, which may be referred to as an MTC device in the 3GPP field. As one specific example, the WD may be a UE that implements the 3GPP Narrowband Internet of Things (NB-IoT) standard.Examples of such machines or devices are sensors, metering devices such as power meters, industrial machines, or household or personal electrical appliances (e.g., refrigerators, televisions, etc.), personal wearable devices (e.g., watches, fitness trackers, etc.). In other scenarios, the WD may represent a vehicle or other device capable of monitoring and / or reporting its operating status or other functions related to its operation. The WD as described above may represent an endpoint of a wireless connection, in which case the device may be referred to as a wireless terminal. Furthermore, the WD as described above may be mobile, in which case the WD may be referred to as a mobile device or mobile terminal.
[0147] As shown, wireless device QQ110 includes antenna QQ111, interface QQ114, processing circuit QQ120, device readable medium QQ130, user interface device QQ132, auxiliary device QQ134, power source QQ136, and power circuit QQ137. WD QQ110 may include multiple combinations of one or more of the illustrated components for the various wireless technologies that WD QQ110 supports, such as, for example, GSM, WCDMA, LTE, NR, WiFi, WiMAX, NB-IoT, or Bluetooth wireless technologies, to name just a few. These wireless technologies may be integrated on the same or different chip or set of chips as other components in WD QQ110.
[0148] The antenna QQ111 may include one or more antennas or antenna arrays configured to transmit and / or receive wireless signals and is connected to the interface QQ114. In certain alternative embodiments, the antenna QQ111 may be separate from the WD QQ110 and connectable to the WD QQ110 via an interface or port. The antenna QQ111, the interface QQ114, and / or the processing circuit QQ120 may be configured to perform any receiving or transmitting operation described herein as being performed by a WD. Any information, data, and / or signals may be received from the network node and / or other WD. In some embodiments, the wireless front-end circuit and / or the antenna QQ111 may be considered an interface.
[0149] As shown, the interface QQ114 includes a radio front-end circuit QQ112 and an antenna QQ111. The radio front-end circuit QQ112 includes one or more filters QQ118 and an amplifier QQ116. The radio front-end circuit QQ114 is connected to the antenna QQ111 and the processing circuit QQ120 and configured to condition signals communicated between the antenna QQ111 and the processing circuit QQ120. The radio front-end circuit QQ112 may be connected to the antenna QQ111 or may be part of the antenna QQ111. In some embodiments, instead of the WD QQ110 including a separate radio front-end circuit QQ112, the processing circuit QQ120 may include a radio front-end circuit and be connected to the antenna QQ111. Similarly, in some embodiments, some or all of the RF transceiver circuit QQ122 may be considered to be part of the interface QQ114. The wireless front-end circuit QQ112 can receive digital data sent to other network nodes or WDs using a wireless connection. The wireless front-end circuit QQ112 may convert the digital data into a wireless signal having appropriate channel and bandwidth parameters using a combination of a filter QQ118 and / or an amplifier QQ116. The wireless signal may then be transmitted via the antenna QQ111. Similarly, when receiving data, the antenna QQ111 collects the wireless signal, which may then be converted into digital data by the wireless front-end circuit QQ112. The digital data may be passed to the processing circuit QQ120. In other embodiments, the interface may have different components and / or different combinations of components.
[0150] The processing circuitry QQ120 may have one or more combinations of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software, and / or coding logic that are operable to provide, either alone or in conjunction with other WD QQ110 components, such as the device readable medium QQ130, WD QQ110 functionality. Such functionality may include providing any of the various wireless functions or advantages described herein. For example, the processing circuitry QQ120 may execute instructions stored on the device readable medium QQ130 or instructions stored in a memory within the processing circuitry QQ120 to provide the functionality disclosed herein.
[0151] As shown, the processing circuit QQ120 includes one or more of an RF transceiver circuit QQ122, a baseband processing circuit QQ124, and an application processing circuit QQ126. In other embodiments, the processing circuit may have different components and / or different combinations of components. In certain embodiments, the processing circuit QQ120 of the WD QQ110 may have an SOC. In some embodiments, the RF transceiver circuit QQ122, the baseband processing circuit QQ124, and the application processing circuit QQ126 may be on separate chips or chipsets. In alternative embodiments, some or all of the baseband processing circuit QQ124 and the application processing circuit QQ126 may be combined into one chip or chipset, and the RF transceiver circuit QQ122 may be on a separate chip or chipset. In further alternative embodiments, some or all of the RF transceiver circuitry QQ122 and the baseband processing circuitry QQ124 may be on the same chip or chipset, and the application processing circuitry QQ126 may be on a separate chip or chipset. In yet other alternative embodiments, some or all of the RF transceiver circuitry QQ122, the baseband processing circuitry QQ124, and the application processing circuitry QQ126 may be combined on the same chip or chipset. In some embodiments, the RF transceiver circuitry QQ122 may be part of the interface QQ114. The RF transceiver circuitry QQ122 may condition the RF signal for the processing circuitry QQ120.
[0152] In an embodiment, some or all of the functionality described herein as being performed by the WD may be provided by the processing circuitry QQ120 executing instructions stored in a machine-readable medium QQ130, which in an embodiment may be a computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry QQ120, such as in a hardwired manner, without executing instructions stored in a separate or discrete machine-readable storage medium. In any of these particular embodiments, the processing circuitry QQ120 may be configured to perform the described functionality, whether or not it executes instructions stored in a machine-readable storage medium. The benefits provided by such functionality are not limited to only the processing circuitry QQ120, or to other components of the WD QQ110, but are enjoyed by the WD QQ110 as a whole, and / or by end users and the wireless network as a whole.
[0153] The processing circuit QQ120 may be configured to perform any of the determinations, calculations, or similar operations (e.g., predetermined acquisition operations) described herein as being performed by the WD. These operations, as performed by the processing circuit QQ120, may include processing the information acquired by the processing circuit QQ120, for example, by transforming the acquired information into other information, comparing the acquired information or the transformed information with information stored by the WD QQ110, and / or performing one or more operations based on the acquired information or the transformed information, and making a decision as a result of said processing.
[0154] The machine-readable medium QQ130 may be operable to store applications including one or more of computer programs, software, logic, rules, codes, tables, etc., and / or other instructions executable by the processing circuit QQ120. The machine-readable medium QQ130 may include computer memory (e.g., random access memory (RAM) or read-only memory (ROM)), mass storage media (e.g., hard disk), removable storage media (e.g., compact disc (CD) or digital video disc (DVD)), and / or any other volatile or non-volatile, permanent machine-readable and / or computer-executable memory device that stores information, data, and / or instructions that may be used by the processing circuit QQ120. In some embodiments, the processing circuit QQ120 and the machine-readable medium QQ130 may be considered to be integrated.
[0155] The user interface device QQ132 may provide components that allow a human user to interact with the WD QQ110. Such interaction may be in many forms, such as visual, auditory, tactile, etc. The user interface device QQ132 may be operable to generate output to the user and to allow the user to provide input to the WD QQ110. The type of interaction may vary depending on the type of user interface device QQ132 installed on the WD QQ110. For example, if the WD QQ110 is a smartphone, the interaction may be performed using a touch screen. If the WD QQ110 is a smart meter, the interaction may be performed using a screen that provides usage (e.g., number of gallons used) or a speaker that provides an audible alarm (e.g., if smoke is detected). The user interface device QQ132 may include input interfaces, devices and circuits, as well as output interfaces, devices and circuits. The user interface device QQ132 is configured to allow input of information to the WD QQ110 and is connected to the processing circuit QQ120 to allow the processing circuit QQ120 to process the input information. The user interface device QQ132 may include, for example, a microphone, a proximity sensor or other sensor, a key / button, a touch display, one or more cameras, a USB port, or other input circuitry. The user interface device QQ132 is also configured to allow output of information from the WD QQ110 and allow the processing circuit QQ120 to output information from the WD QQ110. The user interface device QQ132 may include, for example, a speaker, a display, a vibration circuitry, a USB port, a headphone interface, or other output circuitry. Using one or more input / output interfaces, devices, and circuits of the user interface device QQ132, the WD QQ110 can communicate with an end user and / or a wireless network and can provide the end user and / or the wireless network with the benefits of the functionality described herein.
[0156] The auxiliary device QQ134 is operable to provide more specific functions that may not generally be performed by a WD. It may include dedicated sensors for taking measurements for various purposes, interfaces for additional types of communication, such as wired communication, etc. The components included in the auxiliary device QQ134 and their types may vary depending on the embodiment and / or scenario.
[0157] The power source QQ136 may be in the form of a battery or battery pack in some embodiments. Other types of power sources, such as an external power source (e.g., a wall outlet), a photovoltaic device, or a power cell, may also be used. The WD QQ110 may further include a power supply circuit QQ137 that provides power from the power source QQ136 to various parts of the WD QQ110 that require power from the power source QQ136 to perform any of the functions described or shown herein. The power supply circuit QQ137 may have a power management circuit in certain embodiments. The power supply circuit QQ137 may additionally or alternatively be operable to receive power from an external power source, in which case the WD QQ110 may be connectable to an external power source (e.g., a wall outlet) via an interface such as an input circuit or a power cable. Also, in certain embodiments, the power supply circuit QQ137 may be operable to provide power from the external power source to the power source QQ136. This may be, for example, to charge the power source QQ136. The power supply circuit QQ137 may perform any formatting, conversion, or other modification to the power from the power supply QQ136 to make it suitable for the respective components of the WD QQ110 being powered.
[0158] FIG. 18 illustrates an embodiment of a UE according to various aspects described herein. As used herein, user equipment or UE does not necessarily have a user in the sense of a human user who owns and / or operates the associated device. Instead, a UE may represent equipment (e.g., a smart sprinkler control device) that is intended for sale to or operation by a human user, but may not be associated or initially associated with a particular human user. Alternatively, a UE may represent equipment (e.g., a smart power meter) that is not intended for sale to or operation by an end user, but may be associated with or operated for the benefit of a user. The UE QQ2200 may be any UE specified by the 3rd Generation Partnership Project (3GPP), including an NB-IoT UE, a Machine Type Communication (MTC) UE, and / or an enhanced MTC (eMTC) UE. As shown in FIG. QQ2, UE QQ200 is an example of a WD configured to communicate according to one or more communications standards promulgated by the 3rd Generation Partnership Project (3GPP), such as 3GPP's GSM, UMTS, LTE, and / or 5G standards. As mentioned above, the terms WD and UE may be used interchangeably. Thus, although FIG. QQ2 is a UE, the components described herein are equally applicable to a WD and vice versa.
[0159] In FIG. 18, UE QQ200 includes a processing circuit QQ201 operatively coupled with an input / output interface QQ205, a radio frequency (RF) interface QQ209, a network connection interface QQ211, a memory QQ215 including a random access memory (RAM) QQ217, a read only memory (ROM) QQ219, and a storage medium QQ221, a communication subsystem QQ231, a power source QQ233, and / or any other components, or any combination thereof. The storage medium QQ221 includes an operating system QQ223, an application program QQ225, and data QQ227. In other embodiments, the storage medium QQ221 may include other similar types of information. A particular UE may utilize all or only a subset of the components shown in FIG. QQ2. The level of integration between the components may vary from UE to UE. Additionally, a particular UE may include multiple instances of a component, such as multiple processors, multiple memories, multiple transceivers, multiple transmitters, multiple receivers, etc.
[0160] In FIG. 18, the processing circuit QQ201 may be configured to process computer instructions and data. The processing circuit QQ201 may be configured to implement any sequential state machine operable to execute machine instructions stored in memory as a machine-readable computer program, such as one or more hardware-implemented state machines (e.g., in discrete logic circuits, FPGAs, ASICs, etc.), programmable logic circuits with appropriate firmware, one or more stored programs, a general-purpose processor such as a microprocessor or digital signal processor (DSP), and appropriate software, or any combination thereof. For example, the processing circuit QQ201 may include two central processing units (CPUs). The data may be information in a form suitable for use by a computer.
[0161] In the illustrated embodiment, the input / output interface QQ205 may be configured to provide a communication interface for an input device, an output device, or an input and an output device. The UE QQ200 may be configured to utilize an output device using the input / output interface QQ205. The output device may use the same type of interface port as the input device. For example, a USB port may be used to provide input to the UE QQ200 and output from the UE QQ200. The output device may be a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smart card, another output device, or any combination thereof. The UE QQ200 may be configured to utilize an input device through the input / output interface QQ205 to allow a user to capture information into the UE QQ200. The input device may include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a webcam, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smart card, etc. The presence-sensitive display may include a capacitive or resistive touch sensor to detect input from a user. The sensor may be, for example, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, other similar sensors, or any combination thereof. For example, the input device may be an accelerometer, a magnetometer, a digital camera, a microphone, and a light sensor.
[0162] In FIG. 18, the RF interface QQ209 may be configured to provide a communication interface to RF components such as a transmitter, a receiver, and an antenna. The network connection interface QQ211 may be configured to provide a communication interface to the network QQ243a. The network QQ243a may include a wired and / or wireless network, such as a local area network (LAN), a wide area network (WAN), a computer network, a wireless network, a telecommunications network, other similar networks, or any combination thereof. For example, the network QQ243a may have a Wi-Fi network. The network connection interface QQ211 may be configured to include a receiver and a transmitter interface used to communicate with one or more other devices across a communication network according to one or more communication protocols such as Ethernet, TCP / IP, SONET, ATM, etc. The network connection interface QQ211 may implement receiver and transmitter functions appropriate for a communication network link (e.g., optical, electrical, etc.). The transmitter and receiver functions may share circuit components, software, or firmware, or may be implemented separately.
[0163] The RAM QQ217 may be configured to communicate with the processing circuit QQ201 via the bus QQ202 to provide storage or cache of data or computer instructions during execution of software programs such as an operating system, application programs, and device drivers. The ROM QQ219 may be configured to provide computer instructions or data to the processing circuit QQ201. For example, the ROM QQ219 may be configured to store invariant low-level system code or data for basic system functions such as basic input / output (I / O), booting, or receiving keystrokes from a keyboard, stored in non-volatile memory. The storage medium QQ221 may be configured to include memory such as RAM, ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disk, optical disk, floppy disk, hard disk, removable cartridge, or flash drive. In one example, storage medium QQ221 may be configured to include an operating system QQ223, an application program QQ225, such as a web browser application, a widget or gadget engine, or other application, and data files QQ227. Storage medium QQ221 may store any of a variety of operating systems or combinations of operating systems for use by UE QQ200.
[0164] The storage medium QQ221 may be configured to include multiple physical drive units, such as a redundant array of independent disks (RAID), a floppy disk drive, a flash memory, a USB flash drive, an external hard disk drive, a thumb drive, a pen drive, a key drive, a high density digital versatile disk (HD-DVD) optical disk drive, an internal hard disk drive, a Blu-Ray optical disk drive, a holographic digital data storage (HDDS) optical disk drive, an external mini dual in-line memory module (DIMM), a synchronous dynamic random access memory (SDRAM), an external micro-DIMM SDRAM, a smart card memory such as a subscriber identity module or a removable user identity (SIM / RUIM) module, other memory, or any combination thereof. The storage medium QQ221 may enable the UE QQ200 to access computer executable instructions, application programs, etc. stored in temporary or permanent memory to offload data or to upload data. An article of manufacture utilizing the communication system may be tangibly embodied in the storage medium QQ221, which may have a device-readable medium.
[0165] In FIG. 18, the processing circuit QQ201 may be configured to communicate with the network QQ243b using the communication subsystem QQ231. The network QQ243a and the network QQ243b may be one or more of the same networks or one or more different networks. The communication subsystem QQ231 may be configured to include one or more transceivers used to communicate with the network QQ243b. For example, the communication subsystem QQ231 may be configured to include one or more transceivers used to communicate with one or more remote transceivers of other devices capable of wireless communication, such as other WDs, UEs, or base stations of a radio access network (RAN), according to one or more communication protocols, such as IEEE 802.QQ2, CDMA, WCDMA, GSM, LTE, UTRAN, WiMax, etc. Each transceiver may include a transmitter QQ233 and / or a receiver QQ235 to respectively implement a transmitter or receiver function (e.g., frequency allocation, etc.) appropriate for the RAN link. Furthermore, the transmitter QQ233 and receiver QQ235 of each transceiver may share circuit components, software, or firmware or may be implemented separately.
[0166] In the illustrated embodiment, the communication capabilities of the communication subsystem QQ231 may include data communications, voice communications, multimedia communications, short-range communications such as Bluetooth, near-field communications, etc., location-based communications such as using a global positioning system (GPS) to determine location, another similar communication capability, or any combination thereof. For example, the communication subsystem QQ231 may include cellular communications, Wi-Fi communications, Bluetooth communications, and GPS communications. The network QQ243b may encompass wired and / or wireless networks, such as a local area network (LAN), a wide area network (WAN), a computer network, a wireless network, a telecommunications network, other similar networks, or any combination thereof. For example, the network QQ243b may be a cellular network, a Wi-Fi network, and / or a near-field wireless network. The power source QQ213 may be configured to provide alternating current (AC) or direct current (DC) power to the components of the UE QQ200.
[0167] The features, advantages, and / or functions described herein may be implemented in one of the components of the UE QQ200 or may be split across multiple components of the UE QQ200. Furthermore, the features, advantages, and / or functions described herein may be implemented in any combination of hardware, software, or firmware. In one example, the communication subsystem QQ231 may be configured to include any of the components described herein. Furthermore, the processing circuit QQ201 may be configured to communicate with any of such components via the bus QQ202. In another example, any of such components may be represented by program instructions stored in memory that perform the corresponding functions described herein as being performed by the processing circuit QQ201. In another example, the functions of any of such components may be split between the processing circuit QQ201 and the communication subsystem QQ231. In another example, the non-processing-intensive functions of any of such components may be realized in software or firmware, and the processing-intensive functions may be realized in hardware.
[0168] FIG. 19 is a schematic block diagram illustrating a virtualization environment QQ300 that can virtualize functions implemented by some embodiments. Virtualization means creating a virtual version of a device or equipment, and can include virtualizing hardware platforms, storage devices, and network resources. As used herein, virtualization can apply to a node (e.g., a virtualized base station or a virtualized wireless access node) or equipment (e.g., a UE, a wireless device, or any other type of communication device) or components thereof, and relates to implementations in which at least a portion of the functionality is implemented as one or more virtual components (e.g., using one or more applications, components, functions, virtual machines, or containers running on one or more physical processing nodes in one or more networks).
[0169] In some embodiments, some or all of the functionality described herein may be implemented as virtual components executed by one or more virtual machines implemented in one or more virtual environments QQ300 hosted by one or more hardware nodes QQ330. Additionally, in embodiments where the virtual nodes are not wireless access nodes or do not require wireless connectivity capabilities (e.g., core network nodes), the network nodes may be fully virtualized.
[0170] The functionality may be implemented by one or more applications QQ320 (which may also be referred to as software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) operable to perform some of the features, functions, and / or advantages of some embodiments disclosed herein. The application QQ320 executes in a virtualization environment QQ300 that provides hardware QQ330 having a processing circuit QQ360 and a memory QQ390. The memory QQ390 includes instructions QQ395 executable by the processing circuit QQ360, whereby the application QQ320 is operable to provide one or more of the features, advantages, and / or advantages disclosed herein.
[0171] The virtualization environment QQ300 has a general-purpose or dedicated network hardware device QQ330 having a set of one or more processors or processing circuits QQ360, which may be commercial off-the-shelf (COTS) processors, dedicated application specific integrated circuits (ASICs), or any other type of processing circuit including digital or analog hardware components or dedicated processors. Each hardware device may have a memory QQ390-1, which may be a non-persistent memory, for temporarily storing instructions QQ395 or software executed by the processing circuit QQ360. Each hardware device may have one or more network interface controllers (NICs) QQ370, also known as network interface cards, including a physical network interface QQ380. Each hardware device may also further include a non-transitory and persistent machine-readable storage medium QQ390-2 that stores software QQ395 and / or instructions executable by the processing circuit QQ360. Software QQ395 may include any type of software, including software for instantiating one or more virtualization layers QQ350 (also referred to as a hypervisor), software for running virtual machine QQ340, and software that enables the functions, features, and / or advantages described in association with some of the embodiments described herein to be performed.
[0172] Virtual machine QQ340 has virtual processing, virtual memory, virtual networking or interfaces and virtual storage, and may be executed by a corresponding virtualization layer QQ350 or hypervisor. Various embodiments of an instance of virtual appliance QQ320 may be implemented on one or more virtual machines QQ340, and the implementation may be done in different ways.
[0173] In operation, the processing circuitry QQ360 executes software QQ395 to instantiate a hypervisor or virtualization layer QQ350, sometimes referred to as a virtual machine monitor (VMM), which can provide a virtual operating platform that appears to the virtual machine QQ340 as network hardware.
[0174] As shown in Figure 19, the hardware QQ330 may be a standalone network node with generic or specific components. The hardware QQ330 may have an antenna QQ3225 and may implement some functions using virtualization. Alternatively, the hardware QQ330 may be part of a larger cluster of hardware (e.g., in a data center or customer premises equipment (CPE)) where many hardware nodes work together and are managed by a management and coordination (MANO) QQ3100 that oversees the lifecycle management of the application QQ320, among other things.
[0175] Hardware virtualization, referred to in some circles as network functions virtualization (NFV), can be used to consolidate many network equipment types onto industry-standard high-volume server hardware, physical switches, and physical storage that can reside in data centers, as well as customer premises equipment.
[0176] In the context of NFV, a virtual machine QQ340 may be a software implementation of a physical device that executes programs as if it were running on a physical, non-virtualized device. Each virtual machine QQ340, and the portion of the hardware QQ330 on which it runs, the hardware dedicated to that virtual machine and / or the hardware it shares with other virtual machines QQ340, form a separate Virtual Network Element (VNE).
[0177] In the context of NFV, a Virtual Network Function (VNF) is responsible for processing a specific network function running on one or more virtual machines QQ340 on top of a hardware network infrastructure QQ330, and corresponds to application QQ320 in FIG. 19.
[0178] In some embodiments, one or more radio units QQ3200, each including one or more transmitters QQ3220 and one or more receivers QQ3210, may be connected to one or more antennas QQ3225. The radio units QQ3200 may communicate directly with the hardware node QQ330 via one or more suitable network interfaces and may be used in combination with virtual components to provide radio functions such as a radio access node or base station to a virtual node.
[0179] In some embodiments, some signaling may be performed using a control system QQ3230, which may alternatively be used for communication between the hardware node QQ330 and the wireless unit QQ3200.
[0180] Figure 20 illustrates a telecommunications network connected to a host computer via an intermediate network according to some embodiments. In particular, referring to figure QQ4, according to an embodiment, a communication system includes a telecommunications network QQ410, such as a 3GPP type cellular network, consisting of an access network QQ411, such as a wireless access network, and a core network QQ414. The access network QQ411 has a number of base stations QQ412a, QQ412b, QQ412c, such as NBs, eNBs, gNBs, or other types of wireless access points, each of which defines a corresponding coverage area QQ413a, QQ413b, QQ413c. Each base station QQ412a, QQ412b, QQ412c can be connected to the core network QQ414 using a wired or wireless connection QQ415. A first UE QQ491 located in the coverage area QQ413c is configured to wirelessly connect to or be paged by a corresponding base station QQ412c. A second UE QQ492 in the coverage area QQ413a can wirelessly connect to a corresponding base station QQ412A. Although multiple UEs QQ491, QQ492 are shown in this example, the disclosed embodiments are equally applicable to a situation where a single UE is in a coverage area or connected to a corresponding base station QQ412.
[0181] The telecommunications network QQ410 is itself connected to a host computer QQ430, which may be implemented in hardware and / or software as a standalone server, a cloud-implemented server, a distributed server, or as a processing resource in a server farm. The host computer QQ430 may be owned or controlled by a service provider, or may be operated by or on behalf of the service provider. The connections QQ421 and QQ422 between the telecommunications network QQ410 and the host computer QQ430 may extend directly from the core network QQ414 to the host computer QQ430, or may go through an optional intermediate network QQ420. The intermediate network QQ420 may be one or a combination of two or more of a public network, a private network, a hosted network, and if there is an intermediate network QQ420, the intermediate network QQ420 may be a backbone network or the Internet, and in particular, the intermediate network QQ420 may have two or more sub-networks (not shown).
[0182] The communication system of FIG. 20 as a whole provides connectivity between the connected UEs QQ491, QQ492 and the host computer QQ430. This connectivity may be described as an over-the-top (OTT) connection QQ450. The host computer QQ430 and the connected UEs QQ491, QQ492 are configured to communicate data and / or signals through the OTT connection QQ450 using the access network QQ411, the core network QQ414, any intermediate network QQ420, and possibly further infrastructure (not shown) as intermediaries. The OTT connection QQ450 may be transparent in the sense that the participating communication devices through which the OTT connection QQ450 passes are unaware of the routing of the uplink and downlink communications. For example, the base station QQ412 will not be informed or need to be informed of the past routing of the inbound downlink communication with data originating from the host computer QQ430 being forwarded (e.g., handed over) to the connected UE QQ491. Similarly, base station QQ412 does not need to be aware of the future routing of outgoing uplink communications originating from UE QQ491 towards host computer QQ430.
[0183] An exemplary implementation of the UE, base station, and host computer discussed in the previous paragraphs according to one embodiment will be described with reference to FIG. 21. FIG. 21 illustrates a host computer communicating with user equipment via a base station over a connection, some of which is wireless, according to some embodiments. In the communication system QQ500, the host computer QQ510 has hardware QQ515 including a communication interface QQ516 configured to set up and maintain wired or wireless connections with interfaces of different communication devices of the communication system QQ500. The host computer QQ510 further has a processing circuit QQ518 that may have storage and / or processing capabilities. In particular, the processing circuit QQ518 may have one or more programmable processors, application specific integrated circuits, field programmable gate arrays, or combinations thereof (not shown) configured to execute instructions. The host computer QQ510 further has software QQ511 stored in or accessible to the host computer QQ510 and executable by the processing circuit QQ518. The software QQ511 includes a host application QQ512. The host application QQ512 may be operable to provide services to a remote user, such as the UE QQ530, connecting via an OTT connection QQ550 that terminates at the host computer QQ510. In providing services to the remote user, the host application QQ512 may provide user data to be transmitted using the OTT connection QQ550.
[0184] The communication system QQ500 further includes a base station QQ520 provided in the communication system, the base station QQ520 having hardware QQ525 enabling communication with the host computer QQ510 and the UE QQ530. The hardware QQ525 may include a communication interface QQ526 for setting up and maintaining wired or wireless connections with interfaces of different communication devices of the communication system QQ500, as well as a wireless interface QQ527 for setting up and maintaining at least a wireless connection QQ570 with a UE QQ530 located within a coverage area (not shown in FIG. QQ5) served by the base station QQ520. The communication interface QQ526 may be configured to facilitate a connection QQ560 to the host computer QQ510. The connection QQ560 may be direct or may pass through a core network (not shown in FIG. QQ5) of the telecommunication system and / or through one or more intermediate networks outside the telecommunication system. In the illustrated embodiment, the hardware QQ525 of the base station QQ520 further includes processing circuitry QQ528, which may include one or more programmable processors, application specific integrated circuits, field programmable gate arrays, or combinations thereof (not shown) configured to execute instructions. The base station QQ520 further includes software QQ521 stored internally or accessible via an external connection.
[0185] The communication system QQ500 further includes the UE QQ530 already referred to. Its hardware QQ535 may include a radio interface QQ537 configured to set up and maintain a radio connection QQ570 with a base station serving the coverage area in which the UE QQ530 is currently located. The hardware QQ535 of the UE QQ530 further includes a processing circuit QQ538, which may have one or more programmable processors, application specific integrated circuits, field programmable gate arrays, or combinations thereof (not shown) configured to execute instructions. The UE QQ530 further includes software QQ531 stored in or accessible by the UE QQ530 and executable by the processing circuit QQ538. The software QQ531 includes a client application QQ532. The client application QQ532 is operable to provide services to a human or non-human user via the UE QQ530 with the support of the host computer QQ510. In the host computer QQ510, a running host application QQ512 can communicate with a running client application QQ532 via an OTT connection QQ550 that terminates at the UE QQ530 and the host computer QQ510. In providing a service to a user, the client application QQ532 may receive request data from the host application QQ512 and provide user data in response to the request data. The OTT connection QQ550 can transfer both the request data and the user data. The client application QQ532 can interact with the user and generate user data to provide.
[0186] It should be noted that the host computer QQ510, base station QQ520, and UE QQ530 shown in Fig. QQ5 may be similar or identical to the host computer QQ430, one of the base stations QQ412a, QQ412b, and QQ412c, and one of the UEs QQ491 and QQ492 in Fig. QQ4, respectively. That is, the internal operation of these entities may be similar to that shown in Fig. 21, and independently, the surrounding network topology may be that shown in Fig. 20.
[0187] In FIG. 21, the OTT connection QQ550 is depicted abstractly to illustrate communication between the host computer QQ510 and the UE QQ530 via the base station QQ520, without explicitly showing intermediate devices or the exact routing of messages through these devices. The network infrastructure can make routing decisions that may be configured to be hidden from the UE QQ530, or from the service provider operated host computer QQ510, or both. The network infrastructure can further make decisions to dynamically change the routing while the OTT connection QQ550 is active (e.g., based on load balancing considerations or network reconfiguration).
[0188] The wireless connection QQ570 between the UE QQ530 and the base station QQ520 follows the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of the OTT service provided to the UE QQ530 using the OTT connection QQ550 of which the wireless connection QQ570 forms the final segment.
[0189] Measurement procedures may be provided to monitor data rates, delays, and other factors for which one or more embodiments may be improved. Additionally, there may be optional network functionality to reconfigure the OTT connection QQ550 between the host computer QQ510 and the UE QQ530 in response to variations in the measurement results. The measurement procedures and / or network functionality to reconfigure the OTT connection QQ550 may be implemented in the software QQ511 and hardware QQ515 of the host computer QQ510, or in the software QQ531 and hardware QQ535 of the UE QQ530, or both. In an embodiment, a sensor (not shown) may be provided in or associated with the communication equipment through which the OTT connection QQ550 passes, and the sensor may participate in the measurement procedure by providing values of the monitored quantities exemplified above, or by providing values of other physical quantities for which the software QQ511, QQ531 may calculate or estimate the monitored quantities. The reconfiguration of the OTT connection QQ550 may include message formats, retransmission settings, priority routing, and the like. The reconfiguration need not affect base station QQ520 and may be unknown or imperceptible to base station QQ520. Such procedures and functions are known and may be practiced in the art. In some embodiments, the measurements may include proprietary UE signaling to facilitate host computer QQ510 measurements of throughput, propagation time, delay, etc. The measurements may be performed by having the OTT connection QQ550 send messages, particularly empty or "dummy" messages, while software QQ511 and QQ531 monitor propagation times, errors, etc.
[0190] FIG. 22 is a flow chart illustrating a method implemented in a communication system according to one embodiment. The communication system includes a host computer, a base station, and a UE, which may be as described with reference to FIGS. QQ4 and QQ5. To simplify the disclosure, only drawing references to FIG. QQ6 are included in this section. In step QQ610, the host computer provides user data. In sub-step QQ611 of step QQ610 (which may be optional), the host computer provides the user data by executing a host application. In step QQ620, the host computer initiates a transmission carrying the user data to the UE. In step QQ630 (which may be optional), the base station transmits the user data carried in the host computer initiated transmission to the UE according to the teachings of the embodiments described throughout this disclosure. In step QQ640, the UE executes a client application associated with the host application executed by the host computer.
[0191] FIG. 23 is a flow chart illustrating a method implemented in a communication system according to one embodiment. The communication system includes a host computer, a base station, and a UE, which may be as described with reference to FIG. 20 and FIG. 21. To simplify this disclosure, only drawing references to FIG. QQ7 are included in this section. In step QQ710 of the method, the host computer provides user data. In an optional sub-step (not shown), the host computer provides the user data by executing a host application. In step QQ720, the host computer initiates a transmission carrying the user data to the UE. The transmission may be passed through the base station according to the teachings of the embodiments described throughout this disclosure. In step QQ730 (which may be optional), the UE receives the user data carried in the transmission.
[0192] FIG. 24 is a flow chart illustrating a method implemented in a communication system according to one embodiment. The communication system includes a host computer, a base station, and a UE, which may be as described with reference to FIGS. QQ4 and QQ5. To simplify the disclosure, only drawing references to FIG. QQ8 are included in this section. In step QQ810 (which may be optional), the UE receives input data provided by the host computer. Additionally or alternatively, in step QQ820, the UE provides user data. In sub-step QQ821 (which may be optional) of step QQ820, the UE provides the user data by executing a client application. In sub-step QQ811 (which may be optional) of step QQ810, the UE executes a client application that provides the user data in response to the received input data provided by the host computer. In providing the user data, the executed client application may further take into account user input received from the user. Regardless of the particular manner in which the user data is provided, the UE initiates transmission of the user data to the host computer in sub-step QQ830 (which may be optional). In method step QQ840, the host computer receives user data transmitted from the UE according to the teachings of the embodiments described throughout this disclosure.
[0193] FIG. 25 is a flow chart illustrating a method implemented in a communication system according to one embodiment. The communication system includes a host computer, a base station, and a UE, which may be as described with reference to FIG. QQ4 and QQ5. To simplify the disclosure, only drawing references to FIG. QQ9 are included in this section. In step QQ910 (which may be optional), the base station receives user data from the UE according to the teachings of the embodiments described throughout this disclosure. In step QQ920 (which may be optional), the base station initiates transmission of the received user data to the host computer. In step QQ930 (which may be optional), the host computer receives the user data carried in the transmission initiated by the base station.
[0194] Any suitable step, method, feature, function, or benefit disclosed herein may be performed via one or more functional units or modules of one or more virtual devices. Each virtual device may have a plurality of these functional units. These functional units may be implemented using processing circuitry, which may include one or more microprocessors or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), dedicated digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory. The memory may include one or several types of memory, such as read-only memory (ROM), random access memory (RAM), cache memory, flash memory devices, optical storage devices, and the like. The program code stored in memory includes program instructions for implementing one or more telecommunications and / or data communication protocols, as well as instructions for implementing one or more of the methods described herein. In some implementations, the processing circuitry may be used to cause each functional unit to perform a corresponding function according to one or more embodiments of the present disclosure.
[0195] In view of the above, embodiments herein generally include a communication system including a host computer. The host computer may have processing circuitry configured to provide user data. The host computer may also have a communication interface configured to transfer the user data to a cellular network for transmission to a user equipment (UE). The cellular network may include a base station having a radio interface and processing circuitry, the processing circuitry of the base station configured to perform any of the steps of any of the embodiments described above for the base station.
[0196] In some embodiments, the communication system further comprises a base station.
[0197] In some embodiments, the communication system further includes a UE, the UE configured to communicate with the base station.
[0198] In some embodiments, the processing circuitry of the host computer is configured to execute a host application, thereby providing user data, in which case the UE has processing circuitry configured to execute a client application associated with the host application.
[0199] Embodiments herein also include a method implemented in a communications system including a host computer, a base station, and a user equipment (UE). The method includes providing user data at the host computer. The method may also include initiating a transmission at the host computer conveying the user data to the UE over a cellular network having the base station. The base station performs any of the steps of any of the embodiments described above for the base station.
[0200] In some embodiments, the method further comprises transmitting the user data at the base station.
[0201] In some embodiments, the user data is provided at the host computer by executing a host application, in which case the method further comprises executing, at the UE, a client application associated with the host application.
[0202] Embodiments herein also include a user equipment (UE) configured to communicate with the base station, the UE having a radio interface and processing circuitry configured to perform any of the embodiments described above for the UE.
[0203] Embodiments herein further include a communication system including a host computer having a processing circuit configured to provide user data and a communication interface configured to transfer the user data to a cellular network for transmission to a user equipment (UE). The UE has a radio interface and a processing circuit. The components of the UE are configured to perform any of the steps of any of the embodiments described above for the UE.
[0204] In some embodiments, the cellular network further includes a base station configured to communicate with the UE.
[0205] In some embodiments, the processing circuitry of the host computer is configured to execute a host application, thereby providing the user data, and the processing circuitry of the UE is configured to execute a client application associated with the host application.
[0206] Embodiments also include a method implemented in a communications system including a host computer, a base station, and a user equipment (UE), the method including providing user data at the host computer and initiating a transmission conveying the user data to the UE over a cellular network having the base station, the UE performing any of the steps of any of the embodiments described above for the UE.
[0207] In some embodiments, the method further comprises receiving, at the UE, user data from the base station.
[0208] Embodiments herein further include a communication system including a host computer having a communication interface configured to receive user data originating from a transmission from a user equipment (UE) to a base station. The UE includes a radio interface and processing circuitry. The processing circuitry of the UE is configured to perform any of the steps of any of the embodiments described above for the UE.
[0209] In some embodiments, the communication system further includes a UE.
[0210] In some embodiments, the communication system further includes a base station, where the base station has a radio interface configured to communicate with the UE and a communication interface configured to transfer user data carried by transmissions from the UE to the base station to a host computer.
[0211] In some embodiments, processing circuitry of the host computer is configured to execute a host application, and processing circuitry of the UE is configured to execute a client application associated with the host application, thereby providing user data.
[0212] In some embodiments, processing circuitry of the host computer is configured to execute a host application, thereby providing the requested data, and processing circuitry of the UE is configured to execute a client application associated with the host application, thereby providing user data in response to the requested data.
[0213] Embodiments herein also include a method implemented in a communications system including a host computer, a base station, and a user equipment (UE), the method including receiving, at the host computer, user data transmitted from the UE to the base station, the UE performing any of the steps of any of the embodiments described above for the UE.
[0214] In some embodiments, the method further comprises providing, at the UE, user data to the base station.
[0215] In some embodiments, the method further comprises executing, at the UE, a client application, thereby providing the user data to be transmitted. The method may further comprise executing, at the host computer, a host application associated with the client application.
[0216] In some embodiments, the method further comprises executing, at the UE, a client application and receiving, at the UE, input data for the client application, the input data being provided at the host computer by executing a host application associated with the client application, the user data to be transmitted being provided by the client application in response to the input data.
[0217] An embodiment also includes a communication system including a host computer having a communication interface configured to receive user data originating from a transmission from a user equipment (UE) to a base station, the base station having a radio interface and processing circuitry, the processing circuitry of the base station configured to perform any of the steps of any of the embodiments described above for the base station.
[0218] In some embodiments, the communication system further comprises a base station.
[0219] In some embodiments, the communication system further includes a UE, the UE configured to communicate with the base station.
[0220] In some embodiments, the processing circuitry of the host computer is configured to execute a host application, and the UE is configured to execute a client application associated with the host application to provide user data received by the host computer.
[0221] Further embodiments include a method implemented in a communications system including a host computer, a base station, and a user equipment (UE), the method including receiving, at the host computer, user data from the base station, the user data originating from a transmission received by the base station from the UE, the UE performing any of the steps of any of the embodiments described above for the UE.
[0222] In some embodiments, the method further comprises receiving, at the base station, user data from the UE.
[0223] In some embodiments, the method further comprises initiating, at the base station, transmission of the received user data to the host computer.
[0224] In general, all terms used herein should be interpreted according to their ordinary meaning in the relevant technical field unless a different meaning is expressly given and / or implied from the context in which it is used. All references to singular elements, devices, components, means, steps, etc. should be openly interpreted as referring to at least one instance of the element, device, component, means, step, etc., unless expressly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless a step is expressly described as being after or before another step and / or it is implicit that a step must be after or before another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment where appropriate. Similarly, any advantage of any embodiment may be applied to any other embodiment and vice versa. Other objects, features, and advantages of the accompanying embodiments will become apparent from the description.
[0225] The term unit has its conventional meaning in the fields of electronics, electrical equipment and / or electronics and may include, for example, electric and / or electronic circuits, devices, modules, processors, memories, semiconductor logic circuits and / or discrete devices, computer programs or instructions, etc., for performing each task, procedure, computation, output and / or display function, etc., described herein.
[0226] Some embodiments contemplated herein are more fully described with reference to the accompanying drawings. However, other embodiments are within the scope of the subject matter disclosed herein. The disclosed subject matter should not be construed as being limited to only the embodiments described herein, but rather, these embodiments are provided as examples to convey the scope of the subject matter to those skilled in the art.
[0227] Exemplary embodiments Group A Embodiments
[0228] A1. A method performed by a wireless device configured for use in a wireless communication system, comprising: A method comprising receiving signaling indicating how a wireless device should generate a security token for integrity protection of a radio resource control (RRC) message requesting resumption or re-establishment of an RRC connection.
[0229] A2. The method of embodiment A1, wherein the signaling indicates which parameters should be input into an integrity algorithm for generating the security token, or that certain parameters should be input into an integrity algorithm for generating the security token.
[0230] A3. A method according to any of claims A1 to A2, wherein the first method of generating the security token is inputting a first set of parameters into an integrity algorithm, and the second method of generating the security token is inputting a second set of parameters into the same or a different integrity algorithm, and wherein the signaling comprises: indicating whether the wireless device should use the first method or the second method to generate the security token, or that the wireless device should use the second method to generate the security token.
[0231] A4. The method of embodiment A3, wherein the first parameter set is a subset of the second parameter set.
[0232] A5. The method of any one of embodiments A3 to A4, wherein the first set of parameters includes one or more of an integrity key, a count, a bearer ID, and a transmission direction.
[0233] A6. The method of any of embodiments A3 to A5, wherein the second set of parameters: a cause field indicating the cause for requesting the resumption or re-establishment of said RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) The method includes one or more of the following:
[0234] A7. The method of any of embodiments A1-A6, wherein the signaling comprises the wireless device transmitting the security token to: a cause field indicating the cause for requesting the resumption or re-establishment of said RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) A method for indicating whether or not to generate a scalable metric as a function of one or more of:
[0235] A8. The method of any of embodiments A1 to A7, further comprising generating the security token according to the signaling.
[0236] A9. The method of any one of embodiments A1 to A8, further comprising transmitting the RRC message and the generated security token.
[0237] A10. The method of any one of embodiments A1 to A9, wherein the security token is a message authentication code.
[0238] A11. The method of any of embodiments A1-A10, further comprising generating a Packet Data Convergence Protocol (PDCP) packet carrying the RRC message and including the security token in a header.
[0239] A12. The method of any one of embodiments A1 to A11, wherein the signaling comprises or is included in system information.
[0240] A13. The method of any of embodiments A1 to A11, further comprising receiving an RRC Release message indicating that the wireless device should release or suspend the RRC connection, the signaling being included in the RRC Release message.
[0241] A14. A method according to any of embodiments A1 to A11, further comprising receiving an RRC message while the RRC connection is established or during a procedure for establishing the RRC connection, and the signaling is included in the received RRC message.
[0242] A15. The method of any of embodiments A1 to A11, further comprising receiving a non-access stratum (NAS) message, wherein the signaling is included in the NAS message.
[0243] A16. The method of any one of embodiments A1 to A15, wherein the RRC message requests resumption of the RRC connection.
[0244] A17. The method of any one of embodiments A1 to A16, wherein the security token is resumeMAC-I.
[0245] A18. A method according to any of embodiments A1 to A17, wherein the signaling is received from a network node and indicates how a wireless device generates a security token for integrity protection of an RRC message when the network node is a source or target of a resumption or re-establishment of an RRC connection requested by an RRC message.
[0246] A19. A method according to any of embodiments A1 to A18, wherein the signaling indicates how the wireless device generates a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection to a specific target network node or a specific target cell.
[0247] A20. A method according to any of embodiments A1 to A19, wherein the signaling indicates how the wireless device generates a security token for integrity protection of an RRC message requesting resumption or re-establishment of a previously established RRC connection with a particular source network node or a particular source cell.
[0248] A21. The method of any one of embodiments A1 to A20, comprising: generating an RRC message to request a specific target network node or a specific target cell to resume or re-establish a previously established RRC connection with a specific source network node or a specific source cell; determining, based at least in part on the received signaling, how a wireless device generates a security token for integrity protection of the generated RRC message; generating a security token for integrity protection of the generated RRC message according to the determination; transmitting the RRC message and the generated security token.
[0249] A22. The method of embodiment A21, wherein said determining comprises: determining a source method and a target method based at least in part on the received signaling, the source method being a method by which the wireless device generates the security token for the particular source network node or the particular source cell, and the target method being a method by which the wireless device generates the security token for the particular target network node or the particular target cell; and determining a manner in which the wireless device generates the security token for integrity protection of the generated RRC message based on the source method and the target method.
[0250] A23. The method of embodiment A22, wherein a first method of generating the security token is inputting a first set of parameters into an integrity algorithm, and a second method of generating the security token is inputting a second set of parameters into the integrity algorithm, the second set of parameters including the first set of parameters as well as one or more additional parameters, and wherein the determining includes determining to generate the security token using the second method only if both the source method and the target method are each the second method.
[0251] A24. A method according to any of embodiments A1 to A23, further comprising transmitting signaling from the wireless device indicating how the wireless device has generated, can generate, or can generate a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection.
[0252] A25. The method of embodiment A24, further comprising transmitting the RRC message and the generated security token, the transmitted signaling being included in the transmitted RRC message.
[0253] A26. The method of embodiment A24, wherein the transmitted signaling is capability signaling indicating how the wireless device can generate a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection.
[0254] Group AA embodiment AA1. A method performed by a wireless device configured for use in a wireless communication system, comprising: 1. A method comprising: transmitting signaling from a radio resource control (RRC) device indicating how the wireless device has generated, can generate, or can generate a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection.
[0255] AA2. The method of embodiment AA1, in which the signaling indicates which parameters the wireless device has input, will input, or can input into an integrity algorithm for generating the security token.
[0256] AA3. The method of any of embodiments AA1-AA2, wherein the first method of generating the security token is inputting a first set of parameters to an integrity algorithm, and the second method of generating the security token is inputting a second set of parameters to the integrity algorithm, and the signaling comprises: the wireless device has used, is using, or can use either the first method or the second method to generate the security token; or A method indicating that the wireless device has used, is using, or is capable of using the second method to generate the security token.
[0257] AA4. The method of embodiment AA3, wherein the first parameter set is a subset of the second parameter set.
[0258] AA5. The method of any of embodiments AA3 to AA4, wherein the first set of parameters includes one or more of an integrity key, a count, a bearer ID, and a transmission direction.
[0259] AA6. The method of any one of embodiments AA3 to AA5, wherein the second set of parameters comprises: a cause field indicating the cause for requesting the resumption or re-establishment of said RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) The method includes one or more of the following:
[0260] AA7. The method of any of embodiments AA1 to AA6, wherein the signaling comprises the wireless device transmitting the security token to: a cause field indicating the cause for requesting the resumption or re-establishment of said RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) A method for indicating whether or not a feature has been generated, will be generated, or is capable of being generated as a function of one or more of the above.
[0261] AA8. The method of any of embodiments AA1 to AA7, further comprising generating the security token according to the signaling.
[0262] AA9. The method of any of embodiments AA1 to AA8, further comprising transmitting the RRC message and the generated security token.
[0263] AA10. The method of any of embodiments AA1 to AA9, wherein the security token is a message authentication code.
[0264] AA11. The method of any of embodiments AA1-AA10, further comprising generating a Packet Data Convergence Protocol (PDCP) packet carrying the RRC message and including the security token in a header.
[0265] AA12. The method of any one of embodiments AA1 to AA11, wherein the security token is resumeMAC-I.
[0266] AA13. The method of any of embodiments AA1 to AA12, further comprising transmitting the RRC message and the generated security token, the transmitted signaling being included in the transmitted RRC message.
[0267] AA14. The method of any one of embodiments AA1 to AA13, wherein the transmitted signaling is capability signaling indicating how the wireless device can generate a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection.
[0268] AA. The method of any of the preceding embodiments, comprising: The method further comprising providing user data and transferring the user data to a host computer with the transmission to a base station.
[0269] Group B Embodiments B1. A method performed by a network node configured for use in a wireless communication system, comprising: A method comprising: transmitting signaling from a network node indicating how a wireless device should generate a security token for integrity protection of a Radio Resource Control (RRC) message requesting resumption or re-establishment of an RRC connection.
[0270] B2. The method of embodiment B1, wherein the signaling indicates which parameters should be input to an integrity algorithm for generating the security token, or that certain parameters should be input to an integrity algorithm for generating the security token.
[0271] B3. The method of any of embodiments B1-B2, wherein the first method of generating the security token is inputting a first set of parameters to an integrity algorithm, and the second method of generating the security token is inputting a second set of parameters to the integrity algorithm, and the signaling comprises: whether the wireless device should use the first method or the second method to generate the security token; or indicating that the wireless device should use the second method to generate the security token.
[0272] B4. The method of embodiment B3, wherein the first parameter set is a subset of the second parameter set.
[0273] B5. The method of any of embodiments B3-B4, wherein the first set of parameters includes one or more of an integrity key, a count, a bearer ID, and a transmission direction.
[0274] B6. The method of any of embodiments B3 to B5, wherein the second set of parameters: a cause field indicating the cause for requesting the resumption or re-establishment of said RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) The method includes one or more of the following:
[0275] B7. The method of any of embodiments B1-B6, wherein the signaling comprises the wireless device transmitting the security token to: a cause field indicating the cause for requesting the resumption or re-establishment of said RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) A method for indicating whether or not to generate a scalable metric as a function of one or more of:
[0276] B8. The method of any of embodiments B1-B7, further comprising receiving the RRC message and the security token.
[0277] B9. The method of embodiment B8, further comprising verifying the integrity of the received RRC message using the security token.
[0278] B10. The method of any one of embodiments B1 to B9, wherein the security token is a message authentication code.
[0279] B11. The method of any of embodiments B1-B10, further comprising receiving a Packet Data Convergence Protocol (PDCP) packet carrying the RRC message and including the security token in a header.
[0280] B12. The method of any one of embodiments B1 to B11, wherein the signaling comprises or is included in system information.
[0281] B13. The method of any one of embodiments B1 to B11, further comprising: sending an RRC Release message indicating that the wireless device should release or suspend the RRC connection, the signaling being included in the RRC Release message.
[0282] B14. The method of any of embodiments B1 to B11, further comprising transmitting an RRC message while the RRC connection is established or during a procedure for establishing the RRC connection, the signaling being included in the received RRC message.
[0283] B15. The method of any of embodiments B1-B11, further comprising sending a non-access stratum (NAS) message, the signaling being included in the NAS message.
[0284] B16. The method of any one of embodiments B1 to B15, wherein the RRC message requests resumption of the RRC connection.
[0285] B17. The method of any one of embodiments B1 to B16, wherein the security token is resumeMAC-I.
[0286] B18. The method of any one of embodiments B1 to B17, wherein the signaling indicates how a wireless device generates a security token for integrity protection of an RRC message when the network node is a source or target of a resumption or re-establishment of an RRC connection requested by an RRC message.
[0287] B19. The method of any one of embodiments B1 to B18, wherein the signaling indicates how the wireless device generates a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection to a specific target network node or a specific target cell.
[0288] B20. The method of any of embodiments B1 to B19, wherein the signaling indicates how the wireless device generates a security token for integrity protection of an RRC message requesting resumption or re-establishment of a previously established RRC connection with a particular source network node or a particular source cell.
[0289] B21. A method according to any of embodiments B1 to B20, further comprising receiving signaling from the wireless device indicating how the wireless device has generated, can generate, or can generate a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection.
[0290] B22. The method of embodiment B21, further comprising receiving the RRC message and the security token, wherein the received signaling is included in the received RRC message.
[0291] B23. The method of embodiment B21, wherein the received signaling is capability signaling indicating how the wireless device can generate a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection.
[0292] B24. The method of any one of embodiments B21 to B23, comprising: receiving the RRC message and the security token; determining a method for generating an expected security token based on the received signaling; generating the anticipated security token based on the determination; and verifying integrity of the RRC message using the generated expected security token and the received security token.
[0293] Group BB embodiment BB1. A method performed by a network node configured for use in a wireless communication system, comprising: 1. A method comprising: receiving signaling from a radio resource control (RRC) device indicating how the wireless device has generated, can generate, or can generate a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection.
[0294] BB2. The method of embodiment BB1, wherein the signaling indicates which parameters the wireless device has input, will input, or can input into an integrity algorithm for generating the security token.
[0295] BB3. A method according to any of embodiments BB1 to BB2, wherein the first method of generating the security token comprises inputting a first set of parameters to an integrity algorithm, and the second method of generating the security token comprises inputting a second set of parameters to the integrity algorithm, and the signalling comprises: the wireless device has used, is using, or can use either the first method or the second method to generate the security token; or A method indicating that the wireless device has used, is using, or is capable of using the second method to generate the security token.
[0296] BB4. The method of embodiment BB3, wherein the first parameter set is a subset of the second parameter set.
[0297] BB5. The method of any of embodiments BB3 to BB4, wherein the first set of parameters includes one or more of an integrity key, a count, a bearer ID, and a transmission direction.
[0298] BB6. The method of any one of embodiments BB3 to BB5, wherein the second set of parameters comprises: a cause field indicating the cause for requesting the resumption or re-establishment of said RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) The method includes one or more of the following:
[0299] BB7. The method of any of embodiments BB1 to BB6, wherein the signaling comprises the wireless device transmitting the security token to: a cause field indicating the cause for requesting the resumption or re-establishment of said RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) A method for indicating whether or not a feature has been generated, will be generated, or is capable of being generated as a function of one or more of the above.
[0300] BB8. The method of any of embodiments BB1 to BB7, further comprising generating a predicted security token based on the signaling.
[0301] BB9. The method of any of embodiments BB1-BB8, further comprising receiving the RRC message and the security token.
[0302] BB10. The method of any of embodiments BB1-BB9, wherein the security token is a message authentication code.
[0303] BB11. The method of any of embodiments BB1-BB10, further comprising generating a Packet Data Convergence Protocol (PDCP) packet carrying the RRC message and including the security token in a header.
[0304] BB12. The method of any of embodiments BB1 to BB11, wherein the security token is resumeMAC-I.
[0305] BB13. The method of any of embodiments BB1-BB12, further comprising receiving the RRC message and the security token, wherein the received signaling is included in the received RRC message.
[0306] BB14. The method of any of embodiments BB1-BB13, wherein the received signaling is capability signaling indicating how the wireless device can generate a security token for integrity protection of an RRC message requesting resumption or re-establishment of an RRC connection.
[0307] BB15. The embodiment of any one of embodiments BB1 to BB14, receiving the RRC message and the security token; determining a method for generating an expected security token based on the received signaling; generating an expected security token based on said determination; verifying integrity of the RRC message using the generated expected security token and the received security token.
[0308] BB. The method of any of the preceding embodiments, comprising: The method further comprising obtaining user data and transferring the user data to a host computer or a wireless device.
[0309] Group C Embodiments C1. A wireless device configured to perform any of the steps of any of the embodiments of Group A.
[0310] C2. A wireless device having processing circuitry configured to perform any of the steps of any of the embodiments of Group A.
[0311] C3. A wireless device, A communication circuit; and processing circuitry configured to perform any of the steps of any of the embodiments of Group A.
[0312] C4. A wireless device, a processing circuit configured to perform any of the steps of any of the embodiments of Group A; and a power supply circuit configured to provide power to the wireless device.
[0313] C5. A wireless device, A wireless device having a processing circuit and a memory, said memory storing instructions executable by said processing circuit, whereby said wireless device is configured to perform any of the steps of any of the embodiments of Group A.
[0314] C6. A user equipment (UE), an antenna configured to transmit and receive wireless signals; a radio front-end circuit coupled to the antenna and to a processing circuit and configured to condition signals communicated between the antenna and the processing circuit; wherein the processing circuitry is configured to perform any of the steps of any of the embodiments of Group A; an input interface connected to the processing circuitry and configured to allow input of information into the UE for processing by the processing circuitry; an output interface connected to the processing circuit and configured to output information processed by the processing circuit from the UE; a battery coupled to the processing circuit and configured to power the UE.
[0315] C7. A computer program having instructions which, when executed by at least one processor of a wireless device, cause the wireless device to perform the steps of any of the embodiments of Group A.
[0316] C8. A carrier comprising the computer program of embodiment C7, the carrier being one of an electrical signal, an optical signal, a radio signal, or a computer-readable storage medium.
[0317] C9. A network node configured to perform any of the steps of any of the Group B embodiments.
[0318] C10. A network node having processing circuitry configured to perform any of the steps of any of the embodiments of Group B.
[0319] C11. A network node, A communication circuit; and processing circuitry configured to perform the steps of any of the Group B embodiments.
[0320] C12. A network node, a processing circuit configured to perform the steps of any of the Group B embodiments; A power supply circuit configured to supply power to the network node.
[0321] C13. A network node, A network node having a processing circuit and a memory, said memory storing instructions executable by said processing circuit, whereby said network node is configured to perform any of the steps of any of the Group B embodiments.
[0322] C14. The network node of any of embodiments C9 to C13, wherein the network node is a base station.
[0323] C15. A computer program having instructions which, when executed by at least one processor of a network node, cause the radio network node to perform the steps of any of the Group B embodiments.
[0324] C16. The computer program product of embodiment C14, wherein the network node is a base station.
[0325] C17. A carrier comprising a computer program according to any one of embodiments C15 to C16, the carrier being one of an electrical signal, an optical signal, a radio signal, or a computer-readable storage medium.
[0326] Group D embodiment
[0327] D1. A communication system including a host computer, The host computer includes a processing circuit configured to provide user data; a communication interface configured to transfer the user data to a cellular network for transmission to a user equipment (UE); A communications system, wherein the cellular network includes a base station having a radio interface and processing circuitry, the processing circuitry of the base station being configured to perform any of the steps of any of the Group B embodiments.
[0328] D2. The communication system of the previous embodiment, further comprising the base station.
[0329] D3. The communication system of the previous two embodiments, further comprising the UE, the UE configured to communicate with the base station.
[0330] D4. A communication system according to the previous three embodiments, the processing circuitry of the host computer is configured to execute a host application thereby providing the user data; The UE comprises processing circuitry configured to execute a client application associated with the host application.
[0331] D5. A method implemented in a communications system including a host computer, a base station, and a user equipment (UE), comprising: providing user data at the host computer; and initiating, at the host computer, a transmission conveying the user data to the UE over a cellular network having the base station, the base station performing any of the steps of any of the Group B embodiments.
[0332] D6. The method of any preceding embodiment, further comprising transmitting, at the base station, the user data.
[0333] D7. The method according to the previous two embodiments, wherein the user data is provided at the host computer by executing a host application, and the method further comprises executing, at the UE, a client application associated with the host application.
[0334] D8. A user equipment (UE) configured to communicate with a base station, the UE having a radio interface and processing circuitry configured to perform any of the previous three embodiments.
[0335] D9. A communication system including a host computer, The host computer includes: a processing circuit configured to provide user data; a communication interface configured to transfer user data to a cellular network for transmission to a user equipment (UE); The UE has a radio interface and processing circuitry, and the UE components are configured to perform any of the steps of any of the embodiments of Group A.
[0336] D10. The communication system of any preceding embodiment, wherein the cellular network further includes a base station configured to communicate with the UE.
[0337] D11. A communication system according to the previous two embodiments, the processing circuitry of the host computer is configured to execute a host application thereby providing the user data; A communications system, wherein the processing circuitry of the UE is configured to execute a client application associated with the host application.
[0338] D12. A method implemented in a communication system including a host computer, a base station, and a user equipment (UE), comprising: providing user data at the host computer; and initiating, at the host computer, a transmission conveying the user data to the UE via a cellular network having the base station, wherein the UE performs any of the steps of any of the embodiments of Group A.
[0339] D13. The method of any preceding embodiment, further comprising receiving, at the UE, the user data from the base station.
[0340] D14. A communication system including a host computer, The host computer has a communications interface configured to receive user data originating from a user equipment (UE) transmission to a base station; A communications system, wherein the UE has a radio interface and processing circuitry, and the processing circuitry of the UE is configured to perform any of the steps of any of the embodiments of Group A.
[0341] D15. The communication system of the previous embodiment, further comprising the UE.
[0342] D16. The communication system of the previous two embodiments, further comprising a base station, the base station having a radio interface configured to communicate with the UE and a communication interface configured to transfer the user data carried by transmissions from the UE to the base station to the host computer.
[0343] D17. A communication system according to the previous three embodiments, the processing circuitry of the host computer is configured to execute a host application; A communications system, wherein processing circuitry of the UE is configured to execute a client application associated with a host application, thereby providing the user data.
[0344] D18. A communication system according to any one of the preceding four embodiments, the processing circuitry of the host computer is configured to execute a host application, thereby providing requested data; A communications system, wherein processing circuitry of the UE is configured to execute a client application associated with a host application, thereby providing the user data in response to the requested data.
[0345] D19. A method implemented in a communications system including a host computer, a base station, and a user equipment (UE), comprising: A method comprising receiving, at the host computer, user data transmitted from the UE to the base station, wherein the UE performs any of the steps of any of the embodiments of Group A.
[0346] D20. The method of any preceding embodiment, further comprising: at the UE, providing the user data to the base station.
[0347] D21. The method according to the previous two embodiments, executing, at the UE, a client application thereby providing the user data to be transmitted; The method further comprising executing, on the host computer, a host application associated with the client application.
[0348] D22. The method according to the previous three embodiments, executing a client application in the UE; receiving, at the UE, input data for the client application, the input data being provided by executing a host application associated with the client application; The method, wherein the transmitted user data is provided by the client application in response to the input data.
[0349] D23. A communications system including a host computer having a communications interface configured to receive user data originating from a transmission from a user equipment (UE) to a base station, the base station having a radio interface and processing circuitry, the processing circuitry of the base station configured to perform any of the steps of any of the Group B embodiments.
[0350] D24. The communication system of any preceding embodiment, further comprising the base station.
[0351] D25. The communication system of the previous two embodiments, further comprising the UE, the UE configured to communicate with the base station.
[0352] D26. A communication system according to any one of the preceding three embodiments, the processing circuitry of the host computer is configured to execute a host application; The UE is configured to execute a client application associated with the host application, thereby providing the user data for reception by the host computer.
[0353] D27. A method implemented in a communications system including a host computer, a base station, and a user equipment (UE), comprising: A method comprising receiving, at the host computer, from the base station, user data originating from a transmission received by the base station from the UE, the UE performing any of the steps of any of the embodiments of Group A.
[0354] D28. The method of any preceding embodiment, further comprising receiving, at the base station, the user data from the UE.
[0355] D29. The method of any two preceding embodiments, further comprising initiating, at the base station, transmission of the received user data to the host computer.
[0356] The following claims are selected embodiments from those described above. The claims relate to an RRC message requesting re-establishment of an RRC connection. However, it will be appreciated that a divisional or continuing application could be filed having substantially the same claims, except that the RRC message requests re-establishment of the RRC connection, as supported by the above-mentioned documents.
[0357] Abbreviation In this disclosure, at least some of the following abbreviations may be used. In case of discrepancies between the abbreviations, the usage in the above document shall prevail. If multiple listings are made below, the first listing shall prevail over any one or more subsequent listings. 3GPP Third Generation Partnership Project 5G 5th Generation CGI Cell Global Identifier C-RNTI Cell RNTI DL Downlink E-SMLC Evolved Serving Mobile Location Center eNB E-UTRAN Node B ePDCCH Enhanced Physical Downlink Control Channel E-UTRA Evolved UTRA E-UTRAN Evolved UTRAN GERAN GSM EDGE Radio Access Network gNB NR base station GSM Global System for Mobile Communications HSPA High Speed Packet Access LPP LTE Positioning Protocol LTE Long Term Evolution MAC Message Authentication Code NPDCCH Narrowband Physical Downlink Control Channel NR New Radio PCell Primary Cell PDCCH Physical Downlink Control Channel PLMN Public Land Mobile Network PUCCH Physical Uplink Control Channel PUSCH Physical Uplink Shared Channel RACH Random Access Channel RAN Radio Access Network RAT Radio Access Technology RNTI Radio Network Temporary Identifier RRC Radio Resource Control SCell Secondary Cell SDU Service Data Unit System Information SIB System Information Block SON Self-optimizing Network TTI Transmission Time Interval UE User Equipment UL Uplink UMTS Universal Mobile Telecommunications System USIM Universal Subscriber Identity Module UTRAN Universal Terrestrial Radio Access Network WLAN Wide Area Local Area Network
Claims
1. A method performed by a wireless device (12) for use in a wireless communication system (10), comprising: receiving (W2100) signaling (22) indicating how the wireless device (12) should generate a message authentication code (MAC) (20) for integrity protection of a radio resource control (RRC) message (18) requesting resumption of an RRC connection; generating (W2110) the MAC (20) in accordance with the signaling; and transmitting (W2120) the RRC message (18) and the generated MAC (20).
2. 2. The method of claim 1, wherein the signaling (22) indicates which parameters to input to an integrity algorithm (30A) to generate the MAC (20).
3. a first method (26A) for generating the MAC (20) comprising inputting a first set of parameters (28A) into an integrity algorithm (30A), and a second method (26B) for generating the MAC (20) comprising inputting a second set of parameters (28B) into the same algorithm (30A) or a different integrity algorithm (30B), the first set of parameters (28A) being a subset of the second set of parameters (28B), and the signaling (22) comprising: whether the wireless device (12) should use the first method (26A) or the second method (26B) to generate the MAC (20); or that the wireless device (12) should use the second method (26B) to generate the MAC (20); The method according to any one of claims 1 to 2, wherein
4. 4. The method of claim 3, wherein the first set of parameters (28A) includes one or more of an integrity key, a count, a bearer ID, and a transmission direction indicator.
5. The second set of parameters (28B) a cause field indicating a cause for requesting resumption of the RRC connection; Cell Radio Network Temporary Identifier (C-RNTI) and The method according to any one of claims 3 to 4, comprising one or more of the following:
6. The signaling (22) is a signal that the wireless device (12) transmits the MAC (22) to the 6. The method of claim 1, further comprising indicating whether or not to generate or to generate the RRC connection resumption information as a function of one or more of a cause field indicating the cause for requesting resumption of the RRC connection and a Cell Radio Network Temporary Identifier (C-RNTI).
7. 7. The method of claim 1, comprising generating a Packet Data Convergence Protocol (PDCP) packet carrying the RRC message (18) and including the MAC (20) in a header.
8. The method according to claim 1 , wherein the signaling comprises or is included in system information.
9. The method of claim 8 , wherein the signaling is included in System Information Block 1.
10. 10. The method of claim 1, further comprising receiving an RRC Release message indicating that the wireless device should release or suspend the RRC connection, and wherein the signaling (22) is included in the RRC Release message.
11. 11. The method of claim 1, comprising receiving a Non-Access Stratum (NAS) message, and wherein the signaling (22) is included in the NAS message.
12. 12. The method of claim 1, wherein the MAC (20) is resumeMAC-I.
13. 13. The method of claim 1, wherein the signaling (22) is received from a network node (40) and indicates how the wireless device (12) generates the MAC (20) for integrity protection of the RRC message if the network node (40) is a source or target of a resumption of the RRC connection requested by the RRC message.
14. 14. The method according to claim 1, wherein the signaling (22) indicates how the wireless device (12) generates the MAC (20) for integrity protection of the RRC message (18) requesting resumption of an RRC connection to a specific target network node or a specific target cell.
15. 15. The method according to claim 1, wherein the signaling (22) indicates how the wireless device (12) generates the MAC (20) for integrity protection of the RRC message requesting resumption of the RRC connection previously established with a particular source network node or a particular source cell.
16. generating an RRC message to request a specific target network node or a specific target cell to resume a previously established RRC connection with a specific source network node or a specific source cell; determining, based at least in part on the received signaling (22), how the wireless device (12) should generate the MAC (20) for integrity protection of the generated RRC message; generating the MAC (20) for integrity protection of the generated RRC message according to the determination; 16. The method of claim 1, further comprising: transmitting the RRC message and the generated MAC (20).
17. The determining step comprises: determining a source method and a target method based at least in part on the received signaling (22), where the source method is a method by which the wireless device (12) generates the MAC (20) for the particular source network node or the particular source cell, and the target method is a method by which the wireless device (12) generates the MAC (20) for the particular target network node or the particular target cell; and determining, based on the source method and the target method, how the wireless device generates the MAC (20) for integrity protection of the generated RRC message.
18. 18. The method of claim 17, wherein a first method (26A) for generating the MAC (20) is inputting a first set of parameters (28A) into an integrity algorithm (30A), and a second method (26B) for generating the MAC (20) is inputting a second set of parameters (28B) into the integrity algorithm (30A), the second set of parameters (28B) including the first set of parameters (28A) as well as one or more additional parameters, and wherein determining comprises determining to generate the MAC (20) using the second method (26B) only if both the source method and the target method are respectively the second method (26B).
19. 19. The method according to claim 1, further comprising: transmitting (W2130) from the wireless device (12) signaling indicating how the wireless device (12) has generated, or is capable of generating, the MAC (20) for integrity protection of the RRC message (18) requesting resumption of the RRC connection.
20. 20. The method of claim 1, wherein the signaling (22) indicates that the wireless device (12) generates the MAC (22) using the entire RRCResumeRequest message as input to an integrity algorithm.
21. A method performed by a wireless device (12) for use in a wireless communication system (10), comprising: transmitting, from a wireless device, signaling indicating how the wireless device has generated, or is capable of generating, a Message Authentication Code (MAC) (20) for integrity protection of a Radio Resource Control (RRC) message (18) requesting resumption of an RRC connection.
22. 22. The method of claim 21, wherein the signaling indicates which parameters the wireless device (12) has input, will input, or can input into an integrity algorithm (30A) for generating the MAC (20).
23. 23. The method of any one of claims 21 to 22, wherein the signaling (22) indicates that the wireless device (12) generates the MAC (22) using the entire RRCResumeRequest message as input to an integrity algorithm.
24. a first method (26A) of generating the MAC (20) comprising inputting a first set of parameters (28A) to an integrity algorithm (30A), a second method (28B) of generating the MAC (20) comprising inputting a second set of parameters (28B) to the integrity algorithm (30A), and the signaling comprises: the wireless device (12) has used, is using, or can use either the first method (26A) or the second method (26B) to generate the MAC (20); or said wireless device (12) has used, is using or is capable of using said second method (26B) to generate said MAC (20); The method according to any one of claims 21 to 23, wherein
25. 25. The method of claim 24, wherein the first parameter set (28A) is a subset of the second parameter set (28B).
26. 25. A method according to any one of claims 23 to 24, wherein the first set of parameters (28A) includes one or more of an integrity key, a count, a bearer ID and an indicator of a transmission direction.
27. The second set of parameters (28B) a cause field indicating a cause for requesting resumption of the RRC connection; Cell Radio Network Temporary Identifier (C-RNTI) and 27. The method of any one of claims 24 to 26, comprising one or more of the following:
28. The signaling is performed by the wireless device (12) transmitting the MAC (20) a cause field indicating the cause for requesting resumption of the RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) 28. A method according to any one of claims 21 to 27, further comprising indicating whether or not the method has been generated, will be generated, or is capable of being generated as a function of one or more of:
29. 29. The method of claim 21, further comprising generating a Packet Data Convergence Protocol (PDCP) packet carrying the RRC message (18) and including the MAC (20) in a header.
30. 30. The method of any one of claims 21 to 29, wherein the MAC (20) is resumeMAC-I.
31. 30. The method of any one of claims 21 to 29, comprising transmitting the RRC message (18) and the generated MAC (20), wherein the transmitted signaling is included in the transmitted RRC message (18).
32. 32. The method according to claim 21, wherein the transmitted signaling is capability signaling indicating how the wireless device (12) can generate the MAC (20) for integrity protection of the RRC message (18) requesting resumption of an RRC connection.
33. A method performed by a network node (40) for use in a wireless communication system (10), comprising the steps of: The method includes transmitting (W5200) signaling from the network node (40) to a wireless device (12) indicating how the wireless device (12) should generate a message authentication code (MAC) (20) for integrity protection of a radio resource control (RRC) message (18) requesting resumption of an RRC connection.
34. 34. The method of claim 33, wherein the signaling (22) indicates which parameters to input to an integrity algorithm (30A) for generating the MAC (20).
35. A first method (26A) for generating the MAC (20) is inputting a first set of parameters (28A) into an integrity algorithm (30A), and a second method (26B) for generating the MAC (20) is inputting a second set of parameters (28B) into the integrity algorithm (30A), and the signaling (22) is whether the wireless device (12) should use the first method (26A) or the second method (26B) to generate the MAC (30); or that the wireless device (12) should use the second method (26B) to generate the MAC (20); The method according to any one of claims 33 to 34, wherein
36. 36. The method of claim 35, wherein the first parameter set (28A) is a subset of the second parameter set (28B).
37. 37. A method according to any one of claims 35 to 36, wherein the first set of parameters (28A) includes one or more of an integrity key, a count, a bearer ID and an indicator of a transmission direction.
38. The second set of parameters (28B) a cause field indicating the cause for requesting resumption of the RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) 38. The method of any one of claims 35 to 37, comprising one or more of the following:
39. The signaling (22) is a signal that the wireless device (12) transmits to the MAC (20): a cause field indicating the cause for requesting resumption of the RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) 39. The method of any one of claims 33 to 38, further comprising indicating whether or not to generate or to generate as a function of one or more of:
40. 40. The method of any one of claims 33 to 39, comprising receiving the RRC message (18) and the MAC (20).
41. 41. The method of claim 40, comprising verifying the integrity of the received RRC message (18) using the MAC (20).
42. 42. The method of any one of claims 33 to 41, comprising receiving a Packet Data Convergence Protocol (PDCP) packet carrying the RRC message (18) and including the MAC (20) in a header.
43. 43. The method according to any one of claims 33 to 42, wherein the signaling (22) comprises or is included in system information.
44. 43. The method of any one of claims 33 to 42, further comprising sending an RRC Release message indicating that the wireless device (12) should release or suspend the RRC connection, and wherein the signaling (22) is included in the RRC Release message.
45. 43. The method according to any one of claims 33 to 42, comprising transmitting an RRC message to the wireless device (12) during the establishment of the RRC connection or during a procedure for establishing the RRC connection, and wherein the signaling (22) is included in the transmitted RRC message.
46. 43. A method according to any one of claims 33 to 42, comprising transmitting a Non-Access Stratum (NAS) message, said signalling (22) being included in said NAS message.
47. 47. The method of any one of claims 33 to 46, wherein the MAC (20) is resumeMAC-I.
48. 48. The method according to claim 33, wherein the signaling (22) indicates how the wireless device (12) generates the MAC (20) for integrity protection of the RRC message (18) when the network node (40) is the source or target of an RRC connection resumption requested by the RRC message (18).
49. 49. The method according to any one of claims 33 to 48, wherein the signaling (22) indicates how the wireless device (12) generates the MAC (20) for integrity protection of an RRC message requesting resumption of an RRC connection to a specific target network node or a specific target cell.
50. 50. The method according to claim 33, wherein the signaling (22) indicates how the wireless device (12) generates the MAC (20) for integrity protection of an RRC message requesting resumption of a previously established RRC connection with a particular source network node or a particular source cell.
51. A method according to any one of claims 33 to 50, comprising receiving (W5205) signaling from the wireless device (12) indicating how the wireless device (12) has generated, generated or is capable of generating the MAC (20) for integrity protection of the RRC message (18) requesting resumption of the RRC connection.
52. 52. The method of claim 51, comprising receiving (W5210) the RRC message (18) and the MAC (20).
53. 52. The method of claim 51, wherein the received signaling is capability signaling indicating how the wireless device (12) can generate the MAC (20) for integrity protection of the RRC message requesting resumption of an RRC connection.
54. receiving (W5210) the RRC message (18) and the MAC (20); determining a manner of generating an expected MAC based on the received signaling; generating said expected MAC based on said determination; and 54. The method of claim 51, further comprising: verifying (W5220) the integrity of the RRC message (18) using the generated expected MAC and the received MAC (20).
55. A method performed by a network node (40) for use in a wireless communication system (10), comprising the steps of:
1. A method comprising: receiving signaling from a wireless device (12) indicating how the wireless device (12) has generated, or is capable of generating, a MAC (20) for integrity protection of a Radio Resource Control (RRC) message (18) requesting resumption of an RRC connection.
56. 56. The method of claim 55, wherein the signaling indicates which parameters the wireless device (12) has input, will input, or can input into an integrity algorithm (30A) for generating the MAC (20).
57. a first method (26A) of generating the MAC (20) comprising inputting a first set of parameters (28A) to an integrity algorithm (30A), a second method (28B) of generating the MAC (20) comprising inputting a second set of parameters (28B) to the integrity algorithm, and the signaling comprises: the wireless device (12) has used, is using, or can use either the first method (26A) or the second method (26B) to generate the MAC (20); or said wireless device (12) has used, is using or is capable of using said second method (26B) to generate said MAC (20); 57. The method of any one of claims 55 to 56, wherein:
58. 58. The method of claim 57, wherein the first parameter set (28A) is a subset of the second parameter set (28B).
59. 59. A method according to any one of claims 57 to 58, wherein the first set of parameters (28A) includes one or more of an integrity key, a count, a bearer ID and an indicator of a transmission direction.
60. The second set of parameters (28B) a cause field indicating a cause for requesting resumption of the RRC connection; Cell Radio Network Temporary Identifier (C-RNTI) and 60. The method of any one of claims 57 to 59, comprising one or more of the following:
61. The signaling includes the wireless device transmitting the MAC (20): a cause field indicating the cause for requesting resumption of the RRC connection; or Cell Radio Network Temporary Identifier (C-RNTI) 61. A method according to any one of claims 55 to 60, indicating whether or not it has been generated, will be generated, or is capable of being generated as a function of one or more of:
62. 62. The method of any one of claims 55 to 61, comprising generating an expected MAC based on the signaling.
63. 63. The method of any one of claims 55 to 62, comprising receiving the RRC message (18) and the MAC (20).
64. 64. The method of any one of claims 55 to 63, comprising generating a Packet Data Convergence Protocol (PDCP) packet carrying the RRC message and including the MAC in a header.
65. 65. The method of any one of claims 55 to 64, wherein the MAC (20) is resumeMAC-I.
66. 66. The method of any one of claims 55 to 65, comprising receiving the RRC message (18) and the MAC (20), wherein the received signaling is included in the received RRC message (18).
67. 67. The method of any one of claims 55 to 66, wherein the received signaling is capability signaling indicating how the wireless device (12) can generate the MAC (20) for integrity protection of the RRC message requesting resumption of an RRC connection.
68. receiving (W5210) the RRC message (18) and the MAC (20); determining a manner of generating an expected MAC based on the received signaling; generating said expected MAC based on said determination; and 68. The method of claim 55, further comprising: verifying (W5220) the integrity of the RRC message (18) using the generated expected MAC and the received MAC (20).
69. A wireless device (12) configured to carry out a method according to any one of claims 1 to 32.
70. A wireless device (12), A wireless device (12) having a processing circuit (110) and a memory (130), the memory (130) storing instructions executable by the processing circuit, whereby the wireless device (12) is configured to perform a method according to any one of claims 1 to 32.
71. A computer program (140) having instructions which, when executed by at least one processor of a wireless device (12), cause the wireless device (12) to perform a method according to any one of claims 1 to 32.
72. A network node (40) configured to carry out the method according to any one of claims 33 to 68.
73. A network node (40), A network node (40) having a processing circuit (410) and a memory (430), the memory (430) storing instructions executable by the processing circuit (410), whereby the network node (40) is configured to perform a method according to any one of claims 33 to 68.
74. A network node (40) according to any one of claims 72 and 73, wherein the network node (40) is a base station.
75. 75. The network node (40) of claim 74, wherein the base station is a gNB.
76. A computer program (440) having instructions (440) which, when executed by at least one processor of a radio network node (40), causes said radio network node (40) to perform a method according to any one of claims 33 to 68.
77. 77. A carrier containing a computer program according to any one of claims 71 and 76, the carrier being one of an electrical signal, an optical signal, a radio signal, or a computer readable storage medium.
78. A communication system including a host computer, The host computer, a processing circuit configured to provide user data; a communications interface configured to transfer the user data to a cellular network for transmission to a user equipment; 69. A communications system, wherein the cellular network comprises a base station having a radio interface and processing circuitry, the processing circuitry of the base station being configured to perform a method according to any one of claims 33 to 68.