図面 (/)

技術 外部と共有されたコミュニケーションチャンネルを生成するための方法、装置、及びコンピュータプログラム製品

出願人 スラックテクノロジーズ,インコーポレイテッド
発明者 ジンブレンダローズショーングラントマイルズジョンストンエリザベスキングアンドルー
出願日 2018年7月20日 (2年6ヶ月経過) 出願番号 2020-502152
公開日 2020年9月10日 (5ヶ月経過) 公開番号 2020-527803
状態 未査定
技術分野 オンライン・システム
主要キーワード 丸コーナー ウェアラブルデバイス シャード 実施形態群 シャーディング 電子的表示 メンテナンスタスク IDボックス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年9月10日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (12)

課題・解決手段

グループベースコミュニケーションプラットフォームにおいて外部と共有されるコミュニケーションチャンネルを作成する方法、装置及びコンピュータプログラム製品がここで記載されている。グループベースコミュニケーションプラットフォームは、複数のデータベースシャードを有し得る。コンピュータで実現される方法は、イニシエータグループIDに関連付けられた第1クライアントデバイスから、前記イニシエータグループID及びターゲットグループIDに関連付けられた共有されるコミュニケーションチャンネル生成クエリを受け取ること、前記グループベースコミュニケーションプラットフォームにおいて、共有されるコミュニケーションチャンネルシャードを生成すること、前記ターゲットグループIDに関連付けられた第2クライアントデバイスに、共有されるコミュニケーションチャンネル承認要求を送信すること、共有されるコミュニケーションチャンネル承認通知を受け取ること、メインデータベースにおいて、前記イニシエータグループID、前記ターゲットグループID、及び前記共有されるコミュニケーションチャンネルIDに基づいて、シャード参照テーブルを更新すること、及び前記共有されるコミュニケーションチャンネルシャードに基づいて、前記共有されるコミュニケーションチャンネルの、外部と共有されるグループベース共有コミュニケーションチャンネルインタフェースを送信することを含み得る。

概要

背景

さまざまなシステムは、外部と共有されたコミュニケーションチャンネル確立するよう構成される。出願人は、既存のシステムに関連する多くの欠点及び課題を特定した。注がれた努力創意、及び革新を通して、これら特定された欠点及び課題の多くは、本発明の実施形態による解法を開発することによって解決され、これらの多くの例は、ここで詳細に記載される。

概要

グループベースコミュニケーションプラットフォームにおいて外部と共有されるコミュニケーションチャンネルを作成する方法、装置及びコンピュータプログラム製品がここで記載されている。グループベースコミュニケーションプラットフォームは、複数のデータベースシャードを有し得る。コンピュータで実現される方法は、イニシエータグループIDに関連付けられた第1クライアントデバイスから、前記イニシエータグループID及びターゲットグループIDに関連付けられた共有されるコミュニケーションチャンネル生成クエリを受け取ること、前記グループベースコミュニケーションプラットフォームにおいて、共有されるコミュニケーションチャンネルシャードを生成すること、前記ターゲットグループIDに関連付けられた第2クライアントデバイスに、共有されるコミュニケーションチャンネル承認要求を送信すること、共有されるコミュニケーションチャンネル承認通知を受け取ること、メインデータベースにおいて、前記イニシエータグループID、前記ターゲットグループID、及び前記共有されるコミュニケーションチャンネルIDに基づいて、シャード参照テーブルを更新すること、及び前記共有されるコミュニケーションチャンネルシャードに基づいて、前記共有されるコミュニケーションチャンネルの、外部と共有されるグループベース共有コミュニケーションチャンネルインタフェースを送信することを含み得る。

目的

本発明の実施形態は、外部と共有されるコミュニケーションチャンネルを生成する方法、装置、システム、計算デバイス及び/又は等を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

グループベースコミュニケーションプラットフォームにおいて外部と共有されるコミュニケーションチャンネルを作成するコンピュータで実現される方法であって、前記グループベースコミュニケーションプラットフォームは、複数のデータベースシャードを有し、前記コンピュータで実現される方法は、イニシエータグループIDに関連付けられた第1クライアントデバイスから、前記イニシエータグループID及びターゲットグループIDに関連付けられた共有されるコミュニケーションチャンネル生成クエリを受け取ること、前記グループベースコミュニケーションプラットフォームにおいて、共有されるコミュニケーションチャンネルシャードを生成することであって、前記共有されるコミュニケーションチャンネルシャードは、共有されるコミュニケーションチャンネルIDが割り当てられ、グループベースコミュニケーションプラットフォームは、前記イニシエータグループIDに関連付けられた第1データベースシャード、及び前記ターゲットグループIDに関連付けられた第2データベースシャードを含む、共有されるコミュニケーションチャンネルシャードを生成すること、前記ターゲットグループIDに関連付けられた第2クライアントデバイスに、共有されるコミュニケーションチャンネル承認要求を送信することであって、前記共有されるコミュニケーションチャンネル承認要求は、前記共有されるコミュニケーションチャンネルIDと関連付けられる、共有されるコミュニケーションチャンネル承認要求を送信すること、共有されるコミュニケーションチャンネル承認通知を受け取ることであって、前記共有されるコミュニケーションチャンネル承認通知は、前記共有されるコミュニケーションチャンネルIDを前記ターゲットグループIDと関連付ける電子許可を含む、共有されるコミュニケーションチャンネル承認通知を受け取ること、メインデータベースにおいて、前記イニシエータグループID、前記ターゲットグループID、及び前記共有されるコミュニケーションチャンネルIDに基づいて、シャード参照テーブルを更新すること、及び前記共有されるコミュニケーションチャンネルシャードに基づいて、前記共有されるコミュニケーションチャンネルの、外部と共有されるグループベース共有コミュニケーションチャンネルインタフェースを前記第1クライアントデバイス及び前記第2クライアントデバイスのそれぞれに送信することを含む方法。

請求項2

前記シャード参照テーブルは、前記イニシエータグループID及び前記第1データベースシャードの間の第1参照関係、及び前記ターゲットグループID及び前記第2データベースシャードの間の第2参照関係を含む請求項1に記載のコンピュータで実現される方法。

請求項3

前記シャード参照テーブルを更新することは、前記イニシエータグループIDに基づいて、前記シャード参照テーブルにおいて前記第1参照関係を特定すること、前記ターゲットグループIDに基づいて、前記シャード参照テーブルにおいて前記第2参照関係を特定すること、及び前記第1参照関係、前記第2参照関係、及び前記共有されるコミュニケーションチャンネルIDの間の第3参照関係を生成することをさらに含む、請求項2に記載のコンピュータで実現される方法。

請求項4

クライアントデバイスのグループベースコミュニケーションインタフェースを更新するコンピュータで実現される方法であって、前記グループベースコミュニケーションインタフェースは、チャンネルメッセージングペイン及び複数のグループベースコミュニケーションチャンネルを示すチャンネルリストペインを備え、前記方法は、外部と共有されるコミュニケーションチャンネル生成要求を受け取ることであって、前記外部と共有されるコミュニケーションチャンネル生成要求は、第1グループID及び第2グループIDを含む、外部と共有されるコミュニケーションチャンネル生成要求を受け取ること、前記クライアントデバイスが、前記第1グループID又は前記第2グループIDのうちの1つと関連付けられているかを判断すること、及び前記クライアントデバイスが、前記第1グループID又は前記第2グループIDのうちの1つと関連付けられているという判断に応答して、前記チャンネルリストペインにおいて、外部と共有されるコミュニケーションチャンネルリストサブペインを生成することを含む、コンピュータで実現される方法。

請求項5

前記外部と共有されるコミュニケーションチャンネルリストサブペインは、前記クライアントデバイスと関連付けられた1つ以上の外部と共有されるコミュニケーションチャンネルのリストを示す請求項4に記載のコンピュータで実現される方法。

請求項6

前記外部と共有されるコミュニケーションチャンネル生成要求は、前記第1グループIDと関連付けられた第1の外部と共有されるコミュニケーションチャンネル指示子、及び前記第2グループIDと関連付けられた第2の外部と共有されるコミュニケーションチャンネル指示子をさらに含み、前記チャンネルリストペインにおいて、前記外部と共有されるコミュニケーションチャンネルリストサブペインを生成することは、前記クライアントデバイスが前記第1グループIDと関連付けられているという判断に応答して、前記外部と共有されるコミュニケーションチャンネルリストサブペインにおいて、前記第1の外部と共有されるコミュニケーションチャンネル指示子を表示すること、及び前記クライアントデバイスが前記第2グループIDと関連付けられているという判断に応答して、前記外部と共有されるコミュニケーションチャンネルリストサブペインにおいて、前記第2の外部と共有されるコミュニケーションチャンネル指示子を表示することをさらに含む請求項4に記載のコンピュータで実現される方法。

請求項7

グループベースコミュニケーションプラットフォームにおいて外部と共有されるコミュニケーションチャンネルを作成する装置であって、前記グループベースコミュニケーションプラットフォームは、複数のデータベースシャードを有し、前記装置は、少なくとも1つのプロセッサ及びプログラムコードを含む少なくとも1つの非一時的メモリを備え、前記少なくとも1つの非一時的メモリ及び前記プログラムコードは、前記プロセッサと共に、前記プロセッサにイニシエータグループIDに関連付けられた第1クライアントデバイスから、前記イニシエータグループID及びターゲットグループIDに関連付けられた共有されるコミュニケーションチャンネル生成クエリを受け取ること、前記グループベースコミュニケーションプラットフォームにおいて、共有されるコミュニケーションチャンネルシャードを生成することであって、前記共有されるコミュニケーションチャンネルシャードは、共有されるコミュニケーションチャンネルIDが割り当てられ、グループベースコミュニケーションプラットフォームは、前記イニシエータグループIDに関連付けられた第1データベースシャード、及び前記ターゲットグループIDに関連付けられた第2データベースシャードを含む、共有されるコミュニケーションチャンネルシャードを生成すること、前記ターゲットグループIDに関連付けられた第2クライアントデバイスに、共有されるコミュニケーションチャンネル承認要求を送信することであって、前記共有されるコミュニケーションチャンネル承認要求は、前記共有されるコミュニケーションチャンネルIDと関連付けられる、共有されるコミュニケーションチャンネル承認要求を送信すること、共有されるコミュニケーションチャンネル承認通知を受け取ることであって、前記共有されるコミュニケーションチャンネル承認通知は、前記共有されるコミュニケーションチャンネルIDを前記ターゲットグループIDと関連付ける電子許可を含む、共有されるコミュニケーションチャンネル承認通知を受け取ること、メインデータベースにおいて、前記イニシエータグループID、前記ターゲットグループID、及び前記共有されるコミュニケーションチャンネルIDに基づいて、シャード参照テーブルを更新すること、及び前記共有されるコミュニケーションチャンネルシャードに基づいて、前記共有されるコミュニケーションチャンネルの、外部と共有されるグループベース共有コミュニケーションチャンネルインタフェースを前記第1クライアントデバイス及び前記第2クライアントデバイスのそれぞれに送信することをさせる装置。

請求項8

前記シャード参照テーブルは、前記イニシエータグループID及び前記第1データベースシャードの間の第1参照関係、及び前記ターゲットグループID及び前記第2データベースシャードの間の第2参照関係を含む請求項7に記載の装置。

請求項9

前記シャード参照テーブルを更新することは、前記イニシエータグループIDに基づいて、前記シャード参照テーブルにおいて前記第1参照関係を特定すること、前記ターゲットグループIDに基づいて、前記シャード参照テーブルにおいて前記第2参照関係を特定すること、及び前記第1参照関係、前記第2参照関係、及び前記共有されるコミュニケーションチャンネルIDの間の第3参照関係を生成することをさらに含む、請求項8に記載の装置。

請求項10

クライアントデバイスのグループベースコミュニケーションインタフェースを更新する装置であって、前記グループベースコミュニケーションインタフェースは、チャンネルメッセージングペイン及び複数のグループベースコミュニケーションチャンネルを示すチャンネルリストペインを備え、前記装置は、少なくとも1つのプロセッサ及びプログラムコードを含む少なくとも1つの非一時的メモリを備え、前記少なくとも1つの非一時的メモリ及び前記プログラムコードは、前記プロセッサと共に、前記プロセッサに外部と共有されるコミュニケーションチャンネル生成要求を受け取ることであって、前記外部と共有されるコミュニケーションチャンネル生成要求は、第1グループID及び第2グループIDを含む、外部と共有されるコミュニケーションチャンネル生成要求を受け取ること、前記クライアントデバイスが、前記第1グループID又は前記第2グループIDのうちの1つと関連付けられているかを判断すること、及び前記クライアントデバイスが、前記第1グループID又は前記第2グループIDのうちの1つと関連付けられているという判断に応答して、前記チャンネルリストペインにおいて、外部と共有されるコミュニケーションチャンネルリストサブペインを生成することをさせる装置。

請求項11

前記外部と共有されるコミュニケーションチャンネルリストサブペインは、前記クライアントデバイスと関連付けられた1つ以上の外部と共有されるコミュニケーションチャンネルのリストを示す請求項10に記載の装置。

請求項12

前記外部と共有されるコミュニケーションチャンネル生成要求は、前記第1グループIDと関連付けられた第1の外部と共有されるコミュニケーションチャンネル指示子、及び前記第2グループIDと関連付けられた第2の外部と共有されるコミュニケーションチャンネル指示子をさらに含み、前記チャンネルリストペインにおいて、前記外部と共有されるコミュニケーションチャンネルリストサブペインを生成することは、前記クライアントデバイスが前記第1グループIDと関連付けられているという判断に応答して、前記外部と共有されるコミュニケーションチャンネルリストサブペインにおいて、前記第1の外部と共有されるコミュニケーションチャンネル指示子を表示すること、及び前記クライアントデバイスが前記第2グループIDと関連付けられているという判断に応答して、前記外部と共有されるコミュニケーションチャンネルリストサブペインにおいて、前記第2の外部と共有されるコミュニケーションチャンネル指示子を表示することをさらに含む請求項10に記載の装置。

請求項13

グループベースコミュニケーションプラットフォームにおいて外部と共有されるコミュニケーションチャンネルを作成するコンピュータプログラム製品であって、前記グループベースコミュニケーションプラットフォームは、複数のデータベースシャードを有し、前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能なプログラムコード部を有する少なくとも1つの非一時的コンピュータ読み取り可能な記憶媒体を備え、前記コンピュータ読み取り可能なプログラムコード部は、イニシエータグループIDに関連付けられた第1クライアントデバイスから、前記イニシエータグループID及びターゲットグループIDに関連付けられた共有されるコミュニケーションチャンネル生成クエリを受け取り、前記グループベースコミュニケーションプラットフォームにおいて、共有されるコミュニケーションチャンネルシャードを生成することであって、前記共有されるコミュニケーションチャンネルシャードは、共有されるコミュニケーションチャンネルIDが割り当てられ、グループベースコミュニケーションプラットフォームは、前記イニシエータグループIDに関連付けられた第1データベースシャード、及び前記ターゲットグループIDに関連付けられた第2データベースシャードを含む、共有されるコミュニケーションチャンネルシャードを生成し、前記ターゲットグループIDに関連付けられた第2クライアントデバイスに、共有されるコミュニケーションチャンネル承認要求を送信することであって、前記共有されるコミュニケーションチャンネル承認要求は、前記共有されるコミュニケーションチャンネルIDと関連付けられる、共有されるコミュニケーションチャンネル承認要求を送信し、共有されるコミュニケーションチャンネル承認通知を受け取ることであって、前記共有されるコミュニケーションチャンネル承認通知は、前記共有されるコミュニケーションチャンネルIDを前記ターゲットグループIDと関連付ける電子許可を含む、共有されるコミュニケーションチャンネル承認通知を受け取り、メインデータベースにおいて、前記イニシエータグループID、前記ターゲットグループID、及び前記共有されるコミュニケーションチャンネルIDに基づいて、シャード参照テーブルを更新し、及び前記共有されるコミュニケーションチャンネルシャードに基づいて、前記共有されるコミュニケーションチャンネルの、外部と共有されるグループベース共有コミュニケーションチャンネルインタフェースを前記第1クライアントデバイス及び前記第2クライアントデバイスのそれぞれに送信するよう構成された実行可能部を備えるコンピュータプログラム製品。

請求項14

前記シャード参照テーブルは、前記イニシエータグループID及び前記第1データベースシャードの間の第1参照関係、及び前記ターゲットグループID及び前記第2データベースシャードの間の第2参照関係を含む請求項13に記載のコンピュータプログラム製品。

請求項15

前記シャード参照テーブルを更新することは、前記イニシエータグループIDに基づいて、前記シャード参照テーブルにおいて前記第1参照関係を特定すること、前記ターゲットグループIDに基づいて、前記シャード参照テーブルにおいて前記第2参照関係を特定すること、及び前記第1参照関係、前記第2参照関係、及び前記共有されるコミュニケーションチャンネルIDの間の第3参照関係を生成することをさらに含む、請求項14に記載のコンピュータプログラム製品。

請求項16

クライアントデバイスのグループベースコミュニケーションインタフェースを更新するコンピュータプログラム製品であって、前記グループベースコミュニケーションインタフェースは、チャンネルメッセージングペイン及び複数のグループベースコミュニケーションチャンネルを示すチャンネルリストペインを備え、前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能なプログラムコード部を有する少なくとも1つの非一時的コンピュータ読み取り可能な記憶媒体を備え、前記コンピュータ読み取り可能なプログラムコード部は、外部と共有されるコミュニケーションチャンネル生成要求を受け取ることであって、前記外部と共有されるコミュニケーションチャンネル生成要求は、第1グループID及び第2グループIDを含む、外部と共有されるコミュニケーションチャンネル生成要求を受け取り、前記クライアントデバイスが、前記第1グループID又は前記第2グループIDのうちの1つと関連付けられているかを判断し、及び前記クライアントデバイスが、前記第1グループID又は前記第2グループIDのうちの1つと関連付けられているという判断に応答して、前記チャンネルリストペインにおいて、外部と共有されるコミュニケーションチャンネルリストサブペインを生成するよう構成された実行可能部を備えるコンピュータプログラム製品。

請求項17

前記外部と共有されるコミュニケーションチャンネルリストサブペインは、前記クライアントデバイスと関連付けられた1つ以上の外部と共有されるコミュニケーションチャンネルのリストを示す請求項16に記載のコンピュータプログラム製品。

請求項18

前記外部と共有されるコミュニケーションチャンネル生成要求は、前記第1グループIDと関連付けられた第1の外部と共有されるコミュニケーションチャンネル指示子、及び前記第2グループIDと関連付けられた第2の外部と共有されるコミュニケーションチャンネル指示子をさらに含み、前記チャンネルリストペインにおいて、前記外部と共有されるコミュニケーションチャンネルリストサブペインを生成することは、前記クライアントデバイスが前記第1グループIDと関連付けられているという判断に応答して、前記外部と共有されるコミュニケーションチャンネルリストサブペインにおいて、前記第1の外部と共有されるコミュニケーションチャンネル指示子を表示すること、及び前記クライアントデバイスが前記第2グループIDと関連付けられているという判断に応答して、前記外部と共有されるコミュニケーションチャンネルリストサブペインにおいて、前記第2の外部と共有されるコミュニケーションチャンネル指示子を表示することをさらに含む請求項16に記載のコンピュータプログラム製品。

背景技術

0001

さまざまなシステムは、外部と共有されたコミュニケーションチャンネル確立するよう構成される。出願人は、既存のシステムに関連する多くの欠点及び課題を特定した。注がれた努力創意、及び革新を通して、これら特定された欠点及び課題の多くは、本発明の実施形態による解法を開発することによって解決され、これらの多くの例は、ここで詳細に記載される。

課題を解決するための手段

0002

大まかには、本発明の実施形態は、外部と共有されるコミュニケーションチャンネルを生成する方法、装置、システム、計算デバイス及び/又は等を提供する。

0003

ある局面によれば、グループベースコミュニケーションプラットフォームにおいて外部と共有されるコミュニケーションチャンネルを作成するコンピュータで実現される方法が提供される。前記グループベースコミュニケーションプラットフォームは、複数のデータベースシャードを有し得る。前記コンピュータで実現される方法は、イニシエータグループIDに関連付けられた第1クライアントデバイスから、前記イニシエータグループID及びターゲットグループIDに関連付けられた共有されるコミュニケーションチャンネル生成クエリを受け取ること、前記グループベースコミュニケーションプラットフォームにおいて、共有されるコミュニケーションチャンネルシャードを生成することであって、前記共有されるコミュニケーションチャンネルシャードは、共有されるコミュニケーションチャンネルIDが割り当てられ、グループベースコミュニケーションプラットフォームは、前記イニシエータグループIDに関連付けられた第1データベースシャード、及び前記ターゲットグループIDに関連付けられた第2データベースシャードを含む、共有されるコミュニケーションチャンネルシャードを生成すること、前記ターゲットグループIDに関連付けられた第2クライアントデバイスに、共有されるコミュニケーションチャンネル承認要求を送信することであって、前記共有されるコミュニケーションチャンネル承認要求は、前記共有されるコミュニケーションチャンネルIDと関連付けられる、共有されるコミュニケーションチャンネル承認要求を送信すること、共有されるコミュニケーションチャンネル承認通知を受け取ることであって、前記共有されるコミュニケーションチャンネル承認通知は、前記共有されるコミュニケーションチャンネルIDを前記ターゲットグループIDと関連付ける電子許可を含む、共有されるコミュニケーションチャンネル承認通知を受け取ること、メインデータベースにおいて、前記イニシエータグループID、前記ターゲットグループID、及び前記共有されるコミュニケーションチャンネルIDに基づいて、シャード参照テーブルを更新すること、及び前記共有されるコミュニケーションチャンネルシャードに基づいて、前記共有されるコミュニケーションチャンネルの、外部と共有されるグループベース共有コミュニケーションチャンネルインタフェースを前記第1クライアントデバイス及び前記第2クライアントデバイスのそれぞれに送信すること
を含み得る。

0004

他の局面によれば、前記シャード参照テーブルは、前記イニシエータグループID及び前記第1データベースシャードの間の第1参照関係、及び前記ターゲットグループID及び前記第2データベースシャードの間の第2参照関係を含む。

0005

他の局面によれば、前記シャード参照テーブルを更新することは、前記イニシエータグループIDに基づいて、前記シャード参照テーブルにおいて前記第1参照関係を特定すること、前記ターゲットグループIDに基づいて、前記シャード参照テーブルにおいて前記第2参照関係を特定すること、及び前記第1参照関係、前記第2参照関係、及び前記共有されるコミュニケーションチャンネルIDの間の第3参照関係を生成することをさらに含み得る。

0006

他の局面によれば、クライアントデバイスのグループベースコミュニケーションインタフェースを更新するコンピュータで実現される方法が提供される。前記グループベースコミュニケーションインタフェースは、チャンネルメッセージングペイン及び複数のグループベースコミュニケーションチャンネルを示すチャンネルリストペインを定義し得る。前記方法は、外部と共有されるコミュニケーションチャンネル生成要求を受け取ることであって、前記外部と共有されるコミュニケーションチャンネル生成要求は、第1グループID及び第2グループIDを含む、外部と共有されるコミュニケーションチャンネル生成要求を受け取ること、前記クライアントデバイスが、前記第1グループID又は前記第2グループIDのうちの1つと関連付けられているかを判断すること、及び前記クライアントデバイスが、前記第1グループID又は前記第2グループIDのうちの1つと関連付けられているという判断に応答して、前記チャンネルリストペインにおいて、外部と共有されるコミュニケーションチャンネルリストサブペインを生成することを含み得る。

0007

他の局面によれば、前記外部と共有されるコミュニケーションチャンネルリストサブペインは、前記クライアントデバイスと関連付けられた1つ以上の外部と共有されるコミュニケーションチャンネルのリストを示す。

0008

他の局面によれば、前記外部と共有されるコミュニケーションチャンネル生成要求は、前記第1グループIDと関連付けられた第1の外部と共有されるコミュニケーションチャンネル指示子、及び前記第2グループIDと関連付けられた第2の外部と共有されるコミュニケーションチャンネル指示子をさらに含み、前記チャンネルリストペインにおいて、前記外部と共有されるコミュニケーションチャンネルリストサブペインを生成することは、前記クライアントデバイスが前記第1グループIDと関連付けられているという判断に応答して、前記外部と共有されるコミュニケーションチャンネルリストサブペインにおいて、前記第1の外部と共有されるコミュニケーションチャンネル指示子を表示すること、及び前記クライアントデバイスが前記第2グループIDと関連付けられているという判断に応答して、前記外部と共有されるコミュニケーションチャンネルリストサブペインにおいて、前記第2の外部と共有されるコミュニケーションチャンネル指示子を表示することをさらに含む。

0009

他の局面によれば、グループベースコミュニケーションプラットフォームにおいて外部と共有されるコミュニケーションチャンネルを作成する装置が提供される。ある実施形態では、前記グループベースコミュニケーションプラットフォームは、複数のデータベースシャードを有し、前記装置は、少なくとも1つのプロセッサ及びプログラムコードを含む少なくとも1つの非一時的メモリを備える。前記少なくとも1つの非一時的メモリ及び前記プログラムコードは、前記プロセッサと共に、前記プロセッサにイニシエータグループIDに関連付けられた第1クライアントデバイスから、前記イニシエータグループID及びターゲットグループIDに関連付けられた共有されるコミュニケーションチャンネル生成クエリを受け取ること、前記グループベースコミュニケーションプラットフォームにおいて、共有されるコミュニケーションチャンネルシャードを生成することであって、前記共有されるコミュニケーションチャンネルシャードは、共有されるコミュニケーションチャンネルIDが割り当てられ、グループベースコミュニケーションプラットフォームは、前記イニシエータグループIDに関連付けられた第1データベースシャード、及び前記ターゲットグループIDに関連付けられた第2データベースシャードを含む、共有されるコミュニケーションチャンネルシャードを生成すること、前記ターゲットグループIDに関連付けられた第2クライアントデバイスに、共有されるコミュニケーションチャンネル承認要求を送信することであって、前記共有されるコミュニケーションチャンネル承認要求は、前記共有されるコミュニケーションチャンネルIDと関連付けられる、共有されるコミュニケーションチャンネル承認要求を送信すること、共有されるコミュニケーションチャンネル承認通知を受け取ることであって、前記共有されるコミュニケーションチャンネル承認通知は、前記共有されるコミュニケーションチャンネルIDを前記ターゲットグループIDと関連付ける電子許可を含む、共有されるコミュニケーションチャンネル承認通知を受け取ること、メインデータベースにおいて、前記イニシエータグループID、前記ターゲットグループID、及び前記共有されるコミュニケーションチャンネルIDに基づいて、シャード参照テーブルを更新すること、及び前記共有されるコミュニケーションチャンネルシャードに基づいて、前記共有されるコミュニケーションチャンネルの、外部と共有されるグループベース共有コミュニケーションチャンネルインタフェースを前記第1クライアントデバイス及び前記第2クライアントデバイスのそれぞれに送信することをさせる。

0010

他の局面によれば、コンピュータプログラム製品が提供される。前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能なプログラムコード部を有する少なくとも1つの非一時的コンピュータ読み取り可能な記憶媒体を備え、前記コンピュータ読み取り可能なプログラムコード部は、イニシエータグループIDに関連付けられた第1クライアントデバイスから、前記イニシエータグループID及びターゲットグループIDに関連付けられた共有されるコミュニケーションチャンネル生成クエリを受け取り、前記グループベースコミュニケーションプラットフォームにおいて、共有されるコミュニケーションチャンネルシャードを生成することであって、前記共有されるコミュニケーションチャンネルシャードは、共有されるコミュニケーションチャンネルIDが割り当てられ、グループベースコミュニケーションプラットフォームは、前記イニシエータグループIDに関連付けられた第1データベースシャード、及び前記ターゲットグループIDに関連付けられた第2データベースシャードを含む、共有されるコミュニケーションチャンネルシャードを生成し、前記ターゲットグループIDに関連付けられた第2クライアントデバイスに、共有されるコミュニケーションチャンネル承認要求を送信することであって、前記共有されるコミュニケーションチャンネル承認要求は、前記共有されるコミュニケーションチャンネルIDと関連付けられる、共有されるコミュニケーションチャンネル承認要求を送信し、共有されるコミュニケーションチャンネル承認通知を受け取ることであって、前記共有されるコミュニケーションチャンネル承認通知は、前記共有されるコミュニケーションチャンネルIDを前記ターゲットグループIDと関連付ける電子許可を含む、共有されるコミュニケーションチャンネル承認通知を受け取り、メインデータベースにおいて、前記イニシエータグループID、前記ターゲットグループID、及び前記共有されるコミュニケーションチャンネルIDに基づいて、シャード参照テーブルを更新し、及び前記共有されるコミュニケーションチャンネルシャードに基づいて、前記共有されるコミュニケーションチャンネルの、外部と共有されるグループベース共有コミュニケーションチャンネルインタフェースを前記第1クライアントデバイス及び前記第2クライアントデバイスのそれぞれに送信するよう構成された実行可能部を備える。

図面の簡単な説明

0011

一般的な語でいくつかの実施形態をこのように記載して、添付図面がここで参照され、これらは、必ずしも縮尺通りではない。
図1は、本発明のある実施形態によるグループベースコミュニケーションプラットフォームの例示的システムアーキテクチャの図である。
図2は、本発明のある実施形態によるメッセージサーバの例示的概略図である。
図3は、本発明のある実施形態によるネットワークアプリケーションサーバの例示的概略図である。
図4は、本発明のある実施形態による例示的方法を示す例示的フローチャートである。
図5は、本発明のある実施形態による例示的方法を示す例示的フローチャートである。
図6は、本発明のある実施形態による例示的方法を示す例示的フローチャートである。
図7は、本発明のある実施形態による例示的方法を示す例示的フローチャートである。
図8Aは、本発明のある実施形態による例示的ユーザインタフェースのさまざまな要素を示す。
図8Bは、本発明のある実施形態による例示的ユーザインタフェースのさまざまな要素を示す。
図8Cは、本発明のある実施形態による例示的ユーザインタフェースのさまざまな要素を示す。
図8Dは、本発明のある実施形態による例示的ユーザインタフェースのさまざまな要素を示す。

実施例

0012

本発明のさまざまな実施形態がここで添付の図面を参照してより完全に以下に記載され、図面において、本発明の全てではないがいくつかの実施形態が示される。実際、本発明は、多くの異なる形態で実現され得て、ここで述べられた実施形態に限定されるように解釈されるべきではない。むしろ、これら実施形態は、本開示が適用され得る法的要件満足するように提供される。「又は(or)」という語は、ここでは、そうではないと明示されない限り、択一的及び接続的の両方の意味で用いられる。「説明のための(illustrative)」及び「例示的(exemplary)」という語は、質のレベルを明示しない例として用いられる。同様の番号は、同様の要素を通して参照する。

0013

概観
本発明のさまざまな実施形態は、おおまかには、グループベースコミュニケーションプラットフォームにおいて外部と共有されるコミュニケーションチャンネルの確立に関する。グループベースコミュニケーションプラットフォームは、複数のクライアントデバイスと通信するよう構成され、複数のネットワークデータベースを操作する。クライアントデバイスのそれぞれは、グループID(group identification)と関連付けられ得て、これは、クライアントデバイスが関連付けられているグループ又は組織を示し得る。例えば、特定の組織は、グループベースコミュニケーションプラットフォームに接続された複数のクライアントデバイスを有し得て、グループベースコミュニケーションプラットフォームは、それぞれのクライアントデバイスを特定の組織と関連付けられているとして特定する。

0014

グループベースコミュニケーションプラットフォームは、複数のデータベースシャードも含み、それぞれのデータベースシャードは、特定のグループIDに関連するデータを記憶する。例えば、データベースシャードは、特定の組織のメンバに関連付けられた電子コミュニケーションデータを記憶し得て、これにより、その特定の組織のメンバは、リアルタイムで同じ組織の他のメンバとコミュニケーションし、データをやりとりできる。この例では、その組織そのものがデータベースシャードの所有者であり、関連するデータがどこにどのように記憶されるかを支配する。これは、データ保持展開(unfurling)、及びインテグレーション(integration)設定のような、多くの技術的なタスクを簡略化する。

0015

しかし、既存のシステム及びアプローチは、それぞれのデータベースシャードは単一の組織によってしか所有され得ないため、異なる組織の間でのデータ交換及び通信についてのサポートを提供しないので、多くの技術的な制約及び制限によって悩まされている。例えば、組織XのユーザTonyがデータ(組織Xのデータベースシャードに記憶されている)を組織Yの他のユーザFrankと共有しようとするとき、Tonyは、当該データを他の通信手段を通じて交換しなければならず、これは通信遅延及び非効率を生じ得る。データは、もともと、タイムセンシティブかつ動的であり得るので、既存システムの技術的制限は、データの完全性を損ね、ネットワークリソース枯渇し得る。

0016

加えて、既存のシステムは、外部と共有されるコミュニケーションチャンネルにおいてユーザアイデンティティ(user identities)を管理するようには管理されていない。例えば、Tonyは、組織X及び組織Zの両方のメンバであり得る。Tonyは、組織X内のコミュニケーションチャンネルと関連付けられたアイデンティティ(“Tony-X”)、及び組織Z内のコミュニケーションチャンネルと関連付けられたもう一つのアイデンティティ(“Tony-Z”)を有し得る。組織X及び組織Zを接続する外部と共有されるコミュニケーションチャンネルにおいて、既存のシステムは、“Tony-X”及び“Tony-Z”を両立させることが不可能であり、“Tony-X”及び“Tony-Z”は、2人の異なる個人であると間違って判断し得る。既存のシステムは、Tonyを組織Xのメンバと判断し、さらには組織Zの個人又はゲストと判断もし得て、これは、データ管理においてコンフリクトを生じ得る。

0017

本発明のさまざまな実施形態によって構築されたシステムは、既存のシステムが直面する問題を克服する。

0018

上の「TonyからFrank」の議論に続いて、本発明のさまざまな実施形態によって構築されたグループベースコミュニケーションプラットフォーム(例えばSLACK登録商標)によって提供されるクラウドベースのグループコラボレーションツール)におけるTonyは、外部と共有されるコミュニケーションチャンネルを通してFrankとリアルタイムでデータを交換することができる。換言すれば、組織X及び組織Yのメンバは、あたかも彼らが同じ組織に所属するかのように、外部と共有されるコミュニケーションチャンネルにおいてコンテンツを見てデータを共有することができる。ネットワークアプリケーション及び他のソフトウェアインテグレーションは、外部と共有されるコミュニケーションチャンネルにおいて動作し続け、それぞれの組織は、そのそれぞれのチャンネルエクスペリエンスに適用するそれ自身の基本設定(preferences)を維持する。

0019

上の“Tony-X/Tony-Z”の議論から続いて、本発明のさまざまな実施形態によって構築されたグループベースコミュニケーションプラットフォームにおいて、Tonyには、Tonyを組織X及び組織Zの両方のメンバとして認識する統一されたアイデンティティが割り当てられる。換言すれば、SLACK(登録商標)によって提供される、このクラウドベースのグループコラボレーションツールは、個人を別個チームのメンバとして認識し得るアイデンティティの合体を作ることができる。

0020

ユーザエクスペリエンスの観点から、本発明のさまざまな実施形態によって構築されたシステムは、組織の生産性及び効率を大幅に向上させることができる。これらは、他の形態の通信(電子メールのような)の必要性も低減し、異なる組織の間でより良いコラボレーションを提供しつつ、チームの間のチャンネルの非接続を除去する。加えて、それらは、非対称カスタマイズ可能なプライバシー設定を提供するよう構成され、ここで、2つのチーム間の外部と共有されるコミュニケーションチャンネルは、あるチームについてある一つのプライバシーコンフィギュレーションを有し、もう一つのチームについて異なるコンフィギュレーションを有し得る。さらに、外部と共有されるコミュニケーションチャンネルは、クロスネットワーク効果を作り得て、これは、異なる組織又は異なるグループからのユーザリテンション率を増す。

0021

開発者の観点からは、本発明のさまざまな実施形態によって構築されたシステムは、データの取得及び適切な可視性のためのサポートを提供しつつ、保存設定(retention settings)の柔軟性を提供する。それらは、チャンネルに基づいたチームの選択的接続と共に、チャンネルの選択的接続も可能にする。

0022

よって、本発明のさまざまな実施形態によって構築されたシステムは、既存のシステムが直面する技術的問題に対して、具体的な、技術的な解法を提供し、その詳細が以下に説明される。

0023

定義
ここで用いられるように「データ」、「コンテンツ」、「情報」という語、及び同様の語は、本発明の実施形態に従って送信、受信、及び/又は記憶されることが可能なデータを表すために相互交換的に用いられ得る。よって、任意のそのような語の使用は、本発明の実施形態の精神及び範囲を限定するように解釈されるべきではない。さらに、データを他の計算デバイスから受け取るための計算デバイスがここで記載されるが、このデータは、他の計算デバイスから直接に受け取られてもよく、又は、例えば、1つ以上のサーバリレールータネットワークアクセスポイント基地局、ホスト、及び/又は同様のもののような、1つ以上の媒介する計算デバイスを介して間接的に受け取られてもよいことが理解されよう。同様に、計算デバイスは、他の計算デバイスにデータを送るようここでは記載されるが、このデータは、他の計算デバイスに直接に送られてもよく、又は1つ以上の中間計算デバイスを介して、例えば1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、基地局、ホスト及び/又はその他を介して、間接的に送られてもよいことが理解されるだろう。

0024

「ユーザ」という語は、個人、複数の個人のグループ、事業家、組織等を表すと理解されるべきである。ユーザは、クライアントデバイスを用いてグループベースコミュニケーション又はメッセージングシステムアクセスし得る。「グループベース」は、規定されたグループのユーザ群にだけアクセス可能であるのに十分なセキュリティを有するシステム、チャンネル、メッセージ、又は仮想環境を表すためにここでは用いられている。このグループは、組織又は商業エンタープライズのもののようなコモンアクセス信任状によって定義され得る。アクセスは、参加するための認証された要求又はあるグループメンバユーザから他の非メンバユーザに送信された参加するための招待によってさらに促進され得る。グループ識別子(以下に定義される)は、データ、情報、メッセージ等を特定のグループと関連付けるために用いられる。

0025

ユーザプロファイル」、「ユーザアカウント」、及び「ユーザアカウント詳細」という語は、ユーザと関連付けられた情報を表し、これには、例えば、ユーザ識別子、そのユーザがアクセスを認められているグループベースコミュニケーションチャンネルと関連付けられた1つ以上のグループベースコミュニケーションチャンネル識別子、そのユーザが関連付けられているグループの1つ以上のグループ識別子、そのユーザがいずれかのグループベースコミュニケーションチャンネルのオーナーであるかについての表示、ユーザがいずれかのグループベースコミュニケーションチャンネルの制限を有するかについての表示、複数のメッセージ、複数の絵文字、複数の会話、複数の会話トピックス、アバター、電子メールアドレス、実名(例えばJohn Doe)、ユーザ名(例えばjdoe)、パスワード、実名、時間帯ステータス等が含まれる。ユーザアカウント詳細は、例えば、そのユーザのユーザ名及びパスワードを含むそのユーザのログイン情報のようなユーザ資格情報(user credentials)のサブセット指定を含み得る。

0026

「クライアントデバイス」という語は、1つ以上のサーバによって利用可能にされた1つ以上のサービスにアクセスするよう構成されたコンピュータハードウェア(群)及び/又はソフトウェア(群)を表す。サーバ(群)は、しばしば(いつもではないが)他のコンピュータシステム上にあり、その場合、クライアントデバイスは、ネットワークによってサービスにアクセスする。クライアントデバイスは、グループID(group identification)と関連付けられ得て、ここでこのグループIDは、ユーザが所属するグループ(例えばユーザグループ)を示唆する電子的表示である。クライアントデバイスは、限定としてではなく、スマートフォンタブレットコンピュータラップトップコンピュータデスクトップコンピュータウェラブ機器パーソナルコンピュータ、エンタープライズコンピュータ等を含み得る。

0027

「グループベースコミュニケーションプラットフォーム」という語は、1つ以上のクライアントデバイスにアクセス可能であり、データベースの操作に関連する複数のソフトウェアアプリケーションへのアクセスを提供するよう動作可能である計算サービスの集合体を表す。ある例では、グループベースコミュニケーションプラットフォームは、ソフトウェアアプリケーションを実行し、デジタルコンテンツアイテムアプリケーション関連データ、及び/又はその他を記憶する1つ以上のデータベースへのアクセスを有する1つ以上の追加のサーバと通信するように設けられている1つ以上のセントラルサーバの形態を取り得る。グループベースコミュニケーションプラットフォームは、クライアント保存設定及び他のコンプライアンス局面もサポートし得る。さらに、グループベースコミュニケーションプラットフォームは、データへの適切なアクセスを付与し、サードパーティアプリケーション及びボットビルドして、カスタマーワークフロー統合することを許す包括的なサードパーティ開発者サポートも提供し得る。

0028

「コミュニケーションチャンネル」という語は、システム及びシステムの部分の間でデータの交換のために用いられる情報ルート及び関連付けられた回路を表す。例えば、コミュニケーションチャンネルは、さまざまなクライアントデバイスの間で確立され得て、これらクライアントデバイスが互いの間でデータを通信し、共有することを可能にする。コミュニケーションチャンネルID(communication channel identification)は、コミュニケーションチャンネルに割り当てられ得て、これは、そのコミュニケーションチャンネルの関連するデータが記憶されているデータベース中の物理アドレスを示す。コミュニケーションチャンネルは、「パブリック」であり得て、これは、任意のクライアントデバイスがコミュニケーションチャンネルを通して情報共有加入及び参加できるようにし得る。コミュニケーションチャンネルは、「プライベート」であり得て、これは、コミュニケーションチャンネルにおけるデータ通信をあるクライアントデバイス及び/又はユーザに制限し得る。

0029

「グループベースコミュニケーションチャンネルインタフェース」という語は、当該グループのメンバだけに閲覧可能である、チャンネルメンバ(例えばクライアントデバイスを用いて環境にアクセスする認証されたユーザ)によってポストされたメッセージングコミュニケーションを表示するよう構成された仮想的な通信環境つまりフィードを表す。グループベースコミュニケーションチャンネルのフォーマットは、グループベースコミュニケーションチャンネルの異なるメンバには異なるように見えるかもしれない。しかし、グループベースコミュニケーションのチャンネルのコンテンツ(すなわちメッセージングコミュニケーション)は、そのグループベースコミュニケーションチャンネルのそれぞれのメンバに表示される。例えば、グループベースのメッセージングコミュニケーションの共通セット(common set)は、それぞれのグループベースコミュニケーションチャンネルのそれぞれのメンバに表示されて、グループベースコミュニケーションチャンネルのコンテンツ(すなわちメッセージングコミュニケーション)がグループベースコミュニケーションチャンネルのメンバごとに変わらないようにする。

0030

ここで用いられるように、「メッセージングコミュニケーション」及び「メッセージ」という語は、クライアントデバイスを用いてユーザによって提供される、グループベースコミュニケーションチャンネル内で表示されるよう構成された任意の電子的に生成されたデジタルコンテンツオブジェクトを表す。メッセージコミュニケーションは、ユーザによって提供される(クライアントデバイスを用いて)任意のテキスト、画像、動画オーディオ又はそれらの組み合わせを含み得る。例えば、ユーザは、メッセージコンテンツとしてメッセージングコミュニケーションの中で画像及び動画と共にテキストを含むメッセージングコミュニケーションを提供し得る。そのような場合、テキスト、画像、及び動画は、メッセージングコミュニケーション又はデジタルコンテンツオブジェクトを構成し得る。グループベースコミュニケーションシステムのグループベースコミュニケーションチャンネルに送信又はポストされたそれぞれのメッセージは、以下を含むメタデータを含み、すなわちこのメタデータは、送信するユーザの識別子、メッセージ識別子、メッセージコンテンツ、グループ識別子、及びグループベースコミュニケーションチャンネルの識別子を含む。上述の識別子のそれぞれは、ASCIIテキストポインタメモリアドレス等を含み得る。

0031

「グループベースコミュニケーションチャンネル識別子」又は「チャンネル識別子」という語は、グループベースコミュニケーションチャンネルが特定され得るデータの1つ以上のアイテムを表す。例えば、グループベースコミュニケーションチャンネル識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。

0032

「グループ識別子」又は「チーム識別子」は、グループベースコミュニケーションシステム内のグループが特定され得るデータの1つ以上のアイテムを表す。例えば、グループ識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含み得る。

0033

送信ユーザ識別子」は、特定のユーザ(すなわち特定のユーザに関連付けられたクライアントデバイス)によって送られるメッセージのコレクションと関連付けられる。これらメッセージは、ユーザに関するコンテキストを決定するために分析され得る(例えばあるトピックにおけるユーザの専門知識又は興味は、そのようなメッセージの中のそのトピック又はそのトピックに関連付けられたキーワードの言及の頻度に基づいて決定され得る)。

0034

グループベースコミュニケーションシステムユーザは、組織グループ組織化され(organized)(例えばそれぞれの会社の従業員は、別々の組織グループであり得る)、それぞれの組織グループは、ユーザが割当され得る又はユーザが参加し得る(例えばグループベースコミュニケーションチャンネルは、部署オフィスのような地理的位置製品ライン、ユーザの関心、トピック、問題、及び/又はその他を表し得る)1つ以上のグループベースコミュニケーションチャンネル(以下で説明される)を有し得る。グループ識別子は、メッセージのためのアクセス制御を促進するのに用いられ得る(例えばサーチクエリに応答してサーチ結果の一部としてメッセージリターンを持つようなメッセージへのアクセスは、それらのユーザプロファイルに関連付けられたグループ識別子を有するそれらユーザに制限され得る)。グループ識別子は、メッセージについてのコンテキストを決定するのに用いられ得る(例えば組織の名称及び/又は組織の簡単な説明のようなグループの記述がグループ識別子に関連付けられ得る)。

0035

グループベースコミュニケーションシステムユーザは、グループベースコミュニケーションチャンネルに参加し得る。一部のグループベースコミュニケーションチャンネルは、それらのユーザプロファイルに関連付けられた特定の組織グループ識別子を有するそれらユーザにとってはグローバルにアクセス可能であり得る(すなわちその組織のメンバであるユーザ)。一部のグループベースコミュニケーションチャンネルへのアクセスは、特定のグループのメンバに制限され得て、それによってグループベースコミュニケーションチャンネルは、それらのユーザプロファイルに関連付けられた特定のグループ識別子を有するそれらユーザにアクセス可能である。グループベースコミュニケーションチャンネル識別子は、メッセージについてのアクセス制御を促進するために用いられ得る(例えば、サーチクエリに応答してサーチ結果の一部としてメッセージリターンを持つようなメッセージへのアクセスは、それらのユーザプロファイルに関連付けられたグループ識別子を有し、又はグループベースコミュニケーションチャンネルに参加する能力を有するそれらユーザに制限され得る)。グループベースコミュニケーションチャンネル識別子は、メッセージのコンテキストを決定するのに用いられ得る(例えば、グループベースコミュニケーションチャンネルで議論されるプロジェクトの説明のような、グループベースコミュニケーションチャンネルの説明は、グループベースコミュニケーションチャンネル識別子に関連付けられ得る)。

0036

プライベートグループベースコミュニケーションチャンネル」という語は、制限されたアクセスを持つことによって、グループベースコミュニケーションシステムの他のメンバによって一般にはアクセス可能ではなく及び/又はサーチ可能ではないグループベースコミュニケーションチャンネルを表す。例えば、プライベートグループベースコミュニケーションチャンネルへのアクセスについての知識及び許可を有する(例えば、ユーザが許可/認証された後に、プライベートグループベースコミュニケーションチャンネルについてのグループベースコミュニケーションチャンネル識別子がそれらのユーザプロファイルに関連付けられる)ユーザ又は管理者だけが、プライベートグループベースコミュニケーションチャンネルのコンテンツを見ることができる。

0037

「クエリ」という語は、データベースに関連付けられた要求を表す。「クエリ」は、1つ以上のクライアントデバイス上で生成され得て、グループベースコミュニケーションプラットフォームに送信され得る。クエリは、「セレクトクエリ」であり得て、これは、クエリに従ってデータをデータベースから読み出し可能なフォーマットで抽出するのに用いられる。クエリは、「アクションクエリ」であり得て、これは、ネットワークデータベース内に記憶されたデータに対して操作(挿入、削除、及び/又は更新のような)を要求する。例えば、「コミュニケーションチャンネル生成クエリ」は、コミュニケーションチャンネルの生成を要求するアクションクエリである。

0038

「シャード」という語は、個別にアクセスされ、管理され得るデータの関連する、個別のアイテム群の集合体を表す。シャードは、単一のデータベース内に記憶され得て、又はオプションとして複数のデータベース群にわたって拡散され得る。これは、大量のデータが存在するときに特に有用である。非常に大きなデータベースを1箇所に作成及び維持するコストは、指数関数的に増加し得るが、これは、データベースがよりハイエンドのコンピュータを必要とするからである。対照的に、データベースシャードは、ずっと安価な通常のデータベース群のいくつかにわたって分散され得る。「シャーディング」は、大きなデータベースをパーティショニングすることによって、より管理しやすくすることを表す。データベースをシャーディングすることは、データベースを、共通のものを共有しない、より小さなデータベース群に分割することを伴うので、2つ以上のデータベースシャードを伴うコミュニケーションチャンネルを作成するのには技術的な困難を生じる。データベースは、これらには限定されないが、チャンネルID、ユーザID、チームID、又はデータベース構成内のデータの任意の属性を含む、さまざまなファクタに基づいて「シャード化(sharded)」され得る。どのファクタ(群)を使用すべきかを決定するために、システムは、データ分離、データの近接ルックアップのために)、及びパフォーマンス/分散システムにわたるアクセスのスピードを考慮し得る。システムは、データの量及びシステムがそのようなデータを取得するのに要求されるスピードの両方を考慮する必要があるかもしれない。

0039

「参照テーブル」という語は、さまざまなデータアイテム群の間の参照関係(referential connections)群のセットを表す。参照テーブルは、表形式であり得て、これは、「行」及び「列」を含み得る。それぞれの行は、参照関係を表現し得て、それぞれの列は、データアイテムを表現し得る。データアイテムは、グループID、チャンネルID、ネットワークデータベース中の物理アドレス等であり得る。参照関係は、さまざまなデータアイテム群の間の関係及び/又は制約を示し得る。例えば、シャード参照テーブルは、ネットワークデータベース中のコミュニケーションチャンネルシャードの物理アドレスを、そのコミュニケーションチャンネルのIDに基づいて特定し得る。シャード参照テーブルは、データベースシャードパラメータ、メッセージサーバシャードパラメータ、Redisシャードパラメータ、Solrシャードパラメータ、チームメタデータ(例えば作成日付アーカイブ日付、削除日付)、管理者ユーザデータ、ドメイン、電子メールドメイン、基本設定、招待(invites)、クレジット支払いレベル、及びチームがエンタープライズであるかを示すデータのようなパラメータを含み得る。

0040

イベント」という語は、システムハードウェア及び/又はソフトウェアにとって技術的な重要性を有する特定可能な、非一時的な出現を表す。イベントは、コンピュータシステムによって認識され得る、なんらかのメッセージ、トークンカウントパターン、値、又はマーカを表現し得る。イベントに基づいて、所定の機能を実行するためにアプリケーションがトリガされ得る。例えば、グループベースコミュニケーションチャンネルにおいて、ユーザによって送信されたメッセージは、イベントアプリケーションプログラミングインタフェースAPI)を利用するアプリケーションにとってのイベントである。イベントは、キーストローク又はマウス動きのようなユーザによって発生されたものでもよく、又はプログラムローディング及びエラーのようなシステムによって発生されたものであってもよい。

0041

例示的システムアーキテクチャ
本発明の方法、装置、及びコンピュータプログラム製品は、さまざまなデバイスの任意のものによって実現され得る。例えば、例示的実施形態の方法、装置、及びコンピュータプログラム製品は、1つ以上のクライアントデバイスのような1つ以上のデバイスと通信するよう構成されるサーバ又は他のネットワークエンティティのようなネットワークデバイスによって実現され得る。ある好ましい非限定的な実施形態において、計算デバイスは、パーソナルコンピュータ又はコンピュータワークステーションのような固定された計算デバイスを含み得る。さらに例示的実施形態は、携帯デジタルアシスタント(PDA)、携帯電話、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルデバイス、又は前述のデバイスの任意の組合せのような、さまざまなモバイルデバイスの任意のものによって実現され得る。

0042

図1は、本発明の実施形態が動作し得る例示的計算システム100を示す。ユーザは、クライアントデバイス101A−101Nを用いて通信ネットワーク103を介してグループベースコミュニケーションプラットフォーム105にアクセスし得る。

0043

通信ネットワーク103は、例えば、それを実現するのに要求される任意のハードウェア、ソフトウェア及び/又はファームウェア(例えばネットワークルータ等のような)と共に、有線又は無線ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、メトロポリタンエリアネットワークMAN)、ワイドエリアネットワークWAN)等を含む任意の有線又は無線通信ネットワークを含み得る。例えば、通信ネットワーク103は、セルラー電話、802.11、802.16、802.20、及び/又はWiMaxネットワークを含み得る。さらに、通信ネットワーク103は、インターネットのような公衆ネットワークイントラネットのようなプライベートネットワーク、又はそれらの組合せを含み得て、TCP/IPベースネットワーキングプロトコルを含むがこれには限定されない、現在利用可能な又は将来開発されるさまざまなネットワーキングプロトコルを利用し得る。例えば、ネットワーキングプロトコルは、グループベースコミュニケーションシステムの要求に合うようにカスタマイズされ得る。ある実施形態では、プロトコルは、ウェブソケットチャンネルを介して送られるJSONオブジェクトカスタムプロトコルである。ある実施形態では、プロトコルは、JSON−RPC、JSON−REST/HTTP等である。

0044

グループベースコミュニケーションプラットフォーム105は、メッセージサーバ107及びネットワークアプリケーションサーバ109を含み得る。ネットワークアプリケーションサーバ109は、メインデータベース111及び1つ以上のデータベースシャード113A−113Nと通信し得る。

0045

メッセージサーバ107は、この技術分野で知られるようにコンピュータ又はコンピュータ群として実現され得る。メッセージサーバ107は、クライアントデバイス101A−101Nには限定されないがこれらを含むさまざまなソースからの電子データを通信ネットワーク103を介して受信するために設けられ得る。例えば、メッセージサーバ107は、クライアントデバイス101A−101Nによって提供された電子メッセージを受信及び処理するよう動作可能であり得る。メッセージサーバ107は、クライアントデバイス101A−101Nへの電子メッセージの送信及び増幅(amplification)を促進することもし得る。

0046

同様に、ネットワークアプリケーションサーバ109は、この技術分野で知られるようにコンピュータ又はコンピュータ群として実現され得る。ネットワークアプリケーションサーバ109は、クライアントデバイス101A−101Nに限定されないがこれらを含むさまざまなソースから通信ネットワーク103を介して電子データを受信することを実現し得る。例えば、ネットワークアプリケーションサーバ109は、クライアントデバイス101A−101Nによって提供された電子メッセージを受信及び処理するよう動作可能であり得る。ネットワークアプリケーションサーバ109は、メインデータベース111及び/又は1つ以上のデータベースシャード113A−113Nに関して、クライアントデバイス101A−101N及び/又はメッセージサーバ107によって提供されるネットワークデータベースクエリを受信及び処理するようにも動作可能であり得る。ネットワークアプリケーションサーバ109は、さらに、ユーザインタフェースの生成を促進し得る。

0047

クライアントデバイス101A−101Nは、上で定義されたような任意の計算デバイスであり得る。クライアントデバイス101A−101Nからメッセージサーバ107及びネットワークアプリケーションサーバ109によって受信された電子データは、さまざまな形態で、かつさまざまな方法を介して提供され得る。

0048

ある好ましい非限定的な実施形態においては、クライアントデバイス101A−101Nのうちの1つ以上は、スマートフォン又はタブレットのようなモバイルデバイスである。1つ以上のクライアントデバイスは、メッセージサーバ107及び/又はネットワークアプリケーションサーバ109と相互作用するために「アプリ」を実行し得る。そのようなアプリは、スマートフォン又はタブレットのようなモバイルデバイス上で動作するように典型的には設計される。例えば、アプリは、Apple Inc.のiOS(登録商標)、Google Inc.のAndroid(登録商標)、又はMicrosoft Inc.のWindows 10 Mobile(登録商標)のようなモバイルデバイスオペレーティングシステム上で動作するよう提供され得る。これらプラットフォームは、アプリが互いに、及びモバイルデバイスの特定のハードウェア及びソフトウェア要素と通信することを可能にするフレームワークを典型的には提供する。例えば、上で挙げられたモバイルデバイスオペレーティングシステムは、それぞれ、位置サービス回路、有線及び無線ネットワークインタフェース、ユーザコンタクト、及び他のアプリケーションと相互作用するためのフレームワークを提供する。アプリの外で動作するハードウェア及びソフトウェアモジュールとの通信は、モバイルデバイスオペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース(API)を介して典型的には提供される。

0049

ある好ましい非限定的な実施形態においては、クライアントデバイス101A−101Nは、ウェブブラウザを介してメッセージサーバ107及び/又はネットワークアプリケーションサーバ109と相互作用し得る。クライアントデバイス101A−101Nは、メッセージサーバ107及び/又はネットワークアプリケーションサーバ109と相互作用するよう設計されたさまざまなハードウェア又はファームウェアも含み得る。

0050

ある好ましい非限定的な実施形態においては、データベースシャード113A−113Nは、ネットワークアタッチトストレージ(NAS)装置又は装置群のようなデータ記憶装置として、又は別個のデータベースサーバ又はサーバ群として実現され得る。データベースシャード113A−113Nは、ネットワークアプリケーションサーバ109によってアクセス及び記憶される情報を含む。例えば、データベースシャード113A−113Nは、ユーザプロファイル、ユーザ特権情報電子ファイル、複数のグループベースコミュニケーションチャンネル間で組織化されたメッセージングコミュニケーション、及び/又はその他を限定ではなく含み得る。

0051

ある好ましい非限定的な実施形態においては、メインデータベース111は、ネットワークアタッチトストレージ(NAS)装置又は装置群のようなデータ記憶装置として、又は別個のデータベースサーバ又はサーバ群として実現され得る。メインデータベース111は、ネットワークアプリケーションサーバ109によってアクセス及び記憶される情報を含む。例えば、メインデータベース111は、シャード参照テーブルを限定ではなく含み得る。

0052

例示的グループベースコミュニケーションプラットフォーム105のある実施形態では、メッセージ又はメッセージングコミュニケーションは、クライアントデバイス101A−101Nからグループベースコミュニケーションプラットフォーム105に送られ得る。さまざまな実現例において、メッセージは、クライアントデバイス101A−101Nのうちの1つによって直接に、通信ネットワーク103を通じてグループベースコミュニケーションプラットフォーム105に送られ得る。メッセージは、メッセージサーバ及び/又はその他のような媒介を介してグループベースコミュニケーションシステム105に送られてもよい。例えば、クライアントデバイス101A−101Aは、デスクトップラップトップ、タブレット、スマートフォン、及び/又はクライアントアプリケーションを実行しているもの(例えばグループベースコミュニケーションアプリ)であり得る。ある実現例では、メッセージは、メッセージ識別子、送信ユーザ識別子、グループ識別子、グループベースコミュニケーションチャンネル識別子、メッセージコンテンツ(例えばテキスト、絵文字、画像、リンク)、添付物(例えばファイル)、メッセージ階層データ(例えばそのメッセージは、他のメッセージの応答であり得る)、サードパーティメタデータ、及び/又はその他のようなデータを含み得る。ある実施形態では、クライアントデバイス101A−101Nは、以下に示されるような、エクステンブルマークアップランゲージ(「XML」)でフォーマットされたデータを含む、(セキュアハイパーテキストトランスファプロトコル(「HTTP(S)」)POSTメッセージの形態を実質的にとる、以下の例示的メッセージを提供し得る。
POST /authrequest.php HTTP/1.1
Host: www.server.com
Content-Type: Application/XML
Content-Length: 667
UTF-8”?>

2020-12-31 23:59:59


ID_user_1
abc123
//OPTIONALcookieID
//OPTIONAL www.mydigitalcertificate.com/ JohnDoeDaDoeDoe@gmail.com/mycertifcate.dc
//OPTIONAL _DATA_


//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
10.0.0.123
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
iPhone6,1
DNXXX1X1XXXX
3XXXXXXXXXXXXXXXXXXXXXXXXD
iOS
7.1.1
app with webkit
true
MSM.app
1.0
Mobile Safari
537.51.2

//iOS Client with Webbrowser
10.0.0.123
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
iPhone6,1
DNXXX1X1XXXX
3XXXXXXXXXXXXXXXXXXXXXXXXD
iOS
7.1.1
web browser
Mobile Safari
9537.53

//Android Client with Webbrowser
10.0.0.123
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
Nexus S
YXXXXXXXXZ
FXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX
Android
4.0.4
web browser
Mobile Safari
534.30

//Mac Desktop with Webbrowser
10.0.0.123
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
MacPro5,1
YXXXXXXXXZ
FXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX
Mac OS X
10.9.3
web browser
Mobile Safari
537.75.14


ID_message_10
ID_team_1
ID_channel_1
That is an interesting invention. I have attached a copy our patent policy.
patent_policy.pdf


グループベースコミュニケーションプラットフォーム105は、少なくとも1つのデータベースシャード113A−113Nにおけるメッセージのインデキシング及び記憶を促進するために、受信されたメッセージに基づいて記憶メッセージを作成し得る少なくとも1つのメッセージサーバ107を備える。ある実施形態では、記憶メッセージは、メッセージ識別子、グループ識別子、グループベースコミュニケーションチャンネル識別子、送信ユーザ識別子、トピックスレスポンス、メッセージコンテンツ、添付物、メッセージ階層データ、サードパーティメタデータ、会話プリミティブデータ及び/又はその他のようなデータを含み得る。例えば、グループベースコミュニケーションサーバ106は、以下に示すような、XMLでフォーマットされたデータを含む、HTTP(S) POSTメッセージの形態を実質的にとる、以下の例示的記憶メッセージを提供し得る。
POST /storage_message.php HTTP/1.1
Host: www.server.com
Content-Type: Application/XML
Content-Length: 667


ID_message_10
ID_team_1
ID_channel_1
ID_user_1

inventions
patents
policies


liked by ID_user_2
starred by ID_user_3

That is an interesting invention. I have attached a copy our patent policy.
patent_policy.pdf

conversation includes messages: ID_message_8, ID_message_9, ID_message_10,
ID_message_11, ID_message_12


ある実施形態において、上で定義されたグループ識別子は、メッセージと関連付けられ得る。ある実施形態において、上で定義されたグループベースコミュニケーションチャンネル識別子は、メッセージと関連付けられ得る。

0053

ある実施形態において、上で定義された送信ユーザ識別子は、メッセージと関連付けられ得る。ある実現例では、メッセージは、そのメッセージを送ったユーザの送信ユーザ識別子を決定するためにパースされ(parsed)得る(例えばPHPコマンドを用いて)。

0054

ある実施形態では、応答を示すデータは、そのメッセージと関連付けられ得る。例えば、他のユーザによるメッセージへの応答は、反応(例えばメッセージに関連付けられた絵文字の選択、メッセージに関連付けられた「いいね」ボタンの選択)、メッセージに埋め込まれたハイパーリンククリックすること、メッセージへ応答すること(例えばメッセージに応答してグループベースコミュニケーションチャンネルにメッセージをポストすること)、メッセージに関連付けられたファイルをダウンロードすること、あるグループベースコミュニケーションチャンネルから他のグループベースコミュニケーションチャンネルへメッセージをシェアすること、メッセージをピン留めすること、メッセージに星を付けること、及び/又はその他を含み得る。ある実施形態では、他のユーザによるメッセージへの応答に関するデータは、メッセージに含まれ得て、そのメッセージは、応答を決定するためにパースされ得る(例えばPHPコマンドを用いて)。他の実現例では、メッセージへの応答に関するデータは、データベースから取り出され得る。例えば、メッセージに対する応答に関するデータは、以下のようなMySQLデータベースコマンドを介して取得され得る。
SELECT messageResponses
FROM MSM_Message
WHERE messageID = ID_message_10.
例えば、メッセージへの応答に関するデータは、メッセージについてのコンテキスト(例えばメッセージについての、あるユーザの視点からのソーシャルスコア)を決定するのに用いられ得る。他の例では、メッセージへの応答に関連するデータは、ユーザに関するコンテキストを決定するために分析され得る(例えばあるトピックにおけるユーザの経験は、そのトピックに関するユーザのメッセージに対する応答に基づいて決定され得る)。

0055

実施形態において、添付物は、メッセージに含まれ得る。もし添付物が存在するなら、ファイルは、メッセージと関連付けられ得る。ある実現例では、メッセージは、添付物のファイル名を決定するためにパースされ得る(例えばPHPコマンドを用いて)。例えば、ファイルコンテンツは、メッセージについてのコンテキストを決定するために分析され得る(例えば特許ポリシー文書は、そのメッセージが「特許」というトピックに関連付けられていると表示し得る)。

0056

実施形態において、サードパーティメタデータは、メッセージに関連付けられ得る。例えば、サードパーティメタデータは、会社、グループ、グループベースコミュニケーションチャンネル、及び/又はその他に特有である、メッセージ又はユーザについての追加のコンテキストを提供し得る。ある実現例では、メッセージは、サードパーティメタデータを決定するためにパースされ得る(例えばPHPコマンドを用いて)。例えば、サードパーティメタデータは、メッセージを送ったユーザがグループベースコミュニケーションチャンネルの許可された代表者であるかを示し得る(例えば、許可された代表者は、グループベースコミュニケーションチャンネルにおける質問に応答するために会社によって許可され得る)。

0057

実施形態において、会話プリミティブ(conversation primitive)は、メッセージと関連付けられ得る。ある実施形態では、会話プリミティブは、メッセージを分析し、インデックス付けし、記憶し、及び/又はその他をするのに用いられる要素である。例えば、メッセージは、それ自身で分析され得て、それ自身の会話プリミティブを形成し得る。他の例では、メッセージは、会話を構成する他のメッセージと共に分析され得て、会話を構成するメッセージは、会話プリミティブを形成し得る。ある実現例では、会話プリミティブは、当該メッセージ、特定の個数(例えば2)の先行するメッセージ及び特定の個数(例えば2)の後続するメッセージとして決定され得る。他の実現例では、会話プリミティブは、当該メッセージ及び他のメッセージ(例えばそのチャンネルにおける)で議論されているトピック及び/又はこれらメッセージの近接性(例えばメッセージ送信順序の近接性、メッセージ送信時刻の近接性)の分析に基づいて決定され得る。

0058

実施形態においては、上で説明されたように決定されたさまざまなメタデータ及び/又はメッセージのコンテンツは、メッセージをインデックス化する(例えば会話プリミティブを用いて)ことによって、サーチングのさまざまなファセット(すなわちメッセージサーバ107から結果を返すサーチクエリ)を促進するために用いられ得る。ある実現例では、記憶メッセージ(storage message)は、メッセージサーバ107におけるインデキシングを促進するために、グループベースコミュニケーションサーバ106から送信され得る。他の実現例において、メッセージに関連付けられたメタデータが決定され得て、このメッセージは、メッセージサーバ107においてインデキシングされ得る。ある実施形態において、メッセージは、会社の又はグループのメッセージが別個にインデックス化されるようにインデックス化され得る(例えば他のグループ及び/又は会社とシェアされていないグループ及び/又は会社に関連付けられた別個のインデックスにおいて)。ある実現例では、メッセージは、別個の分散化されたリポジトリにおいてインデックス化され得る(例えばセキュリティの目的のためにデータ隔離を促進するために)。

0059

もしメッセージに関連付けられた添付物が存在するなら、その関連付けられたファイルのファイルコンテンツは、サーチングを促進するために、メッセージサーバ107においてそのようなファイルをインデックス化するために用いられ得る。ある実施形態においては、ファイルは、別個の配信リポジトリにおいて会社の又はグループのファイルがインデックス化されるように、インデックス化され得る。

0060

1つ以上のクライアントデバイス101A−101N及びグループベースコミュニケーションプラットフォーム105の間の電子情報交換の例については、以下で説明される。

0061

1つ以上のクライアントデバイス101A−101Nは、データベースシャード113A−113Nに関連付けられた1つ以上の共有されるコミュニケーションチャンネル生成クエリを生成するよう構成される。「TonyからFrank」の説明から続けると、Tonyは、クライアントデバイス101A(組織Xに関連付けられたグループIDを有する)を使用して、Frankのクライアントデバイス101B(組織Yに関連付けられたグループIDを有する)との外部と共有されるコミュニケーションチャンネルの作成を要求する共有されたコミュニケーションチャンネル生成クエリを生成し得る。組織X及び組織Yは、データベースシャード113A−113Nの別個のシャードとそれぞれ関連付けられている。共有されたコミュニケーションチャンネル生成クエリは、通信ネットワーク103を介してグループベースコミュニケーションプラットフォーム105に送信され得る。

0062

1つ以上の共有されるコミュニケーションチャンネル生成クエリを1つ以上のクライアントデバイス101A−101Nから受信すると、グループベースコミュニケーションプラットフォーム105は、ネットワークアプリケーションサーバ109を利用して、1つ以上の共有されるコミュニケーションチャンネル生成クエリに基づいて、1つ以上のデータベースシャードを生成する。ネットワークアプリケーションサーバ109は、さらに、共有されたコミュニケーションチャンネルIDを1つ以上の生成されたデータベースシャードのそれぞれに割り当て得る。以前の例から続けると、ネットワークアプリケーションサーバ109は、クライアントデバイス101Aを介してTonyによって提供された、共有されたコミュニケーションチャンネル生成クエリに基づいて、データベースシャード113Nを生成し得て、共有されたコミュニケーションチャンネルIDをデータベースシャード113Nと関連付け得る。

0063

1つ以上のデータベースシャードを1つ以上の共有されるコミュニケーションチャンネル生成クエリに基づいて生成した後、グループベースコミュニケーションプラットフォーム105は、1つ以上の共有されるコミュニケーションチャンネル承認要求(acceptance requests)を1つ以上のクライアントデバイス101A−101Nに送信し得る。以前の例から続けると、グループベースコミュニケーションプラットフォーム105は、共有されたコミュニケーションチャンネル承認要求をクライアントデバイス101B(Frank)に送信し得るが、このデバイスは、クライアントデバイス101A(Tony)によって提供された共有されたコミュニケーションチャンネル生成クエリにおいて示されている。

0064

共有されたコミュニケーションチャンネル承認要求を受信すると、1つ以上のクライアントデバイス101A−101Nは、1つ以上の電子許可を生成し得て、これら電子許可をグループベースコミュニケーションプラットフォーム105に送信し得る。以前の例から続けると、Frankは、クライアントデバイス101Bを介して、共有されたコミュニケーションチャンネル承認要求に応答して、電子許可を生成し得る。電子許可は、Tonyによって提供された共有されたコミュニケーションチャンネル生成クエリの、Frankによる承認を示し得る。クライアントデバイス101Bは、さらに、この電子許可をグループベースコミュニケーションプラットフォーム105に送信し得る。

0065

1つ以上の電子許可を1つ以上のクライアントデバイス101A−101Nから受信すると、グループベースコミュニケーションプラットフォーム105は、メインデータベース111に記憶されたシャード参照テーブルを通して、1つ以上のチャンネルIDを1つ以上のクライアントデバイス101A−101Nと関連付ける。以前の例から続けると、電子許可をクライアントデバイス101Bから受信すると、グループベースコミュニケーションプラットフォーム105は、さらに、メインデータベース111に記憶されたシャード参照テーブルを、組織XのID、組織YのID、及びデータベースシャード113Nのような新しく作成されたデータベースシャードの共有されたコミュニケーションチャンネルIDに基づいて更新し得る。

0066

共有されたコミュニケーションチャンネルシャードを生成し、シャード参照テーブルを更新することによって、本発明は、アイデンティティの合体(union of identities)の問題を解決するような、既存のシステムに対する多くの技術的優位性を提供する。上の「Tony-X/Tony-Z」の例から続けると、本発明に基づいて作成される、組織X及び組織Zの間の外部と共有されるコミュニケーションチャンネルは、2つの別々の組織におけるTony-X及びTony-ZというTonyの2つのアイデンティティを両立させる(reconcile)ことができる。シャード参照テーブルを更新する一方で、本発明の実施形態によって構築されたシステムは、例えば、それぞれの組織に関連付けられたデータを検索及び比較することによって、重複ユーザアイデンティティを特定することができる。Tony-X及びTony-Yが同じ個人に関連付けられていると判断すると、本発明の実施形態によって構築されたシステムは、共有されたコミュニケーションチャンネルシャードにおいて、統合されたアイデンティティをTonyに割り当てる。一方、既存のシステムは、共有されたコミュニケーションチャンネルシャードを作成すること、及び/又はシャード参照テーブルを更新することができないので、アイデンティティの合体の問題を解決することができない。

0067

グループベースコミュニケーションプラットフォーム105は、1つ以上の生成されたデータベースシャードのための1つ以上のインタフェースをさらに生成し得て、その1つ以上のインタフェースをクライアントデバイス101A−101Nに送信し得る。前の例から続けると、グループベースコミュニケーションプラットフォーム105は、データベースシャード113Nのためのユーザインタフェースを生成し、そのユーザインタフェースをクライアントデバイス101A及び101Bに送信し得る。ある実施形態では、グループベースコミュニケーションプラットフォーム105は、適切なデータ/インタフェースだけをクライアントデバイス101A及び101Bに送り得て、又はクライアントデバイス101A及び101Bに送る前に、そのデータを取得し及びキャッシュし得て、又はクライアントデバイス101A及び101B上でアプリの一部として使用され得るインタフェースプログラムコンパイルし得る。

0068

ある好ましい非限定的な実施形態では、メインデータベース111に記憶された参照テーブルは、データベースシャード113A−113NのグループID及びデータベースシャードの間の参照関係(referential connections)を示し得る。前の例から続けると、クライアントデバイス101A及び101Cは、共に組織XのIDと関連付けられ得て、シャード参照テーブルは、クライアントデバイス101A−101Bの間のコミュニケーションに関するデータがデータベースシャード113Aに記憶されていることを示し得る。

0069

ある好ましい非限定的な実施形態では、グループベースコミュニケーションプラットフォーム105が1つ以上のクライアントデバイス101A−101Nから1つ以上の電子許可(electronic approval)を受け取る時、グループベースコミュニケーションプラットフォーム105は、新しい参照関係を生成することによって、参照メインデータベース111に記憶されたシャード参照テーブルを更新し得る。例えば、組織X及び組織Yの間の共有されたコミュニケーションチャンネルを作成するための電子許可を受け取った後、グループベースコミュニケーションプラットフォーム105は、組織XのID、組織YのID、及び新しく生成されたデータベースシャードのIDの間の参照関係を示す、シャード参照テーブルを更新し得る。

0070

ある好ましい非限定的な実施形態では、グループベースコミュニケーションプラットフォーム105は、メッセージサーバ107を用いて、外部と共有されるコミュニケーションチャンネルにおける1つ以上のクライアントデバイス101A−101Nから、同じチャンネルにおける他のクライアントデバイスに受け取られた電子メッセージを増幅し(amplify)得る。例えば、メッセージサーバ107は、外部と共有されるコミュニケーションチャンネルに関連して、クライアントデバイス101Aから電子メッセージを受け取り得る。メッセージサーバ107は、ネットワークアプリケーションサーバ109にクエリを送信し(query)得て、一方、ネットワークアプリケーションサーバ109は、メインデータベース111に記憶されたシャード参照テーブルに基づいて、外部と共有されるコミュニケーションチャンネルに関連付けられた1つ以上のクライアントデバイスを特定する。メッセージサーバ107は、それぞれの特定されたクライアントデバイスに電子メッセージをさらに送信し得る。

0071

上述の電子情報交換は、既存のシステムに対して、さまざまな技術的優位性を提供する。例えば、それは、通信ネットワーク103にディスパッチされたメッセージの過負荷を生じることなしに、情報取得及びデータのディスパッチ(dispatch)を可能にする。加えて、通信ネットワーク103のコンフィギュレーションに基づくディスパッチスピードと共に、データのロバスト性は、グループベースコミュニケーションプラットフォーム105に対してメッセージサーバ107又はネットワークアプリケーションサーバ109のいずれかを利用する選択肢を提供する。さらに、データのロバスト性は、外部のアプリケーション(グループベースコミュニケーションプラットフォーム105のために開発された)が、以下にさらに説明されるように、メッセージを発信する(emit)ためにウェブソケット又はRPCAPI(これらはメッセージサーバ107又はネットワークアプリケーションサーバ109をさらに利用し得る)を使用する選択肢を提供する。

0072

本発明の実施形態を実現するための例示的装置
メッセージサーバ107は、図2に示される装置200のような1つ以上の計算システムによって実現され得る。装置200は、プロセッサ202、メモリ204、入力/出力回路206、通信回路208、及びメッセージ増幅器回路210を含み得る。装置200は、図1について上で、及び図4−7について下で説明される操作を実行するよう構成され得る。これら要素202−210は、機能的な限定について記載されているが、具体的な実現例は、特定のハードウェアの使用を必然的に含むことを理解されたい。これらの要素202−210のいくつかは、同様の又は共通のハードウェアも含み得ることも理解されたい。例えば、回路群のうちの2つのセットが同じプロセッサ、ネットワークインタフェース、記憶媒体等の使用を活用することで、それらの関連付けられた機能を実行し、重複するハードウェアが回路群のそれぞれのセットごとには必要がないようにしてもよい。

0073

ある実施形態においては、プロセッサ202(及び/又はコプロセッサ又はプロセッサを補助する又はそうでなければプロセッサに関連付けられた任意の他の処理回路)は、装置の要素の間で情報を受け渡しするためにバスを介してメモリ204と通信し得る。メモリ204は、非一時的であり、例えば1つ以上の揮発性及び/又は不揮発性メモリを含み得る。換言すれば、例えばこのメモリ204は、電子記憶装置(例えばコンピュータ読み取り可能な記憶媒体)であり得る。メモリ204は、この装置が、本発明の例示的実施形態に従ってさまざまな機能を実行できるようにするために、情報、データ、コンテンツ、アプリケーション、命令等を記憶するよう構成され得る。

0074

プロセッサ202は、いくつかの異なるやり方で実現され得て、例えば独立して実行するよう構成された1つ以上の処理装置を含み得る。ある好ましい非限定的な実施形態では、このプロセッサ202は、命令の独立した実行、パイプライン処理、及び/又はマルチスレッディングを可能にするようにバスを介して並列に構成された1つ以上のプロセッサを含み得る。「処理回路」という語の使用は、装置の内部にあるシングルコアプロセッサマルチコアプロセッサマルチプロセッサ、及び/又はリモートつまり「クラウド」プロセッサを含むと理解されよう。

0075

ある好ましい非限定的な実施形態では、プロセッサ202は、メモリ204に記憶された又はそうでなければプロセッサ202にアクセス可能である命令を実行するよう構成され得る。ある好ましい非限定的な実施形態では、このプロセッサ202は、ハードコードされた機能群を実行するよう構成され得る。よってハードウェア又はソフトウェアのいずれの方法によって構成されようとも、又はそれらの組み合わせによって構成されようとも、プロセッサ202は、そのように構成されている間は、本発明の実施形態による操作を実行することができるエンティティ(例えば回路として物理的に実現される)を表し得る。代替として、他の例として、プロセッサ202がソフトウェア命令実行者として実現される時、これら命令は、命令が実行される時に、プロセッサ202がここに記載されたアルゴリズム及び/又は操作を実行するようにプロセッサを具体的に構成し得る。

0076

ある実施形態においては、装置200は、入力/出力回路206を含み得て、これが今度は、出力をユーザに提供するために、またある実施形態では、ユーザ入力の表示を受け取るためにプロセッサ202と通信し得る。入力/出力回路206は、ユーザインタフェースを備え得て、ディスプレイを含み得て、ウェブユーザインタフェース、モバイルアプリケーション、クライアントデバイス、キオスク等を備え得る。ある実施形態では、入力/出力回路206は、キーボード、マウス、ジョイスティックタッチスクリーンタッチエリアソフトキーマイクロホンスピーカ、又は他の入力/出力機構を含み得る。プロセッサを備えるプロセッサ及び/又はユーザインタフェース回路は、プロセッサにアクセス可能であるメモリ(例えばメモリ204及び/又はその他)上に記憶されたコンピュータプログラム命令(例えばソフトウェア及び/又はファームウェア)を通して1つ以上のユーザインタフェース要素の1つ以上の機能を制御するよう構成され得る。

0077

通信回路208は、装置200と通信するネットワーク及び/又は任意の他のデバイス、回路、又はモジュールから/へデータを受信及び/又は送信するよう構成される、ハードウェアか、ハードウェア及びソフトウェアの組み合わせかのいずれかで実現されるデバイス又は回路のような任意の手段であり得る。この点で、通信回路208は、例えば、有線又は無線の通信ネットワークとの通信を可能にするネットワークインタフェースを含み得る。例えば、通信回路208は、1つ以上のネットワークインタフェースカードアンテナ、バス、スイッチ、ルータ、モデム、及びサポートするハードウェア及び/又はソフトウェア、又はネットワークを介した通信を可能にするのに適切な任意の他のデバイスを含み得る。追加として又は代替として、通信回路208は、アンテナ/アンテナ群を介した信号の送信を行うために、又はアンテナ/アンテナ群を介して受け取られた信号の受信を扱うために、アンテナ/アンテナ群と相互作用する回路を含み得る。

0078

メッセージ増幅器回路210は、データベースシャード(群)に基づいて、1つ以上のクライアントデバイスから他のクライアントデバイスに受け取られた電子メッセージ及び関連付けられたメタデータをコピー及び増幅するよう構成されたハードウェアを含む。メッセージ増幅器回路210は、これらアクションを実行するために、プロセッサ202のような処理回路を利用し得る。しかし実施形態によっては、メッセージ増幅器回路210は、ここで記載された機能を実行するための別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイFPGA)、又は特定用途向け集積回路ASIC)を含んでもよいことが理解されるべきである。メッセージ増幅器回路210は、これら計画された機能を実現するためのハードウェア又はソフトウェアのいずれかによって構築された装置のハードウェアコンポーネントを用いて実現され得る。

0079

ここで記載された情報のうちの全部又は一部は、装置200の1つ以上のコンポーネントによって受け取られた、生成された及び/又は維持されたデータに基づき得ることにも注意されたい。ある実施形態では、1つ以上の外部システム(リモートクラウドコンピューティング及び/又はデータストレージシステムのような)が活用されることによって、ここで説明された機能のうちの少なくとも一部を提供し得る。

0080

ネットワークアプリケーションサーバ109は、図3に示される装置300のような1つ以上の計算システムによって実現され得る。装置300は、プロセッサ301、メモリ303、入力/出力回路305、通信回路307、データベース回路309、インタフェース生成回路311、及び参照テーブル生成回路313を含み得る。装置300は、図1について上で説明した操作を実行し、図4−7について下で説明される操作を実行するよう構成され得る。これらコンポーネント301−313は、機能的限定について説明されるが、特定の実現例は、必然的に特定のハードウェアの使用を含むことが理解されるべきである。これらコンポーネント301−313は、同様の又は共通のハードウェアを含み得ることも理解されるべきである。例えば、回路の2つのセットは、同じプロセッサ、ネットワークインタフェース、記憶媒体等の使用を活用してそれらに関連付けられた機能を実行することによって、回路群のそれぞれのセットについて重複するハードウェアが要求されないようにし得る。

0081

ある実施形態では、プロセッサ301(及び/又はコプロセッサ又はプロセッサを補助する又はその他のやり方でプロセッサに関連付けられた任意の他の処理回路)は、装置のコンポーネントの間で情報を流すためにバスを介してメモリ303と通信し得る。メモリ303は、非一時的であり、例えば、1つ以上の揮発性及び/又は不揮発性メモリを含み得る。換言すれば、例えば、メモリ303は、電子記憶装置(例えばコンピュータ読み取り可能な記憶媒体)であり得る。メモリ303は、装置300が本発明の例示的実施形態に従ってさまざまな機能を実行できるようにするために、情報、データ、コンテンツ、アプリケーション、命令等を記憶するよう構成され得る。

0082

プロセッサ301は、いくつかの異なるやり方で実現され得て、例えば、独立して実行するよう構成された1つ以上の処理装置を含み得る。ある好ましい非限定的な実施形態では、プロセッサ301は、命令の独立した実行、パイプライニング、及び/又はマルチスレッディングを可能にするために、バスを介して縦列に構成された1つ以上のプロセッサを含み得る。

0083

ある好ましい非限定的な実施形態では、プロセッサ301は、メモリ303に記憶された又はそうでなければプロセッサにアクセス可能である命令を実行するよう構成され得る。ある好ましい非限定的な実施形態では、プロセッサ301は、ハードコードされた機能を実行するよう構成され得る。よってハードウェア又はソフトウェアのいずれの方法によって構成されようとも、又はそれらの組み合わせによって構成されようとも、プロセッサ301は、そのように構成されている間は、本発明の実施形態による操作を実行することができるエンティティ(例えば回路として物理的に実現される)を表し得る。代替として、他の例として、プロセッサ301がソフトウェア命令の実行者として実現される時、これら命令は、命令が実行される時に、プロセッサがここに記載されたアルゴリズム及び/又は操作を実行するようにプロセッサを具体的に構成し得る。

0084

ある実施形態においては、装置300は、入力/出力回路305を含み得て、これが今度は、出力をユーザに提供するために、またある実施形態では、ユーザ入力の表示を受け取るためにプロセッサ301と通信し得る。入力/出力回路305は、ユーザインタフェースを備え得て、ディスプレイを含み得て、ウェブユーザインタフェース、モバイルアプリケーション、クライアントデバイス、キオスク等を備え得る。ある実施形態では、入力/出力回路305は、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチエリア、ソフトキー、マイクロホン、スピーカ、又は他の入力/出力機構を含み得る。

0085

通信回路307は、装置300と通信するネットワーク及び/又は任意の他のデバイス、回路、又はモジュールから/へデータを受信及び/又は送信するよう構成される、ハードウェアか、ハードウェア及びソフトウェアの組み合わせかのいずれかで実現されるデバイス又は回路のような任意の手段であり得る。この点で、通信回路307は、例えば、有線又は無線の通信ネットワークとの通信を可能にするネットワークインタフェースを含み得る。例えば、通信回路307は、1つ以上のネットワークインタフェースカード、アンテナ、バス、スイッチ、ルータ、モデム、及びサポートするハードウェア及び/又はソフトウェア、又はネットワークを介した通信を可能にするのに適切な任意の他のデバイスを含み得る。追加として又は代替として、通信回路307は、アンテナ/アンテナ群を介した信号の送信を行うために、又はアンテナ/アンテナ群を介して受け取られた信号の受信を扱うために、アンテナ/アンテナ群と相互作用する回路を含み得る。

0086

データベース回路309は、データベースシャード113A−113N及びメインデータベース111を含む1つ以上のネットワークデータベースを管理するよう構成されたハードウェアを含む。データベース回路309は、これらのアクションを実行するためにプロセッサ301のような処理回路を利用し得る。データベース回路309は、インタフェース生成回路311及び参照テーブル生成回路313にデータを送信し得る。ある好ましい非限定的な実施形態では、送信されたデータは、1つ以上のデータベースシャード113A−113Nに関連付けられ得る。

0087

ある実施形態では、データベース回路309は、別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含み得る。ある実現例では、以下に説明される参照テーブル生成回路313及びインタフェース生成回路311は、データベース回路309に属するサブ回路であり得る。データベース回路309は、ここで説明される機能を実現するハードウェア又はソフトウェアのいずれかによって構成される装置のハードウェアコンポーネントを用いて実現され得る。

0088

参照テーブル生成回路313は、メインデータベース111に記憶されたシャード参照テーブルを生成及び更新するよう構成されたハードウェアを含む。参照テーブル生成回路313は、これらアクションを実行するためにプロセッサ301のような処理回路を利用し得る。しかし、ある実施形態では、参照テーブル生成回路313は、ここで説明される機能を実行するための別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含み得ることも理解されなければならない。参照テーブル生成回路313は、これら計画された機能を実現するハードウェア又はソフトウェアのいずれかによって構成される装置のハードウェアコンポーネントを用いて実現され得る。

0089

インタフェース生成回路311は、クライアントデバイス101A−101Nのためのコミュニケーションチャンネルインタフェースを生成するよう構成されたハードウェアを含む。インタフェース生成回路311は、これらアクションを実行するためにプロセッサ301のような処理回路を利用し得る。しかし、ある実施形態では、インタフェース生成回路311は、ここで説明される機能を実行するための別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含み得ることも理解されなければならない。インタフェース生成回路311は、これら計画された機能を実現するハードウェア又はソフトウェアのいずれかによって構成される装置のハードウェアコンポーネントを用いて実現され得る。

0090

ここで説明される情報の全て又は一部は、装置300の1つ以上のコンポーネントによって受け取られる、生成される、及び/又は維持されるデータに基づき得ることにも注意されたい。ある実施形態では、ここで説明される機能の少なくとも一部を提供するために、1つ以上の外部システム(リモートクラウド計算及び/又はデータ記憶システムのような)も活用され得る。

0091

「回路」という語は、ハードウェア、及び実施形態によっては、そのハードウェアを設定するためのソフトウェアを含むように広く理解されるべきである。装置のコンポーネントについて、ここで用いられる「回路」という語は、したがって、ここで説明される特定の回路に関連付けられた機能を実行するように構成された特定のハードウェアを含むように理解されるべきである。例えば、ある実施形態によっては、「回路」は、処理回路、記憶媒体、ネットワークインタフェース、入力/出力装置等を含み得る。ある実施形態では、装置200の他の要素は、特定の回路の機能を提供又は補完し得る。例えば、プロセッサ202は、処理機能を提供し得て、メモリ204は、記憶機能を提供し得て、通信回路208は、ネットワークインタフェース機能を提供し得る等である。同様に、装置300の他の要素は、特定の回路の機能を提供又は補充し得る。例えば、プロセッサ301は、処理機能を提供し得て、メモリ303は、記憶機能を提供し得て、通信回路307は、ネットワークインタフェース機能を提供し得る等である。

0092

理解されるように、任意のそのようなコンピュータプログラム命令及び/又は他のタイプのコードは、コンピュータ、プロセッサ、又は他のプログラム可能な装置の回路の上にロードされることによって機械を作り得て、それによってそのコードを当該機械上で実行するコンピュータ、プロセッサ、又は他のプログラム可能な回路が、ここで説明されるものを含むさまざまな機能を実現する手段を作る。

0093

上に説明されたように、及び本開示に基づいて理解されるように、本発明の実施形態は、方法、モバイルデバイス、バックエンドネットワークデバイス等として構成され得る。したがって実施形態は、ハードウェアだけを含む、又はソフトウェア及びハードウェアの任意の組み合わせを含むさまざまな手段を備え得る。さらに、実施形態は、記憶媒体内に実現されたコンピュータ読み取り可能なプログラム命令(例えばコンピュータソフトウェア)を有する、少なくとも1つの非一時的コンピュータ読み取り可能な記憶媒体上のコンピュータプログラム製品の形態をとり得る。任意の適切なコンピュータ読み取り可能な記憶媒体は、非一時的ハードディスクCD−ROMフラッシュメモリ光学記憶デバイス、又は磁気記憶デバイスを含むようにして利用され得る。

0094

外部と共有されるコミュニケーションチャンネルを生成する例示的データフロー
図4,5,6,及び7は、共有されたコミュニケーションチャンネル生成クエリのイニシエータ及びターゲットがグループの管理者であるかに基づいて、外部と共有されるコミュニケーションチャンネルを生成することにおける、1つ以上のクライアントデバイス101A−101N及びグループベースコミュニケーションプラットフォーム105の間のさまざまな相互作用を示す。

0095

「管理者」という語は、コミュニケーションチャンネルを管理し、さまざまなメンテナンスタスクに関して他のサブスクライバの代わりに決断を行う権限を有するコミュニケーションチャンネルのサブスクライバを表す。例えば、グループ管理者は、そのコミュニケーションチャンネルを「パブリック」又は「プライベート」のいずれかに設定する権限を有し得る。他の例として、外部と共有されるコミュニケーションチャンネルを作る要求を受け取る時、グループ管理者だけが、そのグループの代わりにその要求を承認する権限を有する。ある実施形態では、システムは、そのユーザがグループのメンバであるかを示すために、ユーザに関連付けられたデータに対してフラグを用いる。

0096

図4を参照すると、プロセス400は、グループAの非管理者が共有されたコミュニケーションチャンネルを作る要求をグループBの非管理者をターゲットとして送信するときに、外部と共有されるコミュニケーションチャンネルを生成する例示的プロセスを示す。

0097

プロセス400は、ステップ402において開始し、ここでグループAの非管理者は、外部と共有されるコミュニケーションチャンネルを作る要求を送信する。ステップ404において、システムは、グループAの非管理者のための招待を自動的に作成し、その招待をグループBの非管理者と共有する。ここで、招待は、外部と共有されるコミュニケーションチャンネルを作成する要求の電子表示である。例えば、招待は、要求の詳細を含むウェブページへリンクするユニフォームリソースロケータ(URL)の形態を取り得る。ある実施形態では、このURLは、URLリンクが送信されてから所定の時間量が経過した後で、無効になり得る。例えば、ユーザは、そのURLが送信から24時間後に無効になるよう設定し得る。

0098

ステップ406において、グループBの非管理者は招待を受け取る。ステップ408において、グループBの非管理者は、チャンネルを追加するかについての初期決定を行う。もしグループBの非管理者がチャンネルを追加しないと決定するなら、ステップ410においてグループAの非管理者は、要求が拒否されたという電子表示を受け取る。

0099

もしグループBの非管理者がチャンネルを追加すると決定するなら、システムは、外部と共有されるコミュニケーションチャンネルを作成する要求を、それぞれステップ412及び414においてグループAの管理者及びグループBの管理者に自動的に転送する。もしステップ416においてグループAの管理者が要求を承認しないなら、ステップ420においてグループA及びグループBの非管理者は、要求が拒否されたという電子表示を受け取る。同様に、ステップ418において、もしグループBの管理者がその要求を承認しないなら、ステップ420においてグループA及びグループBの非管理者は、要求が拒否されたという電子表示を受け取る。

0100

グループAの管理者及びグループBの管理者の両方が要求を承認するときは、システムは、ステップ422における、外部と共有されるコミュニケーションチャンネルの作成に進む。

0101

図5をここで参照して、プロセス500は、グループAの非管理者が、共有されたコミュニケーションチャンネルを作成する要求をグループBの管理者をターゲットとして送信するときの、外部と共有されるコミュニケーションチャンネルを作成する例示的プロセスを示す。

0102

プロセス500は、ステップ501において開始し、ここでグループAの非管理者は、外部と共有されるコミュニケーションチャンネルを作成する要求を送信する。システムは、ステップ503において、グループAの非管理者のための招待を自動的に作成し、その招待をグループBの管理者と共有する。

0103

グループBの管理者と招待を共有すると、ステップ505において、システムは、承認のための要求を自動的に生成する。それからグループBの管理者は、ステップ507において、外部と共有されるコミュニケーションチャンネルを作成する要求を承認するかを決定する。もしグループBの管理者が要求を承認しないなら、ステップ509において、グループAの非管理者は、要求が拒否された電子表示を受け取る。

0104

もしグループBの管理者が要求を承認するなら、ステップ511において、システムは、要求をグループAの管理者に自動的に転送する。もしグループAの管理者がステップ513において要求を承認しないなら、ステップ515において、グループBの管理者及び非管理者の両方が、要求が拒否されたという電子表示を受け取る。

0105

もしグループAの管理者がステップ513において要求を承認するなら、システムは、ステップ517において、外部と共有されるコミュニケーションチャンネルの作成に進む。

0106

ここで図6を参照すると、プロセス600は、グループAの管理者が共有されたコミュニケーションチャンネルを作成する要求を、グループBの非管理者をターゲットとして送信するときに、外部と共有されるコミュニケーションチャンネルを生成する例示的プロセスを示す。

0107

プロセス600は、ステップ602で開始し、ここでグループAの管理者は、外部と共有されるコミュニケーションチャンネルを作成する要求を送信する。システムは、ステップ604において、グループAの管理者への招待を自動で作成し、この招待をグループBの非管理者と共有する。

0108

グループBの非管理者は、ステップ606において招待を受け取る。ステップ608において、グループBの非管理者は、チャンネルを追加するかについての初期決定を行う。もしグループBの非管理者がチャンネルを追加しないと決定するなら、グループAの管理者は、ステップ610において、要求が拒否されたという電子表示を受け取る。

0109

もしグループBの非管理者がチャンネルを追加することを決定するなら、システムは、外部と共有されるコミュニケーションチャンネルを作成する要求を、グループAの管理者及びグループBの管理者にそれぞれステップ612及び614で自動的に転送する。もしグループAの管理者がステップ616において要求を承認しないと決定するなら、グループBの非管理者は、ステップ620において、要求が拒否されたという電子表示を受け取る。同様に、もしグループBの管理者がステップ618において要求を承認しないなら、グループBの非管理者は、ステップ620において要求が拒否されたという電子表示を受け取る。

0110

グループAの管理者及びグループBの管理者の両方が要求を承認するとき、システムは、ステップ622において、外部と共有されるコミュニケーションチャンネルの作成に進む。

0111

ここで図7を参照すると、プロセス700は、グループAの管理者が、共有されるコミュニケーションチャンネルを作成する要求を、グループBの管理者をターゲットとして送信するときの、外部と共有されるコミュニケーションチャンネルを生成する例示的プロセスを示す。

0112

プロセス700は、ステップ701で開始し、ここでグループAの管理者は、外部と共有されるコミュニケーションチャンネルを作成する要求を送信する。システムは、ステップ703において、グループAの管理者に対する招待を自動的に作成し、この招待をグループBの管理者と共有する。

0113

グループBの管理者と招待を共有すると、システムは、ステップ705において、承認の要求を自動的に生成する。グループBの管理者は、ステップ707において、外部と共有されるコミュニケーションチャンネルを作成する要求を承認するかをそれから決定する。もしグループBの管理者が要求を承認しないなら、グループAの管理者は、ステップ709において、要求が拒否されたという電子表示を受け取る。

0114

もしグループBの管理者が要求を承認するなら、システムは、ステップ711において、要求をグループAの管理者に自動的に転送する。もしグループAの管理者がステップ713において要求を承認しないなら、グループBの管理者は、ステップ715において、要求が拒否されたという電子表示を受け取る。もしグループAの管理者が要求を承認するなら、システムは、ステップ717において、外部と共有されるコミュニケーションチャンネルの作成へと進む。

0115

外部と共有されるコミュニケーションチャンネルについての例示的実現例
図8A、8B、8C、及び8Dは、本発明のある実施形態に従った例示的コミュニケーションチャンネルインタフェースのさまざまな要素を示す。

0116

ここで図8Aを参照すると、例示的コミュニケーションチャンネルインタフェース800Aが示される。コミュニケーションチャンネルインタフェース800Aは、ユーザ名ボックス802を含み、これは、コミュニケーションチャンネルインタフェース800Aに関連付けられた現在のユーザアカウントを示す。

0117

コミュニケーションチャンネルインタフェース800Aは、チャンネルリストペインも含み得て、これは外部と共有されるコミュニケーションチャンネルリストサブペイン804を含み得る。外部と共有されるコミュニケーションチャンネルリストサブペイン804は、ユーザが素早く簡単に、ユーザがサブスクライブしている全ての外部と共有されるコミュニケーションチャンネルをナビゲートできるようにする。例えば、図8Aに示されるように、ユーザTonyは、外部と共有されるコミュニケーションチャンネルC1、C2、C3、及びC4をサブスクライブしており、これらは、それぞれのチャンネル名の右にある重なる正方形シンボルによって示されている。それぞれのグループは、外部と共有されるコミュニケーションチャンネルリストサブペイン804における外部と共有されるコミュニケーションチャンネルの名前についてその基本設定を設定し得る。

0118

コミュニケーションチャンネルインタフェース800Aのチャンネルリストペインは、内部で共有されるコミュニケーションチャンネルリストサブペイン806をさらに含み得て、これは、ユーザがサブスクライブしている全ての内部で共有されるコミュニケーションチャンネルをリストにする。外部と共有されるコミュニケーションチャンネルリストサブペイン804でリストされているものとは対照的に、内部で共有されるコミュニケーションチャンネルリストサブペイン806中の全てのチャンネルは、その同じグループ又は組織内の他のユーザと共有される。

0119

外部と共有されるコミュニケーションチャンネルリストサブペイン804又は内部で共有されるコミュニケーションチャンネルリストサブペイン806におけるチャンネルは、プライベートチャンネル又はパブリックチャンネルであり得る。チャンネルの状態は、チャンネル名の左にあるアイコンによって示され得る。例えば、図8Aの内部で共有されるコミュニケーションチャンネルリストサブペイン806に示されるように、チャンネルC5及びC6は、その名前の隣にシャーマークをそれぞれ有し、これは、それらがパブリックチャンネルであることを示し、チャンネルC7及びC8は、その名前の隣に鍵マークをそれぞれ有し、これは、それらがプライベートチャンネルであることを示す。

0120

コミュニケーションチャンネルインタフェース800Aは、チャンネルタイトルボックス810及びダイレクトメッセージペイン808をさらに含む。ダイレクトメッセージペイン808は、ユーザとして同じチャンネルを共有する全てのメンバをリストにする。例えば、図8Aのダイレクトメッセージペイン808に示されるように、ユーザは、同じチャンネルC1をユーザとして共有するBeth又はCarlにダイレクトメッセージを送信し得る。ダイレクトメッセージペイン808に関連して、コミュニケーションチャンネルインタフェース800Aは、フレックスペイン816をさらに含み得て、これは、グループのメンバディレクトリのような情報を表示し得る。メンバディレクトリは、フレックスペイン816を通じて、ブラウズ時に表示可能であり、検索可能であり、かつフィルタ可能であり得る。

0121

ある実施形態では、メンバディレクトリの表示は、保存設定に基づいて決定され得る。保存設定は、どのアプリケーションがそのチャンネルにインストールされるか、どのフィーチャーがそのチャンネルについてイネーブルされるか、及びどのユーザがチャンネルを制御することを許可されるかについての他の基本設定をさらに決定し得る。

0122

加えて、コミュニケーションチャンネルインタフェース800Aは、チャンネルメッセージングペイン812を含み、これは、そのコミュニケーションチャンネルに関連付けられたテキスト、画像、及び他の履歴データを表示する。ある実施形態では、履歴データは、ユーザがチャンネルに参加又は退出する時、アプリケーションがインストールされ又はチャンネルから除去される時のようなメンバーシップに対する変更を含み得る。

0123

ある実施形態では、チャンネルメッセージングペイン812における、あるコンテンツの閲覧特権設定(viewing privilege settings)(すなわち、だれがこれらコンテンツを見てもよいか)は、そのユーザに特定のものであり得て、パブリックビューからは隠される。例えば、ユーザが、アプリケーション又はボットとプライベートに相互作用するコマンドを用いるとき、そのようなアクティビティは、パブリックによる閲覧からは隠され得る。ユーザは、そのようなアクティビティがパブリック(public)によって閲覧可能である(viewable)ようにも選択し得る。

0124

ある実施形態では、閲覧特権設定は、チーム及び/又はそのチームにインストールされたアプリケーションに特定のものであり得る。例えば、組織XからのTonyがコマンドを使いたいとき、そのコマンドメニューは、組織Xにインストールされているアプリケーションからのコマンドだけを見せる。

0125

ユーザは、チャンネル入力ボックス814を用いて、コミュニケーションチャンネルに寄与し得て、これは、チャンネルメッセージングペイン812に表示される。チャンネル入力ボックス814は、オートコンプリート機能を提供し得て、これは、チャンネル入力ボックス814は、チャンネル入力ボックス814におけるユーザ名、チャンネル名、及びユーザタイプのような他の情報を自動的に認識する。ある実施形態では、オートコンプリートボットは、アプリケーションの名前も認識し得て、他のボットは、チャンネルとさらに相互作用をし得る。チャンネル入力ボックス814は、ユーザが外部と共有されるコミュニケーションチャンネルの中にいるときに、彼又は彼投稿したいかなる情報も他のグループ又は組織のメンバによって閲覧され得ることをユーザに対して警告するメッセージ入力警告も提供し得る。図8Bをここで参照して、例示的ユーザアイコン800Bが示される。ユーザアイコン800Bは、ユーザアバター801及びグループアイコン803を含み得る。ユーザアバター801は、ユーザのアイデンティティを示し得て、グループアイコン803は、ユーザが関連付けられているグループを示し得る。ある好ましい非限定的な実施形態では、ユーザアバター801は、72画素×72画素のサイズで、4画素の丸コーナーを有し得る。グループアイコン803は、22画素×22画素のサイズで、4画素の丸コーナー、1画素の内側ボーダー、及び3画素の外側ボーダーを有し得る。

0126

図8Cをここで参照して、例示的コミュニケーションチャンネルインタフェース800Cが示される。コミュニケーションチャンネルインタフェース800Cは、グループメンバプロフィールカード818を含み得て、これは、グループメンバのプロフィール写真820、グループIDボックス822及び機能ボタン824をさらに含み得る。グループIDボックス822は、グループメンバが関連付けられているグループの名前のような情報を含み得る。機能ボタン824は、ダイレクトメッセージをグループメンバに送信するような、ユーザがさまざまな機能を実行することを可能にし得る。

0127

図8Dをここで参照して、ユーザインタフェース800Dは、グループメンバとのダイレクトメッセージングのための例示的インタフェースを示す。ユーザインタフェース800Dは、メンバ名ボックス810’を含み得て、これは、そのユーザがダイレクトメッセージングをしているグループメンバの名前を示す。コミュニケーションペイン812’は、ユーザとグループメンバとの間のダイレクトメッセージング履歴を示す。ユーザインタフェース800Dは、ダイレクトメッセージプロフィールペイン826をさらに含み得て、これは、ユーザ情報セクション828及び関連する情報セクション830を含み得る。ダイレクトメッセージプロフィールペイン826は、ユーザが、ユーザがダイレクトメッセージングをしているグループメンバについての基本情報を素早く容易に認識できるようにする。

0128

本発明の実施形態を実現する例示的アプリケーションプログラミングインタフェース(API)設計
ある実施形態では、本発明の実施形態に従って構成されたシステムは、外部と共有されるコミュニケーションチャンネルにおけるアプリケーション及びボットの構成可能性(configurability)を実現するアプリケーションプログラミングインタフェース(API)を提供し得る。

0129

既存のシステムは、技術的制限に悩まされている。例えば、ある既存のシステムは、外部と共有されるコミュニケーションチャンネルにおけるメンバチームをロールアップする(roll up)ことができず、一方で他のシステムは、グループベースコミュニケーションチャンネルが同じシャードに記憶されていないユーザにはイベントを発信(emit)できない。

0130

本発明のさまざまな実施形態は、既存のシステムに対する技術的改良を提供する。上述のように、共有されたコミュニケーションチャンネルシャードは、外部と共有されるコミュニケーションチャンネルに関連付けられたデータを記憶するよう生成され得る。本発明のある実施形態では、イベントサブスクリプションテーブル(例えば「event_subscriptions_types」)が共有されたコミュニケーションチャンネルシャードに記憶され得る。イベントサブスクリプションテーブルは、イベントを外部と共有されるコミュニケーションチャンネルにおけるメンバに発信するかに関する情報を記憶する。上述の技術的困難を解決するために、イベントサブスクリプションテーブルは、「resource_id」カラム及び「resource_type」カラムを含むように更新され得る。「resource_id」カラムは、リソース(例えばイベント)のIDを記憶し、「resource_type」カラムは、リソースのタイプ(例えばそのグループベースコミュニケーションチャンネルが異なるシャードに記憶されているチームによって、イベントがサブスクライブされているか)を特定する。これら2つのカラムを利用することによって、本発明の実施形態は、グループベースコミュニケーションチャンネルにインストールされたアプリケーションのための連結されたイベントレジストレーション情報をどこにどのように記憶するの問題を解決する。「TonyからFrank」の例から続けると、外部と共有されるコミュニケーションチャンネルは、「resource_type」カラム及び「resource_id」カラムを利用して、組織X及び/又は組織Yが特定のリソース(すなわちイベント)をサブスクライブしているかに関する情報を記憶し得る。

0131

下のプログラミングコードは、「resrouce_type」及び「resrouce_id」カラムを含むように「event_subscriptions_types」テーブルを変更することを提供する。
ALTERTABLEevent_subscriptions_types ADDCOLUMN resource_type varchar(25) NOTNULLAFTER team_id
ALTER TABLE event_subscriptions_types ADD COLUMN resource_id bigint(20) UNSIGNED NOT NULL AFTER resource_type
ALTER TABLE event_subscriptions_types ADD COLUMN ext_team_id bigint(20) UNSIGNED NOT NULL AFTER team_id
ALTER TABLE event_subscriptions_types DROP PRIMARYKEY, ADD PRIMARY KEY event_subscription_id, team_id, event_type, resource_type, resource_id)
本発明のある実施形態では、「channel_id」カラム及び「event_subscription_id」カラムは、「event_subscriptions_types」テーブルに追加され得る。「channel_id」カラムは、グループベースコミュニケーションチャンネルを特定し、「event_subscription_id」は、それぞれのグループベースコミュニケーションチャンネルがサブスクライブされているイベントを特定する。「TonyからFrank」の例から続けると、「channel_id」カラム及び「event_subscription_id」カラムは、組織X及び組織Yのそれぞれがどのイベントにサブスクライブしているかに関する情報を記憶する。

0132

さらに、本発明のある実施形態は、「event_subscriptions_ext_shared」のような共有されたコミュニケーションチャンネルシャード内に新しいテーブルも作成することによって、それぞれのチームについてのイベントサブスクリプション情報を別個に記憶し得る。下のプログラミングコードは、「event_subscriptions_ext_shared」テーブルの作成を行う。
CREATETABLE‘event_subscriptions_ext_shared’ (
‘subscription_team_id’ bigint(20) UNSIGNED NOTNULL,
‘channel_id’ bigint(20) UNSIGNED NOT NULL,
‘api_app_id’ bigint(20) UNSIGNED NOT NULL,
‘event_type’ varchar(255) NOT NULL
PRIMARYKEY (‘subscription_t_team_id’, ‘channel_id’, ‘event_type’)
) ENGINE=InnoDB DEFAULTCHARSET=utf8mb4;
追加の実装の詳細
例示的処理システムは図2及び3において記載されてきたが、ここで記載されている本主題及び機能的動作の実装は、本明細書において開示された構造及びそれらの構造的等価物を含む、他のタイプのデジタル電子回路において、又はコンピュータソフトウェア、ファームウェア、又はハードウェアにおいて、又はそれらの1つ以上の組合せにおいて、実現化され得る。

0133

ここで記載された主題の実施形態及び動作は、本明細書において開示された構造及びそれらの構造的等価物を含む、デジタル電子回路において、又はコンピュータソフトウェア、ファームウェア、又はハードウェアにおいて、又はそれらの1つ以上の組合せにおいて、実現化され得る。ここで記載された主題の実施形態は、情報/データ処理装置による実行のために、又は情報/データ処理装置の動作を制御するために、コンピュータ読み取り可能な記憶媒体上にエンコードされた、1つ以上のコンピュータプログラム、すなわちコンピュータプログラム命令の1つ以上のモジュールとして実現化され得る。代替として、又は追加として、プログラム命令は、人工的に生成され搬送される信号、例えば機械生成された電気的、光学的、又は電磁的信号の上にエンコードされ得て、そのような信号は、情報/データ処理装置による実行のために適切な受信機装置への送信のために情報/データをエンコードするために生成されている。コンピュータ読み取り可能な記憶媒体は、コンピュータ読み取り可能な記憶装置、コンピュータ読み取り可能な記憶基板ランダム又はシリアルアクセスメモリアレイ又はデバイス、又はそれらの1つ以上の組合せであり得るか、又はそれらに含まれ得る。さらに、コンピュータ読み取り可能な記憶媒体は、搬送される信号ではない一方で、コンピュータ読み取り可能な記憶媒体は、人工的に生成された搬送される信号中にエンコードされたコンピュータプログラム命令のソース又は宛先であり得る。コンピュータ読み取り可能な記憶媒体は、1つ以上の別個の物理的要素又は媒体(例えば複数のCD、ディスク、又は他の記憶装置)であり得て、又はそれに含まれ得る。

0134

ここで記載された動作は、1つ以上のコンピュータ読み取り可能な記憶装置上に記憶された、又は他のソースから受信された情報/データに対して、情報/データ処理装置によって実行される動作として実現化され得る。

0135

「データ処理装置」という語は、例示として、プログラム可能なプロセッサ、コンピュータ、システムオンチップ、又は複数のプロセッサ、又は前記の組合せを含む、データを処理する全ての種類の装置、デバイス、及び機械を包含する。装置は、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)のような専用の論理回路を含み得る。この装置は、ハードウェアに加えて、対象となるコンピュータプログラムのための実行環境を作るコード、例えば、プロセッサのファームウェア、プロトコルスタックデータベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境仮想機械、又はこれらの1つ以上の組合せも含み得る。この装置及び実行環境は、ウェブサービス、分散化コンピューティング、及びグリッドコンピューティングインフラストラクチャのような、さまざまな異なるコンピューティングモデルインフラストラクチャを実現し得る。

0136

コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られている)は、コンパイラ型言語又はインタープリタ型言語、宣言型言語又は手続き型言語、を含む任意の形態のプログラミング言語で記述され得て、それは、スタンドアローンプログラムとして、又はモジュール、要素、サブルーチン、オブジェクト、又はコンピューティング環境における使用に適した他のユニットとしてのものを含む任意の形態に展開され得る。コンピュータプログラムは、そうである必要はないが、ファイルシステム中のファイルに対応してもよい。プログラムは、他のプログラム又は情報/データを保持するファイルの一部の中に(例えば、マークアップ言語文書内に記憶された1つ以上のスクリプト)、当該プログラムの専用の単一のファイルの中に、又は複数の連携されたファイルの中に(例えば、1つ以上のモジュール、サブプログラム、又はコードの一部を記憶するファイル群)記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイトに位置する又は複数のサイトにわたって分散化され通信ネットワークによって相互接続されている複数のコンピュータ群上で、実行されるように展開され得る。

0137

ここで記載されている処理及びロジックフローは、入力情報/データに対して操作を行い、出力を生成することによって、アクションを実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行され得る。コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び特定用途向けの両方のマイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、リードオンリーメモリ又はランダムアクセスメモリ又はそれら両方から命令及び情報/データを受け取る。コンピュータの本質的な要素は、命令に従ってアクションを実行するプロセッサ、及び命令及びデータを記憶する1つ以上のメモリデバイスである。一般に、コンピュータは、情報/データをそれから受け取る、又は情報/データをそれに転送する、又はそれら両方を行う、データを記憶する1つ以上のマスストレージデバイス、例えば、磁気的、磁気光学的ディスク、又は光学ディスクも含むか、又はそれに動作可能に結合される。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及び情報/データを記憶するのに適するデバイスは、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイス磁気ディスク、例えば、内部ハードディスク又は取り外し可能なディスク、磁気光学ディスク、及びCD ROM及びDVD−ROMディスクを含む、全ての形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、特定用途向け論理回路によって補足され得て、又は、特定用途向け論理回路の中に組み込まれ得る。

0138

ユーザとの相互作用を提供するために、ここで記載された主題の実施形態は、情報/データをユーザに表示するディスプレイデバイス、例えばCRT陰極線管)又はLCD(液晶ディスプレイモニタ及びキーボード及びポインティングデバイス、例えばマウス又はトラックボールを有するコンピュータ上で実現化され得て、キーボード及びポインティングデバイスは、ユーザがコンピュータに入力を提供し得る。ユーザとの相互作用を提供するために他の種類のデバイスも用いられ得て、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック、例えば、視覚的フィードバック聴覚的フィードバック、又は触覚的フィードバックであり得て、ユーザからの入力は、音響、音声、又は触覚の入力を含む任意の形態で受け取られ得る。加えて、コンピュータは、ユーザによって用いられるデバイスへ文書を送り、及びそのようなデバイスから文書を受け取ることによって、ユーザと相互作用をし得る。例えば、ウェブブラウザから受け取られた要求に応答して、ウェブページをユーザのクライアントデバイス上のウェブブラウザに送信することによって、ユーザと相互作用をし得る。

0139

ここで記載された主題の実施形態は、バックエンドのコンポーネントを、例えば情報/データサーバとして含む、又はミドルウェアコンポーネントを含むサーバ、例えばアプリケーションサーバ、又はフロントエンドコンポーネント、例えばそれによってここで開示された主題の実現化によってユーザが相互作用できるグラフィカルユーザインタフェース又はウェブブラウザを有するクライアントデバイスを含む、又は1つ以上のそのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実現され得る。システムのコンポーネントは、デジタル情報/データ通信の任意の形態又は媒体、例えば通信ネットワークによって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)及びワイドエリアネットワーク(「WAN」)、インターネットワーク(例えばインターネット)、及びピアツーピアネットワーク(例えばアドホックピアツーピアネットワーク)が含まれる。

0140

コンピューティングシステムは、クライアント及びサーバを含み得る。クライアント及びサーバは、一般に互いに離れており、典型的には通信ネットワークを通して相互作用する。クライアント及びサーバの関係は、それぞれのコンピュータ上で走るコンピュータプログラムによって、及び互いにクライアント・サーバ関係を有することによって、生じる。ある実施形態では、サーバは、情報/データ(例えばHTMLページ)をクライアントデバイスに送信する(例えばクライアントデバイスで情報/データを表示し、かつユーザの相互作用からユーザ入力を受け取るために)。クライアントデバイスにおいて生成された情報/データ(例えばユーザの相互作用の結果)は、クライアントデバイスからサーバにおいて受け取られ得る。

0141

本明細書は、多くの具体的な実現例についての詳細を含むが、これらは、任意の本発明の、又はクレームされ得る内容の範囲に対する限定として解釈されるべきではなく、むしろ特定の本発明の特定の実施形態に特有の特徴についての記載として解釈されるべきである。別個の実施形態群文脈においてここで記載されているある特徴群は、単一の実施形態において組み合わせられて実現され得る。逆に、単一の実施形態の文脈で記載されているさまざまな特徴は、複数の実施形態において別個に、又は任意の適切なサブコンビネーションにおいて実現されてもよい。さらに、特徴は、ある組合せで機能するとして上では記載され、出願当初においてはそのようにクレームされてさえいるが、クレームされた組合せからの1つ以上の特徴は、場合によっては、その組合せから削除され得て、クレームされた組合せは、サブコンビネーション又はサブコンビネーションの変化形に関するものであり得る。

0142

同様に、操作は、特定の順序で図面において示されているが、これは、そうではないと記載されない限り、所望の結果を達成するために、そのような操作が示された特定の順序で、又は順次的なやり方で実行されること、又は全ての図示された操作が実行されることを要求するものとしては理解されるべきではない。ある状況においては、マルチタスキング及びパラレル処理が優位性を持ち得る。さらに上で記載された実施形態におけるさまざまなシステムコンポーネントの分離は、そのような分離を全ての実施形態において要求するものとしては理解されるべきではなく、記載されたプログラムコンポーネント及びシステムは、一般に、単一のソフトウェアプロダクトに互いに統合され、又は複数のソフトウェアプロダクトにパッケージングされ得ることが理解されるべきである。

0143

よって、本主題の特定の実施形態が記載されてきた。他の実施形態も以下の請求項の範囲内である。場合によっては、請求項中で記載されたアクションは、異なる順序で実行され得るが、依然として、所望の結果を達成し得る。加えて、添付の図で示されたプロセスは、そうではないと記載されない限り、所望の結果を得るためには、示された特定の順序、又は順次的なやり方であることを必ずしも要求しない。ある実施形態では、マルチタスキング及びパラレル処理が優位性を用い得る。

0144

結論
多くの改変及び他の実施形態には、本発明が関連する技術における当業者なら、前述の記載及び関連する図面において提示された教示を利用し、想到することができよう。したがって、本発明は、開示された特定の実施形態に限定されるべきではなく、改変及び他の実施形態は、添付の特許請求の範囲の範囲内に含まれるよう意図されていると理解されるべきである。ここでは特定の語が採用されているが、そうではないと記載されない限り、それらは一般的な叙述的な意味で用いられているのに過ぎず、限定を目的としたものではない。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 株式会社RichTableの「 情報処理システム」が 公開されました。( 2020/12/17)

    【課題】相手に必要以上の個人情報を伝える必要のない、特定多数の間で一時的に開設されるトークルームを提供可能な情報処理システムを提供する。【解決手段】情報処理システムは、複数の情報処理端末と、特定のUR... 詳細

  • 株式会社リコーの「 情報処理システム、情報処理装置、プログラム及び表示情報選択方法」が 公開されました。( 2020/12/17)

    【課題】一台以上の画面共有端末に入力された情報のうち、他の画面共有端末に配信する情報の選択を、管理端末から受け付けることが可能な情報処理システムを提供することを課題とする。【解決手段】複数の画面共有端... 詳細

  • 株式会社野村総合研究所の「 サーバ」が 公開されました。( 2020/11/12)

    【課題】仮想デスクトップ環境で第三者が提供するデータを分析することを可能とする。【解決手段】サーバは、少なくともひとつの提供体から預かったデータを利用者に利用させるサービスを提供するためのサーバであっ... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ