Patent Description:
Embodiments of the present disclosure generally relates to the field of wireless communication, and more particularly, to gateway arrangements for wireless communication networks.

Demands on wireless communication networks continue to increase. Network operators and service providers have been limited, however, in their ability to quickly and efficiently respond to changes in demand without sacrificing the performance of time-sensitive services.

<CIT> relates to a method and system for implementing a control plane of an evolved packet core in a cloud computer system.

Embodiments of the present disclosure include gateway arrangements for wireless communication networks. In particular, various embodiments of the present disclosure include systems and methods for separating user plane and control plane functionality of a serving gateway (SGW) and systems and methods for separating user plane in control plane functionality of a packet data network gateway (PGW) in a wireless communication network. As known in the art, functions of an SGW may include acting as a local mobility anchor point for handover of user equipments (UEs) between access nodes (ANs), packet routing and forwarding, transport level packet marking in the uplink and the downlink, among others. Functions of a PGW may include per-user based packet filtering, allocating of Internet Protocol (IP) addresses to UEs, transport level packet marking in the uplink and downlink, uplink and downlink service level gating control, and packet screening, among others.

The user plane of a component of a wireless communication network includes functions for transporting user data through the network. The control plane of a component of a wireless network includes protocols for control and support of the user plane functions. Examples of control plane functions may include controlling network access connections (e.g., such as attaching a UE to and detaching the UE from a radio access network), controlling attributes of an established network access connection (e.g., activating an Internet Protocol (IP) address), controlling the routing path of an established network connection, and controlling the assignment of network resources to meet demand.

Various ones of the embodiments disclosed herein may enable an efficient and scalable implementation for providing wireless communication functionality in a cloud computing architecture. In particular, various ones of the embodiments disclosed herein may enable a network control cloud architecture for evolved packet core (EPC) functionality in a Third Generation Partnership Project (3GPP) network.

Various ones of the embodiments disclosed herein may implement the control plane of various network functions as a software defined network (SDN) cloud service. In particular, various ones of the embodiments disclosed herein may separate the control plane and user plane of various network functions, and may utilize cloud-based processing to provide the control plane of the network functions (e.g., within and EPC controller), while the user plane functions are provided by special-purpose hardware or other computing systems coupled to the control plane by a secure communication link.

In particular, some of the embodiments disclosed herein may enable the virtualization of various network functions previously implemented by special-purpose hardware. Conventionally, when demand increases on a wireless network, additional units of such special-purpose hardware must be purchased, shipped, installed, and configured in order to respond to the increased demand. Virtualization of some of the functions performed by conventional special-purpose hardware may enable new instantiations of the functionality to be created quickly and at much lower cost, thereby improving the ability of providers to respond to changes in demand.

However, replacing special-purpose hardware with a virtualized counterpart may come at the cost of higher processing overhead and therefore slower performance. Thus, in various embodiments disclosed herein time-sensitive functionality may continue to be implemented with special-purpose hardware, while less time sensitive functionality may be virtualized. For example, user plane functionality (such as the transport of voice data packets) may be particularly time sensitive in the sense that only a small amount of delay in packet delivery is tolerated, while control plane functionality may be less time sensitive (e.g., five seconds of delay in establishing a voice call may be acceptable, but five seconds of delay during active voice communication may not be acceptable). Decoupling the computing systems used to provide the user plane functionality and the control plane functionality (e.g., of a gateway and a wireless network) may enable the control plane functionality to be implemented in one computing system (e.g., a virtualized environment) while the user plane functionality is implemented in another computing system (e.g., special-purpose hardware). Various ones of the embodiments disclosed herein may enable this decoupling, which may further enable improved responsiveness to changes in demand without sacrificing the performance of time-sensitive functions.

In the following detailed description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which is shown by way of illustration embodiments that may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure.

Various operations may be described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the claimed subject matter. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order than the described embodiment. Various additional operations may be performed and/or described operations may be omitted in additional embodiments.

As used herein, a computing system may be said to "virtualize" a particular functionality when the computing system instantiates one or virtual machines (on one or more computing devices) that are configured to perform the particular functionality. The instantiation of a virtual machine may be performed in accordance with known virtualization techniques, and may utilize a virtual machine monitor or other known virtual machine management techniques. In some embodiments, a computing system having one or more processors may virtualize a functionality by executing machine readable instructions that cause the computing system to be configured to perform the functionality. In some embodiments, a computing system may virtualize a functionality by configuring circuitry (e.g., one or more processors and memory devices in the computing system) to perform the functionality.

As used herein, the term "circuitry" may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable hardware components that provide the described functionality.

The embodiments described herein may be used in a variety of applications including transmitters and receivers of a mobile wireless radio system. Radio systems specifically included within the scope of the embodiments include, but are not limited to, network interface cards (NICs), network adaptors, base stations, access points (APs), relay nodes, Node Bs, gateways, bridges, hubs and satellite radiotelephones. Further, the radio systems within the scope of embodiments may include satellite systems, personal communication systems (PCSs), two-way radio systems, global positioning systems (GPS), two-way pagers, personal computers (PCs) and related peripherals, personal digital assistants (PDAs), and personal computing, among others.

Embodiments of the systems and methods described herein may be implemented in broadband wireless access networks including networks operating in conformance with one or more protocols specified by the Third Generation Partnership Project (3GPP) and its derivatives, the Worldwide Interoperability for Microwave Access (WiMAX) Forum, the IEEE <NUM> standards (e.g., IEEE <NUM>-<NUM> Amendment), the Long Term Evolution (LTE) project along with any amendments, updates, and/or revisions (e.g., advanced LTE project, ultra mobile broadband (UMB) project (also referred to as 3GPP2), etc.). Many of the examples described herein may refer to wireless communication networks that conform with 3GPP for ease of discussion; however, the subject matter of the present disclosure is not limited in this regard and the described embodiments may apply to other wireless communication networks that may benefit from the systems and techniques described herein, such as specifications and/or standards developed by other special interest groups and/or standard development organizations (e.g., Wireless Fidelity (Wi-Fi) Alliance, WiMAX Forum, Infrared Data Association (IrDA), etc.).

Referring now to <FIG>, a portion of an example wireless communication network <NUM>, in accordance with various embodiments, is illustrated. The wireless communication network <NUM> may be configured as a wireless personal area network (WPAN), a wireless local area network (WLAN), and a wireless metropolitan area network (WMAN), for example. As discussed below, the wireless communication network <NUM> may be configured for improved arrangements of control plane and user plane gateway functionality.

The wireless communication network <NUM> may include a network controller computing system <NUM> (abbreviated herein as "network controller"). In some embodiments, the network controller <NUM> may be an evolved packet core (EPC) controller. The network controller <NUM> may include a serving gateway control plane computing system (SGW-C) <NUM> and a packet data network gateway control plane computing system (PGW-C) <NUM>. In some embodiments, the SGW-C <NUM> and the PGW-C <NUM> may be implemented in a common physical computing device. In some embodiments the SGW-C <NUM> and the PGW-C <NUM> may be implemented in different physical computing devices.

The SGW-C <NUM> may include serving gateway (SGW) control plane circuitry <NUM> and communication circuitry <NUM>. The SGW control plane circuitry <NUM> may be configured to provide control plane functions of an SGW in the wireless communication network <NUM>. In some embodiments, the SGW control plane circuitry <NUM> may be configured to virtualize these control plane functions.

The communication circuitry <NUM> may be communicatively coupled with the SGW control plane circuitry <NUM> and may be configured to establish a secure communication link between the SGW control plane circuitry <NUM> and at least one SGW user plane computing system (SGW-U). An SGW-U may be configured to provide user plane functions of an SGW in the wireless communication network <NUM>, and may be a different computing system than the network controller <NUM>. The secure communication link between an SGW-U and the SGW control plane circuitry <NUM> may be used for the exchange of control messages during wireless communication operations. Any of the secure communication links discussed herein is provided by any suitable protocol, such as Open Flow, ForCES, PCEP NetConf, and 1RS.

<FIG> illustrates a configuration in which the SGW-C <NUM> is in communication with three SGW-Us <NUM>, <NUM>, and <NUM> via secure communication links <NUM>, <NUM>, and <NUM>, respectively. The three SGW-Us <NUM>, <NUM>, and <NUM> may be different computing systems. Although three SGW-Us are illustrated in <FIG>, the SGW-C <NUM> may be in communication with more or fewer SGW-Us. For ease of illustration, the SGW-U <NUM> may be principally discussed herein, and other SGW-Us (such as the SGW-Us <NUM> and <NUM>) may be configured as described herein with reference to the SGW-U <NUM>. Various embodiments of the SGW-U <NUM> are discussed below with reference to <FIG>.

The communication circuitry <NUM> may include an antenna and/or a wired communication interface, and may be configured to receive and/or transmit wired and/or wireless signals to other computing systems as described herein. An antenna may include one or more directional or omni-directional antennas such as dipole antennas, monopole antennas, patch antennas, loop antennas, microstrip antennas, and/or other types of antennas suitable for reception and/or transmission of radio frequency (RF) or other wireless communication signals. A wired communication interface may be configured for communication over an electrically conductive carrier and/or an optical carrier, for example. Examples of wired communication interfaces may include Ethernet interfaces and fiber optic interfaces. In some embodiments, the communication circuitry <NUM> may be configured to receive data from and/or transmit data to an SGW-U (e.g., the SGW-U <NUM>). In some embodiments, the communication circuitry <NUM> may be configured to receive data from and/or transmit data to other components of the network controller <NUM> or other computing systems separate from the network controller <NUM> (e.g., as described below with reference to <FIG>).

The PGW-C <NUM> may include packet data network gateway (PGW) control plane circuitry <NUM> and communication circuitry <NUM>. The PGW control plane circuitry <NUM> may be configured to provide control plane functions of a PGW in the wireless communication network <NUM>. In some embodiments, the PGW control plane circuitry <NUM> may be configured to virtualize these control plane functions.

The communication circuitry <NUM> may be communicatively coupled with the PGW control plane circuitry <NUM> and may be configured to establish a secure communication link between the PGW control plane circuitry <NUM> and at least one PGW user plane computing system (PGW-U). A PGW-U may be configured to provide user plane functions of a PGW in the wireless communication network <NUM>, and may be a different computing system than the network controller <NUM>. The secure communication link between a PGW-U and the PGW control plane circuitry <NUM> may be used for the exchange of control messages during wireless communication operations.

<FIG> illustrates a configuration in which the PGW-C <NUM> is in communication with three PGW <NUM>, <NUM>, and <NUM> via secure communication links <NUM>, <NUM>, and <NUM>, respectively. The three PGWs <NUM>, <NUM>, and <NUM> may be different computing systems. Although three PGW-Us are illustrated in <FIG>, the PGW-C <NUM> may be in communication with more or fewer PGW-Us. For ease of illustration, the PGW-U <NUM> may be principally discussed herein, and other PGW-Us (such as the PGW-Us <NUM> and <NUM>) may be configured as described herein with reference to the PGW-U <NUM>. Various embodiments of the PGW-U <NUM> are discussed below with reference to <FIG>.

The communication circuitry <NUM> may include an antenna and/or a wired communication interface, and may be configured to receive and/or transmit wired and/or wireless signals to other computing systems as described above with reference to the communication circuitry <NUM> of the SGW-C <NUM>, and may include any suitable ones of the components described above with reference to the communication circuitry <NUM>. In some embodiments, the communication circuitry <NUM> may be configured to receive data from and/or transmit data to a PGW-U (e.g., the PGW-U <NUM>). In some embodiments, the communication circuitry <NUM> may be configured to receive data from and/or transmit data to other components of the network controller <NUM> or other computing systems separate from the network controller <NUM> (e.g., as described below with reference to <FIG>).

<FIG> illustrates a portion of the wireless communication network <NUM> including the SGW-U <NUM>, in accordance with various embodiments. The SGW-U <NUM> may include SGW user plane circuitry <NUM> and communication circuitry <NUM>. The SGW user plane circuitry <NUM> may be configured to provide user plane functions of an SGW in the wireless communication network <NUM>. In some embodiments, the SGW user plane circuitry <NUM> may be configured to virtualize these user plane functions.

The communication circuitry <NUM> may be communicatively coupled with the SGW user plane circuitry <NUM> and may be configured to establish (e.g., by communication with the communication circuitry <NUM> of the SGW-C <NUM>) the secure communication link <NUM> between the SGW user plane circuitry <NUM> and the network controller <NUM> (e.g., between the SGW user plane circuitry <NUM> and the SGW-C <NUM>). As noted above, the SGW-U <NUM> may be a different computing system than the network controller <NUM>. The secure communication link <NUM> between the SGW-U <NUM> and the network controller <NUM> may be used for the exchange of control messages during wireless communication operations.

The communication circuitry <NUM> may include an antenna and/or a wired communication interface, and may be configured to receive and/or transmit wired and/or wireless signals to other computing systems (e.g., the network controller <NUM>), and may include any suitable ones of the components described above with reference to the communication circuitry <NUM>. In some embodiments, the communication circuitry <NUM> may be configured to receive data from and/or transmit data to an SGW-C (e.g., the SGW-C <NUM>). In some embodiments, the communication circuitry <NUM> may be configured to receive data from and/or transmit data to other components of the wireless communication network <NUM> (e.g., as described below with reference to <FIG>).

<FIG> illustrates a portion of the wireless communication network <NUM> including the PGW-U <NUM>, in accordance with various embodiments. The PGW-U <NUM> may include PGW user plane circuitry <NUM> and communication circuitry <NUM>. The PGW user plane circuitry <NUM> may be configured to provide user plane functions of a PGW in the wireless communication network <NUM>. In some embodiments, the PGW user plane circuitry <NUM> may be configured to virtualize these user plane functions.

The communication circuitry <NUM> may be communicatively coupled with the PGW user plane circuitry <NUM> and may be configured to establish (e.g., by communication with the communication circuitry <NUM> of the PGW-C <NUM>) the secure communication link <NUM> between the PGW user plane circuitry <NUM> and the network controller <NUM> (e.g., between the PGW user plane circuitry <NUM> and the PGW-C <NUM>). As noted above, the PGW-U <NUM> may be a different computing system than the network controller <NUM>. The secure communication link <NUM> between the PGW-U <NUM> and the network controller <NUM> may be used for the exchange of control messages during wireless communication operations.

The communication circuitry <NUM> may include an antenna and/or a wired communication interface, and may be configured to receive and/or transmit wired and/or wireless signals to other computing systems (e.g., the network controller <NUM>), and may include any suitable ones of the components described above with reference to the communication circuitry <NUM>. In some embodiments, the communication circuitry <NUM> may be configured to receive data from and/or transmit data to an PGW-C (e.g., the PGW-C <NUM>). In some embodiments, the communication circuitry <NUM> may be configured to receive data from and/or transmit data to other components of the wireless communication network <NUM> (e.g., as described below with reference to <FIG>).

In some embodiments, the SGW-U <NUM> and the PGW-U <NUM> may be implemented in a common physical computing device. In some embodiments the SGW-U <NUM> and the PGW-U <NUM> may be implemented in different physical computing devices.

<FIG> illustrates a portion of an embodiment of the wireless communication network <NUM> including the SGW-C <NUM>, the PGW-C <NUM>, the SGW-U <NUM> and the PGW- U <NUM>. The SGW-C <NUM> and the PGW-C <NUM> are included in the network controller <NUM>, while the SGW-U <NUM> and the PGW-U <NUM> are different computing systems than the network controller <NUM>. As discussed below in further detail, various embodiments of the wireless can indicate network <NUM> illustrated in <FIG> may implement control plane entities (e.g., a mobility management entity, the PGW control plane, the SGW control plane, a policy charging rules function, and a home subscriber server) as instances of a network function in the cloud, and control plane signaling exchanged between these entities may be implemented based on a cloud architecture. In some embodiments, components within the network controller <NUM> may communicate via wired and/or wireless communication pathways. For example, in some embodiments, components within the network controller <NUM> may communicate via wired communication pathways, such as Ethernet or optical fiber pathways.

The wireless communication network <NUM> may include one or more UEs. A single UE <NUM> is illustrated in <FIG>, although the wireless communication network <NUM> may support many UEs. The UE <NUM> may include a wireless electronic device such as a desktop computer, a laptop computer, a handheld computer, a tablet computer, a cellular telephone, a pager, an audio and/or video player (e.g., an MP3 player or a DVD player), a gaming device, a video camera, a digital camera, a navigation device (e.g., a GPS device), a wireless peripheral (e.g., a printer, a scanner, a headset, a keyboard, a mouse, etc.), a medical device (e.g., a heart rate monitor, a blood pressure monitor, etc.), and/or other suitable fixed, portable, or mobile electronic devices.

The UE <NUM> may be configured to communicate via radio links with one or more access nodes (ANs). Two ANs <NUM> and <NUM> are illustrated in <FIG>, although the wireless communication network <NUM> may support more or fewer ANs. Each AN may serve zero, one or more UEs in a cell associated with the AN. For example, the AN <NUM> may serve the UE <NUM>. In some embodiments, the ANs <NUM> and <NUM> may include or be included in evolved node Bs (eNodeBs or eNBs), remote radio heads (RRHs), or other wireless communication components. In some embodiments, the AN <NUM> and the AN <NUM> may be eNodeBs deployed in a heterogeneous network. In such embodiments, the ANs <NUM> and <NUM> may be referred to as, for example, femto-, pico-, or macro- eNodeBs and may be respectively associated with femtocells, picocells, or macrocells. As shown in <FIG>, in some embodiments, the ANs <NUM> and <NUM> may be included in an evolved universal mobile telecommunications system terrestrial radio access network (E- UTRAN) <NUM>.

Wireless communication may include a variety of modulation techniques such as spread spectrum modulation (e.g., direct sequence code division multiple access (DS-CDMA) and/or frequency hopping code division multiple access (FH-CDMA)), time-division multiplexing (TDM) modulation, frequency-division multiplexing (FDM) modulation, orthogonal frequency-division multiplexing (OFDM) modulation, multi-carrier modulation (MDM), and/or other suitable modulation techniques to communicate via wireless links. For example, the UE <NUM> may be configured to communicate using a multiple-input and multiple-output (MIMO) communication scheme. The ANs <NUM> and <NUM> may include one or more antennas, one or more radio modules to modulate and/or demodulate signals transmitted or received on an air interface, and one or more digital modules to process signals transmitted and received on the air interface.

The E-UTRAN <NUM> may be communicatively coupled to a network controller <NUM>, through which authentication, inter-AN communication, and a number of other functions may occur. The network controller <NUM> may include a number of components in addition to the SGW-C <NUM> and the PGW-C <NUM>. In some embodiments, the communication link(s) between the E-UTRAN <NUM> and the network controller <NUM> may include wired communication links (such as electrically conductive cabling and/or optical cabling, for example) and/or wireless communication links. Examples of particular protocols and communication link types (e.g., reference points) used for communication between various components of the wireless communication network <NUM> are illustrated in <FIG> and described below, but any suitable communication links and protocols may be used.

The E-UTRAN <NUM> may be a computing system configured to perform, among other functions, header compression and user plane ciphering, mobility management entity (MME) selection, and congestion control. As shown in <FIG>, in some embodiments, the E-UTRAN <NUM> may communicate with the MME <NUM> via an S1-MME interface. In some embodiments, the E-UTRAN <NUM> may communicate with the SGW-U <NUM> via an S1-U interface (e.g., for per bearer user plane tunneling and inter-AN path switching during handover). The S1-U interface may be based on the user data general packet radio service tunneling protocol (GTP-U). In GTP, each node (e.g., each end of the tunnel) may be identified by a tunnel endpoint identifier (TEID), an IP address, and a user datagram port (UDP) number.

The MME <NUM> may be a computing system configured to perform, among other functions, non-access stratum (NAS) signaling, PGW and SGW selection, MME selection for handovers with MME changes, authentication, authorization, and UE reachability procedures. In some embodiments, the SGW-C <NUM> and the MME <NUM> may be implemented in a common physical computing device. In some embodiments, the SGW-C <NUM> and the MME <NUM> may be implemented in different physical computing devices. The MME <NUM> and the SGW-C <NUM> may communicate via an S11 interface (e.g., when the SGW-C <NUM> and the MME <NUM> are not co-located). In some embodiments, communication between the SGW-U <NUM> and the MME <NUM> may take place via the SGW-C <NUM> (e.g., via the SGW control plane circuitry <NUM> of the SGW- C <NUM>).

The home subscriber server (HSS) <NUM> may be a computing system configured to perform, among other functions, database functionality for user-related and subscriber-related information, mobility management assistance, call and session setup assistance, user authentication assistance, and access authorization assistance. As shown in <FIG>, in some embodiments, the HSS <NUM> may communicate with the MME <NUM> via an S6a interface (e.g., to enable transfer of subscription and authentication data for authenticating/authorizing user access between the MME <NUM> and the HSS <NUM>).

The policy charging and rules function (PCRF) <NUM> may be a computing system configured to perform, among other functions, enforcement of access policies and charging rules for use of the wireless communication network <NUM>. As shown in <FIG>, in some embodiments, the PCRF <NUM> may communicate with the PGW-C <NUM> via a Gx interface (e.g., to enable the transfer of quality of service (QoS) policy and charging rules from the PCRF <NUM> for performance of an enforcement function by the PGW-C <NUM>).

The SGW-C <NUM> and the PGW-C <NUM> may communicate via an S5-C interface (e.g., to perform control plane tunneling and tunnel management between the SGW- C <NUM> and the PGW-C <NUM> when the SGW-C <NUM> and the PGW-C <NUM> are not co-located). The S5-C interface may be based on the general packet radio service tunneling protocol (GTP). In some embodiments, the communication circuitry <NUM> of the SGW- C <NUM> and the communication circuitry <NUM> of the PGW-C <NUM> may interact to establish a GTP tunnel between the SGW control plane circuitry <NUM> of the SGW-C <NUM> and the PGW control plane circuitry <NUM> of the PGW-C <NUM>.

The SGW-U <NUM> and the PGW-U <NUM> may communicate via an S5-U interface (e.g., to perform control plane tunneling and tunnel management between the SGW- U <NUM> and the PGW-U <NUM> when the SGW-U <NUM> and the PGW-U <NUM> are not co-located). The S5-U interface may be based on GTP. In some embodiments, the communication circuitry <NUM> of the SGW-U <NUM> and the communication circuitry <NUM> of the PGW-U <NUM> may interact to establish a GTP tunnel between the SGW-U <NUM> and the PGW-U <NUM>.

Although only a single SGW-U <NUM> and a single PGW-U <NUM> are illustrated in <FIG>, this is simply for ease of illustration, and the wireless communication network <NUM> may include multiple SGW-Us and/or multiple PGW-Us, as discussed above with reference to <FIG>. In some embodiments, additional SGW-Us may communicate with additional PGW-Us using the S5-U interface, as discussed above with reference to the SGW-U <NUM> and the PGW-U <NUM> of <FIG>. In some embodiments, during handover of a UE (e.g., the UE <NUM>) from the SGW-U <NUM>, the network controller <NUM> (e.g., the SGW-C <NUM>) may establish a secure communication link between the SGW-C <NUM> and a second SGW-U different from the SGW-U <NUM> in order to handover the UE to the second SGW-U.

<FIG> is a flow diagram of a process <NUM> for operating a network controller. For ease of illustration, the process <NUM> may be discussed below with reference to the network controller <NUM>, the wireless communication network <NUM>, the SGW-U <NUM> and the PGW-U <NUM>. It may be recognized that, while the operations of the process <NUM> (and the other processes described herein) are arranged in a particular order and illustrated once each, in various embodiments, one or more of the operations may be repeated, omitted or performed out of order. For illustrative purposes, operations of the process <NUM> may be described as performed by the network controller <NUM>, but the process <NUM> may be performed by any suitably configured device (e.g., a programmed processing system, an ASIC, or another wireless computing device).

At <NUM>, the network controller <NUM> may virtualize control plane functions of an SGW or control plane functions of a PGW in the wireless communication network <NUM>. Control plane functions of an SGW may be virtualized to provide the SGW-C <NUM>. Control plane functions of a PGW may be virtualized to provide the PGW-C <NUM>.

At <NUM>, the network controller <NUM> may establish a first secure communication link between the network controller <NUM> and an SGW user plane computing system. The SGW user plane computing system may be configured to perform user plane functions of an SGW, and may be different from the network controller <NUM>. In some embodiments, the SGW user plane computing system may be the SGW-U <NUM>, and the first secure communication link may be the communication link <NUM>.

At <NUM>, the network controller <NUM> may establish a second secure communication link between the network controller <NUM> and a PGW user plane computing system. The PGW user plane computing system may be configured to perform user plane functions of a PGW, and may be different from the network controller <NUM>. In some embodiments, the PGW user plane computing system may be the PGW-U <NUM>, and the second secure communication link may be the communication link <NUM>. The network controller <NUM> may communicate with the SGW user plane computing system via the first secure communication link and the PGW user plane computing system via the second secure communication link to perform various PGW- and SGW-related wireless communication operations. The process <NUM> may then end.

<FIG> is a flow diagram of a process <NUM> for operating a gateway user plane computing system, in accordance with various embodiments. For ease of illustration, the process <NUM> may be discussed below with reference to the network controller <NUM>, the wireless communication network <NUM>, the SGW-C <NUM> and the PGW-C <NUM>. For illustrative purposes, operations of the process <NUM> may be described as performed by a "gateway user plane computing system," which may include the SGW-U <NUM> or the PGW-U <NUM>, but the process <NUM> may be performed by any suitably configured device (e.g., a programmed processing system, an ASIC, or another wireless computing device).

At <NUM>, the gateway user plane computing system may perform SGW user plane functions or PGW user plane functions. In some embodiments, the gateway user plane computing system may include the SGW-U <NUM> and may perform SGW user plane functions at <NUM>. In some embodiments, the gateway user plane computing system may include the PGW-U <NUM> and may perform PGW user plane functions at <NUM>. In some embodiments, the gateway user plane computing system may be configured to virtualize the SGW user plane functions or the PGW user plane functions in one or more computing devices. For example, in embodiments in which the gateway user plane computing system includes the SGW-U <NUM>, the gateway user plane computing system may virtualize the SGW user plane functions. In embodiments in which the gateway user plane computing system includes the PGW-U <NUM>, the gateway user plane computing system may virtualize the PGW user plane functions.

At <NUM>, the gateway user plane computing system may establish a secure communication link with the network controller <NUM>. The network controller <NUM> may be different from the gateway user plane computing system. The network controller <NUM> may include SGW control plane circuitry that performs control plane functions of an SGW or PGW control plane circuitry that performs control plane functions of a PGW. For example, the SGW control plane circuitry may be the SGW control plane circuitry <NUM>. The PGW control plane circuitry may be the PGW control plane circuitry <NUM>. The secure communication link of <NUM> may be configured for exchange of control messages between the gateway user plane computing system and the SGW control plane circuitry or the PGW control plane circuitry. In some embodiments, communication circuitry included in the gateway user plane computing system may establish the secure communication link at <NUM>. For example, when the gateway user plane computing system includes the SGW-U <NUM>, the communication circuitry <NUM> may establish the secure communication link at <NUM>. When the gateway user plane computing system includes the PGW-U <NUM>, the communication circuitry <NUM> may establish a secure communication link at <NUM>. The network controller <NUM> and the gateway user piane computing system may communicate via the secure communication link to perform various PGW- and/or SGW-related wireless communication operations. The process <NUM> may then end.

<FIG> are signal diagrams of various embodiments of processes for UE attachment. As used herein, "attachment" may refer to the process of registering a UE with the wireless communication network <NUM> so that the UE may receive wireless communication services (that require registration) from the network <NUM>. In particular, <FIG> are signal diagrams of processes for UE attachment in embodiments of the wireless communication network <NUM> in which user plane and control plane functions of the SGW and/or the PGW are separated (e.g., into the SGW C <NUM>/SGW-U <NUM> and/or the PGW-C <NUM>/PGW-U <NUM>), as discussed above.

Each of the signal diagrams of <FIG> may begin with a Stage <NUM> Attach Procedure, discussed below. In <FIG>, the Stage <NUM> Attach Procedure is illustrated as performed between the UE <NUM> and the network controller <NUM> of the wireless communication network <NUM> of <FIG>. In <FIG> and <FIG>, the Stage <NUM> Attach Procedure is illustrated as performed between the UE <NUM> and the MME <NUM> of the network controller <NUM> of the wireless communication network <NUM> of <FIG>. In some embodiments, the Stage <NUM> Attach Procedure may be performed in accordance with steps <NUM>-<NUM> of § <NUM>. <NUM> of 3GPP Technical Specification <NUM>. In some embodiments, the Stage <NUM> Attach Procedure may include the following signal flows:.

Turning now to the signal flow of <FIG>, after the Stage <NUM> Attach Procedure, the network controller <NUM> may transmit an update message to the SGW-U <NUM> to update the GTP-U tunnel endpoint identifier (TEID) assigned to the SGW-U <NUM>. The network controller <NUM> may thus assign the TEID to the SGW-U <NUM>. The SGW-U <NUM> may then send the IP address of the SGW-U <NUM> to the network controller <NUM>. In some embodiments, the network controller <NUM> may include the MME <NUM>, the SGW-C <NUM>, and the PGW-C <NUM>. The network controller <NUM> may be implemented as a cloud computing service. For ease of illustration, not all of the information included in a particular message is illustrated in the signal flow diagrams of <FIG>. For example, "send" messages may include additional information such as the network node address, a bearer identifier, a bearer quality of service, or any other conventional information.

The network controller <NUM> may then transmit an update message to the PGW- U <NUM> to provide the GTP-U TEID of the SGW-U <NUM> to the PGW-U <NUM>, and to update the GTP-U TEID assigned to the PGW-U <NUM>. The network controller <NUM> may thus assign the TEID to the PGW-U <NUM>. The PGW-U <NUM> may then send the IP address of the PGW-U <NUM> to the network controller <NUM>.

The network controller <NUM> may then transmit an update message to the SGW- U <NUM> to provide the GTP-U TEID of the PGW-U <NUM> to the SGW-U <NUM>. The SGW- U <NUM> may use the GTP-U TEID of the PGW-U <NUM>, and the PGW-U <NUM> may use the GTP-U TEID of the SGW-U <NUM>, to establish a GTP-U tunnel between the SGW-U <NUM> and the PGW-U <NUM>.

The network controller <NUM> may then accept the attachment and send the GTP-U TEID of the SGW-U <NUM> to the AN <NUM> (which may be, for example, an eNodeB). In response, the AN <NUM> may send the GTP-U TEID of the AN <NUM> to the network controller <NUM>. The network controller <NUM> may then send the GTP-U TEID of the AN <NUM> to the SGW-U <NUM>. The SGW-U <NUM> may use the GTP-U TEID of the AN <NUM>, and the AN <NUM> may use the GTP-U TEID of the SGW-U <NUM>, to establish a GTP-U tunnel between the SGW-U <NUM> and the AN <NUM>.

Turning now to <FIG>, a signal flow as illustrated in which the SGW-U <NUM> and the PGW-U <NUM> are responsible for GTP tunnel creation. After the Stage <NUM> Attach Procedure, the MME <NUM> may transmit a Create Session Request to the SGW-C <NUM>, including the GTP-C TEID of the MME <NUM>. The SGW-C <NUM> may then send a message to the SGW-U <NUM> to request the GTP-U TEID of the SGW-U <NUM>. The SGW-U <NUM> may respond by sending the GTP-U TEID of the SGW-U <NUM> to the SGW-C <NUM>. Thus, the SGW-U <NUM> may act as a forwarding node, and may create a local GTP-U TEID for itself.

The SGW-C <NUM> may then send a Create Session Request message, including the GTP-C TEID of the SGW-C <NUM> and the GTP-U TEID of the SGW-U <NUM>, to the PGW-C <NUM>. The PGW-C <NUM> may then send a message to the PGW-U <NUM> to request the GTP-U TEID of the PGW-U <NUM>. The PGW-U <NUM> may respond by sending the GTP- U TEID of the PGW-U <NUM> to the PGW-C <NUM>. Thus, the PGW-U <NUM> may act as a forwarding node, and may create a local GTP-U TEID for itself.

The PGW-C <NUM> may then provide the GTP-C TEID of the PGW-C <NUM> and the GTP-U TEID of the PGW-U <NUM> to the SGW-C <NUM>. The SGW-C <NUM> may then provide the updated GTP-U TEID of the PGW-U <NUM> to the SGW-U <NUM>. The SGW-C <NUM> may use the GTP-C TEID of the PGW-C <NUM>, and the PGW-C <NUM> may use the GTP-C TEID of the SGW-C <NUM>, to establish a GTP-C tunnel between the SGW-C <NUM> and the PGW- C <NUM>. The SGW-U <NUM> may use the GTP-U TEI D of the PGW-U <NUM>, and the PGW- U <NUM> may use the GTP-U TEID of the SGW-U <NUM>, to establish a GTP-U tunnel between the SGW-U <NUM> and the PGW-U <NUM>.

The SGW-C <NUM> may then respond to the Create Session Request from the MME <NUM> with the GTP-C TEID of the SGW-C <NUM> and the GTP-U TEID of the SGW- U <NUM>. The SGW-C <NUM> may use the GTP-C TEID of the MME <NUM>, and the MME <NUM> may use the GTP-C TEID of the SGW-C <NUM>, to establish a GTP-C tunnel between the SGW-C <NUM> and the MME <NUM>.

The MME <NUM> may then accept the attachment and send the GTP-U TEID of the SGW-U <NUM> to the AN <NUM> (which may be, for example, an eNodeB). In response, the AN <NUM> may send the GTP-U TEID of the AN <NUM> to the MME <NUM>. The MME <NUM> may then send a Modify Bearer Request message, including the GTP-U TEID of the AN <NUM>, to the SGW-C <NUM>. The SGW-C <NUM> may provide the GTP-U TEID of the AN <NUM> to the SGW-U <NUM>. The SGW-U <NUM> and the SGW-C <NUM> may respond to the Modify Bearer Request. The SGW-U <NUM> may use the GTP-U TEID of the AN <NUM>, and the AN <NUM> may use the GTP-U TEID of the SGW-U <NUM>, to establish a GTP-U tunnel between the SGW- U <NUM> and the AN <NUM>.

Although the signal flow of <FIG> illustrates a scenario in which there is a single SGW-C <NUM> and a single SGW-U <NUM>, a single SGW-C <NUM> may control multiple SGW- Us (as discussed above with reference to <FIG>). In some such scenarios, there exists the possibility that two or more different SGW-Us may create the same TEI Ds for themselves and communicate those same TEI Ds to the SGW-C <NUM>. The SGW-C <NUM> may be configured to differentiate between the different SGW-Us based on the IP address of the SGW-Us (which may be assigned to the SGW-U hardware by the manufacturer, and may be static over the lifetime of the SGW-U).

Turning now to <FIG>, a signal flow as illustrated in which the SGW-C <NUM> and the PGW-C <NUM> are responsible for GTP tunnel creation (in contrast to the signal flow of <FIG>) and also for updating the SGW-U <NUM> and the PGW-U <NUM>. After the Stage <NUM> Attach Procedure, the MME <NUM> may transmit a Create Session Request to the SGW- C <NUM>, including the GTP-C TEID of the MME <NUM>. The SGW-C <NUM> may then send a message to the PGW-C <NUM> with the GTP-C TEID of the SGW-C <NUM> and the GTP-U TEID of the SGW-U <NUM>. The SGW-C <NUM> may also provide the GTP-U TEID of the SGW-U <NUM> to the SGW-U <NUM>, thereby assigning the GTP-U TEID to the SGW-U <NUM>. The PGW-C <NUM> may provide the GTP-U TEID of the SGW-U <NUM> and the GTP-U TEID of the PGW-U <NUM> to the PGW-U <NUM> (thereby assigning the GTP-U TEID to the PGW-U <NUM>).

In response to the Create Session Request, the PGW-C <NUM> may provide the GTP-C TEID of the PGW-C <NUM> and the GTP-U TEID of the PGW-U <NUM> to the SGW- C <NUM>. The SGW-C <NUM> may then provide the GTP-U TEID of the PGW-U <NUM> to the SGW-U <NUM>. The SGW-C <NUM> may use the GTP-C TEID of the PGW-C <NUM>, and the PGW-C <NUM> may use the GTP-C TEID of the SGW-C <NUM>, to establish a GTP-C tunnel between the SGW-C <NUM> and the PGW-C <NUM>. The SGW-U <NUM> may use the GTP-U TEID of the PGW-U <NUM>, and the PGW-U <NUM> may use the GTP-U TEID of the SGW- U <NUM>, to establish a GTP-U tunnel between the SGW-U <NUM> and the PGW-U <NUM>.

The MME <NUM> may then accept the attachment and send the GTP-U TEID of the SGW-U <NUM> to the AN <NUM> (which may be, for example, an eNodeB). In response, the AN <NUM> may send the GTP-U TEID of the AN <NUM> to the MME <NUM>. The MME <NUM> may then send a Modify Bearer Request message, including the GTP-U TEID of the AN <NUM>, to the SGW-C <NUM>. The SGW-C <NUM> may provide the GTP-U TEID of the AN <NUM> to the SGW-U <NUM>, and may respond to the Modify Bearer Request. The SGW-U <NUM> may use the GTP-U TEID of the AN <NUM>, and the AN <NUM> may use the GTP-U TEID of the SGW- U <NUM>, to establish a GTP-U tunnel between the SGW-U <NUM> and the AN <NUM>.

The signal flows of <FIG> and <FIG> provide two different approaches to distribute them responsibility for GTP tunnel creation among various entities in a wireless communication network. The signal flow of <FIG> may be more suitable when more responsibility is desired to be allocated to the user plane (e.g., to the SGW-U <NUM> and the PGW-U <NUM>), while the signal flow <FIG> may be more suitable when more responsibility is desired to be allocated to the control plane (e.g., to the SGW-C <NUM> and the PGW-C <NUM>).

<FIG> is a signal diagram of a process for UE handover, in accordance with various embodiments. As used herein, "handover" may refer to the process by which an AN may transfer service of a UE to another AN. For ease of illustration, the signal flow of <FIG> will be discussed with reference to the handover of the UE <NUM> from the AN <NUM> (referred to as the "source" AN or "S-AN")) to the AN <NUM> (referred to as the "target" AN, or "T-AN"). In particular, the handover process illustrated in <FIG> is an S1 interface-based handover, and involves a transfer between the SGW-U <NUM> (acting as a "source" SGW-U or "S-SGW-U") and the SGW-U <NUM> (acting as a "target" SGW-U or "T-SGW-U"). In some embodiments, the AN <NUM> and the AN <NUM> may be eNodeBs.

The signal diagram of <FIG> may begin when the decision is made to relocate the UE <NUM> from the S-AN <NUM> to the T-AN <NUM>. This decision may be made by the S-AN <NUM>. The S-AN <NUM> may send a Handover Required message to the network controller <NUM> (e.g., the MME <NUM>). The Handover Required message may take the form of a conventional LTE Handover Required message, and the format of the Handover Required message is not discussed in further detail herein.

The network controller <NUM> may then send an update message to the T-SGW- U <NUM>, providing the TEID of the S-SGW-U <NUM>, and an address and a TEID of the PGW- U <NUM>. In response, the T-SGW-U <NUM> may provide an address of the T-SGW-U <NUM> to the network controller <NUM>.

The network controller <NUM> may then send a Handover Request message to the T-AN <NUM>, which may respond with a Handover Request Acknowledge message. The Handover Request and Acknowledge messages may take the form of conventional LTE Handover Request and Acknowledge messages, and are not discussed in further detail herein.

The network controller <NUM> may send an address of the T-AN <NUM> to the T-SGW-U <NUM> for forwarding, along with the TEID of the T-AN <NUM>. In response, the T-SGW- U <NUM> may send an address of the T-SGW-U <NUM> for forwarding, along with the TEID of the T-SGW-U <NUM>.

The network controller <NUM> may send an address of the T-SGW-U <NUM> to the S-SGW-U <NUM> for forwarding, along with the TEID of the T-SGW-U <NUM>. In response, the S-SGW-U <NUM> may send an address of the S-SGW-U <NUM> for forwarding, along with the TEID of the S-SGW-U <NUM>.

The network controller <NUM> may then send a Handover Command to the SAN <NUM>, which may be followed by a Handover Command sent by the S-AN <NUM> to the UE <NUM>. The Handover Commands may take the form of conventional LTE Handover Commands, and are not discussed in further detail herein. The S-AN <NUM> may respond by sending an AN Status Transfer message to the network controller <NUM>. A communication pathway from the S-AN <NUM> to the S-SGW-U <NUM> and to the T-SGW- U <NUM>, and the communication pathway from the T-SGW-U <NUM> to the T-AN <NUM> may be used for indirect forwarding of data. Indirect forwarding of data may be useful when, for example, a direct forwarding path enabled by X2 connectivity between the S-AN <NUM> and the T-AN <NUM> is not available.

The UE <NUM> may then detach from the old cell (covered by the S-AN <NUM>) and may synchronize with the new cell (covered by the T-AN <NUM>). The UE <NUM> may then send a Handover Confirm message to the T-AN <NUM>, and may receive downlink data from the T-AN <NUM>. The UE <NUM> may provide uplink user plane data to the T-AN <NUM> for transmission to the PGW-U <NUM>.

The T-AN <NUM> may send a Handover Notify message to the network controller <NUM>, which may respond by sending an address of the T-AN <NUM> to the T-SGW- U <NUM> for downlink data, along with the TEID of the T-AN <NUM>. The T-SGW-U <NUM> may then send an address of the T-SGW-U <NUM> to the PGW-U <NUM> for downlink data, along with the TEID of the T-SGW-U <NUM>. The T-SGW-U <NUM> may then send the address of the T-SGW-U <NUM> to the network controller <NUM> uplink data, along with the TEID of the T-SGW-U <NUM>. The PGW-U <NUM> may provide downlink user plane data to the T-SGW- U <NUM> for transmission to the T-AN <NUM> and, subsequently, to the UE <NUM>.

A tracking area update procedure may then be performed between the UE <NUM> and the PGW-U <NUM>. The tracking area update procedure may take the form of a conventional LTE tracking area update procedure, and is not discussed in further detail herein. The network controller <NUM> may then transmit a UE context release command to the S-AN <NUM>, which may respond with a UE content release complete message. The network controller <NUM> may then transmit an update message to the S-SGW-U <NUM>, instructing the S-SGW-U <NUM> to delete the address of the T-SGW-U for forwarding, as well as the associated TEI Ds. The network controller <NUM> may also transmit an update message to the T-SGW-U <NUM>, instructing the T-SGW-U <NUM> to delete the address of the T-AN <NUM> for forwarding, as well as the associated TEIDs.

<FIG> is a block diagram of an example computing device <NUM>, which may be suitable for practicing various disclosed embodiments. For example, the computing device <NUM> may serve as the SGW-C <NUM>, the PGW-C <NUM>, the SGW-U <NUM>, the PGW-U <NUM>, or any other suitable computing system discussed herein. Any of the circuitry disclosed herein may be implemented by suitable combinations of the hardware discussed below with reference to the computing device <NUM> (e.g., programmed memory coupled with one or more processing devices). In some embodiments, the SGW-C <NUM>, the PGW-C <NUM>, the SGW-U <NUM>, and/or the PGW-U <NUM> may include multiple ones of the computing device <NUM>, communicatively coupled to each other.

The computing device <NUM> may include a number of components, including one or more processor(s) <NUM> and at least one communication chip <NUM>. In various embodiments, the processor <NUM> may include a processor core. In various embodiments, at least one communication chip <NUM> may also be physically and electrically coupled to the processor <NUM>. In further implementations, the communication chip <NUM> may be part of the processor <NUM>. In various embodiments, the computing device <NUM> may include a printed circuit board (PCS) <NUM>. For these embodiments, the processor <NUM> and the communication chip <NUM> may be disposed thereon. In alternate embodiments, the various components may be coupled without the employment of the PCB <NUM>.

Depending on its applications (e.g., performing control or user plane functionalities), the computing device <NUM> may include other components that may or may not be physically and electrically coupled to the PCB <NUM>. These other components include, but are not limited to, volatile memory (e.g., dynamic random access memory (DRAM) <NUM>), non-volatile memory (e.g., read-only memory (ROM) <NUM>, one or more hard disk drives, one or more solid-state drives, one or more compact disc drives, and/or one or more digital versatile disc drives), flash memory <NUM>, input/output controller <NUM>, a digital signal processor (not shown), a crypto processor (not shown), graphics processor <NUM>, one or more antenna <NUM>, touch screen display <NUM>, touch screen controller <NUM>, other displays (such as liquid-crystal displays, cathode-ray tube displays and e-ink displays, not shown), battery <NUM>, an audio codec (not shown), a video codec (not shown), global positioning system (GPS) device <NUM>, compass <NUM>, an accelerometer (not shown), a gyroscope (not shown), speaker <NUM>, camera <NUM>, and a mass storage device (such as hard disk drive, a solid state drive, compact disk (CD), digital versatile disk (DVD)) (not shown), any other desired sensors (not shown) and so forth. In various embodiments, the processor <NUM> may be integrated on the same die with other components to form a System on Chip (SoC). Any components included in the computing device <NUM> (e.g., sensors) may be used to perform various control plane or user plane functionalities, as suitable (e.g., in operations related to attachment or handover of a UE).

In various embodiments, volatile memory (e.g., DRAM <NUM>), nonvolatile memory (e.g., ROM <NUM>), flash memory <NUM>, and the mass storage device may include programming instructions configured to enable the computing device <NUM>, in response to execution by the processor(s) <NUM>, to practice all or selected aspects of the processes described herein (e.g., the control plane or user plane operations). For example, one or more of the memory components such as volatile memory (e.g., DRAM <NUM>), non-volatile memory (e.g., ROM <NUM>), flash memory <NUM>, and the mass storage device may be computer readable media that include temporal and/or persistent (e.g., non-transitory) copies of instructions thereon that, in response to execution by the one or more processor(s) <NUM>, cause the computing device <NUM> to practice all or selected aspects of the processes described herein. Memory accessible to the computing device <NUM> may include one or more storage resources that are physically part of a device on which the computing device <NUM> is installed and/or one or more storage resources that is accessible by, but not necessarily a part of, the computing device <NUM>. For example, a storage resource may be accessed by the computing device <NUM> over a network via the communications chip <NUM>. Any one or more of these memory devices may be included in the SGW-C <NUM>, the PGW-C <NUM>, the SGW-U <NUM>, and/or the PGW-U <NUM>.

The communication chip <NUM> may enable wired and/or wireless communications for the transfer of data to and from the computing device <NUM>. The term "wireless" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communication channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. Many of the embodiments described herein may be used with WiFi and 3GPP/LTE communication systems, as noted above. However, the communication chips <NUM> may implement any of a number of wireless standards or protocols.

Claim 1:
A method performed by a serving gateway control-plane, SGW-C, of establishing a GTP-C tunnel to a packet data network gateway control-plane function, PGW-C (<NUM>), and establishing a GTP-C tunnel to a Mobile management entity, MME (<NUM>), the method comprising:
receiving from an MME (<NUM>) a Create Session Request, including the GTP-C TEID of the MME (<NUM>) ;
transmitting, to a serving gateway user-plane, SGW-U, a request to get a user data general packet radio service tunneling protocol, GTP-U, tunnel endpoint identifier, TEID, of the SGW-U;
receiving, from the SGW-U, a response including the GTP-U TEID of the SGW-U;
transmitting, to the PGW-C, a create session request message including the GTP-U TEID of the SGW-U and including a GTP-C TEID of the SGW-C (<NUM>);
receiving, from the PGW-C, a create session response including the GTP-U TEID of a packet data network gateway user-plane, PGW-U and a GTP-C TEID of the PGW-C (<NUM>); and
transmitting, to the SGW-U, the GTP-U TEID of the PGW-U;
establishing, using the GTP-C TEID of the SGW-C (<NUM>) and the GTP-C TEID of the PGW-C (<NUM>), a GTP-C tunnel between the SGW-C (<NUM>) and PGW-C (<NUM>);
responding to the Create Session Request from the MME (<NUM>) with the GTP-C TEID of the SGW-C (<NUM>) and the GTP-U TEID of the SGW-U (<NUM>) ; and establishing, using the GTP-C TEID of the MME (<NUM>) and GTP-C TEID of the SGW-C (<NUM>), a GTP-C tunnel between the SGW-C (<NUM>) and the MN (<NUM>).