# US 2019/0356971 A1 · Out-of-band platform tuning and configuration

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

- Number: US 2019/0356971 A1
- Document ID: US20190356971A1
- Status: Published application
- Kind: A1
- Application number: 16/390,846
- Filed: 2019-04-22
- Published: 2019-11-21
- Earliest claimed: 2015-09-25
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Andrew J. Herdrich; Patrick L. Connor; Dinesh Kumar; Alexander W. Min; Daniel J. Dahle; Kapil Sood; Jeffrey B. Shaw; Edwin Verplanke; Scott P. Dubal; James Robert Hearn
- Web page: https://patentgrep.com/patent/US20190356971A1

## CPC

- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- 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/5019: Ensuring fulfilment of SLA
- H04L 43/10: Active monitoring, e.g. heartbeat, ping or trace-route
- H04Q 9/02: Automatically-operated arrangements
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)

## Abstract

Devices and techniques for out-of-band platform tuning and configuration are described herein. A device can include a telemetry interface to a telemetry collection system and a network interface to network adapter hardware. The device can receive platform telemetry metrics from the telemetry collection system, and network adapter silicon hardware statistics over the network interface, to gather collected statistics. The device can apply a heuristic algorithm using the collected statistics to determine processing core workloads generated by operation of a plurality of software systems communicatively coupled to the device. The device can provide a reconfiguration message to instruct at least one software system to switch operations to a different processing core, responsive to detecting an overload state on at least one processing core, based on the processing core workloads. Other embodiments are also described.

## Claims

### Claim 1

An orchestration controller for a computer system having a multi-core computing platform architecture and a plurality of network adapters to provide in-band resources for facilitating in-band data flow for at least one software system, the orchestration controller comprising:
a network adapter out-of-band (OOB) interface to collect network adapter hardware operational data via network adapter OOB access to network adapter hardware of the plurality of network adaptors;
wherein the network adapter OOB access is separate from the in-band resources.

### Claim 2 (depends on 1)

The orchestration controller of claim 1, wherein the network adapter hardware operational data includes silicon hardware statistics of the network adapter hardware.

### Claim 3 (depends on 1)

The orchestration controller of claim 1, further comprising:
a platform out-of-band (OOB) interface to collect platform operational data via platform OOB access to processing cores of the multi-core computing platform, wherein the platform OOB access is separate from the in-band resources.

### Claim 4 (depends on 3)

The orchestration controller of claim 3, wherein the platform operational data includes platform telemetry metrics of a plurality of the processing cores.

### Claim 5 (depends on 4)

The orchestration controller of claim 4, wherein the platform telemetry metrics include processing core workloads of the plurality of the processing cores.

### Claim 6 (depends on 4)

The orchestration controller of claim 4, wherein the platform telemetry metrics include at least one metric selected from a group consisting of: processing core data, chipset data, memory element performance data, data received from an encryption unit, data received from a compression unit, storage data, virtual switch (vSwitch) data, or any combination thereof.

### Claim 7 (depends on 4)

The orchestration controller of claim 4, wherein the platform telemetry metrics include network interface card (NIC) telemetry data received over a NIC connection, including an indication of packets per second received at the NIC, average packet size received at the NIC, or some combination thereof.

### Claim 8 (depends on 4)

The orchestration controller of claim 4, wherein the platform telemetry metrics include platform quality of service (PQoS) metrics.

### Claim 9 (depends on 3)

The orchestration controller of claim 3, further comprising processing circuitry configured to:
receive the platform operational data via the platform OOB interface, and receive the network adapter hardware operational data via the network adapter OOB interface to gather collected statistics,
determine processing core workloads generated by operation the at least one software system executed by the computer system, and
provide a reconfiguration message to instruct the at least one software system to shift operations between processing cores, responsive to the processing core workloads.

### Claim 10 (depends on 9)

The orchestration controller of claim 9, wherein the reconfiguration message is to instruct the at least one software system to switch certain operations from a first processing core to a second processing core.

### Claim 11 (depends on 9)

The orchestration controller of claim 9, wherein the processing circuitry is further configured to:
determine whether service level agreement (SLA) criteria have been met based on the processing core workloads; and
report a SLA violation to a datacenter management entity if the SLA criteria have not been met.

### Claim 12 (depends on 9)

The orchestration controller of claim 9, wherein the processing circuitry is further configured to:
instruct a set of at least two processing cores to enter an offline state;
provide instructions for performing testing on each of the set of at least two processing cores after a respective one of the set of at least two processing cores has entered the offline state; and
rank performance of at least two processing cores, based on respective performance of those processing cores during the testing, to produce a ranked set.

### Claim 13 (depends on 12)

The orchestration controller of claim 12, wherein the processing circuitry is further configured to:
provide instructions for steering incoming NIC traffic to a processing core of the ranked set based on priority level of the incoming NIC traffic.

### Claim 14 (depends on 12)

The orchestration controller of claim 12, wherein the processing circuitry is further configured to:
receive a configuration state from a remote entity, the configuration state including at least one processing core identifier and at least one configuration parameter corresponding to the at least one processing core identifier;
provide, to the remote entity, measured performance of at least one processing core identified by the at least one processing core identifier based on the testing; and
receive reconfiguration information from the remote entity in response to the measured performance.

### Claim 15 (depends on 9)

The orchestration controller of claim 9, wherein the processing circuitry is further configured to:
in response to receipt of performance monitoring event information corresponding to a parameter of interest, detect application performance to generate a performance measure associating application performance to the parameter of interest;
generate a sensitivity relation, based on the performance measure, to determine sensitivity of application performance to the parameter of interest; and
provide the sensitivity relation as an input to a reconfiguration decision algorithm that produces the reconfiguration message.

### Claim 16

An automated method for managing resources in a computer system having a multi-core computing platform architecture and a plurality of network adapters, the method comprising:
communicating in-band data flow for at least one software system via in-band resources of the computer system;
collecting network adapter hardware operational data via a network adapter out-of-band (OOB) access to network adapter hardware of the plurality of network adaptors;
wherein the network adapter OOB access is separate from the in-band resources.

### Claim 17 (depends on 16)

The method of claim 16, wherein collecting the network adapter hardware operational data includes collecting silicon hardware statistics of the network adapter hardware.

### Claim 18 (depends on 16)

The method of claim 16, further comprising:
collecting platform operational data via platform OOB access to processing cores of the multi-core computing platform, wherein the platform OOB access is separate from the in-band resources.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
receiving the platform operational data via the platform OOB access;
receiving the network adapter hardware operational data via the network adapter OOB access to gather collected statistics;
determining processing core workloads generated by operation the at least one software system executed by the computer system, and
providing a reconfiguration message to instruct the at least one software system to shift operations between processing cores, responsive to the processing core workloads.

### Claim 20 (depends on 19)

The method of claim 19, further comprising:
detecting any presence of an overload state on at least one of the processing cores, based on the processing core workloads.

### Claim 21 (depends on 19)

The method of claim 19, further comprising:
determining whether service level agreement (SLA) criteria have been met based on the processing core workloads; and
reporting a SLA violation to a datacenter management entity if the SLA criteria have not been met.

### Claim 22 (depends on 19)

The method of claim 19, further comprising:
instructing a set of at least two processing cores to enter an offline state;
providing instructions for performing testing on each of the set of at least two processing cores after a respective one of the set of at least two processing cores has entered the offline state; and
ranking performance of at least two processing cores, based on respective performance of those processing cores during the testing, to produce a ranked set.

### Claim 23 (depends on 22)

The method of claim 22, further comprising:
providing instructions for steering incoming NIC traffic to a processing core of the ranked set based on priority level of the incoming NIC traffic.

### Claim 24 (depends on 22)

The method of claim 22, further comprising:
receiving a configuration state from a remote entity, the configuration state including at least one processing core identifier and at least one configuration parameter corresponding to the at least one processing core identifier;
providing, to the remote entity, measured performance of at least one processing core identified by the at least one processing core identifier based on the testing; and
receiving reconfiguration information from the remote entity in response to the measured performance.

### Claim 25 (depends on 19)

The method of claim 19, further comprising:
in response to receipt of performance monitoring event information corresponding to a parameter of interest, detecting application performance to generate a performance measure associating application performance to the parameter of interest;
generating a sensitivity relation, based on the performance measure, to determine sensitivity of application performance to the parameter of interest; and
providing the sensitivity relation as an input to a reconfiguration decision algorithm that produces the reconfiguration message.
