Network nodes and methods therein for network function discovery
Patent Information
- Application Number
- PCT/CN2026/084751
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-27
- Filing Date
- 2026-03-20
- Publication Date
- 2026-10-01
Smart Images

Figure CN2026084751_01102026_PF_FP_ABST
Abstract
Description
NETWORK NODES AND METHODS THEREIN FOR NETWORK FUNCTION DISCOVERYTECHNICAL FIELD
[0001] The present disclosure relates to communication technology, and more particularly, to network nodes and methods therein for Network Function (NF) discovery.BACKGROUND
[0002] As defined in clause 5.3.2.2 of the 3rd Generation Partnership Project (3GPP) Technical Specification (TS) 29.510, V19.2.0, which is incorporated herein by reference in its entirety, service operation NFDiscover of NFDiscovery service discovers a set of NF instances (and their associated NF service instances) , represented by their NF profiles, that are currently registered in a Network Repository Function (NRF) and satisfy a number of input query parameters.
[0003] Before a service consumer invokes this service operation, it shall consider if it is possible to reuse the results from a previous searching (service discovery) .
[0004] The service consumer should reuse the previous result if input query parameters in the new service discovery request are the same as used for the previous search and the validity period of the result is not expired.
[0005] The service consumer may consider reusing the previous result if the attributes as required for the new query consist of the query attributes from the previous query and additional query attributes. In such case, when the results of a previous query are reused, the service consumer need consider that the previous results will possibly include NF profiles that the new query would not; hence, the service consumer has to complete the filtering itself against the additional filter attributes in the new internal query.
[0006] Otherwise, if the query parameters in the new service discovery are different and don′t consist of the previous query attributes and additional ones (i.e., the new query parameters, in general, don′t have any relationship with those of the previous search) , the reuse of cached profiles may still be done.
[0007] In these two last cases (i.e., where the query parameters of the new query are not identical to the previous query) , re-using data from cached profiles may possibly yield to different results than if a new discovery was performed, and thus may be subject to the operator′s policy.SUMMARY
[0008] In clause 5.3.2.2.2 of TS 29.510 V19.2.0, the procedures of service discovery are defined, taking service discovery in the same Public Land Mobile Network (PLMN) as an example. For other scenarios, reference can be made to clauses 5.3.2.2.3 to 5.3.2.2.6.
[0009] Fig. 1 shows a service discovery procedure in the same PLMN. This service operation is executed by querying the "nf-instances" resource. The request is sent to an NRF in the same PLMN of the NF service consumer. As shown, at Step 1, the NF service consumer sends a Hypertext Transfer Protocol (HTTP) GET request to the resource Uniform Resource Identifier (URI) "nf-instances" collection resource. The input filter criteria for the discovery request is included in query parameters. At Step 2a, on success, "200 OK" is returned. The response body contains a validity period, during which the search result can be cached by the NF service consumer, and an array of NF profile objects, and / or a map of NFInstanceInfo objects of NF instances (if the NF service consumer indicated support of the Enh-NF-Discovery feature in the request) that satisfy the search filter criteria (e.g., all NF instances offering a certain NF service name in REGISTERED status, or empty array in case search filter criteria do not match a NF instance in REGISTERED status) . In the latter case, the response may include the noProfileMatchInfo attribute to provide the specific reason for not finding any NF instance that can match the search filter criteria.
[0010] Table 1 below shows different NF statuses.
[0011] Table 1: Enumeration NFStatus
[0012] Based on the current specification TS29.510, V19.2.0, the NF service consumer utilizes the Nnrf_NFDiscovery_NFDiscover service operation to discover target NF instances, and only NF instances in REGISTERED will be returned in the NF Discovery Response. The NF service consumer should also support to cache the NF discovery result and reuse it ifpossible within the validity period. Reusing cache can help reduce the NF discovery signaling towards the NRF.
[0013] The NF instances with NF status set to SUSPENDED or UNDISCOVERABLE will not be returned in the NF discovery response, and will not be stored into an NF discovery cache either.
[0014] According to TS 29.510, V19.2.0, when the NRF detects that a given NF has not updated its profile for a configurable amount of time (longer than the heart-beat interval) , the NRF changes the status of the NF to SUSPENDED. So, in a real network, it is possible that one NF instance is changed to SUSPENDED due to the HTTP link failure between the NF and NRF, or due to temporary node restart.
[0015] According to TS 29.510, V19.2.0, if the NF service instance to be software-upgraded is not to be kept operative (i.e. the NFStatus / NFServiceStatus is not to be kept as "REGISTERED" ) , it changes its status to "UNDISCOVERABLE" , and potential consumers are notified. So, if one NF is planned to be shut down, the NF will first change its status in the NRF into “UNDISCOVERABLE” .
[0016] NFs in SUSPENDED or UNDISCOVERABLE status may occur occasionally, which may cause one or more of the following problems.
[0017] In an inter-system mobility to 5th Generation System (5GS) procedure of a User Equipment (UE) , such as handover from non-3gpp to 5GS, or Evolved Packet System (EPS) to 5GS Mobility procedure, an Access and Mobility Management Function (AMF) discovers the previously used Packet Gateway -Control Plane (PGW-C) / Session Management Function (SMF) , or SMF / PGW-C, to keep session continuity.
[0018] For example, during a handover from non-3gpp to 5GS or EPS to 5GS mobility procedure, the AMF fetches UeContextInSmfData from a Unified Data Management (UDM) and retrieves the SMF Instance Identity (ID) / PGW FQDN, and sends an NF Discovery Request based on either the SMF Instance ID or the PGW-FQDN.
[0019] After receiving an NF Discovery Response, the AMF obtains an NF profile of the SMF instance and sends Nsmf_PDUSession_CreateSMContext Request to notify the SMF that UE has moved to 5GS. If no successful response is received from the SMF, the AMF may select another SMF instance within a same SMF Set as the SMF and resend an Nsmf_PDUSession_CreateSMContext Request.
[0020] However, if the previously used SMF instance is down / restarted, or the link between the SMF instance and the NRF is down, due to no heartbeat message received at the NRF, or if the previous used SMF is planned to shut down, the SMF instance's NF status is changed to SUSPENDED / UNDISCOVERABLE. Later, when the AMF discovers the target SMF instance, the NRF can only return an empty NF instance list, i.e., no SMF profile is received, and thus no NF Set ID can be retrieved. As a result, the AMF cannot reselect another SMF instance in the same set. The handover from non-3gpp to 5GS procedure / EPS to 5GS Mobility procedure will fail and the corresponding Packet Data Unit (PDU) session will be deleted.
[0021] Further, according to TS 29.510, V19.2.0, for the Nnrf NFManagement_NFStatusSubscribe service operation, the NF service consumer may request the creation of a subscription to a specific NF instance, or to a set of NF instances, where the set is determined according to different criteria specified in the request body, in the "subscrCond" attribute of the "SubscriptionData" object type (see clause 6.1.6.2.16) . Here, “subscrCond” can be of different type, so the NF service consumer can request to create the subscription for dedicated NF instance (s) , for one NF type, for one service name, or for one NF set, etc. If the NF service consumer requests to be notified ofNF instance's change for the discovered NF instances only, not subscribing NF profile change for NF type, when one SUSPENDED / UNDISCOVERABLE NF instance which is not returned as discovered NF instance due to the status SUSPENDED or UNDISCOVERABLE, the change of its status back to REGISTERED will not be notified to the NF service consumer. If the cache validity time is very long, this REGISTERED NF instance will not be used for a long time due to no new discovery procedure is triggered, which may be disadvantageous in load sharing.
[0022] Additionally, as described above, the NF service consumer should reuse the previous NF discovery result if the query parameters are the same. In the NF service consumer, the NF discovery cache may be stored per query parameters. For example, the cache may be stored as a map, the keys may be query parameters and the values are discovered NF instances having NF status of “REGISTERED” .
[0023] Later, if one NF instance's status is changed from “SUSPENDED / UNDISCOVERABLE” to “REGISTERED” and the NF service consumer has subscribed such change notification, the NRF should send an Nnrf NFManagement_NFStatusNotify request notifying the NF status change. For the NF service consumer, to refresh its local NF discovery cache, it may need to traverse the NF discovery cache to find the impacted keys (query parameters) and update the discovery result (s) if the new NF profile matches the query parameters.
[0024] In an example, two SMF instances [SMF1, SMF2] are deployed to support Single Network Slice Selection Assistance Information (SNSSAI) [snssai1, snssai2] and Data Network Names (DNNs) [dnn1, dnn2] .
[0025] 1) The AMF uses query parameters “snssai1+ dnn1” for SMF discovery, and [SMF1, SMF2] are returned. The AMF stores the mapping of the query parameters and the SMF instances as:
[0026] {snssai1 + dnn1} -> [SMF1, SMF2] .
[0027] 2) SMF1 does not send heartbeat to the NRF and the NF status is changed to SUSPENDED. NFStatusNotify is sent to the AMF and the AMF updates the SMF1's status to SUSPENDED in cache.
[0028] Later, when the query parameters “snssai1+ dnn1” are used for SMF discovery, only SMF2 is returned as SMF1's NFStatus is SUSPENDED.
[0029] 3) The AMF uses query parameters “snssai2+ dnn2” for SMF discovery. A new NF Discovery Request is sent and only [SMF2] is returned. The AMF stores the mapping of the query parameters and the SMF instance as:
[0030] {snssai2 + dnn2} -> [SMF2] .
[0031] 4) SMF1 is changed to REGISTERED in the NRF (heartbeat message is received) . A notification of SMF1 's NF Status change from SUSPENDED to REGISTERED is received in the AMF and the AMF needs to refresh the NF discovery cache as follows:
[0032] 4.1) For the key of query parameters “snssai1 + dnn1” , the AMF refreshes the value of SMF1's NF status. Later, for SMF discovery with query parameters “snssai1+ dnn1” , both SMF1 and SMF2 can be used.
[0033] 4.2) For other keys, the AMF may need to go through the whole NF discovery cache map to find the impacted keys if the NF profile includes information matches all of query parameters in the key. For query parameters “snssai2+ dnn2” , the mapping will be updated to:
[0034] {snssai2+ dnn2 } -> [SMF1, SMF2] .
[0035] Therefore, the refreshing of the NF discovery cache in the NF service consumer may be inefficient when one NF's status is changed from SUSPENDED / UNDISCOVERABLE to REGISERED.
[0036] It is an object of the present disclosure to provide network nodes and methods therein, capable of solving at least one of the above problems.
[0037] According to a first aspect of the present disclosure, a method in a first network node implementing a first NF is provided. The method includes sending, to a second network node implementing a second NF, a discovery request including a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.
[0038] According to a second aspect of the present disclosure, a method in a second network node implementing a second NF is provided. The method includes receiving, from a first network node implementing a first NF, a discovery request including a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.
[0039] According to a third aspect of the present disclosure, a first network node is provided. The first network node includes a communication interface, a processing circuitry, and a memory. The first network node is configured to perform the method according to the above first aspect.
[0040] According to a fourth aspect of the present disclosure, a second network node is provided. The second network node includes a communication interface, a processing circuitry, and a memory. The second network node is configured to perform the method according to the above second aspect.
[0041] According to a fifth aspect of the present disclosure, a computer-readable storage medium is provided. The computer-readable storage medium includes instructions that, when executed by a processing circuitry of a first network node, configure the first network node to perform the method according to the above first aspect, or instructions that, when executed by a processing circuitry of a second network node, configure the second network node to perform the method according to the above second aspect.
[0042] According to a sixth aspect of the present disclosure, a computer program product is provided. The computer program product includes instructions that, when executed by a processing circuitry of a first network node for session management, configure the first network node to perform the method according to the above first aspect, or instructions that, when executed by a processing circuitry of a second network node for session management, configure the second network node to perform the method according to the above second aspect.
[0043] With certain embodiments of the present disclosure, a first NF can indicate to a second NF in a discovery request that an NF instance with any NF status (e.g., including SUSPENDED or UNDISCOVERABLE) is to be discovered or returned and / or that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned. In this way, when a target NF instance is in the SUSPENDED or UNDISCOVERABLE status, the first NF can obtain its NF profile from a discovery response and can thus be enabled to further discover an alternative NF instance in a same NF set as the target NF instance, or can obtain an equivalent or backup NF instance from the discovery response, such that a successful rate of an inter-system mobility procedure, such as EPS to 5GS Mobility or handover from non-3gpp to 5GS, can be improved. In addition, when NF instances in the SUSPENDED or UNDISCOVERABLE status are returned, an NF service consumer is enabled to receive an NF Status Notification for an NF instance when it is changed from SUSPENDED / UNDISCOVERABLE to REGISTERED based on a subscription associated with the NF instance. Moreover, when NF instances in the SUSPENDED or UNDISCOVERABLE status are returned, the efficiency of NF discovery cache refreshing when an NF instance is changed from SUSPENDED / UNDISCOVERABLE to REGISTERED can be improved, e.g., by using its NF instance ID as a key.BRIEF DESCRIPTION OF THE DRAWINGS
[0044] The above and other objects, features and advantages will be more apparent from the following description of embodiments with reference to the figures, in which:
[0045] Fig. 1 is a sequence diagram of an example of a service discovery procedure;
[0046] Fig. 2 is a flowchart illustrating a method in a first network node according to an embodiment of the present disclosure;
[0047] Fig. 3 is a flowchart illustrating a method in a second network node according to an embodiment of the present disclosure;
[0048] Fig. 4 is a sequence diagram of examples of service discovery procedures in mobility scenarios according to an embodiment of the present disclosure; and
[0049] Fig. 5 is a block diagram of a network node according to an embodiment of the present disclosure.DETAILED DESCRIPTION
[0050] In the present disclosure, a network function can be implemented either as a network element on a dedicated hardware, as a software instance running on a dedicated hardware, or as a virtualized function instantiated on an appropriate platform, e.g. on a cloud infrastructure. The term “network node” refers to any physical or virtual node configured to implement a network function.
[0051] References in the specification to "one embodiment, " "an embodiment, " "an example embodiment, " and the like 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 one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0052] It shall be understood that although the terms "first" and "second" etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed terms.
[0053] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example 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.
[0054] 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 skills in the art to which this disclosure belongs.
[0055] Fig. 2 is a flowchart illustrating a method 200 according to an embodiment of the present disclosure. The method 200 can be performed by a first network node implementing a first NF.
[0056] At block 210, the first network node sends, to a second network node implementing a second NF, a discovery request. The discovery request includes a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.
[0057] Here, the equivalent NF instance may be an NF instance belonging to a same NF set or NF group as the NF instance that has the NF profile matching the one or more query parameters. For example, an NF set may refer to a group of NFs sharing the same back-end, i.e., a service / session can be equivalently moved among the NF instances within the same Set when necessary. An NF group may refer to a group of NFs equivalently sharing a same business / service purpose, e.g., an NF group may be organized to serve certain UEs including several stateless NFs accessing a same database.
[0058] In an example, the first indication may be implemented as a first query parameter, e.g., “any-nf-status-ind” , and / or the second indication may be implemented as a second query parameter, e.g., “equivalent-nf-ind” , as shown in Table 2 below (for further details of query parameters, reference can be made to clause 6.2.3.2.3.1 of TS 29.510, V19.2.0) .
[0059] Table 2: URl query parameters
[0060] In an example, the discovery request may further include an indication of a supported feature associated with discovery or return of the NF instance with any NF status and / or discovery or return of the equivalent or backup NF instance. For example, the feature may be “Query-NF-Reselection-Enh” , as shown in Table 3 below (for further details of supported features, reference can be made to clause 6.2.9 of TS 29.510, V19.2.0) .
[0061] Table 3: Features of supportedFeatures attribute used by Nnrf_NFDiscovery service
[0062] Alternatively, the first indication may be implemented as a supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned. For example, the feature may be “Query-Any-NF-Status” , as shown in Table 4 below (for further details of supported features, reference can be made to clause 6.2.9 of TS 29.510, V19.2.0) .
[0063] Table 4: Features of supportedFeatures attribute used by Nnrf_NFDiscovery service
[0064] Likewise, the second indication may be implemented as a supported feature which, when present, indicates that the equivalent or backup NF instance is to be discovered or returned. In another example, the first indication and the second indication may be implemented as a combined supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned and the equivalent or backup NF instance is to be discovered or returned.
[0065] In an example, e.g., after the block 210, the first network node may further receive from the second network node, a discovery response including a list of NF instance (s) . The list may contain in response to the first indication, an NF instance that has an NF profile matching the one or more query parameters and is in a status other than REGISTERED, e.g., SUSPENDED or UNDISCOVERABLE. Alternatively or additionally, the list may contain, in response to the second indication, the equivalent or backup NF instance.
[0066] When the NF instance in the status other than REGISTERED (e.g., SUSPENDED or UNDISCOVERABLE) is returned in the discovery response, the first network node may send, to the second network node, a further discovery request including a query parameter set to an NF set ID included in the NF profile of the NF instance in the status other than REGISTERED. When the equivalent or backup NF instance is returned, the first network node may directly select the equivalent or backup NF instance for use in a subsequent procedure.
[0067] That is, when a target NF instance is in the SUSPENDED or UNDISCOVERABLE status, the first NF can obtain its NF profile from the discovery response and can thus be enabled to further discover an alternative NF instance in the same NF set as the target NF instance, or can obtain the equivalent or backup NF instance from the discovery response, such that a successful rate of an inter-system mobility procedure, such as EPS to 5GS Mobility or handover from non-3gpp to 5GS, can be improved.
[0068] In addition, when NF instances in the SUSPENDED or UNDISCOVERABLE status are returned, the first NF is enabled to receive an NF Status Notification for an NF instance when it is changed from SUSPENDED / UNDISCOVERABLE to REGISTERED based on a subscription associated with the NF instance. In this case, traffic load can be shared over all REGISTERED NF instances.
[0069] Moreover, when NF instances in the SUSPENDED or UNDISCOVERABLE status are returned in the discovery response, the efficiency of NF discovery cache refreshing when an NF instance is changed from SUSPENDED / UNDISCOVERABLE to REGISTERED can be improved, e.g., by using its NF instance ID as a key. For example, two SMF instances [SMF1, SMF2] are deployed to support Single Network Slice Selection Assistance Information (SNSSAI) [snssai1, snssai2] and Data Network Names (DNNs) [dnn1, dnn2] .
[0070] 1) The AMF uses query parameters “snssai1+ dnn1” for SMF discovery, and [SMF1, SMF2] are returned. The AMF stores the mapping of the query parameters and the SMF instances as:
[0071] {snssai1 + dnn1} -> [SMF1, SMF2] .
[0072] 2) SMF1 does not send heartbeat to the NRF and the NF status is changed to SUSPENDED. NFStatusNotify is sent to the AMF and the AMF updates the SMF1's status to SUSPENDED in cache.
[0073] 3) The AMF uses query parameters “snssai2+ dnn2” for SMF discovery. A new NF Discovery Request is sent e.g., with the indication any-nf-status-ind, and both the REGISTERED SMF instance [SMF2] and the SUSPENDED SMF instance [SMF1] are returned. The AMF stores the mapping of the query parameters and the SMF instances as:
[0074] {snssai2 + dnn2} -> [SMF2, SMF1] .
[0075] 4) SMF1 is changed to REGISTERED in the NRF (heartbeat message is received) . A notification of SMF1's NF Status change from SUSPENDED to REGISTERED is received in the AMF and the AMF needs to refresh the NF discovery cache. In this case, the AMF only needs to refresh the NF Status of SMF1 by using SMF1 as a key, without having to go through the whole cache to find impacted NF discovery query parameters and update the mapping. This is much easier and more efficient.
[0076] In an example, the first NF may be an NRF, and the second NF may be another NRF, e.g., in a case where one NRF forwards the discovery request to another. Alternatively, the first NF may be a Service Communication Proxy (SCP) , and the second NF may be an NRF, e.g., in a case where the SCP performs service discovery towards the NRF.
[0077] In another example, the first NF may be an NF producer, the second NF may be an NRF, and the NF instance to be discovered or returned may be an NF consumer receiving a notification from the NF producer. Here, the NF producer may be an SCP or an NF other than SCP.
[0078] In yet another example, the first NF may be an NF consumer, the second NF may be an NRF, and the NF instance to be discovered or returned may be an NF producer providing a service to the NF consumer. Here, the NF consumer may be an SCP or an NF other than SCP.
[0079] For example, the first NF may be an AMF, and the NF instance to be discovered or returned may be a PGW-C / SMF. In this case, the one or more query parameters in the discovery request may include an SMF instance ID, or PGW Fully Qualified Domain Name (FQDN) or Internet Protocol (IP) address of the PGW-C / SMF. The SMF instance ID or PGW FQDN may be obtained from a Unified Data Management (UDM) , e.g., in an evolved Packet Data Gateway (ePDG) to 5GS mobility procedure, or the PGW FQDN or IP address may be obtained from a Mobility Management Entity (MME) , e.g., in an Evolved Packet System (EPS) to 5GS mobility procedure with or without an N26 interface between the AMF and the MME. The method according to some embodiments of the present disclosure is particularly advantageous when there is no N26 interface as in this case the AMF cannot obtain information on an alternative PGW-C / SMF from the MME.
[0080] Fig. 3 is a flowchart illustrating a method 300 according to an embodiment of the present disclosure. The method 300 can be performed by a second network node implementing a second NF.
[0081] At block 310, the second network node receives, from a first network node implementing a first NF, a discovery request. The discovery request includes a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.
[0082] Here, the equivalent NF instance may be an NF instance belonging to a same NF set or NF group as the NF instance that has the NF profile matching the one or more query parameters. For example, an NF set may refer to a group of NFs sharing the same back-end, i.e., a service / session can be equivalently moved among the NF instances within the same Set when necessary. An NF group may refer to a business / service logic concept, e.g., an NF group may be organized to serve certain UEs including several stateless NFs accessing a same database.
[0083] In an example, the first indication may be implemented as a first query parameter, e.g., “any-nf-status-ind” , and / or the second indication may be implemented as a second query parameter, e.g., “equivalent-nf-ind” , as shown in the above Table 2.
[0084] In an example, the discovery request may further include an indication of a supported feature associated with discovery or return of the NF instance with any NF status and / or discovery or return of the equivalent or backup NF instance. For example, the feature may be “Query-NF-Reselection-Enh” , as shown in the above Table 3.
[0085] Alternatively, the first indication may be implemented as a supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned. For example, the feature may be “Query-Any-NF-Status” , as shown in the above Table 4.
[0086] Likewise, the second indication may be implemented as a supported feature which, when present, indicates that the equivalent or backup NF instance is to be discovered or returned. In another example, the first indication and the second indication may be implemented as a combined supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned and the equivalent or backup NF instance is to be discovered or returned.
[0087] In an example, e.g., after the block 310, the second network node may further send, to the first network node, a discovery response including a list of NF instances. The list may contain, in response to the first indication, an NF instance that has an NF profile matching the one or more query parameters and is in a status other than REGISTERED, e.g., SUSPENDED or UNDISCOVERABLE. Alternatively or additionally, the list may contain, in response to the second indication, the equivalent or backup NF instance.
[0088] In an example, in the list of NF instances, an NF instance in a REGISTERED status is prioritized over the NF in the status other than REGISTERED. For example, when the NF discovery result exceeds a maximum payload size of the discovery response, the NRF may return NF instances in the REGISTERED status first and discard one or more NF instances in the SUSPENDED or UNDISCOVERABLE status when necessary.
[0089] In an example, the first NF may be an NRF, and the second NF may be another NRF, e.g., in a case where one NRF forwards the discovery request to another. Alternatively, the first NF may be a Service Communication Proxy (SCP) , and the second NF may be an NRF, e.g., in a case where the SCP performs service discovery towards the NRF.
[0090] In another example, the first NF may be an NF producer, the second NF may be an NRF, and the NF instance to be discovered or returned may be an NF consumer receiving a notification from the NF producer. Here, the NF producer may be an SCP or an NF other than SCP.
[0091] In yet another example, the first NF may be an NF consumer, the second NF may be an NRF, and the NF instance to be discovered or returned may be an NF producer providing a service to the NF consumer. Here, the NF consumer may be an SCP or an NF other than SCP. For example, the first NF may be an AMF, and the NF instance to be discovered or returned may be a PGW-C / SMF. In this case, the one or more query parameters in the discovery request may include an SMF instance ID, or PGW FQDN or IP address of the PGW-C / SMF.
[0092] In the following, the methods 200 and 300 will be further explained with reference to Fig. 4, which shows examples of service discovery procedures in mobility scenarios.
[0093] Example 1 relates to a procedure of handover from ePDG to 5GS. As shown in Fig. 4, a UE performs 3GPP registration on a 5th Generation Core (5GC) , and initiates a Packet Data Network (PDN) connection towards PGW-C / SMF 1 in a non-3gpp network. Then, PGW-C / SMF 1 (referred to as SMF 1 for short) is down or the link between SMF 1 and an NRF fails. When a heartbeat timer expires, SMF 1's NF status changes to SUSPENDED. At Step 1, the UE sends a PDU Session Establishment Request with request type set to existing PDU session to an AMF.
[0094] Example 2 relates to an EPS to 5GS Mobility procedure without N26 interface. As shown in Fig. 4, a UE has attached to an MME with PDN connectivity established with PGW-C / SMF 1, and the UE performs mobility registration to an AMF. Then, PGW-C / SMF 1 (referred to as SMF 1 for short) is down or the link between SMF 1 and an NRF fails. When a heartbeat timer expires, SMF 1's NF status changes to SUSPENDED. At Step 2, the UE sends a PDU Session Establishment Request with request type set to existing PDU session to an AMF.
[0095] In either example, when the AMF receives the PDU Session Establishment Request with Request type set to existing PDU Session, the AMF retrieves an SMF instance ID based on UeContextInSmfData received from a UDM, trying to find the previously used SMF and continue the session. The following steps apply to both examples.
[0096] At Step 3, the AMF performs a first SMF discovery based on the SMF Instance ID of SMF 1 to find the previously used SMF. A query parameter “any-nf-status-ind” , or a supported feature “Query-Any-NF-Status” , is included in the discovery request to query all matched NF instances irrelevant of their NF Statuses.
[0097] At Step 4, even if the previously used SMF instance, SMF 1, is in the SUSPENDED status, it is still returned from the NRF in a discovery response based on the query parameter “any-nf-status-ind” , or the supported feature “Query-Any-NF-Status” , and the AMF can retrieve an NF Set ID from the NF profile of SMF 1.
[0098] At Step 5, the AMF performs a second SMF discovery based on the NF Set ID.
[0099] At Step 6, PGW-C / SMF 2 (referred to as SMF 2 for short) is returned from the NRF in a discovery response.
[0100] As an alternative to Steps 3~6, at step 7, the AMF sends an NF Discovery Request based on the SMF Instance ID of SMF 1, with a query parameter “equivalent-nf-ind” to query all NF instances in the same NF Set.
[0101] At Step 8, since SMF 1 is in the SUSPENDED status, only alternative SMF instances (SMF 2 in this case) in a same NF Set as SMF 1 are returned.
[0102] As another alternative to Steps 3~6, at Step 9, the AMF sends an NF Discovery Request based on the SMF Instance ID of SMF 1, with query parameters “equivalent-nf-ind” and “any-nf-status-ind” to query all NF instances in a same NF set as each matched NF instance, irrelevant of their NF Statuses.
[0103] At Step 10, all SMF instances in the same set are returned, including SMF 1 in the SUSPENDED status and SMF 2 in the REGISTERED status.
[0104] After Step 6 or 8 or 10, the AMF selects SMF 2 and at Step 11, the AMF continues PDU session establishment with SMF 2.
[0105] Fig. 5 is a block diagram of a network node 500 according to an embodiment of the present disclosure.
[0106] The network node 500 includes a communication interface 510, a processing circuitry 520, and a memory 530. The memory 530 may contain instructions executable by the processing circuitry 520 whereby the network node 500 is operative to, as a first network node implementing a first NF, perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 2, or as a second network node implementing a second NF, perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 3.
[0107] Particularly, the network node 500 may be configured to, as a first network node implementing a first NF, send, to a second network node implementing a second NF, a discovery request including a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.
[0108] In an embodiment, the equivalent NF instance may belong to a same NF set or NF group as the NF instance that has the NF profile matching the one or more query parameters.
[0109] In an embodiment, the first indication may be implemented as a first query parameter, and / or the second indication may be implemented as a second query parameter.
[0110] In an embodiment, the discovery request may further include an indication of a supported feature associated with discovery or return of the NF instance with any NF status and / or discovery or return of the equivalent or backup NF instance.
[0111] In an embodiment, the first indication may be implemented as a supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned, and / or the second indication may be implemented as a supported feature which, when present, indicates that the equivalent or backup NF instance is to be discovered or returned. Alternatively, the first indication and the second indication may be implemented as a combined supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned and the equivalent or backup NF instance is to be discovered or returned.
[0112] In an embodiment, the network node 500 may be further configured to receive, from the second network node, a discovery response including a list of NF instances. The list contains: in response to the first indication, an NF instance that has an NF profile matching the one or more query parameters and is in a status other than REGISTERED, and / or in response to the second indication, the equivalent or backup NF instance.
[0113] In an embodiment, the network node 500 may be further configured to send, to the second network node, a further discovery request including a query parameter set to an NF set ID included in the NF profile of the NF instance in the status other than REGISTERED.
[0114] In an embodiment, the status other than REGISTERED may include at least one of SUSPENDED and UNDISCOVERABLE.
[0115] In an embodiment, the first NF may be an NRF and the second NF is another NRF, or the first NF may be an SCP and the second NF may be an NRF.
[0116] In an embodiment, the first NF may be an NF producer, the second NF may be an NRF, and the NF instance to be discovered or returned may be an NF consumer receiving a notification from the NF producer.
[0117] In an embodiment, the first NF may be an NF consumer, the second NF may be an NRF, and the NF instance to be discovered or returned may be an NF producer providing a service to the NF consumer.
[0118] In an embodiment, the first NF may be an AMF, and the NF instance to be discovered or returned may be a PGW-C / SMF.
[0119] In an embodiment, the one or more query parameters in the discovery request may include an SMF instance ID or PGW FQDN or IP address of the PGW-C / SMF.
[0120] In an embodiment, the SMF instance ID or PGW FQDN may be obtained from a UDM, or the PGW FQDN or IP address may be obtained from an MME.
[0121] In an embodiment, the SMF instance ID or PGW FQDN may be obtained from the UDM in an ePDG to 5GS mobility procedure, or in an EPS to 5GS mobility procedure with or without an N26 interface between the AMF and the MME.
[0122] Alternatively, the network node 500 may be configured to, as a second network node implementing a second NF, receive, from a first network node implementing a first NF, a discovery request including a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.
[0123] In an embodiment, the equivalent NF instance may belong to a same NF set or NF group as the NF instance that has the NF profile matching the one or more query parameters.
[0124] In an embodiment, the first indication may be implemented as a first query parameter, and / or the second indication may be implemented as a second query parameter.
[0125] In an embodiment, the discovery request may further include an indication of a supported feature associated with discovery or return of the NF instance with any NF status and / or discovery or return of the equivalent or backup NF instance.
[0126] In an embodiment, the first indication may be implemented as a supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned, and / or the second indication may be implemented as a supported feature which, when present, indicates that the equivalent or backup NF instance is to be discovered or returned. Alternatively, the first indication and the second indication may be implemented as a combined supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned and the equivalent or backup NF instance is to be discovered or returned.
[0127] In an embodiment, the network node 500 may be further configured to send, to the first network node, a discovery response including a list of NF instances. The list contains: in response to the first indication, an NF instance that has an NF profile matching the one or more query parameters and is in a status other than REGISTERED, and / or in response to the second indication, the equivalent or backup NF instance.
[0128] In an embodiment, in the list of NF instances, an NF instance in a REGISTERED status may be prioritized over the NF in the status other than REGISTERED.
[0129] In an embodiment, the status other than REGISTERED may include at least one of SUSPENDED and UNDISCOVERABLE.
[0130] In an embodiment, the first NF may be an NRF and the second NF is another NRF, or the first NF may be an SCP and the second NF may be an NRF.
[0131] In an embodiment, the first NF may be an NF producer, the second NF may be an NRF, and the NF instance to be discovered or returned may be an NF consumer receiving a notification from the NF producer.
[0132] In an embodiment, the first NF may be an NF consumer, the second NF may be an NRF, and the NF instance to be discovered or returned may be an NF producer providing a service to the NF consumer.
[0133] In an embodiment, the first NF may be an AMF, and the NF instance to be discovered or returned may be a PGW-C / SMF.
[0134] In an embodiment, the one or more query parameters in the discovery request may include an SMF instance ID or PGW FQDN or IP address of the PGW-C / SMF.
[0135] The present disclosure also provides at least one computer program product in the form of a non-volatile or volatile memory, e.g., a non-transitory computer readable storage medium, an Electrically Erasable Programmable Read-Only Memory (EEPROM) , a flash memory and a hard drive. The computer program product includes a computer program. The computer program includes: code / computer readable instructions, which when executed by the processing circuitry 520, configure the network node 500 to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 2 or 3.
[0136] The computer program product may be configured as a computer program code structured in computer program modules. The computer program modules could essentially perform the actions of the flow illustrated in Fig. 2 or 3.
[0137] The processing circuitry may be a single CPU (Central Processing Unit) , but could also comprise two or more processing units. For example, the processing circuitry may include general purpose microprocessors; instruction set processors and / or related chips sets and / or special purpose microprocessors such as Application Specific Integrated Circuits (ASICs) . The processing circuitry may also comprise board memory for caching purposes. The computer program may be carried in a computer program product connected to the processing circuitry. The computer program product may comprise a non-transitory computer readable storage medium on which the computer program is stored. For example, the computer program product may be a flash memory, a Random Access Memory (RAM) , a Read-Only Memory (ROM) , or an EEPROM, and the computer program modules described above could in alternative embodiments be distributed on different computer program products in the form of memories.
[0138] The disclosure has been described above with reference to embodiments thereof. It should be understood that various modifications, alternations and additions can be made by those skilled in the art without departing from the spirits and scope of the disclosure. Therefore, the scope of the disclosure is not limited to the above particular embodiments but only defined by the claims as attached.
[0139] The present disclosure may further include possible changes to the current 3GPP TS 29.510, V19.2.0, as described below in the Appendix A, where underlines indicate added text.
[0140] Appendix A
[0141] 6.2.3.2.3.1 GET
[0142] This operation retrieves a list of NF Instances, and their offered services, currently registered in the NRF, satisfying a number of filter criteria, such as those NF Instances offering a certain service name, or those NF Instances of a given NF type (e.g., AMF) .
[0143] Table 6.2.3.2.3.1-1: URI query parameters supported by the GET method on this resource
[0144] When certain query parameters in the discovery request are not supported by the NRF, the NRF shall ignore the unsupported query parameters and continue processing the request with the supported query parameters. The default logical relationship among the supported query parameters is logical "AND" , i.e. all the provided query parameters shall be matched, with the exception of the "preferred-locality" , "ext-preferred-locality" , "preferred-nf-instances" , "preferred-tai" , "preferred-api-versions" , "preferred-full-plmn" , "preferred-collocated-nf-types" , "preferred-pgw-ind" , "preferred-analytics-delays" , "preferred-features" , "mbs-session-id" , "ind-com-with-del-disc" , "ind-com-wo-del-disc" , "preferred-upf-packet-inspection-func" and "preferred-operator-config-capabilities" query parameters (see Table 6.2.3.2.3.1-1) .
[0145] The NRF may support the Complex query expression as defined in 3GPP TS 29.501 [5] for the NF Discovery service. If the "complexQuery" query parameter is included, then the logical relationship among the query parameters contained in "complexQuery" query parameter is as defined in 3GPP TS 29.571 [7] .
[0146] A NRF not supporting Complex query expression shall reject a NF service discovery request including a complexQuery parameter, with a ProblemDetails IE including the cause attribute set to INVALID_QUERY_PARAM and the invalidParams attribute indicating the complexQuery parameter. This method shall support the request data structures specified in table 6.1.3.2.3.1-2 and the response data structures and response codes specified in table 6.1.3.2.3.1-3.
[0147] 6.2.9 Features supported by the NFDiscovery service
[0148] The syntax of the supportedFeatures attribute is defined in clause 5.2.2 of 3 GPP TS 29.571 [7] .
[0149] The following features are defined for the Nnrf_NFDiscovery service.
[0150] Table 6.2.9-1: Features of supportedFeatures attribute used by Nnrf_NFDiscovery service
Claims
1.A method (200) in a first network node implementing a first Network Function, NF, comprising:sending (210) , to a second network node implementing a second NF, a discovery request including a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.2.The method (200) of claim 1, wherein the equivalent NF instance belongs to a same NF set or NF group as the NF instance that has the NF profile matching the one or more query parameters.3.The method (200) of claim 1 or 2, wherein the first indication is implemented as a first query parameter, and / or the second indication is implemented as a second query parameter.4.The method (200) of claim 3, wherein the discovery request further includes an indication of a supported feature associated with discovery or return of the NF instance with any NF status and / or discovery or return of the equivalent or backup NF instance.5.The method (200) of claim 1 or 2, whereinthe first indication is implemented as a supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned, and / or the second indication is implemented as a supported feature which, when present, indicates that the equivalent or backup NF instance is to be discovered or returned, orthe first indication and the second indication are implemented as a combined supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned and the equivalent or backup NF instance is to be discovered or returned.6.The method (200) of any of claims 1-5, further comprising:receiving, from the second network node, a discovery response including a list of NF instances, the list containing:in response to the first indication, an NF instance that has an NF profile matching the one or more query parameters and is in a status other than REGISTERED, and / orin response to the second indication, the equivalent or backup NF instance.7.The method (200) of claim 6, further comprising:sending, to the second network node, a further discovery request including a query parameter set to an NF set Identity, ID, included in the NF profile of the NF instance in the status other than REGISTERED.8.The method (200) of claim 6 or 7, wherein the status other than REGISTERED comprises at least one of SUSPENDED and UNDISCOVERABLE.9.The method (200) of any of claims 1-8, whereinthe first NF is a Network Repository Function, NRF, and the second NF is another NRF, orthe first NF is a Service Communication Proxy, SCP, and the second NF is an NRF.10.The method (200) of any of claims 1-8, wherein the first NF is an NF producer, the second NF is a Network Repository Function, NRF, and the NF instance to be discovered or returned is an NF consumer receiving a notification from the NF producer.11.The method (200) of any of claims 1-8, wherein the first NF is an NF consumer, the second NF is a Network Repository Function, NRF, and the NF instance to be discovered or returned is an NF producer providing a service to the NF consumer.12.The method (200) of claim 11, wherein the first NF is an Access and Mobility Management Function, AMF, and the NF instance to be discovered or returned is a Packet Gateway -Control Plane, PGW-C, / Session Management Function, SMF.13.The method (200) of claim 12, wherein the one or more query parameters in the discovery request comprise an SMF instance Identity, ID, or PGW Fully Qualified Domain Name, FQDN, or Internet Protocol, IP, address of the PGW-C / SMF.14.The method (200) of claim 13, wherein the SMF instance ID or PGW FQDN is obtained from a Unified Data Management, UDM, or the PGW FQDN or IP address is obtained from a Mobility Management Entity, MME.15.The method (200) of claim 14, wherein the SMF instance ID or PGW FQDN is obtained from the UDM in an evolved Packet Data Gateway, ePDG, to 5th Generation System, 5GS, mobility procedure, or in an Evolved Packet System, EPS, to 5GS mobility procedure with or without an N26 interface between the AMF and the MME.16.A method (300) in a second network node implementing a second Network Function, NF, comprising:receiving (310) , from a first network node implementing a first NF, a discovery request including a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.17.The method (300) of claim 16, wherein the equivalent NF instance belongs to a same NF set or NF group as the NF instance that has the NF profile matching the one or more query parameters.18.The method (300) of claim 16 or 17, wherein the first indication is implemented as a first query parameter, and / or the second indication is implemented as a second query parameter.19.The method (300) of claim 18, wherein the discovery request further includes an indication of a supported feature associated with discovery or return of the NF instance with any NF status and / or discovery or return of the equivalent or backup NF instance.20.The method (300) of claim 16 or 17, whereinthe first indication is implemented as a supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned, and / or the second indication is implemented as a supported feature which, when present, indicates that the equivalent or backup NF instance is to be discovered or returned, orthe first indication and the second indication are implemented as a combined supported feature which, when present, indicates that the NF instance with any NF status is to be discovered or returned and the equivalent or backup NF instance is to be discovered or returned.21.The method (300) of any of claims 16-20, further comprising:sending, to the first network node, a discovery response including a list of NF instances, the list containing:in response to the first indication, an NF instance that has an NF profile matching the one or more query parameters and is in a status other than REGISTERED, and / orin response to the second indication, the equivalent or backup NF instance.22.The method (300) of claim 21, wherein in the list of NF instances, an NF instance in a REGISTERED status is prioritized over the NF in the status other than REGISTERED.23.The method (300) of claim 21 or 22 wherein the status other than REGISTERED comprises at least one of SUSPENDED and UNDISCOVERABLE.24.The method (300) of any of claims 16-23, whereinthe first NF is an Network Repository Function, NRF, and the second NF is another NRF, orthe first NF is a Service Communication Proxy, SCP, and the second NF is an NRF.25.The method (300) of any of claims 16-23, wherein the first NF is an NF producer, the second NF is Network Repository Function, NRF, and the NF instance to be discovered or returned is an NF consumer receiving a notification from the NF producer.26.The method (300) of any of claims 16-23, wherein the first NF is an NF consumer, the second NF is Network Repository Function, NRF, and the NF instance to be discovered or returned is an NF producer providing a service to the NF consumer.27.The method (300) of claim 26, wherein the first NF is an Access and Mobility Management Function, AMF, and the NF instance to be discovered or returned is a Packet Gateway -Control Plane, PGW-C, / Session Management Function, SMF.28.The method (300) of claim 27, wherein the one or more query parameters in the discovery request comprise an SMF instance Identity, ID, or PGW Fully Qualified Domain Name, FQDN, or Internet Protocol, IP, address of the PGW-C / SMF.29.A first network node (500) implementing a first Network Function, NF, comprising a communication interface (510) , a processing circuitry (520) , and a memory (530) , the first network node (500) configured to:send, to a second network node implementing a second NF, a discovery request including a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.30.The first network node (500) of claim 29, wherein the first network node (500) is further configured to perform the method according to any of claims 2-15.31.A second network node (500) implementing a second Network Function, NF, comprising a communication interface (510) , a processing circuitry (520) , and a memory (530) , the second network node (500) configured to:receive, from a first network node implementing a first NF, a discovery request including a first indication indicating that an NF instance with any NF status is to be discovered or returned and / or a second indication indicating that, when any NF instance has an NF profile matching one or more query parameters in the discovery request, an equivalent or backup NF instance to the NF instance is to be discovered or returned.32.The second network node of claim 31, wherein the second network node (500) is further configured to perform the method according to any of claims 17-28.33.A computer-readable storage medium comprising instructions that, when executed by a processing circuitry of a first network node, configure the first network node to perform the method according to any of claims 1-15, or instructions that, when executed by a processing circuitry of a second network node, configure the second network node to perform the method according to any of claims 16-28.34.A computer program product comprising instructions that, when executed by a processing circuitry of a first network node, configure the first network node to perform the method according to any of claims 1-15, or instructions that, when executed by a processing circuitry of a second network node, configure the second network node to perform the method according to any of claims 16-28.