【手続補正書】
【提出日】平成18年2月14日(2006.2.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【発明の名称】ネットワークシステム
【技術分野】
【０００１】
本発明は、ルータ装置を含む機器を接続する複数のサブネットワークから構成されるネットワークシステムに関し、特に、サブネットワークに接続されるルータ装置の起動時において自動的に矛盾のないネットワーク構成を構築する技術に関する。
【背景技術】
【０００２】
通信ネットワークの拡大に伴い、様々な伝送メディアが存在している。同種又は異種の伝送メディアを使用して構成しているサブネットワーク（以下、単に「サブネット」ともいう。）を接続する様々なルータ装置（以下、単に「ルータ」ともいう。）が開発されている。同一サブネット内ではすべて同一の伝送メディアを使用することとする。ルータを導入して複数のサブネットを接続するためには、それら複数のサブネットを一意に識別する識別子（以下、「ネットＩＤ」という。）が矛盾しない（つまり、異なる値になっている）ことが必要とされる。なお、サブネットワークとは、１つのネットワークシステムを構成する、より小さい単位のネットワークである。
【０００３】
そのために、従来、ルータの起動時に、接続される複数のサブネットからなるネットワークシステム（以下、単に「システム」ともいう。）のネットワーク構成が矛盾していないことを確認する技術等が提案されている（例えば、特許文献１参照）。
【０００４】
上記従来技術では、ルータは、接続している全てのサブネットについて、ネットＩＤを要求するメッセージデータをサブネット内に一斉同報にて送信し、それに対する応答を受信した数等により、ネットワーク構成において不備がないことを確認している。
【特許文献１】特許３３７３８０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、この従来技術では、ルータを置き換える場合のように、システム内のネットワーク構成が変わらないときには、問題なくルータを起動させることができるが、異なるシステム同士を新規のルータで統合するためにルータを立ち上げる場合には、システム内で自動的にネットワーク上の矛盾を解決することができない。
【０００６】
そこで、本発明は、このような課題を解決するものであり、ユーザが特別な意識をすることなく、ルータを立ち上げるだけで、矛盾のないネットワーク構成が自動的に構築される便利なネットワークシステム等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係るネットワークシステムは、ルータ装置を含む機器を接続する複数のサブネットワークから構成されるネットワークシステムであって、前記複数のサブネットワークは、ネットＩＤによって識別されるとともに、前記ルータ装置を介して、ツリー状に接続され、前記ルータ装置は、複数のサブネットワークを接続する通信手段と、前記通信手段が接続する複数のサブネットワークのネットＩＤを含むルータ情報を記憶するためのルータ情報記憶手段と、前記ルータ情報記憶手段に記憶されているルータ情報の更新を伴う立ち上げ処理であるコールドスタートを行うコールドスタート手段とを備え、前記コールドスタート手段は、さらに、前記コールドスタートの実行において、下流のサブネットワークに接続されている全ての機器にコールドスタートを実行させることを特徴とする。これによって、異なる複数のネットワークを新たなルータ装置で統合する場合であっても、ルータ装置をそれら複数のネットワークに接続した後にコール
ドスタートをさせるだけで、下流に位置する機器も連鎖的にコールドスタートを開始するので、システム内の下流のサブネットワークのネットＩＤが初期化され、矛盾のないネットワーク構成をもつ新たなネットワークシステムが自動的に構築される。
【０００８】
ここで、前記ネットワークシステムはさらに、前記サブネットワークに対してネットＩＤを付与するネットＩＤサーバを備え、前記コールドスタート手段は、前記ネットＩＤサーバから付与されるネットＩＤを前記ルータ情報記憶手段に格納することによって、前記コールドスタートを行ってもよい。そして、前記コールドスタート手段は、下流のサブネットワークに接続されている全ての機器に対して、前記サブネットワークのネットＩＤを前記ネットＩＤサーバから付与されるネットＩＤに更新する旨の要求であるネットＩＤ書き込み要求を送信することによって、前記機器にコールドスタートを実行させてもよい。これによって、ネットＩＤサーバによってネットＩＤが決定される自動設定ルータ装置のコールドスタートによって、下流のサブネットワークに対してネットＩＤが一意に付与され、ネットワークシステムの構築が自動化される。
【０００９】
また、前記コールドスタート手段は、予め設定されたネットＩＤを前記ルータ情報記憶手段に格納することによって、前記コールドスタートを行ってもよい。そして、前記コールドスタート手段は、下流のサブネットワークに接続されている全ての機器に対して、前記サブネットワークのネットＩＤを予め設定されたネットＩＤに更新する旨の要求であるネットＩＤ書き込み要求を送信することによって、前記機器にコールドスタートを実行させてもよい。これによって、手動で設定したネットＩＤサーバによってネットＩＤが決定される手動設定ルータ装置のコールドスタートによって、下流のサブネットワークに対してネットＩＤが一意に付与され、ネットワークシステムの構築が自動化される。
【００１０】
また、前記ルータ装置はさらに、前記ネットワークシステムに接続されている全てのルータ装置のルータ情報を集めた全ルータ情報を取得し、取得した全ルータ情報と前記ルータ情報記憶手段に記憶しているルータ情報とから前記全ルータ情報を更新し、更新した全ルータ情報を前記ネットワークシステムに接続された全てのルータ装置に配信する全ルータ情報配信手段を備えてもよい。これによって、新たなルータ装置で複数のシステムを統合した場合であっても、そのルータ装置の導入に伴う情報が付加された新たな全ルータ情報がシステム内の全ルータ装置に配信されるので、システムの統合に伴う全ルータ情報の更新が自動化される。
【００１１】
また、前記ルータ装置はさらに、前記ルータ情報記憶手段に記憶されているルータ情報の更新を伴わない立ち上げ処理であるウォームスタートを行うウォームスタート手段を備えてもよい。そして、前記ルータ情報記憶手段には、前記ルータ情報に加えて、前記ネットワークシステムに接続されている全てのルータ装置のルータ情報を集めた全ルータ情報が記憶され、前記ウォームスタート手段は、たとえば、前記通信手段が接続するサブネットワークに関する情報が前記ルータ情報記憶手段に記憶されているルータ情報と一致し、かつ、前記通信手段が接続するサブネットワークを介して取得した全ルータ情報が前記ルータ情報記憶手段に記憶されている全ルータ情報と一致する場合に、前記ウォームスタートを行う。これによって、電源が切断された後に再投入された場合等において、初期設定情報を再利用しながら立ち上がることができる。
【００１２】
また、前記ウォームスタート手段は、前記通信手段が接続するサブネットワークに関する情報が前記ルータ情報記憶手段に記憶されているルータ情報と一致しない場合、又は、前記通信手段が接続するサブネットワークを介して取得した全ルータ情報が前記ルータ情報記憶手段に記憶されている全ルータ情報と一致しない場合には、前記ウォームスタートを行うことなく、前記コールドスタートを行ってもよい。これによって、ウォームスタートした場合に矛盾が発生する可能性があるときは、自動的にコールドスタートに移行する
ことになるので、矛盾のあるネットワーク構成のままルータ装置が立ち上がってしまうことが回避される。
【００１３】
なお、本発明は、このようなネットワークシステムとして実現することができるだけでなく、ネットワークシステムを構成するルータ装置単体として実現したり、ルータ装置の起動方法として実現したり、ルータ装置に組み込むプログラムとして実現することもできる。そして、そのようなプログラムは、ネットワークを介してルータ装置等にダウンロードするも可能である。
【発明の効果】
【００１４】
本発明によれば、上流のルータ装置がコールドスタートを実施した時には、下流のルータ装置もコールドスタートを実行するので、ネットワークシステム内でネットワークの構成について異常が存在する場合であっても、その異常が自動的に修復され、さらに、ネットＩＤサーバがない場合には、手動設定ルータ装置がコールドスタートを実施した時に、手動設定ルータは、自分の情報を組み込むことで全ルータ情報を更新し、ネットワークシステム内に存在する全てのルータへ配信するので、ネットワークシステム内でネットワークの構成が自動的に更新される。よって、様々な通信ネットワークが混在する今日における本発明の実用的価値は極めて高い。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図１は、本実施の形態におけるネットワークシステムの構成例を示す図である。このネットワークシステムは、５つのサブネット３０〜３４、それらサブネット３０〜３４を接続する４つのルータ１０〜１３、及び、ネットＩＤサーバ１等から構成される。なお、各サブネット３０〜３４には、ノードと呼ばれる各種通信端末装置が接続されているが、本図では図示が省略されている。
【００１６】
サブネット３０〜３４は、ホームネットワーク等であり、ネットワークの最小単位であり、ネットＩＤによって識別される。ノードは、通信インターフェースを備える家電機器等である。
【００１７】
ルータ１０〜１３は、伝送メディアが同種又は異種の２つのサブネットを接続する装置であり、一方のサブネットから取得した通信パケットを他方のサブネットに出力する等の通信パケットのルーティングを行う。
【００１８】
ネットＩＤサーバ１は、親ルータとも呼ばれ、ルータ１０〜１３にネットＩＤを付与することで各サブネット３０〜３４のネットＩＤを決定したり、ルータ１０〜１３に各種ルータ情報を提供したりするサーバ装置である。なお、ルータ情報とは、ルータ及びルータが接続しているすべてのサブネットに関する情報であり、当該ルータに関するルータ情報（「自ルータ情報」ともいう。）と、ネットワークシステムに接続された全てのルータに関する全ルータ情報とがある。
【００１９】
なお、本ネットワークシステムでは、ネットワーク構成について、以下のルールが存在する。
（１）サブネット３０〜３４は、ツリー構造となるように（つまり、ループ構造にならないように）、ルータ１０〜１３によって接続されなければならない。
（２）１つのネットワークシステムについて、あるいは、複数のネットワークシステムが統合される場合には統合後の１つのネットワークシステム（以下、ネットワークあるいは統合後のネットワークシステムを「ドメイン」ともいう。）について、０又は１つのネットＩＤサーバが接続される。そして、サブネットが複数存在し、かつ、ネットＩＤサーバが接続される場合には、ネットＩＤサーバは、最上流（ルート）のサブネットに接続されている必要がある。
（３）１つのサブネットに複数のルータが接続されている場合には、ネットＩＤサーバへの経路上にあるルータ（つまり、そのサブネット内で最初にネットＩＤサーバによってルータ情報を付与されたルータ）が一つ存在することになり、そのルータはそのサブネット内の「マスタルータ」となる。他のルータは「スレーブルータ」となる。
【００２０】
なお、１つのサブネットに複数のルータが接続される場合等においては、それら複数のルータのうち、通信経路上、ネットＩＤサーバに近いルータを「上流に位置するルータ」、ネットＩＤサーバから遠いルータを「下流に位置するルータ」と呼ぶ。図１に示されたネットワークシステムでは、ルータ１０から見て、ルータ１１及びルータ１２は下流に位置するルータとなり、ルータ１１から見て、ルータ１０は上流に位置するルータとなる。
【００２１】
図２は、ルータ１０（１１〜１３）の構成を示す機能ブロック図である。このルータ１０は、第１通信Ｉ／Ｆ部１００、第２通信Ｉ／Ｆ部１０１、制御部１０２及びルータ情報記憶部１０３を備える。
【００２２】
第１通信Ｉ／Ｆ部１００及び第２通信Ｉ／Ｆ部１０１は、それぞれ、このルータ１０とサブネットとを接続する通信インターフェースであり、制御部１０２による制御の下で、サブネットを流れる通信パケットを取得して他方の通信Ｉ／Ｆ部に渡す等のルーティングを行う。
【００２３】
制御部１０２は、ルータ情報記憶部１０３に記憶されているルータ情報に従って、後述する起動処理や第１通信Ｉ／Ｆ部１００及び第２通信Ｉ／Ｆ部１０１を制御するＣＰＵ等である。
【００２４】
ルータ情報記憶部１０３は、このルータ１０、ドメイン内の他の全てのルータ及びネットＩＤサーバに関する情報等を記憶するためのメモリ等であり、自ルータ情報を保持するための自ルータ情報記憶部１０４と、全ルータ情報を保持するための全ルータ情報記憶部１０５を有する。
【００２５】
自ルータ情報記憶部１０４は、第１通信Ｉ／Ｆ部１００と接続されているサブネットの属性（プロパティ）を記憶するための第１プロパティ記憶部１０４ａと、第２通信Ｉ／Ｆ部１０１と接続されているサブネットの属性（プロパティ）を記憶するための第２プロパティ記憶部１０４ｂとを有する。第１プロパティ記憶部１０４ａ及び第２プロパティ記憶部１０４ｂに記憶される属性としては、図３に示されるように、対応するサブネットのネットＩＤやそのサブネットにおけるマスタルータ情報（当該ルータが「マスタルータ」であるか「スレーブルータ」であるかを示す情報）等がある。たとえば、図３では、サブネットＡ（ネットＩＤ＝０ｘ０１）とサブネットＢ（ネットＩＤ＝０ｘ０２）とを接続するルータ１０の第１プロパティ記憶部１０４ａには、サブネットＡに関して、ネットＩＤとして０ｘ０１が、マスタルータ情報としてスレーブルータであること示す０ｘ４２０１が格納され、一方、第２プロパティ記憶部１０４ａには、サブネットＢに関して、ネットＩＤとして０ｘ０２が、マスタルータ情報としてマスタルータであること示す０ｘ４１０２が格納されている例が示されている。なお、自ルータ情報記憶部１０４は、このルータ１０のノードＩＤ（ドメインにおける各ノードを一意に識別する識別子）を記憶する領域も有する。「０ｘ」は続く数値が１６進表記であることを示す記号である。なお、本実施の形態では、２つのサブネットを接続するルータが示されているが、３つ以上のサブネットを接続するルータであってもよい。
【００２６】
全ルータ情報記憶部１０５は、全ルータ情報、つまり、ドメイン内に存在する他の全てのルータの自ルータ情報を集めたものを記憶する。
【００２７】
次に、以上のように構成された本ネットワークシステムにおけるルータ１０〜１３の立ち上げ処理について説明する。
【００２８】
まず、ルータ１０〜１３のコールドスタートについて説明する。
ルータ１０〜１３は、接続される各サブネット上において、一般の機器とは異なる立ち上がり処理を行う。立ち上がり処理の種類として、上述のプロパティのような初期設定情報を破棄して新規に初期化を行うコールドスタートと、以前に接続されていたときに取得していた初期設定情報を保持したまま初期化を開始するウォームスタートがある。
【００２９】
ルータ１０〜１３がコールドスタートを実行するケースとして、（１）新規に参入する場合、（２）ウォームスタートに失敗した場合、及び、（３）ルータが保持するノードの「ネットＩＤ書き込み要求」（ネットＩＤを更新する旨の要求）を受信した場合がある。
【００３０】
また、ルータ１０〜１３には、機能的に、自動設定ルータと手動設定ルータとがあり、コールドスタートの手順が異なる。ここで、自動設定ルータとは、ネットＩＤサーバ１から自動的にネットＩＤを取得するルータのことであり、手動設定ルータとは、ユーザが手動でネットＩＤを設定するルータ、もしくはネットＩＤを固定値として保持しているルータのことである。ルータは自己が自動設定ルータ又は手動設定ルータのいずれであるかをルータ情報記憶部１０３に保持している。尚、ハードウェアスイッチや入力画面がある場合に自動設定か手動設定のいずれかを入力することによって自動設定ルータや手動設定ルータの切換えを行うことが出来る。
【００３１】
まず、ルータ１０〜１３が自動設定ルータである場合のルータ１０〜１３（以下、このようなルータ１０〜１３を単に「自動設定ルータ」と呼ぶ。）のコールドスタートについて説明する。
【００３２】
図４は、自動設定ルータのコールドスタートにおける起動条件を示すテーブルである。ここでは、接続されたサブネットにおいて検出されるマスタルータの数（「マスタルータ
検出数」）と、ネットＩＤサーバ１と通信できるか否かの状態（「ネットＩＤサーバとの通信」）との組み合わせ（ＣＡＳＥ１〜４）ごとに、自動設定ルータがルータとして起動するか否かが示されている。
【００３３】
本図に示されるように、自動設定ルータは、異常事態が発生している場合、つまり、（１）マスタルータを０もしくは２以上検出した場合、及び、（２）ネットＩＤサーバから自ルータ情報及び全ルータ情報を取得できない場合には、ルータとして起動しない。言い換えると、マスタルータを１つだけ検出し、かつ、ネットＩＤサーバと通信できた場合にだけ、ルータとして起動する。
【００３４】
図５は、自動設定ルータのコールドスタートにおける基本シーケンスを示す図である。
まず、自動設定ルータは、内部イニシャル処理を行い、自己のノードＩＤの設定（自ルータ情報記憶部１０４への格納）を完了する（Ｓ１０）。その後、自動設定ルータは、マスタルータの数を特定するために、自己が接続する全てのサブネット一つずつに対して、「マスタルータ情報読み出し要求」（ルータに対してマスタルータ情報の提供を求める要求）をサブネット内一斉同報で送信する（Ｓ１１）。この後、ルータから、「マスタルータ情報読み出し応答」（「マスタルータ情報読み出し要求」に対する応答）を受信することでマスタルータ情報を取得し（Ｓ１２）、その結果、マスタルータの検出数が０もしくは２以上と判明した場合には、自動設定ルータは、ルータとして起動しない。その場合、一般ノードとして起動し、以降のシーケンスは行わない。
【００３５】
続いて、自動設定ルータは、接続するサブネットの現状のネットＩＤを取得するために、自己が接続する全てのサブネット一つずつに対して、ノードプロファイル（サブネットに接続されているノード）宛てへ、「ネットＩＤ読み出し要求」（ネットＩＤを知らせてほしい旨の要求）をサブネット内一斉同報で送信する（Ｓ１３）。これに対して、自動設定ルータは、自ネットＩＤと異なるネットＩＤを保持する他ノードからの直達電文を受信した場合も処理を行う。つまり、自動設定ルータは、受信した「ネットＩＤ読み出し応答」（「ネットＩＤ読み出し要求」に対する応答）のネットＩＤを仮ネットＩＤとして保持する（Ｓ１４）。
【００３６】
次に、自動設定ルータは、ネットＩＤサーバの数と、ネットＩＤサーバのアドレスを含む情報を特定するために、マスタルータが存在しているサブネットに対して、「ネットＩＤサーバ情報読み出し要求」（ネットＩＤサーバに対してプロパティ等の情報の提供を求める要求）をサブネット内一斉同報で送信する（Ｓ１５）。そして、自動設定ルータは、ネットＩＤサーバ情報を取得し（Ｓ１６）、その結果、ネットＩＤサーバの検出数が０もしくは２以上と判明した場合には、ルータとして起動しない。その場合、一般ノードとして起動し、以降のシーケンスは行わない。
【００３７】
続いて、自動設定ルータは、自己が接続する全てのサブネット一つずつに対して、ルータプロファイル宛てへ、「全ルータ情報読み出し要求」（ルータに対して全ルータ情報の提供を求める要求）を送信する（Ｓ１７）。そして、コールドスタート実行中である自動設定ルータが接続する全てのサブネットに存在するルータから全ルータ情報を取得する（Ｓ１８）。
【００３８】
全ルータ情報を取得した後、自動設定ルータは、「登録要求ルータ情報書き込み要求」（ネットＩＤサーバに対してルータ情報の新たな登録を求める要求）をネットＩＤサーバ１へ送信する（Ｓ１９）。なお、「登録要求ルータ情報書き込み要求」送信時のＥＡ情報（ＥＡとは、電送メディアにおけるレイヤ２の通信を実現するアドレスで決められるアドレスとサブネットを特定するアドレスとで構成されるアドレス）においては、スレーブルータのネットＩＤとしては、自己の接続するサブネット内に存在するノードプロファイル
から取得した値とし、マスタルータのネットＩＤとしては、０ｘ００とする。この「登録要求ルータ情報書き込み要求」を送信した後、一定時間内にネットＩＤサーバ１から「自ルータ情報書き込み要求」（指定した自ルータ情報に更新する旨の要求）を受信できない場合には、「登録要求ルータ情報書き込み要求」を再送する。なお、その他のルータがネットＩＤサーバへの登録中である場合、ネットＩＤサーバからルータ登録状態通知（ルータ登録ｂｕｓｙ状態０ｘ３０）を受信するが、その場合、一定時間間隔後に登録要求ルータ情報書き込み要求を再送する。
【００３９】
ネットＩＤサーバ１から「自ルータ情報書き込み要求」を受信した場合には（Ｓ２０）、自動設定ルータは、ネットＩＤサーバ１へ「自ルータ情報書き込み応答」（自ルータ情報を更新した旨の通知）を送信する（Ｓ２１）。「自ルータ情報書き込み応答」を送信した後、一定時間内にネットＩＤサーバ１から「全ルータ情報書き込み要求」（指定した全ルータ情報に更新する旨の要求）を受信できない場合には、「登録要求ルータ情報書き込み要求」を再送する。
【００４０】
ネットＩＤサーバ１から「全ルータ情報書き込み要求」を受信した場合には（Ｓ２２）、自動設定ルータは、ネットＩＤサーバ１へ「全ルータ情報書き込み応答」（全ルータ情報を更新した旨の通知）を送信する（Ｓ２３）。「全ルータ情報書き込み応答」を送信した後、一定時間内にネットＩＤサーバ１から「ルータ登録完了通知」（ネットＩＤサーバがルータ情報を更新した旨の通知）をネットＩＤサーバ１から受信できなかった場合には、「登録要求ルータ情報書き込み要求」を再送する。
【００４１】
ネットＩＤサーバ１から「ルータ登録完了通知」を受信した場合には（Ｓ２４）、自動設定ルータは、「ルータ登録完了通知応答」（「ルータ登録完了通知」を受信した旨の通知）をネットＩＤサーバ１へ送信する（Ｓ２５）。ネットＩＤサーバ１へ「ルータ登録完了通知応答」を送信した時点で、自動設定ルータはルータとして起動開始する（Ｓ２６）。
【００４２】
なお、自動設定ルータは、自己が接続するサブネットに接続しているその他のルータから取得した全ルータ情報が全て同一である場合、ネットＩＤサーバ１から受信した「自ルータ情報書き込み要求」に含まれるネットＩＤが自己の接続するサブネットに存在するノードプロファイルから受信した「ネットＩＤ読み出し応答」に含まれるネットＩＤと異なるときには、ネットＩＤが異なるサブネットに存在するノードプロファイル宛てへ、サブネット内一斉同報でネットＩＤサーバ１から受信した「自ルータ情報書き込み要求」受信時に取得したネットＩＤを用いて、「ネットＩＤ書き込み要求」を送信する。一方、自己が接続するサブネットに接続しているその他のルータから取得した全ルータ情報が同一でない場合、ネットＩＤサーバ１から受信した「自ルータ情報書き込み要求」受信時に取得したネットＩＤを用いて、自己が接続しておりマスタルータが存在していないサブネットに対して、サブネット内一斉同報で「ネットＩＤ書き込み要求」を送信する。
【００４３】
このような「ネットＩＤ書き込み要求」の送信は、２つの異なるネットワークシステムを統合するのに有効な方法である。手動設定ルータのみである場合、ネットＩＤサーバは存在していなくても、システムとして成立可能であるが、片方のネットワークシステムのみにネットＩＤサーバが存在している場合には、自動設定ルータのコールドスタートを実施することで２つのネットワークシステムを簡単に統合することができる。
【００４４】
図６は、２つのネットワークシステムが自動設定ルータによって統合される例を示す図である。ここでは、ネットワークシステム２０とネットワークシステム２１とが自動設定ルータ１４によって統合される例が示されている。ネットワークシステム２０にはネットＩＤサーバ２が存在するが、ネットワークシステム２１にはネットＩＤサーバが存在しな
い。つまり、ネットＩＤサーバが存在しないネットワークシステム２１に接続されているルータ１５及び１６は、立ち上がり処理を実行するルータ１４から下流に位置する。
【００４５】
上流のルータ１４がコールドスタートを実施すると、下流に位置するルータ１５及び１６は、上述したように、ネットＩＤを書き込まれる（「ネットＩＤ書き込み要求」を受ける）こととなり、コールドスタートを開始する。つまり、下流のルータ１５及び１６は、上流のルータ１４がコールドスタートを実行すると、必ずコールドスタートを実施することになる。このようなコールドスタートの連鎖によって、ネットワークシステムの統合後においてもサブネットのネットＩＤが一意となるように、自動的にネットＩＤの付与が行われる。
【００４６】
次に、ルータ１０〜１３が手動設定ルータである場合のルータ１０〜１３（以下、このようなルータ１０〜１３を単に「手動設定ルータ」と呼ぶ。）のコールドスタートについて説明する。
【００４７】
図７は、手動設定ルータのコールドスタートにおける起動条件を示すテーブルである。ここでは、接続されたサブネットにおいて検出されるマスタルータの数（「マスタルータ検出数」）と、ネットＩＤサーバと通信できるか否かの状態（「ネットＩＤサーバとの通信」）と、手動設定しようとするネットＩＤがドメイン内で既に使用されているか否か（「ＮｅｔＩＤの重複」）との組み合わせ（ＣＡＳＥ１〜５）ごとに、手動設定ルータがルータとして起動するか否かが示されている。
【００４８】
本図に示されるように、手動設定ルータは、異常事態が発生している場合、つまり、（１）マスタルータを２以上検出した場合、及び、（２）設定しようとするネットＩＤがドメイン内で使用されている場合（重複している場合）には、ルータとしては起動しない。言い換えると、（１）マスタルータを検出しなかった場合、（２）マスタルータを１つだけ検出したが、ネットＩＤサーバとの通信ができない場合、又は、（３）マスタルータを１つだけ検出し、ネットＩＤサーバと通信できたが、設定しようとするネットＩＤがドメイン内で使用されていない場合には、ルータとして起動する。なお、自動設定ルータと異なり、マスタルータを検出しない場合やネットＩＤサーバと通信できない場合でもルータとして起動するのは、２つのサブネットを１つの手動設定ルータで接続する等の簡易なネットワークシステムを構築する場合を考慮したためである。つまり、手動設定ルータは、設定するネットＩＤを予め保持しているので、ネットＩＤサーバと通信できない状態であっても、ドメイン内でネットＩＤが重複しないことが保証される限り、コールドスタートを行うこととしている。
【００４９】
図８は、手動設定ルータのコールドスタートにおける基本シーケンスを示す図である。なお、手動設定ルータは、上述したように、設定するネットＩＤを第１プロパティ記憶部１０４ａ及び第２プロパティ記憶部１０４ｂ等に予め保持した状態で以下のシーケンスを開始するものとする。
【００５０】
まず、手動設定ルータは、内部イニシャル処理を行い、自己のノードＩＤの設定（自ルータ情報記憶部１０４への格納）を完了する（Ｓ３０）。その後、手動設定ルータは、マスタルータの数を特定するために、自己が接続する全てのサブネット一つずつに対して、ルータプロファイル宛てへ、「マスタルータ情報読み出し要求」をサブネット内一斉同報で送信する（Ｓ３１）。この後、「マスタルータ情報読み出し応答」を受信することによってマスタルータ情報を取得し（Ｓ３３）、その結果、マスタルータの検出数が２以上であると判明した場合には、ルータとして起動しない。その場合、一般ノードとして起動し、以降のシーケンスは行わない。
【００５１】
また、受信したマスタルータ情報に含まれるネットＩＤと手動設定ルータが保持するネットＩＤとが異なる場合、ルータとして起動しない。つまり、以下のシーケンスは行わず、一般ノードとして起動し、それらネットＩＤが異なりシステム構築不可能である旨の異常を表示する。また、異常発生として、上記異常内容をドメイン内一斉同報で通知する。
【００５２】
なお、「マスタルータ情報読み出し応答」を一つも受信しない場合（ルータが接続するサブネット内に存在しない場合）、手動設定ルータはルータとして起動を開始し（Ｓ３２ａ）、自己が接続する全てのサブネットのノードプロファイル宛てへ、サブネット内一斉同報で「ネットＩＤ書き込み要求」を送信する（Ｓ３２ｂ）。
【００５３】
取得したマスタルータ情報によってマスタルータが一つ存在していると判明した場合には、手動設定ルータは、ネットＩＤサーバの数、ネットＩＤサーバの有無、ネットＩＤサーバのアドレスを含む情報を特定するために、マスタルータが存在しているサブネットに対して、「ネットＩＤサーバ情報読み出し要求」をサブネット内一斉同報で送信する（Ｓ３４）。そして、ネットＩＤサーバ情報を取得し（Ｓ３５）、その結果、ネットＩＤサーバの検出数が２以上と判明した場合には、手動設定ルータは、ルータとして起動しない。その場合、一般ノードとして起動し、以降のシーケンスは行わない。この場合には、ネットＩＤサーバが２以上検出された旨の異常を表示するとともに、異常発生として、上記異常内容をドメイン内一斉同報で送信する。
【００５４】
続いて、手動設定ルータは、自己が接続する全てのサブネット一つずつに対して、ルータプロファイル宛てへ、「全ルータ情報読み出し要求」を送信する（Ｓ３６）。そして、コールドスタート実行中である手動設定ルータが接続する全てのサブネットに存在するルータから全ルータ情報を取得する（Ｓ３７）。
【００５５】
以降、ネットＩＤサーバが存在しない場合と、存在する場合とで処理が分かれる。
ネットＩＤサーバが存在しない場合、設定したネットＩＤが他のサブネットのネットＩＤと重複していないときには、手動設定ルータは、自己のＥＡと取得した全ルータ情報とに基づき、全ルータ情報を更新し、ドメイン内に存在する全てのルータへ「全ルータ情報書き込み要求」を送信する（Ｓ３８ａ）。送信後、ルータとして起動を開始する（Ｓ３８ｂ）。
【００５６】
一方、ネットＩＤサーバ１が存在する場合、手動設定ルータは、全ルータ情報を取得した後（Ｓ３７）、「登録要求ルータ情報書き込み要求」をネットＩＤサーバ１へ送信する（Ｓ３９）。このとき、「登録要求ルータ情報書き込み要求」送信時のＥＡ情報において、スレーブルータのネットＩＤ、マスタルータのネットＩＤともに自己で設定した値とする。
【００５７】
「登録要求ルータ情報書き込み要求」を送信後、一定時間内にネットＩＤサーバ１から「自ルータ情報書き込み要求」を受信できない場合、手動設定ルータは、「登録要求ルータ情報書き込み要求」を再送する。なお、その他のルータがネットＩＤサーバへの登録中である場合、ネットＩＤサーバからルータ登録状態通知（ルータ登録ｂｕｓｙ状態０ｘ３０）を受信するが、その場合、一定時間間隔後に登録要求ルータ情報書き込み要求を再送する。
ネットＩＤサーバ１から「自ルータ情報書き込み要求」を受信した場合（Ｓ４０）、手動設定ルータは、ネットＩＤサーバ１へ「自ルータ情報書き込み応答」を送信する（Ｓ４１）。また、「自ルータ情報書き込み要求」で書込まれた値が手動で設定したネットＩＤと同一であることを確認し、異なるネットＩＤを書込まれた時、手動設定ルータは、ルータとして起動せず、一般ノードとして起動し、以降のシーケンスを行なわない。
【００５８】
「自ルータ情報書き込み応答」送信後、一定時間内にネットＩＤサーバ１から「全ルータ情報書き込み要求」を受信できない場合、手動設定ルータは、「登録要求ルータ情報書き込み要求」を再送する。ネットＩＤサーバ１から「全ルータ情報書き込み要求」を受信した場合（Ｓ４２）、手動設定ルータは、ネットＩＤサーバ１へ「全ルータ情報書き込み応答」を送信する（Ｓ４３）。「全ルータ情報書き込み応答」を送信後、一定時間内にネットＩＤサーバ１から「ルータ登録完了通知」をネットＩＤサーバ１から受信できなかった場合、手動設定ルータは、「登録要求ルータ情報書き込み要求」を再送する。ネットＩＤサーバ１から「ルータ登録完了通知」を受信した場合（Ｓ４４）、手動設定ルータは、「ルータ登録完了通知応答」をネットＩＤサーバ１へ送信する（Ｓ４５）。ネットＩＤサーバ１へ「ルータ登録完了通知応答」を送信した時点で、手動設定ルータは、ルータとして、起動開始する。
【００５９】
なお、手動設定ルータは、ステップＳ３７で取得した全ルータ情報が同一でない場合、自己が接続しておりマスタルータが存在していないサブネットに対して、自己で設定したネットＩＤを用いて、サブネット内一斉同報で「ネットＩＤ書き込み要求」を送信する。これによって、ネットＩＤサーバが接続されていないネットワークシステム同士の接続が可能となる。
【００６０】
図９は、ネットＩＤサーバが接続されていないネットワークシステム同士が手動設定ルータによって統合される例を示す図である。ここでは、ネットＩＤサーバをもたないネットワークシステム２２とネットワークシステム２３とが手動設定ルータ１５によって統合される例が示されている。
【００６１】
なお、コールドスタート処理を実行したルータ１５は、統合した両ネットワークシステムから全ルータ情報を取得し、取得した全ルータ情報に自己の全ルータ情報を追加することで、全ルータ情報を更新し、得られた全ルータ情報を、統合したネットワークシステム内に存在する全てのルータへ配信する。これによって、２つのネットワークシステムに接続される全てのルータが保持する全ルータ情報が同一の内容となる。
【００６２】
最後に、ルータ１０〜１３（ここでは、代表して、ルータ１０）がウォームスタートを実行する場合について以下に記す。
ルータ１０がウォームスタートを実行する条件として、既に、コールドスタートを実行してネットワークに一度は参入していることが必要である。なお、ウォームスタートの処理中は、前回起動した情報を元にルーティングを実行しても実行しなくてもよいものとする。
【００６３】
図１０は、ルータのウォームスタートにおける起動条件を示すテーブルである。ここでは、接続されたサブネットにおいて検出されるマスタルータの数（「マスタルータ検出数」）と、接続されたサブネットの構成が前回起動時と同じか否か（「接続サブネット情報」）と、マスタルータもしくはネットＩＤサーバから取得した全ルータ情報が前回起動時と同じか否か（「マスタルータもしくはネットＩＤサーバからの全ルータ情報」）と、ウォームスタートをするルータが自動設定ルータであるか手動設定ルータであるか（「自動設定ルータＯＲ手動設定ルータ」）との組み合わせ（ＣＡＳＥ１〜７）ごとに、処理（Ａ）〜（Ｃ）のいずれの方法によって起動する（あるいは、起動しない）かが示されている。なお、処理（Ａ）は、ウォームスタート前から保持している情報にて立ち上がることであり、処理（Ｂ）は、ルータとして起動しないことであり、処理（Ｃ）は、ルータとして起動せずに、コールドスタートへ移行することである。
【００６４】
本図に示されるように、ルータは、異常事態が発生している場合、つまり、（１）ウォームスタートを行うルータが接続するサブネットにおいて、マスタルータを２以上検出し
た場合、（２）ウォームスタートを行うルータが接続するサブネットにおいて、マスタルータを検出しなかった場合で、かつ、自動設定ルータであるとき、（３）ウォームスタートを行うルータが接続するサブネットの構成が前回起動時と異なっている場合、及び、（４）ウォームスタートを行うルータが取得する全ルータ情報が前回起動時と異なっている場合には、ルータとしては起動しない。言い換えると、（１）マスタルータを検出せず、かつ、サブネットの構成が前回起動時と同一であり、かつ、手動設定ルータである場合、又は、（２）マスタルータを１つだけ検出し、かつ、サブネットの構成が前回起動時と同一であり、かつ、全ルータ情報が前回起動時と同一である場合には、ルータとして起動する。
【００６５】
図１１は、ルータ１０のウォームスタートにおける基本シーケンスを示す図である。
まず、ルータ１０は、内部イニシャル処理を行い、自己のノードＩＤの設定（自ルータ情報記憶部１０４への格納）を完了する（Ｓ５０）。その後、ルータ１０は、マスタルータの数を特定するために、自己が接続する全てのサブネット一つずつに対して、ルータプロファイル宛てへ、「マスタルータ情報読み出し要求」をサブネット内一斉同報で送信する（Ｓ５１）。この後、「マスタルータ情報読み出し応答」を受信することによってマスタルータ情報を取得し（Ｓ５２）、その結果、マスタルータの検出数が２以上であると判明した場合には、ルータとして起動しない。その場合、一般ノードとして起動し、以降のシーケンスは行わない。
【００６６】
取得したマスタルータ情報からマスタルータの数が０又は１であると判明した場合には、ルータ１０は、続いて、接続するサブネットの現状のネットＩＤを取得するために、接続するサブネットに対して、「ネットＩＤ読み出し要求」をサブネット内一斉同報で送信する（Ｓ５３）。そして、ネットＩＤを取得し（Ｓ５４）、取得したネットＩＤ値から、自ルータ情報記憶部１０４を参照することで前回起動時のサブネットの構成と比較し、その結果、それらが異なると判明した場合には、ルータのコールドスタートへ移行する。また、マスタルータの検出数が０で、かつ、前回起動時のサブネットの構成と同一の場合には、前回起動した条件でルータとして起動する。
【００６７】
マスタルータが１つだけ検出された場合には、ルータ１０は、ネットＩＤサーバの数を特定するために、マスタルータが存在しているサブネットに対して、「ネットＩＤサーバ情報読み出し要求」をサブネット内一斉同報で送信する（Ｓ５５）。そして、ネットＩＤサーバ情報を受信し（Ｓ５６）、ルータ情報記憶部１０３を参照することで、受信したネットＩＤサーバ情報と前回起動時のネットＩＤサーバ情報とを比較し、その結果、それらが異なると判明した場合には、ルータ１０は、コールドスタートへ移行する。
【００６８】
続いて、ルータは、ネットＩＤサーバが存在する場合には、ネットＩＤサーバ１へ、個別で「全ルータ情報読み出し要求」を送信し（Ｓ５７）、一方、ネットＩＤサーバ１が存在していない場合には、マスタルータへ、「全ルータ情報読み出し要求」をサブネット内一斉同報で送信する（Ｓ５８）。そして、全ルータ情報を取得し（Ｓ５９、Ｓ６０）、全ルータ情報記憶部１０５に保持している全ルータ情報と比較する。その結果、取得した全ルータ情報が前回起動時の全ルータ情報と異なると判明した場合には、ルータ１０は、コールドスタートへ移行する。また、取得した全ルータ情報に、自己のＥＡが含まれていない場合にも、ルータ１０は、コールドスタートへ移行する。前回起動時の全ルータ情報と同一であり、かつ、自己のＥＡが全ルータ情報に含まれている場合には、ルータ１０は、ルータとしての起動を開始する（Ｓ６１）。
【００６９】
このようにして、ルータ１０は、接続するサブネットの構成や全ルータ情報が前回起動時のものと同一であると確認できた場合にだけ、ウォームスタートとして起動し、そうでない場合には、ルータとして起動しないか、あるいは、コールドスタートに移行する。こ
れによって、前回起動時に保持していた初期設定情報が現状のネットワーク構成を反映していないという不整合が生じたままルータが立ち上がってしまうことが回避される。
【００７０】
以上、本発明に係るネットワークシステムについて、実施の形態に基づいて説明したが、本発明はこの実施の形態に限定されるものではない。
たとえば、本実施の形態では、ルータ１０〜１３は、２つのサブネットを接続したが、３以上のサブネットを接続する機能を有してもよい。
【００７１】
また、手動設定ルータが設定するネットＩＤの記憶方法としては、メモリ等のＩＣに格納しておく方法だけでなく、ディップスイッチ等によって設定しておく方法であってもよい。
【産業上の利用可能性】
【００７２】
本発明は、複数のネットワークがルータ装置を介して接続されるネットワークシステム及びルータ装置として、例えば、同軸ＬＡＮケーブル、電灯線、赤外線、無線等の各種伝送メディアからなるネットワークシステム及びそれらの伝送メディアを接続するゲートウェイ等のルータ装置等として利用することができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施の形態におけるネットワークシステムの構成例を示す図である。
【図２】ルータの構成を示す機能ブロック図である。
【図３】ルータ記憶するプロパティの例を示す図である。
【図４】自動設定ルータのコールドスタートにおける起動条件を示すテーブルである。
【図５】自動設定ルータのコールドスタートにおける基本シーケンスを示す図である。
【図６】２つのネットワークシステムが自動設定ルータによって統合される例を示す図である。
【図７】手動設定ルータのコールドスタートにおける起動条件を示すテーブルである。
【図８】手動設定ルータのコールドスタートにおける基本シーケンスを示す図である。
【図９】ネットＩＤサーバが接続されていないネットワークシステム同士が手動設定ルータによって統合される例を示す図である。
【図１０】ルータのウォームスタートにおける起動条件を示すテーブルである。
【図１１】ルータのウォームスタートにおける基本シーケンスを示す図である。
【符号の説明】
【００７４】
１、２    ネットＩＤサーバ
１０〜１６  ルータ
２０〜２３    ネットワークシステム
３０〜３４  サブネット
１００    第１通信Ｉ／Ｆ部
１０１    第２通信Ｉ／Ｆ部
１０２    制御部
１０３    ルータ情報記憶部
１０４    自ルータ情報記憶部
１０４ａ  第１プロパティ記憶部
１０４ｂ  第２プロパティ記憶部
１０５    全ルータ情報記憶部