(57)【要約】【課題】トポロジに存在するループを自動的に解消してトポロジを構築することができるネットワークの構築方法を提供すること。【解決手段】自身のノードがイニシエートノードであるステートマシン１７は、そのポート１８から診断パケットＳＰを送信する。ステートマシン１７は、診断パケットＳＰを送信したポート１８と異なるポート１８から診断パケットＳＰを受診すると、両ポート１８に接続されたバスケーブルを含むループが存在すると判断する。そして、ステートマシン１７は、該ループを構成する両ポート１８の何れか一方を電気的に断線する。【選択図】図１
2010051033.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを含むネットワークの構築方法であって、
第１のノードの第１ポートから前記ネットワークに診断情報を送信し、
前記第１のノードが、第２のノードが前記ネットワークに送信した診断情報を、前記第１のポートとは異なる第２のポートで受信した場合に、前記ネットワークに前記第１のノードと前記第２のノードとを含むループがあると判定し、
前記第１ポート及び前記第２ポートの何れか一方を前記ネットワークに対して不活性にする
ことを特徴とするネットワークの構築方法。
【請求項２】
前記第１ポートを前記ネットワークに対して不活性とした場合に前記ループ内の断線を検知したら、前記第１ポートを前記ネットワークに対して活性にする
ことを特徴とする請求項１に記載のネットワークの構築方法。
【請求項３】
前記不活性は、前記ネットワークに対する電気的な断線状態である
ことを特徴とする請求項１又は２に記載のネットワークの構築方法。
【請求項４】
前記活性は、前記ネットワークに対する電気的な接続状態である
ことを特徴とする請求項２又は３に記載のネットワークの構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの構築方法に関し、シリアルインタフェースの規格であるＩＥＥＥ１３９４に準拠したインタフェース回路に好適なものである。
近年、マルチメディア化に伴って、データ転送量の増大化及び転送速度の高速化が要求されている。特に、大量の音声や画像データを扱うデジタルビデオカメラ、カラーページプリンタ等の周辺機器とパーソナルコンピュータとを結ぶインタフェースについては、ＩＥＥＥ１３９４規格を採用したシリアルインタフェースが注目されている。
【背景技術】
【０００２】
ＩＥＥＥ１３９４等に準拠したパケット転送方式では、バスリセットが発生すると、まずバス初期化（Bus Initialize）が行われる。即ち、トポロジを構成する各ノードにはインタフェース回路が備えられ、その装置にはステートマシンが備えられる。そして、ステートマシン内のバスリセットステート（バスリセットスタート〜バスリセットウェイト）により、バス初期化が行われる。バス初期化では、各ノードがトポロジに関する情報を消去する。
【０００３】
次に、バス初期化が終了すると、ステートマシン内のツリーＩＤステートにより、ツリー識別（Tree Identify）が行われる。ツリー識別では、個々に接続された各ノードをツリー状に接続したものとして扱えるように識別する。ツリー状に識別するとは、適切なルートノードを選択し、その他のノードが枝に繋がる道筋を識別することを指す。
【０００４】
詳述すると、ＩＥＥＥ１３９４のドラフトに準じたツリーＩＤステートは、図７に示すように、Ｔ０ステート（ツリーＩＤスタート）５０と、Ｔ１ステート（チャイルドハンドシェイク）５１と、Ｔ２ステート（ペアレントハンドシェイク）５２と、Ｔ３ステート５３とを含む。
【０００５】
バス初期化におけるバスリセットウェイトＲ１の処理が終了すると、ツリー識別におけるＴ０ステート５０に遷移する。ステートマシンは、Ｔ０ステート５０にてparent notifyという信号（以下、親通知信号という）を受信していないポートが１つになるまで待ち、Ｔ１ステート５１に遷移する。尚、親通知信号は、自分の親になってほしい旨を伝えるものである。又、自身のノードがリーフノード（Leaf）の状態では、最初から他のノードに接続されたポートが１つであるため、Ｔ０ステート５０はすぐに通過する。
【０００６】
ステートマシンは、Ｔ１ステート５１にて受信した親通知信号の送信元にchild notify（以下、子通知信号という）という信号を送信し、Ｔ２ステート５２に遷移する。尚、子通知信号は自分の子として認定する旨を伝えるものである。
【０００７】
次に、ステートマシンは、Ｔ２ステート５２にて親通知信号を受信していない１つのポートに親通知信号を送信し、子通知信号を受信するまで待つ。この処理が終了すると、ツリー識別は終了される。尚、Ｔ３ステート５３は、ツリー識別時の調停を行うものである。
【０００８】
従って、リーフノードから順に親通知信号が送信される。ブランチノードは各ノードから親通知信号を受信する。ブランチノードは、親通知信号を受け取っていないポートが１つになると、受信した親通知信号の送信元に子通知信号を送信し、残ったポートから親通知信号を送信する。この作業を繰り返し最後に全てのポートから親通知信号を受信し、子通知信号を送り返したノードがルートになり、各ノードが親子関係を認識する。
【０００９】
次に、ツリー識別が終了すると、ステートマシン内のセルフＩＤステート（セルフＩＤスタートＳ０等）により、自己識別（Self Identify）が行われる。自己識別では、各ノードがアドレスで使用するphysical IDを選択して、バス接続に関する管理情報を作る。この自己識別が終了した後、各ノード間で通常のパケット転送が可能となる。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、ＩＥＥＥ１３９４規格等に規定されるパケット転送方式では、ループ状のトポロジが許容されていない。
即ち、ループを構成するノードは、親通知信号を受信していないポートが１つにならず、Ｔ０ステート５０でスタックしてしまう。又、ループを構成しないノードは、ループを構成するノードから子通知信号を受信しないので、Ｔ２ステート５２でスタックしてしまう。そして、ループを構成しないノードは、Ｔ２ステート５２で所定時間スタックすると、再度、バス初期化の処理を試みるが、トポロジが変わらない限り、それらの処理を繰り返すだけとなる。
【００１１】
この場合、ユーザは、ノード（パーソナルコンピュータ、デジタルビデオカメラ、プリンタ等の機器）とバスケーブルの接続状態を確認して、ループの無いトポロジに接続し直す必要がある。しかしながら、ノードが多数接続されている場合や、ノードが複数の部屋をまたいで接続されている場合等、その作業が煩雑であるという問題がある。
【００１２】
本発明は、上記問題点を解消するためになされたものであって、構築したトポロジにループが存在しても、ユーザがトポロジの変更を行うことなく、自動的にループを解消してトポロジを構築することが可能なネットワークの構築方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の一観点によれば、第１のノードの第１ポートから前記ネットワークに診断情報を送信し、前記第１のノードが、第２のノードが前記ネットワークに送信した診断情報を、前記第１のポートとは異なる第２のポートで受信した場合に、前記ネットワークに前記第１のノードと前記第２のノードとを含むループがあると判定し、前記第１ポート及び前記第２ポートの何れか一方を前記ネットワークに対して不活性にする。
【発明の効果】
【００１４】
以上、詳述したように、請求項１〜４に記載の発明によれば、構築したトポロジにループが存在しても、ユーザがトポロジの変更を行うことなく、自動的にループを解消してトポロジを構築することができるネットワークの構築方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態のインタフェース回路のブロック回路図。
【図２】本実施の形態のツリーＩＤステートを示す説明図。
【図３】Ｔｘステートにて行われる断線処理のフローチャート。
【図４】（ａ）〜（ｇ）本実施の形態の断線処理を説明するための説明図。
【図５】（ａ）〜（ｊ）別例の断線処理を説明するための説明図。
【図６】（ａ）〜（ｄ）別例の断線処理を説明するための説明図。
【図７】従来技術のツリーＩＤステートを示す説明図。
【発明を実施するための形態】
【００１６】
以下、本発明を具体化した一実施の形態を図１〜図４に従って説明する。尚、本実施の形態では、従来技術と同様の構成のものには同様の符号を付してその詳細な説明を一部省略する。
【００１７】
図４（ａ）は、複数のノードＡ１〜Ｄ１をＩＥＥＥ１３９４バスケーブル（以下、単にバスケーブルという）１ａ〜１ｄで接続したシステム構成（トポロジ）を示す。尚、ノードＡ１〜Ｄ１は、例えばパーソナルコンピュータ、プリンタ、デジタルビデオカメラ、セットトップボックス等の接続ポイントの総称である。
【００１８】
ノードＤ１にはバスケーブル１ａを介してノードＢ１が接続されている。ノードＢ１にはバスケーブル１ｂを介してノードＣ１が接続され、ノードＣ１にはバスケーブル１ｃを介してノードＡ１が接続され、ノードＡ１にはバスケーブル１ｄを介してノードＢ１が接続されている。このように構築されたトポロジでは、ノードＡ１〜Ｃ１、バスケーブル１ｂ〜１ｄによりループが構成されている。
【００１９】
ノードＡ１は、図１に示すインタフェース回路１１を備える。尚、他のノードＢ１〜Ｄ１もノードＡ１と同様にインタフェース回路１１を備える。
インタフェース回路１１は、物理層処理回路１２、リンク層処理回路１３、図示しないホストコンピュータ（以下、ホストという）等を備える。物理層処理回路１２は、ポート部１４、解析回路１５、生成回路１６及びステートマシン１７を備える。ポート部１４は、ポート１８、デコーダ１９、エンコーダ２０及びポート制御部２１を備える。尚、本実施の形態のインタフェース回路１１（図１）では、ポート１８を一つのみ図示したが、ポート１８は１つのノードに最大８個まで設けられ、そのポート１８毎にポート部１４が並列に設けられる。
【００２０】
ステートマシン１７には、ポート１８、デコーダ１９及び解析回路１５を介して他のノードからのパケットが入力される。すると、ステートマシン１７は、そのパケットをリンク層処理回路１３に出力する。このときステートマシン１７は、他に接続されたノードがあると、該パケットをそのノードに、生成回路１６、エンコーダ２０及びポート１８を介して送信する。
【００２１】
又、ステートマシン１７には、リンク層処理回路１３からのパケットが入力される。すると、ステートマシン１７は、そのパケットを生成回路１６、エンコーダ２０及びポート１８を介して他のノードに送信する。
【００２２】
リンク層処理回路１３は、ステートマシン１７（物理層処理回路１２）から入力されたパケットのヘッダ情報に基づいて自身宛であると判断すれば、該パケット内のデータをホスト等に供給する。又、リンク層処理回路１３は、ホストから受け取ったデータをステートマシン１７（物理層処理回路１２）に出力する。
【００２３】
又、ステートマシン１７は、図２に示すツリーＩＤステート３１と、従来技術で述べたバスリセットステート（バスリセットスタートＲ０〜バスリセットウェイトＲ１）及びセルフＩＤステート（セルフＩＤスタートＳ０等）を備えている。
【００２４】
ツリーＩＤステート３１は、Ｔ０ステート（ツリーＩＤスタート）５０ａと、Ｔ１ステート（チャイルドハンドシェイク）５１ａと、Ｔ２ステート（ペアレントハンドシェイク）５２ａと、Ｔ３ステート５３と、診断ステートとしてのＴｘステート３２とを備える。
【００２５】
ツリーＩＤステート３１では、ステートマシン１７は、Ｔ０ステート５０ａ、Ｔ１ステート５１ａ、Ｔ２ステート５２ａでスタックした状態が所定時間続くと、それらのステートからＴｘステート３２に遷移する。
【００２６】
ステートマシン１７は、Ｔｘステート３２において、図３に示すフローチャートに従った断線処理を行う。
ステップＳ１において、ステートマシン１７は、自身のノードが特定のノード、本実施の形態ではイニシエートノードであるか否かを判別する。尚、イニシエートノードとは、自身が起点となってバスリセットを発生させたノードである。
【００２７】
そして、ステートマシン１７は、自身のノードがイニシエートノードであると判別すると、ステップＳ２に移る。
ステップＳ２において、ステートマシン１７は、自身のポート１８にマークされていない（識別未の）ものがあるか否かを判別する。尚、マークとは、後述する診断パケットＳＰの送受信の際になされるものであって、最初は全てのポートがマークされていない。そして、ステートマシン１７は、自身のポート１８に識別未のものがあると判別すると、ステップＳ３に移る。
【００２８】
ステップＳ３において、ステートマシン１７は、識別未のポート１８から診断パケットＳＰを送信するとともに、そのポート１８をマークし、ステップＳ４に移る。尚、本実施の形態では、識別未のポート１８が複数有る場合、そのうちの１つを任意に選択し、診断パケットＳＰを送信し、それをマークする。
【００２９】
一方、ステップＳ２において、ステートマシン１７は、自身のポート１８に識別未のものがないと判別すると、ステップＳ５に移る。
ステップＳ５において、ステートマシン１７は、識別済のポート１８から診断パケットＳＰを送信するとともに、そのポート１８をマークし、ステップＳ４に移る。
【００３０】
一方、ステップＳ１において、自身のノードがイニシエートノードでないと判別すると、ステップＳ４に移る。
ステップＳ４において、ステートマシン１７は、診断パケットＳＰを受信したか否かを判断する。そして、ステートマシン１７は、診断パケットＳＰを受信していないと判別すると、ステップＳ６に移る。
【００３１】
ステップＳ６において、ステートマシン１７は、診断パケットＳＰを受信していない時間が予め設定された所定時間を超えたか否かを判断する。そして、ステートマシン１７は、所定時間を超えていないと判別すると、ステップＳ４に戻る。又、ステートマシン１７は、所定時間を超えたと判別すると、バスリセットを発生させ、従来技術で述べたバスリセットステート（バスリセットスタートＲ０）に遷移する。尚、ステップＳ６で設定された所定時間とは、何らかの原因で診断パケットＳＰの送受信が途切れてしまった等の異常時に到達する長さに設定されている。即ち、このステップＳ６では、異常時にステップＳ４の処理でスタックしてしまうことを防止している。
【００３２】
一方、ステップＳ４において、ステートマシン１７は、診断パケットＳＰを受信したと判別すると、ステップＳ７に移る。
ステップＳ７において、ステートマシン１７は、診断パケットＳＰを受信したポート１８をマークし、ステップＳ８に移る。
【００３３】
ステップＳ８において、ステートマシン１７は、ステップＳ３又はステップＳ５にて診断パケットＳＰを送信したか否かを判別する。そして、ステートマシン１７は、診断パケットＳＰを送信していないと判別すると、ステップＳ２に戻る。
【００３４】
一方、ステップＳ８において、ステートマシン１７は、診断パケットＳＰを送信したと判別すると、ステップＳ９に移る。
ステップＳ９において、ステートマシン１７は、ステップＳ７にてマークしたポート１８と、ステップＳ３にてマークしたポート１８が同じか否かを判別する。即ち、診断パケットＳＰを送信したポート１８と診断パケットＳＰを受信したポート１８が同じか否かを判別する。そして、ステップＳ７及びステップＳ３にてマークしたポート１８が同じと判別すると、即ち診断パケットＳＰを送受信したポート１８が同じと判別すると、ステップＳ２に戻る。
【００３５】
一方、ステップＳ９において、ステートマシン１７は、ステップＳ７及びステップＳ３にてマークしたポート１８が異なると判別すると、即ち診断パケットＳＰを送信したポート１８と受信したポート１８が異なると判別すると、その両ポート１８に接続されたバスケーブルを含むループが存在すると判断し、ステップＳ１０に移る。
【００３６】
ステップＳ１０において、ステートマシン１７は、ステップＳ３，Ｓ７にてマークしたポート１８の一方を電気的に断線するための断線信号Ｚをポート制御部２１に出力する。尚、本実施の形態の断線信号Ｚは、ステップＳ７にてマークしたポート１８、即ち診断パケットＳＰを受信したポート１８を電気的に断線するためのものとする。
【００３７】
次に、ステップＳ１０の処理が終了すると、バスリセットを発生させ、従来技術で述べたバスリセットステート（バスリセットスタートＲ０）に遷移する。
ポート制御部２１は、ステートマシン１７からの断線信号Ｚに基づいてポート１８に接続されるバスケーブルを電気的に抜線して断線状態とする。尚、このポート制御部２１は、バス初期化時に初期化されないレジスタ等により構成される。
【００３８】
このように構成したインタフェース回路１１の作用を説明する。
尚、本実施の形態では、図４（ａ）に示すトポロジにおいて、ノードＤ１がバスリセットを発生させるイニシエートノードである場合について説明する。
【００３９】
今、ノードＤ１が起点となってバスリセットが発生される。すると、各ノードＡ１〜Ｄ１でまずバスリセットステート（バスリセットスタートＲ０〜バスリセットウェイトＲ１）によりバス初期化（Bus Initialize）が行われる。これにより、各ノードＡ１〜Ｄ１のトポロジに関する情報が消去される。
【００４０】
次に、各ノードＡ１〜Ｄ１では、バス初期化が終了すると、ツリーＩＤステート３１により、ツリー識別（Tree Identify）が行われる。即ち、バス初期化におけるバスリセットウェイトＲ１の処理が終了すると、ツリー識別におけるＴ０ステート５０ａに遷移しその処理が行われる。
【００４１】
すると、図４（ｂ）に示すように、リーフノードであるノードＤ１では、すぐにＴ２ステート５２ａまで遷移し、ノードＢ１に親通知信号ＰＮが送信される。
そして、ノードＡ１〜Ｃ１では、親通知信号ＰＮを受信していないポートが１つにならないため、Ｔ０ステート５０ａでスタックする。又、ノードＤ１ではノードＢ１から子通知信号を受信しないため、Ｔ２ステート５２ａでスタックする。
【００４２】
すると、各ノードＡ１〜Ｄ１では、Ｔ０ステート５０ａ又はＴ２ステート５２ａでスタックした状態が所定時間続き、Ｔｘステート３２に遷移しその処理が行われる。
ノードＤ１では、ステップＳ１の処理にてイニシエートノードであると判別され、次にステップＳ２の処理にて自身のポート１８にマークされていない（識別未の）ものがあると判別される。
【００４３】
すると、図４（ｃ）に示すように、ステップＳ３の処理にて識別未のポート１８からノードＢ１に診断パケットＳＰが出力されるとともに、そのポート１８がマークされる。
一方、ノードＡ１〜Ｃ１では、ステップＳ１の処理にてイニシエートノードでないと判別される。
【００４４】
そして、ノードＢ１では、ステップＳ４の処理にてノードＤ１から診断パケットＳＰを受信したと判別され、ステップＳ７の処理にてそのポート１８がマークされる。
すると、ノードＢ１では、ステップＳ８の処理にて自身のノードＢ１が診断パケットＳＰを送信していないと判別され、ステップＳ２の処理にて識別未のポート１８があると判別される。
【００４５】
すると、ノードＢ１からは、図４（ｄ）に示すように、ステップＳ３の処理にて識別未のポート１８からノードＣ１に診断パケットＳＰが出力されるとともに、そのポート１８がマークされる。尚、このとき識別未のポート１８は、ノードＡ１に接続されたものと、ノードＣ１に接続されたものがあるが、本実施の形態では任意にノードＣ１側のポート１８が選択されたものとする。
【００４６】
すると、ノードＣ１では、ステップＳ４、ステップＳ７、ステップＳ８、ステップＳ２の処理にてノードＢ１と同様の処理が行われる。
すると、ノードＣ１からは、図４（ｅ）に示すように、ステップＳ３の処理にて識別未のポート１８からノードＡ１に診断パケットＳＰが出力されるとともに、そのポート１８がマークされる。
【００４７】
すると、ノードＡ１では、ステップＳ４、ステップＳ７、ステップＳ８、ステップＳ２の処理にてノードＣ１と同様の処理が行われる。
すると、ノードＡ１からは、図４（ｆ）に示すように、ステップＳ３の処理にて識別未のポート１８からノードＢ１に診断パケットＳＰが出力されるとともに、そのポート１８がマークされる。
【００４８】
すると、ノードＢ１では、ステップＳ４の処理にてノードＡ１から診断パケットＳＰを受信したと判別され、ステップＳ７の処理にてそのポート１８がマークされる。
すると、ノードＢ１では、ステップＳ８の処理にて自身のノードＢ１が診断パケットＳＰを送信したと判別される。すると、ステップＳ９の処理にて診断パケットＳＰを送信したポート１８と受信したポート１８が異なると判別され、その両ポート１８がループを構成すると判断される。
【００４９】
すると、ノードＢ１におけるステートマシン１７からは、ステップＳ１０の処理にて診断パケットＳＰを受信したポート１８に接続されたバスケーブル１ｄを電気的に抜線するための断線信号Ｚがポート制御部２１に出力される。
【００５０】
すると、図４（ｇ）に破線で示すように、ポート制御部２１により診断パケットＳＰを受信したポート１８に接続されたバスケーブル１ｄが電気的に抜線状態とされる。これにより、トポロジのループが解消される。
【００５１】
そして、ノードＢ１によりバスリセットが発生され、各ノードＡ１〜Ｄ１で再びバス初期化が行われる。
次に、バス初期化が終了すると、ツリーＩＤステート３１によりツリー識別が正常に行われる。これにより、ルートノードが決定され、各ノードＡ１〜Ｄ１で親子関係が認識される。
【００５２】
次に、ツリー識別が終了すると、セルフＩＤステートにより自己識別が行われる。これにより、バス接続に関する管理情報が作成される。よって、以後各ノードＡ１〜Ｄ１間で通常のパケット転送が可能とされる。
【００５３】
次に、上記のように構成したインタフェース回路１１及びそのシステムの特徴的な作用効果を以下に述べる。
（１）トポロジにループが存在すると、該ループを構成するポート１８が自動的に判断され、そのポート１８が自動的に断線状態とされて、該ループが自動的に解消される。これにより、トポロジが確実に構築され、自動的に各ノード間のパケット転送が可能となる。即ち、図４（ａ）のようにループを有するトポロジを構築しても、ユーザは、ノードＡ１〜Ｄ１とバスケーブル１ａ〜１ｄの接続状態を確認してループの無いトポロジに接続し直すといった面倒な作業を行う必要がなくなる。言い換えると、ユーザは、ループができないように慎重にトポロジを構築する必要がなくなる。
【００５４】
（２）ツリーＩＤステート３１は、従来品であるＩＥＥＥ１３９４のドラフトに準じたものに比べてＴｘステート３２を加えたため、従来品を大幅に変更することなく容易に作成することができる。
【００５５】
（３）ポート部１４は、従来品に比べてポート制御部２１を加えたのみであるため、従来品を大幅に変更することなく容易に作成することができる。
（４）イニシエートノードであるノードＤ１のみが最初に診断パケットＳＰを出力するようにしたため、複数のノードから同時に診断パケットＳＰが出力されることはない。これにより、誤動作は防止される。
【００５６】
上記実施の形態は、以下のように変更して実施してもよい。
・上記実施の形態では、４つのノードＡ１〜Ｄ１と４本のバスケーブル１ａ〜１ｄからなり１つのループを有するトポロジ（図４（ａ）参照）において実施したが、ノード及びバスケーブルを多数有し、複数のループを有する複雑なトポロジにおいて実施してもよい。
【００５７】
例えば、図５（ａ）に示すトポロジにおいて実施してもよい。ノードＡ２にはバスケーブル１ｅを介してノードＢ２が接続され、ノードＢ２にはバスケーブル１ｆ，１ｇを介してノードＣ２，Ｄ２が接続されている。ノードＣ２にはバスケーブル１ｈを介してノードＤ２が接続されている。ノードＤ２にはバスケーブル１ｉを介してノードＥ２が接続されるとともに、バスケーブル１ｊを介してノードＥ２が接続されている。又、ノードＥ２にはバスケーブル１ｋを介してノードＦ２が接続されている。このように構築されたトポロジでは、ノードＢ２〜Ｄ２及びバスケーブル１ｆ〜１ｈにより第１のループが構成され、ノードＤ２，Ｅ２及びバスケーブル１ｉ，１ｊにより第２のループが構成される。各ノードＡ２〜Ｆ２は、インタフェース回路１１を備える。
【００５８】
尚、この例では、ノードＣ２がイニシエートノードである場合について説明する。
今、ノードＣ２が起点となってバスリセットが発生される。すると、各ノードＡ２〜Ｆ２ではバス初期化が行われ、次にツリー識別が行われる。すると、ノードＢ２〜Ｅ２はＴ０ステート５０ａでスタックし、ノードＡ２，Ｆ２はＴ２ステート５２ａでスタックする。すると、各ノードＡ２〜Ｆ２ではＴｘステート３２に遷移しその処理が行われる。
【００５９】
まず図５（ａ）に示すように、イニシエートノードであるノードＣ２の識別未のポート１８からノードＢ２に診断パケットＳＰが送信されるとともに、そのポート１８がマークされる（ステップＳ３）。尚、このとき診断パケットＳＰが送信されるポート１８は、任意にノードＢ２側のポート１８が選択されたものとする。
【００６０】
すると、図５（ｂ）に示すように、ノードＢ２の識別未のポート１８からノードＡ２に診断パケットＳＰが送信されるとともに、そのポート１８がマークされる（ステップＳ３）。尚、このとき診断パケットＳＰが送信されるポート１８は、任意にノードＡ２側のポート１８が選択されたものとする。
【００６１】
すると、図５（ｃ）に示すように、ノードＡ２には識別未のポート１８がないため識別済のポート１８からノードＢ２に診断パケットＳＰが送信されるとともに、そのポート１８がマークされる（ステップＳ５）。
【００６２】
すると、ノードＢ２では、診断パケットＳＰを送受信したポート１８が同じと判別されるため、そのポート１８がループを構成しないと判断される（ステップＳ９）。
すると、図５（ｄ）に示すように、ノードＢ２の識別未のポート１８からノードＤ２に診断パケットＳＰが送信されるとともに、そのポート１８がマークされる（ステップＳ３）。
【００６３】
すると、図５（ｅ）に示すように、ノードＤ２のバスケーブル１ｉに接続された識別未のポート１８からノードＥ２に診断パケットＳＰが送信されるとともに、そのポート１８がマークされる（ステップＳ３）。尚、このとき診断パケットＳＰが送信されるポート１８は、任意にバスケーブル１ｉに接続されたポート１８が選択されたものとする。
【００６４】
すると、図５（ｆ）に示すように、ノードＥ２のバスケーブル１ｊに接続された識別未のポート１８からノードＤ２に診断パケットＳＰが送信されるとともに、そのポート１８がマークされる（ステップＳ３）。尚、このとき診断パケットＳＰが送信されるポート１８は、任意にバスケーブル１ｊに接続されたポート１８が選択されたものとする。
【００６５】
すると、ノードＤ２では、診断パケットＳＰを送受信したポート１８が異なると判別され、その両ポート１８がループを構成すると判断される（ステップＳ９）。
すると、ノードＤ２のステートマシン１７からバスケーブル１ｊを電気的に抜線するための断線信号Ｚがポート制御部２１に出力され（ステップＳ１０）、図５（ｇ）に破線で示すように、ポート制御部２１によりバスケーブル１ｊが電気的に抜線状態とされる。これにより、第２のループが解消される。
【００６６】
すると、ノードＤ２が起点となって２回目のバスリセットが発生される。このとき第１のループは解消されていないため、ノードＢ２〜Ｄ２はＴ０ステート５０ａでスタックし、ノードＡ２，Ｅ２，Ｆ２はＴ２ステート５２ａでスタックする。すると、各ノードＡ２〜Ｆ２ではＴｘステート３２に遷移しその処理が行われる。
【００６７】
すると、図５（ｇ）に示すように、このときのイニシエートノードであるノードＤ２の識別未のポート１８からノードＢ２に診断パケットＳＰが送信されるとともに、そのポート１８がマークされる（ステップＳ３）。尚、このとき診断パケットＳＰが送信されるポート１８は、任意にノードＢ２側のポート１８が選択されたものとする。
【００６８】
すると、図５（ｈ）に示すように、ノードＢ２の識別未のポート１８からノードＣ２に診断パケットＳＰが送信されるとともに、そのポート１８がマークされる（ステップＳ３）。尚、このとき診断パケットＳＰが送信されるポート１８は、任意にノードＣ２側のポート１８が選択されたものとする。
【００６９】
すると、図５（ｉ）に示すように、ノードＣ２の識別未のポート１８からノードＤ２に診断パケットＳＰが送信されるとともに、そのポート１８がマークされる（ステップＳ３）。
【００７０】
すると、ノードＤ２では、診断パケットＳＰを送受信したポート１８が異なると判別され、その両ポート１８がループを構成すると判断される（ステップＳ９）。
すると、ノードＤ２におけるステートマシン１７からバスケーブル１ｈを電気的に抜線するための断線信号Ｚがポート制御部２１に出力され（ステップＳ１０）、図５（ｊ）に破線で示すように、ポート制御部２１によりバスケーブル１ｈが電気的に抜線状態とされる。これにより、第１のループが解消される。
【００７１】
すると、ノードＤ２が起点となって３回目のバスリセットが発生される。このとき第１及び第２のループは解消されているため、以後、バス初期化、ツリー識別、自己識別が正常に行われ、各ノードＡ２〜Ｆ２間で通常のパケット転送が可能とされる。このように、複数のループを有する複雑なトポロジにおいても、各ループを構成するポート１８が自動的に断線状態とされて、上記実施の形態と同様の効果を得ることができる。
【００７２】
・上記実施の形態のステートマシン１７は、Ｔｘステート３２のステップＳ３において識別未のポート１８が複数有る場合、そのうちの１つを任意に選択し、診断パケットＳＰを送信したが、複数のポート１８に予め優先順位を設定しておき、その順に選択するものとしてもよい。このようにすると、ループが解消されるとき、優先順位の高いポート側が残り、低いポート側が断線状態とされる。
【００７３】
・上記実施の形態ではトポロジの構築時について説明したが、ループ解消後にトポロジの変更があった場合にも同様に動作する。即ち、断線状態とされなかった側のポート１８又はバスケーブルになんらかの異常が発生したとき、ステートマシン１７はトポロジの変化を検出してバスリセットを開始し、断線状態とした側のポート１８及びバスケーブルを再び電気的に接続状態とし、断線状態とされなかった側のポート１８を断線状態としてもよい。尚、前記異常とは、例えばバスケーブルが物理的に断線したときや、そのノード間でのパケット転送時に所定量以上のエラーが検出されたとき等を含む。このようにすると、ループ解消後に断線状態とされなかった側のポート１８又はバスケーブルになんらかの異常が発生しても、自動的に断線状態とした側のポート１８及びバスケーブルに接続が切り換えられる。
【００７４】
・トポロジを構築する際、予め意図的にループを作成し、上記のようにループ解消後、断線状態とされなかった側になんらかの異常が発生したとき、断線状態とした側を再び電気的に接続状態とし、断線状態とされなかった側を断線状態としてもよい。例えば、意図的に図６（ａ）に示すトポロジを構築する。
【００７５】
ノードＡ３にはバスケーブル１ｐを介してノードＢ３を接続し、ノードＣ３にはバスケーブル１ｑを介してノードＢ３を接続する。ノードＢ３には３本のバスケーブル１ｒ，１ｓ，１ｔをそれぞれ介してノードＤ３を接続する。ノードＤ３にはバスケーブル１ｕを介してノードＧ３を接続し、バスケーブル１ｖを介してノードＦ３を接続する。ノードＦ３にはバスケーブル１ｗを介してノードＥ３を接続する。ここで、バスケーブル１ｒを主幹パスとしてその両ポート１８に高い優先順位を設定する。
【００７６】
そして、各ノードＡ３〜Ｇ３の電源を入れることにより、ノードＣ３が起点となってバスリセットが発生されると、診断パケットＳＰは、例えば図６（ｂ）に示すように、Ｃ３からＢ３、Ｂ３からＤ３、Ｄ３からＧ３、Ｇ３からＤ３、Ｄ３からＢ３の順に送信される。このとき、ノードＢ３からノードＤ３に送信される診断パケットＳＰは、優先順位の高いポート１８を通ることからバスケーブル１ｒを介して送信され、ノードＤ３からノードＢ３に送信される診断パケットＳＰは例えばバスケーブル１ｔを介して送信される。
【００７７】
すると、ノードＢ３では、診断パケットＳＰを送受信したポート１８がループを構成すると判断され、受信したポート１８側のバスケーブル１ｔが電気的に抜線状態とされる。
すると、ノードＢ３が起点となって２回目のバスリセットが発生される。すると、診断パケットＳＰは、例えば図６（ｃ）に示すように、Ｂ３からＤ３、Ｄ３からＦ３、Ｆ３からＥ３、Ｅ３からＦ３、Ｆ３からＤ３、Ｄ３からＢ３の順に送信される。このとき、ノードＢ３からノードＤ３に送信される診断パケットＳＰは、優先順位の高いポート１８を通ることからバスケーブル１ｒを介して送信され、ノードＤ３からノードＢ３に送信される診断パケットＳＰはバスケーブル１ｓを介して送信される。
【００７８】
すると、ノードＢ３では、診断パケットＳＰを送受信したポート１８がループを構成すると判断され、受信したポート１８側のバスケーブル１ｓが電気的に抜線状態とされる。これにより、ループが解消される。しかも、このとき優先順位の高いポート１８間の主幹パスであるバスケーブル１ｒが接続状態のまま残る。
【００７９】
すると、バス初期化、ツリー識別、自己識別が正常に行われ、各ノードＡ３〜Ｇ３間で通常のパケット転送が可能とされる。
以後、図６（ｄ）に示すように、例えば主幹パスであるバスケーブル１ｒが物理的に断線すると、ノードＢ３のステートマシン１７によりバスケーブル１ｓが再び接続状態とされる。これにより、自動的にノードＢ３とノードＤ３間のパケット転送が再び可能となる。このように、例えばメンテナンスの困難なノードＢ３とノードＤ３間に予め意図的にループを作成すれば、その間に異常が発生しても、容易に短時間でその間のパケット転送が再開される。
【００８０】
・上記実施の形態では、ステートマシン１７のツリーＩＤステート３１にＴｘステート３２を備えて、Ｔｘステート３２における処理によりポート制御部２１を制御したが、Ｔｘステート３２と同様の処理（図３に示すフローチャート）を実行可能なプログラムデータが記録された記録媒体（ソフトウェア）を使用して、ソフト的に同様な制御を行ってもよい。
【００８１】
・上記実施の形態では、イニシエートノードを特定のノードとして最初の診断パケットＳＰを送信させたが、他のノードを特定のノードに設定してもよい。又、任意のノードに最初の診断パケットＳＰを送信させてもよい。
【００８２】
以上の様々の実施の形態をまとめると、以下のようになる。
（１）複数のノードがバスケーブルで接続されたトポロジの構築方法であって、前記ループ箇所を自動的に判断し、その箇所を自動的に断線状態として、該ループを解消することを特徴とするトポロジの構築方法。
【００８３】
（２）上記（１）に記載のトポロジの構築方法において、所定規格のドラフトに準じたツリーＩＤステートにおいてトポロジにループが存在する場合に所定時間スタックした後に遷移する診断ステートを設け、その診断ステートにおいて前記ループ箇所を判断する、ことを特徴とするトポロジの構築方法。
【００８４】
（３）上記（１）又は（２）に記載のトポロジの構築方法において、前記ループが存在すると、特定又は任意のノードは、診断パケット又は診断信号を送信するとともに、その送信したポートにマークし、前記診断パケット又は診断信号を受信したノードは、受信したポートにマークし、マークしていないポートがある場合そのポートから前記診断パケット又は診断信号を送信するとともに、その送信したポートにマークし、前記診断パケット又は診断信号を送信したノードは、マークされていないポートから前記診断パケット又は診断信号を受信すると、その送信したポート及び受信したポートが前記ループを構成すると判断し、送信ポート又は受信ポートを断線状態とすることを特徴とするトポロジの構築方法。
【００８５】
（４）上記（１）乃至（３）のいずれか１つに記載のトポロジの構築方法において、ポートに接続されたバスケーブルを電気的に抜線して前記ループを構成する箇所を断線状態とする、ことを特徴とするトポロジの構築方法。
【００８６】
（５）上記（３）乃至（４）のいずれかに記載のトポロジの構築方法において、特定又は任意のノードは、イニシエートノードであることを特徴とするトポロジの構築方法。
（６）上記（３）乃至（５）のいずれかに記載のトポロジの構築方法において、前記診断パケット又は診断信号を受信したノードは、マークしていないポートが複数ある場合、予め設定された優先順位の高いポートから前記診断パケット又は診断信号を送信することを特徴とするトポロジの構築方法。
【００８７】
（７）上記（１）乃至（６）のいずれかに記載のトポロジの構築方法において、前記断線状態とされなかった箇所に異常が発生したとき、前記断線状態とした箇所を再び電気的に接続し、前記断線状態とされなかった箇所を断線状態とする、ことを特徴とするトポロジの構築方法。
【００８８】
（８）上記（７）に記載のトポロジの構築方法において、前記トポロジを構築する際、予めループを作成しておくことを特徴とするトポロジの構築方法。
（９）上記（１）乃至（８）に記載のトポロジの構築方法において、前記断線状態としたノードは、次にバスリセットを発生させることを特徴とするトポロジの構築方法。
【００８９】
（１０）上記（１）、（３）、（４）〜（７）、（９）に記載のトポロジの構築方法において、前記ループが存在した場合の各処理は、ソフトウェアの制御により行うことを特徴とするトポロジの構築方法。
【００９０】
（１１）バスケーブルで接続されたトポロジを構成するノードに備えられたインタフェース回路であって、所定規格のドラフトに準じたツリーＩＤステートを遷移し、所定のステートにおいて所定時間スタック状態となったときループを構成する箇所を自動的に判断する診断ステートを実施するステートマシンと、前記診断ステートの判断に基づいて、前記ループを構成する箇所を電気的に断線状態とするポート制御部と、を備えたことを特徴とするインタフェース回路。
【００９１】
（１２）上記（１１）に記載のインタフェース回路おいて、前記診断ステートは、自身が特定のノードのとき、診断パケット又は診断信号を送信するとともに、その送信したポートにマークし、自身が特定のノードか否かに関わらず、前記診断パケット又は診断信号を受信したとき、受信したポートにマークし、マークしていないポートがある場合そのポートから前記診断パケット又は診断信号を送信するとともに、その送信したポートにマークし、前記診断パケット又は診断信号を送信した後、マークされていないポートから前記診断パケット又は診断信号を受信すると、その送信したポート及び受信したポートが前記ループを構成すると判断することを特徴とするインタフェース回路。
【００９２】
（１３）上記（１２）に記載のインタフェース回路において、前記特定のノードは、イニシエートノードであることを特徴とするインタフェース回路。
（１４）上記（１２）又は（１３）に記載のインタフェース回路において、前記診断ステートは、前記診断パケット又は診断信号を受信したとき、マークしていないポートが複数ある場合、予め設定された優先順位の高いポートから前記診断パケット又は診断信号を送信することを特徴とするインタフェース回路。
【００９３】
（１５）上記（１１）乃至（１４）のいずれかに記載のインタフェース回路において、前記断線状態とされなかった箇所に異常が発生したとき、前記断線状態とした箇所を再び電気的に接続するとともに、前記断線状態とされなかった箇所を断線状態とすることを特徴とするインタフェース回路。
【００９４】
（１６）上記（１１）乃至（１５）のいずれかに記載のインタフェース回路において、前記断線状態とした後、次にバスリセットを発生させることを特徴とするインタフェース回路。
【符号の説明】
【００９５】
１１    インタフェース回路
１７    ステートマシン
１８    ポート
２１    ポート制御部
３１    ツリーＩＤステート
３２    Ｔｘステート（診断ステート）
１ａ〜１ｋ，１ｑ〜１ｗ    バスケーブル
Ａ１〜Ｄ１，Ａ２〜Ｆ２，Ａ３〜Ｇ３    ノード
【図１】
2010051033.tif 000003
【図２】
2010051033.tif 000004
【図３】
2010051033.tif 000005
【図４】
2010051033.tif 000006
【図５】
2010051033.tif 000007
【図６】
2010051033.tif 000008
【図７】
2010051033.tif 000009