Select application instance

Through the performance data collection and analysis of NWDAF and APMF, combined with the decision-making of SDMF, the problem of selecting the optimal server application example in the wireless communication system is solved, and the optimization of communication performance selection is achieved based on the UE location and time, which improves the system's service distribution and recovery capabilities.

CN115699888BActive Publication Date: 2025-07-25LENOVO (SINGAPORE) PTE LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202080101878.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-05-15
Publication Date
2025-07-25
Estimated Expiration
2040-05-15

AI Technical Summary

Technical Problem

In wireless communication systems, it is difficult for the prior art to effectively select the optimal server application example, especially in edge data networks, and server selection cannot be optimized based on the current location and time of the UE to improve communication performance.

Method used

Performance data is collected through NWDAF, communication session performance is measured using APMF, and SDMF selects the optimal server application example based on performance analysis, considering the current location and time of the UE.

Benefits of technology

The communication performance between the UE and server application examples is optimized, service distribution, recovery capability and communication efficiency are improved, and the most suitable server is selected to provide minimum transmission delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115699888B_ABST
    Figure CN115699888B_ABST
Patent Text Reader

Abstract

Devices, methods, and systems for selecting server application instances are disclosed. A device (800) includes: a network interface (840) that communicates with multiple network functions in a mobile communication network; and a processor (805) that receives (905) a request from a first network function to provide the performance of a first application. Here, the request includes the current location and the requested time. In addition, the first application includes a set of application instances. The processor (805) generates (910) a performance analysis of the first application by using a first set of performance data and reports (915) the performance analysis to the first network function. Here, the performance analysis indicates the best application instance among the set of application instances at the current location and the requested time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The subject matter disclosed herein generally relates to wireless communication, and more particularly to selecting an optimal server instance using UE location and performance data analysis. Background Art

[0002] The following abbreviations and acronyms are defined herein, at least some of which are referred to in the following description.

[0003] 3rd Generation Partnership Project (“3GPP”), 5th Generation Core (“5GC”), Access and Mobility Management Function (“AMF”), Address Resolution Function (“ARF”), Application Programming Interface (“API”), Application Performance Measurement Function (“APMF”), Domain Name System (“DNS”), Downlink (“DL”), Edge Data Network (“EDN”), Evolved Node B (“eNB”), Evolved Packet Core (“EPC”), Internet Protocol (“IP”), Long Term Evolution (“LTE”), LTE-Advanced (“LTE-A”), Modulation and Coding Scheme (“MCS”), Mobility Management Entity (“MME”), Network Function (“NF”), Network Exposure Function (“NEF”), Network Repository Function (“NRF”), Network Slice Selection Assistance Information (“NSSAI”), Network Data Analytics Function (“NWDAF”), Next Generation (e.g., 5G) Node B (“gNB”), Next Generation Radio Access Network (“NG-RAN” or “5G-RAN”), New Radio (“NR”), Policy and Charging Control (“PCC”), Policy Control Function (“PCF”), Packet Data Network (“PDN”), Packet Data Unit (“PDU”), PDN Gateway (“PGW”), Public Land Mobile Network (“PLMN”), Radio Access Network (“RAN”), Radio Access Technology (“RAT”), Server Application Discovery Management Function (“SDMF”), Serving Gateway (“SGW”), Session Management Function (“SMF”), Single Network Slice Selection Assistance Information (“S-NSSAI”), Transmission Control Protocol (“TCP”), Unified Data Management (“UDM”), User Equipment / Device (mobile terminal) (“UE”), User Plane Function (“UPF”), Uplink (“UL”), Universal Mobile Telecommunications System (“UMTS”), and Worldwide Interoperability for Microwave Access (“WiMAX”).

[0004] In some embodiments, a communication system, an edge data network may be deployed to enhance performance. When a UE is located in the edge data network service area, it receives the address of an appropriate edge instance server application. Otherwise (i.e., when the UE is roaming outside the edge data network service area), it receives the address of the default (e.g., cloud-based) instance of the server application. Summary of the Invention

[0005] Disclosed is a method for selecting a server application instance. Devices and systems also perform the functions of the method.

[0006] A method of NWDAF (e.g., for selecting a server application instance) includes receiving, from a first network function (e.g., SDMF), a request providing a performance analysis of a first application. Here, the request includes a current location and a requested time. Further, the first application includes a set of application instances. The method includes generating the performance analysis of the first application by using a first set of performance data. Here, the performance analysis indicates the best application instance among the set of application instances at the current location and the requested time. The method includes reporting the performance analysis to the first network function.

[0007] A method of SDMF (e.g., for selecting a server application instance) includes receiving, from a remote unit, a first request to discover a server application instance of a first application. Here, the remote unit corresponds to a first location. The method includes determining that the first request can be served by multiple server application instances at the first location. The method includes identifying an analysis function (e.g., NWDAF) providing performance data analysis of the first application. The method includes sending a second request to the analysis function to retrieve performance data analysis of the first application at the first location and the requested time. The method includes selecting an optimal server application instance based on the performance data analysis. The method includes sending a response to the first request, the response including the selected server application instance. Brief Description of the Drawings

[0008] A more specific description of the embodiments briefly described above will be presented by reference to the specific embodiments illustrated in the accompanying drawings. It is understood that these drawings only depict some embodiments and should not be considered as limiting the scope. By using the drawings, these embodiments will be described and explained with additional specificity and detail, where:

[0009] Figure 1 is a block diagram illustrating an embodiment of a wireless communication system for selecting a server application instance;

[0010] Figure 2 is a network diagram illustrating an embodiment of a network deployment for selecting a server application instance;

[0011] Figure 3 is a diagram illustrating an embodiment of a set of performance data;

[0012] Figure 4 is a diagram illustrating an embodiment of collecting performance data;

[0013] Figure 5 is a diagram illustrating an embodiment of identifying an optimal server instance;

[0014] Figure 6A is a signal flow diagram illustrating an embodiment of identifying an optimal server instance;

[0015] Figure 6B is Figure 6A a continuation of the process depicted in;

[0016] Figure 7A is a signal flow diagram illustrating an embodiment of collecting performance data;

[0017] Figure 7B is Figure 7A a continuation of the process depicted in;

[0018] Figure 8 is a block diagram illustrating an embodiment of a network equipment device for selecting a server application instance;

[0019] Figure 9 is a flowchart illustrating an embodiment of a first method for selecting a server application instance;

[0020] Figure 10 is a flowchart illustrating an embodiment of a second method for selecting a server application instance. Detailed Description

[0021] As will be appreciated by those skilled in the art, aspects of the embodiments may be embodied as a system, apparatus, method, or program product. Accordingly, the embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects.

[0022] For example, the disclosed embodiments may be implemented as hardware circuitry, including custom very large scale integration ("VLSI") circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. The disclosed embodiments may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, etc. As another example, the disclosed embodiments may include one or more physical or logical blocks of executable code, e.g., which may be organized as objects, procedures, or functions.

[0023] In addition, an embodiment may take the form of a program product embodied in one or more computer-readable storage devices storing machine-readable code, computer-readable code, and / or program code (hereinafter referred to as code). The storage device can be tangible, non-transitory, and / or non-transmission. The storage device may not embody a signal. In one embodiment, the storage device only takes the form of a signal for accessing the code.

[0024] Any combination of one or more computer-readable media may be utilized. The computer-readable media may be a computer-readable storage media. The computer-readable storage media may be a storage device storing the code. The storage device may be, for example (but not limited to), an electronic, magnetic, optical, electromagnetic, infrared, holographic, micro-mechanical, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.

[0025] More specific examples (a non-exhaustive list) of the storage device will include the following: an electrical connection having one or more wires, a portable computer floppy disk, a hard disk, a random access memory (“RAM”), a read-only memory (“ROM”), an erasable programmable read-only memory (“EPROM” or flash memory), a portable compact disc read-only memory (“CD-ROM”), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage media may be any tangible media that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

[0026] References throughout this specification to “one embodiment,” “an embodiment,” or similar language mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may (but do not necessarily) all refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically stated otherwise. The terms “comprising,” “including,” “having,” and variations thereof mean “including (but not limited to)” unless specifically stated otherwise. A list of items enumerated does not mean that any or all of the items are mutually exclusive unless specifically stated otherwise. The terms “a,” “an,” and “the” also refer to “one or more” unless specifically stated otherwise.

[0027] As used herein, a list with the conjunction “and / or” includes any single item in the list or a combination of items in the list. For example, the list of A, B, and / or C includes only A, only B, only C, the combination of A and B, the combination of B and C, the combination of A and C, or the combination of A, B, and C. As used herein, a list using the term “one or more of” includes any single item in the list or a combination of items in the list. For example, one or more of A, B, and C includes only A, only B, only C, the combination of A and B, the combination of B and C, the combination of A and C, or the combination of A, B, and C. As used herein, a list using the term “one of” includes one and only one of any single item in the list. For example, “one of A, B, and C” includes only A, only B, or only C, and excludes the combination of A, B, and C. As used herein, “a component selected from the group consisting of A, B, and C” includes one and only one of A, B, or C, and excludes the combination of A, B, and C. As used herein, “a component selected from the group consisting of A, B, and C and combinations thereof” includes only A, only B, only C, the combination of A and B, the combination of B and C, the combination of A and C, or the combination of A, B, and C.

[0028] In addition, the features, structures, or characteristics of the described embodiments may be combined in any suitable manner. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of the embodiments. However, those skilled in the relevant art will recognize that the embodiments may be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the embodiments.

[0029] Aspects of the embodiments are described below with reference to the schematic flowcharts and / or schematic block diagrams of methods, apparatuses, systems, and program products according to the embodiments. It will be understood that each block of the schematic flowcharts and / or schematic block diagrams, and combinations of blocks in the schematic flowcharts and / or schematic block diagrams, can be implemented by code. This code can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine such that instructions executed by the processor of the computer or other programmable data processing device create means for implementing the functions / actions specified in the schematic flowcharts and / or schematic block diagrams.

[0030] The code can also be stored in a storage device, which can direct a computer, other programmable data processing device, or other device to act in a particular manner such that the instructions stored in the storage device produce an article of manufacture that includes instructions for implementing the functions / actions specified in the schematic flowcharts and / or schematic block diagrams.

[0031] The code can also be loaded onto a computer, other programmable data processing device, or other device to perform a series of operation steps on the computer, other programmable device, or other device, so as to generate a computer-implemented process, such that the code executed on the computer or other programmable device provides a process for implementing the functions / actions specified in the schematic flowchart and / or schematic block diagram.

[0032] The schematic flowchart and / or schematic block diagram in the figure illustrate the architecture, functions, and operations of the possible implementations of the device, system, method, and program product according to various embodiments. In this regard, each box in the schematic flowchart and / or schematic block diagram may represent a module, segment, or part of the code, which contains one or more executable instructions of the code for implementing the specified logical function.

[0033] It should also be noted that in some alternative implementations, the functions mentioned in the boxes may occur out of the order mentioned in the figure. For example, in fact, two consecutively shown boxes may be executed simultaneously, or sometimes may be executed in the reverse order, depending on the functions involved. Other steps and methods can be conceived, whose functions, logics, or effects are equivalent to one or more boxes or parts thereof of the illustrated figure.

[0034] The description of the elements in each figure may refer to the elements of the ongoing figure. Similar numbers refer to similar elements in all figures, including alternative embodiments of similar elements.

[0035] Disclosed are a method, device, and system for selecting a server application instance. A UE communicates with a mobile network (e.g., a 5G network) that supports edge computing services. The edge computing services are provided by one or more edge data networks ("EDN") connected to the mobile network. Each EDN provides edge computing services in a geographical area composed of one or more cells and is referred to as an EDN service area.

[0036] When a client application in the UE wants to communicate with a server application, it attempts to discover the server application in the network to communicate with. In many deployment scenarios, the server applications are deployed at multiple different locations in the network, such as multiple application servers located in different edge data networks ("EDN"). In such scenarios, the different server applications deployed in the network are referred to as server application instances. Deploying multiple server application instances can achieve better service distribution, better resilience, and better communication performance, because the server application instance with the minimum transmission delay can be selected.

[0037] In a scenario where multiple server application instances are available, the network selects the "best" server application instance to communicate with the client application in the UE. Note that which server application instance is the "best" server application instance for the UE depends on the current location of the UE. In some embodiments, the "best" server application instance is the server application instance deployed closest to the location of the UE. However, the "best" server application instance is not always the server application instance closest to the UE. For example, because this instance may use limited computing and / or network resources, or may generally serve a large number of UEs, while other server application instances may use greater computing and / or network resources and may generally not serve many UEs.

[0038] The present disclosure specifies a novel solution for selecting the "best" server application instance for a UE by considering performance analysis that determines the expected performance between the client application in the UE and each server application instance in the network.

[0039] Figure 1 A wireless communication system 100 for selecting a server application instance in accordance with an embodiment of the present disclosure is depicted. In one embodiment, the wireless communication system 100 includes at least one remote unit 105, at least one base unit 110 in an access network ("AN") 115, a mobile core network 120, a first EDN 130 located at a first location, a second EDN 140 located at a second location, and a third EDN 150 located at a third location. The AN 115 and the mobile core network 120 form a mobile communication network. The AN 115 may be composed of at least one base unit 110. Depending on the radio access technology deployed by the AN 115, the remote unit 105 may communicate with the access network 115 using a 3GPP communication link and / or a non-3GPP communication link. Although Figure 1 a specific number of remote units, base units, ANs, mobile core networks, and edge data networks are depicted, those skilled in the art will recognize that any number of remote units, base units, ANs, edge data networks, and mobile core networks may be included in the wireless communication system 100.

[0040] In one implementation, the wireless communication system 100 conforms to the 5G system specified in the 3GPP specifications. However, more generally, the wireless communication system 100 may implement some other open or proprietary communication networks, such as LTE / EPC (referred to as 4G) or WiMAX, as well as other networks. The present disclosure is not intended to be limited to embodiments of any particular wireless communication system architecture or protocol.

[0041] In one embodiment, the remote unit 105 may include a computing device such as a desktop computer, laptop computer, personal digital assistant ("PDA"), tablet computer, smart phone, smart TV (e.g., a TV connected to the Internet), smart appliance (e.g., an appliance connected to the Internet), set-top box, game console, security system (including security cameras), in-vehicle computer, network device (e.g., router, switch, modem), etc. In some embodiments, the remote unit 105 includes a wearable device such as a smart watch, fitness band, optical head-mounted display, etc. Additionally, the remote unit 105 may be referred to as a UE, subscriber unit, mobile device, mobile station, user, terminal, mobile terminal, fixed terminal, subscriber station, user terminal, wireless transmit / receive unit ("WTRU"), device, or other terms used in the art.

[0042] The remote unit 105 may communicate directly with one or more of the base units 110 in the access network 115 via uplink ("UL") and downlink ("DL") communication signals. Additionally, the UL and DL communication signals may be carried on the communication link 113. Note that the access network 115 is an intermediate network that provides access to the mobile core network 120 to the remote unit 105.

[0043] In some embodiments, the remote unit 105 communicates with an application server instance (i.e., 131, 141, or 151) via a network connection to the mobile core network 120. For example, an application (e.g., a web browser, media client, phone / VoIP application) in the remote unit 105 may trigger the remote unit 105 to establish a PDU session (or other data connection) with the mobile core network 120 using the access network 115. Then, the mobile core network 120 relays traffic between the remote unit 105 and the application server instance (e.g., in the EDN 130, 140, or 150) using the PDU session. Note that the remote unit 105 may establish one or more PDU sessions (or other data connections) with the mobile core network 120. The remote unit 105 may establish additional PDU sessions for communicating with other data networks and / or other communication peers. As discussed in further detail below, if the remote unit 105 is located in an EDN service area, then the mobile data connection (PDU session) of the remote unit 105 may be modified to include an edge application server instance (i.e., 131, 141, or 151).

[0044] The basic unit 110 can be distributed over a geographical area. In some embodiments, the basic unit 110 may also be referred to as an access terminal, access point, base, base station, Node B, eNB, gNB, home Node B, relay node, device, or any other term used in the art. The basic unit 110 is typically part of a radio access network (“RAN”), such as the access network 115, which may include one or more controllers communicatively coupled to one or more corresponding basic units 110. These and other elements of the radio access network are not shown but are generally well known to those of ordinary skill in the art. The basic unit 110 is connected to the mobile core network 120 via the access network 115.

[0045] The basic unit 110 can serve a number of remote units 105, such as a cell or cell sector, within a service area via a communication link 113. The basic unit 110 can communicate directly with one or more remote units 105 via communication signals. Generally, the basic unit 110 transmits DL communication signals to serve the remote units 105 in the time, frequency, and / or spatial domains. Additionally, the DL communication signals can be carried on the communication link 113. The communication link 113 can be any suitable carrier in licensed or unlicensed radio spectrum. The communication link 113 facilitates communication between one or more of the remote units 105 and / or one or more of the basic units 110.

[0046] In one embodiment, the mobile core network 120 is a 5G Core (“5GC”) or an Evolved Packet Core (“EPC”), which can be coupled to a data network (e.g., the data network 150), such as the Internet and private data networks, as well as other data networks. The remote unit 105 can have a subscription or other account with the mobile core network 120. In some embodiments, each mobile core network 120 belongs to a single Public Land Mobile Network (“PLMN”). However, the present disclosure is not intended to be limited to the implementation of any particular wireless communication system architecture or protocol.

[0047] The mobile core network 120 includes a number of network functions (“NFs”). As depicted, the mobile core network 120 includes at least one UPF user plane function (“UPF”) 121 that serves the access network 115. Note that in some embodiments, the mobile core network may contain one or more intermediate UPFs, e.g., additional UPFs that serve one or more of the edge data networks 130, 140, 150. In these embodiments, the UPF 121 will be the central UPF, as discussed in further detail below.

[0048] The mobile core network 120 also includes multiple control plane functions, including (but not limited to) the Access and Mobility Management Function (“AMF”) 123, the Session Management Function (“SMF”) 125, the Network Data Analytics Function (“NWDAF”) 127, the Network Repository Function (“NRF”) 128 (used by various NFs to discover and communicate with each other via APIs), and the Network Exposure Function 129. In certain embodiments, the mobile core network 120 may also include the Unified Data Management Function (“UDM”), the Authentication Server Function (“AUSF”), the Policy Control Function (“PCF”), or other NFs defined for 5GC. In certain embodiments, the mobile core network 120 may include an AAA server.

[0049] In various embodiments, the mobile core network 120 supports different types of mobile data connections and different types of network slices, where each mobile data connection utilizes a specific network slice. Here, a “network slice” refers to a part of the mobile core network 120 that is optimized for a specific service type or communication service. A network instance can be identified by an S-NSSAI, and a set of network slices that the remote unit 105 is authorized to use is identified by an NSSAI. In certain embodiments, various network slices may include separate instances of network functions, such as SMF 125 and UPF 121. In some embodiments, different network slices may share some common network functions, such as AMF 123. For ease of illustration, Figure 1 different network slices are not shown, but it is assumed that they are supported.

[0050] The NWDAF 127 derives analytics based on NF requests (consumer NFs). The consumer NF can request analytics in a statistical or predictive form. The NWDAF 127 derives analytics by collecting relevant data from other NFs. For example, the NWDAF 127 derives statistical or predictive analytics of the location of the remote unit 105 by collecting location change events from the AMF 123. In various embodiments, the NWDAF 127 collects specific data to retrieve relevant data from NFs by using the event exposure subscription / notification service operation. For example, the NWDAF 127 may subscribe to an NF / AF (e.g., the AMF 123) to retrieve specific data by including an event ID (e.g., location change). Then the NF / AF notifies the NWDAF when the “event” occurs. In the above example, when the UE location changes, the AMF notifies the NWDAF 127.

[0051] As mentioned above, the NWDAF 127 needs to collect performance data of one or more applications. This disclosure introduces a new network function, called Application Performance Measurement Function ("APMF"), for obtaining network performance data. In the depicted embodiment, each of the EDNs 130, 140, and 150 includes an APMF (i.e., APMF 133, 143, and 153). The APMF is located in the EDN and can measure the performance of one or more applications deployed in this EDN. To obtain the performance of a certain application, the APMF obtains the performance of all (or selected) communication sessions between the client application instance of this application and the server application instance of this application, where the server application instance is located in the same EDN as the APMF's EDN. The NWDAF 127 collects the performance data of this application from multiple APMFs in each EDN that supports this application. After obtaining the performance data of the communication session, the APMF reports the data to the NWDAF 127. Since the NWDAF 127 collects measurements from many APMFs each located in a different EDN, the NWDAF 127 can analyze these measurements and estimate which server application instance is expected to provide the best performance when a new client application instance requests a connection to the server application instance.

[0052] This disclosure introduces a new 5G network function, called Server Application Discovery and Management Function ("SDMF") 126, which selects the best server application instance based on the analysis provided by the NWDAF. In various embodiments, the SDMF 126 determines the location of the remote unit 105, determines the client application instance requesting a connection to the server application instance, retrieves the network performance analysis related to the location, and determines the best application server instance (i.e., 131, 141, or 151).

[0053] Figure 1 Shows three server application instances (i.e., application server instances 131, 141, and 151) deployed in three different EDNs (i.e., edge data networks 130, 140, and 150). In Figure 1 the example shown, the SDMF 126 considers selecting the server application instance 131 of the EDN network 130 because it is the closest to the remote unit 105. However, this server 131 may provide an average latency (50 ms) that is greater than the average latency (10 ms) of the server application instance 141 at the EDN 140 located at position 2, and position 2 is not the closest to the current location of the remote unit 105. In such embodiments, the SDMF 126 selects the application server instance with the best performance and sends the IP address of the selected server instance to the remote unit 105.

[0054] Although Figure 1 depicts components of a 5G RAN and a 5G core network, the described embodiments for selecting server application instances are applicable to other types of communication networks and RATs, including IEEE 802.11 variants, GSM, GPRS, UMTS, LTE variants, CDMA 2000, Bluetooth, ZigBee, Sigfox, etc. For example, in an LTE variant involving the EPC, the AMF 123 can be mapped to the MME, the SMF 125 can be mapped to the control plane part of the PGW and / or the MME, the UPF 121 can be mapped to the user plane parts of the SGW and the PGW, and the UDM / UDR can be mapped to the HSS, etc.

[0055] Although Figure 1 a specific number and type of network functions are depicted, those skilled in the art will recognize that any number and type of network functions can be included in the mobile core network 120. Additionally, in the case where the mobile core network 120 is deployed as an EPC, the depicted network functions can be replaced by appropriate EPC entities, such as the MME, S-GW, P-GW, HSS, etc.

[0056] Figure 2 A network deployment 200 is depicted, including a UE 205, a 5G radio access network (5G-RAN) 210, a 5G core network 220, and an edge data network ("EDN") 230. The UE 205 is an embodiment of the remote unit 105 and runs an instance of a first client application ("client application-1 instance") 207. Note that for some server applications, the local instance of the server application can be located in the EDN 230 (e.g., server application-1 instance 231 and server application-2 instance 233). The 5G core network 220 includes a UPF 221, an AMF 223, an SDMF 225, and an NWDAF 227. Via the 5G core 220, the UE 205 establishes an application session (e.g., a TCP connection) 240 with the local instance of the server application (here, server application-1 instance 321).

[0057] As mentioned above, the present disclosure specifies a novel solution for selecting the "best" server application instance for UE 205 at the current location of UE 205 by considering performance analysis, where the performance analysis determines the expected performance between a given client application 207 in UE 205 and each server application instance 231, 233 in the network based on the current location 209 of UE 205. There may be multiple client application instances of each in different UEs 205, and there may be multiple server application instances of each in different network locations (e.g., in different EDNs). The performance analysis is derived by NWDAF 227 in the 5G core network 220.

[0058] Note that from a statistical perspective, the "best" server application instance selected using this solution is the best server application instance. This means that when a large number of UEs establish communication sessions with multiple server application instances in the network, this solution can optimize the average communication performance. In this case, this solution can optimize the average communication performance across all these communication sessions. However, this solution cannot guarantee that the best server application instance will be selected for each individual UE 205 (or, for each client application instance 207), because it is based on historical data and it filters out short-term variations in the network, such as short congestion conditions, short transmission failures, etc.

[0059] To derive the performance analysis of an application, NWDAF 227 needs to collect the performance data of this application. This means that whenever the client application instance 207 of this application establishes a communication session 240 with the server application instance 231 of this application, the performance data (e.g., latency and packet loss rate) characterizing the performance of this communication session will be collected.

[0060] As depicted, NWDAF 227 obtains the performance data from APMF 235 located in EDN 230. APMF 235 measures the performance data of all (or selected) communication sessions established with the server application instances 231, 233 deployed in this EDN 230. The illustrated server application-1 instance 231 and server application-2 instance 233 correspond to the server application instances of two different applications. APMF 235 obtains the performance of the communication session 240 between the client application instance 207 of this application and the server application instance 231 of this application, where the server application instance 231 is located in the same EDN 230 as APMF 235. NWDAF 227 collects the performance data of this application from multiple APMFs in each EDN that supports this application.

[0061] After the termination of communication session 240, the APMF obtains the performance data of this session (e.g., average packet loss rate and average latency), determines the UE location (e.g., gNB with cell ID 'xyz' at location 1), and sends a measurement report to the NWDAF 227. The measurement report contains: A) the application identity associated with the communication session; B) the UE location; C) the identifier of the server application instance (e.g., its IP address); D) the start and end times of the session; and E) the measured performance data of the session (e.g., average packet delay, average loss rate, etc.).

[0062] The NWDAF 227 collects all the received measurement reports from one or more APMFs and builds a large table of performance data. Figure 3 Depicts an example of the performance data table. Since the NWDAF 227 collects measurements from many APMFs each located in a different EDN, the NWDAF 227 can analyze these measurements and estimate which server application instance is expected to provide the best performance when a new client application instance requests a connection to a server application instance. The SDMF 225 selects the best server application instance based on the analysis provided by the NWDAF 227, as discussed in further detail below.

[0063] Figure 3 Depicts an exemplary table 300 of server application performance data collected from multiple server application instances. As depicted, table 300 may contain data for different applications, different UE locations, different server instances, different times of day, different session protocols, etc. The NWDAF 227 can store and maintain table 300 to determine the best / optimal server instance when the UE 205 requests a data session involving a specific application. Here, the UE location and the time of day can be used by the NWDAF 227 to identify the best / optimal server instance.

[0064] Figure 4Depict scenario 400 where the APMF obtains performance data of the application "App-1" according to an embodiment of the present disclosure. Here, the client App-1 instance 401 establishes an application session with the server App-1 instance 411. In the depicted scenario, App-1 is a web application (i.e., based on the HTTP protocol), where the web client 403 accesses the web server 413. The web server 413 hosting the server App-1 instance 411 is configured by the APMF 235 to report measurements of all (or selected) communication sessions of App-1 (see step 1). Then, the web server 413 identifies the communication session (e.g., TCP connection) established for the server App-1 instance 411, for example, by requesting TCP statistics from the TCP layer to obtain the performance data of this session (see step 2), and finally reports this data to the APMF 235 when the communication session is completed (see step 3). In some embodiments, the web server 413 may be configured to, for example, in step 1, report only the measurements of the selected communication sessions of App-1, for example, only report long-lived communication sessions, for example, having a minimum duration of one (1) minute. In this way, the frequency of measurement reports is reduced, and the obtained performance data is more accurate because it is averaged over a longer time window.

[0065] After the APMF 235 obtains the performance data (i.e., measurements) of the communication session of App-1, the APMF 235 determines the location of the UE 205 associated with this communication session, for example, by interacting with the location management server 437 located in the EDN 230 (see step 4). Note that the UE 205 may have a corresponding location management client 407 for reporting the UE location. After determining the UE location, assuming that the NWDAF 227 has subscribed to the APMF 235 to receive such reports of App-1, the APMF 235 may send a performance data report of this communication session of App-1 to the NWDAF 227 ( Figure 4 not shown in the figure).

[0066] Figure 5Scenario 500 depicts the selection of the best server application instance by SDMF 225 based on performance analytics from NWDAF 227 according to an embodiment of the present disclosure. SDMF 225 identifies when a UE 205 requests communication with a server application for a given application (see block 505), retrieves performance analytics from NWDAF by providing the UE location and the identity of the given application (see messaging 507 to 509), and selects the "best" server application instance for this UE 205 using the performance analytics returned by NWDAF (see block 511). For example, when a UE 205 located in cell X has a client application that sends a DNS query (client application request) to find the IP address of app1.example.com (routed to SDMF 225 via UPF 221, see messaging 501 and 503), SDMF 225 requests performance analytics from NWDAF 227 for application = app1.example.com and location = cell-X (see messaging 507).

[0067] As discussed above, NWDAF 227 collects performance data provided by APMFs in different EDNs and can utilize this data to understand the communication performance experienced by many UEs at many different locations and at many different times, where these UEs communicate with many server application instances in different EDNs. When such a UE begins to communicate with a particular server application instance, this knowledge can be utilized to predict the communication performance that the UE will experience at a particular location and at a particular time instance. For example, by analyzing the collected measurement reports, NWDAF 227 can predict that for a UE in cell-X and at 05:23 PM, the expected performance will be: [if the UE communicates with server application instance 1, then {loss data rate = 5x10-3, latency = 35.7 ms}; if the UE communicates with server application instance 2, then {loss data rate = 6x10-4, latency = 10.5 ms}; …; if the UE communicates with server application instance N, then {loss data rate = 7x10-4, latency = 53.2 ms}]

[0068] The above predicted data (also referred to as "performance analytics") can be used to determine the "best" (i.e., optimal) server application instance for a UE (client application request) that requests communication with a server application at a particular location and at a particular time instance.

[0069] The NWDAF uses performance analysis (see Messaging 509) to respond to the SDMF. The performance analysis includes the expected performance at the requested time between this UE 205 and each known server application instance of app1.example.com. Based on the performance analysis from the NWDAF 227, the SDMF 225 determines the best server application instance (see block 511) and sends a DNS response containing the IP address of the best server application instance to the UE (routed to the UE 205 via the UPF 221, see Messaging 513 and 515).

[0070] In some embodiments, the NWDAF 227 may provide a recommendation on which server application instance has the best expected performance at the UE location. In other embodiments, the NWDAF 227 may provide a list of one or more server application instances and associated performance data, and the SDMF 225 may select the best server application instance based on the performance data.

[0071] The NWDAF 227 exports a "best" server application instance analysis for the application in the current UE location where the client application in the UE 205 requests to discover a server application instance. The UE location may be a cell identity, geographical coordinates, or the identity of a non-3GPP access point serving the UE 205, etc.

[0072] When the client application in the UE 205 sends a request to discover a server application instance (in one embodiment, this is a DNS request), the SDMF 225 in the 5G core network 220 determines the application that initiated the client application request, and the request can be served by a server application instance in the EDN. In one embodiment, the SDMF 225 is the SMF or NF that handles the DNS request.

[0073] The SDMF 225 determines the "best" server application instance by requesting an analysis of the performance of server application instances at the UE location from the NWDAF 227. The NWDAF 227 may respond by providing a list of one or more server application instances with their corresponding statistical performance. In certain embodiments, the SDMF 225 selects the server application instance, and the UPF 221 serving the UE 205 may be configured to route the client application request to the selected server application instance.

[0074] Figures 6A to 6BDepicts the signaling flow of process 600 for analytics-based server selection according to an embodiment of the present disclosure. Process 600 involves UE 205, SDMF 225, NWDAF 227, multiple APMFs 601 (each located in an EDN), and multiple server application instances 603 monitored by APMF 601. Again, although SDMF 225 is presented as an independent function, it may be collocated with another mobile network function (e.g., with SMF 125).

[0075] At step 0, NWDAF 227 collects performance data for multiple communication sessions, each associated with an application, the server application instance of this application, UE location, duration (start / end time), etc. (see block 605). The collection of performance data will be described in further detail below with reference to Figures 7A to 7B Performance data collection is described in further detail below with reference to

[0076] At step 1, the client application in UE 205 (i.e., of application 1) is triggered to discover the application server (see block 607). At step 2, the client application in UE 205 sends a request to discover the server application instance via a user plane connection (see messaging 609). In one embodiment, the request is a DNS request.

[0077] Note that in Figures 6A to 6B it is assumed that UE 205 is "edge unaware", i.e., there is no client in UE 205 to determine whether the client application request should be sent to a server application instance in the anchor application server (e.g., in the cloud) or to a server application instance in the EDN.

[0078] At step 3, the client application request is received by SDMF 225 in the 5G core. SDMF 225 determines the application of the client application request (i.e., identifies application 1 from the request) (see block 611). In one embodiment, the application determination is performed based on PCC rules provided by the PCF in the 5G core.

[0079] At step 4, SDMF 225 also determines that at the UE location, the client application request can be served by a server application instance hosted in the EDN (e.g., EDN 230) (see block 613). The service determination can also be performed based on PCC rules provided by the PCF.

[0080] In step 5, the SDMF 225 decides to send a request to the NWDAF 227 to receive a performance analysis of the server application instances hosted at the EDN at the UE location (see messaging 615). The SDMF 225 may query the NRF 128 to determine the NWDAF 227 that provides the analysis at the UE location.

[0081] Accordingly, the SDMF 225 sends an analysis request to the NWDAF (see messaging 615). In one embodiment, the request includes an analysis ID identifying the type of analysis required (i.e., server application performance) and the location of the UE for which performance data is requested. The request also includes the requested time, such as the time of day, day of the week, calendar date, etc.

[0082] Continue Figure 6B , at step 6, the NWDAF 227 derives a performance analysis (see block 623) by using the performance data collected for the multiple communication sessions of application 1 and by considering the current UE location and the requested time.

[0083] At step 7, the NWDAF 227 reports an analysis containing a list of one or more server application instances and associated statistical performance data (see messaging 625). At step 8, the SDMF 225 selects the server application instance that provides the best performance based on the statistical performance data (see block 627).

[0084] At step 9, the SDMF 225 includes the selected server application instance in response to the client application in the UE 205 (see messaging 629). Then, the UE 205 initiates communication with the selected server application instance. An alternative embodiment of step 9 is that the SDMF 225 configures the UPF (i.e., UPF 221) to route the client application request to the selected server application instance. In this case, the server application instance will respond directly to the UE 205.

[0085] Figures 7A to 7B Depicts a signaling flow of a process 700 for collecting performance data of multiple communication sessions according to an embodiment of the present disclosure. The process 700 involves the NWDAF 227, NRF 128, NEF 129, APMF 701, and server application instance 703.

[0086] At step 0, the NRF 128 contains the domain names served by each NEF 129. The APMF 701 - via the NEF129 - configures a list of applications that support reporting performance data of server application instances.

[0087] At step 1, the NWDAF 227 is configured to collect performance data of an application. The NWDAF 227 may be configured to collect performance data of an application when, for example, there is a service level agreement that requires a specific performance of this application or when the NWDAF 227 is requested to provide a performance analysis of this application.

[0088] At step 2, the NWDAF 227 identifies the APMF 701 that supports this application. Alternatively, the NWDAF 227 may discover the NEF 129 that interfaces with the APFM 701 that supports this application. The NWDAF 227 may retrieve this information from the NRF 128, or may be requested as part of an analysis request from an NF consumer. At step 3, the NWDAF 227 may interface with the NRF 128 to obtain a list of NEFs that interface with one or more APMFs 701 that support the application.

[0089] At step 4, the NWDAF 227 determines to subscribe to each APMF 701 that can provide performance data of the application under consideration. The NWDAF 227 may determine to subscribe to certain events related to performance data.

[0090] Continue Figure 7B , at step 5, the NWDAF 227 sends an event subscription request to the APMF 701 (see Messaging 725). If the request is made via the NEF 129, then the NEF 129 forwards the request to the appropriate APMF 701 in each EDN that the NEF 129 can interface with (the NEF 129 registers the domain names supported at the NRF 128).

[0091] The subscription request contains an event ID that identifies the type of information to be reported (i.e., performance data), an identifier of the application, and additional parameters specified in the 3GPP specifications, such as the target of the event report (i.e., any UE) and event filter information (e.g., reporting performance data at a specific time of day).

[0092] At step 6, the NEF 129 forwards the subscription request to the APMF 701 (see Messaging 729). In the depicted embodiment, the server application instance 703 initiates a TCP session with the UE for application-x (see Messaging 729). Here, the TCP session is associated with the source UE IP address.

[0093] At step 7, whenever the client application instance establishes a communication session (e.g., a TCP connection) with the server application instance 703 associated with this APMF 701, the APMF 701 measures the performance data (see block 731).

[0094] At step 8, the APMF 701 may obtain the UE location by sending a location report request to the Location Manager Server 437 (see box 733, reference TS23.434, clause 9.2.2 for an example location report request). Then, the Location Manager Server 437 requests the Location Management Client 407 in the UE 205 to provide its location (reference Figure 4 ).

[0095] At Figure 7B step 9, after the communication session is completed (see Messaging 735), the APMF 701 may report the performance data of this communication session to the NWDAF 227 (see Messaging 737). Alternatively, to minimize the signaling between the APMF 701 and the NWDAF 227, the APMF 710 may send a single report containing the performance data of multiple communication sessions to the NWDAF 227.

[0096] Note that to improve signaling efficiency, when the APMF 701 has obtained the performance data of more communication sessions and provides this data to the NWDAF 227 in batches, the APMF 701 may defer reporting the performance data to the NWDAF 227 to a later time instance.

[0097] In addition to the performance data, the APMF 701 may also report the UE IP address, the address / ID of the edge application server instance hosting the application, the timestamp indicating when the performance is measured, and the identifier of the application. The report may be sent to the NWDAF 227 via the NEL 129.

[0098] Figure 8 An embodiment of a network equipment device 800 that can be used to select a server application instance according to an embodiment of the present disclosure is depicted. In some embodiments, the network equipment device 800 may be an embodiment of the NWDAF 127. In certain embodiments, the network equipment device 800 may be an embodiment of the SDMF 126. In other embodiments, the network equipment device 800 may be an embodiment of the APMF. Additionally, the network equipment device 800 may include a processor 805, a memory 810, an input device 815, an output device 820, a transceiver 825. In some embodiments, the input device 815 and the output device 820 are combined into a single device, such as a touch screen. In certain embodiments, the network equipment device 800 does not include any input device 815 and / or output device 820.

[0099] As depicted, transceiver 825 includes at least one transmitter 830 and at least one receiver 835. Here, transceiver 825 communicates with one or more remote units 105. Additionally, transceiver 825 may support at least one network interface 840. In some embodiments, transceiver 825 supports an interface for communicating with NWDAF (e.g., the Nnwdaf interface). In some embodiments, transceiver 825 supports an interface for communicating with SDMF. In some embodiments, transceiver 825 supports an interface for communicating with APMF. In some embodiments, transceiver 825 supports an interface for communicating with a UPF in a mobile core network (e.g., 5GC) (e.g., the Nupf interface).

[0100] In one embodiment, processor 805 may include any known controller capable of executing computer-readable instructions and / or capable of performing logical operations. For example, processor 805 may be a microcontroller, a microprocessor, a central processing unit (“CPU”), a graphics processing unit (“GPU”), an auxiliary processing unit, a field programmable gate array (“FPGA”), or a similar programmable controller. In some embodiments, processor 805 executes instructions stored in memory 810 to perform the methods and routines described herein. Processor 805 is communicatively coupled to memory 810, input device 815, output device 820, and first transceiver 825.

[0101] In various embodiments, processor 805 controls network equipment device 800 to implement the NWDAF behavior described above. In some embodiments, processor 805 receives a request from a first network function (e.g., SDMF) to provide a performance analysis of a first application. Here, the request includes the current location and the requested time. Additionally, the first application includes a set of application instances. The processor generates a performance analysis of the first application by using a first set of performance data. Here, the performance analysis indicates the best application instance among the set of application instances for the current location and the requested time. Via the network interface, the processor reports the performance analysis to the first network function.

[0102] In some embodiments, the processor identifies a first set of APMFs capable of providing performance data of the first application, where each APMF provides performance data of at least one application instance among the set of application instances. In such embodiments, the processor may subscribe to each APMF in the first set of APMFs to receive the performance data of the first application and construct a first set of performance data of the first application. Here, the first set includes all the performance data of the first application received from the first set of APMFs, and each performance data is associated with a coverage location and time (e.g., one or more cells where the performance data is acquired).

[0103] In some embodiments, the processor selects a subset of performance data from a first set of performance data. Here, each piece of performance data in the subset has a coverage location that matches the current location. As used herein, having a coverage location that matches the current location means that the current UE location is within the location where the performance data is obtained.

[0104] In a further embodiment, selecting a subset of performance data may include filtering the first set according to the current location and a specific time. For example, if the request contains the parameter 'location=cell-X' and the request arrives at 13:00, then the processor 805 may filter the first set of performance data to find the best instance for this location (cell-X) and around this time (13:00). Thus, the performance data obtained for this location at 22:00 may be irrelevant. Note that in various embodiments, the first request specifies the requested time. Here, the processor filters the first set according to the requested time.

[0105] In some embodiments, the processor 805 reports a performance analysis by providing at least one of the following for each application instance in a group of application instances: performance statistics and performance prediction. In some embodiments, reporting a performance analysis to a first network function includes recommending an application instance. In some embodiments, the processor 805 reports a performance analysis to the first network function by providing a list of one or more server application instances and associated performance data.

[0106] In various embodiments, the processor 805 controls the network equipment device 800 to implement the SDMF behavior described above. In some embodiments, the processor 805 receives a first request from a remote unit (i.e., UE) to discover an application server instance of a first application. Here, the remote unit corresponds to a first location. The processor 805 determines that the first request can be served by multiple application server instances at the first location and identifies an analysis function (e.g., NWDAF) that provides performance data analysis of the first application. Via the network interface, the processor 805 sends a second request to the NWDAF to retrieve the performance data analysis of the first application at the first location and the requested time. The processor 805 selects an optimal application server instance based on the performance data analysis. Via the network interface, the processor 805 sends a response to the first request, the response including the selected application server instance.

[0107] In some embodiments, the processor 805 receives a notification from the NWDAF, the notification including a list of multiple application server instances of a first application and the performance data analysis of each of the application server instances in the list of multiple application server instances at the requested time at the first location.

[0108] In some embodiments, the processor 805 receives a PCC rule from a policy control function in a mobile communication network. In such embodiments, the processor 805 identifies a first application from a first request using the PCC rule. In certain embodiments, the processor 805 determines that the first request can be served by multiple application server instances using the PCC rule.

[0109] In some embodiments, the processor 805 configures the user plane function to route the first request to a selected application server instance. In some embodiments, a second request identifies a first application and a first location. In some embodiments, the first request includes a DNS request. In such embodiments, a response to the first request includes a DNS reply that includes an IP address of the selected application server instance.

[0110] In various embodiments, the processor 805 controls the network equipment device 800 to implement the AMPF behavior described above. In some embodiments, the processor 805 obtains the performance of all (or a selected set) of communication sessions between a client application instance of a first application and a server application instance of the first application. The processor 805 may receive a subscription request from an analytics function. In response to obtaining performance data for a subscribed application, the processor 805

[0111] In certain embodiments, the AMPF and the server application instance are located in the same EDN. In certain embodiments, the processor 805 configures the application server running the server application instance to report performance data. In one embodiment, the performance data includes TCP statistics from the TCP layer. In certain embodiments, the processor 805 queries a location management server and performance data associated with the UE location.

[0112] In one embodiment, the memory 810 is a computer-readable storage medium. In some embodiments, the memory 810 includes volatile computer storage media. For example, the memory 810 may include RAM, including dynamic RAM ("DRAM"), synchronous dynamic RAM ("SDRAM"), and / or static RAM ("SRAM"). In some embodiments, the memory 810 includes non-volatile computer storage media. For example, the memory 810 may include a hard disk drive, flash memory, or any other suitable non-volatile computer storage device. In some embodiments, the memory 810 includes both volatile and non-volatile computer storage media. In some embodiments, the memory 810 stores data related to a selected server application instance, such as storing server addresses, UE locations, DNS caches, etc. In certain embodiments, the memory 810 also stores program code and related data, such as an operating system ("OS") or other controller algorithms operating on the network equipment device 800, and one or more software applications.

[0113] In one embodiment, the input device 815 may include any known computer input device, including a touch panel, buttons, keyboard, stylus, microphone, etc. In some embodiments, the input device 815 may be integrated with the output device 820, such as integrated as a touch screen or a similar touch-sensitive display. In some embodiments, the input device 815 includes a touch screen such that text can be input using a virtual keyboard displayed on the touch screen and / or by handwriting on the touch screen. In some embodiments, the input device 815 includes two or more different devices, such as a keyboard and a touch panel.

[0114] In one embodiment, the output device 820 may include any known electronically controllable display or display device. The output device 820 may be designed to output visual, auditory, and / or tactile signals. In some embodiments, the output device 820 includes an electronic display capable of outputting visual data to a user. For example, the output device 820 may include (but is not limited to) an LCD display, an LED display, an OLED display, a projector, or a similar display device capable of outputting images, text, etc. to a user. As another non-limiting example, the output device 820 may include a wearable display, such as a smartwatch, smart glasses, a head-up display, etc. Further, the output device 820 may be a component of a smartphone, a personal digital assistant, a television, a desktop computer, a notebook (laptop) computer, a personal computer, a vehicle dashboard, etc.

[0115] In some embodiments, output device 820 includes one or more speakers for generating sound. For example, output device 820 can generate an audible alarm or notification (e.g., beep or buzzer). In some embodiments, output device 820 includes one or more haptic devices for generating vibration, movement, or other tactile feedback. In some embodiments, all or part of output device 820 can be integrated with input device 815. For example, input device 815 and output device 820 can form a touchscreen or similar touch-sensitive display. In other embodiments, all or part of output device 820 can be located near input device 815.

[0116] As discussed above, transceiver 825 can communicate with one or more remote units and / or with one or more interworking functions providing access to one or more PLMNs. Transceiver 825 can also communicate with one or more network functions (e.g., in mobile core network 120). Transceiver 825 operates under the control of processor 805 to transmit messages, data, and other signals, and also to receive messages, data, and other signals. For example, processor 805 can selectively activate transceiver (or a portion thereof) at a particular time to send and receive messages.

[0117] Transceiver 825 can include one or more transmitters 830 and one or more receivers 835. In certain embodiments, one or more transmitters 830 and / or one or more receivers 835 can share transceiver hardware and / or circuitry. For example, one or more transmitters 830 and / or one or more receivers 835 can share an antenna, antenna tuner, amplifier, filter, oscillator, mixer, modulator / demodulator, power supply, etc. In one embodiment, transceiver 825 implements multiple logical transceivers using different communication protocols or protocol stacks while using common physical hardware.

[0118] Figure 9 An embodiment of a method 900 for selecting a server application instance according to an embodiment of the present disclosure is depicted. In various embodiments, method 900 is performed by an analysis function, such as NWDAF 127, NWDAF227, network equipment device 800 described above. In some embodiments, method 900 is performed by a processor, such as a microcontroller, microprocessor, CPU, GPU, auxiliary processing unit, FPGA, etc.

[0119] Method 900 begins and receives 905 a request from a first network function [i.e., SDMF] to provide a performance analysis of a first application. Here, the request includes the current location and the requested time. Further, the first application includes a set of application instances. Method 900 includes generating 910 a performance analysis of the first application by using a first set of performance data. Here, the performance analysis indicates the best application instance among the set of application instances for the current location and the requested time. Method 900 includes reporting 915 the performance analysis to the first network function. Method 900 ends.

[0120] Figure 10 Depicts an embodiment of a method 1000 for selecting a server application instance in accordance with an embodiment of the present disclosure. In various embodiments, method 1000 is performed by a network function, such as the SDMF 126, SDMF225, network equipment device 800 described above. In some embodiments, method 1000 is performed by a processor, such as a microcontroller, microprocessor, CPU, GPU, auxiliary processing unit, FPGA, etc.

[0121] Method 1000 begins and receives 1005 a first request from a remote unit to discover application server instances of a first application. Here, the remote unit corresponds to a first location. Method 1000 includes determining 1010 that the first request can be served by multiple application server instances at the first location. Method 1000 includes identifying 1015 a NWDAF that provides performance data analysis of the first application.

[0122] Method 1000 includes sending 1020 a second request to the NWDAF to retrieve performance data analysis of the first application at the first location and the requested time. Method 1000 includes selecting 1025 an optimal application server instance based on the performance data analysis. Method 1000 includes sending 1030 a response to the first request, the response including the selected application server instance. Method 1000 ends.

[0123] This document discloses a first device for selecting server application instances according to embodiments of the present disclosure. The first device may be implemented by an analysis function, such as NWDAF 127, NWDAF 227, and network equipment device 800 described above. The first device includes a network interface that communicates with multiple network functions (e.g., APMF, SDMF, etc.) in a mobile communication network. The first device includes a processor that receives a request for providing performance analysis of a first application from a first network function (e.g., SDMF). Here, the request includes the current location and the requested time. In addition, the first application includes a set of application instances. The processor generates performance analysis of the first application by using a first set of performance data. Here, the performance analysis indicates the best application instance among a set of application instances for the current location and the requested time. Via the network interface, the processor reports the performance analysis to the first network function.

[0124] In some embodiments, the processor identifies a first set of APMFs capable of providing performance data of the first application, where each APMF provides performance data of at least one application instance in a set of application instances. In such embodiments, the processor may subscribe to each APMF in the first set of APMFs to receive performance data of the first application and construct a first set of performance data of the first application. Here, the first set includes all performance data of the first application received from the first set of APMFs, and each performance data is associated with a coverage location and time (e.g., one or more cells where the performance data is obtained).

[0125] In certain embodiments, the processor selects a subset of performance data from the first set of performance data. Here, each performance data in the subset has a coverage location that matches the current location. Here, "matching" means "the current UE location is within the location where the performance data is obtained". In further embodiments, selecting a subset of performance data may include filtering the first set according to the current location and the requested time.

[0126] In some embodiments, reporting the performance analysis includes providing at least one of the following for each application instance in a set of application instances: performance statistics and performance prediction. In some embodiments, reporting the performance analysis to the first network function includes recommending an application instance. In some embodiments, reporting the performance analysis to the first network function includes providing a list of one or more server application instances and associated performance data.

[0127] This document discloses a first method for selecting a server application instance according to an embodiment of the present disclosure. The first method may be executed by an analysis function, such as the NWDAF 127, NWDAF 227, and network equipment device 800 described above. The first method includes receiving, from a first network function (e.g., SDMF), a request for providing a performance analysis of a first application. Here, the request includes the current location and the requested time. In addition, the first application includes a set of application instances. The method includes generating a performance analysis of the first application by using a first set of performance data. Here, the performance analysis indicates the best application instance among the set of application instances at the current location and the requested time. The method includes reporting the performance analysis to the first network function.

[0128] In some embodiments, the first method includes identifying a first set of APMFs capable of providing performance data of the first application. Here, each APMF provides performance data of at least one application instance in a set of application instances. In such embodiments, the first method may include subscribing to each APMF in the first set of APMFs to receive performance data of the first application and constructing a first set of performance data of the first application. Here, the first set includes all performance data of the first application received from the first set of APMFs, and each performance data is associated with a coverage location and time (e.g., one or more cells where the performance data is acquired).

[0129] In certain embodiments, the first method includes selecting a subset of performance data from the first set of performance data, where each performance data in the subset has a coverage location that matches the current location. Here, "matching" means "the current UE location is within the location where the performance data is acquired". In a further embodiment, selecting the subset of performance data may include filtering the first set according to the current location and the requested time.

[0130] In some embodiments, reporting the performance analysis includes providing, for each application instance in the set of application instances, at least one of the following: performance statistics and performance prediction. In some embodiments, reporting the performance analysis to the first network function includes recommending an application instance. In some embodiments, reporting the performance analysis to the first network function includes providing a list of one or more server application instances and associated performance data.

[0131] This disclosure presents a second device for selecting server application instances according to embodiments of the present disclosure. The second device may be implemented by a network function, such as the SDMF 126, SDMF 225, network equipment device 800 described above. The second device includes a network interface that communicates with multiple network functions in a mobile communication network (e.g., NWDAF, UPF, etc.). The second device includes a processor that receives a first request from a remote unit to discover an application server instance for a first application. Here, the remote unit corresponds to a first location. The processor determines that the first request can be served by multiple application server instances at the first location and identifies an analysis function (e.g., NWDAF) that provides performance data analysis for the first application. Via the network interface, the processor sends a second request to the NWDAF to retrieve performance data analysis for the first application at the first location and the requested time. The processor selects an optimal application server instance based on the performance data analysis. Via the network interface, the processor sends a response to the first request, the response including the selected application server instance.

[0132] In some embodiments, the processor receives a notification from the NWDAF, the notification including a list of multiple application server instances for the first application and performance data analysis for each of the application server instances in the list of multiple application server instances at the requested time at the first location.

[0133] In some embodiments, the processor receives a PCC rule from a policy control function in the mobile communication network. In such embodiments, the processor uses the PCC rule to identify the first application from the first request. In certain embodiments, the processor uses the PCC rule to determine that the first request can be served by multiple application server instances.

[0134] In some embodiments, the processor configures the user plane function to route the first request to the selected application server instance. In some embodiments, the second request identifies the first application and the first location. In some embodiments, the first request includes a DNS request. In such embodiments, the response to the first request includes a DNS reply that includes the IP address of the selected application server instance.

[0135] This disclosure presents a second method for selecting a server application instance in accordance with embodiments of the present disclosure. The second method may be implemented by a network function, such as the SDMF 126, SDMF 225, network equipment device 800 described above. The second method includes receiving a first request from a remote unit to discover an application server instance of a first application. Here, the remote unit corresponds to a first location. The second method includes determining that the first request can be served by multiple application server instances at the first location. The second method includes identifying an analysis function (e.g., NWDAF) that provides performance data analysis of the first application. The second method includes sending a second request to the analysis function to retrieve performance data analysis of the first application at the first location and at the requested time. The second method includes selecting an optimal application server instance based on the performance data analysis. The second method includes sending a response to the first request, the response including the selected application server instance.

[0136] In some embodiments, the second method includes receiving a notification from the NWDAF, the notification including a list of multiple application server instances of the first application and performance data analysis of each of the application server instances in the list of multiple application server instances at the requested time at the first location.

[0137] In some embodiments, the second method includes receiving a PCC rule from a policy control function in a mobile communication network. In such embodiments, the first application is identified from the first request using the PCC rule. In certain embodiments, it is determined using the PCC rule that the first request can be served by multiple application server instances.

[0138] In some embodiments, the second method includes configuring a user plane function to route the first request to the selected application server instance. In some embodiments, the second request identifies the first application and the first location. In some embodiments, the first request includes a DNS request. In such embodiments, the response to the first request includes a DNS reply including the IP address of the selected application server instance.

[0139] Embodiments may be practiced in other specific forms. The described embodiments are to be considered in all respects only as illustrative and not restrictive. Thus, the scope of the invention is indicated by the appended claims rather than the foregoing description. All changes within the meaning and scope of the claims are to be included within their scope.

Claims

1. A Network Data Analytics Function (NWDAF) comprising: A processor; And A memory coupled to the processor, wherein the processor is configured to cause the NWDAF to: Receive a request from a network function to provide a performance analysis of a first application, wherein the request includes the location of a User Equipment (UE) and the requested time, and wherein the first application includes a set of application instances; Generate the performance analysis of the first application by using a first set of performance data, wherein the performance analysis indicates the best application instance among the set of application instances at the location of the UE and the requested time; And Report the performance analysis to the network function.

2. The NWDAF according to claim 1, wherein the processor is further configured to cause the NWDAF to: Identify a first set of Application Performance Measurement Functions (APMFs) capable of providing performance data of the first application, wherein each APMF provides performance data of at least one application instance among the set of application instances; Subscribe to each APMF in the first set of APMFs to receive the performance data of the first application; And Construct the first set of the performance data of the first application, wherein the first set includes all the performance data of the first application received from the first set of APMFs, and wherein each performance data is associated with a coverage location and time.

3. The NWDAF according to claim 2, wherein the processor is further configured to cause the NWDAF to filter the first set according to the location of the UE and the requested time.

4. The NWDAF according to claim 1, wherein in order to report the performance analysis, the processor is further configured to cause the NWDAF to provide at least one of the following for each application instance among the set of application instances: performance statistics or performance prediction.

5. The NWDAF according to claim 1, wherein in order to report the performance analysis to the network function, the processor is further configured to cause the NWDAF to recommend application instances.

6. The NWDAF according to claim 1, wherein in order to report the performance analysis to the network function, the processor is further configured to cause the NWDAF to provide a list of one or more server application instances and associated performance data.

7. A method performed by a Network Data Analytics Function (NWDAF), the method comprising: Receive a request from a network function to provide a performance analysis of a first application, wherein the request includes the location of a User Equipment (UE) and the requested time, and wherein the first application includes a set of application instances; Generate the performance analysis of the first application by using a first set of performance data, wherein the performance analysis indicates the best application instance among the set of application instances at the location of the UE and the requested time; And Report the performance analysis to the network function.

8. The method according to claim 7, wherein reporting the performance analysis includes providing at least one of the following for each application instance in the set of application instances: performance statistics or performance prediction.

9. The method according to claim 7, wherein reporting the performance analysis to the network function includes recommending application instances.

10. The method according to claim 7, wherein reporting the performance analysis to the network function includes providing a list of one or more server application instances and associated performance data.

11. A network function, comprising: a processor; and a memory coupled to the processor, wherein the processor is configured to cause the network function to: receive from a user equipment UE a first request to discover an application server instance of a first application, the UE corresponding to a first location; determine that the first request can be served by a plurality of application server instances at the first location; identify a network data analysis function NWDAF that provides performance data analysis of the first application; send a second request to the NWDAF to retrieve performance data analysis of the first application at the first location and at the requested time; receive from the NWDAF a notification that includes a list of a plurality of application server instances of the first application and performance data analysis of each of the application server instances in the list of the plurality of application server instances at the requested time at the first location; select an optimal application server instance based on the performance data analysis; and send a response to the first request, the response including the selected application server instance.

12. The network function according to claim 11, wherein the processor is further configured to cause the network function to: receive a PCC rule from a policy control function in a mobile communication network and identify the first application from the first request using the PCC rule.

13. The network function according to claim 11, wherein the processor is further configured to cause the network function to: receive a PCC rule from a policy control function in a mobile communication network and determine that the first request can be served by a plurality of application server instances using the PCC rule.

14. The network function according to claim 11, wherein the processor is further configured to cause the network function to configure a user plane function to route the first request to the selected application server instance.

15. The network function according to claim 11, wherein the second request identifies the first application and the first location.

16. The network function according to claim 11, wherein the first request includes a DNS request, and wherein the response to the first request includes a DNS reply that includes the IP address of the selected application server instance.

Citation Information

Cited By

  • Optimal performance management reporting via host level northbound performance reporting agent

    US12634735B2