IP Library › Granted Patent US 12,743,263
Granted Patent B2
US 12,743,263 · App. 18/233,095 · Granted Sep 22, 2026

Scaling out automation distributions using a publication-subscription message system

Inventors: Pierre-Yves Chibon (Saint-Pol-de-Léon, FR); Adam John Miller (Austin, TX)
Assignee: Red Hat, Inc.
G06F8/65H04L67/34
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,743,263
App. No.
18/233,095
Granted
Sep 22, 2026
Kind
B2
Abstract

Techniques for distributing automation packages are disclosed. An example method includes receiving a playbook that includes a task to be performed by a set of target devices. The method also includes generating an automation package that includes the task included in the playbook. The method also includes encapsulating the automation package in one or more messages, where the one or more messages include a topic identifier that identifies a topic corresponding to the set of target devices. The method also includes sending, by a processing device, the one or more messages to a message service to be published to the topic, where the set of target devices are configured to subscribe to the topic.

Claims (44)

1 . A method comprising:

receiving a playbook that includes a task to be performed by a set of target devices;

generating an automation package that comprises the task included in the playbook;

encapsulating the automation package in one or more messages, wherein the one or more messages include a topic identifier that identifies a topic corresponding to the set of target devices; and

sending, by a processing device, the one or more messages to a message service to be published to the topic, wherein the set of target devices are configured to subscribe to the topic, wherein the set of target devices connect with the message service to determine availability of the topic for retrieval, wherein a specific device of the set of target devices sends an acknowledgement including at least status information related to successful retrieval of the topic and successful execution of the topic by the specific device, wherein the acknowledgement is utilized to maintain a log of automation data associated with the automation package.

2 . The method of claim 1 , wherein the playbook is an Ansible playbook comprising the task and a plurality of additional tasks to be performed by additional sets of target devices.

3 . The method of claim 1 , wherein the task comprises execution of a code module to perform at least one of:

changing a value of a configuration parameter; or

implementing a software update.

4 . The method of claim 1 , wherein the message service is a message bus that operates according to an Advanced Message Queuing Protocol (AMQP) or Message Queuing Telemetry Transport (MQTT) protocol.

5 . The method of claim 1 , wherein the task includes a device identifier that identifies the set of target devices, the method further comprising selecting the topic identifier that corresponds with the device identifier.

6 . The method of claim 1 , further comprising asynchronously receiving the acknowledgement from the specific device of the set of target devices, wherein the acknowledgement is further configured to identify the specific device and to indicate whether the task was successfully executed by the specific device.

7 . The method of claim 1 , comprising subscribing to an additional topic specified for receiving acknowledgements from the set of target devices, wherein each device in the set of target devices is configured to publish to the additional topic.

8 . The method of claim 1 , further comprising adding header information to the one or more messages, wherein the header information indicates that prior messages stored to the topic and associated with prior automation packages are deprecated.

9 . The method of claim 1 , wherein encapsulating the automation package in one or more messages comprises:

segmenting the automation package into a first segment and a second segment;

encapsulating the first segment in a first message of the one or more messages;

encapsulating the second segment in a second message of the one or more messages; and

adding header information to each of the one or more messages to enable the automation package to be reassembled by each of the set of target devices.

10 . The method of claim 1 , wherein the set of target devices comprises an electronic device incorporated within a vehicle's control systems or Human Machine Interface (HMI) systems.

11 . A system comprising:

a memory; and

a processing device, operatively coupled to the memory, the processing device to:

receive a playbook that includes a task to be performed by a set of target devices;

generate an automation package that includes the task included in the playbook;

encapsulate the automation package in one or more messages, wherein the one or more messages include a topic identifier that identifies a topic corresponding to the set of target devices; and

send the one or more messages to a message service to be published to the topic, wherein the set of target devices are configured to subscribe to the topic, wherein the set of target devices connect with the message service to determine availability of the topic for retrieval, wherein a specific device of the set of target devices sends an acknowledgement including at least status information related to successful retrieval of the topic and successful execution of the topic by the specific device, wherein the acknowledgement is utilized to maintain a log of automation data associated with the automation package.

12 . The system of claim 11 , wherein the playbook is an Ansible playbook comprising the task and a plurality of additional tasks to be performed by additional sets of target devices.

13 . The system of claim 11 , wherein the task includes a device identifier that identifies the set of target devices, and wherein the processing device is further to select the topic identifier that corresponds with the device identifier.

14 . The system of claim 11 , wherein the processing device is further to asynchronously receive the acknowledgement from the specific device of the set of target devices, wherein the acknowledgement is further configured to identify the specific device and indicate whether the task was successfully executed by the specific device.

15 . The system of claim 11 , wherein the processing device is further to subscribe to an additional topic specified for receiving acknowledgements from the set of target devices, wherein each device in the set of target devices is configured to publish to the additional topic.

16 . The system of claim 11 , wherein the processing device is further to add header information to the one or more messages, wherein the header information indicates that prior messages stored to the topic and associated with prior automation packages are deprecated.

17 . The system of claim 11 , wherein to encapsulate the automation package in one or more messages comprises to:

segment the automation package into a first segment and a second segment;

encapsulate the first segment in a first message of the one or more messages;

encapsulate the second segment in a second message of the one or more messages; and

add header information to each of the one or more messages to enable the automation package to be reassembled by each of the set of target devices.

18 . A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

receive a playbook that includes a task to be performed by a set of target devices;

generate an automation package that includes the task included in the playbook;

encapsulate the automation package in one or more messages, wherein the one or more messages include a topic identifier that identifies a topic corresponding to the set of target devices; and

send, by the processing device, the one or more messages to a message service to be published to the topic, wherein the set of target devices are configured to subscribe to the topic, wherein the set of target devices connect with the message service to determine availability of the topic for retrieval, wherein a specific device of the set of target devices sends an acknowledgement including at least status information related to successful retrieval of the topic and successful execution of the topic by the specific device, wherein the acknowledgement is utilized to maintain a log of automation data associated with the automation package.

19 . The non-transitory computer-readable storage medium of claim 18 , wherein the instructions further cause the processing device to subscribe to an additional topic specified for receiving acknowledgements from the set of target devices, wherein each device in the set of target devices is configured to publish to the additional topic.

20 . The non-transitory computer-readable storage medium of claim 18 , wherein the instructions further cause the processing device to add header information to the one or more messages, wherein the header information indicates that prior messages stored to the topic and associated with prior automation packages are deprecated.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2023
From: CHIBON, PIERRE-YVES; MILLER, ADAM JOHN
To: RED HAT, INC.
Reel/Frame 064567/0442 →
Continuity (1)
Related Publication 20250053404A1 · Feb 13, 2025
References Cited (21)
US 5841793A · Fukuda · 1998 [cited by examiner]
US 6178426B1 · Klein · 2001 [cited by examiner]
US 6976062B1 · Denby · 2005 [cited by examiner]
US 8533608B1 · Tantiprasut · 2013 [cited by examiner]
US 9047155B2 · DeHaan · 2015 [cited by applicant]
US 10013491B2 · Vasudevan et al. · 2018 [cited by applicant]
US 10972342B2 · Shenoy et al. · 2021 [cited by applicant]
US 11435871B1 · Luvaas · 2022 [cited by examiner]
US 11531530B1 · Henry et al. · 2022 [cited by applicant]
US 11947342B1 · Mazur · 2024 [cited by examiner]
US 12362927B2 · Marco · 2025 [cited by examiner]
US 20160357778A1 · Mackenzie · 2016 [cited by examiner]
US 20180013610A1 · Shen · 2018 [cited by examiner]
US 20230008839A1 · Henry · 2023 [cited by examiner]
US 20240036847A1 · Shin · 2024 [cited by examiner]
CN 115150244A · 2022 [cited by applicant]
CN 117331692A · 2024 [cited by examiner]
EP 3971665B1 · 2024 [cited by examiner]
Xu, Chunlei, “Design of Real-time Message Synchronization cross Smart Grid Dispatching System,” 2020 IEEE 4th Conference on Energy Internet and Energy System Integration (E12), Oct. 30 to Nov. 1, 2020, pp. 1-6, Wuhan, C… [cited by applicant]
Husler, Roman, Event-Driven Architecture with Ansible and Kafka: How to automate your IT with an event driven architecture (kaftka and event driven ansible), https://blog.opensight.ch/event-driven-architecture-with-ansi… [cited by applicant]
Confluent Inc., “Scale Confluent Platform Clusters using Ansible,” https://docs.confluent.io/ansible/current/ansible-scale.html, Jun. 3, 2023, pp. 1-2. [cited by applicant]