IP Library Granted Patent US 10,922,356
Granted Patent B2
US 10,922,356 · App. 16/367,038 · Granted Feb 16, 2021

Expandable data object management and indexing architecture for intersystem data exchange compatibility

Inventors: Matthew Wahl (San Francisco, CA); Hubert Florin (Vancouver, CA); Roland Schemers (Woodside, CA); Brian Elliott (San Francisco, CA); Lydia Han (San Francisco, CA); James McPhail (Alameda, CA)
Assignee: Slack Technologies, Inc.
G06F16/901G06F16/908G06F16/90335G06F16/93G06Q10/101G06Q10/103H04L12/1831H04L51/36H04L65/1096H04L65/403
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 10,922,356
App. No.
16/367,038
Granted
Feb 16, 2021
Kind
B2
Abstract

A group-based communication platform is configured to ascertain the relatedness of various work objects shared among users of the group-based communication platform. Moreover, the group-based communication platform may further receive and process work objects originating from non-users of the group-based communication platform, thereby further expanding the utility of the determined relatedness between work objects. These work objects (or encrypted representations of these work objects) may be indexed and stored in association with the group-based communication platform, thereby enabling users to search for and retrieve work objects originating from a plurality of work object sources simultaneously, and based on various characteristics of those work objects and the determined interrelatedness between various work objects.

Claims (59)

1. A group-based communication platform configured for generating a work graph based on one or more work objects, the group-based communication platform comprising:

one or more memory storage areas; and

one or more processors collectively configured to:

intake one or more work objects from a validated external resource for distribution to one or more client devices via at least one of one or more group-based communication channels, wherein the one or more work objects comprise metadata and body content data;

determine a work object type for each of the one or more objects;

extract work object data from each of the one or more work objects, wherein the work object data extracted from each of the one or more work objects is identified based at least in part on the work object type, and wherein the work object data is extracted from the metadata and the body content data;

identify, based at least in part on the work object data, relationships established via each of the one or more work objects; and

establish, based at least in part on the relationships established via each of the one or more work objects; a work graph data structure interrelating one or more work objects shared via the group-based communication platform.

2. The group-based communication platform of claim 1 , wherein the one or more processors are further configured to identify, based at least in part on the metadata and the content data, one or more topics assigned to each of the one or more work objects.

3. The group-based communication platform of claim 2 , wherein identifying one or more topics assigned to each of the one or more work objects comprises analyzing the metadata and the body content data of each of the one or more work objects using a term-frequency, inverse-document frequency analysis to identify relevant terms to be assigned as topics to each of the one or more work objects.

4. The group-based communication platform of claim 1 , wherein identifying relationships established via each of the one or more work objects comprises at least one of:

identifying a plurality of user identifiers associated with each of the one or more work objects and identifying relationships among the plurality of user identifiers associated with each of the one or more work objects, and wherein establishing the work graph data structure comprises interrelating user identifiers based at least in part on relationships established via the one or more work objects;

identifying a plurality of channel identifiers associated with each of the one or more work objects and identifying relationships among the plurality of channel identifiers associated with each of the one or more work objects, and wherein establishing the work graph data structure comprises interrelating channel identifiers based at least in part on relationships established via the one or more work objects; or

identifying a plurality of topics associated with each of the one or more work objects and identifying relationships among the plurality of topics associated with each of the one or more work objects, and wherein establishing the work graph data structure comprises interrelating topics based at least in part on relationships established via the one or more work objects.

5. The group-based communication platform of claim 1 , wherein the work graph establishes relationships among a plurality of work objects of different work object types.

6. The group-based communication platform of claim 1 , wherein the one or more processors are further configured to intake one or more work objects received from one or more client devices for distribution via the group-based communication platform.

7. The group-based communication platform of claim 1 , wherein the one or more processors are further configured to execute a query function based at least in part on a query request received from a client device of the one or more client devices, wherein the query function comprises:

querying work objects based at least in part on the query request;

ranking one or more work objects based on relevance to the query request and based on relatedness between work objects as established within the work graph; and

transmitting cache objects to the requesting client device indicative of the ranked work objects identified from the querying.

8. The group-based communication platform of claim 1 , wherein the one or more processors are further configured to generate a neural network for executing a search query based at least in part on the work graph.

9. A computer-implemented method for generating a work graph based on one or more work objects, the method comprising:

intaking one or more work objects from a validated external resource for distribution to one or more client devices via at least one of one or more group-based communication channels, wherein the one or more work objects comprise metadata and body content data;

determining a work object type for each of the one or more objects;

extracting work object data from each of the one or more work objects, wherein the work object data extracted from each of the one or more work objects is identified based at least in part on the work object type, and wherein the work object data is extracted from the metadata and the body content data;

identifying, based at least in part on the work object data, relationships established via each of the one or more work objects; and

establishing, based at least in part on the relationships established via each of the one or more work objects; a work graph data structure interrelating one or more work objects shared via a group-based communication platform.

10. The computer-implemented method of claim 9 , further comprising identifying, based at least in part on the metadata and the content data, one or more topics assigned to each of the one or more work objects.

11. The computer-implemented method of claim 10 , wherein identifying one or more topics assigned to each of the one or more work objects comprises analyzing the metadata and the body content data of each of the one or more work objects using a term-frequency, inverse-document frequency analysis to identify relevant terms to be assigned as topics to each of the one or more work objects.

12. The computer-implemented method of claim 9 , wherein identifying relationships established via each of the one or more work objects comprises at least one of:

identifying a plurality of user identifiers associated with each of the one or more work objects and identifying relationships among the plurality of user identifiers associated with each of the one or more work objects, and wherein establishing the work graph data structure comprises interrelating user identifiers based at least in part on relationships established via the one or more work objects;

identifying a plurality of channel identifiers associated with each of the one or more work objects and identifying relationships among the plurality of channel identifiers associated with each of the one or more work objects, and wherein establishing the work graph data structure comprises interrelating channel identifiers based at least in part on relationships established via the one or more work objects; or

identifying a plurality of topics associated with each of the one or more work objects and identifying relationships among the plurality of topics associated with each of the one or more work objects, and wherein establishing the work graph data structure comprises interrelating topics based at least in part on relationships established via the one or more work objects.

13. The computer-implemented method of claim 9 , wherein the work graph establishes relationships among a plurality of work objects of different work object types.

14. The computer-implemented method of claim 9 , further comprising intaking one or more work objects received from one or more client devices for distribution via the group-based communication platform.

15. The computer-implemented method of claim 9 , further comprising executing a query function based at least in part on a query request received from a client device of the one or more client devices, wherein the query function comprises:

querying work objects based at least in part on the query request;

ranking one or more work objects based on relevance to the query request and based on relatedness between work objects as established within the work graph; and

transmit cache objects to the requesting client device indicative of the ranked work objects identified from the querying.

16. The computer-implemented method of claim 9 , further comprising generating a neural network for executing a search query based at least in part on the work graph.

17. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising an executable portion configured to cause a computer processor to:

intake one or more work objects from a validated external resource for distribution to one or more client devices via at least one of one or more group-based communication channels, wherein the one or more work objects comprise metadata and body content data;

determine a work object type for each of the one or more objects;

extract work object data from each of the one or more work objects, wherein the work object data extracted from each of the one or more work objects is identified based at least in part on the work object type, and wherein the work object data is extracted from the metadata and the body content data;

identify, based at least in part on the work object data, relationships established via each of the one or more work objects; and

establish, based at least in part on the relationships established via each of the one or more work objects; a work graph data structure interrelating one or more work objects shared via a group-based communication platform.

18. The computer program product of claim 17 , wherein the executable portion is further configured to cause the computer processor to identify, based at least in part on the metadata and the content data, one or more topics assigned to each of the one or more work objects.

19. The computer program product of claim 18 , wherein identifying one or more topics assigned to each of the one or more work objects comprises analyzing the metadata and the body content data of each of the one or more work objects using a term-frequency, inverse-document frequency analysis to identify relevant terms to be assigned as topics to each of the one or more work objects.

20. The computer program product of claim 17 , wherein identifying relationships established via each of the one or more work objects comprises at least one of:

identifying a plurality of user identifiers associated with each of the one or more work objects and identifying relationships among the plurality of user identifiers associated with each of the one or more work objects, and wherein establishing the work graph data structure comprises interrelating user identifiers based at least in part on relationships established via the one or more work objects;

identifying a plurality of channel identifiers associated with each of the one or more work objects and identifying relationships among the plurality of channel identifiers associated with each of the one or more work objects, and wherein establishing the work graph data structure comprises interrelating channel identifiers based at least in part on relationships established via the one or more work objects; or

identifying a plurality of topics associated with each of the one or more work objects and identifying relationships among the plurality of topics associated with each of the one or more work objects, and wherein establishing the work graph data structure comprises interrelating topics based at least in part on relationships established via the one or more work objects.

21. The computer program product of claim 17 , wherein the work graph establishes relationships among a plurality of work objects of different work object types.

22. The computer program product of claim 17 , wherein the executable portion is further configured to cause the processor to intake one or more work objects received from one or more client devices for distribution via the group-based communication platform.

23. The computer program product of claim 17 , wherein the executable portion is further configured to cause the processor to execute a query function based at least in part on a query request received from a client device of the one or more client devices, wherein the query function comprises:

querying work objects based at least in part on the query request;

ranking one or more work objects based on relevance to the query request and based on relatedness between work objects as established within the work graph; and

transmitting cache objects to the requesting client device indicative of the ranked work objects identified from the querying.

24. The computer program product of claim 17 , wherein the executable portion is further configured to cause the processor to generate a neural network for executing a search query based at least in part on the work graph.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2023
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE, INC.
Reel/Frame 064642/0564 →
MERGER Recorded Jul 29, 2021
From: SLACK TECHNOLOGIES, INC.
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057475/0404 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 49332/0349 Recorded Jul 19, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 057649/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2020
From: WAHL, MATTHEW; FLORIN, HUBERT; SCHEMERS, ROLAND; ELLIOTT, BRIAN; HAN, LYDIA; MCPHAIL, JAMES
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 052300/0626 →
PATENT SECURITY AGREEMENT Recorded May 30, 2019
From: SLACK TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 049332/0349 →