Automated load distribution for a group-based communication platform

US10506032B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10506032-B2
Application numberUS-201815963636-A
CountryUS
Kind codeB2
Filing dateApr 26, 2018
Priority dateApr 26, 2018
Publication dateDec 10, 2019
Grant dateDec 10, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Various embodiments are directed to systems and methods for automatically distributing loads among computing devices involved in message delivery within a group-based communication platform. Embodiments utilize a status checker to monitor the relative health and/or utilization of various channel servers each servicing a group-based communication channel for communication among a particular group of client devices. Upon detecting that one or more of the channel servers exhibit failing health characteristics, the status checker may automatically reallocate the messaging load performed by the failing channel server to other servers, thereby redefining the group-based communication channel associated with a particular group to encompass the newly assigned channel server and minimizing the impact of the failed channel server on message distribution within the group-based communication channel.

First claim

Opening claim text (preview).

That which is claimed: 1. A computer-implemented method for automated load allocation among a plurality of channel servers configured for data exchange within a group-based communication platform, the method comprising: monitoring health characteristics of a plurality of channel servers based at least in part on health data compiled by a status checker, wherein each of the plurality of channel servers synchronize communications between client devices of at least one group of client devices as defined based at least in part on a configuration key and wherein a plurality of gateway servers are subscribed with each of the channel servers based on a subscription; and upon detecting failing health characteristics of a failing channel server identified within the plurality of channel servers: establishing a lock between a first admin server of a plurality of admin servers and the configuration key; updating the configuration key via the first admin server to replace the failing channel server with a replacement channel server; and releasing the configuration key to implement the updated configuration key and to update the subscription of each of the plurality of gateway servers subscribed with the failing channel server to the replacement channel server. 2. The computer-implemented method of claim 1 , wherein the configuration key is stored within a memory associated with the status checker and is accessible to each of the plurality of admin servers. 3. The computer-implemented method of claim 1 , wherein each of the plurality of admin servers maintains a listing of active and failed channel servers, and wherein monitoring health characteristics of a plurality of channel servers comprises: updating the listing of active and failed channel servers maintained by each of the plurality of admin servers. 4. The computer-implemented method of claim 1 , wherein establishing the lock between the first admin server and the configuration key comprises: each of the plurality of admin servers attempting to establish a lock with the configuration key; and establishing the lock with the first admin server of the plurality of admin servers to prevent other admin servers from modifying the configuration key. 5. The computer-implemented method of claim 1 , wherein establishing the lock between the first admin server and the configuration key comprises: each of the plurality of admin servers attempting to establish a lock with the configuration key; establishing a lock with a second admin server of the plurality of admin servers; and upon detecting failing health characteristics of the second admin server, establishing a lock with the first admin server of the plurality of admin servers to prevent other admin servers from modifying the configuration key. 6. The computer-implemented method of claim 1 , wherein the replacement channel server is selected from a plurality of spare channel servers that are not in use for synchronizing communication between client devices. 7. A system for automated load allocation among a plurality of channel servers configured for data exchange within a group-based communication platform, the apparatus comprising: a plurality of admin servers, wherein each admin server comprises: one or more non-transitory memory storage areas; and one or more processors; and wherein the plurality of admin servers are collectively configured to: monitor health characteristics of a plurality of channel servers based at least in part on health data compiled by a status checker, wherein each of the plurality of channel servers synchronize communications between client devices of at least one group of client devices as defined based at least in part on a configuration key and wherein a plurality of gateway servers are subscribed with each of the channel servers based on a subscription; and upon detecting failing health characteristics of a failing channel server identified within the plurality of channel servers: establish a lock between a first admin server of the plurality of admin servers and the configuration key; update the configuration key via the first admin server to replace the failing channel server with a replacement channel server; and release the configuration key to implement the updated configuration key and to update the subscription of each of the plurality of gateway servers subscribed with the failing channel server to the replacement channel server. 8. The system of claim 7 , wherein the configuration key is stored within a memory associated with the status checker and is accessible to each of the plurality of admin servers. 9. The system of claim 7 , wherein each of the plurality of admin servers maintains a listing of active and failed channel servers within the one or more non-transitory memory storage areas, and wherein monitoring health characteristics of a plurality of channel servers comprises: updating the listing of active and failed channel servers maintained by each of the plurality of admin servers. 10. The system of claim 7 , wherein establishing the lock between the first admin server and the configuration key comprises: each of the plurality of admin servers attempting to establish a lock with the configuration key; and establishing the lock with the first admin server of the plurality of admin servers to prevent other admin servers from modifying the configuration key. 11. The system of claim 7 , wherein establishing the lock between the first admin server and the configuration key comprises: each of the plurality of admin servers attempting to establish a lock with the configuration key; establishing a lock with a second admin server of the plurality of admin servers; and upon detecting failing health characteristics of the second admin server, establishing a lock with the first admin server of the plurality of admin servers to prevent other admin servers from modifying the configuration key. 12. The system of claim 7 , wherein the replacement channel server is selected from a plurality of spare channel servers that are not in use for synchronizing communication between client devices. 13. A computer program product for automated load allocation among a plurality of channel servers configured for data exchange within a group-based communication platform, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising an executable portion configured to: monitor health characteristics of a plurality of channel servers based at least in part on health data compiled by a status checker, wherein each of the plurality of channel servers synchronize communications between client devices of at least one group of client devices as defined based at least in part on a configuration key and wherein a plurality of gateway servers are subscribed with each of the channel servers based on a subscription; and upon detecting failing health characteristics of a failing channel server identified within the plurality of channel servers: establish a lock between a first admin server of a plurality of admin servers and the configuration key; update the configuration key via the first admin server to replace the failing channel server with a replacement channel server; and release the configuration key to implement the updated configuration key and to update the subscription of each of the plurality of gateway servers subscribed with the failing channel server to the replacement channel server. 14. The computer-program product of claim 13 , wherein

Assignees

Inventors

Classifications

  • by checking functioning · CPC title

  • by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure · CPC title

  • using network fault recovery (ring fault isolation or reconfiguration in loop networks without recovery actions by a network management system H04L12/437) · CPC title

  • Reaction to server failures by a load balancer · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10506032B2 cover?
Various embodiments are directed to systems and methods for automatically distributing loads among computing devices involved in message delivery within a group-based communication platform. Embodiments utilize a status checker to monitor the relative health and/or utilization of various channel servers each servicing a group-based communication channel for communication among a particular grou…
Who is the assignee on this patent?
Slack Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1034. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 10 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).