# US 12,224,906 B2 · Formation of compute units from converged and disaggregated component pools

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

- Number: US 12,224,906 B2
- Document ID: US12224906B2
- Status: Granted
- Kind: B2
- Application number: 18/582,794
- Filed: 2024-02-21
- Published: 2024-06-13
- Granted: 2025-02-11
- Earliest claimed: 2019-04-25
- Assignees: Liqid Inc.
- Applicants: Liqid Inc.
- Inventors: James Scott Cannata; Phillip Clark; Bryan Nagel; Henry Lee Harris; Bryan Schramm; Sumit Puri
- Web page: https://patentgrep.com/patent/US12224906B2

## CPC

- G06F 13/4022: {using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence)}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0632: {by initialisation or re-initialisation of storage systems}
- G06F 3/0661: {Format or protocol conversion arrangements}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- 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 9/541: {via adapters, e.g. between incompatible applications}
- H04L 41/0803: Configuration setting
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- 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/0897: by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
- H04L 47/10: Flow control; Congestion control
- H04L 49/35: Switches specially adapted for specific applications
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/565: Conversion or adaptation of application format or content (adding application control or application functional data H04L67/561)
- H04L 67/566: Grouping or aggregating service requests, e.g. for unified processing
- H04L 69/08: Protocols for interworking; Protocol conversion
- H04L 69/18: Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
- G06F 2209/5011: Pool
- G06F 2213/0026: PCI express
- H04L 41/147: for predicting network behaviour
- H04L 41/149: for prediction of maintenance
- H04L 41/16: using machine learning or artificial intelligence
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 43/16: Threshold monitoring
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- 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)

## Abstract

Deployment of arrangements of computing components coupled over communication fabrics are presented herein. In one example, a method includes forming a compute unit to include at least a selected disaggregated computing component and at least a selected converged computing element. The selected disaggregated computing component is added to the compute unit from a pool of disaggregated computing components having a granularity comprising the disaggregated computing components arbitrarily and separately coupled to a communication fabric. The selected converged computing element is added to the compute unit from a pool of converged computing elements having a granularity comprising sets of computing components with fixed relationships to associated processors.

## Claims

### Claim 1

A method comprising:
in a user interface, receiving user instructions to form a compute unit to include at least a selected disaggregated computing component and at least a selected converged computing element;
wherein the selected disaggregated computing component is added to the compute unit with a granularity of an individual computing component from a pool of disaggregated computing components arbitrarily and individually segregable into logical groupings within a communication fabric; and
wherein the selected converged computing element is added to the compute unit with a granularity having a fixed set of computing components from a pool of converged computing elements comprising sets of computing components having fixed relationships to associated processors.

### Claim 2 (depends on 1)

The method of claim 1, wherein the selected converged computing element is communicatively coupled to an additional communication fabric different from the communication fabric.

### Claim 3 (depends on 2)

The method of claim 2, wherein the communication fabric comprises a first communication fabric type corresponding to communication protocols from at least one among Peripheral Component Interconnect Express (PCIe), Gen-Z, and Compute Express Link (CXL), and wherein the additional communication fabric comprises a second communication fabric type corresponding to at least one among Ethernet, and InfiniBand, and FibreChannel.

### Claim 4 (depends on 2)

The method of claim 2, wherein forming the compute unit comprises establishing one or more logical domains within at least one among the communication fabric and the additional communication fabric that make selected computing components for the compute unit accessible to each other.

### Claim 5 (depends on 1)

The method of claim 1, wherein adding the selected disaggregated computing component into the compute unit comprises individually associating the selected disaggregated computing component into a logical arrangement comprising the compute unit; and
wherein adding the selected converged computing element into the compute unit comprises associating into the logical arrangement a set of computing components having a fixed relationship to an associated processor.

### Claim 6 (depends on 1)

The method of claim 1, wherein the converged computing elements correspond to computing assemblies that each include at least a processing component, a data storage component, and a network interface component that communicatively couples each computing assembly using a network communication protocol; and
wherein the disaggregated computing components correspond to at least individual ones among processing components, data storage components, and network interface components arbitrarily and individually coupled to the communication fabric using a point-to-point communication protocol.

### Claim 7 (depends on 1)

The method of claim 1, comprising:
in the user interface, receiving additional user instructions to deploy software for execution by at least a corresponding processor component of the compute unit.

### Claim 8 (depends on 1)

The method of claim 1, comprising:
in the user interface, receiving additional user instructions to assign network addressing for a network interface component of the selected converged computing element, wherein traffic for the selected converged computing element is directed through the network interface component.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
performing a discovery process over the communication fabric associated with the selected disaggregated computing component and an additional communication fabric associated with the converged disaggregated computing element to identify first computing components as disaggregated computing components and identify second computing components as converged computing components; and
for the converged computing components, determining ones among the converged computing components that share a chassis as the sets of computing components;
maintaining one or more data structures which indicates a communication fabric type for each of the first computing components and each of the second computing components and indicates the sets of computing components that share corresponding chassis.

### Claim 10 (depends on 1)

The method of claim 1, wherein the pool of disaggregated computing components and the pool of converged computing elements each include one or more among graphics processing units (GPUs), central processing units (CPUs), network interface cards (NICs), field-programmable gate arrays (FPGAs), data storage devices, and memory devices.

### Claim 11

An apparatus, comprising:
one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media, the program instructions executable by a processing system to direct the processing system to at least:
a user interface configured to receive user instructions to form a compute unit to include at least a selected disaggregated computing component and at least a selected converged computing element;
wherein the selected disaggregated computing component is added to the compute unit with a granularity of an individual computing component from a pool of disaggregated computing components arbitrarily and individually segregable into logical groupings within a communication fabric; and
wherein the selected converged computing element is added to the compute unit with a granularity having a fixed set of computing components from a pool of converged computing elements comprising sets of computing components having fixed relationships to associated processors.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the selected converged computing element is communicatively coupled to an additional communication fabric different from the communication fabric.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the communication fabric comprises a first communication fabric type corresponding to communication protocols from at least one among Peripheral Component Interconnect Express (PCIe), Gen-Z, and Compute Express Link (CXL), and wherein the additional communication fabric comprises a second communication fabric type corresponding to at least one among Ethernet, and InfiniBand, and FibreChannel.

### Claim 14 (depends on 12)

The apparatus of claim 12, wherein forming the compute unit comprises establishing one or more logical domains within at least one among the communication fabric and the additional communication fabric that make selected computing components for the compute unit accessible to each other.

### Claim 15 (depends on 11)

The apparatus of claim 11, comprising program instructions stored on the one or more computer readable storage media, the program instructions executable by the processing system to direct the processing system to at least:
the user interface configured to receive the user instructions to add the selected disaggregated computing component into the compute unit by at least individually associating the selected disaggregated computing component into a logical arrangement comprising the compute unit; and
the user interface configured to receive the user instructions to add the selected converged computing element into the compute unit by at least associating into the logical arrangement a set of computing components having a fixed relationship to an associated processor.

### Claim 16 (depends on 11)

The apparatus of claim 11, wherein the converged computing elements correspond to computing assemblies that each include at least a processing component, a data storage component, and a network interface component that communicatively couples each computing assembly using a network communication protocol; and
wherein the disaggregated computing components correspond to at least individual ones among processing components, data storage components, and network interface components arbitrarily and individually coupled to the communication fabric using a point-to-point communication protocol.

### Claim 17 (depends on 11)

The apparatus of claim 11, comprising program instructions stored on the one or more computer readable storage media, the program instructions executable by the processing system to direct the processing system to at least:
the user interface configured to receive additional user instructions to deploy software for execution by at least a corresponding processor component of the compute unit.

### Claim 18 (depends on 11)

The apparatus of claim 11, comprising program instructions stored on the one or more computer readable storage media, the program instructions executable by the processing system to direct the processing system to at least:
the user interface configured to receive additional user instructions to assign network addressing for a network interface component of the selected converged computing element, wherein traffic for the selected converged computing element is directed through the network interface component.

### Claim 19 (depends on 11)

The apparatus of claim 11, comprising program instructions stored on the one or more computer readable storage media, the program instructions executable by the processing system to direct the processing system to at least:
perform a discovery process over the communication fabric associated with the selected disaggregated computing component and an additional communication fabric associated with the converged disaggregated computing element to identify first computing components as disaggregated computing components and identify second computing components as converged computing components; and
for the converged computing components, determine ones among the converged computing components that share a chassis as the sets of computing components;
maintain one or more data structures which indicates a communication fabric type for each of the first computing components and each of the second computing components and indicates the sets of computing components that share corresponding chassis.

### Claim 20 (depends on 11)

The apparatus of claim 11, wherein the pool of disaggregated computing components and the pool of converged computing elements each include one or more among graphics processing units (GPUs), central processing units (CPUs), network interface cards (NICs), field-programmable gate arrays (FPGAs), data storage devices, and memory devices.
