Network node, user equipment, and methods performed therein
A two-stage feedback mechanism with benchmark testing and execution time measurements optimizes edge host selection in edge computing, addressing inefficiencies in existing methods by providing quick and accurate edge host placement for user applications.
Patent Information
- Application Number
- PCT/EP2024/066752
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-17
- Publication Date
- 2025-12-26
AI Technical Summary
The selection of an optimal edge host in edge computing environments is challenging due to infeasible execution time estimation methods, resource-intensive testing, and user burden in existing approaches, which hinder efficient application placement and performance optimization.
A two-stage feedback mechanism using benchmark testing and execution time measurements to estimate and optimize edge host selection, involving a parametrized function for performance scoring and iterative parameter tuning to improve accuracy.
Provides fast, accurate, and resource-efficient edge host selection, reducing user burden and enabling immediate application placement with predicted performance, even for unknown applications, by leveraging benchmark scores and measurement feedback.
Smart Images

Figure EP2024066752_26122025_PF_FP_ABST
Abstract
Description
[0001] NETWORK NODE, USER EQUIPMENT, AND METHODS PERFORMED THEREIN
[0002] TECHNICAL FIELD
[0003] Embodiments herein relate to a network node, a user equipment (UE), and methods performed therein regarding communication. Furthermore, a computer program product and a computer readable storage medium are also provided herein. In particular, embodiments herein relate to handling an application in a communication network.
[0004] BACKGROUND
[0005] In a typical communication network, user equipments (UE), also known as wireless communication devices, mobile stations, stations (STA) and / or wireless devices, communicate via an Access Network (AN), such as a radio access network (RAN), with one or more core networks (CN). A RAN covers a geographical area which is divided into service areas or cells, with each service area or cell being served by a radio network node such as an access node e.g. a Wi-Fi access point or a radio base station (RBS), which in some networks may also be called, for example, a NodeB, a gNodeB, or an eNodeB. The service area or cell is a geographical area where radio coverage is provided by the radio network node. The radio network node operates on radio frequencies to communicate over an air interface with the UEs within range of the radio network node. The radio network node communicates over a downlink (DL) to the UE and the UE communicates over an uplink (UL) to the radio network node.
[0006] A Universal Mobile Telecommunications System (UMTS) is a third generation (3G) telecommunication network, which evolved from the second generation (2G) Global System for Mobile Communications (GSM). The UMTS terrestrial radio access network (UTRAN) is essentially a RAN using wideband code division multiple access (WCDMA) and / or High-Speed Packet Access (HSPA) for communication with user equipment. In a forum known as the Third Generation Partnership Project (3GPP), telecommunications suppliers propose and agree upon standards for present and future generation networks and investigate e.g. enhanced data rate and radio capacity. In some RANs, e.g. as in UMTS, several radio network nodes may be connected, e.g., by landlines or microwave, to a controller node, such as a radio network controller (RNC) or a base station controller (BSC), which supervises and coordinates various activities of the plural radio network nodes connected thereto. The RNCs are typically connected to one or more core networks.
[0007] Specifications for the Evolved Packet System (EPS) have been completed within the 3GPP and coming 3GPP releases, such as New Radio (NR) and 6 generation (6G), are worked on. The EPS comprises the Evolved Universal Terrestrial Radio Access Network (E-UTRAN), also known as the Long-Term Evolution (LTE) radio access network, and the Evolved Packet Core (EPC), also known as System Architecture Evolution (SAE) core network. E-UTRAN / LTE is a 3GPP radio access technology wherein the radio network nodes are directly connected to the EPC core network. As such, the Radio Access Network (RAN) of an EPS has an essentially non-hierarchical architecture comprising radio network nodes connected directly to one or more core networks.
[0008] With the emerging 5G technologies such as NR, the use of very many transmit- and receive-antenna elements may be of great interest as it makes it possible to utilize beamforming, such as transmit-side and receive-side beamforming. Transmit-side beamforming means that the transmitter can amplify the transmitted signals in a selected direction or directions, while suppressing the transmitted signals in other directions. Similarly, on the receive-side, a receiver can amplify signals from a selected direction or directions, while suppressing unwanted signals from other directions. NR is connected to a 5G Core Network (5GC) which comprises a number of Network Functions (NF) such as User Plane Function (UPF), Session Management Function (SMF), Access Management Function (AMF), Authentication Service Function (AUSF), Policy Control Function (PCF), Unified Data Manager (UDM), Network Repository Function (NRF), Network Exposure Function (NEF), just to mention some. In the 5GC, NFs can discover other NFs by using a discovery service provided by the NRF.
[0009] Computation offloading is a process that enables transferring the execution of an application from one device to another device, typically from a resource constrained device such as a battery powered wireless device to a more powerful remote server. The computational offloading is widely used for energy conservation in a device by delegating the computationally intensive tasks of a software application to another powerful device to access special resources like high performing Graphics Processing Units (GPUs) and Central Processing Units (CPUs).
[0010] Computation offloading may be implemented on various computing architectures, typically categorized based on their hosts’ proximity to the end-users. The most popular architectures are Cloud Computing (CC) and Edge Computing (EC), see e.g., Mobile Edge Computing: A Survey on Architecture and Computation Offloading, Publisher: IEEE, Pavel Mach; Zdenek Becvar, Published in: IEEE Communications Surveys & Tutorials ( Volume: 19, Issue: 3, third quarter 2017), Page(s): 1628 - 1656, Date of Publication: 15 March 2017. The former is more suitable for computationally intensive applications with more lenient latency requirements, while the latter is suitable for the computationally intensive and latency sensitive applications like autonomous driving, augmented reality etc. However, both architectures are designed to provide high performance service to the users for their applications.
[0011] Fig.1 shows an example network connectivity of mobile network and edge sites.
[0012] In Fig. 1, the edge service deployment scenario in 5G network is illustrated. The edge runtime environment consists of multiple geographic distributed edge sites which can be deployed at the various locations in the mobile network and are connected to the core network through the User Plane Function (UPF). One edge site can be connected directly to multiple UPFs via the N6 interfaces defined in 5G network, while UPFs can also be connected directly to multiple edge sites. In addition, one edge site can communicate with other edge sites and the UPF can also communicate with other UPFs.
[0013] When end users are requesting the deployed services, it is the mobile network that sets up the data plane path between the UEs and the edge site that hosts the selected service replicate. The application client on the UE needs firstly to discover a proper application server instance and the mobile network needs to setup a connectivity satisfying given quality of service (QoS) requirements accordingly.
[0014] An execution time (ET) analysis may be performed based on many metrics such as average ET, worst-case ET, percentile ET etc. Determining the ET of an application on a specific host with a known CPU type has become infeasible with modern computing architectures due to pipelining, branching, caching etc., making the selection of the optimal host challenging, see The worst-case execution-time problem — overview of methods and survey of tools R. Wilhelm, J. Engblom et al ACM Transactions on Embedded Computing Systems, Volume 7, Issue 3, Article No.: 36, pp 1-53, https: / / doi.org / 10.1145 / 1347375.1347389. Many cloud service providers ask their customers (users) to find the best host type for their application, which does not solve problems in an efficient way but delegates it to the customers, see Optimizing your AWS Lambda costs - Part 1 by James Beswick | on 02 JUN 2022 | in AWS Lambda, Best Practices.
[0015] Nevertheless, EC is designed to be a more dynamic small-scale system where the selection of an Edge Host (EH) should be fast and efficient as network conditions change. The estimation and approximation-based methods have been proposed in literature to address this issue. Yet, they either suffer from extreme use of resources or slow placement of an application in an optimal edge host. Thus, the selection of edge host for an application is still an open problem.
[0016] SUMMARY
[0017] As part of developing embodiments herein one or more problems have been identified. The selection of optimal edge host is done thorough a precise estimation of ET of a user application, see e.g., The worst-case execution-time problem — overview of methods and survey of tools R. Wilhelm, J. Engblom et al ACM Transactions on Embedded Computing Systems, Volume 7, Issue 3, Article No.: 36, pp 1-53, https: / / doi.org / 10.1145 / 1347375.1347389; Statistical static timing analysis: A survey; Christiano Forzan, Davide Pandini https: / / doi.Org / 10.1016 / j.vlsi.2008.10.002; and Enhancing Resilience in Mobile Edge Computing Under Processing Uncertainty Shaoran Li; Chengzhang Li et al. IEEE Journal on Selected Areas in Communications ( olume: 41, Issue: 3, March 2023) Page(s): 659 - 674 Date of Publication: 05 January 2023 DOI: 10.1109 / JSAC.2023.32347066. There have been various approaches proposed to solve this problem, and they can be categorized into three groups: static analysis, sampling analysis and speculative analysis.
[0018] The first solution is to make the static timing analysis for an application. This approach can be performed on bytecode or source code, see The Worst-Case Execution Time (WCET) analysis project https: / / www.mrtc.mdh.se / projects / wcet / that can allow observation of the set of instructions and the time to execute each instruction on the target machine. This approach has three potential problems to be employed in real time dynamic EC systems.
[0019] First, depending on the size of the code and the complexity of the tasks, finding the execution paths can take considerable amount of time to calculate, thus potentially compromising the user experience. Second, modern processing unit architectures are not publicly shared which makes instruction analysis infeasible. Third, the use of pipelining, such as pre-fetching and delayed branching, and caching makes the execution of the code context dependent. These result in erroneous ET estimation even with the recent techniques and makes optimizing the edge host selection unattainable, see e.g., Optimizing your AWS Lambda costs - Part 1 by James Beswick | on 02 JUN 2022 | in AWS Lambda, Best Practices; and Statistical static timing analysis: A survey; Christiano Forzan, Davide Pandini https: / / doi.Org / 10.1016 / j.vlsi.2008.10.002. The second solution for ET estimation is to measure the ET on the target edge host many times and use the statistics of the collected ET samples to make an estimation. This approach is costly for the network owner as the selected target host might not meet the users’ performance requirements, which potentially results in testing a different edge host until the application’s performance constraints are satisfied. Considering a dynamic EC environment, this approach cannot be a suitable candidate to optimize the edge host selection in a timely manner, see e.g., Optimizing your AWS Lambda costs - Part 1 by James Beswick | on 02 JUN 2022 | in AWS Lambda, Best Practices.
[0020] The third solution is widely used in cloud computing where the latency requirements of the users’ applications are more lenient compared to EC. The network owner asks the users to optimize their host selection by testing the application in the offered host types see e.g., Optimizing your AWS Lambda costs - Part 1 by James Beswick | on 02 JUN 2022 | in AWS Lambda, Best Practices. This is, however, not feasible for edge deployments as it requires more dynamic allocation of the hosts. Additionally, this introduces an additional burden on users which could be eliminated by embodiments herein. Thus, an object herein is to provide a mechanism to handle an application in an efficient manner to improve performance in a communication network.
[0021] According to an aspect the object is achieved, according to embodiments herein, by providing a method performed by a network node for handling an application at a UE in a communication network. The network node obtains benchmark scores indicating a performance of an edge host by running one or more benchmark programs for the UE executed at the edge host and the UE. The network node further estimates an execution time for running the application on the edge host using the obtained benchmark scores and a parametrized function. The network node collects one or more measurements of executing the application at the UE using the edge host; and tunes one or more parameters of the parametrized function based on the collected one or more measurements. The network node further estimates an updated execution time for running the application on the edge host using the parametrized function with the one or more tuned parameters; and selects a preferred edge host for handling the application based on the estimated updated execution time.
[0022] According to another aspect the object is achieved, according to some embodiments herein, by providing a method performed by a UE for handling an application in a communication network. The UE receives an indication indicating one or more benchmark programs to use at the UE. The UE further receives from a network node, an instruction indication to execute at least one benchmark program of the one or more benchmark programs on the UE for collecting UE benchmark scores, and executes the at least one benchmark program based on the instruction indication collecting the UE benchmark scores. The UE further provides the collected UE benchmark scores to the network node. The UE executes the application.
[0023] It is furthermore provided herein a computer program product comprising instructions, which, when executed on at least one processor, cause the at least one processor to carry out the method herein, as performed by the network node and the UE, respectively. It is additionally provided herein a computer-readable storage medium, having stored thereon a computer program product comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the method herein, as performed by the network node and the UE, respectively.
[0024] According to an aspect the object is achieved, according to embodiments herein, by providing a network node for handling an application at a UE in a communication network. The network node is configured to obtain benchmark scores indicating a performance of an edge host by running one or more benchmark programs for the UE executed at the edge host and the UE. The network node is further configured to estimate an execution time for running the application on the edge host using the obtained benchmark scores and a parametrized function. The network node is configured to collect one or more measurements of executing the application at the UE using the edge host; and tune one or more parameters of the parametrized function based on the collected one or more measurements. The network node is further configured to estimate an updated execution time for running the application on the edge host using the parametrized function with the one or more tuned parameters; and select a preferred edge host for handling the application based on the estimated updated execution time.
[0025] According to another aspect the object is achieved, according to some embodiments herein, by providing a UE for handling an application in a communication network. The UE is configured to receive an indication indicating one or more benchmark programs to use at the UE. The UE is further configured to receive from a network node, an instruction indication to execute at least one benchmark program of the one or more benchmark programs on the UE for collecting UE benchmark scores, and execute the at least one benchmark program based on the instruction indication collecting the UE benchmark scores. The UE is configured to provide the collected UE benchmark scores to the network node, and to execute the application.
[0026] Embodiments herein propose a fast delivered and highly accuracy placement estimation of executing edge host. Embodiments herein may comprise a two-stage feedback mechanism based on benchmark testing and ET measurements. The first stage is designed for initial quick replacement of an application on an edge host. The second stage is to continuously improve ET estimation and to optimize edge host selection.
[0027] These two stages are designed to be in a feedback mechanism where the ET measurement results are used to improve the results of the initial benchmark test to increase the accuracy of the ET estimation, which leads to optimal edge host selection.
[0028] In the first stage, a set of lightweight benchmark programs may be used that are run on the edge hosts and the UE to score the edge hosts’ performances. It is herein used an unknown function between the benchmark scores and the ET of the application. The unknown function is parametrized with a set of parameters (weights) where the benchmark scores of each edge host is the input of this function and the output is the ET estimation depending on the input benchmark score of the edge host.
[0029] The initial ET estimation may be determined by computing the minimum of the parametrized function for each edge host. This stage may serve as a first and quick solution to start executing the user’s application and provide coarse ET estimation.
[0030] The estimation in the first stage is made based on the benchmark scores and the parameters of the parametrized function. However, assigned parameters may not lead to fully accurate ET estimation for the user’s application. The second stage is designed to increase the estimation accuracy by collecting one or more ET measurement samples from the selected edge host determined in the first stage, and by updating the parameters of the benchmark programs based on the difference between measured ET and the estimation made in the first stage. This will update the initial estimation of ET depending on the detected errors and allows to update the ET estimation for the edge host.
[0031] Thus, embodiments herein handle the application in an efficient manner to improve performance in a communication network.
[0032] BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Embodiments will now be described in more detail in relation to the enclosed drawings, in which:
[0034] Fig. 1 shows a schematic architecture according to prior art;
[0035] Fig. 2 shows an overview depicting a communication network according to embodiments herein;
[0036] Fig. 3 shows a signalling scheme according to some embodiments herein;
[0037] Fig. 4 shows a flowchart illustrating a method performed by a network node according to embodiments herein; Fig. 5 shows a flowchart illustrating a method performed by a UE according to embodiments herein;
[0038] Fig. 6 shows a schematic overview according to some embodiments herein;
[0039] Fig. 7 shows a schematic overview according to some embodiments herein; Fig. 8 shows a schematic overview according to some embodiments herein; Fig. 9 shows a schematic overview according to some embodiments herein; Fig. 10 shows a schematic overview according to some embodiments herein; Fig. 11 shows a block diagram depicting a network node according to embodiments herein; and
[0040] Fig. 12 shows a block diagram depicting a UE according to embodiments herein;
[0041] DETAILED DESCRIPTION
[0042] Embodiments herein relate to communication networks in general. Fig. 2 is a schematic overview depicting a communication network 1. The communication network 1 comprises one or more RANs and one or more CNs. The communication network 1 may use one or a number of different technologies. Embodiments herein relate to recent technology trends that are of particular interest in a New Radio (NR) context, however, embodiments are also applicable in further development of existing wireless communications systems such as e.g. Wi-Fi, LTE or Wideband Code Division Multiple Access (WCDMA).
[0043] In the communication network 1, a user equipment (UE) 10 exemplified herein as a wireless device such as a mobile station, a non-access point (non-AP) station (STA), a STA and / or a wireless terminal, is comprised communicating via e.g. one or more Access Networks (AN), e.g. radio access network (RAN), to one or more core networks (CN). It should be understood by the skilled in the art that “UE” is a non-limiting term which means any terminal, wireless communications terminal, user equipment, narrowband internet of things (NB-loT) device, Machine Type Communication (MTC) device, Device to Device (D2D) terminal, or node e.g. smart phone, laptop, mobile phone, sensor, relay, mobile tablets or even a small base station capable of communicating using radio communication with a radio network node within an area served by the radio network node.
[0044] The communication network 1 comprises a first radio network node 12 or just radio network node, providing radio coverage over a geographical area, a first service area 11 or first cell, of a first radio access technology (RAT), such as NR, LTE, or similar. The radio network node 12 may be a transmission and reception point such as an access node, an access controller, a base station, e.g. a radio base station such as a gNodeB (gNB), an evolved Node B (eNB, eNode B), a NodeB, a base transceiver station, a radio remote unit, an Access Point Base Station, a base station router, a Wireless Local Area Network (WLAN) access point or an Access Point Station (AP STA), a transmission arrangement of a radio base station, a stand-alone access point or any other network unit or node capable of communicating with a UE within the area served by the first radio network node depending e.g. on the first radio access technology and terminology used. The first radio network node may be referred to as a serving radio network node wherein the service area may be referred to as a serving cell, and the serving network node communicates with the wireless device in form of DL transmissions to the wireless device and UL transmissions from the wireless device. It should be noted that a service area may be denoted as cell, beam, beam group or similar to define an area of radio coverage.
[0045] The communication network 1 comprises a second radio network node 13 or just radio network node, providing radio coverage over a geographical area, a second service area 14 or second cell, of a second radio access technology (RAT), such as NR, LTE, or similar. The second radio network node 13 may be a transmission and reception point such as an access node, an access controller, a base station, e.g. a radio base station such as a gNodeB (gNB), an evolved Node B (eNB, eNode B), a NodeB, a base transceiver station, a radio remote unit, an Access Point Base Station, a base station router, a Wireless Local Area Network (WLAN) access point or an Access Point Station (AP STA), a transmission arrangement of a radio base station, a stand-alone access point or any other network unit or node capable of communicating with a wireless device within the area served by the second radio network node depending e.g. on the first radio access technology and terminology used. The second radio network node may be referred to as a visiting radio network node or target radio network node, wherein the service area may be referred to as a visiting cell or target cell, and the second radio network node communicates with the UE in form of DL transmissions to the UE and UL transmissions from the UE. It should be noted that a service area may be denoted as cell, beam, beam group or similar to define an area of radio coverage.
[0046] The communication network may comprise a network comprising one or more network nodes. For example, a controlling node, a network orchestrator, an OAM node or another network node.
[0047] A network node 15 , also referred to as the managing node, may thus be a network node in a centralized manner or may be a network node for a certain domain or implementation of the communication network. The communication network 1 may further comprise a number of core network nodes providing, e.g. in NR, network functions (NF) or actually instantiations of NFs also referred to as NF instances.
[0048] The communication network 1 may comprise geographic distributed edge sites with one or more edge hosts (EH) which can be deployed at various locations in the communication network and are connected to the core network.
[0049] The network node 15 may be a standalone server, a cloud-implemented server, a distributed server or processing resources in a server farm or same node. Embodiments herein may be implemented as physical bare metal, virtual or cloud native such as Kubernetes environment in, e.g., hyper-cloud networks.
[0050] Embodiments herein aim at running an application at the UE 10 in an efficient manner to improve performance in the communication network. According to embodiments herein the network node 15 obtains benchmark scores indicating a performance of an edge host by running one or more benchmark programs for the UE 10 executed at the edge host and the UE 10. The network node 15 then estimates an execution time for running the application on the edge host using the obtained benchmark scores and a parametrized function. The network node 15 furthermore collects one or more measurements of executing the application at the UE using the edge host, also referred to as sampling measurements. The network node 15 tunes one or more parameters of the parametrized function based on the collected one or more measurements, and estimates an updated execution time for running the application on the edge host using the parametrized function with the one or more tuned parameters. The network node 15 furthermore selects a preferred edge host for handling the application based on the estimated updated execution time. As an example, the network node 15 may select the tested edge host or another edge host.
[0051] According to embodiments herein the network node 15 obtains a performance scoring for an initial and quick placement of the user’s application to an edge host. The UE 10 further shares ET information of its application running on the UE 10. The benchmark results of the edge hosts, the UE and the ET of the application running on UE are used to estimate the ET of each edge host using a parametrized function. Parametrization of the ET function is used since the ET of a certain edge host for user’s application is an unknown function of the benchmark score of the edge host. Then, the edge host that gives the minimum of the parametrized function will be selected as the first edge host.
[0052] Some embodiments herein may include three components and they are as follows: The parametrized function: Parametrization of an ET function is used since the ET of a certain edge host for user’s application is an unknown function of the benchmark score of the edge host. The parametrized function takes benchmark scores of an edge host as an input and computes the ET estimation using the parameters and the given input. The parameters may be scalars that could describe the ET of an application in terms of benchmark scores.
[0053] A Benchmark Analysis service is a component that makes a performance scoring for an initial and quick placement of the user’s application to an edge host. The benchmark programs are shared with the UE 10 to assess UE performance by the network node 15. The UE 10 then shares the ET information of its application running on UE (as user uses this application in its local device) and the benchmark scores of benchmark applications were run by the UE’s on-board chip. The benchmark scores of the edge hosts, the UE 10 and the measured ET of the application running on the UE 10 are used to estimate the ET of each edge host using the parametrized function. Then, the edge host that gives the minimum ET of the parametrized function may be selected as the preferred edge host.
[0054] The reporting the benchmark scores that were obtained while user application is running may potentially create contention, resulting in erroneous benchmark scores. Thus, the benchmark scores may be computed before making the offloading requests. The benchmark scores should be independent of the time collected and would give almost the same results whenever they are run isolated. The benchmark programs are run for a short period of time, and they do not require heavy computation tasks to measure the performance of UE. There is a tradeoff between having high number of benchmark programs and the accuracy of benchmarking. However, the benchmarking does not have to be done upon the offloading request.
[0055] A Measurement Analysis service is a component that enables improving the ET estimation. This is done through collecting samples from the chosen edge host in the first step (Benchmark Analysis) and using the sampled ETs to update the parameters of the parametrized function between UE and the edge host based on the measured samples. By collecting the measurements and tuning the parameters, the ability to describe real ET function in terms of parametrized ET function is increased.
[0056] Based on error or errors in the estimation of Benchmark Analysis and Measurement Analysis, embodiments herein may tune or update the parameters of the benchmark programs to increase the accuracy of the estimation. At the end of this action, edge host that gives the minimum ET of the updated parametrized function may be selected. This feedback mechanism continuously iterates until the solution converges towards the optimal edge host.
[0057] One or more advantages of the embodiments herein may comprise one or more of the following:
[0058] The solution provides quick and informed initial placement of the application code to an edge host thanks to the benchmarking approach. Without running the application's code, the benchmark scores may evaluate the performance of the edge host for running the application. This allows the network node 15 such as an operator, to process the request of the user and provide service instantly, whilst still choosing an edge host based on predicted performance.
[0059] Embodiments herein may allow optimization of the edge hosts by continuing with an iterative measurement-based assessment. In case benchmarking turns out to have erroneous ET estimation, collected ET measurements may update the ET estimations accordingly and allow network operator to optimize the edge host selection. Embodiments herein are user and application centric and may provide fast edge host selection even for an unknown user application that is being offloaded for the first time. It should be noted that as many users offload for an application, embodiments herein may have more data collected which would increase the computation of an optimal edge host for every UE. Embodiments herein may work robust even if the UE is the first UE who offloads for the application. After this processed UE another user may want to offload for this application, then the parameters of the parametrized function computed to estimate the ET can be used to further reduce the time to select the optimal edge host.
[0060] The proposed solution is resource efficient as it does not require running the application in all the edge hosts. By tuning the parameters, the ET estimations of all edge hosts may be improved even without requiring measurements from all edge hosts, consequently, some embodiments herein reduce the resource usage to solve the execution time estimation and an optimal selection of a preferred edge host.
[0061] Embodiments herein may eliminate the responsibility of application developers to optimize the edge host selection, and may delegate the responsibility to the network operator by using the network node 15. This relieves application developers and users from the optimization burden and provides freedom to network operators to dynamically choose the preferred edge host.
[0062] Fig. 3 is an example of a combined flowchart and signalling scheme according to some embodiments herein. Action 301. The network node 15 may determine one or more benchmark programs to use to select what edge host to use for an application running on the UE 10. The one or more benchmark programs are to be executed at the UE 10 and the edge host and the one or more benchmark programs executed on the UE may be the same or different than the executed one or more benchmark programs executed on the edge host.
[0063] Action 302. The network node 15 may trigger execution or execute one or more benchmark programs at the edge host for collecting performance indication of the edge host in the shape of benchmark scores also referred to as edge host benchmark scores.
[0064] Action 303. The network node 15 may further trigger an execution of the one or more benchmark programs at the UE 10. The network node may transmit an indication of the benchmark program such as an index value in case the UE 10 stores a number of benchmark programs, or may transmit the one or more benchmark programs as such. This may be considered as an execution indication for executing the one or more benchmark programs. The network node 15 may, alternatively, or additionally, send a trigger command to the UE 10 to execute the one or more benchmark programs, also being an example of the execution indication.
[0065] Action 304. The UE 10 may execute one or more benchmark programs at the UE 10 for collecting performance indication of the UE 10 in the shape of benchmark scores also referred to as UE benchmark scores.
[0066] Action 305. The UE 10 may then transmit the benchmark (BM) score(s) of the one or more benchmark programs ran at the UE 10.
[0067] Action 306. The network node 15 then estimates an execution time (ET) for running the application on the edge host using the obtained benchmark scores and the parametrized function. The parametrized function may use the obtained benchmark scores of the edge host as input and the output may be the execution time estimation.
[0068] Action 307. The network node 15 may further trigger sampling of one or more measurements of executing the application (APP) at the UE 10 using the edge host, also referred to as sampling measurements. As an example, the network node 15 may transmit a sampling indication triggering collection of the one or more measurements from the UE 10.
[0069] Action 308. The UE 10 may, for example, execute the application and may perform the one or more measurements of ET when running the application. Thus, the UE 10 may collect one or more samples of the ET running the application. Action 309. The UE 10 may transmit the sampling results as ET indication(s). The network node 15 may thus receive the one or more measurements of executing the application at the UE 10 using the edge host.
[0070] Action 310. The network node 15 tunes or updates one or more parameters of the parametrized function based on the collected one or more measurements.
[0071] Action 311. The network node 15 estimates an updated execution time for running the application on the edge host using the parametrized function with the one or more tuned parameters.
[0072] Action 312. The network node 15 furthermore selects a preferred edge host for handling the application based on the estimated updated execution time. As an example, the network node 15 may select the tested edge host or another edge host.
[0073] As indicated with the arrow returning to action 308, the network node 15 may iteratively collect more data from other UEs using the application and / or one or more edge hosts. Thus, as many UE may use an application that need offloading, embodiments herein may have more data collected which would increase the computation of an optimal edge host for every UE.
[0074] The method actions performed by the network node 15, such as a network orchestrator, for handling an application at the UE 10 in the communication network according to embodiments herein will now be described with reference to a flowchart depicted in Fig. 4. The actions do not have to be taken in the order stated below, but may be taken in any suitable order. Actions performed in some embodiments are marked with dashed boxes.
[0075] Action 401. The network node 15 may determine the one or more benchmark programs to use. The network node 15 may select benchmark program or programs based on type of application to test, UE capability, network capability, certain criteria and / or the like.
[0076] Action 402. The network node 15 may send the one or more benchmark programs to the UE 10. The network node 15 may transmit an indication of the benchmark program such as an index value in case the UE 10 stores a number of benchmark programs, or may transmit the one or more benchmark programs as such.
[0077] Action 403. The network node 15 obtains the benchmark scores indicating the performance of the edge host by running one or more benchmark programs for the UE 10 executed at the edge host and the UE 10. The network node 15 may obtain the benchmark scores by collecting one or more edge host benchmark scores by running the one or more benchmark programs at the network node and initiating execution of the one or more benchmark programs at the UE 10 to obtain one or more UE benchmark scores. To collect more benchmarks scores, one may run at least two, all or most of the benchmark programs of the UE 10 and the edge host. The network node 15 may obtain the benchmark scores by obtaining the one or more UE benchmark scores from the UE 10. The network node may receive all benchmark scores or at least some of the benchmark scores of the one or more benchmark programs.
[0078] Action 404. The network node 15 estimates the execution time for running the application on the edge host using the obtained benchmark scores and the parametrized function. The parametrized function may be scalars that could describe the ET of an application in terms of benchmark scores. The parametrized function may use the obtained benchmark scores of the edge host as input of the parametrized function and an output may be an execution time estimation.
[0079] Action 405. The network node 15 collects the one or more measurements of executing the application at the UE 10 using the edge host.
[0080] Action 406. The network node 15 tunes or updates the one or more parameters of the parametrized function based on the collected one or more measurements. The one or more parameters may be parameter of a neural network or parameters of linear squares estimation for simpler modelling of the real ET function.
[0081] Action 407. The network node 15 estimates the updated execution time for running the application on the edge host using the parametrized function with the one or more tuned parameters.
[0082] Action 408. The network node 15 further selects the preferred edge host for handling the application based on the estimated updated execution time. The network node 15 may select the preferred edge host based on a threshold and / or a comparison of results of execution time of a plurality of edge hosts. Thus, the network node 15 may select the preferred edge host as the edge host with the lowest execution time out of a number of tested edge hosts. The network node 15 may select the preferred edge host also taking in other factors such as load, capability, availability or similar.
[0083] Action 409. The network node 15 may further collect further one or more measurements for sampling the ET of the application at the edge host or another edge host, and / or the UE 10 or another UE. The network node 15 may then further tune the one or more parameters of the parametrized function based on the collected further one or more measurements, and the preferred edge host may be selected based on estimated execution time using the parametrized function with the one or more further tuned parameters. It should be noted that the preferred edge host may be the edge host or another edge host with another estimated execution time.
[0084] Action 410. The network node 15 may indicate to the UE 10 the selected preferred edge host for executing the application. The network node 15 may transmit a selection indication to the UE 10 indicating the selected preferred edge host for executing the application.
[0085] Action 411. The network node 15 may store the obtained benchmark scores for that edge host. These may be used upon a different application and / or for a different UE.
[0086] The method actions performed by the UE 10 for handling the application in the communication network 1 according to embodiments herein will now be described with reference to a flowchart depicted in Fig. 5. The actions do not have to be taken in the order stated below, but may be taken in any suitable order. Actions performed in some embodiments are marked with dashed boxes.
[0087] Action 501. The UE 10 receives an indication indicating one or more benchmark programs to use at the UE 10. The UE 10 may receive from the network node the indication of the benchmark program such as an index value in case the UE 10 stores a number of benchmark programs, or may receive from the network node the one or more benchmark programs as such. Thus, the UE 10 may receive the one or more benchmark programs from the network node 15.
[0088] Action 502. The UE 10 receives from the network node, an instruction indication to execute at least one benchmark program of the one or more benchmark programs on the UE 10 for collecting UE benchmark scores.
[0089] Action 503. The UE 10 executes the at least one benchmark program based on the instruction indication collecting the UE benchmark scores.
[0090] Action 504. The UE 10 provides the collected UE benchmark scores to the network node 15.
[0091] Action 505. The UE 10 may receive from the network node 15, an execution instruction to execute the application on the UE 10.
[0092] Action 506. The UE 10 may receive the selection indication from the network node 15 indicating a selected preferred edge host for executing the application.
[0093] Action 507. The UE 10 executes the application. The UE 10 may, in response to receiving the execution instruction, execute the application. An overview diagram of some embodiments herein is given in Fig. 6. The Fig.6 shows the communication between the UE 10, edge hosts and the network node 15 such as a network orchestrator to make the benchmark analysis and the feedback loop to compute the optimal edge host in a schematic manner.
[0094] Embodiments herein may comprise:
[0095] 61. A Benchmark Program Selection and Benchmark Analysis of the edge hosts.
[0096] Selection of the benchmark programs may affect the quantifying of the performance of a device (EHs or UEs). The benchmark program may be a small code segment that may show the performance of a device for various instructions such as logic operation on CPU and / or GPU, memory read / write, multithreading and / or the like. Initially, the selected one or more benchmark programs may be run by the edge hosts to assess their overall performance. Let J = {1, 2, ... , j , ...,]} denote the set of the benchmark programs in the benchmark list, let = {1, 2, ... , H} denote the set of edge hosts and lastly let Th= be the ETs of edge host h for each benchmark program.
[0097] 62. A Measurement Analysis service.
[0098] The Measurement Analysis service is a component that enables improving the ET estimation. This is done through collecting samples of ET from the chosen edge host in the first step (Benchmark Analysis) and using the sampled ETs to update the parameters of the parametrized function between the UE 10 and the edge host based on the measured samples. By collecting the measurements and tuning the parameters, the ability to describe real ET function in terms of parametrized ET function is increased.
[0099] The benchmark programs in the benchmark list may be run sequentially by each edge host and the results or scores may be saved in the network node 15, such as the network orchestrator or another host allocated by the network operator to optimize / run the network as shown in Fig. 7. Let J = {1, 2, ... , j , ... ,]} denote the set of the benchmark programs in the benchmark list, let = {1, 2, ... , H} denote the set of edge hosts and lastly let Th= be the ETs of edge host h for each benchmark program.
[0100] This may be performed once at the initialization of the edge network and may be used repeatedly to estimate the ETs of new user applications.
[0101] The benchmark programs may be selected strategically so that they can quantify the performance of the UE 10 from its various performance aspects. However, the number of programs and their CPU times may not be excessively high as these benchmark programs will be run by UEs to assign a benchmark score to the devices.
[0102] Action 71. The method may be iterated over all edge hosts.
[0103] Action 72. The edge host h is selected to be tested.
[0104] Action 73. The method may be iterated over all benchmark programs.
[0105] Action 74. The benchmark program j is selected.
[0106] Action 75. The benchmark program j is executed on the edge host h.
[0107] Action 76. The Th= -, Tjh) is the ETs of edge host h.
[0108] Action 77. Save That the network node 15.
[0109] Benchmark Analysis of the edge host.
[0110] The UE 10 may create a request to offload to the network for an application component. Embodiments herein may perform a benchmark analysis of the UE 10. The network node 15 may send the list of benchmarks programs’ executables so that the UE 10 can run. The ETs results of UE, TUE= (7UE, T2E, ..., TjUE) will then be sent as a response to the network node 15 together with the ETs of the application at the UE 10 Tapp(TU£). It is assumed that this information is known, and it is usually the case since the UE 10 uses this application in its local compute units. This information may be used as this will be the first measurement of the application and will be used to tune parameter w by the network node 15. The workflow diagram of this step is given in Fig. 8. Fig. 8 shows Benchmark Analysis of the UE 10 with the selected benchmark programs.
[0111] Action 81. The method is performed for each benchmark program.
[0112] Action 82. The benchmark program j is selected.
[0113] Action 83. The benchmark program j is executed at the UE.
[0114] Action 84. The TUE= ... , TJUE) is collected.
[0115] Action 85. The TUEis stored at the network node 15.
[0116] Parametrization of the Execution Time’.
[0117] Embodiments herein aim to create a relation between the run-time performance of edge hosts and UEs through benchmark analysis results. This eliminates the need to run the UE application on each edge host to be able to estimate the execution time.
[0118] The solution assumes that the ETs of each benchmark program T = (T1, T2, -.T ) can fully describe the ET of the application Tapp(T) . This is reasonable as there is correlation between benchmark scores and the performance of a host, e.g., low benchmark score might in fact indicate deficient performance and vice versa. Moreover, this assumption may be valid as ET of different benchmark programs show different performance aspects of a certain host, thereby it will influence the performance of running UE application in different measures.
[0119] The problem is that the shape and closed form expression of the function Tapp(T) are unknown as a function of the benchmark results, thus an optimization procedure is not feasible. The function is parametrized with one or more parameters w and the parametrized function is denoted by T^,P(T).
[0120] To provide more insight, the parameter w may be the one or more parameters of a neural network or could be the parameters of linear squares estimation for simpler modelling of the real ET function.
[0121] The parameters are the only measures that are optimized during the feedback process. The initial values for the parameters before feedback process starts may be set to the computed parameters of ET dataset from previously offloaded applications’ data that were run in the edge hosts. Using previously stored data may affect the convergence performance of the feedback mechanism, as feedback loop would converge to the optimal edge host when more measurement samples are collected.
[0122] Parameter Optimization and Selection of edge host
[0123] In this step the parameters of the parametrized function are tuned or optimized using the input TUE, the output of the parametrized function TaPP(TUE)' and the measurement Tapp(TUE).
[0124] Here the loss function £(w), is not specified but this could be any measure that can quantify the estimation performance of the parameterized function TaPP(TUE)' and the real (TUE)\2. The parameters may then be optimized by solving, w* = argminwLUE(w).
[0125] Then, using the optimized parameters w, the solution computes
[0126] Lastly, edge host h* may be added to the set of selected edge hosts, = {UE} u {h*}. Fig. 9 shows the workflow diagram of the Parameter Optimization and Selection of edge host. Fig. 9 shows an optimization of parameters w for the benchmark and execution time of the UE.
[0127] Measurement Analysis
[0128] This component is used to improve the estimation performance of the parametrized function T^,P(T) by collecting ET measurements using the selected edge host h*. Embodiments herein may use averages of the ET samples to obtain accurate ET estimation, however different metrics of the ET may be used, e.g., worst-case ET, percentile ET etc. Assume that N samples are taken using the edge host h* to estimate the execution time, then the measured ETs of UE application at edge host h* is the nthET sample of the UE application at edge host h*.
[0129] Then parameters w are again optimized for the new collected data w* = argminw2 / le w"' ^h(w), where £h(w) is the loss of edge host h. Then, the network node may choose the optimal edge host with the optimized parameters,
[0130] This may be a step of the feedback mechanism. Once the solution reaches Step 4 the solution may then iterate until it converges without leaving this step. Fig. 10 shows a workflow diagram of the feedback mechanism that shows the optimization of parameters and execution time sampling.
[0131] The proposed solution herein may be useful in edge computing user services (applications) where the offloading needs to be started in a faster manner compared to cloud based user services with more lenient latency requirements. The proposed solution would allow the operator, i.e. , the network node 15, to compute the optimal edge host selection fast and efficiently, which increases users’ experience from the provided service.
[0132] Concerning the rapidly delivered offloading services in edge computing, safety of the edge computing services is expected to have the upmost important. Autonomous driving would be an example use case as it is safety critical. Long delays in the transition phase from local computing to computation offloading might deteriorate the users’ experience and, in some cases, might have severe consequences. Upon the user’s request of offloading, an appropriate edge host may be chosen as fast as possible by the edge operator to start providing the service without introducing additional delays. The benchmarking analysis disclosed herein is employed to overcome this issue.
[0133] In the context of autonomous driving, enhancing the selection of edge host is for ensuring the user safety. It is herein introduced a feedback mechanism that addresses this issue efficiently thanks to parametrization and benchmarking. It optimizes the edge host selection continuously, in this context, reducing the delay between real-time state of the car and the state that is sent to edge host to be computed.
[0134] Apart from the advantages from the users’ perspective, embodiments herein may be favorable by an operator as it computes the optimal edge host in a resource efficient way. It determines the edge host thanks to parametrization and mapping between the edge hosts and the user application. This would also potentially reduce the computation burden on the edge resources.
[0135] Lastly, benchmark applications to be used may be open-source applications. These open-source applications are all lightweight, easy-to-run while providing insights about device’s performance. Their data sizes may be couple of MB which should not create considerable overhead while transmitting the benchmark program to the UE 10.
[0136] Fig. 11 shows a block diagram depicting the network node 15 for handling the application at the UE 10 in the communication network 1 according to embodiments herein.
[0137] The network node 15 may comprise processing circuitry 1101 , e.g. one or more processors, configured to perform the methods herein.
[0138] The network node 15 and / or the processing circuitry 1101 is configured to obtain the benchmark scores indicating the performance of the edge host by running the one or more benchmark programs for the UE 10 executed at the edge host and the UE 10.
[0139] The network node 15 and / or the processing circuitry 1101 is configured to estimate the execution time for running the application on the edge host using the obtained benchmark scores and the parametrized function.
[0140] The network node 15 and / or the processing circuitry 1101 is configured to collect the one or more measurements of executing the application at the UE 10 using the edge host.
[0141] The network node 15 and / or the processing circuitry 1101 is configured to tune the one or more parameters of the parametrized function based on the collected one or more measurements. The network node 15 and / or the processing circuitry 1101 is configured to estimate the updated execution time for running the application on the edge host using the parametrized function with the one or more tuned parameters.
[0142] The network node 15 and / or the processing circuitry 1101 is configured to select the preferred edge host for handling the application based on the estimated updated execution time.
[0143] The network node 15 and / or the processing circuitry 1101 may be configured to collect the further one or more measurements for sampling the ET of the application at the edge host or another edge host and further to tune the one or more parameters of the parametrized function based on the collected further one or more measurements. The preferred edge host may be selected based on estimated ET using the parametrized function with the one or more further tuned parameters.
[0144] The network node 15 and / or the processing circuitry 1101 may be configured to obtain the benchmark scores by collecting the one or more edge host benchmark scores from running the one or more benchmark programs at the network node and by initiating execution of the one or more benchmark programs at the UE 10 to obtain one or more UE benchmark scores. The network node 15 and / or the processing circuitry 1101 may be configured to obtain the benchmark scores by obtaining the one or more UE benchmark scores from the UE 10.
[0145] The parametrized function may use the obtained benchmark scores of the edge host as input of the parametrized function and an output is an execution time estimation.
[0146] The network node 15 and / or the processing circuitry 1101 may be configured to indicate to the UE 10 the selected preferred edge host for executing the application.
[0147] The network node 15 and / or the processing circuitry 1101 may be configured to determine the one or more benchmark programs to use.
[0148] The network node 15 and / or the processing circuitry 1101 may be configured to send the one or more benchmark programs to the UE.
[0149] The network node 15 and / or the processing circuitry 1101 may be configured to select the preferred edge host based on the threshold and / or the comparison of results of execution time of a plurality of edge hosts.
[0150] The network node 15 and / or the processing circuitry 1101 may be configured to store the obtained benchmark scores for that edge host.
[0151] The network node 15 may comprise a memory 1103. The memory 1103 comprises one or more units to be used to store data on, such as monitoring data, benchmark programs, benchmark scores, parametrized function, UE information, capabilities, indications, services, IDs, messages, thresholds, events and applications to perform the methods disclosed herein when being executed, and similar. Furthermore, the network node 15 may comprise a communication interface 1104 such as comprising a transmitter, a receiver, a transceiver and / or one or more antennas.
[0152] The methods according to the embodiments described herein for the network node 15 are respectively implemented by means of e.g. a computer program product 1105 or a computer program, comprising instructions, i.e. , software code portions, which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by the network node 15. The computer program product 1105 may be stored on a computer-readable storage medium 1106, e g., a disc, a universal serial bus (USB) stick or similar. The computer-readable storage medium 1106, having stored thereon the computer program product, may comprise the instructions which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by network node 15. In some embodiments, the computer-readable storage medium may be a transitory or a non- transitory computer-readable storage medium. Thus, embodiments herein may disclose the network node 15 for handling communication in a communication network, wherein the network node 15 comprises processing circuitry and a memory, said memory comprising instructions executable by said processing circuitry whereby said network node 15 is operative to perform any of the methods herein.
[0153] Fig. 12 shows a block diagram depicting the UE 10 for handling the application in the communication network 1 according to embodiments herein.
[0154] The UE 10 may comprise processing circuitry 1201 , e.g. one or more processors, configured to perform the methods herein.
[0155] The UE 10 and / or the processing circuitry 1201 is configured to receive the indication indicating the one or more benchmark programs to use at the UE 10.
[0156] The UE 10 and / or the processing circuitry 1201 is configured to receive from the network node 15, the instruction indication to execute the at least one benchmark program of the one or more benchmark programs on the UE 10 for collecting the UE benchmark scores.
[0157] The UE 10 and / or the processing circuitry 1201 is configured to execute the at least one benchmark program based on the instruction indication collecting the UE benchmark scores; and to provide the collected UE benchmark scores to the network node 15. The UE 10 and / or the processing circuitry 1201 is configured to execute the application.
[0158] The UE 10 and / or the processing circuitry 1201 may be configured to receive from the network node 15, the execution instruction to execute the application on the UE 10; and in response to receiving the execution instruction to execute the application.
[0159] The UE 10 and / or the processing circuitry 1201 may be configured to receive the indication by receiving the one or more benchmark programs from the network node 15.
[0160] The UE 10 and / or the processing circuitry 1201 may be configured to receive the selection indication from the network node indicating the selected preferred edge host for executing the application.
[0161] The UE 10 may comprise a memory 1203. The memory 1203 comprises one or more units to be used to store data on, such as monitoring data, benchmark programs, benchmark scores, parametrized function, UE information, capabilities, indications, services, IDs, messages, thresholds, events and applications to perform the methods disclosed herein when being executed, and similar. Furthermore, the UE 10 may comprise a communication interface 1204 such as comprising a transmitter, a receiver, a transceiver and / or one or more antennas.
[0162] The methods according to the embodiments described herein for the UE 10 are respectively implemented by means of e.g. a computer program product 1205 or a computer program, comprising instructions, i.e. , software code portions, which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by the UE 10. The computer program product 1205 may be stored on a computer-readable storage medium 1206, e g., a disc, a universal serial bus (USB) stick or similar. The computer-readable storage medium 1206, having stored thereon the computer program product, may comprise the instructions which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by UE 10. In some embodiments, the computer-readable storage medium may be a transitory or a non-transitory computer- readable storage medium. Thus, embodiments herein may disclose the UE 10 for handling communication in a communication network, wherein the UE 10 comprises processing circuitry and a memory, said memory comprising instructions executable by said processing circuitry whereby said UE 10 is operative to perform any of the methods herein. In some embodiments a more general term “network node” is used and it can correspond to any type of radio-network node or any network node, which communicates with a UE and / or with another network node.
[0163] In some embodiments the non-limiting term wireless device or user equipment (UE) is used and it refers to any type of wireless device communicating .with a network node and / or with another wireless device in a cellular or mobile communication system. Examples of UE are target device, device to device (D2D) UE, proximity capable UE (aka ProSe UE), loT capable device, machine type UE or UE capable of machine to machine (M2M) communication, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles etc.
[0164] Embodiments are applicable to any RAT or multi-RAT systems, where the wireless device receives and / or transmit signals (e.g. data) e.g. NR, Wi-Fi, LTE, LTE-Advanced, Wideband Code Division Multiple Access (WCDMA), Global System for Mobile communications / enhanced Data rate for GSM Evolution (GSM / EDGE), Worldwide Interoperability for Microwave Access (WiMax), or Ultra Mobile Broadband (UMB), just to mention a few possible implementations.
[0165] As will be readily understood by those familiar with communications design, that functions means or circuits may be implemented using digital logic and / or one or more microcontrollers, microprocessors, or other digital hardware. In some embodiments, several or all of the various functions may be implemented together, such as in a single application-specific integrated circuit (ASIC), or in two or more separate devices with appropriate hardware and / or software interfaces between them. Several of the functions may be implemented on a processor shared with other functional components of a wireless device or network node, for example.
[0166] Alternatively, several of the functional elements of the processing means discussed may be provided through the use of dedicated hardware, while others are provided with hardware for executing software, in association with the appropriate software or firmware. Thus, the term “processor” or “controller” as used herein does not exclusively refer to hardware capable of executing software and may implicitly include, without limitation, digital signal processor (DSP) hardware and / or program or application data. Other hardware, conventional and / or custom, may also be included. Designers of communications devices will appreciate the cost, performance, and maintenance trade-offs inherent in these design choices.
[0167] Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory (RAM), cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and / or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according one or more embodiments of the present disclosure.
[0168] It will be appreciated that the foregoing description and the accompanying drawings represent non-limiting examples of the methods and apparatus taught herein. As such, the apparatus and techniques taught herein are not limited by the foregoing description and accompanying drawings. Instead, the embodiments herein are limited only by the following claims and their legal equivalents.
Claims
1. CLAIMS1. A method performed by a network node (15) for handling an application at a user equipment, UE, (10) in a communication network, the method comprising: obtaining (403) benchmark scores indicating a performance of an edge host by running one or more benchmark programs for the UE (10) executed at the edge host and the UE (10); estimating (404) an execution time for running the application on the edge host using the obtained benchmark scores and a parametrized function; collecting (405) one or more measurements of executing the application at the UE (10) using the edge host; tuning (406) one or more parameters of the parametrized function based on the collected one or more measurements; estimating (407) an updated execution time for running the application on the edge host using the parametrized function with the one or more tuned parameters; and selecting (408) a preferred edge host for handling the application based on the estimated updated execution time.
2. The method according to claim 1, further comprising collecting (409) further one or more measurements for sampling the execution time of the application at the edge host or another edge host and further tuning the one or more parameters of the parametrized function based on the collected further one or more measurements, and the preferred edge host is selected based on estimated execution time using the parametrized function with the one or more further tuned parameters.
3. The method according to any of the claims 1-2, wherein obtaining (403) the benchmark scores comprises collecting one or more edge host benchmark scores by running the one or more benchmark programs at the network node and initiating execution of the one or more benchmark programs at the UE (10) to obtain one or more UE benchmark scores.
4. The method according to claim 3, wherein obtaining (403) the benchmark scores comprises obtaining the one or more UE benchmark scores from the UE (10).
5. The method according to any of the claims 1-4, wherein the parametrized function uses the obtained benchmark scores of the edge host as input of the parametrized function and an output is an execution time estimation.
6. The method according to any of the claims 1-5, further comprising indicating (410) to the UE (10) the selected preferred edge host for executing the application.
7. The method according to any of the claims 1-6, further comprising determining (401) the one or more benchmark programs to use.
8. The method according to any of the claims 1-7, further comprising sending (402) the one or more benchmark programs to the UE (10).
9. The method according to any of the claims 1-8, wherein selecting (408) the preferred edge host is based on a threshold and / or a comparison of results of execution time of a plurality of edge hosts.
10. The method according to any of the claims 1-9, comprising storing (411) the obtained benchmark scores for that edge host.
11. A method performed by a user equipment, UE, (10) for handling an application in a communication network, the method comprising: receiving (501) an indication indicating one or more benchmark programs to use at the UE (10); receiving (502) from a network node (15), an instruction indication to execute at least one benchmark program of the one or more benchmark programs on the UE (10) for collecting UE benchmark scores; executing (503) the at least one benchmark program based on the instruction indication collecting the UE benchmark scores;- providing (504) the collected UE benchmark scores to the network node (15); and executing (507) the application.
12. The method according to claim 11, further comprising receiving (505) from the network node (15), an execution instruction to execute the application on the UE (10); and in response to receiving the execution instruction executing (507) the application.
13. The method according to any of the claims 11-12, wherein receiving (501) the indication comprises receiving the one or more benchmark programs from the network node (15).
14. The method according to any of the claims 11-13, further comprising receiving (506) a selection indication from the network node (15) indicating a selected preferred edge host for executing the application.
15. A network node (15) for handling an application at a user equipment, UE, (10) in a communication network, wherein the network node is configured to: obtain benchmark scores indicating a performance of an edge host by running one or more benchmark programs for the UE (10) executed at the edge host and the UE (10); estimate an execution time for running the application on the edge host using the obtained benchmark scores and a parametrized function; collect one or more measurements of executing the application at the UE(10) using the edge host; tune one or more parameters of the parametrized function based on the collected one or more measurements; estimate an updated execution time for running the application on the edge host using the parametrized function with the one or more tuned parameters; and select a preferred edge host for handling the application based on the estimated updated execution time.
16. The network node (15) according to claim 15, wherein the network node is configured to collect further one or more measurements for sampling the execution time of the application at the edge host or another edge host and to further tune the one or more parameters of the parametrized function based on the collected further one or more measurements, and the preferred edge host is selected based onestimated execution time using the parametrized function with the one or more further tuned parameters.
17. The network node (15) according to any of the claims 15-16, wherein the network node (15) is configured to obtain the benchmark scores by collecting one or more edge host benchmark scores from running the one or more benchmark programs at the network node and by initiating execution of the one or more benchmark programs at the UE (10) to obtain one or more UE benchmark scores.
18. The network node (15) according to claim 17, wherein the network node (15) is configured to obtain the benchmark scores by obtaining the one or more UE benchmark scores from the UE (10).
19. The network node (15) according to any of the claims 15-17, wherein the parametrized function uses the obtained benchmark scores of the edge host as input of the parametrized function and an output is an execution time estimation.
20. The network node (15) according to any of the claims 15-19, wherein the network node (15) is configured to indicate to the UE (10) the selected preferred edge host for executing the application.
21. The network node (15) according to any of the claims 15-20, wherein the network node (15) is configured to determine the one or more benchmark programs to use.
22. The network node (15) according to any of the claims 15-21 , wherein the network node (15) is configured to send the one or more benchmark programs to the UE.
23. The network node (15) according to any of the claims 15-22, wherein the network node (15) is configured to select the preferred edge host based on a threshold and / or a comparison of results of execution time of a plurality of edge hosts.
24. The network node (15) according to any of the claims 15-23, wherein the network node (15) is configured to store the obtained benchmark scores for that edge host.
25. A user equipment, UE, (10) for handling an application in a communication network, wherein the UE (10) is configured to: receive an indication indicating one or more benchmark programs to use at the UE (10); receive from a network node (15), an instruction indication to execute at least one benchmark program of the one or more benchmark programs on the UE (10) for collecting UE benchmark scores; execute the at least one benchmark program based on the instruction indication collecting the UE benchmark scores; provide the collected UE benchmark scores to the network node (15); and execute the application.
26. The UE (10) according to claim 25, wherein the UE (10) is configured to receive from the network node (15), an execution instruction to execute the application on the UE (10); and in response to receiving the execution instruction, execute the application.
27. The UE (10) according to any of the claims 25-26, wherein the UE (10) is configured to receive the indication by receiving the one or more benchmark programs from the network node (15).
28. The UE (10) according to any of the claims 25-27, wherein the UE (10) is configured to receive a selection indication from the network node indicating a selected preferred edge host for executing the application.
29. A computer program product comprising instructions, which, when executed on at least one processor, cause the at least one processor to carry out the method according to any of the claims 1-14, as performed by the network node (15) and the UE (15), respectively.
30. A computer-readable storage medium, having stored thereon a computer program product comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the method according to any of the claims 1-14, as performed by the network node (15) and the UE (10), respectively.
Citation Information
Patent Citations
Technologies for distributing iterative computations in heterogeneous computing environments
US20190220703A1
Managing deployment of an application
WO2022208137A1