本開示は、添付の図面を参照してさまざまな実施形態をより完全に記載する。本明細書において、幾つかの実施形態が示され、記載されてはいるが、全ての実施形態が示され、記載されているわけではないことを理解されたい。実際、実施形態は、多くの異なる形態を取る場合があり、したがって、この開示は、本明細書で説明された実施形態に限定されるものとして解釈されるべきではない。むしろこれら実施形態は、この開示が適用されうる法的要件を充足するように提供される。全体を通して、同様の番号は、同様の要素を表す。
[概観]
グループベースコミュニケーションシステムのユーザー同士は、無数の方法で通信し得る。例えば、ユーザーは、1つ以上のグループベースコミュニケーションワークスペースのメンバーであってもよく、各グループベースコミュニケーションワークスペースは、定義されたメンバーリスト(すなわち、認証されたユーザープロファイルの定義されたリスト)を有する特定の組織グループまたはチーム専用である。この点で、グループベースコミュニケーションワークスペースのメンバーはそれぞれ、特定のグループ識別子および/または特定の組織識別子と関連付けられうる。
各グループベースコミュニケーションワークスペースは、複数のグループベースコミュニケーションチャネルを含み得る。関連付けられたグループベースコミュニケーションチャネルと対話するためにグループベースコミュニケーションインターフェイスにアクセスすると、ユーザーは(クライアントデバイスを介して)、グループベースコミュニケーションインターフェイス内にレンダリングされるべき1つ以上のメッセージングコミュニケーションを生成し、グループベースコミュニケーションサーバーに送信し得る。また、ユーザーは、特定のグループベースコミュニケーションチャネルの他のメンバーによりグループベースコミュニケーションチャンネルにポストされた1つ以上のメッセージングコミュニケーションを閲覧し、それに応答し、及び/又はそれら以外の方法でそれとインタラクトし得る。
グループベースコミュニケーションワークスペース及びグループベースコミュニケーションチャンネルの基本的な主義の一つは、招待された/許可されたユーザーだけがメンバーになれることである。よって、グループベースコミュニケーションチャンネル及び/又はグループベースコミュニケーションワークスペースのあるメンバーは、グループベースコミュニケーションチャンネル、ワークスペース、及び他のグループベースコミュニケーションリソースを管理する権限を付与された管理者ユーザーでなければならない。管理者ユーザーは、新しいメンバーの招待及び関連付けられたアクセス権について他のメンバーの代わりに判断を行えるような情報を与えられなければならない。例えば、管理者メンバーは、グループベースコミュニケーションワークスペース、グループベースコミュニケーションチャンネル、又は他のグループベースコミュニケーションリソースに参加又はアクセスするための内部及び外部ユーザーの招待の新しいリクエストを承認しなければならない。
例えば、Acme CorporationのユーザーAdrianが、Beta Brandsの他のユーザーLisa及びGlobal Logisticsの他のユーザーThomasと協働する又はデータを共有したい(例えばメッセージングコミュニケーションをやりとりしたい)とき、Adrianは、この目的のために、外部と共有されたコミュニケーションチャンネル(例えば#wholesale-strategy)を作成し得る。いったんLisa及びThomasについてのメンバーシップが、管理者が実施した許可(authorization)及び確認プロセスを通して検証される(validated)と、Adrian、Lisa、及びThomasは、外部と共有されたコミュニケーションチャンネル#wholesale-strategyを介して自由にコミュニケートし協働し得る。Acme Corporation、Beta Brands、Global Logistics及び/又は任意の他のオーガナイゼーションの複数のさらなるメンバーユーザーは、同様の管理者によって実施される許可及び確認プロセスを通して追加され得る。
グループベースコミュニケーションチャンネル及び関連付けられたグループベースコミュニケーションワークスペースにポストされた情報に対するプライバシープロトコルを維持することが望ましい。グループベースコミュニケーションチャンネル内でインタラクトするユーザーのオーガナイゼーション識別は、ある種のプライバシープロトコルについては、決定的なパラメータであり得る。例えば、ここで説明されるさまざまな実施形態は、オーガナイゼーションの管理者がデータ保持設定を、彼らのそれぞれのオーガナイゼーションのメンバーユーザーによってポストされたメッセージングコミュニケーションに適用することを可能にする。よって、Acme Corporationの管理者ユーザーは、Adrianによって#wholesale-strategyチャンネルにポストされたメッセージングコミュニケーションに適用されるデータ保持設定を確立し得て、一方で、Beta Brandsの管理者ユーザーは、Lisaによってポストされたメッセージングコミュニケーションに適用される、異なるデータ保持設定を確立し得る、等のようである。
ある実施形態では、管理者ユーザーは、グループベースコミュニケーションリソース共有リクエストを管理するためのグループベースコミュニケーションシステムから別個の独立した外部許可プロビジョニングサービスのような外部サービスを利用し得る。ある例では、外部許可プロビジョニングサービスは、メンバーオーガナイゼーションの代わりに、デジタルアイデンティティを作成、管理、承認、検証、及び削除するアイデンティティプロビジョニングサービス(IDP)として構成される。他の例では、外部許可プロビジョニングサービスは、メンバーオーガナイゼーションのためにワークフロー、プロジェクト、及びタスクを作成、追跡、及び管理するエンタープライズプロセス管理サービスとして構成される。
上記の例に戻れば、Acme Corporationの管理者ユーザーAdamは、Acme Corporationを代表して、全てのグループベースコミュニケーションリソース共有リクエストを管理するためにIDPを使用し得る。これには、上述のLisa及びThomasが#wholesale-strategyに参加するようAdrianが招待したことをレビューし承認することがもちろん含まれるだろう。
本開示のさまざまな実施形態は、外部承認アプリケーションプログラミングインターフェイス(API)を介して、許可リクエストを外部承認プロビジョニングサービスに送信し、外部承認プロビジョニングサービスからリソース共有応答イベントを受け取るよう構成された、改良されたグループベースコミュニケーション装置に関する。この外部承認APIは、Acme Corporationのグループベースコミュニケーションリソース共有リクエストを効率的に管理するために必要なデータ及び命令をAdamのIDPが取得するパイプである。重要なことには、本発明のさまざまな実施形態は、Adamのような管理者ユーザーが、例えば、そのような管理者ユーザーが彼らの好ましい外部承認プロビジョニングサービスを使わずにそのようなグループベースコミュニケーションリソースリクエストをグループベースコミュニケーションシステムのインターフェイスで直接に管理する代わりに、外部承認プロビジョニングサービスを通してグループベースコミュニケーションリソース共有リクエストを直接に管理できるようにする。
ある具体例では、グループベースコミュニケーションワークスペース及び/又はグループベースコミュニケーションチャンネル内のユーザーは、グループベースコミュニケーションシステムの実際のユーザーにはまだなっていない1つ以上のユーザーとコミュニケートし協働できることが望ましいかもしれない。例えば、前述の例に戻れば、Adrianは、より簡単に招待を送るために、及びそうでなければ、グループベースコミュニケーションシステムから外部ユーザーに直接にコミュニケートできるようにするために、彼のコンタクトリストをグループベースコミュニケーションシステムに導入したいかもしれない。重要なことに、Adrianのコンタクトリスト(ここでは外部ユーザーディレクトリコーパスと呼ばれる)には、グループベースコミュニケーションシステムのメンバーに既になっているAcme Corporationのユーザーが含まれるかもしれないが、ログオンをかつてしたことがなく、グループベースコミュニケーションシステム内でユーザープロフィールも持たない少なくとも1人の外部ユーザーも含まれるかもしれない。
例えば、Adrianのコンタクトリストは、Beta BrandsのFrancisの電子メールアドレスを含むが、Francisは、グループベースコミュニケーションシステムの許可されたユーザーではないかもしれない。これは、例えば、Adrianの招待の前には、特定のグループベースコミュニケーションチャンネル(#wholesale-strategy)のメンバーではないかもしれないが、グループベースコミュニケーションチャンネル(#foodtruck-frenzy、#john-hughes-film-reviews等)の彼女自身のセットに関与しているアクティブなグループベースコミュニケーションシステムユーザーであるBeta BrandsのLisaと場合と対照的である。
この状態では、Adrianがグループベースコミュニケーションシステムを用いてFrancisとコミュニケートできるのが望ましい。例えば、Adrianは、ステータスアップデートメッセージを#marketing-strategyチャンネルにポストし、Francisがメッセージを彼の好みの外部メッセージングリソース(例えばGoogleのGmail(登録商標))で受け取ることを確実にしつつ、一方で、Francisがグループベースメッセージングシステム及び/又はもし彼がそうしたいと望むなら#marketing-strategyチャンネルに参加する手段を与えられることを確実にしたいと思うかもしれない。この点でのFrancisの選択は、以下に詳述されるように、Acme Corporationの管理者ユーザーAdamによって管理される新しいメンバー加入プロトコルを起動し得る。
[定義]
ここで用いられるように「データ」、「コンテンツ」、「デジタルコンテンツ」、「デジタルコンテンツコンテンツオブジェクト」、「情報」という語、及び同様の語は、本開示の実施形態に従って送信、受信、及び/又は記憶されることが可能なデータを表すために相互交換的に用いられ得る。よって、任意のそのような語の使用は、本開示の実施形態の精神及び範囲を限定するように解釈されるべきではない。さらに、データを他の計算デバイスから受け取るための計算デバイスがここで記載されるが、このデータは、他の計算デバイスから直接に受け取られてもよく、又は、例えば、1つ以上のサーバー、リレー、ルータ、ネットワークアクセスポイント、基地局、ホスト、及び/又は同様のもののような、「ネットワーク」とここで呼ばれることもある、1つ以上の媒介する計算デバイスを介して間接的に受け取られてもよいことが理解されよう。同様に、計算デバイスは、他の計算デバイスにデータを送るようここでは記載されるが、このデータは、他の計算デバイスに直接に送信されてもよく、又は1つ以上の中間計算デバイスを介して、例えば1つ以上のサーバー、リレー、ルータ、ネットワークアクセスポイント、基地局、ホスト及び/又はその他を介して、間接的に送信されてもよいことが理解されるだろう。
「クライアントデバイス」という語は、サーバーによって利用可能にされたサービスにアクセスするよう構成されたコンピュータハードウェア及び/又はソフトウェアを表す。サーバーは、しばしば(いつもではないが)他のコンピュータシステム上にあり、その場合、クライアントデバイスは、ネットワークによってサービスにアクセスする。クライアントデバイスは、限定としてではなく、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ウェラブル機器、パーソナルコンピュータ、エンタープライズコンピュータ等を含み得る。
「ユーザー」という語は、個人、個人のグループ、ビジネス、オーガナイゼーション、及びそれらの類似物を表すと理解されるべきである。ここでいうユーザーは、クライアントデバイスを用いてグループベースコミュニケーションシステムにアクセスできるようにされる。グループベースコミュニケーションシステムのそれぞれのユーザーは、少なくとも1つの「グループ識別子」に関連付けられる。それぞれのグループ識別子は、グループがユニークに特定され得るデータの1つ以上のアイテムでありえる。例えばある実施形態では、グループ識別子は、64ビット符号なし整数として記憶され得て、外部では(メモリの外では)base-34でエンコードされた文字列として表現される。他の実施形態では、グループ識別子は、ASCII文字の組み合わせを含み得る。
「グループベース」は、規定されたグループのユーザー群にだけアクセス可能であるのに十分なセキュリティを有するシステム、チャンネル、コミュニケーション、メッセージ、又は仮想環境を表すためにここでは用いられている。このグループは、オーガナイゼーション又は商業エンタープライズのもののようなコモンアクセス信任状によって定義され得る。アクセスは、参加するための認証された要求又はあるグループメンバーユーザーから他の非メンバーユーザーに送信された参加するための招待によってさらに促進され得る。グループ又はチーム識別子(以下に定義される)は、データ、情報、メッセージ、ユーザー、グループベースコミュニケーションチャンネル等を、以下で定義されるグループベースコミュニケーションシステムの特定のグループと関連付けるために用いられる。
「グループベースコミュニケーションシステム」という語は、コミュニケーションソフトウェアプラットフォームと、複数のグループベースコミュニケーションワークスペース及び全ての関連付けられた機能をサポートし維持するよう構成された関連付けられたハードウェアとを表す。グループベースコミュニケーションシステムユーザーは、オーガナイゼーショングループに組織化され(例えば、異なる会社の従業員は、別のオーガナイゼーショングループ群であり得る)、それぞれのグループは、それぞれのグループベースコミュニケーションワークスペースを介してシステムとインタラクトする。例えば、そのグループベースコミュニケーションシステムは、とりわけ、Slack Corporationのグループベースコミュニケーションワークスペース及びACME Corporationのグループベースコミュニケーションワークスペースをサポートするかもしれない。例示的グループベースコミュニケーションシステムは、サポーティングサーバー、クライアントデバイス、及びサードパーティーリソースを備える。例示的グループベースコミュニケーションシステムは、Slack Technologies, Inc.によるSlack(登録商標)である。
「ユーザープロフィール」という語は、ユーザーと関連付けられた情報を表し、これには、例えば、ユーザー識別子、ロール識別子、そのユーザーがアクセスを認められているグループベースコミュニケーションチャンネルと関連付けられた1つ以上のグループベースコミュニケーションチャンネル識別子、そのユーザーが関連付けられているグループの1つ以上のグループ識別子、そのユーザーが任意のグループベースコミュニケーションチャンネルのオーナーであるかについての表示、そのユーザーが任意のグループベースコミュニケーションチャンネル制限を有するかについての表示、複数のメッセージ、絵文字、複数の会話、複数の会話トピックス、アバター、電子メールアドレス、実名(例えばJohn Doe)、ユーザー名(例えばjdoe)、パスワード、実名、時間帯、ステータス等が含まれる。ユーザープロフィール詳細は、例えば、そのユーザーのユーザー名及びパスワードを含むそのユーザーのログイン情報のようなユーザー資格情報(user credentials)のサブセット指定を含み得る。
ここで用いられるように、「ユーザー識別子」という語は、ユーザー及びこのユーザーの対応するユーザープロフィールがグループベースコミュニケーションシステム内で特定され得るデータの1つ以上のアイテムを表す。例えば、ユーザー識別子は、ASCIIテキスト、ポインタ、メモリアドレス、又は他のユニークな識別子を含み得る。
「役割識別子」は、ユーザーの役割が特定され得て、ユーザープロフィールと関連付けられ得るデータの1つ以上のアイテムを表す。ユーザーの役割は、グループベースコミュニケーションチャンネル内のユーザーのステータス、ユーザーもしくはグループに関連付けられた会社または他の種類の役割を表し得る。例えば、特定の商業組織に関連付けられたユーザーを含むチャネルは、「従業員」、「アソシエート」、「クライアント」、「スーパーバイザ」、「管理者」等の役割を含み得る。例えば、役割識別子は、ASCIIテキスト、ポインタ、メモリアドレス又は他のユニークな識別子を含み得る。
「チーム識別子」という語は、グループベースコミュニケーションシステム内のグループまたはワークスペースが特定され得るデータの1つ以上のアイテムを表す。例えば、チーム識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。チーム識別子は、あるグループベースコミュニケーションワークスペースに関連付けられたグループベースコミュニケーションチャネル、メッセージ、ファイル、メンバー等を、別のグループベースコミュニケーションワークスペースのものと区別するのに使用される。
「オーガナイゼーション識別子」という語は、グループベースコミュニケーションシステム内のオーガナイゼーションがユニークに特定され得るデータの1つ以上のアイテムを表す。実施形態において、ここで参照される異なるオーガナイゼーションは、異なる情報技術インフラストラクチャ(例えばネットワークセキュリティプロトコル、ファイヤーウォール)、管理者ユーザー、情報技術ポリシー、及びそれらの類似物を持つ異なるエンタープライズ又は会社(例えばAcme Corporation、Beta Brands等)を含み得る。例えば、オーガナイゼーション識別子は、ASCIIテキスト、ポインタ、メモリアドレス、及びそれらの類似物を含み得る。
「グループベースコミュニケーション装置」または「グループベースコミュニケーションサーバー」という語は、グループベースコミュニケーションシステムのさまざまなグループベースコミュニケーションワークスペース(以下で定義)へのアクセスを管理するように構成されているソフトウェアプラットフォームおよび関連するハードウェア(例えばサーバー等)を指す。グループベースコミュニケーション装置は、グループベースコミュニケーションシステムのアプリケーション製品ロジックにアクセスし、それを維持し、サポートし、グループベースコミュニケーションリポジトリのような1つ以上のデータリポジトリにアクセスするように構成されている。
「グループベースコミュニケーションワークスペース」という語は、グループベースコミュニケーションシステムとのユーザーインタラクションを促進するように構成されている仮想コミュニケーション環境を表す。各グループベースコミュニケーションワークスペースは、ユーザーの選択されたグループ、例えば、ビジネスまたはオーガナイゼーションの従業員のグループにとってアクセス可能であり、(以下で定義されるグループベースコミュニケーションインターフェイスとして)閲覧可能である(例えば、acme-global.slack.comと名付けられたAcme Corporationのワークスペースは、Acmeの従業員にはアクセス可能であり閲覧可能であろうが、beta-develop.slack.comと名付けられたBeta Brandsのグループベースコミュニケーションワークスペースは、Acmeの従業員にはアクセス可能でなく閲覧可能でもないであろう)。グループベースコミュニケーションワークスペースは、本明細書で定義された複数のグループベースコミュニケーションチャンネル(例えば、マーケティングチャンネル、販売チャンネル、会計チャンネル等)を含む。さまざまな実施形態では、共通グループ識別子(以下で定義)を共有するユーザープロフィールは、共通グループベースコミュニケーションワークスペースの一部を形成する。
「グループベースコミュニケーションインターフェイス」という語は、ユーザー(例えばグループメンバー)がグループベースコミュニケーションワークスペースを閲覧し、それと関係するように構成されている、グループベースコミュニケーションシステムのグラフィカルユーザーインターフェイスである。グループベースコミュニケーションインターフェイスは、グループベースコミュニケーションシステムにより提供されるデータ及び命令に基づいて、クライアントデバイスにレンダリングされる。いくつかの実施形態では、このようなデータおよび命令は、クライアントデバイス上で実行される専用ソフトウェアアプリケーションによって促進される。他の実施形態では、このようなデータおよび命令は、クライアントデバイス上で実行されるウェブブラウザを通じて提供される。それぞれのグループベースコミュニケーションインターフェイスは、サイドバーペイン及びメッセージペインを定義するように視覚的に構成されている。「サイドバーペイン」は、グループベースコミュニケーションチャンネル及び/又は共有グループベースコミュニケーションチャンネルのリストを表示するように構成されており、典型的には、グループで定義されたタイトル(以下で定義)によって整理される。「メッセージペイン」は、サイドバーペインからグループベースコミュニケーションチャンネルをユーザーが選択すると、グループベースコミュニケーションチャンネルの1つ以上のメッセージを表示するように構成されている。
「グループベースコミュニケーションチャンネル」という語は、チャンネルのメンバーのみが閲覧可能な、チャンネルメンバー(例えば、クライアントデバイスを使用して環境にアクセスしている検証された(validated)ユーザー)によりポストされたメッセージングコミュニケーションを表示するように構成されている仮想コミュニケーション環境又はフィードを表す。グループベースコミュニケーションチャンネルのフォーマットは、グループベースコミュニケーションチャンネルの異なるメンバーに対して異なって見える場合がある。しかし、グループベースコミュニケーションチャンネルのコンテンツ(すなわち、メッセージングコミュニケーション)は、グループベースコミュニケーションチャンネルの各メンバーに表示される。例えば、グループベースコミュニケーションチャンネルのコンテンツ(すなわち、メッセージングコミュニケーション)がグループベースコミュニケーションチャンネルのメンバー毎に変化しないように、グループベースメッセージングコミュニケーションの共通セットが、それぞれのグループベースコミュニケーションチャンネルの各メンバーに表示されることになる。グループベースコミュニケーションチャンネルは、典型的には、グループで定義されたタイトルに基づいて、グループベースコミュニケーションインターフェイスのサイドバー内でリスト形式で整理される。「グループで定義されたタイトル」は、グループベースコミュニケーションチャンネルの全てのメンバーにとっての共通の識別のためにグループベースコミュニケーションチャンネルが形成された時に考案され、記憶されたチャンネル名又はテキスト文字列である。多くの実施形態では、グループで定義されたタイトルは、グループメンバーが任意の関連付けられたグループベースコミュニケーションチャンネルの目的を容易に理解し得るように、グループ全体の命名法/手順に基づいて作成される。例示的なグループで定義されたタイトルには、#accounting-audit 2019、#accounting-payroll、#HR-onboarding procedure、#food truck frenzy等が含まれる。共有されたグループベースコミュニケーションチャンネルは、共有されたグループベースコミュニケーションチャンネルに関連付けられた各ユーザー識別子及び/又はグループ識別子についてユニークなグループで定義されたタイトルを有し得る。
「外部共有グループベースコミュニケーションチャンネル」という語は、異なるオーガナイゼーション又は商業エンタープライズと提携されたメンバーを有するグループベースコミュニケーションチャンネルを表す。この点で、外部で共有されたグループベースコミュニケーションチャンネルは、異なるオーガナイゼーション識別子に関連付けられたユーザーによりアクセス可能であり、閲覧可能である。外部共有グループベースコミュニケーションチャンネルは、少なくとも受信者オーガナイゼーション識別子及びグループベースコミュニケーションチャンネル識別子に関連付けられた共有承認インジケーションを追加するために、グループベースコミュニケーション装置が共有承認リポジトリを更新する場合において生成され得る。追加として又は代替として、共有承認リポジトリは、グループベースコミュニケーションリソース識別子に関連付けられた共有承認インジケーションを追加するために更新され得る。
「内部共有グループベースコミュニケーションチャンネル」という語は、同じオーガナイゼーション又は商業エンタープライズと提携されたメンバーを有するグループベースコミュニケーションチャンネルを表す。この点で、内部で共有されたグループベースコミュニケーションチャンネルは、共通のオーガナイゼーション識別子に関連付けられたユーザーによりアクセス可能であり、閲覧可能である。内部共有グループベースコミュニケーションチャンネルは、少なくとも受信者ユーザー識別子及びグループベースコミュニケーションチャンネル識別子に関連付けられた共有承認インジケーションを追加するために、グループベースコミュニケーション装置が共有承認リポジトリを更新する場合において生成され得る。追加として又は代替として、共有承認リポジトリは、グループベースコミュニケーションリソース識別子に関連付けられた共有承認インジケーションを追加するために更新され得る。
「グループベースコミュニケーションチャンネル識別子」又は「チャンネル識別子」という語は、グループベースコミュニケーションチャンネル又は共有グループベースコミュニケーションチャンネルが特定され得るデータの1つ以上のアイテムを表す。例えば、グループベースコミュニケーションチャンネル識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。
「メッセージングコミュニケーション」という語は、クライアントデバイスを使用して、ユーザーにより提供される電子的に生成された任意のデジタルコンテンツオブジェクトを表し、グループベースコミュニケーションチャンネル内で表示されるように構成されている。ある例では、メッセージングコミュニケーションは、グループベースコミュニケーションサーバーにより自動的に生成され得る。メッセージコミュニケーションは、ユーザーにより(クライアントデバイスを使用して)提供される任意のテキスト、画像、ビデオ、オーディオ又はそれらの組み合わせのようなメッセージデータを含み得る。例えば、ユーザーは、メッセージコンテンツとしてのメッセージングコミュニケーション内にテキストに加えて画像及びビデオのようなメッセージデータを含むメッセージングコミュニケーションを提供し得る。このような場合には、テキスト、画像、及びビデオがメッセージングコミュニケーションを構成する。グループベースコミュニケーションシステムのグループベースコミュニケーションチャンネルに送信され又はポストされた各メッセージングコミュニケーションは、送信ユーザー識別子、メッセージ識別子、グループ識別子、及びグループベースコミュニケーションチャンネル識別子を含むメッセージメタデータを含む。いくつかの実施形態では、メッセージメタデータは、送信ユーザーに関連付けられたオーガナイゼーション識別子及びメッセージングコミュニケーションがグループベースコミュニケーションチャンネルに送信された(すなわち送られた)又はポストされた時刻を特定するタイムスタンプも含む。前述の識別子のそれぞれは、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。メッセージメタデータに加えて、メッセージングコミュニケーションは、テキスト、画像、ファイル、ビデオ等を含むボディコンテンツデータも含む。
「送信ユーザー識別子」は、特定のユーザーによって送信される(すなわち、特定のユーザー、ユーザー識別子、又はユーザープロフィールに関連付けられたクライアントデバイスにより送信される)メッセージングコミュニケーション又はリクエスト、及び/又はグループベースコミュニケーションリソースに関連付けられた共有承認レビュープロセスを開始するよう構成されたリソース共有インターフェイスリクエストの集合体と関連付けられたユニークな識別子である。送信ユーザー識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。
「受信者エンティティ識別子」は、グループベースコミュニケーションリソースに関連付けられた共有承認レビュープロセスを開始するよう構成されたリソース共有インターフェイスリクエストに関連付けられたユニークな識別子である。受信者エンティティ識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。例示的受信者エンティティ識別子は、受信者ユーザー識別子及び受信者オーガナイゼーション識別子を含み得る。
グループベースコミュニケーションシステムのユーザーは、グループベースコミュニケーションチャンネルに参加し得る。あるグループベースコミュニケーションチャンネルは、そのユーザープロフィールに関連付けられた特定のオーガナイゼーショングループ識別子を有するユーザー(すなわちその組織のメンバーであるユーザー)は、グローバルにアクセス可能であり得る。あるグループベースコミュニケーションチャンネルへのアクセスは、指定されたグループのメンバーに制限されてもよく、それにより、グループベースコミュニケーションチャンネルは、そのユーザープロフィールに関連付けられた特定のグループ識別子を有するユーザーにアクセス可能である。グループベースコミュニケーションチャンネル識別子は、メッセージングコミュニケーションのためにアクセス制御を促進するために使用され得る(例えば、メッセージングコミュニケーションへのアクセスは、ユーザープロフィールに関連付けられたグループベースコミュニケーションチャンネル識別子を有するユーザー、又はグループベースコミュニケーションチャンネルに参加する能力を有するユーザーに制限され得る)。グループベースコミュニケーションチャンネル識別子は、メッセージングコミュニケーションのためのコンテキストを決定するのに使用され得る(例えば、グループベースコミュニケーションチャンネルで議論されたプロジェクトの記述のようなグループベースコミュニケーションチャンネルの記述は、グループベースコミュニケーションチャンネル識別子と関連付けられ得る)。
「メッセージメタデータ」という語は、メッセージングコミュニケーションを記述し、グループベースコミュニケーションシステム内でメッセージングコミュニケーションをインデクス付けし、レンダリングし、クエリし、又は整理するのに使用されるデータを表す。グループベースコミュニケーションシステムのグループベースコミュニケーションチャンネルに送信され又はポストされるそれぞれのメッセージングコミュニケーションは、以下を含むメッセージメタデータを含む。すなわち、送信ユーザー識別子、メッセージ識別子、グループ識別子、及びグループベースコミュニケーションチャンネル識別子を含むメッセージメタデータを含む。いくつかの実施形態では、メッセージメタデータは、送信ユーザー識別子及びメッセージングコミュニケーションが送られた又はポストされた時刻を特定するタイムスタンプに関連付けられたオーガナイゼーション識別子を含む。グラフィカルオブジェクトが、選択されたメッセージコミュニケーションに追加され又は添付される(例えば絵文字又はリアクションとして)時、グループベースコミュニケーションシステムは、そのような追加されたグラフィカルオブジェクトに関連付けられたグラフィカルオブジェクト識別子を、選択されたメッセージングコミュニケーションに関連付けられたメッセージメタデータに追加するように構成されている。
「グループベースコミュニケーションリソース」という語は、ユーザーがグループベースコミュニケーションのために利用及び/又は共有し得るグループベースコミュニケーションシステムによって提供される任意の要素を表す。グループベースコミュニケーションリソースの例としては、グループベースコミュニケーションワークスペース、グループベースコミュニケーションチャンネル、ダイレクトメッセージ、複数人(multiperson)ダイレクトメッセージ、グループベースコミュニケーションファイル、グループベースコミュニケーションデータオブジェクト、及び/又はそれらの類似物がある。「共有リソース(shared resource)」という語は、メンバーを有し、及び/又は同一の又は異なるオーガナイゼーション識別子と関係する(affiliated with)ユーザー識別子に関連付けられたグループベースコミュニケーションリソースを表す。この点で、共有グループベースコミュニケーションリソースは、類似の又は異なるグループ識別子、オーガナイゼーション識別子、及びそれらの類似物に関連付けられたクライアントデバイスを有するユーザーによってアクセス可能であり及び閲覧可能である。共有グループベースコミュニケーションリソースは、グループベースコミュニケーションリソース識別子及び受信者エンティティ識別子に関連付けられた共有承認インジケーションを少なくとも追加するためにグループベースコミュニケーション装置が共有承認リポジトリを更新する場合において生成され得る。
「グループベースコミュニケーションリソース識別子」という語は、グループベースコミュニケーションシステム内の特定のグループベースコミュニケーションリソースが特定され得るデータの1つ以上のアイテムを表す。例えばグループベースコミュニケーションリソース識別子は、ASCIIテキスト、ポインタ、メモリアドレス、及びそれらの類似物を含み得る。グループベースコミュニケーションリソースの例には、グループベースコミュニケーションチャンネル識別子、グループベースコミュニケーションワークスペース識別子、又はチーム識別子、及び/又はそれらの類似物が含まれる。
「チャンネル共有インターフェイスリクエスト」という語は、グループベースコミュニケーションチャンネルを共有する意図を示す、インターフェイス要素とのユーザーのエンゲージメントと同時にクライアントデバイスによって作成される要求又は命令を表す。チャネル共有インターフェイスリクエストは、チャンネル共有インターフェイスリクエストを開始したユーザーに関連付けられた送信ユーザー識別子、及び共有されるべきグループベースコミュニケーションチャンネルに関連付けられたグループベースコミュニケーションチャンネル識別子を含む。チャンネル共有インターフェイスリクエストは、グループベースコミュニケーションチャンネルを共有するためのターゲットであるユーザー及び/又はオーガナイゼーションに関連付けられた受信者エンティティ識別子も含む。チャンネル共有インターフェイスリクエストは、グループベースコミュニケーション装置をトリガして、グループベースコミュニケーションチャンネルへのアクセスを、受信者エンティティ識別子に関連付けられた受信者ユーザーと共有することにつながり得る共有承認プロセスを開始するよう構成される。
「リソース共有インターフェイスリクエスト」という語は、グループベースコミュニケーションリソースを共有する意図を示す、インターフェイス要素とのユーザーのエンゲージメントと同時にクライアントデバイスによって作成される要求又は命令を表す。リソース共有インターフェイスリクエストは、リソース共有インターフェイスリクエストを開始したユーザーに関連付けられた送信ユーザー識別子、及び共有されるべきグループベースコミュニケーションリソースに関連付けられたグループベースコミュニケーションリソース識別子を含む。リソース共有インターフェイスリクエストは、グループベースコミュニケーションチャンネルを共有するためのターゲットであるユーザー及び/又はオーガナイゼーションに関連付けられた受信者エンティティ識別子も含む。リソース共有インターフェイスリクエストは、グループベースコミュニケーション装置をトリガして、共有可能なグループベースコミュニケーションリソースの生成することにつながり得る共有承認プロセスを開始するよう構成される。ある例示的リソース共有インターフェイスリクエストは、チャンネル共有インターフェイスリクエストである。他の例は、ワークスペース、ファイル、ダイレクトメッセージ、及びそれらの類似物を対象にし得る。
「共有リソース招待リクエスト」という語は、外部承認プロビジョニングサービスからの承認インジケーションを含むリソース共有応答イベントを受け取ったことに応答してグループベースコミュニケーション装置によって生成される要求又は命令を表す。共有チャンネル招待リクエストは、リソース共有インターフェイスリクエストを開始したユーザーに関連付けられた送信ユーザー識別子、及び共有されるべきグループベースコミュニケーションリソースに関連付けられたグループベースコミュニケーションリソース識別子を含む。共有リソース招待リクエストは、グループベースコミュニケーションリソースを共有するターゲットである当該ユーザー及び/又はオーガナイゼーションに関連付けられた受信者エンティティ識別子も含む。別の言い方をすれば、共有リソース招待リクエストは、共有リソースのメンバーになるために受信者エンティティ(例えば受信者管理者ユーザーを通して管理される受信者ユーザー又は受信者オーガナイゼーション)が招待を検討するのに必要なデータ及び命令の全てを含む。
「許可リクエスト(authorization request)」という語は、送信ユーザー識別子に関連付けられたクライアントデバイスからリソース共有インターフェイスリクエストを受け取ったことに応答してグループベースコミュニケーション装置によって生成される要求又は命令を表す。許可リクエストは、グループベースコミュニケーションリソース識別子及び受信者エンティティ識別子を含む、リソース共有インターフェイスリクエストに含まれるデータに類似のデータを含む。許可リクエストは、外部承認プロビジョニングサービスに、又はある実施形態では、1つ以上の管理クライアントデバイスに提供される。ある実施形態では、許可リクエストに関連付けられたデータは、外部承認プロビジョニングサービスソフトウェアを用いて管理クライアントデバイスに許可インターフェイスの形態でレンダリングされ得る。
「許可インターフェイス」という語は、モーダル、ウィンドウ、メニュー、ペイン、又は外部承認プロビジョニングサービスによってレンダリングされ、許可リクエストに関連付けられてとられ得るべきアクションの管理者ユーザーによる選択を可能にするよう構成された他のグラフィカルユーザーインターフェイスエレメントを表す。ここで説明されるさまざまな実施形態では、グループベースコミュニケーション装置は、外部承認プロビジョニングサービスへの許可リクエストに関連付けられたデータ及び命令を提供することによって、そのようなサービスが、管理者ユーザーによるエンゲージメントのための許可インターフェイスをレンダリングすることを可能にするよう構成される。
「管理者ユーザー」という語は、グループベースコミュニケーションチャンネル又はワークスペース及び関連付けられたリソースを管理し、他のサブスクライバーに代わってさまざまなメンテナンスタスクについての決定を行う権限を有する、グループベースコミュニケーションチャンネル又はワークスペースのサブスクライバーを表す。例えば、管理者ユーザーは、コミュニケーションチャンネルを「パブリック」又は「プライベート」のどちらかに設定する権限を有し得る。他の例として、許可リクエストのようなリクエストを受け取る時、当該グループを代表してリクエストを受け入れる権限は管理者ユーザーだけが有する。ここで説明されるように管理者ユーザーは、ここで説明される外部承認プロビジョニングサービスを用いてオーガナイゼーションを代表して彼らの責任をしばしば管理する。
「管理者クライアントデバイス」という語は、サーバーによって利用可能にされるサービスにアクセスするよう構成されたコンピュータハードウェア及び/又はソフトウェアを表す。サーバーは、しばしば(いつもではないが)他のコンピュータシステムにあり、その場合、管理者クライアントデバイスは、ネットワークによってサービスにアクセスする。管理者クライアントデバイスは、これらに限定されないが、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ウェラブルデバイス、パーソナルコンピュータ、エンタープライズコンピュータ、及びそれらの類似物を含み得る。管理者クライアントデバイスは、管理者ユーザーに関連付けられたクライアントデバイスである。管理者クライアントデバイスは、管理者ユーザー識別子に関連付けられている。ここで説明されるさまざまな実施形態において、管理者クライアントデバイスは、ユーザーアクセス資格情報及びユーザーアイデンティティや、ユーザー共有リソースリクエスト、許可リクエストを管理し、リソース共有応答イベントの送信を開始するために外部承認プロビジョニングサービスにアクセスするよう構成される。
「グループベースコミュニケーションリポジトリ」という語は、1つ以上のグループベースコミュニケーションチャンネル及び他のグループベースコミュニケーションリソースに関連付けられたデータのようなデータが記憶されるメモリデバイスのような場所を表す。グループベースコミュニケーションリポジトリは、専用のデバイス及び/又はより大きいリポジトリの一部であり得る。グループベースコミュニケーションリポジトリは、動的に更新され得て、又は静的であり得る。例えば、テーブルデータは、共有リソースインターフェイスリクエストの生成及び/又はその共有リソースインターフェイスリクエストに関連付けられた確認インジケーションの生成と同時に、グループベースコミュニケーションリポジトリにアップロードされ得る。代替として、データは、生成と同時にはアップロードされなくてもよく、その代わりに、時間間隔に基づいて(例えば15分ごとにアップロードする)、ユーザーによる開始(例えばユーザーはアップロードを開始するためにボタンを押し得る)等のような、他のファクタに基づいてバッチでアップロードされ得る。グループベースコミュニケーションリポジトリは、データ及び関連付けられたエンゲージメントデータへの無許可のアクセスを制限するために、暗号化され得る。グループベースコミュニケーションリポジトリの一部は、任意のグループベースコミュニケーションリソースについての接続及び切断を追跡する「共有承認リポジトリ」に割当される。より具体的には、共有承認リポジトリは、それぞれのグループベースコミュニケーションリソースについての具体的なユーザー識別子及び/又はオーガナイゼーション識別子に相関関係のある共有承認インジケーション、共有拒否インジケーション、切断インジケーション、及び/又は再接続インジケーションを記憶するよう構成されたテーブルであり得る。
「共有承認インジケーション」という語は、グループベースコミュニケーション装置によって、グループベースコミュニケーションリポジトリの共有承認リポジトリに記憶されるフラグのようなインジケーターを表す。共有承認インジケーションは、グループベースコミュニケーションリソース識別子及び受信者エンティティ識別子又は外部ユーザー識別子に関連付けられている。共有承認インジケーションは、管理者クライアントデバイスからの承認インジケーションを受け取ったことに応答して、グループベースコミュニケーション装置によって記憶される。グループベースコミュニケーションリポジトリ内に共有承認インジケーションが存在することは、特定のグループベースコミュニケーションリソース識別子に関連付けられたグループベースコミュニケーションリソースが、受信者エンティティ識別子又は外部ユーザー識別子に関連付けられた1つ以上のユーザーと共有されていることを示す。「承認タイムスタンプ」という語は、共有リソース候補リクエストが1つ以上の管理者ユーザーによって承認された日付を表すデータを表す。ある実施形態では、共有承認インジケーションは、承認タイムスタンプを含む。
「共有拒否インジケーション」という語は、ある実施形態では、グループベースコミュニケーション装置によって、グループベースコミュニケーションリポジトリの共有承認リポジトリに記憶されるフラグのようなインジケーターを表す。共有拒否インジケーションは、グループベースコミュニケーションリソース識別子及び受信者エンティティ識別子又は外部ユーザー識別子に関連付けられている。共有拒否インジケーションは、管理者クライアントデバイスから拒否インジケーションを受け取ったことに応答して、グループベースコミュニケーション装置によって記憶される。グループベースコミュニケーションリポジトリにおける共有拒否インジケーションの存在は、特定のグループベースコミュニケーションリソース識別子に関連付けられたグループベースコミュニケーションリソースが、受信者エンティティ識別子又は外部ユーザー識別子に関連付けられた1人以上のユーザーと共有されるべきではないことを示す。「拒否タイムスタンプ」という語は、共有リソース候補リクエストが1人以上の管理者ユーザーによって承認された日付を表すデータを表す。ある実施形態では、グループベースコミュニケーション装置は、以前の共有承認インジケーションを単に削除することによって、共有拒否インジケーションを追加するよう共有承認リポジトリを更新し得る。換言すれば、共有承認リポジトリが「共有」及び「拒否」の状態の両方を示すために、別個のフラグ又はインジケーターは不要かもしれない。
「外部承認プロビジョニングサービス」という語は、招待の承認、アクセス資格情報管理、及び他のエンタープライズソフトウェアプロセス管理サービスを、1人以上のユーザー(例えば管理者ユーザー)に提供するためにグループベースコミュニケーション装置と通信するよう構成されたソフトウェアプログラム、アプリケーション、プラットフォーム、又はサービスを表す。外部承認プロビジョニングサービスは、グループベースコミュニケーションシステムのためのネイティブサービスではなく、グループベースコミュニケーションシステムをサポートするものとは別個で独立したコンパイルされたコードベースで又はリポジトリ上で動作する。ある実施形態では、ここで説明されたように構成された外部承認プロビジョニングサービスは、外部承認アプリケーションプログラムインターフェイス(API)を通してグループベースコミュニケーションシステムと通信し、及びグループベースコミュニケーションシステムは、外部承認プロビジョニングサービスと通信する。ある実施形態では、外部承認プロビジョニングサービスは、メンバーオーガナイゼーションに代わって、デジタルアイデンティティを作成、管理、認証、検証、及び削除するアイデンティティプロビジョニングサービス(IDP)として構成される。他の例では、外部承認プロビジョニングサービスは、メンバーオーガナイゼーションのためにワークフロー、プロジェクト、及びタスクを作成、追跡、及び管理するエンタープライズプロセス管理サービスとして構成される。
「許可確認(authorization confirmation)」という語は、共有リソース招待リクエストの受領に続いて、いったん受信者エンティティが共有リソースに参加することを承認したら、受信者エンティティクライアントデバイス(例えば特定の受信者ユーザー、特定の受信者オーガナイゼーションに関連付けられた管理者ユーザー等に関連付けられたクライアントデバイス)によって生成され、グループベースコミュニケーション装置に送信される要求又は命令を表す。ここで説明されるさまざまな実施形態では、許可確認は、受信者エンティティクライアントデバイスにレンダリングされた招待リクエストインターフェイスのエンゲージメントを通して、受信者エンティティユーザーが共有リソースへの参加の意図を示したことに応答して生成される。
「リソース共有応答イベント」という語は、管理者ユーザーが外部承認プロビジョニングサービスを用いてリソース共有インターフェイスリクエストに関連付けられた許可リクエストを承認又は拒否する状況において、外部承認プロビジョニングサービスによって生成され、外部承認APIを通してグループベースコミュニケーション装置に送信される要求又は命令を表す。外部承認プロビジョニングサービスが許可リクエストを受け取り、その外部承認プロビジョニングサービスに関連付けられた管理者ユーザーがその後、当該リクエストを承認又は拒否した後に、このリソース共有応答イベントはトリガされる。ある実施形態では、リソース共有応答イベントは、許可リクエストが承認されたことを示す承認インジケーション又は許可リクエストが拒否されたことを示す拒否インジケーションを含む。
「外部メッセージングリソース」という語は、クライアントデバイスを操作するユーザーに電子メッセージングサービスを提供するよう構成されたソフトウェアプログラム、アプリケーション、プラットフォーム、又はサービスを表す。ある実施形態では、外部メッセージングリソースは、クライアントデバイスを操作するユーザーに電子メール(「Eメール」)サービスを提供する外部電子メールリソースである。外部電子メールリソースは、電子メールクライアント、シンプルメールトランスファープロトコル(「SMTP」)サーバー、及びドメインネームサーバー(「DNS」)を含む。外部電子メールリソースは、送信ユーザー(「送信者」)が電子メールメッセージを受信ユーザー(「受信者」)に対して作成及び送信することを可能にする。それぞれの電子メールメッセージは、その電子フォーマット、送信者/受信者情報及び電子メール件名ラインを含む電子メールヘッダー、及びテキスト、画像、及び添付ファイルを含む電子メールボディを定義する電子メールエンベロープを含む。外部電子メールリソースは、グループベースコミュニケーション装置をサポートするものとは別個で独立した、コンパイルされたコードベース又はリポジトリ上で動作する。外部電子メールリソースは、1人以上のユーザーのいくつかの外部電子メールリソースエンティティに関連付けられ得る。
外部電子メールリソースの電子メールクライアントは、電子メールメッセージを作成及び送信するために送信者によって使用され得る。こうして電子メールメッセージテキスト及び添付物はSMTPサーバーに送信メールとしてアップロードされる。電子メールメッセージのコピーは、後で取得するために送信者に関連付けられた電子メール送信トレイに記憶される。SMTPサーバーは、DNSと通信して、電子メールヘッダーから引き出された受信者情報を用いて受信者電子メールサーバーを探す。いったんSMTPサーバーが受信者電子メールサーバーを見つけると、それは電子メールメッセージを受信者電子メールサーバーに転送する。次に受信者が電子メールクライアントにアクセスする時は、電子メールクライアントは、電子メール受信トレイインターフェイス内で受信者に提示するために、電子メールメッセージを受信者メールサーバーからダウンロードする。外部電子メールリソースは、電子メールサービスを提供することに関連したサービスを提供するよう構成されたプログラム、アプリケーション、プラットフォーム、又はサービスも含み得る。
ある実施形態では、外部メッセージングリソースは、電子ショートメッセージサービス(SMS)テキストメッセージサービスをクライアントデバイスを操作するユーザーに提供するよう構成された外部テキストメッセージングリソースである。外部テキストメッセージングリソースは、SMSテキストメッセージの送信及び受信が可能である移動局と無線システムとの間で、及び無線システムとクライアントデバイスとの間でSMSテキストメッセージをやりとりすることを可能にする。外部デバイスは、スマートフォン等の電話であり得る。外部テキストメッセージングリソースは、メッセージ入力の機能、管理機能、及びメッセージ送信機能からなる。これらの機能は、組み合わせられて外部テキストメッセージングリソースを構成する無線システム及びSMSメッセージセンターの間で分散される。SMSメッセージセンターは、無線システムとは別個であってもよく、又は物理的に統合されていてもよい。SMS入力機能は、インターフェイスを通してメッセージセンター及び移動局に提供される。ユーザーは、これらインターフェイスを用いて、SMSテキストメッセージ、宛先アドレス、及びさまざまな配信オプションを入力し得る。
外部メッセージングリソースは、グループベースコミュニケーションシステムからグループベースコミュニケーションメッセージに関連付けられた「メッセージデータ」を受け取り得る。コミュニケーションメッセージデータは、このデータを受け取るべき外部メッセージングリソースと整合性がある、テンプレート化された又は構造化されたテンプレート情報であり得る。コミュニケーションメッセージデータは、外部メッセージングリソースによってリンクされたメッセージオブジェクトとしてレンダリングされ得る。
「リンクされたメッセージオブジェクト」という語は、外部メッセージングリソースによる表示のためにフォーマットされ構造化されているが、グループベースコミュニケーションシステム内で新メンバーオンボーディングプロトコル(new member onboarding protocol)をトリガするよう構成された招待リクエストインターフェイスを含むメッセージオブジェクトを表す。このようにして、リンクされたメッセージオブジェクトは、2つのプラットフォーム、具体的には外部メッセージングリソース及びグループベースコミュニケーションシステムを効果的に接続又はリンクさせて共に動作するよう構成される。
「リンクされたメッセージエンゲージメントデータ」という語は、リンクされたメッセージオブジェクトに含まれるテキスト、絵文字、リンク又はそれらの類似物をレンダリングしようとする試みを表現するユーザー入力を反映するデータを表す。外部メッセージングリソースは、外部メッセージングリソースに関連付けられるメッセージングクライアントとのユーザーのエンゲージメントに基づいて、グループベースコミュニケーションシステムに許可確認を送信し得る。ある実施形態では、外部メッセージングリソースは、また、グループ識別子及びグループベースコミュニケーションチャンネル識別子を含む「外部メッセージデータ」をグループベースコミュニケーションシステムに送信し得る。グループベースコミュニケーションシステムは、外部メッセージデータをパースして、外部メッセージデータ内のグループベースコミュニケーションチャンネル識別子によって特定されたグループベースコミュニケーションチャンネルに対して、外部メッセージデータに基づいてグループベースコミュニケーションメッセージをグループベースコミュニケーションインターフェイス内にレンダリングし得る。
「外部ユーザーディレクトリコーパス」という語は、ユーザーコンタクトデータを含むユーザーコンタクトフォルダ又はリポジトリを表し、ここでユーザーコンタクトデータの中にリストされた少なくとも1つのユーザーは、少なくとも1つの外部ユーザー識別子に関連付けられている。外部ユーザーディレクトリコーパスは、特定のスポンサーユーザー識別子に関連付けられており、グループベースコミュニケーションシステムにインポートされ得る。ある実施形態では、外部ユーザーディレクトリコーパスは、外部メッセージングリソースからエクスポートされたコンタクト又はユーザーアドレスリストである。例えば、外部ユーザーディレクトリコーパスは、電子メールサービスによってエクスポートされたユーザーコンタクト情報のコンマで区切られた値のファイルであり得る。
「スポンサーユーザー識別子」という語は、外部ユーザーディレクトリコーパスをグループベースコミュニケーションシステムにインジェストすることを開始したユーザーに関連付けられたユーザー識別子を表す。外部ユーザーディレクトリコーパスのユーザーコンタクトデータは、外部ユーザー識別子、及び外部メッセージングリソースに関連付けられた電子メールアドレス、電話番号、及び/又は他のユニークな識別子のような外部メッセージングリソースアドレスを含み得る。ある実施形態では、外部ユーザーディレクトリコーパス内のそれぞれの外部メッセージングリソースアドレスは、同じドメイン(例えば同じ電子メールドメイン)に関連付けられている。外部ユーザーディレクトリコーパスは、スポンサーユーザー識別子に関連付けられたクライアントデバイスから受け取られる。外部ユーザーディレクトリコーパスは、スポンサーユーザー識別子及びグループベースコミュニケーションワークスペース識別子に関連付けられている。外部ユーザーディレクトリコーパスは、スポンサーユーザー識別子及びグループベースコミュニケーションワークスペース識別子に関連付けられてグループベースコミュニケーションリポジトリに記憶され得る。
「メッセージングコミュニケーションリクエスト」という語は、送信ユーザークライアントデバイスによって生成され、メッセージングコミュニケーションの生成に関連付けられた要求又は命令を表す。メッセージングコミュニケーションリクエストは、グループベースコミュニケーションインターフェイスのメッセージペインのユーザーエンゲージメントによってトリガされる。メッセージングコミュニケーションリクエストは、グループベースコミュニケーション装置に送信され、及びグループベースコミュニケーション装置によって受信される。グループベースコミュニケーション装置によるメッセージングコミュニケーションリクエストの受信は、サジェストされた受信者ユーザー識別子セットの生成をトリガする。ある実施形態では、メッセージングコミュニケーションリクエストは、送信ユーザークライアントデバイスによって表示されたグループベースコミュニケーションインターフェイスにレンダリングされたメッセージングコミュニケーション入力インターフェイスに関連付けられたユーザー入力に基づいて生成されたディレクトリクエリを含む。
「サジェストされた受信者ユーザー識別子セット」という語は、グループベースコミュニケーション装置によってメッセージングコミュニケーションリクエストが受け取られたことに応答してグループベースコミュニケーション装置によって生成された、1つ以上のユーザー識別子及び/又は外部ユーザー識別子のセットを表す。サジェストされた受信者ユーザー識別子セットは、外部ユーザーディレクトリコーパスから引き出された1つ以上の外部ユーザー識別子を含み得て、ある実施形態では、メッセージングコミュニケーションリクエストのディレクトリクエリに基づく。
「メッセージングコミュニケーション送信リクエスト」という語は、メッセージングコミュニケーションを送信することに関連付けられたインターフェイスエレメントとユーザーがクライアントデバイスにおいてエンゲージするとクライアントデバイスによって生成される要求又は命令を表す。メッセージングコミュニケーション送信リクエストは、グループベースコミュニケーション装置によって受信される。メッセージングコミュニケーション送信リクエストは、メッセージデータを含み得て、少なくとも1つのユーザー識別子又は外部ユーザー識別子に関連付けられている。
「外部ユーザー識別子」という語は、グループベースコミュニケーション装置に関連していないユーザーがグループベースコミュニケーションシステム内で特定され得るユニークな識別子の形態をとるデータの1つ以上のアイテムを表す。例えばユーザー識別子は、ASCIIテキスト、ポインタ、メモリアドレス、又は他のユニークな識別子を含み得る。
「外部メッセージングリソースアドレス」という語は、外部ユーザーディレクトリコーパスの外部ユーザーデータオブジェクトに関連付けられたアドレスを表す。グループベースコミュニケーション装置は、外部電子メールリソースによるリンクされたメッセージオブジェクトとしてのレンダリングのために、メッセージデータを外部メッセージングリソースアドレスへ送信する。ある実施形態では、外部メッセージングリソースアドレスは、電子メールアドレスであり得る。
「ダイレクトメッセージング入力インターフェイス」という語は、ダイレクトメッセージング入力インターフェイスのユーザーエンゲージメントによって、1つ以上のダイレクトメッセージ及び/又は複数人ダイレクトメッセージのメッセージデータを構築し、クライアントデバイスによるメッセージングコミュニケーション送信リクエストの生成をトリガすることを可能にするよう構成された、クライアントデバイスにおけるグループベースコミュニケーションインターフェイスにレンダリングされた、モーダル、ウィンドウ、メニュー、ペイン、又は他のグラフィカルユーザーインターフェイスエレメントを表す。
「メッセージングコミュニケーション入力インターフェイス」という語は、メッセージングコミュニケーション入力インターフェイスのユーザーエンゲージメントによって、1つ以上のメッセージングコミュニケーションのメッセージデータを構築し、クライアントデバイスによるメッセージングコミュニケーション送信リクエストの生成をトリガすることを可能にするよう構成された、クライアントデバイスにおけるグループベースコミュニケーションインターフェイスにレンダリングされた、モーダル、ウィンドウ、メニュー、ペイン、又は他のグラフィカルユーザーインターフェイスエレメントを表す。
「招待リクエストインターフェイス」という語は、外部メッセージングリソースによってレンダリングされたリンクされたメッセージングオブジェクトに含まれるボタン、ウィジェット、リンク、又は他のユーザーインターフェイスエレメントを表す。招待リクエストインターフェイスのユーザーエンゲージメントによって、外部電子メールリソースに関連付けられた新メンバーオンボーディングプロトコルが開始される。招待リクエストインターフェイスのユーザーエンゲージメントは、さらに、許可確認が生成されグループベースコミュニケーション装置に送信されるようにする。
例示的システムの概観
本開示の方法、装置及びコンピュータプログラム製品は、さまざまなデバイスの任意のものにより実現され得る。例えば、例示的な実施形態の方法、装置、及びコンピュータプログラム製品は、1つ以上のクライアントデバイスのような1つ以上のデバイスと通信するよう構成された、サーバー又は他のネットワークエンティティのようなネットワーク接続されたコンピューティングデバイス(例えばエンタープライズプラットフォーム)で実現され得る。追加として又は代替として、コンピュータデバイスは、パーソナルコンピュータ又はコンピュータワークステーションのような固定されたコンピューティングデバイスを含み得る。さらに、例示的な実施形態は、携帯デジタルアシスタント(PDA)、携帯電話、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルデバイス、又はこれらデバイスの任意の組み合わせのような、さまざまなモバイルデバイスのうちの任意のものによって実現され得る。
図1は、本開示の実施形態が動作し得る例示的なコンピューティングシステム100を示す。Adrian及びLisaのようなユーザーは、クライアントデバイス108を用いて通信ネットワーク112を介して、グループベースコミュニケーションシステム200にアクセスし得る。ある実施形態において、クライアントデバイス108は、1つ以上の管理者クライアントデバイス109、例えばAdamのような管理者ユーザーによって操作されるクライアントデバイスを含み得る。グループベースコミュニケーションシステム200は、少なくとも1つのグループベースコミュニケーションリポジトリ206と通信するグループベースコミュニケーション装置205を備え得る。ある実施形態では、グループベースコミュニケーションリポジトリ206は、共有承認リポジトリ206Aをさらに備え得る。
通信ネットワーク112は、有線又は無線のローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)等を例えば含む、任意の有線又は無線通信ネットワークと、それを実現するのに要求される任意のハードウェア、ソフトウェア及び/又はファームウェア(例えばネットワークルータ等のような)とを含み得る。例えば、通信ネットワーク112は、セルラー式電話、802.11、802.16、802.20、及び/又はWiMaxネットワークを含み得る。さらに、通信ネットワーク112は、インターネットのような公衆ネットワーク、イントラネット又はそれらの組み合わせのようなプライベートネットワークを含んでもよく、これには限定されないがTCP/IPベースのネットワーキングプロトコルを含む、現在利用可能な又は将来開発されるさまざまなネットワーキングプロトコルを利用し得る。例えば、ネットワーキングプロトコルは、グループベースコミュニケーションシステムの要求を満たすようにカスタマイズされ得る。いくつかの実施形態では、プロトコルは、ウェブソケットチャンネルを介して送信されるJSON(JavaScriptオブジェクトノーテーション)オブジェクトのカスタムプロトコルである。いくつかの実施形態では、プロトコルは、JSON over RPC(「リモートプロシージャコール」)、JSON over REST(「表現可能な状態の転送」)、HTTP(「ハイパーテキスト転送プロトコル」)等である。
グループベースコミュニケーション装置205は、1つのコンピュータ又はコンピュータ群として実現され得る。グループベースコミュニケーション装置205は、必ずしもこれらに限定されないが、クライアントデバイス108及び/又は管理者クライアントデバイス109を含むさまざまなソースからの電子データの受信を提供し得る。例えば、グループベースコミュニケーション装置205は、クライアントデバイス108により提供されるグループベースメッセージングコミュニケーションを受信及び送信するように動作可能であり得る。
グループベースコミュニケーションリポジトリ206及び共有承認リポジトリ206Aは、1つ以上のネットワーク接続型ストレージ(NAS)デバイスとして、又は1つ以上の別個のデータベースサーバーのようなデータ記憶装置として実現され得る。グループベースコミュニケーションリポジトリ206は、グループベースコミュニケーションシステム200の動作を促進するために、グループベースコミュニケーション装置205によりアクセスされ、かつ記憶される情報を含む。例えば、グループベースコミュニケーションリポジトリ206は、これらには限定されないが、複数のグループベースコミュニケーションチャンネル間で組織化された複数のメッセージングコミュニケーション、1名以上のユーザーに関連付けられたさまざまなデータ、グループベースコミュニケーションチャンネル及び/又はワークスペース、外部ユーザーディレクトリコーパス、及び/又はそれらの類似物を含み得る。ある例では、共有承認リポジトリ206Aは、これらには限定されないが、複数の共有承認インジケーション、共有拒否インジケーション、及び/又はそれらの類似物を含み得る。
クライアントデバイス108及び/又は管理者クライアントデバイス109は、上で定義された任意のコンピュータデバイスであり得る。クライアントデバイス108及び/又は管理者クライアントデバイス109からグループベースコミュニケーション装置205により受け取られる電子データは、さまざまな形態で、かつさまざまな方法を介して提供され得る。例えば、クライアントデバイス108及び/又は管理者クライアントデバイス109は、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、ネットブック、タブレットコンピュータ、ウェアラブルデバイス等を含み得る。
追加として、又は代替として、ある実施形態では、グループベースコミュニケーション装置205は、ソフトウェア、ハードウェア、又はこれらの組み合わせを介して、外部承認等を管理することについてここで開示された1つ以上の操作を実行するように構成され得る。例えばグループベースコミュニケーションサーバーは、外部承認プロビジョニングサービス110、管理者クライアントデバイス109、クライアントデバイス108及び/又は外部メッセージングリソース118にアクセス可能な、1つ以上のアプリケーションプログラミングインターフェイス(API)115を持つように構成され得る。
クライアントデバイス(例えばクライアントデバイス108及び/又は管理者クライアントデバイス109)が、スマートフォン又はタブレットのようなモバイルデバイスである実施形態では、クライアントデバイスは、グループベースコミュニケーションシステム200と対話するために「アプリ」を実行し得る。このようなアプリは、典型的には、タブレット又はスマートフォンのようなモバイルデバイス上で実行されるように設計される。例えば、アプリは、iOS(登録商標)、Android(登録商標)又はWindows(登録商標)のようなモバイルデバイスオペレーティングシステム上で実行されるように提供され得る。これらのプラットフォームは、典型的には、アプリがお互いと通信し、かつアプリがモバイルデバイスの特定のハードウェア及びソフトウェアコンポーネントと通信するのを可能にするフレームワークを提供する。例えば、上で命名されたモバイルオペレーティングシステムはそれぞれ、ロケーションサービス回路、有線及び無線ネットワークインターフェイス、ユーザーコンタクトならびに他のアプリケーションと対話するためのフレームワークを提供する。アプリの外部で実行されるハードウェア及びソフトウェアモジュールとの通信は、典型的には、モバイルデバイスオペレーティングシステムにより提供されるアプリケーションプログラミングインターフェイス(API)を介して提供される。
追加として又は代替として、クライアントデバイスは、ウェブブラウザを介して、グループベースコミュニケーションシステム200と対話し得る。また他の例として、クライアントデバイスは、グループベースコミュニケーションシステム200とインターフェイスするように設計されたさまざまなハードウェア又はファームウェアを含み得る。
ある実施形態では、グループベースコミュニケーションシステム200、1つ以上のクライアントデバイス108、及び/又は1つ以上の管理者クライアントデバイス109は、例えば通信ネットワーク112を通して1つ以上の外部承認プロビジョニングサービス110に接続され、又はそれと通信し得る。ある実施形態では、グループベースコミュニケーションシステム200は、外部承認API115を介して許可リクエストを外部承認プロビジョニングサービス110に送信し、及び外部承認API115を介して外部承認プロビジョニングサービスからリソース共有応答を受信することを行うよう構成され得る。例えば、ある実施形態では、自分の管理者クライアントデバイス109を通してAdamは、例えばAPI115に関連付けられた1つ以上のコマンドを通して、リソース共有インターフェイスリクエスト及び/又はそれらの類似物に関連付けられた許可リクエストを承認及び/又は拒否するために外部承認プロビジョニングサービスを利用し得る。例えば、Adrianは、自分のグループベースコミュニケーションチャンネル#wholesale-strategyにLisaが参加するようLisaが招待されるようにリクエストし得て、Adamは、許可リクエストを承認して、Lisaが#wholesale-strategyのメンバーになってこのチャンネルとインタラクトできるようにし得る。
例示的実施形態では、グループベースコミュニケーションシステム200は、1つ以上の外部メッセージングリソース118に接続され、又はそれと通信し得る。グループベースコミュニケーション装置205のようなグループベースコミュニケーションシステム200は、通信ネットワーク112を通して1つ以上の外部メッセージングリソース118と通信し得る。ある実施形態では、グループベースコミュニケーション装置205は、リンクされたメッセージオブジェクトとして外部メッセージングリソース118によってレンダリングするために、外部ユーザー識別子に関連付けられた外部メッセージングリソースアドレスへの、メッセージデータの送信を行い得る。換言すれば、上の例に続ければ、Adrianによって書かれたFrancisへのメッセージは、外部メッセージングリソースを通してFrancisの電子メールアドレスに送られ得る。
例示的なグループベースコミュニケーションシステム200のいくつかの実施形態では、メッセージングコミュニケーションは、クライアントデバイス108からグループベースコミュニケーションシステム200に送信され得る。さまざまな実現形態において、メッセージングコミュニケーションは、直接にクライアントデバイス108によって通信ネットワーク112を介して、グループベースコミュニケーションシステム200に送信され得る。このメッセージングコミュニケーションは、メッセージサーバー等のような中継点を介してグループベースコミュニケーションシステム200に送信され得る。例えば、クライアントデバイス108は、クライアントアプリケーション(例えばグループベースコミュニケーションアプリ)を実行しているデスクトップ、ラップトップ、タブレット、スマートフォン等であり得る。ある実現例において、メッセージングコミュニケーションは、メッセージ識別子、送信ユーザー識別子、グループ識別子、グループベースコミュニケーションチャンネル識別子、メッセージデータ(例えばテキスト、絵文字、画像、リンク)、添付物(例えばファイル)、メッセージ階層データ(例えばメッセージングコミュニケーションは、別のメッセージへの返信であり得る)、サードパーティのメタデータ等のようなデータを含み得る。
ある実施形態では、クライアントデバイス108(及び/又は管理者クライアントデバイス109)は、以下に提供されるように、エクステンシブルマークアップランゲージ(「XML」)でフォーマットされたデータを含む(セキュア)ハイパーテキストトランスファプロトコル(「HTTP(S)」)POSTメッセージの形式を実質的にとる、次の例示的なメッセージングコミュニケーションを提供し得る。
グループベースコミュニケーションシステム200は、グループベースコミュニケーションリポジトリ206におけるメッセージインデックス化及び記憶を促進するために、受信されたメッセージングコミュニケーションに基づいて記憶メッセージを作成し得る少なくとも1つのグループベースコミュニケーション装置205を含む。ある実現例において、記憶メッセージは、メッセージ識別子、グループ識別子、グループベースコミュニケーションチャンネル識別子、送信ユーザー識別子、トピック、応答、メッセージコンテンツ(すなわちメッセージデータ)、添付物、メッセージ階層データ、サードパーティのメタデータ、会話プリミティブデータ、及び/又はそれらの類似物のようなデータを含み得る。例えば、グループベースコミュニケーション装置205は、以下に提供されるように、XMLフォーマットされたデータを含むHTTP(S) POSTメッセージの形式を実質的にとる、次の例示的な記憶メッセージを提供し得る。
実施形態において、送信ユーザー識別子は、メッセージングコミュニケーションに関連付けられ得る。ある実現例において、メッセージングコミュニケーションに関連付けられたメッセージメタデータは、メッセージを送信したユーザーの送信ユーザー識別子を決定するために、パースされ得る(例えば、PHP-すなわち、Personal Home Page Toolsから導出されたスクリプト言語-コマンドを使用して)。
実施形態において、メッセージングコミュニケーションは、メッセージングコミュニケーションにおいて議論されたトピックを決定するためにパースされ得る(例えば、PHPコマンドを使用して)。例えば、メッセージ内のハッシュタグは、メッセージに関連付けられたトピックを示し得る。別の例では、特殊文字(例えば「@」)は、ユーザー識別子に関連付けられたテキストオブジェクトを示し得る。別の例では、メッセージングコミュニケーションは、メッセージングコミュニケーションに関連付けられたトピックを決定するために、分析されてもよく(例えば、それ自体により、会話プリミティブにおける他のメッセージングコミュニケーションと共に)、又はトピックモデリングのような機械学習技術を用いてパースされてもよい。
実施形態において、応答を示すデータは、メッセージングコミュニケーションと関連付けられ得る。例えば、他のユーザーによるメッセージングコミュニケーションへの応答は、応答(例えば、メッセージングコミュニケーションに関連付けられた絵文字のようなグラフィックオブジェクトの選択、メッセージに関連付けられた「いいね」ボタンの選択)、メッセージングコミュニケーションに埋め込まれたハイパーリンクのクリック、メッセージングコミュニケーションへのリプライ(例えば、メッセージングコミュニケーションに応答してグループベースコミュニケーションチャンネルにメッセージングコミュニケーションをポストする)、メッセージングコミュニケーションに関連付けられたファイルのダウンロード、あるグループベースコミュニケーションチャンネルから別のグループベースコミュニケーションチャンネルへのメッセージングコミュニケーションの共有、メッセージングコミュニケーションのピン止め、メッセージングコミュニケーションの星付け等を含み得る。ある実現例では、他のユーザーによるメッセージングコミュニケーションへの応答に関するデータは、メッセージングコミュニケーションに含ませることができ、そのメッセージングコミュニケーションは、応答を決定するために解析され得る(例えばPHPコマンドを使用して)。別の実現例では、メッセージングコミュニケーションへの応答に関するデータは、データベースから取得され得る。例えば、メッセージングコミュニケーションへの応答に関するデータは、次のものと類似のMySQLデータベースコマンドを介して取得され得る。
例えば、メッセージングコミュニケーションへの応答に関するデータは、メッセージングコミュニケーションについてコンテキスト(例えば、あるユーザーの観点からのメッセージングコミュニケーションのためのソーシャルスコア)を決定するために使用され得る。別の例では、メッセージングコミュニケーションへの応答に関するデータは、ユーザーに関するコンテキストを決定するために分析され得る(例えば、トピックにおけるユーザーの専門知識は、トピックに関するユーザーのメッセージングコミュニケーションへの応答に基づいて決定され得る)。
実施形態において、メッセージングコミュニケーションに添付物を含ませることができる。もし添付物があるなら、ファイルは、メッセージングコミュニケーションに関連付けられ得る。ある実現例において、メッセージングコミュニケーションは、添付物のファイル名を決定するためにパースされ得る(例えばPHPコマンドを使用して)。例えば、ファイルコンテンツを分析して、そのメッセージングコミュニケーションについてのコンテキストを決定し得る(例えば、特許ポリシー文書は、メッセージングコミュニケーションがトピック「特許」と関連付けられていることを示し得る)。
実施形態において、メッセージメタデータは、メッセージングコミュニケーションに関連付けられ得る。例えば、メッセージメタデータは、会社、グループ、グループベースコミュニケーションワークスペース、グループベースコミュニケーションチャンネル等に固有のメッセージングコミュニケーション又はユーザーに関する追加のコンテキストを提供し得る。ある実現例において、メッセージングコミュニケーションは、メッセージメタデータを決定するためにパースされ得る(例えばPHPコマンドを使用して)。例えば、メッセージメタデータは、メッセージングコミュニケーションを送信したユーザーがグループベースコミュニケーションチャンネルの許可された代表者であるかを示し得る(例えば、許可された代表者は、グループベースコミュニケーションチャンネルにおける質問に応答することを会社により許可され得る)。
実施形態において、会話プリミティブは、メッセージングコミュニケーションと関連付けられ得る。ある実現例において、会話プリミティブは、メッセージングコミュニケーションを分析し、記憶する等のために使用される要素である。例えば、メッセージングコミュニケーションは、それ自身が分析されてもよく、それ自身の会話プリミティブを形成してもよい。別の例では、メッセージングコミュニケーションは、会話を構成する他のメッセージングコミュニケーションと共に分析されてよく、会話を構成するメッセージングコミュニケーションは、会話プリミティブを形成してもよい。ある実現例では、会話プリミティブは、当該メッセージングコミュニケーション、特定の個数(例えば2個)の先行メッセージングコミュニケーション及び特定の個数(例えば2個)の後続メッセージングコミュニケーションとして決定され得る。別の実現例では、会話プリミティブは、当該メッセージングコミュニケーション及び他のメッセージングコミュニケーションで議論されているトピック(例えばグループベースコミュニケーションチャンネルにおいて)及び/又はこれらメッセージの近接性(例えばメッセージングコミュニケーション送信順序の近接性、メッセージングコミュニケーション送信時刻の近接性)の分析に基づいて決定され得る。
[本開示の実施形態を実現するための例示的な装置]
グループベースコミュニケーション装置205は、図2に示したグループベースコミュニケーション装置205のような1つ以上のコンピューティングシステムによって実現され得る。グループベースコミュニケーション装置205は、プロセッサ202、メモリ204、入力/出力回路203、通信回路208、グループベースコミュニケーション回路210、ディレクトリインジェスチョン回路212、及び共有リソース回路215を含み得る。本装置205は、回路203、208、210、212、及び215のうちの1つ以上を使用して、ここで記載された操作を実行するように構成され得る。
これら要素は、機能的な限定について説明されているが、そのような具体的な実現例は、必然的に特定のハードウェアの使用を伴うことを理解されたい。また、ここで記載されたある要素は、同様の、つまり共通のハードウェアを含み得ることも理解されたい。例えば、2セットの回路は、同じプロセッサ、ネットワークインターフェイス、記憶媒体等を共に利用して、それらの関連する機能を実行し得て、その結果、それぞれのセットの回路について重複するハードウェアは必要とされない。したがって、ここで用いられるように本装置の要素についての「回路」という語の使用は、ここで記載された特定の回路に関連付けられた機能を実行するように構成されている特定のハードウェアを含むと理解されたい。
「回路」という語は、ハードウェア、及びある実施形態ではハードウェアを構成するためのソフトウェアを含むものと広く理解されるべきである。例えば、ある実施形態では、「回路」は、処理回路、記憶媒体、ネットワークインターフェイス、入力/出力デバイス及びそれらの類似物を含み得る。ある実施形態では、装置205の他の要素は、特定の回路の機能を提供し又は補足し得る。例えば、プロセッサ202は処理機能を提供し得て、メモリ204は記憶機能を提供し得て、通信回路208はネットワークインターフェイス機能を提供し得る、等である。
ある実施形態では、プロセッサ202(及び/又はコプロセッサ又はプロセッサを補助し又は他のやり方でプロセッサに関連付けられた任意の他の処理回路)は、装置の構成要素間で情報を渡すために、バスを介してメモリ204と通信し得る。メモリ204は、非一時的であり得て、例えば、1つ以上の揮発性及び/又は不揮発性メモリを含み得る。換言すれば、例えば、メモリは、電子記憶デバイス(例えばコンピュータで読み取り可能な記憶媒体)でありうる。メモリ204は、グループベースコミュニケーション装置205が本開示の例示的な実施形態に従ってさまざまな機能を実行することを可能にするための情報、データ、コンテンツ、アプリケーション、命令、又はそれらの類似物を記憶するように構成され得る。
プロセッサ202は、いくつかの異なる方法で実現され得て、例えば、独立して実行するように構成された1つ以上の処理デバイスを含み得る。追加として又は代替として、プロセッサは、命令の独立した実行、パイプライン処理、及び/又はマルチスレッディングを可能にするために、バスを介して並列に構成された1つ以上のプロセッサを含み得る。「処理回路」という語の使用は、装置の内部にあるシングルコアプロセッサ、マルチコアプロセッサ、マルチプロセッサ、及び/又はリモートつまり「クラウド」プロセッサを含むと理解され得る。
例示的な実施形態では、プロセッサ202は、メモリ204に記憶された命令又は他の方法でプロセッサがアクセス可能な命令を実行するように構成され得る。代替として又は追加として、プロセッサは、ハードコードされた機能を実行するように構成され得る。よって、ハードウェア又はソフトウェアの方法によって、又はそれらの組み合わせによって構成されるかに関わらず、プロセッサは、そのように構成されていても、本開示の実施形態によって操作を実行可能なエンティティ(例えば回路として物理的に実現される)を表現し得る。代替としては、別の例として、プロセッサが、ソフトウェア命令の実行者として実現されるとき、これら命令は、命令が実行される時には、ここで記載されたアルゴリズム及び/又は操作を実行するように、プロセッサを具体的に構成し得る。
一例ではあるが、プロセッサ202は、複数のクライアントデバイス108を接続する1つ以上のコミュニケーションチャンネルを維持して、それらの間でのメッセージングコミュニケーションの共有を可能にするように構成され得る(図1に示す)。プロセッサ202は、特定のコミュニケーションチャンネル内のクライアントデバイス108間でのやりとりが意図されたメッセージングコミュニケーションが、クライアントデバイス108を介して提供された各メッセージペイン内で表示されるように、それらクライアントデバイス108に適切に配布されることを確実にする。
さらに、プロセッサ202は、特定のコミュニケーションチャンネル上で交換されたメッセージングコミュニケーションを、メッセージの記憶のために、データベースと同期するように構成され得る。ある実施形態では、プロセッサ202は、クライアントデバイス108への配布のために、記憶されたメッセージを提供し得る。また、プロセッサ202は、ここで説明されるさまざまなグループベースコミュニケーションワークスペース及び関連付けられたグループベースコミュニケーションチャンネルにわたって、このような記憶されたメッセージを配信することも提供し得る。
いくつかの実施形態では、グループベースコミュニケーション装置205は、さらには、出力をユーザーに提供し、またある実施形態では、ユーザー入力の指示を受信するために、プロセッサ202と通信し得る、入力/出力回路203を含み得る。入力/出力回路203は、ユーザーインターフェイス(例えばグループベースコミュニケーションインターフェイス)を含み得て、ディスプレイを含み得て、ウェブユーザーインターフェイス、モバイルアプリケーション、クライアントデバイス、キオスク、又はそれらの類似物を含み得る。ある実施形態では、入力/出力回路203は、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチエリア、ソフトキー、マイクロフォン、スピーカ、又は他の入力/出力機構も含み得る。プロセッサ及び/又はプロセッサを備えるユーザーインターフェイス回路は、プロセッサがアクセス可能であるメモリ(例えばメモリ204及び/又はそれらの類似物)に記憶されたコンピュータプログラム命令(例えばソフトウェア及び/又はファームウェア)を通して、1つ以上のユーザーインターフェイス要素の1つ以上の機能を制御するよう構成され得る。
通信回路208は、グループベースコミュニケーション装置205と通信するネットワーク及び/又は任意の他のデバイス、回路、又はモジュールからデータを受信し及び/又はこれらにデータを送信するように構成されている、ハードウェア又はハードウェアとソフトウェアとの組み合わせのいずれかで実現されるデバイス又は回路のような任意の手段であり得る。この点で、通信回路208は、例えば、有線又は無線の通信ネットワークとの通信を可能にするネットワークインターフェイスを含み得る。例えば、通信回路208は、1つ以上のネットワークインターフェイスカード、アンテナ、バス、スイッチ、ルータ、モデム、及びサポートするハードウェア及び/もしくはソフトウェア又はネットワークを介した通信を可能にするのに適した任意の他のデバイスを含み得る。追加として又は代替として、通信インターフェイスは、アンテナ(群)を介した信号の送信を行うために又はアンテナ(群)を介して受信される信号の受信を扱うために、アンテナ(群)と相互作用するための回路を含み得る。
グループベースコミュニケーション回路210は、グループベースコミュニケーションシステム200をサポートするように構成されたハードウェア及びソフトウェアを含む。グループベースコミュニケーション回路210は、これらのアクションを実行するために、プロセッサ202のような処理回路を利用し得る。グループベースコミュニケーション回路210は、グループベースコミュニケーションリポジトリ206にデータを送り及び/又はこれからデータを受信し得る。ある実現例では、送信された及び/又は受信されたデータは、複数のグループベースコミュニケーションチャンネル間で整理されたグループベースコミュニケーションオブジェクト(例えばメッセージ、ファイル、リンク等)であり得る。また、ある実施形態では、グループベースコミュニケーション回路210は、別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含み得ることも理解されたい。
共有リソース回路215は、グループベースコミュニケーションシステム200のグループベースコミュニケーションリソースの共有に関する機能、特徴、及び/又はサービスをサポートするように構成されているハードウェア及びソフトウェアを含む。共有リソース回路215は、これらのアクションを実行するために、プロセッサ202のような処理回路を利用し得る。ディレクトリインジェスチョン回路212は、データをクライアントデバイスに送り、及び/又はクライアントデバイスから受け取る。ある実現例では、送信され及び/又は受信されたデータは、1つ以上のグループベースコミュニケーションワークスペース及び/又はユーザー識別子に関連付けるよう構成された外部ユーザーディレクトリコーパスを含み得る。また、いくつかの実施形態では、共有リソース回路215及び/又はディレクトリインジェスチョン回路212は、別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)をそれぞれ含み得ることも理解されたい。
また、ここで説明されている情報の全部又は一部は、グループベースコミュニケーション装置205の1つ以上の構成要素によって受信され、生成され、及び/又は維持されるデータに基づき得ることにも留意されたい。ある実施形態では、1つ以上の外部システム(リモートクラウドコンピューティングシステム及び/又はデータ記憶システム、1つ以上の外部メッセージングリソース118、1つ以上の外部承認プロビジョニングサービス110、及び/又はそれらの類似物のような)は、ここで説明されている機能の少なくとも一部を提供するのにも活用され得る。
上述のように、かつ本開示に基づいて理解されるであろうように、本開示の実施形態は、方法、モバイルデバイス、フロントエンドグラフィカルユーザーインターフェイス、バックエンドネットワークデバイス、及びそれらの類似物として構成され得る。したがって、実施形態は、完全にハードウェアだけを含む又はソフトウェアとハードウェアとの任意の組み合わせを含むさまざまな手段を含み得る。さらに、実施形態は、記憶媒体内に具現化されたコンピュータで読み取り可能なプログラム命令(例えばコンピュータソフトウェア)を有する、少なくとも1つの非一時的コンピュータ読み取り可能記憶媒体上のコンピュータプログラム製品の形態を取り得る。同様に、実施形態は、少なくとも1つの非一時的コンピュータ読み取り可能記憶媒体に記憶されたコンピュータプログラムコードの形態を取り得る。任意の適切なコンピュータ読み取り可能記憶媒体が利用され得て、この媒体には、非一時的ハードディスク、CD-ROM、フラッシュメモリ、光学記憶デバイス、又は磁気記憶デバイスが含まれる。
理解されるように、任意のこのようなコンピュータプログラム命令及び/又は他のタイプのコードは、コンピュータ、プロセッサ、又は他のプログラム可能な装置の回路にロードされて、その機械上でコードを実行するコンピュータ、プロセッサ、又は他のプログラム可能な回路が、ここで説明されたものを含むさまざまな機能を実現する手段を構成するような機械が作り出され得る。
ここで説明されるコンピューティングシステムは、クライアント及びサーバーを含み得る。クライアント及びサーバーは、一般的には、互いに離れており、典型的には、通信ネットワークを通して相互作用する。クライアントとサーバーとの関係は、各コンピュータ上で実行され、互いにクライアント・サーバー関係を有するコンピュータプログラムにより生じる。ある実施形態では、サーバーは、情報/データ(例えばHTMLページ)をクライアントデバイスに送信する(例えばクライアントデバイスとインタラクトするユーザーに情報/データを表示する目的、及び同ユーザーからのユーザー入力を受け取る目的のために)。クライアントデバイスで生成された情報/データ(例えばユーザーインタラクションの結果)は、クライアントデバイスからサーバーにおいて受け取られ得る。
この明細書には、多くの具体的な実現形態の詳細が含まれるが、これらは、いずれかの発明又は特許請求され得る発明の範囲の限定として解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に固有の特徴の説明として解釈されるべきである。また、別個の実施形態の文脈で本明細書に記載された特定の特徴は、単一の実施形態においても組み合わせても実施し得る。逆に、単一の実施形態の文脈で記載されたさまざまな特徴は、複数の実施形態で別々に又は任意の適切なサブコンビネーションにおいても実施し得る。さらに、特徴は、特定の組み合わせで動作するものとして上記されており、そのようなものとして最初に特許請求されてもよいが、特許請求される組み合わせからの1つ以上の特徴は、場合によっては、その組み合わせから削除されてもよく、特許請求される組み合わせは、サブコンビネーション又はサブコンビネーションの変形例を対象にし得る。
同様に、操作は、特定の順序で図面に示されているが、これは、特に断らない限り、望ましい結果を達成するために、このような動作が図示の特定の順序で又は順次の順序で実行されること又は図示の全ての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク及び並列処理が有利であり得る。さらに、上で説明された実施形態におけるさまざまなシステム構成要素の切り分けは、全ての実施形態においてこのような切り分けを必要とするものとして理解されるべきではなく、記載されたプログラム構成要素及びシステムは、一般的には、単一のソフトウェア製品に共に統合され得るか又は複数のソフトウェア製品にパッケージ化され得ることを理解されたい。ここで図示された1つ以上のフロー図において破線で示された任意の操作ステップは、図示された実施形態の目的でオプションである。
よって、本主題の特定の実施形態が説明されてきた。他の実施形態は、以降の特許請求の範囲の範囲内にある。場合によっては、特許請求の範囲で記載されたアクションは、異なる順序で実行されてもよく、その場合でも依然として望ましい結果を達成できる。加えて、添付の図面に図示されたプロセスは、特に断らない限り、所望の結果を達成するために、必ずしも図示の特定の順序又は順次の順序を必要としない。ある実現形態では、マルチタスク及び並列処理が有利であり得る。
[外部承認プロビジョニングを管理するための例示的なプロセス]
実施形態において、グループベースコミュニケーション装置205は、図3Aの方法300Aの操作に従って、外部承認プロビジョニングサービスと共に外部承認プロビジョニングを管理するよう構成されている。
図示のプロセスは、ブロック301で始まり、ここでグループベースコミュニケーション装置205は、リソース共有インターフェイスリクエストを受信する。グループベースコミュニケーション装置205は、通信回路208及び/又はネットワーク112を介して、送信ユーザー識別子に関連付けられたクライアントデバイス108から、リソース共有インターフェイスリクエストを受信し得る。ある実施形態では、ユーザーがグループベースコミュニケーションインターフェイスの1つ以上のグラフィカルユーザーインターフェイスエレメントとインタラクトすると、リソース共有インターフェイスリクエストが受信され得る。例えば、クライアントデバイス108にレンダリングされたグループベースコミュニケーションインターフェイスは、リソース共有インターフェイスリクエストの送信を引き起こすことと関連付けられている1つ以上のユーザーインターフェイスエレメントを含む。
上の例を見ると、グループベースコミュニケーションシステムのユーザー及びAcme Corp.の従業員のAdrianは、Beta BrandsのLisa及びGlobal LogisticsのThomasとメッセージをやりとりし及び/又はその他のやり方で協働する必要があるかもしれず、#wholesale-strategyと呼ばれる外部共有グループベースコミュニケーションチャンネル(externally shared group-based communication channel)でそれを行いたいと思うかもしれない。この点で、Adrianは、Lisa及びThomasがグループベースコミュニケーションチャンネル内のコンテンツにアクセスし、チームの他のメンバーとコミュニケートできるようにLisa及びThomasを#wholesale-strategyチャンネルに招待したいかもしれない。
図3Dは、Adrianがリソース共有インターフェイスリクエストの生成を始め得る例示的ユーザーインターフェイスを示す。図3Dに示されるユーザーインターフェイスは、Adrianに関連付けられたクライアントデバイスに対してグループベースコミュニケーション装置によってレンダリングされ得る。それからAdrianは、Thomas及びLisaの電子メールアドレスを入力し、その後、リソース共有インターフェイスリクエストの送信を開始することに関連付けられたユーザーインターフェイスエレメント(例えば「送信」ボタン及び/又はそれらの類似物)とエンゲージし得る。
リソース共有インターフェイスリクエストは、メタデータを含み得る。例えば、リソース共有インターフェイスリクエストは、送信ユーザー識別子(例えばリソース共有インターフェイスリクエストを開始したユーザー、この例ではAdrian、のユーザー識別子)、送信ユーザーがグループベースコミュニケーションリソースを共有したいユーザー又はオーガナイゼーションの受信者エンティティ識別子(例えばThomas及び/又はLisaのユーザー識別子)、及びユーザーが共有したい特定のグループベースコミュニケーションリソースに関連付けられたグループベースコミュニケーションリソース識別子(例えば#wholesale-strategyチャンネルに関連付けられたグループベースコミュニケーションチャンネル識別子)を含むメタデータを含み得る。
ある実施形態では、受信者エンティティ識別子は、受信者エンティティ識別子は、受信者ユーザー識別子であり得る。換言すれば、受信者エンティティ識別子は、Adrianがグループベースコミュニケーションリソースを共有したいグループベースコミュニケーションシステムの特定のユーザー(Thomas及び/又はLisa)に関連付けられ得る。ある実施形態では、受信者エンティティ識別子は、Adrianがグループベースコミュニケーションリソースを共有したい特定の受信者オーガナイゼーション(例えばBeta Brands及び/又はGlobal Logistics)に関連付けられた受信者オーガナイゼーション識別子であり得る。この点で、ある例では、Adrianは、Beta Brands及び/又はGlobal Logisticsに関連付けられた複数のユーザーと#wholesale-strategyチャンネルを共有したいとリクエストしているかもしれない。
例えば、送信ユーザーが、受信者エンティティ識別子に関連付けられたユーザー又はオーガナイゼーションとグループベースコミュニケーションチャンネルを共有したい場合においては、リソース共有インターフェイスリクエストのグループベースコミュニケーションリソース識別子は、グループベースコミュニケーションチャンネル識別子であり得る。例えば、上の例に続けて、送信ユーザー識別子は、Adrianに関連付けられたユーザー識別子であり得て、受信者エンティティ識別子は、Lisa及び/又はThomasに関連付けられたユーザー識別子であり得て、グループベースコミュニケーションリソース識別子は、#wholesale-strategyグループベースコミュニケーションチャンネルに関連付けられたグループベースコミュニケーションチャンネル識別子であり得る。他の例として、もしリソース共有インターフェイスリクエストが、グループベースコミュニケーションワークスペースの共有と関連付けられているなら、その関連付けられたグループベースコミュニケーションリソース識別子は、グループベースコミュニケーションワークスペース識別子であり得る。この点で、グループベースコミュニケーション装置205は、送信ユーザー識別子に関連付けられたクライアントデバイスから通信回路を介して、リソース共有インターフェイスリクエストを受け取るように構成される。
他の例として、もしリソース共有インターフェイスリクエストがグループベースコミュニケーションファイルを共有することと関連付けられているなら、その関連付けられたグループベースコミュニケーションリソース識別子は、グループベースコミュニケーションファイルに関連付けられ得る。例えば、グループベースコミュニケーションファイルは、以前に通信がなされた(例えばメッセージングコミュニケーションを介して)、及び/又はグループベースコミュニケーションシステムに(例えばグループベースコミュニケーションリポジトリ206に)記憶されたファイル(例えばテキストファイル、ビデオファイル、画像ファイル、及び/又はそれらの類似物)であり得る。
操作302において、リソース共有インターフェイスリクエストを受け取ったことに応答して、グループベースコミュニケーション装置205は、許可リクエストを生成し得る。許可リクエストは、リソース共有インターフェイスリクエストに少なくとも部分的に基づき得る。例えば、許可リクエストは、グループベースコミュニケーションリソース識別子及びリソース共有インターフェイスリクエストの受信者エンティティ識別子を含み得る。上の例で続ければ、例示的許可リクエストは、#wholesale-strategyチャンネルのグループベースコミュニケーションチャンネル識別子及びLisa及びThomasのユーザー識別子を含むだろう。この点で、プロセッサ202、共有リソース回路215、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、リソース共有インターフェイスリクエストに少なくとも部分的に基づいて許可リクエストを生成するよう構成される。
ある実施形態では、許可リクエストは、シングルリソースリクエスト、マルチリソースリクエスト、ゲストアクセスリクエスト、又はフルメンバーリクエストのうちの1つに対応するリクエストタイプ識別子をさらに含み得る。例えば、シングルリソースリクエストは、リソース共有インターフェイスリクエストが、受信者エンティティ識別子と共有されるべき単一のグループベースコミュニケーションリソース識別子に関連付けられていることを示し得る。上の例では、Adrianのリクエストは、彼が1つのリソース、#wholesale-strategyチャンネルしか共有していないのでシングルリソースリクエストである。マルチリソースリクエストは、そのリソース共有インターフェイスリクエストが、受信者エンティティ識別子(群)と共有されるべき1つより多いグループベースコミュニケーションリソース識別子に関連付けられていることを示し得る。ゲストメンバーリクエストは、リソース共有インターフェイスリクエストが、グループベースコミュニケーションワークスペース識別子に関連付けられた限定された量のグループベースコミュニケーションリソースに関連付けられることによって、受信者エンティティ識別子が、グループベースコミュニケーションワークスペースに関連付けられた選ばれたグループベースコミュニケーションリソースだけにアクセスできることを示し得る。例えば、ゲストメンバーは、グループベースコミュニケーションワークスペースにアクセスし得るが、グループベースコミュニケーションチャンネルのうちの選ばれた少数のものにだけしかアクセスできず、そのグループベースコミュニケーションワークスペース等に関連付けられたグループベースコミュニケーションファイルにはアクセスできないかもしれない。フルメンバーリクエストは、リソース共有インターフェイスリクエストが、グループベースコミュニケーションワークスペース識別子に関連付けられた全てのグループベースコミュニケーションリソースに関連付けられていることによって、受信者エンティティ識別子は、そのグループベースコミュニケーションワークスペースに関連付けられた全てのグループベースコミュニケーションリソースにアクセスできることを示し得る。
ある実施形態では上で定義されたように、許可リクエストは、外部承認プロビジョニングサービス110に提供され得る。操作303において、プロセッサ202、通信回路208及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、許可リクエストを外部承認プロビジョニングサービスに送信することを始めるよう構成される。例えば、許可リクエストは、外部承認API115に関連付けられた1つ以上のコマンドを用いる外部承認プロビジョニングサービス110に送信され得る。
ある実施形態では、許可リクエストは、管理者ユーザーレビューのために、許可リクエストに関連付けられた外部承認プロビジョニングサービス110によって用いられ得る。
ある実施形態では、管理者クライアントデバイス109の1人以上の管理者ユーザーは、外部承認プロビジョニングサービスの使用を通して、許可リクエストに関連付けられたデータをレビューし得る。この点で、Acme Corp.の管理者ユーザーであるAdamは、Lisa及びThomasを#wholesale-strategyに招待したいというAdrianのリクエストをレビューし得る。上述のように、Adamのような管理者ユーザーは、招待の承認、アクセス資格情報の管理、及び/又は他のエンタープライズソフトウェアプロセス管理サービスを提供するために外部承認プロビジョニングサービス(例えば管理者クライアントデバイス上で実行されているソフトウェアとして)を利用し得る。この点で、1人以上の管理者ユーザーは、外部承認プロビジョニングサービスを利用して、外部承認API115を通して外部承認プロビジョニングサービス110において受け取られたリソース共有インターフェイスリクエストに関連付けられた許可リクエストを承認又は拒否することができる。
ある実施形態では、許可リクエストをレビューしている1人以上の管理者ユーザーは、その許可リクエストのグループベースコミュニケーションリソース識別子に関連付けられた1人以上の管理者ユーザーであり得る。例えば、許可リクエストのグループベースコミュニケーションリソース識別子が、グループベースコミュニケーションチャンネル識別子である場合においては、リソース共有インターフェイスリクエストに関連付けられた許可リクエストを承認又は拒否する権限のある管理者ユーザーは、グループベースコミュニケーションチャンネル識別子によって特定されるグループベースコミュニケーションチャンネルに関連付けられた管理者ユーザーだけであり得る。上の例では、Acme CorporationのAdamは、AdrianがLisa及びThomasと#wholesale-strategyを外部で共有しようとしている、Acmeのワークスペースに関連付けられた管理者ユーザーである。
操作304において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、許可インターフェイスリクエストに応答して、外部承認プロビジョニングサービスからリソース共有応答イベントを受け取るよう構成される。この点で、グループベースコミュニケーション装置205は、外部承認API115を通して受け取られたリソース共有応答イベントを探し求めるように構成され得る。
上述のように、リソース共有応答イベントは、外部承認プロビジョニングサービス110において生成され、外部承認API115を介してグループベースコミュニケーション装置205に送信され得る。ある実施形態では、リソース共有応答イベントは、リソース共有インターフェイスリクエストに関連付けられた許可リクエストをレビューした1人以上の管理者ユーザー(例えばAdam)が、その許可リクエストを承認したかどうかのインジケーションを含み得る。この点である実施形態では、リソース共有応答イベントは、Adrianによって生成されたリソース共有インターフェイスリクエストのAdamによる承認を示し得る、リソース共有インターフェイスリクエストに関連付けられた承認インジケーションを含み得る。代替としてある実施形態では、リソース共有応答は、Adrianのリソース共有インターフェイスリクエストのAdamによる拒否を示し得る、リソース共有インターフェイスリクエストに関連付けられた拒否インジケーションを含み得る。
この点で、リソース共有応答イベントを受け取ると、判断ブロック305において、プロセッサ202、共有リソース回路215、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、リソース共有応答イベントを分析して許可条件が満たされたかを判断するよう構成される。この点で、グループベースコミュニケーション装置205は、リソース共有応答イベントを分析し、リソース共有応答イベントが、そのリソース共有インターフェイスリクエストに関連付けられた許可インジケーション又は拒否インジケーションを含むかを判断し得る。
例えば、許可条件が満たされていない(例えばリソース共有応答イベントが、リソース共有インターフェイスリクエストに関連付けられた拒否インジケーションを含む)場合においては、操作306において、プロセッサ202、共有リソース回路215、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、拒否通知の送信を行うよう構成される。この拒否通知は、リソース共有インターフェイスリクエストに関連付けられた送信ユーザー識別子に関連付けられたクライアントデバイスに、換言すれば、リソース共有インターフェイスリクエストの発生元となるクライアントデバイスに送信されるようにされ得る。上の例では、拒否通知は、Adrianのクライアントデバイスに送信される。
ある実施形態では、拒否通知に関連付けられたデータは、リソース共有インターフェイスリクエストに関連付けられた送信ユーザー識別子に関連付けられたクライアントデバイス(例えばAdrianのデバイス)におけるグループベースコミュニケーションインターフェイスにレンダリングされ得る。この点で、Adrianは、1つ以上の管理者ユーザーがリソース共有インターフェイスリクエストを拒否したこと、及びグループベースコミュニケーションリソースをLisa及びThomasと共有することが少なくともこの特定の場合については許可されないことを通知され得る。
操作307においてグループベースコミュニケーション装置205は、受信者エンティティ識別子に関連付けられた受信者ユーザーについてのグループベースコミュニケーションリソース識別子に関連付けられたグループベースコミュニケーションリソースへのアクセスを拒否し得る。ある実施形態では、グループベースコミュニケーションリソースへのアクセスを拒否することは、共有承認リポジトリ206Aを更新して、受信者エンティティ識別子及びグループベースコミュニケーションリソース識別子に関連付けられた共有拒否インジケーションを追加することを含み得る。この点で、プロセッサ202、共有リソース回路215、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、共有承認リポジトリを更新して、受信者エンティティ識別子及びグループベースコミュニケーションリソース識別子に関連付けられた共有拒否インジケーションを追加するよう構成される。上述のように、共有承認リポジトリは、それぞれのグループベースコミュニケーションリソースについて特定のユーザー識別子及び/又はオーガナイゼーション識別子に相互に関連した共有承認インジケーション及び共有拒否インジケーションを記憶するよう構成されるテーブルであり得る。例えば、Thomas及びLisaのユーザー識別子に関連付けられた共有拒否インジケーション、及び#wholesale-strategyに関連付けられたグループベースコミュニケーションチャンネル識別子は、共有承認リポジトリ206Aに記憶される。
リソース共有応答イベントが、リソース共有インターフェイスリクエストに関連付けられた承認インジケーションを含む(例えばAdamがAdrianのリクエストを承認する)場合には、グループベースコミュニケーション装置205は、図3Bの方法300Bの操作310-312を実行するよう構成され得る。
ある実施形態では、リソース共有応答が共有承認インジケーションを含むと判断したことに応答して、操作310において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、共有リソース招待リクエストの送信を行うように構成される。共有リソース招待リクエストは、受信者エンティティ識別子に関連付けられた少なくとも1つの第2クライアントデバイスに送信され得る。この点で、グループベースコミュニケーションリソースが共有されるべきだと意図される、1つ以上の第2クライアントデバイスにおけるユーザー(例えば上の例ではLisa及びThomas)は、共有リソース招待リクエストを受け取り、閲覧し得る。この点で、共有リソース招待リクエストに関連付けられたデータは、1つ以上の第2クライアントデバイスに関連付けられたグループベースコミュニケーションインターフェイスにレンダリングされ得る。グループベースコミュニケーション装置205は、共有リソース招待リクエストに関連付けられたデータのレンダリングを第2クライアントデバイスにおいて行うよう構成され得る。ある実施形態では、共有リソース招待リクエストに関連付けられたデータのレンダリングは、共有リソース招待リクエストを承認すること及び/又は拒否することに関連付けられた1つ以上のユーザーインターフェイスエレメントをレンダリングすることを含み得る。
ある実施形態では、それからLisa及び/又はThomasは、共有リソース招待リクエスト(例えば#wholesale-strategyへの参加を促すAdrianの招待)を承認又は拒否することによって、例えば、共有リソース招待リクエストに関連付けられた1つ以上のユーザーインターフェイスエレメントとエンゲージすることによって、共有リソース招待リクエストにエンゲージし得る。
操作311において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、共有リソース招待リクエストに関連付けられた許可確認を受け取るよう構成される。ユーザーが共有リソース招待リクエストの承認に関連付けられたユーザーインターフェイスエレメントとエンゲージすると、共有リソース招待リクエストに関連付けられた許可確認が、第2クライアントデバイス108(例えばThomas及びLisaのデバイス)において生成され、グループベースコミュニケーション装置205に送信されるようにされ得る。上の例では、Lisa及び/又はThomasが招待を受け入れると、許可確認が送信され得る。
共有リソース招待リクエストに関連付けられた許可確認を少なくとも1つの第2クライアントデバイスから受け取ったことに応答して、操作312において、グループベースコミュニケーション装置は、受信者エンティティ識別子に関連付けられた受信者ユーザーについてのグループベースコミュニケーションリソース識別子に関連付けられたグループベースコミュニケーションリソースへのアクセスを承認し得る。換言すれば、Lisa及びThomasが#wholesale-strategyチャンネルに参加するためのアクセスが承認され得る。ある実施形態では、グループベースコミュニケーションリソースへのアクセスを承認することは、受信者エンティティユーザー(群)(例えばThomas及びLisa)への承認の通知を提供すること、許可確認を提供した管理者ユーザー(例えばAdam)に承認の通知を提供すること、及び/又は送信ユーザー(例えばAdrian)に承認の通知を提供することを含み得る。ある実施形態では、共有リソース招待リクエストに関連付けられた許可確認を受け取ったことに応答して、及び/又はグループベースコミュニケーションリソースへのアクセスの承認と共に、グループベースコミュニケーション装置は、共有承認リポジトリを更新して、受信者エンティティ識別子及びグループベースコミュニケーションリソース識別子に関連付けられた共有承認インジケーションを追加するよう構成され得る。この点で、プロセッサ202、共有リソース回路215、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、受信者エンティティ識別子及びグループベースコミュニケーションリソース識別子に関連付けられた共有承認インジケーションを追加するよう共有承認リポジトリを更新するように構成される。上に説明されたように、共有承認リポジトリは、それぞれのグループベースコミュニケーションリソースについて特定のユーザー識別子及び/又はオーガナイゼーション識別子に相互に関連した共有承認インジケーションを記憶するよう構成されるテーブルであり得る。ある実施形態では、いったん共有承認リポジトリが受信者エンティティ識別子及びグループベースコミュニケーションリソース識別子に関連付けられた共有承認インジケーションを含むように更新されると、グループベースコミュニケーションリソース識別子に関連付けられたグループベースコミュニケーションリソースは、受信者エンティティ識別子に関連付けられた第2クライアントデバイスにアクセス可能にされ得る。例えば、グループベースコミュニケーションリソース識別子がグループベースコミュニケーションチャンネル識別子を含む実施形態においては、第2クライアントデバイスは、そのグループベースコミュニケーションチャンネル識別子に関連付けられたグループベースコミュニケーションチャンネルにアクセスしてエンゲージし得る。
ある実施形態では、共有承認インジケーションを記憶することに加えて、グループベースコミュニケーション装置205は、その共有リソース招待リクエストに関連付けられたさらなる情報を記憶するよう構成され得る。例えば、受信者エンティティ識別子のような共有リソース招待リクエストに関連付けられたデータ、1つ以上の送信ユーザー識別子、受信者エンティティ識別子に関連付けられた電子メールアドレス、受信者エンティティ識別子のメンバータイプ、共有リソース招待リクエストの理由、アクセスレベル(例えばチャンネルレベルのアクセス又はワークスペースレベルのアクセス)、許可確認を開始した管理者ユーザーの管理者ユーザー識別子、及び/又は承認時刻を示すタイムスタンプは、共有承認リポジトリ206Aに共有承認インジケーションに関連付けて記憶され得る。
図3Cは、上で説明され図3A及び図3Bに示された操作によって表現される例示的データフローの信号図である。方法300A及び300Bは、少なくとも2つのクライアントデバイス108(例えば第1クライアントデバイス及び第2クライアントデバイス)、グループベースコミュニケーション装置205、外部承認プロビジョニングサービス110、及び共有承認リポジトリ206Aによって実行されるとして説明されている。これらのデバイスは、図1について上で以前に説明されたものと同様であり得る。
[外部ユーザーのコミュニケーションの管理及びオンボーディングのための例示的プロセス]
実施形態において、グループベースコミュニケーション装置205は、図4A及び図5Aに示される方法400及び500の操作に従って、グループベースコミュニケーションシステムのユーザーが、グループベースコミュニケーションシステムと関係のない人とのコミュニケーションを開始しできるようにし、関係のない人のための新メンバーオンボーディングプロトコルの開始を効率的に行えるように構成されている。
図示された方法400は、図4Aの操作401において始まり、ここでプロセッサ202、通信回路208、ディレクトリインジェスチョン回路212、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、第1クライアントデバイスから外部ユーザーディレクトリコーパスを受け取るよう構成されている。
例えば、第1クライアントデバイスにおけるユーザーAdrianは、グループベースコミュニケーションシステム200に関連付けられたインジェスチョンプロセスを開始し得て、ここで複数の外部ユーザーデータオブジェクト(例えばAdrianの連絡先)が、そのクライアントデバイスから、ある実施形態では、1つ以上の外部メッセージングリソース118のような1つ以上の外部ソースから発生して、グループベースコミュニケーションシステムにインジェスト及び/又はインポートされ得る。例えば、外部ユーザーデータオブジェクトは、Adrianに関連付けられた1人以上の人の連絡先情報に関連付けられたデータを含み得る。一例として、Adrianは、電子メールアプリケーション、カレンダーアプリケーション及び/又はそれらの類似物のような、AdrianのクライアントデバイスにおけるAdrianの連絡先(例えば友人、家族、同僚、及び/又はそれらの類似物)に関連付けられた複数の連絡先情報を記憶するよう構成された、グループベースコミュニケーションシステムの外部にあるソフトウェア及び/又は他のサービスを利用し得る。この点で、Adrianの連絡先情報は、Adrianのクライアントデバイスから複数の外部ユーザーデータオブジェクトとしてグループベースコミュニケーションシステムにインジェスト及び/又はインポートされ得る。
それぞれの外部ユーザーデータオブジェクトは、特定のエンティティに関連付けられた連絡先情報を含み得る。例えば、外部ユーザーデータオブジェクトは、1つ以上の電子メールアドレスのような1つ以上の外部メッセージングリソースアドレス、1つ以上の電話番号、その外部ユーザーに関連付けられた名前及び/又はユーザー名を含むテキスト、及び/又は他の同様のデータを含み得る。
ある実施形態では、第1クライアントデバイスから受け取られた外部ユーザーディレクトリコーパスは、スポンサーユーザー識別子及びグループベースコミュニケーションワークスペース識別子に関連付けられ得る。例えば、スポンサーユーザー識別子は、インジェスチョンプロセスを開始した及び/又はその他のやり方で外部ユーザーディレクトリコーパス内の複数の外部ユーザーデータオブジェクトに関連付けられたユーザー(例えばAdrian)に関連付けられたユーザー識別子を特定し得る。外部ユーザーディレクトリコーパスに関連付けられたグループベースコミュニケーションワークスペース識別子は、Adrianが関連付けられており、その外部ユーザーディレクトリコーパスが関連付けられる特定のグループベースコミュニケーションワークスペースを特定し得る。例として、グループベースコミュニケーションワークスペースは、Acme Corporationのワークスペースであり得る。
ある実施形態では、外部ユーザーディレクトリコーパスは、第1ドメインにさらに関連付けられ得る。例えば、外部ユーザーディレクトリコーパスに関連付けられた第1ドメインは、第1クライアントデバイス及び/又はグループベースコミュニケーションワークスペース識別子に関連付けられた特定のドメインであり得る。例えば、第1クライアントデバイスにおけるユーザーは、そのユーザーが関連付けられているオーガナイゼーションに基づいて特定のドメインに関連付けられ得る。Adrianの例では、このドメインは、「acme-corp.com」であり得る。この点で、このグループベースコミュニケーションワークスペースの全てのメンバーとAdrianの全ては、同一のドメイン及び/又はその第1ドメインに関連付けられたドメインに関連付けられ得る。ある例では、このドメインは、電子メールドメインを表し得る。この点で、ある実施形態では、外部ユーザーディレクトリコーパスは、同じドメインに関連付けられた電子メールアドレス(例えば末尾が@acme-corp.comである電子メールアドレス、又は@us.acme-corp.com、@cn.acme-corp.com等のようなその変形)だけを含み得る。
操作402において、プロセッサ202、メモリ204、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、外部ユーザーディレクトリコーパスをそのスポンサーユーザー識別子及びグループベースコミュニケーションワークスペース識別子に関連付けて記憶するよう構成される。例えば、ある実施形態では、グループベースコミュニケーション装置205は、Adrianのユーザー識別子及びAcme Corporationのワークスペース識別子に関連付けて外部ユーザーディレクトリコーパスをグループベースコミュニケーションリポジトリ206に記憶し得る。ここでさらに説明されるように、外部ユーザーディレクトリコーパスが記憶されると、その外部ユーザーディレクトリコーパスに関連付けられたデータは、外部ユーザーディレクトリコーパスが関連付けられて記憶されるグループベースコミュニケーションワークスペース識別子に関連付けられたグループベースコミュニケーションワークスペース(例えばAcme Corporationのワークスペース)の1人以上の追加のメンバーにとってアクセス可能にされ得る。
ある実施形態では、操作403において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、送信ユーザークライアントデバイスから受信者識別子を受け取るよう構成される。ある実施形態では、受信者識別子は、グループベースコミュニケーションワークスペース識別子に関連付けられた送信ユーザークライアントデバイスから受け取られ得る。この点で、送信ユーザーデバイスにおけるユーザーは、外部ユーザーディレクトリコーパスが関連付けられて記憶されているグループベースコミュニケーションワークスペース識別子によって特定されるグループベースコミュニケーションワークスペースのメンバーでもあり得る。ある実施形態では、送信ユーザークライアントデバイスは、外部ユーザーディレクトリコーパスが受け取られた(例えば操作401において)第1クライアントデバイスであり得る。この点で、受信者識別子は、Adrianのデバイスから受け取られ得る。
ある実施形態では、受信者識別子は、送信ユーザークライアントデバイスにおいて表示されるグループベースコミュニケーションインターフェイスにレンダリングされたメッセージングコミュニケーション入力インターフェイスに関連付けられたユーザー入力に基づいて生成され得る。この点で、Adrianは、Francisについての連絡先情報を探し求めようとする時に、テキスト等のようなユーザー入力をメッセージングコミュニケーション入力インターフェイスに提供し得る。受信者識別子は、ユーザー等によって入力されたテキストのようなユーザー入力に関連付けられたデータを含み得る。ある実施形態では、ユーザー入力は、「Fr」のようなテキストストリングのような受信者識別子である。
ある実施形態では、グループベースコミュニケーション装置205は、受信者識別子に基づいて、外部ユーザーディレクトリコーパスを含むユーザーディレクトリに対してクエリを実行するよう構成され得る。この点で、グループベースコミュニケーション装置205は、グループベースコミュニケーションリポジトリ206にアクセスし、グループベースコミュニケーションワークスペース識別子に関連付けられた外部ユーザーディレクトリコーパスに関連付けられたデータを取得する。一例として、受信者識別子は、テキスト「Fr」の形態であるAdrianのユーザー入力を含み得る。この例では、グループベースコミュニケーションワークスペース識別子に関連付けられた外部ユーザーディレクトリコーパスに関連付けられた、及びある実施形態では、第1ドメインに関連付けられた、取得されたデータは、テキスト「Fr」を含む名前及び/又は外部メッセージングリソースアドレスを含む外部ユーザーディレクトリコーパスのディレクトリユーザーデータオブジェクトのインジケーションを含み得る。追加として、ある実施形態では、ディレクトリクエリに基づいて、グループベースコミュニケーション装置205は、グループベースコミュニケーションリポジトリ206にアクセスし、グループベースコミュニケーションワークスペース識別子に関連付けられたメンバーリストに関連付けられたデータを取得するよう構成され得る。上の例では、メンバーリストは、Acme Corporationのワークスペースのメンバーを含むメンバーリストであり得る。
操作404において、ある実施形態では、プロセッサ202、グループベースコミュニケーション回路210、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、受信者識別子に基づいて、少なくとも部分的には外部ユーザーディレクトリコーパスから導出された、サジェストされた受信者ユーザー識別子セットを生成するよう構成されている。ある実施形態では、サジェストされた受信者識別子セットは、メッセージングコミュニケーションリクエストを受け取ったことに応答して生成され得る。
例えば、グループベースコミュニケーションワークスペース識別子に基づいて、ある実施形態では、メッセージングコミュニケーションリクエストの第1ドメインに基づいて、グループベースコミュニケーション装置205は、グループベースコミュニケーションリポジトリ206にアクセスし、第1ドメイン及びグループベースコミュニケーションワークスペース識別子に関連付けられた外部ユーザーディレクトリコーパスに関連付けられたデータを取得するよう構成され得る。この点で、サジェストされた受信者ユーザー識別子セットは、第1ドメイン及びグループベースコミュニケーションワークスペース識別子に関連付けられた外部ユーザーディレクトリコーパスの全ての外部ユーザーデータオブジェクトのインジケーションを含み得る。追加として、ある実施形態では、グループベースコミュニケーション装置205は、グループベースコミュニケーションリポジトリ206にアクセスし、グループベースコミュニケーションワークスペース識別子に関連付けられたメンバーリストに関連付けられたデータを取得するよう構成され得る。この点で、サジェストされた受信者ユーザー識別子セットは、グループベースコミュニケーションワークスペース識別子に関連付けられた全てのユーザー識別子のインジケーションを含み得る。
ある実施形態では、操作405において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、サジェストされた外部受信者ユーザー識別子セットの表示を送信ユーザークライアントデバイスに対してさせるよう構成される。この点で、サジェストされた受信者ユーザー識別子セットに関連付けられたデータは、Adrianによるレビュー及び/又は選択のために、Adrianのデバイスにおいてグループベースコミュニケーションインターフェイスに表示され得る。
一例として、図6は、ある実施形態に従って構成されたダイレクトメッセージング入力インターフェイスに関連付けられたAdrianのユーザー入力「Fr」に基づいて受信者識別子が生成されたことに応答して、Adrianのデバイスに表示される例示的サジェストされた受信者ユーザー識別子セットを示す。例えば、Adrianがダイレクトメッセージング入力インターフェイスエレメント602(例えばテキスト入力ボックスとして表示される)とエンゲージして、テキスト「Fr」の形態のユーザー入力を提供すると、受信者識別子が生成され、グループベースコミュニケーション装置205は、グループベースコミュニケーションリポジトリ206にアクセスすることによってユーザーディレクトリに対してクエリを実行し、グループベースコミュニケーションワークスペース識別子に関連付けられた外部ユーザーディレクトリコーパスに関連付けられたデータを取得し、追加として、グループベースコミュニケーションワークスペース識別子に関連付けられたメンバーリストに関連付けられたデータを取得するよう構成される。グループベースコミュニケーションワークスペース識別子に関連付けられた外部ユーザーディレクトリコーパスに関連付けられた取得されたデータは、テキスト「Fr」を含む名前及び/又は外部メッセージングリソースアドレスを含む外部ユーザーディレクトリコーパスのディレクトリユーザーデータオブジェクト604のインジケーションを含み得る。同様に、グループベースコミュニケーションワークスペース識別子に関連付けられたメンバーリストに関連付けられた取得されたデータは、テキスト「Fr」を含み得る名前及び/又は電子メールアドレスを含むAcme Corporationのワークスペースのメンバーのインジケーション(例えばユーザー識別子)を含み得る。
換言すれば、グループベースコミュニケーションワークスペース識別子に関連付けられた外部ユーザーディレクトリコーパスに関連付けられたデータを取得することに加えて、ユーザー入力に基づいて追加のデータが取得され得る。例えば、グループベースコミュニケーションワークスペース(例えばAcme Corporationのワークスペース)に関連付けられたユーザー識別子も取得され得る。この点で、既にAcme Corporationのワークスペースのメンバーであるグループベースコミュニケーションシステムのユーザーは、サジェストされた受信者ユーザー識別子セットにも含まれ得る。例えば、図6に示されるように、グループベースコミュニケーションシステムのユーザーFrankのユーザー識別子606は、Francisを含むディレクトリユーザーデータオブジェクト604(例えば外部ユーザー識別子)の複数のインジケーションと共にレンダリングされる。
図6に示されるように、及び送信ユーザークライアントデバイスが、外部ユーザーディレクトリコーパスが受け取られた第1クライアントデバイスとは異なる、ある実施形態においては、送信ユーザークライアントデバイスのユーザーは、メッセージングコミュニケーションを閲覧し、送信ユーザークライアントデバイス及び外部ユーザーディレクトリコーパスに基づいて、第1クライアントデバイスのユーザーのスポンサーユーザー識別子に関連付けられた1つ以上のディレクトリユーザーデータオブジェクトに送り得て、ここで送信ユーザークライアントデバイス及び外部ユーザーディレクトリコーパスの両方は、グループベースコミュニケーションワークスペース識別子に関連付けられており、ある実施形態では、第1ドメインに関連付けられている。換言すれば、Acme Corporationのワークスペースの他のメンバーであるFrankは、ディレクトリクエリを開始し得て、グループベースコミュニケーションシステムにインジェストされたAdrianの連絡先へのコミュニケーションを閲覧し及び/又はAdrianの連絡先へ転送し得る。ある実施形態では、これは、Frankが、Frankには以前は知られておらず、Adrianに知られていた、グループベースコミュニケーションシステムの外部にいる1人以上の同僚の連絡先情報をすばやく探し当てることを可能にし得る。
図4Aに戻って、操作406において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、外部ユーザーディレクトリコーパスから、外部ユーザー識別子に関連付けられたメッセージングコミュニケーション送信リクエストを受け取るように構成される。この点で、ある実施形態では、送信ユーザークライアントデバイスのユーザーが外部ユーザーを選択し(例えばAdrianがFrancisを選択する)メッセージデータを構築すると、Adrianは、メッセージングコミュニケーション送信リクエストを生成することに関連付けられたユーザーインターフェイスエレメントとエンゲージし得る。ある実施形態では、このユーザーインターフェイスエレメントは、メッセージングコミュニケーションが送られるようにすることを示すボタン(例えば「送信」ボタン)を含み得る。ある実施形態では、メッセージングコミュニケーション送信リクエストは、例えば送信ユーザークライアントデバイスにおけるユーザー(例えばAdrian)によって生成され得るメッセージデータを含む。この点で、メッセージデータは、テキスト(例えばFrancisへのメッセージ)、絵文字、及び/又はそれらの類似物を含み得る。換言すれば、メッセージングコミュニケーション送信リクエストを受け取ると、グループベースコミュニケーション装置205に対して、Adrianによって構築されたメッセージングコミュニケーションが送信可能な状態であることが示され得る。
ある実施形態では、メッセージングコミュニケーション送信リクエストは、送信ユーザークライアントデバイスに表示されたグループベースコミュニケーションインターフェイスにレンダリングされたダイレクトメッセージング入力インターフェイスに対するユーザーエンゲージメントに応答して、生成され得る。例えば、Adrianは、Beta BrandsのFrancisへダイレクトメッセージを構築し送信したいかもしれず、そうするためにAdrianのデバイスにおいてレンダリングされたダイレクトメッセージング入力インターフェイスにエンゲージするかもしれない。
ある実施形態では、メッセージングコミュニケーション送信リクエストは、送信ユーザークライアントデバイスに表示されたグループベースコミュニケーションインターフェイスにレンダリング車両についてメッセージングコミュニケーション入力インターフェイスに対するユーザーエンゲージメントに応答して、生成され得る。例えば、Adrianは、メッセージングコミュニケーションを構築及び送信し、Acme Corporationのワークスペースの特定のグループベースコミュニケーションチャンネルにポストしたいかもしれず、そうするためにAdrianのデバイスにレンダリングされたメッセージングコミュニケーション入力インターフェイスにエンゲージするかもしれない。換言すれば、そのメッセージングコミュニケーションが、送信ユーザークライアントデバイスにレンダリングされたグループベースコミュニケーションインターフェイス内のグループベースコミュニケーションチャンネルの1つ以上のメッセージングコミュニケーションを表示するように構成されたメッセージペインにレンダリングされるように、Adrianは、メッセージングコミュニケーションをポストしたいかもしれない。
ある実施形態では、メッセージングコミュニケーション送信リクエストは、送信ユーザークライアントデバイスに表示されたグループベースコミュニケーションインターフェイスにレンダリングされたカレンダーメッセージング入力インターフェイスのユーザーエンゲージメントに応答して生成され得る。例えば、Adrianは、カレンダーミーティングリクエスト等を構築及び送信したいかもしれず、グループベースコミュニケーションシステムによってAdrianのデバイスにレンダリングされたカレンダーメッセージング入力インターフェイスにエンゲージし得る。
ある実施形態では、メッセージングコミュニケーション送信リクエストは、外部ドキュメント生成ソフトウェア、チケッティングソフトウェア等のような、送信ユーザークライアントデバイスに表示されたグループベースコミュニケーションシステムの外部にあるサードパーティ入力インターフェイスのユーザーエンゲージメントに応答して生成され得る。例えば、Adrianは、例えばAdrianのデバイスでレンダリングされた外部サービス又はソフトウェアに関連付けられたドキュメント及び/又はチケットに埋め込まれた入力インターフェイスとエンゲージすることによってメッセージングコミュニケーション送信リクエストを構築し送信し得る。
操作407において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、リンクされたメッセージオブジェクトとして外部メッセージングリソースによってレンダリングするために、外部ユーザー識別子に関連付けられた外部メッセージングリソースアドレスへのメッセージデータの送信を行うように構成される。ある実施形態では、リンクされたメッセージオブジェクトは、外部ユーザー識別子(例えばFrancis)に関連付けられたユーザーによってエンゲージされる時に、外部メッセージリソース及びグループベースコミュニケーションワークスペース識別子(例えばAcme Corporation)に関連付けられた新メンバーオンボーディングプロトコルを開始するよう構成された招待リクエストインターフェイスを含み得る。
例えば図7は、ある実施形態によって構成された外部電子メールリソースによってレンダリングされた電子メールの形態をとる例示的リンクされたメッセージオブジェクトを示す。リンクされたメッセージオブジェクトの例示的レンダリングに示されるように、リンクされたメッセージオブジェクトは、メッセージデータ706(例えばFrancisへのAdrianのメッセージ)を含み得る。ある実施形態では、リンクされたメッセージオブジェクトは、送信ユーザー識別子(例えばAdrianの名前)のインジケーション、グループベースコミュニケーションワークスペース(Acme Corporationのワークスペース)のインジケーション、及び招待リクエストインターフェイス708も含み得る。エンゲージ可能なボタンとして図示されているが、招待リクエストインターフェイス708は、エンゲージ可能なテキストハイパーリンク、エンゲージ可能な画像、及び/又はそれらの類似物のような、インターフェイスエレメントの任意の形態であり得る。招待リクエストインターフェイス708は、少なくとも1つの外部ユーザー識別子(例えばFrances)に関連付けられたユーザーによってエンゲージされる時、その外部メッセージリソース及びグループベースコミュニケーションワークスペース識別子に関連付けられた新メンバーオンボーディングプロトコルを開始させるよう構成され得る。
ある実施形態では、Francisによる招待リクエストインターフェイス708のエンゲージメントは、例えば図8に示されるインターフェイス802のレンダリングをさらにトリガし得る。インターフェイス802は、ユーザーインターフェイスエレメント(例えばテキストボックス)にその電子メールアドレスを入力することによってFrancisがその電子メールアドレスを確認し、もう一つのインターフェイスエレメント804にエンゲージして先に進むことをリクエストし得る。
図4Bは、上で説明され図4Aに図示された操作によって表現された例示的データフローの信号図である。方法400は、少なくとも1つのクライアントデバイス108(ある実施形態では2つ以上のクライアントデバイスによって実行され得るが)、グループベースコミュニケーション装置205、1つ以上の外部メッセージングリソース118、及びグループベースコミュニケーションリポジトリ206によって実行されるものとして説明されている。これらデバイスは、図1について上で以前に説明したものと同様であり得る。
上の例で続ければ、招待リクエストインターフェイス708は、少なくとも1つの外部ユーザー識別子(例えばFrances)に関連付けられたユーザーによってエンゲージされる時に、外部メッセージリソース及びグループベースコミュニケーションワークスペース識別子に関連付けられた新メンバーオンボーディングプロトコルの開始を行うよう構成され得る。
ある実施形態では、新メンバーオンボーディングプロトコルは、外部ユーザー識別子及びグループベースコミュニケーションワークスペース識別子に関連付けられたゲストアクセス特権の割当を行い得る。この点で、外部ユーザー(例えばFrancis)は、招待リクエストインターフェイス708にエンゲージし、新メンバーオンボーディングプロトコルを開始すると、今度はゲストアクセス特権を付与され得て、制限されたやり方でグループベースコミュニケーションワークスペースとインタラクトすることが可能にされ得る。例えば、Francisは、グループベースコミュニケーションチャンネルにメッセージをポストし、ダイレクトメッセージをチャンネルメンバーにポストすることが可能であり得るが、グループベースコミュニケーションチャンネル又はワークスペースを作成することは不可能であり得る。
ある実施形態では、新メンバーオンボーディングプロトコルは、外部ユーザー識別子及びグループベースコミュニケーションワークスペース識別子に関連付けられたフルメンバーアクセス特権の割当を行い得る。この点で、外部ユーザー(例えばFrancis)は、招待リクエストインターフェイス708にエンゲージし、新メンバーオンボーディングプロトコルを開始すると、今度は、フルメンバー特権を有し、グループベースコミュニケーションワークスペース内で完全にインタラクトすることが可能であり得る。
ある実施形態では、新メンバーオンボーディングプロトコルの開始は、招待リクエストインターフェイスに関連付けられた許可確認の送信を含み得る。図5Aに戻ると、操作501において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、招待リクエストインターフェイスに関連付けられた許可確認を受け取るよう構成される。
ある実施形態では、招待リクエストインターフェイスに関連付けられた許可確認は、外部ユーザー識別子に関連付けられた外部クライアントデバイス(例えばFrancisのデバイス)から受け取られ得る。ある実施形態では、許可確認は、外部ユーザー識別子、スポンサーユーザー識別子(例えばAdrianのユーザー識別子)、及びグループベースコミュニケーションワークスペース識別子(Acme Corporationのワークスペース識別子)を含み得る。この点で、許可確認は、Francisがグループベースコミュニケーションシステム及びワークスペースに参加したく、及び新メンバーオンボーディングプロトコルに関与したいことを示し得る。
操作502において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、許可確認に基づいて許可リクエストを生成するよう構成される。例えば、許可リクエストは、その許可確認に関連付けられた少なくとも1つの外部ユーザー識別子、スポンサーユーザー識別子、及びグループベースコミュニケーションワークスペース識別子を含み得る。
操作503において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、グループベースコミュニケーションワークスペース識別子に関連付けられた管理者クライアントデバイスへの許可リクエストの送信を行うように構成される。この点で、管理者ユーザー、例えばAdamは、Francisのグループベースコミュニケーションワークスペースへ参加する能力を承認又は拒否し得る。
実施形態では、上述のように、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、1人以上の管理者ユーザーによるレビューのために、外部承認プロビジョニングサービス110への許可リクエストの送信を行うよう構成され得る。例えば、グループベースコミュニケーション装置は、外部承認API115を介して外部承認プロビジョニングサービスとインタラクトし得る。ある実施形態では、管理者クライアントデバイス109の1人以上の管理者ユーザーは、外部承認プロビジョニングサービス110の使用を通じて許可リクエストをレビューし得る。この点で、Adamは、外部承認プロビジョニングサービスを利用することによって、外部承認プロビジョニングサービス110において受け取られた許可リクエストを承認又は拒否し得る。
しかしある実施形態では、グループベースコミュニケーション装置205は、招待リクエストインターフェイスに関連付けられたオンボーディングプロセスの承認又は拒否のために、グループベースコミュニケーションワークスペース識別子に関連付けられた管理者クライアントデバイス109(例えばAdamのデバイス)への許可リクエストの直接の送信を行い得る。
操作504において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、許可リクエストに応答して、管理者クライアントデバイスから承認インジケーションを受け取るよう構成される。
ある実施形態では、承認インジケーションは、管理者クライアントデバイス109において生成され得て、及びグループベースコミュニケーション装置205に送信され得る。ある実施形態では、承認インジケーションは、招待リクエストインターフェイスに関連付けられた許可インターフェイスリクエストをレビューした1人以上の管理者ユーザー(例えばAdam)が、Francisがグループベースコミュニケーションワークスペースに参加することを承認することを示すインジケーションを含み得る。この点で、ある実施形態では、承認インジケーションは、招待リクエストインターフェイスの管理者ユーザーによる承認を示し得る。
操作505において、プロセッサ202、通信回路208、及び/又はそれらの類似物のようなグループベースコミュニケーション装置205は、少なくとも1つの外部ユーザー識別子及びグループベースコミュニケーションワークスペース識別子に関連付けられた共有承認インジケーションを追加するよう、共有承認リポジトリを更新するよう構成される。上述のように、共有承認リポジトリは、それぞれのグループベースコミュニケーションリソースについて、特定のユーザー識別子及び/又はオーガナイゼーション識別子に相互関連された共有承認インジケーションを記憶するよう構成されたテーブルであり得る。ある実施形態では、いったんFrancisの外部ユーザー識別子及びAcme Corporationのワークスペース識別子に関連付けられた共有承認インジケーションを含むように共有承認リポジトリが更新されると、Acme Corporationのワークスペースは、Francisのクライアントデバイスを介してFrancisがアクセス可能になり得る。
図5Bは、上で説明され図5Aで図示される操作によって表される例示的データフローの信号図である。方法500は、クライアントデバイス108、管理者クライアントデバイス109、グループベースコミュニケーション装置205、及び共有承認リポジトリ206Aによって実行されるものとして説明されている。これらのデバイスは、図1について以前に上で説明したものと同様であり得る。
[結論]
前述の説明及び添付の図面に提示した教示を利用できる本開示が関連する技術における当業者であれば、多くの改変及び他の実施形態に想到するだろう。したがって、本開示は、開示された特定の実施形態に限定されるべきではなく、変形例及び他の実施形態が添付の特許請求の範囲の範囲内に含まれることが意図されることを理解されたい。特定の語がここでは採用されているが、それらは、一般的かつ記述的な意味で用いられてだけであり、限定を目的とするものではない。