(57)【特許請求の範囲】
【請求項１】
ネットワークを介して複数のデバイスと接続され、デバイスの機能を示す機能情報を含むデバイス情報を前記複数のデバイスから取得する取得手段、並びに、ユーザ指示に応じて、デバイスを特定する複数の特定情報を含む検索条件を設定し、前記設定した検索条件、および、前記検索条件に対応付けられた、当該検索条件に合致するデバイスを表示するための表示設定をメモリに保存する設定手段を有する情報処理装置であって、
ユーザによる検索条件の選択を可能にするために、前記設定手段により設定済みの複数の検索条件を、前記メモリから読み出し、それぞれを識別可能に表示する表示手段と、
前記表示手段が表示した複数の検索条件からユーザによって選択された検索条件に含まれる複数の特定情報と、前記取得手段により取得されたデバイス情報に含まれる機能情報とに基づき、前記ユーザによって選択された検索条件に合致するデバイスを、前記ユーザによって選択された検索条件に対応付けられた前記表示設定に従い表示するためのリストを作成する制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記設定手段は、前記ユーザ指示に応じて、前記検索条件に含まれる複数の特定情報の優先度を設定し、
前記制御手段は、前記検索条件に合致するデバイスを前記優先度に従って示すリストを作成することを特徴とする請求項1に記載された情報処理装置。
【請求項３】
前記特定情報は、デバイスの機能を示す情報、デバイスの所在場所を示す情報、デバイスの通信プロトコルを示す情報、デバイスの使用状況を示す情報、デバイスの使用実績を示す情報、デバイスの特定名称を示す情報のうち何れかであることを特徴とする請求項1または請求項2に記載された情報処理装置。
【請求項４】
前記リストには、デバイスに固有の名称またはデバイスの種類別のシリアル番号が用いられることを特徴とする請求項1から請求項3の何れか一項に記載された情報処理装置。
【請求項５】
前記シリアル番号でリストされたデバイスのうち、前記シリアルバスのリセット後も接続されているデバイスの前記シリアル番号は変更されないことを特徴とする請求項4に記載された情報処理装置。
【請求項６】
前記リストされたデバイスのシリアル番号は、前記シリアルバスのリセット後に非接続になったデバイスが存在しても、その後の所定回数のバスリセットの間は変更されないことを特徴とする請求項4に記載された情報処理装置。
【請求項７】
前記リストされたデバイスのシリアル番号は、前記シリアルバスのリセット後に非接続になったデバイスが存在しても、その後の所定期間は変更されないことを特徴とする請求項4に記載された情報処理装置。
【請求項８】
前記デバイス情報には、前記機能情報として、デバイスの所在場所を示す情報、デバイスの階層位置を示す情報、デバイスの能力を示す情報、デバイスの通信プロトコルを示す情報、複数の通信プロトコルを同時にサポート可能か否かを示す情報、複数の通信プロトコルの使用優先順位を示す情報、デバイスの機能を示す情報、および、デバイスの接続状況を示す情報の内の少なくとも一つが含まれることを特徴とする請求項1から請求項7の何れか一項に記載された情報処理装置。
【請求項９】
前記機能情報によって表されるデバイスの機能には、プリンタ、ファクシミリ、スチルカメラ、ビデオカメラ、ビデオチューナ、モニタ、オーディオビジュアル機器、ディジタルビデオディスク、スキャナ、コピー、パーソナルコンピュータおよびゲートウェイの内の少なくとも一つが含まれることを特徴とする請求項3または請求項8に記載された情報処理装置。
【請求項１０】
前記デバイス情報は、前記デバイスのメモリのコンフィグレーションROM領域に格納されていることを特徴とする請求項1から請求項9の何れか一項に記載された情報処理装置。
【請求項１１】
さらに、前記リストを表示するリスト表示手段を有することを特徴とする請求項1から請求項7の何れか一項に記載された情報処理装置。
【請求項１２】
さらに、前記リスト表示手段により表示されたリストからデバイスが選択されると、前記選択されたデバイスの詳細な情報を表示する詳細表示手段を有することを特徴とする請求項11に記載された情報処理装置。
【請求項１３】
前記詳細表示手段は、前記デバイス情報に含まれるデバイスの所在場所を示す情報、デバイスの能力を示す情報、デバイスの機能を示す情報、デバイスのトランスポート情報、および、デバイスの接続状況を示す情報の内の少なくとも一つを表示することを特徴とする請求項12に記載された情報処理装置。
【請求項１４】
ネットワークを介して複数のデバイスと接続された情報処理装置を制御するために、デバイスの機能を示す機能情報を含むデバイス情報を前記複数のデバイスから取得する取得ステップ、並びに、ユーザ指示に応じて、デバイスを特定する複数の特定情報を含む検索条件を設定し、前記設定した検索条件、および、前記検索条件に対応付けられた、当該検索条件に合致するデバイスを表示するための表示設定をメモリに保存する設定ステップを有する制御方法であって、
ユーザによる検索条件の選択を可能にするために、前記設定ステップにおいて設定済みの複数の検索条件を、前記メモリから読み出し、それぞれを識別可能に表示し、
前記表示した複数の検索条件からユーザによって選択された検索条件に含まれる複数の特定情報と、前記取得ステップにおいて取得されたデバイス情報に含まれる機能情報とに基づき、前記ユーザによって選択された検索条件に合致するデバイスを、前記ユーザによって選択された検索条件に対応付けられた前記表示設定に従い表示するためのリストを作成することを特徴とする制御方法。
【請求項１５】
情報処理装置を制御して、請求項14に記載された制御方法を実行するためのプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して複数のデバイスと接続される情報処理装置に関する。
【０００２】
【従来の技術】
IEEE1394のようなシリアルバスインタフェイスは、RS232Cのようなインタフェイスにおけるホストとデバイスとの間の一対一の接続形態とは異なり、複数のデバイス、例えばディジタルビデオカメラ(DV)、ディジタルスチルカメラ(DC)、ホストコンピュータ、スキャナ、プリンタおよびディジタルビデオテープレコーダなどの複数のデバイスをひとまとめにして接続することが可能である。従って、これら複数のデバイスを接続したデータ通信ネットワークシステムへ、シリアルバスインタフェイスを応用することが考えられる。
【０００３】
IEEE1394に適合または準拠するシリアルバスインタフェイス（以下では単に「1394インタフェイス」と呼ぶ）の場合、あるデバイスを識別する手段として各機器がノードユニークIDを保有する。このIDは、64ビットで構成され、上位24ビットはIEEE(The Institute of Electrical and Electronics Engineers, Inc.)により割り当てられる機器のメーカIDであり、下位48ビットは各メーカが自由に定めることができる。従って、機器のメーカおよび機種にかかわらず、一つのデバイスには特定のノードユニークIDが設定されることになる。このようなデバイスを識別する手段により、複数のデバイスが接続されたIEEE1394を用いたネットワーク（以下では「1394ネットワーク」と呼ぶ）におけるデータ通信においてデバイスの特定が可能になる。
【０００４】
さらに、ノードユニークIDを用いて複数のデバイスを認識し、トポロジマップと呼ばれるネットワークにおける機器接続情報を表示することにより、1394ネットワークの使用状態を管理し、その利便性を向上させるための表示手段などが考えられている。
【０００５】
【発明が解決しようとする課題】
上記の表示手段を複数のデバイスが接続された1394ネットワーク環境に導入すれば、メーカ名や機種名などの機器情報はノードユニークIDによって取得することができるので、ユーザは、表示デバイスと実際に接続されている実デバイスとの対応を知ることができる。
【０００６】
しかしながら、同一メーカの同一機種が複数接続されている1394ネットワークの場合、メーカ名および機種名だけから実デバイスを特定しなければならないユーザにとって、表示されるデバイスと実デバイスとの対応を特定するのは困難である。
【０００７】
また、トポロジマップにより1394ネットワーク上のデバイス間の相対的な接続関係を表示するにしても、ユーザは、1394ネットワークの物理的接続と表示内容とを突合せることにより、表示デバイスと実デバイスとの対応を特定することになる。このため、多数のデバイスが接続された1394ネットワークでは、表示デバイスと実デバイスとの対応を特定するのは容易ではない。
【０００８】
また、ユーザが自分が必要とする範囲の実デバイスを所望の条件で特定することも困難である。さらに、機器が1394ネットワークから外された後、再び接続されると特定方法が変ってしまい、ユーザを困惑させる。
【０００９】
また、デバイスによっては部品を付け替えることにより機能が変わるものがある。例えば、プリントヘッドをスキャナヘッドに付け替えることによってスキャナとして機能するインクジェットプリンタがある。このようなデバイスが1394ネットワークなどに接続されている場合、ネットワークを介して、その機能が変更されたことを知るのは難しい。
【００１０】
本発明は、ネットワークに接続されたデバイスを検索する度に、検索するデバイスを特定するための複数の特定情報を入力する必要をなくして、ユーザの手間を軽減することを目的とする。
【００１５】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１６】
本発明にかかる情報処理装置は、ネットワークを介して複数のデバイスと接続され、デバイスの機能を示す機能情報を含むデバイス情報を前記複数のデバイスから取得する取得手段、並びに、ユーザ指示に応じて、デバイスを特定する複数の特定情報を含む検索条件を設定し、前記設定した検索条件、および、前記検索条件に対応付けられた、当該検索条件に合致するデバイスを表示するための表示設定をメモリに保存する設定手段を有する情報処理装置であって、ユーザによる検索条件の選択を可能にするために、前記設定手段により設定済みの複数の検索条件を、前記メモリから読み出し、それぞれを識別可能に表示する表示手段と、前記表示手段が表示した複数の検索条件からユーザによって選択された検索条件に含まれる複数の特定情報と、前記取得手段により取得されたデバイス情報に含まれる機能情報とに基づき、前記ユーザによって選択された検索条件に合致するデバイスを、前記ユーザによって選択された検索条件に対応付けられた前記表示設定に従い表示するためのリストを作成する制御手段とを有することを特徴とする。
【００１７】
本発明にかかる制御方法は、ネットワークを介して複数のデバイスと接続された情報処理装置を制御するために、デバイスの機能を示す機能情報を含むデバイス情報を前記複数のデバイスから取得する取得ステップ、並びに、ユーザ指示に応じて、デバイスを特定する複数の特定情報を含む検索条件を設定し、前記設定した検索条件、および、前記検索条件に対応付けられた、当該検索条件に合致するデバイスを表示するための表示設定をメモリに保存する設定ステップを有する制御方法であって、ユーザによる検索条件の選択を可能にするために、前記設定ステップにおいて設定済みの複数の検索条件を、前記メモリから読み出し、それぞれを識別可能に表示し、前記表示した複数の検索条件からユーザによって選択された検索条件に含まれる複数の特定情報と、前記取得ステップにおいて取得されたデバイス情報に含まれる機能情報とに基づき、前記ユーザによって選択された検索条件に合致するデバイスを、前記ユーザによって選択された検索条件に対応付けられた前記表示設定に従い表示するためのリストを作成することを特徴とする。
【００２９】
【発明の実施の形態】
以下、本発明にかかる好適な実施形態を図面を参照して詳細に説明する。
【００３０】
以下で説明する実施形態においては、各機器間を接続するディジタルインタフェイスとして例えばIEEE1394-1995（High Performance Serial Bus、以下では単に「1394シリアルバス」という）を用いる例を説明するため、まず、1394シリアルバスの概要について説明する。なお、IEEE1394-1995規格についての詳細は、1996年8月30日にIEEEから出版された「IEEE Standard for a High Performance Serial Bus」に記述されている。
【００３１】
【１３９４シリアルバスの概要】
家庭用ディジタルビデオテープレコーダやディジタルビデオディスク(DVD)の登場に伴い、ビデオデータやオーディオデータ（以下、まとめて「AVデータ」と呼ぶ）など、リアルタイムかつ情報量の多いデータを転送する必要が生じている。AVデータをリアルタイムに、パソコン(PC)へ転送したり、その他のディジタル機器に転送するには、高速のデータ転送能力をもつインタフェイスが必要になる。そういった観点から開発されたインタフェイスが1394シリアルバスである。
【００３２】
図1に1394シリアルバスを用いて構成されるネットワークシステムの例を示す。
【００３３】
図1に示すネットワークシステムのノードをなす機器AからHは、IEEE1394規格に適合または準拠するディジタルインタフェイスを備えている。1394ネットワークはシリアルデータの通信可能なバス型ネットワークを構成する。
【００３４】
機器A-B間、A-C間、B-D間、D-E間、C-F間、C-G間およびC-H間は、それぞれ1394シリアルバス用のツイストペアケーブルで接続されている。これらの機器AからHの例としては、パソコンなどのホストコンピュータ装置、および、コンピュータ周辺機器である。コンピュータ周辺機器としては、ディジタルビデオカセットレコーダ、Digital Video Disc(DVD)プレーヤ、ディジタルスチルカメラ、ハードディスクや光ディスクなどのメディアを用いる記憶装置、CRTやLCDのモニタ、チューナ、イメージスキャナ、フィルムスキャナ、プリンタ、MODEM、ターミナルアダプタ(TA)などコンピュータ周辺機器のすべてが対象になる。なお、プリンタの記録方式は、レーザビームやLEDを用いた電子写真方式、インクジェット方式、インク溶融型や昇華型の熱転写方式、感熱記録方式など、どんな方式でも構わない。
【００３５】
各機器間の接続は、ディジーチェイン方式とノード分岐方式との混在が可能であり、自由度の高い接続を行うことができる。また、各機器はそれぞれIDを有し、互いにIDを認識し合うことによって、1394シリアルバスで接続された範囲において、一つのネットワークを構成している。例えば、各機器間をそれぞれ一本の1394シリアルバス用ケーブルでディジーチェイン接続するだけで、それぞれの機器が中継の役割を担うので、全体として一つのネットワークを構成することができる。
【００３６】
また、1394シリアルバスはPlug and Play機能に対応し、1394シリアルバス用ケーブルを機器に接続するだけで自動的に機器を認識し、接続状況を認識する機能を有している。また、図1に示すようなシステムにおいて、ネットワークからある機器が外されたり、または新たに加えられたときなど、自動的にバスをリセット（それまでのネットワークの構成情報をリセット）して、新たなネットワークを再構築する。この機能によって、その時々のネットワークの構成を常時設定、認識することができる。バスリセットは、既存の機器の電源がオンオフされた場合にも行われる。
【００３７】
また、1394シリアルバスは、他の機器から転送されるデータを中継する機能を有している。この機能により、1394ネットワーク上のすべての機器がバスの動作状況を把握することができる。
【００３８】
また、1394シリアルバスのデータ転送速度は、100/200/400Mbpsが定義されていて、上位の転送速度をもつ機器が下位の転送速度をサポートすることで、互換性が保たれている。データ転送モードとしては、コントロール信号などの非同期データを転送するアシンクロナス(Asynchronous)転送モード(ATM)と、リアルタイムなAVデータ等の同期データを転送するアイソクロナス(Isochronous)転送モードがある。この非同期データと同期データは、各サイクル（通常125μs/サイクル）の中で、サイクル開始を示すサイクルスタートパケット(CSP)の転送に続き、同期データの転送を優先しつつ、サイクル内で混在して転送される。なお、アイソクロナス転送モードの転送帯域は各通信サイクル内で保証されている。
【００３９】
アシンクロナス転送モードは、必要に応じて非同期に転送することが要求されるデータ、すなわちコントロール信号やファイルデータなどを転送する際に有効である。また、アイソクロナス転送モードは、所定量のデータを一定のデータレートで連続的に転送することが要求されるデータ、すなわちビデオデータやオーディオデータなどを転送する際に有効である。
【００４０】
［アーキテクチャ］
図2は1394インタフェイスの構成例を示す図で、レイヤ構造で構成されている。図2に示すように、コネクタポート810には、1394シリアルバス用のケーブル813の先端のコネクタが接続される。コネクタポート810の上位には、ハードウェア部800で構成されるフィジカルレイヤ811とリンクレイヤ812がある。ハードウェア部800はインタフェイス用チップで構成され、そのうちフィジカルレイヤ811は符号化やコネクション関連の制御等を行い、リンクレイヤ812はパケット転送やサイクルタイムの制御等を行う。
【００４１】
ファームウェア部801のトランザクションレイヤ814は、転送すべきデータの管理を行い、リード、ライトおよびロックトランザクションを提供する。ファームウェア部801のシリアルバスマネージメント815は、1394シリアルバスに接続されている各機器の接続状況やIDの管理を行い、1394ネットワークの構成を管理する。上記のハードウェアとファームウェアまでが、1394シリアルバスの実質的な構成である。
【００４２】
また、ソフトウェア部802のアプリケーションレイヤ816は、利用されるソフトによって異なり、インタフェイス上でどのようにしてデータを転送するかは、プリンタやAV/Cプロトコルなどのプロトコルによって定義される。
【００４３】
●リンクレイヤ
図3はリンクレイヤ812が提供するサービスを示す図である。リンクレイヤ812は次の四つのサービスを提供する。
(1)応答ノードに対して所定のパケットの転送を要求するリンク要求(LK_DATA.request)
(2)応答ノードに所定のパケットの受信を通知するリンク通知(LK_DATA.indication)
(3)応答ノードからのアクノリッジを受信したことを示すリンク応答(LK_DATA.response)
(4)要求ノードからのアクノリッジを確認するリンク確認(LK_DATA.confirmation)
【００４４】
なお、リンク応答(LK_DATA.response)は、ブロードキャスト通信、アイソクロナスパケットの転送の場合には存在しない。また、リンクレイヤ812は、上述のサービスに基づいて、二種類の転送方式であるアシンクロナス転送モードおよびアイソクロナス転送モードを実現する。
【００４５】
●トランザクションレイヤ
図4はトランザクションレイヤ814が提供するサービスを示す図である。トランザクションレイヤ814は次の四つのサービスを提供する。
(1)応答ノードに対して所定のトランザクションを要求するトランザクション要求(TR_DATA.reqqest)
(2)応答ノードに所定のトランザクション要求の受信を通知するトランザクション通知(TR_DATA.indication)
(3)応答ノードからの状態情報（ライト、ロックの場合は、データを含む）を受信したことを示すトランザクション応答(TR_DATA.response)
(4)要求ノードからの状態情報を確確するトランザクション確認(TR_DATA.confirmation)
【００４６】
また、トランザクションレイヤ814は、上述のサービスに基づいてアシンクロナス転送を管理し、三種類のトランザクション、つまりリード、ライトおよびロックトランザクションを実現する。
(1)リードトランザクション: 要求ノードが、応答ノードの特定アドレスに格納された情報を読み取る。
(2)ライトトランザクション: 要求ノードが、応答ノードの特定アドレスに所定の情報を書き込む。
(3)ロックトランザクション: 要求ノードは、応答ノードに対して、参照データおよび更新データを転送する。応答ノードは、受信した参照データと特定アドレスの情報とを比較し、その比較結果に応じて特定アドレスの情報を更新データに更新する。
【００４７】
●シリアルバスマネージメント
シリアルバスマネージメント815は、具体的には、次の三つの機能を提供する。すなわち、ノード制御、アイソクロナスリソースマネージャ(IRM)、バスマネージャである。
(1)ノード制御: 上述の各レイヤを管理し、他のノードとの間で実行されるアシンクロナス転送を管理する。
(2)IRM: 他のノードとの間で実行されるアイソクロナス転送を管理する。具体的には、転送帯域幅とチャネル番号の割り当てに必要な情報を管理し、これらの情報を他のノードに提供する。
【００４８】
IRMはローカルバス上に唯一存在し、バスリセットごとに候補者（IRM機能を有するノード）の中から動的に選出される。また、IRMは、後述するバスマネージャが提供可能な機能（接続構成、電源および速度情報の管理など）の一部を提供してもよい。
(3)バスマネージャ: IRM機能を有し、IRMよりも高度なバス管理機能を提供する。具体的には、より高度な電源の管理（通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か、などの情報をノードごとに管理する）、より高度な速度情報の管理（各ノード間の最大転送速度を管理する）、より高度な接続構成の管理（トポロジマップを作成する）、並びに、これらの管理情報に基づきバスの最適化などを行う。さらに、これらの情報を他のノードに提供する機能を有する。
【００４９】
また、バスマネージャは、1394ネットワークを制御するためのサービスをアプリケーションに対して提供できる。このサービスには、シリアルバス制御要求(SB_CONTROL.request)、シリアルバスイベント制御確認(SB_CONTROL.confirmation)、および、シリアルバスイベント通知(SB_CONTROL.indication)などがある。
(1)SB_CONTROL.request: アプリケーションがバスリセットを要求するサービス
(2)SB_CONTROL.confirmation: SB_CONTROL.requestをアプリケーションに対して確認するサービス
(3)SB_CONTROL.indication: 非同期に発生するイベントをアプリケーションに対して通知するサービス
【００５０】
［アドレス指定］
図5は1394シリアルバスにおけるアドレス空間を説明する図である。なお、1394シリアルバスでは、ISO/IEC13213-1994に準じたCommand and Status Register(CSR)アーキテクチャに従い、64ビット幅のアドレス空間が規定されている。
【００５１】
図5において、最初の10ビットのフィールド601は所定のバスを指定するID番号に使用され、次の6ビットのフィールド602は所定の機器（ノード）を指定するID番号に使用される。これら上位16ビットを「ノードID」と呼び、各ノードはこのノードIDにより他のノードを識別する。また、各ノードは、このノードIDを用いて相手を識別し、識別した相手との通信を行うことができる。
【００５２】
残りの48ビットからなるフィールドは、各ノードが備えるアドレス空間（256Mバイト構造）を指定し、その内の20ビットのフィールド603はアドレス空間を構成する複数の領域を指定する。最後の28ビットのフィールド604は、各ノードにおいて共通あるいは固有な情報が格納されるアドレスを指定する。
【００５３】
フィールド603の0から0xFFFFDの領域は「メモリ空間」、0xFFFFEは「プライベート空間」、0xFFFFFは「レジスタ空間」とそれぞれ呼ばれる。プライベート空間は、各ノードが自由に利用することができるアドレスである。また、レジスタ空間は、バスに接続されたノード間における共通の情報が格納され、レジスタ空間に格納された情報を用いることにより、各ノード間の通信が管理される。
【００５４】
例えば、レジスタ空間における最初の512バイトは、CSRアーキテクチャのコア（CSRコア）レジスタに使用される。CSRコアレジスタに格納される情報のアドレスおよび機能は図6に示される。図6では0xFFFFF0000000からのオフセットでアドレスを示している。
【００５５】
続く512バイトはシリアルバスのレジスタとして使用される。シリアルバスレジスタに格納される情報のアドレスおよび機能は図7に示される。図7では0xFFFFF0000200からのオフセットでアドレスを示している。
【００５６】
続く1024バイトは、コンフィグレーションROM(Configuration ROM)に使用される。コンフィグレーションROMには最小形式と一般形式とがあり、0xFFFFF0000400から配置される。図8は最小形式のコンフィグレーションROMを示す図で、24ビットのベンダIDはIEEEにより各ベンダに対して固有に割り当てられた数値である。
【００５７】
図9は一般形式のコンフィグレーションROMを示す図で、上述のベンダIDはルートディレクトリ(Root Directory)1002に格納されている。バス情報ブロック(Bus Info Block)1001およびルートアンドユニットリーブス(Root & Unit Leaves)1005には、各ノードを識別する固有のID情報としてノードユニークIDを保持させることが可能である。
【００５８】
ノードユニークIDは、メーカおよび機種に関わらず、一つのノードを特定することができる固有のIDが定められるようになっている。ノードユニークIDは64ビットで構成され、上位24ビットは上述のベンダIDを示し、下位48ビットはノードの機器を製造したメーカが自由に設定することが可能な情報、例えば機器の製造番号などを示す。なお、このノードユニークIDは、例えばバスリセットの前後においても、継続して特定のノードを認識する場合に使用される。
【００５９】
また、ルートディレクトリ(Root Directory)1002には、ノードの基本的な機能に関する情報を保持させることが可能である。詳細な機能情報は、ルートディレクトリ(Root Directory)1002からオフセットされるサブディレクトリ(Unit Directories)1004に格納される。ユニットディレクトリズ(Unit Directories)1004には、例えばノードの機器がサポートするソフトウェアユニットに関する情報が格納される。具体的には、ノード間のデータ通信を行うためのデータ転送プロトコル、および、所定の通信手順を定義するコマンドセットなどに関する情報が保持される。
【００６０】
また、ノード依存情報ディレクトリ(Node Dependent Info Directory)1003には、デバイス固有の情報を保持することが可能である。ノード依存情報ディレクトリ(Node Dependent Info Directory)1003は、ルートディレクトリ(Root Directory)1002によりオフセットされる。
【００６１】
さらに、ベンダ依存情報(Vendor Dependent Information)1006には、ノードの機器を製造あるいは販売するベンダ固有の情報を保持させることができる。
【００６２】
図5において、残りの領域は「ユニット空間」と呼ばれ、各ノード固有の情報、例えば各機器の識別情報（ベンダ名および機種名など）や、使用条件などが格納されたアドレスを指定する。図10はユニット空間のシリアルバス装置レジスタに格納される情報のアドレスおよび機能を示す。図10では「0xFFFFF0000800」からのオフセットでアドレスを示している。
【００６３】
なお、一般的に、異種のバスシステムの設計を簡略化したい場合、各ノードは、ユニット空間の最初の2048バイトのみを使うべきである。つまり、CSRコアレジスタ、シリアルバスレジスタおよびコンフィグレーションROMからなるレジスタ空間の2048バイトと、ユニット空間の最初の2048バイトを合わせた4096バイトでレジスタ空間が構成されることが望ましい。
【００６４】
［通信ケーブル］
図11はIEEE1394規格に準拠した通信ケーブルの断面図を示す図である。
【００６５】
通信ケーブルは、二組のツイストペア信号線および電源線から構成されている。電源線を設けることによって、1394シリアルバスは、主電源がオフされた機器や、故障により電力が低下した機器などへも電力を供給することができる。なお、電源線によって供給される直流電力の電圧は8から40V、電流は最大1.5Aに規定されている。
【００６６】
［DS-Link方式］
二組のツイストペア信号線には、DS-Link(Data/Strobe Link)方式により情報が伝送される。図12はDS-Link方式を説明する図である。
【００６７】
このDS-Link方式は、高速なシリアルデータ通信に適し、その構成は二組のツイストペア信号線を必要とする。一組のツイストペア信号線はデータ信号を送り、もう一組のツイストペア信号線はストローブ信号を送る構成である。受信側では、二組の信号線により受信されたデータ信号およびストローブ信号を排他的論理和することによってクロックを再現することができる。なお、DS-Link方式を用いる1394シリアルバスには、例えば次のような利点がある。
(1)データ信号中にクロック信号を混入させる必要がないので、他のシリアルデータ転送方式に比べて転送効率が高い。
(2)位相ロックドループ(PLL)回路が不要になり、コントローラLSIの回路規摸を小さくできる。
(3)転送すべきデータが無いときにアイドル状態であることを示す情報を送る必要がなく、トランシーバ回路をスリープ状態にし易く、消費電力の低減が図れる。
【００６８】
［バスリセット］
各ノードの1394インタフェイスは、ネットワークの接続構成に変化が生じたことを自動的に検出することができる。この場合、1394ネットワークは以下に示す手順によりバスリセットと呼ばれる処理を行う。なお、接続構成に変化は、各ノードが備えるコネクタポート810に加わるバイアス電圧の変化により検知することができる。
【００６９】
ネットワークの接続構成の変化、例えばネットワーク機器の接続分離や電源のオン/オフなどによるノード数の増減を検出したノード、または、新たにネットワークの接続構成を認識する必要があるノードは、1394インタフェイスを介して、1394シリアルバス上にバスリセット信号を送信する。
【００７０】
バスリセット信号を受信したフィジカルレイヤ811は、バスリセットの発生をリンクレイヤ812に伝達するとともに、バスリセット信号を他のノードへ転送する。バスリセット信号を受信したノードは、今まで認識していたネットワークの接続構成および各機器に割り当てられたノードIDをクリアにする。最終的にすべてのノードがバスリセット信号を受信した後、各ノードは、バスリセットに伴う初期化処理、すなわち新たなネットワークの接続構成の認識、および、新たなノードIDの割り当てを自動的に行う。
【００７１】
なお、バスリセットは、先に述べたようなネットワークの接続構成の変化により起動されるほかに、ホスト制御によって、アプリケーションレイヤ816がフィジカルレイヤ811に対して直接命令を出すことによっても起動される。また、バスリセットが起動すると、データ転送は一時中断され、バスリセットに伴う初期化処理の終了後、新しいネットワークの下でデータ転送が再開される。
【００７２】
［バスリセット起動後のシーケンス］
バスリセットの起動後、各ノードの1394インタフェイスは、新たなネットワークの接続構成の認識、および、新たなノードIDの割り当てを実行する。以下、バスリセットの起動から、ノードIDの割り当て終了までの基本的なシーケンスを、図13から図15を用いて説明する。
【００７３】
図13は1394ネットワークにおけるバスリセット起動後の状態を説明する図である。ノードAからFはそれぞれ一つから三つのコネクタポート810を備えている。各ノードのコネクタポート810には、各ポートを識別するためにポート番号を付されている。以下、図13に示す構成の1394ネットワークにおけるバスリセットの開始からノードIDの割り当てまでの手順を図14のフローチャートを用いて説明する。
【００７４】
図14において、1394ネットワークを構成するノードAからFはそれぞれバスリセットが発生したか否かを常時監視している(S1501)。ネットワーク接続の構成が変化したことを検出したノードからバスリセット信号が出力される（バスリセットの起動）と、各ノードは以下の処理を実行する。
【００７５】
バスリセットが起動されると、ノードはそれぞれ親子関係の宜言を行い(S1502)、ステップS1503で全ノード間で親子関係が決定されたと判定されるまでステップS1502が繰り返される。
【００７６】
すべてのノード間で親子関係が決定した後、1394ネットワークの調停を行うノードすなわち「ルート(root)」が決定される(S1504)。ルートが決定された後、各ノードが自己のノードIDを設定する作業が開始され(S1505)、ステップS1506で全ノードのノードIDが設定されたと判定されるまでステップS1505が繰り返される。
【００７７】
最終的にすべてのノードに対してノードIDが設定された後、各ノードは、アイソクロナス転送またはアシンクロナス転送を実行する(S1507)。各ノードは、ステップS1507でデータ転送を実行するとともに、ステップS1501でバスリセットの起動を監視する。そして、バスリセットが起動された場合はステップS1502以降の処理を実行する。
【００７８】
以上の手順により、各ノードは、バスリセットが起動されるごとに、新たなネットワーク接続を認識し、かつ、新たなノードIDの割り当てを実行することができる。
【００７９】
［親子関係の決定］
図15はステップS1502における親子関係の宣言を行う処理の詳細例を示すフローチャートである。
【００８０】
図15において、バスリセットが起動された後、ノードAからFは、自分が備えるコネクタポート810の接続状態（接続または未接続）を碓認し(S1601)、その後、他のノードと接続されているコネクタポート810（以下「接続ポート」と呼ぶ）をカウントする(S1602)。
【００８１】
接続ポート数が一つのノードは、自分が「リーフ(leaf)」であると認識する(S1603)。なお、リーフとは、接続されている他のノードが一つだけのノードのことである。リーフは、接続されているノードに対して自分は「子(child)」であることを宣言し(S1604)、接続されているノードは「親(parent)」であると認識する。
【００８２】
このように親子関係の宣言は、まず1394ネットワークの末端に位置するリーフとブランチ(branch)との間で行われる。続いて、親子関係の宣言はブランチとブランチとの間で順次行われる。なお、ブランチとは、接続ポート数が二つ以上のノードのことである。
【００８３】
このようにして親子関係は、親子関係の宜言が行えるノード間から順に決定される。また、各ノードにおいて、あるノードが「子」を宜言した接続ポートはおやノードと接続された「親ポート」であると認識され、その宣言を受けたノードの接続ポートは子ノードと接続された「子ポート」であると認識される。例えば、図13において、ノードA、EおよびFはそれぞれ自分がリーフであると認識し、親子関係の宣言を行う。これにより、ノードA-B間、E-D間およびF-D間の親子関係は「子-親」と決定される。
【００８４】
また、接続ポート数が二つ以上のノードは、自分がブランチであると認識する(S1605)。ブランチは、各接続ポートに接続されたノードから親子関係の宜言を受け付ける(S1606)。親子関係の宣言を受け付けた接続ポートは「子ポート」であると認識される。
【００８５】
ブランチは、一つの接続ポートを「子ポート」と認識した後、未だ親子関係が決定されていない接続ポート（未定義ポート）が二つ以上あるか否かを検出し(S1607)、未定義ポートが二つ以上ある場合は再びステップS1606の処理を行う。また、未定義ポートが一つだけの場合(S1608)、ブランチは、その未定義ポートを「親ポート」であると認識し、その接続ポートに接続されたノードに対して自分は「子」であることを宜言する(S1609)。
【００８６】
ブランチは、未定義ポートが一つになるまで親子関係の宣言、つまり自分が「子」であることを他のノードに対して宜言することができない。例えば、図13において、ノードB、CおよびDは、自分がブランチであると認識するとともに、リーフまたは他のブランチからの親子宜言を受け付ける。ノードDは、D-EおよびD-F間の親子関係が決定した後、ノードCに対して親子関係の宜言を行う。また、ノードDから親子関係の宜言を受けたノードCは、ノードBに対して親子関係の宜言を行う。
【００８７】
ステップS1608で未定義ポートが存在しないと判定された場合、つまりすべての接続ポートが「子ポート」になった場合、そのブランチは、自分がルートであると認識する（ステップS1610）。
【００８８】
例えば、図13において、接続ポートのすべてが子ポートになったノードBは、1394ネットワーク上の通信を調停するルートとして他のノードに認識される。図13にはノードBがルートと決定された例を示すが、ノードBによる親子関係の宜言が、ノードCによる親子関係の宜言に比べて早ければ、他のノードがルートになる。すなわち、親子関係を宜言するタイミングによっては、どのノードもルートになる可能性があり、例え同じネットワーク構成であっても、いつも同じノードがルートになるとは限らない。
【００８９】
すべての接続ポートの親子関係が宣言されることによって、各ノードは、1394ネットワークの接続構成を階層構造（ツリー構造）として認識することができる(S1611)。なお、上述した親ノードは階層構造における上位であり、子ノードは階層構造における下位になる。
【００９０】
［ノードIDの割当］
図16はステップS1505におけるノードIDの割り当て処理の詳細例を示すフローチャートである。ノードIDは、バス番号およびノード番号から構成されるが、本実施形態では、各ノードは同一バス上に接続され、同一のバス番号が割り当てられるものとする。
【００９１】
図16において、ルートは、ノードIDが未設定のノードが接続されている子ポートの内、最小番号を有するコネクタポート810に対してノードIDの設定許可を与える(S1701)。ルートは、最小番号の子ポートに接続されている全ノードのノードIDが設定された後、その子ポートを設定済とし、次に小さい番号を有する子ポートに対してノードIDの設定許可を与える。そして、ステップS1702からS1708の処理により、最終的に子ポートに接続されたすべてのノードのノードIDが設定された後、ルート自身のノードIDを設定する(S1709)。なお、ノード番号は基本的に、リーフ、ブランチ、そしてルートの順に0、1、2、…と割り当てられる。従って、ルートが最も大きなノード番号を有することになる。
【００９２】
ノードIDの設定許可を得たノードは、自分の子ポートの内、ノードIDが未設定のノードを含む子ポートがあるか否かを判断し(S1702)、ノードIDが未設定のノードを含む子ポートが検出された場合は、その子ポートに直接接続されたノードに対してノードIDの設定許可を与える(S1703)。
【００９３】
ステップS1703でノードIDの設定許可を得たノードは、自分の子ポートの内、ノードIDが未設定のノードを含む子ポートがあるか否かを判断し(S1704)、ノードIDが未設定のノードを含む子ポートが検出された場合、その子ポートに直接接続されたノードに対してノードIDの設定許可を与える(S1703)。
【００９４】
また、ステップS1702またはS1704において、ノードIDが未設定のノードを含む子ポートが検出されなかった場合、ノードは自分のノードIDを設定する(S1705)。そして、自分のノードIDを設定したノードは、自分のノード番号、コネクタポート810の接続状態に関する情報などを含むセルフIDパケットをブロードキャストする(S1706)。なお、ブロードキャストとは、あるノードの通信パケットをネットワーク接続された不特定多数のノードに転送することである。
【００９５】
各ノードは、セルフIDパケットを受信することにより、他のノードに割り当て済みのノード番号を認識することができ、自分に割り当て可能なノード番号を知ることができる。例えば、図13において、ルートであるノードBは、最小ポート番号「#1」のコネクタポート810に接続されたノードAに対してノードIDの設定許可を与える。ノードAは、自分のノード番号として「0」と割り当て、自分に対してバス番号とノード番号とからなるノードIDを設定し、そのノード番号を含むセルフIDパケットをブロードキャストする。
【００９６】
次に、ステップS1706でセルフIDパケットをブロードキャストしたノードの親ノードがルートでなければ、ステップS1707からS1702へ戻り、その親ノードによりステップS1702以下の処理が実行され、ノードIDが未設定のノードに対してノードIDの設定許可が与えられる。
【００９７】
また、ステップS1706でセルフIDパケットをブロードキャストしたノードの親ノードがルートであれば、ステップS1707からS1708へ進み、ルートのすべての子ポートに接続されたノードのノードIDが設定されたか否かが判別される。ノードIDが未設定のノードがある場合、ルートは、そのノードを含む子ポートの内、最小番号の子ポートに対してノードIDの設定許可を与える(S1701)。また、すべてのノードのノードIDが設定された場合、ルートは、自分のノードIDを設定し(S1709)、セルフIDパケットをブロードキャストする(S1710)。
【００９８】
以上の処理によって、1394ネットワークの各ノードは自からノードIDを割り当てることができる。
【００９９】
［セルフIDパケット］
図17はセルフIDパケットの構成例を示す図で、セルフIDパケットを送出したノードのノード番号が格納されるフィールド1801、対応可能な転送速度に関する情報が格納されるフィールド1802、バス管理機能（バスマネージャの能力の有無など）の有無を示すフィールド1803、および、電力の消費および供給特性に関する情報が格納するフィールド1804がある。さらに、ポート番号「#0」から「#2」の各コネクタポート810の接続状態に関する情報（接続、未接続およびポートの親子関係など）が格納されるフィールド1805から1807がある。
【０１００】
フィールド1803のコンテンダビットは、セルフIDパケットを送出するノードがバスマネージャになり得る能力を有する場合は‘1’に、そうでない場合は‘0’になる。バスマネージャとは、セルフIDパケットに含まれる各種の情報に基づき、次に示すような管理を行い、それらの情報を他のノードに提供する機能を有するノードである。これらの機能により、バスマネージャは1394ネットワーク全体のバス管理を行うことができる。
(1)バスの電源管理: 通信ケーブルを介して電力の供給が可能か否か、電力の供給が必要か否かなどの情報を各ノードごとに管理する。
(2)速度情報の管理: 各ノードの対応可能な転送速度に関する情報から各ノード間の最大転送速度を管理する。
(3)トポロジマップ情報の管理: 通信ポートの親子関係情報からネットワークの接続構成を管理する。
(4)トポロジマップ情報に基づくバスの最適化など。
【０１０１】
ノードIDの設定処理後、複数のノードがバスマネージャの能力を備える場合、ノード番号の最も大きいノードがバスマネージャになる。つまり、1394ネットワーク内で最大のノード番号をもつルートがバスマネージャになり得る機能を有している場合は、ルートがバスマネージャになる。しかし、ルートがその機能を備えていない場合は、ルートの次に大きいノード番号を有するノードがバスマネージャになる。また、どのノードがバスマネージャになったかについては、各ノードがブロードキャストするセルフIDパケット内のコンテンダビット1803をチェックすることにより把握することができる。
【０１０２】
［調停］
図18は1394ネットワークにおける調停(arbitration)を説明する図である。1394ネットワークでは、データ転送に先立ち、必ずバス使用権の調停を行う。1394ネットワークは、論理的なバス型ネットワークであり、各ノードから送出されてくるパケットを他のノードへ中継することによって、ネットワーク内のすべてのノードに同じパケットを転送する。従って、パケットの衝突を防ぐために、必ずアービトレーションが必要になり、あるタイミングにおいては一つのノードだけがパケットの送出を行うことができる。
【０１０３】
図18(a)はノードBおよびFがバスの使用権を要求している状態を示している。ノードBおよびFは、それぞれの親ノードにバス使用権を要求する。ノードBの要求を受けた親ノード（ノードC）は、自分の親ノード（ノードD）に要求を中継する。これらの要求は、最終的に調停を行うルート（ノードD）に届く。バス使用権の要求を受けたルートは、どのノードにバス使用権を与えるかを決定する調停を行う。この調停はルートだけが行えるものであり、調停に勝ったノードにはバス使用権が与えられる。
【０１０４】
図18(b)はノードFにバス使用権が与えられ、ノードBの要求が拒否された状態を示している。ルートは、調停に負けたノードに対してDP(Data Prefix)パケットを送り、要求を拒否したことを知らせる。要求が拒否されたノードは、次回の調停までバス使用権の要求を待たされることになる。
【０１０５】
以上の調停によって、1394ネットワークのバス使用権が制御および管理される。
【０１０６】
［通信サイクル］
アイソクロナス転送モードおよびアシンクロナス転送モードは、各通信サイクルの期間内において時分割に混在することができる。通信サイクルの期間は通常125μSである。図19は通信サイクルの一期間にアイソクロナス転送モードおよびアシンクロナス転送モードが混在された状態を示す図である。
【０１０７】
アイソクロナス転送モードは、アシンクロナス転送モードより優先して実行される。その理由は、サイクルスタートパケット(CSP)の後、アシンクロナス転送を起動するために必要なアイドル期間(subaction gap)が、アイソクロナス転送を起動するため必要なアイドル期間(isochronous gap)よりも長く設定されているためである。これら異なるアイドル期間の設定により、アイソクロナス転送モードがアシンクロナス転送モードに優先して実行される。
【０１０８】
図19において、各通信サイクルのスタート時には、サイクルスタートパケット(CSP)が所定のノードから転送される。各ノードは、このサイクルスタートパケット(CSP)によりタイミング調整を行うことで、他のノードと同じタイミングを得ることができる。
【０１０９】
［アイソクロナス転送モード］
アイソクロナス転送モードは同期型の転送方式である。アイソクロナス転送モードは、通信サイクルの開始後の所定期間において実行可能である。また、アイソクロナス転送モードは、リアルタイム転送を維持するために、各サイクルごとに必ず実行される。
【０１１０】
アイソクロナス転送モードは、とくに動画像データや、音声を含むサウンドデータなど、リアルタイムな転送を必要とするデータの転送に適している。アイソクロナス転送モードは、アシンクロナス転送モードのように一対一の通信ではなくブロードキャスト通信であり、あるノードから送出されたパケットは、ネットワーク上のすべてのノードに対して一様に転送される。なお、アイソクロナス転送に受信確認用の返信コードであるアクノリッジ(ack)は存在しない。
【０１１１】
図19において、チャネルe(ch e)、チャネルs(ch s)およびチャネルk(ch k)は、各ノードがアイソクロナス転送を行う期間を示している。1394シリアルバスでは、複数の異なるアイソクロナス転送を区別するために、それらに異なるチャネル番号を与える。これにより、複数のノード間におけるアイソクロナス転送が可能になる。なお、このチャネル番号は、送信先を特定するものではなく、データに対する論理的な番号を与えているに過ぎない。
【０１１２】
また、図19に示すアイソクロナスギャップ(isochronus gap)とは、バスのアイドル状態を示すもので、このアイドル状態が一定時間を経過した後、アイソクロナス転送を希望するノードは、バスが使用できると判断し、バスの使用権を要求する。
【０１１３】
図20はアイソクロナス転送モードにより転送されるパケットのフォーマットを示す図である。以下では、アイソクロナス転送モードにより転送されるパケットを「アイソクロナスパケット」と称する。
【０１１４】
図20において、アイソクロナスパケットは、ヘッダ部2101、ヘッダCRC2102、データ部2103およびデータCRC2104から構成される。
【０１１５】
ヘッダ部2101には、データ部2103のデータ長が格納されるdata_lengthフィールド2105、アイソクロナスパケットのフォーマット情報を格納するtagフィールド2106、アイソクロナスパケットのチャネル番号を格納するchannelフィールド2107、パケットのフォーマットおよび実行しなければならない処理を識別するトランザクションコード(tcode)を格納するtcodeフィールド2108、並びに、同期化コードを格納するsyフィールド2109がある。
【０１１６】
［アシンクロナス転送モード］
アシンクロナス転送モードは非同期型の転送方式である。アシンクロナス転送は、アイソクロナス転送期間の終了後、次の通信サイクルが開始されるまでの間、すなわち次の通信サイクルのサイクルスタートパケット(CSP)が転送されるまでの間に実行可能である。
【０１１７】
図19の通信サイクルにおいて、最初のサブアクションギャップ(subaction gap)はバスのアイドル状態を示すものである。このアイドル状態が一定時間を経過した後、アシンクロナス転送を希望するノードは、バスが使用できると判断し、バスの使用権を要求する。
【０１１８】
調停によりバス使用権を得たノードは、図21に示すパケットを所定のノードに対して送信する。このパケットを受信したノードは、ackまたは応答パケットを悪のリッジギャップ(ack gap)後に返送する。
【０１１９】
図21はアシンクロナス転送モードにより転送されるパケットのフォーマットを示す図である。以下では、アシンクロナス転送モードにより転送されるパケットを「アシンクロナスパケット」と称する。
【０１２０】
図21において、アシンクロナスパケットは、ヘッダ部2201、ヘッダCRC2202、データ部2203およびデータCRC2204から構成される。
【０１２１】
ヘッダ部2201には、パケットの宛先ノードのノードIDが格納されるdestination_IDフィールド2205、パケットのソースノードのノードIDが格納されるsource_IDフィールド2206、一連のトランザクションを示すラベルが格納されるtlフィールド2207、再送ステータスを示すコードが格納されるrtフィールド2208、パケットのフォーマットおよび実行しなければならない処理を識別するトランザクションコード(tcode)が格納されるtcodeフィールド2209、優先順位が格納されるpriフィールド2210、宛先ノードのメモリアドレスが格納されるdestination_offsetフィールド2211、データ部のデータ長が格納されるdata_lengthフィールド2212、並びに、拡張されたトランザクションコードが格納されるextended_tcodeフィールド2213がある。
【０１２２】
アシンクロナス転送は、自ノードから相手ノードへの一対一の通信である。送信元ノードから送信されたパケットは、1394ネットワーク中の各ノードに行き渡るが、各ノードは自分宛て以外のパケットを無視するので、宛先ノードだけが、そのパケットを読み込む。
【０１２３】
なお、アシンクロナス転送中に次のCSPを転送すべき時間に至った場合、無理に転送を中断せず、その転送が終了した後、次のCSPを送信する。これにより、一つの通信サイクルが125μS以上続いたときは、その分、次の通信サイクル期間を短縮する。このようにすることによって、1394ネットワークは、ほぼ一定の通信サイクルを保持することができる。
【０１２４】
［デバイスマップを作成するための準備方法］
以上が、1394シリアルバスを用いるネットワークの構成および機能に関する説明である。以下では、デバイスマップを作成するための準備方法の概要を説明する。
【０１２５】
アプリケーションソフトウェアがデバイスマップを作成するために1394ネットワークの接続トポロジを知る手段として、1394シリアルバスには以下の手段が備わる。
(1)バスマネージャのトポロジマップレジスタをリードする。
(2)バスリセット時にセルフIDパケットから推定する。
【０１２６】
しかし上記の手段では、各ノードの親子関係から1394ケーブルの接続順のトポロジは判明するものの、物理的な位置関係のトポロジを知ることはできないし、実装されていないポートまで見えてしまう、といった問題がある。
【０１２７】
また、トポロジマップを作成するための情報を、コンフィギュレーションROM以外のデータベースとしてもつ、といった手段も考えられるが、その場合、各種情報を得る手段は、データベースアクセスやデータ転送などのプロトコルに依存することになる。
【０１２８】
一方、コンフィギュレーションROM自体やコンフィギュレーションROMを読む機能は、IEEE1394規格に適合または準拠するデバイスは必ずもつものである。そこで、デバイスの位置や機能などの情報を各ノードのコンフィギュレーションROMに格納し、それらの情報をアプリケーションソフトウェアから読み取る機能を与えることにより、データベースアクセスやデータ転送などの特定のプロトコルに依存せずに、各ノードのアプリケーションソフトウェアに所謂デバイスマップの表示機能を実現させることが可能になる。コンフィグレーションROMにはノード固有の情報として物理的な位置や機能などが格納可能であり、デバイスマップの表示機能の実現に使用することが可能である。
【０１２９】
このようにすれば、アプリケーションソフトウェアは、バスリセット時やユーザからの要求に応えて、各ノードのコンフィギュレーションROMから情報を読み取り、物理的な位置関係による1394ネットワークのトポロジを知ることが可能になる。さらに、ノードの物理的位置のみならず、コンフィギュレーションROMに記述された機能などの各種ノード情報を読むことで、ノードの物理的位置と併せて各ノードの機能情報なども得ることができる。
【０１３０】
アプリケーションソフトウェアが各ノードのコンフィギュレーションROMの情報を取得する際は、指定ノードの任意のコンフィギュレーションROMの情報を取得するためのアプリケーションインタフェイス(API)が用いられる。このような手段を用いることにより、1394ネットワーク上のデバイスのアプリケーションソフトウェアは、物理的なトポロジマップおよび各ノードの機能マップなど、用途に応じて様々なデバイスマップおよびリストを作成することができる。さらに、ユーザが必要な機能をもつデバイスを選択する、といったこともアプリケーションソフトウェアから可能になる。
【０１３１】
【第１実施形態】
本実施形態においては、1394シリアルバスを用いるようなネットワークにおいて、ネットワークに接続される各デバイスのコンフィギュレーションROMにデバイスの個別情報を含む機能情報を格納しておく。そして、コンフィギュレーションROMに格納された機能情報を利用して、デバイスのもつ機能を、その用途に応じて上手く表示することができ、なおかつ、接続する相手デバイスを検索および決定するような、アプリケーションソフトウェアとしてのサービスを容易に実現することである。
【０１３２】
［構成］
図22は本発明にかかる検索・表示方法を備える画像処理装置の構成例を示すブロック図である。この画像処理装置には、ディジタルカメラなどで撮影された画像データがコンパクトフラッシュ(CF)カード22または1394インタフェイス11を経由してハードディスク(HD)24の所定領域へ保存される。そして、HD24に保存された画像データは、ディスプレイ18やタッチパネル20を用いて、ユーザが任意に編集可能である。さらに、1394インタフェイス11を介して、1394ネットワークに接続されたプリンタなどに画像データを送り、画像データが表す画像をプリントさせる機能や、1394ネットワーク上の所望の装置を選択するための選択候補作成機能を有する。
【０１３３】
ディスプレイ18、タッチパネル20、CFカード22、HD24および1394インタフェイス11、並びに、ROM15、RAM16、MPU13およびASIC14などからなるコントローラ12は、それらを駆動するドライバやファームソフトウェアによって、上位のアプリケーションソフトウェアから自在にコントロールできる。
【０１３４】
図23は1394インタフェイス11の構成例を示すブロック図である。1394インタフェイス11は、フィジカルレイヤ811を実現するフィジカルレイヤIC(PHY IC)116、リンクレイヤ812を実現するリンクレイヤIC(LINK IC)11およびコンフィグレーションROM11cから構成される。コンフィグレーションROM11cは、例えばEEPROMなどから構成され、1394シリアルバスを介した外部からの書き込みは不可能であるが、コントローラ12のMPU13からは書き換え自在である。
【０１３５】
画像処理装置に組み込まれるアプリケーションソフトウェアには、画像編集、プリント、1394ネットワーク上の所望装置の選択などの機能が盛り込まれる。上記の機能がプログラムされたアプリケーションソフトウェアのコードは、ROM15あるいはHD24の所定領域に格納され、RAM16上に展開されて所定の処理を実行する。
【０１３６】
また、HD24の選択設定情報格納領域には、1394ネットワーク上の所望装置を選択する機能を実行する際に必要となる選択設定情報が格納され、画像処理装置の電源がオフになっても前回の情報が残る。さらに、RAM16には、必要な変数を保存するためや、一時的な状態保存のために領域16aが確保されている。
【０１３７】
［処理］
図24は画像処理装置のアプリケーションソフトウェアによる処理の概要を示すフローチャートである。アプリケーションソフトウェアが起動されると、ステップS11で処理選択画面が表示され、ユーザの選択に応じてステップS12からS15で処理が分岐する。すなわち「1394ネットワーク上の装置の選択」が選ばれた場合はステップS16で「1394ネットワーク上の装置の選択処理」が、「プリント」が選ばれた場合はステップS17で「プリント処理」が、「画像編集」が選ばれた場合はステップS18で「画像編集処理」がそれぞれ実行される。また「終了」が選ばれた場合、アプリケーションソフトウェアは処理を終了する。なお、図24には示さないが、上記以外の処理も存在してよく、それらの処理が選ばれればそれに応じた適切な処理が実行される。
【０１３８】
●ネットワーク上の装置の選択
図25は「ネットワーク上の装置の選択処理」を示すフローチャートである。
【０１３９】
新たな装置を探し出す「選択候補更新処理」(S21)、および、設定条件に合致する候補を表示する「設定条件に合致する候補表示処理」(S22)により、図26に示すような選択候補の装置リストウィンドウが表示される。なお、図26の表示は設定条件が「プリンタ」の場合の装置リスト例である。
【０１４０】
続いて、ステップS23からS25の判定により、設定条件を変更するか、装置リストに含まれる装置の詳細を表示するか、他のアプリケーションに切り替えるかに応じて処理が分岐する。ここで、他のアプリケーションに切り替えるとは、例えば、選択した装置によりプリントを行うなどの処理である。なお、どの処理が選択された場合でも、図24に示したメインルーチンへ戻る際には設定が保存される。
【０１４１】
図26に示すウィンドウボックス左上のチェックボックスにより設定条件の変更が選択された場合はステップS26の「設定条件の変更処理」およびステップS27の「設定条件の保存処理」が実行される。また、装置名を表示するウインドウボックス内のチェックボックスが選択された場合はステップS28の「装置の機能表示処理」が実行される。その後、処理はステップS22へ戻り、再び「設定条件に合致する候補表示処理」が実行される。
【０１４２】
また、図26に示すウィンドウ下に示すボタンによりプリントが選択された場合はステップS29の「設定の保存処理」およびステップS30の「アプリケーション切替処理」が実行される。
【０１４３】
なお、図26に示すウインドウの例えば右上に示すクローズボックスが選択された場合は、「1394ネットワーク上の装置の選択処理」は終了し、図24に示すメインルーチンに復帰する。
【０１４４】
●プリント
図27は装置リストから装置を選んでプリントを行う処理を示すフローチャートで、ステップS30の処理に相当する。
【０１４５】
ステップS31で、選択された装置と接続し通信チャネルを確保するために、選択された装置にログイン(login)処理を行い、ステップS32でログインが許可されたか否かを判定する。ログインが許可されればステップS33で、プリントアプリケーションが動作され、プリントすべき画像データが選択され、確保された通信チャネルによりプリント処理が実行される。もし、ログインが許可されなければリトライし、それでも接続できなければエラーを表示した後、図25に示したルーチンへ戻る。
【０１４６】
●選択候補の更新
図28はステップS21の「選択候補更新処理」の詳細を示すフローチャートである。
【０１４７】
HD24から前回保存されたユニットリストテーブル(Unit List Table)を呼び出し(S41)、1394ネットワークに接続されたすべての装置のコンフィグレーションROMから装置情報を取得する(S42)。そして、取得した装置情報に基づき、ユニットリストテーブルに登録されていない装置があるか否かを判定し(S43)、未登録の装置があればその装置の情報をユニットリストテーブルへ追加する(S44)。
【０１４８】
また、未登録の装置がなければ、予め登録されている装置の中に長期間接続されていない装置があるか否かを調べ(S45)、長期間未接続の装置があれば、その装置の情報をユニットリストテーブルから削除する(S46)。なお、ユニットリストテーブルから装置の情報を削除する未接続期間は任意に設定することができるが、例えば、所定回数のバスリセットが行われた後、または、所定期間が経過した後にその情報を削除するようにすればよい。
【０１４９】
次に、ステップS44でユニットリストテーブルへの追加を行った場合、または、ステップS45で長期間未接続の装置がなかった場合は、装置のコンフィグレーションROMの内容をカバーする機能リストテーブル(function list table)を呼び出す(S47)。続いて、ユニットリストテーブルに登録された装置に機能ユニットが追加または更新されたか否かを調べ(S48)、追加または更新があればユニットリストテーブルを参照して、新たな機能シリアル番号(function serial #)と、その機能に関する情報とに基づき、機能リストテーブルを更新する(S49)。その後、図25に示したルーチンへ戻る。
【０１５０】
また、機能ユニットの追加がない場合は、長期間使用されていない機能ユニットがあるか否かを調べ(S50)、長期間未使用の機能ユニットがあれば後述するステップS51へ進む。また、長期間未使用の機能ユニットがなければ図25に示したルーチンへ戻る。
【０１５１】
一方、ステップS46でユニットリストテーブルからの削除を行った場合、または、長期間使用されていない機能ユニットがある場合は、機能リストテーブルを呼び出し、ユニットリストテーブルの情報を参照して、ユニットリストテーブルから削除された装置に関連する、または、長期間未使用の機能ユニットの機能シリアル番号と、その機能に関する情報とを削除する(S51)。その後、図25に示したルーチンへ戻る。
【０１５２】
なお、ユニットリストテーブルや機能リストテーブルの詳細は後述する。
【０１５３】
●選択候補の表示
図29はステップS22の「設定条件に合致する候補の表示処理」を示すフローチャートである。ステップS61で、設定された各検索条件別に装置を検索して、検索結果を設定された優先度の順に並べ替える。ステップS62では特定の検索条件にリンクされた表示設定に従い選択候補を表示した後、図25に示したルーチンへ戻る。
【０１５４】
図26は条件「設定1」で検索された装置が、「設定1」にリンクする「表示設定1」により選択候補を表示した例を示している。この例では、「設定1」として設定された検索条件である「接続されている、または、接続されたことがあるプリンタ」に従い検索した結果を、表示設定1として設定された表示条件である「使用頻度が高い順に表示」に従い表示した例である。
【０１５５】
図26に示すウィンドウボックスの左上に示されているのはチェックボックスと、「設定1」の検索条件である「Printer」が表示されている。このウィンドウボックスの中には複数の装置単位のウィンドウボックスがあり、装置単位のウィンドウボクッスは「設定1」にリンクする「表示設定1」の表示条件で設定された順に表示されている。例えば、装置単位のウィンドウボックスの一番上である「Printer-1」を例にとると、左から「特定の機能装置の総称および個別の装置を特定するための番号」（以下、単に「機能別の特定番号」と呼ぶ）、括弧（[]）で括られた「ユーザニックネーム」、「装置会社名」、「モデル名」およびチェックボックスから構成されている。なお、「Printer-2」のようにダーク表示されているウィンドウボックスに装置は、過去に接続されたが現在は接続されていないことを表している。
【０１５６】
また、「Printer-5」および「Printer-3」は、ユーザックネームが未設定で、会社名およびモデル名が共通である。つまり、「Printer-5」および「Printer-3」は、同じ会社の同じモデル名の装置であることを意味し、機能別の特定番号の「Printer-5」および「Printer-3」だけで区別される。
【０１５７】
また、この表示例では、装置単位のウィンドウボックスは使用頻度順に表示されているので「Printer-1」「Printer-2」「Printer-5」「Printer-3」の順に使用頻度が低いことが示されている。
【０１５８】
また、「Printer-4」に対応するウィンドウボックスが存在しないのは、「Printer-4」に対応する装置が所定期間以上、未接続か、例え物理的に接続されていたとしても電源が供給されていない状態で、接続情報、固有設定情報および装置情報などが、機能別の特定番号とともに破棄されてしまったことを示している。
【０１５９】
●設定条件の変更
図26に示すウィンドウボックスの左上のチェックボックスをチェックすると、図30および図31に示す設定条件の変更処理が実行される。
【０１６０】
ステップS71で設定条件リストが読み出され、ステップS72からS76でユーザの操作により処理を分岐する。
【０１６１】
「選択優先度」タグが選択された場合、ステップS77で選択優先度の項目を表示し（図32参照）、ステップS78でユーザにより優先度が設定され、ステップS79でタグの領域外が選択されればステップS89へ進む。タグの領域外が選択されない限りはステップS77からS79を繰り返す。
【０１６２】
なお、図32に示す選択優先度タグの表示例には、選択のための優先度が上位の項目から記載されている。すなわち、第一優先は「機器装置機能特定情報」で「Printer」という機能機器をすべて選択する。第二優先は「場所特定情報」で「小川さんちの1F居間（この場所を表示簡便上“A”とする）」にある機器をすべて選択する。第三優先は「プロトコル・アプリサービス情報」でプロトコルが「SBP-2」か「Thin」であるものをすべて選択する。第四優先は「使用状況」、第五優先は「使用実績」、第六優先は「特定名称」であるが、これらはすべてを網羅する条件付けがされている。
【０１６３】
「表示設定」タグが選択された場合、ステップS80で表示設定の項目を表示し（図33参照）、ステップS81でユーザにより表示順が設定され、ステップS82でタグの領域外が選択されればステップS89へ進む。タグの領域外が選択されない限りはステップS80からS82を繰り返す。
【０１６４】
なお、図33に示す表示設定タグの表示例には、表示のための順番が記載されている。第一表示は「特定機器種別情報」およびその個別認識番号(n)のセット、第二表示は「場所特定情報」で“A”という場所、第三表示は「特定名称」、第四表示は「製造者(VENDER)名」、第五表示は「モデル(MODEL)名」である。
【０１６５】
「その他の設定」タグが選択された場合、ステップS83でその他の設定の項目を表示し（図34参照）、ステップS84でユーザにより機能別の設定#が選択され、ステップS85でタグの領域外が選択されればステップS89へ進む。タグの領域外が選択されない限りはステップS83からS85を繰り返す。
【０１６６】
なお、図34に示すその他の設定タグの表示例には、設定#およびそれに対応する特定機器種別情報のリストが記載されている。そして、現在選択されている設定#は、それに隣接するチェックボックスがチェックされていることで示される。
【０１６７】
「デフォルト」タグが選択された場合、ステップS86でデフォルト設定の項目を表示し（図35参照）、ステップS87でユーザにより項目が変更され、ステップS88でタグの領域外が選択されればステップS89へ進む。タグの領域外が選択されない限りはステップS86からS88を繰り返す。
【０１６８】
なお、図35に示すデフォルトタグの表示例には、デフォルトの各種設定が記載されている。このデフォルト例では、設定1が選択され、設定画面を一画面で表示し、場所別に画面分割（ウィンドウボックス別）にすることが示されている。
【０１６９】
さらに、例えば「ESC」キーが押されたなど、ユーザから設定条件の変更を終了する旨の指示があった場合、ステップS76の判定により設定条件の変更処理を終了する。
【０１７０】
次に、ステップS89でさらに設定条件を変更するか否かをユーザに問い、さらに設定条件を変更する旨の指示があればステップS72へ戻る。そうでなければステップS90以降へ進み、変更された設定の反映および保存に関する処理を行う（図35参照）。
【０１７１】
つまり、ユーザにより、図36に示す設定保存ダイアログの「設定変更を反映しない」が選ばれれば、設定条件の変更処理を終了して図25に示したルーチンへ戻る。また「設定変更を反映して表示」または「設定変更を反映して表示ならびに保存」が選ばれればステップS91でワーク上の設定条件リストの内容を更新し、「設定変更を反映して表示ならびに保存」が選ばれればステップS93でワーク上の設定条件リストをHD24の格納領域24aに保存する。これらの処理が終了した後、図25に示したルーチンへ復帰する。
【０１７２】
●装置の機能表示
図26に示す選択候補の装置リストウィンドウにおいて、「Printer-#」部分をクリックすると装置の機能が表示される。図37はこの装置の機能表示処理（ステップS28）の詳細を示すフローチャートである。
【０１７３】
ステップS101で選択された装置の機能の概要が表示される（図38参照）。図38に示すポップアップボックスには、装置の機能概要として「プロトコル・アプリサービス情報」「機器装置特性」「使用状況・使用実績」および「特定名称・場所情報」が表示されている。
【０１７４】
図38では「プロトコル・アプリサービス情報」として「SBP-2/SAM2/LIPS3」および「Thin/DPP」の二つのレイヤモデルが存在することが示されている。前者の「SBP-2/SAM2/LIPS3」は、下位のプロトコルレイヤのSBP-2上にSCSIのSAM2コマンドを載せ、上位のアプリコマンドはプリンタコマンドのLIPS3であるレイヤモデルを表す。後者の「Thin/DPP」は、下位のプロトコルレイヤがThinで、上位のアプリコマンドがDPPであるレイヤモデルを表す。上記の二つのレイヤモデルは、プリンタとの接続において、どちらでも使用可能であることを示している。具体的には、プリンタが特定され、プリント処理に移った時点で何れかのレイヤモデルがアプリケーションに合わせて選択的に導入される。また、図37では「機器装置特性」として「Color LBP（カラーレーザビームプリンタ）」が示されている。
【０１７５】
「Color LBP」などの各項目の右に配置されているチェックボックスは、その項目にさらに詳細な情報があることを表している。そのチェックボックスをチェックすると、ステップS102で装置の機能の詳細表示が選択され、ステップS103でユニットリストテーブルを参照して、指示された項目の詳細な機能が表示される（図39参照）。
【０１７６】
図39は「Color LBP」の項目の詳細表示が選択された場合を示し、カセット、印刷グレードおよび追加機能のハンドリングなどに関する詳細な情報がポップアップウィンドウに上に表示される。
【０１７７】
また、図38に示す「使用状況・使用実績」には、このプリンタの状態が表示がされ、「接続中」の状態表示に隣接するチェックボックスをチェックすると、図40に示す詳細な接続状況および過去の使用実績がポップアップウィンドウに表示される。なお、ポップアップウィンドウに表示しきれない部分があるときは三角記号（▽）が表示され、未表示の情報があることが示される。
【０１７８】
図38に示す「特定名称・場所情報」には、このプリンタ名称が「Susan」で、設置場所が「小川さんちの1F居間」であることがわかる。さらに、その右のチェックボックスをチェックすることによって、図には示されないが、装置の製造者名およびモデル名などがポップアップウィンドウに表示される。
【０１７９】
なお、ポップアップウィンドウの領域外をクリックすることにより、一つ前のポップアップウィンドウまたは図25に示すルーチンへ戻ることができる。
【０１８０】
●装置の選択
図41は「Printer-1」を最終的に選択した場合の表示例を示す図で、「Printer-1」のウィンドウボックスの右端のチェックボックスがチェックされることで、装置が選択されたことになる。この状態で、プリント処理を実行すると、選択された「Printer-1」という装置との間で接続が行われ、その後、プリントアプリケーションが起動され、印刷のための手続きが行われる。
【０１８１】
●選択候補の表示例
図42は設定1における選択候補の表示例を示す図であるが、図26に示す選択候補の表示に対して、図33に示す表示設定タグで「場所特定情報」を「小川さんち/1F 居間;B or 小川さんち/2F パパの部屋;A」に変更した例である。つまり、図35に示すように「場所別に画面分割」がデフォルトに設定されているので、同じ設定1の選択条件を用いるが、場所特定情報が「1F 居間」および「2F パパの部屋」に別れるため、選択候補の表示が場所別に分割される。
【０１８２】
このうち、「パパの部屋」における設定1の選択候補表示から、「Printer-1」「Printer-2」および「Printer-5」の三つのプリンタが「2F パパの部屋」に配置されていることがわかる。また、「1F 居間」における設定1の選択候補表示から、「Printer-3」のプリンタが「1F 居間」に配置されていることがわかる。
【０１８３】
［コンフィグレーションROM］
図43は前述した一般形式のコンフィグレーションROMのより詳しい構成を示す図である。
【０１８４】
各デバイスのソフトウェアユニット情報はユニットディレクトリズ(Unit Directories)1004に、ノード固有の情報はノード依存情報ディレクトリ(Node Dependent Info Directory)1003に保存されている。従って、装置のトランスポートや、その上のレイヤの情報は、ユニットディレクトリズ(Unit Directories)1004のソフトウェアユニット情報から知ることができる。
【０１８５】
また、プリンタ機能、スキャナ機能といった各デバイスがサポートする機能に関する情報はルートディレクトリ(Root directory)1002からオフセットされるサブディレクトリである機能ディレクトリ(Function Directory)1007に格納することが可能である。機能ディレクトリ(Function Directory)1007には、予めクラス分けされた機能カテゴリの分類情報へのポインタ情報(Function_class entry)、各機能に対応するソフトウェア情報を保存するユニットディレクトリズ(Unit Directories)1004へのポインタ情報(Unit directory offset entry)が格納されるほか、それぞれの機能に関する固有情報が格納される。装置の能力情報、すなわち図44に示す機能情報(func info.)以下の階層に含まれる情報もこれに含まれる。なお、図44は機能リストに含まれる個別の装置の情報を示す図である。
【０１８６】
本実施形態に対応するすべての装置は、コンフィグレーションROMのノード依存情報ディレクトリ(Node Dependent Info Directory)1003に自ノードの固有情報とともに、予め定められた形式に則り、自ノードの所在場所情報をポジション情報エントリ(Position info entry)に格納、保持することが可能である。
【０１８７】
図43に示すように、すべてのノードはコンフィグレーションROMのノード依存情報ディレクトリ(Node Dependent Info directory)1003に自ノードの固有情報とともに、予め定められた形式に則り、自ノードの機能の変更情報を機能情報世代エントリ(Function info generation entry)に格納、保持することが可能である。
【０１８８】
この自ノードの機能情報世代エントリ(Function info generation entry)に格納されている変更情報を読み出して、そのまま他の情報とともに機能ID別にリストした機能リストテーブルを図45および46に示す。
【０１８９】
図45に示すように、各ノードの機能情報世代エントリには、リセット後の初期値‘000’が設定される。機能情報世代エントリは、書き換え可能であり、機能情報の変更に伴いその値が更新される。この様子が図45および図46に示されている。つまり、インクジェットプリンタである「Printer-3」は、そのカラープリントヘッドをスキャナヘッドに交換することで、その機能をプリンタからスキャナに切り替えることができる。このとき、「Printer-3」は、自身のコンフィグレーションROMの機能情報を変更し、これに伴い、機能情報世代エントリを初期値‘000’から‘001’にインクリメントする。
【０１９０】
一方、見方を変えると、図45において「Printer-3」と「Scanner-4」とはOUI-64が全く同じであり、これはノードが同じであることを示している。また「Printer-3」はavailableであるが「Scanner-4」はunavailableであり、かつ、機能情報世代エントリ(Function info generation entry)が‘000’であることから、機能情報は未更新であり、プリンタ機能が使用可能であることが示される。
【０１９１】
次に、図46においては、OUI-64が同じ「Printer-3」と「Scanner-4」とは、ともに機能情報世代エントリ(Function info generation entry)が‘001’であり、機能の変更により利用可能な機能がスキャナ機能に変更されていることがわかる。
【０１９２】
なお、機能や所在場所が変更された場合、その旨を示す更新情報を1394ネットワークに接続された他の装置にブロードキャストすることもできる。このようにすれば、更新情報を受信した装置は、更新情報を発行した装置のデバイス情報を取得するだけでデバイスマップや機能リストテーブルを更新することが可能になる。
【０１９３】
図43に示すように、すべてのノードは、コンフィグレーションROMのノード依存情報ディレクトリ(Node Dependent Info Directry)1003に、自ノードの固有情報とともに、予め定められた形式に則り、自ノードの使用状況および接続状況を使用情報エントリ(Use info entry)および接続情報エントリ(Connection info entry)に格納、保持することが可能である。これらの情報を読み出すことにより、そのノードの使用状況、接続状況および使用実績を知ることができる。
【０１９４】
上述したように、図43に示すコンフィグレーションROMには、デバイス情報のほかに、ポジション情報エントリ(Position info entry)に格納されている所在場所情報、使用情報エントリ(Use info entry)および接続情報エントリ(Connection info entry)に格納されている使用状況、接続状況および使用実績、ユニットディレクトリズ(Unit Directories)に格納されているプロトコル・アプリサービス情報、並びに、機能情報世代エントリ(Function info generation entry)に格納されている機能の変更情報などが含まれる。
【０１９５】
前述したように、コンフィグレーションROMから情報を読み出して、HD42および/またはRAM16上で管理される機能リストテーブルを更新する。また、図45および46に示される機能リストテーブルは、機能ID別に実際に管理されている情報の詳細を階層化して示している。
【０１９６】
以上の説明したように、本実施形態によれば、例えばプリントを行いたい場合、その前に所望のプリンタを速やかに容易に選択するための仕組みを提供することができる。
【０１９７】
以上説明したように本実施形態によれば、1394シリアルバスなどを用いるネットワーク上に複数のデバイスが接続された環境で、所望する装置を優先度を与えた条件別に検索しリストすることができる。さらに、リスト上では装置に固有の名称で各装置を扱うことができるので、同一メーカの同一機種の装置が複数接続されている場合でも、容易に表示デバイスと実デバイスとの対応を取ることができる。
【０１９８】
さらに、上記の優先度条件別の検索に際して、複数の項目で優先度の高い順に装置を検索して、設定条件に合致する項目の多い装置順にリストを作成し、表示することができるため、ユーザは、より優先度の高い装置を容易に選択することができる。
【０１９９】
さらに、検索範囲を指定することが可能なので、ユーザは、所望する装置の選択において、装置の絞り込みを容易に行うことができ、効率のよく装置を選択することが可能になる。
【０２００】
さらに、条件設定および検索後の表示に際して、機種別のシリアル番号を用いて装置を特定し、このシリアル番号によるナンバリングを所定期間保持することができるので、ユーザは、装置の選択において、同じシリアル番号を使用でき、戸惑うことなく装置を選択することができる。
【０２０１】
また、デバイス情報や所在場所情報が更新された場合、その更新情報はコンフィグレーションROMに格納されるので、コンフィグレーションROMのすべての情報を読む必要がなく、更新情報または更新情報により指示されるデバイス情報や所在地情報を読むだけでデバイスの機能や状態がどのように変更されたかを知ることができる。
【０２０２】
さらに、デバイスマップを更新するような場合、更新情報に基づきデバイス情報が更新された装置のデバイス情報だけを取得してデバイスマップを変更すれば済み、デバイスマップの更新時間を短縮できるとともに、ネットワークのトラフィックも大幅に軽減することができる。
【０２０３】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０２０４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【０２０５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【０２０６】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、図24から37の範囲に示すフローチャートに対応するプログラムコードが格納されることになる。
【０２０７】
【発明の効果】
以上説明したように、本発明によれば、ネットワークに接続されたデバイスを検索する度に、検索するデバイスを特定するための複数の特定情報を入力する必要をなくして、ユーザの手間を軽減することができる。
【図面の簡単な説明】
【図１】  1394シリアルバスを用いて構成されるネットワークシステムの例を示す図、
【図２】  1394インタフェイスの構成例を示す図、
【図３】リンクレイヤが提供するサービスを示す図、
【図４】トランザクションレイヤが提供するサービスを示す図、
【図５】  1394シリアルバスにおけるアドレス空間を説明する図、
【図６】  CSRコアレジスタに格納される情報のアドレスおよび機能を示す図、
【図７】シリアルバスレジスタに格納される情報のアドレスおよび機能を示す図、
【図８】最小形式のコンフィグレーションROMを示す図、
【図９】一般形式のコンフィグレーションROMを示す図、
【図１０】ユニット空間のシリアルバス装置レジスタに格納される情報のアドレスおよび機能を示す図、
【図１１】  IEEE1394規格に準拠した通信ケーブルの断面図、
【図１２】  DS-Link方式を説明する図、
【図１３】  1394ネットワークにおけるバスリセット起動後の状態を説明する図、
【図１４】  1394ネットワークにおけるバスリセットの開始からノードIDの割り当てまでの手順を示すフローチャート、
【図１５】親子関係の宣言を行う処理の詳細例を示すフローチャート、
【図１６】ノードIDの割り当て処理の詳細例を示すフローチャート、
【図１７】セルフIDパケットの構成例を示す図、
【図１８】  1394ネットワークにおける調停を説明する図、
【図１９】通信サイクルの一期間にアイソクロナス転送モードおよびアシンクロナス転送モードが混在された状態を示す図、
【図２０】アイソクロナス転送モードにより転送されるパケットのフォーマットを示す図、
【図２１】アシンクロナス転送モードにより転送されるパケットのフォーマットを示す図、
【図２２】本発明にかかる検索・表示方法を備える画像処理装置の構成例を示すブロック図、
【図２３】図22に示す1394インタフェイスの構成例を示すブロック図、
【図２４】画像編集装置のアプリケーションソフトウェアによる処理の概要を示すフローチャート、
【図２５】「ネットワーク上の装置の選択処理」を示すフローチャート、
【図２６】選択候補の装置リストウィンドウを示す図、
【図２７】装置リストから装置を選んでプリントを行う処理を示すフローチャート、
【図２８】「選択候補更新処理」の詳細を示すフローチャート、
【図２９】「設定条件に合致する候補の表示処理」を示すフローチャート、
【図３０】設定条件の変更処理を示すフローチャート、
【図３１】設定条件の変更処理を示すフローチャート、
【図３２】選択優先度の項目の表示例を示す図、
【図３３】表示設定の項目の表示例を示す図、
【図３４】その他の設定の項目の表示例を示す図、
【図３５】デフォルト設定の項目の表示例を示す図、
【図３６】設定保存ダイアログを示す図、
【図３７】機能表示処理の詳細を示すフローチャート、
【図３８】選択された装置の機能の概要表示例を示す図、
【図３９】指示された項目の詳細な機能表示例を示す図、
【図４０】詳細な接続状況および過去の使用実績を示すポップアップウィンドウを示す図、
【図４１】「Printer-1」を最終的に選択した場合の表示例を示す図、
【図４２】設定1における選択候補の表示例を示す図、
【図４３】一般形式のコンフィグレーションROMのより詳しい構成を示す図、
【図４４】機能リストに含まれる個別の装置の情報を示す図、
【図４５】更新前の機能リスト例を示す図、
【図４６】更新後の機能リスト例を示す図である。
【図１】
0004424700.tif 000002
【図２】
0004424700.tif 000003
【図３】
0004424700.tif 000004
【図４】
0004424700.tif 000005
【図５】
0004424700.tif 000006
【図６】
0004424700.tif 000007
【図７】
0004424700.tif 000008
【図８】
0004424700.tif 000009
【図９】
0004424700.tif 000010
【図１０】
0004424700.tif 000011
【図１１】
0004424700.tif 000012
【図１２】
0004424700.tif 000013
【図１３】
0004424700.tif 000014
【図１４】
0004424700.tif 000015
【図１５】
0004424700.tif 000016
【図１６】
0004424700.tif 000017
【図１７】
0004424700.tif 000018
【図１８】
0004424700.tif 000019
【図１９】
0004424700.tif 000020
【図２０】
0004424700.tif 000021
【図２１】
0004424700.tif 000022
【図２２】
0004424700.tif 000023
【図２３】
0004424700.tif 000024
【図２４】
0004424700.tif 000025
【図２５】
0004424700.tif 000026
【図２６】
0004424700.tif 000027
【図２７】
0004424700.tif 000028
【図２８】
0004424700.tif 000029
【図２９】
0004424700.tif 000030
【図３０】
0004424700.tif 000031
【図３１】
0004424700.tif 000032
【図３２】
0004424700.tif 000033
【図３３】
0004424700.tif 000034
【図３４】
0004424700.tif 000035
【図３５】
0004424700.tif 000036
【図３６】
0004424700.tif 000037
【図３７】
0004424700.tif 000038
【図３８】
0004424700.tif 000039
【図３９】
0004424700.tif 000040
【図４０】
0004424700.tif 000041
【図４１】
0004424700.tif 000042
【図４２】
0004424700.tif 000043
【図４３】
0004424700.tif 000044
【図４４】
0004424700.tif 000045
【図４５】
0004424700.tif 000046
【図４６】
0004424700.tif 000047