理解を促進するために、可能な場合には、図面に共通する同一の要素を示すのに同一の符号が使用されている。
チャットベースの通信能力をここに提案する。少なくともある実施形態では、チャットベースの通信能力は、チャットベースの通信パラダイムを利用して、通常はチャットベースの通信パラダイムによってはサポートされない1以上の通信インタラクションタイプをサポートする。
少なくともある実施形態では、チャットベースの通信能力は、人間エンティティと非人間エンティティ(例えば、デバイス、デバイス上で稼働するプログラム、プロセス、組織など)との間のチャットベースの通信をサポートすることができる。少なくともある実施形態では、チャットアプリケーションによって通常はサポートされる人同志の通信に加えて、又はそれに代えて、チャットアプリケーションは、人間とデバイス(例えば、コンテンツサーバ、プリンタ、カメラなど)との間の1以上の人間−デバイス通信、人間とプログラム(例えば、オンラインeコマースプログラム、レストランの注文及び支払処理プログラム、人事プログラムなど)との間の人間−プログラム通信、人間とプロセス(例えば、グループの会話、協働セッション、デジタル会議など)の間の人間−プロセス通信、人間と組織(例えば、ビジネス、非営利団体、教育団体など)との間の人間−組織通信など、その他その種々の組合せのうちの1つ以上のような、人間エンティティと非人間エンティティとの間の通信のための1以上の他の通信インタラクションタイプをサポートするように構成され得る。
少なくともある実施形態では、チャットベースの通信能力は、複数の非人間エンティティ間のチャットベースの通信をサポートすることができる(なお、非人間エンティティは、例えばデバイス、プログラム、プロセス、組織などを含み得る)。少なくともある実施形態では、チャットアプリケーションは、デバイス間のデバイス−デバイス通信(ここでは機械対機械(M2M)通信ともいう)、デバイスとプロセスの間のデバイス−プロセス通信、プログラム間のプログラム−プログラム通信、デバイスとプログラムの間のデバイス−プログラム通信、プログラムとプロセスの間のプログラム−プロセス通信、プロセス−プロセス通信の1以上などのような、複数の非人間エンティティ間の通信についての1以上の通信インタラクションタイプをサポートするように構成され得る。
チャットベースの通信能力の種々の実施形態は、共通のチャットベースの通信パラダイムを用いて異なる通信インタラクションタイプを用いて通信する(例えば、人間と通信し、デバイスと対話し、コンピュータプログラムとインターフェースし、プロセスに参加し、組織と対話するなど)便利かつ一様な態様を人間及び非人間エンティティに提供する。チャットベースの通信能力の種々の実施形態は、異なる通信インタラクションタイプ間を容易かつシームレスに移動する便利な態様を人間及び非人間エンティティに提供する。チャットベースの通信能力の種々の実施形態は種々の通信インタラクションタイプをサポートする包括的なチャットベースの通信インターフェースを提供し、それによって人間及び非人間エンティティが広範な通信インタラクションタイプに、より容易に、直感的に、迅速にかつ簡単に参加することができるようになる。
チャットベースの通信能力のこれら及び種々の他の実施形態及び効果は、図1の例示的チャットベースシステムを参照してより深く理解され得る。
図1は、複数の通信インタラクションタイプについてのチャットベースの通信をサポートするように構成された例示的チャットベースシステムを示す。
チャットベースシステム100は、一組のエンティティ1101〜1104(まとめて、エンティティ110という)、それぞれのエンティティ1101〜1104に関連付けられた一組のエンティティ代表1201〜1204(まとめて、エンティティ代表120という)、及びチャットベースコア130を含む。エンティティ110は、人間エンティティ(実例として、人間エンティティ1101及び人間エンティティ1102)及び非人間エンティティ(実例として、デバイスエンティティ1103及びプログラムエンティティ1104)を含む。チャットベースシステム100は、エンティティ110間の複数の通信インタラクションタイプをサポートするように構成され、それは人間エンティティを伴うチャットベースの通信(ここでは主に人間エンティティ1101の視点から図示及び記載する)又は人間エンティティを伴わないチャットベースの通信を含み得る。人間エンティティを伴うチャットベースの通信は、人間エンティティ間のチャットベースの通信(例えば、人間エンティティ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のチャットベースの通信インターフェースを介して人間エンティティ1101によって提供された情報が他のエンティティ110に伝達され得るように、同様に、他のエンティティ110からの情報が人間エンティティ1101への提示のためにチャットアプリケーション1121に伝達され得るように、チャットアプリケーション1121と他のエンティティ110で稼働する(後述の)チャットアプリケーションとの間の通信チャネルの確立をサポートする。チャットアプリケーション1121は、コンタクトリスト1131に関連付けられ、それは、チャットアプリケーション1121を介して人間エンティティ1101に関連付けられた他のエンティティ110のリスト(実例として、以下にさらに記載するような、人間エンティティ1102、デバイスエンティティ1103及びプログラムエンティティ1104)を含み、したがって、それによってチャットアプリケーション1121は他のエンティティ110とのチャットベースの通信に対する通信チャネルをサポートすることができる。(チャットアプリケーション1121は、表示されない場合にも稼働を継続し得ることが理解されるが)関連のコンタクトリスト1131を含むチャットアプリケーション1121は、ユーザデバイス1111の1以上の提示インターフェースを介して人間エンティティ1101への表示に適合され得る。チャットアプリケーション1121がユーザデバイス1111上で排他的に稼働する(そして、同様に、関連のコンタクトリスト1131がユーザデバイス1111に記憶される)実施形態に関して主に図示及び記載するが、チャットアプリケーション1121の少なくともある構成要素又は機能は、それに加えて又は代替的に1以上の他の要素(例えば、エンティティ代表1201、チャットベースコア130、1以上の他の要素など、その他その種々の組合せ)において稼働し得る(そして、同様に、加えて又は代替的にコンタクトリスト1131の少なくとも一部分が記憶され得る)ことが分かる。
チャットベースシステム100は、人間エンティティ1101と人間エンティティ1102の間の標準的な人間対人間のインタラクションをサポートする。人間エンティティ1102は、チャットアプリケーション1122をサポートする関連のユーザデバイス1112を使用している。人間エンティティ1102のユーザデバイス1112は、コンピュータ、スマートフォン、又はチャットアプリケーション1122を実行するのに適した他の任意のデバイスであればよい。チャットアプリケーション1122は、単一のインタラクションタイプ(すなわち、人間対人間の通信)のみをサポートする標準的なチャットアプリケーションであってもよいし、強化されたチャットアプリケーション(例えば、人間エンティティ1101によって使用されているチャットアプリケーションなど)であってもよい。チャットアプリケーション1122は、それを介して人間エンティティ1102が人間エンティティ1101に伝達のための情報を提供することができ、かつそれを介して人間エンティティ1102が人間エンティティ1101からの情報を受信することができるチャットベースの通信インターフェースをサポートする。チャットアプリケーション1122は、チャットアプリケーション1122を介して人間エンティティ1102に関連付けられた他のエンティティ110(代表的には人間エンティティ1101)のリストを含むコンタクトリスト1132と関連付けられている。関連付けられたコンタクトリスト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を通過し、この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は、チャットアプリケーション1123を介してデバイスエンティティ1103と関連付けられた他のエンティティ110(代表的には、人間エンティティ1101)のリストを含むコンタクトリスト1133と関連付けられている。デバイスエンティティ1103はいずれの人間のインタラクションからも独立して通信チャネル1402を介してチャットベースの通信に参加することが想定されているので、チャットアプリケーション1123が表示インターフェース又は構成要素を含むことは想定されていない。
ユーザデバイス1111のチャットアプリケーション1121とデバイスエンティティ1103のチャットアプリケーション1123との間の通信チャネル1402は、人間エンティティ1101とデバイスエンティティ1103の間のチャットベースの通信の伝達をサポートする。ユーザデバイス1111のチャットアプリケーション1121とデバイスエンティティ1103のチャットアプリケーション1123との間の通信チャネル1402は、人間エンティティ1101とデバイスエンティティ1103の間の種々のタイプの通信をサポートすることができ、サポートされる通信のタイプはデバイスエンティティ1103のデバイスタイプに依存し得る。例えば、人間エンティティ1101は、チャットアプリケーション1121のチャットベースの通信インターフェースを用いて、情報又はコンテンツのリクエスト(例えば、ビデオファイルのリクエスト、オーディオファイルのリクエスト、センサからのステータス情報のリクエスト、車両情報システムからのステータス情報のリクエストなど)をデバイスエンティティ1103に通信チャネル1402を介して送信することができ、デバイスエンティティ1103は、情報又はコンテンツを人間エンティティ1101にアクセス可能なものとするために、チャットアプリケーション1123のチャットベースの通信インターフェースを用いて要求された情報又はコンテンツをチャットアプリケーション1121に通信チャネル1402を介して送信することによってリクエストに応答することができる。例えば、人間エンティティ1101は、チャットアプリケーション1121のチャットベースの通信インターフェースを用いて制御命令(例えば、カメラの再構成を制御するようにカメラに送信される命令、アクチュエータを制御するようにアクチュエータに送信される命令、プリンタの構成を制御するようにプリンタに送信される命令、ファイルシステムからのデータの検索を制御するようにファイルシステムをホスティングするデバイスに送信される命令など)をデバイスエンティティ1103に通信チャネル1402を介して送信することができ、デバイスエンティティ1103は、人間エンティティ1101に命令の実行結果を通知するために、チャットアプリケーション1123のチャットベースの通信インターフェースを用いて対応の命令結果をチャットアプリケーション1121に通信チャネル1402を介して送信することによって制御命令に応答することができる。例えば、デバイスエンティティ1103は、情報を人間エンティティ1101に提供するために、チャットアプリケーション1123のチャットベースの通信インターフェースを用いて情報(例えば、センサのセンサステータス、センサの閾値が満足されたことを示すインジケータ、アクチュエータのアクチュエータステータス、モニタからの測定値、プリンタのトナー又は紙のステータス、デジタルビデオレコーダの利用可能なストレージのステータス、ホームネットワークの潜在的なセキュリティ違反の表示、車両情報及び制御システムのステータス又は読み出しのインジケータなど)をチャットアプリケーション1121に通信チャネル1402を介して送信することができる。上記の例は、ユーザデバイス1111のチャットアプリケーション1121とデバイスエンティティ1103のチャットアプリケーション1123との間の通信チャネル1402が人間エンティティ1101とデバイスエンティティ1103の間のチャットベースの通信をサポートするのに使用され得る様々な態様のうちの一部でしかないことが分かる。
ユーザデバイス1111のチャットアプリケーション1121とデバイスエンティティ1103のチャットアプリケーション1123との間の通信チャネル1402はまた、エンティティ代表1201及び1203並びにチャットベースコア130を通過することができ、この1つ以上が通信チャネル1402を介した人間エンティティ1101とデバイスエンティティ1103の間のチャットベースの通信のサポートにおける種々の機能を実行し得る。例えば、人間エンティティ1101からデバイスエンティティ1103への通信について、その通信はエンティティ代表1201、チャットベースコア130及びエンティティ代表1203を含む経路を介してルーティングされることができ、この1つ以上は、人間エンティティ1101によってサポートされるフォーマット(例えば、自然言語)からデバイスエンティティ1103によってサポートされるフォーマット(例えば、異なるタイプのデバイス間で異なることが想定される機械ベースのフォーマット)に通信を変換するように通信を処理することができる。例えば、デバイスエンティティ1103から人間エンティティ1101への通信について、その通信はエンティティ代表1203、チャットベースコア130及びエンティティ代表1201を含む経路を介してルーティングされることができ、この1つ以上は、デバイスエンティティ1103によってサポートされるフォーマット(例えば、異なるタイプのデバイス間で異なることが想定される機械ベースのフォーマット)から人間エンティティ1101によってサポートされるフォーマット(例えば、自然言語)に通信を変換するように通信を処理することができる。エンティティ代表1201及び1203並びにチャットベースコア130は、通信チャネル1402を介して人間エンティティ1101及びデバイスエンティティ1103の間で交換される通信のサポートにおける種々の条件の下でこれらのタイプの変換を提供するように動作することができる。
例えば、デバイスエンティティ1103がビデオサーバである場合、人間エンティティ1103とビデオサーバの間の人間−デバイスのインタラクションは以下のように進むことになる。(1)人間エンティティ1101が、チャットアプリケーション1121を介してビデオサーバの表示を選択し、チャットアプリケーション1121のチャットベースの通信インターフェースを介して「アカデミー賞をとれそうな最新の映画はあるか?」のようなリクエストを入力及び提出し、(2)リクエストが、通信チャネル1402を介してビデオサーバのチャットアプリケーション1123に向けて伝達され、(3)リクエストがビデオサーバによって受信される前に、リクエストをビデオサーバによってサポートされるデバイス言語(例えば、REQUEST:MOVIE、METADATA:AWARD、BEST PICTURE WINNER、LATEST)に変換するために、エンティティ代表1201、チャットベースコア130又はエンティティ代表1203の1つ以上がリクエストに対して動作し、(4)ビデオサーバのチャットアプリケーション1123が、リクエストを受信してそのリクエストをチャットアプリケーション1123のチャットベースの通信インターフェースを介してビデオサーバのビデオ識別及び検索モジュールに渡し、(5)ビデオサーバのビデオ識別及び検索モジュールが、要求された映画を識別及び検索し、映画を人間エンティティ1101にアクセス可能とするための通信チャネル1402を介したユーザデバイス1111に向けた伝達のために、要求された映画をチャットアプリケーション1123のチャットベースの通信インターフェースを介してビデオサーバのチャットアプリケーション1123に提供し、(6)ユーザデバイス1111のチャットアプリケーション1121が、通信チャネル1402を介してビデオサーバから映画コンテンツを受信し、(例えば、チャットアプリケーション1121のチャットベースの通信インターフェースを介して、又はビデオコンテンツをユーザデバイス1111の1以上の他のモジュールに渡すことによって)ビデオコンテンツを人間エンティティ1101にアクセス可能とする。
例えば、デバイスエンティティ1103がセンサである場合、人間エンティティ1103とセンサの間の人間−デバイスのインタラクションは以下のように進むことになる。(1)人間エンティティ1101がユーザデバイス1111上でチャットアプリケーション1121を介してセンサの表示を選択し、チャットアプリケーション1121のチャットベースの通信インターフェースを介して「最新の読取り値は?」のような問合せを入力及び提出し、(2)問合せが通信チャネル1402を介してセンサのチャットアプリケーション1123に向けて伝達され、(3)問合せをセンサに提供する前に、問合せをセンサによってサポートされるデバイス言語(例えば、REQUEST:DEVICE READING、LATEST)を用いて、フォーマット化された問合せに変換するために、通信チャネル1402上のエンティティ代表1201、チャットベースコア130又はエンティティ代表1203の1つ以上が問合せに対して動作し、(4)センサのチャットアプリケーション1123が、フォーマット化された問合せを受信してそのフォーマット化された問合せをチャットアプリケーション1123のチャットベースの通信インターフェースを介してセンサのセンサ読取りモジュールに渡し、(5)センサのセンサ読取りモジュールが、要求されたセンサ読取り値を識別及び取得し、要求されたセンサ読取り値を人間エンティティ1101にアクセス可能とするための通信チャネル1402を介したユーザデバイス1111に向けた伝達のために、フォーマット化されたセンサ読取り応答をチャットアプリケーション1123のチャットベースの通信インターフェースを介してセンサのチャットアプリケーション1123に供給し、(6)センサ読取り値を人間エンティティ1101に提供する前に、フォーマット化されたセンサ読取り応答を自然言語のセンサ読取り応答に変換するために、エンティティ代表1203、チャットベースコア130又はエンティティ代表1201の1つ以上が、フォーマット化されたセンサ読取り応答に対して動作し、(7)ユーザデバイス1111のチャットアプリケーション1121が、通信チャネル1402を介して自然言語のセンサ読取り応答を受信し、自然言語のセンサ応答をチャットアプリケーション1121のチャットベースの通信インターフェースを介して人間エンティティ1101に提示する。
例えば、デバイスエンティティ1103がプリンタである場合、人間エンティティ1103とプリンタの間の人間−デバイスのインタラクションは:(1)人間エンティティ1101がユーザデバイス1111上でチャットアプリケーション1121を介してプリンタの代表を選択し、チャットアプリケーション1121のチャットベースの通信インターフェースを介して「文書1を印刷してください」のようなリクエストを、文書1のコピーを添付しつつ入力及び提出し、(2)リクエストが通信チャネル1402を介してプリンタのチャットアプリケーション1123に向けて伝達され、(3)リクエストをプリンタに提供する前に、リクエストをプリンタによってサポートされるデバイス言語を用いて、フォーマット化されたリクエストに変換するために、チャットベースコア130及びエンティティ代表1203の一方又は両方がリクエストに対して動作し、(4)プリンタのチャットアプリケーション1123が、フォーマット化されたリクエスト及び関連の文書を受信してそのフォーマット化されたリクエスト及び関連の文書をチャットアプリケーション1123のチャットベースの通信インターフェースを介してプリンタの印刷制御モジュールに渡し、(5)プリンタの印刷制御モジュールが文書の印刷を開始し、印刷が完了すると、印刷ステータスを人間エンティティ1101にアクセス可能とするための通信チャネル1402を介したユーザデバイス1111に向けた伝達のために、フォーマット化された印刷ステータス応答をチャットアプリケーション1123のチャットベースの通信インターフェースを介してプリンタのチャットアプリケーション1123に提供し、(6)印刷ステータス応答を人間エンティティ1101に提供する前に、フォーマット化された印刷ステータスを自然言語の印刷ステータス応答に変換するために、エンティティ代表1203又はチャットベースコア130の一方又は両方が、フォーマット化された印刷ステータス応答に対して動作し、(7)ユーザデバイス1111のチャットアプリケーション1121が自然言語の印刷ステータス応答を受信し、自然言語の印刷ステータス応答をチャットアプリケーション1121のチャットベースの通信インターフェースを介して人間エンティティ1101に提示する。
上記の例は、チャットベースシステム100が人間エンティティ1101とデバイスエンティティ1103の間の人間−デバイスのインタラクションをチャットアプリケーション1121とチャットアプリケーション1123の間の通信チャネル1402を介してサポートし得る様々な態様のうちの一部でしかないことが分かる。
チャットベースシステム100は、人間エンティティと、プログラムエンティティであるエンティティ1104との間の人間−プログラムのインタラクションをサポートする。プログラムエンティティ1104は、人間エンティティ1101のユーザデバイス1111が通信し得る任意のタイプのデバイスにおける任意のタイプのプログラムであればよい。例えば、プログラムエンティティ1104は、オンライン注文プログラム(例えば、eコマースショッピングプログラム、レストランの注文及び支払処理プログラムなど)、オンラインサービスプロバイダプログラム(例えば、電気通信サービスプロバイダのプログラム、電力供給会社のプログラムなど)、ネットワークデバイス又はデータセンタデバイスで利用可能なプログラム(例えば、ネットワーク又はデータセンタにおいてホスティングされるアプリケーション)、仕事の発注プログラム、ホテルのコンシェルジュプログラム、タクシー会社のタクシー手配プログラム、車両の車両情報及び制御プログラムなどであればよい。プログラムエンティティ1104は、チャットアプリケーション1124を含む。チャットベースシステム100は、ユーザデバイス1111のチャットアプリケーション1124とデバイス1114において稼働するプログラムエンティティ1104のチャットアプリケーション1124の間の通信チャネル1404の確立をサポートする。チャットアプリケーション1124は、それを介してプログラムエンティティ1104が人間エンティティ1101に伝達のための情報を提供することができるとともにそれを介してプログラムエンティティ1104が人間エンティティ1101からの情報を受信することができるチャットベースの通信インターフェースをサポートする。チャットベースの通信インターフェースは、チャットアプリケーション1124(チャットアプリケーション1123と確立された通信チャネル1404を含む)とプログラムエンティティ1104の1以上のモジュール又は要素(例えば、通信チャネル1403を介して受信された情報を処理するように構成されたモジュール又は要素、通信チャネル1403を介して送信のための情報を提供するように構成されたモジュール又は要素など、その他これらの種々の組合せ)の間のインターフェースを提供することができる。チャットアプリケーション1124は、チャットアプリケーション1124を介してプログラムエンティティ1104と関連付けられた他のエンティティ110(代表的には人間エンティティ1101)のリストを含むコンタクトリスト1134と関連付けられている。プログラムエンティティ1104はいずれの人間のインタラクションからも独立して通信チャネル1403を介してチャットベースの通信に参加することが想定されているので、チャットアプリケーション1124が表示インターフェース又は構成要素を含むことは想定されていない。ユーザデバイス1111のチャットアプリケーション1121とプログラムエンティティ1104のチャットアプリケーション1124との間の通信チャネル1403は、人間エンティティ1101とプログラムエンティティ1104の間の種々のタイプの通信をサポートすることができ、サポートされる通信のタイプはプログラムエンティティ1104のプログラムタイプに依存し得る。ユーザデバイス1111のチャットアプリケーション1121とプログラムエンティティ1104のチャットアプリケーション1124との間の通信チャネル1403はまた、エンティティ代表1201及び1204並びにチャットベースコア130を通過することができ、この1つ以上が通信チャネル1404を介した人間エンティティ1101とプログラムエンティティ1104の間の通信のサポートにおける種々の機能を実行し得る。人間エンティティ1101とプログラムエンティティ1104の間の通信チャネル1404を介した人間−プログラムのインタラクションは、通信チャネル1403を介した人間エンティティ1101とデバイスエンティティ1103の人間−デバイスのインタラクションと同様となるものと考えられるので、詳細な例示を省略する。例えば、人間エンティティ1101は、チャットアプリケーション1121のチャットベースの通信インターフェースを用いて、レストラン予約スケジューリングプログラムからの予約を要求及び受信することができ、歯科医院の患者スケジューリングプログラムはチャットアプリケーション1124のチャットベースの通信インターフェースを用いて、人間エンティティ1101が彼又は彼女の予定された予約を維持する意思があることの確認を要求及び受信することなどができる。そのようなプログラムはデバイス(例えば、サーバ、VMをホスティングする物理リソース、コンピュータなど)で実行されるので、人間エンティティ1101とデバイスエンティティ1103の間の人間−デバイスのインタラクションに関してここに記載する種々の実施形態は人間エンティティ1101とプログラムエンティティ1104の間の人間−プログラムのインタラクションについても使用され得ることが分かる。すなわち、少なくともある実施形態では、人間エンティティ1101とプログラムエンティティ1104の間の人間−プログラムのインタラクションは、人間エンティティ1101とプログラムエンティティ1104をホスティングするデバイスとの間の人間−デバイスのインタラクションとみることもできる。
チャットベースシステム100はまた、人間エンティティ1101と他のタイプの非人間エンティティとの間の他の通信インタラクションタイプをサポートするように構成され得る。例えば、チャットベースシステム100はまた、人間エンティティ1101と1以上のプロセス(例えば、デジタル会議、協働的セッションなど)の間の人間−プロセスのインタラクションをサポートするように構成され得る。例えば、チャットベースシステム100はまた、人間エンティティ1101と1以上の組織(例えば、ビジネス、非営利団体、教育団体など)の間の人間−組織のインタラクションをサポートするように構成され得る。チャットベースシステム100はまた、人間エンティティ1101と他のタイプの非人間エンティティとの間の他の通信インタラクションタイプをサポートするように構成され得る。例えば、他のタイプの非人間エンティティは、場所(例えば、店、レストラン、図書館など)、オブジェクトなどを含み得る。人間エンティティ1101とそのような非人間エンティティとの間の通信は、人間エンティティ1101のユーザデバイス1111上で稼働するチャットアプリケーション1121と、非人間エンティティに関連付けられたデバイス上で稼働するチャットアプリケーション又は非人間エンティティに関連付けられたデバイス上のプログラムに統合又は関連付けされたチャットアプリケーションとの間にそれぞれ確立された通信チャネルを用いて実行されることになるので、そのような非人間エンティティとの人間エンティティ1101によるインタラクションは非人間エンティティに関連付けられたデバイスを用いて実行され得ることが分かる。したがって、人間エンティティ1101とデバイスエンティティ1103の間の人間−デバイスのインタラクション及び人間エンティティ1101とプログラムエンティティ1104の間の人間−プログラムのインタラクションに関してここに記載する種々の実施形態は、人間エンティティ1101と他のタイプの非人間エンティティとの間の他の通信インタラクションタイプに対しても使用され得る。すなわち、少なくともある実施形態では、人間エンティティ1101と他のタイプの非人間エンティティとの間の他の通信インタラクションタイプは、人間エンティティ1101と非人間エンティティに関連付けられたデバイスとの間の人間−デバイスのインタラクション、又は人間エンティティ1101と非人間エンティティに関連付けられたプログラムとの間の人間−プログラムのインタラクションとみることもできる。
チャットベースシステム100は、エンティティ110がチャットベースシステム100の他のエンティティ110との関連付けについて利用可能となるように、チャットベースコア130に対するエンティティ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の追加又は削除)は、チャットアプリケーション1121を介して人間エンティティ1101によって手動的に、又は状況情報に基づいてチャットベースシステム100によって自動的に実行され得る。人間エンティティ1101のユーザデバイス1111のチャットアプリケーション1121とエンティティ110に関連付けられたデバイス又はプログラムのチャットアプリケーションとの間の通信チャネル140の確立は、(例えば、チャットアプリケーション1121のコンタクトリスト1131にすでに含まれているエンティティに基づいて)すでに人間エンティティ1101に関連付けられている任意のエンティティ110について、チャットアプリケーション1121がユーザデバイス1111上で起動されると実行され得る。例えば、チャットベースコア130は、チャットアプリケーション1121のコンタクトリスト1131を維持して、チャットアプリケーション1121がユーザデバイス1111上で起動されたことの検出に基づいて、人間エンティティ1101のユーザデバイス1111のチャットアプリケーション1121とチャットアプリケーション1121のコンタクトリスト1131におけるエンティティ110との間の通信チャネル140を確立する際に、チャットアプリケーション1121による使用のためにチャットアプリケーション1121にコンタクトリスト1131を提供するように構成され得る。人間エンティティ1101のユーザデバイス1111のチャットアプリケーション1121とエンティティ110に関連付けられたデバイス又はプログラムのチャットアプリケーションとの間の通信チャネル140の確立又は終了はまた、(例えば、非人間エンティティ110が、状況に基づいて人間エンティティ1101に対するチャットアプリケーション1121のコンタクトリスト1131に対して動的に追加又は削除されるにつれて)チャットアプリケーション1121がユーザデバイス1111上で稼働している任意の時間に実行され得る。例えば、チャットベースコア130は、人間エンティティ1101との新たなエンティティ110の関連付け又は人間エンティティ1101からの既存のエンティティ110の関連付け解除を検出し、新たなエンティティ110の追加又は既存のエンティティ110の削除を行うようにチャットアプリケーション1121のコンタクトリスト1131を更新し、新たなエンティティ110に対する新たな通信チャネル140の確立又は既存のエンティティ110の既存の通信チャネル140の終端を開始するように構成され得る。
チャットベースシステム100は、人間エンティティ1101との関連付けに利用可能なエンティティ110の手動の又は自動化された識別をサポートするように構成されていてもよく、同様に、識別されたエンティティ110の人間エンティティ1101との手動の又は自動化された関連付けを(例えば、チャットアプリケーション1121のコンタクトリスト1131における挿入を介して)サポートすることができる。
チャットベースシステム100は、他のエンティティ110を検索する際にチャットベースコア130によって使用される特定の検索基準を人間エンティティ1101が入力及び提出することができる検索ベースのエンティティ関連付け能力をサポートすることができる。例えば、人間エンティティ1101は、彼又は彼女が特定の場所で利用可能なプリンタ、特定の地理的領域において利用可能なレストラン、彼又は彼女が働く会社の人事プログラム、彼又は彼女が口座を保持する銀行のバンキングプログラム、対象となる特定の領域に関する協同的セッションなどを探していることを特定し得る。チャットベースコア130は、検索基準を用いて、検索基準を満足する一組の可能性あるエンティティ110を識別することができる。そして、チャットベースコア130は、(1)可能性あるエンティティ110を人間エンティティ1101に提示するとともに人間エンティティ1101に、人間エンティティ1101に対する可能性があるエンティティ110の1以上の関連付けを明示的に受け入れる(又は受け入れない)機会を与えるために、ユーザデバイス1111に向けて可能性あるエンティティ110の表示を含む検索結果を伝達し、又は(2)(例えば、可能性あるエンティティ110を人間エンティティ1101のチャットアプリケーション1121のコンタクトリスト1131に追加することを介して)人間エンティティ1101に対する可能性あるエンティティ110の自動的な関連付けを開始し得る。人間エンティティ1101に対する可能性あるエンティティ110の手動的又は自動的な関連付けは、人間エンティティ1101のユーザデバイス1111のチャットアプリケーション1121と、関連付けられたエンティティ110のチャットアプリケーションとの間の通信チャネル140の確立をトリガし得る。
チャットベースシステム100は、チャットベースコア130が状況情報を取得して、人間エンティティ1101が関連付けられたエンティティ110を修正するかを判定する状況ベースのエンティティ関連付け能力(例えば、人間エンティティ1101が現在関連付けられていない1以上のエンティティ1101との関連付け、人間エンティティ1101が現在関連付けられている1以上のエンティティ110からの関連付け解除、又はこの組合せ)をサポートすることができる。状況情報は、人間エンティティ1101に関連付けられた状況情報、潜在的な又は既存のエンティティ110に関連付けられた状況情報など、その他これらの種々の組合せを含み得る。人間エンティティ1101に関連付けられた状況情報は、人間エンティティ1101の状況、ユーザデバイス1111の状況、チャットアプリケーション1121の状況、人間エンティティ1101に関連付けられ得る他の何らかの状況など、その他これらの種々の組合せを表し得る。人間エンティティ1101に関連付けられた状況情報は、人間エンティティ1101又はユーザデバイス1111の位置(例えば、地理的位置、屋内位置など)、人間エンティティ1101に対するユーザデバイス1111のチャットアプリケーション1121によってサポートされる1以上の通信チャネル140を介して通信される情報、人間エンティティ1101の要求又は要望の表示など、その他これらの種々の組合せであればよい。潜在的な又は既存のエンティティ110に関連付けられた状況情報は、潜在的な又は既存のエンティティ110の状況、潜在的な又は既存のエンティティ110に関連付けられたデバイスの状況など、その他これらの種々の組合せを表すことができる。(例えば、人間エンティティ1101に関連付けられるものとみなされている)潜在的なエンティティ110に関連付けられた状況情報は、潜在的なエンティティ110の位置(例えば、地理的位置、屋内位置など)、潜在的なエンティティ110の能力(例えば、カメラのズーム能力、プリンタの印刷能力など)など、その他これらの種々の組合せであればよい。(例えば、人間エンティティ1101から関連付け解除されているとみなされている)既存のエンティティ110に関連付けられた状況情報は、既存のエンティティの位置(例えば、地理的位置、屋内位置など)、既存のエンティティに関連付けられた問題など、その他これらの種々の組合せであればよい。状況情報は、チャットベースコア130に提供され、ユーザデバイス1111のチャットアプリケーション1121によってサポートされてチャットベースコア130を通過する1以上の通信チャネル140を介して交換される通信の監視に基づいてチャットベースコア130によって取得され、チャットベースコア130に提供されるか1以上の他のデバイスからチャットベースコア130によって取得されるなどすればよく、その他これらの種々の組合せであってもよい。人間エンティティ1101に関連付けられたエンティティ110の管理は、状況情報に基づいて潜在的なエンティティ110のセットを識別すること、及び(1)潜在的なエンティティ110を人間エンティティ1101に提示するとともに人間エンティティ1101に対する潜在的なエンティティ110の1以上の関連付け又は人間エンティティ1101からの潜在的なエンティティ110の1以上の関連付け解除を明示的に受け入れる(又は受け入れない)機会を人間エンティティ1101に与えるために、潜在的なエンティティ110の表示をユーザデバイス1111に伝達すること又は(2)人間エンティティ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の確立をトリガすることになる。上述したように、潜在的なエンティティ110を人間エンティティ1101に関連付けて、人間エンティティ1101のユーザデバイス1111のチャットアプリケーション1121と、関連付けられたエンティティ110のチャットアプリケーションとの間の通信チャネル140の確立をトリガするための状況情報を用いることに関して主に記載するが、状況情報は、関連付けられたエンティティ110を(例えば、関連付けられたエンティティ110のコンタクトリスト113からの削除を介して)人間エンティティ1101から関連付け解除して人間エンティティ1101のユーザデバイス1111のチャットアプリケーション1121と既存のエンティティ110のチャットアプリケーションとの間の既存の通信チャネル140の終了をトリガするために使用されてもよいことが分かる。したがって、チャットベースシステム100は、他のエンティティ110への人間エンティティ1101の関連付けは人間エンティティ1101に関連付けられた状況情報に基づいて動的に更新されること(追加及び削除を含む)ができる動的なコンタクトリスト能力をサポートすることができ、同様に、人間エンティティ1101のユーザデバイス1111のチャットアプリケーション1121と他のエンティティ110のチャットアプリケーションとの間の通信チャネル140も動的に制御され得る(確立及び終了を含む)。動的なコンタクトリスト能力の種々の実施形態は、以下の例示的実施形態及び実施例の態様によってより深く理解され得る。
少なくともある実施形態では、チャットベースシステム100は、チャットベースシステム100内で特定された1以上の刺激に応じて、人間エンティティ1101のコンタクトリスト1131において(エンティティ110を代表する)コンタクトリストアイデンティティを生成し、そして人間エンティティ1101と、生成されたコンタクトリストアイデンティティによって示されるエンティティ110との間の通信に使用され得る対応の通信チャネル140を生成するように構成され得る。刺激は、デバイス又はプログラムの状態、メッセージ(例えば、通知、イベントなど)の受信など、その他これらの種々の組合せを含み得る。そして、チャットベースシステム100(又はチャットベースシステム100に関連付けられた遠隔処理能力)は、生成されたコンタクトリストアイデンティティによって示されるエンティティ110との人間エンティティ1101によるインタラクションをサポートし、さらには強化し得る(例えば、人間エンティティ1101とエンティティ110との間の通信を容易化し、人間エンティティ1101からエンティティ110に送信されたメッセージ又は情報に応じて作動し、エンティティ110から人間エンティティ1101に送信されたメッセージ又は情報に応じて作動するなど、その他これらの種々の組合せを行う)。
少なくともある実施形態では、例えば、人間エンティティ1101の位置に応じて動的なコンタクトリストアイデンティティは、人間エンティティ1101のコンタクトリスト1131において生成され得る。例えば、人間エンティティ1101がビルの受付エリアに入ったときに「受付」というコンタクトリストアイデンティティ(例えば、「受付」機能を提供するように構成されたデバイス又はプログラム)が人間エンティティ1101のコンタクトリスト1131に現れたものとし、これにより、ビルの特定の場所の方向についてのリクエストを「受付」エンティティに送信するように人間エンティティ1101によってチャットアプリケーション1121のチャットベースの通信インターフェースが使用され、要求された方向を人間エンティティ1101に送信するように「受付」エンティティによって「受付」エンティティのチャットアプリケーションのチャットベースの通信インターフェースが使用され得る(ここで、情報はチャットアプリケーション1121と「受付」エンティティのチャットアプリケーションとの間に確立された通信チャネル140を介して交換される)。例えば、人間エンティティ1101がホテルのロビーエリアに入ったときに「コンシェルジュ」というコンタクトリストアイデンティティ(例えば、「コンシェルジュ」機能を提供するように構成されたデバイス又はプログラム)が人間エンティティ1101のコンタクトリスト1131に現れたものとし、これにより、地元イタリアンレストランでの予約についてのリクエストを「コンシェルジュ」エンティティに送信するように人間エンティティ1101によってチャットアプリケーション1121のチャットベースの通信インターフェースが使用され、「コンシェルジュ」エンティティが人間エンティティ1101の代理として予約したイタリアンレストランの方向を人間エンティティ1101に送信するように「コンシェルジュ」エンティティによって「コンシェルジュ」エンティティのチャットアプリケーションのチャットベースの通信インターフェースが使用され得る(ここで、情報はチャットアプリケーション1121と「コンシェルジュ」エンティティのチャットアプリケーションとの間に確立された通信チャネル140を介して交換される)。例えば、人間エンティティ1101が彼又は彼女の職場に入ったとき「プリンタ」というコンタクトリストアイデンティティが人間エンティティ1101のコンタクトリスト1131に現れたものとし、これにより、文書及びその文書を印刷するリクエストを「プリンタ」エンティティに送信するように人間エンティティ1101によってチャットアプリケーション1121のチャットベース通信インターフェースが使用され、人間エンティティ1101に対して文書が印刷されたプリンタの場所の指示を人間エンティティ1101に送信するように「プリンタ」エンティティによって「プリンタ」エンティティのチャットアプリケーションのチャットベースの通信インターフェースが使用され得る(ここで、情報はチャットアプリケーション1121と「プリンタ」エンティティのチャットアプリケーションとの間に確立された通信チャネル140を介して交換される)。例えば、人間エンティティ1101が指定位置に入ったときに「カフェテリア」というコンタクトリストアイデンティティが人間エンティティ1101のコンタクトリスト1131に現れたものとし、これにより、(1)メニューのリクエストを送信するように人間エンティティ1101によってチャットアプリケーション1121のチャットベースの通信インターフェースが使用され、(2)要求されたメニューを人間エンティティ1101に提供するように「カフェテリア」エンティティによって「カフェテリア」エンティティのチャットアプリケーションのチャットベースの通信インターフェースが使用され、(3)メニューにある食事の注文を送信するように人間エンティティ1101によってチャットアプリケーション1121のチャットベースの通信インターフェースが使用され、(4)人間エンティティ1101によって注文された食事に対する支払を要求するように「カフェテリア」エンティティによって「カフェテリア」エンティティのチャットアプリケーションのチャットベースの通信インターフェースが使用され、(5)人間エンティティ1101によって注文された食事に対する支払を提供するように人間エンティティ1101によってチャットアプリケーション1121のチャットベースの通信インターフェースが使用され、(6)食事を受け取る場所に人間エンティティ1101を導くように「カフェテリア」エンティティによって「カフェテリア」エンティティのチャットアプリケーションのチャットベースの通信インターフェースが使用され得る(ここで、情報はチャットアプリケーション1121と「カフェテリア」エンティティのチャットアプリケーションとの間に確立された通信チャネル140を介して交換される)。
少なくともある実施形態では、例えば、動的なコンタクトリストアイデンティティが、プロセスとの人間エンティティの関連付けに従って人間エンティティ1101のコンタクトリスト1131において生成され得る。例えば、人間エンティティ1101が音声会議に参加するときに「音声会議」というコンタクトリストアイデンティティが人間エンティティ1101のコンタクトリスト1131に現れたものとし、これにより、音声会議の状況内の種々の機能(例えば、更なる当事者が音声会議に参加するインバイトの送信を要求及び制御すること、議論されているスライドのコピーを要求し、要求されたスライドがサーバで検索されて人間エンティティ1101への提示のためにチャットアプリケーション1121に配信されるようにすることなど)を実行するのにチャットアプリケーション1121と「音声会議」エンティティのチャットアプリケーションとの間に確立された通信チャネル140(例えば、音声会議に関連付けられたデバイス又はプログラム)が人間エンティティ1101及び「音声会議」エンティティによって使用され得る。例えば、人間エンティティ1101が複数当事者の遠隔協働セッションに参加するときに複数当事者の遠隔協働セッションをサポートする機能に関連付けれ一組のコンタクトリストアイデンティティ(例えば「協働的サポート」という上位エンティティの下で統括され得る、例えば「出席」、「議事録」、「スライド」、「映像」など)が人間エンティティ1101のコンタクトリスト1131に現れたものとし、これにより、チャットアプリケーション1121と「協働的サポート」エンティティ(例えば、複数当事者の遠隔協働セッションに関連付けられたデバイス又はプログラム)のチャットアプリケーションとの間に確立された通信チャネル140は、複数当事者の遠隔協働セッションの状況内の種々の機能(例えば、議論されているスライドのコピーを要求し、要求されたスライドがサーバで検索されて人間エンティティ1101への提示のためにチャットアプリケーション1121に配信されるようにすること、複数当事者の遠隔協働セッションが位置する物理位置の映像供給を要求し、供給された映像が人間エンティティ1101への提示のためのチャットアプリケーション1121に配信されるようにすることなど)を実行するのに人間エンティティ1101及び「協働的サポート」エンティティによって使用され得る。
少なくともある実施形態では、チャットベースシステム100は、チャットベースシステム100内で指定された1以上の刺激に応じて、(人間エンティティ1101が関連付けられるエンティティ110を示す)既存のコンタクトリストアイデンティティを人間エンティティ1101のコンタクトリスト1131から削除し、そして、人間エンティティ1101と既存のコンタクトリストアイデンティティによって示されるエンティティ110との間の通信に対して以前に確立された既存の通信チャネル140を終了するように構成され得る。刺激は、デバイス又はプログラムの状態、メッセージの受信(例えば、通知、イベントなど)など、その他これらの種々の組合せを含み得る。この実施形態は、コンタクトリストアイデンティティの動的な生成と併せて上述した例示をさらに考慮することによってより深く理解され得る。例えば、人間エンティティ1101がビルから出たとの判断に基づいて「受付」エンティティがコンタクトリスト1131から削除され、人間エンティティ1101がホテルのロビーエリアから立ち去ったとの判断に基づいて「コンシェルジュ」エンティティがコンタクトリスト1131から削除され、人間エンティティ1101がビルから出たとの判断に基づいて「プリンタ」エンティティがコンタクトリスト1131から削除され、人間エンティティ1101がビルから出たとの判断に基づいて「カフェテリア」エンティティがコンタクトリスト1131から削除され、人間エンティティ1101が音声会議から去ったとの判断に基づいて「音声会議」エンティティがコンタクトリスト1131から削除され、人間エンティティ1101が複数当事者の遠隔協働セッションから抜けたとの判断に基づいて「協働的サポート」エンティティがコンタクトリスト1131から削除される、などが行われ得る。
少なくともある実施形態では、チャットベースシステム100は、エンティティ110のコンタクト間(例えば、人間エンティティ1101のチャットアプリケーション1121のコンタクトリスト1131に含まれるコンタクト間)での関連付けをサポートするように構成され得る。人間エンティティ1101のコンタクト間の関連付けは、人間エンティティ1101からの入力に応じて手動的に、チャットベースコア130又はエンティティ代表120によって(例えば、コンタクト間の関係若しくはインターフェースの知識又は推定、又は関係若しくはインターフェースの欠如の知識又は推定に基づいて)自動的になど、その他これらの種々の組合せの1以上によって確立又は削除され得る。例えば、「ホーム」コンタクトは、より特化されたコンタクト(例えば、「コンピュータ」コンタクト、「エンターテイメントシステム」コンタクト、「スマートデバイス」コンタクトなど)の集合に関連付けられ、それに対するインターフェースとして動作するように構成され得る。例えば、「ワーク」コンタクトは、より特化されたコンタクト(例えば、「プリンタ」コンタクト、「コピー機」コンタクト、「ファックス機」コンタクト、「カフェテリア」コンタクト、「人事」コンタクト、1以上の協力者コンタクトなど)の集合に対応付けられ、それに対するインターフェースとして動作するように構成され得る。例えば、「カー(car)」コンタクトは、より特化されたコンタクト(例えば、「エンジン」コンタクト、「温度調節」コンタクト、「ラジオ」コンタクトなど)の集合に対応付けられるとともにそれに対するインターフェースとして動作するように構成され得る。人間エンティティ1101のコンタクト間の関連付けは、人間エンティティ1101と種々の他のエンティティ110との間のインタラクションをサポートするように種々の態様で使用され得る。
チャットベースシステム100は、チャットアプリケーション1121を介して人間エンティティ1101に対する単一のログイン認証能力をサポートすることができ、それにより、人間エンティティ1101に関連付けられた他のエンティティ110にアクセスするために人間エンティティ110はチャットアプリケーション1121にログインするだけで済む。例えば、人間エンティティ1101がチャットアプリケーション1121を起動する場合、人間エンティティ1101は、人間エンティティ1101を認証する際の使用のために(すなわち、人間エンティティ1101がチャットアプリケーション1121にアクセスすることを許可されるかを判断するために)チャットベースコア130にその後送信され得る認証情報(例えば、ログイン及びパスワード)を入力するように促されることになる。ここで、他のエンティティ110にアクセスする人間エンティティ1101の認証は、事前に確立されていてもよいし、又はチャットアプリケーション1121にアクセスする人間エンティティ1101の認証に応じて人間エンティティ1101の代理としてチャットベースコア130によって実行されてもよい(例えば、人間エンティティ1101に関連付けられたコンタクトリスト1131に含まれるエンティティの1以上による認証をチャットベースコア130が開始する場合)。いずれの場合においても、人間エンティティ1101は、人間エンティティ1101が他のエンティティ110の各々についての追加の認証情報を入力することを要することなく、自動的に他のエンティティ110にアクセスすることを認証される。言い換えると、チャットアプリケーション1121の認証手順によって種々のデバイス(例えば、デバイスエンティティ1103)及びプログラム(例えば、プログラムエンティティ1104)とのインタラクションが可能となる。このようにして、複数の他のエンティティ110(例えば、デバイス、プログラムなど)に対する人間エンティティ1101による認証は、人間エンティティ1101に対してシームレスとなる。
ユーザデバイス1111のチャットアプリケーション1121は、(例えば、通信チャネル1401を介した人間エンティティ1101と人間エンティティ1102の間の)人間対人間のインタラクション、その他(例えば、通信チャネル1402を介した人間エンティティ1101とデバイスエンティティ1103の間の)人間−デバイスのインタラクション及び(例えば、通信チャネル1403を介した人間エンティティ1101とプログラムエンティティ1104の間の)人間−プログラムのインタラクションを含む他の通信インタラクションタイプをサポートする種々の機能を提供するように構成される。人対人のインタラクションを可能とする際にチャットアプリケーションによって通常サポートされる機能は理解されているので、ここでは繰り返さない。人間対人間のインタラクションを可能とする際にチャットアプリケーションによって通常サポートされる少なくともいくつかのそのような機能はここに記載される他の通信インタラクションタイプをサポートする際に使用され、又は使用のために適合され得ることが分かる。
ユーザデバイス1111のチャットアプリケーション1121は、人間エンティティ1101が関連を有し、したがってチャットアプリケーション1121が対応の通信チャネル140をそれぞれ有するような非人間エンティティ110を識別することができる1以上のメカニズムを提供するように構成され得る。例えば、チャットアプリケーション1121は、人間エンティティ1101がチャットアプリケーション1121から利用可能な1以上のメニュー又は他の制御を介して関連する非人間エンティティを識別することができるように構成され得る。例えば、チャットアプリケーション1121は、関連する非人間エンティティ110がチャットアプリケーション1121のコンタクトリスト1131内に示されることにより(例えば、人間エンティティ1101の人間のコンタクト(又は「バディ」)がコンタクトリスト113内で示された態様と同様に、非人間エンティティ110のエンティティ識別子を用いて)そこから識別できるように構成され得る。コンタクトリスト1131は、人間エンティティ1101が関連付けられる人間エンティティ110及び非人間エンティティ110の双方を含む共通のコンタクトリスト(例えば、アルファベット順に又はコンタクトが人間エンティティ110若しくは非人間エンティティ110であるかとは無関係なステータスに基づいて並べられ、コンタクトが人間エンティティ110若しくは非人間エンティティ110であることに基づくサブグループに整理されてからアルファベット順に又はステータスに基づいて並べられるなど)、人間エンティティ1101が関連付けられる非人間エンティティ110のみを含む別個のコンタクトリスト(例えば、人間エンティティ1101が関連付けられた人間エンティティ110が別個のコンタクトリストに保持され得る)などであればよい。非人間エンティティ110の動的な追加又は削除の場合には、非人間エンティティ110が追加又は削除されるにつれて、非人間エンティティ110がそれぞれ非人間エンティティ110を表示又は非表示とするようにコンタクトリスト1131が自動的に更新されるようにしてもよい(言い換えると、非人間エンティティ110が追加又は削除されるにつれて、それぞれ自動的にコンタクトリスト1131に現れ、又はそこから消えることになる)。チャットアプリケーション1121は、人間エンティティ1101が関連を有する非人間エンティティ110を人間エンティティ1101が識別できる他のメカニズムを提供するように構成されてもよい。
ユーザデバイス1111のチャットアプリケーション1121は、人間エンティティ1101が関連を有する非人間エンティティ110と、それを介して人間エンティティ1101が対話する1以上のチャットベースの通信インターフェースを提供するように構成され得る。人間エンティティ110がチャットアプリケーション1121のチャットベースの通信インターフェースを用いて関連する非人間エンティティ110との通信を開始する態様は、人間エンティティ1101がチャットアプリケーション1121を介して(例えば、表示されたコンタクトリスト1131からの1以上のメニュー又は他の制御選択肢などを介して)関連する非人間エンティティ110を識別する態様に依存し得る。例えば、人間エンティティ1101は、ドロップダウンメニューから関連の非人間エンティティ110を選択し、関連する非人間エンティティ110がコンタクトリスト113に表示されるコンタクトリスト1131から関連の非人間エンティティ110を選択することなどができる。例えば、関連の非人間エンティティ110の選択は、人間エンティティ110が関連の非人間エンティティ110との通信(例えば、テキストをタイプし、コンテンツを添付するなど)を開始することができるウィンドウ又はダイアログボックスの展開をトリガし、人間エンティティ110が関連の非人間エンティティ110との通信を開始することができるメニューの展開をトリガするなど、その他これらの種々の組合せを行うことができる。人間エンティティ1101がチャットアプリケーション1121のチャットベースの通信インターフェースを介した関連の非人間エンティティ110からの通信に気付く態様は、チャットアプリケーション1121の構成に依存し得る。例えば、関連の非人間エンティティ110からの通信の受信の通知は、チャットアプリケーション1121の状況外で1以上のウィンドウの展開をトリガすることによって、ユーザデバイス1111上の1以上のプログラムの起動を介してなど、その他これらの種々の組合せによって、チャットアプリケーション1121の1以上のインターフェースを介してチャットアプリケーション1121によって人間エンティティ1101に提示され得る。例えば、関連の非人間エンティティ110からの通信の受信の通知が(例えば、人間エンティティ1101が通信をその後にアクセスできるように)ユーザデバイス1111の提示インターフェースを介してチャットアプリケーション1121によって人間エンティティ1101に提示されてもよいし、関連の非人間エンティティ110から人間エンティティ1101への通信がチャットアプリケーション1121(例えば、標準的なチャットアプリケーションにおける人間エンティティからのチャットメッセージの同様の提示)によって人間エンティティ1101に提示されてもよいし、関連の非人間エンティティ110から人間エンティティ1101に提供された情報がユーザデバイス1111の1以上の関連のプログラム又はアプリケーションの起動(例えば、関連の非人間エンティティ110からの通信で提供されたテキスト文書の提示のためのワードプロセッシングアプリケーションを立ち上げること、関連の非人間エンティティ110からの通信で提供された音声コンテンツの再生のためのオーディオプレイヤを立ち上げること、関連の非人間エンティティ110からの通信で提供された映像コンテンツの再生のためのビデオプレイヤを立ち上げることなど)を介して人間エンティティ1101に提示されるなどしてもよいし、その他これらの種々の組合せが行われてもよい。
上述したように、チャットアプリケーション1123及び1124は(チャットアプリケーション1121及び1122のように)表示されるのではなくデバイスエンティティ1103及びデバイス1114でそれぞれ稼働し得ることが想定されるが、チャットアプリケーション1123及び1124は、チャットアプリケーション1121と同様の態様で動作するように構成され得る。チャットアプリケーション1123及び1124のチャットベースの通信インターフェースは、上述のように、チャットアプリケーション1123及び1124間のインタラクションを可能とする任意の適切なソフトウェア及び/又はハードウェアベースのインターフェース並びにチャットアプリケーション1123及び1124がそれぞれ実行されるデバイスエンティティ1103及びデバイス1114のソフトウェア及び/又はハードウェア構成要素若しくは要素を含み得る。
エンティティ110に関連付けられるエンティティ代表120は、その少なくとも一部を上述した種々の機能を提供するように構成される。例えば、非人間エンティティ110に関連付けられたエンティティ代表120は、非人間エンティティ110がチャットベースコア130に登録すること(したがって人間エンティティ1101によって識別されてそれに関連付けられること)を可能とするための登録機能、非人間エンティティ110と1以上の他のエンティティ110の間のチャットベースの通信のための1以上の通信チャネル140(説明として、人間エンティティ1101へのチャットベースの通信に対する通信チャネル1402、又は任意の他の適切な通信チャネル140)を確立及び維持するための通信チャネル制御機能、1以上の通信チャネル140を介した非人間エンティティ110と1以上の他のエンティティ110の間の通信を制御するための通信制御機能、非人間エンティティ110によってサポートされるフォーマットと、非人間エンティティ110が1以上の通信チャネル140を介して通信し得る1以上の他のエンティティ110によってサポートされるフォーマットとの間でメッセージ及び情報を変換するための変換機能、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のチャットアプリケーション間の通信チャネル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以上のうちの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は非人間エンティティ間の通信をサポートするように構成されてもよく、非人間エンティティはデバイス、プログラム、プロセス、組織などを含み得る。一例が図1に示され、ここでは通信チャネル141がデバイスエンティティ1103のチャットアプリケーション1123とプログラムエンティティ1104のチャットアプリケーション1124との間で確立される。通信チャネル141の確立及び使用は、通信チャネル140の確立及び使用と同様であればよい。例えば、デバイスエンティティ1103が会社の従業員のオフィスに位置するプリンタであり、プログラムエンティティ1104が会社の人事プログラムである場合、人事プログラムは、従業員によって署名される必要がある給付契約を、給付契約が自動的に印刷されて従業員による署名のために直ちに利用可能となるように、通信チャネル141を介してプリンタに伝達することができる。例えば、デバイスエンティティ1103が防犯カメラであり、プログラムエンティティ1104がセキュリティ監視プログラムである場合、セキュリティ監視プログラムは、防犯カメラがセキュリティプログラムの要求に基づいて自動的に再構成されるように、再構成メッセージを通信チャネル141を介して防犯カメラに伝達することができる。例えば、デバイスエンティティ1103がコンテンツサーバであり、プログラムエンティティ1104が、デバイス(例えば、コンピュータ、デジタルビデオレコーダなど)で稼働するユーザの個人コンテンツスケジューリングプログラムである場合、個人コンテンツスケジューリングプログラムは、ユーザの関心を引く個人コンテンツスケジューリングプログラムによって予測されるコンテンツ項目の検索を要求するためにコンテンツリクエストメッセージを通信チャネル141を介してコンテンツサーバに伝達することができ、コンテンツサーバは、要求されたコンテンツ項目を個人コンテンツスケジューリングプログラムが稼働しているデバイス上のストレージに対する個人コンテンツスケジューリングプログラムに提供することができる。特定のタイプの非人間エンティティ間の特定の通信インタラクションタイプ(すなわち、デバイス−プログラムの通信)に関して主に図示及び記載するが、チャットベースシステム100は、非人間エンティティの種々の他の組合せ(例えば、デバイス間のデバイス−デバイスの通信、プログラム間のプログラム−プログラムの通信、デバイスとプロセスの間のデバイス−プロセスの通信、プログラムとプロセスの間のプログラム−プロセスの通信、プロセス−プロセスの通信など)の間の種々の他の通信インタラクションタイプをサポートするように構成され得ることが分かる。例えば、電力監視エンティティは、チャットベースの通信チャネルを用いて電力メータに現在の読み値を要求し得る。例えば、コンシェルジュンティティは、チャットベースの通信チャネルを用いてレストランエンティティに予約を要求し得る。上記の例は、複数の非人間エンティティ間のチャットベースの通信が使用され得る態様の一部に過ぎないことが分かる。
説明の明瞭化のために図1では省略されているが、各チャットアプリケーション112は、機能の任意の適切な集中化又は分散化を用いて実施され得ることが分かる。例えば、図1に示すチャットアプリケーション112は、単にチャットアプリケーションクライアントであってもよく、関連するチャットアプリケーションの他のモジュール又は機能は他の位置において(例えば、エンティティ代表120において、チャットベースコア130において)実施され得る。チャットベースシステム100内のチャットアプリケーション112の機能の種々の他の構成が考えられる。
説明の明瞭化のために図1では省略されているが、各エンティティ代表120は、機能の任意の適切な集中化又は分散化(例えば、エンティティ代表120に関連付けられる1以上のデバイスにエンティティ代表120の機能を提供すること、1以上のネットワークデバイスにエンティティ代表120の機能を提供すること、エンティティ代表120及び1以上のネットワークデバイスに関連付けられた1以上のデバイスにわたってエンティティ代表120の機能を分散することなど、その他これらの種々の組合せ)を用いて実施されてもよいことが分かる。
説明の明瞭化のために図1では省略されているが、チャットベースコア130は、任意の適切な態様(例えば、1以上の専用サーバ上で、1以上のネットワーク又はデータセンタ内でホスティングされる仮想リソースの1以上のセットを用いてなど、その他これらの種々の組合せ)で実施されてもよいことが分かる。
チャットアプリケーション1121が人対人の通信又は通信インタラクションタイプをサポートするように構成される実施形態に関して主に図示及び記載するが、少なくともある実施形態では、チャットアプリケーション1121は、人間エンティティ1101と非人間エンティティ110の間のインタラクションについてのみ構成されてもよい。言い換えると、チャットアプリケーション1121は、人間エンティティ1101と非人間エンティティ110の間の通信を伴う種々の通信インタラクションタイプをサポートし、それによりデバイスのアクセス及び使用能力、プログラムのアクセス及び使用能力など、その他これらの種々の組合せの1以上を提供するために特化されていてもよい。
図2に、複数の通信インタラクションタイプのためのチャットベースの通信をサポートするための方法の例示的実施形態を示す。方法200のステップの少なくとも一部分の実行は、エンティティ(又はエンティティによる通信をサポートするデバイス)の視点から主に図示及び記載されるが、他の要素(例えば、他のエンティティ、エンティティのエンティティ代表、チャットベースコアなど、その他これらの種々の組合せ)によって実行され得る種々のアクションも含み得ることが分かる。方法200のステップの少なくとも一部分は、シリアルに実行されるものとして主に図示及び記載されるが、同時に又は図2に提示されるものとは異なる順序で実行され得ることが分かる。ステップ201において、方法200が開始する。ステップ210において、エンティティに対するチャットアプリケーションの立ち上げが検出される。エンティティは、人間エンティティであってもよいし、非人間エンティティであってもよい。ステップS220において、エンティティに関連付けられたエンティティを識別するコンタクトリストが取得される。エンティティは、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のチャットアプリケーションが稼働している間の第1のチャットアプリケーションに対する第2のエンティティの関連付けの動的検出であってもよい。第1のチャットアプリケーションが稼働している間の第1のチャットアプリケーションに対する第2のエンティティの動的関連付けは、第1のエンティティに関連付けられる状況情報又は第2のエンティティに関連付けられる状況情報の少なくとも一方に基づいて実行され得る。第1のエンティティに関連付けられる状況情報は、第1のエンティティの位置、第1のエンティティのチャットベースの通信からの情報、第1のエンティティの検出された要望などの少なくとも1つを含み得る。第2のエンティティに関連付けられる状況情報は、第2のエンティティの位置、第2のエンティティの能力などの少なくとも1つを含み得る。通信チャネルを介した第1のエンティティと第2のエンティティの間のチャットベースの通信のサポートは、通信チャネルを介した第2のエンティティの第2のチャットアプリケーションに向けて、第1のチャットアプリケーションのチャットベースの通信インターフェースを介して第1のエンティティによって入力された情報を伝達することを含み得る。通信チャネルを介した第1のエンティティと第2のエンティティの間のチャットベースの通信のサポートは、第1のチャットアプリケーションのチャットベースの通信インターフェースを介して第1のエンティティによって入力された情報を受信すること、情報を処理して情報を修正済み情報に変換すること(例えば、情報をあるフォーマットから他のフォーマットに変換すること、情報を追加情報で補間することなど、その他これらの種々の組合せ)、及び通信チャネルを介して第2のエンティティに向けて修正済み情報を伝達することを含み得る。通信チャネルを介した第1のエンティティと第2のエンティティの間のチャットベースの通信のサポートは、通信チャネルを介して第2のエンティティから情報を受信すること、及び第1のエンティティへの情報の伝達又は提示を開始することを含み得る。第1のエンティティへの情報の提示の開始は、第1のチャットアプリケーションのチャットベースの通信インターフェースを介して情報の少なくとも一部分の提示を開始すること、第1のチャットアプリケーションのチャットベースの通信インターフェース以外のインターフェースを介して情報の少なくとも一部分の提示を開始することなどを含み得る。通信チャネルを介した第1のエンティティと第2のエンティティの間のチャットベースの通信のサポートは、通信チャネルを介して第2のエンティティから情報を受信すること、情報を処理して情報を修正済み情報に変換すること(例えば、情報をあるフォーマットから他のフォーマットに変換すること、情報を追加情報で補間することなど、その他これらの種々の組合せ)、及び第1のエンティティに向けて修正済み情報を伝達することを含み得る。通信チャネルは、第2のエンティティがもはや第1のチャットアプリケーションに関連付けられていないとの判断に基づいて終了され得る。第1のエンティティは、人間エンティティであってもよいし、非人間エンティティであってもよい。非人間エンティティは、デバイス、プログラム又は他の非人間エンティティであればよい。非人間エンティティはプロセス又は組織を含んでいてもよく、この場合、通信チャネルはプロセス又は組織に関連付けられるデバイス又はプログラムで確立される。図1の状況内で図示及び記載された種々の機能が図3の方法300の状況内で提供され得ることが分かる。
少なくともある実施形態では、チャットベースシステム100は、図1に関してここに図示及び記載されて図4に関してさらに図示及び記載されたように、種々の機能、インターフェースなど、その他これらの種々の組合せをサポートするように構成され得る。
図4に示すように、少なくともある実施形態では、チャットベースシステム100は種々の機能401をサポートするように構成されてもよく、これは、チャットベースのサービスと併せて提供され得る機能、チャットベースのサービスから独立して提供され得る機能など、その他これらの種々の組合せを含み得る。例えば、機能401は、監視機能4011、処理機能4012、チャットセッション確立機能4013、拡張動作機能4014、関係識別及び通知機能4015、質問/回答管理機能4016、メッセージ属性管理機能4017、ソフトウェア開発者機能4018、他の機能4019など、その他これらの種々の組合せを含み得る。機能401の少なくとも一部は図1との関係で上述したものであることが分かる。以下に、機能401の少なくとも一部を記載する。図4に示すように、種々の機能401は、種々の態様でチャットベースシステム100内で提供され得る(例えば、種々の機能401は、チャットベースコア130、1以上のエンティティ代表120、1以上のエンティティ110のうちの1以上のチャットアプリケーション112、1以上の非人間エンティティ110(例えば、デバイスエンティティ、プログラムエンティティなど)などの1つ以上、その他これらの種々の組合せにおいて実施され得る)。なお、機能401は図1のチャットベースシステム100の状況内で提供されるものとして主に図示及び記載されるが、少なくともいくつかのそのような機能401は、他のチャットベースシステムの状況内で、又はチャットベースシステムの状況外でも(例えば、種々の他のタイプの状況、環境、ネットワーク内などで)提供され得る。
図4に示すように、少なくともある実施形態では、チャットベースシステム100は種々の機能402をサポートするように構成されてもよく、これは、チャットベースのサービスと併せて提供される機能をサポートするのに使用され得るインターフェース、チャットベースのサービスから独立して提供される機能をサポートするのに使用され得るインターフェースなど、その他これらの種々の組合せを含み得る。例えば、インターフェース402は、(例えば、種々の要素(例えば、ネットワーク、ネットワークデバイス、コンテンツサーバ、管理システムなど)のデータストリームを監視するための)データ監視インターフェース4021、(例えば、位置ベースのサーバで位置ベースの情報を検索するため、ソーシャルメディアサーバでソーシャルメディア情報を検索するため、オブジェクト管理システムでオブジェクト情報を検索するためなどの)データ検索インターフェース4022、制御インターフェース4023、ソフトウェア開発者インターフェース4024(例えば、ソフトウェア開発者がチャットベースシステム100のためのソフトウェアとインターフェースし、それを開発及び配備することを可能とするように構成されたアプリケーション・プログラミング・インターフェース)、他のインターフェース4025など、その他これらの種々の組合せなどのインターフェースを含み得る。インターフェース402の少なくとも一部は図1との関係で上述したものであることが分かる。以下に、インターフェース402の少なくとも一部を記載する。図4に示すように、種々のインターフェース402は、種々の態様でチャットベースシステム100内で提供され得る(例えば、種々の機能402は、チャットベースコア130、1以上のエンティティ代表120、1以上のエンティティ110のうちの1以上のチャットアプリケーション112、1以上の非人間エンティティ110(例えば、デバイスエンティティ、プログラムエンティティなど)など、その他これらの種々の組合せの1以上の間のインターフェースとして実施され得る)。なお、インターフェース402は図1のチャットベースシステム100の状況内で提供されるものとして主に図示及び記載されるが、少なくともいくつかのそのようなインターフェース402は、他のチャットベースシステムの状況内で、又はチャットベースシステムの状況外でも(例えば、種々の他のタイプの状況、環境、ネットワーク内などで)提供され得る。
なお、図1を再度参照すると、上述したように、少なくともある実施形態では、チャットベースシステム100は、通信チャネルの自動生成(例えば、図4に関して図示及び記載したチャットセッション確立機能4013)をサポートするように構成されてもよい。例えば、通信チャネルは、通信チャネル140、通信チャネル141又は任意の他の適切なタイプの通信チャネルを含み得る。一般に、通信チャネルはチャットセッションを提供してチャットベースの通信をサポートするので、通信チャネルの自動生成はチャットセッションの自動生成であるとみることができる。チャットセッションの自動生成の使用によって、多くの場合に不便で扱いにくいものとなるチャットセッションの手動的開始の必要性がなくなる。
チャットセッションの自動生成は、認識された条件、イベント又は情況に基づいてもよい。チャットセッションの自動生成は、既存のチャットセッション(例えば、チャットセッションの状況内で交換される情報に基づく条件、イベント又は他のトリガの検出)に基づいてもよいし、(例えば、チャットベースコア130の検出を報告するように構成されたデバイスによって実行される監視に基づいて)既存のチャットセッションから独立していてもよい。チャットセッションの自動生成をもたらすトリガは、チャットベースシステム100内の種々の位置において(例えば、チャットベースコア130において、1以上のエンティティ代表120において、1以上のチャットアプリケーション112において、チャットアプリケーション112以外の1以上の要素による1以上のデバイス又はデバイスエンティティ(例えば、スマートフォンの位置追跡モジュール、スマートフォンのカレンダーアプリケーションなど)においてなど、その他これらの種々の組合せにおいて)検出され得る。チャットセッションの自動生成は、チャットベースシステム100内の種々の位置において(例えば、チャットベースコア130において、1以上のエンティティ代表120において、1以上のチャットアプリケーション112において、チャットアプリケーション112以外の1以上の要素による1以上のデバイス又はデバイスエンティティ(例えば、スマートフォンの位置追跡モジュール、スマートフォンのカレンダーアプリケーションなど)においてなど、その他これらの種々の組合せにおいて)開始され得る。例えば、チャットセッションは、(例えば、所与のエンティティ110のチャットアプリケーション112と、所与のエンティティ110のコンタクトリスト上の1以上のエンティティ110の1以上のチャットアプリケーション112との間の1以上のチャットセッションの自動生成については)所与のエンティティ110のチャットアプリケーション112が起動されたことの検出に基づいて、エンティティ110が所与のエンティティ110のチャットアプリケーション112のコンタクトリスト113に追加されたこと(例えば、所与のエンティティ110の位置に基づく追加、所与のエンティティ110に関連付けられる状況情報に基づく追加、プロセスへの人間エンティティ110の関連付けに基づく追加など、その他これらの種々の組合せ)の検出に基づいて、センサのセンサ値が閾値を満たしたことの判定に基づいて(例えば、人の血圧を監視している血圧モニタが、血圧が閾値以上に上昇したことを示していることの検出に基づいて)、(例えば、携帯電話とチャットシステム100に関連付けられるデバイスとの間の信号が、携帯電話を持つ人が特定の位置(例えば、地理的位置、店、店の通路、ホテル、図書館など)に入ったことを示す場合に)人又は物が特定の位置に入ったことの検出に基づいて、プログラム又はデバイスからの信号又はメッセージ(例えば、期間が完了したこと又は時間に達したことを示すタイマからの信号、ユーザのスマートフォンで稼働するカレンダープログラムからのミーティングアラートメッセージなど)の検出に基づいて、デバイス又はプログラムの状態に基づいて、メッセージの受信に基づいてなど、その他これらの種々の組合せに基づいて自動的に生成され得る。例えば、所与のエンティティ110のチャットアプリケーション112が起動されたことの検出によって、所与のエンティティ110のチャットアプリケーション112と所与のエンティティ110のチャットアプリケーション112のコンタクトリスト113における種々のコンタクトとの間のチャットセッションの自動生成がもたらされてもよい。例えば、エンティティ110が所与のエンティティ110のチャットアプリケーション112のコンタクトリスト113に追加されたことの検出によって、所与のエンティティ110のチャットアプリケーション112とチャットアプリケーション112のコンタクトリスト113における種々のコンタクトとの間のチャットセッションの自動生成がもたらされてもよい。例えば、ユーザの血圧が閾値を超えたとの検出によって、ユーザと医師の間のチャットセッションの自動生成がもたらされるようにしてもよい。例えば、ユーザが都市の特定エリアに入ったとの検出は、ユーザと、都市の地域に関連付けられた都市地域バディ(例えば、チャットセッションを用いてユーザに店、レストラン、観光名所、又はユーザの潜在的な関心となる他の場所を喚起することができるソフトウェアバディ)との間のチャットセッションの自動生成がもたらされるようにしてもよい。例えば、ユーザが店に入ったことの検出によって、ユーザと、その店に関連付けられたストアバディ(例えば、チャットセッションを用いてユーザにセール品及び他の店関連情報を喚起することができるソフトウェアバディ)との間のチャットセッションの自動生成がもたらされるようにしてもよい。例えば、ユーザが図書館に入ったとの検出によってユーザとライブラリバディ(例えば、チャットセッションを用いてユーザに図書館で利用可能な新着書籍を喚起することができるソフトウェアバディ)との間のチャットセッションの自動生成がもたらされるようにしてもよい。例えば、タイマが時間切れとなったことを示す信号の検出によってユーザのスマートフォンと、タイマに関連付けられたバディとの間のチャットセッションの自動生成がもたらされるようにしてもよい。例えば、ユーザのスマートフォンで稼働するカレンダープログラムからのミーティングアラートメッセージの検出によってユーザのスマートフォンと、カレンダープログラムに関連付けられたバディ(例えば、チャットセッションを用いて、関連のミーティング中のユーザによる使用のためのチャットセッションを介してミーティングの議題及び関連のミーティング資料をスマートフォンに送信することができるソフトウェアバディ)との間のチャットセッションの自動生成がもたらされるようにしてもよい。上記の例は、チャットセッションが自動的に生成され得る(及び生成後に使用され得る)条件の一部を示すに過ぎないことが分かる。
チャットセッションの自動生成は、相互に既に知られている2以上のチャットバディ間のチャットセッションの開始(例えば、チャットバディはチャットセッションの一部として他の単数又は複数のチャットバディのそれぞれのコンタクトリストに既に含まれている)、相互に知られていない2以上のチャットバディ間のチャットセッションの開始(例えば、それはチャットセッションの一部となる各チャットバディを他の単数又は複数のチャットバディのコンタクトリストに自動的に追加する事前のステップを含み得る)など、その他これらの種々の組合せ(例えば、相互にすでに知られている2以上のバディ間のチャットセッションの開始、及びその後の1以上の追加バディをセッションに追加すること)を含み得る。チャットセッションの自動的な開始は、チャットベースシステム100の種々の要素によって制御され得る(例えば、チャットベースコア130が1以上のエンティティ代表120にシグナリングしてチャットセッションを開始してもよいし、チャットベースコア130が1以上のエンティティ110にシグナリングしてチャットセッションの確立を開始してもよいし、1以上のエンティティ110のチャットアプリケーション112がチャットセッションの開始を制御するなどしてもよいし、その他これらの種々の組合せを行ってもよい)。チャットセッションの開始に関与する要素は種々の要因(例えば、どの要素がチャットセッションの自動生成をトリガする条件を検出するか、チャットベースシステム100の要素間の構成された機能の分布など、その他これらの種々の組合せ)に依存し得ることが分かる。
チャットセッションの自動生成は、チャットセッションの自動生成をサポートするようにチャットベースシステム100を構成することによってサポートされ得る。チャットベースシステム100は、チャットセッションの生成に関連付けられた条件について監視し、チャットセッションの生成に関連付けられた条件の検出に基づくチャットセッションを生成するように構成され得る。監視は、既存のチャットセッションの状況内で、又は既存のチャットセッションの状況外で(例えば、既存のチャットセッション内で交換されるメッセージのメッセージタイプに基づいて、既存のチャットセッション内で交換されるメッセージのコンテンツに基づいてなど、その他これらの種々の組合せに基づいて)実行され得る。監視は、チャットセッションに参加していないデバイス又はチャットセッションに参加するように構成されていないデバイス(例えば、位置ベースのサービスをサポートするサーバ、センサの管理又はセンサによって測定される値若しくは情報の送信をサポートするデバイス(例えば、温度センサ、動体センサ、血圧モニタなど)など、その他これらの種々の組合せ)からの情報に基づいて実行され得る。例えば、チャットベースシステム100は、モバイルデバイスユーザに対して位置ベースのサービスを提供するサーバとのインターフェースをサポートし、インターフェースを用いてチャットセッションの生成に関連付けられた位置ベースの条件を監視すること(例えば、ユーザのモバイルデバイス上で稼働するチャットアプリケーションと店のストアソフトウェアバディとの間のチャットセッションの生成を、ユーザのモバイルデバイスが店の付近にあることの検出に基づいて開始すること、第1のユーザの第1のモバイルデバイス上で稼働するチャットアプリケーションと第2のユーザの第2のモバイルデバイス上で稼働するチャットアプリケーションの間のチャットセッションの生成を、第1のモバイルデバイス及び第2のモバイルデバイスが相互から閾距離内に位置することの検出に基づいて開始することなど)ができる。例えば、チャットベースシステム100は、センサの管理又はセンサによって測定される値若しくは情報の送信をサポートするデバイスへのインターフェースをサポートし、インターフェースを用いてチャットセッションの生成に関連付けられたセンサベースの条件を監視すること(例えば、ユーザのモバイルデバイス上で稼働するチャットアプリケーションとユーザに利用可能な自宅環境制御のソフトウェアバディとの間のチャットセッションの生成を、ユーザの自宅内の動体センサが自宅内の動体を検出したとの判断に基づいて開始すること、ユーザのモバイルデバイス上で稼働するチャットアプリケーションと医師のユーザデバイスのチャットアプリケーションとの間のチャットセッションの生成を、ユーザの血圧センサによって報告される血圧値が想定範囲外であることの判断に基づいて開始することなど)ができる。チャットベースシステム100は、チャットセッションの自動生成をトリガする条件を監視するための種々の他のデバイスとのインターフェースをサポートしてもよい。
他の要素(例えば、ネットワーク、デバイスなど)とのインターフェースを介して取得された情報の処理に基づいてチャットベースシステム100が監視を実行する実施形態に関して主に説明するが、チャットベースシステム100は、情報が任意の他の適切な態様でチャットベースシステム100によって取得され得る場合にはその情報に基づいて監視を実行するように構成されてもよいことが分かる。例えば、情報又は情報が所定の基準を満たすことを報告するように他の要素が構成されてもよいし、照会又は他の適切なタイプの要求を介して他の要素から情報が検索されるなどしてもよいし、その他これらの種々の組合せであってもよい。
他の要素(例えば、ネットワーク、デバイスなど)とのインターフェースを介して取得された情報の処理に基づいてチャットベースシステム100が監視を実行する実施形態について主に説明するが、チャットベースシステム100は種々の監視機能をローカルにサポートするように構成されてもよいことが分かる。例えば、センサのセットの監視のために、チャットベースシステム100は、センサの各々に対する記録を含むデータベース(又は他の適切な情報の集合)(例えば、各センサ記録が、センサの記述情報、センサが関連付けられる関連するエンティティ110のアイデンティティ及びコンタクト情報、条件の検出の基礎となる対象の値、対象の値が検出されたときに接触される関連のエンティティ110のアイデンティティ及びコンタクト情報など、その他これらの種々の組合せを含む)を保持し、センサが関連付けられるエンティティ110と、対象値に対応する値をセンサが報告しているとの検出に基づいて接触されるエンティティ110との間のチャットセッションの確立を開始することができる。例えば、チャットベースシステム100に関連付けられたエンティティ110のセットの位置を監視するために、チャットベースシステム100は、エンティティ110のセットにおいて各エンティティ110の位置条件記録を含むデータベース(又は他の適切な情報の集合)(例えば、各位置条件記録が、位置条件記録が関連付けられる所与のエンティティ110のアイデンティティ及びコンタクト情報を含む(所与のエンティティ110の関連するチャットアプリケーション112が実行されるデバイスと同じであっても異なっていてもよい)デバイス又は位置追跡が実行されるべきデバイス、条件の検出の基礎となる対象の位置、対象の位置が検出された場合に接触される関連のエンティティ110のアイデンティティ及びコンタクト情報など、その他これらの種々の組合せを含む)を保持し、位置記録が関連付けられる所与のエンティティ110と、デバイス又は位置追跡が実行されるべきデバイスが対象の位置で位置特定されたとの検出に基づいて接触されるエンティティ110との間のチャットセッションの確立を開始することができる。
チャットセッションの自動生成は、チャットセッションの自動生成をサポートするようにチャットベースシステム100を構成する能力をエンティティ110に与えることによってサポートされ得る。例えば、ユーザは、チャットアプリケーション112の起動に応じて、チャットアプリケーション112と、チャットアプリケーション112のコンタクトリスト113における1以上のコンタクトとの間に自動的に生成されるように、チャットアプリケーション112を構成することができる。例えば、チャットアプリケーション112を用いる医師が、多数の患者の血圧を監視し(例えば、必要に応じて、患者を患者監視リストに追加し/患者監視リストから削除し)、そして、血圧がその患者に対して医師が指定した安全圏外となった各監視対象患者について、医師のチャットアプリケーション112と患者の関連のチャットアプリケーション112との間のチャットセッションを開始するようにチャットベースシステム100を(例えば、チャットベースコア130上で実行されている監視機能での制御を介して)構成することができる。例えば、都市の地域に対する都市地域バディとして動作するチャットアプリケーション112を管理する責任を担う技術者又は開発者は、都市の特定の地域に入ったユーザに対してチャットセッションが自動的に生成される条件(又は利用可能な観光名所、店のクーポンなどのような、自動的に生成されたチャットセッションを介して提供される情報)を制御するようにチャットベースシステム100を(例えば、チャットベースコア130上で実行されている機能での制御を介して)構成することができる。例えば、店に対するストアバディとして動作するチャットアプリケーション112を管理する責任を担う技術者又は開発者は、店に入ったユーザに対してチャットセッションが自動的に生成される条件(又はセール品についてのアラート、クーポンなどのような、自動的に生成されたチャットセッションを介して提供される情報)を制御するようにチャットベースシステム100を(例えば、チャットベースコア130上で実行されている機能での制御を介して)構成することができる。例えば、図書館に対するライブラリバディとして動作するチャットアプリケーション112を管理する責任を担う技術者又は開発者は、図書館に入ったユーザに対してチャットセッションが自動的に生成される条件(又は新着書籍についてのアラートなど、自動的に生成されたチャットセッションを介して提供される情報)を制御するようにチャットベースシステム100を(例えば、チャットベースコア130上で実行されている機能での制御を介して)構成することができる。例えば、チャットアプリケーション112を使用する人は、タイマが時間切れとなったとの検出に基づいて、その人のチャットアプリケーション112とエンティティ110の関連するチャットアプリケーション112との間のチャットセッションを開始するようにチャットベースシステム100を(例えば、チャットアプリケーション112が稼働しているデバイス上でローカルに実行される機能での制御を介して)構成することができる。例えば、チャットアプリケーション112を使用する人は、カレンダープログラムからのミーティングアラートメッセージの検出に基づいて、その人のチャットアプリケーション112と(チャットアプリケーション112が稼働しているデバイス上で稼働するカレンダープログラムに関連付けられた)関連のカレンダープログラムバディとの間のチャットセッションを開始するようにチャットベースシステム100を(例えば、チャットアプリケーション112が稼働しているデバイス上でローカルに実行される機能での制御を介して)構成することができる。上記の例は、チャットセッションが自動的に生成され得る(及び生成後に使用され得る)条件の一部を示すに過ぎないことが分かる。
チャットセッションの自動生成は、種々の効果を与える。チャットセッションの自動生成によってチャットベースシステム100の使用がユーザにとってより便利なものとなり得る。チャットセッションの自動生成によって種々のエンティティ(人間及び/又は非人間エンティティ)間のインタラクションがより便利となり得る。チャットセッションの自動生成によって、より大きな対象コミュニティがチャットベースシステム100でサービングされることが可能となる。少なくともある実施形態では、(例えば、デバイス、プログラムなどを表す)ソフトウェアバディは自動生成されたチャットセッションに挿入されていてもよく、これにより、人とデバイスの間のインタラクションがより便利なものとなる。チャットセッションの自動生成は、種々の他の効果をもたらすことができる。
なお、図1を再び参照すると、上述したように、少なくともある実施形態では、チャットベースシステム100は、拡張動作機能(例えば、図4に関して図示及び記載された拡張動作機能4014)をサポートするように構成され得る。拡張動作機能は、チャットベースシステムに通常関連付けられる機能(すなわち、人間同士の対話的なシリアルメッセージ交換)を超えた種々の機能を含み得る。拡張動作機能は、ここでは組込み動作機能ともいう。
拡張動作機能は、チャットセッションに関連付けられた機能、チャットセッションのグループに関連付けられた機能、任意の特定のチャットセッションから独立した機能など、その他これらの種々の組合せを含み得る。
拡張動作機能は、チャットセッションが確立される前、チャットセッションの継続中、チャットセッションが終了された後、又はこれらの種々の組合せにおいて実行されるチャットセッションに関連付けられた機能を含み得る。チャットセッションのライフサイクルにおける異なる時間に関連付けられるそのような機能の実施は、共通し、重複し、又は別個となることが分かる。
拡張動作機能は、チャットセッションが確立される前に実行されるチャットセッションに関連付けられる機能を含み得る。例えば、チャットベースシステム100は、チャットセッションのスケジューリングを制御するためのスケジューリング機能をサポートするように構成され得る。例えば、チャットベースシステム100は、スケジューリングされたチャット参加者にメッセージを送信して彼らに入着チャットセッションを通知するのにチャットセッションスケジューリング情報を用いて、それに関連付けられたチャットセッションスケジューリング情報(例えば、スケジュールチャット時間、スケジューリングされたチャット参加者、チャットセッション中に使用されるコンテンツなど)を有するスケジューリングされたチャットセッションを管理するように構成され得る。
拡張動作機能はチャットセッション中に実行され得る機能を含んでいてもよく、それはチャットセッションの状況内又はチャットセッションの状況外で実行される機能を含み得る。拡張動作は、チャットセッション内で交換されるメッセージのメッセージタイプ、チャットセッションで交換されたコンテンツなど、その他これらの種々の組合せに基づいて実行され得る機能を含んでいてもよい。
少なくともある実施形態では、チャットベースシステム100は、チャットセッションへの新たなチャット参加者の追加、チャットセッションからの既存のチャット参加者の削除など、チャットセッションのチャット参加者の組合せに対する変化に関係する種々の機能をサポートするように構成され得る。新たなチャット参加者の追加は、(例えば、既存のチャット参加者の1人以上への新たなチャット参加者の関連付けの検出に基づいて、新たなチャット参加者及び1人以上の既存のチャット参加者に関連付けられた状況情報に基づいてなど)自動的に実行され得る。同様に、既存のチャット参加者の削除は、(例えば、去っていくチャット参加者と1人以上の既存のチャット参加者との間の関連付けの消失の検出に基づいて、去っていくチャット参加者及び1人以上の既存のチャット参加者に関連付けられた状況情報に基づいてなど)自動的に実行され得る。新たなチャット参加者の追加は、(チャットセッションの既存のチャット参加者のグループについての状況情報を含み得る)既存のチャットセッションの状況情報を新たなチャット参加者に提供することを含んでいてもよい。既存のチャット参加者の削除は、チャットセッションから既存のチャット参加者の削除に関する更新された状況情報を残りのチャット参加者に提供することを含んでいてもよい。
少なくともある実施形態では、チャットベースシステム100は、チャットセッション中に交換されたメッセージに対するメッセージ修正機能をサポートするように構成され得る。メッセージ修正機能は、メッセージの情報を修正情報に変換するようにメッセージの情報を処理することをサポートすることができる。メッセージ修正機能は、第1のエンティティ110によって提供されて第2のエンティティ110への配信が意図された情報を受信すること、その情報を修正情報に変換するように情報を処理すること(例えば、第1のエンティティ110にサポートされる第1のフォーマットと第2のエンティティ110にサポートされる第2のフォーマットとの間でメッセージを変換するなどのために情報をあるフォーマットから他のフォーマットに変換すること、情報を追加の情報で補完することなど、その他これらの種々の組合せ)、及び修正情報を第2のエンティティ110に対して伝達することを含み得る。例えば、チャットベースシステム100は、第1のメッセージフォーマットをサポートする第1のエンティティ110(例えば、第1のエンティティ110が人間エンティティである場合の人が読むことができるテキスト)と第2のメッセージフォーマットをサポートする第2のエンティティ110(第2のエンティティ110が非人間エンティティである場合の機械可読テキスト)との間のチャットセッションの状況内で、第1のエンティティ110によってサポートされる第1のフォーマットと第2のエンティティ110によってサポートされる第2のフォーマットとの間のチャットセッションのメッセージを変換するように構成され得る。
少なくともある実施形態では、チャットベースシステム100は、チャットセッション内で交換された情報(例えば、キーワード又は他の適切な監視メカニズムに基づいて監視され得るメッセージ、組み込まれたコンテンツなど)を監視し、種々の条件の検出に基づいて種々のアクション(例えば、メッセージから不快又は要注意な情報を削除することによって不快又は要注意な情報を含むメッセージを修正して編集メッセージを形成し、その後編集メッセージを他のチャット参加者に拡散すること、不快又は要注意なメッセージをフィルタリングして不快又は要注意なメッセージの不要又は不適切な拡散を遮断すること、新たなチャットセッションが必要であり又は望まれることを示す単数又は複数のメッセージの検出に基づいて新たなチャットセッションの確立を開始すること、メッセージが質問を含むとの判断に応じて質問管理機能を実行すること、メッセージが質問に対する回答を含むとの判断に応じて回答管理機能を実行すること、メッセージのメッセージ属性が変更されるべきとの表示に基づいてメッセージのメッセージ属性を変更すること(例えば、メッセージを投稿したユーザからの属性を匿名のユーザ識別子に変更すること、メッセージを投稿したユーザからの属性を、メッセージを投稿したユーザ及び少なくとも1人の追加ユーザを含むユーザのグループに変更することなど)、メッセージタイプ又はコンテンツに基づいて1以上の追加のアクションを開始することなど、その他これらの種々の組合せ)を開始するように構成され得る。
少なくともある実施形態では、チャットベースシステム100は、チャットセッション内で交換されたメッセージのメッセージタイプに基づいて、強化された能力をサポートするように構成され得る。チャットセッション内で交換されたメッセージのメッセージタイプは、メッセージにおいて明示されてもよいし、メッセージ内に含まれるコンテンツに基づいて特定されてもよいし、その他これらの種々の組合せであってもよい。メッセージタイプは、「アクション」メッセージ、「質問」メッセージ、「回答」メッセージなど、その他これらの種々の組合せを含み得る。例えば、「アクション」メッセージは、そこから「アクション」メッセージが受信されるチャット参加者によってそれぞれ具体的に要求されたアクションを識別及び開始するように処理され得る。例えば、「質問」メッセージは、(例えば、チャット参加者が質問に投票すること、質問に対する回答を提供すること、質問に対する回答に投票することなど、その他これらの種々の組合せを可能とするために)チャットセッションのチャット参加者に拡散され、チャットセッションのチャット参加者から収集される(例えば、チャットセッションの1人以上の進行役又は司会者によって回答される)など、その他これらの種々の組合せにおいて行われ得る。例えば、「回答」メッセージは、(例えば、チャットセッションの他のチャット参加者から、チャットセッションの1人以上の進行役又は司会者などから)チャットセッションのチャット参加者に拡散され、チャットセッションを介して拡散又は収集された質問の優先度に関する情報を収集するように処理され、チャットセッションを介して拡散又は収集された質問の部分として出された回答の選択肢に関する投票結果を収集するように処理されるなど、その他これらの種々の組合せにおいて行われ得る。チャットセッション内で交換されたメッセージの特定のメッセージタイプ(例えば、「アクション」メッセージ、「質問」メッセージ及び「回答」メッセージ)についての強化された能力のサポートに関して主に説明するが、チャットベースシステム100は、チャットセッション内で交換されたメッセージの種々の他のメッセージタイプに基づいて、強化された能力をサポートするように構成されてもよいことが分かる。
少なくともある実施形態では、チャットベースシステム100は、チャットセッションの通信チャネルに関連付けられた実行可能ソフトウェアの利用可能性を検出して、実行可能ソフトウェアの実行を開始するように構成され得る。実行可能ソフトウェアは、通信チャネルを介して伝達され、通信経路に沿うノードに記憶されるなどしたメッセージ内で実行可能ソフトウェアが伝達され得る点で、チャットセッションの通信チャネルに関連付けられるといえる。例えば、チャットセッションのチャットメッセージ内の実行可能ソフトウェアの存在は、チャットセッションの通信経路に沿うノードによって検出されることができ、ノードはメッセージから実行可能ソフトウェアを検索してその実行可能ソフトウェアを実行することができる。例えば、実行可能ソフトウェアは、チャットセッションの通信経路に沿うノード上で記憶され、ノードは実行可能ソフトウェアが実行されるべきとの判断(例えば、実行可能ソフトウェアが実行されるべきとのインジケータのチャットメッセージ内での検出)に基づいて実行可能ソフトウェアを実行することができる。例えば、チャットセッションのメッセージが、入力を要する領域を有する文書(例えば、記入用紙)を含むものとし、特別なソフトウェアが、メッセージの受信者が文書に記入するのを補助するために実行されるものとする。例えば、「回覧」メッセージは、他の参加者の各々が元のメッセージを受信したことの通知を送信元が受信するまでメッセージが各読者から後続の参加者に渡るように、チャットセッションの参加者の間でサポートされ得る(例えば、アリス、ボブ及びチャーリーを含むチャットセッションにおいて、メッセージルーティングソフトウェアモジュールを含むチャットメッセージがアリスからボブに送信され、ボブがチャットメッセージを受信して回答(受領確認)をアリスに送信するとともにメッセージルーティングソフトウェアモジュールが実行されてチャーリーへのチャットメッセージの生成をもたらし、チャーリーがチャットメッセージを受信して回答(受領確認)をアリスに送信するとともにメッセージルーティングソフトウェアモジュールが実行されてアリスへのチャットメッセージの生成をもたらすなど)。
少なくともある実施形態では、チャットベースシステム100は、チャットセッション内で交換されたコンテンツを(例えば、周期的に、トリガ条件(例えば、記憶されるべき特定のタイプのコンテンツの検出、記憶されるべき特定のコンテンツに対するリクエストの検出など)に基づくなどして)記憶し、チャットセッションに関連付けられた状況情報を(例えば、周期的に、トリガ条件(例えば、状況の変化の検出、記憶されるべき状況に対するリクエストの検出など)に基づくなどして)記憶するなど、その他その種々の組合せを行うように構成され得る。
拡張動作は、チャットセッションが終了した後に実行されるチャットセッションに関連付けられた機能を含み得る。例えば、チャットベースシステム100は、チャットセッション中に生成されたコンテンツを(例えば、チャットセッションが終了させられた後のチャットセッションの参加者によって照会され得るコンテンツリポジトリを用いて)保持するように構成され得る。例えば、チャットベースシステム100は、チャットセッションのスケジューリングを制御するためのスケジューリング機能(例えば、終了したチャットセッションの状況内で交換される情報に基づいて1以上の新たなチャットセッションの確立を引き起こすこと)をサポートするように構成され得る。
拡張動作は、種々の他のタイプの機能を含み得る。例えば、チャットベースシステム100は、状況生成機能(例えば、種々のチャットセッションに対する種々の状況を生成し、状況情報を用いてチャットベースシステム100の実行を制御すること)、データ解析機能、関係通知機能など、その他これらの種々の組合せをサポートするように構成され得る。
図5に、チャットベースシステム内の拡張動作機能をサポートするための方法の例示的実施形態を示す。方法500のステップの少なくとも一部分は、シリアルに実行されるものとして図示及び記載されるが、同時に又は図5に関して図示及び記載されるものとは異なる順序で実行され得ることが分かる。ステップ501において、方法500が開始する。ステップ510において、第1のエンティティの第1のチャットアプリケーションと第2のエンティティの第2のチャットアプリケーションとの間で通信チャネルに関連付けられた条件が検出される。ステップ520において、制御アクションが、第1のエンティティの第1のチャットアプリケーションと第2のエンティティの第2のチャットアプリケーションとの間の通信チャネルに関連付けられた条件に基づいて開始される。ステップ599において、方法500は終了する。
拡張動作機能をサポートするチャットベースシステム100の構成は、種々の効果を提供する。拡張動作機能をサポートするチャットベースシステム100の構成は、チャットベースシステムに通常関連付けられるものを超える動作の実施を介して、チャットベースシステム100がより広範でかつ協力的なチャットベースシステムとなることを可能とし得る。拡張動作機能をサポートするチャットベースシステム100の構成は、チャットベースシステム100によってサポートされる種々のチャットベースの通信の利便性、有用性及び適用範囲を拡張し得る。拡張動作機能をサポートするチャットベースシステム100の構成は、種々の追加的使用形態(そのいくつかの例を上述した)に対するサポートを可能とする。拡張動作機能をサポートするチャットベースシステム100の構成は、チャットベースシステム100の範囲及び使用を他のタイプの環境、アクティビティなど、その他これらの種々の組合せに拡張し得る。拡張動作機能をサポートするチャットベースシステム100の構成は、ソフトウェアバディが、他の(いわゆる「アウトサイド」又は「第三者」)ソフトウェアの実行を統合し、調整し、あるいはそれと相互作用するためのメカニズムとして使用されることを可能とし得る。拡張動作機能をサポートするチャットベースシステム100の構成は、チャットベースシステム100の使用性及び価値を大幅に高めることができる。拡張動作をサポートするチャットベースシステム100の構成は、種々の他の効果を提供し得る。
なお、図1を再び参照すると、上述したように、少なくともある実施形態では、チャットベースシステム100は、関係識別及び通知機能(例えば、図4に関して図示及び記載した関係識別及び通知機能4015)をサポートするように構成され得る。チャットベースシステム100は、2以上のエンティティ110の間の関係を識別し、その関係の存在をエンティティ110に通知するように構成され得る。関係は、事前に存在する関係、発展途上の関係、潜在的な関係など、その他これらの種々の組合せを含み得る。
一般に、人々は、人及び彼らの周りの物に彼らがどのように関係しているかを知らないことが多い。例えば、ある人が鉄道の駅で他人の隣に座る場合があるが、それらの者の双方が最新のニュース報道に応じてオンラインでコメントを投稿した可能性がある。同様に、店又はアミューズメントパークで列に並ぶ二人が、共通のフェースブックの友達を有する可能性がある。例えば、ある人が、その人がオンラインで調べた商品を販売している小売店の付近にいる可能性がある。これらの場合の各々又は種々の他の場合において、チャットベースシステム100によってサポートされる関係識別及び通知機能は、人々が彼らの周囲環境(例えば、他の人々又は物との関係)をより良く知り、それにより、それらの人々による興味深い人々又は物とのかかわりを増加させることが可能となるように実行され得る。
チャットベースシステム100は、関係識別機能を実行するように構成され得る。チャットベースシステムは、2以上のエンティティ110の間の関係を識別するように構成され得る。エンティティ110間の関係の識別は、チャットベースシステム100内で交換される情報の処理に基づいて(例えば、エンティティ110の間、エンティティ110と関連のエンティティ代表120の間、エンティティ代表120の間、チャットベースコア130とエンティティ代表120の間など、その他これらの種々の組合せにおけるチャットベースのセッションを介して)実行され得る。エンティティ110間の関係の識別は、チャットベースシステム100の外部の1以上の情報源(例えば、通信サービスプロバイダの位置ベースサービスのサーバ、ソーシャルメディアプロバイダのサーバなど、その他これらの種々の組合せ)から入手可能な情報の処理に基づいて実行され得る。チャットベースシステム100の外部の1以上の外部情報源から入試可能な情報は、適切な態様で(例えば、チャットベースコア130と外部情報源の間に確立された専用インターフェースを介して、チャットベースコア130への外部情報源による情報の自動化された報告を介して、チャットベースコア130による外部情報源の照会を介してなど、その他これらの種々の組合せを介して)チャットベースシステム100によって取得され得る。エンティティ110間の関係の識別は、相互に関連近接内(これはエンティティ110、関係のタイプなどに応じて異なり得る)にあるものと判別されるエンティティ110に対して実行されてもよい。例えば、チャットベースシステム100は、位置ベースサービスのサーバからの位置情報を用いて位置に基づいて関係を特定するように構成され得る。例えば、チャットベースシステム100は、ソーシャルメディアウェブサイトのサーバからの、人とソーシャルメディアウェブサイトの間の接続を示す接続情報を用いて、共通の接続の表示(これは接続の程度を含み得る)に基づいて関係を特定するように構成され得る。例えば、チャットベースシステム100は、オブジェクト管理サーバからのオブジェクト位置及び能力情報を用いて、オブジェクト位置及び能力情報(例えば、ユーザがプリンタ付近に位置し、印刷用に文書をプリンタに送信するためのプリンタとインターフェースできるデバイスを使用しているかを判断するためのプリンタの位置及び能力、ユーザが自宅に位置し、ホームエンターテイメントシステムを制御するユーザが採り得るアクションのタイプをユーザに示しているかを判断するためのホームエンターテイメントシステム制御モジュールの位置及び能力など)に基づいて関係を特定するように構成され得る。なお、様々なそのような情報源から入手可能な種々の他のタイプの情報が、エンティティ間の関係を識別するのにチャットベースシステム100によって使用され得る。
チャットベースシステム100は、関係通知機能を実行するように構成され得る。チャットベースシステム100は、エンティティ110間の関係の識別(例えば、識別された関係のエンティティ110の部分、識別された関係のエンティティ110の全部など)を1以上のエンティティ110に通知するように構成され得る。チャットベースシステム100は、エンティティ110についての関係の識別をエンティティ110のチャットアプリケーション112を介して伝達されるチャットメッセージを介して(例えば、識別された関係をエンティティ110に報告する際の使用に特化した通信チャネル140において送信されるチャットメッセージを介して、エンティティ110によってサポートされる既存の通信チャネル140において送信されるチャットメッセージを介してなど、その他これらの種々の組合せを介して)、エンティティ110のチャットアプリケーション112の外部で伝達されるメッセージを介して(例えば、テキストメッセージ又は他の適切なメッセージングフレームワークを介して)など、その他これらの種々の組合せを介してエンティティ110に通知するように構成され得る。エンティティ110に送信される通知は、識別された関係の1以上の他のエンティティを識別し、選択的に、1以上の他のエンティティ110を発見し、又はそれと接触するのにエンティティ110によって使用される情報(例えば、1以上の他のエンティティ110の物理位置、1以上の他のエンティティ110についてのコンタクト情報など、その他これらの種々の組合せ)を含み得る。エンティティ110に送信される通知は、識別された関係に関するフィードバック(例えば、エンティティ110が識別済みの関係を有効又は有用と考えるか否かを示すこと、エンティティ110が識別済みの関係を追跡し、又はそれに対して行動するか否かを示すこと、エンティティ110が将来においてエンティティ110に対して識別された同様の関係を通知されたいか否かを示すことなど、その他これらの種々の組合せ)をエンティティ110が提供することを可能とするように適合された形態であってもよい。エンティティ110に送信される通知は、識別された関係の1以上の他のエンティティ110へのエンティティ110の紹介の形態であってもよい。エンティティ110に送信される通知は、ユーザの要求又はプログラムの開始に応じて提供されてもよい。プログラムの開始に基づいてエンティティ110に送信される通知は、(例えば、指定された条件を満たす新たな関係が発見されるなどの場合)1以上のメトリックに基づいて提供され得る。エンティティ110がエンティティ110のチャットアプリケーション112の状況内の識別された関係の通知を受信する場合、そのような追加の情報、フィードバックオプションなどがエンティティ110のチャットアプリケーション112の状況内で提供され、エンティティ110による識別された関係の管理及び使用をさらに容易化することができることが分かる。種々の他のタイプの情報又は能力は、エンティティ110について関係の識別に関するエンティティ110の通知と併せてエンティティ110に提供されてもよいことが分かる。
図6に、チャットベースシステム内で関係識別及び通知をサポートするための方法の例示的実施形態を示す。方法600のステップの少なくとも一部分は、シリアルに実行されるものとして図示及び記載されるが、同時に又は図6に関して図示及び記載されるものとは異なる順序で実行され得ることが分かる。ステップ601において、方法600が開始する。ステップ610において、第1のエンティティと第2のエンティティの間の関係が検出される。ステップ620において、関係の通知が、第1のエンティティにチャットベースの通信インターフェースを提供するように構成された第1のチャットアプリケーション又は第2のエンティティにチャットベースの通信インターフェースを提供するように構成された第2のチャットアプリケーションの少なくとも一方に伝達される。ステップ699において、方法600は終了する。
関係識別及び通知がチャットベースシステム(例えば、チャットベースシステム100又は任意の他の適切なチャットベースシステム)の状況内で実行される実施形態に関して主に説明するが、少なくともある実施形態では、関係識別及び通知が他のタイプのシステム又は環境で実行されてもよいことが分かる。
少なくともある実施形態では、例えば、関係識別及び通知は、サーバ又は通信環境内で動作している他のデバイスによって実行されるようにしてもよい。サーバ又は他のデバイスは、エンティティ間の関係を識別する際の使用のための情報にアクセスし、情報を処理してエンティティ間の関係を識別し、エンティティ間の識別された関係の通知を伝達するように構成され得る。エンティティは、エンティティによって(例えば、エンティティに関連付けられたデバイスに(例えば、人間エンティティ、オブジェクトなどについて)、エンティティ自体が通信能力をサポートする場合にエンティティなどに)ダウンロードされ得るアプリケーションを介して、関係識別及び通知サービスに登録し、これを使用することができる。例えば、エンティティは、エンティティに対する関係を識別するのに使用され得るタイプの情報、識別された関係がエンティティに通信される態様、エンティティに通信される識別済みの関係にエンティティが喚起される態様(例えば、アラートメッセージの表示、ユーザデバイスのバイブレーションなど)、エンティティが関係をさらに追跡する態様(例えば、識別された関係を有効又は無効な関係として受け入れ、又は却下すること、導入メッセージ又はコールの開始など)など、その他これらの種々の組合せを構成するアプリケーションを使用することができる。例えば、エンティティは、識別された関係の通知を、アプリケーションを介して受信することができる。例えば、エンティティは、識別された関係の通知を受信した後に、識別された関係についての更なる情報に、アプリケーションを介してアクセスすることができる。例えば、エンティティは、識別された関係の通知を受信した後に、識別された関係を、アプリケーションを介して受け入れ、又は却下することができる。例えば、エンティティは、識別された関係の通知を受信した後に、識別された関係の1以上の他のエンティティとの接続を、アプリケーションを介して開始することができる。関係識別及び通知についてチャットベースシステムによってサポートされる種々の他の機能がアプリケーションを介してサポートされてもよいことが分かる。
少なくともある実施形態では、例えば、関係識別及び通知は、サービスユーザと付近の人及び物との間の関係(例えば、事前に存在する関係、発展途上の関係など、その他これらの種々の組合せ)を発見及び報告するデータ解析機能のセットを管理するソフトウェアフレームワーク(例えば、制御ソフトウェア及び関連の入出力機能を含む)を用いて実行され得る。少なくともある実施形態では、サービス顧客エンドポイントデバイス上で実行されるプログラムは、その人と付近の人又は物との間の関係の通知を提供する。通知は、サービス顧客エンドポイント上で実行されるプログラムによって使用されるサービスパラメータ設定に従って、ユーザの要求又はプログラムの開始に応じて提供され得る。プログラム開始の通知は、(例えば、指定された条件を満たす新たな関係が発見される場合などに)種々のメトリックに従って提供され得ることが分かる。関係は、単数又は複数の遠隔サーバ上で実行されるデータ解析ソフトウェア機能によって発見され得る。エンドポイントプログラム及び解析ソフトウェアは、エンドポイントデバイスとサーバの間で送信されるメッセージを介して通信することができる。解析ソフトウェアは、単一又は複数のデータベースへの照会を介して検索されるデータに基づいて関係を識別することができる。解析ソフトウェアは、データのストリームを介して収集されるデータ(例えば、セルノードコントローラからストリーミングされたモバイルデバイスについての地理的位置の更新、デバイス間のM2M通信など)に基づいて関係を識別してもよい。解析ソフトウェアは、そのような情報に基づいて付近の人又は物の間の関係を発見し、発見された関係をユーザエンドポイント上で実行されるサービス制御ソフトウェアに報告するように構成され得る。
関係識別及び通知機能の使用は、チャットベースシステムの状況内で使用されるかチャットベースシステムから独立して使用されるかにかかわらず、種々の効果を提供する。関係識別及び通知機能の使用は、ユーザ関心事リストをユーザデバイスがブロードキャストすることを要さずに、かつブロードキャストされたユーザ関心事リストをユーザデバイスが受信及び処理することを要さずに、関係の識別及び通知を可能とし、オーバーヘッド(例えば、通信オーバーヘッド、処理オーバーヘッドなど)を低減しつつ関係の識別性及び通知性を向上し、識別及び通知され得る関係(例えば、ユーザ関心事リストの比較を介して識別されなかったか識別できなかった関係、人と物の間の関係、物同士の関係など、その他これらの種々の組合せ)の範囲を向上及び拡張することができる。関係識別及び通知機能の使用は、自律的フレームワークの状況内の関係の識別及び通知を容易化することによって、識別及び通知され得る関係の範囲(例えば、モバイル環境における関係の識別及び通知、変化する環境における関係の識別及び通知など、その他これらの種々の組合せ)を大幅に向上及び拡張する。関係識別及び通知機能の使用が新たな通信機会(例えば、人同士の新たな通信機会、人と物の間の新たな通信機会、物同士の新たな通信機会など)を創出することが期待される。関係識別及び通知機能の使用は、種々の他の効果を提供し得る。
なお、図1を再び参照すると、上述したように、少なくともある実施形態では、チャットベースシステム100は、チャットベースシステム100の状況内で交換される質問及び回答の管理(例えば、図4に関して図示及び記載される質問/回答管理機能4016)をサポートするように構成され得る。
少なくともある実施形態では、チャットベースシステム100は、チャットセッション内の質問又は回答を監視し、チャットセッション内の質問の検出に基づいて種々の制御アクション(例えば、チャットセッションの特定のチャット参加者への質問の伝達、チャットセッションのすべてのチャット参加者への質問の拡散、質問事項又は他の構造化された質問の集合(例えば、調査、投票など)の生成など、その他これらの種々の組合せ)を実行し、又はチャットセッション内の回答の検出に基づいて種々の制御アクション(例えば、チャットセッションの特定のチャット参加者への回答の伝達、チャットセッションのすべてのチャット参加者への回答の拡散、投票結果又は他の構造化された回答の集合の生成など、その他これらの種々の組合せ)を実行するように構成され得る。チャットセッション内の質問及び回答の検出は、チャットセッション内で交換されるメッセージのメッセージタイプを監視すること、チャットセッション内で交換されるメッセージのコンテンツを監視することなど、その他これらの種々の組合せによって実行され得る。例えば、質問又は回答は、テキスト、シンボル若しくは他の適切な情報の特定のストリング又はこれらの種々の組合せ(例えば、質問を含むメッセージについて「question」、回答を含むメッセージについて「answer」、質問を含むメッセージについて「#question」、回答を含むメッセージについて「#answer」など)を用いてチャットメッセージ内で示され得る。
少なくともある実施形態では、チャットベースシステム100は、チャットセッションのチャット参加者からの質問を検出し、チャットセッションを用いて質問をチャットセッションの他のチャット参加者に拡散するように構成され得る。例えば、質問は、チャットセッションのいずれかの参加者、チャットセッションの司会者又は進行役(例えば、学習環境をサポートするチャットセッションの状況内の教師、企業のバーチャルなタウンホールミーティングをサポートするチャットセッションの状況内の企業の役員など)などによってチャットメッセージにおいて提出され得る。質問は、チャットセッション内の他のチャット参加者に提供されるチャットメッセージ(質問を含む)、チャットセッションの他のチャット参加者への回答ボタン(例えば、「はい」及び「いいえ」回答ボタン又は他の適切な回答ボタン)の提示など、その他これらの種々の組合せの形態において他のチャット参加者に拡散され得る。質問は、他のチャット参加者が質問に対する回答を提出できるようにするため、他のチャット参加者が質問と併せて提供される回答を投票できるようにするためなど、その他これらの種々の組合せのために、チャットセッションの他のチャット参加者に拡散され得る。
少なくともある実施形態では、チャットベースシステム100は、チャットセッションの1人以上のチャット参加者から質問を収集するように構成され得る。収集された質問は、チャットセッションのすべてのチャット参加者に拡散され、チャットセッションのチャット参加者のそれぞれの組に(例えば、それぞれチャット参加者の役割及び質問のコンテンツに基づいて)拡散され、チャットセッションの1人以上の進行役(例えば、教師による検討のために生徒が質問を提出し得る学習環境をサポートするチャットセッションの状況内の教師、企業の役員による検討のために企業のバーチャルなタウンホールミーティングに参加している従業員又は他の者が質問を提出し得る企業のバーチャルなタウンホールミーティングをサポートするチャットセッションの状況内の企業の役員など)に提供されるなど、その他これらの種々の組合せが行われる。質問は、チャットセッション内のチャット参加者に提供されるチャットメッセージ(質問を含む)、チャットセッションのチャット参加者に対する回答ボタン(例えば、「はい」及び「いいえ」回答ボタン又は他の適切な回答ボタン)の提示など、その他これらの種々の組合せの形態でチャットセッションの単数又は複数のチャット参加者に拡散され得る。質問は、チャット参加者が質問に対する回答を提出できるようにするため、チャット参加者が回答を見たいと思う質問に投票できるように(例えば、収集された質問の少なくとも一部に回答することが期待されるチャットセッションの1人以上の進行役によるハンドリングのために質問を優先度付けできるように)するため、質問と併せて提供される回答にチャット参加者が投票できるようにするためなど、その他これらの種々の組合せのために、チャットセッションの単数又は複数のチャット参加者に拡散され得る。収集された質問は、チャットセッションを用いてその後(例えば、チャットセッションのすべてのチャット参加者、チャットセッションのチャット参加者のサブセット、チャットセッションの1人以上の進行役など、その他これらの種々の組合せに)拡散され得る質問事項の形態にまとめられてもよい。
少なくともある実施形態では、チャットベースシステム100は、質問メッセージに関する1以上の回答メッセージを検出し、1以上の回答メッセージを処理して質問メッセージに関する1以上の機能(例えば、質問に対する回答の拡散、質問の優先度付け、質問に関する投票結果の収集など、その他これらの種々の組合せ)を提供するように構成され得る。例えば、チャットセッションを介してチャット参加者から受信された質問に対する回答を含むチャットセッションのチャット参加者からのメッセージは、(チャット参加者の1人によって提出された質問について、チャットセッションの司会者又は進行役のようなチャットセッションの特定のチャット参加者によって提出された質問などについて)チャットセッションの他のチャット参加者の各々に拡散され、チャットセッションの司会者又は進行役のようなチャットセッションの特定のチャット参加者に伝達されるなど、その他これらの種々の組合せが行われ得る。例えば、チャットセッションを介してチャット参加者によって受信された質問に対するリファレンスを含むチャットセッションのチャット参加者からの(例えば、質問を識別するハッシュタグ及びリファレンスを含む)メッセージは、チャットセッション中に1人以上のチャット参加者によって投稿された質問の優先度付けを特定する目的のために(例えば、チャットセッションの進行役又は司会者などによって、チャットセッションの状況内で投稿された質問が対処されるべき優先順位を特定する際の使用のために)カウントされてもよい。例えば、チャットセッションを介してチャット参加者によって受信された質問に対する回答を含む(例えば、回答のセットを含み、チャットセッションの参加者が回答の1つを選択することによって質問に投票するように要求する)チャットセッションのチャット参加者からのメッセージは、質問に関する投票結果を特定する目的のためにカウントされ得る。
少なくともある実施形態では、チャットベースシステム100は、チャットセッションを介して提供される回答メッセージの処理に基づいて投票結果を特定し、チャットセッションを介して投票結果を拡散するように構成され得る。少なくともある実施形態では、チャット参加者が特定の質問メッセージへの関心を示す回答メッセージを提出する場合、質問メッセージのうちの質問は優先度に基づく扱いのために優先度付けされてもよく(例えば、最多数の回答メッセージが寄せられた質問が最初に対応され、次に多い回答メッセージが寄せられた質問が2番目に対応されるなど)、そして質問の優先度付けの結果がチャットセッションを介して(例えば、すべてのチャット参加者に、チャット参加者のサブセットに、質問が扱われなければならない又は扱われるべき順序をチャットセッションの進行役又は司会者に通知するようにチャットセッションの進行役又は司会者などに、その他これらの種々の組合せに)伝達されてもよい。例えば、スライドのセットを用いて生徒にプレゼンテーションを行う教師は、スライドを(教師及び生徒が参加している)チャットセッションを介して拡散し、質問を生徒に送信し、そしてチャットセッションを介して生徒によって提出された回答を提示され得る。例えば、教師がスライドのセットを用いて生徒にプレゼンテーションを行う場合、教師はスライドを(教師及び生徒が参加している)チャットセッションを介して拡散するようにしてもよいし、生徒は教師による検討のためにスライドについての質問を提出するようにしてもよいし(例えば、グラフを示すスライド17についての質問がある生徒は「スライド4のx軸の測定単位は何ですか?」を含むチャットメッセージを送信するようにしてもよいし)、生徒達は彼らの同級生によって提出された質問に(例えば、「#質問スライド4」を含むチャットメッセージを送信することによって)投票するようにしてもよいし、そして教師が、優先度付けされた態様で質問に対して応答する際の使用のために、提出された質問の優先度付けリストを提示されるようにしてもよい。少なくともある実施形態では、特定の質問と併せて与えられた回答の選択肢を示す回答メッセージをチャット参加者が提出する場合、特定の質問と併せて与えられた回答に対するチャット参加者による投票が収集されるようにしてもよく、そして特定の質問に対する投票結果がチャットセッションを介して(例えば、すべてのチャット参加者に、チャットセッションの進行役又は司会者が結果を他のチャット参加者に報告できるようにするためチャットセッションの進行役又は司会者などに、その他これらの種々の組合せに)伝達されるようにしてもよい。例えば、企業の役員が従業員とチャットセッションを介してバーチャルなタウンホールミーティングを開催している場合、企業の役員は、従業員に質問及び2つの候補となる回答(例えば、「次の取締役会をニューヨーク、ロサンジェルス又はアントワープで開催すべきでしょうか?」などの質問)をチャットセッションを介して提出することができ、従業員は、質問に対する選択された回答を含むメッセージを送信することによって質問に投票することができ、投票結果がチャットセッションを介してチャット参加者の全員(企業の役員及び従業員)に拡散されるようにすることができる。
少なくともある実施形態では、チャットベースシステム100は、チャットセッション内で交換された質問又は回答に基づいて追加の制御アクションを実行するように構成され得る。例えば、追加の制御アクションは、コンテンツをチャットセッションの参加者に自動的に表示することを含み得る。チャットセッションの参加者へのコンテンツの自動表示は、コンテンツが質問又は回答において照会されたことの検出、コンテンツが閾数の質問又は閾数の回答において照会されたことの検出などに基づいて実行され得る。チャットセッションの参加者へのコンテンツの自動表示は、チャットセッションの状況内、チャットセッション状況外で、その他これらの組合せで行われ得る。例えば、追加の制御アクションは、チャットセッションを介してチャット参加者によって提供されるリアルタイムのフィードバックに基づいてチャットセッションの司会者又は進行役にガイダンスを生成及び提供することを含み得る(例えば、チャット参加者がリアルタイムガイダンス及びフィードバックを講演者にチャットセッションを介して提供することを可能とするのに、#遅くする、#速くする、#繰り返す、などのようなハッシュタグがチャット参加者に利用可能となるようにしてもよい)。例えば、追加の制御アクションは、質問又は回答について、(例えば、シリアル番号、質問元、質問の話題など、その他これらの種々の組合せに基づく)メッセージのアイデンティティの生成、又は(例えば、質問元、質問の話題、質問における報告された関心レベルなど、その他これらの種々の組合せに基づく)メッセージの分類を含み得る。例えば、追加の制御アクションは、回答又は投票結果をチャットセッションの状況外の要素に報告することを含み得る。種々の他の制御アクションが考えられる。これら及び他の制御アクションは、生徒への教授による講義を促進するチャットセッションの使用に関する以下の例を検討することによってより深く理解できる。教授及び学生は、チャットセッションの状況内でメッセージを交換することができ、ここで、あるメッセージがメッセージ内で関心事となる情報の存在を(例えば、メッセージ内の質問又は回答の存在を示すハッシュタグ又は他の適切な記号若しくはインジケータの使用を介して)示すように構成され得る。チャットセッションの状況内で交換されたメッセージが、指定メッセージのコンテンツを識別するのに監視され得る。指定メッセージ又はその部分は、種々のディスプレイでのプレゼンテーションのために送信され得る(例えば、すべてのチャット参加者、学生のみ、教授のみなど)。例えば、授業の講義中に学生によって生成されたハッシュタグ#質問を含むメッセージの質問部分が、教授によって使用されているモニタ上の情報の表示を管理するモジュールに転送されてもよい。指定メッセージ又はその部分は、識別又は分類のために解析されてもよく、その識別又は分類はメッセージに関連付けられ、又は種々の態様で管理される。例えば、ハッシュタグ#質問によって指定されるメッセージが収集され、それらのメッセージのコンテンツ部分が、質問アイデンティティ又はカテゴリを生成するのに解析されてもよいし、ハッシュタグ#回答によって指定されるメッセージが収集され、それらのメッセージのコンテンツ部分が、回答アイデンティティ又はカテゴリを生成するのに解析されるなどしてもよい。例えば、メッセージは、メッセージのメッセージ源によってメッセージ又はメッセージのコンテンツを識別又は分類する(例えば、キーワード識別又は他の自然言語処理能力を用いる)自然言語処理に基づいて解析されてもよい。例えば、メッセージのコンテンツ部分は、トピックによってメッセージ又はメッセージのコンテンツを識別又は分類する(例えば、キーワード識別又は他の自然言語処理能力を用いる)自然言語処理に基づいて解析されてもよい。例えば、質問又は回答のアイデンティティは、各質問又は回答に対して、シリアル番号(例えば、第1の質問に対して#Q1、第2の質問に対して#Q2、第1の回答に対して#A1、第2の回答に対して#A2など)を用いて、質問元アイデンティティ(例えば、ユーザ1からの質問に対して#Qユーザ1、ユーザ4からの質問に対して#Qユーザ4、ユーザ6からの回答に対して#Aユーザ6、ユーザ4からの回答に対して#Aユーザ3など)を用いて、ハッシュタグをラベル付けすることによって形成され得る。例えば、質問又は回答の分類は、各質問又は回答にカテゴリコードをラベル付けすることによって形成され得る。例えば、メッセージは、自動的に、又はチャットセッション中に発生するイベントに従ってチャット参加者によってラベル付けされ得る。例えば、学生は、チャット参加者が、彼らの質問に基づくスライド資料に対応するハッシュタグを用いてメッセージをラベル付けするような場合には、授業の講義中に用いるスライドの番号をメッセージにラベル付けするようにしてもよい(例えば、スライド14に関する質問が「#スライド14、x軸の測定値の単位は何ですか」のメッセージなどによってハッシュタグ#スライド14でラベル付けされてもよい)。例えば、追加の処理が、メッセージのラベル付けに基づいてサポートされ得る(例えば、教授がスライド14に関する質問の受信を確認した場合に、教授がその質問に回答しつつ学生による視聴のためにプロジェクタがスライド14を表示するようにスライド投影制御メッセージが送信されるようにしてもよい)。メッセージの識別、分類又は印付けは階層的であってもよいことが分かる(例えば、メッセージの1以上のカテゴリをさらに下位カテゴリに分類するなど)。質問又は回答は種々の他の態様で識別、分類、印付け又は管理され得ることが分かる。メッセージの識別、分類又は印付けは、追加の機能(例えば、カテゴリごとのメッセージの優先度付け、カテゴリごとの回答又は投票の集計など)を提供するのに使用され得る。例えば、チャット参加者は、質問又は回答のハッシュタグ(例えば、#Q1、#Q2、#A1、#A4など)とともにメッセージを送信することによって質問又は回答への彼らの評価を表現するようにしてもよく、最上位の質問又は回答の少なくとも一部の優先度付けランキングがチャット参加者(例えば、学生及び教授、学生のみ、教授のみなど)への表示のために伝達されてもよい。例えば、カテゴリ内でのメッセージ数のカウントが集計されてもよく、このカウントが参加者のデバイスのディスプレイに送信されてもよい。メッセージの分類に基づいて実行された追加の機能の結果は、種々のセットのチャット参加者(例えば、すべての参加者、チャット参加者のサブセット、個々のチャット参加者など)に伝達され得る。
少なくともある実施形態では、質問メッセージ及び回答メッセージがチャット参加者によって生成される実施形態に関して主に説明するが、チャットベースシステム100(例えば、チャットベースコア130、エンティティ代表120など)は、チャット参加者によって生成されたメッセージに基づいて質問メッセージ及び回答メッセージを生成するように構成されてもよい。例えば、所与のチャット参加者が質問メッセージを送信する場合、チャットベースコア130は、質問メッセージを検出し、チャット参加者に質問に回答するように要求するチャット参加者への対応の質問メッセージを生成するように構成され得る。所与のチャット参加者から受信した質問メッセージを単に転送するのではなく、他のチャット参加者に対して質問メッセージを生成することによって、所与のチャット参加者から受信された質問メッセージが転送される場合よりも、質問への回答をより好都合でかつ直感的なものとする態様で質問が形式化されることができる(例えば、任意回答とするのではなく、回答選択肢の表示を可能として、利用可能な回答のセットからチャット参加者が選択可能とする)。同様に、例えば、所与のチャット参加者が回答メッセージを送信する場合、チャットベースコア130は、回答メッセージを検出し、チャット参加者への対応の回答メッセージを生成するように構成され得る。所与のチャット参加者から受信した質問メッセージを単に転送するのではなく、他のチャット参加者に対して質問メッセージを生成することによって、所与のチャット参加者から受信された質問メッセージが転送される場合よりも、回答の理解をより好都合でかつ直感的なものとする態様で回答が形式化されることができる(例えば、回答の表示を可能とすることが標準形式となる)。チャットベースシステム100は、質問及び回答を管理することの状況内で他のタイプの自動化メッセージ生成をサポートするように構成されてもよい。
少なくともある実施形態では、チャットベースシステム100は、収集モジュール(又は複数のモジュール)及びメッセージ処理モジュール(又は複数のモジュール)を含むモジュールのセットを用いてチャットベースシステム100の状況内で交換される質問及び回答の管理をサポートするように構成され得る。収集モジュールは、チャット参加者によって交換されるメッセージを監視し(この場合、あるメッセージが、メッセージ内の質問又は回答の存在を示すハッシュタグ又は他の適切な記号若しくはインジケータを用いるなどして、メッセージ内の対象となる情報の存在を示すように構成され得る)、チャット参加者によって交換される対象のメッセージ内に含まれる情報(例えば、ここでも、質問、回答など、その他これらの種々の組合せを)を記録するように構成され得る。メッセージ処理機能は、収集された指定メッセージを特定の処理命令に従って扱うように構成されてもよく、これは(例えば、チャットセッションの実行前に)予め特定され、チャットセッション中に生成されるなど、その他これらの種々の組合せで行われ得る。処理命令の生成は、チャットベースシステム100内の機能の実行の一部として、チャットベースシステム100外の要素から受信された信号に応じて、その他これらの種々の組合せにおいて、実行され得る。したがって、メッセージ処理モジュールが種々の(そしておそらくは変化する)アクションを実行し得ることが分かる。
質問及び回答の管理に関する上記実施形態及び例は、質問及び回答がチャットベースシステム100の状況内で管理及び使用され得る種々の態様のうちの一部でしかないことが分かる。
質問及び回答がチャットベースシステム(例えば、チャットベースシステム100又は任意の他の適切なチャットベースシステム)の状況内で行われる実施形態に関して主に説明するが、少なくともある実施形態では、質問及び回答の管理は他のタイプのシステム又は環境内で行われてもよいことが分かる。
少なくともある実施形態では、例えば、質問及び回答の管理は、通信環境内で動作しているサーバ又は他のデバイスによって実行され得る。サーバ又は他のデバイスは、質問及び回答を識別し、種々のパラメータ(例えば、質問又は回答の送信元、質問又は回答の送信先、質問又は回答の目的の表示など、その他これらの種々の組合せ)に基づいて適切なアクションをとるように構成され得る。質問及び回答の管理機能は、当事者となるべきエンティティによって質問及び回答の管理機能の使用に対してダウンロードされ得るアプリケーションの状況内で提供され得る。例えば、エンティティは、アプリケーションを用いて、質問事項を生成し、拡散された質問事項に基づいて票を収集するなど、その他これらの種々の組合せを行うことができる。質問及び回答の管理のためにチャットベースシステムによってサポートされる種々の他の機能もアプリケーションを介してサポートされ得ることが分かる。
少なくともある実施形態では、例えば、質問及び回答の管理は、質問を検出し、質問から質問事項を生成し、回答を検出し、回答から結果(例えば、ほとんどの場合は回答、投票のシナリオについては投票結果など)を生成するなど、その他これらの種々の組合せを行うデータ解析機能のセットを管理するソフトウェアフレームワーク(例えば、制御ソフトウェア及び関連する入出力機能を含む)を用いて実行され得る。少なくともある実施形態では、サービス顧客エンドポイントデバイスで実行されるプログラムは、質問の入手可能性の通知、回答に基づく結果の入手可能性など、その他これらの種々の組合せを提供する。通知は、サービス顧客エンドポイントで実行されるプログラムによって使用されるサービスパラメータ設定に従って、ユーザの要求又はプログラムの開始に応じて提供され得る。プログラムの開始による通知は種々のメトリック(例えば、対象となる質問、対象となる投票結果など)に従って提供され得ることが分かる。質問及び回答の管理は、単数又は複数の遠隔サーバで実行されるデータ解析ソフトウェア機能によって実行され得る。エンドポイントプログラム及び解析ソフトウェアは、エンドポイントデバイスとサーバの間で送信されるメッセージを介して通信することができる。解析ソフトウェアは、質問を検出し、質問から質問事項を生成し、回答を検出し、回答から結果(例えば、多くの場合は回答、投票のシナリオについては投票結果など)を生成するなど、その他これらの種々の組合せを行うことができる。
質問及び回答の管理機能は、様々な他のタイプのシステム又は環境内で行われてもよいことが分かる。
質問及び回答の管理が特定のタイプの対話型メッセージ環境(すなわち、チャットベースシステム100などのチャットベースシステム又はリアルタイムのグループチャットセッションをサポートする任意の他の適切なチャットベースシステムのリアルタイムのグループチャットセッション)の状況内で行われる実施形態に関して主に説明するが、質問及び回答の管理は種々の他のタイプの対話型メッセージ環境内で行われてもよいことが分かる。例えば、質問及び回答の管理は、リアルタイムのグループチャットセッション(例えば、ソーシャルメディアサイトを介したグループチャット又はインスタントメッセンジャー能力、ユーザグループのユーザ間のリアルタイムのメッセージングをサポートするアプリケーションなど)をサポートする他のタイプの対話型メッセージ環境の状況内で、ユーザによるメッセージの投稿(例えば、ユーザが投稿することができ、他のユーザがそれを見て選択的にメッセージに応答するためにアクセスすることができるオンラインメッセージ板)をサポートする対話型メッセージ環境の状況内などで、その他これらの種々の組合せにおいて行われ得る。したがって、ここで「対話型メッセージ環境」とは、そのようなメッセージが他のユーザに(例えば、チャットセッション又はユーザへのメッセージの自動配信をサポートする他の同様のセッションを介して)自動的に配信され、他のユーザの入手可能性のために投稿され得る場合(例えば、他のユーザが、投稿されたメッセージの入手可能性に関して通知され、又は通知されない場合)など、その他これらの種々の組合せにおいて、質問若しくは回答の管理に関するコンテンツ(例えば、質問、質問への照会、回答、回答への照会など)を含み得るメッセージの取扱いをサポートする任意のシステム若しくはプラットフォームであり、又はそれを含むものとして、より一般化されて読まれるものとする。メッセージによる質問及び回答の管理のより概略的な実施に関する実施形態を、図7に関して図示及び記載する。
図7は、質問及び回答の管理機能をサポートするための方法の例示的実施形態を示す。方法700のステップの少なくとも一部は、シリアルに実行されるものとして図示及び記載されるが、同時に又は図7に関して図示及び記載されるものとは異なる順序で実行されてもよいことが分かる。ステップ701において、方法700が開始する。ステップ710において、メッセージが、対話型メッセージ環境を介して受信される。対話型メッセージ環境はユーザグループをサポートし、メッセージはユーザグループのうちのユーザの1人から受信される。ステップ720において、制御アクションが、メッセージが質問を含むとの判定に応じて対話型メッセージ環境を介して実行される。ステップ799において、方法700は終了する。対話型メッセージ環境を介して受信されたメッセージが質問を含むとの判定に基づいて制御アクションが開始される実施形態に関して主に図示及び記載するが、方法700は、対話型メッセージ環境を介して受信されたメッセージが以前のメッセージの質問の照会、以前のメッセージの質問への回答、以前のメッセージの回答の照会など、その他これらの種々の組合せを含むとの判定に基づいて制御アクションを実行するように適合されてもよいことが分かる。
質問及び回答の管理機能を使用することによって、チャットベースシステムの状況内で使用されるか、チャットベースシステムから独立して使用されるかにかかわらず、種々の効果が得られる。質問及び回答の管理機能の使用は、質問又は回答を拡散し、意見をまとめ、集票するなど、その他これらの種々の組合せを行うために必要とされる中間メッセージ及び応答の集計への直接のサポートを提供することができる。質問及び回答の管理機能の使用によって、特にチャットベースシステムの状況内で人々がチャットセッション中に意見又は投票を好都合にかつ直感的に要求又は提供することが可能となる。特にチャットベースシステムの状況内でユーザが質問の集合(例えば、アンケート、投票用紙又は他の構造化された情報のリクエスト)を生成及び公表し、回答の集合(質問に対する回答、投票又は他の構造化されたフィードバック)を拡散及び公表するなど、その他これらの種々の組合せを行うことを可能とする好都合でかつ直感的なインターフェースを、質問及び回答の管理機能を使用することによって提供することができる。質問及び回答の管理機能の使用によって、アドホック問題における電子投票及びフィードバックの普及を拡大することができる。会議システム内で質問及び回答の管理機能を使用することによって、会議システムの価値を高め、それにより、そのようなシステムの使用を増加させることができる。質問及び回答の管理機能の使用は、他の効果を提供し得る。
質問及び回答がチャットセッションに関与する人間エンティティによって生成される実施形態に関して主に図示及び記載するが、前述したように、チャットベースシステム100は、質問又は回答が非人間エンティティによって提供され得る質問及び回答の管理をサポートするように構成されてもよいことが分かる。少なくともある実施形態では、質問はある情報を取得する遠隔手順の呼出しを実行するリクエストであってもよく、遠隔手順に応じて受信される情報は関連する回答とみなされてもよい。例えば、ユーザは自家用車の各々とのグループチャットセッションに参加し、グループチャットセッションの状況内で「各々どれだけのガソリンを先週消費したか?」のような質問をすることができ、チャットセッションを介した車両のチャットアプリケーションによる質問の検出は車両の各々に質問に応じたガソリン使用量のローカルな問合せ(例えば、車両のチャットアプリケーションから車両のガソリン消費監視機能への問合せ)を行わせ、そして車両の各々はグループチャットセッションの状況内でそのガソリン使用量を報告することができる。例えば、家計支出についての情報を収集するように構成されたチャットエンティティは、家庭の長によって、家庭のメンバーの各々とのグループチャットセッションに参加し、家庭のメンバーによってなされる特定のタイプの支出に関する情報について家庭のメンバーに周期的に問い合わせるように構成され、チャットエンティティから家庭のメンバーへの問合せは彼らのそれぞれのチャットアプリケーションを介して家庭のメンバーに配信及び提示され、家庭のメンバーはチャットエンティティによって要求された支出情報を提供することによって問合せに応答し、チャットエンティティは受信した支出情報を処理すること(例えば、家庭の長に報告を生成すること、家庭の長に提供されるべきアラートをトリガすることなど)ができる。上記の例は、質問/問合せ及び回答/情報がチャットセッションの状況内で交換される種々の態様の一部でしかないことが分かる。
任意のインジケータ(例えば、ハッシュタグ、特定の文字若しくは文字列又は他のインジケータ)が特定のタイプの作用されるべきコンテンツ(例えば、質問、質問に関するコンテンツ、回答、回答に関するコンテンツなど)を示すのに使用され得る実施形態に関して主に図示及び記載するが、少なくともある実施形態では、チャットベースシステム100は、コンテンツを搬送するメッセージ内の特定のインジケータの識別に基づいてチャットベースシステム100の状況内で交換されるコンテンツの管理をサポートするように構成されてもよいことが分かる。例えば、ハッシュタグ又は他の適切なタイプのインジケータを含む任意のメッセージが検出及び作用されてもよく、トリガされ得る制御アクションは検出されたメッセージ内に含まれるコンテンツに依存していてもよいし、それから独立していてもよい。
質問及び回答の管理に関する特定の制御アクション(例えば、チャット参加者への質問又は回答の拡散、表示画面への質問又は回答の表示、質問事項の生成、投票又は他の目的などのための回答の集中化など)がサポートされる実施形態に関して主に図示及び記載するが、少なくともある実施形態では、チャットベースシステム100は、所定タイプのインジケータ、コンテンツ又はこれらの組合せを含むメッセージの検出に応じて実行され得る種々の他のタイプの制御アクションをサポートするように構成されてもよい。例えば、他のタイプの制御アクションは、電話機若しくはコンピュータへのコール又はメッセージの開始、ローカルな手順の呼出し又はリモートな手順の呼出しの開始など、その他これらの種々の組合せを含み得る。
なお、図1を再び参照すると、上述したように、少なくともある実施形態では、チャットベースシステム100は、チャットベースシステム100の状況内で交換されたメッセージについてのメッセージ属性の管理をサポートするように構成され得る(例えば、図4に関して図示及び記載したメッセージ属性管理機能4017)。
少なくともある実施形態では、チャットベースシステム100は、様々なレベル又は程度のプライバシーをチャットセッションにおけるチャット参加者に提供するように構成され得る。チャットベースシステム100は、メッセージがユーザに帰属することを示すメッセージ属性を有するチャット参加者のメッセージを受信し、メッセージについてのメッセージ属性を修正してメッセージについての修正メッセージ属性を形成し、メッセージについての修正メッセージ属性を用いてチャットセッションのチャット参加者への配信のためにメッセージを伝達させることによってプライバシーをチャットセッションのチャット参加者に提供するように構成され得る。
少なくともある実施形態では、チャットベースシステム100は、チャットセッションの状況内で交換されたメッセージに適用されたプライバシーのレベルをチャット参加者が制御することを可能とすることによって、チャットセッションにおいてチャット参加者に様々なレベル又は程度のプライバシーを提供するように構成され得る。チャット参加者には、チャット参加者メッセージの送信元が記述されるべき態様(例えば、チャット参加者に帰属され、匿名とされ、メッセージの送信元であるチャット参加者を含む又は含まないチャット参加者グループに帰属されるなど)を指定する能力が与えられてもよい。チャット参加者は、個々のメッセージについて、メッセージのグループ(例えば、多数のメッセージ、期間、指定されたプロパティ(例えば、特定の単語、特定のハッシュタグなど)を有するメッセージ)について、個々のチャットセッションについて、チャットセッションのグループに(例えば、特定のチャット参加者を含むチャットセッション、閾数のチャット参加者を含むチャットセッションなど)ついて、すべてのチャットセッションについて(例えば、メッセージ毎、又はチャットセッションにわたるメッセージのグループに対して)など、その他これらの種々の組合せについて、メッセージ属性を制御するために彼又は彼女のプライバシー設定を設定することができる。チャット参加者は、(例えば、予め定義された設定(例えば、個人(INDIVIDUAL)、グループ(GROUP)、匿名(ANONYMOUS)など)がメッセージの作成を併せて選択のために利用可能となる場合には)チャットメッセージの作成と関連付けられる1以上のオプションの選択を介して、チャットメッセージ内への情報(例えば、チャットメッセージに適用されるべきプライバシーのレベル又はタイプのインジケータ)の挿入を介して、(例えば、メッセージのグループについて、チャットセッション又はチャットセッションのグループなどについてプライバシーを構成するための)チャット参加者に関連付けられたチャット参加者プロファイルの構成を介してなど、その他これらの種々の組合せを介して、メッセージ属性を制御するために彼又は彼女のプライバシー設定を設定するようにしてもよい。
チャット参加者によって送信され、メッセージがチャット参加者によって送信されたことを示すメッセージ属性を有する所与のチャットメッセージについて、チャットベースシステム100は、メッセージに対するメッセージ属性が修正されるべきことの表示がないメッセージに対してメッセージ属性を維持するように構成され得る。例えば、INDIVIDUALのメッセージ属性設定がチャット参加者アリスに対して有効であり、アリスによって投稿されたメッセージが、メッセージがアリスからのものであることの表示とともにチャットセッションの他のチャット参加者に伝達される。
チャット参加者によって送信され、メッセージがチャット参加者によって送信されたことを示すメッセージ属性を有する所与のチャットメッセージについて、チャットベースシステム100は、メッセージに対するメッセージ属性を修正して修正メッセージ属性を形成するように構成されてもよく、この場合には、メッセージがそのチャット参加者によって送信されたことを隠し(例えば、チャットメッセージとそのチャットメッセージを送信したチャット参加者とが関連性を有さないようにし)又はメッセージがそのチャット参加者によって送信されたことを分からなくする(例えば、チャットメッセージをそのチャット参加者及び1人以上の他のチャット参加者に関連付け、どのチャット参加者が実際にチャットメッセージを送信したのかが明らかとならないようにする)ようにメッセージに対する修正メッセージ属性が構成される。
少なくともある実施形態では、メッセージに対するメッセージ属性が、そのメッセージを送信したチャット参加者を識別するもの(例えば、チャット参加者の識別子)から、そのメッセージがそのチャット参加者から発信されたことを隠す識別子を用いる修正メッセージ属性に変更されてもよい。メッセージがチャット参加者から発信されたことを隠す識別子は、「匿名」又は他の類似の識別子、現実のチャット参加者からのメッセージを隠す目的でチャットベースシステム100によって生成される仮想チャット参加者の識別子などであればよい。例えば、ANONYMOUSのメッセージ属性設定がチャット参加者アリスに対して有効である場合、アリスによって投稿されたメッセージは、メッセージが匿名であることの表示とともにチャットセッションの他のチャット参加者に伝達される。例えば、アリスはチャットセッション中には彼女のメッセージのほとんどを彼女に帰属させたいと思うがそのチャットセッション中に時々匿名で投票したいと思うような場合、アリスはチャットセッション中に時々彼女のメッセージ属性設定をINDIVIDUALからANONYMOUSに変更し、(彼女に帰属していないであろう)彼女の投票関連メッセージを投稿し、その後に、後の投稿が彼女に帰属するように彼女のメッセージ属性設定をANONYMOUSからINDIVIDUALに変更して戻すことができる。
少なくともある実施形態では、(例えば、グループのチャット参加者からのメッセージがグループの個々のメンバーの識別子ではなくグループのグループ識別子に帰属する場合)メッセージに対するメッセージ属性が、メッセージを送信したチャット参加者を識別するものからグループを識別する修正メッセージ属性に変更され得る。
少なくともある実施形態では、チャット参加者のメッセージが帰属するグループは既存のグループとなり得る。チャット参加者のメッセージが帰属するグループは、チャット参加者によって指定されてもよいし、チャット参加者の代理として(例えば、チャットベースコア130など)自動的に選択されるなどしてもよい。例えば、GROUPのメッセージ属性設定がチャット参加者アリスに対して有効である場合、アリスによって投稿されたメッセージは、メッセージがグループのある未特定メンバーからのものであることの表示とともに(例えば、そのグループのグループ識別子を用いて)他のチャット参加者に伝達される。例えば、アリスがグループ「営業チーム」のメンバーであり、彼女のメッセージがそのグループに帰属すべきであることを指定している場合には、アリスから発信するメッセージのメッセージ属性が、チャットセッションの他のチャット参加者に配信される前に「アリス」から「営業チーム」に修正される。例えば、アリスが複数のグループのメンバーである場合、アリスが特定のグループを彼女のメッセージの送信元として指定するようにしてもよいし、彼女のメッセージの送信元はアリスがメンバーとなっている複数のグループの中から(例えば、ランダムに、アリスによって指定される順序付け又は優先度付けされたリストに基づいて、メッセージのコンテンツに基づいて、などにおいて)自動的に選択されるようにしてもよいし、その他これらの種々の組合せが行われるようにしてもよい。
少なくともある実施形態では、チャット参加者のメッセージが帰属するグループは要求に応じて生成され得る。グループは、チャットセッションのチャット参加者のサブセットを選択し、チャットセッションのチャット参加者の選択されたサブセットにメッセージを帰属させることによって生成され得る。チャット参加者の選択されたサブセットは、メッセージ帰属管理が実行されているチャット参加者を含んでいてもよいし、含んでいなくてもよい。要求に応じて形成されるグループへのメッセージの帰属付けは、チャット参加者のサブセットにおけるチャット参加者の識別子にメッセージを帰属させること、又はチャット参加者のサブセットにチャット参加者を含めるように形成されたグループのグループ識別子にメッセージを帰属させることによって行われてもよい。チャット参加者のグループに含めるチャット参加者の選択は、ランダムに、メッセージ帰属管理が実行されているチャット参加者からの入力に基づいて(例えば、チャット参加者のグループに含むチャット参加者数、チャット参加者のグループに含まれるべき1人以上のチャット参加者の識別、チャット参加者のサブセットに含まれるべきチャット参加者がそこから選択される1以上のグループの識別など)、その他これらの種々の組合せにおいて実行され得る。グループは、チャット参加者のメッセージが正確にk人の参加者で帰属すべきことの表示に基づいて生成されてもよい。例えば、チャット参加者のメッセージが正確に3人の参加者で帰属すべきことの表示によって、チャット参加者に帰属することから3人のチャット参加者に帰属することへのメッセージのメッセージ属性の修正が(例えば、チャット参加者のサブセットにおけるチャット参加者の識別子の使用、又は3人のチャット参加者で形成されてそれを含むグループのグループ識別子の使用を介して)もたらされる。例えば、アリスは、ボブ及びチャーリーとのチャットセッション中に正確に3人の参加者を指定すると、ボブ及びチャーリーがアリスからのメッセージをそれらのグループに帰属するものとしてみることになるように、2人の各々が複数の3人組のグループ(別個の又は重複し得る)を形成するためにボブ及びチャーリーのチャットバディリストから選択され得る。
少なくともある実施形態では、チャットベースシステム100は、チャットセッションの状況内で交換されるメッセージに適用されるプライバシーのレベルをチャット参加者が制御することを可能とすることによって、さらに、チャットセッションの状況内で交換されるメッセージに適用されるプライバシーがチャットセッション外でも確実に保持されるようにすることによって、様々なレベル又は程度のプライバシーをチャットセッションにおけるチャット参加者に提供するように構成され得る。例えば、通信セッションが参加者の寄付の記録を誘導する場合、参加者の寄付の記録の保持は、それらの寄付が行われている間の適所の属性仕様が名誉を受けるように実行されるべきである。
メッセージ属性管理が特定のタイプの対話型メッセージ環境(すなわち、チャットベースシステム100などのチャットベースシステム又はリアルタイムのグループチャットセッションをサポートする任意の他の適切なチャットベースシステムのリアルタイムのグループチャットセッション)の状況内で実行される実施形態に関して主に説明するが、メッセージ属性管理は種々の他のタイプの対話型メッセージ環境内で実行され得ることが分かる。例えば、メッセージ属性管理は、リアルタイムのグループチャットセッション(例えば、ソーシャルメディアサイトを介したグループチャット又はインスタントメッセンジャー能力、ユーザグループのユーザ間のリアルタイムのメッセージングをサポートするアプリケーションなど)をサポートする他のタイプの対話型メッセージ環境の状況内、ユーザによるメッセージの投稿(例えば、閲覧し、選択的にメッセージに応答するために、ユーザが投稿し、他のユーザがアクセスし得るオンラインメッセージ板)をサポートする対話型メッセージ環境の状況内などで、その他これらの種々の組合せにおいて実行され得る。したがって、ここで「対話型メッセージ環境」とは、そのようなメッセージが他のユーザに(例えば、ユーザへのメッセージの自動配信をサポートするチャットセッション又は他の類似のセッションを介して)自動配信され、他のユーザへの入手可能性のために投稿されるなど(例えば、他のユーザは投稿されたメッセージの入手可能性に関して通知されてもされなくてもよい)、その他これらの種々の組合せが行われる場合に、それとともにメッセージ属性を有するメッセージのハンドリングをサポートする任意のシステム若しくはプラットフォームであり、又はそれを含むものとして、より一般化されて読まれるものとする。メッセージ属性管理の1以上のより概略的な実施に関する実施形態を、図8に関して図示及び記載する。
図8は、メッセージ属性管理機能をサポートするための方法の例示実施形態を示す。方法800のステップの少なくとも一部は、シリアルに実行されるものとして図示及び記載されるが、同時に又は図8に関して図示及び記載されるものとは異なる順序で実行されてもよいことが分かる。ステップ801において、方法800が開始する。ステップ810において、ユーザのメッセージが受信される。メッセージは、対話型メッセージ環境への投稿が意図されている。メッセージはそれをメッセージに対するメッセージ属性に関連付けており、メッセージ属性はメッセージがユーザに帰属することを示す。ステップ820において、メッセージに対するメッセージ属性が、メッセージに対する修正メッセージ属性を形成するように修正される。ステップ830において、対話型メッセージ環境へのメッセージの投稿が、メッセージに対する修正メッセージ属性を用いて開始される。ステップ899において、方法800が終了する。
メッセージ属性管理機能の使用は、チャットベースの対話型メッセージ環境の状況内で用いられるか、チャットベースの対話型メッセージ環境から独立して用いられるかにかかわらず、種々の効果を提供する。
メッセージ属性管理機能の使用によって、複数の匿名者設定の間のきめ細かい制御を通信参加者に提供することを含む、通信セッション中でのコンテンツの属性に対するきめ細かい制御が可能となる。メッセージ属性管理機能の使用によって、通信参加者が、通信セッション中に迅速かつ容易に属性の設定を変更することが可能となる。メッセージ属性管理機能の使用によって、投稿生成の時点における設定での投稿記録の属性設定の配列が可能となる。メッセージ属性管理機能の使用は、人がプライバシーレベル(例えば、メッセージがユーザに帰属する個々の属性、正確でない属性(例えば、メッセージを発信したユーザを識別し得るユーザのグループにメッセージが帰属するグループ属性)、属性なし(例えば、メッセージに対する匿名の属性)など)を、種々の粒度で(例えば、メッセージ毎に、メッセージのグループについて、対話型メッセージ環境のスレッド内又はスレッド間でなど、その他これらの種々の組合せにおいて)迅速かつ都合よく変化させることを可能とする。
対話型メッセージ環境内(例えば、チャットアプリケーションのグループチャットセッション、ソーシャルメディアサイトのグループチャットセッション、オンラインメッセージ板など)のメッセージの属性を制御するための実施形態に関して主に図示及び記載するが、対話型メッセージ環境内のメッセージの属性を制御するための種々の実施形態が、他のタイプの複数当事者の情況内でエンティティによって提供される情報又はコンテンツの属性を制御する際の使用に適合され得る。例えば、対話型メッセージ環境内のメッセージの属性を制御するための種々の実施形態は、音声会議の状況内で音声コンテンツの属性を制御する(例えば、音声を修正する、音声を歪ませるなど)ために適合され得る。
なお、図1を再度参照すると、上述したように、少なくともある実施形態では、チャットベースシステム100は、チャットベースシステム100の状況内でソフトウェア開発者(SD)機能(例えば、図4に関して図示及び記載するソフトウェア開発者機能4018)をサポートするように構成され得る。SD機能は、(例えば、チャットベースコア130、エンティティ代表120、チャットアプリケーション112などの1以上、その他これらの種々の組合せによって)SDがチャットベースシステム100と相互作用することを可能とするように構成され得る。SDは、外部SD(第三者SDともいう)を含んでいてもよい。
少なくともある実施形態では、チャットベースシステム100内での開発されたソフトウェアバディの、統合され、調整され、又はインタラクションに基づく実行について、チャットベースコア130(及び/又はチャットベースシステム100の他の要素)は、SDがソフトウェアバディを開発することを可能とし、開発されたソフトウェアバディが、(例えば、上述したように、チャットベースシステム100内で動作するように構成されたチャットアプリケーション112として)チャットベースコア130又は任意の他の適切なチャットベースシステムに利用可能となるようにする機能をサポートするように構成され得る。前述したように、ソフトウェアバディは、チャットセッションにおける参加者として動作する(例えば、チャットメールメッセージを受信及び処理し、チャットメッセージに対する応答を生成する、他のチャット参加者についてのチャットメッセージを生成する、チャットメッセージに反応すること以上のアクションを実行するなど、その他これらの種々の組合せを行う)ように構成されたソフトウェアモジュールあればよい。例えば、会議マネージャソフトウェアバディは会議の議題を生成してそれを会議の参加者に共有ファイルで利用可能とするように構成されてもよいし、コンシェルジュソフトウェアバディは他のバディからの要求に応じてレストランで予約の要求を開始するように構成されるなどしてもよい。
少なくともある実施形態では、チャットベースコア130(及び/又はチャットベースシステム100の他の要素)は、SDが、SDによって使用されているコンピュータプログラム又はデバイスにチャットベースシステム100の要素(例えば、チャットベースコア130、エンティティ代表120、チャットアプリケーション112など)がアクセス可能となるようにすることができる機能をサポートするように構成され得る。少なくともある実施形態では、少なくともいくつかのそのような機能が、1以上のソフトウェア開発キット(SDK)、1以上のソフトウェア開発環境(SDE)など、その他これらの種々の組合せを介してサポートされ得る。少なくともある実施形態では、SDK又はSDEは、上述した種々の機能を提供するためのフレームワーク又はプラットフォームを作成する機能のセットを提供するように構成され得る。機能のセットは、ソフトウェアフレームワーク又はソフトウェアプラットフォームを提供することができる。
少なくともある実施形態では、SDK又はSDEは、SDがソフトウェアバディを開発することを可能とし、開発されたソフトウェアバディをチャットベースコア130に利用可能とする機能をサポートするように構成され得る。例えば、SDは、SDK又はSDEを用いて、チャットセッション中の正しく定義された役割を実行するように構成されたソフトウェアバディを作成してもよい。例えば、SDは、SDK又はSDEを用いて、ソフトウェアバディが表すことを意図するエンティティに通常関連付けられるリクエストを扱うように構成されたメッセージ処理メカニズムを含むソフトウェアバディ(例えば、会議マネージャによって通常扱われるタスクを扱うように構成された会議マネージャバディ、コンシェルジュに通常扱われるリクエストを扱うように構成されたコンシェルジュバディなど)を作成してもよい。少なくともある実施形態では、SDK又はSDEは、SDにAPIを提供するように構成され得る。APIは、SDによって開発されたソフトウェアによって起動され得るソフトウェア機能のセットを含み得る。APIのソフトウェア機能の少なくとも一部分の起動によって、SDによって開発されたソフトウェアが、ソフトウェアバディとしてのインスタンス化のために利用可能となり得る。APIのソフトウェア機能の少なくとも一部分の起動によって、SDによって開発されたソフトウェアのインスタンスがチャットベースシステム100の一部となってそこで動作すること(例えば、チャットメッセージを受信/送信すること、種々の処理機能を実行することなど、その他これらの種々の組合せ)が可能となり得る。
少なくともある実施形態では、SDK又はSDEは、SDが、SDによって使用されているコンピュータプログラム又はデバイスにチャットベースシステム100の要素(例えば、チャットベースコア130、エンティティ代表120、チャットアプリケーション112など)がアクセスできるようにさせることを可能とする機能をサポートするように構成され得る。少なくともある実施形態では、SDK又はSDEは、チャットベースシステム100が、新たに開発されたソフトウェアバディ若しくはソフトウェアバディの開発のためにSDによって使用される新たなソフトウェアシステムの一部となり、又は少なくともそれと相互作用することを可能とするように構成され得る。少なくともある実施形態では、SDK又はSDEは、新たに開発されたソフトウェアバディがチャットベースシステム100の種々の機能(例えば、チャットベースコア130の機能、1以上のエンティティ代表120の機能、チャットアプリケーション112の機能など、その他これらの種々の組合せ)を求めることを可能とするアクセス機能のセットをSDに提供するように構成されたAPIをサポートすることができる。
SDK又はSDEのツール又は機能がAPIとして提示される実施形態に関して主に説明するが、少なくともある実施形態では、SDK又はSDEのツール又は機能の少なくとも一部分はAPIとは異なる1以上の状況で提示されてもよいことが分かる。
少なくともある実施形態では、チャットベースシステム100(又はソフトウェアバディをサポートする類似のチャットベースシステム)は、より大きな環境又はエコシステムと統合され、調整され、又は相互作用されるようにしてもよい。
SDがチャットベースシステム100と相互作用する実施形態に関して主に説明するが、上述した種々の実施形態が、ソフトウェア開発者と他のタイプのチャットベースシステムとの間のインタラクションをサポートするように使用又は適合されてもよいことが分かる。
ソフトウェア開発者がチャットベースシステム100又は他のチャットベースシステムと相互作用することを可能とするためのソフトウェア開発者機能の種々の実施形態は、ソフトウェアコミュニティ又はソフトウェアエコシステムの確立及び成長を加速して、チャットベースシステム100又はチャットベースシステムの使用及び価値を大幅に高めることができることが分かる。
図9は、ここに記載する機能を実行する際の使用に適したコンピュータの上位ブロック図を示す。
コンピュータ900は、プロセッサ902(例えば、中央処理装置(CPU)及び/又は他の適切なプロセッサ)及びメモリ904(例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)など)を含む。
コンピュータ900はまた、協働モジュール/プロセス905を含み得る。協働プロセス905はメモリに読み込まれ、プロセッサ902によって実行されてここに記載する機能を実施し、これにより、協働プロセス905(関連するデータ構造体を含む)はコンピュータ可読記憶媒体、例えば、RAMメモリ、磁気若しくは光学デバイス又はディスケットなどに記憶され得る。
コンピュータ900はまた、1以上の入力/出力デバイス906(例えば、ユーザ入力デバイス(キーボード、キーパッド、マウスなど)、ユーザ出力デバイス(ディスプレイ、スピーカなど)、入力ポート、出力ポート、受信機、送信機、1以上の記憶デバイス(例えば、テープドライブ、フロッピードライブ、ハードディスクドライブ、コンパクトディスクドライブなど)など、その他これらの種々の組合せ)を含み得る。
図9に示すコンピュータ900は、ここに記載する機能的要素及び/又はここに記載される機能的要素の部分を実施するのに適した概略アーキテクチャ及び機能性を提供することが分かる。例えば、コンピュータ900は、ユーザデバイス1111、ユーザデバイス1112、1以上のエンティティ代表120、チャットベースコア130、チャットベースコア130の1以上の要素、1以上の機能401、1以上のインターフェース402などの1以上を実施するのに適した概略アーキテクチャ及び機能性を提供する。
ここに図示及び記載される機能は、ソフトウェアで(例えば、特殊用途コンピュータを実装するように(例えば、1以上のプロセッサによる実行を介して)汎用コンピュータ上で実行するための、1以上のプロセッサ上のソフトウェアの実施などを介して)実施されてもよいし、及び/又はハードウェア(例えば、汎用コンピュータ、1以上の特定用途向け集積回路(ASIC)及び/又は他のハードウェア同等物)で実施されてもよいことが分かる。
ソフトウェアの方法としてここに記載するステップの一部は、ハードウェアで、例えば種々の方法ステップを実行するようにプロセッサと協働する回路として実施されてもよいことが分かる。ここに記載する機能/要素の部分はコンピュータプログラム製品として実施されてもよく、コンピュータ命令は、コンピュータによって処理されると、ここに記載する方法及び/又は手法が起動あるいは提供されるようにコンピュータの動作を適合させる。発明の方法を起動するための命令は、固定又は取外し可能な媒体に記憶され、ブロードキャストにおけるデータストリーム若しくは他の信号搬送媒体を介して送信され、及び/又は命令によって動作するコンピューティングデバイス内のメモリに記憶され得る。
ここで使用する用語「又は」は、(例えば、「又はそれ以外」又は「代替において又は」といった)他の指示がない限り、非排他的な「又は」を意味するものとすることが分かる。
種々の実施形態の形態は、特許請求の範囲において指定される。種々の実施形態のこれら及び他の形態は、以下の番号付けされた条項において指定される。
条項1.装置であって、
プロセッサ及び該プロセッサに通信可能に接続されたメモリを備え、前記プロセッサが、
第1のエンティティの第1のチャットアプリケーションと第2のエンティティの第2のチャットアプリケーションの間の通信チャネルに関連付けられた条件を検出し、
前記通信チャネルに関連付けられた前記条件に基づいて制御アクションを開始するように構成された、装置。
条項2.前記プロセッサが、
トリガ条件の検出に基づいて前記第1のエンティティの前記第1のチャットアプリケーションと前記第2のエンティティの前記第2のチャットアプリケーションとの間の前記通信チャネルの確立を開始するように構成された、条項1の装置。
条項3.前記条件が、前記第1のエンティティによる第1の通信フォーマットの使用及び前記第2のエンティティによる第2の通信フォーマットの使用を含み、前記制御アクションが、前記通信チャネルを介して交換されたメッセージを前記第1の通信フォーマットと前記第2の通信フォーマットの間で変換することを含む、条項1の装置。
条項4.前記条件が、前記通信チャネルを介して交換されたチャットメッセージにおける特定タイプのコンテンツの存在を含み、前記制御アクションが、前記チャットメッセージの前記コンテンツの少なくとも一部分を修正することを含む、条項1の装置。
条項5.前記条件が、前記通信チャネルを介して前記第1のエンティティから前記第2のエンティティに伝達されたチャットメッセージにおける特定タイプのコンテンツの存在を含み、前記制御アクションが、前記第2のエンティティへの前記チャットメッセージの配信を防止するように前記チャットメッセージをフィルタリングすることを含む、条項1の装置。
条項6.前記条件が、前記通信チャネルを介して交換されたメッセージがそれに関連付けられたメッセージタイプを有することを含み、開始される前記制御アクションが、前記メッセージの前記メッセージタイプに基づいて選択される、条項1の装置。
条項7.前記条件が、前記通信チャネルを介して交換されたメッセージがハッシュタグを含むことを含み、前記制御アクションが、前記メッセージに含まれるコンテンツに基づいて実行される、条項1の装置。
条項8.前記通信チャネルが、前記第1のエンティティ及び前記第2のエンティティを含む一組のチャット参加者間のチャットセッションの部分であり、前記条件が、前記通信チャネルを介して交換されたメッセージが質問を含むことを含み、前記制御アクションが、前記メッセージを前記チャット参加者の1人以上に伝達することを含む、条項1の装置。
条項9.前記通信チャネルが、前記第1のエンティティ及び前記第2のエンティティを含む一組のチャット参加者間のチャットセッションの部分であり、前記条件が、前記通信チャネルを介して交換されたメッセージが質問に対する回答を備えることの検出を含み、前記制御アクションが、前記メッセージを前記チャット参加者の1人以上に伝達すること、又は前記チャットセッションを介して提供される少なくとも1つの追加の回答に前記回答を組み合わせることの少なくとも一方を含む、条項1の装置。
条項10.前記条件が、前記通信チャネルを介して受信されたメッセージのメッセージ属性が変更されるべきことの表示を検出することを含み、前記制御アクションが、前記メッセージの前記メッセージ属性を修正することを含む、条項1の装置。
条項11.前記条件が、前記通信チャネルに関連付けられた実行可能なソフトウェアの入手可能性を含み、前記制御アクションが、前記実行可能なソフトウェアの実行を開始することを含む、条項1の装置。
条項12.前記条件が、新たな通信チャネルの確立に関連付けられた条件を含み、該条件が、特定メッセージタイプを有するメッセージの検出、前記通信チャネルを介して交換されたコンテンツ若しくは情報の検出、又は前記第1のエンティティのデバイス若しくは前記第2のエンティティのデバイスに関連付けられた情報の検出の少なくとも1つを含む、条項1の装置。
条項13.前記条件が、前記通信チャネルに関連付けられた状況情報の検出を含み、前記制御アクションが、検出された前記状況情報に基づいて一組の記憶された状況情報を更新することを含む、条項1の装置。
条項14.前記条件が、前記通信チャネルを介して交換されたコンテンツの検出を含み、前記制御アクションが、前記コンテンツを記憶することを含む、条項1の装置。
条項15.前記通信チャネルが、前記第1のエンティティ及び前記第2のエンティティを含む一組のチャット参加者間のチャットセッションの部分であり、前記条件が、チャットセッションへの第3のエンティティの追加を含み、前記制御アクションが、前記チャットセッションの状況情報を前記第3のエンティティに伝達することを含む、条項1の装置。
条項16.前記プロセッサが、
前記第1のエンティティの前記第1のチャットアプリケーションと前記第2のエンティティの前記第2のチャットアプリケーションとの間の前記通信チャネルの終了を検出し、
前記通信チャネルを介して交換されたコンテンツを記憶すること、前記通信チャネルに関連付けられた状況情報に基づいて一組の記憶された状況情報を更新すること又は新たなチャットセッションの確立を自動的に開始することの少なくとも1つを実行するように構成された、条項1の装置。
条項17.前記プロセッサが、
前記第1のエンティティと第3のエンティティの間の関係を検出し、
前記第1のエンティティの前記第1のチャットアプリケーション又は前記第3のエンティティにチャットベースの通信インターフェースを提供するように構成された第3のチャットアプリケーションの少なくとも一方に前記関係の通知を伝達するように構成された、条項1の装置。
条項18.前記第1のエンティティが人間エンティティであり、前記第2のエンティティが人間エンティティ又は非人間エンティティである、条項1の装置。
条項19.方法であって、
プロセッサ及びメモリを、
第1のエンティティの第1のチャットアプリケーションと第2のエンティティの第2のチャットアプリケーションとの間の通信チャネルに関連付けられた条件を検出し、
前記通信チャネルに関連付けられた前記条件に基づいて制御アクションを開始するために用いるステップを備える方法。
条項20.装置であって、
プロセッサ及び該プロセッサに通信可能に接続されたメモリを備え、前記プロセッサが、
第1のエンティティと第2のエンティティの間の関係を検出し、
前記第1のエンティティにチャットベースの通信インターフェースを提供するように構成された第1のチャットアプリケーション又は前記第2のエンティティにチャットベースの通信インターフェースを提供するように構成された第2のチャットアプリケーションの少なくとも一方に前記関係の通知を伝達するように構成された、装置。
条項21.前記第1のエンティティと前記第2のエンティティの間の前記関係を検出するために、前記プロセッサが、
前記第1のエンティティ又は前記第2のエンティティの少なくとも一方に関連付けられた情報を監視するように構成された、条項20の装置。
条項22.前記第1のエンティティ又は前記第2のエンティティの少なくとも一方に関連付けられた前記情報が、位置情報又はソーシャルメディアサーバからの情報の少なくとも一方を備える、条項21の装置。
条項23.前記第1のエンティティと前記第2のエンティティの間の前記関係を検出するために、前記プロセッサが、
前記第1のエンティティの既存のチャットセッション又は前記第2のエンティティの既存のチャットセッション内で交換されるコンテンツを監視するように構成された、条項20の装置。
条項24.前記プロセッサが、
前記関係の第1の通知を前記第1のエンティティの前記第1のチャットアプリケーションに伝達し、
前記関係の第2の通知を前記第2のエンティティの前記第2のチャットアプリケーションに伝達するように構成された、条項20の装置。
条項25.前記プロセッサが、
前記第1のエンティティの前記第1のチャットアプリケーションと前記第2のエンティティの前記第2のチャットアプリケーションとの間のチャットベースの通信セッションの確立を開始するように構成された、条項20の装置。
条項26.前記プロセッサが、前記第1のエンティティの前記第1のチャットアプリケーション又は前記第2のエンティティの前記第2のチャットアプリケーションの少なくとも一方を介したリクエストの受信に応じて自動的に、前記第1のエンティティの前記第1のチャットアプリケーションと前記第2のエンティティの前記第2のチャットアプリケーションとの間の前記チャットベースの通信セッションの確立を開始するように構成された、条項20の装置。
条項27.前記第1のエンティティが人間エンティティであり、前記第2のエンティティが人間エンティティ又は非人間エンティティである、条項20の装置。
条項28.方法であって、
プロセッサ及びメモリを、
第1のエンティティと第2のエンティティの間の関係を検出し、
前記第1のエンティティにチャットベースの通信インターフェースを提供するように構成された第1のチャットアプリケーション又は前記第2のエンティティにチャットベースの通信インターフェースを提供するように構成された第2のチャットアプリケーションの少なくとも一方に前記関係の通知を伝達するために使用するステップを備える方法。
ここに開示された技術を取り込む種々の実施形態がここに詳細に図示及び記載されたが、当業者であれば、さらにこれらを取り込む多数の他の変形実施形態を直ちに発案することができることが分かる。