IP Library › Granted Patent US 12,229,424
Granted Patent B2
US 12,229,424 · App. 18/162,692 · Granted Feb 18, 2025

Cloud data sharing for applications

Inventors: Christopher Peter Child (Tiburon, CA); Matthew J. Glickman (Larchmont, NY); Justin Langseth (Kailua, HI)
Assignee: Snowflake Inc.
G06F3/0637G06F16/24573G06F16/248G06F16/256G06F16/283G06F16/287G06F21/31G06F21/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,229,424
App. No.
18/162,692
Granted
Feb 18, 2025
Kind
B2
Abstract

A request to share cloud data associated with a first account in a database system with an application is received. Based on the request, second-party application data and third-party data that is accessible by the first account is identified. The second-party application data comprises application data corresponding to a second application provided by a second-party application provider. The third-party data corresponds to a second account maintained by the database system. The second account corresponds to a third-party data provider. The application is enabled to access the cloud data associated with the first account based on the request. The cloud data comprises customer data associated with the first account, second-party application data, and the third-party data.

Claims (84)

1. A system comprising:

at least one hardware processor; and

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

providing a user interface element to enable sharing of cloud data with a first application, the cloud data being associated with a first account of a database system, the user interface element being operable to specify whether the cloud data to be shared with the first application includes second-party application data along with customer data from the first account;

receiving a request to share the cloud data associated with the first account of the database system with the first application, the request being generated based on interaction with the user interface element, the request indicating that the first application is permitted to access the second-party application data along with the customer data from the first account;

based on the request indicating that the first application is permitted to access the second-party application data, identifying the second-party application data in a second account of the database system based on the first account being granted access to the second-party application data, the second-party application data comprising application data of a second application provided by a second-party application provider corresponding to the second account;

based on the request indicating that the first application is permitted to access the second-party application data along with the customer data from the first account, verifying compatibility of the cloud data with the application by performing one or more validations of the cloud data, the performing of the one or more validations comprising validating a schema of the cloud data, the cloud data comprising the customer data from the first account and the second-party application data in the second account; and

enabling the first application to access the cloud data associated with the first account based on the verifying of the compatibility of the cloud data with the application.

2. The system of claim 1 , wherein the application data is consumed or created by the second application.

3. The system of claim 1 , wherein:

the request is received from a computing device executing the first application; and

the user interface element is provided to the first application; and

the first application causes the computing device to present the user interface element.

4. The system of claim 3 , wherein:

the user interface element is a first user interface element; and

the operations further comprise:

providing, to the first application, a second user interface element to receive security credentials associated with the first account, wherein the first application causes the computing device to present the second user interface element;

receiving an authentication request generated based on user interaction with the second user interface element, the authentication request comprising security credentials associated with the first account; and

authenticating the security credentials associated with the first account.

5. The system of claim 4 , wherein the first user interface element is provided in response to authenticating security credentials associated with the first account.

6. The system of claim 1 , wherein:

the first application is executable by a first computing device; and

the request to share the customer data with the first application is received from a second computing device.

7. The system of claim 1 , wherein:

the request to share the customer data specifies one or more limits on a manner of use of the cloud data by the first application; and the enabling of the first application to access the cloud data comprises restricting use of the cloud data by the first application according to the one or more limits specified in the request.

8. The system of claim 7 , wherein the one or more limits include at least one of:

a limit on read or write permissions associated with one or more portions of the cloud data.

9. The system of claim 1 , wherein:

the request indicates that the first application is permitted to access third-party data along with the customer data from the first account and the second-party application data, the third-party data corresponding to a third account maintained by the database system, the third account corresponding to a third-party data provider; and

the cloud data further comprises the third-party data.

10. The system of claim 1 , wherein the operations further comprise prior to enabling the first application to access the cloud data, performing one or more normalization operations on the cloud data.

11. A method comprising:

providing a user interface element to enable sharing of cloud data with a first application, the cloud data being associated with a first account of a database system, the user interface element being operable to specify whether the cloud data to be shared with the first application includes second-party application data along with customer data from the first account;

receiving a request to share the cloud data associated with the first account of the database system with the first application, the request being generated based on interaction with the user interface element, the request indicating that the first application is permitted to access the second-party application data along with the customer data from the first account;

based on the request indicating that the first application is permitted to access the second-party application data, identifying the second-party application data in a second account of the database system based on the first account being granted access to the second-party application data, the second-party application data comprising application data of a second application provided by a second-party application provider corresponding to the second account;

based on the request indicating that the first application is permitted to access the second-party application data along with the customer data from the first account, verifying compatibility of the cloud data with the application by performing one or more validations of the cloud data, the performing of the one or more validations comprising validating a schema of the cloud data, the cloud data comprising the customer data from the first account and the second-party application data in the second account; and

enabling the first application to access the cloud data associated with the first account based on the verifying of the compatibility of the cloud data with the application.

12. The method of claim 11 , wherein the application data is consumed or created by the second application.

13. The method of claim 11 , wherein:

the request is received from a computing device executing the first application; and

the user interface element is provided to the first application; and

the first application causes the computing device to present the user interface element.

14. The method of claim 13 , wherein:

the user interface element is a first user interface element; and

the method further comprises:

providing, to the first application, a second user interface element to receive security credentials associated with the first account, wherein the first application causes the computing device to present the second user interface element;

receiving an authentication request generated based on user interaction with the second user interface element, the authentication request comprising security credentials associated with the first account; and authenticating the security credentials associated with the first account.

15. The method of claim 14 , wherein the first user interface element is provided in response to authenticating security credentials associated with the first account.

16. The method of claim 11 , wherein:

the first application is executable by a first computing device; and

the request to share the customer data with the first application is received from a second computing device.

17. The method of claim 11 , wherein:

the request to share the customer data specifies one or more limits on a manner of use of the cloud data by the first application, the one or more limits include at least one of a limit on read or write permissions associated with one or more portions of the cloud data; and

the enabling of the first application to access the cloud data comprises restricting use of the cloud data by the first application according to the one or more limits specified in the request.

18. The method of claim 11 , further comprising:

prior to enabling the first application to access the cloud data, performing one or more validations of the cloud data to ensure compatibility with the first application.

19. The method of claim 11 , further comprising prior to enabling the first application to access the cloud data, performing one or more normalization operations on the cloud data.

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

providing a user interface element to enable sharing of cloud data with a first application, the cloud data being associated with a first account of a database system, the user interface element being operable to specify whether the cloud data to be shared with the first application includes second-party application data along with customer data from the first account;

receiving a request to share the cloud data associated with the first account of the database system with the first application;

based on the request indicating that the first application is permitted to access the second-party application data, identifying the second-party application data in a second account of the database system based on the first account being granted access to the second-party application data, the second-party application data comprising application data of a second application provided by a second-party application provider corresponding to the second account;

based on the request indicating that the first application is permitted to access the second-party application data along with the customer data from the first account, verifying compatibility of the cloud data with the application by performing one or more validations of the cloud data, the performing of the one or more validations comprising validating a schema of the cloud data, the cloud data comprising the customer data from the first account and the second-party application data in the second account; and

enabling the first application to access the cloud data associated with the first account based on the verifying of the compatibility of the cloud data with the application.

21. The one or more computer-storage media of claim 20 , wherein the application data is consumed or created by the second application.

22. The one or more computer-storage media of claim 20 , wherein:

the request is received from a computing device executing the first application; and

the user interface element is provided to the first application; and

the first application causes the computing device to present the user interface element.

23. The one or more computer-storage media of claim 22 , wherein:

the user interface element is a first user interface element; and

the operations further comprise:

providing, to the first application, a second user interface element to receive security credentials associated with the first account, wherein the first application causes the computing device to present the second user interface element;

receiving an authentication request generated based on user interaction with the second user interface element, the authentication request comprising security credentials associated with the first account; and authenticating the security credentials associated with the first account.

24. The one or more computer-storage media of claim 23 , wherein the first user interface element is provided in response to authenticating security credentials associated with the first account.

25. The one or more computer-storage media of claim 20 , wherein:

the first application is executable by a first computing device; and

the request to share the customer data with the first application is received from a second computing device.

26. The one or more computer-storage media of claim 20 , wherein:

the request to share the customer data specifies one or more limits on a manner of use of the cloud data by the first application; and the enabling of the first application to access the cloud data comprises restricting use of the cloud data by the first application according to the one or more limits specified in the request.

27. The one or more computer-storage media of claim 26 , wherein the one or more limits include at least one of:

a limit on read or write permissions associated with one or more portions of the cloud data.

28. The one or more computer-storage media of claim 20 , wherein the operations further comprise:

prior to enabling the first application to access the cloud data, performing one or more validations of the cloud data to ensure compatibility with the first application.

29. The one or more computer-storage media of claim 20 , wherein the operations further comprise prior to enabling the first application to access the cloud data, performing one or more normalization operations on the cloud data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: CHILD, CHRISTOPHER PETER; GLICKMAN, MATTHEW J.; LANGSETH, JUSTIN
To: SNOWFLAKE INC.
Reel/Frame 063018/0662 →
Continuity (4)
Continuation 17163061 · Jan 29, 2021
Continuation 17162376 · Jan 29, 2021
Provisional Application 63112831 · Nov 12, 2020
Related Publication 20230169202A1 · Jun 1, 2023
References Cited (75)
US 6202066B1 · Barkley et al. · 2001 [cited by applicant]
US 6934706B1 · Mancuso et al. · 2005 [cited by applicant]
US 8850209B2 · Dutta et al. · 2014 [cited by applicant]
US 9450945B1 · Koeten et al. · 2016 [cited by applicant]
US 9596216B1 · North et al. · 2017 [cited by applicant]
US 9853959B1 · Kapczynski et al. · 2017 [cited by applicant]
US 10156841B2 · Wu et al. · 2018 [cited by applicant]
US 10162982B2 · De Oliveira et al. · 2018 [cited by applicant]
US 10375174B2 · Haidar et al. · 2019 [cited by applicant]
US 10990693B1 · Newman · 2021 [cited by applicant]
US 11244067B1 · Child et al. · 2022 [cited by applicant]
US 11341261B2 · Moore · 2022 [cited by applicant]
US 11341264B1 · Child et al. · 2022 [cited by applicant]
US 11544401B2 · Child et al. · 2023 [cited by applicant]
US 20100299371A1 · Little · 2010 [cited by examiner]
US 20110173168A1 · Jones et al. · 2011 [cited by applicant]
US 20110258683A1 · Cicchitto · 2011 [cited by applicant]
US 20120110330A1 · Dickgiesser et al. · 2012 [cited by applicant]
US 20130024919A1 · Wetter et al. · 2013 [cited by applicant]
US 20130282657A1 · Besen · 2013 [cited by examiner]
US 20140082350A1 · Zarfoss, III et al. · 2014 [cited by applicant]
US 20160055571A1 · Wouhaybi et al. · 2016 [cited by applicant]
US 20170076105A1 · Paulovicks et al. · 2017 [cited by applicant]
US 20180034824A1 · Maycotte et al. · 2018 [cited by applicant]
US 20190068612A1 · Eads · 2019 [cited by examiner]
US 20190287168A1 · Williams, III et al. · 2019 [cited by applicant]
US 20200050686A1 · Kamalapuram · 2020 [cited by examiner]
US 20200226101A1 · Dhanabalan · 2020 [cited by examiner]
US 20200285610A1 · Wang et al. · 2020 [cited by applicant]
US 20210286891A1 · Sislow et al. · 2021 [cited by applicant]
US 20220027417A1 · Katz et al. · 2022 [cited by applicant]
US 20220147646A1 · Child et al. · 2022 [cited by applicant]
US 20220147647A1 · Child et al. · 2022 [cited by applicant]
US 20220245273A1 · Child et al. · 2022 [cited by applicant]
CN 1969573 · 2007 [cited by applicant]
CN 103020501 · 2013 [cited by applicant]
CN 103067398 · 2013 [cited by applicant]
CN 116457769 · 2023 [cited by applicant]
WO WO2022104300A1 · 2022 [cited by applicant]
YouTube video by username MDTechVideos, “How to Sign Into Your Google Account,” published Nov. 21, 2018, downloaded from https://www.youtube.com/watch?v=E40UEoa19As (Year: 2018). [cited by examiner]
P. Gralla, “Review: 3 services for managing all your cloud storage accounts,” Computerworld website, dated Jan. 30, 2017, downloaded from https://www.computerworld.com/article/3162093/review-3-services-for-managing-all-… [cited by examiner]
U.S. Appl. No. 17/162,376 U.S. Pat. No. 11,244,067, filed Jan. 29, 2021, Data Cloud Connected Applications. [cited by applicant]
U.S. Appl. No. 17/163,061, filed Jan. 29, 2021, Enabling Applications to Access Cloud Data. [cited by applicant]
U.S. Appl. No. 17/646,191 U.S. Pat. No. 11,341,264, filed Dec. 28, 2021, Enabling Application Access to Cloud Data. [cited by applicant]
U.S. Appl. No. 17/659,732 U.S. Pat. No. 11,544,401, filed Apr. 19, 2022, Sharing Cloud Data With an Application. [cited by applicant]
“U.S. Appl. No. 17/162,376, Examiner Interview Summary mailed May 11, 2021”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/162,376, Final Office Action mailed Jun. 11, 2021”, 17 pgs. [cited by applicant]
“U.S. Appl. No. 17/162,376, Non-Final Office Action mailed Apr. 1, 2021”, 16 pgs. [cited by applicant]
“U.S. Appl. No. 17/162,376, Notice of Allowance mailed Dec. 13, 2021”, 18 pgs. [cited by applicant]
“U.S. Appl. No. 17/162,376, Response filed Apr. 29, 2021 to Non-Final Office Action mailed Apr. 1, 2021”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/162,376, Response filed Sep. 13, 2021 to Final Office Action mailed Jun. 11, 2021”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 17/163,061, Preliminary Amendment filed Jul. 1, 2021”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 17/646,191, Notice of Allowance mailed Mar. 18, 2022”, 19 pgs. [cited by applicant]
“U.S. Appl. No. 17/659,732, Non-Final Office Action mailed Jun. 9, 2022”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 17/659,732, Notice of Allowance mailed Sep. 15, 2022”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 17/659,732, Response filed Aug. 31, 2022 to Non-Final Office Action mailed Jun. 9, 2022”, 10 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/070807, International Search Report mailed Sep. 30, 2021”, 2 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/070807, Written Opinion mailed Sep. 30, 2021”, 7 pgs. [cited by applicant]
Team, Zapier, “The Ultimate Guide to G Suite”, [online]. Retrieved from the Internet: <URL: https://zapier.com/learn/g-suite/>, (May 18, 2017). 115 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/070807, International Preliminary Report on Patentability mailed May 25, 2023”, 9 pgs. [cited by applicant]
“European Application Serial No. 21893049.3, Response to Communication pursuant to Rules 161(1) and 162 EPC filed Dec. 19, 2023”, 68 pgs. [cited by applicant]
“U.S. Appl. No. 17/163,061, Response filed Jan. 29, 2024 to Non Final Office Action mailed Oct. 31, 2023”, 14 pgs. [cited by applicant]
“U.S. Appl. No. 17/163,061, Final Office Action mailed Feb. 16, 2024”, 20 pgs. [cited by applicant]
“Chinese Application Serial No. 202180076400.9, Office Action mailed Feb. 8, 2024”, with English translation, 15 pages. [cited by applicant]
“German Application Serial No. 202021004328.4, Office Action mailed Aug. 29, 2023”, with English translation, 4 pages. [cited by applicant]
“German Application Serial No. 202021004328.4, Response filed Sep. 28, 2023 to Office Action mailed Aug. 29, 2023”, with machine English translation, 99 pages. [cited by applicant]
“Chinese Application Serial No. 202180076400.9, Response filed Jun. 4, 2024 to Office Action mailed Sep. 3, 2024”, with English claims, 11 pages. [cited by applicant]
“U.S. Appl. No. 17/163,061, Non Final Office Action mailed Oct. 31, 2023”, 42 pgs. [cited by applicant]
“U.S. Appl. No. 17/163,061, Response filed Apr. 15, 2024 to Final Office Action mailed Feb. 16, 2024”, 15 pages. [cited by applicant]
“Chinese Application Serial No. 202180076400.9, Response filed Jun. 4, 2024 to Office Action mailed Feb. 8, 2024”, with manual English translation, 12 pages. [cited by applicant]
“Chinese Application Serial No. 202180076400.9, Office Action mailed Jun. 8, 2024”, with English translation, 8 pages. [cited by applicant]
“Chinese Application Serial No. 202180076400.9, Response filed Aug. 7, 2024 to Office Action mailed Jun. 8, 2024”, with English claims, 24 pages. [cited by applicant]
“Chinese Application Serial No. 202180076400.9, Office Action mailed Sep. 3, 2024”, with English translation, 15 pages. [cited by applicant]
“Chinese Application Serial No. 202180076400.9, Response filed Oct. 31, 2024 to Office Action mailed Sep. 3, 2024”, with English claims, 14 pages. [cited by applicant]
“European Application Serial No. 21893049.3, Extended European Search Report mailed Oct. 4, 2024”, 6 pgs. [cited by applicant]