# US 12,112,201 B2 · Methods and apparatus to aggregate telemetry data in an edge environment

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

- Number: US 12,112,201 B2
- Document ID: US12112201B2
- Status: Granted
- Kind: B2
- Application number: 17/568,567
- Filed: 2022-01-04
- Published: 2022-06-30
- Granted: 2024-10-08
- Earliest claimed: 2019-09-28
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Kshitij Doshi; Francesc Guim Bernat; Timothy Verrall; Ned Smith; Rajesh Gadiyar
- Web page: https://patentgrep.com/patent/US12112201B2

## CPC

- G06F 9/544: {Buffers; Shared memory; Pipes}
- G06F 8/443: {Optimisation}
- G06F 9/44594: {Unloading}
- G06F 9/5016: {the resource being the memory}
- G06F 9/505: {considering the load}
- G06F 9/5072: {Grid computing}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 16/1865: {Transactional file systems}
- G06F 16/90339: {by using parallel associative memories or content-addressable memories}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- H04L 9/008: {involving homomorphic encryption}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/0822: {using key encryption key}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0866: {involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 41/0893: Assignment of logical groups to network elements
- H04L 41/0894: Policy-based network configuration management
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/0896: Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76)
- H04L 41/142: using statistical or mathematical methods
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L 41/5051: Service on demand, e.g. definition and deployment of services in real time
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 47/822: {Collecting or measuring resource availability data}
- H04L 63/0407: {wherein the identity of one or more communicating identities is hidden (cryptographic mechanisms or cryptographic arrangements for anonymous credentials or for identity based cryptographic systems H04L9/00)}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/06: {for supporting key management in a packet data network (cryptographic mechanisms or cryptographic arrangements for key management H04L9/08)}
- H04L 63/108: {when the policy decisions are valid for a limited amount of time}
- H04L 63/1408: {by monitoring network traffic (monitoring network traffic per se H04L43/00)}
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- G06F 9/3836: {Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution}
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- G06F 11/3058: {Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations (thermal management in cooling arrangements of a computing system G06F1/206)}
- G06F 12/1408: {by using cryptography (for digital transmission H04L9/00)}
- G06F 16/2322: {using timestamps}
- G06F 2209/509: Offload
- G16Y 40/10: Detection; Monitoring
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G16Y: INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Methods, apparatus, systems, and articles of manufacture are disclosed to aggregate telemetry data in an edge environment. An example apparatus includes at least one processor, and memory including instructions that, when executed, cause the at least one processor to at least generate a composition for an edge service in the edge environment, the composition representative of a first interface to obtain the telemetry data, the telemetry data associated with resources of the edge service and including a performance metric, generate a resource object based on the performance metric, generate a telemetry object based on the performance metric, and generate a telemetry executable based on the composition, the composition including at least one of the resource object or the telemetry object, the telemetry executable to generate the telemetry data in response to the edge service executing a computing task distributed to the edge service based on the telemetry data.

## Claims

### Claim 1

At least one non-transitory computer readable storage medium comprising first instructions to cause at least one processor circuit to at least:
identify a first resource of an edge service after a request from an endpoint device for the edge service to execute a workload;
map a performance metric of the first resource to a first function of the first resource, the first function of the first resource to cause the first resource to execute operations to satisfy the performance metric;
generate a first resource object based on the first function of the first resource, the first resource object to include second instructions to facilitate accessing first telemetry data after execution of the first function by the first resource;
initiate the edge service to determine the first telemetry data of the first resource;
generate a second resource object to obtain second telemetry data associated with a second function of a second resource of the edge service, the second resource object to facilitate accessing the second telemetry data from the second resource object after an execution of the second function by the second resource; and
after a determination that the first resource is dependent on the second resource, generate a resource composition to link the first resource object and the second resource object, the resource composition to include at least one resource model representative of a virtualization of the first resource and the second resource.

### Claim 2 (depends on 1)

The at least one non-transitory computer readable storage medium of claim 1, wherein the edge service is a first edge service, and the first instructions are to cause one or more of the at least one processor circuit to:
disassociate the first resource from the first edge service in response to completion of the workload, the disassociation including decommissioning at least one of the first resource object or the first edge service; and
associate the first resource with a second edge service.

### Claim 3 (depends on 1)

The at least one non-transitory computer readable storage medium of claim 1, wherein the first resource includes a first hardware core of a multi-core hardware processor, the edge service is a first edge service, and the first instructions are to cause one or more of the at least one processor circuit to:
associate the first hardware core with the first edge service; and
associate a second hardware core of the multi-core hardware processor with a second edge service.

### Claim 4 (depends on 1)

The at least one non-transitory computer readable storage medium of claim 1, wherein the first resource is a hardware resource, the first telemetry data is associated with at least one of a hardware counter or a software counter of the hardware resource, and the first instructions are to cause one or more of the at least one processor circuit to:
instantiate a resource information object (RIO) based on the first function, the RIO to represent a first command to access a value of the at least one of the hardware counter or the software counter from the hardware resource; and
instantiate a RIO interface based on the at least one of the hardware counter or the software counter, the RIO interface representative of a second command to access the value of the at least one of the hardware counter or the software counter from the RIO.

### Claim 5 (depends on 1)

The at least one non-transitory computer readable storage medium of claim 1, wherein the first instructions are to cause one or more of the at least one processor circuit to:
generate the second resource object based on the second resource after the determination that the first resource is dependent on the second resource; and
generate the edge service based on at least one of the first resource or the second resource, the first telemetry data associated with the at least one of the first resource or the second resource.

### Claim 6 (depends on 1)

The at least one non-transitory computer readable storage medium of claim 1, wherein the first instructions are to cause one or more of the at least one processor circuit to:
generate the second resource object based on the second resource, the second resource object associated with a second parameter, the second parameter different from a first parameter associated with the first resource object.

### Claim 7 (depends on 1)

The at least one non-transitory computer readable storage medium of claim 1, wherein the first telemetry data includes the performance metric of the first resource, and the first instructions are to cause one or more of the at least one processor circuit to:
associate a performance metric code and the performance metric;
associate the performance metric code and a memory location, a value of the performance metric to be stored at the memory location;
after a storage of the value of the performance metric at the memory location, activate a trigger; and
after activation of the trigger, cause the edge service to provide the performance metric code to the first resource object, the performance metric code to cause the first resource object to provide, to the edge service, access to the value of the performance metric.

### Claim 8 (depends on 7)

The at least one non-transitory computer readable storage medium of claim 7, wherein the first resource is a multi-core hardware processor, and the performance metric is one of a first value of a number of hardware threads of the multi-core hardware processor, a second value to identify a type of accelerator supported by the multi-core hardware processor, a third value of a latency associated with one or more cores of the multi-core hardware processor, or a fourth value of a hardware counter.

### Claim 9

An apparatus comprising:
at least one memory;
machine readable instructions; and
at least one processor circuit to be programmed by the machine readable instructions to:
determine a first resource of an edge service in an edge environment after a request from an endpoint device for the edge service to execute a workload, the request to indicate that a type of the first resource is to be utilized to execute the workload;
map a performance metric of the first resource to a first function of the first resource, the first function of the first resource to cause the first resource to execute operations to satisfy the performance metric;
generate a first resource object based on the first function of the first resource, the first resource object to include second instructions to facilitate accessing first telemetry data after execution of the first function by the first resource;
instantiate the edge service to determine the first telemetry data of the first resource;
generate a second resource object to obtain second telemetry data associated with a second function of a second resource of the edge service, the second resource object to facilitate accessing the second telemetry data from the second resource object after an execution of the second function by the second resource; and
after a determination that the first resource is dependent on the second resource, generate a resource composition to link the first resource object and the second resource object, the resource composition to include at least one resource model representative of a virtualization of the first resource and the second resource.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the first resource includes a first hardware core of a multi-core hardware processor, the edge service is a first edge service, and one or more of the at least one processor circuit is to:
link the first hardware core with the first edge service; and
link a second hardware core of the multi-core hardware processor with a second edge service.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the first resource is a hardware resource, the first telemetry data is associated with at least one of a hardware counter or a software counter of the hardware resource, and one or more of the at least one processor circuit is to:
create a resource information object (RIO) based on the first function, the RIO to represent a first command to access a value of the at least one of the hardware counter or the software counter from the hardware resource; and
create a RIO interface based on the at least one of the hardware counter or the software counter, the RIO interface representative of a second command to access the value of the at least one of the hardware counter or the software counter from the RIO.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein the first telemetry data includes the performance metric of the first resource, and one or more of the at least one processor circuit is to:
generate a first association of a performance metric code and the performance metric;
generate a second association of the performance metric code and a memory location, a value of the performance metric to be stored at the memory location;
after a storage of the value of the performance metric at the memory location, invoke a trigger; and
after invocation of the trigger, cause the edge service to provide the performance metric code to the first resource object, the performance metric code to cause the first resource object to provide, to the edge service, access to the value of the performance metric.

### Claim 13

At least one non-transitory computer readable storage medium comprising first instructions to cause at least one processor circuit to at least:
identify first telemetry data based on a first resource of an edge service in an edge environment, the first resource selected to execute a workload by the edge service after a request from an endpoint device for the edge service to execute the workload;
map a performance metric of the first resource to a first function of the first resource, the first function of the first resource to cause the first resource to execute operations to satisfy the performance metric;
generate a first telemetry object based on the first function of the first resource, the first telemetry object to include second instructions to facilitate accessing the first telemetry data after execution of the first function by the first resource;
generate an executable file based on the first telemetry object;
deploy the executable file on the edge environment, the executable file to initiate the edge service to determine the first telemetry data of the first resource;
generate a second telemetry object to obtain second telemetry data associated with a second function of a second resource of the edge service, the second telemetry object to facilitate accessing the second telemetry data from the second telemetry object after an execution of the second function by the second resource; and
after a determination that the first resource is dependent on the second resource, generate a resource composition to link the first telemetry object and the second telemetry object, the resource composition to include at least one resource model representative of a virtualization of the first resource and the second resource.

### Claim 14 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the edge service is a first edge service, and the first instructions to cause one or more of the at least one processor circuit to:
disassociate the first resource from the edge service after completion of the workload, the disassociation including decommissioning at least one of the first telemetry object or the edge service; and
commission the first resource to a second edge service.

### Claim 15 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the first resource is a hardware resource, the first telemetry data is associated with at least one of a hardware counter or a software counter of the hardware resource, and the first instructions to cause one or more of the at least one processor circuit to:
instantiate a telemetry information object (TIO) based on the hardware resource, the TIO to represent a first command to access a value of the at least one of the hardware counter or the software counter from the hardware resource; and
instantiate a TIO interface based on the TIO, the TIO representative of a second command to access the value of the at least one of the hardware counter or the software counter from the TIO.

### Claim 16 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the first instructions are to cause one or more of the at least one processor circuit to:
virtualize the first resource, the generation of the first telemetry object based on the virtualization of the first resource;
associate the second instructions of the first telemetry object with the virtualization of the first resource; and
request the first telemetry data from the virtualization of the first resource through the second instructions.

### Claim 17 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the first instructions are to cause one or more of the at least one processor circuit to:
generate the second telemetry object based on the second resource after the determination that the first resource is dependent on the second resource; and
generate the edge service based on at least one of the first resource, the second resource, the first telemetry object, or the second telemetry object, the first telemetry data associated with the at least one of the first resource or the second resource.

### Claim 18 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the first instructions are to cause one or more of the at least one processor circuit to:
generate the second telemetry object based on the second resource, the second telemetry object associated with a second parameter, the second parameter different from a first parameter associated with the first telemetry object.

### Claim 19 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the first telemetry data includes the performance metric of the first resource, and the first instructions are to cause one or more of the at least one processor circuit to:
associate a performance metric code and the performance metric;
associate the performance metric code and a memory location, a value of the performance metric to be stored at the memory location;
after a storage of the value of the performance metric at the memory location, activate a trigger; and
after activation of the trigger, cause the edge service to provide the performance metric code to the first telemetry object, the performance metric code to cause the first telemetry object to provide, to the edge service, access to the value of the performance metric.

### Claim 20 (depends on 19)

The at least one non-transitory computer readable storage medium of claim 19, wherein the first resource is a multi-core hardware processor, and the performance metric is one of a first value of a number of hardware threads of the multi-core hardware processor, a second value to identify a type of accelerator supported by the multi-core hardware processor, a third value of a latency associated with one or more cores of the multi-core hardware processor, or a fourth value of a hardware counter.

### Claim 21

An apparatus comprising:
at least one memory;
machine readable instructions; and
at least one processor circuit to be programmed by the machine readable instructions to:
identify first telemetry data based on a first resource of an edge service in an edge environment, the first resource selected to execute a workload by the edge service after a request from an endpoint device for the edge service to execute the workload;
map a performance metric of the first resource to a first function of the first resource, the first function of the first resource to cause the first resource to execute operations to satisfy the performance metric;
generate a first telemetry object based on the first function of the first resource, the first telemetry object to include second instructions to facilitate accessing the first telemetry data after execution of the first function by the first resource;
generate an executable file based on the first telemetry object;
store the executable file on the edge environment, the executable file to initiate the edge service to determine the first telemetry data of the first resource;
generate a second telemetry object to obtain second telemetry data associated with a second function of a second resource of the edge service, the second telemetry object to facilitate accessing the second telemetry data from the second telemetry object after an execution of the second function by the second resource; and
after a determination that the first resource is dependent on the second resource, generate a resource composition to link the first telemetry object and the second telemetry object, the resource composition to include at least one resource model representative of a virtualization of the first resource and the second resource.

### Claim 22 (depends on 21)

The apparatus of claim 21, wherein the first resource is a hardware resource, the first telemetry data is associated with at least one of a hardware counter or a software counter of the hardware resource, and one or more of the processor circuit to:
generate a telemetry information object (TIO) based on the hardware resource, the TIO to represent a first command to access a value of the at least one of the hardware counter or the software counter from the hardware resource; and
generate a TIO interface based on the TIO, the TIO representative of a second command to access the value of the at least one of the hardware counter or the software counter from the TIO.

### Claim 23 (depends on 21)

The apparatus of claim 21, wherein the first telemetry data includes the performance metric of the first resource, and one or more of the processor circuit to:
associate a performance metric code and the performance metric;
associate the performance metric code and a memory location, a value of the performance metric to be stored at the memory location;
after a storage of the value of the performance metric at the memory location, activate a trigger; and
after activation of the trigger, cause the edge service to provide the performance metric code to the first telemetry object, the performance metric code to cause the first telemetry object to provide, to the edge service, access to the value of the performance metric.

### Claim 24 (depends on 1)

The at least one non-transitory computer readable storage medium of claim 1, wherein the resource composition is a first resource composition, and the first instructions are to cause one or more of the at least one processor circuit to:
determine a change in availability of at least one of the first resource or the second resource, the change in availability representative of at least one of the first resource or the second resource being no longer available or becoming available to the edge service; and
generate a second resource composition based on the change in availability and the first resource composition.
