IP Library Granted Patent US 11,586,620
Granted Patent B2
US 11,586,620 · App. 16/856,700 · Granted Feb 21, 2023

Object scriptability

Inventors: Rakesh Kothari (San Jose, CA); Vaibhav Agarwal (Cupertino, CA); Romil Gadia (Sunnyvale, CA); Akshay Agrawal (Palo Alto, CA); Brian Lee (San Ramon, CA); Archit Bansal (Cupertino, CA)
Assignee: ThoughtSpot, Inc.
G06F16/2448G06F16/2264G06F16/2272G06F16/254
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,586,620
App. No.
16/856,700
Granted
Feb 21, 2023
Kind
B2
Abstract

Object scriptability methods and system are described herein. The method includes generating a graph-based data structure including a plurality of nodes, where each node from the plurality of nodes represents a respective data-analysis object in a data analysis system, where each node from the plurality of nodes is connected to at least one other node from the plurality of nodes by an edge, where the edge represents a relationship between the respective objects in the data analysis system, and where generating the graph-based data structure includes receiving a high-level language script describing at least one data-analysis object, and generating at least one node from the plurality of nodes in accordance with the high-level language script.

Claims (71)

1. A method comprising:

generating a graph-based ontological data structure including a plurality of nodes in a low-latency database analysis system, wherein nodes from the plurality of nodes represent respective analytical-objects in the low-latency database analysis system, wherein the nodes from the plurality of nodes are connected to other nodes from the plurality of nodes by edges, wherein an edge represents a relationship in the low-latency database analysis system, and wherein generating the graph-based ontological data structure includes:

receiving a high-level language script describing a first analytical-object in the low-latency database analysis system; and

in response to receiving the high-level language script:

generating a first node representing the first analytical-object; and

including the first node in the graph-based ontological data structure, wherein including the first node in the graph-based ontological data structure includes generating an edge in the graph-based ontological data structure indicating a relationship between the first node and a second node in the graph-based ontological data structure;

receiving data expressing a usage intent, the data expressing the usage intent including a request for data from the low-latency database analysis system;

obtaining results data from the low-latency database analysis system, wherein obtaining the results data from the low-latency database analysis system includes:

traversing the graph-based ontological data structure based on the data expressing the usage intent to identify the first node; and

in response to identifying the first node, obtaining the results data in accordance with the first analytical-object; and

outputting a response including the results data for presentation to a user.

2. The method of claim 1 , wherein the high-level language script is portable between different environments.

3. The method of claim 1 , wherein the high-level language script includes non-redundant terminology to describe the first analytical-object.

4. The method of claim 1 , wherein the high-level language script includes an alias, wherein the alias is a tuple representing parameters of the first analytical-object.

5. The method of claim 1 , wherein the high-level language script effectuates bulk changes across multiple analytical-objects.

6. The method of claim 1 , wherein the generating the graph-based ontological data structure further comprising:

obtaining object data for the first analytical-object from the graph-based ontological data structure;

generating the high-level language script describing the analytical-object based on the object data; and

outputting the high-level language script.

7. A low-latency database analysis system comprising:

a graph-based ontological data structure including a plurality of nodes, wherein nodes from the plurality of nodes represent respective analytical-objects in the low-latency database analysis system, wherein the nodes from the plurality of nodes are connected to to other nodes from the plurality of nodes by edges, wherein an edge represents a relationship in the low-latency database analysis system; and

a processor that executes instructions to:

in response to receiving a first high-level language script describing a first analytical-object for the low-latency database analysis system:

generate a first node representing the first analytical-object; and

include the first node in the graph-based ontological data structure, wherein including the first node in the graph-based ontological data structure includes generating an edge in the graph-based ontological data structure indicating a relationship between the first node and a second node in the graph-based ontological data structure;

in response to receiving first data expressing a usage intent, wherein the first data expressing the usage intent includes a request to output a second high-level language script representing a second analytical-object of the low-latency database analysis system:

obtain object data for the second analytical-object from the graph-based ontological data structure;

generate the second high-level language script describing the second analytical-object based on the object data; and

output the second high-level language script; and

in response to receiving second data expressing a usage intent, wherein the second data expressing the usage intent includes a request for data from the low-latency database analysis system:

obtain results data from the low-latency database analysis system, wherein to obtain the results data the processor executes the instructions to:

traverse the graph-based ontological data structure based on the second data expressing the usage intent to identify the first node; and

in response to identifying the first node, obtain the results data in accordance with the first analytical-object; and

output a response including the results data for presentation to a user.

8. The system of claim 7 , wherein:

the first high-level language script includes non-redundant terminology to describe the first analytical-object; and

the second high-level language script includes non-redundant terminology to describe the second analytical-object.

9. The system of claim 7 , wherein:

the first high-level language script includes a first alias, wherein the first alias is a tuple representing parameters of the first analytical-object; and

the second high-level language script includes a second alias, wherein the second alias is a tuple representing parameters of the second analytical-object.

10. The system of claim 7 , wherein the first high-level language script effectuates bulk changes across multiple analytical-objects.

11. A method comprising:

generating a graph-based ontological data structure including a plurality of nodes, wherein nodes from the plurality of nodes represent respective analytical-objects in the low-latency database analysis system, wherein the nodes from the plurality of nodes are connected to other nodes from the plurality of nodes by edges, wherein an edge represents a relationship in the low-latency database analysis system, and wherein generating the graph-based ontological data structure includes:

in response to receiving a first high-level language script describing a first analytical-object for the low-latency database analysis system:

generating a first node representing the first analytical-object; and

including the first node in the graph-based ontological data structure, wherein including the first node in the graph-based ontological data structure includes generating an edge in the graph-based ontological data structure indicating a relationship between the first node and a second node in the graph-based ontological data structure;

in response to receiving first data expressing a usage intent, wherein the first data expressing the usage intent includes a request to output a second high-level language script representing a second analytical-object of the low-latency database analysis system:

obtaining object data for the second analytical-object from the graph-based ontological data structure;

generating the second high-level language script describing the second analytical-object based on the object data; and

outputting the second high-level language script; and

in response to receiving second data expressing a usage intent, wherein the second data expressing the usage intent includes a request for data from the low-latency database analysis system:

obtaining results data from the low-latency database analysis system, wherein obtaining the results data from the low-latency database analysis system includes:

traversing the graph-based ontological data structure based on the second data expressing the usage intent to identify the first node; and

in response to identifying the first node, obtaining the results data in accordance with the first analytical-object; and

outputting a response including the results data for presentation to a user.

12. The method of claim 11 , wherein the second high-level language script has a defined format, is programmatically editable, and includes non-redundant terminology to describe the second analytical-object.

13. The method of claim 11 , wherein the second high-level language script includes an alias, wherein the alias is a tuple representing parameters of the second analytical-object.

14. The method of claim 11 , wherein obtaining the results data in accordance with the first analytical-object includes:

generating the results data by executing a data-query automatically generated in accordance with the first analytical-object.

15. The method of claim 14 , wherein obtaining the results data in accordance with the first analytical-object includes:

automatically generating data-query in accordance with the first analytical-object.

16. The method of claim 11 , wherein obtaining the results data in accordance with the first analytical-object includes:

obtaining one or more data values from a column of a table stored in a database accessed by the low-latency database analysis system, wherein the second node represents the column in the low-latency database analysis system.

17. The method of claim 1 , wherein obtaining the results data in accordance with the first analytical-object includes:

generating the results data by executing a data-query automatically generated in accordance with the first analytical-object.

18. The method of claim 17 , wherein obtaining the results data in accordance with the first analytical-object includes:

automatically generating data-query in accordance with the first analytical-object.

19. The method of claim 1 , wherein obtaining the results data in accordance with the first analytical-object includes:

obtaining one or more data values from a column of a table stored in a database accessed by the low-latency database analysis system, wherein the second node represents the column in the low-latency database analysis system.

20. The low-latency database analysis system of claim 7 , wherein to obtain the results data in accordance with the first analytical-object the processor executes the instructions to:

generate the results data by executing a data-query automatically generated in accordance with the first analytical-object.

Assignments (2)
SECURITY INTEREST Recorded Mar 7, 2025
From: THOUGHTSPOT, INC.; THOUGHTSPOT, LLC
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 070442/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2020
From: KOTHARI, RAKESH; AGARWAL, VAIBHAV; GADIA, ROMIL; AGRAWAL, AKSHAY; LEE, BRIAN; BANSAL, ARCHIT
To: THOUGHTSPOT, INC.
Reel/Frame 052479/0737 →
Continuity (2)
Provisional Application 62880016 · Jul 29, 2019
Related Publication 20210034614A1 · Feb 4, 2021
Cited By (1)
US 12,229,096