Patent Description:
<CIT>) relates to a registration method for network slice selection, where the request contains a group of candidates AMFs, and the response provides information related to the candidate AMFs;.

<NPL>, discloses the data structures used to transmit the NF discovery request and response.

<FIG> illustrates a reference point representation of an exemplifying wireless communication system <NUM> represented as a <NUM> network architecture comprising an Access Network (AN) (e.g., a Radio AN (R(AN)) and a Core network (CN) comprising network entities in the form of Network Functions (NFs). Typically, the AN comprises base stations, e.g. such as evolved Node Bs (eNBs) or <NUM> base stations (gNBs) or similar. As shown in <FIG>, User Equipments (UEs) connect to an AN as well as an Access and Mobility Management Function (AMF). As further shown in <FIG>, the <NUM> CN NFs include: a Network Slice Selection Function (NSSF), an Authentication Server Function (AUSF), a Unified Data Management (UDM), an Access and Mobility Management Function (AMF), a Session Management Function (SMF), a Policy Control Function (PCF), an Application Function (AF).

The reference point representations of the <NUM> network architecture are used to develop detailed call flows in the normative standardization. The N1 reference point is defined to carry signaling between UE and AMF. The N2 and N3 reference points are defined to carry signaling between R(AN) and AMF and between R(AN) and UPF respectively. The N11 reference point is defined to carry signaling between AMF and SMF. The N4 reference point is defined to carry signaling between SMF and UPF. The N9 reference point is defined to carry signaling between different UPFs and the N14 reference point is defined to carry signaling between different AMFs. The reference points N15 and N7 are defined to carry signaling between PCF and AMF and SMF respectively. The N12 reference point is defined to carry signaling between AMF and AUSF. The N8 and N10 reference points are defined to carry signaling between UDM and AMF and SMF respectively. The N13 reference point is defined to carry signaling between AUSF and UDM. The N22 reference point is defined to carry signaling between NSSF and AMF.

The <NUM> core network aims at separating user plane and control plane. The user plane carries user traffic (e.g. user data) while the control plane carries signaling in the network. In <FIG>, the UPF is in the user plane while the other NFs, i.e., AMF, SMF, PCF, AF, AUSF, and UDM, are in the control plane. Separating the user plane and the control plane allows the resources in each plane to be scaled independently. It also allows UPFs to be deployed separately from control plane functions in a distributed fashion. For example, an UPF may be deployed very close to UEs to shorten the Round Trip Time (RTT) between UEs and data network for some applications requiring low latency.

The NFs in the <NUM> core network architecture are independent modularized functions, which allows independent evolution and scaling. Modularized function design enables the <NUM> core network to support various services in a flexible manner.

Each NF in the core network interacts with another NF directly, but it is possible to use intermediate functions to route messages from one NF to another NF.

<FIG> illustrates an exemplifying wireless communication system <NUM> represented as a <NUM> network architecture that uses service-based interfaces (SBIs) between the NFs in the control plane, instead of the point-to-point reference points/interfaces used in the <NUM> network architecture of <FIG>. The NFs described above with reference to <FIG> correspond to the NFs shown in <FIG>. The service(s) etc. that an NF provides to other authorized NFs can be exposed to the authorized NFs through an SBI. In <FIG> the SBIs are indicated by the letter "N" followed by the name of the NF, e.g. Namf for the SBI of the AMF and Nsmf for the SBI of the SMF etc. The Network Exposure Function (NEF) and the NF Repository Function (NRF) in <FIG> are not shown in <FIG> discussed above. However, it should be clarified that all NFs depicted in <FIG> can interact with the NEF and the NRF of <FIG> as required, though not explicitly indicated in <FIG>. A main difference between the point-to-point architecture in <FIG> and the service-based architecture in <FIG> is that the service-based architecture doesn't us predefined point to point interfaces between the NFs. Instead, an NF in the service-based architecture queries the NRF to discover and communicate with other NFs via the SBIs.

Some properties of the NFs shown in <FIG> and <FIG> may be described in the following manner. The AMF provides UE-based authentication, authorization and mobility management, etc. A UE even if using multiple access technologies is basically connected to a single AMF, since the AMF is independent of the access technologies. The SMF is responsible for session management and allocates IP addresses to UEs and selects and controls the UPF for data transfer with respect to the UEs. If a UE has multiple sessions, different SMFs may be allocated to each session to manage them individually and possibly provide different functionalities per session. The AF provides information on the packet flow to PCF responsible for policy control in order to support Quality of Service (QoS). Based on the information, PCF determines policies about mobility and session management to make AMF and SMF operate properly. The AUSF supports authentication function for UEs and thus stores data for authentication of UEs or similar while UDM stores subscription data of UEs. The Data Network (DN), not part of the <NUM> core network, provides Internet access or operator services and similar.

The NRF supports the following functionality: <NUM>) maintains the NF profile of available NF instances and their supported services; <NUM>) allows other NF instances to subscribe to, and get notified about, the registration in NRF of new NF instances of a given type; and <NUM>) supports a discovery function. It receives NF Discover requests from NF instances, and provides the information of the available NF instances fulfilling certain search criteria. Features of the NRF are specified in 3GPP Technical Specification (TS) <NUM> (see e.g. 3GPP TS <NUM> v16.

A number of <NUM> core network NFs of different types are always instantiated per default in the <NUM> core network, e.g. such as an AMF, a NRF, a PCF and a SMF etc. Other <NUM> core network NFs may be instantiated as needed and several NFs of the same type can also be instantiated if required, e.g. to distribute load to additional NF(s) of the same typ. Thus, an NF instance may be seen as an example or a specimen of a certain NF. Herein, the terms NF and NF instance are used interchangeably, unless otherwise expressly stated or is apparent from the context in which the terms are used. An NF instance exposes one or more NF Service Instances.

<FIG> is a message flow diagram illustrating an example of the network function service framework in the service based <NUM> core network. Among other things, the framework comprises: <NUM>) an NF service registration procedure and <NUM>) an NF discovery and authorization procedure.

A core network NF instance in the service based <NUM> core network registers its NF profile at the NRF. Thus, NF2 (e.g. a AMF) sends a Registration Request to the NRF in action 300a, which request comprises the NF profile of the registering NF2. The NF profile is typically included in the request as a JavaScript Object Notation (JSON) object or other similar data object. The NF profile indicates the one or more NF services that are supported by the registering NF instance. In this example it is assumed that the registering NF2 supports an NF service labeled NF service A. Generally, an NF profile may comprise one or more of the following items for the registering NF: NF type, Fully Qualified Domain Name (FQDN) or IP address, Name(s) of supported service(s), Endpoint information of instance(s) of each supported service and possibly other service parameter. In action 300b the NRF stores the NF profile of the registering NF and preferably marks the NF instance (i.e., NF2 in this example) as available. The NRF may then send a Registration Response to NF2 in action 300c, which response may include the registered NF profile as a confirmation of the registration made by the NRF.

The registration may take place when the NF instance becomes operative for the first time or upon an activation of an individual NF service within the NF instance, e.g. triggered after a scaling operation. The NF instance may register/expose one or more NF services. The information registered for an individual NF service may e.g. indicate security related information to be used for authorizing a discovering NF instance, e.g. security information that indicates the NFs that are allowed to discover the individual NF service, e.g. the type of NFs or the particular NFs of a certain type that are allowed to discover the NF service in question. However, known art NFs that does not produce/support any NF service will not register any service at the NRF. Thus, an NF instance that only consumes one or more NF services will not register anything at the NRF.

When a first NF instance (e.g., NF1) in the service based <NUM> core network intends to utilize an NF service supported by a second NF instance (e.g., NF2) the first NF instance will initiate an NF discovery process (a. , NF service discovery process) with the NRF for the NF service in question. Thus, NF2 (e.g., an SMF, an AMF, etc.) sends a Discover request to the NRF in action 302a, which request comprises discovery information. The discovery information may be included in the request as a JSON data object (e.g., file) or similar. The discovery information indicates the expected service to be consumed by the discovering NF (e.g. NF service A mentioned above). Preferably, the discovery information indicates the service name or similar of the expected NF service. Additionally or alternatively, the discovery information may indicate one or more of: the NF type of the expected NF (i.e. the type of NF that is expected to produce the expected NF service) and/or the NF type of the discovering NF. Generally, the NF type may e.g. be any of NSSF, NEF, AUSF, AMF, PCF, SMF, UDM or AF or similar, unless the context in which the NF type is mentioned indicates otherwise.

The NRF authorizes the discover request by determining - based on the discovery information provided in the discover request and preferably also based on the profile registered by relevant expected target NF instance(s) - whether the discovering NF (i.e. the potential service consumer) is authorized to discover the expected NF service and/or NF instance(s) expected to produce the expected service. The discovery and authorization by the NRF is exemplified by action 302b in <FIG>, wherein the expected target NF instance is NF2 and the potential service consumer is NF1.

For example, if the expected NF instance(s) are deployed in a certain network slice, the NRF may authorize the discover request according to the discovery configuration of the Network Slice, e.g. the expected NF instance(s) may only be discoverable by the NF in the same network slice etc..

When authorized, the NRF determines a set of one or more discovered NF instance(s) that supports the expected service and sends to the requester NF (a. , "service consumer") a response to the discovery request (a. , "query response"). Thus, the NRF sends a response to NF1 in action 302c, which response comprises repository information indicating one or more discovered NF instance(s) that supports the expected service, i.e. that can produce the expected service. The repository information may e.g. indicate one or more of: FQDN, IP address and/or endpoint addresses (e.g. Uniform Resource Locators (URLs) or similar) for said one or more discovered NF instance(s).

It has been proposed that during a discovery process a service consumer can include some parameters to trim the response to the discovery request ("query response") transmitted by the NRF. For example, it has been accepted to extend the NFDiscover request with an optional query parameter ("limit") defining the maximum number of NFProfiles to be returned in the response to the discovery request. A new query parameter ("max-payload-size") has also been accepted to enable an NF instance to indicate to the NRF the maximum payload size the NF instance expects for the discovery response (e.g. based on data store, cache or HTTP message payload limits the NF instance can support). This allows the NRF to limit the number of NF Profiles it returns in the response such as to not exceed the maximum payload size indicated by the NF instance.

As described below, certain challenges exist.

During an inter AMF mobility procedure for a UE, the target AMF may receive from the source AMF UE context information for the UE, which UE context information includes: pcfld, smsfld, and a sessionContextList that it includes hsmfld and/or vsmfld. The target AMF also needs to consider if the PCF, the SMSF, or the V-SMF needs to be changed, and in 3GPP release <NUM> (Rel-<NUM>), with "Support of deployments topologies with specific SMF Service Areas" as specified in subclause <NUM> in TS <NUM>, the I-SMF may be changed, or newly inserted if there is none, or removed if the SMF can directly support the TAI where the UE is camping.

With the introduction of the query parameters "limit" and "max-payload-size", which the service consumer may include in the discovery request (e.g., HTTP GET request), it is likely that the NRF will not be able to return a complete list of the NFs that match the filter criteria included in the discovery request because the NRF can only include a "limited" number of matching NF profiles and the message size shall be smaller than "max-payload-size.

3GPP has introduced additional procedure to enable the requester to retrieve a complete list of matching profiles, however it requires extra signaling round trips (between the requesting NF instance and the NRF) which results in further latency in signaling, e.g. affect the performance of a mobility procedure, especially for handover procedure (which is more time sensitive).

On the other hand, in many inter NF mobility procedures for a UE, the target NF (e.g., a target AMF during an inter AMF mobility procedure (N2 handover) as specified in subclause <NUM>. <NUM> of 3GPP TS <NUM> v16. <NUM>) needs to determine whether a new I-SMF or V-SMF needs to be selected for a given one of the UE's PDU session or the existing I-SMF or V-SMF can be reused, and also whether a new PCF needs to be selected for Access Mobility Policy control or the existing PCF can continue to be used.

For example, during an inter AMF N2 handover for a PDU session with a I-SMF and SMF involved, the target AMF needs determine whether a new I-SMF needs to be selected, or the current I-SMF can be continued to be used, or whether there is no need for any I-SMF when the UE enters a new Tracking Area (i.e., the I-SMF is removed and the AMF need re-connect to the SMF). As part of the N2 handover procedure, the target AMF will obtain the "target TAI" (i.e. the TAI of the new Tracking Area), and receive the current I-SMF ID and SMF ID.

Per existing specification in 3GPP TS <NUM> v16. <NUM>, the target AMF can use the SMF ID to retrieve the current SMF's service area, which composes a list of TAIs, and then check whether the current SMF's service area includes the target TAI. If the current SMF's service area includes the target TAI, then there is no need for the current I-SMF, and the current I-SMF can be removed. If the current SMF's service area does not include the target TAI, then the target AMF can use the I-SMF ID to retrieve the current l-SMF's service area, which comprises a list of TAIs, and then check whether the current I-SMF's service area includes the target TAI. If the current l-SMF's service area includes the target TAI, then the current I-SMF can be reused. If the current l-SMF's service area does not include the target TAI, then the target AMF can send to the NRF an NF discovery request that includes filter criteria that enables the NRF to return to the AMF a set of SMF profiles, where each SMF profile in the set is for an SMF instance that serves the TA identified by the target TAI. That is, the filter criteria has the Tracking Area Identity is set to the target TAI and the Target NF Type is set to SMF. Once the target AMF gets the discovery response from the NRF, the target AMF can select one of the SMFs identified in the response as the new I-SMF.

Alternatively, instead of performing all of the steps described in the preceding paragraph, the target AMF could send to the NRF a discovery request that includes the filter criteria that causes the NRF to return profiles of SMFs that serve the TA identified by the target TAI. Once the target AMF gets the response from the NRF, the target AMF can check whether the profile for the current SMF and/or current I-SMF is included in the returned set of profiles. If the profile for the current SMF is included in the returned set of profiles, then then there is no need for the current I-SMF, and the current I-SMF can be removed. If the profile for the current SMF is not included in the returned set of profiles but the current l-SMF's profile is included, then the there is no need to select a new I-SMF. If neither the profile for the current SMF nor the profile for the current I-SMF is included in the returned set of profiles, then the target AMF selects an SMF from among the set of SMFs identified by the discovery response and sets the selected SMF as the new I-SMF.

A disadvantage of the alternatives described above is that a very large number of profiles may match the filter criteria and, hence, the discovery response will most likely contain a very large number of profiles. Moreover, the profiles for the current SMF and current I-SMF may be located at the very end of the array of profiles, which is inefficient. In addition, there lacks of mechanism to allow a service consumer to retrieve more than one target NF. Thus, if the target AMF needs to obtain the profile for the current SMF and the profile for the current I-SMF, the target AMF must send two separate discovery requests to the NRF, which is also inefficient.

Accordingly, the invention provides a method performed by a network entity (e.g., an NF, a network node) to more efficiently determine whether a "preferred candidate" network entity matches a filter criteria (i.e., satisfies the filter criteria). For example, in one embodiment, the mechanism enables a target AMF to more quickly determine whether or not the current SMF and/or current I-SMF serves the target Tracking Area. For example, in one embodiment, the discovery request (e.g., the NF discovery request) transmitted by a network entity to a network repository entity (NRE) (e.g., an instance of a <NUM> NRF or a similar repository function and/or node) includes a set of one or more query parameters, wherein the set of query parameters includes a set of N number of candidate network entity identifiers (IDs) (N > <NUM>), wherein each candidate network entity ID (e.g., candidate NF instance ID) included in the set of candidate network entity IDs identifies a candidate network entity. The NRE generates a response to the discovery request and transmits the response to the requesting network entity (a. , "service consumer"), wherein the response includes a list of profiles that satisfy the filter criteria of the discovery request. In one embodiment, the list is configured such that, for each network entity ID included in the set of candidate network entity IDs, the profile of the network entity identified by the network entity ID is included in the beginning portion of the list (i.e., within the first N profiles of the list). In one embodiment, a profile of a network entity identified by a network entity ID included in the set of candidate network entity IDs is included in the beginning portion of the list regardless of whether or not the network entity identified by the network entity ID satisfies the filter criteria.

Thus, in one particular embodiment, a new query parameter of type array is proposed. This new query parameter may be name "Preferred-Candidates. " It is intended that the Preferred-Candidates query parameter will include a set of candidate network entity IDs. In one embodiment, the array comprises a set of tuples, wherein each tuple includes: i) an indicator (e.g., a Boolean value) and ii) a corresponding candidate network entity ID, where the indicator indicates whether or not the profile for the network entity identified by the corresponding candidate network entity ID should be included in the returned list of matching profiles regardless of whether or not the profile for the network entity satisfies the filter criteria. Thus, in one use case, a target AMF may send to an NRE a discovery request comprising a Preferred-Candidates query parameter that contains the ID of the current I-SMF and/or the ID of the current SMF in addition to other query parameter, e.g. TAI and target-nf-type.

Thus, in one aspect there is provided a method performed by a network entity (e.g., an AMF). The method includes the network entity (e.g., instance of an AMF) generating a discovery request (e.g., an NF discovery request), wherein the discovery request comprises a set of query parameters, the set of query parameters comprising at least one candidate network entity identifier, ID, (e.g., an I-SMF instance ID or other NF instance ID), wherein each candidate network entity ID identifies a candidate network entity, wherein the set of query parameters further comprises filter criteria for use by a network repository entity, NRE, to determine network entities that satisfy the filter criteria, where the candidate network entity IDs is not a part of the filter criteria; (claim <NUM>)the network entity transmitting (s404) the discovery request to the NRE (<NUM>) (e.g., an instance of an NRF); and receiving (s406) from the NRE a discovery response (<NUM>) to the discovery request, which response includes a SearchResult data object that includes an array of network entity profiles that comprises a first network entity profile corresponding to a first candidate etwork entity ID of the at least one candidate network entity ID, and that includes a data object that at least contains the at least one candidate network entity ID, and a match Filter indicator that indicates whether or not the network entity profile of the candidate network entity identified by the corresponding candidate network entity ID satisfies the filter criteria.

An advantage of the above described embodiments is that it can greatly improve the efficiency of the service consumer. For example, in the use case of a target AMF that needs to determine whether or not to replace or remove a current I-SMF, the AMF can more efficiently obtain the profile information that it needs to make this determination, as well as other profiles, by including the ID of the current I-SMF in a set of candidate network entity IDs included in the discover request. In one embodiment, NRE is configured to position the needed profile information in the beginning portion of a list of profiles rather than located in a random position within the list. In another embodiment, the discovery response will include a response parameter that declares whether or not the current SMF satisfies the filter criteria and whether or not the current I-SMF satisfies the filter criteria. Thus, in this embodiment an efficiency is gained because there is the potential that the target AMF can determine, for example, that the current I-SMF does not need to be replaced or removed without the target AMF having to parse any profile included in the list of matching profiles included in the discovery response.

<FIG> is a flowchart illustrating a process <NUM> according to an embodiment. Process <NUM> may begin in step s402.

Step s402 comprises a first network entity <NUM> (or "NE <NUM>" for short) (e.g., an AMF) (see <FIG>) generating a discovery request <NUM>, wherein the discovery request comprises a set of query parameters. The set of query parameters comprises a set of candidate network entity IDs comprising at least a first candidate network entity ID (e.g., an I-SMF instance ID), wherein each candidate network entity ID included in the set of candidate network entity IDs identifies a candidate network entity. In one embodiment, the set of query parameters further comprises filter criteria for use by an NRE <NUM> (or "NRE <NUM>" for short) to determine network entities that satisfy the filter criteria, and the set of candidate network entity IDs is not a part of the filter criteria.

Unless it is otherwise clear from the context in which the term is used, a network entity <NUM> may e.g. be any of a NSSF, a NEF, a NRF, a PCF, an UDM, an AUSF, an AMF a SMF or an UPF as shown in <FIG>, or any other similar network function or node. A network entity may 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., a cloud infrastructure. A virtualized function may be a function in which at least a portion of the functionality of the function is implemented as a virtual component(s) (e.g., via a virtual machine(s) executing on one or more physical processing node(s) in a network).

Step s404 comprises NE <NUM> transmitting the discovery request <NUM> to NRE <NUM>. The discovery request <NUM> may be a Hypertext Transfer Protocol (HTTP) GET request that comprises the set of query parameters (the GET request may also include the string "nnrf-disc" or other value to indicate to the NRE that the requestor NE <NUM> is invoking the Discovery Service procedure). In one embodiment, in addition to the query parameter that contains the set of candidate network entity IDs, other query parameters may be included in the GET request, including the query parameters described in table <NUM>. <NUM>-<NUM> of 3GPP TS <NUM> V16. <NUM> ('TS <NUM>").

Table <NUM> below provides descriptions for various query parameters that may be included in request <NUM>.

As shown above, one of the potential query parameters is the "Preferred-candidates" query parameter, which is an array of data objects of type NfCandidate. In one use case, the "Preferred-candidates" query parameter contains the set of candidate network entity identifiers. Thus, in some embodiments, NfCandidate has the same definition as Nflnstanceld, which is the id of a network entity. In other embodiments, NfCandidate is defined as shown below in table <NUM>.

As shown in table <NUM>, the "Preferred-candidates" query parameter of discovery request <NUM> may include a set of tuples (i.e., [nflnstanceld, inclusionlnd]), wherein each tuple includes: i) an inclusion indicator (a. , "inclusionlnd"), which may be a boolean value, and ii) a corresponding candidate network entity ID, where the inclusion indicator indicates whether or not the profile for the network entity identified by the corresponding candidate network entity ID should be included in the returned list of matching profiles regardless of whether or not the profile for the network entity satisfies the filter criteria of discovery request <NUM>. Thus, in one use case, a target AMF may send to NRE <NUM> a discovery request <NUM> comprising a Preferred-Candidates query parameter that contains the ID of the current I-SMF and/or the ID of the current SMF in addition to filter criteria, e.g. values for the TAI and target-nf-type query parameters.

After receiving discovery request <NUM>, NRE <NUM> searches for network entity profiles that satisfy a search criteria. In one embodiment, the search criteria is the same as the filter criteria included in the discover request <NUM>. Thus, in one embodiment, the profiles that match the search criteria will match the filter criteria included in discovery request <NUM>. In another embodiment the search criteria is based on the filter criteria included in the discover request <NUM> but is broader than the filter criteria. For example, assume that the set of candidate network entity IDs includes two IDs: SMF-ID1 and SMF-ID2, and assume that the filter criteria is: tai=target-TAI (i.e., the TAI where a UE is currently located) and target-nf-type=SMF. With this assumption the search criteria (a. , "search query") in one embodiment is: [(tai=target-TAI AND target-nf-type=SMF) OR (target-nf-instance-id=(SMF-ID1 OR SMF-ID2))]. This search query will return at least two profiles - - i.e., the profile for the SMF identified by SMF-ID1 and the profile for the SMF identified by SMF-ID2. Additionally, this search query will return the zero or more SMF profiles that indicate that the SMF service area includes the target-TAI (i.e. the SMF profiles that satisfy the filter criteria). After performing the search, NRE <NUM> transmits a discovery response <NUM> (e.g., HTTP GET response) responding to request <NUM>, which response includes at least some of the profiles that match the search criteria.

Accordingly, a step s406 (optional) comprises NE <NUM> receiving (directly or indirectly) from NRE <NUM> discovery response <NUM>.

In one embodiment, the set of candidate network entity IDs consists of N number of candidate network entity IDs (N > <NUM>), the discovery response <NUM> comprises an array of M number of network entity profiles (M > N), and the NRE <NUM> is configured such that, as a result of the first candidate network entity ID i) identifying a network entity that satisfies the filter criteria and ii) being included in the set of N candidate network entity IDs, the NRE <NUM> places the network entity profile of the network entity identified by the first candidate network entity ID in one of the first N positions of the array of M network entity profiles. In this way, the profiles for the candidate network entities that match the filter criteria are placed in the beginning portion of the profile array included in discovery response <NUM>.

In another embodiment, the response <NUM> comprises an array of network entity profiles, the array of network entity profiles comprises a first network entity profile that corresponds to the first candidate network entity ID (i.e., the first network entity profile is the profile for the network entity identified by the first candidate network entity ID), and the first network entity profile is included in the array of network entity profiles regardless of whether or not the first network entity profile satisfies the filter criteria.

In one embodiment, the set of candidate network entities IDs consists of N number of candidate network entity IDs (N > <NUM>), the array of network entity profiles comprises M number of network entity profiles (M is > N), and the NRE <NUM> includes the network entity profile corresponding to the first candidate network entity ID in one of the first N positions of the array of network entity profiles regardless of whether or not the first candidate network entity ID identifies a network entity that satisfies the filter criteria (i.e., regardless of whether or not the network entity profile corresponding to the first candidate network entity ID satisfies the filter criteria). In this way, the profiles for the candidate network entities are placed in the beginning portion of the profile array included in response <NUM> regardless of whether or not the profile for the candidate network entity satisfies the filter criteria.

In one embodiment, discovery response <NUM> includes a SearchResult data object that comprises a set of attribute values and the set of attribute values may include the array of network entity profiles. For instance, in one embodiment, the SearchResult object may be defined as shown the table below:.

As shown above, one of the potential parameters in the SearchResult data object is the "canlnfo" parameter, which is an array of data objects of type Caninfo. Each such data object includes, at the least, one of the candidate network entity IDs that was included in the set of candidate network entity IDs included in request <NUM>. In one embodiment, each candidate network entity IDs included in request <NUM> is included in the canlnfo object. An example definition of Caninfo is shown below in table <NUM>.

As shown in table <NUM>, the "canlnfo" parameter of discovery response <NUM> may include a set of tuples (i.e., [candidate-nflnstanceld, matchFilter]), wherein each tuple includes: i) a matchFilter indicator, which may be a boolean value, and ii) a corresponding candidate network entity ID, where the matchFilter indicator indicates whether or not the profile for the network entity identified by the corresponding candidate network entity ID matched the filter criteria of the discovery request <NUM>.

In a use case where NE <NUM> is a target AMF, process <NUM> may further include step s401, which occurs before step s402. Step s401 comprises target AMF <NUM> receiving (directly or indirectly) from source AMF <NUM> user equipment, UE, a message <NUM> containing context information for a UE that has an established PDU session, wherein the UE context information comprises PDU context information associated with the PDU session, and the PDU context information comprises a first Session Management Function, SMF, ID identifying a current anchor SMF for the PDU session and a second SMF ID identifying a current intermediate SMF, I-SMF, for the PDU session. For example, the UE context information may include a data object of type PduSessionContext, wherein PduSessionContext is defined as shown in the table below:.

As noted above, in this use particular case, the target AMF may send to NRE <NUM> a discovery request <NUM> comprising a Preferred-Candidates query parameter that contains the ID of the current I-SMF as obtained from the PduSessionContext data object (e.g., the ismfld) and/or the ID of the current SMF as obtained from the PduSessionContext data object (e.g., the hsmfld). In addition, the discovery request contains filter criteria, e.g. a value for the TAI query parameter and a value for the target-nf-type query parameter (in this case, target-nf-type = SMF).

In embodiments where the UE is in idle mode, the target AMF may receive a registration request transmitted by the UE, which may trigger the target AMF to send to the source AMF a request <NUM> for context information for the UE. In embodiments, where the UE is in connected mode, the source AMF may receive a handover required message from the base station serving the UE and, which may trigger the source AMF to send to the target AMF the message <NUM> containing the context information for the UE.

Additionally, in the use case where NE <NUM> is the target AMF, process <NUM> may further include step s408, s410, and s412. In step s408, the target AMF uses information provided by the discovery response <NUM> to determine whether the AMF needs to select a new SMF. In step s410, in response to determining that a new SMF needs to be selected, the AMF selects a new SMF, otherwise the AMF will use the current SMF. For example, the target AMF can use information provided by the discovery response <NUM> to determine that a current I-SMF should be removed or replaced.

For example, in the case where the PduSessionContext data object includes an ismfld and a hsmfld, the target AMF can use the information provided by the discovery response <NUM> to determine whether the SMF identified by the hsmfld and/or the SMF identified by the ismfld serves the Tracking Area in which the UE is current located (assuming the filter criteria comprises: tai=target Tracking Area and target-nf-type=SMF and the set of entity IDs included in the discovery requests includes ismfld and hsmfld). As noted above, if the SMF identified by hsmfld serves the target Tracking Area then the SMF identified by ismfld can be removed (i.e., an intermediate SMF is not needed). And if the SMF identified by hsmfld does not serve the target Tracking Area but the SMF identified by ismfld does serve the target Tracking Area, then no new SMF needs to be selected, otherwise a new intermediate SMF will need to be selected to replace the SMF identified by ismfld.

In one embodiment, the target AMF can determine whether the SMF identified by the hsmfld serves the Tracking Area in which the UE is current located by examining the canlnfo data object included in discovery response. More specifically, the canlnfo data object includes a tuple comprising a matchfilter value and the hsmfld, and the target AMF can determine whether the SMF identified by the hsmfld serves the Tracking Area in which the UE is current located (i.e., the "taget" Tracking Area") by examining this matchFilter value, which value will indciate whether or not the SMF identified by the hsmfld matches the filter criteria, and hence, will indirectly indicate whether or not the SMF identified by the hsmfld serves the target Tracking Area. Alternatively, in cases where the discovery response <NUM> does not include a canlnfo data object, the target AMF can go through the array of SMF profiles that match the filter criteria to determine whether or not the array of SMF profiles includes the profile for the SMF identified by hsmfld. Advantageously, in one embodiment, the NRE <NUM> is configured such that, if profile for the SMF identified by hsmfld matches the filter criteria, then the NRE <NUM> will include the profile in the top portion of the array of profiles (e.g., within the first N positions of the array where N is the number of network entity IDs included in the Preferred-Candidates query parameter. In this way, the target AMF need to review at most N profiles within the array in order to determine whether the SMF identified by hsmfld serves the target Tracking Area. Using the same process described above, the target AMF can also determine whether the SMF identified by ismfld serves the target Tracking Area.

<FIG> is a flowchart illustrating a process <NUM> according to an embodiment that is performed by NRE <NUM>. Process <NUM> may begin in step s602.

Step s602 comprises NRE <NUM> receiving discovery request <NUM> transmitted by NE <NUM>, wherein the received discovery request comprises a set of query parameters, the set of query parameters comprising a set of candidate network entity IDs. The set of candidate network entity IDs comprising at least a first candidate network entity ID, wherein each candidate network entity ID included in the set of candidate network entity IDs identifies a candidate network entity. In some embodiments, the set of query parameters further comprises filter criteria for use by NRE <NUM> to determine network entities that satisfy the filter criteria, and the set of candidate network entity IDs is not a part of the filter criteria. Step s604 comprises NRE <NUM> transmitting to the NE <NUM> discovery response <NUM>, which is responsive to discovery request <NUM> (i.e., discovery response <NUM> includes an array of profiles that satisfy the filter criteria included in request <NUM>).

In some embodiments, the set of candidate network entities IDs consists of N number of candidate network entity IDs (N><NUM>), the discovery response comprises an array of M number of network entity profiles (M>N). In such an embodiment, the process further comprises NRE <NUM> generating the discovery response, where generating the discovery response comprises:.

In another embodiment, generating the discovery response comprises:.

In some embodiments, the set of query parameters further includes an inclusion indicator value that indicates whether or not a network entity profile corresponding to the first candidate network entity ID should be included in the array of profiles even if the network entity profile does not satisfy the filter criteria.

In some embodiments, the discovery response <NUM> comprises a data object (e.g., a canlnfo data object) that contains each said candidate network entity ID, and, for each said candidate network entity ID, the data object further comprises a matchFilter indicator corresponding to the candidate network entity ID, and each matchFilter indicator indicates whether or not the network entity profile of the candidate network entity identified by the corresponding candidate network entity ID satisfies the filter criteria.

In embodiments in which NE <NUM> or NRE <NUM> are implemented in software, <FIG> is a block diagram of a phyiscal machine (or "apparatus") <NUM>, according to some embodiments, which can be used to run NE <NUM> and/or NRE <NUM>. For instance, apparatus <NUM> may run a virtual machine that runs NE <NUM> or NRE <NUM>. As shown in <FIG>, apparatus <NUM> may comprise: processing circuitry (PC) <NUM>, which may include one or more processors (P) <NUM> (e.g., a general purpose microprocessor and/or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like), which processors may be co-located in a single housing or in a single data center or may be geographically distributed (i.e., apparatus <NUM> may be a distributed computing apparatus); a network interface <NUM> comprising a transmitter (Tx) <NUM> and a receiver (Rx) <NUM> for enabling apparatus <NUM> to transmit data to and receive data from other machines connected to a network <NUM> (e.g., an Internet Protocol (IP) network) to which network interface <NUM> is connected (directly or indirectly) (e.g., network interface <NUM> may be wirelessly connected to the network <NUM>, in which case network interface <NUM> is connected to an antenna arrangement); and a local storage unit (a. , "data storage system") <NUM>, which may include one or more non-volatile storage devices and/or one or more volatile storage devices. In embodiments where PC <NUM> includes a programmable processor, a computer program product (CPP) <NUM> may be provided. CPP <NUM> includes a computer readable medium (CRM) <NUM> storing a computer program (CP) <NUM> comprising computer readable instructions (CRI) <NUM>. CRM <NUM> may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI <NUM> of computer program <NUM> is configured such that when executed by PC <NUM>, the CRI causes apparatus <NUM> to perform steps described herein (e.g., steps described herein with reference to the flow charts). In other embodiments, apparatus <NUM> may be configured to perform steps described herein without the need for code. That is, for example, PC <NUM> may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and/or software.

Claim 1:
A method (<NUM>) performed by a network entity (<NUM>), the method comprising:
the network entity (<NUM>), NF instance, generating (s402) a discovery request (<NUM>),
wherein the discovery request (<NUM>) comprises a set of query parameters, the set of query parameters comprising at least one candidate network entity identifier, ID, I-SMF instance ID or other NF instance ID,
wherein each candidate network entity ID identifies a candidate network entity, wherein the set of query parameters further comprises filter criteria for use by a network repository entity, NRE, to determine network entities that satisfy the filter criteria, where the candidate network entity IDs is not a part of the filter criteria;
the network entity transmitting (s404) the discovery request to the NRE (<NUM>); and
receiving (s406) from the NRE a discovery response (<NUM>) to the discovery request, which response includes a SearchResult data object that includes an array of network entity profiles that comprises a first network entity profile corresponding to a first candidate network entity ID of the at least one candidate network entity ID and that includes a data object that at least contains the at least one candidate network entity ID, and a match Filter indicator that indicates whether or not the network entity profile of the candidate network entity identified by the corresponding candidate network entity ID satisfies the filter criteria.