(57)【特許請求の範囲】
【請求項１】
ネットワークによって相互に接続された複数の機器を制御するための機器制御方法であって、
前記接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を、各機能および各入出力装置を有する機器と関連付けて管理するための管理ステップと、
ユーザにコンテンツを選択させるコンテンツ選択ステップと、
該コンテンツ選択ステップにより選択されたコンテンツが制御可能なタスクである選択コンテンツ制御タスクを一覧表示し、ユーザに前記選択コンテンツ制御タスクの制御指示を入力させるタスク制御指示入力ステップと、
機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が前記接続された複数の機器に重複して存在することを検知する重複検知ステップと、
該重複検知ステップにより、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が前記接続された複数の機器に重複して存在することが検知された場合に、当該重複して存在するうちのいずれかをユーザに選択させる重複選択ステップとを備え、
前記管理ステップは、
前記接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を収集し更新記憶する機器情報記憶ステップと、
前記重複選択ステップにより選択された結果を記憶するユーザ選択記憶ステップとを備え、
前記タスク制御指示入力ステップにより、ユーザに制御指示入力させるに際して、前記選択コンテンツ制御タスクに含まれる同一種別の機能または前記選択コンテンツ制御タスクに含まれる同一種別の入出力装置が前記接続された複数の機器に重複存在する場合は、既に前記ユーザ選択記憶ステップにより記憶されている方が選択されることを特徴とする、機器制御方法。
【請求項２】
前記タスク制御指示入力ステップにより、ユーザに制御指示入力させるに際して、機器が提供する同一種別の機能であって前記選択コンテンツ制御タスクに含まれる同一種別の機能または機器が有する同一種別の入出力装置であって前記選択コンテンツ制御タスクに含まれる同一種別の入出力装置が前記接続された複数の機器に重複して存在する場合において、未だ前記ユーザ選択記憶ステップに重複して存在するうちのいずれを選択するかが記憶されていない場合は、重複して存在するうちの最初に見つかった方が選択されることを特徴とする、請求項１に記載の機器制御方法。
【請求項３】
前記機器情報記憶ステップは、前記ネットワークに接続された機器の接続に変動が生じたとき、前記ネットワークに接続された各機器が提供する機能の種別に関する情報、および各機器が有する入出力装置の種別に関する情報を収集し更新記憶し、
さらに、前記ユーザ選択記憶ステップは、前記重複検知ステップにより、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が前記接続された複数の機器に重複して存在することが検知され、前記重複選択ステップによりユーザが当該重複して存在するうちのいずれを使用するかを選択した場合に、当該選択された内容に更新して記憶することを特徴とする、請求項１または請求項２に記載の機器制御方法。
【請求項４】
ネットワークによって相互に接続された複数の機器を制御するための機器制御装置であって、
前記接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を、各機能および各入出力装置を有する機器と関連付けて管理するための管理手段と、
ユーザにコンテンツを選択させるコンテンツ選択手段と、
該コンテンツ選択手段により選択されたコンテンツが制御可能なタスクである選択コンテンツ制御タスクを一覧表示し、ユーザに前記選択コンテンツ制御タスクの制御指示を入力させるタスク制御指示入力手段と、
機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が前記接続された複数の機器に重複して存在することを検知する重複検知手段と、
該重複検知手段により、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が前記接続された複数の機器に重複して存在することが検知された場合に、当該重複して存在するうちのいずれかをユーザに選択させる重複選択手段とを備え、
前記管理手段は、
前記接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を収集し更新記憶する機器情報記憶手段と、
前記重複選択手段により選択された結果を記憶するユーザ選択記憶手段とを備え、
前記タスク制御指示入力手段により、ユーザに制御指示入力させるに際して、前記選択コンテンツ制御タスクに含まれる同一種別の機能または前記選択コンテンツ制御タスクに含まれる同一種別の入出力装置が前記接続された複数の機器に重複して存在する場合は、既に前記ユーザ選択記憶手段により記憶されている方が選択されることを特徴とする、機器制御装置。
【請求項５】
前記タスク制御指示入力手段により、ユーザに制御指示入力させるに際して、機器が提供する同一種別の機能であって前記選択コンテンツ制御タスクに含まれる同一種別の機能または機器が有する同一種別の入出力装置であって前記選択コンテンツ制御タスクに含まれる同一種別の入出力装置が、前記接続された複数の機器に重複して存在する場合において、未だ前記ユーザ選択記憶手段により重複して存在するうちのいずれを選択するかが記憶されていない場合は、重複して存在するうちの最初に見つかった方が選択されることを特徴とする、請求項４に記載の機器制御装置。
【請求項６】
前記機器情報記憶手段は、前記ネットワークに接続された機器の接続に変動が生じたとき、前記ネットワークに接続された各機器が提供する機能の種別に関する情報、および各機器が有する入出力装置の種別に関する情報を収集し更新記憶し、
さらに、前記ユーザ選択記憶手段は、前記重複検知手段により、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が前記接続された複数の機器に重複して存在することが検知され、前記重複選択手段によりユーザが当該重複して存在するうちのいずれを使用するかを選択した場合に、当該選択された内容に更新して記憶することを特徴とする、請求項４または請求項５に記載の機器制御装置。
【請求項７】
ネットワークによって相互に接続された複数の機器を制御するための機器制御方法であって、
前記接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を、各機能および各入出力装置を有する機器と関連付けて管理するための管理ステップと、
ユーザにコンテンツを選択させるコンテンツ選択ステップと、
該コンテンツ選択ステップにより選択可能なコンテンツと、その中から選択されたコンテンツがどれであるかを表示する選択コンテンツ表示と、該選択されたコンテンツが制御可能なタスクである選択コンテンツ制御タスクとを一覧表示し、ユーザに前記選択コンテンツ制御タスクの制御指示を入力させるタスク制御指示入力ステップと、
機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が前記接続された複数の機器に重複して存在することを検知する重複検知ステップと、
該重複検知ステップにより、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が前記接続された複数の機器に重複して存在することが検知された場合に、当該重複して存在するうちのいずれかをユーザに選択させる重複選択ステップとを備え、
前記管理ステップは、
前記接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を収集し更新記憶する機器情報記憶ステップと、
前記重複選択手段により選択された結果を記憶するユーザ選択記憶ステップとを備え、
前記重複選択ステップは、前記重複検知ステップにより前記接続された複数の機器に、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が重複して存在することが検知された場合に、ユーザに重複して存在するうちのいずれかを選択させるためのクリック部を前記タスク制御指示入力ステップの画面に表示し、
ユーザが前記クリック部をクリックすると、前記タスク制御指示入力ステップの画面上に、重複して存在するうちのいずれかを選択させるための選択肢が表示されたダイアログが表示され、ユーザが重複して存在するうちのいずれかを選択し得ることを特徴とする、機器制御方法。
【請求項８】
前記ダイアログには、重複して存在する同一種別の機能または重複して存在する同一種別の入出力装置を表示してユーザに重複して存在するうちのいずれかを選択させるためのユーザインタフェース部分と、当該選択された同一種別の機能または同一種別の入出力装置に関し、重複して存在するうちのいずれの機器を使用するかをユーザに選択させるためのユーザインタフェース部分とを含むことを特徴とする、請求項７に記載の機器制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テレビやビデオといった家庭電化機器を制御する方法およびそうした方法に適合した家庭電化機器に関し、特に、家庭内ネットワークによって相互に接続された家庭電化機器を簡単なユーザインタフェースで連携して動作させるための方法ならびにその方法を実現するための制御装置に関する。
【０００２】
【従来の技術】
近年、テレビやビデオに代表される家庭電化機器はいずれも非常に多くの機能を持つようになっている。さらに、最近のパーソナルコンピュータに代表されるデジタル技術の進展により、家庭電化機器を相互にネットワークに接続することが多くなり、ネットワーク接続機能を有する家庭電化機器も登場しつつある。
【０００３】
このように多くの家庭電化機器がネットワークにより相互に接続された場合、複数の機器間にまたがる機能も当然考えることができ、現に採用されつつある。ところがこの場合、機器を使用するユーザは多くの機器の組合せから生ずる非常に多くの機能の中からユーザが実行したい機能を能動的に選択する必要がある。そのため、単体の機器が持つ多くの機能と、ネットワークで接続された機器間にまたがる多様な組合せの機能とを共にできるだけ容易に取り扱うことができるように、というユーザの要望が増加している。
【０００４】
複数の機器が連携して動作するネットワークにおいて、複数の機器にまたがる機能を制御する方法として従来から提案されているものに、特開平９−４４９７１号公報に開示されたビデオＣＤ（Ｃｏｍｐａｃｔ−Ｄｉｓｃ）再生装置がある。この装置では、ネットワークに接続された周辺機器を制御するための情報をビデオのコンテンツに付加しておき、そのビデオＣＤの再生時には、そのコンテンツに付加されていた制御情報に基づき、特定の時間に、そのビデオＣＤ再生装置にネットワーク接続された電子ピアノを自動演奏させたり、ブザーを鳴らしたりすることを可能としている。
【０００５】
また、従来の家庭電化機器を扱うインタフェースは、機器の持つ数多くの機能に対応するため、非常に多くのボタンを持ったリモートコントローラを装備している。こうした従来のリモートコントローラを、ネットワーク接続された複数個の機器を制御するために使用することが当然に考えられる。
【０００６】
【発明が解決しようとする課題】
しかし、上記した従来技術では、ネットワーク上の周辺機器の接続状態を一切考慮せずに、コンテンツに与えられた制御情報を周辺機器に送っている。そのため仮にコンテンツに与えられた情報により制御されるべき機器がネットワークに接続されていない場合であっても、その機器を制御したものとみなして処理を行なっており、実際の接続状態を反映した適切な処理を行なうものとはなっていない。したがって、コンテンツが必要とする機能が実行できないにも関わらず、その機能が実行されているものとしてコンテンツが処理（再生など）される可能性がある。その場合、当該コンテンツはその製作時に意図された態様とは異なる態様で処理されることとなり、その結果そのコンテンツを利用するユーザが混乱する可能性が高い、という課題があった。
【０００７】
また、上記したように各機器が多くの機能を有すること、および機器の組合せが多様なことにより、単独のリモートコントローラなどのインタフェースを用いて各機器を適切に、かつ容易に制御することができるようにすることは非常に困難である。特に従来の家庭電化機器を制御するためのリモコンでは、対応の機器が持つ特定の機能に対応したボタンが必ず存在する。そのため、ユーザが使用しているコンテンツに対してユーザが実行可能でない機能であっても、その機能に対応するボタンが存在しているためにその機能が選択可能であるかのように見える。このため、ユーザは実際にはどの機能が使用出来るのかが分からず混乱する可能性が高い、という課題があった。
【０００８】
本発明は、上記課題を解決するためになされたものであり、その目的は、ユーザが使用するコンテンツとネットワークにおける機器の接続状態に応じて、ユーザがコンテンツに対して実行可能なタスクのみを選択実行できる機器制御方法を提供することである。
【０００９】
他の目的は、ネットワークで使用できるコンテンツとネットワークにおける機器の接続状態に応じて、ユーザが簡単な操作で使用したいコンテンツを選択でき、選択したコンテンツに対して実行できるタスクのみを選択できるユーザインタフェースを提供することである。
【００２５】
【課題を解決するための手段】
請求項１に記載の発明にかかる機器制御方法は、ネットワークによって相互に接続された複数の機器を制御するための機器制御方法であって、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を、各機能および各入出力装置を有する機器と関連付けて管理するための管理ステップと、ユーザにコンテンツを選択させるコンテンツ選択ステップと、コンテンツ選択ステップにより選択されたコンテンツが制御可能なタスクである選択コンテンツ制御タスクを一覧表示し、ユーザに選択コンテンツ制御タスクの制御指示を入力させるタスク制御指示入力ステップと、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することを検知する重複検知ステップと、重複検知ステップにより、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知された場合に、当該重複して存在するうちのいずれかをユーザに選択させる重複選択ステップとを備え、管理ステップは、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を収集し更新記憶する機器情報記憶ステップと、重複選択ステップにより選択された結果を記憶するユーザ選択記憶ステップとを備え、タスク制御指示入力ステップにより、ユーザに制御指示入力させるに際して、選択コンテンツ制御タスクに含まれる同一種別の機能または選択コンテンツ制御タスクに含まれる同一種別の入出力装置が接続された複数の機器に重複存在する場合は、既にユーザ選択記憶ステップにより記憶されている方が選択される。
請求項２に記載の発明にかかる機器制御方法は、請求項１に記載の発明の構成に加えて、タスク制御指示入力ステップにより、ユーザに制御指示入力させるに際して、機器が提供する同一種別の機能であって選択コンテンツ制御タスクに含まれる同一種別の機能または機器が有する同一種別の入出力装置であって選択コンテンツ制御タスクに含まれる同一種別の入出力装置が接続された複数の機器に重複して存在する場合において、未だユーザ選択記憶ステップに重複して存在するうちのいずれを選択するかが記憶されていない場合は、重複して存在するうちの最初に見つかった方が選択される。
請求項３に記載の発明にかかる機器制御方法は、請求項１または請求項２に記載の発明の構成に加えて、機器情報記憶ステップは、ネットワークに接続された機器の接続に変動が生じたとき、ネットワークに接続された各機器が提供する機能の種別に関する情報、および各機器が有する入出力装置の種別に関する情報を収集し更新記憶し、さらに、ユーザ選択記憶ステップは、重複検知ステップにより、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知され、重複選択ステップによりユーザが、当該重複して存在するうちのいずれを使用するかを選択した場合に、当該選択された内容に更新して記憶する。
請求項４に記載の発明にかかる機器制御装置は、ネットワークによって相互に接続された複数の機器を制御するための機器制御装置であって、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を、各機能および各入出力装置を有する機器と関連付けて管理するための管理手段と、ユーザにコンテンツを選択させるコンテンツ選択手段と、コンテンツ選択手段により選択されたコンテンツが制御可能なタスクである選択コンテンツ制御タスクを一覧表示し、ユーザに選択コンテンツ制御タスクの制御指示を入力させるタスク制御指示入力手段と、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することを検知する重複検知手段と、重複検知手段により、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知された場合に、当該重複して存在するうちのいずれかをユーザに選択させる重複選択手段とを備え、管理手段は、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を収集し更新記憶する機器情報記憶手段と、重複選択手段により選択された結果を記憶するユーザ選択記憶手段とを備え、タスク制御指示入力手段により、ユーザに制御指示入力させるに際して、選択コンテンツ制御タスクに含まれる同一種別の機能または選択コンテンツ制御タスクに含まれる同一種別の入出力装置が接続された複数の機器に重複して存在する場合は、既にユーザ選択記憶手段により記憶されている方が選択される。
請求項５に記載の発明にかかる機器制御装置は、請求項４に記載の発明の構成に加えて、タスク制御指示入力手段により、ユーザに制御指示入力させるに際して、機器が提供する同一種別の機能であって選択コンテンツ制御タスクに含まれる同一種別の機能または機器が有する同一種別の入出力装置であって選択コンテンツ制御タスクに含まれる同一種別の入出力装置が、接続された複数の機器に重複して存在する場合において、未だユーザ選択記憶手段により重複して存在するうちのいずれを選択するかが記憶されていない場合は、重複して存在するうちの最初に見つかった方が選択される。
請求項６に記載の発明にかかる機器制御装置は、請求項４または請求項５に記載の発明の構成に加えて、機器情報記憶手段は、ネットワークに接続された機器の接続に変動が生じたとき、ネットワークに接続された各機器が提供する機能の種別に関する情報、および各機器が有する入出力装置の種別に関する情報を収集し更新記憶し、さらに、ユーザ選択記憶手段は、重複検知手段により、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知され、重複選択手段によりユーザが当該重複して存在するうちのいずれを使用するかを選択した場合に、当該選択された内容に更新して記憶する。
請求項７に記載の発明にかかる機器制御方法は、ネットワークによって相互に接続された複数の機器を制御するための機器制御方法であって、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を、各機能および各入出力装置を有する機器と関連付けて管理するための管理ステップと、ユーザにコンテンツを選択させるコンテンツ選択ステップと、コンテンツ選択ステップにより選択可能なコンテンツと、その中から選択されたコンテンツがどれであるかを表示する選択コンテンツ表示と、該選択されたコンテンツが制御可能なタスクである選択コンテンツ制御タスクとを一覧表示し、ユーザに選択コンテンツ制御タスクの制御指示を入力させるタスク制御指示入力ステップと、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することを検知する重複検知ステップと、重複検知ステップにより、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知された場合に、当該重複して存在するうちのいずれかをユーザに選択させる重複選択ステップとを備え、管理ステップは、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報を収集し更新記憶する機器情報記憶ステップと、重複選択手段により選択された結果を記憶するユーザ選択記憶ステップとを備え、重複選択ステップは、重複検知ステップにより接続された複数の機器に、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が重複して存在することが検知された場合に、ユーザに重複して存在するうちのいずれかを選択させるためのクリック部をタスク制御指示入力ステップの画面に表示し、ユーザがクリック部をクリックすると、タスク制御指示入力ステップの画面上に、重複して存在するうちのいずれかを選択させるための選択肢が表示されたダイアログが表示され、ユーザが重複して存在するうちのいずれかを、選択し得る。
請求項８に記載の発明にかかる機器制御方法は、請求項７に記載の発明の構成に加えて、ダイアログには、重複して存在する同一種別の機能または重複して存在する同一種別の入出力装置を表示してユーザに重複して存在するうちのいずれかを選択させるためのユーザインタフェース部分と、当該選択された同一種別の機能または同一種別の入出力装置に関し、重複して存在するうちのいずれの機器を使用するかをユーザに選択させるためのユーザインタフェース部分とを含む。
請求項１に記載の発明によると、機器制御方法はネットワークによって相互に接続された複数の機器を制御するための機器制御方法である。管理ステップにより、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報が、各機能および各入出力装置を有する機器と関連付けて管理される。コンテンツ選択ステップによりユーザはコンテンツを選択できる。タスク制御指示入力ステップにより、コンテンツ選択ステップで選択されたコンテンツを制御可能なタスクである選択コンテンツ制御タスクが一覧表示され、ユーザは選択コンテンツ制御タスクの制御指示を入力できる。重複検知ステップにより、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知される。重複検知ステップで機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知された場合に、重複選択ステップにより当該重複して存在するうちのいずれかをユーザは選択できる。管理ステップに備えられる機器情報記憶ステップにより、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報が収集され更新記憶される。また、管理ステップに備えられるユーザ選択記憶ステップにより、重複選択ステップで選択された結果が記憶される。タスク制御指示入力ステップにより、ユーザに制御指示入力させるに際して、選択コンテンツ制御タスクに含まれる同一種別の機能または選択コンテンツ制御タスクに含まれる同一種別の入出力装置が接続された複数の機器に重複存在する場合は、既にユーザ選択記憶ステップにより記憶されている方が選択される。
この機器制御方法によれば、ユーザがコンテンツを選択すると、そのコンテンツに関連して実行可能なタスクのみがユーザによって選択可能になる。ユーザにとって操作が容易となる。ユーザはコンテンツを実行するための機能について考慮することなく、適切な指示を容易に行なうことができる。また、システム内に同じ機能または同じ種類の入出力装置を持つ機器が複数個ある場合に、そのうちの一つを選択するための重複選択ステップが構築されるため、ユーザは容易に一つの機能または一つの入出力装置を持つ機器を選択でき、それによって適切に各機器を制御できる。
請求項２に記載の機器制御方法によると、請求項１に記載の発明の作用に加えて、タスク制御指示入力ステップにより、ユーザに制御指示入力させるに際して、機器が提供する同一種別の機能であって選択コンテンツ制御タスクに含まれる同一種別の機能または機器が有する同一種別の入出力装置であって選択コンテンツ制御タスクに含まれる同一種別の入出力装置が接続された複数の機器に重複して存在する場合において、未だユーザ選択記憶ステップに重複して存在するうちのいずれを選択するかが記憶されていない場合は、重複して存在するうちの最初に見つかった方が選択される。
請求項３に記載の機器制御方法によると、請求項１または請求項２に記載の発明の作用に加えて、機器情報記憶ステップにより、ネットワークに接続された機器の接続に変動が生じたとき、ネットワークに接続された各機器が提供する機能の種別に関する情報、および各機器が有する入出力装置の種別に関する情報が収集され更新記憶される。さらに、ユーザ選択記憶ステップにより、重複検知ステップで、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知され、重複選択ステップでユーザが、当該重複して存在するうちのいずれを使用するかを選択した場合に、当該選択された内容に更新して記憶される。
請求項４に記載の発明によると、機器制御装置はネットワークによって相互に接続された複数の機器を制御するための機器制御装置である。管理手段により接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報が、各機能および各入出力装置を有する機器と関連付けて管理される。コンテンツ選択手段によりユーザはコンテンツを選択できる。タスク制御指示入力手段により、コンテンツ選択手段で選択されたコンテンツを制御可能なタスクである選択コンテンツ制御タスクが一覧表示され、ユーザは選択コンテンツ制御タスクの制御指示を入力できる。重複検知手段により、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知される。重複検知手段により、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知された場合に、重複選択手段により当該重複して存在するうちのいずれかをユーザは選択できる。管理手段に備えられる機器情報記憶手段により、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報が収集され更新記憶される。また、管理手段に備えられるユーザ選択記憶手段により、重複選択手段で選択された結果が記憶される。タスク制御指示入力手段により、ユーザに制御指示入力させるに際して、選択コンテンツ制御タスクに含まれる同一種別の機能または選択コンテンツ制御タスクに含まれる同一種別の入出力装置が接続された複数の機器に重複して存在する場合は、既にユーザ選択記憶手段により記憶されている方が選択される。
この機器制御方法によれば、ユーザがコンテンツを選択すると、そのコンテンツに関連して実行可能なタスクのみがユーザによって選択可能になる。ユーザにとって操作が容易となる。ユーザはコンテンツを実行するための機能について考慮することなく、適切な指示を容易に行なうことができる。また、システム内に同じ機能または同じ種類の入出力装置を持つ機器が複数個ある場合に、そのうちの一つを選択するための重複選択手段が構築されるため、ユーザは容易に一つの機能または一つの入出力装置を持つ機器を選択でき、それによって適切に各機器を制御できる。
請求項５に記載の機器制御装置によると、請求項４に記載の発明の作用に加えて、タスク制御指示入力手段により、ユーザに制御指示入力させるに際して、機器が提供する同一種別の機能であって選択コンテンツ制御タスクに含まれる同一種別の機能または機器が有する同一種別の入出力装置であって選択コンテンツ制御タスクに含まれる同一種別の入出力装置が、接続された複数の機器に重複して存在する場合において、未だユーザ選択記憶手段により重複して存在するうちのいずれを選択するかが記憶されていない場合は、重複して存在するうちの最初に見つかった方が選択される。
請求項６に記載の機器制御装置によると、請求項４または請求項５に記載の発明の作用に加えて、機器情報記憶手段により、ネットワークに接続された機器の接続に変動が生じたとき、ネットワークに接続された各機器が提供する機能の種別に関する情報、および各機器が有する入出力装置の種別に関する情報が収集され更新記憶される。さらに、重複検知手段により機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知され、重複選択手段によりユーザが当該重複して存在するうちのいずれを使用するかが選択された場合に、ユーザ選択記憶手段により、当該選択された内容に更新して記憶される。
請求項７に記載の発明によると、機器制御方法はネットワークによって相互に接続された複数の機器を制御するための機器制御方法である。管理ステップにより、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報が、各機能および各入出力装置を有する機器と関連付けて管理される。コンテンツ選択ステップによりユーザはコンテンツを選択できる。タスク制御指示入力ステップにより、コンテンツ選択ステップで選択可能なコンテンツと、その中から選択されたコンテンツがどれであるかを表示する選択コンテンツ表示と、該選択されたコンテンツが制御可能なタスクである選択コンテンツ制御タスクとが一覧表示され、ユーザは選択コンテンツ制御タスクの制御指示を入力できる。重複検知ステップにより、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知される。重複検知ステップで機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が接続された複数の機器に重複して存在することが検知された場合に、重複選択ステップにより当該重複して存在するうちのいずれかをユーザは選択できる。管理ステップに備えられる機器情報記憶ステップにより、接続された複数の機器のそれぞれが提供する機能の種別に関する情報、およびそれぞれが有する入出力装置の種別に関する情報が収集され更新記憶される。管理ステップに備えられるユーザ選択記憶ステップにより重複選択手段で選択された結果が記憶される。重複選択ステップにより、重複検知ステップで接続された複数の機器に、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が重複して存在することが検知された場合に、ユーザに重複して存在するうちのいずれかを選択させるためのクリック部がタスク制御指示入力ステップの画面に表示される。また、重複選択ステップにより、ユーザがクリック部をクリックすると、タスク制御指示入力ステップの画面上に、重複して存在するうちのいずれかを選択させるための選択肢が表示されたダイアログが表示され、ユーザが重複して存在するうちのいずれかを、選択し得る。
この機器制御方法によれば、ユーザがコンテンツを選択すると、そのコンテンツに関連して実行可能なタスクのみがユーザによって選択可能になる。ユーザにとって操作が容易となる。ユーザはコンテンツを実行するための機能について考慮することなく、適切な指示を容易に行なうことができる。また、システム内に同じ機能または同じ種類の入出力装置を持つ機器が複数個ある場合に、そのうちの一つを選択するための重複選択ステップが構築されるため、ユーザは容易に一つの機能または一つの入出力装置を持つ機器を選択でき、それによって適切に各機器を制御できる。
さらに、この機器制御方法によれば、接続された複数の機器に、機器が提供する同一種別の機能または機器が有する同一種別の入出力装置が重複して存在する場合に、タスク制御指示入力ステップの画面にクリック部が表示され、ユーザがクリック部をクリックした場合に、選択肢が表示されたダイアログがタスク制御指示入力ステップの画面に表示され、ユーザが重複して存在するうちのいずれかを選択し得るため、ユーザがコンテンツに対して実行可能なタスクのみを容易に選択して実行することができる。
請求項８に記載の機器制御方法によると、請求項７に記載の発明の作用に加えて、ダイアログには、重複して存在する同一種別の機能または重複して存在する同一種別の入出力装置を表示してユーザに重複して存在するうちのいずれかを選択させるためのユーザインタフェース部分と、当該選択された同一種別の機能または同一種別の入出力装置に関し、重複して存在するうちのいずれの機器を使用するかをユーザに選択させるためのユーザインタフェース部分とが含まれる。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。本実施の形態においては、最初にテレビジョン受像機（以下単に「ＴＶ」と記載する。）とＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｃ）プレーヤとが接続されたネットワークを想定し、さらに、ビデオカセットレコーダ（ＶＣＲ）および液晶表示装置（ＬＣＤ）が順に接続されて、最終的に４つの家庭電化機器がネットワーク化される場面を想定する。
【００２７】
以下に説明する本実施の形態においては、ネットワークに存在する機器、コンテンツ、機能、ＩＯデバイス、タスクに関する情報が、サーバにおいて一元管理されていることを前提とする。しかし本発明はこれには限定されず、こうした情報が各機器に分散されて管理されていても良い。また、以下の説明では管理のための情報はＸＭＬ（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を示す図である。
【図４９】  サーバ１０４の機器管理表４０５の状態を示す図である。
【図５０】  サーバ１０４の機能管理表４０７の状態を示す図である。
【図５１】  サーバ１０４のＩＯデバイス管理表４０８の状態を示す図である。
【図５２】  リモートコントローラ１０２の拡大図である。
【図５３】  リモートコントローラ１０２の拡大図である。
【図５４】  リモートコントローラ１０２の拡大図である。
【符号の説明】
１０２  リモートコントローラ、１０３  ホームネットワーク、１０４  サーバ、１０５  テレビジョン受像機、１０６  ＤＶＤプレーヤ、１０７  ビデオカセットレコーダ、４０５  機器管理表、４０６  コンテンツ管理表、４０７  機能管理表、４０８  ＩＯデバイス管理表、４０９  タスク管理表、４１０  機器情報。
【図１】
0003837002.tif 000002
【図２】
0003837002.tif 000003
【図３】
0003837002.tif 000004
【図４】
0003837002.tif 000005
【図５】
0003837002.tif 000006
【図６】
0003837002.tif 000007
【図７】
0003837002.tif 000008
【図８】
0003837002.tif 000009
【図９】
0003837002.tif 000010
【図１０】
0003837002.tif 000011
【図１１】
0003837002.tif 000012
【図１２】
0003837002.tif 000013
【図１３】
0003837002.tif 000014
【図１４】
0003837002.tif 000015
【図１５】
0003837002.tif 000016
【図１６】
0003837002.tif 000017
【図１７】
0003837002.tif 000018
【図１８】
0003837002.tif 000019
【図１９】
0003837002.tif 000020
【図２０】
0003837002.tif 000021
【図２１】
0003837002.tif 000022
【図２２】
0003837002.tif 000023
【図２３】
0003837002.tif 000024
【図２４】
0003837002.tif 000025
【図２５】
0003837002.tif 000026
【図２６】
0003837002.tif 000027
【図２７】
0003837002.tif 000028
【図２８】
0003837002.tif 000029
【図２９】
0003837002.tif 000030
【図３０】
0003837002.tif 000031
【図３１】
0003837002.tif 000032
【図３２】
0003837002.tif 000033
【図３３】
0003837002.tif 000034
【図３４】
0003837002.tif 000035
【図３５】
0003837002.tif 000036
【図３６】
0003837002.tif 000037
【図３７】
0003837002.tif 000038
【図３８】
0003837002.tif 000039
【図３９】
0003837002.tif 000040
【図４０】
0003837002.tif 000041
【図４１】
0003837002.tif 000042
【図４２】
0003837002.tif 000043
【図４３】
0003837002.tif 000044
【図４４】
0003837002.tif 000045
【図４５】
0003837002.tif 000046
【図４６】
0003837002.tif 000047
【図４７】
0003837002.tif 000048
【図４８】
0003837002.tif 000049
【図４９】
0003837002.tif 000050
【図５０】
0003837002.tif 000051
【図５１】
0003837002.tif 000052
【図５２】
0003837002.tif 000053
【図５３】
0003837002.tif 000054
【図５４】
0003837002.tif 000055