# US 11,714,826 B2 · Generation and adaptation of visualizations from one or more data sets stored using a single-branch approach

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,714,826 B2
- Document ID: US11714826B2
- Status: Granted
- Kind: B2
- Application number: 17/188,621
- Filed: 2021-03-01
- Published: 2022-08-18
- Granted: 2023-08-01
- Earliest claimed: 2020-02-27
- Assignees: Intuitive Data Analytics, LLC
- Applicants: Intuitive Data Analytics, LLC
- Inventors: Wingloon L. Tong; Ravi S. Samtani
- Web page: https://patentgrep.com/patent/US11714826B2

## CPC

- G06F 16/26: Visual data mining; Browsing structured data
- G06F 16/212: {with details for data modelling support}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/248: Presentation of query results
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/287: {Visualization; Browsing}
- G06F 16/288: {Entity relationship models}
- G06T 11/26: Drawing of charts or graphs
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

The systems and methods described herein analyze one or more selected data sources in their entirety and determine data relationships, using a single-branch approach. Indexes are created based on the determined data relationships, and data from the one or more data sets is imported into the indexes and stored in a back-end storage system. Once the data is analyzed and stored in the indexes, a user can submit a request for a data visualization. In response to the request, the system automatically generates (e.g., builds) and displays the requested data visualization to the user. In some examples, the user may request a modification of the data visualization such as changing the timeframe shown in the data visualization or adding/removing data associated with a particular parameter, and the system will automatically generate the modified data visualization for the user.

## Claims

### Claim 1

A method comprising:
performing the following with at least one controller, which includes code running on a processor connected to memory:
analyzing one or more data sets in their entirety, the analyzing comprising:
retrieving schema and meta-data information of the one or more data sets,
generating heatmap information based on the retrieved schema and meta-data information, the heatmap information indicating a relative importance level of data tables and data fields within the one or more data sets, and
determining data relationships, using a single-branch approach, based on the retrieved schema and meta-data information and data values within the one or more data sets,
wherein the single-branch approach comprises determining a starting data table and an ending data table for a series of parent-child relationships between a plurality of data tables arranged in a single row, wherein the starting data table does not have a parent table, the ending data table does not have a child table, and data tables between the starting data table and the ending data table may each have multiple parent data tables but only one child data table;
storing the meta-data information and the heatmap information in a configuration database;
creating indexes to group and store data from the one or more data sets in a back-end storage system, based on each series of parent-child relationships, where each series of parent-child relationships is associated with an index, each index being a data structure configured to contain a single series of parent-child relationships that were determined according to the single-branch approach, wherein data from each of the plurality of data tables of the single series of parent-child relationships is stored within the index;
importing data from the one or more data sets into the created indexes, using the stored meta-data information and a data slicing algorithm;
receiving, from a user, a first request for a first data visualization;
in response to receiving the first request, automatically generating the first data visualization in real-time without the first data visualization being pre-built and stored prior to receiving the first request, wherein automatically generating the first data visualization comprises:
determining a format for the first data visualization based at least partially on the meta-data information, the heatmap information, the indexes, and data values that are relevant to the first data visualization, and
fetching the data values from the indexes that are relevant to the first data visualization; and
displaying the generated first data visualization to the user.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, from the user, synonym training information that represents a particular query desired by the user; and
storing an association between the synonym training information and the particular query desired by the user.

### Claim 3 (depends on 2)

The method of claim 2, wherein receiving, from the user, the first request for the first data visualization comprises receiving a first input that corresponds with the synonym training information, and
wherein the first data visualization is generated utilizing the stored association between the synonym training information and the particular query desired by the user.

### Claim 4 (depends on 3)

The method of claim 3, wherein the first input is a verbal request.

### Claim 5 (depends on 3)

The method of claim 3, wherein the first input is entered as a text request.

### Claim 6 (depends on 3)

The method of claim 3, wherein the first input is entered via a touchscreen.

### Claim 7 (depends on 3)

The method of claim 3, further comprising:
receiving, from the user, a second input that does not correspond to a known query parameter;
in response to receiving the second input, determining that additional information is required to generate the first data visualization;
requesting the additional information from the user;
receiving the additional information from the user;
utilizing the received additional information to associate the second input with a known query parameter; and
generating the first data visualization utilizing the association between the second input and the known query parameter.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
receiving, from the user, a second request for a second data visualization, wherein the second data visualization is based on a modification of the first data visualization.

### Claim 9

A system comprising:
at least one controller, which includes code running on a processor connected to memory, the controller configured to:
analyze one or more data sets in their entirety, wherein the at least one controller is further configured to:
retrieve schema and meta-data information of the one or more data sets,
generate heatmap information based on the retrieved schema and meta-data information, the heatmap information indicating a relative importance level of data tables and data fields within the one or more data sets, and
determine data relationships, using a single-branch approach, based on the retrieved schema and meta-data information and data values within the one or more data sets,
wherein the single-branch approach comprises the at least one controller configured to determine a starting data table and an ending data table for a series of parent-child relationships between a plurality of data tables arranged in a single row, wherein the starting data table does not have a parent table, the ending data table does not have a child table, and data tables between the starting data table and the ending data table may each have multiple parent data tables but only one child data table,
store the meta-data information and the heatmap information in a configuration database,
create indexes to group and store data from the one or more data sets in a back-end storage system, based on each series of parent-child relationships, where each series of parent-child relationships is associated with an index, each index being a data structure configured to contain a single series of parent-child relationships that were determined according to the single-branch approach, wherein data from each of the plurality of data tables of the single series of parent-child relationships is stored within the index,
import data from the one or more data sets into the created indexes, using the stored meta-data information and a data slicing algorithm,
receive, from a user, a first request for a first data visualization, and
in response to receiving the first request, automatically generate the first data visualization in real-time without the first data visualization being pre-built and stored prior to receiving the first request, wherein the at least one controller is further configured to:
determine a format for the first data visualization based at least partially on the meta-data information, the heatmap information, the indexes, and data values that are relevant to the first data visualization, and
fetch the data values from the indexes that are relevant to the first data visualization; and
a display communicatively coupled to the at least one controller, the display configured to display the generated first data visualization to the user.

### Claim 10 (depends on 9)

The system of claim 9, wherein the at least one controller is further configured to:
receive, from the user, synonym training information that represents a particular query desired by the user; and
store an association between the synonym training information and the particular query desired by the user.

### Claim 11 (depends on 10)

The system of claim 10, wherein the first request for the first data visualization comprises a first input that corresponds with the synonym training information, and
wherein the at least one controller is further configured to generate the first data visualization utilizing the stored association between the synonym training information and the particular query desired by the user.

### Claim 12 (depends on 11)

The system of claim 11, further comprising a microphone, and wherein the first input is a verbal request received via the microphone.

### Claim 13 (depends on 11)

The system of claim 11, further comprising a keyboard, and wherein the first input is entered as a text request via the keyboard.

### Claim 14 (depends on 11)

The system of claim 11, further comprising a touchscreen display, and wherein the first input is entered via the touchscreen display.

### Claim 15 (depends on 11)

The system of claim 11, wherein the at least one controller is further configured to:
receive, from the user, a second input that does not correspond to a known query parameter;
in response to receiving the second input, determine that additional information is required to generate the first data visualization;
request the additional information from the user;
receive the additional information from the user;
utilize the received additional information to associate the second input with a known query parameter; and
generate the first data visualization utilizing the association between the second input and the known query parameter.

### Claim 16 (depends on 9)

The system of claim 9, wherein the at least one controller is further configured to:
receive, from the user, a second request for a second data visualization, wherein the second data visualization is based on a modification of the first data visualization.
