IP Library Granted Patent US 11,586,584
Granted Patent B2
US 11,586,584 · App. 16/438,957 · Granted Feb 21, 2023

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

Inventors: Elizabeth Johnston (San Francisco, CA); Andrew King (San Francisco, CA); Myles Grant (San Francisco, CA)
Assignee: Salesforce, Inc.
G06F16/13G06F16/27G06Q10/10G06Q10/107H04L67/1097H04L67/01
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,586,584
App. No.
16/438,957
Granted
Feb 21, 2023
Kind
B2
Abstract

Computing systems, apparatuses, computer-implemented methods, and computer program products are disclosed for creating a shared communication channel in a group-based communication platform having a plurality of database shards. An example computer-implemented method includes generating a shared communication channel shard that is assigned a shared communication channel identification, a first set of shared communication channel attributes associated with a first group identification, and a second set of shared communication channel attributes associated with a second group identification. The method further includes generating first and second externally shared group-based shared communication channel interfaces based on the first and second sets of shared communication channel attributes, respectively. The method further includes transmitting the first and second externally shared group-based shared communication channel interfaces to a first client device associated with the first group identification and a second client device associated with the second group identification, respectively.

Claims (49)

1. A computing system associated with a group-based communication platform, wherein the computing system comprises:

communications circuitry configured to:

receive a message over a shared communication channel and from a first client device associated with a first group identification corresponding to a first organization;

determine a viewing privilege setting corresponding to the message, based at least in part on content of the message and an association of the message with the first group identification,

wherein the shared communication channel is associated with the first group identification and a second group identification associated with a second organization that is different than the first organization, and

wherein the first client device, a second client device associated with the first group identification, and one or more other client devices comprise client devices associated with the shared communication channel; and

message amplifier circuitry configured to:

generate a general message based at least in part on the message and the viewing privilege setting;

in response to a first determination that the viewing privilege setting is a private viewing privilege setting, (1) transmit the general message to a first subset of the client devices associated with the first group identification, wherein the first subset includes at least the first client device and the second client device, and (2) index a first storage message corresponding to the general message in a separate index associated with the first group identification, wherein the separate index limits access and rendering in a first shared communication interface to the client devices associated with the first group identification; and

in response to a second determination that the viewing privilege setting is a public viewing privilege setting, (1) transmit the general message to the client devices, and (2) index a second storage message corresponding to the general message in a shared index associated with the first group identification and the second group identification, wherein the shared index allows access and rendering in the first shared communication interface to the client devices associated with the first group identification and in a second shared communication interface to a second subset of the client devices associated with the second group identification.

2. The computing system of claim 1 , wherein individual client devices associated with the first subset are associated with at least one of the first group identification and not the second group identification.

3. The computing system of claim 1 , wherein the message is a first message and the viewing privilege setting is a first viewing privilege setting, and wherein the communications circuitry is further configured to receive, via the shared communication channel, a second message associated with a second viewing privilege setting; and

wherein the message amplifier circuitry is further configured to:

generate a second general message based on the second message and the second viewing privilege setting;

in response to a determination that the second viewing privilege setting is a different private viewing privilege setting, transmit the second general message to a different subset of the client devices; and

in response to a determination that the second viewing privilege setting is a public viewing privilege setting, transmit the second general message to the client devices.

4. The computing system of claim 3 , wherein the different private viewing privilege is associated with the second group identification, and wherein individual client devices associated with the different subset are associated with the second group identification.

5. The computing system of claim 3 , wherein the second viewing privilege setting is a different private viewing privilege setting, and wherein the message amplifier circuitry is further configured to, based at least in part on transmitting the second general message to the different subset, cause the general message to be rendered in a third shared communication interface of individual client devices associated with the different subset.

6. The computing system of claim 1 , wherein the group-based communication platform comprises a set of database shards, wherein the set of database shards comprises a database shard associated with the first group identification, and wherein the computing system comprises database circuitry configured to:

generate the first storage message based on the message and the viewing privilege setting; and

store the first storage message in the database shard.

7. The computing system of claim 1 , wherein the viewing privilege setting comprises the private viewing privilege setting, and wherein the general message is a private general message.

8. The computing system of claim 1 , wherein the viewing privilege setting comprises the public viewing privilege setting, and wherein the general message is a public general message.

9. The computing system of claim 1 , wherein the viewing privilege setting is the private viewing privilege setting, and wherein the message amplifier circuitry is further configured to, based at least in part on transmitting the general message to the first subset, cause the general message to be rendered in the first shared communication interface of individual client devices associated with the first subset.

10. The computing system of claim 1 , wherein the message comprises a body of the message and wherein an attachment associated with the message is associated with a different viewing privilege setting as the message.

11. A computer-implemented method comprising:

receiving, by communications circuitry associated with a shared communication channel, and from a first client device associated with a first group identification corresponding to a first organization, a message;

determining a viewing privilege setting corresponding to the message, based at least in part on content of the message and an association of the message with the first group identification,

wherein the shared communication channel is associated with the first group identification and a second group identification associated with a second organization that is different than the first organization, and

wherein the first client device, a second client device associated with the first group identification, and one or more other client devices comprise client devices associated with the shared communication channel;

generating, by message amplifier circuitry, a general message based at least in part on the message and the viewing privilege setting;

in response to a first determination that the viewing privilege setting is a private viewing privilege setting, (1) transmitting the general message to a first subset of the client devices associated with the first organization, wherein the first subset includes at least the first client device and the second client device, and (2) indexing a first storage message corresponding to the general message in a separate index associated with the first group identification, wherein the separate index limits access and rendering in a first shared communication interface to the client devices associated with the first group identification; and

in response to a second determination that the viewing privilege setting is a public viewing privilege setting, (1) transmitting the general message to the client devices, and (2) indexing a second storage message corresponding to the general message in a shared index associated with the first group identification and the second group identification, wherein the shared index allows access and rendering in the first shared communication interface to the client devices associated with the first group identification and in a second shared communication interface to a second subset of the client devices associated with the second group identification.

12. The computer-implemented method of claim 11 , wherein individual client devices associated with the first subset are also associated with the second group identification.

13. The computer-implemented method of claim 11 , further comprising based at least in part on transmitting the general message to the client devices associated with the first group identification, cause, by the message amplifier circuitry, the general message to be rendered in the first shared communication interface.

14. The computer-implemented method of claim 11 , wherein the viewing privilege setting is the private viewing privilege setting, and wherein the message amplifier circuitry is further configured to, based at least in part on transmitting the general message to the first subset, cause the general message to be rendered in the first shared communication interface of individual client devices associated with the first subset.

15. The computer-implemented method of claim 11 , wherein the message comprises a body of the message and wherein an attachment associated with the message is associated with a different viewing privilege setting as the message.

16. A computer program product comprising at least one non-transitory computer-readable storage medium storing computer-executable program code instructions that, when executed by processing circuitry of a computing system, cause the computing system to:

receive, over a shared communication channel, and from a first client device associated with a first group identification corresponding to a first organization, a message;

determine a viewing privilege setting corresponding to the message, based at least in part on content of the message and an association of the message with the first group identification,

wherein the shared communication channel is associated with the first group identification and a second group identification associated with a second organization that is different than the first organization, and

wherein the first client device, a second client device associated with the first group identification, and one or more other client devices comprise client devices associated with the shared communication channel;

generate, by message amplifier circuitry, a general message based at least in part on the message and the viewing privilege setting;

in response to a first determination that the viewing privilege setting is a private viewing privilege setting, (1) transmit the general message to a first subset of the client devices associated with the first group identification, wherein the first subset includes at least the first client device and the second client device, and (2) index a first storage message corresponding to the general message in a separate index associated with the first group identification, wherein the separate index limits access and rendering in a first shared communication interface to the client devices associated with the first group identification; and

in response to a second determination that the viewing privilege setting is a public viewing privilege setting, (1) transmit the general message to the client devices, and (2) index a second storage message corresponding to the general message in a shared index associated with the first group identification and the second group identification, wherein the shared index allows access and rendering in the first shared communication interface to the client devices associated with the first group identification and in a second shared communication interface to a second subset of the client devices associated with the second group identification.

17. The computer program product of claim 16 , wherein individual client devices associated with the first subset are associated with the first group identification and not the second group identification.

18. The computer program product of claim 16 , wherein individual client devices associated with the first subset are associated with the first group identification and the second group identification.

19. The computer program product of claim 16 , wherein the viewing privilege setting is the private viewing privilege setting, and wherein the message amplifier circuitry is further configured to, based at least in part on transmitting the general message to the first subset, cause the general message to be rendered in the first shared communication interface of individual client devices associated with the first subset.

20. The computer program product of claim 16 , wherein the message comprises a body of the message and wherein an attachment associated with the message is associated with a different viewing privilege setting as the message.

Assignments (4)
MERGER Recorded Nov 21, 2022
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE.COM, INC.
Reel/Frame 061972/0569 →
CHANGE OF NAME Recorded Nov 21, 2022
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 061972/0769 →
MERGER AND CHANGE OF NAME Recorded Oct 1, 2021
From: SLACK TECHNOLOGIES, INC.; SLACK TECHNOLOGIES, LLC
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057683/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2019
From: JOHNSTON, ELIZABETH; KING, ANDREW; GRANT, MYLES
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 049607/0570 →
Continuity (4)
Continuation 16206578 · Nov 30, 2018
Continuation In Part 15816925 · Nov 17, 2017
Continuation 15655634 · Jul 20, 2017
Related Publication 20190361841A1 · Nov 28, 2019
Cited By (3)
US 12,288,190 US 12,348,475 US 12,425,362