IP Library Granted Patent US 12,223,364
Granted Patent B2
US 12,223,364 · App. 17/195,884 · Granted Feb 11, 2025

Remotely controllable monitoring agent with a dynamic set of subcomponents

Inventors: Daniel R. Jaglowski (Grand Rapids, MI); Michael E. Kelly (Grand Rapids, MI)
Assignee: observIQ, Inc.
G06F9/5055G06F8/61G06F9/45508G06F11/3604G06F2201/865G06F2209/508
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,223,364
App. No.
17/195,884
Granted
Feb 11, 2025
Kind
B2
Abstract

An executable monitoring agent executing commands on a host server monitors for commands it cannot execute. Upon receiving a command that it cannot execute the monitoring agent initiates a search for the capability to execute the command. Upon finding the capability on the host server it is downloaded and installed, giving the monitoring agent the requisite capability to execute the command.

Claims (56)

1. A method of gaining an ability to perform a task in a monitoring agent operating in a host, comprising:

receiving, at the monitoring agent, a command instructing the monitoring agent to perform the task;

determining that the monitoring agent lacks ability to execute the command and perform said task;

imposing a search limit;

searching for capabilities sufficient to perform the task;

discovering a plurality of the capabilities sufficient to perform the task including a first capability and a second capability;

evaluating the plurality of capabilities to determine an optimal capability from among the plurality of capabilities to perform the task; and

selecting the first capability as the optimal capability from among the plurality of capabilities for performing the task;

obtaining the first capability for the monitoring agent; and

executing the command by the monitoring agent to perform said task using the first capability;

wherein the selection of the first capability as the optimal capability is based on a plurality of capability attributes of the first capability; and

wherein the plurality of capability attributes includes cost of the first capability, age of the first capability based on a revision number and revision date of the first capability, and memory requirements for the first capability.

2. The method of claim 1 , wherein said obtaining the first capability further comprises:

downloading the first capability; and

installing the first capability.

3. The method of claim 1 , further comprising:

monitoring, by the monitoring agent, for received communications;

wherein the received communications comprise received commands including said command instructing the monitoring agent to perform the task.

4. The method of claim 1 , further comprising:

interpreting the command to determine said task.

5. The method of claim 1 , wherein said searching for the capabilities to perform the command further comprises:

searching within the host for the capabilities to perform the command.

6. The method of claim 1 , wherein the first capability and the second capability are a predefined functionality of a service running on a computer; and

wherein the service is a component in an application programming interface.

7. The method of claim 1 , wherein said searching for the capabilities to perform the command further comprises:

terminating the searching in response to the plurality of the capabilities discovered equaling the search limit.

8. The method of claim 1 , wherein said searching for the capabilities to perform the command further comprises:

searching outside the host for the capabilities to perform the command.

9. A software product comprising a non-transitory machine-readable medium including a program of instructions for gaining an ability to perform a task in a monitoring agent operating in a host, wherein the program of instructions upon being executed on a computer causes the computer to perform activities comprising:

receiving, at the monitoring agent, a command instructing the monitoring agent to perform the task;

determining that the monitoring agent lacks ability to execute the command and perform said task;

imposing a search limit;

searching for capabilities sufficient to perform the task;

discovering a plurality of capabilities sufficient to perform the task including a first capability and a second capability;

evaluating the plurality of capabilities to determine an optimal capability from among the plurality of capabilities to perform the task; and

selecting the first capability as the optimal capability from among the plurality of capabilities for performing the task;

obtaining the first capability for the monitoring agent; and

executing the command by the monitoring agent to perform said task using the first capability;

wherein the selection of the first capability as the optimal capability is based on a plurality of capability attributes of the first capability; and

wherein the plurality of capability attributes includes cost of the first capability, age of the first capability based on a revision number and revision date of the first capability, and memory requirements for the first capability.

10. The software product of claim 9 , wherein said obtaining the first capability further comprises:

downloading the first capability; and

installing the first capability.

11. The software product of claim 9 , further comprising:

monitoring, by the monitoring agent, for received communications;

wherein the received communications comprise received commands including said command instructing the monitoring agent to perform the task.

12. The software product of claim 9 , further comprising:

interpreting the command to determine said task.

13. The software product of claim 9 , wherein said searching for the capabilities to perform the command further comprises:

searching within the host for the capabilities to perform the command.

14. The software product of claim 9 , wherein the first capability and the second capability are a predefined functionality of a service running on a computer; and

wherein the service is a component in an application programming interface.

15. The software product of claim 9 , wherein said searching for the capabilities to perform the command further comprises:

terminating the searching in response to the plurality of the capabilities discovered equaling the search limit.

16. The software product of claim 9 , wherein said searching for the capabilities to perform the command further comprises:

searching outside the host for the capabilities to perform the command.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2021
From: JAGLOWSKI, DANIEL R.; KELLY, MICHAEL E.
To: OBSERVEIQ, INC.
Reel/Frame 055544/0114 →
Continuity (2)
Continuation In Part 16994634 · Aug 16, 2020
Related Publication 20220129324A1 · Apr 28, 2022
References Cited (23)
US 6192518B1 · Neal · 2001 [cited by examiner]
US 6701521B1 · McLlroy · 2004 [cited by examiner]
US 8001542B2 · Edwards · 2011 [cited by examiner]
US 8015450B1 · Cooley · 2011 [cited by examiner]
US 8527618B1 · Wiese · 2013 [cited by examiner]
US 10409507B1 · Huang · 2019 [cited by examiner]
US 11586708B2 · Mezzalira · 2023 [cited by examiner]
US 20020083212A1 · Salmon · 2002 [cited by examiner]
US 20060075408A1 · Powers · 2006 [cited by examiner]
US 20070198975A1 · Alnas · 2007 [cited by examiner]
US 20090133014A1 · Laurila · 2009 [cited by examiner]
US 20120303477A1 · Ben-Itzhak · 2012 [cited by examiner]
US 20140187177A1 · Sridhara · 2014 [cited by examiner]
US 20160154557A1 · Zhang · 2016 [cited by examiner]
US 20170357492A1 · Adler · 2017 [cited by examiner]
US 20180060052A1 · Doar · 2018 [cited by examiner]
US 20180129515A1 · Kumar · 2018 [cited by examiner]
US 20200034518A1 · Mezzalira · 2020 [cited by examiner]
US 20200348946A1 · Pant · 2020 [cited by examiner]
US 20210034347A1 · Robbins · 2021 [cited by examiner]
US 20210264252A1 · Davis · 2021 [cited by examiner]
US 20210382710A1 · Joubert · 2021 [cited by examiner]
US 20220129324A1 · Jaglowski · 2022 [cited by examiner]