Dynamic service discovery and offloading framework for edge computing-based cellular network systems

The system addresses the limitations of wireless devices by dynamically offloading tasks to edge computing resources, enhancing latency reduction and bandwidth efficiency through intelligent task allocation.

JP7787244B2Active Publication Date: 2025-12-16APPLE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024109597
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-03-23
Filing Date
2024-07-08
Publication Date
2025-12-16
Estimated Expiration
2040-12-17

AI Technical Summary

Technical Problem

Existing wireless devices face challenges with computationally demanding applications due to limited battery capacity, temperature limitations, and device size constraints, while cloud computing offloading introduces significant communication delays unsuitable for real-time applications.

Method used

A system and method for dynamic service discovery and offloading of UE tasks to edge computing resources, utilizing an offload controller that considers channel conditions, network parameters, and application requirements to determine whether tasks should be offloaded to edge servers or executed locally, based on a utility function comparison with predefined thresholds.

Benefits of technology

This approach reduces latency and improves bandwidth efficiency by efficiently offloading tasks to edge servers, optimizing resource utilization and reducing ping-pong effects between remote and local execution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007787244000006
    Figure 0007787244000006
  • Figure 0007787244000007
    Figure 0007787244000007
  • Figure 0007787244000008
    Figure 0007787244000008
Patent Text Reader

Abstract

To provide a system and method for improved discovery of / offloading to edge computing resources in a cellular network system.SOLUTION: In a cellular network implementing Multi-access Edge Computing (MEC), a UE communicates in a wireless fashion with a cellular base station, referred as gNB. The base station in turn communicates to a cellular network, in particular to a user plane function (UPF) of a core network. The UPF in turn connects to a Local Area Data Network (LADN). The LADN hosts MEC servers and applications, and computational tasks that would otherwise be performed by the UE are offloaded to, or performed by, these MEC servers and applications within the LADN.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present application relates to wireless devices, and more particularly to a system and method for improved discovery / offloading to edge computing resources in a cellular network system. [Background technology]

[0002] The use of wireless communication systems is rapidly increasing. In recent years, wireless devices such as smartphones and tablet computers have become increasingly sophisticated. Mobile devices (i.e., user equipment devices or UEs) not only support telephone calls, but also provide access to the Internet, email, text messaging, and navigation using the global positioning system (GPS), and can run advanced applications that utilize these capabilities. In addition, many different wireless communication technologies and standards exist. Some examples of wireless communication standards include GSM, UMTS (e.g., associated with WCDMA or TD-SCDMA air interfaces), LTE, LTE Advanced (LTE-A), NR, HSPA, 3GPP2 CDMA2000 (e.g., 1xRTT, 1xEV-DO, HRPD, eHRPD), IEEE 802.11 (WLAN or Wi-Fi), BLUETOOTH™, and the like.

[0003] Despite the rapid technological evolution of mobile user equipment (UE), computationally demanding applications on smartphones or tablets are still constrained by limited battery capacity, temperature limitations, device size, and cost considerations. To overcome this problem, computationally complex processing can be offloaded to a centralized server, i.e., the cloud. For example, Mobile Cloud Computing (MCC) refers to a server that provides cloud computing resources for mobile users. However, the use of MCC introduces significant communication delays. Such delays are inconvenient and make computation offloading unsuitable for real-time applications.

[0004] To solve this problem, cloud services are being physically moved closer to users, i.e., toward the "edge" of the network. The concept of Multi-access Edge Computing (MEC), also known as "Mobile Edge Computing" or simply "Edge Computing," refers to the evolution of cloud computing that brings hosting applications from centralized data centers to the "edge of the network," i.e., physically closer to consumers and the data generated by the applications. Edge computing is recognized as one of the key components for meeting the performance demands of modern cellular networks, such as 5G networks, particularly with regard to reducing latency and improving bandwidth efficiency.

[0005] However, improvements in this area are desirable. Summary of the Invention

[0006] Presented herein are embodiments of an apparatus, system, and method for a device, such as a UE, a base station, or a server, to perform service discovery of edge computing resources in a cellular network system. Also presented are embodiments of a device capable of performing dynamic offloading of UE application tasks to the discovered edge computing resources.

[0007] In accordance with the techniques described herein, a wireless device, such as a user equipment (UE), comprises at least one antenna, a radio operatively coupled to the antenna for communicating with a cellular network, a memory that stores an application, and a processor operatively coupled to the radio. The application may have real-time (or low latency) requirements.

[0008] Before offloading a task, a UE, a base station, or another device can discover available edge server resources in the UE's vicinity. As part of the discovery process, the device (e.g., the UE) can request edge server site capability information. The edge server site capability information can include, among other possible information, information about the computational capabilities of one or more edge servers, the site load of one or more edge servers, and the latency between the UE and one or more edge servers.

[0009] When performing discovery, a device (e.g., a UE) can send an edge computing availability request to a cellular network. The request can include information identifying the UE and information identifying an application running on the UE. The cellular network can receive the request and send an edge computing availability response to the device. The availability response can include information about available edge server networks and site capability information.

[0010] The UE may be configured to acquire (collect and / or receive) information regarding one or more of channel conditions, cellular network parameters, or application requirements of applications running on the UE, among other possible information. The UE may receive some or all of this information dynamically, for example, while the UE is operating or while the UE is executing an application.

[0011] The UE can also dynamically determine whether tasks of an application executing on the UE should be offloaded to an edge server or executed locally on the UE. This determination can be based on the information described above, e.g., channel conditions, cellular network parameters, and / or application requirements. For example, in making this determination, the UE can compare the application quality of experience expected for offloaded task execution against the quality of experience expected for local task execution.

[0012] In some embodiments, the UE may calculate a utility function, where the utility function is based on one or more of application latency or energy consumption associated with offloading the task and one or more of application latency or energy consumption associated with executing the task locally on the UE. The utility function may also be based on offload cost and possibly other information. The utility function may be a predetermined function associated with the application or the application type of the application.

[0013] The UE may calculate a value of a utility function based at least in part on the information and compare the value to a threshold. The comparison may indicate whether a task of the application should be offloaded to an edge server or executed locally on the UE. For example, the utility function may represent the difference between the utility or benefit (e.g., in terms of latency, energy consumption, etc.) of offloading the task to the edge server and the utility or benefit of executing the task locally on the UE. If the calculated difference in utility is greater than the threshold, the task may be assigned for remote execution on the edge server. If the calculated difference in utility is less than the threshold, the task may be executed locally on the UE. In some embodiments, the UE may use a first threshold when determining whether to offload a task and a second, different threshold when determining whether to return the offloaded task to the UE for local execution. This hysteresis may prevent tasks from being unnecessarily ping-ponged back and forth between remote and local execution.

[0014] The UE may submit an application task for offloaded execution on an edge server in response to a determination by the UE that the task should be offloaded. When submitting the task to the edge server for offloaded execution, the UE may also send a message including task parameters to one or more of the edge server or the cellular network. The task parameters may include two or more of task priority, latency requirements, periodicity, or computational complexity, among other possible information. Alternatively, the UE may execute the task locally on the UE in response to a determination that the task should be executed locally on the UE.

[0015] In some cases, the UE may determine that a task cannot be performed on an edge server or locally on the UE due to one or more of poor channel conditions or insufficient power levels at the UE. When this occurs, the UE does not offload the task or perform the task locally. Instead, the UE may generate information used to allocate network and computing resources at future times for the execution of the task.

[0016] In some embodiments, the above-described service discovery and offloading operations may be performed by an "offload controller." The offload controller may be implemented in the UE as described above. Alternatively, the offload controller may be implemented in a cellular base station, a network element within the core network, or a server outside the core network, or possibly distributed between two or more of these.

[0017] It should be noted that the techniques described herein may be implemented in and / or used in conjunction with several different types of devices, including, but not limited to, base stations, access points, cellular telephones, portable media players, tablet computers, wearable devices, and various other computing devices.

[0018] This Summary is intended to provide a brief overview of some of the subject matter described in this document. Accordingly, it should be understood that the above features are merely examples and should not be construed as narrowing the scope or spirit of the subject matter described herein. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, the drawings, and the claims.

[0019] A better understanding of the present invention can be obtained from the following detailed description of the embodiments when considered in conjunction with the following drawings. [Brief explanation of the drawings]

[0020] [Figure 1] 1 illustrates an exemplary (and simplified) wireless communication system according to some embodiments. [Figure 2] FIG. 1 illustrates an example of a base station (BS) and an access point in communication with a user equipment (UE) device, according to some embodiments. [Figure 3] 1 is an exemplary block diagram of a UE according to one embodiment. [Figure 4] 2 is an exemplary block diagram of a base station according to one embodiment. [Figure 5] FIG. 1 illustrates an exemplary cellular network system including mobile edge computing according to the prior art. [Figure 6] FIG. 1 is a block diagram of a cellular network system including a mobile edge computing and offload controller unit according to some embodiments. [Figure 7] FIG. 2 is an exemplary block diagram of a server (or network element) according to some embodiments. [Figure 8] 1 is a flow diagram illustrating service discovery according to some embodiments. [Figure 9] FIG. 10 illustrates task parameters that can be broadcast by an offload controller unit to a network and an MEC server, according to some embodiments. [Figure 10] 1 is a flow diagram illustrating the operation of a decision and scheduling unit in an offload controller unit according to some embodiments. [Figure 11] FIG. 1 is a block diagram of a cross-reality (extended reality, XR) distributed computing architecture according to some embodiments. [Figure 12] FIG. 1 is a block diagram illustrating a proposed MEC controller implemented in an XR architecture, according to some embodiments. [Figure 13]1 is a graph of kill rate versus median ping in a first-person shooter game. [Figure 14] FIG. 1 illustrates a method for enabling a UE to determine MEC requirements.

[0021] While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims. DETAILED DESCRIPTION OF THE INVENTION

[0022] acronym

[0023] Various acronyms are used throughout this disclosure. Definitions of the most prominently used acronyms that may appear throughout this disclosure are provided below. UE: User Equipment RF: Radio Frequency ·BS: Base station DL: Downlink UL: Uplink GSM: Global System for Mobile Communications ·UMTS: Universal Mobile Telecommunications System LTE: Long Term Evolution ·NR: New radio ·TX: Send / Send RX: Receive / Receive RAT: Radio Access Technology MCC: Mobile Cloud Computing MEC: Multi-access edge computing (or mobile edge computing) OCU: Offload Controller Unit SDU: Service Discovery Unit APU: Application Profile Unit SPU: System Profile Unit DSU: Decision and Scheduling Unit ·IE: Information Element AF: Application Function UPF: User Plane Function ·PCF: Policy Control Function NEF: Network Discovery Function · LADN: Local Area Data Network ·URSP: User Route Selection Policy XR: Cross Reality PUSCH: Physical Uplink Shared Channel PDCCH: Physical Downlink Control Channel term Below is a description of terms that may appear in this disclosure.

[0024] Memory medium—any of various types of non-transitory memory or storage devices. The term “memory medium” is intended to include, for example, installation media such as CD-ROMs, floppy disks, or tape drives; computer system memory or random access memory such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM; non-volatile memory such as magnetic media such as flash, hard drives, or optical storage; registers, or other similar types of memory elements. Memory media may include other types of non-transitory memory as well, or combinations thereof. Additionally, the memory medium may be located in a first computer system on which a program is executed, or in a second, different computer system connected to the first computer system via a network such as the Internet. In the latter case, the second computer system can provide the first computer system with program instructions for execution. The term “memory medium” may also include two or more memory media that can reside in different locations, for example, in different computer systems connected via a network. A memory medium may store program instructions (e.g., embodied as a computer program) that can be executed by one or more processors.

[0025] Carrier Medium - Memory media as described above, as well as physical transmission media such as buses, networks, and / or other physical transmission media that carry signals, such as electrical, electromagnetic, or digital signals.

[0026] Computer system (or computer) - any of various types of computing or processing systems, including a personal computer system (PC), a mainframe computer system, a workstation, network equipment, an Internet appliance, a personal digital assistant (PDA), a television system, a grid computing system, or any other device or combination of devices. In general, the term "computer system" may be broadly defined to encompass any device (or combination of devices) having at least one processor that executes instructions from a memory medium.

[0027] User Equipment (UE) (or "UE device") - Any of various types of computer systems or devices that are mobile or portable and perform wireless communications. Examples of UE devices include mobile phones or smartphones (e.g., iPhone™, Android™-based phones), tablet computers (e.g., iPad™, Samsung Galaxy™), portable gaming devices (e.g., Nintendo DS™, PlayStation Portable™, Gameboy Advance™, iPhone™), wearable devices (e.g., smart watches, smart glasses), laptops, PDAs, portable Internet devices, music players, data storage devices or other handheld devices, unmanned aerial vehicles (UAVs), unmanned aerial controllers (UACs), etc. In general, the terms "UE" or "UE device" can be broadly defined to encompass any electronic, computing, and / or telecommunications device (or combination of devices) that is easily carried by a user and capable of wireless communications.

[0028] Wireless Device—Any of various types of computer systems or devices that perform wireless communications. A wireless device can be portable (or mobile) or may be stationary or fixed to a location. A UE is an example of a wireless device.

[0029] Communications Device - Any of various types of computer systems or devices that perform communications, which may be wired or wireless. A communications device may be portable (or mobile), or may be stationary or fixed to a particular location. A wireless device is one example of a communications device. A UE is another example of a communications device.

[0030] Base Station (BS) - The term "base station" has all of its ordinary meanings and includes at least a wireless communication station that is installed at a fixed location and used for communication as part of a wireless telephone system or wireless system.

[0031] Processing Element (or Processor)—refers to various elements or combinations of elements capable of performing functions within a device, e.g., within a user equipment device or within a cellular network device. A processing element may include, for example, a processor and associated memory, a portion or circuitry of an individual processor core, an entire processor core, a processor array, a circuit such as an Application Specific Integrated Circuit (ASIC), a programmable hardware element such as a Field Programmable Gate Array (FPGA), and various combinations of the above.

[0032] Wi-Fi - The term "Wi-Fi" has the full scope of its ordinary meaning and includes at least a wireless communication network or RAT served by wireless LAN (WLAN) access points and providing connectivity to the Internet through these access points. Modern Wi-Fi networks (or WLAN networks) are based on the IEEE 802.11 standard and are marketed under the name "Wi-Fi." Wi-Fi (WLAN) networks are distinct from cellular networks.

[0033] Automatically—refers to an action or operation being performed by a computer system (e.g., software executed by a computer system) or device (e.g., circuitry, programmable hardware element, ASIC, etc.) without user input directly specifying or executing the action or operation. Thus, the term “automatically” is in contrast to an operation that is manually performed or specified by a user, where the user provides input to directly perform the operation. An automatic procedure may be initiated by input provided by a user, but the subsequent actions performed “automatically” are not specified by the user; that is, they are not performed “manually,” with the user specifying each action to be performed. For example, a user filling out an electronic form by selecting each field and providing input specifying information (e.g., by typing information, selecting checkboxes, selecting radio selections, etc.) is considered manually filling out the form, even though the computer system must update the form in response to the user actions. A form may also be filled out automatically by a computer system, where the computer system (e.g., software executed on the computer system) analyzes the form's fields and fills out the form without user input specifying answers to the fields. As noted above, a user can invoke automatic form filling but is not involved in the actual filling of the form (e.g., the user does not manually specify answers in fields, but rather the answers are completed automatically). This specification provides various examples of actions that are automatically performed in response to actions taken by a user.

[0034] Configured to—Various components may be described as being “configured to” perform a task. In this context, “configured to” is a broad description that generally means “having a structure” to perform a task or tasks during operation. Thus, a component may be configured to perform a task even when the component is not currently performing the task (e.g., a set of conductors may be configured to electrically connect a module to another module even when the two modules are not connected). In some contexts, “configured to” may be a broad description of a structure that generally means “having circuitry” to perform a task or tasks during operation. Thus, a component may be configured to perform a task even when the component is not currently on. Generally, the circuitry forming the structure corresponding to “configured to” may include hardware circuitry.

[0035] In the description herein, for convenience, various components may be described as performing a task or tasks. Such descriptions should be construed to include the phrase "configured to." It is expressly intended that a description of a component as being configured to perform one or more tasks does not apply to the interpretation of that component under 35 U.S.C. § 112, sixth paragraph. Figures 1 and 2 - Exemplary Communication System

[0036] 1 illustrates a simplified exemplary wireless communication system in which aspects of the present disclosure may be implemented, according to some embodiments. Note that the system of FIG. 1 is merely one example of a possible system, and embodiments may be implemented in a variety of systems as desired.

[0037] As shown, the exemplary wireless communication system includes a base station 102 that communicates with one or more (e.g., any number) user devices 106A, 106B, etc. through 106N over a transmission medium. Each of the user devices may be referred to herein as a "user equipment" (UE) or a UE device. Accordingly, the user devices 106 are referred to as UEs or UE devices. A UE device is an example of a wireless device.

[0038] The base station 102 may be a base transceiver station (BTS) or cell site and may include hardware and / or software that enables wireless communication with the UEs 106A-106N. If the base station 102 is implemented in the context of LTE, it may alternatively be referred to as an "eNodeB" or "eNB." If the base station 102 is implemented in the context of 5G NR, it may alternatively be referred to as a "gNodeB" or "gNB."

[0039] The communication area (or coverage area) of a base station may be referred to as a “cell.” The base stations 102 and user devices may be configured to communicate over a transmission medium using any of a variety of radio access technologies (RATs), also called wireless communication technologies, or telecommunications standards, such as GSM, UMTS (WCDMA), LTE, LTE-Advanced (LTE-A), LAA / LTE-U, 5G NR, 3GPP2 CDMA2000 (e.g., 1xRTT, 1xEV-DO, HRPD, eHRPD), Wi-Fi, etc.

[0040] The base stations 102 may also be equipped to communicate with a network 100 (e.g., a cellular service provider's core network, a telecommunications network such as the Public Switched Telephone Network (PSTN), and / or the Internet, among other possibilities). Thus, the base stations 102 may facilitate communications between user devices and / or between the user devices and the network 100. In particular, the cellular base station 102A may provide various telecommunications capabilities to the UE 106, such as voice, SMS, and / or data services.

[0041] Also, as used herein, from the perspective of a UE, a base station may be considered to represent the network as far as the UE's uplink and downlink communications are concerned. Thus, a UE that communicates with one or more base stations in a network may be interpreted as a UE that communicates with the network.

[0042] Base station 102A and other similar base stations (such as base stations 102B-102N) operating according to the same or different cellular communication standards may be provided as a network of cells that can provide continuous or near-continuous overlaid services to UEs 106A-106N and similar devices via one or more cellular communication standards over a geographic area.

[0043] Thus, as shown in FIG. 1, base station 102A may function as a "serving cell" for UEs 106A-106N, and each UE 106 may also receive signals from (if possible within range of) one or more other cells (which may be provided by base stations 102B-102N and / or any other base stations), which may be referred to as "neighboring cells." Such cells may also facilitate communication between user devices and / or between user devices and network 100. Such cells may include "macro" cells, "micro" cells, "pico" cells, and / or cells providing various other granularities of coverage area size. For example, base stations 102A-102B shown in FIG. 1 may be macro cells, and base station 102N may be a micro cell. Other configurations are possible.

[0044] In some embodiments, the base station 102A may be a next-generation base station, e.g., a 5G New Radio (5G NR) base station, or "gNB." In some embodiments, the gNB may be connected to a conventional Evolved Packet Core (EPC) network and / or an NR Core (NRC) network. In addition, a gNB cell may include one or more Transition and Reception Points (TRPs). In addition, a UE capable of operating according to 5G NR may be connected to one or more TRPs in one or more gNBs.

[0045] It should be noted that the UE 106 may be capable of communicating using multiple wireless communication standards. For example, the UE 106 may be configured to communicate using at least one cellular communication protocol (e.g., GSM, UMTS (e.g., associated with a WCDMA or TD-SCDMA air interface), LTE, LTE-A, 5G NR, HSPA, 3GPP2 CDMA2000 (e.g., 1xRTT, 1xEV-DO, HRPD, eHRPD), etc.) in addition to a wireless network protocol (e.g., Wi-Fi) and / or a peer-to-peer wireless communication protocol (e.g., Bluetooth, Wi-Fi peer-to-peer, etc.). The UE 106 may additionally or alternatively be configured to communicate using one or more Global Navigational Satellite Systems (GNSS, e.g., GPS or GLONASS), one or more mobile television broadcast standards (e.g., ATSC-M / H or DVB-H), and / or any other wireless communication protocol, if desired. Other combinations of wireless communication standards (including three or more wireless communication standards) are also possible.

[0046] 2 illustrates a user equipment (UE) 106 (e.g., one of devices 106A-106N) communicating with a base station 102 and an access point 112, according to some embodiments. The UE 106 may be a device with both cellular and non-cellular communication capabilities (e.g., Bluetooth, Wi-Fi, etc.), such as a mobile phone, a handheld device, a computer or tablet, or virtually any type of wireless device as defined above.

[0047] The UE 106 may include a processor (processing element) configured to execute program instructions stored in a memory. The UE 106 may perform any of the embodiments described herein by executing such stored instructions. Alternatively, or in addition, the UE 106 may include a programmable hardware element, such as a field-programmable gate array (FPGA), an integrated circuit, and / or any of a variety of other possible hardware components configured to perform any of the embodiments described herein, or any portion of any of the embodiments described herein (e.g., individually or in combination).

[0048] The UE 106 may include one or more antennas for communicating using one or more wireless communication protocols or technologies. In some embodiments, the UE 106 may be configured to communicate using, for example, CDMA2000 (1xRTT / 1xEV-DO / HRPD / eHRPD), LTE / LTE-Advanced, or 5G NR using a single shared radio, and / or GSM, LTE / LTE-Advanced, or 5G NR using a single shared radio. The shared radio may be coupled to a single antenna or to multiple antennas (e.g., for MIMO) to perform wireless communication. In general, a radio may include any combination of a baseband processor, analog RF signal processing circuitry (e.g., including filters, mixers, oscillators, amplifiers, etc.), or digital processing circuitry (e.g., for digital modulation and other digital processing). Similarly, a radio may implement one or more receive and transmit chains using the above hardware. For example, the UE 106 may share one or more portions of the receive and / or transmit chains among multiple wireless communication technologies, such as those described above.

[0049] In some embodiments, the UE 106 may include a separate transmit and / or receive chain (e.g., including separate antennas and other radio components) for each wireless communication protocol over which the UE 106 is configured to communicate. As a further possibility, the UE 106 may include one or more radios shared among multiple wireless communication protocols and one or more radios used only by a single wireless communication protocol. For example, the UE 106 may include a shared radio for communicating using either LTE or 5G NR (or LTE, or 1xRTT, or LTE, or GSM) and separate radios for communicating using each of Wi-Fi and Bluetooth. Other configurations are possible. Figure 3 - Block diagram of an exemplary UE device

[0050] 3 illustrates a block diagram of an exemplary UE 106, according to some embodiments. As illustrated, the UE 106 may include a system-on-chip (SOC) 300, which may include portions for various purposes. For example, as shown, the SOC 300 may include a processor(s) 302 that may execute program instructions for the UE 106 and a display circuit 304 that may perform graphics processing and provide display signals to a display 360. The SOC 300 may also include a motion sensing circuit 370 that may detect movement of the UE 106, for example, using a gyroscope, an accelerometer, and / or any of various other motion sensing components. Processor(s) 302 may also be coupled to a memory management unit (MMU) 340, which may be configured to receive addresses from processor(s) 302 and translate those addresses to locations in memory (e.g., memory 306, read only memory (ROM) 350, flash memory 310), and / or to other circuits or devices, such as display circuitry 304, radio 330, connector I / F 320, and / or display 360. MMU 340 may be configured to perform memory protection and page table translation or setup. In some embodiments, MMU 340 may be included as part of processor(s) 302.

[0051] As shown, the SOC 300 may be coupled to various other circuits of the UE 106. For example, the UE 106 may include various types of memory (including, for example, NAND flash 310), a connector interface 320 (for example, for coupling to a computer system, dock, charging station, etc.), a display 360, and wireless communication circuitry 330 (for example, for LTE, LTE-A, NR, CDMA2000, Bluetooth™, Wi-Fi, GPS, etc.). The UE device 106 may include at least one antenna (e.g., 335a) and possibly multiple antennas (e.g., exemplified by antennas 335a and 335b) for performing wireless communication with base stations and / or other devices. Antennas 335a and 335b are shown by way of example, and the UE device 106 may include fewer or more antennas. Generally, the one or more antennas are collectively referred to as antenna 335. For example, the UE device 106 may use antenna 335 to perform wireless communication using the radio circuitry 330. As mentioned above, in some embodiments, a UE may be configured to communicate wirelessly using multiple wireless communication standards.

[0052] The UE 106 may include hardware and software components for implementing a method in which the UE 106 performs simultaneous generation of multiple codebooks for CSI reporting, such as described further below. The processor(s) 302 of the UE device 106 may be configured to perform some or all of the methods or operations described herein, for example, by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium). In other embodiments, the processor(s) 302 may be configured as a programmable hardware element, such as a field programmable gate array (FPGA), or as an application-specific integrated circuit (ASIC). Furthermore, the processor(s) 302 may be coupled to and / or interoperate with other components, as shown in FIG. 3, to perform various embodiments described herein. The processor(s) 302 may also implement various other applications and / or end-user applications running on the UE 106.

[0053] In some embodiments, the radio 330 may include separate controllers dedicated to controlling communications for each of the various RAT standards. For example, as shown in FIG. 3 , the radio 330 may include a Wi-Fi controller 352, a cellular controller (e.g., an LTE and / or LTE-A controller) 354, and a BLUETOOTH™ controller 356, where, in at least some embodiments, one or more or all of these controllers may be implemented as respective integrated circuits (ICs or chips, for short) that communicate with each other and with the SOC 300 (more specifically, with the processor(s) 302). For example, the Wi-Fi controller 352 may communicate with the cellular controller 354 via a cellular-ISM link or WCI interface, and / or the BLUETOOTH™ controller 356 may communicate with the cellular controller 354 via a cellular-ISM link, etc. Although three separate controllers are shown within the radio 330, other embodiments have fewer or more similar controllers for the various different RATs that may be implemented in the UE device 106. Figure 4 - Exemplary base station block diagram

[0054] 4 illustrates a block diagram of an exemplary base station 102, according to some embodiments. Note that the base station of FIG. 4 is merely one example of a possible base station. As shown, the base station 102 may include a processor(s) 404 that can execute program instructions for the base station 102. The processor(s) 404 may also be coupled to a memory management unit (MMU) 440 that may be configured to receive addresses from the processor(s) 404 and translate those addresses to locations in memory (e.g., memory 460 and read-only memory (ROM) 450) or to locations in other circuits or devices.

[0055] The base station 102 may include at least one network port 470. The network port 470 may be configured to couple to a telephone network and provide devices, such as the UE device 106, with access to the telephone network as described above in FIGS. 1 and 2. The network port 470 (or additional network ports) may also, or alternatively, be configured to couple to a cellular network, such as, for example, a cellular service provider's core network. The core network may provide mobility-related services and / or other services to devices, such as the UE device 106. In some cases, the network port 470 may couple to the telephone network via the core network, and / or the core network may provide the telephone network (e.g., between other UE devices served by the cellular service provider).

[0056] The base station 102 may include at least one antenna 434, and possibly multiple antennas. The antenna(s) 434 may be configured to operate as a wireless transceiver and may be further configured to communicate with the UE device 106 via a radio 430. The antenna(s) 434 communicate with the radio 430 via a communication chain 432. The communication chain 432 may be a receive chain, a transmit chain, or both. The radio 430 may be designed to communicate via various wireless telecommunications standards, including, but not limited to, NR, LTE, LTE-A, WCDMA, CDMA2000, etc. The processor 404 of the base station 102 may be configured to implement and / or support the implementation of some or all of the methods described herein, for example, by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium). Alternatively, the processor 404 may be configured as a programmable hardware element, such as a field programmable gate array (FPGA), or as an application specific integrated circuit (ASIC), or a combination thereof. For a given RAT, e.g., Wi-Fi, the base station 102 may be designed as an access point (AP), in which case the network port 470 may be implemented to provide access to a wide area network and / or local area network(s) and may include, for example, at least one Ethernet port, and the radio 430 may be designed to communicate according to the Wi-Fi standard. Multi-Access Edge Computing

[0057] Modern cellular phones are being asked to run increasingly complex applications. Users generally prefer to use smartphones (UEs) due to their portability, size, and ease of use. However, being portable or mobile devices, UEs such as smartphones are battery-powered and have small sizes relative to non-portable devices such as desktop computers. Therefore, UE devices have various hardware limitations, such as battery life, power, processing power, and memory capacity. To reduce the load of applications running on UE devices and provide more efficient use of UE resources, efforts have been made to offload the computational requirements of UEs to other computing resources. As mentioned above, the term "mobile cloud computing" (MCC) refers to the use of cloud servers to perform computational tasks that could otherwise be performed by the UE. However, as mentioned above, the use of cloud servers that are physically located remotely from the UEs they are attempting to support (the UEs to which they are attempting to offload tasks) can introduce communication delays that make such cloud servers unsuitable for real-time applications.

[0058] Multi-access Edge Computing (MEC) provides an information technology (IT) service environment and cloud computing capabilities at the edge of the mobile network, within the Radio Access Network (RAN) and in physical proximity to the mobile subscriber. In other words, MEC operates to locate Mobile Cloud Computing (MCC) services physically closer to the mobile user or closer to the cellular base station serving the UE (closer to the "edge" of the network) to reduce communication latency. Thus, specific user requests can be managed directly at the network edge instead of forwarding all traffic to a remote Internet service at a greater distance. MEC promises to significantly reduce latency and mobile energy consumption while providing reliable and advanced services.

[0059] In the MEC system described herein, processing tasks from a UE can be offloaded to a nearby MEC host via a cellular network. The MEC host can perform data collection, processing, and broadcasting of computationally intensive tasks, thus covering a wide range of use cases and applications. The MEC host can then return the resulting data from the processing tasks to applications running on the UE.

[0060] The two main MEC operation phases are sometimes called the control phase (control plane) and the operation phase (data plane). The control phase (control plane) can include supporting procedures for initiating, connecting, maintaining, and terminating MEC operation. The control plane determines what, when, where, and how to correctly offload tasks to the MEC server. The operation phase (data plane) handles the routing of data to and from the edge cloud.

[0061] The control phase poses significant challenges in the design of MEC-based systems, as it requires reliable signaling between users, networks, and MEC hosts. Due to the dynamic nature of cellular networks, signaling can leverage and integrate aspects from both wireless communications and mobile computing together.

[0062] As noted above, UEs may have limited computational capabilities and may further incur latency during task offloading. As a result, as described herein, UEs may utilize efficient resource allocation for local computation and careful dynamic selection of tasks to be offloaded via wireless transmission when the applications being executed are latency-sensitive or mission-critical.

[0063] The embodiments described herein provide a service discovery and offload framework for MEC-based cellular (e.g., 3GPP) systems. The service discovery and offload framework can also consider radio channel characteristics and UE capabilities along with processing task requirements. The embodiments are described herein in the context of a cellular system (e.g., a 3GPP-based system). However, the embodiments described herein can be easily extended to non-cellular (non-3GPP-based) systems.

[0064] The currently proposed standard (3GPP TS 23.758) identifies key issues and corresponding application architectures for edge computing and discusses several potential high-level architectural frameworks. However, specific details and implementation feasibility are still unclear. 3GPP defines User Route Selection Policies (URSP) in 3GPP TS 23.503, which are provided by the network or preconfigured in the UE. However, the URSP procedure lacks flexibility. Furthermore, these policies do not consider any UE-related factors, such as computational power, energy level, or wireless channel characteristics (interference, channel fading, Doppler, etc.). These UE-related factors may have a significant impact on successful offloading and system reliability. Furthermore, the assumption of static preconfigured MEC offloading limits system capabilities.

[0065] Studies on latency sensitivity of internet-based gaming applications have shown that latency sensitivity is important to players and, therefore, to service providers who wish to best deploy their servers and services in the future.

[0066] Figure 13 is a graph showing the number of kills per minute as a function of median ping time. Here, the term "kill" refers to a "death" in online games such as first-person shooters. The term "ping time" refers to the round-trip time it takes for a signal or packet to reach the host computer and for the response from the host to return to the sender. Figure 13 shows that players with a median ping of 45 milliseconds had, on average, one more kill per minute than players with a median ping of 200 milliseconds. Considering a game that runs for tens of minutes, this represents a significant impact on the gaming experience. See, for example, G. Armitage, "An experimental estimation of latency sensitivity in multiplayer Quake 3," in The 11th IEEE International Conference on Networks, 2003. ICON2003.

[0067] A comparative experimental study of computation offloading to MCC and cloudlets has been performed by Hu et al. (W. Hu et al., "Quantifying the Impact of Edge Computing on Mobile Applications," ACM APSys'16). The authors measure the latency of LTE and Wi-Fi offloading scenarios in face recognition and augmented reality applications. The results show that offloading to the network edge can bring substantial gains in latency and energy consumption.

[0068] The embodiments described herein may utilize one or both of service discovery and dynamic offloading capabilities to improve cellular system performance. As described herein, dynamic offloading may take forms such as channel-quality-dependent offloading and / or location-dependent offloading and may provide significant improvements over statically determined offloading. As used herein, the term "dynamic" with respect to service discovery or offloading refers to the notion that these activities are performed while the UE is running. Specifically, the phrase "dynamic offloading" may specify that offloading decisions are evaluated and made while the UE is operating, and possibly while the application for which the task is desired to be offloaded is running.

[0069] Embodiments described herein may include a service discovery unit for Mobile Edge Computing (MEC), which may collect information about available MEC servers, Edge Data Networks (EDNs), and their capabilities through communication with a 5G core network and exchange of site capability parameters.

[0070] The embodiments described herein may also include an offload controller, which may be characterized as a logical unit that supports processing task offloading. The offload controller may take into account channel conditions, cellular network system parameters, and application requirements, as well as other information. The controller may calculate the value of a predefined utility function and compare this calculated value with an application-specific threshold. The controller may then decide whether the task is offloaded to an MEC server, performed locally, or dropped (not performed) entirely. In some embodiments, the offload controller includes a service discovery unit and thus performs both service discovery and offloading.

[0071] The embodiments described herein may be standardized, i.e., become part of a cellular specification that most or all of the cellular industry follows. Alternatively, the embodiments described herein may be used as a proprietary solution by a single manufacturer, such as a UE manufactured by company A that communicates directly with an MEC server that may be both owned and operated by company A. Thus, the embodiments described herein, such as the service discovery unit and / or offload controller, do not require standardization. Figure 5-5G MEC operation

[0072] FIG. 5 is a block diagram illustrating a typical Mobile Edge Computing (MEC) in a current 5G network. As shown in the figure, a UE communicates wirelessly with a base station, called a gNB. The base station then communicates with a cellular network, specifically a user plane function (UPF). The UPF then connects to a Local Area Data Network (LADN). During the operation phase, traffic from each UE is routed from the base station (gNB) to the UPF (User Plane Function). The UPF is located near and / or within the Local Area Data Network (LADN). The LADN hosts MEC servers and applications, and computational tasks are performed by these MEC servers and applications within the LADN. Figure 6 - MEC with offload controller

[0073] Figure 6 is a block diagram of a portion of a cellular network implementing multi-access edge computing (MEC) according to embodiments described herein. As shown in Figure 6, a UE communicates over the air with a cellular base station, referred to as a gNB. The base station then communicates to a User Plane Function (UPF) of the cellular network, specifically the core network. The UPF then connects to a Local Area Data Network (LADN). The LADN hosts MEC servers and applications, and computational tasks that would otherwise be performed by the UE can be offloaded to or performed by these MEC servers and applications in the LADN.

[0074] 6 is somewhat similar to the block diagram of FIG. 5, but includes the very important addition of an Offloading Controller Unit (OCU). More specifically, embodiments described herein may operate to provide improved Multi-Access Edge Computing (MEC) operations by utilizing an offload decision logic unit, referred to herein as the Offload Controller Unit (OCU). The OCU may operate to facilitate and manage dynamic offloading of tasks in MEC-based systems. More specifically, the presence of the OCU allows tasks that would normally need to be performed by a UE to be intelligently offloaded by a computer server that is part of the MEC infrastructure.

[0075] In some embodiments, the Offload Controller Unit (OCU) may consist of four parts: an Application Profile Unit (APU), a System Profile Unit (SPU), a Service Discovery Unit (SDU), and a Decision and Scheduling Unit (DSU), as shown in the figure.

[0076] The offload controller unit may be located (implemented within) the UE, or may be implemented in another device, such as a base station (gNB), or at a service provider (SP) site. In some embodiments, portions of the offload controller unit may be distributed across multiple devices. For example, in some embodiments, the service discovery unit may be implemented in a network element within the core network or in a server outside the core network, while some or all of the APU, SPU, and DSU may be implemented in the UE (and / or base station). Various other implementation configurations are also contemplated.

[0077] In embodiments where the offload controller is implemented in a base station, the OCU can operate to serve multiple UEs present within a geographic area. Additionally, in embodiments where the offload controller is implemented in a base station, the UE can provide application requirements to the base station via dedicated signaling. The user of the UE can control the disclosure of UE application data to the base station.

[0078] As shown in the figure, the service discovery unit can communicate to an application function (AF), which then communicates to a core network, e.g., a 5G core network (5GC). The core network can include a policy control function (PCF) and a network exposure function (NEF). The core network block can then communicate with the UPF. The service discovery unit (SDU) can operate to obtain information about available MEC servers, edge data networks (EDNs), and their capabilities. The SDU can also establish basic connectivity with the EDN. The service discovery unit can provide information about available edge computing resources to an application profile unit and a system profile unit.

[0079] The Application Profile Unit (APU) is operable to analyze application parameters and requirements and communicate them to the DSU.

[0080] The System Profile Unit (SPU) is operable to analyze system parameters including the capabilities of the network, the RAN, the UE, and the MEC.

[0081] A decision and scheduling unit (DSU) may operate to analyze information from the APU and SPU to make decisions about the offloads to be performed, and may then schedule or assign the task(s) to an associated MEC server.

[0082] The OCU may be implemented in any of a variety of ways. More specifically, the functionality of the OCU may be implemented or divided into any of a variety of types of logical units, as desired. Furthermore, as noted above, portions or units of the OCU may be distributed among two or more different devices. Figure 7 - Example block diagram of a network element

[0083] FIG. 7 illustrates an exemplary block diagram of a network element 500, according to some embodiments. According to some embodiments, the network element 500 may implement one or more logical functions / entities of a cellular core network, such as a mobility management entity (MME), a serving gateway (S-GW), an access and management function (AMF), a session management function (SMF), an Edge Discovery Service (EDS), etc. It should be noted that the network element 500 of FIG. 5 is merely one example of a possible network element 500. As shown, the core network element 500 may include processor(s) 504 that may execute program instructions of the core network element 500. The processor(s) 504 may also be coupled to a memory management unit (MMU) 540 that may be configured to receive addresses from the processor(s) 504 and translate those addresses to locations in memory (e.g., memory 560 and read-only memory (ROM) 550) or other circuits or devices.

[0084] The network element 500 can include at least one network port 570. The network port 570 can be configured to couple to one or more base stations and / or other cellular network entities and / or devices. The network element 500 can communicate with the base stations (e.g., eNB / gNB) and / or other network entities / devices using any of a variety of communication protocols and / or interfaces.

[0085] As described further herein, the network element 500 may include hardware and software components for performing and / or supporting the performance of the functions described herein. The processor(s) 504 of the core network element 500 may be configured to perform or support the performance of some or all of the methods described herein, for example, by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium). Alternatively, the processor 504 may be configured as a programmable hardware element, such as a field programmable gate array (FPGA), or as an application specific integrated circuit (ASIC), or a combination thereof. For example, the network element 500 may implement a service discovery unit described herein.

[0086] The block diagram of FIG. 7 may also represent a server computer (possibly located outside the cellular network) that may perform some or all of the operations described herein, such as an SDU. Figure 8 - Service Discovery

[0087] The OCU may implement a service discovery function to enable a UE to locate an MEC application server that can satisfy the UE's application requirements. Edge data network (EDN) deployment may not be available in all locations due to cost and / or operational constraints. Therefore, it is important that a user equipment (UE) can find an MEC application server that can satisfy the key performance indicators (KPIs) of the required application requirements. Therefore, it is desirable for the OCU to provide a service discovery framework (referred to herein as a service discovery unit) to enable a UE to discover and associate with the most suitable available MEC application server.

[0088] In some embodiments, service discovery may be a prerequisite for dynamic offloading and may be performed offline (non-dynamically) prior to dynamic offloading. Service discovery may be repeated whenever necessary, for example, periodically or based on a subscription to an event (e.g., in the case of UE or application mobility). In some embodiments, service discovery may be performed in systems that support only static offloading. In some embodiments, service discovery may be performed dynamically while the application is running.

[0089] As mentioned above, the SDU function may be located in the UE, at a service provider (SP) site (e.g., in a computer maintained by the service provider), or in the cellular network itself (e.g., in a network element). The SDU function may also be located in an MEC server. As mentioned above, Figure 7 shows an example block diagram of a computer system that may represent either a service provider computer, a network element, or an MEC server.

[0090] 8 is a flow diagram (or timing diagram) illustrating the operation of a service discovery function performed by an OCU, according to some embodiments. The service discovery process may operate as described below.

[0091] First, at 602, the SDU can receive application information from the APU. The application information can include an application ID that identifies the type of application or a specific application running on an individual UE. The application information can also include MEC requirements associated with the application, e.g., MEC server requirements, in order for the server to fulfill the needs of the application. Note that the application information can be obtained by the APU from the application itself or from a database of application information.

[0092] At 604, in response to receiving the application information from the APU, the SDU may communicate an MEC availability request to the core network (e.g., 5GC) via an application function (AF) or NEF. The purpose of the MEC availability request may be to obtain information about available edge data networks (EDNs) and MEC servers, along with their MEC site capabilities.

[0093] At 606, the core network can provide an MEC availability response to the SDU. The MEC availability response can include information about the availability of the MEC server, such as location, available computational resources, etc. For example, the MEC availability response can include information about some or all of the MEC servers or edge data networks within the UE's coverage area. The MEC availability response can also include additional or auxiliary information, referred to as MEC site capability information. The MEC availability response can also include other non-technical parameters, such as "cost of offload," or other parameters. The determination of which MEC servers are available can be based on various criteria, such as the UE's subscription to this type of service.

[0094] In some embodiments, MEC site capability information can potentially aid in dynamic MEC selection decisions. The MEC site capability information can include various parameters that characterize the capabilities of the MEC server, such as information about the computational capabilities of the MEC server, the latency between the UE and the server, and other parameters that are desirable in making offloading decisions. The capabilities can be communicated in the form of statistical guarantees, average guarantees, or other forms.

[0095] The core network can access various UE information to obtain and provide MEC site capability information. For example, the core network can access UE information such as UE identity, UE location, tracking area ID, etc. This UE information can be obtained by the AF / NEF from other network core functions.

[0096] Upon receiving the MEC availability response from the core network at 606, the SDU can filter edge data networks based on their capabilities at 608. For example, certain edge data networks that may be computationally insufficient or overburdened, or have too much latency, can be removed from consideration.

[0097] At 610, the SDU can pre-select EDN and MEC servers based on their capabilities / cost and based on application requirements, and the SDU can communicate the available EDN / MECs and their capabilities to the SPU.

[0098] At 612, the SDU can communicate an MEC setup request to the core network. The MEC setup request can be provided to the core network to trigger basic connection establishment with the selected EDN, such as establishment of a URSP, a PDU session, or a network slice. In some embodiments, the MEC setup request can trigger connection establishment with a pre-selected EDN, if necessary.

[0099] At 614, in response to the MEC setup request, the core network can compile a user route selection policy for the EDNS. The core network can also install USRP for the application for the EDNS.

[0100] At 616, the core network can send an MEC setup response to the SDU. The MEC setup response can include an acknowledgement or a negative acknowledgement (ACK / NACK). The MEC setup response can also include various route information that can be used to enable communication with the EDN.

[0101] The service discovery procedure (e.g., operations 602-616) can be performed offline, for example, before running an application on the UE. These operations can be performed periodically as needed to ensure that the UE has up-to-date information about available edge networks, or can be performed based on a specific event (event-based). Examples of events that can cause the service discovery procedure to be performed (or repeated) are notification of a change in MEC site capabilities such as MEC load, UE power-up, when the UE enters a new service area or cell, a change in UE mobility state, or other factors.

[0102] Alternatively, the operations of 602-616 may be performed more dynamically, such as when an application that may require offload services or that has previously subscribed to offload services is launched (selected for execution) on the UE.

[0103] At a later time (possibly), applications desiring or subscribing to the offload service may be executed on the UE. At 618, the SDU may dynamically make an offloading decision based on various information, such as information in the MEC availability response and / or information in the MEC setup response. For example, the SDU may dynamically make an offloading decision based at least in part on MEC site capability information, among other factors. At 620, the offloaded application may be routed to one or more MEC services using the installed URSP. Task offloading is described in more detail below. Dynamic Task Offloading

[0104] The following provides more information about the components of the OCU that perform dynamic task offloading. As described above, the OCU may be composed of an application profile unit, a system profile unit, and a decision and scheduling unit. The operation of the fourth component, the service discovery unit, was described above with respect to FIG. 8.

[0105] The application profile unit can store processing information about application task(s) that are candidates for offloading. The APU can also store information about application task decomposition and the computational cost of each task. The task costs may be completely known, e.g., provided by the application developer, or obtained from runtime profiling. If the exact costs are not known, a cost estimate (e.g., a coarse quantization of the costs), e.g., low, medium, or high computational load, may be sufficient. This can be preconfigured in advance or estimated during runtime. The task computational cost can be based on an average cost or worst-case cost, or any other value related to a statistical distribution of computational costs. The APU can utilize common operating system and application processor performance profiling services to store this information during runtime. In some embodiments, the application profile unit can be implemented as a software component running on a computer (e.g., a UE).

[0106] The system profile unit may operate to process various information, such as system information, radio channel characteristics, and power levels of the UE required to perform offload tasks. The SPU may obtain this information during runtime utilizing energy monitoring and cellular radio link status information provided by a common operating system, application processor, and respective energy management and cellular modem driver components. In some embodiments, the system profile unit may be implemented as a software component running on a computer (e.g., a UE).

[0107] The determining and scheduling unit may operate to collect data from the application profile unit and the system profile unit to determine whether a task is offloaded to an MEC server or executed locally. The determining and scheduling unit may decide whether to offload a task depending on a threshold θ defined for a particular task(s). The threshold θ may be application dependent and may either be derived at runtime based on radio conditions, data rate requirements, and computational requirements, or statically defined at design time.

[0108] In some embodiments, a utility function U(l,e) may be defined for each application. The utility function may represent the relative utility (or relative benefit) of offloading versus local execution of a task. The utility function may be a general-purpose performance measure and may potentially incorporate application aspects (e.g., quality of experience, offload cost) and system aspects (e.g., energy consumption). The utility function may describe how performance depends on latency l, energy e, and offload cost c during a task execution interval t. The decision and scheduling unit may apply the utility function to local and offload computation options to make an offload decision. The utility function may thus be used to adjust the offload decision. In some embodiments, the utility function may be used to calculate a value that is compared with the particular threshold θs mentioned above. An example of the form of a utility function is as follows:

number

[0109] If the calculated difference is lower than a predefined threshold, the task(s) are executed locally. If the calculated difference is higher than a predefined threshold, the task(s) are executed remotely. Utility functions and thresholds can be defined such that acceptable tolerances (upper and lower bounds) of delay, energy, and cost are included in the decision. In some embodiments, different thresholds, i.e., hysteresis, are applied to the decision to offload a local task and the decision to move an offloaded task back to the local UE. This can operate to prevent task execution from "ping-ponging" back and forth between local and offloaded execution.

[0110] Finally, the determination and scheduling unit can send a request to the network to schedule the task to be offloaded and initiate the offloading process. The request can also include a message broadcasting basic task parameters to the network and the MEC server. Examples of parameters included in the message are shown in FIG. 9. As shown, the basic task parameters can include task priority, latency requirements, periodicity, and computational complexity, among other possible factors. The MEC server can use the received values ​​of these parameters when executing the offloaded task.

[0111] In some cases, the determination and scheduling unit may determine that the task(s) cannot be performed at one of these locations, for example, due to an insufficient power level of the UE or poor channel conditions with the 5G network. In this case, the task may be dropped, i.e., may simply not be performed. When this occurs, one or both of the network and the MEC server may determine the offload mode index I(t) at time t. mm may be maintained, where m={u,s,d}, where u, s, and d are flags specifying execution for the UE, server, or drop, respectively. In some embodiments, the offload mode index for future time frames may be used by the network and MEC server to plan the allocation of network and computational resources among all users. In other embodiments, the flag in d may be used by the host for error handling or concealment.

[0112] In some embodiments, the decision to offload or not may remain performed locally on the UE, in which case the implementation of the offload controller is purely proprietary and does not require any changes in the standardization of the cellular network or the MEC system.

[0113] In some embodiments, the determining and scheduling unit may be implemented as a software component running on a computer such as a UE or an application processor.

[0114] Figure 10 illustrates one embodiment of a task offload signaling flow where the OCU is implemented in the UE. The flow in Figure 10 assumes that a route through the MEC server and network has already been established, for example, by a previous service discovery process.

[0115] As shown in the figure, at 702, the UE determines whether task offloading should be performed. In some embodiments, the UE can make this determination dynamically during application execution. The task offloading decision at 702 can be performed by a determination and scheduling unit as described above. For example, the UE may be executing a time-critical application or an application that requires real-time performance, such as an interactive game, and can determine that one or more tasks required within the application should be offloaded to help ensure real-time performance. The UE can make this determination in any of a variety of ways. For example, the UE can take into account one or more of its battery level, current computational requirements, and processing latency in making this determination. In some embodiments, as described above, the UE can use a utility function and thresholds, as described above, in making this determination. The utility function can be the same for each application or can be specific to the particular application being executed. Similarly, the thresholds can be general or application-specific. One or both of the utility function or thresholds can be dynamically adjusted during application execution to reflect current conditions.

[0116] At 704, the UE provides an offload request to the MEC server. After successful MEC server discovery and connection establishment between the UE and the server, the UE can initiate the offload procedure. This can involve the UE sending an offload request, which can be a message containing key information about an application and its requirements. For example, this information can be information about the application type (e.g., V2X, gaming, health), application requirements (e.g., end-to-end latency requirements, bandwidth, memory), application priority (e.g., high, medium, low), etc. The offload request can also include various other information. Thus, at 704, the UE sends signaling to the base station intended for the MEC server and requesting computational resources for offloading.

[0117] In response to receiving the offload request at 704, the MEC server may obtain task information and requirements from the offload request at 706.

[0118] At 708, the MEC server may send an offload confirmation back to the UE. This offload confirmation message may indicate that the MEC server has accepted the offload request and will perform the tasks that the UE wants to offload.

[0119] At 710, the UE may send one or more application tasks to the MEC server. Depending on privacy requirements, the UE may also send the complete application to the MEC server. A task identifier may be attached to each task. Thus, once the UE receives the offload confirmation at 708, the UE may send the data to be offloaded to the MEC server.

[0120] Once the task transfer is complete, at 712, the UE may send a transfer completion notification to the MEC server indicating that the task transfer to the MEC server is complete.

[0121] At 714, the MEC server may execute the tasks offloaded to it. More specifically, the MEC server may perform the task computations and generate various results.

[0122] At 716, the MEC server may transmit the calculated results to the UE for use by an application running on the UE. Discovery and Offload in 5G Core Networks

[0123] Support for edge computing in 5G networks is defined in TS 23501, section 5.13. The 5G core network selects a user plane function (UPF) close to the UE and performs traffic steering from the UPF to the local data network over the N6 interface. This can be based on the UE's subscription data, the UE's location, information from the application function (AF), policies, or other relevant traffic rules.

[0124] To enable dynamic offloading in 5G networks, the Network Discovery Function (NEF) can be enhanced with UE discovery and offload parameters used for service discovery and dynamic offloading, as shown in the table below. [Table 1]

[0125] In some embodiments, the UE discovery and offload parameters may be part of a network status report from the NEF to the AF. The report may be a one-time report or a continuous (repeated) request. In other embodiments, the UE discovery and offload parameters may be for a message exchange between the AF and the NEF dedicated to the MEC application and may be exchanged only on request. Implementation example

[0126] 3GPP TR 26.928 defines Cross Reality (XR) in 5G networks; that is, this part of the standard provides use cases, network architecture, media format analysis, etc. Chapter 5 of the standard includes information on different XR processing and media-centric architectures, considering XR servers and XR devices communicating over 5G networks. The proposed architecture is general, without any specific offloading mechanisms that take into account network characteristics and XR clients. For example, Section 5.2.6 defines an XR distributed computing architecture for XR applications that support XR split rendering. The workload is split between the XR edge server and the device, as shown in Figure 11 (3GPP TR 26.928, 5.2.6-1).

[0127] As shown in the figure, an XR client connects to a network and participates in an XR rendering application. The XR client sends static device information (e.g., sensors, supported decoders, display configuration) to the XR edge server. Based on this information, the XR edge server configures the encoder and format.

[0128] Figure 12 shows how the proposed MEC controller can be implemented in the proposed 3GPP architecture. As shown, the offload controller can collect information about XR tasks performed from application units. As shown, the application units can include XR rendering tasks, sensor processing tasks, and XR scene generation tasks. In this particular example, XR sensor data processing is a candidate for offloading. The quality of experience can be used as a utility function that can be pre-computed offline.

[0129] The application unit may send information regarding one or more of data rate, latency requirements, and / or average power to the offload controller. The UE may also collect RSRP and RSSI measurements, as well as network system parameters such as bandwidth, frequency, modulation, and available transmit power. The UE may perform these measurements and collection of network system parameters within the same time frame as sending the information to the offload controller.

[0130] The offload controller can derive energy and latency metrics from these system parameters. Based on these energy and latency estimates for local and remote processing options, the offload controller can compare utility functions to predefined thresholds to make decisions regarding offloading.

[0131] For latency, the following contributions can be considered and evaluated against the latency of the local processing option: 1) queuing latency at the UE (waiting time to schedule a task for offloading), 2) transmission latency from the UE to the MEC server, 3) queuing latency at the MEC server (waiting time to execute a task), and / or 4) computation latency at the MEC server.

[0132] The energy contributions of cellular uplink and downlink transmissions can be considered and compared against the energy required for local XR sensor data processing. Thus, if the energy required for cellular uplink and downlink transmissions is higher than the energy required for local XR sensor data processing, the offload controller can decide not to perform any offloading. Alternatively, if the energy required for cellular uplink and downlink transmissions is lower than the energy required for local XR sensor data processing by some threshold, the offload controller can decide to perform offloading. As another alternative, the offload controller may consider this comparative energy calculation along with other factors when making an offload decision. New Information Elements

[0133] To support dynamic offloading, embodiments of the system described herein may include the following new common information elements: The new information elements (IEs) are in bold below: These new IEs are proposed to be added to 3GPP TS 23.558, Chapter 8, as shown in the table below.

[0134] [Table 2]

[0135] [Table 3]

[0136] [Table 4] How to determine MEC requirements

[0137] In the discovery process described in FIG. 8, the APU obtains the MEC requirements before it can inform the SDU about them. The MEC requirements may be information such as, for example, respective values ​​of computational power, memory, and storage. In some embodiments, these values ​​may be "hard-coded" into the application client installed in the UE. However, such a solution is not flexible. For example, if a new version of the application server software is deployed on the network side, this may result in a different set of requirements, for example, higher computational power or lower storage requirements.

[0138] FIG. 14 illustrates one exemplary method for enabling a UE to discover or obtain MEC requirements. In some embodiments, the UE can discover MEC requirements by retrieving them from a server in the network. If a software package with a server application is deployed on the network side, the MEC requirements (e.g., computing power, memory, storage, etc.) can be provided to a server on the network (a “configuration server”), as shown at 802. This may be a server in the cloud or an edge server. Furthermore, the server that stores the MEC requirements may be the server on which the server application itself runs or may be a different server. The address of the configuration server can be provided to the UE, for example, in the form of a fully qualified domain name (FQDN), e.g., “Config.AppX.Serv1,” stored in a client application on the UE.

[0139] Thereafter, when a client application is started on the UE, the UE can send a registration request or configuration request message to the network using the configuration server's FQDN as the destination address at 804. The network resolves the FQDN to the configuration server's IP address via a DNS query. The configuration server then responds with a registration confirm or configuration confirm message at 806 that includes parameters describing the MEC requirements. The UE can send this request, for example, every time an application is started, or at regular intervals, or upon receiving a trigger message received from a server running server application software.

[0140] It is well understood that use of personally identifiable information should comply with generally recognized privacy policies and practices that meet or exceed industry or government requirements for maintaining user privacy. In particular, personally identifiable information data should be managed and handled in a manner that minimizes the risk of unintended or unauthorized access or use, and the nature of permitted uses should be clearly indicated to users.

[0141] Embodiments of the present invention may be implemented in any of a variety of forms. For example, in some embodiments, the present invention may be implemented as a computer-implemented method, a computer-readable memory medium, or a computer system. In other embodiments, the present invention may be implemented using one or more custom-designed hardware devices, such as an ASIC. In other embodiments, the present invention may be implemented using one or more programmable hardware elements, such as an FPGA.

[0142] In some embodiments, a non-transitory computer-readable memory medium (e.g., a non-transitory memory element) may store program instructions and / or data that, when executed by a computer system, may be configured to cause the computer system to perform a method, such as a method embodiment described herein, or a combination of method embodiments described herein, or a subset of the method embodiments described herein, or a combination of such subsets.

[0143] In some embodiments, a device (e.g., a UE) may be configured to include a processor (or set of processors) and a memory medium (or memory element), where the memory medium stores program instructions and the processor is configured to read and execute the program instructions from the memory medium, and the program instructions are executable to implement any of the various method embodiments described herein (or any combination of the method embodiments described herein, or any subset of any of the method embodiments described herein, or any combination of such subsets). The device may be realized in various forms.

[0144] Although the above embodiments have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated, and it is intended that the following claims be interpreted to embrace all such variations and modifications.

Claims

1. receiving an edge computing availability request from a user equipment (UE), the request including information identifying the UE and information identifying an application running on the UE; In response to the edge computing availability request, sending to the UE an edge computing availability response, the response including information about available edge servers and site capability information of the available edge servers; Including, The site capability information includes information about the computing capabilities of one or more edge servers and the maximum response time between the UE and the one or more edge servers. method.

2. The method of claim 1 , wherein the edge computing availability request includes information requesting availability of edge computing resources within a specified geographic area.

3. receiving information regarding two or more of channel conditions, cellular network parameters, or application requirements of the application running on the UE; dynamically determining, based on the information, whether a task of the application running on the UE should be offloaded to an edge server or executed locally on the UE; In response to determining that the tasks of the application should be offloaded to the edge server, submitting the tasks of the application for offloaded execution on the edge server; The method of claim 1 further comprising:

4. When dynamically determining whether the tasks of the application running on the UE should be offloaded to the edge server or executed locally on the UE, the method comprises: and comparing the quality of experience of the offloaded task execution with the quality of experience of the local task execution. The method of claim 3.

5. When determining whether the task of the application running on the UE should be offloaded to the edge server or executed locally on the UE, the determination is based on three of a channel condition, a cellular network parameter, a UE power condition, or an application requirement. The method of claim 3.

6. When determining whether the task of the application running on the UE should be offloaded to the edge server or executed locally on the UE, the determination is based on channel conditions, cellular network parameters, UE power conditions, and application requirements. The method of claim 3.

7. sending an edge computing availability request to a cellular network as part of a service discovery procedure, the request including information identifying a user equipment (UE) and information identifying an application running on the UE; receiving, as part of the service discovery procedure, an edge computing availability response from the cellular network in response to the edge computing availability request, the edge computing availability response including information about available edge servers and site capability information of the available edge servers; Including, the service discovery procedure is used to find a suitable edge server that satisfies one or more application key performance indicators (KPIs), a first KPI of the one or more application KPIs comprising a response time, the response time comprising at least one of a round-trip time of the edge computing availability request and response packets, a processing time at the suitable edge server, and a time associated with the suitable edge server consuming 3GPP core network capacity; method.

8. The method of claim 7, further comprising determining one or more edge servers to which the application's tasks should be offloaded based on the information about the available edge servers and site capability information.

9. The method of claim 7 , wherein the edge computing availability request includes information requesting availability of edge computing resources within a specified geographic area.

10. 8. The method of claim 7, further comprising: submitting a task of the application for offloaded execution on the appropriate edge server; and sending a message including task parameters to one or more of the appropriate edge server or the cellular network, wherein the task parameters include two or more of task priority, maximum response time requirement, periodicity, or computational complexity.

11. determining that a task of the application cannot be executed on the appropriate edge server or locally on the UE due to one or more of poor channel conditions or insufficient power levels at the UE; in response to the UE determining that the task cannot be executed on the appropriate edge server or locally on the UE, not sending the task of the application for offloaded execution on the appropriate edge server and not executing the task locally on the UE; The method of claim 7.

12. In response to determining that the task cannot be performed on the appropriate edge server or locally on the UE, the method further comprises: generating information used to allocate networking and computing resources at future times for the performance of the task. The method of claim 11.

13. receiving information regarding two or more of channel conditions, cellular network parameters, or application requirements of applications running on the UE; dynamically determining whether a task of the application running on the UE should be offloaded to an edge server or executed locally on the UE, the determining being based on the information; and The method of claim 7 further comprising:

14. 14. The method of claim 13, wherein when determining whether the task of the application executing on the UE should be offloaded to the edge server or executed locally on the UE, the method further comprises comparing a quality of experience of offloaded task execution with a quality of experience of local task execution.

15. The method of claim 13 , wherein the determining is based on three of the channel conditions, the cellular network parameters, the UE power state, or the application requirements.

16. At least one processor configured to cause a user equipment (UE) to perform the method of any one of claims 7 to 15; An apparatus comprising:

17. a radio operably coupled to said at least one processor; The apparatus of claim 16 further comprising:

18. At least one processor configured to cause a cellular network entity to perform the method of any one of claims 1 to 6; An apparatus comprising:

19. A storage medium storing program instructions executable by one or more processors to cause a cellular network entity to perform the method of any one of claims 1 to 6.

20. A storage medium storing program instructions executable by one or more processors to cause a user equipment to perform the method of any one of claims 7 to 15.

Citation Information

Patent Citations

  • Application computation offloading for mobile edge computing

    US20180183855A1

  • Task offloading and routing in mobile edge cloud networks

    WO2020023115A1