(57)【要約】【課題】ユーザの操作上の負担を軽減する。【解決手段】プロセスセグメント１３１８はユーザ、ＵＭＭエージェント、ＤＴＶエージェント、ユーザエージェントによる参入を含む。プロセスセグメント１３１８はＥメール又はファクシミリを待つ。その後、ＵＭＭエージェントがＥメールを受信し、ＵＭＭエージェントはユーザエージェントに指示１３０４を通知する。ユーザエージェントはユーザが現在どの番組を視聴しているかをＤＴＶエージェントに尋ねる。それに応じてＤＴＶエージェントは適切な番組情報１３０２をユーザエージェントに提供する。その後、ユーザエージェントは、新たに着信したＥメールを表示すべきか否かを決定するのに十分な情報を有しているか否かを決定する。ユーザエージェントは、Ｅメールを表示すべきか否かをユーザに尋ねる必要があるか否かを結論して、その結論に応じた処理を行う。【選択図】図１４（ｂ）
2006191651.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ毎の行動情報を含むユーザプロファイルを用いて自律的に判断可能なエージェントソフトウェアを実行するプロセッサに基づくテレビジョン信号受信装置の制御方法であって、
テレビジョン信号を表示する表示装置に表示可能な、外部装置から送信されたメッセージデータの受信通知及び当該メッセージデータの属性情報を受け付ける受付ステップと、
ユーザが視聴している番組に関する情報を取得する取得ステップと、
前記取得ステップで取得した情報及び前記受付ステップで受けたメッセージデータの属性情報と前記ユーザプロファイルとに基づいて、前記メッセージデータの受信をユーザに通知するか否かを判断する判断ステップと
を有することを特徴とするテレビジョン信号受信装置の制御方法。
【請求項２】
前記判断ステップは、前記メッセージデータの受信をユーザに通知するか否かの判断を可能とするために必要な学習情報を有するか否かを判定することを特徴とする請求項１に記載のテレビジョン信号受信装置の制御方法。
【請求項３】
前記判断ステップは、前記メッセージデータの受信をユーザに通知する旨の判断を実行するとともに、ユーザが視聴している番組を記録部に記録するよう指示することを特徴とする請求項１に記載のテレビジョン信号受信装置の制御方法。
【請求項４】
前記判断ステップは、ユーザが視聴している番組が既に記録部に記録されている場合には、前記メッセージデータの受信をユーザに通知する旨の判断を実行しても、前記記録部に当該番組を記録する指示を行わないことを特徴とする請求項３に記載のテレビジョン信号受信装置の制御方法。
【請求項５】
ユーザ毎の行動情報を含むユーザプロファイルを用いて自律的に判断可能なエージェントソフトウェアを実行するプロセッサの制御に基づいて動作するテレビジョン信号受信装置であって、
テレビジョン信号を表示する表示装置に表示可能な、外部装置から送信されたメッセージデータの受信通知及び当該メッセージデータの属性情報を受け付ける受付手段と、
ユーザが視聴している番組に関する情報を取得する取得手段と、
前記取得手段で取得した情報及び前記受付手段で受けたメッセージデータの属性情報と前記ユーザプロファイルとに基づいて、前記メッセージデータの受信をユーザに通知するか否かを判断する判断手段と
を有することを特徴とするテレビジョン信号受信装置。
【請求項６】
前記判断手段は、前記メッセージデータの受信をユーザに通知するか否かの判断を可能とするために必要な学習情報を有するか否かを判定することを特徴とする請求項５に記載のテレビジョン信号受信装置。
【請求項７】
前記判断手段は、前記メッセージデータの受信をユーザに通知する旨の判断を実行するとともに、ユーザが視聴している番組を記録部に記録するよう指示することを特徴とする請求項５に記載のテレビジョン信号受信装置。
【請求項８】
前記判断手段は、ユーザが視聴している番組が既に記録部に記録されている場合には、前記メッセージデータの受信をユーザに通知する旨の判断を実行しても、前記記録部に当該番組を記録する指示を行わないことを特徴とする請求項７に記載のテレビジョン信号受信装置。
【請求項９】
ユーザ毎の行動情報を含むユーザプロファイルを用い、テレビジョン信号受信装置を制御するコンピュータで実行可能な制御プログラムであって、
テレビジョン信号を表示する表示装置に表示可能な、外部装置から送信されたメッセージデータの受信通知及び当該メッセージデータの属性情報を受け付ける受付ステップと、
ユーザが視聴している番組に関する情報を取得する取得ステップと、
前記取得ステップで取得した情報及び前記受付ステップで受けたメッセージデータの属性情報と前記ユーザプロファイルとに基づいて、前記メッセージデータの受信をユーザに通知するか否かを判断する判断ステップと
をコンピュータに実行させることを特徴とするコンピュータで実行可能な制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテレビジョン信号受信装置及びテレビジョン信号受信装置の制御方法に関する。
【背景技術】
【０００２】
環境信号を受信して解析するためのセンサと、感知された信号の関数として応答するエフェクタとを有するインテリジェント機器は知られている。例えば、電子レンジの中には冷凍食品の解凍状態を感知して、それに従って解凍電力を調整できるものがある。
【０００３】
また、複数の機器から成るシステムに接続するためのセンサインタフェースを具備する機器もある。しかし、そのような機器のシステムの制御や感知に関わるオプションは複雑であるため、機器を単に有効に使用したいだけで、システム制御に関わる操作にわずらわされたくないユーザにとっては負担になっている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、既存の構成の１つ以上の欠点を実質的に克服する、又は少なくとも改善することである。
【課題を解決するための手段】
【０００５】
上記目的を達成するために本発明は、ユーザ毎の行動情報を含むユーザプロファイルを用いて自律的に判断可能なエージェントソフトウェアを実行するプロセッサに基づくテレビジョン信号受信装置の制御方法であって、テレビジョン信号を表示する表示装置に表示可能な、外部装置から送信されたメッセージデータの受信通知及び当該メッセージデータの属性情報を受け付ける受付ステップと、ユーザが視聴している番組に関する情報を取得する取得ステップと、前記取得ステップで取得した情報及び前記受付ステップで受けたメッセージデータの属性情報と前記ユーザプロファイルとに基づいて、前記メッセージデータの受信をユーザに通知するか否かを判断する判断ステップとを有する。
【発明の効果】
【０００６】
本発明によれば、テレビジョン信号を表示する表示装置に表示可能な、外部装置から送信されたメッセージデータの受信通知及び当該メッセージデータの属性情報を受け付け、ユーザが視聴している番組に関する情報を取得し、取得した情報及びメッセージデータの属性情報とユーザプロファイルとに基づいて、メッセージデータの受信をユーザに通知するか否かを判断する。これによりユーザの操作上の負担を軽減できる。
【発明を実施するための最良の形態】
【０００７】
添付の図面の１つ以上において同じ参照符号が付されたステップおよび要件を参照する場合、本明細書の便宜上、それらのステップおよび要件は、それに反する意図が表明されていない限り同じ機能または動作を有する。
【０００８】
図１は、ホーム環境におけるマルチエージェントシステム１００を物理的に表す図である。複数の家庭用電気機器１１８から１２６が１組の関連する接続回線１１６によりホームネットワーク１１４に接続されている。ネットワーク１１４は、複数のエージェント１０２から１０６と、インターエージェントサーバ（ＩＡＳ）１０８とを含むインテリジェントホームプラットフォーム１１０に接続回線１１２により接続されている。ＩＡＳについては図７を参照して更に詳細に説明する。ホームプラットフォーム１１０は、物理的機器１１８〜１２６のソフトウェアエージェント１０６が常駐するソフトウェア環境を支援する。このソフトウェアエージェント環境はパーソナルコンピュータ（ＰＣ）（図示せず）、あるいはネットワーク１１４を介してテレビ（ＴＶ）（図示せず）と他の装置及びサービスとの間に通信制御インタフェースを構成するセットトップボックス（ＳＴＢ）（図示せず）により支援されても良い。オフィス環境でもシステム１００に類似するシステムを実現することができる。
【０００９】
オフィス状況においては、ホームネットワーク１１４の代わりにオフィスネットワーク、例えば、ローカルエリアネットワーク（ＬＡＮ）を使用する。この場合、家庭用電気機器１１８から１２６の代わりにオフィス機器（例えば、ビデオカセットレコーダ（ＶＣＲ）ではなく、写真複写機）を使用することになる。
【００１０】
エージェントは、１つ以上のタスクを実行するために内部状態と共に外部入力を通常使用するソフトウェアコンポーネントであり、エージェントはあらかじめ設定された方式で動作する。エージェントは（i）機動性、（ii）応答方法、（iii）自律性、（iv）学習及び（v）協調性のうち１つ以上を含むいくつかの属性により特徴づけられる。エージェント構造の一例を図１１及び図１６に関連して説明するが、市販のエージェントを特定のタスクを実行するように適応させても良い。
【００１１】
図２は、図１に示すシステムの特定のインスタンス２００を示す。図２は特にホーム環境に関し、デジタルテレビ受像機（ＤＴＶ）２０２、カメラ２０４、プリンタ２０６及びビデオカセットレコーダ（ＶＣＲ）２０８を示しており、これらは全てホームネットワーク２１０に接続している。ホームネットワーク２１０は第２のＤＴＶ２１４に接続している。ＤＴＶ２１４は、以下に説明する他の埋め込み機能を表現するための余地を残すために象徴的に寸法を縮めて、ＤＴＶ２１４の概略図の左上角に配置されている表示領域２１６を有する。実用という観点からは、以下に説明する追加機能をＤＴＶ２１４自体に組み込むことが可能であるし、あるいはＤＴＶ２１４に適切な方法により接続できるセットトップボックス（明示して示されてはいない）に組み込むことも可能である。
【００１２】
インターエージェントサーバ２２０はいくつかの機器エージェント、すなわち、ＤＴＶエージェント２２２、カメラエージェント２２４、プリンタエージェント２２６及びＶＣＲエージェント２２８に接続している。これらの機器エージェントは機能の上で対応する物理的機器と関連している。従って、ＤＴＶエージェント２２２はＤＴＶ２０２と関連し、すなわち、「対を成し」、カメラエージェント２２４はカメラ２０４と対を成している。プリンタエージェント２２６はプリンタ２０６と対を成し、ＶＣＲエージェント２２８はＶＣＲ２０８と対を成している。機器エージェントの目的、すなわち、役割は、主に（i）ユーザエージェント２３０〜２３４からの命令／勧告に従って物理的機器を制御することと、（ii）機器使用情報並びに機器状態を収集し、それらをインターエージェントサーバ２２０を介してユーザエージェント２３０〜２３４へ通信することである。
【００１３】
インターエージェントサーバ２２０は複数のユーザプロファイルデータベース２１８、２４２及び２４４に接続している。これらのデータベースは機能の上で対応するユーザエージェント２３０、２３２及び２３４と関連しており、その対応関係は破線２４８、２５０及び２４６によりそれぞれ指示されている。機器２０２〜２０８と機器エージェント２２２〜２２８が対を成しているのと同様に、ユーザエージェント２３０〜２３４とユーザ２３６〜２４０も対を成している。従って、ユーザエージェント２３０、２３２及び２３４はユーザ２３６、２３８及び２４０とそれぞれ対を成している。
【００１４】
ソフトウェアエージェント２２０〜２３４と、インターエージェントサーバ２２０及びユーザプロファイルデータベース２１８、２４２、２４４とを合わせて「エージェントシステム」２１４と呼ぶ。
【００１５】
エージェント２２２〜２２８及び２３０〜２３４はユーザの人手による最小限の介入を伴って自立的に動作するソフトウェアエンティティである。エージェントは、そのエージェントの特定の性質に従って、例えば２３６のようなユーザ又は例えば２０２のような機器のいずれかと対話する。各エージェントは、通常、エージェント「目標」により定義されるようなその役割を果たすように動作する。エージェントシステムの典型的な目標は、ユーザの最大限の満足を実現するためにサービスを提供することである。ユーザを満足させる方策の１つは、エージェントシステムにより提供されるサービスをユーザがどの程度まで受け入れるか又は利用するかにより明示される。例えば、ＤＴＶ番組推奨「ＤＴＶエージェント」システムの場合、ユーザが推奨番組の全リストを網羅することなく、また、広範囲のチャネルブラウジング（サーフィン）に時間を費やすことなく迅速に推奨番組を受け入れれば、ユーザの満足度は高いと結論づけることができる。エージェントがユーザの側から開始される対話を要求することは最小限にとどまる。エージェントは、ユーザからの最小限の介入を要求している間に決定を下す。エージェントは自らの意志で他のエージェントと対話する。エージェントの核となる能力は、学習、推理及び計画の各能力を実現するための人工知能（ＡＩ）技法を使用して実現できる。
【００１６】
機能の面からいえば、ユーザエージェント２３０は、ＤＴＶ２０２に関するユーザ２３６の行動のプロファイルを作成するために、ＤＴＶエージェント２２２と協調して動作する。プロファイルはＤＴＶ２０２の番組又は動作と関連して作成され、ユーザエージェント２３０は更新プロセス２５２を使用して、ユーザプロファイルデータベース２１８のユーザ２３６に関わるユーザプロファイルを更新する。ＤＴＶエージェント２２２とユーザエージェント２３０はＤＴＶ２０２に関連するユーザの好み及び傾向を学習しながら、ＤＴＶ２０２に関連するユーザ２３６の行動を監視する。データベース２１８に格納されているユーザ２３６のプロファイルを使用して、例えば、過去のユーザ２３６の行動に基づき、上述の学習プロセス、推理プロセス及び計画プロセスを取り入れて、ユーザ２３６に対して番組を推奨することができる。上記の学習、推理及び計画の行動はユーザごとに特有のユーザプロファイルを作成するために使用され、ユーザ２３６〜２４０ごとに各々の機器２２２〜２２８に関してユーザプロファイルが開発される。ユーザプロファイル２１８、２４２、２４４は機器相互間のユーザの行動を取り入れることができる。
【００１７】
ユーザ２３６と関連するユーザエージェント２３０は、上述の機器エージェントとの通信の結果、各々の機器２０２〜２０８に関連するユーザ２３６の行動を認知する。ユーザエージェント２３０はこの行動のメモリをユーザ２３６に関連するユーザプロファイルの形でユーザプロファイルデータベース２１８に維持する。これに対し、機器エージェント２２２は関連するＤＴＶ２０２と関係しており、ユーザによるＤＴＶ２０２の使用に関するユーザ特有の行動情報を保持しない。しかし、機器エージェント２２２はユーザエージェント２３０と協働して、ＤＴＶ２０２に関連するユーザ２３６のプロファイルを作成する。また、機器エージェント２２２はユーザエージェント２３０と協働し、ユーザ２３６を満足させるためにＤＴＶ２０２に関連する制御機能を実行する。この満足は、ユーザプロファイルから取り出される基準に従ってＤＴＶ２０２の動作を制御し、それにより、ＤＴＶ２０２の動作に関してユーザ２３６の満足レベルを向上させることによって実現される。
【００１８】
ユーザエージェント２３０は複数の機器に関するユーザ２３６の行動と好みを認知する。この認知は関連するユーザプロファイルにより与えられ、問題の１組の機器に関してユーザ２３６の満足度を向上させることができる。例えば、ユーザ２３６がＤＴＶ２０２でサッカーを見ているという状況を考えてみる。この例では、不図示のユーザのパーソナルコンピュータ（ＰＣ）と関連する、２３０のようなユーザエージェントを表すパーソナルコンピュータエージェント（図示せず）は、検出プロセス２５４を使用して、ユーザ２３６宛のＥメールが着信したことを検出する。そこで、ユーザエージェント２３０は指示プロセス２５６を使用して、ＤＴＶ２０２の画面に適切なポップアップ告知を挿入することによりＥメールの着信をユーザ２３６に通知することをＤＴＶエージェント２２２に指示する。しかし、ユーザエージェント２３０は、所定の状況でユーザ２３６がその特定のＥメールを受信することを希望するであろうということをユーザ２３６のユーザプロファイルが指示する場合にのみこの指示に従う。図３は、少なくとも１つの機器を制御する方法が従来の汎用コンピュータシステム７００を使用してどのように実施されるのが好ましいかを示し、この場合、図８、図９、図１２〜図１５及び図１７のプロセスはコンピュータシステム７００内部で実行されるアプリケーションプログラムなどのソフトウェアとして実現されても良い。コンピュータシステム７００はコンピュータモジュール７０１と、図中符号７２２によりその一例を示す複数の機器とを具備し、各機器７２２は関連するメモリモジュール及びインタフェースモジュールを含む汎用又は専用コンピュータプロセッサを内蔵することができる（図４を参照）。機器７２２で提供されるコンピュータハードウェア機能及びソフトウェア機能はコンピュータモジュール７０１について示されているほど包括的でなくとも良い。例えば、機器プロセッサ構成は、一般に、キーボード、マウス装置、ビデオ表示装置、プリンタ又は関連Ｉ／Ｏインタフェースを含んでいる必要はない。更に、機器プロセッサ構成はフロッピー（登録商標）ディスクドライブ又はＣＤ−ＲＯＭドライブを含んでいなくとも良い。
【００１９】
以下に図４に関連して説明するソフトウェア機器エージェントは対応する機器のメモリに常駐しているのが好ましい。しかし、機器エージェントソフトウェアは、通常は以下に更に詳細に説明するコンピュータモジュール７０１を使用して実現されるインテリジェントプラットフォーム１１０（図１を参照）などの別の場所のメモリに常駐していても良いし、あるいはＤＴＶ２１４のメモリにあっても良い。従って、機器エージェント及びユーザエージェントのソフトウェアプログラムはシステム７００の様々なメモリ装置にくまなく、多様な都合の良い方式で、機能上の行動に影響を及ぼすことなく分散できる。各機器コンピュータ構成の動作は一般に以下にコンピュータモジュール７０１に関して更に詳細に説明する動作と同等である。
【００２０】
コンピュータモジュール７０１に関しては、少なくとも１つの機器を制御するための方法工程は、コンピュータシステム７００の様々な要素により実行されるソフトウェアの命令によって実行される。ソフトウェアは２つの別個の部分、すなわち、少なくとも１つの機器の制御を実行する部分と、機器とユーザとの間のユーザインタフェースを管理するための別の部分とに分割されていても良い。ソフトウェアは、例えば、後述する記憶装置を含めて、コンピュータ読み取り可能な媒体に格納されていても良い。ソフトウェアはコンピュータ読み取り可能な媒体からコンピュータにロードされ、その後、コンピュータにより実行される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ読み取り可能な媒体はコンピュータプログラム製品である。コンピュータプログラム製品をコンピュータで使用することで、少なくとも１つの機器を制御するのに有利な装置が得られるのが好ましい。
【００２１】
コンピュータシステム７００は、コンピュータモジュール７０１と、キーボード７０２及びマウス７０３のような入力装置と、プリンタ７１５及び表示装置７１４を含む出力装置とを具備する。変復調器（モデム）トランシーバ装置７１６はコンピュータモジュール７０１により、例えば、電話回線７２１又はその他の機能媒体を介して接続可能である通信ネットワーク７２０との間で通信を行うために使用される。モデム７１６はインターネット、及びローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）などの他のネットワークシステムに対するアクセスを獲得するために使用できる。また、機器７２２に代表される複数の機器もネットワーク７２０を介してアクセス可能である。
【００２２】
コンピュータモジュール７０１は、通常、少なくとも１つのプロセッサユニット７０５と、例えば、半導体ランダムアクセスメモリ（ＲＡＭ）及び読み取り専用メモリ（ＲＯＭ）から形成されるメモリユニット７０６と、ビデオインタフェース７０７、キーボード７０２、マウス７０３及びオプションであるジョイスティック（図示せず）に対応する入出力（Ｉ／Ｏ）インタフェース７１３、及びモデム７１６に対応するインタフェース７０８を含むＩ／Ｏインタフェースとを含む。記憶装置７０９が設けられており、通常はハードディスクドライブ７１０と、フロッピー（登録商標）ディスクドライブ７１１とを含む。磁気テープドライブ（図示せず）を使用しても良い。ＣＤ−ＲＯＭドライブ７１２は通常は不揮発性データ源として設けられる。コンピュータモジュール７０１の構成要素７０５〜７１３は通常は接続バス７０４を介して、当業者には知られている従来のコンピュータシステム７００の動作モードが得られるように通信する。実施例を実施できるコンピュータの例としては、ＩＢＭ−ＰＣ及びその互換機、Ｓｕｎ  Ｓｐａｒｋｓｔａｔｉｏｎ又はそこから派生した類似のコンピュータシステムがある。
【００２３】
通常、アプリケーションプログラムはハードディスクドライブ７１０に常駐しており、プロセッサ７０５により読み取られ且つその実行を制御される。プログラム及びネットワーク７２０から取り出されるデータの中間記憶は、おそらくはハードディスクドライブ７１０と協調して、半導体メモリ７０６を使用して実現されるであろう。場合によっては、アプリケーションプログラムをＣＤ−ＲＯＭ又はフロッピー（登録商標）ディスクに符号化した形態でユーザに供給し、それを対応するドライブ７１２又は７１１により読み取るか、あるいはユーザがモデム装置７１６を介してネットワーク７２０から読み取っても良い。更に、磁気テープ、ＲＯＭ又は集積回路、光磁気ディスク、コンピュータモジュール７０１と別の装置との間の無線チャネル又は赤外線チャネル、ＰＣＭＣＩＡカードなどのコンピュータ読み取り可能なカード、並びにＥメール送信及びウェブサイトなどに記録された情報を含めたインターネット及びイントラネットを含む他のコンピュータ読み取り可能な媒体から、コンピュータモジュール７０１及び機器７２２の双方に関して、ソフトウェアをコンピュータシステム７００にロードすることも可能である。以上挙げたのは関連するコンピュータ読み取り可能な媒体のいくつかの例にすぎない。他のコンピュータ読み取り可能な媒体を実施しても良い。図２に関連して説明したように、インターエージェントサーバ、ユーザエージェント及び機器エージェントを表現するソフトウェアエンティティは通常のコンピュータシステム７００全体及び機器７２２に様々な方法で分散可能である。例えば、図２に関連して説明したように、これらのエンティティの間に機能の上での相互関係が規定されていると仮定すれば、エンティティ（すなわち、ＩＡＳ及びエージェント）の物理的な配置場所は重要ではない。従って、対応する物理的ソフトウェア及び機能プログラムモジュールをコンピュータモジュール７０１及び機器７２２のプロセッサエンティティに希望に応じて分散させることができる。
【００２４】
少なくとも１つの機器を制御する方法は、少なくとも１つの機器を制御する機能又は部分機能を実行する１つ以上の集積回路のような専用ハードウェアで実現されても良い。そのような専用ハードウェアにはグラフィックプロセッサ、デジタルシグナルプロセッサ、又は１つ以上のマイクロプロセッサ及び関連メモリがある。
【００２５】
図４は、マルチエージェントシステムの実現形態１７００の一例を示す。インターエージェントサーバ（ＩＡＳ）はＰＣ１７０２で実行されるアプリケーション１７０４によって実現される。同様にＰＣ１７０２で実行される第２のアプリケーション１７１２はユーザエージェントを実現する。同様にＰＣ１７０２で実行される第３のアプリケーション１７７４はパーソナルコンピュータエージェント（ＰＣＡ）を実現する。先に説明したシステム７００（図３を参照）と同様に、ＰＣ１７０２は、中央処理装置（ＣＰＵ）１７３６と、読み取り専用メモリ（ＲＯＭ）及びランダムアクセスメモリ（ＲＡＭ）の各要素から構成できるメモリ１７３８と、ユーザと対話するためのキーボード１７４０とを具備する。ＰＣ１７０２で実行されるこれら３つのアプリケーション１７０４、１７７４及び１７１２に加えて、４つの機器エージェントの各々に対応する別のアプリケーション、すなわち、ＤＴＶエージェントアプリケーション１７１４、プリンタエージェントアプリケーション１７１６、ＵＭＭエージェント１７１８（電子メール又はファクシミリ送信などの通信を受信し、格納することができる一体化メッセージモジュール１７１０に対応するエージェントである）、及びＨＤＤエージェントアプリケーション１７３２（ＨＤＤと称されるハードディスクドライブ１７３０などの記憶媒体に対応するエージェントである）がある。「エージェント」、「エージェントプロセス」及び「エージェントアプリケーション」の各用語は互換性をもって使用されており、意図される特定の用法は特に指示のない限り文脈から明白である。
【００２６】
ＤＴＶエージェントアプリケーション１７１４が常駐しているＤＴＶ１７０６は、ＣＰＵ１７４２と、メモリ装置１７４４と、センサ１７４６と、エフェクタ１７４８とを有する。センサ１７４６はシステム１７００におけるＥメールの処理に関連しており、後述するＥメールのカテゴリ確率尺度に応答する特殊ソフトウェアモジュールである。エフェクタ１７４８はシステム１７００におけるＥメールの処理に関連しており、ＤＴＶ１７０６の画面にＥメールを表示できる特殊ソフトウェアモジュールである。
【００２７】
プリンタエージェントアプリケーション１７１６が常駐しているプリンタ１７０８はＣＰＵ１７５０と、メモリ装置１７５２と、センサ１７５４と、エフェクタ１７５６とを有する。この例では、センサ１７５４はプリンタにおける用紙の可用性を感知する。エフェクタ１７５６は、プリンタ１７０８で用紙にＥメールを印刷できるプリントヘッドである。
【００２８】
ＵＭＭエージェントアプリケーション１７１８が常駐しているＵＭＭ１７１０は、ＣＰＵ１７５８と、メモリ装置１７６０と、センサ１７６２と、エフェクタ１７６４とを有する。この例では、センサ１７６２はＵＭＭ１７１０における記憶容量の可用性を感知する。エフェクタ１７６４は、ＵＭＭ１７１０で記憶媒体にＥメールを書き込むことができる書き込みヘッドである。ＨＤＤエージェントアプリケーション１７３２が常駐しているＨＤＤ１７３０は、ＣＰＵ１７６６と、メモリ装置１７６８と、センサ１７７０と、エフェクタ１７７２とを有する。この例では、センサ１７７０はＨＤＤ１７３０における記憶容量の可用性を感知する。エフェクタ１７７２は、ＨＤＤ１７３０で記憶媒体にＥメールを書き込むことができる書き込みヘッドである。メモリ装置１７４４、１７５２、１７６０及び１７６８は、通常、ＲＯＭメモリ要素とＲＡＭメモリ要素との混合体であり、それぞれ対応するＣＰＵ１７４２、１７５０、１７５８及び１７６６と協調して、先に図３を参照して説明した方式と一致する方式で動作する。
【００２９】
この構成においては、エージェント１７１４〜１７１８及び１７３２は、それぞれ対応する機器、すなわち、ＤＴＶ１７０６、プリンタ１７０８、ＵＭＭ１７１０及びＨＤＤ１７３０上におけるそれぞれ対応するＣＰＵ１７４２、１７５０、１７５８及び１７６６で実行される。ＰＣ１７０２、ＤＴＶ１７０６、プリンタ１７０８、ＵＭＭ１７１０及びＨＤＤ１７３０は、それぞれ、接続回線１７２２、１７２４、１７２６、１７２８及び１７３４によってネットワーク１７２０に接続されている。
【００３０】
エージェント１７１４〜１７１８及び１７３２の間の通信チャネルは、図７に関連して説明するようなＴＣＰ／ＩＰソケット接続（以下、「ソケット」）により実現されるのが好ましい。まず、ＩＡＳアプリケーション１７０４が始動されて、エージェント１７１４〜１７１８及び１７３２からメッセージを受信するための「リスニング（聴取）」ソケットを確立させる。ソケットは、必要に応じて関連するメモリ装置１７３８、１７４４、１７５２、１７６０及び１７６８を使用して、それぞれ対応するＣＰＵ１７３６、１７４２、１７５０、１７５８及び１７６６により確立される。その後、エージェント１７１４〜１７１８及び１７３２が（任意の順序で）始動され、各エージェントは（i）ＩＡＳ１７０４との通信に使用するため、及びＩＡＳ１７０４を介して（ii）他のエージェントとの通信に使用するため並びに（iii）ＩＡＳ１７０４とのコンタクトを確立させるため及び（iv）ＩＡＳ１７０４との整合のための各ソケットを作成する。
【００３１】
第１の構成では、パーソナルコンピュータエージェントＰＣＡ１７７４が送信者による着信ＥメールをＮ個のカテゴリの１つに分類する。Ｅメールは、ネットワーク１７２０に付属し、従って、ＰＣ１７０２の適切なインタフェース（図示せず）を介してＰＣ１７０２と通信することが可能である装置（図示せず）を発信元としている。
【００３２】
この構成におけるＥメールのカテゴリは（i）ユーザの友人ごとの固有の名前（例えば、「Sam」、「Pete」など）、（ii）ユーザの仕事上の知人ごとの固有の名前（例えば、「Mr Jones」、「Mrs Smith」など）、及び（iii）雑カテゴリの固有の名前を含む。ＰＣＡ１７７４は、Ｅメールカテゴリごとに、コンピュータにログオンし、Ｅメールアプリケーションをアクセスするときに、Ｅメールが最初に現れたセッションの間にユーザが関連するＥメールを読むか、あるいは後の時点までＥメールを開くのを延期するかを判定する。言い換えれば、ＰＣＡ１７０４はＥメールカテゴリに基づいてＥメールに関するユーザ行動の進行中のデータ解析を実行する。このデータに基づいて、ＰＣＡ１７７４は各Ｅメールカテゴリに確率尺度を割り当てる。確率尺度は、ユーザがあるカテゴリに有効に課する優先順位の標識である。従って、「Sam」に対する確率尺度が７０％であるとき、それはユーザが受信後直ちに、又は少なくともＥメールが現れているログオンセッションの中でSamからのＥメールを読むであろうことを示す。これに対し、Mr. Jonesに対する尺度が１０％であるときには、それはおそらくユーザがＥメールを読むのを別の機会に延期するであろうということを示す。
【００３３】
ユーザエージェント１７１２はこれらの確率尺度を使用してユーザプロファイルを開発し、その結果得られたプロファイルを使用して、ユーザがＤＴＶ１７０６で前述のサッカーの試合を見ている間に着信したＥメールについてユーザに通知すべきか否かを決定する。従って、この構成では、ユーザエージェント１７１２は確率尺度が５０％を越えるカテゴリの着信ＥメールについてＤＴＶ１７０６の画面にポップアップ告知を表示する。５０％の確率閾値は、システムの有効性を評価するために実施される顧客満足度調査から経験的に導き出された結果に基づいて手動操作でプログラムされる必要があるだろう。このポップアップ告知は、接続回線１７２２及び１７２４と、ネットワーク１７２０とを使用してＰＣ１７０２のＣＰＵ１７３６からＤＴＶ１７０６のＣＰＵ１７４２へ通信される。
【００３４】
しかし、５０％未満の確率尺度を有するＥメールカテゴリに関しては、ユーザエージェント１７１２はユーザがＤＴＶ１７０６を見ているときにそれを中断せず、ＣＰＵ１７３６から接続回線１７２２、ネットワーク１７２０及び接続回線１７２６を介してプリンタ１７０８のＣＰＵ１７５０へメッセージを送信する。このメッセージはプリンタエージェント１７１６により受信され、処理される。このメッセージは、着信Ｅメールをプリンタ１７０８で印刷すべきであることを指示する。
【００３５】
上記のメッセージをプリンタエージェント１７１６へ送信した後、Ｅメールに関する制御はプリンタエージェント１７１６へ「引き継がれた」、すなわち、「伝えられた」ため、ユーザエージェント１７１２はＥメールに関わることを止める。そこで、プリンタエージェント１７１６はこの事象（すなわち、問題のＥメール）を自律的に処理する。Ｅメールの制御がプリンタエージェント１７１６に引き継がれたならば、ＤＴＶ１７０６はＥメールにそれ以上は関わらない。従って、ＤＴＶ１７０６の様々なハードウェア要素、すなわち、ＣＰＵ１７４２及びメモリ装置１７４４はそれ以降のＥメールの処理には不要になる。
【００３６】
制御はプリンタエージェント１７１６に引き継がれたため、エージェント１７１６は、第１の事例では、Ｅメールメッセージをプリンタ１７０８で印刷しようとする。しかし、プリンタ１７０８の用紙が切れていることをプリンタ１７０８のセンサ１７５４がプリンタＣＰＵ１７５０に報知した場合には、プリンタエージェント１７１６は、ネットワーク１７２０を介してプリンタＣＰＵ１７５０とＨＤＤ  ＣＰＵ１７６６との間に確立している通信チャネルを使用して、ＨＤＤ１７３０が着信ＥメールをＨＤＤハードディスクに格納すべきであることを指示するメッセージを送信する。プリンタ１７０８が用紙切れである場合、プリンタ１７０８のエフェクタ１７５６（すなわち、プリントヘッド）は希望に応じてＥメールを印刷するように動作する。
【００３７】
プリンタエージェント１７１６が上記のメッセージをＨＤＤエージェント１７３２へ送信した後は、Ｅメールに関する制御をＨＤＤエージェント１７３２に引き継いだことになるため、プリンタエージェント１７１６はその特定のＥメールにはそれ以上注意を払わなくなる。
【００３８】
ＨＤＤエージェント１７３２はＨＤＤ  ＣＰＵ１７６６を使用して、上記のＥメールをエフェクタ１７７２（すなわち、ＨＤＤ書き込みヘッド）を使用して適切な記憶媒体に格納するためにＨＤＤ１７３０を制御する。しかし、ＨＤＤ１７３０がそのＥメールを格納するのに十分な記憶スペースを有していないことをＨＤＤセンサ１７７０がＨＤＤ  ＣＰＵ１７６６に報知した場合には、ネットワーク１７２０に接続している別の適切な機器（すなわち、ＵＭＭ１７１０）があるので、ＨＤＤエージェント１７３２はその機器にメッセージを送信し、問題のＥメールの制御を引き継ぐことができる。
【００３９】
要するに、各機器エージェント１７１４〜１７１８及び１７３２はＥメールを関連する独自の機器１７０６〜１７１０及び１７３０で処理するか、又はその処理を別の機器エージェントに引き継ぐことができる。この構成においては、それぞれのセンサ１７４６、１７５４、１７６２及び１７７０が対応する機器（すなわち、ＤＴＶ１７０６、プリンタ１７０８、ＵＭＭ１７１０及びＨＤＤ１７３０）のＣＰＵ１７４２、１７５０、１７５８及び１７６６と、各機器が所望のアクションを実行できるか否かに関して通信する。この例における所望のアクションは、ユーザに有益な方法でＥメールを処理することである。機器がＥメールを処理できるのであれば、対応するエフェクタが必要なアクションを実行する。従って、例えば、ＤＴＶ１７０６のエフェクタ１７４８はＥメールを画面に表示するように動作する。プリンタ１７０８のエフェクタ１７５６はＥメールを印刷するように動作する。ＵＭＭ１７１０のエフェクタ１７６４はＥメールを格納するように動作し、ＨＤＤ１７３０のエフェクタ１７７２はＥメールを格納するように動作する。
【００４０】
１つの機器から別の機器への引継ぎが必要である場合、別のエージェントに対してＥメールの制御の引継ぎを行っているエージェントは、制御を引き継いだ後、そのＥメールを忘れ去ることが可能である。これにより、受信側エージェントが自律的に問題を処理することになる。このような分散制御モードは、中央制御が不要であるために、中央制御装置を再構成する必要なく他のエージェント及びその関連機器を追加できる能力を与えるという有利な性能を提供する。更に、どの特定のエージェント機器も、特定のタスクを直接に処理するか、あるいはタスクを別の機器エージェントに引き継ぐか、又はユーザエージェントに戻すことによりタスクに対処し、その後はそのタスクを無視することが可能である。
【００４１】
図４に示す構成では、エージェントはそれぞれの対応する機器に物理的に置かれているが、他の構成も使用できる。例えば、機器エージェント１７１４〜１７１８及び１７３２を全てＰＣ１７０２のＣＰＵ１７３６で実行されるアプリケーションとして実現することができる。そのような構成においては、それぞれの機器１７０６〜１７１０及び１７３０は同様に対応するＣＰＵ１７４２、１７５０、１７５８及び１７６６と、対応するメモリ装置１７４４、１７５２、１７５０、１７６０及び１７６８とを具備している。
【００４２】
そのような構成では、ＣＰＵと関連メモリ装置は、センサ１７４６、１７５４、１７６２及び１７７０を介する感知入力を処理するために対応する機器１７０６〜１７１０及び１７３０により使用される。ＣＰＵとメモリ装置はそれぞれ対応するエフェクタ１７４８、１７５６、１７６４及び１７７２も制御する。
【００４３】
上述の構成はＥメールカテゴリと関連する確率閾値を定義するために手動操作によるプログラミングを要求するであろう。エージェントが更に「知的」である別の構成を図１１〜図１６に関連して説明する。
【００４４】
図２に戻る。別の構成において、ユーザ２３６がＤＴＶ２０２を見ておらず、ユーザの好きな番組の１つがその時点で放映中である場合、ユーザエージェント２３０はＶＣＲ２０８にその番組を録画することを指示するようにＶＣＲエージェント２２８に指示することができる。後になってユーザ２３６が次にＤＴＶ２０２をスイッチオンしたときに、ユーザエージェント２３０はＤＴＶ２０２にポップアップ告知により番組を提供することをＤＴＶエージェント２２２に指示することができる。
【００４５】
別の制御例では、ユーザエージェント２３０がＤＴＶ２０２の画像をプリンタ２０６で印刷したいときに、ユーザエージェント２３０は対応するプリンタエージェント２２６及びＤＴＶエージェント２２２に、どちらがその印刷動作を実行するかをそれぞれ命令する。ユーザエージェントが必要な機能を実行すべき機器に必要な指令を提供した後は、ユーザエージェントはそれ以上はそのプロセスに関わらない。
【００４６】
インターエージェントサーバ２２０及び様々なエージェント２２４〜２２８、２３０〜２３４がＤＴＶプラットフォーム２１４に常駐している特定の構造の例を説明したが、これらのエンティティはホームＰＣ／サーバ、セットトップボックスなどを含めた多様な異なるプラットフォームに常駐でき、大半の周辺機器の変形は不要である。機器エージェント（２２２〜２２８）から周辺機器（２０２〜２０８）への制御メッセージは標準機器インタフェース（例えば、ＩＥＥＥ  １３９４  ＡＶ／Ｃ）を使用すれば良い。
【００４７】
図５は、回線２１２により示すように、ホームネットワーク２１０（図２を参照）をより広い環境に対するアクセスを可能にするゲートウェイ３０２に接続できる拡張システム３００を示す。このより広い環境は、接続回線３０４によりゲートウェイ３０２に接続された外部ネットワーク３０６を含む。コンテンツサーバ３０８は電子番組ガイド（ＥＰＧ）３１４と共に外部ネットワーク３０６に接続しており、これらはそれぞれ接続回線３１０及び３１２により外部ネットワーク３０６に接続されている。ユーザエージェント２３０（図２を参照）はＥＰＧをアクセスし、ブラウジングすることが可能であり、それにより収集された情報を利用して、ＶＣＲ２０８により記録すべき番組のリストを計画することができる。録画はＶＣＲエージェント２２８と協働して実行される。コンテンツサーバ３０８はケーブルＴＶ会社３１６などの個別のコンテンツプロバイダからのオーディオビジュアルコンテンツを表示又は録画のために機器（例えば、ＤＴＶ２０２又はＶＣＲ２０８）に切り替える。ＥＰＧ３１４は、ユーザエージェント２３０〜２３４の要求に応じて、少なくともコンテンツプロバイダＩＤ、番組の開始時間及び放送継続時間などの基本プログラミング情報を提供する。
【００４８】
図６は、インテリジェントプラットフォーム４３８の構造を示すブロック４００の図である。メディアエージェント４０２及び電子番組ガイドデータベース４０６はそれぞれ接続回線４０４及び４０８によりインターエージェントサーバ４１０に接続されている。メディアエージェント４０２は様々な特徴に関してメディア（例えば、テレビ、ラジオ、インターネットの情報）を解析し、関連するユーザエージェントに重要であると判断されたメディアの特性項目を勧告する。図６はＥＰＧ４０６をプラットフォーム４３８と一体であるように示しているが、ＥＰＧ４０６はネットワークを介してアクセス可能である別のプラットフォームに常駐していても良い（例えば、図５を参照）。
【００４９】
機器エージェント４２０と複数のユーザエージェント４２４はそれぞれ接続回線４２２及び４２６によりインターエージェントサーバ４１０に接続されている。機器エージェント４２０は表示装置４２８を具備する。ユーザエージェント４２４は１組の接続回線４４０により対応する複数のユーザプロファイルデータベース４３６に接続されている。
【００５０】
インターエージェントサーバ４１０は、登録プロセス４１２、メッセージプロセス４１４、通知プロセス４１６及び楕円４１８により表されている他の雑多な機能を含む多数の内部プロセスを支援する。登録プロセス４１２はＩＡＳ４１０に関するエージェントの登録及び登録抹消を処理する。メッセージプロセス４１４はエージェント間の通信を支援する。通知プロセス４１６はユーザエージェントに様々な機器の状態を関連する機器エージェントを経て、ネットワークを介して問い合わせさせる。
【００５１】
エージェントシステムにおけるＩＡＳ４１０は標準クライアント−サーバモデルのサーバに典型的である機能を提供する。そのようなモデルの利点は、スケーリングが容易であること、通信チャネルの数がエージェントの数に比例して増加するだけであることである。また、このクライアント−サーバモデルは共通する管理タスク１つの場所、通常はサーバで実行できる。以下の説明中、ＩＡＳもエージェントであると考え、一般にエージェントについて述べている事項はＩＡＳにも当てはまる。
【００５２】
図７には、ＩＡＳ５１２の特定の実現形態５００を示す。ＩＡＳ５１２と、エージェント５０２、５２６及び５２８がそれぞれ１つのプロセスを表している。これらのエージェントプロセスは全て１台のコンピュータにあっても良いが、いくつかの相互に接続されたコンピュータに分散されていても良い。ＩＡＳ５１２はその他のエージェントのそれぞれに対して２つのＴＣＰ／ＩＰ接続（「ソケット」という）を維持している。それらの接続は図７には対の両方向矢印、例えば、５０６及び５０４として示されている。それらはこの実現形態においてはエージェント間の自律性を促進するためのエージェントごとの２つのソケット、すなわち、（i）エージェントが非同期的にＩＡＳへ、又はＩＡＳを介して他のエージェントへメッセージを送信できる単純ソケット（破線の両方向矢印として示されている）と、（ii）１つのエージェントが送信したメッセージに対する即時応答を期待している場合にエージェント間で同期的にメッセージを送信するために使用される高信頼性ソケット（実線の両方向矢印として示されている）である。
【００５３】
従って、エージェント５０２は単純ソケット５０６と高信頼性ソケット５０４とを使用してＩＡＳ５１２に接続されていることになる。エージェント５２６は単純ソケット５２４と高信頼性ソケット５１４を使用してＩＡＳ５１２に接続されている。エージェント５２８は単純ソケット５２０と高信頼性ソケット５２２を使用してＩＡＳ５１２に接続されている。
【００５４】
ＩＡＳ５１２は円５１０、５０８、５１６及び５１８により表される複数のスレッドを有する。スレッド５０８は単純ソケット５０６を聴取する。スレッド５１６は単純ソケット５２４を聴取する。スレッド５１８は単純ソケット５２０を聴取する。スレッド５０８は新たな接続を聴取する。
【００５５】
エージェントプロセス及びそのエージェントプロセスと他のエージェントとの通信が継続する期間の中には３つの段階、すなわち、始動段階と、通信段階と、遮断段階がある。
【００５６】
始動段階の間、ＩＡＳ５１２は始動される第１のプロセスである。後続するプロセスが始動されるにつれて、それらのプロセスはそれぞれＩＡＳ５１２に至る２つのソケット接続を成立させる。その後、ＩＡＳ５１２は各々の特定エージェントに関して次のタスクを実行する。
・特定エージェントを接続を成立させたとして「登録」し、その特定エージェントに関する関連情報を記録する。
・特定エージェントがその単純ソケットを介して送信するメッセージを「聴取する」働きをする新たなプロセススレッドを始動する。
・既にＵＡＳ５１２によって登録されている全てのエージェントに新たに登録された特定エージェントの情報を通知する。
【００５７】
エージェント間の全ての通信はＩＡＳ５１２を通過するため、ＩＡＳ５１２は正しいエージェントへメッセージを送信するためにシステムに存在するあらゆるエージェントの記録を保持しており、存在しないエージェントに通信しようとする試みがなされた場合には適切な誤り修正措置を講じる。
【００５８】
通信段階を考えるときには、一般に、ＩＡＳ５１２はメッセージの内容には関わらず、メッセージが正しく所期のエージェントへ送信されるのを確認するだけであるということに注意する。
【００５９】
聴取スレッドの１つによりメッセージが受信されるたびに、メッセージを発信したエージェントが応答を期待している（これを「高信頼性メッセージ」という）か否か及び所期の受信エージェントが存在するか否かを確認するために、メッセージはＩＡＳ５１２により検査される。
【００６０】
メッセージが「高信頼性」メッセージとは異なる「単純」メッセージ（単純メッセージは発信エージェントに対する応答を明示することを期待されない）であり且つターゲットエージェントが存在する場合、メッセージは単純ソケットを介してそのエージェントへ送り出される。
【００６１】
メッセージが高信頼性メッセージであり且つターゲットが存在する場合、メッセージは高信頼性ソケットを介してそのエージェントへ送り出され、ＩＡＳ５１２はそのソケットで応答を待つ。応答が受信されると、応答は高信頼性ソケットを介して発信エージェント（そのソケットを介して応答を待っているべきである）に戻される。
【００６２】
ＩＡＳ５１２がソケット接続の障害によってメッセージを首尾良く送り出せない場合には、ＩＡＳ５１２は対応するエージェントが登録抹消をせずにシステム５００を離脱したと仮定する。
【００６３】
通常の状況の下では、通信段階の間、ＩＡＳ５１２により異なる方法で処理される１つの特殊メッセージが存在する。このことについては、遮断段階に関する次の章で説明する。エージェントは、遮断しようとしているとき、まず、前述の特殊メッセージを使用してその意志をＩＡＳ５１２に報告する。その結果、ＩＡＳ５１２はそのエージェントを登録エージェントのリストから排除し、他の全ての登録エージェントに登録抹消したエージェントがそれ以降利用できないことを報知する。特殊メッセージは、特殊メッセージの所期の受信者がＩＡＳ５１２自体であるという点で、通信段階の間にＩＡＳ５１２により受信されるエージェントからの他のメッセージとは異なる。特殊メッセージは他のどのエージェントにも送信されず、ＩＡＳ５１２は登録抹消を報知するメッセージを登録エージェントへ送信する。
【００６４】
図８は、機器を制御するために機器エージェントとユーザエージェントが協働する一連の方法工程を含む第１のプロセス８００を示す。この協働はユーザプロファイルの作成と更新に関し、ユーザの満足度のレベルを示す評価関数を最適化することを含んでいても良い。ユーザの満足度は、機器エージェントと関連する機器の動作に関するユーザの認知に関連する。
【００６５】
第１のステップ８０２では、ユーザエージェントは特定の機器に関連するユーザの行動を監視する。機器エージェントは、機器に関するユーザの行動を監視するときに通過するルートである。次のステップ８０４で、ユーザエージェントはこのようにして監視された行動に基づいてユーザプロファイルを更新する。その後、ステップ８０６で、ユーザエージェントはプロファイルに基づいて機器エージェントに指示を発する。
【００６６】
続くステップ８０８では、機器エージェントは機器を制御し且つ／又は監視するために制御機能及び／又は感知機能を実行することにより、ユーザとの対話を感知し、この点に関する情報をユーザエージェントにフィードバックする。フィードバックは破線８１０により指示されている。対話プロセス８００は、機器の動作に関するユーザの満足度レベルを示す評価関数を改善しても良い。機能の点からいえば、ユーザエージェントと機器エージェントは、ユーザによる機器の利用状況を最適化するために、ユーザと機器との対話から感知された行動情報を使用して協働し、それにより、ユーザが特定の機器の性能について感じる満足度を最大にする。
【００６７】
図９は、第１のシステムにおいて機器を制御する一連の方法工程として表される第２のプロセス９００を示す。第１のステップ９０２では、１つ以上の機器エージェントがユーザと１つ以上の関連機器との対話を監視し、その後、ステップ９０４で、その対話に従ったデータをユーザと関連するユーザエージェントへ通信する。続くステップ９０６では、ユーザエージェントは通信されたデータに従ってユーザプロファイルを更新する。その後、プロセス９００は破線の矢印９０８により指示されるように監視するステップ９０２に戻る。
【００６８】
矢印９１０により指示するように、ステップ９０４の後には、ユーザエージェントがユーザ環境に関連する事象を監視するステップ９１２も続いている。この例では、事象はステップ９０４で機器エージェントとユーザエージェントとの間で通信されたデータにより明示される。決定ステップ９１４では、ユーザエージェントはステップ９０４の通信データと、ユーザプロファイルとに基づいて決定を下す。
【００６９】
上記の２つのファクタに基づく基準を満たせば、プロセス９００は１つ以上の機器エージェントに対して１つ以上の指示を発するステップ９１６へ進む。これにより、ステップ９２２で、機器エージェントは関連する機器に対して指示に従って制御機能及び／又は感知機能を実行する。次に、プロセス９００は矢印９２０に従ってステップ９２２からステップ９１２へ進む。ステップ９１４の基準を満たさない場合には、プロセス９００は矢印９１８に従って決定ステップ９１４からステップ９１２へ進む。
【００７０】
図１０は、マルチエージェントシステムの別の実現形態１０００の一例を示す。インターエージェントサーバ（ＩＡＳ）はＰＣ１００２のプロセス１００４によって実現されている。第２のプロセス１０１２はユーザエージェントを表す。所定の時点でどの特定のユーザエージェントが表現されるかは以下に説明する。２つのプロセス１００４及び１０１２に加えて、３つの機器エージェント、すなわち、ＤＴＶエージェント１０１４、ＨＤＤエージェント１０１６（ＨＤＤと称されるハードディスクドライブなどの記憶媒体に対するエージェントである）、及びＵＭＭエージェント１０１８（電子メール又はファクシミリ送信などの通信を受信し、格納することができる一体化メッセージングモジュールに対するエージェントである）の各々に対して別のプロセスが存在する。「エージェント」及び「エージェントプロセス」という用語は互いに互換性をもって使用されており、意図される特定の用法は特に指示のない限り文脈から明白である。エージェント１０１４〜１０１８はそれぞれの機器、すなわち、ＤＴＶ１００６、ＨＤＤ１００８及びＵＭＭ１０１０にそれぞれ常駐している。尚、ＰＣ１００２、ＤＴＶ１００６、ＨＤＤ１００８及びＵＭＭ１０１０はそれぞれ接続回線１０２２、１０２４、１０２６及び１０２８によってネットワーク１０２０に接続されていることに注意する。更に、電子番組ガイド（ＥＰＧ）データベース１０３０もネットワーク１０２０に接続している。
【００７１】
エージェント間の通信チャネルは図７に関連して説明したようなＴＣＰ／ＩＰソケットである。まず、ＩＡＳ１００４が始動し、エージェント１０１４〜１０１８からメッセージを受信するために「聴取」ソケットを確立する。次に、エージェント１０１４〜１０１８が（任意の順序で）始動し、各エージェントは（i）ＩＡＳ１００４との通信及びＩＡＳ１００４を介する通信、（ii）他のエージェントとの通信、（iii）ＩＡＳ１００４とのコンタクトの確立、及び（iv）ＩＡＳ１００４による登録に使用するための対応するソケットを作成する。
【００７２】
ユーザとエージェント１０１２〜１０１８との全ての対話はＤＴＶ１００６及び関連するＤＴＶエージェントプロセス１０１４を介して起こる。ＤＴＶエージェント１０１４はユーザに特定の情報を与えると共に、ユーザによるＤＴＶ１００６の利用を監視することができる。このようにして収集された情報はユーザエージェント１０１２へ送信される。
【００７３】
図１１は、ユーザエージェントにより使用されるデータベース及びそれに格納されているファイルを表すブロック線図である。これは、以下に説明すべき学習、推理及び計画の各モジュールの動作を理解する上で必要な背景及び用語を示している。図１１において、ユーザエージェント１５０２はユーザプロファイルファイルデータベース１５０４と、「インスタンス」ファイルデータベース１５１０とに接続している。「ユーザプロファイル」という用語は、通常、ユーザプロファイルファイルデータベース１５０４及び「インスタンス」ファイルデータベース１５１０のいずれか一方又は双方の記録への参照を含む。ユーザプロファイルファイルデータベース１５０４は、破線１５０６により指示されるように、ユーザにより実行されるＤＴＶ番組選択を記述するエントリのレコード１５０８を含む。レコード１５０８は「program selection #1」、...、「program selection #n」として表されているいくつかの番組選択を含むことがわかる。例えば、特定のエントリは次の情報を含むと考えられる。
Category = 'drama';
Sub-category = 'comedy/drama';
Channel = 10;
Time = 1800
Day = Wednesday
...。
【００７４】
インスタンスファイルデータベース１５１０は、ＤＴＶの機能に関連してユーザがとるアクションのレコード１５１４を含む。そのような機能は特定のＤＴＶにより定義されている（例えば、ＤＴＶ１００６に関しては図１０を参照）。ユーザがとるアクションのレコード１５１４はいくつかのエントリ、すなわち、「action #1」、...、「action #m」を含むことがわかる。上記の決定（又はアクション）は、矢印１５１６により指示するように、１組の異なるアクションのカテゴリ１５１８に属する。そのようなアクションの１つ１５２０は、ＵＭＭ１０１０からのメッセージを表示すること（図１０を参照）に関してユーザがとるアクションを記述するエントリを有する「UMM content display（ＵＭＭコンテンツ表示）」インスタンスファイル１５２０である。特定のメッセージ（例えば、インスタンスファイル１５２０の「UMM message display #1」）は（i）メッセージが着信したときにユーザが見ていたＤＴＶのコンテンツのカテゴリ、（ii）メッセージの種類（例えば、Ｅメール、音声メールなど）、（iii）メッセージの優先順位、（iv）曜日、（v）時間及びメッセージを受信した結果としてユーザが下した決定などの詳細を含んでも良い。ユーザが下す特定の決定は、例えば、次のようなものを含むと考えられるであろう。
−  確認を求める
−  メッセージを表示するためにＤＴＶの画面に小さな二次表示ウィンドウを開く
−  中程度の大きさの二次ウィンドウを開く
−  大きな二次ウィンドウを開く
−  番組を中断しない。
【００７５】
ＨＤＤ１００８（図１０を参照）により記録された番組の各部分に関連し、後になって視聴が可能になったときにユーザに提供される「HDD partial playback（ＨＤＤ部分再生）」インスタンスファイル１５２２についても同様のエントリが作成される。「HDD full content playback（ＨＤＤ全コンテンツ再生）」インスタンスファイル１５２４も示されているが、これはＨＤＤ１００８（図１０を参照）に記録された番組全体に関連し、後の段階で視聴するためにユーザに提供される。この例の構成においては、ユーザエージェント１０１２が実行する３つのプロセスに対応して３種類の動作がある。この３つのプロセスはどのような順序で行われても良い。３種類の動作とは学習、推理及び計画である。
【００７６】
学習
図１０に戻る。ユーザがＤＴＶ１００６を介して選択を行う（例えば、１つの番組を見ることを選択する、番組を録画することを選択する、機器のスイッチを入れる又は切る）たびに、ＤＴＶエージェント１０１４はその選択をユーザエージェント１０１２に報知し、選択に関連する対応するデータを供給する。このデータは視聴中の番組の種類、関連する番組提供者及びユーザに関するその他の関連現在情報を含むことができる。ユーザエージェント１０１２はこの情報を作表するか又はその他の方法により操作して、ユーザエージェント１０１２により維持されているユーザプロファイルを構成することができる。
【００７７】
ユーザエージェント１０１２はその他の情報を要求しても良く、ユーザをプロンプトすることによりＤＴＶエージェント１０１４がそのような情報を収集することを要求することができる。更に、ユーザエージェント１０１２は番組に関するその他の情報を求めてＥＰＧデータベース１０３０に問い合わせることもできる。
【００７８】
ユーザプロファイルが最初に構成されるとき、ユーザエージェント１０１２は「新たな」ユーザの情報を全く持っていない。ユーザプロファイルを初期設定するために、ユーザエージェント１０１２はこの目的のためにユーザから情報を収集することをＤＴＶエージェント１０１４に要求しても良い。この情報は何らかの人口統計的「平均」によりそのユーザをどのように表現できるかを確立するために使用できる種類の個人情報であっても良いであろうし、あるいはユーザの視聴習慣の近似モデルを作成するためにも使用できるユーザの好みの（すなわち、普通見ている）番組の情報であっても良いであろう。
【００７９】
図１２は、ユーザと、ＤＴＶエージェント１０１４と、ユーザエージェント１０１２（図１０を参照）との間で交換されるメッセージの典型的なシーケンスを含めて学習プロセス１１１８を示す。学習プロセス１１１８は斜線のセル１１２２及び１１２４により示される学習「活動」を更に含む。図を簡略化するため、メッセージ交換シーケンスからＩＡＳ１１１４を省いてある。エージェント間の全てのメッセージはＩＡＳ１００４により中継される。図１２は、７つの列「Ａ」から「Ｇ」と、「１」から「２６」まで番号付けされた２６本の行とを有する行列表現の形態でプロセス流れ図を示す。尚、行列の行２に関して、列Ｃは「ユーザ」を表し、列Ｅは「ＤＴＶエージェント」１０１４（図１０を参照）を表し、列Ｇは「ユーザエージェント」１０１２（図１０を参照）を表す。この例の学習プロセスにおいては、行３の第１のステップでユーザはＤＴＶのスイッチを入れるが、これは矢印１１００により指示するようにユーザからＤＴＶエージェント１０１４へのメッセージを明示している。その後、行５及び６に示すように、ＤＴＶエージェント１０１４は矢印１１０６により指示するようにユーザエージェント１０１２へメッセージを送信する。その後、列「Ｇ」の行７及び８に示すように、既にユーザプロファイルが存在している場合、プロセス１１１８は行２０（図中符号１１１６により指示される）に至る。ユーザプロファイルが既に存在している場合、プロセス１１１８は行列の行１０に至り、ユーザエージェント１０１２は矢印１１０４により指示するようにユーザに（ＤＴＶエージェント１０１４を介して）情報を求める。その後、行１１に示すように、ＤＴＶエージェント１０１４は矢印１１０２により指示する通り上記の情報をユーザに受け渡す。
【００８０】
その後、ユーザは矢印１１０８により指示するようにＤＴＶエージェント１０１４に情報を提供するが、このように提供された情報はユーザプロファイルを構成するために使用される。続いて、行１６に示すように、ＤＴＶエージェント１０１４は上記の情報を矢印１１１２により指示する通りユーザエージェント１０１２に受け渡す。
【００８１】
その後、行列の列Ａの行１８及び１９に示すように、ユーザエージェント１０１２は提供されたデータからユーザプロファイルを構成する。この構成は「学習」とラベル付けされた斜線の行列セル１１２２により指示されている。その後、行２１により示すようにユーザは番組を視聴するが、このことは矢印１１１０により指示されるようにＤＴＶエージェント１０１４により認知される。行２３は、矢印１１１４により指示するように上記の情報（すなわち、ユーザが番組を視聴していること）がどのようにしてＤＴＶエージェント１０１４によりユーザエージェント１０１２に中継されるかを示す。その後、行２５に示すように、ユーザエージェント１０１２はユーザプロファイルを更新する、このことは「学習」とラベル付けされた斜線のセル１１２４により示されている。尚、行３から１９は初期学習段階を表し、行２１から２５は「更新」学習段階を表す。学習活動１１２２及び１１２４については図１１及び図１６に関連して説明する。
【００８２】
推理
推理とは、ユーザの要求に応答して選択を実行するためにユーザエージェントがユーザプロファイルを使用することである。例えば、ユーザがＤＴＶ１００６（図１０を参照）のスイッチを入れ、ユーザプロファイル（図示せず）に含まれる情報及び現在コンテキスト（実際に視聴するために利用可能である番組など）の知識を使用して、ユーザが興味を持って視聴したいと思われる利用可能な番組のサブセットを示唆することを関連するユーザエージェント（１０１２）に求めたとする。
【００８３】
図１３は、ユーザと、ＤＴＶエージェント１０１４と、ユーザエージェント１０１２との間で交換される典型的なメッセージのシーケンスを含む推理プロセス１２０８を示す。推理プロセス１２０８は斜線のセル１２１０により示される推理「活動」を更に含む。ユーザが視聴すべき番組を選択すると、その情報はユーザエージェント１０１２に提供され、ユーザエージェントは適切な学習アルゴリズムを使用して新たな情報をユーザプロファイルに取り入れる（図１２を参照）。図１３では、推理プロセス１２０８は「Ａ」から「Ｇ」とラベル付けされた７つの列と、１から１８まで番号付けされた１８の行とを有する行列の形態で示されている。行３で、ユーザは番組勧告を要求するが、この要求は矢印１２００により指示するようにＤＴＶエージェント１０１４へ通信される。行６に示すように、ＤＴＶエージェント１０１４は上記の要求を矢印１２０２により指示する通りユーザエージェント１０１２に受け渡す。その後、ユーザエージェント１０１２は斜線のセル１２１０により示すように推理活動を実行する。推理活動については図１１及び図１６に関連して説明する。上記の推理活動１２１０の結果、ユーザプロファイル及び現在コンテキストに基づいて勧告がコンパイルされる。これは行列表現１２０８の行９から１１により示されている。その後、行１３により示すように、ユーザエージェント１０１２は上記のコンパイル済み勧告を矢印１２０６により指示する通りＤＴＶエージェント１０１４に提供する。続いて、ＤＴＶエージェント１０１４はそれらの勧告を矢印１２０４により指示する通りユーザに受け渡す。続く行１７で、推理プロセス１２０８は図中符号１１１６により指示される行２０の学習プロセス１１１８（図１２を参照）へ進む。
【００８４】
計画
計画とは、ユーザにより開始されなかった事象に応答して決定を下すためにユーザエージェント１０１２がユーザプロファイルを使用することである。例えば、ＵＭＭエージェント１０１０（図１０を参照）によりＥメール通信が受信された場合、ユーザエージェント１０１２はその通信を表示すべきか否か（及びどのように表示すべきか）に関して（ユーザプロファイルを使用して）決定を下すことができる。
【００８５】
従って、この例では、ユーザエージェント１０１２は、ユーザが視聴している番組を録画することをＨＤＤエージェント１０１６に要求すべきか否か、及びユーザがＥメールを読み終わった後に番組の録画部分を表示すべきか否か（及びどのように表示すべきか）を決定しなければならない。
【００８６】
図１４及び図１５は、ユーザと、ＤＴＶエージェント１０１４と、ユーザエージェント１０１２と、ＵＭＭエージェント１０１８と、ＨＤＤエージェント１００８との間で交換される典型的なメッセージのシーケンスを含む計画プロセスの各部分１３１８及び１３１８Ａの例を示す。計画プロセスセグメント１３１８及び１３１８Ａは斜線のセル１３２０、１３２２及び１４１２により指示される計画「活動」を更に含む。それらの計画活動については図１１及び図１６に関連して説明する。
【００８７】
図１４は、「Ａ」から「Ｋ」とラベル付けされた１１の列と、１から３７まで番号付けされた３７の行とを有する行列の形態で計画プロセスの第１のセグメント１３１８を示す。プロセスセグメント１３１８はいくつかのエンティティ、すなわち、ユーザ（行２列Ｃ）、ＤＴＶエージェント１０１４（行２列Ｅ）、ユーザエージェント１０１２（行２列Ｇ）、ＵＭＭエージェント１０１８（行２列Ｉ）及びＨＤＤエージェント１０１６（行２列Ｋ）による参入を含む。
【００８８】
まず、行４に示すように、計画プロセスセグメント１３１８はＥメール又はファクシミリを待つ。その後、行６及び７に示すように、ＵＭＭエージェント１０１８がＥメールを受信し、ＵＭＭエージェントは矢印１３０４により指示するようにユーザエージェント１０１２に通知する。
【００８９】
その後、行９及び１０に示すように、ユーザエージェント１０１２はユーザが現在どの番組を視聴しているかをＤＴＶエージェント１０１４に「尋ねる」。この要求は矢印１３００により指示されている。それに応答して、行１２及び１３に示すように、ＤＴＶエージェント１０１４は矢印１３０２により指示する通り適切な番組情報をユーザエージェント１０１２に提供する。その後、行１５から１７に示すように、ユーザエージェント１０１２は、新たに着信したＥメールを表示すべきか否かを決定するのに十分な情報を有しているか否かを決定する。斜線のセル１３２０により示される計画活動の間にユーザエージェント１０１２がＥメールを表示すべきか否かをユーザに尋ねる必要があると結論した場合、プロセスセグメント１３１８は行５８へ進む（図１５を参照）。これに対し、ユーザエージェント１０１２がユーザの介入は不要であると決定した場合には、プロセスセグメント１３１８は行２０及び２１へ進み、ユーザエージェント１０１２は斜線のセル１３２２により示される別の計画活動を実行する。
【００９０】
計画プロセス１３２２の結果、ユーザエージェントがコンテンツ（例えば、ＨＤＤ又はＵＭＭからのコンテンツ）を表示しないことを決定したならば、プロセスセグメント１３１８は行３に戻る。計画活動１３２２の間にユーザエージェント１０１２が受信情報を表示することを決定した場合には、行２３に示すように、現時点でユーザが視聴しているコンテンツがすでにＨＤＤ１００８に格納されていれば、プロセスセグメント１３１８は行２８へ進む。これに対して、現時点でユーザが視聴しているコンテンツが先にＨＤＤ１００８に格納されていなければ、プロセスセグメント１３１８は行２５及び２６へ進み、ユーザエージェント１０１２は、矢印１３０６により指示する通り、現在視聴中の番組の録画を開始するようにＨＤＤエージェント１０１６に指示する。
【００９１】
行２３に続いて、行２８は「ナル」プロセスステップであり、計画プロセスセグメント１３１８は行３０及び３１へ進み、ユーザエージェント１０１２は矢印１３０８により示すようにＵＭＭ１０１０／ＨＤＤ１００８からのコンテンツを表示することをＤＴＶエージェント１０１４に指示する。続く行３３では、ＤＴＶエージェント１０１４は表示すべきコンテンツをＵＭＭエージェント１０１８及び（必要であれば）ＨＤＤエージェント１０１６に要求する。このことは矢印１３１０と破線の矢印１３１４によりそれぞれ示されている。その後、ＵＭＭエージェント１０１８及び（妥当であれば）ＨＤＤエージェント１０１６は、矢印１３１２及び破線の矢印１３１６により指示するように所望のコンテンツをＤＴＶエージェント１０１４へ送信する。
【００９２】
図１５は、図１４に示す計画プロセスセグメント１３１８の続きのプロセスセグメント１３１８Ａを示す。行３９から４１は、ＤＴＶエージェント１０１４がＤＴＶ番組及び（ＨＤＤ１００８及び／又はＨＤＤ１０１０からの）特別コンテンツを表示していることを表す。行４３及び４４に示すように、この後、ユーザは矢印１４００により指示する通り追加コンテンツを示しているウィンドウを閉じる。その後、行４６に示すように、ＤＴＶエージェント１０１４は矢印１４０４により指示する通り上記のユーザ事象（すなわち、ウィンドウを閉じたこと）をユーザエージェント１０１２に通知する。
【００９３】
続く行４８及び４９に目を転じると、コンテンツ供給源がＨＤＤ１００８であった場合、プロセスセグメント１３１８Ａは行３へ進む（図１４を参照）。
【００９４】
あるいは、行５１から５３で、ユーザエージェント１０１２は計画活動１４１２を使用して、ユーザが録画された番組を表示することを望むかをユーザに尋ねるか否かを決定する。計画活動１４１２がユーザに尋ねるべきであると結論したならば、プロセスセグメント１３１８Ａは行５８へ進む。計画活動１４１２がユーザに尋ねる必要はないと結論した場合には、プロセスセグメント１３１８Ａは行１９へ進む（図１４を参照）。
【００９５】
行５５に続いて、行５８は「ナル」プロセスであり、従って、プロセスセグメント１３１８Ａは行６０へ進み、ユーザエージェント１０１２は、矢印１４１０により指示するように、新たなコンテンツを表示すべきか否か、及び表示すべきである場合にはどのように表示すべきかに関して要求をユーザへ搬送することをＤＴＶエージェント１０１４に要求する。行６３で、ユーザは矢印１４０６により指示される通りＤＴＶエージェント１０１４に対して適切な応答を行う。その後、行６５で、ＤＴＶエージェント１０１４は矢印１４０８により指示する通りユーザ応答をユーザエージェント１０１２に通知する。行６７で、ユーザ応答（矢印１４０６により指示される）が「イエス」であった場合、プロセスセグメント１３１８Ａは行１９へ進む（図１４を参照）。あるいは、プロセスセグメント１３１８Ａは行３へ進む（図１４を参照）。
【００９６】
上記の計画の例を要約すると次のようになる。
１．ＵＭＭにＥメールが着信する。ＵＭＭエージェントはユーザエージェントに通知する。
２．ユーザエージェントはユーザが現在何を視聴しているかをＤＴＶエージェントに尋ねる。
３．ＤＴＶエージェントは現在番組に関する情報を提供する。
４．ユーザエージェントは新たに着信したＥメールを表示すべきか否かを決定するのに十分な情報を有していない場合がある。そのような場合には、そのＥメールを表示すべきか否かをユーザに尋ねることをユーザエージェントはＤＴＶエージェントに要求する。ユーザは「イエス」と返答し、ＤＴＶエージェントはこの応答をユーザエージェントに報知する。
５．ユーザエージェントは視聴中の番組を録画することをＨＤＤエージェントに要求する。
６．ユーザエージェントはＵＭＭからの新たなコンテンツを要求すべきであることをＤＴＶエージェントに報知する。
７．ＤＴＶエージェントはＵＭＭコンテンツ（すなわち、Ｅメール）を送信することをＵＭＭエージェントに要求する。Ｅメールが受信されると、そのコンテンツはＤＴＶに表示される。
８．ユーザがＥメールの表示を拒否する場合には、ＤＴＶエージェントはこのユーザアクションをユーザエージェントに通知する。
９．ユーザエージェントは番組の録画部分を表示すべきか否かを決定するのに十分な情報を有していない場合がある。そのような場合には、録画を表示すべきか否かをユーザに尋ねることをユーザエージェントはＤＴＶエージェントに要求する。ユーザは「イエス」と返答し、ＤＴＶエージェントはユーザエージェントにそのように報知する。
１０．ユーザはＨＤＤからのコンテンツを要求すべきであることをＤＴＶエージェントに報知する。
１１．ＤＴＶエージェントはＨＤＤコンテンツ（すなわち、録画）を送信することをＨＤＤエージェントに要求する。録画が受信されると、コンテンツはＤＴＶに表示される。
１２．ユーザが録画された番組の表示を拒否する場合、ＤＴＶエージェントはユーザエージェントに通知する。
１３．計画シーケンスは再開可能な状態になる。
【００９７】
図１６は、エージェント構造の一例において、学習モジュール１６０２、推理モジュール１６１８及び形各モジュール１６２６によりプロファイル選択レコード１５０８及びインスタンスレコード１５１８（図１１を参照）がどのように使用されるかを示すデータ流れ図１６００である。学習モジュール１６０２は、矢印１６０４、１６０６、１６０８及び１６１０によりそれぞれ指示するように、番組選択ファイル１５０８、ＵＭＭメッセージ表示インスタンスファイル１５２０、ＨＤＤ部分再生インスタンスファイル１５２２及びＨＤＤ完全再生インスタンスファイル１５２４に対して別個に動作する。学習モジュール１６０２は特定のインスタンスファイルからのエントリの共有（すなわち、一般化）パターン１６１４を識別するためにそれらのファイルに対して動作する。一般化パターンはファイル中の様々なエントリの交差と、それらの交差が起こる頻度とを表現する。学習モジュール１６０２は、矢印１６１２により指示するように、推理モジュール１６１８及び計画モジュール１６２６により使用するための一般化パターン１６１４を判定する。
【００９８】
矢印１６１６により指示するように、推理モジュール１６１８は、矢印１６２０により指示する通りユーザに対する勧告１６２２を作成するために一般化パターン１６１４を使用する。それらの勧告は、この例では、特定のユーザについて利用可能である最も適切なＤＴＶ視聴者オプションを構成する。まず、推理モジュール１６１８は一般化パターン１６１４の順序付けを行うが、この順序付けは発生頻度の高い順に一般化パタンを順序付けすることを含む場合もある。あるいは、特殊性レベルが高い順に基づいて順序付けを行っても良い。パターンの特殊性は関連するファイルにおける様々なエントリの交差の回数に比例する。その後、推理モジュール１６１８は順序付けされた一般化パターンをフィルタリングする。フィルタ（図示せず）は、一般化パターンが日時に特有のパターンであるか否かを検証すると共に、特定の時間及び／又は日付がその時点で勧告が要求されている時間及び／又は日付と一致することを検証するフィルタを含む。別のフィルタは、一般化パターンの出現があらゆる一般化パターンの出現の平均を超えることを要求しても良い。
【００９９】
フィルタと上述の順序付けプロセスとを組み合わせることにより、いくつかの「タスク」が提供されるという効果がある。過去に最も成功を収めたタスク（すなわち、実際に出された勧告をユーザが受け入れたタスク）から始め、そのタスクを一般化パターンに適用し、その後、得られたリストの第１のエントリから始めて、その特定のエントリをＥＰＧデータベース１０３０（図１０を参照）からのエントリと整合させる。ＥＰＧの対応するエントリと整合するエントリを勧告としてユーザに提供する。
【０１００】
矢印１６２４により指示するように、計画モジュール１６２６も一般化パターン１６１４を利用する。例えば、矢印１６２８により指示するようにシステム１６００によりＥメールが受信されたとき、学習モジュール１６０２はＵＭＭメッセージ表示インスタンスファイル１５２０で一般化パターンを発見する。その後、計画決定（すなわち、アクション）を交差として含む一般化パターン１６１４のエントリに基づいて行動パターンが取り出される。その後、現在の状況（例えば、ＤＴＶコンテンツのカテゴリ、メッセージの種類、優先順位、日付、時間などにより定義される）と行動パターンとの交差を発見する。それらの交差と、交差と関連する決定及び頻度とに基づいて、計画モジュール１６２６は「最も適切な」決定を判定し、矢印１６３０により指示するようにそれを現在ＵＭＭコンテンツ、この場合にはＥメール１６２８に適用する。例えば、特定の勧告はＥメールをＨＤＤ１００８（図１０を参照）に格納することであっても良いし、あるいはＥメールを直ちに表示するためにＤＴＶ１００６（図１０を参照）の表示画面に小さなウィンドウを開くことであっても良い。
【０１０１】
図１７は、先に開示した分散形制御方式を使用して図４の複数の機器を制御するためのマルチエージェントプロセスの一例１８００を示す。図１７は、ユーザエージェント１７１２、ＤＴＶエージェント１７１４（第１のエージェントともいう）及びプリンタエージェント１７１６（第２のエージェントともいう）に関連する３つの列に分割されている。プロセス１８００は、ＤＴＶエージェント１７１４がＤＴＶエージェント１７１４と関連するＤＴＶ１７０６に関わる事象、すなわち、ユーザとの対話を検出するステップ１８０２で始まる。そのような事象の１つは図４に関連して説明したＥメールの着信である。その後、ステップ１８０４で、ＤＴＶエージェント１７１４はユーザエージェント１７１２へ更新メッセージを送信し、その後、ユーザエージェント１７１２はステップ１８０６でユーザプロファイルを更新する。
【０１０２】
その後、ステップ１８０８で、ユーザエージェント１７１２は第１のアクションメッセージをＤＴＶエージェント１７１４へ送信する。
【０１０３】
ＤＴＶエージェント１７１４は決定ステップ１８１０で第１のアクションが実際にＤＴＶ１７０６により実行可能であるか否かを考慮する。この決定は、例えば、Ｅメールカテゴリの確率尺度が５０％を越えているか否かに基づいて下されても良い。決定ステップ１８１０が第１のアクションは可能である（すなわち、確率が５０％を越えている）と結論した場合、プロセス１８００は第１のアクションの実行（すなわち、ＤＴＶ１７０６の画面へのＥメールの表示）を示す破線の矢印１８１２に従って進行する。破線の矢印は、プロセス１８００がＤＴＶエージェント１７１４と関連するＤＴＶ１７０６へ導かれることを指示するために使用されるが、ＤＴＶ１７０６自体は図１７には示されていない。
【０１０４】
これに対し、決定ステップ１８１０が第１のアクション（すなわち、ＤＴＶ１７０６の画面へのＥメールの表示）は不可能であると結論した場合には、プロセス１８００は矢印１８１４に従ってステップ１８１６へ進む。ステップ１８１６では、ＤＴＶエージェント１７１４は第２のアクションメッセージを生成し、それをプリンタエージェント１７１６へ送信する。プリンタエージェント１７１６は決定ステップ１８１８で、センサ１７５４からＣＰＵ１７５０（図４を参照）へ送信される信号に基づいて、ステップ１８１６で送信された第２のアクションメッセージと関連する第２のアクションをプリンタ１７０８が実行することが可能であるか否かを考慮する。従って、特定のＥメールを優先順位が低い（すなわち、５０％未満）ためにＤＴＶ１７０６に表示できないと認識した場合、ＤＴＶエージェント１７１４はそれに代わる適切な機器／エージェントの対を識別するように動作し、所期の受信側機器／エージェント対が印刷に適合すると想定した上で、後続するＥメールの印刷を命令するためにその機器／エージェント対へ第２のアクションメッセージを送信する。従って、ＤＴＶエージェント１７１４は、ステップ１８１６で送信された第２のアクションメッセージをプリンタエージェント１７１６により理解可能にするために、ステップ１８０８でユーザエージェント１７１２により送信された第１のアクションメッセージを修正する。
【０１０５】
決定ステップ１８１８でプリンタエージェント１７１６が関連するプリンタ１７０８は第２のアクションを実行可能であると結論した場合、プロセス１８００は、第２のアクションが実行されること（例えば、印刷すべきＥメールがプリンタ１７０８により印刷されること）を指示する破線の矢印１８２０に従って進む。これに対し、決定ステップ１８１８でプリンタエージェント１７１６が第２のアクションは不可能である（例えば、プリンタ１７０８が用紙切れである場合）と決定した場合には、プロセス１８００は他の機器エージェント及び関連機器（図示せず）に至ることができる矢印１８２２に従って進む。
【０１０６】
プロセス１８００を再検討してみると、ＤＴＶエージェント１７１４が関連する機器（すなわち、ＤＴＶ１７０６）は第１のアクションを実行できないと結論した場合、ＤＴＶエージェント１７１４は第２の機器エージェント１７１６へ理解可能なアクションメッセージを送信し、重要な点として、その第２の機器エージェント１７１６に制御を引き継ぐことがわかる。その後、第１の機器エージェント１７１４はプロセスに関与しなくなり、事実上「ループ外に出る」。これにより、所望のアクションの制御は、そのアクション又はそれと等価のアクションが実行可能になるまで、一連の機器エージェントを通って流れる、すなわち、伝搬して行くことができる。
【０１０７】
図１８は、機器エージェント（例えば、ＤＴＶエージェント１７１４）がマルチエージェントシステム中の機器（例えば、図４のＤＴＶ１７０６）の制御に参入するプロセスを構成する方法工程のフローチャートである。プロセスの第１のセグメント１９００は、ＤＴＶ  ＣＰＵ１７４２及びセンサ１７４６を使用してユーザとＤＴＶ１７０６の対話及びＤＴＶ１７０６と関連する事象を監視するステップ１９０２を含む。続く試験ステップ１９０４は、事象又は対話が起こったか否かを判定する。そのような事象又は対話が検出されていなければ、プロセスセグメント１９００は「ＮＯ」の矢印に従ってステップ１９０２に戻る。これに対し、そのような発生が検出されていた場合には、プロセスセグメント１９００は「ＹＥＳ」の矢印に従って、ユーザエージェント１７１２（図４を参照）へ更新メッセージを送信するステップ１９０６へ進む。その後、プロセスセグメント１９００はステップ１９０２に戻る。ＤＴＶ１７０６に関連する事象の一例は、ユーザがＤＴＶ１７０６で１つの番組を視聴するためにチャンネルを合わせることである。ユーザエージェント１７１２に対する対応する更新メッセージは番組の名前、開始時間及び番組の放送継続時間に関する情報を含む。
【０１０８】
プロセスの第２のセグメント１９００'は、ユーザエージェント１７１２からのアクションメッセージの着信を監視するステップ１９１２を含む。続く試験ステップ１９１４は、そのようなメッセージが受信されたか否かを判定する。そのようなメッセージが検出されていなければ、プロセスセグメント１９００'は「ＮＯ」の矢印に従ってステップ１９１２に戻る。これに対し、そのようなメッセージが検出されていれば、プロセスセグメント１９００'は「ＹＥＳ」の矢印に従って、ＤＴＶ１７０６が受信されたアクションメッセージと関連するアクションを実行可能であるか否かを判定する試験ステップ１９１６へ進む。ＤＴＶが実行可能であれば、プロセスセグメント１９００'は「ＹＥＳ」の矢印に従って、そのアクションを実行するステップ１９１８へ進む。図４に関連して説明したように、アクションメッセージの一例はＤＴＶ１７０６の「画面にＥメールを表示すること」であると考えられるが、これは対応するＥメールカテゴリと関連する確率尺度が５０％を越える場合にのみ可能である。この確率尺度はユーザエージェント１７１２により保持されているユーザプロファイルに従って決まる（図１９を参照）。ＤＴＶ１７０６が所望のアクションを実行することが不可能である場合（例えば、確率尺度が５０％未満であり且つユーザがＤＴＶ１７０６で番組を視聴している場合）には、プロセスセグメント１９００'は「ＮＯ」の矢印に従って試験ステップ１９２４へ進む。
【０１０９】
ステップ１９２４は、受信されたアクションメッセージと関連する所望のアクションを処理するために別の機器を利用可能であるか否かを判定する。この判定を実行するために、ＤＴＶエージェント１７１４は別の機器が利用可能であるか否かをＩＡＳアプリケーション１７０４に問い合わせる。各々の機器特定エージェントが最初にネットワークで起動されるときにエージェントはＩＡＳ１７０４によって登録されており、且つ特定エージェントに関する「関連情報」がＩＡＳ１７０４により記録されているため、ＩＡＳ１７１４はエージェント及びその関連情報のデータベースを維持することができる。そのような関連情報には、例えば、機器がテキストメッセージを格納、表示又は印刷する能力や、地理的場所の標識を表すネットワークアドレスなどがある。従って、ＩＡＳ１７０４はステップ１９２４に関して適切な他のエージェントが利用可能であるか否かを判定することが可能であり、ＤＴＶエージェント１７１４に適宜報知することができる。ＩＡＳ１７０４は、ＩＡＳ１７０４により記録されていた特定エージェントに関する「関連情報」を使用することにより、他のエージェントが適切であるか否かを判定する。従って、ＩＡＳ１７０４は、（a）問題のＥメールを印刷可能であり且つ（b）ＤＴＶ１７０６と同じ家屋内にあって、ユーザにとって好都合であるという理由により、プリンタ１７０８を適切であるとして選択することができる。
【０１１０】
上述の例と同様に、ステップ１９２４が別の機器（すなわち、プリンタ１７０８）を利用可能であると判定すると、プロセスセグメント１９００'は「ＹＥＳ」の矢印に従ってステップ１９２６へ進む。ステップ１９２６はアクションメッセージ「display the email on the screen（Ｅメールを画面に表示する）」を「print the email on a printable medium（Ｅメールを印刷可能な媒体に印刷する）」に修正する。この修正メッセージは、プリンタに関してＩＡＳ１７０４のエージェントデータベースに格納されている関連情報に従って、プリンタエージェント１７１６に理解可能である。ステップ１９２６は、更に、ＤＴＶ１７０６がアクションメッセージに従うことができず、現在のＥメールに関する別の要求の主体になるべきではないことを指示する、アクションメッセージ中のフラグをセットすることによりアクションメッセージを修正する。次のステップ１９２８は修正アクションメッセージ「print the email on a printable medium」をプリンタエージェント１７１６へ送信することにより、Ｅメールの制御をプリンタ１７０８へ引き継ぐ。その後、プロセスセグメント１９００'はステップ１９１２に戻る。
【０１１１】
ステップ１９２４に戻り、ＩＡＳサーバ１７０４が他に利用可能な機器はない（プリンタ１７０６が用紙切れである、ＵＭＭ１７１０及びＨＤＤ１７３０がそれ以上の格納スペースを有していない、ネットワーク上又はＤＴＶ１７０６と同じ屋内に他の機器が存在しないなどの場合）と判定したならば、プロセスセグメント１９００'は「ＮＯ」の矢印に従ってステップ１９３２へ進む。ステップ１９３２は他に機器が利用できないことをユーザエージェント１７１２に通知すると共に、所望のアクションが何であるかをユーザエージェントに通知する。その後、プロセスセグメント１９００'はステップ１９１２に戻る。
【０１１２】
図１９は、ユーザエージェント１７１２がマルチエージェントシステムにおいて機器の制御に参入するプロセスを構成する方法を構成する方法工程のフローチャートである。プロセスの第１のセグメント２０００は、例えば、ＤＴＶエージェント１７１４からの更新メッセージの受信を監視する監視ステップ２００２を含む。続く試験ステップ２００４は、そのような更新メッセージが受信されたか否かを判定する。この例では、更新メッセージはＤＴＶエージェント１７１４により送信され、ユーザが視聴している番組に関連している。続くステップ２００８は更新メッセージに従ってユーザプロファイルを更新する。その後、試験ステップ２０２４はアクションメッセージが要求されるか否かを判定する。例えば、更新メッセージがユーザがＤＴＶの番組を視聴し始めたことに関連している場合、アクションメッセージは不要であり、ユーザエージェント１７１２が実行する唯一のアクションはステップ２００８でユーザプロファイルを更新することであり、その後、プロセスセグメント２０００は「ＮＯ」の矢印に従ってステップ２００２へ進む。
【０１１３】
これに対し、更新メッセージがＰＣＡ１７７４によるＥメールの受信に関連している場合のように、アクションメッセージが要求される場合には、プロセスセグメント２０００はステップ２０１０へ進む。ステップ２０１０はユーザプロファイル及び更新メッセージに応じてアクションメッセージを適切な宛先、この例ではＥメールを表示するためのＤＴＶ１７０６へ送信する。その後、プロセスセグメント２０００はステップ２００２へ進む。
【０１１４】
プロセスの第２のセグメント２０００'は、ＤＴＶ機器エージェント１７１４からの「appliance unavailable（機器利用不可能）」メッセージの受信を監視するステップ２０１４を含む（図１８のステップ１９３２を参照）。試験ステップ２０１６は、そのようなメッセージが受信されたか否かを判定する。何も受信されていなければ、プロセスセグメント２０００'は「ＮＯ」の矢印に従ってステップ２０１４へ進む。これに対し、そのようなメッセージが受信されている場合には、ステップ２０２０は所望のアクションの性質と、ユーザプロファイルとに従って適切なアクションを実行する。従って、１０％の確率尺度を有するＥメールの受信が所望のアクションの基礎であり、例えば、ユーザプロファイルが２０％未満の確率尺度を有するＥメールを全て消去すべきであると指示している場合には、現在Ｅメールを放棄する。その後、プロセスセグメント２０００'はステップ２０１４に戻る。
【０１１５】
図２０は、インターエージェントサーバがマルチエージェントシステムにおける機器の制御に参入するプロセスを構成する方法工程のフローチャートである。プロセスの第１のセグメント２１００は、ネットワーク１７２０（図４を参照）に付属する機器エージェントから受信される登録メッセージを監視するステップ２１０２を含む。続く試験ステップ２１０４は登録メッセージが受信されたか否かを判定する。受信されていれば、プロセスセグメント２１００は「ＹＥＳ」の矢印に従って、ＩＡＳ１７０４のエージェントデータベースを更新するステップ２１０８へ進む。その後、プロセスセグメント２１００はステップ２１０２に戻る。これに対し、ステップ２１０４で登録メッセージが検出されない場合には、プロセスセグメント２１００は「ＮＯ」の矢印に従ってステップ２１０４からステップ２１０２へ進む。
【０１１６】
第２のセグメント２１００'は、図１８の試験ステップ１９２４から発する問い合わせのような、機器エージェントからの問い合わせメッセージを監視するステップ２１１２を含む。続く試験ステップ２１１４はそのような問い合わせが受信されたか否かを判定する。受信されている場合、例えば、ステップ１９２４でＤＴＶ１７０６が問題のＥメールを表示できないために別の機器が利用可能であるか否かをＤＴＶエージェント１７１４が問い合わせた場合、プロセスセグメント２１００'は「ＹＥＳ」の矢印に従って、様々な登録機器エージェントの関連情報を求めてＩＡＳ１７０４のエージェントデータベースに問い合わせるステップ２１１８へ進む。続くステップ２１２０は、関連エージェント情報に基づいて呼び出し側機器エージェント（すなわち、この例ではＤＴＶエージェント１７１４）に適切な他の機器／エージェント対を勧告する。その後、プロセスセグメント２１００'はステップ２１１２に戻る。試験ステップ２１１４に戻り、問い合わせメッセージが検出されていない場合には、プロセスセグメント２１００'は「ＮＯ」の矢印に従ってステップ２１１２に戻る。
【０１１７】
以上の説明から、本発明の実施形態は、コンピュータ及びデータ処理産業ならびにホームオートメーション産業に適用可能であることが明白である。
【０１１８】
以上、本発明のいくつかの実施形態のみを説明したが、本発明の趣旨から逸脱せずに変形または変更を実施することが可能であり、上記の実施形態は単なる例であって、本発明を限定しない。
【図面の簡単な説明】
【０１１９】
【図１】マルチエージェントシステムの機能ブロック図。
【図２】図１によるシステムの一例を示す図。
【図３】説明する構成を実施することができる汎用コンピュータの概略ブロック線図。
【図４】マルチエージェントシステムの第１の簡略化した例のブロック線図。
【図５】より広い範囲のネットワーク環境に拡張された図１のシステムを示す図。
【図６】図１のプラットフォームのブロック図。
【図７】複数のエージェントと通信するインターエージェントサーバを示す図。
【図８】図１のシステムにおける機器を制御する方法工程のシーケンスとして表される第１のプロセスを示す図。
【図９】図１のシステムにおける機器を制御する方法工程のシーケンスとして表される第２のプロセスを示す図。
【図１０】マルチエージェントシステムの第２の簡略化した例のブロック線図。
【図１１】ユーザエージェントにより使用されるデータベースと、それらのデータベースに格納されている「インスタンス」ファイルとを示すブロック線図。
【図１２】図１０のシステムで使用される学習プロセスの一例を示す図。
【図１３】図１０のシステムで使用される推理プロセスの一例を示す図。
【図１４（ａ）】、
【図１４（ｂ）】、
【図１５（ａ）】、
【図１５（ｂ）】図１０のシステムで使用される計画プロセスの一例を示す図。
【図１６】学習モジュール、推理モジュール及び計画モジュールによるインスタンスファイルの使用を表すデータ流れ図。
【図１７】分散制御を使用して複数のエージェントが複数の機器を制御するプロセスを示す図。
【図１８】機器エージェントがマルチエージェントシステムにおける機器の制御に参入するプロセスを構成する方法工程のフローチャート。
【図１９】ユーザエージェントがマルチエージェントシステムにおける機器の制御に参入するプロセスを構成する方法工程のフローチャート。
【図２０】インターエージェントサーバがマルチエージェントシステムにおける機器の制御に参入するプロセスを構成する方法工程のフローチャート。
【図１】
2006191651.tif 000003
【図２】
2006191651.tif 000004
【図３】
2006191651.tif 000005
【図４】
2006191651.tif 000006
【図５】
2006191651.tif 000007
【図６】
2006191651.tif 000008
【図７】
2006191651.tif 000009
【図８】
2006191651.tif 000010
【図９】
2006191651.tif 000011
【図１０】
2006191651.tif 000012
【図１１】
2006191651.tif 000013
【図１２】
2006191651.tif 000014
【図１３】
2006191651.tif 000015
【図１４（ａ）】
2006191651.tif 000016
【図１４（ｂ）】
2006191651.tif 000017
【図１５（ａ）】
2006191651.tif 000018
【図１５（ｂ）】
2006191651.tif 000019
【図１６】
2006191651.tif 000020
【図１７】
2006191651.tif 000021
【図１８】
2006191651.tif 000022
【図１９】
2006191651.tif 000023
【図２０】
2006191651.tif 000024