Data storage architecture for an enterprise communication system

US11269833B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11269833-B2
Application numberUS-201916419709-A
CountryUS
Kind codeB2
Filing dateMay 22, 2019
Priority dateNov 30, 2018
Publication dateMar 8, 2022
Grant dateMar 8, 2022

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 group-based data storage systems configured for maintaining data exchanged between client devices within channel-specific shards each corresponding with one or more group-identifiers to provide group-based access to those channel-specific shards and for applying group-specific policies for data stored within those channel-specific shards. Membership of particular users within particular groups and within particular channels may be monitored such that access to particular channel shards may be controlled based on group-memberships of the users, and access to data stored within particular channel shards may be controlled based on channel-memberships of the users.

First claim

Opening claim text (preview).

That which is claimed: 1. A group-based data storage system accessible by a plurality of client devices, the group-based data storage system comprising: a plurality of discrete memory storage databases, wherein each of the plurality of discrete memory storage databases are sharded into a plurality of data shards comprising channel-specific shards, wherein each of the plurality of channel-specific shards have an associated channel identifier; and a remote computing platform comprising at least a processor and a memory having computer-executable instructions thereon, wherein when executed by the processor, the computer-executable instructions cause the processor to: correlate each channel identifier with one or more group identifiers and control access to each of the plurality of channel-specific shards based at least in part on channel membership and group membership by: receiving an access request from a client device to access data stored on one or more channel-specific shards; determining a channel membership and a group membership for the client device; and providing the client device with access to data stored in one or more channel-specific shards having associated channel identifiers and group identifiers matching the channel membership for the client device and the group membership for the client device, wherein the computer-executable instructions further cause the processor to apply at least one group-specific policy to one or more channel-specific shards by: determining one or more group identifiers associated with the channel-specific shard; querying group-specific database shards corresponding to each of the one or more group identifiers associated with the channel-specific shard to identify at least one group-specific policy applicable to the channel-specific shards; and adjusting channel settings stored within the channel-specific shard to comply with the at least one group-specific policy. 2. The group-based data storage system of claim 1 , wherein a first channel-specific shard of the plurality of channel-specific shards has a plurality of corresponding group identifiers each associated with one of a plurality of groups, wherein the computer-executable instructions further cause the processor to: provide access to channel settings stored in the first channel-specific shard for client devices having membership in at least one of the plurality of groups. 3. The group-based data storage system of claim 1 , wherein the computer-executable instructions further cause the processor to: receive a channel query from the client device; provide the client device with a listing of one or more channels matching the channel query and stored within corresponding channel-specific shards having a corresponding group identifier matching the group membership for the client device. 4. The group-based data storage system of claim 1 , wherein determining the channel membership and the group membership for the client device comprises: determining a user identifier associated with the client device; querying a user-specific database shard corresponding with the user identifier to identify one or more channel identifiers and one or more group identifiers associated with the user identifier. 5. The group-based data storage system of claim 1 , wherein the computer-executable instructions further cause the processor to: provide a client device with access to data stored in a plurality of channel-specific shards having channel identifiers and group identifiers matching the channel membership for the client device and the group membership for the client device in real-time. 6. The group-based data storage system of claim 1 , wherein the at least one group-specific policy comprises at least one enterprise-based policy, and wherein: querying group-specific database shards comprises identifying one or more enterprise identifiers associated with each of the group-specific database shards; and adjusting channel settings comprises adjusting channel settings stored within the channel-specific shard to comply with the at least one enterprise-based associated with the one or more enterprise identifiers. 7. A method for managing a group-based storage system accessible via a plurality of client devices, the method comprising: sharding a plurality of discrete memory storage databases into a plurality of data shards comprising channel-specific shards, wherein each of the plurality of channel-specific shards have an associated channel identifier correlated with one or more group identifiers; and controlling access to each of the plurality of channel-specific shards by one or more client devices based at least in part on channel membership and group membership by: receiving an access request from a client device to access data stored on one or more channel-specific shards; determining channel membership and group membership for the client device; providing the client device with access to data stored in one or more channel-specific shards having associated channel identifiers and group identifiers matching the client device's channel membership and group membership, further comprising applying group-specific policies to one or more channel-specific shards by: determining one or more group identifiers associated with the channel-specific shard; querying group-specific database shards corresponding to each of the one or more group identifiers associated with the channel-specific shard to identify one or more group-specific policies applicable to the channel-specific shards; and adjusting channel settings stored within the channel-specific shard to comply with the one or more group-specific policies. 8. The method of claim 7 , wherein a first channel-specific shard of the plurality of channel-specific shards has a plurality of corresponding group identifiers each associated with one of a plurality of groups; and the method further comprises: providing access to channel settings stored in the first channel-specific shard for client devices having membership in at least one of the plurality of groups. 9. The method of claim 7 , further comprising: receiving a channel query from the client device; providing the client device with a listing of one or more channels matching the channel query and stored within corresponding channel-specific shards having a corresponding group identifier matching the client device's group membership. 10. The method of claim 7 , wherein determining channel membership and group membership for the client device comprises: determining a user identifier associated with the client device; querying a user-specific database shard corresponding with the user identifier to identify one or more channel identifiers and one or more group identifiers associated with the user identifier. 11. The method of claim 7 , further comprising: providing a client device with access to data stored in a plurality of channel-specific shards having channel identifiers and group identifiers matching the client device's channel membership and group membership in real-time. 12. The method of claim 7 , wherein the group-specific policies comprise enterprise-based policies, and wherein: querying group-specific database shards comprises identifying one or more enterprise identifiers associated with each of the group-specific database shards; and adjusting channel settings comprises adjusting channel settings stored within the channel-specific shard to comply with one or more enterprise-based policies associated with the one or more enterprise identifiers. 13. A computer program product for managing a group-based storage system accessible via a plur

Assignees

Inventors

Classifications

  • G06F16/252Primary

    between a Database Management System and a front-end application · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • User profiles · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Indexing structures · 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 US11269833B2 cover?
Various embodiments are directed to group-based data storage systems configured for maintaining data exchanged between client devices within channel-specific shards each corresponding with one or more group-identifiers to provide group-based access to those channel-specific shards and for applying group-specific policies for data stored within those channel-specific shards. Membership of partic…
Who is the assignee on this patent?
Slack Tech Inc, Slack Tech Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/252. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 08 2022 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).