関連出願の相互参照
この特許出願は、2019年4月30日に出願された米国特許出願16/399,730号明細書の継続出願であり、同明細書はその全体を参照によって本明細書に援用するものとする。
背景
少なくとも部分的に集中化されたサーバシステムを介して、複数のクライアントデバイスと外部リソースとの間の通信インタフェース内でオブジェクトを交換し、統合するためのシステムが提供されている。
適用された努力、独創性および革新を通して、そのようなシステムの多くの欠点は、本発明の実施形態による解決策を開発することにより解決されてきており、その多くの例が、本明細書で詳細に説明される。
概要
さまざまな実施形態は、グループベース通信プラットフォームと1つ以上の有効化外部リソースとの間の実質的な対話を、グループベース通信プラットフォームとのユーザの対話に基づいて(例えば、クライアントデバイスを介して)、グループベース通信プラットフォームから自動的に生成および選択されたデータを1つ以上の有効化外部リソースのうちの少なくとも1つに渡すことにより可能にするためのシステムおよび方法を対象にする。
第1実施形態は、有効化外部リソースと通信するグループベース通信プラットフォームを介して処理アクションを初期化するように構成されているシステムを対象にする。このグループベース通信プラットフォームは、1つ以上の非一時的メモリ記憶リポジトリであって、1つ以上の非一時的メモリ記憶リポジトリは、1つ以上の処理アクションを識別する処理アクションテーブルを含むリポジトリと、1つ以上のプロセッサであって、1つ以上のプロセッサは、初期化のための処理アクションの選択をクライアントデバイスから受信し、処理アクションは、処理アクションテーブルから選択され、ルーティングデータおよびペイロードデータを含むコンテナを生成し、ルーティングデータは、有効化外部リソースにより実行される処理アクションテーブルから選択された処理アクションを識別し、ペイロードデータは、現在の接続セッション中にグループベース通信プラットフォームとのクライアントデバイスの対話に少なくとも部分的に基づいて生成された環境コンテキストデータを含み、ペイロードデータに少なくとも部分的に基づいて、識別された処理アクションを初期化するために、コンテナを有効化外部リソースに提供し、有効化外部リソースからの応答を受信し、応答は、クライアントデバイスに提示するための1つ以上の対話式ダイアログを識別するデータを含み、応答に少なくとも部分的に基づいて、クライアントデバイスに、1つ以上の対話式ダイアログを表示させ、1つ以上の対話式ダイアログを介して、クライアントデバイスから追加データを受信し、処理アクションを実行するのに追加データを利用するために、追加データを有効化外部リソースに送信するように全体として構成されている1つ以上のプロセッサとを備える。
ある実施形態では、1つ以上のプロセッサは、さらに、クライアントデバイスにおいて生成された環境コンテキストデータを受信するように構成されている。他の実施形態では、1つ以上のプロセッサは、さらに、環境コンテキストデータを生成して、現在の通信セッション中にクライアントデバイスに送信されたグループベース通信インタフェースとのユーザインタラクションを提示し、環境コンテキストデータを、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分に記憶するように構成されており、ペイロードデータ内に提供された環境コンテキストデータは、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分から取得される。
さまざまな実施形態では、処理アクションは、処理アクションテーブルから配置されたコンテキスト処理アクションリストから選択され、コンテキスト処理アクションリストは、環境コンテキストデータに少なくとも部分的に基づいて選択された複数の利用可能な処理アクションと共に配置される。さらに、コンテキスト処理アクションリスト内の利用可能な処理アクションは、環境コンテキストデータに少なくとも部分的に基づいて、各利用可能な処理アクションについて生成された、決定済み関連性スコアに基づいてランク付けされ得る。
ある実施形態では、処理アクションは、複数の利用可能な処理アクションタイプのうちの1つから選択され、処理アクションは、処理アクションテーブルから配置されたコンテキスト処理アクションリストから選択され、コンテキスト処理アクションリストは、選択された処理アクションタイプの複数の利用可能な処理アクションと共に配置される。さらに、さまざまな実施形態では、環境コンテキストデータは、選択された処理アクションに少なくとも部分的に基づいて、ペイロードデータに含まれるように選択される。さまざまな実施形態では、環境コンテキストデータは、現在のセッション識別子、アクティブなグループ識別子またはアクティブなチャネル識別子のうちの1つ以上を含む。さらに、1つ以上の対話式ダイアログはそれぞれ、1つ以上の入力可能なフォームフィールドを含んでもよく、1つ以上の対話式ダイアログのうちの少なくとも1つの1つ以上の入力可能なフォームフィールドのうちの少なくとも1つは、環境コンテキストデータに少なくとも部分的に基づいて自動生成されたデータを含む。ある実施形態では、追加データの少なくとも一部は、ユーザ入力を含む。さらに、追加データの少なくとも一部は、環境コンテキストデータに少なくとも部分的に基づいて自動生成されたデータを確認するユーザ入力を含み得る。
第2実施形態は、有効化外部リソースと通信するグループベース通信プラットフォームを介して処理アクションを初期化するためのコンピュータプログラム製品を対象にする。このコンピュータプログラム製品は、コンピュータ可読プログラムコード部分が記憶されている少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、コンピュータ可読プログラムコード部分は、初期化のための処理アクションの選択をクライアントデバイスから受信し、処理アクションは、1つ以上の処理アクションを識別する処理アクションテーブルから選択され、ルーティングデータおよびペイロードデータを含むコンテナを生成し、ルーティングデータは、有効化外部リソースにより実行される処理アクションテーブルから選択された処理アクションを識別し、ペイロードデータは、現在の接続セッション中にグループベース通信プラットフォームとのクライアントデバイスの対話に少なくとも部分的に基づいて生成された環境コンテキストデータを含み、ペイロードデータに少なくとも部分的に基づいて、識別された処理アクションを初期化するために、コンテナを有効化外部リソースに提供し、有効化外部リソースからの応答を受信し、応答は、クライアントデバイスに提示するための1つ以上の対話式ダイアログを識別するデータを含み、応答に少なくとも部分的に基づいて、クライアントデバイスに、1つ以上の対話式ダイアログを表示させ、1つ以上の対話式ダイアログを介して、クライアントデバイスから追加データを受信し、処理アクションを実行するのに追加データを利用するために、追加データを有効化外部リソースに送信するように構成されている実行可能部分を含む。
さまざまな実施形態では、コンピュータ可読プログラムコード部分は、さらに、クライアントデバイスにおいて生成された環境コンテキストデータを受信するための実行可能部分を含む。さらに、コンピュータ可読プログラムコード部分は、さらに、環境コンテキストデータを生成して、現在の通信セッション中にクライアントデバイスに送信されたグループベース通信インタフェースとのユーザインタラクションを提示し、環境コンテキストデータを、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分に記憶するための実行可能部分を含んでもよく、ペイロードデータ内に提供された環境コンテキストデータは、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分から取得される。
ある実施形態では、処理アクションは、処理アクションテーブルから配置されたコンテキスト処理アクションリストから選択され、コンテキスト処理アクションリストは、環境コンテキストデータに少なくとも部分的に基づいて選択された複数の利用可能な処理アクションと共に配置される。さらに、さまざまな実施形態では、コンテキスト処理アクションリスト内の利用可能な処理アクションは、環境コンテキストデータに少なくとも部分的に基づいて、各利用可能な処理アクションについて生成された、決定された関連性スコアに基づいてランク付けされる。ある実施形態では、処理アクションは、複数の利用可能な処理アクションタイプのうちの1つから選択され、処理アクションは、処理アクションテーブルから配置されたコンテキスト処理アクションリストから選択され、コンテキスト処理アクションリストは、選択された処理アクションタイプの複数の利用可能な処理アクションと共に配置される。さらに、環境コンテキストデータは、選択された処理アクションに少なくとも部分的に基づいて、ペイロードデータに含まれるように選択され得る。
さらに、環境コンテキストデータは、現在のセッション識別子、アクティブなグループ識別子またはアクティブなチャネル識別子のうちの1つ以上を含み得る。ある実施形態では、1つ以上の対話式ダイアログはそれぞれ、1つ以上の入力可能なフォームフィールドを含み、1つ以上の対話式ダイアログのうちの少なくとも1つの1つ以上の入力可能なフォームフィールドのうちの少なくとも1つは、環境コンテキストデータに少なくとも部分的に基づいて自動生成されたデータを含む。さらに、さまざまな実施形態では、追加データの少なくとも一部は、ユーザ入力を含む。ある実施形態では、追加データの少なくとも一部は、環境コンテキストデータに少なくとも部分的に基づいて自動生成されたデータを確認するユーザ入力を含む。
第3実施形態は、有効化外部リソースと通信するグループベース通信プラットフォームを介して処理アクションを初期化するためのコンピュータ実行方法を対象にする。この方法は、初期化のための処理アクションの選択を、クライアントデバイスから1つ以上のプロセッサを介して受信することであって、処理アクションは、1つ以上の非一時的メモリ記憶リポジトリ内に記憶されている処理アクションテーブルから選択され、処理アクションテーブルは、1つ以上の処理アクションを特定する、受信することと、ルーティングデータおよびペイロードデータを含むコンテナを、1つ以上のプロセッサを介して生成することであって、ルーティングデータは、有効化外部リソースにより実行される処理アクションテーブルから選択された処理アクションを識別し、ペイロードデータは、現在の接続セッション中にグループベース通信プラットフォームとのクライアントデバイスの対話に少なくとも部分的に基づいて生成された環境コンテキストデータを含む、生成することと、ペイロードデータに少なくとも部分的に基づいて、識別された処理アクションを初期化するために、コンテナを有効化外部リソースに、1つ以上のプロセッサを介して提供することと、有効化外部リソースからの応答を、1つ以上のプロセッサを介して受信することであって、応答は、クライアントデバイスに提示するための1つ以上の対話式ダイアログを識別するデータを含む、受信することと、応答に少なくとも部分的に基づいて、クライアントデバイスに、1つ以上の対話式ダイアログを表示させることと、1つ以上の対話式ダイアログを介して、クライアントデバイスから追加データを、1つ以上のプロセッサを介して受信することと、処理アクションを実行するのに追加データを利用するために、追加データを有効化外部リソースに、1つ以上のプロセッサを介して送信することとを含む。
さまざまな実施形態では、この方法は、さらに、クライアントデバイスにおいて生成された環境コンテキストデータを受信することを含む。さらに、この方法は、さらに、環境コンテキストデータを生成して、現在の通信セッション中にクライアントデバイスに送信されたグループベース通信インタフェースとのユーザインタラクションを提示することと、環境コンテキストデータを、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分に記憶することとを含み、ペイロードデータ内に提供された環境コンテキストデータは、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分から取得される。
ある実施形態では、処理アクションは、処理アクションテーブルから配置されたコンテキスト処理アクションリストから選択され、コンテキスト処理アクションリストは、環境コンテキストデータに少なくとも部分的に基づいて選択された複数の利用可能な処理アクションと共に配置される。さらに、コンテキスト処理アクションリスト内の利用可能な処理アクションは、環境コンテキストデータに少なくとも部分的に基づいて、各利用可能な処理アクションについて生成された、決定済み関連性スコアに基づいてランク付けされ得る。ある実施形態では、処理アクションは、複数の利用可能な処理アクションタイプのうちの1つから選択され、処理アクションは、処理アクションテーブルから配置されたコンテキスト処理アクションリストから選択され、コンテキスト処理アクションリストは、選択された処理アクションタイプの複数の利用可能な処理アクションと共に配置される。
さらに、さまざまな実施形態では、環境コンテキストデータは、選択された処理アクションに少なくとも部分的に基づいて、ペイロードデータに含まれるように選択される。ある実施形態では、環境コンテキストデータは、現在のセッション識別子、アクティブなグループ識別子またはアクティブなチャネル識別子のうちの1つ以上を含む。さらに、1つ以上の対話式ダイアログはそれぞれ、1つ以上の入力可能なフォームフィールドを含み、1つ以上の対話式ダイアログのうちの少なくとも1つの1つ以上の入力可能なフォームフィールドのうちの少なくとも1つは、環境コンテキストデータに少なくとも部分的に基づいて自動生成されたデータを含む。さまざまな実施形態では、追加データの少なくとも一部は、ユーザ入力を含む。
ある実施形態では、追加データの少なくとも一部は、環境コンテキストデータに少なくとも部分的に基づいて自動生成されたデータを確認するユーザ入力を含む。
ある実施形態は、1つ以上の非一時的メモリ記憶リポジトリであって、1つ以上の非一時的メモリ記憶リポジトリは、1つ以上の処理アクションを識別する処理アクションテーブルを含む非一時的メモリ記憶リポジトリと、1つ以上のプロセッサであって、1つ以上のプロセッサは、クライアントデバイスについて生成された環境コンテキストデータを受信し、環境コンテキストデータは、現在の接続セッション中にグループベース通信プラットフォームとのクライアントデバイスの対話に少なくとも部分的に基づいて生成され、クライアントデバイスについて生成された環境コンテキストデータに少なくとも部分的に基づいて、処理アクションテーブル内で識別された複数の処理アクションそれぞれについての関連性スコアを生成し、関連性スコアに少なくとも部分的に基づいて、複数の処理アクションのうちの1つ以上のコンテキスト処理アクションリストを生成し、グループベース通信インタフェースを介した提示のために、複数の処理アクションのうちの1つ以上のコンテキスト処理アクションリストを、クライアントデバイスに送信するように全体として構成されている1つ以上のプロセッサとを備えるシステムを対象にする。
ある実施形態では、1つ以上のプロセッサは、さらに、初期化のための処理アクションの選択をクライアントデバイスから受信し、処理アクションは、コンテキスト処理アクションリストから選択され、ルーティングデータおよびペイロードデータを含むコンテナを生成し、ルーティングデータは、有効化外部リソースにより実行される処理アクションテーブルから選択された処理アクションを識別し、ペイロードデータは、環境コンテキストデータの少なくとも一部を含み、ペイロードデータに少なくとも部分的に基づいて、識別された処理アクションを初期化するために、コンテナを有効化外部リソースに提供するように構成されている。
さまざまな実施形態では、1つ以上のプロセッサは、さらに、クライアントデバイスにおいて生成された環境コンテキストデータを受信するように構成されている。さらに、1つ以上のプロセッサは、さらに、環境コンテキストデータを生成して、現在の通信セッション中にクライアントデバイスに送信されたグループベース通信インタフェースとのユーザインタラクションを提示し、環境コンテキストデータを、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分に記憶するように構成されており、ペイロードデータ内に提供された環境コンテキストデータは、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分から取得される。
ある実施形態では、コンテキスト処理アクションリスト内に含まれる処理アクションは、決定された関連性スコアに少なくとも部分的に基づいて、ランク付けされた順序で表示するために提供される。さまざまな実施形態では、1つ以上のプロセッサは、さらに、複数の利用可能な処理アクションタイプのうちの1つを識別するデータを、クライアントデバイスから受信するように構成されており、関連性スコアを生成することは、識別された処理アクションタイプの複数の処理アクションについての関連性スコアを生成することを含む。さまざまな実施形態では、環境コンテキストデータは、現在のセッション識別子、アクティブなグループ識別子またはアクティブなチャネル識別子のうちの1つ以上を含む。さらに、コンテキスト処理アクションリスト内に含まれる処理アクションは、第1有効化外部リソースにより実行可能な第1処理アクションおよび第2有効化外部リソースにより実行可能な第2処理アクションを少なくとも含み得る。ある実施形態では、コンテキスト処理アクションリストをクライアントデバイスに送信することは、グループベース通信インタフェース内にコンテキスト処理アクションを表示するために、クライアントデバイスに、インタフェースコンポーネントを生成させることを含む。さらに、複数の処理アクションのうちの少なくとも1つは、履歴データに少なくとも部分的に基づいて自動生成され得る。
さまざまな実施形態は、コンピュータ可読プログラムコード部分が記憶されている少なくとも1つの非一時的コンピュータ可読記憶媒体を備えるコンピュータプログラム製品を対象にする。コンピュータ可読プログラムコード部分は、クライアントデバイスについて生成された環境コンテキストデータを受信し、環境コンテキストデータは、現在の接続セッション中にグループベース通信プラットフォームとのクライアントデバイスの対話に少なくとも部分的に基づいて生成され、クライアントデバイスについて生成された環境コンテキストデータに少なくとも部分的に基づいて、処理アクションテーブル内で識別された複数の処理アクションそれぞれについての関連性スコアを生成し、関連性スコアに少なくとも部分的に基づいて、複数の処理アクションのうちの1つ以上のコンテキスト処理アクションリストを生成し、グループベース通信インタフェースを介した提示のために、複数の処理アクションのうちの1つ以上のコンテキスト処理アクションリストを、クライアントデバイスに送信するように構成されている実行可能部分を含む。
ある実施形態では、コンピュータ可読プログラムコード部分は、さらに、初期化のための処理アクションの選択をクライアントデバイスから受信し、処理アクションは、コンテキスト処理アクションリストから選択され、ルーティングデータおよびペイロードデータを含むコンテナを生成し、ルーティングデータは、有効化外部リソースにより実行される処理アクションテーブルから選択された処理アクションを識別し、ペイロードデータは、環境コンテキストデータの少なくとも一部を含み、ペイロードデータに少なくとも部分的に基づいて、識別された処理アクションを初期化するために、コンテナを有効化外部リソースに提供するための実行可能部分を含む。
さらに、ある実施形態では、コンピュータ可読プログラムコード部分は、さらに、クライアントデバイスにおいて生成された環境コンテキストデータを受信するための実行可能部分を含む。ある実施形態では、コンピュータ可読プログラムコード部分は、さらに、環境コンテキストデータを生成して、現在の通信セッション中にクライアントデバイスに送信されたグループベース通信インタフェースとのユーザインタラクションを提示し、環境コンテキストデータを、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分に記憶するための実行可能部分を含み、ペイロードデータ内に提供された環境コンテキストデータは、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分から取得される。
さまざまな実施形態では、コンテキスト処理アクションリスト内に含まれる処理アクションは、決定された関連性スコアに少なくとも部分的に基づいて、ランク付けされた順序で表示するために提供される。さらに、コンピュータ可読プログラムコード部分は、さらに、複数の利用可能な処理アクションタイプのうちの1つを識別するデータを、クライアントデバイスから受信するための実行可能部分を含み、関連性スコアを生成することは、識別された処理アクションタイプの複数の処理アクションについての関連性スコアを生成することを含む。
ある実施形態では、環境コンテキストデータは、現在のセッション識別子、アクティブなグループ識別子またはアクティブなチャネル識別子のうちの1つ以上を含む。さらに、コンテキスト処理アクションリスト内に含まれる処理アクションは、第1有効化外部リソースにより実行可能な第1処理アクションおよび第2有効化外部リソースにより実行可能な第2処理アクションを少なくとも含む。ある実施形態では、コンテキスト処理アクションリストをクライアントデバイスに送信することは、グループベース通信インタフェース内にコンテキスト処理アクションを表示するために、クライアントデバイスに、インタフェースコンポーネントを生成させることを含む。さらに、複数の処理アクションのうちの少なくとも1つは、履歴データに少なくとも部分的に基づいて自動生成され得る。
ある実施形態は、クライアントデバイスについて生成された環境コンテキストデータを、1つ以上のプロセッサを介して受信することであって、環境コンテキストデータは、現在の接続セッション中にグループベース通信プラットフォームとのクライアントデバイスの対話に少なくとも部分的に基づいて生成される、受信することと、クライアントデバイスについて生成された環境コンテキストデータに少なくとも部分的に基づいて、処理アクションテーブル内で識別された複数の処理アクションそれぞれについての関連性スコアを、1つ以上のプロセッサを介して生成することと、関連性スコアに少なくとも部分的に基づいて、複数の処理アクションのうちの1つ以上のコンテキスト処理アクションリストを、1つ以上のプロセッサを介して生成することと、グループベース通信インタフェースを介した提示のために、複数の処理アクションのうちの1つ以上のコンテキスト処理アクションリストを、クライアントデバイスに1つ以上のプロセッサを介して送信することとを含むコンピュータ実行方法を対象にする。
さらに、さまざまな実施形態では、この方法は、さらに、初期化のための処理アクションの選択をクライアントデバイスから受信することであって、処理アクションは、コンテキスト処理アクションリストから選択される、受信することと、ルーティングデータおよびペイロードデータを含むコンテナを生成することであって、ルーティングデータは、有効化外部リソースにより実行される処理アクションテーブルから選択された処理アクションを識別し、ペイロードデータは、環境コンテキストデータの少なくとも一部を含む、生成することと、ペイロードデータに少なくとも部分的に基づいて、識別された処理アクションを初期化するために、コンテナを有効化外部リソースに送信することとを含む。さらに、この方法は、さらに、クライアントデバイスにおいて生成された環境コンテキストデータを受信することを含み得る。ある実施形態では、この方法は、さらに、環境コンテキストデータを生成して、現在の通信セッション中にクライアントデバイスに送信されたグループベース通信インタフェースとのユーザインタラクションを提示することと、環境コンテキストデータを、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分に記憶することとを含み、ペイロードデータ内に提供された環境コンテキストデータは、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分から取得される。
さまざまな実施形態では、コンテキスト処理アクションリスト内に含まれる処理アクションは、決定された関連性スコアに少なくとも部分的に基づいて、ランク付けされた順序で表示するために提供される。さらに、この方法は、さらに、複数の利用可能な処理アクションタイプのうちの1つを識別するデータを、クライアントデバイスから受信することを含み、関連性スコアを生成することは、識別された処理アクションタイプの複数の処理アクションについての関連性スコアを生成することを含む。ある実施形態では、環境コンテキストデータは、現在のセッション識別子、アクティブなグループ識別子またはアクティブなチャネル識別子のうちの1つ以上を含む。さまざまな実施形態では、コンテキスト処理アクションリスト内に含まれる処理アクションは、第1有効化外部リソースにより実行可能な第1処理アクションおよび第2有効化外部リソースにより実行可能な第2処理アクションを少なくとも含む。さらに、コンテキスト処理アクションリストをクライアントデバイスに送信することは、グループベース通信インタフェース内にコンテキスト処理アクションを表示するために、クライアントデバイスに、インタフェースコンポーネントを生成させることを含み得る。さらに、複数の処理アクションのうちの少なくとも1つは、履歴データに少なくとも部分的に基づいて自動生成され得る。
さまざまな実施形態は、1つ以上の非一時的メモリ記憶リポジトリであって、1つ以上の非一時的メモリ記憶リポジトリは、1つ以上の処理アクションを識別する処理アクションテーブルを含む非一時的メモリ記憶リポジトリと、1つ以上のプロセッサであって、1つ以上のプロセッサは、クライアントデバイスについて生成された環境コンテキストデータを受信し、環境コンテキストデータは、現在のセッション識別子、アクティブな通信チャネル識別子またはアクティブなグループ識別子のうちの1つ以上を含み、環境コンテキストデータに少なくとも部分的に基づいて、複数の処理アクションのうちの1つ以上のコンテキスト処理アクションリストを生成し、コンテキスト処理アクションリストは、第1有効化外部リソースにより実行可能な第1処理アクションおよび第2有効化外部リソースにより実行可能な第2処理アクションを少なくとも含み、グループベース通信インタフェースを介した提示のために、クライアントデバイスに、コンテキスト処理アクションリストを含むインタフェース要素を生成させるように全体として構成されている1つ以上のプロセッサとを備えるシステムを対象にする。
ある実施形態では、1つ以上のプロセッサは、さらに、初期化のための処理アクションの選択をクライアントデバイスから受信し、処理アクションは、コンテキスト処理アクションリストから選択され、ルーティングデータおよびペイロードデータを含むコンテナを生成し、ルーティングデータは、有効化外部リソースにより実行される処理アクションテーブルから選択された処理アクションを識別し、ペイロードデータは、環境コンテキストデータの少なくとも一部を含み、ペイロードデータに少なくとも部分的に基づいて、識別された処理アクションを初期化するために、コンテナを有効化外部リソースに提供するように構成されている。
ある実施形態では、1つ以上のプロセッサは、さらに、クライアントデバイスにおいて生成された環境コンテキストデータを受信するように構成されている。さまざまな実施形態では、1つ以上のプロセッサは、さらに、環境コンテキストデータを生成して、現在の通信セッション中にクライアントデバイスに送信されたグループベース通信インタフェースとのユーザインタラクションを提示し、環境コンテキストデータを、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分に記憶するように構成されており、ペイロードデータ内に提供された環境コンテキストデータは、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分から取得される。さらに、コンテキスト処理アクションリストを生成することは、複数の処理アクションから選択された1つ以上の利用可能な処理アクションを識別することであって、1つ以上の利用可能な処理アクションは、環境コンテキストデータに少なくとも部分的に基づいて、クライアントデバイスに利用可能である、識別することと、1つ以上の利用可能な処理アクションから、環境コンテキストデータに少なくとも部分的に基づいて、コンテキスト処理アクションリストに含ませるための少なくとも1つの処理アクションを選択することとを含み得る。ある実施形態では、1つ以上の利用可能な処理アクションを識別することは、環境コンテキストデータの第1部分に基づいており、コンテキスト処理アクションリストに含ませるための少なくとも1つの処理アクションを選択することは、環境コンテキストデータの第2部分に基づいている。
別の実施形態は、コンピュータ可読プログラムコード部分が記憶されている少なくとも1つの非一時的コンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、コンピュータ可読プログラムコード部分は、クライアントデバイスについて生成された環境コンテキストデータを受信し、環境コンテキストデータは、現在のセッション識別子、アクティブな通信チャネル識別子またはアクティブなグループ識別子のうちの1つ以上を含み、環境コンテキストデータに少なくとも部分的に基づいて、複数の処理アクションのうちの1つ以上のコンテキスト処理アクションリストを生成し、コンテキスト処理アクションリストは、第1有効化外部リソースにより実行可能な第1処理アクションおよび第2有効化外部リソースにより実行可能な第2処理アクションを少なくとも含み、グループベース通信インタフェースを介した提示のために、クライアントデバイスに、コンテキスト処理アクションリストを含むインタフェース要素を生成させるように構成されている実行可能部分を含むコンピュータプログラム製品を対象にする。
ある実施形態では、コンピュータ可読プログラムコード部分は、さらに、初期化のための処理アクションの選択をクライアントデバイスから受信し、処理アクションは、コンテキスト処理アクションリストから選択され、ルーティングデータおよびペイロードデータを含むコンテナを生成し、ルーティングデータは、有効化外部リソースにより実行される処理アクションテーブルから選択された処理アクションを識別し、ペイロードデータは、環境コンテキストデータの少なくとも一部を含み、ペイロードデータに少なくとも部分的に基づいて、識別された処理アクションを初期化するために、コンテナを有効化外部リソースに提供するための実行可能部分を含む。
さまざまな実施形態では、コンピュータ可読プログラムコード部分は、さらに、クライアントデバイスにおいて生成された環境コンテキストデータを受信するための実行可能部分を含む。さらに、コンピュータ可読プログラムコード部分は、さらに、環境コンテキストデータを生成して、現在の通信セッション中にクライアントデバイスに送信されたグループベース通信インタフェースとのユーザインタラクションを提示し、環境コンテキストデータを、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分に記憶するための実行可能部分を含み、ペイロードデータ内に提供された環境コンテキストデータは、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分から取得される。ある実施形態では、コンテキスト処理アクションリストを生成することは、複数の処理アクションから選択された1つ以上の利用可能な処理アクションを識別することであって、1つ以上の利用可能な処理アクションは、環境コンテキストデータに少なくとも部分的に基づいて、クライアントデバイスに利用可能である、識別することと、1つ以上の利用可能な処理アクションから、環境コンテキストデータに少なくとも部分的に基づいて、コンテキスト処理アクションリストに含ませるための少なくとも1つの処理アクションを選択することとを含む。ある実施形態では、1つ以上の利用可能な処理アクションを識別することは、環境コンテキストデータの第1部分に基づいており、コンテキスト処理アクションリストに含ませるための少なくとも1つの処理アクションを選択することは、環境コンテキストデータの第2部分に基づいている。
別の実施形態は、クライアントデバイスについて生成された環境コンテキストデータを、1つ以上のプロセッサを介して受信することであって、環境コンテキストデータは、現在のセッション識別子、アクティブな通信チャネル識別子またはアクティブなグループ識別子のうちの1つ以上を含む、受信することと、環境コンテキストデータに少なくとも部分的に基づいて、複数の処理アクションのうちの1つ以上のコンテキスト処理アクションリストを、1つ以上のプロセッサを介して生成することであって、コンテキスト処理アクションリストは、第1有効化外部リソースにより実行可能な第1処理アクションおよび第2有効化外部リソースにより実行可能な第2処理アクションを少なくとも含む、生成することと、グループベース通信インタフェースを介した提示のために、1つ以上のプロセッサを介して、クライアントデバイスに、コンテキスト処理アクションリストを含むインタフェース要素を生成させることとを含むコンピュータ実行方法を対象にする。
さまざまな実施形態では、この方法は、さらに、初期化のための処理アクションの選択をクライアントデバイスから受信することであって、処理アクションは、コンテキスト処理アクションリストから選択される、受信することと、ルーティングデータおよびペイロードデータを含むコンテナを生成することであって、ルーティングデータは、有効化外部リソースにより実行される処理アクションテーブルから選択された処理アクションを識別し、ペイロードデータは、環境コンテキストデータの少なくとも一部を含む、生成することと、ペイロードデータに少なくとも部分的に基づいて、識別された処理アクションを初期化するために、コンテナを有効化外部リソースに提供することとを含む。
ある実施形態では、この方法は、さらに、クライアントデバイスにおいて生成された環境コンテキストデータを受信することを含む。さらに、この方法は、さらに、環境コンテキストデータを生成して、現在の通信セッション中にクライアントデバイスに送信されたグループベース通信インタフェースとのユーザインタラクションを提示することと、環境コンテキストデータを、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分に記憶することとを含み、ペイロードデータ内に提供された環境コンテキストデータは、1つ以上の非一時的メモリ記憶リポジトリのキャッシュメモリ部分から取得される。ある実施形態では、コンテキスト処理アクションリストを生成することは、複数の処理アクションから選択された1つ以上の利用可能な処理アクションを識別することであって、1つ以上の利用可能な処理アクションは、環境コンテキストデータに少なくとも部分的に基づいて、クライアントデバイスに利用可能である、識別することと、1つ以上の利用可能な処理アクションから、環境コンテキストデータに少なくとも部分的に基づいて、コンテキスト処理アクションリストに含ませるための少なくとも1つの処理アクションを選択することとを含む。さまざまな実施形態では、1つ以上の利用可能な処理アクションを識別することは、環境コンテキストデータの第1部分に基づいており、コンテキスト処理アクションリストに含ませるための少なくとも1つの処理アクションを選択することは、環境コンテキストデータの第2部分に基づいている。
添付図面にこれから参照がなされるが、これらは必ずしも一律の縮尺で描かれてはいない。
一実施形態による1つ以上のクライアントデバイスと通信するグループベース通信プラットフォームを包含するシステム100の概略図である。
一実施形態による運用サーバ110の装置200を示す図である。
ユーザに対して推奨される処理アクションのコンテキスト処理アクションリストを生成するための例示的工程を示すフローチャートである。
環境コンテキストデータに少なくとも部分的に基づいて、処理アクションの実行を初期化するための例示的工程を示すフローチャートである。
さまざまな実施形態によるさまざまなコンポーネントの機能を示すレーン図である。
さまざまな実施形態によるさまざまなコンポーネントの機能を示すレーン図である。
さまざまな実施形態によるさまざまなコンポーネントの機能を示すレーン図である。
コンテキスト処理アクションリストを提供する例示的グループベース通信インタフェースを示す図である。
コンテキスト処理アクションリストを提供する別の例示的グループベース通信インタフェースを示す図である。
環境コンテキストデータの少なくとも一部を有する、部分的に予め配置された対話式ダイアログを提供する例示的グループベース通信インタフェースを示す図である。
詳細な説明
本開示は、添付の図面を参照してさまざまな実施形態をより完全に記載する。本明細書において、いくつかの実施形態が示され、記載されてはいるが、全ての実施形態が示され、記載されているわけではないことを理解されたい。実際、実施形態は、多くの異なる形態をとる場合があり、したがって、この開示は、本明細書で説明された実施形態に限定されるものとして解釈されるべきではない。むしろこれら実施形態は、この開示が適用され得る法的要件を充足するように提供される。全体を通して、同様の番号は、同様の要素を表す。
用語集
この文脈において、「グループ識別子」は、グループベース通信システム内でグループが特定され得るデータの1つ以上の項目を表す。ある実施形態では、グループ識別子は、「チーム識別子」とも呼ばれ得る。例えば、グループ識別子またはチーム識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。
この文脈において、「ユーザ」は、個人、個人のグループ、会社、組織等を表す。ユーザは、クライアントデバイスを用いてグループベース通信システムまたはメッセージングシステムにアクセスし得る。本明細書において、「グループベース」は、定義されたユーザのグループだけにアクセス可能であるように十分なセキュリティを有する、システム、チャネル、メッセージまたは仮想環境を表すのに使用される。グループは、共通のアクセス資格情報、例えば、組織または商業企業のアクセス資格情報により定義され得る。アクセスは、参加するための有効化要求またはあるグループメンバユーザにより他の非メンバユーザに送信された参加するための招待によりさらに促進され得る。グループ識別子(以下で定義)は、データ、情報、メッセージ等を特定のグループと関連付けるのに使用される。
この文脈において、「送信ユーザ識別子」は、特定のユーザ(すなわち、特定のユーザと関連付けられたクライアントデバイス)により送信されるメッセージの収集と関連付けられる。これらメッセージは、ユーザに関するコンテキストを決定するのに分析され得る(例えば、あるトピックにおけるユーザの専門知識または興味は、そのようなメッセージ内のそのトピックまたはそのトピックと関連付けられたキーワードの言及の頻度に基づいて決定され得る)。
この文脈において、「ルーティングデータ」は、要求クライアントデバイスに代わって、有効化外部リソースにより実行される処理アクションのさまざまなアスペクトを識別し得る。ルーティングデータは、特定の処理アクションを実行するための有効化外部リソースをトリガするのに適したプロキシエンドポイントにコンテナを適切にルーティングするために、グループベース通信システムにより利用され得る。ルーティングデータは、実行される要求された処理アクションを識別しかつ/またはクライアントデバイスから要求されるべき任意の追加のデータを識別するために、有効化外部リソースによりさらに利用され得る(例えば、グループベースユーザインタフェースを介して提示される1つ以上の対話式ダイアログを介して)。さらに、ルーティングデータは、メッセージオブジェクト(例えば、メッセージ、ファイル、複数のメッセージ(例えば、通信チャネル内の全てのメッセージ)等)のさまざまな特性、例えば、特定のメッセージオブジェクトがグループベース通信プラットフォームを介していつ共有されたかを示すタイムスタンプ、メッセージオブジェクトを最初に共有したユーザ(および/またはクライアントデバイス)を示す送信ユーザ識別子、処理アクションを要求するクライアントデバイスを識別するクライアントトークン等を識別し得る。
この文脈において、「クライアントデバイス」は、1つ以上のサーバにより利用可能にされた1つ以上のサービスにアクセスするよう構成されているコンピュータハードウェアおよび/またはソフトウェアを表す。サーバは、多くの場合(必ずそうというわけではないが)、別のコンピュータシステム上に存在し、この場合、クライアントデバイスは、ネットワークを介してサービスにアクセスする。クライアントデバイスは、グループ識別と関連付けられる場合があり、この場合、グループ識別は、ユーザが属するグループ(例えば、ユーザグループ)を示唆する電子的表示である。クライアントデバイスは、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ウェアラブルデバイス、パーソナルコンピュータ、エンタープライズコンピュータ等を含み得るが、これらに限定されない。
クライアントデバイスは、「接続セッション」中にネットワークを介してグループベース通信プラットフォームにアクセスし、このセッション中、クライアントデバイスは、相互間でのデータ転送のためにグループベース通信プラットフォームとのアクティブな接続を維持する。単一の接続セッションは、クライアントデバイスがグループベース通信プラットフォームとの接続を維持している間の連続した期間(例えば、接続における連続したインタラプション間、接続の確立および終了の連続した発生間等)を包含し得る。ある実施形態では、接続セッションは、1回以上の短時間のインタラプションが含まれているにもかかわらず、クライアントデバイスとグループベース通信プラットフォームとの間の接続の確立および接続の終了のための連続した発生の間は継続し得ると理解されたい。その間に、クライアントデバイスおよび/またはグループベース通信プラットフォームは、短時間のインタラプションの間に生成されかつ/または取得され、交換される任意のデータをキャッシュするように構成されている。接続セッションがアクティブのままである間、それは、「現在の接続セッション」と呼ばれ得る。現在の接続セッションが終了する(例えば、クライアントデバイスとグループベース通信プラットフォームとの間の接続の終了により)と、現在の接続セッションは、以前の接続セッションになる。接続セッションは、固有の「セッション識別子」と関連付けられる場合があり、それにより、クライアントデバイスおよび/またはグループベース通信プラットフォームが、現在の接続セッションと以前の接続セッションとを区別することが可能となる。これらのセッション識別子は、特定のセッションに固有の英数字文字列(または他の固有の識別子)であり得る。
この文脈において、「ユーザプロファイル」は、ユーザと関連付けられた情報を表す。これは、例えば、ユーザ識別子、ユーザがアクセスを認められた通信チャネル(例えば、グループベース通信チャネル)と関連付けられた1つ以上の通信チャネル識別子(例えば、グループベース通信チャネル識別子)、ユーザが関連付けられているグループについての1つ以上のグループ識別子、ユーザがグループベース通信チャネルのうちのいずれかの所有者であるかについての表示、ユーザがグループベース通信チャネル制限のうちのいずれかを有するかについての表示、複数のメッセージ、複数の絵文字、複数の会話、複数の会話トピック、アバター、電子メールアドレス、実名(例えば、John Doe)、ユーザ名(例えば、jdoe)、パスワード、タイムゾーン、ステータス等を含む。ユーザプロファイルという語は、「ユーザアカウントおよびユーザアカウント詳細」と互換的に使用され得る。ユーザアカウント詳細は、ユーザ資格情報の部分集合指定、例えば、ユーザのユーザ名およびパスワードを含むユーザについてのログイン情報等を含み得る。
この文脈において、「コンテキスト処理アクションリスト」は、クライアントデバイスを介して表示可能なグループベース通信インタフェースを介して、ユーザに提示され得る利用可能な処理アクションのリストを表す。ある実施形態のコンテキスト処理アクションリストは、特定の状況下でユーザに利用可能な処理アクションを識別する処理アクションテーブル内に列挙された処理アクションの少なくとも部分集合(または全て)を含む。コンテキスト処理アクションリストは、単一の有効化外部リソースにより実行される処理アクションのリストを含んでもよいしまたはコンテキスト処理アクションリストは、複数の有効化外部リソースにより実行される処理アクションのリストを含んでもよい。ある実施形態では、処理アクションのコンテキスト処理アクションリストは、処理アクションのコンテキスト処理アクションリストがユーザに利用可能な全ての処理アクションの部分集合のみを含むように、ユーザに対する特定の処理アクションを除外する。例えば、処理アクションのコンテキスト処理アクションリストは、1つ以上の表示基準に基づいて選択された、定義された数の利用可能な処理アクション(例えば、5つの処理アクション)を含み得る。これらの表示基準は、本明細書で検討された環境コンテキストデータに少なくとも部分的に基づいて識別され得る(例えば、コンテキスト処理アクションリスト内に表示される処理アクションは、特定の送信ユーザ識別子を有するメッセージ、例えば、特定のアプリにより生成されるメッセージについて利用可能な処理アクションを含み得る;コンテキスト処理アクションリスト内に表示される処理アクションは、特定のチャネル内から要求された時に利用可能な処理アクションを含み得る(例えば、環境コンテキストデータが、特定のチャネルに対応するチャネル識別子を含むように);コンテキスト処理アクションリスト内に表示される処理アクションは、特定のグループ内から要求された時に利用可能な処理アクションを含み得る(例えば、環境コンテキストデータが、特定のグループに対応するグループ識別子を含むように);かつ/またはこれに類すること)。
さらに、コンテキスト処理アクションリスト内のユーザに提示されるアクションは、最も提案され/推奨された処理アクションがコンテキスト処理アクションリストの最上位に提示され、その他の代替アプリアクションがコンテキスト処理アクションリスト内でより低く提示され得る(例えば、より低い優先度を反映する)ように、1つ以上の提案アルゴリズムに従って編成され得る。
この文脈において、「運用サーバ」は、通信チャネル内での配信について、メッセージを受信しかつ/または配信するために、さまざまなクライアントデバイスと対話するように構成されているコンピュータデバイスを指す。運用サーバは、(クライアントデバイスを介して操作する)ユーザ間で交換されるメッセージを受信し、(関連するデータベースに)記憶しかつ/または向けるように構成され得る。運用サーバの機能は、単一のサーバもしくは共通の機能を有するサーバの集合により提供されてもよいしまたは運用サーバの機能は、運用サーバの説明された機能の部分集合を実行する複数のサーバまたはサーバの集合の間でセグメント化されてもよい。例えば、運用サーバの第1部分集合は、(例えば、1つ以上のインタフェースサーバを介して)クライアントデバイスからメッセージを受信しかつ/またはクライアントデバイスにメッセージを送信するように構成され得る。これらの運用サーバは、通信チャネル内に配信されたメッセージを収集し、それらのメッセージをインデクス作成およびアーカイブのためにメッセージリポジトリデータベース内に記憶するように構成されている運用サーバの第2部分集合と通信し得る。
この文脈において、「通信チャネル」は、システム間およびシステムの部分間でのデータの交換に使用される情報ルートおよび関連付けられた回路を表す。例えば、通信チャネルは、さまざまなクライアントデバイス間で確立されてもよく、これにより、これらクライアントデバイスが互いの間でデータを通信し、共有することが可能となる。これらの通信チャネルは、グループの全てのユーザ間でメッセージを共有するための、クライアントデバイス(およびそれらの各ユーザ)の選択グループ間で確立された「グループベース通信チャネル」であり得る。通信チャネルは、追加でおよび/または代替として、それらの2名のユーザの間だけでメッセージを共有するための、2つのクライアントデバイス(およびそれらの各ユーザ)の間で確立された1対1の直接メッセージ通信チャネルであり得る。複数の通信チャネルは、1つ以上のコンピュータデバイスのそれぞれにおいて動作してもよく、したがって、通信チャネル識別子は、通信チャネルに割り当てられてもよく、その通信チャネルの関連するデータが記憶されているデータベースにおける物理アドレスを示し、その通信チャネルで交換されるデータを受け取るために、通信チャネル内で参加するクライアントデバイスを識別するのに利用される。したがって、通信チャネル識別子により、複数の通信チャネルと関連付けられたコンピュータデバイス上であっても、通信チャネルが別個でありかつ分離している状態にあることが確実となる。通信チャネルは、「パブリック」であってもよく、これにより、任意のクライアントデバイスが通信チャネルを通した情報共有に参加し、参画することが可能となってもよい。通信チャネルは、「プライベート」であってもよく、これにより、通信チャネルにおけるデータ通信を特定のクライアントデバイスおよび/またはユーザに制限することができる。
この文脈において、「ペイロードデータ」は、本明細書で検討されたようなコンテナの一部を形成するデータを表す。ペイロードデータは、1つ以上のメッセージ(例えば、メッセージテキスト、交換されたメッセージに添付されたファイル、複数の個別に交換されたメッセージ等)を含み得る。ある実施形態では、ペイロードデータは、環境コンテキストデータおよび/または処理アクションを実行する際に有効化外部リソースにより使用されるペイロードデータ内に含まれるように自動的に選択される他のデータを含み得る。
この文脈において、「対話式ダイアログ」は、ユーザ入力を受け入れるように構成されているユーザインタフェース要素を表す(例えば、複数の利用可能な選択肢のうちの1つ以上の選択として、自由形式入力として等)。ダイアログは、ユーザインタフェースの別の部分の上に視覚的に表示されるポップアップもしくはオーバーレイ表示要素として提示されてもよいしまたはダイアログは、より大きなユーザインタフェース要素の一部として提示されてもよい。
「有効化外部リソース」という語は、グループベースプラットフォームシステムと通信するように構成されており、グループベース通信インタフェースを介して、クライアントデバイスにアクセス可能なアプリのさまざまな機能を形成するアクションをサービスし、管理しかつ/または実行するソフトウェアプログラム、アプリケーション、プラットフォームまたはサービスを表す。有効化外部リソースは、グループベース通信プラットフォームをサポートするものとは別の、コンパイルされたコードベースまたはリポジトリで動作する。有効化外部リソースは、有効化外部リソースを介して実行され得るタスク、機能および/またはアクションに関連する追加の記憶リポジトリ(例えば、データベース)を含み得る。いくつかの実施形態では、有効化外部リソースは、1つ以上のアプリケーションプログラムインタフェース(API)を介して、グループベース通信プラットフォームと通信することができ、その逆も可能である。いくつかの実施形態では、有効化外部リソースは、グループベース通信プラットフォームネットワークセキュリティレイヤまたはプロトコル(例えば、ネットワークファイアウォールプロトコル)の観点から、有効化外部リソースとグループベース通信プラットフォームとの間の安全な通信を容易にするのに使用されるトークンまたは他の認証資格情報を受信する。さまざまな例として、有効化外部リソースは、カレンダリング/スケジューリングアプリ、to-doリストアプリ、サービスプロバイダアプリ、ソフトウェアテストアプリ、記憶リポジトリアプリ等を実行するように構成され得る。
この文脈において、「データ」は、本発明の実施形態により送信され、受信されかつ/または記憶されることが可能なデータを表す。このため、このような語の使用はいずれも、本発明の実施形態の精神および範囲を限定するものと解釈されるべきではない。さらに、本明細書において、コンピュータデバイスが、別のコンピュータデバイスからデータを受信すると記載されている場合、データは、別のコンピュータデバイスから直接受信されてもよいしまたは1つ以上の中間コンピュータデバイス、例えば、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、ベースステーション、ホスト等を介して間接的に受信されてもよい。同様に、本明細書において、コンピュータデバイスが、別のコンピュータデバイスにデータを送信すると記載されている場合、データは、別のコンピュータデバイスに直接送信されてもよいしまたは1つ以上の中間コンピュータデバイス、例えば、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、ベースステーション、ホスト等を介して間接的に送信されてもよい。
この文脈において、「クライアントトークン」は、特定のクライアントデバイスを固有に識別する識別子を表す。クライアントトークンは、静的である(例えば、関連するクライアントトークンを変更するために、肯定的なアクションがとられるまで、クライアントデバイスが、特定のクライアントトークンと永久的に関連付けられるように)かまたは動的である(例えば、クライアントトークンが、短い期間、例えば、特定のタスクを実行することと関連付けられた期間、クライアントデバイスとグループベース通信プラットフォームとの間の固有の接続セッションと関連付けられた期間等に特定のクライアントデバイスに割り当てられるように)。さらに、ある実施形態では、クライアントトークンは、クライアントトークンの不正使用に対するセキュリティを強化するために、各種の暗号化方法のいずれかを利用して暗号化され得る。
この文脈において、「プライベートグループベース通信チャネル」は、アクセス制限があることにより、グループベース通信システムの他のメンバにより一般にはアクセス可能ではなくかつ/または検索可能ではないグループベース通信チャネルを表す。例えば、プライベートグループベース通信チャネルへのアクセスのための知識および許可を有する(例えば、ユーザが有効化/認証された後に、プライベートグループベース通信チャネルについてのグループベース通信チャネル識別子が、それらのユーザプロファイルと関連付けられる)ユーザまたは管理者のみが、プライベートグループベース通信チャネルのコンテンツを見ることができる。
この文脈において、「グループベース通信プラットフォーム」は、1つ以上のクライアントデバイスにアクセス可能であり、データベースの運用に関連する複数のソフトウェアアプリケーションへのアクセスを提供するよう動作可能なコンピュータサービスの集合体を表す。ある例では、グループベース通信プラットフォームは、ソフトウェアアプリケーションを実行し、デジタルコンテンツ項目、アプリケーション関連データ等を記憶している1つ以上のデータベースへのアクセスを有する1つ以上の追加のサーバと通信するよう構成されている1つ以上の中央サーバの形態をとり得る。グループベース通信プラットフォームは、クライアント保持設定および他のコンプライアンスアスペクトをサポートすることもできる。さらに、グループベース通信プラットフォームは、データへの適切なアクセス権を付与し、サードパーティがアプリケーションおよびボットを構築して、顧客のワークフローと統合できるようにする包括的なサードパーティ開発者サポートを提供し得る。グループベース通信プラットフォームのユーザは、組織グループに編成され(例えば、各会社の従業員は、別個の組織グループであり得る)、各組織グループは、ユーザが割り当てられ得るかまたはユーザが参加し得る1つ以上の通信チャネル(例えば、グループベース通信チャネル)を有し得る(例えば、グループベース通信チャネルは、部門、地理的ロケーション、例えば、オフィス、製品ライン、ユーザの関心、トピック、問題等を提示し得る)。グループ識別子は、メッセージへのアクセス制御を容易にするのに使用され得る(例えば、検索クエリに応答して検索結果の一部としてメッセージを返すようなメッセージへのアクセスが、ユーザプロファイルに関連するグループ識別子を有するユーザに制限され得る)。グループ識別子は、メッセージについてのコンテキストを決定するのに使用され得る(例えば、グループの説明、例えば、組織の名称および/または組織の簡単な説明は、グループ識別子と関連付けられ得る)。グループベース通信システムのユーザは、通信チャネル(例えば、グループベース通信チャネル)に参加しかつ/または通信チャネルを作成することができる。あるグループベース通信チャネルは、そのユーザプロファイルと関連付けられた特定の組織グループ識別子を有するユーザ(すなわち、組織のメンバであるユーザ)がグローバルにアクセス可能であり得る。あるグループベース通信チャネルへのアクセスは、指定されたグループのメンバに制限されてもよく、それにより、グループベース通信チャネルは、そのユーザプロファイルと関連付けられた特定のグループ識別子を有するユーザにアクセス可能である。グループベース通信チャネル識別子は、メッセージに対するアクセス制御を容易にするのに使用され得る(例えば、検索クエリに応答して検索結果の一部としてメッセージを返すようなメッセージへのアクセスが、そのユーザプロファイルと関連付けられたグループベース通信チャネル識別子を有するユーザまたはグループベース通信チャネルに参加する能力を有するユーザに制限され得る)。グループベース通信チャネル識別子は、メッセージについてのコンテキストを決定するのに使用され得る(例えば、グループベース通信チャネルの説明、例えば、グループベース通信チャネルで検討されたプロジェクトの説明は、グループベース通信チャネル識別子と関連付けられ得る)。
この文脈において、「環境コンテキストデータ」は、処理アクションの時点でまたは処理アクションの要求の直前で、グループベース通信インタフェースとのユーザインタラクションを示すデータを表す。本明細書でさらに詳細に検討されるように、このような環境コンテキストデータは、ユーザが処理アクションの実行を要求するグラフィカルインタフェース(例えば、特定の通信チャネルと関連付けられたグラフィカルインタフェース、特定のグループと関連付けられたグラフィカルインタフェース、特定の有効化外部リソースと関連付けられたグラフィカルインタフェース等)、ユーザが処理アクションの実行を要求する現在のグラフィカルインタフェースに到達する前に(例えば、現在の接続セッション中にまたは複数の接続セッションにまたがって)訪れたグラフィカルインタフェースの履歴ならびにユーザが処理アクションの実行を要求する前にそれらのグラフィカルインタフェース間でとられたルート、処理アクションの実行が要求されるグラフィカルユーザインタフェース中のユーザに見えるユーザ、メッセージおよび/もしくは他のオブジェクトの識別および/もしくは特性(例えば、ユーザに表示されるグラフィカルインタフェースの内容)等を表し得る。この点で、環境コンテキストデータは、リスト、テーブルまたは1つ以上のユーザ識別子、セッション識別子、アクティブなチャネル識別子((クライアントデバイスを介して)現在ユーザに見られているチャネルを示す)、アクティブなグループ識別子((クライアントデバイスを介して)現在ユーザに見られているグループを示す)、1つ以上の以前のチャネル識別子(現在の接続セッションおよび/または以前の接続セッション中に見られた1つ以上のチャネルを示す)、1つ以上の有効化外部リソース識別子等を含む他のデータ構造を含み得る。環境コンテキストデータは、追加の識別データ、例えば、タイムスタンプ、日付、対応したユーザ(例えば、最も最近接触したユーザ)のユーザ識別子等も含み得る。環境コンテキストデータは、グループベース通信プラットフォームおよび/またはクライアントデバイスにより生成されかつ/または収集される。ある実施形態では、環境コンテキストデータは、キャッシュメモリ記憶領域に記憶されてもよく、特定のイベントの発生時に消去されてもよい(例えば、環境コンテキストデータの生成から定義された期間の経過、定義された量の新しい環境コンテキストデータの生成、グループベース通信プラットフォームと関連付けられたクライアントデバイス上のアプリのクローズ等)。
ある実施形態では、「履歴データ」は、環境コンテキストデータを補足し得る。ある実施形態では、履歴データは、類似の履歴状況(クライアントデバイスとグループベース通信プラットフォームとの間の以前の対話中(例えば、以前の接続セッション中)に発生する)下での処理アクションの実行に関連すると考えられる環境コンテキストデータ(および/またはルーティングデータ)を示す。例えば、履歴データは、類似の状況の間に、どの処理アクションが1名以上のユーザにより一般的に選択されるか、どの環境コンテキストデータが類似の状況下での処理アクションに関連するか等を示し得る。履歴データは、特定のユーザに固有のユーザ履歴データを包含してもよく、その特定のユーザが過去にグループベース通信プラットフォームとどのように対話したかを識別する。ある実施形態では、履歴データは、汎用履歴データを包含する。同データは、複数のユーザが類似の状況下で過去にどのようにグループベース通信プラットフォームと一般的に対話したかを識別する。ある実施形態によれば、類似の状況は、生成された環境コンテキストデータと、生成された環境コンテキストデータの状況下でグループベース通信プラットフォームとのユーザの得られた対話とをモニターする人工知能および/または機械学習アルゴリズムにより決定されかつ/またはモニターされる。この履歴データは、特定の状況下で特定のユーザに最も関連すると考えられる処理アクションおよび/または環境コンテキストデータの特性に統合されかつ/または要約され得る。
この文脈において、「処理アクション」は、有効化外部リソース(例えば、グループベース通信プラットフォームを介してアクセス可能なアプリ)により実行される実行可能なアクションを表す。処理アクションは、グループベース通信プラットフォームから有効化外部リソースに提供されるコンテナ内に含まれるデータに少なくとも部分的に基づいて実行されるデータ生成プロセス、データ操作プロセス等として具体化され得る。ある実施形態では、処理アクションの実行のために提供されるデータは、ルーティングデータ(例えば、有効化外部リソースおよび/または実行されるべき処理アクションを識別する)および処理アクションが実行される実体データを包含するペイロードデータを含む。ある実施形態では、ペイロードデータは、メッセージもしくは他のオブジェクトを含みかつ/または本明細書で記載されたように、処理アクションを実行する際に利用される環境コンテキストデータを包含する。ただし、ある実施形態では、ペイロードデータは、実行のための入力を必要としないアクションを処理するために、最小(または空)であってもよいことを理解されたい。さまざまな例として、処理アクションは、カレンダーオブジェクトの作成(例えば、スケジューリングアプリを介して)、「to-do」項目の作成(例えば、生産性アプリを介して)、サービスチケットの作成(例えば、サービスアプリを介して)、ブックマークの作成(例えば、リンクコンパイルアプリを介して)、ファイルの作成(例えば、文書編集アプリを介して)、通話の開始(例えば、ビデオ会議アプリを介して)等であり得る。
ある実施形態では、処理アクションは、複数の処理アクションタイプのうちの1つとして具現化され得る。例えば、処理アクションは、グローバル処理アクション、チャネル処理アクション、メッセージ処理アクション、オブジェクト処理アクション等を含み得る。本明細書で利用する場合、「グローバル処理アクション」は、特定のチャネル、メッセージ、オブジェクト等に依存しないものとしてユーザにより要求される。グローバル処理アクションは、例えば、グループベース通信インタフェースメニュー(例えば、クライアントデバイスを介して表示されるグループベース通信インタフェースと関連付けられたファイルメニュー)を介して要求され得る。非限定的な例として、グローバル処理アクションは、ユーザにとって個人的なタスク項目の生成であり得る。
本明細書で使用する場合、「チャネル処理アクション」は、特定の通信チャネルのコンテンツに依存する処理アクションを表す。例えば、チャネル処理アクションは、処理アクションの結果を特定の通信チャネルのメンバの全て(または一部)に配布するのに利用され得る。別の例として、チャネル処理アクションは、入力として(例えば、処理アクションの開始要求のペイロードデータとして)通信チャネル内で交換される複数のメッセージを利用し得る。チャネル処理アクションは、例えば、チャネル固有のメニュー(例えば、チャネル内でメッセージおよび/または他のオブジェクトを共有するためのユーザ入力部に隣接しかつ/または関連付けられたメニュー)を介して要求され得る。
本明細書で使用する場合、「メッセージ処理アクション」は、特定のメッセージに関する開始のために要求され得る。特定のメッセージ処理アクションと関連付けられたメッセージは、要求を伴ったペイロードデータとして提供され得る。一例として、メッセージ処理アクションは、特定のメッセージの何等かの内容に対処するために、特定のユーザのためのタスク項目を生成することを包含し得る。メッセージ処理アクションは、例えば、メッセージ固有のメニュー(例えば、特定のメッセージに隣接して配置されたグラフィカルユーザインタフェース要素を介してアクセス可能なメニュー)を介して要求され得る。
本明細書で使用する場合、「オブジェクト処理アクション」は、特定のオブジェクトに関する開始のために要求され得る。特定のオブジェクト処理アクションと関連付けられたオブジェクトは、要求を伴ったペイロードデータとして提供され得る。一例として、オブジェクト処理アクションは、特定のオブジェクトの何等かの属性に対処するために、特定のユーザのためのタスク項目を生成することを包含し得る。オブジェクト処理アクションは、例えば、オブジェクト固有のメニュー(例えば、特定のオブジェクトに隣接して配置されたグラフィカルユーザインタフェース要素を介してアクセス可能なメニュー)を介して要求され得る。
ある実施形態では、各処理アクションタイプは、グループベース通信インタフェースの一部としてユーザに提示される個別のユーザインタフェース要素を介して要求され得る。ある実施形態では、処理アクションタイプのそれぞれと関連付けられたユーザインタフェース要素は、グループベース通信インタフェースの一部としてユーザに同時に提示され得る。例えば、グローバル処理アクションに対応する第1ユーザインタフェース要素は、グローバルメニューバーの一部としてユーザに提示されてもよく、チャネル処理アクションに対応する第2ユーザインタフェース要素は、チャネルメニューバーの一部としてユーザに提示されてもよく、メッセージ処理アクションに対応する第3ユーザインタフェース要素は、表示された各メッセージでアクセス可能でありかつ/または同メッセージに隣接していてもよく、オブジェクト処理アクションに対応する第4ユーザインタフェース要素は、表示された各オブジェクトで提示されかつ/または同オブジェクトに隣接していてもよい。
ある実施形態では、さまざまな状況(例えば、特定のチャネル内、特定のグループ内等)についてユーザに利用可能な処理アクションは、対応する「処理アクションテーブル」内で識別される。処理アクションテーブルは、ユーザに利用可能な処理アクションを識別する。処理アクションテーブル内で識別された処理アクションは、さまざまな状況下、例えば、新たな処理アクションがインストールされ/アンインストールされたりかつ/またはそれをユーザが何等かの方法で利用可能/利用不可になったりする場合に更新され得る。上記されたように、特定のユーザに推奨される処理アクションのコンテキスト処理アクションリストは、特定のユーザのための処理アクションテーブル内に列挙されたそれらの全ての処理アクションの部分集合を包含し得る。
この文脈において、「コンテナ」は、複数のコンピュータエンティティの間でまとめて送信され得る個々のデータ要素の集合体を表す。そのため、含まれるデータは、互いに関連付けられた状態にある。コンテナは、標準化されたフォーマットで内部にデータを記憶するように構成され得る。そのため、コンピュータエンティティは、コンテナ内に記憶されたデータのタイプを自動的に決定するように構成され得る。例えば、コンテナは、コンテナのペイロード内に記憶されたコンピュータエンティティ間で渡される実体データを含んでもよく、コンテナは、コンテナのルーティングデータ部分に記憶されたコンテナの生成と関連付けられたメタデータを含み得る。
この文脈において、「ファイルオブジェクト」は、要求された処理アクションを実行するために、コンテナ内のペイロードデータとして、有効化外部リソースに提供され得るメッセージの例を表す。ファイルオブジェクトは、各種の実行可能なファイルタイプ、例えば、「.pdf」ファイル、「.docx」ファイル、「.xml」ファイル、「.html」ファイル、「.tp」ファイル等のいずれかであり得る。
この文脈において、「チャネル識別子」は、グループベース通信チャネルが識別され得るデータの1つ以上の項目を表す。ある実施形態では、チャネル識別子は、「グループベース通信チャネル識別子」と呼ぶこともできる。例えば、グループベース通信チャネル識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。
この文脈において、「メッセージ」は、クライアントデバイスを使用しているユーザにより提供される電子的に生成され、グループベース通信チャネルインタフェース内での交換および表示のために構成されているデジタルコンテンツオブジェクトを表す。ある実施形態では、メッセージは、「メッセージング通信」と呼ぶこともできる。メッセージは、(クライアントデバイスを使用している)ユーザより提供される、任意のテキスト、画像、ビデオ、オーディオ、ファイル、インタラクティブリンクまたはこれらの組み合わせを含みまたはこれらとして具現化され得る。例えば、ユーザは、メッセージコンテンツとして、メッセージング通信内に、テキストと共に画像およびビデオを含むメッセージング通信を提供し得る。このような場合、テキスト、画像およびビデオは、メッセージング通信またはデジタルコンテンツオブジェクトを含むであろう。グループベース通信システムのグループベース通信チャネルに送信されまたはポストされた各メッセージは、以下:送信ユーザ識別子、メッセージ識別子、メッセージコンテンツ、グループ識別子およびグループベース通信チャネル識別子を含むメタデータを含む。前述の識別子はそれぞれ、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。
この文脈において、「グループベース通信チャネルインタフェース」は、チャネルメンバ(例えば、クライアントデバイスを使用してその環境にアクセスしている有効化されたユーザ)によりポストされた、そのグループのメンバのみが見ることができるメッセージング通信を表示するように構成されている仮想通信環境またはフィードを表す。グループベース通信チャネルインタフェースのフォーマットは、グループベース通信チャネルの異なるメンバには異なるように見える場合がある。一方で、グループベース通信チャネルインタフェースのコンテンツ(すなわち、メッセージング通信)は、グループベース通信チャネルの各メンバに表示されるであろう。例えば、グループベースメッセージング通信の共通のセットは、各グループベース通信チャネルの各メンバに表示されるであろう。それにより、グループベース通信チャネルインタフェースのコンテンツ(すなわち、メッセージング通信)は、グループベース通信チャネルのメンバにごとには変わらないであろう。
この文脈において、「プロキシエンドポイント」は、ネットワークを介して接続されていないコンピュータシステム間のデータ転送インタフェース、例えば、アプリケーションプログラムインタフェース(API)を表す。プロキシエンドポイントは、URLを介してネットワーク経由でアクセス可能であり得る。例えば、プロキシエンドポイントにより、グループベース通信システムから、グループベース通信システムを介して公開され、使用可能なアプリと関連付けられた有効化外部リソースへのコンテナ(ルーティングデータおよび/またはペイロードデータを含む)のデータ転送が可能となり得る。さまざまな実施形態では、プロキシエンドポイントは、有効化外部リソースにアクセス可能なURLにより少なくとも部分的に定義される。この場合、URLは、有効化外部リソースを特定のデータセット(例えば、1つ以上のコンテナ)に導くのに利用され得る。本明細書で検討されたように、プロキシエンドポイントを介して有効化外部リソースに提供されるコンテナは、有効化外部リソースによる使用が所望の処理アクションを実行できるようにフォーマットされたデータを含み得る。プロキシエンドポイントにより、有効化外部リソースが組み込まれたデータを使用できるようにするために、コンテナの必要なフォーマット設定を維持しながら、有効化外部リソースへのコンテナデータの転送が可能となる。さらに、ある実施形態では、プロキシエンドポイントにより、(例えば、プッシュベースメッセージ送信を介して)有効化外部リソースへのデータのリアルタイム送信が可能となる。他の実施形態では、プロキシエンドポイントは、有効化外部リソースがグループベース通信プラットフォームからデータをプルすることを可能にするように構成され得る(例えば、送信の準備ができているデータの存在を有効化外部リソースに通知するように動作するトリガイベントの発生時に)。
概要
本明細書で検討されたように、ある実施形態は、グループベース通信プラットフォームが1つ以上の有効化外部リソースにより実行される適切なアクションを決定することを可能にするシステムおよび方法を対象にする。これらのアクションは、2018年11月30日に出願された米国特許出願第16/206,542号明細書に記載されたシステムおよび方法に従って少なくとも部分的に実行することができ、同明細書の内容はその全体を参照によって本明細書に援用するものとする。
このような構成により、グループベース通信プラットフォームのユーザは、グループベース通信プラットフォームのグループベース通信インタフェース内で実行されるコマンドおよび/またはプロセスに基づいて、1つ以上の有効化外部リソース内で処理アクションを開始することができる。例えば、メッセージ、ファイル、スレッド、メッセージ群および/またはグループベース通信プラットフォームにより生成されかつ/または同プラットフォーム内で使用可能な他のオブジェクトおよび/またはデータは、グループベース通信プラットフォームからエクスポートされ、1つ以上の有効化外部リソースに自動的にインポートされて、それらの有効化外部リソース内で使用可能なさまざまなオブジェクトを生成し得る。例えば、グループベース通信プラットフォームを介して交換されるメッセージは、適用可能なto-doリスト項目を作成し、配置して、1つ以上の文書を生成し、配置すること等のために、有効化外部リソースに提供され得る。
実行のための処理アクションのユーザの選択を容易にするために、グループベース通信プラットフォーム(および/またはグループベース通信プラットフォームとの電子通信するクライアントデバイス)は、ユーザに表示され得るユーザについて提案され/推奨された処理アクションを決定するために、グループベース通信プラットフォームに対する特定のユーザのアクティビティに関する環境コンテキストデータを(例えば、現在の接続セッション中および/または複数の接続セッション中に)利用する。例えば、ユーザが処理アクションを要求した時にユーザに表示されるユーザインタフェース、ユーザが処理アクションを要求した時の時刻/曜日、ユーザが処理アクションを要求した時のユーザの最新の対応等を利用して、ユーザに利用可能になる1つ以上の提案された処理アクションを決定し得る。
さらに、処理アクションを実行するのに利用されるデータのユーザ入力を容易にするために、グループベース通信プラットフォーム(および/またはグループベース通信プラットフォームと電子通信するクライアントデバイス)は、処理アクションの実行のために有効化外部リソースに提供されるコンテナペイロード部分の1つ以上の必要なデータフィールドを自動的に取得しかつ/または配置し得る。例えば、グループベース通信プラットフォームおよび/またはクライアントデバイスは、処理アクションの実行を支援するために、有効化外部リソースに提供するために、上記検討された環境コンテキストデータのさまざまな部分および/またはユーザに関連する他のデータを取得するように構成され得る。
グループベース通信プラットフォームは、有効化外部リソースに定義されたコンテナ内のデータを提供するように構成され、各コンテナは、(関連する場合)コンテナが生成されたメッセージ、ファイルもしくは他のオブジェクトを示すルーティングデータ、オブジェクトの作成と関連付けられたタイムスタンプ、要求クライアントデバイスを識別するクライアントデバイストークン、コンテナが向けられる有効化外部リソース(例えば、アプリ)および/または有効化外部リソースにより実行されるアクションを含む。コンテナは、処理アクションの実行に利用される実体データを含むペイロード部分をさらに含む。例えば、ペイロード部分は、処理アクションが実行されるオブジェクト自体(例えば、メッセージ、ファイル等)、処理アクションの実行に関連する環境コンテキストデータ等を含み得る。最終的には、コンテナ内に含まれるデータは、有効化外部リソースに、例えば、APIを使用して渡され、要求されたアクションを実行するのに適したフォーマットで、有効化外部リソースにデータを提供する。
追加データが、処理アクションを実行するのに必要な場合、グループベース通信プラットフォームは、有効化外部リソースに渡されたクライアントトークンを利用して、適切なクライアントデバイスを識別し、要求された処理アクションを実行するために有効化外部リソースにより利用される追加情報を収集するためのダイアログを提示する。ダイアログは、ダイアログAPIを介してアクセス可能な別個のダイアログ記憶領域(例えば、グループベース通信プラットフォームと関連付けられて記憶される)から取得され得る。ある実施形態では、要求メッセージは、ダイアログAPIを介してダイアログ記憶領域に提示され得るダイアログトリガ識別子を含み得る。その結果、ダイアログトリガ識別子に対応し、ユーザに提示するのに適したフィールドを有する適切なダイアログが取得される。例えば、ダイアログは、要求されたアクションと共に使用するために、複数の代替的に選択可能な選択肢(有効化外部リソース内で利用可能な選択肢)を含み得る。ダイアログを介して生成されかつ/または他の方法で提供されるさまざまなデータは、有効化外部リソースに戻され、そこに提示された元のコンテナと関連付けられる。有効化外部リソースにデータを正常に提供すると、グループベース通信プラットフォームは、クライアントデバイスに確認を提供する(例えば、別個の通知アイコンとしておよび/またはグループベース通信インタフェースを介して提供されるメッセージを介して)。処理アクションの実行に必要な追加データを収集するための他の方法を利用することができる。処理アクションの実行に必要な追加データを提供するために、コマンドラインスタイルのテキスト入力が、テキスト入力が処理アクションのコンテナ内に含まれる入力として扱われることを示す識別子および/または特定の構文を利用するユーザを介して、ユーザインタフェースフィールド(例えば、チャネル内で共有するためのメッセージを生成するのに利用されるユーザインタフェースフィールド)に提供され得る。ある実施形態では、1つ以上の処理アクションは、(処理アクションを開始するためのグラフィカルメニュー選択肢の代わりにまたはそれに加えて)コマンドラインスタイルプロンプトを介して処理アクションを開始するのに利用され得る、対応する識別子および/または構文を有し得る。
例示的システムアーキテクチャ
本発明の方法、装置およびコンピュータプログラム製品は、各種デバイスのいずれかにより実現され得る。例えば、例示的実施形態の方法、装置およびコンピュータプログラム製品は、1つ以上のデバイス、例えば、1つ以上のクライアントデバイスと通信するように構成されているネットワークデバイス、例えば、サーバまたは他のネットワークエンティティにより実現され得る。ある好ましい非限定的な実施形態では、コンピュータデバイスは、固定されたコンピュータデバイス、例えば、パーソナルコンピュータまたはコンピュータワークステーションを含み得る。さらに例示的実施形態は、各種モバイルデバイス、例えば、携帯デジタルアシスタント(PDA)、携帯電話、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルデバイスのいずれかまたは前述のデバイスの任意の組み合わせにより実現され得る。
図1は、本発明の実施形態が動作し得る例示的コンピュータシステム100を示す。ユーザは、クライアントデバイス102~106を使用し、通信ネットワーク108を介して、グループベース通信プラットフォーム118にアクセスし得る。
通信ネットワーク108は、任意の有線もしくは無線通信ネットワーク(例えば、有線または無線のローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)等を含む)と、それを実現するのに必要な任意のハードウェア、ソフトウェアおよび/またはファームウェア(例えば、ネットワークルータ等)とを含み得る。例えば、通信ネットワーク108は、セルラー式電話、802.11、802.16、802.20および/またはWiMaxネットワークを含み得る。さらに、通信ネットワーク108は、公衆ネットワーク、例えば、インターネット、プライベートネットワーク、例えば、イントラネットまたはそれらの組み合わせを含んでもよく、現在利用可能なまたは将来開発される各種ネットワーキングプロトコル(TCP/IPベースのネットワーキングプロトコルを含むが、これには限定されない)を利用し得る。本明細書で検討されたように、ネットワーキングプロトコルは、ウェブソケット通信を介したデータ送信を可能にするよう構成される。例えば、ネットワーキングプロトコルは、グループベース通信システムの要求に合うようにカスタマイズされ得る。ある実施形態では、プロトコルは、ウェブソケットチャネルを介して送信されるJSONオブジェクトのカスタムプロトコルである。ある実施形態では、データは、複数のプロトコル、例えば、JSON over RPC、JSON over REST/HTTP等を介して送信され得る。
示された実施形態では、グループベース通信プラットフォーム118は、通信ネットワーク108を介してアクセス可能な少なくとも1つの運用サーバ110を含む。全体として、少なくとも1つの運用サーバ110は、1つ以上のクライアントデバイス102~106から送信されたメッセージを受信し、個々の通信チャネルのためのデータベース記憶領域内にメッセージを記憶しかつ/または適切なクライアントデバイス102~106にメッセージを送信するように構成されている。さらに、グループベース通信プラットフォーム118は、1つ以上のデータベース記憶領域120を包含し、データベース記憶領域120は、例えば、本明細書で検討されたような1つ以上のモデルを実行するのに利用される履歴データを記憶するために、1つ以上のキャッシュメモリ記憶領域および/または1つ以上の長期記憶領域を画定し得る。
クライアントデバイス102~106は、上記定義されたコンピュータデバイスのいずれかであり得る。運用サーバ110とクライアントデバイス102~106との間で交換される電子メッセージデータは、さまざまな形態で、さまざまな方法により提供され得る。
ある好ましい非限定的な実施形態では、クライアントデバイス102~106のうちの1つ以上は、モバイルデバイス、例えば、スマートフォンまたはタブレットである。1つ以上のクライアントデバイスは、運用サーバ110と対話するための「アプリ」を実行し得る。このようなアプリは、典型的には、モバイルデバイス、例えば、スマートフォンまたはタブレット上で実行されるように設計される。例えば、アプリは、モバイルデバイスオペレーティングシステム、例えば、Apple Inc.のiOS(登録商標)、Google Inc.のAndroid(登録商標)またはMicrosoft Inc.のWindows 10 Mobile(登録商標)上で実行されるように提供され得る。これらのプラットフォームは、典型的には、アプリ同士が通信しかつアプリがモバイルデバイスの特定のハードウェアおよびソフトウェアコンポーネントと通信するのを可能にするフレームワークを提供する。例えば、上記命名されたモバイルオペレーティングシステムはそれぞれ、ロケーションサービス回路、有線および無線ネットワークインタフェース、ユーザコンタクトならびに他のアプリケーションと対話するためのフレームワークを提供する。アプリの外部で実行されるハードウェアおよびソフトウェアモジュールとの通信は、典型的には、モバイルデバイスオペレーティングシステムにより提供されるアプリケーションプログラミングインタフェース(API)を介して提供される。このため、クライアントデバイス102~106上で実行されるアプリを介して、これらのクライアントデバイス102~106は、グループベース通信プラットフォーム118と通信するように構成されている。
ある好ましい非限定的な実施形態では、クライアントデバイス102~106は、ウェブブラウザを介して、運用サーバ110と対話し得る。また、クライアントデバイス102~106は、運用サーバ110と対話するように設計されたさまざまなハードウェアまたはファームウェアも含み得る。再度、クライアントデバイス102~106のブラウザを介して、クライアントデバイス102~106は、グループベース通信プラットフォーム118と通信するように構成されている。
例示的グループベース通信プラットフォーム118のある実施形態では、メッセージまたはメッセージング通信は、クライアントデバイス102~106からグループベース通信プラットフォーム118に送信され得る。さまざまな実装において、メッセージは、クライアントデバイス102~106のうちの1つにより、直接通信ネットワーク108を介して、グループベース通信プラットフォーム118に送信され得る。メッセージは、中継点、例えば、メッセージサーバ等を介して、グループベース通信プラットフォーム118に送信され得る。例えば、クライアントデバイス102~106は、クライアントアプリケーション(例えば、グループベース通信アプリ)を実行しているデスクトップ、ラップトップ、タブレット、スマートフォン等であり得る。一実装において、メッセージは、メッセージ識別子、送信ユーザ識別子、グループ識別子、グループベース通信チャネル識別子、メッセージ内容(例えば、テキスト、絵文字、画像、リンク)、添付物(例えば、ファイルオブジェクト)、メッセージ階層データ(例えば、メッセージは、別のメッセージへの返信であり得る)、サードパーティのメタデータ等のデータを含み得る。一実施形態では、クライアントデバイス102~106は、以下に提供されるように、エクステンシブルマークアップランゲージ(「XML」)でフォーマットされたデータを含む(セキュア)ハイパーテキストトランスファプロトコル(「HTTP(S)」)POSTメッセージの形式を実質的にとる下記
の例示的メッセージを提供し得る。
示された実施形態では、グループベース通信プラットフォーム118は、チャネル識別子および/またはグループ識別子により識別されたチャネル内で複数のクライアントデバイス102~106間で送信されるメッセージを受信し、通信チャネルのメンバシップを集合的に形成するクライアントデバイス102~106間でそれらのメッセージの配布を容易にするように構成されている複数の運用サーバ110を含む。
ある実施形態では、応答を示すデータは、メッセージと関連付けられ得る。例えば、他のユーザによるメッセージへの応答は、応答(例えば、メッセージと関連付けられた絵文字の選択、メッセージと関連付けられた「いいね」ボタンの選択)、メッセージに埋め込まれたハイパーリンクのクリック、メッセージに対するリプライ(例えば、メッセージに応答して、グループベース通信チャネルインタフェースにメッセージを投稿する)、メッセージと関連付けられたファイルのダウンロード、あるグループベース通信チャネルから別のグループベース通信チャネルへのメッセージの共有、メッセージのピン止め、メッセージの星付け等を含み得る。一実装において、他のユーザによるメッセージへの応答に関するデータは、メッセージに含ませることができ、そのメッセージは、応答を決定するために、(例えば、PHPコマンドを使用して)解析され得る。別の実装では、メッセージへの応答に関するデータは、データベースから取得され得る。例えば、メッセージへの応答に関するデータは、以下
のようなMySQLデータベースコマンドを介して取得され得る。
例えば、メッセージへの応答に関するデータは、メッセージについてのコンテキスト(例えば、あるユーザの観点からのメッセージのソーシャルスコア)を決定するのに使用され得る。別の例では、メッセージへの応答に関するデータは、ユーザに関するコンテキストを決定するのに分析され得る(例えば、トピックにおけるユーザの専門知識は、トピックに関するユーザのメッセージへの応答に基づいて決定され得る)。
実施形態において、添付物が、メッセージに含められ得る。添付物がある場合は、ファイルオブジェクトは、メッセージと関連付けられ得る。一実装において、メッセージは、添付物のファイル名を決定するために(例えば、PHPコマンドを使用して)解析され得る。例えば、ファイルの内容を分析して、メッセージのコンテキストを決定し得る(例えば、特許ポリシー文書は、メッセージがトピック「特許」と関連付けられていることを示し得る)。
実施形態において、サードパーティのメタデータは、メッセージと関連付けられ得る。例えば、サードパーティのメタデータは、会社、グループ、グループベース通信チャネル等に固有のメッセージまたはユーザに関する追加のコンテキストを提供し得る。一実装では、メッセージは、サードパーティのメタデータを決定するために(例えば、PHPコマンドを使用して)解析され得る。例えば、サードパーティのメタデータは、メッセージを送信したユーザがグループベース通信チャネルの許可された代表者であるかどうかを示し得る(例えば、許可された代表者は、グループベース通信チャネルにおける質問に応答することを会社により許可され得る)。
実施形態において、会話プリミティブ(conversation primitive)は、メッセージと関連付けられ得る。一実施形態では、会話プリミティブは、メッセージを分析し、インデクス作成し、記憶すること等に使用される要素である。例えば、メッセージは、それ自身で分析されてもよく、それ自身の会話プリミティブを形成してもよい。別の例では、メッセージは、会話を構成する他のメッセージと共に分析されてもよく、会話を構成するメッセージは、会話プリミティブを形成してもよい。一実装では、会話プリミティブは、当該メッセージ、特定の数(例えば、2つ)の先行メッセージおよび特定の数(例えば、2つ)の後続メッセージとして決定され得る。別の実装では、会話プリミティブは、(例えば、チャネルにおいて)当該メッセージおよび他のメッセージで議論されているトピックおよび/またはこれらメッセージの近接性(例えば、メッセージ送信順序の近接性、メッセージ送信時刻の近接性)の分析に基づいて決定され得る。
実施形態において、上記されたように決定されたさまざまなメタデータおよび/またはメッセージのコンテンツは、メッセージをインデクス作成し(例えば、会話プリミティブを使用して)かつ/または検索のさまざまなファセット(すなわち、運用サーバ110からの結果を返す検索クエリ)を促進するのに使用され得る。運用サーバ110において、メッセージと関連付けられたメタデータが決定されてもよく、メッセージがインデクス作成されてもよい。一実施形態では、メッセージは、会社またはグループのメッセージが別個にインデクス作成されるように、(例えば、他のグループおよび/または会社とシェアされていないグループおよび/または会社と関連付けられた別個のインデックスで)インデクス作成され得る。一実装では、メッセージは、別個の分散されたリポジトリにおいてインデクス作成され得る(例えば、セキュリティの目的でデータ隔離を促進するために)。メッセージと関連付けられた添付物が存在する場合、その関連付けられたファイルのファイルコンテンツは、検索を促進するために、運用サーバ110においてこのようなファイルをインデクス作成するのに使用され得る。一実施形態では、ファイルは、会社またはグループのファイルが別個の分散されたリポジトリにおいてインデクス作成されるように、インデクス作成され得る。同様に、本明細書で検討されたように、さまざまな有効化外部リソースおよび/または処理アクションと関連付けられたアプリデータは、複数のグループと関連付けられたアプリデータが別々に記憶されるように、特定のグループのメッセージと関連付けられて記憶され得る。
1つ以上のクライアントデバイス102~106とグループベース通信プラットフォーム118との間での電子メッセージ交換の例は、図1を参照して以下に説明される。
図1に示されたように、グループベース通信プラットフォーム118は、個々のクライアントデバイス102~106がオブジェクト(例えば、メッセージ)を互いに交換し、1つ以上の有効化外部リソース112~116と対話するのを可能にする。クライアントデバイス102~106間でメッセージおよび/または他のオブジェクトを交換するために、個別のクライアントデバイス102~106は、メッセージ(例えば、テキストベースメッセージ、ファイルオブジェクト、ビデオおよび/またはオーディオストリーム等)をグループベース通信プラットフォーム118に送信する。これらメッセージは、1つ以上の運用サーバ110に最終的に提供される。運用サーバ110は、メッセージをインデクス作成し、これらメッセージをメッセージの意図された受信者(例えば、クライアントデバイス102~106)に配信する。
図1に示された実施形態によれば、クライアントデバイス102~106は、クライアントデバイスのユーザに利用可能なコンテキスト上関連するユーザインタフェースにおいて、受信したメッセージを表示するよう構成されている。例えば、グループベース通信チャネルの一部として第1クライアントデバイス102から送信されたメッセージは、そのグループベース通信チャネルの他のメンバと関連付けられたクライアントデバイス102~106上のユーザインタフェースディスプレイに表示される。
本明細書でより詳細に検討されたように、メッセージ、他のオブジェクトおよび/または他のデータは、各有効化外部リソース内で実行可能な1つ以上の処理アクションを開始するために、有効化外部リソース112~116に提供され得る。ある実施形態では、これらの処理アクションは、グループベース(例えば、個々の処理アクションが、特定のグループの全メンバに利用可能であるように)、通信チャネルベース(例えば、個々の処理アクションが、特定の通信チャネルの全メンバに利用可能であるように)、個々のベース(例えば、個々の処理アクションが、特定の個々のクライアントデバイス102~106に利用可能であるように)、送信ユーザ識別子ベース(例えば、個々の処理アクションが、特定のユーザにより送信された特定のメッセージにのみ利用可能であるように、メッセージが、特定の送信ユーザ識別子と関連付けられるように)等で、クライアントデバイス102~106に利用可能になる。追加の制限として、特定の処理アクションは、処理アクションを実行するように構成された特定の有効化外部リソース(個々のクライアントデバイス102~106と例示的有効化外部リソース112との間の破線により示される)で直接認証されるクライアントデバイス102~106を介してのみ実行可能であり得る。
処理アクションは、処理アクションに対するアクセス制限を設定するグループベース通信プラットフォーム118との開発者の対話に基づいて、有効化外部リソース112により利用可能にされ得る。これらの処理アクションは、有効化外部リソースにより提供される1つ以上の個別の機能を含み得る。例えば、有効化外部リソースの1つの機能が、処理アクションを介して呼び出されてもよく、複数の機能それぞれの間で入力および/または出力を渡すことを特徴とするワークフローと集合的に見なされる複数の処理アクションが、処理アクションを定義してもよい。ある実施形態では、ワークフローは、ワークフローを開始するため、ワークフローを終了するためおよび/またはワークフローの他の機能間で、グループベース通信プラットフォームにより実行される1つ以上の機能に依拠し得る。例えば、ワークフローは、グループベース通信プラットフォーム118に戻される出力を生成するために有効化外部リソース112により実行される機能を含み、その出力は、グループベース通信プラットフォーム112に1つ以上の追加機能を実行させ、有効化外部リソース112の1つ以上の追加機能により利用され得る。
ある実施形態では、有効化外部リソース112に関連する開発者は、1つ以上の処理アクションの可用性を識別しかつ/または処理アクションタイプを識別することにより、グループベース通信プラットフォームがユーザに処理アクションをどのように利用可能にするかを決定できるように、ユーザ入力をグループベース通信プラットフォームに提供し得る。例えば、ユーザ入力は、特定の処理アクションがメッセージ固有のメニューを介してユーザに利用可能となるメッセージ処理アクションであることを指定し得る。
さまざまな実施形態で利用される例示的装置
各運用サーバ110は、1つ以上のコンピュータシステム、例えば、図2に示される装置200により具現化され得る。装置200は、プロセッサ202、メモリ204、入力/出力回路206、通信回路208およびメッセージ増幅器回路210を含み得る。装置200は、図3~図8に関して本明細書で説明された操作を実行するよう構成され得る。これらコンポーネント202~210は、機能的な限定について記載されているが、特定の実装は、特定のハードウェアの使用を必然的に含むことを理解されたい。これらコンポーネント202~210のいくつかは、同様または共通のハードウェアも含み得ることも理解されたい。例えば、2セットの回路が両方とも、同じプロセッサ、ネットワークインタフェース、記憶媒体等の使用を活用して、それらの関連付けられた機能を実行し得る。それにより、重複するハードウェアを、各セットの回路ごとに必要としない。
ある実施形態では、プロセッサ202(および/またはコプロセッサもしくはプロセッサを補助しまたは何等かの方法でプロセッサと関連付けられた任意の他の処理回路)は、装置のコンポーネント間で情報を渡すためのバスを介して、メモリ204と通信し得る。メモリ204は非一時的であり、例えば、1つ以上の揮発性および/または不揮発性メモリを含み得る。すなわち、例えば、メモリ204は、電子記憶デバイス(例えば、コンピュータ可読記憶媒体)であり得る。メモリ204は、装置200が本発明の例示的実施形態に従ってさまざまな機能を実行することを可能にする情報、データ、コンテンツ、アプリケーション、命令等を格納するように構成され得る。
プロセッサ202は、複数の異なる方法で具現化されてもよく、例えば、独立して実行するように構成された1つ以上の処理デバイスを含んでもよい。ある好ましい非限定的な実施形態では、プロセッサ202は、命令の独立した実行、パイプライン処理および/またはマルチスレッディングを可能にするようにバスを介して並列に構成された1つ以上のプロセッサを含み得る。「処理回路」という語の使用は、装置の内部にあるシングルコアプロセッサ、マルチコアプロセッサ、マルチプロセッサおよび/またはリモートもしくは「クラウド」プロセッサを含むと理解され得る。
ある好ましい非限定的な実施形態では、プロセッサ202は、メモリ204に記憶された命令または何等かの方法でプロセッサ202にアクセス可能な命令を実行するよう構成され得る。ある好ましい非限定的な実施形態では、プロセッサ202は、ハードコードされた機能を実行するよう構成され得る。したがって、ハードウェアもしくはソフトウェアのいずれの方法またはそれらの組み合わせにより構成されるかに関わらず、プロセッサ202は、そのように構成されている間は、本発明の実施形態による操作を実行可能なエンティティ(例えば、回路として物理的に具現化される)を表し得る。代替的には、別の例として、プロセッサ202が、ソフトウェア命令の実行者として具現化される場合、これら命令は、命令が実行される時に、本明細書に記載されたアルゴリズムおよび/または操作を実行するように、プロセッサ202を具体的に構成し得る。
ほんの一例として、プロセッサ202は、複数のクライアントデバイス102~106を接続する1つ以上の通信チャネルを維持して、それらの間でのメッセージの共有を可能にするように構成され得る。プロセッサ202により、特定の通信チャネル内のクライアントデバイス102~106間での交換が意図されたメッセージが、クライアントデバイス102~106を介して提供された各ディスプレイウィンドウ内で表示されるように、それらクライアントデバイス102~106に適切に配布されることが確実となる。
さらに、プロセッサ202は、特定の通信チャネル上で交換されたメッセージを、メッセージの記憶および/またはインデック付けのために、データベースと同期するように構成され得る。ある実施形態では、プロセッサ202は、クライアントデバイス102~106への配布のために、記憶されかつ/またはインデック付けされたメッセージを提供し得る。
ある実施形態では、装置200は、入力/出力回路206を含み得る。次に、これは、出力をユーザに提供し、またある実施形態では、ユーザ入力の指示を受信するために、プロセッサ202と通信し得る。入力/出力回路206は、ユーザインタフェースを備えてもよく、ディスプレイを含んでもよく、ウェブユーザインタフェース、モバイルアプリケーション、クライアントデバイス、キオスク(kiosk)等を備えてもよい。ある実施形態では、入力/出力回路206は、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチエリア、ソフトキー、マイクロホン、スピーカまたは他の入力/出力機構も含み得る。プロセッサおよび/またはプロセッサを備えるユーザインタフェース回路は、プロセッサにアクセス可能であるメモリ(例えば、メモリ204等)に記憶されたコンピュータプログラム命令(例えば、ソフトウェアおよび/またはファームウェア)を通して、1つ以上のユーザインタフェース要素の1つ以上の機能を制御するよう構成され得る。
通信回路208は、装置200と通信するネットワークおよび/または任意の他のデバイス、回路もしくはモジュールからデータを受信しかつ/またはこれらにデータを送信するよう構成されている、ハードウェアまたはハードウェアとソフトウェアとの組み合わせかのいずれかで具現化されるデバイスまたは回路等の任意の手段であり得る。この点で、通信回路208は、例えば、有線または無線の通信ネットワークとの通信を可能にするネットワークインタフェースを含み得る。例えば、通信回路208は、1つ以上のネットワークインタフェースカード、アンテナ、バス、スイッチ、ルータ、モデムならびにサポートするハードウェアおよび/もしくはソフトウェアまたはネットワークを介した通信を可能にするのに適した任意の他のデバイスを含み得る。加えてまたは代替として、通信回路208は、アンテナ/アンテナ群を介して信号を送信しまたはアンテナ/アンテナ群を介して受信した信号の受信を扱うために、アンテナ/アンテナ群と相互作用するための回路を含み得る。
メッセージ増幅器回路210は、1つ以上のクライアントデバイス102~106から他のクライアントデバイス102~106に受信された電子メッセージおよび関連付けられたメタデータを、データベースシャードに基づいてコピーし、増幅するよう構成されているハードウェアを含む。メッセージ増幅器回路210は、これらのアクションを実行するために処理回路、例えば、プロセッサ202を利用し得る。一方、ある実施形態では、メッセージ増幅器回路210は、本明細書に記載された機能を実行するための別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)を含み得ることも理解されたい。メッセージ増幅器回路210は、これらの設計された機能を実現するためのハードウェアまたはソフトウェアのいずれかにより構成されている装置200のハードウェアコンポーネントを使用して実現され得る。
本明細書で検討された情報のうちの全てまたは一部は、装置200の1つ以上のコンポーネントにより受信され、生成されかつ/または保持されているデータに基づき得ることにも留意される。ある実施形態では、本明細書で検討された機能のうちの少なくとも一部を提供するために、1つ以上の有効化外部リソース(例えば、リモートクラウドコンピュータおよび/またはデータストレージシステム)も活用され得る。
「回路」という語は、ハードウェアおよびある実施形態では、ハードウェアを構成するためのソフトウェアを含むものと広く理解されるべきである。したがって、本明細書で使用する場合、各装置200のコンポーネントについて、「回路」という語は、本明細書に記載された特定の回路と関連付けられた機能を実行するよう構成されている特定のハードウェアを含むものと理解されたい。例えば、ある実施形態では、「回路」は、処理回路、記憶媒体、ネットワークインタフェース、入力/出力デバイス等を含み得る。ある実施形態では、装置200の他の要素は、特定の回路の機能を提供しまたは補足し得る。例えば、プロセッサ202は、処理機能を提供してもよく、メモリ204は、記憶機能を提供してもよく、通信回路208は、ネットワークインタフェース機能を提供してもよい、等である。
理解されるであろうように、任意のこのようなコンピュータプログラム命令および/または他のタイプのコードは、コンピュータ、プロセッサまたは他のプログラム可能な装置の回路にロードされて、その機械上でコードを実行するコンピュータ、プロセッサまたは他のプログラム可能な回路が、本明細書に記載されたものを含むさまざまな機能を実現する手段を形成するような機械が作り出され得る。
上記され、この開示に基づいて理解されるであろうように、本発明の実施形態は、方法、モバイルデバイス、バックエンドネットワークデバイス等として構成され得る。したがって、実施形態は、全体としてハードウェアを含むまたはソフトウェアとハードウェアとの任意の組み合わせを含むさまざまな手段を備え得る。さらに、実施形態は、記憶媒体内に具現化されたコンピュータ可読プログラム命令(例えば、コンピュータソフトウェア)を有する、少なくとも1つの非一時的コンピュータ可読記憶媒体上のコンピュータプログラム製品の形態をとり得る。任意の適切なコンピュータ可読記憶媒体が利用され得る。同媒体は、非一時的ハードディスク、CD-ROM、フラッシュメモリ、光学記憶デバイスまたは磁気記憶デバイスを含む。
さらに、示されていないが、グループベース通信プラットフォーム118のさまざまな実施形態は、さまざまなグループベース通信チャネル内で交換されたメッセージを記憶しかつ/またはインデクス作成するように構成されている1つ以上のデータベースを備え得る。
図3~図4は、さまざまな実施形態により実行されるさまざまなプロセスを示すフローチャートを提供する。一方、図5A~図5Cは、本明細書で検討されたプロセスの特定の態様を実行する際のさまざまなコンポーネントの機能を示すレーン図データフローを集合的に提供する。図6~図8は、ある実施形態の実装の詳細を示す例示的ワイヤフレームを示す。
例示的データフロー
環境コンテキストデータの決定
上記されたように、環境コンテキストデータは、ユーザが処理アクションの実行を要求した時のグループベース通信プラットフォーム118とのユーザインタラクションを示す。ある実施形態の環境コンテキストデータは、図5Aのブロック501に反映されるように、グループベース通信プラットフォーム118および/またはクライアントデバイスにより少なくとも部分的に生成されかつ/または収集される。
ある実施形態では、環境コンテキストデータは、クライアントデバイス102~106を介してユーザに提示されるグループベース通信インタフェースを生成するのに利用されるデータに少なくとも部分的に基づいて生成されかつ/または収集される。環境コンテキストデータは、クライアントデバイスを介してユーザに提供される現在の表示を示す現在の環境コンテキストデータ(例えば、特定のユーザおよび/またはクライアントデバイスについての環境コンテキストデータの少なくとも一部として記憶されるアクティブなチャネル識別子として具現化される)および/またはユーザに提供される直前の表示を示す以前の環境コンテキストデータ(例えば、ユーザが現在の表示に到達するためにナビゲートしたことを示す、特定のユーザおよび/またはクライアントデバイスについての環境コンテキストデータの少なくとも一部として記憶される1つ以上の以前のチャネル識別子(および/または関連付けられたタイムスタンプ)として具現化され得る)を包含する。さらに、記載されたように、環境コンテキストデータは、環境コンテキストデータが現在の環境コンテキストデータと以前の環境コンテキストデータとの両方を反映し得るように、キャッシュメモリ記憶領域(図5Aのブロック502に反映されるように、運用サーバ110と通信するデータベース記憶領域120と関連付けられまたはクライアントデバイス102~106のメモリ記憶領域として具体化される)に記憶され得る。
ほんの一例として、環境コンテキストデータは、ユーザが処理アクション要求を開始したグループ固有のグラフィカルユーザインタフェースを示すデータを包含する(環境コンテキストデータの少なくとも一部として記憶されたアクティブなグループ識別子として具体化され得る)。具体的な例として、グループ固有のグラフィカルインタフェースは、グループと関連付けられたホームページ、グループ全体のメッセージングインタフェースおよび/または特定のグループと関連付けられた任意のグラフィカルインタフェース(例えば、グループに関連する1名以上のメンバ(例えば、個々のユーザ)を有する通信チャネルと関連付けられたグラフィカルインタフェース)であり得る。上記されたように、特定の処理アクション(例えば、特定の有効化外部リソースと関連付けられた全ての処理アクション、特定の有効化外部リソースと関連付けられた処理アクションの部分集合および/または種々の有効化外部リソースと関連付けられた処理アクションの組み合わせ)は、特定の処理アクションが特定のグループのメンバに対して利用可能になるように、グループベースで利用可能である。さらに、本明細書でより詳細に検討されたように、特定のグループの同一性を示す環境コンテキストデータは、特定の状況セットについての1つ以上の関連する処理アクションを決定するのに使用可能であり得る。例えば、特定のグループと関連付けられたユーザは、特定のグラフィカルインタフェースで提示される時、決定された処理アクションを利用する可能性が最も高い。
さらに、上記言及されたように、環境コンテキストデータは、処理アクションが要求されている現在の状況と同様の状況で提示された時、複数のユーザの以前のアクティビティを示す履歴データを伴いかつ/またはそれにより補足され得る。このような履歴データは、グループベース通信プラットフォーム118と通信するデータベース記憶領域120内に記憶され得る。ほんの一例として、特定のグループの他のメンバにより利用される処理アクションを示す履歴データは、特定のユーザにより要求される可能性のある処理アクション(および/または要求された処理アクションに従ってペイロードデータ内に含まれるデータ)の情報となり得る。
別の例として、環境コンテキストデータは、ユーザが処理アクション要求を開始したチャネル固有のグラフィカルユーザインタフェースを示すデータを包含し得る。上記されたように、特定の処理アクションは、特定の処理アクションが特定のチャネル内からアクセスされた時のみ(および/またはチャネル内で交換されたメッセージまたは他のオブジェクトに対してのみ)ユーザに利用可能にし得るように、チャネルベースで利用可能である。さらに、本明細書でより詳細に検討されたように、処理アクションが開始される特定のチャネルの同一性を示す環境コンテキストデータ(例えば、アクティブなチャネル識別子)は、特定の状況セットについての1つ以上の関連する処理アクションを決定するのに使用可能であり得る。例えば、特定のチャネルと関連付けられまたは特定のチャネル内で作業するユーザは、特定のグラフィカルインタフェースで提示される時、決定された処理アクションを利用する可能性が最も高い。
さらに、環境コンテキストデータが、複数のユーザの以前のアクティビティを示す履歴データを伴いかつ/またはそれにより補足される範囲で、履歴データは、特定のチャネルから処理アクションを要求する時に、特定のチャネルの他のメンバにより利用される処理アクションを示し得る。ほんの一例として、特定の通信チャネル内の他のユーザにより利用された処理アクションを示す履歴データは、特定のユーザにより要求される可能性のある処理アクション(および/または要求された処理アクションによりペイロードデータ内に含まれるデータ)の情報となり得る。
ある実施形態では、環境コンテキストデータは、処理アクションの開始を要求するユーザの同一性を示すデータを含む。上記言及されたように、環境コンテキストデータは、ユーザの以前のアクティビティを示す履歴データを伴いかつ/またはそれにより補足され得る。このため、ある実施形態によれば、ユーザの同一性を利用して、処理アクションを開始する時のユーザの以前のアクティビティを示す履歴データを取得する。例えば、本明細書でより詳細に検討されたように、履歴データは、特定のチャネル内で処理アクションを要求する時にユーザが典型的にはどの処理アクションを利用するか、ユーザが特定のチャネル内で実行された処理アクションの結果を典型的には誰に送信するか等を示し得る。
特定の例示的実施形態では、環境コンテキストデータは、ユーザが処理アクションの開始を要求するオブジェクトと関連付けられた他のユーザの同一性を示すデータを含む。例えば、環境コンテキストデータは、ユーザが処理アクションの開始を要求するオブジェクトの送信ユーザ識別子を識別し得る。さらに別の例として、環境コンテキストデータは、ユーザが処理アクションの開始を要求する特定のオブジェクトに対してコメントを付け、それに対する応答を提供しかつ/または何等かの方法で対話した他のユーザ識別子を識別し得る。
ある実施形態では、環境コンテキストデータは、ユーザが処理アクションの開始(例えば、ユーザが処理アクションを要求した時に生成されるタイムスタンプとして具現化される)を要求した時、日付、週、月、曜日、時間等を示すデータをさらに含み得る。この時間ベースの環境データは、特定の期間(例えば、日、時刻等)におけるさまざまな処理アクションの開始を要求するユーザの以前の履歴を示す関連する履歴データを取得するのに利用され得る。
さらに、上記されたように、環境コンテキストデータは、(例えば、ユーザのクライアントデバイスとグループベース通信プラットフォーム118との間の単一の接続セッション中に)グループベース通信プラットフォーム118と関連付けられたユーザの最近のアクティビティ履歴を示し得る以前の環境コンテキストデータを含む。例えば、以前の環境コンテキストデータは、(例えば、現在の接続セッション中および/または現在の接続セッションと1つ以上の以前の接続セッションとの間に)ユーザにより見られた特定のチャネル識別子それぞれと関連付けられたユーザインタフェース画面の履歴を含み得る。ユーザがそれらのユーザインタフェース画面間をどのようにナビゲートしたか(例えば、ユーザに提示される通信チャネルの完全なリストとは異なる通信チャネルを選択するかまたは通信チャネル間を移動するために個々のメッセージ内に提示されたハイパーリンクを選択するか)は、ユーザがさまざまなグラフィカルインタフェース画面を訪れた時系列(例えば、環境コンテキストデータ内に記憶されたチャネル識別子それぞれと関連付けられたタイムスタンプにより反映される)により示され得る。このような環境コンテキストデータは、ユーザが他のユーザと同様のナビゲーション経路をとっているかどうかおよびそのような他のユーザが最終的にどのような処理アクションを利用しているかを決定するのに利用され得る。
前述の例は限定するものとして解釈されるべきではなく、環境コンテキストデータは、グループベース通信インタフェースとのユーザインタラクションの他の属性を示し得ることを理解されたい。さらに、環境コンテキストデータは、グループベース通信インタフェースとのユーザインタラクションのさまざまな属性を集合的に示すデータの組み合わせを含み得る。このため、環境コンテキストデータの複数の属性に基づいて、最適な処理アクションを決定し得る。非限定的なほんの一例として、環境コンテキストデータは、特定のユーザが特定のグループと関連付けられた特定の通信チャネル内で共有された特定の送信ユーザ識別子を有するメッセージに基づいて、特定の曜日(木曜日)の特定の時刻(例えば、午前9時)に処理アクションの開始を要求していることを示し得る。本明細書でより詳細に検討されたように、これらの属性はそれぞれ、人工知能および/または機械学習アルゴリズムを介して処理アクションを開始するために、要求のペイロードデータ内に含まれる最も関連性のある処理アクションおよび/またはデータを決定するのに集合的に利用され得る、処理アクションの開始のための要求と関連付けられた関連特性とみなされ得る。
処理アクションのための環境コンテキストデータの確立
上記されたように、環境コンテキストデータは、グループベース通信インタフェースとのユーザインタラクションのさまざまな属性を示し得る。これらの属性は、グループベース通信プラットフォームを介して共有されるメッセージ(または他のオブジェクト)と関連付けられたメタデータ、クライアントデバイスを介してユーザに表示されるグラフィカルユーザインタフェースを生成するのに利用されるフォーマットデータ、さまざまな通信チャネルについて記憶されたデータ、ユーザプロファイルに記憶されたデータ等に少なくとも部分的に基づいて決定され得る。
環境コンテキストデータは、グループベース通信プラットフォーム118のキャッシュメモリ記憶領域(例えば、運用サーバ110を介してアクセス可能なデータベース記憶領域120の指定部分)に記憶されてもよく、フィールド化されたデータ記憶領域(例えば、環境コンテキストデータの一部を含む各フィールド、例えば、セッション識別子を含むフィールド、アクティブなチャネル識別子を含むフィールド、以前のチャネル識別子(および関連付けられたタイムスタンプ)を含む1つ以上のフィールド等)として具現化されてもよい。他の実施形態では、環境コンテキストデータは、クライアントデバイス102~106においてグラフィカル表示を生成するために、クライアントデバイスに提示される全てのメタデータとして提供され得る。したがって、環境コンテキストデータのフォーマットおよび/またはコンテンツは、定義されたコンテンツおよびフォーマットのセットに限定される必要はない。
ある実施形態では、環境コンテキストデータのフォーマットおよび/またはコンテンツは、実行のために要求される処理アクションのタイプに基づいて変化し得る。例えば、グローバル処理アクションに関して収集された環境コンテキストデータは、第1コンテンツおよび/もしくはフォーマットを有してもよく、チャネル処理アクションに関して収集された環境コンテキストデータは、第2コンテンツおよび/もしくはフォーマットを有してもよく、メッセージ処理アクションに関して収集された環境コンテキストデータは、第3コンテンツおよび/もしくはフォーマットを有してもよくかつ/または他のオブジェクト処理アクションに関して収集された環境コンテキストデータは、第4コンテンツおよび/もしくはフォーマットを有してもよい。ただし、他の実施形態では、ユーザが処理アクションの開始を要求する前に、環境コンテキストデータが生成されかつ/または収集され得るため、環境コンテキストデータのコンテンツおよび/またはフォーマットは、全ての処理アクションタイプの間で一貫し得ることを理解されたい。
図3は、実行のための1つ以上の推奨される処理アクションを選択しかつ/または生成するのに利用され得る環境コンテキストデータを生成しかつ/または取得するための例示的工程を示すフローチャートである。図3に反映されるプロセスは、図5A~図5Cを参照して検討されるように、さまざまなコンポーネントにより実行されるさまざまなプロセスをさらに参照して本明細書で検討される。
図3のブロック301に示されたように、ユーザがグループベース通信インタフェースをナビゲートして、グループベース通信プラットフォーム118と対話する際に、環境コンテキストデータを、定期的に、周期的に等で収集し、キャッシュし得る。ある実施形態では、環境コンテキストデータは、データがクライアントデバイス102~106に送信されて、ユーザに表示するためのグループベース通信インタフェースを生成する際に、グループベース通信プラットフォーム118にキャッシュされる。本明細書で検討されたように、キャッシュメモリ記憶領域内に記憶される環境コンテキストデータは、クライアントデバイス102~106で表示するためにグループベース通信インタフェースを生成するのに利用されるデータの全て(または一部)を包含し得る。グループベース通信インタフェースの新しい表示の生成のために、新しいデータがクライアントデバイス102~106に送信されると、キャッシュメモリ記憶領域に記憶された環境コンテキストデータが更新される。例えば、ユーザが、特定の通信チャネルと関連付けられたインタフェースにナビゲートすると、特定の通信チャネルに対応するチャネル識別子が、ユーザがいつチャネル固有のインタフェースにナビゲートしたかを示すタイムスタンプと共に、現在のチャネル識別子として環境コンテキストデータに追加される。ある実施形態では、環境コンテキストデータは、ユーザが特定の通信チャネルインタフェースに最初にどのようにナビゲートしたかを示すデータ(例えば、ユーザが通信チャネルのユーザ固有のリスト内のチャネル識別子をクリックしたことを示すメタデータ、ユーザが検索インタフェース内からチャネルを検索し、チャネル識別子を選択したかどうか、ユーザが異なる通信チャネルに表示されるメッセージ中のハイパーリンクを選択したかどうか等)をさらに含み得る。ユーザが特定のインタフェースと対話する経過時間を識別するためにタイムスタンプを使用することに加えて、タイムスタンプは、ユーザが特定のインタフェースと対話する間に、どのメッセージ(または他のオブジェクト)がユーザに表示されたかを決定するのにさらに使用可能であり得る。同時に、ユーザが、異なる通信チャネルと関連付けられた以前のインタフェースから離れてナビゲートすると、その異なる通信チャネルと関連付けられたチャネル識別子は、(ユーザが異なる通信チャネルインタフェースに最初にナビゲートした時およびユーザが異なる通信チャネルインタフェースから離れてナビゲートした時を示す対応するタイムスタンプと共に)以前のチャネル識別子のリストに追加され得る。
ある実施形態では、以前に記憶された環境コンテキストデータは、新しい環境コンテキストデータにより置き換えられる。他の実施形態では、キャッシュメモリ記憶領域に記憶された環境コンテキストデータは、(既存の環境コンテキストデータを除去することなく)新しく生成された環境コンテキストデータを含むように更新される。後者の実施形態では、環境コンテキストデータを記憶するのに利用されるキャッシュメモリ記憶領域は、サイズが制限され得る。それにより、キャッシュメモリ記憶領域が満杯の時に、新しい環境コンテキストデータが生成された場合、記憶された環境コンテキストデータの一部は除去され得る。ほんの一例として、キャッシュメモリ記憶領域は、先入れ先出し記憶基準を特徴としてもよく、これにより、新しく生成された環境コンテキストデータの導入時に、最も古いデータ(そこに記憶された最初に生成されたデータ)が除去される。さらに、1つ以上の定義されたイベントが発生すると、環境コンテキストデータの全体が、キャッシュメモリ記憶領域から削除されてもよい。例えば、キャッシュメモリ記憶領域をクリアするために、ユーザと関連付けられたクライアントデバイス102~106により生成された要求を受信すると、キャッシュメモリ記憶領域がクリアされ得る。別の例として、グループベース通信プラットフォーム118と関連付けられたクライアントデバイス102~106上で実行中のアプリが閉じられたことを示すデータを受信すると、グループベース通信プラットフォーム118は、キャッシュメモリ記憶領域をクリアし得る。他の実施形態では、キャッシュメモリ記憶領域は、トリガイベント、例えば、キャッシュメモリ記憶領域をクリアする要求(例えば、クライアントデバイスで受信されたユーザ入力に少なくとも部分的に基づいて生成される)の受信等に応答して、特定のユーザおよび/またはクライアントデバイスに関してクリアされ得る。
他の実施形態では、キャッシュメモリ記憶領域は、クライアントデバイス102~106の一部として定義され得る。これらの実施形態では、キャッシュメモリ記憶領域内に記憶されたデータは、クライアントデバイスのユーザに処理アクションを推奨するための以下の検討に関連して提供されるものを除き、グループベース通信プラットフォーム118に送信されない場合がある。このため、ユーザのプライバシーを向上させるために、ユーザの使用データ(環境コンテキストデータにより反映される)は、本明細書で検討されたさまざまなプロセスの実行に必要でない限りかつ必要になるまで、ユーザ自身のクライアントデバイス102~106のローカルに記憶される。記憶された環境コンテキストデータのコンテンツおよび/または方法は、グループベース通信プラットフォーム118における環境コンテキストデータの記憶に関して上記検討されたものと同様であり得る。他の実施形態では、クライアントデバイス102~106のキャッシュメモリ記憶領域内にローカルに記憶された環境コンテキストデータは、記憶のためのクライアントデバイス102~106のメモリリソースを節約するために圧縮され得る。ほんの一例として、環境コンテキストデータのキャッシュメモリ内にメッセージの全体とその関連メタデータを記憶するのではなく、クライアントデバイス102~106は、キャッシュメモリ内の記憶のためのメッセージ識別子を代用し得る。そのメッセージ識別子は、後に、環境コンテキストデータの全体を識別するために、グループベース通信プラットフォーム118(そこに送信された場合)により利用され得る。同様に、チャネル識別子は、環境コンテキストデータの完全な表現のために記憶される必要があるデータの量を減らすために、完全なチャネルデータの代わりに記憶され得る。
さらに、クライアントデバイス102~106がクライアントデバイス102~106のキャッシュメモリ記憶領域内にローカルに環境コンテキストデータを記憶する実施形態では、クライアントデバイス102~106は、キャッシュメモリ記憶領域内に記憶するために、グループベース通信インタフェースのグラフィカルインタフェースの生成に利用されるデータを、ユーザのためのグラフィカル表示の生成と同時に(または時間的に近接して)生成しかつ/または何等かの方法で統合するように構成されている。
再度図3を参照して、ブロック302~303で反映されたプロセスに関して、キャッシュメモリ記憶領域に記憶された環境コンテキストデータを、(クライアントデバイスに記憶されているかまたはグループベース通信インタフェースに記憶されているかにかかわらず)取得する。具体的には、ブロック302に示されたように、クライアントデバイス102~106は、処理アクションの開始を要求するユーザ入力を受信する(図5Aのブロック503にも反映されている)。ユーザ入力は、処理アクションを初期化するのに利用される特定のユーザインタフェース要素を選択するユーザとして提供され得る。上記されたように、ある実施形態は、それぞれが異なるタイプの処理アクションに対応する複数のユーザインタフェース要素を含み得る。
処理アクションを開始する要求を受信すると、処理は、ブロック303に進み、その時点で、処理アクションが要求された時に、ユーザについて収集され、記憶された環境コンテキストデータを、環境コンテキストデータに少なくとも部分的に基づいて、ユーザについての1つ以上の推奨処理アクションのリアルタイム決定のために、運用サーバ110に渡す。図5Aのブロック504に示されたように、処理アクション要求を示すユーザ入力は、運用サーバ110に提供される。運用サーバ110は、要求に関連するキャッシュされた環境データを(例えば、図5Aに示されるように、データベース記憶領域120からまたはクライアントデバイス102~106と関連付けられた記憶領域から)取得する。
運用サーバ110は、図5Aのブロック505に示されたように、ユーザに提示するための1つ以上の推奨処理アクションを決定する(および/または生成する)ために、教師データに少なくとも部分的に基づく機械学習および/または人工知能を介して生成された1つ以上のモデルおよび/またはアルゴリズムを利用する。ある実施形態では、教師データは、教師データのセットを含み、教師データの各セットは、処理アクションが要求された時に提示された環境コンテキストデータ(例えば、アクティブなチャネル識別子、以前のチャネル識別子(およびユーザに対するそれらの提示順序)、アクティブなグループ識別子、タイムスタンプ等)およびユーザにより最終的に選択された処理アクション(および複数の処理アクションが選択された場合、選択された処理アクションの順序)を含む。教師データは、グループ固有(またはユーザ固有の他の部分集合)であってもよく、特定のグループに固有のモデルおよび/またはアルゴリズムを生成するのに利用されてもよい。さらに、教師データと得られたモデルおよび/またはアルゴリズムとは、運用サーバ110にアクセス可能なメモリ記憶領域に記憶され得る。それにより、運用サーバは、特定の要求された処理アクションについて取得された環境コンテキストデータに基づいて、記憶されたモデルおよび/またはアルゴリズムに迅速にアクセスし、これらを適用し得る。
1つ以上の処理アクションまたは複数の処理アクションのワークフロー順序が、(例えば、機械学習および/または人工知能を介して)自動生成される実施形態では、運用サーバ110は、教師データを利用して、ユーザにより開始されたグループベース通信プラットフォーム118との1つ以上のユーザインタラクション(およびそれらのインタラクションのそれぞれの順序)およびそれと関連付けられたコンテキストデータを決定する。このようなインタラクションはそれ自体、1つ以上の処理アクションを含んでもよくかつ/またはこのようなインタラクションは、ユーザ内インタフェースインタラクション(例えば、第1通信チャネル内のメッセージから特定のテキスト部分をコピーすること、第2通信チャネル内の新しいメッセージにテキスト部分をペーストすること、特定の順序で一連の通信チャネルを見ること等)を含み得る。運用サーバ110は、最終的に、複数の処理アクションのワークフローシリーズを含む新しい処理アクションおよび/またはグループベース通信インタフェースとの1つ以上のインタフェース内インタラクションを生成し得る。この新しい自動生成された処理アクションは、例えば、自動生成された処理アクションの実行に関連すると思われるコンテキストデータの識別の際に、推奨処理アクションとしてユーザに提示され得る。ある実施形態では、このような自動生成された処理アクションは、単一のユーザに適用可能であり得る。その結果として、自動生成された処理アクションは、特定のグループ等との関連付けにかかわらず、他のユーザに利用できない。
図3のブロック304(および図5Aのブロック505)に示されたように、推奨処理アクションが決定されると、グループベース通信プラットフォーム118は、ユーザに提示される処理アクションのコンテキスト処理アクションリストを組み立てる。図6に示されたように、図6は、メッセージ802に利用可能な処理アクションのコンテキスト処理アクションリスト804を含む例示的グループベース通信インタフェース800を示す。具体的には、図示されたコンテキスト処理アクションリスト804は、メッセージベース処理アクションを含み、コンテキスト処理アクションリスト804は、ユーザがメッセージ802と関連付けられたグラフィカルユーザインタフェース要素(例えば、表示されたボタン)を選択することに応答してアクセス可能である。コンテキスト処理アクションリストは、定義された数の推奨処理アクション(例えば、最も強く推奨される処理アクション)を含んでもよく、コンテキスト処理アクションリスト内に列挙されていない場合がある他の処理アクションを検索するための選択肢で終了してもよい(例えば、図6に示されたコンテキスト処理アクションリスト804は、「より多くのメッセージアクション」を選択するための選択肢で終了する)。図7は、さらに別の例示的グループベース通信インタフェース1000を提供する。このインタフェース1000は、追加で列挙された処理アクションを提供し、図示されたコンテキスト処理アクションリスト内に含まれない他の列挙されていない処理アクションを検索するための検索バーを含む。図5Aのブロック507~508を参照して、生成されたコンテキスト処理アクションリストは、要求クライアントデバイス102~106に送信される。クライアントデバイス102~106は、ユーザにコンテキスト処理アクションリストを表示する。具体的には、グループベース通信プラットフォーム118から(例えば、運用サーバ110から)コンテキスト処理アクションリストを受信すると、クライアントデバイス102~106は、(ブロック507に示されたように)コンテキスト処理アクションリストが配置されるグラフィカルインタフェースコンポーネントを初期化し、(ブロック508に示されたように)初期化されたグラフィカルインタフェースコンポーネント内にコンテキスト処理アクションリストを表示する。
ある実施形態では、最も強く推奨される処理アクションを決定するために、利用可能な全ての処理アクション(例えば、特定のユーザに利用可能な全ての処理アクション、特定のチャネル内で利用可能な全ての処理アクション、特定のグループと関連付けられたユーザに利用可能な全ての処理アクション等)は、本明細書で検討されたモデルおよび/またはアルゴリズムにより関連性スコアを割り当てられ得る。ついで、最も高い関連性スコアを有する処理アクション(例えば、最も高い関連性スコアを有する処理スコアの定義された量)が、クライアントデバイス102~106を介して提示されるグループベース通信インタフェースを介してユーザに提示されるように、コンテキスト処理アクションリスト内に含ませるために選択される。コンテキスト処理アクションリスト内に含まれる処理アクションは、複数の有効化外部リソース112~116により実行可能な処理アクションを含み得る。例えば、コンテキスト処理アクションリスト内に含まれる処理アクションは、第1有効化外部リソース112により実行可能な第1処理アクション、第1有効化外部リソース112により実行可能な第2処理アクション、第2有効化外部リソース114により実行可能な第3処理アクションおよび第3有効化外部リソース116により実行可能な第4処理アクションを含み得る。他の実施形態では、コンテキスト処理アクションリスト内に含まれる処理アクションは、共通の有効化外部リソース全てにより実行可能な複数の処理アクションを含み得る。本明細書で検討されたように、コンテキスト処理アクションリスト内に含まれる処理アクションの正確な混合は、環境コンテキストデータに少なくとも部分的に基づいて決定可能であることを理解されたい。
グローバル処理アクションに関する例として、特定のユーザについての履歴データは、ユーザが一般的にそのユーザのタスクリストを取得し、平日毎日ほぼ午前8時30分にユーザアシスタントのタスクリストを取得するためのグローバル処理アクションを実行することを示す。このため、ユーザが、グループベース通信プラットフォーム118と対話するためのアプリを起動すると、グループベース通信プラットフォーム118(および/またはクライアントデバイス102~106)は、現在の時刻を示すデータを含む環境コンテキストデータの収集およびキャッシュを開始する。ユーザが、グローバル処理アクションを要求するためのユーザインタフェース要素を選択すると、環境コンテキストデータは、運用サーバ110に渡され、運用サーバ110は、1つ以上のモデルおよび/またはアルゴリズムを環境コンテキストデータに適用する。これらのモデルおよび/またはアルゴリズムは、毎朝ほぼ午前8:30に、ユーザ自身およびユーザアシスタントについてのタスクリストを要求するためのユーザの典型的なアクションに関する前述の履歴データに少なくとも部分的に基づいて生成される。このため、これらのモデルは、ユーザがグローバル処理アクションの実行を開始することを要求する現在の時間が(環境コンテキストデータに少なくとも部分的に基づいて)ほぼ午前8時30分であると決定すると、グループベース通信プラットフォーム118は、タスクリスト処理アクション(第1有効化外部リソース112により実行可能)がユーザに提示するための最も推奨されるグローバル処理アクションであると決定し得る。このため、提案されたグローバル処理アクションのコンテキスト処理アクションリストをユーザに提供する場合、タスクリスト処理アクションが、リストの一番上に表示され得る。以下でより詳細に検討されるように、この同じ例の下で、グループベース通信プラットフォーム118は、ユーザについて所望のタスクリストを取得するために、タスクリスト処理アクションに渡すための適切なデータをさらに決定し得る。
上記言及された例を拡張して、履歴データは、1月2日にグループベース通信プラットフォーム118との対話のためにアプリを最初に開いた時に、大多数のユーザが、ユーザの典型的なルーチンを無視することをさらに示し得る。履歴データは、典型的なルーチンに従うのではなく、大多数のユーザが最初に、自身の年末ボーナスを見るために、ペイチェックデータを取得するためのグローバル処理アクションを実行することにより(このグローバル処理アクションは、第2有効化外部リソース114により実行可能である)、その日を開始することをさらに示し得る。このデータは、ユーザに処理アクションを推奨するためのモデルおよび/またはアルゴリズムを訓練するのに利用される教師データ内に反映され得る。このため、1月2日に、前の例で言及されたのと同じユーザが、グループベース通信プラットフォーム118との対話のためにユーザのアプリを初期化すると、グループベース通信プラットフォーム118(および/またはクライアントデバイス102~106)は、環境コンテキストデータのキャッシュを開始する。ユーザが、ほぼ午前8時30分にグローバル処理アクションを実行するためにユーザインタフェース要素と対話すると、環境コンテキストデータは、運用サーバ110に渡される。運用サーバ110は、関連するモデルおよび/またはアルゴリズムを環境コンテキストデータに適用し、(a)典型的には、ユーザが(上記されたように)タスクリストを要求すると決定するが、(b)大部分のユーザは、対応するグローバル処理アクションを介してペイチェックデータを要求するために、典型的な朝のルーチンを差し控える。特定のユーザが一般的に他のユーザの傾向に従うかをモデルが決定するかどうかまたはユーザがより強くルーチンに結びついていることが分かったかどうかに応じて、運用サーバ110は、典型的なタスクリスト処理アクション(第1有効化外部リソース112により実行可能)またはペイチェック処理アクション(第2有効化外部リソース114により実行可能)が、ユーザにより関連性があるかどうかを決定してもよく、それらの処理アクションは、各処理アクションについて決定された関連性のレベルにより指示される順序で、(例えば、各処理アクションについて決定された関連性スコアに基づいて)コンテキスト処理アクションリスト内でユーザに提示されてもよい。このため、上記言及されたシナリオの下でユーザに提示されるコンテキスト処理アクションリストは、タスクリスト処理アクション(第1有効化外部リソース112により実行可能)およびペイチェック処理アクション(第2有効化外部リソース114により実行可能)により構成され得る。
別の例では、ユーザは、対応するチャネル識別子を有する新しく形成された通信チャネル内で他のユーザと対話し得る。これらの他のユーザは、新しいソフトウェア機構内のバグ修正専用のチーム全体を集合的に形成し得る。履歴データは、チャネルベース処理アクションが他のユーザのほぼ同じグループ化を含むチャネルについて要求された場合、典型的に選択されるチャネルベース処理アクションがバグロギングおよびトリアージ処理アクションであることを示し得る。このため、ユーザが新しく形成されたチャネルにナビゲートする間およびユーザが通信チャネルと対話する間に、環境コンテキストデータは、(例えば、グループベース通信プラットフォーム118および/またはクライアントデバイス102~106に)キャッシュされる。ユーザがチャネルベース処理アクションの開始を要求するためにユーザインタフェース要素を選択すると、環境コンテキストデータは、運用サーバ110に渡される。運用サーバ110は、関連するモデルおよび/またはアルゴリズムを適用する。ついで、このモデルおよび/またはアルゴリズムは、通信チャネル内の他のユーザの同一性に基づいて(例えば、チャネルのメンバとして示されたユーザ識別子に少なくとも部分的に基づいて決定され(対応するチャネル識別子により反映される)、それらは全て、環境コンテキストデータ内に反映される)、おそらく最も関連性の高いチャネルベース処理アクションが、上記されたバグロギングおよびトリアージ処理アクションであると決定し得る。このため、グループベース通信プラットフォーム118(例えば、運用サーバ110)は、最も強く推奨されるチャネルベース処理アクションとして、バグロギングおよびトリアージ処理アクションを含む、推奨されるチャネルベース処理アクションのコンテキスト処理アクションリストを組み立てる。
さらに別の例として、ユーザは、別の特定の処理アクションから自動生成されたメッセージについてのメッセージベース処理アクションを要求し得る(ただし、メッセージベース処理アクションは、自動生成されないメッセージ、例えば、別のユーザから生成され、送信されたメッセージについて要求され得ることを理解されたい)。履歴データは、ユーザが特定の処理アクションにより生成されたメッセージと対話する時(例えば、特定の処理アクションおよび/または特定の処理アクションを実行する有効化外部リソースに起因する送信ユーザ識別子により反映されるように)、ユーザがタスクリスト処理アクションの開始を履歴的に要求して、ユーザのタスクリストにメッセージを追加することを示し得る。このため、ユーザが、特定の処理アクションにより生成された特定のメッセージについてのメッセージベース処理アクションを最終的に要求するまで、グループベース通信インタフェースのさまざまな画面をナビゲートすると、環境コンテキストデータは、(例えば、グループベース通信プラットフォームおよび/またはクライアントデバイスにより)キャッシュされる。ユーザが、特定のメッセージについてのメッセージベース処理アクションの開始を要求すると、グループベース通信インタフェースとのユーザインタラクションのためにキャッシュされた環境コンテキストデータは、適切なモデルおよび/またはアルゴリズムの適用のために、運用サーバに渡される。同モデルおよび/またはアルゴリズムは、特定のユーザについて最も推奨されるメッセージ固有の処理アクションが上記されたタスクリスト処理アクションであることを決定し得る。
上記されたように、最も推奨される処理アクションを決定するのに利用される環境コンテキストデータは、特定のメッセージ、ユーザ、ユーザのグループ、チャネル等の単なる同一性より複雑であり得る。例えば、ユーザは、ユーザの退職アカウントに資金をどのように追加するかに関する情報を検索し得る。ユーザは「退職アカウント」についての検索を実行することができ、ついで、全社的な退職計画通信チャネルへのハイパーリンクを提供する会社HRマネージャにより共有されるメッセージを含む特定の通信チャネルを訪問する前に、退職アカウントを議論する1つ以上の通信チャネルを短時間訪問することができる。ユーザは、注記された退職計画通信チャネルに向けられるハイパーリンクを選択することができ、この場合、ユーザは、ユーザの退職アカウントに資金を追加するのに利用される特定のグローバル処理アクションを説明するメッセージを見る。グループベース通信プラットフォーム118とのこの一連の対話は、処理アクションを要求する直前のユーザのナビゲーション履歴を反映する複数のチャネル識別子(および対応するタイムスタンプ)により、ユーザの環境コンテキストデータ内に反映され得る。さらに、環境コンテキストデータは、ユーザが以前の通信チャネルのそれぞれをどのように選択したかを示すデータをさらに含み得る(例えば、検索インタフェースからチャネル識別子を選択すること、メッセージ内のチャネル識別子ハイパーリンクを選択すること等)。先の検討に続けて、グループベース通信プラットフォームおよび/またはクライアントデバイスは、さまざまな通信チャネルを介してユーザのナビゲーション履歴を示す環境コンテキストデータをキャッシュし得る。履歴データは、同様のナビゲーション履歴を有する(例えば、注記されたハイパーリンクを選択することを含む)他のユーザが退職計画通信チャネルを見ている間に、バンキンググローバル処理アクションを実行することを示唆し得る。このため、ユーザが、グローバル処理アクションの開始を要求するユーザインタフェース要素を選択すると、ユーザの環境コンテキストデータは、運用サーバに渡される。運用サーバは、適切なモデルおよび/またはアルゴリズムを適用し、最も推奨されるグローバル処理アクションが注記されたバンキング処理アクションであると決定する。このため、グループベース通信プラットフォームは、ユーザに提示される最も推奨される処理アクションとして、バンキング処理アクションを含むコンテキスト処理アクションリストを生成する。
ある実施形態では、ユーザ(例えば、特定のメッセージの送信ユーザおよび/または管理ユーザ)は、(例えば、特定のメッセージについて、特定のチャネル内での実行について等の)ユーザに推奨される特定の処理アクションに重みを手動で割り当て得る。このため、適切なモデルおよび/またはアルゴリズムが、ユーザに提供されるべき処理アクションについての関連性スコアを決定する時、ユーザにより割り当てられた重み付けは、特定の処理アクションに、より高い関連性スコアを受けさせ得る(このため、処理アクションは、コンテキスト処理アクションリスト内に表示される最も推奨される処理アクションであると決定される可能性がより高い場合がある)。上記退職計画の例に関連する単なる非限定的な一例として、退職アカウントに資金を追加するための命令を提供する退職計画通信チャネル内の特定のメッセージの送信ユーザは、上記言及されたバンキング処理アクションを開始するためのメッセージ固有の処理アクションに高い重みを割り当て得る。このため、ユーザが、特定のメッセージに関連する処理アクションを開始すると、バンキング処理アクションは、要求ユーザにとって最も推奨される処理アクションとして割り当てられる可能性が最も高いであろう。図示されていないが、本明細書に記載されているように重みを割り当てることは、ユーザがメッセージ(例えば、ユーザにより送信されたメッセージ)と対話し、ユーザが特定の処理アクションを選択することおよび/または特定の処理アクションについて手動で選択された重みを割り当てることを可能にする特定のユーザインタフェース要素と対話することにより実行され得る。他の実施形態では、ユーザ(例えば、送信ユーザおよび/または管理ユーザ)は、特定のメッセージ、他のオブジェクト、チャネル、グループ等について最も関連性のある処理アクションを割り当てるために、モデルおよび/またはアルゴリズムスコアリング方法を手動で再定義し得る。
有効化外部リソースへの環境コンテキストデータの受け渡し
選択された処理アクションを初期化するために、グループベース通信プラットフォーム118(例えば、運用サーバ110)は、ルーティングデータおよびペイロードデータを含むコンテナを、選択された処理アクションを実行するように指定された有効化外部リソース112~116に渡す。図5Bのブロック509に示されたように、クライアントデバイス102~106は、最初に、初期化のための特定の処理アクションのユーザ選択を受信する。このユーザ選択は、ブロック507~508に示されたように、ユーザに表示されるコンテキスト処理アクションリストから行われてもよくまたはユーザ選択は、特定の処理アクションについての検索から行われてもよい(追加の利用可能な処理アクションを検索するために、検索機能は、コンテキスト処理アクションリストの特定の部分を介してアクセス可能である)。特定の処理アクションの選択は、図5Bのブロック510に示されたように、グループベース通信プラットフォーム118(例えば、運用サーバ110)に渡され、ブロック511に示されるように、特定のユーザ(および/またはクライアントデバイス102~106)について生成された環境コンテキストデータの少なくとも一部が(例えば、記憶データベース108および/またはクライアントデバイス102~106から)受信される。
さらに、特定の処理アクションを実行するために有効化外部リソースにより必要とされる情報に応じて、グループベース通信プラットフォームは、処理アクションを初期化するために、有効化外部リソース112~116に渡されるコンテナのペイロードデータを配置するために、受信した環境コンテキストデータの一部を自動的に選択し得る。ペイロードデータ内に含まれる環境コンテキストデータの適切な部分の選択は、ブロック512に反映されるように、機械学習および/または人工知能モデルと、選択された処理アクションの実行に必要とされるデータタイプ(および/またはフォーマット)を示すデータに従って行われ得る。
環境コンテキストデータの特定の部分が、有効化外部リソースに提供されるペイロードデータとして含ませるために選択されると、グループベース通信プラットフォーム118は、有効化外部リソース112~116に提供される環境コンテキストデータ部分を含む、提案された処理アクション要求をクライアントデバイス102~106に提供する。ブロック513~515に反映されるように、クライアントデバイスは、提案された処理アクション要求を受信し、ユーザに表示されるインタフェースコンポーネントを初期化し(ブロック513)、ユーザが提案された処理アクション要求を閲覧しかつ/または編集するのを可能にする対話式ダイアログを表示し(例えば、有効化外部リソース112~116に渡される環境コンテキストデータの一部を閲覧しかつ/または有効化外部リソース112~116に渡される任意のデータを編集し、除去しもしくは補足するために)(ブロック514)、提案された処理アクション要求に対するユーザ編集を受信する(必要に応じて、ブロック515に反映されるように)。ついで、編集された(または確認された)、提案された処理アクション要求は、ブロック516に示されたように、グループベース通信プラットフォーム118(例えば、運用サーバ110)に戻され、ついで、ブロック517および518に示されたように、グループベース通信プラットフォーム118は、処理アクションを初期化するための要求を、適用可能な有効化外部リソース112~116に送信する。
ある実施形態では、環境コンテキストデータは、処理アクションを実行する際に使用可能なペイロードデータの一部として、有効化外部リソース112~116に渡される。選択された処理アクションを適切に実行するために、特定の有効化外部リソース112~116は、処理アクションが実行されるべき入力パラメータとして、実体データの入力を必要とする。上記されたように、この実体データは、要求に含まれるペイロードデータの一部として、処理アクションの実行のための要求内に提供され得る。上記されたように、要求は、実行される処理アクションの同一性を示すルーティングデータならびに処理アクションの結果が適切なユーザおよび/またはクライアントデバイス102~106に提供されることを保証するために含まれる追加のメタデータをさらに含み得る。
要求のペイロードデータ部分に含めるための、収集され、取得された環境コンテキストデータの適切な部分の選択は、選択された処理アクションの実行に必要なデータタイプおよび/または選択された処理アクションに関連する可能性が最も高いと考えられる環境コンテキストデータの部分に少なくとも部分的に基づいて行われ得る。環境コンテキストデータの最も関連する部分の決定は、機械学習および/または人工知能ベースの方法を介して構築され得る1つ以上のモデルおよび/またはアルゴリズムを介して行われ得る。ある実施形態では、最も関連する環境コンテキストデータの決定は、最も関連する(かつ/または何等かの方法で提案された)処理アクションの決定と同時に行われ得る。他の実施形態では、推奨される処理アクションのコンテキスト処理アクションリストの提示と関連付けられた待ち時間を最小限に抑えるために、最も関連する環境コンテキストデータの決定は、別々に行われ得る。
図4は、処理アクションの実行のために有効化外部リソースに提供されるペイロードデータに含ませるための環境コンテキストデータの部分を選択するための方法の例示的フローチャートを示す。
ブロック401に示されたように、ペイロードデータが識別されるべき1つ以上の処理アクションを識別する。ある実施形態では、グループベース通信プラットフォーム118は、本明細書で検討されたように、処理アクション方法を介して実行するのに利用可能な各処理アクションを示すデータを記憶する。利用可能な処理アクションそれぞれを示す記憶されたデータは、軽量であってもよく、その結果、処理アクションの同一性(例えば、氏名、短い説明、アイコン等)、処理アクションを実行するように構成されている有効化外部リソースの同一性および/または処理アクションの実行のための要求を開始するのに必要なルーティングデータの部分(例えば、別個の送信で提供されるペイロードデータにどのタイプの入力パラメータが提供されるべきかの表示を有効化外部リソースから要求するために)を示すデータのみを含む。他の実施形態では、利用可能な処理アクションそれぞれを示す記憶されたデータは、より実質的であってもよく、その結果、記憶されたデータは、処理アクションの実行に必要な入力パラメータのタイプを示すデータを含み、その結果、(一度選択されると)選択された処理アクションの実行を開始するための、グループベース通信プラットフォームと有効化外部リソース112~116との間の送信は最小数ですむ。
このため、グループベース通信プラットフォーム118は、ユーザに推奨される処理アクションのコンテキスト処理アクションリストを生成する前に/生成しながら、処理アクションの実行に必要な入力パラメータが何かを決定し得る。選択された処理アクションの実行に必要な入力パラメータを示す記憶されたデータは、ユーザに直ちに提供され得る(かつ/または本明細書で検討されたように、実行のための処理アクションの選択を受信した直後に、ペイロードデータに含ませるための環境コンテキストデータの部分を選択するのに使用され得る)。このため、さまざまな処理アクションのための入力パラメータを示すデータが、グループベース通信プラットフォーム118に記憶されているような実施形態では、プロセスは、ユーザについて実行されるべき特定の処理アクションを選択するユーザ入力を受信した後、ブロック404に反映されるプロセスにスキップし得る。このようなユーザ入力は、クライアントデバイス102~106を介してコンテキスト処理アクションリストの一部として提示される処理アクションを選択することにより提供されてもよく、クライアントデバイス102~106が、ユーザ入力を示すデータをグループベース通信プラットフォーム118に提供してもよい。
他の実施形態では、プロセスは、ブロック402で表されたように継続し、グループベース通信プラットフォームは、選択された処理アクションの実行に必要な入力パラメータを示すデータのためのコンテキスト処理アクションリストから選択された処理アクションと関連付けられた有効化外部リソースへの要求を提供する。このため、グループベース通信プラットフォーム118は、実行されるべき特定の処理アクションを選択するクライアントデバイス102~106でユーザ入力の受信後に、特定の処理アクションに必要な入力パラメータを示すデータを要求し得る(ついで、このデータは、グループベース通信プラットフォーム112~116に渡され得る)。
図5B~図5Cを簡潔に参照して、ブロック519に示されたように、有効化外部リソース112~116は、要求された処理アクションの実行にどの入力パラメータが必要であるかを決定し得る。ある実施形態では、必要な入力パラメータは、以前に生成された複数の選択可能な選択肢(例えば、新しいデータ入力を補足するために以前に生成された特定のto-doリスト、新しいデータ入力に使用するために以前に生成された特定のファイル記憶位置等)のうちの1つのユーザ選択を含んでもよく、このため、必要な入力パラメータを決定することは、ユーザが選択するように指示される利用可能な選択肢を示すデータを収集することを含んでもよい。必要な入力パラメータを決定すると、ブロック520に示されたように、有効化外部リソース112~116は、必要な入力パラメータを示す応答を、グループベース通信プラットフォーム118(例えば、運用サーバ110)に返す。
再度図4を参照して、ブロック403に示されたように、入力パラメータを示すデータが実行のための処理アクションの選択後に有効化外部リソース112~116から要求される実施形態では、グループベース通信プラットフォーム118は、選択された処理アクションの実行に必要な入力パラメータを示す要求されたデータを受信し、その結果、グループベース通信プラットフォーム118は、入力パラメータとして要求されたデータの少なくとも一部を(例えば、環境コンテキストデータの部分として)収集し始め得る。
図4のブロック404を参照して、グループベース通信プラットフォーム118は、選択された処理アクションの実行のために有効化外部リソース112~116に最終的に提供されるペイロードデータの一部として含まれるキャッシュされた環境コンテキストデータの1つ以上の部分を識別する。上記言及されたように、グループベース通信プラットフォーム118は、選択された処理アクションの必要な入力パラメータを示すデータならびに1つ以上のモデルおよび/またはアルゴリズム(例えば、機械学習モデルおよび/もしくはアルゴリズムならびに/または人工知能モデルおよび/もしくはアルゴリズム)の結果を利用して、有効化外部リソース112~116に提供されるペイロードデータとして含ませるために、キャッシュされた環境コンテキストデータの特定の部分を選択し得る。
例として、共有タスクリストに新しいタスクを追加するためのチャネルベース処理アクションのために、グループベース通信プラットフォーム118は、特定のユーザがチャネルと関連付けられた定義されたタスクリストにタスクを追加することを示す履歴データを決定することができ、それらのタスクを3つの特定のユーザ識別子にデリゲートする。このため、識別されたチャネルベース処理アクションに必要な入力パラメータを配置するためのモデルおよび/またはアルゴリズムを使用して、グループベース通信プラットフォーム118は、特定のタスクリストを選択する入力パラメータを自動的に配置し、タスクを生成するためにデリゲートする。
図4のブロック405(および図5Cのブロック521)を参照して、グループベース通信プラットフォーム118は、その後、グループベース通信プラットフォーム118により何等かの方法で自動的に識別されない/提案されない任意の入力パラメータについてのユーザ入力を求め、環境コンテキストデータから生成された提案された入力パラメータの要求ユーザからの確認を求め得る。ある実施形態では、グループベース通信プラットフォーム118は、ユーザへの提示のためにクライアントデバイス102~106への入力可能なフォームとして具現化され得る対話式ダイアログを生成し、提示し得る。入力可能なフォームの各フィールドは、処理パラメータの入力パラメータに対応し得る。グループベース通信プラットフォーム118が環境コンテキストデータの推奨部分を自動的に識別した入力パラメータについて、フォームの対応する入力可能なフィールドに、グループベース通信プラットフォーム118により識別された推奨された入力パラメータを事前に配置し得る。入力可能なフォームは、ユーザが自動生成された入力パラメータを必要に応じて削除し、置き換えることができかつ/またはユーザが、グループベース通信プラットフォーム118が入力パラメータを自動的に識別しなかった他の入力パラメータに対応する、何等かの方法で入力されていないフィールドに配置することができるように構成され得る。
図5Cを具体的に参照して、グループベース通信プラットフォーム118(例えば、運用サーバ110)において、ユーザからの追加入力パラメータについての要求を生成すると、要求は、(ブロック522に示されたように)ユーザと関連付けられたクライアントデバイス102~106に転送され、クライアントデバイス102~106を介してユーザに表示するためのインタフェースコンポーネントを初期化し、ユーザからの追加入力パラメータを要求するためにグループベース通信プラットフォーム118から(例えば、運用サーバ110から)受信したデータと共にインタフェースコンポーネントを配置する(ブロック523に反映されるように)。本明細書で検討されたように、配置されたインタフェースコンポーネントは、ブロック524に示されたように、追加の必要な入力パラメータを提供するのにユーザにより使用可能な1つ以上の入力可能なフィールド、ドロップダウン、チェックボックス等を有する入力可能なフォームとして具現化され得る。ユーザが、必要な入力パラメータを提供すると、クライアントデバイス102~106は、ブロック525に示されたように、入力パラメータをグループベース通信プラットフォーム118(例えば、運用サーバ110)に戻し、ついで、グループベース通信プラットフォーム118は、要求された処理アクションの実行のために、有効化外部リソース112~116に入力パラメータを渡す。
図8は、環境コンテキストデータで部分的に入力された入力可能なフォームとして具現化された対話式ダイアログ1102を有する例示的グループベース通信インタフェース1100を提供する。そこに示されたように、入力可能なフォームは、特定のメッセージ(または他の選択されたオブジェクト)が添付される「ストーリー(Story)」を選択するためのダイアログを含む。1104に関して示される簡略化された例として、選択されたオブジェクトを取り囲む環境コンテキストデータは、別のユーザが議論に関連する用語として「オリンピア(Olympia)」を具体的に定義するメッセージを含む。このため、この環境コンテキストデータに少なくとも部分的に基づいて(および/または「オリンピア」が要求ユーザと関連付けられたストーリーのタイトルであることを示すデータに少なくとも部分的に基づいて)、グループベース通信プラットフォームは、1103に示されたように、「オリンピア」を推奨ストーリーとして自動的に配置する。一方、対話式ダイアログ102の入力可能なフォームは、さらに、ユーザにより別々に配置され得る(具体的には、追加のコメントのための)他の入力されていないフィールドを含む。
ユーザが、有効化外部リソース112~116に提供されるペイロードデータ内に入力パラメータとして提供されるデータを確認しかつ/または修正すると(例えば、グループベース通信プラットフォーム118に渡され得る、提供されたデータを確認するクライアントデバイス102~106にユーザ入力を提供することにより)、グループベース通信プラットフォーム118は、処理アクションの実行のために、有効化外部リソース112~116にデータを渡す。グループベース通信プラットフォーム118は、ブロック406に示されたように、要求された処理アクションについてのルーティングデータおよびペイロードデータを含むコンテナを生成する。本明細書で検討されたように、コンテナは、要求された処理アクションを識別する、処理アクションを要求するクライアントデバイス102~106を識別すること等のために、有効化外部リソース112~116により使用可能なデータを識別するルーティングデータを含む。具体的な例として、グループベース通信プラットフォーム118は、(1)1つ以上の検証トークン(例えば、グループベース通信プラットフォーム118の検証トークン)、(2)グループ識別子、(3)チャネル識別子、(4)ユーザ識別子(例えば、特定の処理アクションを要求するクライアントデバイス102~106を識別するクライアントデバイス102~106固有のクライアントトークン)、(5)処理アクション識別子(例えば、処理アクション名および/または他の識別文字列)、(6)処理アクションタイプを定義するアクションタイプ、(7)有効化外部リソースが要求クライアントデバイス102~106に応答(例えば、確認応答)を送り返すことを可能にする応答URL、(9)処理アクションが要求された時を示すタイムスタンプ等を含むコンテナのためのルーティングデータを組み立てる。コンテナは、さらに、処理アクションが要求された任意の入力パラメータを含むペイロードデータを含む。
コンテナが生成されると、グループベース通信プラットフォーム118は、図4のブロック407に示されたように、例えば、コンテキストデータ内で識別されたプロキシエンドポイントを介して、コンテキストデータで識別された有効化外部リソース112~116にコンテナを提供する。プロキシエンドポイントは、コンテナをグループベース通信プラットフォーム118から有効化外部リソース112~116に渡すためのAPIを提供し、それにより、有効化外部リソース112~116は、要求された処理アクションの実行中に、コンテナ内のルーティングデータおよび/またはペイロードデータの少なくとも一部を消費することが可能となる。図4のブロック408(および図5Cのブロック527)に示されたように、有効化外部リソース112~116にコンテナを提供することにより、有効化外部リソース112~116は、ルーティングデータ内で識別された要求された処理アクションの実行を開始する。
本明細書で検討されたように、処理アクションは、有効化外部リソース112~116に、有効化外部リソース112~116と関連付けられたデータリポジトリ内に記憶される新しいデータオブジェクトを生成させ、有効化外部リソース112~116と関連付けられたデータリポジトリ内に記憶される既存のデータオブジェクトを変更させ、有効化外部リソース112~116と関連付けられたデータリポジトリ内に記憶される既存のデータオブジェクトを削除させる等を実行する。例えば、有効化外部リソース112~116は、カレンダーアプリを実行してもよく、したがって、処理アクションは、有効化外部リソース112~116と関連付けられたデータリポジトリ内に記憶される新しいカレンダーエントリを生成するように構成されてもよい。さらに別の例として、有効化外部リソース112~116は、ソフトウェアバグ追跡システムとして具現化されてもよく、したがって、処理アクションは、グループベース通信プラットフォーム118内で共有される特定のメッセージ内で識別される追加情報を有する特定のソフトウェアバグと関連付けられた既存のレコードを編集してもよい。
必要に応じて、有効化外部リソース112~116は、要求された処理アクションの完了に必要な追加情報を要求する、グループベース通信プラットフォーム118への応答を提供し得る。例えば、有効化外部リソース112~116は、グループベース通信プラットフォーム118にデータを提供し、これにより、グループベース通信プラットフォーム118は、要求クライアントデバイス102~106に対話式ダイアログを提供する。ある実施形態では、対話式ダイアログは、処理アクションの実行に基づいて編集される有効化外部リソース112~116と関連付けられたデータリポジトリ内に記憶された特定のデータオブジェクトを示すデータを要求し得る。対話式ダイアログは、追加データ(例えば、テキストベースデータ、画像等)を、有効化外部リソース112~116にペイロードデータと共に提供される追加コメントとして受信するように追加的に構成され得る。
グループベース通信プラットフォーム118は、有効化外部リソース112~116にコンテナを渡した結果として生じ得る1つ以上のエラー状態を解釈するように追加的に構成され得る。例えば、グループベース通信プラットフォーム118が、定義された期間内(例えば、プロキシエンドポイントを介してコンテナを送信してから5秒後)に有効化外部リソース112~116から応答を受信しない場合、グループベース通信プラットフォーム118は、エラーメッセージ(例えば、通信インタフェース内に表示されるアイコン、ダイアログまたはメッセージの形式)を提供し得る。さらに別の例として、エラーが発生したことを示す有効化外部リソース112~116からの応答を受信すると、グループベース通信プラットフォーム118は、受信したエラー応答を要求クライアントデバイス102~106に通信するように構成され得る。グループベース通信プラットフォーム118が、応答の受信を待つ間、クライアントデバイス102~106は、要求された処理アクションを示すオープンダイアログを維持し得る。その結果、クライアントデバイス102~106に送受信されたエラーは、最近要求された処理アクションと容易に相関させ得る。
有効化外部リソース112~116が、要求された処理アクションの実行を完了すると、有効化外部リソース112~116は、図4のブロック409(および図5Cのブロック528~529)に示されたように、確認応答をグループベース通信プラットフォーム118に提供し、グループベース通信プラットフォーム118は、図4のブロック410(および図5Cのブロック530)に示されたように、確認メッセージを要求クライアントデバイス102~106に提供する。特に図5Cを参照して、ブロック531に示されたように、要求クライアントデバイス102~106は、処理アクションの実行を確認するデータを受信し、ついで、ブロック532に示されたように、要求クライアントデバイス102~106は、処理アクションの実行の確認をユーザに(例えば、生成されたインタフェース要素内に)表示する。ある実施形態では、確認メッセージは、要求クライアントデバイス102~106のユーザインタフェースを介して表示されるダイアログを介して表示されてもよくまたは確認メッセージは、グループベース通信プラットフォーム118を介して交換されるメッセージとして表示されてもよい。ある実施形態では、確認メッセージは、ペイロードデータのメッセージ(該当する場合)が元々共有されていた同じ通信チャネル内に表示され得る(例えば、確認メッセージは、特定の通信チャネルへのアクセスを有する全てのクライアントデバイス102~106にパブリックに見えるように共有されてもよくまたは確認メッセージは、要求クライアントデバイス102~106にのみ見えるようにプライベートに共有されてもよい)。代替的には、確認メッセージは、要求クライアントデバイス102~106と有効化外部リソース112~116との間で動作可能な別個の通信チャネルを介して、要求クライアントデバイス102~106に提供され得る(例えば、クライアントデバイス102~106にメッセージを提供するアプリを操作する)。
教師データの生成
上記されたように、コンテキスト処理アクションリスト内でユーザに提供されるべき推奨処理アクションの決定および有効化外部リソースに提供されるべきペイロードデータとして利用される環境コンテキストデータの推奨は、教師データを利用する機械学習および/または人工知能アルゴリズムに少なくとも部分的に基づいて決定され得る。教師データは、環境コンテキストデータのペアおよび最終的に選択された処理アクション(および/または処理アクションの実行のために提供されるペイロードデータ)を含む履歴データの少なくとも一部を包含し得る。ある実施形態では、教師データは、全ての利用可能な処理アクションを示すデータおよびそれらの処理アクションが利用可能である場所をさらに含む(例えば、グローバル処理アクション、メッセージ処理アクション等)。このため、教師データは、関連するコンテキストデータにおける識別された類似性に基づいて、グローバル処理アクションの実行とメッセージ処理アクションの実行との間の潜在的な類似性を反映し得る。
さらに、1つ以上の処理アクション、ワークフロー等が自動生成される範囲で、教師データは、処理アクション(および/またはユーザにより実行される他のアクション)の組み合わせを示すデータおよび対応するコンテキストデータを含み得る。したがって、本明細書で検討されたように、グループベース通信プラットフォームは、機械学習および/または人工知能を利用して、処理アクションおよび/またはワークフローを自動的に構築し、関連するものとして識別されたコンテキストデータの識別に応じて、それらの処理アクションおよび/またはワークフローをユーザに推薦し得る。
このため、グループベース通信プラットフォームを介して共有されるデータを介して、処理アクションが選択され、実行されると、ある実施形態のグループベース通信プラットフォームは、履歴データを組み立て、機械学習および/または人工知能モデル/アルゴリズムのための教師データを生成し、環境コンテキストデータにより表される特定の状況下でユーザにより典型的に要求される処理アクションの正確な予測を行う。
結論
多くの改変および他の実施形態には、本開示が関連する技術における当業者であれば、前述の説明および関連する図面に提示された教示を利用して、想到することができるであろう。したがって、本開示は、開示された特定の実施形態に限定されるべきではなく、改変および他の実施形態は、添付の特許請求の範囲の範囲内に含まれることが意図されることを理解されたい。本明細書で特定の語を利用されているが、それらは、包括的かつ説明のためにのみ使用されており、限定を目的としたものではない。