# US 12,119,958 B2 · Cross network bridging

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

- Number: US 12,119,958 B2
- Document ID: US12119958B2
- Status: Granted
- Kind: B2
- Application number: 18/349,148
- Filed: 2023-07-09
- Published: 2023-11-02
- Granted: 2024-10-15
- Earliest claimed: 2020-09-07
- Assignees: Mellanox Technologies, Ltd.
- Applicants: Mellanox Technologies, Ltd.
- Inventors: Daniel Marcovitch; Idan Burstein; Liran Liss; Hillel Chapman; Dror Goldenberg; Michael Kagan; Aviad Yehezkel; Peter Paneah
- Web page: https://patentgrep.com/patent/US12119958B2

## CPC

- H04L 12/4625: {Single bridge functionality, e.g. connection of two networks over a single bridge}
- G06F 13/28: using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence)
- G06F 13/385: {for adaptation of a particular data processing system to different peripheral devices}
- G06F 13/4027: {using bus bridges (G06F13/4022 takes precedence)}
- G06F 13/4045: {where the bus bridge performs an extender function}
- G06F 13/4208: {being a system bus, e.g. VME bus, Futurebus, Multibus}
- G06F 15/17331: {Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]}
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- G06F 2213/0026: PCI express
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A cross-network bridging apparatus includes a bus interface and bridging circuitry. The bus interface is configured for connecting to a system bus. The bridging circuitry is configured to translate between (i) system-bus transactions that are exchanged between one or more local devices that are coupled to the system bus and served by the system bus and one or more remote processors located across a network from the apparatus, and (ii) data units that convey the system-bus transactions, for transmitting and receiving as network packets over the network to and from the remote processors.

## Claims

### Claim 1

A cross-network bridging apparatus, comprising:
a bus interface for connecting to a first system bus; and
bridging circuitry, to:
monitor system-bus transactions that are communicated on the first system bus;
identify, from among the monitored system-bus transactions, one or more outbound system-bus transactions that are intended for transfer to a second system bus coupled to a remote processor or device, the remote processor or device being located across a network from the apparatus; and
translate the one or more outbound system-bus transactions into one or more outbound network packets to be transferred over the network, for injecting the one or more outbound system-bus transactions to the second system bus.

### Claim 2

A cross-network bridging apparatus, comprising:
a bus interface for connecting to a first system bus; and
bridging circuitry, to:
receive, over the first system bus, one or more outbound system-bus transactions that are intended for transfer to a second system bus coupled to a remote processor or device, the remote processor or device being located across a network from the apparatus;
translate the one or more outbound system-bus transactions into one or more outbound network packets to be transferred over the network, for injecting the one or more outbound system-bus transactions to the second system bus;
receive one or more inbound network packets that arrive over the network and that convey one or more inbound system-bus transactions produced by the remote processor or device;
extract the one or more inbound system-bus transactions from the received one or more inbound network packets; and
inject the one or more inbound network packets to the first system bus.

### Claim 3 (depends on 1)

The apparatus according to claim 1, further comprising a network adapter to send the one or more outbound network packets over the network.

### Claim 4

A cross-network bridging apparatus, comprising:
a bus interface for connecting to a first system bus;
bridging circuitry, to:
receive, over the first system bus, one or more outbound system-bus transactions that are intended for transfer to a second system bus coupled to a remote processor or device, the remote processor or device being located across a network from the apparatus; and
translate the one or more outbound system-bus transactions into one or more outbound network packets to be transferred over the network, for injecting the one or more outbound system-bus transactions to the second system bus; and
a network adapter to send the one or more outbound network packets over the network,
wherein the bridging circuitry is to send the one or more outbound system-bus transactions to the network adapter by writing the one or more outbound system-bus transactions to a memory accessible to the network adapter.

### Claim 5 (depends on 1)

The apparatus according to claim 1, wherein the bridging circuitry is to produce an outbound network packet by coalescing two or more of the outbound system-bus transactions.

### Claim 6 (depends on 1)

The apparatus according to claim 1, wherein, in translating the one or more outbound system-bus transactions into the one or more outbound network packets, the bridging circuitry is to modify one or more attributes of one or more of the outbound system-bus transactions.

### Claim 7 (depends on 1)

The apparatus according to claim 1, wherein the bridging circuitry is to translate a given outbound system-bus transaction only in response to identifying that the given outbound system-bus transaction matches a predefined criterion.

### Claim 8 (depends on 1)

The apparatus according to claim 1, wherein the bridging circuitry is to translate a given outbound system-bus transaction only in response to identifying that the given outbound system-bus transaction is not addressed to a local system-bus address associated with the first system bus.

### Claim 9 (depends on 1)

The apparatus according to claim 1, wherein, in translating the one or more outbound system-bus transactions into the one or more outbound network packets, the bridging circuitry is to translate one or more device-addresses, appearing in the one or more outbound system-bus transactions, into one or more corresponding network addresses appearing in the one or more outbound network packets.

### Claim 10

A cross-network bridging method, comprising:
in a Cross-Network Bridge (CNB), monitoring system-bus transactions that are communicated on a first system bus coupled locally to the CNB;
identifying, from among the monitored system-bus transactions, one or more outbound system-bus transactions that are intended for transfer to a second system bus coupled to a remote processor or device, the remote processor or device being located across a network from the CNB; and
translating the one or more outbound system-bus transactions into one or more outbound network packets to be transferred over the network, for injecting the one or more outbound system-bus transactions to the second system bus.

### Claim 11

A cross-network bridging method, comprising:
receiving in a Cross-Network Bridge (CNB), over a first system bus coupled locally to the CNB, one or more outbound system-bus transactions that are intended for transfer to a second system bus coupled to a remote processor or device, the remote processor or device being located across a network from the CNB;
translating the one or more outbound system-bus transactions into one or more outbound network packets to be transferred over the network, for injecting the one or more outbound system-bus transactions to the second system bus;
receiving one or more inbound network packets that arrive over the network and that convey one or more inbound system-bus transactions produced by the remote processor or device;
extracting the one or more inbound system-bus transactions from the received one or more inbound network packets; and
injecting the one or more inbound network packets to the first system bus.

### Claim 12 (depends on 10)

The method according to claim 10, further comprising sending the one or more outbound network packets over the network using a network adapter.

### Claim 13

A cross-network bridging method, comprising:
receiving in a Cross-Network Bridge (CNB), over a first system bus coupled locally to the CNB, one or more outbound system-bus transactions that are intended for transfer to a second system bus coupled to a remote processor or device, the remote processor or device being located across a network from the CNB;
translating the one or more outbound system-bus transactions into one or more outbound network packets to be transferred over the network, for injecting the one or more outbound system-bus transactions to the second system bus; and
sending the one or more outbound network packets over the network using a network adapter, by writing the one or more outbound system-bus transactions to a memory accessible to the network adapter.

### Claim 14 (depends on 10)

The method according to claim 10, wherein translating the outbound system-bus transactions into the outbound network packets comprises coalescing two or more of the outbound system-bus transactions to produce an outbound network packet.

### Claim 15 (depends on 10)

The method according to claim 10, wherein translating the outbound system-bus transactions into the outbound network packets comprises modifying one or more attributes of one or more of the outbound system-bus transactions.

### Claim 16 (depends on 10)

The method according to claim 10, wherein translating the outbound system-bus transactions into the outbound network packets comprises translating a given outbound system-bus transaction only in response to identifying that the given outbound system-bus transaction matches a predefined criterion.

### Claim 17 (depends on 10)

The method according to claim 10, wherein translating the outbound system-bus transactions into the outbound network packets comprises translating a given outbound system-bus only transaction in response to identifying that the given outbound system-bus transaction is not addressed to a local system-bus address associated with the first system bus.

### Claim 18 (depends on 10)

The method according to claim 10, wherein translating the outbound system-bus transactions into the outbound network packets comprises translating one or more device-addresses, appearing in the one or more outbound system-bus transactions, into one or more corresponding network addresses appearing in the one or more outbound network packets.
