IP Library › Granted Patent US 11,948,025
Granted Patent B2
US 11,948,025 · App. 18/326,905 · Granted Apr 2, 2024

Stored procedures executing within a sandbox process

Inventors: Isaac Kunen (Seattle, WA); Srinath Shankar (Belmont, CA); Zihan Li (Mountain View, CA); Khushboo Bhatia (Belmont, CA); Edward Ma (San Jose, CA)
Assignee: Snowflake Inc.
G06F9/547G06F16/2455G06F16/289G06F21/53
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,948,025
App. No.
18/326,905
Granted
Apr 2, 2024
Kind
B2
Abstract

Methods, systems, and computer programs are presented for providing stored procedures stored within a database to invoke specified functionality in a cloud data platform. A response to a database query is received at a compute node of a cloud data platform. A java database connectivity (JDBC) instance executing within a sandbox process converts the response into a remote procedure call. The remote procedure call is provided to a stored procedure executing within the sandbox process as the response to the database query.

Claims (59)

1. A method comprising:

receiving, at a compute node, a response to a database query;

converting, via a java database connectivity (JDBC) instance executing within a sandbox process, the response into a remote procedure call; and

providing, to a stored procedure executing within the sandbox process, the remote procedure call as the response to the database query.

2. The method of claim 1 , comprising:

receiving, by the JDBC instance executing within the sandbox process, the remote procedure call.

3. The method of claim 1 , comprising:

converting the remote procedure call into a format that is compatible with the stored procedure executing within the sandbox process.

4. The method of claim 3 , comprising:

invoking, by the stored procedure, a JDBC method to generate the remote procedure call, wherein the JDBC method utilizes an Application Programming Interface (API) to initiate a secure communication with the JDBC instance executing within the sandbox process.

5. The method of claim 4 , wherein the invoking of the JDBC method comprises:

using the format that is compatible with the stored procedure and the JDBC instance executing within the sandbox process.

6. The method of claim 1 , comprising:

issuing, to an endpoint of a cloud data platform, the remote procedure call as the response to the database query on behalf of the stored procedure.

7. The method of claim 1 , wherein the JDBC instance includes a modified driver configured to limit communication functionality of the stored procedure.

8. The method of claim 7 , wherein the modified driver of the JDBC instance is adapted to enable secure communication with a defined connection object of a cloud data platform.

9. The method of claim 8 , comprising:

executing, by the defined connection object of the cloud data platform, the received database query, wherein the executing of the database query causes specified data to be produced; and

returning, to the sandbox process, the specified data as the response to the database query.

10. A system comprising:

one or more hardware processors of a machine; and

at least one memory storing instructions that, when executed by the one or more hardware processors, cause the system to perform operations comprising:

receiving, at a compute node, a response to a database query;

converting, via a java database connectivity (JDBC) instance executing within a sandbox process, the response into a remote procedure call; and

providing, to a stored procedure executing within the sandbox process, the remote procedure call as the response to the database query.

11. The system of claim 10 , the operations further comprising:

receiving, by the JDBC instance executing within the sandbox process, the remote procedure call.

12. The system of claim 10 , the operations further comprising:

converting the remote procedure call into a format that is compatible with the stored procedure executing within the sandbox process.

13. The system of claim 12 , the operations further comprising:

invoking, by the stored procedure, a JDBC method to generate the remote procedure call, wherein the JDBC method utilizes an Application Programming Interface (API) to initiate a secure communication with the JDBC instance executing within the sandbox process.

14. The system of claim 13 , wherein the invoking of the JDBC method comprises:

using the format that is compatible with the stored procedure and the JDBC instance executing within the sandbox process.

15. The system of claim 10 , the operations further comprising:

issuing, to an endpoint of a cloud data platform, the remote procedure call as the response to the database query on behalf of the stored procedure.

16. The system of claim 10 , wherein the JDBC instance includes a modified driver configured to limit communication functionality of the stored procedure.

17. The system of claim 16 , wherein the modified driver of the JDBC instance is adapted to enable secure communication with a defined connection object of a cloud data platform.

18. The system of claim 17 , wherein the operations comprise:

executing, by the defined connection object of the cloud data platform, the received database query, wherein the executing of the database query causes specified data to be produced; and

returning, to the sandbox process, the specified data as the response to the database query.

19. A machine-readable storage device embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:

receiving, at a compute node, a response to a database query;

converting, via a java database connectivity (JDBC) instance executing within a sandbox process, the response into a remote procedure call; and

providing, to a stored procedure executing within the sandbox process, the remote procedure call as the response to the database query.

20. The machine-readable storage device of claim 19 , wherein the operations comprise:

receiving, by the JDBC instance executing within the sandbox process, the remote procedure call.

21. The machine-readable storage device of claim 19 , wherein the operations comprise:

converting the remote procedure call into a format that is compatible with the stored procedure executing within the sandbox process.

22. The machine-readable storage device of claim 21 , wherein the operations comprise:

invoking, by the stored procedure, a JDBC method to generate the remote procedure call, wherein the JDBC method utilizes an Application Programming Interface (API) to initiate a secure communication with the JDBC instance executing within the sandbox process.

23. The machine-readable storage device of claim 22 , wherein the invoking of the JDBC method comprises:

using the format that is compatible with the stored procedure and the JDBC instance executing within the sandbox process.

24. The machine-readable storage device of claim 19 , wherein the operations comprise:

issuing, to an endpoint of a cloud data platform, the remote procedure call as the response to the database query on behalf of the stored procedure.

25. The machine-readable storage device of claim 19 , wherein the JDBC instance includes a modified driver configured to limit communication functionality of the stored procedure.

26. The machine-readable storage device of claim 25 , wherein the modified driver of the JDBC instance is adapted to enable secure communication with a defined connection object of a cloud data platform.

27. The machine-readable storage device of claim 26 , wherein the operations comprise:

executing, by the defined connection object of the cloud data platform, the received database query, wherein the executing of the database query causes specified data to be produced; and

returning, to the sandbox process, the specified data as the response to the database query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2023
From: KUNEN, ISAAC; SHANKAR, SRINATH; LI, ZIHAN; BHATIA, KHUSHBOO; MA, EDWARD
To: SNOWFLAKE INC.
Reel/Frame 063816/0846 →
Continuity (6)
Continuation 18051075 · Oct 31, 2022
Continuation 17658530 · Apr 8, 2022
Continuation 17536173 · Nov 29, 2021
Continuation 17390930 · Jul 31, 2021
Provisional Application 63197760 · Jun 7, 2021
Related Publication 20230305910A1 · Sep 28, 2023
Cited By (1)
US 12,190,181