# US 12,010,038 B2 · Edge utility system with dynamic aggregation of edge resources across multiple edge computing sites

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,038 B2
- Document ID: US12010038B2
- Status: Granted
- Kind: B2
- Application number: 17/682,077
- Filed: 2022-02-28
- Published: 2023-08-31
- Granted: 2024-06-11
- Earliest claimed: 2022-02-28
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Amy N. Seibel; Victor Fong; Eric Bruno
- Web page: https://patentgrep.com/patent/US12010038B2

## CPC

- H04L 47/80: Actions related to the user profile or the type of traffic
- H04L 47/822: {Collecting or measuring resource availability data}
- H04L 47/827: {Aggregation of resource allocation or reservation requests}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method includes receiving inputs for respective users in an edge utility system comprising edge and core computing sites, with a first one of the inputs for a first user characterizing edge resources requested by that user for executing at least a portion of a workload of that user, and a second one of the inputs for a second user characterizing edge resources available from that user for executing at least a portion of a workload of another user. The method includes populating one or more data structures based at least in part on the received inputs, aggregating edge resources of multiple ones of the edge computing sites into an edge network based at least in part on the populated data structures, and utilizing at least a portion of the aggregated edge resources of the edge network to execute at least a portion of a workload of a particular user.

## Claims

### Claim 1

An apparatus comprising:
at least one processing device comprising a processor coupled to a memory;
the at least one processing device being configured:
to receive a plurality of inputs for respective users in an edge utility system, the edge utility system comprising a plurality of edge computing sites coupled to one or more core computing sites via at least one network, at least a first one of the inputs for a first one of the users characterizing edge resources requested by that user as a resource-acquiring user of the edge utility system for executing at least a portion of a workload of that user, and at least a second one of the inputs for a second one of the users characterizing edge resources available from that user as a resource-providing user of the edge utility system for executing at least a portion of a workload of another user;
to populate one or more data structures based at least in part on the plurality of inputs received for the respective users in the edge utility system;
to aggregate edge resources of multiple ones of the edge computing sites into an edge network based at least in part on the populated data structures; and
to utilize at least a portion of the aggregated edge resources of the edge network to execute at least a portion of a workload of a particular one of the users, including allocating at least a portion of the edge resources available from the second user as the resource-providing user of the edge utility system to execute at least a portion of the workload of the first user as the resource-acquiring user of the edge utility system;
wherein the aggregated edge resources comprise resources of at least one edge device, the resources of the at least one edge device having been previously acquired by the second user from at least one additional user of the edge utility system other than the first user, the at least one edge device having a corresponding edge utility meter configured to determine a particular portion of the previously-acquired resources of the at least one edge device that are utilized in executing one or more portions of the workload of the first user;
wherein the edge utility meter corresponding to the at least one edge device comprises one of a plurality of edge utility meters deployed in the edge utility system for different ones of a plurality of edge devices;
wherein different ones of the edge utility meters are configured for respective different ones of the first, second and additional users;
wherein different instances of identifying information of respective ones of the users are placed into one or more queues of the edge utility system in association with meter readings generated by their respective corresponding edge utility meters; and
wherein the aggregated edge resources are determined based at least in part on results of matching at least one of the users having first identifying information selected from the one or more queues with another one of the users having second identifying information selected from the one or more queues, the second identifying information being different than the first identifying information.

### Claim 2 (depends on 1)

The apparatus of claim 1 wherein each of at least a subset of the edge computing sites of the edge utility system comprises a plurality of edge devices and at least one edge utility meter configured to measure utilization of the edge devices of that edge computing site by one or more of the users in the edge utility system.

### Claim 3 (depends on 1)

The apparatus of claim 1 wherein the edge resources of each of at least a subset of the edge computing sites of the edge utility system comprise at least one of compute, storage and network resources of a plurality of edge devices of that edge computing site.

### Claim 4 (depends on 1)

The apparatus of claim 1 wherein the one or more core computing sites of the edge utility system comprise at least one data center implemented at least in part utilizing cloud infrastructure.

### Claim 5 (depends on 1)

The apparatus of claim 1 wherein the aggregated edge resources of the edge network are arranged in a multi-level hierarchy with communication of information between levels of the hierarchy being handled by corresponding controllers implemented at respective ones of those levels.

### Claim 6 (depends on 1)

The apparatus of claim 1 wherein the first input for the first user comprises at least one of:
a trust indicator specifying a trust level for providers of edge resources for executing at least a portion of the workload of that user; and
an energy efficiency indicator specifying an energy efficiency level for providers of edge resources for executing at least a portion of the workload of that user.

### Claim 7 (depends on 1)

The apparatus of claim 1 wherein aggregating edge resources of multiple ones of the edge computing sites into an edge network based at least in part on the populated data structures comprises aggregating edge resources from different edge computing sites at different geographic locations to form the edge network.

### Claim 8 (depends on 7)

The apparatus of claim 7 wherein forming the edge network comprises:
forming a first edge network utilizing edge resources from a first set of edge computing sites at respective geographic locations; and
forming a second edge network utilizing edge resources from a second set of edge computing sites at respective geographic locations.

### Claim 9 (depends on 8)

The apparatus of claim 8 wherein the first and second edge networks overlap with one another at one or more of the geographic locations.

### Claim 10 (depends on 1)

The apparatus of claim 1 wherein aggregating edge resources of multiple ones of the edge computing sites into an edge network based at least in part on the populated data structures comprises:
comparing characteristics from the first input for the first user to characteristics from the second input for the second user; and
matching one or more edge resources requested by the first user with one or more edge resources available from the second user based at least in part on the comparing;
wherein the aggregated edge resources of the edge network comprise the one or more edge resources available from the second user that match the one or more edge resources requested by the first user.

### Claim 11 (depends on 1)

The apparatus of claim 1 wherein the at least one processing device is further configured to monitor at least one edge utility meter for each of one or more edge devices of each of at least a subset of the edge computing sites.

### Claim 12 (depends on 11)

The apparatus of claim 11 wherein the edge utility meter is configured to provide metrics measuring utilization of edge resources of its corresponding one or more edge devices.

### Claim 13 (depends on 11)

The apparatus of claim 11 wherein the edge utility meter is periodically updated in conjunction with execution of at least a portion of the workload of the particular one of the users utilizing aggregated edge resources that include one or more edge resources of its corresponding one or more edge devices.

### Claim 14 (depends on 1)

The apparatus of claim 1 wherein each of the edge computing sites is configured to broadcast updates regarding its edge resources to at least one scheduler that controls workload execution utilizing the aggregate edge resources of the edge network.

### Claim 15

A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:
to receive a plurality of inputs for respective users in an edge utility system, the edge utility system comprising a plurality of edge computing sites coupled to one or more core computing sites via at least one network, at least a first one of the inputs for a first one of the users characterizing edge resources requested by that user as a resource-acquiring user of the edge utility system for executing at least a portion of a workload of that user, and at least a second one of the inputs for a second one of the users characterizing edge resources available from that user as a resource-providing user of the edge utility system for executing at least a portion of a workload of another user;
to populate one or more data structures based at least in part on the plurality of inputs received for the respective users in the edge utility system;
to aggregate edge resources of multiple ones of the edge computing sites into an edge network based at least in part on the populated data structures; and
to utilize at least a portion of the aggregated edge resources of the edge network to execute at least a portion of a workload of a particular one of the users, including allocating at least a portion of the edge resources available from the second user as the resource-providing user of the edge utility system to execute at least a portion of the workload of the first user as the resource-acquiring user of the edge utility system;
wherein the aggregated edge resources comprise resources of at least one edge device, the resources of the at least one edge device having been previously acquired by the second user from at least one additional user of the edge utility system other than the first user, the at least one edge device having a corresponding edge utility meter configured to determine a particular portion of the previously-acquired resources of the at least one edge device that are utilized in executing one or more portions of the workload of the first user;
wherein the edge utility meter corresponding to the at least one edge device comprises one of a plurality of edge utility meters deployed in the edge utility system for different ones of a plurality of edge devices;
wherein different ones of the edge utility meters are configured for respective different ones of the first, second and additional users;
wherein different instances of identifying information of respective ones of the users are placed into one or more queues of the edge utility system in association with meter readings generated by their respective corresponding edge utility meters; and
wherein the aggregated edge resources are determined based at least in part on results of matching at least one of the users having first identifying information selected from the one or more queues with another one of the users having second identifying information selected from the one or more queues, the second identifying information being different than the first identifying information.

### Claim 16 (depends on 15)

The computer program product of claim 15 wherein each of at least a subset of the edge computing sites of the edge utility system comprises a plurality of edge devices and at least one edge utility meter configured to measure utilization of the edge devices of that edge computing site by one or more of the users in the edge utility system.

### Claim 17 (depends on 15)

The computer program product of claim 15 wherein aggregating edge resources of multiple ones of the edge computing sites into an edge network based at least in part on the populated data structures comprises:
comparing characteristics from the first input for the first user to characteristics from the second input for the second user; and
matching one or more edge resources requested by the first user with one or more edge resources available from the second user based at least in part on the comparing;
wherein the aggregated edge resources of the edge network comprise the one or more edge resources available from the second user that match the one or more edge resources requested by the first user.

### Claim 18

A method comprising:
receiving a plurality of inputs for respective users in an edge utility system, the edge utility system comprising a plurality of edge computing sites coupled to one or more core computing sites via at least one network, at least a first one of the inputs for a first one of the users characterizing edge resources requested by that user as a resource-acquiring user of the edge utility system for executing at least a portion of a workload of that user, and at least a second one of the inputs for a second one of the users characterizing edge resources available from that user as a resource-providing user of the edge utility system for executing at least a portion of a workload of another user;
populating one or more data structures based at least in part on the plurality of inputs received for the respective users in the edge utility system;
aggregating edge resources of multiple ones of the edge computing sites into an edge network based at least in part on the populated data structures; and
utilizing at least a portion of the aggregated edge resources of the edge network to execute at least a portion of a workload of a particular one of the users, including allocating at least a portion of the edge resources available from the second user as the resource-providing user of the edge utility system to execute at least a portion of the workload of the first user as the resource-acquiring user of the edge utility system;
wherein the aggregated edge resources comprise resources of at least one edge device, the resources of the at least one edge device having been previously acquired by the second user from at least one additional user of the edge utility system other than the first user, the at least one edge device having a corresponding edge utility meter configured to determine a particular portion of the previously-acquired resources of the at least one edge device that are utilized in executing one or more portions of the workload of the first user;
wherein the edge utility meter corresponding to the at least one edge device comprises one of a plurality of edge utility meters deployed in the edge utility system for different ones of a plurality of edge devices;
wherein different ones of the edge utility meters are configured for respective different ones of the first, second and additional users;
wherein different instances of identifying information of respective ones of the users are placed into one or more queues of the edge utility system in association with meter readings generated by their respective corresponding edge utility meters;
wherein the aggregated edge resources are determined based at least in part on results of matching at least one of the users having first identifying information selected from the one or more queues with another one of the users having second identifying information selected from the one or more queues, the second identifying information being different than the first identifying information; and
wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

### Claim 19 (depends on 18)

The method of claim 18 wherein each of at least a subset of the edge computing sites of the edge utility system comprises a plurality of edge devices and at least one edge utility meter configured to measure utilization of the edge devices of that edge computing site by one or more of the users in the edge utility system.

### Claim 20 (depends on 18)

The method of claim 18 wherein aggregating edge resources of multiple ones of the edge computing sites into an edge network based at least in part on the populated data structures comprises:
comparing characteristics from the first input for the first user to characteristics from the second input for the second user; and
matching one or more edge resources requested by the first user with one or more edge resources available from the second user based at least in part on the comparing;
wherein the aggregated edge resources of the edge network comprise the one or more edge resources available from the second user that match the one or more edge resources requested by the first user.
