The present disclosure generally relates to the technical field of telecommunication, and particularly to methods and Network Function (NF) nodes for processing a service request in a network comprising a set of NF nodes, and a corresponding computer readable medium.
This section is intended to provide a background to the various embodiments of the technology described in this disclosure. The description in this section may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and/or claims of this disclosure and is not admitted to be prior art by the mere inclusion in this section.
In Fifth Generation (5G) networks, a Network Slice is introduced as a logical network that provides specific network capabilities and network characteristics. An instance of a network slice (e.g. a network slice instance (NSI)) is a set of Network Function (NF) instances and the required resources (e.g., computing, storage, and networking resources) which form a deployed Network Slice. An NF is a third generation partnership project (3GPP) adopted or 3GPP defined processing function in a network, which has defined functional behavior and 3GPP defined interfaces. An NF can be implemented either as a network element on dedicated hardware, a software instance running on a dedicated hardware, or as a virtualized function instantiated on an appropriate platform, e.g., on a cloud infrastructure.
Among the NFs, a Service Communication Proxy (SCP) is defined, which provides centralized capabilities such as Service Based Interface (SBI) routing, NF discovery and selection, failover, message screening, etc. An SCP is used in indirect routing scenarios and one of the options to deploy SCP is model D, as described in 3GPP technical standard (TS) 23.501 (see, for example, annex E of 3GPP TS 23.501).
As per the service definition in 3GPP 23.501, Model D can be defined as—indirect communication with delegated discovery. That is, NF service consumers do not do (perform) any discovery or selection. The consumer adds any necessary discovery and selection parameters required to find a suitable producer to a service request. The SCP uses a request address and the discovery and selection parameters in a request message to route the request to a suitable producer instance. The SCP can perform discovery with a Network Repository Function (NRF) and obtain a discovery result.
In this model, the SCP discovers the target NF service producer. As per the service definition in 3GPP 23.501, if indirect communication with delegated discovery is used, the NF service consumer sends the request to the SCP and provides, within the service request to the SCP, the discovery and selection parameters necessary to discover and select an NF service producer.
Moreover, it is indicated in 3GPP TS 29.501 that an Application Program Interface (API) version is part of a resource Uniform Resource Identifier (URI). Clause 4.3.1.3 of 3GPP TS 29.501 relates to the visibility of the API version number fields. The API version can be indicated in the resource URI of every API, as described in clause 4.4.1 of 3GPP TS 29.501. The API version can be indicated as the concatenation of the letter “v” and the 1st field of the API version number. The other fields may not be included in the resource URI. Including these digits in the URI can force the NF service consumer to select a specific sub-version, at the risk of seeing the request rejected if the NF service provider does not support it, while the request may have been served by ignoring unknown elements.
Clause 4.4.1 of 3GPP TS 29.501 relates to a resource URI structure. Resources are either individual resources, or structured resources that can contain child resources. It is commonly recommended to design each resource following one of the archetypes provided in Annex C of 3GPP TS 29.501. A URI uniquely identifies a resource. In the 5G core (5GC) SBI APIs, when a resource URI is an absolute URI, its structure shall be specified as follows:
“apiName” defines the name of the API and “apiVersion” indicates the 1st Field (MAJOR) of the version of the API (see, for example, clause 4.3.1.33 and 4.4.1 of 3GPP TS 29.501. In clause 4.3.1.1 of 3GPP TS 29.501, an API version number format is also indicated. API version numbers can consist of at least 3 fields, following a MAJOR.MINOR.PATCH pattern (for example, according to the Semantic Versioning Specification).
Two versions that differ in the major field or even in the minor field can have backward incompatible changes.
There is an issue when there are NFs deployed with different versions that are non-backward-compatible (NBC) or where there are NFs deployed with NBC versions among them. Even though NBC versions are usually minimized, it will be common that, for each API, NBC versions arise. There are already some cases such as, for example, a Policy Control Function ( ) API.
With indirect communication with delegated discovery (model D), an NF service consumer does not perform NRF discovery to get (acquire) the profiles of NF service producers. Instead, this discovery is delegated to the SCP. When the NF service consumer receives an error response from the SCP for a service request, it does not know the failure reason, and thus cannot retry a service request by addressing the failure.
At least some objects of the present disclosure are to provide technical solutions capable of allowing NF service consumers to be aware of available API versions for a service request and retry a service request if it supports multiple NF service producer NBC API versions.
According to a first aspect of the present disclosure, there is provided a method performed at a first network function (NF) node for requesting a service with a service communication proxy (SCP). The method comprises selecting an API version for the service based on information on API versions for the service obtained by using a bootstrapping service and stored in the first NF node; constructing a request for the service using the selected API version; and transmitting the request to the SCP.
In an exemplary embodiment, the method may further comprise transmitting a bootstrapping request to a network repository function (NRF) for bootstrapping information which comprises information on services and API versions supported by the services; in response to transmitting the bootstrapping request, receiving from the NRF the bootstrapping information; and storing the information on services and API versions supported by the services.
In an exemplary embodiment, the bootstrapping request may be a dedicated bootstrapping request for obtaining the information on services and API versions supported by the services.
In an exemplary embodiment, the information on services and API versions supported by the services may further comprise information on NF nodes that support the API versions of the services.
In an exemplary embodiment, the services and API versions supported by the services may be global services and API versions supported by the services.
In an exemplary embodiment, the method may further comprise receiving, from the SCP, a response indicating an error; in response to the receiving of the response, reselecting a different API version for the service based on the information on API versions for the service; constructing a different request for the service using the reselected API version; and transmitting the different request to the SCP.
In an exemplary embodiment, transmitting the bootstrapping request to the NRF for bootstrapping information may be performed at a power-on event at the first NF node, regularly, or in response to receiving a response indicating an error from the SCP.
According to a second aspect of the present disclosure, there is provided a method performed at an NRF. The method comprises receiving a bootstrapping request from a first NF node for bootstrapping information which comprises information on services and API versions supported by the services; and in response to receiving the bootstrapping request, transmitting to the first NF node the bootstrapping information.
In an exemplary embodiment, the bootstrapping request may be a dedicated bootstrapping request for obtaining the information on services and API versions supported by the services
In an exemplary embodiment, the information on services and API versions supported by the services may further comprise information on NF nodes that support the API versions of the services.
In an exemplary embodiment, the method may further comprise, in response to receiving the bootstrapping request, collecting global services and API versions supported by the services from at least another NRF.
According to a third aspect of the present disclosure, there is provided a method performed at an SCP. The method comprises receiving a request for a service from a first NF node; extracting an API version from a Resource URI in the request; transmitting to an NRF an NF discovery request for discovering a second NF node that provides the service without a limitation on the API version; and filtering a second NF node that provides the service of the extracted API version from an NF discovery response from the NRF using the extracted API version.
According to a fourth aspect of the present disclosure, a first NF node is provided. The first NF node comprises at least one processor configured to operate in accordance with the above-described first aspect. In some embodiments, the first NF node may comprise a communication interface arranged for communication. In some embodiments, the first NF node may comprise a memory comprising instructions which, when executed by the at least one processor, cause the first NF node to perform the above-described first aspect.
According to a fifth aspect of the present disclosure, an NRF is provided. The NRF comprises at least one processor configured to operate in accordance with the above-described second aspect. In some embodiments, the NRF may comprise a communication interface arranged for communication. In some embodiments, the NRF may comprise a memory comprising instructions which, when executed by the at least one processor, cause the NRF to perform the above-described second aspect.
According to a sixth aspect of the present disclosure, an SCP is provided. The SCP comprises at least one processor configured to operate in accordance with the above-described third aspect. In some embodiments, the SCP may comprise a communication interface arranged for communication. In some embodiments, the SCP may comprise a memory comprising instructions which, when executed by the at least one processor, cause the SCP to perform the above-described third aspect.
According to a seventh aspect of the present disclosure, there is provided a computer program comprising instructions which, when executed by at least one processor, cause the at least one processor to perform the method according to the above-described first aspect, second aspect, and/or third aspect.
According to an eighth aspect of the present disclosure, there is provided a carrier containing the computer program discussed above. In some embodiments, the carrier may be one of an electronic signal, optical signal, radio signal, or computer readable storage medium.
According to a ninth aspect of the present disclosure, there is provided a computer readable storage medium having computer program instructions stored thereon, the computer program instructions, when executed by at least one processor, causing the processor to perform the method according to the above-described first aspect, second aspect, and/or third aspect.
According to the above technical solutions of the present disclosure, the NF service consumer may have knowledge on available API versions, and select an appropriate API version in constructing the service request, thereby enhancing the possibility of successfully processing the service request. When the NF service consumer receives an error response from the SCP, it may select a different API version based on the knowledge on available API version. Therefore, there is provided herein a solution to support multiple NF service producer NBC API versions with indirect communication, e.g. with model D.
The objects, advantages and characteristics of the present disclosure will be more apparent, according to descriptions of preferred embodiments in connection with the drawings, in which:
It should be noted that throughout the drawings, same or similar reference numbers are used for indicating same or similar elements; various parts in the drawings are not drawn to scale, but only for an illustrative purpose, and thus should not be understood as any limitations and constraints on the scope of the present disclosure.
Hereinafter, the principle and spirit of the present disclosure will be described with reference to illustrative embodiments. Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings.
Other embodiments, however, are contained within the scope of the subject matter disclosed herein, the disclosed subject matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art. Additional information may also be found in references as follows:
References in this specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc. indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of the person skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of exemplary embodiments. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising”, “has”, “having”, “includes” and/or “including”, when used herein, specify the presence of stated features, elements, and/or components etc., but do not preclude the presence or addition of one or more other features, elements, components and/or combinations thereof.
In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.
The techniques described herein may be used for various wireless communication networks such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single Carrier-Frequency Division Multiple Access (SC-FDMA), Long Term Evolution (LTE), New Radio (NR) and other networks developed in the future. The terms “network” and “system” are sometimes used interchangeably. For illustration only, certain aspects of the techniques are described below for the 5th generation of wireless communication network. However, it will be appreciated by the person skilled in the art that the techniques described herein may also be used for other wireless networks such as LTE and corresponding radio technologies mentioned herein as well as wireless networks and radio technologies proposed in the future.
As used herein, the term “UE” may be, by way of example and not limitation, a User Equipment (UE), a SS (Subscriber Station), a Portable Subscriber Station (PSS), a Mobile Station (MS), a Mobile Terminal (MT) or an Access Terminal (AT). The UE may include, but is not limited to, mobile phones, cellular phones, smart phones, or personal digital assistants (PDAs), portable computers, image capture terminal devices such as digital cameras, gaming terminal devices, music storage and playback appliances, wearable terminal devices, vehicle-mounted wireless terminal devices and the like. In the following description, the terms “UE”, “terminal device”, “mobile terminal” and “user equipment” may be used interchangeably.
Seen from the access side, the 5G network architecture shown in
Reference point representations of the 5G network architecture are used to develop detailed call flows in the normative standardization. The N1 reference point is defined to carry signaling between the UE and the AMF. The reference points for connecting between the AN and the AMF and between the AN and the UPF, are defined as N2 and N3, respectively. There is a reference point, N11, between the AMF and SMF, which implies that the SMF is at least partly controlled by the AMF. N4 is used by the SMF and the UPF so that the UPF can be set using the control signal generated by the SMF, and the UPF can report its state to the SMF. N9 is the reference point for the connection between different UPFs, and N14 is the reference point connecting between different AMFs, respectively. N15 and N7 are defined since the PCF applies policy to the AMF and the SMF, respectively. N12 is required for the AMF to perform authentication of the UE. N8 and N10 are defined because the subscription data of the UE is required for the AMF and the SMF.
The 5G core network aims at separating user plane and control plane. The user plane carries user traffic while the control plane carries signaling in the network. In
The core 5G network architecture is composed of modularized functions. For example, the AMF and the SMF are independent functions in the control plane. Separated the AMF and the SMF allow independent evolution and scaling. Other control plane functions like the PCF and the AUSF can be separated as shown in
Each NF interacts with another NF directly. It is possible to use intermediate functions to route messages from one NF to another NF. In the control plane, a set of interactions between two NFs is defined as service so that its reuse is possible. This service enables support for modularity. The user plane supports interactions such as forwarding operations between different UPFs.
Some properties of the NFs shown in
An NF may be implemented either as a network element on a dedicated hardware, as a software instance running on a generic hardware, or as a virtualized function instantiated on an appropriate platform, e.g., a cloud infrastructure. An SCP can be defined as a node that is configured to operate as an SCP between NF nodes, e.g. the first NF node (e.g. an NF service consumer node) referred to herein and any one or more second NF nodes (e.g. any one or more NF service producer nodes) referred to herein.
If an SCP is deployed, it can be used for indirect communication between NF service producers and NF service consumers. The SCP does not expose services itself.
If indirect communication with delegated discovery (“model D”) is used, the NF service consumer sends the service request to the SCP and provides, within the service request to the SCP, the discovery and selection parameters necessary to discover and select an NF service producer. Thus, in model D, the SCP is operable or configured to perform (or is responsible for performing) NF discovery. The discovery can be referred to as delegated discovery as it can be delegated to the SCP, e.g. by the NF service consumer. For example, in model D, the NF service consumer can send, to the SCP, one or more discovery parameters (or factors) required to find one or more (suitable) NF service producer nodes. The SCP may discover one or more NF service producer nodes (e.g. via an NRF or from its own cache) by using the received one or more discovery parameters.
There is an issue when there are NF service producers deployed with different versions that are non-backward-compatible (NBC) or where there are NFs deployed with NBC versions among them.
Version numbering defines so called minor and major version, e.g. 1.2.0, where 1 is the major version, and 2 is the minor one. A different major version can have NBC changes, but this may happen as well for minor versions.
In NRF discovery, it is possible to include a query parameter “preferred-supported-features”. This query parameter is defined in 3GPP TS 29.510 see Table 1 below, which corresponds to Table 6.2.3.2.3.1-1 of 3GPP TS 29.510).
However, the (discovery) results may include “non-preferred api versions”. If only “preferred-api-versions” are included in the (discovery) results, it can be indicated that the result includes the attribute “preferredSearch”, as described in clause 6.2.6.2.2 of 3GPP TS 29.510 (see Table 2 below, which corresponds to Table 6.2.6.2.2-1 of 3GPP TS 29.510).
Where PreferredSearch can be as follows (see Table 3 below, which corresponds to Table 6.2.6.2.6-1 of 3GPP TS 29.510):
Then, even with this information, a client is only able to know whether only preferred-api-versions are included in the NF service producer profiles provided, or if other non-preferred API-versions may be included as well. But it is up to NRF implementation in fact to provide NF service producer profiles with a non-preferred-apiversion.
With this information, if the client is an NF service consumer, unless it is indicated that only NF service producers with preferred-api-versions are provided, the NF service consumer needs to check the api-version in the NF service producer profiles to select the preferred api-version, among the ones provided. Then, the NF service consumer may encode a JavaScript Object Notation (JSON) body in the service request according to the version chosen.
With indirect communication with delegated discovery (model D), the NF service consumer does not perform NRF discovery to get the NF service producer profiles. Instead, this is delegated to the SCP. Some of the following description and figures describe the issues in this case.
There are some variants of existing behaviour, which depend on if a preferred-api-versions query parameter is used and if the NF service producer supports the major versions indicated by the resource URI.
The example shown in
When a service consumer entity, for example NFc110, requests the SCP 30 for a service, it may transmit a service request (i.e. a request for a service), e.g. “Nnfp_serv_v2_req”, to the SCP 30 in step S401 of
In step S402 of
In step S403 of
In step S404 of
In step S405 of
In the example illustrated in
The SCP 30 is unable to solve the situation, since the resource URI is constructed based on API-version v2. The SCP 30 cannot modify the resource URI. So, the SCP 30 may forward the error response to the NFc1 in step S407 of
NFc110 can thus receive the error response from the SCP 30, but has no knowledge of the information to retry. Accordingly, in step S408, NFc110 is unable to retry or to react upon this error by any means. In the example illustrated in
The example shown in
When a service consumer entity, for example NFc110, requests the SCP 30 for a service, it may transmit a service request (i.e. a request for a service), e.g. “Nnfp_serv_v2_req”, to the SCP 30 in step S501 of
In step S502 of
In step S503 of
In step S504 of
In step S505 of
In the example illustrated in
The SCP 30 can forward the successful service response to the NFc110, in step S507 of
Therefore, an issue is that, in some cases, the request may not be able to be executed. This depends on the NRF behaviour, which is unknown.
In 3GPP TS 29.510, the services offered by the NRF are defined that as follows:
As for the Nnrf_Bootstrapping service, it is defined in 3GPP TS 29.510 as follows:
As for “BootstrappingInfo”, i.e. the information returned by the NRF in a bootstrapping response message, it is defined in section 6.4.6.2 of 3GPP TS 29.510 as follows (wherein Table 4 corresponds to Table 6.4.6.2.2-1 in section 6.4.6.2.2 “Type: BootstrappingInfo” of 3GPP TS 29.510):
As shown in
In step S710 of
In step S720 of
In an exemplary embodiment of the present disclosure, the method 700 may further comprise steps S702 to S706 for obtaining the information on API versions for the service. In particular, in step S702 of
In the present disclosure, by introducing a new optional attribute (for example, nfServicesApiVersionsList) into definition of type BootstrappingInfo, the NF service consumer knows about (is aware of) the services API versions per service name supported by the NF service producers that register in the operator network, by using a version-independent URI endpoint that does not need to be discovered by using a discovery service. The NF service consumer can invoke Nnrf_Bootstrapping service to get (acquire) supported API versions for each NF service producer to facilitate the service request handling in Model D.
An example for the new attribute may be as follows, where the attribute name and other properties are given as just an example:
The new attribute can be included in Table 5 above, which corresponds to Table 6.4.6.2.2-1 “Definition of type BootstrappingInfo” of TS 29.510. For simplicity, not all relevant attributes in Table 6.4.6.2.2-1 of TS 29.510 are listed above.
In an exemplary embodiment of the present disclosure, the bootstrapping operation may be reused. The bootstrapping information that is returned by the NRF in the bootstrapping response message may be extended to include the information on services and API versions supported by the services. In the embodiment, by invoking the bootstrapping operation, the NF service consumer can obtain, from the NRF, not only the information on the NRF, but also the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, a dedicated bootstrapping operation may be defined, where the NF service consumer may invoke the dedicated bootstrapping operation, for example an “Nnrf_Bootstrapping_GetNFAPI” (just for example). The NRF may return, in the bootstrapping response message, only the information on services and API versions supported by the services. In the embodiment, the bootstrapping request may be a dedicated bootstrapping request for obtaining the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may further comprise information on NF nodes that support the API versions of the services. That is, the bootstrapping information that is returned by NRF may comprise not only the service name, API versions supported by the NF services, and also the NF service producers that supported the API versions.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may be global services and API versions supported by the services. The NRF from which the first NF node gets (acquires) the information on services and API versions and the NRF to which the SCP register may be different, and thus the services and API versions can be global. In the embodiment, the NRF that receives the bootstrapping request from the first NF node may be capable of collecting global services and API versions supported by the services from at least another NRF, and return the global services and API versions supported by the services to the first NF node.
The SCP that receives the request for the service from the first NF node may then search for a second NF node that provides the service of the selected API version. This SCP may transmit the service request to the second NF node to process the service request. Thus, the second NF node can receive the service request from the SCP. In response, the SCP may receive a response from the second NF node. Thus, the second NF node can transmit the response to the SCP. This response may be transmitted (by the SCP) to the first NF node. Thus, the first NF node can receive this response (from the SCP). In some cases, there may be no such second NF node that provides the service of the selected API version. For example, the second NF node that provides the service of the selected API version may not be available at the time.
In an exemplary embodiment of the present disclosure, the method 700 may further comprise step S740, in which the first NF node receives from the SCP a response indicating an error. In response to the receiving of the response, the first NF node may repeat steps S710 to S730 of
In an exemplary embodiment of the present disclosure, step S702 of
As shown in
In step S810 of
In the present disclosure, the bootstrapping information is extended to comprise information on services and API versions supported by the services. Accordingly, the first NF node that transmits the bootstrapping request may receive the information on services and API versions supported by the services from the NRF. Thus, the NRF can transmit this information to the first NF node.
In an exemplary embodiment of the present disclosure, the bootstrapping operation may be reused. The bootstrapping information that is returned by the NRF in the bootstrapping response message may be extended to include the information on services and API versions supported by the services. In the embodiment, by invoking the bootstrapping operation, the NF service consumer can obtain from the NRF, not only the information on the NRF, but also the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, a dedicated bootstrapping operation may be defined, where the NF service consumer invokes the dedicated bootstrapping operation, for example an “Nnrf_Bootstrapping_GetNFAPI” (just for example). The NRF may return, in the bootstrapping response message, only the information on services and API versions supported by the services. In the embodiment, the bootstrapping request may be a dedicated bootstrapping request for obtaining the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may further comprise information on NF nodes that support the API versions of the services. That is, the bootstrapping information that is returned by the NRF may comprise, not only the service name, API versions supported by the NF services, and also the NF service producers that supported the API versions.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may be global services and API versions supported by the services. The NRF from which the first NF node gets (acquires) the information on services and API versions and the NRF to which the SCP register may be different, and thus the services and API versions can be global. In the embodiment, the NRF that receives the bootstrapping request from the first NF node can be capable of collecting global services and API versions supported by the services from at least another NRF, and may return the global services and API versions supported by the services to the first NF node.
As shown in
In step S910 of
It will be understood that the sequence of the method may not be limited thereto according to some embodiments. For example, the SCP may transmit an NF discovery request to an NRF, and extract the API version at the same time or after the transmitting of the NF discovery request.
By filtering the second NF node using an extracted API version, the possibility of successfully processing the service request can be enhanced compared with the SCP randomly selecting an NF service producer from the NF discovery response from the NRF. Furthermore, if the first NF node constructs the service request with knowledge on the available API version, the possibility of successfully processing the service request can be further enhanced, since the filtered second NF node just supports the API version selected by the first NF node. Certainly, the extracted API version may only indicate a major version. Accordingly, there may be cases that the full API version selected by the first NF node in constructing the service request may be NBC with the full API version supported by the NF node selected by the SCP, since the minor versions of the two API versions may be different. The embodiment at least addresses the NBC problem between major versions.
The example shown in
In step S1010 of
In step S1020 of
In step S1030 of
In step S1040 of
The SCP 30 can extract a major API-version derived from resource URI. The SCP 30 can use the extracted major API version to do (perform) filtering of returned profiles. The SCP 30 can figure out valid profiles that support the major API-version. In this case, it can be NFp360 and NFp470. In step S1050 of
In step S1060 of
In the example, NFp360 is able to process the request. Accordingly, in step S1070 of
The SCP 30 may forward the successful service response to the NFc140 in step S1080 of
The example shown in
In step S1101 of
In step S1102 of
In step S1103 of
In step S1104 of
In step S1105 of
The SCP 30 is unable to solve the situation, since the resource URI is constructed based on API-version v2. The SCP 30 cannot modify the resource URI. So, the SCP 30 may forward an error response to the NFc140 in step S1106 of
NFc140, which receives the error response, knows (is aware) that the selected major API-version is not supported by the discovered NFps. In step S1107 of
In step S1108 of
In step S1109 of
In step S1110 of
The SCP 30 may extract a major API-version derived from resource URI. The SCP 30 may use the extracted major API version to do (perform) the filtering of returned profiles. The SCP 30 may figure out valid profiles that support the major API-version. In this case, it can be NFp140 and NFp250. In step S1111 of
In step S1112 of
In the example, NFp250 is able to process the request. Accordingly, in step S1113 of
The SCP 30 may forward the successful service response to the NFc140 in step S1114 of
Hereinafter, a structure of a first NF node will be described with reference to
As shown in
In an exemplary embodiment of the present disclosure, the selecting module 1206 of the first NF node 1200 may be configured to select an API version for the service based on information on API versions for the service obtained by using a bootstrapping service and stored in the first NF node. The constructing module 1208 of the first NF node 1200 may be configured to construct a request for the service using the selected API version. The transmitting module 1204 of the first NF node 1200 may be configured to transmit the request to the SCP.
In an exemplary embodiment of the present disclosure, the transmitting module 1204 of the first NF node 1200 may be configured to transmit a bootstrapping request to an NRF for bootstrapping information which comprises information on services and API versions supported by the services. In response to transmitting the bootstrapping request, the receiving module 1202 of the first NF node 1200 may be configured to receive from the NRF the bootstrapping information, and the storing module 1210 of the first NF node 1200 may be configured to store the information on services and API versions supported by the services.
In the present disclosure, by introducing a new optional attribute (for example, nfServicesApiVersionsList) into definition of type BootstrappingInfo, the NF service consumer knows about (is aware of) the services API versions per service name supported by the NF service producers that register in the operator network, by using a version-independent URI endpoint that does not need to be discovered by using a Discovery service. The first NF node 1200 invokes Nnrf_Bootstrapping service to get (acquire) supported API versions for each NF service producer to facilitate the service request handling in Model D.
In an exemplary embodiment of the present disclosure, the bootstrapping operation may be reused, and the bootstrapping information that is returned by NRF in the bootstrapping response message may be extended to include the information on services and API versions supported by the services. In the embodiment, by invoking the bootstrapping operation, the first NF node 1200 may obtain from the NRF not only the information on the NRF, but also the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, a dedicated bootstrapping operation may be defined, where the first NF node 1200 may invoke the dedicated bootstrapping operation, for example a Nnrf_Bootstrapping_GetNFAPI (just for example), and the NRF may return in the bootstrapping response message only the information on services and API versions supported by the services. In the embodiment, the bootstrapping request may be a dedicated bootstrapping request for obtaining the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may further comprise information on NF nodes that support the API versions of the services. That is, the bootstrapping information that is returned by NRF may comprise not only the service name, API versions supported by the NF services, and also the NF service producers that supported the API versions.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may be global services and API versions supported by the services. The NRF from which the first NF node may get (acquire) the information on services and API versions and the NRF to which the SCP register may be different, and thus the services and API versions can be global. In the embodiment, the NRF that receives the bootstrapping request from the first NF node can be capable of collecting global services and API versions supported by the services from at least another NRF, and may return the global services and API versions supported by the services to the first NF node.
The SCP that receives the request for the service from the first NF node 1200 may then search for a second NF node that provides the service of the selected API version, and transmit the service request to the second NF node to process the service request, and in response receive a response from the second NF node, which response will be transmitted to the first NF node 1200. In some cases, there may be no such second NF node that provides the service of the selected API version. For example, the second NF node that provides the service of the selected API version may not be available at the time.
In an exemplary embodiment of the present disclosure, the receiving module 1202 of the first NF node 1200 may be configured to receive from the SCP a response indicating an error. In response to the receiving of the response, the selecting module 1206 of the first NF node 1200 may be configured to reselect a different API version for the service based on the information on API versions for the service. The constructing module 1208 of the first NF node 1200 may be configured to construct a different request for the service using the reselected API version, and the transmitting module 1204 of the first NF node 1200 may be configured to transmit the different request to the SCP. By changing the API version in constructing the service request, the possibility that the service request is successfully processed is enhanced.
In an exemplary embodiment of the present disclosure, the transmitting module 1204 of the first NF node may be configured to transmit a bootstrapping request to an NRF for bootstrapping information at a power-on event at the first NF node, regularly, or in response to receiving a response indicating an error from the SCP. When the first NF node 1200 is powered on, it may get (acquire) the information on services and API versions supported by the services for later use by invoking a bootstrapping service. The information may change over time. The first NF node 1200 may be configured to regularly invoke the bootstrapping service so as to update its stored information. Alternatively, the first NF node 1200 may be configured to invoke the bootstrapping service so as to update its stored information in response to receiving a response indicating an error from the SCP. When receiving a response indicating an error, there may be cases that the error occurs due to mismatching between the information stored in the first NF node and the real-time information. For example, an NF service producer may be updated to support a different API version. The first NF node 1200 may update its stored information by invoking the bootstrapping service.
Hereinafter, another structure of a first NF node 1300 will be described with reference to
As shown in
The instructions, when loaded from the memory 1305 and executed by the at least one processor 1303, may cause the first NF node 1300 to perform the method 700 for requesting a service as previously discussed.
In particular, in an exemplary embodiment of the present disclosure, the instructions, when loaded from the memory 1305 and executed by the at least one processor 1303, may cause the first NF node 1300 to select an API version for the service based on information on API versions for the service obtained by using a bootstrapping service and stored in the first NF node, construct a request for the service using the selected API version, and transmit the request to the SCP.
In an exemplary embodiment of the present disclosure, the instructions, when loaded from the memory 1305 and executed by the at least one processor 1303, may cause the first NF node 1300 to transmit a bootstrapping request to an NRF for bootstrapping information which comprises information on services and API versions supported by the services; in response to transmitting the bootstrapping request, to receive from the NRF the bootstrapping information, and then to store the information on services and API versions supported by the services.
In the present disclosure, by introducing a new optional attribute (for example, nfServicesApiVersionsList) into definition of type BootstrappingInfo, the NF service consumer knows about the services API versions per service name supported by the NF service producers that register in the operator network, by using a version-independent URI endpoint that does not need to be discovered by using a Discovery service. The first NF node 1300 invokes Nnrf_Bootstrapping service to get supported API versions for each NF service producer to facilitate the service request handling in Model D.
In an exemplary embodiment of the present disclosure, the bootstrapping operation may be reused, and the bootstrapping information that is returned by NRF in the bootstrapping response message may be extended to include the information on services and API versions supported by the services. In the embodiment, by invoking the bootstrapping operation, the first NF node 1300 may obtain from the NRF not only the information on the NRF, but also the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, a dedicated bootstrapping operation may be defined, where the first NF node 1300 may invoke the dedicated bootstrapping operation, for example a Nnrf_Bootstrapping_GetNFAPI (just for example), and the NRF may return in the bootstrapping response message only the information on services and API versions supported by the services. In the embodiment, the bootstrapping request may be a dedicated bootstrapping request for obtaining the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may further comprise information on NF nodes that support the API versions of the services. That is, the bootstrapping information that is returned by NRF may comprise not only the service name, API versions supported by the NF services, and also the NF service producers that supported the API versions.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may be global services and API versions supported by the services. The NRF from which the first NF node gets (acquires) the information on services and API versions and the NRF to which the SCP is registered may be different, and thus the services and API versions can be global. In the embodiment, the NRF that receives the bootstrapping request from the first NF node can be capable of collecting global services and API versions supported by the services from at least another NRF, and may return the global services and API versions supported by the services to the first NF node.
The SCP that receives the request for the service from the first NF node1300 may then search for a second NF node that provides the service of the selected API version, transmit the service request to the second NF node to process the service request, and in response receive a response from the second NF node, which response will be transmitted to the first NF node 1300. In some cases, there may be no such second NF node that provides the service of the selected API version. For example, the second NF node that provides the service of the selected API version may not available at the time.
In an exemplary embodiment of the present disclosure, the instructions, when loaded from the memory 1305 and executed by the at least one processor 1303, may cause the first NF node 1300 to receive from the SCP a response indicating an error, in response to the receiving of the response, to reselect a different API version for the service based on the information on API versions for the service; to construct a different request for the service using the reselected API version, and to transmit the different request to the SCP. By changing the API version in constructing the service request, the possibility that the service request is successfully processed is enhanced.
In an exemplary embodiment of the present disclosure, the instructions, when loaded from the memory 1305 and executed by the at least one processor 1303, may cause the first NF node 1300 to transmit a bootstrapping request to an NRF for bootstrapping information at a power-on event at the first NF node, regularly, or in response to receiving a response indicating an error from the SCP. When the first NF node 1300 is powered on, it may get (acquire) the information on services and API versions supported by the services for later use by invoking a bootstrapping service. The information may change over time. The first NF node 1300 may be configured to regularly invoke the bootstrapping service so as to update its stored information. Alternatively, the first NF node 1300 may be configured to invoke the bootstrapping service so as to update its stored information in response to receiving a response indicating an error from the SCP. When receiving a response indicating an error, there may be cases that the error occurs due to mismatching between the information stored in the first NF node and the real-time information. For example, an NF service producer may be updated to support a different API version. The first NF node 1300 may update its stored information by invoking the bootstrapping service.
Hereinafter, a structure of an NRF will be described with reference to
As shown in
In an exemplary embodiment of the present disclosure, the receiving module 1402 of the NRF 1400 may be configured to receive a bootstrapping request from a first NF node for bootstrapping information. The processing module 1404 of the NRF 1400 may be configured to process the request and construct a response. The transmitting module 1406 of the NRF 1400 may be configured to transmit to the first NF node the bootstrapping information in the response.
In the present disclosure, the bootstrapping information is extended to comprise information on services and API versions supported by the services. Accordingly, the first NF node that transmits the bootstrapping request may receive the information on services and API versions supported by the services from the NRF 1400.
In an exemplary embodiment of the present disclosure, the bootstrapping operation may be reused, and the bootstrapping information that is returned by NRF in the bootstrapping response message may be extended to include the information on services and API versions supported by the services. In the embodiment, by invoking the bootstrapping operation, the NF service consumer may obtain from the NRF 1400 not only the information on the NRF, but also the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, a dedicated bootstrapping operation may be defined, where the NF service consumer may invoke the dedicated bootstrapping operation, for example a Nnrf_Bootstrapping_GetNFAPI (just for example), and the NRF may return in the bootstrapping response message only the information on services and API versions supported by the services. In the embodiment, the bootstrapping request may be a dedicated bootstrapping request for obtaining the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may further comprise information on NF nodes that support the API versions of the services. That is, the bootstrapping information that is returned by the NRF 1400 may comprise not only the service name, API versions supported by the NF services, and also the NF service producers that supported the API versions.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may be global services and API versions supported by the services. The NRF from which the first NF node gets (acquires) the information on services and API versions and the NRF to which the SCP register may be different, and thus the services and API versions can be global. In the embodiment, the processing module 1404 of the NRF 1400 that receives the bootstrapping request from the first NF node may be configured to collect global services and API versions supported by the services from at least another NRF, and the transmitting module 1406 of the NRF 1400 may be configured to transmit the global services and API versions supported by the services to the first NF node.
Hereinafter, another structure of an NRF 1500 will be described with reference to
As shown in
The instructions, when loaded from the memory 1505 and executed by the at least one processor 1503, may cause the NRF 1500 to perform the method 800 for processing a bootstrapping service request as previously discussed.
In particular, in an exemplary embodiment of the present disclosure, the instructions, when loaded from the memory 1505 and executed by the at least one processor 1503, may cause the NRF 1500 to receive a bootstrapping request from a first NF node for bootstrapping information, process the request and construct a response, and transmit to the first NF node the bootstrapping information in the response.
In the present disclosure, the bootstrapping information is extended to comprise information on services and API versions supported by the services. Accordingly, the first NF node that transmits the bootstrapping request may receive the information on services and API versions supported by the services from the NRF 1500.
In an exemplary embodiment of the present disclosure, the bootstrapping operation may be reused, and the bootstrapping information that is returned by NRF in the bootstrapping response message may be extended to include the information on services and API versions supported by the services. In the embodiment, by invoking the bootstrapping operation, the NF service consumer may obtain from the NRF 1500 not only the information on the NRF, but also the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, a dedicated bootstrapping operation may be defined, where the NF service consumer may invoke the dedicated bootstrapping operation, for example a Nnrf_Bootstrapping_GetNFAPI (just for example), and the NRF may return in the bootstrapping response message only the information on services and API versions supported by the services. In the embodiment, the bootstrapping request may be a dedicated bootstrapping request for obtaining the information on services and API versions supported by the services.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may further comprise information on NF nodes that support the API versions of the services. That is, the bootstrapping information that is returned by the NRF 1500 may comprise not only the service name, API versions supported by the NF services, and also the NF service producers that supported the API versions.
In an exemplary embodiment of the present disclosure, the information on services and API versions supported by the services may be global services and API versions supported by the services. The NRF from which the first NF node gets (acquires) the information on services and API versions and the NRF to which the SCP register may be different, and thus the services and API versions can be global. In the embodiment, the instructions, when loaded from the memory 1505 and executed by the at least one processor 1503, may cause the NRF 1500 to collect global services and API versions supported by the services from at least another NRF, and transmit the global services and API versions supported by the services to the first NF node.
Hereinafter, a structure of an SCP will be described with reference to
As shown in
In an exemplary embodiment of the present disclosure, the receiving module 1602 of the SCP 1600 may be configured to receive a request for a service from a first NF node. The processing module 1604 of the SCP 1600 may be configured to extract an API version from a Resource URI in the request. The transmitting module 1606 of the SCP 1600 may be configured to transmit to an NRF an NF discovery request for discovering a second NF node that provides the service without a limitation on the API version. The processing module 1604 of the SCP 1600 may be configured to filter a second NF node that provides the service of the extracted API version from an NF discovery response from the NRF using the extracted API version. The transmitting module 1606 of the SCP 1600 may be configured to transmit the service request to the second NF node to process the service request, and in response, the receiving module 1602 of the SCP 1600 may be configured to receive a response from the second NF node, which response will be transmitted to the first NF node by the transmitting module 1606.
By filtering the second NF node using an extracted API version, the possibility of successfully processing the service request is enhanced compared with the SCP randomly selecting an NF service producer from the NF discovery response from the NRF. Furthermore, if the first NF node constructs the service request with knowledge on the available API version, the possibility of successfully processing the service request is further enhanced, since the filtered second NF node just supports the API version selected by the first NF node. Certainly, the extracted API version may only indicate a major version. Accordingly, there may be cases that the full API version selected by the first NF node in constructing the service request may be NBC with the full API version supported by the NF node selected by the SCP, since the minor versions of the two API versions are different. The embodiment at least addresses the NBC problem between major versions.
Hereinafter, another structure of an SCP will be described with reference to
As shown in
The instructions, when loaded from the memory 1705 and executed by the at least one processor 1703, may cause the SCP 1700 to perform the method 900 for processing a service request described previously with reference to
In particular, in an exemplary embodiment of the present disclosure, the instructions, when loaded from the memory 1705 and executed by the at least one processor 1703, may cause the SCP 1700 to receive a request for a service from a first NF node; extract an API version from a Resource URI in the request; transmit to an NRF an NF discovery request for discovering a second NF node that provides the service without a limitation on the API version; and filter a second NF node that provides the service of the extracted API version from an NF discovery response from the NRF using the extracted API version.
In an exemplary embodiment of the present disclosure, the instructions, when loaded from the memory 1705 and executed by the at least one processor 1703, may cause the SCP 1700 to transmit the service request to the second NF node to process the service request, and in response, receive a response from the second NF node, which response will be transmitted to the first NF node.
By filtering the second NF node using an extracted API version, the possibility of successfully processing the service request is enhanced compared with the SCP randomly selecting an NF service producer from the NF discovery response from the NRF. Furthermore, if the first NF node constructs the service request with knowledge on the available API version, the possibility of successfully processing the service request is further enhanced, since the filtered second NF node just supports the API version selected by the first NF node. Certainly, the extracted API version may only indicate a major version. Accordingly, there may be cases that the full API version selected by the first NF node in constructing the service request may be NBC with the full API version supported by the NF node selected by the SCP since the minor versions of the two API versions are different. The embodiment at least addresses the NBC problem between major versions.
Other embodiments of the present disclosure are defined in the following numbered statements:
The foregoing description of implementations provides illustration and description, but is not intended to be exhaustive or to limit the disclosure to the precise form disclosed. Modifications and variations are possible in light of the above teachings, or may be acquired from practice of the disclosure.
Aspects of the disclosure may also be embodied as methods and/or computer program products. Accordingly, the disclosure may be embodied in hardware and/or in software (including firmware, resident software, microcode, etc.). Furthermore, the embodiments may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system. Such instruction execution system may be implemented in a standalone or distributed manner. The actual software code or specialized control hardware used to implement embodiments described herein is not limiting of the disclosure. Thus, the operation and behavior of the aspects were described without reference to the specific software code, it being understood that those skilled in the art will be able to design software and control hardware to implement the aspects based on the description herein.
Furthermore, certain portions of the disclosure may be implemented as “logic” that performs one or more functions. This logic may include hardware, such as an application specific integrated circuit or field programmable gate array or a combination of hardware and software.
It should be emphasized that the term “comprises/comprising” when used in this specification is taken to specify the presence of stated features, integers, steps, components or groups but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
No element, act, or instruction used in the disclosure should be construed as critical or essential to the disclosure unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
The foregoing description gives only the embodiments of the present disclosure and is not intended to limit the present disclosure in any way. Thus, any modification, substitution, improvement or like made within the spirit and principle of the present disclosure should be encompassed by the scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
PCT/CN2022/079944 | Mar 2022 | WO | international |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2023/055426 | 3/3/2023 | WO |