# US 2021/0240486 A1 · Software deployment over communication fabrics

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

- Number: US 2021/0240486 A1
- Document ID: US20210240486A1
- Status: Published application
- Kind: A1
- Application number: 17/238,582
- Filed: 2021-04-23
- Published: 2021-08-05
- Earliest claimed: 2019-01-11
- Assignees: Liqid Inc.
- Applicants: Liqid Inc.
- Inventors: Henry Lee Harris; James Scott Cannata
- Web page: https://patentgrep.com/patent/US20210240486A1

## CPC

- G06F 9/4405: {Initialisation of multiprocessor systems}
- G06F 8/60: Software deployment
- G06F 8/61: Installation
- G06F 8/63: {Image based installation; Cloning; Build to order}
- G06F 9/4401: Bootstrapping (security arrangements therefor G06F21/57)
- G06F 9/4406: {Loading of operating system}
- G06F 9/4408: {Boot device selection}
- G06F 9/441: {Multiboot arrangements, i.e. selecting an operating system to be loaded}
- G06F 9/4416: {Network booting; Remote initial program loading [RIPL]}
- G06F 9/445: Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57)
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 13/4022: {using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence)}
- G06F 13/4221: {being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus}
- G06F 2213/0026: PCI express
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Software configuration deployment techniques for disaggregated computing architectures, platforms, and systems are provided herein. In one example, a method includes presenting a user interface configured to receive instructions related to deployment of software to compute units, and receiving user selections of a software element for deployment to a compute unit comprising a processing element and a storage element. Responsive to the user selections, the method includes instructing a management processor of a communication fabric to deploy the software element for use by the compute unit by at least establishing a first partitioning in the communication fabric between the management processor and the storage element, deploying the software element to the storage element using the first partitioning, de-establishing the first partitioning, and establishing a second partitioning in the communication fabric between the processing element and the storage element comprising the software element, wherein the processing element operates using the software element.

## Claims

### Claim 1

An apparatus comprising:
one or more computer readable storage media;
a processor operatively coupled with the one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media, that when executed by the processor, direct the processor to at least:
present a user interface configured to receive instructions related to deployment of software to compute units;
receive user selections of a software element for deployment to a compute unit comprising a processing element and a storage element;
responsive to the user selections, instruct a management processor of a communication fabric to deploy the software element for use by the compute unit by at least establishing a first partitioning in the communication fabric between the management processor and the storage element, deploying the software element to the storage element using the first partitioning, de-establishing the first partitioning, and establishing a second partitioning in the communication fabric between the processing element and the storage element comprising the software element, wherein the processing element operates using the software element.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the processing element boots with a boot image comprising the software element from the storage element over the second partitioning.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein the software element further comprises one or more user applications configured to be executed by the processing element.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the communication fabric comprises one or more Peripheral Component Interconnect Express (PCIe) switches communicatively coupling a plurality of physical components that include a plurality of processors and a plurality of storage elements.

### Claim 5 (depends on 1)

The apparatus of claim 1, comprising further program instructions stored on the one or more computer readable storage media, that when executed by the processor, direct the processor to at least:
in the user interface, present options to alter the composition of the compute unit to add or remove one or more elements from the compute unit after establishment of the compute unit; and
responsive to receiving an instruction to alter the composition of the compute unit, instruct the management processor to alter the second partitioning in the communication fabric in accordance with the instruction.

### Claim 6 (depends on 1)

The apparatus of claim 1, comprising further program instructions stored on the one or more computer readable storage media, that when executed by the processor, direct the processor to at least:
provide via the user interface status related to operation of the compute unit when using the software element.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the management processor is coupled to at least a storage device that stores a plurality of software elements comprising the software element.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the plurality of software elements comprise one or more applications and one or more operating systems.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein the first partitioning comprises a first domain-based Peripheral Component Interconnect Express (PCIe) segregation among first ports of at least a first PCIe switch comprising the communication fabric, and wherein the second partitioning comprises a second domain-based PCIe segregation among second ports of at least a second PCIe switch comprising the communication fabric.

### Claim 10

A method, comprising:
presenting a user interface configured to receive instructions related to deployment of software to compute units;
receiving user selections of a software element for deployment to a compute unit comprising a processing element and a storage element;
responsive to the user selections, instructing a management processor of a communication fabric to deploy the software element for use by the compute unit by at least establishing a first partitioning in the communication fabric between the management processor and the storage element, deploying the software element to the storage element using the first partitioning, de-establishing the first partitioning, and establishing a second partitioning in the communication fabric between the processing element and the storage element comprising the software element, wherein the processing element operates using the software element.

### Claim 11 (depends on 10)

The method of claim 10, wherein the processing element boots with a boot image comprising the software element from the storage element over the second partitioning.

### Claim 12 (depends on 11)

The method of claim 11, wherein the software element further comprises one or more user applications configured to be executed by the processing element.

### Claim 13 (depends on 10)

The method of claim 10, wherein the communication fabric comprises one or more Peripheral Component Interconnect Express (PCIe) switches communicatively coupling a plurality of physical components that include a plurality of processors and a plurality of storage elements.

### Claim 14 (depends on 10)

The method of claim 10, further comprising:
in the user interface, presenting options to alter the composition of the compute unit to add or remove one or more elements from the compute unit after establishment of the compute unit; and
responsive to receiving an instruction to alter the composition of the compute unit, instructing the management processor to alter the second partitioning in the communication fabric in accordance with the instruction.

### Claim 15 (depends on 10)

The method of claim 10, further comprising:
providing via the user interface status related to operation of the compute unit when using the software element.

### Claim 16 (depends on 10)

The method of claim 10, wherein the management processor is coupled to at least a storage device that stores a plurality of software elements comprising the software element.

### Claim 17 (depends on 16)

The method of claim 16, wherein the plurality of software elements comprise one or more applications and one or more operating systems.

### Claim 18 (depends on 10)

The method of claim 10, wherein the first partitioning comprises a first domain-based Peripheral Component Interconnect Express (PCIe) segregation among first ports of at least a first PCIe switch comprising the communication fabric, and wherein the second partitioning comprises a second domain-based PCIe segregation among second ports of at least a second PCIe switch comprising the communication fabric.

### Claim 19

A user interface system, comprising:
a user interface configured to receive instructions related to deployment of software to compute units;
the user interface configured to receive user selections of a software element for deployment to a compute unit comprising a processing element and a storage element;
a control interface configured to, responsive to the user selections, instruct a management processor of a communication fabric to deploy the software element for use by the compute unit by at least establishing a first partitioning in the communication fabric between the management processor and the storage element, deploying the software element to the storage element using the first partitioning, de-establishing the first partitioning, and establishing a second partitioning in the communication fabric between the processing element and the storage element comprising the software element, wherein the processing element operates using the software element.

### Claim 20 (depends on 19)

The management processor of claim 19, comprising:
the user interface configured to present options to alter the composition of the compute unit to add or remove one or more elements from the compute unit after establishment of the compute unit; and
responsive to receiving an instruction to alter the composition of the compute unit, instructing the management processor to alter the second partitioning in the communication fabric in accordance with the instruction.
