IP Library Granted Patent US 9,501,585
Granted Patent B1
US 9,501,585 · App. 14/304,490 · Granted Nov 22, 2016

Methods and system for providing real-time business intelligence using search-based analytics engine

Inventors: Shyamantak Gautam (Bangalore, IN); Ruban Phukan (Bangalore, IN); Sundeep Sanghavi (Fairfax, VA); Vishal Katkar (Salcete Goa., IN)
Assignee: DataRPM Corporation
G06F17/30991
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 9,501,585
App. No.
14/304,490
Granted
Nov 22, 2016
Kind
B1
Abstract

The methods and systems for providing real-time business intelligence using search-based analytics engine facilitate a user to input a natural language query with regard to business analytics and obtain an analytics report in response without the user aggregating or processing raw data from a database query. Such business intelligence platform may receive a data analytics request including a user-desired data variable via a user interface; receive, via the user interface, user-configured parameters identifying a user-selected data source and a user-defined data set; form the user-defined data set based on user-configured parameters; query the user-defined data set to obtain a query result of the user-desired data variable; and generate a user interactive graphical representation of the query result of user-desired data variable.

Claims (53)

1. A system, comprising:

a processor; and

a memory operatively coupled to the processor, the memory storing processor-readable instructions executable by the processor to:

receive a data analytics request including a user desired data variable via a user interface;

receive, via the user interface, user configured parameters identifying a plurality of user selected data sources and a plurality of user defined data fields for a new data set, a user defined data field from the plurality of user defined data fields representing a logic operation, each data source of the user selected data sources being a separate data source with a data structure schema different from a data structure schema of each of a remaining data source from the user selected data sources;

generate an intermediate query based on the data analytics request;

define an execution path for the intermediate query, the execution path including locations for a plurality of schema-independent distributed index files located on a plurality of distributed server node engines;

transmit, substantially simultaneously, the intermediate query to each distributed service node engine of the plurality of distributed server node engines so as to instruct that distributed server node engine to run the intermediate query, using a schema-independent distributed index file from the plurality of schema-independent distributed index files that is stored at that distributed server node engine;

receive intermediate query results from each distributed service node engine of the plurality of distributed server node engines based on the intermediate query;

form the new data set based at least in part on the intermediate query results and on a relationship between the plurality of user selected data sources and the plurality of user defined data fields;

query the new data set to obtain a first value relating to the user desired data variable;

calculate an output value for the user desired data variable based on the first value and the logic operation; and

send a signal to generate a user interactive graphical representation of the output value of user desired data variable.

2. The system of claim 1 , wherein the data analytics request is submitted in a form of a natural language based question.

3. The system of claim 1 , wherein the processor-readable instructions are further executable by the processor to verify user access authority to the plurality of user selected data sources based on user login credentials.

4. The system of claim 1 , wherein the new data set is defined by aggregating user selected data fields.

5. The system of claim 1 , wherein the querying the new data set includes forming a formatted query string based on the data analytics request.

6. The system of claim 1 , wherein the user interactive graphical representation is dynamically adjusted upon user submission of query result parameters.

7. The method of claim 1 , wherein the query includes a formatted query string.

8. The method of claim 1 , wherein the user interactive graphical representation includes an engageable widget triggered to show an option of the user submitted query result parameter.

9. The method of claim 8 , wherein the user submitted query result parameter includes a display option of a data point.

10. The system of claim 1 , wherein the logic operation includes an equation of the first value.

11. The system of claim 1 , wherein the output value for the user desired data variable is not previously stored in the plurality of user selected data sources prior to receipt of the data analytics request.

12. A processor-implemented method, comprising:

receiving a data analytics request including a user desired data variable and user configured parameters including a plurality of data fields, the plurality of data fields to form a query data set via a user interface,

generating an intermediate query based on the data analytics request;

defining an execution path for the intermediate query, the execution path including locations for a plurality of schema-independent distributed index files located on a plurality of distributed server node engines;

transmitting, substantially simultaneously, the intermediate query to each distributed server node engine of the plurality of distributed server node engines so as to instruct that distributed server node engine to run the intermediate query, using a schema-independent distributed index file from the plurality of schema-independent distributed index files that is stored at that distributed server node engine;

receiving intermediate query results from each distributed server node engine of the plurality of distributed server node engines based on the intermediate query;

generating the query data set based on the intermediate query results;

querying the query data set based on the data analytics request, the querying including a logic operation to derive the user desired data variable based on data from the query data set;

obtaining a query result in response to the query;

sending a signal to generate a user interactive graphical representation of the query result;

receiving a user submitted query result parameter via the user interactive graphical representation, the user submitted query result parameter including at least one of (1) a modification to the query data set, (2) a modification to a dimension of the query data set, (3) a modification to a measure associated with data fields of the query data set, or (4) a modification of data set rules associated with the query data set; and

dynamically adjusting the user interactive graphical representation according to the user submitted query result parameter.

13. The method of claim 12 , wherein the data analytics request is submitted in a form of a natural language based question.

14. The method of claim 12 , wherein the user configured parameters identifies a data source from the plurality of data sources.

15. The method of claim 14 , wherein the processor-readable instructions are further executable by the processor to verify user access authority to the data source from the plurality of data sources based on user login credentials.

16. The method of claim 12 , wherein the query data set is defined by aggregating the intermediate query results.

17. A non-transitory memory storing a plurality of processor-issuable processing instructions to provide an interaction interface having a plurality of interaction interface mechanisms comprising:

a user configurable interface mechanism including:

a first user input element for a user to submit a data analytics request including a user desired data variable;

a second user input element for a user to submit user configured parameters identifying a plurality of distributed server node engines and a user defined data set, the plurality of distributed server node engines being accessible via a plurality of schema-independent distributed index files located at the plurality of distributed server node engines, the plurality of schema-independent distributed index files generated in response to a submission including the user configured parameters, and accessed based on the user configuration parameters identifying the plurality of distributed server node engines; and

an interactive display interface mechanism to display a graphical representation of an output value of the user desired data variable in response to the data analytics request,

the output value being calculated via a logic operation on a query result from the user defined data set, the user defined data set being defined based on an intermediate query generated based on the data analytics request and sent to each distributed server node engine of the plurality of distributed server node engines,

the interactive display interface mechanism including:

an engageable widget triggered upon a user action, to provide an option for a user to adjust the query result parameter, the engageable widget being one of (1) a dialog box, or (2) a drop-down menu, and being triggered upon one of (1) a mouse click, or (2) a mouse moving over a predetermined data point in the interactive display interface mechanism,

the graphical representation being dynamically adjustable based on a user submitted query result parameter via the engageable widget, the user submitted query result parameter including at least one of (1) a modification to the intermediate query results, (2) a modification to a dimension of the intermediate query results, (3) a modification to a measure associated with data fields of the intermediate query results, or (4) a modification of data set rules associated with the intermediate query results.

18. The interaction interface of claim 17 , wherein the first user input element is further triggered upon (3) a voice input element.

19. The interaction interface of claim 17 , wherein the drop down menu includes of selectable data fields to be dragged to form the user defined data set.

20. The interaction interface of claim 17 , wherein the graphical representation includes any of a data plot, a chart, or a diagram.

21. The interaction interface of claim 17 , wherein the mouse click results in a selection of a data point on the graphical representation.

22. The interaction interface of claim 17 , wherein the user submitted query result parameter includes a display option of a data point.

Assignments (7)
SECURITY INTEREST Recorded Jul 21, 2025
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072094/0790 →
SECURITY INTEREST Recorded Mar 7, 2024
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 066762/0833 →
SECURITY INTEREST Recorded Jan 25, 2022
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058840/0099 →
SECURITY INTEREST Recorded Apr 30, 2019
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., ADMINISTRATIVE AGENT
Reel/Frame 049031/0684 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2018
From: DATARPM CORPORATION
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 045124/0837 →
SECURITY INTEREST Recorded Dec 18, 2017
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044889/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: PHUKAN, RUBAN; GAUTAM, SHYAMANTAK; SANGHAVI, SUNDEEP; KATKAR, VISHAL
To: DATARPM CORPORATION
Reel/Frame 033854/0955 →
Continuity (1)
Provisional Application 61834608 · Jun 13, 2013