IP Library Granted Patent US 10,498,549
Granted Patent B2
US 10,498,549 · App. 15/655,634 · Granted Dec 3, 2019

Method, apparatus and computer program product for generating externally shared communication channels

Inventors: Brenda Jin (San Francisco, CA); Sean Rose (San Francisco, CA); Myles Grant (San Carlos, CA); Elizabeth Johnston (San Francisco, CA); Andrew King (San Francisco, CA)
Assignee: SLACK TECHNOLOGIES, INC.
H04L12/1822G06F3/04817G06F16/13G06F16/27G06Q10/103H04L67/1097G06F3/0482H04L67/42
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,498,549
App. No.
15/655,634
Granted
Dec 3, 2019
Kind
B2
Abstract

Methods, apparatus and computer program product for creating an externally shared communication channel in a group-based communication platform are described herein. The group-based communication platform may have a plurality of database shards. A computer-implemented method may include receiving, from a first client device associated with an initiator group identification, a shared communication channel generation query associated with the initiator group identification and a target group identification; generating, in the group-based communication platform, a shared communication channel shard; transmitting, to a second client device associated with the target group identification, a shared communication channel acceptance request; receiving a shared communication channel acceptance notification; updating, in a main database, a shard referential table based on the initiator group identification, the target group identification, and the shared communication channel identification; and transmitting a shared communication channel interface of the shared communication channel based on the shared communication channel shard.

Claims (86)

1. A computer-implemented method for creating an externally shared communication channel in a group-based communication platform, the group-based communication platform having a plurality of database shards, the computer-implemented method comprising:

receiving, from a first client device associated with an initiator group identification, a shared communication channel generation query associated with the initiator group identification and a target group identification;

generating, in the group-based communication platform, a shared communication channel shard, wherein the shared communication channel shard is assigned a shared communication channel identification, and the group-based communication platform includes a first database shard associated with the initiator group identification and a second database shard associated with the target group identification;

transmitting, to a second client device associated with the target group identification, a shared communication channel acceptance request, wherein the shared communication channel acceptance request is associated with the shared communication channel identification;

receiving a shared communication channel acceptance notification, wherein the shared communication channel acceptance notification includes an electronic approval to associate the shared communication channel identification with the target group identification;

updating, in a main database, a shard referential table based on the initiator group identification, the target group identification, and the shared communication channel identification; and

transmitting, to each of the first client device and the second client device, an externally shared group-based shared communication channel interface of the shared communication channel based on the shared communication channel shard.

2. A computer-implemented method of claim 1 , wherein the shard referential table includes a first referential connection between the initiator group identification and the first database shard, and a second referential connection between the target group identification and the second database shard.

3. A computer-implemented method of claim 2 , wherein updating the shard referential table further includes:

identifying, based on the initiator group identification, the first referential connection in the shard referential table;

identifying, based on the target group identification, the second referential connection in the shard referential table; and

generating a third referential connection between the first referential connection, the second referential connection, and the shared communication channel identification.

4. A computer-implemented method of claim 1 , further comprising:

determining that the first client device and the second client device are each associated with a non-administrator status indicator;

transmitting, to a third client device associated with the initiator group identification and an initiator administrator status indicator, an initiator shared communication channel approval request;

transmitting, to a fourth client device associated with the target group identification and a target administrator status indicator, a target shared communication channel approval request;

receiving an initiator shared communication channel approval notification from the third client device; and

receiving a target shared communication channel approval notification from the fourth client device.

5. A computer-implemented method of claim 1 , further comprising:

determining that the first client device is associated with a non-administrator status indicator and the second client device is associated with a target administrator status indicator;

transmitting, to a third client device associated with the initiator group identification and an initiator administrator status indicator, an initiator shared communication channel approval request; and

receiving an initiator shared communication channel approval notification from the third client device.

6. A computer-implemented method of claim 1 , further comprising:

determining that the first client device is associated with an initiator administrator status indicator and the second client device is associated with a non-administrator status indicator;

transmitting, to the first client device, an initiator shared communication channel approval request;

transmitting, to a third client device associated with the target group identification and an target administrator status indicator, a target shared communication channel approval request;

receiving an initiator shared communication channel approval notification from the first client device; and

receiving a target shared communication channel approval notification from the third client device.

7. A computer-implemented method of claim 1 , wherein the first client device and the second client device are each associated with an administrator status indicator.

8. An apparatus for creating an externally shared communication channel in a group-based communication platform, the group-based communication platform having a plurality of database shards, the apparatus comprising at least one processor and at least one non-transitory memory including program code, the at least one non-transitory memory and the program code configured to, with the processor, cause the apparatus to at least:

receive, from a first client device associated with an initiator group identification, a shared communication channel generation query associated with the initiator group identification and a target group identification;

generate, in the group-based communication platform, a shared communication channel shard, wherein the shared communication channel shard is assigned a shared communication channel identification, and the group-based communication platform includes a first database shard associated with the initiator group identification and a second database shard associated with the target group identification;

transmit, to a second client device associated with the target group identification, a shared communication channel acceptance request, wherein the shared communication channel acceptance request is associated with the shared communication channel identification;

receive a shared communication channel acceptance notification, wherein the shared communication channel acceptance notification includes an electronic approval to associate the shared communication channel identification with the target group identification;

update, in a main database, a shard referential table based on the initiator group identification, the target group identification, and the shared communication channel identification; and

transmit, to each of the first client device and the second client device, an externally shared group-based shared communication channel interface of the shared communication channel based on the shared communication channel shard.

9. An apparatus of claim 8 , wherein the shard referential table includes a first referential connection between the initiator group identification and the first database shard, and a second referential connection between the target group identification and the second database shard.

10. An apparatus of claim 9 , wherein updating the shard referential table further includes:

identifying, based on the initiator group identification, the first referential connection in the shard referential table;

identifying, based on the target group identification, the second referential connection in the shard referential table; and

generating a third referential connection between the first referential connection, the second referential connection, and the shared communication channel identification.

11. An apparatus of claim 8 , wherein the at least one non-transitory memory and the program code configured to, with the processor, cause the apparatus to further:

determine that the first client device and the second client device are each associated with a non-administrator status indicator;

transmit, to a third client device associated with the initiator group identification and an initiator administrator status indicator, an initiator shared communication channel approval request;

transmit, to a fourth client device associated with the target group identification and a target administrator status indicator, a target shared communication channel approval request;

receive an initiator shared communication channel approval notification from the third client device; and

receive a target shared communication channel approval notification from the fourth client device.

12. An apparatus of claim 8 , wherein the at least one non-transitory memory and the program code configured to, with the processor, cause the apparatus to further:

determine that the first client device is associated with a non-administrator status indicator and the second client device is associated with a target administrator status indicator;

transmit, to a third client device associated with the initiator group identification and an initiator administrator status indicator, an initiator shared communication channel approval request; and

receive an initiator shared communication channel approval notification from the third client device.

13. An apparatus of claim 8 , wherein the at least one non-transitory memory and the program code configured to, with the processor, cause the apparatus to further:

determine that the first client device is associated with an initiator administrator status indicator and the second client device is associated with a non-administrator status indicator;

transmit, to the first client device, an initiator shared communication channel approval request;

transmit, to a third client device associated with the target group identification and an target administrator status indicator, a target shared communication channel approval request;

receive an initiator shared communication channel approval notification from the first client device; and

receive a target shared communication channel approval notification from the third client device.

14. An apparatus of claim 8 , wherein the first client device and the second client device are each associated with an administrator status indicator.

15. A computer program product for creating an externally shared communication channel in a group-based communication platform, the group-based communication platform having a plurality of database shards, the 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:

receive, from a first client device associated with an initiator group identification, a shared communication channel generation query associated with the initiator group identification and a target group identification;

generate, in the group-based communication platform, a shared communication channel shard, wherein the shared communication channel shard is assigned a shared communication channel identification, and the group-based communication platform includes a first database shard associated with the initiator group identification and a second database shard associated with the target group identification;

transmit, to a second client device associated with the target group identification, a shared communication channel acceptance request, wherein the shared communication channel acceptance request is associated with the shared communication channel identification;

receive a shared communication channel acceptance notification, wherein the shared communication channel acceptance notification includes an electronic approval to associate the shared communication channel identification with the target group identification;

update, in a main database, a shard referential table based on the initiator group identification, the target group identification, and the shared communication channel identification; and

transmit, to each of the first client device and the second client device, an externally shared group-based shared communication channel interface of the shared communication channel based on the shared communication channel shard.

16. A computer program product of claim 15 , wherein the shard referential table includes a first referential connection between the initiator group identification and the first database shard, and a second referential connection between the target group identification and the second database shard.

17. A computer program product of claim 16 , wherein updating the shard referential table further includes:

identifying, based on the initiator group identification, the first referential connection in the shard referential table;

identifying, based on the target group identification, the second referential connection in the shard referential table; and

generating a third referential connection between the first referential connection, the second referential connection, and the shared communication channel identification.

18. A computer program product of claim 15 , wherein the executable portion of the computer-readable program code portions is further configured to:

determine that the first client device and the second client device are each associated with a non-administrator status indicator;

transmit, to a third client device associated with the initiator group identification and an initiator administrator status indicator, an initiator shared communication channel approval request;

transmit, to a fourth client device associated with the target group identification and a target administrator status indicator, a target shared communication channel approval request;

receive an initiator shared communication channel approval notification from the third client device; and

receive a target shared communication channel approval notification from the fourth client device.

19. A computer program product of claim 15 , wherein the executable portion of the computer-readable program code portions is further configured to:

determine that the first client device is associated with a non-administrator status indicator and the second client device is associated with a target administrator status indicator;

transmit, to a third client device associated with the initiator group identification and an initiator administrator status indicator, an initiator shared communication channel approval request; and

receive an initiator shared communication channel approval notification from the third client device.

20. A computer program product of claim 15 , wherein the executable portion of the computer-readable program code portions is further configured to:

determine that the first client device is associated with an initiator administrator status indicator and the second client device is associated with a non-administrator status indicator;

transmit, to the first client device, an initiator shared communication channel approval request;

transmit, to a third client device associated with the target group identification and an target administrator status indicator, a target shared communication channel approval request;

receive an initiator shared communication channel approval notification from the first client device; and

receive a target shared communication channel approval notification from the third client device.

Assignments (6)
MERGER Recorded Jan 11, 2023
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE.COM, INC.
Reel/Frame 062354/0073 →
CHANGE OF NAME Recorded Jan 11, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062354/0100 →
MERGER AND CHANGE OF NAME Recorded Oct 1, 2021
From: SLACK TECHNOLOGIES, INC.; SLACK TECHNOLOGIES, LLC
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057683/0001 →
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 →
PATENT SECURITY AGREEMENT Recorded May 30, 2019
From: SLACK TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 049332/0349 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2017
From: JIN, BRENDA; ROSE, SEAN; GRANT, MYLES; JOHNSTON, ELIZABETH; KING, ANDREW
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 043596/0149 →
Continuity (1)
Related Publication 20190026298A1 · Jan 24, 2019