(57)【要約】【課題】  ユーザが使用するコンテンツとネットワークにおける機器の接続状態に応じて、ユーザがコンテンツに対して実行可能なタスクのみを選択実行できるユーザ操作支援装置およびその方法を提供する。【解決手段】  扱うことのできるコンテンツの種類が特定されている複数の機器と、複数の機器がどのコンテンツを扱うことができるかを特定可能な管理用のデータファイルを格納している管理手段と、複数の機器と該機器が扱うことのできるコンテンツとの組合せを表示する組合せ表示手段とを備える。  さらに、ユーザが選択したコンテンツを利用するに際して実行可能なタスクを抽出するタスク抽出手段と、抽出されたタスクを実行するために使用されるユーザインターフェイスを表示するユーザインターフェイス表示手段とを備える。【選択図】        図５２
2005223931.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に存在する複数種類のコンテンツをユーザが選択して利用する際のユーザの操作を支援するユーザ操作支援装置であって、
前記ネットワーク上に存在し、コンテンツを利用する際に使用される複数の機器であって、それぞれに扱うことのできるコンテンツの種類が特定されている複数の機器と、
前記ネットワーク上に存在する前記複数の機器のそれぞれが、前記ネットワーク上に存在する複数種類のコンテンツの内のどのコンテンツを扱うことができるかを特定可能な管理用のデータファイルを格納している管理用データ格納部を有する管理手段と、
該管理手段からの出力信号に従って、前記複数の機器と該機器が扱うことのできるコンテンツとの組合せを表示する組合せ表示手段とを備えることを特徴とする、ユーザ操作支援装置。
【請求項２】
前記管理手段が前記複数の機器のいずれかに組み込まれていることを特徴とする、請求項１に記載のユーザ操作支援装置。
【請求項３】
前記組合せ表示手段により表示された前記組合せの内からユーザにより選択された組合せに相当するコンテンツをユーザが利用するに際して当該組合せに相当する機器が実行可能なタスクを抽出するタスク抽出手段と、
該タスク抽出手段により抽出されたタスクを実行するために使用されるユーザインターフェイスを表示するユーザインターフェイス表示手段とをさらに備えることを特徴とする、請求項１または２に記載のユーザ操作支援装置。
【請求項４】
前記組合せ表示手段により表示された前記組合せにおいて、前記複数の機器が取扱い得る同一種別の機能および前記複数の機器が有する同一種別の入出力装置の内の少なくともいずれかが重複して存在するか否かを確認する重複存在確認手段と、
該重複存在確認手段により少なくともいずれかが重複して存在すると確認された場合には、該重複存在する機能および入出力装置の存在を表示する重複存在表示手段とをさらに備えることを特徴とする、請求項１〜３のいずれかに記載のユーザ操作支援装置。
【請求項５】
前記組合せ表示手段により表示された前記組合せの内からユーザにより選択されたコンテンツとともに従属して扱うことのできる従属コンテンツを抽出する従属コンテンツ抽出手段をさらに備え、
該従属コンテンツ抽出手段により抽出された従属コンテンツに対しても、前記組合せ表示手段により、前記組合せが表示されることを特徴とする、請求項１〜４のいずれかに記載のユーザ操作支援装置。
【請求項６】
前記ネットワーク上に存在する、前記複数の機器および前記複数種類のコンテンツの内のいずれかの削除、ならびに前記ネットワーク上への新たな機器および新たなコンテンツのいずれかの追加の少なくともいずれかが行なわれたか否かを確認する追加削除確認手段をさらに備え、
該追加削除確認手段により追加および削除の少なくともいずれかが行なわれたと確認された場合には、
前記追加削除確認手段により確認された、前記ネットワーク上に存在する、前記複数の機器および前記複数種類のコンテンツに合せて、前記管理用のデータファイルが更新され、
前記組合せ表示手段により、該更新された前記管理用のデータファイルに基づいた前記組合せが表示されることを特徴とする、請求項１〜５のいずれかに記載のユーザ操作支援装置。
【請求項７】
ネットワーク上に存在する複数種類のコンテンツをユーザが選択して利用する際のユーザの操作を支援するユーザ操作支援方法であって、
前記ネットワーク上には、
コンテンツを利用する際に使用される複数の機器であって、それぞれに扱うことのできるコンテンツの種類が特定されている複数の機器と、
前記複数の機器のそれぞれが、前記ネットワーク上に存在する複数種類のコンテンツの内のどのコンテンツを扱うことができるかを特定可能な管理用のデータファイルを格納している管理用データ格納部を有する管理手段とが設けられ、
該管理手段からの出力信号に従って、前記複数の機器と該機器が扱うことのできるコンテンツとの組合せを表示する組合せ表示ステップを含むことを特徴とする、ユーザ操作支援方法。
【請求項８】
前記組合せ表示ステップにより表示された前記組合せの内からユーザにより選択された組合せに相当するコンテンツをユーザが利用するに際して当該組合せに相当する機器が実行可能なタスクを抽出するタスク抽出ステップと、
該タスク抽出ステップにより抽出されたタスクを実行するために使用されるユーザインターフェイスを表示するユーザインターフェイス表示ステップとをさらに含むことを特徴とする、請求項７に記載のユーザ操作支援方法。
【請求項９】
前記組合せ表示ステップにより表示された前記組合せにおいて、前記複数の機器が取扱い得る同一種別の機能および前記複数の機器が有する同一種別の入出力装置の内の少なくともいずれかが重複して存在するか否かを確認する重複存在確認ステップと、
該重複存在確認ステップにより少なくともいずれかが重複して存在すると確認された場合には、該重複存在する機能および入出力装置の存在を表示する重複存在表示ステップとをさらに含むことを特徴とする、請求項７または８に記載のユーザ操作支援方法。
【請求項１０】
前記組合せ表示ステップにより表示された前記組合せの内からユーザにより選択されたコンテンツとともに従属して扱うことのできる従属コンテンツを抽出する従属コンテンツ抽出ステップをさらに含み、
該従属コンテンツ抽出ステップにより抽出された従属コンテンツに対しても、前記組合せ表示ステップにより、前記組合せが表示されることを特徴とする、請求項７〜９のいずれかに記載のユーザ操作支援方法。
【請求項１１】
前記ネットワーク上に存在する、前記複数の機器および前記複数種類のコンテンツの内のいずれかの削除、ならびに前記ネットワーク上への新たな機器および新たなコンテンツのいずれかの追加の少なくともいずれかが行なわれたか否かを確認する追加削除確認ステップをさらに含み、
該追加削除確認ステップにより追加および削除の少なくともいずれかが行なわれたと確認された場合には、
前記追加削除確認ステップにより確認された、前記ネットワーク上に存在する、前記複数の機器および前記複数種類のコンテンツに合せて、前記管理用のデータファイルが更新され、
前記組合せ表示ステップにより、該更新された前記管理用のデータファイルに基づいた前記組合せが表示されることを特徴とする、請求項７〜１０のいずれかに記載のユーザ操作支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テレビやビデオといった家庭電化機器を制御する方法およびそうした方法に適合した家庭電化機器に関し、特に、家庭内ネットワークによって相互に接続された家庭電化機器を簡単なユーザインタフェースで連携して動作させるための方法ならびにその方法を実現するための制御装置に関する。
【背景技術】
【０００２】
近年、テレビやビデオに代表される家庭電化機器はいずれも非常に多くの機能を持つようになっている。さらに、最近のパーソナルコンピュータに代表されるデジタル技術の進展により、家庭電化機器を相互にネットワークに接続することが多くなり、ネットワーク接続機能を有する家庭電化機器も登場しつつある。
【０００３】
このように多くの家庭電化機器がネットワークにより相互に接続された場合、複数の機器間にまたがる機能も当然考えることができ、現に採用されつつある。ところがこの場合、機器を使用するユーザは多くの機器の組合せから生ずる非常に多くの機能の中からユーザが実行したい機能を能動的に選択する必要がある。そのため、単体の機器が持つ多くの機能と、ネットワークで接続された機器間にまたがる多様な組合せの機能とを共にできるだけ容易に取り扱うことができるように、というユーザの要望が増加している。
【０００４】
複数の機器が連携して動作するネットワークにおいて、複数の機器にまたがる機能を制御する方法として従来から提案されているものに、特開平９−４４９７１号公報に開示されたビデオＣＤ（Ｃｏｍｐａｃｔ−Ｄｉｓｃ）再生装置がある。この装置では、ネットワークに接続された周辺機器を制御するための情報をビデオのコンテンツに付加しておき、そのビデオＣＤの再生時には、そのコンテンツに付加されていた制御情報に基づき、特定の時間に、そのビデオＣＤ再生装置にネットワーク接続された電子ピアノを自動演奏させたり、ブザーを鳴らしたりすることを可能としている。
【０００５】
また、従来の家庭電化機器を扱うインタフェースは、機器の持つ数多くの機能に対応するため、非常に多くのボタンを持ったリモートコントローラを装備している。こうした従来のリモートコントローラを、ネットワーク接続された複数個の機器を制御するために使用することが当然に考えられる。
【特許文献１】特開平７−２８４１６４号公報
【特許文献２】特開平９−１２０６６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記した従来技術では、ネットワーク上の周辺機器の接続状態を一切考慮せずに、コンテンツに与えられた制御情報を周辺機器に送っている。そのため仮にコンテンツに与えられた情報により制御されるべき機器がネットワークに接続されていない場合であっても、その機器を制御したものとみなして処理を行なっており、実際の接続状態を反映した適切な処理を行なうものとはなっていない。したがって、コンテンツが必要とする機能が実行できないにも関わらず、その機能が実行されているものとしてコンテンツが処理（再生など）される可能性がある。その場合、当該コンテンツはその製作時に意図された態様とは異なる態様で処理されることとなり、その結果そのコンテンツを利用するユーザが混乱する可能性が高い、という課題があった。
【０００７】
また、上記したように各機器が多くの機能を有すること、および機器の組合せが多様なことにより、単独のリモートコントローラなどのインタフェースを用いて各機器を適切に、かつ容易に制御することができるようにすることは非常に困難である。特に従来の家庭電化機器を制御するためのリモコンでは、対応の機器が持つ特定の機能に対応したボタンが必ず存在する。そのため、ユーザが使用しているコンテンツに対してユーザが実行可能でない機能であっても、その機能に対応するボタンが存在しているためにその機能が選択可能であるかのように見える。このため、ユーザは実際にはどの機能が使用出来るのかが分からず混乱する可能性が高い、という課題があった。
【０００８】
本発明は、上記課題を解決するためになされたものであり、その目的は、ユーザが使用するコンテンツとネットワークにおける機器の接続状態に応じて、ユーザがコンテンツに対して実行可能なタスクのみを選択実行できるユーザ操作支援方法を提供することである。
【０００９】
他の目的は、ネットワークで使用できるコンテンツとネットワークにおける機器の接続状態に応じて、ユーザが簡単な操作で使用したいコンテンツを選択でき、選択したコンテンツに対して実行できるタスクのみを選択できるユーザインタフェースを提供することである。
【課題を解決するための手段】
【００１０】
請求項１に記載の発明にかかるユーザ操作支援装置は、
ネットワーク上に存在する複数種類のコンテンツをユーザが選択して利用する際のユーザの操作を支援するユーザ操作支援装置であって、
前記ネットワーク上に存在し、コンテンツを利用する際に使用される複数の機器であって、それぞれに扱うことのできるコンテンツの種類が特定されている複数の機器と、
前記ネットワーク上に存在する前記複数の機器のそれぞれが、前記ネットワーク上に存在する複数種類のコンテンツの内のどのコンテンツを扱うことができるかを特定可能な管理用のデータファイルを格納している管理用データ格納部を有する管理手段と、
該管理手段からの出力信号に従って、前記複数の機器と該機器が扱うことのできるコンテンツとの組合せを表示する組合せ表示手段とを備えることを特徴とする。
【００１１】
このユーザ操作支援装置においては、ネットワーク上に存在する複数種類のコンテンツをユーザが選択して利用する際のユーザの操作を支援する。ネットワーク上に存在し、コンテンツを利用する際に使用される複数の機器は、それぞれに扱うことのできるコンテンツの種類が特定されている。管理手段が有する管理用データ格納部に格納している管理用のデータファイルにより、ネットワーク上に存在する複数の機器のそれぞれが、ネットワーク上に存在する複数種類のコンテンツの内のどのコンテンツを扱うことができるかを特定可能である。組合せ表示手段の働きにより、管理手段からの出力信号に従って、複数の機器と該機器が扱うことのできるコンテンツとの組合せが表示される。
【００１２】
請求項２に記載の発明にかかるユーザ操作支援装置は、請求項１に記載の発明の構成に加えて、
前記管理手段が前記複数の機器のいずれかに組み込まれていることを特徴とする。
【００１３】
請求項３に記載の発明にかかるユーザ操作支援装置は、請求項１または２に記載の発明の構成に加えて、
前記組合せ表示手段により表示された前記組合せの内からユーザにより選択された組合せに相当するコンテンツをユーザが利用するに際して当該組合せに相当する機器が実行可能なタスクを抽出するタスク抽出手段と、
該タスク抽出手段により抽出されたタスクを実行するために使用されるユーザインターフェイスを表示するユーザインターフェイス表示手段とをさらに備えることを特徴とする。
【００１４】
前述のユーザ操作支援装置においては、さらに備えるタスク抽出手段の働きにより、組合せ表示手段で表示された組合せの内からユーザにより選択された組合せに相当するコンテンツをユーザが利用するに際して当該組合せに相当する機器が実行可能なタスクが抽出される。また、さらに備えるユーザインターフェイス表示手段の働きにより、タスク抽出手段で抽出されたタスクを実行するために使用されるユーザインターフェイスが表示される。
【００１５】
請求項４に記載の発明にかかるユーザ操作支援装置は、請求項１〜３のいずれかに記載の発明の構成に加えて、
前記組合せ表示手段により表示された前記組合せにおいて、前記複数の機器が取扱い得る同一種別の機能および前記複数の機器が有する同一種別の入出力装置の内の少なくともいずれかが重複して存在するか否かを確認する重複存在確認手段と、
該重複存在確認手段により少なくともいずれかが重複して存在すると確認された場合には、該重複存在する機能および入出力装置の存在を表示する重複存在表示手段とをさらに備えることを特徴とする。
【００１６】
前述のユーザ操作支援装置においては、さらに備える重複存在確認手段の働きにより、組合せ表示手段で表示された組合せにおいて、複数の機器が取扱い得る同一種別の機能および複数の機器が有する同一種別の入出力装置の内の少なくともいずれかが重複して存在するか否かが確認される。また、さらに備える重複存在表示手段の働きにより、重複存在確認手段で少なくともいずれかが重複して存在すると確認された場合には、重複存在する機能および入出力装置の存在が表示される。
【００１７】
請求項５に記載の発明にかかるユーザ操作支援装置は、請求項１〜４のいずれかに記載の発明の構成に加えて、
前記組合せ表示手段により表示された前記組合せの内からユーザにより選択されたコンテンツとともに従属して扱うことのできる従属コンテンツを抽出する従属コンテンツ抽出手段をさらに備え、
該従属コンテンツ抽出手段により抽出された従属コンテンツに対しても、前記組合せ表示手段により、組合せが表示されることを特徴とする。
【００１８】
前述のユーザ操作支援装置においては、さらに備える従属コンテンツ抽出手段の働きにより、組合せ表示手段で表示された組合せの内からユーザにより選択されたコンテンツとともに従属して扱うことのできる従属コンテンツが抽出される。
【００１９】
従属コンテンツ抽出手段で抽出された従属コンテンツに対しても、組合せ表示手段により、前記組合せが表示される。
【００２０】
請求項６に記載の発明にかかるユーザ操作支援装置は、請求項１〜５のいずれかに記載の発明の構成に加えて、
前記ネットワーク上に存在する、前記複数の機器および前記複数種類のコンテンツの内のいずれかの削除、ならびに前記ネットワーク上への新たな機器および新たなコンテンツのいずれかの追加の少なくともいずれかが行なわれたか否かを確認する追加削除確認手段をさらに備え、
該追加削除確認手段により追加および削除の少なくともいずれかが行なわれたと確認された場合には、
前記追加削除確認手段により確認された、前記ネットワーク上に存在する、前記複数の機器および前記複数種類のコンテンツに合せて、前記管理用のデータファイルが更新され、
前記組合せ表示手段により、該更新された前記管理用のデータファイルに基づいた前記組合せが表示されることを特徴とする。
【００２１】
前述のユーザ操作支援装置においては、さらに備える追加削除確認手段の働きにより、ネットワーク上に存在する、複数の機器および複数種類のコンテンツの内のいずれかの削除、ならびにネットワーク上への新たな機器および新たなコンテンツのいずれかの追加の少なくともいずれかが行なわれたか否かが確認される。追加削除確認手段で追加および削除の少なくともいずれかが行なわれたと確認された場合には、追加削除確認手段で確認された、ネットワーク上に存在する、複数の機器および複数種類のコンテンツに合せて、管理用のデータファイルが更新され、組合せ表示手段により、更新された管理用のデータファイルに基づいた組合せが表示される。
【００２２】
請求項７に記載の発明にかかるユーザ操作支援方法は、
ネットワーク上に存在する複数種類のコンテンツをユーザが選択して利用する際のユーザの操作を支援するユーザ操作支援方法であって、
前記ネットワーク上には、
コンテンツを利用する際に使用される複数の機器であって、それぞれに扱うことのできるコンテンツの種類が特定されている複数の機器と、
前記複数の機器のそれぞれが、前記ネットワーク上に存在する複数種類のコンテンツの内のどのコンテンツを扱うことができるかを特定可能な管理用のデータファイルを格納している管理用データ格納部を有する管理手段とが設けられ、
該管理手段からの出力信号に従って、前記複数の機器と該機器が扱うことのできるコンテンツとの組合せを表示する組合せ表示ステップを含むことを特徴とする。
【００２３】
このユーザ操作支援方法においては、ネットワーク上に存在する複数種類のコンテンツをユーザが選択して利用する際のユーザの操作を支援する。ネットワーク上に設けられる複数の機器がコンテンツを利用する際に使用され、それぞれに扱うことのできるコンテンツの種類が特定されている。ネットワーク上に設けられる管理手段が有する管理用データ格納部に格納している管理用のデータファイルにより、複数の機器のそれぞれが、ネットワーク上に存在する複数種類のコンテンツの内のどのコンテンツを扱うことができるかを特定可能である。組合せ表示ステップの働きにより、管理手段からの出力信号に従って、複数の機器と該機器が扱うことのできるコンテンツとの組合せが表示される。
【００２４】
請求項８に記載の発明にかかるユーザ操作支援方法は、請求項７に記載の発明の構成に加えて、
前記組合せ表示ステップにより表示された前記組合せの内からユーザにより選択された組合せに相当するコンテンツをユーザが利用するに際して当該組合せに相当する機器が実行可能なタスクを抽出するタスク抽出ステップと、
該タスク抽出ステップにより抽出されたタスクを実行するために使用されるユーザインターフェイスを表示するユーザインターフェイス表示ステップとをさらに含むことを特徴とする。
【００２５】
前述のユーザ操作支援方法においては、さらに含まれるタスク抽出ステップの働きにより、組合せ表示ステップで表示された組合せの内からユーザにより選択された組合せに相当するコンテンツをユーザが利用するに際して当該組合せに相当する機器が実行可能なタスクが抽出される。また、さらに備えるユーザインターフェイス表示ステップの働きにより、タスク抽出ステップで抽出されたタスクを実行するために使用されるユーザインターフェイスが表示される。
【００２６】
請求項９に記載の発明にかかるユーザ操作支援方法は、請求項７または８に記載の発明の構成に加えて、
前記組合せ表示ステップにより表示された前記組合せにおいて、前記複数の機器が取扱い得る同一種別の機能および前記複数の機器が有する同一種別の入出力装置の内の少なくともいずれかが重複して存在するか否かを確認する重複存在確認ステップと、
該重複存在確認ステップにより少なくともいずれかが重複して存在すると確認された場合には、該重複存在する機能および入出力装置の存在を表示する重複存在表示ステップとをさらに含むことを特徴とする。
【００２７】
前述のユーザ操作支援方法においては、さらに含まれる重複存在確認ステップの働きにより、組合せ表示ステップで表示された組合せにおいて、複数の機器が取扱い得る同一種別の機能および複数の機器が有する同一種別の入出力装置の内の少なくともいずれかが重複して存在するか否かが確認される。また、さらに備える重複存在表示ステップの働きにより、重複存在確認ステップで少なくともいずれかが重複して存在すると確認された場合には、重複存在する機能および入出力装置の存在が表示される。
【００２８】
請求項１０に記載の発明にかかるユーザ操作支援方法は、請求項７〜９に記載の発明の構成に加えて、
前記組合せ表示ステップにより表示された前記組合せの内からユーザにより選択されたコンテンツとともに従属して扱うことのできる従属コンテンツを抽出する従属コンテンツ抽出ステップをさらに含み、
該従属コンテンツ抽出ステップにより抽出された従属コンテンツに対しても、前記組合せ表示ステップにより、前記組合せが表示されることを特徴とする。
【００２９】
前述のユーザ操作支援方法においては、さらに含まれる従属コンテンツ抽出ステップの働きにより、組合せ表示ステップで表示された組合せの内からユーザにより選択されたコンテンツとともに従属して扱うことのできる従属コンテンツが抽出される。
【００３０】
従属コンテンツ抽出ステップで抽出された従属コンテンツに対しても、組合せ表示ステップにより、組合せが表示される。
【００３１】
請求項１１に記載の発明にかかるユーザ操作支援方法は、請求項７〜１０に記載の発明の構成に加えて、
前記ネットワーク上に存在する、前記複数の機器および前記複数種類のコンテンツの内のいずれかの削除、ならびに前記ネットワーク上への新たな機器および新たなコンテンツのいずれかの追加の少なくともいずれかが行なわれたか否かを確認する追加削除確認ステップをさらに含み、
該追加削除確認ステップにより追加および削除の少なくともいずれかが行なわれたと確認された場合には、
前記追加削除確認ステップにより確認された、前記ネットワーク上に存在する、前記複数の機器および前記複数種類のコンテンツに合せて、前記管理用のデータファイルが更新され、
前記組合せ表示ステップにより、該更新された前記管理用のデータファイルに基づいた前記組合せが表示されることを特徴とする。
【００３２】
前述のユーザ操作支援方法においては、さらに含まれる追加削除確認ステップの働きにより、ネットワーク上に存在する、複数の機器および複数種類のコンテンツの内のいずれかの削除、ならびにネットワーク上への新たな機器および新たなコンテンツのいずれかの追加の少なくともいずれかが行なわれたか否かが確認される。追加削除確認ステップで追加および削除の少なくともいずれかが行なわれたと確認された場合には、追加削除確認ステップで確認された、ネットワーク上に存在する、複数の機器および複数種類のコンテンツに合せて、管理用のデータファイルが更新され、組合せ表示ステップにより、更新された管理用のデータファイルに基づいた組合せが表示される。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について図面を参照して説明する。本実施の形態においては、最初にテレビジョン受像機（以下単に「ＴＶ」と記載する。）とＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｃ）プレーヤとが接続されたネットワークを想定し、さらに、ビデオカセットレコーダ（ＶＣＲ）および液晶表示装置（ＬＣＤ）が順に接続されて、最終的に４つの家庭電化機器がネットワーク化される場面を想定する。
【００３４】
以下に説明する本実施の形態においては、ネットワークに存在する機器、コンテンツ、機能、ＩＯデバイス、タスクに関する情報が、サーバにおいて一元管理されていることを前提とする。しかし本発明はこれには限定されず、こうした情報が各機器に分散されて管理されていても良い。また、以下の説明では管理のための情報はＸＭＬ（eXtensible Markup Language）形式の文書ファイルで記述されているものとするが、その他の形式で記述されてもかまわない。
【００３５】
ＸＭＬとは、インターネットのワールドワイドウェブなどにおいてデータを交換したり、配付したりするための、拡張可能なマーク付言語（マークアップ言語：Markup Language）の一つのことをいう。端的にいえばＸＭＬは、電子ドキュメントのデータ構造を記述でき、その構造のための言語をユーザが定義することができる点にその特徴を有する。
【００３６】
ＸＭＬは、ＸＭＬのバージョン、および使用される文字コードなどを宣言するＸＭＬ宣言と、上記した言語の定義をするために記載されるＤＴＤ（Document Type Definition）と呼ばれる言語定義部分と、ドキュメントの本体を構成するＸＭＬインスタンス部分とを有する。
【００３７】
非常におおまかにいえば、ＸＭＬでは、文書中のある部分を、ＤＴＤ中で定義される要素に対応する開始タグと終了タグとで囲むことにより、その部分がそのタグに対応する要素であることが示される。たとえば後に説明する実施の形態では「名前」という要素は、開始タグ「<name>」および終了タグ「</name>」で囲まれた部分である。また「入力」という要素は開始タグ「<input>」および終了タグ「</input>」で囲まれた部分である。こうして、文書の内容にタグ付けをしていくことにより、文書の構造を定義できる。
【００３８】
なおＸＭＬ宣言部分やＤＴＤの部分については本発明と直接の関係を持たないため、説明を簡明にすることを目的として以下の記載では省略する。
【００３９】
[ネットワークの概略]
図１を参照して、本実施の形態にかかる家庭電化機器からなるネットワーク（以下「ホームネットワーク」と称する。）１０３はIEEE1394またはEthernet（登録商標）などの既存のデジタルネットワーク構築技術を用いて構築されており、ユーザ１０１によって操作され、光通信によってホームネットワーク１０３に接続されて、ホームネットワーク１０３内の各機器をコントロールするためのリモートコントローラ１０２と、ホームネットワーク１０３に関する各種情報を管理し、また後述する方法によりホームネットワーク１０３の機器を制御するためのユーザインタフェースを構成してリモートコントローラ１０２上に実現するためのサーバ１０４と、ホームネットワーク１０３に接続されるＴＶ１０５と、ホームネットワーク１０３に接続された、ＤＶＤディスクを再生しＴＶ１０５等の上で再生するためのＤＶＤプレーヤ１０６とを含む。
【００４０】
なお、ホームネットワーク１０３を構成する各機器１０２、１０３、１０４、１０５および１０６は、互いに他の機器の存在を認識し、機器間でデータを送受信することが可能であるものとする。こうした相互の認識およびデータの送受信は、たとえばJini(SUN MICROSYSTEMS)またはUniversal Plug and Play(MICROSOFT)などのネットワーク接続技術を用いることで可能となる。またサーバ１０４、ＴＶ１０５およびＤＶＤプレーヤ１０６をはじめ、以下に述べる、ホームネットワーク１０３に接続される各機器は無線送受信手段を持ち、赤外線またはＲＦ（無線電波）を用いてリモートコントローラ１０２と、または他の機器との間でデータの送受信を行うことが可能である。
【００４１】
またＴＶ１０５、ＤＶＤプレーヤ１０６の各機器はリモートコントローラ１０２からのデータを受け取り、その内容に応じて各機器のもつ機能を制御することができる。これは、後に説明する、ホームネットワーク１０３に追加して接続される他の機器の場合も同様である。
【００４２】
なお、サーバは図１のように１つのサーバ１０４としてネットワーク上に独立して存在しても良いし、また例えばＴＶ１０５、ＤＶＤプレーヤ１０６などの機器に組込まれた形で実現されても良い。さらにまた、ホームネットワーク１０３はインターネットに代表される通信網に接続されてもよい。この場合、サーバ１０４により管理される、後に説明される各種の情報は、ホームネットワーク１０３に繋がった通信網から取得することも可能である。
【００４３】
[リモートコントローラ１０２]
図２を参照して、図１に示されるリモートコントローラ１０２は、無線送受信機２０１を持ち、赤外線またはＲＦ（無線信号）を用いて他の機器との間でデータの送受信を行うことが可能である。リモートコントローラ１０２は、図２に示されるようにタッチパネル付液晶表示装置２０２を持つ。
【００４４】
図３を参照して、リモートコントローラ１０２は、所定の制御プログラムを実行してリモートコントローラ１０２の各部を制御する処理を行なうためのプロセッサ３０１と、サーバ１０４からの信号を無線により受信してプロセッサ３０１に与えるための受信部３０２と、ホームネットワーク１０３に接続された他の機器に対してプロセッサ３０１からの信号を無線により送信するための送信部３０３と、プロセッサ３０１に接続され、タッチパネル付液晶表示装置２０２を構成する出力部３０６および入力部３０７と、サーバ１０４から受信した、後述するユーザインタフェース情報に基づき出力部３０６および入力部３０７上にユーザインタフェースを実現するためのデータを記憶するためのＵＩ要素記憶部３０４と、プロセッサ３０１に接続され、プロセッサ３０１がサーバ１０４から受信したデータおよびプロセッサ３０１が実行する制御プログラムが利用するデータを格納するための、プロセッサ３０１からアクセス可能なメモリ３０５とを含む。
【００４５】
データを無線受信する受信部３０２のためのデバイスとしては、赤外線等の光によるデータ受信を行うデバイス、または電波によるデータ受信を行うデバイス等が用いられる。データを無線送信する送信部３０３のためのデバイスとしては、赤外線等の光によるデータ受信を行うデバイス、または電波によるデータ受信を行うデバイス等が用いられる。
【００４６】
ＵＩ要素記憶部３０４が記憶しているＵＩ要素は、ボタン、スライダー等、一般的なグラフィカルユーザインタフェースを構成し表示するための部品を含む。そうした部品を表示画面上に配置することによりユーザインタフェースが実現される。
【００４７】
情報の出力のための出力部３０６として用いられるデバイスには、この実施の形態では液晶表示装置を想定するが、発光ダイオード、スピーカ等であってもよい。入力部３０７は、リモコンに対して何らかの情報を入力するデバイスを含み、入力された情報を然るべき形式に変換して制御プログラム３０１に伝えるためのものである。本実施の形態では入力部３０７のためのデバイスにはタッチパネルを想定するが、ボタン、キーボード等の入力デバイスであってもよい。
【００４８】
[ＴＶ１０５、ＤＶＤプレーヤ１０６などの機器]
図４を参照して、ＴＶ１０５、ＤＶＤプレーヤ１０６などの機器５５０は、機器５５０の各部の動作を制御するプログラムを実行するためのプロセッサ５０１と、図１のリモートコントローラ１０２および他の機器から送信されるデータを受信するデバイスを含み、受信データをプロセッサ５０１に与えるための受信部５０２と、プロセッサ５０１から他の機器にデータを送信するための送信部５０３と、プロセッサ５０１によって制御され、この機器５５０の本来の機能を実現するための機器本体５０５と、プロセッサ５０１からアクセス可能で、機器５５０に関する、ＸＭＬで記述されたデータファイルである機器情報５０８と、機器本体５０５の持つ機能に関する、ＸＭＬで記述されたデータファイルである機能情報５０９と、機器５５０の持つＩＯデバイスに関するデータをＸＭＬで記述したデータファイルであるＩＯデバイス情報５１０と、プロセッサ５０１に接続され、他の機器から受信したデータおよびプロセッサ５０１が実行する制御プログラムが利用するデータを記憶するためのメモリ５０４と、それぞれ機器本体５０５に接続され、機器本体５０５を介してプロセッサ５０１によって制御され、機器本体５０５からの命令により何らかの情報を出力するための出力部５０６と、ユーザが操作可能で、ユーザの操作に対応した情報をプロセッサ５０１に与える入力部５０７とを含む。
【００４９】
機器５５０がたとえばＤＶＤプレーヤ１０６など、他の機器に提供するコンテンツを有する場合には機器５５０はさらにコンテンツ情報を有する。コンテンツ情報はたとえば、コンテンツ５１１およびコンテンツ情報５１２、コンテンツ５１３およびコンテンツ情報５１４などのように、そのコンテンツと、そのコンテンツに関して実行可能なタスクおよびそのタスクを実行するために必要な機能などに関するコンテンツ情報５１４とを含む。
【００５０】
データを受信する受信部５０２のためのデバイスとしては、赤外線等の光による無線データ受信を行うデバイス、電波による無線データ受信を行うデバイス、Ethernet（登録商標）による有線データ受信を行うデバイス、IEEE1394により有線データ受信を行うデバイス等が用いられる。
【００５１】
データを送信する送信部５０３のためのデバイスとしては、赤外線等の光による無線データ送信を行うデバイス、電波による無線データ送信を行うデバイス、Ethernet（登録商標）による有線データ送信を行うデバイス、IEEE1394により有線データ送信を行うデバイス等が用いられる。
【００５２】
機器本体５０５は、機器の持つ機能を実現するためのハードウェアおよびソフトウェアを含む。機器本体５０５は、プロセッサ５０１で実行される制御プログラムからの情報を受け取り、機器本体５０５の持つ機能を実行したり、出力部５０６、入力部５０７、ならびにコンテンツ５１１および５１３を制御する。また、機器本体５０５の情報をプロセッサ５０１に伝える。
【００５３】
出力部５０６は、機器がユーザに対して何らかの情報を伝えるデバイスを含み、機器本体５０５からの命令により何らかの情報を出力するためのものである。情報の出力のためのデバイスには、液晶表示装置、ＣＲＴ、発光ダイオード、スピーカ等が用いられる。
【００５４】
入力部５０７は、機器に対してユーザが何らかの情報を入力するデバイスを含み、入力された情報を然るべき形式に変換して機器本体５０５に伝えるためのものである。情報の入力のためのデバイスには、タッチパネル、ボタン、キーボード、スライダ、マイク等が用いられる。
【００５５】
コンテンツ５１１、５１３は、機器５５０で扱うコンテンツである。例えば機器がＴＶである場合、ＴＶで視聴できる各番組がコンテンツとなり、機器がＤＶＤであれば、機器に挿入されているＤＶＤソフトがコンテンツとなる。図４においてはコンテンツが２つ図示されているが、この個数は可変である。
【００５６】
コンテンツ情報５１２、５１４はそれぞれ、コンテンツ５１１および５１３に対してユーザが実行するタスクに関する情報を含む。コンテンツ情報５１２、５１４はＸＭＬで記述されたデータファイルである。
【００５７】
機器情報５０８、機能情報５０９、ＩＯデバイス情報５１０は、機器５５０に予め与えられていてもよいし、公衆ネットワークを通じて機器外部から与えられてもよい。コンテンツ情報は、予めコンテンツに与えられていてもよいし、公衆ネットワークを通じて機器外部から与えられてもよい。
【００５８】
各機器の機器情報は、それぞれ各機器に存在するファイルAppliance.xmlに記述されている。各機器の機能情報は、それぞれ各機器に存在するファイルFunction.xmlに記述されている。各機器のＩＯデバイス情報は、それぞれ各機器に存在するファイルIO-Device.xmlに記述されている。
【００５９】
図５を参照して、ＴＶ１０５の機器情報ファイルAppliance.xmlには機器の名前として、「ＴＶ」が与えられている（name文）。図６を参照して、ＤＶＤプレーヤ１０６の機器情報ファイルAppliance.xmlには、機器の名前として「ＤＶＤ」が与えられている。
【００６０】
図７を参照して、ＴＶ１０５の機能情報ファイルFunction.xmlは、記述４９０１、４９０２、および４９０３を含む。記述４９０１はＴＶの持つ機能VOLUMEについての記述である。図７の場合、この機能はSOUNDを入力とし（input文）、SOUNDを出力とする（output文）。記述４９０２はＴＶの持つ機能IMAGEについての記述である。図７の場合、この機能はNTSCを入力とし、NTSCを出力とする。なおここでNTSCとは、「National Television System Committee」の略であり、日米で採用されているテレビジョンの信号方式であるＮＴＳＣ方式にしたがった信号のことをさす。記述４９０３はＴＶ１０５の持つ機能TV-PLAYについての記述である。図７の場合、この機能はSOUNDおよびNTSCを入力とし、SOUNDおよびNTSCを出力とする。
【００６１】
図８を参照して、ＤＶＤプレーヤ１０６の機能情報ファイルFunction.xmlは記述５００１を含む。記述５００１によれば、ＤＶＤプレーヤ１０６はDVD-PLAYBACKという名称の機能を持つ。機能DVD-PLAYBACKはSOUNDおよびNTSCを入力とし、SOUNDおよびNTSCを出力とする。
【００６２】
図９を参照して、ＴＶ１０５のＩＯデバイス情報が記述されたファイルIO-Device.xmlは、ＩＯデバイスであるディスプレイについての記述５３０１と、ＩＯデバイスであるスピーカについての記述５３０２と、ＩＯデバイスであるボタンについての記述５３０３とを含む。
【００６３】
記述５３０１によれば、ＩＯデバイスであるディスプレイのデバイス名称はDISPLAYであり、入力としてNTSC信号を受ける。
【００６４】
記述５３０２によれば、ＩＯデバイスであるスピーカは、デバイス名称としてSPEAKERを有し、入力としてSOUNDを受ける。
【００６５】
記述５３０３によれば、ＩＯデバイスであるボタンは、デバイス名称としてBUTTONを有し、出力としてVALUE（値）を持つ。ここでいうボタンとは、ユーザがボタンを押すことにより何らかの値を入力するインプットデバイスのことをさす。
【００６６】
図１０を参照して、ＤＶＤプレーヤ１０６のＩＯデバイス情報が記述されたファイルIO-Device.xmlは、ＩＯデバイスであるボタンについての記述５４０１を含む。
【００６７】
記述５４０１によれば、ＩＯデバイスであるボタンのデバイス名称はBUTTONであり、出力としてVALUEを持つ。
【００６８】
図１１を参照して、ＴＶ１０５は複数のコンテンツを有するが、その一つである「近畿テレビ」というコンテンツに与えられたコンテンツ情報であるファイルContent-3.xmlは、コンテンツ自体に関する情報を記述する記述５７０１と、コンテンツに設定された３つのタスクに関する情報である記述５７０２、５７０６および５７１０とを含む。
【００６９】
記述５７０１は、このコンテンツがＴＶに属するコンテンツであること（type文）、その名称が「近畿テレビ」であること（name文）、および出力としてNTSCおよびSOUNDを有すること（output文）を記述している。
【００７０】
タスクに関する情報である記述５７０２、５７０６および５７１０のうち、１つめのタスクに関する記述５７０２は、このタスクについての一般的情報を記述する記述５７０３と、コンテンツから出力されるデータを受取り、処理すべき機能について記述する記述５７０４と、この機能から出力されるデータを受取るＩＯデバイスについて記述する記述５７０５とを含む。
【００７１】
タスクの一般情報に関する記述５７０３は、このコンテンツが「音量調整」という名称であること（name文）、通常のタスクであること（後述するような「従属タスク」でないこと）、およびこのタスクのためにリモートコントローラ１０２に表示されるべきユーザインタフェースとしての部品が、PANELであること（ui文）を記述している。ここで「従属タスク」とは、あるタスクが、ユーザによって選択されているコンテンツとともに（従属して）扱うことのできるコンテンツ（従属コンテンツ）に属するタスクのことをいう。このタスクをコントロールするユーザインタフェースがリモートコントローラ１０２に表示される際には、このui文で記述されたユーザインタフェースに関する情報がリモートコントローラ１０２に送られ、図３のリモートコントローラ１０２の構成図におけるＵＩ要素記憶部３０４に保持されるユーザインタフェースの部品から、適切なものが選ばれて表示される。
【００７２】
タスクの機能に関する記述５７０４は、このタスクの機能名称がVOLUMEであること（name文）、入力としてSOUNDを有すること（input文）、出力としてSOUNDを有すること（output文）、およびこのタスクのこの機能のためにリモートコントローラ１０２に表示されるべきユーザインタフェースとしての部品が、SLIDERであること（ui文）を記述する。なお、ここでは１つのタスクに１つの機能しか含まれていないが、複数の機能のうちの一方の出力を他方の入力が受け取れる形で、複数の機能やＩＯデバイスを直列または並列につなげて、１つのタスクを設定することも可能である。
【００７３】
タスクに関連したＩＯデバイスに関する記述５７０５は、そのＩＯデバイスの名称がSPEAKERであること（name文）、そのＩＯデバイスが入力としてSOUNDを有すること（input文）、およびを記述している。
【００７４】
同様に、２番目のタスクに関する記述５７０６は、２番目のタスクについての一般的な情報の記述５７０７と、このタスクの機能に関する記述５７０８と、この機能から出力されるデータを処理すべきＩＯデバイスに関する記述５７０９とを含む。記述５７０７によれば、このタスクの名称は「画質調整」であり、通常のタスクであり、かつ対応のユーザインタフェース部品はPANELである。記述５７０８によれば、このタスクの機能はIMAGEという名称を持ち、入力としてNTSCを有し、出力としてNTSCを有し、対応のユーザインタフェース部品はSLIDERである。記述５７０９によれば、このタスクに対応するＩＯデバイスの名称はDISPLAYであり、そのデバイスは入力としてNTSCを有する。
【００７５】
また３番目のタスクに関する記述５７１０は、３番目のタスクの一般的な記述５７１１と、このタスクの機能に関する記述５７１２と、この機能から出力されるデータを受取るべき二つのＩＯデバイスに関する記述５７１３および５７１４とを含む。記述５７１１によれば、この３番目のタスクは「視聴」という名称をもち、通常のタイプのタスクであり、ユーザインタフェースはPANELである。記述５７１２によれば、このタスクの機能はTV-PLAYという名称を持ち、入力としてSOUNDとNTSCとを持ち、出力としてSOUNDとNTSCとを持ち、対応のユーザインタフェース部品を持たない。記述５７１３によれば、この機能から出力されるデータを受取るべきＩＯデバイスの一番目のものは、SPEAKERという名称を持ち、入力としてSOUNDを持つ。ＩＯデバイスの二番目のものは、DISPLAYという名称を持ち、入力としてNTSCを持つ。
【００７６】
なおこの例では各タスクの機能としては一つしか記述されていないが、一つのタスクに複数の機能に関する記述があってもよい。
【００７７】
図１２を参照して、ＤＶＤプレーヤ１０６もまた、複数個のコンテンツを持ちうる。そのうち、１番目のコンテンツに関するコンテンツ情報Content-1.xmlは、一般的な記述５８０１と、タスクに関する記述５８０２、５８０６および５８１０とを含む。
【００７８】
一般的な記述５８０１によれば、このコンテンツはDVDというタイプであり、名称は「タイタニック」であり、出力としてNTSCおよびSOUNDを有する。
【００７９】
一番目のタスクに関する記述５８０２は、記述５８０３と、記述５８０４と、記述５８０５とを含む。記述５８０３によれば、一番目のタスクの名称は「音量調整」であり、通常タイプのタスクであり、ユーザインタフェースはPANELである。記述５８０４によれば、このタスクの機能はVOLUMEという名称を持ち、入力としてSOUNDを、出力としてSOUNDを有し、対応のユーザインタフェース部品はSLIDERである。また記述５８０５によれば、上記した機能から出力されるデータを受取るべきＩＯデバイスはSPEAKERという名称を持ち、入力としてSOUNDを有する。
【００８０】
以下同様に、二番目のタスクに関する記述５８０６は一般的な記述５８０７と、機能に関する記述５８０８と、ＩＯデバイスに関する記述５８０９とを含む。三番目のタスクに関する記述５８１０は、一般的な記述５８１１と、機能に関する記述５８１２と、ＩＯデバイスに関する記述５８１３および５８１４とを含む。
【００８１】
［サーバ１０４］
図１３を参照して、サーバ１０４は、サーバ１０４の全体を制御する制御プログラムを実行するとともに、リモートコントローラ１０２に表示されるユーザインタフェースを構成する処理を行なうためのプロセッサ４０１と、サーバ１０４以外の機器から送信されるデータを受信するための受信部４０２と、サーバ１０４以外の機器に対してデータを送信するための送信部４０３と、プロセッサ４０１によってデータの読み込み、書き込み、消去等が行われ、他の機器から受信したデータおよび制御プログラムを実行するためのデータを格納するためのメモリ４０４と、図１のホームネットワーク１０３に接続されている機器を管理する情報を蓄え、プロセッサ４０１によって更新され閲覧される機器管理表４０５と、図１のホームネットワーク１０３において扱えるコンテンツを管理する情報を蓄え、プロセッサ４０１によって更新され閲覧されるコンテンツ管理表４０６と、図１のホームネットワーク１０３に接続されている機器が持つ機能を管理する情報を蓄え、プロセッサ４０１によって更新され閲覧される機能管理表４０７と、図１のホームネットワーク１０３に接続されている機器が持つＩＯデバイスを管理する情報を蓄え、プロセッサ４０１によって更新され閲覧されるＩＯデバイス管理表４０８と、図１のホームネットワーク１０３において扱えるコンテンツに対してユーザが実行するタスクに関する情報を蓄え、プロセッサ４０１によって更新され閲覧されるタスク管理表４０９と、サーバ１０４に関する機器情報を蓄えており、プロセッサ４０１からアクセスされる、ＸＭＬで記述されたデータファイルである機器情報４１０とを含む。
【００８２】
受信部４０２のためのデバイスとしては、赤外線等の光による無線データ受信を行うデバイス、電波による無線データ受信を行うデバイス、Ethernet（登録商標）による有線データ受信を行うデバイス、またはIEEE1394により有線データ受信を行うデバイス等が用いられる。
【００８３】
送信部４０３のためのデバイスとしては、赤外線等の光による無線データ送信を行うデバイス、電波による無線データ送信を行うデバイス、Ethernet（登録商標）による有線データ送信を行うデバイス、IEEE1394により有線データ送信を行うデバイス等が用いられる。
【００８４】
図１４を参照して、サーバ１０４のための機器情報４１０が記述されているファイルAppliance.xmlは、サーバ１０４の一般的な情報を記述している。この例ではファイルAppliance.xmlは、サーバ１０４の名称が「サーバ」であることを記述している（name文）。
【００８５】
図１５を参照して、サーバ１０４の機器管理表４０５は、ネットワークに接続されている各種機器について、その名称と、その機器ＩＤと、その機器情報が格納されたファイルの名称とを含む表形式のファイルである。たとえば図１５に示される機器管理表４０５のうち、ＤＶＤプレーヤ１０６に関する行２４０１には、その機器の名称が「ＤＶＤ」であること、それに割り振られた機器ＩＤが「A-0002」であること、およびＤＶＤプレーヤ１０６の機器情報が、ＤＶＤプレーヤ１０６の「Appliance.xml」という機器情報ファイルに保存されていることが記載されている。
【００８６】
なお、機器ＩＤとはサーバ１０４の制御プログラムによって、ネットワークに接続される各機器に与えられる機器の識別子である。図１５に示される例では、ネットワークに接続された順番にしたがって、サーバ１０４には「Ａ−００００」、ＴＶ１０５には「Ａ−０００１」、ＤＶＤプレーヤ１０６には「Ａ−０００２」というＩＤが既に振られている。
【００８７】
また、サーバ１０４は、任意の機器の、機器情報が記述されたファイルを参照することが可能であるものとする。
【００８８】
図１６を参照して、コンテンツ管理表４０６は、ネットワークに接続されているコンテンツを管理するためのものであって、コンテンツごとに、その名前と、コンテンツＩＤと、そのコンテンツが置かれている機器の機器ＩＤと、そのコンテンツについてのコンテンツ情報を記述したファイル名であるコンテンツ情報と、そのコンテンツがユーザによって選択されているか否かを示す情報と、そのコンテンツに従属するコンテンツが存在するか否かを示す情報とを含む。コンテンツＩＤとは、サーバ１０４の制御プログラムによって与えられるコンテンツの識別子である。
【００８９】
たとえば、「タイタニック」という名前のコンテンツに対応する行２５０１は、そのコンテンツの名前（「タイタニック」）と、そのコンテンツに対して与えられたコンテンツＩＤ（Ｃ−０００４）と、そのコンテンツが存在している機器であるＤＶＤプレーヤ１０６に割り振られている機器ＩＤ（Ａ−０００２、図１５を参照）とを含む。またこのコンテンツがユーザによって選択されていることを想定すると、行２５０１の「選択」の欄には選択されていることを示す情報（図１６では「○」）が格納されている。またこのコンテンツには何も従属タスクが存在しないものとすると、「従属」の欄は空である。
【００９０】
図１７を参照して、サーバ１０４の機能管理表４０７は、ネットワークに接続されている機器の持つ各機能を、機能単位で管理するための表である。機能管理表４０７は、各機能ごとに、その名前と、その機能に割り振られた機能ＩＤと、その機能を提供する機器の機器ＩＤと、その機能に関する機能情報が記述されたファイル名である機能情報と、その機能が選択されているか否かを示す情報と、ネットワーク上に同じ機能が複数個存在する場合に、ユーザがどの機能を選択しているかを示す情報である「ユーザ」欄とを管理している。
【００９１】
たとえば、ＤＶＤプレーヤ１０６の「DVD-PLAYBACK」という機能（図８参照）に関する行２６０１を見ると、名前として「DVD-PLAYBACK」が、「機能ＩＤ」として「Ｆ−０００４」が、「機器ＩＤ」としてＤＶＤプレーヤ１０６に対応する「Ａ−０００２」が（図１５参照）、機能情報としてＤＶＤプレーヤ１０６の機能情報ファイルのファイル名である「Function.xml」が、それぞれ格納されている。またこの例では、DVD-PLAYBACKという機能が選択されていることを想定すると、「選択」の欄には選択されていることを示す情報（「○」）が格納されている。またDVD-PLAYBACKと同じ機能はこのネットワーク上には存在していないため、「ユーザ」欄には何も格納されていない。なお、機能ＩＤとは、サーバ１０４によって各機能に対して割り振られた識別子である。
【００９２】
このときのサーバ１０４のＩＯデバイス管理表４０８の内容を図１８に、タスク管理表４０９の内容を図１９に、それぞれ示す。図１８においては、行２７０１がＤＶＤプレーヤ１０６のデバイスに関する行である。また図１９においては行２８０１、２８０２および２８０３がＤＶＤプレーヤ１０６に関連するタスクについての行である。これらの「機器ＩＤ」の欄にはいずれも、ＤＶＤプレーヤ１０６を示すＩＤである「Ａ−０００２」が格納されている（図１５参照）。
【００９３】
ここで、この実施例において仮にＴＶ１０５の「近畿テレビ」というコンテンツが選択されているときのリモートコントローラ１０２上の表示を図２０に示す。図２０を参照してこの場合、表示面の上部には、テレビの持つ２つの機能（音量調整および画質調整）に対応したユーザインタフェースであるスライダーが二つ表示されている。この時点ではまだＤＶＤプレーヤ１０６のコンテンツであるタイタニック２２０１は選択されていないものとする。またこの時点ではネットワークで利用できる機器がＴＶ１０５とＤＶＤプレーヤ１０６だけであるため、リモートコントローラ１０２のタッチパネル付液晶表示装置２０２の表示面にはこれらを操作するためのユーザインタフェースのみが表示され、それ以外の部分は空白である。
【００９４】
ここで、ユーザがタイタニック２２０１を選択した場合を想定する。すると、図２１に示されるように、タッチパネル付液晶表示装置２０２においてタイタニック２２０１が選択されたことを示すためにこの領域を強調表示し、さらに、タイタニック２２０１に対してユーザが行えるタスクとして、音量調整のためのスライダー２３０１、画質調整のためのスライダー２３０２およびＤＶＤプレーヤ１０６の再生の制御のためのボタン２３０３が表示される。
【００９５】
このように、この実施例では、あるコンテンツをユーザが選択すると、リモートコントローラ１０２のタッチパネル付液晶表示装置２０２上に、そのコンテンツに対してユーザが行なうことができる操作に対応したユーザインタフェースが表示される。そのため、ユーザは自分が行ないたい処理に対応した操作を容易に行なうことが可能である。しかも、表示されるユーザインタフェースとして、同じ機能に対応するものが複数個表示されることがないので、ユーザが操作に迷ったりするおそれはない。以下、そうしたユーザインタフェースをどのように実現するかについて、リモートコントローラ１０２および各機器で実行されるプログラムの制御構造を中心に説明する。
【００９６】
リモートコントローラ１０２に対してユーザが何らかの入力を行なう場合の処理について説明する。図２２を参照して、リモートコントローラ１０２は、まずユーザの入力待ちとなる（Ｓ１０１）。何らかの入力があれば、処理はＳ１０２に進む。
【００９７】
Ｓ１０２では、ユーザからの入力に応じてそれぞれの処理（Ｓ１０３、Ｓ１０５、Ｓ１０７等）に分岐する処理が行なわれる。ユーザからの入力がコンテンツの選択であるか、タスクのコントロールであるか、機能／ＩＯデバイスの選択であるか、によって制御はそれぞれＳ１０３、Ｓ１０５およびＳ１０７へ進む。
【００９８】
ユーザの入力がコンテンツの選択である場合、まずＳ１０３で、ユーザにより選択されたコンテンツのコンテンツＩＤを読み出し、Ｓ１０４で、選択されたコンテンツＩＤをサーバ１０４に送った後、Ｓ１０１の入力待ちに戻る。
【００９９】
タスクのコントロールである場合、Ｓ１０５で、コントロールされたタスクのタスクＩＤをメモリから読み出し、Ｓ１０６で、ユーザインタフェースにより変更された値（音量調整のスライダーの値や、再生ボタンを押したかなど）とタスクＩＤをサーバ１０４に送った後、Ｓ１０１の入力待ちに戻る。なお、こうした情報は、後述するようにホームネットワーク１０３に新たな機器が接続されたり、新たなコンテンツが導入されたりするたびにサーバ１０４からリモートコントローラ１０２に送信され、リモートコントローラ１０２がメモリに保持しておく。
【０１００】
機能／ＩＯデバイスの選択である場合、Ｓ１０７で、重複する機能／ＩＯデバイスのＩＤをメモリから読み出し、Ｓ１０８で、リモコンにダイアログを表示し、ユーザの入力を待つ。ユーザに選択された機能／ＩＯデバイスのＩＤをＳ１０９でサーバ１０４に送った後、Ｓ１０１の入力待ちに戻る。Ｓ１０８で、ダイアログにおいてユーザが機能／ＩＯデバイスを選択せず単に「閉じる」を選択した場合は、ダイアログを閉じ、Ｓ１０１の入力待ちに戻る。
【０１０１】
図２３を参照して、上述のようにリモートコントローラ１０２に対する操作が行なわれた場合、サーバ１０４は次のような処理を行なう。
【０１０２】
まずＳ１１０で、リモートコントローラ１０２からの情報の受信を待つ。リモートコントローラ１０２からの受信があると、Ｓ１１１で、リモートコントローラ１０２から受信した情報に応じて適切な処理に分岐する。すなわち、リモートコントローラ１０２から受信した情報がコンテンツの選択に関するものなら制御はＳ１１２へ進む。受信した情報がタスクのコントロールに関するものなら制御はＳ１１５へ進む。受信した情報が機能／ＩＯデバイスの選択に関するものなら制御はＳ１１７へ進む。
【０１０３】
受信した情報がコンテンツの選択に関するものなら、Ｓ１１２でサーバ１０４はサーバ１０４のコンテンツ管理表４０６を更新する。続いてＳ１１３において、新たに選択されたコンテンツに対して実行可能なタスクを選択する。このステップの詳細は、図２５を参照して後述する。Ｓ１１３の後、Ｓ１１４において、新たに実行可能となったタスクの情報をリモートコントローラ１０２に送る。このステップの処理が終了すると制御はＳ１１０に戻る。このステップの詳細は、図２７において説明する。
【０１０４】
Ｓ１１１において、リモートコントローラ１０２からの情報がタスクのコントロールに関するものである場合、制御はＳ１１５に進み、受信したタスクＩＤに対応するタスクの情報をタスク管理表４０９を参照して読み出す。続いてＳ１１６で、タスク情報に設定された各機能に対して、リモートコントローラ１０２のインタフェースによって変更された値を送る。例えばこの処理では、指定されたタスクにしたがって、そのタスク情報に基づいて定められた機器で発生される音量を変更したり、たとえばＤＶＤプレーヤ１０６などにおいて再生を開始したりする。このステップの処理が終了すると制御はＳ１１０に戻る。
【０１０５】
Ｓ１１１において、リモートコントローラ１０２から受信した情報が機能／ＩＯデバイスの選択である場合、制御はＳ１１７に進む。Ｓ１１７では、機能管理表４０７およびＩＯデバイス管理表４０８が更新される。続いて、Ｓ１１８において、新たに使用される機能／ＩＯデバイスを持つ機器に対して、変更された情報を伝える。このステップが終了すると制御はＳ１１０に戻る。
【０１０６】
[ホームネットワーク１０３に発生するイベントに起因する処理]
次にホームネットワーク１０３に発生するイベントにより起因してサーバ１０４で行なわれる処理を説明する。
【０１０７】
図２４を参照して、サーバ１０４はまずＳ２０１においてホームネットワーク１０３におけるイベントの発生を待つ。何らかのイベント、たとえば機器を新たにホームネットワーク１０３に接続したり、機器をホームネットワーク１０３からはずしたり、ホームネットワーク１０３に接続された機器に対して新たなコンテンツを追加したりした場合、制御はステップＳ２０２に進む。
【０１０８】
Ｓ２０２では、ホームネットワーク１０３に発生したイベントに応じて分岐が行なわれる。発生したイベントが機器の追加・削除であれば制御はＳ２０３へ進み、コンテンツの追加または削除であれば制御はＳ２０６に進む。
【０１０９】
ホームネットワーク１０３に対する機器の追加または削除があった場合、Ｓ２０３において、サーバ１０４の機器管理表４０５、コンテンツ管理表４０６、機能管理表４０７、ＩＯデバイス管理表４０８およびタスク管理表４０９の全てが更新される。続いてＳ２０４で、サーバ１０４からリモートコントローラ１０２に対してコンテンツ情報が送られる。このステップの詳細は、図２９を参照して後に説明する。さらにＳ２０５において、ホームネットワーク１０３上に、重複する機能またはＩＯデバイスがある場合、その機能またはＩＯデバイス情報がリモートコントローラ１０２に送られる。このステップの詳細は、図３１を参照して後に説明する。Ｓ２０５の処理が終了すると制御はＳ２０１に戻る。
【０１１０】
Ｓ２０２において、ホームネットワーク１０３において発生したイベントがコンテンツの追加または削除である場合、まずＳ２０６において、サーバ１０４のコンテンツ管理表およびタスク管理表が更新される。続いてＳ２０７において、リモートコントローラ１０２に対して、更新された後のコンテンツ情報が送信される。このステップの詳細は、図２９を参照して後に説明する。このステップが終了すると制御はＳ２０１に戻る。
【０１１１】
この処理により、リモートコントローラ１０２は、ホームネットワーク１０３の最新の構成に対応したコンテンツ情報と機能およびＩＯデバイス情報とを維持しておくことが可能となる。
【０１１２】
[実行可能タスクを選択するアルゴリズムの説明]
次に、図２５および図２６を参照して、サーバ１０４が、選択されたコンテンツに対して実行可能なタスクを選択するアルゴリズムについて説明する。この処理は図２３のＳ１１３で実行される処理である。
【０１１３】
リモートコントローラ１０２より、ユーザによってあるコンテンツが選択されたという情報がサーバ１０４に与えられると、サーバ１０４は、選択されたコンテンツに対して実行可能なタスクを以下のアルゴリズムを用いて選択する。
【０１１４】
まず、Ｓ３０１〜Ｓ３１１の間の処理を、選択されたコンテンツに設定された全てのタスク情報に対して繰返し行なう。Ｓ３０１はこの繰返しの開始位置である。選択されたコンテンツに設定された全てのタスク情報は、コンテンツ管理表４０６、およびタスク管理表４０９を参照することで得られる。
【０１１５】
この繰返し中には、さらにＳ３０２〜Ｓ３０９で示されるループが存在する。このネストされたループ内の処理は、処理を行うタスクに含まれる全ての機能およびＩＯデバイスに対して繰返し行なわれる。処理を行うタスクに含まれる全ての機能およびＩＯデバイス情報は、タスク管理表４０９から、処理を行うタスクについて記述されたＸＭＬファイルを得て、その内容を参照することで得られる。
【０１１６】
このネストされたループ内の最初のステップであるＳ３０３では、処理を行うタスク情報に記述された機能またはＩＯデバイスに対して、その機能またはＩＯデバイスと名前および入出力が一致する機能またはＩＯデバイスがホームネットワーク１０３上に存在するかどうかが判定される。ホームネットワーク１０３上に存在する機能およびＩＯデバイスとその名前および入出力は、機能管理表４０７およびＩＯデバイス管理表４０８から、各機能およびＩＯデバイスについて記述されたＸＭＬファイルを得て、その内容を参照することで得られる。
【０１１７】
Ｓ３０３において、一致する機能またはＩＯデバイスが存在すると判定された場合、制御はＳ３０４に進む。一致する機能またはＩＯデバイスが存在しないと判定された場合は制御はＳ３０１に戻り、次のタスクについて同じ処理を行う。
【０１１８】
Ｓ３０３において、一致する機能またはＩＯデバイスが存在すると判定された場合、Ｓ３０４において、当該一致する機能またはＩＯデバイスがホームネットワーク１０３上に複数個存在するかどうかが判定される。制御は、一致する機能またはＩＯデバイスが複数存在した場合はＳ３０５に、１つだけ存在した場合はＳ３０８に、それぞれ進む。
【０１１９】
一致する機能またはＩＯデバイスが複数存在する場合、Ｓ３０５において、その機能またはＩＯデバイスに対してユーザ設定があるかどうかが判定される。ユーザ設定があるかどうかは、サーバ１０４の機能管理表４０７およびＩＯデバイス管理表４０８の「ユーザ」の欄を参照することで得られる。
【０１２０】
Ｓ３０５において、ユーザ設定があると判定された場合は制御はＳ３０６へ進む。ユーザ設定がないと判定された場合は制御はＳ３０７へ進む。Ｓ３０６では、ユーザが設定している機能またはＩＯデバイスが選択される。続いて、制御はＳ３０９に進む。一方、ユーザ設定がないと判定された場合、Ｓ３０７において、見つかった複数個の機能またはＩＯデバイスのうち、最初に見つかったものが選択され、制御はＳ３０９に進む。
【０１２１】
また、Ｓ３０４において一致する機能またはＩＯデバイスが一つしか見つからないと判定された場合、Ｓ３０８で、見つかった１つの機能またはＩＯデバイスを選択され、制御はＳ３０９に進む。
【０１２２】
Ｓ３０９では、全ての機能およびＩＯデバイスに関して処理が終了しているか否かが判定される。全ての機能およびＩＯデバイスに対して処理が終了している場合には制御はＳ３１０に進む。一方全ての機能またはＩＯデバイスに対して処理が終了していない場合には、制御はＳ３０２に戻り、次の機能またはＩＯデバイスについて上記した処理を繰返す。
【０１２３】
Ｓ３０９で、全ての機能およびＩＯデバイスに関して処理が終了していると判定されると、Ｓ３１０において、上記したＳ３０２〜Ｓ３０９のループで処理したタスクが、実行可能なタスクとして選択される。
【０１２４】
次のＳ３１１において、Ｓ３０１から始まるタスクに関するループの処理が、全てのタスクに関して終了しているか否かが判定される。終了している場合には制御は図２６のＳ３１２に進む。処理が終了していない場合には制御はＳ３０１に戻り次のタスクについて処理が行なわれる。
【０１２５】
図２６を参照して、Ｓ３１２では、選択されたコンテンツ以外のコンテンツに対して、Ｓ３１２〜Ｓ３２８までの繰返し処理が開始される。
【０１２６】
この繰返しループの中には、さらにＳ３１３〜Ｓ３２５で示されるネストされたループが存在する。このネストされたループ処理は、処理対象であるコンテンツに設定された全てのタスク情報に対して処理を行うためのものである。まずＳ３１４で、処理するタスクが従属タスクとして設定されているかどうかが判定される。処理するタスクが従属タスクである場合Ｓ３１５に進む。従属タスクでない場合Ｓ３１３に戻り次のタスクについて処理する。
【０１２７】
Ｓ３１５は、処理するタスクに設定された機能のうちの最初の機能が、現在選択されているコンテンツからの出力を受け取れるかどうかを判定するステップである。受け取れる場合Ｓ３１６に進む。受け取れない場合Ｓ３１３に戻り次のタスクについて処理する。
【０１２８】
Ｓ３１６以下は、処理するタスクに含まれる全ての機能情報に対して処理を行うループであり、Ｓ３１６〜Ｓ３２３の間で繰り返す。
【０１２９】
Ｓ３１７では、処理する機能に関して、名前と入出力とが一致する機能がホームネットワーク１０３上に存在するかどうかが判定される。存在する場合は制御はＳ３１８に進む。存在しない場合は制御はＳ３１３にもどり次のタスクについて処理する。
【０１３０】
Ｓ３１８では、一致する機能がネットワークに複数存在したかどうかが判定される。複数存在した場合は制御はＳ３１９に進む。１つだけ存在した場合は制御はＳ３２２に進む。
【０１３１】
一致する機能が複数存在する場合、Ｓ３１９で、その機能に対してユーザ設定があるかどうかが判定される。ユーザ設定がある場合は制御はＳ３２０に進む。無い場合は制御はＳ３２１に進む。
【０１３２】
ユーザ設定がある場合、Ｓ３２０で、ユーザが設定している機能が選択される。この後制御はＳ３２３に進む。
【０１３３】
ユーザ設定がない場合、Ｓ３２１で、複数みつかった機能のうち、最初にみつかったものが選択される。この後制御はＳ３２３に進む。
【０１３４】
一方、Ｓ３１８において一致する機能が一つだけであると判定された場合、Ｓ３２２において、その見つかった１つの機能が選択される。この後制御はＳ３２３に進む。
【０１３５】
Ｓ３２３では、Ｓ３１６から始まる機能に関するループ処理が、全ての機能に関して終了しているか否かについての判定が行なわれる。全ての機能に関してループ処理が終了している場合、制御はＳ３２４に進む。処理が終了していない場合、制御はＳ３１６に戻り次の機能について処理を行う。
【０１３６】
全ての機能に対してＳ３１６〜Ｓ３２４のループ処理が終了していると判定された場合、Ｓ３２４において、以上で処理したタスクが、実行可能な従属タスクとして選択される。この後制御はＳ３２５に進む。
【０１３７】
Ｓ３２５は、Ｓ３１３から始まるタスクに関するループの最終部分であり、全てのタスクに関して処理が終了しているか否かについての判定が行なわれる。全てのタスクに関して処理が終了している場合、制御はＳ３２６に進む。処理が終了していない場合には制御はＳ３１３に戻り、次のタスクについてＳ３１３〜Ｓ３２５の処理を行う。
【０１３８】
Ｓ３１３〜Ｓ３２５の処理が終了すると、Ｓ３２６において、従属タスクが存在したかどうかについて判定される。従属タスクが存在した場合は制御はＳ３２７に進み、従属タスクが存在したコンテンツが従属コンテンツとして選択されＳ３２８に進む。従属タスクが存在していない場合は制御は直接にＳ３２８に進む。
【０１３９】
Ｓ３２８は、Ｓ３１２から始まる選択された以外の全てのコンテンツに関するループの最終部分であり、選択された以外の全てのコンテンツに関して処理が終了しているか否かが判定される。終了している場合はこの処理を終了する。処理が終了していない場合は、図２６のＳ３１２に戻り次のコンテンツについて処理を行う。
【０１４０】
[実行可能タスクに対応したＵＩを表示するアルゴリズム]
この実施の形態のホームネットワーク１０３では、図２５および図２６に示されたアルゴリズムにより実行可能であるとして選択されたタスクに対応したユーザインタフェースが、リモートコントローラ１０２に表示される。以下、このユーザインタフェースをリモートコントローラ１０２に表示する処理を行なうためのアルゴリズムについて図２７および図２８を参照して説明する。図２７はサーバ１０４で実行される処理であり、図２８はリモートコントローラ１０２で実行される処理である。
【０１４１】
図２７を参照して、サーバ１０４では、実行可能であると選択された全てのタスクに対してＳ４０１〜Ｓ４０３のループを繰返す。すなわち、Ｓ４０２の処理を、実行可能であるとして選択された全てのタスクに対して実行する。
【０１４２】
Ｓ４０２では、実行可能であるタスクのタスクＩＤと、名前およびユーザインタフェース情報とをサーバ１０４からリモートコントローラ１０２に対して送信する。タスクＩＤとタスクの名前とは、タスク管理表４０９から得ることができ、ユーザインタフェース情報はタスク管理表４０９から処理するタスクについて記述されたＸＭＬファイルを得て、その内容を参照することで得られる。
【０１４３】
Ｓ４０３では、Ｓ４０１から始まる実行可能タスクに関するループの処理が全ての実行可能タスクに関して終了しているか否かが判定される。終了している場合にはサーバ１０４側の処理を終了する。処理が終了していない場合には制御はＳ４０１に戻り次のタスクについて処理を行う。
【０１４４】
図２８を参照して、このときリモートコントローラ１０２では以下の処理が行なわれる。すなわち、サーバ１０４より送られてきた情報（タスクＩＤ、名前、ユーザインタフェース情報）の全てに対してＳ４０４〜Ｓ４０８の処理を繰返し行なう。
【０１４５】
まず、Ｓ４０５で、送られてきた情報をリモートコントローラ１０２のメモリ３０５に保存する。続いてＳ４０６で、送られてきたユーザインタフェース情報に一致する情報が、図３に示すＵＩ要素記憶部３０４から選択される。続いてＳ４０７で、リモートコントローラ１０２のタッチパネル付液晶表示装置２０２上に、選択されたＵＩ要素に対応したユーザインタフェースが表示される。Ｓ４０８では、送られてきた全ての情報に関してＳ４０４以下の処理が終了しているか否かが判定される。終了している場合には処理を終了する。処理が終了していない場合は制御はＳ４０４に戻り次のタスクについて処理を行う。
【０１４６】
[コンテンツを選択するＵＩを表示するアルゴリズム]
次に、図２９および図３０を参照して、ホームネットワーク１０３で扱えるコンテンツをリモートコントローラ１０２を用いてユーザが選択するためのユーザインタフェースをリモートコントローラ１０２のタッチパネル付液晶表示装置２０２上に表示するアルゴリズムを説明する。図２９はサーバ１０４が行う処理を示し、図３０はリモートコントローラ１０２が行なう処理を示す。
【０１４７】
まずサーバ１０４では、ホームネットワーク１０３で扱える全てのコンテンツに対してＳ５０１〜Ｓ５０３の処理を繰返し行なう。ネットワークで扱える全てのコンテンツは、サーバ１０４のコンテンツ管理表４０６を参照することで得られる。
【０１４８】
この繰返し処理の本体はＳ５０２であり、Ｓ５０２では、コンテンツＩＤ、名前、コンテンツを保持する機器の名前がサーバ１０４からリモコンに対して送信される。続いてＳ５０３では、Ｓ５０１以下の繰返し処理が全てのコンテンツに関して終了しているか否かが判定される。終了している場合にはサーバ１０４側の処理を終了する。処理が終了していない場合には制御はＳ５０１に戻り次のコンテンツについて処理を行う。
【０１４９】
図３０を参照して、このときリモートコントローラ１０２では以下のような処理が行なわれる。リモートコントローラ１０２では、Ｓ５０４〜Ｓ５０７の処理が、サーバ１０４より送られてきた全ての情報に対して行なわれる。
【０１５０】
この繰返し処理の実質的な先頭であるＳ５０５で、サーバ１０４から送られてきた情報がリモートコントローラ１０２のメモリ３０５に保存される。続いてＳ５０６において、サーバ１０４から送られてきたコンテンツの名前とコンテンツを保持する機器の名前とが、リモートコントローラ１０２のタッチパネル付液晶表示装置２０２上に表示される。ループの最後であるＳ５０７では、送られてきた全ての情報に関してＳ５０４以下の処理が終了しているか否かについての判定が行なわれる。全ての情報に関してＳ５０４以下の処理が終了している場合には、この処理を終わる。処理が終了していない場合は制御はＳ５０４に戻り次のタスクについて処理を行う。
【０１５１】
[重複する機能またはＩＯデバイスをリモコンに伝えるアルゴリズム]
次に、図３１および図３２を参照して、ホームネットワーク１０３上で重複する機能またはＩＯデバイスをサーバ１０４からリモートコントローラ１０２に伝えるアルゴリズムを説明する。
【０１５２】
図３１を参照して、サーバ１０４では以下の処理が行なわれる。まず、Ｓ６０１〜Ｓ６０３の処理が、全ての機能情報およびＩＯデバイス情報に対して行なわれる。この繰返し処理の本体であるＳ６０２では、同様の名前および入出力を持った機能／ＩＯデバイスがホームネットワーク１０３に存在するか否かが判定される。Ｓ６０３では、Ｓ６０１以下の処理が、全ての機能／ＩＯデバイスに関して終了したか否かについての判定が行なわれる。終了している場合には、制御はＳ６０４に進む。終了していない場合には制御はＳ６０１に戻り、次の機能／ＩＯデバイスについて処理を行う。
【０１５３】
Ｓ６０４では、Ｓ６０１〜Ｓ６０３の繰返し処理の結果に基づいて、ホームネットワーク１０３内に重複する機能／ＩＯデバイスが存在したかどうかが判定される。重複する機能／ＩＯデバイスが存在していると判定された場合には制御はＳ６０５に進む。重複する機能／ＩＯデバイスが存在しない場合には制御はＳ６０６に進む。
【０１５４】
Ｓ６０５では、ホームネットワーク１０３内に重複する機能／ＩＯデバイスの情報がサーバ１０４からリモートコントローラ１０２に伝えられる。このステップが終了するとサーバ１０４側の処理を終了する。
【０１５５】
一方Ｓ６０６では、ホームネットワーク１０３内に重複する機能／ＩＯデバイスが無いことをサーバ１０４からリモートコントローラ１０２に伝える。このステップが終了するとサーバ１０４側の処理を終了する。
【０１５６】
図３２を参照して、このとき、リモートコントローラ１０２は以下の処理を行なう。まずＳ６０７において、サーバ１０４より送られてきた機能／ＩＯデバイスに関する情報を受信する。続いて、Ｓ６０８において、Ｓ６０７で受信した情報から、ホームネットワーク１０３に重複する機能／ＩＯデバイスが存在しているか否かが判定される。重複する機能／ＩＯデバイスが存在する場合は制御はＳ６０９へ進む。重複する機能／ＩＯデバイスが存在しない場合は制御はＳ６１０へ進む。
【０１５７】
重複する機能／ＩＯデバイスが存在する場合、Ｓ６０９において、重複する機能／ＩＯデバイス情報をリモートコントローラ１０２のメモリ３０５に書きこむ。このステップが終了するとリモートコントローラ１０２側の処理を終了する。
【０１５８】
重複する機能／ＩＯデバイスがないと判定された場合には、Ｓ６１０において、重複する機能／ＩＯデバイス情報をリモートコントローラ１０２のメモリ３０５から消去する。このステップが終了するとリモコン側の処理を終了する。
【０１５９】
以上が、この実施の形態のホームネットワーク１０３の構成の概略である。
【０１６０】
[機器制御方法の概要]
以下、ホームネットワーク１０３の動作について説明する。特に、ホームネットワーク１０３に新たな機器またはコンテンツが追加される場合を例として、本発明の機器制御方法により、ホームネットワーク１０３における各種情報がどのように管理され、ホームネットワーク１０３の機器を制御するためのコンテンツ指向のユーザインタフェースがどのように構成されて行くかを説明する。
【０１６１】
図３３を参照して、本実施の形態にかかるホームネットワーク１０３に、新たにＶＣＲ１０７が追加される場合を想定する。このＶＣＲ１０７のうち、本願発明に関連する部分の構成は図４に示したとおりである。
【０１６２】
図３４に、ＶＣＲ１０７の機器情報５０８であるファイルAppliance.xmlの内容を示す。図３４によれば、ＶＣＲ１０７の名称はVCRである（name文）。
【０１６３】
図３５に、ＶＣＲ１０７の機能情報５０９であるファイルFunction.xmlの内容を示す。図３５を参照して、Function.xmlは、１番目の機能に関する記述５１０１および２番目の機能に関する記述５１０２を含む。１番目の機能に関する記述５１０１によれば、この機能の名称はVCR-PLAYBACK（ＶＣＲ再生）であり、入力としてSOUNDおよびNTSCを、出力としてSOUNDおよびNTSCを、それぞれ有することが分かる。２番目の機能に関する記述５１０２によれば、この機能の名称はVCR-RECORD（ＶＣＲ録画）であり、入力としてSOUNDおよびNTSCを、出力としてSOUNDおよびNTSCを、それぞれ有することが分かる。
【０１６４】
図３６に、ＶＣＲ１０７のＩＯデバイス情報５１０であるファイルIO-Device.xmlの内容を示す。このIO-Device.xmlは、ＶＣＲ１０７のＩＯデバイスに関する記述５５０１を含む。ＩＯデバイスに関する記述５５０１から、ＶＣＲ１０７はBUTTON（ボタン）という名称のＩＯデバイスを持ち、その出力がVALUEであることが分かる。
【０１６５】
ＶＣＲ１０７も複数のコンテンツを持ち得る。以下の説明では、ＶＣＲ１０７が空テープというコンテンツを持ち、そのコンテンツ情報がファイルContent-1.xmlに記述されているものとする。図３７にこのファイルContent-1.xmlの内容の例を示す。図３７を参照して、このファイルContent-1.xmlは、このコンテンツに関する一般的な記述５９０１と、このコンテンツに対してユーザが実行できる、４つのタスクに関する記述５９０２、５９０６、５９１０および５９１５とを含む。
【０１６６】
一般的な記述５９０１はコンテンツ自体に関する情報であり、コンテンツがＶＣＲに属し、名前が「空テープ」であり、コンテンツにはNTSCとSOUNDが入力され、コンテンツからNTSCとSOUNDとが出力されることが記述されている。
【０１６７】
１番目のタスクに関する記述５９０２は、記述５９０３、記述５９０４および記述５９０５を含む。記述５９０３には、このコンテンツに対してユーザが実行できる１番目のタスクは、音量調整という名称を持つこと、そのタスクタイプが通常であること（従属タスクではないこと）、対応するユーザインタフェースがPANELであることが記述されている。記述５９０４には、このコンテンツから出力されるデータを受け取り処理する機能がVOLUMEという名称を持ち、入力および出力としてSOUNDを持つこと、および対応のユーザインタフェース部品がSLIDERであることが記述されている。記述５９０５には、この機能から出力されるデータを受け取るＩＯデバイスがSPEAKERという名称であり、入力としてSOUNDを有することが記述されている。
【０１６８】
記述５９０６はこのコンテンツに設定された２つめのタスクに関する情報であり、記述５９０７と記述５９０８と記述５９０９とを含む。記述５９０７はタスクの名前が画質調整であり、通常のタスクであり(従属タスクでない)、リモコンに表示されるユーザインタフェースがPANELであることを記述している。記述５９０８はコンテンツから出力されるデータを受け取り処理する機能がIMAGEという名前を持ち、NTSCが入力され、NTSCを出力すること、および対応のユーザインタフェース部品はSLIDERであることが記述されている。記述５９０９は機能から出力されるデータを受け取るＩＯデバイスがDISPLAYという名前を持ち、NTSCが入力されることを記述している。
【０１６９】
記述５９１０はコンテンツに設定された３つめのタスクに関する情報であり、記述５９１１と記述５９１２と記述５９１３と記述５９１４とを含む。記述５９１１はタスクの名前が「プレイバック」であり、通常のタスクであり(従属タスクでない)、リモートコントローラ１０２に表示される、この機能に対応するユーザインタフェースがPANELであることを記述している。ここで「従属タスク」とは、あるタスクが、ユーザによって選択されているコンテンツとともに（従属して）扱うことのできるコンテンツ（従属コンテンツ）に属するタスクであるかどうかを示している。例えば、空のビデオテープのコンテンツがホームネットワーク１０３に存在する場合、ＴＶのコンテンツが選択されていると、その内容をビデオテープに録画することが可能となるため、このコンテンツはＴＶのコンテンツに対する従属コンテンツとなり、録画する、というタスクは従属タスクとなる。
【０１７０】
記述５９１２はコンテンツから出力されるデータを受け取り処理する機能がVCR-PLAYBACKという名称を持ち、SOUNDとNTSCが入力され、SOUNDとNTSCを出力すること、および対応のユーザインタフェース部品はPLAYBACK BUTTONであることを記述している。記述５９１３はこの機能から出力されるデータを受け取るＩＯデバイスがSPEAKERという名前を持ち、SOUNDが入力されることを記述している。記述５９１４はこの機能から出力されるデータを受け取るもうひとつのＩＯデバイスがDISPLAYという名前を持ち、NTSCが入力されることを記述している。
【０１７１】
記述５９１５はコンテンツに設定された４つめのタスクに関する情報であり、記述５９１６と記述５９１７とを含む。記述５９１６はこのタスクの名前が「録画」であり、従属タスクであり、リモートコントローラ１０２に表示される、対応するユーザインタフェースがPANELであることを示している。このタスクは従属タスクであり、ユーザにより選択されているコンテンツから出力されるデータを受け取り、何らかの処理をする機能に渡す。記述５９１７は、ユーザに選択されているコンテンツから出力されるデータを受け取り処理する機能を記述している。ここでは、この機能が名前がVCR-RECORDで、SOUNDとNTSCが入力され、SOUNDとNTSCとを出力する機能であること、および対応のユーザインタフェース部品はRECORD BUTTONであることが記述されている。この４番目のタスクは従属タスクであるため、記述５９１７の機能の出力をこのコンテンツ（空テープ）が受け取ることで、録画というタスクが構成される。
【０１７２】
以上のような構成を有するＶＣＲ１０７がホームネットワーク１０３に接続されると、図２４に示される処理が実行される。この例の場合には図２４のＳ２０２での判定の結果、制御はＳ２０３に進み、ここでサーバ１０４の全ての管理表が更新されることが分かる。更新された後のサーバ１０４の機器管理表４０５、コンテンツ管理表４０６、機能管理表４０７、ＩＯデバイス管理表４０８およびタスク管理表４０９の状態をそれぞれ図３８〜図４２に示す。
【０１７３】
図３８および図１５とを比較すると明らかなように、この更新によって機器管理表４０５にはＶＣＲ１０７に対応する行３２０１が追加されている。ＶＣＲ１０７には、新たにサーバ１０４により機器ＩＤとして「A-0003」が割り振られている。また、前述したとおりＶＣＲ１０７の機器情報はファイルAppliance.xmlに記述されているので、機器管理表４０５のＶＣＲ１０７に対応する行３２０１のうち、「機器情報」の欄には「Appliance.xml」が格納される。
【０１７４】
図３９および図１６を比較すると、更新によってサーバ１０４のコンテンツ管理表４０６にＶＣＲ１０７に関する行３３０１が追加されていることが分かる。ＶＣＲ１０７に関する行３３０１は、コンテンツの名前としてＶＣＲ１０７に属するコンテンツの名称である「空テープ」を有し、コンテンツＩＤとして「C-0005」がサーバ１０４により与えられている。「機器ＩＤ」の欄には、このコンテンツを保持する機器であるＶＣＲ１０７を示す「A-0003」が格納されている。コンテンツ情報の欄にはＶＣＲ１０７のコンテンツ情報であるファイルの名称「Content-1.xml」が格納されている。「選択」の欄には、リモートコントローラ１０２を用いてユーザによって近畿テレビが選択されたことを想定すると、近畿テレビのところに選択されたことを示す○が格納される。また、新たに追加されたＶＣＲ１０７のコンテンツである「空テープ」が、選択されているＴＶのコンテンツに従属するため、ＶＣＲ１０７に関する行３３０１の「従属」の欄に従属を示す情報（「○」で示す）が格納されている。
【０１７５】
なお、ＴＶ１０５に属するコンテンツ（コンテンツＩＤC-0001〜C-0003）には、名前としてそれぞれ国営放送、教育放送、近畿テレビが与えられているものとする。またＤＶＤプレーヤ１０６に属するコンテンツ（コンテンツＩＤC-0004）の名前は「タイタニック」であるものとする。
【０１７６】
図４０はサーバ１０４の機能管理表４０７の更新後の状態を示している。図１７と比較して明らかなように、ＶＣＲ１０７が新たに接続されたため、機能管理表４０７にはＶＣＲ１０７の持つ各機能に関する情報（行３４０１および３４０２）が追加されている。
【０１７７】
ＶＣＲ１０７は図３５に示すように、機能としてVCR-PLAYBACK(再生、停止、早送り、巻き戻し、一次停止)およびVCR-RECORD(録画、停止)という２つを持つ。行３４０１および３４０２はそれぞれこれらに対応している。
【０１７８】
図４０を参照して、行３４０１および３４０２には、対応の機能の名前としてVCR-PLAYBACK、VCR-RECORDが格納されている。また機能ＩＤとしてはそれぞれF-0005、F-0006がサーバ１０４により与えられている。機器ＩＤには、これらの機能を持つＶＣＲ１０７の機器ＩＤであるA-0003が与えられている。機能情報にはいずれもFunction.xmlが与えられている。
【０１７９】
「選択」の欄について見ると、リモートコントローラ１０２の操作によってＴＶ１０５のコンテンツが選択されていることを想定すると、ＴＶのコンテンツが使用する機能としてVOLUME、IMAGE、PLAYおよびVCR-RECORDが選択されており、それらの「選択」の欄に選択されていることを示す情報（「○」で示す。）が格納されている。図３３の状態では、ホームネットワーク１０３内に同一の働きをする機能が複数は存在しないため、「ユーザ」の欄にはいずれも何も格納されていない。
【０１８０】
図４１はサーバ１０４のＩＯデバイス管理表４０８の更新後の状態を示す。図４１では、ＩＯデバイス管理表４０８にはＶＣＲ１０７の持つＩＯデバイスに関する情報（行３５０１）が追加されている。
【０１８１】
図３６を参照して説明したように、ＶＣＲ１０７はＩＯデバイスとしてBUTTON(ユーザがボタンを押すことにより何らかの値を入力するインプットデバイス)というＩＯデバイスを持つ。したがってＩＯデバイス管理表４０８に追加された行３５０１には、ホームネットワーク１０３内に存在するＩＯデバイスとして、名前がBUTTONというＩＯデバイスが格納されている。そのＩＯデバイスＩＤにはサーバ１０４によりD-0005が与えられている。機器ＩＤには、BUTTONのＩＯデバイスを持つＶＣＲ１０７の機器ＩＤであるA-0003が与えられている。ＩＯデバイス情報にはIO-Device.xmlが与えられている。
【０１８２】
なお図４１に示す例では、「選択」の欄には、ユーザがＴＶ１０５を選択していることを想定し、ＴＶ１０５のコンテンツが使用するDISPLAYとSPEAKERに対して選択されていることを示す情報（「○」印で示す。）が格納されている。
【０１８３】
「ユーザ」の欄には、図３３の状態ではホームネットワーク１０３内に同一の働きをするＩＯデバイスが複数存在しないため何も記述されていない。
【０１８４】
図４２に、サーバ１０４のタスク管理表４０９の更新後の状態を示す。図３３の状態では、ホームネットワーク１０３では図３９のコンテンツ管理表４０６に示す５つのコンテンツが使用できるため、タスク管理表４０９には、それらのコンテンツに対してユーザが実行できるタスクに関する情報が与えられている。
【０１８５】
ここで、図３７を参照して説明したように、ＶＣＲ１０７のコンテンツに対してユーザが実行できるタスクとして、音量調整、画質調整、プレイバック、および録画の４つがある。これらタスクに関する４つの行３６０１〜３６０４がタスク管理表４０９に追加されている。
【０１８６】
行３６０１〜３６０４の「名前」の欄にはそれぞれ音量調整、画質調整、プレイバック、録画が与えられている。タスクＩＤにはそれぞれT-0013〜T-0016がサーバ１０４により与えられている。機器ＩＤには、ＶＣＲ１０７の機器ＩＤであるA-0003がそれぞれ与えられている。コンテンツＩＤには、空テープのコンテンツＩＤであるC-0005が与えられている。タスク情報には、タスク情報が記述されたコンテンツ情報のファイル名であるContent-1.xmlが与えられている。「選択」の欄について見ると、たとえば図４４の状態を想定すると、「近畿ＴＶ」がコンテンツとして選択されており、したがって選択されたコンテンツである近畿テレビに設定されたタスクである音量調整、画質調整、視聴が使用可能であるため、行２００７〜２００９の「選択」の欄に選択を示す情報が表示されている。
【０１８７】
さらに、近畿テレビのコンテンツを空テープに録画することが可能であるため、行３６０４の選択の欄にも○が表示されている。「従属」の欄について見ると、図３３の状態ではＶＣＲ１０７の空テープが従属コンテンツであり、それに対して実行できるタスクのうち録画が従属タスクであるため、行３６０４の「従属」の欄に従属を示す情報（「○」）が格納されている。
【０１８８】
このように各種の管理表が更新されると、その結果がサーバ１０４からリモートコントローラ１０２に送信される。その結果、リモートコントローラ１０２のタッチパネル付液晶表示装置２０２には、新たにホームネットワーク１０３で使用することが出来るようになったコンテンツが追加表示される。その例を図４３に示す。
【０１８９】
図４３のリモートコントローラ１０２における表示は、新たに接続されたＶＣＲ１０７が空テープ３００１というコンテンツを持ち、それが新たに選択可能であることを示している。さらに、選択されているコンテンツであるタイタニック２２０１に対してユーザが行えるタスクに対応するユーザインタフェースとして、音量調整のためのスライダー２３０１、画質調整のためのスライダー２３０２、プレイバックのためのボタン２３０３に加えて、録画のためのボタン３００２が追加され、このボタンを操作することにより空テープへの録画を実行することが可能となる。これは、追加されたコンテンツである空テープ３００１が、選択されているコンテンツであるタイタニック２２０１に対して従属しており、タイタニック２２０１の内容を空テープ３００１に録画できる状態になったためである。
【０１９０】
図４４は、図４３の状態において、リモートコントローラ１０２に表示された近畿テレビ１４０３というコンテンツをユーザが選択した際のリモートコントローラ１０２の表示の変化を示している。
【０１９１】
選択されたコンテンツである近畿テレビの表示が反転し、表示上部に近畿テレビ１４０３に対してユーザが行えるタスクをコントロールするためのインタフェースが表示されている。この表示では、図４３において表示されていた音量調整のためのスライダー２３０１、画質調整のためのスライダー２３０２に加えて、録画を行なうためのインタフェース３１０１が表示されている。
【０１９２】
[ＬＣＤ１０８がつながる]
図４５を参照して、ホームネットワーク１０３に新たにＬＣＤ１０８が接続される場合について考える。図４６を参照して、ＬＣＤ１０８の機器情報５０８を記述するファイルがAppliance.xmlであるものとし、その内容が図４６に示されるとおりであると仮定する。ＬＣＤ１０８は、LCDという名前を有する。
【０１９３】
また、ＬＣＤ１０８の機能情報５０９がファイルFunction.xmlに記述されており、その内容が図４７に示すとおりであると仮定する。図４７によれば、ＬＣＤ１０８は機能としてVOLUME(音量調整)とIMAGE(画質調整)とを持つ。さらにＬＣＤ１０８のＩＯデバイス情報５１０がファイルIO-Device.xmlに記述されており、その内容が図４８に示すとおりであると仮定する。図４８によれば、ＬＣＤ１０８はＩＯデバイスとしてDISPLAYとSPEAKERとを持つ。また、一般的にＬＣＤ１０８はコンテンツは保持していない。
【０１９４】
次に、サーバ１０４に管理される各種情報管理表がどのように更新されるかについて説明する。
【０１９５】
なお、以下の説明では、各種情報管理表の更新後、機能VOLUMEおよび機能IMAGEはそれぞれＬＣＤ１０８の持つ機能がＴＶの持つ機能の代わりにユーザによって選ばれたものとする。
【０１９６】
図４９はサーバ１０４の機器管理表４０５の更新後の状態を示している。ホームネットワーク１０３に新たにＬＣＤ１０８が接続されたため、ＬＣＤ１０８に関する機器情報が新たに追加されている。行４１０１がＬＣＤ１０８に関する機器情報である。機器の名前の欄には「ＬＣＤ」が格納され、機器ＩＤにはA-0004という値がサーバ１０４により与えられている。機器情報にはAppliance.xmlと設定されている。
【０１９７】
ＬＣＤ１０８はコンテンツを持たないため、サーバ１０４のコンテンツ管理表４０６は図３９の状態から変化しない。同様にサーバ１０４のタスク管理表４０９も図４２の状態から変化しない。
【０１９８】
図５０を参照して、ホームネットワーク１０３にＬＣＤ１０８が接続されたため、サーバ１０４の更新後の機能管理表４０７にはＬＣＤ１０８の持つ各機能に関する情報が与えられている。図４７を参照して説明したように、ＬＣＤ１０８は機能として、VOLUME(音量調整)、IMAGE(画質調整)という２つの機能を持つ。したがって機能管理表４０７にはこれらの機能情報を示す行４２０１および４２０２が追加されている。行４２０１および４２０２の機能情報の名前にはVOLUMEおよびIMAGEが、機能ＩＤにはF-0007およびF-0008が、それぞれ与えられている。機器ＩＤには、ＬＣＤ１０８の機器ＩＤであるA-0004が与えられている。機能情報にはいずれもFunction.xmlが与えられている。
【０１９９】
「選択」の欄について見ると、選択されているＴＶのコンテンツが使用する機能としてTV-PLAY、VCR-RECORDおよび、ＬＣＤ１０８の持つ機能VOLUME、IMAGEが選択されて、選択されていることを示す情報がそれぞれの行の「選択」の欄に格納されている。
【０２００】
さらに、図４５の状態ではホームネットワーク１０３内に同一の働きをする機能としてVOLUMEおよびIMAGEがある。これらの各々について、同一の機能のうちの一つをユーザは選択する。ここではユーザは前述のようにＬＣＤ１０８のVOLUME、IMAGEを選択していることが想定されているため、選択されていることを示す情報（「○」印）がそれらの「ユーザ」の欄に格納されている。このユーザ情報により、今後、新たなコンテンツが選択されたときには、まずＬＣＤ１０８のVOLUME、IMAGEが最初に選択される。
【０２０１】
図５１を参照して、ホームネットワーク１０３にＬＣＤ１０８が接続されたため、サーバ１０４の更新後のＩＯデバイス管理表４０８にはＬＣＤ１０８の持つＩＯデバイスに関する情報が追加されている。図４８を参照して説明したように、ＬＣＤ１０８はＩＯデバイスとしてDISPLAY(映像を映し出すアウトプットデバイス)、SPEAKER(音声を再生するアウトプットデバイス)という２つのＩＯデバイスを持つ。したがってＩＯデバイス管理表４０８には、これらに対応する行４３０１および４３０２が追加されている。
【０２０２】
行４３０１および４３０２の名前の欄にはDISPLAYおよびSPEAKERが、ＩＯデバイスＩＤの欄にはD-0006およびD-0007が、それぞれ与えられている。機器ＩＤには、ＬＣＤ１０８の機器ＩＤであるA-0004がそれぞれ与えられている。ＩＯデバイス情報にはいずれもIO-Device.xmlが与えられている。
【０２０３】
「選択」の欄について見ると、ユーザに選択されているＴＶのコンテンツはＬＣＤ１０８のDISPLAYとSPEAKERとを使用するので、これらに対応する行４３０１および４３０２の「選択」の欄に選択されていることを示す情報（「○」印で示す。）が格納されている。
【０２０４】
「ユーザ」の欄について見ると、図４５の状態ではホームネットワーク１０３に同一の働きをするものが複数個存在するＩＯデバイスとしてDISPLAYおよびSPEAKERがある。ここでは、前述のとおりユーザがＬＣＤ１０８のDISPLAYおよびSPEAKERを選択していることが想定されているため、ＬＣＤ１０８のＩＯデバイスに対応する行４３０１および４３０２の「ユーザ」の欄に選択されていることを示す情報（「○」印で示す。）が格納されている。このユーザ情報により、今後、新たなコンテンツが選択されたときには、DISPLAYおよびSPEAKERがホームネットワーク１０３内に複数個存在しているにもかかわらず、まずＬＣＤ１０８のDISPLAYおよびSPEAKERが最初に選択される。
【０２０５】
このように、ホームネットワーク１０３内に重複する機能またはＩＯデバイスがある場合、その機能またはＩＯデバイス情報がサーバ１０４からリモートコントローラ１０２に送信される（図２４のＳ２０５）ため、ＬＣＤ１０８が接続されると、図５２に示すように、リモートコントローラ１０２のタッチパネル付液晶表示装置２０２には、機能またはＩＯデバイスを選択するための機能／ＩＯデバイス選択ボタン３８０１が表示される。これは、新たに接続されたＬＣＤ１０８が、既に接続されていたＴＶ１０５の持つ機能およびＩＯデバイスと同一の働きをする機能およびＩＯデバイスを保持していたため、いずれを選択するかを決定する必要があるためである。
【０２０６】
図５２に示される機能／ＩＯデバイス選択ボタン３８０１をユーザが選択すると、リモートコントローラ１０２は図５３に示す重複機能／ＩＯ選択ダイアログ３９０１を表示する。重複機能／ＩＯ選択ダイアログ３９０１は、上部に配置された、重複して存在する機能またはＩＯデバイスを表示してユーザが選択する重複機能／ＩＯ選択のためのユーザインタフェース部分と、下部に配置され、上部で選択された機能またはＩＯデバイスに関して実際にどれを使用するかをユーザが選択するためのインタフェース部分とを含む。
【０２０７】
図５３を参照して、ダイアログ上部に配置された重複する機能／ＩＯデバイス選択のためのユーザインタフェース部分は、ＩＯデバイスのDISPLAYのためのボタン３９０２、ＩＯデバイスのSPEAKERのためのボタン３９０３、機能のVOLUMEのためのボタン３９０４、および機能のIMAGEのためのボタン３９０５を含む。図５３に示す例では、上記した機能の中から、ＩＯデバイスのDISPLAYのためのボタン３９０２が選択されている。
【０２０８】
このようにＩＯデバイスのDISPLAYのためのボタン３９０２が選択された場合、ダイアログ下部には上部で選択されたＩＯデバイスのDISPLAYに対する選択肢が表示される。図５３に示す例では、これら選択肢は、ＴＶ１０５のディスプレイ選択のためのボタン３９０６およびＬＣＤ１０８のディスプレイを選択するためのボタン３９０７が表示される。図５３に示す例では、ＴＶ１０５のディスプレイ選択のためのボタン３９０６が選択されている。この時点では、図５２に示すようにコンテンツとしてＴＶ１０５の「近畿ＴＶ」が選択されているため、ホームネットワーク１０３において、コンテンツ近畿ＴＶの映像がＴＶ１０５のディスプレイに映し出されている。
【０２０９】
図５４を参照して、重複機能／ＩＯ選択ダイアログ３９０１において、ユーザがＬＣＤ１０８のディスプレイを選択するためのボタン３９０７を選択した時にはＬＣＤ１０８のディスプレイを選択するためのボタン３９０７がハイライト表示される。この時点で、ホームネットワーク１０３において、コンテンツ「近畿ＴＶ」の映像がＬＣＤ１０８のディスプレイに映し出される。そしてダイアログに表示された「閉じる」ボタン４００１を押すことにより、ダイアログ３９０１が消去される。
【０２１０】
以上のようにこの実施の形態のホームネットワーク１０３によれば、ユーザが使用するコンテンツとネットワークにおける機器の接続状態とに応じて、ユーザがコンテンツに対して実行可能なタスクのみを容易に選択して実行することができる。また、ネットワークで使用できるコンテンツとネットワークにおける機器の接続状態とに応じて、ユーザが簡単な操作で使用したいコンテンツを選択でき、選択したコンテンツに対して実行できるタスクのみを選択することができる。
【０２１１】
本願実施の形態から、次のようなことがまとめられる。
【０２１２】
（１）  コンテンツ名と、コンテンツに関連して実行可能なタスクに関するタスク情報とを含むコンテンツ情報を準備するステップと、
ユーザインタフェースを用いてコンテンツをユーザに選択させるコンテンツ選択ステップと、
前記コンテンツ選択ステップにより選択されたコンテンツに関連して実行可能なタスクのいずれかを、ユーザインタフェースを用いてユーザに選択させるタスク選択ステップと、
前記タスク選択ステップにより選択されたタスクに対応する処理を実行するステップとを含む、機器制御方法。
【０２１３】
（２）  前記タスク情報は、前記コンテンツに対して行なわれるタスクのタスク名を特定する情報と、前記タスクをユーザが選択して実行するために用いられるユーザインタフェース部品を特定するユーザインタフェース情報とを含み、
前記タスク選択ステップは、前記コンテンツ選択ステップによって選択されたコンテンツに対応するコンテンツ情報内のタスク情報に含まれるユーザインタフェース情報を用いてユーザインタフェースを構築するステップと、
前記構築されたユーザインタフェースを用いて、タスクのいずれかをユーザに選択させるステップとを含む、（１）に記載の機器制御方法。
【０２１４】
（３）  前記タスク情報はさらに、前記タスクに関連して提供される機能に関する機能情報と、前記タスクに関連する入出力装置の種別を特定する入出力装置情報とを含み、
前記機器制御方法はさらに、システム内に存在する各機器が提供する機能および各機器が有する入出力装置の種別に関する情報を収集するステップを含み、
前記実行するステップは、
前記選択されたタスクに関連する機能情報および入出力装置情報に基づいて、前記タスクを実行するための機器を決定するステップと、
前記決定された機器を前記機能情報および前記入出力装置情報に基づいて制御するステップとを含む、（２）に記載の機器制御方法。
【０２１５】
（４）  前記タスク情報は、当該タスクが他のコンテンツに従属する従属タスクか否かを特定するための情報をさらに含み、
さらに、前記コンテンツ選択ステップによって選択されたコンテンツに従属する、他のコンテンツのタスクが存在するか否かを判定するするステップと、
従属するタスクが存在するときに、当該従属するタスクを実行するためのユーザインタフェースを構築するステップとを含む、（１）から（３）のいずれかに記載の機器制御方法。
【０２１６】
（５）  コンテンツと、前記コンテンツに関連して実行可能なタスクに関するタスク情報とを受けて前記コンテンツに関連するタスクを実行するためのシステムにおいて、前記システムに含まれる機器を制御するための機器制御装置であって、前記タスク情報は、タスクをユーザが選択して実行するために用いられるユーザインタフェース部品を特定する情報と、前記コンテンツに関連して当該タスクにより提供される機能に関する情報と、前記タスクに関連する入出力装置の種別を特定する情報とを含み、
前記システムに含まれる機器は、
自己の持つ機能を特定するための機能情報を記憶する第１の記憶手段と、
自己の持つ入出力装置を特定するための入出力情報を記憶する第２の記憶手段とを含み、
前記機器制御装置は、
前記システム内の全ての前記機器の前記第１および第２の記憶手段の内容に基づいて、各機器が有する機能および入出力装置を、各機能および各入出力装置を有する機器と関連付けて管理するための管理手段と、
前記システム内に含まれるコンテンツの一つを選択するためのユーザインタフェースを構築するための第１のユーザインタフェース構築手段と、
選択されたコンテンツに対応するタスク情報のうち、ユーザインタフェース部品を特定する情報に基づいて、ユーザに提示して、選択されたコンテンツに対して実行可能なタスクうちのいずれかを選択させるためのユーザインタフェースを構築するための第２のユーザインタフェース構築手段と、
前記第２のユーザインタフェースを用いて選択されたタスクに対応するタスク情報によって特定される機能に関する情報と、前記入出力装置の種別を特定する情報と、前記管理手段による管理に基づいて、前記選択されたタスクを実行するように前記システムに含まれる機器を制御するための機器制御手段とを含む、機器制御装置。
【０２１７】
（６）  さらに、前記システムに含まれる複数個の機器によって、同じ機能が複数個提供されることを検出するための手段と、
前記複数個提供された機能のうちの一つをユーザに選択させるためのユーザインタフェースを構築するための第３のユーザインタフェース構築手段を含む、（５）に記載の機器制御装置。
【０２１８】
（７）  さらに、前記システムに含まれる複数個の機器によって、同じ入出力装置が複数個提供されることを検出するための手段と、
前記複数個提供された入出力装置のうちの一つをユーザに選択させるためのユーザインタフェースを構築するための第３のユーザインタフェース構築手段を含む、（５）に記載の機器制御装置。
【０２１９】
（８）  前記タスク情報はさらに、当該タスクが他のコンテンツに従属する従属タスクか否かを特定するための情報をさらに含み、
前記機器制御装置はさらに、前記選択されたコンテンツに従属する従属タスクを検索するための手段を含み、
前記第２のユーザインタフェース構築手段は、さらに、検索された従属タスクのタスク情報によって特定されるユーザインタフェースをも構築する、（５）に記載の機器制御装置。
【０２２０】
（９）  さらに、前記第２のユーザインタフェース構築手段によって構築されたユーザインタフェースを用いたユーザによるタスクの選択を受けて、選択されたタスクを特定する情報を前記機器制御手段に与えるための入力手段を含む、（５）に記載の機器制御装置。
【０２２１】
（１）に記載の発明にかかる機器制御方法は、コンテンツ名と、コンテンツに関連して実行可能なタスクに関するタスク情報とを含むコンテンツ情報を準備するステップと、ユーザインタフェースを用いてコンテンツをユーザに選択させるコンテンツ選択ステップと、コンテンツ選択ステップにより選択されたコンテンツに関連して実行可能なタスクのいずれかを、ユーザインタフェースを用いてユーザに選択させるタスク選択ステップと、タスク選択ステップにより選択されたタスクに対応する処理を実行するステップとを含む。
【０２２２】
この方法によれば、ユーザがコンテンツを選択すると、そのコンテンツに関連して実行可能なタスクのみがユーザによって選択可能になる。ユーザにとって操作が容易となる。
【０２２３】
（２）に記載の発明にかかる機器制御方法は、（１）に記載の発明の構成に加えて、タスク情報は、コンテンツに対して行なわれるタスクのタスク名を特定する情報と、タスクをユーザが選択して実行するために用いられるユーザインタフェース部品を特定するユーザインタフェース情報とを含み、タスク選択ステップは、コンテンツ選択ステップによって選択されたコンテンツに対応するコンテンツ情報内のタスク情報に含まれるユーザインタフェース情報を用いてユーザインタフェースを構築するステップと、構築されたユーザインタフェースを用いて、タスクのいずれかをユーザに選択させるステップとを含む。
【０２２４】
予めユーザインタフェースがタスク情報に含まれているため、タスクを選択するユーザインタフェースの構築が容易になり、あわせてコンテンツによらない汎用的なシステムが構築できる。
【０２２５】
（３）に記載の発明にかかる機器制御方法は、（２）に記載の発明の構成に加えて、タスク情報はさらに、タスクに関連して提供される機能に関する機能情報と、タスクに関連する入出力装置の種別を特定する入出力装置情報とを含み、機器制御方法はさらに、システム内に存在する各機器が提供する機能および各機器が有する入出力装置の種別に関する情報を収集するステップを含み、実行するステップは、選択されたタスクに関連する機能情報および入出力装置情報に基づいて、タスクを実行するための機器を決定するステップと、決定された機器を機能情報および入出力装置情報に基づいて制御するステップとを含む。
【０２２６】
選択されたタスクに基づいて、それを実行するための機器が自動的に選択され制御されるので、ユーザはシステム内に含まれる機器の機能の組合せを考慮するする必要がない。
【０２２７】
（４）に記載の発明にかかる機器制御方法は、（１）〜（３）のいずれかに記載の発明の構成に加えて、タスク情報は、当該タスクが他のコンテンツに従属する従属タスクか否かを特定するための情報をさらに含み、さらに、コンテンツ選択ステップによって選択されたコンテンツに従属する、他のコンテンツのタスクが存在するか否かを判定するするステップと、従属するタスクが存在するときに、当該従属するタスクを実行するためのユーザインタフェースを構築するステップとを含む。
【０２２８】
あるコンテンツを選択すると、そのコンテンツのためのタスクのみならず、そのコンテンツに従属する、他のコンテンツのタスクも制御可能となり、ユーザは複数個の機器について、複雑な制御を意識する必要がなくなる。
【０２２９】
（５）に記載の発明にかかる機器制御装置は、コンテンツと、コンテンツに関連して実行可能なタスクに関するタスク情報とを受けてコンテンツに関連するタスクを実行するためのシステムにおいて、システムに含まれる機器を制御するための機器制御装置であって、タスク情報は、タスクをユーザが選択して実行するために用いられるユーザインタフェース部品を特定する情報と、コンテンツに関連して当該タスクにより提供される機能に関する情報と、タスクに関連する入出力装置の種別を特定する情報とを含み、システムに含まれる機器は、自己の持つ機能を特定するための機能情報を記憶する第１の記憶手段と、自己の持つ入出力装置を特定するための入出力情報を記憶する第２の記憶手段とを含み、機器制御装置は、システム内の全ての機器の第１および第２の記憶手段の内容に基づいて、各機器が有する機能および入出力装置を、各機能および各入出力装置を有する機器と関連付けて管理するための管理手段と、システム内に含まれるコンテンツの一つを選択するためのユーザインタフェースを構築するための第１のユーザインタフェース構築手段と、選択されたコンテンツに対応するタスク情報のうち、ユーザインタフェース部品を特定する情報に基づいて、ユーザに提示して、選択されたコンテンツに対して実行可能なタスクうちのいずれかを選択させるためのユーザインタフェースを構築するための第２のユーザインタフェース構築手段と、第２のユーザインタフェースを用いて選択されたタスクに対応するタスク情報によって特定される機能に関する情報と、入出力装置の種別を特定する情報と、管理手段による管理に基づいて、選択されたタスクを実行するようにシステムに含まれる機器を制御するための機器制御手段とを含む。
【０２３０】
コンテンツを選択すると、そのコンテンツに対応したタスクのみがユーザにとって選択可能となる。ユーザはコンテンツを実行するための機能について考慮することなく、適切な指示を容易に行なうことができる。
【０２３１】
（６）に記載の発明にかかる機器制御装置は、請求項５に記載の発明の構成に加えて、さらに、システムに含まれる複数個の機器によって、同じ機能が複数個提供されることを検出するための手段と、複数個提供された機能のうちの一つをユーザに選択させるためのユーザインタフェースを構築するための第３のユーザインタフェース構築手段を含む。
【０２３２】
システム内に同じ機能が複数個ある場合に、そのうちの一つを選択するためのユーザインタフェースが自動的に構築されるため、ユーザは容易に一つの機能を選択でき、それによって適切に各機器を制御できる。
【０２３３】
（７）に記載の発明にかかる機器制御装置は、請求項５に記載の発明の構成に加えて、さらに、システムに含まれる複数個の機器によって、同じ入出力装置が複数個提供されることを検出するための手段と、複数個提供された入出力装置のうちの一つをユーザに選択させるためのユーザインタフェースを構築するための第３のユーザインタフェース構築手段を含む。
【０２３４】
システム内に同じ種類の入出力装置を持つ機器が複数個ある場合に、そのうちの一つを選択するためのユーザインタフェースが自動的に構築されるため、ユーザは容易に一つの入出力装置を持つ機器を選択でき、それによって適切に各機器を制御できる。
【０２３５】
（８）に記載の発明にかかる機器制御装置は、請求項５に記載の発明の構成に加えて、タスク情報はさらに、当該タスクが他のコンテンツに従属する従属タスクか否かを特定するための情報をさらに含み、機器制御装置はさらに、選択されたコンテンツに従属する従属タスクを検索するための手段を含み、第２のユーザインタフェース構築手段は、さらに、検索された従属タスクのタスク情報によって特定されるユーザインタフェースをも構築する。
【０２３６】
あるコンテンツを選択すると、そのコンテンツのためのタスクのみならず、そのコンテンツに従属する、他のコンテンツのタスクも制御可能となり、ユーザは複数個の機器について、複雑な制御を意識する必要がなくなる。
【０２３７】
（９）に記載の発明にかかる機器制御装置は、請求項５に記載の発明の構成に加えて、さらに、第２のユーザインタフェース構築手段によって構築されたユーザインタフェースを用いたユーザによるタスクの選択を受けて、選択されたタスクを特定する情報を機器制御手段に与えるための入力手段を含む。
【０２３８】
以上、今回開示した上記各実施の形態はすべての点で例示であって制限的なものではない。本発明の技術的範囲は上記各実施の形態に限定されるものではなく、特許請求の範囲によって画定され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２３９】
【図１】本発明の機器制御方法を適用したホームネットワーク１０３と、それを使用するユーザを示す外観図である。
【図２】リモートコントローラ１０２の拡大図である。
【図３】リモートコントローラ１０２の構成図である。
【図４】サーバ１０４以外の機器１０５〜１０８の構成図である。
【図５】ＴＶの機器情報が記述されたファイルAppliance.xmlを示す図である。
【図６】ＤＶＤの機器情報が記述されたファイルAppliance.xmlを示す図である。
【図７】ＴＶの機能情報が記述されたファイルFunction.xmlを示す図である。
【図８】ＤＶＤの機能情報が記述されたファイルFunction.xmlを示す図である。
【図９】ＴＶのＩＯデバイス情報が記述されたファイルIO-Device.xmlを示す図である。
【図１０】ＤＶＤのＩＯデバイス情報が記述されたファイルIO-Device.xmlを示す図である。
【図１１】ＴＶの持つコンテンツのコンテンツ情報が記述されたファイルを示す図である。
【図１２】ＤＶＤの持つコンテンツのコンテンツ情報が記述されたファイルであるContent-1.xmlを示す図である。
【図１３】サーバ１０４の構成図である。
【図１４】サーバ１０４の機器情報が記述されたファイルAppliance.xmlを示す図である。
【図１５】サーバ１０４の機器管理表４０５の状態を示す図である。
【図１６】サーバ１０４のコンテンツ管理表４０６の状態を示す図である。
【図１７】サーバ１０４の機能管理表４０７の状態を示す図である。
【図１８】サーバ１０４のＩＯデバイス管理表４０８の状態を示す図である。
【図１９】サーバ１０４のタスク管理表４０９の状態を示す図である。
【図２０】リモートコントローラ１０２の拡大図である。
【図２１】リモートコントローラ１０２の拡大図である。
【図２２】リモコンに対するユーザの入力により起因する処理のうち、リモートコントローラ１０２において行なわれる処理の流れを示す図である。
【図２３】リモコンに対するユーザの入力により起因する処理のうち、サーバ１０４で行なわれる処理の流れを示す図である。
【図２４】ホームネットワーク１０３に発生するイベントにより起因する処理の流れを示す図である。
【図２５】選択されたコンテンツに対して実行可能なタスクを選択するアルゴリズムを示す図である。
【図２６】選択されたコンテンツに対して実行可能なタスクを選択するアルゴリズムを示す図である。
【図２７】実行可能であると選択されたタスクに対応したユーザインタフェースをリモコンに表示するアルゴリズムを示す図である。
【図２８】実行可能であると選択されたタスクに対応したユーザインタフェースをリモコンに表示するアルゴリズムを示す図である。
【図２９】ホームネットワーク１０３で扱えるコンテンツをリモコンで選択するユーザインタフェースを表示するアルゴリズムを示す図である。
【図３０】ホームネットワーク１０３で扱えるコンテンツをリモコンで選択するユーザインタフェースを表示するアルゴリズムを示す図である。
【図３１】ホームネットワーク１０３で重複する機能またはＩＯデバイスをリモコンに伝えるアルゴリズムを示す図である。
【図３２】ホームネットワーク１０３で重複する機能またはＩＯデバイスをリモコンに伝えるアルゴリズムを示す図である。
【図３３】ホームネットワーク１０３に新たにＶＣＲ１０７が接続された状態を示す図である。
【図３４】ＶＣＲ１０７の機器情報が記述されたファイルAppliance.xmlを示す図である。
【図３５】ＶＣＲ１０７の機能情報が記述されたファイルFunction.xmlを示す図である。
【図３６】ＶＣＲ１０７のＩＯデバイス情報が記述されたファイルIO-Device.xmlを示す図である。
【図３７】ＶＣＲ１０７の持つコンテンツのコンテンツ情報が記述されたファイルであるContent-1.xmlを示す図である。
【図３８】サーバ１０４の機器管理表４０５の状態を示す図である。
【図３９】サーバ１０４のコンテンツ管理表４０６の状態を示す図である。
【図４０】サーバ１０４の機能管理表４０７の状態を示す図である。
【図４１】サーバ１０４のＩＯデバイス管理表４０８の状態を示す図である。
【図４２】サーバ１０４のタスク管理表４０９の状態を示す図である。
【図４３】リモートコントローラ１０２の拡大図である。
【図４４】リモートコントローラ１０２の拡大図である。
【図４５】ホームネットワーク１０３に新たにＬＣＤ１０８が接続された状態を示す図である。
【図４６】ＬＣＤ１０８の機器情報が記述されたファイルAppliance.xmlを示す図である。
【図４７】ＬＣＤ１０８の機能情報が記述されたファイルFunction.xmlを示す図である。
【図４８】ＬＣＤ１０８のＩＯデバイス情報が記述されたファイルIO-Device.xmlを示す図である。
【図４９】サーバ１０４の機器管理表４０５の状態を示す図である。
【図５０】サーバ１０４の機能管理表４０７の状態を示す図である。
【図５１】サーバ１０４のＩＯデバイス管理表４０８の状態を示す図である。
【図５２】リモートコントローラ１０２の拡大図である。
【図５３】リモートコントローラ１０２の拡大図である。
【図５４】リモートコントローラ１０２の拡大図である。
【符号の説明】
【０２４０】
１０２  リモートコントローラ、１０３  ホームネットワーク、１０４  サーバ、１０５  テレビジョン受像機、１０６  ＤＶＤプレーヤ、１０７  ビデオカセットレコーダ、４０５  機器管理表、４０６  コンテンツ管理表、４０７  機能管理表、４０８  ＩＯデバイス管理表、４０９  タスク管理表、４１０  機器情報。
【図１】
2005223931.tif 000003
【図２】
2005223931.tif 000004
【図３】
2005223931.tif 000005
【図４】
2005223931.tif 000006
【図５】
2005223931.tif 000007
【図６】
2005223931.tif 000008
【図７】
2005223931.tif 000009
【図８】
2005223931.tif 000010
【図９】
2005223931.tif 000011
【図１０】
2005223931.tif 000012
【図１１】
2005223931.tif 000013
【図１２】
2005223931.tif 000014
【図１３】
2005223931.tif 000015
【図１４】
2005223931.tif 000016
【図１５】
2005223931.tif 000017
【図１６】
2005223931.tif 000018
【図１７】
2005223931.tif 000019
【図１８】
2005223931.tif 000020
【図１９】
2005223931.tif 000021
【図２０】
2005223931.tif 000022
【図２１】
2005223931.tif 000023
【図２２】
2005223931.tif 000024
【図２３】
2005223931.tif 000025
【図２４】
2005223931.tif 000026
【図２５】
2005223931.tif 000027
【図２６】
2005223931.tif 000028
【図２７】
2005223931.tif 000029
【図２８】
2005223931.tif 000030
【図２９】
2005223931.tif 000031
【図３０】
2005223931.tif 000032
【図３１】
2005223931.tif 000033
【図３２】
2005223931.tif 000034
【図３３】
2005223931.tif 000035
【図３４】
2005223931.tif 000036
【図３５】
2005223931.tif 000037
【図３６】
2005223931.tif 000038
【図３７】
2005223931.tif 000039
【図３８】
2005223931.tif 000040
【図３９】
2005223931.tif 000041
【図４０】
2005223931.tif 000042
【図４１】
2005223931.tif 000043
【図４２】
2005223931.tif 000044
【図４３】
2005223931.tif 000045
【図４４】
2005223931.tif 000046
【図４５】
2005223931.tif 000047
【図４６】
2005223931.tif 000048
【図４７】
2005223931.tif 000049
【図４８】
2005223931.tif 000050
【図４９】
2005223931.tif 000051
【図５０】
2005223931.tif 000052
【図５１】
2005223931.tif 000053
【図５２】
2005223931.tif 000054
【図５３】
2005223931.tif 000055
【図５４】
2005223931.tif 000056