# US 9,882,781 B2 · Fast linkup arbitration

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

- Number: US 9,882,781 B2
- Document ID: US9882781B2
- Status: Granted
- Kind: B2
- Application number: 15/018,768
- Filed: 2016-02-08
- Published: 2016-06-02
- Granted: 2018-01-30
- Earliest claimed: 2012-07-03
- Assignees: Solarflare Communications, Inc.
- Applicants: Solarflare Communications, Inc.
- Inventors: Steve L. Pope
- Web page: https://patentgrep.com/patent/US9882781B2

## CPC

- H04L 41/083: for increasing network speed
- H04L 69/14: Multichannel or multilink protocols
- H04L 69/18: Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
- H04L 69/323: in the physical layer [OSI layer 1]
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A data processing system comprising: first and second network ports each operable to support a network connection configured according to one or more of a predetermined set of physical layer protocols; and a processor configured to, on a network message being formed for transmission to a network endpoint accessible over either of the first and second network ports: estimate the total time required to, for each of the predetermined set of physical layer protocols, negotiate a respective network connection and transmit the entire network message over that respective network connection; select the physical layer protocol having the lowest estimate of the total time required to negotiate a respective network connection and transmit the network message over that respective network connection; and configure at least one of the first and second network ports to use the selected physical layer protocol.

## Claims

### Claim 1

A data processing system comprising:
first and second network ports each operable to support a network connection configured according to one or more of a predetermined set of physical layer protocols; and
a processor configured to, on a network message being formed for transmission to a network endpoint accessible over either of the first and second network ports, said first and second network ports connected to respective physical links:
estimate the total time required to, for each of the predetermined set of physical layer protocols, transmit the network message over a respective network connection;
select the physical layer protocol having the lowest estimate of the total time required to transmit the entire network message over a respective network connection; and
configure at least one of the first and second network ports to use the selected physical layer protocol;
and wherein said data processor is configured to:
transmit in parallel said network message over both of a first of said physical links and a second of said physical links.

### Claim 2 (depends on 1)

A data processing system as claimed in claim 1, wherein said data processing system is configured to transmit each of said duplicate network messages with a sequence number, wherein the sequence numbers for said duplicate network messages are the same.

### Claim 3 (depends on 1)

A data processing system as claimed in claim 1, wherein the processor is operable to, on a physical link being made to the first and second network ports a first time, cause the data processing system to signal over each of the at least one or the first and second network ports the identity of the selected physical layer protocol for use over those respective links on those physical links being made a subsequent time.

### Claim 4 (depends on 1)

A data processing system as claimed in claim 1, wherein the processor is further configured to enqueue the network message at a transmit queue of each of the at least one of the first and second network ports such that, on a physical link being made to the respective network ports, the network message is transmitted from each of the at least one of the first and second network ports over a network connection established according to the selected physical layer protocol.

### Claim 5 (depends on 1)

A data processing system as claimed in claim 1, wherein the transmit queue(s) are supported in hardware at network interface device(s) providing the respective at least one of the first and second network ports.

### Claim 6 (depends on 1)

A data processing system as claimed in claim 1, further comprising a data store comprising data from which the processor is configured to estimate the total times, wherein the data store comprises estimates of the time required to negotiate network connections over the first and second network ports according to each of the predetermined set of physical layer protocols.

### Claim 7 (depends on 6)

A data processing system as claimed in claim 6, wherein the data store comprises data representing the time required to transmit the network message as a function of network message size over network connections configured according to each of the predetermined set of physical layer protocols.

### Claim 8 (depends on 1)

A data processing system as claimed in claim 1, wherein at least some of the physical layer protocols of the predetermined set of physical layer protocols are of the same type of physical layer protocol but defined so as to operate at different line speeds.

### Claim 9 (depends on 1)

A data processing system as claimed in claim 1, wherein the processor is configured to perform the selection of the physical layer protocol independently of the type of physical interfaces of the one or more physical links, the processor being operable to select any of the set of physical layer protocols for use over any of the plurality of physical links.

### Claim 10 (depends on 1)

A data processing system as claimed in claim 1, wherein the processor is configured to apply the selected physical layer protocol to both the first and second network ports and enqueue copies of the network message at a transmit queue corresponding to each of the first and second network ports such that, on physical links being made to the first and second network ports, the network message is transmitted in parallel over the physical links.

### Claim 11 (depends on 1)

A data processing system as claimed in claim 1, wherein at least some of said plurality of physical links are configured according to the same physical layer protocol, the data processing system being configured to transmit said duplicate network messages over two or more of said physical links supporting the same physical layer protocol.

### Claim 12 (depends on 1)

A data processing system as claimed in claim 1, wherein said duplicate messages are transmitted over physical links configured according to different physical layer protocols.

### Claim 13 (depends on 1)

A system comprising:
a first network node, said first network node being provided by the data processing system of claim 1;
a second network node having a second plurality of network ports, wherein said second plurality of network ports are connected to respective ones of said physical links, the second network node being configured to receive said duplicate network messages and to remove duplicate network messages that arrive after the first received network message.

### Claim 14 (depends on 13)

A system as claimed in claim 13, further comprising a physical layer switch, wherein said first node is connected to said second node by means of said physical layer switch, said physical layer switch comprising a plurality of switches, wherein when one of said plurality of switches is closed, an electrical connection is made between a corresponding one of the network ports of the first node and the network ports of the second node so at to allow physical and logical layer connections to be established.

### Claim 15 (depends on 13)

A system as claimed in claim 13, wherein said second network node is configured to convert the first network message received in accordance with the selected protocol to another protocol.

### Claim 16 (depends on 13)

A system as claimed in claim 13, wherein the second network node comprises a network interface device, said network interface device configured to perform said step of removing duplicate network messages that arrive after the first received network message.

### Claim 17

A method for use in a data processing system comprising first and second network ports and a processor, each of said first and second network ports operable to support a network connection configured according to one or more of a predetermined set of physical layer protocols, said first and second network ports connected to respective physical links, said method comprising:
forming a network message for transmission to a network endpoint accessible over either of the first and second network ports;
estimating the total time required to, for each of the predetermined set of physical layer protocols, transmit the network message over a respective network connection;
selecting the physical layer protocol having the lowest estimate of the total time required to transmit the entire network message over a respective network connection;
configuring at least one of the first and second network ports to use the selected physical layer protocol;
transmitting in parallel said network message over both of a first of said physical links and a second of said physical links.

### Claim 18 (depends on 17)

A method as claimed in claim 17, wherein the step of estimating the total time required to, for each of the predetermined set of physical layer protocols, transmit the network message over a respective network connection comprises estimating the total time required to negotiate that respective network connection.

### Claim 19 (depends on 18)

A method as claimed in claim 18, wherein estimates of the time required to negotiate network connections over the first and second network ports represent estimates of the total time required to establish physical layer and data link layer connections.

### Claim 20 (depends on 17)

A method for use in a system comprising:
a first network node configured to perform the method of claim 17, and a second network node, said second network node having a second plurality of network ports, wherein said second plurality of network ports are connected to respective ones of said of physical links, said method comprising:
receiving said duplicate network message at the second network node;
removing, at the second network node, duplicate network messages that arrive after the first received network message.
