(57)【特許請求の範囲】
【請求項１】
複数のサーバントノードであって、それぞれが構成エネーブル信号および構成メッセージを受信し、それぞれが、対応する前記構成エネーブル信号の一つと、対応する前記構成メッセージの一つに応答して、前記サーバントノードに対応する固有の識別子で構成され、かつ、それぞれが構成された時に構成エネーブル信号を供給する、複数のサーバントノードと、
マスタノードであって、前記サーバントノードの全てに構成メッセージを供給し、この構成メッセージは、各々構成されるサーバントノードの対応する一つに対する前記固有の識別子を示し、かつ、前記サーバントノードのうちの最初のサーバントノードが構成される時に、その最初のサーバントノードに前記構成エネーブル信号を供給するマスタノードと、を含んでなり、
前記マスタノードと、前記サーバンドノードの全てとは、通信リンクを介して相互に接続されており、その通信リンクは、前記マスタノードと前記サーバントノードの全てとの間における共用データを伝え、かつ、前記マスタノードと前記サーバントノードの所定のグループ間における非共用データを伝え、
前記構成メッセージは、前記共用データとして前記通信リンクに供給され、かつ、前記構成エネーブル信号は、前記非共用データとして前記通信リンクに供給され、さらに、
前記サーバントノードのそれぞれは、前記マスタノードからの対応する前記構成メッセージの一つが受信され、かつ、対応する前記構成エネーブル信号の一つが受信される時に、前記対応する構成メッセージの一つに基づいて前記固有の識別子で構成される、
ことを特徴とする、通信ネットワーク。
【請求項２】
前記通信リンクが、別個の共用通信リンクと非共用通信リンクとを含み、前記共用通信リンクは前記共用データを伝え、かつ、前記非共用通信リンクは前記非共用データを伝えることを特徴とする、請求項１記載の通信ネットワーク。
【請求項３】
前記通信リンクが、前記共用データと前記非共用データの両方を伝える共通の共用／非共用通信リンクを含むことを特徴とする、請求項１記載の通信リンク。
【請求項４】
前記サーバントノードのそれぞれが、
前記共用データを伝え、かつ、前記非共用データを伝えない前記通信リンクに沿って配置された第１の回路と、
前記非共用データを伝え、かつ、前記共用データを伝えない前記通信リンクに接続された第２の回路と、から構成されていることを特徴とする、請求項３記載の通信ネットワーク。
【請求項５】
前記共用データが、前記非共用データの周波数よりも高い周波数を有することを特徴とする、請求項４記載の通信ネットワーク。
【請求項６】
前記マスタノードは、前記サーバントノードの一つが前記構成メッセージと前記構成エネーブル信号とに応答して構成されなかった時、前記複数のサーバントノードを異なる順序で構成することを特徴とする、請求項１記載の通信ネットワーク。
【請求項７】
前記サーバントノードのそれぞれが、対応する前記サーバントノードの一つが構成された時、前記マスタノードに確認メッセージを供給することを特徴とする、請求項１記載の通信ネットワーク。
【請求項８】
前記サーバントノードのそれぞれが、前記サーバントノードを構成するための同一のハードウェアとソフトウェアとを含むことを特徴とする請求項１に記載の通信ネットワーク。
【請求項９】
前記マスタノードが２つのマスタＩ／Ｏポートを含み、該Ｉ／Ｏポートはモード信号に応答して制御可能であり、前記マスタＩ／Ｏポートの一方が入力ポートとして用いられる時、前記マスタＩ／Ｏポートの他方は出力ポートとして用いられ、
前記サーバントノードのそれぞれが２つのサーバントＩ／Ｏポートを含み、該サーバントＩ／Ｏポートはモード信号に応答して制御可能であり、前記サーバントＩ／Ｏポートの一方が入力ポートとして用いられる時、前記サーバントＩ／Ｏポートの他方は出力ポートとして用いられ、かつ
前記サーバントＩ／Ｏポート及び前記マスタＩ／Ｏポートは、出力ポートとして用いられる時は前記構成エネーブル信号を供給し、かつ、入力ポートとして用いられる時は前記構成エネーブル信号を受信することを特徴とする、請求項１記載の通信ネットワーク。
【請求項１０】
前記サーバントノードのそれぞれが、サーバント信号処理ロジックを含み、そのサーバント信号処理ロジックは、前記構成メッセージと前記構成エネーブル信号に応答して前記サーバントノードに前記固有の識別子を指定するために前記構成メッセージと前記固有の識別子とを受信し、かつ、対応する前記サーバントノードの一つが構成されたことを示す前記構成エネーブル信号を供給し、かつ
前記マスタノードがマスタ信号処理ロジックを含み、そのマスタ信号処理ロジックは、前記構成メッセージと方向メッセージとを、前記サーバントノードの全てに供給することを特徴とする、請求項１記載の通信ネットワーク。
【請求項１１】
マスタノードと複数のサーバントノードとを、前記マスタノードと前記サーバントの全てとの間の共用データを伝え、かつ、前記マスタノードとサーバントノードの所定グループ間における非共用データを伝える通信リンクに接続するステップと、
構成エネーブル信号と構成メッセージとを前記サーバントノードのそれぞれにおいて受信するステップと、
前記サーバントノードのそれぞれを、対応する前記構成エネーブル信号の一つと、対応する前記構成メッセージの一つとに応答して前記サーバントノードのそれぞれに対応する固有の識別子で構成し、対応する前記サーバントノードの一つが構成された時に、前記サーバントノードのそれぞれから構成エネーブル信号を供給するステップと、
それぞれが、設定されるサーバントノードの一つに対応する固有の識別子を示す前記構成メッセージを、前記マスタノードから前記サーバントノードの全てに供給し、かつ、前記サーバントノードの最初の一つが構成される時に、そのサーバントノードの最初の一つに前記マスタノードから前記構成エネーブル信号を供給するステップと、
前記構成メッセージを前記通信リンクに前記共用データとして供給し、かつ、前記構成エネーブル信号を前記通信リンクに非共用データとして供給するステップと、
前記サーバントノードのそれぞれを、前記マスタノードからの対応する前記構成メッセージの一つが受信され、かつ対応する前記構成エネーブル信号の一つが受信される時に、前記対応する構成メッセージに基づく前記固有の識別子で構成するステップと、
を含むことを特徴とする、通信ネットワークの構成方法。
【請求項１２】
前記通信リンクが、別個の共用通信リンクと非共用通信リンクとを含み、前記共用通信リンクは前記共用データを伝え、かつ、前記非共用通信リンクは前記非共用データを伝えることを特徴とする、請求項１１記載の方法。
【請求項１３】
前記通信リンクが、前記共用データと前記非共用データの両方を伝える共通の共用／非共用通信リンクからなることを特徴とする、請求項１１記載の方法。
【請求項１４】
前記サーバントノードのそれぞれによって前記構成エネーブル信号と前記構成メッセージを受信する前記ステップが、前記共通の通信リンクに沿って前記共用データを伝え、かつ、前記共通の通信リンクに沿って前記非共用データを伝えないことを含むことを特徴とする、請求項１１記載の方法。
【請求項１５】
前記共用データが、前記非共用データの周波数よりも高い周波数を有することを特徴とする、請求項１４記載の方法。
【請求項１６】
前記マスタノードは、前記サーバントノードの一つが、前記構成メッセージと前記構成エネーブル信号に応答して構成されなかった時、前記複数のサーバントノードを異なる順序で構成することを特徴とする、請求項１１記載の方法。
【請求項１７】
前記サーバントノードが設定された時、前記サーバントノードのそれぞれからの確認メッセージを前記マスタノードに供給するステップをさらに含むことを特徴とする、請求項１１記載の方法。
【請求項１８】
前記サーバントノードのそれぞれが、前記サーバントノードを設定するための同一のハードウェアとソフトウェアとを含むことを特徴とする、請求項１１記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明（社内整理番号Ｒ−３９９８）は、自動ノード構成に係り、特に同一のノードを使用する自動ノード構成に関する。
【０００２】
「多重トポロジーネットワーク通信リンク」と題する、同時出願の米国特許出願第０８／７６９８２１号（米国特許第５，９４６，３２１号）（ＵＴＣ社内整理番号Ｎｏ．Ｒ−４０３５）は、ここで開示されたものに関する主題を含んでいる。
【０００３】
【従来の技術】
通信ネットワークが、ある装置から他の装置まで情報を送信するために使用されることは、デジタル通信の分野において知られている。ネットワーク上の各装置はノードと呼ばれ、ネットワークは少なくとも１つのマスタノード又はスレーブノードを待っている。あるネットワークは、情報を他のノードに伝送するために、それ自身を識別するための各サーバントノードを必要とするか、又は他のノードからのメッセージを受信するために固有の識別子を持つべきサーバントを必要とする。各サーバントノードに固有の識別子を設けることは、時間の浪費であり、大きなネットワークでは高価にして、各サーバントノードに固有の識別子を設けるために取り引き先ごとの対応を必要とする。
【０００４】
【発明が解決しようとする課題】
ネットワーク上の各サーバントを識別する過程は、ネットワーク（又はサーバント又はノード）コンフィグュレーションと呼ばれる。ネットワーク構造は、不揮発性メモリ、例えばＥＰＲＯＭ，ＥＥＰＲＯＭ，フラッシュＲＯＭ，又はハード結線例えばバッテリージャンパー，ＤＩＰスイッチなどを使用している各サーバントに対して、行われている。ジャンパー方法においては、サーバントノードアドレスは、適正なワイヤの切断，プリント回路基板の切断によって、又はヘッダーピンを介して導電ジャンパーを取り付けることによって、手動で行われる。
【０００５】
ＤＩＰスイッチ法では、アドレスはスイッチを所望の状態に設定することによって指定される。不揮発性メモリ法においては、各サーバントノードは、特別なメモリプログラムハードウェアによって、プログラムされる。サーバントノード識別子の指定（又はアドレス）は、所望の位置で所望の適用におけるノードの取り付けにあたって行われるか、又は「通し番号法」と呼ばれて工場で行われている。通し番号法法では、固有の識別子は、工場で各サーバントノードに指定され、サーバントノードアドレスはその通し番号に基づくものである。
【０００６】
これらの構成技術は、追加のハードウェアを必要とするとともに、重労働になる。
【０００７】
本発明の目的は、通信ネットワークにおいてサーバントノードを識別するための、少ないハードウェアと簡略化されたインストール手順を有するマスタ／サーバントネットワークを提供することである。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の通信ネットワークは、各々構成エネーブル信号と構成メッセージを受けるとともに、各々前記構成エネーブル信号の対応する一つと前記メッセージの対応する一つに応答してサーバントの各々に対応する固有の識別子で構成され、前記サーバントノードの一つが構成された時に構成エネーブル信号を供給する複数のサーバントノード、および前記サーバントノードの全てに、各々構成されるサーバントノードの対応する一つに対する前記固有の識別子を示す構成メッセージを供給し、かつ前記サーバントノードの第１のサーバントノードが構成される時前記第１のサーバントノードに前記構成エネーブル信号を供給するマスタノード、によって構成され、前記マスタノードと前記サーバントノードの全ては、前記マスタノードと前記サーバントノードの全ての間の共用データを通しかつ前記マスタおよびサーバントノード間の所定のグループ間の非共用データを通す通信リンクによって、互に接続されており、前記構成メッセードは、前記共用データとして前記通信リンクに供給され、前記構成エネーブル信号は非共用データとして前記通信リンクに供給され、かつ前記サーバントノードの各々は、前記対応する構成メッセージが受信されかつ前記エネーブル信号の対応する一つが受信される時、前記マスタノードからの前記設定メッセージの対応する一つに基づいて、前記固有の識別子で構成される、ことを特徴とする。
【０００９】
また、本発明は、前記通信リンクが別個の共用通信リンクと非共用通信リンクとを含み、前記共用通信リンクは前記共用データを伝え、かつ前記非共用通信リンクは前記非共用データを伝えることを特徴とする。
【００１０】
さらに、本発明は、前記通信リンクが、前記共用データと前記非共用データの両方を伝える共通の共用／非共用通信リンクを含むことを特徴とする。
【００１１】
【発明の実施の形態】
図１を参照すると、同一のノードを有する自動ネットワーク構成システムは、マスタノード１０と１つ又はそれ以上のサーバントノード１２，１４，１６，１８（サーバントノード１２〜１８と称する）によって構成される。双方向性の分配される（つまり共用の）通信バス（又はリンク）２０は、マスタノード１０のポート１１からサーバントノードのポート１３，１５，１７，１９がそれぞれ接続される。バス２０は、マスタノード１０とサーバントノード１２〜１８を、公知の通信プロトコルを使用して互に通信可能にする。バス２０に対する通信プロトコルの詳細は、本発明の領域ではなく、マスタ／サーバント又はサーバント／サーバントプロトコルは、技術分野において知られており、例えば、“制御領域ネットワーク（ＣＡＮ）プロトコルにおけるメッセージルーティング”と題する米国特許出願第７１４，６４７号（米国特許第５，８５４，４５４号）（ＵＴＣ社内整理番号ＯＴ−２６２４）、又は制御領域（ＣＡＮ）ネットワーク規格ＩＳＯ１１８９８又はＩＳＯ１１５１９−１などにおいて開示されている。
【００１２】
システムは、マスタ１０から、最初と最後のサーバントノード１２，１８のそれぞれまで、および隣り合うノード間の一連の（又は二点間、又は直列又は環状）接続によって構成される分配されない（つまり非共用の）双方向通信リンクを待っている。この非共用の通信リンクは、マスタ１０と、サーバント１２〜１８間で、構成を許可する通信を行う。
【００１３】
特に、マスタ１０は入力／出力（Ｉ／Ｏ）ポート２２（ＣＷ−Ｃｉｎ／ＣＣＷ−Ｃｏｕｔ）とＩ／Ｏポート２４（ＣＷ−Ｃｏｕｔ／ＣＣＷ−Ｃｉｎ）を持っている。ポート２２，２４は、前述したノード間の一連の接続の一部である。また、マスタ１０のＩ／Ｏポート２４は、ライン２８によって、サーバントノード１２のＩ／Ｏポート２６（ＣＷ−Ｃｉｎ／ＣＣＷ−Ｃｏｕｔ））に接続されている。同様にして、サーバントノード１２のＩ／Ｏポート３０（ＣＷ−Ｃｏｕｔ／ＣＣＷ−Ｃｉｎ）は、ライン３４によって、サーバントノード１４のＩ／Ｏポート３２（ＣＷ−Ｃｉｎ／ＣＣＷ−Ｃｏｕｔ）に接続されている。同様に、サーバントノード１４のＩ／Ｏポート３５（ＣＷ−Ｃｏｕｔ／ＣＣＷ−Ｃｉｎ）は、ライン３８によって、サーバントノード１６のＩ／Ｏポート３６（ＣＷ−Ｃｉｎ／ＣＣＷ−Ｃｏｕｔ）に接続されている。同様にして、サーバントノード１６のＩ／Ｏポート４０（ＣＷ−Ｃｏｕｔ／ＣＣＷ−Ｃｉｎ）は、ライン４４によって、最後のサーバント１８（ノードＭ）のＩ／Ｏポート（ＣＷ−Ｃｉｎ／ＣＣＷ−Ｃｏｕｔ）に接続されている。また、サーバントノード１８のＩ／Ｏポート４６（ＣＷ−Ｃｏｕｔ／ＣＣＷ−Ｃｉｎ）は、ライン４８によって、マスタ１０のＩ／Ｏポート２２（ＣＷ−Ｃｉｎ／ＣＣＷ−Ｃｏｕｔ）に接続されている。分配される（つまり共用の）リンク２０と分配されない（つまり非共用の）リンク２８，３４，３８，４４，４８は、ここで総称して通信リンクと称す。
【００１４】
サーバントノード１２〜１８の各々は、サーバントノードの構成に対する機能のため、同一のハードウェアと、ソフトウェア／ファームウェアを持っており、ノードコンフィギュレーションを実行するのに伴う予め結線された又は予め記憶された固有のノード識別子（又はノードアドレス）を必要としない。必要ならば、マスタ１０はサーバントとして設計された同じハードウェアを有することもできる。マスタ１０と同一のサーバント１２〜１８は、後述するように、サーバントノード１２〜１８の各々に対する固有の識別子を決めるために協働する。また、マスタ１０は、時計方向（すなわち、ノード１２で始まり順次ノード１８に進む）又は反時計方向（ノード１８からノード１２順に）のどちらかにサーバントノード１２〜１８を構成する。そのような双方向の構成は、後述するように、故障の場合にシステムが出来るだけ多くのノードを初期化できるように設けられている。
【００１５】
図２を参照すると、一般的なマスタ／サーバントのハードウェア設計は公知の状態機械６２を含む。状態機械６２は、公知のマイクロプロセッサ，信号処理装置，又はここに開示する機能を実施する所定の一連の動作を実行する機能とメモリ（必要に応じて）を有する状態機械デバイスで構成される。
【００１６】
入力／出力（Ｉ／Ｏ）ポート６４は、前述のデータバス２０を状態機械６２に接続するためのライン６８によって、状態機械６２のポート６６に接続されている。ポート６４は、図１のサーバントノード１２のポート１３と同等であるとともに、図１のマスタ１０のポート１１とも同等である。入力／出力ポート７０（ＣＷ−Ｃｉｎ／ＣＣＷ−Ｃｏｕｔ）は、ライン７６によって、２−ｔｏ−１マルチプレクサ（ｍｕｘ）７４の“１”入力ポート７２に接続されている。また、ライン７６は１−ｔｏ−２デマルチプレクサ（ｄｅ−ｍｕｘ）８０の“０”出力ポート７８に接続されている。さらに、ライン７６は、抵抗Ｒとポート７０を通して地電位に接続されている。抵抗Ｒは、ライン７６とポート７０とを、該ポートが入力ポートとして使用されている場合に地電位へ引き込み、遮断されるか、あるいはそうでなければ高インピーダンス状態におかれる。ｄｅ−ｍｕｘ（デプマルチプレクサ）８０の選択されない出力もまた、高インピーダンス状態である。
【００１７】
マスタ／サーバント回路６０は、ライン８６によって、ｍｕｘ（マルチプレクサ）７４の”０”入力ポート８４に接続される別のＩ／Ｏポート８２（ＣＷ−Ｃｏｕｔ／ＣＣＷ−Ｃｉｎ）を有する。ポート８２は、ライン８６によって、ｄｅ−ｍｕｘ８０の”１”出力ポート８８にもまた接続される。
【００１８】
ｍｕｘ７４の出力ポート９０は、ライン９２によって、状態機械６２の入力ポート９４に接続されており、ライン９２は構成許可入力信号Ｃｉｎを状態機械６２に伝える。また、ｄｅ−ｍｕｘの入力ポート９６は、ライン１００によって、状態機械６２の出力ポート９８に接続されており、状態機械６２からの構成許可（構成エネーブル）出力信号Ｃｏｕｔを伝える。状態機械６２のポート１０２からのモード出力信号は、ｍｕｘ７４とｄｅ−ｍｕｘ８０のそれぞれのアドレス（又は制御）入力ポート１０６，１０８に供給される。
【００１９】
状態機械６２は、入力ポート１１２でライン１１０に沿って他の入力にも応答するとともに、出力ポート１１６からライン１１４に他の出力信号を供給する。そのような他の入力と出力信号は、マスタ／サーバントネットワークが動作するアプリケーションに依存する。また、ノードは、そのような他の入力又は出力に対して必要とされるような他の入力又は出力インタフェースハードウェア（図示せず）を有する。例えば、エレベータアプリケーションにおいて、サーバントノード１２〜１８は、ビルディングの異なるフロアに位置し、エレベータ呼びボタン，エレベータカンテラ制御，混雑センサ（何人の乗客がかご室を待っているか），温度，火事モード又は他の情報のうちの１つ又はそれ以上に関する情報、又は制御を供給する。本発明は、エレベータアプリケーションの使用に限定されるものでなく、マスタ／サーバントネットワークを有するいかなるアプリケーションにも使用可能である。ｍｕｘ７４とｄｅ−ｍｕｘ８０は、ポート７０，８０を双方向方式で動作可能にし、時計（ＣＷ）方向又は反時計（ＣＣＷ）方向での構成を可能にする。特に、状態機械６２が、モードがＣＷであれば、ライン１０４上のモード信号は１であり、ｍｕｘ７４はチャンネル１を選択し、Ｃｉｎ信号はｍｕｘ７４を介してＩ／Ｏポート７０から状態機械６２の入力ポート９４まで結合される。また、モードがＣＷ（モード＝１）である時、ｄｅ−ｍｕｘ８０はチャンネル１を選択し、ｄｅ−ｍｕｘ８０を介して、信号Ｃｏｕｔを、状態機械６２のポート９８からＩ／Ｏポート８２まで結合する。その場合に、ポート７０は入力ポートとなり、ポート８２は出力ポートとなり、それにより後述するように、サーバントノード１２〜１８の時計（ＣＷ）方向での構成が可能である。
【００２０】
逆に、状態機械６２がモードをＣＣＷにセットすれば、ライン１０４上のモード信号はゼロであり、ｍｕｘ７４とｄｅ−ｍｕｘ８０は０チャンネルを選択し、それにより、ポート８２からのＣｉｎ信号を状態機械６２の入力ポート９４に接続するとともに、状態機械６２の出力ポート９８からのＣｏｕｔ信号をＩ／Ｏポート７０に接続する。その場合において、ポート８２は入力ポートとなり、ポート７０は出力ポートとなり、それによりサーバントノード１２〜１８の反時計（ＣＣＷ）方向での構成を可能にする。
【００２１】
図１を参照すると、マスタノード１０は固有のノード識別子（又はノードアドレス）をサーバントノードの各々に指定し、それはネットワーク又はサーバントの構成と呼ばれる。マスタは、一度に１つずつ、サーバントノード１２〜１８を、分配される（つまり共用の）バスのメッセージと分配されない（つまり非共用の）リンクの構成許可（構成エネーブル）信号を送ることによって、図の時計方向（ＣＷ）つまり上下方向に順次かつ個々に構成していく。
【００２２】
処理は、マスタが、そのポートのＣＷ−Ｃｏｕｔを１に設定し、かつバス２０の構成メッセージを一斉送信することによって始まる。各サーバントノードが構成されると、サーバントは、そのＣＷ−Ｃｏｕｔポートを、チェーンにおける次のノードを構成させるように、１に設定する。この処理は、全てのサーバントの構成が完了するまで続く。また、サーバントノード又はマスタの故障，パワーアップ，又はリセット条件の場合に、マスタ１０は、残りのサーバントノードを図の反時計（ＣＣＷ）方向（つまりボトムアップ方向）に順次構成する。これにより、後述するように、障害が存在する時にシステムは最大数のサーバントを構成できる。
【００２３】
さらに詳しくは、図３を参照すると、マスタノード１０に対する状態機械６２（図２）の論理動作が示されている。マスタノード１０のパワーアップ又はリセットの際、マスタは、ステップ１４８において（図３）初期化を行い、それから一連のステップ１５０によって示されているように、通常の初期化に入る。ステップ１５２はＣｏｕｔ＝０とモード出力を時計方向（論理１）に設定する。これは、マスタ１０のＩ／Ｏポート２２，２４を、それぞれ、入力と出力ポートとして設定する。次に、マスタは、ステップ１５４に示すように、サーバントノードをパワーアップさせるために、例えば１秒間だけ待つ。必要ならば、他の待ち時間も使用される。それから、マスタ１０は、ステップ１５６に示すように、ライン２０（図１）の“方向＝ＣＷ”のメッセージを全てのノードに一斉送信することによって、時計方向（CW）であることをサーバントノード１２〜１８に伝える。次いで、ステップ１５８により、変数（ノードアドレスカウンタ）Ｎ＝１が設定され、かつ、設定イネーブル信号Ｃｏｕｔ＝１が設定される。
【００２４】
それから、マスタは、「通常構成」処理に入り、ステップ１６０（図３）によって示されるように、共用バス２０（図１）上の全てのサーバントノードに設定メッセージ“あなたはＮである”を一斉送信する。最初のステップ１６０の通過においては、Ｎは１に等しく、最初のサーバントノード１２を構成するために、ステップ１６０において“あなたは１である”という設定メッセージを一斉送信する。その場合に、最初のサーバント１２が、Ｃｉｎ＝１であるので、バスメッセージに基づいて構成されるべき唯一のサーバントであり、まだ構成されていない（サーバントノード論理に関して後述される）。
【００２５】
次に、マスタ１０は、すでに設定されたことを示す最初のサーバントノード１２からのバス２０上の確認応答メッセージ（“ノード１ＡＣＫ”）を受信するのを待つ。サーバントノードからの確認応答メッセージが、ステップ１６４に示すように、期間タイムアウト２内に受信されなければ、マスタ１０は後述するように「低下した初期化」の処理に入る。
【００２６】
マスタ１０が、期間タイムアウト２内で、確認応答メッセージを受ければ、次のステップ１６６は、全てのサーバントノードがすでに構成されているかどうか、すなわち、Ｎがサーバントノードの全数（ＮｕｍＮｏｄｅｓ）以下であるかどうかを決める。全てのサーバントノードがまだ構成されていなければ、すなわちＮ＜（ＮｕｍＮｏｄｅｓ）であれば、ステップ１６８で変数Ｎをインクリメントしかつ次の番号のサーバントノードのために論理がステップ１６０を繰り返す。全てのサーバントノードが構成されるまで、マスタは一度に一つずつ最初のノード１２から最後のノード１８まで、サーバントノードアドレスを指定する。変数Ｎがシステムにおけるサーバントノードの全数（ＮｕｍＮｏｄｅｓ）に達すると、全てのサーバントノードは構成され、マスタ１０は通常の動作に入る。
【００２７】
図４に示すように、マスタ１０が通常動作に入るとき、全てのサーバントノードは構成されており、全てのノードは指定されたノード識別子を使用して通信することができる。通常動作において、マスタ１０は、図４のステップ１７０に示すように、どのような機能および通信でも実行し、本発明がない場合でも普通に実行する、どのような機能や通信でも実行する（通常のマスタのタスク）。通常のマスタのタスクに加えて、マスタは、サーバントノードのＣｉｎの信号が、ゼロになっており、かつ少なくとも所定期間（例えば１０秒）だけゼロにとどまることを示す”サーバントNＣｉｎ＝０”メッセージに関してバスを監視する。他の時間を必要ならば、使用できる。サーバントノードのＣｉｎ信号がゼロになっている場合、初期故障、ノード間の接続のうちの一つの切断、電力損失状態、故障又は隣接するノードのリセットのいずれかが存在する。その場合に、マスタは、ステップ１７４に示すように、メッセージを送ったサーバントノードに隣り合うノードに関連する適切な故障／情報コードをセットする。どの隣り合うノードが故障であるかは、故障がマスタに報告された時点での、システムの構成の方向モードによる。
【００２８】
もちろん、マスタは、ステップ１７６に示すように、Ｃｉｎ＝０に対して最後のノード（マスタに隣り合っている）からのＣｉｎ信号を監視する。所定の期間（例えば１０秒）に対してＣｉｎ＝０であれば、マスタは、ステップ１７８に示すように、メッセージを送ったサーバントノードに隣り合うノードに関連する適正な故障／情報コードをセットする。どの隣り合うノードが故障であるかは、故障がマスタに報告された時点でのシステムの設定方向モードによる。故障コードがノードにセットされた場合において、サーバントノードが故障した場合に普通に実行されるタスクはいずれも実行し、ステップ１８０に示すように、そのようなタスクはシステムを再設定することを試みることを含む。再設定の決定は、多くの要素例えば検出された故障の数、故障を持つサーバントが正しく応答している否か、他のシステム中に存在する故障などに基づくものであってよく、ステップ１７０における正常なマスタのタスクにおいて再構成フラグを設定することによって決められ、それはステップ１８０において評価される。本発明においては、システムをいつ再構成するかを決定する論理は重要ではない。
【００２９】
ステップ１６４によって示されるように、“ノードＮＡＣＫ”メッセージが期間タイムアウト２内で受信されなければ、システムは、「低下した初期化」処理，「低下した構成」処理，および「低下した動作」処理を含む「低下したモード」に入る。「低下したモード」においては、マスタは、図１の反時計（ＣＣＷ）方向つまりボトムアップ方向にサーバントノードを構成することを試みる。
【００３０】
まず、マスタは、一連のステップ１８１で示されるように、「低下した初期化」処理に入る。特に、ステップ１８２はモード信号をゼロ（ＣＣＷ方向）に設定する。これによりマスタ１０（図１）のポート２２，２４は、それぞれ、入力ポートおよび出力ポートとなる。次に、マスタは、ステップ１８４に示すように、全てのサーバントノードにバス２０上のメッセージ“方向＝ＣＣＷを送る。このメッセージは全てのサーバントノードに、反時計方向（ＣＣＷ）の構成（すなわち、各サーバントノードに対してモード＝０）ができるようにＩ／Ｏポートをセットすることを指令する。それから、マスタからのＣｏｕｔ信号は１にセットされ、ステップ１８６に示すように、変数Ｎはシステム中のサーバントノードの総数（ＮｕｍＮｏｄｅｓ）にセットされる。
【００３１】
次に、マスタは、サーバントノードアドレスを、一度に一つ、サーバントノード１８からサーバントノード１２まで指定することによって、できるだけ多くのサーバントノードの構成を試みるための「低下した構成」処理に入る。
【００３２】
さらに詳しくは、「低下した構成」処理においては、マスタは、ステップ１８８に示すように、共用バス２０上のメッセージ“あなたはＮである”を一斉送信する。ステップ１８８では、Ｎは前述したように、カウンタ変数である。次に、マスタは、ノードからの“ノードＮＡＣＫ”メッセージを受信するまで待ち、ステップ１９０に示すように、構成を試みる。サーバントが設定されたことを示すノードＮＡＣＫメッセージが、ステップ１９２に示すように、タイムアウト３後までに受信されなければ、マスタは、「低下した構成」処理を停止し、後述する「低下した動作」処理に入る。マスタが期間タイムアウト３以内に“ノードＮＡＣＫ”信号を受信すれば、次のステップ１９６は、全てのサーバントがすでに構成されたかどうか、すなわちＮが１以下であるか又は１に等しいかどうかを確認する。全てのノードが構成されていなければ、ステップ１９８は変数Ｎを一つだけデクリメントし、ロジックはＣＣＷ方向における次の番号のサーバントノードに対してステップ１８８を繰り返す。
【００３３】
全てのサーバントノードが、「低下した構成」処理を使用して構成された時、又は“ノードＮＡＣＫ”が期間タイムアウト３内に受信されなかった時は、システムは「低下した動作」処理に入る。「低下した動作」処理において、もし、あるノードが故障していることがわかると、マスタは、本発明によらないで実行するタスク（「低下したマスタタスク」）をステップ１９７で実行する。また、「低下した動作」処理においては、予め構成され、かつ（電力損失中に生じ得る）ノードアドレスの損失がなかったサーバントは正常に動作する。構成チェーンが「低下した動作」処理においては信頼性を有しないから、マスタは、ノード間の構成エネーブル信号のブレークすなわちＣｉｎ＝０を、ネットワークを再構築するための表示器として使用しない。しかしながら、マスタノードは、ステップ１９９に示すように、ネットワークを、所定の期間タイムアウト４を待って正常動作に回復させようと試み、ステップ１５２に進む。
【００３４】
図５を参照すると、サーバントノード１２−１８に対する状態機械６２の論理動作が示されている。サーバントノードのパワーアップ又はリセットの際、サーバントノードは、ステップ２００において、本発明のない場合に通常実行するサーバント初期化タスクを遂行し、それから一連のステップ２０１によって示されているような初期化モードに入る。初期化モードにおいて、構成の方向が未知であるから、ステップ２０２は、時計（ＣＷ）方向を示すモード＝１をセットする。次に、Ｃｏｕｔは、ステップ２０４に示すように、０にセットされ、隣り合うノードが順番を違えて構成されないことを確実にする。
【００３５】
次に、サーバントノードが現在のノードアドレスを有しないから、ステップ２０６に示すようにサーバントノードアドレス変数は０にセットされる。
【００３６】
次に、ステップ２０８に示すように、サーバントはマスタノードからの方向メッセージを待つ。方向メッセージが受信されると、サーバントは方向モードに入り、ステップ２１０はメッセージが時計回り（ＣＷ）であるかどうかをチェックする。メッセージが時計回りであれば、ステップ２１２はモード＝１をセットし、ＣＷを示す。メッセージが時計回りでなければ、ステップ２１４はモード＝０をセットし、ＣＣＷを示す。
【００３７】
次に、サーバントは、プログラムモードに入り、Ｃｉｎが１に等しく、かつステップ２１８に示すように、マスタからの“あなたはＮである”というメッセージを受信する。ステップ２１８における照会の結果が否であれば、ステップ２２０は、サーバントがバス上の“あなたはＮである”というメッセージとそのノードアドレスがＮに等しいことの両方を受信したかどうかを確認する。もし両方を受信していなければ、ステップ２２２は、方向メッセージがバス上に受信されているかどうかをチェックする。もし両方が受信されていれば、ロジックは方向モードとステップ２１０に戻る。ステップ２２２の結果が否であれば、ロジックはステップ２１８を繰り返す。
【００３８】
ステップ２１８の結果が正（ｙｅｓ）であれば、隣り合うモードはすでに構成されており、このサーバントノードは構成されるべき次のノードである。ステップ２２０の結果が正であれば、サーバントは、すでに、マスタによってバスに送られたノードアドレスに合致する前もって記憶されたノードアドレスを有しており、それにより、このサーバントが、それ自体を予め記憶されたアドレスに設定できることを示す。従って、ステップ２１８，２２０のどちらかの結果が正であれば、サーバントノードは、そのノードアドレスをＮ（ノードアドレス＝Ｎ）にセットし、それからバス２０上の“ノードＮＡＣＫ”メッセージをステップ２２６でマスタに送り、ステップ２２８で出力信号Ｃｏｕｔ＝１をセットし、それから「正常動作」に入る。
【００３９】
「正常動作」においては、サーバントは他のノードとの正常で自由に通信を行う。特に、サーバントノードは、ステップ２３０に示すように、本発明によらないで通常実行する機能と通信（「正常なサーバントタスク」）を行う。「正常なサーバントタスク」に加えて、サーバントは、ステップ２３２においてＣｉｎ信号をモニターし、Ｃｉｎ信号が少なくとも１０秒間に連続的にゼロになっているかどうかを調べる。ゼロになっていれば、ステップ２３４は、“サーバントＮＣｉｎ＝０”メッセージを送っているかどうかを調べる。もしメッセージを送っていなければ、サーバントは、ステップ２３６において、バスに“サーバントＮＣｉｎ＝０”メッセージを送る。１０秒の代りに、必要ならば、他の時間を用いることができる。
【００４０】
前述したように、サーバントノードのＣｉｎ信号が０（Ｃｉｎ＝０）になれば、ノード間の一連の接続の一つのブレーク又は断線，又はパワーロス，故障，又は隣り合うノードのリセットが有り得る。
【００４１】
Ｃｉｎが、ステップ２３２で１０秒間０でない、あるいは０である場合、サーバントは“サーバントＮＣｉｎ＝０”メッセージをすでに送っており、ステップ２３８は、方向メッセージがマスタからバス上にすでに受信されているかどうかを調べる。受信されていれば、ロジックはステップ２４０でＣｏｕｔ＝０をセットし、ノードの正しい構成を可能にする。それから、ロジックは方向モードとステップ２１０に飛び、ステップ２１０では、サーバントノードがその内部方向をセットし、それからプログラムモードに入る。方向メッセージがステップ２３８で受けられていなければ、ステップ２３０が繰り返される。
【００４２】
図６と７を参照すると、別々の共用通信リンク２０（図１）と非共用（一連の）通信リンク（２８，３４，３８，４４，４８）を使用する代りに、本発明は、ネットワークインタフェースを使用することによって、単結合（又は共通の）共用／非共用通信リンクを使用できる。そのネットワークインタフェースは、本願の対応米国出願と同時米国出願の“多重トポロジーネットワーク通信リンクインタフェース”と題する米国特許出願Ｎｏ．（ＵＴＣ社内整理番号Ｎｏ．Ｒ−４０３５）に開示されている。その場合に、バスライン２０（図１）は存在せず、非共用ライン２８，３４，３８，４４，４８はＣｉｎとＣｏｕｔ信号を搬送し、同様にバス２０（図１）によって信号が予め搬送される。従って、図６において、サーバント１２〜１８のバスポート１３，１５，１７，１９（図１）とマスタ１０のポート１１は取り除かれており、マスタのＣＷ−Ｃｉｎ／ＣＣＷ−ＣｏｕｔおよびＣＷ−Ｃｏｕｔ／ＣＣＷ−Ｃｉｎポートと、各サーバントとは、それぞれが“Ｂｕｓ＋ＣＷ−Ｃｉｎ／ＣＣＷ−Ｃｏｕｔ”および“Ｂｕｓ＋ＣＷ−Ｃｏｕｔ／ＣＣＷ−Ｃｉｎ”という新たな名称が付されている。
【００４３】
図６の組合されたネットワークに対して、共用データ通信は第１の周波数範囲、例えば高周波数にあり、非共用（一連の）データ通信は低周波数又は共用データ信号からのｄｃ（直流）にある（前述のように）。その場合に、ノードは、共用データを通し非共用データを通さない（後述のように）フィルタを持っている。もちろん、その場合に、状態機械６２は対応する周波数データを送受信するためのインタフェースを含んでいる。しかしながら、マスタとサーバントノードの状態機械６２用のロジックは、図３〜５および前述したように、別々の共用および非共用通信リンクに対して同じである。
【００４４】
図７を参照すると、図６の結合された（又は共通の）共用／非共用通信リンクに対するマスタ／スレーブ（サーバント）ノード３００は、点線３０２の右に示されている図２のマスタ／サーバントノード６０と同じハードウェアによって構成され、点線３０２の左に示されている追加の要素を備えている。
【００４５】
特に、前述した特許出願の図４において述べられているネットワーク通信インタフェースは、ライン３０５，３０７間に接続された双方向共用データ回路３０４を持っており、ライン３０５に接続されたＩ／Ｏポート３１０とライン３０７に接続された他のＩ／Ｏポート３１２を持っている。双方向回路３０４は、結合された共用および非共用データを受信し、共用データを通し、非共用データは通過させない（又は減衰させる）。必要ならば、回路３０４は単一方向性であってもよい。その場合に、共用データは結合された（又は共通の）共用／非共用リンクに沿って一方向に通過するのみである。
【００４６】
ライン３０５はまた、非共用データ・イン・アップ回路３１４に接続されており、回路３１４はライン３１６上の非共用データ・イン・アップ信号をＭｕｘ７４のポート７２に供給する。回路３１４は、ライン３０５上の結合された共用および非共用データを受信し、かつ非共用データを通し、共用データは通過させない（又は減衰させる）。
【００４７】
Ｄｅ−ｍｕｘ８０のポート７８からのライン３１８上の非共用データ・アウト・アップ信号は非共用データ・アウト・アップ回路３２０に供給され、回路３２０は、非共用データ・アウト・アップを、ライン３０５と共用／非共用リンクに結合させる。
【００４８】
ライン３０７は共用データ・イン回路３２２に接続されており、回路３２２はライン３２４と共用データ・イン信号を供給する。回路３２２は共用および非共用データを受信し、共用データを通し、非共用データを通過させない（又は減衰させる）。ライン３２６の共用データ・アウト信号は共用データ・アウト回路３２８に供給され、回路３２８はライン３０７の共用データ・アウト信号を、ライン３０７と共通の共用／非共用リンクに結合する。Ｉ／Ｏライン３２４，３２６は、図２について述べたように、バスＩ／Ｏライン６８と同じである。
【００４９】
ライン３０７は、前述した非共用データ・イン・ダウン回路３１４と同様に、共用データ・イン・ダウン回路３３０に接続されており、ライン３３２の非共用データ・イン・ダウン信号をＭｕｘ７４のポート８４に供給する。回路３３０は、ライン１２６に結合された共用および非共用データを受信し、非共用データを通し、共用データを通過させない（又は減衰させる）。
【００５０】
ライン３３４の非共用データ・アウト・ダウン信号は、非共用データ・アウト・アップ回路３２０と同様に、非共用データ・アウト・アップ回路３２０に供給され、非共用データ・アウト・ダウン信号をライン３１７と共通の共用／非共用リンクに結合する。
【００５１】
回路３０４，３１４，３２０，３２２，３２８，３３６は、それぞれ、前述した特許出願の図４の回路１２８，１３０，１３４，１３６，１４２，１４４，１４８とそれぞれ同等である。その上、通信リンクインタフェースと動作の種々な実施例の詳細な説明と、回路３４０，３１４，３２０，３２２，３２８，３３０，３３６の内容の詳細な説明は同じであり、信号はフィルタされかつ各実施の共通の共用／非共用リンクが設けられている。前述の出願中の特許出願における他の変形，追加又は他の実施例は本発明に適用可能である。
【００５２】
また、回路３１４，３３０のある部分又は全ては、点線のボックス３３８で示すように、Ｍｕｘ７４と状態機械６２間でライン９２に沿って、統合および移動できる。同様にして、回路３２０，３２６のある部分又は全ては、点線ボックス３４０に示すように、統合又は移動できる。
【００５３】
発明は、制御可能なＩ／Ｏポートを提供するためにｍｕｘとｄｅ−ｍｕｘを使用するものとして示されているが、スイッチおよび／若しくはデジタルロジックの他の組合せを、制御可能なＩ／Ｏポートを提供するために使用できることは明らかである。また、必要ならば、マスタノードはサーバントノードと同じハードウェア構造を持つ必要はない。
【００５４】
サーバントノードは、必要に応じて増減できることは理解されるべきである。その場合において、マスタ状態機械は一定のＮｕｍＮｏｄｅｓをシステムにおける現在のノード数に変えるために更新されるべきである。
【００５５】
発明は、１つのマスタノード１０について述べられているけれども、一つ以上のマスタノードで働くことができる。
【００５６】
もちろん、各ノードに対する固有の識別子は、ノードが構成される順序に合致する必要はない。特に、Ｎがサーバントノードカウンタである“あなたはＮである”を一斉送信する代りに、マスタが、”名前”が、そのサーバントノードに要求される固有の識別子である“あなたの名前”を送信することができる。かくして、一連の接続の位置から独立した固有の識別子が必要とされることを送信できる。
【００５７】
さらに、バス２０と一連の接続（２８，３４，３８，４４，４８）の電気的な接続の代りに、それらは光学接続たとえば光ファイバー接続であってもよい。また、非共用構成エネーブル信号Ｃｉｎ，Ｃｏｕｔ用直流信号を使用する代りに、構成エネーブル信号Ｃｉｎ，Ｃｏｕｔは、サーバントと適正な数のワイヤ間に所定のプロトコルを有する直列又は並列データの流れであってもよい。その場合に、状態機械におけるハードウェア／ファームウェアは、Ｃｉｎ信号を解読する公知の入力インタフェースと、Ｃｏｕｔ信号用の出力信号インタフェースおよび／若しくはドライバーを設ける。
【００５８】
発明はＣＷおよびＣＣＷ方向における構成を可能にするために制御可能なＩ／Ｏポートを有するものとして述べられているけれども、単一方向（ＣＷ又はＣＣＷ）の構成を使用できる。その場合において、各ノードの一方のポートは構成エネーブル信号Ｃｉｎを受信するための入力ポートとして示され、他方のポートは出力構成エネーブル信号Ｃｏｕｔを供給するための出力ポートとして示される。また、その場合において、図３と４のマスタロジックは、逆方向の構成は行われず、「低下した動作」処理に入るのみであるので、「低下した初期化」処理を持たなければ「低下した構成」処理も持たない。
【００５９】
もちろん、その場合に、方向メッセージを送る代りに、マスタは“構成始め”メッセージを送る。同様にして、サーバントノードの効果はステップ２１０，２１２，２２２が遂行される必要がなく、ステップ２２０の“否”ブランチがステップ２１８に供給されるとともに、ステップ２０８と２３８は、“構成始め”メッセージがバスに受信されたかどうかを確認する、ことである。必要ならばサーバントノードおよびマスタノードに対して他のロジックの簡略化を行うことができる。
【００６０】
さらに、確認応答メッセージがサーバントノードによってマスタに送られることを必要としない。これは双方向構成が使用されるか否かの場合である。代りに、マスタは、各設定メーセッジ間の所定の期間で、一度に一つサーバントを構成する。その場合に、マスタは、ステップ１６２，１６４（図３と図４）を実行する必要がなく、その代りにサーバントが構成されかつＣｏｕｔ信号を高く設定するのに充分な時間ポーズを実行する。その場合に、マスタは構成処理中の「低下したモード」には入らない。
【００６１】
図３と図４および図５のフローチャートが、本発明を実施するためにサーバントとマスタロジックを実行するための一つの方法であり、他のロジックのフローとステップがここに述べた機能を実行するため使用されることは理解されるべきである。
【００６２】
本発明は模範的な実施例について開示されているが、発明の趣旨と範囲から逸脱することなく、前述および種々な他の変更、省略および追加できることは当業者によって理解されるべきである。
【００６３】
【発明の効果】
本発明によれば、全てのサーバントノードを同一のものにすることによって、従来技術に勝る大きな改良がなされる。発明は、サーバントノードの手段設定を必要とすることなく、自動的なネットワーク（又はサーバント）構成を提供し、構成が容易であり、高価なハードウェアを必要とせず、かつ故障の検出と回復を提供する。特に、２つのノード間の単一点事故に対して、システムはそのような事故にも拘らず全てのノードの構成を可能にする。
【００６４】
さらに、発明は最小又はなんの追加もない配線を必要とする共用および非共用通信バスを使用し、これにより、現存するシステムに改良を施すにあたって容易な設備と最小コストで実現できる。ある実施例においては、マスタとサーバント間に設置されるべき一対の配線のみが必要とされ、他の実施例においては、追加の配線は必要とされない。
【００６５】
サーバントノードは大容量の構成要素となるから、発明は、ハードウェアにおいて容易に実施される低コスト設計を提供するとともに、例えばマイクロプロセッサ又は不揮発性メモリのような高価な構成要素を必要としない。
【００６６】
本発明の前述および他の目的，特徴および利点は、添付図面に示すような模範的な実施例に鑑みて、より明白になるものである。
【図面の簡単な説明】
【図１】  マスタノードとＭ個のサーバントノードを有する、本発明による通信ネットワークの概略ブロック図。
【図２】  本発明による図１のシステム用のマスタ／サーバントノードの概略ブロック図。
【図３】  本発明の、マスタノードに対する図２の状態機械の動作を示すフローチャート。
【図４】  本発明の、マスタノードに対する図２の状態機械の動作を示すフローチャート。
【図５】  本発明の、サーバントノードに対する図２の状態機械の動作を示すフローチャート。
【図６】  結合された共用および非共用通信ネットワークを有する、本発明による通信ネットワークの概略ブロック図。
【図７】  本発明による図６のシステム用のマスタ／サーバントノードの概略ブロック図。
【符号の説明】
１０…マスタ
１２，１４，１６，１８…サーバント
１１，１３，１５，１７，１９…ポート
２６，３０，３２，３５，３６，４０，４２，４６…ポート
６０…マスタ／サーバントノード
６２…状態機械
７４…マルチプレクサ（ｍｕｘ）
８０…デマルチプレクサ（ｄｅ−ｍｕｘ）
３００…マスタ／サーバントノード
３０４…双方向共用データ回路
３１４…非共用データ・イン・アップ回路
３２０…非共用データ・アウト・アップ回路
３２２…機械データ・イン・回路
３２８…共用データ・アップ・回路
３３０…非共用データ・イン・ダウン回路
３２６…非共用データ・アウト・ダウン回路
【図１】
0004015248.tif 000002
【図２】
0004015248.tif 000003
【図３】
0004015248.tif 000004
【図４】
0004015248.tif 000005
【図５】
0004015248.tif 000006
【図６】
0004015248.tif 000007
【図７】
0004015248.tif 000008