理解を容易にするのに、可能な場合、これらの図に共通する同一の要素を示すのに同一の参照符号が使用されている。
チャット・ベースの通信能力が、本明細書において提示される。少なくともいくつかの実施形態において、チャット・ベースの通信能力は、チャット・ベースの通信パラダイムによって通常サポートされない、1つまたは複数の通信対話タイプをサポートするチャット・ベースの通信パラダイムを利用する。
少なくともいくつかの実施形態において、チャット・ベースの通信能力は、人間エンティティと非人間エンティティ(例えば、デバイス、デバイス上で実行されるプログラム、プロセス、組織など)の間のチャット・ベースの通信をサポートすることが可能である。少なくともいくつかの実施形態において、チャット・アプリケーションによって通常、サポートされる人間−人間通信に加えて、またはそのような通信の代わりに、チャット・アプリケーションが、人間とデバイス(例えば、コンテンツ・サーバ、プリンタ、カメラなど)の間の人間−デバイス通信、人間とプログラム(例えば、オンライン電子商取引プログラム、レストラン注文および支払い処理プログラム、人的資源プログラムなど)の間の人間−プログラム通信、人間とプロセス(例えば、グループ会話、協働セッション、デジタル会議など)の間の人間−プロセス通信、人間と組織(例えば、ビジネス、非営利組織、教育組織など)の間の人間−組織通信など、ならびに以上の様々な組合せのうちの1つまたは複数などの、人間エンティティと非人間エンティティの間の通信のために他の1つまたは複数の通信対話タイプをサポートするように構成されることが可能である。
少なくともいくつかの実施形態において、チャット・ベースの通信能力は、複数の非人間エンティティ(例えば、非人間エンティティは、デバイス、プログラム、プロセス、組織などを含むことが可能である)の間のチャット・ベースの通信をサポートすることが可能である。少なくともいくつかの実施形態において、チャット・アプリケーションが、デバイス間のデバイス−デバイス通信(本明細書でマシン・ツー・マシン(M2M)通信と呼ばれることも可能な)、デバイスとプログラムの間のデバイス−プログラム通信、プログラム間のプログラム−プログラム通信、デバイスとプロセスの間のデバイス−プロセス通信、プログラムとプロセスの間のプログラム−プロセス通信、プロセス−プロセス通信などのうちの1つまたは複数などの、複数の非人間エンティティの間の通信のために1つまたは複数の通信対話タイプをサポートするように構成されることが可能である。
チャット・ベースの通信能力の様々な実施形態が、人間エンティティと非人間エンティティが、共通のチャット・ベースの通信パラダイムを使用する異なる通信対話タイプを使用して通信する(例えば、人間と通信する、デバイスと対話する、コンピュータ・プログラムと対話する、プロセスに参加する、組織と対話するなど)便利で、一様な方法を提供する。チャット・ベースの通信能力の様々な実施形態が、人間エンティティと非人間エンティティが、異なる通信対話タイプの間で容易に、シームレスに移動する便利な方法を提供する。チャット・ベースの通信能力の様々な実施形態が、人間エンティティと非人間エンティティが多種多様な通信対話タイプにより容易に、直観的に、迅速に、簡単に参加することを可能にする、様々な通信対話タイプをサポートする包括的なチャット・ベースの通信インターフェースを提供する。
チャット・ベースの通信能力のこれら、および他の様々な実施形態および利点は、図1の例示的なチャット・ベースのシステムを参照することによってよりよく理解され得る。
図1は、複数の通信対話タイプのためにチャット・ベースの通信をサポートするように構成された例示的なチャット・ベースのシステムを示す。
チャット・ベースのシステム100が、エンティティ1101〜1104のセット(ひとまとめにして、エンティティ110)と、それぞれのエンティティ1101〜1104に関連付けられたエンティティ代表1201〜1204のセット(ひとまとめにして、エンティティ代表120)と、チャット・ベースのコア130とを含む。エンティティ110は、人間エンティティ(例示的に、人間エンティティ1101および人間エンティティ1102)と、非人間エンティティ(例示的に、デバイス・エンティティ1103およびプログラム・エンティティ1104)とを含む。チャット・ベースのシステム100は、人間エンティティが関与するチャット・ベースの通信(人間エンティティ1101の見地から本明細書において主に描かれ、説明される)、または人間エンティティが関与しないチャット・ベースの通信を含むことが可能な、エンティティ110間の複数の通信対話タイプをサポートするように構成される。人間エンティティが関与するチャット・ベースの通信は、人間エンティティ間のチャット・ベースの通信(例えば、人間エンティティ1101と人間エンティティ1102の間の通常のチャット・セッション)、人間エンティティと非人間エンティティの間のチャット・ベースの通信(例えば、やはり、人間エンティティ1101の見地から本明細書において主に描かれ、説明される)などを含むことが可能である。人間エンティティが関与しないチャット・ベースの通信は、デバイス間のチャット・ベースの通信、デバイスとプログラムの間のチャット・ベースの通信、プログラム間のチャット・ベースの通信などを含むことが可能である。エンティティ代表120およびチャット・ベースのコア130は、後段でさらに詳細に説明されるとおり、様々なエンティティ110間の通信を円滑にするように構成される。
前述したとおり、チャット・ベースのシステム110は、人間エンティティのために(例示的に、人間エンティティ1101のために)複数の通信対話タイプをサポートすることが可能である。人間エンティティ1101は、チャット・アプリケーション1121をサポートする関連するユーザ・デバイス1111を使用している。人間エンティティ1101のユーザ・デバイス1111は、チャット・アプリケーション1121を実行するのに適したコンピュータ、スマートフォン、または他の任意のデバイスであることが可能である。チャット・アプリケーション1121は、通常のチャット・アプリケーションよりも多くの機能を提供するように構成された強化されたチャット・アプリケーションである(すなわち、チャット・アプリケーション1121は、人間−人間通信に加えて複数の通信対話タイプをサポートするように構成される)。チャット・アプリケーション1121は、後段で説明されるとおり、人間エンティティ1101がチャット・アプリケーション1121を利用して、様々なタイプのチャット・ベースの通信対話(例えば、人間−人間、人間−デバイス、人間−プログラムなど)を行うことが可能であるようにユーザ・デバイス1111上で実行されている。チャット・アプリケーション1121は、人間エンティティ1101が他のエンティティ110に伝搬される情報を供給することが可能であり、かつ人間エンティティ1101が他のエンティティ110から情報を受信することが可能であるチャット・ベースの通信インターフェースを提供する。チャット・アプリケーション1121は、チャット・アプリケーション1121と他のエンティティ110(後段で説明される)上で実行されるチャット・アプリケーションとの間で通信チャネルを確立して、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを介して人間エンティティ1101によって供給された情報が他のエンティティ110に伝搬され得るようにし、同様に、他のエンティティ110からの情報が、人間エンティティ1101に提示されるようにチャット・アプリケーション1121に伝搬され得るようにすることをサポートする。チャット・アプリケーション1121には、連絡先リスト1131が関連付けられており、連絡先リスト1131は、チャット・アプリケーション1121を介して人間エンティティ1101に関連付けられた他のエンティティ110(例示的に、後段で説明される、人間エンティティ1102、デバイス・エンティティ1103、およびプログラム・エンティティ1104)のリストを含み、このため、連絡先リスト1131を用いて、チャット・アプリケーション1121は、他のエンティティ110を相手にしたチャット・ベースの通信のための通信チャネルをサポートすることが可能である。関連付けられた連絡先リスト1131を含むチャット・アプリケーション1121は、ユーザ・デバイス1111の1つまたは複数のプレゼンテーション・インターフェースを介して人間エンティティ1101に表示されるように適応させられることが可能である(チャット・アプリケーション1121は、表示されていない場合でも実行されつづけることも可能であるものと理解されるものの)。チャット・アプリケーション1121がユーザ・デバイス1111上だけで実行される(同様に、関連付けられた連絡先リスト1131がユーザ・デバイス1111上に記憶される)実施形態に関して主に描かれ、説明されるものの、チャット・アプリケーション1121の少なくともいくつかの構成要素または機能は、さらに、または代替として、他の1つまたは複数の要素(例えば、エンティティ代表1201、チャット・ベースのコア130、他の1つまたは複数の要素など、および以上の様々な組合せ)上で実行されていることも可能である(および、同様に連絡先リスト1131の少なくとも一部分はさらに、または代替として記憶されることが可能である)ことが理解されよう。
チャット・ベースのシステム100は、人間エンティティ1101と人間エンティティ1102の間の通常の人間−人間対話をサポートする。人間エンティティ1102は、チャット・アプリケーション1122をサポートする関連付けられたユーザ・デバイス1112を使用している。人間エンティティ1102のユーザ・デバイス1112は、チャット・アプリケーション1122を実行するのに適したコンピュータ、スマートフォン、または他の任意のデバイスであることが可能である。チャット・アプリケーション1122は、単一の対話タイプ(すなわち、人間−人間通信)をサポートするだけの通常のチャット・アプリケーションであってもよく、または強化されたチャット・アプリケーション(例えば、人間エンティティ1101によって使用されているチャット・アプリケーション1121)であってもよい。チャット・アプリケーション1122は、人間エンティティ1102が人間エンティティ1101に伝搬される情報を供給することが可能であり、かつ人間エンティティ1102が人間エンティティ1101から情報を受信することが可能であるチャット・ベースの通信インターフェースをサポートする。チャット・アプリケーション1122には、連絡先リスト1132が関連付けられており、連絡先リスト1132は、チャット・アプリケーション1122を介して人間エンティティ1102に関連付けられた他のエンティティ110(例示的に、人間エンティティ1101)のリストを含む。関連付けられた連絡先リスト1132を含むチャット・アプリケーション1122は、ユーザ・デバイス1112の1つまたは複数のプレゼンテーション・インターフェースを介して人間エンティティ1102に表示されるように適応させられることが可能である。チャット・ベースのシステム100が、ユーザ・デバイス1111のチャット・アプリケーション1121とユーザ・デバイス1112のチャット・アプリケーション1122の間で通信チャネル1401を確立することをサポートする。ユーザ・デバイス1111のチャット・アプリケーション1121とユーザ・デバイス1112のチャット・アプリケーション1122の間の通信チャネル1401は、人間エンティティ1101と人間エンティティ1102の間のチャット・ベースの通信の伝搬をサポートする。例えば、人間エンティティ1101は、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを使用して、人間エンティティ1102宛てのメッセージを入力して、サブミットすることが可能であり(このメッセージは、通信チャネル1401を介してユーザ・デバイス1112のチャット・アプリケーション1122に配信され、ユーザ・デバイス1112のチャット・アプリケーション1122のチャット・ベースの通信インターフェースを介して人間エンティティ1102に提示される)、同様に、人間エンティティ1102は、チャット・アプリケーション1122のチャット・ベースの通信インターフェースを使用して、人間エンティティ1101宛てのメッセージを入力して、サブミットすることが可能である(このメッセージは、通信チャネル1401を介してユーザ・デバイス1111のチャット・アプリケーション1121に配信され、ユーザ・デバイス1111のチャット・アプリケーション1121のチャット・ベースの通信インターフェースを介して人間エンティティ1101に提示される)。このようにして、人間エンティティ1101と人間エンティティ1102は、リアルタイムで会話を続けることが可能である。チャット・セッションのコンテキスト内における人間エンティティ間の通常の対話は、当業者によって理解され、このため、そのような対話の説明は、省略される。通信チャネル1401は、エンティティ代表1201および1202、ならびにチャット・ベースのコア130も通っており、エンティティ代表1201および1202、ならびにチャット・ベースのコア130のうちの1つまたは複数は、通信チャネル1401を介して人間エンティティ1101と人間エンティティ1102の間のチャット・ベースの通信をサポートして様々な機能を実行することが可能である。
チャット・ベースのシステム100は、人間エンティティ1101と、デバイス・エンティティであるエンティティ1103との間の人間−デバイス対話をサポートする。デバイス・エンティティ1103は、人間エンティティ1101のユーザ・デバイス1111が通信することが可能な任意のタイプのデバイスであることが可能である。例えば、デバイス・エンティティ1103は、ネットワーク・デバイス(例えば、人間エンティティ1101が情報を要求することが可能なデータベース、人間エンティティ1101がコンテンツを要求することが可能な、もしくは人間エンティティ1101がコンテンツを記憶することが可能なコンテンツ・サーバなど)、データセンタ・デバイス(例えば、人間エンティティ1101がアクセス可能な仮想マシンをホストするホスト・サーバ、人間エンティティ1101がアクセス可能なファイル・システムなど)、ローカル・エリア・ネットワーク上で利用可能なデバイス(例えば、コンピュータ、ストレージ・デバイス、プリンタ、複写機、スキャナなど)、スマート環境のためのスマート・デバイス(例えば、センサ、アクチュエータ、モニタ、カメラ、器具など)、エンド・ユーザ・デバイス(例えば、コンピュータ、スマートフォン、テレビなど)、車両搭載型通信デバイス、近距離無線通信デバイスなどであることが可能である。デバイス・エンティティ1103は、チャット・アプリケーション1123を含む。チャット・ベースのシステム100が、ユーザ・デバイス1111のチャット・アプリケーション1121とデバイス・エンティティ1103のチャット・アプリケーション1123の間で通信チャネル1402を確立することをサポートする。チャット・アプリケーション1123は、デバイス・エンティティ1103が人間エンティティ1101に伝搬される情報を供給することが可能であり、かつデバイス・エンティティ1103が人間エンティティ1101から情報を受信することが可能であるチャット・ベースの通信インターフェースをサポートする。チャット・ベースの通信インターフェースは、チャット・アプリケーション1123(チャット・アプリケーション1123を相手に確立された通信チャネル1402を含む)とネットワーク・エンティティ1103の1つまたは複数のモジュールまたは要素(例えば、通信チャネル1402を介して受信された情報を処理するように構成されたモジュールまたは要素、通信チャネル1402を介して送信するように情報を供給するように構成されたモジュールまたは要素など、および以上の様々な組合せ)との間のインターフェースを提供することが可能である。チャット・アプリケーション1123には、連絡先リスト1133が関連付けられることが可能であり、連絡先リスト1133は、チャット・アプリケーション1123を介してデバイス・エンティティ1103に関連付けられた他のエンティティ110(例示的に、人間エンティティ1101)のリストを含む。チャット・アプリケーション1123は、デバイス・エンティティ1103が、人間対話とは独立に、通信チャネル1402を介してチャット・ベースの通信に参加するものと見込まれるので、ディスプレイ・インターフェースまたはディスプレイ構成要素を含むものとは見込まれない。
ユーザ・デバイス1111のチャット・アプリケーション1121とデバイス・エンティティ1103のチャット・アプリケーション1123の間の通信チャネル1402は、人間エンティティ1101とデバイス・エンティティ1103の間のチャット・ベースの通信の伝搬をサポートする。ユーザ・デバイス1111のチャット・アプリケーション1121とデバイス・エンティティ1103のチャット・アプリケーション1123の間の通信チャネル1402は、人間エンティティ1101とデバイス・エンティティ1103の間で様々なタイプの通信をサポートすることが可能であり、サポートされる通信のタイプは、デバイス・エンティティ1103のデバイス・タイプに依存することが可能である。例えば、人間エンティティ1101が、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを使用して、情報またはコンテンツを求める要求を、通信チャネル1402を介してデバイス・エンティティ1103に送信することが可能であり(例えば、ビデオ・ファイルを求める要求、オーディオ・ファイルを求める要求、センサからステータス情報を求める要求、車両情報システムからステータス情報を求める要求など)、デバイス・エンティティ1103が、チャット・アプリケーション1123のチャット・ベースの通信インターフェースを使用することによってその要求に応答して、要求された情報またはコンテンツを、その情報またはコンテンツに人間エンティティ1101がアクセス可能であるようにするために通信チャネル1402を介してチャット・アプリケーション1121に送信することが可能である。例えば、人間エンティティ1101が、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを使用して、制御コマンドを、通信チャネル1402を介してデバイス・エンティティ1103に送信することが可能であり(例えば、カメラの再構成を制御するようにカメラに送信されるコマンド、アクチュエータを制御するようにアクチュエータに送信されるコマンド、プリンタの構成を制御するようにプリンタに送信されるコマンド、ファイル・システムからのデータの取出しを制御するようにファイル・システムをホストするデバイスに送信されるコマンドなど)、デバイス・エンティティ1103が、チャット・アプリケーション1123のチャット・ベースの通信インターフェースを使用することによってその制御コマンドに応答して、関連するコマンド結果を、そのコマンドの実行の結果を人間エンティティ1101に通知するために通信チャネル1402を介してチャット・アプリケーション1121に送信することが可能である。例えば、デバイス・エンティティ1103が、チャット・アプリケーション1123のチャット・ベースの通信インターフェースを使用して、情報(例えば、センサのセンサ・ステータス、センサの閾値が満たされたという通知、アクチュエータのアクチュエータ・ステータス、モニタからの測定、プリンタのトナー・ステータスもしくは用紙ステータス、デジタル・ビデオ・レコーダの利用可能なストレージ・ステータス、ホーム・ネットワークの潜在的なセキュリティ侵害の表示、車両情報および制御システムのステータスの通知もしくは読取り値の通知など)を、人間エンティティ1101にその情報を供給するために通信チャネル1402を介してチャット・アプリケーション1121に送信することが可能である。前述の例は、ユーザ・デバイス1111のチャット・アプリケーション1121とデバイス・エンティティ1103のチャット・アプリケーション1123の間の通信チャネル1402が、人間エンティティ1101とデバイス・エンティティ1103の間のチャット・ベースの通信をサポートするのに使用され得る様々な方法のいくつかに過ぎないことが理解されよう。
ユーザ・デバイス1111のチャット・アプリケーション1121とデバイス・エンティティ1103のチャット・アプリケーション1123の間の通信チャネル1402は、エンティティ代表1201および1203、ならびにチャット・ベースのコア130も通ることが可能であり、エンティティ代表1201および1203、ならびにチャット・ベースのコア130のうちの1つまたは複数は、通信チャネル1402を介して人間エンティティ1101とデバイス・エンティティ1103の間のチャット・ベースの通信をサポートして様々な機能を実行することが可能である。例えば、人間エンティティ1101からデバイス・エンティティ1103への通信に関して、通信は、エンティティ代表1201、チャット・ベースのコア130、およびエンティティ代表1203を含むパスを介してルーティングされることが可能であり、エンティティ代表1201、チャット・ベースのコア130、およびエンティティ代表1203のうちの1つまたは複数が、その通信を処理して、その通信を、人間エンティティ1101によってサポートされるフォーマット(例えば、自然言語)からデバイス・エンティティ1103によってサポートされるフォーマット(例えば、異なるタイプのデバイスにわたって様々であるものと見込まれる機械ベースのフォーマット)に変換することが可能である。例えば、デバイス・エンティティ1103から人間エンティティ1101への通信に関して、通信は、エンティティ代表1203、チャット・ベースのコア130、およびエンティティ代表1201を含むパスを介してルーティングされることが可能であり、エンティティ代表1203、チャット・ベースのコア130、およびエンティティ代表1201のうちの1つまたは複数が、その通信を処理して、その通信を、デバイス・エンティティ1103によってサポートされるフォーマット(例えば、異なるタイプのデバイスにわたって様々であるものと見込まれる機械ベースのフォーマット)から人間エンティティ1101によってサポートされるフォーマット(例えば、自然言語)に変換することが可能である。エンティティ代表1201および1203、ならびにチャット・ベースのコア130は、通信チャネル1402を介して人間エンティティ1101とデバイス・エンティティ1103の間で交換される通信をサポートして様々な条件下でこれらのタイプの会話をもたらすように動作することが可能である。
例えば、デバイス・エンティティ1103がビデオ・サーバである場合、人間エンティティ1103とそのビデオ・サーバの間の人間−デバイス対話は、以下のとおり進むことが可能である。すなわち、(1)人間エンティティ1101が、チャット・アプリケーション1121を介してビデオ・サーバの代表を選択し、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを介して、「I want the latest movie to win a best picture award?(私は、最新の映画が最優秀映画賞を獲得することを望むか)」などの要求を入力して、サブミットすることが可能であり、(2)その要求が、通信チャネル1402を介してビデオ・サーバのチャット・アプリケーション1123に向けて伝搬され、(3)エンティティ代表1201、チャット・ベースのコア130、またはエンティティ代表1203のうちの1つまたは複数が、その要求がビデオ・サーバによって受信されるのに先立って、その要求を、ビデオ・サーバによってサポートされるデバイス言語(例えば、REQUEST:MOVIE,METADATA:AWARD,BEST PICTURE WINNER,LATEST(要求:映画,メタデータ:賞,最優秀映画受賞者,最新))に変換するために、その要求を操作し、(4)ビデオ・サーバのチャット・アプリケーション1123が、その要求を受信し、その要求を、チャット・アプリケーション1123のチャット・ベースの通信インターフェースを介してビデオ・サーバのビデオ識別および取出しモジュールに送り、(5)ビデオ・サーバのビデオ識別および取出しモジュールが、要求された映画を識別し、取り出して、要求された映画を、その映画に人間エンティティ1101がアクセス可能であるようにするために通信チャネル1402を介してユーザ・デバイス1111に向けて伝搬されるようにチャット・アプリケーション1123のチャット・ベースの通信インターフェースを介してビデオ・サーバのチャット・アプリケーション1123に供給し、(6)ユーザ・デバイス1111のチャット・アプリケーション1121が、通信チャネル1402を介してビデオ・サーバから映画コンテンツを受け取り、そのビデオ・コンテンツに人間エンティティ1101がアクセス可能であるようにする(例えば、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを介して、またはそのビデオ・コンテンツをユーザ・デバイス1111上の他の1つまたは複数のモジュールに転送することによって)。
例えば、デバイス・エンティティ1103がセンサである場合、人間エンティティ1103とそのセンサの間の人間−デバイス対話は、以下のとおり進むことが可能である。すなわち、(1)人間エンティティ1101が、ユーザ・デバイス1111上のチャット・アプリケーション1121を介してセンサの代表を選択し、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを介して、「what is the latest reading?(最新の読取り値はいくらか)」のようなクエリを入力して、サブミットすることが可能であり、(2)そのクエリが、通信チャネル1402を介してセンサのチャット・アプリケーション1123に向けて伝搬され、(3)通信チャネル1402上のエンティティ代表1201、チャット・ベースのコア130、またはエンティティ代表1203のうちの1つまたは複数が、そのクエリをセンサに供給するのに先立って、そのクエリを、センサによってサポートされるデバイス言語(例えば、REQUEST:DEVICE READING,LATEST(要求:デバイス読取り値,最新))を使用するフォーマットされたクエリに変換するために、そのクエリを操作し、(4)センサのチャット・アプリケーション1123が、そのフォーマットされたクエリを受信し、そのフォーマットされたクエリを、チャット・アプリケーション1123のチャット・ベースの通信インターフェースを介してセンサのセンサ読取りモジュールに送り、(5)センサのセンサ読取りモジュールが、要求されたセンサ読取り値を識別して、獲得し、フォーマットされたセンサ読取り値応答を、その要求されたセンサ読取り値に人間エンティティ1101がアクセス可能であるようにするために通信チャネル1402を介してユーザ・デバイス1111に向けて伝搬されるようにチャット・アプリケーション1123のチャット・ベースの通信インターフェースを介してセンサのチャット・アプリケーション1123に供給し、(6)エンティティ代表1203、チャット・ベースのコア130、またはエンティティ代表1201のうちの1つまたは複数が、そのセンサ読取り値を人間エンティティ1101に供給するのに先立って、そのフォーマットされたセンサ読取り値応答を自然言語センサ読取り値応答に変換するために、そのフォーマットされたセンサ読取り値応答を操作し、(7)ユーザ・デバイス1111のチャット・アプリケーション1121が、通信チャネル1402を介してその自然言語センサ読取り値応答を受信し、その自然言語センサ応答を、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを介して人間エンティティ1101に提示する。
例えば、デバイス・エンティティ1103がプリンタである場合、人間エンティティ1103とそのプリンタの間の人間−デバイス対話は、以下のとおり進むことが可能である。すなわち、(1)人間エンティティ1101が、ユーザ・デバイス1111上のチャット・アプリケーション1121を介してプリンタの代表を選択し、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを介して、document1のコピーを添付することもしながら、「please print document1(document1を印刷してください)」などの要求を入力して、サブミットすることが可能であり、(2)その要求が、通信チャネル1402を介してプリンタのチャット・アプリケーション1123に向けて伝搬され、(3)チャット・ベースのコア130とエンティティ代表1203のいずれか、または両方が、その要求をプリンタに供給するのに先立って、その要求を、プリンタによってサポートされるデバイス言語を使用するフォーマットされた要求に変換するために、その要求を操作し、(4)プリンタのチャット・アプリケーション1123が、そのフォーマットされた要求、および関連付けられた文書を受信し、そのフォーマットされた要求、および関連付けられた文書を、チャット・アプリケーション1123のチャット・ベースの通信インターフェースを介してプリンタの印刷制御モジュールに転送し、(5)プリンタの印刷制御モジュールが、文書の印刷を開始し、印刷が完了すると、フォーマットされた印刷ステータス応答を、その印刷ステータスに人間エンティティ1101がアクセス可能であるようにするために通信チャネル1402を介してユーザ・デバイス1111に向けて伝搬されるようにチャット・アプリケーション1123のチャット・ベースの通信インターフェースを介してプリンタのチャット・アプリケーション1123に供給し、(6)エンティティ代表1203またはチャット・ベースのコア130のいずれか、または両方が、印刷ステータスを人間エンティティ1101に供給するのに先立って、そのフォーマットされた印刷ステータス応答を自然言語印刷ステータス応答に変換するために、そのフォーマットされた印刷ステータス応答を操作し、(7)ユーザ・デバイス1111のチャット・アプリケーション1121が、その自然言語印刷ステータス応答を受信し、その自然言語印刷ステータス応答を、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを介して人間エンティティ1101に提示する。
前述の例は、チャット・ベースのシステム100が、チャット・アプリケーション1121とチャット・アプリケーション1123の間の通信チャネル1402を介して人間エンティティ1101とデバイス・エンティティ1103の間の人間−デバイス対話をサポートすることが可能な様々な方法のうちのいくつかを表すに過ぎないことが理解されよう。
チャット・ベースのシステム100は、人間エンティティ1101と、プログラム・エンティティであるエンティティ1104との間の人間−プログラム対話をサポートする。プログラム・エンティティ1104は、人間エンティティ1101のユーザ・デバイス1111が通信することが可能である任意のタイプのデバイス上の任意のタイプのプログラムであることが可能である。例えば、プログラム・エンティティ1104は、オンライン注文プログラム(例えば、電子商取引ショッピング・プログラム、レストランの注文および支払い処理プログラムなど)、オンライン・サービス・プロバイダ・プログラム(例えば、遠隔通信サービス・プロバイダのプログラム、電気プロバイダのプログラムなど)、ネットワーク・デバイス上またはデータセンタ・デバイス上で利用可能なプログラム(例えば、ネットワークまたはデータセンタにおいてホストされるアプリケーション)、ビジネスの注文プログラム、ホテルのコンシエルジュ・プログラム、タクシー会社のタクシー・スケジューリング・プログラム、車両の車両情報および制御プログラムなどであることが可能である。プログラム・エンティティ1104は、チャット・アプリケーション1124を含む。チャット・ベースのシステム100が、ユーザ・デバイス1111のチャット・アプリケーション1124と、デバイス1114上で実行されるプログラム・エンティティ1104のチャット・アプリケーション1124との間で通信チャネル1404を確立することをサポートする)。チャット・アプリケーション1124は、プログラム・エンティティ1104が人間エンティティ1101に伝搬されるように情報を供給することが可能であり、かつプログラム・エンティティ1104が人間エンティティ1101から情報を受信することが可能であるチャット・ベースの通信インターフェースをサポートする。チャット・ベースの通信インターフェースは、チャット・アプリケーション1124(チャット・アプリケーション1123を相手に確立された通信チャネル1404を含む)と、プログラム・エンティティ1104の1つまたは複数のモジュールまたは要素(例えば、通信チャネル1403を介して受信される情報を処理するように構成されたモジュールまたは要素、通信チャネル1403を介して送信されるように情報を供給するように構成されたモジュールまたは要素など、および以上の様々な組合せ)との間のインターフェースを提供することが可能である。チャット・アプリケーション1124には、連絡先リスト1134が関連付けられていることが可能であり、連絡先リスト1134は、チャット・アプリケーション1124を介してプログラム・エンティティ1104に関連付けられた他のエンティティ110(例示的に、人間エンティティ1101)のリストを含む。チャット・アプリケーション1124は、プログラム・エンティティ1104が、人間対話とは独立に、通信チャネル1403を介してチャット・ベースの通信に参加するものと見込まれるので、ディスプレイ・インターフェースまたはディスプレイ構成要素を含むものとは見込まれない。ユーザ・デバイス1111のチャット・アプリケーション1121とプログラム・エンティティ1104のチャット・アプリケーション1124の間の通信チャネル1403は、人間エンティティ1101とプログラム・エンティティ1104の間で様々なタイプの通信をサポートすることが可能であり、サポートされる通信のタイプは、プログラム・エンティティ1104のプログラム・タイプに依存することが可能である。ユーザ・デバイス1111のチャット・アプリケーション1121とプログラム・エンティティ1104のチャット・アプリケーション1124の間の通信チャネル1403は、エンティティ代表1201および1204、ならびにチャット・ベースのコア130も通ることが可能であり、エンティティ代表1201および1204、ならびにチャット・ベースのコア130のうちの1つまたは複数は、通信チャネル1404を介して人間エンティティ1101とプログラム・エンティティ1104の間の通信をサポートして様々な機能を実行することが可能である。通信チャネル1404を介する人間エンティティ1101とプログラム・エンティティ1104の間の人間−プログラム対話は、通信チャネル1403を介する人間エンティティ1101とデバイス・エンティティ1103、人間−デバイス対話と同様であるものと見込まれ、このため、詳細な例は、省略される。例えば、人間エンティティ1101が、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを使用して、レストラン予約スケジューリング・プログラムから予約を要求し、受信することが可能であり、歯科医院患者スケジューリング・プログラムが、チャット・アプリケーション1124のチャット・ベースの通信インターフェースを使用して、人間エンティティ1101が人間エンティティ1101によってスケジュールされた予約を守るつもりであるという確認を要求し、受信するといったことなどが可能である。そのようなプログラムは、デバイス(例えば、サーバ、VMをホストしている物理リソース、コンピュータなど)上で実行されること、および、このため、人間エンティティ1101とデバイス・エンティティ1103の間の人間−デバイス対話に関連して本明細書で説明される様々な実施形態は、人間エンティティ1101とプログラム・エンティティ1104の間の人間−プログラム対話のために使用されることも可能であることが理解されよう。すなわち、少なくともいくつかの実施形態において、人間エンティティ1101とプログラム・エンティティ1104の間の人間−プログラム対話は、人間エンティティ1101とプログラム・エンティティ1104をホストするデバイスとの間の人間−デバイス対話と見なされることも可能である。
チャット・ベースのシステム100は、人間エンティティ1101と他のタイプの非人間エンティティの間の他の通信対話タイプをサポートするように構成されることも可能である。例えば、チャット・ベースのシステム100は、人間エンティティ1101と1つまたは複数のプロセス(例えば、デジタル会議、協働セッションなど)の間の人間−プロセス対話をサポートするように構成されることも可能である。例えば、チャット・ベースのシステム100は、人間エンティティ1101と1つまたは複数の組織(例えば、ビジネス、非営利組織、教育組織など)の間の人間−組織対話をサポートするように構成されることも可能である。チャット・ベースのシステム100は、人間エンティティ1101と他のタイプの非人間エンティティの間の他の通信対話タイプをサポートするように構成されることも可能である。例えば、他のタイプの非人間エンティティが、ロケーション(例えば、店、レストラン、ライブラリなど)、オブジェクトなどを含むことが可能である。人間エンティティ1101によるそのような非人間エンティティを相手にした対話は、人間エンティティ1101とそのような非人間エンティティの間の通信が、人間エンティティ1101のユーザ・デバイス1111上で実行されているチャット・アプリケーション1121と、それらの非人間エンティティに関連付けられたデバイス上で実行されているチャット・アプリケーション、またはそれらの非人間エンティティに関連付けられたデバイス上のプログラムに組み込まれた、もしくは関連付けられたチャット・アプリケーションとの間にそれぞれ確立された通信チャネルを使用して実行されるので、それらの非人間エンティティに関連付けられたデバイスを使用して実行されることが可能であることが理解されよう。したがって、人間エンティティ1101とデバイス・エンティティ1103の間の人間−デバイス対話、および人間エンティティ1101とプログラム・エンティティ1104の間の人間−プログラム対話に関連して本明細書で説明される様々な実施形態は、人間エンティティ1101と他のタイプの非人間エンティティの間の他の通信対話タイプに関して使用されることも可能である。すなわち、少なくともいくつかの実施形態において、人間エンティティ1101と他のタイプの非人間エンティティの間の他の通信対話タイプは、人間エンティティ1101と非人間エンティティに関連付けられたデバイスとの間の人間−デバイス対話、または人間エンティティ1101と非人間エンティティに関連付けられたプログラムとの間の人間−プログラム対話と見なされることも可能である。
チャット・ベースのシステム100が、チャット・ベースのコア130に対するエンティティ110の識別をサポートして、エンティティ110が、チャット・ベースのシステム100の他のエンティティ110に関連付けられるように利用可能であるようにする。例えば、人間エンティティ110(例示的に、人間エンティティ1101および1102、ならびに他の様々な人間エンティティ)が、チャット・ベースのコア130に登録することが可能である(例えば、チャット・ベースのコア130に対してアカウントを確立することによって)。同様に、例えば、非人間エンティティ110(例示的に、デバイス・エンティティ1103およびプログラム・エンティティ1104、ならびに他の様々な非人間エンティティ)が、チャット・ベースのコア130に登録することが可能であり、またはチャット・ベースのコア130に登録されることが可能である(例えば、非人間エンティティが、人間によってチャット・ベースのコア130に登録されるが、その後、人間対話とは独立にチャット・ベースの通信に参加することが可能である場合など)。このようにして、様々なエンティティ110が、チャット・ベースのシステム100内で発見可能になり、このため、様々な通信対話タイプをサポートする関連付けが、本明細書で説明されるとおりエンティティ110間で確立されることが可能である。
前述したチャット・ベースのシステム100は、チャット・アプリケーション1121を介して人間エンティティ1101にエンティティ110を関連付けることをサポートし、同様に、チャット・アプリケーション1121を介して人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121と、人間エンティティ1101に関連付けられたエンティティ110に関連付けられたデバイスまたはプログラムのチャット・アプリケーションとの間で通信チャネル140を確立することをサポートする。前述したとおり、チャット・アプリケーション1121を介して人間エンティティ1101に関連付けられたエンティティ110は、人間エンティティ1101に関するチャット・アプリケーション1121の連絡先リスト1131を介して(および、同様にそのエンティティのチャット・アプリケーションの対応する連絡先リストを介して)人間エンティティ1101に関連付けられることが可能である。人間エンティティ1101にエンティティ110を関連付けること、または人間エンティティ1101からエンティティ110を切り離すこと(例えば、チャット・アプリケーション1121の連絡先リスト1131にエンティティ110を追加すること、または連絡先リスト1131からエンティティ110を除去することを介して)は、チャット・アプリケーション1121を介して人間エンティティ1101によって手動で実行されても、コンテキスト情報に基づいてチャット・ベースのシステム100によって自動的に実行されてもよい。人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121とエンティティ110に関連付けられたデバイスまたはプログラムのチャット・アプリケーションの間の通信チャネル140の確立は、人間エンティティ1101に既に関連付けられた任意のエンティティ110に関して、ユーザ・デバイス1111上でチャット・アプリケーション1121が呼び出されると、実行されることが可能である(例えば、チャット・アプリケーション1121の連絡先リスト1131に既に含められたエンティティに基づいて)。例えば、チャット・ベースのコア130は、チャット・アプリケーション1121の連絡先リスト1131を保持するように、かつ、ユーザ・デバイス1111上でチャット・アプリケーション1121が呼び出されたことの検出に基づいて、人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121とチャット・アプリケーション1121の連絡先リスト1131上のエンティティ110の間で通信チャネル140を確立する際にチャット・アプリケーション1121によって使用されるように連絡先リスト1131をチャット・アプリケーション1121に供給するように構成されることが可能である。人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121とエンティティ110に関連付けられたデバイスまたはプログラムのチャット・アプリケーションの間で通信チャネル140を確立すること、または終了することも、チャット・アプリケーション1121がユーザ・デバイス1111上で実行されている任意の時点で実行されることが可能である(例えば、非人間エンティティ110が、コンテキストに基づいて人間エンティティ1101のためのチャット・アプリケーション1121の連絡先リスト1131に動的に追加され、除去されるにつれ、そうである)。例えば、チャット・ベースのコア130が、人間エンティティ1101に新たなエンティティ110が関連付けられたこと、または人間エンティティ1101から既存のエンティティ110が切り離されたことを検出し、その新たなエンティティ110を追加するように、またはその既存のエンティティ110を除去するようにチャット・アプリケーション1121の連絡先リスト1131を更新し、かつその新たなエンティティ110に関して新たな通信チャネル140の確立、またはその既存のエンティティ110の既存の通信チャネル140の終了を開始するように構成されることが可能である。
チャット・ベースのシステム100は、人間エンティティ1101に関連付けられるように利用可能なエンティティ110の手動の、または自動化された識別をサポートするように構成されることが可能であり、同様に、人間エンティティ1101に対する識別されたエンティティ110の手動の、または自動化された関連付けをサポートすることも可能である(例えば、チャット・アプリケーション1121の連絡先リスト1131に含めることを介して)。
チャット・ベースのシステム100は、人間エンティティ1101が、他のエンティティ110を探索する際にチャット・ベースのコア130によって使用されるべき特定の探索基準を入力して、サブミットすることが可能な探索ベースのエンティティ関連付け能力をサポートすることが可能である。例えば、人間エンティティ1101は、人間エンティティ1101が、特定のロケーションにおいて利用可能なプリンタ、特定の地理的区域において利用可能なレストラン、人間エンティティ1101が働く企業の人的資源プログラム、人間エンティティ1101が口座を維持する銀行の銀行取引プログラム、特定の関心領域と関係する協働セッションなどを探索していることを指定することが可能である。チャット・ベースのコア130は、その探索基準を使用して、その探索基準を満たす潜在的なエンティティ110のセットを識別することが可能である。次に、チャット・ベースのコア130は、(1)それらの潜在的なエンティティ110の表示を含む探索結果を、それらの潜在的なエンティティ110を人間エンティティ1101に提示するため、および人間エンティティ1101に潜在的なエンティティ110のうちの1つまたは複数を関連付けることを明示的に受け付ける(または受け付けない)機会を人間エンティティ1101に与えるために、ユーザ・デバイス1111に向けて伝搬する、または(2)人間エンティティ1101に対するそれらの潜在的なエンティティ110の自動的な関連付けを開始する(例えば、人間エンティティ1101のチャット・アプリケーション1121の連絡先リスト1131にそれらの潜在的なエンティティ110を追加することを介して)ことが可能である。人間エンティティ1101に対する潜在的なエンティティ110の手動の、または自動的な関連付けは、人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121と関連付けられたエンティティ110のチャット・アプリケーションとの間で通信チャネル140が確立されることをトリガすることが可能である。
チャット・ベースのシステム100は、チャット・ベースのコア130がコンテキスト情報を獲得し、人間エンティティ1101が関連付けられたエンティティ110を変更すべきかどうかを決定するコンテキスト・ベースの関連付け能力(例えば、人間エンティティ1101が現在、関連付けられていない1つまたは複数のエンティティ110に関連付けること、人間エンティティ1101が現在、関連付けられている1つまたは複数のエンティティ110から切り離すこと、またはこれらの組合せ)をサポートすることが可能である。コンテキスト情報は、人間エンティティ1101に関連付けられたコンテキスト情報、潜在的なエンティティ110もしくは既存のエンティティ110に関連付けられたコンテキスト情報など、ならびに以上の様々な組合せを含むことが可能である。人間エンティティ1101に関連付けられたコンテキスト情報は、人間エンティティ1101のコンテキスト、ユーザ・デバイス1111のコンテキスト、チャット・アプリケーション1121のコンテキスト、人間エンティティ1101に関連付けられることが可能な他の任意のコンテキストなど、ならびに以上の様々な組合せを表すことが可能である。人間エンティティ1101に関連付けられたコンテキスト情報は、人間エンティティ1101またはユーザ・デバイス1111のロケーション(例えば、地理的ロケーション、屋内ロケーションなど)、人間エンティティ1101のためのユーザ・デバイス1111のチャット・アプリケーション1121によってサポートされる1つまたは複数の通信チャネル140を介して通信される情報、人間エンティティ1101のニーズまたは所望の表示など、ならびに以上の様々な組合せであることが可能である。潜在的なエンティティ110もしくは既存のエンティティ110に関連付けられたコンテキスト情報は、潜在的なエンティティ110もしくは既存のエンティティ110のコンテキスト、潜在的なエンティティ110もしくは既存のエンティティ110に関連付けられたデバイスのコンテキストなど、および以上の様々な組合せを表すことが可能である。潜在的なエンティティ110(例えば、人間エンティティ1101に関連付けられるように考慮される)に関連付けられたコンテキスト情報は、潜在的なエンティティ110のロケーション(例えば、地理的ロケーション、屋内ロケーションなど)、潜在的なエンティティ110の能力(例えば、カメラのズーム能力、プリンタの印刷能力など)など、および以上の様々な組合せであることが可能である。既存のエンティティ110(例えば、人間エンティティ1101から切り離されるように考慮される)に関連付けられたコンテキスト情報は、既存のエンティティのロケーション(例えば、地理的ロケーション、屋内ロケーションなど)、その既存のエンティティに関連する問題など、および以上の様々な組合せであることが可能である。コンテキスト情報は、ユーザ・デバイス1111のチャット・アプリケーション1121によってサポートされ、かつチャット・ベースのコア130を通る1つまたは複数の通信チャネル140を介して交換される通信を監視することに基づいて、チャット・ベースのコア130に供給されること、チャット・ベースのコア130によって獲得されること、他の1つまたは複数のデバイスからチャット・ベースのコア130に供給されること、またはそれ以外でチャット・ベースのコア130によって獲得されることなど、および以上の様々な組合せが可能である。人間エンティティ1101に関連付けられたエンティティ110の管理は、コンテキスト情報に基づいて潜在的なエンティティ110のセットを識別すること、および(1)潜在的なエンティティ110(人間エンティティ1101に関連付けられる、または人間エンティティ1101から切り離される)の表示を、人間エンティティ1101にそれらの潜在的なエンティティ110を提示するため、かつ人間エンティティ1101に対する潜在的なエンティティ110のうちの1つまたは複数の関連付け、または人間エンティティ1101からの潜在的なエンティティ110のうちの1つまたは複数の切離しを明示的に受け付ける(または受け付けない)機会を人間エンティティ1101に与えるためにユーザ・デバイス1111に向けて伝搬すること、または(2)人間エンティティ1101に対する/人間エンティティ1101からの潜在的なエンティティ110の自動的関連付け/切離しを開始する(例えば、関連付けの場合、人間エンティティ1101のチャット・アプリケーション1121の連絡先リスト1131に潜在的なエンティティ110を追加することを介して、または切離しの場合、チャット・アプリケーション1121の連絡先リスト1131から潜在的なエンティティ110を除去することを介して)ことを含むことが可能である。例えば、人間エンティティ1101のユーザ・デバイス1111が特定の地理的区域に入ったことを検出すると、チャット・ベースのコア130が、ユーザ・デバイス1111のその地理的区域における、またはその地理的区域近くの潜在的なエンティティ110(例えば、ホテルにおけるコンシエルジュ・エンティティ、歯科医院における受付係エンティティ、オフィス・ロケーションにおけるプリンタ・エンティティなど)のリストを識別することが可能である。例えば、人間エンティティ1101と人間エンティティ1102の間のチャット・ベースの通信において特定のコンテンツを検出すると、チャット・ベースのコア130は、そのコンテンツに基づいて、人間エンティティ1101の関心対象であり得る潜在的なエンティティ110のリストを識別することが可能である(例えば、チャット・セッションにおいて「印刷」という語、またはそのような語の何らかの変種を検出すると、チャット・ベースのコア130は、人間エンティティ1101が文書を印刷する必要があると推測することが可能であり、このため、人間エンティティ1101に役立ち得るプリンタ・エンティティのリストを識別することが可能である)。人間エンティティ1101に対する潜在的なエンティティ110の手動の、または自動的関連付けは、人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121と関連付けられたエンティティ110との間で通信チャネル140が確立されることをトリガすることが可能である。前述したとおり、人間エンティティ1101に潜在的なエンティティ110を関連付けるため、および人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121と関連付けられたエンティティ110のチャット・アプリケーションとの間で通信チャネル140が確立されることをトリガするためにコンテキスト情報を使用することに関して主に説明されるものの、コンテキスト情報は、人間エンティティ1101から関連付けられたエンティティ110を切り離すため(例えば、連絡先リスト113から関連付けられたエンティティ110を除去することを介して)、および人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121と既存のエンティティ110のチャット・アプリケーションとの間の既存の通信チャネル140を終了させることをトリガするために使用されることも可能であることが理解されよう。したがって、チャット・ベースのシステム100は、他のエンティティ110に対する人間エンティティ1101の関連付けが、人間エンティティ1101に関連付けられたコンテキスト情報に基づいて動的に更新され得る(追加および除去を含め)動的連絡先リスト能力をサポートすることが可能であり、同様に、人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121と他のエンティティ110のチャット・アプリケーションの間の通信チャネル140も、動的に制御されることが可能である(確立および終了を含め)。動的連絡先リスト能力の様々な実施形態は、以下の例示的な実施形態および例を用いて、よりよく理解され得る。
少なくともいくつかの実施形態において、チャット・ベースのシステム100は、チャット・ベースのシステム100内で指定された1つまたは複数の刺激に応答して、人間エンティティ1101の連絡先リスト1131における連絡先リストID(エンティティ110を表す)を生成するように、かつ人間エンティティ1101と、生成された連絡先リストIDによって表されるエンティティ110との間の通信のために使用され得る関連付けられた通信チャネル140を作成するように構成されることが可能である。刺激は、デバイス状態もしくはプログラム状態、メッセージ(例えば、通知、イベントなど)の受信など、および以上の様々な組合せを含むことが可能である。すると、チャット・ベースのシステム100(またはチャット・ベースのシステム100に関連付けられた遠隔処理能力)は、生成された連絡先リストIDによって表されるエンティティ110を相手にした人間エンティティ1101による対話をサポートすること、または強化することさえ可能である(例えば、人間エンティティ1101とエンティティ110の間の通信を円滑にすること、人間エンティティ1101からエンティティ110に送信されるメッセージまたは情報に応対すること、エンティティ110から人間エンティティ1101に送信されるメッセージまたは情報に応対することなど、および以上の様々な組合せを行うことである)。
少なくともいくつかの実施形態において、例えば、動的連絡先リストIDが、人間エンティティ1101のロケーションに応じて人間エンティティ1101の連絡先リスト1131において生成されることが可能である。例えば、「受付係」と名付けられた連絡先リストID(例えば、「受付係」機能を提供するように構成されたデバイスまたはプログラム)が、人間エンティティ1101が建物の受付け区域に入ると、人間エンティティ1101の連絡先リスト1131上に出現することが可能であり、したがって、チャット・アプリケーション1121のチャット・ベースの通信インターフェースが、人間エンティティ1101によって、建物内の特定のロケーションへの案内を求める要求を「受付係」エンティティに送信するのに使用されることが可能であり、「受付係」エンティティのチャット・アプリケーションのチャット・ベースの通信インターフェースが、「受付係」エンティティによって、その要求された案内を人間エンティティ1101に送信するのに使用されることが可能である(ここで、その情報は、チャット・アプリケーション1121と「受付係」エンティティのチャット・アプリケーションとの間で確立された通信チャネル140を介して交換される)。例えば、「コンシエルジュ」と名付けられた連絡先リストID(例えば、「コンシエルジュ」機能を提供するように構成されたデバイスまたはプログラム)が、人間エンティティ1101がホテル・ロビー区域に入ると、人間エンティティ1101の連絡先リスト1131上に出現することが可能であり、したがって、チャット・アプリケーション1121のチャット・ベースの通信インターフェースが、人間エンティティ1101によって、近くのイタリア料理レストランにおける予約を求める要求を「コンシエルジュ」エンティティに送信するのに使用されることが可能であり、「コンシエルジュ」エンティティのチャット・アプリケーションのチャット・ベースの通信インターフェースが、「コンシエルジュ」エンティティによって、「コンシエルジュ」エンティティが人間エンティティ1101のために予約を行ったイタリア料理レストランへの案内を人間エンティティ1101に送信するのに使用されることが可能である(ここで、その情報は、チャット・アプリケーション1121と「コンシエルジュ」エンティティのチャット・アプリケーションとの間で確立された通信チャネル140を介して交換される)。例えば、「プリンタ」と名付けられた連絡先リストIDが、人間エンティティ1101が人間エンティティ1101の仕事ロケーションに入ると、人間エンティティ1101の連絡先リスト1131上に出現することが可能であり、したがって、チャット・アプリケーション1121のチャット・ベースの通信インターフェースが、人間エンティティ1101によって、文書、およびその文書が印刷されることを求める要求を「プリンタ」エンティティに送信するのに使用されることが可能であり、「プリンタ」エンティティのチャット・アプリケーションのチャット・ベースの通信インターフェースが、「プリンタ」エンティティによって、その文書が人間エンティティ1101のために印刷されたプリンタのロケーションへの案内を人間エンティティ1101に送信するのに使用されることが可能である(ここで、その情報は、チャット・アプリケーション1121と「プリンタ」エンティティのチャット・アプリケーションとの間で確立された通信チャネル140を介して交換される)。例えば、「カフェテリア」と名付けられた連絡先リストIDが、人間エンティティ1101が、指定されたロケーションに入ると、人間エンティティ1101の連絡先リスト1131上に出現することが可能であり、したがって、(1)チャット・アプリケーション1121のチャット・ベースの通信インターフェースが、人間エンティティ1101によって、メニューを求める要求を送信するのに使用されることが可能であり、(2)「カフェテリア」エンティティのチャット・アプリケーションのチャット・ベースの通信インターフェースが、「カフェテリア」エンティティによって、その要求されたメニューを人間エンティティ1101に提供するのに使用されることが可能であり、(3)チャット・アプリケーション1121のチャット・ベースの通信インターフェースが、人間エンティティ1101によって、そのメニューにリストアップされる食べ物の注文を送信するのに使用されることが可能であり、(4)「カフェテリア」エンティティのチャット・アプリケーションのチャット・ベースの通信インターフェースが、「カフェテリア」エンティティによって、人間エンティティ1101によって注文された食べ物の代金の支払いを要求するのに使用されることが可能であり、(5)チャット・アプリケーション1121のチャット・ベースの通信インターフェースが、人間エンティティ1101によって、人間エンティティ1101によって注文された食べ物の代金の支払いを行うのに使用されることが可能であり、(6)「カフェテリア」エンティティのチャット・アプリケーションのチャット・ベースの通信インターフェースが、「カフェテリア」エンティティによって、食べ物が手に取られることが可能なロケーションに人間エンティティ1101を案内するのに使用されることが可能である(ここで、その情報は、チャット・アプリケーション1121と「カフェテリア」エンティティのチャット・アプリケーションとの間で確立された通信チャネル140を介して交換される)。
少なくともいくつかの実施形態において、例えば、動的連絡先リストIDが、プロセスに対する人間エンティティ1101の関連付けに応じて人間エンティティ1101の連絡先リスト1131において生成されることが可能である。例えば、「音声会議」と名付けられた連絡先リストIDが、人間エンティティ1101が音声会議に参加すると、人間エンティティ1101の連絡先リスト1131上に出現することが可能であり、したがって、チャット・アプリケーション1121と「音声会議」エンティティ(例えば、音声会議に関連付けられたデバイスまたはプログラム)のチャット・アプリケーションとの間で確立された通信チャネル140が、人間エンティティ1101および「音声会議」エンティティによって、音声会議のコンテキスト内で様々な機能を実行するのに使用されることが可能である(例えば、さらなる関係者が音声会議に参加するよう招待を送信することを要求し、制御する、議論されているスライドのコピーを要求し、要求されるスライドがサーバから取り出され、人間エンティティ1101に提示されるようにチャット・アプリケーション1121に配信されるようにするなど)。例えば、マルチパーティ遠隔協働セッションをサポートする機能に関連付けられた連絡先リストID(例えば、「協働サポート」と呼ばれるより高いレベルのエンティティの下に編成されることが可能な例えば、「出席」、「議事録」、「スライド」、「ビデオ」など)のセットが、人間エンティティ1101がマルチパーティ遠隔協働セッションに参加すると、人間エンティティ1101の連絡先リスト1131上に出現することが可能であり、したがって、チャット・アプリケーション1121と「協働サポート」エンティティ(例えば、マルチパーティ遠隔協働セッションに関連付けられたデバイスまたはプログラム)のチャット・アプリケーションとの間で確立された通信チャネル140が、人間エンティティ1101および「協働サポート」エンティティによって、マルチパーティ遠隔協働セッションのコンテキスト内で様々な機能を実行するのに使用されることが可能である(例えば、議論されているスライドのコピーを要求し、要求されるスライドがサーバから取り出され、人間エンティティ1101に提示されるようにチャット・アプリケーション1121に配信されるようにする、マルチパーティ遠隔協働セッションの関係者がいる物理的ロケーションのビデオ・フィードを要求して、そのビデオ・フィードが、人間エンティティ1101に提示されるようにチャット・アプリケーション1121に配信されるようにするなど)。
少なくともいくつかの実施形態において、チャット・ベースのシステム100は、チャット・ベースのシステム100内で指定された1つまたは複数の刺激に応答して、人間エンティティ1101の連絡先リスト1131から既存の連絡先リストID(人間エンティティ1101が関連付けられているエンティティ110を表す)を除去するように、かつ人間エンティティ1101と既存の連絡先リストIDによって表されるエンティティ110との間の通信のためにそれまでに確立されている既存の通信チャネル140を終了させるように構成されることが可能である。刺激は、デバイス状態もしくはプログラム状態、メッセージ(例えば、通知、イベントなど)の受信など、および以上の様々な組合せを含むことが可能である。この実施形態は、連絡先リストIDの動的生成に関連して前述した例をさらに考慮することによって、よりよく理解されることが可能である。例えば、「受付係」エンティティが、人間エンティティ1101が建物を離れたという判定に基づいて、連絡先リスト1131から除去されることが可能であり、「コンシエルジュ」エンティティが、人間エンティティ1101がホテルのロビー区域を離れたという判定に基づいて、連絡先リスト1131から除去されることが可能であり、「プリンタ」エンティティが、人間エンティティ1101が建物を離れたという判定に基づいて、連絡先リスト1131から除去されることが可能であり、「カフェテリア」エンティティが、人間エンティティ1101が建物を離れたという判定に基づいて、連絡先リスト1131から除去されることが可能であり、「音声会議」エンティティが、人間エンティティ1101が音声会議を離れたという判定に基づいて、連絡先リスト1131から除去されることが可能であり、「協働サポート」エンティティが、人間エンティティ1101がマルチパーティ遠隔協働セッションを離れたという判定に基づいて、連絡先リスト1131から除去されることが可能である。
少なくともいくつかの実施形態において、チャット・ベースのシステム100は、エンティティ110の連絡先間の(例えば、人間エンティティ1101のチャット・アプリケーション1121の連絡先リスト1131に含められた連絡先間の)関連付けをサポートするように構成されることが可能である。人間エンティティ1101の連絡先間の関連付けは、人間エンティティ1101からの入力に応答して手動で行われること、チャット・ベースのコア130もしくはエンティティ代表120によって自動的に(例えば、連絡先の間の関係もしくはインターフェースの知識もしくは推測、または連絡先の間の関係もしくはインターフェースの欠如の知識または推測に基づいて)行われることなど、および以上の様々な組合せで行われることのうちの1つまたは複数により、確立される、または除去されることが可能である。例えば、「自宅」連絡先が、より特殊化された連絡先(例えば、「コンピュータ」連絡先、「エンターテイメント・システム」連絡先、「スマート・デバイス」連絡先など)の集まりに関連付けられ、そのような集まりに対するインターフェースの役割をするように構成されることが可能である。例えば、「仕事」連絡先が、より特殊化された連絡先(例えば、「プリンタ」連絡先、「複写機」連絡先、「ファックス装置」連絡先、「カフェテリア」連絡先、「人的資源」連絡先、1つまたは複数の同僚連絡先など)の集まりに関連付けられ、そのような集まりに対するインターフェースの役割をするように構成されることが可能である。例えば、「自動車」連絡先が、より特殊化された連絡先(例えば、「エンジン」連絡先、「エアコン」連絡先、「ラジオ」連絡先など)の集まりに関連付けられ、そのような集まりに対するインターフェースの役割をするように構成されることが可能である。人間エンティティ1101の連絡先間の関連付けは、人間エンティティ1101と他の様々なエンティティ110の間の対話をサポートするように様々な方法で使用されることが可能である。
チャット・ベースのシステム100は、人間エンティティ110が、人間エンティティ1101に関連付けられた他のエンティティ110にアクセスするためにチャット・アプリケーション1121にログインすることしか要求されない、チャット・アプリケーション1121を介する人間エンティティ1101のためのシングルログイン認証能力をサポートすることが可能である。例えば、人間エンティティ1101がチャット・アプリケーション1121を呼び出すと、人間エンティティ1101は、認証情報(例えば、ログインおよびパスワード)を入力するよう促されることが可能であり、認証情報は、次に、人間エンティティ1101を認証するのに(すなわち、人間エンティティ1101がチャット・アプリケーション1121にアクセスするのを許されるかどうかを判定するために)使用されるようにチャット・ベースのコア130に送られることが可能である。この場合、他のエンティティ110にアクセスする人間エンティティ1101の認証は、あらかじめ確立されていることが可能であり、またはチャット・アプリケーション1121にアクセスする人間エンティティ1101の認証に応答して、人間エンティティ1101のためにチャット・ベースのコア130によって実行されることが可能である(例えば、チャット・ベースのコア130が、人間エンティティ1101に関連付けられた連絡先リスト1131に含められたエンティティ110のうちの1つまたは複数に対して認証を開始する)。いずれにしても、人間エンティティ1101は、人間エンティティ1101が他のエンティティ110のそれぞれに関してさらなる認証情報を入力することを要求されることなしに、自動的に他のエンティティ110にアクセスするように認証される。すなわち、チャット・アプリケーション1121の認証手順は、様々なデバイス(例えば、デバイス・エンティティ1103)およびプログラム(例えば、プログラム・エンティティ1104)との対話を可能にする。このようにして、他の複数のエンティティ110(例えば、デバイス、プログラムなど)に関する人間エンティティ1101による認証が、人間エンティティ1101にシームレスになる。
ユーザ・デバイス1111のチャット・アプリケーション1121は、人間−人間対話(例えば、通信チャネル1401を介した人間エンティティ1101と人間エンティティ1102の間の)、ならびに人間−デバイス対話(例えば、通信チャネル1402を介した人間エンティティ1101とデバイス・エンティティ1103の間の)、および人間−プログラム対話(例えば、通信チャネル1403を介した人間エンティティ1101とプログラム・エンティティ1104の間の)を含む他の通信対話タイプをサポートする様々な機能を提供するように構成される。人間−人間対話を可能にする際にチャット・アプリケーションによって通常、サポートされるこれらの機能は、理解されており、このため、本明細書で繰り返されることはない。人間−人間対話を可能にする際にチャット・アプリケーションによって通常、サポートされる少なくともいくつかのそのような機能は、本明細書で説明される他の通信対話タイプをサポートする際に使用されること、または使用されるように適応させられることが可能であることが理解されよう。
ユーザ・デバイス1111のチャット・アプリケーション1121は、人間エンティティ1101が、人間エンティティ1101が関連付けを有し、かつ、このため、チャット・アプリケーション1121が対応する通信チャネル140をそれぞれ有する非人間エンティティ110を識別することが可能な1つまたは複数の機構を提供するように構成されることが可能である。例えば、チャット・アプリケーション1121は、人間エンティティ1101が、チャット・アプリケーション1121から利用可能な1つまたは複数のメニュー、または他のコントロールを介して、関連付けられた非人間エンティティ110を識別することが可能であるように構成されることが可能である。例えば、チャット・アプリケーション1121は、関連付けられた非人間エンティティ110が、チャット・アプリケーション1121の連絡先リスト1131内に代表され、このため、連絡先リスト1131から識別され得るように(例えば、人間エンティティ1101の人間連絡先(または「仲間」)が連絡先リスト113内で代表されることが可能な様態と同様に、非人間エンティティ110のエンティティ識別子を使用して)構成されることが可能である。連絡先リスト1131は、人間エンティティ110と、人間エンティティ1101が関連付けられた非人間エンティティ110の両方を含む共通連絡先リスト(例えば、連絡先が人間エンティティ110であるか、非人間エンティティ110であるかにかかわらず、アルファベット順に、もしくはステータスに基づいて並べられた、連絡先が人間エンティティ110であるか、非人間エンティティ110であるかに基づいてサブグループに編成され、その後、アルファベット順に、もしくはステータスに基づいて並べられた、などの)、人間エンティティ1101が関連付けられた非人間エンティティ110だけを含む別個の連絡先リスト(例えば、人間エンティティ1101が関連付けられた人間エンティティ110は、別個の連絡先リストにおいて保持されることが可能である)などであることが可能である。非人間エンティティ110が動的に追加された、または動的に除去された場合、連絡先リスト1131は、非人間エンティティ110が追加されるにつれ、または除去されるにつれ、それらの非人間エンティティ110を表示するように、または表示しないように自動的に更新されることが可能である(すなわち、非人間エンティティ110は、非人間エンティティ110が追加されるにつれ、または除去されるにつれ、連絡先リスト1131上に自動的に出現する、または連絡先リスト1131から自動的に消えることが可能である)。チャット・アプリケーション1121は、人間エンティティ1101が、人間エンティティ1101が関連付けを有する非人間エンティティ110を識別することが可能である他の機構を提供するように構成されてもよい。
ユーザ・デバイス1111のチャット・アプリケーション1121は、人間エンティティ1101が、人間エンティティ1101が関連付けを有する非人間エンティティ110と対話することが可能な1つまたは複数のチャット・ベースの通信インターフェースを提供するように構成されることが可能である。人間エンティティ1101がチャット・アプリケーション1121のチャット・ベースの通信インターフェースを使用して、関連付けられた非人間エンティティ110との通信を開始する様態は、人間エンティティ1101が、チャット・アプリケーション1121を介して(例えば、表示される連絡先リスト113からの1つまたは複数のメニュー選択、または他のコントロール選択を介して)、関連付けられた非人間エンティティ110を識別する様態に依存することが可能である。例えば、人間エンティティ1101は、関連付けられた非人間エンティティ110をドロップダウン・メニューから選択すること、関連付けられた非人間エンティティ110を連絡先リスト1131から選択し、関連付けられた非人間エンティティ110は、その連絡先リスト113において表示されることなどが可能である。例えば、関連付けられた非人間エンティティ110の選択が、人間エンティティ110が、関連付けられた非人間エンティティ110との通信を開始することが可能な(例えば、テキストをタイプ入力して、コンテンツを添付してなど)ウインドウまたはダイアログ・ボックスが開かれることをトリガすることが可能である、人間エンティティ110が、関連付けられた非人間エンティティ110との通信を開始することが可能なメニューが開かれることをトリガすることが可能であるなど、および以上の様々な組合せをトリガすることが可能である。人間エンティティ1101が、チャット・アプリケーション1121のチャット・ベースの通信インターフェースを介して、関連付けられた非人間エンティティ110からの通信に気づかせられる様態は、チャット・アプリケーション1121の構成に依存することが可能である。例えば、関連付けられた非人間エンティティ110からの通信が受信されたことの通知が、チャット・アプリケーション1121の1つまたは複数のインターフェースを介してチャット・アプリケーション1121によって、チャット・アプリケーション1121のコンテキストの範囲外で1つまたは複数のウインドウが開かれることをトリガすることによって、ユーザ・デバイス1111上の1つまたは複数のプログラムが呼び出されることを介してなど、および以上の様々な組合せにより、人間エンティティ1101に提示されることが可能である。例えば、関連付けられた非人間エンティティ110から通信が受信されたことの通知が、ユーザ・デバイス1111のプレゼンテーション・インターフェースを介してチャット・アプリケーション1121によって人間エンティティ1101に提示されることが可能である(例えば、その後、人間エンティティ1101がその通信にアクセスすることが可能であるように)、人間エンティティ1101に対する、関連付けられた非人間エンティティ110からの通信が、チャット・アプリケーション1121によって人間エンティティ1101に提示されることが可能である(例えば、通常のチャット・アプリケーションにおける人間エンティティからのチャット・メッセージの提示と同様に)、人間エンティティ1101に対する、関連付けられた非人間エンティティ110からもたらされた情報が、ユーザ・デバイス1111上の関連付けられた1つまたは複数のプログラムまたはアプリケーションが呼び出されることを介して人間エンティティ1101に提示されることが可能である(例えば、関連付けられた非人間エンティティ110からの通信においてもたらされたテキスト文書が提示されるようにワード・プロセッシング・アプリケーションを起動して、関連付けられた非人間エンティティ110からの通信においてもたらされたオーディオ・コンテンツが再生されるようにオーディオ・プレーヤを起動して、関連付けられた非人間エンティティ110からの通信においてもたらされたビデオ・コンテンツが再生されるようにビデオ・プレーヤを起動して、など)など、および以上の様々な組合せが可能である。
チャット・アプリケーション1123および1124は、チャット・アプリケーション1121と同様の様態で動作するように構成されることが可能であり、ただし、前述したとおり、(チャット・アプリケーション1121および1122のように)表示されるのではなく、チャット・アプリケーション1123および1124は、それぞれ、デバイス・エンティティ1103上、およびデバイス1114上で実行されることが可能であることが予期される。チャット・アプリケーション1123および1124のチャット・ベースの通信インターフェースは、チャット・アプリケーション1123および1124と、前述したとおり、チャット・アプリケーション1123および1124がそれぞれ実行されているデバイス・エンティティ1103およびデバイス1114のソフトウェア構成要素もしくはソフトウェア要素および/またはハードウェア構成要素もしくはハードウェア要素との間の対話を可能にする任意の適切なソフトウェアおよび/またはハードウェア・ベースのインターフェースを含むことが可能である。
エンティティ110に関連付けられたエンティティ代表120は、様々な機能を提供するように構成され、それらの機能のうちの少なくともいくつかは、前段で説明されてきた。例えば、非人間エンティティ110に関連付けられたエンティティ代表120が、非人間エンティティ110がチャット・ベースのコア130に登録すること(および、したがって、人間エンティティ1101によって識別されること、および人間エンティティ1101に関連付けられること)を可能にするための登録機能、非人間エンティティ110と他の1つまたは複数のエンティティ110の間のチャット・ベースの通信のための1つまたは複数の通信チャネル140(例示的に、人間エンティティ1101とのチャット・ベースの通信のための通信チャネル1402、および他の任意の適切な通信チャネル140)を確立し、維持するための通信チャネル制御機能、1つまたは複数の通信チャネル140を介する非人間エンティティ110と他の1つまたは複数のエンティティ110の間の通信を制御するための通信制御機能、非人間エンティティ110によってサポートされるフォーマットと、1つまたは複数の通信チャネル140を介して非人間エンティティ110が通信することが可能な他の1つまたは複数のエンティティによってサポートされるフォーマットとの間でメッセージおよび情報を変換するための変換機能、1つまたは複数の通信チャネル140を介する非人間エンティティ110と他の1つまたは複数のエンティティ110の間の通信に基づいて非人間エンティティ110によって提供され得る強化された処理をサポートするための強化された処理機能など、および以上の様々な組合せのうちの1つまたは複数を提供する、またはサポートすることが可能である。変換機能は、人間理解可能なテキストと、非人間エンティティ110によってサポートされるフォーマットとの間でチャット・ベースの通信が変換されることを可能にするための自然言語認識能力を含むことが可能である。同様に、例えば、人間エンティティ110に関連付けられたエンティティ代表120(例示的に、人間エンティティ1101に関連付けられたエンティティ代表1201)が、人間エンティティ110と1つまたは複数の非人間エンティティ110の間の通信をサポートするための同様の機能を提供するように構成されることが可能である。エンティティ代表120は、通信チャネル140を介するエンティティ110間の通信に基づいて提供され得る様々なタイプの活動およびサービスをサポートするように構成されることが可能である。また、エンティティ代表120は、様々なモジュールを含むように、またはエンドポイント・デバイス上で動作するチャット・アプリケーション112によって実行されるものとして本明細書で主に描かれ、説明される様々な機能を提供するように構成されることも可能である(例えば、チャット・アプリケーション112の異なるように分散された、またはより分散された展開をもたらして)。
チャット・ベースのコア130は、様々な機能を提供するように構成され、それらの機能のうちの少なくともいくつかは、前段で説明されてきた。例えば、チャット・ベースのコア130が、エンティティ110がチャット・ベースのコア130に登録すること(および、したがって、他のエンティティ110によって識別されること、および他のエンティティ110に関連付けられること)を可能にするための登録機能、エンティティ110のチャット・アプリケーション112間で通信チャネル140を確立し、維持するための通信チャネル制御機能、関連付けられた通信チャネル140を介するエンティティ110間の通信を制御するための通信制御機能、異なるエンティティ110によってサポートされる異なるフォーマット間でメッセージおよび情報を変換するための変換機能、通信チャネル140を介するエンティティ110間の通信に基づいて提供され得る強化された処理をサポートするための強化された処理機能などの1つまたは複数、および以上の様々な組合せを提供する、またはサポートすることが可能である。変換機能は、人間理解可能なテキストと、非人間エンティティ110によってサポートされるフォーマットとの間でチャット通信が変換されることを可能にするための自然言語認識能力を含むことが可能である。チャット・ベースのコア130は、通信チャネル140を介するエンティティ110間の通信に基づいて提供され得る様々なタイプの活動およびサービスをサポートするように構成されることが可能である。また、チャット・ベースのコア130は、様々なモジュールを含むように、またはエンドポイント・デバイス上で動作するチャット・アプリケーション112によって実行されるものとして本明細書で主に描かれ、説明される様々な機能を提供するように構成されることも可能である(例えば、チャット・アプリケーション112の異なるように分散された、またはより分散された展開をもたらして)。
人間エンティティ1101のチャット・アプリケーション1121と他のエンティティ110のチャット・アプリケーション112の間に確立された通信チャネル140が、それぞれ、人間エンティティ1101とそれらの他のエンティティ110の間のチャット・ベースの通信をサポートする。通信チャネル140は、チャット・ベースの機能を使用して確立され、維持されることが可能である。通信チャネル140は、通信チャネル140が間に確立されるチャット・アプリケーション112によってサポートされるチャット・ベースの通信インターフェースを介してアクセスされることが可能である。通信チャネル140は、前述したとおり、様々な通信対話タイプをサポートする。通信チャネル140は、人間エンティティ1101と他のエンティティ110の間のチャット・ベースの通信、またはチャット様の通信をサポートする。通信チャネル140は、エンティティ110の間で交換され得る様々なタイプのメッセージおよび情報(例えば、通信チャネル140を介して伝搬され得る要求と応答、コマンドと応答、イベント通知、コンテンツ配信など、および他の任意のタイプのメッセージまたは情報)のための通信パスを提供する。通信チャネル140は、通信チャネル140を介する人間エンティティ1101と他のエンティティ110の間の通信に基づいて提供され得る様々なタイプの活動およびサービスをサポートすることが可能である。通信チャネル140は、任意の適切な基礎をなす通信ネットワーク(例えば、有線ネットワーク、無線ネットワークなど)を使用してサポートされることが可能であり、そのような通信ネットワークは、通信チャネル140が確立されるコンテキストに依存することが可能であることが理解されよう。前述したとおり、通信チャネル140は、人間エンティティ1101のユーザ・デバイス1111のチャット・アプリケーション1121と他のエンティティ110のチャット・アプリケーション112の間で確立されるものとして主に描かれ、説明されるものの、通信チャネル140は、人間エンティティ1101のユーザ・デバイス1111と他のエンティティ110のチャット・アプリケーション112をホストするデバイスとの間、人間エンティティ1101のユーザ・デバイス1111と他のエンティティ110のチャット・アプリケーション112に関連付けられたプログラムとの間などで確立されるものと考えられることも可能である。
チャット・ベースのシステム100は、通信チャネル140を介して交換される通信のための強化された処理をサポートするように構成されることが可能である。前述したとおり、通信チャネル140を介して交換される通信のための強化された処理は、通信に参加するエンティティ110のうちの1つまたは複数、通信に参加するエンティティ110のうちの1つまたは複数のエンティティ110の1つまたは複数のエンティティ代表120、チャット・ベースのコア130、または以上の組合せによって提供されることが可能である。例えば、所与の通信チャネル140を介して交換される通信のための強化された処理は、コンテキストに基づくアクションの時間ベースの加速または減速(例えば、その人物がプリンタのところに、またはプリンタの近くにいることが検出されるまで、プリンタによる文書の印刷を遅延させること、その人物がスケジュールよりも早くレストランに到着したという判定に基づいて、レストランにおける食べ物注文の処理を加速することなど)、その所与の通信チャネル140を介して交換される情報に基づいて、1つまたは複数のエンティティ関連付けを開始すること、または終了させること(例えば、連絡先リストに新たなエンティティを追加すること、または連絡先リストからエンティティを除去すること)(例えば、ユーザが自宅から離れていることを示すチャット・メッセージに基づいて、ユーザの自宅をセキュリティ保護するために自宅セキュリティ制御エンティティの追加を自動的に開始すること、ユーザが自宅から仕事をしていることを示すチャット・メッセージに基づいて、ユーザの職場プリンタのプリンタ・エンティティの除去を自動的に開始すること)、その所与の通信チャネル140を介して交換される情報に基づいて、1つまたは複数の既存の、または新たな通信チャネルを介して1つまたは複数の既存の、または新たなエンティティに対して1つまたは複数のメッセージを開始すること(例えば、コンシエルジュ・エンティティがレストラン・エンティティを相手に予約を行ったことの検出に基づいて、タクシーをスケジュールするためにタクシー・スケジューリング・エンティティに対するメッセージを自動的に開始すること、銀行取引エンティティがクレジット・スコープ情報を要求するという検出に基づいて、クレジット・スコア・エンティティに対するメッセージを自動的に開始することなど)、その所与の通信チャネル140を介して交換される通信から決定されたコンテキスト情報に基づいて、チャット・アプリケーションのコンテキストの範囲外の1つまたは複数のアクションを自動的に実行すること(例えば、電話呼を開始すること、または終了させること、プログラムを起動すること、または終了させることなど)など、および以上の様々な組合せを含むことが可能である。
チャット・ベースのシステム100は、チャット・ベースのシステム100に関するより高レベルのシステム強化をサポートするように構成されることが可能である。例えば、チャット・ベースのシステム100は、様々なチャット・セッションのための様々なコンテキストを生成するように、かつそのコンテキスト情報を使用して、チャット・ベースのシステム100の実行を制御するように構成されることが可能である(例えば、チャット・ベースのシステム100を介するチャット参加者の間の過去の対話についてのコンテキスト情報が、チャット・ベースのシステム100によって、チャット参加者間の対話の形態、チャット参加者に対するデータの提示など、および以上の組合せなどのチャット・ベースのシステム100の様々な態様を微調整するのに使用され得る)。
チャット・ベースのシステム100は、データ解析機能をサポートするように構成されることが可能である。少なくともいくつかの実施形態において、1つまたは複数のエンティティ110からのデータが、チャットが行われるコンテキストのモデルまたは表現を開発するように解析されることが可能である。そのデータは、チャット・メッセージ、チャット・ベースのデータ以外のデータ、または以上の組合せを含むことが可能である。データ解析は、ローカルで(例えば、1つまたは複数のローカル・モジュールを使用して)、遠隔で(例えば、1つまたは複数の遠隔モジュールを使用して)、またはローカルと遠隔の組合せで実行されることが可能である。次に、そのコンテキストが、ローカルで(例えば、1つまたは複数のローカル・モジュールによって)、遠隔で(例えば、1つまたは複数の遠隔モジュールによって)、またはローカルと遠隔の組合せで利用されることが可能である。コンテキストは、様々な目的(例えば、チャット・メッセージを扱う、チャット・メッセージに応答して動作するなど、ならびに以上の様々な組合せ)で使用されることが可能である。データ解析機能は、チャット・ベースのコア130、エンティティ代表120、エンティティ110など、および以上の様々な組合せによって提供されることが可能である。このようにコンテキストを使用することは、多種多様な通信機能および通信挙動にデータ解析を組み込むことを可能にする。
前述したとおり、チャット・ベースのシステム100は、人間エンティティのために複数の通信対話タイプをサポートすることに関連して主に描かれ、説明されるものの、チャット・ベースのシステム100は、非人間エンティティ間の通信をサポートするように構成されることが可能であり、非人間エンティティは、デバイス、プログラム、プロセス、組織などを含むことが可能である。デバイス・エンティティ1103のチャット・アプリケーション1123とプログラム・エンティティ1104のチャット・アプリケーション1124の間で通信チャネル141が確立される例が、図1に示される。通信チャネル141の確立および使用は、通信チャネル140の確立および使用と同様であることが可能である。例えば、デバイス・エンティティ1103が企業の従業員のオフィス内に配置されたプリンタであり、プログラム・エンティティ1104がその企業の人的資源プログラムである場合、人的資源プログラムが、その従業員によって署名される必要がある諸手当協定を、通信チャネル141を介してプリンタに伝搬して、その諸手当協定が自動的に印刷されて、その従業員によって署名されるように直ちに利用できるようにすることが可能である。例えば、デバイス・エンティティ1103がセキュリティ・カメラであり、プログラム・エンティティ1104がセキュリティ監視プログラムである場合、セキュリティ監視プログラムは、通信チャネル141を介して再構成メッセージをセキュリティ・カメラに伝播することが可能であり、その結果、セキュリティ・プログラムのニーズに基づいて、セキュリティ・カメラは自動的に再構成される。例えば、デバイス・エンティティ1103がコンテンツ・サーバであり、プログラム・エンティティ1104がデバイス(例えば、コンピュータ、デジタル・ビデオ・レコーダなど)上で実行されているユーザのパーソナル・コンテンツ・スケジューリング・プログラムである場合、パーソナル・コンテンツ・スケジューリング・プログラムが、ユーザの関心対象であるとパーソナル・コンテンツ・スケジューリング・プログラムによって予測されるコンテンツ・アイテムの取出しを要求するために通信チャネル141を介してコンテンツ・サーバにコンテンツ要求メッセージを伝搬することが可能であり、コンテンツ・サーバが、要求されたコンテンツ・アイテムを、パーソナル・コンテンツ・スケジューリング・プログラムが実行されているデバイス上に記憶されるようにパーソナル・コンテンツ・スケジューリング・プログラムに供給することが可能である。特定のタイプの非人間エンティティの間の特定の通信対話タイプ(すなわち、デバイス−プログラム通信)に関して主に描かれ、説明されるものの、チャット・ベースのシステム100は、非人間エンティティの他の様々な組合せの間の他の様々な通信対話タイプ(例えば、デバイス間のデバイス−デバイス通信、プログラム間のプログラム−プログラム通信、デバイスとプロセスの間のデバイス−プロセス通信、プログラムとプロセスの間のプログラム−プロセス通信、プロセス−プロセス通信など)をサポートするように構成されることが可能であることが理解されよう。例えば、電力監視エンティティが、チャット・ベースの通信チャネルを使用して、電力計に電流読取り値を求めることも可能である。例えば、コンシエルジュ・エンティティが、チャット・ベースの通信チャネルを使用して、レストラン・エンティティに予約を求めることも可能である。前述の例は、複数の非人間エンティティの間のチャット・ベースの通信が使用され得る方法のうちのいくつかに過ぎないことが理解されよう。
簡明のため図1から省略されるものの、各チャット・アプリケーション112は、機能の任意の適切な集中または分散を使用して実施されることが可能であることが理解されよう。例えば、図1に示されるチャット・アプリケーション112は、単にチャット・アプリケーション・クライアントであってもよく、関連付けられたチャット・アプリケーションの他のモジュールまたは機能が、他のロケーションにおいて実施されてもよい(例えば、エンティティ代表120上で、チャット・ベースのコア130上で)。チャット・ベースのシステム100内のチャット・アプリケーション112の機能の他の様々な構成が企図される。
簡明のため図1から省略されるものの、各エンティティ代表120は、機能の任意の適切な集中または分散を使用して(例えば、エンティティ代表120の機能を、エンティティ代表120に関連付けられた1つまたは複数のデバイス上で提供して、エンティティ代表120の機能を、1つまたは複数のネットワーク・デバイス上で提供して、エンティティ代表120の機能を、エンティティ代表120に関連付けられた1つまたは複数のデバイス、および1つまたは複数のネットワーク・デバイスにわたって分散させてなど、および以上の様々な組合せで)実施されることが可能であることが理解されよう。
簡明のため図1から省略されるものの、チャット・ベースのコア130は、任意の適切な様態で(例えば、1つまたは複数の専用サーバ上で、1つまたは複数のネットワークまたはデータセンタの内部でホストされる仮想リソースの1つまたは複数のセットを使用してなど、および以上の様々な組合せで)実施されることが可能であることが理解されよう。
チャット・アプリケーション1121が人間−人間通信および他の通信対話タイプをサポートするように構成された実施形態に関連して主に描かれ、説明されるものの、少なくともいくつかの実施形態において、チャット・アプリケーション1121は、人間エンティティ1101と非人間エンティティ110の間の対話のためにだけ構成されることが可能であることが理解されよう。すなわち、チャット・アプリケーション1121は、人間エンティティ1101と非人間エンティティ110の間の通信が関与する様々な通信対話タイプをサポートするために専用であって、その結果、デバイス・アクセスおよび使用能力、プログラム・アクセスおよび使用能力など、および以上の様々な組合せのうちの1つまたは複数をもたらすことが可能である。
図2は、複数の通信対話タイプに関してチャット・ベースの通信をサポートするための方法の例示的な実施形態を示す。エンティティ(またはエンティティによる通信をサポートするデバイス)の見地から主に描かれ、説明されるものの、方法200のステップの少なくとも一部分の実行は、他の要素(例えば、他のエンティティ、それらのエンティティのエンティティ代表、チャット・ベースのコアなど、および以上の様々な組合せ)によって実行され得る様々なアクションを含むことも可能であることが理解されよう。順次に実行されるものとして主に描かれ、説明されるものの、方法200のステップの少なくとも一部分は、同時に、または図2に提示されるのとは異なる順序で実行されてもよいことが理解されよう。ステップ201において、方法200が始まる。ステップ210において、エンティティのチャット・アプリケーションの起動が検出される。エンティティは、人間エンティティであっても、非人間エンティティであってもよい。ステップ220において、そのエンティティに関連付けられたエンティティを識別する連絡先リストが獲得される。それらのエンティティは、1つまたは複数の人間エンティティ、1つまたは複数の非人間エンティティ、または以上の組合せを含むことが可能である。ステップ230において、エンティティのチャット・アプリケーションと、連絡先リストにおいて識別されるエンティティのチャット・アプリケーションとの間で通信チャネルが確立される。ステップ240において、エンティティが、エンティティのチャット・アプリケーションと、連絡先リストにおいて識別されるエンティティのチャット・アプリケーションとの間で確立された通信チャネルを介して、連絡先リストにおいて識別されるエンティティを相手にしたチャット・ベースの通信に参加する。ステップ299において、方法200が終了する。図1のコンテキスト内で描かれ、説明される様々な機能が、図2の方法200のコンテキスト内で提供されることが可能であることが理解されよう。
図3は、チャット・ベースの通信をサポートするための方法の例示的な実施形態を示す。エンティティ(またはエンティティによる通信をサポートするデバイス)の見地から主に描かれ、説明されるものの、方法300のステップの少なくとも一部分の実行は、他の要素(例えば、他のエンティティ、それらのエンティティのエンティティ代表、チャット・ベースのコアなど、および以上の様々な組合せ)によって実行され得る様々なアクションを含むことも可能であることが理解されよう。順次に実行されるものとして主に描かれ、説明されるものの、方法300のステップの少なくとも一部分は、同時に、または図3に提示されるのとは異なる順序で実行されてもよいことが理解されよう。ステップ301において、方法300が始まる。ステップ310において、第1のエンティティのためのチャット・ベースの通信インターフェースを提供するように構成された第1のチャット・アプリケーションが実行される。第1のエンティティのためのチャット・ベースの通信インターフェースを提供するように構成された第1のチャット・アプリケーションが、呼び出されるという言い方がされてもよく、実行する、または活性であるという言い方がされてもよい。ステップ320において、第1のチャット・アプリケーションと第2のエンティティの第2のチャット・アプリケーションとの間で通信チャネルが確立される。第2のエンティティは、非人間エンティティである。ステップ330において、第1のエンティティと第2のエンティティの間のチャット・ベースの通信が、その通信チャネルを介してサポートされる。ステップ399において、方法300が終了する。通信チャネルは、第2のエンティティが第1のチャット・アプリケーションに関連付けられているという判定に基づいて確立されることが可能である。第2のエンティティが第1のチャット・アプリケーションに関連付けられているという判定は、第2のエンティティが第1のチャット・アプリケーションの連絡先リスト内に含められているという判定に基づくことが可能である。第2のエンティティが第1のチャット・アプリケーションに関連付けられているという判定は、第1のチャット・アプリケーションが呼び出されることに応答して実行されることが可能である。第2のエンティティが第1のチャット・アプリケーションに関連付けられているという判定は、第1のチャット・アプリケーションが実行されている間に第2のエンティティが第1のチャット・アプリケーションに関連付けられたことの動的な検出であってもよい。第1のチャット・アプリケーションが実行されている間に第2のエンティティが第1のチャット・アプリケーションに動的に関連付けられることは、第1のエンティティに関連付けられたコンテキスト情報と第2のエンティティに関連付けられたコンテキスト情報のうちの少なくとも1つに基づいて実行されることが可能である。第1のエンティティに関連付けられたコンテキスト情報は、第1のエンティティのロケーション、第1のエンティティのチャット・ベースの通信からの情報、第1のエンティティの検出されたニーズなどのうちの少なくとも1つを含むことが可能である。第2のエンティティに関連付けられたコンテキスト情報は、第2のエンティティのロケーション、第2のエンティティの能力などのうちの少なくとも1つを含むことが可能である。通信チャネルを介した第1のエンティティと第2のエンティティの間のチャット・ベースの通信のサポートは、通信チャネルを介して第2のエンティティの第2のチャット・アプリケーションに向けて、第1のチャット・アプリケーションのチャット・ベースの通信インターフェースを介して第1のエンティティによって入力された情報を伝搬することを含むことが可能である。通信チャネルを介した第1のエンティティと第2のエンティティの間のチャット・ベースの通信のサポートは、第1のチャット・アプリケーションのチャット・ベースの通信インターフェースを介して第1のエンティティによって入力された情報を受信すること、情報を処理して、その情報を改変された情報に変換すること(例えば、情報を1つのフォーマットから別のフォーマットに変換すること、さらなる情報でその情報を補足することなど、および以上の様々な組合せ)、および改変された情報を、通信チャネルを介して第2のエンティティに向けて伝搬することを含むことが可能である。通信チャネルを介した第1のエンティティと第2のエンティティの間のチャット・ベースの通信のサポートは、通信チャネルを介して第2のエンティティから情報を受信すること、および第1のエンティティに対してその情報を伝搬すること、または提示することを開始することを含むことが可能である。第1のエンティティに対してその情報を提示することを開始することは、第1のチャット・アプリケーションのチャット・ベースの通信インターフェースを介してその情報の少なくとも一部分を提示することを開始すること、第1のチャット・アプリケーションのチャット・ベースの通信インターフェース以外のインターフェースを介してその情報の少なくとも一部分を提示することを開始することなどのうちの少なくとも1つを含むことが可能である。通信チャネルを介した第1のエンティティと第2のエンティティの間のチャット・ベースの通信のサポートは、通信チャネルを介して第2のエンティティから情報を受信すること、その情報を処理して、その情報を改変された情報に変換すること(例えば、その情報を1つのフォーマットから別のフォーマットに変換すること、さらなる情報でその情報を補足することなど、および以上の様々な組合せ)、および改変された情報を第1のエンティティに向けて伝搬することを含むことが可能である。通信チャネルは、第2のエンティティがもはや第1のチャット・アプリケーションに関連付けられていないという判定に基づいて終了されることが可能である。第1のエンティティは、人間エンティティであっても、非人間エンティティであってもよい。その非人間エンティティは、デバイス、プログラム、または別の非人間エンティティであることが可能である。その非人間エンティティは、プロセスまたは組織を含むことが可能であり、通信チャネルは、そのプロセスまたはその組織に関連付けられたデバイスまたはプログラムを相手に確立される。図1のコンテキスト内で描かれ、説明される様々な機能が、図3の方法300のコンテキスト内で提供されることが可能であることが理解されよう。
図4は、本明細書で提示される機能を実行する際に使用するのに適したコンピュータの高レベル・ブロック図を示す。
コンピュータ400は、プロセッサ402(例えば、中央処理装置(CPU)および/または他の適したプロセッサ)と、メモリ404(例えば、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)など)とを含む。
また、コンピュータ400は、協働モジュール/プロセス405を含むことも可能である。協働プロセス405は、メモリ404にロードされて、本明細書で説明される機能を実施するようにプロセッサ402によって実行されることが可能であり、このため、協働プロセス405(関連付けられたデータ構造を含む)は、コンピュータ可読記憶媒体上に、例えば、RAMメモリ、磁気ドライブもしくは磁気ディスケット、または光ドライブもしくは光ディスケットなどの上に記憶されることが可能である。
また、コンピュータ400は、1つまたは複数の入出力デバイス406(例えば、ユーザ入力デバイス(キーボード、キーパッド、マウスなどの)、ユーザ出力デバイス(ディスプレイ、スピーカなどの)、入力ポート、出力ポート、受信機、送信機、1つまたは複数のストレージ・デバイス(例えば、テープ・ドライブ、フロッピー・ドライブ、ハードディスク・ドライブ、コンパクト・ディスク・ドライブなど)など、および以上の様々な組合せ)を含むことも可能である。
図4に示されるコンピュータ400は、本明細書で説明される機能要素、および/または本明細書で説明される機能要素の部分を実施するのに適した一般的なアーキテクチャおよび機能を提供することが理解されよう。例えば、コンピュータ400は、ユーザ・デバイス1111、ユーザ・デバイス1112、1つまたは複数のエンティティ代表120、チャット・ベースのコア130、チャット・ベースのコア130の1つまたは複数の要素などのうちの1つまたは複数を実施するのに適した一般的なアーキテクチャおよび機能を提供する。
本明細書で描かれ、説明される機能は、ソフトウェアで(例えば、専用のコンピュータを実施するように汎用のコンピュータ上で実行されるように(例えば、1つまたは複数のプロセッサによる実行を介して)1つまたは複数のプロセッサ上でソフトウェアを実施することを介するなどして)実施されることが可能であり、かつ/またはハードウェアで(例えば、汎用のコンピュータ、1つまたは複数の特定用途向け集積回路(ASIC)、および/または他の任意のハードウェア均等物を使用して)実施されることが可能であることが理解されよう。
ソフトウェア方法として本明細書で説明されるステップのいくつかは、ハードウェア内で、例えば、様々な方法ステップを実行するようにプロセッサと協働する回路として実施されてもよいことが理解されよう。本明細書で説明される機能/要素の部分は、コンピュータ命令が、コンピュータによって処理されると、本明細書で説明される方法および/または技法が呼び出されるように、またはそれ以外でもたらされるようにコンピュータの動作を適応させるコンピュータ・プログラム製品として実施されてもよい。本発明の方法を呼び出すための命令は、固定媒体もしくは取外し可能な媒体に記憶されること、ブロードキャスト媒体もしくは他の信号担持媒体においてデータ・ストリームを介して伝送されること、および/または命令により動作するコンピューティング・デバイス内のメモリ内に記憶されることが可能である。
本明細書で使用される「または」という用語は、特に明記しない限り(例えば、「またはさもなければ」または「または代替として」の使用)、排他的でない「または」を指すことが理解されよう。
様々な実施形態の態様が、特許請求の範囲において明記される。様々な実施形態のそれら、およびその他の態様が、以下の番号を付けられた条項に明記される。
1.プロセッサと、そのプロセッサに通信可能に接続されたメモリとを備える装置であって、そのプロセッサは、
第1のエンティティのためのチャット・ベースの通信インターフェースを提供するように構成された第1のチャット・アプリケーションを実行すること、
第1のチャット・アプリケーションと第2のエンティティの第2のチャット・アプリケーションとの間で通信チャネルを確立することであって、第2のエンティティは、非人間エンティティであること、および
その通信チャネルを介して第1のエンティティと第2のエンティティの間でチャット・ベースの通信をサポートすることを行うように構成される装置。
2.プロセッサは、第2のエンティティが第1のチャット・アプリケーションに関連付けられているという判定に基づいて通信チャネルを確立するように構成される条項1の装置。
3.プロセッサは、第2のエンティティが第1のチャット・アプリケーションの連絡先リスト内に含められているという判定に基づいて、第2のエンティティが第1のチャット・アプリケーションに関連付けられていると判定するように構成される条項2の装置。
4.プロセッサは、第1のチャット・アプリケーションが呼び出されたことに応答して、第2のエンティティが第1のチャット・アプリケーションに関連付けられていると判定するように構成される条項3の装置。
5.プロセッサは、第1のチャット・アプリケーションが実行されている間に第2のエンティティが第1のチャット・アプリケーションに動的に関連付けられることを検出するように構成される条項3の装置。
6.第1のチャット・アプリケーションが実行されている間に第2のエンティティが第1のチャット・アプリケーションに動的に関連付けられることは、第1のエンティティに関連付けられたコンテキスト情報または第2のエンティティに関連付けられたコンテキスト情報の少なくともいずれかに基づいて実行される条項5の装置。
7.第1のエンティティに関連付けられたコンテキスト情報は、第1のエンティティのロケーション、第1のエンティティのチャット・ベースの通信からの情報、または第1のエンティティの検出されたニーズのうちの少なくとも1つを備える条項6の装置。
8.第2のエンティティに関連付けられたコンテキスト情報は、第2のエンティティのロケーションまたは第2のエンティティの能力のうちの少なくともいずれかを備える条項6の装置。
9.その通信チャネルを介して第1のエンティティと第2のエンティティの間のチャット・ベースの通信をサポートするのに、プロセッサは、
その通信チャネルを介して第2のエンティティの第2のチャット・アプリケーションに向けて、第1のチャット・アプリケーションのチャット・ベースの通信インターフェースを介して第1のエンティティによって入力された情報を伝搬するように構成される条項1の装置。
10.その通信チャネルを介して第1のエンティティと第2のエンティティの間のチャット・ベースの通信をサポートするのに、プロセッサは、
第1のチャット・アプリケーションのチャット・ベースの通信インターフェースを介して第1のエンティティによって入力された情報を受信し、その情報を処理して、その情報を改変された情報に変換すること、および
その改変された情報を、その通信チャネルを介して第2のエンティティに向けて伝搬することを行うように構成される条項1の装置。
11.その通信チャネルを介して第1のエンティティと第2のエンティティの間のチャット・ベースの通信をサポートするのに、プロセッサは、
その通信チャネルを介して第2のエンティティから情報を受信すること、および
第1のエンティティに対してその情報を伝搬すること、または提示することを開始することを行うように構成される条項1の装置。
12.第1のエンティティに対してその情報を提示することを開始するのに、プロセッサは、
第1のチャット・アプリケーションのチャット・ベースの通信インターフェースを介してその情報の少なくとも一部分を提示することを開始すること、または
第1のチャット・アプリケーションのチャット・ベースの通信インターフェース以外のインターフェースを介してその情報の少なくとも一部分を提示することを開始することのうちの少なくともいずれかを実行するように構成される条項11の装置。
13.その通信チャネルを介して第1のエンティティと第2のエンティティの間のチャット・ベースの通信をサポートするのに、プロセッサは、
その通信チャネルを介して第2のエンティティから情報を受信すること、
その情報を処理して、その情報を改変された情報に変換すること、および
その改変された情報を第1のエンティティに向けて伝搬することを行うように構成される条項1の装置。
14.プロセッサは、
第2のエンティティがもはや第1のチャット・アプリケーションに関連付けられていないという判定に基づいて、その通信チャネルを終了させるように構成される条項1の装置。
15.プロセッサは、第1のチャット・アプリケーションを実行するのに先立って、
第1のチャット・アプリケーションを使用する第1のエンティティの認証を求める認証要求を伝搬すること、
第1のチャット・アプリケーションを使用し、かつ第2のエンティティと通信する第1のエンティティの認証を示す認証応答を受信することを行うように構成される条項1の装置。
16.第1のエンティティは、人間エンティティまたは第2の非人間エンティティである条項1の装置。
17.その非人間エンティティは、デバイスまたはプログラムを備える条項1の装置。
18.その非人間エンティティは、プロセスまたは組織を備え、通信チャネルは、そのプロセスまたはその組織に関連付けられたデバイスまたはプログラムを相手に確立される条項1の装置。
19.第1のエンティティのためのチャット・ベースの通信インターフェースを提供するように構成された第1のチャット・アプリケーションを実行すること、
第1のチャット・アプリケーションと第2のエンティティの第2のチャット・アプリケーションとの間で通信チャネルを確立することであって、第2のエンティティは、非人間エンティティであること、および
その通信チャネルを介して第1のエンティティと第2のエンティティの間でチャット・ベースの通信をサポートすることを行うためにプロセッサおよびメモリを使用することを備える方法。
20.コンピュータによって実行されると、そのコンピュータに方法を実行させる命令を記憶するコンピュータ可読記憶媒体であって、その方法は、
第1のエンティティのためのチャット・ベースの通信インターフェースを提供するように構成された第1のチャット・アプリケーションを実行すること、
第1のチャット・アプリケーションと第2のエンティティの第2のチャット・アプリケーションとの間で通信チャネルを確立することであって、第2のエンティティは、非人間エンティティであること、および
その通信チャネルを介して第1のエンティティと第2のエンティティの間でチャット・ベースの通信をサポートすることを備えるコンピュータ可読記憶媒体。
本明細書で提示される教示を組み込む様々な実施形態が本明細書で詳細に示され、説明されてきたものの、当業者は、これらの教示をやはり組み込む他の多くの様々な変形実施形態を容易に考案することができることが理解されよう。