IP Library Granted Patent US 11,514,057
Granted Patent B2
US 11,514,057 · App. 17/689,463 · Granted Nov 29, 2022

System for implementing an object sharing 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/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 11,514,057
App. No.
17/689,463
Granted
Nov 29, 2022
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 (53)

1. A computer-implemented object tagging method, comprising:

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

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

associating the shared tag to a provider object within an entity hierarchy, the shared tag associated with the provider object having a first privilege;

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

in response to determining that the first child object is tag-unassociated, associating the shared tag with the first child object;

associating the shared tag to a consumer object, the shared tag associated with the consumer object having a second privilege;

providing the provider object and the first child object to a user of a consumer account based on the shared tag and the first privilege by sharing the provider object and annotations of the provider object; and

providing the consumer object to the user of the consumer account based on the shared tag and the second privilege by allowing the consumer object to be annotated.

2. The computer-implemented object tagging method of claim 1 ,

wherein the consumer account is associated with a first organization, and a provider of the provider object is associated with a provider account of a second organization, and

wherein the first organization and the second organization are not a same organization.

3. The computer-implemented object tagging method of claim 1 , wherein the first privilege is a read-only privilege.

4. The computer-implemented object tagging method of claim 1 , further comprising:

identifying a second child object of the consumer object, wherein the consumer object and the second child object are hierarchical objects within an entity hierarchy;

in response to determining that the second child object is tag-unassociated, associating the shared tag with the second child object; and

providing the second child object to a user of the consumer account on the basis of the shared tag and the second privilege.

5. A computing apparatus comprising:

at least one processor; and

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

receiving a tag creation command including a tag name;

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

associating the shared tag to a provider object within an entity hierarchy, the shared tag associated with the provider object having a first privilege;

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

in response to a determination that the first child object is tag-unassociated, associating the shared tag with the first child object;

associating the shared tag to a consumer object, the shared tag associated with the consumer object having a second privilege;

providing the provider object and the first child object to a user of a consumer account based on the shared tag and the first privilege by sharing the provider object and annotations of the provider object; and

providing the consumer object to the user of the consumer account based on the shared tag and the second privilege by allowing the consumer object to be annotated.

6. The computing apparatus of claim 5 ,

wherein the consumer account is associated with a first organization, and a provider of the provider object is associated with a provider account of a second organization, and

wherein the first organization and the second organization are not a same organization.

7. The computing apparatus of claim 5 , wherein the first privilege is a read-only privilege.

8. The computing apparatus of claim 5 , wherein the instructions further configure the apparatus to:

identify a second child object of the consumer object, wherein the consumer object and the second child object are hierarchical objects within an entity hierarchy;

in response to determining that the second child object is tag-unassociated, associate the shared tag with the second child object; and

provide the second child object to a user of the consumer account on the basis of the shared tag and the second privilege.

9. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to perform operations comprising:

receiving a tag creation command including a tag name;

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

receiving the shared tag to a provider object within an entity hierarchy, the shared tag associated with the provider object having a first privilege;

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

in response to a determination that the first child object is tag-unassociated, associating the shared tag with the first child object;

associating the shared tag to a consumer object, the shared tag associated with the consumer object having a second privilege;

providing the provider object and the first child object to a user of a consumer account based on the shared tag and the first privilege by sharing the provider object and annotations of the provider object; and

providing the consumer object to the user of the consumer account based on the shared tag and the second privilege by allowing the consumer object to be annotated.

10. The computer-readable storage medium of claim 9 ,

wherein the consumer account is associated with a first organization, and a provider of the provider object is associated with a provider account of a second organization, and

wherein the first organization and the second organization are not a same organization.

11. The computer-readable storage medium of claim 9 , wherein the first privilege is a read-only privilege.

12. The computer-readable storage medium of claim 9 , wherein the instructions further configure the computer to:

identify a second child object of the consumer object, wherein the consumer object and the second child object are hierarchical objects within an entity hierarchy;

in response to determining that the second child object is tag-unassociated, associate the shared tag with the second child object; and

provide the second child object to a user of the consumer account on the basis of the shared tag and the second privilege.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2022
From: AVANES, ARTIN; BIJON, KHALID ZAMAN; LI, YUJIE; MI, ZHENG; MURALIDHAR, SUBRAMANIAN; SCHULTZ, DAVID
To: SNOWFLAKE INC.
Reel/Frame 059198/0269 →
Continuity (3)
Continuation 17160960 · Jan 28, 2021
Provisional Application 63108215 · Oct 30, 2020
Related Publication 20220197912A1 · Jun 23, 2022
Cited By (2)
US 12,216,662 US 12,222,949