IP Library › Granted Patent US 11,704,176
Granted Patent B2
US 11,704,176 · App. 18/051,075 · Granted Jul 18, 2023

Stored procedures in a database system

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,704,176
App. No.
18/051,075
Granted
Jul 18, 2023
Kind
B2
Abstract

Disclosed are systems, methods, and non-transitory computer-readable media for receiving a remote procedure call from a stored procedure executing within a sandbox process. A database system converts the remote procedure call into a database query, and a sandbox process separates the stored procedure from the other services and processes the database query on a database.

Claims (38)

1. A method comprising:

receiving, at an execution node, a remote procedure call from a stored procedure executing within a sandbox process, the remote procedure call having been transmitted from an instance executing within the sandbox process;

converting the remote procedure call into a database query; and

processing the database query on a database.

2. The method of claim 1 , wherein the instance includes a modified driver that restricts the instance from communicating with one or more external networks.

3. The method of claim 1 , wherein converting the remote procedure call further comprises:

receiving a response to the database query; and

converting the response to the database query into a second remote procedure call.

4. The method of claim 3 , wherein converting the remote procedure call further comprises transmitting the second remote procedure call to the sandbox process.

5. The method of claim 4 , wherein the second remote procedure call is received by the instance, and the instance converts the second remote procedure call into a format that is compatible with the store procedure.

6. The method of claim 1 , further comprising generating, from the instance, the remote procedure call invoked by a stored procedure using an Application Programming Interface (API) for communicating with the instance.

7. The method of claim 1 , wherein the remote procedure call is a Google Remote Procedure Call (gRPC).

8. A system comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to perform operations comprising:

receiving, at an execution node, a remote procedure call from a stored procedure executing within a sandbox process, the remote procedure call having been transmitted from an instance executing within the sandbox process;

converting the remote procedure call into a database query; and

processing the database query on a database.

9. The system of claim 8 , wherein the instance includes a modified driver that restricts the instance from communicating with one or more external networks.

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

receiving a response to the database query; and

converting the response to the database query into a second remote procedure call.

11. The system of claim 10 , wherein converting the remote procedure call further comprises transmitting the second remote procedure call to the sandbox process.

12. The system of claim 10 , wherein the second remote procedure call is received by the instance, and the instance converts the second remote procedure call into a format that is compatible with the store procedure.

13. The system of claim 8 , the operations further comprising generating, from the instance, the remote procedure call invoked by a stored procedure using an Application Programming Interface (API) for communicating with the instance.

14. The system of claim 8 , wherein the remote procedure call is a Google Remote Procedure Call (gRPC).

15. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer devices, cause the one or more computing devices to perform operations comprising:

receiving, at an execution node, a remote procedure call from a stored procedure executing within a sandbox process, the remote procedure call having been transmitted from an instance executing within the sandbox process;

converting the remote procedure call into a database query; and

processing the database query on a database.

16. The non-transitory computer-readable medium of claim 15 , wherein the instance includes a modified driver that restricts the instance from communicating with one or more external networks.

17. The non-transitory computer-readable medium of claim 16 , the operations further comprising:

receiving a response to the database query; and

converting the response to the database query into a second remote procedure call.

18. The non-transitory computer-readable medium of claim 17 , wherein converting the remote procedure call further comprises transmitting the second remote procedure call to the sandbox process.

19. The non-transitory computer-readable medium of claim 16 wherein the second remote procedure call is received by the instance, and the instance converts the second remote procedure call into a format that is compatible with the store procedure.

20. The non-transitory computer-readable medium of claim 16 , the operations further comprising generating, from the instance, the remote procedure call invoked by a stored procedure using an Application Programming Interface (API) for communicating with the instance.

21. The non-transitory computer-readable medium of claim 16 , wherein the remote procedure call is a Google Remote Procedure Call (gRPC).

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