IP Library Granted Patent US 11,553,015
Granted Patent B2
US 11,553,015 · App. 17/222,202 · Granted Jan 10, 2023

Progressive instantiation of workspaces for a group-based communication system

Inventors: Natalie Qabazard (Santa Rosa, CA); Anuj Nair (Berkeley, CA); Tyler Lewis (San Anselmo, CA); Drew Schuster (San Francisco, CA)
Assignee: Slack Technologies, LLC
H04L65/403G06N5/04G06N20/00G06Q10/06315G06Q10/101G06Q50/01H04L67/568
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,553,015
App. No.
17/222,202
Granted
Jan 10, 2023
Kind
B2
Abstract

Media, methods, and systems are disclosed for progressively instantiating workspaces for a group-based communication system. A request is received to load group-based communication system workspaces and begin receiving real-time events. The workspaces are classified into a plurality of priority and dormant workspaces. The priority workspaces are instantiated, and real-time events associated with the priority workspaces are transmitted to a group-based communication system. Real-time events are detected that trigger instantiation of dormant workspaces, and associated dormant workspaces added to the set of priority workspaces.

Claims (70)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, perform a method for progressively instantiating workspaces for a group-based communication system, the method comprising:

receiving, at a group-based communication server, via the group-based communication system, a request to load a plurality of workspaces, each workspace of the plurality of workspaces comprising one or more group-based communication channels and a plurality of associated content;

classifying, based on prior usage criteria, the plurality of workspaces into a plurality of priority workspaces and a plurality of dormant workspaces, wherein the plurality of dormant workspaces are different than the plurality of priority workspaces;

instantiating each of the plurality of priority workspaces in the group-based communication system;

transmitting, to the group-based communication system, real-time events associated with the plurality of priority workspaces without transmitting real-time events associated with the plurality of dormant workspaces;

determining, based on a machine learning model, that a first dormant workspace of the plurality of dormant workspaces will be a priority workspace; and

in response to the determining:

instantiating the first dormant workspace; and

adding the first dormant workspace to the plurality of priority workspaces and removing the first dormant workspace from the plurality of dormant workspaces, such that real-time events associated with the first dormant workspace are transmitted to the group-based communication system.

2. The non-transitory computer-readable media of claim 1 , the method further comprising:

detecting at the group-based communication server, a triggering real-time event associated with a triggered workspace of the plurality of dormant workspaces; and

in response to the detecting at the group-based communication server:

instantiating the triggered workspace; and

adding the triggered workspace to the plurality of priority workspaces and removing the triggered workspace from the plurality of dormant workspaces, such that real-time events associated with the triggered workspace are transmitted to the group-based communication system.

3. The non-transitory computer-readable media of claim 2 , wherein the triggering real-time event comprises a message that mentions a group-based communication system user associated with the triggered workspace.

4. The non-transitory computer-readable media of claim 2 , wherein the triggering real-time event comprises an advance triggering prediction based on the machine learning model and recent workspace activity associated with the triggered workspace.

5. The non-transitory computer-readable media of claim 4 , wherein the determining is associated with a user interaction with a triggering event.

6. The non-transitory computer-readable media of claim 1 , wherein the method further comprises:

monitoring workspace inactivity associated with each priority workspace of the plurality of priority workspaces to identify one or more inactive workspaces; and

in response to identifying the one or more inactive workspaces:

removing the one or more inactive workspaces from the plurality of priority workspaces and adding the one or more inactive workspaces to the plurality of dormant workspaces; and

evicting cache data associated with the one or more inactive workspaces from a workspace cache associated with the group-based communication system.

7. The non-transitory computer-readable media of claim 1 , the method further comprising:

uninstantiating a workspace of the plurality of priority workspaces; and

flushing at least a portion of a group-based communication cache associated with the workspace.

8. A method for progressively instantiating workspaces for a group-based communication system, the method comprising:

receiving, at a group-based communication server, via the group-based communication system, a request to load a plurality of workspaces, each workspace of the plurality of workspaces comprising one or more group-based communication channels and a plurality of associated content;

classifying, based on prior usage criteria, the plurality of workspaces into a plurality of priority workspaces and a plurality of dormant workspaces, wherein the plurality of dormant workspaces are different than the plurality of priority workspaces;

instantiating each of the plurality of priority workspaces in the group-based communication system;

transmitting, to the group-based communication system, real-time events associated with the plurality of priority workspaces without transmitting real-time events associated with the plurality of dormant workspace;

determining, based on a machine learning model, that a first dormant workspace of the plurality of dormant workspaces will be a priority workspace; and

in response to the determining:

instantiating the first dormant workspace; and

adding the first dormant workspace to the plurality of priority workspaces and removing the first dormant workspace from the plurality of dormant workspaces, such that real-time events associated with the first dormant workspace are transmitted to the group-based communication system.

9. The method of claim 8 , the method further comprising:

detecting at the group-based communication server, a triggering real-time event associated with a triggered workspace of the plurality of dormant workspaces; and

in response to the detecting at the group-based communication server:

instantiating the triggered workspace; and

adding the triggered workspace to the plurality of priority workspaces and removing the triggered workspace from the plurality of dormant workspaces, such that real-time events associated with the triggered workspace are transmitted to the group-based communication system.

10. The method of claim 9 , wherein the triggering real-time event comprises a message that mentions a group-based communication system user associated with the triggered workspace.

11. The method of claim 9 , wherein the triggering real-time event comprises an advance triggering prediction based on a machine learning the machine learning model and recent workspace activity associated with the triggered workspace.

12. The method of claim 11 , the determining is associated with a user interaction with a triggering event.

13. The method of claim 8 , wherein the method further comprises:

monitoring workspace inactivity associated with each priority workspace of the plurality of priority workspaces to identify one or more inactive workspaces; and

in response to identifying the one or more inactive workspaces:

removing the one or more inactive workspaces from the plurality of priority workspaces and adding the one or more inactive workspaces to the plurality of dormant workspaces; and

evicting cache data associated with the one or more inactive workspaces from a workspace cache associated with the group-based communication system.

14. The method of claim 8 , further comprising:

uninstantiating a workspace of the plurality of priority workspaces; and

flushing at least a portion of a group-based communication cache associated with the workspace.

15. A system comprising at least one processor and at least one non-transitory memory storing computer executable instructions that when executed by the at least one processor cause the system to carry out actions comprising:

receiving, at a group-based communication server, via a group-based communication system, a request to load a plurality of workspaces, each workspace of the plurality of workspaces comprising one or more group-based communication channels and a plurality of associated content;

classifying, based on prior usage criteria, the plurality of workspaces into a plurality of priority workspaces and a plurality of dormant workspaces, wherein the plurality of dormant workspaces are different than the plurality of priority workspaces;

instantiating each of the plurality of priority workspaces in the group-based communication system;

transmitting, to the group-based communication system, real-time events associated with the plurality of priority workspaces without transmitting real-time events associated with the plurality of dormant workspaces;

determining, based on a machine learning model, that a first dormant workspace of the plurality of dormant workspaces will be a priority workspace; and

in response to the determining:

instantiating the first dormant workspace; and

adding the first dormant workspace to the plurality of priority workspaces and removing the first dormant workspace from the plurality of dormant workspaces, such that real-time events associated with the first dormant workspace are transmitted to the group-based communication system.

16. The system of claim 15 , the actions further comprising:

detecting at the group-based communication server, a triggering real-time event associated with a triggered workspace of the plurality of dormant workspaces; and

in response to the detecting at the group-based communication server:

instantiating the triggered workspace; and

adding the triggered workspace to the plurality of priority workspaces and removing the triggered workspace from the plurality of dormant workspaces, such that real-time events associated with the triggered workspace are transmitted to the group-based communication system.

17. The system of claim 16 , wherein the triggering real-time event comprises a message that mentions a group-based communication system user associated with the triggered workspace.

18. The system of claim 16 , wherein the triggering real-time event comprises an advance triggering prediction based on the machine learning model and recent workspace activity associated with the triggered workspace.

19. The system of claim 18 , wherein the determining is associated with a user interaction with a triggering event.

20. The system of claim 15 , the actions further comprising:

uninstantiating a workspace of the plurality of priority workspaces; and

flushing at least a portion of a group-based communication cache associated with the workspace.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2021
From: QABAZARD, NATALIE; NAIR, ANUJ; LEWIS, TYLER; SCHUSTER, DREW
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 055823/0318 →
Continuity (1)
Related Publication 20220321615A1 · Oct 6, 2022