IP Library Granted Patent US 12,314,587
Granted Patent B2
US 12,314,587 · App. 17/163,061 · Granted May 27, 2025

Enabling applications to access cloud data

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,314,587
App. No.
17/163,061
Granted
May 27, 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 (56)

1. A database 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:

providing, to a first application executing on a platform of a first application provider, a first user interface element to receive security credentials associated with a first account of the database system corresponding to a user of the first application;

receiving, from the first application, the security credentials associated with the first account of the database system;

authenticating the user of the first application as an authorized user of the first account of the database system based on the security credentials received from the first application;

in response to the authenticating of the user, providing a second user interface element to the first application to enable sharing of cloud data associated with the first account with the first application and causing display of the second user interface element;

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 in response to interaction with the displayed second user interface element, the request specifying one or more limits on use of the cloud data by the first application;

based on the request, identifying second-party application data and third-party data to which the first account is granted access, the second-party application data comprising second application data corresponding to a second application provided by a second-party application provider, the third-party data corresponding to a second account maintained by the database system, the second account corresponding to a third-party data provider;

verifying compatibility of the cloud data with the first 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 customer data associated with the first account, the second-party application data, and the third-party data; 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 first application, the enabling the first application to access the cloud data including restricting use of the cloud data by the first application according to the one or more limits in the request.

2. The database system of claim 1 , wherein:

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

3. The database system of claim 1 , wherein:

the identifying of the second-party application data and the third-party data is based on request indicating that the first application is able to access the second-party application data and the third-party data.

4. The database system of claim 1 , wherein the one or more limits include a limit that restricts access by the first application to a specific portion of the cloud data.

5. The database system of claim 1 , 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.

6. The database 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.

7. A method comprising:

providing, to a first application executing on a platform of a first application provider, a first user interface element to receive security credentials associated with a first account of a database system corresponding to a user of the first application;

receiving, from the first application, by the database system, the security credentials associated with the first account of the database system;

authenticating, by the database system, the user of the first application as an authorized user of the first account of the database system based on the security credentials received from the first application:

in response to the authenticating of the user, providing a second user interface element to the first application to enable sharing of cloud data associated with the first account with the first application and causing display of the second user interface element;

receiving a request to share cloud data associated with the first account of the database system with the first application, the request being generated in response to interaction with the displayed second user interface element, the request specifying one or more limits on use of the cloud data by the first application;

based on the request, identifying second-party application data and third-party data to which the first account is granted access, the second-party application data comprising application data corresponding to a second application provided by a second-party application provider, the third-party data corresponding to a second account maintained by the database system, the second account corresponding to a third-party data provider;

verifying compatibility of the cloud data with the first 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 customer data associated with the first account, the second-party application data, and the third-party data; 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 first application, the enabling the first application to access the cloud data including restricting use of the cloud data by the first application according to the one or more limits in the request.

8. The method of claim 7 , wherein:

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

9. The method of claim 7 , wherein:

the identifying of the second-party application data and the third-party data is based on request indicating that the first application is able to access the second-party application data and the third-party data.

10. The method of claim 7 , wherein:

the one or more limits include at least one of limit on read or write permissions associated with one or more portions of the cloud data.

11. The method of claim 7 , wherein the one or more limits include a limit that restricts access by the first application to a specific portion of the cloud data.

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

13. 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, to a first application executing on a platform of a first application provider, a first user interface element to receive security credentials associated with a first account of a database system corresponding to a user of the first application;

receiving, from the first application, the security credentials associated with the first account of the database system;

authenticating the user of the first application as an authorized user of the first account of the database system based on the security credentials received from the first application;

in response to the authenticating of the user, providing a second user interface element to the first application to enable sharing of cloud data associated with the first account with the first application and causing display of the second user interface element;

receiving a request to share the cloud data associated with the first account of a database system with the first application, the request being generated in response to interaction with the displayed second user interface element, the request specifying one or more limits on use of the cloud data by the first application;

based on the request, identifying second-party application data and third-party data to which the first account is granted access, the second-party application data comprising application data corresponding to a second application provided by a second-party application provider, the third-party data corresponding to a second account maintained by the database system, the second account corresponding to a third-party data provider;

verifying compatibility of the cloud data with the first 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 customer data associated with the first account, the second-party application data, and the third-party data; 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 first application, the enabling the first application to access the cloud data including restricting use of the cloud data by the first application according to the one or more limits in the request.

14. The one or more computer-storage media of claim 13 , wherein the first application causes a computing device to present the first user interface element.

15. The one or more computer-storage media of claim 13 , wherein:

the identifying of the second-party application data and the third-party data is based on request indicating that the first application is able to access the second-party application data and the third-party data.

16. The one or more computer-storage media of claim 13 , wherein the one or more limits include a limit that restricts access by the first application to a specific portion of the cloud data.

17. The one or more computer-storage media of claim 13 , 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.

18. The one or more computer-storage media of claim 13 , 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.

19. The one or more computer-storage media of claim 13 , wherein prior to enabling the first application to access the cloud data, the first application has access only to first application data of the first application provider.

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

the first application data is stored by the database system;

the first application data is consumed by the first application; and

a third account maintained by the database system corresponds to the first application provider.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2021
From: CHILD, CHRISTOPHER PETER; GLICKMAN, MATTHEW J.; LANGSETH, JUSTIN
To: SNOWFLAKE INC.
Reel/Frame 057863/0045 →
Continuity (3)
Continuation 17162376 · Jan 29, 2021
Provisional Application 63112831 · Nov 12, 2020
Related Publication 20220147646A1 · May 12, 2022
References Cited (74)
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 11341264B1 · Child et al. · 2022 [cited by applicant]
US 20100299371A1 · Little et al. · 2010 [cited by applicant]
US 20110173168A1 · Jones · 2011 [cited by examiner]
US 20110258683A1 · Cicchitto · 2011 [cited by examiner]
US 20120110330A1 · Dickgiesser et al. · 2012 [cited by applicant]
US 20130024919A1 · Wetter et al. · 2013 [cited by applicant]
US 20130282657A1 · Besen et al. · 2013 [cited by applicant]
US 20140082350A1 · Zarfoss, III et al. · 2014 [cited by applicant]
US 20160055571A1 · Wouhaybi · 2016 [cited by examiner]
US 20170076105A1 · Paulovicks et al. · 2017 [cited by applicant]
US 20180034824A1 · Maycotte et al. · 2018 [cited by applicant]
US 20190068612A1 · Eads et al. · 2019 [cited by applicant]
US 20190287168A1 · Williams, III et al. · 2019 [cited by applicant]
US 20200050686A1 · Kamalapuram et al. · 2020 [cited by applicant]
US 20200226101A1 · Dhanabalan · 2020 [cited by applicant]
US 20200285610A1 · Wang et al. · 2020 [cited by applicant]
US 20210119999A1 · Mitevski · 2021 [cited by examiner]
US 20210286891A1 · Sislow et al. · 2021 [cited by applicant]
US 20220027417A1 · Katz et al. · 2022 [cited by applicant]
US 20220147647A1 · Child et al. · 2022 [cited by applicant]
US 20220245273A1 · Child et al. · 2022 [cited by applicant]
US 20230169202A1 · Child et al. · 2023 [cited by applicant]
CN 1969573A · 2007 [cited by applicant]
CN 103020501A · 2013 [cited by applicant]
CN 103067398A · 2013 [cited by applicant]
CN 116457769 · 2023 [cited by applicant]
WO 2022104300A1 · 2022 [cited by applicant]
“U.S. Appl. No. 18/162,692, Final Office Action mailed Aug. 23, 2023”, 25 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]
Gralla, P, “Review: 3 services for managing all your cloud storage accounts”, Computerworld website, [Online] Retrieved from the internet:https: www.computerworld.com article 3162093 review-3-services-for-managing-all-y… [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. 18/162,692, filed Jan. 31, 2023, Cloud Data Sharing for Applications. [cited by applicant]
“U.S. Appl. No. 18/162,692, Non Final Office Action mailed Apr. 21, 2023”, 33 pgs. [cited by applicant]
“How to Sign Into Your Google Account”, YouTube video by username MDTechVideos, [Online]. Retrieved from the Internet: URL: https: www.youtube.com watch?v=E40UEoa19As, (Nov. 21, 2018). [cited by applicant]
“International Application Serial No. PCT US2021 070807, International Preliminary Report on Patentability mailed May 25, 2023”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,692, Response filed Jul. 21, 2023 to Non Final Office Action mailed Apr. 21, 2023”, 17 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,692, Examiner Interview Summary mailed Jul. 26, 2023”, 3 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]
“U.S. Appl. No. 17/659,732, Notice of Allowance mailed Sep. 15, 2022”, 7 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/646,191, Notice of Allowance mailed Mar. 18, 2022”, 19 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]
“U.S. Appl. No. 17/162,376, Notice of Allowance mailed Dec. 13, 2021”, 18 pgs. [cited by applicant]
Team, Zapier, “The Ultimate Guide to G Suite”, downloaded fromhttps: zapier.com learn g-suite , (May 18, 2017). [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, Non-Final Office Action mailed Apr. 1, 2021”, 16 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/659,732, Non-Final Office Action mailed Jun. 9, 2022”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,692, Response filed Nov. 21, 2023 to Final Office Action mailed Aug. 23, 2023”, 13 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]
“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]
“U.S. Appl. No. 18/162,692, Notice of Allowance mailed Nov. 27, 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]
“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 Jun. 4, 2024 to Office Action mailed Sep. 3, 2024”, with English claims, 11 pages. [cited by applicant]
“Chinese Application Serial No. 202180076400.9, Decision of Rejection mailed Jan. 9, 2025”, with manual English translation, 19 pages. [cited by applicant]