A network device, such as a service capability exposure function (SCEF), may deliver Internet protocol (IP) data over a user plane in networks, such as a fourth generation (4G) core network, a fifth generation (5G) next generation (NG) core network, and/or the like.
The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
An SCEF may receive, from a packet data network gateway (PGW), a policy and charging rules function (PCRF), and/or a monitoring report, a request to create PDN session that includes a network address (e.g., IP address) of a user equipment via a remote authentication dial-in user service (RADIUS) procedure, a Diameter procedure, and/or the like. The SCEF may create a mapping between an IP address and a port of the user equipment and an IP address and a port associated with an application server for subsequent communications between the user equipment and the application server over the user plane. However, for IP version 6 (IPv6) address assignment, the PGW may provide a block of IPv6 addresses (e.g., specified by an IPv6 prefix) for the user equipment to the SCEF. Such a configuration may function for user equipment-originated traffic, but fails to function for SCEF-enabled services that require a unique IPv6 address for the user equipment (e.g., PDN IP traffic flow quality of service (QoS) control services, SCEF or application server-initiated data deliveries to the user equipment, application programming interface (API) services provided by the SCEF, services provided by the application server, and/or the like). This wastes computing resources (e.g., processing resources, memory resources, communication resources, and/or the like), networking resources, and/or the like associated with attempting to identify an IP address of the user equipment, providing data to an incorrect IP address of the user equipment, failing to provide data to the user equipment, and/or the like.
Some implementations described herein provide a device (e.g., a network device, such as an SCEF) that acquires a particular IP network address (e.g., an IPv6 address) of a user equipment in networks. For example, the SCEF may determine that an application server requires an IPv6 address of a user equipment associated with a network, and may provide, to a network device of the network, a request for the IPv6 address of the user equipment. The request may include data identifying an IP address and a port of the network device, and the request may cause the network device to provide the request for the IPv6 address to the user equipment via a short message service (SMS) request message, and receive, from the user equipment, data identifying the IPv6 address and a port of the user equipment via a SMS response message. The SCEF may receive, from the network device and based on the request, a response that includes the data identifying the IPv6 address and the port of the user equipment, and may store the data identifying the IPv6 address and the port of the user equipment.
In this way, the SCEF acquires a particular IPv6 address of a user equipment in networks. This enables SCEF-based services that require a unique IPv6 address for the user equipment (e.g., PDN IP traffic flow QoS control services, SCEF or application server-initiated data deliveries to the user equipment, API services provided by the SCEF, services provided by the application server, and/or the like) to be provided to the user equipment. Thus, the SCEF conserves computing resources, networking resources, and/or the like that would otherwise have been wasted attempting to identify an IP address of the user equipment, providing data to an incorrect IP address of the user equipment, failing to provide data to the user equipment, and/or the like.
As further shown in
As further shown in
As further shown in
Based on receiving the SMS response message, the MME may provide, to the SCEF, a response that includes the data identifying the IPv6 address and the port of user equipment 105. For example, the MME may send a forward Short Message operation (OFR) message that includes a command (e.g., “cmd=ue-ip-response, iptye=V6, ue-ip=x:y:z:w, ue-port=uvw, PDN=scefip”). Based on receiving the OFR message, the SCEF may provide, to application server 120, a report that includes the data identifying the IPv6 address and the port of user equipment 105. The report may include a monitor event (Monte) report that includes information indicating the IPv6 address and the port of user equipment 105 (e.g., “UE-ID, UE-IP, APN”).
As shown in
As further shown in
As further shown in
As further shown in
As shown in
As further shown in
Based on receiving the data destined for user equipment 105, the SCEF may generate a packet that includes data identifying the IP address of the SCEF as a source IP address, the port of the SCEF as a source port, the IPv6 address of user equipment 105 as a destination IP address, the port of user equipment 105 as a destination port, and the data destined for user equipment 105 (e.g., the payload). The SCEF may then cause the packet to be forwarded to user equipment 105. For example, the SCEF may send a UDP IP message that includes the packet (e.g., “IP header: srcip=scefip, src-port=scefport, dest-ip=ue-ip, dest-port=ue-port, payload”) to user equipment 105, via the SGW/PGW and RAN 110.
As further shown in
As further shown in
As further shown in
In this way, the SCEF of core network 115 acquires an IPv6 address of user equipment 105 associated with RAN 110 and core network 115. This enables PDN IP traffic flow QoS control services, SCEF or application server-initiated data deliveries to the user equipment, API services provided by the SCEF, services provided by the application server, and/or the like to be provided to the user equipment. Thus, the SCEF conserves computing resources, networking resources, and/or the like that would otherwise have been wasted attempting to identify an IP address of the user equipment, providing data to an incorrect IP address of the user equipment, failing to provide data to the user equipment, and/or the like.
As indicated above,
User equipment 105 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information, such as information described herein. For example, user equipment 105 may include a mobile phone (e.g., a smart phone, a radiotelephone, and/or the like), a laptop computer, a tablet computer, a desktop computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart watch, a pair of smart glasses, and/or the like), a mobile hotspot device, a fixed wireless access device, customer premises equipment, an autonomous vehicle, or a similar type of device.
RAN 110 may support, for example, a cellular radio access technology (RAT). RAN 110 may include base stations (e.g., base transceiver stations, radio base stations, node Bs, eNodeBs (eNBs), gNodeBs (gNBs), base station subsystems, cellular sites, cellular towers, access points, transmit receive points (TRPs), radio access nodes, macrocell base stations, microcell base stations, picocell base stations, femtocell base stations, or similar types of devices) and other network entities that may support wireless communication for user equipment 105. RAN 110 may transfer traffic between user equipment 105 (e.g., using a cellular RAT), base stations (e.g., using a wireless interface or a backhaul interface, such as a wired backhaul interface), and/or core network 115. RAN 110 may provide one or more cells that cover geographic areas.
RAN 110 may perform scheduling and/or resource management for user equipment 105 covered by RAN 110 (e.g., user equipment 105 covered by a cell provided by RAN 110). In some implementations, RAN 110 may be controlled or coordinated by a network controller, which may perform load balancing, network-level configuration, and/or the like. The network controller may communicate with RAN 110 via a wireless or wireline backhaul. In some implementations, RAN 110 may include a network controller, a self-organizing network (SON) module or component, or a similar module or component. In other words, RAN 110 may perform network control, scheduling, and/or network management functions (e.g., for uplink, downlink, and/or sidelink communications of user equipment 105 covered by RAN 110).
Core network 115 may include an evolved packet core (EPC) network that operates based on a third generation partnership project (3GPP) wireless communication standard. As shown in
MME 205 includes one or more devices, such as one or more server devices, capable of managing authentication, activation, deactivation, and/or mobility functions associated with user equipment 105. MME 205 may perform operations relating to authentication of user equipment 105. Additionally, or alternatively, MME 205 may facilitate the selection of a particular SGW 210 and/or a particular PGW 215 to serve traffic to and/or from user equipment 105. MME 205 may perform operations associated with handing off user equipment 105 from a first RAN 110 to a second RAN 110 when user equipment 105 is transitioning from a first cell associated with the first RAN 110 to a second cell associated with the second RAN 110. Additionally, or alternatively, MME 205 may select another MME (not pictured), to which user equipment 105 should be handed off (e.g., when user equipment 105 moves out of range of MME 205).
SGW 210 includes one or more devices capable of routing packets. For example, SGW 210 may include one or more data processing and/or traffic transfer devices, such as a gateway, a router, a modem, a switch, a firewall, a network interface card (MC), a hub, a bridge, a server device, an optical add/drop multiplexer (OADM), or any other type of device that processes and/or transfers traffic. SGW 210 may aggregate traffic received from one or more RANs 110, and may send the aggregated traffic to data network 240 (e.g., via PGW 215) and/or other network devices associated with core network 115 and/or the IMS core. SGW 210 may also receive traffic from data network 240 and/or other network devices, and may send the received traffic to user equipment 105 via RAN 110. Additionally, or alternatively, SGW 210 may perform operations associated with handing off user equipment 105 to and/or from an LTE network.
PGW 215 includes one or more devices capable of providing connectivity for user equipment 105 to external packet data networks (e.g., other than the depicted core network 115). For example, PGW 215 may include one or more data processing and/or traffic transfer devices, such as a gateway, a router, a modem, a switch, a firewall, a NIC, a hub, a bridge, a server device, an OADM, or any other type of device that processes and/or transfers traffic. PGW 215 may aggregate traffic received from one or more SGWs 210, and may send the aggregated traffic to data network 240. Additionally, or alternatively, PGW 215 may receive traffic from data network 240, and may send the traffic to user equipment 105 via SGW 210 and RAN 110. PGW 215 may record data usage information (e.g., byte usage).
PCRF 220 includes one or more devices, such as one or more server devices, capable of providing policy control decision and flow-based charging control functionalities. For example, PCRF 220 may provide network control regarding service data flow detection, gating, quality of service (QoS) and flow-based charging, and/or the like. PCRF 220 may determine how a certain service data flow is to be treated, and may ensure that user plane traffic mapping and treatment is in accordance with a user subscription profile.
SCEF 225 includes one or more devices that receive, store, generate, determine, provide, and/or the like information associated with a group messaging service. For example, SCEF 225 may include a server device or a group of server devices. SCEF 225 may perform one or more actions performed by a network exposure function (NEF) and/or a network repository function (NRF).
HSS 230 includes one or more devices, such as one or more server devices, capable of managing (e.g., receiving, generating, storing, processing, providing, and/or the like) information associated with user equipment 105. For example, HSS 230 may manage subscription information associated with user equipment 105, such as information associated with a subscriber profile of a user associated with user equipment 105, information associated with services and/or applications that are accessible to user equipment 105, location information associated with user equipment 105, a network identifier (e.g., a network address) associated with user equipment 105, information associated with a treatment of user equipment 105 (e.g., quality of service information, a quantity of minutes allowed per time period, a quantity of data consumption allowed per time period, and/or the like), and/or the like. HSS 230 may provide this information to one or more other devices of environment 200 to support the operations performed by those devices.
Message bus 235 represents a communication structure for communication among the elements of core network 115. In other words, message bus 235 may permit communication between two or more elements of core network 115.
Although core network 115 is shown as a fourth generation (4G) architecture, core network 115 may include other architectures in which systems and/or methods described herein may be implemented. For example, core network 115 may include an example architecture of a fifth generation (5G) next generation (NG) core network included in a 5G wireless telecommunications system.
For example, the 5G NG core network may include a number of functional elements. The functional elements may include, for example, a network slice selection function (NSSF), a network exposure function (NEF), an authentication server function (AUSF), a unified data management (UDM) component, a policy control function (PCF), an application function (AF), an access and mobility management function (AMF), a session management function (SMF), a user plane function (UPF), and/or the like. These functional elements may be communicatively connected via a message bus 235. Each of the functional elements may be implemented on one or more devices associated with a wireless telecommunications system. One or more of the functional elements may be implemented on physical devices, such as an access point, a base station, a gateway, and/or the like. One or more of the functional elements may be implemented on a computing device of a cloud computing environment.
The NSSF includes one or more devices that select network slice instances for user equipment 105. By providing network slicing, the NS SF allows an operator to deploy multiple substantially independent end-to-end networks potentially with the same infrastructure. In some implementations, each slice may be customized for different services. The NEF includes one or more devices that support exposure of capabilities and/or events in the wireless telecommunications system to help other entities in the wireless telecommunications system discover network services. The AUSF includes one or more devices that act as an authentication server and support the process of authenticating user equipment 105 in the wireless telecommunications system. The UDM includes one or more devices that store user data and profiles in the wireless telecommunications system. The UDM may be used for fixed access, mobile access, and/or the like, in core network 115. The PCF includes one or more devices that provide a policy framework that incorporates network slicing, roaming, packet processing, mobility management, and/or the like. The AF includes one or more devices that support application influence on traffic routing, access to the NEF, policy control, and/or the like. The AMF includes one or more devices that act as a termination point for NAS signaling, mobility management, and/or the like. The SIVIF includes one or more devices that support the establishment, modification, and release of communication sessions in the wireless telecommunications system. The UPF includes one or more devices that serve as an anchor point for intraRAT and/or interRAT mobility. The UPF may apply rules to packets, such as rules pertaining to packet routing, traffic reporting, handling user plane QoS, and/or the like.
Application server 120 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information, such as information described herein. For example, application server 120 may include a laptop computer, a tablet computer, a desktop computer, a group of server devices, or a similar type of device. Application server 120 may receive information from and/or transmit information to user equipment 105 and/or core network 115.
Data network 240 includes one or more wired and/or wireless data networks. For example, data network 240 may include an IMS, a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a private network such as a corporate intranet, an ad hoc network, the Internet, a fiber optic-based network, a cloud computing network, a third party services network, an operator services network, and/or the like, and/or a combination of these or other types of networks.
The number and arrangement of devices and networks shown in
Bus 310 includes a component that permits communication among the components of device 300. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. Processor 320 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some implementations, processor 320 includes one or more processors capable of being programmed to perform a function. Memory 330 includes a random-access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use by processor 320.
Storage component 340 stores information and/or software related to the operation and use of device 300. For example, storage component 340 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and/or a solid-state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium, along with a corresponding drive.
Input component 350 includes a component that permits device 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone). Additionally, or alternatively, input component 350 may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator). Output component 360 includes a component that provides output information from device 300 (e.g., a display, a speaker, and/or one or more light-emitting diodes (LEDs)).
Communication interface 370 includes a transceiver-like component (e.g., a transceiver and/or a separate receiver and transmitter) that enables device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 370 may permit device 300 to receive information from another device and/or provide information to another device. For example, communication interface 370 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, and/or the like.
Device 300 may perform one or more processes described herein. Device 300 may perform these processes based on processor 320 executing software instructions stored by a non-transitory computer-readable medium, such as memory 330 and/or storage component 340. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
Software instructions may be read into memory 330 and/or storage component 340 from another computer-readable medium or from another device via communication interface 370. When executed, software instructions stored in memory 330 and/or storage component 340 may cause processor 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The number and arrangement of components shown in
As shown in
As further shown in
In some implementations, the network device includes a service capability exposure function and the other network device includes a mobility management entity. In some implementations, the request is to cause the user equipment to assign the IPv6 address and the port of the user equipment on behalf of the application server. In some implementations, the request is to cause the user equipment to store the IP address and the port of the network device.
As further shown in
As further shown in
Process 400 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
In some implementations, process 400 includes receiving, from the application server, data destined for the user equipment; generating a packet based on receiving the data destined for the user equipment, wherein the packet may include data identifying the IP address of the network device as a source IP address, the port of the network device as a source port, the IPv6 address of the user equipment as a destination IP address, the port of the user equipment as a destination port, and the data destined for the user equipment; and causing the packet to be forwarded to the user equipment.
In some implementations, process 400 includes providing, to the application server, a report that includes the data identifying the IPv6 address and the port of the user equipment.
Although
The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the implementations.
As used herein, the term “component” is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
To the extent the aforementioned implementations collect, store, or employ personal information of individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information may be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
It will be apparent that systems and/or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code—it being understood that software and hardware may be designed to implement the systems and/or methods based on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set.
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, and/or the like), and may be used interchangeably with “one or more.” Where only one item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Number | Name | Date | Kind |
---|---|---|---|
9037724 | Kavanaugh | May 2015 | B2 |
10548062 | Cui | Jan 2020 | B2 |
Number | Date | Country | |
---|---|---|---|
20210289060 A1 | Sep 2021 | US |