(57)【要約】【課題】IEEE1394シリアルバスに接続されるコントローラ機器において、バスコンフィグレーション終了後にバス上に流れるデータ量を抑制しつつ、各ターゲット機器の機能情報を格納したリストを作成する。【解決手段】バスリセット後に（Ｓ１でＹＥＳ）、各ターゲット機器からＧＵＩＤを受信したときに（Ｓ２）、そのＧＵＩＤに該当するターゲット機器のレコードを、バスリセット発生直前にバスに接続されていた各ターゲット機器の機能情報を格納した現リストＸ内のレコードから検索して（Ｓ４）、検索することができなかったときに（Ｓ４でＮＯ）、そのＧＵＩＤに該当するターゲット機器のレコードを、過去にバスに接続されていた各ターゲット機器の機能情報を格納したリストＹ内のレコードから検索する。これにより、各ターゲット機器に対して機能の問合せ用のコマンドを送信して、問合せ結果を受信する処理を行う回数を従来よりも減らすことができる。【選択図】図１０
2005167574.tif 000002
【特許請求の範囲】
【請求項１】
IEEE1394シリアルバスを介してネットワークに接続され、
バスリセット発生後に、ネットワーク上の各ターゲット機器から各ターゲット機器固有のＧＵＩＤ（Global Unique Identification）を含む情報を受信するＧＵＩＤ受信手段と、
前記ＧＵＩＤ受信手段により受信したＧＵＩＤを含む情報を記憶する記憶手段と、
前記ＧＵＩＤ受信手段により受信したＧＵＩＤを含む情報の送信元のターゲット機器に対して、各機器が有する機能の問合せ用のコマンドを送信する送信手段と、
前記送信手段により送信した問合せ用のコマンドに対して、問合せ先のターゲット機器から返された問合せ結果を受信する問合せ結果受信手段と、
前記問合せ結果受信手段により受信した問合せ結果に含まれる各ターゲット機器の機能情報に基づいて、各ターゲット機器を制御する制御手段とを備えたIEEE1394シリアルバスに接続されるコントローラ機器において、
前記記憶手段は、
前記ＧＵＩＤ受信手段により受信した各ターゲット機器のＧＵＩＤと、前記問合せ結果受信手段により受信した問合せ結果に含まれる各ターゲット機器の機能情報とに基づいて作成した、前記バスに現在接続されている各ターゲット機器の機能情報のリストである現機能情報リストと、
前記バスに過去に接続されていたターゲット機器の機能情報のリストである旧機能情報リストとをさらに記憶しており、
前記現機能情報リストは、前記バスに現在接続されている各ターゲット機器の機能情報のデータを実際に格納したレコードよりなるリストと、このリスト内のレコードに対するポインタを格納したレコードよりなる環状のリストとから構成され、
バスリセット後に、前記ＧＵＩＤ受信手段により各ターゲット機器からＧＵＩＤを受信したときに、そのＧＵＩＤに該当するターゲット機器のレコードを前記現機能情報リスト内のレコードから検索する第１の検索手段と、
前記第１の検索手段により該当のターゲット機器のレコードを検索することができなかったときに、前記ＧＵＩＤ受信手段により受信したＧＵＩＤに該当するターゲット機器のレコードを前記旧機能情報リスト内のレコードから検索する第２の検索手段と、
前記第１及び第２の検索手段による検索結果に応じて、バスリセット後に、前記現機能情報リスト内のレコードの再作成と前記旧機能情報リスト内のレコードの更新とを行うレコード再作成手段とをさらに備え、
前記レコード再作成手段は、
前記第１の検索手段により該当のターゲット機器のレコードを検索することができたときに、前記現機能情報リストに該当のターゲット機器のレコードを残し、
前記第２の検索手段により該当のターゲット機器のレコードを検索することができたときに、前記旧機能情報リスト内の該当のレコードに基づいて作成したレコードを前記現機能情報リストに追加して、前記旧機能情報リストから該当のレコードを削除し、
前記第２の検索手段により該当のターゲット機器のレコードを検索することができなかったときに、前記ＧＵＩＤ受信手段により受信した各ターゲット機器のＧＵＩＤのみからなる、機器情報が空白のレコードを前記現機能情報リストに追加し、
バスリセット前に前記現機能情報リスト内に格納されていたレコードの中に、前記ＧＵＩＤ受信手段により受信したＧＵＩＤ以外のＧＵＩＤを持つレコードが含まれているときは、該当のレコードを前記現機能情報リストから削除して、
前記現機能情報リストに前記ＧＵＩＤ受信手段により受信した全てのＧＵＩＤに対応したレコードを格納した後に、前記現機能情報リスト内のレコードから、機器情報が空白のレコードを検索し、該当のレコード内のＧＵＩＤに対応したターゲット機器に対して、前記送信手段により該当のターゲット機器が有する機能の問合せ用のコマンドを送信して、前記問合せ結果受信手段により受信した問合せ結果に基づいて、前記現機能情報リスト内における該当のレコードの機能情報の内容を更新するようにしたことを特徴とするIEEE1394シリアルバスに接続されるコントローラ機器。
【請求項２】
IEEE1394シリアルバスを介してネットワークに接続され、
バスリセット発生後に、ネットワーク上の各ターゲット機器から各ターゲット機器固有のＧＵＩＤを含む情報を受信するＧＵＩＤ受信手段と、
前記ＧＵＩＤ受信手段により受信したＧＵＩＤを含む情報を記憶する記憶手段と、
前記ＧＵＩＤ受信手段により受信したＧＵＩＤを含む情報の送信元のターゲット機器に対して、各機器が有する機能の問合せ用のコマンドを送信する送信手段と、
前記送信手段により送信した問合せ用のコマンドに対して、問合せ先のターゲット機器から返された問合せ結果を受信する問合せ結果受信手段と、
前記問合せ結果受信手段により受信した問合せ結果に含まれる各ターゲット機器の機能情報に基づいて、各ターゲット機器を制御する制御手段とを備えたIEEE1394シリアルバスに接続されるコントローラ機器において、
前記記憶手段は、
前記ＧＵＩＤ受信手段により受信した各ターゲット機器のＧＵＩＤと、前記問合せ結果受信手段により受信した問合せ結果に含まれる各ターゲット機器の機能情報とに基づいて作成した、前記バスに現在接続されている各ターゲット機器の機能情報のリストである現機能情報リストと、
前記バスに過去に接続されていたターゲット機器の機能情報のリストである旧機能情報リストとをさらに記憶しており、
バスリセット後に、前記ＧＵＩＤ受信手段により各ターゲット機器からＧＵＩＤを受信したときに、そのＧＵＩＤに該当するターゲット機器のレコードを前記現機能情報リスト内のレコードから検索する第１の検索手段と、
前記第１の検索手段により該当のターゲット機器のレコードを検索することができなかったときに、前記ＧＵＩＤ受信手段により受信したＧＵＩＤに該当するターゲット機器のレコードを前記旧機能情報リスト内のレコードから検索する第２の検索手段とをさらに備えたことを特徴とするIEEE1394シリアルバスに接続されるコントローラ機器。
【請求項３】
前記現機能情報リストは、前記バスに現在接続されている各ターゲット機器の機能情報のデータを実際に格納したレコードよりなるリストと、このリスト内のレコードに対するポインタを格納したレコードよりなる環状のリストとから構成されることを特徴とする請求項２に記載のIEEE1394シリアルバスに接続されるコントローラ機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、IEEE1394シリアルバスに接続されるコントローラ機器に係わり、特に、バス上のトラフィックを減少させる技術に関する。
【背景技術】
【０００２】
従来、IEEE1394シリアルバス（以下、バスと略す）に接続されるコントローラ機器は、バスリセット発生後に、バスに接続されている各ターゲット機器に対して、各機器が有する機能の問合せ用のコマンドを送信し、問合せ先のターゲット機器から返された問合せ結果の情報に基づいて各ターゲット機器の機能情報を格納したリストを作成し、このリストに格納された各ターゲット機器の機能情報に基づいて、各ターゲット機器を制御していた。
【０００３】
また、バスに接続される接続機器の分野において、バスリセットの発生の直前に接続されていた他の接続機器に関するトポロジー情報や、デバイス情報を記憶しておくようにしたものが知られている（例えば、特許文献１及び特許文献２参照）。
【０００４】
しかしながら、上記のような従来のコントローラ機器を用いると、バスコンフィグレーション終了後、バス上に、コントローラ機器から各ターゲット機器への機能の問合せ用のコマンドと、各ターゲット機器からコントローラ機器への問合せ結果の情報とが流れるので、バスコンフィグレーション終了後にバス上に流れるデータ量が多くなるという問題や、バスリセット発生に伴う通常状態への復旧時間が長くなるという問題があった。また、上記特許文献１及び特許文献２に示される接続機器は、他の接続機器の機能情報までは記憶していないので、上記特許文献１及び特許文献２に示される発明をコントローラ機器に適用したとしても、上記の問題を解消することはできない。
【特許文献１】特開２００３−１３４１２１号公報（第１−７頁、図１−７）
【特許文献２】特開２００３−４６５１１号公報（第１−１０頁、図１−１２）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の問題を解決するためになされたものであり、バスコンフィグレーション終了後にバス上に流れるデータ量を抑制しつつ、各ターゲット機器の機能情報を格納したリストを作成することが可能なIEEE1394シリアルバスに接続されるコントローラ機を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために請求項１の発明は、IEEE1394シリアルバスを介してネットワークに接続され、バスリセット発生後に、ネットワーク上の各ターゲット機器から各ターゲット機器固有のＧＵＩＤ（Global Unique Identification）を含む情報を受信するＧＵＩＤ受信手段と、ＧＵＩＤ受信手段により受信したＧＵＩＤを含む情報を記憶する記憶手段と、ＧＵＩＤ受信手段により受信したＧＵＩＤを含む情報の送信元のターゲット機器に対して、各機器が有する機能の問合せ用のコマンドを送信する送信手段と、送信手段により送信した問合せ用のコマンドに対して、問合せ先のターゲット機器から返された問合せ結果を受信する問合せ結果受信手段と、問合せ結果受信手段により受信した問合せ結果に含まれる各ターゲット機器の機能情報に基づいて、各ターゲット機器を制御する制御手段とを備えたIEEE1394シリアルバスに接続されるコントローラ機器において、記憶手段は、ＧＵＩＤ受信手段により受信した各ターゲット機器のＧＵＩＤと、問合せ結果受信手段により受信した問合せ結果に含まれる各ターゲット機器の機能情報とに基づいて作成した、バスに現在接続されている各ターゲット機器の機能情報のリストである現機能情報リストと、バスに過去に接続されていたターゲット機器の機能情報のリストである旧機能情報リストとをさらに記憶しており、現機能情報リストは、バスに現在接続されている各ターゲット機器の機能情報のデータを実際に格納したレコードよりなるリストと、このリスト内のレコードに対するポインタを格納したレコードよりなる環状のリストとから構成され、バスリセット後に、ＧＵＩＤ受信手段により各ターゲット機器からＧＵＩＤを受信したときに、そのＧＵＩＤに該当するターゲット機器のレコードを現機能情報リスト内のレコードから検索する第１の検索手段と、第１の検索手段により該当のターゲット機器のレコードを検索することができなかったときに、ＧＵＩＤ受信手段により受信したＧＵＩＤに該当するターゲット機器のレコードを旧機能情報リスト内のレコードから検索する第２の検索手段と、第１及び第２の検索手段による検索結果に応じて、バスリセット後に、現機能情報リスト内のレコードの再作成と旧機能情報リスト内のレコードの更新とを行うレコード再作成手段とをさらに備え、レコード再作成手段は、第１の検索手段により該当のターゲット機器のレコードを検索することができたときに、現機能情報リストに該当のターゲット機器のレコードを残し、第２の検索手段により該当のターゲット機器のレコードを検索することができたときに、旧機能情報リスト内の該当のレコードに基づいて作成したレコードを現機能情報リストに追加して、旧機能情報リストから該当のレコードを削除し、第２の検索手段により該当のターゲット機器のレコードを検索することができなかったときに、ＧＵＩＤ受信手段により受信した各ターゲット機器のＧＵＩＤのみからなる、機器情報が空白のレコードを現機能情報リストに追加し、バスリセット前に現機能情報リスト内に格納されていたレコードの中に、ＧＵＩＤ受信手段により受信したＧＵＩＤ以外のＧＵＩＤを持つレコードが含まれているときは、該当のレコードを現機能情報リストから削除して、現機能情報リストに���ＵＩＤ受信手段により受信した全てのＧＵＩＤに対応したレコードを格納した後に、現機能情報リスト内のレコードから、機器情報が空白のレコードを検索し、該当のレコード内のＧＵＩＤに対応したターゲット機器に対して、送信手段により該当のターゲット機器が有する機能の問合せ用のコマンドを送信して、問合せ結果受信手段により受信した問合せ結果に基づいて、現機能情報リスト内における該当のレコードの機能情報の内容を更新するようにしたものである。
【０００７】
上記構成においては、バスリセット後に、ＧＵＩＤ受信手段により各ターゲット機器からＧＵＩＤを受信したときに、そのＧＵＩＤに該当するターゲット機器のレコードを、第１の検索手段により現機能情報リスト内のレコードから検索して、検索することができたときに、現機能情報リストに該当のターゲット機器のレコードを残し、検索することができなかったときに、そのＧＵＩＤに該当するターゲット機器のレコードを第２の検索手段により旧機能情報リスト内のレコードから検索する。また、第２の検索手段により検索することができたときに、旧機能情報リスト内の該当のレコードに基づいて作成したレコードを現機能情報リストに追加する。さらにまた、第１及び第２の検索手段により該当のターゲット機器のレコードを検索することができなかったとき、すなわちＧＵＩＤ受信手段により受信したＧＵＩＤに該当するターゲット機器のレコードが、バスリセット発生前の現機能情報リストにも、旧機能情報リストにも存在しなかったときには、ＧＵＩＤ受信手段により受信した各ターゲット機器のＧＵＩＤのみからなる、機器情報が空白のレコードを現機能情報リストに追加しておく。そして、現機能情報リストにＧＵＩＤ受信手段により受信した全てのＧＵＩＤに対応したレコードを格納した後に、現機能情報リスト内のレコードから、機器情報が空白のレコードを検索し、該当のレコード内のＧＵＩＤに対応したターゲット機器のみに対して、送信手段により該当のターゲット機器が有する機能の問合せ用のコマンドを送信して、問合せ結果受信手段により受信した問合せ結果に基づいて、現機能情報リスト内における該当のレコードの機能情報の内容を更新するようにした。これにより、各ターゲット機器に対して機能の問合せ用のコマンドを送信手段により送信して、問合せ先のターゲット機器から問合せ結果を問合せ結果受信手段により受信する処理を行う回数を、従来よりも減らすことができるので、バスリセット発生後にバス上に流れるデータ量を抑制しつつ、バスに現在接続されている各ターゲット機器の機能情報のリストである現機能情報リストを作成することができる。
【０００８】
また、請求項２の発明は、IEEE1394シリアルバスを介してネットワークに接続され、バスリセット発生後に、ネットワーク上の各ターゲット機器から各ターゲット機器固有のＧＵＩＤを含む情報を受信するＧＵＩＤ受信手段と、ＧＵＩＤ受信手段により受信したＧＵＩＤを含む情報を記憶する記憶手段と、ＧＵＩＤ受信手段により受信したＧＵＩＤを含む情報の送信元のターゲット機器に対して、各機器が有する機能の問合せ用のコマンドを送信する送信手段と、送信手段により送信した問合せ用のコマンドに対して、問合せ先のターゲット機器から返された問合せ結果を受信する問合せ結果受信手段と、問合せ結果受信手段により受信した問合せ結果に含まれる各ターゲット機器の機能情報に基づいて、各ターゲット機器を制御する制御手段とを備えたIEEE1394シリアルバスに接続されるコントローラ機器において、記憶手段は、ＧＵＩＤ受信手段により受信した各ターゲット機器のＧＵＩＤと、問合せ結果受信手段により受信した問合せ結果に含まれる各ターゲット機器の機能情報とに基づいて作成した、バスに現在接続されている各ターゲット機器の機能情報のリストである現機能情報リストと、バスに過去に接続されていたターゲット機器の機能情報のリストである旧機能情報リストとをさらに記憶しており、バスリセット後に、ＧＵＩＤ受信手段により各ターゲット機器からＧＵＩＤを受信したときに、そのＧＵＩＤに該当するターゲット機器のレコードを現機能情報リスト内のレコードから検索する第１の検索手段と、第１の検索手段により該当のターゲット機器のレコードを検索することができなかったときに、ＧＵＩＤ受信手段により受信したＧＵＩＤに該当するターゲット機器のレコードを旧機能情報リスト内のレコードから検索する第２の検索手段とをさらに備えたものである。
【０００９】
この構成においては、バスリセット後に、ＧＵＩＤ受信手段により各ターゲット機器からＧＵＩＤを受信したときに、そのＧＵＩＤに該当するターゲット機器のレコードを、第１の検索手段により現機能情報リスト内のレコードから検索し、検索することができなかったときに、そのＧＵＩＤに該当するターゲット機器のレコードを第２の検索手段により旧機能情報リスト内のレコードから検索する。これにより、そのＧＵＩＤに該当するターゲット機器の機能情報を現機能情報リスト又は旧機能情報リストから得ることができる可能性が高くなるので、上記請求項１と同様な作用を得ることができる。
【００１０】
また、請求項３の発明は、請求項２の発明において、現機能情報リストは、バスに現在接続されている各ターゲット機器の機能情報のデータを実際に格納したレコードよりなるリストと、このリスト内のレコードに対するポインタを格納したレコードよりなる環状のリストとから構成されるようにしたものである。
【００１１】
この構成においては、上記請求項２に記載の作用を的確に得ることができる。
【発明の効果】
【００１２】
請求項１の発明によれば、バスに現在接続されている各ターゲット機器の機能情報のリストである現機能情報リストと、バスに過去に接続されていたターゲット機器の機能情報のリストである旧機能情報リストとを記憶しておいて、バスリセット後に、各ターゲット機器からＧＵＩＤを受信したときに、そのＧＵＩＤに該当するターゲット機器の機能情報を、バスリセット発生直前の現機能情報リストと旧機能情報リストとから取得するようにした。これにより、各ターゲット機器に対して機能の問合せ用のコマンドを送信して、問合せ先のターゲット機器から問合せ結果を受信する処理を行う回数を、従来よりも減らすことができるので、バスコンフィグレーション終了後にバス上に流れるデータ量を抑制しつつ、バスに現在接続されている各ターゲット機器の機能情報のリストである現機能情報リストを作成することができ、また、バスリセット発生に伴う通常状態への復旧時間を短縮することができる。これらの効果は、該当のコントローラ機器が制御するターゲット機器の台数が多い場合や、構築済みのIEEE1394ネットワークに対して機器の追加接続や取り外しを行う場合に、より大きくなる。
【００１３】
また、請求項２又は請求項３の発明によれば、上記請求項１と同等の効果を得ることができる。
【発明を実施するための最良の形態】
【００１４】
本発明を実施するための最良の形態について図面を参照して説明する。以下に記載した実施形態は、本発明を網羅するものではなく、本発明は、下記の形態だけに限定されない。図１は、本実施形態によるコントローラ機器と、このコントローラ機器により制御される各ターゲット機器の電気的ブロック構成を示す。コントローラ機器１０（以下、コントローラと略す）は、IEEE1394シリアルバス９（以下、バスと略す）を介して、制御対象となる各ターゲット機器２０ａ，２０ｂ（以下、ターゲット２０と総称する）と接続されている。
【００１５】
上記のコントローラ１０は、装置全体の制御を行うＣＰＵ１１と、各種のデータを記憶するメモリ１２（記憶手段）とを有している。ＣＰＵ１１は、IEEE1394のプロトコル上におけるアプリケーション層の機能の提供も行い、請求項における制御手段としても機能する。また、メモリ１２は、各ターゲット機器の制御に必要となる各ターゲット機器のＧＵＩＤと機能情報とを格納したリストを作成するためのプログラム（機器情報リスト作成プログラム）１３、コントローラ１０自体及びバス９上の他の接続機器に関する各種の情報を格納したレジスタ空間１４、上記の機器情報リスト作成プログラム１３で作成した各種リスト１６等を記憶している。上記のレジスタ空間１４には、自機のＧＵＩＤ等の情報を記憶したコンフィグレーションＲＯＭ１５が格納されている。機器情報リスト作成プログラム１３及びＣＰＵ１１は、請求項における第１の検索手段、第２の検索手段及びレコード再作成手段に相当する。
【００１６】
また、コントローラ１０は、IEEE1394のプロトコル上におけるリンク層レベルのサービスを提供するＬＩＮＫ１７と、物理層レベルのサービスを提供するＰＨＹ１８と、バス９のケーブルを接続するためのIEEE1394ポート１９とを有している。これらのＬＩＮＫ１７、ＰＨＹ１８及びIEEE1394ポート１９は、請求項１におけるＧＵＩＤ受信手段、送信手段及び問合せ結果受信手段に相当する。
【００１７】
上記の各ターゲット２０も、コントローラ１０と同様に、ＣＰＵ２１、メモリ２２、ＬＩＮＫ２７、ＰＨＹ２８、及びIEEE1394ポート２９を有しており、また、メモリ２２内にレジスタ空間２４を内包している。しかし、コントローラ１０と異なり、メモリ２２内に機器情報リスト作成プログラム１３及び各種リスト１６を格納していない。
【００１８】
次に、図２乃至図５を参照して、上記のコントローラ１０のメモリ１２内に格納されている各種リスト１６について説明する。各種リスト１６には、バス９に現在接続されている各ターゲット２０の機能情報のリストである現ポインタリスト３１及び現リストＸ３２（現機能情報リスト）と、バス９に過去に接続されていた各ターゲット２０の機能情報のリストであるリストＹ３３（旧機能情報リスト）とが含まれている。現リストＸ３２は、図４に示されるように、バス９に現在接続されている各ターゲット２０の機能情報のデータを実際に格納したレコードＡ〜Ｇよりなるリストである。これに対して、現ポインタリスト３１は、図２及び図３に示されるように、現リストＸ３２の各レコードＡ〜Ｇに対するポインタ＊Ａ〜＊Ｇを格納したレコードよりなる環状のリストである。
【００１９】
コントローラ１０は、過去に一度もリスト３１、３２を作成していない場合には、全てのターゲット２０に対して各機器が有する機能の問合せを行って、その問合せ結果に基づいてリスト３１、３２を作成する。コントローラ１０は、電源が切断されても、これらのリスト３１、３２内のレコードを保持する。そして、コントローラ１０は、バスリセットの発生を検知すると、バスコンフィグレーション終了後に、各ターゲット２０からＧＵＩＤを受信して、図６に示されるようなＧＵＩＤリスト３４を作成し、バスリセット発生前の現リストＸ３２に格納されていた各レコードのＧＵＩＤが、ＧＵＩＤリスト３４に含まれていないときには、現リストＸ３２内の該当のレコードをリストＹ３３に移す。コントローラ１０は、電源が切断されても、リストＹ３３内のレコードを保持するが、ＧＵＩＤリスト３４内のレコードについては保持しない。
【００２０】
次に、図３乃至図９に加えて、図１０及び図１１のフローチャートを参照して、バス９に新たなターゲット２０が追加接続された場合や、バス９に接続されているターゲット２０が取り外された場合におけるコントローラ１０の処理について説明する。図１０のフローチャートに示されるように、コントローラ１０は、バスリセットが発生して（Ｓ１）、バスコンフィグレーション終了後に各ターゲット２０からＧＵＩＤを受信すると、図６に示されるようなＧＵＩＤリスト３４を作成する（Ｓ２）。そして、図３に示されるバスリセット発生前の現ポインタリスト３１と同一フォーマットの新ポインタリスト４０（図７参照）、及び図４に示されるバスリセット発生前の現リストＸ３２と同一フォーマットの新リストＸ４２（図８参照）とを作成する。なお、図７と図８は、レコードの格納が終了した後の新ポインタリスト４０と新リストＸ４２とを示したものであり、バスリセット発生直後の段階では、これらのリスト４０，４２にはレコードは格納されていない。
【００２１】
次に、コントローラ１０は、ＧＵＩＤリスト３４から、ＧＵＩＤを１つ取り出して（Ｓ３）、このＧＵＩＤを格納したレコードが、バスリセット発生前の現リストＸ３２内に存在するか否かをチェックする（Ｓ４）。例えば、ＧＵＩＤリスト３４内に、図６に示されるようなＧＵＩＤが格納されている場合には、先頭のＧＵＩＤであるａを取り出して、このＧＵＩＤ（ａ）を格納したレコードが、図４に示される現リストＸ３２内のレコードＡ〜Ｇに存在するか否かをチェックする。そして、この場合のように、該当のＧＵＩＤ（ａ）を格納したレコードが現リストＸ３２内のレコードに存在する場合には（Ｓ４でＹＥＳ）、コントローラ１０は、図４中の３０に示される現リストＸ３２内の該当のレコードＡをコピーして、図８中の４７に示されるように、新リストＸ４２に格納すると共に、図７中の４８に示されるように、新ポインタリスト４０内に、新リストＸ４２のレコードＡへのポインタ（＊Ａ）を格納したレコード（ｄａｔａ０）を追加する（Ｓ５）。この後、コントローラ１０は、現リストＸ３２から、図４中の３０に示される該当のレコードＡを削除する（Ｓ６）。これに対して、ＧＵＩＤリスト３４から取り出したＧＵＩＤを格納したレコードが、バスリセット発生前の現リストＸ３２内に存在しない場合には、機器情報取得処理を行う（Ｓ７）。
【００２２】
次に、図１１を参照して、上記の機器情報取得処理について説明する。例えば、図６中の３７に示されるＧＵＩＤ（ｈ）や、図６中の３８に示されるＧＵＩＤ（ｏ）を格納したレコードは、バスリセット発生前の現リストＸ３２内には存在しない。コントローラ１０は、上記Ｓ３の処理で取り出したＧＵＩＤが、このようなＧＵＩＤである場合には、該当のＧＵＩＤを格納したレコードが、図５に示されるリストＹ３３内に存在するか否かをチェックする（Ｓ２１）。例えば、上記Ｓ３の処理で取り出したＧＵＩＤが、図６中の３７に示される“ｈ”であるときには、ＧＵＩＤ＝“ｈ”のレコードが図５に示されるリストＹ３３内に存在するので、コントローラ１０は、リストＹ３３内の該当のレコード３９をコピーして、図８中の４３に示されるレコードＨを新リストＸ４２に格納すると共に、図７中の４９に示されるように、新ポインタリスト４０内に、新リストＸ４２のレコードＨへのポインタ（＊Ｈ）を格納したレコード（ｄａｔａ５）を追加する（Ｓ２２）。この後、コントローラ１０は、図５に示されるリストＹ３３から、該当のレコード３９を削除する（Ｓ２３）。
【００２３】
上記Ｓ２１の判定処理で、該当のＧＵＩＤを格納したレコードが、リストＹ３３内に存在しない場合には（Ｓ２１でＮＯ）、コントローラ１０は、該当のＧＵＩＤのみに基づいて作成したレコードを、新リストＸ４２と新ポインタリスト４０に追加する（Ｓ２４）。例えば、上記Ｓ３の処理で取り出したＧＵＩＤが、図６中の３８に示される“ｏ”であるときには、ＧＵＩＤ＝“ｏ”のレコードが図５に示されるリストＹ３３内に存在しないので、コントローラ１０は、該当のＧＵＩＤ（ｏ）のみに基づいて、図８中の４４に示される機器の情報（機能情報）がＳＰＡＣＥ（空白）のレコードＯを新リストＸ４２に格納すると共に、図７中の５０に示されるように、新ポインタリスト４０内に、新リストＸ４２のレコードＯへのポインタ（＊Ｏ）を格納したレコード（ｄａｔａ６）を追加する。
【００２４】
上記のような処理を繰り返して、ＧＵＩＤリスト３４に格納された全てのＧＵＩＤについての処理を完了すると（Ｓ８でＹＥＳ）、コントローラ１０は、図４に示されるバスリセット発生前の現リストＸ３２内に、削除されなかったレコードが残っているか否かをチェックする。その結果、現リストＸ３２内にレコードが残っている場合には（Ｓ９でＹＥＳ）、残っているレコードをリストＹに追加する。例えば、バスリセット発生前の現リストＸ３２が図４に示される内容であり、バスリセット発生後に取得したＧＵＩＤリスト３４が図６に示される内容である場合には、上記Ｓ１乃至Ｓ８の処理の終了後に、現リストＸ３２内に、処理対象とならなかったレコードＣ（図４中の３５参照）とレコードＦ（図４中の３６参照）とが残ってしまう。従って、コントローラ１０は、図９に示されるように、これらのレコードＣ，Ｆと同一内容のレコード４５，４６をリストＹ３３に追加する（Ｓ１０）。リストＹ３３にこれらのレコード４５，４６を追加する際には、図９に示されるように、追加するレコードの数だけ、リストＹ３３内の既存のレコードを後方に詰めて、リストＹ３３の先頭からレコード４５，４６を追加する。この後、コントローラ１０は、バスリセット発生前の現リストＸ３２及び現ポインタリスト３１を削除して、図８に示される新リストＸ４２及び図７に示される新ポインタリスト４０を、現リストＸ３２及び現ポインタリスト３１として保持する（Ｓ１１）。その後、コントローラ１０は、新リストＸ４２内のレコードから、機器の情報が空白のレコードを検索して、該当レコード内のＧＵＩＤに対応したターゲット２０に対して、各機器が有する機能の問合せ用のコマンドを送信し、その問合せ結果に基づいて、図８中の４４に示されるレコードＯの機器の情報を更新する（Ｓ１２）。
【００２５】
上述したように、本実施形態によるコントローラ１０によれば、バス９に現在接続されている各ターゲット２０の機能情報（機器の情報）のリストである現リストＸ３２と、バスに過去に接続されていたターゲット２０の機能情報のリストであるリストＹ３３とを記憶しておいて、バスリセット後に、各ターゲット２０からＧＵＩＤを受信したときに、そのＧＵＩＤに該当するターゲット２０の機能情報を、バスリセット発生直前の現リストＸ３２とリストＹ３３とから取得するようにした。これにより、各ターゲット２０に対して機能の問合せ用のコマンドを送信して、問合せ先のターゲット２０から問合せ結果を受信する処理を行う回数を、従来よりも減らすことができるので、バスコンフィグレーション終了後にバス９上に流れるデータ量を抑制しつつ、バスリセット後にバス９に接続されている各ターゲット２０の機能情報のリストである新リストＸ４２及び新ポインタリスト４０を作成することができ、また、バスリセット発生に伴う通常状態への復旧時間を短縮することができる。これらの効果は、コントローラ１が制御するターゲット２０の台数が多い場合や、構築済みのIEEE1394ネットワークに対してターゲット２０の追加接続や取り外しを行う場合に、より大きくなる。
【００２６】
なお、本発明は、上記実施形態に限られるものではなく、様々な変形が可能である。例えば、本実施形態では、リストＹ３３にレコードを追加する場合に、リストＹ３３の先頭にレコードを追加したが、リストＹの最後にレコードを追加してもよい。また、上記の実施形態では、現リストＸ３２内の各レコードへのポインタを格納したレコードよりなる環状の現ポインタリスト３１を設けたが、この現ポインタリストは本発明に必須の構成要件ではなく、また、現ポインタリスト３１は、図２に示されるような環状のリストである必要はない。
【図面の簡単な説明】
【００２７】
【図１】本発明の最良の実施形態に係るコントローラ機器と各ターゲット機器の電気的ブロック構成を示す図。
【図２】上記コントローラ機器に格納されている現ポインタリストのイメージを示す図。
【図３】上記現ポインタリストの内容を示す図。
【図４】上記コントローラ機器に格納されている現リストＸの内容を示す図。
【図５】上記コントローラ機器に格納されているリストＹのバスリセット前の内容を示す図。
【図６】上記コントローラ機器に格納されているＧＵＩＤリストの内容を示す図。
【図７】上記コントローラ機器に格納されている新ポインタリストの内容を示す図。
【図８】上記コントローラ機器に格納されている新リストＸの内容を示す図。
【図９】上記リストＹのバスリセット後の内容を示す図。
【図１０】バスに新たなターゲットが追加接続された場合や、バスに接続されているターゲットが取り外された場合におけるコントローラの処理のフローチャート。
【図１１】図１０中の機器情報取得処理のフローチャート。
【符号の説明】
【００２８】
９    IEEE1394シリアルバス
１０  コントローラ（IEEE1394シリアルバスに接続されるコントローラ機器）
１１  ＣＰＵ（第１の検索手段、第２の検索手段、制御手段、レコード再作成手段）
１２  メモリ（記憶手段）
１３  機器情報リスト作成プログラム（第１の検索手段、第２の検索手段、レコード再作成手段）
１７  ＬＩＮＫ（ＧＵＩＤ受信手段、送信手段、問合せ結果受信手段）
１８  ＰＨＹ（ＧＵＩＤ受信手段、送信手段、問合せ結果受信手段）
１９  IEEE1394ポート（ＧＵＩＤ受信手段、送信手段、問合せ結果受信手段）
２０  ターゲット
３１  現ポインタリスト（現機能情報リスト、環状のリスト）
３２  現リストＸ（現機能情報リスト）
３３  リストＹ（旧機能情報リスト）
【図１】
2005167574.tif 000003
【図２】
2005167574.tif 000004
【図３】
2005167574.tif 000005
【図４】
2005167574.tif 000006
【図５】
2005167574.tif 000007
【図６】
2005167574.tif 000008
【図７】
2005167574.tif 000009
【図８】
2005167574.tif 000010
【図９】
2005167574.tif 000011
【図１０】
2005167574.tif 000012
【図１１】
2005167574.tif 000013