IP Library Granted Patent US 11,301,478
Granted Patent B1
US 11,301,478 · App. 17/160,960 · Granted Apr 12, 2022

System for implementing an object tagging framework

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/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 11,301,478
App. No.
17/160,960
Granted
Apr 12, 2022
Kind
B1
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 (89)

1. A method of implementing an object tagging framework comprising:

receiving, by a processor, a tag creation command including a tag name;

in response to the tag creation command, creating a current tag with the tag name;

receiving an association command, the tag name, and a source object identifier;

determining a source object associated with the source object identifier, the source object including a tag value;

associating the current tag with the source object;

receiving a replication command including the source object and a target object;

causing replication of the source object to the target object, wherein causing replication comprises replicating the current tag with the tag name and the tag value in the source object to the target object;

receiving a tag delete command including the tag name;

receiving a tag undelete command including the tag name; and

in response to receiving the tag undelete command, undeleting the tag name and the tag value by associating the current tag with the tag name and the tag value to the target object and the source object.

2. The method of claim 1 , wherein causing replication further comprises:

identifying a child source object of the source object, wherein the source object and the child source object are hierarchical objects;

determining a child tag name associated with the child source object and a child tag value associated with the child source object; and

replicating the child source object to a child target object of the target object, wherein the target object and the child target object are hierarchical objects, wherein replicating the child source object to the child target object comprises

replicating the child tag name and the child tag value from the child source object to the child target object.

3. The method of claim 1 , wherein the current tag is an object entity.

4. The method of claim 1 , further comprising:

in response to receiving a query including the tag name,

generating an output based on the tag name.

5. The method of claim 4 , wherein the output includes a list of entities associated with the tag name.

6. The method of claim 1 ,

in response to receiving the tag delete command,

removing the tag name from the target object and the source object,

wherein the tag delete command includes the tag name and the tag object.

7. The method of claim 1 , further comprising:

in response to receiving the tag delete command,

removing the tag name from the target object, and

causing no change to the tag name of the source object.

8. A system of implementing an object tagging framework comprising:

a processor; and

a memory having instructions stored therein, when executed by the processor, causes the system to perform operations comprising:

receiving a tag creation command including a tag name;

in response to the tag creation command, creating a current tag with the tag name;

receiving an association command, the tag name, and a source object identifier;

determining a source object associated with the source object identifier, the source object including a tag value;

associating the current tag with the source object;

receiving a replication command including the source object and a target object;

causing replication of the source object to the target object, wherein causing replication comprises replicating the current tag with the tag name and the tag value in the source object to the target object;

receiving a tag delete command including the tag name;

receiving a tag undelete command including the tag name; and

in response to receiving the tag undelete command, undeleting the tag name and the tag value by associating the current tag with the tag name and the tag value to the target object and the source object.

9. The system of claim 8 , wherein causing replication further comprises:

identifying a child source object of the source object, wherein the source object and the child source object are hierarchical objects;

determining a child tag name associated with the child source object and a child tag value associated with the child source object; and

replicating the child source object to a child target object of the target object, wherein the target object and the child target object are hierarchical objects, wherein replicating the child source object to the child target object comprises

replicating the child tag name and the child tag value from the child source object to the child target object.

10. The system of claim 8 , wherein the current tag is an object entity.

11. The system of claim 8 , wherein the system to perform operations further comprising:

in response to receiving a query including the tag name,

generating an output based on the tag name.

12. The system of claim 11 , wherein the output includes a list of entities associated with the tag name.

13. The system of claim 8 , wherein the system to perform operations further comprising:

in response to receiving the tag delete command,

removing the tag name from the target object and the source object,

wherein the tag delete command includes the tag name and the tag object.

14. The system of claim 8 , wherein the system to perform operations further comprising:

in response to receiving the tag delete command,

removing the tag name from the target object, and

causing no change to the tag name of the source object.

15. A non-transitory computer-readable storage medium including instructions that, when processed by a computer, configure the computer to perform operations comprising:

receiving a tag creation command including a tag name;

in response to the tag creation command, creating a current tag with the tag name;

receiving an association command, the tag name, and a source object identifier;

determining a source object associated with the source object identifier, the source object including a tag value;

associating the current tag with the source object;

receiving a replication command including the source object and a target object;

causing replication of the source object to the target object, wherein causing replication comprises replicating the current tag with the tag name and the tag value in the source object to the target object;

receiving a tag delete command including the tag name;

receiving a tag undelete command including the tag name; and

in response to receiving the tag undelete command, undeleting the tag name and the tag value by associating the current tag with the tag name and the tag value to the target object and the source object.

16. The non-transitory computer-readable storage medium of claim 15 , wherein causing replication further comprises:

identifying a child source object of the source object, wherein the source object and the child source object are hierarchical objects;

determining a child tag name associated with the child source object and a child tag value associated with the child source object; and

replicating the child source object to a child target object of the target object, wherein the target object and the child target object are hierarchical objects, wherein replicating the child source object to the child target object comprises

replicating the child tag name and the child tag value from the child source object to the child target object.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the current tag is an object entity.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the computer to perform operations further comprising:

in response to receiving a query including the tag name,

generating an output based on the tag name.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the output includes a list of entities associated with the tag name.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the computer to perform operations further comprising:

in response to receiving the tag delete command,

removing the tag name from the target object and the source object,

wherein the tag delete command includes the tag name and the target object.

21. The non-transitory computer-readable storage medium of claim 15 , wherein the computer to perform operations further comprising:

in response to receiving the tag delete command,

removing the tag name from the target object, and

causing no change to the tag name of the source object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2021
From: AVANES, ARTIN; BIJON, KHALID ZAMAN; LI, YUJIE; MI, ZHENG; MURALIDHAR, SUBRAMANIAN; SCHULTZ, DAVID
To: SNOWFLAKE INC.
Reel/Frame 055635/0914 →
Continuity (1)
Provisional Application 63108215 · Oct 30, 2020
Cited By (2)
US 12,216,662 US 12,222,949