IP Library Granted Patent US 11,544,154
Granted Patent B2
US 11,544,154 · App. 17/018,475 · Granted Jan 3, 2023

Systems and methods for monitoring distributed database deployments

Inventors: Eliot Horowitz (New York, NY); John Morales (Basking Ridge, NJ)
Assignee: MongoDB, Inc.
G06F11/1469G06F11/3089G06F11/328G06F16/904G06F16/9038G06F16/90335G06F16/9535H04L65/1069H04L67/1097G06F2201/805G06F2201/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 11,544,154
App. No.
17/018,475
Granted
Jan 3, 2023
Kind
B2
Abstract

One aspect relates to a system that integrates a user interface of a device with a cloud based database system without use of a database application. A user may access a cloud based database system without the complexity of installing additional software or managing connections to the cloud based database system. The system may establish a communication link between the user interface and intelligent agents running on the database system in order to allow a user(s) to carry out various database monitoring and verification activities.

Claims (74)

1. A system for monitoring a cloud based distributed database, the system comprising:

a network interface;

at least one processor operatively connected to a memory storing machine-readable instructions, the at least one processor configured to execute the machine-readable instructions to cause the processor to:

accept, from a client device via a user interface shown in a display of the client device, a request to access a database deployment, wherein the database deployment comprises at least one intelligent agent running on at least one server of the database deployment configured to monitor a set of processes executing in the database deployment;

establish, via the network interface, a communication link between the user interface shown in the display of the client device and the at least one intelligent agent;

retrieve, via the communication link, database deployment information from the at least one intelligent agent collected by the intelligent agent for the set of processes executing in the database deployment, the retrieving comprising:

bypassing, by the user interface, a database application associated with a database to obtain monitoring information about usage of the database, the monitoring information about usage of the database comprising the database deployment information collected by the intelligent agent for the set of processes executing in the database deployment;

generate, within one or more views of the user interface, one or more visualizations of the retrieved information;

transmit an instruction to the client device to cause the client device to store retrieved information on the client device while the communication link is established;

disconnect the communication link; and

clear the stored information subsequent to disconnecting the communication link.

2. The system of claim 1 , wherein establishing the communication link includes establishing a direct connection between the client device and the at least one intelligent agent.

3. The system according to claim 1 , wherein the processor is further configured to:

accept, via the user interface, a query for data stored in the database deployment;

transmit, via the communication link, the query to the at least one intelligent agent wherein the at least one intelligent agent is configured to execute the query and retrieve the data;

receive, via the communication link in response to transmitting the query, the data from the at least one intelligent agent; and

generate, within a view of the one or more views, at least one visualization of the data.

4. The system according to claim 3 , wherein the processor is further configured to:

transmit an instruction to the client device to cause the client device to store the retrieved query data on the client device for a period of time after retrieval;

retransmit the query for execution responsive to a request to view the data after expiration of the period of time; and

retrieve the query data from the client device responsive to a request to view the data prior to expiration of the time period.

5. The system according to claim 1 , wherein the processor is further configured to:

retrieve the database deployment information in real time; and

update visualizations of the retrieved information according to the information retrieved in real time.

6. The system according to claim 1 , wherein retrieving database deployment information comprises:

retrieving statistical information about one or more collections of at least one database stored in the database deployment; and

retrieving index information of the one or more collections.

7. The system according to claim 6 , wherein retrieving index information comprises retrieving at least one or more of a list of one or more indexes, sizes of the one or more indexes, keys of the one of or more indexes, rates of access of the one or more indexes, and hashes of the one or more indexes.

8. The system according to claim 1 ,

wherein establishing the communication link between the user interface and the at least one intelligent agent comprises establishing a communication link with a plurality intelligent agents running on a plurality of nodes; and

the processor is further configured to:

retrieve information from a first intelligent agent of the plurality of intelligent agents running on a first node of the plurality of nodes;

receive an indication from the first intelligent agent that the first node is unavailable; and

retrieve, responsive to receiving the indication, information from a second intelligent agent of the plurality of agents running on a second node of the plurality of nodes.

9. The system according to claim 1 , wherein the processor is further configured to:

receive, from the client device, an indication to end access to the database deployment; and

stop retrieval of information from the database deployment responsive to receiving the indication.

10. The system according to claim 1 , wherein the processor is further configured to:

authenticate an identity of a user;

determine a role of the user; and

provide access to the retrieved information according to the role of the user.

11. The system according to claim 1 , wherein:

clearing the stored information subsequent to disconnecting the communication link comprises clearing the stored information responsive to disconnecting the communication link.

12. A method for monitoring a cloud based distributed database, the method comprising acts of:

accepting, from a client device via a user interface shown in a display of the client device, a request to access a database deployment, wherein the database deployment comprises at least one intelligent agent running on at least one server of the database deployment configured to monitor a set of processes executing in the database deployment;

establishing, via a network interface, a communication link between the user interface shown in the display of the client device and the at least one intelligent agent;

retrieving information from the at least one intelligent agent via the communication link, wherein the information was collected by the intelligent agent for the set of processes executing in the database deployment, the retrieving comprising:

bypassing, by the user interface, a database application associated with a database to obtain monitoring information about usage of the database, the monitoring information about usage of the database comprising the database deployment information collected by the intelligent agent for the set of processes executing in the database deployment; and

generating, within one or more views of the user interface, one or more visualizations of the retrieved information;

transmitting an instruction to the client device to cause the client device to store retrieved information on the client device while the communication link is established;

disconnecting the communication link; and

clearing the stored information subsequent to disconnecting the communication link.

13. The method according to claim 12 , wherein establishing the communication link includes establishing a direct connection between the client device and the at least one intelligent agent.

14. The method according to claim 12 , further comprising:

accepting, via the user interface, a query for data stored in the database deployment; and

transmitting, via the communication link, the query to the at least one intelligent agent, wherein the at least one intelligent agent is configured to execute the query and retrieve the data; and

receiving, via the communication link in response to transmitting the query, the data from the at least one intelligent agent; and

generating, within a view of the one or more views, at least one visualization of the data.

15. The method according to claim 12 , wherein:

retrieving the database deployment information comprises retrieving the information in real time; and

the act of generating the one or more visualizations further comprises updating the one or more visualizations according to the information retrieved in real time.

16. The method according to claim 12 , further comprising:

receiving, from the client device, an indication to end access to the database deployment; and

stopping retrieval of information from the at least one intelligent agent responsive to receiving the indication.

17. The method according to claim 12 , wherein:

establishing the communication link with the at least one intelligent agent comprises connecting to a plurality of intelligent agents running on a plurality of nodes; and

retrieving information comprises:

retrieving information from a first intelligent agent of the plurality of intelligent agents running on a first node of the plurality of nodes;

receiving an indication that the first node is unavailable; and

retrieving, responsive to receiving the indication, information from a second intelligent agent of the plurality of intelligent agents running on a second node of the plurality of nodes.

18. The method according to claim 12 , further comprising:

authenticating an identity of a user of the client device;

determining a role of the user; and

providing access to the retrieved information according to the role of the user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: HOROWITZ, ELIOT
To: MONGODB, INC.
Reel/Frame 053772/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: MORALES, JOHN
To: MONGODB, INC.
Reel/Frame 053772/0190 →
Continuity (3)
Continuation 15627672 · Jun 20, 2017
Provisional Application 62355087 · Jun 27, 2016
Related Publication 20200409804A1 · Dec 31, 2020
Cited By (1)
US 12,380,129