IP Library › Granted Patent US 11,269,913
Granted Patent B1
US 11,269,913 · App. 17/463,261 · Granted Mar 8, 2022

Reverse extract, transform, load (ETL) tool

Inventors: Russell Connor Dervay (San Francisco, CA); Venkata Satyanarayana Kota (Fremont, CA); Kristen Michelle Werner (San Francisco, CA)
Assignee: Snowflake Inc.
G06F16/254G06F8/65G06F9/547G06F16/2455G06F21/6218
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,269,913
App. No.
17/463,261
Granted
Mar 8, 2022
Kind
B1
Abstract

Provided herein are systems and methods for an application connector (also referred to as a reverse extract, transform, load (ETL) connector) in a database system. For example, a method includes retrieving an application connector corresponding to an application of a plurality of available applications. The application connector includes connector configuration information and connector code. A user-defined query is detected within the connector configuration information. The user-defined query is executed to obtain a query result. The query result is based on data stored in a storage device shared by the plurality of applications. The connector code of the application connector is executed to perform an update of the application, the update based on the query result.

Claims (71)

1. A system comprising:

at least one hardware processor; and

at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising:

retrieving an application connector corresponding to an application of a plurality of available applications, the application connector comprising connector configuration information and connector code;

detecting a user-defined query within the connector configuration information;

executing the user-defined query to obtain a query result, the query result based on data stored in a storage device shared by the plurality of applications; and

executing the connector code of the application connector to perform an update of the application based on the query result.

2. The system of claim 1 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

detecting an object identifier within the connector configuration information, the object identifier identifying an object of the application.

3. The system of claim 2 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

detecting an application key within the connector configuration information, the application key authorizing access to the object.

4. The system of claim 3 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

detecting a plurality of fields within the connector configuration information, the plurality of fields associated with the object.

5. The system of claim 4 , wherein to perform the update, the instructions further cause the at least one hardware processor to perform operations comprising:

accessing the object using the application key; and

updating the plurality of fields associated with the object using the query result.

6. The system of claim 1 , wherein executing the connector code causes the update using an application programming interface (API) of the application.

7. The system of claim 1 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

executing a user-defined function to invoke an application programming interface (API), wherein the API is invoked via an application server that is external to the system and the storage device.

8. The system of claim 7 , wherein invoking the API causes:

execution of a second user-defined query to obtain a second query result; and

a second update of the application based on the second query result.

9. The system of claim 8 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:

logging the update and the second update of the application in a log.

10. The system of claim 9 , wherein the log includes corresponding update confirmation indicators indicative of success or failure of the update and the second update.

11. A method comprising:

retrieving an application connector corresponding to an application of a plurality of available applications, the application connector comprising connector configuration information and connector code;

detecting a user-defined query within the connector configuration information;

executing the user-defined query to obtain a query result, the query result based on data stored in a storage device shared by the plurality of applications; and

executing the connector code of the application connector to perform an update of the application based on the query result.

12. The method of claim 11 , further comprising:

detecting an object identifier within the connector configuration information, the object identifier identifying an object of the application.

13. The method of claim 12 , further comprising:

detecting an application key within the connector configuration information, the application key authorizing access to the object.

14. The method of claim 13 , further comprising:

detecting a plurality of fields within the connector configuration information, the plurality of fields associated with the object.

15. The method of claim 14 , further comprising:

accessing the object using the application key; and

updating the plurality of fields associated with the object using the query result.

16. The method of claim 11 , wherein executing the connector code causes the update using an application programming interface (API) of the application.

17. The method of claim 11 , further comprising:

executing a user-defined function to invoke an application programming interface (API), wherein the API is invoked via an application server that is external to the storage device.

18. The method of claim 17 , wherein invoking the API comprises:

executing a second user-defined query to obtain a second query result; and

performing a second update of the application based on the second query result.

19. The method of claim 18 , further comprising:

logging the update and the second update of the application in a log.

20. The method of claim 19 , wherein the log includes corresponding update confirmation indicators indicative of success or failure of the update and the second update.

21. A computer-storage medium comprising instructions that, when executed by one or more processors of a machine, configure the machine to perform operations comprising:

retrieving an application connector corresponding to an application of a plurality of available applications, the application connector comprising connector configuration information and connector code;

detecting a user-defined query within the connector configuration information;

executing the user-defined query to obtain a query result, the query result based on data stored in a storage device shared by the plurality of applications; and

executing the connector code of the application connector to perform an update of the application, the update based on the query result.

22. The computer-storage medium of claim 21 , the operations further comprising:

detecting an object identifier within the connector configuration information, the object identifier identifying an object of the application.

23. The computer-storage medium of claim 22 , the operations further comprising:

detecting an application key within the connector configuration information, the application key authorizing access to the object.

24. The computer-storage medium of claim 23 , the operations further comprising:

detecting a plurality of fields within the connector configuration information, the plurality of fields associated with the object.

25. The computer-storage medium of claim 24 , the operations further comprising:

accessing the object using the application key; and

updating the plurality of fields associated with the object using the query result.

26. The computer-storage medium of claim 21 , wherein executing the connector code causes the update using an application programming interface (API) of the application.

27. The computer-storage medium of claim 21 , the operations further comprising:

executing a user-defined function to invoke an application programming interface (API), wherein the API is invoked via an application server that is external to the storage device.

28. The computer-storage medium of claim 27 , wherein invoking the API comprises:

executing a second user-defined query to obtain a second query result; and

performing a second update of the application based on the second query result.

29. The computer-storage medium of claim 28 , the operations further comprising:

logging the update and the second update of the application in a log.

30. The computer-storage medium of claim 29 , wherein the log includes corresponding update confirmation indicators indicative of success or failure of the update and the second update.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2021
From: DERVAY, RUSSELL CONNOR; KOTA, VENKATA SATYANARAYANA; WERNER, KRISTEN MICHELLE
To: SNOWFLAKE INC.
Reel/Frame 057751/0305 →
Continuity (1)
Provisional Application 63202801 · Jun 24, 2021
Cited By (5)
US 12,306,853 US 12,511,304 US 12,547,639 US 12,602,392 US 12,613,881