IP Library Granted Patent US 10,958,750
Granted Patent B2
US 10,958,750 · App. 17/020,352 · Granted Mar 23, 2021

Maintaining minimum interface functionality in an absence of a push-based communications connection in a group-based communication system

Inventors: James Scheinblum (San Francisco, CA); Jason Klym (San Francisco, CA)
Assignee: Slack Technologies, Inc.
H04L67/26H04L51/04H04L67/02H04L67/42H04W4/08
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,958,750
App. No.
17/020,352
Granted
Mar 23, 2021
Kind
B2
Abstract

Methods, systems, and apparatuses are provided for maintaining minimum interface functionality in an absence of a push based communications connection in a group-based communication system.

Claims (61)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by at least one processor, perform a method of providing near real-time interface functionality to a group-based communication system when it is determined that a real-time messaging communication connection is interrupted, the method comprising:

establishing a first communications connection between a client device and a first remote server,

wherein the first remote server is configured for transmitting in real time updated object data for the group-based communication system;

establishing a second communications connection between the client device and a second remote server,

wherein the second remote server is configured for receiving client-pull-based requests from the client device and, in response, transmitting tail data payloads to the client device;

transmitting a polling request to the second remote server requesting a tail data payload for each of one or more object identifiers;

receiving, from the second remote server, the tail data payload for each of the one or more object identifiers; and

in response to detecting an interruption in the first communications connection, rendering a subsequent group-based communications interface on the client device using at least a portion of the tail data payloads.

2. The media of claim 1 , wherein the computer-executable instructions are further executed to perform the steps of:

receiving user interaction inputs representative of electronic interactions with group-based communication interface objects; and

rendering the subsequent group-based communications interface based on the electronic interactions with the group-based communication interface objects and the updated object data.

3. The media of claim 1 ,

wherein the subsequent group-based communications interface is rendered for display using a first tail data payload subset selected from the tail data payload based on the updated object data, and

wherein a second tail data payload subset is utilized to render for display in the subsequent group-based communications interface a set of updated object data associated with updated content identifiers.

4. The media of claim 1 ,

wherein an object identifier of the one or more object identifiers is a group-based channel identifier, and

wherein the one or more object identifiers is transmitted as metadata associated with the updated object data.

5. The media of claim 1 , wherein the client device is subscribed to events associated with the one or more object identifiers such that when an event occurs, the updated object data is pushed to the client device.

6. The media of claim 1 , wherein the tail data payload for each of the one or more object identifiers comprises a record of a number of most recent object events associated with each of the one or more object identifiers.

7. The media of claim 1 , wherein the polling request comprises the one or more object identifiers, a client device identifier, and a timestamp.

8. A method of providing near real-time interface functionality to a group-based communication system when it is determined that a real-time messaging communication connection is interrupted, the method comprising:

establishing a first communications connection between a client device and a first remote server,

wherein the first remote server is configured for transmitting in real time updated object data for the group-based communication system;

establishing a second communications connection between the client device and a second remote server,

wherein the second remote server is configured for receiving client-pull-based requests from the client device and, in response, transmitting tail data payloads to the client device;

transmitting a polling request to the second remote server requesting a tail data payload for each of one or more object identifiers;

receiving, from the second remote server, the tail data payload for each of the one or more object identifiers; and

in response to detecting an interruption in the first communications connection, rendering a subsequent group-based communications interface on the client device using at least a portion of the tail data payloads.

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

receiving user interaction inputs representative of electronic interactions with group-based communication interface objects; and

rendering the subsequent group-based communications interface based on the electronic interactions with the group-based communication interface objects and the updated object data.

10. The method of claim 8 ,

wherein the subsequent group-based communications interface is rendered for display using a first tail data payload subset selected from the tail data payload based on the updated object data, and

wherein a second tail data payload subset is utilized to render for display in the subsequent group-based communications interface a set of updated object data associated with updated content identifiers.

11. The method of claim 8 ,

wherein an object identifier of the one or more object identifiers is a group-based channel identifier, and

wherein the one or more object identifiers is transmitted as metadata associated with the updated object data.

12. The method of claim 8 , wherein the client device is subscribed to events associated with the one or more object identifiers such that when an event occurs the updated object data is pushed to the client device.

13. The method of claim 8 , wherein the tail data payload for each of the one or more object identifiers comprises a record of a number of most recent object events associated with each of the one or more object identifiers.

14. The method of claim 8 , wherein the polling request comprises the one or more object identifiers, a client device identifier, and a timestamp.

15. A system for providing near real-time interface functionality to a group-based communication system when it is determined that a real-time messaging communication connection is interrupted, the system comprising:

a first communications connection between a client device and a first remote server,

wherein the first remote server is configured for transmitting in real time updated object data for the group-based communication system; and

a second communications connection between the client device and a second remote server,

wherein the second remote server is configured for receiving client-pull-based requests from the client device and, in response, transmitting tail data payloads to the client device,

wherein a polling request is transmitted to the second remote server requesting a tail data payload for each of one or more object identifiers,

wherein the tail data payload for each of the one or more object identifiers is received at the client device from the second server, and

wherein a subsequent group-based communications interface is rendered on the client device using at least portion of the tail data payloads.

16. The system of claim 15 ,

wherein interaction inputs are received via the client device,

wherein the interaction inputs are representative of electronic interactions with group-based communication interface objects, and

wherein the subsequent group-based communications interface is rendered based on the electronic interactions with the group-based communication interface objects and the updated object data.

17. The system of claim 15 ,

wherein the subsequent group-based communications interface is rendered for display using a first tail data payload subset selected from the tail data payload based on the updated object data, and

wherein a second tail data payload subset is utilized to render for display in the subsequent group-based communications interface a set of updated object data associated with updated content identifiers.

18. The system of claim 15 ,

wherein an object identifier of the one or more object identifiers is a group-based channel identifier,

wherein the one or more object identifiers is transmitted as metadata associated with the updated object data, and

wherein the client device is subscribed to events associated with the one or more object identifiers such that when an event occurs the updated object data is pushed to the client device.

19. The system of claim 15 , wherein the tail data payload for each of the one or more object identifiers comprises a record of a number of most recent object events associated with each of the one or more object identifiers.

20. The system of claim 15 , wherein the polling request comprises the one or more object identifiers, a client device identifier, and a timestamp.

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 Sep 14, 2020
From: SCHEINBLUM, JAMES; KLYM, JASON
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 053764/0448 →
Continuity (3)
Continuation 16670984 · Oct 31, 2019
Provisional Application 62755691 · Nov 5, 2018
Related Publication 20210006631A1 · Jan 7, 2021