(57)【要約】グループベースコミュニケーションプラットフォームが利用されて、グループベースコミュニケーションプラットフォームを介してクライアントデバイスの間でやりとりされるメッセージに基づいて、それぞれの外部アプリケーションシステムを介して１つ以上の処理アクションを実行する。特定の処理アクションは、コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することによって特定のメッセージについて実行され得る。ペイロードデータは、処理アクションが実行されるべきメッセージを含む。コンテナは、プロキシエンドポイントを介して外部アプリケーションシステムに提供されることによって、外部アプリケーションシステムに、コンテナ内に含まれるデータに基づいて処理アクションを実行させる。【選択図】図１
2021510883.tif 000002
【特許請求の範囲】
【請求項１】
外部アプリケーションシステム内でメッセージに基づいて処理アクションを実行するコンピュータで実現される方法であって、前記方法は、
グループベースコミュニケーションプラットフォームの１つ以上のプロセッサを介して、コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、処理アクションテーブル内に記憶されたデータに少なくとも部分的に基づいて生成され、（１）外部アプリケーションシステムによって実行されるべき処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記グループベースコミュニケーションプラットフォームを介してやり取りされるメッセージを含む、コンテナを生成すること、
前記グループベースコミュニケーションプラットフォームの前記１つ以上のプロセッサを介して、前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記グループベースコミュニケーションプラットフォームの前記１つ以上のプロセッサを介して、前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークンを含む、応答を受け取ること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスにインタラクティブダイアログを表示させること、
前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記処理アクションを実行できるようにすること
を含むコンピュータで実現される方法。
【請求項２】
前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び
前記リクエストしているクライアントデバイスに確認メッセージを送信すること
をさらに含む請求項１に記載のコンピュータで実現される方法。
【請求項３】
前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される
請求項２に記載のコンピュータで実現される方法。
【請求項４】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記方法は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
をさらに含む、請求項１に記載のコンピュータで実現される方法。
【請求項５】
前記メッセージは、１つ以上の特性に関連付けられ、
前記方法は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリストに含まれる前記処理アクションは、前記メッセージに関連付けられた前記特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
をさらに含む、請求項１に記載のコンピュータで実現される方法。
【請求項６】
メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択される
請求項５に記載のコンピュータで実現される方法。
【請求項７】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項１に記載のコンピュータで実現される方法。
【請求項８】
外部アプリケーションシステム内でグループベースコミュニケーションプラットフォームを介して共有されたメッセージに基づいて処理アクションを実行するよう構成されたシステムであって、前記グループベースコミュニケーションプラットフォームは、
１つ以上のメッセージについて利用可能な１つ以上の処理アクションを特定する処理アクションテーブルを備える、１つ以上の非一時的メモリ記憶リポジトリ、及び
１つ以上のプロセッサ
を備え、前記１つ以上のプロセッサは、全体として、
メッセージ及び前記メッセージについての処理アクションの選択をクライアントデバイスから受け取ることであって、前記処理アクションは、前記処理アクションテーブルから選択される、選択を受け取ること、
前記メッセージ及び前記メッセージについての前記処理アクションの前記選択に基づいて、コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、処理アクションテーブル内に記憶されたデータに少なくとも部分的に基づいて生成され、（１）外部アプリケーションシステムによって実行されるべき処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記グループベースコミュニケーションプラットフォームを介してやり取りされるメッセージを含む、コンテナを生成すること、
前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークンを含む、応答を受け取ること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスにインタラクティブダイアログを表示させること、
前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記処理アクションを実行できるようにすること
を行うよう構成された、システム。
【請求項９】
前記１つ以上のプロセッサは、
前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び
前記リクエストしているクライアントデバイスに確認メッセージを送信すること
をさらに行うよう構成された、請求項８に記載のシステム。
【請求項１０】
前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される
請求項９に記載のシステム。
【請求項１１】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記１つ以上のプロセッサは、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること
をさらに行うよう構成され、
前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく、請求項８に記載のシステム。
【請求項１２】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記１つ以上のプロセッサは、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージに関連付けられた特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること
をさらに行うよう構成され、
前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく、請求項８に記載のシステム。
【請求項１３】
メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択される
請求項１２に記載のシステム。
【請求項１４】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項８に記載のシステム。
【請求項１５】
外部アプリケーションシステム内でメッセージに基づいて処理アクションを実行するコンピュータプログラム製品であって、前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能プログラムコード部分を有する少なくとも１つの非一時的コンピュータ読み取り可能記憶媒体を備え、前記コンピュータ読み取り可能プログラムコード部分は、
コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、処理アクションテーブル内に記憶されたデータに少なくとも部分的に基づいて生成され、（１）外部アプリケーションシステムによって実行されるべき処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記グループベースコミュニケーションプラットフォームを介してやり取りされるメッセージを含む、コンテナを生成すること、
前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークンを含む、応答を受け取ること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスにインタラクティブダイアログを表示させること、
前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記処理アクションを実行できるようにすること
を行うよう構成された実行可能部分を備えるコンピュータプログラム製品。
【請求項１６】
前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び
前記リクエストしているクライアントデバイスに確認メッセージを送信すること
を行うよう構成された実行可能部分をさらに備える請求項１５に記載のコンピュータプログラム製品。
【請求項１７】
前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される
請求項１６に記載のコンピュータプログラム製品。
【請求項１８】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記コンピュータプログラム製品は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
を行うよう構成された実行可能部分をさらに含む、請求項１５に記載のコンピュータプログラム製品。
【請求項１９】
前記メッセージは、特性に関連付けられ、
前記コンピュータプログラム製品は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリストに含まれる前記処理アクションは、前記メッセージに関連付けられた前記特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
を行うよう構成された実行可能部分をさらに含む
請求項１５に記載のコンピュータプログラム製品。
【請求項２０】
メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択される、
請求項１９に記載のコンピュータプログラム製品。
【請求項２１】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項１５に記載のコンピュータプログラム製品。
【請求項２２】
外部アプリケーションシステム内でグループベースコミュニケーションプラットフォームを介して共有されたメッセージに基づいて処理アクションを実行するよう構成されたシステムであって、前記グループベースコミュニケーションプラットフォームは、
１つ以上のメッセージについて利用可能な１つ以上の処理アクションを特定する処理アクションテーブルを備える、１つ以上の非一時的メモリ記憶リポジトリ、及び
１つ以上のプロセッサ
を備え、前記１つ以上のプロセッサは、全体として、
メッセージ及び前記メッセージについての処理アクションの選択をクライアントデバイスから受け取ることであって、前記処理アクションは、前記処理アクションテーブルから選択される、選択を受け取ること、
コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、（１）外部アプリケーションシステムによって実行されるべき処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記選択されたメッセージを含み、前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してやり取りされる、コンテナを生成すること、
前記グループベースコミュニケーションプラットフォーム内に記憶され、前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークン、及び前記クライアントデバイスへの提示のための１つ以上のインタラクティブダイアログを特定するダイアログトリガを含む、応答を受け取ること、
前記ダイアログトリガに少なくとも部分的に基づいて、前記１つ以上のインタラクティブダイアログを前記１つ以上の非一時的メモリ記憶リポジトリから取得すること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスに前記１つ以上のインタラクティブダイアログを表示させること、
前記１つ以上のインタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記処理アクションを実行できるようにすること
を行うよう構成された、システム。
【請求項２３】
前記１つ以上のプロセッサは、
前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び
前記リクエストしているクライアントデバイスに確認メッセージを送信すること
をさらに行うよう構成された、請求項２２に記載のシステム。
【請求項２４】
前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される
請求項２３に記載のシステム。
【請求項２５】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記１つ以上のプロセッサは、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること
をさらに行うよう構成され、
前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく、請求項２２に記載のシステム。
【請求項２６】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、グループ識別子に関連付けられ、
前記１つ以上のプロセッサは、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、前記グループ識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること
をさらに行うよう構成され、
前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく、請求項２２に記載のシステム。
【請求項２７】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記１つ以上のプロセッサは、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージに関連付けられた特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること
をさらに行うよう構成され、
前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく、請求項２２に記載のシステム。
【請求項２８】
メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択される
請求項２７に記載のシステム。
【請求項２９】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項２２に記載のシステム。
【請求項３０】
外部アプリケーションシステム内でグループベースコミュニケーションプラットフォームを介して共有されるメッセージに基づいて処理アクションを実行するコンピュータプログラム製品であって、前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能プログラムコード部分を有する少なくとも１つの非一時的コンピュータ読み取り可能記憶媒体を備え、前記コンピュータ読み取り可能プログラムコード部分は、
コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、（１）外部アプリケーションシステムによって実行されるべき記憶された処理アクションテーブルから選択された処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記グループベースコミュニケーションプラットフォームを介してやりとりされるメッセージを含む、コンテナを生成すること、
前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークン、及び前記クライアントデバイスへの提示のための１つ以上のインタラクティブダイアログを特定するダイアログトリガを含む、応答を受け取ること、
前記ダイアログトリガに少なくとも部分的に基づいて、前記１つ以上のインタラクティブダイアログを取得すること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスに前記１つ以上のインタラクティブダイアログを表示させること、
前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記処理アクションを実行できるようにすること
を行うよう構成された実行可能部分を備えるコンピュータプログラム製品。
【請求項３１】
前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び
前記リクエストしているクライアントデバイスに確認メッセージを送信すること
を行うよう構成された実行可能部分をさらに備える請求項３０に記載のコンピュータプログラム製品。
【請求項３２】
前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される
請求項３１に記載のコンピュータプログラム製品。
【請求項３３】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、前記コンピュータプログラム製品は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
を行うよう構成された実行可能部分をさらに備える請求項３０に記載のコンピュータプログラム製品。
【請求項３４】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、グループ識別子に関連付けられ、前記コンピュータプログラム製品は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、前記グループ識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
を行うよう構成された実行可能部分をさらに備える請求項３０に記載のコンピュータプログラム製品。
【請求項３５】
前記メッセージは、特性に関連付けられ、前記コンピュータプログラム製品は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージに関連付けられた前記特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
を行うよう構成された実行可能部分をさらに備える請求項３０に記載のコンピュータプログラム製品。
【請求項３６】
メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択される
請求項３５に記載のコンピュータプログラム製品。
【請求項３７】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項３０に記載のコンピュータプログラム製品。
【請求項３８】
外部アプリケーションシステム内でグループベースコミュニケーションプラットフォーム内の複数のチャンネルのうちの１つのチャンネルを介して共有されたメッセージに基づいて処理アクションを実行するよう構成されたシステムであって、前記グループベースコミュニケーションプラットフォームは、
前記複数のチャンネルのうちの対応するチャンネルを介してやりとりされる１つ以上のメッセージについて利用可能である１つ以上の処理アクションをそれぞれ特定する複数の処理アクションテーブルを備える、１つ以上の非一時的メモリ記憶リポジトリ、及び
１つ以上のプロセッサ
を備え、前記１つ以上のプロセッサは、全体として、
特定のチャンネル内でやりとりされたメッセージ、及び前記特定のチャンネルに対応する処理アクションテーブルから前記メッセージについて選択された処理アクションの選択を前記クライアントデバイスから受け取ることであって、前記処理アクションは、前記処理アクションテーブルから選択される、選択を受け取ること、
コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、外部アプリケーションシステムによって実行されるべき処理アクション、及び前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記選択されたメッセージを含む、コンテナを生成すること、
前記グループベースコミュニケーションプラットフォーム内に記憶され、前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークン、及び前記クライアントデバイスへの提示のための１つ以上のインタラクティブダイアログを特定するダイアログトリガを含む、応答を受け取ること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスに前記１つ以上のインタラクティブダイアログを表示させること、
前記１つ以上のインタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記処理アクションを実行できるようにすること
を行うよう構成された、システム。
【請求項３９】
前記１つ以上のプロセッサは、
前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び
前記リクエストしているクライアントデバイスに確認メッセージを送信すること
をさらに行うよう構成された、請求項３８に記載のシステム。
【請求項４０】
前記確認メッセージは、前記特定のチャンネル内で前記クライアントデバイスにメッセージとして送信される
請求項３９に記載のシステム。
【請求項４１】
前記特定のチャンネルは、グループ識別子に関連付けられ、前記１つ以上のプロセッサは、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、前記グループ識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること
をさらに行うよう構成され、
前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく、請求項３８に記載のシステム。
【請求項４２】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項３８に記載のシステム。
【請求項４３】
グループベースコミュニケーションプラットフォーム内で複数のチャンネルのうちの１つのチャンネルを介して共有されるメッセージに基づいて処理アクションを実行するコンピュータプログラム製品であって、前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能プログラムコード部分を有する少なくとも１つの非一時的コンピュータ読み取り可能記憶媒体を備え、前記コンピュータ読み取り可能プログラムコード部分は、
コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、（１）複数のチャンネルのうちの特定のチャンネルに対応する記憶された処理アクションテーブルから選択された処理アクションであって、前記記憶された処理アクションテーブルは、複数の処理アクションテーブルから特定され、前記選択された処理アクションは、外部アプリケーションシステムによって実行される、処理アクション、及び（２）前記処理アクションをリクエストするクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記特定のチャンネル内でやりとりされるメッセージを含む、コンテナを生成すること、
前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークン、及び前記クライアントデバイスへの提示のための１つ以上のインタラクティブダイアログを特定するダイアログトリガを含む、応答を受け取ること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスに前記１つ以上のインタラクティブダイアログを表示させること、
前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられるべき前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記処理アクションを実行できるようにすること
を行うよう構成された実行可能部分を備えるコンピュータプログラム製品。
【請求項４４】
前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び
前記リクエストしているクライアントデバイスに確認メッセージを送信すること
を行うよう構成された実行可能部分をさらに備える請求項４３に記載のコンピュータプログラム製品。
【請求項４５】
前記確認メッセージは、前記特定のチャンネル内で前記クライアントデバイスにメッセージとして送信される
請求項４４に記載のコンピュータプログラム製品。
【請求項４６】
前記特定のチャンネルは、グループ識別子に関連付けられ、前記コンピュータプログラム製品は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、前記グループ識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること
を行うよう構成された実行可能部分をさらに備え、
前記処理アクションの前記選択は、複数の処理アクションの前記キュレートされたリストに少なくとも部分的に基づく、請求項４３に記載のコンピュータプログラム製品。
【請求項４７】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項４３に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本願は、米国出願シリアル番号１６／２０６，５４２の優先権を主張し、これは、２０１８年１０月３１日に出願された米国出願シリアル番号１６／１７６，８８３の継続出願であり、これは、２０１８年５月２１日に出願された米国仮出願シリアル番号６２／６７４，４９１の優先権を主張し、これらの全ては、それら全体がここで参照によって援用される。
【背景技術】
【０００２】
少なくとも部分的に中央化されたメッセージングサーバーシステムを介して複数のクライアントデバイス及び外部システムの間でコミュニケーションインターフェイス内でメッセージをやりとりしたり、統合したりするためのシステムが提供されている。
【０００３】
投入された努力、創意、及び革新を通して、そのようなシステムの多くの欠点は、本発明の実施形態による解決策を創出することによって解決されてきており、その多くの例が詳細にここで記載されている。
【発明の概要】
【課題を解決するための手段】
【０００４】
さまざまな実施形態は、グループベースコミュニケーションプラットフォーム及び１つ以上の外部システムの間の実体的なインタラクションを可能にすることによって、グループベースコミュニケーションプラットフォームがそれら外部システム内でさまざまな機能を実行できるようにするシステム及び方法に関する。
【０００５】
さまざまな実施形態は、外部アプリケーションシステム内でメッセージに基づいて処理アクションを実行するコンピュータで実現される方法に関する。ある実施形態では、前記方法は、グループベースコミュニケーションプラットフォームの１つ以上のプロセッサを介して、コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、処理アクションテーブル内に記憶されたデータに少なくとも部分的に基づいて生成され、（１）外部アプリケーションシステムによって実行されるべき処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記グループベースコミュニケーションプラットフォームを介してやり取りされるメッセージを含む、コンテナを生成すること、前記グループベースコミュニケーションプラットフォームの前記１つ以上のプロセッサを介して、前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、前記グループベースコミュニケーションプラットフォームの前記１つ以上のプロセッサを介して、前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークンを含む、応答を受け取ること、前記応答に少なくとも部分的に基づいて、前記クライアントデバイスにインタラクティブダイアログを表示させること、前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記特定された処理アクションを実行できるようにすることを含む。
【０００６】
ある実施形態では、前記方法は、前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び前記リクエストしているクライアントデバイスに確認メッセージを送信することをさらに含む。ある実施形態では、前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される。さらに、さまざまな実施形態では、前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有する。そのような実施形態では、前記方法は、前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ることをさらに含む。
【０００７】
さらに、前記メッセージは、１つ以上の特性に関連付けられ得る。そのような実施形態では、前記方法は、前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリストに含まれる前記処理アクションは、前記メッセージに関連付けられた前記特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ることをさらに含む。さらに、メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択される。ある実施形態では、前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む。
【０００８】
さまざまな実施形態は、外部アプリケーションシステム内でグループベースコミュニケーションプラットフォームを介して共有されたメッセージに基づいて処理アクションを実行するよう構成されたシステムに関する。ある実施形態では、前記グループベースコミュニケーションプラットフォームは、１つ以上のメッセージについて利用可能な１つ以上の処理アクションを特定する処理アクションテーブルを備える、１つ以上の非一時的メモリ記憶リポジトリ、及び１つ以上のプロセッサを備え、前記１つ以上のプロセッサは、全体として、メッセージ及び前記メッセージについての処理アクションの選択をクライアントデバイスから受け取ることであって、前記処理アクションは、前記処理アクションテーブルから選択される、選択を受け取ること、前記メッセージ及び前記メッセージについての前記処理アクションの前記選択に基づいて、コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、処理アクションテーブル内に記憶されたデータに少なくとも部分的に基づいて生成され、（１）外部アプリケーションシステムによって実行されるべき処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記グループベースコミュニケーションプラットフォームを介してやり取りされるメッセージを含む、コンテナを生成すること、前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークンを含む、応答を受け取ること、前記応答に少なくとも部分的に基づいて、前記クライアントデバイスにインタラクティブダイアログを表示させること、前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記処理アクションを実行できるようにすることを行うよう構成される。
【０００９】
さまざまな実施形態では、前記１つ以上のプロセッサは、前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び前記リクエストしているクライアントデバイスに確認メッセージを送信することをさらに行うよう構成されている。ある実施形態では、前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される。さらに、前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有される。そのような実施形態では、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、前記１つ以上のプロセッサは、前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させることをさらに行うよう構成され、前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく。
【００１０】
さまざまな実施形態では、前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有される。そのような実施形態では、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、前記１つ以上のプロセッサは、前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージに関連付けられた特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させることをさらに行うよう構成され、前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく。さらに、メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択され得る。さらに、前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む。
【００１１】
ある実施形態は、外部アプリケーションシステム内でメッセージに基づいて処理アクションを実行するコンピュータプログラム製品に関し、前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能プログラムコード部分を有する少なくとも１つの非一時的コンピュータ読み取り可能記憶媒体を備える。ある実施形態では、前記コンピュータ読み取り可能プログラムコード部分は、コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、処理アクションテーブル内に記憶されたデータに少なくとも部分的に基づいて生成され、（１）外部アプリケーションシステムによって実行されるべき処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記グループベースコミュニケーションプラットフォームを介してやり取りされるメッセージを含む、コンテナを生成すること、前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークンを含む、応答を受け取ること、前記応答に少なくとも部分的に基づいて、前記クライアントデバイスにインタラクティブダイアログを表示させること、前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記処理アクションを実行できるようにすることを行うよう構成されている。
【００１２】
ある実施形態では、前記実行可能部分は、前記外部アプリケーションシステムから前記リクエストされた処理アクションの完了を示す確認応答を受け取ること、及び前記リクエストしているクライアントデバイスに確認メッセージを送信することを行うようさらに構成される。さらに前記確認メッセージは、前記クライアントデバイスにメッセージとして送信され得る。
【００１３】
ある実施形態では、前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、前記コンピュータプログラム製品は、前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる前記処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ることを行うよう構成された実行可能部分をさらに含む。
【００１４】
さまざまな実施形態では、前記メッセージは、特性に関連付けられ、前記コンピュータプログラム製品は、前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリストに含まれる前記処理アクションは、前記メッセージに関連付けられた前記特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ることを行うよう構成された実行可能部分をさらに含む。さらに、メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し得て、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択され得る。ある実施形態では、前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む。
【図面の簡単な説明】
【００１５】
任意の特定の要素又は行為の説明を容易に特定するために、参照番号の最上位の桁又は桁群は、その要素が最初に導入される図の番号を表す。
【図１】図１は、ある実施形態によって１つ以上のクライアントデバイスと通信するグループベースコミュニケーションプラットフォームを含むシステム１００の概略図を示す。
【図２】図２は、ある実施形態によるメッセージ配信サーバー（群）１００の装置２００を示す。
【図３】図３は、ある実施形態によるグループベースコミュニケーションプラットフォームのための処理アクションをロードするためのフローチャート３００を示す。
【図４】図４は、ある実施形態によるグループベースコミュニケーションプラットフォームを介して処理アクションを提供するための開発ポータルを提供するワイヤーフレーム４００を示す。
【図５】図５は、ある実施形態によるグループベースコミュニケーションプラットフォームを介して処理アクションを提供する開発ポータルを提供するワイヤーフレーム５００を示す。
【図６】図６は、ある実施形態によるグループベースコミュニケーションプラットフォームを介して処理アクションを実行するためのフローチャート６００を示す。
【図７】図７は、ある実施形態によるグループベースコミュニケーションインターフェイスのワイヤーフレーム７００を示す。
【図８】図８は、ある実施形態によるグループベースコミュニケーションインターフェイスのワイヤーフレーム８００を示す。
【図９】図９は、ある実施形態による利用可能な処理アクションのキュレートされたリストを含むワイヤーフレーム９００を示す。
【図１０】図１０は、ある実施形態による複数の処理アクションを示すワイヤーフレーム１０００を示す。
【図１１】図１１は、ある実施形態によるインタラクティブダイアログを示すワイヤーフレーム１１００を示す。
【発明を実施するための形態】
【００１６】
［用語集］
この文脈での「グループ識別子」は、それによってグループベースコミュニケーションシステム内のグループが特定され得る、データの１つ以上のアイテムを表す。グループ識別子は、ある実施形態では、「チーム識別子」と呼ばれることもある。例えば、グループ識別子又はチーム識別子は、ＡＳＣＩＩテキスト、ポインタ、メモリアドレス等を含み得る。
【００１７】
この文脈での「ユーザー」は、個人、個人のグループ、企業、組織等を表す。ユーザーは、クライアントデバイスを用いてグループベースコミュニケーション又はメッセージングシステムにアクセスし得る。「グループベース」は、ユーザーの定義されたグループにしかアクセス可能ではないような十分なセキュリティを有するシステム、チャンネル、メッセージ、又は仮想環境を表すためにここでは用いられる。このグループは、組織又は営利事業のそれらのような共通アクセス認証情報（common access credentials）によって定義され得る。アクセスは、参加のための検証されたリクエスト又はあるグループメンバーユーザーによって別の非メンバーユーザーに送信された参加のための招待によってさらに促進され得る。グループ識別子（以下に定義される）は、データ、情報、メッセージ等を特定のグループに関連付けるために用いられる。
【００１８】
この文脈での「送信ユーザー識別子」は、特定のユーザー（すなわちその特定のユーザーに関連付けられたクライアントデバイス）によって送信されたメッセージ群の集合体を表す。これらメッセージは、そのユーザーに関するコンテキストを確定するために分析され得る（例えばあるトピックにおけるそのユーザーの専門知識又は興味は、そのようなメッセージ群の中のトピックに関連付けられたトピック又はキーワードへの言及に基づいて確定され得る）。
【００１９】
この文脈での「コンテクスチュアルデータ」は、リクエストしているクライアントデバイスに代わって外部システムによって実行されるべき処理アクションのさまざまな局面を特定し得る。コンテクスチュアルデータは、外部システムをトリガして特定の処理アクションを実行させるために、適切なプロキシエンドポイントにコンテナを適切にルーティングするよう、グループベースコミュニケーションシステムによって利用され得る。コンテクスチュアルデータは、実行されるべきリクエストされた処理アクションを特定し、及び／又はクライアントデバイスからリクエストされるべき任意の追加のデータを特定するために、外部システムによってさらに利用され得る（例えばグループベースユーザーインターフェイスを介して提示された１つ以上のインタラクティブダイアログを介して）。さらに、コンテクスチュアルデータは、特定のメッセージオブジェクトがグループベースコミュニケーションプラットフォームを介してシェアされた時を示すタイムスタンプ、メッセージオブジェクト、処理アクションをリクエストしているクライアントデバイスをクライアントトークン及び／又はこれらの類似物を初期的にシェアしたユーザー（及び／又はクライアントデバイス）を示す送信ユーザー識別子のような、メッセージオブジェクト（例えばメッセージ、ファイル、複数のメッセージ群（例えばコミュニケーションチャンネル内の全てのメッセージ）及び／又はこれらの類似物）のさまざまな特性を特定し得る。
【００２０】
この文脈での「クライアントデバイス」は、１つ以上のサーバーによって利用可能にされた１つ以上のサービスにアクセスするよう構成されたコンピュータハードウェア（群）及び／又はソフトウェア（群）を表す。このサーバー（群）は、しばしば（必ずしもそうではないが）別のコンピュータシステム上に存在し得て、その場合、クライアントデバイスは、そのサーバーにネットワークによってアクセスする。クライアントデバイスは、グループ識別に関連付けられ得て、ここでグループ識別は、ユーザーが属するグループ（例えばユーザーグループ）を示唆する電子的指示（electronic indication）である。クライアントデバイスは、限定としてではなく、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ウェラブルデバイス、パーソナルコンピュータ、エンタープライズコンピュータ等を含み得る。
【００２１】
この文脈での「ユーザープロファイル」は、例えばユーザー識別子、そのユーザーがアクセスを許可されたコミュニケーションチャンネル（例えばグループベースコミュニケーションチャンネル）に関連付けられた１つ以上のコミュニケーションチャンネル識別子（例えばグループベースコミュニケーションチャンネル識別子）、そのユーザーが関連付けられたグループについての１つ以上のグループ識別子、そのユーザーが任意のグループベースコミュニケーションチャンネルのオーナーであるかについての指示、そのユーザーが任意のグループベースコミュニケーションチャンネル制限を有するかについての指示、複数のメッセージ、複数の絵文字、複数の会話、複数の会話トピック、アバター、電子メールアドレス、実名（例えばJohn Doe）、ユーザー名（例えばjdoe）、パスワード、タイムゾーン、ステータス、及びその他を含む、ユーザーに関連付けられた情報を表す。ユーザープロファイルという語は、「ユーザーアカウント、及びユーザーアカウント詳細」と交換可能に用いられ得る。ユーザーアカウント詳細は、例えば、そのユーザーのユーザー名及びパスワードを含むそのユーザーのためのログイン情報のような、ユーザー資格情報のサブセット指定を含み得る。
【００２２】
この文脈での「キュレートされたリスト」は、クライアントデバイスを介して表示可能であるグループベースコミュニケーションインターフェイスを介してユーザーに提示され得る利用可能な処理アクションのリスティングを表す。ある実施形態では、処理アクションのキュレートされたリストは、処理アクションのキュレートされたリストが、ユーザーに利用可能な処理アクションの全てのうちからサブセットだけを含むように、そのユーザーに対するある処理アクションを除外する。例えば、処理アクションのキュレートされたリストは、１つ以上の表示基準に基づいて選択された、利用可能な処理アクションの規定された個数（例えば５処理アクション）を含み得る。これらの表示基準は、処理アクションが利用されるべきであると意図された処理アクションについてのメッセージに関連付けられたコンテクスチュアルメタデータに少なくとも部分的に基づいて（例えばキュレートされたリスト内で表示された処理アクションは、特定のアプリによって生成されたメッセージのような、特定の送信ユーザー識別子を有するメッセージについて利用可能な処理アクションを含み得る）、メッセージがシェアされるコミュニケーションチャンネルに少なくとも部分的に基づいて、特定のユーザーについて最も最近に用いられたか及び／又は最も頻繁に用いられたかを特定する最近性及び／又は頻度に基づくアルゴリズムに基づいて、等で特定され得る。ある実施形態では、キュレートされたリストは、個別のクライアントデバイス上に記憶されたデータ（例えば特定のクライアントデバイスについて最も最近に用いられた処理アクションを示すデータ）及び／又はグループベースコミュニケーションプラットフォームに位置するデータリポジトリに少なくとも部分的に基づいて生成され得る。
【００２３】
この文脈での「メッセージ配信サーバー」は、コミュニケーションチャンネル内での配信のために、メッセージを受信及び／又は拡散するさまざまなクライアントデバイスとインタラクトするよう構成されたコンピューティングデバイスを表す。メッセージ配信サーバーは、ユーザー間で交換されるメッセージを受信、記憶（関連付けられたデータベース内で）、及び／又は転送するよう構成され得る（クライアントデバイスを介して）。メッセージ配信サーバーの機能は、単一のサーバー又は共通の機能を有するサーバー群の集合体を介して提供され得るか、又はメッセージ配信サーバーの機能は、メッセージ配信サーバーの記載された機能のサブセットを実行する複数のサーバー群又はサーバー群の集合体群の間で分割され得る。例えば、メッセージ配信サーバーの第１サブセットは、クライアントデバイスからメッセージを受信するよう及び／又はクライアントデバイスにメッセージを送信するよう構成され得る（例えば１つ以上のインターフェイスサーバーを介して）。これらメッセージ配信サーバーは、コミュニケーションチャンネル内で配信されたメッセージを収集するよう及びインデキシング及びアーカイビングのためにこれらメッセージをメッセージリポジトリデータベース内に記憶するよう構成された、メッセージ配信サーバーの第２サブセットと通信し得る。
【００２４】
この文脈での「コミュニケーションチャンネル」は、システム群及びシステム群の部分の間で及びその中でのデータのやりとりのために用いられる情報ルート及び関連付けられた回路を表す。例えば、コミュニケーションチャンネルは、さまざまなクライアントデバイスの間で確立され得て、これらクライアントデバイスがデータを互いの間で通信及び共有できるようにする。これらコミュニケーションチャンネルは、当該グループの全てのユーザーの間でメッセージをシェアするためのクライアントデバイス（及びそれらのそれぞれのユーザー）の選択グループ（select group）の間で確立された「グループベースコミュニケーションチャンネル」であり得る。コミュニケーションチャンネルは、また及び／又は代替として、それら２つのユーザーの間でだけメッセージをシェアするための、２つのクライアントデバイス（及びそれらのそれぞれのユーザー）の間で確立された１対１のダイレクトメッセージコミュニケーションチャンネルであり得る。マルチプルコミュニケーションチャンネルは、１つ以上のコンピューティングデバイスのそれぞれの上で動作し得て、したがって、コミュニケーションチャンネル識別子は、コミュニケーションチャンネルに割当され得て、これは、コミュニケーションチャンネルの関連するデータが記憶され、そのコミュニケーションチャンネル上でやりとりされるデータを受信するためにコミュニケーションチャンネル内で参加するクライアントデバイスを特定するのに利用されるデータベース内での物理アドレスを示す。したがってコミュニケーションチャンネル識別子は、複数のコミュニケーションチャンネルに関連付けられたコンピューティングデバイス上であっても、コミュニケーションチャンネルが別個で分離されたままであることを確実にする。コミュニケーションチャンネルは、「public（パブリック）」であり得て、これは、そのコミュニケーションチャンネルを通じて任意のクライアントデバイスが情報共有に参加及び関与できるようにさせ得る。コミュニケーションチャンネルは、「private（プライベート）」であり得て、これは、そのコミュニケーションチャンネルにおけるデータ通信を、あるクライアントデバイス及び／又はユーザーに制限し得る。
【００２５】
この文脈での「ペイロードデータ」は、ここで論述されるようにコンテナの一部を形成するデータを表す。このペイロードデータは、１つ以上のメッセージ（例えばメッセージテキスト、やりとりされるメッセージに添付されるファイル、複数の個別のやりとりされるメッセージ、及び／又はこれらの類似物）を含み得る。
【００２６】
この文脈での「インタラクティブダイアログ」は、ユーザー入力を受け入れるよう構成されたユーザーインターフェイス要素を表す（例えば自由形式の入力等としての複数の利用可能なオプションのうちの１つ以上の選択として）。ダイアログは、ユーザーインターフェイスの他の部分の上に視覚的に表示されるポップアップ又はオーバーレイ表示要素として提示され得て、又はこのダイアログは、より大きなユーザーインターフェイス要素の一部として提示され得る。
【００２７】
この文脈での「外部アプリケーションシステム」は、グループベースコミュニケーションプラットフォームとネットワーク通信でき、グループベースコミュニケーションプラットフォームを介してアクセス可能であるアプリのさまざまな機能を形成するアクションをサービス、管理、及び／又は実行する１つ以上のサーバーを介して動作するシステムを表す。外部アプリケーションシステムは、外部アプリケーションシステムを介して実行され得るタスク、機能、及び／又はアクションに関連付けられた追加の記憶リポジトリ（例えばデータベース）を備え得る。ある実施形態では、外部アプリケーションシステムは、１つ以上の実行可能なソフトウェアプロダクトを動作させることで、その外部アプリケーションシステムに関連付けられたさまざまなタスク、機能、及び／又はアクションを実行する。さまざまな例として、外部アプリケーションシステムは、カレンダリング／シュケジューリングアプリ、to-doリストアプリ、サービスプロバイダアプリ、ソフトウェアテストアプリ、記憶リポジトリアプリ及び／又はこれらの類似物を実行するよう構成され得る。
【００２８】
この文脈での「データ」は、本発明の実施形態によって送信され、受信され、及び／又は記憶されることが可能であるデータを表す。よって、任意のそのような語の使用は、本発明の実施形態の精神及び範囲を限定するようには解釈されるべきではない。さらに、コンピューティングデバイスが他のコンピューティングデバイスからデータを受信するよう、ここで記載される場合は、データは、他のコンピューティングデバイスから直接に受信されてもよく、又は例えば１つ以上のサーバー、リレー、ルータ、ネットワークアクセスポイント、基地局、ホスト、及び／又はこれらの類似物のような１つ以上の媒介コンピューティングデバイスを介して間接的に受信されてもよいことが理解されよう。同様に、コンピューティングデバイスがデータを別のコンピューティングデバイスに送信するようここで記載される場合、そのデータは、直接に他のコンピューティングデバイスに送信されてもよく、又は例えば１つ以上のサーバー、リレー、ルータ、ネットワークアクセスポイント、基地局、ホスト、及び／又はこれらの類似物のような１つ以上の媒介コンピューティングデバイスを介して間接的に送信されてもよいことが理解されよう。
【００２９】
この文脈での「クライアントトークン」は、特定のクライアントデバイスをユニークに特定する識別子を表す。このクライアントトークンは、静的であってもよく（例えば、関連付けられたクライアントトークンを変更するために肯定的なアクションが取られるまでは、クライアントデバイスが特定のクライアントトークンに永久的に関連付けられる）、又は動的であってもよい（例えば、クライアントトークンは、特定のクライアントデバイスに、特定のタスクの実行に関連付けられた期間、グループベースコミュニケーションプラットフォームによるユニークなクライアントセッションに関連付けられた期間、及び／又はこれらの類似物のような、短期間だけ割当される）。さらに、クライアントトークンは、クライアントトークンの無許可使用に対するさらなるセキュリティのためにさまざまな暗号化方法のうちの任意のものを利用してある実施形態では暗号化され得る。
【００３０】
この文脈での「プライベートグループベースコミュニケーションチャンネル」は、グループベースコミュニケーションシステムの他のメンバーによって一般的にはアクセス可能であったり、及び／又は検索可能であったりはしないように制限されたアクセスしか持たないグループベースコミュニケーションチャンネルを表す。例えば、プライベートグループベースコミュニケーションチャンネルについての知識があり、かつそれにアクセスできる許可を持つユーザー又は管理者だけが（例えばそのプライベートグループベースコミュニケーションチャンネルについてのグループベースコミュニケーションチャンネル識別子は、ユーザーが検証／認証された後で、それらのユーザープロファイルに関連付けられている）プライベートグループベースコミュニケーションチャンネルのコンテンツを閲覧してもよい。
【００３１】
この文脈での「グループベースコミュニケーションプラットフォーム」は、１つ以上のクライアントデバイスにアクセス可能であり、データベースの動作に関連する複数のソフトウェアアプリケーションへのアクセスを提供するよう動作可能であるコンピューティングサービスの集合体を表す。ある例では、グループベースコミュニケーションプラットフォームは、ソフトウェアアプリケーションを走らせていて、デジタルコンテンツアイテム、アプリケーション関連データ及び／又はこれらの類似物を記憶する１つ以上のデータベースにアクセスを有する１つ以上の追加のサーバーと通信するよう構成された１つ以上のセントラルサーバーの形態をとり得る。グループベースコミュニケーションプラットフォームは、クライアント保持設定（client retention settings）及び他のコンプライアンス局面もサポートし得る。さらに、グループベースコミュニケーションプラットフォームは、データへの適切なアクセスを許可し、サードパーティがアプリケーション及びボットを構築してカスタマーのワークフローと統合するのを可能にする包括的なサードパーティ開発者サポートを提供し得る。グループベースコミュニケーションプラットフォームユーザーは、オーガナイゼーショングループに組織化され（例えばそれぞれの会社の従業員は別個のオーガナイゼーショングループであり得る）、それぞれのオーガナイゼーショングループは、ユーザーが割当され得る、又はユーザーが参加し得る１つ以上のコミュニケーションチャンネル（例えばグループベースコミュニケーションチャンネル）を有し得る（例えばグループベースコミュニケーションチャンネルは、部門、オフィスのような地理的位置、プロダクトライン、ユーザーの関心、トピック、論点、及び／又はこれらの類似物を表し得る）。グループ識別子は、メッセージについてのアクセス制御を促進するのに用いられ得る（例えば、サーチクエリに応答するサーチリザルトの一部としてメッセージリターンを有することのようなメッセージへのアクセスは、そのユーザープロファイルに関連付けられたグループ識別子を有するユーザーに制限され得る）。グループ識別子は、メッセージについてのコンテキストを確定するのに用いられ得る（例えば、オーガナイゼーションの名前及び／又はそのオーガナイゼーションの簡単な説明のようなグループの記載は、グループ識別子に関連付けられ得る）。グループベースコミュニケーションシステムユーザーは、コミュニケーションチャンネル（例えばグループベースコミュニケーションチャンネル）に参加及び／又はそれを作成し得る。あるグループベースコミュニケーションチャンネルは、それらのユーザープロファイルに関連付けられた特定のオーガナイゼーションのグループ識別子を有するユーザー（すなわちそのオーガナイゼーションのメンバーであるユーザー）にグローバルにアクセス可能であり得る。あるグループベースコミュニケーションチャンネルへのアクセスは、特定のグループのメンバーに制限され得て、これによってそのグループベースコミュニケーションチャンネルは、それらのユーザープロファイルに関連付けられた特定のグループ識別子を有するユーザーにアクセス可能である。グループベースコミ��ニケーションチャンネル識別子は、メッセージについてのアクセス制御を促進するために用いられ得る（例えば、サーチクエリに応答するサーチリザルトの一部としてメッセージリターンを有することのようなメッセージへのアクセスは、そのユーザープロファイルに関連付けられたグループ識別子を有するか、又はそのグループベースコミュニケーションチャンネルに参加する資格を有するユーザーに制限され得る）。グループベースコミュニケーションチャンネル識別子は、そのメッセージについてのコンテキストを確定するために用いられ得る（例えば、グループベースコミュニケーションチャンネルで議論されているプロジェクトの説明のようなグループベースコミュニケーションチャンネルの説明は、グループベースコミュニケーションチャンネル識別子に関連付けられ得る）。
【００３２】
この文脈での「処理アクション」は、外部システム（例えば、グループベースコミュニケーションプラットフォームを介してアクセス可能なアプリ）によって実行される実行可能なアクションを表す。処理アクションは、グループベースコミュニケーションプラットフォームから外部システムに提供されたコンテナ内に含まれるデータに少なくとも基づいて実行されるデータ生成プロセス、データ操作プロセス、及び／又はこれらの類似物として実現され得る。さまざまな例として、処理アクションは、カレンダーオブジェクトの作成（例えばスケジューリングアプリを介して）、「to-do」アイテムの作成（例えば生産性アプリを介して）、サービスチケットの作成（例えばサービスアプリを介して）、ブックマークの作成（例えばリンク編集アプリを介して）、ファイルの作成（例えばドキュメント編集アプリを介して）、及び／又はこれらの類似物であり得る。
【００３３】
この文脈での「コンテナ」は、複数のコンピューティングエンティティの間で集合的に送信され得て、含まれたデータがそれに関連付けられた状態を維持する個別データ要素の集合体を表す。このコンテナは、標準化されたフォーマッティングでデータをその中に記憶するよう構成され得て、その結果、コンピューティングエンティティは、コンテナ内に記憶されたデータの種類を自動的に確定するよう構成され得る。例えば、コンテナは、コンテナのペイロード内に記憶され、コンピューティングエンティティ間で渡されるべき実体的データを含み得て、このコンテナは、コンテナのコンテクスチュアルデータ部の中に記憶される、コンテナの生成に関連付けられたメタデータを含み得る。
【００３４】
この文脈での「ファイルオブジェクト」は、リクエストされた処理アクションを実行するために、コンテナ内のペイロードデータとして外部システムに提供され得るメッセージの例を表す。ファイルオブジェクトは、「.pdf」ファイル、「.docx」ファイル、「.xml」ファイル、「.html」ファイル、「.tp」ファイル、及び／又はこれらの類似物のような実行可能なファイルタイプのさまざまなもののうちの任意のものであり得る。
【００３５】
この文脈での「チャンネル識別子」は、グループベースコミュニケーションチャンネルが特定され得るデータの１つ以上のアイテムを表す。チャンネル識別子は、ある実施形態では、「グループベースコミュニケーションチャンネル識別子」とも呼ばれ得る。例えば、グループベースコミュニケーションチャンネル識別子は、ＡＳＣＩＩテキスト、ポインタ、メモリアドレス等を含み得る。
【００３６】
この文脈での「メッセージ」は、クライアントデバイスを用いてユーザーによって提供された、グループベースコミュニケーションチャンネルインターフェイス内で表示されるよう構成された任意の電子的に生成されたデジタルコンテンツオブジェクトを表す。メッセージは、ある実施形態では「メッセージングコミュニケーション」とも呼ばれ得る。メッセージは、ユーザーによって提供された（クライアントデバイスを用いて）、任意のテキスト、画像、ビデオ、オーディオ、ファイル、インタラクティブリンク、又はそれらの組合せを含み得て、又はそれらとして実現され得る。例えば、ユーザーは、メッセージコンテンツとしてメッセージングコミュニケーション内に画像及びビデオと共にテキストを含むメッセージングコミュニケーションを提供し得る。そのような場合、テキスト、画像、及びビデオは、メッセージングコミュニケーション又はデジタルコンテンツオブジェクトを含むことになる。グループベースコミュニケーションシステムのグループベースコミュニケーションチャンネルに送られた、つまりポストされたそれぞれのメッセージは、以下を含むメタデータを含む。すなわち、送信ユーザー識別子、メッセージ識別子、メッセージコンテンツ、グループ識別子、及びグループベースコミュニケーションチャンネル識別子である。前記識別子のそれぞれは、ＡＳＣＩＩテキスト、ポインタ、メモリアドレス等を含み得る。
【００３７】
この文脈での「グループベースコミュニケーションチャンネルインターフェイス」は、そのグループのメンバーだけに閲覧可能であるチャンネルメンバー（例えばクライアントデバイスを用いて環境にアクセスしている検証されたユーザー）によってポストされたメッセージングコミュニケーションを表示するよう構成された仮想コミュニケーション環境又はフィードを表す。グループベースコミュニケーションチャンネルインターフェイスのフォーマットは、グループベースコミュニケーションチャンネルの異なるメンバーには異なって見えるかもしれない。しかし、グループベースコミュニケーションチャンネルインターフェイスのコンテンツ（すなわちメッセージングコミュニケーション）は、グループベースコミュニケーションチャンネルのそれぞれのメンバーに表示される。例えば、グループベースメッセージングコミュニケーションの共通のセットは、グループベースコミュニケーションチャンネルインターフェイスのコンテンツがグループベースコミュニケーションチャンネルのメンバーによって変わらないように、それぞれのグループベースコミュニケーションチャンネルのそれぞれのメンバーに表示される。
【００３８】
この文脈での「プロキシエンドポイント」は、データ転送インターフェイス、例えば、ネットワークを介して非接続のコンピューティングシステムの間のアプリケーションプログラムインターフェイス（ＡＰＩ）を表す。プロキシエンドポイントは、ＵＲＬを介してネットワークを通じてアクセス可能であり得る。例えば、プロキシエンドポイントは、グループベースコミュニケーションシステムから、パブリッシュされたアプリに関連付けられ、グループベースコミュニケーションシステムを介して利用可能である外部システムへのコンテナのデータ転送を可能にし得る。さまざまな実施形態では、プロキシエンドポイントは、外部システムにアクセス可能なＵＲＬによって少なくとも一部は定義され、ここでそのＵＲＬは、外部システムを特定のデータセット（例えば１つ以上のコンテナ）へ導くために利用され得る。ここで説明されるように、プロキシエンドポイントを介して外部システムに提供されるコンテナは、所望の処理アクションを実行するために、外部システムによる使用を可能にするようフォーマットされたデータを含み得る。プロキシエンドポイントは、含まれているデータを外部システムが使用できるようにするためのコンテナの必要なフォーマッティングを維持しながら、コンテナデータの外部システムへの転送を可能にする。さらに、ある実施形態では、プロキシエンドポイントは、データの外部システムへのリアルタイム送信を可能にする（例えばプッシュベースのメッセージ送信を介して）。他の実施形態では、プロキシエンドポイントは、外部システムがグループベースコミュニケーションプラットフォームからデータを引き出すことができるよう構成され得る（例えば、送信する準備ができているデータの存在を外部システムに知らせるように働くトリガイベントの発生と同時に）。
【００３９】
［説明］
本開示は、さまざまな実施形態を添付の図面を参照してより完全に記載する。ここでは全ての実施形態ではなく、一部だけが示され説明されていることが理解されるべきである。実際、これら実施形態は、多くの異なる形態をとり得て、したがってこの開示は、ここで述べられた実施形態に限定されるようには解釈されるべきではない。むしろこれら実施形態は、本開示が適用可能な法的要件を満足するよう提供される。全体を通して、同様の数字は同様の要素を表す。
【００４０】
［概観］
ここで説明されるように、ある実施形態は、グループベースコミュニケーションプラットフォームが、外部システム内でさまざまなアクションを実行できるようにするシステム及び方法に関する。そのような構成は、グループベースコミュニケーションプラットフォームのユーザーが、グループベースコミュニケーションプラットフォームのグループベースコミュニケーションインターフェイス内で実行されるコマンド及び／又はプロセスに基づいて、さまざまな外部システム内でさまざまなアクションを起動できるようにする。例えば、グループベースコミュニケーションプラットフォーム内で使用可能なメッセージ、ファイル、スレッド、メッセージのグループ、及び／又は他のオブジェクトは、グループベースコミュニケーションプラットフォームからエクスポートされ得て、１つ以上の外部システムに自動的にインポートされ得ることによって、それら外部システム内で使用可能なさまざまなオブジェクトを生成し得る。よって、グループベースコミュニケーションプラットフォームを介してやりとりされるメッセージは、適用可能なto-doリストアイテムを生成して入力するために、１つ以上のドキュメントを生成して入力するために、等のために外部システムに提供され得る。
【００４１】
グループベースコミュニケーションプラットフォームは、定義されたコンテナ内でデータを外部システムに提供するよう構成され、ここでそれぞれのコンテナは、コンテナが生成された目的となったメッセージ、ファイル、又は他のオブジェクトを示すコンテクスチュアルデータ、オブジェクトの作成に関連付けられたタイムスタンプ、リクエストしているクライアントデバイス、そのコンテナが仕向けられるべき外部システム（例えばアプリ）、及び／又は外部システムによって実行されるべきアクションを特定するクライアントデバイストークンを含む。このコンテナは、オブジェクトを外部システムに渡すために、コンテナのペイロード部の中にオブジェクトそのもの（例えばメッセージ、ファイル、及び／又はこれらの類似物）もさらに含む。最終的には、コンテナ内に含まれるデータは、ＡＰＩを用いて外部システムに渡され、適切なフォーマットでデータを外部システムに提供することで、リクエストされたアクションを実行する。
【００４２】
適切なリクエストメッセージを外部システムから受け取ると、グループベースコミュニケーションプラットフォームは、クライアントトークンを利用して、ダイアログの提示のための適切なクライアントデバイスを特定することによって、リクエストされたアクションを実行するために外部システムによって利用されるべき追加情報を収集する。ダイアログは、ダイアログＡＰＩを介してアクセス可能な別個のダイアログ記憶領域から取得され得る（例えばグループベースコミュニケーションプラットフォームと関連させて記憶される）。リクエストされたメッセージは、ある実施形態では、ダイアログＡＰＩを介してダイアログ記憶領域に提示され得るダイアログトリガ識別子を含み得る。そして、ダイアログトリガ識別子に対応し、ユーザーへの提示のための適切なフィールドを有する適切なダイアログが取得される。例えば、ダイアログは、リクエストされたアクションと共に用いるための、複数の代替として選択可能なオプション（これらオプションは外部システム内で利用可能である）を含み得る。生成された及び／又はダイアログを介して他のやり方で提供されたさまざまなデータは、外部システムに戻して提供され、そこに提示されたオリジナルコンテナに関連付けられる。外部システムへのデータ提供が成功すると、グループベースコミュニケーションプラットフォームは、クライアントデバイスに確認を提供する（例えば、別個の通知アイコンとして及び／又はグループベースコミュニケーションインターフェイスを介して提供されたメッセージを介して）。
【００４３】
［例示的システムアーキテクチャ］
本発明の方法、装置、及びコンピュータプログラム製品は、さまざまなデバイスの任意のものによって実現され得る。例えば、例示的実施形態の方法、装置、及びコンピュータプログラム製品は、１つ以上のクライアントデバイスのような１つ以上のデバイスと通信するよう構成されたサーバー又は他のネットワークエンティティのようなネットワークデバイスによって実現され得る。ある好ましい非限定的な実施形態では、コンピューティングデバイスは、パーソナルコンピュータ又はコンピュータワークステーションのような固定したコンピューティングデバイスを含み得る。さらには、例示的実施形態は、ポータブルデジタルアシスタント（ＰＤＡ）、携帯電話、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルデバイス、又は前述のデバイスの任意の組合せのようなさまざまなモバイルデバイスの任意のものによって実現され得る。
【００４４】
図１は、本発明の実施形態が動作し得る例示的コンピューティングシステム１００を示す。ユーザーは、クライアントデバイス１０２−１０６を用いてコミュニケーションネットワーク１０８を介してグループベースコミュニケーションプラットフォーム１１８にアクセスし得る。
【００４５】
コミュニケーションネットワーク１０８は、それを実現するために要求される任意のハードウェア、ソフトウェア及び／又はファームウェア（例えばネットワークルーター等のような）と共に、例えば、有線又は無線のローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）等を含む任意の有線又は無線コミュニケーションネットワークを含み得る。例えば、コミュニケーションネットワーク１０８は、携帯電話、８０２．１１、８０２．１６、８０２．２０、及び／又はＷｉＭａｘネットワークを含み得る。さらに、コミュニケーションネットワーク１０８は、インターネットのような公衆ネットワーク、イントラネットのようなプライベートネットワーク、又はこれらの組合せを含み得て、これには限定されないがＴＣＰ／ＩＰベースのネットワーキングプロトコルを含む、今、利用可能であり、又は後に開発されるさまざまなネットワーキングプロトコルを利用し得る。ここで説明されるように、ネットワーキングプロトコルは、ウェブソケットコミュニケーションを介してデータ送信を可能にするよう構成される。例えば、ネットワーキングプロトコルは、グループベースコミュニケーションシステムのニーズに合うようにカスタマイズされ得る。ある実施形態では、このプロトコルは、ウェブソケットチャンネルを介して送られたＪＳＯＮオブジェクトであり得る。ある実施形態では、データは、ＲＰＣ上のＪＳＯＮ、ＲＥＳＴ／ＨＴＴＰ上のＪＳＯＮ等のような複数のプロトコルを介して送信され得る。
【００４６】
図示された実施形態では、グループベースコミュニケーションプラットフォーム１０８は、コミュニケーションネットワーク１０８を介して利用可能である少なくとも１つのメッセージ配信サーバー（群）１１０を含む。全体として、この少なくとも１つのメッセージ配信サーバー（群）１１０は、１つ以上のクライアントデバイス１０２−１０６から送信されたメッセージを受信し、このメッセージを個別コミュニケーションチャンネルのためのデータベース記憶領域内に記憶し、及び／又はメッセージを適切なクライアントデバイス１０２−１０６に送信するよう構成される。
【００４７】
クライアントデバイス１０２−１０６は、上で定義された任意のコンピューティングデバイスであり得る。メッセージ配信サーバー（群）１１０及びクライアントデバイス１０２−１０６の間でやりとりされた電子メッセージデータは、さまざまな形態で、さまざまな方法を介して提供され得る。
【００４８】
ある好ましい非限定的な実施形態では、クライアントデバイス１０２−１０６のうちの１つ以上は、スマートフォン又はタブレットのようなモバイルデバイスである。１つ以上のクライアントデバイスは、メッセージ配信サーバー（群）１１０とインタラクトするために「アプリ（app）」を実行し得る。そのようなアプリは、スマートフォン又はタブレットのようなモバイルデバイス上で実行するよう典型的には設計される。例えば、アプリは、Apple Inc.のiOS（登録商標）、Google Inc.のAndroid（登録商標）、又はMicrosoft Inc.のWindows 10 Mobile（登録商標）のようなモバイルデバイスオペレーティングシステム上で実行するアプリが提供され得る。これらプラットフォームは、アプリが互いに、かつモバイルデバイスの特定のハードウェア及びソフトウェアコンポーネントと通信できるようにするフレームワークを典型的には提供する。例えば、上で名前を挙げたモバイルオペレーティングシステムは、それぞれ、ロケーションサービス回路、有線及び無線ネットワークインターフェイス、ユーザーコンタクト、及び他のアプリケーションとインタラクトするためのフレームワークを提供する。アプリの外で実行するハードウェア及びソフトウェアモジュールとの通信は、モバイルデバイスオペレーティングシステムによって提供されたアプリケーションプログラミングインターフェイス（ＡＰＩ）を介して典型的には提供される。よって、クライアントデバイス１０２−１０６上で実行するアプリを介して、これらのクライアントデバイス１０２−１０６は、グループベースコミュニケーションプラットフォーム１１８と通信するよう構成される。
【００４９】
ある好ましい非限定的な実施形態では、クライアントデバイス１０２−１０６は、ウェブブラウザを介してメッセージ配信サーバー（群）１１０とインタラクトし得る。クライアントデバイス１０２−１０６は、メッセージ配信サーバー（群）１１０とインタラクトするよう設計されたさまざまなハードウェア又はファームウェアも含み得る。また、クライアントデバイス１０２−１０６のブラウザを介して、クライアントデバイス１０２−１０６は、グループベースコミュニケーションプラットフォーム１１８と通信するよう構成される。
【００５０】
例示的グループベースコミュニケーションプラットフォーム１１８のある実施形態では、メッセージ又はメッセージングコミュニケーションは、クライアントデバイス１０２−１０６からグループベースコミュニケーションプラットフォーム１１８に送られ得る。さまざまな実現例では、メッセージは、直接にクライアントデバイス１０２−１０６のうちの１つによってコミュニケーションネットワーク１０８を通じてグループベースコミュニケーションプラットフォーム１１８に送られ得る。メッセージは、メッセージサーバー及び／又はこれらの類似物のような仲介を介してグループベースコミュニケーションプラットフォーム１１８に送られ得る。例えば、クライアントデバイス１０２−１０６は、クライアントアプリケーション（例えばグループベースコミュニケーションアプリ）を実行しているデスクトップ、ラップトップ、タブレット、スマートフォン、及び／又はこれらの類似物であり得る。ある実施形態では、メッセージは、メッセージ識別子、送信ユーザー識別子、グループ識別子、グループベースコミュニケーションチャンネル識別子、メッセージコンテンツ（例えばテキスト、絵文字、画像、リンク）、添付物（例えばファイルオブジェクト）、メッセージ階層データ（例えばメッセージは、他のメッセージに対する返信であり得る）、サードパーティメタデータ、及び／又はこれらの類似物のようなデータを含み得る。ある実施形態では、クライアントデバイス１０２−１０６は、以下に示されるようにエクステンシブルマークアップランゲージ（「XML」）でフォーマットされたデータを含む、実質的に（セキュア）ハイパーテキストトランスファープロトコル（「HTTP(S)」）POSTメッセージの形態である、以下の例示的メッセージを提供し得る。
【００５１】
POST /authrequest.php HTTP/1.1
Host: www.server.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = “1.0” encoding = “UTF-8”?>
<auth_request>
<timestamp>2020-12-31 23:59:59</timestamp>   
<user_accounts_details>
<user_account_credentials>
<user_name>ID_user_1</user_name>
<password>abc123</password>
//OPTIONAL <cookie>cookieID</cookie>
//OPTIONAL <digital_cert_link>www.mydigitalcertificate.com/ JohnDoeDaDoeDoe@gmail.com/mycertifcate.dc</digital_cert_link>
//OPTIONAL <digital_certificate>_DATA_</digital_certificate>
</user_account_credentials>
</user_accounts_details>
<client_details> //iOS Client with App and Webkit
//it should be noted that although several client details
//sections are provided to show example variants of client
//sources, further messages will include only on to save
//space
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53</user_agent_string>
<client_product_type>iPhone6,1</client_product_type>
<client_serial_number>DNXXX1X1XXXX</client_serial_number>
<client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID>
<client_OS>iOS</client_OS>
<client_OS_version>7.1.1</client_OS_version>
<client_app_type>app with webkit</client_app_type>
<app_installed_flag>true</app_installed_flag>
<app_name>MSM.app</app_name>
<app_version>1.0 </app_version>
<app_webkit_name>Mobile Safari</client_webkit_name>
<client_version>537.51.2</client_version>
</client_details>
<client_details> //iOS Client with Webbrowser
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53</user_agent_string>
<client_product_type>iPhone6,1</client_product_type>
<client_serial_number>DNXXX1X1XXXX</client_serial_number>
<client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID>
<client_OS>iOS</client_OS>
<client_OS_version>7.1.1</client_OS_version>
<client_app_type>web browser</client_app_type>
<client_name>Mobile Safari</client_name>
<client_version>9537.53</client_version>
</client_details>
<client_details> //Android Client with Webbrowser
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Nexus S Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30</user_agent_string>
<client_product_type>Nexus S</client_product_type>
<client_serial_number>YXXXXXXXXZ</client_serial_number>
<client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX</client_UDID>
<client_OS>Android</client_OS>
<client_OS_version>4.0.4</client_OS_version>
<client_app_type>web browser</client_app_type>
<client_name>Mobile Safari</client_name>
<client_version>534.30</client_version>
</client_details>
<client_details> //Mac Desktop with Webbrowser
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14</user_agent_string>
<client_product_type>MacPro5,1</client_product_type>
<client_serial_number>YXXXXXXXXZ</client_serial_number>
<client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX</client_UDID>
<client_OS>Mac OS X</client_OS>
<client_OS_version>10.9.3</client_OS_version>
<client_app_type>web browser</client_app_type>
<client_name>Mobile Safari</client_name>
<client_version>537.75.14</client_version>
</client_details>
<message>
<message_identifier>ID_message_10</message_identifier>
<team_identifier>ID_team_1</team_identifier>
<channel_identifier>ID_channel_1</channel_identifier>
<contents>That is an interesting invention. I have attached a copy our patent policy.</contents>
<attachments>patent_policy.pdf</attachments>
</message>
</auth_request>
図示された実施形態では、グループベースコミュニケーションプラットフォーム１１８は、チャンネル識別子及び／又はグループ識別子によって特定されるチャンネル内の複数のクライアントデバイス１０２−１０６の間で送信されるメッセージを受信し、コミュニケーションチャンネルのメンバーシップを集合的に形成するクライアントデバイス１０２−１０６の間でのこれらメッセージの配布（dissemination）を促進するよう構成された複数のメッセージ配信サーバー（群）１１０を備える。
【００５２】
ある実施形態では、応答を示すデータがメッセージに関連付けられ得る。例えば、他のユーザーによるメッセージに対する応答は、反応（例えばメッセージに関連付けられた絵文字を選ぶこと、メッセージに関連付けられた「いいね」ボタンを選ぶこと）、メッセージに埋め込まれたハイパーリンクをクリックすること、メッセージに応答すること（例えば、そのメッセージに対する応答として、メッセージをグループベースコミュニケーションチャンネルインターフェイスにポストすること）、メッセージに関連付けられたファイルをダウンロードすること、あるグループベースコミュニケーションチャンネルから別のグループベースコミュニケーションチャンネルへメッセージをシェアすること、メッセージをピン留めすること、メッセージに星を付けること、及び／又はこれらの類似物を含み得る。ある実施形態では、他のユーザーによるメッセージへの応答に関するデータは、メッセージに含まれ得て、そのメッセージは、応答を決定するためにパースされ得る（例えばＰＨＰコマンドを用いて）。他の実現例では、メッセージへの応答に関するデータは、データベースから取り出され得る。例えば、応答に関するデータは、以下と類似するMySQLデータベースコマンドを介して取り出され得る。
【００５３】
SELECT messageResponses
FROM MSM_Message
WHERE messageID = ID_message_10.
例えば、メッセージへの応答に関するデータは、メッセージについてのコンテキスト（例えばメッセージについての、あるユーザーの視点からのソーシャルスコア）を決定するのに用いられ得る。他の例では、メッセージへの応答に関するデータは、ユーザーに関するコンテキストを決定するために分析され得る（例えばあるトピックにおけるユーザーの経験は、そのトピックに関するユーザーのメッセージに対する応答に基づいて決定され得る）。
【００５４】
実施形態において、添付物は、メッセージに含まれ得る。もし添付物が存在するなら、ファイルオブジェクトは、そのメッセージに関連付けられ得る。ある実現例では、メッセージは、添付物のファイル名を決定するためにパースされ得る（例えばＰＨＰコマンドを用いて）。例えば、ファイルコンテンツは、メッセージについてのコンテキストを決定するために分析され得る（例えば特許ポリシーの文書は、そのメッセージが「特許」というトピックに関連付けられていると表示し得る）。
【００５５】
実施形態において、サードパーティメタデータは、そのメッセージに関連付けられ得る。例えば、サードパーティメタデータは、会社、グループ、グループベースコミュニケーションチャンネル、及び／又はこれらの類似物に特有であるそのメッセージ又はユーザーに関する追加のコンテキストを提供し得る。ある実現例では、メッセージは、サードパーティメタデータを確定するためにパースされ得る（例えばＰＨＰコマンドを用いて）。例えば、サードパーティメタデータは、そのメッセージを送ったユーザーが、グループベースコミュニケーションチャンネルの承認された代表者であるかを示し得る（例えば、承認された代表者は、グループベースコミュニケーションチャンネルにおける質問に対して応答することをその会社によって承認され得る）。
【００５６】
実施形態において、会話プリミティブ（conversation primitive）は、メッセージに関連付けられ得る。ある実施形態では、会話プリミティブは、メッセージを分析し、インデックス付けし、記憶し、及び／又はこれらの類似物をするのに用いられる要素である。例えば、メッセージは、それ自身で分析され得て、それ自身の会話プリミティブを形成し得る。他の例では、メッセージは、会話を構成する他のメッセージと共に分析され得て、会話を構成するメッセージは、会話プリミティブを形成し得る。ある実現例では、会話プリミティブは、当該メッセージ、特定の個数（例えば２）の先行するメッセージ及び特定の個数（例えば２）の後続するメッセージとして決定され得る。他の実現例では、会話プリミティブは、当該メッセージ及び他のメッセージ（例えばそのチャンネルにおいて）で議論されているトピック及び／又はこれらメッセージの近接性（例えばメッセージ送信順序の近接性、メッセージ送信時刻の近接性）の分析に基づいて決定され得る。
【００５７】
実施形態においては、上で説明されたように決定されたさまざまなメタデータ、及び／又はメッセージのコンテンツは、メッセージをインデックス化し（例えば会話プリミティブを用いて）、及び／又はサーチングのさまざまなファセット（すなわちメッセージ配信サーバー１０７から結果を返すサーチクエリ）を促進するために用いられ得る。メッセージに関連付けられたメタデータが確定され得て、メッセージはメッセージ配信サーバー（群）１１０においてインデックス化され得る。ある実施形態において、メッセージは、会社の又はグループのメッセージが別個にインデックス化されるようにインデックス化され得る（例えば他のグループ及び／又は会社とシェアされていないグループ及び／又は会社に関連付けられた別個のインデックスにおいて）。ある実現例では、メッセージは、別個の分散化されたリポジトリにおいてインデックス化され得る（例えばセキュリティの目的のためにデータ隔離を促進するために）。もしメッセージに関連付けられた添付物が存在するなら、その関連付けられたファイルのファイルコンテンツは、サーチングを促進するために、メッセージ配信サーバー（群）１１０においてそのようなファイルをインデックス化するために用いられ得る。ある実施形態においては、これらファイルは、別個の配信リポジトリにおいて会社の又はグループのファイルがインデックス化されるように、インデックス化され得る。同様に、ここで論述されるように、さまざまな外部アプリケーションシステム及び／又は処理アクションに関連付けられたアプリデータは、複数のグループに関連付けられたアプリデータが別個に記憶されるように、特定のグループのメッセージに関連付けられて記憶され得る。
【００５８】
１つ以上のクライアントデバイス１０２−１０６及びグループベースコミュニケーションプラットフォーム１１８の間での電子メッセージ交換の例は、図１を参照して以下に説明される。
【００５９】
図１に示されるように、グループベースコミュニケーションプラットフォーム１１８は、個別のクライアントデバイス１０２−１０６が、互いにメッセージをやりとりし、１つ以上の外部アプリケーションシステム１１２−１１６とインタラクトできるようにする。クライアントデバイス１０２−１０６の間でメッセージをやりとりするためには、個別のクライアントデバイス１０２−１０６は、メッセージ（例えばテキストベースのメッセージ、ファイルオブジェクト、ビデオ及び／又はオーディオストリーム、及び／又はこれらの類似物）をグループベースコミュニケーションプラットフォーム１１８に送信する。これらメッセージは、１つ以上のメッセージ配信サーバー（群）１１０に究極的には提供され、これがメッセージをインデックス化し、これらメッセージをそのメッセージの意図された受信者（例えばクライアントデバイス１０２−１０６）に配信する。
【００６０】
図１の実施形態によれば、クライアントデバイス１０２−１０６は、クライアントデバイスのユーザーに利用可能なコンテキスト上関連するユーザーインターフェイスにおいて、受信されたメッセージを表示するよう構成される。例えば、グループベースコミュニケーションチャンネルの一部として第１クライアントデバイス１０２から送信されたメッセージは、そのグループベースコミュニケーションチャネルの他のメンバーに関連付けられたクライアントデバイス１０２−１０６上のユーザーインターフェイスディスプレイ内で表示される。
【００６１】
ここでさらに詳細に論述されるように、メッセージは、外部アプリケーションシステム１１２−１１６に提供されることによって、それぞれの外部アプリケーションシステム内で実行可能な１つ以上の処理アクションを起動し得る。ある実施形態では、これら処理アクションは、グループベースで（例えば個別の処理アクションは、特定のグループのそれぞれのメンバーに利用可能である）、コミュニケーションチャンネルベースで（例えば個別の処理アクションは、特定のコミュニケーションチャンネルのそれぞれのメンバーに利用可能である）、個別ベースで（例えば個別の処理アクションは、特定の個別クライアントデバイス１０２−１０６に利用可能である）、送信ユーザーベースで（例えば個別の処理アクションは、特定のユーザーによって送信された特定のメッセージについてだけ利用可能である、メッセージは、特定の送信ユーザー識別子に関連付けられている、及び／又はこれらの類似物）、クライアントデバイス１０２−１０６に利用可能にされる。追加された限定として、ある処理アクションは、処理アクションを実行するよう構成された特定の外部アプリケーションシステムで直接に承認されるクライアントデバイス１０２−１０６を介してだけ実行可能であり得る（個別のクライアントデバイス１０２−１０６及び例示的外部アプリケーションシステム１１２の間の破線によって示されるように）。
【００６２】
［さまざまな実施形態で利用される例示的装置］
それぞれのメッセージ配信サーバー（群）１１０は、図２に示される装置２００のような１つ以上の計算システムによって実現され得る。装置２００は、プロセッサ２０２、メモリ２０４、入力／出力回路２０６、通信回路２０８、及びメッセージ増幅器回路２１０を含み得る。装置２００は、図３−１１についてここで説明された操作を実行するよう構成され得る。これら要素２０２−２１０は、機能的な限定について記載されているが、具体的な実現例は、特定のハードウェアの使用を必然的に含むことを理解されたい。これらの要素２０２−２１０のいくつかは、同様の又は共通のハードウェアも含み得ることも理解されたい。例えば、回路のうちの２つのセットが同じプロセッサ、ネットワークインターフェイス、記憶媒体等の使用を活用することで、それらの関連付けられた機能を実行し、重複するハードウェアが回路群のそれぞれのセットごとには必要がないようにする。
【００６３】
ある実施形態においては、プロセッサ２０２（及び／又はコプロセッサ又はプロセッサを補助する又はそうでなければプロセッサに関連付けられた任意の他の処理回路）は、装置の要素の間で情報を受け渡しするためにバスを介してメモリ２０４と通信し得る。メモリ２０４は、非一時的であり、例えば１つ以上の揮発性及び／又は不揮発性メモリを含み得る。換言すれば、例えばメモリ２０４は、電子記憶装置（例えばコンピュータで読み取り可能な記憶媒体）であり得る。メモリ２０４は、装置２００が、本発明の例示的実施形態に従ってさまざまな機能を実行できるようにするために、情報、データ、コンテンツ、アプリケーション、命令等を記憶するよう構成され得る。
【００６４】
プロセッサ２０２は、いくつかの異なるやり方で実現され得て、例えば独立して実行するよう構成された１つ以上の処理装置を含み得る。ある好ましく非限定的な実施形態では、プロセッサ２０２は、命令の独立した実行、パイプライン処理、及び／又はマルチスレッディングを可能にするようにバスを介して並列に構成された１つ以上のプロセッサを含み得る。「処理回路」という語の使用は、装置の内部にあるシングルコアプロセッサ、マルチコアプロセッサ、マルチプロセッサ、及び／又はリモートつまり「クラウド」プロセッサを含むと理解されよう。
【００６５】
いくつかの好ましい非限定的な実施形態においては、プロセッサ２０２は、メモリ２０４に記憶された又はそうでなければプロセッサ２０２にアクセス可能である命令を実行するよう構成され得る。ある好ましい非限定的な実施形態においては、プロセッサ２０２は、ハードコードされた機能を実行するよう構成され得る。よってハードウェア又はソフトウェアのいずれの方法によって構成されようとも、又はそれらの組み合わせによって構成されようとも、プロセッサ２０２は、そのように構成されている間は、本発明の実施形態による操作を実行することができるエンティティ（例えば回路として物理的に実現される）を表し得る。代替として、他の例として、プロセッサ２０２がソフトウェア命令の実行者として実現される時、これら命令は、命令が実行される時にプロセッサ２０２がここに記載されたアルゴリズム及び／又は操作を実行するようにプロセッサ２０２を具体的に構成し得る。
【００６６】
一つの例として、プロセッサ２０２は、複数のクライアントデバイス１０２−１０６を接続する１つ以上の通信チャネルを維持することによって、それらの間でメッセージの共有を可能にするよう構成され得る。プロセッサ２０２は、特定の通信チャネル内のクライアントデバイス１０２−１０６の間でのやりとりが意図されたメッセージが、クライアントデバイス１０２−１０６を介して提供されたそれぞれのディスプレイウィンドウ内で表示されるように、それらクライアントデバイス１０２−１０６に適切に配布されることを確実にする。
【００６７】
さらに、プロセッサ２０２は、特定の通信チャネルでやりとりされたメッセージを、その中でのメッセージの記憶及び／又はインデキシングのためにデータベースと同期化するよう構成され得る。ある実施形態では、プロセッサ２０２は、クライアントデバイス１０２−１０６への配布のために、記憶された及び／又はインデキシングされたメッセージを提供し得る。
【００６８】
ある実施形態においては、装置２００は、入力／出力回路２０６を含み得て、これが今
度は、出力をユーザーに提供するために、またある実施形態では、ユーザー入力の表示を受け取るためにプロセッサ２０２と通信し得る。入力／出力回路２０６は、ユーザーインターフェイスを備え得て、ディスプレイを含み得て、ウェブユーザーインターフェイス、モバイルアプリケーション、クライアントデバイス、キオスク等を備え得る。ある実施形態では、入力／出力回路２０６は、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチエリア、ソフトキー、マイクロホン、スピーカ、又は他の入力／出力機構を含み得る。プロセッサを備えるプロセッサ及び／又はユーザーインターフェイス回路は、プロセッサにアクセス可能であるメモリ（例えばメモリ２０４及び／又はこれらの類似物）上に記憶されたコンピュータプログラム命令（例えばソフトウェア及び／又はファームウェア）を通して１つ以上のユーザーインターフェイス要素の１つ以上の機能を制御するよう構成され得る。
【００６９】
通信回路２０８は、装置２００と通信するネットワーク及び／又は任意の他のデバイス、回路、又はモジュールから／へデータを受信及び／又は送信するよう構成される、ハードウェアか、ハードウェア及びソフトウェアの組み合わせかのいずれかで実現されるデバイス又は回路のような任意の手段であり得る。この点で、通信回路２０８は、有線又は無線の通信ネットワークとの通信を可能にするネットワークインターフェイスを例えば含み得る。例えば、通信回路２０８は、１つ以上のネットワークインターフェイスカード、アンテナ、バス、スイッチ、ルータ、モデム、及びサポートするハードウェア及び／又はソフトウェア、又はネットワークを介した通信を可能にするのに適切な任意の他のデバイスを含み得る。追加として又は代替として、通信回路２０８は、アンテナ／アンテナ群を介した送信を行うために、又はアンテナ／アンテナ群を介して受け取られた信号の受信を扱うために、アンテナ／アンテナ群と相互作用するための回路を含み得る。
【００７０】
メッセージ増幅器回路２１０は、１つ以上のクライアントデバイス１０２−１０６から他のクライアントデバイス１０２−１０６に受け取られた電子メッセージ及び関連付けられたメタデータをデータベースシャード（群）に基づいてコピー及び増幅するよう構成されたハードウェアを含む。メッセージ増幅器回路２１０は、これらのアクションを実行するためにプロセッサ２０２のような処理回路を利用し得る。しかし、ある実施形態では、メッセージ増幅器回路２１０は、ここで記載された機能を実行するための別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は特定用途向け集積回路（ＡＳＩＣ）を含み得ることも理解されたい。メッセージ増幅器回路２１０は、これらの設計された機能を実現するハードウェア又はソフトウェアのいずれかによって構成された装置２００のハードウェア要素を用いて実現され得る。
【００７１】
ここで説明されている情報のうちの全て又は一部は、装置２００の１つ以上の要素によって受信され、生成され、及び／又は保持されているデータに基づき得る。ある実施形態では、ここで説明されている機能のうちの少なくとも一部を提供するために、１つ以上の外部システム（リモートクラウドコンピューティング及び／又はデータストレージシステムのような）も活用され得る。
【００７２】
「回路」という語は、ハードウェア、及び、ある実施形態においてはハードウェアを設定するためのソフトウェアを含むように広く理解されるべきである。したがって、それぞれの装置２００の要素について、ここで用いられる「回路」という語は、ここで記載される特定の回路に関連付けられた機能を実行するよう構成された特定のハードウェアを含むように理解されるべきである。例えば、ある実施形態では、「回路」は、処理回路、記憶媒体、ネットワークインターフェイス、入力／出力デバイス等を含み得る。ある実施形態では、装置２００の他の要素は、特定の回路の機能を提供又は補充し得る。例えば、プロセッサ２０２は、処理機能を提供し得て、メモリ２０４は、記憶機能を提供し得て、通信回路２０８は、ネットワークインターフェイス機能を提供し得る等である。
【００７３】
理解されるように、任意のそのようなコンピュータプログラム命令及び／又は他のタイプのコードは、コンピュータ、プロセッサ又は他のプログラム可能な装置の回路にロードされることによって、その機械上でコードを実行するコンピュータ、プロセッサ又は他のプログラム可能な回路が、ここで説明されるものを含むさまざまな機能を実現する手段を成すような機械が作り出される。
【００７４】
上に説明されたように、及び本開示に基づいて理解されるように、本発明の実施形態は、方法、モバイルデバイス、バックエンドネットワークデバイス等として構成され得る。したがって実施形態は、ハードウェアだけを含む、又はソフトウェア及びハードウェアの任意の組み合わせを含むさまざまな手段を備え得る。さらに、実施形態は、記憶媒体内に実現されたコンピュータ読み取り可能なプログラム命令（例えばコンピュータソフトウェア）を有する、少なくとも１つの非一時的コンピュータ読み取り可能な記憶媒体上のコンピュータプログラム製品の形態をとり得る。非一時的ハードディスク、ＣＤ−ＲＯＭ、フラッシュメモリ、光学記憶デバイス、又は磁気記憶デバイスを含む任意の適切なコンピュータ読み取り可能な記憶媒体が利用され得る。
【００７５】
さらに、示されていないが、グループベース通信プラットフォームのさまざまな実施形態は、さまざまなグループベース通信チャネル内でやりとりされたメッセージを記憶及び／又はインデキシングするよう構成された１つ以上のデータベースを備え得る。
【００７６】
［例示的データフロー］
図３は、１つ以上のクライアントデバイス１０２−１０６に利用可能なさまざまな処理アクションを作るためのさまざまなプロセスを図示するフローチャート３００を提供する。ある実施形態では、処理アクションは、関連付けられたクライアントデバイス１０２−１０６を介したユーザーによる使用のためにグループベースコミュニケーションプラットフォーム１１８に利用可能にされ得る。さまざまな実施形態では、処理アクションは、グループベースコミュニケーションプラットフォーム１１８にアクセスしている任意のクライアントデバイスがさまざまな処理アクションにアクセスし得るように、グループベースコミュニケーションプラットフォーム１１８に公開され得る。他の実施形態では、処理アクションは、特定の処理アクションに関連付けられた外部アプリケーションシステム１１２−１１６を介して提供される追加の機能にアクセスできる特定のグループに利用可能にされ得る。そのような実施形態では、特定の処理アクションについての基礎となる設定データは、特定のグループに関連付けられたデータベースシャード（群）に記憶され、よってこの基礎となる設定データは、特定の処理アクションが、その特定のデータベースシャード（群）に関連付けられた任意のクライアントデバイスに利用可能であるようにする。
【００７７】
ブロック３０２に始まり、グループベースコミュニケーションプラットフォーム１１８は、処理アクションデータを含む外部アプリケーションシステム１１２−１１６からアプリデータを受け取る。このアプリデータは、グループベースコミュニケーションプラットフォーム１１８から外部アプリケーションシステム１１２−１１６に提供されたデータ（例えばコンテナ内のコンテクスチュアルデータ及び／又はペイロードデータ）に基づいて外部アプリケーションシステム１１２−１１６において実行され得るさまざまな処理アクションと共に、外部アプリケーションシステム１１２−１１６からグループベースコミュニケーションプラットフォーム１１８に提供され得るさまざまなオブジェクト（例えばファイルオブジェクト）を示すデータを含み得る。図４及び図５を参照して説明されるように、特定の処理アクションに関連付けられたアプリデータの一部は、グループベースコミュニケーションプラットフォーム１１８及び関連付けられた外部アプリケーションシステム１１２−１１６の間のデータ転送のために利用されるために、特定のプロキシエンドポイントを特定するデータを含み得て、特定の処理アクションに関連付けられたアプリデータは、処理アクションに関連付けられた１つ以上の識別子（例えばユーザーに表示されるべき名前及び／又は処理アクションを起動するために実行可能なプログラムを介して利用されるべきコールバック識別子）、処理アクションに関連付けられた記述、処理アクションに関連付けられた画像（例えばアイコン）及び／又はこれらの類似物を特定するデータを追加として含み得る。
【００７８】
図３を再び参照して、特定の処理アクションを利用可能にするためのプロセスは、ブロック３０４で示されるように、続いて、特定のグループに対応するデータベースシャード内にアプリデータを記憶する。ここで説明されるように、アプリデータは、さまざまなグループについて個別に記憶され得て、したがってアプリデータは、特定のグループに関連付けられたデータベースシャード内に記憶されることによって、特定のグループに関連付けられたクライアントデバイス１０２−１０６は、記憶されたアプリデータに（したがって特定の処理アクションに関連付けられたアプリデータに）アクセスできる。よって、外部システム１１２−１１６によって提供された機能へのアップデートを提供する時には、アップデートは、それぞれのデータベースシャードを介して配布されかつ記憶されることによって、そのアップデートされたアプリデータは、個別のグループに利用可能である。ある実施形態では、アップデートは、特定のグループ及びデータベースシャードに関連付けられた管理者からの承認が得られるときだけ、個別のデータベースシャードに配布され得る。同様に、新しい処理アクションを導入する時、その新しい処理アクションに関連付けられたアプリデータは、特定の外部アプリケーションシステム１１２−１１６に関連付けられたアプリデータを有する全てのデータベースシャード（群）に配布される。
【００７９】
特定の処理アクションを、特定のグループに関連付けられたクライアントデバイス１０２−１０６に利用可能にすることは、図３のブロック３０６に示されるように続く。ここで図示されるように、グループベースコミュニケーションプラットフォーム１１８は、特定の外部アプリケーションシステム１１２−１１６によって提供されたアプリデータ内で定義された１つ以上の処理アクションを特定する。ある実施形態では、アプリデータは、アプリを介して利用可能であるさまざまな機能を定義するデータとしても一般に提供され得るが、アプリデータは、特定の処理アクションを具体的に参照して外部アプリケーションシステム１１２−１１６から提供され得て（例えば既存のアプリのアップデートとして提供される）、処理アクションは、その中の複数の機能のうちの１つとして特定され得る。特定された処理アクションは、特定のグループに関連付けられたクライアントデバイス１０２−１０６に利用可能である１つ以上の処理アクションを特定するアクションテーブルに入力するために利用され得る。ある実施形態では、それぞれのデータベースシャード内に複数のアクションテーブルが記憶され得て、それぞれのアクションテーブルは、特定の外部アプリケーションシステム１１２−１１６に対応する。例えば、第１アクションテーブルは、第１外部アプリケーションシステム１１２から利用可能な処理アクションを特定し得て、第２アクションテーブルは、第２外部アプリケーションシステム１１４から利用可能な処理アクションを特定し得る。さらに他の例では、それぞれのデータベースシャードの中に単一のアクションテーブルが提供され得て、この場合、この単一のアクションテーブルは、複数の外部アプリケーションシステム１１２−１１６から利用可能な処理アクションを含め、特定のグループに関連付けられたクライアントデバイス１０２−１０６に利用可能な全ての処理アクションを特定する。
【００８０】
ある実施形態では、アクションテーブルは、そこで特定されたそれぞれの処理アクションのさまざまな特性を特定する。例えば、このアクションテーブルは、特定の処理アクション、特定の処理アクションと共に使用する資格がある特定のメッセージ、特定の処理アクションを使用する資格がある特定のユーザー、及び／又はこれらの類似物がクライアントデバイス１０２−１０６に提示されるべきである、インスタンスを特定する。
【００８１】
最後に、図３のブロック３１０に示されるように、グループベースコミュニケーションプラットフォーム１１８は、特定のクライアントデバイス１０２−１０６に利用可能である処理アクション、個別のクライアントデバイス１０２−１０６からのリクエストを受信するとクライアントデバイス１０２−１０６に利用可能である処理アクションを示すデータを提供する。例えば、クライアントデバイス１０２−１０６は、特定の選択要素７０４を選ぶユーザー入力を受け取り得て（図７に図示されるように、ここでより詳細に説明される）、グループベースコミュニケーションプラットフォーム１１８に利用可能な処理アクションのキュレートされたリストを求めるリクエストを送信し得る。図６−図１１を参照してより詳細に説明されるように、グループベースコミュニケーションプラットフォーム１１８は、クライアントデバイスを介してユーザーインターフェイス要素を介して表示されるべき、利用可能な処理アクション（アクションテーブル内で定義された処理アクション）のうちの少なくともサブセットのキュレートされたリストを提供する。
【００８２】
ある実施形態では、アクションテーブルは、グループベースコミュニケーションプラットフォーム１１８において（例えばデータベースシャードを介して）記憶された状態を維持し得て、通信ネットワーク１０８を介してクライアントデバイス１０２−１０６によって選択可能にアクセス可能であり得る。しかし、ある実施形態では、アクションテーブルの少なくとも一部（例えばキュレートされたリストに入力するために利用されるアクションテーブルの一部）は、クライアントデバイス１０２−１０６上にローカルに記憶され得る（例えばクライアントデバイス１０２−１０６上でグループベースコミュニケーションアプリのセットアップがなされると入力されるキャッシュメモリを介して）。
【００８３】
さらに、アップデートは、それぞれの外部アプリケーションシステム１１２−１１６からアクションテーブル（又はアクションテーブル内に示される処理アクション）に提供され得る。ある実施形態では、個別の処理アクションに対するアップデートは、適用可能な外部アプリケーションシステム１１２−１１６から個別に提供され得て、又は処理アクションに対するアップデートは、適用可能な外部アプリケーションシステム１１２−１１６からグループとして提供され得ることによって、アップデートデータの単一の送信が、特定の外部アプリケーションシステム１１２−１１６から提供され得て、その外部アプリケーションシステム１１２−１１６に関連付けられた複数の処理アクションについてのアップデートを同時に提供する。
【００８４】
図４は、特定の処理アクションの使用を可能にする、デベロッパに提示される（例えばデベロッパによって使用可能なクライアントデバイス１０２−１０６を介して）デベロッパユーザーインターフェイスのワイヤーフレーム４００を示す。図４に示されるように、デベロッパユーザーインターフェイスは、特定の処理アクションについての外部アプリケーションシステム１１２−１１６に関連するリクエストＵＲＬを特定するユーザー入力を受け取るよう構成される。このＵＲＬは、任意のデータ（例えばコンテナ内に含まれるコンテクスチュアルデータ及び／又はペイロードデータ、インタラクティブダイアログに応答してクライアントデバイス１０２−１０６から提供される追加データ、及び／又はこれらの類似物）が外部アプリケーションシステム１１２−１１６に提供されることによって、外部アプリケーションシステム１１２−１１６がリクエストされた処理アクションを特定し、リクエストされた処理アクションを実行できるようにする。さらに、デベロッパユーザーインターフェイスは、追加として、特定の処理アクションがグループベースコミュニケーションプラットフォーム１１８のユーザーに利用可能になるようにさせるプロセスを起動するユーザー入力（クライアントデバイス１０２−１０６を介して）を受け取るよう構成される（ここで図３のフローチャート３００を参照して説明されるように）。具体的には、図４の例示的ワイヤーフレーム４００で示されるように、ユーザーインターフェイスは、関連するデータをグループベースコミュニケーションプラットフォーム１１８に例えば図５において図示されここで説明されるワイヤーフレーム５００を介して提供するためのプロセスを起動するために選択され得る、インタラクティブな「新しいアクションを作成する」というインターフェイス要素を含む。
【００８５】
さらに、図４に示されるように、グループベースコミュニケーションプラットフォーム１１８は、クライアントデバイス１０２−１０６に提示されるべきダイナミックコンテンツに関する追加データを受け取るよう構成される。そのようなダイナミックコンテンツは、外部アプリケーションシステムに固有であり得て、外部アプリケーションシステム１１２−１１６内での特定の用法のためのデータ（例えばペイロードデータ）を仕向けるために利用され得る。例えば、ダイナミックデータは、外部アプリケーションシステム１１２−１１６内でさまざまな既存のデータを特定し得て、それによって外部アプリケーションシステム１１２−１１６は、当該コンテナのコンテンツをそこでの適切な用法に仕向け得る。
【００８６】
図４を参照して上述したように、図５のワイヤーフレーム５００は、グループベースコミュニケーションプラットフォーム１１８のユーザー（例えば特定のグループに関連付けられたクライアントデバイス１０２−１０６）に利用可能にされるべき処理アクションの機能に関する追加データを受け取るよう構成されたセカンダリーデベロッパユーザーインターフェイスを提供する。図３のフローチャート３００を参照して説明されたように、ある実施形態の処理アクションに固有のデータは、処理アクション名及びクライアントデバイス１０２−１０６に提示されるべき記述（例えば適切なユーザーインターフェイスを介して）、その処理アクションに関連付けられるべきアイコン又は他の画像、及びコンテナ内に含まれるデータと共に利用されるべき関連する処理アクションを特定するためにコンテナと共に含まれ得るコールバックＩＤを含む。ある実施形態では、処理アクションの実行可能な部分は、関連する外部アプリケーションシステムにおいてローカルに記憶されることによって、グループベースコミュニケーションプラットフォーム１１８は、関連するデータを適切なフォーマットで外部アプリケーションシステムに提供し（例えば、処理アクションのセットアップの間に特定されたＵＲＬを介してデータを提供するＡＰＩを介して）、処理アクションに関連するさまざまなインタラクティブダイアログ及び／又は他のメッセージをリクエストしているクライアントデバイス１０２−１０６に提供する。
【００８７】
図６は、ある実施形態によって処理アクションを起動／実行することに関与する例示的ステップを提供するフローチャート６００を示す。そこで示されるように、処理アクションを起動するプロセスは、ブロック６０２において示されるように、特定のメッセージについて処理アクションを求めるリクエストを受け取ると始まる。リクエストを受け取ると、グループベースコミュニケーションプラットフォーム１１８は、ブロック６０４で示されるように、利用可能な処理アクションのキュレートされたリストを生成し、かつリクエストしているクライアントデバイス１０２−１０６に提供する（例えば、ここで説明されるように図８及び図９のキュレートされたリスト８０４又はキュレートされたリスト９０２で表示されるように）。ある実施形態では、初期リクエストは、選択要素７０４（図７で示されるように）、及び／又は選択要素７０４とインタラクトすると表示される処理アクションオプション７０６が選択されると、クライアントデバイス１０２−１０６において生成され得る。ここで説明されるように選択要素７０４は、メッセージに固有であってもよく、その場合、特定のメッセージについて選択要素７０４とインタラクトし（例えばコミュニケーションチャンネル内でシェアされるテキストベースのメッセージ７０２、ファイルオブジェクト、複数のテキストベースのメッセージ及び／又はファイルオブジェクト、及び／又はこれらの類似物）、処理アクションを選択すると、処理アクションが選択されたメッセージについて処理アクションが実行される。
【００８８】
図に示されるように、利用可能な処理アクションのキュレートされたリストは、クライアントデバイス１０２−１０６において表示されるべき利用可能な処理アクションの定義された個数のリストを含み得る。キュレートされたリスト内に含まれるべき処理アクションの個数は、処理アクションが起動させられるべきメッセージの特性（例えば、そのメッセージに関連付けられた送信ユーザー識別子、メッセージそのもののコンテンツ、メッセージがシェアされたコミュニケーションチャンネル、及び／又はこれらの類似物）、リクエストしているクライアントデバイス１０２−１０６の特性（例えば、クライアントデバイス１０２−１０６がモバイルデバイス、デスクトップデバイス、及び／又はこれらの類似物であるか）、及び／又はこれらの類似物に基づいて特定され得る。
【００８９】
さらに、処理アクションがキュレートされたリスト内で表示される順番と共に、キュレートされたリストのコンテンツ（例えば、キュレートされたリスト内に含まれるべき処理アクション）は、メッセージの特性（例えば送信ユーザー識別子、そのメッセージに関連付けられたチャンネル識別子、及び／又はこれらの類似物）、個別のクライアントデバイス１０２−１０６に記憶されたユーザーの好みを示すデータ、クライアントデバイス１０２−１０６による過去の処理アクションの使用を示すデータ（例えば最も最近に利用された処理アクション及び／又は最もよく利用される処理アクションを示す）に少なくとも部分的に基づいて特定され得る。グループベースコミュニケーションプラットフォーム１１８は、クライアントデバイス１０２−１０６を介して利用可能な処理アクションのキュレートされたリストの表示の適切な順序を生成するために、１つ以上のアルゴリズム（例えば機械学習アルゴリズム）を利用し得る。
【００９０】
ブロック６０６において示されるように、グループベースコミュニケーションプラットフォーム１１８は、特定のメッセージについて起動されるべき特定の処理アクションの選択を受け取る。リクエストしているクライアントデバイス１０２−１０６は、対応するユーザー入力を受け取ると、リクエストされた処理アクションを特定するデータをグループベースコミュニケーションプラットフォーム１１８に提供する。ある実施形態では、選択された処理アクションは、キュレートされたリストから選択され得るが、処理アクションは、ここで説明されるアクションテーブル内で示されるように全ての利用可能な処理アクションをナビゲートするために利用され得るサーチインターフェイス内で選択されてもよい。
【００９１】
ブロック６０８で示されるように、グループベースコミュニケーションプラットフォーム１１８は、選択された処理アクションが使用するのに利用可能かを確定するために検証チェックを実行する。実行のための特定の処理アクションの選択の後に起こるとして図示されているが、ブロック６０８について説明される検証チェックは、任意の時点で実行され得ることが理解されるべきである。例えば、検証チェックは、リクエストしているクライアントデバイス１０２−１０６に提供されるべきキュレートされたリストを生成する前に実行されてもよい。例えば、検証チェックは、特定の処理アクションが関連するデータの送信のための関連付けられたＵＲＬを有するか、特定の処理アクションが外部アプリケーションシステムから提供された他のアプリデータ内で反映されているか、及び／又はこれらの類似物を確定し得る。処理アクションが利用不可能であると確定すると、処理アクションを実行するプロセスは、停止し得て、エラーメッセージがクライアントデバイス１０２−１０６を介して表示され得る。ある実施形態では、処理アクションは、アクションテーブルからその後、除去され得て、その結果、その後のリクエストに対しては、その後、利用不可能だと示される。
【００９２】
さらに、図６では示されていないが、リクエストされた処理アクションに関連付けられたグループベースコミュニケーションプラットフォーム１１８及び／又は外部アプリケーションシステム１１２−１１６は、リクエストしているクライアントデバイスが関連付けられたアカウント及び／又は他のユーザーログインを外部アプリケーションシステム１１２−１１６について有しているかを確定するために認証チェックを実行し得る。例えば、外部アプリケーションシステム１１２−１１６は、ユーザー固有の機能を提供し得て、したがってクライアントデバイスは、そのような機能を提供するために、外部アプリケーションシステム１１２−１１６で認証されなければならない。さまざまな実施形態では、認証は、グループベースコミュニケーションプラットフォーム１１８を介して提供され得ることで、外部アプリケーションシステム１１２−１１６が、グループベースコミュニケーションプラットフォーム１１８を通して提供された処理アクションを実行したいというリクエストを、外部アプリケーションシステム１１２−１１６に記憶された既存のユーザーアカウント（及び関連付けられたユーザー固有の機能）に関連付けることができるようにする。グループベースコミュニケーションプラットフォーム１１８を介した認証は、クライアントデバイス１０２−１０６に提供され、外部アプリケーションシステム１１２−１１６に記憶されたアカウントのためのユーザー識別子及び／又はパスワードのユーザー入力を受け取るよう構成されたインタラクティブダイアログを介して実行され得る。認証プロセスを介して受け取られたデータは、コンテナ（ここでより詳細に論述される）の一部として外部アプリケーションシステム１１２−１１６に渡されることによって、外部アプリケーションシステム１１２−１１６は、外部アプリケーションシステム１１２−１１６に記憶された認証されたユーザーアカウントを、コンテナで提供されたクライアント識別子（例えばクライアントトークン）に関連付けることが可能になり得る。
【００９３】
選択された処理アクションが利用可能であることを確定すると、ブロック６１０で示されるように、グループベースコミュニケーションプラットフォーム１１８は、リクエストされた処理アクションのためのコンテクスチュアルデータ及びペイロードデータを含むコンテナを生成する。ここで論じられるように、このコンテナは、リクエストされた処理アクションを特定するために、処理アクションをリクエストしているクライアントデバイスを特定するために、及び／又は処理アクションが実行されるべきメッセージを特定するために、外部アプリケーションシステムによって使用可能なデータを特定するコンテクスチュアルデータ含む。具体的な例として、グループベースコミュニケーションプラットフォーム１１８は、（１）１つ以上の確証（verification）トークン（例えばグループベースコミュニケーションプラットフォーム１１８の確証トークン）、（２）グループ識別子、（３）チャンネル識別子、（４）ユーザー識別子（例えば特定の処理アクションをリクエストするクライアントデバイス１０２−１０６を特定する、クライアントデバイス１０２−１０６に固有のクライアントトークン）、（５）処理アクション識別子（例えば処理アクション名、及び／又は他の特定するストリング）、（６）処理アクションのタイプを定義するアクションタイプ、（７）処理アクションの初期化に応答してクライアントデバイス１０２−１０６に提示されるべきインタラクティブダイアログを定義するトリガ、（８）外部アプリケーションシステムが応答（例えば確認（confirmation）応答）をリクエストしているクライアントデバイス１０２−１０６に戻すように送信できるようにする応答ＵＲＬ、（９）処理アクションがリクエストされた時を示すタイムスタンプ、及び／又はこれらの類似物を含むコンテナのためのコンテクスチュアルデータをアセンブルする。このコンテナは、処理アクションがリクエストされた対象であるメッセージを含むペイロードデータを追加として含む。
【００９４】
コンテナが生成されると、グループベースコミュニケーションプラットフォーム１１８は、ブロック６１２で示されるように、コンテクスチュアルデータ内で特定されたプロキシエンドポイントを介してコンテクスチュアルデータで特定された外部アプリケーションシステム１１２−１１６にこのコンテナを提供する。プロキシエンドポイントは、コンテナをグループベースコミュニケーションプラットフォーム１１８から外部アプリケーションシステム１１２−１１６へ渡すＡＰＩを提供することによって、外部アプリケーションシステム１１２−１１６が、コンテナ内のコンテクスチュアルデータ及び／又はペイロードデータを消費できるようにしつつ、リクエストされた処理アクションを実行する。ブロック６１４に示されるように、コンテナを外部アプリケーションシステム１１２−１１６に提供することに起因して、外部アプリケーションシステム１１２−１１６は、コンテクスチュアルデータにおいて特定された、リクエストされた処理アクションを起動する。
【００９５】
ここで論じられるように、処理アクションは、外部アプリケーションシステム１１２−１１６が、外部アプリケーションシステム１１２−１１６に関連付けられたデータリポジトリ内に記憶されるべき新しいデータオブジェクトを生成し、外部アプリケーションシステム１１２−１１６に関連付けられたデータリポジトリ内に記憶された既存のデータオブジェクトを変更し、外部アプリケーションシステム１１２−１１６に関連付けられたデータリポジトリ内に記憶された既存のデータオブジェクトを消去し、及び／又はこれらの類似物をするようにさせ得る。例えば、外部アプリケーションシステム１１２−１１６は、カレンダーアプリを実行し得て、したがって、処理アクションは、外部アプリケーションシステム１１２−１１６に関連付けられたデータリポジトリ内に記憶されるべき新しいカレンダーエントリーを生成するよう構成され得る。さらに別の例では、外部アプリケーションシステム１１２−１１６は、ソフトウェアバグトラッキングシステムとして実現され得て、したがって、処理アクションは、グループベースコミュニケーションプラットフォーム１１８内で共有された特定のメッセージ内で特定された追加情報によって、特定のソフトウェアバグに関連付けられた既存のレコードを編集し得る。
【００９６】
ブロック６１６及びブロック６１８に示されるように、処理アクションを実行することの一部として、外部アプリケーションシステム１１２−１１６は、グループベースコミュニケーションプラットフォーム１１８がリクエストしているクライアントデバイスにインタラクティブダイアログを提供するようにさせる、グループベースコミュニケーションプラットフォーム１１８に応答を提供する。図１１は、ここでより詳細に論じられるが、処理アクションを実行しながら、利用されるべき追加データをリクエストするために、クライアントデバイス１０２−１０６上で表示されるユーザーインターフェイスを介して提示される例示的インタラクティブダイアログ１１０２を提供する。図６のブロック６２０に示されるように、ある実施形態では、インタラクティブダイアログは、処理アクションの実行に基づいて編集されるべき、外部アプリケーションシステム１１２−１１６に関連付けられたデータリポジトリに記憶された特定のデータオブジェクトを示すデータをリクエストし得る。図６のブロック６２２に示されるように、インタラクティブダイアログは、ペイロードデータと共に外部アプリケーションシステムに提供されるべき追加のコメントとして追加のデータ（例えば、テキストベースのデータ、画像、及び／又はこれらの類似物）を受け取るよう加えて構成され得る。
【００９７】
グループベースコミュニケーションプラットフォーム１１８は、コンテナを外部アプリケーションシステム１１２−１１６に渡す結果、遭遇され得る１つ以上のエラー状態を解釈するよう加えて構成され得る。例えば、もしグループベースコミュニケーションプラットフォーム１１８が、規定された期間（例えばプロキシエンドポイントを介してコンテナを送信した後、５秒）内に、外部アプリケーションシステム１１２−１１６から応答を受け取らないなら、グループベースコミュニケーションプラットフォーム１１８は、エラーメッセージ（例えば、コミュニケーションインターフェイス内で表示されるアイコン、ダイアログ、又はメッセージの形態である）を提供し得る。さらに他の例として、エラーが発生したことを示す応答を外部アプリケーションシステム１１２−１１６から受領すると、グループベースコミュニケーションプラットフォーム１１８は、受領されたエラー応答を、リクエストしているクライアントデバイス１０２−１０６に通信するよう構成され得る。グループベースコミュニケーションプラットフォーム１１８は、応答の受領を待つが、クライアントデバイス１０２−１０６は、リクエストされた処理アクションを示すオープンダイアログを維持することによって、受領され、クライアントデバイス１０２−１０６に渡された全てのエラーが、最近にリクエストされた処理アクションに容易に関連付けられ得るようにし得る。
【００９８】
ブロック６２４に示されるように、いったん外部アプリケーションシステム１１２−１１６がリクエストされた処理アクションの実行を完了すると、外部アプリケーションシステム１１２−１１６は、確認応答をグループベースコミュニケーションプラットフォーム１１８に提供し、ブロック６２６に示されるように、グループベースコミュニケーションプラットフォーム１１８は、確認メッセージをリクエストしているクライアントデバイスに提供する。ある実施形態では、確認メッセージは、リクエストしているクライアントデバイス１０２−１０６のユーザーインターフェイスを介して表示されるダイアログを介して表示され得て、又は確認メッセージは、グループベースコミュニケーションプラットフォーム１１８を介して交換されるメッセージとして表示され得る。ある実施形態では、確認メッセージは、ペイロードデータのメッセージがもともと共有されていたのと同じコミュニケーションチャンネル内で表示され得る（例えば確認メッセージは、特定のコミュニケーションチャンネルへのアクセスを有する全てのクライアントデバイス１０２−１０６に可視であるように、パブリックに共有され得て、又は確認メッセージは、プライベートに共有されることによって、リクエストしているクライアントデバイス１０２−１０６だけに可視であり得る）。確認メッセージは、代替としては、リクエストしているクライアントデバイス１０２−１０６と外部アプリケーションシステム１１２−１１６との間で動作可能な別個のコミュニケーションチャンネルを介してリクエストしているクライアントデバイス１０２−１０６に提供され得る（例えばメッセージをクライアントデバイス１０２−１０６に提供するアプリを動作させる）。
【００９９】
図７は、クライアントデバイス１０２−１０６を介して可視であるグループベースコミュニケーションインターフェイスを提供する例示的ワイヤーフレーム７００である。図７に示される例は、「#general」コミュニケーションチャンネル内でさまざまなクライアントデバイス１０２−１０６の間で共有されるメッセージを図示する。図７で示されるように、選択要素７０４は、テキストベースのメッセージ７０２について選択されており、それによって選択されたテキストベースのメッセージ７０２について実行され得るアクションアイテムの可視メニューを提供する。これらの表示されたオプションのうちの１つは、処理アクション７０６であり、これは、選択されたテキストベースメッセージ７０２について実行され得る、利用可能な処理アクションのオプション（例えば図８に示されるようにキュレートされたリスト８０４）をユーザーインターフェイスに表示させる。
【０１００】
図８は、クライアントデバイス１０２−１０６を介して可視であるようにグループベースコミュニケーションインターフェイスを提供する別の例示的ワイヤーフレーム８００を示す。図８に示される例は、「#random」コミュニケーションチャンネル内でさまざまなクライアントデバイス１０２−１０６の間で共有されるメッセージを図示する。図８に示されるように、選択要素（不図示）がテキストベースメッセージ８０２について選択されてから、その選択されたテキストベースメッセージ８０２について実行され得る、表示されるべきアクションアイテムの可視のメニューが生成される。可視メニューの一部として、利用可能な処理アクションのキュレートされたリスト８０４は、「より多くのメッセージアクション」アイテムを選択することによって、追加の利用可能な処理アクションをレビューするオプションと共に表示される。
【０１０１】
図９は、グループベースコミュニケーションインターフェイスで提供され得る、特にモバイルデバイスを介して提供され得るような、ユーザーインターフェイスのさらに別の例示的ワイヤーフレーム９００を提供する。図９に示される例は、特定のメッセージを選択するユーザー入力の受領と共に、クライアントデバイス１０２−１０６を介して表示され得るアクションアイテムの可視メニューを図示する。図９に示されるように、可視メニューは、「より多くのメッセージアクション」アイテムを選択することによって、追加の利用可能な処理アクションをレビューするオプションと共に、利用可能な処理アクションのキュレートされたリスト９０２を含む。
【０１０２】
図１０は、グループベースコミュニケーションインターフェイスによって、特にモバイルデバイスを介して提示され得るような、ユーザーインターフェイスの別の例示的ワイヤーフレーム１０００を提供する。図１０に示される例は、前述の図９に示されるように、「より多くのメッセージアクション」アイテムをユーザーが選択すると表示され得る、例示的メニュー提供する。図１０のワイヤーフレーム１０００は、特定の処理アクションをサーチするユーザー入力を受け取るよう構成されたサーチ機能を含む。ワイヤーフレーム１０００は、選択されたメッセージについての利用可能な処理アクションの完全なリストをさらに含む。ここで論じられるように、ワイヤーフレーム１０００で示されるリスティング内で特定された処理アクションは、グループベースコミュニケーションプラットフォーム１１８に関連付けられたデータリポジトリ内に記憶され、特定のグループ、チャンネル、メッセージ、クライアントデバイス、及び／又はこれらの類似物について利用可能である処理アクションを特定する、アクションテーブルから特定される。
【０１０３】
図１１は、実行されるべき処理アクションをリクエストした後で、クライアントデバイス１０２−１０６を介して表示可能である例示的インタラクティブダイアログ１１０２を図示するワイヤーフレーム１１００である。図１１に示されるように、インタラクティブダイアログ１１０２は、コンテナのペイロードデータが関連付けられるべき特定のストーリー（例えばデータオブジェクト）を示すデータを受け取るよう構成される。さらに、インタラクティブダイアログ１１０２は、コンテナのペイロードデータに関連付けられ、リクエストされた処理アクションを実行するために外部アプリケーションシステムによって利用され得る追加のコメントを受け取るよう構成され得る。
【０１０４】
［結論］
多くの改変及び他の実施形態には、本開示が関連する技術における当業者なら、前述の記載及び関連する図面において提示された教示を利用し、想到することができよう。したがって、本開示は、開示された特定の実施形態に限定されるべきではなく、改変及び他の実施形態は、添付の特許請求の範囲の範囲内に含まれるよう意図されていると理解されるべきである。ここでは特定の語が採用されているが、それらは一般的な叙述的な意味で用いられているのに過ぎず、限定を目的としたものではない。
【図１】
2021510883.tif 000003
【図２】
2021510883.tif 000004
【図３】
2021510883.tif 000005
【図４】
2021510883.tif 000006
【図５】
2021510883.tif 000007
【図６】
2021510883.tif 000008
【図７】
2021510883.tif 000009
【図８】
2021510883.tif 000010
【図９】
2021510883.tif 000011
【図１０】
2021510883.tif 000012
【図１１】
2021510883.tif 000013
【手続補正書】
【提出日】令和2年9月14日(2020.9.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部アプリケーションシステム内でメッセージに基づいて処理アクションを実行するコンピュータで実現される方法であって、前記方法は、
グループベースコミュニケーションプラットフォームの１つ以上のプロセッサを介して、コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、処理アクションテーブル内に記憶されたデータに少なくとも部分的に基づいて生成され、（１）外部アプリケーションシステムによって実行されるべき処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記グループベースコミュニケーションプラットフォームを介してやり取りされるメッセージを含む、コンテナを生成すること、
前記グループベースコミュニケーションプラットフォームの前記１つ以上のプロセッサを介して、前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記グループベースコミュニケーションプラットフォームの前記１つ以上のプロセッサを介して、前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークンを含む、応答を受け取ること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスにインタラクティブダイアログを表示させること、
前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記特定された処理アクションを実行できるようにすること
を含むコンピュータで実現される方法。
【請求項２】
前記外部アプリケーションシステムから前記特定された処理アクションの完了を示す確認応答を受け取ること、及び
前記クライアントデバイスに確認メッセージを送信すること
をさらに含む請求項１に記載のコンピュータで実現される方法。
【請求項３】
前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される
請求項２に記載のコンピュータで実現される方法。
【請求項４】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記方法は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
をさらに含む、請求項１に記載のコンピュータで実現される方法。
【請求項５】
前記メッセージは、１つ以上の特性に関連付けられ、
前記方法は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリストに含まれる前記処理アクションは、前記メッセージに関連付けられた前記特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
をさらに含む、請求項１に記載のコンピュータで実現される方法。
【請求項６】
メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択される
請求項５に記載のコンピュータで実現される方法。
【請求項７】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項１に記載のコンピュータで実現される方法。
【請求項８】
外部アプリケーションシステム内でグループベースコミュニケーションプラットフォームを介して共有されたメッセージに基づいて処理アクションを実行するよう構成されたシステムであって、前記グループベースコミュニケーションプラットフォームは、
１つ以上のメッセージについて利用可能な１つ以上の処理アクションを特定する処理アクションテーブルを備える、１つ以上の非一時的メモリ記憶リポジトリ、及び
１つ以上のプロセッサ
を備え、前記１つ以上のプロセッサは、全体として、
メッセージ及び前記メッセージについての処理アクションの選択をクライアントデバイスから受け取ることであって、前記処理アクションは、前記処理アクションテーブルから選択される、選択を受け取ること、
前記メッセージ及び前記メッセージについての前記処理アクションの前記選択に基づいて、コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、前記処理アクションテーブル内に記憶されたデータに少なくとも部分的に基づいて生成され、（１）外部アプリケーションシステムによって実行されるべき前記処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、前記グループベースコミュニケーションプラットフォームを介してやり取りされるメッセージを含む、コンテナを生成すること、
前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークンを含む、応答を受け取ること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスにインタラクティブダイアログを表示させること、
前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記特定された処理アクションを実行できるようにすること
を行うよう構成された、システム。
【請求項９】
前記１つ以上のプロセッサは、
前記外部アプリケーションシステムから前記特定された処理アクションの完了を示す確認応答を受け取ること、及び
前記クライアントデバイスに確認メッセージを送信すること
をさらに行うよう構成された、請求項８に記載のシステム。
【請求項１０】
前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される
請求項９に記載のシステム。
【請求項１１】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記１つ以上のプロセッサは、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること
をさらに行うよう構成され、
前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく、請求項８に記載のシステム。
【請求項１２】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記１つ以上のプロセッサは、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる処理アクションは、前記メッセージに関連付けられた特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること
をさらに行うよう構成され、
前記処理アクションの前記選択は、少なくとも部分的に複数の処理アクションの前記キュレートされたリストに基づく、請求項８に記載のシステム。
【請求項１３】
メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択される
請求項１２に記載のシステム。
【請求項１４】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項８に記載のシステム。
【請求項１５】
外部アプリケーションシステム内でメッセージに基づいて処理アクションを実行するコンピュータプログラム製品であって、前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能プログラムコード部分を有する少なくとも１つの非一時的コンピュータ読み取り可能記憶媒体を備え、前記コンピュータ読み取り可能プログラムコード部分は、
コンテクスチュアルデータ及びペイロードデータを含むコンテナを生成することであって、前記コンテクスチュアルデータは、処理アクションテーブル内に記憶されたデータに少なくとも部分的に基づいて生成され、（１）外部アプリケーションシステムによって実行されるべき処理アクション、及び（２）前記処理アクションをリクエストしているクライアントデバイスを特定するクライアントトークンを特定し、前記ペイロードデータは、グループベースコミュニケーションプラットフォームを介してやり取りされるメッセージを含む、コンテナを生成すること、
前記外部アプリケーションシステムにアクセス可能なプロキシエンドポイントに前記コンテナを提供することによって、前記外部アプリケーションシステムが前記コンテナ内のデータを取得し、前記ペイロードデータに少なくとも部分的に基づいて前記特定された処理アクションを実行できるようにすること、
前記外部アプリケーションシステムから応答を受け取ることであって、前記応答は、前記処理アクションをリクエストしている前記クライアントデバイスを特定する前記クライアントトークンを含む、応答を受け取ること、
前記応答に少なくとも部分的に基づいて、前記クライアントデバイスにインタラクティブダイアログを表示させること、
前記インタラクティブダイアログを介して前記クライアントデバイスから追加データを受け取ること、及び
前記コンテナに関連付けられた前記プロキシエンドポイントに前記追加データを送信することによって、前記外部アプリケーションシステムが前記追加データを利用して、前記特定された処理アクションを実行できるようにすること
を行うよう構成された実行可能部分を備えるコンピュータプログラム製品。
【請求項１６】
前記外部アプリケーションシステムから前記特定された処理アクションの完了を示す確認応答を受け取ること、及び
前記クライアントデバイスに確認メッセージを送信すること
を行うよう構成された実行可能部分をさらに備える請求項１５に記載のコンピュータプログラム製品。
【請求項１７】
前記確認メッセージは、前記クライアントデバイスにメッセージとして送信される
請求項１６に記載のコンピュータプログラム製品。
【請求項１８】
前記メッセージは、前記グループベースコミュニケーションプラットフォームを介してコミュニケーションチャンネル内の複数のクライアントデバイスの間で共有され、前記コミュニケーションチャンネルは、関連付けられたチャンネル識別子を有し、
前記コンピュータプログラム製品は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリスト内に含まれる処理アクションは、チャンネル識別子に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
を行うよう構成された実行可能部分をさらに含む、請求項１５に記載のコンピュータプログラム製品。
【請求項１９】
前記メッセージは、特性に関連付けられ、
前記コンピュータプログラム製品は、
前記クライアントデバイスに複数の処理アクションのキュレートされたリストを表示させることであって、前記キュレートされたリストに含まれる処理アクションは、前記メッセージに関連付けられた前記特性に少なくとも部分的に基づいて選択される、キュレートされたリストを表示させること、及び
実行されるべき前記処理アクションを選択する前記クライアントデバイスから入力を受け取ること
を行うよう構成された実行可能部分をさらに含む
請求項１５に記載のコンピュータプログラム製品。
【請求項２０】
メッセージに関連付けられた前記特性は、前記メッセージの送信ユーザー識別子を特定し、前記キュレートされたリスト内に含まれる前記処理アクションは、前記メッセージの前記送信ユーザー識別子に少なくとも部分的に基づいて選択される、
請求項１９に記載のコンピュータプログラム製品。
【請求項２１】
前記メッセージは、テキストベースのメッセージ又はファイルオブジェクトのうちの少なくとも１つを含む
請求項１５に記載のコンピュータプログラム製品。
【国際調査報告】
2021510883.tif 000014
2021510883.tif 000015