System and method to enable end-to-end energy efficiency aware task offloading
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
- Filing Date
- 2023-08-22
- Publication Date
- 2026-07-01
AI Technical Summary
Existing offloading processes for mobile software applications are inefficient as they fail to optimize energy efficiency across the entire wireless communication network, including wireless devices, communication networks, and edge cloud networks.
A method and system that evaluate end-to-end energy efficiency by determining performance metrics and energy efficiency for task execution in wireless devices and edge cloud servers, allowing for optimal decision-making on whether to execute tasks locally or offload them to edge cloud servers.
This approach optimizes energy efficiency by selecting the most energy-efficient execution point within the network, thereby reducing energy consumption and improving performance for mobile applications.
Smart Images

Figure IB2023058334_27022025_PF_FP_ABST
Abstract
Description
[0001]SYSTEM AND METHOD TO ENABLE END-TO-END ENERGY EFFICIENCY AWARE TASK OFFLOADING TECHNICAL FIELD The present disclosure relates to wireless communications, and in particular, to offloading tasks of mobile software applications. BACKGROUND The Third Generation Partnership Project (3GPP) has developed and is developing standards for Fourth Generation (4G) (also referred to as Long Term Evolution (LTE)) and Fifth Generation (5G) (also referred to as New Radio (NR)) wireless communication systems. Such systems provide, among other features, broadband communication between network nodes (NNs), such as base stations, and mobile wireless devices (WD), as well as communication between network nodes and between WDs. The 3GPP is also developing standards for Sixth Generation (6G) wireless communication networks. Computational capacity of devices such as WDs may be relatively weak compared to a cloud data center. Running computing-intensive applications such as analyzing high resolution videos in WDs may cause the WD to performs poorly. One way to improve the performance of such applications is to offload the application itself or parts of the application to a mobile edge cloud, which allows leveraging the relatively high compute capacity of the edge cloud as well as low latency provided by edge cloud deployments in the close proximity of end users. Offloading may not only improve the performance of the mobile application (e.g., in terms of execution time) but may also save power consumption of WD. Although offloading to the edge cloud data centers may improve performance of the WD applications, this could lead to increase in the energy consumption of the edge cloud data center and the mobile network used for accessing the offloaded application from the WD. For instance, energy consumption in the cloud data center is reported as 4% of global electricity consumption and 1% of global greenhouse emissions. Similarly, due to the increase in mobile users and improved data rate, it is reported that telecom operators consume 1.7% of global energy. Further, in recent years, there has been growing call to intelligently manage information and communication technology (ICT) to reduce the global energy consumption and carbon emissions. One metric to quantify energy consumption of an application in the ICT sector is energy efficiency (EE). EE is determined by incorporating the performance of the application and energy consumption required to deliver the performance. Typically, the energy efficiency of an application is mathematically represented by performance (P) over energy consumption (EC) (i.e., P / EC). FIG.1 shows a high-level overview of an example system, i.e., edge cloud ecosystem for offloading a WD application. The example system may include a transport network, a core network, and a mobile network (associated with the UPF), an edge cloud network. Further, a data network may be configured as a link between the mobile network (UPF) and one or more edge sites. The WD application may include tasks / parts and can be offloaded to the edge cloud network. The edge cloud network may be distributed in different geographical regions and each region may have a data center (i.e., edge site). Application can be deployed in any of the data centers. Meanwhile, the WD may use 5G network (e.g., radio access network (RAN), core network, and transport network) to offload and access the application in the edge cloud. There are different paths or links to reach the edge sites (e.g., data centers) from the WD. However, existing offloading processes are limited to offloading applications based on information about only certain portions of the network. That is, the existing offloading processes fail to provide an optimized solution as essential portions of the network are ignored. Further, some other existing offloading processes are limited to specific configurations such as where edge sites used for offloading are co-located with base stations. SUMMARY Some embodiments advantageously provide methods, systems, and apparatuses for performing offloading of application and / or application tasks and / or application components based on parameters such as end-to-end (E2E) efficiency. E2E efficiency associated with an application may include energy efficiency (EE) associated with a WD, communication network, and edge cloud network. EE metrics may be used to quantify and optimize the energy efficiency while offloading to the edge cloud network (and / or its components). In some embodiments, a process for evaluating the overall energy consumption and performance of a task while offloading is described. A communication system may have different components in the edge cloud network and mobile network, which may be used by the WD to make offloading decisions based on user requirements. According to one aspect, a wireless device (WD) configured to communicate with a first network node is described. The first network node is associated with a cloud edge network and a plurality of servers of the cloud edge network. The WD is configured to determine, based at least on task information, a performance metric and an energy efficiency (EE) of a task associated with a WD application as if the task is being executed by the WD, and for each server of the plurality of servers, obtain, from the first network node, an end-to-end (E2E) performance metric and an E2E EE of the task as if the task is being executed by the corresponding server. The performance metric is compared with the E2E performance metric of each server. When the performance metric is less or equal to the E2E performance metric of each server, the task is executed at the WD. When the performance metric is greater than the E2E performance metric of at least one server, a server of the at least one server or the WD is selected to execute the task based on the EE of the WD and the E2E of each server. The task is executed at the WD or offloaded for execution by the server based on the selection. In some embodiments, one or both of: (A) the performance metric of the task associated with the WD application is a first execution time of the task in the WD and is based on a WD computational capacity and a number of instructions of the task; and (B) the EE of a task associated with the WD application is based on the first execution time of the task in the WD and an energy consumed by the WD to run the task. In some other embodiments, the E2E performance metric of the task is the sum of a second execution time of the task in the corresponding edge server and a total network latency between the corresponding edge server and the WD. In some embodiments, one or both of (A) the second execution time of the task in the corresponding server is based on an edge server computational capacity and a number of instructions of the task; and (B) the total network latency is an aggregation of a mobile network latency and a transport network latency. In some other embodiments, the E2E EE of the task is the sum of a mobile network EE, a transport network EE, and an edge server EE. In some embodiments, one or more of: (A) the mobile network EE is based on an average upload latency during execution of the task in a mobile network, an average download latency during execution of the task in the mobile network, and an energy consumption of the task in the mobile network; (B) the transport network EE is based on a transport latency between an edge server and the mobile network and an energy consumption of the task in a transport network; and (C) the edge server EE is based on the second execution time of the task in the corresponding server and an energy consumption of the task in the edge server. In some other embodiments, the WD configured to obtain, from the first network node, the E2E performance metric and the E2E EE is further configured to transmit, to the first network node, a request to determine the E2E performance metric and the E2E EE. The request includes the task information, a WD subscription identifier, and edge requirements. In some embodiments, one or more of the task information, the WD subscription identifier, and the edge requirements are usable by the first network node to determine the E2E performance metric and the E2E EE. In some other embodiments, the WD configured to select the server of the at least one server to execute the task is further configured to select the server having the highest E2E of the at least one server to execute the task. In some embodiments, the WD configured to offload the task for execution by the server is further configured to instruct the first network node to deploy the task to the server, the first network node being configured for edge placement. According to another aspect, a method in a wireless device (WD) configured to communicate with a first network node is described. The first network node is associated with a cloud edge network and a plurality of servers of the cloud edge network. The method includes determining, based at least on task information, a performance metric and an energy efficiency (EE) of a task associated with a WD application as if the task is being executed by the WD. The method further includes, for each server of the plurality of servers, obtaining, from the first network node, an end-to-end (E2E) performance metric and an E2E EE of the task as if the task is being executed by the corresponding server. The performance metric is compared with the E2E performance metric of each server. The method also includes, when the performance metric is less or equal to the E2E performance metric of each server, executing the task at the WD. In addition, the method includes, when the performance metric is greater than the E2E performance metric of at least one server: (A) selecting a server of the at least one server or the WD to execute the task based on the EE of the WD and the E2E of each server of the at least one server; and (B) executing the task at the WD or offloading the task for execution by the server based on the selection. In some embodiments, one or both of: (A) the performance metric of the task associated with the WD application is a first execution time of the task in the WD and is based on a WD computational capacity and a number of instructions of the task; and (B) the EE of a task associated with the WD application is based on the first execution time of the task in the WD and an energy consumed by the WD to run the task. In some other embodiments, the E2E performance metric of the task is the sum of a second execution time of the task in the corresponding edge server and a total network latency between the corresponding edge server and the WD. In some embodiments, one or both of (A) the second execution time of the task in the corresponding server is based on an edge server computational capacity and a number of instructions of the task; and (B) the total network latency is an aggregation of a mobile network latency and a transport network latency. In some other embodiments, the E2E EE of the task is the sum of a mobile network EE, a transport network EE, and an edge server EE. In some embodiments, one or more of: (A) the mobile network EE is based on an average upload latency during execution of the task in a mobile network, an average download latency during execution of the task in the mobile network, and an energy consumption of the task in the mobile network; (B) the transport network EE is based on a transport latency between an edge server and the mobile network and an energy consumption of the task in a transport network; and (C) the edge server EE is based on the second execution time of the task in the corresponding server and an energy consumption of the task in the edge server. In some other embodiments, the method further includes transmitting, to the first network node, a request to determine the E2E performance metric and the E2E EE. The request includes the task information, a WD subscription identifier, and edge requirements. In some embodiments, one or more of the task information, the WD subscription identifier, and the edge requirements are usable by the first network node to determine the E2E performance metric and the E2E EE. In some other embodiments, the method further includes selecting the server having the highest E2E of the at least one server to execute the task. In some embodiments, the method further includes instructing the first network node to deploy the task to the server, the first network node being configured for edge placement. According to one aspect, a first network node configured to communicate with a second network node and a wireless device (WD) is described. The first network node is associated with a cloud edge network and a plurality of servers of the cloud edge network. The second network node is associated with a mobile network and a transport network. The first network node is configured to receive, from the WD, a request to determine an end-to-end (E2E) performance metric and an E2E energy efficiency (EE) of a task associated with a WD application. For each server of the plurality of servers, the E2E performance metric and the E2E EE of the task is determined as if the task is being executed by the corresponding server. The E2E performance metric of the task is based on an execution time of the task in the corresponding edge server and a total network latency between the corresponding edge server and the WD. The E2E EE of the task is based at least one a mobile network EE, a transport network EE, and an edge server EE. The first network node is further configured to transmit, to the WD, a message including the E2E performance metric and the E2E EE of the task. In some embodiments, the request includes task information, a WD subscription identifier, and edge requirements. The first network node is further configured to select the plurality of servers based at least on one or more of the task information, the WD subscription identifier, and the edge requirements. In some other embodiments, one or more of: (A) the mobile network EE is based on an average upload latency during execution of the task in the mobile network, an average download latency during execution of the task in the mobile network, and an energy consumption of the task in the mobile network; (B) the transport network EE is based on a transport latency between an edge server and the mobile network and an energy consumption of the task in the transport network; and (C) the edge server EE is based on the execution time of the task in the corresponding server and an energy consumption of the task in the edge server. In some embodiments, the first network node is further configured to obtain the mobile network EE and the transport network EE from the second network node. In some other embodiments, the first network node is configured to perform edge placement; receive an instruction from the WD to deploy the task to a server of the plurality of servers that is selected by the WD, the server having the highest E2E; and cause the server to execute the task. According to another aspect, a method in a first network node configured to communicate with a second network node and a wireless device (WD) is described. The first network node is associated with a cloud edge network and a plurality of servers of the cloud edge network. The second network node is associated with a mobile network and a transport network. The method includes receiving, from the WD, a request to determine an end-to-end (E2E) performance metric and an E2E energy efficiency (EE) of a task associated with a WD application. The method also includes, for each server of the plurality of servers, determining the E2E performance metric and the E2E EE of the task as if the task is being executed by the corresponding server. The E2E performance metric of the task is based on an execution time of the task in the corresponding edge server and a total network latency between the corresponding edge server and the WD. The E2E EE of the task is based at least one a mobile network EE, a transport network EE, and an edge server EE. Further, the method includes transmitting, to the WD, a message including the E2E performance metric and the E2E EE of the task. In some embodiments, the request includes task information, a WD subscription identifier, and edge requirements, and the method further includes selecting the plurality of servers based at least on one or more of the task information, the WD subscription identifier, and the edge requirements. In some other embodiments, one or more of: (A) the mobile network EE is based on an average upload latency during execution of the task in the mobile network, an average download latency during execution of the task in the mobile network, and an energy consumption of the task in the mobile network; (B) the transport network EE is based on a transport latency between an edge server and the mobile network and an energy consumption of the task in the transport network; and (C) the edge server EE is based on the execution time of the task in the corresponding server and an energy consumption of the task in the edge server. In some embodiments, the method further includes obtaining the mobile network EE and the transport network EE from the second network node. In some other embodiments, the first network node is configured to perform edge placement, and the method further includes receiving an instruction from the WD to deploy the task to a server of the plurality of servers that is selected by the WD, where the server has the highest E2E, and causing the server to execute the task. BRIEF DESCRIPTION OF THE DRAWINGS A more complete understanding of the present embodiments, and the attendant advantages and features thereof, will be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein: FIG.1 shows FIG.1 shows a high-level overview of an example system; FIG.2 is a schematic diagram of an example network architecture illustrating a communication system connected via an intermediate network to a host computer according to the principles in the present disclosure; FIG.3 is a block diagram of a host computer communicating via a network node with a wireless device over an at least partially wireless connection according to some embodiments of the present disclosure; FIG.4 is a flowchart illustrating example methods implemented in a communication system including a host computer, a network node and a wireless device for executing a client application at a wireless device according to some embodiments of the present disclosure; FIG.5 is a flowchart illustrating example methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a wireless device according to some embodiments of the present disclosure; FIG.6 is a flowchart illustrating example methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data from the wireless device at a host computer according to some embodiments of the present disclosure; FIG.7 is a flowchart illustrating example methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a host computer according to some embodiments of the present disclosure; FIG.8 is a flowchart of an example process in a wireless device according to some embodiments of the present disclosure; FIG.9 is a flowchart of an example process in a network node according to some embodiments of the present disclosure; FIG.10 shows an overview of an example system according to some embodiments of the present disclosure; FIG.11 shows an example architecture in a 5G network according to some embodiments of the present disclosure; FIG.12 shows a flowchart of an example process associated with an offload controller according to some embodiments of the present disclosure; FIG.13 shows a numerical example of an offloading process for a task according to some embodiments of the present disclosure; FIG.14 shows a flow diagram of an example initialization process (e.g., in preparation for task offloading) according to some embodiments of the present disclosure; and FIG.15 shows a flow diagram of an example task offloading process according to some embodiments of the present disclosure. DETAILED DESCRIPTION Before describing in detail example embodiments, it is noted that the embodiments reside primarily in combinations of apparatus components and processing steps related to performing offloading of application and / or application tasks and / or application components based on parameters such as E2E efficiency. Accordingly, components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Like numbers refer to like elements throughout the description. As used herein, relational terms, such as “first” and “second,” “top” and “bottom,” and the like, may be used solely to distinguish one entity or element from another entity or element without necessarily requiring or implying any physical or logical relationship or order between such entities or elements. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the concepts described herein. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and / or “including” when used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. In embodiments described herein, the joining term, “in communication with” and the like, may be used to indicate electrical or data communication, which may be accomplished by physical contact, induction, electromagnetic radiation, radio signaling, infrared signaling or optical signaling, for example. One having ordinary skill in the art will appreciate that multiple components may interoperate, and modifications and variations are possible of achieving the electrical and data communication. In some embodiments described herein, the term “coupled,” “connected,” and the like, may be used herein to indicate a connection, although not necessarily directly, and may include wired and / or wireless connections. The term “network node” used herein can be any kind of network node comprised in a radio network which may further comprise any of base station (BS), radio base station, base transceiver station (BTS), base station controller (BSC), radio network controller (RNC), g Node B (gNB), evolved Node B (eNB or eNodeB), Node B, multi- standard radio (MSR) radio node such as MSR BS, multi-cell / multicast coordination entity (MCE), integrated access and backhaul (IAB) node, relay node, donor node controlling relay, radio access point (AP), transmission points, transmission nodes, Remote Radio Unit (RRU) Remote Radio Head (RRH), a core network node (e.g., mobile management entity (MME), self-organizing network (SON) node, a coordinating node, positioning node, MDT node, etc.), an external node (e.g., 3rd party node, a node external to the current network), nodes in distributed antenna system (DAS), a spectrum access system (SAS) node, an element management system (EMS), server such as an edge server, edge controller, RAN components, one or more Kubernetes (K8s) components, access and mobility management function (AMF), session management function (SMF), network data analytic function (NWDAF), operations, administration and management (OAM), network exposure function (NEF), user plane function (UPF), domain name server (DNS), control plan (CP) network functions, etc. The network node may also comprise test equipment. The term “radio node” used herein may be used to also denote a wireless device (WD) such as a wireless device (WD) or a radio network node. In some embodiments, the non-limiting terms wireless device (WD) or a user equipment (UE) or mobile device are used interchangeably. The WD herein can be any type of wireless device capable of communicating with a network node or another WD over radio signals, such as wireless device (WD). The WD may also be a radio communication device, target device, device to device (D2D) WD, machine type WD or WD capable of machine to machine communication (M2M), low-cost and / or low- complexity WD, a sensor equipped with WD, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles, Customer Premises Equipment (CPE), an Internet of Things (IoT) device, or a Narrowband IoT (NB-IOT) device, a wearable device, etc. Also, in some embodiments the generic term “radio network node” is used. It can be any kind of a radio network node which may comprise any of base station, radio base station, base transceiver station, base station controller, network controller, RNC, evolved Node B (eNB), Node B, gNB, Multi-cell / multicast Coordination Entity (MCE), IAB node, relay node, access point, radio access point, Remote Radio Unit (RRU) Remote Radio Head (RRH). Note that although terminology from one particular wireless system, such as, for example, 3GPP LTE and / or New Radio (NR), may be used in this disclosure, this should not be seen as limiting the scope of the disclosure to only the aforementioned system. Other wireless systems, including without limitation Wide Band Code Division Multiple Access (WCDMA), Worldwide Interoperability for Microwave Access (WiMax), Ultra Mobile Broadband (UMB) and Global System for Mobile Communications (GSM), may also benefit from exploiting the ideas covered within this disclosure. Note further, that functions described herein as being performed by a wireless device or a network node may be distributed over a plurality of wireless devices and / or network nodes. In other words, it is contemplated that the functions of the network node and wireless device described herein are not limited to performance by a single physical device and, in fact, can be distributed among several physical devices. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. Referring again to the drawing figures, in which like elements are referred to by like reference numerals, there is shown in FIG.2 a schematic diagram of a communication system 10, according to an embodiment, such as a 3GPP-type cellular network that may support standards such as LTE and / or NR (5G), which comprises an access network 12, such as a radio access network, a transport network 13, a core network 14, and an edge cloud network 15. The access network 12 comprises a plurality of network nodes 16a, 16b, 16c, such as NBs, eNBs, gNBs or other types of wireless access points, each defining a corresponding coverage area 18a, 18b, 18c (referred to collectively as coverage areas 18). Each network node 16a, 16b, 16c is connectable to the transport network 13 over a wired or wireless connection 20 (or any other connection), to the core network 14 via wired or wireless connection 21 (or any other connection), and to the edge cloud network 15 via wired or wireless connection 23. Transport network 13 may include one or more network nodes 16 such as network node 16d. Transport network 13 may be referred to as a data network. Core network 14 may include one or more network nodes 16 such as network node 16e. Edge cloud network may include one or more network nodes such as network node 16f. Network nodes 16a, 16b, 16c, 16d, 16e, 16f may be referred to collectively as network nodes 16. Further, transport network node 13 may be configured to connect (e.g., via wired or wireless connection) directly / indirectly to edge cloud network 15, and edge cloud network 15 may be configured to connect (e.g., via wired or wireless connection) directly / indirectly to any network node 16. Core network 14 may also be configured to directly connect (e.g., via wired or wireless connection) directly / indirectly to any network node 16. A first wireless device (WD) 22a located in coverage area 18a is configured to wirelessly connect to, or be paged by, the corresponding network node 16a. A second WD 22b in coverage area 18b is wirelessly connectable to the corresponding network node 16b. While a plurality of WDs 22a, 22b (collectively referred to as wireless devices 22) are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole WD is in the coverage area or where a sole WD is connecting to the corresponding network node 16. Note that although only two WDs 22 and six network nodes 16 are shown for convenience, the communication system may include many more WDs 22 and network nodes 16. Any WD 22 may be configured to connect (e.g., via wired or wireless connection) directly / indirectly to any network such as access network 12, transport network 13, core network 14, and edge cloud network 15. Also, it is contemplated that a WD 22 can be in simultaneous communication and / or configured to separately communicate with more than one network node 16 and more than one type of network node 16. For example, a WD 22 can have dual connectivity with a network node 16 that supports LTE and the same or a different network node 16 that supports NR. As an example, WD 22 can be in communication with an eNB for LTE / E-UTRAN and a gNB for NR / NG-RAN. Further, although not shown in FIG.6, WDs 22 may communicate directly with any of the network nodes 16d, 16e, 16f. Similarly, network nodes 16a, 16b, 16c may communicate directly with network nodes 16e, 16f. The communication system 10 may itself be connected to a host computer 24, which may be embodied in the hardware and / or software of a standalone server, a cloud- implemented server, a distributed server or as processing resources in a server farm. The host computer 24 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider. The connections 26, 28 between the communication system 10 and the host computer 24 may extend directly from the core network 14 to the host computer 24 or may extend via an optional intermediate network 30. The intermediate network 30 may be one of, or a combination of more than one of, a public, private or hosted network. The intermediate network 30, if any, may be a backbone network or the Internet. In some embodiments, the intermediate network 30 may comprise two or more sub-networks (not shown). The communication system of FIG.2 as a whole enables connectivity between one of the connected WDs 22a, 22b and the host computer 24. The connectivity may be described as an over-the-top (OTT) connection. The host computer 24 and the connected WDs 22a, 22b are configured to communicate data and / or signaling via the OTT connection, using the access network 12, the core network 14, any intermediate network 30 and possible further infrastructure (not shown) as intermediaries. The OTT connection may be transparent in the sense that at least some of the participating communication devices through which the OTT connection passes are unaware of routing of uplink and downlink communications. For example, a network node 16 may not or need not be informed about the past routing of an incoming downlink communication with data originating from a host computer 24 to be forwarded (e.g., handed over) to a connected WD 22a. Similarly, the network node 16 need not be aware of the future routing of an outgoing uplink communication originating from the WD 22a towards the host computer 24. A network node 16 is configured to include a NN management unit 32 which is configured to perform any step and / or task and / or process and / or method and / or feature described in the present disclosure, e.g., NN functions, server functions, edge server functions, etc. A wireless device 22 is configured to include a WD management unit 34 which is configured to perform any step and / or task and / or process and / or method and / or feature described in the present disclosure, e.g., WD functions. Example implementations, in accordance with an embodiment, of the WD 22, network node 16 and host computer 24 discussed in the preceding paragraphs will now be described with reference to FIG.2. In a communication system 10, a host computer 24 comprises hardware (HW) 38 including a communication interface 40 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of the communication system 10. The host computer 24 further comprises processing circuitry 42, which may have storage and / or processing capabilities. The processing circuitry 42 may include a processor 44 and memory 46. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 42 may comprise integrated circuitry for processing and / or control, e.g., one or more processors and / or processor cores and / or FPGAs (Field Programmable Gate Array) and / or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 44 may be configured to access (e.g., write to and / or read from) memory 46, which may comprise any kind of volatile and / or nonvolatile memory, e.g., cache and / or buffer memory and / or RAM (Random Access Memory) and / or ROM (Read-Only Memory) and / or optical memory and / or EPROM (Erasable Programmable Read-Only Memory). Processing circuitry 42 may be configured to control any of the methods and / or processes described herein and / or to cause such methods, and / or processes to be performed, e.g., by host computer 24. Processor 44 corresponds to one or more processors 44 for performing host computer 24 functions described herein. The host computer 24 includes memory 46 that is configured to store data, programmatic software code and / or other information described herein. In some embodiments, the software 48 and / or the host application 50 may include instructions that, when executed by the processor 44 and / or processing circuitry 42, causes the processor 44 and / or processing circuitry 42 to perform the processes described herein with respect to host computer 24. The instructions may be software associated with the host computer 24. The software 48 may be executable by the processing circuitry 42. The software 48 includes a host application 50. The host application 50 may be operable to provide a service to a remote user, such as a WD 22 connecting via an OTT connection 52 terminating at the WD 22 and the host computer 24. In providing the service to the remote user, the host application 50 may provide user data which is transmitted using the OTT connection 52. The “user data” may be data and information described herein as implementing the described functionality. In one embodiment, the host computer 24 may be configured for providing control and functionality to a service provider and may be operated by the service provider or on behalf of the service provider. The processing circuitry 42 of the host computer 24 may enable the host computer 24 to observe, monitor, control, transmit to and / or receive from the network node 16 and or the wireless device 22. The processing circuitry 42 of the host computer 24 may include a host management unit 54 configured to enable the service provider to observe, monitor, control, transmit to / receive from the network node 16 and or the wireless device 22. The communication system 10 further includes a network node 16 provided in a communication system 10 and including hardware 58 enabling it to communicate with the host computer 24 and with the WD 22. The hardware 58 may include a communication interface 60 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of the communication system 10, as well as a radio interface 62 for setting up and maintaining at least a wireless connection 64 with a WD 22 located in a coverage area 18 served by the network node 16. The radio interface 62 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and / or one or more RF transceivers. The communication interface 60 may be configured to facilitate a connection 66 to the host computer 24. The connection 66 may be direct or it may pass through a core network 14 of the communication system 10 and / or through one or more intermediate networks 30 outside the communication system 10. In the embodiment shown, the hardware 58 of the network node 16 further includes processing circuitry 68. The processing circuitry 68 may include a processor 70 and a memory 72. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 68 may comprise integrated circuitry for processing and / or control, e.g., one or more processors and / or processor cores and / or FPGAs (Field Programmable Gate Array) and / or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 70 may be configured to access (e.g., write to and / or read from) the memory 72, which may comprise any kind of volatile and / or nonvolatile memory, e.g., cache and / or buffer memory and / or RAM (Random Access Memory) and / or ROM (Read-Only Memory) and / or optical memory and / or EPROM (Erasable Programmable Read-Only Memory). Thus, the network node 16 further has software 74 stored internally in, for example, memory 72, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the network node 16 via an external connection. Software 74 may include NN application 75 (e.g., a software application, a software component / task, etc.). The software 74 may be executable by the processing circuitry 68. The processing circuitry 68 may be configured to control any of the methods and / or processes described herein and / or to cause such methods, and / or processes to be performed, e.g., by network node 16. Processor 70 corresponds to one or more processors 70 for performing network node 16 functions described herein. The memory 72 is confi30gured to store data, programmatic software code and / or other information described herein. In some embodiments, the software 74 may include instructions that, when executed by the processor 70 and / or processing circuitry 68, causes the processor 70 and / or processing circuitry 68 to perform the processes described herein with respect to network node 16. For example, processing circuitry 68 of the network node 16 may a NN management unit 32 which is configured to perform any step and / or task and / or process and / or method and / or feature described in the present disclosure. For example, NN management unit 32 may be configured to perform edge placement functions, edge management functions, edge monitor functions, edge server functions, network exposure functions, network monitor functions, K8s functions, RAN functions, user plane functions, CP functions including SMF and AMF, any of which may be performed by one or more hardware (and / or software) units included in NN management unit 32 (and / or NN 16). The communication system 10 further includes the WD 22 already referred to. The WD 22 may have hardware 80 that may include a radio interface 82 configured to set up and maintain a wireless connection 64 with a network node 16 serving a coverage area 18 in which the WD 22 is currently located. The radio interface 82 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and / or one or more RF transceivers. The hardware 80 of the WD 22 further includes processing circuitry 84. The processing circuitry 84 may include a processor 86 and memory 88. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 84 may comprise integrated circuitry for processing and / or control, e.g., one or more processors and / or processor cores and / or FPGAs (Field Programmable Gate Array) and / or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 86 may be configured to access (e.g., write to and / or read from) memory 88, which may comprise any kind of volatile and / or nonvolatile memory, e.g., cache and / or buffer memory and / or RAM (Random Access Memory) and / or ROM (Read-Only Memory) and / or optical memory and / or EPROM (Erasable Programmable Read-Only Memory). Thus, the WD 22 may further comprise software 90, which is stored in, for example, memory 88 at the WD 22, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the WD 22. The software 90 may be executable by the processing circuitry 84. The software 90 may include a WD application 92 (e.g., a software application, a software component / task, mobile application, a client application, etc.). The WD application 92 may be operable to provide a service to a human or non-human user via the WD 22, with the support of the host computer 24. In the host computer 24, an executing host application 50 may communicate with the executing WD application 92 via the OTT connection 52 terminating at the WD 22 and the host computer 24. In providing the service to the user, the WD application 92 may receive request data from the host application 50 and provide user data in response to the request data. The OTT connection 52 may transfer both the request data and the user data. The WD application 92 may interact with the user to generate the user data that it provides. The processing circuitry 84 may be configured to control any of the methods and / or processes described herein and / or to cause such methods, and / or processes to be performed, e.g., by WD 22. The processor 86 corresponds to one or more processors 86 for performing WD 22 functions described herein. The WD 22 includes memory 88 that is configured to store data, programmatic software code and / or other information described herein. In some embodiments, the software 90 and / or the WD application 92 may include instructions that, when executed by the processor 86 and / or processing circuitry 84, causes the processor 86 and / or processing circuitry 84 to perform the processes described herein with respect to WD 22. For example, the processing circuitry 84 of the wireless device 22 may include a WD management unit 34 which is configured to perform any step and / or task and / or process and / or method and / or feature described in the present disclosure. For example, WD management unit 34 may be configured to perform offload controller functions, device monitor functions, and software application functions, any of which may be performed by one or more hardware (and / or software) units included in WD management unit 34 (and / or WD 22). In some embodiments, the inner workings of the network node 16, WD 22, and host computer 24 may be as shown in FIG.3 and independently, the surrounding network topology may be that of FIG.2. In FIG.3, the OTT connection 52 has been drawn abstractly to illustrate the communication between the host computer 24 and the wireless device 22 via the network node 16, without explicit reference to any intermediary devices and the precise routing of messages via these devices. Network infrastructure may determine the routing, which it may be configured to hide from the WD 22 or from the service provider operating the host computer 24, or both. While the OTT connection 52 is active, the network infrastructure may further take decisions by which it dynamically changes the routing (e.g., on the basis of load balancing consideration or reconfiguration of the network). The wireless connection 64 between the WD 22 and the network node 16 is in accordance with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of OTT services provided to the WD 22 using the OTT connection 52, in which the wireless connection 64 may form the last segment. More precisely, the teachings of some of these embodiments may improve the data rate, latency, and / or power consumption and thereby provide benefits such as reduced user waiting time, relaxed restriction on file size, better responsiveness, extended battery lifetime, etc. In some embodiments, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 52 between the host computer 24 and WD 22, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection 52 may be implemented in the software 48 of the host computer 24 or in the software 90 of the WD 22, or both. In embodiments, sensors (not shown) may be deployed in or in association with communication devices through which the OTT connection 52 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software 48, 90 may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 52 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect the network node 16, and it may be unknown or imperceptible to the network node 16. Some such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary WD signaling facilitating the host computer’s 24 measurements of throughput, propagation times, latency and the like. In some embodiments, the measurements may be implemented in that the software 48, 90 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 52 while it monitors propagation times, errors, etc. Thus, in some embodiments, the host computer 24 includes processing circuitry 42 configured to provide user data and a communication interface 40 that is configured to forward the user data to a cellular network for transmission to the WD 22. In some embodiments, the cellular network also includes the network node 16 with a radio interface 62. In some embodiments, the network node 16 is configured to, and / or the network node’s 16 processing circuitry 68 is configured to perform the functions and / or methods described herein for preparing / initiating / maintaining / supporting / ending a transmission to the WD 22, and / or preparing / terminating / maintaining / supporting / ending in receipt of a transmission from the WD 22. In some embodiments, the host computer 24 includes processing circuitry 42 and a communication interface 40 that is configured to a communication interface 40 configured to receive user data originating from a transmission from a WD 22 to a network node 16. In some embodiments, the WD 22 is configured to, and / or comprises a radio interface 82 and / or processing circuitry 84 configured to perform the functions and / or methods described herein for preparing / initiating / maintaining / supporting / ending a transmission to the network node 16, and / or preparing / terminating / maintaining / supporting / ending in receipt of a transmission from the network node 16. Although FIGS.2 and 3 show various “units” such as NN management unit 32, and WD management unit 34 as being within a respective processor, it is contemplated that these units may be implemented such that a portion of the unit is stored in a corresponding memory within the processing circuitry. In other words, the units may be implemented in hardware or in a combination of hardware and software within the processing circuitry. FIG.4 is a flowchart illustrating an example method implemented in a communication system, such as, for example, the communication system of FIGS.2 and 3, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIG.3. In a first step of the method, the host computer 24 provides user data (Block S100). In an optional substep of the first step, the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50 (Block S102). In a second step, the host computer 24 initiates a transmission carrying the user data to the WD 22 (Block S104). In an optional third step, the network node 16 transmits to the WD 22 the user data which was carried in the transmission that the host computer 24 initiated, in accordance with the teachings of the embodiments described throughout this disclosure (Block S106). In an optional fourth step, the WD 22 executes a client application, such as, for example, the WD application 92, associated with the host application 50 executed by the host computer 24 (Block S108). FIG.5 is a flowchart illustrating an example method implemented in a communication system, such as, for example, the communication system of FIG.2, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS.2 and 3. In a first step of the method, the host computer 24 provides user data (Block S110). In an optional substep (not shown) the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50. In a second step, the host computer 24 initiates a transmission carrying the user data to the WD 22 (Block S112). The transmission may pass via the network node 16, in accordance with the teachings of the embodiments described throughout this disclosure. In an optional third step, the WD 22 receives the user data carried in the transmission (Block S114). FIG.6 is a flowchart illustrating an example method implemented in a communication system, such as, for example, the communication system of FIG.2, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS.2 and 3. In an optional first step of the method, the WD 22 receives input data provided by the host computer 24 (Block S116). In an optional substep of the first step, the WD 22 executes the WD application 92, which provides the user data in reaction to the received input data provided by the host computer 24 (Block S118). Additionally or alternatively, in an optional second step, the WD 22 provides user data (Block S120). In an optional substep of the second step, the WD provides the user data by executing a client application, such as, for example, WD application 92 (Block S122). In providing the user data, the executed WD application 92 may further consider user input received from the user. Regardless of the specific manner in which the user data was provided, the WD 22 may initiate, in an optional third substep, transmission of the user data to the host computer 24 (Block S124). In a fourth step of the method, the host computer 24 receives the user data transmitted from the WD 22, in accordance with the teachings of the embodiments described throughout this disclosure (Block S126). FIG.7 is a flowchart illustrating an example method implemented in a communication system, such as, for example, the communication system of FIG.2, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS.2 and 3. In an optional first step of the method, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 16 receives user data from the WD 22 (Block S128). In an optional second step, the network node 16 initiates transmission of the received user data to the host computer 24 (Block S130). In a third step, the host computer 24 receives the user data carried in the transmission initiated by the network node 16 (Block S132). FIG.8 is a flowchart of an example process in a WD 22. One or more blocks described herein may be performed by one or more elements of WD 22 such as by one or more of processing circuitry 84 (including the WD management unit 34), processor 86, radio interface 82 and / or communication interface 60. WD 22 such as via processing circuitry 84 and / or processor 86 and / or radio interface 82 is configured to communicate with a first network node, the first network node 16 associated with a cloud edge network 15 and a plurality of servers (e.g., edge server 108, a server comprised in the first network node 16 or other network nodes 16, etc.) of the cloud edge network 15. The WD 22 is configured to determine (Block S134), based at least on task information, a performance metric and an energy efficiency (EE) of a task 110 associated with a WD application 92 as if the task 110 is being executed by the WD 22. WD 22 is further configured to, for each server of the plurality of servers, obtain (Block S136), from the first network node 16, an end-to-end (E2E) performance metric and an E2E EE of the task 110 as if the task 110 is being executed by the corresponding server. The WD 22 is also configured to compare (Block S138) the performance metric with the E2E performance metric of each server, and when the performance metric is less or equal to the E2E performance metric of each server, execute (Block S140) the task at the WD 22. In addition, the WD 22 is configured to, when the performance metric is greater than the E2E performance metric of at least one server, select (Block S142) a server of the at least one server or the WD 22 to execute the task based on the EE of the WD 22 and the E2E of each server of the at least one server and execute (Block S144) the task 110 at the WD 22 or offload the task for execution by the server based on the selection. In some embodiments, one or both of: (A) the performance metric of the task 110 associated with the WD application 92 is a first execution time of the task 110 in the WD 22 and is based on a WD computational capacity and a number of instructions of the task 110; and (B) the EE of a task 110 associated with the WD application 92 is based on the first execution time of the task 110 in the WD 22 and an energy consumed by the WD 22 to run the task 110. In some other embodiments, the E2E performance metric of the task 110 is the sum of a second execution time of the task 110 in the corresponding edge server and a total network latency between the corresponding edge server and the WD 22. In some embodiments, one or both of (A) the second execution time of the task 110 in the corresponding server is based on an edge server computational capacity and a number of instructions of the task 110; and (B) the total network latency is an aggregation of a mobile network latency and a transport network latency. In some other embodiments, the E2E EE of the task 110 is the sum of a mobile network EE, a transport network EE, and an edge server EE. In some embodiments, one or more of: (A) the mobile network EE is based on an average upload latency during execution of the task 110 in a mobile network 100, an average download latency during execution of the task 110 in the mobile network 100, and an energy consumption of the task 110 in the mobile network 100; (B) the transport network EE is based on a transport latency between an edge server and the mobile network 100 and an energy consumption of the task 110 in a transport network 13; and (C) the edge server EE is based on the second execution time of the task 110 in the corresponding server and an energy consumption of the task 110 in the edge server. In some other embodiments, the method further includes transmitting, to the first network node 16, a request to determine the E2E performance metric and the E2E EE. The request includes the task information, a WD subscription identifier, and edge requirements. In some embodiments, one or more of the task information, the WD subscription identifier, and the edge requirements are usable by the first network node 16 to determine the E2E performance metric and the E2E EE. In some other embodiments, the method further includes selecting the server having the highest E2E of the at least one server to execute the task 110. In some embodiments, the method further includes instructing the first network node 16 to deploy the task 110 to the server. The first network node 16 is configured for edge placement. FIG.9 is a flowchart of an example process in a network node 16. One or more blocks described herein may be performed by one or more elements of network node 16 such as by one or more of processing circuitry 68 (including the NN management unit 32), processor 70, radio interface 62 and / or communication interface 60. Network node 16 such as via processing circuitry 68 and / or processor 70 and / or radio interface 62 and / or communication interface 60 is configured to communicate with a second network node 16 and a WD 22. The first network node 16 is associated with a cloud edge network 15 and a plurality of servers of the cloud edge network 15. The second network node 16 is associated with a mobile network 100 and a transport network 13. Further, the first network node 16 is configured to receive (Block S146), from the WD 22, a request to determine an end-to-end (E2E) performance metric and an E2E energy efficiency (EE) of a task 110 associated with a WD application. The first network node 16 is also configured to, for each server of the plurality of servers, determine (Block S148) the E2E performance metric and the E2E EE of the task 110 as if the task 110 is being executed by the corresponding server. The E2E performance metric of the task 110 is based on an execution time of the task 110 in the corresponding edge server and a total network latency between the corresponding edge server and the WD 22. The E2E EE of the task 110 is based at least one a mobile network EE, a transport network EE, and an edge server EE. The first network node 16 is also configured transmit (Block S150), to the WD 22, a message including the E2E performance metric and the E2E EE of the task 110. In some embodiments, the request includes task information, a WD subscription identifier, and edge requirements, and the method further includes selecting the plurality of servers based at least on one or more of the task information, the WD subscription identifier, and the edge requirements. In some other embodiments, one or more of: (A) the mobile network EE is based on an average upload latency during execution of the task 110 in the mobile network 100, an average download latency during execution of the task 110 in the mobile network 100, and an energy consumption of the task 110 in the mobile network 100; (B) the transport network EE is based on a transport latency between an edge server and the mobile network 100 and an energy consumption of the task 110 in the transport network 13; and (C) the edge server EE is based on the execution time of the task 110 in the corresponding server and an energy consumption of the task 110 in the edge server. In some embodiments, the method further includes obtaining the mobile network EE and the transport network EE from the second network node 16. In some other embodiments, the first network node 16 is configured to perform edge placement, and the method further includes receiving an instruction from the WD 22 to deploy the task 110 to a server of the plurality of servers that is selected by the WD 22, where the server has the highest E2E, and causing the server to execute the task 110. Having described the general process flow of arrangements of the disclosure and having provided examples of hardware and software arrangements for implementing the processes and functions of the disclosure, the sections below provide details and examples of arrangements for performing offloading of application and / or application tasks and / or application components based on parameters such as end-to-end (E2E) efficiency. FIG.10 shows an overview of an example system 10. System 10 may include cloud edge network 15, mobile network 100, and WD 22. Mobile network 100 may include any of the networks shown in FIG.2, such as access network 12, transport network 13, core network 14, etc. Further, cloud edge network 15 may include one or more network nodes, e.g., NN 16a. Mobile network 100 may include one or more network nodes, e.g., NN 16b. The term server may refer to a server comprised in a network node 16, e.g., where the network node 16 is configured to perform one or more (edge) server functions. Cloud edge network 15 may include one or more units, module, devices, servers, and / or functions such as edge placement 102, edge management 104, edge monitor 106, and edge server 108, any of which may be included in a NN 16, such as NN 16a, and / or NN management unit 32, and / or its functions performed by NN 16 and / or NN management unit 32. Mobile network 100 may include one or more units, module, devices, servers, and / or functions such as NEF 112, network exposure 114, network monitor 116, and network infrastructure 118, any of which may be included in a NN 16, such as NN 16b, and / or NN management unit 32, and / or its functions performed by NN 16 and / or NN management unit 32. Although the components of cloud edge network 15 and mobile network 100 are each described as being comprised in a corresponding NN 16, the embodiments of the present disclosure are not limited as such, and a NN 16 may comprise one or more of each of the components of each of cloud edge network 15 and mobile network 100. Put differently, different components may reside in more than one NN 16. WD 22 may include one or more units, module, devices, servers, and / or functions such as WD application 92, offload controller 120, and device monitor 122, any of which may be included in WD management unit 34 and / or its functions performed by WD management unit 34. WD Application 92 may include tasks 110 which may be offloaded to the cloud edge network 15, e.g., edge server 108. In some embodiments, offload controller 120 may be configured for managing the offloading of the tasks 110 from WD 22 to the edge cloud network 15, e.g., by considering multiple factors including the optimization of the EE of WD application 92. WD application 92 can include a set of tasks 110, and each task 110 has performance and energy efficiency requirements. For each task 110 of WD application 92, offload controller 120 first retrieves the performance of the tasks 110 (i.e., delay) and energy efficiency in WD 22. The offload controller 120 (i.e., WD 22) may request edge management 104 of NN 16a to retrieve E2E performance and EE of the task 110. E2E performance may include the network delay to access the task 110 and execution time in the edge cloud network 15 (e.g., in edge server 108). In some embodiments, edge management 104 may first retrieve a list of edge servers 108 where the task 110 can be served, and performance and EE of the task 110 in each edge servers 108. Edge management 104 may then request the mobile network 100 (e.g.,, a 5G network) to retrieve the respective performance and EE for accessing the task 110 in each edge servers 108. Mobile network 100 (i.e., NN 16b) estimates the performance of the task in its transport network 13 and its energy efficiency. Edge management 104 may perform the performance and EE of the task 110 for the data network (i.e., the link between the UPF and edge sites). Edge management 104 may further merge the information corresponding to each network which is E2E performance and EE of the task 110 in edge cloud network 15. This information is sent to the offload controller 120 of WD 22. In some other embodiments, offload controller 120 may compare the estimated E2E performance and EE, performance and EE in WD 22, and user’s offload requirements. If the user offload requirements are met, then WD 22 (and / or offload controller 120) selects the edge server 108 which has the highest EE and offloads the task 110 to the selected edge server 108. If the requirements are not met, then the task 110 is executed by WD 22. One or more embodiments enable WDs 22 to offload tasks 110 to the edge cloud network 15, e.g., by meeting performance requirements while optimizing E2E EE of the tasks 110. This may be achieved by coordinating between the corresponding components in the mobile network 100 (and / or access network 12), edge cloud network 15, and devices and / or NNs 16. The coordination may include on or more of the following steps: 1. The offload controller 120 retrieves E2E performance and EE of each task 110 of WD application 90 in different edge servers 108. 2. Edge management 104 retrieves (from edge monitor 106) performance and EE of the tasks 110 in available edge servers 108. 3. Edge management 104 retrieves (from network monitor116 through NEF 112) performance and EE of the tasks 110 in the mobile network 110. 4. Edge management 104 calculates performance and EE of the task 110 in the transport network 110 (e.g., from core network 14 to cloud edge network 15). 5. Edge management 104 calculates E2E performance and EE of the task 110 (e.g., a total of times for all segments, e.g., as shown in FIG.13). 6. Offload controller 120 compares the E2E performance and EE of task 110, performance and EE in WD 22, and user’s offload requirements to determine whether the task 110 to be offloaded, and then which edge server 108 should be selected for offloading. One of the advantages of the embodiments over conventional technology is that optimization of E2E EE of WD application 92 is optimized and that tasks can be offloaded to the edge cloud network 15 by considering the EE of the various networks such as mobile network 100 (which may include access network 12, transport network 13, and core network 14) and edge cloud network 15. Referring again to FIG.10, system 10 includes multiple components, each further described as follows. Components in WD 22 WD 22 may be a mobile device where WD application 92 (e.g., a mobile application) may be running. Tasks 110: These are a set of tasks 110 of WD application 92 which could be, for example, processing large amounts of image feeds coming from a high definition camera. This type of task 110 may take considerable amount of time to process in low powerful mobile devices. The set of tasks 110 can be quantified in the terms of the number of instructions required to complete each task 110. A task 110 can be independent to each other or have some relation between them. In a WD application 92, these tasks can run sequentially (e.g., detecting objects from an incoming video) or simultaneously. When there is a relation between the tasks 110 then the task may be synchronized. In some embodiments, each task is independent of each other, and the tasks 110 are executed sequentially. Offload controller 120: It is configured for optimizing the EE of WD application 92 when offloading tasks 110 to the cloud edge network 15. Offload controller 120 may also determine whether a task 110 is to be offloaded or not. Based on the requirement fulfillment, offload controller 120 may instruct the edge cloud network 15 (and / or any of its components) to offload the task 110. The instruction may include an edge server description of an edge server 108 that will execute the offloaded task 110. Device monitor 122: This is a component in WD 22 (e.g., in WD management unit 34) and may be configured for continuous monitoring available resources and energy consumption of WD 22. Device monitor 122 may also take task description from the offload controller 120 and estimate its execution time in WD 22 and its EE. Components in the mobile network 100 NEF 112: this is a network exposure function which may be performed by communication interface 60 of NN 16. Network exposure 114: This component exposes the functionality of network monitor 116 to an external entity. This could be done with an interface through NEF (e.g., communication interface 60). Edge cloud network 15 may use this component to retrieve the performance and EE of the network related to a task 110. Network monitor 116: This component may be an agent in the mobile network 100 which monitors the energy consumption and EE of the network functions. Network monitor 116 may also take input such as WD location, available network resources, etc., and determine the network performance (such as latency) and EE of the network when a task is offloaded in the different edge servers 108. For exposure, network monitor 116 may take information of WD 22 such as subscription identifier / Subscription Permanent Identifier (SUPI) or Generic Public Subscription Identifier (GPSI), and size of the task to determine the performance and EE in the network. Network infrastructure 118: This includes network components (e.g., 5G network components) which enable communication between WD and cloud edge network 15 and / or its components (e.g., edge cloud data centers) to access the offloaded task 110. Network infrastructure 118 may include network functions (control plan and data plan) also managing different components of a network i.e., RAN, transport, and core network. Edge placement 102: Based on the input from edge management 104, edge placement 102 may be configured for deploying the offloaded task 110 to the selected edge server 108 which is specified by the offload controller 120. Edge management 104: This component may be configured to perform the management and one or more actions of a control plan of the edge cloud network 15, e.g., orchestrating the offloaded tasks 110 and services and managing a cluster. Edge management 104 may also determine E2E performance and EE of tasks 110 in the selected candidate edge servers 108. This may be done by first retrieving the edge cloud related information from edge monitor 106 where it uses the task information such as number of instructions, user’s edge requirements (CPU type, location etc.). This component also retrieves the performance and EE of the task 110 in the mobile network 100. E2E performance may be calculated by aggregating the information retrieved from the mobile network and edge monitor and / or by aggregating its calculation (performance and EE) of data network i.e., the link between the UPF and edge sites. Edge management 104 also has exposure functionality that exposes the performance and EE to the offload controller 120 of WD 22. Edge monitor 106: This component monitors the edge cloud server 108 which collects system metrics (such as available computing capacity) and power consumption from itself or other edge servers 108. Edge monitor 106 can take task description, and requirement to identify which edge servers 108 are suitable for offloading the task 110. Further, Edge monitor 106 may be configured for estimating the performance and EE of the task 110 in the selected edge servers 108. Edge cloud servers 108: These are a set of edge servers 108 (e.g., servers in data centers) deployed in large geographical locations and are configured for executing the offloaded tasks 110 (e.g., offloaded edge services) from WDs 22. The computation capacity and energy efficiency of those edge servers may vary depending on the hardware configuration and the load of the cloud edge server 108. Example implementation option in a 5G network FIG.11 shows a high-level architecture diagram of a 3GPP 5G network according to the embodiments of the present disclosure. Wireless Device 22 WD 22 may be provisioned with offload controller 120 and device monitor 122. Device monitor 122 may monitor resource usage of WD and estimate power consumption of any task 110. In addition, device monitor 122 may estimate the performance of the task 110 in WD 22. While the offload controller 120 is configured to accept the sequential tasks coming from WD application 92. For each task 110, device monitor 122 may communicate with device monitor 122 and edge management 104 to retrieve the performance and EE of the task 110 in WD 22 (i.e., without offloading) and edge cloud network 15 (with offloading), respectively. Offload controller 120 may also be configured with a DNS of edge management 104 which enables it to communicate with edge management 104 of the edge cloud network 15. In some embodiments, DNS of edge management 104 is static. In some other embodiments, this communication can be implemented with an architectural style for an application program interface (API) that uses hypertext transfer protocol (HTTP) requests to access and use data such as RESTful API over HTTP secure (HTTPS). During communication, offload controller 120 may provide task description (i.e., number of instructions), WD network connectivity description, and edge requirement. In some embodiments, WD 22 has a 5G connectivity subscription with the mobile network provider and offloading subscription with the edge cloud provider. The network provider and edge cloud provider may have a business relation through which the latter can retrieve the network performance and energy efficiency of a task 110. Edge cloud network 15 In the edge cloud network 15, there are multiple edge servers 108 (associated with K8s cluster 124) which can be used to deploy the offloaded tasks 110. Each edge server could be geographically distributed. They can be cloudified with Dockers (i.e., software development tools for creating, sharing and running individual containers) and a K8s orchestrator such as federated K8s. Each edge server 108 may have certain characteristics which defines their capabilities. These capabilities could be number of CPU cores, graphics processing units (GPUs), server locations, CPU frequency, etc. Edge server EE also varies based on their capabilities and hardware configuration. further, edge servers 108 may be controlled and managed by edge controller 126 (e.g., comprised in NN management unit 32). The edge controller 126 may include edge placement 102, edge management 104, and edge monitor 106. In the edge management 104, for each task request coming from offload controller 120 of WD 22, edge management 104 may estimate E2E performance and EE of the task 110. Edge management 104 may also be configured for deploying the task 110 to the selected edge server 108 provided by WD 22. Edge monitor 106 may be configured to select the suitable edge servers 108 based on the available resource in the edge cloud network 15, task description, and edge requirement of WD 22. Edge monitor 106 may also estimate the performance of task 110 and EE in each suitable edge server 108. Edge monitor 106 can be implemented with container observability tools such as Cadvisor, Prometheus, Kepler, Scaphandre. In some embodiments, edge cloud network 15 (i.e., edge management 104) is already configured to communicate with a network provider (through NEF) since both the parties have subscription contract for exposure service. The former can retrieve the EE and performance of any task 110. Edge management 104 may acts as an application function (AF) and provide the UE subscription ID, edge server locations, and task description. Edge management 104 may also aggregate E2E performance and EE of tasks 110 by aggregating the data collected from the mobile network 100 and edge monitor 106. In some embodiments, the resultant data is sent to the offload controller 120. The resultant day may be a calculation (performance and EE) of the data network, i.e., between the UPF and edge sites. Mobile network 100 Mobile network 100 may be implemented with a 3GPP core network, thereby having 3GPP core network functions. Mobile network 100 may include network monitor 116 which could be realized in an OAM 130 of the 3GPP network which performs control and management of the mobile network 100. In some embodiments, network monitor 116 observes available resources and power consumption in the mobile network 100 from different core functions and / or RAN functions. Network monitor 116 can also estimate network performance (latency between WD and an UPF 134) and the EE of the link. Network monitor 116 may utilize the WD subscription ID to determine the location of WD 22 which helps to determine the upload and download latency between WD 22 and the edge data servers 108 (e.g., edge data centers). Network monitor 116 may also use the task description to estimate the EE of a task 110 in the mobile network 100. Mobile network 100 may be configured to exposes the capacity of network monitor 116 as a service through network exposure 114. In some embodiments, network exposure 114 is deployed in a 3GPP NWDAF 128 network function. Exposure may be implemented through NEF 112. FIG.12 shows a flowchart of a process associated with offload controller 120. At step 200, WD 22 may initialize performance and energy efficiency estimation capabilities of the WD 22. At step 202, WD application 92 may submit task descriptions, edge requirements, offload requirements to offload controller 120. At step 204, offload controller 120 retrieves performance and EE of task 110 in WD 22, and at step S206, offload controller 120 retrieves E2E performance and EE of task 110 in the edge cloud network 15 (e.g., edge server 108). At step S208, offload controller 120 compares the performance and EE of task in WD 22, edge cloud network 15, and offload requirement. At step 210, if the offload requirements are not met, the task 110 is executed by the WD 22. At step S212, if the offload requirements are met, offload controller 120 selects the edge servers 108 with maximum energy efficiency. AT step S 214, offload controller 120 instructs the edge cloud network 15 (e.g., an edge server 108) to deploy the task to the selected edge server 108. Mathematical model The following is an example of an energy efficiency model of a computation offloading task. Let there be n number of tasks 110 from the WD application 92 (T1, T2, …., Tn). Each task 110 can have a certain number of instructions which determines the size of the task 110. Let us assume the number of instruction for n task is (I1,I2, …., In) where In is the number of instructions of the task Tn. Performance and energy efficiency of the task in WD 22 The performance of task in the WD 22 is determined by execution time in the WD 22. For task Tnthe performance may be: PnD= In / CD(1) where PnDis the execution time of the Tnin WD 22, and CDis the computational capacity of WD 22, i.e., the number of instructions per second. Let ECnDbe the energy consumption of the task while running in WD 22. Therefore, EE of the task Tn while running in the mobile device locally is: EEnD= 1 / (PnD* ECnD), (2) where EEnDis the energy efficiency of the Tn while in WD 22. Similarly, the EE of each task 110 while running in WD 22 may be calculated. Performance and energy efficiency of the task in the edge cloud network 15 Each task 110 can be offloaded to the edge cloud network 15 (e.g., edge server 108) or run in the WD 22. If the task Tn is to be offloaded in the edge cloud network 15, then the task can be offloaded to many suitable edge servers 108. The E2E performance of a task 110 in the edge cloud network may be the sum of the execution time in the edge server 108 and total network latency between that the edge server 108 and WD 22. Similarly, EE of a task 110 may be the sum of the EE of the task 110 in the edge server 108 and mobile network 100. In some embodiments, network latency is an aggregation of latency in the mobile network 100 (WD 22 and UPF) and transport latency (UPF 134 and edge server 108). In some embodiments, transport latency may refer to data network latency. Let, there are an m number of edge servers 108 available in the edge cloud network. The computational capacity of each edge server 108 may be different (CE_1, CE, …, CE_m). Therefore, the execution time for task Tn, in the mthedge server 108 of the edge cloud network 15 may be: Similarly, energy efficiency of the task in the mthedge server is, where ECnE_mis the energy consumption of task Tn, in the mthedge server 108 of the edge cloud network 15. There are different ways to calculate the energy consumption of a task 110 in the edge server 108. One way is based on the resource usage of the task 110. Performance and EE of the task in the mobile network 100 The network latency can be calculated as: LnC_m= UpLatencynC_m+ DownLatencynC_m.(5) UpLatencynC_mis the average upload latency during the execution of the task 110 in the mobile network 100. This is the upload latency between WD 22 and UPF 134 (e.g., comprised in NN 16b) Similarly, DownLatencynC_mis the average download latency during the execution of the task 110. This is the download latency between the device and UPF 134 (e.g., comprised in NN 16b). The EE of the mobile network 100 for accessing the Tn task 110 running in the mthedge server 108: EEnC_m= 1 / (UpLatencynC_m+ DownLatencynC_m) * ECnC_m(6) where, ECnc_mis the energy consumption of the network functions that are involved for the data traffic associated with the task 110. In some embodiments, two kinds of network functions may be categorized in the 5G network: control plan and data plan network functions. The energy consumption may be expanded as: ECnC_m= ECnCP_m+ ECnDP_m.(7) Where, ECnCP_mis the energy consumption in control plan network functions such as SMF, AMF. This can be calculated from total energy consumption of the network function, and averaging the number of services the network function serves. ECnDP_mis the energy consumption of data plan network function such as UPF. The network function may be associated with multiple users. Therefore, the energy consumption of the task may be extracted by using the total data volume of UPF during the period, and data volume of the task 110. Performance and energy efficiency of the task in the transport network 13 We can measure the transport latency between the mthedge server 108 and the network by using round trip time (RTT). Let’s assume that Lnt_mis the transport latency between the mthedge server 108 and the mobile network 100. Energy efficiency of the transport network 13 for a task 110 can be calculated with Lnt_mand ECnt_m, which is the energy consumption of the task 110 in the transport network 13. Therefore, EEnt_mwhich is EE of the task 110 in the transport network 13 may be: EEnt_m= 1 / Lnt_m* ECnt_mECnt_mcan be estimated from NIC power consumption in the mthedge cloud due to the task 110. Task description may be used to estimate proportion of energy consumption due to the task. E2E performance and EE of the task 110 E2E performance for Tn to be offloaded to the mthedge server 108 may be the sum of the network latency, transport latency and execution time in the edge server 108. Pnm= LnC_m+ Lnt_m+ PnE_m= (In / CE_m) + (UpLatencynC_m+ DownLatencynC_m) (8) Similarly, end-to-end energy efficiency of the Tnto be offloaded to the mthedge server is sum of the energy efficiency in the network, transport and edge cloud, such as: The end-to-end performance of the task in the edge cloud and mobile device may be compared. This is to determine the net performance gain after offloading Tn task to the mthedge server 108. Net performance gain may be expressed as: PGnm= PnD- Pnm(11) where PGnmis the net performance gain of the task after offloading. The PGnmcan be used to determine whether the task should be offloaded to the edge servers 108 or not. This is used to determine which edge servers 108 are suitable to offload. The E2E EE of the task in the suitable edge servers 108 may be compared and the edge server 108 which provides the best energy efficiency may be selected. WD application 92 such as a mobile gaming application which is computing intensive may be executed by WD 22. The user of WD application 92 desires to improve the performance of WD application 92. This is achieved by offloading WD application 92 to the edge cloud network 15. However, the user has certain EE criteria which is that offload WD application 92 to the edge cloud network 15 if the performance of WD application 92 is improved and EE criteria is met. EE criteria may include “deploy the task to the edge server which provides highest energy efficiency.” WD application 92 may include a set of tasks 110. For each task 110, the performance of WD application 92 while offloading should improve, i.e., the execution time at the edge cloud network 15 should be less than at WD 22. There may also be EE constraints for each task 110. In this example, the requirement of the user is to achieve energy efficiency. For example, each task 110 should be offloaded to the edge cloud server 108 that consumes the least energy. The following process optimizes EE of WD application 92 while offloading by selecting the best data center (i.e., edge server 108). • Input: o Set of tasks 110 of WD application 92 with its size; and o Requirement: latency after offloading should be less, and energy consumption should be the least. • Output: o Set of tasks 110 to be offloaded and its respective edge server 108. When a task is triggered to execute: a) Calculate the performance gain and EE in WD 22. b) Determine the performance and EE when offloading. i. Contact the edge cloud network 15, i.e., edge management 104, retrieve the suitable edge server 108, estimate performance gain and EE after offloading to each of the suited edge server 108. ii. Contact the mobile network 100, i.e., NEF 112, and retrieve the network performance and EE of task 110 in the mobile network 100 for each edge sever 108. iii. Edge management 104 estimates the network transport latency and EE of the task 110 for each edge server 108. In some embodiments, transport latency refers to data network latency. iv. Aggregate the above information and estimate the E2E performance and EE of the task 110 for each edge server 108. c) Compare the E2E performance and EE with offloading (from “b”), without offloading (from “a”), user offloading requirement. i. Check whether the set of values in PGnmfrom equation (11) is greater than zero. If none of them are greater than zero, then the task is not offloaded. ii. Else, select the edge server 108 which provides the highest energy efficiency. 1. Select the edge servers 108 where the performance is better after offloading. This may be a list of edge servers 108 where PGnmis greater than zero. 2. Select the edge server 108 has highest energy efficiency. Edge server 108 may be selected from the list that has maximum EEnm. The output may be the task to be offloaded / not offloaded. If offloaded, then the selected edge server 108 is provided. A numerical example of the solution FIG.13 shows a numerical example of offloading a task. In this example, the requirement is that E2E performance after offloading should be less than the performance in WD 22. A second requirement is that E2E EE should be highest. E2E performance may be expressed in terms of absolute value such as E2E performance should be less than 7s. In this example, the performance and EE of the task in the mobile device is 10s and 0.2, respectively. Based on the edge requirement, three edge servers 108 are suitable for deploying the task 110. The edge servers 108 are: edge server 108a, edge server 108b, and edge server 108c. For simplicity, the E2E performance and EE of the task in the suitable candidate edge servers is shown. The E2E performance in edge server 108a, edge server 108b, and edge server 108c are 5s, 5s, and 10s, respectively. While the E2E EE in the edge server 108a, edge server 108b, and edge server 108c are 0.8, 0.7, and 0.3, respectively. Then, the edge server 108a and edge server 108b fulfill the performance criteria i.e., E2E performance should be less than the performance in WD 22. This could be used with the equation (11). The second criteria is to select the edge server 108 which has the highest E2E EE. The offload controller 120 may select the edge server 108a which has the highest E2E EE. In some embodiments, where E2E EE in mobile device is better than the edge cloud network 15, based on the requirement, WD 22 could be selected to execute the task. Example process between different components of three entities FIG.14 shows a high-level flow-diagram of an initialization process, which includes any of the following: Step S300: In WD 22, device monitor 122 initializes performance and EE estimation of tasks and / or starts monitoring WD 22 which includes periodically measuring the power consumption and compute capacity of the WD 22. WD 22 is now ready to estimate the performance and EE of task 110 while executing in WD 22. Step S302: In the edge cloud network 15, edge monitor 106 initializes performance and EE estimation of tasks and / or starts monitoring the edge cloud network 15 which includes periodically measuring the power consumption and computational capacity of the available edge servers 108 in the edge cloud infrastructures. This could be done with tools such as Scaphandre, Cadvisor, Prometheus. Edge cloud network 15 is now ready to estimate the cloud latency and EE of task while executing in the edge cloud. Step S304: In the mobile network 100, network monitor 116 initializes performance and EE estimation of tasks and / or starts monitoring the mobile network 100 which includes periodically measuring the power consumption of the network functions and network performance of the mobile network 100. It is now ready to provide the network performance (i.e., latency) and EE of task 110. Although Steps S300-S304 are described as readying each corresponding component, the embodiment of the present disclosure are not limited as such, and any of the steps of the offloading process may be performed without performing the steps of FIG. 14. FIG.15 shows a high-level flow-diagram of an example offloading process between the different components of the three entities when a task 110 is triggered by WD application 92. The example offloading process may include any of the following. Step S306: WD 22 submits WD application 92 (and / or tasks 110) to the offload controller and its requirements. This includes the set of tasks of WD application 92, task description and its performance, EE requirements, edge requirements, etc. All the tasks can be submitted once or sequentially. In one embodiment, the tasks 110 are sequentially submitted, and they are independent of each other. In another embodiment, tasks 110 may be submitted simultaneously, may be running simultaneously, may depend on each other. In such cases, performance of the tasks 110 in offloading may also include the communication latency between the tasks 110 while executing in the different edge servers 108. Step S308: Whenever a task 110 is triggered to execute, offload controller 120 requests the device monitor 122 to retrieve the performance and EE of the task 110 in the WD 22. Offload controller 120 sends the task description which could be number of instructions in the task. In video processing use cases, it may be the size of the video. Step S310: Device monitor 122 uses the current computing capacity of WD 22 and power consumption, and task information to estimate the performance and EE of the task 110 in WD 22. These estimation values are returned to the offload controller. Step S312: Device monitor 122 may transmit to offload controller 120 any of information determined at step S310 such as performance and EE of the task 110. Step S314: The offload controller 120 requests the edge management 104 the task information, WD subscription ID, edge requirements to retrieve E2E performance and EE of task 110 in edge cloud network 15. Offload controller 120 may be using its configuration (DNS, credential, etc.) to establish the communication over the user plane. The communication could be implemented with REST procedure call over user plane of the 5G network. Step S316: Edge management 104 requests the edge monitor 106 to retrieve the performance and EE of the task 110 in the suitable edge servers 108. Step S318: Edge monitor 106, based on the compute capacity of the available edge cloud network (e.g., edge server 108), power consumption, task description, and edge requirement, selects suitable edge servers 108 for the task 110. Then, edge monitor 106 estimates the cloud performance and EE which is the EE of task 110 in the candidate edge servers 108. Step S320: The information determined in step S318 is returned to the edge management 104. Step S322: Edge management 104 contacts the NEF 112 in the mobile network 100 to retrieve the network performance and EE of the task 110 when executed in the edge servers 108. Edge management 104 sends the WD subscription information, and task information. In this case, edge management may be configured to communicate with NEF 112 based on the subscription it has for collecting performance and EE of the task 110. Another option may include using an already retrieved / cached network and EE of the mobile network 100 and estimating the performance and EE of the task 110 based on the task description. This may reduce the complexity of frequent communication between the edge management 104 and mobile network 100. Step S324: With the received information, NEF 112 sends a request to the network exposure 114 to retrieve the network performance and EE of the task 110. Step S326: Network exposure 114 retrieves the value from the network monitor 116. Step S328: Network monitor 116 uses the WD subscription ID, task information, to determine the network performance. The performance could be aggregation of network latencies, e.g., upload and download between the WD 22 and a NN of the mobile network node 100 (e.g., UPF). EE may be an estimation of energy consumption and performance by the different network functions to perform the task (i.e., number of instructions), RAN, etc. A detail of how to calculate the network performance and energy efficiency of a task is given in equation (5) and (7). Step S330: The information obtained in step S324 is sent to network exposure 114. Step S332: The information transmitted in step S330 is forwarded to NEF 112. Step S334: The retrieved information from network monitor 116 is sent to edge management 104. Step S336: Edge management 104 estimates performance and EE of task 110, e.g., in the transport network 13 such as a link between UPF 134 and edge servers 108 (and / or data network) The edge management 104 or third party could implement an observability tool which could measure the latency of the transport network 13 and its energy efficiency. Step S338: Edge management 104 aggregates the performance of the task 110 and EE when offloading in the different available edge servers 108 using the collected data (performance and energy efficiency) of the task retrieved from the edge monitor 106 (cloud), NEF (network), transport network 13, etc. Step S340: Edge management 104 returns the aggregated data i.e., the E2E performance and EE of the task 110. Step S342: Offload controller 120 compares the E2E performance and EE of the task 110 in the edge servers 108 (offloading), in the WD 22 and user’s offload requirements. This could be if the performance of the task 110 after offloading should be improved, and then select the edge server 108 which has the highest energy efficiency. Step S344: If the requirements are met, the offload controller 120 selects the edge server which provides the highest energy efficiency and instructs the edge monitor 104 to deploy the task in the selected edge server 108. Step S346: If the requirements are not met, then the task 110 is not offloaded and is executed locally in WD 22. As will be appreciated by one of skill in the art, the concepts described herein may be embodied as a method, data processing system, computer program product and / or computer storage media storing an executable computer program. Accordingly, the concepts described herein may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a “circuit” or “module.” Any process, step, action and / or functionality described herein may be performed by, and / or associated to, a corresponding module, which may be implemented in software and / or firmware and / or hardware. Furthermore, the disclosure may take the form of a computer program product on a tangible computer usable storage medium having computer program code embodied in the medium that can be executed by a computer. Any suitable tangible computer readable medium may be utilized including hard disks, CD-ROMs, electronic storage devices, optical storage devices, or magnetic storage devices. Some embodiments are described herein with reference to flowchart illustrations and / or block diagrams of methods, systems and computer program products. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer (to thereby create a special purpose computer), special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer program instructions may also be stored in a computer readable memory or storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instruction means which implement the function / act specified in the flowchart and / or block diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. It is to be understood that the functions / acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality / acts involved. Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows. Computer program code for carrying out operations of the concepts described herein may be written in an object oriented programming language such as Python, Java® or C++. However, the computer program code for carrying out operations of the disclosure may also be written in conventional procedural programming languages, such as the "C" programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, all embodiments can be combined in any way and / or combination, and the present specification, including the drawings, shall be construed to constitute a complete written description of all combinations and subcombinations of the embodiments described herein, and of the manner and process of making and using them, and shall support claims to any such combination or subcombination. Abbreviations that may be used in the preceding description include: 3GPP 3rd Generation Partnership Project AMF Access and Mobility Management Function DNS Domain Name Server E2E End to End EE Energy efficiency GPSI General Public Subscription Identifier NEF Network Exposure Function NWDAF Network Data Analytic Function OAM Operations, Administration and Management REST Representational State Transfer SMF Session Management Function SUPI Subscription Permanent Identifier UE User Equipment UPF User Plane Function It will be appreciated by persons skilled in the art that the embodiments described herein are not limited to what has been particularly shown and described herein above. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope of the following claims.
Claims
What is claimed is:
1. A wireless device, WD (22), configured to communicate with a first network node (16), the first network node (16) being associated with a cloud edge network (15) and a plurality of servers of the cloud edge network (15), the WD (22) being configured to: determine, based at least on task information, a performance metric and an energy efficiency, EE, of a task associated with a WD application (92) as if the task (110) is being executed by the WD (22); for each server of the plurality of servers, obtain, from the first network node (16), an end-to-end, E2E, performance metric and an E2E EE of the task (110) as if the task (110) is being executed by the corresponding server; compare the performance metric with the E2E performance metric of each server; when the performance metric is less or equal to the E2E performance metric of each server, execute the task (110) at the WD (22); and when the performance metric is greater than the E2E performance metric of at least one server: select a server of the at least one server or the WD (22) to execute the task (110) based on the EE of the WD (22) and the E2E of each server of the at least one server; and execute the task (110) at the WD (22) or offload the task (110) for execution by the server based on the selection.
2. The WD (22) of Claim 1, wherein one or both of: the performance metric of the task (110) associated with the WD application (92) is a first execution time of the task (110) in the WD (22) and is based on a WD computational capacity and a number of instructions of the task (110); and the EE of a task (110) associated with the WD application (92) is based on the first execution time of the task (110) in the WD (22) and an energy consumed by the WD (22) to run the task (110).
3. The WD (22) of any one of Claims 1 and 2, wherein the E2E performance metric of the task (110) is the sum of a second execution time of the task (110) in the corresponding edge server (108) and a total network latency between the corresponding edge server (108) and the WD (22).
4. The WD (22) of Claim 3, wherein one or both of: the second execution time of the task (110) in the corresponding server is based on an edge server computational capacity and a number of instructions of the task (110); and the total network latency is an aggregation of a mobile network latency and a transport network latency.
5. The WD (22) of any one of Claims 3 and 4, wherein the E2E EE of the task (110) is the sum of a mobile network EE, a transport network EE, and an edge server EE.
6. The WD (22) of Claim 5, wherein one or more of: the mobile network EE is based on an average upload latency during execution of the task (110) in a mobile network (100), an average download latency during execution of the task (110) in the mobile network (100), and an energy consumption of the task (110) in the mobile network (100); the transport network EE is based on a transport latency between an edge server (108) and the mobile network (100) and an energy consumption of the task (110) in a transport network (13); and the edge server EE is based on the second execution time of the task (110) in the corresponding server and an energy consumption of the task (110) in the edge server (108).
7. The WD (22) of any one of Claims 1-6, wherein the WD (22) configured to obtain, from the first network node (16), the E2E performance metric and the E2E EE is further configured to: transmit, to the first network node (16), a request to determine the E2E performance metric and the E2E EE, the request including the task information, a WD subscription identifier, and edge requirements.
8. The WD (22) of Claims 7, wherein one or more of the task information, the WD subscription identifier, and the edge requirements are usable by the first network node (16) to determine the E2E performance metric and the E2E EE.
9. The WD (22) of any one of Claims 1-8, wherein the WD (22) configured to select the server of the at least one server to execute the task (110) is further configured to:select the server having the highest E2E of the at least one server to execute the task (110).
10. The WD (22) of any one of Claims 1-9, wherein the WD (22) configured to offload the task (110) for execution by the server is further configured to: instruct the first network node (16) to deploy the task (110) to the server, the first network node (16) being configured for edge placement.
11. A method in a wireless device, WD (22), configured to communicate with a first network node (16), the first network node (16) being associated with a cloud edge network (15) and a plurality of servers of the cloud edge network (15), the method comprising: Determining (S134), based at least on task information, a performance metric and an energy efficiency, EE, of a task (110) associated with a WD application (92) as if the task (110) is being executed by the WD (22); for each server of the plurality of servers, obtaining (S136), from the first network node (16), an end-to-end, E2E, performance metric and an E2E EE of the task (110) as if the task (110) is being executed by the corresponding server; comparing (S138) the performance metric with the E2E performance metric of each server; when the performance metric is less or equal to the E2E performance metric of each server (S140), executing the task (110) at the WD (22); and when the performance metric is greater than the E2E performance metric of at least one server: selecting (S142) a server of the at least one server or the WD (22) to execute the task (110) based on the EE of the WD (22) and the E2E of each server of the at least one server; and executing (S144) the task (110) at the WD (22) or offloading the task (110) for execution by the server based on the selection.
12. The method of Claim 11, wherein one or both of: the performance metric of the task (110) associated with the WD application (92) is a first execution time of the task (110) in the WD (22) and is based on a WD computational capacity and a number of instructions of the task (110); andthe EE of a task (110) associated with the WD application (92) is based on the first execution time of the task (110) in the WD (22) and an energy consumed by the WD (22) to run the task (110).
13. The method of any one of Claims 11 and 12, wherein the E2E performance metric of the task (110) is the sum of a second execution time of the task (110) in the corresponding edge server (108) and a total network latency between the corresponding edge server (108) and the WD (22).
14. The method of Claim 13, wherein one or both of: the second execution time of the task (110) in the corresponding server is based on an edge server computational capacity and a number of instructions of the task (110); and the total network latency is an aggregation of a mobile network latency and a transport network latency.
15. The method of any one of Claims 13 and 14, wherein the E2E EE of the task (110) is the sum of a mobile network EE, a transport network EE, and an edge server EE.
16. The method of Claim 15, wherein one or more of: the mobile network EE is based on an average upload latency during execution of the task (110) in a mobile network (100), an average download latency during execution of the task (110) in the mobile network (100), and an energy consumption of the task (110) in the mobile network (100); the transport network EE is based on a transport latency between an edge server (108) and the mobile network (100) and an energy consumption of the task (110) in a transport network (13); and the edge server EE is based on the second execution time of the task (110) in the corresponding server and an energy consumption of the task (110) in the edge server (108).
17. The method of any one of Claims 11-16, wherein the obtaining, from the first network node (16), the E2E performance metric and the E2E EE further includes:transmitting, to the first network node (16), a request to determine the E2E performance metric and the E2E EE, the request including the task information, a WD subscription identifier, and edge requirements.
18. The method of Claims 17, wherein one or more of the task information, the WD subscription identifier, and the edge requirements are usable by the first network node (16) to determine the E2E performance metric and the E2E EE.
19. The method of any one of Claims 11-18, wherein selecting the server of the at least one server to execute the task (110) further includes: selecting the server having the highest E2E of the at least one server to execute the task (110).
20. The method of any one of Claims 11-19, wherein offloading the task (110) for execution by the server further includes: instructing the first network node (16) to deploy the task (110) to the server, the first network node (16) being configured for edge placement.
21. A first network node (16) configured to communicate with a second network node (16) and a wireless device, WD (22), the first network node (16) being associated with a cloud edge network (15) and a plurality of servers of the cloud edge network (15), the second network node (16) being associated with a mobile network (100) and a transport network (13), the first network node (16) being configured to: receive, from the WD (22), a request to determine an end-to-end, E2E, performance metric and an E2E energy efficiency, EE, of a task (110) associated with a WD application (92); for each server of the plurality of servers, determine the E2E performance metric and the E2E EE of the task (110) as if the task (110) is being executed by the corresponding server, the E2E performance metric of the task (110) being based on an execution time of the task (110) in the corresponding edge server (108) and a total network latency between the corresponding edge server (108) and the WD (22), the E2E EE of the task (110) being based at least one a mobile network EE, a transport network EE, and an edge server EE; andtransmit, to the WD (22), a message including the E2E performance metric and the E2E EE of the task (110).
22. The first network node (16) of Claim 21, wherein the request includes task information, a WD subscription identifier, and edge requirements, and the first network node (16) is further configured to: select the plurality of servers based at least on one or more of the task information, the WD (22) subscription identifier, and the edge requirements.
23. The first network node (16) of any one of Claims 21 and 22, wherein one or more of: the mobile network EE is based on an average upload latency during execution of the task (110) in the mobile network (100), an average download latency during execution of the task (110) in the mobile network (100), and an energy consumption of the task (110) in the mobile network (100); the transport network EE is based on a transport latency between an edge server (108) and the mobile network (100) and an energy consumption of the task (110) in the transport network (13); and the edge server EE is based on the execution time of the task (110) in the corresponding server and an energy consumption of the task (110) in the edge server (108).
24. The first network node (16) of any one of Claims 21-23, wherein the first network node (16) is further configured to: obtain the mobile network EE and the transport network EE from the second network node (16).
25. The first network node (16) of any one of Claims 21-24, wherein the first network node (16) is configured to perform edge placement and to: receive an instruction from the WD (22) to deploy the task (110) to a server of the plurality of servers that is selected by the WD (22), the server having the highest E2E; and cause the server to execute the task (110).
26. A method in a first network node (16) configured to communicate with a second network node (16) and a wireless device, WD (22), the first network node (16) being associated with a cloud edge network (15) and a plurality of servers of the cloud edge network (15), the second network node (16) being associated with a mobile network (100) and a transport network (13), the method comprising: Receiving (S146), from the WD (22), a request to determine an end-to-end, E2E, performance metric and an E2E energy efficiency, EE, of a task (110) associated with a WD application (92); for each server of the plurality of servers, determining (S148) the E2E performance metric and the E2E EE of the task (110) as if the task (110) is being executed by the corresponding server, the E2E performance metric of the task (110) being based on an execution time of the task (110) in the corresponding edge server (108) and a total network latency between the corresponding edge server (108) and the WD (22), the E2E EE of the task being based at least one a mobile network EE, a transport network EE, and an edge server EE; and transmitting (S150), to the WD (22), a message including the E2E performance metric and the E2E EE of the task (110).
27. The method of Claim 26, wherein the request includes task information, a WD subscription identifier, and edge requirements, and the method further includes: selecting the plurality of servers based at least on one or more of the task information, the WD subscription identifier, and the edge requirements.
28. The method of any one of Claims 26 and 27, wherein one or more of: the mobile network EE is based on an average upload latency during execution of the task (110) in the mobile network (100), an average download latency during execution of the task (110) in the mobile network (100), and an energy consumption of the task (110) in the mobile network (100); the transport network EE is based on a transport latency between an edge server (108) and the mobile network (100) and an energy consumption of the task (110) in the transport network (13); and the edge server EE is based on the execution time of the task (110) in the corresponding server and an energy consumption of the task (110) in the edge server (108).
29. The method of any one of Claims 26-28, wherein the method further includes: obtaining the mobile network EE and the transport network EE from the second network node (16).
30. The method of any one of Claims 26-29, wherein the first network node (16) is configured to perform edge placement, and the method further includes: receiving an instruction from the WD (22) to deploy the task (110) to a server of the plurality of servers that is selected by the WD (22), the server having the highest E2E; and causing the server to execute the task (110).