IP Library Granted Patent US 10,715,610
Granted Patent B2
US 10,715,610 · App. 16/221,225 · Granted Jul 14, 2020

System, method, and apparatus for generating a third party resource usage map in a group based communication system

Inventors: Meagan Gamache (San Francisco, CA); Buster Benson (San Francisco, CA)
Assignee: Slack Technologies, Inc.
H04L67/20H04L63/0807H04L67/22H04L63/10
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,715,610
App. No.
16/221,225
Granted
Jul 14, 2020
Kind
B2
Abstract

Embodiments of the present disclosure provide methods, systems, apparatuses, and computer program products for generating a third party resource usage map in a group based communication system, where the third party resource usage map comprises a plurality of third party resource usage records and each third party resource usage record comprises a user identifier, a third party resource provider identifier, and a third party resource access token.

Claims (66)

1. A method for maintaining a third party resource usage map associated with a group-based communication system comprising a group-based communication server, a group-based communication repository, and a plurality of group-based communication channels, the third party resource usage map comprising a plurality of third party resource usage records, the method comprising:

receiving, from a first third party resource provider, a first third party resource access token, wherein the first third party resource access token is associated with a first third party resource provider identifier associated with the first third party resource provider;

transmitting, to the first third party resource provider, a first third party user account creation request comprising the first third party resource access token and first account creation instructions configured to cause the first third party resource provider to create a first third party user account associated with the first third party resource provider on behalf of a first client device associated with a first user identifier;

receiving, from the first third party resource provider, a first third party user account creation approval after the first third party resource provider has verified that the first third party resource access token is authorized for creating the first third party user account associated with the first third party resource provider on behalf of the first client device associated with the first user identifier;

generating a first new third party resource usage record associated with the first user identifier, the first new third party resource usage record comprising the first user identifier, the first third party resource provider identifier, and the first third party resource access token, wherein the first new third party resource usage record indicates the first user identifier is associated with the first third party user account created on behalf of the first client device associated with the first user identifier; and

adding the first new third party resource usage record to the third party resource usage map.

2. The method of claim 1 , further comprising:

receiving, from the first client device, a first third party resource access request, the first third party resource access request comprising the first user identifier and the first third party resource provider identifier associated with the first third party resource provider;

searching third party resource usage records associated with the first user identifier to determine if the first third party user account for access to a first third party resource created on behalf of the first client device associated with the first user identifier exists;

locating the first third party resource provider identifier within an indicative third party resource record associated with the first user identifier; and

transmitting the first third party resource access token to the first third party resource provider to enable the first client device to access a first third party resource provided by the first third party resource provider.

3. The method of claim 2 , wherein the first new third party resource usage record further comprises a first third party resource usage indicator associated with the first third party resource provider for tracking how the client device accesses the first third party resource.

4. The method of claim 1 , further comprising:

retrieving a subset plurality of third party resource usage records from the group-based communication repository, wherein each subset third party resource usage record is associated with a different user identifier within the group-based communication system; and

for those subset third party resource usage records not including a second third party resource provider identifier,

transmitting at least one access suggestion to at least one client devices associated with user identifiers that are associated with those third party resource usage records not including the second third party resource identifier, wherein each access suggestion comprises the second third party resource provider identifier and is configured to be rendered for displaying at the at least one client devices.

5. The method of claim 4 , further comprising:

receiving, from the first client device, a second third party resource access request in response to a particular access suggestion, the second third party resource access request comprising the first user identifier associated with the first client device and the second third party resource provider identifier;

transmitting a second third party user account creation request comprising a second third party resource access token to a second third party resource provider, wherein the second third party user account creation request is a request to create a second third party user account associated with the first user identifier on behalf of the first client device associated with the first user identifier;

receiving a second third party user account creation approval from the second third party resource provider in response to the second third party user account creation request;

generating a second new third party resource usage record associated with the first user identifier, wherein the second third party resource provider identifier and the first user identifier are added to the second new third party resource usage record; and

adding the second new third party resource usage record to the third party resource usage map.

6. The method of claim 5 , wherein the second third party resource usage record further comprises a group identifier.

7. The method of claim 6 , wherein each subset third party resource usage record of the subset plurality of third party resource usage records is associated with a common group identifier.

8. The method of claim 5 , wherein the second third party resource usage record further comprises a group-based communication channel identifier.

9. The method of claim 8 , wherein each subset third party resource usage record of the subset plurality of third party resource usage records is associated with a common group-based communication channel identifier.

10. The method of claim 5 , wherein the second third party resource usage record further comprises an organization identifier.

11. The method of claim 10 , wherein each subset third party resource usage record of the subset plurality of third party resource usage records is associated with a common organization identifier.

12. The method of claim 1 , further comprising:

receiving, from the first client device, a first third party resource access request, the first third party resource access request comprising the first user identifier and the first third party resource provider identifier associated with the first third party resource provider; and

searching third party resource usage records associated with the first user identifier to determine if the first third party user account for access to a first third party resource created on behalf of the first client device associated with the first user identifier exists,

wherein transmitting the first third party user account creation request comprising the first third party resource access token to the first third party resource provider is in response to search result data indicating a circumstance where the first third party resource provider identifier is not located within an indicative third party resource usage record associated with the first user identifier.

13. The method of claim 12 , wherein the first new third party resource usage record further comprises a first third party resource usage indicator associated with the first third party resource provider for tracking how the client device accesses the first third party resource.

14. An apparatus for maintaining a third party resource usage map associated with a group-based communication system comprising a group-based communication server, a group-based communication repository, and a plurality of group-based communication channels, the third party resource usage map comprising a plurality of third party resource usage records, the apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to:

receive, from a first third party resource provider, a first third party resource access token, wherein the first third party resource access token is associated with a first third party resource provider identifier associated with the first third party resource provider;

transmit, to the first third party resource provider, a first third party user account creation request comprising the first third party resource access token and first account creation instructions configured to cause the first third party resource provider to create a first third party user account associated with the first third party resource provider on behalf of a first client device associated with a first user identifier;

receive, from the first third party resource provider, a first third party user account creation approval after the third party resource provider has verified that the third party resource access token is authorized for creating the third party user account associated with the third party resource provider on behalf of the first client device associated with the first user identifier;

generate a first new third party resource usage record associated with the user identifier, the first new third party resource usage record comprising the first user identifier, the first third party resource provider identifier, and the first third party resource access token, wherein the first new third party resource usage record indicates the first user identifier is associated with the first third party user account created on behalf of the first client device associated with the first user identifier; and

adding the first new third party resource usage record to the third party resource usage map.

15. The apparatus of claim 14 , further caused to:

receive, from the first client device, a first third party resource access request, the first third party resource access request comprising the first user identifier and the first third party resource provider identifier associated with the first third party resource provider;

search third party resource usage records associated with the first user identifier to determine if the first third party user account for access to a first third party resource created on behalf of the first client device associated with the first user identifier exists;

locate the first third party resource provider identifier within an indicative third party resource record associated with the first user identifier; and

transmit a first third party resource access token to the first third party resource provider to enable the first client device to access a first third party resource provided by the first third party resource provider.

16. The apparatus of claim 15 , wherein the first new third party resource usage record further comprises a first third party resource usage indicator associated with the first third party resource provider for tracking how the client device accesses the first third party resource.

17. The apparatus of claim 14 , further caused to:

retrieve a subset plurality of third party resource usage records from the group-based communication repository, wherein each subset third party resource usage record is associated with a different user identifier within the group-based communication system; and

for those subset third party resource usage records not including a second third party resource provider identifier,

transmit at least one access suggestion to at least one client devices associated with user identifiers that are associated with those third party resource usage records not including the second third party resource identifier, wherein each access suggestion comprises the second third party resource provider identifier and is configured to be rendered for displaying at the at least one client devices.

18. The apparatus of claim 17 , further caused to:

receive, from the first client device, a second third party resource access request in response to a particular access suggestion, the second third party resource access request comprising the first user identifier associated with the first client device and the second third party resource provider identifier;

transmit a second third party user account creation request comprising a second third party resource access token to a second third party resource provider, wherein the second third party user account creation request is a request to create a second third party user account associated with the first user identifier on behalf of the first client device associated with the first user identifier;

receive a second third party user account creation approval from the second third party resource provider in response to the second third party user account creation request; and

generate a second new third party resource usage record associated with the first user identifier, wherein the second third party resource provider identifier and the first user identifier are added to the second new third party resource usage record; and

add the second new third party resource usage record to the third party resource usage map.

19. The apparatus of claim 18 , wherein the second third party resource usage record further comprises a group identifier.

20. The apparatus of claim 19 , wherein each subset third party resource usage record of the subset plurality of third party resource usage records is associated with a common group identifier.

21. The apparatus of claim 18 , wherein the second third party resource usage record further comprises a group-based communication channel identifier.

22. The apparatus of claim 21 , wherein each subset third party resource usage record of the subset plurality of third party resource usage records is associated with a common group-based communication channel identifier.

23. The apparatus of claim 18 , wherein the second third party resource usage record further comprises an organization identifier.

24. The apparatus of claim 23 , wherein each subset third party resource usage record of the subset plurality of third party resource usage records is associated with a common organization identifier.

25. The apparatus of claim 14 , further caused to:

receiving, from the first client device, a first third party resource access request, the first third party resource access request comprising the first user identifier and the first third party resource provider identifier associated with the first third party resource provider; and

searching third party resource usage records associated with the first user identifier to determine if a first third party user account for access to a first third party resource created on behalf of the first client device associated with the first user identifier exists,

wherein the apparatus is configured to transmit the first third party user account creation request comprising the first third party resource access token to the first third party resource provider in response to search result data indicating a circumstance where the first third party resource provider identifier is not located within an indicative third party resource usage record associated with the first user identifier.

26. The apparatus of claim 25 , wherein the first new third party resource usage record further comprises a first third party resource usage indicator associated with the first third party resource provider for tracking how the client device accesses the first third party resource.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: GAMACHE, MEAGAN; BENSON, BUSTER
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 052779/0912 →
PATENT SECURITY AGREEMENT Recorded May 30, 2019
From: SLACK TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 049332/0349 →