# US 12,113,879 B2 · Reliable communications using a point to point protocol

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

- Number: US 12,113,879 B2
- Document ID: US12113879B2
- Status: Granted
- Kind: B2
- Application number: 18/342,005
- Filed: 2023-06-27
- Published: 2023-10-26
- Granted: 2024-10-08
- Earliest claimed: 2018-03-08
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Pradeep Sindhu; Deepak Goel; Srihari Raju Vegesna; Aibing Zhou; Shashi Kumar; Rohit Sunkam Ramanujam
- Web page: https://patentgrep.com/patent/US12113879B2

## CPC

- H04L 69/03: {Protocol definition or specification (protocol conformance testing H04L1/244)}
- H04L 1/1621: {Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers}
- H04L 49/112: Switch control, e.g. arbitration
- H04L 69/085: specially adapted for interworking of IP-based networks with other networks
- H04L 69/14: Multichannel or multilink protocols
- H04L 69/166: IP fragmentation; TCP segmentation
- H04L 69/22: Parsing or analysis of headers
- H04L 69/26: {Special purpose or proprietary protocols or architectures (network applications for proprietary or special purpose networking environments H04L67/12)}
- H04L 69/324: in the data link layer [OSI layer 2], e.g. HDLC
- H04L 47/39: {Credit based}
- H04L 69/02: {Protocol performance}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This disclosure describes techniques for performing communications between devices using various aspects of Ethernet standards. As further described herein, a protocol is disclosed that may be used for communications between devices, where the communications take place over a physical connection complying with Ethernet standards. Such a protocol may enable reliable and in-order delivery of frames between devices, while following Ethernet physical layer rules, Ethernet symbol encoding, Ethernet lane alignment, and/or Ethernet frame formats.

## Claims

### Claim 1

A method for communicating between computing devices over an Ethernet physical layer connection, the method comprising:
constructing a frame having a twelve-byte field, a two-byte field, and a data field, wherein the two-byte field includes information identifying whether the frame is to be interpreted as an Ethernet frame;
outputting, over the Ethernet physical layer connection to a destination network device, the frame by transmitting the twelve-byte field, followed by the two-byte field, and followed by the data field; and
outputting, over the Ethernet physical layer connection to the destination network device, an Ethernet frame check sequence calculated based on the frame, wherein the Ethernet frame check sequence indicates whether the frame includes an error indicating to the destination network device to refrain from processing the frame.

### Claim 2 (depends on 1)

The method of claim 1, further comprising receiving, over the Ethernet physical layer connection from the destination network device, information acknowledging receipt of the frame.

### Claim 3 (depends on 1)

The method of claim 1, wherein constructing the frame comprises including, in the twelve-byte field, a sequence number identifying the frame.

### Claim 4 (depends on 3)

The method of claim 3, further comprising receiving, over the Ethernet physical layer connection from the destination network device, information acknowledging receipt of the frame, wherein the information acknowledging receipt of the frame comprises the sequence number.

### Claim 5 (depends on 1)

The method of claim 1, wherein the frame is a first frame, wherein the twelve-byte field is a first frame twelve-byte field, wherein the two-byte field is a first frame two-byte field, wherein the data field is a first frame data field, and wherein the method further comprises:
receiving, over the Ethernet physical layer connection from the destination network device, a second frame having a second frame twelve-byte field, a second frame two-byte field, and a second frame data field, wherein the second frame two-byte field includes information specifying whether the second frame is to be interpreted as an Ethernet frame.

### Claim 6 (depends on 5)

The method of claim 5, wherein the Ethernet frame check sequence is a first frame Ethernet frame check sequence, and wherein the method further comprises:
receiving, over the Ethernet physical layer connection from the destination network device, a second frame Ethernet frame check sequence calculated based on the second frame.

### Claim 7 (depends on 5)

The method of claim 5, wherein the second frame twelve-byte field includes information acknowledging receipt of the first frame.

### Claim 8 (depends on 7)

The method of claim 7, wherein constructing the first frame comprises including, in the first frame twelve-byte field, a sequence number identifying the first frame, and wherein the information acknowledging receipt of the first frame includes the sequence number identifying the first frame.

### Claim 9 (depends on 1)

The method of claim 1, wherein the data field includes a plurality of messages, each of the plurality of messages including a message header and a message payload.

### Claim 10 (depends on 1)

The method of claim 1, further comprising allocating bandwidth between Ethernet frames and frames that are not to be interpreted as Ethernet frames.

### Claim 11

A network device connected to an Ethernet physical layer connection, the network device comprising:
processing circuitry and a storage device, wherein the processing circuitry has access to the storage device and is configured to:
construct a frame having a twelve-byte field, a two-byte field, and a data field, wherein the two-byte field includes information identifying whether the frame is to be interpreted as an Ethernet frame,
output, over the Ethernet physical layer connection to a destination network device, the frame by transmitting the twelve-byte field, followed by the two-byte field, and followed by the data field, and
output, over the Ethernet physical layer connection to the destination network device, an Ethernet frame check sequence calculated based on the frame, wherein the Ethernet frame check sequence indicates whether the frame includes an error indicating to the destination network device to refrain from processing the frame.

### Claim 12 (depends on 11)

The network device of claim 11, wherein the processing circuitry is further configured to:
receive, over the Ethernet physical layer connection from the destination network device, information acknowledging receipt of the frame.

### Claim 13 (depends on 11)

The network device of claim 11, wherein the frame is a first frame, wherein the twelve-byte field is a first frame twelve-byte field, wherein the two-byte field is a first frame two-byte field, wherein the data field is a first frame data field, wherein the Ethernet frame check sequence is a first frame Ethernet frame check sequence, and wherein the processing circuitry is further configured to:
receive, over the Ethernet physical layer connection from the destination network device, a second frame having a second frame twelve-byte field, a second frame two-byte field, a second frame data field, and a second frame Ethernet frame check sequence calculated based on the second frame, wherein the second frame two-byte field includes information specifying whether the second frame is to be interpreted as an Ethernet frame.

### Claim 14 (depends on 11)

The network device of claim 11, wherein constructing the frame comprises including, within the twelve-byte field, a sequence number identifying the frame.

### Claim 15 (depends on 11)

The network device of claim 11, wherein the data field includes a plurality of messages, each of the plurality of messages including a message header and a message payload.
