(57)【特許請求の範囲】
【請求項１】
ホームネットワーク内に存在するデバイスと通信可能な電子機器であって、
前記ホームネットワーク内に存在するデバイスと通信可能な通信手段と、
前記電子機器に関する情報と、前記電子機器の位置情報とを記憶する記憶手段とを有し、
前記電子機器の位置情報が不定の場合、前記電子機器は、前記通信手段に直接接続されているデバイスの位置情報を取得し、取得した位置情報を前記電子機器の位置情報として前記記憶手段に格納することを特徴とする電子機器。
【請求項２】
前記通信手段は、ＩＥＥＥ１３９４規格に準拠した通信手段であることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記電子機器に関する情報は、前記電子機器がサポートする機能に関する情報を含むことを特徴とする請求項１又は２に記載の電子機器。
【請求項４】
前記記憶手段は、コンフィギュレーション（ｃｏｎｆｉｇｕｒａｔｉｏｎ）ＲＯＭであることを特徴とする請求項１から３のいずれかに記載の電子機器。
【請求項５】
前記通信手段は、部屋に設置されているアウトレットと接続可能であり、
前記アウトレットは、前記アウトレットが設置されている部屋を示す情報を前記アウトレットの位置情報として有することを特徴とする請求項１から４のいずれかに記載の電子機器。
【請求項６】
前記電子機器の位置情報は、前記電子機器が配置されている部屋を示す情報であることを特徴とする請求項１から５のいずれかに記載の電子機器。
【請求項７】
前記電子機器の位置情報は、前記電子機器から前記ホームネットワーク内に存在するデバイスに提供可能な情報であることを特徴とする請求項１から６のいずれかに記載の電子機器。
【請求項８】
前記電子機器に関する情報は、前記電子機器がサポートする通信プロトコルに関する情報を含むことを特徴とする請求項１から７のいずれかに記載の電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホームネットワーク内に存在するデバイスと通信可能な電子機器に関する。
【０００２】
【従来の技術】
従来、セントロニクス等のデジタルインタフェースを用いた通信システムでは、ホストとデバイスとが１対１に接続されていた。このような通信システムでは、接続したいデバイスが増加するとホストに多大な付加を与える問題があった。
【０００３】
このような問題を解決するために、近年、複数のデバイス（例えば、デジタルビデオ、デジタルカメラ、スキャナ、ホストコンピュータ等）を相互に接続可能するバス型の通信システムが考えれている。
【０００４】
このようなバス型通信システムでは、あるデバイスが他のデバイスを識別する手段として、各デバイスに対して固有のＩＤ情報を付与するのが一般的である。
【０００５】
このＩＤ情報は、例えば、デバイスを製造したメーカー固有のメーカーＩＤ、各メーカーがデバイスに対して自由に設定したデバイスＩＤ（例えばシリアルＮＯ．）からなり、各デバイスを特定することが可能である。
【０００６】
このＩＤ情報を使用することにより、バス型通信システム上のデバイスは、他のデバイスを特定することが可能となる。例えば、上述の通信システムを管理する管理機器が、各デバイスのＩＤ情報を表示画面上に表示させることによって、通信システムの管理や、便利性を向上させることができる。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述のバス型通信システムでは、次のような問題があった。
【０００８】
例えば、表示画面上のＩＤ情報から実際に配置されているデバイスを特定することは困難であった。なぜなら、上述のシステムでは、ユーザは、表示画面上に表示されたメーカーＩＤやデバイスＩＤによって各デバイスの配置位置を特定しなければならなかった。従って、例えば、同一メーカーの同一機種が複数個接続されている場合、ユーザは、所望のデバイスの配置位置を特定することが困難であった。
【０００９】
又、デバイス間の相対的な接続関係を表示可能とした場合においても、ユーザは、各デバイスの実際の接続状態と表示画面とを確認しながら所望のデバイスの配置位置を特定しなければならなかった。特に、通信システムの規模が大きく、各デバイスがユーザの視野範囲外に配置されている場合、ユーザは、所望のデバイスの配置位置を特定することが大変困難であった。
【００１０】
以上の背景から本発明は、所望のデバイスの配置位置を簡単に特定できるようにすることを目的とする。
【００１１】
【課題を解決するための手段】
本発明に係る電子機器は、ホームネットワーク内に存在するデバイスと通信可能な電子機器であって、前記ホームネットワーク内に存在するデバイスと通信可能な通信手段と、前記電子機器に関する情報と、前記電子機器の位置情報とを記憶する記憶手段とを有し、前記電子機器の位置情報が不定の場合、前記電子機器は、前記通信手段に直接接続されているデバイスの位置情報を取得し、取得した位置情報を前記電子機器の位置情報として前記記憶手段に格納することを特徴とする。
【００１５】
【発明の実施の形態】
以下、本発明の電子機器及び情報処理方法について図面を用いて詳細に説明する。
【００１６】
（第１の実施例）
図１は、本実施例のバス型通信システムをホームネットワークに適用した場合の構成を示す図である。
【００１７】
図１において、各部屋には、複数のコネクタを具備したアウトレット１０１が用意されている。各アウトレット１０１は、ＩＥＥＥ１３９４−１９９５規格（以下、ＩＥＥＥ１３９４規格）に準拠したデジタルインタフェースを具備している。本実施例では、ＩＥＥＥ１３９４規格に準拠したシリアルバス型の通信ケーブル（以下、１３９４ケーブル）を用いて各アウトレット１０１を接続することにより、各部屋間の通信が可能なホームネットワークを構成している。
【００１８】
尚、各部屋に固定的に配置されているアウトレット１０１は、リピータの機能を有し、異なる部屋に配置されたデバイス間のデータ通信を中継する。
【００１９】
各部屋に配置されているデバイスは、ＩＥＥＥ１３９４規格に準拠したデジタルインタフェース（以下、１３９４インタフェース）を具備しており、夫々１３９４ケーブルを介して接続されている。
【００２０】
図１において、Ｒｏｏｍ Ａには、インクジェットプリンタ１１０、スキャナ１１１、パーソナルコンピュータ（ＰＣ）１１２が配置されている。又、Ｒｏｏｍ Ｂにはデジタルビデオ１１３、Ｒｏｏｍ Ｃにはデジタルビデオ１１４、Ｒｏｏｍ Ｄには、インクジェットプリンタ１１５が配置されている。
【００２１】
ここで、２台あるデジタルビデオ１１３、１１４とインクジェットプリンタ１１０、１１５は、同一メーカの同一機種である。
【００２２】
本実施例において、ＰＣ１１２は、所定のアプリケーションを用いて、ホームネットワークに接続されたデバイスの接続状況、配置位置並びに各デバイスのサポートする機能情報等をモニタ上にデバイスマップとして表示し、ユーザのネットワーク管理を支援する。
【００２３】
図１に示すホームネットワークでは、例えば、ＰＣ１１２からインクジェットプリンタ１１０に送信されるプリントデータ（例えば、テキストデータや静止画像データ）、スキャナ１１１からＰＣ１１２に送信される静止画像データ、スキャナ１１１から直接インクジェットプリンタ１１５に送信される静止画像データ、デジタルビデオ１１４からＰＣ１１２に送信される動画像データ、デジタルビデオ１１３から直接プリンタ１１０に送信される静止画像データ、デジタルビデオ１１３からデジタルビデオ１１４に送信される動画像データ及び音声データ等のデジタルデータを時分割に転送する。
【００２４】
以下、本実施例のホームネットワークを実現する１３９４インタフェースの基本的な機能について説明する。尚、ＩＥＥＥ１３９４−１９９５規格についての詳細は、１９９６年の８月３０日にＩＥＥＥ（the Institute of Electrical and Electronics Engineers, Inc．）から出版された「ＩＥＥＥ Standard for a High Performance Serial Bus」に記述されている。
【００２５】
（１）概要
図２に１３９４インタフェースを具備する機器（以下、ノード）により構成される通信システム（以下、１３９４ネットワーク）の一例を示す。１３９４ネットワークは、シリアルデータの通信可能なバス型ネットワークを構成するものである。
【００２６】
図２において、各ノードＡ〜Ｈは、ＩＥＥＥ１３９４規格に準拠した通信ケーブルを介して接続されている。これらのノードＡ〜Ｈは、例えば、ＰＣ（Personal Computer）、デジタルＶＴＲ（Video Tape Recorder）、ＤＶＤ（Digital Video Disc）プレーヤ、デジタルカメラ、ハードディスク、モニタ等である。
【００２７】
１３９４ネットワークの接続方式は、ディジーチェーン方式とノード分岐方式とに対応しており、自由度の高い接続を可能としている。
【００２８】
又、１３９４ネットワークでは、例えば、既存の機器を削除したり、新たな機器を追加したり、既存の機器の電源をON／OFFしたりした場合に、自動的にバスリセットを行う。このバスリセットを行うことにより、１３９４ネットワークは、新たな接続構成の認識と各機器に対するＩＤ情報の割り当てとを自動的に行うことができる。この機能によって、１３９４ネットワークは、ネットワークの接続構成を常時認識することができる。
【００２９】
又、１３９４ネットワークは、他の機器から転送されたデータを中継する機能を有している。この機能により、全ての機器がバスの動作状況を把握することができる。
【００３０】
又、１３９４ネットワークは、Plug＆Playと呼ばれる機能を有している。この機能により、全ての機器の電源をＯＦＦにすることなく、接続するだけで自動に接続機器を認識することができる。
【００３１】
又、１３９４ネットワークは、１００／２００／４００Ｍｂｐｓのデータ転送速度に対応している。上位のデータ転送速度を持つ機器は、下位のデータ転送速度をサポートすることができるため、異なるデータ転送速度に対応する機器同士を接続することができる。
【００３２】
更に、１３９４ネットワークは、２つの異なるデータ転送方式（即ち、Asynchronous転送モードとIsochronous転送モード）に対応している。
【００３３】
Asynchronous転送モードは、必要に応じて非同期に転送することが要求されるデータ（即ち、コントロール信号やファイルデータ等）を転送する際に有効である。又、Isochronous転送モードは、所定量のデータを一定のデータレートで連続的に転送することが要求されるデータ（即ち、ビデオデータやオーディオデータ等）を転送する際に有効である。
【００３４】
Asynchronous転送モードとIsochronous転送モードとは、各通信サイクル（通常１サイクルは、１２５μＳ）内において、混在させることが可能である。各転送モードは、サイクルの開始を示すサイクル・スタート・パケット（以下、ＣＳＰ）の転送後に実行される。
【００３５】
尚、各通信サイクル期間内において、Isochronous転送モードの優先順位は、Asynchronous転送モードよりも優先順位よりも高く設定されている。又、Isochronous転送モードの転送帯域は、各通信サイクル内で保証される。
【００３６】
（２）アーキテクチャ
次に、図３を用いて１３９４インタフェースの構成要素を説明する。
【００３７】
１３９４インタフェースは、機能的に複数のレイヤ（階層）から構成されている。図３において、１３９４インタフェースは、ＩＥＥＥ１３９４規格に準拠した通信ケーブル３０１を介して他のノードの１３９４インタフェースと接続される。又、１３９４インタフェースは、１つ以上の通信ポート３０２を有し、通信ポート３０２は、ハードウェア部に含まれるフィジカル・レイヤ３０３と接続される。
【００３８】
図３において、ハードウェア部は、フィジカル・レイヤ３０３とリンク・レイヤ３０４とから構成されている。フィジカル・レイヤ３０３は、他のノードとの物理的、電気的なインタフェース、バスリセットの検出とそれに伴う処理、入出力信号の符号化／復号化、バス使用権の調停等を行う。又、リンク・レイヤ３０４は、通信パケットの生成と送受信、サイクルタイマの制御等を行なう。
【００３９】
又、図３において、ファームウェア部は、トランザクション・レイヤ３０５とシリアル・バス・マネージメント３０６とを含んでいる。トランザクション・レイヤ３０５は、Asynchronous転送モードの管理し、各種のトランザクション（リード、ライト、ロック）を提供する。シリアル・バス・マネージメント３０６は、後述するＣＳＲアーキテクチャに基づいて、自ノードの制御、自ノードの接続状態の管理、自ノードのＩＤ情報の管理、シリアルバスネットワークの資源管理を行う機能を提供する。
【００４０】
以上、ハードウェア部とファームウェア部とが実質的に１３９４インタフェースを構成するものであり、それらの基本構成は、ＩＥＥＥ１３９４規格により規定されている。
【００４１】
又、ソフトウェア部に含まれるアプリケーション・レイヤ３０７は、使用するアプリケーションソフトによって異なり、ネットワーク上でどのようにデータを通信するのかを制御する。例えば、デジタルＶＴＲの動画像データの場合は、ＡＶ／Ｃプロトコルなどの通信プロトコルによって規定されている。
【００４２】
（２−１）リンク・レイヤ３０４
図４は、リンク・レイヤ３０４の提供可能なサービスを示す図である。図４において、リンク・レイヤ３０４は、次の４つのサービスを提供する。即ち、▲１▼応答ノードに対して所定のパケットの転送を要求するリンク要求（LK_DATA.request）、▲２▼応答ノードに所定のパケットの受信を通知するリンク通知（LK_DATA.indication）、▲３▼応答ノードからのアクノリッジを受信したことを示すリンク応答（LK_DATA.response）、▲４▼要求ノードからのアクノリッジを確認するリンク確認（LK_DATA.confirmation）である。尚、リンク応答（LK_DATA.response）は、ブロードキャスト通信、Isochronousパケットの転送の場合には存在しない。
【００４３】
又、リンク・レイヤ３０４は、上述のサービスに基づいて、上述の２種類の転送方式、即ち、Asynchronous転送モード、Isochronous転送モードを実現する。
【００４４】
（２−２）トランザクション・レイヤ３０５
図５は、トランザクション・レイヤ３０５の提供可能なサービスを示す図である。図５において、トランザクション・レイヤ３０５は、次の４つのサービスを提供する。即ち、▲１▼応答ノードに対して所定のトランザクションを要求するトランザクション要求（TR_DATA.request）、▲２▼応答ノードに所定のトランザクション要求の受信を通知するトランザクション通知（TR_DATA.indication）、▲３▼応答ノードからの状態情報（ライト、ロックの場合は、データを含む）を受信したことを示すトランザクション応答（TR_DATA.response）、▲４▼要求ノードからの状態情報を確認するトランザクション確認（TR_DATA.confirmation）である。
【００４５】
又、トランザクション・レイヤ３０５は、上述のサービスに基づいてAsynchronous転送を管理し、次の３種類のトランザクション、即ち、▲１▼リード・トランザクション、▲２▼ライト・トランザクション、▲３▼ロック・トランザクションを実現する。
【００４６】
▲１▼リード・トランザクションは、要求ノードが応答ノードの特定アドレスに格納された情報を読み取る。
【００４７】
▲２▼ライト・トランザクションは、要求ノードが応答ノードの特定アドレスに所定の情報を書き込む。
【００４８】
▲３▼ロック・トランザクションは、要求ノードが応答ノードに対して参照データと更新データとを転送し、応答ノードの特定アドレスの情報とその参照データとを比較し、その比較結果に応じて特定アドレスの情報を更新データに更新する。
【００４９】
（２−３）シリアル・バス・マネージメント３０６
シリアル・バス・マネージメント３０６は、具体的に、次の３つの機能を提供することができる。３つの機能とは、即ち、▲１▼ノード制御、▲２▼アイソクロナス・リソース・マネージャ（以下、ＩＲＭ）、▲３▼バスマネージャである。
【００５０】
▲１▼ノード制御は、上述の各レイヤを管理し、他のノードとの間で実行されるAsynchronous転送を管理する機能を提供する。
【００５１】
▲２▼ＩＲＭは、他のノードとの間で実行されるIsochronous転送を管理する機能を提供する。具体的には、転送帯域幅とチャネル番号の割り当てに必要な情報を管理し、これらの情報を他のノードに対して提供する。
【００５２】
ＩＲＭは、ローカルバス上に唯一存在し、バスリセット毎に他の候補者（ＩＲＭの機能を有するノード）の中から動的に選出される。又、ＩＲＭは、後述のバスマネージャの提供可能な機能（接続構成の管理、電源管理、速度情報の管理等）の一部を提供してもよい。
【００５３】
▲３▼バスマネージャは、ＩＲＭの機能を有し、ＩＲＭよりも高度なバス管理機能を提供する。具体的には、より高度な電源管理（通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理）、より高度な速度情報の管理（各ノード間の最大転送速度の管理）、より高度な接続構成の管理（トポロジマップの作成）、これらの情報に基づくバスの最適化等を行ない、更にこれらの情報を他のノードに提供する機能を有する。
【００５４】
又、バスマネージャは、シリアルバスネットワークを制御するためのサービスをアプリケーションに対して提供できる。ここで、サービスには、シリアルバス制御要求（SB_CONTROL.request）、シリアルバス・イベント制御確認（SB_CONTROL.confirmation）、シリアルバス・イベント通知（SB_CONTROL.indication）等がある。
【００５５】
SB_CONTROL.requestは、アプリケーションがバスリセットを要求するサービスである。SB_CONTROL.confirmationは、SB_CONTROL.requestをアプリケーションに対して確認するサービスである。SB_CONTROL.indicationは、非同期に発生するイベントをアプリケーションに対して通知するサービスである。
【００５６】
（３）アドレス指定
図６は、１３９４インタフェースにおけるアドレス空間を説明する図である。
【００５７】
１３９４インタフェースは、ISO/IEC 13213:1994に準じたＣＳＲ（Command and Status Register）アーキテクチャに従い、６４ビット幅のアドレス空間を規定している。
【００５８】
図６において、最初の１０ビットのフィールド６０１は、所定のバスを指定するＩＤ番号に使用され、次の６ビットのフィールド６０２は、所定の機器（ノード）を指定するＩＤ番号に使用される。この上位１６ビットを「ノードＩＤ」と呼び、各ノードはこのノードＩＤにより他のノードを識別する。又、各ノードは、このノードＩＤを用いて相手を識別した通信を行うことができる。
【００５９】
残りの４８ビットからなるフィールドは、所定のノードの具備するアドレス空間（２５６Ｍバイト構造）を指定する。その内の２０ビットのフィールド６０３は、アドレス空間を構成する複数の領域を指定する。
【００６０】
フィールド６０３において、「０〜０ｘＦＦＦＦＤ」の部分は、メモリ空間と呼ばれる。「０ｘＦＦＦＦＥ」の部分は、プライベート空間と呼ばれ、各ノードで自由に利用できるアドレスである。又、「０ｘＦＦＦＦＥ」の部分は、レジスタ空間と呼ばれ、バスに接続されたノード間において共通の情報を格納する。各ノードは、レジスタ空間の情報を用いることにより、各ノード間の通信を管理することができる。
【００６１】
最後の２８ビットのフィールド６０４は、各ノードに共通、或いは固有の情報の格納されたアドレスを指定する。
【００６２】
例えば、レジスタ空間において、最初の５１２バイトは、ＣＳＲアーキテクチャーのコア（ＣＳＲコア）レジスタ用に使用される。ＣＳＲコア・レジスタに格納される情報のアドレス及び機能を図７に示す。図中のオフセットは、「０ｘＦＦＦＦＦ０００００００」からの相対位置である。
【００６３】
次の５１２バイトは、シリアルバス用のレジスタとして使用される。シリアルバス・レジスタに格納される情報のアドレス及び機能を図８に示す。図中のオフセットは、「０ｘＦＦＦＦＦ００００２００」からの相対位置である。
【００６４】
その次の１０２４バイトは、Configuration ROM用に使用される。
【００６５】
Configuration ROMには最小形式と一般形式とがあり、「０ｘＦＦＦＦＦ００００４００」から配置される。最小形式のConfiguration ROMを図９に示す。図９において、ベンダＩＤは、ＩＥＥＥにより各ベンダに対して固有に割り当てられた２４ビットの数値である。
【００６６】
又、一般形式のConfiguration ROMを図１０に示す。図１０において、上述のベンダＩＤは、Root Directory１００２に格納されている。Bus Info Block１００１とRoot Leaf１００５とには、各ノードを識別する固有のＩＤ情報としてノードユニークＩＤを保持することが可能である。
【００６７】
ここで、ノードユニークＩＤは、メーカ、機種に関わらず、１つのノードを特定することのできる固有のＩＤを定めるようになっている。ノードユニークＩＤは６４ビットにより構成され、上位２４ビットは上述のベンダＩＤを示し、下位４８ビットは各ノードを製造するメーカにおいて自由に設定可能な情報（例えば、ノードの製造番号等）を示す。尚、このノードユニークＩＤは、バスリセットの前後で継続して特定のノードを認識する場合に使用される。
【００６８】
又、図１０において、Root Directory１００２には、ノードの基本的な機能に関する情報を保持することが可能である。詳細な機能情報は、Root Directory１００２からオフセットされるサブディレクトリ（Unit Directories１００４）に格納される。Unit Directories１００４には、例えば、ノードのサポートするソフトウェアユニットに関する情報が格納される。具体的には、ノード間のデータ通信を行うためのデータ転送プロトコル、所定の通信手順を定義するコマンドセット等に関する情報が保持される。
【００６９】
又、図１０において、Node Dependent Info Directory１００３には、デバイス固有の情報を保持することが可能である。Node Dependent Info Directory１００３は、Root Directory１００２によりオフセットされる。
【００７０】
更に、図１０において、Vendor Dependent Information１００６には、ノードを製造、或いは販売するベンダ固有の情報を保持することができる。
【００７１】
残りの領域は、ユニット空間と呼ばれ、各ノード固有の情報、例えば、各機器の識別情報（会社名、機種名等）や使用条件等が格納されたアドレスを指定する。ユニット空間のシリアルバス装置レジスタ情報に格納される情報のアドレス及び機能を図１１に示す。図中のオフセットは、「０ｘＦＦＦＦＦ００００８００」からの相対位置である。
【００７２】
尚、一般的に、異種のバスシステムの設計を簡略化したい場合、各ノードは、レジスタ空間の最初の２０４８バイトのみを使うべきである。つまり、ＣＳＲコア・レジスタ、シリアルバス・レジスタ、Configuration ROM、ユニット空間の最初の２０４８バイトの合わせて４０９６バイトで構成することが望ましい。
【００７３】
（４）通信ケーブルの構成
図１２にＩＥＥＥ１３９４規格に準拠した通信ケーブルの断面図を示す。
【００７４】
通信ケーブルは、２組のツイストペア信号線と電源ラインとにより構成されている。電源ラインを設けることによって、１３９４インタフェースは、主電源のＯＦＦとなった機器、故障により電力低下した機器等にも電力を供給することができる。
【００７５】
又、通信ケーブルには、電源ラインを設けていない４ピンケーブルタイプのものもある。尚、電源線内を流れる電源の電圧は８〜４０Ｖ、電流は最大電流ＤＣ１．５Ａと規定されている。
【００７６】
２組のツイストペア信号線には、DS-Link（Data/Strobe Link）符号化方式にて符号化された情報信号が伝送される。
【００７７】
図１３は、DS-Link符号化方式を説明する図である。
【００７８】
このDS-Link符号化方式は、高速なシリアルデータ通信に適しており、その構成は、２組のより対線を必要とする。一組のより対線は、データ信号を送り、他のより対線は、ストローブ信号を送る構成になっている。受信側は、２組の信号線から受信したデータ信号とストローブ信号との排他的論理和をとることによって、クロックを再現することができる。
【００７９】
尚、DS-Link符号化方式を用いることにより、１３９４インタフェースは、次のような効果をあげることができる。▲１▼他の符号化方式に比べて転送効率が高い。▲２▼ＰＬＬ回路が不要となり、コントローラＬＳＩの回路規模を小さくできる。▲３▼アイドル状態であることを示す情報を送る必要が無いため、トランシーバ回路をスリープ状態とし易く、消費電力の低減が図れる。
【００８０】
（５）バスリセット
各ノードの１３９４インタフェースは、ネットワークの接続構成に変化が生じたことを自動的に検出することができる。この場合、１３９４ネットワークは以下に示す手順によりバスリセットと呼ばれる処理を行う。尚、接続構成に変化は、各ノードの具備する通信ポートかかるバイアス電圧の変化により検知することができる。
【００８１】
ネットワークの接続構成の変化（例えば、ノードの挿抜、ノードの電源のＯＮ／ＯＦＦなどによるノード数の増減）を検出したノード、又は新たな接続構成を認識する必要あるノードは、１３９４インタフェースを介して、バス上にバスリセット信号を送信する。
【００８２】
バスリセット信号を受信したノードの１３９４インタフェースは、バスリセットの発生を自身のリンク・レイヤ３０４に伝達すると共に、そのバスリセット信号を他のノードに転送する。バスリセット信号を受信したノードは、今まで認識していたネットワークの接続構成及び各機器に割り当てられたノードＩＤをクリアにする。最終的に全てのノードがバスリセット信号を検知した後、各ノードは、バスリセットに伴う初期化処理（即ち、新たな接続構成の認識と新たなノードＩＤの割り当て）を自動的に行う。
【００８３】
尚、バスリセットは、先に述べたような接続構成の変化による起動の他に、ホスト側の制御によって、アプリケーション・レイヤ３０７がフィジカル・レイヤ３０３に対して直接命令を出すことによって起動させることも可能である。
【００８４】
又、バスリセットが起動するとデータ転送は一時中断され、バスリセットに伴う初期化処理の終了後、新しいネットワークのもとで再開される。
【００８５】
（６）バスリセット起動後のシーケンス
バスリセットの起動後、各ノードの１３９４インタフェースは、新たな接続構成の認識と新たなノードＩＤの割り当てとを自動的に実行する。
【００８６】
以下、バスリセットの開始からノードＩＤの割り当て処理までの一般的なシーケンスを図１４〜１６を用いて説明する。
【００８７】
図１４は、図２の１３９４ネットワークにおけるバスリセット起動後の状態を説明する図である。
【００８８】
図１４において、ノードＡは１つの通信ポート、ノードＢは２つの通信ポート、ノードＣは２つの通信ポート、ノードＤは３つの通信ポート、ノードＥは１つの通信ポート、ノードＦは１つの通信ポートを具備している。各ノードの通信ポートには、各ポートを識別するためにポート番号を付されている。
【００８９】
以下、図１５のフローチャートを用いて、図１４におけるバスリセットの開始からノードＩＤの割り当てまで処理について説明する。
【００９０】
図１５において、１３９４ネットワークを構成する各ノードＡ〜Ｆは、バスリセットが発生したか否かを常時監視している（ステップＳ１５０１）。例えば、ノードの電源のＯＮ／ＯＦＦ等による接続構成の変化によりバスリセット信号が出力されると、各ノードは以下の処理を実行する。
【００９１】
バスリセットの発生後、各ノードは、夫々の具備する通信ポート間におけて親子関係の宣言を行なう（ステップＳ１５０２）。
【００９２】
各ノードは、全てのノード間の親子関係が決定されるまで、ステップＳ１５０２の処理を繰り返し行なう（ステップＳ１５０３）。
【００９３】
全てのノード間の親子関係が決定した後、１３９４ネットワークは、ネットワークの調停を行なうノード、即ちルートを決定する。（ステップＳ１５０４）。
【００９４】
ルートを決定した後、各ノードの１３９４インタフェースは、夫々に対して異なるノードＩＤを自動的に設定する作業を実行する（ステップＳ１５０５）。
【００９５】
ルートは、所定の手順に基づいて、全てのノードに対してノードＩＤの設定がなされるまでステップＳ１５０５の処理を実行する（ステップＳ１５０６）。
【００９６】
最終的に全てのノードに対してノードＩＤが設定された後、各ノードは、Isochronous転送、或いはAsynchronous転送を実行する（ステップＳ１５０７）。
【００９７】
ステップＳ１５０７の処理後、各ノードの１３９４インタフェースは、再びバスリセットの発生を監視する。バスリセットが発生した場合には、ステップＳ１５０１以降の処理を実行する。
【００９８】
以上の手順により、各ノードの１３９４インタフェースは、バスリセットが起動する毎に、新たな接続構成の認識と新たなノードＩＤの割り当てとを自動的に実行することができる。
【００９９】
（７）親子関係の決定
次に、図１６を用いて、図１５に示したステップＳ１５０２の処理（即ち、所定のノード間の親子関係を認識する処理）について詳細に説明する。
【０１００】
図１６において、バスリセットの発生後、１３９４ネットワーク上の各ノードＡ〜Ｆは、自分の具備する通信ポートの接続状態（接続又は未接続）を確認する（ステップＳ１６０１）。
【０１０１】
通信ポートの接続状態の確認後、各ノードは、他のノードと接続されている通信ポート（以下、接続ポート）の数をカウントする（ステップＳ１６０２）。
【０１０２】
ステップＳ１６０２の処理の結果、接続ポートの数が１つである場合、そのノードは、自分を「リーフ」であると認識する（ステップＳ１６０３）。ここで、リーフとは、１つのノードとのみ接続されているノードのことである。
【０１０３】
リーフとなるノードは、その接続ポートに接続されているノードに対して、「自分は子（Ｃｈｉｌｄ）」であることを宣言する（ステップＳ１６０４）。このとき、リーフは、その接続ポートを「親ポート（親ノードと接続された通信ポート）」であると認識する。
【０１０４】
ここで、親子関係の宣言は、まず、ネットワークの末端であるリーフとブランチとの間にて行われ、続いて、ブランチとブランチとの間で順次に行われる。各ノード間の親子関係は、早く宣言の行なえる通信ポートから順に決定される。又、各ノード間において、子であることを宣言した通信ポートは「親ポート」であると認識され、子であることの宣言を受けた通信ポートは「子ポート（子ノードと接続された通信ポート）」であると認識される。
【０１０５】
例えば、図１４において、ノードＡ、Ｅ、Ｆは、自分がリーフであると認識した後、親子関係の宣言を行う。これにより、ノードＡ−Ｂ間では子−親、ノードＥ−Ｄ間では子−親、ノードＦ−Ｄ間では子−親と決定される。
【０１０６】
又、ステップＳ１６０２の処理の結果、接続ポートの数が２つ以上の場合、そのノードは、自分を「ブランチ」であると認識する（ステップＳ１６０５）。ここで、ブランチとは、２つ以上のノードと接続されているノードのことである。
【０１０７】
ブランチとなるノードは、接続ポートに接続されたノードから親子関係の宣言を受け付ける（ステップＳ１６０６）。宣言を受け付けた接続ポートは、「親ポート」として認識される。
【０１０８】
１つの接続ポートを「親ポート」と認識した後、ブランチは、まだ親子関係の決定されていない接続ポート（即ち、未定義ポート）が２つ以上あるか否かを検出する（ステップＳ１６０７）。その結果、未定義ポートが２つ以上ある場合、ブランチは、再びステップＳ１６０６の動作を行う。
【０１０９】
ステップＳ１６０７の結果、未定義ポート１つだけ存在する場合、ブランチは、その未定義ポートを「子ポート」であると認識し、そのポートに接続されているノードに対して「自分は子」であることを宣言する（ステップＳ１６０８、Ｓ１６０９）。
【０１１０】
ここで、ブランチは、残りの未定義ポートが１つになるまで自分自身が子であると他のノードに対して宣言することができない。例えば、図１４において、ノードＢ、Ｃ、Ｄは、自分がブランチであると認識すると共に、リーフ或いは他のブランチからの宣言を受け付ける。ノードＤは、Ｄ−Ｅ間、Ｄ−Ｆ間の親子関係が決定した後、ノードＣに対して親子関係の宣言を行っている。又、ノードＤからの宣言を受けたノードＣは、ノードＢに対して親子関係の宣言を行っている。
【０１１１】
又、ステップＳ１６０８の処理の結果、未定義ポートが存在しない場合（つまり、ブランチの具備する全ての接続ポートが親ポートとなった場合）、そのブランチは、自分自身がルートであることを認識する。（ステップＳ１６１０）。
【０１１２】
例えば、図１４において、接続ポートの全てが親ポートとなったノードＢは、１３９４ネットワークの通信を調停するルートとして他のノードに認識される。ここで、ノードＢがルートと決定されたが、ノードＢが親子関係を宣言するタイミングが、ノードＣが宣言するタイミングに比べて早い場合には、他のノードがルートになる可能性もある。即ち、宣言するタイミングによっては、どのノードもルートとなる可能性がある。従って、同じネットワーク構成であっても同じノードがルートになるとは限らない。
【０１１３】
以上の処理により、全ての接続ポートの親子関係の宣言することによって、各ノードは、１３９４ネットワークの接続構成を階層構造（ツリー構造）として認識できる（ステップＳ１６１１）。ここで、親子関係における親ノードは階層構造における上位であり、子ノードは階層構造における下位となる。
【０１１４】
（８）ノードＩＤの割り当て
図１７は、図１５に示したステップＳ１５０５の処理（即ち、自動的に各ノードのノードＩＤを割り当てる処理）を詳細に説明するフローチャートである。
【０１１５】
ここで、ノードＩＤは、バス番号とノード番号とから構成される。以下では、バス番号が共通のローカルバスにおけるノード番号の割り当て手順について説明する。
【０１１６】
図１７において、ルートは、ノードＩＤが未設定のノードが接続されている子ポートの内、最小番号を有する通信ポートに対してノードＩＤの設定許可を与える（ステップＳ１７０１）。
【０１１７】
ここで、ルートは、最小番号の子ポートに接続されている全ノードのノードＩＤを設定した後、その子ポートを設定済とし、次に最小となる子ポートに対して同様の制御を行なう。最終的に全ての子ポートに接続されたノードのＩＤ設定が終了した後、ルート自身のノードＩＤを設定する。尚、ノードＩＤに含まれるノード番号は、基本的にリーフ、ブランチの順に０、１、２…と割り当てられる。従って、ルートが最も大きなノード番号を有することになる。
【０１１８】
ステップＳ１７０１において、設定許可を得たノードは、自分の子ポートの内、ノードＩＤが未設定となるノードを含む子ポートがあるか否かを判断する（ステップＳ１７０２）。
【０１１９】
ステップＳ１７０２において、ＩＤ未設定のノードを含む子ポートが検出された場合、そのノードは、更に最小ポート番号に接続されたＩＤ未設定のノードを含む子ポートに対して設定許可を与えるように制御する（ステップＳ１７０３）。
【０１２０】
ステップＳ１７０３の処理後、設定許可を得たノードは、更に自分の子ポートの内、ノードＩＤが未設定となるノードを含む子ポートがあるか否かを判断する（ステップＳ１７０４）。
【０１２１】
ステップＳ１７０４の処理後、ＩＤ未設定のノードを含む子ポートの存在が更に検出された場合、そのノードは、再びステップＳ１７０３の処理を実行する。
【０１２２】
又、ステップＳ１７０２或いはＳ１７０４において、ＩＤ未設定のノードを含む子ポートが検出されなかった場合、設定許可を得たノードは、自分自身のノードＩＤを設定する（ステップＳ１７０５）。
【０１２３】
ノードＩＤ設定の終了したノードは、自己のノード番号と通信ポートの接続状態に関する情報とを含んだセルフＩＤパケットを、ブロードキャストする（ステップＳ１７０６）。
【０１２４】
ここで、ブロードキャストとは、あるノードの通信パケットを、１３９４ネットワークを構成する不特定多数のノードに対して転送することである。各ノードは、このセルフＩＤパケットを受信することにより、各ノードに割り当てられたノート番号を認識することができ、自分に割り当てられるノード番号を知ることができる。
【０１２５】
例えば、図１４において、ルートであるノードＢは、最小ポート番号「＃１」の通信ポートに接続されたノードＡに対してノードＩＤ設定の許可を与える。ノードＡは、自己のノード番号「Ｎｏ．０」と割り当て、自分自身に対してバス番号からなるノードＩＤを設定する。又、ノードＡは、そのノード番号を含むセルフＩＤパケットをブロードキャストする。
【０１２６】
図１８にセルフＩＤパケットの構成例を示す。
【０１２７】
図１８において、１８０１はセルフＩＤパケットを送出したノードのノード番号を格納するフィールド、１８０２は対応可能な転送速度に関する情報を格納するフィールド、１８０３はバス管理機能（バスマネージャの能力の有無等）の有無を示すフィールド、１８０４は電力の消費及び供給の特性に関する情報を格納するフィールドである。
【０１２８】
又、図１８において、１８０５はポート番号「＃０」となる通信ポートの接続状態に関する情報（接続、未接続、通信ポートの親子関係等）を格納するフィールド、１８０６はポート番号「＃１」となる通信ポートの接続状態に関する情報（接続、未接続、通信ポートの親子関係等）を格納するフィールド、１８０７はポート番号「＃２」となる通信ポートの接続状態に関する情報（接続、未接続、通信ポートの親子関係等）を格納するフィールドである。
【０１２９】
尚、セルフＩＤパケットを送出するノードにバスマネージャとなり得る能力がある場合には、フィールド１８０４に示すコンテンダビットを「１」とし、なり得る能力がなければ、コンテンダビットを０とする。
【０１３０】
ここで、バスマネージャとは、上述のセルフＩＤパケットに含まれる各種の情報に基づいて、バスの電源管理（通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理）、速度情報の管理（各ノードの対応可能な転送速度に関する情報から各ノード間の最大転送速度を管理）、ネットワークの接続構成（トポロジマップ情報）の管理（通信ポートの親子関係情報からネットワークの接続構成を管理）、トポロジマップ情報に基づくバスの最適化等の管理を行ない、それらの情報を他のノードに提供する機能を有するノードである。これらの機能により、バスマネージャとなるノードはローカルバス上のバス管理を行なうことができる。
【０１３１】
ステップＳ１７０６の処理後、ノードＩＤの設定を行ったノードは、親ノードがあるか否かを判断する（ステップＳ１７０７）。親ノードがある場合、その親ノードが、ステップＳ１７０２以下の処理を再び実行する。そして、まだノードＩＤの設定されていないノードに対して許可を与える。
【０１３２】
又、親ノードが存在しない場合、そのノードは、ルート自身であると判断される。ルートは、全ての子ポートに接続されたノードに対してノードＩＤが設定されたか否かを判別する（ステップＳ１７０８）。
【０１３３】
ステップＳ１７０８において、全てのノードに対するＩＤ設定処理が終了しなかった場合、ルートは、そのノードを含む子ポートの内、最小番号となる子ポートに対してＩＤ設定の許可を与える（ステップＳ１７０１）。その後、ステップＳ１７０２以下の処理を実行する。
【０１３４】
又、全てのノードに対するＩＤ設定処理が終了した場合、ルートは、自分自身のノードＩＤの設定を実行する（ステップＳ１７０９）。ノードＩＤの設定後、ルートは、セルフＩＤパケットをブロードキャストする（ステップＳ１７１０）。
【０１３５】
以上の処理によって、ローカルバス上の各ノードは、自動的にノードＩＤを割り当てることができる。
【０１３６】
ここで、ノードＩＤの設定処理後、複数のノードがバスマネージャの能力を具備する場合、ノード番号の最も大きいノードがバスマネージャとなる。つまり、１つのローカルバス内で最大となるノード番号を持つルートがバスマネージャになり得る機能を有している場合には、ルートがバスマネージャとなる。
【０１３７】
しかしながら、ルートにその機能が備わっていない場合には、ルートの次に大きいノード番号を具備するノードがバスマネージャとなる。又、どのノードがバスマネージャになったかについては、各ノードがブロードキャストするセルフＩＤパケット内のコンテンダビット１８０３をチェックすることにより把握することができる。
【０１３８】
（９）アービトレーション
図１９は、図２の１３９４ネットワークにおけるアービトレーションを説明する図である。
【０１３９】
１３９４ネットワークでは、データ転送に先立って、必ずバス使用権のアービトレーション（調停）を行なう。１３９４ネットワークは、論理的なバス型ネットワークであり、各ノードから転送された通信パケットを他のノードに中継することによって、ネットワーク内の全てのノードに同じ通信パケットを転送することのできる。従って、通信パケットの衝突を防ぐために、必ずアービトレーションが必要となる。これによって、ある時間において一つのノードのみが転送を行なうことができる。
【０１４０】
図１９（ａ）は、ノードＢとノードＦとが、バス使用権の要求を発している場合について説明する図である。アービトレーションが始まるとノードＢ、Ｆは、夫々親ノードに向かって、バス使用権の要求を発する。ノードＢの要求を受けた親ノード（即ち、ノードＣ）は、自分の親ノード（即ち、ノードＤ）に向かって、そのバス使用権を中継するする。この要求は、最終的に調停を行なうルート（ノードＤ）に届けられる。
【０１４１】
バス使用要求を受けたルートは、どのノードにバスを使用させるかを決める。この調停作業はルートとなるノードのみが行なえるものであり、調停によって勝ったノードにはバスの使用許可を与える。
【０１４２】
図１９（ｂ）は、ノードＦの要求が許可され、ノードＢの要求が拒否されたことを示す図である。
【０１４３】
アービトレーションに負けたノードに対してルートは、ＤＰ（Data prefix）パケットを送り、拒否されたことを知らせる。拒否されたノードは、次回のアービトレーションまでバス使用要求を待機する。
【０１４４】
以上のようにアービトレーションを制御することによって、１３９４ネットワークは、バスの使用権を管理することができる。
【０１４５】
（１０）通信サイクル
Isochronous転送モードとAsynchronous転送モードとは、各通信サイクル期間内において時分割に混在させることができる。ここで、通信サイクルの期間は、通常、１２５μＳである。
【０１４６】
図２０は、１通信サイクルにおいてIsochronous転送モードとAsynchronous転送モードとを混在させた場合を説明する図である。
【０１４７】
Isochronous転送モードは、Asynchronous転送モードより優先して実行される。その理由は、サイクル・スタート・パケットの後、Asynchronous転送を起動するために必要なアイドル期間（subaction gap）が、Isochronous転送を起動するため必要なアイドル期間（Isochronous gap）よりも長くなるように設定されているためである。これにより、Isochronous転送は、Asynchronous転送に優先して実行される。
【０１４８】
図２０において、各通信サイクルのスタート時には、サイクル・スタート・パケット（以下、ＣＳＰ）が所定のノードから転送される。各ノードは、このＣＳＰを用いて時間調整を行うことによって、他のノードと同じ時間を計時することができる。
【０１４９】
（１１）Isochronous転送モード
Isochronous転送モードは、同期型の転送方式である。Isochronousモード転送は、通信サイクルの開始後、所定の期間において実行可能である。又、Isochronous転送モードは、リアルタイム転送を維持するために、各サイクル毎に必ず実行される。
【０１５０】
Isochronous転送モードは、特に動画像データや音声データ等のリアルタイムな転送を必要とするデータの転送に適した転送モードである。Isochronous転送モードは、Asynchronous転送モードのように１対１の通信ではなく、ブロードキャスト通信である。つまり、あるノードから送出されたパケットは、ネットワーク上の全てのノードに対して一様に転送される。尚、Isochronous転送には、ack（受信確認用返信コード）は存在しない。
【０１５１】
図２０において、チャネルｅ（ch e）、チャネルｓ（ch s）、チャネルｋ（ch k）は、各ノードがIsochronous転送を行う期間を示す。１３９４インタフェースでは、複数の異なるIsochronous転送を区別するために、夫々異なるチャネル番号を与えている。これにより、複数ノード間でのIsochronous転送が可能となる。ここで、このチャネル番号は、送信先を特定するものではなく、データに対する論理的な番号を与えているに過ぎない。
【０１５２】
又、図２０に示したIsochronous gapとは、バスのアイドル状態を示すものである。このアイドル状態が一定時間を経過した後、Isochronous転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
【０１５３】
次に、図２１にIsochronous転送モードに基づいて転送される通信パケットのフォーマットを示す。以下、Isochronous転送モードに基づいて転送される通信パケットを、Isochronousパケットと称する。
【０１５４】
図２１において、Isochronousパケットはヘッダ部２１０１、ヘッダＣＲＣ２１０２、データ部２１０３、データＣＲＣ２１０４から構成される。
【０１５５】
ヘッダ部２１０１には、データ部２１０３のデータ長を格納するフィールド２１０５、Isochronousパケットのフォーマット情報を格納するフィールド２１０６、Isochronousパケットのチャネル番号を格納するフィールド２１０７、パケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード（tcode）を格納するフィールド２１０８、同期化コードを格納するフィールド２１０９がある。
【０１５６】
（１２）Asynchronous転送モード
Asynchronous転送モードは、非同期型の転送方式である。Asynchronous転送は、Isochronous転送期間の終了後、次の通信サイクルが開始されるまでの間（即ち、次の通信サイクルのＣＳＰが転送されるまでの間）、実行可能である。
【０１５７】
図２０において、最初のサブアクション・ギャップ（subaction gap）は、バスのアイドル状態を示すものである。このアイドル時間が一定値になった後、Asynchronous転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
【０１５８】
アービトレーションによりバスの使用権を得たノードは、図２２に示すパケットを所定のノードに対して転送する。このパケットを受信したノードは、ack（受信確認用返送コード或いは応答パケット）をack gap後に返送する。
【０１５９】
図２２は、Asynchronous転送モードに基づく通信パケットのフォーマットを示す図である。以下、Asynchronous転送モードに基づいて転送される通信パケットを、Asynchronousパケットと称する。
【０１６０】
図２２において、Asynchronousパケットは、ヘッダ部２２０１、ヘッダＣＲＣ２２０２、データ部２２０３、データＣＲＣ２２０４から構成される。
【０１６１】
ヘッダ部２２０１において、フィールド２２０５には宛先となるノードのノードＩＤ、フィールド２２０６にはソースとなるノードのノードＩＤ、フィールド２２０７には一連のトランザクションを示すためのラベル、フィールド２２０８には再送ステータスを示すコード、フィールド２２０９にはパケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード（tcode）、フィールド２２１０には優先順位、フィールド２２１１には宛先のメモリ・アドレス、フィールド２２１２にはデータ部のデータ長、フィールド２２１３には拡張されたトランザクション・コードが格納される。
【０１６２】
又、Asynchronous転送は、自己ノードから相手ノードへの１対１の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視される。従って、宛先となるノードのみが、そのパケットを読み込むことができる。
【０１６３】
尚、Asynchronous転送中に次のＣＳＰを転送すべき時間に至った場合、無理に転送を中断せず、その転送が終了した後、次のＣＳＰを送信する。これにより、１つの通信サイクルが１２５μＳ以上続いたときは、その分、次の通信サイクル期間を短縮する。このようにすることによって、１３９４ネットワークは、ほぼ一定の通信サイクルを保持することができる。
【０１６４】
以上が、１３９４ネットワークの構成及び機能に関する説明である。
【０１６５】
このような機能を有するネットワークにおいて、ＰＣ１１２のアプリケーションがネットワークのトポロジーを管理するデバイスマップを作成したい場合、次のような方法がある。即ち、▲１▼バスマネージャの提供するトポロジマップ情報に基づいてデバイスマップを作成する。▲２▼バスリセットの発生後に、各ノードから送出されるセルフＩＤパケットに基づいてデバイスマップを作成する。
【０１６６】
しかしながら、上述の方法では、トポロジマップ情報から各ノード間の親子関係に基づく接続構成を判別することはできるが、各ノードの実際の配置位置までを知ることができなかった。
【０１６７】
このような問題を解決するために、上述のConfiguration ROM以外のデータベースにデバイスマップ用の情報を格納する方法がある。しかしながら、このような方法では、データベースに対するアクセス手順、デバイスマップ情報を得るまでの通信手順が各ノードにおいて共通でないため、より高度なデバイスマップの機能を簡単に提供することができなかった。
【０１６８】
従って、本実施例のホームネットワークを次のように構成することにより、管理機器のアプリケーションがより高度なデバイスマップの機能を提供できるようにする。▲１▼各ノードが必ず実装するConfiguration ROMの所定の領域にノードの配置位置、ノードのサポートする機能等のデバイスマップ情報を格納させる。▲２▼各ノードは、管理機器のリード・トランザクションに対してこれらのデバイスマップ情報を提供する。
【０１６９】
このように構成することにより、本実施例の管理機器は、各ノードに特有のアクセス手順、通信手順に対応することなく、各ノードからデバイスマップ情報を得ることができ、より高度なデバイスマップ機能を簡単に提供することができる。
【０１７０】
以下、本実施例の全ノード（即ち、全デバイス及び全アウトレット）の具備するConfiguration ROMの構成を図２３に示す。
【０１７１】
図２３において、各ノードのサポートする機能に関する情報（例えば、プリンタ機能、スキャナ機能、記録再生機能）は、Root Directory２３０１からオフセットされるFunction Directory２３０４に保持される。
【０１７２】
Function Directory２３０４は、機能毎に予めクラス分けされた機能カテゴリー（Function Class Entry２３０５）、サポートする機能を実現するソフトウェア、サポートする機能に対応した通信プロトコル等に関する情報を保持するディレクトリへのポインタ情報（Unit Directory Offset Entry２３０６）、サポートする機能固有の情報を保持するディレクトリへのポインタ情報（Function Info Offset Entry２３０７）等を含む。
【０１７３】
又、全ノードの具備するConfiguration ROMのNode Dependent Info Directory２３０２には、自ノードの固有情報（例えば、会社名、機種名、位置情報）が格納される。特に位置情報は、後述する手順に従って、Node Dependent Info Directory２３０２内のPosition Info Entry２３０３に格納され、保存される。
【０１７４】
以下、図２４〜２７を用いて、各ノードのConfiguration ROMに格納される位置情報について説明する。
【０１７５】
図２４は、各デバイスが、各部屋に配置されているアウトレット１０１或いは他のデバイスに接続される前の状態を説明する図である。
【０１７６】
図２４において、各部屋に固定的に配置されているアウトレット１０１のPosition Info Entry２３０３には、各アウトレット１０１の敷設時に部屋インデックスが予め書き込まれている。この部屋インデックスは不変である。
【０１７７】
例えば、図２４において、Ｒｏｏｍ Ａに敷設されているアウトレット１０１の部屋インデックスは、アスキー形式で「Ａ１」である。又、Ｒｏｏｍ Ｂに敷設されている２つのアウトレット１０１の部屋インデックスは、夫々アスキー形式で「Ｂ１」、「Ｂ２」である。同様に、Ｒｏｏｍ Ｃのアウトレット１０１の部屋インデックスは、「Ｃ１」であり、Ｒｏｏｍ Ｄのアウトレット１０１の部屋インデックスは、「Ｄ１」である。
【０１７８】
一方、図２４において、各部屋に自由に配置することの可能な各デバイスのPosition Info Entry２３０３には、位置不定を示すデータ「００」が初期値として設定されている。ここで、各デバイスのPosition Info Entry２３０３には、書き換え可能な位置情報が書き込まれる。この位置情報は、バスリセットに伴う処理の終了後、所定の方法により書き換わる。
【０１７９】
図２５は、各デバイスが各部屋に配置されているアウトレット１０１、或いは他のデバイスに接続された後の状態を説明する図である。
【０１８０】
図２５において、各デバイスを各部屋に設置されたアウトレット１０１に接続し、全デバイスの電源をオンにすると、上述のバスリセットが起動する（ステップＳ２７０１）。
【０１８１】
バスリセットとそれに伴う処理（即ち、接続構成の認識とノードＩＤの割り当て）の後、各デバイスは、自己の通信ポートに直接接続されているデバイスのセルフＩＤパケットを受信し、該パケットに含まれる情報を保持する。
【０１８２】
各デバイスは、自己のPosition Info Entry２３０３に格納されている位置情報を読み出す（ステップＳ２７０２）。
【０１８３】
読み出した位置情報が「００」（位置不定）であるか否かを判断する（ステップＳ２７０３）。位置情報が「００」でなかった場合、各デバイスは、その情報を有効な位置情報として認識する。
【０１８４】
又、位置情報が「００」であった場合、各デバイスは、自己の通信ポートに直接接続されているデバイスのPosition Info Entry２３０３を読み出す（ステップＳ２７０４）。ここで、各デバイスは、ポート番号の若い接続ポートから順に、上述のリード・トランザクションを用いて、Position Info Entry２３０３の位置情報を読み出す。
【０１８５】
例えば、図２５において、アウトレット１０１と直接接続されているデバイスは、該アウトレット１０１のPosition Info Entry２３０３に格納されている位置情報を読み出すことになる。Ｒｏｏｍ Ａのアウトレット１０１に接続されたＰＣ１１２は、アウトレット１０１のPosition Info Entry２３０３から部屋インデックス「Ａ１」を読み出し、その位置情報を自己のPosition Info Entry２３０３に格納する。
【０１８６】
同様に、Ｒｏｏｍ Ｂのアウトレット１０１に接続されたデジタルビデオ１１３のPosition Info Entry２３０３には、部屋インデックス「Ｂ１」が格納され、Ｒｏｏｍ Ｃのアウトレット１０１に接続されたデジタルビデオ１１４のPosition Info Entry２３０３には、部屋インデックス「Ｃ１」が格納され、ＲｏｏｍＤのアウトレット１０１に接続されたインクジェットプリンタ１１５のPosition Info Entry２３０３には、部屋インデックス「Ｄ１」が格納される。
【０１８７】
又、図２５において、ＰＣ１１２と直接接続されているインクジェットプリンタ１１０とスキャナ１１１は、ＰＣ１１２の位置情報の初期化がまだ完了していないため、位置不定を示すデータ「００」を読み出すことになる。
【０１８８】
本実施例において、最近傍デバイスのPosition Info Entry２３０３から読み出した位置情報が「００」（位置不定）であった場合、該デバイスは、有効な位置情報の読み出しが成功するまで通信ポートに直接接続されているデバイスに対して再度読み出しを行う（ステップＳ２７０５）。その結果を、図２６に示す。
【０１８９】
このような動作を繰り返し実行することにより、最終的に全デバイスのPosition Info Entry２３０３には有効な位置情報（本実施例では、部屋インデックス）が書き込まれる（ステップＳ２７０６）。
【０１９０】
例えば、図２６において、インクジェットプリンタ１１０とスキャナ１１１とは、ＰＣ１１２の位置情報が有効となる（即ち、「Ａ１」を格納する）まで繰り返しＰＣ１１２にリード・トランザクションを実行する。
【０１９１】
以上の手順を実行することにより、各ノードは、自己の配置位置を他のノードに対して提供することができる。又、自己の配置位置の確定していないノードは、自己の通信ポートに直接接続されているノード（即ち、自己の最近傍に位置するノード）の位置情報を読み出し、該位置情報を自己のConfiguration ROMの所定領域に格納することによって、自己の配置位置（例えば、どの部屋に配置されているか）を他のノードに対して提供することができる。これにより、同じ空間上（例えば、各部屋）に配置されたノードは、同じ位置情報を具備することができる。
【０１９２】
次に、ＰＣ１１２のデバイスマップ作成用アプリケーションがデバイスマップを作成する処理手順について図２８、図２９を用いて説明する。
【０１９３】
図２８は、ＰＣ１１２の一部の構成を示す図である。
【０１９４】
図２８において、２８０１は、ＰＣ１１２の具備する１３９４インタフェースで、他のノードの１３９４インタフェースと接続されている。２８０２は、ＰＣ１１２の具備するConfiguration ROMで、図２３のように構成されている。２８０３はメモリであり、本実施例のデバイスマップを作成する際に必要となる情報（位置情報、機能情報等）を対応させた対応テーブルとトポロジマップ情報とを格納する。２８０４は、対応テーブルとトポロジマップ情報とを用いて所定の表示画面とアイコンを作成するデバイスマップ作成部である。２８０５は、デバイスマップ作成部２８０４の出力を表示する表示部である。２８０６は、ＰＣ１１２の各処理部を制御する制御部である。２８０７は、デバイスマップ作成用アプリケーションを記憶する記憶媒体である。尚、このアプリケーションは、制御部２８０６の読み出し可能なプログラムコード形式で記憶されている。
【０１９５】
図２９は、記憶媒体２８０７に記憶されたアプリケーションがデバイスマップを作成する手順を示すフローチャートである。
【０１９６】
ＰＣ１１２の１３９４インタフェース２８０１は、バスリセットの発生を常時監視する（ステップＳ２９０１）。
【０１９７】
バスリセット後、ＰＣ１１２の制御部２８０６は、ネットワーク上の機器数を調べると共に、バスマネージャの提供するトポロジマップ情報、或いは各ノードから送出されるセルフＩＤパケットに基づいてトポロジマップを作成する（ステップＳ２９０２）。
【０１９８】
トポロジマップの作成後、デバイスマップ作成アプリケーションは、所定の手順により各ノードのConfiguration ROMを読み出す（ステップＳ２９０３）。
【０１９９】
図３０は、ＰＣ１１２の１３９４インタフェース２８０１が他のノードのConfiguration ROMを読み出す手順について説明する図である。
【０２００】
図３０において、１３９４インタフェース２８０１は、リード・トランザクションを用いて、Configuration ROMのNode Dependent Info Directory２３０３とFunction Directory２３０４とに格納された情報を読み出す。ここで、ＰＣ１１２は、ノードＩＤの小さい順から読み出しを行っているが、任意の順序で行ってもよい。
【０２０１】
ＰＣ１１２の制御部２８０６は、各ノードから読み出した情報の中から位置情報を抽出し、その内容が「００」（位置不定）であるか否かを判別する（ステップＳ２９０４）。位置情報が「００」であった場合、ＰＣ１１２はその位置情報を有効でないと判断し、所定時間経過後、再びそのノードの位置情報を読み出す（ステップＳ２９０５）。
【０２０２】
全機器の読み出しに成功した後、アプリケーションは、各ノードのノード番号とレスポンスから対応テーブルを作成する（ステップＳ２９０６）。作成された対応テーブルは、メモリ２８０３に保持される。図３１に対応テーブルの内容を示す。
【０２０３】
図３１では、ノードＩＤ別に各ノードの機能情報（function）、部屋インデクス（room index）、詳細情報（details）を対応させている。尚、詳細情報には、会社名、機種名、サポートする通信プロトコル情報が含まれている。例えば、通信プロトコル情報には、ＡＶ（ａｕｄｉｏ／ｖｉｓｕａｌ）データの通信を制御するＡＶ／Ｃプロトコル、ＳＣＳＩのコマンド・セットを利用可能にするＳＢＰ−２（Ｓｅｒｉａｌ  Ｂｕｓ  Ｐｒｏｔｏｃｏｌ−２）、静止画像の通信を制御するダイレクトプリントプロトコル（ＤＰＰ）がある。
【０２０４】
対応テーブルの作成後、アプリケーションは、デバイスマップ作成部２８０４を用いて、デバイスマップを作成する。図３２にＰＣ１１２の具備する表示部２８０５に表示されたデバイスマップを示す。
【０２０５】
図３２において、アプリケーションは、対応テーブルの部屋インデックスを用いて表示画面上をレイアウトし、部屋インデックスに対応する空間領域を表示画面上表示する（ステップＳ２９０７）。
【０２０６】
次にアプリケーションは、対応テーブルの機能情報に基づいて各ノードのアイコンを作成し、そのアイコンを部屋インデックスに対応する領域に表示する（ステップＳ２９０８）。尚、アイコンは、各機能の特徴を視覚的に判断できる形状で表示されるものである。
【０２０７】
次にアプリケーションは、ステップＳ２９０２にて作成されたトポロジマップを用いて各領域に配置されたアイコンの接続関係を表示する（ステップＳ２９０９）。
【０２０８】
更にアプリケーションは、対応テーブルの詳細情報（会社名、機種名、プロトコル情報等）を各アイコンに対応させて表示する（ステップＳ２９１０）。
【０２０９】
以上の手順で処理することにより、ＰＣ１１２のアプリケーションは、より高度なデバイスマップを表示することができる。
【０２１０】
以上のように本実施例では、各ノードの位置情報や機能情報等をConfiguration ROMの所定の領域に格納することにより、Configuration ROMに対するアクセス手順、デバイスマップ情報を得るまでの通信手順を各ノードにおいて共通とすることができ、より高度なデバイスマップの機能を提供することができる。
【０２１１】
又、各ノードの接続関係を表示するだけでなく、同じ位置情報を有するノードを表示画面上の１つの領域にレイアウトできる。これにより、各ノードの配置位置を視覚的に表示でき、ユーザにより高度なネットワーク管理機能を提供することができる。
【０２１２】
又、各ノードのアイコンを各ノードの機能情報から作成することにより、各ノードの機能を容易に判別することができる。
【０２１３】
更に、各ノードのアイコンと共に、各ノードの詳細情報（会社名、機種名、サポートするプロトコル情報等）を表示することができる。
【０２１４】
【発明の効果】
本発明に係る電子機器によれば、当該電子機器の位置情報が不定の場合であっても、当該電子機器の位置情報をホームネットワーク内に存在するデバイス（例えば、デバイスマップの機能を有するＰＣ）に提供することができるので、当該デバイスにおいて当該電子機器の配置位置を視覚的に表示することができるようになり、当該電子機器の配置位置を簡単に特定することができるようになる。
【図面の簡単な説明】
【図１】本実施例のホームネットワークの構成を示す図。
【図２】１３９４ネットワークの構成の一例を示す図。
【図３】１３９４インタフェースの構成要素を説明する図。
【図４】リンク・レイヤ３０４の提供可能なサービスを示す図。
【図５】トランザクション・レイヤ３０５の提供可能なサービスを示す図。
【図６】１３９４インタフェースにおけるアドレス空間を説明する図。
【図７】ＣＳＲコア・レジスタに格納される情報のアドレス及び機能を示す図。
【図８】シリアルバス・レジスタに格納される情報のアドレス及び機能を示す図。
【図９】最小形式のConfiguration ROMを示す図。
【図１０】一般形式のConfiguration ROMを示す図。
【図１１】シリアルバス装置レジスタ情報に格納される情報のアドレス及び機能をを示す図。
【図１２】１３９４ケーブルの断面図を示す図。
【図１３】  DS-Link符号化方式を説明する図。
【図１４】バスリセット起動後の状態を説明する図。
【図１５】バスリセットの開始からノードＩＤの割り当てまで処理について説明するフローチャート。
【図１６】親子関係を認識する処理について説明するフローチャート。
【図１７】ノードＩＤを割り当てる処理を説明するフローチャート。
【図１８】セルフＩＤパケットの構成例を示す図。
【図１９】アービトレーションを説明する図。
【図２０】１通信サイクル期間の様子を説明する図。
【図２１】  Isochronousパケットのフォーマットを示す図。
【図２２】  Asynchronousパケットのフォーマットを示す図。
【図２３】本実施例のConfigurationROMを示す図。
【図２４】全ノードの位置情報の設定を説明する図。
【図２５】全ノードの位置情報の設定を説明する図。
【図２６】全ノードの位置情報の設定を説明する図。
【図２７】全ノードの位置情報の設定を説明するフローチャート。
【図２８】ＰＣ１１２の一部の構成を示す図。
【図２９】デバイスマップを作成する手順を示すフローチャート。
【図３０】他のノードのConfigurationROMを読み出す手順について説明する図。
【図３１】対応テーブルの内容を示す図。
【図３２】ＰＣ１１２の具備するモニタに表示されたデバイスマップを示す図。
【図１】
0004035235.tif 000002
【図２】
0004035235.tif 000003
【図３】
0004035235.tif 000004
【図４】
0004035235.tif 000005
【図５】
0004035235.tif 000006
【図６】
0004035235.tif 000007
【図７】
0004035235.tif 000008
【図８】
0004035235.tif 000009
【図９】
0004035235.tif 000010
【図１０】
0004035235.tif 000011
【図１１】
0004035235.tif 000012
【図１２】
0004035235.tif 000013
【図１３】
0004035235.tif 000014
【図１４】
0004035235.tif 000015
【図１５】
0004035235.tif 000016
【図１６】
0004035235.tif 000017
【図１７】
0004035235.tif 000018
【図１８】
0004035235.tif 000019
【図１９】
0004035235.tif 000020
【図２０】
0004035235.tif 000021
【図２１】
0004035235.tif 000022
【図２２】
0004035235.tif 000023
【図２３】
0004035235.tif 000024
【図２４】
0004035235.tif 000025
【図２５】
0004035235.tif 000026
【図２６】
0004035235.tif 000027
【図２７】
0004035235.tif 000028
【図２８】
0004035235.tif 000029
【図２９】
0004035235.tif 000030
【図３０】
0004035235.tif 000031
【図３１】
0004035235.tif 000032
【図３２】
0004035235.tif 000033