Method, apparatus, and computer program product for packet forwarding control protocol message bundling
By extending the header of control protocol messages in 5G networks to bundle multiple control protocol messages into a single datagram, the problem of insufficient network connection reliability and resilience in telecommunications networks is solved, and the computational complexity and bandwidth requirements are reduced, thereby improving network performance and scalability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-06
- Publication Date
- 2026-03-24
AI Technical Summary
Existing telecommunications networks suffer from insufficient reliability and resilience when processing large amounts of data, especially in 5G networks. Existing methods cannot efficiently bundle control protocol messages between control plane and user plane entities, leading to increased computational complexity and bandwidth requirements.
By extending the header of control protocol messages to indicate that a single datagram carries multiple control protocol messages, and combining multiple control protocol messages into a single datagram, it enables transmission from control plane entities to user plane entities or vice versa. It supports 5GC session management functions and other related architectures, including gateway GPRS support nodes, trusted wireless access gateways, broadband network gateways, etc.
It reduces computational complexity and bandwidth requirements, improves network scalability and performance, reduces the number of packets to be packetized, switched and processed, and lowers CPU and memory costs.
Smart Images

Figure CN114556894B_ABST
Abstract
Description
[0001] Cross Reference to Related Applications
[0002] This application claims priority to and the benefit of U.S. Provisional Patent Application No. 62 / 888,166, entitled “Method, Apparatus, and Computer Program Product for Packet Forwarding Control Protocol Messages Bundling,” filed August 16, 2019, the entire disclosure of which is incorporated by reference herein in its entirety for all purposes. TECHNICAL FIELD
[0003] The subject matter described herein relates to wireless telecommunications. BACKGROUND
[0004] Users of modern telecommunication networks have adopted the use of such networks to access, move, and process large amounts of data. As a result, telecommunication networks have become an indispensable and irreplaceable tool to support people in all aspects of their business, access to vital information, and daily life. While many modern telecommunication networks have proven to be able to provide reliable services to many users, the centrality of network connectivity to processes involving fundamental aspects of users’ health, safety, business, and lifestyle has led to the need to improve the reliability and resilience of current and next generation telecommunication networks.
[0005] Telecommunication networks such as the fifth generation of mobile networks (5G networks) are expected to be the next major step in the evolution of mobile telecommunication standards and bring many improvements to the mobile network user experience. For example, 5G networks should provide new technical solutions to achieve higher throughput, lower latency, higher reliability, higher connectivity, and higher mobility ranges.
[0006] In addition to these improvements in performance, 5G networks are expected to expand the flexibility of network usage and allow for a wider range of use cases and business models to be offered to users. SUMMARY
[0007] Methods, apparatuses, and computer program products for packet forwarding control protocol (PFCP) message bundling are provided.
[0008] In some example embodiments, an apparatus can be provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to determine whether more than one control protocol message should be sent from a control plane entity to a user plane entity or from the user plane entity to the control plane entity; determine whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying the more than one control protocol message; extend a header of each of the more than one control protocol message to indicate that a single datagram carries the more than one control protocol message; combine one or more message types and corresponding message elements of the more than one control protocol message into the single datagram; and cause the control plane entity to send the single datagram carrying the more than one control protocol message to the user plane entity or cause the user plane entity to send the single datagram carrying the more than one control protocol message to the control plane entity. In some embodiments, the user plane entity includes a user plane function and the control plane entity includes a session management function. In some embodiments, the session management function can include a 5GC session management function for any suitable control and user plane separation (CUPS) architecture, such as for a gateway GPRS support node (GGSN-C), trusted wireless access gateway (TWAG-C), broadband network gateway (BNG), N4, Sxa, Sxb, Sxc, evolved packet core (EPC) SWG-C, EPC PGW-C, EPC TDF-C, etc. In some embodiments, the control protocol message includes a packet forwarding control protocol (PFCP) message. In some embodiments, the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to extend a header of each of the more than one control protocol message to include a subsequent flag to indicate that a single datagram carries the more than one control protocol message. In some embodiments, the single control protocol message includes a single UDP / IP packet configured to be packetized, exchanged, and processed over an N4 interface in a fifth generation core (5GC) network or over an Sxa, Sxb, or Sxc interface in an evolved packet core (EPC) network. In some embodiments, the more than one control protocol message carried in the single control protocol message are control plane requests or responses related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity.
[0009] According to another embodiment, a method is provided that includes determining whether more than one control protocol message should be sent from a control plane entity to a user plane entity or from the user plane entity to the control plane entity, determining whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying the more than one control protocol message, extending a header of each of the more than one control protocol message to indicate that a single datagram carries the more than one control protocol message, combining one or more message types and corresponding message elements of the more than one control protocol message into the single datagram, and causing the control plane entity to send the single datagram carrying the more than one control protocol message to the user plane entity or causing the user plane entity to send the single datagram carrying the more than one control protocol message to the control plane entity. In some embodiments, the user plane entity includes a user plane function and the control plane entity includes a session management function. In some embodiments, the session management function can include a 5GC session management function for any suitable control and user plane separation (CUPS) architecture, such as for a gateway GPRS support node (GGSN-C), trusted wireless access gateway (TWAG-C), broadband network gateway (BNG), N4, Sxa, Sxb, Sxc, evolved packet core (EPC) SWG-C, EPC PGW-C, EPC TDF-C, etc. In some embodiments, the control protocol message includes a packet forwarding control protocol (PFCP) message. In some embodiments, the method can further include extending a header of each of the more than one control protocol message to include a subsequent flag to indicate that a single datagram carries the more than one control protocol message. In some embodiments, the single control protocol message includes a single user datagram / internet protocol (UDP / IP) packet configured to be packetized, exchanged, and processed over an N4 interface in a fifth generation core (5GC) network or over an Sxa, Sxb, or Sxc interface in an evolved packet core (EPC) network. In some embodiments, the more than one control protocol message carried in a single control protocol message are control plane requests or responses related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity.
[0010] According to yet another embodiment, there is provided an apparatus comprising means for determining whether more than one control protocol message should be sent from a control plane entity to a user plane entity or from the user plane entity to the control plane entity, such as the above-described apparatus comprising one or more processors and one or more memories comprising program code; means for determining whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying the more than one control protocol message; means for extending a header of each of the more than one control protocol message to indicate that a single datagram carries the more than one control protocol message; means for combining one or more message types and corresponding message elements of the more than one control protocol message into the single datagram; or means for causing the control plane entity to send the single datagram carrying the more than one control protocol message to the user plane entity, or means for causing the user plane entity to send the single datagram carrying the more than one control protocol message to the control plane entity. In some embodiments, the user plane entity comprises a user plane function and the control plane entity comprises a session management function. In some embodiments, the session management function can comprise a 5GC session management function for any suitable control and user plane separation (CUPS) architecture, such as for a gateway GPRS support node (GGSN-C), a trusted wireless access gateway (TWAG-C), a broadband network gateway (BNG), N4, Sxa, Sxb, Sxc, an evolved packet core (EPC) SWG-C, an EPC PGW-C, an EPC TDF-C, etc. In some embodiments, the control protocol message comprises a packet forwarding control protocol (PFCP) message. In some embodiments, the apparatus can further comprise means for extending a header of each of the more than one control protocol message to include a subsequent flag to indicate that a single datagram carries the more than one control protocol message. In some embodiments, the single control protocol message comprises a single UDP / IP packet configured to be packetized, exchanged, and processed over an N4 interface in a fifth generation core (5GC) network or over an Sxa, Sxb, or Sxc interface in an evolved packet core (EPC) network. In some embodiments, the more than one control protocol message carried in a single control protocol message are control plane requests or responses related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity.
[0011] According to yet another embodiment, there is provided a computer readable medium, such as a non-transitory computer readable medium, comprising program code that when executed causes operations comprising: determining that more than one control protocol message should be sent from a control plane entity to a user plane entity or from the user plane entity to the control plane entity; determining whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying the more than one control protocol message; extending a header of each of the more than one control protocol message to indicate that a single datagram carries the more than one control protocol message; combining one or more message types and corresponding message elements of the more than one control protocol message into the single datagram; and causing the control plane entity to send the single datagram carrying the more than one control protocol message to the user plane entity or causing the user plane entity to send the single datagram carrying the more than one control protocol message to the control plane entity. In some embodiments, the user plane entity comprises a user plane function and the control plane entity comprises a session management function. In some embodiments, the session management function can comprise a 5GC session management function for any suitable control and user plane separation (CUPS) architecture, such as for a gateway GPRS support node (GGSN-C), trusted wireless access gateway (TWAG-C), broadband network gateway (BNG), N4, Sxa, Sxb, Sxc, evolved packet core (EPC) SWG-C, EPC PGW-C, EPC TDF-C, etc. In some embodiments, the control protocol message comprises a packet forwarding control protocol (PFCP) message. In some embodiments, the program code when executed can further cause operations comprising extending a header of each of the more than one control protocol message to include a subsequent flag to indicate that a single datagram carries the more than one control protocol message. In some embodiments, the single control protocol message comprises a single UDP / IP packet configured to be packetized, exchanged, and processed over an N4 interface in a fifth generation core (5GC) network or over an Sxa, Sxb, or Sxc interface in an evolved packet core (EPC) network. In some embodiments, the more than one control protocol message carried in a single control protocol message are control plane requests or responses related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity.
[0012] The above aspects and features can be implemented in systems, apparatus, methods and / or articles of manufacture according to desired configuration. The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF DRAWINGS
[0013] In the drawings,
[0014] Figure 1 An example of a portion of a 5G wireless network is depicted in accordance with some example embodiments;
[0015] Figure 2 An example of an apparatus is depicted in accordance with some example embodiments;
[0016] Figure 3 An example of a typical header for a packet forwarding control protocol (PFCP) message is depicted in accordance with some example embodiments;
[0017] Figure 4 A UDP / IP packet bundling multiple PFCP messages is depicted in accordance with some example embodiments;
[0018] Figure 5 A message header, e.g., for a PFCP message, is depicted in accordance with some example embodiments, the message header including a subsequent flag indicating that another message is bundled in the same datagram;
[0019] Figure 6 A message header, e.g., a PFCP message header for a node-related message, is depicted in accordance with some example embodiments, the message header including a subsequent flag indicating that another message is bundled in the same datagram;
[0020] Figure 7 A message header, e.g., a PFCP message header for a session-related message, is depicted in accordance with some example embodiments, the message header including a subsequent flag indicating that another message is bundled in the same datagram;
[0021] Figure 8 A message indicating user plane function features is depicted in accordance with some example embodiments;
[0022] Figure 9 A feature support flag indicating that a user plane function supports bundling messages, e.g., PFCP message bundling, is depicted in accordance with some example embodiments;
[0023] Figure 10 A message indicating control plane function features is depicted in accordance with some example embodiments;
[0024] Figure 11 A feature support flag indicating that a control plane function supports bundling messages, e.g., PFCP message bundling, is depicted in accordance with some example embodiments; and
[0025] Figure 12 A process flow diagram of a method for PFCP message bundling is depicted in accordance with some example embodiments.
[0026] Like reference numbers are used to denote like or similar items throughout the figures. DETAILED DESCRIPTION
[0027] Some embodiments will now be described below by reference to the accompanying drawings, which show, by way of example, some but not all embodiments of the present disclosure. Indeed, various embodiments of the present disclosure can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numbers refer to like elements throughout. As used herein, the terms “data,” “content,” “information,” and similar terms can be used interchangeably to refer to the data that can be transmitted, received, and / or stored in accordance with embodiments of the present disclosure. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present disclosure.
[0028] Moreover, as used herein the term “circuitry” refers to (a) hardware-only circuitry (e.g., implementations in analog circuitry and / or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and / or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present. This definition of “circuitry” applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term “circuitry” also includes an implementation comprising one or more processors and / or portion(s) thereof and accompanying software, firmware, and / or
[0029] As defined herein, a “computer-readable storage medium,” which refers to a physical storage medium (e.g., volatile or non-volatile memory device), can be differentiated from a “computer-readable transmission medium,” which refers to an electromagnetic signal.
[0030] Reference will now be made to Figure 1 It should be appreciated that example embodiments of the present application disclosed and / or otherwise described herein arise in the context of a telecommunications network, including but not limited to a telecommunications network that conforms and / or otherwise incorporates aspects of a Fifth Generation (5G) architecture. Figure 1 is an example networking system 100 in accordance with example embodiments of the present disclosure. Figure 1A user equipment (UE) 102 is specifically illustrated, which can communicate with a radio access network (RAN) 104 and an access and mobility management function (AMF) 108, as well as a user plane function (UPF) 106. The AMF 108, in turn, can communicate with core network services including a session management function (SMF) 110 and a policy control function (PCF) 114. The core network services can also communicate with an application server / application function (AS / AF) 112. Other networking services include a network slice selection function (NSSF) 122, an authentication server function (AUSF) 120, a user data management (UDM) 118, and a data network (DN) 116. In some example implementations of embodiments of the disclosure, the AMF, SMF, UPF, PCF, AUSF, UDM, AF, and NSSF are each considered NFs. It will be appreciated that one or more additional network functions (NFs) and network resource functions (NRFs) can be incorporated into the networking system. As Figure 1 illustrated, the NRF 124 is incorporated into the network and is configured to interface with other network functions, including but not necessarily limited to the AMF 108, SMF 110, and PCF 114. The methods, devices, and computer program products described herein are described in the context of a Fifth Generation (5G) core network and system such as Figure 1 described, however, the described methods can be applied in a broader context within any suitable telecommunications system, network, standard, or protocol.
[0031] Turning now to Figure 2 , an example of a core network apparatus (CNA), including core network services: UPF 106, AMF 108, SMF 110, PCF 114, and / or another NF and / or NRF, can be implemented as a core network device 200 configured according to example embodiments of the disclosure. As described below in connection with Figure 3 and Figure 4 flowcharts, the CNA 200 of example embodiments can be configured to perform the functions described herein. In any case, the CNA 200 can more generally be implemented as a computing device, such as a server, personal computer, computer workstation, or other type of computing device, including computing devices used as user equipment and / or wireless local area networks. Regardless of how the CNA 200 is implemented, the device of example embodiments can be configured as shown in Figure 2 including processing circuitry 208, associated with or otherwise in communication with the processing circuitry 208, including, for example, a processor 202 and a memory device 204 and, in some embodiments and / or including a communication interface 206.
[0032] In processing circuitry 208, processor 202 (and / or a co-processor or auxiliary processor or any other circuitry associated with the processor in other ways) can communicate with memory device 204 via a bus to pass information between components of CNA 200. The memory device can include, for example, one or more volatile and / or non-volatile memories. In other words, for example, the memory device can be an electronic storage device (e.g., a computer readable storage medium) that includes gates configured to store data (e.g., bits) that can be retrievable by a machine (e.g., a computer) with access to the memory device. The memory device can be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to perform various functions in accordance with example embodiments of the application. For example, the memory device can be configured to buffer input data for processing by the processor. Additionally or alternatively, the memory device can be configured to store instructions for execution by the processor.
[0033] In some embodiments, CNA 200 can be implemented in various computing devices as described above. However, in some embodiments, the apparatus can be implemented as a chip or chip set. In other words, the apparatus can comprise one or more physical packages (e.g., chips) including materials, components and / or wires on a structural assembly (e.g., a baseboard). The structural assembly can provide physical strength, conservation of size, and / or limitation of electrical interaction for component circuitry included thereon. The apparatus can therefore, in some cases, be configured to implement an embodiment of the application on a single chip or as a single "system on a chip." As such, in some cases, a chip or chipset can constitute means for performing one or more operations for providing the functionalities described herein.
[0034] Processor 202 can be embodied in a number of different ways. For example, the processor can be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other circuits or circuitry including integrated circuits (for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special- purpose computer chip, etc.). As such, in some embodiments, the processor can include one or more processing cores configured to perform independently. A multi-core processing can enable multiprocessing within a single physical package. Also or alternatively, the processor can include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and / or multithreading.
[0035] In example embodiments, the processor 202 can be configured to execute instructions stored in the memory device 204 or otherwise accessible to the processor. Alternatively, or additionally, the processor can be configured to execute hard coded functionality. Thus, whether configured by hardware or software methods, or by a combination thereof, the processor can represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to embodiments of the present disclosure when configured accordingly. Thus, for example, when the processor is embodied as an ASIC, FPGA or the like, the processor can be specifically configured to perform one or more operations described herein to implement an embodiment of the present disclosure. Alternatively, as another example, when the processor is embodied as an executor of instructions, the instructions can specifically configure the processor to perform one or more algorithms and / or operations described herein when executed by the processor. However, in some cases, the processor can be a processor of a specific device (e.g., an encoder and / or a decoder) configured to employ an embodiment of the present disclosure by further configuration of the processor by instructions for performing the algorithms and / or operations described herein. The processor can include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support the operation of the processor.
[0036] In embodiments that include a communication interface 206, the communication interface can be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and / or transmit data from / to a network and / or any other device or module in communication with the CNA 200, such as a NF, NRF, UE, radio access network, core network service, application server / function, database or other storage device, etc. In this regard, for example, the communication interface can include an antenna (or multiple antennas) and supporting hardware and / or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface can include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle reception of signals at the antenna(s). In some environments, the communication interface can alternatively or also support wired communication. As such, for example, the communication interface can include a communication modem and / or other hardware / software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms. In some embodiments, the session management function can include a 5GC session management function for any suitable CUPS architecture, such as for a gateway GPRS support node (GGSN-C), TWAG-C, BNG-CUPS, N4, Sxa, Sxb, Sxc, evolved packet core (EPC) SWG-C, EPC PGW-C, EPC TDF-C, etc.
[0037] In some embodiments, core network device 200 can represent a user equipment configured to connect to other core network entities or network devices. In some embodiments, the user equipment can include a mobile phone (cellular phone), etc.
[0038] As shown, device 200 can include a processor 202 in communication with a memory 204 and configured to provide signals to and receive signals from a communication interface 206. In some embodiments, communication interface 206 can include a transmitter and a receiver. In some embodiments, processor 202 can be configured to control the functions of device 200 by, for example, processing signals from and directing signals to communication interface 206. Additionally or alternatively, processor 202 can be configured to control one or more other components of device 200 by, for example, processing signals from and directing signals to other components of device 200. Processor 202 can be, for example, a general-purpose microprocessor, an application-specific microprocessor, a microcontroller, a digital signal processor (DSP), a graphics processing unit (GPU), a central processing unit (CPU), a processing core, a Figure 2 processor 202 is shown as a single processor, in some example embodiments, processor 202 can comprise multiple processors or processing cores.
[0039] Device 200 is capable of operating with one or more air interface standards, communication protocols, modulation types, access types, etc. Signals sent and received by processor 202 can include signaling information in accordance with an air interface standard of an applicable cellular system, and / or any number of different wireline or wireless network
[0040] For example, the device 200 and / or cellular modem(s) therein can be operable according to various first generation (1G) communication protocols, second generation (2G or 2.5G) communication protocols, third generation (3G) communication protocols, fourth generation (4G) communication protocols, fifth generation (5G) communication protocols, Internet Protocol Multimedia Subsystem (IMS) communication protocols (e.g., Session Initiation Protocol (SIP), etc.). For example, the device 10 can be operable according to 2G wireless communication protocols IS- 136, Time Division Multiple Access (TDMA), Global System for Mobile communications (GSM), IS-95, Code Division Multiple Access (CDMA), etc. Also, for example, the device 10 can be operable according to 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), etc. Further, for example, the device 200 can be operable according to 3G wireless communication protocols such as Universal Mobile
[0041] It is to be understood that the processor 202 can include circuitry for implementing audio / video and logic functions of the device 200. For example, the processor 202 can include a digital signal processor device, a microprocessor device, an analog-to-digital converter, a digital-to-analog converter, and / or the like. Control and signal processing functions of the device 200 can be allocated between these devices according to their respective capabilities. The processor 202 can also include an internal voice coder (VC), an internal data modem (DM), and / or the like. Further, the processor 202 can include functionality to operate one or more software programs, which can be stored in memory 204. In general, the processor 202 and software instructions stored in memory 206 can be configured to cause the device 200 to perform actions. For example, the processor 202 is capable of operating a connectivity program, such as a web browser. The connectivity program can allow the device 200 to send and receive network content, such as location-based content, according to a protocol, such as Wireless Application Protocol, WAP, Hypertext Transfer Protocol, HTTP, and / or the like.
[0042] The device 200 can also include a user interface, including, for example, an earphone or speaker, a ringer, a microphone, a display, user input interfaces, and / or the like, which can be operatively coupled to the processor 202. The display can include a touch-sensitive display, as described above, where a user can touch and / or gesture to make selections, enter values, and / or the like. The processor 202 can also include user interface circuitry configured to control at least some functions of one or more elements of the user interface, such as a speaker, a ringer, a microphone, a display, and / or the like. The processor 202 and / or user interface circuitry comprising the processor 202 can be configured to control one or more functions of one or more elements of the user interface through computer program instructions (e.g., software and / or firmware) stored on memory 204 (e.g., volatile memory, non-volatile memory, devices including these, and / or the like) that can be accessed by the processor 202. The device 200 can include a battery for powering various circuits of the mobile terminal, e.g., a circuit to provide mechanical vibration as a detectable output. The user input interface can include devices allowing the device 200 to receive data, such as a keypad (e.g., a virtual keyboard presented on the display or an externally coupled keyboard), and / or the like.
[0043] As Figure 2As shown, the apparatus 200 can also include one or more mechanisms for sharing and / or obtaining data, as represented by the communications interface 206. For example, the communications interface 206 of the apparatus 200 can include a short-range radio frequency (RF) transceiver and / or interrogator, and thus can be capable of communicating with electronic devices within a short range of the apparatus 200, according to RF techniques. The apparatus 200 can include other short-range transducers, such as an infrared (IR) transceiver, a Bluetooth® (BT) transceiver, a Bluetooth TM Bluetooth TM low energy transceiver, a ZigBee transceiver, an ANT transceiver, a cellular device-to-device transceiver, a wireless local area network links transceiver, and / or any other short-range wireless communication techniques. TM The apparatus 200, and in particular the short-range transceiver, can be capable of transmitting data to and / or receiving data from electronic devices within the proximity of the apparatus, such as within approximately 10 feet of the apparatus. The apparatus 200 including a Wi-Fi or wireless local area networking modem can also be capable of transmitting and / or receiving data from electronic devices according to various wireless network technologies, including 6LoWpan, Wi-Fi, Wi-Fi Low Power, WLAN techniques such as IEEE 802.11 techniques, IEEE 802.15 techniques, IEEE 802.16 techniques, etc.
[0044] The apparatus 200 can include other memory, such as a subscriber identity module (SIM), a removable user identity module (R-UIM), an eUICC, a UICC, etc., which can store information elements related to a mobile subscriber. In addition to the SIM, the apparatus 200 can include other removable and / or fixed memories. The apparatus 200 can include volatile memory and / or non-volatile memory that can form part of or all of memory 204, or that can be separate from the apparatus 200 and connected thereto. For example, the volatile memory can include random access memory (RAM) including dynamic and / or static RAM, on-processor or off-processor cache memory, etc. The non-volatile memory, which can be embedded and / or removable, can include, for example, read-only memory, flash memory, a magnetic storage device such as a hard disk, a floppy disk drive, a magnetic tape, an optical disk drive and / or media, non-volatile random access memory (NVRAM), etc. Like volatile memory, the non-volatile memory can include a cache area for temporary storage of data. At least portions of the volatile and / or non-volatile memory can be embedded in the processor 202. The memory can store one or more software programs, instructions, information, data, etc. that can be used by the apparatus for performing the operations disclosed herein. Alternatively or additionally, the apparatus 200 can be configured to cause the operations disclosed herein with respect to a base station, a WLAN access point, a network node including a UE, etc.
[0045] The memory can include an identifier, such as an International Mobile Equipment Identity (IMEI) code, that can uniquely identify the apparatus 200. The memory can include an identifier, such as an International Mobile Equipment Identity (IMEI) code, that can uniquely identify the apparatus 200. In example embodiments, the processor 202 can be configured using computer code stored in the memory, and / or configured to provide the operations disclosed herein with respect to base stations, WLAN access points, network nodes including UEs, etc. Likewise, the apparatus 200 can be configured as any other component or network device from the core network.
[0046] Some embodiments disclosed herein can be implemented in software, hardware, application logic or a combination of software, hardware and application logic. The software, application logic and / or hardware can reside on memory 204, the control apparatus 202 or electronic components, in some example embodiments, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a "computer-readable medium" can be any non-transitory medium that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus or device, such as a computer or data processor circuitry, with examples depicted in FIG. 8, a computer-readable medium can comprise a non-transitory computer-readable storage medium that can be any media that can be used to contain or store instructions for use by or in connection with an instruction execution system, apparatus or device, such as a computer. Figure 2
[0047] Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect of one or more of the example embodiments disclosed herein can be improved user equipment or network device configuration. Any embodiment of a method, system, method, device, apparatus or computer program described or illustrated herein is understood to include any or all of the accompanying clauses, functions, elements or steps of any other embodiment, such that any method can be performed by the apparatus 200 or by any other suitable system or device, and likewise can be executed according to computer program code that is envisaged within the scope of the present disclosure.
[0048] In some embodiments, it can be helpful for one or both of the control plane entity or the user plane entity to bundle messages, such as PFCP messages, among them. Such bundling can be supported by the control plane function and / or the user plane function. If both the control plane function and the user plane function support such bundling, then such bundling can be used, e.g., if both the control plane function and the user plane function indicate support for bundling PFCP messages into a single datagram, as described in Clauses 8.2.25 and 8.2.58 of the 3GPP CT WG4 Change Request filed on August 16, 2019, the entire contents of which are incorporated herein by reference for all purposes. For example, in some embodiments, if both the control plane function and the user plane function indicate support for bundling PFCP messages into a single datagram during a PFCP association setup or update procedure, then use of such bundling of PFCP messages into a single datagram can be performed.
[0049] For example, such bundling of PFCP messages can reduce computational complexity and bandwidth requirements, as current methods are to process each PFCP message separately, even if all PFCP messages are for a single recipient, such as a single control plane entity or a single user plane entity. According to the methods disclosed herein, there is an efficiency associated with bundling requests, but there is currently no mechanism according to current 3GPP or other standards for performing such bundling while also indicating to the intended recipient of such datagrams that carry bundled PFCP messages that multiple PFCP messages are included. Under current methods, even if multiple PFCP messages are bundled and sent to one of a control plane entity or a user plane entity, the recipient does not understand that the received datagram carries multiple PFCP messages.
[0050] However, in some embodiments, requirements can apply as to how bundling is performed. For example, in some embodiments, several PFCP session related request and / or response messages related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity (e.g., the F-SEIDs of the peer have the same IP address, or have the IP address of the PFCP session setup request of the same peer) can be bundled together in a single UDP / IP packet when sent to that peer PFCP entity, as specified in Clause 7.2.1A of the August 16, 2019 Change Request, above. In some embodiments, PFCP messages can be bundled independently to PFCP entities of a user plane function or a control plane function.
[0051] By bundling multiple PFCP session related messages (for the same peer IP address) in one UDP / IP packet, significant performance improvements and enhanced scalability can be achieved (e.g. due to reduced number of packets to be packetized, exchanged and processed over N4, reduced CPU and memory costs).
[0052] In some embodiments, example use cases can include (1) Bundling PFCP session related messages for the same UE: For a UE with multiple PDN connections / PDU sessions, transitions between (E)CM-IDLE and (E)CM-CONNECTED result in sending many PFCP session modification request messages to request UPF forwarding or buffering of DL traffic. (2) Bundling PFCP session related messages from different UEs handled by the same peer PFCP entity. In some embodiments, the bundling of PFCP session related messages does not have any impact on existing PFCP procedures, e.g. each PFCP session related message is sent with its normal header and processed as currently specified by the PFCP protocol. Bundling applies independently to PFCP session related messages sent from a CP function to a UP function and vice versa.
[0053] In some embodiments, a PFCP message bundling procedure (which can be optional, but generally results in significant performance improvements and enhanced scalability) is defined to enable bundling of multiple PFCP session related messages in one single UDP / IP packet.
[0054] PFCP message bundling
[0055] PFCP message bundling is an optional procedure that can be supported by CP functions and UP functions. PFCP message bundling can be used if both the CP function and the UP function indicate support of the corresponding feature in the PFCP association establishment or update procedure (see sections 8.2.25 and 8.2.58 of 3GPP TS 29.244 CR 0285, 3GPP TSG-CT WG4 Meeting #93, FLORENCE, POLAND, 26-30 August 2019, the entire disclosure of which is incorporated herein by reference). If so, the following requirements shall apply.
[0056] Several PFCP session related request and / or response messages related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity (i.e. the F-SEID of the peer has the same IP address, or has the IP address of the PFCP session establishment request of the same peer) can be bundled together in one single UDP / IP packet when sent to the peer PFCP entity as specified in section 7.2.1A. PFCP messages can be independently bundled to PFCP entities of UP functions or CP functions.
[0057] If the CP function bundles a small number of PFCP session related requests in one UDP / IP packet sent to the UP function, the UP function can return responses in separate UDP / IP packets or it can bundle some responses together with other PFCP session related messages.
[0058] Bundling PFCP messages in a single UDP / IP packet can improve performance and scalability (due to the reduced number of packets to be packetized, switched and processed on N4, reduced CPU and memory cost).
[0059] PFCP session related messages handled by different peer PFCP entities (i.e. the F-SEIDs of the peers have different IP addresses) shall not be bundled together. PFCP node related messages shall not be bundled either.
[0060] The procedures specified in the rest of this specification shall apply to each PFCP message bundled in a UDP / IP packet as if the PFCP message was sent in its own individual UDP / IP packet, i.e. PFCP message bundling shall not introduce any change to the PFCP protocol other than the ones described in this section.
[0061] Each PFCP message bundled in a single UDP / IP packet has its own sequence number. In addition, if the UDP / IP packet carrying the bundled PFCP messages is lost, the retransmitted PFCP messages do not need to be bundled as they were originally sent.
[0062] Message format
[0063] The typical format of a PFCP message is described in Figure 3 .
[0064] In some embodiments, a PFCP message shall contain the PFCP message header and can contain subsequent information element(s) depending on the message type.
[0065] PFCP messages bundled in one UDP / IP packet
[0066] When PFCP message bundling is applied (see section 6.x), PFCP messages shall be bundled in one UDP / IP packet as shown in Figure 4 .
[0067] Each bundled PFCP message shall contain its PFCP message header and can contain subsequent information element(s) depending on the message type.
[0068] The "FO" (Followed by) flag in the PFCP message header of each PFCP message (except the last PFCP message) bundled in a UDP / IP packet shall be set to "1" to indicate that another PFCP message is followed in the UDP / IP packet.
[0069] Message header
[0070] PFCP messages use a variable length header. The message header length shall be a multiple of 4 octets. Figure 5 The format of the PFCP header is shown according to one embodiment.
[0071] In some embodiments,
[0072] i. If S = 0, the SEID field is not present, k = 0, m = 0 and n = 5;
[0073] ii. If S = 1, the SEID field is present, k = 1, m = 5 and n = 13.
[0074] The use of the PFCP header is defined in clause 7.2.2.4 of 29.244 CR 0285
[0075] The 1 bit in the octet shall be coded as follows:
[0076] i. Bit 1 represents the SEID flag (T).
[0077] ii. Bit 2 represents the "MP" flag (see clause 7.2.2.4.1 of 29.244 CR 0285).
[0078] iii. Bit 3 represents the "FO" flag (see clause 7.2.2.4.1 of 29.244 CR 0285).
[0079] iv. Bits 3, 4 to 5 are spare, the sender shall set them to "0" and the receiving entity shall ignore them.
[0080] v. Bits 6-8 represent the version field.
[0081] PFCP header for node related messages
[0082] The PFCP message header for node related messages (Node Related Message) shall not contain the SEID field, but shall contain the sequence number field, followed by one spare octet, like Figure 6The spare bit shall be set to zero by the sender and shall be ignored by the receiver. For the Version Not Supported Response message, the sequence number can be set to any number and shall be ignored by the receiver.
[0083] PFCP header for session related messages
[0084] The PFCP message header for Session Related Messages shall contain the SEID and the sequence number fields, followed by one spare octet. The PFCP header is described in Figure 7
[0085] Usage of the PFCP header
[0086] The format of the PFCP header is specified in section 7.2.2 of 29.244 CR 0285.
[0087] The usage of the PFCP header shall be defined as follows.
[0088] The usage of the first octet of the header is as follows:
[0089] i. Bit 1 represents the "S" flag, which indicates whether the SEID field is present in the PFCP header. If the "S" flag is set to 0, the SEID field shall not be present in the PFCP header. If the "S" flag is set to 1, the SEID field shall follow the length field, in octets 5 to 12. Except for node related messages, the value of the "S" flag shall be set to "1" in all PFCP messages.
[0090] ii. Bit 2 represents the "MP" flag. If the "MP" flag is set to "1", bits 8 to 5 of octet 16 shall indicate the message priority.
[0091] iii. Bit 3 represents the "FO" (Followed) flag. If the "FO" flag is set to "1", another PFCP message shall follow in the UDP / IP packet (see sections 6.x and 7.2.1A of 29.244 CR 0285).
[0092] iv. Bit 4 is a spare bit. The sending entity shall set it to "0" and the receiving entity shall ignore it.
[0093] v. Bit 5 is a spare bit. The sending entity shall set it to "0" and the receiving entity shall ignore it.
[0094] vi. Bits 6 to 8 representing the PFCP version shall be set to decimal 1 ("001"). The use of fields in octets 2-n of the header shall be as specified below.
[0095] i. Octet 2 represents the message type field, which shall be set to a unique value for each type of control plane message. The message type values are specified in Table 7.3-1 "Message Types".
[0096] ii. Octets 3 to 4 represent the message length field. This field shall be expressed in octets the length of the message, excluding the mandatory part of the PFCP header (first 4 octets). The SEID (if present) and sequence number shall be included in the length count. The format of the length field of information elements is specified in section 8.2 "Information Element Format".
[0097] iii. When S = 1, octets 5 to 12 represent the session endpoint identifier (SEID) field. This field shall unambiguously identify the session endpoint in the packet forwarding control (Packet Forward Control) entity that is receiving. The session endpoint identifier is set by the sending entity in the PFCP header of all control plane messages to the SEID value provided by the corresponding receiving entity (CP or UP function). If the peer's SEID is not available, the SEID field shall be present in the PFCP header but its value shall be set to "0", "Conditions for sending SEID = 0 in the PFCP header".
[0098] The SEID in the PFCP header of a message is set to the SEID value provided by the corresponding receiving entity, regardless of whether the source IP address of the requesting message and the IP destination address provided by the receiving entity for subsequent request messages are the same or not.
[0099] i. Octets 13 to 15 represent the PFCP sequence number field.
[0100] UP function features
[0101] The UP function features IE indicates the features supported by the UP function. Its encoding is shown in Figure 8 and Figure 9 .
[0102] The UP function features IE is in the form of a bitmask, where each bit set indicates the support of the corresponding feature. The receiver shall ignore the spare bits. The same bitmask is defined for all PFCP interfaces.
[0103] Table 1 details the features defined on a PFCP interface and the interface on which it applies.
[0104] Table 1
[0105]
[0106]
[0107] Control Plane Function Features
[0108] The CP Function Features (CP Function Features) IE indicates the features supported by the CP function. Only features that have an impact on (system-wide) UP function behavior are signaled in this IE. Its encoding is shown in Figure 10 and Figure 11 .
[0109] The CP Function Features IE is in the form of a bit mask, where each set of bits indicates support for the corresponding feature. The receiver shall ignore the spare bits. The same bit mask is defined for all PFCP interfaces.
[0110] Table 2 details the features defined on the PFCP interface and the interface on which they apply.
[0111] Table 2
[0112]
[0113] In some embodiments, if the control plane function bundles multiple PFCP session related requests in one UDP / IP packet, as shown in Figure 4 , it can send the UDP / IP packet bundled to the user plane function, which can return the responses in one or more separate UDP / IP packets, or it can bundle some responses together with other PFCP session related responses or other messages. In some embodiments, bundling PFCP messages in a single UDP / IP packet can enhance performance and scalability (e.g., due to the reduced number of packets to be packetized, exchanged, and processed over N4, reduced CPU and memory cost). Figure 5 A header of a PFCP message is shown, where octet 1 bit 3 (typically "spare") is now occupied by a follow-on (FO) flag to indicate to the recipient of the datagram that the datagram includes more than one control message (e.g., PFCP message) bundled together.
[0114] Further, as shown in Figure 8 , the user plane function can be configured to support certain features or mechanisms, such as bundled messages in a datagram, which can be indicated in the header of messages between the user plane function and the control plane function. Similar messages can be communicated between the control plane function and the user plane function to indicate the capabilities and configuration of the control plane function to bundle control messages in a single datagram. For example, as shown in Figure 9As shown, a particular message during an association establishment or update procedure can include a “BUNDL” flag that indicates support for PFCP message bundling, e.g., for the Sxa, Sxb, Sxc, or N4 interface. Similar messages for control plane functions can be generated and sent, e.g., as shown in Figure 10 and Figure 11 As shown, to indicate to the recipient of the message (e.g., a user plane function) that the control plane function is capable of receiving a datagram of bundled PFCP messages, etc. For example, in a 5G network as shown in Figure 1 As shown, in a 5G network, Figure 2 The apparatus of
[0115] In some embodiments, PFCP session related messages handled by different peer PFCP entities (e.g., F-SEIDs of the peers have different IP addresses) can not or should not be bundled together. In some embodiments, PFCP node related messages should also not be bundled.
[0116] In some embodiments, the procedures specified in the rest of the 3GPP Release 16 specification should apply to each PFCP message bundled in a UDP / IP packet as if the PFCP message was sent in its own individual UDP / IP packet, e.g., PFCP message bundling should not cause any changes to the PFCP protocol (except what is described in this disclosure).
[0117] In some embodiments, each PFCP message bundled in a single UDP / IP packet can have its own sequence number in the bundle. In some embodiments, if a UDP / IP packet carrying a bundled PFCP message is lost, retransmission of the PFCP message does not need to be bundled in the same way as when originally sent.
[0118] Referring now to Figure 11 Method 10 can be performed by an apparatus, such as a network node or a user equipment, e.g., as shown in Figure 2The apparatus 200 shown, etc.) is performed. For example, an apparatus can be provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to perform the method 10. In some embodiments, the method can include determining, at 11, whether more than one control protocol message should be sent from a control plane entity to a user plane entity or from the user plane entity to the control plane entity. In some embodiments, the method 10 can further include determining, at 12, whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying the more than one control protocol message. In some embodiments, the method 10 can further include extending, at 13, a header of each of the more than one control protocol message to indicate that a single datagram carries the more than one control protocol message. In some embodiments, the method 10 can further include combining, at 14, one or more message types and corresponding message elements of the more than one control protocol message into the single datagram. In some embodiments, the method 10 can further include causing, at 15, the control plane entity to send the single datagram carrying the more than one control protocol message to the user plane entity or causing the user plane entity to send the single datagram carrying the more than one control protocol message to the control plane entity.
[0119] In some embodiments, the user plane entity includes a user plane function and the control plane entity includes a session management function. In some embodiments, the session management function can include a 5GC session management function and / or an evolved packet core (EPC) (SWG-C), (PGW-C), (TDF-C), etc. In some embodiments, the control protocol message includes a packet forwarding control protocol (PFCP) message. In some embodiments, the method can further include extending a header of each of the more than one control protocol message to include a subsequent flag to indicate that a single datagram carries the more than one control protocol message. In some embodiments, the single control protocol message includes a single user datagram / internet protocol (UDP / IP) packet configured to be packetized, exchanged, and processed over an N4 interface in a fifth generation core (5GC) network or over an Sxa, Sxb, or Sxc interface in an evolved packet core (EPC) network. In some embodiments, the more than one control protocol message carried in the single control protocol message are control plane requests or responses related to a same PFCP session or different PFCP sessions handled by a same peer PFCP entity.
[0120] The above aspects and features can be implemented in systems, apparatus, methods and / or articles of manufacture in accordance with the desired configuration. The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and detailed description. The features and advantages of the subject matter described herein will be apparent from the following drawings and detailed description.
[0121] The subject matter described herein can be implemented in accordance with the desired configurations in systems, apparatus, methods and / or articles of manufacture. For example, the control plane and user plane entities (or one or more components thereof or one or more components associated therewith) and / or processes described herein can be implemented using one or more of the following: a processor executing program code, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an embedded processor, a field programmable gate array (FPGA), and / or combinations thereof. These various implementations can include implementations in one or more computer programs that are executable and / or interpretable on programmable systems including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. These computer programs (also known as programs, software, software applications, applications, components, program code, or code) can include machine instructions for the programmable processor, and can be implemented in high-level procedural and / or object-oriented programming languages, and / or in assembly / machine language. As used in this document, the term "computer readable medium" refers to any computer program product, machine-readable medium, computer-readable storage medium, apparatus and / or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions. Similarly, it is also described herein that a system can include a processor and a memory coupled to the processor. The memory can include one or more programs that cause the processor to perform one or more operations described herein.
[0122] While a few variations have been described in detail above, other modifications or additions are possible. In particular, further features and / or variations can be provided in addition to those set forth herein. For example, the implementations described above can be directed to various combinations and sub-combinations of the disclosed features and / or combinations and sub-combinations of several of the other features disclosed above. Other embodiments can be within the scope of the following claims.
[0123] If desired, the different functions discussed herein can be performed in different orders and / or concurrently with each other. Furthermore, if desired, one or more of the above-described functions can be optional or can be combined. Although various aspects of embodiments are set out in the independent claims, other aspects of some embodiments comprise other combinations of features from the described embodiments and / or dependent claims with the features of the independent claims, and not just the combinations explicitly set out in the claims. It is also noted herein that while the above describes example embodiments, they should not be viewed as limiting. On the contrary, the intent is to cover all modifications and variations of the described embodiments along with their equivalents that fall within the scope of some embodiments as defined by the following claims. It is further noted that the use of the term "based on" above includes the term "based at least on." Unless otherwise stated, the use of the phrase "such as" indicates "for example." The foregoing description, for purposes of explanation, only is detailed for the
[0124] It is to be understood that the terms "user entity" and "user equipment" are intended to cover any suitable type of wireless user equipment such as a mobile telephone, a portable data processing device or a portable web browser. It is also to be understood that the terms "user entity" and "user equipment" are intended to cover any suitable type of non-portable user equipment such as a television receiver, a desktop data processing device or a set-top box.
[0125] In general, the various embodiments of the application can be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects can be implemented in hardware, while other aspects can be implemented in
[0126] Embodiments of the application can be implemented by computer software (such as in a processor entity), or by hardware, or by a combination of software and hardware. Moreover, in this regard it should be noted that any blocks of the logic flow of the figures can represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. The software can be stored on such physical media as memory chips, or memory blocks implemented in the processor, magnetic media such as hard disk or floppy disks, and optical media such as DVD and CD ROMs. The memory can be of any type suitable to the local technical environment and can be implemented using any suitable data storage technology, such as semiconductor based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The data processor can be of any type suitable to the local technical environment, and can include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multi-core processor architectures, as non-limiting examples.
[0127] For example, examples of embodiments provided herein include methods, apparatuses, and computer program products provided for packet forwarding control protocol (PFCP) message bundling.
[0128] In some example embodiments, an apparatus can be provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to determine whether one or more control protocol messages should be sent from a control plane entity to a user plane entity or from the user plane entity to the control plane entity; determine whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying the one or more control protocol messages; extend a header of each of the one or more control protocol messages to indicate that a single datagram carries the one or more control protocol messages; combine one or more message types and corresponding message elements of the one or more control protocol messages into the single datagram; and cause the control plane entity to send the single datagram carrying the one or more control protocol messages to the user plane entity or cause the user plane entity to send the single datagram carrying the one or more control protocol messages to the control plane entity. In some embodiments, the user plane entity includes a user plane function and the control plane entity includes a session management function. In some embodiments, the session management function can include a 5GC session management function and / or an evolved packet core (EPC) (SWG-C), (PGW-C), (TDF-C), etc. In some embodiments, the control protocol messages include packet forwarding control protocol (PFCP) messages. In some embodiments, the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to extend a header of each of the one or more control protocol messages to include a subsequent flag to indicate that a single datagram carries the one or more control protocol messages. In some embodiments, the single control protocol message includes a single UDP / IP packet configured to be packetized, exchanged, and processed over an N4 interface in a fifth generation core (5GC) network or over an Sxa, Sxb, or Sxc interface in an evolved packet core (EPC) network. In some embodiments, the one or more control protocol messages carried in the single control protocol message are control plane requests or responses related to a same PFCP session or different PFCP sessions handled by a same peer PFCP entity.
[0129] According to another embodiment, a method is provided that includes determining whether more than one control protocol message should be sent from a control plane entity to a user plane entity or from the user plane entity to the control plane entity; determining whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying the more than one control protocol message; extending a header of each of the more than one control protocol message to indicate that a single datagram carries the more than one control protocol message; combining one or more message types and corresponding message elements of the more than one control protocol message into the single datagram; and causing the control plane entity to send the single datagram carrying the more than one control protocol message to the user plane entity or causing the user plane entity to send the single datagram carrying the more than one control protocol message to the control plane entity. In some embodiments, the user plane entity includes a user plane function and the control plane entity includes a session management function. In some embodiments, the session management function can include a 5GC session management function and / or an evolved packet core (EPC) (SWG-C), (PGW-C), (TDF-C), etc. In some embodiments, the control protocol message includes a packet forwarding control protocol (PFCP) message. In some embodiments, the method can further include extending a header of each of the more than one control protocol message to include a subsequent flag to indicate that a single datagram carries the more than one control protocol message. In some embodiments, the single control protocol message includes a single user datagram / internet protocol (UDP / IP) packet configured to be packetized, exchanged, and processed over an N4 interface in a fifth generation core (5GC) network or over an Sxa, Sxb, or Sxc interface in an evolved packet core (EPC) network. In some embodiments, the more than one control protocol message carried in a single control protocol message are control plane requests or responses related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity.
[0130] According to yet another embodiment, an apparatus is provided that includes means for determining whether more than one control protocol message should be sent from a control plane entity to a user plane entity or from the user plane entity to the control plane entity, such as the apparatus comprising one or more processors and one or more memories including program code; means for determining whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying the more than one control protocol message; means for extending a header of each of the more than one control protocol message to indicate that a single datagram carries the more than one control protocol message; means for combining one or more message types and corresponding message elements of the more than one control protocol message into the single datagram; or means for causing the control plane entity to send the single datagram carrying the more than one control protocol message to the user plane entity or means for causing the user plane entity to send the single datagram carrying the more than one control protocol message to the control plane entity. In some embodiments, the user plane entity comprises a user plane function and the control plane entity comprises a session management function. In some embodiments, the session management function can comprise a 5GC session management function and / or an evolved packet core (EPC) (SWG-C), (PGW-C), (TDF-C), etc. In some embodiments, the control protocol message comprises a packet forwarding control protocol (PFCP) message. In some embodiments, the apparatus can further comprise means for extending a header of each of the more than one control protocol message to include a subsequent flag to indicate that a single datagram carries the more than one control protocol message. In some embodiments, the single control protocol message comprises a single UDP / IP packet configured to be packetized, exchanged, and processed over an N4 interface in a fifth generation core (5GC) network or over an Sxa, Sxb, or Sxc interface in an evolved packet core (EPC) network. In some embodiments, the more than one control protocol message carried in a single control protocol message are control plane requests or responses related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity.
[0131] According to yet another embodiment, there is provided a computer readable medium, such as a non-transitory computer readable medium comprising program code that when executed causes operations comprising: determining whether more than one control protocol message should be sent from a control plane entity to a user plane entity or from the user plane entity to the control plane entity; determining whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying the more than one control protocol message; extending a header of each of the more than one control protocol message to indicate that a single datagram carries the more than one control protocol message; combining one or more message types and corresponding message elements of the more than one control protocol message into the single datagram; and causing the control plane entity to send the single datagram carrying the more than one control protocol message to the user plane entity or causing the user plane entity to send the single datagram carrying the more than one control protocol message to the control plane entity. In some embodiments, the user plane entity comprises a user plane function and the control plane entity comprises a session management function. In some embodiments, the session management function can comprise a 5GC session management function and / or an evolved packet core (EPC) (SWG-C), (PGW-C), (TDF-C), etc. In some embodiments, the control protocol message comprises a packet forwarding control protocol (PFCP) message. In some embodiments, the program code when executed can further cause operations comprising: extending a header of each of the more than one control protocol message to include a subsequent flag to indicate that a single datagram carries the more than one control protocol message. In some embodiments, the single control protocol message comprises a single UDP / IP packet configured to be packetized, exchanged, and processed over an N4 interface in a fifth generation core (5GC) network or over an Sxa, Sxb, or Sxc interface in an evolved packet core (EPC) network. In some embodiments, the more than one control protocol message carried in a single control protocol message are control plane requests or responses related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity.
[0132] The above aspects and features can be implemented in systems, apparatus, methods and / or articles of manufacture in accordance with the desired configuration. The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. The features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims. The foregoing description of exemplary embodiments of the application provides an enabling description of the application. However, various modifications and changes can be made thereto without departing from the scope and spirit of the application, which is set forth in the following claims, both as to organization and formats and as to the contents.
Claims
1. A device for communication, comprising: A component for determining whether more than one control protocol message should be sent from the control plane entity to the user plane entity, or from the user plane entity to the control plane entity; A component for determining whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying more than one control protocol message; Used to extend the header of each control protocol message in the more than one control protocol message to indicate the component in the single datagram that is followed by another control protocol message; A component for combining one or more message types and corresponding message elements of the more than one control protocol message into the single datagram; as well as A component for enabling the control plane entity to send the single datagram carrying more than one control protocol message to the user plane entity, or enabling the user plane entity to send the single datagram carrying more than one control protocol message to the control plane entity.
2. The apparatus of claim 1, wherein the user plane entity includes user plane functions, and the control plane entity includes session management functions.
3. The apparatus according to any one of claims 1 or 2, wherein each of the more than one control protocol messages comprises a Packet Forwarding Control Protocol (PFCP) message.
4. The apparatus according to claim 1 or 2, further comprising: The header is used to extend the header of each of the more than one control protocol messages to include a subsequent flag indicating a component in the single datagram that is followed by another control protocol message.
5. The apparatus of claim 1 or 2, wherein the single datagram comprises a single User Datagram / Internet Protocol (UDP / IP) packet, the single User Datagram / Internet Protocol (UDP / IP) packet being configured to be packetized, switched and processed via the N4 interface in a fifth-generation core (5GC) network, or via the Sxa interface, Sxb interface or Sxc interface in an evolved packet core (EPC) network.
6. The apparatus of claim 3, wherein the more than one control protocol message carried in the single datagram is a control plane request or response related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity.
7. A method for communication, comprising: Determine whether more than one control protocol message should be sent from the control plane entity to the user plane entity, or from the user plane entity to the control plane entity; Determine whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying more than one control protocol message; Extend the header of each control protocol message in the more than one control protocol message to indicate that another control protocol message follows the single datagram; The datagram is formed by combining one or more message types and corresponding message elements of the more than one control protocol message. as well as The control plane entity may send a single datagram carrying more than one control protocol message to the user plane entity, or the user plane entity may send a single datagram carrying more than one control protocol message to the control plane entity.
8. The method of claim 7, wherein the user plane entity includes user plane functionality, and the control plane entity includes session management functionality.
9. The method of claim 7 or 8, wherein each of the more than one control protocol messages comprises a Packet Forwarding Control Protocol (PFCP) message.
10. The method according to claim 7 or 8, further comprising: The header of each control protocol message in the more than one control protocol message is extended to include a subsequent flag to indicate that another control protocol message follows the single datagram.
11. The method of claim 7 or 8, wherein the single datagram comprises a single User Datagram / Internet Protocol (UDP / IP) packet, the single User Datagram / Internet Protocol (UDP / IP) packet being configured to be packetized, switched and processed via the N4 interface in a fifth-generation core (5GC) network, or via the Sxa interface, Sxb interface or Sxc interface in an evolved packet core (EPC) network.
12. The method of claim 9, wherein the more than one control protocol message carried in the single datagram is a control plane request or response related to the same PFCP session or different PFCP sessions handled by the same peer PFCP entity.
13. A non-transitory computer-readable medium comprising program code, said program code, when executed, causing operations including: Determine whether more than one control protocol message should be sent from the control plane entity to the user plane entity, or from the user plane entity to the control plane entity; Determine whether both the control plane entity and the user plane entity support sending and receiving a single datagram carrying more than one control protocol message; Extend the header of each control protocol message in the more than one control protocol message to indicate that another control protocol message follows the single datagram; The datagram is formed by combining one or more message types and corresponding message elements of the more than one control protocol message. as well as The control plane entity may send a single datagram carrying more than one control protocol message to the user plane entity, or the user plane entity may send a single datagram carrying more than one control protocol message to the control plane entity.
14. The computer-readable medium of claim 13, wherein the user plane entity includes user plane functionality, and the control plane entity includes session management functionality.
15. The computer-readable medium of any one of claims 13 or 14, wherein each of the more than one control protocol messages comprises a Packet Forwarding Control Protocol (PFCP) message.
16. The computer-readable medium of claim 13 or 14, wherein the program code, when executed, further causes operations including: The header of each control protocol message in the more than one control protocol message is extended to include a subsequent flag to indicate that another control protocol message follows the single datagram.
17. The computer-readable medium of claim 13 or 14, wherein the single datagram comprises a single User Datagram / Internet Protocol (UDP / IP) packet, the single User Datagram / Internet Protocol (UDP / IP) packet being configured to be packetized, switched, and processed via an N4 interface in a fifth-generation core (5GC) network, or via an Sxa interface, Sxb interface, or Sxc interface in an evolved packet core (EPC) network.
18. The computer-readable medium of claim 15, wherein the more than one control protocol message carried in the single datagram is a control plane request or response related to the same PFCP session or to different PFCP sessions handled by the same peer PFCP entity.
Citation Information
Patent Citations
Packet transmission method, system and device for general packet wireless service tunnel protocol
CN101420369A
Sending multiple g-pdus with a single UDP datagram
CN107735996A