[様々な実施形態の詳細な説明]
添付の図面を参照して以下により全体的に本開示の様々な実施形態を説明する。これらの図面には、本開示の幾つかの実施形態が示されているが、全ての実施形態が示されているわけではない。実際、本開示は多くの異なる形態で具現化されうるものであり、本明細書に記載される実施形態に限定されるものと解釈されるべきではない。むしろ、これらの実施形態は、本開示が適用される法的要件を満たすように提供される。別段の指示がない限り、「または(or)」なる用語は、本明細書において選択的および接続的な意味の両方に用いられる。「図示的(illustrative)」、「例示的(example)」、および「例示的(exemplary)」なる用語は、質的水準を示さない例とするために用いられる。同様の参照番号は全体を通して同一の要素を指す。
「備える(comprising)」なる用語は、「含むが、これに限定されない(including but not limited to)」を意味し、特許の文脈で典型的に用いられるように解釈されるべきである。「備える(comprise)」、「含む(include)」、および「有する(having)等のより広義の用語の使用は、「からなる(consisting of)」、「から本質的になる(consisting essentially of)」、および「から実質的に構成される(comprised substantially of)」等のより狭義の用語のサポートをなすものと理解されるべきである。
「一実施形態では(in one embodiment)」、「一実施形態によれば(according to one embodiment)」、「幾つかの例では(in some examples)」、「例えば(for example)」等の文言は、その文言に続く特定の構成、構造、または特徴が本開示の実施形態に含まれていてよく、本開示の2つ以上の実施形態に含まれていてもよいことを一般に意味する(重要なことであるが、そのような文言が同じ実施形態を必ずしも指すものではない)。
[概観]
概して、本開示の様々な実施形態は、ネットワークシステムにおける通信分離に関する。より具体的には、本開示の様々な実施形態は、グループベース通信システムへの通信バリアの実装に関する。
本開示において、「通信バリア(または「情報バリア」、「倫理的壁」)」なる用語は、一方のユーザから他方のユーザに情報/データが流れるのを制限し、限定し、または防止することができる処理を指す。メッセージングプラットフォームへの通信バリアの実装には技術的課題が存在する。例えば、多くのメッセージングプラットフォームは通信バリアの必要性を認識できず、したがってメッセージングプラットフォーム内で情報/データの無制限の流れを生じさせ、利益相反および/または法律違反等の問題を発生させる。一例として、トレーダーおよび投資銀行家等の被雇用者を有する投資銀行という状況下でメッセージングプラットフォームが実装される場合、トレーダーが投資銀行家と通信するのを防止して潜在的な利益相反およびセキュリティ法違反を回避する必要がある。
さらに、幾つかのメッセージングプラットフォームでは、組織内でユーザを互いに分離し、ユーザが誰と通信しうるかを指示することができる、ユーザ毎に別々の通信規則を作成する場合がある。しかし、この手法は多くの問題を生じさせうる。例えば、ユーザが新たな/異なる通信バリアを必要とするような異なる役割/地位に配置転換されると、当該ユーザに関連付けられた通信規則は更新される必要がありうる。組織内で大量の変更を行う場合、大量の規則が更新される必要があり、これらのメッセージングプラットフォームの処理能力を制約する一方、時間通りのメッセージング通信のハンドリングを遅延させる場合がある。
さらに、幾つかのメッセージングプラットフォームは、プラットフォーム内で生じうる異なる種類の通信を認識することができず、ユーザの意図しない通信バリアの迂回を許してしまう場合がある。
これに対して、本開示の様々な実施形態により構成されたシステムは、これらの技術的問題に具体的な技術的解決策を提供する。例えば、本開示の様々な実施形態は、複数のユーザを1つ以上のグループに動的に分類し、グループに基づいて通信バリアを実装することができる。その結果、必要が生じた場合に、ユーザとグループとの間の関連付けは動的に再設定されうる。幾つかの例では、本開示の様々な実施形態は、ユーザに関連付けられたデータをプログラムにより解析し、当該ユーザに適したグループを決定することができる。幾つかの例では、本開示の様々な実施形態は、通信バリアの迂回が回避可能となるようにシステム内の全ての種類の通信をプログラムにより評価することができる。その結果、本開示の様々な実施形態は、通信バリアを実装する際にデータの完全性およびセキュリティを向上させる一方、ネットワークリソース使用量/処理能力の制約を低減し、コンプライアンスリスクを軽減することができる。以上の詳細を本明細書で後述する。
[定義]
本明細書において用いられるように、「データ」、「コンテンツ」、「デジタルコンテンツ」、「デジタルコンテンツオブジェクト」、「情報」なる用語および類似の用語は、同じ意味で用いられ、本開示の実施形態により送信され、受信され、かつ/または記憶されうるデータを指す場合がある。したがって、いずれのそのような用語を用いても、本開示の実施形態の趣旨および範囲を限定するものと解釈されるべきではない。さらに、本明細書において別の演算デバイスからデータを受信する演算デバイスを説明する場合には、データは別の演算デバイスから直接的に受信されうるか、または1つ以上の仲介演算デバイス、例えば1つ以上のサーバ、中継装置、ルータ、ネットワークアクセスポイント、基地局、ホストコンピュータ等(本明細書において「ネットワーク」と呼ばれる場合がある)を介して間接的に受信されうることを理解されたい。同様に、本明細書において別の演算デバイスにデータを送信する演算デバイスを説明する場合には、データは別の演算デバイスに直接的に送信されうるか、または1つ以上の仲介演算デバイス、例えば1つ以上のサーバ、中継装置、ルータ、ネットワークアクセスポイント、基地局、ホストコンピュータ等を介して間接的に送信されうることを理解されたい。
本開示において、「回路」なる用語は、ハードウェアを含み、幾つかの実施形態ではハードウェアを設定するソフトウェアを含むものとして広く解釈されるべきである。したがって、装置の構成要素に関連して本明細書において用いられる「回路」なる用語は、本明細書において説明する特定の回路に関連付けられた機能を実行するように構成される特定のハードウェアを含むものと理解されるべきである。例えば、幾つかの実施形態では、「回路」は、処理回路、ストレージ媒体、ネットワークインタフェース、入力/出力デバイス等を含んでいてよい。
「グループベース通信システム」または「グループベース通信プラットフォーム」なる用語は、通信ソフトウェアプラットフォーム、ならびに複数のグループベース通信インタフェースおよび全ての関連機能を支援および維持するように構成された関連ハードウェアを指す。例示的なグループベース通信システムは、以下に定義するように支援サーバおよびクライアントデバイスを備える。
「グループベース通信サーバ」なる用語は、ソフトウェアプラットフォーム、およびグループベース通信システムの様々なグループベース通信インタフェースへのアクセスを管理し、以下の様々な機能を提供するように構成された関連ハードウェアを指す。グループベース通信サーバは、グループベース通信システムのアプリケーション製品論理にアクセスし、アプリケーション製品論理を維持および支援し、グループベース通信リポジトリ等の1つ以上のデータリポジトリにアクセスするように構成される。
「グループベース通信リポジトリ」なる用語は、データが記憶され、アクセスされ、変更され、また他の形でグループベース通信システムにより維持される場所を指す。記憶されるデータとしては、グループベース通信システムに関連付けられたメッセージング通信、グループベース通信システムに関連付けられたユーザ識別等、グループベース通信システムの運用を容易にする情報が挙げられるが、これらに限定されない。グループベース通信リポジトリは、1つ以上のデータストレージデバイス、1つ以上の別個のデータベースサーバ、またはデータストレージデバイスおよび別個のデータベースサーバの組み合わせとして具現化されうる。さらに幾つかの実施形態では、グループベース通信リポジトリは、記憶されたデータのうちの幾つかがグループベース通信システム内のある場所の中央に記憶され、他のデータが単一の遠隔の場所または複数の遠隔の場所に記憶されるように分散リポジトリとして具現化されうる。代替的に、幾つかの実施形態では、グループベース通信リポジトリは、複数の遠隔のストレージ位置のみにわたって分散されてもよい。
「クライアントデバイス」なる用語は、サーバにより利用可能にされるサービスにアクセスするように構成されたコンピュータハードウェアおよび/またはソフトウェアを指す。サーバは、多くの場合(しかし、常にではないが)別のコンピュータシステム上にあり、この場合、クライアントデバイスはネットワーク経由でサービスにアクセスする。クライアントデバイスとしては、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ウェアラブル端末、パーソナルコンピュータ、エンタプライズコンピュータ等が挙げられうるが、これらに限定されない。
「ユーザ」なる用語は、個人、複数の個人のグループ、企業、組織等を指す。本明細書において言及するユーザは、グループベース通信システムのグループベース通信インタフェース(または一連のグループベース通信インタフェース)にアクセスするためにクライアントデバイスにおいて有効にされるアクティビティに関連して主に考察される。
「ユーザ識別子」なる用語は、ユーザに関連付けられたグループベース通信システム内に記憶されている情報を一意に識別する識別子を指す。例えば、ユーザ識別子としては、情報交換用米国標準コード(ASCII)テキスト、ポインタ、メモリアドレス等が挙げられうる。本明細書において定義するように、ユーザに関する情報は、「ユーザプロファイル」、「ユーザアカウント」、または「ユーザアカウント詳細」に記憶されてもよい。
「ユーザプロファイル」、「ユーザアカウント」、および「ユーザアカウント詳細」なる用語は、例えば、ユーザ識別子、ユーザがアクセスを許可したグループベース通信チャネルに関連付けられた1つ以上のグループベース通信チャネル識別子(本明細書において定義される)、ユーザが関連付けられるグループの1つ以上のグループ識別子(本明細書において定義される)、ユーザが関連付けられる作業領域の1つ以上の作業領域識別子(本明細書において定義される)、ユーザが任意のグループベース通信チャネルの所有者であるかどうかについての指標、ユーザが任意のグループベース通信チャネル制限を有するかどうかについての指標、複数のメッセージ、複数の絵文字、ユーザに関連付けられた複数のリアク字、複数の会話、複数の会話トピック、グラフィック表現、電子メールアドレス、実名(例えば、John Doe)、ユーザ名(例えば、jdoe)、パスワード、時間帯、外部リソースユーザ識別子、アバタレンダリング設定等を含む、ユーザに関連付けられたデータ、ファイル、および他の情報を指す。ユーザアカウント詳細は、例えばユーザのユーザ名およびパスワードを含むユーザのログイン情報等、ユーザ認証情報の部分集合の記載を含みうる。リアク字のさらなる詳細は、2017年7月20日に出願された米国特許出願公開第15/730146号明細書に説明されており、その全体が参照により組み込まれる。
幾つかの例では、グループベース通信システムのユーザは、グループに編成されてもよい。例えば、組織の被雇用者は、(例えば潜在的な利益相反を防止するために)異なるグループ間のデータ交換またはデータ通信が防止されうるように、異なるグループに編成されてもよい。本明細書において説明するように、グループベース通信システムは、特定のユーザグループに関連付けられたシステム、チャネル、メッセージ、または仮想環境が当該ユーザグループのみによりアクセス可能になるように、十分なデータセキュリティを提供しうる。
「グループ識別子」または「チーム識別子」なる用語は、グループベース通信システム内のグループを一意に識別することができる1つ以上のデータ項目を指す。例えば、グループ識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含んでいてよい。グループ識別子は、メッセージのアクセス制御を容易にするのに用いられてもよく(例えば、検索クエリに応答して検索結果の一部としてのメッセージを返してもらうこと等、メッセージへのアクセスは、自身のユーザプロファイルに関連付けられたグループ識別子を有するユーザに限定されてもよい)、その詳細を本明細書において説明する。グループ識別子は、メッセージの文脈を決定するのに用いられてもよい(例えば、組織の名前等のグループの記載および/または組織の簡略な記載、は、グループ識別子に関連付けられうる)。例えば、幾つかのグループベース通信チャネルは、自身のユーザプロファイルに関連付けられた1つ以上の特定のグループ識別子を有するユーザにとってグローバルにアクセス可能であってよい。幾つかのグループベース通信チャネルへのアクセスは、指定されたグループのメンバに限定され、これによりグループベース通信チャネルが自身のユーザプロファイルに関連する1つ以上の特定のグループ識別子を有するユーザにとってアクセス可能である。
「グループ相関」なる用語は、グループベース通信システムのユーザをグループベース通信システムのグループと相関または結びつけることができる1つ以上のデータ項目を指す。例えば、グループ相関は、ASCIIテキスト、ポインタ、メモリアドレス等を含んでもよく、これらは特定のユーザ識別子が1つ以上のグループ識別子に関連付けられていることを示しうる。
「通信分離設定セット」なる用語は、一方のユーザおよび/または一方のユーザグループがグループベース通信システム経由で他方のユーザおよび/または他方のユーザグループと通信しうるかについての1つ以上のコンピュータ生成規則および/またはユーザ設定規則を示しうる1つ以上のデータ項目を指す。
例えば、通信分離設定セットは、一方のユーザグループが、グループベース通信システムの他方のユーザグループから通信を受信し、他方のユーザグループに通信を送信し、他方のユーザグループに関連付けられた通信を閲覧し、かつ/または他方のユーザグループと通信する通信権限を有するかどうかについての規則を示しうる。例えば、通信分離設定セットは、ASCIIテキスト、ポインタ、メモリアドレス等を含み、これらは第1のグループ識別子を示すことができるデータフィールド、第2のグループ識別子を示すことができるデータフィールド、および第1のグループ識別子に関連付けられたユーザと第2のグループ識別子に関連付けられたユーザとの間に「通信バリア」があるかを示すことができるデータフィールドを含んでいてよい。「通信バリア」なる用語は、第1のグループ識別子に関連付けられたユーザに、グループベース通信システム経由で第2のグループ識別子に関連付けられたユーザから通信を受信し、第2のグループ識別子に関連付けられたユーザに通信を送信し、第2のグループ識別子に関連付けられたユーザに関連付けられた通信を閲覧し、および/または第2のグループ識別子に関連付けられたユーザと通信する通信権限が認められないことを示す1つ以上のデータ項目を指す。
付加的にまたは代替的に、通信分離設定セットは、ユーザ識別子を示すデータフィールドおよびユーザ識別子に関連付けられた「プライバシー権限設定」を示すデータフィールドを含んでいてよい。「プライバシー権限設定」なる用語は、グループベース通信システムの他のユーザがグループベース通信システムを介してユーザ識別子に関連付けられたユーザと通信する通信権限を有しうるかどうかについての1つ以上のコンピュータ生成規則および/またはユーザ設定規則を指す。例えば、プライバシー権限設定は、「メッセージング通信プロトコル」を含んでいてよい。メッセージング通信プロトコルは、特定の作業領域に関連付けられたユーザがユーザ識別子に関連付けられたユーザとメッセージング通信を開始しうるかどうかについての1つ以上のコンピュータ生成規則および/またはユーザ設定規則を規定しうる。その詳細を本明細書において説明する。
付加的にまたは代替的に、通信分離設定セットは、サードパーティ識別プロバイダを介して決定されてもよい。例えば、グループベース通信プラットフォームは、グループベース通信プラットフォームの複数のユーザに関連付けられたユーザ識別をサードパーティ識別プロバイダから受信してもよく、グループベース通信プラットフォームは、ユーザ識別に基づいてこれらのユーザに関連付けられた通信バリアを決定しうる。
「メッセージング通信」、「電子メッセージ」、「メッセージ」、「通信」なる用語は、クライアントデバイスを用いてユーザにより生成され、グループベース通信サーバに送信される電子コンテンツを指す。メッセージング通信は、ユーザ(クライアントデバイスを用いて)ユーザにより提供される任意のテキスト、画像、映像、音声、またはこれらの組み合わせを含んでいてよい。例えばユーザは、テキストを含むメッセージング通信、ならびに当該メッセージング通信に含まれる画像および映像をメッセージコンテンツとして提供しうる。そのような場合であれば、テキスト、画像、および映像はメッセージング通信を構成する。グループベース通信サーバに送信または投稿された(すなわち、グループベース通信サーバのインタフェース内でレンダリングのために送信された)各メッセージング通信は、送信ユーザ識別子、メッセージ識別子、メッセージコンテンツ、グループ識別子、および/またはグループベース通信チャネル識別子等のうちの1つ以上を含むメタデータを含んでいてよい。上述の識別子のそれぞれがASCIIテキスト、ポインタ、メモリアドレス等を含んでいてよい。
幾つかの例では、例示的なメッセージング通信、電子メッセージ、メッセージ、および/または通信がグループベース通信チャネルに関連付けられうる。「グループベース通信チャネル」なる用語は、仮想通信環境または仮想通信フィードを指し、この仮想通信環境は、チャネルメンバ(例えば、クライアントデバイスを用いて当該環境にアクセスする認証ユーザ)により投稿された、グループのメンバのみが閲覧可能であるメッセージング通信を表示するように構成される。グループベース通信チャネルのフォーマットは、グループベース通信チャネルの異なるメンバに対して異なるように表示されてもよい。しかし、グループベース通信チャネルのコンテンツ(すなわち、メッセージング通信)は、グループベース通信チャネルの各メンバに対して表示される。例えば、グループベース通信チャネルのコンテンツ(すなわち、メッセージング通信)がグループベース通信チャネルのメンバ毎で異ならないように、共通の一連のグループベースメッセージング通信がそれぞれのグループベース通信チャネルの各メンバに対して表示される。
幾つかの例では、グループベース通信チャネルは、「アナウンスチャネル」であってよい。アナウンスチャネルは、管理者として許可された認証ユーザアカウントを有効にし、アナウンスチャネルに関連付けられた一人以上のユーザの投稿権限設定を行うように構成されていてよい。例えば、アナウンスチャネルの各ユーザがメッセージング通信をアナウンスチャネルに投稿することができるように、アナウンスチャネルの管理者は、投稿権限を「全員」に設定しうる。別の例として、アナウンスチャネルの管理者のみがメッセージング通信をアナウンスチャネルに投稿することができるように、アナウンスチャネルの管理者は、投稿権限を「管理者のみ」に設定しうる。
幾つかの例では、各ユーザは、ユーザが割り当てられ、またはユーザが参加もしくは閲覧できる1つ以上のグループベース通信チャネルに関連付けられうる(例えば、グループベース通信チャネルは、部署、事務所等の地理的場所、製品ライン、ユーザの関心、トピック、問題等を示しうる)。例えば、ユーザは、グループベース通信チャネルへの参加を要求するために、例えば「グループベース通信チャネル参加要求」をグループベース通信システムに送信しうる。ユーザは、例えば「グループベース通信チャネル閲覧要求」をグループベース通信システムに送信することによりグループベース通信チャネル(例えば、メッセージング通信)に関連付けられたデータの閲覧を要求しうる。
「グループベース通信チャネル識別子」または「チャネル識別子」なる用語は、グループベース通信システムによりグループベース通信チャネルを一意に識別することができる1つ以上のデータ項目を指す。例えば、グループベース通信チャネル識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含んでいてよい。グループベース通信チャネル識別子は、メッセージのアクセス制御を容易にするのに用いられてもよい(例えば、検索クエリに応答して検索結果の一部としてのメッセージを返してもらうこと等、メッセージへのアクセスは、自身のユーザプロファイルに関連付けられたグループベース通信チャネル識別子を有するユーザまたはグループベース通信チャネルに参加する能力を有するユーザに限定されてもよい)。グループベース通信チャネル識別子は、メッセージの文脈を決定するのに用いられてもよい(例えば、グループベース通信チャネルの記載、例えばグループベース通信チャネルにおいて考察されるプロジェクトの記載は、グループベース通信チャネル識別子に関連付けられうる)。
「グループベース通信チャネルデータ」なる用語は、グループベース通信チャネルのチャネルメンバ間の通信およびチャネルメンバにより共有されるファイルを含むがこれらに限定されない、グループベース通信チャネルに関連付けられたデータ項目を指す。
幾つかの例では、例示的なメッセージング通信、電子メッセージ、メッセージ、および/または通信は、「ダイレクトメッセージ」または「マルチパーティダイレクトメッセージ」の形態であってよい。「ダイレクトメッセージ」なる用語は、グループベース通信チャネル上に投稿されない、グループベース通信システムの二人のユーザの間のメッセージング通信を指す。「マルチパーティダイレクトメッセージ」なる用語は、グループベース通信チャネル上に投稿されない、グループベース通信システムの三人以上のユーザの間のメッセージング通信を指す。
「ダイレクトメッセージ設定セット」なる用語は、二人のユーザの間のダイレクトメッセージ機能に関連付けられた1つ以上の特徴を制御することができる1つ以上のコンピュータ生成規則および/またはユーザ設定規則を示すことができる1つ以上のデータ項目を指す。例えば、ダイレクトメッセージ設定セットは、二人のユーザが互いにダイレクトメッセージを開始しうるかを規定する規則を含んでいてよい。付加的にまたは代替的に、ダイレクトメッセージ設定セットは二人のユーザの間の過去のダイレクトメッセージが読み取り専用か、または編集可能かを規定する規則を含んでいてよい。同様に、「マルチパーティダイレクトメッセージ設定セット」なる用語は、三人以上のユーザに関連付けられたマルチパーティダイレクトメッセージ機能に関連付けられた1つ以上の特徴を制御することができる1つ以上のコンピュータ生成規則および/またはユーザ設定規則を示すことができる1つ以上のデータ項目を指す。「ダイレクトメッセージ要求」なる用語は、二人のユーザの間でのダイレクトメッセージ機能の開始の要求を表す1つ以上のデータ項目を指す。
「グループベース通信作業領域」、「グループベース作業領域」、「作業領域データオブジェクト」、および「作業領域」なる用語は、複数のグループベース通信チャネルのうちの1つ以上(およびそれらの関連付けられたグループベース通信チャネルデータ)およびグループベース通信チャネルのうちの1つ以上にアクセスするのを許可された認証ユーザアカウントを含む電子的に管理されるデータを指す。幾つかの例では、作業領域データオブジェクトは、管理者として許可された1つ以上の認証ユーザアカウントを有効にし、作業領域の1つ以上の機能を管理し、例えば作業領域にアクセスするように1つ以上の認証ユーザアカウントを案内し、かつ/または作業領域に以前に案内された1つ以上の認証ユーザアカウントのアクセス権を解除するように構成される。
幾つかの例では、グループベース通信作業領域のユーザは、異なるグループ識別子に関連付けられうる。例えば、グループベース通信作業領域の何人かのユーザは、第1のグループ識別子に関連付けられてもよく、同じグループベース通信作業領域の他のユーザは第2のグループ識別子に関連付けられうる。
「作業領域識別子」なる用語は、グループベース通信システム内の作業領域を一意に識別することができる1つ以上の識別子を指す。例えば、作業領域識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含んでいてよい。グループベース通信システム内の組織または他の機関は、任意の数の作業領域識別子に関連付けられうる。
幾つかの実施形態では、グループベース通信チャネルは、1つ以上の作業領域識別子に関連付けられうる。2つ以上の作業領域識別子に関連付けられたグループベース通信チャネルは、「多作業領域グループベース通信チャネル」と呼ばれる場合がある。「多作業領域グループベース通信チャネル」は、これらの対応するグループベース作業領域内でアクセス可能である。
「組織データオブジェクト」および「組織」なる用語は、一連のグループベース作業領域および/またはグループベース通信チャネルが特定の機関に関連付けられる1つ以上のデータ構造を指す。「組織識別子」なる用語は、組織を一意に識別することができる1つ以上のデータ項目を指す。例えば、組織識別子は、ASCIIテキスト、ポインタ、メモリアドレス等を含んでいてよい。
「グループベース通信インタフェース」なる用語は、グループベース通信システムとのユーザインタラクションを容易にするように構成された仮想通信環境を指す。各グループベース通信インタフェースは、企業または組織の被雇用者のグループ等、ユーザグループを選択するためにアクセスおよび閲覧が可能である。幾つかの例では、グループベース通信インタフェースは、複数のグループベース通信チャネル(例えば、マーケティングチャネル、販売チャネル、会計チャネル等)のレンダリングを含む。
幾つかの例では、クライアントデバイスを用いるユーザは、1つ以上の「検索要求」をクライアントデバイスにより生成させ、グループベース通信サーバに送信させうる。「検索要求」なる用語は、1つ以上のデータベースからのデータ取り出しの要求を示すことができるデータオブジェクトを指す。例えば、「メッセージング通信検索要求」は、グループベース通信システムに関連付けられた1つ以上のメッセージング通信を取り出すための電子要求を指す。別の例として、「ユーザプロファイル検索要求」は、グループベース通信システムに関連付けられた1つ以上のユーザプロファイルを取り出すための電子要求を指す。幾つかの例では、検索要求は、1つ以上の検索文字列を含んでいてよい。
「セット」なる用語はゼロ以上の要素の集合を指す。
[本開示の実施形態を実装するための例示的なシステムアーキテクチャ]
本開示の方法、装置、およびコンピュータプログラム製品は、様々なデバイスのいずれかにより具現化されうる。例えば、例示的な実施形態の方法、装置、およびコンピュータプログラム製品は、1つ以上のデバイス、例えば1つ以上のクライアントデバイスと通信するように構成されたネットワークデバイス(例えば、グループベース通信システム)、例えばサーバまたは他のネットワークエンティティにより具現化されうる。付加的にまたは代替的に、演算デバイスは、固定された演算デバイス、例えばパーソナルコンピュータまたはコンピュータワークステーションを含んでいてよい。さらに、例示的な実施形態は、様々な携帯デバイスのいずれか、例えば携帯型情報端末(PDA)、携帯電話、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブル端末、または上述のデバイスの任意の組み合わせにより具現化されうる。
図1は、例示的なシステムアーキテクチャ100を示す。このシステムアーキテクチャ100内で本開示の実施形態は動作することができる。このシステムは、リポジトリ(例えばグループベース通信リポジトリ107)およびサーバ(例えば、グループベース通信サーバ109)を備えていてよい。これらの詳細を本明細書において後述する。
ユーザは、クライアントデバイス101A,101B,…,101Nを用いて通信ネットワーク103経由でグループベース通信システム105にアクセスしうる。本明細書に定義するように、クライアントデバイス101A~101Nは、演算デバイスであってよい。グループベース通信システム105によりクライアントデバイス101A~101Nから受信される電子データは、様々な形態で様々な方法により提供されうる。例えば、クライアントデバイス101A~101Nは、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、ネットブック、タブレットコンピュータ、ウェアラブル端末等を備えていてよい。
クライアントデバイス101A~101Nのうちの1つのクライアントデバイスがスマートフォンまたはタブレット等の携帯デバイスである実施形態では、当該クライアントデバイスは、「アプリ」を実行してグループベース通信システム105と対話しうる。そのようなアプリは、典型的にはタブレットまたはスマートフォン等の携帯デバイス上で実行されるように設計されている。例えば、iOS(登録商標)、アンドロイド(登録商標)、またはウィンドウズ(登録商標)等の携帯デバイスのオペレーティングシステム上で実行されるアプリが提供されてもよい。典型的に、これらのプラットフォームは、複数のアプリが互いに、また携帯デバイスの特定のハードウェアコンポーネントおよびソフトウェアコンポーネントと通信するのを可能にする枠組みを提供する。例えば、上記の携帯オペレーティングシステムは、それぞれが測位サービス回路、有線および無線のネットワークインタフェース、ユーザコンタクト、および他のアプリケーションと対話する枠組みを提供する。
付加的にまたは代替的に、クライアントデバイス101A~101Nは、ウェブブラウザ経由で、またはウェブブラウザにおいて起動されるウェブアプリケーションによりグループベース通信システム105と対話しうる。さらに別の例として、クライアントデバイス101A~101Nは、グループベース通信システム105とインタフェース接続するように設計された様々なハードウェアまたはファームウェアを備えていてよい。
通信ネットワーク103は、例えば、有線または無線のローカルエリアネットワーク
(LAN)、パーソナルエリアネットワーク(PAN)、都市規模ネットワーク
(MAN)、広域ネットワーク(WAN)等を含む任意の有線または無線の通信ネットワーク、ならびに任意のハードウェア、ハードウェア(例えばネットワークルータ等)を実装するために必要とされるソフトウェアおよび/またはファームウェアを含んでいてよい。例えば、通信ネットワーク103は802.11、802.16、802.20、および/またはワイマックスのネットワークを含んでいてよい。さらに、通信ネットワーク103は公共ネットワーク(例えばインターネット)、私的ネットワーク(例えばイントラネット)、またはこれらの組み合わせを含んでいてよく、TCP/IPベースのネットワーク構築プロトコルを含むがこれに限定されない様々なネットワーク構築プロトコルを利用しうる。例えば、ネットワーク構築プロトコルは、グループベース通信システム105の要求に適合するようにカスタマイズされてもよい。幾つかの実施形態では、プロトコルは、ウェブソケットチャネル経由で送信されるJSONオブジェクトのカスタムプロトコルである。幾つかの実施形態では、プロトコルは、JSON over RPC、JSON over REST/HTTP等である。
本開示の様々な実施形態では、データおよび情報(例えばメッセージング通信、検索クエリ等、これらに限定されない)は、クライアントデバイス101A~101Nのうちの1つのクライアントデバイスにより、例えば通信ネットワーク103経由で直接にグループベース通信システム105に送信されてもよい。付加的にまたは代替的に、これらのデータおよび情報(例えばメッセージング通信、検索クエリ等、これらに限定されない)は、1つ以上の仲介装置を介してグループベース通信システム105に送信されてもよい。
一実施形態では、クライアントデバイス101A~101Nのうちの1つは、エクステンシブルマークアップランゲージ(「XML」)によりフォーマット化されたデータを含み、認証セッションを開始するためにユーザアカウント詳細を認証する具体的な要求を具現化する、実質的にハイパーテキストトランスファープロトコル(セキュア)(「HTTP(S)」)POSTメッセージの形式の次のような例示的なメッセージング通信、すなわち
を提供しうる。
図1に示す例において、グループベース通信システム105は、グループベース通信サーバ109およびグループベース通信リポジトリ107を備えていてよい。
グループベース通信リポジトリ107は、データストレージデバイス、例えば1つ以上のネットワーク接続ストレージ(NAS)デバイスまたは1つ以上の別個のデータベースサーバとして具現化されうる。グループベース通信リポジトリ107は、グループベース通信システム105の運用を容易にするグループベース通信サーバ109によりアクセスされかつ記憶される情報を含む。例えば、グループベース通信リポジトリ107は、グループベース通信リポジトリ107内に編成された複数の要求、案内、通信、ユーザ識別子等(これらに限定されない)を含んでいてよい。例えば、グループベース通信サーバ109は、本システムとのユーザインタラクションに関する電子データを提供してもよく、この電子データは、グループベース通信リポジトリ107に記憶されてもよい。幾つかの実施形態では、グループベース通信リポジトリ107は、通信ネットワーク103経由でグループベース通信サーバ109と通信しうる。幾つかの実施形態では、グループベース通信リポジトリ107およびグループベース通信サーバ109は、グループベース通信システム105に含まれてもよい。
幾つかの実施形態では、グループベース通信システム105は、ユーザ識別リポジトリを含むように、またはユーザ識別リポジトリと通信するように構成されていてよい。ユーザ識別リポジトリは、一人以上のユーザの識別データを含んでいてよい。幾つかの実施形態では、ユーザ識別リポジトリは、ユーザ識別子、チャネル識別子、グループ識別子、作業領域識別子等を含んでいてよい。例えば、ユーザ識別リポジトリは、ユーザプロファイル情報をグループベース通信サーバ109から受信し、追加の識別データを受信しうる。幾つかの実施形態では、ユーザ識別リポジトリは、グループベース通信リポジトリ107と同じリポジトリに含まれてもよい。
図1に示す例において、グループベース通信システム105は、グループベース通信サーバ109およびグループベース通信リポジトリ107を備えていてよい。
グループベース通信リポジトリ107は、データストレージデバイス、例えば1つ以上のネットワーク接続ストレージ(NAS)デバイスまたは1つ以上の別個のデータベースサーバとして具現化されうる。グループベース通信リポジトリ107は、グループベース通信システム105の運用を容易にするグループベース通信サーバ109によりアクセスされかつ記憶される情報を含む。例えば、グループベース通信リポジトリ107は、グループベース通信リポジトリ107内に編成された複数の要求、案内、通信、ユーザ識別子、外部リソースユーザ識別子等(これらに限定されない)を含んでいてよい。例えば、グループベース通信サーバ109は、本システムとのユーザインタラクションに関する電子データを提供してもよく、この電子データは、グループベース通信リポジトリ107に記憶されてもよい。幾つかの実施形態では、グループベース通信リポジトリ107は、通信ネットワーク103経由でグループベース通信サーバ109と通信しうる。幾つかの実施形態では、グループベース通信リポジトリ107およびグループベース通信サーバ109は、グループベース通信システム105に含まれてもよい。
幾つかの実施形態では、グループベース通信システム105は、ユーザ識別リポジトリを含むように、またはユーザ識別リポジトリと通信するように構成されていてよい。ユーザ識別リポジトリは、一人以上のユーザの識別データを含んでいてよい。幾つかの実施形態では、ユーザ識別リポジトリは、ユーザ識別子、チャネル識別子、グループ識別子等を含んでいてよい。例えば、ユーザ識別リポジトリは、ユーザプロファイル情報をグループベース通信サーバ109から受信し、追加の識別データも受信しうる。幾つかの実施形態では、ユーザ識別リポジトリは、グループベース通信リポジトリ107と同じリポジトリに含まれてもよい。
幾つかの例では、グループベース通信サーバ109は、受信したメッセージに基づいてストレージメッセージを作成することにより、グループベース通信リポジトリ107内でメッセージのインデックス化および記憶を容易にしうる。幾つかの例では、ストレージメッセージは、上記の1つ以上のインデックスオブジェクトを含んでいてよい。付加的にまたは代替的に、ストレージメッセージは、データ、例えばメッセージ識別子、グループ識別子、グループベース通信チャネル識別子、送信ユーザ識別子、トピック、応答、メッセージコンテンツ、添付書類、メッセージヒエラルキデータ、スレッド識別子、サードパーティメタデータ、会話プリミティブデータ等を含んでいてよい。例えば、グループベース通信サーバ109は、XMLによりフォーマット化されたデータを含む実質的にHTTP(S)POSTメッセージの形式の次のような例示的なストレージメッセージ、すなわち
を提供しうる。
実施形態では、上記で定義したグループベース通信チャネル識別子がメッセージに関連付けられうる。実施形態では、上記で定義した送信ユーザ識別子がメッセージに関連付けられうる。一実現形態では、メッセージを(例えば、PHPコマンドを用いて)解析して、メッセージをグループベース通信インタフェースに送信または投稿したユーザの送信ユーザ識別子を判定しうる。幾つかの実施形態では、そのような送信ユーザ識別子は、操作ユーザが別のユーザにより投稿された一連のメッセージを閲覧することを意図している状況で対象ユーザ識別子に相関されてもよい。以下により詳細に考察するように、本発明の実施形態であれば、(例えば、PHPコマンドを用いて)各メッセージを解析し、メッセージ内に出ているユーザ(例えば、@付きで出ているユーザ)および当該送信を行ったユーザを、ユーザ識別クエリの対象ユーザ識別子の考えられるソースとして識別する。
付加的にまたは代替的に、トピックがメッセージに関連付けられうる。一実現形態では、メッセージコンテンツを(例えば、PHPコマンドを用いて)解析し、メッセージ中で話し合われたトピックを判定しうる。例えば、メッセージ中のハッシュタグがメッセージに関連付けられたトピックを示す場合がある。別の例において、トピックモデリング等の機械学習技術を用いてメッセージを(例えば、メッセージ自体が会話プリミティブ中の他のメッセージとともに)分析または解析し、メッセージに関連付けられたトピックを判定しうる。
付加的にまたは代替的に、応答を示すデータがメッセージに関連付けられうる。例えば、他のユーザによるメッセージへの応答は、反応(例えば、メッセージに関連付けられた絵文字の選択、メッセージに関連付けられた「いいね」ボタンの選択)、メッセージ中に埋め込まれたハイパーリンクのクリック、メッセージへの返信(例えば、メッセージに応答してメッセージをグループベース通信チャネルに投稿する)、メッセージに関連付けられたファイルのダウンロード、一方のグループベース通信チャネルから他方のグループベース通信チャネルに送信されたメッセージの共有、メッセージのピン留め、メッセージに星印を付けること等を含む場合がある。一実現形態では、他のユーザによるメッセージへの応答に関するデータは、メッセージとともに含まれていてもよく、メッセージを(例えば、PHPコマンドを用いて)解析して、応答を判定しうる。別の実現形態では、メッセージへの応答に関するデータはデータベースから取り出されてもよい。例えば、メッセージへの応答に関するデータは、
と類似するMySQLデータベースコマンドにより、取り出されてもよい。
例えば、メッセージへの応答に関するデータは、メッセージの文脈(例えば、操作ユーザの立場から見たメッセージのソーシャルスコア)を判定するのに用いられてもよい。別の例において、メッセージへの応答に関するデータを分析してユーザに関する文脈を判定しうる(例えば、トピックに関するユーザのメッセージへの応答に基づいてトピックにおけるユーザの専門知識を判定しうる)。付加的にまたは代替的に、添付書類がメッセージとともに含まれていてもよい。添付書類がある場合、ファイルがメッセージに関連付けられていてもよい。一実現形態では、メッセージを(例えば、PHPコマンドを用いて)解析し、添付書類のファイル名を判定しうる。例えば、ファイルコンテンツを分析し、メッセージの文脈を判定しうる(例えば、特許政策文書は、メッセージが「特許」なるトピックに関連付けられていることを示す場合がある)。付加的にまたは代替的に、サードパーティメタデータがメッセージに関連付けられていてもよい。例えば、サードパーティメタデータは、会社、グループ、グループベース通信チャネル等に固有のメッセージまたはユーザに関するさらなる文脈を提供しうる。一実現形態では、メッセージを(例えば、PHPコマンドを用いて)解析し、サードパーティメタデータを判定しうる。付加的にまたは代替的に、会話プリミティブがメッセージに関連付けられうる。一実現形態では、会話プリミティブは、メッセージの分析、インデックス化、記憶等を行うのに用いられる要素である。例えば、メッセージはそれ自体が分析されてもよく、自身の会話プリミティブを形成しうる。別の例において、メッセージが、会話を構成する他のメッセージとともに分析されてもよく、この会話を構成するメッセージが会話プリミティブを形成しうる。一実現形態では、会話プリミティブは、メッセージ、特定の数(例えば2つ)の先行メッセージ、および特定の数(例えば2つの)の後続メッセージとして判定されてもよい。別の実現形態では、会話プリミティブは、(例えばグループベース通信チャネルにおける)当該メッセージおよび他のメッセージで話し合われたトピックおよび/またはメッセージとの近さ(例えば、メッセージ送信順序の近さ、メッセージ送信時間の近さ)に基づいて判定されてもよい。付加的にまたは代替的に、(例えば会話プリミティブを用いて)メッセージをインデックス化し、様々な観点の検索(すなわち、グループベース通信リポジトリ107から結果を返す検索クエリ)を容易にするのに上記のように判定された様々なメタデータおよび/またはメッセージのコンテンツが用いられてもよい。一実現形態では、グループベース通信リポジトリ107内でインデックス化を容易にするためにストレージメッセージがグループベース通信サーバ109から送信されてもよい。別の実現形態では、メッセージに関連付けられたメタデータが判定されてもよく、メッセージがグループベース通信リポジトリ107内でインデックス化されてもよい。一実施形態では、会社またはグループのメッセージが別々に(例えば、他のグループおよび/または会社と共有されないグループおよび/または会社に関連付けられた別個のインデックスで)インデックス化されるように、メッセージがインデックス化されてもよい。一実現形態では、(例えば、セキュリティのためにデータ分離を容易にするために)メッセージは、別個の分散リポジトリでインデックス化されてもよい。メッセージに関連付けられた添付書類がある場合、関連付けられたファイルのファイルコンテンツが、グループベース通信リポジトリ107内のそのようなファイルをインデックス化して検索を容易にするのに用いられてもよい。一実施形態では、会社またはグループのファイルが別個の分散リポジトリでインデックス化されるように、ファイルがインデックス化されてもよい。
グループベース通信サーバ109の様々な構成要素が同じコンピュータまたは演算装置を活用して様々な演算を行ってもよく、グループベース通信リポジトリ107の様々な構成要素が同一のコンピュータまたは演算装置を活用して様々な演算を行ってもよいことに留意されたい。
本開示の実施形態を実装するための例示的な装置
図1のグループベース通信サーバ109は、1つ以上の演算システム、例えば図2に示す装置200により具現化されうる。この装置200は、プロセッサ202、メモリ204、入力/出力回路206、通信回路208、およびグループベース通信回路210を備えていてよい。装置200は、図1に関連して上述した演算および図4~12に関連して後述する演算を実行するように構成されていてよい。これらの構成要素202~210を機能的限定に関連して説明しているが、特定の実現形態は特定のハードウェアの使用を必ず含むことを理解されたい。これらの構成要素202~210のうちの特定のものは類似または共通のハードウェアを含んでいてよいことも理解されたい。例えば、2組の回路の両方が同じプロセッサ、ネットワークインタフェース、ストレージ媒体等の使用を活用してその関連する機能を実行し、その結果重複するハードウェアが各組の回路毎に必要とならないようにしうる。
幾つかの実施形態では、プロセッサ202(および/またはこのプロセッサを補助し、あるいは他の形でこのプロセッサに関連付けられたコプロセッサもしくは任意の他の処理回路)は、本装置の複数の構成要素の間で情報を渡すバスを介してメモリ204と通信しうる。メモリ204は非一時的であり、例えば1つ以上の揮発性および/または不揮発性メモリを含んでいてよい。言い換えれば、メモリ204は、例えば電子ストレージデバイス(例えばコンピュータ可読ストレージ媒体)であってよい。メモリ204は、本装置が本開示の例示的な実施形態による様々な機能を実行するのを可能にする情報、データ、コンテンツ、アプリケーション、命令等を記憶するように構成されていてよい。
プロセッサ202は、複数の異なる方法で具現化されうるものであり、例えば、独立して実行するように構成された1つ以上の処理デバイスを含んでいてよい。幾つかの例では、プロセッサ202は、バスを介した命令、パイプライン処理、および/またはマルチスレッド処理の独立した実行を協働して可能にするように構成された1つ以上のプロセッサを含んでいてよい。「プロセッサ」または「処理回路」なる用語の使用は、シングルコアプロセッサ、マルチコアプロセッサ、本装置内部の複数のプロセッサ、および/またはリモートプロセッサもしくは「クラウド」プロセッサを含むものと理解されてよい。
幾つかの例では、プロセッサ202は、メモリ204内に記憶され、または他の形でプロセッサ202にとってアクセス可能な命令を実行するように構成されていてよい。幾つかの例では、プロセッサ202は、ハードコードされた機能を実行するように構成されていてよい。したがって、ハードウェアによる方法もしくはソフトウェアによる方法、またはそれらの組み合わせにより構成されているかどうかにかかわらず、プロセッサ202は、本開示の実施形態による演算を実行することができ、それに応じて構成された(例えば、回路内に物理的に具現化された)エンティティを表しうる。代替的に、別の例として、プロセッサ202がソフトウェア命令の実行部として具現化される場合、この命令により、プロセッサ202が命令の実行時に本明細書に説明するアルゴリズムおよび/または演算を行うように具体的に設定しうる。
幾つかの実施形態では、装置200は入力/出力回路206を備えていてよく、当該入力/出力回路206は、プロセッサ202と通信してユーザに出力を提供し、幾つかの実施形態ではユーザ入力の指標を受信することができる。入力/出力回路206は、ユーザインタフェース回路を備えていてよく、ディスプレイを含んでいてもよい。このディスプレイは、ウェブユーザインタフェース、モバイルアプリケーション、クライアントデバイス、キオスク等を備えていてよい。幾つかの実施形態では、入力/出力回路206は、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチエリア、ソフトキー、マイク、スピーカ、または他の入力/出力メカニズムも備えていてよい。プロセッサおよび/またはプロセッサを備えるユーザインタフェース回路は、プロセッサにとってアクセス可能なメモリ(例えば、メモリ204等)に記憶されたコンピュータプログラム命令(例えばソフトウェアおよび/またはファームウェア)により1つ以上のユーザインタフェース要素の1つ以上の機能を制御するように構成されていてよい。
通信回路208は、任意の手段、例えばネットワーク、および/または装置200と通信する任意の他のデバイス、回路、またはモジュールとの間でデータを受信し、かつ/または送信するように構成されたハードウェア、またはハードウェアおよびソフトウェアの組み合わせの形で具現化されるデバイスまたは回路であってよい。これに関連して、通信回路208は、例えば有線または無線の通信ネットワーク(例えば、図1に示す通信ネットワーク103)との通信を可能にするネットワークインタフェースを備えていてよい。例えば、通信回路208は、ネットワーク経由での通信を可能にするのに適した1つ以上のネットワークインタフェースカード、アンテナ、バス、スイッチ、ルータ、モデム、ならびに支援ハードウェアおよび/もしくはソフトウェア、または任意の他のデバイスを備えていてよい。付加的にまたは代替的に、通信回路208は、1つ以上のアンテナと対話して当該1つ以上のアンテナを介して信号の送信を行わせ、または当該1つ以上のアンテナを介して受信される信号の受信をハンドリングする回路を備えていてよい。
グループベース通信回路210は、グループベース通信システムの様々な機能を支援するように構成されたハードウェアを備える。その詳細は本明細書において後述される。このグループベース通信回路210は、処理回路、例えばプロセッサ202を利用してこれらの動作を行ってもよい。幾つかの実施形態では、グループベース通信回路210は、別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を備えもよい。グループベース通信回路210は、本明細書において説明する機能を実装するハードウェアまたはソフトウェアにより構成される本装置のハードウェア構成要素を用いて実装されてもよい。
本明細書において考察される情報の全てまたは幾つかは、装置200の1つ以上の構成要素により受信され、生成され、かつ/または維持されるデータに基づきうることにも留意されたい。幾つかの実施形態では、本明細書において考察される機能の少なくとも幾つかを提供するために、1つ以上の外部システム(例えば、遠隔のクラウド演算システムおよび/またはデータストレージシステム)も活用されてもよい。
幾つかの実施形態では、装置200の他の要素は、特定の回路の機能を提供または補完しうる。例えば、プロセッサ202は処理機能を提供してもよく、メモリ204はストレージ機能を提供してもよく、通信回路208はネットワークインタフェース機能を提供してもよい。理解されるように、任意のそのようなコンピュータプログラム命令および/または他の種類のコードをコンピュータ、プロセッサ、または他のプログラム可能な装置の回路に読み込むことにより、機械でコードを実行するコンピュータ、プロセッサ、または他のプログラム可能な装置の回路が本明細書において説明する機能を含む、様々な機能を実装する手段を形成しうる。
図1のクライアントデバイス101A~101Nは、1つ以上の演算システム、例えば図3に示す装置300を備えていてよい。装置300は、プロセッサ301、メモリ303、入力/出力回路307、通信回路305、入力/出力回路307、および/またはディスプレイ309を含んでいてよい。装置300は、本明細書において説明する演算を実行するように構成されていてよい。これらの構成要素を機能的限定に関連して説明しているが、特定の実現形態は特定のハードウェアの使用を必ず含むことを理解されたい。本明細書において説明する構成要素のうちの特定のものは、類似または共通のハードウェアを含んでいてよいことも理解されたい。例えば、2組の回路の両方が同じプロセッサ、ネットワークインタフェース、ストレージ媒体等の使用を活用してその関連する機能を実行し、その結果重複するハードウェアが各組の回路毎に必要とならないようにしうる。したがって、本明細書において本装置の構成要素に関連して用いる「回路」なる用語の使用は、本明細書において説明する特定の回路に関連付けられた機能を実行するように構成された特定のハードウェアを含むものと理解されたい。
上記のように、「回路」なる用語は、ハードウェア、および幾つかの実施形態ではハードウェアを設定するソフトウェアを含むものと広く理解されるべきである。例えば幾つかの実施形態では、「回路」は、処理回路、ストレージ媒体、ネットワークインタフェース、入力/出力デバイス等を含んでいてよい。幾つかの実施形態では、装置300の他の要素が特定の回路の機能を提供または補完しうる。例えば、プロセッサ301が処理機能を提供してもよく、メモリ303がストレージ機能を提供してもよく、通信回路305がネットワークインタフェース機能を提供しうる。
幾つかの実施形態では、プロセッサ301(および/またはこのプロセッサを補助し、あるいは他の形でこのプロセッサに別途関連付けられたコプロセッサもしくは任意の他の処理回路)は、本装置の複数の構成要素の間で情報を渡すバスを介してメモリ303と通信しうる。メモリ303は非一時的であり、例えば1つ以上の揮発性および/または不揮発性メモリを含んでいてよい。言い換えれば、メモリ303は、例えば電子ストレージデバイス(例えばコンピュータ可読ストレージ媒体)であってよい。メモリ303は、装置300が本開示の例示的な実施形態による様々な機能を実行するのを可能にする情報、データ、コンテンツ、アプリケーション、命令等を記憶するように構成されていてよい。
プロセッサ301は、複数の異なる方法で具現化されうるものであり、例えば、独立して実行するように構成された1つ以上の処理デバイスを含んでいてよい。付加的にまたは代替的に、プロセッサ301は、バスを介した命令、パイプライン処理、および/またはマルチスレッド処理の独立した実行を協働して可能にするように構成された1つ以上のプロセッサを含んでいてよい。「処理回路」なる用語の使用は、シングルコアプロセッサ、マルチコアプロセッサ、装置内部の複数のプロセッサ、および/またはリモートプロセッサもしくは「クラウド」プロセッサを含むものと理解されてよい。
例示的な実施形態では、プロセッサ301は、メモリ303内に記憶され、または他の形でこのプロセッサにとってアクセス可能な命令を実行するように構成されていてよい。これに代えて、またはこれに加えて、プロセッサ301はハードコードされた機能を実行するように構成されていてよい。したがって、ハードウェアによる方法もしくはソフトウェアによる方法、またはそれらの組み合わせにより構成されているかどうかにかかわらず、プロセッサは、本開示の実施形態による演算を実行することができ、それに応じて構成された(例えば、回路内に物理的に具現化された)エンティティを表しうる。代替的に、別の例として、プロセッサ301がソフトウェア命令の実行部として具現化される場合、この命令により、プロセッサが命令の実行時に本明細書に説明するアルゴリズムおよび/または演算を行うように具体的に設定しうる。
幾つかの実施形態では、装置300は入力/出力回路307を備えていてよく、当該入力/出力回路307は、プロセッサ301と通信してユーザに出力を提供し、幾つかの実施形態ではユーザ入力の指標を受信することができる。入力/出力回路307は、インタフェース、携帯アプリケーション、キオスク等を備えていてよい。幾つかの実施形態では、入力/出力回路307は、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチエリア、ソフトキー、マイク、スピーカ、または他の入力/出力メカニズムも備えていてよい。プロセッサおよび/またはプロセッサを備えるユーザインタフェース回路は、プロセッサにとってアクセス可能なメモリ(例えば、メモリ303等)に記憶されたコンピュータプログラム命令(例えばソフトウェアおよび/またはファームウェア)により1つ以上のユーザインタフェース要素の1つ以上の機能を制御するように構成されていてよい。
幾つかの実施形態では、装置300はディスプレイ309を備えていてよく、当該ディスプレイ309は、プロセッサ301と通信してユーザに出力を提供し、幾つかの実施形態ではユーザ入力の指標を受信することができる。本開示の様々な例において、ディスプレイ309は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、プラズマディスプレイパネル(PDP)、量子ドット(QLED)ディスプレイ等を備えていてよい。
通信回路305は、任意の手段、例えばネットワーク、および/または装置300と通信する任意の他のデバイス、回路、またはモジュールとの間でデータを受信し、かつ/または送信するように構成されたハードウェア、またはハードウェアおよびソフトウェアの組み合わせの形で具現化されるデバイスまたは回路であってよい。これに関連して、通信回路305は、例えば有線または無線の通信ネットワークとの通信を可能にするネットワークインタフェースを備えていてよい。例えば、通信回路305は、ネットワーク経由での通信を可能にするのに適した1つ以上のネットワークインタフェースカード、アンテナ、バス、スイッチ、ルータ、モデム、ならびに支援ハードウェアおよび/もしくはソフトウェア、または任意の他のデバイスを備えていてよい。付加的にまたは代替的に、通信インタフェースは、アンテナと対話して当該アンテナを介して信号の送信を行わせ、または当該アンテナを介して受信される信号の受信をハンドリングする回路を備えていてよい。
本明細書において考察される情報の全てまたは幾つかは、装置300の1つ以上の構成要素により受信され、生成され、かつ/または維持されるデータに基づきうることにも留意されたい。幾つかの実施形態では、本明細書において考察される機能の少なくとも幾つかを提供するために、1つ以上の外部システム(例えば、遠隔のクラウド演算システムおよび/またはデータストレージシステム)も活用されてもよい。
[本開示の実施形態を実装する例示的な方法]
例えば図4~図12に示す例示的な方法を含む、本明細書において説明する様々な方法は、グループベース通信システムにおいてデータの取り出しを向上させることができる。
流れ図の各ブロック、および流れ図のブロックの組み合わせが様々な手段、例えば1つ以上のコンピュータプログラム命令を含むソフトウェアの実行に関連付けられたハードウェア、ファームウェア、回路、および/または他のデバイスにより実装されてもよいことに留意されたい。例えば、図4~図12に説明する複数の手順の1つ以上がコンピュータプログラム命令により具現化されうる。コンピュータプログラム命令は、本開示の実施形態を採用する装置の非一時的メモリにより記憶され、装置内のプロセッサにより実行されてもよい。コンピュータ可読ストレージメモリに記憶されたこれらのコンピュータプログラム命令が製造物品を生成し、製造物品の実行により流れ図のブロックにおいて特定される機能を実行するように、コンピュータプログラム命令は、コンピュータまたは他のプログラム可能な装置に特定の態様で機能するように指示することができる。
上記のように、また本開示に基づいて理解されるように、本開示の実施形態は、方法、携帯デバイス、バックエンドネットワークデバイス等として構成されていてよい。したがって、実施形態は、ハードウェアまたはソフトウェアおよびハードウェアの任意の組み合わせの全てを含む様々な手段を備えることができる。さらに、実施形態は、少なくとも1つの非一時的コンピュータ可読ストレージ媒体に記憶されたコンピュータプログラム製品の形態を取り、コンピュータ可読プログラム命令(例えばコンピュータソフトウェア)が、このストレージ媒体内で具現化されうる。同様に、実施形態は、少なくとも1つの非一時的コンピュータ可読ストレージ媒体に記憶されたコンピュータプログラムコードの形態を取ってもよい。非一時的ハードディスク、CD-ROM、フラッシュメモリ、光ストレージデバイス、または磁気ストレージデバイスを含む任意の適したコンピュータ可読ストレージ媒体が利用されてもよい。
ここで図4を参照して例示的な方法400を示す。具体的には、例示的な方法400は、グループベース通信プラットフォームのグループベース通信チャネルに少なくとも1つの通信バリアを実装する例を示す。
例示的な方法400は、ブロック402で開始することができる。ブロック404において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のユーザ識別子と第1のグループ識別子との間の第1のグループ相関を受信しうる。
上記のように、「グループ相関」なる用語は、グループベース通信システムのユーザをグループベース通信システムのグループと相関または結びつけることができる1つ以上のデータ項目を指す。例えば、第1のグループ相関は、第1のユーザ(第1のユーザ識別子により識別される)が第1のユーザグループ(第1のグループ識別子により識別される)の一部であることを示しうる。
幾つかの例では、処理回路は、第1のグループ相関をクライアントデバイスから受信しうる。例えば、クライアントデバイス(図1に関連して上述したクライアントデバイス101A,101B,…,101N等)を操作するユーザは、グループベース通信システムに電子要求を送信してもよく、この電子要求は、対応するグループ識別子に関連付けられ、または相関される必要があるユーザ識別子を識別しうる。幾つかの例では、処理回路は、1つ以上のグループ相関をプログラムにより判定しうる。その詳細を、少なくとも図8に関連して説明する。
幾つかの例では、第1のユーザ識別子は、第1の作業領域識別子に関連付けられうる。上記のように、「作業領域」なる用語は、認証ユーザアカウントを含みうる電子的に管理されるデータを指す。例えば、ある組織の同じ部署内の一人以上のユーザは、グループベース通信システムの同じグループベース通信作業領域に参加しうる。この例では、これらのユーザのユーザ識別子は、同じグループベース通信作業領域に対応する同じ作業領域識別子に関連付けられうる。ユーザのユーザ識別子が作業領域識別子に関連付けられる例において、ユーザは、1つ以上のグループベース通信チャネルおよびその関連するグループベース通信チャネルデータを含む、対応するグループベース通信作業領域に関連付けられた1つ以上のデータにアクセスしうる。
幾つかの例では、第1のユーザ識別子は、第1のグループベース通信チャネルに関連付けられうる。第1のユーザ識別子と第1のグループベース通信チャネルとの間の関連付けは、ユーザが第1のグループベース通信チャネルのメンバであることを示しうる。
幾つかの例では、第1のグループベース通信チャネルは、第1の作業領域識別子および第2の作業領域識別子に関連付けられうる。上記のように、第1のグループベース通信チャネルは、「多作業領域グループベース通信チャネル」であってよい。第1の作業領域識別子は、第1のグループベース通信作業領域を識別してもよく、第2の作業領域識別子は、第2のグループベース通信作業領域を識別しうる。例として、第1のグループベース通信作業領域および第2のグループベース通信作業領域は、組織内の異なる部署(またはチーム)に対応しうる。この例では、第1のグループベース通信チャネルは、異なる部署(またはチーム)のメンバがメッセージング通信を投稿し、これらの異なる部署(またはチーム)の間で情報を交換するのを可能にしうる。幾つかの例では、第1の作業領域識別子および第2の作業領域識別子のそれぞれが複数のグループ識別子に関連付けられうる。
ブロック406で、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第2のユーザ識別子と第2のグループ識別子との間の第2のグループ相関を受信しうる。
ブロック404に関連して上述したのと同様に、処理回路は第2のグループ相関をクライアントデバイスから受信してもよく、かつ/または第2のグループ相関をプログラムにより判定しうる。その詳細を本明細書において説明する。第2のグループ相関は、第2のユーザ(第2のユーザ識別子により識別される)が第2のユーザグループ(第2のグループ識別子により識別される)の一部であることを示しうる。
幾つかの例では、第2のユーザ識別子は、ブロック404に関連して上述したのと同様に、第1のグループベース通信チャネルに関連付けられうる。幾つかの例では、第1のユーザ識別子および第2のユーザ識別子の両方が同じグループベース通信チャネルに関連付けられうる。こうした例では、第1のユーザ(第1のユーザ識別子により識別される)および第2のユーザ(第2のユーザ識別子により識別される)の両方が同じグループベース通信チャネルのメンバであってよい。
幾つかの例では、第2のユーザ識別子は、第2の作業領域識別子に関連付けられうる。ブロック404に関連して上述したように、第1のユーザ識別子は、第2の作業領域識別子とは異なる第1の作業領域識別子に関連付けられうる。こうした例では、第1のユーザ(第1のユーザ識別子により識別される)および第2のユーザ(第2のユーザ識別子により識別される)は、異なる部署(またはチーム)のメンバであってよい。
ブロック408で、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のグループ識別子および第2のグループ識別子に関連付けられた通信分離設定セットを取り出しうる。
上記のように、「通信分離設定セット」なる用語は、一方のユーザおよび/または一方のユーザグループがグループベース通信システム経由で他方のユーザおよび/または他方のユーザグループと通信しうるかどうかについての1つ以上のコンピュータ生成規則および/またはユーザ設定規則を示しうる1つ以上のデータ項目を指す。
例えば、通信分離設定セットは、第1のグループ識別子と第2のグループ識別子との間に少なくとも1つの通信バリアがあることを示しうる。この例では、通信バリアは、第1のグループ識別子に関連付けられたユーザに、グループベース通信システム経由で第2のグループ識別子に関連付けられたユーザから通信を受信し、第2のグループ識別子に関連付けられたユーザに通信を送信し、第2のグループ識別子に関連付けられたユーザに関連付けられた通信を閲覧し、かつ/または第2のグループ識別子に関連付けられたユーザと通信する通信権限が認められないことを示しうる。例えば、処理回路は、第1のユーザグループと第2のユーザグループとが互いに通信するのを禁止する、第1のユーザグループと第2のユーザグループとの間の利益相反があると判定しうる。
付加的にまたは代替的に、通信分離設定セットは、第1のグループ識別子と、グループベース通信プラットフォームに関連付けられた複数のグループ識別子との間の複数の通信バリアを示しうる。例えば、通信バリアは、第1のグループ識別子に関連付けられたユーザに、例えば、グループベース通信システムの任意の他のユーザから通信を受信し、グループベース通信システムの任意の他のユーザに通信を送信し、グループベース通信システムの任意の他のユーザに関連付けられた通信を閲覧し、かつ/またはグループベース通信システムの任意の他のユーザと通信する通信権限を認めないことを示しうる。
付加的にまたは代替的に、通信分離設定セットはプライバシー権限設定を含んでいてよい。その詳細を少なくとも図12に関連して説明する。
ブロック410において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあるかを判定しうる。
ブロック410において第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがないと処理回路が判定した場合、方法400はブロック414に進むことができ、終了する。
幾つかの例では、処理回路は、第1のユーザおよび第2のユーザが異なるグループ識別子および異なる作業領域識別子に関連付けられているにもかかわらず、通信バリアがないと判定しうる。こうした例では、処理回路は、異なるグループ識別子および/または異なる作業領域識別子を有するメンバを含むグループベース通信チャネルをレンダリングさせうる。
ブロック410において第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあると処理回路が判定した場合、方法400はブロック412に進むことができる。
ブロック412において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、少なくとも1つの通信バリアに少なくとも部分的に基づいてグループベース通信インタフェース上に第1のグループベース通信チャネルに関連付けられた第1の電子指標をレンダリングさせうる。
幾つかの例では、第1の電子指標は、第1のグループベース通信チャネルと第2の作業領域識別子との間の推奨分離を示しうる。幾つかの例では、第1の電子指標は電子メッセージの形態であってよい。例えば、処理回路は、グループベース通信インタフェース上に、第1のグループベース通信チャネルが第2の作業領域識別子から分離されることを示すことができる電子メッセージをレンダリングさせうる。この例では、処理回路は、(第2のユーザ識別子を含む)第1のグループベース通信チャネルから第2の作業領域識別子に関連付けられたユーザ識別子を削除しうる。したがって、第1のグループベース通信チャネルの残りのメンバは、第1の作業領域識別子のみに関連付けられ、通信分離設定セットの通信バリアが実装されてもよい。
付加的にまたは代替的に、第1の電子指標は、第1のグループベース通信チャネルに関連付けられたメッセージング通信のアーカイブコピーを含んでいてよい。幾つかの例では、第1のグループベース通信チャネルのメンバがメッセージング通信を第1のグループベース通信チャネルに投稿できなくなるように、処理回路は、第1のグループベース通信チャネルの投稿権限を読み取り専用に変更しうる。幾つかの例では、処理回路は、閲覧権限を読み取り専用に変更することにより第1のグループベース通信チャネル内の既存のメッセージング通信をアーカイブ化し、これらのメッセージング通信のアーカイブコピーをレンダリングしてグループベース通信インタフェース上に表示しうる。
付加的にまたは代替的に、第1のグループベース通信チャネルが中止され、第1のグループベース通信チャネルの以前のメンバが第1のグループベース通信チャネル経由で互いに通信できなくなるように、処理回路は、グループベース通信インタフェースから第1のグループベース通信チャネルのレンダリングを削除しうる。
例示的な方法400は、ブロック414で終了することができる。
付加的にまたは代替的に、処理回路は、通信バリアが1つ以上の特定の種類のメッセージング通信(例えば、テキスト、ビデオ、メッセージ等)に関連付けられていると判定しうる。処理回路が異なるユーザグループ間のメッセージング通信を受信した場合、処理回路は、メッセージング通信の種類が通信バリアに関連付けられたこれらのメッセージング通信のうちの1つであるかを判定しうる。そうである場合、メッセージング通信を遮断しうる。そうでない場合、メッセージング通信を許可しうる。
ここで図5を参照して例示的な方法500を示す。具体的には、例示的な方法500は、グループベース通信プラットフォームに関連付けられたグループベース通信作業領域に少なくとも1つの通信バリアを実装する例を示す。
例示的な方法500は、ブロック501で開始することができる。ブロック503において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、図4に関連して説明したのと同様に、第1のユーザ識別子と第1のグループ識別子との間の第1のグループ相関を受信しうる。
ブロック505において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、図4に関連して上述したのと同様に、第3のユーザ識別子と第2のグループ識別子との間の第3のグループ相関を受信しうる。
ブロック507において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のユーザ識別子および第2のユーザ識別子の両方が同じ作業領域識別子に関連付けられているかを判定しうる。
幾つかの例では、処理回路は、グループベース通信システムの複数のグループベース通信作業領域に関連付けられた認証ユーザアカウントのリストを取り出しうる。こうした例では、このリストは、複数のグループベース通信作業領域のそれぞれに関連付けられたユーザ識別子を含んでいてよい。処理回路は、(グループベース通信作業領域のそれぞれに関連付けられた)ユーザ識別子を第1のユーザ識別子および第2のユーザ識別子と比較して、第1のユーザ識別子および第2のユーザ識別子の両方が同じ作業領域識別子に関連付けられているかを判定しうる。
ブロック507において、第1のユーザ識別子および第2のユーザ識別子が同じ作業領域識別子に関連付けられていないと処理回路が判定した場合、方法500はブロック513に進むことができ、終了する。
幾つかの例では、処理回路は、第1のユーザおよび第2のユーザが異なるグループ識別子に関連付けられているにもかかわらず、通信バリアがないと判定しうる。こうした例では、処理回路は、異なるグループ識別子を有するメンバを含むグループベース通信作業領域をレンダリングさせうる。
ブロック507において第1のユーザ識別子および第2のユーザ識別子の両方が同じ作業領域識別子に関連付けられていると処理回路が判定した場合、方法500はブロック509に進むことができる。
ブロック509において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のグループ識別子と第2のグループ識別子との間に通信バリアがあるかを判定しうる。
ブロック503およびブロック505に関連して上述したように、第1のユーザ識別子は第1のグループ識別子に関連付けられてもよく、第3のユーザ識別子は第2のグループ識別子に関連付けられうる。幾つかの例では、処理回路は、図4のブロック408に関連して上述したのと同様に、第1のグループ識別子および第2のグループ識別子に関連付けられた通信分離設定セットを取り出しうる。通信分離設定セットに基づいて、処理回路は、図4のブロック410に関連して上述したのと同様に、第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあるかどうかを判定しうる。
ブロック509において第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがないと処理回路が判定した場合、方法500はブロック513に進むことができ、終了する。
ブロック509において第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあると処理回路が判定した場合、方法500はブロック511に進むことができる。
ブロック511において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のグループ識別子と第2のグループ識別子との間の少なくとも1つの通信バリアに少なくとも部分的に基づいて第3のユーザ識別子と第1の作業領域識別子との間の推奨分離を生成しうる。
幾つかの例では、処理回路は、グループベース通信インタフェース上に、第3のユーザ識別子に関連付けられた第2の電子指標をレンダリングさせうる。例えば、第2の電子指標は、ブロック511において生成された推奨関連付けを示すメッセージング通信を含んでいてよい。付加的にまたは代替的に、第2の電子指標は、第3のユーザ識別子と第2の作業領域識別子との間の推奨分離を示すメッセージング通信を含んでいてよい。
例示的な方法500は、ブロック513で終了することができる。
ここで図6を参照して例示的な方法600を示す。具体的には、例示的な方法600は、グループベース通信プラットフォームにユーザ間のダイレクトメッセージに関連付けられた少なくとも1つの通信バリアを実装する例を示す。
例示的な方法600は、ブロック602で開始することができる。ブロック604において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のユーザ識別子および第2のユーザ識別子に関連付けられた複数のダイレクトメッセージに関するダイレクトメッセージ設定セットを取り出しうる。
上記のように、「ダイレクトメッセージ設定セット」なる用語は、二人のユーザの間のダイレクトメッセージ機能に関連付けられた1つ以上の特徴を制御することができる1つ以上のコンピュータ生成規則および/またはユーザ設定規則を示すことができる1つ以上のデータ項目を指す。例えば、ブロック602において取り出されるダイレクトメッセージ設定セットは、第1のユーザ識別子により識別された第1のユーザが複数のダイレクトメッセージを用いて第2のユーザ識別子により識別された第2のユーザとメッセージング通信を交換するのを許可しうるかどうか、かつ/またはこれらのダイレクトメッセージをどのようにレンダリングしてグループベース通信インタフェース上に表示しうるかどうかについての規則を含んでいてよい。
ブロック606において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、図4に関連して説明したのと同様に、第1のユーザ識別子と第1のグループ識別子との間の第1のグループ相関を受信しうる。
ブロック608において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、図4に関連して上述したのと同様に、第2のユーザ識別子と第2のグループ識別子との間の第2のグループ相関を受信しうる。
ブロック610において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のグループ識別子と第2のグループ識別子との間に通信バリアがあるかを判定しうる。
ブロック606およびブロック608に関連して上述したように、第1のユーザ識別子は第1のグループ識別子に関連付けられてもよく、第2のユーザ識別子は第2のグループ識別子に関連付けられうる。幾つかの例では、処理回路は、図4のブロック408に関連して上述したのと同様に、第1のグループ識別子および第2のグループ識別子に関連付けられた通信分離設定セットを取り出しうる。通信分離設定セットに基づいて、処理回路は、図4のブロック410に関連して上述したのと同様に、第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあるかを判定しうる。
ブロック612において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、ダイレクトメッセージ設定セットを更新しうる。
例えば、第1のグループ識別子と第2のグループ識別子との間の少なくとも1つの通信バリアに少なくとも部分的に基づいて、処理回路は、ダイレクトメッセージ設定セットにより、複数のダイレクトメッセージ(例えば、これらのユーザに関連付けられたダイレクトメッセージの全て)が読み取り専用であることを示しうる。こうした例では、第1のユーザおよび第2のユーザがこれらのダイレクトメッセージを変更または編集できないように、処理回路は、第1のユーザ識別子および第2のユーザ識別子に関連付けられた既存のダイレクトメッセージをアーカイブ化しうる。
付加的にまたは代替的に、処理回路は、グループベース通信インタフェース上に、第2のユーザ識別子とダイレクトメッセージ設定セットとの間の推奨分離を示す第2の電子指標をレンダリングさせうる。例えば、処理回路は、通信バリアがあるので、第2のユーザがダイレクトメッセージを用いて第1のユーザとメッセージング通信を交換するのを許可することができなくなることを示す電子メッセージをレンダリングさせうる。
付加的にまたは代替的に、処理回路は、ダイレクトメッセージのレンダリングをグループベース通信インタフェースから削除しうる。その結果、第1のユーザ識別子および第2のユーザ識別子により識別された複数のユーザがダイレクトメッセージを用いてメッセージング通信を交換することは許可されなくなる。
例示的な方法600は、ブロック614で終了することができる。
ここで図7を参照して例示的な方法700を示す。具体的には、例示的な方法700は、グループベース通信プラットフォームにユーザ間のマルチパーティダイレクトメッセージに関連付けられた少なくとも1つの通信バリアを実装する例を示す。
例示的な方法700は、ブロック701で開始することができる。ブロック703において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、複数のマルチパーティダイレクトメッセージに関連付けられたマルチパーティダイレクトメッセージ設定セットを取り出しうる。図7に示す例において、複数のマルチパーティダイレクトメッセージは、第1のユーザ識別子705、第2のユーザ識別子707、および第3のユーザ識別子709に関連付けられうる。
上記のように、「マルチパーティダイレクトメッセージ設定」なる用語は、三人以上のユーザに関連付けられたマルチパーティダイレクトメッセージ機能に関連付けられた1つ以上の特徴を制御することができる1つ以上のコンピュータ生成規則および/またはユーザ設定規則を示すことができる1つ以上のデータ項目を指す。例えば、ブロック703において取り出されたマルチパーティダイレクトメッセージ設定セットは、第1のユーザ識別子705により識別された第1のユーザ、第2のユーザ識別子707により識別された第2のユーザ、および第3のユーザ識別子709により識別された第3のユーザがマルチパーティダイレクトメッセージを用いて互いにメッセージング通信を交換するのを許可しうるか、かつ/またはこれらのマルチパーティダイレクトメッセージをどのようにレンダリングしてグループベース通信インタフェース上に表示しうるかどうかについての規則を含んでいてよい。
ブロック711において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のユーザ識別子、第2のユーザ識別子、および第3のユーザ識別子に関連付けられたグループ識別子に関連付けられた通信バリアがあるかを判定しうる。
例えば、処理回路は、図4のブロック404およびブロック406に関連して上述したように、第1のユーザ識別子、第2のユーザ識別子、および第3のユーザ識別子に関連付けられた1つ以上のグループ相関を取り出し、または受信しうる。1つ以上のグループ相関に基づいて、処理回路は、第1のユーザ識別子、第2のユーザ識別子、および第3のユーザ識別子に関連付けられた1つ以上のグループ識別子を判定しうる。幾つかの例では、処理回路は、図4のブロック408に関連して上述したように、グループ相関において示されるグループ識別子に関連付けられた通信分離設定セットを取り出しうる。通信分離設定セットに基づいて、処理回路は、図4のブロック410に関連して上述したように、第1のユーザ識別子、第2のユーザ識別子、および第3のユーザ識別子に関連付けられたグループ識別子に関連付けられた通信バリアがあるかを判定しうる。
ブロック711において第1のユーザ識別子、第2のユーザ識別子、および第3のユーザ識別子に関連付けられたグループ識別子に関連付けられた通信バリアがないと処理回路が判定した場合、方法700はブロック715に進むことができ、終了する。
ブロック711において第1のユーザ識別子、第2のユーザ識別子、および第3のユーザ識別子に関連付けられたグループ識別子に関連付けられた通信バリアがあると処理回路が判定した場合、方法700はブロック713に進むことができる。
ブロック713において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、マルチパーティダイレクトメッセージ設定セットを更新しうる。
例えば通信バリアに少なくとも部分的に基づいて、処理回路は、マルチパーティダイレクトメッセージ設定セットにより、複数のマルチパーティダイレクトメッセージ(例えば、これらのユーザに関連付けられたマルチパーティダイレクトメッセージの全て)が読み取り専用であることを示しうる。こうした例では、第1のユーザ、第2のユーザ、および第3のユーザがこれらのマルチパーティダイレクトメッセージを変更または編集できないように、処理回路は、これらのユーザに関連付けられた既存のマルチパーティダイレクトメッセージをアーカイブ化しうる。
付加的にまたは代替的に、処理回路は、グループベース通信インタフェース上に、ユーザ識別子のうちの1つ以上およびマルチパーティダイレクトメッセージ設定セットの推奨分離を示す第2の電子指標をレンダリングさせうる。例として、ブロック711において処理回路は、第1のユーザ識別子および第3のユーザ識別子の両方が第1のグループ識別子に関連付けられており、第2のユーザ識別子が第2のグループ識別子に関連付けられていると判定しうる。この例では、処理回路は、第2のユーザ識別子とマルチパーティダイレクトメッセージ設定セットとの間の推奨分離を生成し、その結果、第2のユーザ識別子がマルチパーティダイレクトメッセージから削除され、第2のユーザがマルチパーティダイレクトメッセージを用いて第1のユーザおよび第3のユーザとメッセージング通信を交換することが許可されないようにしうる。第1のユーザおよび第3のユーザがマルチパーティダイレクトメッセージを用いてメッセージング通信の交換を続けることができるように、処理回路は、マルチパーティダイレクトメッセージ設定セットの第1のユーザ識別子および第3のユーザ識別子との関連付けを維持しうる。
付加的にまたは代替的に、処理回路は、マルチパーティダイレクトメッセージのレンダリングをグループベース通信インタフェースから削除しうる。その結果、第1のユーザ、第2のユーザ、および第3のユーザがマルチパーティダイレクトメッセージを用いてメッセージング通信を交換することが許可されなくなる。
例示的な方法700は、ブロック715で終了することができる。
図4、図6および図8に示す例はグループベース通信チャネル内におけるメッセージング通信、ダイレクトメッセージ、およびマルチパーティダイレクトメッセージに関するが、本論説の範囲はこれらの形態のメッセージング通信に限定されないことに留意されたい。幾つかの例では、本開示の例示的な実施形態は、グループベース通信システムに関連付けられた他の形態の通信に1つ以上の通信バリアを実装しうる。
例えば、本開示の例示的な実施形態は、グループベース通信システムと通信する外部リソースから受信されるメッセージング通信に1つ以上の通信バリアを実装しうる。本開示において、「外部リソース」なる用語は、グループベース通信インタフェースを介して外部サービス(すなわち、グループベース通信システムが本来サポートしない(not native to))をクライアントデバイスおよび/またはグループベース通信サーバに提供するために、グループベース通信システムと通信するように構成されうるソフトウェアプログラム、アプリケーション、プラットフォーム、サービス、および/または関連ハードウェアを指す。幾つかの実施形態では、1つ以上のアプリケーションプログラミングインタフェース(API)を介して外部リソースがグループベース通信システムと通信してもよく、逆にグループベース通信システムが外部リソースと通信しうる。例示的な外部リソースとしては、サードパーティソフトウェアプラグイン(例えばボット(bot))が挙げられうるが、これに限定されない。
幾つかの例では、(ユーザにより許可された)外部リソースは、ユーザの代理としてグループベース通信チャネルへのメッセージング通信、ダイレクトメッセージ、マルチパーティメッセージを提供しうる。幾つかの例では、処理回路は、本明細書において説明したのと同様に、外部リソースから受信される通信に関連して少なくとも1つの通信バリアを実装しうる。例えば、処理回路は(例えば、メッセージング通信に関連付けられたメタデータに基づいて)外部リソースからのメッセージング通信に関連付けられた第1のユーザ識別子を判定しうる。処理回路は、第1のユーザ識別子に関連付けられた1つ以上のグループ相関を判定し、第1のユーザ識別子に関連付けられたグループ識別子と、グループベース通信チャネル、ダイレクトメッセージ、および/またはマルチパーティメッセージのユーザ識別子に関連付けられた他のグループ識別子との間に通信バリアがあるかを判定しうる。通信バリアがあるかの判定に基づいて、処理回路は、本明細書において説明したのと同様に、1つ以上の電子指標をレンダリングさせうる。
ここで図8を参照して例示的な方法800を示す。具体的には、例示的な方法800は、グループベース通信プラットフォームに少なくとも1つの通信バリアを実装する際にグループ相関をプログラムにより判定する例を示す。
例示的な方法800は、ブロック802で開始することができる。ブロック804において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、グループベース通信リポジトリから第1のユーザ識別子に関連付けられた複数のメッセージング通信を取り出しうる。例えば図1を再び参照すると、グループベース通信サーバ109の処理回路は、第1のユーザ識別子に基づいてグループベース通信リポジトリ107から複数のメッセージング通信を取り出しうる。例えば、処理回路は、メッセージング通信に関連付けられたメタデータが第1のユーザ識別子を示すことができるかに基づいてグループベース通信リポジトリ内に記憶されたメッセージング通信をトラバースしうる。
幾つかの例では、処理回路は、クライアントデバイス(例えば、図1のクライアントデバイス101A~101Nのうちの1つのクライアントデバイス)を操作するユーザからの電子要求に応答して複数のメッセージング通信を取り出しうる。例えば、電子要求はユーザからの、ユーザ識別子に関連付けられたグループ相関の生成または更新の要求を示しうる。
幾つかの例では、処理回路は、所定の時間間隔に基づいて複数のメッセージング通信を取り出しうる。例えば、処理回路は、72時間毎に複数のメッセージング通信を取り出して第1のユーザ識別子に関連付けられたグループ相関を修正し、または更新するべきかを判定しうる。
ブロック806において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、複数のメッセージング通信および機械学習モデルに少なくとも部分的に基づいて第1のユーザ識別子の推奨グループ相関および/または推奨通信分離設定を生成しうる。
本開示において、「機械学習モデル」なる用語は、例えばパターン認識および/または干渉認識(これらに限定されない)により、明示的な命令を必要とせずに1つ以上の具体的な課題を実行することができる1つ以上のコンピュータソフトウェアアルゴリズムおよび/または関連ハードウェア装置を指す。例示的な機械学習モデルとしては、アンサンブルモデル、深層学習モデル、回帰モデル等が挙げられうるが、これらに限定されない。
幾つかの例では、処理回路は、機械学習モデルへの入力としてメッセージング通信を提供しうる。例えば、処理回路は、自然言語処理(NLP)アルゴリズムを実装して複数のメッセージング通信に対してトピックモデリングを実行しうる。例として、処理回路は、複数のメッセージング通信に対する潜在的意味解析(LSA)を実装してこれらの通信に関連付けられた1つ以上のキーワード(例えば「相反」)を識別しうる。付加的にまたは代替的に、NLPアルゴリズムは固有表現認識を実行しうる。これにより、メッセージング通信で言及されたエンティティ(例えば、ユーザ、ユーザグループ、作業領域、組織)を抽出することができる。
上記の例はNLPアルゴリズムを用いるものとして示しているが、本開示の範囲はNLPアルゴリズムのみに限定されないことに留意されたい。幾つかの例では、NLPアルゴリズムに加えて、またはこれに代えて、他の人工知能モデルおよび/または機械学習が実装されてもよい。そのような例としては、分類モデルが挙げられうるが、これに限定されない(例えば、ロジスティック回帰、決定木、ランダムフォレスト、勾配ブーステッド木、多層パーセプトロン、一対他、および単純ベイズ。これらに限定されない)。
例えば、通信パターンは、例えば、ユーザにより送信されたメッセージおよび/またはユーザが一部となるチャネル(これらの限定されない)に基づいてこれらの機械学習モデルのうちの1つ以上により判定されてもよい。通信パターンを用いてユーザの対応するグループ(および関連付けられた通信バリア)を判定しうる。その例については上述した。
機械学習モデルの出力(例えば、トピックモデリングおよび/または固有表現認識からの出力)に基づいて、処理回路は、他のユーザと潜在的な利益相反を有する可能性がある一人以上のユーザを識別してもよく、利益相反を有する可能性があるユーザが異なるグループ識別子に関連付けられうるように、推奨グループ相関および/または推奨通信分離設定を生成しうる。
例えば、機械学習モデルの出力は、第1のユーザ識別子に関連付けられた第1のユーザが第2のユーザ識別子に関連付けられた第2のユーザと利益相反を有する可能性があることを示しうる。この例では、処理回路は、第1のユーザ識別子を第1のグループ識別子に関連付ける推奨グループ相関および第2のユーザ識別子を第2のグループ識別子に関連付ける推奨グループ相関を生成しうる。処理回路は、第1のグループ識別子と第2のグループ識別子との間の通信バリアを示す通信分離設定を生成しうる。
ブロック808において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、グループベース通信インタフェース上に、推奨グループ相関および/または推奨通信分離設定を示す電子指標をレンダリングさせうる。
例えば、処理回路は、ブロック806において判定したように、グループベース通信インタフェース上に、第1のユーザ識別子を推奨グループ識別子と相関させることを推奨することを示す電子メッセージおよび/または第1のユーザ識別子に関連付けられた推奨通信分離設定を示す電子メッセージをレンダリングさせうる。
ブロック810において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、推奨グループ相関を示す電子指標に応答してユーザ入力を受信しうる。
例えば、ユーザはグループベース通信システムの管理者であってよく、推奨グループ相関および/または通信分離設定が正確か、かつ/または必要かについての入力を提供しうる。例えば、ユーザ入力は、第1のユーザがグループベース通信システムの他のユーザと利益相反を有さず、したがって推奨グループ相関および/または通信分離設定が必要でないことを示しうる。
ブロック812において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、ユーザ入力に少なくとも部分的に基づいて機械学習モデルを更新しうる。
例えば、処理回路は、ブロック810において受信したユーザ入力を、推奨グループ相関および/または推奨通信分離設定を生成するためにブロック806で用いられる機械学習モデルを訓練する訓練セットとして提供しうる。例えば、処理回路は、機械学習モデルからの出力がブロック810で受信したユーザ入力と合致できるように、機械学習モデルに関連付けられた1つ以上のパラメータを調整しうる。このフィードバックループを実装することにより、推奨グループ相関および/または推奨通信分離設定を生成する精度が向上しうる。
図8の上記例は、推奨グループ相関/推奨通信分離設定を生成するためのメッセージング通信への機械学習モデルの実装を示しているが、本開示の範囲は推奨グループ相関/推奨通信分離設定を生成する基礎としてメッセージング通信を用いることに限定されないことに留意されたい。付加的にまたは代替的に、他のデータソースを用いて推奨グループ相関を生成しうる。例えば、処理回路は、サードパーティプラットフォームにより記憶および管理されてよいグループベース通信システムのユーザ識別および/またはユーザ認証に関連付けられたデータを利用してもよく、これらのデータおよび/または1つ以上の機械学習モデルに基づいて1つ以上の推奨グループ相関および/または推奨通信分離設定を生成しうる。
例示的な方法800は、ブロック814で終了することができる。
ここで図9を参照して例示的な方法900を示す。具体的には、例示的な方法900は、グループベース通信プラットフォームに少なくとも1つの通信バリアを実装する例を示す。
例示的な方法900は、ブロック901で開始することができる。ブロック903において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のユーザ識別子およびグループベース通信チャネルに関連付けられたグループベース通信チャネル参加要求および/またはグループベース通信チャネル閲覧要求を受信しうる。
上記のように、グループベース通信チャネル参加要求がクライアントデバイスからグループベース通信システムに送信されてもよい。グループベース通信チャネル参加要求は、クライアントデバイスに関連付けられたユーザ識別子、およびユーザが参加してメンバになることを意図するグループベース通信チャネルに関連付けられたチャネル識別子を含んでいてよい。同様に、グループベース通信チャネル閲覧要求がクライアントデバイスからグループベース通信システムに送信されてもよい。グループベース通信チャネル閲覧要求は、クライアントデバイスに関連付けられたユーザ識別子、およびグループベース通信チャネルに関連付けられたチャネル識別子を含んでいてよい。グループベース通信チャネル閲覧要求は、ユーザがグループベース通信チャネルに関連付けられたデータ/情報(例えばメッセージング通信)の閲覧を意図することを示しうる。
幾つかの例では、グループベース通信チャネルはアナウンスチャネルであってよい。上記のように、アナウンスチャネルの管理者は、アナウンスチャネルに関連付けられた投稿権限を設定しうる。例えば、グループベース通信チャネル参加要求またはグループベース通信チャネル閲覧要求が、アナウンスチャネルに関連付けられうる。この場合に、アナウンスチャネルのユーザは、アナウンスチャネルに関連付けられたメッセージング通信の閲覧を許可されるだけであり、アナウンスチャネルにメッセージング通信を投稿する投稿権限は提供されない。
幾つかの例では、グループベース通信チャネルは、上記の多作業領域グループベース通信チャネルであってよい。
ブロック905において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のユーザ識別子に関連付けられたグループ識別子と、グループベース通信チャネルに関連付けられたユーザ識別子とに関連付けられた通信バリアがあるかを判定しうる。
例えば、処理回路は、図4のブロック404およびブロック406に関連して上述したのと同様に、第1のユーザ識別子に関連付けられた1つ以上のグループ相関を取り出し、または受信しうる。1つ以上のグループ相関に基づいて、処理回路は、第1のユーザ識別子に関連付けられた1つ以上のグループ識別子を判定しうる。
処理回路は、グループベース通信チャネルのメンバを示しうる、グループベース通信チャネルに関連付けられたユーザ識別子のリストを取り出しうる。ユーザ識別子のリストに基づいて、処理回路は、図4のブロック404およびブロック406に関連して上述したのと同様に、これらのユーザ識別子に関連付けられた1つ以上のグループ相関を取り出し、または受信する。1つ以上のグループ相関に基づいて、処理回路は、グループベース通信チャネルに関連付けられた1つ以上のグループ識別子を判定しうる。
幾つかの例では、処理回路は、図4のブロック408に関連して上述したのと同様に、第1のユーザ識別子に関連付けられたグループ識別子と、グループベース通信チャネルに関連付けられたユーザ識別子とに関連付けられた通信分離設定セットを取り出しうる。通信分離設定セットに基づいて、処理回路は、図4のブロック410に関連して上述したのと同様に、第1のユーザ識別子に関連付けられたグループ識別子と、グループベース通信チャネルに関連付けられたユーザ識別子とに関連付けられた通信バリアがあるかを判定しうる。
例として、処理回路は、第1のユーザ識別子と第1のグループ識別子との間の第1のグループ相関を受信しうる。処理回路は、第2のユーザ識別子がグループベース通信チャネルに関連付けられていることを判定して、第2のユーザ識別子と第2のグループ識別子との間の第2のグループ相関を受信しうる。ブロック408において、処理回路は、通信分離設定セットに基づいて第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあるかを判定しうる。
ブロック905において処理回路が第1のユーザ識別子に関連付けられたグループ識別子と、グループベース通信チャネルに関連付けられたユーザ識別子とに関連付けられた通信バリアがあると判定した場合、方法900は、ブロック907に進むことができる。
ブロック907において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、通信バリアに少なくとも部分的に基づいてグループベース通信インタフェース上に電子指標をレンダリングさせうる。
幾つかの例では、処理回路は、通信バリアに基づいてグループベース通信チャネル参加要求/グループベース通信チャネル閲覧要求を拒否しうる。例えば、電子指標は、第1のユーザ識別子により識別されたユーザがグループベース通信チャネルに参加/閲覧するのを許可しないことを示すメッセージング通信を含んでいてよい。
ブロック905において第1のユーザ識別子に関連付けられたグループ識別子と、グループベース通信チャネルに関連付けられたユーザ識別子とに関連付けられた通信バリアがないと処理回路が判定した場合、方法900は、ブロック909に進むことができる。
ブロック909において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、ブロック903において受信したグループベース通信チャネル参加要求/グループベース通信チャネル閲覧要求に応答して第1のユーザ識別子のグループベース通信チャネル参加/グループベース通信チャネル閲覧を許可しうる。幾つかの例では、処理回路は、グループベース通信インタフェース上に、第1のユーザ識別子により識別されたユーザがグループベース通信チャネルに参加/閲覧するのを許可することを示す電子指標をレンダリングさせうる。
例示的な方法900は、ブロック911で終了することができる。
ここで図10を参照して例示的な方法1000を示す。具体的には、例示的な方法1000は、グループベース通信プラットフォームに、メッセージング通信検索要求に関連付けられた少なくとも1つの通信バリアを実装する例を示す。
例示的な方法1000は、ブロック1002で開始することができる。ブロック1004において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のグループ識別子に関連付けられたユーザデバイスから検索文字列を含むメッセージング通信検索要求を受信しうる。
上記のように、「メッセージング通信検索要求」は、グループベース通信システムに関連付けられた1つ以上のメッセージング通信を取り出すための電子要求を指す。例えば、メッセージング通信検索要求の検索文字列は、1つ以上のメッセージング通信を取り出すための1つ以上の検索用語を示しうる。
幾つかの例では、メッセージング通信検索要求は、第1のグループ識別子に関連付けられたユーザデバイスから受信されてもよい。例えば上記のように、それぞれのクライアントデバイスがクライアントデバイスを操作するユーザを示すユーザ識別子に関連付けられうる。ユーザ識別子に基づいて、処理回路は、図4に関連して上述したのと同様に、ユーザ識別子と1つ以上のグループ識別子との間の1つ以上のグループ相関を受信し、または取り出しうる。
ブロック1006において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、複数のメッセージング通信を含む取り出しメッセージング通信セットを生成しうる。
幾つかの例では、処理回路は、検索文字列に少なくとも部分的に基づいて取り出しメッセージング通信セットを生成しうる。処理回路は、グループベース通信システムに関連付けられたメッセージング通信(例えば、図1に関連して上述した、グループベース通信リポジトリ107に記憶されているメッセージング通信)をトラバースしうる。
例えば、処理回路は、逐次探索アルゴリズム(例えば、線形探索)を実装し、複数のメッセージング通信を逐次的にトラバースし、これらのメッセージング通信のいずれかが検索文字列と同じテキストを含むかを判定しうる。別の例として、処理回路は、区間探索アルゴリズム(例えば、バイナリ探索)を実装し、メッセージング通信をグループに分割することによりメッセージング通信をトラバースしうる。処理回路は、メッセージング通信をトラバースした結果に基づいて取り出しメッセージング通信セットを生成しうる。
ブロック1008において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のグループ識別子と、取り出しメッセージング通信セットに関連付けられたグループ識別子との間に通信バリアがあるかを判定しうる。
例えば、処理回路は、取り出しメッセージング通信セット中のメッセージング通信に関連付けられた1つ以上のユーザ識別子を、例えば上記のメッセージング通信に関連付けられたメタデータに基づいて判定しうる。処理回路は、図4のブロック404およびブロック406に上述したのと同様に、1つ以上のこれらのユーザ識別子に関連付けられた1つ以上のグループ相関を取り出し、または受信しうる。1つ以上のグループ相関に基づいて、処理回路は、取り出しメッセージング通信セットに関連付けられた1つ以上のグループ識別子を判定しうる。
幾つかの例では、処理回路は、図4のブロック408に関連して上述したのと同様に、第1のグループ識別子に関連付けられた通信分離設定セットおよび取り出しメッセージング通信セットに関連付けられたグループ識別子を取り出しうる。通信分離設定セットに基づいて、処理回路は、図4のブロック410に関連して上述したのと同様に、第1のグループ識別子と、取り出しメッセージング通信セットに関連付けられたグループ識別子とに関連付けられた通信バリアがあるかを判定しうる。
例として、処理回路は、メッセージング通信に関連付けられたメタデータに基づいて、取り出しメッセージング通信セット中のメッセージング通信の送信者が第2のユーザ識別子に関連付けられていると判定しうる。処理回路は、第2のユーザ識別子と第2のグループ識別子との間のグループ相関を取り出しうる。ブロック1008において、処理回路は、通信分離設定セットに基づいて第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあると判定しうる。
ブロック1008において、通信分離設定セットに基づいて第1のグループ識別子と、取り出しメッセージング通信セットに関連付けられたグループ識別子との間に通信バリアがあると処理回路が判定した場合、方法1000は、ブロック1010に進むことができる。
ブロック1010において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、ブロック1008において識別された少なくとも1つの通信バリアに少なくとも部分的に基づいて、取り出しメッセージング通信セット中の複数のメッセージング通信から1つ以上のメッセージング通信を削除しうる。
上記の例から続いて、第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあると判定したことに基づいて、処理回路は、取り出しメッセージング通信セット中の複数のメッセージング通信から第2のグループ識別子に関連付けられた少なくとも1つのメッセージング通信を削除しうる。
ブロック1012において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、グループベース通信インタフェースに、ブロック1010において少なくとも1つのメッセージング通信を削除した後の取り出しメッセージング通信セットをレンダリングさせうる。
上記の例から続いて、第2のグループ識別子に関連付けられたメッセージング通信が取り出しメッセージング通信セットから削除されたので、処理回路は、グループベース通信インタフェース上に第2のグループ識別子に関連付けられたメッセージング通信をレンダリングしない。したがって、ブロック1008において識別された通信バリアは、ユーザがグループベース通信システムにおいてメッセージング通信を検索するときに実装される。
ブロック1008において第1のグループ識別子と、取り出しメッセージング通信セットに関連付けられたグループ識別子との間に通信バリアがないと処理回路が判定した場合、方法1000は、ブロック1012に進むことができる。ブロック1012において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、グループベース通信インタフェース上で取り出しメッセージング通信セットをレンダリングさせうる。
例示的な方法1000は、ブロック1014で終了することができる。
ここで図11を参照して例示的な方法1100を示す。具体的には、例示的な方法1100は、グループベース通信プラットフォームに、ユーザプロファイル検索要求に関連付けられた少なくとも1つの通信バリアを実装する例を示す。
例示的な方法1100は、ブロック1101で開始することができる。ブロック1103において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、ユーザデバイスから検索文字列を含むユーザプロファイル検索要求を受信しうる。
上記のように、「ユーザプロファイル検索要求」は、グループベース通信システムに関連付けられた1つ以上のユーザプロファイルを取り出すための電子要求を指す。例えば、ユーザプロファイル検索要求の検索文字列は、1つ以上のユーザプロファイルを取り出すための1つ以上の検索用語を示しうる。
幾つかの例では、メッセージング通信検索要求は、図10のブロック1004に関連して上述したのと同様に、第1のグループ識別子に関連付けられたユーザデバイスから受信されてもよい。
ブロック1105において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、複数のユーザプロファイルを含む取り出しユーザプロファイルセットを生成しうる。
幾つかの例では、処理回路は、図10のブロック1006に関連して上述したのと同様に、検索文字列に少なくとも部分的に基づいて取り出しユーザプロファイルセットを生成しうる。
ブロック1107において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のグループ識別子と、取り出しユーザプロファイルセットに関連付けられたグループ識別子との間に通信バリアがあるかを判定しうる。
例えば、処理回路は、取り出しユーザプロファイルセット中のそれぞれのユーザプロファイルに関連付けられたユーザ識別子を判定しうる。処理回路は、図4のブロック404およびブロック406に関連して上述したのと同様に、1つ以上のこれらのユーザ識別子に関連付けられた1つ以上のグループ相関を取り出し、または受信しうる。1つ以上のグループ相関に基づいて、処理回路は、取り出しユーザプロファイルセットに関連付けられた1つ以上のグループ識別子を判定しうる。
幾つかの例では、処理回路は、図4のブロック408に関連して上述したのと同様に、第1のグループ識別子に関連付けられた通信分離設定セットおよび取り出しユーザプロファイルセットに関連付けられたグループ識別子を取り出しうる。通信分離設定セットに基づいて、処理回路は、図4のブロック410に関連して上述したのと同様に、第1のグループ識別子と、取り出しユーザプロファイルセットに関連付けられたグループ識別子とに関連付けられた通信バリアがあるかを判定しうる。
例として、処理回路は、取り出しユーザプロファイルセット中のユーザプロファイルが第2のユーザ識別子に関連付けられていると判定しうる。処理回路は、第2のユーザ識別子と第2のグループ識別子との間のグループ相関を取り出しうる。ブロック1107において、処理回路は、通信分離設定セットに基づいて第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあるかを判定しうる。
ブロック1107において通信分離設定セットに基づいて第1のグループ識別子と、取り出しユーザプロファイルセットに関連付けられたグループ識別子との間に通信バリアがあると処理回路が判定した場合、方法1100は、ブロック1109に進むことができる。
ブロック1109において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、ブロック1107において識別された通信バリアに少なくとも部分的に基づいて取り出しユーザプロファイルセット中の複数のユーザプロファイルから1つ以上のユーザプロファイルを削除しうる。
上記の例から続いて、第1のグループ識別子および第2のグループ識別子に関連付けられた通信バリアがあると判定したことに基づいて、処理回路は、取り出しユーザプロファイルセット中の複数のユーザプロファイルから第2のグループ識別子に関連付けられた1つ以上のユーザプロファイルを削除しうる。
ブロック1111において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、グループベース通信インタフェース上に、ブロック1109で少なくとも1つのユーザプロファイルを削除した後の取り出しユーザプロファイルセットをレンダリングさせうる。
上記の例から続いて、第2のグループ識別子に関連付けられたユーザプロファイルが取り出しユーザプロファイルセットから削除されたので、処理回路は、グループベース通信インタフェース上に第2のグループ識別子に関連付けられたユーザプロファイルをレンダリングしない。したがって、ブロック1107において識別された通信バリアは、ユーザがグループベース通信システムにおいてユーザプロファイルを検索するときに実装される。
ブロック1107において第1のグループ識別子と、取り出しユーザプロファイルセットに関連付けられたグループ識別子との間に通信バリアがないと処理回路が判定した場合、方法1100は、ブロック1113に進むことができる。ブロック1113において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、グループベース通信インタフェース上に取り出しユーザプロファイルセットをレンダリングさせうる。
例示的な方法1100は、ブロック1113で終了することができる。
例示的な方法1100は、様々な組織および/または文脈に関連付けられて実装されてもよい。例えば教育の文脈において、教育企業がグループベース通信プラットフォームにアクセスを有しうる種々の大学からのユーザを有する場合、例示的な方法1100は、ある人が、自身の大学に関連付けられた他の人々だけにより見られうることを確実にするために実装されてもよい。
ここで図12を参照して例示的な方法1200を示す。具体的には、例示的な方法1200は、グループベース通信プラットフォームに、プライバシー権限設定の形態で少なくとも1つの通信バリアを実装する例を示す。例えば、通信分離設定セット(上記)は、ユーザ識別子がプライバシー権限設定に関連付けられていることをさらに示しうる。
例示的な方法1200は、ブロック1202で開始することができる。ブロック1204において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、第1のクライアントデバイスのために第2のクライアントデバイスからメッセージング通信を受信しうる。
幾つかの例では、上記と同様に、第2のクライアントデバイスは第2のユーザ識別子を有する第2のユーザに関連付けられてもよく、第1のクライアントデバイスは第1のユーザ識別子を有する第1のユーザに関連付けられうる。幾つかの例では、上記と同様に、第2のユーザ識別子は第2の作業領域識別子に関連付けられてもよく、第1のユーザ識別子は第1の作業領域識別子に関連付けられうる。
幾つかの例では、メッセージング通信は、ダイレクトメッセージの形態であってよい。例えば、第2のクライアントデバイスを操作するユーザは、第1のクライアントデバイスの第1のユーザにダイレクトメッセージとして送信されるメッセージング通信を入力しうる。幾つかの例では、メッセージング通信は、グループベース通信チャネル上で投稿されるメッセージング通信の形態であってよい。例えば、メッセージング通信は、第1のクライアントデバイスの第1のユーザを指すテキスト文字列を含んでいてよい(例えば、メッセージング通信は、「@」記号を含み、その後に第1のクライアントデバイスを操作するユーザに関連付けられたユーザ名が続いてもよい)。
ブロック1206において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、例えば第1のクライアントデバイスに関連付けられた第1のユーザ識別子に基づいてプライバシー権限設定を取り出しうる。
上記のように、「プライバシー権限設定」なる用語は、グループベース通信システムの他のユーザがグループベース通信システムを介してユーザ識別子に関連付けられたユーザと通信する通信権限を有しうるかどうかについての1つ以上のコンピュータ生成規則および/またはユーザ設定規則を指す。
例えば、プライバシー権限設定は、グループベース通信システムの他の全てのユーザが第1のユーザ識別子に関連付けられた第1のユーザとメッセージング通信を開始できることを示しうる。別の例として、プライバシー権限設定は、(例えば、作業領域識別子に基づいて)1つ以上の特定の作業領域に関連付けられたユーザのみが第1のユーザ識別子に関連付けられた第1のユーザとメッセージング通信を開始できることを示しうる。別の例として、プライバシー権限設定は、第1のユーザと同じ作業領域識別子に関連付けられていないユーザが第1のユーザとメッセージング通信を開始できないことを示しうる。別の例として、プライバシー権限設定は、グループベース通信システムの他のユーザが第1のユーザとメッセージング通信を開始するために第1のユーザに電子要求を送信してもよく、第1のユーザが電子要求を承認する入力を提供した場合にのみ、第1のユーザとメッセージング通信を開始できることを示しうる。
例えば、メッセージング通信が「@」記号を含み、その後にプライバシー権限設定に関連付けられたあるユーザのユーザ名が続く場合がある例を参照すると、このユーザが当該メッセージング通信を開始するための電子要求を承認しない限り、他のユーザは、このユーザとのメッセージング通信を開始できないことをプライバシー権限設定が示しうると、処理回路は判定しうる。
幾つかの例では、プライバシー権限設定は、ユーザ入力に基づいて判定されてもよい。例えば、グループベース通信システムのユーザは、対応するユーザ識別子に関連付けられた対応するプライバシー権限設定を示す1つ以上のユーザ入力をグループベース通信システムに提供しうる。
幾つかの例では、グループベース通信システムの一人以上の管理者がそれぞれのユーザのプライバシー権限設定を判定しうる。上記のように、グループベース通信作業領域は、管理者として作業領域の1つ以上の機能を管理することを許可された1つ以上の認証ユーザアカウントを有効にするように構成されてもよく、これらの管理者は、作業領域のユーザに関連付けられたプライバシー権限設定を設定し、かつ/または変更しうる。
ブロック1208において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、ブロック1204において受信したメッセージング通信がブロック1206において取り出したプライバシー権限設定に適合するかを判定しうる。
上記のように、プライバシー権限設定は、「メッセージング通信プロトコル」を含んでいてよい。メッセージング通信プロトコルは、特定の作業領域に関連付けられたユーザがユーザ識別子に関連付けられたユーザとメッセージング通信を開始しうるかどうかについての1つ以上のコンピュータ生成規則および/またはユーザ設定規則を規定しうる。幾つかの例では、メッセージング通信プロトコルは、第1の作業領域識別子および第2の作業領域識別子に関連付けられうる。
例えば、プライバシー権限設定は、グループベース通信システムの他の全てのユーザが第1のユーザ識別子に関連付けられたユーザとメッセージング通信を開始できることを示しうる。したがって、メッセージング通信プロトコルは、任意の作業領域識別子に関連付けられたユーザが第1のユーザとメッセージング通信を開始できることを示してもよく、処理回路は、ブロック1204において受信したメッセージング通信がブロック1206において取り出したプライバシー権限設定に適合すると判定しうる。
別の例として、プライバシー権限設定は、(例えば、作業領域識別子に基づいて)1つ以上の特定の作業領域に関連付けられたユーザのみが第1のユーザ識別子に関連付けられた第1のユーザとメッセージング通信を開始できることを示しうる。メッセージング通信プロトコルは、承認済作業領域識別子のリストを含んでいてよい。処理回路は、承認済作業領域識別子のリスト上の作業領域識別子に関連付けられたユーザのみに第1のユーザとメッセージング通信を開始する通信権限を提供してもよく、承認済作業領域識別子のリスト上にない作業領域識別子に関連付けられたユーザに通信権限を提供しなくてもよい。例えば、処理回路は、第2の作業領域識別子が承認済作業領域識別子のリスト上にある場合に、ブロック1204において受信したメッセージング通信がブロック1206において取り出したプライバシー権限設定に適合すると判定しうる。処理回路は、第2の作業領域識別子が承認済作業領域識別子のリスト上にない場合に、ブロック1204において受信したメッセージング通信がブロック1206において取り出したプライバシー権限設定に適合しないと判定しうる。
別の例として、プライバシー権限設定は、第1のユーザと同じ作業領域識別子に関連付けられていないユーザが第1のユーザとメッセージング通信を開始することができないことを示しうる。例えば、処理回路は、第2のユーザ識別子が第1のユーザ識別子と同じ作業領域識別子に関連付けられている場合、ブロック1204において受信したメッセージング通信がブロック1206において取り出したプライバシー権限設定に適合すると判定しうる。処理回路は、第2のユーザ識別子が第1のユーザ識別子と同じ作業領域識別子に関連付けられていない場合、ブロック1204において受信したメッセージング通信がブロック1206において取り出したプライバシー権限設定に適合しないと判定しうる。
別の例として、プライバシー権限設定は、グループベース通信システムの他のユーザが第1のユーザとメッセージング通信を開始するために第1のユーザに電子要求を送信しうること、および第1のユーザが電子要求を承認する入力を提供した場合にのみ第1のユーザとメッセージング通信を開始できることを示しうる。この例の詳細をブロック1210に関連して説明する。
ブロック1208において、ブロック1204で受信したメッセージング通信がプライバシー権限設定に合致しないと処理回路が判定した場合、方法1200は、ブロック1210に進むことができる。
ブロック1210において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、メッセージング通信プロトコルに少なくとも部分的に基づいて、グループベース通信インタフェース上に電子指標をレンダリングさせうる。
幾つかの例では、電子指標は、メッセージング通信がメッセージング通信プロトコルに合致しないことを示す電子メッセージを含んでいてよい。
幾つかの例では、電子指標は、第1のクライアントデバイスに送信されるメッセージング通信要求を含んでいてよい。こうした例では、処理回路が第1のクライアントデバイスからメッセージング通信要求を承認するユーザ入力を受信した後、処理回路は、第1のユーザとメッセージング通信を開始する通信権限を第2のユーザに提供しうる。
ブロック1208において、ブロック1204において受信したメッセージング通信がプライバシー権限設定に合致すると処理回路が判定した場合、方法1200は、ブロック1212に進むことができる。ブロック1212において、処理回路(例えば、図1および図2に関連して上述したグループベース通信サーバ109のプロセッサ202)は、ブロック1204において受信したメッセージング通信をレンダリングさせうる。
例示的な方法1200は、ブロック1214で終了することができる。
さらなる実現形態の詳細
例示的な処理システムを上述したが、本明細書において説明する主題および機能的演算の実装は、本明細書に開示する複数の構造およびそれらの構造的等価物、またはそれらの1つ以上の組み合わせを含む他の種類のデジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアの形で行われうる。
本明細書において説明する主題および演算の実施形態は、本明細書に開示する複数の構造およびそれらの構造的等価物、またはそれらの1つ以上の組み合わせを含むデジタル電子回路またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアの形で実装されうる。本明細書において説明する主題の実施形態は、情報/データ処理装置による実行、または情報/データ処理装置の動作の制御のためにコンピュータ可読ストレージ媒体において符号化された1つ以上のコンピュータプログラム、すなわち、1つ以上のモジュールのコンピュータプログラム命令として実装されうる。コンピュータ可読ストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムアクセスメモリもしくはシリアルアクセスメモリのアレイもしくはデバイス、またはこれらの1つ以上の組み合わせであるか、またはこれらに含まれうる。また、コンピュータ可読ストレージ媒体は、1つ以上の別個の物理的構成要素または物理的媒体(例えば、複数のCD、ディスク、または他のストレージデバイス)であるか、またはこれらに含まれうる。
本明細書において説明する演算は、1つ以上のコンピュータ可読ストレージデバイスに記憶された、または他のリソースから受信された情報/データに対して情報/データ処理装置により実行される演算として実装されうる。
「データ処理装置」なる用語は、例えばプログラマブルプロセッサ、コンピュータ、システムオンチップ、またはこれらのうちの複数もしくは組み合わせを含む、データ処理用の全ての種類の装置、デバイス、および機械を包含する。装置は、専用の論理回路、例えばフィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)を含みうる。ハードウェアに加えて、装置は、対象となるコンピュータプログラムの実行環境を生成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームルーチン環境、仮想マシン、またはこれらの1つ以上の組み合わせを構成するコードも含みうる。装置および実行環境は、様々な異なる演算モデルのインフラストラクチャ、例えばウェブサービス、分散演算インフラストラクチャ、およびグリッド演算インフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル型もしくはインタープリタ型言語、宣言型言語、または手続き型言語を含む任意の形態のプログラミング言語で書かれうる。コンピュータプログラムは、演算環境で用いるのに適したスタンドアロンプログラム、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくは他のユニットを含む任意の形態で展開されうる。コンピュータプログラムは、ファイルシステムのファイルに対応しうるが、この対応は必須ではない。プログラムは、他のプログラムまたは情報/データを保持するファイルの一部(例えば、マークアップ言語文書に記憶される1つ以上のスクリプト)、対象のプログラム専用の単一のファイル、または複数の統合ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの複数の部分を記憶するファイル)に記憶されうる。コンピュータプログラムは、1つの場所に配置された1つのコンピュータまたは複数のコンピュータにおいて展開されて実行され、または複数の場所にわたって分散され、通信ネットワークにより相互接続されうる。
本明細書において説明する処理および論理の流れは、入力情報/データを演算して出力を生成することにより動作を行うために1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサにより実行されうる。コンピュータプログラムの実行に適したプロセッサは、例えば汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、リードオンリメモリ、ランダムアクセスメモリ、またはそれらの両方から命令および情報/データを受信する。コンピュータの本質的な要素は、命令に従って動作を実行するプロセッサ、ならびに命令およびデータを記憶する1つ以上のメモリデバイスである。一般に、コンピュータは、データを記憶する1つ以上の大容量ストレージデバイス、例えば磁気ディスク、光磁気ディスク、または光ディスクも含み、または1つ以上の大容量ストレージデバイスから情報/データを受信し、もしくは1つ以上の大容量ストレージデバイスに情報/データを送信し、もしくは受信および送信の両方を行うように動作可能に連結される。しかし、コンピュータは、そのようなデバイスを有しなくてもよい。コンピュータプログラム命令および情報/データを記憶するのに適したデバイスは、例えば半導体メモリデバイス、例えばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば内部のハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、全ての形態の不揮発性のメモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路により補完され、または専用論理回路に組み込まれうる。
ユーザとのインタラクションを提供するために、本明細書において説明する主題の実施形態は、ユーザに情報/データを表示するディスプレイデバイス、例えばLCDモニタと、ユーザが入力を提供することができるようにするキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールを有するコンピュータに実装されうる。他の種類のデバイスも用いてユーザとのインタラクションを提供することができる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック、例えば視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックであってよい。ユーザからの入力は、音響入力、音声入力、または触覚的入力を含む任意の形態で受信されてもよい。さらに、コンピュータは、ユーザにより用いられるデバイスに文書を送信し、デバイスから文書を受信することにより、例えば、ウェブブラウザから受信した要求に応答してユーザのクライアントデバイス上でウェブブラウザにウェブページを送信することによりユーザと対話することができる。
本明細書において説明する主題の実施形態は、バックエンドコンポーネント、例えば情報/データサーバを含む演算システム、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含む演算システム、またはフロントエンドコンポーネント、例えばユーザが本明細書において説明する主題の実現形態と対話することができるようにするグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントデバイスを含む演算システム、または1つ以上のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組み合わせを含む演算システムに実装されうる。このシステムのコンポーネントは、任意の形態または媒体のデジタル情報/データ通信、例えば通信ネットワークにより相互接続されうる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(例えばインターネット)、ならびにピア・ツー・ピア・ネットワーク(例えばアド・ホック・ピア・ツー・ピア・ネットワーク)が挙げられる。
演算システムは、クライアントおよびサーバを含みうる。一般に、クライアントおよびサーバは互いに離れており、典型的には通信ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータで実行され、クライアントとサーバの関係を互いに有するコンピュータプログラムにより生じる。幾つかの実施形態では、サーバは、(例えば、クライアントデバイスと対話するユーザに情報/データを表示し、ユーザからユーザ入力を受信するために)情報/データ(例えば、ハイパーテキストマークアップランゲージ(HTML)のページ)をクライアントデバイスに送信する。クライアントデバイスにおいて生成された情報/データ(例えば、ユーザインタラクションの結果)は、クライアントデバイスからサーバにおいて受信されうる。
本明細書は多くの具体的な実現形態の詳細を含む一方、これらが任意の開示または特許請求されうることの範囲に対する限定ではなく、むしろ特定の開示の特定の実施形態に特有の構成として解釈されるべきである。別個の実施形態の文脈で本明細書において説明される特定の構成は、単一の実施形態の組み合わせでも実装されうる。反対に、単一の実施形態の文脈で説明される様々な構成は、別々に、または任意の適したサブコンビネーションで複数の実施形態にも実装されうる。さらに、構成を特定の組み合わせで動作するものとして上述し、最初にそのようなものとして特許請求する場合があるが、特許請求される組み合わせの1つ以上の構成は、場合によっては当該組み合わせから削除される可能性があり、特許請求される組み合わせがサブコンビネーションまたはサブコンビネーションの変更形態に関する場合がある。
同様に、動作を図面に特定の順序で図示しているが、これは、別段の記載がない限り、所望の結果を達成するために、示した特定の順番またはシーケンス順でそのような動作が実行され、または示した全ての動作が実行されることを要求するものと理解されるべきではない。一定の条件では、マルチタスキングおよび並列処理が有利な場合がある。さらに、上記の実施形態における様々なシステムコンポーネントの分離は、全ての実施形態においてそのような分離を要求するものと理解されるべきではなく、説明したプログラムコンポーネントおよびシステムが全体として単一のソフトウェア製品に一体化され、または複数のソフトウェア製品にパッケージ化されうるものと理解されるべきである。
このように主題の特定の実施形態を説明してきた。他の実施形態が以下の特許請求の範囲に包含される。場合によっては、特許請求の範囲に列挙される動作は、異なる順序で実行されても、所望の結果を達成することができる。さらに、別途記載がない限り、添付の図面に図示した処理は、所望の結果を達成するために、示した特定の順序またはシーケンス順を必ずしも要求するものではない。一定の実現形態では、マルチタスキングおよび並列処理が有利な場合がある。
[結論]
上記の説明および関連する図面において提示する教示の利益を有する、本開示の技術分野の当業者には、本明細書において記載した本開示の多くの変更形態および他の実施形態が想到される。したがって、本開示は特定の実施形態に限定されず、変更形態および他の実施形態が添付の特許請求の範囲に包含されることを意図することを理解されたい。特定の用語が本明細書において採用されているが、別途記載がない限り、これらの用語は汎用的および記述的意味でのみ用いられており、限定を目的とするものではない。