IP Library Granted Patent US 11,520,799
Granted Patent B2
US 11,520,799 · App. 16/895,180 · Granted Dec 6, 2022

Systems and methods for data visualization, dashboard creation and management

Inventors: Tom Hollander (Eastwood, AU); Eliot Horowitz (New York, NY); Thomas Rueckstiess (Surry Hills, AU)
Assignee: MongoDB, Inc.
G06F16/258G06F16/23G06F16/2471G06F16/24556G06F16/254G06F16/284G06F16/248G06F16/27G06F16/951G06F16/958
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,520,799
App. No.
16/895,180
Granted
Dec 6, 2022
Kind
B2
Abstract

Provide is a visualization system that enables generation of a “dashboard” of individual visualizations. In further embodiments, the system enables users to quickly and easily generate these visualizations and integrate complex filters, queries, aggregations, etc., with simple UI input. The visualizations can be provided as a service that requests information from an underlying database. The database itself may also be hosted as a service, permitting granular and native database functions layered with the visualization architecture. The system can support additional functionality and access management to generate visualizations that can be shared with other users and/or integrated into websites, blogs, etc. The system can handle the complex logic, data interactions, dynamic data transformation, dynamic authorization, etc., needed to manage data rules (e.g., access rules layered over database permission based control, summarization/aggregation requirements, etc.) for any data being rendered in individual visualization and/or the dashboard of multiple visualizations.

Claims (51)

1. A visualization system comprising:

at least one processor operatively connected to a memory;

a visualization layer and a data access layer each executable by the at least one processor and configured to integrate with a dynamic schema database storing data as document objects including attributes and values of data fields, the dynamic schema database configurable to use different formats of documents having different attributes to store the data;

wherein:

the visualization layer includes functions for dynamic authorization of users, based on user access roles, to render or edit a visualization of at least one data field of the dynamic schema database separate from authorization of the users to view or access underlying source data from the dynamic schema database;

the data access layer is configured to manage data access to the dynamic schema database based on pre-defined user permissions within the data access layer; and

the at least one processor is configured to:

manage the dynamic definition of authorized users for rendering or editing the visualization responsive to definition in a user interface;

receive user input indicating association of the at least one data field to the visualization and selection of at least one visualization type;

generate the visualization responsive to associating the at least one data field to the visualization and selection of the at least one visualization type; and

render the visualization to end users responsive to resolving the user access roles in the visualization layer and the pre-defined user permissions managed by the data access layer.

2. The visualization system of claim 1 , wherein the at least one processor is configured to generate an embedding visualization.

3. The visualization system of claim 2 , wherein the at least one processor is configured to:

generate the embedding visualization and define access rights in the visualization layer and validate pre-defined user permissions within the data access layer; and

enable rendering of the embedding visualization when requested by an application or website external to the visualization system.

4. The visualization system of claim 2 , wherein the at least one processor is further configured to generate the embedding visualization for rendering in an external application or website based on generating embedding code configured to render the visualization responsive to execution by the external application or website.

5. The visualization system of claim 2 , wherein the at least one processor is further configured to enable definition of the embedding visualization based on selection between public access and private access.

6. The visualization system of claim 5 , wherein the at least one processor is further configured to incorporate signed private access configured to limit rendering of a visualization object or underlying data to authorized users.

7. The visualization system of claim 1 , wherein the at least one processor is configured to group respective visualizations in a dashboard display.

8. The visualization system of claim 7 , wherein the at least one processor is configured to link executable operations to the dashboard display, and execute the linked executable operations responsive to subsequent rendering.

9. The visualization system of claim 8 , wherein the at least one processor is configured to:

define a unique identifier for a respective dashboard display; and

link respective users to the unique identifier to preserve customizations of the dashboard display.

10. The visualization system of claim 1 , wherein the at least one processor is configured to define executable operations on the at least one data field as part of defining the visualization.

11. The visualization system of claim 10 , wherein the at least one processor is configured to:

generate a dedicated cache for storing the output of the executable operations on the at least one data field;

reference the dedicated cache in response to a request to render the visualization; and

return data for rendering in the visualization responsive to a cache match.

12. A computer implemented method for generating visualizations by a visualization system, the method comprising:

executing, by at least one processor, a visualization layer and a data access layer each configured to integrate with a dynamic schema database storing data as document objects including attributes and values of data fields, the dynamic schema database configurable to use different formats of documents having different attributes to store data;

wherein:

the visualization layer includes functions for dynamic authorization of users, based on user access roles, to render or edit a visualization of at least one data field of the dynamic schema database separate from authorization of the users to view or access underlying source data from the dynamic schema database; and

the data access layer is configured to manage data access to the dynamic schema database based on pre-defined user permissions within the data access layer;

managing, by the at least one processor, the dynamic definition of authorized users for rendering or editing the visualization responsive to definition in a user interface;

receiving, by the at least one processor, user input indicating association of the at least one data field to the visualization and selection of at least one visualization type;

generating, by the at least one processor, the visualization responsive to associating the at least one data field to the visualization and selection of the at least one visualization type; and

rendering, by the at least one processor, the visualization to end users responsive to resolving the user access roles in the visualization layer and the pre-defined user permissions managed by the data access layer.

13. The method of claim 12 , wherein the method further comprises generating an embedding visualization.

14. The method of claim 13 , wherein the method further comprises:

generating the embedding visualization;

defining access rights in the visualization layer;

validating pre-defined user permissions within the data access layer; and

enabling rendering of the embedding visualization when requested by an application or website external to the visualization system.

15. The method of claim 13 , wherein the method further comprises generating the embedding visualization for rendering in an external application or website, based on generating embedding code configured to render the visualization responsive to execution by the external application or website.

16. The method of claim 15 , wherein the method further comprises enabling definition of the embedding visualization based on selection between public access and private access.

17. The method of claim 16 , wherein the method further comprises incorporating signed private access control configured to limit rendering of a visualization object or underlying data to authorized users.

18. The method of claim 12 , wherein the method further comprises grouping respective visualizations in a dashboard display.

19. The method of claim 18 , wherein the method further comprises linking executable operations to the dashboard display, and executing the linked executable operations responsive to subsequent rendering.

20. The method of claim 19 , wherein the method further comprises:

defining a unique identifier for a respective dashboard display; and

linking respective users to the unique identifier to preserve customizations of the dashboard display.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2021
From: HOLLANDER, TOM; RUECKSTIESS, THOMAS
To: MONGODB, INC.
Reel/Frame 054872/0523 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: HOROWITZ, ELIOT
To: MONGODB, INC.
Reel/Frame 054756/0081 →
Continuity (30)
Continuation In Part 16442204 · Jun 14, 2019
Continuation In Part 16013720 · Jun 20, 2018
Continuation In Part 15604879 · May 25, 2017
Continuation In Part 15042297 · Feb 12, 2016
Continuation 13951987 · Jul 26, 2013
Continuation In Part 13794710 · Mar 11, 2013
Continuation In Part 14672901 · Mar 30, 2015
Continuation 13794710 · Mar 11, 2013
Continuation In Part 15605391 · May 25, 2017
Continuation In Part 15042297 · Feb 12, 2016
Continuation In Part 14672901 · Mar 30, 2015
Continuation In Part 16895180
Continuation In Part 16010034 · Jun 15, 2018
Continuation In Part 16895180
Continuation In Part 15223654 · Jul 29, 2016
Provisional Application 62862979 · Jun 18, 2019
Provisional Application 62690853 · Jun 27, 2018
Provisional Application 62690213 · Jun 26, 2018
Provisional Application 62687611 · Jun 20, 2018
Provisional Application 62861808 · Jun 14, 2019
Provisional Application 62522540 · Jun 20, 2017
Provisional Application 62522150 · Jun 20, 2017
Provisional Application 62341511 · May 25, 2016
Provisional Application 62341490 · May 25, 2016
Provisional Application 61676188 · Jul 26, 2012
Provisional Application 61676188 · Jul 26, 2012
Provisional Application 62521303 · Jun 16, 2017
Provisional Application 62355470 · Jun 28, 2016
Provisional Application 62262942 · Dec 4, 2015
Related Publication 20200301940A1 · Sep 24, 2020
Cited By (1)
US 12,326,912