IP Library Granted Patent US 10,764,257
Granted Patent B1
US 10,764,257 · App. 15/458,822 · Granted Sep 1, 2020

Autonomous agent messaging

Inventors: Gwendolyn Meredith Hunt (Portland, OR); Benjamin John Jansen (Tigard, OR); Eric Lee Delaney (Portland, OR)
Assignee: Tripwire, Inc.
H04L63/0428G06F11/1464H04L9/3263H04L47/34G06F2201/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 10,764,257
App. No.
15/458,822
Granted
Sep 1, 2020
Kind
B1
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 collecting data from an agent executing on a host computer connected to one or more agent data consumers via a network connection includes collecting host data, the collecting occurring whether or not the agent can currently send data via the network connection. When the agent cannot send data via the network connection, the agent spools at least a portion of the collected host data in a spooler. When the agent can send data via the computer network, the agent sends at least a portion of the spooled host data to at least one of the agent data consumers.

Claims (51)

1. A method for recovering messages transmitted using a computer network, the method comprising:

by an agent of a plurality of agents executing on a computer, sending one or more data messages to a server with the computer network, the data messages including sequence numbers generated by the agent, at least one of the sequence numbers comprising a major number;

restarting the agent but not all of the plurality of agents and incrementing the major number;

sending at least one data message to the server with the computer network, the at least one data message including a sequence number generated by the agent comprising the incremented major number;

receiving a resend message from the server indicating one or more of the data messages are to be resent, the messages to be resent being indicated by a resend sequence number comprising the incremented major number; and

searching for the indicated messages based on the resend sequence numbers.

2. The method of claim 1 , the method further comprising:

finding one or more messages within a range of messages indicated by the resend message, the one or more found messages being stored on the computer; and

resending the found messages to the server.

3. The method of claim 1 , the method further comprising:

searching for one or more messages within a range of messages indicated by the resend message; and

based on the searching, sending a reply message to the server indicating that status of the requested messages, the status of the requested messages being at least one or more of the following: expired, found, or missing.

4. The method of claim 1 , wherein:

the sequence number includes the major number and a minor number; and

the minor number is incremented for one or more messages sent by the agent before the agent is restarted.

5. The method of claim 1 , further comprising, prior to the sending the data messages to the server, sending key information to the server via a Federal Information Processing Standard (FIPS) cryptographic services communication.

6. An agent platform server, comprising:

at least one processor;

at least one network interface coupled to the processor; and

a computer-readable storage device or memory storing computer-readable instructions that when executed by the processor, cause the server to perform a method, the method comprising:

receiving messages via the network interface from an agent executing on a computer, the data messages including (1) sequence numbers generated by the agent at least one of the sequence numbers comprising a minor number that is incremented for one or more messages sent by the agent before the agent is restarted, and (2) a universally unique identifier identifying the agent, the universally unique identifier being generated by the agent at least in part using a random or pseudorandom number generator,

determining that one or more messages are to be re-sent, and

responsive to the determining, sending a resend message from the server to the agent, the resend message indicating one or more of the data messages based on one or more of the generated sequence numbers.

7. The server of claim 6 , wherein the method further comprises:

receiving at least one re-sent message from the agent selected based on a range of sequence numbers indicated by the resent message.

8. The server of claim 6 , wherein the method further comprises:

receiving at least one message from the agent indicating a status of a requested message within a range of sequence numbers indicated by the resent message the status of the requested messages being at least one of the following: expired, found, or missing.

9. The server of claim 6 , wherein:

the sequence number includes a major number and the minor number; and

the major number is incremented when the agent is restarted.

10. The server of claim 6 , wherein the method further comprises:

sending at least one of the messages received from the agent to an agent data consumer via a network interface; and

wherein the determining comprises receiving a message from the agent data consumer indicating that a message from the agent is missing.

11. The server of claim 6 , wherein the method further comprises:

prior to the receiving messages, receiving a certificate from the agent, the certificate being encrypted using an agent privacy key.

12. The server of claim 6 , further comprising:

a plurality of message queues, wherein a respective one of the message queues is allocated to a corresponding agent data consumer for temporarily storing a message before sending the message to the corresponding agent data consumer.

13. The server of claim 6 , further comprising:

a plurality of message queues, wherein a respective one of the message queues is allocated to a corresponding agent for temporarily storing a message before sending the message to one of a plurality of agent data consumers.

14. One or more computer-readable storage devices storing computer-readable instructions that when executed by an agent of a plurality of agents hosted by a processor, cause the agent to perform a method, the instructions comprising:

instructions to send one or more data messages to a server via a computer network interface coupled to the processor, the data messages including sequence numbers generated by the agent, each respective generated sequence number including a major number and a minor number;

instructions to restart the agent but not all of the plurality of agents and increase the respective major number for each respective generated sequence number;

sending at least one data message to a server via the computer network, the at least one data message comprising at least one of the generated sequence numbers generated by the agent comprising the incremented major number;

instructions to receive a resend message from a server indicating one or more of the data messages are to be resent, the messages to be resent being indicated by one or more of the generated sequence numbers; and

instructions to search for the indicated messages based on the one or more of the generated sequence numbers.

15. The computer-readable storage devices of claim 14 , wherein the instructions further comprise:

instructions to find one or more messages within a range of messages indicated by the resend message stored on the computer; and

instructions to resend the found messages to the server.

16. The computer-readable storage devices of claim 14 , wherein the instructions further comprise:

instructions to search for the requested messages on the computer; and

instructions to, based on the search, send a reply message to the server indicating that status of the requested messages in the spool, the status of the requested messages being at least one or more of the following: expired, found, or missing.

Assignments (11)
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 →
TERMINATION AND RELEASE OF SECOND LIEN INTELLECTUAL PROPERTY SECURITY INTEREST RECORDED AT REEL/FRAME 60306/0365 Recorded Nov 24, 2025
From: JEFFERIES FINANCE LLC
To: TRIPWIRE, INC.
Reel/Frame 074023/0235 →
TERMINATION AND RELEASE OF FIRST LIEN INTELLECTUAL PROPERTY SECURITY INTEREST RECORDED AT REEL/FRAME 60306/0555 Recorded Nov 24, 2025
From: JEFFERIES FINANCE LLC
To: TRIPWIRE, INC.
Reel/Frame 074023/0320 →
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 →
TERMINATION AND RELEASE OF SECOND LIEN INTELLECTUAL PROPERTY SECURITY INTEREST RECORDED AT REEL/FRAME 60306/0649 Recorded Nov 21, 2025
From: ACQUIOM AGENCY SERVICES LLC
To: TRIPWIRE, INC.
Reel/Frame 073663/0698 →
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 →
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 14, 2025
From: GOLUB CAPITAL MARKETS LLC (AS EXISTING AGENT)
To: ACQUIOM AGENCY SERVICES LLC (AS SUCCESSOR COLLATERAL AGENT)
Reel/Frame 072471/0665 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 7, 2022
From: TRIPWIRE, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 060306/0649 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 7, 2022
From: TRIPWIRE, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 060306/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2017
From: HUNT, GWENDOLYN MEREDITH; JANSEN, BENJAMIN JOHN; DELANEY, ERIC LEE
To: TRIPWIRE, INC.
Reel/Frame 041582/0112 →
Continuity (1)
Division 14303431 · Jun 12, 2014
Cited By (1)
US 12,395,448