# US 12,120,205 B2 · Communication protocol for a distributed event streaming platform

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

- Number: US 12,120,205 B2
- Document ID: US12120205B2
- Status: Granted
- Kind: B2
- Application number: 18/309,034
- Filed: 2023-04-28
- Published: 2023-09-07
- Granted: 2024-10-15
- Earliest claimed: 2022-03-03
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Matthias Wessendorf; Pierangelo Di Pilato; Ahmed Abdalla Ibrahim Abdelrehim; Ali Ok
- Web page: https://patentgrep.com/patent/US12120205B2

## CPC

- H04L 69/18: Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/565: Conversion or adaptation of application format or content (adding application control or application functional data H04L67/561)
- H04L 69/08: Protocols for interworking; Protocol conversion
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods are described for passing event messages between components of a computing cluster. An example method includes identifying, by an event sender, a receiving component to receive a record, determining, by a processing device, whether the receiving component is a protocol aware component, and upon determining that the receiving component is the protocol aware component, sending the record to the receiving component using a first protocol. Sending the record to the receiving component using the first protocol bypasses a dispatch service of the event sender.

## Claims

### Claim 1

A method comprising:
identifying, by an event sender, a receiving component to receive a record;
determining, by a processing device, whether the receiving component is a protocol aware component; and
upon determining that the receiving component is the protocol aware component, sending the record to the receiving component using a first protocol, wherein sending the record to the receiving component using the first protocol bypasses a dispatch service of the event sender and bypasses an ingress service of the receiving component.

### Claim 2 (depends on 1)

The method of claim 1, wherein the record is a first record and the receiving component is a first receiving component, and
wherein the method further comprises:
identifying a second receiving component to receive a second record; and
upon determining that the second receiving component is not the protocol aware component, sending the second record to the second receiving component using a second protocol different from the first protocol.

### Claim 3 (depends on 2)

The method of claim 2, wherein the ingress service of the receiving component is a Hypertext Transfer Protocol (HTTP) ingress service, and wherein sending the second record to the second receiving component using the second protocol comprises resolving a Uniform Resource Locator (URL) of the HTTP ingress service.

### Claim 4 (depends on 1)

The method of claim 1, wherein sending the record to the receiving component using the first protocol comprises resolving a Uniform Resource Locator (URL) of a target topic of the receiving component and storing the record to the target topic.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
after sending the record to the receiving component using the first protocol, determining that the record was not received successfully by the receiving component; and
responsive to determining that the record was not received successfully by the receiving component, sending the record to the receiving component using a second protocol different from the first protocol.

### Claim 6 (depends on 1)

The method of claim 1, wherein the protocol aware component comprises a component compatible with a binary Kafka protocol.

### Claim 7

A system comprising:
a memory; and
a processing device operatively coupled to the memory, the processing device to:
identify, by an event sender, a receiving component to receive a record;
determine whether the receiving component is a protocol aware component; and
upon determining that the receiving component is the protocol aware component, send the record to the receiving component using a first protocol, wherein sending the record to the receiving component using the first protocol bypasses a dispatch service of the event sender and bypasses an ingress service of the receiving component.

### Claim 8 (depends on 7)

The system of claim 7, wherein the record is a first record and the receiving component is a first receiving component, and
wherein the processing device is further to:
identify a second receiving component to receive a second record; and
upon determining that the second receiving component is not the protocol aware component, send the second record to the second receiving component using a second protocol different from the first protocol.

### Claim 9 (depends on 8)

The system of claim 8, wherein the ingress service of the receiving component is a Hypertext Transfer Protocol (HTTP) ingress service, and to send the second record to the second receiving component using the second protocol, the processing device is to resolve a Uniform Resource Locator (URL) of the HTTP ingress service.

### Claim 10 (depends on 7)

The system of claim 7, wherein, to send the record to the receiving component using the first protocol, the processing device is to resolve a Uniform Resource Locator (URL) of a target topic of the receiving component and store the record to the target topic.

### Claim 11 (depends on 7)

The system of claim 7, wherein the processing device is further to:
after sending the record to the receiving component using the first protocol, determine that the record was not received successfully by the receiving component; and
responsive to determining that the record was not received successfully by the receiving component, send the record to the receiving component using a second protocol different from the first protocol.

### Claim 12 (depends on 7)

The system of claim 7, wherein the protocol aware component comprises a component compatible with a binary Kafka protocol.

### Claim 13

A non-transitory computer-readable medium, having instructions stored thereon which, when executed by a processing device, cause the processing device to:
identify, by an event sender, a receiving component to receive a record;
determine, by the processing device, whether the receiving component is a protocol aware component; and
upon determining that the receiving component is the protocol aware component, send the record to the receiving component using a first protocol, wherein to send the record to the receiving component using the first protocol bypasses a dispatch service of the event sender and bypasses an ingress service of the receiving component.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the record is a first record and the receiving component is a first receiving component, and
wherein the processing device is further to:
identify a second receiving component to receive a second record; and
upon determining that the second receiving component is not the protocol aware component, send the second record to the second receiving component using a second protocol different from the first protocol.

### Claim 15 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the ingress service of the receiving component is a Hypertext Transfer Protocol (HTTP) ingress service, and to send the second record to the second receiving component using the second protocol, the processing device is to resolve a Uniform Resource Locator (URL) of the HTTP ingress service deployed by the second receiving component.

### Claim 16 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein, to send the record to the receiving component using the first protocol, the processing device is to resolve a Uniform Resource Locator (URL) of a target topic of the receiving component and store the record to the target topic.

### Claim 17 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the processing device is further to:
after sending the record to the receiving component using the first protocol, determine that the record was not received successfully by the receiving component; and
responsive to determining that the record was not received successfully by the receiving component, send the record to the receiving component using a second protocol different from the first protocol.
