IP Library Granted Patent US 12,554,535
Granted Patent B2
US 12,554,535 · App. 18/219,926 · Granted Feb 17, 2026

Idling and waking a sender node for event message delivery in a computing environment

Inventors: Andrea Cosentino (Rome, IT); Paolo Antinori (Novara, IT)
Assignee: Red Hat, LLC
G06F9/4881
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,554,535
App. No.
18/219,926
Granted
Feb 17, 2026
Kind
B2
Abstract

Event delivery can be managed by an event broker in a distributed computing environment. The event broker can receive an event message from a producer device, the event message having a payload and a key. The event broker can store the event message in an event queue based on the key. A sender node can transmit the event message to an event consumer. Subsequent to transmitting the event message, the event broker can cause the sender node to enter an idle state. The event broker can receive an error message from the event consumer while the sender node is in the idle state. After receiving the error message, the event broker can wake the sender node from the idle state. The sender node can initiate a retry process involving iteratively re-transmitting the event message to the event consumer.

Claims (60)

1 . A computer-implemented method comprising:

receiving, by an event broker, an event message from a producer device, the event message having a payload and a key;

storing, by the event broker, the event message in an event queue based on the key;

transmitting, by a sender node of the event broker, the event message to an event consumer that is subscribed to receive event messages from the event queue; and

subsequent to transmitting the event message to the event consumer:

causing, by the event broker, the sender node to enter an idle state;

receiving, by the event broker, an error message from the event consumer while the sender node is in the idle state;

in response to receiving the error message, waking, by the event broker, the sender node from the idle state; and

subsequent to waking from the idle state, initiating, by the sender node, a retry process involving iteratively re-transmitting the event message to the event consumer until either a threshold number of retry attempts have been performed or until an acknowledgement message is received from the event consumer.

2 . The computer-implemented method of claim 1 , further comprising:

receiving, by the event broker, a notification from the event consumer, the notification indicating a transmission status of the event message; and

based on receiving the notification, modifying, by the event broker, a transmission status indicator in a lookup table to indicate the transmission status of the event message, the lookup table corresponding to the event queue.

3 . The computer-implemented method of claim 2 , further comprising:

determining, by the event broker and based on the transmission status indicator in the lookup table, that the event message was not transmitted to the event consumer successfully; and

transmitting, by the event broker, the event message to a third-party device that is configured to transmit the event message to the event consumer.

4 . The computer-implemented method of claim 2 , wherein a dispatcher module of the event broker wakes the sender node in response to receiving the error message.

5 . The computer-implemented method of claim 1 , wherein the event broker, the sender node, and the producer device are edge-computing devices in an edge network.

6 . The computer-implemented method of claim 1 , wherein the event broker includes the producer device.

7 . The computer-implemented method of claim 1 , further comprising:

removing, by the event broker and in response to determining that the event message has been successfully transmitted to the event consumer, the event message from the event queue.

8 . A non-transitory computer-readable medium comprising instructions that are executable by one or more processing devices of an event broker for causing the event broker to:

receive an event message from a producer device, the event message having a payload and a key;

store the event message in an event queue based on the key;

transmit, by a sender node of the event broker, the event message to an event consumer that is subscribed to receive event messages from the event queue; and

subsequent to transmitting the event message to the event consumer:

cause the sender node to enter an idle state;

receive an error message from the event consumer while the sender node is in the idle state;

in response to receiving the error message, wake the sender node from the idle state; and

subsequent to waking from the idle state, initiate, by the sender node, a retry process involving iteratively re-transmitting the event message to the event consumer until either a threshold number of retry attempts have been performed or until an acknowledgement message is received from the event consumer.

9 . The non-transitory computer-readable medium of claim 8 , further comprising instructions that are executable by the one or more processing devices for causing the event broker to:

receive a notification from the event consumer, the notification indicating a transmission status of the event message; and

modify a transmission status indicator in a lookup table to indicate to the transmission status of the event message, the lookup table corresponding to the event queue.

10 . The non-transitory computer-readable medium of claim 9 , further comprising instructions that are executable by the one or more processing devices for causing the event broker to:

determine, based on the transmission status indicator in the lookup table, that the event message was not transmitted to the event consumer successfully; and

transmit the event message to a third-party device that is configured to transmit the event message to the event consumer.

11 . The non-transitory computer-readable medium of claim 9 , wherein a dispatcher module of the event broker is configured to wake the sender node from the idle state in response to receiving the error message.

12 . The non-transitory computer-readable medium of claim 8 , wherein the event broker, the sender node, and the producer device are edge-computing devices in an edge network.

13 . The non-transitory computer-readable medium of claim 8 , wherein the event broker includes the producer device.

14 . The non-transitory computer-readable medium of claim 8 , further comprising instructions that are executable by the one or more processing devices for causing the event broker to:

in response to determining that the event message has been successfully transmitted to the event consumer, remove the event message from the event queue.

15 . A system comprising:

one or more processing devices associated with an event broker; and

one or more memories having instructions that are executable by the one or more processing devices for causing the event broker to:

receive an event message from a producer device, the event message having a payload and a key;

store the event message in an event queue based on the key;

transmit, by a sender node of the event broker, the event message to an event consumer that is subscribed to receive event messages from the event queue; and

subsequent to transmitting the event message to the event consumer:

cause the sender node to enter an idle state;

receive an error message from the event consumer while the sender node is in the idle state;

in response to receiving the error message, wake the sender node from the idle state; and

subsequent to waking from the idle state, initiate, by the sender node, a retry process involving iteratively re-transmitting the event message to the event consumer until either a threshold number of retry attempts have been performed or until an acknowledgement message is received from the event consumer.

16 . The system of claim 15 , further comprising instructions that are executable by the one or more processing devices for causing the event broker to:

receive a notification from the event consumer, the notification indicating a transmission status of the event message; and

modify a transmission status indicator in a lookup table to indicate to the transmission status of the event message, the lookup table corresponding to the event queue.

17 . The system of claim 16 , further comprising instructions that are executable by the one or more processing devices for causing the event broker to:

determine, based on the transmission status indicator in the lookup table, that the event message was not transmitted to the event consumer successfully; and

transmit the event message to a third-party device that is configured to transmit the event message to the event consumer.

18 . The system of claim 16 , wherein a dispatcher module of the event broker is configured to wake the sender node from the idle state in response to receiving the error message.

19 . The system of claim 15 , wherein the event broker, the sender node, and the producer device are edge-computing devices in an edge network.

20 . The system of claim 15 , wherein the event broker includes the producer device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2023
From: COSENTINO, ANDREA; ANTINORI, PAOLO
To: RED HAT, INC.
Reel/Frame 064200/0067 →
Continuity (1)
Related Publication 20250021375A1 · Jan 16, 2025
References Cited (28)
US 8769134B2 · Calder et al. · 2014 [cited by applicant]
US 10361985B1 · Shveykin et al. · 2019 [cited by applicant]
US 10382380B1 · Suzani et al. · 2019 [cited by applicant]
US 10454795B1 · Jonsson et al. · 2019 [cited by applicant]
US 10565034B2 · Zhang et al. · 2020 [cited by applicant]
US 11609803B2 · Ferraro et al. · 2023 [cited by applicant]
US 20070058541A1 · Pike et al. · 2007 [cited by applicant]
US 20120303725A1 · Sato · 2012 [cited by examiner]
US 20130042001A1 · Gould et al. · 2013 [cited by applicant]
US 20150381709A1 · Word · 2015 [cited by applicant]
US 20170192693A1 · Gupta et al. · 2017 [cited by applicant]
US 20170214762A1 · Swain et al. · 2017 [cited by applicant]
US 20170310628A1 · Norwood et al. · 2017 [cited by applicant]
US 20180176070A1 · Shafiee et al. · 2018 [cited by applicant]
US 20190014171A1 · Stein et al. · 2019 [cited by applicant]
US 20190361755A1 · Cote · 2019 [cited by applicant]
US 20200034216A1 · Kolodzieski et al. · 2020 [cited by applicant]
US 20200067903A1 · Yegorin · 2020 [cited by examiner]
US 20200169616A1 · Chen et al. · 2020 [cited by applicant]
US 20200225982A1 · Jung et al. · 2020 [cited by applicant]
US 20210126780A1 · Baird, III · 2021 [cited by applicant]
US 20220014594A1 · Mladin · 2022 [cited by examiner]
US 20240340354A1 · Wakabayashi · 2024 [cited by examiner]
Anonymous, “Amazon SQS FIFO (First-In-First-Out) queues,” Amazon Simple Queue Service, Amazon Web Services, Inc. 2020: pp. 1-6, <https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.htm… [cited by applicant]
Guo, “Knative Eventing 101: Exercises to enable Knative services to consume events,” IBM, Oct. 1, 2019: pp. 1-4, <https://developer.ibm.com/technologies/containers/tutorials/knative-eventing-101-labs/>. [cited by applicant]
Ibryam, “Kubernetes Workloads in the Serverless Era: Architecture, Platforms, and Trends,” Principal Architect at Red Hat, Aug. 12, 2019: pp. 1-29, <https://infoq.com/articles/kubernetes-workloads-serveerless-era/>. [cited by applicant]
MSV, “Knative Brings Event-Driven and Serverless Computing to Kubernetes,” Janakiram MSV, Nov. 1, 2019: pp. 1-5, <https://thenewstack.io/knative-brings-event-driven-and-serverless-computing-to-kubernetes/>. [cited by applicant]
Richardson et al., “Enriching Event-Driven Architectures with AWS Event Fork Pipelines,” AWS Compute Blog, Amazon Web Services, Inc., Mar. 25, 2019: pp. 1-11, <https://aws.amazon.com/blogs/compute/enriching-event-driven… [cited by applicant]