# US 11,307,787 B2 · Technologies for providing manifest-based asset representation

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

- Number: US 11,307,787 B2
- Document ID: US11307787B2
- Status: Granted
- Kind: B2
- Application number: 15/826,051
- Filed: 2017-11-29
- Published: 2018-05-31
- Granted: 2022-04-19
- Earliest claimed: 2016-11-29
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Murugasamy K. Nachimuthu; Mohan J. Kumar; Alberto J. Munoz
- Web page: https://patentgrep.com/patent/US11307787B2

## CPC

- G06F 9/5005: {to service a request}
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- 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 9/5044: {considering hardware capabilities}
- G06F 9/505: {considering the load}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 11/0709: {in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems}
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/3079: {the data filtering being achieved by reporting only the changes of the monitored data}
- G06F 11/3409: {for performance assessment}
- G06F 13/1652: {in a multiprocessor architecture (interprocessor communication using common memory G06F15/167)}
- G06F 13/4022: {using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence)}
- G06F 13/4027: {using bus bridges (G06F13/4022 takes precedence)}
- G06F 15/161: {Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning (casings, cabinets, racks or drawers for data centers H05K5/00)}
- G06F 21/44: Program or device authentication
- G06F 21/57: Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F 21/70: Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F 21/73: by creating or determining hardware identification, e.g. serial numbers
- H03K 19/1731: {Optimisation thereof}
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 41/0853: by actively collecting configuration information or by backing up configuration information
- H04L 41/12: Discovery or management of network topologies
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 47/83: based on usage prediction
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H05K 7/1492: {having electrical distribution arrangements, e.g. power supply or data communications}
- H04L 47/78: Architectures of resource allocation
- 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)
- H03K: PULSE TECHNIQUE (measuring pulse characteristics G01R; modulating sinusoidal oscillations with pulses H03C; transmission of digital information H04L; discriminator circuits detecting phase difference between two signals by counting or integrating cycles of oscillation H03D3/04; automatic control, starting, synchronisation or stabilisation of generators of electronic oscillations or pulses where the type of generator is irrelevant or unspecified H03L; coding, decoding or code conversion, in general H03M)
- H05K: PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS

## Abstract

Technologies for generating manifest data for a sled include a sled to generate manifest data indicative of one or more characteristics of the sled (e.g., hardware resources, firmware resources, a configuration of the sled, or a health of sled components). The sled is also to associate an identifier with the manifest data. The identifier uniquely identifies the sled from other sleds. Additionally, the sled is to send the manifest data and the associated identifier to a server. The sled may also detect a change in the hardware resources, firmware resources, the configuration, or component health of the sled. The sled may also generate an update of the manifest data based on the detected change, where the update specifies the detected change in the hardware resources, firmware resources, the configuration, or component health of the sled. The sled may also send the update of the manifest data to the server.

## Claims

### Claim 1

An apparatus, comprising:
a compute circuitry to:
generate manifest data indicative of one or more characteristics of multiple devices coupled to a circuit board, wherein the manifest data comprises configuration information indicative of firmware configurations of individual devices of the multiple devices and wherein the configuration information indicative of firmware configurations of individual devices of the multiple devices is to indicate one or more of: a BIOS version, baseboard management controller (BMC) firmware version, DIMM firmware version, and/or solid state drive (SSD) firmware version;
associate an identifier with the manifest data, wherein the identifier identifies the apparatus from among a plurality of apparatuses;
send the manifest data and the associated identifier to an orchestrator server;
detect a change in at least one or more characteristics of at least one device among the multiple devices;
update the manifest data based on the detected change, wherein the update specifies the detected change in the one or more characteristics of the at least one device; and
send the update of the manifest data to the orchestrator server.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein to update the manifest data comprises to:
determine which of the manifest data to update based on the change; and
modify the manifest data based on the change.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the change is at least one of an addition of a first resource or a removal of a second resource.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the update sent to the orchestrator server comprises an indication of the change to the manifest data.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the manifest data includes at least one hardware manifest, firmware manifest, configuration manifest, or health manifest.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein the hardware manifest specifies at least one of a processor count, a processor model, dual in-line memory module (DIMM) types, population locations, capacity, or I/O devices.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the configuration manifest comprises at least one of an indication of whether an ability to operate a processor core as multiple virtual cores is enabled, a DIMM speed setting, a CPU core frequency, or a boot device order.

### Claim 8 (depends on 6)

The apparatus of claim 6, wherein to generate the manifest data indicative of the one or more characteristics of multiple devices coupled to a circuit board comprises to:
determine present hardware resources and firmware resources;
determine a configuration of the multiple devices;
determine a health of the hardware resources; and
create the hardware manifest based on the present hardware resources, the firmware manifest based on the present firmware resources, the configuration manifest based on the determined configuration of the multiple devices, and the health manifest based on the health of the hardware resources.

### Claim 9 (depends on 6)

The apparatus of claim 6, wherein to associate the identifier with the manifest data comprises to:
determine a first identifier for the hardware manifest, a second identifier for the firmware manifest, and a third identifier for the configuration manifest; and
tag the first identifier to the hardware manifest, the second identifier to the firmware manifest, and the third identifier to the configuration manifest.

### Claim 10 (depends on 1)

The apparatus of claim 1, wherein to send the manifest data and the associated identifier comprises to send the manifest data and the associated identifier in response to a request from the orchestrator server for the manifest data.

### Claim 11 (depends on 1)

The apparatus of claim 1, wherein a node comprises at least the apparatus, wherein the node is composed based, in part, on the manifest data and wherein the compute circuitry is further to generate the manifest data for a composed node.

### Claim 12

One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause one or more devices to:
generate manifest data indicative of one or more characteristics of multiple devices of a system, wherein the manifest data comprises configuration information indicative of a firmware utilized by individual devices of the multiple devices and wherein the configuration information indicative of a firmware utilized by individual devices of the multiple devices specifies one or more of: a BIOS version, baseboard management controller (BMC) firmware version, DIMM firmware version, and/or solid state drive (SSD) firmware version;
associate an identifier with the manifest data, wherein the identifier identifies the system from among a plurality of systems;
send the manifest data and the associated identifier to an orchestrator server;
detect a change in at least one or more of the characteristics of the system;
update the manifest data based on the detected change, wherein the update specifies the detected change in the one or more characteristics of the system; and
send the update of the manifest data to the orchestrator server.

### Claim 13 (depends on 12)

The one of more non-transitory machine-readable storage media of claim 12, wherein the update sent to the orchestrator server is an indication of the change to the manifest data.

### Claim 14 (depends on 12)

The one of more non-transitory machine-readable storage media of claim 12, wherein the manifest data includes at least one hardware manifest, a firmware manifest, configuration manifest, or health manifest.

### Claim 15 (depends on 14)

The one of more non-transitory machine-readable storage media of claim 14, wherein the hardware manifest specifies at least one of a processor count, a processor model, dual in-line memory module (DIMM) types, population locations, capacity, or I/O devices, wherein the firmware manifest specifies at least one of a BIOS version, baseboard management controller (BMC) version, DIMM firmware version, or solid state drive (SSD) version, and wherein the configuration manifest of the system comprises at least one of an indication of whether an ability to operate a processor core as multiple virtual cores is enabled, a DIMM speed setting, a CPU core frequency, or a boot device order.

### Claim 16 (depends on 14)

The one of more non-transitory machine-readable storage media of claim 14, wherein to generate the manifest data indicative of the one or more characteristics of the system comprises to:
determine hardware resources and firmware resources present in the system;
determine a configuration of the system; and
create the at least one hardware manifest based on the hardware resources present, the firmware manifest based on the firmware resources present, and the configuration manifest based on the determined configuration.

### Claim 17 (depends on 14)

The one of more non-transitory machine-readable storage media of claim 14, wherein to associate the identifier with the manifest data comprises to:
determine a first identifier for the hardware manifest, a second identifier for the firmware manifest, and a third identifier for the configuration manifest; and
tag the first identifier to the hardware manifest, the second identifier to the firmware manifest, and the third identifier to the configuration manifest.

### Claim 18 (depends on 12)

The one of more non-transitory machine-readable storage media of claim 12, wherein to send the manifest data and the associated identifier comprises to send the manifest data and the associated identifier in response to a request from the orchestrator server for the manifest data.

### Claim 19 (depends on 18)

The one of more non-transitory machine-readable storage media of claim 18, wherein a node comprises at least the system, wherein the node is composed based, in part, on the manifest data.

### Claim 20

A system comprising:
one or more processors; and
a memory to store a plurality of instructions, which, when executed by the one or more processors, causes at least one circuitry to:
generate manifest data indicative of one or more characteristics of multiple devices in the system, wherein the manifest data comprises configuration information indicative of a firmware applied by individual devices of the multiple devices and wherein the configuration information indicative of a firmware applied by individual devices of the multiple devices specifies one or more of: a BIOS version, baseboard management controller (BMC) firmware version, DIMM firmware version, and/or solid state drive (SSD) firmware version;
associate an identifier with the manifest data, wherein the identifier identifies the system from among a plurality of systems;
send the manifest data and the associated identifier to an orchestrator server;
detect a change in at least one or more of the characteristics of the system;
update the manifest data based on the detected change, wherein the update specifies the detected change in the one or more characteristics of the system; and
send the update of the manifest data to the orchestrator server.

### Claim 21

A method comprising:
generating, by circuitry, manifest data indicative of one or more characteristics of multiple devices coupled to a system, wherein the manifest data comprises configuration information indicative of a firmware applied by individual devices of the multiple devices and wherein the configuration information indicative of a firmware applied by individual devices of the multiple devices specifies one or more of: a BIOS version, baseboard management controller (BMC) firmware version, DIMM firmware version, and/or solid state drive (SSD) firmware version and wherein the system is one of a plurality of systems;
associating, by the circuitry, an identifier with the manifest data, wherein the identifier identifies the system from among the plurality of systems;
sending, by the circuitry, the manifest data and the associated identifier to an orchestrator server;
detecting, by the circuitry, a change in at least one of hardware resources, firmware resources, or the configuration of the system;
generating, by the circuitry, an update of the manifest data based on the detected change, wherein the update specifies the detected change in the at least one of the hardware resources, firmware resources, or the configuration of the system; and
sending, by the circuitry, the update of the manifest data to the orchestrator server.

### Claim 22 (depends on 21)

The method of claim 21, wherein sending the manifest data and the associated identifier comprises sending the manifest data and the associated identifier in response to a request from the orchestrator server for the manifest data.

### Claim 23 (depends on 21)

The method of claim 21, wherein a node comprises at least the system, wherein the node is composed based, in part, on the manifest data.

### Claim 24 (depends on 21)

The method of claim 21, wherein generating the manifest data indicative of the one or more characteristics of the system comprises:
determining hardware resources and firmware resources present in the system;
determining a configuration of the system; and
creating a hardware manifest based on the hardware resources present, a firmware manifest based on the firmware resources present, and a configuration manifest based on the determined configuration.
