IP Library Granted Patent US 12,164,511
Granted Patent B2
US 12,164,511 · App. 18/301,421 · Granted Dec 10, 2024

Secure and efficient database command execution support

Inventors: Kapil Khurana (Khurja, IN); Tushar Marda (Jaipur, IN); Shrirang Ballal (Bangalore, IN); Ashok Anand (Bengaluru, IN); Anand Kodaganur (Bangalore, IN)
Assignee: ThoughtSpot, Inc.
G06F16/2423G06F16/211G06F16/221G06F16/2365G06F21/6227
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 12,164,511
App. No.
18/301,421
Granted
Dec 10, 2024
Kind
B2
Abstract

A request to execute a database command is transmitted from a device to a database command execution device. The request includes a first indicator of a first set of tokens available at the device at a time that the request is transmitted. A response to the request is received. The response includes a second indicator of a second set of tokens available at the database command execution device at a time that the request is received at the database command execution device. Responsive to a determination that the second indicator is different from the first indicator, a request for updated tokens is transmitted to the database command execution device. The first set of tokens is updated based on a received response to the request for the updated tokens. A list of tokens the updated first set of tokens that match a partial token received as an input is output.

Claims (44)

1. A method for providing auto-completion, comprising:

transmitting from a user device to a database command execution device a request to execute a database command, wherein the request includes the database command and a first indicator of a first set of tokens available at the user device at a time that the request is transmitted;

receiving, from the database command execution device by the user device, a response to the request to execute the database command that includes a result of execution of the database command and a second indicator of a second set of tokens available at the database command execution device at a time that the request is received at the database command execution device;

determining, by the user device, that the second indicator is different from the first indicator;

responsive to the determination that the second indicator is different from the first indicator, transmitting, to the database command execution device by the user device, a request for updated tokens;

updating, by the user device, the first set of tokens based on a received response to the request for the updated tokens; and

outputting, by the user device, a list of tokens from the updated first set of tokens that match a partial token received as an input.

2. The method of claim 1 , wherein the database command is expressed in accordance with a defined structured query language implemented by a database.

3. The method of claim 2 , wherein the first set of tokens comprises names of tables and names of columns of the database.

4. The method of claim 2 , wherein the first indicator of the first set of tokens comprises an authorization level to a database of a user providing the database command.

5. The method of claim 2 , wherein the first indicator of the first set of tokens comprises a schema level of the database.

6. The method of claim 1 , further comprising:

regularly transmitting, to the database command execution device, the request for updated tokens.

7. The method of claim 1 , wherein the request is a first request and the database command is a first database command, further comprising:

transmitting, to the database command execution device, a second request to execute a second database command; and

receiving, from the database command execution device, a response to the second request that indicates that user providing the database command is not authorized to execute the second database command and includes a third indicator of a third set of tokens.

8. A device, comprising:

a memory; and

a processor, the processor configured to execute instructions stored in the memory to:

receive, from a database command execution device and in response to a request to execute a database command, a response that includes a second indicator of a second set of tokens available at the database command execution device at a time that the request is received at the database command execution device, wherein the request to execute the database command includes the databased command and a first indicator of a first set of tokens available at the device at a time that the request is transmitted to the database command execution device;

determine that the second indicator is different from the first indicator;

responsive to the determination, transmit a request for updated tokens to the database command execution device;

update the first set of tokens based on a received response to the request for the updated tokens; and

output a list of tokens from the updated first set of tokens that match a partial token received as an input.

9. The device of claim 8 , wherein the database command is expressed in accordance with a defined structured query language implemented by a database.

10. The device of claim 9 , wherein the first set of tokens comprises names of tables and names of columns of the database.

11. The device of claim 9 , wherein the first indicator of the first set of tokens comprises an authorization level to the database of a user providing the database command.

12. The device of claim 9 , wherein the first indicator of the first set of tokens comprises a schema level of the database.

13. The device of claim 8 , wherein the processor is further configured to execute instructions stored in the memory to:

regularly transmit, to the database command execution device, the request for updated tokens.

14. The device of claim 8 , wherein the request is a first request and the database command is a first database command, the processor is further configured to execute instructions stored in the memory to:

transmit, to the database command execution device, a second request to execute a second database command; and

receive, from the database command execution device, a response to the second request that indicates that a user providing the second database command is not authorized to execute the second database command and includes a third indicator of a third set of tokens.

15. A method, comprising:

receiving from a user device and at a database execution device a first request to execute a database command, wherein the first request includes the database command and a first indicator of a first set of tokens available at the user device at a time that the first request is received;

determining, the database execution device, that the first indicator is different from a second indicator of a second set of tokens available at the database execution device at a time that the first request to execute the database command is received;

in response to the determination, transmitting, by database execution device, a response to the first request to execute the database command to the user device, wherein the response includes a result of execution of the database command and the second indicator;

receiving a request for updated tokens from the user device, wherein the request includes the first indicator; and

in response to the request for the updated tokens, transmitting a response that includes token differences between the first set of tokens and the second set of tokens to the user device.

16. The method of claim 15 , wherein the token differences comprises a set of tokens that are in the second set of tokens but are not in the first set of tokens.

17. The method of claim 15 , wherein the token differences comprises a set of tokens that are in the first set of tokens but are not in the second set of tokens.

18. The method of claim 15 , wherein the response that includes the token differences further includes a third indicator of a third set of tokens.

19. The method of claim 18 , wherein the third indicator comprises an authorization level to a database of a user providing the database command.

20. The method of claim 18 , wherein the third indicator of the third set of tokens comprises a schema level of a database at a time that the response that includes the token differences is transmitted.

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 17, 2023
From: KHURANA, KAPIL; MARDA, TUSHAR; BALLAL, SHRIRANG; ANAND, ASHOK; KODAGANUR, ANAND
To: THOUGHTSPOT, INC.
Reel/Frame 063342/0937 →
Continuity (2)
Continuation 17473009 · Sep 13, 2021
Related Publication 20230252022A1 · Aug 10, 2023