To satisfy the needs and demands of users of mobile communication devices, providers of wireless communication services continue to improve available services. One aspect of such improvements includes the development of wireless access networks as well as options to utilize the networks. Such networks may service not only smart phones, but also other types of devices, such as Internet-of-Things (IoT) devices in different operating modes. For example, a network may service devices that are in the Extended Discontinuous Reception (eDRX) mode or the Power Savings Mode (PSM).
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
A typical T8 Application Programming Interface (API) framework uses a T8 API, which supports a Non-Internet Protocol (IP) Data Delivery (NIDD) but may not necessarily support IP data transport. For mobile network operators (MNOs), this raises a number of cost-related and technical issues that stem from the potential incompatibility between a network component that communicates over an IP layer and an application function (AF) node (also referred to as application server AS)) that uses the non-IP T8 API framework.
For example, an MNO may need an AF node that provides both a T8 API and a legacy data interface to service older types of devices. An AF node may require Internet-of-Things (IoT) devices, with which the AF node communicates, to be T8 API compliant. Examples of T8 API compliant IoT devices include Category M1 (CAT-M1) and Narrow Band (NB)-IoT devices with Extended Discontinuous Reception (eDRX) and Power Savings Mode (PSM) capabilities for increasing battery life. Because there are older types of devices which need to be serviced, however, the AF node still may need to maintain a legacy data interface. For example, the AS may need to maintain both T8 API and legacy data interfaces to provide services for monitoring reachability, connectivity, and availability after a downlink delivery notification (DDN) failure.
In one example, an MNO may need an AF node that provides both a legacy IP-based API and T8 API. An IoT device (e.g., user equipment (UE) device) may include and use IP-based platform software, such as software for upgrading, software for location tracking information transfer (e.g., via User Plane), and software for using the Secure User Plane Location (SUPL) protocol.
In another example, an MNO may need an AF node that not only supports both a T8 API and IP-based devices, but, at the same time, provides a high level of security to the IP-based devices. However, if the AF node were to provide a Mobile Virtual Private Network (MVPN) that extends from a UE device to the AF node for providing certificate-based security, the AF node also has to bear a high computational load due to large number of T8 IoT devices that the AF node must manage.
Still, in another example, an MNO may need an AF node that can provide support for platforms which use legacy protocols, such as Lightweight Machine-to-Machine (LWM2M), Constrained Application Protocol (CoAP), and Message Queuing Telemetry Transport (MQTT) protocol. However, LWM2M, CoAP, and MQTT protocols are based on IP, which T8 API frameworks do not need to support.
Systems and methods described herein address each of the issues described above.
In
During IP Proxy operation, when AF node 102 sends mobile terminated (MT) T8 messages to UE device 104 over a communication path 114, IP Proxy 108 intercepts the T8 messages, translates the T8 messages into IP messages, and forwards the IP messages to UE device 104 over IP path 116. Conversely, when UE device 104 sends mobile originated (MO) IP messages to AF node 102 over IP path 116, IP Proxy 108 intercepts the IP messages, rewrites the IP messages as T8 messages, and forwards the T8 messages to AF node 102 via path 114.
IP Proxy 108 in
In
Depending on the implementation, IP Proxy 108 may obtain the termination information in different ways. For example, IP Proxy 108 may obtain the termination information associated with AF node 102 during the onboarding of AF node 102 from other network components. In another example, IP Proxy 108 may obtain the termination information associated with an application on UE device 104 based on the Protocol Data Unit (PDU) session established between the application on UE device 104 and a User Plaine Function (UPF) node in the network or a Packet Data Network (PDN) session between the application on UE device 104 and a gateway (GW) in the network. After IP Proxy 108 obtains and stores the termination information as part of its routing table, IP Proxy 108 may use the termination information for converting IP data from an application on UE device 104 to T8 data to be relayed to AF node 102 or for converting T8 data from AF node 102 to IP data to be forwarded to the application on UE device 104.
In a different embodiment, IP proxy 108 may obtain termination information and store the information in its routing table based on registration requests (also referred to as enlistment requests or messages) that UE devices 104 transmit to IP Proxy 108 when UE applications that are to communicate with AF node 102 establish PDU/PDN sessions with the network. A registration/enlistment requests may include the termination information, for the UE applications, which IP Proxy 108 may store in its routing table.
Provider network 202, which may also be referred to as a Mobile Network Operator (MNO), may include a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), an optical network, a cable television network, a satellite network, a wireless network (e.g., a CDMA network, a general packet radio service (GPRS) network, an LTE network (e.g., 4th Generation (4G) network), a 5th Generation (5G) network, an ad hoc network, a telephone network (e.g., the Public Switched Telephone Network (PSTN) or a cellular network), an intranet, or a combination of networks. Provider network 202 may allow the delivery of Internet Protocol (IP) services to UE device 104, and may interface with other external networks, such as customer IP network 250. In some implementations, provider network may include one or more packet data networks.
Customer IP network 250 may include a network that supports Internet Protocol (IP)-based communications.
In
UE device 104 and UE device 201 may each include a handheld wireless computational, communication device. Examples of a UE device includes: a smart phone; a tablet device; a wearable computer device (e.g., a smart watch); a global positioning system (GPS) device; a laptop computer; a media playing device; a portable gaming system; an IoT device. In some implementations, UE device 104 may correspond to a wireless Machine-type Communication (MTC) device that communicates with other devices over a machine-to-machine (M2M) interface, such as LTE-M or Category M1 (CAT-M1) devices and Narrow Band (NB)-IoT devices.
UE devices 104 and 201 (collectively referred to as UE devices 104 or generically as UE device 104) may include one or more applications (UE applications) that may establish a session with provider network 202 for communicating with AF node 102. When a UE application anchors a PDU/PDN session to a node in the network, for communicating with AF node 102 via NEF-SCEF 220, an IP manager on UE device 104/201 may register or enlist termination information for the UE application at IP Proxy 108. Furthermore, when the PDU/PDN session ends, the IP manager on UE device 104 may deregister or de-enlist the termination information at IP Proxy 108.
AN 204 may provide access to provider network 202, for wireless devices, such as UE device 104. AN 204 may include base stations (e.g., eNB or gNB) via which UE devices 104 can wirelessly communicate with AN 204.
AN 204 may include a 5G access network, an LTE Advanced (LTE-A) access network, and/or another advanced access network that provide access to: MTC devices, such as 1.4 MHz wide enhanced MTC (eMTC) devices (also referred to Cat-M1 devices); Low Power Wide Area (LPWA) devices such as NB-IoT (NB-IoT) devices; and/or other types of MTC devices; and/or other types of LTE-A and/or 5G devices.
AMF node 206 may perform registration management, connection management, reachability management, mobility management, lawful intercepts, Short Message Service (SMS) transport between UE device 104 and an SMS function (not shown in
UPF node 208 may maintain an anchor point for intra/inter-Radio Access Technology (RAT) mobility, maintain an external packet data unit (PDU) point of interconnect to a data network (e.g., DN 212, etc.), perform packet routing and forwarding, perform the user plane part of policy rule enforcement, perform packet inspection, perform lawful intercept, perform traffic usage reporting, perform QoS handling in the user plane, perform uplink traffic verification, perform transport level packet marking, perform downlink packet buffering, send and forward an “end marker” to a radio access network node (e.g., gNB), and/or perform other types of user plane processes. UPF 208 may communicate with AN 204, SMF node 210, and DN 212 using an N3, N4 and N6 interfaces, respectively.
In some implementations, UPF node 208 may load, from PCF node 218, a Policy and Charging Control (PCC) rule that requires UPF node 208 to redirect UE device 104-originated IP data to NEF 220 and/or IP Proxy 108. After loading the PCC rule, UPF node 208 may forward UE device 104-originated IP messages to either NEF node 220 and/or IP Proxy 108.
SMF node 210 may perform session establishment, modification, and/or release, perform IP address allocation and management, perform Dynamic Host Configuration Protocol (DHCP) functions, perform selection and control of UPF node 208, configure traffic steering at UPF 208 to guide traffic to the correct destination, terminate interfaces toward PCF node 218, perform lawful intercepts, charge data collection, support charging interfaces, terminate session management of Non-Access Stratum (NAS) messages, perform downlink data notification, manage roaming functionality, and/or perform other types of control plane functions for managing user plane data. SMF node 210 may be accessible via an Nsmf interface.
In some implementations, SMF node 210 may receive an Nsmf message NotifyProtranslate from NEF node 220. In response, SMF node 210 registers NEF node 220 or IP Proxy 108 for a notification service associated with UE devices 104. Thereafter, when a UE device 104 attaches to or detaches from provider network 202, SMF 210 may send a notification message to NEF node 220 or IP Proxy 108. Based on the notification message, NEF 220 and/or UE proxy 108 may update a routing table.
DN 212 and DN 230 may each provide operator services, internet access, or another type of service. DN 212/230 may exchange data with UE device 102/201 or a network component through UPF node 208 and/or SAE GW 226.
UDM 214 may maintain subscription information for UE devices 104, manage subscriptions, generate authentication credentials, handle user identification, perform access authorization based on subscription data, perform network function registration or subscription management, maintain service and/or session continuity by maintaining assignment of SMF node 210 for ongoing sessions, support SMS delivery, support lawful intercept functionality, and/or perform other processes associated with managing user data. UDM 214 may be accessible via a Nudm interface.
AUSF node 216 may store and manage authentication data for UE devices. AUSF node 216 may be accessible through an Nausf interface or another type of interface (e.g., N12, N13, etc.).
PCF node 218 may support policies to control network behavior, provide policy rules to control plane functions (e.g., to SMF node 210), access subscription information relevant to policy decisions, perform policy decisions, and/or perform other types of processes associated with policy enforcement. PCF node 218 may be accessible via an Npcf interface.
In some implementations, PCF node 218 may include a PCC rule for a node to redirect UE device-originated IP messages to NEF node 220 or IP Proxy 108. PCF node 218 may provide the rule to UPF node 208.
NEF node 220 may expose capabilities and events to other network functions, including 3rd party network functions, application functions, edge computing network functions, and/or other types of network functions. Furthermore, NEF node 220 may secure provision of information from external applications to AN 204, translate information between AN 204 and devices/networks external to AN 204, support a Packet Flow Description (PFD) function, and/or perform other types of network exposure functions. NEF node 220 may be accessible through an Nnef interface.
In some implementations, NEF node 220 may manage IP Proxy 108. For example, NEF node 220 may instantiate (create) IP Proxy 108 having a table listing one or more AF nodes 102 each with a Fully Qualified Domain Name (FQDN) and an IP address during an on-boarding process associated with one or more AF nodes 102.
In
As described herein, IP Proxy 108 receives T8 messages from AF node 102, translates the T8 messages into IP messages, and forwards the IP messages, via UPF node 208, to destination UE devices 104. In addition, IP Proxy 108 may receive UE device-originated IP messages from UPF node 208, translate the IP message into T8 messages, and forward the T8 messages to the destination AF nodes 102.
In one implementation, IP Proxy 108 may use a routing table to translate the messages. For example, such a routing table may map an AF/AS URL, AF/AS IP address, and AF/AS port number to a corresponding UE ID, UE device IP address, and UE port number. To construct or update the routing table, IP Proxy 108 may obtain address information for UE devices 104 and AF nodes 102. In some implementations, IP Proxy 108 may obtain AF node address information during an AF node on-boarding. In addition, IP Proxy 108 may obtain UE device address information from SMF node 210. Because NEF node 220 is subscribed to a notification service pertaining to UE devices 104, IP Proxy 108 (through NEF 22) may receive the UE device address information from SMF node 210 when the UE device 104 attaches to or detaches from provider network 202. IP Proxy 108 may be capable of terminating transport protocols, such as user datagram protocol (UDP), transport control protocol (TCP), etc. As used herein, the term “termination information” may refer to, collectively, the address information pertaining to UE device 104 and AF node 102.
In some implementations, IP Proxy 108 may obtain the termination information of applications on UE device 104 in ways other than those through SMF node 210. As indicated above, for example, IP Proxy 108 may accept requests from UE device 104 to enlist termination information for the applications on UE device 104. Upon receipt of a enlistment request from UE device 104, IP Proxy 108 may extract the termination information from the request and insert the information into its routing table. The termination information for an application on UE device 104 may include, for example: a UE ID (e.g., a Mobile Station International Services Directory Number (MSISDN), an International Mobile Subscriber Identity (IMSI), a Mobile Directory Number (MDN), a Subscriber Permanent Identifier (SUPI), a Subscriber Concealed Identifier (SUCI), etc.); an IP address and a port number of the application, a FQDN of AF node 102, a URL associated with AF node 102, a port number associated with AF node 102, and/or, if available, the IP address of the AF node 102. Different enlistment requests for different applications on UE device 104 may include different termination information—although the requests may bear the same UE ID. When IP Proxy 108 receives an enlistment request and the routing table already includes the termination information provided in the request, IP Proxy 108 may not insert the duplicate information into the routing table. When IP Proxy 108 receives a request from UE device 104 to de-enlist the termination information, IP Proxy 108 may remove the termination information from the routing table.
AF node 102 (or AS 102) may provide application services. Examples of application services include application on routing, accessing NEF node 220, interacting with a policy framework for policy control, and/or other types of application services. In some implementations, AF node 102 may service a large number of IoT devices. Such AF node 102 may send messages via T8 API, for example, to devices in DN 212/230. AF node 102 may be accessible via a Naf interface.
In some embodiments, AF node 102 may provide a particular API for NEF-SCEF 220 to convey IP-to-T8 translated data to AF node 102. In one example, an API call may take the form of T8_Mobile_Originated_data (UE_ID, T8 data). NEF-SCEF 220 may invoke the API to the URL (or the URI) of AF node 102. AF node 102 may receive the converted T8 data via the API.
When AF node 102 is to send T8 data to an application on UE device 104 via NEF-SCEF 220, AF node 102 may invoke an API that NEF-SCEF 220 offers to AF node 102 for conveying the T8 data to UE device 104. In an example, such an API call may take the form of T8_Mobile_Terminated_data (UE ID, T8 data, the FQDN of the AF node 102, the URL of the AF node 102, and/or the port number for the application on the UE device 104). When NEF-SCEF 220 receives the API call and the T8 data, NEF-SCEF 220 may hand off the T8 data to IP Proxy 108, which may then convert the T8 data into IP data and forward the converted IP data to UE device 104.
eNB 222 may include one or more devices and components that allow UE device 201 to wirelessly connect to provider network 202. eNB 222 may be part of an evolved UMTS Terrestrial Network (eUTRAN). Although
MME 224 may provide control plane processing for an evolved packet core (EPC) in provider network 202. For example, MME 224 may implement tracking and paging procedures for UE device 201, may activate and deactivate bearers for UE device 201, may authenticate a user of UE device 201 and may interface to non-LTE radio access networks. A bearer may represent a logical channel with particular QoS requirements. MME 224 may also select a particular serving gateway (SGW) for a particular UE device 201. MME 224 may communicate with eNB 222 and SCEF 220 through Si interface and T6a interface, respectively.
SAE-GW 226 may function as both a serving gateway (SGW) and a packet data network gateway (PGW). Like an SGW, SAE-GW 226 may provide an access point to UE device 201, handle forwarding of data packets for UE device 201, perform transport level markings (e.g., Quality of Service (QoS) Class Identifier (QCI)), and act as a local anchor point during handover procedures between eNBs. In addition, like a PGW, SAE-GW 226 may function as a gateway to DN 230. When UE device 201 attaches to network 202, SAE-GW 226 may allocate an IP address for UE device 201. Furthermore, when SAE-GW 226 receives a message from a Policy and Charging Rules Function (PCRF) to modify a QoS for UE device 201, SAE-GW 226 may change the bearer for UE device 201.
HSS 228 may provide user subscription, registration, and profile information to other components in provider network 202 and store such information at itself or other components (e.g., Authentication Authorization and Accounting (AAA) server). When MME 224 requests HSS 228 for authentication data, HSS 228 may access the AAA to retrieve the data and provide it to MME 224. HSS 228 may interface with MME 224 and SCEF 220 via S6a and S6t, respectively.
Service broker bus 232 may include hardware and/or software components for providing CP communication between different nodes.
Depending on the implementation, network environment 200 may include additional, fewer, different, or a different arrangement of components than those illustrated in
As shown, network device 300 may include a processor 302, memory/storage 304, input component 306, output component 308, network interface 310, and communication path 312. In different implementations, network device 300 may include additional, fewer, different, or different arrangement of components than the ones illustrated in
Processor 302 may include a processor, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), programmable logic device, chipset, application specific instruction-set processor (ASIP), system-on-chip (SoC), central processing unit (CPU) (e.g., one or multiple cores), microcontrollers, and/or other processing logic (e.g., embedded devices) capable of controlling device 300 and/or executing programs/instructions.
Memory/storage 304 may include static memory, such as read only memory (ROM), and/or dynamic memory, such as random access memory (RAM), or onboard cache, for storing data and machine-readable instructions (e.g., programs, scripts, etc.).
Memory/storage 304 may also include a floppy disk, CD ROM, CD read/write (R/W) disk, optical disk, magnetic disk, solid state disk, holographic versatile disk (HVD), digital versatile disk (DVD), and/or flash memory, as well as other types of storage device (e.g., Micro-Electromechanical system (MEMS)-based storage medium) for storing data and/or machine-readable instructions (e.g., a program, script, etc.). Memory/storage 304 may be external to and/or removable from network device 300. Memory/storage 304 may include, for example, a Universal Serial Bus (USB) memory stick, a dongle, a hard disk, off-line storage, a Blu-Ray® disk (BD), etc. Memory/storage 304 may also include devices that can function both as a RAM-like component or persistent storage, such as Intel® Optane memories.
Depending on the context, the term “memory,” “storage,” “storage device,” “storage unit,” and/or “medium” may be used interchangeably. For example, a “computer-readable storage device” or “computer-readable medium” may refer to both a memory and/or storage device.
Input component 306 and output component 308 may provide input and output from/to a user to/from device 300. Input/output components 306 and 308 may include a display screen, a keyboard, a mouse, a speaker, a microphone, a camera, a DVD reader, USB lines, and/or other types of components for obtaining, from physical events or phenomena, to and/or from signals that pertain to device 300.
Network interface 310 may include a transceiver (e.g., a transmitter and a receiver) for network device 300 to communicate with other devices and/or systems. For example, via network interface 310, network device 300 may communicate over a network, such as the Internet, an intranet, a terrestrial wireless network (e.g., a WLAN, WiFi, WiMax, etc.), a satellite-based network, optical network, etc. Network interface 310 may include a modem, an Ethernet interface to a LAN, and/or an interface/connection for connecting device 300 to other devices (e.g., a Bluetooth interface).
Communication path 312 may provide an interface through which components of device 300 can communicate with one another.
Network device 300 may perform the operations described herein in response to processor 302 executing software instructions stored in a non-transient computer-readable medium, such as memory/storage 304. The software instructions may be read into memory/storage 304 from another computer-readable medium or from another device via network interface 310. The software instructions stored in memory/storage 304, when executed by processor 302, may cause processor 302 to perform processes that are described herein.
For example, when NEF node 220 is implemented as a network function on a network device 300, the network device 300 may execute computer instructions that correspond to NEF 220 creating IP Proxy 108. In another example, when IP Proxy 108 is implemented as a network function on network devices 300, the network devices 300 may execute computer instructions that correspond to IP Proxy 108 translating T8 API messages into IP messages or translating IP messages into T8 API messages.
As described above, IP Proxy 108 may maintain a routing table that IP Proxy 108 may use for: translating UE device-originated IP messages into T8 messages and forwarding the translated T8 messages to AF nodes 102; and translating AF node 102-originated T8 messages into IP messages and forwarding the translated IP messages to UE devices 104.
As shown, IP Proxy 108 may include a routing table 402 and a message buffer 403. Routing table 402 may include records 401-1 through 401-N (N is an integer). As further shown, each record 401 may include an Application Server (AS) IP and port field 404-1, UE IP and port fields 405-1-1 through 405-1-M, UE-ID fields 406-1-1 through 406-1-M, and an AS URL field 408-1. AS IP and port field 404-1 may include an IP address and a port number that correspond to a particular AF node. In one implementation, AS IP and port field 404-1 and AS URL field 408 for each record 401 may be filled with an IP address, a port number, and a URL associated with a particular AF node 102 when the particular AF node 102 registers with IP Proxy 108 during on-boarding processes for the AF nodes 102.
Each of UE IP and port fields 405-1 and UE ID fields 406-1 may include an IP address, a port number, and an identifier (e.g., IMSI, MSISDN, etc.) that are associated with a particular UE device 104. When UE device 104 attaches to or detaches from provider network 202, SMF 210 may notify NEF 220 and/or IP Proxy 108 with the IP address and the UE device ID. IP Proxy 108 may insert or delete the UE device entry, depending on whether the UE device 104 attached or detached from provider network 202. IP proxy 108 may capture the port number of UE device 104 when it receives MO IP messages from UE device 104.
As explained above, IP Proxy 108 may translate and forward UE device 104-originated IP messages to AF node 102 and AF node 102-originated T8 API messages to UE device 104. As explained below, the translation function of IP Proxy 108 is simple and hence easy to implement.
For IP proxy 108 to perform these translations, NEF-SCEF 220 may be involved in IP proxy 108 setup. For example, NEF-SCEF 220 (or in some implementations, IP proxy 108 itself) may receive a call (e.g., a NotifyIPProxy) from SMF node 210. The call may provide information regarding UE ID and the IP address assigned to UE device 104 (e.g., by MME 224, a PGW, SAE-GW 226, etc. in a 4G network). The information may be stored in table 402 for IP processing (e.g., T8 API to IP or IP to T8 API). For processing uplink mobile-originated (MO) data, each UDP/TCP packet may contain the destination port number for the packet. For the MT IP data, port numbers are either predetermined during AF on-boarding processes or, alternatively, may be dynamically provided by T8 MT message specifying which port number the message is intended. Each port number may indicate a specific application instance associated with the port number.
As part of its operation, IP Proxy 108 may receive messages from different nodes in provider network 202. When IP Proxy 108 receives a UE device 104-originated IP message 418 from UPF node 208, IP Proxy 108 may place the IP message 418 in buffer 403. IP Proxy 108 may then translate the IP message into a T8 message. As shown in
To form HTTPS field 420-2, IP Proxy 108 needs the URL associated with the destination AF node 102. Accordingly, IP Proxy 108 performs a database query (or another process to locate a particular record) to retrieve a record 401 in table 402, using the destination IP address and port number indicated in the IP message (i.e., the IP address and the port number of the destination AF node 102). Next, UE proxy 108 may use the UE device ID (e.g., IMSI, MSISDN, etc.) to locate information pertaining to particular UE device 104, in the record 401, to obtain an AS URL. IP Proxy 108 may use the URL to form HTTPS field 420-2. When T8 message 420 is complete, IP Proxy 108 may forward T8 message 420 to the destination AF node 102.
When IP Proxy 108 receives a T8 message 420 originating from an AF node 102, IP Proxy may place T8 message 420 is in buffer 403. For mobile terminated (MT) message delivery, T8 API may include a flag “SendviaIP” set to “True.” Therefore, when IP Proxy 108 detects the flag in T8 message 420, IP Proxy 108 may translate T8 message 420 into a new IP message 418. As shown, payload 420-1 of T8 message 420 is translated into IP message payload 418-1. In a different implementation, NEF-SCEF 220 may be configured such that IP proxy 108 translates T8 API messages only from specific AF nodes 102 or those addressed to specific UE devices 104.
To form TCP field 418-2 (or a UDP field) and IP field 418-3, IP Proxy 108 needs a UE device IP address and its port number. Accordingly, IP Proxy 108 performs a database query (or another record retrieval procedure) for a record 401 in table 402 using the AS IP address provided in T8 message 420 to identify the record 401. Next, IP Proxy 108 uses a UE device ID also provided in T8 message 420 to locate a particular UE IP and port field 405. IP Proxy 108 may then use the IP address and the port number provided in field 405 to form TCP field 418-2 and IP field 418-3 of the IP message 418. When the IP message 418 is complete, IP Proxy 108 may forward the IP message 418 to the destination UE device 104.
Although
As shown, process 500 may include creating or instantiating IP Proxy 108; obtaining address information for AF nodes 102; and creating a routing table (block 502). For example, NEF node 220 may instantiate or create IP Proxy 108. IP Proxy 108 or NEF node 220 may create a routing table 402. Routing table 402 may include records 401, each of which corresponds to a particular AF node 102. As shown in
Process 500 may also include loading PCF node 218 with a Policy Charging Control (PCC) rule (block 504). When a UPF node 208 later obtains and applies the rule (see block 508 below), UPF node 208 may redirect UE device 104-originated IP messages to IP Proxy 108.
Process 500 may include receiving a request to establish a session from UE device 104, selecting SMF node 210; and setting up and conducting an authentication of UE device 104 (block 506). As shown in
Assuming that the authentication is successful at block 506, process 500 may include selecting a PCF node 218, selecting a UPF node 208, and setting the PCC rule at the UPF node 208 (block 508). As shown in
As also shown in
In addition, SMF node 210 may exchange messages for session management policy modification with PCF node 218 (609). As a consequence of the exchange, SMF node 210 may send a session establishment modification request to and receive a reply from the selected UPF node 208, over N4 interface (610A and 610B). During the latter exchange, UPF node 208 may have received the PCC rule to redirect UE device 104-originated IP messages to IP Proxy 108. UPF node 208 may install the received PCC rule in routing table 402.
Process 500 may include completing the setup of the session requested by UE device 104 (block 510). As further illustrated in
Process 500 may further include receiving uplink IP data from UE device 104, redirecting the IP data to IP Proxy 108, translating the redirected IP data into T8 messages, and forwarding the T8 messages to AF node 102 (block 512). In
In
Process 500 may further include receiving T8 API messages from AF node 102 at NEF 220/IP Proxy 108; translating T8 API messages into IP data; and sending the IP data to UE device 104 through UPF node 208 (block 514). As shown in
In
Other messages may also follow after the uplink and downlink data to/from UE device 104 and AF node 102. For example, SMF node 210 may send a session status notification to AMF node 204 (618) and a message to configure IPv6 address to UPF node 208. UPF node 208 may then forward the message to UE device 104 (619). In another example, SMF node 210 may exchange messages related to deregistration with UDM node 214 (620).
In
In
This feature may improve security of the system, as IP addresses of UE devices 104 are not exposed to external networks outside of the carrier security domain. Furthermore, no firewall pinhole needs to be created statically. A link between AF node 102 and NEF-SCEF 220 is over HTTPS, and, thus, is secure.
In
As explained above, when IP Proxy 108 performs process 500 and/or is engaged in messaging shown on
For example, when establishing a PDU/PDN session, SMF node 210 may provide only an IPv6 prefix, rather than the full IPv6 address to IP Proxy 108. Such information may not be sufficient for completely constructing routing table 402. To address this problem, the system may include features for supporting enlistment or registration of termination information. These features and their associated processes are described below in greater detail with references to
In some implementations, application 806 may be configured to enlist its termination information with IP Proxy 108 when it establishes a PDU/PDN connection with UPF node 208 or SAE-GW 226; and de-enlist its termination information with IP Proxy 108 when it ends the PDU/PDN connection. In another implementation, application 806 may rely on IP manager 808 for its PDU/PDN connectivity and/or for enlistment/de-enlistment its termination information with IP Proxy 108.
IP manager 808 may enlist termination information for an application 806 when a PDU/PDN connection is established for the application 806. Depending on the implementation, IP manager 808 may enlist the information in various ways. For example, in one implementation, IP manager 808 may handle PDU/PDN connectivity for applications 806. When IP manager 808 establishes, on behalf of an application 806, a PDU/PDN connection for the application 806, IP manager 808 may enlist the termination information for the application 806 with IP Proxy 108; and when IP manager 808 ends, on behalf of the application 806, the PDU/PDN connection, IP manager 808 may de-enlist the termination information with IP Proxy 108.
In some implementations, IP manager 808 may be integrated into lower communication layers of UE device 104, such as with operating system 804 or modem 802. In such implementations, since all PDU/PDN connections to provider network 202 must be established through modem 802, IP manager 808 may have the capability to determine if an application requesting the PDU/PDN connection is to interact with AF node 102. If so, IP manager 808 may enlist or de-enlist corresponding termination information IP Proxy 108.
In contrast to
In
In
Although the messaging diagrams of
When IP manager 808 enlists termination information with IP Proxy 108, IP manager 808 may provide one or more of the parameters of table 1102. As IP manager 808 is hosted by UE device 104 and coupled to applications 806, IP manager 808 may be able to provide UE ID 1106-1, the IP address 1106-2, and the port number 1106-3 for each application 806 that establishes a session with network 202. IP manager 808 may also provide, depending on the implementation, one or more items of column 1104, such as the FQDN 1104-1 of AF node 102 and the URL/URL 1104-4 for the AF node 102. If some of the information is not provided by IP manager 808, IP Proxy 108 may be able to obtain the information from different network components. For example, if IP Proxy 108 is provided with the FQDN of AF node 102, IP Proxy 108 may be able to obtain the IP address by accessing the Domain Name Service (DNS) in network 202.
Process 1200 may also include loading PCF node 218 with a Policy and Charging Control (PCC) rule (block 1202). When a UPF node 208 obtains and applies the PCC rule (see block 508 and
Process 1200 may further include launching application 806 on UE device 104 (block 1204). After the launch, application 806 on UE device 104 may attempt to initiate a session with network 202 (block 1204). On the network side, process 1200 may include receiving the request to establish the session from application 806 on UE device 104 (1206) and establishing the session (block 1206). Establishing the session may include application 806 receiving its IP address (assigned by network 202 to UE device 104) from network 202. In contrast to process 500 in process 1200, SMF node 210 may or may not capture termination information from UE device 104.
Process 1200 may further include receiving an enlistment request (block 1208); and updating routing table 402 (block 1208). For example, in
When IP Proxy 108 receives the enlistment request, IP Proxy 108 may extract the termination information, identify the record (in the routing table 402) that pertains to AF node 102 based on the URL and/or the FQDN, and insert the termination information for application 806 into routing table 402. Accordingly, the IP address and/or the port number of application 806 is enlisted; and an association between AF node 102 and application 806 on UE device 104 exists in routing table 402.
Process 1200 may further include receiving uplink data, converting the data, and sending the data to AF node (block 1210). For example, application 806 on UE device 104 may send IP data (ultimately destined for AF node 102) to UPF node 208; and UPF node 208 may receive the data. Due to the PCC rule that has been established, UPF node 208 may direct the IP data from application 806 on UE device 104 to IP Proxy 108. When IP Proxy 108 receives the IP data, IP Proxy 108 may convert the IP data into T8 data using routing table 402, as described above with reference to
Process 1200 may further include receiving downlink data, converting the data, and sending the data to UE device 104 via UPF node 208 (block 1212). For example, AF node 102 may send T8 data (ultimately destined for application 806 on UE device 104) to NEF-SCEF 220 by calling the T8_Mobile_Terminated_data (UE ID of UE device 104, T8 data, the FQDN of AF node 102, the URL of AF node 102, the port number for application 806 at UE device 104). IP Proxy 108 in NEF-SCEF 220 may then convert the T8 data using routing table 402, as described above with reference to
Process 1200 may further include receiving a de-enlist request and de-enlisting termination information (block 1214). For example, when IP manager 808 determines that a session for application 806 has ended, IP manger 808 may send a request to IP Proxy 108 to de-enlist termination information for application 806. When IP Proxy 108 receives the de-enlist request, IP Proxy 108 may identify the termination information corresponding to UE device 104 and application 806 based on the UE ID and the port number in routing table 402 and remove the termination information from routing table 402.
Although process 1200 has been described above as being performed by UE device 104, RAN 204, and 5G core components (e.g., AMF node 206, UPF node 208, SMF node 210, PCF node 218, UDM node 214, IP Proxy 108, NEF-SCEF 220, and AF node 102), in other implementations, UE device 104, RAN 204, and 4G core components (e.g., MME node 224, SAE-GW node 226, a PCRF node, HSS node 228, IP Proxy 108, NET-SCEF 220, and an AS node) may perform processes similar to process 1200. In such processes, each of the acts of blocks 1202-1214 described above as being performed by 5G core network components may be performed by the corresponding 4G core network components.
In this specification, various preferred embodiments have been described with reference to the accompanying drawings. It will be evident that modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
In the above, while a series of blocks have been described with regard to the processes illustrated in
It will be apparent that aspects described herein may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects does not limit the invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the aspects based on the description herein.
Further, certain portions of the implementations have been described as “logic” that performs one or more functions. This logic may include hardware, such as a processor, a microprocessor, an application specific integrated circuit, or a field programmable gate array, software, or a combination of hardware and software.
To the extent the aforementioned embodiments collect, store or employ personal information provided by individuals, it should be understood that such information shall be collected, stored, and used in accordance with all applicable laws concerning protection of personal information. 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.
No element, block, or instruction used in the present application should be construed as critical or essential to the implementations described herein unless explicitly described as such. Also, as used herein, the articles “a,” “an,” and “the” are intended to include one or more items. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
This application is a continuation-in-part of U.S. patent application Ser. No. 16/109,926, filed on Aug. 23, 2018, and titled “System and Method for Using T8 API to Deliver Data over an IP Path,” the disclosure of which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 16109926 | Aug 2018 | US |
Child | 18335681 | US |