# US 12,112,235 B2 · Port server for heterogeneous hardware

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

- Number: US 12,112,235 B2
- Document ID: US12112235B2
- Status: Granted
- Kind: B2
- Application number: 17/333,439
- Filed: 2021-05-28
- Published: 2022-12-01
- Granted: 2024-10-08
- Earliest claimed: 2021-05-28
- Assignees: IonQ, Inc.
- Applicants: IonQ Inc.
- Inventors: Stewart Allen; Aleksey Blinov; Felix Tripier
- Web page: https://patentgrep.com/patent/US12112235B2

## CPC

- G06N 10/40: Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
- B82Y 10/00: Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
- H04L 9/0852: {Quantum cryptography (transmission systems employing electromagnetic waves other than radio waves, e.g. light, infrared H04B10/00; wavelength-division multiplex systems H04J14/02; WDM arrangements H04J14/03)}
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- B82Y: SPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and techniques are provided for a port server for heterogeneous hardware. A port server may include computing devices that may include multiple connection types. Storage devices may be connected to the computing devices. The computing devices may receive a communication from an external computing device intended for a hardware device of a heterogenous system over one of the connection types. The communication may be sent to the hardware device of the heterogenous system using one of the connection types. A response may be received from the hardware device of the heterogenous system over the connection type used to send the communication to the hardware device. The response from the hardware device of the heterogenous system may be sent to the external computing device over the connection type over which the communication was received from the external computing device.

## Claims

### Claim 1

A computer-implemented system comprising:
one or more computing devices, each comprising two or more connection types; and
one or more storage devices connected to the one or more computing devices, wherein the one or more computing devices receive a communication comprising two or more commands from an external computing device intended for hardware devices of a heterogenous system over one of the one or more connection types wherein the hardware devices are of the same type and a first of the hardware devices uses a syntax for commands different than a syntax for commands used by the second of the hardware devices;
convert the two or more commands in the communication to use the syntax used by the first of the hardware devices and to use the syntax used by the second of the hardware devices,
batch the two or more commands converted to use the syntax used by the first of the hardware devices into a first packet and the two or more commands converted to use the syntax used by the second of the hardware devices into a second packet;
send the first packet and a first control packet to the first of the hardware devices of the heterogenous system using one of the one or more connection types and the second packet and a second control packet to the second of the hardware devices of the heterogenous system using one of the one or more connection types, wherein the first control packet indicates a number of responses expected in response to the first packet and the second control packet indicates a number of responses expected in response to the second packet,
receive responses from the hardware devices of the heterogenous system over the one of the one or more connection types used to send the communication to the hardware devices, and
send the responses from the hardware devices of the heterogenous system to the external computing device over the one of the one or more connection types over which the communication was received from the external computing device.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one of the one or more connection types over which the communication is received from the external computing device is different from the one of the one or more connection types used to send the communication to the hardware device of the heterogenous system.

### Claim 3 (depends on 1)

The system of claim 1, wherein the one or more computing devices, before sending the communication to the hardware devices of the heterogenous system, modify or encapsulate the communication.

### Claim 4 (depends on 1)

The system of claim 1, wherein the one or more computing devices receive a third communication from the external computing device intended for a third hardware device of the heterogenous system,
send the third communication to the third hardware device of the heterogenous system using one of the one or more connection types,
receive a response from the third hardware device of the heterogenous system over the one of the one or more connection types used to send the third communication to the third hardware device, and
send the response from the third hardware device of the heterogenous system to the external computing device over the one of the one or more connection types over which the third communication was received from the external computing device.

### Claim 5 (depends on 1)

The system of claim 1, wherein the one or more computing devices receive a third communication from a fourth hardware device of the heterogenous system, wherein the fourth hardware device of the heterogenous system sends the third communication not directly in response to a communication from any external computing device.

### Claim 6 (depends on 1)

The system of claim 1, wherein the external computing devices comprises a control or monitoring system for the heterogenous system.

### Claim 7 (depends on 1)

The system of claim 1, wherein the heterogenous system is a trapped ion quantum computing device.

### Claim 8 (depends on 1)

The system of claim 1, wherein the one or more computing devices detect a connection of a third hardware device to one of the one or more computing devices,
assign an identifier to the third hardware device,
assign a port to the third hardware device, wherein the port is used by the one or more computing devices to receive communications from the external computing device over one of the one or more connection types, and
store the identifier and the port assigned to the third hardware device in a directory stored in the one or more storage devices.

### Claim 9 (depends on 1)

The system of claim 1, wherein the one or more computing devices comprise a port server, and wherein the port server allows transparent multiplexed connections between two or more external computing devices and the hardware devices of the heterogenous system.

### Claim 10 (depends on 9)

The system of claim 9, wherein the one or more computing devices of the port server store, in the one or more storage devices, drivers installed for the hardware devices of the heterogenous system, and wherein the drivers for the hardware devices are not installed on the one or more external computing devices.

### Claim 11 (depends on 1)

The system of claim 1, wherein the one or more computing devices select the hardware devices of the heterogenous system using parameters of the hardware devices or device types of the hardware devices.

### Claim 12 (depends on 11)

The system of claim 11, wherein the one or more computing devices further link a device type of the device types to a firmware update utility for the hardware devices of the device type, and updates firmware of the hardware devices of the device type using the firmware update utility.

### Claim 13

A computer-implemented method performed by a data processing apparatus, the method comprising:
receiving, at a computing device, a communication comprising two or more commands from an external computing device intended for hardware devices of a heterogenous system over one of the one or more connection types wherein the hardware devices are of the same type and a first of the hardware devices uses a syntax for commands different than a syntax for commands used by the second of the hardware devices;
converting a the two or more commands in the communication to use the syntax used by the first of the hardware devices and to use the syntax used by the second of the hardware devices;
batching the two or more commands converted to use the syntax used by the first of the hardware devices into a first packet and the two or more commands converted to use the syntax used by the second of the hardware devices into a second packet;
sending the first packet and a first control packet to the first of the hardware devices of the heterogenous system using one of the one or more connection types and the second packet and a second control packet to the second of the hardware devices of the heterogenous system using one of the one or more connection types, wherein the first control packet indicates a number of responses expected in response to the first packet and the second control packet indicates a number of responses expected in response to the second packet;
receiving, by the computing device, responses from the hardware devices of the heterogenous system over the one of the one or more connection types used to send the communication to the hardware devices; and
sending, by the computing device, the response from the hardware device of the heterogenous system to the external computing device over the one of the one or more connection types over which the communication was received from the external computing device.

### Claim 14 (depends on 13)

The method of claim 13, wherein the one of the one or more connection types over which the communication is received from the external computing device is different from the one of the one or more connection types used to send the communication to the hardware device of the heterogenous system.

### Claim 15 (depends on 13)

The method of claim 13, further comprising modifying or encapsulating, by the computing device, before sending the communication to the hardware devices of the heterogenous system, the communication.

### Claim 16 (depends on 13)

The method of claim 13, further comprising:
receiving, by the computing device, a third communication from the external computing device intended for a third hardware device of the heterogenous system;
sending, by the computing device, the third communication to the third hardware device of the heterogenous system using one of the one or more connection types;
receiving, by the computing device, a response from the third hardware device of the heterogenous system over the one of the one or more connection types used to send the third communication to the third hardware device; and
sending, by the computing device, the response from the third hardware device of the heterogenous system to the external computing device over the one of the one or more connection types over which the third communication was received from the external computing device.

### Claim 17 (depends on 13)

The method of claim 13, further comprising receiving, by the computing device, a third communication from a fourth hardware device of the heterogenous system, wherein the fourth hardware device of the heterogenous system sends the third communication not directly in response to a communication from any external computing device.

### Claim 18 (depends on 13)

The method of claim 13, wherein the external computing devices comprises a control or monitoring system for the heterogenous system.

### Claim 19 (depends on 13)

The method of claim 13, wherein the heterogenous system is a trapped ion quantum computing device.

### Claim 20 (depends on 13)

The method of claim 13, further comprising;
detecting, by the computing device, a connection of a third hardware device to one of the one or more computing devices,
assigning, by the computing device, an identifier to the third hardware device,
assigning, by the computing device, a port to the third hardware device, wherein the port is used by the one or more computing devices to receive communications from the externa computing device over one of the one or more connection types, and
storing, by the computing device, the identifier and the port assigned to the third hardware device in a directory stored in one or more storage devices.

### Claim 21 (depends on 13)

The method of claim 13, wherein the computing device is a component of a port server, and wherein the port server allows transparent multiplexed connections between one or more external computing devices and two or more hardware devices of the heterogenous system.

### Claim 22 (depends on 21)

The method of claim 21, wherein the computing device of the port server stores, in the one or more storage devices, drivers installed for the two or more hardware devices, and wherein the drivers for the two or more hardware devices are not installed on the one or more external computing devices.

### Claim 23 (depends on 13)

The method of claim 13, further comprising selecting, by the computing device, the hardware devices of the heterogenous system using parameters of the hardware devices or device types of the hardware devices.

### Claim 24 (depends on 23)

The method of claim 23, further comprising linking, by the computing device, a device type of the device types to a firmware update utility for the hardware devices of the device type, and updating, by the computing device, firmware of the hardware devices of the device type using the firmware update utility linked to the device type.
