(57)【要約】【課題】  本発明はルーティングリカバリシステムに関し、自装置及び他複数装置のルーティング情報をそれぞれ二元管理し、ルーティングが自装置情報で解決できない状態が発生した場合、共有してある他装置情報を参照することで、ルーティングリカバリを行なうことができるルーティングリカバリシステムを提供することを目的としている。【解決手段】  各装置１０内に装置ＩＤ、転送先アドレス、ユーザが設定する優先度、シーケンス番号、従来のルーティングプロトコルにより作られたルーティング情報（一次ルーティング情報）にある宛先情報で構成される二次ルーティング情報生成データを記憶する揮発性メモリ２を持ち、前記二次ルーティング情報生成データを隣接装置１０間で送受信するように構成する。【選択図】    図１
2006094313.tif 000002
【特許請求の範囲】
【請求項１】
各装置内に装置ＩＤ、転送先アドレス、ユーザが設定する優先度、シーケンス番号、従来のルーティングプロトコルにより作られたルーティング情報（一次ルーティング情報）にある宛先情報で構成される二次ルーティング情報生成データを記憶する揮発性メモリを持ち、
前記二次ルーティング情報生成データを隣接装置間で送受信することを特徴とするルーティングリカバリシステム。
【請求項２】
前記送信された各隣接装置の二次ルーティング情報生成データから二次ルーティング情報を生成し、それを前記揮発性メモリに保持することを特徴とする請求項１記載のルーティングリカバリシステム。
【請求項３】
前記二次ルーティング情報を保持する際、前記揮発性メモリに同一装置から受信した二次ルーティング情報生成データより生成した二次ルーティング情報が既に存在する場合、二次ルーティング情報を更新することを特徴とする請求項２記載のルーティングリカバリシステム。
【請求項４】
前記揮発性メモリに二次ルーティング情報が保持されていない隣接装置から二次ルーティング情報生成データを受信した場合、揮発性メモリの空き容量に応じて二次ルーティング情報の追加保持、又は入れ替えを行なうことを特徴とする請求項２記載のルーティングリカバリシステム。
【請求項５】
前記二次ルーティング情報を同報送信する際、各装置においてユーザにより任意設定される時間間隔でＣＰＵ負荷を監視し、その負荷率に応じて送信周期を更新することを特徴とする請求項２記載のルーティングリカバリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はルーティングリカバリシステムに関する。近年、ネットワークの大規模、かつ複雑化に伴い、ネットワーク運用（トポロジ）が不安定になる頻度が高くなっている。そのため、データルーティングの高信頼化が望まれている。
【背景技術】
【０００２】
従来は、ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）ｖ１／ｖ２、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）といったルーティングプロトコルを使用し、装置間でネットワーク内全ての経路情報を交換することにより、各装置においてネットワーク全体の経路情報を同期させる。その後各装置において交換後の経路情報を元に自装置内で使用するルーティングテーブルを作成する（ネットワーク内の各装置が保持するルーティングテーブルが同期）。そして、生成したルーティングテーブルのみに従いデータ転送を行なう。また、ルーティングテーブルに転送（宛）先が存在しない場合は転送すべきデータを破棄する。
【０００３】
従来のこの種のシステムとしては、通常のＩＰ処理を行なうための運用系のＩＰ処理装置と、この運用系のＩＰ処理と同等の機能を有して代替的に用いられる少なくとも１つの冗長系のＩＰ処理装置からなるシステムが知られている（例えば特許文献１参照）。
【特許文献１】特開２０００−４１０６８（第３頁、第４頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ネットワーク規模が増大し、ネットワーク構成、更にはネットワーク運用ポリシーが複雑化しつつあり、何らかの事象（リンク状態の変化、装置の再起動／増設減設）又はネットワーク構成／ポリシーの変更をトリガに装置間で定常的に交換している経路情報が増減し、ルーティングプロトコル内のパケット処理、経路計算処理等が頻繁に実施されることにより装置が過負荷状態に陥る。そのため、正常に経路情報が交換できなくなり、ネットワーク内に存在する各装置で保持しているルーティングテーブルが同期しない（経路情報の一部が欠落）状態になる。
【０００５】
これに伴い、一時的に自装置には宛先情報がなく、他装置には宛先情報があるといった状態になり、転送すべきデータが破棄されるケースが頻繁に生じる。この結果、トポロジの状態が不安定になる。このような現象は、処理能力が低い装置ほど顕著にあらわれる。
【０００６】
本発明はこのような課題に鑑みてなされたものであって、自装置及び他複数装置のルーティング情報をそれぞれ二元管理し、ルーティングが自装置情報で解決できない状態が発生した場合、共有してある他装置情報を参照することで、ルーティングリカバリを行なうことができるルーティングリカバリシステムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
（１）請求項１記載の発明は、各装置内に装置ＩＤ、転送先アドレス、ユーザが設定する優先度、シーケンス番号、従来のルーティングプロトコルにより作られたルーティング情報（一次ルーティング情報）にある宛先情報で構成される二次ルーティング情報生成データを記憶する揮発性メモリを持ち、前記二次ルーティング情報生成データを隣接装置間で送受信することを特徴とする。
【０００８】
（２）請求項２記載の発明は、前記送信された各隣接装置の二次ルーティング情報生成データから二次ルーティング情報を生成し、それを前記揮発性メモリに保持することを特徴とする。
【０００９】
（３）請求項３記載の発明は、前記二次ルーティング情報を保持する際、前記揮発性メモリに同一装置から受信した二次ルーティング情報生成データより生成した二次ルーティング情報が既に存在する場合、二次ルーティング情報を更新することを特徴とする。
【００１０】
（４）請求項４記載の発明は、前記揮発性メモリに二次ルーティング情報が保持されていない隣接装置から二次ルーティング情報生成データを受信した場合、揮発性メモリの空き容量に応じて二次ルーティング情報の追加保持、又は入れ替えを行なうことを特徴とする。
【００１１】
（５）請求項５記載の発明は、前記二次ルーティング情報を同報送信する際、各装置においてユーザにより任意設定される時間間隔でＣＰＵ負荷を監視し、その負荷率に応じて送信周期を更新することを特徴とする。
【００１２】
（６）また、この発明において、前記各装置が同報送信する二次ルーティング情報生成データの優先度は、ネットワーク構成や、ネットワークを構成している装置の処理能力を考慮し、ユーザが装置毎に任意設定できる構成にしたことを特徴とする。
【００１３】
（７）また、この発明において、前記優先度が全ての装置で設定されていない、又は同一優先度が設定されている装置が複数存在する場合には、各装置においてユーザにより任意設定される時間間隔で送信される二次ルーティング情報生成データを一定時間内に隣接装置から受信した回数により優先度を自動決定し二次ルーティング情報の更新を行なうことを特徴とする。
【００１４】
（８）また、この発明において、前記一次ルーティング情報に宛先情報が存在しなかった場合、二次ルーティング情報を参照し、二次ルーティング情報に該当する宛先情報が存在する場合、優先度の高い装置に対してデータ転送し、ルーティング処理を委ねることを特徴とする。
【００１５】
（９）請求項９記載の発明は、前記ルーティングを委ねられた装置では、一次ルーティング情報に対象の宛先情報が存在すれば従来通りルーティングを行なうが、ルーティングを委ねた装置へデータを折り返し転送した場合、ルーティングを委ねた装置でこれを検出し、次に優先度の高い装置へルーティングを委ねることを特徴とする。
【発明の効果】
【００１６】
（１）請求項１記載の発明によれば、二次ルーティング情報を隣接装置間で送受信することにより、宛先情報を持つ隣接装置にルーティングを委ねることで、ネットワークトポロジが不安定な状態においても転送データが破棄される可能性を低くし、データ転送の信頼性を向上させることができる。
【００１７】
（２）請求項２記載の発明によれば、二次ルーティング情報を揮発性メモリに保持しておくことができ、ルーティングリカバリを実行することができる。
（３）請求項３記載の発明によれば、揮発性メモリに同一装置から受信した二次ルーティング情報が存在する場合には、該二次ルーティング情報を更新することで、最新の二次ルーティング情報とすることができる。
【００１８】
（４）請求項４記載の発明によれば、二次ルーティング情報が保持されていない隣接装置から二次ルーティング情報生成データを受信した場合、二次ルーティング情報の追加保持、又は入れ替えを行なうことができる。
【００１９】
（５）請求項５記載の発明によれば、ユーザによる任意設定される時間間隔でＣＰＵ負荷を監視し、その負荷率に応じて送信周期を更新することができる。
（６）この発明において、各装置が同報送信する二次ルーティング情報生成データの優先度を装置毎に任意設定できるようにすることができる。
【００２０】
（７）また、この発明において、一定時間内に隣接装置から受信した回数により優先度を自動決定し、二次ルーティング情報の更新を行なうことができる。
（８）また、この発明において、一次ルーティング情報に宛先情報が存在しなかった場合、二次ルーティング情報を参照してルーティング処理を委ねることができる。
【００２１】
（９）また、この発明において、ルーティング情報を委ねられた装置では、ルーティングを委ねた装置へデータを折り返し転送した場合、次に優先度の高い装置へルーティングを委ねることができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施の形態例を詳細に説明する。
図１は本発明の一実施の形態例を示すブロック図である。図において、１０＃１は装置、１０＃２は該装置と接続される隣接装置である。１１は隣接装置１０＃２から装置１０＃１側へ送信される一次ルーティング情報生成データ、１３は装置１０＃１から隣接装置１０＃２側へ送信される一次ルーティング情報生成データ、１２は隣接装置１０＃２から装置１０＃１側へ送信される二次ルーティング情報生成データ、１４は装置１０＃１から隣接装置１０＃２側に送信される二次ルーティング情報生成データである。
【００２３】
装置１０＃１において、１はファームウェアであり、ルーティングプロトコル１ａが含まれている。３は装置１０＃１側からの一次ルーティング情報を受けて二次ルーティング情報生成データを生成し、送信する二次ルーティング情報生成データ生成・送信部、４は隣接装置１０＃２からの二次ルーティング情報生成データ１２を受ける二次ルーティング情報生成データ受信部である。２は情報を保持する揮発性メモリで、一次ルーティング情報を保持する一次ルーティング情報メモリ２ａと、二次ルーティング情報を保持する二次ルーティング情報メモリ２ｂである。
【００２４】
５はルーティングプロトコル１ａの出力を受けて一次ルーティング情報を生成する生成部、６はルーティング情報生成データ受信部４で受信したデータから二次ルーティング情報を生成する生成部である。このように構成された装置の動作を説明すれば、以下の通りである。
【００２５】
装置１０＃１は、起動後、隣接する隣接装置１０＃２と一次ルーティング情報を生成するために一次ルーティング情報生成データのやりとりを行ない、従来のルーティングプロトコル１ａにより一次ルーティング情報を生成し、揮発性メモリ２内の一次ルーティング情報メモリ２ａに保持する（ここまでは従来の動作）。その後、ファームウェア１により一次ルーティング情報から二次ルーティング情報生成データ１４を生成し隣接装置１０＃２へ送信する（隣接装置１０＃２も同様に二次ルーティング情報生成データ１２を送信）。
【００２６】
隣接装置１０＃２から送られてきた二次ルーティング情報生成データ１２を受信した場合は、ファームウェア１によりその情報から二次ルーティング情報を解析し、続く生成部６で二次ルーティング情報を生成し、揮発性メモリ２内の二次ルーティング情報メモリ２ｂに保持する。
【００２７】
一次ルーティング情報は、経路の追加や削除が生じる度に、一次ルーティング情報生成データが送信され、それを基に更新する。二次ルーティング情報生成データの受信、生成・送信は定期的に行なわれる。
【００２８】
図２は装置間の二次ルーティング情報生成データのやりとりを示す図である。各装置１０は、運用が開始されてから隣接する装置との通信が確立された後、二次ルーティング情報生成データ送信周期に従い二次ルーティング情報生成データを隣接装置に同報送信する。装置Ａは隣接する装置Ｂ，Ｃ，Ｄ，Ｅ、装置Ｂは隣接する装置Ａ，Ｃ、装置Ｃは隣接する装置Ａ，Ｂ，Ｆ、装置Ｄは隣接する装置Ａ、装置Ｅは隣接する装置Ａ、装置Ｆは隣接する装置Ｃへ二次ルーティング情報生成データを同報送信する。
【００２９】
この実施の形態例によれば、二次ルーティング情報を隣接装置間で送受信することにより、宛先情報を持つ隣接装置へルーティングを委ねることで、ネットワークトポロジが不安定な状態においても転送データが破棄される可能性を低くし、データ転送の信頼性を向上させることができる。
【００３０】
図３は二次ルーティング情報の構成例を示す図である。送信された隣接装置からの二次ルーティング情報生成データから二次ルーティング情報（装置ＩＤ、転送先アドレス、優先度、シーケンス番号、宛先情報）を作成して装置毎に二次ルーティング情報メモリ２ｂに保持する。ここで、装置ＩＤとは同一ネットワーク内で一意の値である。転送先アドレスとは二次ルーティング情報生成データを送信した装置のアドレスである。優先度とは二次ルーティング情報を検索する際の順番を決めるためのものであり、優先度の高い二次ルーティング情報から順に低い二次ルーティング情報に向かって検索していく。
【００３１】
シーケンス番号とは、二次ルーティング情報生成データの新旧を判別するためのものであり、二次ルーティング情報生成データを生成する度にシーケンス番号を上げて送信する。揮発性メモリ２内に保持している二次ルーティング情報より受信した二次ルーティング情報生成データが古い場合は、二次ルーティング情報は更新しない。宛先情報（宛先サブネット）とはデータ転送が可能な宛先のことである。
【００３２】
この図では、先頭に最も優先度が高い優先度１００の二次ルーティング情報生成データから生成された二次ルーティング情報を保持する。次は、２番目に優先度が高い優先度８０の二次ルーティング情報生成データから生成された二次ルーティング情報を保持する。以降、優先度の高い順に揮発性メモリ２に二次ルーティング情報を追加保持する。この例では、高優先度順に揮発性メモリに保持しているが、保持のしかたに制限はない。
【００３３】
この実施の形態例によれば、二次ルーティング情報を揮発性メモリに保持しておくことができ、ルーティングリカバリを実行することができる。
図４は揮発性メモリの更新処理フローチャートを示す図である。二次ルーティング情報生成データを受信すると（Ｓ１）、既に自装置の揮発性メモリ２に二次ルーティング情報として保持されているかどうかを装置ＩＤ情報を基にチェックする（Ｓ２）。保持されている場合には、シーケンス番号チェックにより保持されている情報より新しいかどうかを判定する（Ｓ３）。ここで、古いと判定された場合には、二次ルーティング情報生成データを廃棄する（Ｓ１２）。新しいと判定された場合には、保持されている情報と送られてきた二次ルーティング情報生成データの装置ＩＤ、優先度、宛先情報の差分をチェックする（Ｓ４）。
【００３４】
差分がない場合には、二次ルーティング情報生成データを破棄して処理を終了する（Ｓ１２）。差分がある場合には、生成部６は受信した二次ルーティング情報生成データで二次ルーティング情報を生成し（Ｓ５）揮発性メモリ２の二次ルーティング情報メモリ２ｂを更新する（Ｓ６）。
【００３５】
この実施の形態例によれば、揮発性メモリ２に同一装置から受信した二次ルーティング情報が存在する場合には、該二次ルーティング情報を更新することで、最新の二次ルーティング情報とすることができる。
【００３６】
再び、図４の説明に戻る。ステップＳ２において、揮発性メモリ２にルーティング情報が保持されていない場合、揮発性メモリ２に二次ルーティング情報を追加するだけの空き容量があるかどうかチェックする（Ｓ７）。空き容量がない場合、揮発性メモリ２に送信された二次ルーティング情報生成データより低優先度の二次ルーティング情報があるかどうかをチェックする（Ｓ８）。ない場合には、二次ルーティング情報生成データを破棄して処理を終了する（Ｓ１２）。
【００３７】
ステップＳ８で低優先度の二次ルーティング情報がある場合には、揮発性メモリ２に保持されている二次ルーティング情報のうち最低優先度の二次ルーティング情報を削除し（Ｓ９）、ステップＳ７に戻る。ステップＳ７において、空きがある場合には、優先度をチェックし（Ｓ１０）、揮発性メモリ２に優先度順（検索しやすいよう）に二次ルーティング情報を登録する（Ｓ１１）。
【００３８】
また、装置の減設等により二次ルーティング情報インターバル（任意設定可能）内に情報の更新が行なわれなかった場合には、エージング処理により揮発性メモリ２から二次ルーティング情報を削除する。
【００３９】
この実施の形態例によれば、二次ルーティング情報が保持されていない隣接装置から二次ルーティング情報生成データを受信した場合、二次ルーティング情報の追加保持、又は入れ替えを行なうことができる。
【００４０】
装置が二次ルーティングによりデータ転送を委ねられた時、その装置のＣＰＵ負荷が高い場合、転送遅延やデータ欠損が生じる可能性がある。そのため、ＣＰＵ負荷が高い装置から送信された二次ルーティング情報生成データより生成された二次ルーティング情報の優先順位を低くし、ＣＰＵ負荷が高い装置へ転送する確率を下げる。そのために、ＣＰＵ負荷（稼働率［％］）をＣＰＵ負荷監視周期で監視し、ＣＰＵ負荷に応じて二次ルーティング情報生成データの送信周期を自動調整する。ＣＰＵ負荷が高いほど送信周期を長くし、ＣＰＵ負荷が低いほど送信周期を短かくする。この周期は、以下のようにして求めることができる。
【００４１】
図６は二次ルーティング情報生成データ送信周期を示す図である。ＸはＣＰＵ負荷監視周期で測定したＣＰＵ負荷（稼働率［％］）、Ｙは二次ルーティング情報生成データ送信周期初期値［ｓ］、Ｓは二次ルーティング情報生成データ送信周期［ｓ］である。ＣＰＵ負荷監視周期、送信周期の初期値はユーザが任意に設定できる。二次ルーティング情報生成データ送信周期Ｓは次式で表される。
【００４２】
Ｓ＝（（Ｘ／１００）＋１）Ｙ
この式で、ＣＰＵ負荷が０％の時、送信周期は初期値のＹになり、１００％の時は送信周期は初期値Ｙの２倍になる。送信周期の初期値ＹとＣＰＵ負荷監視周期Ｘに対する送信周期Ｓの値の例を図６中に示している。例えば、Ｙが１０Ｓ、Ｘが６０％の時は、Ｓは上式から
Ｓ＝（（６０／１００）＋１）×１０＝１６Ｓ
となる。
【００４３】
この実施の形態例によれば、ユーザによる任意設定される時間間隔でＣＰＵ負荷を環視し、その負荷率に応じて送信周期を更新することができる。
また、優先度に関しては、ユーザが任意設定することもできる。ユーザは予めネットワーク設計の際に処理性能が低い装置や、負荷が高くなる装置の優先度を低く設定しておく。優先度の設定を行なわなかった場合、優先度は初期値の０としておく。
【００４４】
この実施の形態例によれば、各装置が同報送信する二次ルーティング情報生成データの優先度を装置毎に任意設定するできるようにすることができる。
次に、優先度が全ての装置で設定されていない、又は同一優先度が設定されている装置が複数存在する場合について説明する。先ず、全装置に優先度がユーザにより設定されていない場合の優先度の決定方法を図６を用いて説明する。図６は全装置に優先度が決定されていない場合の説明図である。隣接装置Ｂ，Ｃ，Ｄから図６に示すような優先度と受信回数で二次ルーティング情報生成データを受信したとする。受信した装置の二次ルーティング情報生成データには、全て優先度が設定されておらず初期値の０になっているため、受信回数のチェックを行なう。この中では、装置Ｃからの二次ルーティング情報生成データの受信回数が６と最も多いため、装置Ｃから受信した二次ルーティング情報生成データより生成した二次ルーティング情報の優先順位を１位にする。
【００４５】
次に、受信回数が５と多い装置Ｂからの二次ルーティング情報生成データより生成した二次ルーティング情報の優先順位を２位にする。一番受信回数が少ない（３個）装置Ｄより受信した二次ルーティング情報生成データで生成した二次ルーティング情報の優先順位を最下位に（３位）に設定する。
【００４６】
次に、同一優先度の装置が複数ある場合の優先順位の決定方法を図７を用いて説明する。図８は同一優先度の装置が複数ある場合の説明図である。隣接装置Ｂ，Ｃ，Ｄ，Ｅ，Ｆから図に示すような優先度、受信回数、装置ＩＤで二次ルーティング情報生成データを受信したものとする。先ず、優先度が設定されているかのチェックを行なう。装置Ｆから受信した二次ルーティング情報生成データは、優先度がユーザ設定されておらず、初期値の０になっており、最も優先度が低いため優先順位は最下位になる。
【００４７】
その他の二次ルーティング情報生成データには優先度は設定されているので、次に優先度比較を行なう。残りの二次ルーティング情報生成データのうち、同一優先度がないのは装置Ｂから受信した二次ルーティング情報生成データだけである。比較した結果、最も低い優先度であることが分かるため、優先順位は４位に設定する。その他の二次ルーティング情報生成データは、全て優先度が１００であるため、受信回数の比較を行なう。
【００４８】
装置Ｃより受信した二次ルーティング情報生成データは、他装置から受信した二次ルーティング情報生成データに比べて受信回数が３と少ないため、優先順位は３位に決定する。残りの装置ＤとＥから受信した二次ルーティング情報生成データは、受信回数も６と同じであるため、装置ＩＤの比較によって優先順位を決める。この場合、装置ＩＤが大きいのは装置Ｅであるため、優先順位は装置Ｅが１位で、装置Ｄが２位になる。装置ＩＤは、ネットワーク内で同一のものが存在することはないので、最終的には装置ＩＤを比較すれば優先順位を決定することができる。
【００４９】
この実施の形態例によれば、一定時間内に隣接装置から受信した回数により優先度を自動決定し、二次ルーティング情報の更新を行なうことができる。
図８は２段ルーティングのフローチャートを示す図である。データを受信した場合（Ｓ１）、折り返されたデータであるかどうかチェックする（Ｓ２）。折り返されたデータである場合には、ステップＳ６にジャンプする。折り返されたデータでない場合には、一次ルーティング情報を検索し（Ｓ３）、転送先があるかどうかチェックする（Ｓ４）。そして、宛先（転送先）がある場合には、その宛先にデータ転送し（Ｓ５）、処理を終了する。
【００５０】
ステップＳ４において、転送先がない場合には、二次ルーティング情報を検索する（Ｓ６）。この場合において、二次ルーティング情報のうち、最高優先度のものから検索していく。そして、転送先があるかどうかチェックする（Ｓ７）。転送先がある場合には、使用済みの転送先であるかどうかチェックする（Ｓ８）。使用済みの転送先でない場合には、データを転送し（Ｓ９）、処理を終了する。使用済みの転送先である場合には、ステップＳ６に戻る。
【００５１】
ステップＳ７において、転送先がない場合には、検索が完了したかどうかチェックする（Ｓ１０）。最後の二次ルーティング情報まで検索しても宛先情報が存在しない場合には、データを破棄して（Ｓ１１）、処理を終了する。検索が完了していない場合には、次の優先度の二次ルーティング情報へ移り（Ｓ１２）、二次ルーティング情報の検索を行なう（Ｓ６）。
【００５２】
この実施の形態例によれば、一次ルーティング情報に宛先情報が存在しなかった場合には、二次ルーティング情報を参照してルーティング処理を委ねることができる。
図８において、一次ルーティング情報に従いデータを転送した結果、自装置にデータが折り返ってきた場合、二次ルーティング情報の優先度上位より順に検索を行なう。検索の結果、宛先情報が存在する場合、該当装置へデータを転送する。その結果、自装置にデータが折り返ってきた場合、次に優先度の高い二次ルーティング情報の検索を行なう。これを二次ルーティング情報がなくなるまで繰り返す。最後の二次ルーティング情報まで検索しても宛先情報が存在しない場合には、データを破棄して処理を終了する。
【００５３】
この実施の形態例によれば、ルーティング情報を委ねられた装置では、ルーティングを委ねた装置へデータを折り返し転送した場合、次に優先度の高い装置へルーティングを委ねることができる。
【００５４】
図９はデータ送信の例を示す図であり、装置Ｅから装置Ｆへデータを送信する場合のデータ転送ルートを示している。図１０はこの時の各装置が持つルーティング情報を示している。図１０では、シーケンス番号、優先度、装置ＩＤは省略されている。優先度は装置Ｄ＞装置Ｂ＞装置Ｃ＞装置Ａであるものとする。
【００５５】
先ず、装置Ｅから装置Ａにデータが送信される。装置Ａは自装置の一次ルーティング情報を検索する。正常である場合には、ここで一次ルーティング情報に宛先情報が存在し、装置Ｃにデータ転送されるが、装置Ａの一次ルーティング情報には一時的に宛先情報３０．０．０．０／２４が存在しないため、二次ルーティング情報を検索する。二次ルーティング情報の最高優先度は装置Ｄのものであるが、ここにも宛先情報３０．０．０．０／２４がないため、次に高優先の装置Ｂの二次ルーティング情報を検索する。
【００５６】
次の装置Ｂの二次ルーティング情報には、宛先情報３０．０．０．０／２４があるので、装置Ａはデータを装置Ｂに転送する。データを受け取った装置Ｂは、一次ルーティング情報を検索する。装置Ｂは、一次ルーティング情報に宛先情報３０．０．０．０／２４が存在するため、これに従い装置Ｃ（１０．１６０．０．３）へデータを転送する。データを受け取った装置Ｃは、一次ルーティング情報を検索する。装置Ｃは、一次ルーティング情報に宛先情報３０．０．０．０／２４が存在するため、これに従い、装置Ｆへデータを転送する。以上の説明において、図１０の実線の矢印は正常ルート、破線の矢印は装置Ａが３０．０．０．０／２４の一次ルーティング情報を持たない場合のルートを示している。
【００５７】
図１１はデータ送信の他の例を示す図、図１２はこの時の各装置が持つルーティング情報を示す図である。図１２では、シーケンス番号、優先度、装置ＩＤは省略されている。優先度は装置Ｄ＞装置Ｂ＞装置Ｃ＞装置Ａであるものとする。先ず装置Ｅから装置Ａに対してデータが送信される。装置Ａは自装置の一次ルーティング情報を検索する。ここでは何らかの原因で装置Ａの一次ルーティング情報には宛先情報３０．０．０．０／２４が存在しないため、二次ルーティング情報を検索する。
【００５８】
二次ルーティング情報の最高優先度は装置Ｄのものであり、ここには宛先情報３０．０．０．０／２４が存在する。そこで、装置Ａはデータを装置Ｄに転送する。装置Ｄは、一次ルーティング情報を検索した結果、宛先情報３０．０．０．０／２４が存在するため、それに従い装置Ａ（１０．１６０．０．１）に転送する。装置Ａはデータが折り返ってきたことを検出し、次に優先度の高い装置Ｂの二次ルーティング情報を検索する。ここには、宛先情報３０．０．０．０／２４が存在するため、データを装置Ｂに転送する。
【００５９】
装置Ｂは一次ルーティング情報を検索する。装置Ｂは一次ルーティング情報に宛先情報３０．０．０．０／２４が存在するため、これに従い装置Ｃ（１０．１６０．０．３）へデータを転送する。データを受け取った装置Ｃは、一次ルーティング情報を検索する。装置Ｃは、一次ルーティング情報に宛先情報３０．０．０．０／２４が存在するため、これに従い装置Ｆへデータを転送する。
【００６０】
以上、説明したように、本発明によれば、従来は一次ルーティング情報に宛先情報が存在しない場合、データは破棄されていたが、本発明では宛先情報を持つ隣接装置にルーティングを委ねることでネットワークトポロジが不安定な状態においても転送データが破棄される可能性を低くし、データ転送の信頼性を向上させることができる。
【００６１】
（付記１）  装置ＩＤ、転送先アドレス、ユーザが設定する優先度、シーケンス番号、従来のルーティングプロトコルにより作られたルーティング情報（一次ルーティング情報）にある宛先情報で構成される二次ルーティング情報生成データを記憶する揮発性メモリを持ち、
前記二次ルーティング情報生成データを隣接装置間で送受信することを特徴とするルーティングリカバリシステム。
【００６２】
（付記２）  前記送信された各隣接装置の二次ルーティング情報生成データから二次ルーティング情報を生成し、それを前記揮発性メモリに保持することを特徴とする付記１記載のルーティングリカバリシステム。
【００６３】
（付記３）  前記二次ルーティング情報を保持する際、前記揮発性メモリに同一装置から受信した二次ルーティング情報生成データより生成した二次ルーティング情報が既に存在する場合、二次ルーティング情報を更新することを特徴とする付記２記載のルーティングリカバリシステム。
【００６４】
（付記４）  前記揮発性メモリに二次ルーティング情報が保持されていない隣接装置から二次ルーティング情報生成データを受信した場合、揮発性メモリの空き容量に応じて二次ルーティング情報の追加保持、又は入れ替えを行なうことを特徴とする付記２記載のルーティングリカバリシステム。
【００６５】
（付記５）  前記二次ルーティング情報を同報送信する際、各装置においてユーザにより任意設定される時間間隔でＣＰＵ負荷を監視し、その負荷率に応じて送信周期を更新することを特徴とする付記２記載のルーティングリカバリシステム。
【００６６】
（付記６）  前記各装置が同報送信する二次ルーティング情報生成データの優先度は、ネットワーク構成や、ネットワークを構成している装置の処理能力を考慮し、ユーザが装置毎に任意設定できる構成にしたことを特徴とする付記１記載のルーティングリカバリシステム。
【００６７】
（付記７）  前記優先度が全ての装置で設定されていない、又は同一優先度が設定されている装置が複数存在する場合には、各装置においてユーザにより任意設定される時間間隔で送信される二次ルーティング情報生成データを一定時間内に隣接装置から受信した回数により優先度を自動決定し二次ルーティング情報の更新を行なうことを特徴とする付記６記載のルーティングリカバリシステム。
【００６８】
（付記８）  前記一次ルーティング情報に宛先情報が存在しなかった場合、二次ルーティング情報を参照し、二次ルーティング情報に該当する宛先情報が存在する場合、優先度の高い装置に対してデータ転送し、ルーティング処理を委ねることを特徴とする付記１記載のルーティングリカバリシステム。
【００６９】
（付記９）  前記ルーティングを委ねられた装置では、一次ルーティング情報に対象の宛先情報が存在すれば従来通りルーティングを行なうが、ルーティングを委ねた装置へデータを折り返し転送した場合、ルーティングを委ねた装置でこれを検出し、次に優先度の高い装置へルーティングを委ねることを特徴とする付記８記載のルーティングリカバリシステム。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施の形態例を示すブロック図である。
【図２】装置間の二次ルーティング情報生成データのやりとりを示す図である。
【図３】二次ルーティング情報の構成例を示す図である。
【図４】揮発性メモリの更新処理フローチャートを示す図である。
【図５】二次ルーティング情報生成データ送信周期を示す図である。
【図６】全装置に優先度が決定されていない場合の説明図である。
【図７】同一優先度の装置が複数ある場合の説明図である。
【図８】２段ルーティングのフローチャートを示す図である。
【図９】データ送信の例を示す図である。
【図１０】各装置が持つルーティング情報を示す図である。
【図１１】データ送信の他の例を示す図である。
【図１２】各装置が持つルーティング情報を示す図である。
【符号の説明】
【００７１】
１    ファームウェア
１ａ  ルーティングプロトコル
２    揮発性メモリ
２ａ  一次ルーティング情報
２ｂ  二次ルーティング情報
３    二次ルーティング情報生成データ生成・送信部
４    二次ルーティング情報生成データ受信部
１０  装置
１１  一次ルーティング情報生成データ
１２  二次ルーティング情報生成データ
１３  一次ルーティング情報生成データ
１４  二次ルーティング情報生成データ
【図１】
2006094313.tif 000003
【図２】
2006094313.tif 000004
【図３】
2006094313.tif 000005
【図４】
2006094313.tif 000006
【図５】
2006094313.tif 000007
【図６】
2006094313.tif 000008
【図７】
2006094313.tif 000009
【図８】
2006094313.tif 000010
【図９】
2006094313.tif 000011
【図１０】
2006094313.tif 000012
【図１１】
2006094313.tif 000013
【図１２】
2006094313.tif 000014