IP Library Granted Patent US 11,196,706
Granted Patent B2
US 11,196,706 · App. 16/413,947 · Granted Dec 7, 2021

Mediating creation and use of channels of a publish-subscribe service

Inventors: Julien Hoarau (Neutral Bay, AU); Jerome Touffe-Blin (Sydney, AU); Patrick Streule (Surry Hills, AU)
Assignees: ATLASSIAN PTY LTD.; ATLASSIAN INC.
H04L61/2069H04L63/06H04L63/08H04L65/4076H04L67/26
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,196,706
App. No.
16/413,947
Granted
Dec 7, 2021
Kind
B2
Abstract

In one embodiment, a computer-implemented method comprises storing, in one or more data repositories, a plurality of channel records, each channel record including a channel identification (ID) and channel status indicator; receiving, at a computing device, a join request for a client account to join a channel, the join request including a first channel ID; determining whether a channel record of the plurality of channel records stored in the one or more data repositories includes a channel ID that matches the first channel ID; in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first channel record that includes: the first channel ID and a channel status indicator set to active; receiving, at the computing device, a first notification from a programmed message transport service that a channel corresponding to the first channel ID is set to inactive; in response to receiving the first notification, updating the channel status indicator of the first channel record in the one or more data repositories to indicate that the channel is inactive; receiving, at the computing device, a first request to broadcast a message to a channel corresponding to the first channel ID; in response to receiving the first request to broadcast the message to the channel corresponding to the first channel ID, determining that the channel status indicator of the first channel record is set to inactive and blocking the broadcast of the message to the programmed message transport service.

Claims (68)

1. A computer-implemented data processing method comprising:

storing, in one or more data repositories, a plurality of channel records, each channel record including a channel identification (ID) and channel status indicator;

receiving, at a computing device, a join request for a client account to join a channel, the join request including a first channel ID;

determining whether a channel record of the plurality of channel records stored in the one or more data repositories includes a channel ID that matches the first channel ID;

in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first channel record that includes: the first channel ID and a channel status indicator set to active;

receiving, at the computing device, a first notification from a programmed message transport service that a channel corresponding to the first channel ID is set to inactive;

in response to receiving the first notification, updating the channel status indicator of the first channel record in the one or more data repositories to indicate that the channel is inactive;

receiving, at the computing device, a first request to broadcast a message to a channel corresponding to the first channel ID;

in response to receiving the first request to broadcast the message to the channel corresponding to the first channel ID, determining that the channel status indicator of the first channel record is set to inactive and blocking the broadcast of the message to the programmed message transport service.

2. The method of claim 1 , further comprising:

in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first authentication key that includes user authentication data for a channel in the programmed message transport service associated with the first channel record;

in response to determining that the channel status indicator of the first channel record is set to inactive, blocking the broadcast of the first authentication key to the programmed message transport service.

3. The method of claim 1 , wherein the channel status indicator set to active indicates that a respective channel in the programmed message transport service includes at least one open connection.

4. The method of claim 1 , wherein the channel status indicator set to inactive indicates that a respective channel in the programmed message transport service includes no open connections.

5. The method of claim 1 , further comprising:

receiving, at the computing device, a second notification from the programmed message transport service that a channel corresponding to the first channel ID is set to active;

in response to receiving the second notification, updating the channel status indicator of the first channel record in the one or more data repositories to indicate that the channel is active;

receiving, at the computing device, a second request to broadcast a message to a channel corresponding to the first channel ID;

in response to receiving the second request to broadcast the message to the channel corresponding to the first channel ID, determining that the channel status indicator of the first channel record is set to active and causing the broadcast of the message to the programmed message transport service.

6. The method of claim 5 , further comprising:

in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first authentication key that includes user authentication data for a channel in the programmed message transport service associated with the first channel record;

in response to determining that the channel status indicator of the first channel record is set to active, causing the broadcast of the first authentication key to the programmed message transport service.

7. A computer system comprising:

one or more processors;

one or more memories storing instructions which, when executed by the one or more processors, cause the one or more processors to perform:

storing, in one or more data repositories, a plurality of channel records, each channel record including a channel identification (ID) and channel status indicator;

receiving, at a computing device, a join request for a client account to join a channel, the join request including a first channel ID;

determining whether a channel record of the plurality of channel records stored in the one or more data repositories includes a channel ID that matches the first channel ID;

in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first channel record that includes: the first channel ID and a channel status indicator set to active;

receiving, at the computing device, a first notification from a programmed message transport service that a channel corresponding to the first channel ID is set to inactive;

in response to receiving the first notification, updating the channel status indicator of the first channel record in the one or more data repositories to indicate that the channel is inactive;

receiving, at the computing device, a first request to broadcast a message to a channel corresponding to the first channel ID;

in response to receiving the first request to broadcast the message to the channel corresponding to the first channel ID, determining that the channel status indicator of the first channel record is set to inactive and blocking the broadcast of the message to the programmed message transport service.

8. The system of claim 7 , further comprising:

in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first authentication key that includes user authentication data for a channel in the programmed message transport service associated with the first channel record;

in response to determining that the channel status indicator of the first channel record is set to inactive, blocking the broadcast of the first authentication key to the programmed message transport service.

9. The system of claim 7 , wherein the channel status indicator set to active indicates that a respective channel in the programmed message transport service includes at least one open connection.

10. The system of claim 7 , wherein the channel status indicator set to inactive indicates that a respective channel in the programmed message transport service includes no open connections.

11. The system of claim 7 , further comprising:

receiving, at the computing device, a second notification from the programmed message transport service that a channel corresponding to the first channel ID is set to active;

in response to receiving the second notification, updating the channel status indicator of the first channel record in the one or more data repositories to indicate that the channel is active;

receiving, at the computing device, a second request to broadcast a message to a channel corresponding to the first channel ID;

in response to receiving the second request to broadcast the message to the channel corresponding to the first channel ID, determining that the channel status indicator of the first channel record is set to active and causing the broadcast of the message to the programmed message transport service.

12. The system of claim 11 , further comprising:

in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first authentication key that includes user authentication data for a channel in the programmed message transport service associated with the first channel record;

in response to determining that the channel status indicator of the first channel record is set to active, causing the broadcast of the first authentication key to the programmed message transport service.

13. One or more non-transitory computer readable media storing one or more sequences of instructions which, when executed by one or more processors, cause:

storing, in one or more data repositories, a plurality of channel records, each channel record including a channel identification (ID) and channel status indicator;

receiving, at a computing device, a join request for a client account to join a channel, the join request including a first channel ID;

determining whether a channel record of the plurality of channel records stored in the one or more data repositories includes a channel ID that matches the first channel ID;

in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first channel record that includes: the first channel ID and a channel status indicator set to active;

receiving, at the computing device, a first notification from a programmed message transport service that a channel corresponding to the first channel ID is set to inactive;

in response to receiving the first notification, updating the channel status indicator of the first channel record in the one or more data repositories to indicate that the channel is inactive;

receiving, at the computing device, a first request to broadcast a message to a channel corresponding to the first channel ID;

in response to receiving the first request to broadcast the message to the channel corresponding to the first channel ID, determining that the channel status indicator of the first channel record is set to inactive and blocking the broadcast of the message to the programmed message transport service.

14. The one or more non-transitory computer readable media of claim 13 , the sequences of instructions including instructions that, when executed by the one or more processors, cause:

in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first authentication key that includes user authentication data for a channel in the programmed message transport service associated with the first channel record;

in response to determining that the channel status indicator of the first channel record is set to inactive, blocking the broadcast of the first authentication key to the programmed message transport service.

15. The one or more non-transitory computer readable media of claim 13 , wherein the channel status indicator set to active indicates that a respective channel in the programmed message transport service includes at least one open connection.

16. The one or more non-transitory computer readable media of claim 13 , wherein the channel status indicator set to inactive indicates that a respective channel in the programmed message transport service includes no open connections.

17. The one or more non-transitory computer readable media of claim 13 , the sequences of instructions including instructions that, when executed by the one or more processors, cause:

receiving, at the computing device, a second notification from the programmed message transport service that a channel corresponding to the first channel ID is set to active;

in response to receiving the second notification, updating the channel status indicator of the first channel record in the one or more data repositories to indicate that the channel is active;

receiving, at the computing device, a second request to broadcast a message to a channel corresponding to the first channel ID;

in response to receiving the second request to broadcast the message to the channel corresponding to the first channel ID, determining that the channel status indicator of the first channel record is set to active and causing the broadcast of the message to the programmed message transport service.

18. The one or more non-transitory computer readable media of claim 17 , the sequences of instructions including instructions that, when executed by the one or more processors, cause:

in response to determining that each channel record of the plurality of channel records does not include a channel ID that matches the first channel ID, creating and storing, in the one or more data repositories, a first authentication key that includes user authentication data for a channel in the programmed message transport service associated with the first channel record;

in response to determining that the channel status indicator of the first channel record is set to active, causing the broadcast of the first authentication key to the programmed message transport service.

Assignments (2)
CHANGE OF NAME Recorded Aug 5, 2022
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 061085/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2019
From: HOARAU, JULIEN; TOUFFE-BLIN, JEROME; STREULE, PATRICK
To: ATLASSIAN PTY LTD; ATLASSIAN, INC.
Reel/Frame 049198/0815 →
Continuity (2)
Provisional Application 62825411 · Mar 28, 2019
Related Publication 20200366643A1 · Nov 19, 2020