IP Library Granted Patent US 12,395,448
Granted Patent B2
US 12,395,448 · App. 18/542,042 · Granted Aug 19, 2025

Agent message delivery fairness

Inventors: Gwendolyn Meredith Hunt (Portland, OR); Benjamin J. Jansen (Tigard, OR); Eric L. Delaney (Portland, OR); Ryan Larson (Keizer, OR); Mitch Thomas (Portland, OR); Brian McFeely (Orinda, CA)
Assignee: TRIPWIRE, INC.
H04L47/50G06F11/1464H04L9/3263H04L47/34H04L63/0428G06F2201/84
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,395,448
App. No.
18/542,042
Granted
Aug 19, 2025
Kind
B2
Abstract

Apparatus and methods are disclosed for generating, sending, and receiving messages in a networked environment using autonomous (or semi-autonomous) agents. In one example of the disclosed technology, a method of controlling message flow in a computer network comprising a plurality of agents, agent data consumers, and an agent message bridge configured to send messages by receiving a set of messages, at least some of the messages including a message type, queuing the set of messages in a spooler that includes an indication of the respective message type for each of the messages, receive an indication that sending some of the messages queued in the spooler should be delayed for one or more indicated message types, and sending at least one of the messages to a selected one or more of the agent data consumers, the sent messages not being of the indicated message types.

Claims (50)

1. At least one computer-readable storage medium storing computer-executable instructions, which when executed by a processor in communication with a server, cause the server to perform a method, the computer-executable instructions comprising:

instructions that cause the server to send a message to at least one agent executing on a compute host indicating a message type of a plurality of message types via a communication connection;

instructions that cause the server to send advisory messages to the at least one agent instructing to hold all messages having one or more message types of the plurality of message types while still forwarding all messages having a message type other than the one or more message types, wherein the one or more message types are not all of the plurality of message types;

instructions that cause the server to send a subsequent advisory message indicating that the agent should resume sending of messages having at least one of the one or more message types; and

instructions that cause the server to receive host data from the at least one agent, wherein at least some of the received host data has been stored at the compute host when the at least one agent cannot send data to the server via the communication connection.

2. The computer-readable storage medium of claim 1 , wherein the computer-executable instructions further comprise:

instructions that cause the server to send the host data to at least one agent data consumer.

3. The computer-readable storage medium of claim 1 , wherein the computer-executable instructions further comprise:

instructions that cause the server to send the received host data to at least one agent data consumer selected based on an agent identifier indicated by a message received from the host computer.

4. The computer-readable storage medium of claim 1 , wherein the computer-executable instructions further comprise:

instructions that cause the server to monitor one or more message topics; and

instructions that, when a number of message topics reaches a configurable limit, cause the server to send an advisory message to one or more agents indicating to stop sending or restart sending of messages according to at least one of the message topics.

5. The computer-readable storage medium of claim 1 , wherein the computer-executable instructions further comprise:

instructions that cause the server to send a message to the at least one agent to adjust the rate at which messages are sent to the server.

6. A server, comprising:

at least one processor;

a communication connection operable to communicate with the at least one agent executing on a host computer; and

a computer-readable storage medium storing computer-executable instructions, which when executed by the at least one processor, cause the at least one processor to perform a method, the computer-executable instructions comprising:

instructions that cause the at least one processor to send a message to at least one agent executing on a compute host indicating a message type of a plurality of message types via a communication connection;

instructions that cause the at least one processor to send advisory messages to the at least one agent instructing to hold all messages having one or more message types of the plurality of message types while still forwarding all messages having a message type other than the one or more message types, wherein the one or more message types are not all of the plurality of message types;

instructions that cause the at least one processor to send a subsequent advisory message indicating that the agent should resume sending of messages having at least one of the one or more message types; and

instructions that cause the at least one processor to receive host data from the at least one agent, wherein at least some of the received host data has been stored at the compute host when the at least one agent cannot send data to the server via the communication connection.

7. The server of claim 6 , further comprising:

a message broker means for a temporarily storing the received host data.

8. The server of claim 6 , wherein the computer-executable instructions further comprise:

instructions that cause the at least one processor to send the host data to at least one agent data consumer.

9. The server of claim 6 , wherein the computer-executable instructions further comprise:

instructions that cause the at least one processor to send the received host data to at least one agent data consumer selected based on an agent identifier indicated by a message received from the host computer.

10. The server of claim 6 , wherein the computer-executable instructions further comprise:

instructions that cause the at least one processor to monitor one or more message topics; and

instructions that, when a number of message topics reaches a configurable limit, cause the at least one processor send an advisory message to one or more agents indicating to stop sending or restart sending of messages according to at least one of the message topics.

11. The server of claim 6 , wherein the computer-executable instructions further comprise:

instructions that cause the at least one processor to send a message to the at least one agent to adjust the rate at which messages are sent to the server.

12. A method comprising:

communicating, by at least one processor in communication with a server, with at least one agent executing on a host computer; and

sending, by the at least one processor, a message to at least one agent executing on a compute host indicating a message type of a plurality of message types via a communication connection;

sending, by the at least one processor, advisory messages to the at least one agent instructing to hold all messages having one or more message types of the plurality of message types while still forwarding all messages having a message type other than the one or more message types, wherein the one or more message types are not all of the plurality of message types;

sending, by the at least one processor, a subsequent advisory message indicating that the agent should resume sending of messages having at least one of the one or more message types; and

receiving, by the at least one processor, host data from the at least one agent, wherein at least some of the received host data has been stored at the compute host when the at least one agent cannot send data to the server via the communication connection.

13. The method of claim 12 , further comprising:

temporarily storing, by the at least one processor, the received host data.

14. The method of claim 12 , further comprising:

sending, by the at least one processor, the host data to at least one agent data consumer.

15. The method of claim 12 , further comprising:

sending, by the at least one processor, the received host data to at least one agent data consumer selected based on an agent identifier indicated by a message received from the host computer.

16. The method of claim 12 , further comprising:

monitoring, by the at least one processor, one or more message topics; and

when a number of message topics reaches a configurable limit, sending, by the at least one processor, an advisory message to one or more agents indicating to stop sending or restart sending of messages according to at least one of the message topics.

17. The method of claim 12 , further comprising:

sending, by the at least one processor, a message to the at least one agent to adjust the rate at which messages are sent to the server.

Assignments (5)
SECURITY INTEREST Recorded Jan 6, 2026
From: ALERT LOGIC, INC.; DIGITAL GUARDIAN LLC; ECRIME MANAGEMENT STRATEGIES, INC.; FORTRA, LLC; GLOBALSCAPE, INC.; TRIPWIRE, INC.
To: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 074233/0632 →
EXTENDED RCF FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: TRIPWIRE, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073663/0639 →
EXTENDED FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: TRIPWIRE, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073664/0124 →
NEW MONEY FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: ALERT LOGIC, INC.; DIGITAL GUARDIAN LLC; ECRIME MANAGEMENT STRATEGIES, INC.; FORTRA, LLC; GLOBALSCAPE, INC.; TRIPWIRE, INC.; VERA SECURITY, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 073683/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2024
From: HUNT, GWENDOLYN MEREDITH; JANSEN, BENJAMIN J; DELANEY, ERIC L; LARSON, RYAN; THOMAS, MITCH; MCFEELY, BRIAN
To: TRIPWIRE, INC.
Reel/Frame 066752/0136 →
Continuity (6)
Division 17497745 · Oct 8, 2021
Division 16414390 · May 16, 2019
Division 14818169 · Aug 4, 2015
Continuation In Part 14303431 · Jun 12, 2014
Provisional Application 62032975 · Aug 4, 2014
Related Publication 20240113984A1 · Apr 4, 2024
References Cited (62)
US 6092109A · Goto · 2000 [cited by examiner]
US 6314190B1 · Zimmermann · 2001 [cited by examiner]
US 6785821B1 · Teal · 2004 [cited by applicant]
US 6941358B1 · Joiner et al. · 2005 [cited by applicant]
US 7243348B2 · Good et al. · 2007 [cited by applicant]
US 7246156B2 · Ginter · 2007 [cited by examiner]
US 7316016B2 · Difalco · 2008 [cited by applicant]
US 7360099B2 · Difalco et al. · 2008 [cited by applicant]
US 7587754B2 · Difalco et al. · 2009 [cited by applicant]
US 7620715B2 · Difalco et al. · 2009 [cited by applicant]
US 7765460B2 · Difalco et al. · 2010 [cited by applicant]
US 7822724B2 · Difalco et al. · 2010 [cited by applicant]
US 7979245B1 · Bourlatchkov · 2011 [cited by examiner]
US 8079081B1 · Lavrik et al. · 2011 [cited by applicant]
US 8140635B2 · Difalco · 2012 [cited by applicant]
US 8176158B2 · Difalco et al. · 2012 [cited by applicant]
US 8346935B2 · Mayo et al. · 2013 [cited by applicant]
US 9634951B1 · Hunt et al. · 2017 [cited by applicant]
US 10313257B1 · Hunt et al. · 2019 [cited by applicant]
US 10764257B1 · Hunt et al. · 2020 [cited by applicant]
US 11159439B1 · Hunt et al. · 2021 [cited by applicant]
US 20020196330A1 · Park et al. · 2002 [cited by applicant]
US 20040024843A1 · Smith · 2004 [cited by applicant]
US 20040075738A1 · Burke et al. · 2004 [cited by applicant]
US 20040083373A1 · Perkins et al. · 2004 [cited by applicant]
US 20040122962A1 · Difalco et al. · 2004 [cited by applicant]
US 20040139166A1 · Collison · 2004 [cited by applicant]
US 20040151114A1 · Ruutu · 2004 [cited by applicant]
US 20040230903A1 · Elza et al. · 2004 [cited by applicant]
US 20050210331A1 · Connelly et al. · 2005 [cited by applicant]
US 20060206883A1 · Sabbouh · 2006 [cited by applicant]
US 20060242277A1 · Torrence et al. · 2006 [cited by applicant]
US 20070005665A1 · Vaitzblit et al. · 2007 [cited by applicant]
US 20070016910A1 · Roberts · 2007 [cited by applicant]
US 20070043786A1 · Difalco et al. · 2007 [cited by applicant]
US 20070061815A1 · Graham et al. · 2007 [cited by applicant]
US 20070124255A1 · Difalco et al. · 2007 [cited by applicant]
US 20070239862A1 · Bronez et al. · 2007 [cited by applicant]
US 20080016501A1 · Muhlestein et al. · 2008 [cited by applicant]
US 20080021912A1 · Seligman et al. · 2008 [cited by applicant]
US 20080168420A1 · Sabbouh · 2008 [cited by applicant]
US 20090193298A1 · Mukherjee · 2009 [cited by applicant]
US 20090228577A1 · Webb-Johnson · 2009 [cited by applicant]
US 20100005107A1 · Difalco · 2010 [cited by applicant]
US 20100043066A1 · Miliefsky · 2010 [cited by applicant]
US 20110066951A1 · Ward-Karet et al. · 2011 [cited by applicant]
US 20110099236A1 · Vuong et al. · 2011 [cited by applicant]
US 20110197094A1 · Wagner · 2011 [cited by applicant]
US 20110197189A1 · Wagner et al. · 2011 [cited by applicant]
US 20110197205A1 · Wagner et al. · 2011 [cited by applicant]
US 20110208841A1 · Robertson et al. · 2011 [cited by applicant]
US 20110258268A1 · Banks et al. · 2011 [cited by applicant]
US 20120005688A1 · Kesavan et al. · 2012 [cited by applicant]
US 20120023076A1 · Torrence et al. · 2012 [cited by applicant]
US 20120089568A1 · Manley et al. · 2012 [cited by applicant]
US 20120179805A1 · Difalco · 2012 [cited by applicant]
US 20120210434A1 · Curtis et al. · 2012 [cited by applicant]
US 20120259912A1 · Kruse et al. · 2012 [cited by applicant]
US 20140237145A1 · Mints · 2014 [cited by applicant]
US 20150293955A1 · Dickey · 2015 [cited by applicant]
ITU-T Recommendation X.667, “Information technology—Open Systems Interconnection-Procedures for the operation of OSI Registration Authorities: Generation and registration of Universally Unique Identifiers (UUIDs) and th… [cited by applicant]
U.S. Appl. No. 17/001,402, unpublished application, Hunt et al. [cited by applicant]