US 12,216,662 B2
Hierarchical object tagging framework
Artin Avanes, Palo Alto, CA (US); Khalid Zaman Bijon, Santa Cruz, CA (US); Yujie Li, Santa Clara, CA (US); Zheng Mi, Palo Alto, CA (US); Subramanian Muralidhar, Mercer Island, WA (US); and David Schultz, Piedmont, CA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Aug. 9, 2023, as Appl. No. 18/447,231.
Application 18/447,231 is a continuation of application No. 18/052,990, filed on Nov. 7, 2022, granted, now 11,886,441.
Application 18/052,990 is a continuation of application No. 17/689,463, filed on Mar. 8, 2022, granted, now 11,514,057.
Application 17/689,463 is a continuation of application No. 17/160,960, filed on Jan. 28, 2021, granted, now 11,301,478.
Application 18/447,231 is a continuation of application No. 17/102,156, filed on Nov. 23, 2020, abandoned.
Claims priority of provisional application 63/108,215, filed on Oct. 30, 2020.
Prior Publication US 2023/0385289 A1, Nov. 30, 2023
Int. Cl. G06F 16/2457 (2019.01); G06F 16/21 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/27 (2019.01); G06F 16/28 (2019.01)
CPC G06F 16/24573 (2019.01) [G06F 16/211 (2019.01); G06F 16/212 (2019.01); G06F 16/2291 (2019.01); G06F 16/2365 (2019.01); G06F 16/27 (2019.01); G06F 16/288 (2019.01); G06F 16/289 (2019.01)] 30 Claims
OG exemplary drawing
 
1. A method of implementing an object tagging framework comprising:
performing, by a tag controller of a distributed database, operations comprising:
receiving, from a first client device via a network, an association command, a tag name, and a target object identifier;
creating a current tag based on the tag name;
determining from among a plurality of target objects of the distributed database one or more target objects associated with the target object identifier;
associating the current tag with each of the one or more target objects in the distributed database;
identifying one or more respective first child objects of the one or more target objects, wherein the one or more target objects and the one or more respective first child objects are related in an entity hierarchy;
in response to determining that a first child object of the one or more first child objects is tag-unassociated, performing operations comprising:
associating the current tag with the first child object;
storing the current tag and one or more tag associations of the one or more target objects and the one or more respective first child objects in a centralized metadata store of the distributed database; and
storing a state of the tag controller in a database management system on a single machine of the distributed database;
in response to receiving a query including the tag name from a second client device via the network, performing operations comprising:
finding one or more found target objects and the one or more found first child objects across the distributed database using the tag name and the one or more tag associations stored in the centralized metadata store of the distributed database;
generating an output based on the found one or more target objects and found one or more first child objects; and
causing, via the network, the output to be displayed on a display device of the second client device.