(57)【要約】【課題】接続環境に応じて使用する通信プロトコルを自動的に或いは選択により、切り替える。【解決手段】シリアルバスインターフェース２と、第１のプロトコルを用いてシリアルバスインターフェース２を介して通信を行う第１の通信部３と、第２のプロトコルを用いてシリアルバスインターフェース２を介して通信を行う第２の通信部５とを有し、シリアルバスを介して接続される１以上のホストコンピュータから印刷データを受信して印刷する際に、設定部７で第２のプロトコルを用いるか否かを判別し、その判別結果に応じて第１の通信部２又は第２の通信部５を使用可能に設定する。【選択図】      図１
2004223965.tif 000002
【特許請求の範囲】
【請求項１】
シリアルバスインターフェースと、第１のプロトコルを用いて前記シリアルバスインターフェースを介して通信を行う第１の通信手段と、第２のプロトコルを用いて前記シリアルバスインターフェースを介して通信を行う第２の通信手段とを有し、シリアルバスを介して接続される１以上のホストコンピュータから印刷データを受信して印刷する印刷装置であって、
第２のプロトコルを用いるか否かを判別する判別手段と、
前記判別手段での判別結果に応じて、前記第１の通信手段又は第２の通信手段を使用可能に設定する設定手段とを有することを特徴とする印刷装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＥＥＥ１３９４インターフェースを備え、ホストコンピュータから印刷データを受信して印刷することに関し、通信プロトコルとして、ＳＢＰ−２プロトコル、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる技術に関する。
【０００２】
【従来の技術】
ＩＥＥＥ１３９４インターフェースを備え、ホストコンピュータから印刷データを受信して印刷する印刷装置においては、通信プロトコルとして主にＳＢＰ−２プロトコルが用いている。このＳＢＰ−２プロトコルは、ＳＣＳＩコマンドをＩＥＥＥ１３９４シリアルバス上で転送するためのプロトコルであり、ＳＢＰ−２プロトコルの詳細はＩＳＯ／ＩＥＣ  １４７７６−２３２：２００１に規定されている。また、ＩＥＥＥ１３９４インターフェースにおいてはＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用い、ＴＣＰ／ＩＰプロトコルによる通信が可能になっている。ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４はＩＰｖ４データをＩＥＥＥ１３９４シリアルバス上で転送するためのプロトコルであり、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４の詳細はＲＦＣ  ２７３２に規定されている。このＴＣＰ／ＩＰプロトコルによる通信によりネットワークプリンタを構成することができる。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来例においては、以下のような問題がある。
【０００４】
まず、上述のＳＢＰ−２プロトコルを用いる印刷装置においては、ＳＢＰ−２プロトコルが１対１の接続を基本とするため、バス上に複数のホストが存在している場合、ひとつのホストがコネクションを確立している間、他のホストはコネクションを確立することができないという問題があった。また、複数ホストからのログインを認めるとしても、ＳＢＰ−２プロトコル上で印刷装置のジョブ管理などを行うことは一般的ではないため、これを実現するためには、ホスト装置、印刷装置双方に印刷ジョブ管理の仕組みを新たに作る必要があった。
【０００５】
一方、ＴＣＰ／ＩＰはネットワークプロトコルとして一般的なもので、ＬＰＤ、ＩＰＰなどプリントサーバアプリケーションがすでに存在し、ホストにおいてはこれらとの通信手段を備えたものが多い。ＩＥＥＥ１３９４インターフェースを備えた印刷装置では、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いてＴＣＰ／ＩＰプロトコルを使用することができるが、プロトコルスタックの処理の負荷が大きく、また、ジョブ管理を行うためにはプリントサーバアプリケーションも動作させる必要があった。
【０００６】
即ち、ホストの数が比較的少なく、印刷装置に対して１対１の接続が主な場合には、ＳＢＰ−２プロトコルを用いると効率が良く、ホストの数が比較的多く、複数ホストで印刷装置を共用し、ジョブ管理が必要な場合にはＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いて、プリントサーバとして動作したほうが使い勝手は良い、と言える。
【０００７】
本発明は、接続環境に応じて使用する通信プロトコルを自動的に或いは選択により、切り替えることを目的とする。
【０００８】
また、上述のＴＣＰ／ＩＰプロトコルを使用するためには、ＩＰアドレスやサブネットの設定といった、いわゆる「プリブート設定」が必要である。ＤＨＣＰ、ＢＯＯＴＰなどのブートサーバにより自動設定する場合もあるが、そうでない場合には、ホストからＰＩＮＧコマンドを使って設定するなどの方法がとられる。しかしながら、これらの操作は煩雑であり、特にネットワークの専門的な知識を持たないユーザには非常に難しいものである。そのため、ネットワークインターフェースとは別に、ＲＳ−２３２Ｃといったインターフェースを介して接続し、プリブート設定を行うものがあるが、別のインターフェースを備えることは印刷装置を複雑にし、更に製造コストをあげることになる。
【０００９】
また、本発明は、ネットワークインターフェースに必要なプリブート設定を、別のインターフェースを付加することなく、或いはブートサーバによる自動設定が行えない場合にも、簡単な操作で、設定可能にすることを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明は、シリアルバスインターフェースと、第１のプロトコルを用いて前記シリアルバスインターフェースを介して通信を行う第１の通信手段と、第２のプロトコルを用いて前記シリアルバスインターフェースを介して通信を行う第２の通信手段とを有し、シリアルバスを介して接続される１以上のホストコンピュータから印刷データを受信して印刷する印刷装置であって、第２のプロトコルを用いるか否かを判別する判別手段と、前記判別手段での判別結果に応じて、前記第１の通信手段又は第２の通信手段を使用可能に設定する設定手段とを有する。
【００１１】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００１２】
図１は、本実施形態における印刷装置の構成を示すブロック図である。図１において、１は本実施形態における印刷装置、２はＩＥＥＥ１３９４シリアルバスインターフェース部（以下「１３９４インターフェース部）、３は１３９４インターフェース部２を介して第１のプロトコルＳＢＰ−２により通信を行う第１通信部、４は第１通信部２を介してホストコンピュータと通信を行い、ホストコンピュータから印刷データを受信する第１アプリケーション部、５は１３９４インターフェース部２を介して第２のプロトコルＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４により通信を行う第２通信部、６は第２通信部を介してホストコンピュータと通信を行い、ホストコンピュータから印刷データを受信する第２アプリケーション部、７は第２のプロトコルＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４を用いるか否かを判別し、第１通信部３又は第２通信部５を使用可能に設定する設定部、８は第１アプリケーション部４或いは第２アプリケーション部６から印刷データを受け取り、印刷制御を行う印刷制御部、９は印刷制御部８の制御に従って印刷を行う印刷機構部である。
【００１３】
［ＩＥＥＥ１３９４の技術の概要］
以下、本実施形態でのデジタルインターフェースに適用されるＩＥＥＥ１３９４−１９９５規格の技術について簡単に説明する。尚、ＩＥＥＥ１３９４−１９９５規格（以下、ＩＥＥＥ１３９４規格）の詳細については、１９９６年の８月３０日にＩＥＥＥ（Ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，  Ｉｎｃ．）から出版された「ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ａＨｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｅｒｉａｌ  Ｂｕｓ」に記述されている。
（１）概要
図２にＩＥＥＥ１３９４規格に準拠したデジタルインターフェース（以下、１３９４インターフェース）を具備するノードにより構成される通信システム（以下、１３９４ネットワーク）の一例を示す。この１３９４ネットワークは、シリアルデータの通信可能なバス型ネットワークを構成するものである。
【００１４】
図２において、Ａ〜Ｆはノードであり、ＩＥＥＥ１３９４規格に準拠した通信ケーブルを介して接続されている。各ノードＡ〜Ｈは、例えばパーソナルコンピュータ（ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、デジタルＶＴＲ（Ｖｉｄｅｏ  Ｔａｐｅ  Ｒｅｃｏｒｄｅｒ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｃ）プレーヤ、デジタルカメラ、ハードディスク、モニタ等の電子機器である。
【００１５】
１３９４ネットワークの接続方式は、ディジーチェーン方式とノード分岐方式とに対応しており、自由度の高い接続を可能としている。また、１３９４ネットワークでは、例えば既存の機器を削除したり、新たな機器を追加したり、既存の機器の電源をＯＮ／ＯＦＦしたりした場合、自動的にバスリセットを行う。このバスリセットを行うことにより、１３９４ネットワークは、新たな接続構成の認識と各機器に対するＩＤ情報の割り当てとを自動的に行うことができる。この機能によって、１３９４ネットワークは、ネットワークの接続構成を常時認識することができる。
【００１６】
また、１３９４ネットワークは、他の機器から転送されたデータを中継する機能を有している。この機能により、全ての機器がバスの動作状況を把握することができる。
【００１７】
また、１３９４ネットワークは、「Ｐｌｕｇ＆Ｐｌａｙ」と呼ばれる機能を有している。この機能により、全ての機器の電源をオフにすることなく、接続するだけで自動的に接続機器を認識することができる。
【００１８】
また、１３９４ネットワークは、１００／２００／４００Ｍｂｐｓのデータ転送速度に対応している。上位のデータ転送速度を持つ機器は、下位のデータ転送速度をサポートすることができるため、異なるデータ転送速度に対応する機器同士を接続することができる。
【００１９】
更に、１３９４ネットワークは、２つの異なるデータ転送方式（即ち、Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードとＩｓｏｃｈｒｏｎｏｕｓ転送モード）に対応している。Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードは、必要に応じて非同期に転送することが要求されるデータ（即ち、コントロール信号やファイルデータ等）を転送する際に有効である。また、Ｉｓｏｃｈｒｏｎｏｕｓ転送モードは、所定量のデータを一定のデータレートで連続的に転送することが要求されるデータ（即ち、ビデオデータやオーディオデータ等）を転送する際に有効である。
【００２０】
ここで、Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードとＩｓｏｃｈｒｏｎｏｕｓ転送モードとは、各通信サイクル（通常１サイクルは、１２５μＳ）内において、混在させることが可能である。各転送モードは、サイクルの開始を示すサイクルスタートパケット（以下、ＣＳＰ）の転送後に実行される。
【００２１】
尚、各通信サイクル期間において、Ｉｓｏｃｈｒｏｎｏｕｓ転送モードは、Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードよりも優先順位が高く設定されている。またＩｓｏｃｈｒｏｎｏｕｓ転送モードの転送帯域は、各通信サイクル内で保証されている。
（２）アーキテクチャ
次に、図３を用いて１３９４インターフェースの構成要素について説明する。
【００２２】
１３９４インターフェースは、機能的に複数のレイヤ（階層）から構成されている。図３に示すように、１３９４インターフェースは、ＩＥＥＥ１３９４規格に準拠した通信ケーブル３０１を介して他のノードの１３９４インターフェースと接続される。また、１３９４インターフェースは１つ以上の通信ポート３０２を有し、通信ポート３０２はハードウェア部に含まれるフィジカルレイヤ３０３と接続される。
【００２３】
また、ハードウェア部は、フィジカルレイヤ３０３とリンクレイヤ３０４とから構成されている。フィジカルレイヤ３０３は、他のノードとの物理的、電気的なインターフェース、バスリセットの検出とそれに伴う処理、入出力信号の符号化／復号化、バス使用権の調停等を行う。また、リンクレイヤ３０４は通信パケットの生成と送受信、サイクルタイマの制御等を行う。
【００２４】
また、ファームウェア部は、トランザクションレイヤ３０５とシリアルバスマネージメント３０６とを含んでいる。トランザクションレイヤ３０５は、Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードを管理し、各種のトランザクション（リード、ライト、ロック）を提供する。シリアルバスマネージメント３０６は、後述するＣＳＲアーキテクチャに基づいて自ノードの制御、自ノードの接続状態の管理、自ノードのＩＤ情報の管理、シリアルバスネットワークの資源管理を行う機能を提供する。
【００２５】
以上、ハードウェア部とファームウェア部とが実質的に１３９４インターフェースを構成するものであり、それらの基本構成は、ＩＥＥＥ１３９４規格により規定されている。
【００２６】
また、ソフトウェア部に含まれるアプリケーションレイヤ３０７は、使用するアプリケーションソフトによって異なり、ネットワーク上でどのようにデータを通信するのかを制御する。例えば、デジタルＶＴＲの動画像データの場合はＡＶ／Ｃプロトコルなどの通信プロトコルによって規定されている。
（２−１）リンクレイヤ３０４
図４は、リンクレイヤ３０４の提供可能なサービスを示す図である。図４において、リンクレイヤ３０４は、以下の４つのサービスを提供する。即ち、
（Ａ）応答ノードに対して所定のパケットの転送を要求するリンク要求（ＬＫ＿ＤＡＴＡ．ｒｅｑｕｅｓｔ）、
（Ｂ）応答ノードに所定のパケットの受信を通知するリンク通知（ＬＫ＿ＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎ）、
（Ｃ）応答ノードからのアクノリッジを受信したことを示すリンク応答（ＬＫ＿ＤＡＴＡ．ｒｅｓｐｏｎｓｅ）、
（Ｄ）要求ノードからのアクノリッジを確認するリンク確認（ＬＫ＿ＤＡＴＡ．ｃｏｎｆｉｒｍａｔｉｏｎ）である。
【００２７】
尚、リンク応答（ＬＫ＿ＤＡＴＡ．ｒｅｓｐｏｎｓｅ）は、ブロードキャスト通信、Ｉｓｏｃｈｒｏｎｏｕｓパケットの転送の場合には存在しない。
【００２８】
また、リンクレイヤ３０４は、上述のサービスに基づいて上述の２種類の転送方式、即ち、Ａｓｙｎｃｈｒｏｎｏｕｓ転送モード、Ｉｓｏｃｈｒｏｎｏｕｓ転送モードを実現する。
（２−２）トランザクションレイヤ３０５
図５は、トランザクションレイヤ３０５の提供可能なサービスを示す図である。図５において、トランザクションレイヤ３０５は、以下の４つのサービスを提供する。即ち、
（Ａ）応答ノードに対して所定のトランザクションを要求するトランザクション要求（ＴＲ＿ＤＡＴＡ．ｒｅｑｕｅｓｔ）、
（Ｂ）応答ノードに所定のトランザクション要求の受信を通知するトランザクション通知（ＴＲ＿ＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎ）、
（Ｃ）応答ノードからの状態情報（ライト、ロックの場合は、データを含む）を受信したことを示すトランザクション応答（ＴＲ＿ＤＡＴＡ．ｒｅｓｐｏｎｓｅ）、
（Ｄ）要求ノードからの状態情報を確認するトランザクション確認（ＴＲ＿ＤＡＴＡ．ｃｏｎｆｉｒｍａｔｉｏｎ）である。
【００２９】
また、トランザクションレイヤ３０５は、上述のサービスに基づいてＡｓｙｎｃｈｒｏｎｏｕｓ転送を管理し、次の３種類のトランザクション、即ち、（ａ）リードトランザクション、（ｂ）ライトトランザクション、（ｃ）ロックトランザクションを実現する。
【００３０】
ここで、リードトランザクションは、要求ノードが応答ノードの特定アドレスに格納された情報を読み取る。また、ライトトランザクションは、要求ノードが応答ノードの特定アドレスに所定の情報を書き込む。そして、ロックトランザクションは、要求ノードが応答ノードに対して参照データと更新データとを転送し、応答ノードの特定アドレスの情報とその参照データとを比較し、その比較結果に応じて特定アドレスの情報を更新データに更新する。
（２−３）シリアルバスマネージメント３０６
シリアルバスマネージメント３０６は、具体的に、次の３つの機能を提供することができる。３つの機能は、即ち、（ａ）ノード制御、（ｂ）アイソクロナスリソースマネージャ（以下、ＩＲＭ）、（ｃ）バスマネージャである。
【００３１】
ここで、ノード制御は、上述の各レイヤを管理し、他のノードとの間で実行されるＡｓｙｎｃｈｒｏｎｏｕｓ転送を管理する機能を提供する。また、ＩＲＭは、他のノードとの間で実行されるＩｓｏｃｈｒｏｎｏｕｓ転送を管理する機能を提供する。具体的には、転送帯域幅とチャネル番号の割り当てに必要な情報を管理し、これらの情報を他のノードに対して提供する。ＩＲＭは、ローカルバス上に唯一存在し、バスリセット毎に他の候補者（ＩＲＭの機能を有するノード）の中から動的に選出される。また、ＩＲＭは、後述のバスマネージャの提供可能な機能（接続構成の管理、電源管理、速度情報の管理等）の一部を提供しても良い。
【００３２】
バスマネージャは、ＩＲＭの機能を有し、ＩＲＭよりも高度なバス管理機能を提供する。具体的には、より高度な電源管理（通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理）、より高度な速度情報の管理（各ノード間の最大転送速度の管理）、より高度な接続構成の管理（トポロジーマップの作成）、これらの管理情報に基づくバスの最適化等を行い、更にこれらの情報を他のノードに提供する機能を有する。また、バスマネージャは、シリアルバスネットワークを制御するためのサービスをアプリケーションに対して提供できる。ここで、サービスには、シリアルバス制御要求（ＳＢ＿ＣＯＮＴＲＯＬ．ｒｅｑｕｅｓｔ）、シリアルバスイベント制御確認（ＳＢ＿ＣＯＮＴＲＯＬ．ｃｏｎｆｉｒｍａｔｉｏｎ）、シリアルバスイベント通知（ＳＢ＿ＣＯＮＴＲＯＬ．ｉｎｄｉｃａｔｉｏｎ）等がある。
【００３３】
ＳＢ＿ＣＯＮＴＲＯＬ．ｒｅｑｕｅｓｔは、アプリケーションがバスリセットを要求するサービスである。ＳＢ＿ＣＯＮＴＲＯＬ．ｃｏｎｆｉｒｍａｔｉｏｎは、ＳＢ＿ＣＯＮＴＲＯＬ．ｒｅｑｕｅｓｔをアプリケーションに対して確認するサービスである。ＳＢ＿ＣＯＮＴＲＯＬ．ｉｎｄｉｃａｔｉｏｎは、非同期に発生するイベントをアプリケーションに対して通知するサービスである。
（３）アドレス指定
図６は、１３９４インターフェースにおけるアドレス空間を説明する図である。尚、１３９４インターフェースは、ＩＳＯ／ＩＥＣ  １３２１３：１９９４に準じたＣＳＲ（Ｃｏｍｍａｎｄ  ａｎｄ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ）アーキテクチャに従い、６４ビット幅のアドレス空間を規定している。
【００３４】
図６に示すように、最初の１０ビットのフィールド６０１は、所定のバスを指定するＩＤ番号に使用され、次の６ビットのフィールド６０２は、所定の機器（ノード）を指定するＩＤ番号に使用される。この上位１６ビットを「ノードＩＤ」と呼び、各ノードはこのノードＩＤにより他のノードを識別する。各ノードは、このノードＩＤを用いて相手を識別した通信を行うことができる。
【００３５】
残りの４８ビットからなるフィールドは、各ノードの具備するアドレス空間（２５６Ｍバイト構造）を指定する。その内の２０ビットのフィールド６０３は、アドレス空間を構成する複数の領域を指定する。
【００３６】
フィールド６０３において、「０〜０ｘＦＦＦＦＤ」の部分は、メモリ空間と呼ばれる。「０ｘＦＦＦＦＥ」の部分は、プライベート空間と呼ばれ、各ノードで自由に利用できるアドレスである。また、「０ｘＦＦＦＦＥ」の部分は、レジスタ空間と呼ばれ、バスに接続されたノード間において共通の情報を格納する。各ノードは、レジスタ空間の情報を用いることにより、各ノード間の通信を管理することができる。
【００３７】
最後の２８ビットのフィールド６０４は、各ノードにおいて共通或いは固有となる情報が格納されるアドレスを指定する。例えば、レジスタ空間において、最初の５１２バイトは、ＣＳＲアーキテクチャーのコア（ＣＳＲコア）レジスタ用に使用される。このＣＳＲコアレジスタに格納される情報のアドレス及び機能を図７に示す。図７に示すオフセットは、「０ｘＦＦＦＦＦ０００００００」からの相対位置である。
【００３８】
図６に示すフィールド６０４における次の５１２バイトは、シリアルバス用のレジスタとして使用される。シリアルバスレジスタに格納される情報のアドレス及び機能を図８に示す。図８に示すオフセットは、「０ｘＦＦＦＦＦ００００２００」からの相対位置である。
【００３９】
図６に示すフィールド６０４における次の１０２４バイトは、Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭ用に使用される。Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭには最小形式と一般形式とがあり、「０ｘＦＦＦＦＦ００００４００」から配置される。最小形式のＣｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭを図９に示す。図９において、ベンダＩＤは、ＩＥＥＥにより各ベンダに対して固有に割り当てられた２４ビットの数値である。
【００４０】
また、一般形式のＣｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭを図１０に示す。図１０において、上述のベンダＩＤは、Ｒｏｏｔ  Ｄｉｒｅｃｔｏｒｙ１００２に格納されている。そして、Ｂｕｓ  ＩｎｆｏＢｌｏｃｋ１００１とＲｏｏｔ  Ｌｅａｆ１００５とには各ノードを識別する固有のＩＤ情報としてノードユニークＩＤを保持することが可能である。
【００４１】
ここで、ノードユニークＩＤは、メーカ、機種に関わらず、１つのノードを特定することのできる固有のＩＤを定めるようになっている。ノードユニークＩＤは６４ビットにより構成され、上位２４ビットは上述のベンダＩＤを示し、下位４８ビットは各ノードを製造するメーカにおいて自由に設定可能な情報（例えば、ノードの製造番号等）を示す。尚、このノードユニークＩＤは、例えばバスリセットの前後で継続して特定のノードを認識する場合に使用される。
【００４２】
また、図１０において、Ｒｏｏｔ  Ｄｉｒｅｃｔｏｒｙ１００２には、ノードの基本的な機能に関する情報を保持することが可能である。詳細な機能情報は、Ｒｏｏｔ  Ｄｉｒｅｃｔｏｒｙ１００２からオフセットされるサブディレクトリ（Ｕｎｉｔ  Ｄｉｒｅｃｔｏｒｉｅｓ１００４）に格納される。Ｕｎｉｔ  Ｄｉｒｅｃｔｏｒｉｅｓ１００４には、例えば、ノードのサポートするソフトウェアユニットに関する情報が格納される。具体的には、ノード間のデータ通信を行うためのデータ転送プロトコル、所定の通信手順を定義するコマンドセット等に関する情報が保持される。
【００４３】
また、図１０において、Ｎｏｄｅ  Ｄｅｐｅｎｄｅｎｔ  Ｉｎｆｏ  Ｄｉｒｅｃｔｏｒｙ１００３には、デバイス固有の情報を保持することが可能である。Ｎｏｄｅ  Ｄｅｐｅｎｄｅｎｔ  Ｉｎｆｏ  Ｄｉｒｅｃｔｏｒｙ１００３は、Ｒｏｏｔ  Ｄｉｒｅｃｔｏｒｙ１００２によりオフセットされる。
【００４４】
更に、図１０において、Ｖｅｎｄｏｒ  Ｄｅｐｅｎｄｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ１００６には、ノードを製造、或いは販売するベンダ固有の情報を保持することができる。
【００４５】
図６に示すフィールド６０４における残りの領域は、ユニット空間と呼ばれ、各ノード固有の情報、例えば、各機器の識別情報（会社名、機種名等）や使用条件等が格納されたアドレスを指定する。ユニット空間のシリアルバス装置レジスタに格納される情報のアドレス及び機能を図１１に示す。図１１に示すオフセットは、「０ｘＦＦＦＦＦ００００８００」からの相対位置である。
【００４６】
尚、一般的に、異種のバスシステムの設計を簡略化したい場合、各ノードは、レジスタ空間の最初の２０４８バイトのみを使うべきである。つまり、ＣＳＲコアレジスタ、シリアルバスレジスタ、Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭ、ユニット空間の最初の２０４８バイトの合わせて４０９６バイトで構成することが望ましい。
（４）通信ケーブルの構成
図１２にＩＥＥＥ１３９４規格に準拠した通信ケーブルの断面図を示す。通信ケーブルは、２組のツイストペア信号線と電源ラインとにより構成されている。電源ラインを設けることにより、１３９４インターフェースは、主電源のＯＦＦとなった機器、故障により電力低下した機器等にも電力を供給することができる。尚、電源線内を流れる電源の電圧は８〜４０Ｖ、電流は最大電流ＤＣ１．５Ａと規定されている。
【００４７】
２組のツイストペア信号線には、ＤＳ−Ｌｉｎｋ（Ｄａｔａ／Ｓｔｒｏｂｅ  Ｌｉｎｋ）符号化方式にて符号化された情報信号が伝送される。図１３は、ＤＳ−Ｌｉｎｋ符号化方式を説明する図である。
【００４８】
このＤＳ−Ｌｉｎｋ符号化方式は、高速なシリアルデータ通信に適しており、その構成は、２組のより対線を必要とする。一組のより対線は、データ信号を送り、他のより対線は、ストローブ信号を送る構成になっている。受信側は、２組の信号線から受信したデータ信号とストローブ信号との排他的論理和をとることによりクロックを再現することができる。
【００４９】
尚、このＤＳ−Ｌｉｎｋ符号化方式を用いることにより、１３９４インターフェースには、例えば次のような利点がある。（ａ）他の符号化方式に比べて転送効率が高い。（ｂ）ＰＬＬ回路が不要となり、コントローラＬＳＩの回路規模を小さくできる。（ｃ）アイドル状態であることを示す情報を送る必要が無いため、トランシーバ回路をスリープ状態とし易く、消費電力の低減が図れる。
（５）バスリセット
各ノードの１３９４インターフェースは、ネットワークの接続構成に変化が生じたことを自動的に検出することができる。この場合、１３９４ネットワークは、以下に示す手順によりバスリセットと呼ばれる処理を行う。尚、接続構成における変化は、各ノードの具備する通信ポートにかかるバイアス電圧の変化により検知することができる。
【００５０】
ネットワークの接続構成の変化（例えば、ノードの挿抜、ノードの電源のＯＮ／ＯＦＦなどによるノード数の増減）を検出したノード、又は新たな接続構成を認識する必要のあるノードは、１３９４インターフェースを介してバス上にバスリセット信号を送信する。
【００５１】
バスリセット信号を受信したノードの１３９４インターフェースは、バスリセットの発生を自身のリンクレイヤ３０４に伝達すると共に、そのバスリセット信号を他のノードに転送する。バスリセット信号を受信したノードは、今まで認識していたネットワークの接続構成及び各機器に割り当てられたノードＩＤをクリアにする。最終的に全てのノードがバスリセット信号を検知した後、各ノードはバスリセットに伴う初期化処理（即ち、新たな接続構成の認識と新たなノードＩＤの割り当て）を自動的に行う。
【００５２】
尚、バスリセットは先に述べたような接続構成の変化による起動の他に、ホスト側の制御により、アプリケーションレイヤ３０７がフィジカルレイヤ３０３に対して直接命令を出すことによって起動させることも可能である。
【００５３】
また、バスリセットが起動するとデータ転送は一時中断され、バスリセットに伴う初期化処理の終了後、新しいネットワークのもとで再開される。
（６）バスリセット起動後のシーケンス
バスリセットの起動後、各ノードの１３９４インターフェースは、新たな接続構成の認識と新たなノードＩＤの割り当てとを自動的に実行する。以下、バスリセットの開始からノードＩＤの割り当て処理までの基本的なシーケンスを図１４〜図１６を用いて説明する。
【００５４】
図１４は、図２の１３９４ネットワークにおけるバスリセット起動後の状態を説明する図である。図１４において、ノードＡは１つの通信ポート、ノードＢは２つの通信ポート、ノードＣは２つの通信ポート、ノードＤは３つの通信ポート、ノードＥは１つの通信ポート、ノードＦは１つの通信ポートを具備している。尚、各ノードの通信ポートには、各ポートを識別するためのポート番号が付加されている。
【００５５】
ここで、図１４におけるバスリセットの開始からノードＩＤの割り当てまでを図１５に示すフローチャートを用いて説明する。まず、ステップＳ１５０１で、１３９４ネットワークを構成する各ノードＡ〜Ｆは、バスリセットが発生したか否かを常時監視している。接続構成の変化を検出したノードからバスリセット信号が出力されると、各ノードは以下の処理を実行する。
【００５６】
バスリセットの発生後、ステップＳ１５０２において、各ノードは夫々の具備する通信ポート間において親子関係の宣言を行う。そして、各ノードは、全てのノード間の親子関係が決定されるまで、ステップＳ１５０２の処理を繰り返し、ステップＳ１５０３において、全てのノード間の親子関係が決定するとステップＳ１５０４へ進み、１３９４ネットワークはネットワークの調停を行うノード、即ちルートを決定する。
【００５７】
ルートを決定した後、ステップＳ１５０５において、各ノードの１３９４インターフェース夫々は、自己のノードＩＤを自動的に設定する作業を実行する。全てのノードに対してノードＩＤの設定がなされるまで、各ノードは所定の手順に基づいてステップＳ１５０５の処理を実行する。
【００５８】
ステップＳ１５０６で最終的に全てのノードに対してノードＩＤが設定されるとステップＳ１５０７へ進み、各ノードはＩｓｏｃｈｒｏｎｏｕｓ転送或いはＡｓｙｎｃｈｒｏｎｏｕｓ転送を実行する。ステップＳ１５０７の処理を実行すると共に、各ノードの１３９４インターフェースは、再びバスリセットの発生を監視する。バスリセットが発生した場合には、ステップＳ１５０１以降の処理を再び実行する。
【００５９】
以上の手順により、各ノードの１３９４インターフェースは、バスリセットが起動する毎に新たな接続構成の認識と新たなノードＩＤの割り当てとを自動的に実行することができる。
（７）親子関係の決定
次に、図１６を用いて、図１５に示したステップＳ１５０２での処理（即ち、各ノード間の親子関係を認識する処理）について詳細に説明する。
【００６０】
バスリセットの発生後、ステップＳ１６０１において、１３９４ネットワーク上の各ノードＡ〜Ｆは、自分の具備する通信ポートの接続状態（接続又は未接続）を確認する。通信ポートの接続状態を確認した後、ステップＳ１６０２において、各ノードは、他のノードと接続されている通信ポート（以下、接続ポート）の数をカウントする。
【００６１】
ステップＳ１６０２での結果、接続ポートの数が１つである場合はステップＳ１６０３へ進み、そのノードは、自分が「リーフ」であると認識する。ここで、リーフとは、１つのノードとのみ接続されているノードのことである。そして、ステップＳ１６０４において、リーフとなるノードは、その接続ポートに接続されているノードに対して「自分は子（Ｃｈｉｌｄ）」であることを宣言する。このとき、リーフは、その接続ポートが「親ポート（親ノードと接続された通信ポート）」であると認識する。
【００６２】
ここで、親子関係の宣言は、まずネットワークの末端であるリーフとブランチとの間にて行われ、次にブランチとブランチとの間で順次に行われる。各ノード間の親子関係は、早く宣言の行なえる通信ポートから順に決定される。また、各ノード間において、子であることを宣言した通信ポートは「親ポート」であると認識され、その宣言を受けた通信ポートは「子ポート（子ノードと接続された通信ポート）」であると認識される。
【００６３】
例えば、図１４において、ノードＡ、Ｅ、Ｆは自分がリーフであると認識した後、親子関係の宣言を行う。これにより、ノードＡ−Ｂ間では子−親、ノードＥ−Ｄ間では子−親、ノードＦ−Ｄ間では子−親と決定される。
【００６４】
また、ステップＳ１６０２での結果、接続ポートの数が２つ以上の場合はステップＳ１６０５へ進み、そのノードは、自分を「ブランチ」であると認識する。ここで、ブランチとは、２つ以上のノードと接続されているノードのことである。次に、ステップＳ１６０６において、ブランチとなるノードは、各接続ポートのノードから親子関係の宣言を受け付ける。この宣言を受け付けた接続ポートは、「子ポート」として認識される。
【００６５】
１つの接続ポートを「子ポート」と認識した後、ステップＳ１６０７において、ブランチとして、まだ親子関係の決定されていない接続ポート（即ち、未定義ポート）が２つ以上あるか否かを検出する。その結果、未定義ポートが２つ以上ある場合、再びステップＳ１６０６に戻り、上述した親子関係の宣言を行う。
【００６６】
また、未定義ポートが２つ以上ない場合はステップＳ１６０８へ進み、未定義ポートが１つだけ存在するか否かを検出する。その結果、未定義ポートが１つの場合はステップＳ１６０９へ進み、ブランチは、その未定義ポートが「親ポート」であると認識し、そのポートに接続されているノードに対して「自分は子」であることを宣言する。
【００６７】
ここで、ブランチは、残りの未定義ポートが１つになるまで、自分自身が子であると他のノードに対して宣言することができない。例えば、図１４において、ノードＢ、Ｃ、Ｄは、自分がブランチであると認識すると共にリーフ或いは他のブランチからの宣言を受け付ける。ノードＤは、Ｄ−Ｅ間、Ｄ−Ｆ間の親子関係が決定した後、ノードＣに対して親子関係の宣言を行っている。また、ノードＤからの宣言を受けたノードＣは、ノードＢに対して親子関係の宣言を行っている。
【００６８】
また、ステップＳ１６０８において、未定義ポートが存在しない場合（つまり、ブランチの具備する全ての接続ポートが親ポートとなった場合）はステップＳ１６１０へ進み、そのブランチは、自分自身がルートであることを認識する。
【００６９】
例えば、図１４において、接続ポートの全てが親ポートとなったノードＢは、１３９４ネットワーク上の通信を調停するルートとして他のノードに認識される。尚、ノードＢがルートと決定されたが、ノードＢの親子関係を宣言するタイミングがノードＣの宣言するタイミングに比べて早い場合には、他のノードがルートになる可能性もある。即ち、宣言するタイミングによっては、どのノードもルートとなる可能性がある。従って、同じネットワーク構成であっても、同じノードがルートになるとは限らない。
【００７０】
このように全ての接続ポートの親子関係が宣言されることにより、ステップＳ１６１１において、各ノードは１３９４ネットワークの接続構成を階層構造（ツリー構造）として認識することができる。尚、上述の親ノードは、階層構造における上位であり、子ノードは階層構造における下位となる。
（８）ノードＩＤの割り当て
次に、図１７を用いて、図１５に示したステップＳ１５０５での処理（即ち、自動的に各ノードのノードＩＤを割り当てる処理）について詳細に説明する。
【００７１】
ここで、ノードＩＤはバス番号とノード番号とから構成されるが、本実施形態では、各ノードを同一バス上に接続するものとし、各ノードには同一のバス番号が割り当てられるものとする。
【００７２】
まずステップＳ１７０１において、ルートは、ノードＩＤが未設定のノードが接続されている子ポートの内、最小番号を有する通信ポートに対してノードＩＤの設定許可を与える。尚、図１７において、ルートは最小番号の子ポートに接続されている全ノードのノードＩＤを設定した後、その子ポートを設定済とし、次に最小となる子ポートに対して同様の制御を行う。最終的に子ポートに接続された全てのノードのＩＤ設定が終了した後、ルート自身のノードＩＤを設定する。また、ノードＩＤに含まれるノード番号は、基本的にリーフ、ブランチの順に０、１、２…と割り当てられる。従って、ルートが最も大きなノード番号を有することになる。
【００７３】
次に、ステップＳ１７０２において、ステップＳ１７０１で設定許可を得たノードは、自分の子ポートの内、ノードＩＤが未設定となるノードを含む子ポートがあるか否かを判断する。その結果、未設定ノードを含む子ポートが検出された場合はステップＳ１７０３へ進み、上述の設定許可を得たノードは、その子ポートに直接接続されたノードに対してその設定許可を与えるように制御する。
【００７４】
ステップＳ１７０３の処理後、ステップＳ１７０４において、上述の設定許可を得たノードは、自分の子ポートの内、ノードＩＤが未設定であるノードを含む子ポートがあるか否かを判断する。ここで、ステップＳ１７０４の処理後、未設定ノードを含む子ポートの存在が検出された場合、そのノードは、再びステップＳ１７０３に戻り、上述の処理を実行する。
【００７５】
また、ステップＳ１７０２、或いはＳ１７０４において、未設定ノードを含む子ポートが検出されなかった場合はステップＳ１７０５へ進み、設定許可を得たノードは、自分自身のノードＩＤを設定する。そして、ステップＳ１７０６において、自分のノードＩＤを設定したノードは、自己のノード番号、通信ポートの接続状態に関する情報等を含んだセルフＩＤパケットをブロードキャストする。尚、ブロードキャストとは、あるノードの通信パケットを、１３９４ネットワークを構成する不特定多数のノードに対して転送することである。
【００７６】
ここで、各ノードは、このセルフＩＤパケットを受信することにより各ノードに割り当てられたノート番号を認識することができ、また自分に割り当てられるノード番号を知ることができる。例えば、図１４において、ルートであるノードＢは最小ポート番号「＃１」の通信ポートに接続されたノードＡに対してノードＩＤ設定の許可を与える。ノードＡは、自己のノード番号として「Ｎｏ．０」を割り当て、自分自身に対してバス番号とノード番号とからなるノードＩＤを設定する。また、ノードＡは、そのノード番号を含むセルフＩＤパケットをブロードキャストする。
【００７７】
図１８にセルフＩＤパケットの構成例を示す。図１８において、１８０１はセルフＩＤパケットを送出したノードのノード番号を格納するフィールド、１８０２は対応可能な転送速度に関する情報を格納するフィールド、１８０３はバス管理機能（バスマネージャの能力の有無等）の有無を示すフィールド、１８０４は電力の消費及び供給の特性に関する情報を格納するフィールドである。
【００７８】
また、１８０５はポート番号「＃０」となる通信ポートの接続状態に関する情報（接続、未接続、通信ポートの親子関係等）を格納するフィールド、１８０６はポート番号「＃１」となる通信ポートの接続状態に関する情報（接続、未接続、通信ポートの親子関係等）を格納するフィールド、１８０７はポート番号「＃２」となる通信ポートの接続状態に関する情報（接続、未接続、通信ポートの親子関係等）を格納するフィールドである。
【００７９】
尚、セルフＩＤパケットを送出するノードにバスマネージャとなり得る能力がある場合には、フィールド１８０３に示すコンテンダビットを「１」とし、なり得る能力がなければ、コンテンダビットを「０」とする。また、バスマネージャとは、上述のセルフＩＤパケットに含まれる各種情報に基づいてバスの電源管理（通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理する）、速度情報の管理（各ノードの対応可能な転送速度に関する情報から各ノード間の最大転送速度を管理する）、トポロジーマップ情報の管理（通信ポートの親子関係情報からネットワークの接続構成を管理する）、トポロジーマップ情報に基づくバスの最適化等を行い、それらの情報を他のノードに提供する機能を有するノードである。これらの機能により、バスマネージャとなるノードは１３９４ネットワーク全体のバス管理を行うことができる。
【００８０】
図１７に戻り、ステップＳ１７０６の処理後、ステップＳ１７０７において、ノードＩＤの設定を行ったノードは、親ノードがあるか否かを判断する。ここで、親ノードがある場合はステップＳ１７０２に戻り、その親ノードが上述の処理を実行する。そして、まだノードＩＤの設定されていないノードに対して許可を与える。
【００８１】
また、親ノードが存在しない場合はステップＳ１７０８へ進み、そのノードは、ルート自身であると判断し、ステップＳ１７０８において、ルートは、全ての子ポートに接続されたノードに対してノードＩＤが設定されたか否かを判別する。ここで、全てのノードに対するＩＤ設定処理が終了しなかった場合はステップＳ１７０１に戻り、ルートは、そのノードを含む子ポートの内、最小番号となる子ポートに対してＩＤ設定の許可を与える。その後、上述のステップＳ１７０２以降の処理を実行する。
【００８２】
また、全てのノードに対するＩＤ設定処理が終了した場合はステップＳ１７０９へ進み、ルートは自分自身のノードＩＤの設定を実行する。そして、ステップＳ１７１０において、ノードＩＤを設定した後、ルートは、セルフＩＤパケットをブロードキャストする。
【００８３】
以上の処理により、１３９４ネットワークは各ノードに対して自動的にノードＩＤを割り当てることができる。
【００８４】
ここで、ノードＩＤの設定処理の後、複数のノードがバスマネージャの能力を具備する場合、ノード番号の最も大きいノードがバスマネージャとなる。つまり、ネットワーク内で最大となるノード番号を持つルートがバスマネージャになり得る機能を有している場合には、ルートがバスマネージャとなる。
【００８５】
しかしながら、ルートにバスマネージャになり得る機能が備わっていない場合には、ルートの次に大きいノード番号を具備するノードがバスマネージャとなる。また、どのノードがバスマネージャになったかについては各ノードがブロードキャストするセルフＩＤパケット内のコンテンダビット１８０３をチェックすることにより把握することができる。
（９）アービトレーション
図１９は、１３９４ネットワークにおけるアービトレーションを説明するための図である。１３９４ネットワークでは、データ転送に先立ち、必ずバス使用権のアービトレーション（調停）を行う。尚、１３９４ネットワークは、論理的なバス型ネットワークであり、各ノードから転送された通信パケットを他のノードに中継することにより、ネットワーク内の全てのノードに同じ通信パケットを転送することができる。従って、通信パケットの衝突を防ぐために、必ずアービトレーションが必要となる。これにより、ある時間において一つのノードのみが転送を行うことができる。
【００８６】
図１９に示す（ａ）は、ノードＢとノードＦとが、バス使用権の要求を発している場合を説明する図である。アービトレーションが始まるとノードＢ、Ｆは、夫々親ノードに向かって、バス使用権の要求を発する。ノードＢの要求を受けた親ノード（即ち、ノードＣ）は、自分の親ノード（即ち、ノードＤ）に向かって、そのバス使用権を中継する。この要求は、最終的に調停を行うルート（ノードＤ）に届けられる。
【００８７】
バス使用要求を受けたルートは、どのノードにバスを使用させるかを決める。この調停作業はルートとなるノードのみが行えるものであり、調停によって勝ったノードにはバスの使用許可が与えられる。
【００８８】
図１９に示す（ｂ）は、ノードＦの要求が許可され、ノードＢの要求が拒否されたことを示す図である。アービトレーションに負けたノードに対してルートは、ＤＰ（Ｄａｔａ  ｐｒｅｆｉｘ）パケットを送り、拒否されたことを知らせる。拒否されたノードは、次回のアービトレーションまでバス使用要求を待機する。
【００８９】
以上のようにアービトレーションを制御することにより、１３９４ネットワークは、バスの使用権を管理することができる。
（１０）通信サイクル
Ｉｓｏｃｈｒｏｎｏｕｓ転送モードとＡｓｙｎｃｈｒｏｎｏｕｓ転送モードとは、各通信サイクル期間内において時分割に混在させることができる。ここで、通信サイクルの期間は、通常、１２５μＳである。
【００９０】
図２０は、１通信サイクルにおいて、Ｉｓｏｃｈｒｏｎｏｕｓ転送モードとＡｓｙｎｃｈｒｏｎｏｕｓ転送モードとを混在させた場合を説明する図である。
【００９１】
Ｉｓｏｃｈｒｏｎｏｕｓ転送モードは、Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードより優先して実行される。その理由は、サイクルスタートパケットの後、Ａｓｙｎｃｈｒｏｎｏｕｓ転送を起動するために必要なアイドル期間（ｓｕｂａｃｔｉｏｎ  ｇａｐ）が、Ｉｓｏｃｈｒｏｎｏｕｓ転送を起動するために必要なアイドル期間（Ｉｓｏｃｈｒｏｎｏｕｓ  ｇａｐ）よりも長くなるように設定されているためである。これにより、Ｉｓｏｃｈｒｏｎｏｕｓ転送は、Ａｓｙｎｃｈｒｏｎｏｕｓ転送に優先して実行される。
【００９２】
図２０において、各通信サイクルのスタート時には、サイクルスタートパケット（以下、ＣＳＰ）が所定のノードから転送される。各ノードは、このＣＳＰを用いて時刻調整を行うことにより、他のノードと同じ時間を計時することができる。
（１１）Ｉｓｏｃｈｒｏｎｏｕｓ転送モード
Ｉｓｏｃｈｒｏｎｏｕｓ転送モードは、同期型の転送方式である。Ｉｓｏｃｈｒｏｎｏｕｓモード転送は、通信サイクルの開始後、所定の期間において実行可能である。また、Ｉｓｏｃｈｒｏｎｏｕｓ転送モードは、リアルタイム転送を維持するために、各サイクル毎に必ず実行される。
【００９３】
Ｉｓｏｃｈｒｏｎｏｕｓ転送モードは、特に動画像データや音声データ等のリアルタイムな転送を必要とするデータの転送に適した転送モードである。Ｉｓｏｃｈｒｏｎｏｕｓ転送モードは、Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードのように１対１の通信ではなく、ブロードキャスト通信である。つまり、あるノードから送出されたパケットは、ネットワーク上の全てのノードに対して一様に転送される。尚、Ｉｓｏｃｈｒｏｎｏｕｓ転送には、ａｃｋ（受信確認用返信コード）は存在しない。
【００９４】
図２０において、チャネルｅ（ｃｈ  ｅ）、チャネルｓ（ｃｈ  ｓ）、チャネルｋ（ｃｈｋ）は、各ノードがＩｓｏｃｈｒｏｎｏｕｓ転送を行う期間を示す。１３９４インターフェースでは、複数の異なるＩｓｏｃｈｒｏｎｏｕｓ転送を区別するために、夫々異なるチャネル番号を与えている。これにより、複数ノード間でのＩｓｏｃｈｒｏｎｏｕｓ転送が可能となる。ここで、このチャネル番号は、送信先を特定するものではなく、データに対する論理的な番号を与えているに過ぎない。
【００９５】
また、図２０に示すＩｓｏｃｈｒｏｎｏｕｓ  ｇａｐとは、バスのアイドル状態を示すものである。このアイドル状態が一定時間を経過した後、Ｉｓｏｃｈｒｏｎｏｕｓ転送を希望するノードはバスが使用できると判断し、アービトレーションを実行する。
【００９６】
次に、図２１にＩｓｏｃｈｒｏｎｏｕｓ転送モードに基づいて転送される通信パケットのフォーマットを示す。以下、Ｉｓｏｃｈｒｏｎｏｕｓ転送モードに基づいて転送される通信パケットを、Ｉｓｏｃｈｒｏｎｏｕｓパケットと称する。
【００９７】
図２１において、Ｉｓｏｃｈｒｏｎｏｕｓパケットは、ヘッダ部２１０１、ヘッダＣＲＣ２１０２、データ部２１０３、データＣＲＣ２１０４から構成される。ここで、ヘッダ部２１０１には、データ部２１０３のデータ長を格納するフィールド２１０５、Ｉｓｏｃｈｒｏｎｏｕｓパケットのフォーマット情報を格納するフィールド２１０６、Ｉｓｏｃｈｒｏｎｏｕｓパケットのチャネル番号を格納するフィールド２１０７、パケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード（ｔｃｏｄｅ）を格納するフィールド２１０８、同期化コードを格納するフィールド２１０９がある。
（１２）Ａｓｙｎｃｈｒｏｎｏｕｓ転送モード
Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードは、非同期型の転送方式である。Ａｓｙｎｃｈｒｏｎｏｕｓ転送は、Ｉｓｏｃｈｒｏｎｏｕｓ転送期間の終了後、次の通信サイクルが開始されるまでの間（即ち、次の通信サイクルのＣＳＰが転送されるまでの間）、実行可能である。
【００９８】
図２０において、最初のサブアクションギャップ（ｓｕｂａｃｔｉｏｎ  ｇａｐ）は、バスのアイドル状態を示すものである。このアイドル時間が一定値になった後、Ａｓｙｎｃｈｒｏｎｏｕｓ転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
【００９９】
このアービトレーションにより、バスの使用権を得たノードは、図２２に示すパケットを所定のノードに対して転送する。このパケットを受信したノードは、ａｃｋ（受信確認用返送コード）或いは応答パケットをａｃｋ  ｇａｐ後に返送する。
【０１００】
図２２は、Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードに基づく通信パケットのフォーマットを示す図である。以下、Ａｓｙｎｃｈｒｏｎｏｕｓ転送モードに基づいて転送される通信パケットをＡｓｙｎｃｈｒｏｎｏｕｓパケットと称する。
【０１０１】
図２２において、Ａｓｙｎｃｈｒｏｎｏｕｓパケットは、ヘッダ部２２０１、ヘッダＣＲＣ２２０２、データ部２２０３、データＣＲＣ２２０４から構成される。ここで、ヘッダ部２２０１において、フィールド２２０５には宛先となるノードのノードＩＤ、フィールド２２０６にはソースとなるノードのノードＩＤ、フィールド２２０７には一連のトランザクションを示すためのラベル、フィールド２２０８には再送ステータスを示すコード、フィールド２２０９にはパケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード（ｔｃｏｄｅ）、フィールド２２１０には優先順位、フィールド２２１１には宛先のメモリアドレス、フィールド２２１２にはデータ部のデータ長、フィールド２２１３には拡張されたトランザクションコードが格納される。
【０１０２】
また、Ａｓｙｎｃｈｒｏｎｏｕｓ転送は、自己ノードから相手ノードへの１対１の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視される。従って、宛先となるノードのみが、そのパケットを読み込むことができる。
【０１０３】
尚、Ａｓｙｎｃｈｒｏｎｏｕｓ転送中に次のＣＳＰを転送すべき時間に至った場合、無理に転送を中断せず、その転送が終了した後、次のＣＳＰを送信する。これにより、１つの通信サイクルが１２５μＳ以上続いたときは、その分、次の通信サイクル期間を短縮する。このようにすることにより、１３９４ネットワークは、ほぼ一定の通信サイクルを保持することができる。
（１３）デバイスマップ
デバイスマップを作成するためにアプリケーションが１３９４ネットワークのトポロジーを知る手段として、ＩＥＥＥ１３９４規格上は以下の手段がある。
１．バスマネージャのトポロジーマップレジスタをリードする
２．バスリセット時にセルフＩＤパケットから推定する
しかし、上記１、２の手段では、各ノードの親子関係によるケーブル接続順のトポロジーは判明するものの、物理的な位置関係のトポロジーを知ることはできない（実装されていないポートまで見えてしまう、といった問題もある）。
【０１０４】
また、デバイスマップを作成するための情報を、コンフィギュレーションＲＯＭ以外のデータベースとして持つ、といった手段もあるが、その場合、各種情報を得る手段はデータベースアクセスのためのプロトコルに依存してしまう。
【０１０５】
ところで、コンフィギュレーションＲＯＭ自体やコンフィギュレーションＲＯＭを読む機能は、ＩＥＥＥ１３９４規格を遵守したデバイスが必ず持つものである。そこで、デバイスの位置、機能等の情報を各ノードのコンフィギュレーションＲＯＭに格納し、それらをアプリケーションから読む機能を与えることにより、データベースアクセス、データ転送等の特定のプロトコルに依存することなく、各ノードのアプリケーションが、いわゆるデバイスマップ表示機能を実装することができる。
【０１０６】
コンフィグレーションＲＯＭにはノード固有の情報として物理的な位置、機能などが格納可能であり、デバイスマップ表示機能の実現に使用することが可能である。この場合、アプリケーションが物理的な位置関係による１３９４ネットワークトポロジーを知る手段としては、バスリセット時やユーザからの要求時に、各ノードのコンフィギュレーションＲＯＭを読み取ることにより、１３９４ネットワークのトポロジーを知るという方法が可能となる。
【０１０７】
更に、コンフィギュレーションＲＯＭ内にノードの物理的な位置のみならず、機能などの各種ノード情報も記述することにより、コンフィギュレーションＲＯＭを読むことで、ノードの物理的位置と同時に各ノードの機能情報等も得ることができる。アプリケーションが各ノードのコンフィギュレーションＲＯＭ情報を取得する際には、指定ノードの任意のコンフィギュレーションＲＯＭ情報を取得するＡＰＩを用いる。
【０１０８】
このような手段を用いることにより、ＩＥＥＥ１３９４ネットワーク上のデバイスのアプリケーションは、物理的なトポロジーマップ、各ノードの機能マップなど用途に応じて様々なデバイスマップを作成することができ、ユーザが必要な機能をもつデバイスを選択する、といったことも可能となる。
【０１０９】
以上の説明が、１３９４インターフェースを用いて構成される通信システムの構成及び機能に関する説明である。
【０１１０】
［第１の実施形態］
ここで、図１に戻り、１３９４インターフェース部２は、図３に示した１３９４インターフェースのうち、アプリケーションレイヤ３０７を除く部分であり、第１通信部３及び第２通信部５は図３のアプリケーションレイヤ３０７に相当する。第１通信部３は、ＳＢＰ−２プロトコルの制御を行い、１３９４インターフェース部２を介してホストから受信したＳＣＳＩコマンドを第１アプリケーション部４に引き渡し、また第１アプリケーション部４からの応答を１３９４インターフェース部２を介してホストに返す。第２通信部５はＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４の制御及びＴＣＰ／ＩＰプロトコル制御を行い、第２アプリケーション部６とデータのやり取りを行う。第１アプリケーション部４は、受信したＳＣＳＩコマンドを処理し、例えばプリンタデバイスのコマンドＰｒｉｎｔ（オペレーションコード０ｘ０Ａ）を受信した場合は、印刷データを印刷制御部８に引き渡し、印刷を行う。第２アプリケーション部６は、プリントサーバアプリケーション、本実施形態においてはＬＰＤの処理を行い、印刷データを受信すると印刷制御部８に引き渡し、印刷を行う。ＬＰＤプロトコルはＲＦＣ  １１７９に規定されている。
【０１１１】
図２３は、第１の実施形態におけるネットワークの構成の一例を示す図である。本構成例では、ノードＡはプリンタ、ノードＢ、ノードＣ、ノードＤはＰＣ、ノードＥはプリンタ、ノードＦはスキャナであり、ノードＡが本発明を適用した印刷装置であるとする。また、ＰＣのＯＳは、Ｗｉｎｄｏｗｓ（登録商標）  ２０００或いはＷｉｎｄｏｗｓ（登録商標）  ＸＰとし、Ｗｉｎｄｏｗｓ（登録商標）  ２０００は、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４をサポートしておらず、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰはＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４をサポートしており、ＬＰＤのクライアントであるＬＰＲもサポートしているものとする。また、両ＯＳとも、ＳＢＰ−２をイニシエータとしてサポートしているものとする。
【０１１２】
ここで、ＳＢＰ−２ターゲットデバイスは、ＩＳＯ／ＩＥＣ  １４７７６−２３２：２００１に例示されるようなコンフィギュレーションＲＯＭを持つ。ホストコンピュータは、Ｕｎｉｔ＿Ｓｐｅｃ＿ＩＤ、Ｕｎｉｔ＿ＳＷ＿ＶｅｒｓｉｏｎからＳＢＰ−２ターゲットであることを知ることができ、ユニットディレクトリの内容から、ＳＢＰ−２プロトコルを用いた通信を行うために必要な情報を得ることができる。
【０１１３】
これに対して、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４デバイスは、ＲＦＣ  ２７３２に例示されるようなコンフィギュレーションＲＯＭを持つ。バス上の他のノードは、Ｕｎｉｔ＿Ｓｐｅｃ＿ＩＤ、Ｕｎｉｔ＿ＳＷ＿Ｖｅｒｓｉｏｎから、このノードがＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４をサポートすることを知ることができる。
【０１１４】
図２４は、第１の実施形態における印刷装置１の設定部７の処理を示すフローチャートである。まず、ステップＳ２４０１において、バスリセット処理を行う。ここでは、〈ＩＥＥＥ１３９４の技術の概要〉で説明した通り、バスリセット完了までの処理を行う。次に、ステップＳ２４０２において、ネットワークに接続されたすべてのノードの判別が終了したか否かを判断する。ここで、終了していなければステップＳ２４０３へ進み、各ノードのコンフィギュレーションＲＯＭを順次読み出してノードの判別を行う。この判別は、コンフィギュレーションＲＯＭの内容からホストコンピュータを判別し、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４のユニットディレクトリを含むか否かを調べ、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４ユニットディレクトリを含めば、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルをサポートしているホストコンピュータであると判別する。ここで、ホストコンピュータの数とＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルをサポートするホストコンピュータの数を更新する。
【０１１５】
また、ステップＳ２４０２において、すべてのノードの判別が終了した場合はステップＳ２４０４へ進み、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いるか否かを判定する。この判定は、ホストコンピュータの数とＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルをサポートするホストコンピュータの数が２以上で等しい場合、即ち、２台以上のホストコンピュータがすべてＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルをサポートする場合に、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いると判定する。
【０１１６】
ここで、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いないと判定した場合はステップＳ２４０５へ進み、ＳＢＰ−２プロトコルを用いる第１通信部を使用可能に設定し、コンフィギュレーションＲＯＭの内容にＳＢＰ−２ターゲットデバイスのユニットディレクトリを含むように設定する。また、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いると判定した場合はステップＳ２４０６へ進み、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる第２通信部を使用可能に設定し、コンフィギュレーションＲＯＭの内容にＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４デバイスのユニットディレクトリを含むように設定する。
【０１１７】
以上、設定を終えると、ステップＳ２４０７において、バスリセットを起こし、バスリセットが完了すると起動処理を終了する。
【０１１８】
例えば、図２３に示したネットワーク構成の場合、ノードＢ、ノードＣ、ノードＤ、のＯＳがすべてＷｉｎｄｏｗｓ（登録商標）  ＸＰの場合には、すべてのホストがＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４をサポートするため、第１の実施形態における印刷装置１（ノードＡ）は、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４を用いる設定で起動する。また、ノードＢのＯＳがＷｉｎｄｏｗｓ（登録商標）  ２０００の場合には、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４をサポートしないホストが存在するため、ＳＢＰ−２を用いる設定で起動する。
【０１１９】
尚、第１の実施形態では、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる場合には、ＩＰアドレス、サブネットマスク、デフォルトゲートウェーは、予め定められたものを用いるものとする。
【０１２０】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態を詳細に説明する。
【０１２１】
第２の実施形態における印刷装置の構成は、第１の実施形態と同様に、図１に示す構成とする。また、図２３により第２の実施形態のネットワーク構成の一例を示す。
【０１２２】
図２５は、第２の実施形態における印刷装置１の設定部７の処理を示すフローチャートである。まず、ステップＳ２５０１において、第１通信部を使用可能に設定し、コンフィギュレーションＲＯＭの内容にＳＢＰ−２ターゲットデバイスのユニットディレクトリを含むように設定する。次に、ステップＳ２５０２において、バスリセットの処理をする。
【０１２３】
このバスリセットが完了すると、ステップＳ２５０３において、ネットワークに接続されたすべてのノードの判別が終了したか否かを判断する。ここで、終了していなければステップＳ２５０４へ進み、各ノードのコンフィギュレーションＲＯＭを順次読み出し、ノードの判別を行う。つまり、コンフィギュレーションＲＯＭの内容からホストコンピュータを判別し、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４のユニットディレクトリを含むか否かを調べ、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４ユニットディレクトリを含めばＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルをサポートしているホストコンピュータであると判別する。ここで、ホストコンピュータの数とＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルをサポートするホストコンピュータの数を更新する。
【０１２４】
また、ステップＳ２５０３において、すべてのノードの判別が終了した場合はステップＳ２５０５へ進み、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いるか否かを判定する。この判定は、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルをサポートするホストコンピュータの数が１以上、即ち、１台以上のホストコンピュータがＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルをサポートする場合に、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いると判定する。ここで、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いないと判定した場合はステップＳ２５０７へ進む。また、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いると判定した場合にはステップＳ２５０６へ進み、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる第２通信部を使用可能に設定し、コンフィギュレーションＲＯＭの内容にＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４デバイスのユニットディレクトリを追加するように設定する。
【０１２５】
以上、設定を終えると、ステップＳ２５０７において、バスリセットを起こし、バスリセットが完了すると起動処理を終了する。
【０１２６】
例えば、図２３に示したネットワーク構成の場合、ノードＢ、ノードＣ、ノードＤ、のＯＳがすべてＷｉｎｄｏｗｓ（登録商標）  ２０００の場合には、すべてのホストがＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４をサポートしないため、第２の実施形態における印刷装置１（ノードＡ）は、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４を用いない設定で起動する。また、ノードＢのＯＳがＷｉｎｄｏｗｓ（登録商標）  ＸＰの場合には、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４をサポートするホストが存在するため、ＳＢＰ−２に加えて、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４を用いる設定で起動する。
【０１２７】
尚、第２の実施形態では、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる場合には、ＩＰアドレス、サブネットマスク、デフォルトゲートウェーは、予め定められたものを用いるものとする。
【０１２８】
［第３の実施形態］
次に、図面を参照しながら本発明に係る第３の実施形態を詳細に説明する。
【０１２９】
第３の実施形態における印刷装置の構成は、第１の実施形態と同様に、図１に示す構成とする。また、図２３により第３の実施形態のネットワーク構成の一例を示す。
【０１３０】
図２６は、第３の実施形態における印刷装置１の設定部７の処理を示すフローチャートである。まず、ステップＳ２６０１において、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる設定か否かを判定する。ここで、用いない場合にはステップＳ２６０２へ進み、ＳＢＰ−２プロトコルを用いる第１通信部を使用可能に設定し、コンフィギュレーションＲＯＭの内容にＳＢＰ−２ターゲットデバイスのユニットディレクトリを含むように設定する。また、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる場合にはステップＳ２６０３へ進み、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる第２通信部を使用可能に設定し、コンフィギュレーションＲＯＭの内容にＩＰｖ４ｏｖｅｒ  ＩＥＥＥ  １３９４デバイスのユニットディレクトリを含むように設定する。
【０１３１】
以上、設定を終えると、ステップＳ２６０４において、バスリセットを起こし、バスリセットが完了すると起動処理を終了する。
【０１３２】
第３の実施形態においては、初期状態では、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いない設定になっている。従って、上記、設定部７の処理においては、ＳＢＰ−２プロトコルを用いる第１通信部を使用可能に設定し、コンフィギュレーションＲＯＭの内容にＳＢＰ−２ターゲットデバイスのユニットディレクトリを含むように設定し、バスリセット完了後、起動処理を終了する。
【０１３３】
次に、ホストコンピュータからＳＢＰ−２プロトコルを用いて、印刷装置１の設定を切り替える処理について説明する。
【０１３４】
本実施形態においては、ホストコンピュータはウィンドウズ（登録商標）オペレーティングシステムが動作しており、図２７に示すユーザインターフェースを持った、印刷装置１の設定アプリケーションがあるものとする。このユーザインターフェースから、ユーザが印刷装置１のＩＰアドレス２７０１、サブネットマスク２７０２、デフォルトゲートウェー２７０３を設定し、「ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを有効にする」２７０４にチェックを入れると、ホストコンピュータからＳＢＰ−２プロトコルを用いて印刷装置１に設定が送信される。
【０１３５】
図２８に、第３の実施形態における設定を送信するためのコマンドＯＲＢ及び設定データを示す。コマンドは、ＳＣＳＩコマンドのベンダ固有（Ｃ０ｈ）を用いる。また、設定データはＡＳＣＩＩテキスト文字列で“￥０”を終端とする。例えば、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを有効にし、ＩＰアドレスを１９２．１６８．０．５、サブネットマスクを２５５．２５５．２５５．０、デフォルトゲートウェーを１９２．１６８．０．２５４と設定する場合には、
“ＩＰｖ４＝ｅｎａｂｌｅｄ；ＩＰ＿ａｄｄｒ＝１９２．１６８．０．５；ＳｕｂｎｅｔＭａｓｋ＝２５５．２５５．２５５．０；ＤｅｆａｕｌｔＧＷ＝１９２．１６８．０．２５４；”
となる。
【０１３６】
設定を受信すると、印刷装置１は、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる設定に変更し、装置を再起動する。再起動後、印刷装置１の設定部７は図２６に示す処理に従ってＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いるように、第２通信部を使用可能に設定し、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる印刷装置として起動する。
【０１３７】
［第４の実施形態］
次に、図面を参照しながら本発明に係る第４の実施形態を詳細に説明する。
【０１３８】
第４の実施形態における印刷装置の構成は、第１の実施形態と同様に、図１に示す構成とする。また、図２３により第４の実施形態のネットワーク構成の一例を示す。
【０１３９】
図２９は，第４の実施形態における印刷装置１の設定部７の処理を示すフローチャートである。まず、ステップＳ２９０１において、第１通信部を使用可能に設定し、コンフィギュレーションＲＯＭの内容にＳＢＰ−２ターゲットデバイスのユニットディレクトリを含むように設定する。次に、ステップＳ２９０２において、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる設定か否かを判定する。ここで、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いない場合はステップＳ２９０４へ進み、ＩＰｖ４ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる場合にはステップＳ２９０３へ進み、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルを用いる第２通信部を使用可能に設定し、コンフィギュレーションＲＯＭの内容にＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４デバイスのユニットディレクトリを追加するように設定する。
【０１４０】
以上、設定を終えると、ステップＳ２９０４において、バスリセットを起こし、バスリセットが完了すると起動処理を終了する。
【０１４１】
尚、ＩＰｖ４  ｏｖｅｒ  ＩＥＥＥ  １３９４プロトコルの有効、無効の設定は第３の実施形態と同様に、設定アプリケーションによるものとする。
【０１４２】
以上説明したように、実施形態によれば、接続環境に応じて、転送効率の良いプロトコル、ネットワークプリンタとして使い勝手の良いプロトコルを自動的に切り替えて動作する印刷装置を提供することができる。
【０１４３】
また、別のインターフェースを追加することなく、ＴＣＰ／ＩＰネットワークのプリブート設定を簡単に行うことができる印刷装置を提供することができる。
【０１４４】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【０１４５】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１４６】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１４７】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１４８】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４９】
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５０】
【発明の効果】
以上説明したように、本発明によれば、接続環境に応じて使用する通信プロトコルを自動的に或いは選択により切り替えることで、装置の利便性を向上させることができる。
【図面の簡単な説明】
【図１】本実施形態における印刷装置の構成を示すブロック図である。
【図２】１３９４シリアルバスのネットワークの構成を示す図である。
【図３】１３９４シリアルバスの構成要素を示す図である。
【図４】１３９４シリアルバスのリンクレイヤ提供可能なサービスを示す図である。
【図５】１３９４シリアルバスのトランズアクションレイヤ提供可能なサービスを示す図である。
【図６】１３９４インターフェースにおけるアドレス空間を説明する図である。
【図７】１３９４インターフェースにおけるＣＳＲコアレジスタに格納される情報のアドレス及び機能を示す図である。
【図８】１３９４インターフェースにおけるシリアルバスレジスタに格納される情報のアドレス及び機能を示す図である。
【図９】１３９４インターフェースにおける最小形式のＣｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭを示す図である。
【図１０】１３９４インターフェースにおける一般形式のＣｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭを示す図である。
【図１１】１３９４インターフェースにおけるシリアルバス装置レジスタに格納される情報のアドレス及び機能を示す図である。
【図１２】ＩＥＥＥ１３９４規格に準拠した通信ケーブルの断面図である。
【図１３】ＤＳ−Ｌｉｎｋ符号化方式を説明する図である。
【図１４】、
【図１５】、
【図１６】バスリセットの開始からノードＩＤの割り当て処理までの基本的なシーケンスを示す図である。
【図１７】図１５に示したステップＳ１５０５の処理（即ち、自動的に各ノードのノードＩＤを割り当てる処理）を詳細に説明するフローチャートである。
【図１８】１３９４インターフェースにおけるセルフＩＤパケットの構成を示す図である。
【図１９】１３９４ネットワークにおけるアービトレーションを説明する図である。
【図２０】１通信サイクルにおいてＩｓｏｃｈｒｏｎｏｕｓ転送モードとＡｓｙｎｃｈｒｏｎｏｕｓ転送モードとを混在させた場合を説明する図である。
【図２１】Ｉｓｏｃｈｒｏｎｏｕｓ転送モードに基づいて転送される通信パケットのフォーマットを示す図である。
【図２２】アシンクロナス転送のパケットフォーマットを示す図である。
【図２３】第１の実施形態におけるネットワークの構成の一例を示す図である。
【図２４】第１の実施形態における印刷装置１の設定部７の処理を示すフローチャートである。
【図２５】第２の実施形態における印刷装置１の設定部７の処理を示すフローチャートである。
【図２６】第３の実施形態における印刷装置１の設定部７の処理を示すフローチャートである。
【図２７】印刷装置１の設定アプリケーションのユーザインターフェースを示す図である。
【図２８】設定を送信するためのコマンドＯＲＢ及び設定データを示す図である。
【図２９】第４の実施形態における印刷装置１の設定部７の処理を示すフローチャートである。
【図１】
2004223965.tif 000003
【図２】
2004223965.tif 000004
【図３】
2004223965.tif 000005
【図４】
2004223965.tif 000006
【図５】
2004223965.tif 000007
【図６】
2004223965.tif 000008
【図７】
2004223965.tif 000009
【図８】
2004223965.tif 000010
【図９】
2004223965.tif 000011
【図１０】
2004223965.tif 000012
【図１１】
2004223965.tif 000013
【図１２】
2004223965.tif 000014
【図１３】
2004223965.tif 000015
【図１４】
2004223965.tif 000016
【図１５】
2004223965.tif 000017
【図１６】
2004223965.tif 000018
【図１７】
2004223965.tif 000019
【図１８】
2004223965.tif 000020
【図１９】
2004223965.tif 000021
【図２０】
2004223965.tif 000022
【図２１】
2004223965.tif 000023
【図２２】
2004223965.tif 000024
【図２３】
2004223965.tif 000025
【図２４】
2004223965.tif 000026
【図２５】
2004223965.tif 000027
【図２６】
2004223965.tif 000028
【図２７】
2004223965.tif 000029
【図２８】
2004223965.tif 000030
【図２９】
2004223965.tif 000031