(57)【要約】  マルチエージェントメッセージング許可のための技法が記載される。一実施形態では、装置が、ユーザアカウントに関連付けられたユーザクライアントデバイスからマルチエージェントエンティティのための着信メッセージを受信することと、エージェントアカウントに関連付けられたエージェントクライアントデバイスを決定することと、エージェントアカウントに関連付けられたエージェントクライアントデバイスに着信メッセージを送出することとを行うように動作可能なメッセージ処理コンポーネントと、着信メッセージを受信するために、マルチエージェントエンティティに関連付けられたエージェントアカウントを決定するように動作可能なエージェント管理コンポーネントとを備え得る。他の実施形態が記載され、特許権を請求される。【選択図】図１
2020526991.tif 000002
【特許請求の範囲】
【請求項１】
ユーザアカウントに関連付けられたユーザクライアントデバイスからマルチエージェントエンティティのための着信メッセージを受信することと、
前記着信メッセージを受信するために、前記マルチエージェントエンティティに関連付けられたエージェントアカウントを決定することと、
前記エージェントアカウントに関連付けられたエージェントクライアントデバイスを決定することと、
前記エージェントアカウントに関連付けられた前記エージェントクライアントデバイスに前記着信メッセージを送出することと
を含む、コンピュータ実装方法。
【請求項２】
前記マルチエージェントエンティティのための管理者アカウントのための管理者アカウント登録を受信することと、
前記管理者アカウントを前記マルチエージェントエンティティに関連付けられたものとして登録することと、
前記マルチエージェントエンティティのための前記エージェントアカウントのためのエージェントアカウント登録を受信することと、
前記管理者アカウントによる前記エージェントアカウントのためのメッセージ共有許可に基づいて、前記エージェントアカウントに関連付けられた前記エージェントクライアントデバイスに前記着信メッセージを送出することと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記メッセージ共有許可が、前記マルチエージェントエンティティのための前記エージェントアカウントのための前記エージェントアカウント登録を含む、請求項２に記載の方法。
【請求項４】
前記エージェントアカウント登録に応答して、前記マルチエージェントエンティティのための後続メッセージスレッドのメッセージ共有許可のために前記エージェントアカウントを登録すること
をさらに含む、請求項３に記載の方法。
【請求項５】
管理者アカウントから前記ユーザアカウントと前記管理者アカウントとの間のメッセージスレッドのためのメッセージスレッドフォワードを受信することであって、前記メッセージスレッドフォワードが前記エージェントアカウントを指定する、メッセージスレッドフォワードを受信することと、
メッセージングサーバデバイス上で前記メッセージスレッドを前記エージェントアカウントに登録することと、
前記メッセージングサーバデバイスにおいて前記ユーザクライアントデバイスから前記マルチエージェントエンティティのための前記着信メッセージを受信することと、
前記メッセージスレッドを前記エージェントアカウントに前記登録することに基づいて、前記エージェントクライアントデバイスに前記着信メッセージを送出することと
をさらに含む、請求項１に記載の方法。
【請求項６】
前記メッセージスレッドフォワードに応答して前記管理者アカウントの代わりに前記エージェントアカウントを示すために、前記ユーザクライアントデバイス上で前記メッセージスレッドのためのメッセージスレッドインターフェースを再ラベリングすること
をさらに含む、請求項５に記載の方法。
【請求項７】
前記マルチエージェントエンティティを示すために前記ユーザクライアントデバイス上でメッセージスレッドインターフェースをラベリングすること
をさらに含む、請求項１に記載の方法。
【請求項８】
ユーザアカウントに関連付けられたユーザクライアントデバイスからマルチエージェントエンティティのための着信メッセージを受信することと、エージェントアカウントに関連付けられたエージェントクライアントデバイスを決定することと、前記エージェントアカウントに関連付けられた前記エージェントクライアントデバイスに前記着信メッセージを送出することとを行うように動作可能なメッセージ処理コンポーネントと、
前記着信メッセージを受信するために、前記マルチエージェントエンティティに関連付けられた前記エージェントアカウントを決定するように動作可能なエージェント管理コンポーネントと
を備える、装置。
【請求項９】
前記マルチエージェントエンティティのための管理者アカウントのための管理者アカウント登録を受信することと、前記管理者アカウントを前記マルチエージェントエンティティに関連付けられたものとして登録することと、前記マルチエージェントエンティティのための前記エージェントアカウントのためのエージェントアカウント登録を受信することとを行うように動作可能な前記エージェント管理コンポーネントと、
前記管理者アカウントによる前記エージェントアカウントのためのメッセージ共有許可に基づいて、前記エージェントアカウントに関連付けられた前記エージェントクライアントデバイスに前記着信メッセージを送出するように動作可能な前記メッセージ処理コンポーネントと
をさらに備える、請求項８に記載の装置。
【請求項１０】
前記メッセージ共有許可が、前記マルチエージェントエンティティのための前記エージェントアカウントのための前記エージェントアカウント登録を含む、請求項９に記載の装置。
【請求項１１】
前記エージェントアカウント登録に応答して、前記マルチエージェントエンティティのための後続メッセージスレッドのメッセージ共有許可のために前記エージェントアカウントを登録するように動作可能な前記エージェント管理コンポーネント
をさらに備える、請求項１０に記載の装置。
【請求項１２】
管理者アカウントから前記ユーザアカウントと前記管理者アカウントとの間のメッセージスレッドのためのメッセージスレッドフォワードを受信することであって、前記メッセージスレッドフォワードが前記エージェントアカウントを指定する、メッセージスレッドフォワードを受信することと、メッセージングサーバデバイス上で前記メッセージスレッドを前記エージェントアカウントに登録することと、前記メッセージングサーバデバイスにおいて前記ユーザクライアントデバイスから前記マルチエージェントエンティティのための前記着信メッセージを受信することと、前記メッセージスレッドを前記エージェントアカウントに前記登録することに基づいて、前記エージェントクライアントデバイスに前記着信メッセージを送出することとを行うように動作可能な前記メッセージ処理コンポーネント
をさらに備える、請求項８に記載の装置。
【請求項１３】
前記メッセージスレッドフォワードに応答して前記管理者アカウントの代わりに前記エージェントアカウントを示すために、前記ユーザクライアントデバイス上で前記メッセージスレッドのためのメッセージスレッドインターフェースを再ラベリングするように動作可能な前記メッセージ処理コンポーネント
をさらに備える、請求項１２に記載の装置。
【請求項１４】
前記マルチエージェントエンティティを示すために前記ユーザクライアントデバイス上でメッセージスレッドインターフェースをラベリングするように動作可能な前記メッセージ処理コンポーネント
をさらに備える、請求項８に記載の装置。
【請求項１５】
少なくとも１つのコンピュータ可読記憶媒体であって、実行されたとき、システムに、
ユーザアカウントに関連付けられたユーザクライアントデバイスからマルチエージェントエンティティのための着信メッセージを受信することと、
前記着信メッセージを受信するために、前記マルチエージェントエンティティに関連付けられたエージェントアカウントを決定することと、
前記エージェントアカウントに関連付けられたエージェントクライアントデバイスを決定することと、
前記エージェントアカウントに関連付けられた前記エージェントクライアントデバイスに前記着信メッセージを送出することと
を行わせる命令を備える、少なくとも１つのコンピュータ可読記憶媒体。
【請求項１６】
実行されたとき、システムに、
前記マルチエージェントエンティティのための管理者アカウントのための管理者アカウント登録を受信することと、
前記管理者アカウントを前記マルチエージェントエンティティに関連付けられたものとして登録することと、
前記マルチエージェントエンティティのための前記エージェントアカウントのためのエージェントアカウント登録を受信することと、
前記管理者アカウントによる前記エージェントアカウントのためのメッセージ共有許可に基づいて、前記エージェントアカウントに関連付けられた前記エージェントクライアントデバイスに前記着信メッセージを送出することと
を行わせるさらなる命令を備える、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記メッセージ共有許可が、前記マルチエージェントエンティティのための前記エージェントアカウントのための前記エージェントアカウント登録を含み、実行されたとき、システムに、
前記エージェントアカウント登録に応答して、前記マルチエージェントエンティティのための後続メッセージスレッドのメッセージ共有許可のために前記エージェントアカウントを登録すること
を行わせるさらなる命令を備える、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１８】
実行されたとき、システムに、
前記管理者アカウントから前記ユーザアカウントと前記管理者アカウントとの間のメッセージスレッドのためのメッセージスレッドフォワードを受信することであって、前記メッセージスレッドフォワードが前記エージェントアカウントを指定する、メッセージスレッドフォワードを受信することと、
メッセージングサーバデバイス上で前記メッセージスレッドを前記エージェントアカウントに登録することと、
前記メッセージングサーバデバイスにおいて前記ユーザクライアントデバイスから前記マルチエージェントエンティティのための前記着信メッセージを受信することと、
前記メッセージスレッドを前記エージェントアカウントに前記登録することに基づいて、前記エージェントクライアントデバイスに前記着信メッセージを送出することと
を行わせるさらなる命令を備える、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１９】
実行されたとき、システムに、
前記メッセージスレッドフォワードに応答して前記管理者アカウントの代わりに前記エージェントアカウントを示すために、前記ユーザクライアントデバイス上で前記メッセージスレッドのためのメッセージスレッドインターフェースを再ラベリングすること
を行わせるさらなる命令を備える、請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２０】
実行されたとき、システムに、
前記マルチエージェントエンティティを示すために前記ユーザクライアントデバイス上でメッセージスレッドインターフェースをラベリングすること
を行わせるさらなる命令を備える、請求項１５に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２０１８年４月４日に出願された、「Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｍｕｌｔｉ−Ａｇｅｎｔ  Ｍｅｓｓａｇｉｎｇ」と題する米国特許出願第１５／９４５，３０６号（代理人整理番号第１３６０．０１９７号）に対する米国特許法第１１９条（ｅ）項に基づく優先権の利益を主張し、２０１７年７月１３日に出願された、米国仮特許出願第６２／５３２，３０５号に対する米国特許法第１１９条（ｅ）項に基づく優先権の利益を主張する。上述の出願の内容は、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
ユーザは、２人またはそれ以上のユーザ間のテキストベースの会話において互いとメッセージをやり取りすることにより、メッセージングシステムにおいて互いと対話し得る。ユーザは、メッセージングシステムにおいてユーザに関連付けられたユーザアカウントを有し得る。ユーザアカウントは、ユーザのためのオンライン識別であり、ユーザに向けられたメッセージのための宛先として、および概してメッセージングシステムへのユーザのアクセスおよびメッセージングシステムのユーザの使用を協調させるために使用され得る。ユーザは、モバイルデバイス（たとえば、セルフォン）、デスクトップコンピュータ、ウェブブラウザ、特化したメッセージングクライアントなどを含む様々なエンドポイントから、メッセージングシステムにアクセスし得る。
【発明の概要】
【０００３】
以下では、本明細書に記載されるいくつかの新規の実施形態についての基本的な理解を提供するために、簡略化された概要を提示する。この概要は、広範な概説ではなく、主要な／必須の要素を識別すること、またはそれらの範囲を明確にすることは意図されていない。いくつかの概念は、後で提示されるより詳細な説明への前置きとして、簡略化された形態で提示される。
【０００４】
様々な実施形態は、概して、マルチエージェントメッセージング許可のための技法を対象とする。いくつかの実施形態は、特に、エンドツーエンド暗号メッセージングシステムのためのマルチエージェントメッセージング許可のための技法を対象とする。たとえば、装置が、ユーザアカウントに関連付けられたユーザクライアントデバイスからマルチエージェントエンティティのための着信メッセージを受信し、エージェントアカウントに関連付けられたエージェントクライアントデバイスを決定し、エージェントアカウントに関連付けられたエージェントクライアントデバイスに着信メッセージを送出する、メッセージ処理コンポーネントを含む。エージェント管理コンポーネントが、着信メッセージを受信するために、マルチエージェントエンティティに関連付けられたエージェントアカウントを決定する。他の実施形態が記載され、特許権を請求される。
【０００５】
上記および関連する目的を達成するために、ある特定の例示的な態様が、以下の説明および添付の図面との関連で本明細書に記載される。これらの態様は、本明細書に開示される原理を実施することができる様々なやり方を示し、すべての態様およびその均等物が、特許請求される主題の範囲内にあることが意図される。他の利点および新規の特徴は、図面と併せて検討することにより以下の詳細な説明から明らかになろう。
【図面の簡単な説明】
【０００６】
【図１】マルチエージェントメッセージングシステムの一実施形態を示す図である。
【図２】メッセージングシステムの一実施形態を示す図である。
【図３Ａ】メッセージ受信箱のためのユーザインターフェースの一実施形態を示す図である。
【図３Ｂ】メッセージスレッドのためのユーザインターフェースの一実施形態を示す図である。
【図４】管理者登録を実施するマルチエージェントメッセージングシステムの一実施形態を示す図である。
【図５】エージェント登録を実施するマルチエージェントメッセージングシステムの一実施形態を示す図である。
【図６】メッセージパッケージをフォワーディングするマルチエージェントメッセージングシステムの一実施形態を示す図である。
【図７】エンドツーエンド暗号化通信システムの一実施形態を示す図である。
【図８】グループブロードキャストをインスタンス化する送出側デバイスの一実施形態を示す図である。
【図９】グループブロードキャストを支援するメッセージングシステムの一実施形態を示す図である。
【図１０】グループブロードキャストを受信する受信側デバイスの一実施形態を示す図である。
【図１１Ａ】メッセージスレッドのためのマルチエージェントラベリングを伴うフォワーディングベースの論理フローの一実施形態を示す図である。
【図１１Ｂ】メッセージスレッドのための個別エージェントラベリングを伴うフォワーディングベースの論理フローの一実施形態を示す図である。
【図１１Ｃ】メッセージスレッドのためのグローバルビューベースの論理フローの一実施形態を示す図である。
【図１２】図１のシステムのための論理フローの一実施形態を示す図である。
【図１３】図１のシステムのための中央集中システムの一実施形態を示す図である。
【図１４】図１のシステムのための分散システムの一実施形態を示す図である。
【図１５】コンピューティングアーキテクチャの一実施形態を示す図である。
【図１６】通信アーキテクチャの一実施形態を示す図である。
【図１７】無線デバイスアーキテクチャの一実施形態を示す図である。
【発明を実施するための形態】
【０００７】
コンシューマ（ｃｏｎｓｕｍｅｒ）およびビジネス（ｂｕｓｉｎｅｓｓ）は、メッセージングシステム上で各々と接続し得る。メッセージングシステムは、ビジネスにメッセージを送るためのやり方をユーザに提供し得る。ユーザは、サポートを受けるか、発注を実施するか、質問をするか、またはさもなければビジネスと対話するために、ビジネスにメッセージを送り得る。
【０００８】
ビジネスのための管理者は、メッセージングシステムにサインアップするための単純なプロセスを提供され得る。別個のビジネスアプリケーションは、エージェントが個人的会話と職業上の会話とを分離することを可能にし、個人的会話はコンシューマアプリケーションにおいて提示され、職業上の会話はビジネスアプリケーションにおいて提示される。
【０００９】
ビジネスアプリケーションは、追加のメッセージング機能性へのアクセスを可能にし得る。たとえば、エンドツーエンド暗号の性能に関連して、メッセージングシステムのユーザは、特定のデバイスにひも付けられ得る。しかしながら、ビジネスアプリケーションは、複数のデバイスが特定のビジネスのためにメッセージング通信にアクセスすることを可能にし得る。したがって、ビジネスの通信をメッセージングシステム上に移動するプロセスは、容易にされる。その結果、実施形態は、ビジネスとコンシューマの両方のためにメッセージングシステムの機能性を改善することができる。
【００１０】
次いで図面を参照するが、すべての図面を通じて同様の参照番号を使用して同様の要素を参照する。以下の記載では、その完全な理解を与えるために、説明を目的として、多数の具体的な詳細が記載される。しかしながら、これらの具体的な詳細を省いても、新規の実施形態を実施できることは明らかであろう。他の事例では、よく知られている構造およびデバイスについては、その説明を容易にするために、ブロック図の形態で示している。その意図は、特許請求される主題に矛盾しないあらゆる修正、均等物、および代替案を包括することである。
【００１１】
本明細書で使用される「ａ」および「ｂ」および「ｃ」ならびに同様の指示子は、任意の正の整数を表す変数と意図されることに留意されたい。したがって、たとえば、ある実装形態がａ＝５と値を設定する場合、コンポーネント１２２−１〜１２２−ａと示されるコンポーネント１２２の完全なセットは、コンポーネント１２２−１、１２２−２、１２２−３、１２２−４、および１２２−５を含み得る。実施形態はこれに関して限定されない。
【００１２】
図１は、マルチエージェントメッセージングシステム１００のためのブロック図を示す。一実施形態では、マルチエージェントメッセージングシステム１００は、１つまたは複数のコンポーネントを備えるソフトウェアアプリケーションを有するコンピュータ実装システムを備え得る。図１に示されているマルチエージェントメッセージングシステム１００は、あるトポロジーでは限られた数の要素を有するが、マルチエージェントメッセージングシステム１００は、代替のトポロジーでは所与の実装形態に望まれるようにより多くのまたはより少ない要素を含み得ることが諒解され得る。
【００１３】
メッセージングサーバ１１０は、メッセージングシステムの一部としてのメッセージングプラットフォームによって動作される１つまたは複数のメッセージングサーバを備え得る。メッセージングサーバは、インターネットアクセス可能なサーバを備え得、ネットワーク１２０がメッセージングシステムの様々なデバイスを接続し、少なくとも部分的にインターネットを備える。メッセージングシステムは、様々なユーザクライアントデバイスのためのメッセージングをサポートするためにメッセージングサーバ１１０を使用し得る。
【００１４】
ユーザは、スマートフォンデバイス１５０を所有し、操作し得る。スマートフォンデバイス１５０は、ｉＰｈｏｎｅ（登録商標）デバイス、Ａｎｄｒｏｉｄ（登録商標）デバイス、Ｂｌａｃｋｂｅｒｒｙ（登録商標）デバイス、またはスマートフォン形態に準拠する任意の他のモバイルコンピューティングデバイスを含み得る。スマートフォンデバイス１５０は、セルラー信号１３５を使用してセルシステム１３０を介してネットワーク１２０に接続することが可能なセルラーデバイスであり得る。いくつかの実施形態では、およびいくつかの場合には、スマートフォンデバイス１５０は、追加または代替として、ネットワーク１２０に接続するためにＷｉ−Ｆｉまたは他のネットワーキング技術を使用し得る。スマートフォンデバイス１５０は、メッセージングサーバ１１０にアクセスするために、メッセージングクライアント、ウェブブラウザ、または他のローカルアプリケーションを実行し得る。
【００１５】
同じユーザがタブレットデバイス１６０を所有し、操作し得る。タブレットデバイス１６０は、ｉＰａｄ（登録商標）デバイス、Ａｎｄｒｏｉｄタブレットデバイス、Ｋｉｎｄｌｅ  Ｆｉｒｅ（登録商標）デバイス、またはタブレット形態に準拠する任意の他のモバイルコンピューティングデバイスを含み得る。タブレットデバイス１６０は、Ｗｉ−Ｆｉ信号１４５を使用してＷｉ−Ｆｉアクセスポイント１４０を介してネットワーク１２０に接続することが可能なＷｉ−Ｆｉデバイスであり得る。いくつかの実施形態では、およびいくつかの場合には、タブレットデバイス１６０は、追加または代替として、ネットワーク１２０に接続するためにセルラーまたは他のネットワーキング技術を使用し得る。タブレットデバイス１６０は、メッセージングサーバ１１０にアクセスするために、メッセージングクライアント、ウェブブラウザ、または他のローカルアプリケーションを実行し得る。
【００１６】
同じユーザがパーソナルコンピュータデバイス１８０を所有し、操作し得る。パーソナルコンピュータデバイス１８０は、Ｍａｃ  ＯＳ（登録商標）デバイス、Ｗｉｎｄｏｗｓ（登録商標）デバイス、Ｌｉｎｕｘ（登録商標）デバイス、または別のオペレーティングシステムを実行する他のコンピュータデバイスを含み得る。パーソナルコンピュータデバイス１８０は、イーサネット接続を介してネットワーク１２０に接続することが可能なイーサネットデバイスであり得る。いくつかの実施形態では、およびいくつかの場合には、パーソナルコンピュータデバイス１８０は、追加または代替として、ネットワーク１２０にセルラー、Ｗｉ−Ｆｉ、または他のネットワーキング技術を使用し得る。パーソナルコンピュータデバイス１８０は、メッセージングサーバ１１０にアクセスするために、メッセージングクライアント、ウェブブラウザ１７０、または他のローカルアプリケーションを実行し得る。
【００１７】
メッセージングクライアントは、専用メッセージングクライアントであり得る。専用メッセージングクライアントは、メッセージングサーバ１１０を含むメッセージングプラットフォームを管理するメッセージング提供者に特別に関連付けられ得る。専用メッセージングクライアントは、メッセージングサーバ１１０を含むメッセージングプラットフォームを管理するメッセージング提供者を含む、複数の異なるメッセージング提供者とともに働くように動作可能な一般的なクライアントであり得る。
【００１８】
メッセージングクライアントは、追加の機能性を提供するアプリケーションのコンポーネントであり得る。たとえば、ソーシャルネットワーキングサービスが、そのソーシャルネットワーキングサービスにアクセスし、使用するためにモバイルデバイス上で使用するためのソーシャルネットワーキングアプリケーションを提供し得る。ソーシャルネットワーキングサービスは、メッセージングサーバ１１０によって提供され得るようなメッセージング機能性を含み得る。メッセージングサーバ１１０は、ソーシャルネットワーキングサービスのためのコンピューティングデバイスの１つのコンポーネントであり得、コンピューティングデバイスがソーシャルネットワーキングサービスの追加の機能性を提供することが諒解されよう。同様に、ソーシャルネットワーキングアプリケーションが、メッセージング機能性と追加のソーシャルネットワーキング機能性の両方を提供し得る。
【００１９】
いくつかの場合には、メッセージングエンドポイントがユーザセッション間に状態を保持し得、いくつかの場合には、メッセージングエンドポイントがユーザセッション間に状態を放棄し得る。メッセージングエンドポイントは、メッセージ受信箱の現在の状態を保持するためにローカルストアを使用し得る。このローカルストアは、１つのセッションと次のセッションとの間に状態が取り出され得るように、永続ストレージに保存され得、これには、たとえば、ローカルアプリケーションが終了されるかまたは他の方法でメモリから削除されるか、あるいはデバイスが電源切断され、再び電源投入される状況を含まれる。代替的に、メッセージングエンドポイントは、メッセージ受信箱の現在の状態を保持するがメッセージ受信箱の状態を永続ストレージに投入することを控えるために、メモリキャッシュを使用し得る。
【００２０】
メッセージ受信箱の状態を保持するメッセージングエンドポイントは、専用メッセージングアプリケーション、またはソーシャルネットワーキングアプリケーションなどの別のローカルアプリケーションに組み込まれたメッセージングユーティリティを備え得る。メッセージ受信箱の状態を放棄するメッセージングエンドポイントは、ウェブブラウザ内に実装されるメッセージングアクセスを備え得る。一実施形態では、パーソナルコンピュータデバイス１８０上で実行するウェブブラウザ１７０など、ウェブブラウザは、ユーザにメッセージング機能性を提示するためにメッセージングサーバと対話するＨＴＭＬ５コードを実行し得る。
【００２１】
ユーザは、スマートフォンデバイス１５０、タブレットデバイス１６０、およびパーソナルコンピュータデバイス１８０を含む複数のデバイスからメッセージを送出および受信し得る。ユーザは、スマートフォンデバイス１５０上の第１のメッセージングアプリケーションと、タブレットデバイス１６０上の第２のメッセージングアプリケーションと、パーソナルコンピュータデバイス１８０上のウェブブラウザ１７０とを使用し得る。第１および第２のメッセージングアプリケーションは、両方のデバイスへの同じアプリケーションのインストールを含み得る。第１および第２のメッセージングアプリケーションは、共通アプリケーションのスマートフォン固有バージョンおよびタブレット固有バージョンを含み得る。第１および第２のメッセージングアプリケーションは、別個のアプリケーションを含み得る。
【００２２】
ユーザは、ユーザのデバイス間でユーザのメッセージ受信箱を一致させておくことから利益を得ることがある。ユーザは、ユーザの自宅から離れている間にセルシステム１３０上でユーザのスマートフォンデバイス１５０を使用して、セルシステム１３０を介してメッセージを送出および受信し得る。ユーザは、コーヒーショップ、またはＷｉ−Ｆｉを供与する他のロケーションに立ち寄り、ユーザのタブレットデバイス１６０をＷｉ−Ｆｉアクセスポイント１４０に接続し得る。タブレットデバイス１６０は、メッセージ受信箱についてのその既存の知られている状態を取り出し、タブレットデバイス１６０がネットワークへのアクセスを有していた最後のオケージョンから起こった更新を受信し得、そのような更新は、スマートフォンデバイス１５０によって送出されたメッセージ、およびスマートフォンデバイス１５０を操作する間にユーザによって受信されていることがあるメッセージを含む。ユーザは次いで自宅に帰り、パーソナルコンピュータデバイス１８０上でウェブブラウザ１７０を使用してユーザのメッセージ受信箱にアクセスし得る。ウェブブラウザ１７０は、メッセージ受信箱についての既存の状態を維持していないか、またはさもなければ既存の状態へのアクセスを有していないので、メッセージングサーバ１１０からメッセージ受信箱の現在の状態のスナップショットを受信し得る。ウェブブラウザ１７０は、次いで、メッセージングサーバ１１０とのユーザセッションを維持する限り、メッセージ受信箱の状態に対する新しい変更について、増加分の更新を取り出し、ウェブブラウザ１７０がユーザによって閉じられたときなど、セッションの最後に、メッセージ受信箱についてのその知られている状態を破棄し得る。限定はしないが、更新は、メールボックスへのメッセージの追加、メールボックスからのメッセージの削除、および開封確認に対応し得る。
【００２３】
メッセージングシステムは、複数のメッセージを備えるものとしてメッセージング受信箱を定義することによって動作し得、各メッセージは、２人またはそれ以上の参加者間の通信の個別トランザクションである。メールサーバは、メッセージング受信箱についてのメッセージインデックスを維持することによって動作し得る。メールサーバは、メッセージを受信し、そのメッセージをメールアーカイブに記憶し得、メールアーカイブから、メッセージインデックスへの参照を通してメッセージが取り出され得る。メールクライアントは、メールサーバに接続し、その最後の更新からそのメールアーカイブに追加されたメッセージを取り出し得る。メールクライアントは、どのようなメッセージがメールアーカイブに記憶されているかを示すメールアーカイブからのメールインデックスを受信し得る。メールクライアントは、どのメッセージを受信し損ねているかを決定するために、メールアーカイブをメールクライアントの現在の受信箱と比較し得、次いでそれらのメッセージをメールアーカイブに要求する。メールクライアントはメールクライアントの受信箱に対する変更を行い得、その結果、メール受信箱命令がメールアーカイブに送信されて、メールアーカイブ上でメールクライアントのメール受信箱の表現に対して行うべき修正をメールアーカイブに命令する。
【００２４】
メッセージングシステムによって仲介されるメッセージング対話は、メッセージスレッドとして知られる共有空間に編成され得る。メッセージスレッドは、ユーザの特定のグループ間で共有されるメッセージを一緒に収集し得る。ユーザのペア間で個別に送出されたメッセージは、そのユーザのペア間のプライベートメッセージングに一意に関連付けられた１対１の（ｏｎｅ−ｏｎ−ｏｎｅ）メッセージスレッドに収集され得る。３人またはそれ以上のユーザのグループ間で送出されたメッセージは、ユーザのメンバーシップによって一意に定義されるのではなく、代わりに、いくつかの実施形態では、グループスレッドを一意に識別する識別子によって一意に定義され得る。グループスレッドにおけるメンバーシップは、いくつかの実施形態では、時間とともに変化し、メンバーを追加し、および／または失い得る。
【００２５】
メッセージング対話は、クライアントデバイス間のエンドツーエンド暗号化通信を使用し得る。送出クライアントデバイスは、受信デバイスのみが（たとえば、公開鍵暗号法を使用することによって）発信メッセージを復号することができること、または送出デバイスと受信デバイスのみが（たとえば、共有鍵暗号法を使用することによって）発信メッセージを復号することができることのうちの一方を確立するセキュリティ技法を使用して、発信メッセージを暗号化し得る。これらの実施形態では、メッセージングシステムのサーバは、クライアント間で送出されるメッセージを復号するのを妨げられ得る。いくつかの実施形態では、ユーザは、特定のメッセージスレッドがエンドツーエンド暗号を使用する（およびそれにより、メッセージングサーバがメッセージの内容にアクセスするのを妨げられるという追加のプライバシーを受ける）か、または使用しない（およびそれにより、関連するサービスをユーザに供与する目的でメッセージングシステムがプログラム的にメッセージにアクセスすることができるという利益を受ける）かを選択することができる。
【００２６】
メッセージングシステムは、ユーザ間の対話から生成された知識を使用し得る。メッセージングシステムは、ソーシャルネットワーキングシステムのコンポーネントを備え得、ソーシャルネットワーキングシステムのより広範な対話から生成された知識を使用し得る。したがって、メッセージングシステムおよびより大きいソーシャルネットワーキングシステムのユーザのプライバシーを保護するために、メッセージングシステムは、許可サーバ（または（１つまたは複数の）他の好適なコンポーネント）を含み得、許可サーバは、ユーザが、たとえば適切なプライバシー設定を設定することによって、ユーザのアクションをメッセージングシステムによってログに記録させるか、または他のシステム（たとえば、サードパーティシステム）と共有させることをオプトイン（ｏｐｔ  ｉｎ）またはオプトアウト（ｏｐｔ  ｏｕｔ）することを可能にする。ユーザのプライバシー設定は、ユーザに関連付けられたどの情報がログに記録され得るか、ユーザに関連付けられた情報がどのようにログに記録され得るか、ユーザに関連付けられた情報がいつログに記録され得るか、ユーザに関連付けられた情報を誰がログに記録し得るか、ユーザに関連付けられた情報が誰と共有され得るか、およびユーザに関連付けられた情報がどのような目的でログに記録または共有され得るかを決定し得る。許可サーバまたは他の許可コンポーネントは、ブロッキング、データのハッシュ化、匿名化、または適宜に他の好適な技法を通して、ソーシャルネットワーキングシステムのメッセージングシステムおよび他の要素のユーザの１つまたは複数のプライバシー設定を守らせるために使用され得る。
【００２７】
図２は、メッセージングシステム２００の様々な機能を実装する複数のサーバの一実施形態を示す。メッセージングシステム２００の様々な実施形態において、作業および機能の異なる分配が使用され得ることが諒解されよう。メッセージングシステム２００は、マルチエージェントメッセージングシステム１００を備え得、マルチエージェントメッセージングシステム１００の動作は、メッセージングシステム２００の全体的な動作の一部分を含む。メッセージングシステム２００の図示の実施形態は、特に、図１を参照しながら説明されたメッセージングサーバ１１０の一部分に対応し得、メッセージングサーバ１１０は、メッセージングシステム２００のユーザにメッセージングサービスを提供する１つまたは複数のサーバデバイスを備える。
【００２８】
メッセージングシステム２００の様々なサーバは、ネットワークバス２２０を介して接続される。ネットワークバス２２０は、ドメイン名フロントエンド２１０とメッセージングシステム２００のサーバとクライアントデバイスなどの様々な外部デバイスとの間のネットワーク接続性を提供する。サーバの各々は、サーバがネットワークバス２２０を介して互いおよび／またはユーザデバイスと独立して通信し得るように、ネットワークバス２２０に独立して接続される。
【００２９】
メッセージングシステム２００は、ドメイン名フロントエンド２１０を備え得る。ドメイン名フロントエンド２１０は、ドメイン名システム（ＤＮＳ）においてメッセージングシステム２００に関連付けられた１つまたは複数のドメイン名を割り当てられ得る。ドメイン名フロントエンド２１０は、着信接続を受信し、その着信接続を、様々なメッセージングサービスを提供するサーバに分配し得る。
【００３０】
メッセージングシステム２００は、１つまたは複数のチャットサーバ２１５を備え得る。チャットサーバ２１５は、チャットメッセージなどのユーザ間メッセージング更新を受信および送信するためのフロントエンドサーバを備え得る。着信接続は、作業負荷分散に基づいてドメイン名フロントエンド２１０によってチャットサーバ２１５に割り当てられ得る。
【００３１】
メッセージングシステム２００は、バックエンドサーバ２３０を備え得る。バックエンドサーバ２３０は、フロントエンドチャットサーバ２１５のチャット動作をサポートする特化したタスクを実施し得る。複数の異なるタイプのバックエンドサーバ２３０が使用され得る。異なるバックエンドサーバ２３０へのタスクのタイプの割り当ては、異なる実施形態において変化し得ることが諒解されよう。いくつかの実施形態では、専用サーバによって提供されるバックエンドサービスのうちのいくつかが、単一のサーバ、または、本明細書に記載される実施形態において異なるサーバ間で分割される複数のタスクを各々が実施するサーバのセットに、組み合わせられ得る。同様に、いくつかの実施形態では、本明細書に記載される専用バックエンドサーバのうちのいくつかのタスクが、異なるサーバグループの異なるサーバ間で分割され得る。
【００３２】
メッセージングシステム２００は、１つまたは複数のオフライン記憶サーバ２３１を備え得る。１つまたは複数のオフライン記憶サーバ２３１は、現在オフラインのメッセージングエンドポイントについてのメッセージング内容を、それらのメッセージングエンドポイントが再接続するときのために、保留して記憶し得る。
【００３３】
メッセージングシステム２００は、１つまたは複数のセッションサーバ２３２を備え得る。１つまたは複数のセッションサーバ２３２は、接続されているメッセージングエンドポイントのセッション状態を維持し得る。
【００３４】
メッセージングシステム２００は、１つまたは複数のプレゼンスサーバ２３３を備え得る。１つまたは複数のプレゼンスサーバ２３３は、メッセージングシステム２００についてのプレゼンス情報を維持し得る。プレゼンス情報は、所与のユーザがオンラインメッセージングエンドポイントを有し、チャットのために利用可能であるか否か、オンラインメッセージングエンドポイントを有するが現在はそこから離れているかどうか、オンラインメッセージングエンドポイントを有しないかどうか、ならびに任意の他のプレゼンス状態を示すユーザ固有情報に対応し得る。
【００３５】
メッセージングシステム２００は、１つまたは複数のプッシュ記憶サーバ２３４を備え得る。１つまたは複数のプッシュ記憶サーバ２３４は、プッシュ要求をキャッシュし、そのプッシュ要求をメッセージングエンドポイントに送信し得る。プッシュ要求は、メッセージングエンドポイントを起動させるため、メッセージング更新が利用可能であることをメッセージングエンドポイントに通知するため、およびメッセージングエンドポイントとのサーバ側主体の（ｓｅｒｖｅｒ−ｓｉｄｅ−ｄｒｉｖｅｎ）対話を他の方法で実施するために使用され得る。
【００３６】
メッセージングシステム２００は、１つまたは複数のチャット活動監視サーバ２３５を備え得る。１つまたは複数のチャット活動監視サーバ２３５は、メッセージングシステム２００のユーザによる不正な挙動または推奨されない挙動を決定するためにユーザのチャットを監視し得る。１つまたは複数のチャット活動監視サーバ２３５は、スパムロギングサーバ２３９およびブロックリストサーバ２３６と協働し得、１つまたは複数のチャット活動監視サーバ２３５は、スパムまたは他の推奨されない挙動を識別し、スパムロギングサーバ２３９にスパム情報を提供し、適切な場合にはブロックリストサーバ２３６にブロッキング情報を提供する。
【００３７】
メッセージングシステム２００は、１つまたは複数のブロックリストサーバ２３６を備え得る。１つまたは複数のブロックリストサーバ２３６は、ユーザ固有ブロックリストを維持し得、ユーザ固有着信ブロックリストは、各ユーザについて、そのユーザにメッセージを送信することを禁じられている１人または複数の他のユーザを示す。代替または追加として、１つまたは複数のブロックリストサーバ２３６は、各ユーザについて、そのユーザがメッセージを送信することを禁じられている１人または複数の他のユーザを示すユーザ固有発信ブロックリストを維持し得る。着信ブロックリストと発信ブロックリストとは、組み合わせて、たとえばデータベースに記憶され得、着信ブロックリストと発信ブロックリストとは、ブロック情報の同じリポジトリの異なる見方を表すことが諒解されよう。
【００３８】
メッセージングシステム２００は、１つまたは複数の最後に見られた情報サーバ２３７を備え得る。１つまたは複数の最後に見られた情報サーバ２３７は、最後に見られたロケーション、ステータス、メッセージングエンドポイント、およびメッセージングシステム２００へのユーザの最後に見られた接続の他の要素を示す情報を受信、記憶、および維持し得る。
【００３９】
メッセージングシステム２００は、１つまたは複数のプロフィール写真サーバ２３８を備え得る。１つまたは複数のプロフィール写真サーバ２３８は、メッセージングシステム２００の複数のユーザについてのプロフィール写真を記憶し、取出しのために利用可能にし得る。
【００４０】
メッセージングシステム２００は、１つまたは複数のスパムロギングサーバ２３９を備え得る。１つまたは複数のスパムロギングサーバ２３９は、知られているスパムおよびスパムの疑いのあるもの（たとえば、不要メッセージ、特に販売促進の性質のもの）をログに記録し得る。１つまたは複数のスパムロギングサーバ２３９は、メッセージがスパムであるかどうかを決定し、いくつかの実施形態では、疑われるスパム送信者（スパムメッセージを送出するユーザ）に対する処罰措置を実施するために、メッセージを分析するように動作可能であり得る。
【００４１】
メッセージングシステム２００は、１つまたは複数の統計サーバ２４０を備え得る。１つまたは複数の統計サーバは、メッセージングシステム２００の動作とメッセージングシステム２００のユーザの挙動とに関係する統計情報をコンパイルし、記憶し得る。
【００４２】
メッセージングシステム２００は、１つまたは複数の同期サーバ２４１を備え得る。１つまたは複数の同期サーバ２４１は、メッセージングシステム２００におけるユーザのための連絡先を決定するために、メッセージングシステム２００を、モバイルフォン上のアドレス帳など、メッセージングエンドポイントからの連絡先情報と同期させ得る。
【００４３】
メッセージングシステム２００は、１つまたは複数のウェブサーバ２４２を備え得る。１つまたは複数のウェブサーバ２４２は、ウェブブラウザとのハイパーテキスト転送プロトコル（ＨＴＴＰ）およびハイパーテキスト転送プロトコルセキュア（ＨＴＴＰＳ）接続に関与し得る。１つまたは複数のウェブサーバ２４２は、いくつかの実施形態では、マルチエージェントメッセージングシステム１００の動作の一部としてリモートウェブサーバ３５０をホストし得る。
【００４４】
メッセージングシステム２００は、１つまたは複数の鍵サーバ２４３を備え得る。１つまたは複数の鍵サーバ２４３は、公開鍵／秘密鍵による暗号化通信のための公開鍵をホストし得る。
【００４５】
メッセージングシステム２００は、１つまたは複数のグループサーバ２４４を備え得る。１つまたは複数のグループサーバ２４４は、グループのリストを維持し、グループにユーザを追加し、グループからユーザを削除し、グループチャットメッセージの受信、キャッシング、およびフォワーディングを実施し得る。
【００４６】
メッセージングシステム２００は、１つまたは複数のマルチメディアデータベース（ＭＭＤ）サーバ２４５を備え得る。ＭＭＤサーバ２４５は、メッセージングシステム２００に知られているメディアオブジェクトのデータベースを記憶し得、このデータベースは分散データベースであり得る。いくつかの実施形態では、現在記憶されているかまたはさもなければメッセージングシステム２００内を移動中であるメディアオブジェクトのみが、ＭＭＤサーバ２４５によって追跡され得る。他の実施形態では、ＭＭＤサーバ２４５は、もはや移動中ではないメディアオブジェクトの記録を維持し得、これは、人気度を追跡するため、または他のデータ採取の目的のためなどであり得る。
【００４７】
ＭＭＤサーバ２４５は、マルチメディアサーバ２４６上など、メディアオブジェクトがメッセージングシステム２００によって記憶されることになるときのそのメディアオブジェクトの記憶ロケーションを決定し得る。ＭＭＤサーバ２４５は、複数のマルチメディアサーバ２４６のうちのどれが特定のメディアオブジェクトを記憶するかなど、メディアオブジェクトがメッセージングシステム２００によって送信されることになるときのそのメディアオブジェクトの既存の記憶ロケーションを決定し得る。ＭＭＤサーバ２４５は、メディアオブジェクトを要求し、取り出すためにメッセージングクライアントが使用するためのユニフォームリソースロケータ（ＵＲＬ）を生成し得る。ＭＭＤサーバ２４５は、いつメディアオブジェクトが破損したかまたはさもなければ失われ、再獲得されるべきであるかを追跡し得る。
【００４８】
メッセージングシステム２００は、１つまたは複数のマルチメディアサーバ２４６を備え得る。１つまたは複数のマルチメディアサーバは、メッセージングエンドポイント間を移動中のマルチメディア（たとえば、画像、ビデオ、オーディオ）、オフラインエンドポイントのためにキャッシュされたマルチメディアを記憶し得、マルチメディアのトランスコーディングを実施し得る。
【００４９】
メッセージングシステム２００は、１つまたは複数の支払いサーバ２４７を備え得る。１つまたは複数の支払いサーバ２４７は、ユーザからの支払いを処理し得る。１つまたは複数の支払いサーバ２４７は、支払いの実施のために外部サードパーティサーバに接続し得る。
【００５０】
メッセージングシステム２００は、１つまたは複数の登録サーバ２４８を備え得る。１つまたは複数の登録サーバ２４８は、メッセージングシステム２００の新しいユーザを登録し得る。
【００５１】
メッセージングシステム２００は、１つまたは複数の音声中継サーバ２４９を備え得る。１つまたは複数の音声中継サーバ２４９は、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）呼の実施のためにメッセージングエンドポイント間でＶｏＩＰ音声通信を中継し得る。
【００５２】
図３Ａは、メッセージ受信箱のためのユーザインターフェース３００の一実施形態を示す。
【００５３】
クライアントデバイス３０５が、マルチエージェントメッセージングシステム１００にアクセスするために使用されるデバイスに対応し得る。図３Ａの図示の実施形態では、クライアントデバイス３０５はスマートフォンデバイスに似ているが、本明細書に記載される技法は任意のタイプのデバイスとともに使用され得ることが諒解されよう。ユーザインターフェース３００は、概して、メッセージングシステムのためのユーザ受信箱の表示に対応し得る。
【００５４】
ユーザインターフェース３００は、ユーザアカウントのための受信箱中の複数のメッセージスレッド３２０の表示を備え得る。表示されたメッセージスレッド３２０の一部分は、未読メッセージをもつメッセージスレッドであり得る。表示されたスレッドの一部分は、未読メッセージをもたないスレッドであり得る。図３Ａの図示の実施形態では、ユーザインターフェース３００が下方にスクロールされると、より多くのスレッドがあらわになり得る。
【００５５】
受信箱中のメッセージスレッド３２０の表示は、各メッセージスレッドについて、スレッドの名前の表示と、スレッド中の最後に受信されたかまたは最後に交換されたメッセージと、スレッドの内容のプレビューと、スレッド中の１人または複数のユーザのためのアバターとを備え得る。スレッドの名前は、受信箱についてのユーザアカウントのための名前以外の、スレッド中の１人または複数の参加者の（１つまたは複数の）名前に対応し得る。
【００５６】
ビジネスエンティティとのメッセージスレッドのためのメッセージスレッドエントリ３３０は、ビジネスの名前、メッセージスレッド中の最後に受信されたメッセージまたは最後に交換されたメッセージ、メッセージスレッド中の最後に受信されたメッセージまたは最後に交換されたメッセージについての最後に受信された時間または最後に交換された時間、および／あるいはメッセージスレッドに関係する他の情報を備え得る。ビジネスエンティティとのメッセージスレッドのためのメッセージスレッドエントリ３３０は、検証済みエンティティインジケータ３３５を備え得る。検証済みエンティティインジケータ３３５は、ビジネスエンティティのリストされた名前が、そのエージェントによって表されるように、メッセージスレッド中で通信している実際のエンティティのためのものであることを示す。
【００５７】
メッセージングパートナーは、メッセージングパートナーを一意に識別するために使用される電話番号に関連付けられ得る。メッセージングパートナーがビジネスエンティティである場合、メッセージングパートナーは、ビジネスのための連絡先番号に関連付けられ得る。一般的なユーザ連絡先の場合、ユーザのための名前は、クライアントデバイス３０５上のユーザのためのアドレス帳に基づいて割り当てられ得る。しかしながら、ビジネスの場合、検証された名前が使用され得、検証された名前はメッセージングシステムによって提供される。この検証された名前の使用は、検証済みエンティティインジケータ３３５によって示される。
【００５８】
ユーザインターフェース３００は、受信箱ヘッダ制御３１０を含み得る。受信箱ヘッダ制御３１０は、様々なメッセージング関係アクションを可能にし得る。受信箱ヘッダ制御３１０は編集制御を備え得、編集制御はメッセージング受信箱の構成を可能にする。受信箱ヘッダ制御３１０は、新しいメッセージスレッドの作成を可能にする生成制御を備え得る。
【００５９】
図３Ｂは、メッセージスレッドのためのユーザインターフェース３５０の一実施形態を示す。
【００６０】
ユーザインターフェース３５０は、クライアントデバイス３０５上に表示されるメッセージスレッドのためのユーザインターフェースを備え得る。メッセージスレッドのためのメッセージ交換の少なくとも一部分が、メッセージスレッド対話表示３７０において表示され得る。メッセージスレッド対話表示３７０は、メッセージスレッドのユーザによって交換される１つまたは複数のメッセージの表示を備え得る。メッセージスレッドに関して説明される特徴は、１対１のメッセージスレッドまたはグループメッセージスレッドのいずれかに適用され得る。メッセージスレッドに関して説明される特徴は、ユーザがビジネスエンティティに関与するメッセージスレッドに適用され得る。
【００６１】
ユーザインターフェース３５０は、スレッド情報３６０の表示を含み得る。スレッド情報３６０は、スレッドに関与する１人または複数の他のユーザのリスティングを備え得る。１人または複数の他のユーザの表示は、氏名、省略名、あるいはメッセージング対話および／またはソーシャルネットワーキング対話のために特定のユーザとともに使用するための名前として登録された他の名前など、ユーザの名前を使用し得る。１人または複数の他のユーザの表示は、１人または複数の他のユーザのアバター、プロフィールピクチャ、または他の視覚表現を使用し得る。
【００６２】
いくつかの事例では、ユーザのための表示された名前は、ビジネスエンティティのための検証された名前を備え得る。検証された名前は、エンティティに対応するように、メッセージングシステムのメインテナ（ｍａｉｎｔａｉｎｅｒ）など、管理当局によって検証された名前である。検証された名前が、ビジネスエンティティなど、ユーザについて知られている場合、検証された名前は、スレッド情報３６０の一部として表示され得る。しかしながら、いくつかの実施形態では、ユーザ名の表示は、通常、ユーザインターフェース特徴として、クライアントデバイス３０５上のアドレス帳からユーザの名前を引き出すことに関連付けられ得る。したがって、検証された名前は視覚シグニファイア（ｓｉｇｎｉｆｉｅｒ）とともに表示され、視覚シグニファイアは、ユーザについて表示された名前が管理当局による検証された名前であり、閲覧ユーザのアドレス帳から引き出されたローカルに定義された名前でないことを示す。いくつかの実施形態では、ビジネスが検証されていない場合、異なるインジケータ、すなわち、未検証ビジネスインジケータが表示され得る。
【００６３】
メッセージスレッドのためのユーザインターフェース３５０は、メッセージスレッドの表示中に持続的に可視である組成制御（ｃｏｍｐｏｓｉｔｉｏｎ  ｃｏｎｔｒｏｌ）３６５を含み得る。組成制御３６５の多く、大部分、またはほぼすべてが、テキスト入力、メディア選択、絵文字選択、カメラ使用、ソーシャル承認アイコンなど、様々なタスクの実施のためのさらなるユーザインターフェース制御へのアクセスを可能にし得る。
【００６４】
１つまたは複数のメッセージの各々は、メッセージバブル（ｍｅｓｓａｇｅ  ｂｕｂｂｌｅ）３７５など、特定のメッセージバブルによって表され得る。メッセージバブルは、原子的メッセージング対話を表し得る。メッセージバブルは、概して、画定された幾何学的エリアに対応し得、特定のメッセージング交換（たとえば、テキスト、メディア）の内容が、その画定された幾何学的エリア内に含まれている。メッセージバブルは、別個の色、またはメッセージバブルをメッセージスレッド対話表示の背景と区別する複数の色（たとえば、１つまたは複数の階調度）を有し得る。メッセージバブルは、描かれているような黒い輪郭など、明確に着色された境界を有し得るか、または、メッセージバブルおよび背景の異なる色の間の境界面によって画定された境界を有し得る。いくつかの実施形態では、メッセージバブルおよび背景のいずれかまたは両方の１つまたは複数の色は、メッセージングシステムのユーザによってカスタマイズされ、構成され得る。
【００６５】
ビジネスエンティティとのメッセージスレッドのためのメッセージスレッド対話表示３７０は、商業連絡先制御３８０を含み得る。商業連絡先制御３８０は、コンシューマがビジネスとのメッセージング関係を確立する前に、コンシューマとビジネスとの間のメッセージスレッドの初期期間中に目立つように表示され得る。しかしながら、商業連絡先制御３８０は、関係が確立された後に依然としてアクセス可能であり得る。
【００６６】
商業連絡先制御３８０は、ブロック制御、スパム報告制御、および／または連絡先への追加制御を備え得る。ブロック制御は、ビジネスがコンシューマにメッセージを送るのをブロックし得る。スパム報告制御は、ビジネスを、スパムに関与しているものとして報告し得る。連絡先への追加制御は、ユーザの連絡先にビジネスを追加し得、たとえば、クライアントデバイス３０５上のユーザのためのアドレス帳にビジネスおよびビジネスのための電話番号を追加することを含み得る。
【００６７】
メッセージスレッドのためのユーザインターフェース３５０は、ユーザが様々な他のタスクを実施することを可能にし得る。たとえば、ユーザは、メッセージスレッドに関連付けられたビジネスのためのプロフィールを閲覧することを可能にされ得る。プロフィールは、検証された情報を含んでいる検証されたプロフィールを備え得る。たとえば、検証されたプロフィールは、検証されたアドレス、検証されたロケーション、検証された電話番号、検証された名前、検証されたロゴ、および／または他の検証された情報を示し得る。プロフィールは、アドレス、ロケーション、電話番号、名前、ロゴ、営業時間、および／または他の情報など、検証されていない情報を含み得る。
【００６８】
管理者登録
【００６９】
図４は、管理者登録を実施するマルチエージェントメッセージングシステム１００の一実施形態を示す。
【００７０】
マルチエージェントメッセージングシステム１００は、複数のエージェントをもつマルチエージェントエンティティ（たとえば、ビジネスエンティティ）のためのユニファイドメッセージングプラットフォームをサポートする。マルチエージェントエンティティは、一意のエンティティ識別情報に基づいてマルチエージェントメッセージングシステム１００において識別され得る。エンティティ識別子は、ビジネスエンティティのための識別子名前空間など、マルチエージェントエンティティのための識別子名前空間において一意であり得る。エンティティ識別子は、様々な種類のエンティティのための識別子名前空間においてメッセージングシステムにわたって一意であり得る。エンティティ識別子は、乱数発生技法を使用する乱数発生に基づいて割り当てられ得る（たとえば、真のランダム性、擬似ランダム性）。エンティティ識別子は、ビジネスエンティティのための連絡先電話番号など、他の情報から導出され得る。
【００７１】
マルチエージェントエンティティは、１つまたは複数のエージェントに関連付けられる。１つまたは複数のエージェントは、１つまたは複数のエージェントクライアントデバイスに関連付けられる。したがって、マルチエージェントエンティティは、１つまたは複数のエージェントクライアントデバイスに関連付けられ得る。マルチエージェントエンティティのための複数のエージェントのうちの１つまたは複数のエージェントは、マルチエージェントエンティティのための管理者を含み得る。１つまたは複数の管理者は、１つまたは複数の管理者クライアントデバイスに関連付けられる。エージェントクライアントデバイスのうちの１つまたは複数は、１つまたは複数の管理者クライアントデバイスを備え得る。したがって、マルチエージェントエンティティは、１つまたは複数の管理者クライアントデバイスに関連付けられ得る。
【００７２】
管理者を含む、マルチエージェントエンティティのための各エージェントは、デバイス固有エージェント識別子に従って識別され得る。デバイス固有エージェント識別子は、エージェントのためのエージェントクライアントデバイスのための電話番号を備え得る。エージェントが複数のクライアントデバイスに関連付けられる場合、デバイス固有エージェント識別子は、エージェントのための１次スマートフォンデバイスなど、１次クライアントデバイスのための電話番号を備え得る。エージェントは、フォンクライアントデバイスまたは非フォンクライアントデバイス（すなわち、フォン接続性をもたないクライアントデバイス）を使用してメッセージングシステムにアクセスすることを可能にされ得る。
【００７３】
管理者クライアントデバイス４０５は、メッセージングシステムを使用して通信し、マルチエージェントメッセージングシステム１００を実装する複数のクライアントデバイスのうちの１つであり得る。管理者クライアントデバイス４０５は、メッセージングクライアント４２０を実行する。管理者クライアントデバイス４０５上のメッセージングクライアント４２０は、複数のコンポーネントを備える。複数のコンポーネントは、ソフトウェアコンポーネントを備え得る。メッセージングクライアント４２０のコンポーネントは、ここに記載されるコンポーネントの追加のコンポーネントを含み得、メッセージングクライアント４２０の動作は、異なる実施形態では、異なる構成においてコンポーネント間で分割され得る。管理者クライアントデバイス４０５は、ビジネスメッセージングクライアントを実行し得る。ビジネスメッセージングクライアントは、ビジネスユーザが使用するために設計されたインターフェース特徴を使用して、メッセージングクライアント４２０のメッセージング特徴を実装し得る。
【００７４】
メッセージングクライアント４２０は、メッセージングコンポーネント４４０を備え得る。メッセージングコンポーネント４４０は、概して、メッセージングクライアント４２０とメッセージングシステムとの間の対話を実施するように成され得る。メッセージングコンポーネント４４０は、メッセージングシステムのためのメッセージングサーバ４１０にネットワーク通信を送出し、メッセージングサーバ４１０からネットワーク通信を受信し得る。
【００７５】
メッセージングクライアント４２０は、ユーザインターフェースコンポーネント４３０を備え得る。ユーザインターフェースコンポーネント４３０は、概して、クライアントデバイスのユーザに情報を提示し、クライアントデバイスのユーザからユーザコマンドを受信するように成され得る。ユーザインターフェースコンポーネント４３０は、視覚情報を表示し、オーディオ情報を出力し、他の方法でユーザに情報を提示し得る。ユーザインターフェースコンポーネント４３０は、タッチコマンド、テキストコマンド、音声コマンド、およびメッセージングクライアント４２０の操作のための任意の他の種のコマンドを受信し得る。
【００７６】
マルチエージェントメッセージングシステム１００は、メッセージングサーバ４１０を含む。メッセージングサーバ４１０は、メッセージングサーバデバイス上で実行し得る。メッセージングサーバ４１０は、概して、クライアントデバイスのためのメッセージングサービスを実施するように成される。メッセージングサーバ４１０は、１つまたは複数のソフトウェアまたはハードウェアコンポーネントを備え得る。メッセージングサーバ４１０は、エージェント管理コンポーネント４７０を備え得る。エージェント管理コンポーネント４７０は、概して、マルチエージェントエンティティのためのエージェントの許可および登録を維持するように成される。メッセージ処理コンポーネント４８０は、概して、メッセージングシステムのユーザ間でメッセージを受信し、記憶し、フォワーディングするように成される。
【００７７】
ビジネスのための管理者、ビジネスエンティティ、または他のマルチエージェントエンティティは、メッセージングクライアント４２０のユーザインターフェースコンポーネント４３０を使用して管理者アカウント登録コマンド４１０を実施し得る。メッセージングコンポーネント４４０は、管理者アカウント登録コマンド４１０を受信し、マルチエージェントエンティティのための管理者アカウントを登録するためにメッセージングサーバ４１０との管理者アカウント登録４５０を実施する。メッセージングコンポーネント４４０は、エージェント管理コンポーネント４７０に管理者アカウント登録４５０を送出する。
【００７８】
エージェント管理コンポーネント４７０は、マルチエージェントエンティティのための管理者アカウントのための管理者アカウント登録４５０を受信する。管理者アカウント登録４５０は、マルチエージェントエンティティのための管理者アカウントを確立する。エージェント管理コンポーネント４７０は、管理者アカウントをマルチエージェントエンティティに関連付けられたものとして登録する。管理者アカウント登録４５０は、正当な管理者がメッセージングシステムにおいてマルチエージェントエンティティに代わって管理することを可能にされることを保証するために、マルチエージェントエンティティの検証に関連して実施され得る。
【００７９】
エージェント管理コンポーネント４７０は、エージェントマッピングリポジトリ４１５との管理者登録４６０を実施する。エージェントマッピングリポジトリ４１５は、マルチエージェントエンティティとマルチエージェントエンティティに関連付けられた管理者およびエージェントとの間のマッピングを記憶する。エージェントマッピングリポジトリ４１５は、１つまたは複数のメッセージングサーバが、マルチエージェントエンティティとマルチエージェントエンティティの管理者およびエージェントとの間の関係を記憶し、取り出すことを可能にする。
【００８０】
エージェントマッピングリポジトリ４１５は、マルチエージェントエンティティのためのエージェントルールを記憶し得る。マルチエージェントエンティティのための管理者は、ビジネスアプリケーションメッセージングクライアント４２０のためのユーザインターフェースコンポーネント４３０を使用して、マルチエージェントエンティティのためのエージェントルールを指定し得る。エージェントルールは、マルチエージェントエンティティのためのメッセージのハンドリングを構成する。メッセージの受信時に、メッセージ処理コンポーネント４８０は、マルチエージェントエンティティのためのエージェントルールに少なくとも部分的に基づいてメッセージを処理する。エージェントルールはマルチエージェントエンティティのためのエージェントのデフォルトセットを指定し得、メッセージ処理コンポーネント４８０は、任意の作成されたメッセージスレッド中にデフォルトエージェントのすべてを自動的に含める。エージェントルールは、マルチエージェントエンティティのための１つまたは複数の管理者を指定し得る。
【００８１】
エージェントルールは、スレッドロッキングルールを指定し得、そのスレッドロッキングルールでは、メッセージスレッドにメッセージをポスティングするがメッセージスレッドからメッセージを読み取らないことは、メッセージスレッド中で応答する第１のエージェント以外のエージェントについて、妨げられる。スレッドロッキングルールは、管理者がポスティングするのを妨げられることを免除されることを指定し得る。
【００８２】
エージェントルールは、マルチエージェントエンティティのための各エージェントについてパーミッションを指定し得る。エージェントルールは、各エージェントについて、そのエージェントがデフォルトエージェントであるかどうかを指定し得る。エージェントルールは、各エージェントについて、そのエージェントが管理者であるかどうかを指定し得る。エージェントルールは、各エージェントについて、支払い活動に関与するためのパーミッションを有するかどうかを指定し得る。エージェントルールは、各エージェントについて、そのエージェントが、返品を承認すること、払い戻しを承認すること、割引を行うこと、または他の任意の支払いアクションなど、特定の支払い活動に関与するためのパーミッションを有するかどうかを指定し得る。エージェントルールは、各エージェントについて、そのエージェントがユーザによって開始されたメッセージスレッドに応答するのみではなくユーザ（たとえば、顧客）とのメッセージスレッドを開始するためのパーミッションを有するかどうかを指定し得る。
【００８３】
メッセージングシステムは、登録プロセスの一部としてビジネスエンティティの検証を実施し得る。概して、この検証は、特定の知られているメッセージングエンティティが特定の知られているビジネスエンティティに対応することを示す。これは、ユーザがビジネスエンティティに関与するとき、ユーザのメッセージングエクスペリエンスに対するユーザ信頼性を提供し得る。登録プロセスは、電話番号検証プロセスを含み得、電話番号検証プロセスでは、ショートメッセージサービス（ＳＭＳ）メッセージまたは音声確認コードが、管理者クライアントデバイス４０５に送出され、登録を完了するために管理者クライアントデバイス４０５上のメッセージングクライアント４２０に入力されなければならない。
【００８４】
管理者は、複数のエンドポイントからメッセージングシステムにアクセスすることを可能にされ得る。たとえば、管理者は、デスクトップまたはラップトップコンピュータから、およびスマートフォンなどのタッチスクリーンデバイスからメッセージングシステムにアクセスすることを可能にされ得る。複数のデバイスからメッセージングシステムにアクセスすることは、たとえば、エンドツーエンド暗号を管理する１次デバイスを有することによって可能にされ得、２次デバイスは１次デバイスを通してメッセージングシステムにアクセスする。
【００８５】
エージェント登録
【００８６】
図５は、エージェントクライアントデバイス５０５を使用してエージェントのためのエージェント登録を実施するマルチエージェントメッセージングシステム１００の一実施形態を示す。
【００８７】
エージェント登録は、エージェントクライアントデバイス５０５上でのエージェントによるアクションを含み得る。ユーザインターフェースコンポーネント４３０は、エージェントからエージェントアカウント登録コマンド５１０を受信し、エージェントアカウント登録コマンド５１０をメッセージングコンポーネント４４０に受け渡し得る。メッセージングコンポーネント４４０は、次いで、メッセージングサーバ４１０とのエージェントアカウント登録５５０を実施する。
【００８８】
エージェント管理コンポーネント４７０は、エージェントクライアントデバイス５０５からマルチエージェントエンティティのためのエージェントアカウントのためのエージェントアカウント登録５５０を受信する。エージェント管理コンポーネント４７０は、エージェントマッピングリポジトリ４１５との、エージェントアカウントのためのエージェント登録５６０を実施する。エージェント登録５６０は、エージェントアカウントが、指定されたマルチエージェントエンティティのためのエージェントであることを示す。
【００８９】
概して、マルチエージェントメッセージングシステム１００は、マルチエージェントエンティティのためのエージェント登録５６０の管理者承認を可能にする。一実施形態では、管理者クライアントデバイス４０５上のユーザインターフェースコンポーネント４３０は、管理者からエージェントアカウント承認コマンド５１５を受信し、エージェントアカウント承認コマンド５１５をメッセージングコンポーネント４４０に受け渡し得る。メッセージングコンポーネント４４０は、次いで、メッセージングサーバ４１０とのエージェントアカウント承認５５５を実施する。
【００９０】
代替的に、管理者は、エージェントに情報を提供することによってエージェント登録５６０を承認し得、その情報は、それらが承認されたことを示すためにそれらがエージェント登録５６０において使用することができる。たとえば、管理者は、管理者クライアントデバイス４０５がエージェント管理コンポーネント４７０にネットワークを介してエージェントアカウント承認５５５を送出することなしに、エージェント登録５６０が管理者の承認を有することを示すために、エージェントがエージェントクライアントデバイス５０５で使用することができるコードをエージェントに提供し得る。エージェント管理コンポーネント４７０は、エージェントアカウント登録５５０において管理者コードを受信し、管理者コードに基づいてエージェントアカウント登録を承認し得る。管理者コードは、エージェント管理コンポーネント４７０によって管理者クライアントデバイス４０５に提供されたワンタイムコードであり得る。ワンタイムコードは、数値または英数字コードを備え得る。ワンタイムコードはランダムに生成され得る。ワンタイムコードは、メッセージングシステム外でエージェントクライアントデバイス５０５に提供され得る。
【００９１】
いくつかの実施形態では、数値コードは、クイックレスポンス（ＱＲ）コードを介して提供され得る。ＱＲコード、またはＱＲコードにおいて符号化された数値コードは、エージェント管理コンポーネント４７０によって管理者クライアントデバイス４０５に提供され得る。管理者クライアントデバイス４０５は、次いで、ＱＲコードを表示し得、エージェントクライアントデバイス５０５は、カメラコンポーネントを用いてＱＲコードをキャプチャし得る。エージェントクライアントデバイス５０５は、次いで、ＱＲコードからワンタイムコードを抽出し、ワンタイムコードをエージェントアカウント登録５５０においてエージェント管理コンポーネント４７０に提供する。
【００９２】
エージェント管理コンポーネント４７０は、マルチエージェントエンティティのための管理者アカウントから、マルチエージェントエンティティのためのエージェントアカウントのためのエージェントアカウント承認５５５を受信する。エージェント管理コンポーネント４７０は、エージェントアカウント登録およびエージェントアカウント承認５５５に基づいて、エージェントマッピングリポジトリ４１５との、エージェントアカウントのためのエージェント登録５６０を実施する。エージェント登録５６０は、エージェントアカウントが、指定されたマルチエージェントエンティティのためのエージェントであることを示す。
【００９３】
エージェントアカウント登録５５０、エージェントアカウント承認５５５、および／またはエージェント登録５６０は、マルチエージェントエンティティのための後続メッセージスレッドのメッセージ共有許可のためにエージェントアカウントを登録し得る。エージェントアカウントは、マルチエージェントエンティティとの間で送出されたすべてのメッセージにアクセスすることを許可され得る。代替的に、エージェントアカウントは、マルチエージェントエンティティのためのエージェントとしてのエージェントアカウントの登録の後に始められるメッセージスレッドにアクセスすることを許可され得る。代替的に、エージェントアカウントは、マルチエージェントエンティティのための管理者によって特定のメッセージスレッドにアクセスすることを個別に許可され得る。マルチエージェントエンティティとのエージェントアカウントの関連付けと、メッセージスレッドにアクセスするためのエージェントアカウントの許可とは、エージェントマッピングリポジトリ４１５に記憶される。
【００９４】
マルチエージェントエンティティのエージェントとしてのエージェントアカウントの登録は、エージェントアカウントに関連付けられたエージェントクライアントデバイス５０５と管理者アカウントに関連付けられた管理者クライアントデバイス４０５との間のエンドツーエンド暗号化通信関係の作成を促し得る。クライアントデバイス４０５、５０５上のメッセージングコンポーネント４４０は、クライアントデバイス４０５とクライアントデバイス５０５との間の通信を暗号化および復号する際に使用するための暗号鍵を確立するために、セキュリティ情報を交換し得る。このエンドツーエンド暗号化通信関係は、エージェントクライアントデバイス５０５と管理者クライアントデバイス４０５との間で情報をセキュアに受け渡すために使用され得る。エンドツーエンド暗号化通信関係は、メッセージングシステムのためのデバイス間のエンドツーエンド暗号化メッセージングのために同じ技法を使用するエンドツーエンド暗号化通信関係であり得る。
【００９５】
いくつかの実施形態では、エージェントアカウント登録５５０は、マルチエージェントエンティティによって送出および受信されたメッセージにアクセスするためのメッセージ共有許可を備え得る。しかしながら、エージェントによるエージェントアカウント登録５５０に加えて、エージェント管理コンポーネント４７０は、マルチエージェントエンティティのための管理者からエージェントアカウント承認５５５を有するまで、マルチエージェントエンティティのエージェントとしてアカウントを登録するのを控え得る。
【００９６】
メッセージフォワーディング
【００９７】
図６は、メッセージパッケージ６５０をフォワーディングするマルチエージェントメッセージングシステム１００の一実施形態を示す。
【００９８】
ユーザは、マルチエージェントエンティティにメッセージ６１０を送出するためにユーザクライアントデバイス６０５を使用し得る。ユーザは、ユーザクライアントデバイス６０５のユーザインターフェースコンポーネント４３０を使用してメッセージ６１０を生成する。ユーザインターフェースコンポーネント４３０は、メッセージ６１０をメッセージングコンポーネント４４０に受け渡す。メッセージングコンポーネント４４０は、次いで、メッセージパッケージ６５０を生成し、メッセージングサーバ４１０にサブミットする。メッセージパッケージ６５０は、マルチエージェントエンティティのためのアドレスまたは識別子にアドレス指定される。
【００９９】
メッセージ処理コンポーネント４８０は、ユーザアカウントに関連付けられたユーザクライアントデバイス６０５から、メッセージパッケージ６５０中でマルチエージェントエンティティのための着信メッセージ６１０を受信する。メッセージ処理コンポーネント４８０は、次いで、管理者アカウントによるエージェントアカウントのためのメッセージ共有許可に基づいて、登録されたエージェントアカウントに関連付けられたエージェントクライアントデバイス５０５に、その着信メッセージ６１０をもつメッセージパッケージ６５０を送出する。いくつかの実施形態では、メッセージ共有許可は、エージェントの登録に基づいて提供され得る。他の実施形態では、メッセージ共有許可は、特定のメッセージスレッドについて個別に提供され得、管理者が、エージェントがメッセージスレッドを読み取り、メッセージスレッドに参加することを個別に許可する。
【０１００】
いくつかの実施形態では、エージェントは、マルチエージェントエンティティのためのすべてのメッセージスレッド、または、そのエージェントがマルチエージェントエンティティのためのエージェントとして登録された後に作成されたすべてのメッセージスレッドにアクセスすることを可能にされる。他の実施形態では、エージェントは、管理者によって特定のメッセージスレッドにアクセスすることを可能にされ、エージェントがアクセスすることを特別に許可されていないメッセージスレッドにアクセスするのを妨げられる。いくつかの実施形態では、エージェントは、メッセージスレッドを読み取るが、エージェントが書き込むことを管理者によって特別に許可されるメッセージスレッドにのみメッセージをサブミットし得る。いくつかの実施形態では、特定のエージェントがメッセージスレッド中でポスティングすると、そのメッセージスレッドはそのエージェントにロックされ、他のエージェントがそのメッセージスレッド中でポスティングするのを妨げ得る。そのようなロックは、ビジネスアプリケーションでは、エージェントインターフェースにおいて示され得る。
【０１０１】
いくつかの実施形態では、着信メッセージスレッドは、マルチエージェントエンティティのための１つまたは複数のデフォルトアカウントに向けられ得る。エージェントアカウントは、したがって、すべての着信メッセージスレッドがデフォルトで初期に向けられるデフォルトアカウントを備え得る。１つまたは複数のデフォルトアカウントは、マルチエージェントエンティティが登録されたときに指定されるか、あるいは、後で構成または再構成され得る。いくつかの実施形態では、デフォルトエージェントは管理者であり得、それにより、管理者が、着信メッセージスレッドのうちのいくつかに応答し、残りのものをハンドリングのために様々なエージェントに分配することを可能にする。管理者は、メッセージングサーバ４１０を介して管理者クライアントデバイス４０５からエージェントクライアントデバイス５０５にメッセージスレッドをフォワーディングするために、管理者クライアントデバイス４０５を使用し得る。
【０１０２】
エージェントマッピングリポジトリ４１５は、各マルチエージェントエンティティのためのエージェントのリストを備える。エージェントマッピングリポジトリ４１５は、マルチエージェントエンティティのためのデフォルトエージェントのリストをさらに備え得、デフォルトエージェントは、ユーザクライアントデバイスからの着信メッセージング通信のデフォルト受信側である。１つまたは複数のデフォルトエージェントのリストは、マルチエージェントエンティティのための管理者によって指定され得る。エージェントマッピングリポジトリ４１５は、マルチエージェントエンティティのための１つまたは複数の管理者のリストをさらに記憶し得る。管理者は、限定はしないが、エージェントを追加すること、エージェントを削除すること、および／またはエージェントにメッセージスレッドを割り当てることを可能にされるなど、追加の能力（ｐｏｗｅｒ）をもつエージェントのサブセットである。
【０１０３】
エージェント管理コンポーネント４７０は、ユーザアカウントと管理者アカウントとの間のメッセージスレッドのためのメッセージスレッドフォワードを受信する。メッセージスレッドフォワードは、管理者クライアントデバイス４０５からなど、管理者アカウントから受信される。メッセージスレッドフォワードは、メッセージスレッドをフォワーディングされているエージェントアカウントにアドレス指定される。メッセージスレッドフォワードは、エージェントアカウントがマルチエージェントエンティティのためのすべてのメッセージスレッドにアクセスすることを許可されるとは限らない実施形態では、エージェントアカウントがメッセージスレッドにアクセスするためのメッセージ共有許可を備えるか、または、メッセージ共有許可に関連して送出され得る。エージェントは、エージェントがエージェントクライアントデバイス５０５を介してメッセージスレッドを割り当てられたことをエージェント管理コンポーネント４７０によって通知され得る。
【０１０４】
エージェント管理コンポーネント４７０は、エージェントマッピングリポジトリ４１５においてメッセージスレッドをエージェントアカウントに登録する。これは、メッセージ処理コンポーネント４８０が、適切なクライアントデバイス、この場合、メッセージスレッドを割り当てられたエージェントアカウントのためのエージェントクライアントデバイス５０５に、メッセージスレッドのための着信メッセージをフォワーディングすることを可能にする。メッセージ処理コンポーネント４８０が、次いで、メッセージングサーバデバイス上のメッセージングサーバ４１０においてユーザクライアントデバイス６０５から、着信メッセージパッケージ６５０中でマルチエージェントエンティティのための着信メッセージ６１０を受信したとき、メッセージ処理コンポーネント４８０は、エージェントマッピングリポジトリ４１５においてメッセージスレッドをエージェントアカウントに登録したことに基づいて、メッセージパッケージ６５０中でエージェントクライアントデバイス５０５にメッセージ６１０を送出する。着信メッセージ６１０のためのメッセージスレッドは、メッセージ６１０によってアドレス指定されるマルチエージェントエンティティに基づいて決定され、適切なエージェントクライアントデバイス５０５を示すエージェント登録５６０は、メッセージ６１０が、エージェントクライアントデバイス５０５に割り当てられたメッセージスレッドに関連付けられていることに基づいて、エージェントマッピングリポジトリ４１５から取り出される。
【０１０５】
着信メッセージパッケージ６５０が受信されたとき、メッセージパッケージ６５０は、予定受信側を識別するために検査される。予定受信側は、受信側識別子に基づいて識別される。予定受信側がマルチエージェントエンティティである場合、受信側識別子は、マルチエージェントエンティティを識別する。受信側識別子は、次いで、メッセージパッケージ６５０を受信するべきであるエージェントを取り出すために、エージェントマッピングリポジトリ４１５とともに使用され得、そのエージェントはエージェント登録５６０に基づいてマルチエージェントエンティティに登録されている。いくつかの場合には、エージェントは、エージェントのエージェントアカウントがメッセージパッケージ６５０のためのメッセージスレッドのためのハンドリングエージェントとして登録されていることに基づいて識別される。メッセージパッケージ６５０のためのメッセージスレッドは、送出側に基づいて識別され得、メッセージスレッドは、送出側のユーザクライアントデバイス６０５のためのユーザアカウントと受信側マルチエージェントエンティティとの間の一意のメッセージスレッドである。他の場合には、エージェントは、エージェントアカウントがデフォルトエージェントであることに基づいて識別され、デフォルトエージェントは、メッセージスレッドに特別に割り当てられているエージェントがないことにより、使用される。いずれの場合も、メッセージパッケージ６５０は、次いで、決定されたエージェントのためのエージェントクライアントデバイス５０５に送出される。
【０１０６】
ユーザクライアントデバイス６０５とエージェントクライアントデバイス５０５との間のメッセージスレッドの初期作成が実施され得、ここで、デフォルトエージェントが、すべての着信ユーザ通信の初期メッセージスレッド作成を受信する。ユーザクライアントデバイス６０５とエージェントクライアントデバイス５０５とは、エンドツーエンド暗号化メッセージング関係を作成し得、各クライアントデバイス４０５、５０５がメッセージング関係についてのセキュリティ情報を記憶する。セキュリティ情報は１つまたは複数の暗号鍵を備え得、着信メッセージ６１０が、１つまたは複数の暗号鍵のうちの暗号鍵に基づいて暗号化される。
【０１０７】
２つ以上のエージェントクライアントデバイスがユーザクライアントデバイス６０５とのメッセージスレッドにアクセスすることを許可される場合、メッセージスレッドは、セキュアなグループメッセージスレッドとしてセキュアにされ得る。セキュアなグループスレッドは、エンドツーエンド暗号を使用する３つまたはそれ以上のクライアントデバイス間の暗号化通信をサポートする。着信メッセージ６１０がグループメッセージスレッドに送出される場合、着信メッセージ６１０は、２つまたはそれ以上のエージェントクライアントデバイスについてなど、各受信側クライアントデバイスについて、個別に暗号化される。
【０１０８】
いくつかの実施形態では、（マルチエージェントエンティティのための管理者によって使用されるデフォルトエージェントクライアントデバイスなどの）１つのエージェントクライアントデバイスからのメッセージスレッドの割り当ては、１対１の（ｏｎｅ−ｔｏ−ｏｎｅ）メッセージスレッドからグループメッセージスレッドへのメッセージスレッドの移行を促し得る。他の実施形態では、メッセージスレッドは、初期に、グループメッセージスレッドとして作成され得る。特に、複数のエージェントがメッセージスレッドにアクセスすることを自動的に許可される場合、メッセージスレッドは、初期に、グループメッセージスレッドとして作成され得、あらゆるメッセージスレッドにアクセスすることを許可されたエージェントのための各エージェントクライアントデバイスが、そのグループメッセージスレッドに参加する。代替的に、エージェントクライアントデバイスは、エージェントクライアントデバイスがアクセスすることを許可されたメッセージスレッドにアクセスすることをエージェントクライアントデバイスが要求したことに応答して、グループメッセージスレッドに追加され得る。これらの実施形態では、メッセージスレッドは、第２のエージェントクライアントデバイスがユーザとのメッセージスレッドにアクセスすることを要求したことに応答して、グループメッセージスレッドに移行され得る。
【０１０９】
第１のエージェントクライアントデバイスから第２のエージェントクライアントデバイスへのメッセージスレッドフォワードは、メッセージスレッドのための履歴バンドル（ｂｕｎｄｌｅ）のフォワードを備え得る。デフォルトエージェントのためのエージェントクライアントデバイスなど、第１のエージェントクライアントデバイスは、既存の会話を履歴バンドルとして暗号化し、ユーザとの対話を続けるためのコンテキストを第２のエージェントに提供するために暗号化履歴バンドルを第２のエージェントクライアントデバイスに送出し得る。
【０１１０】
グローバルビュー
【０１１１】
すべてのエージェントクライアントデバイスなど、複数のクライアントデバイスがマルチエージェントエンティティのためのすべてのメッセージスレッドを受信することになる実施形態では、メッセージ処理コンポーネント４８０は、マルチエージェントエンティティのためのすべてのメッセージスレッドのためのすべてのメッセージパッケージを、マルチエージェントエンティティのためのすべてのエージェントクライアントデバイスに自動的にフォワーディングし得る。各着信メッセージパッケージ６５０について、メッセージ処理コンポーネント４８０は、エージェントマッピングリポジトリ４１５から、エージェントレジストリを備えるエージェント登録のリストを取り出し、メッセージパッケージ６５０をエージェントクライアントデバイスの各々にフォワーディングする。このメッセージパッケージ６５０は、その後、暗号化グループメッセージスレッド技法に従ってユーザクライアントデバイスからのメッセージパッケージを復号するために確立された暗号鍵に基づいて、エージェントクライアントデバイスの各々によって復号され得る。
【０１１２】
メッセージスレッドは、メッセージスレッドインターフェースにおいてユーザクライアントデバイス６０５上に表示され得る。ユーザが対応しているマルチエージェントエンティティをユーザが識別するのを支援するために、マルチエージェントメッセージングシステム１００は、マルチエージェントエンティティを示すためにユーザクライアントデバイス６０５上でメッセージスレッドインターフェースをラベリングし得る。たとえば、ユーザクライアントデバイス６０５上のメッセージスレッドインターフェースは、ビジネスの名前など、マルチエージェントエンティティのための検証された名前でラベリングされる。
【０１１３】
いくつかの実施形態では、メッセージスレッドは、ユーザについて、それらのユーザが対応している個別エージェントに基づいてラベリングされる。したがって、エージェント管理コンポーネント４７０は、管理者アカウントからユーザアカウントへのメッセージスレッドフォワードコマンドに応答して管理者アカウントの代わりにエージェントアカウントを示すために、ユーザクライアントデバイス６０５上でメッセージスレッドのためのメッセージスレッドインターフェースを再ラベリングし得る。したがって、初期期間では、メッセージスレッドインターフェースは、管理者アカウントについてのユーザ情報を表示し、次いで、後続期間では、エージェントアカウントについてのユーザ情報を表示し得る。いくつかの実施形態では、通信している管理者またはエージェントのためのラベルは、通信ユーザを混乱させることを回避するように、管理者またはエージェントがメッセージスレッドにメッセージをサブミットするまで保留され得る。したがって、初期期間では、マルチエージェントエンティティの名前が使用され得、次いで、後続期間では、エージェントが管理者によってメッセージスレッドを割り当てられた後など、エージェントがメッセージスレッド内のメッセージを送出すると、エージェントの特定の名前が使用される。
【０１１４】
メッセージングクライアント４２０は、連絡先についての最後に見られた時間を表示し得る。これらの最後に見られた時間は、各メッセージスレッドのためのメッセージング受信箱ビューにおいて表示され得る。これらの最後に見られた時間は、連絡先とのメッセージスレッドのためのメッセージスレッドインターフェースにおいて表示され得る。マルチエージェントエンティティの場合、使用される最後に見られた時間は、メッセージスレッドにアクセスするための許可をもつ任意のエージェントについての最新の（すなわち、最も最近の）最後に見られた時間であり得る。エージェント管理コンポーネント４７０は、マルチエージェントエンティティのための複数のエージェントアカウントについての複数の最後に見られた時間を決定し、複数の最後に見られた時間のうちの最も最近の最後に見られた時間を選択し、最も最近の最後に見られた時間をユーザクライアントデバイス６０５上のメッセージスレッドのためのメッセージスレッドインターフェースに提供して、マルチエージェントエンティティについての最後に見られた時間を示し得る。
【０１１５】
いくつかの実施形態では、マルチエージェントエンティティ、ビジネスエンティティ、または他の可能にされたエンティティのための管理者および／またはエージェントは、複数のユーザアカウントにブロードキャストメッセージを送出することを可能にされ得る。たとえば、マルチエージェントエンティティは、マルチエージェントエンティティがアクティブまたは最近アクティブなメッセージスレッドを有するあらゆるユーザアカウントに、指定されたメッセージを送出することが可能であり得る。メッセージングシステムは、送出され得るブロードキャストメッセージの数に、１日の限度などの限度を課し得る。ユーザは、任意の特定のビジネスのためのブロードキャストメッセージまたはすべてのビジネスからのブロードキャストメッセージを受信することをオプトアウトすることを可能にされ得る。ユーザは、任意のブロードキャストメッセージを受信することまたは特定のビジネスのためのブロードキャストメッセージをオプトインすることを可能にされ得る。
【０１１６】
メッセージをタグ付けすること
【０１１７】
いくつかの実施形態では、管理者および／またはエージェントは、メモ（ｎｏｔｅ）、ラベル、または他のいくつかの情報でユーザをタグ付けすることを可能にされ得る。管理者は、その後、特定のタグをもつユーザのみにブロードキャストメッセージを送出し得る。これらのタグは、複数のエージェントおよび／または管理者にとって可視であり、情報の共有を可能にし得る。たとえば、エージェントは、様々なタスクの実施を助けるために、他のエージェントにとって可視のメモをメッセージスレッドに追加し得る。エージェントおよび管理者は、タグに基づいてメッセージスレッドを分類および選択することを可能にされ得る。エージェントおよび管理者は、タグのうちの少なくともいくつかに基づいて、階層構造を用いて提示され得る。
【０１１８】
ユーザとのメッセージスレッドは、ユーザがメッセージスレッドをどのように開始したかについてのコンテキストを提供するタグで、自動的にタグ付けされ得る。たとえば、メッセージングコンテキストタグは、ユーザが、メッセージングクライアント４２０においてマルチエージェントエンティティにディープリンクした、ウェブページ上のまたはアプリケーションにおけるディープリンクユニフォームリソースインジケータ（ＵＲＩ：ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｉｎｄｉｃａｔｏｒ）を選択したことを示し得る。メッセージングコンテキストタグは、ディープリンクＵＲＩを備える広告をユーザが選択したことを示し得る。
【０１１９】
いくつかの実施形態では、メッセージスレッドをタグ付けすることは、画像またはビデオなど、メディアコンテンツでメッセージスレッドをタグ付けすることを含み得る。これらの実施形態では、メッセージングシステムは、メッセージスレッドにタグ付けされたメディアコンテンツを記憶するために使用され得るメディアリポジトリを提供し得る。このメディアリポジトリは、マルチエージェントエンティティの管理者およびエージェントのみが、マルチエージェントエンティティに関連付けられたメディアコンテンツにアクセスすることができるように、暗号化され得る。いくつかの実施形態では、管理者または他のエージェントによって選択されたエージェントのみが、メディアコンテンツにアクセスすることを許可され得る。
【０１２０】
自動応答
【０１２１】
いくつかの実施形態では、メッセージングシステムは自動応答をサポートし得る。たとえば、ユーザを歓迎するために、ユーザがマルチエージェントエンティティとのメッセージスレッドを作成したとき、自動応答が送出され得、自動応答は、マルチエージェントエンティティのための管理者によって定義される。自動応答は、頻繁に尋ねられる質問に答えるように、管理者によってセットアップされ得る。これらの自動応答は、明示的キーワードタグ付け、キーワード分析、機械ベースの自然言語学習、または任意の他の自然言語処理（ＮＬＰ）技法を含む、様々なＮＬＰ技法に基づいて、ユーザメッセージに応答して提供され得る。メッセージングシステムはまた、メッセージスレッドを閲覧するエージェントに自動応答ショートカットを提供し得る。自動応答を自動的に送出する代わりに、メッセージングシステムは、１つまたは複数の提案された応答をエージェントに提供し得る。これらの提案された応答は、メッセージスレッドの詳細へのコンテキストなしに提供される一般的な提案された応答であり得るか、または、メッセージスレッドのＮＬＰ分析を含み得るような、メッセージスレッドの連絡先に基づき得る。
【０１２２】
分析
【０１２３】
マルチエージェントメッセージングシステム１００は、マルチエージェントエンティティの管理者および／またはエージェントに分析を提供し得る。分析は、メッセージングシステム上でのマルチエージェントエンティティの性能に関する情報を提供する様々なメトリックのための様々な測度を提供し得る。分析は、限定はしないが、応答時間測度および満足測度（ｓａｔｉｓｆａｃｔｉｏｎ  ｍｅａｓｕｒｅ）を含み得る。分析は、ブロードキャストメッセージについての読取りレートおよび応答レートを含み得る。分析は、概して、マルチエージェントエンティティについて、ならびに／あるいは様々な管理者および／またはエージェントの性能について提供され得る。
【０１２４】
管理者は、管理者関連情報を示すダッシュボードを提供され得る。管理者関連情報は、アラートを含み得る。たとえば、ユーザメッセージが、定義された時間期間よりも長い間、応答なしに進んだ場合。アラートを生成するために使用される時間期間はメッセージがどのようにタグ付けされるかに応じて変化し得、高優先度タグでタグ付けされたより優先度の高いメッセージが、より優先度の低いメッセージよりも少ない応答なし時間でアラートを引き起こすなどである。いくつかの実施形態では、管理者は、応答されていないメッセージをもつ高優先度メッセージスレッドのリストを提供され得る。
【０１２５】
支払い処理
【０１２６】
マルチエージェントメッセージングシステム１００は、コンシューマおよびビジネスに代わって支払い処理をサポートし得、マルチエージェントメッセージングシステム１００は支払いプロセスにおいて媒介として働く。
【０１２７】
許可解除（Ｄｅ−Ａｕｔｈｏｒｉｚａｔｉｏｎ）
【０１２８】
管理者およびエージェントはまた、マルチエージェントエンティティのためのメッセージスレッドおよび他の情報にアクセスするのを許可解除（ｄｅ−ａｕｔｈｏｒｉｚｅ）され得る。管理者は、エージェント管理コンポーネント４７０に許可解除コマンドを送出することによって、エージェントを許可解除し得る。複数の管理者アカウントがマルチエージェントエンティティのために使用される場合、１次管理者アカウントが、他の管理者アカウントの許可および許可解除を制御し得る。１次管理者の許可解除は、マルチエージェントエンティティとの通信に基づいてメッセージングシステムの管理者によって、手動で実施され得る。
【０１２９】
セキュリティ情報共有
【０１３０】
代替実施形態では、エンドツーエンド暗号化メッセージスレッドへのアクセスは、デバイス間でセキュリティ情報を共有することによって提供され得る。ユーザクライアントデバイス６０５と管理者クライアントデバイス４０５との間のメッセージスレッドの初期作成が実施され得、ここで、管理者は、すべての着信ユーザ通信の初期メッセージスレッド作成を受信する。ユーザクライアントデバイス６０５と管理者クライアントデバイス４０５とは、エンドツーエンド暗号化メッセージング関係を作成し得、各クライアントデバイス４０５、６０５がメッセージング関係についてのセキュリティ情報を記憶する。セキュリティ情報は１つまたは複数の暗号鍵を備え得、着信メッセージ６１０が、１つまたは複数の暗号鍵のうちの暗号鍵に基づいて暗号化される。
【０１３１】
このセキュリティ情報は、エージェントクライアントデバイス５０５が、ユーザクライアントデバイス６０５によってマルチエージェントエンティティとのメッセージスレッドに送出されたメッセージを復号することを可能にし、エージェントクライアントデバイス５０５が、エージェントクライアントデバイス５０５からユーザクライアントデバイス６０５に送出されたメッセージを暗号化することを可能にするために、管理者クライアントデバイス４０５からエージェントクライアントデバイス５０５に送出され得る。メッセージ処理コンポーネント４８０は、メッセージスレッドフォワードコマンドに基づいて、管理者アカウントからエージェントアカウントにスレッドフォワーディングペイロードをフォワーディングする。スレッドフォワーディングペイロードは、暗号鍵など、セキュリティ情報を備え、エージェントクライアントデバイス５０５がメッセージスレッドにアクセスすることを可能にする。
【０１３２】
管理者クライアントデバイス４０５上のメッセージングコンポーネント４４０は、管理者クライアントデバイス４０５上のセキュリティ情報リポジトリから、暗号鍵など、セキュリティ情報を収集する。管理者クライアントデバイス４０５は、次いで、セキュリティ情報をエージェントクライアントデバイス５０５に送出する。管理者クライアントデバイス４０５によってエージェントクライアントデバイス５０５にセキュリティ情報を送出することは、メッセージスレッドが管理者によってエージェントに割り当てられたことに応答して実施され得る。エージェントクライアントデバイス５０５は、セキュリティ情報を受信し、そのセキュリティ情報を、エージェントクライアントデバイス５０５自体のセキュリティ情報リポジトリに記憶する。エージェントクライアントデバイスは、次いで、管理者クライアントデバイス４０５によって提供されるセキュリティ情報を使用してユーザクライアントデバイス６０５との通信を暗号化および復号することを可能にされる。管理者クライアントデバイス４０５からエージェントクライアントデバイス５０５にセキュリティ情報を送出することは、クライアントデバイス４０５とクライアントデバイス５０５との間のエンドツーエンド暗号化通信を使用して実施され得る。
【０１３３】
セキュリティ情報が交換され、エージェントクライアントデバイス５０５がエージェントマッピングリポジトリ４１５においてユーザクライアントデバイス６０５とのメッセージスレッドのための置換（ｒｅｐｌａｃｅｍｅｎｔ）受信側として登録された場合、エージェントクライアントデバイス５０５は、したがって、メッセージ処理コンポーネント４８０からメッセージパッケージ６５０を受信することと、セキュリティ情報を使用して、中に記憶されたメッセージ６１０を復号することとの両方を行うように準備される。同様に、エージェントクライアントデバイス５０５は、セキュリティ情報とメッセージングサーバ４１０のメッセージフォワーディング機能性とを使用して、ユーザクライアントデバイス６０５にメッセージスレッドに関連するメッセージを送出するように準備される。
【０１３４】
マルチエージェントエンティティのためのエージェントが、マルチエージェントエンティティのためのメッセージスレッド、すべてのスレッドまたは後続スレッドのいずれかにアクセスすることを自動的に許可される実施形態では、メッセージスレッドについてのセキュリティ情報は、メッセージスレッドが作成されたことに応答してエージェントクライアントデバイス５０５に自動的に提供され得る。メッセージスレッドがユーザとマルチエージェントエンティティとの間で作成されたとき、暗号鍵など、セキュリティ情報は、ユーザクライアントデバイス、およびマルチエージェントエンティティのためのクライアントデバイス上で確立される。マルチエージェントエンティティのために登録された１次管理者クライアントデバイスは、エンドツーエンド暗号化メッセージスレッドを作成するための要求を受信するように選択される。管理者クライアントデバイス４０５とユーザクライアントデバイス６０５とは、エンドツーエンド暗号関係を確立し、ここで、各クライアントデバイス４０５、６０５は、クライアントデバイス４０５とクライアントデバイス６０５との間で送出されるメッセージを暗号化および復号する際に使用するための暗号鍵を有する。エージェントクライアントデバイスがメッセージスレッドにアクセスするのを可能にするために、１次管理者クライアントデバイス４０５上のセキュリティ情報は、エージェントマッピングリポジトリ４１５において登録されたエージェントのためのすべてのエージェントクライアントデバイスにフォワーディングされる。管理者クライアントデバイス４０５は、セキュリティ情報が確立されると、そのセキュリティ情報を、メッセージスレッドについてのセキュリティ情報を備えるスレッドアクセスペイロードとしてエージェントクライアントデバイスに送出する。スレッドアクセスペイロードは、エージェントクライアントデバイスの各々に分配され、それにより、エージェントクライアントデバイスの各々上のメッセージングクライアントがメッセージスレッド中のメッセージを復号し、読み取ることを可能にする。スレッドアクセスペイロードは、管理者クライアントデバイス４０５とエージェントクライアントデバイスとの間のエンドツーエンド暗号技法に従って暗号化される。
【０１３５】
グループメッセージスレッド暗号
【０１３６】
図７は、エンドツーエンド暗号化通信システム７００のためのブロック図を示す。エンドツーエンド暗号化通信システム７００は、マルチエージェントメッセージングシステム１００を備え得る。エンドツーエンド暗号化通信システム７００は、複数のエージェントがユーザクライアントデバイスとのメッセージスレッドにアクセスすることを可能にするために使用され得るような、エンドツーエンド暗号化グループメッセージをサポートし得る。
【０１３７】
複数のクライアントデバイス７２０がエンドツーエンド暗号化通信システム７００の一部として動作し、メッセージングシステム７５０を介して互いの間でメッセージを送信し得る。クライアントデバイス７２０は、１つまたは複数のモバイルデバイス、パーソナルコンピュータデバイス、ポータブルコンピュータデバイス、デスクトップコンピュータデバイス、タブレットデバイス、スマートフォンデバイス、および／または任意の他の形態のコンピュータデバイスを備え得る。クライアントデバイス７２０の各々は、たとえば、限定はしないが、コンシューマ、エージェント、および管理者を含み得る、メッセージングシステム７５０の特定のユーザに関連付けられ得る。
【０１３８】
第１のクライアントデバイス７２０−１が、メッセージングシステム７５０を介して１対１のメッセージ７６０を送信し得る。１対１のメッセージ７６０は、単一の送出側クライアントデバイスから単一の受信側クライアントデバイスに送出されたメッセージを備え得る。単一の受信側のみが指定されるので、メッセージングシステム７５０は、複数の受信側への１対１のメッセージ７６０のファンアウト（ｆａｎ−ｏｕｔ）または複製を実施しないことがあるが、代わりに、１対１のメッセージ７６０の受信側クライアントデバイス７２０−４が利用可能であるとき、その受信側クライアントデバイス７２０−４に１対１のメッセージ７６０をフォワーディングし得る。
【０１３９】
１対１のメッセージ７６０は、送出側クライアントデバイス７２０−１と受信側クライアントデバイス７２０−４との間の送信のために暗号化され得る。１対１のメッセージ７６０は、公開／秘密鍵関係を使用する非対称暗号鍵に従って暗号化され得る。メッセージングシステム７５０は、受信側クライアントデバイスのための１つまたは複数の公開鍵を記憶し、受信側クライアントデバイスを送出するためのメッセージをもつ１つまたは複数のクライアントデバイスに分配するように動作可能であり得る。受信側クライアントデバイス７２０−４は、メッセージングシステム７５０を用いて公開鍵を記憶し得る。メッセージングシステム７５０は、１対１のメッセージ７６０と受信側クライアントデバイス７２０−４のための他のメッセージとを暗号化する際に使用するための公開鍵を送出側クライアントデバイス７２０−１に提供し得る。受信側クライアントデバイス７２０−４は、分配された公開鍵の秘密鍵カウンターパートを、受信側クライアントデバイス７２０−４上に機密として保有し得る。１対１のメッセージ７６０は、公開鍵を使用して暗号化され、それにより、メッセージングシステム７５０が１対１のメッセージ７６０を復号することが可能であることなしに、メッセージングシステム７５０を介して受信側デバイス７２０−４に送信され得る。
【０１４０】
複数の、送出側主体の（ｓｅｎｄｅｒ−ｄｒｉｖｅｎ）グループメッセージ７７０は、メッセージングシステム７５０を使用して、グループメッセージ、すなわち、２つ以上の受信側に向けられたメッセージを送出することの、あるソリューションに対応し得る。送出側クライアントデバイス７２０−２は、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々についての、メッセージングシステム７５０への送出側主体のグループメッセージ７７０の各々の個別サブミッションを通して、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々に、送出側主体のグループメッセージを送信し得る。４つ以上の受信側クライアントデバイスが指定され得ることが諒解されよう。送出側主体のグループメッセージ７７０の各々は、複数の受信側クライアントデバイスの各々に固有の暗号鍵を使用して暗号化され得、各々についての１つの暗号鍵が、複数の受信側クライアントデバイスに対応する複数の暗号鍵からのものである。これは、メッセージングシステム７５０が送出側主体のグループメッセージ７７０のいずれかの内容を読み取るのを妨げ得る。送出側主体のグループメッセージ７７０の各々は、特定の受信側クライアントデバイスに、および特定の受信側クライアントデバイスへの配信のために、個別にアドレス指定されたので、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々のための公開鍵は、メッセージングシステム７５０によって受信側クライアントデバイス７２０−４、７２０−５、および７２０−６から送出側クライアントデバイス７２０−２にフォワーディングされ得、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々は、その共有公開鍵に対応する秘密鍵を機密として維持することによって、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々に送信された特定の、送出側主体のグループメッセージを復号することが可能な唯一のデバイスのままである。
【０１４１】
しかしながら、クライアントデバイス７２０−２によって個別の、送出側主体のグループメッセージ７７０を送出することは、結果として、受信側クライアントデバイスの数の倍数としてスケールアップ（ｓｃａｌｅ  ｕｐｗａｒｄｓ）する、送出側クライアントデバイス７２０−２のためのデータ接続上で送信されるデータ量を使用し得る。これは、グループメッセージの１つのコピーのみが、送出側クライアントデバイス７２０−２によってメッセージングシステム７５０に送信されれば使用されていたであろうものを超過して、送出側クライアントデバイス７２０−２のためのアップロード帯域幅と、メッセージングシステム７５０のためのダウンロード帯域幅との著しい浪費を伴い得る。
【０１４２】
再送信主体の（ｒｅｔｒａｎｓｍｉｓｓｉｏｎ−ｄｒｉｖｅｎ）グループメッセージ７８０は、メッセージングシステム７５０を使用してグループメッセージを送出することの別のソリューションに対応し得る。送出側クライアントデバイス７２０−３は、メッセージングシステム７５０への再送信主体のグループメッセージ７８０の単一のサブミッションを通して、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々に再送信主体のグループメッセージ７８０を送信し得、メッセージングシステム７５０は、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々への再送信主体のグループメッセージ７８０のコピー分配を担当する。単一の、再送信主体のグループメッセージ７８０がメッセージングシステム７５０にサブミットされるので、再送信主体のグループメッセージ７８０に適用される暗号は、各受信側について同じである。したがって、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々は、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６のすべてに知られている共有暗号鍵で構成されるべきである。
【０１４３】
しかしながら、１対１のメッセージ７６０または送出側主体のグループメッセージ７７０とは異なり、送出側クライアントデバイス７２０−３による秘密非対称鍵の使用は、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々が対応する秘密鍵を有する必要があるという問題を提示する。対称暗号が使用されるのか非対称暗号が使用されるのかにかかわらず、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の各々は、同じ、再送信主体のグループメッセージ７８０が受信側クライアントデバイス７２０−４、７２０−５、および７２０−６のすべてによって復号されることになる場合、同じ暗号鍵を有しなければならない。しかしながら、メッセージングシステム７５０は、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６によって共有される暗号鍵へのアクセスを有するのを妨げられなければならない。したがって、再送信主体のグループメッセージ７８０を復号するための受信側クライアントデバイス７２０−４、７２０−５、および７２０−６間で共有される暗号鍵は、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６の間で共有されるとき、その暗号鍵自体暗号化されなければならない。
【０１４４】
送出側クライアントデバイス７２０−３は、したがって、受信側クライアントデバイス７２０−４、７２０−５、および７２０−６に共有暗号鍵を送信するために１対１の暗号を使用し得る。共有暗号鍵は、クライアントデバイス７２０−２を参照しながら説明されたように、送出側主体のグループメッセージ７７０と同様の複数の、送出側主体のグループメッセージとして送出されたメッセージ中で符号化され得る。共有暗号鍵は、それにより、メッセージングシステム７５０が共有暗号鍵にアクセスすることが可能であることなしに、送出側クライアントデバイス７２０−３から受信側クライアントデバイス７２０−４、７２０−５、および７２０−６に送信され得る。送出側クライアントデバイス７２０−３から、または共有暗号鍵へのアクセスをもつ任意のクライアントデバイスから送出された、再送信主体のグループメッセージ７８０などのメッセージは、その後、共有暗号鍵を使用して暗号化され得、送出側クライアントデバイス７２０−３および受信側クライアントデバイス７２０−４、７２０−５、および７２０−６のいずれかはメッセージを復号することが可能であるが、メッセージングシステム７５０はメッセージを復号することが不可能なままである。非対称暗号は暗号化および復号するのに対称暗号よりも多くの計算リソースを使用し得るが、共有鍵が、共有鍵を使用して暗号化されたメッセージを復号することを許可されたデバイスの間で分配されるにすぎない場合、非対称秘密／公開鍵ペアの利益が重要でないことがあるので、対称暗号鍵が共有暗号鍵として使用され得る。
【０１４５】
図８は、グループブロードキャストをインスタンス化する送出側デバイス８２０の一実施形態を示す。送出側デバイス８２０は、メッセージングアプリケーション８３０を備え得る。メッセージングアプリケーション８３０は、メッセージングコンポーネント８４０と、セキュリティコンポーネント８５０と、メッセージングストア８６０とを備え得る。送出側デバイス８２０は、マルチエージェントエンティティとの対話のためのユーザクライアントデバイス６０５を備え得る。
【０１４６】
メッセージングコンポーネント８４０は、送出側デバイスにおいてブロードキャストグループ定義８７０を受信するように動作可能であり得、ブロードキャストグループ定義８７０は、複数の受信側デバイス８２５を備えるブロードキャストグループを定義する。いくつかの場合には、ブロードキャストグループ定義８７０は、送出側デバイス８２０上でユーザメッセージングインターフェースから受信され得る。メッセージングアプリケーション８３０は、送出側デバイス８２０のユーザにユーザメッセージングインターフェースを提示し得る。ユーザメッセージングインターフェースは、送出側デバイス８２０のユーザが、メッセージの１つまたは複数の受信側を指定することと、個人またはグループメッセージング対話を開始するかまたは個人またはグループメッセージング対話に応答することとを行うことを可能にし得る。送出側デバイス８２０のユーザは、受信側デバイス８２５に対応する複数の連絡先または他の受信側識別子を選択することによってブロードキャストグループを指定し得る。
【０１４７】
ブロードキャストグループ定義８７０は、マルチエージェントエンティティのためのデフォルトエージェントのリストであり得る。マルチエージェントエンティティのためのエージェントクライアントデバイスは、受信側デバイス８２５に対応する。送出側デバイス８２０のユーザがマルチエージェントエンティティと通信することを要求する場合、送出側デバイス８２０は、マルチエージェントエンティティのためのデフォルトエージェントのためのデフォルトエージェントクライアントデバイスのリストを提供され得る。マルチエージェントエンティティのためのデフォルトエージェントクライアントデバイスのリストは、次いで、マルチエージェントエンティティのデフォルトエージェントとの暗号化グループメッセージングを開始するために、ブロードキャストグループ定義８７０として使用される。デフォルトエージェントクライアントデバイスの各々は、同様に、他のデフォルトエージェントクライアントデバイスとユーザクライアントデバイスとを備えるブロードキャストグループ定義を提供される。
【０１４８】
ブロードキャストグループ定義８７０は、追加または代替として、非デフォルトエージェントのための非デフォルトエージェントクライアントデバイスを含み得る。グループメッセージスレッドがユーザとマルチエージェントエンティティとの間のメッセージングの開始において作成された場合、ブロードキャストグループ定義８７０はデフォルトエージェントのみを含み得る。しかしながら、メッセージング開始が単一のデフォルトエージェントを伴う場合、１対１のメッセージスレッドが初期に作成され得、グループメッセージスレッドは、非デフォルトエージェントがそのメッセージスレッドに割り当てられたことに応答して作成される。非デフォルトエージェントが割り当てられると、グループメッセージスレッド作成が開始され、したがって、単一のデフォルトエージェントと、１つまたは複数の割り当てられた非デフォルトエージェントとを含む。
【０１４９】
代替の場合には、ブロードキャストグループは、受信側デバイス８２５のうちの１つなど、別のクライアントデバイスのユーザによって定義され得る。送出側デバイス８２０は、受信側デバイス８２５のうちの１つなど、別のクライアントデバイスからグループメッセージを受信していることがある。送出側デバイス８２０は、送出側デバイス８２０のユーザにグループメッセージを提示し、グループへの送信のための、ユーザからのグループメッセージに対する応答を受信していることがある。したがって、いくつかの場合には、ブロードキャストグループ定義８７０は、グループメッセージに応答する、その中に含まれていたユーザによって指定され得るか、またはさもなければ別のクライアントデバイスのユーザによって初期に決定されていることがある。
【０１５０】
一実施形態では、ブロードキャストグループは、ユーザクライアントデバイス６０５と、ユーザクライアントデバイス６０５とのメッセージスレッドにアクセスすることを許可される１つまたは複数のエージェントクライアントデバイスとを含むように、メッセージングシステム７５０によって定義され得る。いくつかの場合には、これは、マルチエージェントエンティティのためのあらゆるエージェントクライアントデバイスを備え得る。メッセージングシステム７５０は送出側デバイス８２０にエージェントクライアントデバイスのリストを提供し得、送出側デバイス８２０は、次いで、エージェントクライアントデバイスのリストに基づいてブロードキャストグループ定義８７０をインスタンス化する。ブロードキャストグループにおけるメンバーシップが更新され得、送出側デバイス８２０は、そうすることを要求されたとき、追加されたエージェントクライアントデバイスに暗号鍵を提供する。たとえば、非デフォルトエージェントがユーザとのメッセージスレッドを割り当てられたか、またはさもなければユーザとのメッセージスレッドにアクセスすることを許可されたことに応答して、非デフォルトエージェントクライアントデバイスが追加されたとき、受信側デバイスが追加され得る。
【０１５１】
セキュリティコンポーネント８５０は、送出側デバイス８２０において送出側ブロードキャスト暗号鍵８７５を生成するように動作可能であり得る。送出側ブロードキャスト暗号鍵８７５は、エンドツーエンド暗号化通信システム７００のためのあらかじめ定義されたパラメータ内でランダムに生成され得る。たとえば、３２バイト鍵が使用される場合、ランダム３２バイト数が生成される。いくつかの実施形態では、ランダムに生成された鍵は、送出側ブロードキャスト暗号鍵８７５として使用するより前に、知られている技法による規準またはテストの対象となり得る。送出側ブロードキャスト暗号鍵８７５は、対称暗号鍵を備え得る。送出側ブロードキャスト暗号鍵８７５は、図７を参照しながら説明された共有暗号鍵に対応し得る。セキュリティコンポーネント８５０は、ブロードキャストグループとの将来の通信のための取出しのために、ブロードキャストグループに関連して、メッセージングストア８６０に送出側ブロードキャスト暗号鍵８７５を記憶し得る。
【０１５２】
メッセージングコンポーネント８４０は、ブロードキャスト開始パッケージを生成するように動作可能であり得る。ブロードキャスト開始パッケージは、送出側ブロードキャスト暗号鍵８７５を含んでいることがある。いくつかの実施形態では、ブロードキャスト開始パッケージは、グループブロードキャストメッセージを含んでいることがある。メッセージングコンポーネント８４０は、ユーザメッセージングインターフェースを介してグループブロードキャストメッセージを受信し得る。グループブロードキャストメッセージは、テキストセグメントまたはメディアアイテムのうちの少なくとも１つを備え得る。グループブロードキャストメッセージは、ブロードキャストグループ定義８７０に対応するブロードキャストグループにアドレス指定され得る。メッセージングコンポーネント８４０は、ユーザメッセージングインターフェースを介してグループブロードキャストメッセージを受信したことに応答して、ブロードキャスト開始パッケージを生成し得、ブロードキャスト開始パッケージは、グループブロードキャストメッセージの配信と、将来のグループメッセージの暗号において使用するための送出側ブロードキャスト暗号鍵８７５の配信の両方を実施するためのものである。
【０１５３】
メッセージングコンポーネント８４０は、複数の受信側デバイス８２５にブロードキャスト開始パッケージを送信するように動作可能であり得、複数の受信側デバイス８２５の各々は、受信側デバイス固有暗号鍵に従って暗号化されたブロードキャスト開始パッケージを送信される。受信側デバイス８２５の各々は異なる受信側デバイス固有暗号鍵に関連付けられ得、受信側デバイス固有暗号鍵の各々は、ブロードキャスト開始パッケージ８８０としての受信側デバイス８２５の各々への配信のためのブロードキャスト開始パッケージのコピーを暗号化するために、各々について１つ使用される。複数の受信側デバイス８２５の各々のための受信側デバイス固有暗号鍵は、非対称暗号鍵を備え得る。ブロードキャスト開始パッケージは、メッセージングシステム７５０を介して受信側デバイス８２５に送信され得る。代替的に、複数の受信側デバイス８２５の各々のための受信側デバイス固有暗号鍵は、受信側デバイス固有対称暗号鍵を備え得、受信側デバイス固有対称暗号鍵は、受信側デバイス固有非対称暗号鍵を使用して確立される。
【０１５４】
メッセージングコンポーネント８４０は、メッセージングシステム７５０にブロードキャストパッケージ８９０を送信するように動作可能であり得、ブロードキャストパッケージ８９０はブロードキャストグループにアドレス指定され、ブロードキャストパッケージ８９０は送出側ブロードキャスト暗号鍵８７５に従って暗号化される。ブロードキャスト開始パッケージの複数のコピーが、受信側デバイス８２５の各々について１つ、送出側デバイス８２０によって送信されることと比較して、単一のブロードキャストパッケージ８９０のみが送信され得、メッセージングシステム７５０は、そのブロードキャストパッケージ８９０を、受信側デバイス８２５への送信のために複製する。
【０１５５】
送出側ブロードキャスト暗号鍵８７５は、送出側デバイス８２０と受信側デバイス８２５とを備える、ブロードキャストグループのメンバー間の将来のグループブロードキャストのために使用され得る。いくつかの実施形態では、特定のユーザおよびクライアントデバイスが特定のメッセージンググループとのグループメッセージング会話を開始すると、ブロードキャストグループのすべてのメンバーが共有ブロードキャスト暗号鍵８７５を使用し得る。他の実施形態では、ブロードキャストグループの各メンバーは、ブロードキャストグループの各メンバーが本明細書に記載される技法を使用してブロードキャストグループの他のメンバーに分配するブロードキャストグループの各メンバー自身のブロードキャスト暗号鍵を使用し得る。
【０１５６】
いくつかの実施形態では、セキュリティコンポーネント８５０は、暗号鍵進行（ｐｒｏｇｒｅｓｓｉｏｎ）関数に従って送出側ブロードキャスト暗号鍵８７５を進行させ得る。暗号鍵進行関数は、ブロードキャストパッケージの各送信の後の暗号鍵進行ハッシュの漸進的適用を備え得る。ハッシュ関数は、出力からハッシュ関数への、その関数への入力が導出され得ない、または、少なくとも、実際的でない計算能力および時間なしに導出され得ない、一方向数学的変換を定義し得る。ハッシュ関数は、あるブロードキャストパッケージのための現在の送出側ブロードキャスト暗号鍵８７５に適用されて、次のブロードキャストパッケージのための送出側ブロードキャスト暗号鍵８７５を決定し得る。その結果、送出側ブロードキャスト暗号鍵８７５の反復が特定の時点においてあらわにされる場合、その時点においておよびその時点を越えて送出されたブロードキャストパッケージのみが復号され得、前のブロードキャストパッケージは、あらわにされた鍵から導出され得ない送出側ブロードキャスト暗号鍵の反復を使用する。したがって、グループメッセージスレッドの開始後にグループメッセージスレッドに追加されたエージェントクライアントデバイスは、メッセージスレッドについての履歴を、その全体の間グループメッセージスレッド中にあったエージェントクライアントデバイスによって提供され得る。
【０１５７】
メッセージングシステム７５０は、メッセージングブロードキャストグループのレジストリを維持し得る。メッセージングコンポーネント８４０は、したがって、メッセージングシステム７５０を用いてブロードキャストパッケージ８９０を受信側デバイス８２５にアドレス指定することが可能になるように、ブロードキャストパッケージ８９０の送信より前に、ブロードキャストグループをメッセージングシステム７５０に登録し得る。メッセージングコンポーネント８４０は、メッセージングシステム７５０にブロードキャストグループ登録要求を送信し、応答して、メッセージングシステム７５０からグループ識別子を受信し得、グループ識別子は、メッセージングシステム７５０に関するブロードキャストグループを識別する。受信側デバイス８２５および／または受信側デバイス８２５のユーザの各々が識別子に関連付けられ得、ブロードキャストグループ登録要求が、グループ中に含めるための受信側デバイス８２５を識別するために、受信側デバイス８２５についての識別子をリストする。このグループ識別子は、メッセージをブロードキャストグループの他のメンバーにアドレス指定するために、送出側デバイス８２０と受信側デバイス８２５のすべての両方を含む、ブロードキャストグループ中のデバイスのいずれかが使用するために利用可能であり得る。メッセージングコンポーネント８４０は、受信されたグループ識別子を使用してブロードキャストパッケージ８９０をブロードキャストグループにアドレス指定し得る。メッセージングコンポーネント８４０は、ブロードキャストグループとの通信のために受信側デバイス８２５を構成するために、ブロードキャスト開始パッケージ中にグループ識別子を含め得る。ブロードキャストグループがブロードキャストグループ中の別のデバイスによって初期に作成された場合、グループ識別子は、代わりに、受信側デバイス８２５のうちの１つなど、ブロードキャストグループ中の別のクライアントデバイスによって送出されたブロードキャスト開始パッケージ中で、送出側デバイス８２０によって受信されていることがある。
【０１５８】
メッセージングコンポーネント８４０は、ユーザメッセージングインターフェースからグループメンバー追加要求を受信するように動作可能であり得る。代替的に、メッセージングコンポーネント８４０は、メッセージングシステム７５０からグループメンバー追加通知を受信し得る。グループメンバー追加要求またはグループメンバー追加通知は、ブロードキャストグループに追加されることになる追加の受信側デバイスに対応し得る。ユーザメッセージングインターフェースから受信されたとき、グループメンバー追加要求は、ブロードキャストグループ中に別のユーザのデバイスを含めるための、送出側デバイス８２０のユーザからの要求を備え得る。メッセージングシステム７５０から受信されたとき、グループメンバー追加通知は、ブロードキャストグループ中に別のユーザのデバイスを含めるための、ブロードキャストグループ中の別のデバイスのユーザからの要求を備え得る。
【０１５９】
メッセージングコンポーネント８４０は、ブロードキャスト開始パッケージと同様であり得る、追加メンバーブロードキャスト開始パッケージを生成するように動作可能であり得る。追加メンバーブロードキャスト開始パッケージは、送出側ブロードキャスト暗号鍵８７５を含んでいることがある。暗号鍵進行が使用される場合、送出側ブロードキャスト暗号鍵８７５は、暗号鍵進行におけるその時点において到達された送出側ブロードキャスト暗号鍵８７５の反復を含めることによって、含められ得る。したがって、ブロードキャストグループの追加のメンバーは、追加メンバーブロードキャスト開始パッケージ中に含まれる任意のメッセージとブロードキャストグループに送出される任意の将来のメッセージとを読み取ることが可能であり得るが、ブロードキャストグループに送出され、送出側ブロードキャスト暗号鍵８７５の前の反復を用いて暗号化された前のメッセージを遡及的に復号することが可能でないことがある。
【０１６０】
メッセージングコンポーネント８４０は、追加の受信側デバイスに追加メンバーブロードキャスト開始パッケージを送信するように動作可能であり得、追加メンバーブロードキャスト開始パッケージは、追加メンバー受信側デバイス固有暗号鍵に従って受信側デバイスへの送信のために暗号化される。追加メンバー受信側デバイス固有暗号鍵は、受信側デバイス８２５のために使用される受信側デバイス固有暗号鍵と同様に、追加の受信側デバイスに特別に関連付けられ得る。追加メンバー受信側デバイス固有暗号鍵は、メッセージングシステム７５０から送出側デバイス８２０によって受信され得る。追加メンバー受信側デバイス固有暗号鍵は、非対称暗号鍵または対称暗号鍵を備え得る。
【０１６１】
メッセージングコンポーネント８４０は、ユーザメッセージングインターフェースを介して追加のグループブロードキャストメッセージを受信し得る。送出側デバイス８２０は、送出側デバイス８２０のユーザがブロードキャストグループにメッセージを実際に送出するまで、追加の受信側デバイスに送出側ブロードキャスト暗号鍵８７５を提供することを控え得る。追加のグループブロードキャストメッセージは、したがって、追加の受信側デバイスを含むブロードキャストグループにアドレス指定されたテキストセグメントまたはメディアアイテムのうちの少なくとも１つを備え得、追加メンバーブロードキャスト開始パッケージが追加のグループブロードキャストメッセージを含んでおり、追加メンバーブロードキャスト開始パッケージは、ユーザメッセージングインターフェースを介して追加のグループブロードキャストメッセージを受信したことに応答して生成される。
【０１６２】
メッセージングコンポーネント８４０は、この追加のグループブロードキャストメッセージと、追加の受信側デバイスの追加からの送出側デバイス８２０によってブロードキャストグループにブロードキャストされる第１のメッセージとを、追加メンバーブロードキャスト開始パッケージを使用して送信し得、追加メンバーブロードキャスト開始パッケージは、送出側デバイス８２０からのこのブロードキャストグループのためのブロードキャストメッセージを復号するように追加の受信側デバイスを構成する。メッセージングコンポーネント８４０は、それにより、追加のグループブロードキャストメッセージを配信するものと同じパッケージを使用して送出側デバイス８２０から将来のブロードキャストパッケージを受信するように追加の受信側デバイスを構成し得る。ブロードキャストグループの他のメンバーは、ブロードキャストグループの他のメンバーが送出側ブロードキャスト暗号鍵８７５を使用して追加のグループブロードキャストメッセージを復号するようにすでに構成されているので、ブロードキャストパッケージを介してそのような追加のグループブロードキャストメッセージを受信し得る。複数の追加のメンバーがブロードキャストグループに追加された場合、その複数の追加メンバーブロードキャスト開始パッケージは、複数の追加のメンバーに関連付けられた複数の追加の受信側デバイスに送出され得、複数の追加メンバーブロードキャスト開始パッケージの各々は、複数の追加の受信側デバイスの各々に固有の暗号鍵に従って暗号化されることが諒解されよう。
【０１６３】
メンバーは、ブロードキャストグループから削除ならびに追加され得る。メッセージングコンポーネント８４０は、ユーザメッセージングインターフェースからグループメンバー削除要求を受信し得る。代替的に、メッセージングコンポーネント８４０は、メッセージングシステム７５０からグループメンバー削除通知を受信し得、グループメンバー削除通知は、ブロードキャストグループ中の別のクライアントデバイスのユーザから発信し、ブロードキャストグループの１つまたは複数のメンバーを削除する。グループメンバー削除要求は、限定はしないが、管理者クライアントデバイス４０５によって実施され、エージェントクライアントデバイスがメッセージスレッドにアクセスするのを許可解除され得る。これは、たとえば、エージェントがマルチエージェントエンティティから削除される場合に実施され得る。しかしながら、グループメンバー削除要求はまた、エージェントが単にユーザとのメッセージスレッドから割り当て解除（ｕｎａｓｓｉｇｎ）される場合に実施され得る。
【０１６４】
残念ながら、削除されたクライアントデバイスが、送出側ブロードキャスト暗号鍵８７５を使用して暗号化された、送出側デバイス８２０によってブロードキャストグループに送出されたブロードキャストパッケージへのアクセスを有する場合、削除されたクライアントデバイスは、ブロードキャストパッケージを復号することが可能である。暗号進行が使用される場合でも、削除されたクライアントデバイスは、暗号鍵を進行させ、ブロードキャストパッケージを復号し続け得る。したがって、送出側デバイス８２０は、削除されたクライアントデバイスが将来のブロードキャストパッケージを復号するのを妨げるように、送出側ブロードキャスト暗号鍵８７５とは別個である置換送出側ブロードキャスト暗号鍵の使用と、送出側ブロードキャスト暗号鍵８７５の進行とによって、送出側デバイス８２０のグループ通信をリセットし得る。したがって、セキュリティコンポーネント８５０は、受信されたグループメンバー削除要求または受信されたグループメンバー削除通知に応答して、送出側ブロードキャスト暗号鍵８７５を置換送出側ブロードキャスト暗号鍵と置き換え得る。
【０１６５】
ブロードキャスト開始パッケージは、暗号化内容部分と非暗号化エンベロープ部分とを備え得る。非暗号化エンベロープ部分は、ブロードキャスト開始パッケージの受信側を識別するアドレス指定情報を含んでいることがある。受信側デバイスのためのアドレス指定情報は、受信側デバイスおよび／または受信側デバイスのユーザに関連付けられたユーザ識別子を備え得る。非暗号化エンベロープ部分は、メッセージングシステム７５０に対する、送出側デバイス８２０および／または送出側デバイス８２０のユーザを識別する情報を含んでいることがある。非暗号化エンベロープ部分は、送出側デバイス８２０がメッセージングシステム７５０を使用することを許可する情報を含んでいることがある。いくつかの実施形態では、送出側デバイス８２０がメッセージングシステム７５０を使用することを許可する情報は、秘密鍵を使用してブロードキャスト開始パッケージの少なくとも何らかの部分を暗号化することによってなど、送出側デバイス８２０を認証するための証明に従って暗号化され得、秘密鍵に対する対応する公開鍵が、送出側デバイス８２０を識別するためにメッセージングシステム７５０によって記憶される。暗号化内容部分は、送出側ブロードキャスト暗号鍵８７５と、もしあれば、グループブロードキャストメッセージとを含み得る。暗号化内容部分は、各受信側デバイスのための受信側デバイス固有暗号鍵に従って暗号化され得る。
【０１６６】
ブロードキャストパッケージ８９０は、暗号化内容部分と非暗号化エンベロープ部分とを備え得る。非暗号化エンベロープ部分は、ブロードキャストパッケージ８９０を受信するブロードキャストグループを識別するアドレス指定情報を含んでいることがある。受信側デバイスのためのアドレス指定情報は、ブロードキャストグループに関連付けられたグループ識別子を備え得る。非暗号化エンベロープ部分は、メッセージングシステム７５０に対する、送出側デバイス８２０および／または送出側デバイス８２０のユーザを識別する情報を含んでいることがある。非暗号化エンベロープ部分は、送出側デバイス８２０がメッセージングシステム７５０を使用することを許可する情報を含んでいることがある。いくつかの実施形態では、送出側デバイス８２０がメッセージングシステム７５０を使用することを許可する情報は、秘密鍵を使用してブロードキャスト開始パッケージの少なくとも何らかの部分を暗号化することによってなど、送出側デバイス８２０を認証するための証明に従って暗号化され得、秘密鍵に対する対応する公開鍵が、送出側デバイス８２０を識別するためにメッセージングシステム７５０によって記憶される。暗号化内容部分は、ブロードキャストグループに送出されることになるブロードキャストメッセージを含み得る。
【０１６７】
ブロードキャスト開始パッケージまたはブロードキャストパッケージ８９０の非暗号化部分が送信中にメッセージングシステム７５０によって修正され得ることが諒解されよう。情報は、エンドツーエンド暗号化通信の活動を促進するように、ブロードキャスト開始パッケージおよびブロードキャストパッケージ８９０の記憶および送信において追加、削除、または修正され得る。
【０１６８】
図９は、グループブロードキャストを支援するメッセージングシステム７５０の一実施形態を示す。メッセージングシステム７５０は、図２を参照しながら説明されたように、鍵サーバ２４３と、チャットサーバ２１５と、グループサーバ２４４とを含み得る。
【０１６９】
受信側デバイス８２５−１は、メッセージングシステム７５０の鍵サーバ２４３に受信側公開鍵アップロード９１０をサブミットし得る。受信側公開鍵アップロード９１０は、他のクライアントへの分配のための公開鍵を伴ってメッセージングシステム７５０を構成するための、メッセージングアプリケーション８３０の初期構成の間に実施され得る。受信側公開鍵アップロード９１０は、受信側デバイス８２５−１に連絡することを期待するクライアントデバイスへの分配のための、メッセージングシステム７５０にとって利用可能な公開鍵のプールをリフレッシュするために、時々実施され得る。受信側公開鍵アップロード９１０は複数の公開鍵を備え得、受信側デバイス８２５−１は複数の公開鍵に対する対応する秘密鍵を有し、受信側デバイス８２５−１は、その対応する秘密鍵を、受信側デバイス８２５−１上のリポジトリ中に機密に保有する。これは、概して、メッセージングシステム７５０が、他のクライアントデバイスがセキュアな通信に関与するのを支援することを可能にするために、メッセージングシステム７５０を使用するすべてのクライアントデバイスによって実施され得る。鍵サーバ２４３は、受信側公開鍵アップロード９１０中で受信された複数の公開鍵を鍵ストアに記憶し得る。受信側デバイス８２５−１は、受信側公開鍵アップロード９１０中の複数の公開鍵の各々を、受信側デバイス８２５−１に送出されたメッセージを暗号化するために公開鍵のうちのどれが送出側デバイスによって使用されたかを識別する際に使用するための公開鍵識別子に関連付け得る。
【０１７０】
送出側デバイス８２０は、鍵サーバ２４３に公開鍵要求９１０を送信し得る。公開鍵要求９１０は、公開鍵が要求される受信側デバイス８２５−１を識別し得る。鍵サーバ２４３は、公開鍵要求９１０に応答して、受信側公開鍵アップロード９１０からの特定の受信側公開鍵９２０を送出側デバイス８２０に返し得る。鍵サーバ２４３への受信側公開鍵アップロード９１０のサブミッションと鍵サーバ２４３からの受信側公開鍵９２０の取出しとは、複数の鍵サーバ２４３のすべての直接関与ではなく、複数の鍵サーバ２４３のうちの特定の１つまたは複数の鍵サーバとの通信を備え得ることが諒解されよう。
【０１７１】
送出側デバイス８２０は、チャットサーバ２１５に、送出側ブロードキャスト暗号鍵８７５を含んでいるブロードキャスト開始パッケージ８８０−１を送信し得る。チャットサーバ２１５は、１対１のメッセージング通信を特別に対象とすることがあり、グループ通信のファンアウトを実施しないことがある。ブロードキャスト開始パッケージ８８０−１は、公開鍵要求９１０に応答して鍵サーバ２４３から受信された受信側公開鍵９２０を使用して暗号化され得る。ブロードキャスト開始パッケージ８８０−１が受信されるときに受信側デバイス８２５−１がオンラインである場合、メッセージングシステム７５０は、ブロードキャスト開始パッケージ８８０−１を受信側デバイス８２５−１に直ちにフォワーディングし得る。いくつかの実施形態では、ブロードキャスト開始パッケージ８８０−１は、依然として、チャットサーバ２１５によって順に処理されることになるメッセージキューを通って移動し得る。ブロードキャスト開始パッケージ８８０−１がチャットサーバ２１５によって受信されるときに受信側デバイス８２５−１がオフラインである場合、チャットサーバ２１５は、受信側デバイス８２５−１が利用可能になるまでブロードキャスト開始パッケージ８８０−１を記憶し、受信側デバイス８２５−１が利用可能になると受信側デバイス８２５−１にブロードキャスト開始パッケージ８８０−１を送信し得る。チャットサーバ２１５は、ブロードキャスト開始パッケージ８８０が、含まれている送出側ブロードキャスト暗号鍵８７５のファンアウトを実施するためにメッセージングシステム７５０を使用するのではなく１対１の通信として送出されることにより、ブロードキャスト開始パッケージ８８０の送信のために使用され得る。チャットサーバ２１５へのブロードキャスト開始パッケージ８８０のサブミッションとチャットサーバ２１５からのブロードキャスト開始パッケージ８８０の送信とは、複数のチャットサーバ２１５のすべての直接関与ではなく、複数のチャットサーバ２１５のうちの特定の１つまたは複数のチャットサーバとの通信を備え得ることが諒解されよう。
【０１７２】
グループサーバ２４４は、送出側デバイス８２０からブロードキャストパッケージ８９０を受信し得る。いくつかの場合には、送出側デバイス８２０または別のクライアントデバイスは、受信側デバイスまたはユーザアカウントのための識別子とともに受信側デバイスまたはユーザアカウントのリストを指定することによってなど、ブロードキャストパッケージ８９０の送信より前に、ブロードキャストグループをグループサーバ２４４に登録し得る。いくつかの場合には、送出側デバイス８２０は、ブロードキャストグループを、ブロードキャストパッケージ８９０を送信するために使用される同じネットワーク送信に登録するために、ブロードキャストパッケージ８９０中に受信側デバイスまたはユーザアカウントのリストを含め得る。グループサーバ２４４は、グループ識別子をブロードキャストグループに割り当て、送出側デバイス８２０および受信側デバイス８２５が、割り当てられたグループ識別子を使用してメッセージをブロードキャストグループにアドレス指定することを可能にし得る。
【０１７３】
グループサーバ２４４は、ブロードキャストパッケージ８９０の受信のための、受信側デバイス８２５−１を含む受信側デバイス８２５を決定し得る。グループサーバ２４４は、キューイングのための遅延を潜在的に伴って、現在オンラインである受信側デバイス８２５のいずれかにブロードキャストパッケージ８９０を送信し得、オフラインである受信側デバイス８２５のいずれかへの送信のためにブロードキャストパッケージ８９０を記憶し得、オフライン受信側デバイスがオンラインになると、オフライン受信側デバイスにブロードキャストパッケージ８９０を送信する。グループサーバ２４４へのブロードキャストパッケージ８９０のサブミッションとグループサーバ２４４からのブロードキャストパッケージ８９０の送信とは、複数のグループサーバ２４４のすべての直接関与ではなく、複数のグループサーバ２４４のうちの特定の１つまたは複数のグループサーバとの通信を備え得ることが諒解されよう。
【０１７４】
送出側デバイス８２０からのブロードキャストパッケージ８９０がエージェントのリストにアドレス指定される場合、グループサーバ２４４は、そのエージェントのリストを、エージェントマッピングリポジトリ４１５中のマルチエージェントエンティティのためのエージェントのリストに対してチェックし得る。ブロードキャストパッケージ８９０中のエージェントのリストは、リストされたエージェントが両方とも、依然としてマルチエージェントエンティティに関連付けられていることと、依然としてユーザとのメッセージスレッドに割り当てられていることの両方を確認するためにチェックされ得る。マルチエージェントエンティティに関連付けられていないかまたはメッセージスレッドに割り当てられていないかのいずれかであるリストされたエージェントは、関連付けられていないかまたは割り当て解除されたエージェントのためのエージェントクライアントデバイスにブロードキャストパッケージ８９０をフォワーディングすることを控えることによって、ブロードキャストパッケージ８９０を受信するのを妨げられる。エージェント関連付けのそのような削除またはエージェント割り当て解除（ｕｎａｓｓｉｇｎｍｅｎｔ）は、管理者クライアントデバイス４０５によって要求され、エージェントマッピングリポジトリ４１５に記録される。そのような削除または割り当て解除が実施されるとき、送出側クライアントデバイス８２０は、送出側クライアントデバイス８２０がマルチエージェントエンティティと通信するときにアドレス指定するべきである受信側のリストを更新するように通知され得る。
【０１７５】
図１０は、グループブロードキャストを受信する受信側デバイス８２５−１の一実施形態を示す。受信側デバイス８２５−１は、複数の受信側デバイス８２５のすべての構成および動作の代表例として働き得る。
【０１７６】
受信側デバイス８２５−１は、送出側デバイス８２０によって使用される同じメッセージングアプリケーション８３０のインスタンスを実行し得る。他の実施形態では、メッセージングシステム７５０が、サードパーティクライアント、マルチプラットフォームメッセージングクライアント、および代替メッセージングクライアントの使用のための他の技法など、複数のメッセージングクライアントの使用をサポートする場合など、代替メッセージングアプリケーションが使用され得る。受信側デバイス８２５−１上のメッセージングアプリケーション８３０は、メッセージングコンポーネント８４０とセキュリティコンポーネント８５０とを備え得る。
【０１７７】
メッセージングコンポーネント８４０は、受信側デバイス８２５−１において送出側デバイス８２０からのブロードキャスト開始パッケージ８８０−１を受信するように動作可能であり得る。ブロードキャスト開始パッケージ８８０−１は、受信側デバイス８２５−１に固有の受信側デバイス固有暗号鍵に従って暗号化され得る。送出側デバイス８２０は送出側識別子に関連付けられ得、送出側識別子は、送出側デバイス８２０を識別するためにブロードキャスト開始パッケージ８８０−１中で受信される。
【０１７８】
メッセージングコンポーネント８４０は、ブロードキャスト開始パッケージ８８０−１から送出側ブロードキャスト暗号鍵８７５を抽出するように動作可能であり得、送出側ブロードキャスト暗号鍵８７５は、メッセージングシステム７５０に関するブロードキャストグループへの送信のためのメッセージを暗号化する際に送出側デバイス８２０によって使用するためのものである。メッセージングコンポーネント８４０は、ブロードキャスト開始パッケージ８８０−１からグループ識別子を抽出し得、グループ識別子は、メッセージングシステム７５０に関するブロードキャストグループを識別する。
【０１７９】
セキュリティコンポーネント８５０は、送出側識別子およびブロードキャストグループ識別子に関連して、メッセージングストア８６０に送出側ブロードキャスト暗号鍵８７５を記憶するように動作可能であり得る。メッセージングストア８６０は、受信側デバイス８２５−１についてのメッセージング履歴を記憶し得る。メッセージングストア８６０は、したがって、ブロードキャストグループのためのグループ会話についてのメッセージング履歴を記憶し得る。セキュリティコンポーネント８５０は、ブロードキャストグループのためのグループ会話についてのメッセージング履歴に関連して、メッセージングストア８６０に送出側ブロードキャスト暗号鍵８７５を記憶し得る。セキュリティコンポーネント８５０は、ブロードキャストグループにメッセージを送信したブロードキャストグループの各メンバーのための送出側ブロードキャスト暗号鍵を記憶し得る。セキュリティコンポーネント８５０は、エンドツーエンド暗号化通信システム７００が、メンバーがブロードキャストグループにブロードキャストすることを試みると送出側ブロードキャスト暗号鍵を交換するためにネットワーク帯域幅を使用するにすぎないので、まだメッセージを送信していないブロードキャストグループのメンバーのための送出側ブロードキャスト暗号鍵を記憶しないことがある。
【０１８０】
メッセージングコンポーネント８４０は、再送信サーバからブロードキャストパッケージ８９０を受信するように動作可能であり得、ブロードキャストパッケージは送出側識別子およびグループ識別子に関連付けられる。受信側デバイス８２５−１上のセキュリティコンポーネント８５０は、送出側識別子およびグループ識別子に基づいてメッセージングストア８６０から送出側ブロードキャスト暗号鍵８７５を取り出し得る。メッセージングコンポーネント８４０は、メッセージングストア８６０から取り出された送出側ブロードキャスト暗号鍵８７５を使用してブロードキャストパッケージ８９０を復号し得る。
【０１８１】
図１１Ａは、メッセージスレッドのためのマルチエージェントラベリングを伴うフォワーディングベースの論理フロー１１００の一実施形態を示す。
【０１８２】
ユーザクライアントデバイス６０５は、マルチエージェントエンティティとのメッセージング開始１１０１を実施し得る。メッセージング開始１１０１は、マルチエージェントエンティティとのメッセージングに関与するための要求を備える。ユーザクライアントデバイス６０５は、マルチエージェントエンティティのためのメッセージング識別子を指定することによってなど、ユーザが関与することを望むマルチエージェントエンティティを、メッセージングサーバ４１０に対して識別する。ユーザクライアントデバイス６０５は、マルチエージェントエンティティのためのデフォルトエージェントクライアントデバイス１１０５のためのデフォルトクライアントデバイス識別子を受信し得る。ユーザクライアントデバイス６０５は、メッセージング開始１１０１の一部としてマルチエージェントエンティティのための名前をさらに受信し得、マルチエージェントエンティティのための名前は、デフォルトエージェントクライアントデバイス１１０５とのメッセージスレッドをラベリングするために使用される。マルチエージェントエンティティのための名前は、マルチエージェントエンティティのためのエージェントからユーザクライアントデバイス６０５において受信された個別メッセージをラベリングするためにさらに使用され得る。
【０１８３】
代替シナリオでは、メッセージング開始１１０１は、デフォルトエージェントクライアントデバイス１１０５など、エージェントクライアントデバイスによって実施され得る。メッセージング開始１１０１は、説明されたように、ただし、１対１の暗号の確立においてデフォルトエージェントクライアントデバイス１１０５として要求元エージェントクライアントデバイスを用いて、実施され得る。いくつかの実施形態では、管理者クライアントデバイスのみがユーザとのメッセージングを開始し得る。
【０１８４】
ユーザクライアントデバイス６０５は、次いで、デフォルトエージェントクライアントデバイス１１０５との、メッセージングサーバ４１０を介した暗号開始１１０３を実施する。暗号開始１１０３は、暗号鍵の交換を介してデフォルトエージェントクライアントデバイス１１０５との１対１のエンドツーエンド暗号化通信チャネルを確立する。
【０１８５】
ユーザクライアントデバイス６０５およびデフォルトエージェントクライアントデバイス１１０５は、次いで、暗号開始１１０３において暗号鍵交換によって確立された１対１のエンドツーエンド暗号化通信チャネル上での初期メッセージ交換１１０４に関与し得る。
【０１８６】
デフォルトエージェントクライアントデバイス１１０５は、次いで、エージェント再割り当て１１０６を実施し得る。エージェント再割り当て１１０６は、別のエージェントクライアントデバイス５０５がメッセージ交換に含まれるべきであるとメッセージングサーバ４１０に知らせる。エージェント再割り当て１１０６は、ユーザクライアントデバイス６０５とのグループ暗号開始１１０７を開始する。
【０１８７】
ユーザクライアントデバイス６０５、デフォルトエージェントクライアントデバイス１１０５、および他のエージェントクライアントデバイス５０５は、エージェント再割り当て１１０６に応答してグループ暗号開始１１０７を実施する。このグループ暗号開始１１０７は、ユーザクライアントデバイス６０５とデフォルトエージェントクライアントデバイス１１０５と他のエージェントクライアントデバイス５０５との間のグループメッセージスレッド中のメッセージのフォワーディングを提供する。
【０１８８】
エージェントクライアントデバイス５０５は、エージェント再割り当て１１０６を知らされる。これは、エージェントが次にユーザクライアントデバイス６０５のユーザをサービスすることを担当するというメッセージ、通知、または他の通信を、エージェントクライアントデバイス５０５を使用するエージェントに送出することを含み得る。
【０１８９】
ユーザおよびエージェントは、その後、ユーザクライアントデバイス６０５およびエージェントクライアントデバイス５０５を介した後続メッセージ交換１１０８に関与し得る。後続メッセージ交換１１０８は、本明細書に記載されるエンドツーエンド暗号化グループメッセージスレッド技法を使用するエンドツーエンド暗号化グループメッセージスレッドである。デフォルトエージェントクライアントデバイス１１０５は、デフォルトエージェントクライアントデバイス１１０５のユーザが後続メッセージ交換１１０８を監視し、後続メッセージ交換１１０８に参加することを望む場合、デフォルトエージェントクライアントデバイス１１０５のユーザが後続メッセージ交換１１０８を監視し、後続メッセージ交換１１０８に参加することを可能にするためになど、後続メッセージ交換１１０８を受信し続ける。
【０１９０】
ユーザクライアントデバイス６０５上のメッセージスレッド表示は、グループメッセージスレッドへの移行と、割り当てられたエージェントクライアントデバイス５０５を含む後続メッセージ交換１１０８とを通して、マルチエージェントエンティティの名前でラベリングされ続け得る。
【０１９１】
図１１Ｂは、メッセージスレッドのための個別エージェントラベリングを伴うフォワーディングベースの論理フロー１１２５の一実施形態を示す。
【０１９２】
メッセージスレッドのための個別エージェントラベリングを伴うフォワーディングベースの論理フロー１１２５のためのステップの多くは、メッセージスレッドのためのマルチエージェントラベリングを伴うフォワーディングベースの論理フロー１１００のためのステップと同じであり得る。異なる技法が本明細書に記載される場合を除いて同じ技法があり得ることが諒解されよう。詳細には、メッセージング開始１１０１と、暗号開始１１０３と、初期メッセージ交換１１０４と、エージェント再割り当て１１０６と、グループ暗号開始１１０７と、後続メッセージ交換１１０８とは、言及される場合を除いて、図１１Ａを参照しながら説明されたように実施され得る。
【０１９３】
一実施形態では、メッセージング開始１１０１において、ユーザクライアントデバイス６０５は、マルチエージェントエンティティのための名前の代わりに、デフォルトエージェントクライアントデバイス１１０５を使用するデフォルトエージェントのための名前を提供され得る。デフォルトエージェントのためのこの名前は、マルチエージェントエンティティとのメッセージスレッドとデフォルトエージェントから受信された個別メッセージの両方をラベリングするために使用され得る。メッセージスレッドは、次いで、割り当てられたエージェントクライアントデバイス５０５のための割り当てられたエージェントのための名前を使用するために、メッセージスレッド再ラベリング１１２６に従って再ラベリングされ得る。
【０１９４】
代替的に、別の実施形態では、マルチエージェントエンティティのための名前は、マルチエージェントエンティティとのメッセージスレッドをラベリングするために使用され得るが、個別メッセージは、ユーザクライアントデバイス６０５に個別メッセージを送出した個別エージェントに従ってラベリングされる。したがって、メッセージスレッドのための全体的なラベルのためのメッセージスレッド再ラベリング１１２６の代わりに、メッセージスレッド再ラベリング１１２６は、グループメッセージスレッドをラベリングする際に使用するためのマルチエージェントエンティティ名と、割り当てられたエージェントから受信された個別メッセージをラベリングする際に使用するための、割り当てられたエージェントの個別の名前とを提供し得る。
【０１９５】
図１１Ｃは、メッセージスレッドのためのグローバルビューベースの論理フロー１１５０の一実施形態を示す。
【０１９６】
マルチエージェントメッセージングシステム１００のためのメッセージングは、いくつかの実施形態では、マルチエージェントエンティティのためのあらゆるエージェントがあらゆるメッセージスレッドにアクセスすることを可能にされるグローバルビューを使用し得る。これらの実施形態では、グループ暗号開始１１５２は、マルチエージェントエンティティとのメッセージング開始１１５１に応答して直接実施される。
【０１９７】
メッセージングサーバ４１０は、ユーザクライアントデバイス６０５からメッセージング開始１１５１を受信する。メッセージング開始１１０１は、マルチエージェントエンティティとのメッセージングに関与するための要求を備える。ユーザクライアントデバイス６０５は、マルチエージェントエンティティのためのメッセージング識別子を指定することによってなど、ユーザが関与することを望むマルチエージェントエンティティを、メッセージングサーバ４１０に対して識別する。
【０１９８】
代替シナリオでは、メッセージング開始１１５１は、エージェントクライアントデバイス１１５５によって実施され得る。メッセージング開始１１５１は、説明されたように、ただし、要求元エージェントクライアントデバイス１１５５がデフォルトエージェントクライアントデバイスであるか否かにかかわらず、グループメッセージスレッド中に含まれる初期エージェントのリスト中に含まれる要求元エージェントクライアントデバイス１１５５を用いて、実施され得る。いくつかの実施形態では、管理者クライアントデバイスのみがユーザとのメッセージングを開始し得る。
【０１９９】
ユーザクライアントデバイス６０５、第１のエージェントクライアントデバイス１１５５、他のエージェントクライアントデバイス５０５、および場合によっては追加のエージェントクライアントデバイスは、メッセージング開始１１５１に応答してグループ暗号開始１１５２を実施する。グループ暗号開始１１５２は、ユーザクライアントデバイス６０５およびマルチエージェントエンティティのためのあらゆるエージェントクライアントデバイスを伴って実施され得る。代替的に、グループ暗号開始１１５２は、ユーザクライアントデバイス６０５およびマルチエージェントエンティティのためのあらゆるデフォルトエージェントクライアントデバイスを用いて実施され得る。このグループ暗号開始１１５２は、ユーザクライアントデバイス６０５とエージェントクライアントデバイス１１５５と他のエージェントクライアントデバイス５０５とマルチエージェントエンティティのための任意の他のエージェントクライアントデバイスとの間のグループメッセージスレッド中のメッセージのフォワーディングを提供する。マルチエージェントエンティティのためのエージェントクライアントデバイスは、次いで、ユーザクライアントデバイス６０５とのメッセージ交換１１５３に関与し得る。
【０２００】
マルチエージェントエンティティとのメッセージスレッドは、そのメッセージスレッドに参加する個別エージェントに従って、または全体としてマルチエージェントエンティティに従ってのいずれかでラベリングされ得る。同様に、メッセージスレッド中の個別メッセージは、そのメッセージスレッドに参加する個別エージェントに従って、または全体としてマルチエージェントエンティティに従ってラベリングされ得る。
【０２０１】
本明細書には、開示されるアーキテクチャの新規の態様を実施するための例示的な方法論を表すフローチャートのセットが含まれる。説明を単純にするために、たとえばフローチャートまたはフロー図の形態で本明細書に示される１つまたは複数の方法論は、一連の行為として図示され、記載されるが、一部の行為は、それに従い、本明細書に図示され、記載されるものとは異なる順番で、および／または他の行為と同時に発生し得るので、方法論は行為の順番によって限定されるものではないことは理解され、諒解されるべきである。たとえば、当業者は、方法論が、代替的に、状態図にあるように、一連の相関した状態またはイベントとして表すこともできることを理解し、諒解するであろう。さらに、方法論に示されるすべての行為が新規の実装形態のために必要であるとは限らない。
【０２０２】
図１２は、論理フロー１２００の一実施形態を示す。論理フロー１２００は、本明細書に記載される１つまたは複数の実施形態によって実行される動作の一部または全部を表し得る。
【０２０３】
図１２に示されている図示の実施形態では、論理フロー１２００は、ブロック１２０２において、ユーザアカウントに関連付けられたユーザクライアントデバイスからマルチエージェントエンティティのための着信メッセージを受信し得る。
【０２０４】
論理フロー１２００は、ブロック１２０４において、着信メッセージを受信するために、マルチエージェントエンティティに関連付けられたエージェントアカウントを決定し得る。
【０２０５】
論理フロー１２００は、ブロック１２０６において、エージェントアカウントに関連付けられたエージェントクライアントデバイスを決定し得る。
【０２０６】
論理フロー１２００は、ブロック１２０８において、エージェントアカウントに関連付けられたエージェントクライアントデバイスに着信メッセージを送出し得る。
【０２０７】
実施形態はこの例に限定されない。
【０２０８】
図１３は、中央集中システム１３００のブロック図を示す。中央集中システム１３００は、マルチエージェントメッセージングシステム１００についての構造および／または動作の一部または全部を、単一の中央集中サーバデバイス１３２０内で完全に実装するなど、単一のコンピューティングエンティティ中で実装し得る。
【０２０９】
中央集中サーバデバイス１３２０は、マルチエージェントメッセージングシステム１００について情報を受信、処理、および送出することが可能な任意の電子デバイスを備え得る。電子デバイスの例は、限定はしないが、ウルトラモバイルデバイス、モバイルデバイス、携帯情報端末（ＰＤＡ）、モバイルコンピューティングデバイス、スマートフォン、電話機、デジタル電話機、セルラー電話機、電子書籍リーダ、ハンドセット、一方向ページャ、双方向ページャ、メッセージングデバイス、コンピュータ、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、ノート型コンピュータ、ネットブックコンピュータ、手持ち型コンピュータ、タブレットコンピュータ、サーバ、サーバアレイもしくはサーバファーム、ウェブサーバ、ネットワークサーバ、インターネットサーバ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワーク機器、ウェブ機器、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、コンシューマエレクトロニクス、プログラマブルコンシューマエレクトロニクス、ゲームデバイス、テレビ、デジタルテレビ、セットトップボックス、ワイヤレスアクセスポイント、基地局、加入者局、モバイル加入者センター、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、機械、またはそれらの組合せを含み得る。実施形態はこれに関して限定されない。
【０２１０】
中央集中サーバデバイス１３２０は、処理コンポーネント１３３０を使用して、マルチエージェントメッセージングシステム１００についての処理動作または論理を実行し得る。処理コンポーネント１３３０は、様々なハードウェア要素、ソフトウェア要素、または両者の組合せを備え得る。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路要素（たとえば、トランジスタ、抵抗器、キャパシタ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含み得る。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインターフェース、アプリケーションプログラムインターフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、またはそれらの任意の組合せを含み得る。実施形態がハードウェア要素を使用して実装されるか、および／またはソフトウェア要素を使用して実装されるかの決定は、望まれる計算速度、電力レベル、熱耐性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度、および他の設計または性能の制約など、所与の実装形態について望まれる任意の数の要因に応じて変化し得る。
【０２１１】
中央集中サーバデバイス１３２０は、通信コンポーネント１３４０を使用して、マルチエージェントメッセージングシステム１００についての通信動作または論理を実行し得る。通信コンポーネント１３４０は、パケット交換ネットワーク（たとえば、インターネットなどの公共ネットワーク、社内イントラネットなどのプライベートネットワークなど）、回路交換ネットワーク（たとえば、公衆交換電話網）、または（好適なゲートウェイおよびトランスレータを用いた）パケット交換ネットワークと回路交換ネットワークとの組合せとともに使用するのに好適な技法など、任意のよく知られている通信技法およびプロトコルを実装し得る。通信コンポーネント１３４０は、１つまたは複数の通信インターフェース、ネットワークインターフェース、ネットワークインターフェースカード（ＮＩＣ）、無線機、ワイヤレス送信機／受信機（トランシーバ）、ワイヤードおよび／またはワイヤレス通信媒体、物理的コネクタなど、様々なタイプの標準的な通信要素を含み得る。限定ではなく、例として、通信媒体１３１２はワイヤード通信媒体およびワイヤレス通信媒体を含む。ワイヤード通信媒体の例は、ワイヤ、ケーブル、金属導線、プリント回路基板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ、伝搬信号などを含み得る。ワイヤレス通信媒体の例は、音響、無線周波数（ＲＦ）スペクトル、赤外線および他のワイヤレス媒体を含み得る。
【０２１２】
中央集中サーバデバイス１３２０は、通信コンポーネント１３４０を介して、通信信号１３１４を使用して、通信媒体１３１２上で他のデバイスと通信し得る。デバイスは、所与の実装形態について望まれるように、中央集中サーバデバイス１３２０の内部または外部にあり得る。
【０２１３】
中央集中サーバデバイス１３２０は、メッセージングサーバ１３５０を実行し得る。メッセージングサーバ１３５０は、メッセージングシステム１１０のためのメッセージングサーバを備え得る。メッセージングサーバ１３５０は、複数のクライアントデバイス１３１０についてのメッセージング動作を提供し、クライアントデバイス１３１０間でメッセージを受信および送出し得る。クライアントデバイス１３１０は、スマートフォンデバイス１５０、タブレットデバイス１６０、パーソナルコンピュータデバイス１８０、および／または任意の他のクライアントデバイスのうちの１つまたは複数に対応し得る。中央集中サーバデバイス１３２０は、ローカルデータストアとしてエージェントマッピングリポジトリ４１５を備え得る。
【０２１４】
図１４は、分散システム１４００のブロック図を示す。分散システム１４００は、マルチエージェントメッセージングシステム１００についての構造および／または動作の部分を、複数のコンピューティングエンティティにわたって分散させ得る。分散システム１４００の例は、限定はしないが、クライアントサーバアーキテクチャ、３層アーキテクチャ、Ｎ層アーキテクチャ、密結合またはクラスタアーキテクチャ、ピアツーピアアーキテクチャ、マスタースレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散システムを含み得る。実施形態はこれに関して限定されない。
【０２１５】
分散システム１４００は、複数の分散サーバデバイス１４２０を備え得る。概して、分散サーバデバイス１４２０は、図１３を参照しながら説明された中央集中サーバデバイス１３２０と同じまたは同様であり得る。たとえば、分散サーバデバイス１４２０は各々、処理コンポーネント１４３０および通信コンポーネント１４４０を備え得、処理コンポーネント１４３０および通信コンポーネント１４４０は、図１３を参照しながら説明された処理コンポーネント１３３０および通信コンポーネント１３４０とそれぞれ同じまたは同様である。別の例では、分散サーバデバイス１４２０は、通信コンポーネント１４４０を介して、通信信号１４１４を使用して通信媒体１４１２上で通信し得る。
【０２１６】
分散サーバデバイス１４２０は、記載される実施形態に従って様々な方法論を実施するように動作する１つまたは複数のサーバプログラムを備えるか、または採用し得る。一実施形態では、たとえば、分散サーバデバイス１４２０は各々、複数のメッセージングサーバ１４５０のうちの１つを実行し得る。メッセージングサーバ１４５０は、メッセージングシステム１１０のためのメッセージングサーバを備え得る。メッセージングサーバ１４５０は、複数のクライアントデバイス１４１０についてのメッセージング動作を提供し、クライアントデバイス１４１０間でメッセージを受信および送出し得る。クライアントデバイス１４１０は、スマートフォンデバイス１５０、タブレットデバイス１６０、パーソナルコンピュータデバイス１８０、および／または任意の他のクライアントデバイスのうちの１つまたは複数に対応し得る。分散サーバデバイス１４２０は、媒体１４１２上で送出された信号１４１４を使用して、エージェントマッピングリポジトリ４１５と通信し得る。エージェントマッピングリポジトリ４１５は、ネットワークアクセス可能データストアとしてホストされ得る。
【０２１７】
図１５は、上記に記載の様々な実施形態を実装するのに好適な例示的なコンピューティングアーキテクチャ１５００の一実施形態を示す。一実施形態では、コンピューティングアーキテクチャ１５００は、電子デバイスを備えるか、電子デバイスの一部として実装され得る。電子デバイスの例は、とりわけ、図１３、図１４を参照しながら説明されたものを含み得る。実施形態はこれに関して限定されない。
【０２１８】
本出願において使用される場合、「システム」および「コンポーネント」という用語は、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータ関連エンティティを指すことを意図し、それらの例が、例示的なコンピューティングアーキテクチャ１５００によって提供される。たとえば、コンポーネントは、限定はしないが、プロセッサ上で実行しているプロセス、プロセッサ、ハードディスクドライブ、（光学および／または磁気記憶媒体の）複数の記憶ドライブ、オブジェクト、実行ファイル、実行スレッド、プログラム、および／またはコンピュータであり得る。例示として、サーバ上で実行しているアプリケーションとサーバの両方がコンポーネントであり得る。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッド内に常駐することができ、コンポーネントは、１つのコンピュータ上に局在することができ、および／または２つまたはそれ以上のコンピュータ間で分散され得る。さらに、コンポーネントは、動作を協調させるように、様々なタイプの通信媒体によって互いに通信可能に結合され得る。協調は、情報の一方向または双方向の交換を伴い得る。たとえば、コンポーネントは、通信媒体上で通信される信号の形態で情報を通信し得る。情報は、様々な信号線に割り振られる信号として実装され得る。そのような割り振りでは、各メッセージが信号である。ただし、さらなる実施形態は、代替的にデータメッセージを採用し得る。そのようなデータメッセージは、様々な接続にわたって送出され得る。例示的な接続は、パラレルインターフェース、シリアルインターフェース、およびバスインターフェースを含む。
【０２１９】
コンピューティングアーキテクチャ１５００は、１つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入出力（Ｉ／Ｏ）コンポーネント、電源など、様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティングアーキテクチャ１５００による実装に限定されない。
【０２２０】
図１５に示されているように、コンピューティングアーキテクチャ１５００は、処理ユニット１５０４と、システムメモリ１５０６と、システムバス１５０８とを備える。処理ユニット１５０４は、限定はしないが、ＡＭＤ（登録商標）Ａｔｈｌｏｎ（登録商標）、Ｄｕｒｏｎ（登録商標）およびＯｐｔｅｒｏｎ（登録商標）プロセッサ、ＡＲＭ（登録商標）アプリケーション、組み込み型およびセキュアプロセッサ、ＩＢＭ（登録商標）およびＭｏｔｏｒｏｌａ（登録商標）ＤｒａｇｏｎＢａｌｌ（登録商標）およびＰｏｗｅｒＰＣ（登録商標）プロセッサ、ＩＢＭおよびＳｏｎｙ（登録商標）のＣｅｌｌプロセッサ、Ｉｎｔｅｌ（登録商標）Ｃｅｌｅｒｏｎ（登録商標）、Ｃｏｒｅ（２）Ｄｕｏ（登録商標）、Ｉｔａｎｉｕｍ（登録商標）、Ｐｅｎｔｉｕｍ（登録商標）、Ｘｅｏｎ（登録商標）、およびＸＳｃａｌｅ（登録商標）プロセッサ、ならびに同様のプロセッサを含む、様々な市販のプロセッサのうちの任意のものであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサ、および他のマルチプロセッサアーキテクチャも処理ユニット１５０４として採用され得る。
【０２２１】
システムバス１５０８は、限定はしないが、システムメモリ１５０６を含むシステムコンポーネントのためのインターフェースを処理ユニット１５０４に提供する。システムバス１５０８は、様々な市販のバスアーキテクチャのうちの任意のものを使用してメモリバス（メモリコントローラを有するかまたは有しない）、周辺バス、およびローカルバスにさらに相互接続し得るいくつかのタイプのバス構造のうちの任意のものであり得る。インターフェースアダプタが、スロットアーキテクチャを介してシステムバス１５０８に接続し得る。例示的なスロットアーキテクチャは、限定はしないが、アクセラレーテッドグラフィックスポート（ＡＧＰ）、カードバス、（拡張）業界標準アーキテクチャ（（Ｅ）ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＣＡ）、ＮｕＢｕｓ、周辺コンポーネント相互接続（拡張）（ＰＣＩ（Ｘ））、ＰＣＩエクスプレス、パーソナルコンピュータメモリカード国際組織（ＰＣＭＣＩＡ）などを含み得る。
【０２２２】
コンピューティングアーキテクチャ１５００は、様々な製造品を含むかまたは実装し得る。製造品は、論理を記憶するためのコンピュータ可読記憶媒体を備え得る。コンピュータ可読記憶媒体の例は、揮発性メモリまたは不揮発性メモリ、取外し可能または非取外し可能メモリ、消去可能または非消去可能メモリ、書き込み可能または書き換え可能メモリなどを含む、電子データを記憶することが可能な任意の有形媒体を含み得る。論理の例は、ソースコード、コンパイルされたコード、解釈実行されたコード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、視覚コードなど、任意の好適なタイプのコードを使用して実装される実行可能なコンピュータプログラム命令を含み得る。実施形態はまた、１つまたは複数のプロセッサによって読み取りおよび実行されて、本明細書に記載される動作の実施を可能にし得る、非一時的コンピュータ可読媒体に含まれているかまたは非一時的コンピュータ可読媒体上にある命令として、少なくとも部分的に実装され得る。
【０２２３】
システムメモリ１５０６は、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、強誘電性ポリマーメモリなどのポリマーメモリ、オーボニックメモリ（ｏｖｏｎｉｃ  ｍｅｍｏｒｙ）、相変化または強誘電性メモリ、シリコン−酸化物−窒化物−酸化物−シリコン（ＳＯＮＯＳ）メモリ、磁気カードまたは光カード、独立ディスクの冗長アレイ（ＲＡＩＤ）ドライブなどのデバイスのアレイ、ソリッドステートメモリデバイス（たとえば、ＵＳＢメモリ、ソリッドステートドライブ（ＳＳＤ））および情報を記憶するのに好適な任意の他のタイプの記憶媒体など、１つまたは複数の高速メモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含み得る。図１５に示されている図示の実施形態では、システムメモリ１５０６は、不揮発性メモリ１５１０および／または揮発性メモリ１５１２を含むことができる。基本入出力システム（ＢＩＯＳ）を不揮発性メモリ１５１０に記憶することができる。
【０２２４】
コンピュータ１５０２は、内部（または外部）ハードディスクドライブ（ＨＤＤ）１５１４、取外し可能な磁気ディスク１５１８からの読取りまたは取外し可能な磁気ディスク１５１８への書込みを行うための磁気フロッピーディスクドライブ（ＦＤＤ）１５１６、および取外し可能な光ディスク１５２２（たとえば、ＣＤ−ＲＯＭまたはＤＶＤ）からの読取りまたは取外し可能な光ディスク１５２２への書込みを行うための光ディスクドライブ１５２０を含む１つまたは複数の低速メモリユニットの形態で、様々なタイプのコンピュータ可読記憶媒体を含み得る。ＨＤＤ１５１４、ＦＤＤ１５１６、および光ディスクドライブ１５２０は、それぞれＨＤＤインターフェース１５２４、ＦＤＤインターフェース１５２６、および光ドライブインターフェース１５２８によって、システムバス１５０８に接続され得る。外部ドライブ実装のためのＨＤＤインターフェース１５２４は、ユニバーサルシリアルバス（ＵＳＢ）およびＩＥＥＥ１３９４インターフェース技術の少なくとも一方または両方を含むことができる。
【０２２５】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの揮発性の記憶および／または不揮発性の記憶を提供する。たとえば、オペレーティングシステム１５３０、１つまたは複数のアプリケーションプログラム１５３２、他のプログラムモジュール１５３４、およびプログラムデータ１５３６を含むいくつかのプログラムモジュールが、ドライブおよびメモリユニット１５１０、１５１２に記憶され得る。一実施形態では、１つまたは複数のアプリケーションプログラム１５３２、他のプログラムモジュール１５３４、およびプログラムデータ１５３６は、たとえば、マルチエージェントメッセージングシステム１００の様々なアプリケーションおよび／またはコンポーネントを含むことができる。
【０２２６】
ユーザは、１つまたは複数のワイヤ／ワイヤレス入力デバイス、たとえば、キーボード１５３８、およびマウス１５４０などのポインティングデバイスを通してコンピュータ１５０２にコマンドおよび情報を入力することができる。他の入力デバイスは、マイクロフォン、赤外線（ＩＲ）リモートコントロール、無線周波数（ＲＦ）リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グローブ、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン（たとえば、容量型、抵抗型など）、トラックボール、トラックパッド、センサー、スタイラスなどを含み得る。これらのおよび他の入力デバイスは、多くの場合、システムバス１５０８に結合された入力デバイスインターフェース１５４２を通して処理ユニット１５０４に接続されるが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインターフェースなど、他のインターフェースによって接続され得る。
【０２２７】
モニタ１５４４または他のタイプの表示デバイスも、ビデオアダプタ１５４６など、インターフェースを介してシステムバス１５０８に接続される。モニタ１５４４は、コンピュータ１５０２の内部または外部にあり得る。モニタ１５４４に加えて、コンピュータは通常、スピーカー、プリンタなど、他の周辺出力デバイスを含む。
【０２２８】
コンピュータ１５０２は、リモートコンピュータ１５４８など、１つまたは複数のリモートコンピュータへのワイヤおよび／またはワイヤレス通信を介した論理接続を使用して、ネットワーク化された環境において動作し得る。リモートコンピュータ１５４８は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースの娯楽機器、ピアデバイス、または他の一般的なネットワークノードであり得、通常、コンピュータ１５０２に関して記載された要素のうちの多くまたは全部を含むが、簡潔にするために、メモリ／記憶デバイス１５５０のみが示されている。描かれる論理接続は、ローカルエリアネットワーク（ＬＡＮ）１５５２および／またはより大きなネットワーク、たとえば、ワイドエリアネットワーク（ＷＡＮ）１５５４へのワイヤ／ワイヤレス接続性を含む。そのようなＬＡＮおよびＷＡＮネットワーキング環境は、事務所や会社において一般的であり、イントラネットなどの企業規模のコンピュータネットワークを容易にし、コンピュータネットワークはすべて、グローバル通信ネットワーク、たとえば、インターネットに接続し得る。
【０２２９】
ＬＡＮネットワーキング環境において使用されるとき、コンピュータ１５０２は、ワイヤおよび／またはワイヤレス通信ネットワークインターフェースあるいはアダプタ１５５６を通してＬＡＮ１５５２に接続される。アダプタ１５５６は、ＬＡＮ１５５２へのワイヤおよび／またはワイヤレス通信を容易にすることができ、ＬＡＮ１５５２は、アダプタ１５５６のワイヤレス機能性と通信するために配設されたワイヤレスアクセスポイントをも含み得る。
【０２３０】
ＷＡＮネットワーキング環境において使用されるとき、コンピュータ１５０２は、モデム１５５８を含むことができるか、またはＷＡＮ１５５４上の通信サーバに接続されるか、またはインターネットを介するなど、ＷＡＮ１５５４上での通信を確立するための他の手段を有する。内部または外部にあり、ワイヤおよび／またはワイヤレスデバイスであり得る、モデム１５５８は、入力デバイスインターフェース１５４２を介してシステムバス１５０８に接続する。ネットワーク化された環境では、コンピュータ１５０２に関して描かれたプログラムモジュール、またはその部分は、リモートメモリ／記憶デバイス１５５０に記憶され得る。示されるネットワーク接続は例示であり、コンピュータ間で通信リンクを確立する他の手段が使用され得ることが諒解されよう。
【０２３１】
コンピュータ１５０２は、ワイヤレス通信（たとえば、ＩＥＥＥ８０２．１１オーバージエア変調技法）において動作可能に配設されるワイヤレスデバイスなど、ＩＥＥＥ８０２規格ファミリーを使用するワイヤおよびワイヤレスデバイスまたはエンティティと通信するように動作可能である。これは、とりわけ、少なくともＷｉ−Ｆｉ（またはワイヤレスフィデリティ）、ＷｉＭａｘ、およびＢｌｕｅｔｏｏｔｈ（商標）ワイヤレス技術を含む。したがって、通信は、従来のネットワークと同じように、あらかじめ定義された構造であり得るか、または、単に少なくとも２つのデバイス間のアドホック通信であり得る。Ｗｉ−Ｆｉネットワークは、セキュアで信頼性が高く高速のワイヤレス接続性を提供するためにＩＥＥＥ８０２．１１ｘ（ａ、ｂ、ｇ、ｎなど）と称される無線技術を使用する。Ｗｉ−Ｆｉネットワークは、コンピュータを互いに、インターネットに、および（ＩＥＥＥ８０２．３関連媒体および機能を使用する）ワイヤネットワークに接続するために使用され得る。
【０２３２】
図１６は、上記の様々な実施形態を実装するのに好適な例示的な通信アーキテクチャ１６００のブロック図を示す。通信アーキテクチャ１６００は、送信機、受信機、トランシーバ、無線機、ネットワークインターフェース、ベースバンドプロセッサ、アンテナ、増幅器、フィルタ、電源など、様々な一般的な通信要素を含む。しかしながら、実施形態は通信アーキテクチャ１６００による実装に限定されない。
【０２３３】
図１６に示されているように、通信アーキテクチャ１６００は、１つまたは複数のクライアント１６０２と、サーバ１６０４とを備える。クライアント１６０２は、メッセージングクライアントを実装し得る。サーバ１６０４は、メッセージングサーバを実装し得る。クライアント１６０２およびサーバ１６０４は、クッキーおよび／または関連する状況情報などの情報を、それぞれのクライアント１６０２およびサーバ１６０４に対してローカルに記憶するために採用され得る１つまたは複数のそれぞれのクライアントデータストア１６０８およびサーバデータストア１６１０に動作可能に接続される。
【０２３４】
クライアント１６０２およびサーバ１６０４は、通信フレームワーク１６０６を使用して互いの間で情報を通信し得る。通信フレームワーク１６０６は、任意のよく知られている通信技法およびプロトコルを実装し得る。通信フレームワーク１６０６は、パケット交換ネットワーク（たとえば、インターネットなどの公共ネットワーク、社内イントラネットなどのプライベートネットワークなど）、回線交換ネットワーク（たとえば、公衆交換電話網）、または（好適なゲートウェイおよびトランスレータを用いた）パケット交換ネットワークと回線交換ネットワークとの組合せとして実装され得る。
【０２３５】
通信フレームワーク１６０６は、通信ネットワークを受け入れ、通信ネットワークと通信し、通信ネットワークに接続するように成される様々なネットワークインターフェースを実装し得る。ネットワークインターフェースは、特化した形態の入出力インターフェースと見なされ得る。ネットワークインターフェースは、限定はしないが、直接接続、イーサネット（たとえば、シック、シン、ツイストペア１０／１００／１０００ＢａｓｅＴなど）、トークンリング、ワイヤレスネットワークインターフェース、セルラーネットワークインターフェース、ＩＥＥＥ８０２．１１ａ−ｘネットワークインターフェース、ＩＥＥＥ８０２．１６ネットワークインターフェース、ＩＥＥＥ８０２．２０ネットワークインターフェースなどを含む接続プロトコルを採用し得る。さらに、様々な通信ネットワークタイプに関与するために、複数のネットワークインターフェースが使用され得る。たとえば、ブロードキャスト、マルチキャスト、およびユニキャストネットワーク上での通信を可能にするために、複数のネットワークインターフェースが採用され得る。処理要件がより高い速度およびより多くの容量を求める場合には、分散ネットワークコントローラアーキテクチャが同様に採用されて、クライアント１６０２およびサーバ１６０４によって必要とされる通信帯域幅をプールし、負荷分散し、他の方法で増大させ得る。通信ネットワークは、限定はしないが、直接相互接続、セキュア化されたカスタム接続、プライベートネットワーク（たとえば、社内イントラネット）、公共ネットワーク（たとえば、インターネット）、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネット上のノードとして動作しているミッション（ＯＭＮＩ）、ワイドエリアネットワーク（ＷＡＮ）、ワイヤレスネットワーク、セルラーネットワーク、および他の通信ネットワークを含むワイヤードおよび／またはワイヤレスネットワークのうちの任意の１つおよびそれらの組合せであり得る。
【０２３６】
図１７は、マルチエージェントメッセージングシステム１００などのマルチキャリアＯＦＤＭシステムにおいて使用するためのデバイス１７００の一実施形態を示す。デバイス１７００は、たとえば、マルチエージェントメッセージングシステム１００を参照しながら説明されたソフトウェアコンポーネント１７６０、および／または論理回路１７３５を実装し得る。論理回路１７３５は、マルチエージェントメッセージングシステム１００について説明された動作を実施するための物理回路を含み得る。図１７に示されているように、デバイス１７００は、無線インターフェース１７１０、ベースバンド回路構成１７２０、およびコンピューティングプラットフォーム１７３０を含み得るが、実施形態はこの構成に限定されない。
【０２３７】
デバイス１７００は、マルチエージェントメッセージングシステム１００および／または論理回路１７３５についての構造および／または動作の一部または全部を、単一のデバイス内に完全に実装するなど、単一のコンピューティングエンティティ中で実装し得る。代替的に、デバイス１７００は、クライアントサーバアーキテクチャ、３層アーキテクチャ、Ｎ層アーキテクチャ、密結合またはクラスタアーキテクチャ、ピアツーピアアーキテクチャ、マスタースレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散システムなどの分散システムアーキテクチャを使用して、マルチエージェントメッセージングシステム１００および／または論理回路１７３５についての構造および／または動作の部分を複数のコンピューティングエンティティにわたって分散させ得る。実施形態はこれに関して限定されない。
【０２３８】
一実施形態では、無線インターフェース１７１０は、（たとえば、相補符号キーイング（ＣＣＫ）および／または直交周波数分割多重（ＯＦＤＭ）シンボルを含む）シングルキャリアまたはマルチキャリア変調信号を送信および／または受信するように適合されたコンポーネントまたはコンポーネントの組合せを含み得るが、実施形態は、どの特定のオーバージエアインターフェースまたは変調方式にも限定されない。無線インターフェース１７１０は、たとえば、受信機１７１２、送信機１７１６、および／または周波数シンセサイザ１７１４を含み得る。無線インターフェース１７１０は、バイアスコントロール、水晶発振器、および／または１つまたは複数のアンテナ１７１８を含み得る。別の実施形態では、無線インターフェース１７１０は、必要に応じて、外部の電圧制御発振器（ＶＣＯ）、弾性表面波フィルタ、中間周波数（ＩＦ）フィルタ、および／またはＲＦフィルタを使用し得る。可能なＲＦインターフェース設計は多様であるため、その広範な説明は省略される。
【０２３９】
ベースバンド回路構成１７２０は、受信信号および／または送信信号を処理するために無線インターフェース１７１０と通信し得、たとえば、受信信号をダウンコンバートするためのアナログデジタル変換器１７２２、信号を送信のためにアップコンバートするためのデジタルアナログ変換器１７２４を含み得る。さらに、ベースバンド回路構成１７２０は、それぞれの受信信号／送信信号のＰＨＹリンク層処理のためのベースバンドまたは物理層（ＰＨＹ）処理回路１７２６を含み得る。ベースバンド回路構成１７２０は、たとえば、メディアアクセス制御（ＭＡＣ）／データリンク層処理のための処理回路１７２８を含み得る。ベースバンド回路構成１７２０は、たとえば、１つまたは複数のインターフェース１７３４を介した処理回路１７２８および／またはコンピューティングプラットフォーム１７３０と通信するためのメモリコントローラ１７３２を含み得る。
【０２４０】
いくつかの実施形態では、ＰＨＹ処理回路１７２６は、無線フレームなどの通信フレームを構築および／または分解するために、バッファメモリなどの追加の回路構成と組み合わせて、フレーム構築および／または検出モジュールを含み得る。代替または追加として、ＭＡＣ処理回路１７２８は、これらの機能のうちのいくつかのための処理を共有するか、またはこれらのプロセスをＰＨＹ処理回路１７２６とは独立に実施し得る。いくつかの実施形態では、ＭＡＣの処理とＰＨＹの処理とは、単一の回路に統合され得る。
【０２４１】
コンピューティングプラットフォーム１７３０は、デバイス１７００にコンピューティング機能性を提供し得る。図示のように、コンピューティングプラットフォーム１７３０は、処理コンポーネント１７４０を含み得る。ベースバンド回路構成１７２０に加えて、またはその代わりに、デバイス１７００は、処理コンポーネント１７４０を使用して、マルチエージェントメッセージングシステム１００および論理回路１７３５についての処理動作または論理を実行し得る。処理コンポーネント１７４０（ならびに／あるいはＰＨＹ１７２６および／またはＭＡＣ１７２８）は、様々なハードウェア要素、ソフトウェア要素、または両者の組合せを備え得る。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路要素（たとえば、トランジスタ、抵抗器、キャパシタ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含み得る。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインターフェース、アプリケーションプログラムインターフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、またはそれらの任意の組合せを含み得る。実施形態がハードウェア要素を使用して実装されるか、および／またはソフトウェア要素を使用して実装されるかの決定は、望まれる計算速度、電力レベル、熱耐性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度、および他の設計または性能の制約など、所与の実装形態について望まれる任意の数の要因に応じて変化し得る。
【０２４２】
コンピューティングプラットフォーム１７３０は、他のプラットフォームコンポーネント１７５０をさらに含み得る。他のプラットフォームコンポーネント１７５０は、１つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入出力（Ｉ／Ｏ）コンポーネント（たとえば、デジタルディスプレイ）、電源など、一般的なコンピューティング要素を含む。メモリユニットの例は、限定はしないが、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、強誘電性ポリマーメモリなどのポリマーメモリ、オーボニックメモリ、相変化または強誘電性メモリ、シリコン−酸化物−窒化物−酸化物−シリコン（ＳＯＮＯＳ）メモリ、磁気カードまたは光カード、独立ディスクの冗長アレイ（ＲＡＩＤ）ドライブなどのデバイスのアレイ、ソリッドステートメモリデバイス（たとえば、ＵＳＢメモリ、ソリッドステートドライブ（ＳＳＤ））および情報を記憶するのに好適な任意の他のタイプの記憶媒体など、１つまたは複数の高速メモリユニットの形態の様々なタイプのコンピュータ可読および機械可読の記憶媒体を含み得る。
【０２４３】
デバイス１７００は、たとえば、ウルトラモバイルデバイス、モバイルデバイス、固定デバイス、マシンツーマシン（Ｍ２Ｍ）デバイス、携帯情報端末（ＰＤＡ）、モバイルコンピューティングデバイス、スマートフォン、電話機、デジタル電話機、セルラー電話機、ユーザ機器、電子書籍リーダ、ハンドセット、一方向ページャ、双方向ページャ、メッセージングデバイス、コンピュータ、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、ノート型コンピュータ、ネットブックコンピュータ、手持ち型コンピュータ、タブレットコンピュータ、サーバ、サーバアレイもしくはサーバファーム、ウェブサーバ、ネットワークサーバ、インターネットサーバ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワーク機器、ウェブ機器、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、コンシューマエレクトロニクス、プログラマブルコンシューマエレクトロニクス、ゲームデバイス、テレビ、デジタルテレビ、セットトップボックス、ワイヤレスアクセスポイント、基地局、ノードＢ、発展型ノードＢ（ｅＮＢ）、加入者局、モバイル加入者センター、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、機械、またはそれらの組合せであり得る。したがって、本明細書に記載されるデバイス１７００の機能および／または特定の構成は、必要に応じて適宜、デバイス１７００の様々な実施形態に含められるか、または省略され得る。いくつかの実施形態では、デバイス１７００は、３ＧＰＰ  ＬＴＥ仕様および／またはＷＭＡＮのためのＩＥＥＥ１７０２．１６規格、ならびに／あるいは本明細書で引用される他の広帯域ワイヤレスネットワークのうちの１つまたは複数に関連付けられたプロトコルおよび周波数に準拠するように構成され得るが、実施形態はこの点に関して限定されない。
【０２４４】
デバイス１７００の実施形態は、単入力単出力（ＳＩＳＯ）アーキテクチャを使用して実装され得る。しかしながら、いくつかの実装形態は、ビームフォーミングまたは空間分割多重アクセス（ＳＤＭＡ）のための適応アンテナ技法を使用する、および／またはＭＩＭＯ通信技法を使用する送信および／または受信のための複数のアンテナ（たとえば、アンテナ１７１８）を含み得る。
【０２４５】
デバイス１７００のコンポーネントおよび特徴は、ディスクリート回路構成、特定用途向け集積回路（ＡＳＩＣ）、論理ゲート、および／またはシングルチップアーキテクチャの任意の組合せを使用して実装され得る。さらに、デバイス１７００の特徴は、適宜、マイクロコントローラ、プログラマブル論理アレイおよび／またはマイクロプロセッサ、あるいは上記の任意の組合せを使用して実装され得る。本明細書では、ハードウェア、ファームウェアおよび／またはソフトウェア要素を、「論理」または「回路」と総称または個称し得ることに留意されたい。
【０２４６】
図１７のブロック図に示されている例示的なデバイス１７００は、多くの可能な実装形態の１つの機能的説明例を表し得ることを諒解されたい。したがって、添付の図面に描かれるブロック機能の分割、省略、または包含は、これらの機能を実装するためのハードウェアコンポーネント、回路、ソフトウェア、および／または要素が実施形態において必ず分割、省略、または包含されることを示唆するものではない。
【０２４７】
コンピュータ実装方法は、ユーザアカウントに関連付けられたユーザクライアントデバイスからマルチエージェントエンティティのための着信メッセージを受信することと、着信メッセージを受信するために、マルチエージェントエンティティに関連付けられたエージェントアカウントを決定することと、エージェントアカウントに関連付けられたエージェントクライアントデバイスを決定することと、エージェントアカウントに関連付けられたエージェントクライアントデバイスに着信メッセージを送出することとを含み得る。
【０２４８】
コンピュータ実装方法は、マルチエージェントエンティティのための管理者アカウントのための管理者アカウント登録を受信することと、管理者アカウントをマルチエージェントエンティティに関連付けられたものとして登録することと、マルチエージェントエンティティのためのエージェントアカウントのためのエージェントアカウント登録を受信することと、ユーザアカウントに関連付けられたユーザクライアントデバイスからマルチエージェントエンティティのための着信メッセージを受信することと、管理者アカウントによるエージェントアカウントのためのメッセージ共有許可に基づいて、エージェントアカウントに関連付けられたエージェントクライアントデバイスに着信メッセージを送出することとを含み得る。
【０２４９】
コンピュータ実装方法は、管理者アカウントからユーザアカウントと管理者アカウントとの間のメッセージスレッドのためのメッセージスレッドフォワードを受信することであって、メッセージスレッドフォワードがエージェントアカウントを指定する、メッセージスレッドフォワードを受信することと、メッセージングサーバデバイス上でメッセージスレッドをエージェントアカウントに登録することと、メッセージングサーバデバイスにおいてユーザクライアントデバイスからマルチエージェントエンティティのための着信メッセージを受信することと、メッセージスレッドをエージェントアカウントに登録することに基づいて、エージェントクライアントデバイスに着信メッセージを送出することとをさらに含み得る。
【０２５０】
コンピュータ実装方法は、メッセージスレッドに関連付けられた着信メッセージをさらに備え得る。
【０２５１】
コンピュータ実装方法は、管理者アカウントからエージェントアカウントにスレッドフォワーディングペイロードをフォワーディングすることであって、スレッドフォワーディングペイロードが、エージェントクライアントデバイスがメッセージスレッドにアクセスすることを可能にするセキュリティ情報を備える、スレッドフォワーディングペイロードをフォワーディングすることをさらに含み得る。
【０２５２】
コンピュータ実装方法は、１つまたは複数の暗号鍵を備えるセキュリティ情報をさらに備え得、メッセージが、１つまたは複数の暗号鍵のうちの暗号鍵に基づいて暗号化される。
【０２５３】
コンピュータ実装方法は、メッセージスレッドフォワードに応答して管理者アカウントの代わりにエージェントアカウントを示すために、ユーザクライアントデバイス上でメッセージスレッドのためのメッセージスレッドインターフェースを再ラベリングすることをさらに含み得る。
【０２５４】
コンピュータ実装方法は、マルチエージェントエンティティを示すためにユーザクライアントデバイス上でメッセージスレッドインターフェースをラベリングすることをさらに含み得る。
【０２５５】
コンピュータ実装方法は、マルチエージェントエンティティのためのエージェントアカウントのためのエージェントアカウント登録を含むメッセージ共有許可をさらに含み得る。
【０２５６】
コンピュータ実装方法は、エージェントアカウント登録に応答して、マルチエージェントエンティティのための後続メッセージスレッドのメッセージ共有許可のためにエージェントアカウントを登録することをさらに含み得る。
【０２５７】
コンピュータ実装方法は、マルチエージェントエンティティのための複数のエージェントアカウントについての複数の最後に見られた時間を決定することと、複数の最後に見られた時間のうちの最も最近の最後に見られた時間を選択することと、最も最近の最後に見られた時間をユーザクライアントデバイス上のメッセージスレッドのためのメッセージスレッドインターフェースに提供して、マルチエージェントエンティティについての最後に見られた時間を示すこととをさらに含み得る。
【０２５８】
装置は、動作可能なエージェント管理コンポーネントおよびメッセージ処理コンポーネントを備え得る。装置は、本明細書に記載されるコンピュータ実装方法のいずれかを実装するように動作可能であり得る。
【０２５９】
少なくとも１つのコンピュータ可読記憶媒体は、実行されたとき、システムに、本明細書に記載されるコンピュータ実装方法のいずれかを実施させる命令を備え得る。
【０２６０】
いくつかの実施形態は、「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」または「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」という表現を、それらの派生語とともに使用して説明され得る。これらの用語は、当該実施形態に関して説明される特定の特徴、構造または特性が少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な箇所に現れる「一実施形態では（ｉｎ  ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」というフレーズは、必ずしもすべてが同じ実施形態を指すとは限らない。さらに、いくつかの実施形態は、「結合された（ｃｏｕｐｌｅｄ）」および「接続された（ｃｏｎｎｅｃｔｅｄ）」という表現を、それらの派生語とともに使用して説明され得る。これらの用語は必ずしも互いの同義語として意図されているとは限らない。たとえば、いくつかの実施形態は、「接続された」および／または「結合された」という用語を使用して、２つまたはそれ以上の要素が物理的または電気的に直接互いと接触していることを示すように説明され得る。ただし、「結合された」という用語は、２つまたはそれ以上の要素が互いに直接接触していないが、それでもなお互いに協働または対話することをも意味し得る。
【０２６１】
本明細書で使用される表記および専門用語を全体的に参照すると、本明細書における詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラムプロシージャの観点から提示され得る。これらの手続き的記載および表現は、当業者が他の当業者に自身の研究の本質を最も効果的に伝えるために使用される。
【０２６２】
プロシージャとは、ここでは、および一般的には、所望の結果をもたらす動作の自己矛盾のないシーケンスであると考えられる。これらの動作は、物理的量の物理的操作を必要とする動作である。通常、ただし必ずしもそうであるとは限らないが、これらの量は、記憶、転送、組合せ、比較および他の方法で操作されることが可能な電気信号、磁気信号または光信号の形態をとる。場合によっては、主に広く使用されているという理由から、これらの信号を、ビット、値、要素、シンボル、文字、項、数などと呼ぶことが好都合であることが判明している。しかしながら、これらの用語および同様の用語はすべて適切な物理的量に関連付けられ、これらの量に適用される好都合な標識にすぎないことに留意されたい。
【０２６３】
さらに、実施される操作は、多くの場合、一般的には人間のオペレータによって実施される知的動作に関連付けられる、追加または比較などの用語で参照される。１つまたは複数の実施形態の一部を形成する、本明細書に記載される動作のいずれにおいても、人間のオペレータのそのような能力（ｃａｐａｂｉｌｉｔｙ）は必要でないか、ほとんどの場合、望ましくない。むしろ、それらの動作は機械動作である。様々な実施形態の動作を実施するための有用な機械は、汎用デジタルコンピュータまたは同様のデバイスを含む。
【０２６４】
様々な実施形態は、これらの動作を実施するための装置またはシステムにも関係する。この装置は、必要とされる目的のために特に構築され得るか、またはコンピュータに記憶されるコンピュータプログラムによって選択的に作動または再構成される汎用コンピュータを備え得る。本明細書において提示されるプロシージャは本質的に、特定のコンピュータまたは他の装置に関係しない。様々な汎用機械が、本明細書における教示に従って書かれたプログラムとともに使用され得るか、または、必要とされる方法ステップを実施するためのより特化した装置を構築することが好都合であると判明することがある。様々なこれらの機械のために必要とされる構造は、与えられる説明から明らかとなるであろう。
【０２６５】
本開示の要約書は、読み手が技術的開示の本質を迅速に理解できるようにするために提供されていることを強調しておく。要約書は、特許請求の範囲の範囲または意味を解釈または限定することには使用されないという理解のもとに提出されている。また、上記の発明を実施するための形態では、本開示を効率化するために様々な特徴がまとめて単一の実施形態にされていることを見てとることができる。この開示方法は、特許請求される実施形態が各請求項に明示的に記された特徴以外のものを必要とするという意図を表すものと解釈されるべきではない。むしろ、以下の特許請求の範囲が表しているように、本発明の主題は、開示されている単一の実施形態のすべての特徴よりも少ない特徴にある。したがって、以下の特許請求の範囲は本明細書において発明を実施するための形態に組み込まれ、各請求項は個別の実施形態として独立している。添付の特許請求の範囲において、「ｉｎｃｌｕｄｉｎｇ」および「ｉｎ  ｗｈｉｃｈ」という用語は、それぞれ「ｃｏｍｐｒｉｓｉｎｇ」および「ｗｈｅｒｅｉｎ」というそれぞれの用語の平易な英語における等価語として使用されている。さらに、「第１の」、「第２の」、「第３の」などの用語は単に標識として使用されており、それらの対象物に数値的要件を課すことを意図したものではない。
【０２６６】
上記の記載は、開示されるアーキテクチャの例を含む。当然ながら、コンポーネントおよび／または方法論のすべての考え得る組合せを記載することは不可能であるが、当業者であれば、多くのさらなる組合せおよび置き換えが可能であることを認識し得る。したがって、新規のアーキテクチャは、添付の特許請求の範囲の趣旨および範囲内にあるすべての改変、修正、および変形を包含することが意図される。
【図１】
2020526991.tif 000003
【図２】
2020526991.tif 000004
【図３Ａ】
2020526991.tif 000005
【図３Ｂ】
2020526991.tif 000006
【図４】
2020526991.tif 000007
【図５】
2020526991.tif 000008
【図６】
2020526991.tif 000009
【図７】
2020526991.tif 000010
【図８】
2020526991.tif 000011
【図９】
2020526991.tif 000012
【図１０】
2020526991.tif 000013
【図１１Ａ】
2020526991.tif 000014
【図１１Ｂ】
2020526991.tif 000015
【図１１Ｃ】
2020526991.tif 000016
【図１２】
2020526991.tif 000017
【図１３】
2020526991.tif 000018
【図１４】
2020526991.tif 000019
【図１５】
2020526991.tif 000020
【図１６】
2020526991.tif 000021
【図１７】
2020526991.tif 000022
【国際調査報告】
2020526991.tif 000023
2020526991.tif 000024
2020526991.tif 000025