IP Library Granted Patent US 11,487,785
Granted Patent B2
US 11,487,785 · App. 17/344,513 · Granted Nov 1, 2022

Monitoring database agents running on servers connected by a computer network

Inventors: Matthew William Jones (Carmel, IN); Tatiana Seltsova (Gold Coast, AU)
Assignee: Salesforce, Inc.
G06F16/27G06F16/21G06F16/235G06F16/2358
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 11,487,785
App. No.
17/344,513
Granted
Nov 1, 2022
Kind
B2
Abstract

A system monitors database agents associated with DBMSs running on servers, for example, servers of an organization connected by a network. The system determines whether each database agent is running according to a schedule and whether the database agent is running the correct version of a script. The system may generate a report describing differences between database agents that are running on database instances and a master configuration of database agents representing the expected configuration of the database agent. If a database instance is executing a configuration of a database agent that is different from the master configuration of the database agent, the system updates the database agent executing on the database instance to ensure that the configuration matches the master configuration.

Claims (73)

1. A computer implemented method for monitoring database agents running on servers connected by a network, the method comprising:

accessing a plurality of database instances running on a plurality of servers across a network;

receiving from a database instance, information describing a set of database agents running on the database instance, the information comprising, the configuration of the database agent, and a schedule of the database agent;

storing a master database agent configuration represented as nested objects, wherein a nested object describing a database agent executing on a database instance; and

repeating on a periodic basis, for the database instance:

receiving current information describing database agents running on the database instance;

comparing the configuration of a database agent running on the database instance with the configuration of the database agent in the master database agent configuration; and

responsive to identifying a difference between the configuration of the database agent running in the database instance and the configuration of the database agent in the master database agent configuration, sending an alert.

2. The computer-implemented method of claim 1 , wherein the nested objects are represented using JSON format.

3. The computer-implemented method of claim 1 , wherein the DBMS is an SQL server and each database agent is an SQL agent.

4. The computer-implemented method of claim 1 , wherein the database agent represents a process executing a script comprising one or more database commands.

5. The computer-implemented method of claim 1 , wherein the configuration of the database agent comprises a version of the script associated with the database agent.

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

configuring a user interface to display the master database agent configuration, wherein the user interface is configured to allow user to modify the master job configuration;

sending the user interface for display via a client device; and

receiving one or more modifications to the master database agent configuration.

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

generating a report describing results of aggregating across each of a plurality of database agents, differences between current information describing the database agent with information describing the database agent in the master database agent configuration; and

sending the generated report for display via a client device.

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

comparing configuration of a database agent executing on a database instance with a configuration of the database agent stored in the master database agent configuration; and

responsive to determining that the configuration of the database agent executing on the database instance fails to match the configuration of the database agent stored in the master database agent configuration, executing instructions on the database instance to update the database agent executing on the database instance to match the configuration stored in the master database agent configuration.

9. The computer-implemented method of claim 8 , wherein comparing configuration of a database agent executing on a database instance with a configuration of the database agent stored in the master database agent configuration comprises comparing a version identifier of the database agent executing on a database instance with a version identifier of the database agent stored in the master database agent configuration.

10. The computer-implemented method of claim 8 , wherein comparing configuration of a database agent executing on a database instance with a configuration of the database agent stored in the master database agent configuration comprises:

accessing a first nested structure representing configuration of the database agent executing on the database instance;

accessing a second nested structure representing configuration of the database agent stored in the master database agent configuration; and

comparing the first nested structure with the second nested structure to determine whether the two match.

11. A non-transitory computer readable storage medium storing instructions that when executed by the computer processor cause the computer processor to execute instructions of a method for monitoring database agents running on servers connected by a network, the steps comprising:

accessing a plurality of database instances running on a plurality of servers across a network;

receiving from a database instance, information describing a set of database agents running on the database instance, the information comprising, the configuration of the database agent, and a schedule of the database agent;

storing a master database agent configuration represented as nested objects, wherein a nested object describing a database agent executing on a database instance; and

repeating on a periodic basis, for the database instance:

receiving current information describing database agents running on the database instance;

comparing the configuration of a database agent running on the database instance with the configuration of the database agent in the master database agent configuration; and

responsive to identifying a difference between the configuration of the database agent running in the database instance and the configuration of the database agent in the master database agent configuration, sending an alert.

12. The non-transitory computer readable storage medium of claim 11 , further comprising:

configuring a user interface to display the master database agent configuration, wherein the user interface is configured to allow user to modify the master job configuration;

sending the user interface for display via a client device; and

receiving one or more modifications to the master database agent configuration.

13. The non-transitory computer readable storage medium of claim 11 , further comprising:

generating a report describing results of aggregating across each of a plurality of database agents, differences between current information describing the database agent with information describing the database agent in the master database agent configuration; and

sending the generated report for display via a client device.

14. The non-transitory computer readable storage medium of claim 11 , further comprising:

comparing configuration of a database agent executing on a database instance with a configuration of the database agent stored in the master database agent configuration; and

responsive to determining that the configuration of the database agent executing on the database instance fails to match the configuration of the database agent stored in the master database agent configuration, executing instructions on the database instance to update the database agent executing on the database instance to match the configuration stored in the master database agent configuration.

15. The non-transitory computer readable storage medium of claim 14 , wherein comparing configuration of a database agent executing on a database instance with a configuration of the database agent stored in the master database agent configuration comprises:

accessing a first nested structure representing configuration of the database agent executing on the database instance;

accessing a second nested structure representing configuration of the database agent stored in the master database agent configuration; and

comparing the first nested structure with the second nested structure to determine whether the two match.

16. A computer system comprising:

a computer processor; and

a non-transitory computer readable storage medium storing instructions that when executed by the computer processor cause the computer processor to execute instructions of a method for monitoring database agents running on servers connected by a network, the steps comprising:

accessing a plurality of database instances running on a plurality of servers across a network;

receiving from a database instance, information describing a set of database agents running on the database instance, the information comprising, the configuration of the database agent, and a schedule of the database agent;

storing a master database agent configuration represented as nested objects, wherein a nested object describing a database agent executing on a database instance; and

repeating on a periodic basis, for the database instance:

receiving current information describing database agents running on the database instance;

comparing the configuration of a database agent running on the database instance with the configuration of the database agent in the master database agent configuration; and

responsive to identifying a difference between the configuration of the database agent running in the database instance and the configuration of the database agent in the master database agent configuration, sending an alert.

17. The computer system of claim 16 , further comprising:

configuring a user interface to display the master database agent configuration, wherein the user interface is configured to allow user to modify the master job configuration;

sending the user interface for display via a client device; and

receiving one or more modifications to the master database agent configuration.

18. The computer system of claim 16 , further comprising:

generating a report describing results of aggregating across each of a plurality of database agents, differences between current information describing the database agent with information describing the database agent in the master database agent configuration; and

sending the generated report for display via a client device.

19. The computer system of claim 16 , further comprising:

comparing configuration of a database agent executing on a database instance with a configuration of the database agent stored in the master database agent configuration; and

responsive to determining that the configuration of the database agent executing on the database instance fails to match the configuration of the database agent stored in the master database agent configuration, executing instructions on the database instance to update the database agent executing on the database instance to match the configuration stored in the master database agent configuration.

20. The computer system of claim 19 , wherein comparing configuration of a database agent executing on a database instance with a configuration of the database agent stored in the master database agent configuration comprises:

accessing a first nested structure representing configuration of the database agent executing on the database instance;

accessing a second nested structure representing configuration of the database agent stored in the master database agent configuration; and

comparing the first nested structure with the second nested structure to determine whether the two match.

Assignments (2)
CHANGE OF NAME Recorded Oct 3, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065107/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2021
From: JONES, MATTHEW WILLIAM; SELTSOVA, TATIANA
To: SALESFORCE.COM, INC.
Reel/Frame 056662/0842 →