(57)【要約】【課題】バスマネージャーの機能を有するＩＥＥＥ１３９４シリアルバスへの接続機器において、スピードマップを生成するためのアルゴリズムを簡単で効率のよいものにして、スピードマップ生成用プログラムの開発工数の削減とメモリ容量の小型化を図ると共に、スピードマップ生成の処理時間の短縮化を図る。【解決手段】バスマネージャーが、トポロジーマップ内における各ノードの接続状態の情報と最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定した後（Ｓ１２）、スピードマップ内における各ノード間の最高転送速度の値が全て決定されるまで（Ｓ１３でＮＯ）、スピードマップ内における決定済みの最高転送速度の値に基づいて、スピードマップ内における未決定の最高転送速度の値を決定する処理を繰り返して（Ｓ１４）、スピードマップを生成するようにした。【選択図】      図１５
2004349945.tif 000002
【特許請求の範囲】
【請求項１】
ＩＥＥＥ１３９４シリアルバス上における他のノード（接続機器）との間でデータを送受信するためのデータ送受信手段と、
前記データ送受信手段により他のノードから受信したセルフＩＤパケットと、自ノードのセルフＩＤパケットとに基づいて、前記バス上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とを含むトポロジーマップを生成するトポロジーマップ生成手段と、
前記各ノード間における物理層レベルの最高転送速度の情報からなるスピードマップを生成するスピードマップ生成手段と、
前記トポロジーマップ生成手段により生成したトポロジーマップ、及び前記スピードマップ生成手段により生成したスピードマップを格納するレジスタを内包するメモリとを備え、
前記バス上におけるバスマネージャーの機能を有するＩＥＥＥ１３９４シリアルバスへの接続機器において、
前記スピードマップ生成手段は、
前記レジスタに格納されたトポロジーマップ内における各ノードの接続状態に関する情報に基づいて、前記バス上における隣り合う（直接接続される）ノードの組合せを判定し、
前記判定結果と、前記レジスタに格納されたトポロジーマップ内における各ノードの物理層レベルの最高転送速度の情報とに基づいて、前記スピードマップ内における隣り合うノード間の最高転送速度の値を決定して、
前記決定の結果、前記スピードマップ内における各ノード間の最高転送速度の値が全て決定されたか否かを判定し、
前記判定の結果、全て決定されたと判定しなかった場合に、前記スピードマップ内における各ノード間の最高転送速度の値が全て決定されるまで、前記スピードマップ内における決定済みの最高転送速度の値に基づいて、前記スピードマップ内における未決定の最高転送速度の値を決定する処理を繰り返すことを特徴とするＩＥＥＥ１３９４シリアルバスへの接続機器。
【請求項２】
ＩＥＥＥ１３９４シリアルバス上における他のノード（接続機器）との間でデータを送受信するためのデータ送受信手段と、
前記データ送受信手段により他のノードから受信したセルフＩＤパケットと、自ノードのセルフＩＤパケットとに基づいて、前記バス上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とを含むトポロジーマップを生成するトポロジーマップ生成手段と、
前記各ノード間における物理層レベルの最高転送速度の情報からなるスピードマップを生成するスピードマップ生成手段と、
前記トポロジーマップ生成手段により生成したトポロジーマップ、及び前記スピードマップ生成手段により生成したスピードマップを格納するレジスタを内包するメモリとを備え、
前記バス上におけるバスマネージャーの機能を有するＩＥＥＥ１３９４シリアルバスへの接続機器において、
前記スピードマップ生成手段は、
前記バス上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とに基づいて、前記スピードマップ内における隣り合うノード間の最高転送速度の値を決定し、
前記隣り合うノード間の最高転送速度の値に基づいて、前記スピードマップ内における未決定の最高転送速度の値を決定するようにしたことを特徴とするＩＥＥＥ１３９４シリアルバスへの接続機器。
【請求項３】
ＩＥＥＥ１３９４シリアルバスへの接続機器が、そのバス上におけるバスマネージャーであるときに、そのバス上の各ノード（接続機器）間における物理層レベルの最高転送速度の情報からなるスピードマップを生成する方法であって、
前記バスマネージャーが、
自装置のレジスタに格納されたトポロジーマップ内における各ノードの接続状態に関する情報に基づいて、前記バス上における隣り合う（直接接続される）ノードの組合せを判定するステップと、
前記判定結果と、前記トポロジーマップ内における各ノードの物理層レベルの最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定するステップと、
前記決定の結果、前記スピードマップ内における各ノード間の最高転送速度の値が全て決定されたか否かを判定するステップと、
前記判定の結果、全て決定されたと判定しなかった場合に、前記スピードマップ内における各ノード間の最高転送速度の値が全て決定されるまで、前記スピードマップ内における決定済みの最高転送速度の値に基づいて、前記スピードマップ内における未決定の最高転送速度の値を決定する処理を繰り返すステップと
からなることを特徴とするスピードマップ生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＥＥＥ１３９４シリアルバスへの接続機器に係り、特に、ＩＥＥＥ１３９４シリアルバス上における各ノードのスピードマップを生成する技術に関する。
【０００２】
【従来の技術】
従来より、ＩＥＥＥ１３９４シリアルバス（以下、バスと略す）上におけるバスマネージャーは、そのレジスタ内にバス上の各ノード間における物理層レベルの最高転送速度の情報であるスピードマップを記憶しており、このスピードマップを用いてバス上の各ノード間におけるデータの転送速度を管理している。そして、バスマネージャーは、上記のスピードマップを作成する際に、トポロジーマップ内における各ノードの接続状態に関する情報に基づいて、前記バス上における各ノードから構成されるツリー構造を解析し、このツリー構造に沿って、バス上における全てのノードについて、基点となるノードから接続先のノードまでの経路を辿り、経路上に存在する各ノードの最高転送速度の中で最も低い速度を、基点となるノードと接続先のノードとの間における最高転送速度とする方法によって、スピードマップ内における各ノード間の最高転送速度の値を決定していた。
【０００３】
また、この種の接続機器の分野において、バスリセットの発生時に、バスマネージャーが、他のノードのコンフィグレーションＲＯＭからリンク層レベルにおける最高通信速度を読み出して、このリンク層レベルの最高通信速度が物理層レベルの最高通信速度よりも遅い場合に、スピードマップ内に格納されている最高通信速度をリンク層レベルの最高通信速度の内容に合わせて修正するようにしたものが知られている（例えば、特許文献１参照）。また、バスアナライザーの分野において、バス上の全ノードについて伝播遅延時間を求め、求めた伝播遅延時間とバスアナライザー内のトポロジーマップ情報から、隣り合う全てのノード間の伝播遅延時間を求めて、この伝播遅延時間とトポロジーマップを構成する各機器とを表示装置に重畳して表示させるようにしたものが知られている（例えば、特許文献２参照）。さらにまた、ネットワーク検査装置の分野において、共通バスによるネットワーク接続の管理を行うために有用な情報を提供することを目的として、全てのノード装置間における経由ノード装置、最高転送速度等の相互接続情報を表示装置に表示するようにしたものが知られている（例えば、特許文献３参照）。
【０００４】
【特許文献１】
特開平１０−２９０２３７号公報（第１−５頁、図１−６）
【特許文献２】
特開２００２−２０８９８９号公報（第１−５頁、図１−３）
【特許文献３】
特開２００１−１０３０７４号公報（第１−９頁、図１−９）
【０００５】
【発明が解決しようとする課題】
しかしながら、上記のようなツリー構造に沿って基点となるノードから接続先のノードまでの経路を辿って、スピードマップ内における各ノード間の最高転送速度の値を決定する方法では、ツリー構造を意識する必要があるので、スピードマップを生成するためのアルゴリズムが複雑になってしまう。また、スピードマップ内における各ノード間の最高転送速度の値を決定する過程において、重複した経路を辿ることが多いため、最高転送速度の値の決定処理上において無駄な処理が多くなるという問題があった。
【０００６】
また、上記特許文献１乃至３に示される発明では、上記の問題を全く解決することができない。
【０００７】
本発明は、上記の問題を解決するためになされたものであり、スピードマップを生成するためのアルゴリズムを簡単にして、スピードマップ生成用のプログラムの開発工数の削減とバスマネージャーのメモリ容量の小型化を図ることができ、しかも、スピードマップを生成するためのアルゴリズムを効率のよいものにして、スピードマップ生成の処理時間の短縮化を図ることが可能なＩＥＥＥ１３９４シリアルバスへの接続機器とそのスピードマップ生成方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために請求項１の発明は、ＩＥＥＥ１３９４シリアルバス上における他のノード（接続機器）との間でデータを送受信するためのデータ送受信手段と、データ送受信手段により他のノードから受信したセルフＩＤパケットと自ノードのセルフＩＤパケットとに基づいて、バス上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とを含むトポロジーマップを生成するトポロジーマップ生成手段と、各ノード間における物理層レベルの最高転送速度の情報からなるスピードマップを生成するスピードマップ生成手段と、トポロジーマップ生成手段により生成したトポロジーマップ、及びスピードマップ生成手段により生成したスピードマップを格納するレジスタを内包するメモリとを備え、バス上におけるバスマネージャーの機能を有するＩＥＥＥ１３９４シリアルバスへの接続機器において、スピードマップ生成手段は、レジスタに格納されたトポロジーマップ内における各ノードの接続状態に関する情報に基づいて、バス上における隣り合う（直接接続される）ノードの組合せを判定し、この判定結果と、上記のレジスタに格納されたトポロジーマップ内における各ノードの物理層レベルの最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定して、この決定の結果、スピードマップ内における各ノード間の最高転送速度の値が全て決定されたか否かを判定し、この判定の結果、全て決定されたと判定しなかった場合に、スピードマップ内における各ノード間の最高転送速度の値が全て決定されるまで、スピードマップ内における決定済みの最高転送速度の値に基づいて、スピードマップ内における未決定の最高転送速度の値を決定する処理を繰り返すものである。
【０００９】
上記構成においては、スピードマップ生成手段が、トポロジーマップ内における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とに基づいて決定した隣り合うノード間の最高転送速度の値を用いて、スピードマップ内における未決定の最高転送速度の値を全て決定する。これにより、スピードマップ生成時に、従来と異なり、バス上における各ノードから構成されるツリーの構造を意識する必要がなくなるので、スピードマップを生成するためのアルゴリズム簡単にすることができる。また、スピードマップ内における各ノード間の最高転送速度の値を決定する過程において、従来のように重複した経路を辿る必要がなくなるので、スピードマップを生成するためのアルゴリズムを効率のよいものにして、スピードマップ生成の処理時間の短縮化を図ることができる。
【００１０】
また、請求項２の発明は、ＩＥＥＥ１３９４シリアルバス上における他のノード（接続機器）との間でデータを送受信するためのデータ送受信手段と、データ送受信手段により他のノードから受信したセルフＩＤパケットと、自ノードのセルフＩＤパケットとに基づいて、バス上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とを含むトポロジーマップを生成するトポロジーマップ生成手段と、各ノード間における物理層レベルの最高転送速度の情報からなるスピードマップを生成するスピードマップ生成手段と、トポロジーマップ生成手段により生成したトポロジーマップ、及びスピードマップ生成手段により生成したスピードマップを格納するレジスタを内包するメモリとを備え、バス上におけるバスマネージャーの機能を有するＩＥＥＥ１３９４シリアルバスへの接続機器において、スピードマップ生成手段は、バス上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定し、これらの隣り合うノード間の最高転送速度の値に基づいて、スピードマップ内における未決定の最高転送速度の値を決定するようにしたものである。
【００１１】
この構成においては、スピードマップ生成手段が、バス上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定し、これらの隣り合うノード間の最高転送速度の値に基づいて、スピードマップ内における未決定の最高転送速度の値を決定する。これにより、上記請求項１と同様な作用を得ることができる。
【００１２】
また、請求項３の発明は、ＩＥＥＥ１３９４シリアルバスへの接続機器が、そのバス上におけるバスマネージャーであるときに、そのバス上の各ノード（接続機器）間における物理層レベルの最高転送速度の情報からなるスピードマップを生成する方法であって、バスマネージャーが、自装置のレジスタに格納されたトポロジーマップ内における各ノードの接続状態に関する情報に基づいて、バス上における隣り合う（直接接続される）ノードの組合せを判定するステップと、上記の判定結果と、トポロジーマップ内における各ノードの物理層レベルの最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定するステップと、上記の決定の結果、スピードマップ内における各ノード間の最高転送速度の値が全て決定されたか否かを判定するステップと、上記の判定の結果、全て決定されたと判定しなかった場合に、スピードマップ内における各ノード間の最高転送速度の値が全て決定されるまで、スピードマップ内における決定済みの最高転送速度の値に基づいて、スピードマップ内における未決定の最高転送速度の値を決定する処理を繰り返すステップとからなるものである。この方法により、上記請求項１と同様な作用を得ることができる。
【００１３】
【発明の実施の形態】
以下、本発明を具体化した実施形態について図面を参照して説明する。図１は、本実施形態によるバスマネージャー（バス上におけるバスマネージャーの機能を有するＩＥＥＥ１３９４シリアルバスへの接続機器）とＩＥＥＥ１３９４シリアルバス上における他の接続機器の電気的ブロック構成を示す。バスマネージャー１０は、ＩＥＥＥ１３９４シリアルバス９（以下、バスと略す）上における他の接続機器２０，３０に、電源管理、データ転送速度管理、構成管理等の各種のバス管理機能を提供する。以下の説明において、「ノード」とは、バス９に接続された各接続機器（図中におけるバスマネージャー１０及び接続機器２０，３０）を指し、「自ノード」と「他ノード」とは、それぞれバスマネージャー１０とバスマネージャー１０以外の接続機器２０，３０とを指す。
【００１４】
上記のバスマネージャー１０は、装置全体の制御を行うＣＰＵ１１と、各種のデータを記憶するメモリ１２とを有している。ＣＰＵ１１は、ＩＥＥＥ１３９４のプロトコル上におけるアプリケーション層の機能の提供も行い、請求項におけるトポロジーマップ作成手段及びスピードマップ作成手段としても機能する。すなわち、ＣＰＵ１１は、他のノードから受信したセルフＩＤパケットと、自ノードのセルフＩＤパケットとに基づいて、バス上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とを含むトポロジーマップを生成すると共に、トポロジーマップ内における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とに基づいて、各ノード間における最高転送速度の情報からなるスピードマップを生成する。また、メモリ１２は、バス９上における他ノードに上記のバス管理機能を提供するためのプログラムであるバス管理プログラム１３と、上記のトポロジーマップ及びスピードマップを含む各種の情報を格納したレジスタ空間１４とを内包している。また、バスマネージャー１０は、ＩＥＥＥ１３９４のプロトコル上におけるリンク層レベルのサービスを提供するＬＩＮＫ１５と、物理層レベルのサービスを提供するＰＨＹ１６と、バス９のケーブルを接続するためのＩＥＥＥ１３９４ポート１７とを有している。上記のＬＩＮＫ１５、ＰＨＹ１６及びＩＥＥＥ１３９４ポート１７が、請求項におけるデータ送受信手段に相当する。
【００１５】
また、上記の接続機器２０，３０も、バスマネージャー１０と同様に、ＣＰＵ２１、３１、メモリ２２、３２、ＬＩＮＫ２５、３５、ＰＨＹ２６、３６及びＩＥＥＥ１３９４ポート２７、３７を有しているが、バスマネージャー１０と異なり、メモリ２２、３２上にバス管理プログラムを有していない。
【００１６】
次に、図２を参照して、上記のレジスタ空間１４に記憶されているデータの内容について説明する。レジスタ空間１４は、自ノード及び他ノードの制御に用いられるＣＳＲ（Ｃｏｎｔｒｏｌ  ａｎｄ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒｓ）コア４１と、バス９の管理用のレジスタであるシリアルバス依存レジスタ４２と、自機の性能に関する情報等を記憶したコンフィグレーションＲＯＭ４３と、各機器固有のレジスタであるユニットレジスタ４４とから構成されている。
【００１７】
上記のシリアルバス依存レジスタ４２には、バスマネジャー１０の物理ＩＤを格納したＢＵＳ＿ＭＡＮＡＧＥＲ＿ＩＤ５１、同期転送の帯域管理用のレジスタであるＢＡＮＤＷＩＤＴＨ＿ＡＶＡＩＬＡＢＬＥ５２、及び同期転送のチャンネル管理用のレジスタであるＣＨＡＮＮＥＬＳ＿ＡＶＡＩＬＡＢＬＥ  ＨＩ５３とＣＨＡＮＮＥＬＳ＿ＡＶＡＩＬＡＢＬＥ  ＬＯ５４とが含まれる。
【００１８】
また、上記のユニットレジスタ４４には、データ出力側の接続機器の接続管理用のレジスタであるｏｕｔｐｕｔ  Ｐｌｕｇ  Ｃｏｎｔｒｏｌ  Ｒｅｇｉｓｔｅｒｓ（以下、ｏＰＣＲと略す）５６と、データ入力側の接続機器の接続管理用のレジスタであるｉｎｐｕｔ  Ｐｌｕｇ  Ｃｏｎｔｒｏｌ  Ｒｅｇｉｓｔｅｒｓ（以下、ｉＰＣＲと略す）５７とが含まれる。
【００１９】
上記のユニットレジスタ４４は、上記のｏＰＣＲ５６、ｉＰＣＲ５７に加えて、バス９上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とを含むＴＯＰＯＬＯＧＹ＿ＭＡＰ（トポロジーマップ）５８、及び各ノード間における物理層レベルの最高転送速度の情報であるＳＰＥＥＤ＿ＭＡＰ（スピードマップ）５９を格納している。ＴＯＰＯＬＯＧＹ＿ＭＡＰ５８及びＳＰＥＥＤ＿ＭＡＰ５９は、バスリセット時にＣＰＵ１１によって作成される。
【００２０】
次に、図３を参照して、図２中におけるＴＯＰＯＬＯＧＹ＿ＭＡＰ５８に格納されている情報の内容について説明する。ＴＯＰＯＬＯＧＹ＿ＭＡＰ５８は、バス９上におけるノード数の情報であるｎｏｄｅ＿ｃｏｕｎｔ６１、ＴＯＰＯＬＯＧＹ＿ＭＡＰ５８内に格納されているセルフＩＤパケット数の情報であるｓｅｌｆ＿ｉｄ＿ｃｏｕｎｔ６２、及び各ノードのセルフＩＤパケット（ｓｅｌｆ＿ｉｄ＿ｐａｃｋｅｔ［０］〜ｓｅｌｆ＿ｉｄ＿ｐａｃｋｅｔ［ｓｅｌｆ＿ｉｄ＿ｃｏｕｎｔ−１］）からなるセルフＩＤパケットテーブル６３等から構成されている。
【００２１】
次に、図４乃至図６を参照して、図３中におけるセルフＩＤパケットテーブル６３に含まれる３種類のセルフＩＤパケットの内容について説明する。第１の種類のセルフＩＤパケット（以下、第１セルフＩＤパケットという）６５は、図４に示されるように、該当のパケットを送出したノード（以下、送出元ノードという）の物理ＩＤを示すＰｈｙ＿ＩＤ６８、送出元ノードの物理層レベルにおける最高転送速度の情報であるｓｐ６９、ｐ０〜ｐ２の各ポートの状態を示すポート情報７０、同じ物理ＩＤを有するパケットが後に続いているか否かを示す追加パケット有無情報ｍ７１等を格納している。ｐ０〜ｐ２の各ポート情報７０が“１１”のときは、「該当のノードが動作中で子ポートに接続されている」ことを示し、“１０”のときは、「該当のノードが動作中で親ポートに接続されている」ことを示す。また、“０１”のときは、「該当のノードが動作していない」ことを示し、“００”のときは、「該当のポートが存在しない」ことを示す。
【００２２】
図５に示されるように、第２の種類のセルフＩＤパケット（以下、第２セルフＩＤパケットという）６６は、送出元ノードの物理ＩＤを示すＰｈｙ＿ＩＤ６８、ｐ３〜ｐ１０の各ポートの状態を示すポート情報７０、同じ物理ＩＤを有するパケットが後に続いているか否かを示す追加パケット有無情報ｍ７１等を格納している。また、図６に示されるように、第３の種類のセルフＩＤパケット（以下、第３セルフＩＤパケットという）６７は、送出元ノードの物理ＩＤを示すＰｈｙ＿ＩＤ６８、ｐ１１〜ｐ１５の各ポートの状態を示すポート情報７０等を格納している。
【００２３】
次に、図７に示されるフローチャートを参照して、上記のバスマネージャー１０がバスリセット時に行う処理の概略について説明する。バスリセットが発生すると（Ｓ１）、バスマネージャー１０は、バス９上における他の全てのノードからセルフＩＤパケットを受信して（Ｓ２）、これらのセルフＩＤパケットと自ノードのセルフＩＤパケットとに基づいて、図３に示されるトポロジーマップ（ＴＯＰＯＬＯＧＹ＿ＭＡＰ）５８を生成して（Ｓ３）、メモリ１２のレジスタ空間１４内に格納する。次に、バスマネージャー１０は、トポロジーマップ５８内における各ノードの接続状態に関する情報であるポート情報７０（図４乃至図６参照）と、各ノードの物理層レベルにおける最高転送速度の情報であるｓｐ６９（図４参照）とに基づいて、各ノード間における最高転送速度の情報からなるスピードマップ５９を生成して（Ｓ４）、生成したスピードマップ５９をメモリ１２のレジスタ空間１４内に格納する。
【００２４】
次に、上記図７中のＳ４に示されるスピードマップ生成処理の詳細について説明する。まず、バスマネージャー１０は、トポロジーマップ５８内における各ノードの接続状態に関する情報であるポート情報７０（図４乃至図６参照）に基づいて、バス９上における隣り合う（直接接続される）ノードの組合せを判定する。そして、その判定結果と、トポロジーマップ５８内における各ノードの物理層レベルにおける最高転送速度の情報であるｓｐ６９（図４参照）とに基づいて、バス９上における隣り合うノード間の最高転送速度を決定して、スピードマップ５９内における隣り合うノード間の最高転送速度の値を埋める。
【００２５】
上記の処理について、図８及び図９を参照して具体的に説明する。図８は、バス９上における各ノード間の接続の例を示す。図８中に括弧書きで示されるＳ４００，Ｓ２００，Ｓ１００は、それぞれ物理層レベルにおける最高転送速度が４００Ｍｂｐｓ，２００Ｍｂｐｓ，１００Ｍｂｐｓであることを示す。また、図９中のテーブル８０は、スピードマップ５９内における各ノード間の最高転送速度の値をテーブル化して表したものである。バス９上における各ノードから構成されるツリー構造が図８に示されるような構造になっている場合には、ルートであるノードＥと隣り合う（直接接続される）ノードは、ノードＤとノードＦである。そして、ノードＥとノードＦとの間の最高転送速度は、ノードＥの最高転送速度Ｓ４００とノードＦの最高転送速度Ｓ２００のうち、低い方の最高転送速度であるＳ２００となるので、バスマネージャー１０は、図９に示されるように、テーブル８０中のＥＦ間の最高転送速度の値７８を２００（Ｍｂｐｓ）に設定する。また、ノードＥとノードＤとの間の最高転送速度は、図８に示されるように、ノードＥの最高転送速度とノードＤの最高転送速度がいずれもＳ４００であるため、Ｓ４００となる。従って、バスマネージャー１０は、図９に示されるように、テーブル８０中のＥＤ間の最高転送速度の値７９を４００（Ｍｂｐｓ）に設定する。このようにして、バスマネージャー１０は、順次隣り合うノード間の最高転送速度を決定して、テーブル８０中における隣り合うノード間の最高転送速度の値を埋めていく。この結果、図９中の下線で示される最高転送速度の値が埋められる。
【００２６】
バスマネージャー１０は、上記のテーブル８０中における隣り合うノード間の最高転送速度の値を埋める処理の結果、テーブル８０中における各ノード間の最高転送速度の値を全て埋めることができた場合には、その時点でテーブル８０中における各ノード間の最高転送速度の値を埋めていく処理を終了する。
【００２７】
しかし、テーブル８０中における各ノード間の最高転送速度の値を全て埋めることができなかった場合には、バスマネージャー１０は、上記の隣り合うノード同士の接続を組み合わせて、テーブル８０中における最高転送速度の値を埋めていく。これにより、テーブル８０中における各ノード間の最高転送速度の値のうち、１個のノードを経由して接続されたノード間の最高転送速度の値のみを埋めていくことができる。具体的には、バスマネージャー１０は、テーブル８０の左上から順に、テーブル８０中における未決定の（埋まっていない）転送速度の値のうち、決定済みの（埋まっている）最高転送速度の値に基づいて埋めることができる転送速度の値のみを埋めていく。
【００２８】
ここで、上記の決定済みの最高転送速度の値に基づいて未決定の最高転送速度の値を埋めることができる場合の処理について、図１０に示されるＡＥ間の最高転送速度の値８１を例にして説明する。ノードＢを経由してノードＡとノードＥとの間を接続した場合におけるＡＥ間の最高転送速度の値８１については、図中の左表に示されるように、テーブル８０中におけるＢＥ間の最高転送速度の値８３が未だ埋まっていない（未決定である）ため、テーブル８０中における決定済みの（埋まっている）最高転送速度の値のみに基づいて埋めることができない。また、ノードＣ又はノードＦを経由してノードＡとノードＥとの間を接続した場合におけるＡＥ間の最高転送速度の値８１についても、テーブル８０中におけるＣＥ間の最高転送速度の値８４又はＦＡ間の最高転送速度の値８５が未だ埋まっていない（未決定である）ため、テーブル８０中における決定済みの（埋まっている）最高転送速度の値のみに基づいて埋めることができない。
【００２９】
これに対して、ノードＤを経由してノードＡとノードＥとの間を接続した場合におけるＡＥ間の最高転送速度の値８１については、図中の左表に示されるように、ＤＡ間の最高転送速度の値８６とＤＥ間の最高転送速度の値８７とが決定済みである（埋まっている）ため、決定済みの最高転送速度の値のみに基づいて埋めることができる。従って、バスマネージャー１０は、ＤＡ間の最高転送速度の値８６（２００）とＤＥ間の最高転送速度の値８７（４００）のうち、低い方の転送速度である２００（Ｍｂｐｓ）をＡＥ間の最高転送速度の値８１に決定する。そして、図中の右表に示されるように、テーブル８０中におけるＡＥ間の最高転送速度の値８１とＥＡ間の最高転送速度の値８２とを埋める。このように、隣り合うノード間の最高転送速度の値に基づいて、テーブル８０中における未決定のノード間の最高転送速度の値を埋めることができた場合には、そのノード間の接続は、１個のノードを経由した接続である。
【００３０】
次に、図９に示される決定済みの最高転送速度の値に基づいて未決定の最高転送速度の値を埋めることができない場合の処理について、図１１に示されるＡＦ間の最高転送速度の値９２を例にして説明する。ノードＢを経由してノードＡとノードＦとの間を接続した場合におけるＡＦ間の最高転送速度の値９２については、図に示されるように、テーブル８０中におけるＦＢ間の最高転送速度の値８９が未だ未決定であるため、テーブル８０中における決定済みの最高転送速度の値のみに基づいて埋めることができない。また、ノードＣ、ノードＤ又はノードＥを経由してノードＡとノードＦとの間を接続した場合におけるＡＦ間の最高転送速度の値９２についても、テーブル８０中におけるＣＦ間の最高転送速度の値９０、ＤＦ間の最高転送速度の値９１又はＥＡ間の最高転送速度の値８２が未決定であるため、テーブル８０中における決定済みの最高転送速度の値のみに基づいて埋めることができない。そして、ノードＡとノードＦとの間を接続する場合に、これ以外に経由することができるノードは存在しないので、バスマネージャー１０は、図９に示される隣り合うノード間の最高転送速度の値に基づいて、図１１に示されるＡＦ間の最高転送速度の値９２を埋めることができない。このように、隣り合うノード間の最高転送速度の値に基づいて、テーブル８０中における未決定のノード間の最高転送速度の値を埋めることができない場合には、そのノード間の接続は、１個のノードを経由した接続ではない。
【００３１】
上記のように、バスマネージャー１０が、隣り合うノード間の最高転送速度の値（図１２中の左表参照）に基づいて、テーブル８０中における未決定の最高転送速度の値を埋めていくことにより、図１２中の右表において下線で示される１個のノードを経由して接続されたノード間の最高転送速度の値が埋められる。
【００３２】
バスマネージャー１０は、上記の１個のノードを経由して接続されたノード間の最高転送速度の値を埋める処理の結果、テーブル８０中における各ノード間の最高転送速度の値を全て埋めることができた場合には、その時点でテーブル８０中における各ノード間の最高転送速度の値を埋めていく処理を終了する。
【００３３】
しかし、テーブル８０中における各ノード間の最高転送速度の値を全て埋めることができなかった場合には、バスマネージャー１０は、上記の隣り合うノード間の最高転送速度の値と、１個のノードを経由して接続されたノード間の最高転送速度の値とを組み合わせて、テーブル８０中における最高転送速度の値を埋めていく。これにより、テーブル８０中における各ノード間の最高転送速度の値のうち、２〜３個のノードを経由して接続されたノード間の最高転送速度の値を埋めていくことができる。具体的には、バスマネージャー１０は、上記の１個のノードを経由して接続されたノード間の最高転送速度の値を埋めていく処理の場合と同様に、テーブル８０の左上から順に、テーブル８０中における未決定の（埋まっていない）転送速度の値のうち、決定済みの（埋まっている）最高転送速度の値に基づいて埋めることができる転送速度の値のみを埋めていく。
【００３４】
上記のように、バスマネージャー１０が、隣り合うノード間の最高転送速度の値と１個のノードを経由して接続されたノード間の最高転送速度の値と（図１３中の左表参照）に基づいて、テーブル８０中における未決定の最高転送速度の値を埋めていくことにより、図１３中の右表において下線で示される最高転送速度の値が埋められる。
【００３５】
バスマネージャー１０は、上記の２〜３個のノードを経由して接続されたノード間の最高転送速度の値を埋める処理の結果、テーブル８０中における各ノード間の最高転送速度の値を全て埋めることができた場合には、その時点でテーブル８０中における各ノード間の最高転送速度の値を埋めていく処理を終了する。図９乃至図１３に示される例の場合は、上記の２〜３個のノードを経由して接続されたノード間の最高転送速度の値を埋める処理の結果、図１４に示されるように、テーブル８０中における各ノード間の最高転送速度の値を全て埋めることができるので、この時点でテーブル８０中における各ノード間の最高転送速度の値を埋める処理を終了する。
【００３６】
次に、図１５のフローチャートを参照して、上記のスピードマップ生成処理についてまとめる。まず、バスマネージャー１０は、トポロジーマップ５８内における各ノードの接続状態に関する情報であるポート情報７０に基づいて、バス９上における隣り合う（直接接続される）ノードの組合せを判定する（Ｓ１１）。そして、その判定結果と、トポロジーマップ５８内における各ノードの物理層レベルにおける最高転送速度の情報であるｓｐ６９とに基づいて、バス９上における隣り合うノード間の最高転送速度を決定して、スピードマップ５９（テーブル８０）内における隣り合うノード間の最高転送速度の値を埋める（Ｓ１２）。次に、バスマネージャー１０は、上記の処理の結果、スピードマップ５９内における各ノード間の最高転送速度の値を全て埋めることができたか否かを判定する（Ｓ１３）。そして、この判定の結果、全て埋めることができなかったと判定した場合には、スピードマップ５９内における各ノード間の最高転送速度の値が全て決定されるまで（Ｓ１３でＮＯ）、スピードマップ５９内における決定済みの最高転送速度の値に基づき、未決定の最高転送速度の値を決定して、スピードマップ５９内における未決定の最高転送速度の値を埋める処理を繰り返す（Ｓ１４）。
【００３７】
上述したように、本実施形態によるバスマネージャー１０は、トポロジーマップ５８内における各ノードのポート情報７０と物理層レベルの最高転送速度の情報であるｓｐ６９とに基づいて、スピードマップ５８内における隣り合うノード間の最高転送速度の値を決定して、この決定の結果、スピードマップ５８内における各ノード間の最高転送速度の値が全て決定されたか否かを判定する。そして、全て決定されたと判定しなかった場合に、スピードマップ内５８における各ノード間の最高転送速度の値が全て決定されるまで、スピードマップ５８内における決定済みの最高転送速度の値に基づいて、スピードマップ５８内における未決定の最高転送速度の値を決定する処理を繰り返す。これにより、スピードマップ５８の生成時に、従来と異なり、バス９上における各ノードから構成されるツリーの構造を意識する必要がなくなるので、スピードマップ５８を生成するためのアルゴリズム簡単にすることができる。従って、スピードマップ生成用のプログラム（図１中のバス管理プログラム１３の一部）のロジックを簡単にすることができるので、従来のようにツリー構造を意識してスピードマップ５８の生成を行った場合と比べて、スピードマップ生成用のプログラムの開発工数を削減し、バグの発生率を低下させることができると共に、スピードマップ生成用のプログラムのステップ数を減らして、バスマネージャー１０のメモリ容量の小型化を図ることができる。
【００３８】
なお、本発明は、上記実施形態に限られるものではなく、様々な変形が可能である。例えば、本実施形態では、バスマネージャー１０が、トポロジーマップ５８内における各ノードの接続状態に関する情報であるポート情報７０と物理層レベルの最高転送速度の情報であるｓｐ６９とに基づいて、スピードマップ５８内における隣り合うノード間の最高転送速度の値を決定したが、バスマネージャーが、各ノードから受信したセルフＩＤパケットに含まれる各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定するようにしてもよい。
【００３９】
【発明の効果】
以上説明したように請求項１の発明によれば、トポロジーマップ内における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定して、この決定の結果、スピードマップ内における各ノード間の最高転送速度の値が全て決定されたか否かを判定する。そして、全て決定されたと判定しなかった場合に、スピードマップ内における各ノード間の最高転送速度の値が全て決定されるまで、スピードマップ内における決定済みの最高転送速度の値に基づいて、スピードマップ内における未決定の最高転送速度の値を決定する処理を繰り返すようにした。これにより、スピードマップ生成時に、従来と異なり、バス上における各ノードから構成されるツリーの構造を意識する必要がなくなるので、スピードマップを生成するためのアルゴリズム簡単にすることができる。従って、スピードマップ生成用のプログラムのロジックを簡単にすることができるので、従来のようにツリー構造を意識してスピードマップの生成を行った場合と比べて、スピードマップ生成用のプログラムの開発工数を削減し、バグの発生率を低下させることができると共に、スピードマップ生成用のプログラムのステップ数を減らして、バスマネージャーのメモリ容量の小型化を図ることができる。
【００４０】
また、スピードマップ内における各ノード間の最高転送速度の値を決定する過程において、従来のように重複した経路を辿る必要がなくなるので、スピードマップを生成するためのアルゴリズムを効率のよいものにして、スピードマップ生成の処理時間の短縮化を図ることができる。
【００４１】
また、請求項２の発明によれば、バス上における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定し、これらの隣り合うノード間の最高転送速度の値に基づいて、スピードマップ内における未決定の最高転送速度の値を決定するようにしたことにより、上記請求項１に記載の発明と同様な効果を得ることができる。
【００４２】
また、請求項３の発明によれば、バスマネージャーが、自装置のレジスタに格納されたトポロジーマップ内における各ノードの接続状態に関する情報と物理層レベルの最高転送速度の情報とに基づいて、スピードマップ内における隣り合うノード間の最高転送速度の値を決定して、この決定処理においてスピードマップ内における各ノード間の最高転送速度の値が全て決定されなかった場合に、各ノード間の最高転送速度の値が全て決定されるまで、前記スピードマップ内における決定済みの最高転送速度の値に基づいて、前記スピードマップ内における未決定の最高転送速度の値を決定する処理を繰り返すようにした。これにより、上記請求項１に記載の発明と同等の効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るバスマネージャー（ＩＥＥＥ１３９４シリアルバスへの接続機器）と、ＩＥＥＥ１３９４シリアルバス上における他の接続機器の電気的ブロック構成を示す図。
【図２】図１中のレジスタ空間の内容を示す図。
【図３】図２中のＴＯＰＯＬＯＧＹ＿ＭＡＰの内容を示す図。
【図４】図３中のセルフＩＤパケットテーブルに含まれる第１セルフＩＤパケットの内容を示す図。
【図５】図３中のセルフＩＤパケットテーブルに含まれる第２セルフＩＤパケットの内容を示す図。
【図６】図３中のセルフＩＤパケットテーブルに含まれる第３セルフＩＤパケットの内容を示す図。
【図７】上記バスマネージャーによるバスリセット時の概略処理を示すフローチャート。
【図８】バス上における各ノード間の接続の例を示す図。
【図９】スピードマップ内における隣り合うノード間の最高転送速度の値をテーブル化して表した図。
【図１０】隣り合うノード間の最高転送速度の値に基づいて、ＡＥ間の最高転送速度の値を求める処理の説明図。
【図１１】隣り合うノード間の最高転送速度の値に基づいて、ＡＦ間の最高転送速度の値を求める処理の説明図。
【図１２】図中の左表は、隣り合うノード間の最高転送速度の値を示す図、図中の右表は、左表に示される最高転送速度の値に基づいて１個のノードを経由して接続されたノード間の最高転送速度の値を埋めた結果を示す図。
【図１３】図中の左表は、図１２中の右表と同様な内容を示す図、図中の右表は、左表に示される最高転送速度の値に基づいて２〜３個のノードを経由して接続されたノード間の最高転送速度の値を埋めた結果を示す図。
【図１４】図１３中の右表と同様な内容を示す図。
【図１５】上記バスマネージャーによるスピードマップ生成処理を示すフローチャート。
【符号の説明】
９      ＩＥＥＥ１３９４シリアルバス
１０    バスマネージャー（ＩＥＥＥ１３９４シリアルバスへの接続機器）
１１    ＣＰＵ（トポロジーマップ作成手段、スピードマップ作成手段）
１２    メモリ
１４    レジスタ空間（レジスタ）
１５    ＬＩＮＫ（データ送受信手段）
１６    ＰＨＹ（データ送受信手段）
１７    ＩＥＥＥ１３９４ポート（データ送受信手段）
５８    ＴＯＰＯＬＯＧＹ＿ＭＡＰ（トポロジーマップ）
５９    ＳＰＥＥＤ＿ＭＡＰ（スピードマップ）
【図１】
2004349945.tif 000003
【図２】
2004349945.tif 000004
【図３】
2004349945.tif 000005
【図４】
2004349945.tif 000006
【図５】
2004349945.tif 000007
【図６】
2004349945.tif 000008
【図７】
2004349945.tif 000009
【図８】
2004349945.tif 000010
【図９】
2004349945.tif 000011
【図１０】
2004349945.tif 000012
【図１１】
2004349945.tif 000013
【図１２】
2004349945.tif 000014
【図１３】
2004349945.tif 000015
【図１４】
2004349945.tif 000016
【図１５】
2004349945.tif 000017