WO2020031157A1 - Method and apparatus for network function selection scheme in service based architecture of communication network - Google Patents

Method and apparatus for network function selection scheme in service based architecture of communication network Download PDF

Info

Publication number
WO2020031157A1
WO2020031157A1 PCT/IB2019/056813 IB2019056813W WO2020031157A1 WO 2020031157 A1 WO2020031157 A1 WO 2020031157A1 IB 2019056813 W IB2019056813 W IB 2019056813W WO 2020031157 A1 WO2020031157 A1 WO 2020031157A1
Authority
WO
WIPO (PCT)
Prior art keywords
network function
functional message
network
sending
built
Prior art date
Application number
PCT/IB2019/056813
Other languages
French (fr)
Inventor
Hans-Jochen Morper
Hannu Flinck
Original Assignee
Nokia Technologies Oy
Nokia Usa Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy, Nokia Usa Inc. filed Critical Nokia Technologies Oy
Publication of WO2020031157A1 publication Critical patent/WO2020031157A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/24Interfaces between hierarchically similar devices between backbone network devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

A method, apparatus and computer program product are provided in order to provide a communication protocol for network functions, such as in a fifth generation (5G) network. The method, apparatus and computer program product receives a network function functional message from a network function. The method, apparatus and computer program product generates a network function functional message response. The method, apparatus and computer program product determines whether the network function sending the network function functional message is built solely as a web client, solely as a web server, or as both a web server and a web client then map a network function functional message response to one or more of a Hyper Text Transfer Protocol response or a Hyper Text Transfer Protocol request accordingly.

Description

METHOD AND APPARATUS FOR NETWORK FUNCTION SELECTION SCHEME IN SERVICE BASED ARCHITECTURE OF COMMUNICATION NETWORK
[0001] The present application claims priority to U.S. Provisional Application Serial No. 62/717,406, titled“METHOD AND APPARATUS FOR NETWORK FUNCTION
SELECTION SCHEME IN SERVICE BASED ARCHITECTURE OF COMMUNICATION NETWORK,” filed August 10, 2018, the contents of which are incorporated herein by reference in their entirety.
TECHNICAL FIELD
[0002] An example embodiment relates generally to a method, apparatus and computer program product for providing a communication protocol for network functions, such as in a fifth generation (5G) network.
BACKGROUND
[0003] The core of 5G network will be built on service based architecture (SBA) principles. One feature in the core of 5G network is that formerly monolithic network functions such as a packet data gateway (P-Gw) or mobility management entity (MME) are further de-composed to allow for a more flexible deployment. The network functions (NF) in 5G can be invoked or tom down on demand at different physical locations in the 5G network. Example network functions include access mobility function (AMF) and session management function (SMF).
[0004] The SBA in 5G is a service oriented design. Once a NF is invoked, the NF registers to a network repository function (NRF). The NRF allows NFs to discover other NFs and advertises the existence of one NF to other NFs. The NRF also enables authentication, registration, de-registration, and information exchange of NFs.
[0005] The communication protocol between NFs and NRFs and the communication protocol between NFs and other NFs are both based on Hypertext Transmission Protocol (HTTP). Because HTTP was developed for access to webpages and to content offered via webpages, traditional communication in HTTP follows a client-server principle. A web client, e.g., a browser requests to counter-peers, e.g., web servers to retrieve information. Therefore, the HTTP protocol is asymmetric in communication behaviour. The client as the requesting part is taking the initiative following a CRUD (Create-Read-Update-Delete) scheme. The client may create new content to be stored at a server using an HTTP-PUT request. The client may request information/content stored at a server using HTTP-GET request. The client may update/replace existing content at a server using a HTTP-POST- request. The client may also delete existing content at a server using HTPP-DELETE-request. A server waits for HTTP-requests of connected clients and carries out the requested operations as far as they are possible. Therefore, a server cannot take the initiative and send information to a client without a preceding HTTP-request.
[0006] Within a 5G network, a network function may send an authentication request to another network function such as an authentication server. The authentication request can be sent to the authentication server by mapping the authentication request to an HTTP-GET request with authentication parameters in the body. The authentication server may send the result of the authentication in an HTTP -response. However, if the authentication server would like to initiate an authentication update, it would not be possible in such an arrangement. Therefore, the current mechanism of utilizing HTTP protocol in 5G communication is sub- optimal.
BRIEF SUMMARY
[0007] A method, apparatus and computer program product are provided in accordance with an example embodiment in order to provide a communication protocol for network functions, such as in a fifth generation (5G) network.
[0008] In one example embodiment, a method is provided that includes receiving a network function functional message from a network function. The method further includes generating a network function functional message response. The method further includes determining whether the network function sending the network function functional message is built solely as a web client. The method further includes in an instance in which the network function sending the network function functional message is built solely as a web client, mapping the network function functional message response to a Hyper Text Transfer Protocol response. The method further includes in an instance in which the network function sending the network function functional message is not built solely as a web client; determining whether the network function sending the network function functional message is built solely as a web server. The method further includes in an instance in which the network function sending the network function functional message is built solely as a web server; mapping the network function functional message response to a create-read-update-delete based Hyper Text Transfer Protocol request. The method further includes in an instance in which the network function sending the network function functional message is not built solely as a web client, mapping the network function functional message response to one or more of a Hyper Text Transfer Protocol response or a Hyper Text Transfer Protocol request.
[0009] In some implementations of such a method, the network function functional message corresponds to a defined standard functional message of fifth generation network.
[0010] In another example embodiment, a method is provided that includes receiving registration information from one or more network functions. The method further includes [.The method further includes storing the network function registration information. The method further includes receiving a request to communicate with a peer from a network function, wherein the network function previously sent registration information. The method further includes determining an appropriate peer for the network function based on the registration information of the network function. The method further includes sending appropriate peer communication information to the network function.
[0011] In some implementations of such a method, the network function registration information indicates whether the network function is built solely as a web client, built solely as a web server, or built as both a web client and a web server. In some embodiments, the determining is based on a decision matrix. In some embodiments, the mapping of application level HTTP messages including one or more of HTTP operation types, verbs, or appropriate requests and responses is done by an underlaying socket layer.
[0012] In another example embodiment, an apparatus is provided that includes means for receiving a network function functional message from a network function. The apparatus further includes means for generating a network function functional message response. The apparatus further includes means for determining whether the network function sending the network function functional message is built solely as a web client. The apparatus further includes means for mapping the network function functional message response to a Hyper Text Transfer Protocol response in an instance in which the network function sending the network function functional message is built solely as a web client, means for. The apparatus further includes means for determining whether the network function sending the network function functional message is built solely as a web server in an instance in which the network function sending the network function functional message is not built solely as a web client. The apparatus further includes means for mapping the network function functional message response to a create-read-update-delete based Hyper Text Transfer Protocol request in an instance in which the network function sending the network function functional message is built solely as a web server. The apparatus further includes means for mapping the network function functional message response to one or more of a Hyper Text Transfer Protocol response or a Hyper Text Transfer Protocol request in an instance in which the network function sending the network function functional message is not built solely as a web client.
[0013] In some implementations of such an apparatus, the network function functional message corresponds to a defined standard functional message of fifth generation network.
[0014] In another example embodiment, an apparatus is provided that includes means for receiving registration information from one or more network functions. The apparatus further includes means for storing the network function registration information. The apparatus further includes means for receiving a request to communicate with a peer from a network function. The network function previously sent registration information. The apparatus further includes means for determining an appropriate peer for the network function based on the registration information of the network function. The apparatus further includes means for sending appropriate peer communication information to the network function.
[0015] In some implementations of such an apparatus, the network function registration information indicates whether the network function is built solely as a web client, built solely as a web server, or built as both a web client and a web server. In some embodiments, the determining is based on a decision matrix. In some embodiments, the mapping of application level HTTP messages including one or more of HTTP operation types, verbs, or appropriate requests and responses is done by an underlaying socket layer.
[0016] In another example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code for one or more programs with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to receive a network function functional message from a network function. The computer program code is further configured to, with the at least one processor, cause the apparatus to generate a network function functional message response. The computer program code is further configured to, with the at least one processor, cause the apparatus to determine whether the network function sending the network function functional message is built solely as a web client. The computer program code is further configured to, with the at least one processor, cause the apparatus to: in an instance in which the network function sending the network function functional message is built solely as a web client, map the network function functional message response to a Hyper Text Transfer Protocol response. The computer program code is further configured to, with the at least one processor, cause the apparatus to: in an instance in which the network function sending the network function functional message is not built solely as a web client; determine whether the network function sending the network function functional message is built solely as a web server. The computer program code is further configured to, with the at least one processor, cause the apparatus to: in an instance in which the network function sending the network function functional message is built solely as a web server; map the network function functional message response to a create-read-update-delete based Hyper Text Transfer Protocol request. The computer program code is further configured to, with the at least one processor, cause the apparatus to: in an instance in which the network function sending the network function functional message is not built solely as a web client, map the network function functional message response to one or more of a Hyper Text Transfer Protocol response or a Hyper Text Transfer Protocol request.
[0017] In some implementations of such an apparatus, the network function functional message corresponds to a defined standard functional message of fifth generation network.
[0018] In another example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code for one or more programs with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to receive registration information from one or more network functions. The computer program code is further configured to, with the at least one processor, cause the apparatus to store the network function registration information. The computer program code is further configured to, with the at least one processor, cause the apparatus to receive a request to communicate with a peer from a network function. The network function may previously sent registration information. The computer program code is further configured to, with the at least one processor, cause the apparatus to determine an appropriate peer for the network function based on the registration information of the network function. The computer program code is further configured to, with the at least one processor, cause the apparatus to send appropriate peer communication information to the network function.
[0019] In some implementations of such an apparatus, the network function registration information indicates whether the network function is built solely as a web client, built solely as a web server, or built as both a web client and a web server. In some embodiments, the determining is based on a decision matrix. In some embodiments, the mapping of application level HTTP messages including one or more of HTTP operation types, verbs, or appropriate requests and responses is done by an underlaying socket layer.
[0020] In another example embodiment, a computer program product is provided that includes at least one non-transitory computer-readable storage medium having computer executable program code instructions stored therein with the computer executable program code instructions comprising program code instructions configured, upon execution, to receive a network function functional message from a network function. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to generate a network function functional message response. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to determine whether the network function sending the network function functional message is built solely as a web client. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to: in an instance in which the network function sending the network function functional message is built solely as a web client, map the network function functional message response to a Hyper Text Transfer Protocol response. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to: in an instance in which the network function sending the network function functional message is not built solely as a web client; determine whether the network function sending the network function functional message is built solely as a web server. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to: in an instance in which the network function sending the network function functional message is built solely as a web server; map the network function functional message response to a create-read-update-delete based Hyper Text Transfer Protocol request. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to: in an instance in which the network function sending the network function functional message is not built solely as a web client, map the network function functional message response to one or more of a Hyper Text Transfer Protocol response or a Hyper Text Transfer Protocol request.
[0021] In some implementations of such a computer program product, the network function functional message corresponds to a defined standard functional message of fifth generation network.
[0022] In another example embodiment, a computer program product is provided that includes at least one non-transitory computer-readable storage medium having computer executable program code instructions stored therein with the computer executable program code instructions comprising program code instructions configured, upon execution, to receive registration information from one or more network functions. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to store the network function registration information. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to receive a request to communicate with a peer from a network function, wherein the network function previously sent registration information. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to determine an appropriate peer for the network function based on the registration information of the network function. The computer executable program code instructions comprising program code instructions is further configured, upon execution, to send appropriate peer communication information to the network function.
[0023] In some implementations of such a computer program product, the network function registration information indicates whether the network function is built solely as a web client, built solely as a web server, or built as both a web client and a web server. In some embodiments, the determining is based on a decision matrix. In some embodiments, the mapping of application level HTTP messages including one or more of HTTP operation types, verbs, or appropriate requests and responses is done by an underlaying socket layer.
BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Having thus described certain example embodiments of the present disclosure in general terms, reference will hereinafter be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
[0025] Figure 1 illustrates an example 5G network structure in accordance with an example embodiment of the present disclosure;
[0026] Figure 2 illustrates an example CRUD (Create-Read-Update-Delete) scheme;
[0027] Figure 3 illustrates an example authentication scheme;
[0028] Figure 4 illustrates an example CRUD (Create-Read-Update-Delete) scheme utilized in a network function in accordance with an example embodiment of the present disclosure;
[0029] Figure 5 is a block diagram of an apparatus that may be specifically configured in accordance with an example embodiment of the present disclosure;
[0030] Figure 6 shows example network functions in accordance with an example embodiment;
[0031] Figure 7 is a flowchart depicting operations performed, such as by the apparatus of Figure 5, in accordance with an example embodiment of the present disclosure; [0032] Figure 8 illustrates an example authentication scheme in accordance with an example embodiment of the present disclosure;
[0033] Figure 9 illustrates an example network architecture with multiple network functions and a network repository function in accordance with an example embodiment of the present disclosure;
[0034] Figure 10 illustrates an example of finding a peer for a network function; and [0035] Figure 11 is a flowchart depicting operations performed, such as by the apparatus of Figure 5, in accordance with an example embodiment of the present disclosure.
DETAILED DESCRIPTION
[0036] Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Indeed, various embodiments of the invention may 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 numerals refer to like elements throughout. As used herein, the terms“data,”“content,”“information,” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
[0037] Additionally, as used herein, the term‘circuitry’ refers to (a) hardware-only circuit implementations (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 a 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 and/or firmware. As another example, the term‘circuitry’ as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, field programmable gate array, and/or other computing device. [0038] As defined herein, a“computer-readable storage medium” refers to a physical storage medium (e.g., volatile or non-volatile memory device).
[0039] A method, apparatus and computer program product are provided in accordance with an example embodiment in order to provide a communication protocol for network functions in a fifth generation (5G) network. Figure 1 illustrates an example 5G network structure.
[0040] The core of 5G network will be built on service based architecture (SBA) principles. One feature in the core of 5G network is that formerly monolithic network functions such as a packet data gateway (P-Gw) or mobility management entity (MME) are further de-composed to allow for a more flexible deployment. The network functions (NF) in 5G such as 102A and 102B in Figure 1 can be invoked or tom down on demand at different physical locations in the 5G network. Example network functions include an access mobility function (AMF) and a session management function (SMF).
[0041] The SBA in 5G is a service oriented design. Once a NF is invoked, the NF registers to a network repository function (NRF) such as NRF 104 in Figure 1. The NRF allows NFs to discover other NFs and advertises the existence of one NF to other NFs. The NRF also enables authentication, registration, de-registration, and information exchange of NFs.
[0042] The communication protocol between NFs and NRFs and the communication protocol between NFs and other NFs are both based on Hypertext Transmission Protocol (HTTP) as illustrated in 106 of Figure 1. HTTP was chosen as“general-purpose” signaling protocol in a 5G core to allow re-use of IT infrastructure (router, switches, data centers) and IT protocol handlers (e.g., commercial WEB servers and clients). In order to avoid conflict with these paradigms, applications (e.g. 5G network functions NF) must comply with the given HTTP function split. Because HTTP was developed for access to webpages and to content offered via webpages, traditional communication in HTTP follows a client-server principle. A web client, e.g., a browser requests to counter-peers, e.g., web servers to retrieve information. Therefore, the HTTP protocol is asymmetric in communication behaviour. The client as the requesting part is taking the initiative following a CRUD (Create-Read-Update- Delete) scheme as illustrated in 200 of Figure 2. The client 202 may create new content to be stored at a server 204 using an HTTP-PUT request. The client may request
information/content stored at a server using an HTTP-GET request. The client may update/replace existing content at a server using an HTTP-POST-request. The client may also delete existing content at a server using an HTTP-DELETE-request. A server waits for HTTP-requests of connected clients and carries out the requested operations as far as they are possible. Therefore, a server cannot take the initiative and send information to a client without a preceding HTTP-request.
[0043] Turning now to Figure 3, within a 5G network, a network function NF2 as illustrated in 302 may send an authentication request 304 to another network function NF1 illustrated as 300. The authentication request can be sent to the authentication server by mapping the authentication request to an HTTP-GET request with authentication parameters in the body. The authentication may send the result of the authentication in an HTTP- response. However, if the authentication server would like to initiate an authentication update, it would not be possible in such an arrangement. Therefore, the current mechanism of utilizing HTTP protocol in 5G communication is sub-optimal.
[0044] A method, apparatus and computer program product are provided in accordance with an example embodiment in order to provide a communication protocol for network functions in a fifth generation (5G) network that overcomes the CRUD limitations of existing mechanisms. In one example embodiment, as illustrated in Figure 4, the NFs 402 and 404 are made symmetric so that two peers can act spontaneously and query connected peers at any time. The NFs build on an HTTP socket that includes both an HTTP server and an HTTP client and sets up the Transmission Control Protocol (TCP) or QUIC (Quick User Datagram Protocol (UDP) Internet Connections) as needed in the client role and configured to listen to incoming connections in the server role. Therefore, an NF acts as an HTTP client when it wants to convey information to a peer and acts as a server for incoming requests. Responses may be mapped to HTTP responses of the HTTP-server part or be mapped into new HTTP- requests by the HTTP-client part.
[0045] This solution has some drawbacks. For example, assuming that future 5G Core NFs shall be built using existing implementations of HTTP-servers or HTTP-clients, it would require substantial code and performance if both (client and server) were included in one NF. For example, typical commercial or Open Source based servers require a minimum of 50MB of code. Taking also into account that 5G Core considers atomized functionality that might be available even per user connection, having a full-fledged client server setup per microservice might violate a motivation for using HTTP for signalling. However, some large-scale NFs, e.g., an AMF that may serve up to tens of thousands user equipments (UEs) may use this kind of dual HTTP connectivity. A desirable solution would allow a flexible assignment of HTTP socket versions to NFs. A solution that allows a flexible assignment of HTTP socket versions to NFs is described later. [0046] In order to embody the network functions and network repository function, an apparatus 50 is provided and as shown, for example, in Figure 5. The apparatus may be embodied by any of a variety of different components such as different nodes of a 5G core network instance. As shown in Figure 5, the apparatus of an example embodiment includes, is associated with or is otherwise in communication with a processor 52, an associated memory 54 and a communication interface 56.
[0047] The processor 52 (and/or co-processors or any other circuitry assisting or otherwise associated with the processor) may be in communication with the memory device 54 via a bus for passing information among components of the apparatus 50. The memory device may be non-transitory and may include, for example, one or more volatile and/or non volatile memories. In other words, for example, the memory device may be an electronic storage device (e.g., a computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor). The memory device may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present disclosure. For example, the memory device could be configured to buffer input data for processing by the processor. Additionally or alternatively, the memory device could be configured to store instructions for execution by the processor.
[0048] The apparatus 50 may, in some embodiments, be embodied in various computing devices as described above. However, in some embodiments, the apparatus may be embodied as a chip or chip set. In other words, the apparatus may 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 may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single“system on a chip.”
As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
[0049] The processor 52 may be embodied in a number of different ways. For example, the processor may 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 circuitry including integrated circuits such as, 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, or the like. As such, in some embodiments, the processor may include one or more processing cores configured to perform independently. A multi -core processor may enable multiprocessing within a single physical package.
Additionally or alternatively, the processor may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
[0050] In an example embodiment, the processor 52 may be configured to execute instructions stored in the memory device 54 or otherwise accessible to the processor.
Alternatively or additionally, the processor may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present disclosure while configured accordingly. Thus, for example, when the processor is embodied as an ASIC, FPGA or the like, the processor may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor is embodied as an executor of instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor may be a processor of a specific device (e.g., an image processing system) configured to employ an embodiment of the present invention by further configuration of the processor by instructions for performing the algorithms and/or operations described herein. The processor may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor.
[0051] The communication interface 56 may 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. In this regard, the communication interface may include, for example, 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 may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface may alternatively or also support wired communication. As such, for example, the
communication interface may 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.
[0052] Referring now to Figure 6, Figure 6 shows example NFs in accordance with an example embodiment. A NF can either build on a web server as illustrated in block 60 of Figure 6, denoted as a class A-M (Master), or on a web client as illustrated in block 62 of Figure 6, denoted as a class A-S (Slave), or both on a web client and a web server as illustrated in block 64 of Figure 6, denoted as class B. Depending on the functionality of an NF, some NFs may be implemented as class A-M or class B while other NFs may be implemented on class A-S or class B, and some NFs may only be implemented as class B. Class A implementations are generally desirable for small-scale NFs that serve one user equipment (UE) only while class B implementations are generally desirable for large-scale implementations.
[0053] In some embodiments, the mapping of functional messages to HTTP messages (e.g. AUTH-REQUEST to HTTP GET) is done by a communication socket (CS). In such embodiments, the underlying details of HTTP based communication (client, or server, or both) are hidden from NF-application which allows to use the same NF-software in multiple use cases. The CS function will perform an interworking between classes of the NF based on NF type information that was learned during the service registration. As illustrated in Figure 6, Class A-M may map functional messages to HTTP -responses, class A-S may map to a CRUD based HTTP request (e.g. GET). Class B may act based on the peers’ capabilities: if a peer is of class A-M, it maps to CRUD, if the peer is of class A-S, it maps to HTTP-response, and if the peer is of class B it has both choices. A CS can work in multi-mode, that is, it can be connected to a variety of different peers according to the peers’ capabilities including their roles and used protocols. Note that HTTP/TCP is provided here as an example, if there is change to the HTTP versions utilized, or replacement of HTTP/TCP, for example to Message Queuing Telemetry Transport (MQTT), such changes can be limited to CS only and NFs may stay untouched which allows for easy upgrade of communication socket. Functional messages are standard functional messages in a 5G network function such as packet-received, send-packet-out, modify-forwarding table, get-stats, or the like.
[0054] Referring now to Figure 7, a flowchart shows communication of a class B NF. At block 700, the class B NF receives, for example via means such as the communication interface 56 and/or the processor 52, a network function functional message from a network function. At block 702, for example by using means such as the processor 52, the class B NF generates a network function functional message response. At block 704, the class B NF determines, for example via means such as the communication interface 56 and/or the processor 52, whether the network function sending the network function functional message is built solely as a web client. If the class B NF determines that the network function sending the network function functional message is built solely as a web client, the class B NF may map the network function functional message response, at block 706, for example via means such as the communication interface 56 and/or the processor 52, to a HTTP response.
[0055] If the class B NF determines that the network function sending the network function functional message is not built solely as a web client, the class B NF determines, at block 708, for example by using means such as the communication interface 56 and/or the processor 52, whether the network function sending the network function functional message is built solely as a web server. A CS of the network function network function sending the network function functional message may include an indication that indicates whether the network function is built as a web server when sending the network function functional message. If the class B NF determines that the network function sending the network function functional message is built solely as a web server, the class B NF may map the network function functional message response, at block 710, for example via means such as the communication interface 56 and/or the processor 52, to a CRUD based HTTP request.
[0056] If the class B NF determines that the network function sending the network function functional message is not built solely as a web server, the class B NF determines, at block 712, for example by using means such as the communication interface 56 and/or the processor 52, whether the network function sending the network function functional message is built as both a web client and a web server. If the class B NF determines that the network function sending the network function functional message is built as both a web client and a web server, the class B NF maps the functional message response, at block 714, for example via means such as the communication interface 56 and/or the processor 52, to one or more of a HTTP response or a HTTP request or corresponding operations in the underlay protocol used instead of HTTP/TCP. In some embodiments, the class B NF may skip block 712 and directly goes to block 714 because if a NF is not built solely as a web client and the NF is not built solely as a web server, the NF is built as both a web client and a web server.
[0057] Figure 8 shows how a class B implementation of NFs helps to solve the problem illustrated in Figure 3 where re-authentication not possible.
[0058] In accordance with Figure 8, NF1 800 and NF2 802 are connected to a CS, but as a difference to Figure 3, the CS of NF1 and NF2 has more flexibility in mapping functional messages to HTTP -messages. In case of an authentication request, NF1 is contacted by the web server part of NF2, and the AUTH- Accept sent out by NF1 will be mapped to an HTTP- response. If the NF1 application wants to invoke a re -authentication at NF2, the CS of NF1 has the additional capability to map this request to an HTTP-GET message (or PUSH, PUT or POST) - provided the corresponding peer has an HTTP-Server listening (class B).
[0059] Realizing NFs using different HTTP sockets (classes A-M, A-S, B) allows for maximum scaling and modularity of NFs ranging from serving an individual connection (very small) up to serving a whole network (very large). According to SBA (service based architecture) principles, NFs register at a network repository function NRF. If NFs require to communicate with other NFs they can query this repository for appropriate peering NFs.
Since NFs may be based on different HTTP-sockets, the partner NF selection must take this into account.
[0060] Figure 9 shows NFs 900A to 900F with two NF types denoted as NF-A and NF-B which are implemented on different HTTP sockets, namely class A-M, class A-S and class B. Upon registering at the NRF 904, the NRF 904 will store NF related information in a record (e.g. performance, size, addresses, etc.). The NRF 904 will also store the class information to determine the HTTP capabilities (server/client/both) of the NF. When the NF application registers itself to NRF 904 as per SBA, the CS augments this registration with the socket class information (e.g. A-M, A-S and B. Additional classes may be introduced depending on the message carrier protocol utilized.
[0061] Figure 10 shows an NF type A searching for an appropriate NF which should be of type B. For example, in a 5G context types A or B may be an access and mobility management function (AMF), session management function (SMF), policy and charging rules function (PCRF) or the like. Consequently, NF1 queries the NRF for a peer of type B. The NRF can now analyse the records storing NF related information to find out a matching peer. Since the requesting peer is of class A-M, it can only communicate with peers that are either of class A-S or of class B. Therefore, NF 900D cannot be used as a peer although it is of the requested type B, because the HTTP sockets of both are based on HTTP servers which cannot communicate with each other.
[0062] Figure 11 is a flowchart illustrating the workflow of a NRF in more detail. At block 1100, the NRF receives, for example via means such as the communication interface 56 and/or the processor 52, registration information from one or more network functions. For example, the NRF 904 receives registration information of NFs 900A to 900F in Figures 9 and 10. The registration information would indicate what type of HTTP socket (e.g., class A- M, class A-S, or class B) that the network function has. At block 1102, the NRF stores, for example via means such as the processor 52 into the memory 54, the received network function registration information. When aNF attempts to query a peer, the NRF receives, at block 1104, for example via means such as the communication interface 56 and/or the processor 52, a request to communicate with a peer from a network function, wherein the network function previously sent registration information to the NRF. At block 1106, the NRF determines, for example via means such as the processor 52, an appropriate peer for the network function based on the registration information of the network function. The determination may be in accordance with the decision matrix 1000 illustrated in Figure 10. At block 1108, the NRF sends, for example via means such as the communication interface 56 and/or the processor 52, the appropriate peer communication information to the network function requesting the peer.
[0063] In some embodiments, the CS may also act as a“trusted component” and may act as a policy enforcement point and may also provide usage information to the PCRF for third party NFs.
[0064] As described above, Figure 7 and 11 are flowcharts of an apparatus 50, method, and computer program product according to certain example embodiments of the invention.
It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device 54 of an apparatus employing an embodiment of the present invention and executed by a processor 52 of the apparatus. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks. These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture, the execution of which implements the function specified in the flowchart blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.
[0065] A computer program product is therefore defined in those instances in which the computer program instructions, such as computer-readable program code portions, are stored by at least one non-transitory computer-readable storage medium with the computer program instructions, such as the computer-readable program code portions, being configured, upon execution, to perform the functions described above, such as in conjunction with the flowchart of Figure 3. In other embodiments, the computer program instructions, such as the computer-readable program code portions, need not be stored or otherwise embodied by a non-transitory computer-readable storage medium, but may, instead, be embodied by a transitory medium with the computer program instructions, such as the computer-readable program code portions, still being configured, upon execution, to perform the functions described above.
[0066] Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
[0067] In some embodiments, certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.
[0068] Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

WHAT IS CLAIMED IS:
1. A method comprising:
receiving a network function functional message from a network function;
generating a network function functional message response;
determining whether the network function sending the network function functional message is built solely as a web client;
in an instance in which the network function sending the network function functional message is built solely as a web client, mapping the network function functional message response to a Hyper Text Transfer Protocol response;
in an instance in which the network function sending the network function functional message is not built solely as a web client; determining whether the network function sending the network function functional message is built solely as a web server;
in an instance in which the network function sending the network function functional message is built solely as a web server; mapping the network function functional message response to a create -read-update -delete based Hyper Text Transfer Protocol request; and in an instance in which the network function sending the network function functional message is neither built solely as a web client nor built solely as a web server, mapping the network function functional message response to one or more of a Hyper Text Transfer Protocol response or a Hyper Text Transfer Protocol request.
2. A method according to claim 1 wherein the network function functional message corresponds to a defined standard functional message of a fifth generation network.
3. A method according to any one of claims 1 to 2 wherein the mapping comprises mapping one or more of Hyper Text Transfer Protocol operation types, verbs, or requests and responses, and wherein the mapping is performed by an underlaying socket layer.
4. A method comprising:
receiving registration information from one or more network functions;
storing the network function registration information; receiving a request to communicate with a peer from a network function, wherein the network function previously sent registration information;
determining an appropriate peer for the network function based on the registration information of the network function; and
sending appropriate peer communication information to the network function.
5. A method according to claim 4 wherein the network function registration information indicates whether the network function is built solely as a web client, built solely as a web server, or built as both a web client and a web server.
6. A method according to any one of claims 4 to 5 wherein the determining is based on a decision matrix.
7. An apparatus comprising:
means for receiving a network function functional message from a network function; means for generating a network function functional message response;
means for determining whether the network function sending the network function functional message is built solely as a web client;
in an instance in which the network function sending the network function functional message is built solely as a web client, means for mapping the network function functional message response to a Hyper Text Transfer Protocol response;
in an instance in which the network function sending the network function functional message is not built solely as a web client; means for determining whether the network function sending the network function functional message is built solely as a web server; in an instance in which the network function sending the network function functional message is built solely as a web server; means for mapping the network function functional message response to a create-read-update-delete based Hyper Text Transfer Protocol request; and
in an instance in which the network function sending the network function functional message is neither built solely as a web client nor built solely as a web server, means for mapping the network function functional message response to one or more of a Hyper Text Transfer Protocol response or a Hyper Text Transfer Protocol request.
8. An apparatus according to claim 7 wherein the network function functional message corresponds to a defined standard functional message of a fifth generation network.
9. An apparatus according to any one of claims 7 to 8 wherein the mapping comprises mapping one or more of Hyper Text Transfer Protocol operation types, verbs, or requests and responses, and wherein the mapping is performed by an underlaying socket layer.
10. An apparatus comprising:
means for receiving registration information from one or more network functions; means for storing the network function registration information;
means for receiving a request to communicate with a peer from a network function, wherein the network function previously sent registration information;
means for determining an appropriate peer for the network function based on the registration information of the network function; and
means for sending appropriate peer communication information to the network function.
11. An apparatus according to claim 10 wherein the network function registration information indicates whether the network function is built solely as a web client, built solely as a web server, or built as both a web client and a web server.
12. An apparatus according to any one of claims 10 to 11 wherein the means for determining the appropriate peer utilizes a decision matrix.
13. An apparatus comprising at least one processor and at least one memory including computer program code for one or more programs, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
receive a network function functional message from a network function;
generate a network function functional message response;
determine whether the network function sending the network function functional message is built solely as a web client; in an instance in which the network function sending the network function functional message is built solely as a web client, map the network function functional message response to a Hyper Text Transfer Protocol response;
in an instance in which the network function sending the network function functional message is not built solely as a web client; determine whether the network function sending the network function functional message is built solely as a web server;
in an instance in which the network function sending the network function functional message is built solely as a web server; map the network function functional message response to a create -read-update -delete based Hyper Text Transfer Protocol request; and in an instance in which the network function sending the network function functional message is neither built solely as a web client nor built solely as a web server, map the network function functional message response to one or more of a Hyper Text Transfer Protocol response or a Hyper Text Transfer Protocol request.
14. An apparatus according to claim 13 wherein the network function functional message corresponds to a defined standard functional message of a fifth generation network.
15. An apparatus according to any one of claims 13 to 14 wherein the mapping comprises mapping one or more of Hyper Text Transfer Protocol operation types, verbs, or requests and responses, and wherein the mapping is performed by an underlaying socket layer.
16. An apparatus comprising at least one processor and at least one memory including computer program code for one or more programs, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
receive registration information from one or more network functions;
store the network function registration information;
receive a request to communicate with a peer from a network function, wherein the network function previously sent registration information;
determine an appropriate peer for the network function based on the registration information of the network function; and
send appropriate peer communication information to the network function.
17. An apparatus according to claim 16 wherein the network function registration information indicates whether the network function is built solely as a web client, built solely as a web server, or built as both a web client and a web server.
18. An apparatus according to any one of claims 16 to 17 wherein the determining is based on a decision matrix.
19. A computer program product comprising at least one non-transitory computer- readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions configured, upon execution, to:
receive a network function functional message from a network function;
generate a network function functional message response;
determine whether the network function sending the network function functional message is built solely as a web client;
in an instance in which the network function sending the network function functional message is built solely as a web client, map the network function functional message response to a Hyper Text Transfer Protocol response;
in an instance in which the network function sending the network function functional message is not built solely as a web client; determine whether the network function sending the network function functional message is built solely as a web server;
in an instance in which the network function sending the network function functional message is built solely as a web server; map the network function functional message response to a create -read-update -delete based Hyper Text Transfer Protocol request; and in an instance in which the network function sending the network function functional message is neither built solely as a web client nor built solely as a web server, map the network function functional message response to one or more of a Hyper Text Transfer Protocol response or a Hyper Text Transfer Protocol request.
20. A computer program product according to claim 19 wherein the network function functional message corresponds to a defined standard functional message of a fifth generation network.
21. A computer program product according to any one of claims 19 to 20 wherein the mapping comprises mapping one or more of Hyper Text Transfer Protocol operation types, verbs, or requests and responses, and wherein the mapping is performed by an underlaying socket layer.
22. A computer program product comprising at least one non-transitory computer- readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions configured, upon execution, to:
receive registration information from one or more network functions;
store the network function registration information;
receive a request to communicate with a peer from a network function, wherein the network function previously sent registration information;
determine an appropriate peer for the network function based on the registration information of the network function; and
send appropriate peer communication information to the network function.
23. A computer program product according to claim 22 wherein the network function registration information indicates whether the network function is built solely as a web client, built solely as a web server, or built as both a web client and a web server.
24. A computer program product according to any one of claims 22 to 23 wherein the determining is based on a decision matrix.
PCT/IB2019/056813 2018-08-10 2019-08-09 Method and apparatus for network function selection scheme in service based architecture of communication network WO2020031157A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862717406P 2018-08-10 2018-08-10
US62/717,406 2018-08-10

Publications (1)

Publication Number Publication Date
WO2020031157A1 true WO2020031157A1 (en) 2020-02-13

Family

ID=68084882

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2019/056813 WO2020031157A1 (en) 2018-08-10 2019-08-09 Method and apparatus for network function selection scheme in service based architecture of communication network

Country Status (1)

Country Link
WO (1) WO2020031157A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022078214A1 (en) * 2020-10-16 2022-04-21 中兴通讯股份有限公司 Subscription data update method and apparatus, node, and storage medium
CN115001897A (en) * 2022-06-30 2022-09-02 阿波罗智能技术(北京)有限公司 Communication method and device, electronic equipment and automatic driving vehicle

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1696633A1 (en) * 2005-02-28 2006-08-30 Alcatel Bidirectional SOAP communication by means of a single HTTP session
US7493371B1 (en) * 2004-03-31 2009-02-17 Network Appliance, Inc. Using a client-server connection protocol to establish a peer-to-peer connection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493371B1 (en) * 2004-03-31 2009-02-17 Network Appliance, Inc. Using a client-server connection protocol to establish a peer-to-peer connection
EP1696633A1 (en) * 2005-02-28 2006-08-30 Alcatel Bidirectional SOAP communication by means of a single HTTP session

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NOKIA ET AL: "SBA protocol ? Support of Notifications with HTTP", vol. CT WG3, no. Krakow, Poland; 20170821 - 20170825, 28 August 2017 (2017-08-28), XP051327545, Retrieved from the Internet <URL:http://www.3gpp.org/ftp/tsg_ct/WG3_interworking_ex-CN3/TSGC3_91_Krakow/Docs/> [retrieved on 20170828] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022078214A1 (en) * 2020-10-16 2022-04-21 中兴通讯股份有限公司 Subscription data update method and apparatus, node, and storage medium
CN115001897A (en) * 2022-06-30 2022-09-02 阿波罗智能技术(北京)有限公司 Communication method and device, electronic equipment and automatic driving vehicle
CN115001897B (en) * 2022-06-30 2024-03-15 阿波罗智能技术(北京)有限公司 Communication method and device, electronic equipment and automatic driving vehicle

Similar Documents

Publication Publication Date Title
US9071572B2 (en) Method, apparatus and system for addressing resources
JP6232126B2 (en) Method and apparatus for resource virtualization using virtualization broker and context information
US8463915B1 (en) Method for reducing DNS resolution delay
US9015284B2 (en) Method, apparatus and system for addressing resources
US8683545B2 (en) Federating policies from multiple policy providers
US7836164B2 (en) Extensible network discovery subsystem
US20200059353A1 (en) Data fetching in data exchange networks
US20110222442A1 (en) Routing requests for duplex applications
US20140025742A1 (en) Method, apparatus and system for use in a web service
US20200252259A1 (en) Method and apparatus in a web service system
CN111786998A (en) Authority management method and device based on micro-service calling and storage medium
EP2633667A2 (en) System and method for on the fly protocol conversion in obtaining policy enforcement information
US20210051573A1 (en) Inclusion of a message proxy in a service based architecture
WO2020031158A1 (en) Method and apparatus for providing service path vectors in service based architecture of communication network
US20160241649A1 (en) Directory service discovery and/or learning
US10609155B2 (en) Scalable self-healing architecture for client-server operations in transient connectivity conditions
WO2020031157A1 (en) Method and apparatus for network function selection scheme in service based architecture of communication network
WO2011087584A2 (en) Fault tolerant and scalable load distribution of resources
JP6417046B2 (en) Technology that translates network resource requirements into zero rating network requirements
US11012506B2 (en) Node and cluster management on distributed self-governed ecosystem
US20200366718A1 (en) Security information exchange between a client and a server
Jo et al. IoTivity-lite: Comprehensive IoT solution in a constrained memory device
WO2018132557A1 (en) Dynamic protocol switching
US10849179B1 (en) Mobile network tool
van der Westhuizen et al. A framework for provisioning restful services on mobile devices

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19779566

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19779566

Country of ref document: EP

Kind code of ref document: A1