Smart cloud edge resource management
Through the exchange of network link information between the terminal device and the edge node, dynamically schedule processing tasks, the problem of inefficient task allocation caused by device mobility and channel variability in the edge computing system is solved, and more efficient resource management and lower latency computing services are achieved.
Patent Information
- Application Number
- CN202380083087.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-12-12
- Filing Date
- 2023-11-02
- Publication Date
- 2025-07-11
AI Technical Summary
Existing edge computing systems lack flexibility in device mobility and channel variability, resulting in inefficient task allocation and reliance on cloud services may introduce latency and privacy concerns.
Through the exchange of network link information between the terminal device and the edge node, dynamically schedule processing tasks, and the computing resources of the edge nodes are used to realize distributed resource management to adapt to topological changes and device mobility.
It improves the overall performance of edge computing systems, enhances the resilience and availability of the network, reduces backhaul costs, provides higher security and lower latency, and supports a richer user experience.
Smart Images

Figure CN120303646A_ABST
Abstract
Description
[0001] Cross-reference
[0002] This patent application claims the benefit of priority to U.S. Patent Application No. 18 / 064,909, filed Dec. 12, 2022, by BAPST et al. and entitled "INTELLIGENT CLOUD-EDGE RESOURCE MANAGEMENT", which is assigned to the assignee of the present application and the entire content of which is hereby expressly incorporated by reference. Technical Field
[0003] The present disclosure relates to wireless communications, including intelligent cloud-edge resource management. Background Art
[0004] Wireless communication systems are widely deployed to provide various types of communication content, such as voice, video, packet data, messaging, broadcasting, etc. These systems can support communication with multiple users by sharing available system resources (e.g., time, frequency, and power). Examples of such multi-access systems include fourth-generation (4G) systems (e.g., Long-Term Evolution (LTE) systems, evolved LTE (LTE-A) systems, or LTE-A Pro systems) and fifth-generation (5G) systems (which may be referred to as New Radio (NR) systems). These systems may employ techniques such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal FDMA (OFDMA), or Discrete Fourier Transform Spread Orthogonal Frequency Division Multiplexing (DFT-s-OFDM). A wireless multi-access communication system may include one or more base stations (BSs) or one or more network access nodes, each of which simultaneously supports communication for multiple communication devices (which may also be referred to as user equipment (UE)). Summary of the Invention
[0005] The systems, methods, and devices of the present disclosure each have several innovative aspects, no single one of which is solely responsible for the desired attributes disclosed herein.
[0006] One innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for edge computing resource orchestration for processing tasks of a terminal device at a first edge node. The apparatus may include one or more interfaces. The one or more interfaces may be configured to: obtain network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes from the terminal device. The one or more interfaces may also be configured to: obtain a request associated with the processing task from the terminal device, wherein the request indicates one or more parameters associated with the processing task. The one or more interfaces may also be configured to: output an indication of an assignment of the processing task for the second edge node among the one or more edge nodes to the second edge node according to the network link information and the one or more parameters associated with the processing task.
[0007] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for edge computing resource orchestration for processing tasks of a terminal device at a first edge node. The method may include: receiving network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes from the terminal device. The method may also include: receiving a request associated with the processing task from the terminal device, wherein the request indicates one or more parameters associated with the processing task. The method may also include: sending an indication of an assignment of the processing task for the second edge node among the one or more edge nodes to the second edge node according to the network link information and the one or more parameters associated with the processing task.
[0008] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for edge computing resource orchestration for processing tasks of a terminal device at a first edge node. The apparatus may include: a unit for receiving network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes from the terminal device. The apparatus may also include: a unit for receiving a request associated with the processing task from the terminal device, wherein the request indicates one or more parameters associated with the processing task. The apparatus may also include: a unit for sending an indication of an assignment of the processing task for the second edge node among the one or more edge nodes to the second edge node according to the network link information and the one or more parameters associated with the processing task.
[0009] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium storing code for edge computing resource orchestration for processing tasks of a terminal device at a first edge node. The code can include instructions executable by a processor to perform the following operations: receiving, from the terminal device, network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes. The instructions can also be executable by the processor to perform the following operations: receiving, from the terminal device, a request associated with the processing task, wherein the request indicates one or more parameters associated with the processing task. The instructions can also be executable by the processor to perform the following operations: sending, based on the network link information and the one or more parameters associated with the processing task, an indication of an assignment of the processing task to a second edge node among the one or more edge nodes.
[0010] Some implementations of the methods, apparatuses, and non-transitory computer-readable media described herein can also include operations, features, units, or instructions for performing the following operations: if the first edge node is offline or becomes disconnected from the one or more edge nodes, sending consistency information to the one or more edge nodes to maintain consistency across the one or more edge nodes.
[0011] Some implementations of the methods, apparatuses, and non-transitory computer-readable media described herein can also include operations, features, units, or instructions for performing the following operations: sending an indication of the one or more parameters associated with the processing task to each of the one or more edge nodes.
[0012] Some implementations of the methods, apparatuses, and non-transitory computer-readable media described herein can also include operations, features, units, or instructions for performing the following operations: receiving, from one or more of the one or more edge nodes, an indication of an expected completion time for the processing task, wherein the assignment of the processing task to the second edge node is based on the expected completion time.
[0013] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for edge computing resource orchestration of processing tasks at a terminal device. The apparatus may include one or more interfaces. The one or more interfaces may be configured to: output network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes. The one or more interfaces may also be configured to: output a request associated with a processing task to at least a first edge node among the one or more edge nodes, wherein the request indicates one or more parameters associated with the processing task. The one or more interfaces may also be configured to: obtain information associated with the processing task from a second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0014] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for edge computing resource orchestration of processing tasks at a terminal device. The method may include: sending network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes. The method may also include: sending a request associated with a processing task to at least a first edge node among the one or more edge nodes, wherein the request indicates one or more parameters associated with the processing task. The method may also include: receiving information associated with the processing task from a second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0015] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for edge computing resource orchestration of processing tasks at a terminal device. The apparatus may include: a unit for sending network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes. The apparatus may also include: a unit for sending a request associated with a processing task to at least a first edge node among the one or more edge nodes, wherein the request indicates one or more parameters associated with the processing task. The apparatus may also include: a unit for receiving information associated with the processing task from a second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0016] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium storing code for edge computing resource orchestration for processing tasks at a terminal device. The code can include instructions executable by a processor to perform the following operations: sending network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes. The instructions can also be executable by the processor to perform the following operation: sending a request associated with a processing task to at least a first edge node among the one or more edge nodes, where the request indicates one or more parameters associated with the processing task. The instructions can also be executable by the processor to perform the following operation: receiving information associated with the processing task from a second edge node among the one or more edge nodes based on the network link information and the one or more parameters associated with the processing task.
[0017] Some implementations of the methods, apparatuses, and non-transitory computer-readable media described herein can also include operations, features, units, or instructions for performing the following operation: sending an indication that the terminal device has selected the first edge node as a resource management node for the terminal device, where the selection of the first edge node is based on at least one of the following: a quality metric associated with a wireless communication link between the first edge node and the terminal device, the availability of computing resources of the first edge node, the mobility state of the first edge node, the power type associated with the first edge node, the respective distances between the terminal device and the one or more edge nodes, or the respective signal qualities associated with the one or more wireless communication links between the terminal device and the one or more edge nodes.
[0018] In some implementations of the methods, apparatuses, and non-transitory computer-readable media described herein, the network link information indicates at least one of the following: the topology (such as an updated topology) for the one or more wireless communication links, the aggregated processing capabilities of the one or more edge nodes, a quality metric associated with the one or more wireless communication links, the battery levels of the one or more edge nodes, the power connection states of the one or more edge nodes, workload information associated with the one or more edge nodes, or predicted topology changes associated with the one or more wireless communication links.
[0019] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for edge computing resource orchestration for processing tasks of a terminal device at a second edge node. The apparatus may include one or more interfaces. The one or more interfaces may be configured to: obtain an indication of an assignment of a processing task for the second edge node from a first edge node or a terminal device among one or more edge nodes, wherein the assignment of the processing task for the second edge node is based on one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between the one or more edge nodes and the terminal device. The one or more interfaces may also be configured to: output information associated with the processing task to one or both of the first edge node or the terminal device according to the one or more parameters associated with the processing task.
[0020] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for edge computing resource orchestration for processing tasks of a terminal device at a second edge node. The method may include: receiving an indication of an assignment of a processing task for the second edge node from a first edge node or a terminal device among one or more edge nodes, wherein the assignment of the processing task for the second edge node is based on one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between the one or more edge nodes and the terminal device. The method may also include: sending information associated with the processing task to one or both of the first edge node or the terminal device according to the one or more parameters associated with the processing task.
[0021] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for edge computing resource orchestration for processing tasks of a terminal device at a second edge node. The apparatus may include: a unit for receiving an indication of an assignment of a processing task for the second edge node from a first edge node or a terminal device among one or more edge nodes, wherein the assignment of the processing task for the second edge node is based on one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between the one or more edge nodes and the terminal device. The apparatus may also include: a unit for sending information associated with the processing task to one or both of the first edge node or the terminal device according to the one or more parameters associated with the processing task.
[0022] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non - transitory computer - readable medium storing code for edge - computing resource orchestration for processing tasks of a terminal device at a second edge node. The code can include instructions executable by a processor to perform the following operations: receive an indication of an assignment of a processing task for the second edge node from a first edge node or a terminal device among one or more edge nodes, wherein the assignment of the processing task for the second edge node is based on one or more parameters associated with the processing task and network - link information associated with one or more wireless communication links between the one or more edge nodes and the terminal device. The instructions can also be executable by the processor to perform the following operation: send information associated with the processing task to one or both of the first edge node or the terminal device according to the one or more parameters associated with the processing task.
[0023] In some implementations of the methods, apparatuses, and non - transitory computer - readable media described herein, the one or more parameters include at least one of the following: a quality - of - service (QoS) threshold associated with the processing task, a payload size associated with the processing task, a computation time associated with the processing task, a priority of the processing task, a workload type of the processing task, a latency threshold of the processing task, rendering information associated with the processing task, resolution information associated with the processing task, or a security requirement for the processing task.
[0024] In some implementations of the methods, apparatuses, and non - transitory computer - readable media described herein, the second edge node queues the processing task in a processing pipeline of the second edge node according to the indication of receiving the assignment of the processing task for the second edge node.
[0025] Another innovative aspect provides a computer program including instructions that, when executed by a processor, cause the processor to perform the innovative features disclosed herein.
[0026] Another innovative aspect provides an apparatus including a processing system that is capable of and configured to perform the innovative features disclosed herein.
[0027] Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1An example wireless communication system that supports intelligent cloud edge resource management is shown.
[0029] Figure 2 A diagram of an example system that supports intelligent cloud edge resource management is shown.
[0030] Figure 3 A diagram of an example network that supports intelligent cloud edge resource management is shown.
[0031] Figure 4A and 4B A diagram of an example network that supports intelligent cloud edge resource management is shown.
[0032] Figure 5 and 6 An example process flow that supports intelligent cloud edge resource management is shown.
[0033] Figure 7 and 8 A block diagram of an example device that supports intelligent cloud edge resource management is shown.
[0034] Figures 9 - 11 A flowchart illustrating an example method that supports intelligent cloud edge resource management is shown.
[0035] Like reference numerals and designations in the various figures indicate like elements Detailed Description
[0036] For purposes of describing the innovative aspects of the present disclosure, the following description is directed to some implementations. However, it will be readily apparent to those skilled in the art that the teachings herein can be applied in many different ways. The described implementations can be implemented in any device, system, or network capable of transmitting and receiving radio frequency (RF) signals according to any one of the standards in the Institute of Electrical and Electronics Engineers (IEEE) 16.11 standards or any one of the following: IEEE 802.11 standards, standards, Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Global System for Mobile Communications (GSM), GSM / General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Terrestrial Trunked Radio (TETRA), Wideband-CDMA (W-CDMA), Evolution-Data Optimized (EV-DO), 1xEV-DO, EV-DO Rev A, EV-DO Rev B, High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolved High Speed Packet Access (HSPA+), Long Term Evolution (LTE), AMPS, or other known signals for communication within a wireless, cellular, or Internet of Things (IoT) network (e.g., a system utilizing third generation (3G), fourth generation (4G), fifth generation (5G), or sixth generation (6G), or additional implementations, technologies thereof).
[0037] An edge computing system may include various communication devices capable of obtaining, exchanging, and processing data. In some implementations, these communication devices may be referred to as terminal devices, edge nodes, cloud edges, cloud entities, etc. The terms "terminal device" and "edge node" may be relative terms defining or relating to a relationship in one or more of device capabilities, task execution, or proximity to a core network or core processing entity between two communication devices. For example, a terminal device may refer to a communication device with relatively fewer processing resources or reduced processing capabilities, while an edge node may refer to a communication device with relatively more processing resources or greater processing capabilities. Additionally or alternatively, a terminal device may refer to a communication device that solicits or requests a processing task, while an edge node may refer to a communication device that executes a processing task. Devices such as access points (APs), user equipment (UEs), mobile stations (STAs), routers, mobile devices (smartphones), cars, laptops, game consoles, extended reality (XR) glasses or headsets, augmented reality (AR) devices, virtual reality (VR) headsets, thermostats, sensors, IoT devices, and other consumer devices may act as edge nodes, terminal devices, or both at different times.
[0038] In some implementations, processing tasks can be associated with inputs and results (such as outputs). The input of a processing task can refer to data provided by a terminal device, while the result of a processing task can refer to output data provided by an edge node. In some implementations, the result of a processing task can be calculated, synthesized, generated, derived, or otherwise obtained based on the data provided by the terminal device. Since the terms "terminal device" and "edge node" are relative and are defined at least in part based on device capabilities or task execution, a communication device can act as a terminal device for some processing tasks (by requesting or advertising a processing task to other communication devices) and can act as an edge node for other processing tasks (by executing a processing task requested by other communication devices).
[0039] A cloud edge can refer to a communication device that provides a connection between the edge layer of an edge computing system (which can include terminal devices and edge nodes) and the cloud layer of the edge computing system (which can include cloud servers and network edges). As described herein, a cloud node can refer to a data center, server, or computing system that is remote from (e.g., physically separate from) the edge layer of an edge computing system. Compared to edge nodes and terminal devices, cloud nodes can have relatively greater processing capabilities. In some systems, using cloud nodes for task execution and workload distribution can introduce latency, privacy concerns, and backhaul issues, which may be undesirable for some use cases. Additionally, some edge computing systems may not be able to address device mobility or channel variability, which can reduce the resiliency of such systems. For example, in some deployments, communication devices can be mobile (such devices can change their position within the system) or transient (such that a device can enter or exit the system) and may experience variable channel conditions, and some edge computing systems may lack task assignment techniques that account for system variability (such as the location or battery life of mobile computing nodes).
[0040] In some implementations, a terminal device may provide network link information (such as channel quality measurements, motion data, or link topology information) to one or more edge nodes of an edge computing system, which may enable the edge nodes to more effectively schedule and allocate task workloads within the edge computing system. For example, if the terminal device sends a processing task request to a first edge node (e.g., a primary edge node), the first edge node may assign or allocate the processing task to a second edge node based on the network link information provided by the terminal device. Additionally or alternatively, the terminal device may assign a processing task to an edge node based on the availability or estimated task completion time provided by the edge node. For example, the terminal device may send an indication of processing task parameters (such as payload size, quality of service (QoS) criteria, job type, etc.) to each edge node in the edge computing system and may receive an indication of the estimated completion time of the processing task from each edge node. Thus, the terminal device may assign the processing task to the edge node with the most favorable conditions (such as the lowest estimated completion time or the highest connection reliability) if the edge node is performing real-time processing for the terminal device. When assigning a processing task to an edge node, the terminal device may also consider factors such as bandwidth, latency, user policy constraints, and computational resource costs. Additionally or alternatively, when selecting an edge node to execute a processing task, the terminal device may analyze communication links and device capabilities (such as the video / audio encoding capabilities or battery power of a mobile computing device).
[0041] Specific implementations of the subject matter described in this disclosure may be realized to achieve one or more of the following potential advantages. For example, the dynamic edge resource management techniques described in this disclosure may improve the overall performance of an edge computing system by enabling devices (such as terminal devices and edge nodes) to orchestrate and execute processing tasks with higher efficiency. For example, a primary edge node may dynamically schedule and update workload assignments among other edge nodes based on the network link information provided by the terminal device. Thus, aspects of this disclosure may enable edge nodes to efficiently consider topological changes, channel variability, device mobility, and other factors when allocating and (re)assigning processing tasks within an edge computing environment. Additionally, the distributed resource management scheme described herein may be resilient to Internet outages, connectivity issues, and other network failures. Thus, compared to other systems that rely on cloud services for task orchestration, the edge computing system described herein may provide greater consistency and improved performance, which may facilitate a richer and more seamless user experience and other benefits.
[0042] In addition, some security, privacy, and data sovereignty rules can provide incentives for using aspects of the distributed network architecture described herein. The edge-based workload orchestration techniques described herein can also enable the network to operate without cloud connectivity, which can sometimes be unreliable or unavailable. For example, a shipping container system that may experience limited cloud connectivity at various points in its route can use the edge-centric task assignment scheme disclosed herein to effectively manage device workloads. Additionally, the described techniques can reduce backhaul costs by promoting localized edge-based data processing. Further, when more computing power is deployed to the edge, it may be desirable to use idle edge computing resources to augment cloud-based computing systems. For example, a parking garage with charging autonomous electric vehicles can serve as an edge-based computing system for nearby devices. Thus, aspects of the present disclosure can promote higher network availability (such as greater network resiliency), lower latency, greater security, and higher throughput by shifting workload allocation from the cloud to the edge.
[0043] Figure 1 An example wireless communication system 100 that supports intelligent cloud edge resource management is shown. The wireless communication system 100 can include one or more network entities 105, at least one UE 115, and a core network 130. In some implementations, the wireless communication system 100 can be a Long Term Evolution (LTE) network, an enhanced LTE (LTE-A) network, an LTE-A Pro network, a New Radio (NR) network, or a network operating according to other systems and radio technologies, including future systems and radio technologies not explicitly mentioned herein.
[0044] The network entities 105 can be dispersed throughout a geographic area to form the wireless communication system 100 and can include devices in different forms or with different capabilities. In various examples, the network entities 105 can be referred to as network elements, mobility elements, radio access network (RAN) nodes, or network devices, among other terms. In some implementations, the network entities 105 and the UE 115 can communicate wirelessly via one or more communication links 125, such as RF access links. For example, the network entity 105 can support a coverage area 110 (e.g., a geographic coverage area) over which the UE 115 and the network entity 105 can establish one or more communication links 125. The coverage area 110 can be an example of a geographic area over which the network entity 105 and the UE 115 can support signal transmission according to one or more radio access technologies (RATs).
[0045] UE 115 can be spread throughout the coverage area 110 of the wireless communication system 100, and each UE 115 can be stationary, or mobile, or both at different times. UE 115 can be devices of different forms or with different capabilities. In Figure 1 some example UEs 115 are shown. The UEs 115 described herein are capable of supporting communication with various types of devices (such as other UEs 115 or network entities 105), as Figure 1 shown.
[0046] As described herein, a node (which may be referred to as a network node) or a wireless node of the wireless communication system 100 can be a network entity 105 (e.g., any network entity described herein), a UE 115 (e.g., any UE described herein), a network controller, a device, an equipment, a computing system, one or more components, or another suitable processing entity configured to perform any of the techniques described herein. For example, a node can be a UE 115. As another example, a node can be a network entity 105. As another example, a first node can be configured to communicate with a second node or a third node. In one aspect of this example, the first node can be a UE 115, the second node can be a network entity 105, and the third node can be a UE 115. In another aspect of this example, the first node can be a UE 115, the second node can be a network entity 105, and the third node can be a network entity 105. In other aspects of this example, the first node, the second node, and the third node may be different from these examples. Similarly, references to UEs 115, network entities 105, devices, equipments, computing systems, etc. can include the disclosure of UEs 115, network entities 105, devices, equipments, computing systems, etc. as nodes. For example, the disclosure regarding a UE 115 being configured to receive information from a network entity 105 also discloses a first node being configured to receive information from a second node.
[0047] In some implementations, network entity 105 may communicate with core network 130, or with each other, or both. For example, network entity 105 may communicate with core network 130 via one or more backhaul communication links 120 (e.g., according to S1, N2, N3, or other interface protocols). In some implementations, network entities 105 may communicate with each other directly (e.g., directly between network entities 105) or indirectly (e.g., via core network 130) via backhaul communication link 120 (e.g., according to X2, Xn, or other interface protocols). In some implementations, network entities 105 may communicate with each other via midhaul communication link 162 (such as according to a midhaul interface protocol) or fronthaul communication link 168 (such as according to a fronthaul interface protocol) or any combination thereof. Backhaul communication link 120, midhaul communication link 162, or fronthaul communication link 168 may be or include one or more wired links (e.g., electrical links, fiber optic links), one or more wireless links (e.g., radio links, wireless optical links), and other examples or various combinations thereof. UE 115 may communicate with core network 130 via communication link 155.
[0048] One or more of the network entities 105 described herein may include or may be referred to as a base station (BS) 140 (e.g., a base station transceiver, radio BS, NR BS, AP, radio transceiver, Node B, evolved Node B (eNB), next generation Node B, or giga Node B (any of which may be referred to as a gNB), 5G NB, next generation eNB (ng-eNB), home Node B, home evolved Node B, or other suitable terms). In some implementations, network entity 105 (such as BS140) may be implemented in an aggregated (such as monolithic, stand-alone) BS architecture that may be configured to utilize a protocol stack physically or logically integrated within a single network entity 105 (such as a single RAN node, such as BS140).
[0049] In some examples, network entity 105 can be implemented in a decomposed architecture (e.g., decomposed BS architecture, decomposed RAN architecture), which can be configured to utilize a protocol stack physically or logically distributed among two or more network entities 105 (such as an integrated access backhaul (IAB) network, an open RAN (O-RAN) (e.g., a network configuration sponsored by the O-RAN Alliance), or a virtualized RAN (vRAN) (e.g., a cloud RAN (C-RAN))). For example, network entity 105 can include one or more of the following: a central unit (CU) 160, a distributed unit (DU) 165, a radio unit (RU) 170, a RAN intelligent controller (RIC) 175 (e.g., a near real-time RIC (near RT RIC), a non-real-time RIC (non RT RIC)), a service management and orchestration (SMO) 180 system, or any combination thereof.
[0050] RU 170 can also be referred to as a radio head, an intelligent radio head, a remote radio head (RRH), a remote radio unit (RRU), or a transmit receive point (TRP). One or more components of network entity 105 in a decomposed RAN architecture can be co-located, or one or more components of network entity 105 can be located at distributed locations (e.g., separate physical locations). In some implementations, one or more network entities 105 of a decomposed RAN architecture can be implemented as virtual units (e.g., a virtual CU (VCU), a virtual DU (VDU), a virtual RU (VRU)).
[0051] The split of functionality between CU 160, DU 165, and RU 170 is flexible and can support different functionality depending on which functions are performed at CU 160, DU 165, or RU 170 (e.g., network layer functions, protocol layer functions, baseband functions, RF functions, and any combination thereof). For example, a functional split of the protocol stack can be adopted between CU 160 and DU 165 such that CU 160 can support one or more layers of the protocol stack and DU 165 can support one or more different layers of the protocol stack. In some implementations, CU 160 can host upper layer protocol layer (e.g., layer 3 (L3), layer 2 (L2)) functionality and signaling (e.g., radio resource control (RRC), service data adaptation protocol (SDAP), packet data convergence protocol (PDCP)). CU 160 can be connected to one or more DUs 165 or RUs 170, and one or more DUs 165 or RUs 170 can host lower protocol layers (such as layer 1 (L1) (e.g., physical (PHY) layer) or L2 (e.g., radio link control (RLC) layer, medium access control (MAC) layer)) functionality and signaling and can each be at least partially controlled by CU 160.
[0052] Additionally or alternatively, a functional split of the protocol stack may be employed between DU 165 and RU 170 such that DU 165 can support one or more layers of the protocol stack and RU 170 can support one or more different layers of the protocol stack. DU 165 can support one or more different cells (e.g., via one or more RUs 170). In some implementations, the functional split between CU160 and DU 165 or between DU 165 and RU 170 can be within a protocol layer (e.g., for some functions of the protocol layer can be performed by one of CU 160, DU 165 or RU 170, while other functions of the protocol layer are performed by a different one of CU 160, DU 165 or RU 170). CU 160 can be further functionally split into a CU control plane (CU-CP) and a CU user plane (CU-UP) function. CU 160 can be connected to one or more DUs 165 via a midhaul communication link 162 (such as F1, F1-c, F1-u), and DU 165 can be connected to one or more RUs 170 via a fronthaul communication link 168 (e.g., an open fronthaul (FH) interface). In some implementations, the midhaul communication link 162 or the fronthaul communication link 168 can be implemented according to an interface (e.g., a channel) between layers of the protocol stack, which is supported by the corresponding network entity 105 communicating via such communication links.
[0053] In a wireless communication system (e.g., wireless communication system 100), the infrastructure and spectrum resources for radio access can support a wireless backhaul link capability to supplement a wired backhaul connection, thereby providing an IAB network architecture (e.g., to the core network 130). In some implementations, in an IAB network, one or more network entities 105 (e.g., IAB node 104) can be partially controlled by each other. One or more IAB nodes 104 can be referred to as donor entities or IAB donors. One or more DUs 165 or one or more RUs 170 can be partially controlled by one or more CUs 160 associated with a donor network entity 105 (e.g., donor BS140). One or more donor network entities 105 (e.g., IAB donors) can communicate with one or more additional network entities 105 (e.g., IAB nodes 104) via supported access and backhaul links (e.g., backhaul communication link 120). An IAB node 104 can include an IAB mobile terminal (IAB-MT) controlled (e.g., scheduled) by a DU 165 of a coupled IAB donor.
[0054] The IAB-MT may include a separate set of antennas for relaying communications with the UE 115 or may share the same antennas of the IAB node 104 for access via the DU 165 of the IAB node 104 (e.g., the same antennas of the RU 170) (e.g., referred to as a virtual IAB-MT (vIAB-MT)). In some implementations, the IAB node 104 may include a DU 165 that supports communication links with additional entities (e.g., IAB node 104, UE 115) within the configuration of the relay chain or access network (e.g., downstream). In such implementations, one or more components of the split RAN architecture (e.g., one or more IAB nodes 104 or components of the IAB node 104) may be configured to operate according to the techniques described herein.
[0055] In implementations of the techniques described herein applied in the context of a split RAN architecture, one or more components of the split RAN architecture may be configured to support intelligent cloud edge resource management as described herein. For example, some operations described as being performed by the UE 115 or the network entity 105 (e.g., BS140) may alternatively or additionally be performed by one or more components of the split RAN architecture (e.g., IAB node 104, DU 165, CU 160, RU 170, RIC 175, SMO 180).
[0056] The UE 115 may include or may be referred to as a mobile device, wireless device, remote device, handheld device, or subscriber device, or some other suitable term, where the "device" may also be referred to as a unit, station, terminal, or client, among other examples. The UE 115 may also include or may be referred to as a personal electronic device, such as a cellular phone, personal digital assistant (PDA), tablet computer, laptop computer, or personal computer. In some implementations, the UE 115 may include or be referred to as a wireless local loop (WLL) station, IoT device, internet of everything (IoE) device, or machine type communication (MTC) device, among other examples, which may be implemented in various items such as appliances, or vehicles, meters, and other examples.
[0057] The UE 115 described herein may be capable of communicating with various types of devices, such as other UE 115s that may sometimes act as repeaters, as well as network entities 105 and network devices (including macro eNBs or gNBs, small cell eNBs or gNBs, or relay BSs, among other examples), as Figure 1 shown.
[0058] UE 115 and network entity 105 may communicate wirelessly with each other via one or more communication links 125 (e.g., access links) using resources associated with one or more carriers. The term "carrier" may refer to a set of RF spectrum resources having a defined physical layer structure for supporting communication link 125. For example, a carrier for communication link 125 may include a portion of an RF spectrum band (e.g., a bandwidth part (BWP)) that operates according to one or more physical layer channels for a given radio access technology such as LTE, LTE-A, LTE-A Pro, NR. Each physical layer channel may carry acquisition signaling (e.g., synchronization signals, system information), control signaling for coordinating operation of the carrier, user data, or other signaling. The wireless communication system 100 may support communication with UE 115 using carrier aggregation or multi-carrier operation.
[0059] According to a carrier aggregation configuration, UE 115 may be configured with multiple downlink component carriers and one or more uplink component carriers. Carrier aggregation may be used with both frequency division duplex (FDD) component carriers and time division duplex (TDD) component carriers. Communication between network entity 105 and other devices may refer to communication between any part (e.g., entity, sub-entity) of the device and network entity 105. For example, when referring to network entity 105, the terms "transmit", "receive", or "communicate" may refer to any part of network entity 105 of the RAN (e.g., BS140, CU 160, DU 165, RU 170) communicating with another device (e.g., directly or via one or more other network entities 105).
[0060] The signal waveform transmitted via a carrier may be composed of multiple sub-carriers (e.g., using a multi-carrier modulation (MCM) technique such as orthogonal frequency division multiplexing (OFDM) or discrete Fourier transform spread OFDM (DFT-S-OFDM)). In a system employing an MCM technique, a resource element may refer to the resource of one symbol period (e.g., the duration of one modulation symbol) and one sub-carrier, for which the symbol period and sub-carrier spacing may be inversely related. The number of bits carried by each resource element may depend on the modulation scheme (e.g., the order of the modulation scheme, the decoding rate of the modulation scheme, or both), such that a relatively high number of resource elements (e.g., during the transmission duration) and a relatively high order of the modulation scheme may correspond to a relatively high communication rate. Wireless communication resources may refer to a combination of RF spectrum resources, time resources, and spatial resources (e.g., spatial layers, beams), and the use of multiple spatial resources may increase the data rate or data integrity for communication with UE 115.
[0061] May be in a basic time unit (in some implementations, which may be referred to as Ts = 1 / (Δf max ·N f ) seconds for the sampling period (where Δf max can represent the supported subcarrier spacing, and N f can represent the supported Discrete Fourier Transform (DFT) size)) times to represent the time interval for network entity 105 or UE 115. The time intervals of communication resources can be organized according to radio frames each having a specified duration (e.g., 10 milliseconds (ms)). Each radio frame can be identified by a system frame number (SFN) (e.g., ranging from 0 to 1023).
[0062] Each frame can include a plurality of consecutively numbered subframes or time slots, and each subframe or time slot can have the same duration. In some implementations, a frame can be divided (e.g., in the time domain) into subframes, and each subframe can be further divided into a number of time slots. Alternatively, each frame can include a variable number of time slots, and the number of time slots can depend on the subcarrier spacing. Each time slot can include a number of symbol periods (e.g., which depends on the length of the cyclic prefix added in front of each symbol period). In some wireless communication systems 100, a time slot can be further divided into a plurality of mini-slots associated with one or more symbols. Excluding the cyclic prefix, each symbol period can be associated with one or more (e.g., N f number of) sampling periods. The duration of a symbol period can depend on the subcarrier spacing or the operating frequency band.
[0063] A subframe, time slot, mini-slot or symbol can be the smallest scheduling unit (e.g., in the time domain) of wireless communication system 100, and can be referred to as a transmission time interval (TTI). In some implementations, the TTI duration (e.g., the number of symbol periods in a TTI) can be variable. Additionally or alternatively, the smallest scheduling unit of wireless communication system 100 can be dynamically selected (e.g., in the form of a burst of shortened TTIs (sTTIs)).
[0064] Physical channels can be multiplexed according to various techniques for communication using carriers. For example, one or more of time division multiplexing (TDM) techniques, frequency division multiplexing (FDM) techniques, or hybrid TDM-FDM techniques can be used to multiplex physical control channels and physical data channels for signaling via a downlink carrier. A control region for a physical control channel (e.g., a control resource set (CORESET)) can be defined by a set of symbol periods and can extend across the system bandwidth of a carrier or a subset of the system bandwidth. One or more control regions (e.g., CORESETs) can be configured for a group of UEs 115. For example, one or more of the UEs 115 can monitor or search a control region for control information according to one or more search space sets, and each search space set can include one or more control channel candidates at one or more aggregation levels arranged in a cascaded manner. The aggregation level for a control channel candidate can refer to the number of control channel resources (e.g., control channel elements (CCEs)) associated with the coded information for a control information format having a given payload size. The search space sets can include a common search space set configured to send control information to multiple UEs 115 and a UE-specific search space set for sending control information to a specific UE 115.
[0065] In some implementations, the network entity 105 (such as the BS 140 or the RU 170) can be movable and thus provide communication coverage for the mobile coverage area 110. In some implementations, different coverage areas 110 associated with different technologies can overlap, but different coverage areas 110 can be supported by the same network entity 105. In some other examples, overlapping coverage areas 110 associated with different technologies can be supported by different network entities 105. The wireless communication system 100 can include, for example, a heterogeneous network where different types of network entities 105 use the same or different radio access technologies to provide coverage for respective coverage areas 110.
[0066] Some UEs 115 (e.g., MTC or IoT devices) can be low-cost or low-complexity devices and can provide automated communication between machines (e.g., via machine-to-machine (M2M) communication). M2M communication or MTC can refer to data communication technologies that allow devices to communicate with each other or with network entities 105 (e.g., BS 140) without human intervention. In some implementations, M2M communication or MTC can include communication from devices integrated with sensors or meters to measure or capture information and relay such information to a central server or application, which utilizes the information or presents the information to a human interacting with the application. Some UEs 115 can be designed to collect information or implement automated behavior of machines or other devices. Examples of applications for MTC devices include smart metering, inventory monitoring, water level monitoring, device monitoring, healthcare monitoring, wildlife monitoring, climate and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based business billing.
[0067] Some UEs 115 can be configured to operate in power-saving modes, e.g., half-duplex communication (e.g., a mode that supports one-way communication via transmission or reception rather than simultaneous transmission and reception). In some implementations, half-duplex communication can be performed at a reduced peak rate. Other power-saving techniques for UEs 115 include entering a power-saving deep sleep mode when not participating in active communication, operating with limited bandwidth (e.g., according to narrowband communication), or a combination of these techniques. For example, some UEs 115 can be configured for operation using a narrowband protocol type associated with a defined portion or range within a carrier, within a guard band of the carrier, or external to the carrier (e.g., a set of subcarriers or resource blocks (RBs)).
[0068] The wireless communication system 100 can be configured to support ultra-reliable communication or low-latency communication, or various combinations thereof. For example, the wireless communication system 100 can be configured to support ultra-reliable low-latency communication (URLLC). UEs 115 can be designed to support ultra-reliable, low-latency, or critical functions. Ultra-reliable communication can include private communication or group communication and can be supported by one or more services such as push-to-talk, video, or data. Support for ultra-reliable, low-latency functions can include prioritization of services, and such services can be used for public safety or general commercial applications. The terms ultra-reliable, low-latency, and ultra-reliable low-latency can be used interchangeably herein.
[0069] In some implementations, UE 115 may be configured to support direct communication with other UEs 115 via a device-to-device (D2D) communication link 135 (e.g., according to a peer-to-peer (P2P), D2D, or sidelink protocol). In some implementations, one or more UEs 115 in a group performing D2D communication may be within the coverage area 110 of a network entity 105 (e.g., BS 140, RU 170), and the network entity 105 may support aspects of such D2D communication configured (e.g., scheduled) by the network entity 105. In some implementations, one or more UEs 115 in such a group may be outside the coverage area 110 of the network entity 105 or may otherwise be unable or not configured to receive transmissions from the network entity 105. In some implementations, each group of UEs 115 communicating via D2D communication may support a one-to-many (1:M) system, where each UE 115 transmits to each of the other UEs 115 in the group. In some implementations, the network entity 105 may facilitate the scheduling of resources for D2D communication. In some other examples, D2D communication may be performed between UEs 115 without involving the network entity 105.
[0070] In some systems, the D2D communication link 135 may be an example of a communication channel (such as a sidelink communication channel) between vehicles (e.g., UE 115). In some implementations, vehicles may communicate using vehicle-to-everything (V2X) communication, vehicle-to-vehicle (V2V) communication, or some combination of these. Vehicles may signal information related to traffic conditions, signal scheduling, weather, safety, emergencies, or any other information related to the V2X system. In some implementations, vehicles in a V2X system may communicate with roadside infrastructure (such as a roadside unit), or communicate with the network via one or more network nodes (e.g., network entity 105, BS 140, RU 170) using vehicle-to-network (V2N) communication, or perform both operations.
[0071] The core network 130 may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions. The core network 130 may be an evolved packet core (EPC) or a 5G core (5GC), which may include at least one control plane entity that manages access and mobility (e.g., a mobility management entity (MME), an access and mobility management function (AMF)) and at least one user plane entity that routes packets to or interconnects with an external network (e.g., a serving gateway (S-GW), a packet data network (PDN) gateway (P-GW), or a user plane function (UPF)). The control plane entity may manage non-access stratum (NAS) functions, such as mobility, authentication, and bearer management for a UE 115 served by a network entity 105 (e.g., BS140) associated with the core network 130. User IP packets may be transmitted through the user plane entity, which may provide IP address allocation and other functions. The user plane entity may be connected to an IP service 150 for one or more network operators. The IP service 150 may include access to the Internet, an intranet, an IP multimedia subsystem (IMS), or a packet-switched streaming service.
[0072] The wireless communication system 100 may operate using one or more frequency bands, which may be in the range of 300 megahertz (MHz) to 300 gigahertz (GHz). Generally, the region from 300 MHz to 3 GHz is known as the ultra-high frequency (UHF) region or the decimeter band because the wavelength range is approximately from one decimeter to one meter in length. UHF waves may be blocked or redirected by buildings and environmental features, which may be referred to as clutter, but the waves may be sufficient to penetrate structures to serve an indoor UE 115 in a macro cell. Communications using UHF waves may be associated with smaller antennas and shorter distances (e.g., less than 100 kilometers) compared to communications using smaller frequencies and longer waves in the high frequency (HF) or very high frequency (VHF) portions of the spectrum below 300 MHz.
[0073] The wireless communication system 100 can utilize both licensed and unlicensed RF spectrum bands. For example, the wireless communication system 100 can employ licensed-assisted access (LAA), LTE-unlicensed (LTE-U) radio access technology, or NR technology that uses an unlicensed frequency band such as the 5 GHz industrial, scientific, and medical (ISM) band. When operating using an unlicensed RF spectrum band, devices such as network entity 105 and UE 115 can employ carrier sensing for collision detection and avoidance. In some implementations, the operation using an unlicensed frequency band can utilize a carrier aggregation configuration that combines component carriers operating using a licensed frequency band (e.g., LAA). The operation using an unlicensed spectrum can include downlink transmissions, uplink transmissions, P2P transmissions, or D2D transmissions, among other examples.
[0074] The network entity 105 (e.g., BS140, RU 170) or UE 115 can be equipped with multiple antennas, which can be used to employ techniques such as transmit diversity, receive diversity, multiple-input multiple-output (MIMO) communication, or beamforming. The antennas of the network entity 105 or UE 115 can be located within one or more antenna arrays or antenna panels, which can support MIMO operation or transmit or receive beamforming. For example, one or more BS antennas or antenna arrays can be co-located at an antenna assembly such as an antenna tower. In some implementations, the antennas or antenna arrays associated with the network entity 105 can be located at different geographical locations. The network entity 105 can include an antenna array having a set of rows and columns of antenna ports that the network entity 105 can use to support beamforming for communication with the UE 115. Similarly, the UE 115 can include one or more antenna arrays that can support various MIMO or beamforming operations. Additionally or alternatively, the antenna panel can support RF beamforming for signals transmitted via the antenna ports.
[0075] Beamforming (which may also be referred to as spatial filtering, directional transmission, or directional reception) is a signal processing technique that can be used at a transmitting device or a receiving device (e.g., network entity 105, UE 115) to form or direct an antenna beam (e.g., transmit beam, receive beam) along a spatial path between the transmitting device and the receiving device. Beamforming can be achieved by combining signals transmitted via the antenna elements of an antenna array such that some signals propagating along a particular orientation relative to the antenna array undergo constructive interference while other signals undergo destructive interference. The adjustment of the signals transmitted via the antenna elements can include the transmitting device or the receiving device applying an amplitude offset, a phase offset, or both to the signals carried via the antenna elements associated with the device. The adjustment associated with each of the antenna elements can be defined by a set of beamforming weights associated with a particular orientation (e.g., relative to the antenna array of the transmitting device or the receiving device, or relative to some other orientation).
[0076] The wireless communication system 100 can be a packet-based network that operates according to a layered protocol stack. In the user plane, the communication at the bearer or PDCP layer can be IP-based. The RLC layer can perform packet segmentation and reassembly for transmission via logical channels. The MAC layer can perform priority handling and multiplexing of logical channels to transport channels. The MAC layer can also implement error detection techniques, error correction techniques, or both to support retransmissions to improve link efficiency. In the control plane, the RRC protocol layer can provide the establishment, configuration, and maintenance of an RRC connection between the UE 115 and the network entity 105 or the core network 130 to support radio bearers for user plane data. The PHY layer can map transport channels to physical channels.
[0077] The wireless communication system 100 can be an example of an edge computing system that includes various devices such as APs, routers, mobile devices (smartphones), cars, laptops, and game consoles, security cameras, XR glasses, AR devices, smart thermostats, IoT devices, and other consumer devices connected to the network. These devices can act as edge nodes, terminal devices, or both at different times. Compared with edge nodes, terminal devices can have fewer computing resources and relatively limited processing capabilities. Therefore, in some scenarios, terminal devices can rely on edge nodes to process, analyze, and execute relatively large computational workloads (such as processing tasks) that would otherwise cause latency and power consumption at the terminal device. Some terminal devices such as security cameras can process workloads locally instead of offloading such workloads to other devices. This can reduce the likelihood of mission-critical devices experiencing a denial-of-service (DoS) attack.
[0078] In other scenarios, the edge node can send a request for a processing task to the terminal device. For example, if a security camera detects a person near the front door, but the person's face is out of view, the edge node can request other nearby security cameras (to the right and left of the security camera) to zoom in and start recording video footage. Once the edge node receives the video footage from the other security cameras, the edge node can use the available computing resources to process the video footage. In some implementations, the processing task (also referred to as a device workload) can be associated with an output, which can include data, commands (such as to increase the temperature of a thermostat), alerts (such as a police alert), notifications (such as a notification to the homeowner), or exporting data to the cloud for analysis or recording (such as video footage from a suspected break-in).
[0079] In some edge computing systems (such as Wi-Fi Self-Organizing Networks (SON)), the collective workload of the edge computing system can be distributed across the individual edge nodes (such as UE 115 and network entity 105) in the edge computing system. Some edge computing systems can support a computing resource management scheme for data centers, fixed computing nodes, and other devices. Such a scheme can depend on communication links between devices with sufficient robustness and quality. However, these schemes may not be applicable to mobile computing environments where devices (such as cars, laptops, personal devices, and other computing nodes) move into, out of, or within the network at different times.
[0080] For example, in some Mobile Edge Computing (MEC) deployments associated with a cellular network, a terminal device (such as UE115) can move between different network entities 105, resulting in a change in the MEC latency standard. Therefore, the topology of the wireless communication link between the edge node and the terminal device can change over time. Current edge computing deployments may not be able to consider device mobility when scheduling and allocating device workloads. For example, some transient edge nodes (such as vehicles and cars or mobile devices) may be unavailable during a specific time period, and other edge nodes may not be able to adjust or reallocate task workloads based on the availability of the transient edge nodes. As described herein, a transient edge node can be an edge node with periodic or intermittent availability, such that the transient edge node is temporarily available and otherwise unavailable for task processing or execution.
[0081] In some edge computing deployments, device workload allocation can be orchestrated (such as managed) by a cloud server or a data center. However, relying on cloud devices (such as by Figure 2 shown and referenced Figure 2The described cloud edge 215) for workload management and task execution may introduce latency, privacy concerns, and backhaul issues. For example, due to the inverse relationship between locality (such as distance) and latency (such as processing time) present in a distributed computing environment, executing a processing workload at a nearby edge node may be more efficient (in terms of latency) than offloading the processing task to a remote cloud server. Thus, although a cloud server may have relatively greater processing power (compared to other edge nodes and terminal devices), relying on the cloud to execute workloads may introduce unacceptable latency and security issues. Additionally, cloud devices may be several hops away from edge nodes within an edge computing system and may experience connectivity issues.
[0082] Aspects of the present disclosure support dynamic edge - level orchestration techniques for workload assignment to terminal devices within an edge computing system. In accordance with the techniques described herein, a first (primary) edge node may receive network link information from one or more terminal devices and may use the network link information (combined with workload information provided by peer edge nodes) to assign workloads to one or more edge nodes in the edge computing system. The network link information described herein may include QoS metrics, payload size information, link topology information, motion data, or other relevant information. Terminal devices may periodically provide network link information to one or more edge nodes within the edge computing system.
[0083] In some implementations, rather than orchestrating workload assignment from a single (primary) edge node, a terminal device may select or assign a workload to a suitable edge node based on factors such as estimated completion time, communication link quality, etc. For example, a terminal device may send workload requests to different edge nodes in the edge computing system, receive estimated workload completion times (based on the availability of computing resources at those edge nodes) from each edge node, and assign the workload to the edge node with the lowest estimated completion time.
[0084] To account for the variability of communication links in an edge computing system (due to mobility and interference), terminal devices and edge nodes may update the topology of these communication links. For example, a terminal device may periodically or aperiodically send updated network link information to one or more edge nodes (including the primary edge node), and at least one edge node among the one or more edge nodes (such as the primary edge node) may use the updated network link information to perform workload assignment orchestration. A resource management scheme that considers computational and communication link topologies, device service payloads, and device priorities can provide improved performance by enabling terminal devices to filter edge nodes based on the quality and availability of communication links.
[0085] Figure 2A diagram showing an example system 200 that supports intelligent cloud edge resource management. System 200 may implement aspects of or be implemented by aspects of wireless communication system 100. For example, system 200 includes terminal devices 210, each of which may be an example of one or more aspects of a UE 115 or network entity 105 as described herein (including reference Figure 1 ). Additionally, system 200 includes edge nodes 205, each of which may be an example of one or more aspects of a UE 115 or network entity 105 as described herein (including reference Figure 1 ). In system 200, edge nodes 205 may allocate and execute workloads or processing tasks received from terminal devices 210 according to a dynamic edge-level orchestration scheme. System 200 shows various applications running simultaneously, each of which may have different QoS parameters and relative priorities. System 200 may support improved network reliability and enhanced network management capabilities, such as high availability according to which the network may operate in various scenarios, including scenarios without an Internet connection.
[0086] Some wireless communication systems (such as Figure 2 the edge computing system 225 shown in the example of) may include a cloud edge 215 (such as an AP or network edge with artificial intelligence (AI) or machine learning (ML) agents), one or more edge nodes 205 (which may also be referred to as device edge, computing nodes, edge computing devices, or network edge devices), and one or more terminal devices 210. Terminal devices 210 may include terminal device 210-a (such as the UE 115 described with reference to Figure 1 ), terminal device 210-b, terminal device 210-c, terminal device 210-d, terminal device 210-e, terminal device 210-f, and terminal device 210-g. Terminal device 210-a may be an example of a user device having applications for policy control, monitoring, and management. Terminal device 210-b may be an example of a Wi-Fi compliant gaming console. Terminal device 210-c may be an example of a Zigbee compliant smart lock. Terminal device 210-d may be an example of a Wi-Fi compliant smart camera. Terminal device 210-e may be an example of a Wi-Fi compliant smart electronic device. Terminal device 210-f may be an example of a Wi-Fi smart TV. Terminal device 210-g may be an example of a Wi-Fi compliant smart washing machine. In some implementations, terminal devices 210 may utilize IoT protocols, such as Message Queuing Telemetry Transport (MQTT), Matter, ioFog, or other protocols.
[0087] The cloud edge 215 can use service interconnection (such as Skupper) to support edge-to-edge communication across network nodes (such as Kubernetes clusters). The cloud edge 215 can include local computing components, local storage components, data management components, device management components, preference components, and rule components. The cloud edge 215 can use IoT protocols (such as MQTT) to support zero-touch provisioning for the terminal device 210-c. The cloud edge 215 can also use IoT protocols (such as Matter) to support zero-touch provisioning for the terminal device 210-e. In some implementations, the terminal device 210-a can communicate with the cloud edge 215 via the cloud service 220, which can be hosted by one or more servers, data centers, or computing devices physically or logically separated from the edge computing system 225. The cloud service 220 can provide Internet access to computing devices (such as the terminal devices 210 and the edge nodes 205) in the edge computing system 225. The cloud service 220 can include an Internet cloud component, a playback storage cloud component, a development operations cloud component, a cloud computing component, a cloud storage component, or some combination thereof.
[0088] In some implementations, the terminal device 210-b can be associated with a relatively high QoS standard. The cloud edge 215 (equivalently referred to as the network edge) can process AI- and ML-based traffic classification for the edge node 205-a. The edge node 205-a can be configured with one or more programs, files, or applications (such as Android Package Kit (APK)) that support dynamic edge task orchestration. The edge node 205-a can include one or more of local computing components, local storage components, a subset of data management components, and device management components. Similarly, the edge node 205-b can include one or more of local computing components, local storage components, a subset of data management components, and device management components. The edge computing system 225 can support device edge mobility. For example, the edge node 205-a can initiate a handover process to the edge node 205-b when moving outside the edge computing system 225. The edge node 205-a can use IoT protocols (such as ioFog) to support zero-touch provisioning for the terminal device 210-f. In some implementations, the terminal device 210-f can have a relatively high QoS standard. The edge node 205-b can use IoT protocols (such as ioFog) to support zero-touch provisioning for the terminal device 210-g.
[0089] One or more aspects of the edge computing system 225 can be implemented using a software architecture that includes an application framework, middleware (core services), a platform, and one or more hardware accelerators. The application framework can be implemented using various application support functions, Representational State Transfer (REST) architecture, Hypertext Transfer Protocol (HTTP), Web Real-Time Communication (WebRTC), or any combination thereof. The middleware can include data ingestion and processing services (including AI or ML), systems for monitoring, alerting, and event-trigger management, storage, rules, user profiles and preferences, device provisioning and profile discovery, secure edge-to-edge communication, and other functions. The platform can include an operating system (OS) with role-based access control (RBAC) and other components.
[0090] One or more of the terminal devices 210 can have latency criteria, bandwidth criteria, processing resource criteria, and other weight-related criteria. Reducing the on-board resources and battery size of the terminal device 210 (both of which can contribute to the weight of the terminal device 210) can improve the overall performance and usability of the terminal device 210. The techniques described herein can enable users of the edge computing system 225 to protect their personal privacy, including but not limited to security camera footage and other behavioral habits reflected by the terminal device 210. In some implementations, the edge computing system 225 can be configured to operate without an Internet connection. For example, the cloud edge 215 and the edge nodes 205 can be able to orchestrate and execute processing tasks from the terminal devices 210 without the help of the cloud service 220.
[0091] As described herein, one or more of the terminal devices 210 can discover and use computing resources with the most favorable network characteristics. In some implementations, one or more of the terminal devices 210 can discover the computing resources of the edge nodes 205, announce workloads to the edge nodes 205, and receive workload completion estimates (bids) from one or more of the edge nodes 205. In some other implementations, one or more of the terminal devices 210 can send workload requests to a central resource manager (such as the edge node 205-a). Accordingly, the central resource manager can allocate the workload requests based on node resource availability, workload priority, historical data, QoS criteria, and other criteria. Thus, the devices of the edge computing system 225 can discover and use the "best" available computing resources on the local network at any given time, based on node connectivity, task size and response constraints, computing availability, and the quality of one or more communication links.
[0092] For a device-driven task assignment solution, the terminal device 210 may perform a discovery process to detect, receive an indication of, or otherwise select a central resource manager. In some implementations, for example, the terminal device 210-f may select the edge node 205-a as the central resource manager based on the processing capabilities of the edge node 205-a, the quality of the wireless communication link between the edge node 205-a and the terminal device 210-f, or other factors. In some implementations, the central resource manager selection process may depend on the current or predicted location of the terminal device 210. For example, when the terminal device 210-a is within the edge computing system 225, the terminal device 210-a may select the edge node 205-b as the central resource manager, and if the terminal device 210-a is outside the edge computing system 225, the terminal device 210-a may select a different node (such as the cloud service 220) as the central resource manager. In other words, the terminal device 210-a may select the edge node 205-b based on the proximity (or predicted proximity) between the terminal device 210-a and the edge node 205-a. In some implementations, the central resource manager selection process may change based on whether the terminal device 210 successfully discovers the central resource manager during an initial discovery process. For example, at home, the terminal device 210 may select a central resource manager. When leaving home, the terminal device 210 may select a resource manager located in a car or a smart phone. In this way, the terminal device 210 may ascertain, identify, or otherwise figure out whether a central resource manager exists on the network and may accordingly announce the workload.
[0093] The edge computing system 225 may support a variety of applications, including but not limited to: intelligent network management applied to a mesh network, assignment of the terminal device 210 to an AP (such as the cloud edge 215) according to radio conditions and load balancing criteria, deployment and integration of data from one or more video cameras for home security or health-related applications, support for split rendering of a head-mounted display (such as for an XR device), home energy management system, and management and use of smart home devices. Additionally, in a scenario where there is an ISP failure, the edge computing system 225 may provide an alternative route to the Internet.
[0094] The processing tasks described herein (also referred to as task workloads or data services) can be associated with different workload types. Examples of workload types include aperiodic jobs (where resources are requested asynchronously) and periodic jobs (where resources are requested at regular intervals). Both types of workloads (aperiodic and periodic) can be either real-time or non-real-time, depending on whether they are latency-sensitive or latency-tolerant. Similarly, both workload types can be either bounded or unbounded. A bounded job is a job with a deterministic and finite processing workload. More specifically, the input data for a bounded job can be finite (such as a 15-second video sequence from a security camera), and the output path of a bounded job can be deterministic. In a publish-subscribe model, there may be multiple subscribers to the processing results (such as a notification of detecting an object other than a tree or a shadow in a video sequence). These subscribers (such as a service for detecting humans or differentiating wildlife from domestic animals) can be determined in advance for a bounded job. Some bounded jobs can be real-time critical jobs, while other bounded jobs can be latency-tolerant. Some bounded jobs can be executed as batch jobs, where the job workload is submitted (requested), and the processed results become available at a later time (such as on a first-come, first-served basis). In contrast, an unbounded job can have a continuous or repetitive workload, such as the real-time processing of video footage from a security camera.
[0095] Examples of bounded jobs can include rendering an image according to a graphics engine specification, performing speech recognition on an audio clip, or providing a semantic interpretation of an image. As an example, a bounded workload can include a request to identify an object (such as a cat) within an image or a request to identify all faces within an image database. A periodic job can include, for example, transcoding a video stream, where packets arrive at a set interval (such as every few milliseconds). Critical real-time jobs can include, for example, responding to an outpatient or continuous monitoring event. Non-real-time jobs may have less strict latency thresholds. Therefore, data can be stored and processed accordingly. Examples of non-real-time jobs include initiating a corrective action when a temperature reading measured by a thermostat exceeds a threshold or performing facial recognition on a stored image. Different workload types can have different communication standards and objectives, such as delivering task results with a target latency or outputting a data stream of encoded packets with a target throughput and latency.
[0096] Some workloads can have multi-dimensional task performance specifications (represented as C i 、T i and D i ). For example, a task workload can have a computational constraint to maintain a processing latency percentage less than a threshold (C i ), a communication constraint to maintain a throughput greater than a threshold (T i ), and a constraint to be below a threshold (Di ) percentage of latency. The workload can have multiple specifications (i = 1, 2,... N) corresponding to the desired quality or performance level of the workload. For example, different resolutions can be utilized to process or render frames of XR or video streams.
[0097] In some implementations, the terminal device 210 can be capable of detecting whether there is a central resource manager in the edge computing system 225, ascertaining whether there is a central resource manager in the edge computing system 225, receiving an indication of whether there is a central resource manager in the edge computing system 225, or otherwise determining whether there is a central resource manager in the edge computing system 225, and can accordingly advertise the workload. In a computing environment that supports a distributed edge computing mechanism, the terminal device 210 (such as a set of XR glasses) can send a workload request to a primary edge node (such as cloud edge 215 or edge node 205). In some implementations, the central resource manager for the terminal device 210 may be temporarily inaccessible due to the mobility of the central resource manager or the terminal device 210. If the terminal device 210 is transient (such as mobile, experiencing adverse network conditions, or both), then in some implementations, the terminal device 210 can determine that one of the edge nodes 205 is unavailable and can send the workload to a different edge node 205. In a home that supports an edge computing system including one or more primary edge nodes (such as a distributed edge computing system), for example, the XR glasses can send the workload to the primary node. In a transient scenario, such as when the user is walking, the XR glasses can ascertain, identify, or otherwise figure out that only a smart phone exists and can send the workload to the smart phone. The smart phone can have the computing power to host an application and process the workload received from the XR glasses. Additionally, the central resource manager can disappear or lose an Internet connection (such as during device edge mobility or an Internet service provider (ISP) failure), and the devices of the edge computing system 225 can consider such a possibility during workload scheduling or allocation.
[0098] For a distributed system, the device can consider workload resource criteria (such as graphics or physical engine criteria or neural processor criteria), power availability, and AI- or ML-based resource availability prediction. The resource prediction can also use historical data or trend information associated with user behavior and network performance. The techniques described herein can also support the management of adaptive content with a user experience (such as scheduler lag). For example, when the network QoS is unsatisfactory or when the computing resources available for processing a task are insufficient, the edge node 205 can render or synthesize fewer objects.
[0099] For centralized deployment, the master device edge (such as edge node 205-a) can generate and maintain a mapping of which computing resources are available on different edge nodes 205. A downloadable application on a terminal device 210 (such as a laptop computer) can discover local computing resources and automatically complete device services. The master device edge can also maintain centralized priorities for tasks according to user-specified policies. For example, an application running on a laptop computer associated with a first user can have a higher priority compared to applications and services running on devices associated with a second user. Before assigning a workload to other edge nodes 205, the master device edge can query other edge nodes 205 for real-time status updates of resource availability.
[0100] The master device edge (such as edge node 205-a) can also maintain the consistency of scheduling information and trend data with other computing resources (such as cloud edge 215 and edge node 205-b), which can enable other edge nodes 205 to perform task orchestration in the case where the master device edge is offline. For example, the master device edge can generate a consistency mapping associated with link topology, latency, bandwidth, or other factors. In some implementations, the execution of lower-priority tasks can be preempted for higher-priority tasks. When allocating workloads among other computing resources in the edge computing system 225, the master device edge can also consider device location, device mobility, and link topology. Periodic or aperiodic topology updates can indicate the attachment points and mobility of the terminal devices 210 within the edge computing system 225. In some implementations, when assigning or allocating workloads among the computing resources in the edge computing system 225, the master device edge can consider predicted mobility (such as the expected location of the terminal device 210).
[0101] Figure 3 A diagram showing an example network 300 that supports intelligent cloud edge resource management. The network 300 can implement aspects of the wireless communication system 100 or system 200 or be implemented by aspects of the wireless communication system 100 or system 200. For example, the network 300 includes terminal devices 310, each of which can be an example of one or more aspects of the terminal device 210 as described herein (including reference Figure 2 )). The network 300 can also include edge nodes 305, each of which can be an example of one or more aspects of the edge node 205 as described herein (including reference Figure 2 ). One or more of the edge nodes 305 can be partitioned (logically, physically, or otherwise) into edge clusters 315. In the network 300, the edge nodes 305 can receive and process workloads from the terminal devices 310 according to a dynamic edge-based task assignment scheme.
[0102] As described herein, processing tasks from a terminal device 310 (such as terminal device 310-c) can be assigned and dispatched to an edge node 305 according to a centralized task assignment scheme or an opportunistic device-driven task assignment scheme. In a centralized task assignment scheme, an edge node 305-b (a first edge node, such as an AP) can dispatch a processing task received from a terminal device 310-b (such as a pair of XR glasses) to an edge node 305-c (a second edge node, such as a personal computer). In other words, the terminal device 310-b can send a request 330 for a processing task to the edge node 305-b, and the edge node 305-b can dispatch the processing task to the edge node 305-c according to the information transmitted or indicated by the request 330.
[0103] For example, the request 330 can indicate one or more processing characteristics associated with the processing task (such as latency per transaction, frames rendered per second, resolution, rendering engine standard). Thus, the edge node 305-b can dispatch the processing task to the edge node 305-c according to the current resource availability of the edge node 305-c, or by querying one or both of the edge node 305-a and the edge node 305-c. For example, the edge node 305-b can send a query 335 to the edge node 305-c, and can send a task dispatch 355 to the edge node 305-c according to the estimated completion time 340 provided by the edge node 305-c. In other words, in an implementation where the edge node 305-b queries the edge node 305-a and the edge node 305-c (such as sending a message requesting information related to the processing availability of the edge node 305-a and the edge node 305-c), the edge node 305-a and the edge node 305-c can send corresponding indications of the estimated completion time to the edge node 305-b, and the edge node 305-b can select the edge node 305-c according to the estimated completion time 340 provided by the edge node 305-c being less than the estimated completion time provided by the edge node 305-a.
[0104] In some implementations, the edge node 305-b may instruct the edge node 305-c to allocate resources for a processing task according to the processing characteristics of the processing task. The edge node 305-c may allocate the requested resources and send a confirmation or acknowledgement to the edge node 305-b. Subsequently, the edge node 305-b (also referred to as an orchestrator or resource manager) may relay the identifier of the edge node 305-c (also referred to as a computing entity or edge computing resource) to the terminal device 310-b, such that the terminal device 310-b can use the edge node 305-c for distributed processing. For example, the terminal device 310-b may send task inputs (such as vector-based data) to the edge node 305-c, and the edge node 305-c may return task information 360 (such as a rendered bitmap) to the terminal device 310-b. In some implementations, the terminal device 310-b (an application that supports distributed processing for accelerating workload execution) may request up to a threshold number of computing resources and may be granted fewer computing resources than the requested amount (such as one computing resource).
[0105] As described herein, computing resources (also referred to as computing resources or processing resources) are computable capabilities that can be requested, allocated, and consumed for computing activities. Some examples of computing resources include central processing unit (CPU) resources, graphics processing unit (GPU) resources, neural processing unit (NPU) resources, random access memory (RAM), read-only memory (ROM), input / output (I / O) resources, and network addressable storage (NAS) resources. Some computing resources (such as CPUs, GPUs, and NPUs) can be measured in cores or millicores. Other computing resources, such as RAM and ROM, can be measured in bytes, kilobytes (kB), megabytes (MB), or gigabytes (GB), etc. An application running on a single physical device may be restricted to using the computing resources of that device. However, a distributed application (such as a program that executes across multiple devices) can access processing resources from different physical devices simultaneously.
[0106] Computing resources can be associated with specific devices and device types. Additionally, in some implementations, a device can host multiple instances of computing resources. For example, a server blade in an autonomous vehicle can have software that orchestrates workloads across different computing engines such as NPUs, GPUs, or CPUs. As disclosed herein, allocating computing resources can refer to the ability of a device (such as a terminal device or an edge node) to address and use a single computing resource (such as a CPU core or kB of RAM) on a per-device basis. This does not exclude the device from using other resources deployed at the edge, as long as those resources are uniquely accessible. In other words, the edge-based system architectures disclosed herein can leverage cloud-based computing schemes and resources when feasible. For example, the resource management schemes described herein can utilize local edge node expansion of cloud-based platforms with a distributed architecture. Computing resources can be multi-dimensional and can be used for various operations such as processing or transcoding. Thus, the requested computing resources can be a combination of various types of resources, where each type of resource can be measured in units such as cores, bytes, Hertz, or other suitable metrics. Generally, the unit of the requested computing resources can be a function of the actual resources and can vary depending on the workload type. The computing resources requested or allocated for processing a workload can be distributed across multiple edge nodes 305 or terminal devices 310.
[0107] In some implementations, such as for an Infrastructure as a Service (IaaS) model, computing resources can be quantified using metrics other than cores, bytes, and Hertz. For example, a computing resource can advertise how long it will take to decrypt a given payload using a specific decryption protocol, or how long it will take to decompress a given video resolution using a specific decompression standard. The computing resource can also indicate, for example, that it can decrypt up to 1k high definition (HD) videos (but no higher). In some implementations, the computing resource can also publish the security and virtualization aspects supported by the computing resource. For example, a laptop may not support virtualization or containerization, but the laptop can have memory access control to ensure that no other services running on the laptop (such as a debugger) can access the memory space allocated for offloaded tasks. Although computing resources can schedule processing tasks based on an estimated completion time, in some implementations, the computing resource can send an indication of the actual completion time for processing a task (to a predictive scheduler) and can update subsequent task completion estimates accordingly.
[0108] In Figure 3In the example, each edge node in the edge nodes 305 can use the device profile information associated with the edge node 305 and the corresponding connection QoS parameters (such as latency, effective bandwidth, or beam directivity) to estimate the quality of the communication link between the edge node 305 and the terminal device 310. If the communication link includes multiple hops, the edge node 305 can consider self-competition (for sending and receiving). The edge node 305 and the terminal device 310 can exchange network link information 325 indicating the estimated quality of the communication link along with other relevant information. For example, the network link information 325 can include the signal-to-interference-and-noise ratio (SINR), channel quality indicator (CQI), channel state information (CSI), reference signal received power (RSRP), or received signal strength indicator (RSSI), as well as other metrics.
[0109] Therefore, each edge node in the edge nodes 305 can receive, analyze, or otherwise determine a computing task from a corresponding service or application (such as 30Hz, HD image object detection), and return an estimate of how long the task will take to complete based on a specified set of parameters (such as payload size, quality, or performance). In some implementations, the payload size of the processing task can be different from the payload size associated with the result of the processing task (such as the task information 360). In some implementations, the processing task can be assigned or allocated independently of the processing task request size. In some implementations, the processing task can be assigned based on the battery level of the edge node 305 or whether the edge node 305 is connected to a power source.
[0110] The payload (also referred to as the task workload) can be defined for an uninterruptible duration (such as a set of video frames between I-frames). The AI-based predictive resource manager can improve the accuracy of resource scheduling by supporting relatively long interval trends, which can improve QoS as well as user or device task prediction. Some device applications can have permission to specific computing application programming interfaces (APIs) that are not accessible to other applications. The resulting GPU access provided by the API can be considered in the estimated completion time 340 calculated by the edge node 305-c.
[0111] Some edge nodes 305 can store non-real-time device data to be processed at a later time. The primary edge node (such as the edge node 305-b) can assign computing tasks to service nodes (such as the edge node 305-a) according to various criteria, including but not limited to the communication link quality metrics indicated by the network link information 325 (eliminating communication links with unsatisfactory link conditions), user-specified task priorities, whether the task uses historical data access for trend analysis applications, whether other edge nodes 305 have updated consistency information (such as historical or recent data), or other similar factors.
[0112] In some implementations, when starting or completing a new processing task, the master device edge (such as edge node 305-b) may update the master schedule and send the updated master schedule to other device edges (such as edge node 305-a and edge node 305-c). When allocating workloads among edge nodes 305, the master device edge may also consider the relative mobility of the terminal devices 310 (such as the predicted movement path of terminal device 310-a). In some implementations, a service node for the terminal device 310 may provide consistency information 365 (such as relevant trend data or an updated model) to other edge nodes 305 to maintain consistency for subsequent task scheduling operations, which can promote future scheduling flexibility. Application payloads may be scheduled across edge nodes 305 (as opposed to individual threads). Thread-level scheduling (if supported) may be performed within the respective processing units of the edge nodes 305.
[0113] In some implementations, the terminal device 310-a may indicate a preference for manually scheduling device payload tasks. To support this functionality, each of the edge nodes 305 that receives a device payload task request from the terminal device 310-a may use device profile information and the corresponding connection QoS parameters (such as latency and effective bandwidth) to estimate an approximate payload completion time. Thus, each edge node 305 may identify, select, ascertain, or determine a computational task from a corresponding service or application (such as 30Hz, HD image object detection) and return an estimated completion time 345 of the task under specified conditions (such as payload, quality, or performance). To support this functionality, a payload may be bounded for an uninterruptible duration (such as a set of video frames between I-frames).
[0114] Thus, the terminal device 310-a may select an edge node (such as edge node 305-a) to process the task by sending a task assignment 350 to the selected edge node. In some implementations, the computing device selected by the terminal device 310-a may avoid using the task assignment to update the master schedule, thus preventing the master device edge (such as edge node 305-b) from reassigning the processing task to another computing device. For subsequent service requests, the service node may consider the manual task assignment from the terminal device 310-a when estimating the completion of the computing workload. The service node may also provide relevant trend data and updated data models to other edge nodes 305 to maintain consistency for subsequent scheduling operations. If the terminal device 310-a is mobile, the service node (such as edge node 305-a) may provide link topology information (such as updated link topology information) and consistency data to other edge nodes 305.
[0115] Figure 4A and4B FIGURES showing an example network 400 that supports intelligent cloud edge resource management and an example network 401. Network 400 and network 401 may implement aspects of or be implemented by aspects of wireless communication system 100, system 200, or network 300. For example, network 400 and network 401 include terminal devices 410, each of which may be an example of one or more aspects of a terminal device 310 as described herein (including with reference to Figure 3 ). Network 400 and network 401 also include edge nodes 405, each of which may be an example of one or more aspects of an edge node 305 as described herein (including with reference to Figure 3 ). In network 400, if edge node 405-b goes offline or becomes disconnected from other edge nodes 405, edge nodes 405-a and 405-c may use the consistency information provided by edge node 405-b (the primary edge node). In network 401, a transient edge node (such as edge node 405-f) may go offline or become disconnected from edge nodes 405-d and 405-e.
[0116] As described herein, an edge computing network may include edge nodes 405 (such as an AP with AI- and ML-based traffic classification) and terminal devices 410 (such as a laptop or a phone) with enhanced computing capabilities. Compared to terminal devices 410, edge nodes 405 may have relatively higher computing capabilities for AI and ML. The techniques described herein support task execution at the terminal device level and the edge node level. In some implementations, a request or assignment protocol may be used to handle task allocation. However, in some other deployments, task coordination may be facilitated by other means, such as a semi-static global network assignment scheme in which workload assignments are periodically updated and sent to all edge nodes 405 (such as via a broadcast message). Additionally or alternatively, workload allocation may be orchestrated opportunistically by terminal devices 410 locally (without global coordination).
[0117] Aspects of the present disclosure can enable a device (such as the terminal device 410 or the edge node 405) to manage topological changes that occur due to changes in node count, aggregation processing capabilities, connectivity metrics, node battery capacity, workload demands, and other factors. The techniques described herein can be applied to wired or wireless networks with varying link connectivity dynamics and RF settings. For example, the distributed resource management scheme described herein can be applied to heterogeneous networks having both wired and wireless links. The techniques described can support the joint resource utilization of aggregated processing resources in a network having a degree of wireless connectivity between computing devices. In some implementations, processing tasks from the terminal device 410 can be allocated among the edge nodes 405 based on trend information, network link information (such as link topology information), consistency information, scheduling information, or other relevant information. As described herein, the link topology can refer to a binary indicator of whether a connection exists between two devices in an edge computing system, can refer to a node count (such as the number of connections), or can refer to the overall connection scenario between a device and one or more other devices.
[0118] To obtain and use dynamic topology information, the terminal device 410 and the edge nodes 405 can monitor various link metrics, generate (and send or receive) topology information (such as the latest topology information, which can be referred to as updated topology information) and use the topology information for the edge computing resource allocation process. In some implementations, the link topology can account for the dynamics of joint resource optimization. The link topology information can include, for example, predicted topology changes to the wireless communication links between the terminal device 410 and the edge nodes 405. For example, the edge node 405-e (the primary edge node) can predict that the edge node 405-f (which can be an example of a transient edge node such as a vehicle) will become unavailable within the next five minutes based on past user behavior (such as the predicted, past, or typical departure time of a vehicle from a home-based system). In some implementations, trend information can be used for device workload execution. For example, the edge node 405-c can determine that a user is sleeping at a particular time, which can enable the edge node 405-c to make more informed scheduling decisions related to the processing availability of the user's device (such as a cellular phone or laptop computer, which may have relatively more available processing resources when not in use by the user). In some implementations, the edge node 405-e can use consistency information to assign and allocate tasks among the computing resources in the edge cluster 415-b. The edge nodes 405 can also use updated AI models and trend information to ensure that processing tasks are correctly executed.
[0119] The scheduling information updates can be selectively assigned to the edge node 405, while the updated trend information can be provided to the edge node 405, the terminal device 410, and all other computing devices to which the task workload is assigned (such as other cloud edges or device edges in the edge cluster 415-a). For example, if data from the terminal device 410-d (thermostat) is processed by the edge node 405-d at a first time and by the edge node 405-e at a second time, the edge node 405-e can use the previous federated model update from the edge node 405-d to continuously and accurately process data from the terminal device 410-d. In some implementations, if the edge node 405-f (which can be an example of a transient edge node) disconnects and comes back online, the edge node 405-e (which can be an example of a primary edge node) can provide the edge node 405-f with updated scheduling information and device service data that has changed since the edge node 405-f went offline. The edge node 405-f can use this information to maintain data consistency.
[0120] In some implementations, the edge node 405-a (first device edge) can query other edge nodes 405 for information related to processing tasks from the terminal device 410 (such as the terminal device 410-a or the terminal device 410-b). Other edge nodes 405 (such as the edge node 405-c) can provide the edge node 405-a with an estimate of how long the task will take to complete under specified conditions (such as latency, bandwidth, or resolution). The edge node 405-a can use this information to assign workloads to itself or to one or more other edge nodes 405. In some implementations, the edge node 405-c can execute processing tasks from the terminal device 410-c without reserving a large amount of computing resources for the processing tasks. Instead, the edge node 405-b (primary edge node) can control which workloads are processed by each of the edge nodes 405. Thus, the edge nodes 405 can operate as a distributed processing network. In some implementations, the processing tasks orchestrated by the edge nodes 405 can include computational or I / O tasks, such as tasks involving NAS.
[0121] In Figure 4AIn the example, if edge node 405-b goes offline due to device mobility or variable network conditions, edge node 405-a can be used as the new primary edge node and manage the task scheduling operation until edge node 405-b comes back online or until a new primary edge node with more favorable conditions is identified. A scoring algorithm can be used to select the new primary edge node, which depends on which of the remaining edge nodes 405 have the most favorable QoS across the terminal devices 410 over a period of time. The new primary edge node can be assigned in various ways, including but not limited to user-defined order or preference. In some implementations, transient edge nodes may not be available for primary edge node assignment. In other words, the terminal devices 410 and the edge nodes 405 can support a criterion according to which transient edge nodes may not be selected or assigned as the primary edge node. For example, if no primary edge node is assigned, the terminal device 410 can use a device-driven assignment scheme for subsequent task allocation (as described in reference Figure 6 ). Other scheduling processes can continue as scheduled.
[0122] In some implementations, if edge node 405-b (the previous primary edge node) has unfinished tasks, the new primary edge node (such as edge node 405-a) can reschedule the unfinished tasks to the remaining edge nodes (such as edge node 405-c). If no remaining edge node 405 has consistent device data (such as models or historical data), the operation can continue as scheduled, but the results may be different from the previous task processing results. In some implementations, real-time tasks that have exceeded the scheduling assignment criteria can be discarded. If edge node 405-b (the original primary edge node) comes back online and one or more of the terminal devices 410 in the terminal device 410 select edge node 405-b as the primary (main) edge node, edge node 405-a can provide updated consistent data to edge node 405-b. Otherwise, a scoring algorithm can be used to select an appropriate primary edge node.
[0123] In Figure 4B the example, if edge node 405-f (the transient edge node) goes offline, edge node 405-e (the primary edge node) can remove edge node 405-f from the primary scheduling list. If edge node 405-f has unfinished tasks from one or more of terminal device 410-d, terminal device 410-e, or terminal device 410-f, edge node 405-e can reschedule these tasks to other edge nodes (such as to itself or edge node 405-d). Otherwise (if edge node 405-f does not have unresolved or unfinished tasks), edge node 405-e can remove edge node 405-f from the scheduling list without reassigning the tasks to other edge nodes 405.
[0124] If edge node 405-f returns to online, edge node 405-f can be updated before edge node 405-e adds edge node 405-f back to the main scheduling list. The consistency data of edge node 405-f can be updated for all the terminal devices 410 in the network, such that edge node 405-f can be included for scheduling subsequent payload tasks from terminal devices 410. In some implementations, the applications and services of edge node 405-f can be updated, and the security posture of edge node 405-f can be verified to ensure that edge node 405-f is up-to-date. Once edge node 405-f is updated, edge node 405-e can add edge node 405-f back to the main scheduling list. If edge node 405-e has a backlog of task workloads from terminal devices 410, edge node 405-e can reassign one or more of the tasks to edge node 405-f. Additionally or alternatively, edge node 405-e can assign a new task workload to edge node 405-f.
[0125] Figure 5 An example process flow 500 that supports intelligent cloud edge resource management is shown. Process flow 500 can implement aspects of or be implemented by aspects of wireless communication system 100, system 200, network 300, network 400, or network 401. For example, process flow 500 includes terminal device 510, which can be an example of one or more aspects of terminal device 410 as described herein (including references Figure 4A and 4B ). Process flow 500 also includes edge nodes 505, each of which can be an example of one or more aspects of edge node 405 as described herein (including references Figure 4A and 4B ). In the following description of process flow 500, operations between terminal device 510 and edge nodes 505 can be added, omitted, or performed in a different order (relative to the order shown).
[0126] Edge node 505 can be an example of a computing device capable of executing processing workloads from terminal device 510. In some implementations, edge nodes 505 can be separated (such as physically, logically, or by other means). Alternatively, edge nodes 505 can be co-located or connected via one or more wired or wireless communication links. In some implementations, edge nodes 505 can be examples of APs associated with the same or different AP models. For example, edge nodes 505 can be associated with a homogeneous AP model or a heterogeneous AP model.
[0127] At 515, the terminal device 510 may exchange (such as send or receive, or both) network link information with the edge node 505-a via a first wireless communication link between the terminal device 510 and the edge node 505-a. Similarly, at 520, the terminal device 510 may exchange (such as send or receive, or both) network link information with the edge node 505-b via a second wireless communication link between the terminal device 510 and the edge node 505-b. In some implementations, if, for example, topology information is available at the edge node 505-a (such as an orchestrator), the terminal device 510 may not need to send network link information to the edge node 505-b. The network link information may indicate predicted topology changes for one or both of the first wireless communication link or the second wireless communication link, quality metrics associated with one or both of the first wireless communication link or the second wireless communication link, mobility information associated with one or more of the edge node 505 or the terminal device 510, battery state information associated with one or more of the edge node 505 or the terminal device 510, or the aggregated processing capabilities of the edge node 505, and other examples.
[0128] At 525, the terminal device 510 may send a request for a processing task to at least the edge node 505-a. In some implementations, the terminal device 510 may send the request only to the edge node 505-a, as Figure 5 depicted in the example of. In some other implementations, the terminal device 510 may send the request to the edge node 505-a and at least one other edge node (such as the edge node 505-b). In Figure 5 the example of, the edge node 505-a may be an example of a primary edge node that assigns (allocates) a processing task to other edge nodes (such as the edge node 505-b) based on factors such as resource availability, current workload, and processing capabilities. Additionally or alternatively, the edge node 505-a may be an example of a central resource manager that manages the assignment and execution of processing tasks for the terminal device 510. In some implementations, the terminal device 510 may select the edge node 505-a as the central resource manager for the terminal device 510 based on, for example, the proximity between the terminal device 510 and the edge node 505-a, the predicted location of the terminal device 510, the quality of the first wireless communication link between the terminal device 510 and the edge node 505-a, the resource availability of the edge node 505-a, or one or more other parameters indicated by or derived from the network link information.
[0129] At 530, the edge node 505-a may send an indication of one or more parameters associated with a processing task to the edge node 505-b. The one or more parameters may include, for example, the payload size associated with the processing task (such as the amount of source data to be analyzed), a latency threshold for the processing task, a performance criterion for the processing task (such as the desired resolution or throughput), the workload type associated with the processing task (such as a bounded job type, a periodic job type, a critical real-time job type, or a non-real-time job type), the priority of the processing task, or other relevant information. The edge node 505-a may also provide information associated with the terminal device 510 to the edge node 505-b, for example, to facilitate subsequent communication between the terminal device 510 and the edge node 505-b. Additionally or alternatively, the edge node 505-a may provide consistency information (such as historical data, network conditions, node availability, activity trends) indicated by or derived from network link information to the edge node 505-b.
[0130] At 535, the edge node 505-b may calculate an estimated completion time of the processing task based on the one or more parameters indicated by the edge node 505-a. The edge node 505-b may calculate the estimated completion time of the processing task based on, for example, the current or predicted availability of computing resources associated with the edge node 505-b, the current or predicted location of the edge node 505-b, the current or predicted location of the terminal device 510, the current or predicted quality of the second communication link between the terminal device 510 and the edge node 505-b, the workload type associated with the processing task, the payload size of the processing task, the priority of the processing task, the relative priority of other processing tasks assigned to the edge node 505-b, or other parameters associated with the processing task.
[0131] At 540, the edge node 505-a can select the edge node 505-b to handle the processing task according to the estimated completion time indicated by the edge node 505-b. In some implementations, the edge node 505-a can assign the processing task to the edge node 505-b according to the current or predicted network conditions, the current or predicted workload of the edge node 505-b (or other edge nodes in the edge computing system), the current or predicted topology of the second wireless communication link between the terminal device 510 and the edge node 505-b, or other criteria. In some implementations (such as for XR applications), the edge node 505-a can assign the first part of the processing task to the edge node 505-b and assign the second part of the processing task to a different edge node. In this way, the processing task can be decomposed and assigned to more than one edge node. At 545, the edge node 505-a can send an indication of the assignment of the processing task to the edge node 505-b. In some implementations, the edge node 505-a can provide updated scheduling information reflecting the assignment of the processing task to the edge node 505-b (and other edge nodes in the edge computing system).
[0132] At 550, the edge node 505-a can send an acknowledgement or confirmation of the assignment of the processing task to the terminal device 510. For example, the edge node 505-a can send an indication of the identifier of the edge node 505-b, an indication that the processing task has been assigned to the edge node 505-b, an indication of the estimated task completion time provided by the edge node 505-b, or other information related to the assignment of the processing task. In some implementations, the terminal device 510 can establish a connection with the edge node 505-b according to the information provided by the edge node 505-a (so that the terminal device 510 can receive the result of the processing task from the edge node 505-b). For example, the terminal device 510 can perform a discovery process to identify and establish a connection with the edge node 505-b using the identifier of the edge node 505-b.
[0133] At 555, the edge node 505-b can perform a processing task based on the parameters and conditions specified in the request. For example, the edge node 505-b can perform a processing task based on a latency target associated with the processing task, the relative priority of the processing task, the desired resolution of the processing task, or other similar criteria. The edge node 505-b can perform the processing task by generating, synthesizing, manipulating, or otherwise analyzing the source data from the terminal device 510. In some implementations, the edge node 505-b can receive the source data from the terminal device 510 via a second wireless communication link between the terminal device 510 and the edge node 505-b. In some other implementations, the edge node 505-b can receive the source data via the edge node 505-a.
[0134] At 560, the edge node 505-b can send the result of the processing task to the terminal device 510. In some examples, the result of the processing task can include output data (such as a rendered video frame) or an analysis of the source data provided by the terminal device 510 (such as a speech recognition analysis of audio data recorded by the terminal device 510). Additionally or alternatively, the result of the processing task can include a confirmation or acknowledgement of the completion of the processing task. For example, the edge node 505-b can render and upload one or more images captured by the terminal device 510 to a cloud server and can send a notification to the terminal device 510 when the upload is complete. In some implementations, the result of the processing task can be sent by the edge node 505-a to the terminal device 510.
[0135] Figure 6 An example process flow 600 that supports intelligent cloud edge resource management is shown. The process flow 600 can implement one or more aspects of the wireless communication system 100, system 200, network 300, network 400, network 401, or process flow 500 or can be implemented by one or more aspects of the wireless communication system 100, system 200, network 300, network 400, network 401, or process flow 500. For example, the process flow 600 includes a terminal device 610, which can be an example of one or more aspects of the terminal device 510 as described herein (including reference Figure 5 ). The process flow 600 also includes edge nodes 605, each of which can be an example of one or more aspects of the edge node 505 as described herein (including reference Figure 5 ). In the following description of the process flow 600, operations between the terminal device 610 and the edge nodes 605 can be added, omitted, or performed in a different order (relative to the order shown).
[0136] At 615, the terminal device 610 may communicate network link information (which may equivalently be referred to as link topology information) with the edge node 605-a, where communicating with the edge node 605-a may include sending to or receiving from the edge node 605-a. Similarly, at 620, the terminal device 610 may communicate network link information with the edge node 605-b. The link information may indicate the topology (such as an updated topology) of one or more wireless communication links between the terminal device 610 and the edge node 605, workload information associated with the edge node 605, the battery level of the edge node 605, the aggregated processing capacity of the edge node 605, quality metrics associated with one or more wireless communication links between the terminal device 610 and the edge node 605, or mobility information associated with one or both of the terminal device 610 or the edge node 605.
[0137] At 625, the terminal device 610 may send a request for a processing task to the edge node 605-a via a first wireless communication link between the terminal device 610 and the edge node 605-a. Similarly, at 630, the terminal device 610 may send a request for a processing task to the edge node 605-b via a second wireless communication link between the terminal device 610 and the edge node 605-b. The request may indicate one or more parameters associated with the processing task. For example, the request may indicate the network QoS associated with the processing task, the payload size of the processing task (such as the amount of source data associated with the processing task), the workload type associated with the processing task (such as a bounded job type, a periodic job type, a critical real-time job type, or a non-real-time job type), and other relevant information.
[0138] At 635, the edge node 605-a may send an indication of the expected or estimated completion time for the processing task to the terminal device 610 via the first wireless communication link between the terminal device 610 and the edge node 605-a. Similarly, at 640, the edge node 605-b may send an indication of the expected or estimated completion time for the processing task to the terminal device 610 via the second wireless communication link between the terminal device 610 and the edge node 605-b. The edge node 605 may estimate the completion time for the processing task based on the current or predicted resource availability of the edge node 605, the current or predicted location of the terminal device 610, the current or predicted quality of the first and second communication links, the network link information, one or more parameters associated with the processing task, or any combination thereof.
[0139] At 645, the terminal device 610 may perform an edge node selection process based on the expected completion time provided by the edge node 605. For example, if the expected task completion time for the edge node 605-a is lower than the expected task completion time for the edge node 605-b, then at 650, the terminal device 610 may assign the processing task to the edge node 605-a. Alternatively, if the expected task completion time for the edge node 605-b is lower than the expected task completion time for the edge node 605-a, then the terminal device 610 may assign the processing task to the edge node 605-b. In some implementations, when assigning a processing task to one of the edge nodes 605, the terminal device 610 may consider other information (such as the distance or average signal quality of each edge node 605).
[0140] In addition to or as an alternative to the expected task completion time, the terminal device 610 may consider other factors. For example, the terminal device 610 may determine the highest security path or the lowest energy path for processing the task workload and may assign the processing task accordingly. Similarly, the terminal device 610 may determine that the processing task involves I / O resources (such as storage) that are faster than the computing resources and may assign the processing task accordingly. Some processing task workloads may be split between the edge (such as the edge node 605) and the cloud (such as the cloud edge 215 described herein (including reference to Figure 2 ). For example, face detection may be performed at the edge, while face recognition may be performed in the cloud. In some implementations, if, for example, the terminal device is a mission-critical device, then the terminal device 610 may autonomously manage the task scheduling operation. In such implementations, the terminal device 610 may have a dedicated computing node with guaranteed availability. The dedicated computing node may pause or discard other ongoing task workloads to execute the task from the terminal device 610, or may proactively allocate computing resources for the processing task if the execution time of the processing task has been previously scheduled (such as a periodic task that occurs every 15 minutes).
[0141] If the terminal device 610 assigns the processing task to the edge node 605-a (as Figure 6As shown in the example of , in some implementations, the terminal device 610 and the edge node 605-a may establish a task execution session at 655. At 660, the edge node 605-a may execute a processing task according to the task parameters provided by the terminal device 610. In some implementations, the edge node 605-a may use the source data from the terminal device 610 to execute the processing task. For example, the edge node 605-a may render a set of video frames provided by the terminal device 610, render an image captured by the terminal device 610, perform speech recognition on the audio data recorded by the terminal device 610, or provide a semantic interpretation of an image received from the terminal device 610, and other examples. When calculating the workload completion estimate for any subsequent requests (from the terminal device 610 or other edge devices), the edge node 605-a may consider the resource utilization associated with the processing task.
[0142] At 665, the edge node 605-a may return the result of the processing task to the terminal device 610 according to the task parameters specified by the terminal device 610. For example, the edge node 605-a may perform facial recognition analysis on an image captured by the terminal device 610 and return the result of the facial recognition analysis to the terminal device 610 via the first communication link between the terminal device 610 and the edge node 605-a. Additionally or alternatively, the edge node 605-a may output the result of the processing task to another entity in the edge computing system. For example, the edge node 605-a may render one or more video frames according to one or more resolution, latency, and throughput parameters indicated by the terminal device 610, and may output the rendered video frames to a cloud device, such as the cloud service 220 described in Figure 2 reference. In some implementations, instead of returning the result to the terminal device 610, the edge node 605-a may send an actuation command back to the terminal device 610 or another device in the system. For example, if the terminal device 610 is a smart thermostat, the edge node 605-a may send a command to raise or lower the temperature of the smart thermostat.
[0143] As described herein, the result of the processing task may include any data generated, synthesized, or derived based on the input data provided by the terminal device 610. For example, the result of the processing task may include a set of rendered frames (for virtual reality (VR) or XR processing tasks), a calculated numerical result, one or more data packets, or other information generated during the processing task. Additionally or alternatively, the result of the processing task may include an acknowledgement, confirmation, or notification from one or both of the edge nodes 605. For example, the terminal device 610 may receive an indication (from the edge node 605-a) that the processing task has been assigned to the edge node 605-b.
[0144] Figure 7 FIG. 700 is a block diagram showing an example device 705 that supports intelligent cloud edge resource management. Device 705 may include components for two-way voice and data communication, including components for sending and receiving communications, such as communication manager 720, transceiver 710, antenna 715, memory 725, code 730, and processor 735. These components may communicate electronically or otherwise be coupled (such as operably, communicatively, functionally, electronically, electrically) via one or more buses, such as bus 740.
[0145] Transceiver 710 may support two-way communication via a wired link, a wireless link, or both as described herein. In some implementations, transceiver 710 may include a wired transceiver and may communicate bidirectionally with another wired transceiver. Additionally or alternatively, in some implementations, transceiver 710 may include a wireless transceiver and may communicate bidirectionally with another wireless transceiver. In some implementations, device 705 may include one or more antennas 715 capable of sending or receiving wireless transmissions (such as concurrently). Transceiver 710 may also include a modem to modulate signals, provide modulated signals for transmission (such as by one or more antennas 715, by a wired transmitter), receive modulated signals (such as from one or more antennas 715, from a wired receiver), and demodulate signals. In some implementations, transceiver 710 may include one or more interfaces, such as one or more interfaces coupled to one or more antennas 715 configured to support various receiving or acquisition operations, or one or more interfaces coupled to one or more antennas 715 configured to support various sending or output operations, or a combination thereof.
[0146] In some implementations, transceiver 710 may include or be configured to be coupled to one or more processors or memory components operable to perform or support operations based on received or acquired information or signals, or generate information or other signals for transmission or other output, or any combination thereof. In some implementations, transceiver 710, or transceiver 710 and one or more antennas 715, or transceiver 710 and one or more antennas 715 and one or more processors or memory components (such as processor 735, or memory 725, or both) may be included in a chip or chip component installed in device 705. In some implementations, the transceiver may be operable to support communication via one or more communication links, such as communication link 125, backhaul communication link 120, midhaul communication link 162, fronthaul communication link 168.
[0147] The memory 725 may include RAM and ROM. The memory 725 may store computer-readable, computer-executable code 730 including instructions that, when executed by the processor 735, cause the device 705 to perform the various functions described herein. The code 730 may be stored in a non-transitory computer-readable medium (such as system memory or another type of memory). In some implementations, the code 730 may not be directly executed by the processor 735, but may cause a computer (such as when compiled and executed) to perform the functions described herein. In some implementations, among other things, the memory 725 may contain a basic input / output system (BIOS) that may control basic hardware or software operations, such as interactions with peripheral components or devices.
[0148] The processor 735 may include intelligent hardware devices (such as a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a CPU, a GPU, a field-programmable gate array (FPGA), a microcontroller, a programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof). In some implementations, the processor 735 may be configured to operate a memory array using a memory controller. In some other implementations, the memory controller may be integrated into the processor 735. The processor 735 may be configured to execute computer-readable instructions stored in a memory (such as the memory 725) to cause the device 705 to perform various functions (such as functions or tasks supporting intelligent cloud edge resource management). For example, the device 705 or components of the device 705 may include the processor 735 and the memory 725 coupled to the processor 735, and the processor 735 and the memory 725 are configured to perform the various functions described herein. The processor 735 may be an example of a cloud computing platform (such as one or more physical nodes and supporting software, such as an operating system, a virtual machine, or a container instance) that can host functions (such as by executing the code 730) to perform the functions of the device 705. The processor 735 may be any one or more suitable processors capable of executing scripts or instructions of one or more software programs stored in the device 705 (such as within the memory 725). In some implementations, the processor 735 may be a component of a processing system.
[0149] A processing system can generally refer to a system or a series of machines or components that receive an input and process the input to produce a set of outputs, which can be passed to other systems or components such as device 705. For example, the processing system of device 705 can refer to a system that includes various other components or sub-components of device 705, such as processor 735, or transceiver 710, or communication manager 720, or a combination of other components or components of device 705. The processing system of device 705 can interface with other components of device 705 and can process information (such as an input or a signal) received from other components or output information to other components.
[0150] For example, a chip or a modem of device 705 can include a processing system and one or more interfaces for outputting information or obtaining information or both. The one or more interfaces can be implemented as or otherwise include a first interface configured to output information and a second interface configured to obtain information, or the same interface configured to output information and obtain information, and other implementations. In some implementations, the one or more interfaces can refer to an interface between the processing system of the chip or the modem and a transmitter, such that device 705 can send information output from the chip or the modem. Additionally or alternatively, in some implementations, the one or more interfaces can refer to an interface between the processing system of the chip or the modem and a receiver, such that device 705 can obtain information or signal input, and the information can be passed to the processing system. Those skilled in the art will readily recognize that the first interface can also obtain information or signal input, and the second interface can also output information or signal output.
[0151] In some implementations, bus 740 can support communication within a protocol layer of a protocol stack (such as within the protocol layer of a protocol stack). In some implementations, bus 740 can support communication associated with a logical channel of a protocol stack (such as between protocol layers of a protocol stack), which can include communication executed within components of device 705 or communication between different components of device 705 that can be co-located or located at different positions (such as where device 705 can refer to a system in which one or more of communication manager 720, transceiver 710, memory 725, code 730, and processor 735 can be located in one component or divided among different components).
[0152] In some implementations, the communication manager 720 may manage aspects of communication with the core network 130 (such as via one or more wired or wireless backhaul links). For example, the communication manager 720 may manage the transmission of data communication for client devices (such as one or more UEs 115). In some implementations, the communication manager 720 may manage communication with other network entities 105 and may include a controller or scheduler for collaboratively controlling communication with the UE 115 with other network entities 105. In some implementations, the communication manager 720 may support the X2 interface within the LTE / LTE-A wireless communication network technology to provide communication between network entities 105.
[0153] The communication manager 720 (which may act as a controller or orchestrator) may control or otherwise manage a set of processing resources associated with the device 705. In some implementations, the communication manager 720 may be restricted to managing processing resources that are locally accessible or integrated with the device 705. In some other implementations, the communication manager 720 is capable and configured to manage processing resources associated with other devices visible to the device 705 (such as communication devices connected to the device 705 via one or more wireless communication links). Additionally or alternatively, the communication manager 720 is capable and configured to manage any number of processing resources within the local network domain of the device 705. In such an implementation, the device 705 may act as a central hub device for coordinating and orchestrating workload assignment between different processing elements distributed across the local network.
[0154] In some implementations, the local network domain of the device 705 may be subdivided such that each subdomain is managed by an instance (such as an instantiation) of the device 705. Thus, the aggregated local network may operate as multiple independent sub-networks, where each instance of the device 705 coordinates the workload between other nodes within a given subdomain. In some implementations, the local network may have a hierarchical structure, where one instance of the device 705 is designated as the master node, which coordinates the tasks of devices in other subdomains of the local network. The designation of the master node may be static or dynamic, such that if the master node of a subdomain experiences a failure or outage, the remaining nodes may assume the role of the previous master node.
[0155] According to the examples disclosed herein, a communication manager 720 (which may be an aspect of the processing system of device 705 or otherwise associated with the processing system of device 705) may support edge computing resource orchestration of terminal device processing tasks at a first edge node, such as device 705. For example, the communication manager 720, such as a processing system, may be configured to or otherwise support a unit for receiving or obtaining network link information associated with one or more wireless communication links between a terminal device and one or more edge nodes from the terminal device. The communication manager 720, such as a processing system, may be configured to or otherwise support a unit for receiving or obtaining a request associated with a processing task from the terminal device, where the request indicates one or more parameters associated with the processing task. The communication manager 720, such as a processing system, may be configured to or otherwise support a unit for sending or outputting an indication of an assignment of a processing task to a second edge node among one or more edge nodes according to the network link information and one or more parameters associated with the processing task.
[0156] In some implementations, the communication manager 720, such as a processing system, may be configured to or otherwise support a unit for the following operation: if the first edge node is offline or becomes disconnected, sending or obtaining consistency information to one or more edge nodes to maintain consistency across the one or more edge nodes.
[0157] In some implementations, the communication manager 720, such as a processing system, may be configured to or otherwise support a unit for sending or outputting an indication of one or more parameters associated with a processing task to each edge node among one or more edge nodes. In some implementations, the communication manager 720, such as a processing system, may be configured to or otherwise support a unit for receiving or obtaining an indication of an expected completion time for a processing task from one or more edge nodes among one or more edge nodes, where the assignment of the processing task to the second edge node is based on the expected completion time. In some implementations, the communication manager 720, such as a processing system, is capable of and configured to send or output an indication of a maximum completion time (which may be associated with a maximum allowable delay associated with the completion of the processing task) for a processing task to each edge node among one or more edge nodes. In some implementations, the communication manager 720, such as a processing system, is capable of and configured to receive or obtain an indication from at least one edge node as to whether the at least one edge node is capable of performing the processing task within the maximum completion time.
[0158] In some implementations, a communication manager 720 (such as a processing system) may be configured to or otherwise support units for performing the following operations: removing a transient edge node from a list of available edge nodes if the transient edge node (such as an edge node with periodic or intermittent availability) goes offline or becomes disconnected from a first edge node. In some implementations, a communication manager 720 (such as a processing system) may be configured to or otherwise support units for sending or outputting an indication to at least one edge node in a remaining set of edge nodes on the available edge node list to reassign one or more processing tasks from the transient edge node to at least one edge node in the remaining set of edge nodes.
[0159] In some implementations, a communication manager 720 (such as a processing system) may be configured to or otherwise support units for receiving or obtaining an indication that a transient edge node is online. In some implementations, a communication manager 720 (such as a processing system) may be configured to or otherwise support units for sending or outputting an indication to assign one or more processing tasks from one or more edge nodes to an online transient edge node.
[0160] In some implementations, a communication manager 720 (such as a processing system) may be configured to or otherwise support units for sending or outputting consistency information to an online transient edge node.
[0161] In some implementations, a communication manager 720 (such as a processing system) may be configured to or otherwise support units for receiving or obtaining an indication that a terminal device has selected a first edge node as a resource management node for the terminal device.
[0162] In some implementations, the assignment of processing tasks to a second edge node is based on at least one of the following: a latency threshold associated with the processing task, the priority of the processing task, the type of workload associated with the processing task, the availability of computing resources of the second edge node, the battery availability of the second edge node, the power connection state of the second edge node, or a quality metric associated with the communication link between the second edge node and the terminal device.
[0163] In some implementations, network link information indicates one or more of the following: the topology (such as an updated topology) for one or more wireless communication links, the aggregated processing capabilities of one or more edge nodes, a quality metric associated with one or more wireless communication links, the battery levels of one or more edge nodes, the power connection states of one or more edge nodes, workload information associated with one or more edge nodes, or predicted topology changes associated with one or more wireless communication links.
[0164] In some implementations, predicting topological changes is associated with at least one of the following: the position of a terminal device relative to one or more edge nodes, the velocity of the terminal device relative to one or more edge nodes, motion trend data associated with the terminal device, or motion trend data associated with one or more edge nodes.
[0165] In some implementations, the quality metric includes at least one of effective bandwidth, throughput level, latency, or SINR, each associated with one or more wireless communication links. In some implementations, the assignment of processing tasks to a second edge node is based on the topology of one or more wireless communication links (such as an updated topology).
[0166] In some implementations, the first edge node includes a resource management node that allocates processing tasks to one or more edge nodes based on at least one of the following: the predicted resource availability of one or more edge nodes, the predicted topology of one or more wireless communication links, or a user-selected task prioritization policy. In some implementations, one or more parameters include at least one of the following: a QoS threshold associated with a processing task, a payload size associated with a processing task, a computation time associated with a processing task, the priority of a processing task, the workload type of a processing task, a latency threshold associated with a processing task, rendering information associated with a processing task, resolution information associated with a processing task, or security requirements for a processing task. As used herein, the term predicted resource availability may refer to the projected, computed, or estimated state of computing resources at each of one or more edge nodes and may be projected, computed, or estimated based on historical data associated with processing operations or activities at each of one or more edge nodes, the number of terminal devices within the system, or the type of terminal devices within the system (where different types may be associated with relatively higher or lower workloads). Additionally, the term predicted topological change may refer to the projected, computed, or estimated state of a wireless communication link derived from historical data associated with the wireless communication link or any one or more devices.
[0167] In some implementations, predicting topological changes and predicting resource availability can be caused by the mobility of edge nodes or end devices. For example, if the communication manager 720 determines that device 705 will be unavailable during a specified time interval based on calendar information (such as data indicating an upcoming appointment or meeting) extracted from one or more applications running on device 705, the communication manager 720 can use this information to estimate the predicted resource availability of device 705. For a further example, the communication manager 720 can use AI, ML, or other reinforcement learning techniques to learn the mobility patterns of one or more devices. For example, if a vehicle is in autonomous driving, the communication manager 720 can determine that the vehicle is unavailable for hosting additional processing workloads, while a parked and fully charged (or charging) vehicle can be an available computing resource that can host additional processing workloads, regardless of where the vehicle is located. In other words, a vehicle actively used for transportation tasks (such as a vehicle in a current delivery fleet) may be unavailable for hosting additional processing workloads, while a parked and fully charged (or charging) vehicle can be available for hosting additional processing workloads.
[0168] In some implementations, the workload types of processing tasks include at least one of a bounded workload type, a periodic workload type, a critical real-time workload type, or a non-real-time workload type. In some implementations, the end device includes one or more of a wireless station, a mobile device, a vehicle, a sensor, an XR device, an AR device, a video camera, or an IoT device. In some implementations, the second edge node is different from the first edge node.
[0169] In some implementations, the communication manager 720 (such as a processing system) can be configured to or otherwise support a unit for sending or outputting information associated with the second edge node and an indication of the assignment of a processing task to the second edge node to an end device, the information including at least the identifier of the second edge node.
[0170] In some implementations, the communication manager 720 (such as a processing system) can be configured to or otherwise support a unit for sending or outputting a request to allocate a first quantity of computing resources for a processing task to the second edge node. In some implementations, the communication manager 720 (such as a processing system) can be configured to or otherwise support a unit for receiving or obtaining from the second edge node a response indicating a second quantity of computing resources permitted for the processing task, where the second resource quantity is less than or equal to the first quantity of computing resources.
[0171] Additionally or alternatively, according to the examples disclosed herein, a communication manager 720 (such as a processing system) may support edge computing resource orchestration for terminal device processing tasks at a second edge node (such as device 705). For example, the communication manager 720 (such as a processing system) may be configured to or otherwise support a unit for receiving or obtaining an indication of an assignment of a processing task for a second edge node from a first edge node or a terminal device among one or more edge nodes, wherein the assignment of the processing task for the second edge node is based on one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between one or more edge nodes and terminal devices. The communication manager 720 (such as a processing system) may be configured to or otherwise support a unit for sending or outputting information associated with the processing task to one or both of the first edge node or the terminal device according to one or more parameters associated with the processing task.
[0172] In some implementations, the communication manager 720 (such as a processing system) may be configured to or otherwise support a unit for receiving or obtaining a query indicating one or more parameters associated with a processing task from a first edge node or a terminal device. In some implementations, the communication manager 720 (such as a processing system) may be configured to or otherwise support a unit for sending or outputting an indication of an expected completion time for a processing task to a first edge node or a terminal device, wherein the assignment of the processing task for the second edge node is based on the expected completion time. In some implementations, the second edge node may be the same as the first edge node. In other words, the second edge node may assign a processing task to itself. In some other implementations, the second edge node may be different from the first edge node (e.g., physically or logically separated).
[0173] In some implementations, the one or more parameters include at least one of the following: a QoS threshold associated with the processing task, a payload size associated with the processing task, a computation time associated with the processing task, a priority of the processing task, a workload type of the processing task, a latency threshold for the processing task, rendering information associated with the processing task, resolution information associated with the processing task, or a security requirement for the processing task. In some implementations, the second edge node queues the processing task in the processing pipeline of the second edge node according to receiving an indication of the assignment of the processing task for the second edge node. In some implementations, the processing task includes at least one of a computation task, an I / O task, or a NAS task.
[0174] In some implementations, a communication manager 720 (such as a processing system) may be configured to perform various operations (such as receive, obtain, monitor, output, transmit) using a transceiver 710, one or more antennas 715 (such as where applicable), one or more interfaces, or any combination thereof, or otherwise cooperate therewith. Although the communication manager 720 is shown as a separate component, in some implementations, one or more functions described with reference to the communication manager 720 may be supported or performed by the transceiver 710, the processor 735, the memory 725, the code 730, or any combination thereof. For example, the code 730 may include instructions executable by the processor 735 to cause the device 705 to perform aspects of intelligent cloud edge resource management as described herein, or the processor 735 and the memory 725 may otherwise be configured to perform or support such operations.
[0175] Figure 8 FIG. 800 is a block diagram of an example device 805 that supports intelligent cloud edge resource management. The device 805 may include components for two-way voice and data communication, including components for sending and receiving communications, such as a communication manager 820, an I / O controller 810, a transceiver 815, an antenna 825, a memory 830, code 835, and a processor 840. These components may communicate electronically via one or more buses (such as bus 845) or otherwise be coupled (such as operably, communicatively, functionally, electronically, electrically).
[0176] The I / O controller 810 may manage input and output signals for the device 805. The I / O controller 810 may also manage peripheral devices not integrated into the device 805. In some implementations, the I / O controller 810 may represent a physical connection or port to an external peripheral device. In some implementations, the I / O controller 810 may utilize an operating system, such as or another known operating system. Additionally or alternatively, the I / O controller 810 may represent a modem, keyboard, mouse, touch screen, or similar device or interact with the aforementioned devices. In some implementations, the I / O controller 810 may be implemented as part of a processor or processing system (such as the processor 840). In some implementations, a user may interact with the device 805 via the I / O controller 810 or via hardware components controlled by the I / O controller 810.
[0177] In some implementations, device 805 may include a single antenna 825. However, in some other implementations, device 805 may have more than one antenna 825 that can simultaneously transmit or receive multiple wireless transmissions. Transceiver 815 can communicate bidirectionally via one or more antennas 825, wired or wireless links, as described herein. For example, transceiver 815 may represent a wireless transceiver and may communicate bidirectionally with another wireless transceiver. Transceiver 815 may also include a modem to modulate packets, provide the modulated packets to one or more antennas 825 for transmission, and demodulate packets received from one or more antennas 825.
[0178] In some implementations, transceiver 815 may include one or more interfaces, such as one or more interfaces coupled to one or more antennas 825 configured to support various receiving or obtaining operations, or one or more interfaces coupled to one or more antennas 825 configured to support various transmitting or output operations, or a combination thereof. In some implementations, transceiver 815 may include or be configured to be coupled to one or more processors or memory components that are operable to perform or support operations in accordance with the received or obtained information or signals, or generate information or other signals for transmission or other output, or any combination thereof. In some implementations, transceiver 815, or transceiver 815 and one or more antennas 825, or transceiver 815 and one or more antennas 825 and one or more processors or memory components (such as processor 840, or memory 830, or both) may be included in a chip or chip component installed in device 805.
[0179] Memory 830 may include RAM and ROM. Memory 830 may store computer-readable, computer-executable code 835 including instructions that, when executed by processor 840, cause device 805 to perform the various functions described herein. Code 835 may be stored on a non-transitory computer-readable medium (such as system memory or another type of memory). In some implementations, code 835 may not be directly executed by processor 840, but may cause a computer (such as when compiled and executed) to perform the functions described herein. In some implementations, memory 830 may contain BIOS and other things that may control basic hardware or software operations, such as interactions with peripheral components or devices.
[0180] Processor 840 may include intelligent hardware devices such as general-purpose processors, DSPs, ASICs, CPUs, GPUs, FPGAs, microcontrollers, programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination thereof. In some implementations, processor 840 may be configured to operate a memory array using a memory controller. In some other implementations, the memory controller may be integrated into processor 840. Processor 840 may be configured to execute computer-readable instructions stored in a memory such as memory 830 to cause device 805 to perform various functions such as functions or tasks that support intelligent cloud edge resource management. For example, device 805 or components of device 805 may include processor 840 and memory 830 coupled to processor 840, and processor 840 and memory 830 are configured to perform the various functions described herein. Processor 840 may be an example of a cloud computing platform such as one or more physical nodes and supporting software such as an operating system, virtual machine, or container instance that can host functions such as by executing code 835 to perform the functions of device 805. Processor 840 may be any one or more suitable processors capable of executing scripts or instructions of one or more software programs stored in device 805 such as within memory 830. In some implementations, processor 840 may be a component of a processing system.
[0181] A processing system generally may refer to a system or series of machines or components that receive input and process the input to produce a set of outputs that may be passed to other systems or components such as, for example, device 805. For example, the processing system of device 805 may refer to a system that includes various other components or sub-components of device 805 such as processor 840, or transceiver 815, or communication manager 820, or a combination of other components or components of device 805. The processing system of device 805 may interface with other components of device 805 and may process information (e.g., input or signals) received from other components or output information to other components. For example, a chip or modem of device 805 may include a processing system and one or more interfaces for outputting information or obtaining information or both.
[0182] One or more interfaces may be implemented as or otherwise include a first interface configured to output information and a second interface configured to obtain information, or the same interface configured to output information and obtain information, and other implementations. In some implementations, one or more interfaces may refer to an interface between a processing system of a chip or modem and a transmitter, such that device 805 may send information output from the chip or modem. Additionally or alternatively, in some implementations, one or more interfaces may refer to an interface between a processing system of a chip or modem and a receiver, such that device 805 may obtain information or signal input, and the information may be passed to the processing system. Those skilled in the art will readily recognize that the first interface may also obtain information or signal input, and the second interface may also output information or signal output.
[0183] According to the examples disclosed herein, a communication manager 820 (which may be aspects of a processing system or otherwise associated with a processing system) may support edge computing resource orchestration of processing tasks at a terminal device such as device 805. For example, the communication manager 820 (such as a processing system) may be configured to or otherwise support a unit for sending or outputting network link information associated with one or more wireless communication links between a terminal device and one or more edge nodes. The communication manager 820 (such as a processing system) may be configured to or otherwise support a unit for sending or outputting a request associated with a processing task to at least a first edge node among one or more edge nodes, where the request indicates one or more parameters associated with the processing task. The communication manager 820 (such as a processing system) may be configured to or otherwise support a unit for receiving or obtaining information associated with a processing task from a second edge node among one or more edge nodes according to the network link information and one or more parameters associated with the processing task.
[0184] In some implementations, to support sending a request, the communication manager 820 (such as a processing system) may be configured to or otherwise support a unit for sending or outputting a request to one or more edge nodes via one or more wireless communication links between a terminal device and one or more edge nodes.
[0185] In some implementations, a communication manager 820 (such as a processing system) may be configured to or otherwise support a unit for receiving or obtaining an indication of an expected completion time for processing a task from one or more of the one or more edge nodes upon request. In some implementations, a communication manager 820 (such as a processing system) may be configured to or otherwise support a unit for sending or outputting an indication of a selection of a second edge node based on the expected completion time for the second edge node, wherein information associated with the processing task is received based on the selection.
[0186] In some implementations, a communication manager 820 (such as a processing system) may be configured to or otherwise support a unit for sending or outputting an indication that a terminal device has selected a first edge node as a resource management node for the terminal device, wherein the selection of the first edge node is based on at least one of the following: a quality metric associated with a wireless communication link between the first edge node and the terminal device, the availability of computing resources of the first edge node, the mobility state of the first edge node (such as mobile or non-mobile), the power type associated with the first edge node (such as plugged in or battery operated), the respective distances between the terminal device and one or more edge nodes, or the respective signal qualities associated with one or more wireless communication links between the terminal device and one or more edge nodes.
[0187] In some implementations, network link information indicates at least one of the following: the topology for one or more wireless communication links (such as an updated topology), the aggregated processing capabilities of one or more edge nodes, a quality metric associated with one or more wireless communication links, the battery levels of one or more edge nodes, the power connection states of one or more edge nodes, workload information associated with one or more edge nodes, or predicted topology changes associated with one or more wireless communication links.
[0188] In some implementations, the predicted topology changes are associated with at least one of the following: the position of the terminal device relative to one or more edge nodes, the speed of the terminal device relative to one or more edge nodes, motion trend data associated with the terminal device, or motion trend data associated with one or more edge nodes.
[0189] In some implementations, the quality metric includes at least one of effective bandwidth, throughput level, latency, or SINR, each associated with one or more wireless communication links. In some implementations, the one or more parameters include at least one of the following: a QoS threshold associated with a processing task, a payload size associated with a processing task, a computation time associated with a processing task, a priority of the processing task, a workload type of the processing task, a latency threshold for the processing task, rendering information associated with the processing task, resolution information associated with the processing task, or a security requirement for the processing task.
[0190] In some implementations, the workload type of the processing task includes at least one of a bounded workload type, a periodic workload type, a critical real-time workload type, or a non-real-time workload type. In some implementations, the terminal device includes one or more of a wireless station, a mobile device, a vehicle, a sensor, an XR device, an AR device, a video camera, or an IoT device.
[0191] In some implementations, the communication manager 820 (such as a processing system) can be configured to perform various operations (such as receive, monitor, transmit) using the transceiver 815, one or more antennas 825, one or more interfaces, or any combination thereof or otherwise cooperate therewith. Although the communication manager 820 is shown as a component of the transceiver 815, in some implementations, one or more of the functions described with reference to the communication manager 820 can be supported or performed by the transceiver 815, the processor 840, the memory 830, the code 835, or any combination thereof. For example, the code 835 can include instructions executable by the processor 840 to cause the device 805 to perform various aspects of intelligent cloud edge resource management as described herein, or the processor 840 and the memory 830 can otherwise be configured to perform or support such operations.
[0192] Figure 9 A flowchart illustrating an example method 900 for supporting intelligent cloud edge resource management is shown. The operations of method 900 can be implemented by an edge node or its components. For example, the operations of method 900 can be performed by the edge node 305 described herein (including reference Figure 3 ). In some implementations, the edge node can execute an instruction set to control functional elements of the edge node to perform the described functions. Additionally or alternatively, the edge node can use dedicated hardware to perform aspects of the described functions.
[0193] At 905, a first edge node may receive network link information associated with one or more wireless communication links between a terminal device and one or more edge nodes. The operation of 905 may be performed according to the examples disclosed herein, such as by one or more interfaces or processing systems as disclosed herein.
[0194] At 910, a first edge node may receive a request associated with a processing task from a terminal device, where the request indicates one or more parameters associated with the processing task. The operation of 910 may be performed according to the examples disclosed herein, such as by one or more interfaces or processing systems as disclosed herein.
[0195] At 915, a first edge node may send an indication of an assignment of a processing task to a second edge node among one or more edge nodes based on the network link information and one or more parameters associated with the processing task. The operation of 915 may be performed according to the examples disclosed herein, such as by one or more interfaces or processing systems as disclosed herein.
[0196] Figure 10 A flowchart illustrating an example method 1000 for supporting intelligent cloud edge resource management is shown. The operations of method 1000 may be implemented by a terminal device or its components. For example, the operations of method 1000 may be performed by the terminal device 210 described herein (including reference Figure 2 ). In some implementations, the terminal device may execute an instruction set to control functional elements of the terminal device to perform the described functions. Additionally or alternatively, the terminal device may use dedicated hardware to perform aspects of the described functions.
[0197] At 1005, a terminal device may send network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes. The operation of 1005 may be performed according to the examples disclosed herein, such as by one or more interfaces or processing systems as disclosed herein.
[0198] At 1010, a terminal device may send a request associated with a processing task to at least a first edge node among one or more edge nodes, where the request indicates one or more parameters associated with the processing task. The operation of 1010 may be performed according to the examples disclosed herein, such as by one or more interfaces or processing systems as disclosed herein.
[0199] At 1015, the terminal device may receive information associated with the processing task from a second edge node among one or more edge nodes according to network link information and one or more parameters associated with the processing task. The operation of 1015 may be performed according to the examples disclosed herein, such as by one or more interfaces or processing systems as disclosed herein.
[0200] Figure 11 A flowchart illustrating an example method 1100 for supporting intelligent cloud edge resource management is shown. The operations of method 1100 may be implemented by an edge node or its components. For example, the operations of method 1100 may be performed by the edge node 205 described herein (including with reference to Figure 2 ). In some implementations, the edge node may execute an instruction set to control functional elements of the edge node to perform the described functions. Additionally or alternatively, the edge node may use dedicated hardware to perform aspects of the described functions.
[0201] At 1105, the second edge node may receive an indication of an assignment of a processing task for the second edge node from a first edge node or a terminal device among one or more edge nodes, where the assignment of the processing task for the second edge node is based on one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between one or more edge nodes and the terminal device. The operation of 1105 may be performed according to the examples disclosed herein, such as by one or more interfaces or processing systems as disclosed herein.
[0202] At 1110, the second edge node may send information associated with the processing task to one or both of the first edge node or the terminal device according to one or more parameters associated with the processing task. The operation of 1110 may be performed according to the examples disclosed herein, such as by one or more interfaces or processing systems as disclosed herein.
[0203] Implementation examples are described in the numbered clauses below:
[0204] Clause 1: An apparatus for edge computing resource orchestration for processing tasks of a terminal device at a first edge node, comprising: one or more interfaces configured to: obtain network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes; obtain a request associated with the processing task from the terminal device, where the request indicates one or more parameters associated with the processing task; and output an indication of an assignment of the processing task for the second edge node to the second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0205] Clause 2: The apparatus according to Clause 1, wherein the one or more interfaces are further configured to: output consistency information to the one or more edge nodes to maintain consistency across the one or more edge nodes if the first edge node is offline or becomes disconnected from the one or more edge nodes.
[0206] Clause 3: The apparatus according to any one of Clauses 1-2, wherein the one or more interfaces are further configured to: output an indication of the one or more parameters associated with the processing task to each of the one or more edge nodes; and obtain an indication of an expected completion time for the processing task from one or more of the one or more edge nodes, wherein the assignment of the processing task to the second edge node is based on the expected completion time.
[0207] Clause 4: The apparatus according to any one of Clauses 1-3, wherein the apparatus further comprises a processing system configured to: remove the temporary edge node from the list of available edge nodes if the temporary edge node is offline or becomes disconnected from the first edge node; and wherein the one or more interfaces are further configured to: output an indication to at least one edge node in the remaining set of edge nodes on the list of available edge nodes to reassign one or more processing tasks from the temporary edge node to the at least one edge node in the remaining set of edge nodes.
[0208] Clause 5: The apparatus according to any one of Clauses 1-4, wherein the one or more interfaces are further configured to: obtain an indication that the temporary edge node is online; and output an indication to assign one or more processing tasks from the one or more edge nodes to the online temporary edge node.
[0209] Clause 6: The apparatus according to Clause 5, wherein the one or more interfaces are further configured to: output consistency information to the online temporary edge node.
[0210] Clause 7: The apparatus according to any one of Clauses 1 to 6, wherein the one or more interfaces are further configured to: obtain an indication that the terminal device has selected the first edge node as the resource management node of the terminal device. Clause 8: The apparatus according to any one of Clauses 1 - 7, wherein the assignment of the processing task for the second edge node is based on at least one of the following: a latency threshold associated with the processing task, the priority of the processing task, a workload type associated with the processing task, the computing resource availability of the second edge node, the battery availability of the second edge node, the power connection state of the second edge node, or a quality metric associated with the communication link between the second edge node and the terminal device.
[0211] Clause 9: The apparatus according to any one of Clauses 1 - 8, wherein the network link information indicates one or more of the following: the topology of the one or more wireless communication links, the aggregated processing capabilities of the one or more edge nodes, a quality metric associated with the one or more wireless communication links, the battery levels of the one or more edge nodes, the power connection states of the one or more edge nodes, workload information associated with the one or more edge nodes, or predicted topology changes associated with the one or more wireless communication links.
[0212] Clause 10: The apparatus according to Clause 9, wherein the predicted topology changes are associated with at least one of the following: the position of the terminal device relative to the one or more edge nodes, the speed of the terminal device relative to the one or more edge nodes, motion trend data associated with the terminal device, or motion trend data associated with the one or more edge nodes.
[0213] Clause 11: The apparatus according to any one of Clauses 9 - 10, wherein the quality metric includes at least one of the following: effective bandwidth, throughput level, latency, or SINR, each associated with the one or more wireless communication links.
[0214] Clause 12: The apparatus according to any one of Clauses 9 - 11, wherein the assignment of the processing task for the second edge node is based on the topology of the one or more wireless communication links.
[0215] Clause 13: The apparatus according to any one of Clauses 1-12, wherein the first edge node includes a resource management node, and the resource management node allocates processing tasks to the one or more edge nodes according to at least one of the following: predicted resource availability of the one or more edge nodes, predicted topology of the one or more wireless communication links, or a task prioritization strategy selected by a user.
[0216] Clause 14: The apparatus according to any one of Clauses 1-13, wherein the one or more parameters include at least one of the following: a QoS threshold associated with the processing task, a payload size associated with the processing task, a computation time associated with the processing task, a priority of the processing task, a workload type of the processing task, a latency threshold for the processing task, rendering information associated with the processing task, resolution information associated with the processing task, or a security requirement for the processing task.
[0217] Clause 15: The apparatus according to Clause 14, wherein the workload type of the processing task includes at least one of the following: a bounded workload type, a periodic workload type, a critical real-time workload type, or a non-real-time workload type.
[0218] Clause 16: The apparatus according to any one of Clauses 1-15, wherein the terminal device includes one or more of the following: a wireless station, a mobile device, a vehicle, a sensor, an XR device, an AR device, a video camera, or an IoT device.
[0219] Clause 17: The apparatus according to any one of Clauses 1-16, wherein the second edge node is different from the first edge node.
[0220] Clause 18: The apparatus according to any one of Clauses 1-17, wherein the one or more interfaces are further configured to: output to the terminal device information associated with the second edge node and an indication of the assignment of the processing task for the second edge node, the information including at least an identifier of the second edge node.
[0221] Clause 19: The apparatus according to any one of Clauses 1-18, wherein the one or more interfaces are further configured to: output to the second edge node a request to allocate a first quantity of computing resources for the processing task for the second edge node; and obtain from the second edge node a response indicating a second quantity of computing resources permitted for the processing task, wherein the second resource quantity is less than or equal to the first quantity of computing resources.
[0222] Clause 20: An apparatus for edge computing resource orchestration for processing tasks at a terminal device, comprising: one or more interfaces configured to: output network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes; output a request associated with the processing task to at least a first edge node among the one or more edge nodes, wherein the request indicates one or more parameters associated with the processing task; and obtain information associated with the processing task from a second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0223] Clause 21: The apparatus according to Clause 20, wherein, in order to output the request, the one or more interfaces are configured to: output the request to the one or more edge nodes via the one or more wireless communication links between the terminal device and the one or more edge nodes.
[0224] Clause 22: The apparatus according to Clause 21, wherein the one or more interfaces are further configured to: obtain an indication of an expected completion time for the processing task from one or more edge nodes among the one or more edge nodes according to outputting the request; and output an indication of a selection of the second edge node according to the expected completion time for the second edge node, wherein the information associated with the processing task is obtained according to the selection.
[0225] Clause 23: The apparatus according to any one of Clauses 20-22, wherein the one or more interfaces are further configured to: output an indication that the terminal device has selected the first edge node as a resource management node of the terminal device, wherein the selection of the first edge node is based on at least one of the following: a quality metric associated with a wireless communication link between the first edge node and the terminal device, the availability of computing resources of the first edge node, the mobility state of the first edge node, a power type associated with the first edge node, a corresponding distance between the terminal device and the one or more edge nodes, or a corresponding signal quality associated with the one or more wireless communication links between the terminal device and the one or more edge nodes.
[0226] Clause 24: The apparatus according to any one of Clauses 20-23, wherein the network link information indicates at least one of the following: the topology for the one or more wireless communication links, the aggregated processing capabilities of the one or more edge nodes, the quality metrics associated with the one or more wireless communication links, the battery levels of the one or more edge nodes, the power connection states of the one or more edge nodes, the workload information associated with the one or more edge nodes, or the predicted topology changes associated with the one or more wireless communication links.
[0227] Clause 25: The apparatus according to Clause 24, wherein the predicted topology changes are associated with at least one of the following: the position of the terminal device relative to the one or more edge nodes, the speed of the terminal device relative to the one or more edge nodes, the motion trend data associated with the terminal device, or the motion trend data associated with the one or more edge nodes.
[0228] Clause 26: The apparatus according to any one of Clauses 24-25, wherein the quality metrics include at least one of the following: effective bandwidth, throughput level, latency, or SINR, each associated with the one or more wireless communication links.
[0229] Clause 27: The apparatus according to any one of Clauses 20-26, wherein the one or more parameters include at least one of the following: the QoS threshold associated with the processing task, the payload size associated with the processing task, the computation time associated with the processing task, the priority of the processing task, the workload type of the processing task, the latency threshold for the processing task, the rendering information associated with the processing task, the resolution information associated with the processing task, or the security requirements for the processing task.
[0230] Clause 28: The apparatus according to Clause 27, wherein the workload type of the processing task includes at least one of the following: a bounded workload type, a periodic workload type, a critical real-time workload type, or a non-real-time workload type.
[0231] Clause 29: The apparatus according to any one of Clauses 20-28, wherein the terminal device includes one or more of the following: a wireless station, a mobile device, a vehicle, a sensor, an XR device, an AR device, a video camera, or an IoT device.
[0232] Clause 30: An apparatus for edge computing resource orchestration for processing tasks by a terminal device at a second edge node, comprising: one or more interfaces configured to: obtain an indication of an assignment of a processing task for the second edge node from a first edge node or a terminal device among one or more edge nodes, wherein the assignment of the processing task for the second edge node is based on one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between the one or more edge nodes and the terminal device; and output information associated with the processing task from the second edge node to one or both of the first edge node or the terminal device according to the one or more parameters associated with the processing task.
[0233] Clause 31: The apparatus according to Clause 30, wherein the one or more interfaces are further configured to: obtain a query indicating the one or more parameters associated with the processing task from the first edge node or the terminal device; and output an indication of an expected completion time for the processing task to the first edge node or the terminal device, wherein the assignment of the processing task for the second edge node is based on the expected completion time.
[0234] Clause 32: The apparatus according to any one of Clauses 30-31, wherein the one or more parameters include at least one of the following: a quality of service (QoS) threshold associated with the processing task, a payload size associated with the processing task, a computation time associated with the processing task, a priority of the processing task, a workload type of the processing task, a latency threshold of the processing task, rendering information associated with the processing task, resolution information associated with the processing task, or a security requirement for the processing task.
[0235] Clause 33: The apparatus according to any one of Clauses 30-32, wherein the second edge node queues the processing task in a processing pipeline of the second edge node according to the obtained indication of the assignment of the processing task for the second edge node, and the processing task includes at least one of a computing task, an I / O task, or a NAS task.
[0236] Clause 34: A method for edge computing resource orchestration for processing tasks by a terminal device at a first edge node, comprising: receiving network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes from the terminal device; receiving a request associated with the processing task from the terminal device, wherein the request indicates one or more parameters associated with the processing task; and sending an indication of an assignment of the processing task to a second edge node among the one or more edge nodes to the second edge node according to the network link information and the one or more parameters associated with the processing task.
[0237] Clause 35: The method according to Clause 34, further comprising: sending consistency information to the one or more edge nodes to maintain consistency across the one or more edge nodes if the first edge node is offline or becomes disconnected from the one or more edge nodes.
[0238] Clause 36: The method according to any one of Clauses 34 - 35, further comprising: sending an indication of the one or more parameters associated with the processing task to each of the one or more edge nodes; and receiving an indication of an expected completion time for the processing task from one or more of the one or more edge nodes, wherein the assignment of the processing to the second edge node is based on the expected completion time.
[0239] Clause 37: The method according to any one of Clauses 34 - 36, further comprising: removing the temporary edge node from the list of available edge nodes if the temporary edge node is offline or becomes disconnected from the first edge node; and sending an indication of re - assignment of one or more processing tasks from the temporary edge node to at least one edge node in the remaining set of edge nodes on the list of available edge nodes to the at least one edge node in the remaining set of edge nodes.
[0240] Clause 38: The method according to any one of Clauses 34 - 37, further comprising: receiving an indication that the temporary edge node is online; and sending an indication of assignment of one or more processing tasks from the one or more edge nodes to the online temporary edge node.
[0241] Clause 39: The method according to Clause 38, further comprising: sending consistency information to the online temporary edge node.
[0242] Clause 40: The method according to any one of Clauses 34-39 further includes: receiving an indication that the terminal device has selected the first edge node as the resource management node of the terminal device.
[0243] Clause 41: The method according to any one of Clauses 34-40, wherein the assignment of the processing task to the second edge node is based on at least one of the following: a latency threshold associated with the processing task, a priority of the processing task, a workload type associated with the processing task, a computing resource availability of the second edge node, a battery availability of the second edge node, a power connection state of the second edge node, or a quality metric associated with a communication link between the second edge node and the terminal device.
[0244] Clause 42: The method according to any one of Clauses 34-41, wherein the network link information indicates one or more of the following: a topology for the one or more wireless communication links, an aggregated processing capacity of the one or more edge nodes, a quality metric associated with the one or more wireless communication links, a battery level of the one or more edge nodes, a power connection state of the one or more edge nodes, workload information associated with the one or more edge nodes, or a predicted topology change associated with the one or more wireless communication links.
[0245] Clause 43: The method according to Clause 42, wherein the predicted topology change is associated with at least one of the following: a position of the terminal device relative to the one or more edge nodes, a speed of the terminal device relative to the one or more edge nodes, motion trend data associated with the terminal device, or motion trend data associated with the one or more edge nodes.
[0246] Clause 44: The method according to any one of Clauses 42-43, wherein the quality metric includes at least one of the following: effective bandwidth, throughput level, latency, or SINR, each associated with the one or more wireless communication links.
[0247] Clause 45: The method according to any one of Clauses 42-44, wherein the assignment of the processing task to the second edge node is based on the topology of the one or more wireless communication links.
[0248] Clause 46: The method according to any one of Clauses 34-45, wherein the first edge node includes a resource management node, and the resource management node allocates processing tasks to the one or more edge nodes according to at least one of the following: the predicted resource availability of the one or more edge nodes, the predicted topology of the one or more wireless communication links, or a user-selected task prioritization strategy.
[0249] Clause 47: The method according to any one of Clauses 34-46, wherein the one or more parameters include at least one of the following: a QoS threshold associated with the processing task, a payload size associated with the processing task, a computation time associated with the processing task, a priority of the processing task, a workload type of the processing task, a latency threshold for the processing task, rendering information associated with the processing task, resolution information associated with the processing task, or a security requirement for the processing task.
[0250] Clause 48: The method according to Clause 47, wherein the workload type of the processing task includes at least one of the following: a bounded workload type, a periodic workload type, a critical real-time workload type, or a non-real-time workload type.
[0251] Clause 49: The method according to any one of Clauses 34-48, wherein the terminal device includes one or more of the following: a wireless station, a mobile device, a vehicle, a sensor, an XR device, an AR device, a video camera, or an IoT device.
[0252] Clause 50: The method according to any one of Clauses 34-49, wherein the second edge node is different from the first edge node.
[0253] Clause 51: The method according to any one of Clauses 34-50, further comprising: sending to the terminal device information associated with the second edge node and an indication of the assignment of the processing task to the second edge node, the information at least including an identifier of the second edge node.
[0254] Clause 52: The method according to any one of Clauses 34-51, further comprising: sending to the second edge node a request to allocate a first quantity of computing resources for the processing task to the second edge node; and receiving from the second edge node a response indicating a second quantity of computing resources permitted for the processing task, wherein the second resource quantity is less than or equal to the first quantity of computing resources.
[0255] Clause 53: A method for edge computing resource orchestration of processing tasks at a terminal device, comprising: sending network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes; sending a request associated with the processing task to at least a first edge node among the one or more edge nodes, wherein the request indicates one or more parameters associated with the processing task; and receiving information associated with the processing task from a second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0256] Clause 54: The method according to Clause 53, wherein sending the request comprises: sending the request to the one or more edge nodes via the one or more wireless communication links between the terminal device and the one or more edge nodes.
[0257] Clause 55: The method according to Clause 54, further comprising: receiving an indication of an expected completion time for the processing task from one or more edge nodes among the one or more edge nodes according to sending the request; and sending an indication of a selection of the second edge node according to the expected completion time for the second edge node, wherein the information associated with the processing task is received according to the selection.
[0258] Clause 56: The method according to any one of Clauses 53-55, further comprising: sending an indication that the terminal device has selected the first edge node as a resource management node of the terminal device, wherein the selection of the first edge node is based on at least one of the following: a quality metric associated with a wireless communication link between the first edge node and the terminal device, the computing resource availability of the first edge node, the mobility state of the first edge node, a power type associated with the first edge node, a corresponding distance between the terminal device and the one or more edge nodes, or a corresponding signal quality associated with the one or more wireless communication links between the terminal device and the one or more edge nodes.
[0259] Clause 57: The method according to any one of Clauses 53-56, wherein the network link information indicates at least one of the following: a topology for the one or more wireless communication links, an aggregated processing capacity of the one or more edge nodes, a quality metric associated with the one or more wireless communication links, a battery level of the one or more edge nodes, a power connection state of the one or more edge nodes, workload information associated with the one or more edge nodes, or a predicted topology change associated with the one or more wireless communication links.
[0260] Clause 58: The method according to Clause 57, wherein the predicted topology change is associated with at least one of the following: the position of the terminal device relative to the one or more edge nodes, the speed of the terminal device relative to the one or more edge nodes, motion trend data associated with the terminal device, or motion trend data associated with the one or more edge nodes.
[0261] Clause 59: The method according to any one of Clauses 57-58, wherein the quality metric includes at least one of the following: effective bandwidth, throughput level, latency, or SINR, each associated with the one or more wireless communication links.
[0262] Clause 60: The method according to any one of Clauses 53-59, wherein the one or more parameters include at least one of the following: a QoS threshold associated with the processing task, a payload size associated with the processing task, a computation time associated with the processing task, a priority of the processing task, a workload type of the processing task, a latency threshold for the processing task, rendering information associated with the processing task, resolution information associated with the processing task, or a security requirement for the processing task.
[0263] Clause 61: The method according to Clause 60, wherein the workload type of the processing task includes at least one of the following: a bounded workload type, a periodic workload type, a critical real-time workload type, or a non-real-time workload type.
[0264] Clause 62: The method according to any one of Clauses 53-61, wherein the terminal device includes one or more of the following: a wireless station, a mobile device, a vehicle, a sensor, an XR device, an AR device, a video camera, or an IoT device.
[0265] Clause 63: The method according to any one of Clauses 53-62, wherein the second edge node is different from the first edge node.
[0266] Clause 64: A method for edge computing resource orchestration for processing tasks by a terminal device at a second edge node, comprising: receiving, from a first edge node or a terminal device among one or more edge nodes, an indication of an assignment of a processing task for the second edge node, wherein the assignment of the processing task for the second edge node is based on one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between the one or more edge nodes and the terminal device; and sending, based on the one or more parameters associated with the processing task, information associated with the processing task to one or both of the first edge node or the terminal device.
[0267] Clause 65: The method according to Clause 64, further comprising: receiving, from the first edge node or the terminal device, a query indicating the one or more parameters associated with the processing task; and sending to the first edge node or the terminal device an indication of an expected completion time for the processing task, wherein the assignment of the processing task for the second edge node is based on the expected completion time.
[0268] Clause 66: The method according to any one of Clauses 64-65, wherein the one or more parameters include at least one of the following: a quality of service (QoS) threshold associated with the processing task, a payload size associated with the processing task, a computation time associated with the processing task, a priority of the processing task, a workload type of the processing task, a latency threshold for the processing task, rendering information associated with the processing task, resolution information associated with the processing task, or a security requirement for the processing task.
[0269] Clause 67: The method according to any one of Clauses 64-66, wherein the second edge node queues the processing task in a processing pipeline of the second edge node according to the received indication of the assignment of the processing task for the second edge node, and the processing task includes at least one of a computation task, an I / O task, or a NAS task.
[0270] Clause 68: An apparatus for edge computing resource orchestration for processing tasks at a terminal device at a first edge node, comprising: a unit for receiving network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes from the terminal device; a unit for receiving a request associated with the processing task from the terminal device, wherein the request indicates one or more parameters associated with the processing task; and a unit for sending an indication of an assignment of the processing task for the second edge node to the second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0271] Clause 69: An apparatus for edge computing resource orchestration for processing tasks at a terminal device, comprising: a unit for sending network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes; a unit for sending a request associated with the processing task to at least a first edge node among the one or more edge nodes, wherein the request indicates one or more parameters associated with the processing task; and a unit for receiving information associated with the processing task from a second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0272] Clause 70: An apparatus for edge computing resource orchestration for processing tasks at a terminal device at a second edge node, comprising: a unit for receiving an indication of an assignment of a processing task for the second edge node from a first edge node or a terminal device among one or more edge nodes, wherein the assignment of the processing task for the second edge node is according to one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between the one or more edge nodes and the terminal device; and a unit for sending information associated with the processing task to one or both of the first edge node or the terminal device according to the one or more parameters associated with the processing task.
[0273] Clause 71: A non-transitory computer-readable medium storing code for edge computing resource orchestration for processing tasks of a terminal device at a first edge node, the code including instructions executable by a processor to perform the following operations: receiving network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes from the terminal device; receiving a request associated with the processing task from the terminal device, wherein the request indicates one or more parameters associated with the processing task; and sending an indication of an assignment of the processing task for the second edge node to the second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0274] Clause 72: A non-transitory computer-readable medium storing code for edge computing resource orchestration for processing tasks of a terminal device at the terminal device, the code including instructions executable by a processor to perform the following operations: sending network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes; sending a request associated with the processing task to at least a first edge node among the one or more edge nodes, wherein the request indicates one or more parameters associated with the processing task; and receiving information associated with the processing task from a second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
[0275] Clause 73: A non-transitory computer-readable medium storing code for edge computing resource orchestration for processing tasks of a terminal device at a second edge node, the code including instructions executable by a processor to perform the following operations: receiving an indication of an assignment of a processing task for the second edge node from a first edge node or the terminal device among one or more edge nodes, wherein the assignment of the processing task for the second edge node is according to one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between the one or more edge nodes and the terminal device; and sending information associated with the processing task to one or both of the first edge node or the terminal device according to the one or more parameters associated with the processing task.
[0276] Clause 74: A computer program including instructions that, when executed on a processor, cause the processor to perform the method according to any one of Clauses 34 - 67.
[0277] Clause 75: A device including a processing system capable of and configured to perform the method according to any one of Clauses 34 - 67.
[0278] As used herein, the term "determine" or "determining" encompasses a variety of actions, and thus, "determine" can include calculating, computing, processing, deriving, investigating, looking up (e.g., via a lookup in a table, database, or other data structure), inferring, ascertaining, and the like. Additionally, "determine" can include receiving (e.g., receiving information), accessing (e.g., accessing data stored in a memory), and the like. Further, "determine" can include parsing, selecting, choosing, establishing, and other such like actions.
[0279] As used herein, the phrase referring to "at least one" of a list of items refers to any combination of those items, including a single member. As an example, "at least one of a, b, or c" is intended to cover: a, b, c, a - b, a - c, b - c, and a - b - c.
[0280] The various illustrative logical, logical block, modules, circuits, and algorithmic processes described in connection with the implementations disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. The interchangeability of hardware and software has been described generally in terms of functionality and illustrated in the various illustrative components, blocks, modules, circuits, and processes described above. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system.
[0281] The hardware and data processing apparatus for implementing the various illustrative logical, logical block, modules, and circuits described in connection with the aspects disclosed herein can be implemented or executed using a general - purpose single - chip or multi - chip processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof that are designed to perform the functions described herein. A general - purpose processor can be a microprocessor or any processor, controller, microcontroller, or state machine. The processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, a particular process or method can be performed by circuitry specific to a given function.
[0282] In one or more aspects, the described functionality can be implemented using hardware, digital electronic circuits, computer software, firmware (including the structures disclosed in this specification and their structural equivalents), or any combination thereof. Implementations of the subject matter described in this specification can also be implemented as one or more computer programs encoded on a computer storage medium for execution by, or to control the operation of, a data processing apparatus, such as one or more modules of computer program instructions.
[0283] If implemented in software, the functions can be stored on or transmitted using one or more instructions or codes of a computer-readable medium. The processes of the methods or algorithms disclosed herein can be implemented in processor-executable software modules, which can reside on a computer-readable medium. Computer-readable media includes both computer storage media and communication media, and communication media includes any medium that can transfer a computer program from one place to another. Storage media can be any available medium that can be accessed by a computer. By way of example and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired program code in the form of instructions or data structures and that can be accessed by a computer.
[0284] In addition, any connection is properly termed a computer-readable medium. As used herein, disk and disc include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc. A disk can magnetically reproduce data, while a disc can optically reproduce data using lasers. Combinations of the above should also be included within the scope of computer-readable media. Further, operations of a method or algorithm can exist as one or any combination or collection of codes and instructions on a machine-readable medium and a computer-readable medium, which can be incorporated into a computer program product.
[0285] Various modifications to the implementations described in this disclosure will be apparent to those skilled in the art, and the general principles defined herein can be applied to other implementations without departing from the spirit or scope of the disclosure. Thus, the claims are not intended to be limited to the implementations shown herein but are to be accorded the widest scope consistent with the disclosure, the principles and features disclosed herein.
[0286] Additionally, those skilled in the art will readily recognize that the terms “above” and “below” are sometimes used for ease of description with reference to the orientation of the drawings and indicate relative positions corresponding to the orientation of the drawing on the correctly oriented page and may not reflect the correct orientation of any device as implemented.
[0287] Certain features that are described in the context of separate implementations in this specification can also be implemented in combination within a single implementation. Conversely, the various features described in the context of a single implementation can also be implemented separately or in any suitable sub-combination in multiple implementations. Further, although the features may have been described above as acting in some combinations and even initially claimed as such, one or more features from a claimed combination can be removed from the combination, and the claimed combination can refer to a sub-combination or a variation of a sub-combination.
[0288] Similarly, although operations are depicted in the figures in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in sequential order, or that all operations be performed to achieve the desired result. Further, the figures may schematically depict one or more example processes in the form of a flowchart. However, other operations not depicted may be incorporated into the example processes schematically illustrated. For example, one or more additional operations may be performed before, after, simultaneously with, or between any of the operations. In some cases, multitasking and parallel processing may be advantageous. Additionally, the separation of various system components in the implementations described above may not be required in all implementations, and it is understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Additionally, other implementations are within the scope of the appended claims. In some implementations, the acts recited in the claims can be performed in a different order and still achieve the desired result.
Claims
1. An apparatus for edge computing resource orchestration for processing tasks at a terminal device at a first edge node, comprising: One or more interfaces configured to: Obtain network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes from the terminal device; Obtain a request associated with the processing task from the terminal device, wherein the request indicates one or more parameters associated with the processing task; And Output an indication of the assignment of the processing task for the second edge node to the second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
2. The device according to claim 1, wherein The one or more interfaces are further configured to: If the first edge node is offline or becomes disconnected from the one or more edge nodes, output consistency information to the one or more edge nodes to maintain consistency across the one or more edge nodes.
3. The apparatus according to claim 1, wherein The one or more interfaces are further configured to: Output an indication of the one or more parameters associated with the processing task to each of the one or more edge nodes; and Obtain an indication of an expected completion time for the processing task from one or more of the one or more edge nodes, wherein the assignment of the processing task for the second edge node is based on the expected completion time.
4. The apparatus according to claim 1, wherein: The apparatus further comprises a processing system configured to: If a temporary edge node is offline or becomes disconnected from the first edge node, remove the temporary edge node from the list of available edge nodes; and The one or more interfaces are further configured to: Output an indication of reassigning one or more processing tasks from the temporary edge node to at least one edge node in the remaining set of edge nodes on the list of available edge nodes to the at least one edge node in the remaining set of edge nodes.
5. The device according to claim 1, wherein, The one or more interfaces are further configured to: Obtain an indication that the temporary edge node is online; and Output an indication of assigning one or more processing tasks from the one or more edge nodes to the online temporary edge node.
6. The device according to claim 5, wherein The one or more interfaces are further configured to: Output consistency information to the online temporary edge node.
7. The apparatus according to claim 1, wherein The one or more interfaces are further configured to: Obtain an indication that the terminal device has selected the first edge node as a resource management node for the terminal device.
8. The apparatus according to claim 1, wherein, The assignment of the processing task to the second edge node is based on at least one of the following: a latency threshold associated with the processing task, the priority of the processing task, a workload type associated with the processing task, the availability of computing resources of the second edge node, the availability of the battery of the second edge node, the power connection state of the second edge node, or a quality metric associated with the communication link between the second edge node and the terminal device.
9. The device according to claim 1, wherein The network link information indicates one or more of the following: the topology of the one or more wireless communication links, the aggregated processing capabilities of the one or more edge nodes, the quality metrics associated with the one or more wireless communication links, the battery levels of the one or more edge nodes, the power connection states of the one or more edge nodes, the workload information associated with the one or more edge nodes, or the predicted topology changes associated with the one or more wireless communication links.
10. The device according to claim 9, wherein, The predicted topology changes are associated with at least one of the following: the position of the terminal device relative to the one or more edge nodes, the speed of the terminal device relative to the one or more edge nodes, the motion trend data associated with the terminal device, or the motion trend data associated with the one or more edge nodes.
11. The apparatus according to claim 9, wherein, The quality metric includes at least one of the following: effective bandwidth, throughput level, latency, or signal-to-interference-and-noise ratio (SINR), each associated with the one or more wireless communication links.
12. The apparatus according to claim 9, wherein, The assignment of the processing task to the second edge node is based on the topology of the one or more wireless communication links.
13. The device according to claim 1, wherein The first edge node includes a resource management node that allocates processing tasks to the one or more edge nodes based on at least one of the following: the predicted resource availability of the one or more edge nodes, the predicted topology of the one or more wireless communication links, or a user-selected task prioritization strategy.
14. The device according to claim 1, wherein The one or more parameters include at least one of the following: a quality of service (QoS) threshold associated with the processing task, the payload size associated with the processing task, the computing time associated with the processing task, the priority of the processing task, the workload type of the processing task, a latency threshold for the processing task, the rendering information associated with the processing task, the resolution information associated with the processing task, or the security requirements for the processing task.
15. The apparatus according to claim 14, wherein The workload type of the processing task includes at least one of the following: a bounded workload type, a periodic workload type, a critical real-time workload type, or a non-real-time workload type.
16. The apparatus according to claim 1, wherein The one or more interfaces are further configured to: Output to the terminal device information associated with the second edge node and an indication of the assignment of the processing task to the second edge node, the information including at least the identifier of the second edge node.
17. The apparatus according to claim 1, wherein The one or more interfaces are further configured to: Output a request to the second edge node for allocating a first amount of computing resources to the second edge node for the processing task; and Obtain from the second edge node a response indicating a second amount of computing resources that are permitted for the processing task, wherein the second amount of resources is less than or equal to the first amount of computing resources.
18. An apparatus for edge computing resource orchestration of a processing task at a terminal device, comprising: One or more interfaces configured to: Output network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes; Output a request associated with the processing task to at least a first edge node among the one or more edge nodes, wherein the request indicates one or more parameters associated with the processing task; and Obtain information associated with the processing task from a second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
19. The device according to claim 18, wherein, To output the request, the one or more interfaces are configured to: Output the request to the one or more edge nodes via the one or more wireless communication links between the terminal device and the one or more edge nodes.
20. The device according to claim 19, wherein, The one or more interfaces are further configured to: Obtain an indication of an expected completion time for the processing task from one or more edge nodes among the one or more edge nodes according to outputting the request; and Output an indication of a selection of the second edge node according to the expected completion time for the second edge node, wherein the information associated with the processing task is obtained according to the selection.
21. The apparatus according to claim 18, wherein, The one or more interfaces are further configured to: Output an indication that the terminal device has selected the first edge node as a resource management node for the terminal device, wherein the selection of the first edge node is based on at least one of the following: a quality metric associated with a wireless communication link between the first edge node and the terminal device, the computing resource availability of the first edge node, the mobility state of the first edge node, the power type associated with the first edge node, the respective distance between the terminal device and the one or more edge nodes, or the respective signal quality associated with the one or more wireless communication links between the terminal device and the one or more edge nodes.
22. The apparatus according to claim 18, wherein, The network link information indicates at least one of the following: the topology for the one or more wireless communication links, the aggregated processing capabilities of the one or more edge nodes, the quality metrics associated with the one or more wireless communication links, the battery levels of the one or more edge nodes, the power connection states of the one or more edge nodes, the workload information associated with the one or more edge nodes, or the predicted topology changes associated with the one or more wireless communication links.
23. The apparatus according to claim 22, wherein, The predicted topology change is associated with at least one of the following: the position of the terminal device relative to the one or more edge nodes, the speed of the terminal device relative to the one or more edge nodes, motion trend data associated with the terminal device, or motion trend data associated with the one or more edge nodes.
24. An apparatus for edge computing resource orchestration for a terminal device to process a task at a second edge node, comprising: One or more interfaces configured to: Obtain an indication of an assignment of a processing task for the second edge node from a first edge node or a terminal device among the one or more edge nodes, wherein the assignment of the processing task for the second edge node is based on one or more parameters associated with the processing task and network link information associated with one or more wireless communication links between the one or more edge nodes and the terminal device; and Output information associated with the processing task to one or both of the first edge node or the terminal device according to the one or more parameters associated with the processing task.
25. The apparatus according to claim 24, wherein The one or more interfaces are further configured to: Obtain a query indicating the one or more parameters associated with the processing task from the first edge node or the terminal device; and Output an indication of an expected completion time for the processing task to the first edge node or the terminal device, wherein the assignment of the processing task for the second edge node is based on the expected completion time.
26. The apparatus according to claim 24, wherein The one or more parameters include at least one of the following: a quality of service (QoS) threshold associated with the processing task, a payload size associated with the processing task, a computation time associated with the processing task, a priority of the processing task, a workload type of the processing task, a latency threshold for the processing task, rendering information associated with the processing task, resolution information associated with the processing task, or a security requirement for the processing task.
27. The apparatus according to claim 24, wherein: The second edge node queues the processing task in a processing pipeline of the second edge node according to the obtained indication of the assignment of the processing task for the second edge node, and The processing task includes at least one of a computing task, an input / output (I / O) task, or a network addressable storage (NAS) task.
28. A method for edge computing resource orchestration for a terminal device to process a task at a first edge node, comprising: Receiving network link information associated with one or more wireless communication links between the terminal device and one or more edge nodes from the terminal device; Receiving a request associated with a processing task from the terminal device, wherein the request indicates one or more parameters associated with the processing task; And Send an indication of the assignment of the processing task for the second edge node among the one or more edge nodes according to the network link information and the one or more parameters associated with the processing task.
29. The method according to claim 28, further comprising: If the first edge node is offline or becomes disconnected from the one or more edge nodes, send consistency information to the one or more edge nodes to maintain consistency across the one or more edge nodes.
30. The method according to claim 28, further comprising: Send an indication of the one or more parameters associated with the processing task to each edge node among the one or more edge nodes; and Receive an indication of the expected completion time for the processing task from one or more of the one or more edge nodes, wherein the assignment of the processing task for the second edge node is based on the expected completion time.