(57)【特許請求の範囲】
【請求項１】
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理するネットワーク構成方法において、
上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報を保持し、
上記ブリッジを構成するそれぞれの機器が保持した上記情報、及び上記ネットワーク全体を管理可能な複数の機器が保持する情報から、２つの情報を用いて比較する処理を上記機器間で行い、該比較の結果に基づいて、上記ネットワークの全体を管理可能な機器の中から一の機器を選択してブリッジ管理機器とする
ことを特徴とするネットワーク構成方法。
【請求項２】
上記ブリッジ管理機器の所有する情報は、当該ブリッジ管理機器の設定パラメータである ことを特徴とする請求の範囲第１項に記載のネットワーク構成方法。
【請求項３】
上記設定パラメータは、機器識別情報である ことを特徴とする請求の範囲第２項に記載のネットワーク構成方法。
【請求項４】
ブリッジの設定に関する情報を保持するレジスタ群へのアクセス権を示すフラグを保持し、
当該アクセス権を示すフラグに基づいて上記複数の機器による読み出し／書き込みを制御する
ことを特徴とする請求の範囲第１項に記載のネットワーク構成方法。
【請求項５】
上記ブリッジ管理機器の所有する情報は、当該ブリッジ管理機器の設定パラメータ及び当該ブリッジ管理機器の機能を表す情報であり、
上記ブリッジを構成する機器が保持している上記機能を表す情報と自己が保持している上記機能を表す情報とを比較して自己がブリッジ管理機器になるか否かを判断し、
上記２つの機能を表す情報が同一であるとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較して自己がブリッジ管理機器になるか否かを判断する
ことを特徴とする請求の範囲第１項に記載のネットワーク構成方法。
【請求項６】
上記ブリッジ管理機器の所有する情報は、当該ブリッジ管理機器の機能を表す情報及び動的に変化する情報であり、
上記ブリッジを構成する機器が保持している上記機能を表す情報と自己が保持している上記機能を表す情報とを比較して自己がブリッジ管理機器になるか否かを判断し、
上記２つの機能を表す情報が同一であるとき、上記ブリッジを構成する機器が保持した上記動的に変化する情報と自己が保持している上記動的に変化する情報とを比較して自己がブリッジ管理機器になるか否かを判断する
ことを特徴とする請求の範囲第１項に記載のネットワーク構成方法。
【請求項７】
上記ブリッジ管理機器の所有する情報は、当該ブリッジ管理機器の設定パラメータ、当該ブリッジ管理機器の機能を表す情報及び動的に変化する情報であり、
上記ブリッジを構成する機器が保持している上記機能を表す情報と自己が保持している上記機能を表す情報とを比較して自己がブリッジ管理機器になるか否かを判断し、
上記２つの機能を表す情報が同一であるとき、上記ブリッジを構成する機器が保持している上記動的に変化する情報と自己が保持している上記動的に変化する情報とを比較して自己がブリッジ管理機器になるか否かを判断し、
上記２つの動的に変化する情報が同一であるとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較して自己がブリッジ管理機器になるか否かを判断する
ことを特徴とする請求の範囲第１項に記載のネットワーク構成方法。
【請求項８】
上記ネットワークの全体を管理可能な複数の機器は、それぞれ全てのブリッジを構成する機器を設定しながらネットワークを構成すると共に、それぞれ上記ブリッジを構成する機器が保持した情報と自己が保持している情報とを比較することにより、自己がブリッジ管理機器となるか否かを判断する
ことを特徴とする請求の範囲第１項に記載のネットワーク構成方法。
【請求項９】
上記ネットワークの全体を管理可能な複数の機器は、それぞれ自己が属するバスに接続された上記ブリッジを構成する機器に対してその先のネットワークの構成を要請すると共に、上記ブリッジを構成する機器が保持した情報と自己が保持している情報とを比較することにより、自己がブリッジ管理機器となるか否かを判断する
ことを特徴とする請求の範囲第１項に記載のネットワーク構成方法。
【請求項１０】
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理するネットワーク構成方法において、
上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報を保持し、
当該ブリッジ管理機器の所有する情報は、当該ブリッジ管理機器の設定パラメータ及び当該ブリッジ管理機器の機能を表す情報であり、
上記ブリッジを構成する機器が保持している上記機能を表す情報と自己が保持している上記機能を表す情報とを比較して自己がブリッジ管理機器になるか否かを判断し、
上記２つの機能を表す情報が同一であるとき、あるいは自己が保持している上記機能を表す情報が上記ブリッジを構成するそれぞれの機器が保持している上記機能を表す情報よりも大きいとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較して自己がブリッジ管理機器になるか否かを判断する
ことを特徴とするネットワーク構成方法。
【請求項１１】
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理するネットワーク構成方法において、
上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報を保持し、
当該ブリッジ管理機器の所有する情報は、当該ブリッジ管理機器の設定パラメータ及び時間の経過とともに動的に変化する情報であり、
上記ブリッジを構成する機器が保持している上記動的に変化する情報と自己が保持している上記動的に変化する情報とを比較して自己がブリッジ管理機器になるか否かを判断し、
上記２つの動的に変化する情報が同一であるとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較して自己がブリッジ管理機器になるか否かを判断する
ことを特徴とするネットワーク構成方法。
【請求項１２】
上記動的に変化する情報は、上記ネットワークの設定の進行を示す情報である
ことを特徴とする請求の範囲第１１記載に記載のネットワーク構成方法。
【請求項１３】
上記動的に変化する情報は、当該ブリッジ管理機器がブリッジ管理機器になってからの時間を示す情報である
ことを特徴とする請求の範囲第１１記載に記載のネットワーク構成方法。
【請求項１４】
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理システムにおいて、
上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報を保持する記憶手段と、
上記ブリッジを構成するそれぞれの機器が保持した上記情報及び上記ネットワーク全体を管理可能な複数の機器が保持する情報から、２つ機器の情報を用いて比較する処理を上記機器間で行う比較手段と、
上記比較の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備える
ことを特徴とする情報処理システム。
【請求項１５】
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な機能を有する情報処理装置において、
上記機器を管理しているブリッジ管理機器の所有する情報を保持する記憶手段と、
上記記憶手段に保持される上記情報と、他の機器が保持する当該機器を管理しているブリッジ管理機器の所有する情報とを比較する比較手段と、
上記比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備える
ことを特徴とする情報処理装置。
【請求項１６】
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理システムにおいて、
上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報として当該ブリッジ管理機器の設定パラメータ及び当該ブリッジ管理機器の機能を表す情報を保持する記憶手段と、
上記ブリッジを構成する機器が保持している上記機能を表す情報と自己が保持している上記機能を表す情報とを比較する第１の比較手段と、
上記第１の比較手段の結果に基づいて、上記２つの機能を表す情報が同一であるとき、あるいは自己が保持している上記機能を表す情報が上記ブリッジを構成するそれぞれの機器が保持している上記機能を表す情報よりも大きいとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較する第２の比較手段と、
上記第２の比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備える
ことを特徴とする情報処理システム。
【請求項１７】
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理システムにおいて、
上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報として当該ブリッジ管理機器の設定パラメータ及び時間の経過とともに動的に変化する情報を保持する記憶手段と、
上記ブリッジを構成する機器が保持している上記動的に変化する情報と自己が保持している上記動的に変化する情報とを比較する第１の比較手段と、
上記第１の比較手段の結果に基づいて、上記２つの動的に変化する情報が同一であるとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較する第２の比較手段と、
上記第２の比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備える
ことを特徴とする情報処理システム。
【請求項１８】
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理装置において、
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理システムにおいて、
上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報として当該ブリッジ管理機器の設定パラメータ及び当該ブリッジ管理機器の機能を表す情報を保持する記憶手段と、
上記ブリッジを構成する機器が保持している上記機能を表す情報と自己が保持している上記機能を表す情報とを比較する第１の比較手段と、
上記第１の比較手段の結果に基づいて、上記２つの機能を表す情報が同一であるとき、あるいは自己が保持している上記機能を表す情報が上記ブリッジを構成するそれぞれの機器が保持している上記機能を表す情報よりも大きいとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較する第２の比較手段と、
上記第２の比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備える
ことを特徴とする情報処理装置。
【請求項１９】
それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理装置において、
上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報として当該ブリッジ管理機器の設定パラメータ及び時間の経過とともに動的に変化する情報を保持する記憶手段と、
上記ブリッジを構成する機器が保持している上記動的に変化する情報と自己が保持している上記動的に変化する情報とを比較する第１の比較手段と、
上記第１の比較手段の結果に基づいて、上記２つの動的に変化する情報が同一であるとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較する第２の比較手段と、
上記第２の比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備える
ことを特徴とする情報処理装置。
【発明の詳細な説明】
技術分野
この発明は、例えば複数のＩＥＥＥ１３９４シリアルバスを連結してなるネットワークを管理するネットワーク構成方法、情報処理システム並びに情報処理装置に関する。
背景技術
ディジタル信号の伝送規格としては、例えばＩＥＣ（International Electrotechnical Commission：国際電気技術標準機関）やＩＥＥＥ（Institute of Electrical and Electronics Engineers：米国電気電子技術者協会）による規格など、多数の規格が存在する。このなかで例えばＩＥＥＥ１３９４は、ディジタルビデオレコーダ等の家庭用電子機器同士の接続やこれら電子機器とコンピュータとの間の接続といったマルチメディア用途に向くものとして注目されている。このＩＥＥＥ１３９４については周知であるため、ここではその内容説明を省略する。
現在、Ｐ１３９４．１（ブリッジ）ワーキンググループ（P1394.1（bridge）working group）において、ＩＥＥＥ１３９４環境内のブリッジフォーマットの標準化活動が行われている（この点については、P1394.1 Draft 0.03 Oct 18,1997に述べられているため、ここではその説明を省略する）。ＩＥＥＥ１３９４ブリッジ（以下、単にブリッジと称する）は、ＩＥＥＥ１３９４シリアルバス（以下、適宜、バスと略記する）に接続されているポータル（portal）と称する装置の組により構成されており、このブリッジを介して、複数（２つ以上）のバスの間でデータの伝送を行うことが可能となされている。すなわち、１つのＩＥＥＥ１３９４シリアルバスに接続できる機器（ノード）の数は、最大で６３個に制限されているが、複数のバスをブリッジを用いて連結し、バスとブリッジからなるネットワークを構成することにより、更に多くのノードを接続することが可能になされている。なお、ブリッジ（ポータル間）におけるデータの伝送は、ケーブルのみならず、電波や赤外線等を用いて行うことが既に提案されている。
ここで、バスに接続される各機器、すなわちノードには、それぞれ固有のノードＩＤ（NODE_ID）が付与されている。このノードＩＤは、ノードが接続されているバスを表すバスＩＤ（BUS_ID）と、接続されているバス内においてシリアルな数である物理層ＩＤ（PHY_ID、０〜６３の数）とから構成されている。したがって、ネットワークを構成する複数のバスに対して、バスＩＤ（BUS_ID）を重複しないように割り当てるとともに、ネットワーク全体を管理して制御する機能を有するブリッジマネージャ（ブリッジ管理機器）となるノードが１つだけ必要となっている。
ところで、上述したネットワークに、複数のブリッジマネージャの機能を有するブリッジマネージャ候補が存在する場合、そのうちの一つをブリッジマネージャとして自動的に選び出すことができないという課題があった。
この発明の目的は、複数のブリッジマネージャ候補中から自動的にブリッジマネージャが決定されるようにすることにある。また、この発明は、ブリッジマネージャ候補の機器において、様々な機能を数値化して比較することを可能とし、また、２つの異なる記憶領域から構成される情報に対して複数の機器の読み込み、書き込みが競合する状況下でも使用することができ、さらに、ブリッジマネージャを決める際により多機能な機器や処理速度の速い機器等を優先して選ぶことを可能とすることにある。
発明の開示
この発明に係るネットワーク構成方法は、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理するネットワーク構成方法において、ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報を保持し、ブリッジを構成するそれぞれの機器が保持した上記情報、および上記ネットワーク全体を管理可能な複数の機器が保持する情報から、２つの情報を用いて比較する処理を上記機器間で行い、該比較の結果に基づいて、ネットワークの全体を管理可能な機器の中から一の機器を選択してブリッジ管理機器とするものである。
また、この発明に係る情報処理方法は、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な機能を有する情報処理装置の情報処理方法において、ブリッジを構成している機器が保持している当該機器を管理しているブリッジ管理機器の所有する情報と、自己が保持している情報との比較結果に基づいて、自己がブリッジ管理機器となるか否かを判断する処理ステップを有するものである。
また、この発明に係る情報処理装置は、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な機能を有する情報処理装置において、ブリッジを構成している機器が保持している当該機器を管理しているブリッジ管理機器の所有する情報と、自己が保持している情報との比較結果に基づいて、自己がブリッジ管理機器となるか否かを判断する処理手段を有するものである。
また、この発明に係るネットワーク構成方法は、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理するネットワーク構成方法において、上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報を保持し、当該ブリッジ管理機器の所有する情報は、当該ブリッジ管理機器の設定パラメータ及び当該ブリッジ管理機器の機能を表す情報であり、上記ブリッジを構成する機器が保持している上記機能を表す情報と自己が保持している上記機能を表す情報とを比較して自己がブリッジ管理機器になるか否かを判断し、上記２つの機能を表す情報が同一であるとき、あるいは自己が保持している上記機能を表す情報が上記ブリッジを構成するそれぞれの機器が保持している上記機能を表す情報よりも大きいとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較して自己がブリッジ管理機器になるか否かを判断するものである。
また、この発明に係るネットワーク構成方法は、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理するネットワーク構成方法において、上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報を保持し、当該ブリッジ管理機器の所有する情報は、当該ブリッジ管理機器の設定パラメータ及び時間の経過とともに動的に変化する情報であり、上記ブリッジを構成する機器が保持している上記動的に変化する情報と自己が保持している上記動的に変化する情報とを比較して自己がブリッジ管理機器になるか否かを判断し、上記２つの動的に変化する情報が同一であるとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較して自己がブリッジ管理機器になるか否かを判断するものである。
また、この発明に係る情報処理システムは、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理システムにおいて、上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報を保持する記憶手段と、上記ブリッジを構成するそれぞれの機器が保持した上記情報、及び上記ネットワーク全体を管理可能な複数の機器が保持する情報から、２つ機器の情報を用いて比較する処理を上記機器間で行う比較手段と、上記比較の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備えるものである。
また、この発明に係る情報処理装置は、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な機能を有する情報処理装置において、上記機器を管理しているブリッジ管理機器の所有する情報を保持する記憶手段と、上記記憶手段に保持される上記情報と、他の機器が保持する当該機器を管理しているブリッジ管理機器の所有する情報とを比較する比較手段と、上記比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備えるものである。
また、この発明に係る情報処理システムは、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理システムにおいて、上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報として当該ブリッジ管理機器の設定パラメータ及び当該ブリッジ管理機器の機能を表す情報を保持する記憶手段と、上記ブリッジを構成する機器が保持している上記機能を表す情報と自己が保持している上記機能を表す情報とを比較する第１の比較手段と、上記第１の比較手段の結果に基づいて、上記２つの機能を表す情報が同一であるとき、あるいは自己が保持している上記機能を表す情報が上記ブリッジを構成するそれぞれの機器が保持している上記機能を表す情報よりも大きいとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較する第２の比較手段と、上記第２の比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備えるものである。
また、この発明に係る情報処理システムは、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理システムにおいて、上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報として当該ブリッジ管理機器の設定パラメータ及び時間の経過とともに動的に変化する情報を保持する記憶手段と、上記ブリッジを構成する機器が保持している上記動的に変化する情報と自己が保持している上記動的に変化する情報とを比較する第１の比較手段と、上記第１の比較手段の結果に基づいて、上記２つの動的に変化する情報が同一であるとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較する第２の比較手段と、上記第２の比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備えるものである。
また、この発明に係る情報処理装置は、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理装置において、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理システムにおいて、上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報として当該ブリッジ管理機器の設定パラメータ及び当該ブリッジ管理機器の機能を表す情報を保持する記憶手段と、上記ブリッジを構成する機器が保持している上記機能を表す情報と自己が保持している上記機能を表す情報とを比較する第１の比較手段と、上記第１の比較手段の結果に基づいて、上記２つの機能を表す情報が同一であるとき、あるいは自己が保持している上記機能を表す情報が上記ブリッジを構成するそれぞれの機器が保持している上記機能を表す情報よりも大きいとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較する第２の比較手段と、上記第２の比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備えるものである。
また、この発明に係る情報処理装置は、それぞれ異なるバスに接続された機器間を連結してブリッジを構成し、当該異なるバスが上記ブリッジにて接続されてなるネットワークを管理可能な情報処理装置において、上記ブリッジを構成している機器内に、当該機器を管理しているブリッジ管理機器の所有する情報として当該ブリッジ管理機器の設定パラメータ及び時間の経過とともに動的に変化する情報を保持する記憶手段と、上記ブリッジを構成する機器が保持している上記動的に変化する情報と自己が保持している上記動的に変化する情報とを比較する第１の比較手段と、上記第１の比較手段の結果に基づいて、上記２つの動的に変化する情報が同一であるとき、上記ブリッジを構成する機器が保持した上記設定パラメータと自己が保持している上記設定パラメータとを比較する第２の比較手段と、上記第２の比較手段の結果に基づいて、自己が上記ネットワークの全体を管理するブリッジ管理機器となるか否かを判断する処理手段とを備えるものである。
【図面の簡単な説明】
図１は、実施の形態としてネットワークシステムの概略構成を示す図である。図２は、ネットワークシステム内のブリッジ部分の詳細を示すブロック図である。図３は、第１のブリッジマネージャ決定方法の説明に用いる図である。図４は、第２のブリッジマネージャ決定方法の説明に用いる図である。図５は、第１のブリッジマネージャ決定方法におけるバスコンフィギュレーション処理の手順を示すフローチャートである。図６は、第１のブリッジマネージャ決定方法のバスコンフィギュレーション処理におけるポータルの所有権獲得処理の手順を示すフローチャートである。図７は、第１のブリッジマネージャ決定方法のバスコンフィギュレーション処理におけるポータルの設定処理の手順を示すフローチャートである。図８は、第１のブリッジマネージャ決定方法におけるブリッジコンフィギュレーション処理の手順を示すフローチャートである。図９は、第１のブリッジマネージャ決定方法のブリッジコンフィギュレーション処理におけるポータルの設定処理の手順を示すフローチャートである。図１０は、ポータルの状態遷移図である。図１１は、第２のブリッジマネージャ決定方法におけるバスコンフィギュレーション処理の手順を示すフローチャートである。図１２は、第２のブリッジマネージャ決定方法のバスコンフィギュレーション処理におけるポータルの設定処理の手順を示すフローチャートである。図１３は、第２のブリッジマネージャ決定方法におけるブリッジコンフィギュレーション処理の手順を示すフローチャートである。図１４は、第２のブリッジマネージャ決定方法のブリッジコンフィギュレーション処理におけるポータルの設定処理の手順を示すフローチャートである。図１５Ａ〜Ｆは、第２のブリッジマネージャ決定方法によるブリッジマネージャの決定処理を説明する図である。図１６は、ポータルコントロールレジスタのフォーマットを示す図である。図１７は、アッパーポータルＩＤレジスタのフォーマットを示す図である。図１８は、ブリッジマネージャレベルレジスタのフォーマットを示す図である。図１９は、マックスバスＩＤレジスタのフォーマットを示す図である。図２０は、ローカルバスＩＤレジスタのフォーマットを示す図である。図２１は、第１のブリッジマネージャ決定方法におけるバスコンフィギュレーション処理の手順を示すフローチャートである。図２２は、第１のブリッジマネージャ決定方法のバスコンフィギュレーション処理におけるポータルの所有権獲得処理の手順を示すフローチャートである。図２３は、第１のブリッジマネージャ決定方法のバスコンフィギュレーション処理におけるポータルの設定処理の手順を示すフローチャートである。図２４は、第１のブリッジマネージャ決定方法におけるブリッジコンフィギュレーション処理の手順を示すフローチャートである。図２５は、第１のブリッジマネージャ決定方法のブリッジコンフィギュレーション処理におけるポータルの設定処理の手順を示すフローチャートである。図２６は、第２のブリッジマネージャ決定方法におけるバスコンフィギュレーション処理の手順を示すフローチャートである。図２７は、第２のブリッジマネージャ決定方法のバスコンフィギュレーション処理におけるポータルの設定処理の手順を示すフローチャートである。図２８は、第２のブリッジマネージャ決定方法におけるブリッジコンフィギュレーション処理の手順を示すフローチャートである。図２９は、第２のブリッジマネージャ決定方法のブリッジコンフィギュレーション処理におけるポータルの設定処理の手順を示すフローチャートである。図３０は、第１のブリッジマネージャ決定方法におけるブリッジコンフィギュレーション処理（３以上のポータル）の手順を示すフローチャートである。図３１は、第２のブリッジマネージャ決定方法におけるブリッジコンフィギュレーション処理（３以上のポータル）の手順を示すフローチャートである。
発明を実施するための最良の形態
図１は、実施の形態としてのネットワークシステムの構成を示している。このネットワークシステムは、ＩＥＥＥ１３９４シリアルネットワークを構成するものであり、ＩＥＥＥ１３９４シリアルバスとそれを繋ぐブリッジとから構成されている。
この図１において、バス１１〜１５（以下、バス１１〜１５を特に区別する必要がない場合には、単にバスと記述する）は、ＩＥＥＥ１３９４シリアルバスであり、それぞれ最高で６３個のノードを接続できるようになされている。
ノードＩＤは、ノードが接続されているバスを示すバスＩＤ（BUS_ID：１０ビット）と、バス内においてシリアルな番号である物理層ＩＤ（PHY_ID：６ビット）から構成される。したがって、ネットワークにおいて連結されるバスの最大数は、１０２３個である。ただし、未設定（例えば電源投入時）の各ノードのバスＩＤは、初期値（３ＦＦ）に設定される。また、全てのノードには、ノードＩＤとは別に、固有の機器ＩＤが予め付与されている。
ブリッジマネージャ候補（ＢＭＣ）３１，３４（以下、ブリッジマネージャ候補３１，３４を特に区別する必要がない場合には、単にブリッジマネージャ候補と記述する）は、ＩＥＥＥ１３９４シリアルネットワークシステム全体を管理して制御するブリッジマネージャの機能を有している。ブリッジマネージャ候補が後述する所定の規則に基づいて同じ処理を実行することにより、ブリッジマネージャ候補３１，３４のうちの一方が、自動的にブリッジマネージャに決定される。また、ブリッジマネージャ候補は、自分の機器ＩＤをその管理下にある全ノードに通知する。
バス１１に接続されたポータル４１は、バス１２に接続されたポータル４２とともにブリッジ５１を構成し、バス１１とバス１２を連結し、データパケットの授受を行うようになされている。また、バス１２に接続されたポータル４３は、バス１３に接続されたポータル４４とともにブリッジ５２を構成し、バス１２とバス１３を連結し、データパケットの授受を行うようになされている。さらに、バス１３に接続されたポータル４５は、バス１４に接続されたポータル４６とともにブリッジ５３を構成し、バス１３とバス１４を連結し、データパケットの授受を行うようになされている。同様に、バス１３に接続されたポータル４７は、バス１５に接続されたポータル４８とともにブリッジ５４を構成し、バス１３とバス１５を連結し、データパケットの授受を行うようになされている。
図１のブリッジマネージャ候補３１、及びブリッジ５１を例に挙げて、その詳細な構成について、図２を参照して説明する。
この図２において、ブリッジマネージャ候補３１の通信部６４は、バス１１とデータパケットの授受を行うようになされている。制御部６３は、当該ブリッジマネージャ候補３１の全体を制御する。ＲＡＭ６１は、当該ブリッジマネージャ候補３１のノードＩＤ等を記憶するレジスタである。また、ＲＯＭ６２は、制御部６３で使用されるコンピュータプログラム、および当該ブリッジマネージャ候補３１の機器ＩＤや後述するレベルを記憶する。なお、ブリッジマネージャ候補３４の構成は、ブリッジマネージャ候補３１の構成と同様であるので、その説明は省略する。
ブリッジ５１を構成するポータル４１の通信部７４は、バス１１、または赤外線通信部７６とデータパケットの授受を行うようになされている。制御部７３は、ポータル４１の全体を制御する。ＲＡＭ７１は、当該ポータル４１のノードＩＤやマックスバスＩＤ（MAX_BUS_ID）等を記憶するポータルコントロールレジスタ、当該ポータル４１を管理するブリッジマネージャのレベルを記憶するブリッジマネージャレベルレジスタ等の後述する各レジスタである。なお、マックスバスＩＤについては周知であるため、ここではその説明を省略する。ＲＯＭ７２は、制御部７３で使用されるコンピュータプログラムを記憶する。赤外線通信制御部７５は、赤外線によりポータル４２とデータパケットの授受を行う赤外線通信部７６を制御する。
同じくブリッジ５１を構成するポータル４２の通信部８４は、バス１２、または赤外線通信部８６とデータパケットの授受を行うようになされている。制御部８３は、ポータル４２の全体を制御する。ＲＡＭ８１は、後述する各レジスタである。ＲＯＭ８２は、制御部８３で使用されるコンピュータプログラムを記憶する。赤外線通信制御部８５は、赤外線によりポータル４１とデータパケットの授受を行う赤外線通信部８６を制御する。
なお、ポータル４３〜４８の構成は、ポータル４１及び４２の構成と同様である。したがって、ブリッジ５２〜５４の構成は、ブリッジ５１と同様であるので、その説明は省略する。
上述したように、ブリッジを構成する２個のポータルはＩＥＥＥ１３９４のノードとして動作し、それらが相異なるバスに接続されることによって、当該ブリッジはそれら２つのバスを接続可能となっている。ＩＥＥＥ１３９４では、このようなブリッジの概念を取り入れることで、最大で１０２３個のバスを接続して一つのネットワークを構成する事が可能となっている。
ここで、ブリッジマネージャは、一つのネットワーク上に只一つ存在し、ネットワークの管理を行う。
この発明においては、複数存在するブリッジマネージャ候補から一つのブリッジマネージャを自動的に決定する方法を提案する。ここで、ポータル内の一つのパラーメータ（機器ＩＤ）に基づいて、複数存在するブリッジマネージャ候補から一つのブリッジマネージャを自動的に選択すること、さらに複数存在するブリッジマネージャ候補の中で機能の高い一つのブリッジマネージャを自動的に選択すること等が考えられる。
上述したブリッジマネージャ決定の具体例として、図３および図４に示すような第１および第２のブリッジマネージャ決定方法を例に挙げて説明する。
すなわち、図３に示す第１のブリッジマネージャ決定方法は、ブリッジマネージャ候補１３１が全てのポータル１４１，１４２，１４３，１４４を順次設定しながらネットワークを構成していくことで、最終的に１つのブリッジマネージャによって管理されたネットワークを構築するという方法である。
また、図４に示す第２のブリッジマネージャ決定方法は、ブリッジマネージャ候補１３２が、先ず自己のバス１１４内のポータル１４６にその先のネットワークの構成を要請し、当該要請がなされたポータル１４６はポータル１４７にその先のネットワークの構成を要請し、さらにポータル１４７はそのバス１１５内のポータル１４８にその先のネットワークの構成を要請し、当該要請がなされたポータル１４８はポータル１４９にその先のネットワークの構成を要請する、という形でネットワークの構成を進め、最終的に１つのブリッジマネージャによって管理されたネットワークを構築するという方法である。
図１に示すネットワークシステムにおいて、実際にネットワークを構成する際の流れを説明する。まず、ブリッジマネージャ上のプログラムが全てのポータルの設定を行うようなブリッジマネージャ集中型の設定方法、すなわち上述した第１のブリッジマネージャ決定方法におけるネットワーク構成の流れを以下に説明する。この例は、ポータル内の一つのパラーメータ（機器ＩＤ）に基づいて、複数存在するブリッジマネージャ候補から一つのブリッジマネージャを自動的に選択するものである。
この第１のブリッジマネージャ決定方法の場合の大まかな流れとして、まず、ブリッジマネージャ候補は、内部変数であるマックスバスＩＤ（MAX_BUS_ID）を０にし、次に、ブリッジマネージャ候補は、自己が接続されているバス（ローカルバス）のコンフィギュレーションを開始（後述のバスコンフィギュレーション）し、次に、バスコンフィギュレーションが終わったならば（この時点で全てのポータルの設定は終了している）、自分をブリッジマネージャとする。ただし、当該バスコンフィギュレーションの途中で処理が終わったときには、ブリッジマネージャ候補を辞める。このようにブリッジマネージャになったならば、ネットワーク全体にブリッジマネージャである自分のノードＩＤ（NODE_ID）を通知して処理を終了する。
上記バスコンフィギュレーションの手順は、図５のフローチャートのようになる。
この図５において、ステップＳ２０１でバスコンフィギュレーションを開始する。次に、ステップＳ２０２で、当該ブリッジマネージャ候補が接続されているローカルバス内のポータルのリストを作り、機器ＩＤ順に並べる。なお、この機器ＩＤ順のリストは、順序を固定するための一例であり、他の順序でリストを作ることも可能である。
次に、ステップＳ２０３で、ブリッジマネージャ候補はそのリストの順番に従い、まずローカルバスの全てのポータルの所有権の獲得を試みる。このステップＳ２０３のときのブリッジマネージャ候補におけるポータルの所有権獲得動作は、図６のフローチャートのような手順となる。
この図６において、ステップＳ２１１で、所有権獲得を開始する。このステップＳ２１１の後は、ステップＳ２１２の処理に進む。ステップＳ２１２では、獲得しようとするポータルのオーナＥＵＩレジスタの値（機器ＩＤ）を読み、自分のオーナＥＵＩレジスタの機器ＩＤと比較する。この比較において、自分の機器ＩＤが強い（勝った）ときにはステップＳ２１３に進む。
ステップＳ２１３では、自分の機器ＩＤをポータルのオーナＥＵＩレジスタへ書きこむ。これで所有権は獲得されたことになる。この書き込みは、ＩＥＥＥ１３９４のロックトランザクションのコンペア及びスワップ（compare & swap）処理を用いて行われ、エラーが発生するときは、ステップＳ２１２に戻る。この書き込みによって所有権を獲得した後、ステップＳ２１４に進んで獲得動作を正常に終了する。
ステップＳＴ２１２の比較において、自分の機器ＩＤが弱い（負けた）ときにはステップＳ２１５に進み、設定動作そのものを中止する。これにより、ブリッジマネージャ候補から外れることになる。
この図６のフローチャートのような手順である図５のステップＳ２０３の処理の後は、ステップＳ２０４の処理に進む。ステップＳ２０４では、マックスバスＩＤの値を全てのノードのノードＩＤレジスタのバスＩＤフィールドに書き込む。この際には、ＩＥＥＥ１３９４におけるライトトランザクションのブロードキャストを使用する。
そして、ステップＳ２０５で、ブリッジマネージャ候補はリストの順番に従い、リスト中のすべてのポータルに対して設定を行う。具体的には、図７のフローチャートのような手順となる。
この図７において、ステップＳ２２１で、ポータルの設定を開始する。このステップＳ２２１の後は、ステップＳ２２２の処理に進む。ステップＳ２２２では、オーナＥＵＩレジスタの値（機器ＩＤ）を読み、自分のオーナＥＵＩレジスタの機器ＩＤと同じかどうかを調べる。同じであるときには、ステップＳ２２３の処理に進む。
ステップＳ２２３では、ポータルに対して各レジスタの設定を行う。また、自分の持つ内部変数のマックスバスＩＤの値を１増やし、ポータルコントロールレジスタのｒｔｅフィールドに２を書き込む。さらに、ルーチングバウンズレジスタのローアバウンド（LOWER BOUND）フィールドにマックスバスＩＤ（max_bus_ID）の値を書く、等といったＩＥＥＥ１３９４のネットワークを構成する際に必要な情報を設定する。
そして、ステップＳ２２４の処理に進む。ステップＳ２２４では、設定の終ったポータルの属するブリッジを設定する。ここでは、後述するブリッジコンフィギュレーションの手順を実行する。その後、ステップＳ２２５に進んで、ルーチングバウンズレジスタのアッパーバウンドフィールドにマックスバスＩＤの値を書き、ステップＳ２２６に進んでポータルの設定処理を終了する。
ステップＳ２２２の所有権の確認において、機器ＩＤが同じでなく他の機器が所有権を持っているときには、ステップＳ２２７に進んで設定動作そのものを中止する。これにより、ブリッジマネージャ候補から外れることになる。
この図７のフローチャートのような手順である図５のステップＳ２０５の処理の後は、図５のステップＳ２０６の処理に進む。ステップＳ２０６では、正常にバスのコンフィギュレーションを完了する。
一方、ステップＳ２０３で全てのポータルの所有権を獲得できないとき、あるいはステップＳＴ２０５で全てのポータルの設定ができないときは、ステップＳ２０７に進んで、設定動作そのものを中止して、ブリッジマネージャ候補から外れる。
次に、ブリッジコンフィギュレーションの手順を図８のフローチャートを用いて説明する。
ここで、ブリッジにはポータルが２個で、片方は既に設定が終わっている（以下の説明では、これをポータルＡと呼ぶことにする）。したがって、もう一方のポータルだけを設定すればよいので、所有権の獲得と設定を一度に行う。
図８において、ステップＳ２３１で、ブリッジコンフィギュレーションを開始する。そして、ステップＳ２３２で、ブリッジ内の設定されていない片方のポータルの設定を開始する。このステップＳ２３２における手順は図９のフローチャートに示す通りとなる。
この図９において、ステップＳ２４１で、ポータルの所有権獲得を開始する。そして、このステップＳ２４１の後は、ステップＳ２４２の処理に進む。ステップ２４２では、オーナＥＵＩレジスタの値（機器ＩＤ）を読み、自分のオーナＥＵＩレジスタの機器ＩＤと比較する。自分の機器ＩＤが強い（勝った）ときにはステップＳ２４３の処理に進む。
ステップＳ２４３では、自分の機器ＩＤをオーナＥＵＩレジスタへ書きこむ。これにより、所有権は獲得されたことになる。そして、ステップＳ２４４で、ポータルに対して各レジスタの設定を行う。すなわち、ポータルコントロールレジスタのｒｔｅフィールドに３を書きこむ。さらに、ルーチングバウンズレジスタのローアバウンド（LOWER BOUND）フィールドにマックスバスＩＤ（max_bus_ID）の値を書く、等といったＩＥＥＥ１３９４のネットワークを構成する際に必要な情報を設定する。
このステップＳ２４４の処理の後に、ステップＳ２４５の処理に進む。ステップＳ２４５では、設定の終ったポータルの属するバスを設定する。ここでは、バスコンフィギュレーションの手順を実行する。その後、ステップＳ２４６で、ルーチングバウンズレジスタのアッパーバウンドフィールドにマックスバスＩＤの値を書き、ステップＳ２４７で、処理を正常に終了する。
ステップＳ２４２で機器ＩＤが同じときにはステップＳ２４８の処理に進む。機器ＩＤが同じとなるのは、ネットワークがループ状になっている場合に起こり、従ってステップＳ２４８ではループになっていると判断する。そして、ステップＳ２４９で、図８のステップＳ２３３に進む。
ステップＳ２４２で自分の機器ＩＤが弱い（負けた）ときには、ステップＳ２５０の処理に進む。このステップＳ２５０では、設定を中止し、ブリッジマネージャ候補から外れる。
この図９のフローチャートのような手順である図８のステップＳ２３２の処理の後は、図８のステップＳ２３３，Ｓ２３４，Ｓ２３５のいずれかの処理に進む。ステップＳ２３３では、先に設定されていたポータルＡの、ポータルコントロールレジスタのｒｔｅフィールドの値を０にする（これはポータル間の接続を切る事に相当する）。ステップＳ２３４では、ポータルが設定されたので、ブリッジコンフィギュレーションを終了する。一方、ステップＳ２３５では、設定動作そのものを中止する。
次に、各ポータルがそれぞれ所定の動作をするといった、分散型のネットワークの設定方法、すなわち上述した第２のブリッジマネージャ決定方法におけるネットワーク構成の流れを以下に説明する。この例も、ポータル内の一つのパラーメータ（機器ＩＤ）に基づいて、複数存在するブリッジマネージャ候補から一つのブリッジマネージャを自動的に選択するものである。
この第２のブリッジマネージャ決定方法の場合の大まかな流れとして、まず、ポータルは、各レジスタが変更された場合には、各レジスタの変更内容を調べ、その後、当該変更されたレジスタの種類と値、そして自分の状態、それらから判断して自分の状態を遷移する。
なお、この状態遷移は、図１０のように表すことができる。図中ＳＴ０〜ＳＴ５は状態を示し、各状態から他の状態への矢印は状態遷移を示す。この図１０において、ローカルバスＩＤレジスタがアップデートされた場合は、いかなる状態からも、状態ＳＴ１または状態ＳＴ３に遷移する（これはｒｔｅフィールドの値による）。また、オーナＥＵＩレジスタが書き換えられた場合も、いかなる状態からでも状態ＳＴ０の状態に遷移する。
次に、ブリッジマネージャとなる機能を有するノードは以下のように設定動作を開始する。
（１）自分のマックスバスＩＤレジスタの値を０にする。
（２）自分のバスに対してバスコンフィギュレーションの手順を実行する。
（３）バスコンフィギュレーションが正常に終了したならば、ネットワーク全体に自分のノードＩＤをブリッジマネージャのＩＤとして通知する。
（４）その後、設定動作を終了する。
なお、ポータルに対する設定の要請という言葉は、次の２種類の場合に使われる。すなわち、ブリッジコンフィギュレーションの要請と、バスコンフィギュレーションの要請である。これらは結局、決められたレジスタへの書き込みをする事により、書き込まれたポータルが、何を要請されたか判断してそれらの処理を開始する。
設定をポータルに要請した機器は、ポータルから結果が戻るまで待機する事になる。結果が戻ってきたかどうかは、その機器のマックスバスＩＤレジスタがポータルによって変更された事で判断する。
ここで結果が戻ってこないという事は、設定を要請したポータルの先で、設定が中止されたという事であり、ブリッジマネージャとしてよりふさわしい候補が存在する場合に起こる。
バスコンフィギュレーションとブリッジコンフィギュレーションの手順は、図１１と後述の図１３に示す通りであり、第１のブリッジマネージャ決定方法の場合とほぼ変化はないが、設定動作を行うものが異なる。
図１１に示すバスコンフィギュレーションのフローチャートについて説明する。なお、以下の説明では、バスの設定の要請を受けた機器（ポータル）の事をここでは特にインボーカ（invoker）と呼び、他のポータルと区別することとする。
この図１１において、ステップＳ２６１で、インボーカは、バスの設定を開始する。そして、ステップＳ２６２で、インボーカは、当該インボーカが存在するローカルバス内のポータルのリストを作り、機器ＩＤ順に並べる。なお、この機器ＩＤ順のリストは順序を固定するための一例であり、他の順序でリストを作ることも可能である。
ステップＳ２６３で、インボーカは、そのリストの順番に従い、まず全てのポータルの所有権を獲得する。このとき、インボーカは各ポータルに対して、上述した図６のフローチャートの処理を実行する。
次に、ステップＳ２６４で、インボーカは、ローカルバスＩＤレジスタに記録されているバスＩＤを自分の属するバスにブロードキャスト（broadcast）する。そして、ステップＳ２６５で、インボーカは、まず自分のローカルバスＩＤレジスタ中のバスＩＤフィールドを読み、その値を自分のマックスバスＩＤレジスタに書きこむ。これにより、インボーカはリストの順にもう一度所有権を確認しながらポータルの設定を行ってゆくという状態になる。
このステップＳ２６５の処理のとき、インボーカは、各ポータルに対して図１２のフローチャートの処理を実行する。この図１２において、ステップＳ２７１では、ポータルの設定を開始する。このステップＳ２７１の後は、ステップＳ２７２の処理に進む。ステップ２７２では、オーナＥＵＩレジスタの値（機器ＩＤ）を読み、自分のオーナＥＵＩレジスタの機器ＩＤと同じかどうかを調べる。同じであるときには、ステップＳ２７３の処理に進む。
ステップＳ２７３では、ポータルに対して各レジスタの設定を行う。まず、ＩＥＥＥ１３９４のネットワークを構成するにあたり必要な情報を設定する。具体的には、ポータルコントロールレジスタのｒｔｅフィールドに２を書き込み、ルーチングバウンズレジスタのローアバウンドレジスタに自己のマックスバスＩＤレジスタの値に１を加えた値を書く。次に、そのポータルにブリッジコンフィギュレーションを要請するため、以下のようにレジスタを設定する。すなわち、アッパーポータルＩＤレジスタへ自分のノードＩＤを書き込み、マックスバスＩＤレジスタへ自分のマックスバスＩＤレジスタの値に１を加えた値を書き込み、ローカルバスＩＤレジスタのバスＩＤフィールドに、ポータルが属するバスのバスＩＤを書き込む。
次に、ステップＳ２７４で、自分のマックスバスＩＤレジスタの値が更新されるまで待機する。その後、ステップＳ２７５で、ルーチングバウンズレジスタのアッパーバウンドフィールドに自己のマックスバスＩＤレジスタの値を書く。そして、ステップＳ２７６で、ポータル設定処理を終了し、元の処理に戻る。
ステップＳ２７２の所有権の確認において、機器ＩＤが同じでなく他の機器が所有権を持っているときには、ステップＳ２７７に進んで設定動作そのものを中止する。
この図１２のフローチャートのような手順である図１１のステップＳ２６５の処理において、全て設定できたときにはステップＳ２６６の処理に進み、設定に失敗したときにはステップＳ２６８の処理に進む。
ステップＳ２６６では、インボーカは、自分のアッパーポータルＩＤレジスタからアッパーポータルＩＤを読み、自分のマックスバスＩＤレジスタの内容をアッパーポータルのマックスバスＩＤレジスタに書き込む。ただし、その前に相手のオーナＥＵＩレジスタの内容が変っていないか確認する。この確認の手順は次の通りである。
（１）アッパーポータルのオーナＥＵＩレジスタの値を読む。
（２）自分のＥＵＩの値と比べ、等しければ処理を続け、そうでなければ中止する。
（３）アッパーポータルのマックスバスＩＤレジスタに自分のマックスバスＩＤレジスタの値を書く。
このステップＳ２６６の処理後はステップＳ２６７に進み、処理を終了する。一方、ステップＳ２６８では、設定動作そのものを中止し、結果も通知しない。
次に、図１３のフローチャートを用いてブリッジコンフィギュレーションの手順を説明する。
この図１３において、ステップＳ２８１では、ブリッジコンフィギュレーションの要請を受け、その動作を開始する。そして、ステップＳ２８２で、同じブリッジを構成する他のポータルの設定を開始する。このステップＳ２８２における他のポータルの設定の手順を図１４にフローチャートとして表す。
この図１４において、ステップＳ２９０で、所有権獲得処理を開始する。このステップＳ２９０の後は、ステップＳ２９１の処理に進む。ステップ２９１では、オーナＥＵＩレジスタの値（機器ＩＤ）を読み、自分のオーナＥＵＩレジスタの機器ＩＤと比較する。自分の機器ＩＤが強い（勝った）ときにはステップＳ２９２の処理に進む。
ステップＳ２９２では、自分の機器ＩＤをオーナＥＵＩレジスタへ書きこむ。これにより、所有権は獲得されたことになる。そして、ステップＳ２９３で、ポータルに対して各レジスタの設定を行う。具体的には、ポータルコントロールレジスタのｒｔｅフィールドに３を書き込み、ルーチングバウンズレジスタのローアバウンドレジスタにマックスバスＩＤの値を書き込む。次に、そのポータルにバスコンフィギュレーションを要請するため、以下のようにレジスタを設定する。すなわち、アッパーポータルＩＤレジスタへ自分のノードＩＤを書き込み、マックスバスＩＤレジスタへ自分のマックスバスＩＤレジスタの値を書き込み、ローカルバスＩＤレジスタのバスＩＤフィールドに、ポータルが自分のマックスバスＩＤレジスタの値を書きこむ。
次に、ステップＳ２９４で、自分のマックスバスＩＤレジスタの値が更新されるまで待機する。その後、ステップＳ２９５で、ルーチングバウンズレジスタのアッパーバウンドフィールドに自己のマックスバスＩＤレジスタの値を書く。そして、ステップＳ２９６で、処理を終了し、元の処理に戻る。
ステップＳ２９１で機器ＩＤが同じときには、ステップＳ２９７の処理に進む。機器ＩＤが同じとなるのは、ネットワークがループ状になっている場合に起こり、従ってステップＳ２９７ではループになっていると判断する。そして、ステップＳ２９８で、図１３のステップＳ２８３に進む。
ステップＳ２９１で自分の機器ＩＤが弱い（負けた）ときには、ステップＳ２９９の処理に進む。このステップＳ２９９では、設定を中止する。
この図１４のフローチャートのような手順である図１３のステップＳ２８２の処理の後は、図１３のステップＳ２８３，Ｓ２８４，Ｓ２８６のいずれかの処理に進む。ステップＳ２８３では、自己のポータルコントロールレジスタのｒｔｅフィールドの値を０にする（これはポータル間の接続を切る事に相当する）。
ステップＳ２８４では、書き込まれたマックスバスＩＤフィールドの値をアッパーポータルのマックスバスＩＤレジスタへ書き込む。その前に相手のオーナＥＵＩレジスタの内容が変っていないか確認する。この場合の手順は以下のとおりである。
（１）アッパーポータルのオーナＥＵＩレジスタの値を読む。
（２）自分のＥＵＩの値と比べ、等しければ処理を続け、そうでなければ中止する。
（３）アッパーポータルのマックスバスＩＤレジスタに自分の値を書く。
このステップＳ２８４の処理後のステップＳ２８５では、処理を正常に終了する。一方、ステップＳ２８６では、設定動作そのものを中止する。
図１５Ａ〜Ｆは、第２のブリッジマネージャ決定方法における処理例を時系列順に説明する図である。この例は、５つのブリッジＢ１〜Ｂ５が存在するネットワークにおいて、２つのブリッジマネージャ候補から設定が行われた場合の処理例である。
図１５Ａに示すように、Ｂ１は、上位からバスコンフィギュレーションの要請を受けて、Ｂ２〜Ｂ５に設定パラメータ（丸印）を通知する。図１５Ｂに示すように、Ｂ１は、Ｂ３の設定を開始する。図１５Ｃに示すように、Ｂ２は上位からブリッジコンフィギュレーションの要請を受け、上位から通知された設定パラメータ（三角印）と、Ｂ１から通知されていた設定パラメータを比較する。比較の結果、設定パラメータ（三角印）が選択される。一方、Ｂ３は、設定パラメータ（丸印）を用いて下位のバスを設定する。図１５Ｄに示すように、Ｂ２は、Ｂ１，Ｂ３〜Ｂ５に設定パラメータ（三角印）を通知する。図１５Ｅにおいて、Ｂ２は、Ｂ５の設定を開始する。Ｂ３には下位のバスから設定の結果が通知される。図１５Ｆに示すように、Ｂ３は、既にＢ２の上位から設定されているので、Ｂ３の下位のバスから通知された設定の結果を処理しない（Ｂ１に通知しない）。
以上説明したように、ポータル内の一つのパラーメータ（機器ＩＤ）に基づき、第１および第２のブリッジマネージャ決定方法により、複数存在するブリッジマネージャ候補から一つのブリッジマネージャが自動的に選択される。
次に、上述した機能の高いブリッジブリッジマネージャ候補をブリッジマネージャとして選択する場合について説明する。これを実現するため、新たにレベルという指標を導入し、各ポータルに自分を管理するブリッジマネージャのレベルを記憶する領域（ブリッジマネージャレベルレジスタ）を設ける。
また、例えば２つのブリッジマネージャ候補がネットワークの構成の作業中にぶつかりあった場合には、まず上記レベルの比較によってブリッジマネージャ候補同士の機能の優劣を決定し、さらにこれら２つのブリッジマネージャ候補のレベルが同じ場合には、各ブリッジマネージャ候補の機器毎に固有の値を持っている機器ＩＤを使用して、何れか一方を選択するというような決定手法を採用する。
さらに、２つのレジスタを複数の機器がアクセスしたような場合、２つのレジスタの値を順次的に読んできたとしても、それが１つの機器によって書かれたという保証はなく、正しい情報のやりとりができなくなるおそれがあるので、設定にかかわるレジスタ群に対してアクセス権を表すフラグを、ポータルコントロールレジスタに新しく設けることによりそれを回避可能にする。
また、上述した第１および第２のブリッジマネージャの決定方法（図３、図４参照）を実現するため、図１、図２に示した構成では、以下のような情報を記憶するレジスタをポータルのＲＡＭの中に設けるようにしている。
すなわち、ＲＡＭ内に設けられるレジスタとして、
（１）ポータルを制御する諸情報を記憶するレジスタ（ポータルコントロールレジスタ：PORTAL CONTROL register）
（２）自分を設定したブリッジマネージャのレベルを記憶するレジスタ（ブリッジマネージャレベルレジスタ：BRIDGE MANAGER LEVEL register）
（３）自分の設定したブリッジマネージャの機器ＩＤを記憶するレジスタ（オーナＥＵＩレジスタ：OWNER EUI register）
（４）パケットのルーティングを記憶するレジスタ（ルーチングバウンズレジスタ：ROUTING BOUNDS register）
（５）現在の最大バスＩＤを記憶するレジスタ（マックスバスＩＤレジスタ：MAX BUS ID register）
（６）自分の繋っているバスのバスＩＤを記憶するレジスタ（ローカルバスＩＤレジスタ：LOCAL BUS ID register）
（７）自分に設定を依頼したノードのノードＩＤを記憶するレジスタ（アッパーポータルＩＤレジスタ：UPPER PORTAL ID register）
を設けている。
上記ポータルコントロールレジスタやオーナＥＵＩレジスタは、既存のレジスタであるが、前者は本実施の形態でその内部に新たにビジィフラグ（busy flag）を示す領域（ビジィフィールド：busy field）を定義し、後者は今まで使われかたが示されていなかったレジスタである。
ルーチングバウンズレジスタも既存のものであるが、本実施の形態のアルゴリズムの中で使用される。このルーチングバウンズレジスタには、アッパーバウンド（UPPER_BOUND）とローアバウンド（LOWER_BOUND）という二つの値を保持する。
ブリッジマネージャレベルレジスタは、前記レベルを保持する。マックスバスＩＤレジスタ、ローカルバスＩＤレジスタ、アッパーポータルＩＤレジスタは、第２のブリッジマネージャ決定方法においてポータル間の通信に使用されるもので、本実施の形態では新規に設置したものである。なお、第１のブリッジマネージャ決定方法では必要はない。
それらの各レジスタの構成例について説明する。なお、以下の説明では、本実施の形態の機能説明に必要な部分のみを述べ、他の部分についてはその説明を省略する。
図１６には、ポータルコントロールレジスタのフォーマットを示す。この図１６において、「ｂ」はビジィフィールド（busy field）を表し、このビジィフィールドはコンフィギュレーション（configuration）時に必要なレジスタ群のアクセスを制御する。このビジィフィールドの値が１の場合（ビジィフラグが立った場合）は、当該ポータルのオーナＥＵＩレジスタ、ブリッジマネージャレベルレジスタ、マックスバスＩＤレジスタ、アッパーポータルＩＤレジスタ、ローカルバスＩＤレジスタへの書き込みをしてはならないし、また、読み込まれた値が正しい保証はない。なお、このビジィフィールドの初期値は０である。
図１７には、アッパーポータルＩＤレジスタのフォーマットを示す。この図１７において、当該アッパーポータルＩＤのアッパーポータルＩＤ（upper_portal_ID）フィールドは、上位のポータル（つまりコンフィギュレーションを要請したポータル）を表している。バス（またはブリッジ）コンフィギュレーションの終了時にマックスバスＩＤ（MAX_BUS_ID）を返すための宛先として用いられる。
図１８には、ブリッジマネージャレベルレジスタのフォーマットを示す。この図１８において、図中のレベル（level）フィールドはブリッジマネージャの機能を表わすフィールドである。競合の解消の際には先ずこれが比較される。
図１９には、マックスバスＩＤレジスタのフォーマットを示す。この図１９において、当該マックスバスＩＤレジスタはマックスバスＩＤ（MAX_BUS_ID）のやり取りに使われる。ここへの書き込みは、バスコンフィギュレーション中はリストのチェックとポータルの設定の開始のトリガとなり、また、ブリッジコンフィギュレーション中はブリッジコンフィギュレーションの終了のトリガとなる。
図２０には、ローカルバスＩＤレジスタのフォーマットを示す。この図２０において、当該ローカルバスＩＤレジスタは、バスコンフィギュレーションとブリッジコンフィギュレーションの開始のトリガとして使われる。この領域に書きこみを受けた場合、ポータルコントロールレジスタのｒｔｅフィールドの値が２なら、ブリッジのコンフィギュレーションが開始され、ポータルコントロールレジスタのｒｔｅフィールドの値が３なら、バスのコンフィギュレーションが開始される。
次に、ブリッジマネージャのレベルについて説明する。
ブリッジマネージャのレベルとは、ブリッジマネージャ候補としての機能を有するノード同士で、その「機能」や「処理速度」に対する統一された評価基準を与えるための指標である。例えばブリッジマネージャのレベルを１６ビットで表すことにするならば、その上位６ビットをレベルの機能として、
レベル１では基本的なネットワークの構成機能
レベル２ではレベル１＋ネットワークの再構成機能
レベル３ではレベル２＋アイソクロノスルーチング（Isochronous routing）機能
・
・
のように表し、また、下位１０ビットで処理速度等を記述するようなことを行う。
ブリッジマネージャは、現在の所はネットワークコンフィギュレーションや、バスリセットの処理といった比較的単純な機能しか考えられていない。しかし、将来的には、それぞれのバスの速度を考慮したネットワークの再構成を行う機能や、アイソクロナス（Isochronous：同期）パケットのルーティングを行う機能のように、様々な機能を持ったものが現れる可能性がある。上述したブリッジマネージャレベルレジスタのレベルの値の大小を比較する事で、複数のブリッジマネージャ候補のうちで何れがブリッジマネージャにふさわしいか判断する事が可能となる。
次に、上述したレベルを用いることで、例えば２つのブリッジマネージャ候補のうちのいずれか一方をブリッジマネージャとして選択する際の動作について説明する。
２つのブリッジマネージャの候補が存在する場合とは、設定しようとしたポータルが他の機器（ブリッジマネージャ候補）によって既に設定されている（オーナＥＵＩが初期値でなく、他の機器の機器ＩＤが書かれているという状態）場合である。
例えば、設定しようとしたポータルが他の機器（ブリッジマネージャ候補）によって既に設定されていることを、あるブリッジマネージャ候補が検出したとき、当該ブリッジマネージャ候補は、まずそのポータルのブリッジマネージャレベルレジスタの値を読み、これを自己のブリッジマネージャレベルレジスタのレベルと比較する。この比較の結果、優劣の判断がつかない場合（すなわち同じレベルである場合）は、さらにそのポータルのオーナＥＵＩレジスタの値を読み、自己のオーナＥＵＩレジスタの機器ＩＤと比較する。
ただし、機器ＩＤとは、メーカのＩＤが上位に含まれているものであるため、当該機器ＩＤを単純に比較しただけでは、そのメーカのＩＤによって比較の優劣が決まってしまう。したがって、当該機器ＩＤの比較の際には、その機器ＩＤの値を単純に比較するのではなく、例えば、機器ＩＤの最下位ビット（ＬＳＢ）側と最上位ビット（ＭＳＢ）側を入れ替える（つまり機器ＩＤのビット列を逆から読む）ようにしたり、さらにビットを反転させるようにしたり、また、予め規定された方法でシャッフルする等といった手法を用いるようにすることが望ましい。
次に、実際にネットワークを構成する際の流れを説明する。
まず、ブリッジマネージャ上のプログラムが全てのポータルの設定を行うようなブリッジマネージャ集中型のネットワークの設定手法、すなわち上述した第１のブリッジマネージャ決定方法におけるネットワーク構成の流れを以下に説明する。
この第１のブリッジマネージャ決定方法の場合の大まかな流れとして、まず、ブリッジマネージャ候補は、内部変数であるマックスバスＩＤ（MAX_BUS_ID）を０にし、次に、ブリッジマネージャ候補は、自己が接続されているバスのコンフィギュレーションを開始（後述のバスコンフィギュレーション）し、次に、バスコンフィギュレーションが終わったならば（この時点で全てのポータルの設定は終了している）、自分をブリッジマネージャとする。ただし、当該バスコンフィギュレーションの途中で処理が終わったときには、ブリッジマネージャ候補を辞める。このようにブリッジマネージャになったならば、ネットワーク全体にブリッジマネージャである自分のノードＩＤ（NODE_ID）を通知して処理を終了する。
上記バスコンフィギュレーションの手順は、図２１のフローチャートのようになる。
この図２１において、ステップＳ１で、バスコンフィギュレーションを開始する。そして、ステップＳ２で、当該ブリッジマネージャ候補が接続されているローカルバス内のポータルのリストを作り、機器ＩＤ順に並べる。なお、この機器ＩＤ順のリストは、順序を固定するための一例であり、他の順序でリストを作ることも可能である。
次に、ステップＳ３で、ブリッジマネージャ候補はそのリストの順番に従い、まずローカルバスの全てのポータルの所有権の獲得を試みる。このステップＳ３のときのブリッジマネージャ候補におけるポータルの所有権獲得動作は、図２２のフローチャートのような手順となる。
この図２２において、ステップＳ２１で、所有権獲得処理を開始する。このステップＳ２１の後は、ステップＳ２２からステップＳ２３の処理に進む。ここで、ステップＳ２２において、獲得しようとするポータルのポータルコントロールレジスタ内にあるビジィフィールドの値が０ならば、他の機器がアクセスしていない状況を示している。ステップＳ２２およびステップＳ２３では、自分がアクセスするために、ＩＥＥＥ１３９４のロックトランザクションのコンペア及びスワップ（compare & swap）処理を用いて、０から１への書き換えが成功するまで当該コンペア及びスワップ処理を繰り返す。
ステップＳ２４では、獲得しようとするポータルのブリッジマネージャレベルレジスタの値を読み、自分のブリッジマネージャレベルレジスタの値と比較する。この比較において、自分のレベルの方が高いときにはステップＳ２５の処理に進み、レベルが同じであるときにはステップＳ２６の処理に進み、自分のレベルの方が低いときにはステップＳ３０の処理に進む。
ステップＳ２５では、自分のレベルを、獲得しようとするポータルのブリッジマネージャレベルレジスタに書き込み、ステップＳ２６の処理に進む。ステップＳ２６では、獲得しようとするポータルの、オーナＥＵＩレジスタの値（機器ＩＤ）を読み、自分のオーナＥＵＩレジスタの機器ＩＤと比較する。この比較において、自分の機器ＩＤが強い（勝った）ときにはステップＳ２７の処理に進み、自分の機器ＩＤが弱い（負けた）ときにはステップＳ３０の処理に進む。なお、このステップＳ２６では、機器ＩＤそのものの比較をせず、先に挙げたようなビット列の逆読みやビット反転、シャフル等の手法でどちらが設定を続けるかを決定してもよい。
ステップＳ２７では、自分の機器ＩＤをポータルのオーナＥＵＩレジスタへ書きこむ。これで所有権は獲得されたことになる。そして、ステップＳ２８で、獲得したポータルのビジィフィールドの値を０に戻してアクセス権を解放し、ステップＳ２９で、所有権の獲得動作を正常に終了する。一方、ステップＳ３０では、獲得できなかったポータルのビジィフィールドの値を０に戻してアクセス権を解放する。その後、ステップＳ３１で、設定動作そのものの中止を行う。これによりブリッジマネージャ候補から外れることになる。
この図２２のフローチャートのような手順である図２１のステップＳ３の処理の後は、図２１のステップＳ４の処理に進む。ステップＳ４では、マックスバスＩＤの値を全てのノードのノードＩＤレジスタのバスＩＤフィールドに書き込む。この際には、ＩＥＥＥ１３９４におけるライトトランザクションのブロードキャストを使用する。
次に、ステップＳ５で、ブリッジマネージャ候補はリストの順番に従い、リスト中のすべてのポータルに対して設定を行う。具体的には、図２３のフローチャートのような手順となる。
この図２３において、ステップＳ４１で、ポータルの設定処理を開始する。このステップＳ４１の処理の後はステップＳ４２からステップＳ４３の処理に進む。ここで、設定しようとするポータルのポータルコントロールレジスタ内にあるビジィフィールドの値が０ならば、他の機器がアクセスしていない状況を示す。ステップＳ４２及びステップＳ４３では、自分がアクセスするために、ＩＥＥＥ１３９４のロックトランザクションのコンペア及びスワップ処理を用いて、０から１への書き換えが成功するまで当該コンペア及びスワップ処理を繰り返す。
次に、ステップＳ４４で、設定しようとするポータルのオーナＥＵＩレジスタの値（機器ＩＤ）を読み、自分のオーナＥＵＩレジスタの機器ＩＤと同じかどうか調べる。このステップＳ４４において、同じであるときにはステップＳ４５の処理に進み、同じでない、すなわち他の機器が所有権を持っているときにはステップＳ５０の処理に進む。
ステップＳ４５では、ポータルに対して各レジスタの設定を行う。また、自分の持つ内部変数のマックスバスＩＤの値を１増やし、ポータルコントロールレジスタのｒｔｅフィールドに２を書き込む。さらに、ルーチングバウンズレジスタのローアバウンド（LOWER BOUND）フィールドにマックスバスＩＤ（max_bus_ID）の値を書く、等といったＩＥＥＥ１３９４のネットワークを構成する際に必要な情報を設定する。
そして、ステップＳ４６で、設定の終ったポータルのポータルコントロールレジスタのビジィフィールドの値を０に戻してアクセス権を解放した後、ステップＳ４７の処理に進む。ステップＳ４７では、設定の終ったポータルの属するブリッジを設定する。ここでは、後述するブリッジコンフィギュレーションの手順を実行する。
次に、ステップＳ４８で、ルーチングバウンズレジスタのアッパーバウンドフィールドにマックスバスＩＤの値を書き、ステップＳ４９で、ポータルの設定処理を終了し、元の処理に戻る。
一方、ステップＳ５０では、設定に失敗したポータルのポータルコントロールレジスタのビジィフィールドの値を０に戻し、アクセス権を解放する。その後、ステップＳ５１で、設定動作そのものの中止し、ブリッジマネージャ候補から外れる。
この図２３のフローチャートのような手順である図２１のステップＳ５の処理の後は、図２１のステップＳ６の処理に進む。ステップＳ６では、正常にバスコンフィギュレーションを完了する。
ステップＳ３で全てのポータルの所有権を獲得できないとき、あるいはステップＳ５で全てのポータルの設定ができないときは、ステップＳ７に進んで、設定を中止し、ブリッジマネージャ候補から外れる。
次に、ブリッジコンフィギュレーションの手順を図２４のフローチャートを用いて説明する。
ここで、ブリッジにはポータルが２個で、片方は既に設定が終わっている（以下の説明では、これをポータルＡと呼ぶことにする）。したがって、もう一方のポータルだけを設定すればよいので、所有権の獲得と設定を一度に行う。
図２４において、ステップＳ１１で、ブリッジコンフィギュレーションを開始する。このステップＳ１１の後に、ステップＳ１２の処理に進む。ステップＳ１２では、ブリッジ内の設定されていない片方のポータルの設定を開始する。このステップＳ１２のときの手順は図２５のフローチャートに示す通りとなる。
この図２５において、ステップＳ６１ではポータルの所有権獲得を開始する。このステップＳ６１の後は、ステップＳ６２からステップＳ６３の処理に進む。このステップＳ６２およびステップＳ６３では、獲得しようとするポータルのポータルコントロールレジスタ内にあるビジィフィールドに対して、ＩＥＥＥ１３９４のロックトランザクションのコンペア及びスワップ処理を用いて、０から１への書き換えが成功するまで当該コンペア及びスワップ処理を繰り返す。
次に、ステップＳ６４では、獲得しようとするポータルの、ブリッジマネージャレベルレジスタの値を読み込み、自分のブリッジマネージャレベルレジスタのレベルと比較する。このステップＳ６４の比較において、自分のレベルの方が高いときにはステップＳ６５の処理に進み、レベルが同じであるときにはステップＳ６６の処理に進み、自分のレベルの方が低いときにはステップＳ７５の処理に進む。
ステップＳ６５では、自分のレベルを、獲得しようとするポータルのブリッジマネージャレベルレジスタに書きこむ。このステップＳ６５の処理後はステップＳ６６の処理に進む。ステップＳ６６では、獲得しようとするポータルのオーナＥＵＩレジスタの値（機器ＩＤ）を読み込み、自分のオーナＥＵＩレジスタの機器ＩＤと比較する。この比較において、自分の機器ＩＤが強い（勝った）ときにはステップＳ６７の処理に進み、自分の機器ＩＤと同じときにはステップＳ７３の処理に進み、自分の機器ＩＤが弱い（負けた）ときにはステップＳ７５の処理に進む。なお、このステップＳ６６では、機器ＩＤそのものの比較をせず、先に挙げたような手法でどちらが設定を続けるかを決定してもよい。
ステップＳ６７では、自分の機器ＩＤをオーナＥＵＩレジスタへ書きこむ。これで所有権は獲得されたことになる。そして、ステップＳ６８で、ポータルに対して各レジスタの設定を行う。すなわち、ポータルコントロールレジスタのｒｔｅフィールドに３を書きこむ。さらに、ルーチングバウンズレジスタのローアバウンド（LOWER BOUND）フィールドにマックスバスＩＤ（max_bus_ID）の値を書く、等といったＩＥＥＥ１３９４のネットワークを構成する際に必要な情報を設定する。
次に、ステップＳ６９で、獲得したポータルのビジィフィールドの値を０に戻してアクセス権を解放し、その後にステップＳ７０の処理に進む。ステップＳ７０では、設定の終ったポータルの属するバスを設定する。ここでは、バスコンフィギュレーションの手順を実行する。その後、ステップＳ７１で、ルーチングバウンズレジスタのアッパーバウンドフィールドにマックスバスＩＤの値を書き、ステップＳ７２で、処理を正常に終了する。
一方、ステップＳ６６において機器ＩＤが同じとなるのは、後述するようにネットワークがループ状になっている場合に起こり、従ってステップＳ７３ではループになっていると判断する。そして、ステップＳ７４で、ポータルのビジィフィールドの値を０に戻し、アクセス権を解放する。このステップＳ７４の後は、ステップＳ７８にて図２４のステップＳ１３の処理に進む。
また、ステップＳ７５では、獲得できなかったポータルのビジィフィールドの値を０に戻して、アクセス権を解放する。その後に、ステップＳ７６で、設定を中止し、ブリッジマネージャ候補から外れる。
この図２５のフローチャートのような手順である図２４のステップＳ１２の処理の後は、図２４のステップＳ１３，Ｓ１４，Ｓ１５のいずれかの処理に進む。テップＳ１３では、先に設定されていたポータルＡの、ポータルコントロールレジスタのｒｔｅフィールドの値を０にする（これはポータル間の接続を切る事に相当する）。ステップＳ１４では、ポータルが設定されたので、ブリッジコンフィギュレーションの処理を終了する。一方、ステップＳ１５では、設定動作そのものを中止する。
次に、各ポータルがそれぞれ所定の動作をするといった、分散型のネットワークの設定手法、すなわち前記第２のブリッジマネージャ決定方法におけるネットワーク構成の流れを以下に説明する。
この第２のブリッジマネージャ決定方法の場合の大まかな流れとして、まず、ポータルは、ビジィフィールドが変化し、各レジスタが変更された場合には、ビジィフィールドの値が１から０へ変更されたことを検出し、それに基づいて各レジスタの変更内容を調べ、その後、当該変更されたレジスタの種類と値、そして自分の状態、それらから判断して自分の状態を遷移する。
ブリッジマネージャとなる機能を有するノードは以下のように設定動作を開始する。
（１）自分のマックスバスＩＤレジスタの値を０にする。
（２）自分のバスに対してバスコンフィギュレーションの手順を実行する。
（３）バスコンフィギュレーションが正常に終了したならば、ネットワーク全体に自分のノードＩＤをブリッジマネージャのＩＤとして通知する。
（４）その後、設定動作を終了する。
なお、ポータルに対する設定の要請という言葉は、次の２種類の場合に使われる。すなわち、ブリッジコンフィギュレーションの要請と、バスコンフィギュレーションの要請である。これらは結局、決められたレジスタへの書き込みをする事により、書き込まれたポータルが、何を要請されたか判断してそれらの処理を開始する。
設定をポータルに要請した機器は、ポータルから結果が戻るまで待機する事になる。結果が戻ってきたかどうかは、その機器のマックスバスＩＤレジスタがポータルによって変更された事で判断する。ここで、結果が戻ってこないという事は、設定を要請したポータルの先で、設定が中止されたという事であり、ブリッジマネージャとしてよりふさわしい候補が存在する場合に起こる。
なお、以降の説明で、なぜ相手のビジィフラグの前に、自分のビジィフラグを操作しているのかというと、これは相手を設定している最中に自分のレジスタが書き換えられて、違う状態に自分が遷移してしまう事をさけるためである。何故このような手順が必要かというと、例えばあるポータルのビジィフラグを１にセットした機器が、その読み書きの途中で状態が遷移してしまった場合、そのビジィフラグのセットがなされたポータルのビジィフラグが１のままになってしまい、これを０に戻すものがいなくなるからである。
バスコンフィギュレーションとブリッジコンフィギュレーションの手順は、図２６と後述の図２８に示す通りであり、第１のブリッジマネージャ決定方法の場合とほぼ変化はないが、設定動作を行うものが異なる。
図２６に示すバスコンフィギュレーションのフローチャートについて説明する。なお、以下の説明では、バスの設定の要請を受けた機器（ポータル）の事をここでは特にインボーカ（invoker）と呼び、他のポータルと区別することとする。
この図２６において、ステップＳ８１で、バスの設定を開始する。このステップＳ８１の後に、ステップＳ８２の処理に進む。ステップＳ８２では、インボーカは、当該インボーカが存在するローカルバス内のポータルのリストを作り、機器ＩＤ順に並べる。なお、この機器ＩＤ順のリストは順序を固定するための一例であり、他の順序でリストを作ることも可能である。
次に、ステップＳ８３で、インボーカはそのリストの順番に従い、先ず全てのポータルの所有権を獲得する。このとき、インボーカは各ポータルに対して以下のシーケンスを実行する。
（１）自分のポータルコントロールレジスタのビジィフィールドの値を１にする。
（２）前記第１のブリッジマネージャ決定方法と同様の方法を実行する（図２２のフローチャートの処理を実行する）。
（３）自分のビジィフィールドの値を０にする。
次に、ステップＳ８４では、ローカルバスＩＤレジスタに記録されているバスＩＤを自分の属するバスにブロードキャスト（broadcast）する。
次に、ステップＳ８５で、インボーカは先ず自分のローカルバスＩＤレジスタ中のバスＩＤフィールドを読み、その値を自分のマックスバスＩＤレジスタに書きこむ。これにより、インボーカはリストの順にもう一度所有権を確認しながらポータルの設定を行ってゆくという状態になる。
このステップＳ８５の処理のとき、インボーカは各ポータルに対して図２７のフローチャートの処理を実行する。この図２７において、ステップＳ１０１で、ポータルの設定処理を開始する。ステップＳ１０１の処理の後に、ステップＳ１０２の処理に進む。ステップＳ１０２では、自分のビジィフィールドの値を１にする。
ステップＳ１０２の後はステップＳ１０３からステップＳ１０４の処理に進む。ここで、設定しようとするポータルのポータルコントロールレジスタ内にあるビジィフィールドの値が０ならば、他の機器がアクセスしていない状況を示す。ステップＳ１０３及びステップＳ１０４では、自分がアクセスするために、ＩＥＥＥ１３９４のロックトランザクションのコンペア及びスワップ処理を用いて、０から１への書き換えが成功するまで当該コンペア及びスワップ処理を繰り返す。
次に、ステップＳ１０５で、設定しようとするポータルのオーナＥＵＩレジスタの値（機器ＩＤ）を読み、自分のオーナＥＵＩレベルの機器ＩＤと同じかどうか調べる。このステップＳ１０５において、同じであるときにはステップＳ１０６の処理に進み、同じでない、すなわち他の機器が所有権を持っているときにはステップＳ１１２の処理に進む。
ステップＳ１０６では、ポータルに対してレジスタの設定を行う。まず、ＩＥＥＥ１３９４のネットワークを構成するにあたり必要な情報を設定する。具体的には、ポータルコントロールレジスタのｒｔｅフィールドに２を書き込み、ルーチングバウンズレジスタのローアバウンドレジスタに自己のマックスバスＩＤレジスタの値に１を加えた値を書く。次に、そのポータルにブリッジコンフィギュレーションを要請するため、以下のようにレジスタを設定する。すなわち、アッパーポータルＩＤレジスタへ自分のノードＩＤを書き込み、マックスバスＩＤレジスタへ自分のマックスバスＩＤレジスタの値に１を加えた値を書き込み、ローカルバスＩＤレジスタのバスＩＤフィールドに、ポータルが属するバスのバスＩＤを書き込む。
次に、ステップＳ１０７で、設定の終ったポータルのポータルコントロールレジスタのビジィフィールドの値を０に戻し、アクセス権を解放し、次のステップＳ１０８では、自分のビジィフィールドの値を０に戻す。そして、ステップＳ１０９で、自分のマックスバスＩＤレジスタの値が更新されるまで待機する。その後、ステップＳ１１０で、ルーチングバウンズレジスタのアッパーバウンドフィールドにマックスバスＩＤの値を書き、ステップＳ１１１で、処理を終了し、元の処理に戻る。
一方、ステップＳ１１２では、設定に失敗したポータルのポータルコントロールレジスタのビジィフィールドの値を０に戻し、アクセス権を解放する。その後、ステップＳ１１３で、設定動作そのものの中止する。
この図２７のフローチャートのような手順である図２６のステップＳ８５の処理において、全て設定できたときには図２６のステップＳ８６の処理に進み、設定に失敗したときには図２６のステップＳ８８の処理に進む。
ステップＳ８６では、インボーカは自分のアッパーポータルＩＤレジスタからアッパーポータルＩＤを読み、自分のマックスバスＩＤレジスタの内容をアッパーポータルのマックスバスＩＤレジスタに書き込む。ただし、その前に相手のオーナＥＵＩレジスタの内容が変っていないか確認する。この確認の手順は次の通りである。
（１）自分のビジィフィールドの値を１にする。
（２）アッパーポータルのビジィフィールドの、０から１へのロックを、成功するまで続ける。
（３）アッパーポータルのオーナＥＵＩレジスタの値を読む。
（４）自分のＥＵＩの値と比べ、等しければ処理を続け、そうでなければ中止する。
（５）アッパーポータルのマックスバスＩＤレジスタに自分のマックスバスＩＤレジスタの値を書く。
（６）相手のビジィフィールドの値を０にする。
（７）自分のビジィフィールドの値を０にする。
このステップＳ８６の処理後は、ステップＳ８７に進み、処理を終了する。
一方、ステップＳ８３で全て獲得できないとき、あるいはステップＳ８５で全て設定できないときは、ステップＳ８８の処理に進む。このステップＳ８８では、設定動作そのものを中止し、結果も通知しない。
次に、図２８のフローチャートを用いてブリッジコンフィギュレーションの手順を説明する。この図２８において、ステップＳ９１で、ブリッジコンフィギュレーションの要請を受け、その動作を開始する。このステップＳ９１の後に、ステップＳ９２の処理に進む。ステップＳ９２では、同じブリッジを構成する他のポータルの設定を開始する。このステップＳ９２における他のポータルの設定の手順を図２９にフローチャートとして表す。
この図２９において、ステップＳ１２１で、所有権の獲得処理を開始する。このステップＳ１２１の後にステップＳ１２２の処理に進む。ステップＳ１２２では、自分のビジィフィールドの値を１にする。このステップＳ１２２の後は、ステップＳ１２３からステップＳ１２４の処理に進む。このステップＳ１２３およびステップＳ１２４では、獲得しようとするポータルのポータルコントロールレジスタ内にあるビジィフィールドに対して、ＩＥＥＥ１３９４のロックトランザクションのコンペア及びスワップ処理を用いて、０から１への書き換えが成功するまで当該コンペア及びスワップ処理を繰り返す。
次に、ステップＳ１２５で、獲得しようとするポータルのブリッジマネージャレベルレジスタの値を読み込み、自分のブリッジマネージャレベルレジスタのレベルと比較する。このステップＳ１２５の比較において、自分のレベルの方が高いときにはステップＳ１２６の処理に進み、レベルが同じであるときにはステップＳ１２７の処理に進み、自分のレベルの方が低いときにはステップＳ１３９の処理に進む。
ステップＳ１２６では、自分のレベルを、獲得しようとするポータルのブリッジマネージャレベルレジスタに書きこむ。このステップＳ１２６の処理後はステップＳ１２７の処理に進む。ステップＳ１２７では、獲得しようとするポータルのオーナＥＵＩレジスタの値を読み込み、自分のオーナＥＵＩレジスタの機器ＩＤと比較する。この比較において、自分の機器ＩＤが強い（勝った）ときにはステップＳ１２８の処理に進み、自分の機器ＩＤと同じときにはステップＳ１３５の処理に進み、自分の機器ＩＤが弱い（負けた）ときにはステップＳ１３９の処理に進む。なお、このステップＳ１２７では、機器ＩＤそのものの比較をせず、先に挙げたような手法でどちらが設定を続けるかを決定してもよい。
ステップＳ１２８では、自分の機器ＩＤをオーナＥＵＩレジスタへ書きこむ。これにより、所有権は獲得されたことになる。次に、ステップＳ１２９で、ポータルに対してレジスタの設定を行う。まず、ＩＥＥＥ１３９４のネットワークを構成するにあたり必要な情報を設定する。具体的には、ポータルコントロールレジスタのｒｔｅフィールドに３を書き込み、ルーチングバウンズレジスタのローアバウンドレジスタにマックスバスＩＤの値を書き込む。次に、そのポータルにバスコンフィギュレーションを要請するため、以下のようにレジスタを設定する。すなわち、アッパーポータルＩＤレジスタへ自分のノードＩＤを書き込み、マックスバスＩＤレジスタへ自分のマックスバスＩＤレジスタの値を書き込み、ローカルバスＩＤレジスタのバスＩＤフィールドに、ポータルが自分のマックスバスＩＤレジスタの値を書きこむ。
次に、ステップＳ１３０で、獲得したポータルのビジィフィールドの値を０に戻し、アクセス権を解放し、ステップＳ１３１で、自分のビジィフィールドの値を０にする。そして、ステップＳ１３２で、自分のマックスバスＩＤレジスタの値が更新されるまで待機する。その後、ステップＳ１３３で、ルーチングバウンズレジスタのアッパーバウンドフィールドに自己のマックスバスＩＤレジスタの値を書き、ステップＳ１３４で、処理を終了し、元の処理に戻る。
一方、ステップＳ１２７において機器ＩＤが同じとなるのは、ネットワークがループ状になっている場合に起こり、従ってステップＳ１３５ではループになっていると判断する。そして、ステップＳ１３６で、ポータルのビジィフィールドの値を０に戻してアクセス権を解放し、ステップＳ１３７で、自分のビジィフィールドの値を０に戻す。ステップＳ１３７の処理が終了した後は、ステップＳ１３８で、図２８のステップＳ９３の処理に進む。
また、ステップＳ１３９では、獲得できなかったポータルのビジィフィールドの値を０に戻してアクセス権を解放し、ステップＳ１４０で、自分のビジィフィールドの値を０に戻す。その後、ステップＳ１４１で、設定を中止する。
この図２９のフローチャートのような手順である図２８のステップＳ９２の処理の後は、図２８のステップＳ９３，Ｓ９４，Ｓ９６のいずれかの処理に進む。ステップＳ９３では、自己のポータルコントロールレジスタのｒｔｅフィールドの値を０にする（これはポータル間の接続を切る事に相当する）。
ステップＳ９４では、書き込まれたマックスバスＩＤフィールドの値をアッパーポータルのマックスバスＩＤレジスタへ書き込む。その前に相手のオーナＥＵＩレジスタの内容が変っていないか確認する。この場合の手順は以下のとおりである。
（１）自分のビジィフィールドの値を１にする。
（２）アッパーポータルのビジィフィールドの、０から１へのロックを、成功するまで続ける。
（３）アッパーポータルのオーナＥＵＩレジスタの値を読む。
（４）自分のＥＵＩの値と比べ、等しければ処理を続け、そうでなければ中止する。
（５）アッパーポータルのマックスバスＩＤレジスタに自分の値を書く。
（６）相手のビジィフィールドの値を０にする。
（７）自分のビジィフィールドの値を０にする。
このステップＳ９４の処理後のステップＳ９５では、処理を正常に終了する。一方、ステップＳ９６では、設定動作そのものを中止する。
以上説明したように、ブリッジのポータル内に、そのポータルを管理しているブリッジマネージャの機能を表す値を保持するためのレジスタを設け、また、ブリッジの設定に関する情報が書かれたレジスタ群へのアクセス権を示すフラグを持ち、それらのレジスタ群を複数の機器がアクセスする場合に、このフラグを利用してアクセスを行い、さらに、ブリッジマネージャ候補がネットワークを構成する際に、それらを利用して一意に機能の高い機器が最終的に選ばれるようにすることで、ブリッジマネージャの機能を比較することが可能となり、また、ポータルの設定のために読み書きが必要なレジスタが複数存在し、さらにそれらのレジスタを複数の機器が書き換えを試みる場合においても、機器間の競合をうまく解消する事ができ、複数のブリッジマネージャ候補のなかから、最も機能の高いものが常にブリッジマネージャとして選ばれるようになる。
なお、上述せずも、上述したような各フローチャートの処理を実現するためのプログラムデータは、例えば各種光ディスクや磁気ディスク等のディスク状記録媒体や、テープ状記録媒体により提供可能であり、また、各種通信回線を使用しても提供可能であり、各ノードにおいては当該プログラムデータをインストールあるいはダウンロードすることが可能である。
また、上述実施の形態においては、ブリッジマネージャレベルを比較し、同じであるときは設定パラメータ、例えば機器ＩＤを比較することでブリッジマネージャになるか否かを判断するものを示したが、機器ＩＤの代わり、あるいは機器ＩＤと共に動的に変化する値を用いるようにしてもよい。動的に変化する値としては、例えばバスの獲得数等の設定の進行情報やブリッジマネージャになってからの時間等が考えられる。ブリッジマネージャになってからの時間は、複数のネットワークを接続して、１つのネットワークを構成する場合等に使用できる。動的に変化する値を機器ＩＤと共に使用する場合には、例えばブリッジマネージャレベルが同じであるとき動的に変化する値を比較し、さらに動的に変化する値が同じであるときは機器ＩＤを比較することでブリッジマネージャになるか否かを判断することとなる。
また、上述実施の形態においては、図１に示すように、ブリッジマネージャ（ブリッジ管理機器）候補の数が２であるものを示したが、当然ながら、ブリッジマネージャ候補の数が３以上のＩＥＥＥシリアルバスネットワークシステムに対しても、この発明を同様に適用することができる。
また、上述実施の形態において、ブリッジは２つのポータルから構成されるものを示したが、３つ以上のポータルから構成されるブリッジ（以下、ブリッジＢ、と称する）も考えられる。このブリッジＢに関して、図８のフローチャートに示すブリッジコンフィギュレーション処理は、例えば図３０のフローチャートに示すように変更される。
この図３０において、ステップＳ３０１で、ブリッジコンフィギュレーションを開始する。このステップ３０１の後に、ステップＳ３０２の処理に進む。ステップＳ３０２では、当該ブリッジ内のポータルのリストを作り、機器ＩＤ順に並べる。なお、この機器ＩＤ順のリストは、順序を固定するための一例であり、他の順序でリストを作ることも可能である。
次に、ステップＳ３０３で、ブリッジマネージャ候補は、そのリストの順番に従い、まず全てのポータルの所有権の獲得を試みる。このポータルの所有権の獲得動作は、上述した図６のフローチャートのような手順となる。
次に、ステップＳ３０４で、ブリッジマネージャ候補はリストの順番に従い、リスト中のすべてのポータルに対して設定を行う。具体的には、例えば図７のフローチャートのような手順となる。ただし、図７のステップＳ２２３の動作は、図９のステップＳ２４４の動作に置き換えられる。
そして、ステップＳ３０４で全てのポータルの設定ができたとき、ステップＳ３０５で、処理を正常に終了する。一方、ステップＳ３０３で、全てのポータルの所有権を獲得できないとき、あるいはステップＳ３０４で、全てのポータルの設定ができないとき、ステップＳ３０６に進んで、設定動作そのものを中止する。
また、ブリッジＢに関して、図１３のフローチャートに示すブリッジコンフィギュレーション処理は、例えば図３１のフローチャートに示すように変更される。
この図３１において、ステップＳ３１１で、ブリッジコンフィギュレーションを開始する。このステップ３１１の後に、ステップＳ３１２の処理に進む。ステップＳ３１２では、当該ブリッジ内のポータルのリストを作り、機器ＩＤ順に並べる。なお、この機器ＩＤ順のリストは順序を固定するための一例であり、他の順序でリストを作ることも可能である。
次に、ステップＳ３１３で、そのリストの順番に従い、まず全てのポータルの所有権の獲得を試みる。このポータルの所有権の獲得動作は、上述した図６のフローチャートのような手順となる。
次に、ステップＳ３１４で、リストの順番に従い、リスト中のすべてのポータルに対して設定を行う。具体的には、例えば図１２のフローチャートのような手順となる。ただし、図１２のステップＳ２７３，Ｓ２７５の動作は、図１４のステップＳ２９３，Ｓ２９５の動作に置き換えられる。
そして、ステップＳ３１４で全てのポータルの設定ができたとき、ステップＳ３１５で、自分のアッパーポータルＩＤレジスタからアッパーポータルＩＤを読み、自分のマックスバスＩＤレジスタの内容をアッパーポータルのマックスバスＩＤレジスタに書き込む。その後に、ステップＳ３１６で、処理を正常に終了する。一方、ステップＳ３１３で、全てのポータルの所有権を獲得できないとき、あるいはステップＳ３１４で、全てのポータルの設定ができないとき、ステップＳ３１７に進んで、設定動作そのものを中止する。
この発明によれば、複数のブリッジマネージャ候補中から自動的にブリッジマネージャを決定できる。また、この発明によれば、ブリッジマネージャ候補の機器において、様々な機能を数値化して比較することを可能とし、また、２つの異なる記憶領域から構成される情報に対して複数の機器の読み込み、書き込みが競合する状況下でも使用することができ、さらに、ブリッジマネージャを決める際により多機能な機器や処理速度の速い機器等を優先して選ぶことが可能となる。
産業上の利用可能性
以上のように、この発明に係るネットワーク構成方法、情報処理方法及び装置、並びコンピュータ読み取り可能な媒体は、例えば複数のＩＥＥＥ１３９４シリアルバスを連結してなるネットワークを管理するのに適用して好適である。
【図１】
0004016430.tif 000002
【図２】
0004016430.tif 000003
【図３】
0004016430.tif 000004
【図４】
0004016430.tif 000005
【図５】
0004016430.tif 000006
【図６】
0004016430.tif 000007
【図７】
0004016430.tif 000008
【図８】
0004016430.tif 000009
【図９】
0004016430.tif 000010
【図１０】
0004016430.tif 000011
【図１１】
0004016430.tif 000012
【図１２】
0004016430.tif 000013
【図１３】
0004016430.tif 000014
【図１６】
0004016430.tif 000015
【図１７】
0004016430.tif 000016
【図１８】
0004016430.tif 000017
【図１９】
0004016430.tif 000018
【図２０】
0004016430.tif 000019
【図１４】
0004016430.tif 000020
【図１５Ａ】
0004016430.tif 000021
【図１５Ｂ】
0004016430.tif 000022
【図１５Ｃ】
0004016430.tif 000023
【図１５Ｄ】
0004016430.tif 000024
【図１５Ｅ】
0004016430.tif 000025
【図１５Ｆ】
0004016430.tif 000026
【図２１】
0004016430.tif 000027
【図２４】
0004016430.tif 000028
【図２２】
0004016430.tif 000029
【図２３】
0004016430.tif 000030
【図２５】
0004016430.tif 000031
【図２６】
0004016430.tif 000032
【図２８】
0004016430.tif 000033
【図２７】
0004016430.tif 000034
【図２９】
0004016430.tif 000035
【図３０】
0004016430.tif 000036
【図３１】
0004016430.tif 000037