Managing persistent connections using network components
Through the continuous connection management offload function (PCMOF), the KA message and ACK operation between the UE and the server will be offloaded to the network component, solving the power consumption and network load problems of the UE when maintaining a persistent connection, and improving resource usage efficiency and user experience .
Patent Information
- Application Number
- CN201910986883.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-10-17
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2039-10-17
AI Technical Summary
While maintaining a persistent connection between a user device (UE) and a server, periodic transmission of a keep-alive (KA) message results in increased UE power consumption and network load, resulting in inefficient resource usage.
Through the continuous connection management offload function (PCMOF), operations routinely performed by the UE are offloaded to network components, including receiving and processing KA messages and ACKs, thereby avoiding the power costs associated with transmitting KA messages and receiving ACKs, and reducing cellular communication traffic .
It effectively reduces the power consumption and network load of the UE, improves the efficiency of persistent connection management between the UE and the server, reduces resource waste, and improves user experience and network performance.
Smart Images

Figure CN112688764B_ABST
Abstract
Description
Background Art
[0001] A user device (UE) may establish and maintain a persistent connection with a server via a network connection. For example, the UE may be configured to receive push notifications from the server via a persistent connection. In order to maintain a persistent connection, the UE may transmit a keep-alive (KA) message to the server. The KA message may indicate to the server that the connection between the UE and the server should be retained for future communications.
[0002] Under normal circumstances, the UE may periodically transmit KA messages to the server. From the UE's perspective, the rate at which KA messages are transmitted has an impact on both performance and power. For example, if a connection problem occurs between the UE and the server, the UE may not receive a push notification from the server until the UE transmits the next scheduled KA message. Therefore, the longer the duration between periodic transmissions of KA messages, the longer the UE may have to wait to receive push notifications. However, transmitting KA messages causes the UE to experience power consumption. Therefore, while maintaining a persistent connection, the UE may have to sacrifice power for performance or sacrifice performance for power.
[0003] The server may be configured to provide push notifications to multiple UEs. From a network perspective, KA messages and related communication traffic may increase network load, thereby causing network performance degradation. Therefore, maintaining a persistent connection between a UE and a network in a conventional manner is an inefficient use of both UE and network resources. Summary of the invention
[0004] An exemplary embodiment includes a method performed by a network component configured to communicate with a user equipment (UE) and a server. The method includes receiving a first packet from the UE, wherein the first packet indicates to the network component that the network component will perform one or more operations on behalf of the UE to maintain a persistent connection with the server, receiving a second packet from the server, and determining whether to transmit a signal to the UE based on the second packet received from the server.
[0005] Additional exemplary embodiments include a network component having a communication interface configured to communicate with a user equipment (UE) and a server and executable instructions configured to cause the network component to perform operations. The operations include receiving a first packet from the UE, wherein the first packet indicates to the network component that the network component is to perform one or more operations on behalf of the UE to maintain a persistent connection with the server, receiving a second packet from the server, and determining whether to transmit a signal to the UE based on the second packet received from the server.
[0006] Additional exemplary embodiments include a user equipment (UE) having a transceiver and a processor, the transceiver configured to establish a persistent connection with a server and communicate with a network component, the processor configured to perform operations. The operations include transmitting a first packet to the network component, wherein the first packet indicates to the network component that the network component will perform one or more operations on behalf of the UE to maintain a persistent connection with the server, identifying an out of service (OOS) event, receiving registration information from the network component corresponding to the server after the OOS event, and registering with the server based on the registration information received from the network component. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 Exemplary network arrangements are shown according to various exemplary embodiments.
[0008] Figure 2 An exemplary UE according to various exemplary embodiments is shown.
[0009] Figure 3 A signaling diagram related to maintaining a persistent connection between a UE and a push notification server in a conventional manner is shown.
[0010] Figure 4 A signaling diagram is shown in connection with maintaining a persistent connection between a UE and a push notification server using PCMOF according to various exemplary embodiments.
[0011] Figure 5 An exemplary method for a UE to offload periodic KA messages to a PCMOF according to various exemplary embodiments is shown.
[0012] Figure 6 A signaling diagram related to incoming push notifications is shown according to various exemplary embodiments.
[0013] Figure 7 A signaling diagram related to opportunistic re-registration of a UE with a push notification server is shown according to various exemplary embodiments.
[0014] Figure 8 An exemplary method for a UE configured to infrequently communicate with a push notification server is shown. DETAILED DESCRIPTION
[0015] The exemplary embodiments may be further understood with reference to the following description and the associated drawings, wherein similar elements have the same reference numerals. The exemplary embodiments describe apparatus, systems, and methods for managing a persistent connection between a user device (UE) and a server. As will be described below, the exemplary embodiments relate to offloading various operations conventionally performed by a UE to a network component.
[0016] The exemplary embodiments are described with respect to UE. However, reference to UE is provided for illustration purposes only. The exemplary embodiments may be used with any electronic component that can establish a connection with a network and is configured with hardware, software and / or firmware for exchanging information and data with the network. Therefore, the UE described herein is used to represent any electronic component.
[0017] The exemplary embodiments are also described with respect to a push notification server. The push notification server may be configured to send push notifications to multiple UEs. However, references to push notification servers and push notifications are provided for illustrative purposes only and are not intended to limit the scope of the exemplary embodiments to push notifications only. The exemplary embodiments may be applicable to any network component configured to transmit any type of data to a UE.
[0018] The UE may establish a persistent connection with a push notification server. The push notification may be provided to the UE by the push notification server via a persistent connection. Throughout this specification, the term "persistent connection" may refer to a communication channel between a UE and a server that is intended for more than one message. From the perspective of the UE, messages may be received via a persistent connection regardless of the operating state of the UE (e.g., connected state, idle state, low power state, full power state, etc.). From the perspective of the server, a persistent connection is typically intended to remain open. However, reference to the term "persistent connection" is provided for illustrative purposes only. Different networks and entities may refer to similar concepts by different names.
[0019] Under normal circumstances, in order to maintain a persistent connection between the UE and the push notification server, the UE may transmit a keep-alive (KA) message to the push notification server. The KA message indicates to the push notification server that the persistent connection will be retained for future communications. The KA message may be transmitted periodically and / or triggered by a predetermined condition. In response to the KA message, the push notification server may transmit an acknowledgment (ACK) message to the UE. When the persistent connection is active, the push notification server may transmit a push notification to the UE.
[0020] An exemplary embodiment involves offloading various operations conventionally performed by a UE to a network component. Throughout this specification, this network component may be referred to as a persistent connection management offload function (PCMOF). The PCMOF may communicate with both the UE and the push notification server. As will be described in more detail below, once a persistent connection between the UE and the push notification server is established, the PCMOF may transmit a KA message to the push notification server on behalf of the UE. The PCMOF may also receive an ACK on behalf of the UE. Therefore, the PCMOF allows the UE to maintain a connection with the push notification server while avoiding the power costs associated with transmitting KA messages and receiving ACKs. In addition, since the KA message and ACK are not transmitted between the UE and the push notification server, the cellular communication traffic at the radio access network (RAN) level is reduced.
[0021] The exemplary embodiments describe various configurations and scenarios in which the PCMOF performs one or more operations on behalf of the UE. However, the exemplary embodiments are not limited to the scenarios and configurations described herein. This exemplary PCMOF may be used with other currently implemented persistent connection management technologies, future specific implementations of persistent connection management technologies, or independently of other persistent connection management technologies.
[0022] Figure 1 A network arrangement 100 according to an exemplary embodiment is shown. The network arrangement 100 includes a UE 110. Those skilled in the art will appreciate that the UE 110 may be any type of electronic component configured to communicate via a network, such as a mobile phone, a tablet, a smart phone, a phablet, an embedded device, a wearable device, a Cat-M device, a Cat-M1 device, an MTC device, an eMTC device, other types of Internet of Things (IoT) devices, etc. A practical network arrangement may include any number of UEs used by any number of users. Therefore, the example of a single UE 110 is provided for illustration purposes only.
[0023] UE 110 may be configured to communicate directly with one or more networks. In the example of network arrangement 100, UE 110 may communicate wirelessly with a 5G New Radio (NR) radio access network (5G NR RAN) 120 and a wireless local access network (WLAN) 122. However, UE 110 may also communicate with other types of networks (e.g., LTE RAN, traditional RAN, etc.). UE 110 may also communicate with a network via a wired connection. Therefore, UE 110 may include a 5G NR chipset for communicating with 5G NR RAN 120 and an ISM chipset for communicating with WLAN 124.
[0024] The 5G NR RAN 120 may be part of a cellular network that may be deployed by a cellular provider (e.g., Verizon, AT&T, Sprint, T-Mobile, etc.). The 5G NR RAN 120 may include, for example, cells or base stations (Node B, eNodeB, HeNB, eNBS, gNB, gNodeB, macrocell base stations, microcell base stations, small cell base stations, femtocell base stations, etc.) configured to send and receive communication traffic from UEs equipped with appropriate cellular chipsets. The WLAN 122 may include any type of wireless local area network (WiFi, hotspot, IEEE 802.11x network, etc.).
[0025] UE 110 may be connected to 5G NR RAN 120 via next generation Node B (gNB) 120A. Those skilled in the art will appreciate that any relevant process may be performed for UE 110 to connect to 5G NR RAN 120. For example, as discussed above, 5G NR RAN 120 may be associated with a particular cellular provider at which UE 110 and / or its user has a contract and credential information (e.g., stored on a SIM card). Once the presence of 5G NR RAN 120 is detected, UE 110 may transmit corresponding credential information in order to associate with 5G NR RAN 120. More specifically, UE 110 may be associated with a particular cell (e.g., gNB 120A of 5G NR RAN 120). As described above, the use of 5G NR RAN 120 is for illustration purposes, and any type of network may be used. For example, UE 110 may also be connected to LTE-RAN (not shown) or traditional RAN (not shown).
[0026] In addition to networks 120 and 122, network arrangement 100 also includes a cellular core network 130. Cellular core network 130 can be viewed as an interconnected collection of components that manage the operation and traffic of a cellular network. In this example, the components include access and mobility management function (AMF) 132, user plane function (UPF) 134, and persistent connection management offload function (PCMOF) 136. However, an actual cellular core network may include a variety of other components that perform any of a variety of different functions.
[0027] AMF 132 performs operations related to mobility management, such as, but not limited to, paging, non-access stratum (NAS) management, and registration process management between UE 110 and cellular core network 130. UPF 134 performs operations such as, but not limited to, user communication traffic transmission functions, IP address management of UE 110, and provides quality of service (QoS) enforcement functions.
[0028] PCMOF 136 can be configured to perform various operations related to establishing and managing the persistent connection between UE 110 and push notification server 170 on behalf of UE 110. PCMOF 136 may include a communication interface that allows PCMOF 136 (directly or indirectly) to communicate with other network components in cellular core network 130 and components outside cellular core network 130. The communication interface can also be able to communicate with another component using an out-of-band communication channel. The out-of-band communication channel can be used to ensure that PCMOF 136 can communicate with another component when network problems or functions (e.g., firewalls, filters, etc.) will otherwise prevent PCMOF 136 from receiving incoming traffic or sending outgoing traffic. In some embodiments, PCMOF 136 is included in UPF 134. However, any reference to AMF 132, UPF 134 and PCMOF 136 is provided only for schematic illustration. Different networks can refer to components that perform similar functions by different names.
[0029] The push notification server 170 communicates directly or indirectly with the Internet 140 and the cellular core network 130. The UE 110 may establish a persistent connection with the push notification server 170. The push notification server 170 may transmit push notifications to the UE 110 via the persistent connection. As described above, the PCMOF 136 may be configured to perform various operations on behalf of the UE 110, and therefore, the PCMOF 136 may communicate with both the UE 110 and the push notification server 170.
[0030] The network arrangement 100 also includes a cellular core network 130, the Internet 140, an IP multimedia subsystem (IMS) 150, and a network service backbone 160. The cellular core network 130 also manages traffic flowing between the cellular network and the Internet 140. The IMS 150 can be generally described as an architecture for delivering multimedia services to the UE 110 using IP protocols. The IMS 150 can communicate with the cellular core network 130 and the Internet 140 to provide multimedia services to the UE 110. The network service backbone 160 communicates directly or indirectly with the Internet 140 and the cellular core network 130. The network service backbone 160 can be generally described as a set of components (e.g., servers, network storage arrangements, etc.) that implement a set of services that can be used to extend the functionality of the UE 110 to communicate with various networks.
[0031] Figure 2 An exemplary UE 110 is shown according to various exemplary embodiments. Figure 1100 for describing the UE 110. The UE 110 may represent any electronic device and may include a processor 205, a memory arrangement 210, a display device 215, an input / output (I / O) device 220, a transceiver 225, and other components 230. The other components 230 may include, for example, an audio input device, an audio output device, a battery providing a limited power source, a data acquisition device, a port for electrically connecting the UE 110 to other electronic devices, a sensor for detecting the status of the UE 110, and the like.
[0032] Processor 205 may be configured to execute multiple engines of UE 110. For example, the engines may include daemon 235. Daemon 235 may be executed as a background process and perform various operations related to managing push notifications at UE 110. Daemon 235 may manage push notifications on behalf of one or more applications.
[0033] The execution of the above-mentioned engine by the processor 205 is merely exemplary. The functions associated with the daemon 235 may also be represented as an independent combined component of the UE 110, or may be a modular component coupled to the UE 110, for example, an integrated circuit with or without firmware. For example, the integrated circuit may include an input circuit for receiving a signal and a processing circuit for processing the signal and other information. The engine may also be embodied as an application or multiple separate applications. In addition, in some UEs, the functions described for the processor 205 are shared between two or more processors such as a baseband processor and an application processor. The exemplary embodiments may be implemented in any of these or other configurations of the UE.
[0034] The memory 210 may be a hardware component configured to store data related to operations performed by the UE 110. As will be described in further detail below, when performing the determination of the operating mode, the memory 210 may store data associated with the status of the UE 110. The display device 215 may be a hardware component configured to display data to a user, and the I / O device 220 may be a hardware component that enables the user to input. The display device 215 and the I / O device 220 may be independent components or may be integrated together (such as a touch screen). The transceiver 225 may be a hardware component configured to establish a connection with the 5G NR RAN 120, the WLAN 122, etc. Therefore, the transceiver 225 can operate on multiple different frequencies or channels (e.g., a continuous frequency group).
[0035] As described above, PCMOF 136 may perform various operations conventionally performed by UE 110 when maintaining a persistent connection. To provide general examples of some types of operations that PCMOF 136 may perform on behalf of UE 110, signaling diagrams 300 and 400 are provided below. Figure 3 Signaling diagram 300 of FIG. 1 provides an example of how UE 110 may maintain a persistent connection with push notification server 170 in a conventional manner (eg, without utilizing PCMOF 136 ). Figure 4 Signaling diagram 400 provides an example of operations performed by PCMOF 136 on behalf of UE 110.
[0036] Figure 3 A signaling diagram 300 is shown in connection with maintaining a persistent connection between a UE 110 and a push notification server 170 in a conventional manner. The signaling diagram 300 will be described with reference to the UE 110 and the network arrangement 100. Consider the following exemplary scenario, where the UE 110 is camped on a gNB 120A of a 5G NR RAN 120 and is in an idle state.
[0037] In 305, UE 110 and gNB 120A engage in a signaling exchange for registering UE 110 with 5G NR RAN 120. One of ordinary skill in the art will appreciate that the registration process may include radio resource control (RRC) signaling for transitioning UE 110 to a connected state. The registration process may also include various signaling between UE 110, gNB 120A, and various network entities for establishing various bearers via a network connection and accessing the full range of services normally available to UE 110.
[0038] At 310, UE 110 and push notification server 170 engage in a signaling exchange for registering UE 110 with push notification server 170. This may include configuring a socket at push notification server 170 for UE 110 for services of interest to the UE (e.g., incoming IP-based message notifications).
[0039] To ensure that the connection with the push notification server 170 remains active, the UE 110 may be configured to transmit periodic KA messages to the push notification server 170. If the push notification server 170 does not receive a KA message from the UE 110 for a predetermined amount of time, the push notification server 170 may assume that the UE 110 is unavailable and may therefore close the socket and terminate the persistent connection.
[0040] In 315, UE 110 transmits a first KA message to push notification server 170. In 320, push notification server 170 may transmit a first ACK to UE 110 in response to the first KA message.
[0041] In 325, UE 110 transmits a second KA message to push notification server 170. In 330, in response to the second KA message, push notification server 170 may transmit a second ACK to UE 110. The interval between the first KA message and the second KA message may be based on a predetermined duration, a schedule, a predetermined condition, or any combination thereof relative to the first KA message.
[0042] In 335, the push notification server 170 transmits the push notification to the UE 110. For example, the UE 110 may be configured to receive notifications about the user's social media account. Although the corresponding application is not open, the UE 110 (e.g., the daemon 235) may notify the user of the notification. As described above, the exemplary embodiments are not limited to push notifications and may be applicable to any type of data transmitted to the UE 110 via a persistent connection.
[0043] In 340, UE 110 transmits a third KA message to push notification server 170. In 345, push notification server 170 may transmit a third ACK to UE 110 in response to the third KA message.
[0044] As long as UE 110 is powered on and has a network connection, the exchange of periodic KA messages and ACKs can be repeated. However, as described above, the rate at which KA messages are transmitted has an impact on power and performance. For example, consider the following scenario, in which a connection problem occurs between UE 110 and push notification server 170 after UE 110 receives the second ACK. This connection problem is indicated by point 350. In this scenario, UE 110 can only receive the push notification transmitted in 335 after the third KA message is transmitted in 340. Therefore, the push notification waits to be received by UE 110 from at least point 350 until the third KA message is transmitted in 340. Therefore, the longer the duration between KA messages, the longer the time that UE 110 may not receive push notifications from push notification server 170. This may result in a poor user experience. However, the periodic transmission of KA messages and the reception of ACKs cause UE 110 to experience power consumption. Therefore, when maintaining a persistent connection in a conventional manner, UE 110 may have to sacrifice power for performance, or sacrifice performance for power.
[0045] Figure 4 A signaling diagram 400 is shown in connection with maintaining a persistent connection between a UE 110 and a push notification server 170 utilizing PCMOF 136 according to various exemplary embodiments. The signaling diagram 400 will be described with respect to the UE 110 and the network arrangement 100. Consider the following exemplary scenario, in which the UE 110 is camped on a gNB 120A of a 5G NR RAN 120 and is in an idle state.
[0046] In 405, UE 110 and gNB 120A engage in a signaling exchange for registering UE 110 with 5G NR RAN 120. This is similar to the signaling exchange described above in 305 of signaling diagram 300.
[0047] In 410, the UE 110 and the push notification server 170 engage in a signaling exchange for registering the UE 110 with the push notification server 170. This is similar to the signaling exchange described in 310 of the signaling diagram 300 above.
[0048] In 415, UE 110 transmits an offload configuration packet to PCMOF 136, which enables PCMOF 136 to manage periodic KA messages on behalf of UE 110. Figure 5 Method 500 of the present invention describes in more detail how UE 110 determines the availability of PCMOF 136 and offloads the contents of the configuration packet. Signaling diagram 400 is intended only to provide a general example of the difference between using PCMOF 136 to perform operations on behalf of UE 110 and the conventional persistent connection management technique shown in signaling diagram 300.
[0049] In 420, PCMOF 136 transmits a first KA message to push notification server 170 on behalf of UE 110. In 425, in response to the first KA message, push notification server 170 may transmit a first ACK to UE 110. However, PCMOF 136 is configured to intercept transmissions from push notification server 170 to UE 110 and determine whether the transmission should be forwarded to UE 110. In this example, since the transmission is an ACK, PCMOF 136 does not forward the transmission. Therefore, UE 110 is able to avoid the power consumption of receiving and processing the ACK.
[0050] At 430, PCMOF 136 transmits a second KA message to push notification server 170 on behalf of UE 110. At 435, in response to the second KA message, push notification server 170 may transmit a second ACK to UE 110. Similar to the first ACK, this transmission is intercepted by PCMOF 136 and not forwarded to UE 110. Comparison of signaling diagram 300 with signaling diagram 400 shows that by using PCMOF 136, UE 110 is able to avoid the power cost of transmitting the KA message and receiving the ACK. Figure 6 An example of how PCMOF 136 may handle push notifications is described in signaling diagram 600 of FIG.
[0051] Figure 5An exemplary method 500 for UE 110 to offload periodic KA messages to PCMOF 136 according to various exemplary embodiments is shown. Figure 1 The network layout of 100 and Figure 2 The method 500 is described with reference to the UE 110 of FIG.
[0052] In 505, UE 110 determines that periodic KA messages are to be transmitted to push notification server 170. UE 110 may make this determination based on identity daemon 235 being started and having completed registration with push notification server 170.
[0053] In 510, UE 110 identifies an indication that PCMOF 136 is available. In addition to identifying that PCMOF 136 is available, UE 110 may also collect information that allows UE 110 to contact PCMOF 136. For example, UE 110 may obtain one or more of an IPv4 address of PCMOF 136, an IPv6 address of PCMOF 136, or a port number used to communicate with PCMOF 136. It should be noted that PCMOF may be specific to a registration area or public land mobile network (PLMN). Therefore, during a mobility period in which UE 110 moves across a registration area or PLMN, UE 110 may have to repeat the process.
[0054] The PCMOF 136 information may be received from any of a variety of different sources. For example, during network registration and / or protocol data unit (PDU) session establishment with the cellular core network 130, the UE 110 may receive an indication that the PCMOF 136 is available.
[0055] The PCMOF 136 information may also be received from a server in the control plane of the network. For example, the UE 110 may be configured to communicate with various network components in the control plane of the network. The UE 110 may send a request for information about any available PCMOF to a particular server. In response, the UE 110 may receive the PCMOF 136 information from the server.
[0056] The PCMOF 136 information may also be received from a server in the user plane of the network. For example, the UE 110 may be configured to communicate with various network components in the user plane of the network. The UE 110 may send an Internet Protocol (IP) packet to a particular server, requesting information about any available PCMOFs. In response, the UE 110 may receive the PCMOF 136 information from the server.
[0057] The PCMOF 136 information may also be included in an operator package. An operator package is one or more files that may be stored in the memory arrangement 210 of the UE 110 and contain settings specific to a particular operator. Thus, the UE 110 may reference the stored operator package to retrieve the PCMOF 136 information. However, reference to the operator package is for exemplary purposes only, and different entities may refer to similar concepts by different names. The exemplary embodiments may be applied to any type of information stored on the UE 110.
[0058] In 515, UE 110 transmits an offload configuration packet to PCMOF 136 based on the PCMOF 136 information received in 510. The offload configuration packet may be a User Datagram Protocol (UDP) packet, a Transmission Control Protocol (TCP) packet, or a packet conforming to any other suitable protocol.
[0059] The offload configuration packet may include a variety of different types of information and / or data. PCMOF 136 may generate a KA message using the contents of the offload configuration packet and initiate periodic KA messages on behalf of UE 110 with one or more servers.
[0060] The content may include an enable / disable indication to PCMOF 136 indicating whether PCMOF 136 is to perform KA messages on behalf of UE 110. The content may also include an indication of a KA message interval, which is a duration that occurs between scheduled KA messages (e.g., 1 minute, 3 minutes, 5 minutes, 10 minutes, 20 minutes, etc.). The content may also include information related to the basis on which PCMOF 136 may declare a failure for KA messages, such as a duration to wait for an ACK in response to a KA message before performing a retransmission or declaring a failure, a number of retransmissions to be performed before declaring a failure, etc. The content may also include signaling information, such as, but not limited to, an IPv4 address of push notification server 170, an IPv6 address of push notification server 170, an associated port number of push notification server 170, an IPv4 address of UE 110, an IPv6 address of UE 110, an associated port number of UE 110, a transport layer protocol to be used (e.g., UDP, TCP, etc.), a sequence number of UE 110, and a sequence number of push notification server 170.
[0061] In 520, based on receiving the offload configuration packet, PCMOF 136 performs various operations on behalf of UE 110. The operations may include, but are not limited to, transmitting periodic KA messages to push notification server 170, receiving ACK from push notification server 170, receiving push notification from push notification server 170, forwarding push notification to UE 110, indicating to push notification server 170 that UE 110 is unavailable, indicating to push notification server 170 the reason why UE 110 is temporarily unavailable, etc.
[0062] At 525, UE 110 may send another offload configuration packet to PCMOF 136. The another offload configuration packet may indicate to PCMOF 136 that PCMOF 136 will no longer perform operations on behalf of UE 110. UE 110 may be triggered to send the another offload configuration packet to PCMOF 136 for any suitable reason. For example, user input may be received at UE 110 indicating that the user no longer wants to receive push notifications of a particular type.
[0063] Figure 6 A signaling diagram 600 is shown relating to an incoming push notification according to various exemplary embodiments. The signaling diagram 600 will be described with reference to the UE 110 and the network arrangement 100.
[0064] Consider the following exemplary scenario, UE 110 has registered with push notification server 170. In addition, UE 110 has determined that PCMOF 136 is available.
[0065] At 605, UE 110 transmits an offload configuration packet to PCMOF 136. As described above, the offload configuration packet may indicate to PCMOF 136 that PCMOF 136 is to perform various operations on behalf of UE 110.
[0066] In 610, PCMOF 136 transmits a KA message to push notification server 170 on behalf of UE 110. In 615, push notification server 170 transmits an ACK to UE 110 in response to the KA message.
[0067] For any of a number of different reasons, push notification server 170 may not respond to the KA message. If PCMOF 136 determines that an ACK has not been received within a predetermined amount of time and / or PCMOF 136 has performed a predetermined amount of retransmissions, PCMOF 136 may instruct UE 110 to re-register with push notification server 170 to minimize the duration that UE 110 may not receive push notifications from push notification server 170.
[0068] Returning to signaling diagram 600, in 620, PCMOF 136 intercepts the ACK transmitted by push notification server 170. PCMOF 136 may be configured to intercept any packet transmitted by push notification server 170 to UE 110. PCMOF 136 then processes the content of the packet and determines whether the packet is to be forwarded to UE 110. In this example, PCMOF 136 identifies the packet as an ACK and therefore does not forward the packet to UE 110.
[0069] In some cases, PCMOF 136 may receive an ACK from push notification server 170 in response to a KA message that triggers PCMOF 136 to contact UE 110. For example, according to the TCP protocol, any difference between the sequence number of the local host and the ACK number of the remote host may indicate that there is unprocessed unconfirmed data. In this example, PCMOF 136 will be the local host and push notification server 170 will be the remote host. In one case, the difference between the sequence number and the ACK number may be based on the fact that PCMOF 136 does not know the data that UE 110 has sent to push notification server 170. Therefore, PCMOF 136 may send an indication to UE 110 that the sequence number and the ACK number are out of sync. In response, UE 110 may send a packet with the latest signaling information to PCMOF 136 to ensure that subsequent KA messages are synchronized. In another case, the difference between the sequence number and the ACK number may be based on the fact that the socket of push notification server 170 to UE 110 has an invalid TCP state. Therefore, PCMOF 136 may send an indication that the sequence number and the ACK number are out of sync to UE 110. In response, UE 110 may reset the TCP connection by re-registering with push notification server 170.
[0070] Another scenario in which PCMOF 136 may forward an ACK is when the sequence number of the incoming ACK is greater than the remote sequence number. The change in sequence number may be based on the data payload included in the ACK packet. For example, when the ACK packet also includes payload data of the notification, the payload may be included. Therefore, PCMOF 136 may forward the ACK to UE 110 when PCMOF 136 determines that the sequence number is not synchronized.
[0071] Returning to signaling diagram 600, in 625, push notification server 170 transmits a push notification to UE 110. In 630, PCMOF 136 intercepts the push notification transmitted by push notification server 170. In this example, PCMOF 136 identifies that the packet is a push notification, and therefore, PCMOF 136 is to forward the packet to UE 110. PCMOF 136 can distinguish between an ACK and a push notification based on the payload of the packet, because an ACK may not include any payload data. In 635, PCMOF 136 forwards the push notification to UE 110.
[0072] As described above, PCMOF 136 can be configured to intercept any packet transmitted to UE 110 by push notification server 170. In some embodiments, PCMOF 136 can determine whether to forward a packet based at least in part on the TCP flag included in the packet. For example, if the TCP flag is set to only the ACK value, this can indicate to PMCOF 136 that the packet may not be forwarded to UE 110. If the TCP flag includes any other value (with or without the ACK value), the packet may be forwarded to UE 110. Other TCP flag values include, but are not limited to, push (PSH), urgent (URG), reset (RST), complete (FIN), explicit congestion notification (ECN), and congestion window reduction (CWR). Those of ordinary skill in the art will appreciate that these marks are intended to indicate to the receiving device.
[0073] Returning to signaling diagram 600, in 640, UE 110 and PCMOF 136 engage in a signaling exchange. This signaling exchange provides UE 110 with various signaling information (e.g., the latest local and remote sequence numbers) and indicates to PCMOF 136 that PCMOF 136 will no longer perform operations on behalf of UE 110. In some embodiments, UE 110 can obtain the signaling information required to respond to the push notification from PCMOF 136. In other embodiments, PCMOF 136 can actively send to UE 110 the signaling information required for UE 110 to respond to the push notification.
[0074] At 645, UE 110 transmits a response to push notification server 170. The response may be based in part on the signaling information received by UE 110 in the signaling exchange of 640.
[0075] At 650, UE 110 transmits the offload configuration packet to PCMOF 136. Accordingly, PCMOF 136 resumes performing various operations on behalf of UE 110.
[0076] There may be situations where the push notification server 170 cannot reach the UE 110. For example, the UE 110 may experience an outage of service (OOS) event and cannot receive any data via the cellular connection. As another example, for any of a variety of different reasons, a carrier firewall or network component (e.g., a network address translation (NAT) gateway) may discard the incoming push notification before it reaches the UE 110. When the UE 110 and the push notification server 170 cannot communicate, the persistent connection may time out and the socket may be disassembled. In order to minimize the duration that the UE 110 is not connected to the push notification server 170, the push notification server 170 may be configured to notify the PCMOF 136 of the connection problem with the UE 110. In response, the PCMOF 136 may be configured to perform various operations to re-register the UE 110 with the push notification server 170.
[0077] Figure 7 700 is shown in accordance with various exemplary embodiments and UE 110 and push notification server 170 opportunistic re-registration signaling diagram. Figure 2 UE 110 and Figure 1 The signaling diagram 700 is described with reference to the network arrangement 100 of FIG.
[0078] Under normal circumstances, UE 110 may initiate re-registration with push notification server 170 in response to an OOS event. However, if push notification server 170 does not tear down the persistent connection when UE 110 is in OOS, performing re-registration is unnecessary and a waste of resources because push notification server 170 still has UE 110 context.
[0079] As described below, PCMOF 136 may be configured to trigger UE 110 to initiate re-registration with push notification server 170. Thus, UE 110 may rely on PCMOF 136 to trigger UE 110 to initiate re-registration when UE 110 context is lost. Thus, UE 110 may initiate re-registration only when UE 110 context is lost, and avoid the power cost of performing re-registration when push notification server 170 still has UE 110 context.
[0080] In 705, UE 110 and push notification server 170 participate in a signaling exchange for registering UE 110 with push notification server 170. In some embodiments, this signaling exchange may include indicating to the server that UE 110 supports PCMOF functionality. In other embodiments, push notification server 170 may be notified of the use of PCMOF 136 based on an indicator in a KA message sent from PCMOF 136 to push notification server 170 on behalf of UE 110. As shown below, since UE 110's use of PCMOF 136 is known to push notification server 170, push notification server 170 may notify PCMOF 136 when UE 110 is unavailable (e.g., UE 110 is OOS, UE 110 is in use, but communication problems prevent UE 110 from receiving push notifications, etc.). Therefore, PCMOF 136 may implement various techniques to trigger UE 110 to re-register with push notification server 170.
[0081] In 710, UE 110 experiences a connection problem and is in OOS for (X) minutes (e.g., 1 minute, 3 minutes, 5 minutes, 10 minutes, 15 minutes, 30 minutes, etc.). While UE 110 is in OOS, the push notification server attempts (N) times to deliver the push notification to UE 110. As shown in signaling diagram 600, this may include PCMOF 136 intercepting the push notification and forwarding the push notification to UE 110. In this example, each of the first to Nth push notifications does not reach UE 110 because UE 110 is in OOS. Therefore, push notification server 170 does not receive a response from UE 110.
[0082] At 715, the push notification server 170 identifies a predetermined condition associated with an inability to deliver the push notification to the UE 110. In some embodiments, identifying the predetermined condition may trigger the push notification server 170 to locally tear down the socket to the UE 110. The predetermined condition may be based on not receiving a response to the push notification for a predetermined amount of time, transmitting the push notification a predetermined amount of times, or a combination thereof.
[0083] In 720, push notification server 170 transmits a message to PCMOF 136 indicating to PCMOF 136 that push notification server 170 cannot yet reach UE 110. In response to the indication, PCMOF 136 periodically pages UE 110. For example, PCMOF 136 may page UE 110 indirectly by communicating with another network component, or PCMOF 136 may ping UE 110. In 725, PCMOF 136 transmits a page to UE 110. However, in this example, UE 110 is still out of service and therefore does not receive the page.
[0084] In 730, UE 110 resumes service. In 735, PCMOF 136 transmits another paging to UE 110. Since UE 110 resumes service, UE 110 receives the paging. In 740, UE 110 may enter a connected state. In some embodiments, UE 110 is triggered to enter a connected state based on a second cycle. In other embodiments, UE 110 may be triggered to transition to a connected state autonomously due to mobile originated (MO) communication traffic or mobile terminated (MT) communication traffic. In order to ensure that PCMOF 136 knows that UE 110 transitions to a connected state, AMF 132 may be configured to notify PCMOF 136 that UE 110 transitions to a connected state. However, in other embodiments, UE 110 and / or any appropriate network component may notify PCMOF 136 that UE 110 is in a connected state.
[0085] AMF 132 may also communicate with PCMOF 136 for other reasons. For example, when UE 110 is unavailable (e.g., disconnected, OOS, Tracking Area Update (TAU) failure, etc.), AMF 132 may notify PCMOF 136. In response, PCMOF 136 may stop transmitting KA on behalf of UE 110.
[0086] Returning to the signaling diagram 700, in 745, the PCMOF 136 transmits a re-registration information message to the UE 110. The re-registration information may include an indication of the IP address and port details for re-establishing a socket with the push notification server 170.
[0087] In 750, UE 110 and push notification server 170 engage in a signaling exchange for re-registering UE 110 with push notification server 170. The re-registration process utilizes the content of the re-registration information message received in 745. Subsequently, push notification server 170 provides UE 110 with push notifications that push notification server 170 was previously unable to deliver to UE 110.
[0088] Figure 8 An exemplary method 800 is shown for a UE 110 that is configured to infrequently communicate with a push notification server 170. Figure 1 The network layout of 100 and Figure 2 The method 800 is described with reference to the UE 110.
[0089] Certain types of UEs do not typically transmit messages to or receive push notification messages from the push notification server 170. Therefore, configuring the PCMOF 136 to transmit periodic KA messages on behalf of such types of UEs is an inefficient use of resources. Therefore, the method 800 involves utilizing the PCMOF 136 to perform operations on behalf of the UE 110. However, these operations do not include periodic KA messages.
[0090] In 805, the UE 110 determines that the message is to be transmitted to the push notification server 170. As described above, this is not typically performed by this UE 110. Therefore, there is no active persistent connection at this time.
[0091] In 810, the UE 110 and the push notification server 170 engage in a signaling exchange for registering the UE 110 with the push notification server 170. Since communication with the push notification server 170 is infrequent for this type of UE 110, engaging in a registration process for each outgoing message is a more efficient use of resources than having the PCMOF 136 maintain a persistent connection between the UE 110 and the push notification server 170. In 815, the message is sent to the push notification server 170 via the persistent connection.
[0092] In 820, UE 110 is in OOS. While UE 110 is in OOS, push notification server 170 attempts to deliver push notifications to UE 110 multiple times. Because UE 110 is in OOS, push notification server 170 does not receive any response from UE 110. Therefore, push notification server 170 determines that UE 110 is unavailable and push notification server 170 locally tears down UE 110 connection. Subsequently, push notification server 170 transmits a message to PCMOF 136 indicating to PCMOF 136 that push notification server 170 has been unable to deliver push notifications to UE 110. In response to the indication, PCMOF 136 periodically pages UE 110. The operations performed by push notification server 170 and PCMOF 136 when UE 110 is in OOS in 820 are substantially similar to the events shown in 710-725 of signaling diagram 700.
[0093] The exemplary embodiments are not limited to scenarios where UE 110 is OOS. For example, there may be situations where UE 110 is in service and / or in a connected state, but push notification server 170 cannot reach UE 110 because push notification server 170 does not have a context for UE 110. Therefore, reference to UE 110 being OOS is for exemplary purposes only, and the exemplary embodiments are applicable to any situation where push notification server 170 cannot reach UE 110.
[0094] In 825 , UE 110 resumes service and transitions to the connected state. In 830 , UE 110 receives a registration information message from PCMOF 136 , which includes an indication of the IP address and port details for establishing a socket with push notification server 170 .
[0095] In 835, the UE 110 and the push notification server 170 engage in a signaling exchange for re-registering the UE 110 with the push notification server 170. The re-registration process utilizes the content of the re-registration information message received in 830.
[0096] At 840 , push notification server 170 provides the push notification that push notification server 170 was previously unable to deliver to UE 110 825 - 840 are substantially similar to the events depicted in 730 - 750 of signaling diagram 700 .
[0097] Those skilled in the art will appreciate that the exemplary embodiments described above may be implemented with any suitable software configuration or hardware configuration or combination thereof. Exemplary hardware platforms for implementing the exemplary embodiments may include, for example, Intel x86-based platforms with compatible operating systems, Windows OS, Mac platforms and MAC OS, mobile devices with operating systems such as iOS, Android, etc. In other examples, the exemplary embodiments of the above methods may be embodied as a program including lines of code stored on a non-transitory computer-readable storage medium, which, when compiled, may be executed on a processor or microprocessor.
[0098] It is understood that the use of personally identifiable information should be subject to privacy policies and practices that are generally recognized to meet or exceed industry or government requirements for maintaining user privacy. Specifically, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of the authorized use should be clearly stated to users.
[0099] It will be apparent to those skilled in the art that various modifications may be made to the present disclosure without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure is intended to cover modifications and variations of the present disclosure, provided that these modifications and variations are within the scope of the appended claims and their equivalents.
Claims
1. A method for managing a persistent connection, the method comprising: At a network component configured to communicate with a user equipment (UE) and a server: receiving a first packet from the UE, wherein the first packet indicates to the network component that the network component is to perform one or more operations on behalf of the UE to maintain a persistent connection between the server and the UE during offloading; transmitting, on behalf of the UE, to the server during the offloading, a second packet including a keep-alive (KA) message configured to maintain the persistent connection; as well as An acknowledgement (ACK) message is received from the server on behalf of the UE during the offloading.
2. The method according to claim 1, further comprising: receiving a third packet from the server; determining whether the third packet includes payload data for the UE; When the third packet includes the payload data for the UE, a signal is transmitted to the UE, wherein the signal includes the third packet. The method of claim 2 , wherein the third packet comprises a push notification for the UE.
4. The method according to claim 2, further comprising: When the third packet does not include the payload data for the UE, a flag value included in the third packet is determined.
5. The method according to claim 4, further comprising: When the flag value indicates that the third packet includes only an acknowledgment (ACK) of a message transmitted by the network component to the server on behalf of the UE, the signal is not transmitted to the UE.
6. The method according to claim 4, further comprising: When the flag value indicates that the third packet includes only acknowledgments (ACKs) for messages transmitted by the network component to the server on behalf of the UE, determining whether to transmit the signal to the UE based on i) one or more sequence numbers associated with the third packet or ii) an acknowledgment number associated with the third packet; The signal is transmitted to the UE based on i) the one or more sequence numbers associated with the third packet or ii) the acknowledgment number associated with the third packet, wherein the signal includes the third packet.
7. The method according to claim 2, further comprising: determining that the third packet indicates that the UE has not received one or more packets transmitted by the server for the UE; as well as A signal is transmitted to the UE, wherein the signal includes information to be used by the UE to register with the server.
8. The method according to claim 7, further comprising: receiving, after the third packet, an indication that the UE has transitioned to a connected state, Wherein the signal is transmitted to the UE based on the indication that the UE has transitioned to the connected state.
9. The method of claim 8, wherein the indication that the UE has transitioned to the connected state is received from another network component.
10. The method of claim 9, wherein the another network component is an Access and Mobility Management Function (AMF) of a cellular core network.
11. The method according to claim 1, further comprising: A third packet is received from the UE, wherein the third packet indicates to the network component that the network component will no longer perform the one or more operations on behalf of the UE.
12. The method of claim 1, wherein the one or more operations include periodically transmitting a keep-alive (KA) message to the server on behalf of the UE, wherein the KA message indicates to the server that a persistent connection between the UE and the server will remain open for future communications with the UE.
13. The method according to claim 12, further comprising: An indication that the UE is unavailable is received, wherein the network component stops periodically transmitting KA messages to the server on behalf of the UE based on the indication that the UE is unavailable.
14. A network component comprising: a communication interface configured to communicate with a user equipment (UE) and a server; A memory, the memory being used to store executable instructions; and A processor, the processor being configured to execute the executable instructions stored on the memory so that the network component performs operations, the operations comprising: receiving a first packet from the UE, wherein the first packet indicates to the network component that the network component is to perform one or more operations on behalf of the UE to maintain a persistent connection between the server and the UE during offloading; transmitting, on behalf of the UE, to the server during the offloading, a second packet including a keep-alive (KA) message configured to maintain the persistent connection; and An acknowledgement (ACK) message is received from the server on behalf of the UE during the offloading, wherein the ACK message is not transmitted over the RAN.
15. The network component of claim 14, the operations further comprising: receiving a third packet from the server; determining whether the third packet includes payload data for the UE; When the third packet includes the payload data for the UE, a signal is transmitted to the UE, wherein the signal includes the third packet.
16. The network component of claim 15, the operations further comprising: determining that the third packet indicates that the UE has not received one or more packets transmitted by the server for the UE; as well as A signal is transmitted to the UE, wherein the signal includes information to be used by the UE to register with the server.
17. A user equipment (UE), comprising: a transceiver configured to establish a persistent connection with a push notification server and to communicate with a network component; and A processor configured to perform operations comprising: Establishing a persistent connection with the push notification server; transmitting a first packet to the network component, wherein the first packet indicates to the network component that the network component is to perform one or more operations on behalf of the UE to maintain the persistent connection with the push notification server during the offload period; Identify out-of-service (OOS) events; receiving, after the OOS event, registration information generated by the network component, the registration information being configured to trigger the UE to reestablish a persistent connection with the push notification server; and Registering with the push notification server using the registration information from the network component to reestablish a persistent connection between the UE and the push notification server.
18. The UE according to claim 17, wherein the first group includes one or more of the IPv4 address of the push notification server, the IPv6 address of the push notification server, one or more port numbers of the push notification server, the IPv4 address of the UE, the IPv6 address of the UE, one or more port numbers of the UE, and one or more sequence numbers.
19. The UE of claim 17, wherein the registration information comprises an Internet Protocol (IP) address and one or more port numbers of the push notification server.
20. The UE of claim 17, wherein the operations further comprise: determining, based on information received from the network component, that the network component is operable to perform the one or more operations on behalf of the UE to maintain the persistent connection with the push notification server, Wherein the first packet is transmitted to the network component based on determining that the network component is available.
Citation Information
Patent Citations
Method and apparatus for performing TCP communication in a wireless communication system
US20140226548A1