IP Library Granted Patent US 11,140,228
Granted Patent B2
US 11,140,228 · App. 16/519,603 · Granted Oct 5, 2021

Methods, apparatuses and computer program products for a group-based communication system interacting with remote resources for remote data objects

Inventors: Liza Gurtin (San Francisco, CA); Salman Suhail (San Francisco, CA); Michael Hahn (San Francisco, CA); Corey Baker (San Francisco, CA); Serry Park (San Francisco, CA); Sachin Ranchod (San Francisco, CA); Brian Stephen O'Neill (San Francisco, CA)
Assignee: Slack Technologies, LLC
H04L67/146H04L51/08H04L63/0807H04L65/403H04L67/2804H04L67/06
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,140,228
App. No.
16/519,603
Granted
Oct 5, 2021
Kind
B2
Abstract

Systems and methods provide managing of communication between a remote data object hosted by a remote resource and a group-based communication interface of a group-based communication system.

Claims (57)

1. An apparatus for managing communication between a remote data object hosted by a remote resource and a group-based communication interface of a group-based communication system, 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 at least one processor, cause the apparatus to at least:

receive a remote data object share request comprising a remote data object identifier associated with the remote data object, a group identifier associated with the group-based communication interface, and a share location identifier;

transmit a remote data object share notification to the remote resource, the remote data object share notification comprising the remote data object identifier; and

in response to transmitting the remote data object share notification,

receive from the remote resource remote data object metadata associated with the remote data object, and

automatically render a remote data object graphical representation associated with the remote data object to a share location of the group-based communication interface,

wherein the group-based communication interface comprises at least one of a group-based communication channel or a direct message interface,

wherein the share location is determined based on the share location identifier, and wherein the remote data object graphical representation is configured to facilitate user engagement of the remote data object.

2. The apparatus of claim 1 , wherein the share location identifier comprises at least one of a group-based communication channel identifier or a direct message identifier.

3. The apparatus of claim 1 , wherein the share location comprises at least one of a group-based communication channel associated with the group-based communication channel identifier or a direct message interface associated with the direct message identifier.

4. The apparatus of claim 1 , wherein the remote data object comprises at least one of a file, a call object, a task object, an event object or a calendar object.

5. The apparatus of claim 1 , wherein the remote data object share request further comprises a share user identifier.

6. The apparatus of claim 5 , wherein the non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to:

query local apparatus memory to identify locally stored data objects associated with the share user identifier;

query remote resource memory to identify remotely stored data objects associated with the share user identifier; and

render a user shared data object list to the group-based communication interface, wherein the user shared data object list comprises data object graphical representations associated with the locally stored data objects and the remotely stored data objects.

7. The apparatus of claim 6 , wherein the user shared data object list is ordered based on access recency.

8. The apparatus of claim 6 , wherein the user shared data object list is ordered based on the share location identifier.

9. The apparatus of claim 1 , wherein the remote data object metadata comprises a remote data object type identifier.

10. The apparatus of claim 9 , wherein the non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to:

query local apparatus memory to identify locally stored data objects associated with the remote data object type identifier;

query remote resource memory to identify remotely stored data objects associated with the remote data object type identifier; and

render a common object type list to the group-based communication interface, wherein the common object type list comprises data object graphical representations associated with the locally stored data objects and the remotely stored data objects.

11. The apparatus of claim 10 , wherein the common object type list is ordered based on access recency.

12. The apparatus of claim 10 , wherein the common object type list is ordered based on the share location identifier.

13. The apparatus of claim 1 , wherein the remote data object share notification, transmitted to the remote resource, comprises an authentication token authorizing the remote resource to communicate with the group-based communication system.

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

facilitate the user engagement of the remote data object in response to the remote resource validating the authentication token.

15. The apparatus of claim 1 , wherein the non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to:

in response to receiving a remote preview request for the remote data object, transmit a remote metadata request for the remote data object to the remote resource;

receive, from the remote resource, remote preview metadata for the remote data object,

generate, based on the remote preview metadata, a remote preview, and

automatically render the remote preview in response to the remote preview request.

16. The apparatus of claim 15 , wherein the remote preview metadata for the remote data object comprises remote preview markup data for the remote preview.

17. The apparatus of claim 15 , wherein the remote preview metadata for the remote data object comprises one or more access control parameters for the remote data object.

18. The apparatus of claim 1 , wherein determining the remote data object identifier comprises:

identifying a remote resource identifier for the remote data object;

determining, based on the remote resource identifier and a remote correlation table, a local identifier for the remote object; and

determining the remote data object identifier based on the local identifier.

19. A system for managing communication between a remote data object hosted by a remote resource and a group-based communication interface of a group-based communication system, the system comprising at least one repository and at least one server having 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 at least one processor, cause the system to at least:

receive a remote data object share request comprising a remote data object identifier associated with the remote data object, a group identifier associated with the group-based communication interface, and a share location identifier;

transmit a remote data object share notification to the remote resource, the remote data object share notification comprising the remote data object identifier; and

in response to transmitting the remote data object share notification,

receive from the remote resource, via the share application programming interface, remote data object metadata associated with the remote data object, and

automatically render a remote data object graphical representation associated with the remote data object to a share location of the group-based communication interface,

wherein the group-based communication interface comprises at least one of a group-based communication channel or a direct message interface,

wherein the share location is determined based on the share location identifier, and

wherein the remote data object graphical representation is configured to facilitate user engagement of the remote data object.

20. A computer-implemented method for managing communication between a remote data object hosted by a remote resource and a group-based communication interface of a group-based communication system, method comprising:

receiving, by at least one processor, a remote data object share request comprising a remote data object identifier associated with the remote data object, a group identifier associated with the group-based communication interface, and a share location identifier;

transmitting, by the at least one processor, a remote data object share notification to the remote resource, the remote data object share notification comprising the remote data object identifier; and

in response to transmitting the remote data object share notification,

receiving, by the at least one processor from the remote resource, remote data object metadata associated with the remote data object, and

automatically rendering, by the at least one processor, a remote data object graphical representation associated with the remote data object to a share location of the group-based communication interface,

wherein the group-based communication interface comprises at least one of a group-based communication channel or a direct message interface,

wherein the share location is determined based on the share location identifier, and

wherein the remote data object graphical representation is configured to facilitate user engagement of the remote data object.

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 Dec 10, 2019
From: GURTIN, LIZA; SUHAIL, SALMAN; HAHN, MICHAEL; BAKER, COREY; PARK, SERRY; RANCHOD, SACHIN; O'NEILL, BRIAN STEPHEN
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 051233/0107 →
Continuity (2)
Provisional Application 62722654 · Aug 24, 2018
Related Publication 20200068028A1 · Feb 27, 2020