The subject matter described herein relates to providing for reliable message transport in communications networks. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for reliable SBI message transport using zero event notification messages.
In 5G telecommunications networks, a network function that provides service is referred to as a producer network function (NF) or NF service producer. A network function that consumes services is referred to as a consumer NF or NF service consumer. A network function can be a producer NF, a consumer NF, or both, depending on whether the network function is consuming, producing, or consuming and producing services. The terms “producer NF” and “NF service producer” are used interchangeably herein. Similarly, the terms “consumer NF” and “NF service consumer” are used interchangeably herein.
A given producer NF may have many service endpoints, where a service endpoint is the point of contact for one or more NF instances hosted by the producer NF. The service endpoint is identified by a combination of Internet protocol (IP) address and port number or a fully qualified domain name that resolves to an IP address and port number on a network node that hosts a producer NF. An NF instance is an instance of a producer NF that provides a service. A given producer NF may include more than one NF instance. It should also be noted that multiple NF instances can share the same service endpoint.
Producer NFs register with a network function repository function (NRF). The NRF maintains service profiles of available NF instances identifying the services supported by each NF instance. The terms “service profiles” and “NF profiles” are used interchangeably herein. Consumer NFs can subscribe to receive information about producer NF instances that have registered with the NRF.
In addition to consumer NFs, another type of network node that can subscribe to receive information about NF service instances is a service communications proxy (SCP). The SCP subscribes with the NRF and obtains reachability and service profile information regarding producer NF service instances. Consumer NFs connect to the service communications proxy, and the service communications proxy load balances traffic among producer NF service instances that provide the required services or directly routes the traffic to the destination producer NF instances.
In addition to the SCP, another example of an intermediate proxy node that routes traffic between producer and consumer NFs is the security edge protection proxy (SEPP). The SEPP is the network node used to protect control plane traffic that is exchanged between different 5G public land mobile networks (PLMNs). As such, the SEPP performs message filtering, policing and topology hiding for all application programming interface (API) messages that are transmitted between PLMNs.
One problem in 5G communications networks is that subscription related messaging that takes place on the SBI interface can be unreliable. The SBI interface is an HTTP interface used to communicate messages between 5G NFs. One type of communications that occurs over the SBI interface is subscribe/notify communications. In a typical subscribe/notify communications procedure, a consumer NF requests creation of a subscription with the producer NF. If the producer NF accepts the subscription, the producer NF responds to the consumer NF indicating that the subscription has been created. When the condition that triggers a notification associated with the subscription occurs, the producer NF transmits a notification message to the consumer NF over the SBI interface.
The notification message transmitted over the SBI interface includes a callback uniform resource identifier (URI) that is supposed to identify the sending consumer NF. If the callback URI provided in the subscription request message is incorrect or if there is a transport failure between the consumer NF and the producer NF, the producer NF will be unable to transmit notification messages successfully to the consumer NF. If the notification is not successful, excessive delay in processing may result because the consumer NF is required to discover the failure, recreate the subscription with the producer NF, and subsequently receive the notifications.
In light of these and other difficulties, there exists a need for methods, systems, and computer readable media for providing improved reliability for subscription-related messages transmitted over the SBI interface.
A method for providing for reliable service based interface (SBI) message transport using zero event notifications includes, at a consumer NF, sending an SBI message to a producer NF indicating an intent to use zero event notification messaging. The method further includes, at the producer NF, receiving the SBI message indicating the intent to use zero event notification messaging, and, transmitting a zero event notification request message to the consumer NF using a callback uniform resource identifier (URI) from the SBI message to confirm the method further includes, at the consumer NF, receiving the zero event notification request message and, in response, sending a zero event notification response message to the producer NF. The method further includes, at the producer NF, receiving the zero event notification response message, and, in response, continuing SBI subscription messaging with the consumer NF.
According to another aspect of the subject matter described herein, sending the SBI message indicating an intent to use zero event notification messaging includes transmitting a hypertext transfer protocol (HTTP) message to the producer NF and including a parameter in a header of the HTTP message that indicates the intent to use zero event notification messaging and a timing as to when to use the zero event notification messaging.
According to another aspect of the subject matter described herein, the HTTP header indicates that the zero event notification messaging will be during or after subscription creation.
According to another aspect of the subject matter described herein, transmitting the zero event notification request message includes transmitting the zero event notification request message as a part of creation of a subscription.
According to another aspect of the subject matter described herein, transmitting the zero event notification request message as part of creation of a subscription includes transmitting the zero event notification request message after receiving a subscription request from the consumer NF and wherein continuing the SBI subscription messaging with the consumer NF includes transmitting a subscription response to the consumer NF indicating successful creation of a subscription.
According to another aspect of the subject matter described herein, transmitting the zero event notification request message includes transmitting the zero event notification request message after creation of a subscription.
According to another aspect of the subject matter described herein, transmitting the zero event notification request message after creation of a subscription includes transmitting the zero event notification request message after transmitting a subscription response message to the consumer NF indicating successful creation of the subscription.
According to another aspect of the subject matter described herein, transmitting the zero event notification request message includes transmitting the zero event notification request message as part of updating a subscription.
According to another aspect of the subject matter described herein, transmitting the zero event notification request message includes transmitting the zero event notification request message after updating a subscription.
According to another aspect of the subject matter described herein, the zero event notification request message comprises a dummy event notification message that does not correspond to a subscription event.
According to another aspect of the subject matter described herein, a system for providing for reliable service based interface (SBI) message transport using zero event notifications is provided. The system includes a consumer NF including at least one processor and a memory for sending an SBI message indicating an intent to use zero event notification messaging. The system further includes a producer NF including at least one processor and a memory for receiving the SBI message indicating the intent to use zero event notification messaging, and, in response, for transmitting a zero event notification request message to the consumer NF using a callback uniform resource identifier (URI) from the SBI message to confirm the callback URI and connectivity from the producer NF to the consumer NF. The consumer NF is configured to receive the zero event notification request message and, in response, send a zero event notification response message to the producer NF. The producer NF is configured to receive the zero event notification response message, and, in response, continue with SBI subscription messaging with the consumer NF.
According to another aspect of the subject matter described herein, the consumer NF is configured to send the SBI message indicating an intent to use zero event notification messaging by transmitting a hypertext transfer protocol (HTTP) message to the producer NF and including a parameter in a header of the HTTP message that indicates the intent to use zero event notification messaging and a timing as to when to use the zero event notification messaging.
According to another aspect of the subject matter described herein, the HTTP header indicates that the zero event notification messaging will be during or after subscription creation.
According to another aspect of the subject matter described herein, the producer NF is configured to transmit the zero event notification request message as a part of creation of a subscription.
According to another aspect of the subject matter described herein, the producer NF is configured to transmit the zero event notification request message after receiving a subscription request from the consumer NF and to continue the SBI subscription messaging with the consumer NF by transmitting a subscription response to the consumer NF indicating successful creation of a subscription.
According to another aspect of the subject matter described herein, the producer NF is configured to transmit the zero event notification request message after transmitting a subscription response message to the consumer NF indicating successful creation of the subscription.
According to another aspect of the subject matter described herein, the producer NF is configured to transmit the zero event notification request message as part of updating a subscription.
According to another aspect of the subject matter described herein, the producer NF is configured to transmit the zero event notification request message after updating a subscription.
According to another aspect of the subject matter described herein, a non-transitory computer readable medium having stored thereon executable instructions that when executed by a processor of a computer control the computer to perform steps comprising is provided. The steps include, at a consumer network function (NF), sending a service based interface (SBI) message to a producer NF indicating an intent to use zero event notification messaging. The steps further include, at the producer NF, receiving the SBI message indicating the intent to use zero event notification messaging, and, transmitting a zero event notification request message to the consumer NF using a callback uniform resource identifier (URI) from the SBI message to confirm the callback URI and connectivity from the producer NF to the consumer NF. The steps further include, at the consumer NF, receiving the zero event notification request message and, in response, sending a zero event notification response message to the producer NF. The steps further include, at the producer NF, receiving the zero event notification response message, and, in response, continuing SBI subscription messaging with the consumer NF.
The subject matter described herein can be implemented in software in combination with hardware and/or firmware. For example, the subject matter described herein can be implemented in software executed by a processor. In one exemplary implementation, the subject matter described herein can be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
NRF 100 is a repository for NF or service profiles of producer NF instances. In order to communicate with a producer NF instance, a consumer NF or an SCP must obtain the NF or service profile of the producer NF instance from NRF 100. The NF or service profile is a JavaScript object notation (JSON) data structure defined in 3GPP TS 29.510. The NF or service profile definition includes at least one of a fully qualified domain name (FQDN), an Internet protocol (IP) version 4 (IPv4) address or an IP version 6 (IPv6) address.
In
The NFs illustrated in
A network slice selection function (NSSF) 116 provides network slicing services for devices seeking to access specific network capabilities and characteristics associated with a network slice. A network exposure function (NEF) 118 provides application programming interfaces (APIs) for application functions seeking to obtain information about Internet of things (IoT) devices and other UEs attached to the network. NEF 118 performs similar functions to the service capability exposure function (SCEF) in 4G networks.
A radio access network (RAN) 120 connects user equipment (UE) 114 to the network via a wireless link. Radio access network 120 may be accessed using a g-Node B (gNB) (not shown in
SEPP 126 filters incoming traffic from another PLMN and performs topology hiding for traffic exiting the home PLMN. SEPP 126 may communicate with an SEPP in a foreign PLMN which manages security for the foreign PLMN. Thus, traffic between NFs in different PLMNs may traverse two SEPP functions, one for the home PLMN and the other for the foreign PLMN.
As described above, one problem with the 3GPP network architecture for 5G networks is that notifications from a producer NF to a consumer NF relating to an existing a subscription may fail due to a number of reasons, including an invalid callback URI in a subscription request message, a transport failure between the consumer NF and the producer NF, firewall misconfigurations, etc. It is desirable to identify such errors rapidly so that notification messages can be delivered with increased reliability. Identifying invalid callback URIs and lack of connectivity from a producer NF to a consumer NF should be performed using a mechanism that is easy to implement at the NF service consumer and the NF service producer and that results in rapid error identification so that appropriate corrective action can be taken.
One problem with the subscription procedure illustrated in
In light of these difficulties, the subject matter described herein includes a procedure for zero event notification where NF service producer 202 sends a zero event notification request message to NF service consumer 200 to confirm the availability of NF service consumer 200 to receive a notification message relating to a subscription, and NF service consumer 200, in response to the zero event notification request message, transmits a zero event notification response message to NF service producer 202. As used herein, the term “zero event notification request message” refers to a dummy notification request message that is not triggered by a notification event and is used by the NF service producer to verify that the callback URI in a subscription request is valid and that connectivity with the consumer NF is available. The term “zero event notification response message” refers to a dummy notification response message that confirms receipt of the zero event notification request message.
In line 2 of the message flow diagram, NF service producer 202 sends a zero event notification request message using the callback URI from the subscription request and sends the message to NF service consumer 200 to verify the callback URI and connectivity from NF service producer 202 to the NF service consumer 202. If the zero event notification request message is successfully received, control proceeds to line 3a where NF service consumer 200 sends a zero event notification response message to NF service producer 202 indicating successful receipt of the zero event notification request message. Control then proceeds to line 4a where NF service consumer 202 sends a subscription response message to NF service consumer 200 indicating successful creation of the subscription. Thus, lines 1, 2a, 3a, and 4a of
Referring to step 2B in
In an alternate implementation, the zero event notification procedure may be used to confirm the callback URI and connectivity with the NF service consumer to receive notification messages after creation of a new subscription. This scenario is illustrated in
Referring to step 4b in
In an alternate implementation of the subject matter described herein, the zero event notification procedure may be implemented as part of a subscription update. Such an implementation is illustrated in
Referring to step 2B in
Referring to line 3b in
In an alternate implementation of the subject matter described herein, the zero event notification procedure may be performed after a subscription update. This implementation is illustrated in
Returning to step 3 in
Producer NF 202 includes producer side zero event notification manager 806. Producer side zero event notification manager 806 performs producer side zero event notification processing. Such processing or operations include processing the header parameter received from NF service consumer 200 indicating the intent to participate in the zero event notification procedure and implementing the zero event notification procedure at the requested time, e.g., as part of subscription creation, after subscription creation, as part of subscription updating, or after subscription updating. Producer side zero event notification manager 806 may also generate zero event notification request messages and process zero event notification response messages to implement the scenarios illustrated in
In step 902, the process includes, at the producer NF, receiving the SBI message indicating the intent to use zero event notification messaging and transmitting a zero event notification request message to the consumer NF using the callback URI in the zero event notification request message to verify the callback URI and connectivity from the producer NF to the consumer NF. For example, an NF service producer, such as producer NF 202 may generate a zero event notification request message and send the message to NF service consumer 200 at the timing specified by the parameter in the SBI message.
In step 904, the process includes, at the NF service consumer, receiving the zero event notification request message and, in, response, sending a zero event notification response message to the producer NF. For example, consumer NF 200 may send a zero event notification response message to producer NF 202 indicating successful receipt of the zero event notification request message
In step 906, the process includes, at the producer NF, receiving the zero event notification response message and, in response, continuing SBI subscription messaging with the consumer NF. For example, NF service producer 202 may continue creation of a subscription if the zero event notification message exchange occurs as part of the subscription creation process. If the zero event notification message exchange occurs after the subscription creation process, NF service producer 202 may start or continue to send notifications to NF service consumer 200 when a triggering event associated with the subscription occurs. If the zero event notification message exchange is implemented during the subscription update process, NF service producer 202 may continue the subscription update messaging by sending a successful subscription update response message to NF service consumer 200. If the zero event notification message exchange is implemented after the subscription update process, NF service producer 202 may start or continue to send notifications to NF service consumer 200 using the updated subscription information.
Advantages of the subject matter described herein include increased reliability of communications on the SBI interface for subscription related messaging. The zero event notification procedure may be applicable to both intra- and inter-PLMN messages. The zero event notification procedure may be implemented between any pair of consumer and producer NFs to increase reliability of subscribe/notify communications. Examples of producer and consumer NFs that may implement the subject matter described herein include the NRF, the PCF, the binding support function (BSF), the NSSF, the user data repository (URD), the UDM, and the NEF.
The disclosure of each of the following references is hereby incorporated herein by reference in its entirety.
It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter.