IP Library Granted Patent US 12,222,949
Granted Patent B2
US 12,222,949 · App. 18/545,672 · Granted Feb 11, 2025

Shared tag data system

Inventors: Artin Avanes (Palo Alto, CA); Khalid Zaman Bijon (Santa Cruz, CA); Yujie Li (Santa Clara, CA); Zheng Mi (Palo Alto, CA); Subramanian Muralidhar (Mercer Island, WA); David Schultz (Piedmont, CA)
Assignee: Snowflake Inc.
G06F16/24573G06F16/211G06F16/212G06F16/2291G06F16/2365G06F16/27G06F16/288G06F16/289
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,222,949
App. No.
18/545,672
Granted
Feb 11, 2025
Kind
B2
Abstract

A method of implementing object tagging framework starts with the processor receiving a tag creation command including a tag name. In response to the tag creation command, the processor creates a current tag. The processor then receives an association command, the tag name and a source object identifier. The processor determines a source object associated with the source object identifier. The source object includes a tag value. The processor associates the current tag with the source object. The processor receives a replication command including the source object and a target object. The processor causes replication of the source object to the target object that comprises replicating the current tag with the tag name and the tag value in the source object to the target object. Other embodiments are also described herein.

Claims (62)

1. A machine-implemented method, comprising:

receiving, by a tag controller of a distributed database, a tag creation command including a tag name;

in response to the tag creation command performing, by the tag controller, operations comprising:

creating a shared tag using the tag name and a global unique identification; and

storing a state of the tag controller and a state at least one database of the distributed database in a centralized metadata store of the distributed database on a single machine of the distributed database;

associating, by a provider account using the tag controller, the shared tag with a provider object of the distributed database, the shared tag granting a read-only privilege to the provider object;

associating, by a consumer account using the tag controller, the shared tag with a consumer object, the shared tag granting an annotate privilege to the consumer object;

based on the read-only privilege of the shared tag, sharing the provider object of the provider account with the consumer account; and

based on the annotate privilege of the shared tag, allowing the consumer object of the consumer account to be annotated by a user of the consumer account.

2. The machine-implemented method of claim 1 , wherein the provider account and the consumer account are associated with different organizations.

3. The machine-implemented method of claim 1 , wherein the read-only privilege allows the provider object to be shared but not modified by the consumer object.

4. The machine-implemented method of claim 1 , wherein the annotate privilege allows the consumer object to be annotated but not modified by the provider object.

5. The machine-implemented method of claim 1 , further comprising:

identifying a child object of the provider object based on an entity hierarchy; and

associating the shared tag with the child object.

6. The machine-implemented method of claim 5 , further comprising:

providing the child object to the user of the consumer account based on the read-only privilege granted by the shared tag.

7. The machine-implemented method of claim 1 , wherein sharing the provider object comprises sharing metadata of the provider object.

8. The machine-implemented method of claim 1 , wherein allowing the consumer object to be annotated comprises allowing addition of metadata to the consumer object.

9. The machine-implemented method of claim 1 , wherein the shared tag is associated with the provider object and the consumer object globally across a plurality of geographic regions.

10. A system comprising:

at least one processor; and

at least one memory storing instructions that, when executed by the at least one processor, cause the machine to perform operations comprising:

receiving, by a tag controller of a distributed database, a tag creation command including a tag name;

in response to the tag creation command performing, by the tag controller, operations comprising:

creating a shared tag using the tag name and a global unique identification; and

storing a state of the tag controller and a state at least one database of the distributed database in a centralized metadata store of the distributed database on a single machine of the distributed database;

associating, by a provider account using the tag controller, the shared tag with a provider object of the distributed database, the shared tag granting a read-only privilege to the provider object;

associating, by a consumer account using the tag controller, the shared tag with a consumer object, the shared tag granting an annotate privilege to the consumer object;

based on the read-only privilege of the shared tag, sharing the provider object of the provider account with the consumer account; and

based on the annotate privilege of the shared tag, allowing the consumer object of the consumer account to be annotated by a user of the consumer account.

11. The system of claim 10 , wherein the provider account and the consumer account are associated with different organizations.

12. The system of claim 10 , wherein the read-only privilege allows the provider object to be shared but not modified by the consumer object.

13. The system of claim 10 , wherein the annotate privilege allows the consumer object to be annotated but not modified by the provider object.

14. The system of claim 10 , wherein the operations further comprise:

identifying a child object of the provider object based on an entity hierarchy; and

associating the shared tag with the child object.

15. The system of claim 14 , wherein the operations further comprise:

providing the child object to the user of the consumer account based on the read-only privilege granted by the shared tag.

16. The system of claim 10 , wherein sharing the provider object comprises sharing metadata of the provider object.

17. The system of claim 10 , wherein allowing the consumer object to be annotated comprises allowing addition of metadata to the consumer object.

18. The system of claim 10 , wherein the shared tag is associated with the provider object and the consumer object globally across a plurality of geographic regions.

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

receiving, by a tag controller of a distributed database, a tag creation command including a tag name;

in response to the tag creation command performing, by the tag controller, operations comprising:

creating a shared tag using the tag name and a global unique identification; and

storing a state of the tag controller and a state at least one database of the distributed database in a centralized metadata store of the distributed database on a single machine of the distributed database;

associating, by a provider account using the tag controller, the shared tag with a provider object of the distributed database, the shared tag granting a read-only privilege to the provider object;

associating, by a consumer account using the tag controller, the shared tag with a consumer object, the shared tag granting an annotate privilege to the consumer object;

based on the read-only privilege of the shared tag, sharing the provider object of the provider account with the consumer account; and

based on the annotate privilege of the shared tag, allowing the consumer object of the consumer account to be annotated by a user of the consumer account.

20. The machine-storage medium of claim 19 , wherein the provider account and the consumer account are associated with different organizations.

21. The machine-storage medium of claim 19 , wherein the read-only privilege allows the provider object to be shared but not modified by the consumer object.

22. The machine-storage medium of claim 19 , wherein the annotate privilege allows the consumer object to be annotated but not modified by the provider object.

23. The machine-storage medium of claim 19 , wherein the operations further comprise:

identifying a child object of the provider object based on an entity hierarchy; and

associating the shared tag with the child object.

24. The machine-storage medium of claim 23 , wherein the operations further comprise:

providing the child object to the user of the consumer account based on the read-only privilege granted by the shared tag.

25. The machine-storage medium of claim 19 , wherein sharing the provider object comprises sharing metadata of the provider object.

26. The machine-storage medium of claim 19 , wherein allowing the consumer object to be annotated comprises allowing addition of metadata to the consumer object.

27. The machine-storage medium of claim 19 , wherein the shared tag is associated with the provider object and the consumer object globally across a plurality of geographic regions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2023
From: AVANES, ARTIN; BIJON, KHALID ZAMAN; LI, YUJIE; MI, ZHENG; MURALIDHAR, SUBRAMANIAN; SCHULTZ, DAVID
To: SNOWFLAKE INC.
Reel/Frame 065914/0366 →
Continuity (5)
Continuation 18052990 · Nov 7, 2022
Continuation 17689463 · Mar 8, 2022
Continuation 17160960 · Jan 28, 2021
Provisional Application 63108215 · Oct 30, 2020
Related Publication 20240119056A1 · Apr 11, 2024
References Cited (92)
US 8817411B1 · Sims et al. · 2014 [cited by applicant]
US 9158532B2 · Schaefer · 2015 [cited by examiner]
US 9300737B1 · Agsen et al. · 2016 [cited by applicant]
US 10439897B1 · Komarla et al. · 2019 [cited by applicant]
US 10853330B2 · Lee · 2020 [cited by applicant]
US 11301478B1 · Avanes et al. · 2022 [cited by applicant]
US 11514057B2 · Avanes et al. · 2022 [cited by applicant]
US 11886441B2 · Avanes et al. · 2024 [cited by applicant]
US 20030236797A1 · Nita · 2003 [cited by applicant]
US 20060117179A1 · Karabulut · 2006 [cited by applicant]
US 20060248112A1 · Williams et al. · 2006 [cited by applicant]
US 20060248449A1 · Williams et al. · 2006 [cited by applicant]
US 20090210458A1 · Glover et al. · 2009 [cited by applicant]
US 20090259701A1 · Wideman et al. · 2009 [cited by applicant]
US 20100057790A1 · Johnson · 2010 [cited by applicant]
US 20110282836A1 · Erickson et al. · 2011 [cited by applicant]
US 20110314528A1 · Dolin · 2011 [cited by applicant]
US 20120030179A1 · Kauffman et al. · 2012 [cited by applicant]
US 20120304113A1 · Patten et al. · 2012 [cited by applicant]
US 20130262627A1 · Black · 2013 [cited by examiner]
US 20130290377A1 · Purohit · 2013 [cited by applicant]
US 20150019576A1 · Seneski et al. · 2015 [cited by applicant]
US 20150026117A1 · Wan · 2015 [cited by applicant]
US 20150100924A1 · Matas et al. · 2015 [cited by applicant]
US 20160098574A1 · Bargagni · 2016 [cited by applicant]
US 20170123935A1 · Pandit et al. · 2017 [cited by applicant]
US 20170257380A1 · Yao et al. · 2017 [cited by applicant]
US 20170295190A1 · Brown · 2017 [cited by applicant]
US 20180060413A1 · Dai · 2018 [cited by applicant]
US 20180067951A1 · Brandwine et al. · 2018 [cited by applicant]
US 20180139156A1 · Kumar et al. · 2018 [cited by applicant]
US 20190146616A1 · White et al. · 2019 [cited by applicant]
US 20190332487A1 · Fair · 2019 [cited by applicant]
US 20190362290A1 · Rogynskyy et al. · 2019 [cited by applicant]
US 20200186359A1 · Chan et al. · 2020 [cited by applicant]
US 20200402625A1 · Aravamudan et al. · 2020 [cited by applicant]
US 20210150439A1 · Markham et al. · 2021 [cited by applicant]
US 20210182252A1 · Arlt · 2021 [cited by applicant]
US 20210328957A1 · Delp et al. · 2021 [cited by applicant]
US 20220138206A1 · Avanes et al. · 2022 [cited by applicant]
US 20220197912A1 · Avanes et al. · 2022 [cited by applicant]
US 20230062496A1 · Avanes et al. · 2023 [cited by applicant]
US 20230385289A1 · Avanes et al. · 2023 [cited by applicant]
WO 2022093339 · 2022 [cited by applicant]
“U.S. Appl. No. 17/102,156, Non Final Office Action mailed Feb. 16, 2021”, 14 pgs. [cited by applicant]
“Unity Answers, Is there an easy way to apply the same tag to all children of an object?”, [online]. Retrieved from the Internet: URL: https: answers.unity.com questions 167644 is-there-an-easy-way-to-apply-the-same-tag… [cited by applicant]
“U.S. Appl. No. 17/102,156, Response filed Apr. 30, 2021 to Non Final Office Action mailed Feb. 16, 2021”, 17 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Final Office Action mailed May 11, 2021”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 17/160,960, Non Final Office Action mailed May 26, 2021”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Pre-Appeal Brief Request filed Aug. 11, 2021”, 5 pgs. [cited by applicant]
“International Application Serial No. PCT US2021 040001, International Search Report mailed Aug. 10, 2021”, 2 pgs. [cited by applicant]
“International Application Serial No. PCT US2021 040001, Written Opinion mailed Aug. 10, 2021”, 5 pgs. [cited by applicant]
“U.S. Appl. No. 17/160,960, Response filed Aug. 26, 2021 to Non Final Office Action mailed May 26, 2021”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 17/160,960, Final Office Action mailed Sep. 9, 2021”, 14 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Decision on Pre-Appeal Brief Request for Review mailed Oct. 8, 2021”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Non Final Office Action mailed Oct. 15, 2021”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 17/160,960, Response filed Dec. 9, 2021 to Final Office Action mailed Sep. 9, 2021”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/160,960, Notice of Allowance mailed Dec. 29, 2021”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Response filed Jan. 18, 2022 to Non Final Office Action mailed Oct. 15, 2021”, 16 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Final Office Action mailed Feb. 25, 2022”, 17 pgs. [cited by applicant]
“U.S. Appl. No. 17/689,463, Non Final Office Action mailed May 10, 2022”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Response filed May 25, 2022 to Final Office Action mailed Feb. 25, 2022”, 14 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Non Final Office Action mailed Jun. 9, 2022”, 18 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Examiner Interview Summary mailed Jul. 15, 2022”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/689,463, Examiner Interview Summary mailed Jul. 15, 2022”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/689,463, Response filed Aug. 8, 2022 to Non Final Office Action mailed May 10, 2022”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 17/689,463, Notice of Allowance mailed Aug. 24, 2022”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/689,463, Notice of Allowability mailed Aug. 30, 2022”, 6 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Response filed Sep. 9, 2022 to Non Final Office Action mailed Jun. 9, 2022”, 14 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Final Office Action mailed Sep. 27, 2022”, 18 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Response filed Dec. 27, 2022 to Final Office Action mailed Sep. 27, 2022”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 18/052,990, Non Final Office Action mailed Jan. 19, 2023”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Non Final Office Action mailed Jan. 26, 2023”, 18 pgs. [cited by applicant]
“U.S. Appl. No. 18/052,990, Response filed Apr. 19, 2023 to Non Final Office Action mailed Jan. 19, 2023”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Response filed Apr. 26, 2023 to Non Final Office Action mailed Jan. 26, 2023”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Final Office Action mailed May 9, 2023”, 18 pgs. [cited by applicant]
“U.S. Appl. No. 18/052,990, Final Office Action mailed May 9, 2023”, 16 pgs. [cited by applicant]
“U.S. Appl. No. 17/102,156, Examiner Interview Summary mailed May 10, 2023”, 2 pgs. [cited by applicant]
“International Application Serial No. PCT US2021 040001, International Preliminary Report on Patentability mailed May 11, 2023”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 18/052,990, Response filed Aug. 9, 2023 to Final Office Action mailed May 9, 2023”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 18/052,990, Notice of Allowance mailed Sep. 18, 2023”, 16 pgs. [cited by applicant]
Leach, P, “A Universally Unique IDentidier (UUID) URN Namespace”, RFC 4122, [Online] Retrieved From Internet: http: www.ietf.org rfc rfc4122.txt.pdf, (2005), 32 pgs. [cited by applicant]
U.S. Appl. No. 17/102,156, filed Nov. 23, 2020, System for Implementing an Object Tagging Framework. [cited by applicant]
U.S. Appl. No. 18/447,231, filed Aug. 9, 2023, Hierarchical Object Tagging Framework. [cited by applicant]
U.S. Appl. No. 17/160,960 U.S. Pat. No. 11,301,478, filed Jan. 28, 2021, Syetem for Implementing an Object Tagging Framework. [cited by applicant]
U.S. Appl. No. 17/689,463 U.S. Pat. No. 11,514,057, filed Mar. 8, 2022, System for Implementing an Object Sharing Framework. [cited by applicant]
U.S. Appl. No. 18/052,990, filed Nov. 7, 2022, Tag-Based Data Governance Auditing System. [cited by applicant]
“European Application Serial No. 21887101.0, Response to Communication pursuant to Rules 161(2) and 162 EPC filed Dec. 15, 2023”, 14 pgs. [cited by applicant]
“U.S. Appl. No. 18/447,231, Examiner Interview Summary mailed Sep. 13, 2024”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/447,231, Final Office Action mailed Jun. 27, 2024”, 20 pgs. [cited by applicant]
“U.S. Appl. No. 18/447,231, Response filed Sep. 26, 2024 to Final Office Action mailed Jun. 27, 2024”, 14 pgs. [cited by applicant]
“European Application Serial No. 21887101.0, Extended European Search Report mailed Sep. 17, 2024”, 7 pgs. [cited by applicant]