(57)【要約】【課題】ノードに格納された経路選択テーブルのプライオリティを制御する方法を提供する。【解決手段】当該ノード内の経路選択テーブルに変化があった場合に、テーブルに含まれる各エントリのプライオリティの整合性を検証する。整合性を保つためにプライオリティが高くなるエントリについては、高いプライオリティに書き換える。整合性を保つためにプライオリティが低くなるエントリについては、古い情報のまま一定時間保持する。一定時間が経過した後、プライオリティの整合性を取る。一定時間経過前に、他のノードから当該ノードの経路選択情報の参照があった場合には、プライオリティの整合性が取られた経路選択テーブルを他のノードへ送る。【選択図】図３
2004297222.tif 000002
【特許請求の範囲】
【請求項１】
以下のステップを備える、経路選択テーブルの自動設定方法：
（１）当該ノード内の経路選択テーブルに変化があった場合に、前記テーブルに含まれる各エントリのプライオリティの整合性を検証するステップ；
（２）前記整合性を保つためにプライオリティが高くなるエントリについては、前記高いプライオリティに書き換えるステップ；
（３）前記整合性を保つためにプライオリティが低くなるエントリについては古い情報のまま一定時間保持するステップ；
（４）前記一定時間が経過した後、前記プライオリティの整合性を取るステップ。
【請求項２】
さらに以下のステップを備える、請求項１記載の経路選択テーブルの自動設定方法：
（５）前記一定時間経過前に、他のノードから当該ノードの経路選択情報の参照があった場合には、プライオリティの整合性が取られた経路選択テーブルを前記他のノードへ送るステップ。
【請求項３】
以下のステップを備える、経路選択テーブルの自動設定方法：
（１）ノードの安定を待つステップ；
（２）前記ノードが安定した後、周囲のノードにおけるアドレスのばらつきの偏りを判断するステップ；
（３）前記ステップ（２）において、アドレスのばらつきが偏っていると判断された場合には、前記ノードにおいて既に割り振られているアドレスを無効とし、再度アドレスを割り振るステップ。
【請求項４】
請求項１〜３のいずれかの設定方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、経路選択テーブルの自動設定方法に関するものである。
【０００２】
【発明の背景】
発明者は、既に、複数の物理ネットワークにまたがって、経路選択可能アドレスを自動的に割り当てるアルゴリズムを提案した（下記特許文献１）。このアルゴリズムを以下ＡＣＲＰと称する。ＡＣＲＰを用いて、多段のサブネットアドレスを使ったアドレス設定を実際に実装した場合、タイミングによっては、実際にアドレスが決まらない現象が発生する。
【０００３】
どのような時にアドレスが定まらなくなるかを以下に説明する。ＡＣＲＰでは、サブネットアドレスが存在するとき、ノードが集まってできた一つのサブネット自体に一つのプライオリティを与える。このプライオリティを与える方法は、ＡＣＲＰでは、サブネットに属しているノードのプライオリティのうち、一番強いものをサブネットのプライオリティとした。何らかの理由により、そのサブネットから一番強いノードが抜けると、サブネット全体のプライオリティが変化することになる。しかし、その変化がサブネット全体に広がるには時間がかかる。その伝搬時間の間、一時的に、一つのサブネット中にプライオリティの違う部分グループができることになる。
【０００４】
ＡＣＲＰのルールでは、同じアドレスであっても、プライオリティが異なれば、違うサブネットであると認識することになっていた。したがって、同じアドレスで異なるサブネットが存在すれば、プライオリティの比較により、どちらかのサブネットは消滅する。すなわち、一時的にでも、サブネット中に異なるプライオリティの部分ができるということは、この二つの部分の境界線にあるノードは、同じアドレスで、しかも異なるサブネットに接していると誤認識し、アドレス重複を避けるため、プライオリティの高い方のサブネットを消滅させる。
【０００５】
ここで、図１のようにネットワークの一部にループが存在していたとする。ノードＡからノードＤまでの４つが同じサブネットであったとする。ノードＡを一番プライオリティが最も高いノードとする。こう仮定したときに、ノードＡが何らかの理由によりネットワークから抜けたとする。
【０００６】
まず、定期的な周囲からの情報収集により、いずれかのノード（例えばノードＣ）は、ノードＡがなくなったことを認識する。これにより、ノードＣにおける、サブネットのプライオリティは弱い方へ修正される。つぎに、ノードＢが、同様に周囲から情報収集を行い、ノードＢのサブネットが弱いプライオリティへ修正される。このとき、ノードＤだけが高いプライオリティのままで残っていたとする。
【０００７】
もし、ノードＤが有するプライオリティ情報も同様に更新されたとすると、サブネットは全体的にプライオリティが変化するのみで、安定する。しかし、タイミングによっては、ノードＤの情報が更新される前に、再びノードＣが周囲の情報を収集する。すると、自分のサブネットと、ノードＤのサブネットとが同一アドレスでかつ異なるプライオリティであることになる。従って、ノードＣは、ＡＣＲＰのアルゴリズムに従って、もう一度アドレスをつけなおさなければならない。新しいアドレスは、周囲からの情報により、ノードＤのサブネットアドレスとなる。すると、ノードＣのサブネットのプライオリティが再び強い方へ変化してしまうことになる。
【０００８】
弱いプライオリティがノードＣからノードＢへ伝搬したように、ノードＢからノードＤへ伝搬し、タイミングによっては、それを追う形で、ノードＢが高いプライオリティになることがある。そうすると、プライオリティは、このループを循環することになり、永遠にアドレスが定まらないことになる。
【０００９】
【従来技術】
【特許文献１】
特開２００１−５３８０６号公報
【発明が解決しようとする課題】
本発明は、前記の事情に鑑みてなされたものである。本発明の目的の一つは、経路選択テーブルのプライオリティを制御する方法を提供することである。
【００１０】
【課題を解決するための手段】
本発明に係る経路選択テーブルの自動設定方法は、以下のステップを備えている：
（１）当該ノード内の経路選択テーブルに変化があった場合に、前記テーブルに含まれる各エントリのプライオリティの整合性を検証するステップ；
（２）前記整合性を保つためにプライオリティが高くなるエントリについては、前記高いプライオリティに書き換えるステップ；
（３）前記整合性を保つためにプライオリティが低くなるエントリについては古い情報のまま一定時間保持するステップ；
（４）前記一定時間が経過した後、前記プライオリティの整合性を取るステップ。
【００１１】
前記の自動設定方法は、さらに以下のステップを備えることができる：
（５）前記一定時間経過前に、他のノードから当該ノードの経路選択情報の参照があった場合には、前記プライオリティの整合性が取られた経路選択テーブルを前記他のノードへ送るステップ。このステップは、前記ステップ（３）の処理とは別に実行される。
【００１２】
本発明に係る経路選択テーブルの自動設定方法は、以下のステップを備える構成であっても良い：
（１）ノードの安定を待つステップ；
（２）前記ノードが安定した後、周囲のノードにおけるアドレスのばらつきの偏りを判断するステップ；
（３）前記ステップ（２）において、アドレスのばらつきが偏っていると判断された場合には、前記ノードにおいて既に割り振られているアドレスを無効とし、再度アドレスを割り振るステップ。
【００１３】
本発明に係るコンピュータプログラムは、前記のいずれかの設定方法をコンピュータに実行させるものである。
【００１４】
【発明の実施の形態】
（第１実施形態…請求項１に対応）
本発明の第１実施形態に係る自動設定方法を以下に説明する。まず、この方法に用いるノードの構成について説明する。このノードは、図２に示されるように、送信部１と受信部２と制御部３と経路選択テーブル４とを機能要素として備えている。送信部１および受信部２は、ネットワーク１に接続されている。制御部３は、経路選択テーブル４の情報に従って経路情報を他のノードに送信したり、他のノードからの情報に従って経路選択テーブル４を書き換える。詳しい動作は後述する。経路選択テーブル４は、経路選択情報を格納するテーブルである。ノードの構成は、通常のノードと同様である。また、この実施形態におけるノードのトポロジーは、図１と同様とする。
【００１５】
つぎに、第１実施形態における自動設定方法を、図１、図３および図４を参照して説明する。まず、初期状態を次のように仮定する。ノードＣにおけるテーブルが初期状態において図４（ａ）の状態であったとする。この例では、エントリのリスト１０におけるエントリは４、その下位におけるサブネットのエントリリスト１１におけるエントリは１，２，３，４である。したがって、ここに示されたアドレスは４．１，４．２，４．３，４．４の４つである。これらのアドレスを４．Ｘのように示す。リスト１０のエントリ４におけるプライオリティは、その下位におけるサブネット４．Ｘに属するノードの最高のプライオリティ「１」となる。
【００１６】
上記プライオリティの考え方に基づき、すべてのレベルの、当ノードのアドレスに該当するエントリのプライオリティが、一つ下のサブネットのプライオリティのうちもっとも高いプライオリティと一致した場合、整合性がとれていると定義し、また、一致していない場合整合性がとれていないと定義する。
【００１７】
ノードは、何らかの理由により、経路選択テーブルの内容が書き変わった（つまり変化があった）場合、この検証方法により、整合性を検証する（ステップ３−１）。
【００１８】
ついで、ノードは、自身の経路選択テーブルの整合性がとれていないことを確認した場合、「整合性を保つために、エントリのプライオリティが高くなるかどうか」を判断する（ステップ３−２）。そうであれば、直ちにエントリのプライオリティを書き換えて、整合性を保つ。ステップ３−２の判断がＮｏであれば、整合性を保つためにプライオリティを低くする必要があるかどうかを判断する（ステップ３−４）。そうであれば、各エントリについて、即座に整合性を取らず、古い情報をそのまま保持する（ステップ３−５）。保持する時間の長さは、例えば５分程度というように、適宜の数値に設定される。ステップ３−４の判断がＮｏであれば、プライオリティに変更がないことになるので、何もしなくて良い（ステップ３−６）。ステップ３−５の後、一定時間が経過すると、各エントリのプライオリティを、整合性が保てるように書き換える。
【００１９】
プライオリティを保持している間に、何らかの理由により、他のノードから当該ノードの経路選択テーブルの参照があった場合、ノードは、一旦経路選択テーブルをコピーする。ついで、このコピーされた経路選択テーブルについては、すべてのエントリの整合性を取る。ついで、この経路選択テーブルを、参照要求を出したノードへ送る。
【００２０】
通常の実施形態では、サブネットの中の最高プライオリティを持ったノードが何らかの理由でネットワークから離脱した場合に、このノードを含むサブネットのプライオリティが低下することになるが、この実施形態では、プライオリティを古いまま保存する間、経路選択テーブルの情報がサブネット全体に広がり、しかも、問題のプライオリティは高いまま保たれたままなので、サブネット内部に異なるプライオリティの情報が複数存在することもない。経路選択テーブルの情報がサブネット全体に広がったところで、保持時間が切れ、各ノードの経路選択テーブルは整合性が取られる。
【００２１】
参照される経路選択テーブルはコピーしたのち、整合性を取って、参照側に渡されるので、サブネットの外へは、プライオリティの変化はただちに通知されることになり、この実施形態においても、サブネットの外側ではアドレス割り当ての時間的効率は保たれることになる。
【００２２】
（第２実施形態…請求項２に対応）
つぎに、本発明の第２実施形態に係る自動設定方法を説明する。この方法に用いるノードの構成は、第１実施形態と同様である。また、この実施形態は、図６（ａ）に示されるように、ノードがツリー構造に接続されている時に特に有効に働く。ノードをＨ，Ｉ，Ｊにグループ分けして説明する。
【００２３】
まず、初期状態では、アドレス０．０の下に、アドレス０．１〜０．１２７までのノードが存在すると仮定する。ついで、ノード０．３の下に、３つのノードができたとする。これらの３つのノードに対するアドレスは、１．０，２．０，３．０のようになる。なお、このように、アドレスの最下位を揃えて上位のアドレスを付加する方式をｂｉｇｎｕｍ整数のアドレス方式と称する。この方式自体は周知である。さらに、ノード２．０の下にノードが増えると、それらのノードに対しては、１．０．０，２．０．０，３．０．０のようにアドレスが振られる。これでは、アドレスにおける下位の値が浪費されてしまい、アドレスの桁数が増大してしまう。このとき、図６（ｂ）のように、下位アドレスを変えながら追加ノードにアドレスを割り当てることも考えられるが、ｂｉｇｎｕｍ方式の場合は、アドレスは下位から詰まっていくので、このような割り当ては困難である。
【００２４】
そこで、この実施形態におけるノードは、経路選択テーブルの整合性がとれていない状態であったりアドレスが割り当てられていない状態でないことを確認する（ステップ５−１）。アドレスが割り当てられ、経路選択テーブルの整合性が保たれていて、すでにある一定の時間が経過している状態を、「ノードが安定した状態」と呼ぶ。ノードが安定状態になったら、次の条件を用いて、アドレスのばらつきを判定する（ステップ５−２）。
【００２５】
（条件）
２ホップ以上離れており、当該ノードとアドレス最下位から２桁目のサブネットアドレスが同じノードの数：Ａ個
１ホップ、つまり隣にあり、当該ノードとアドレス最下位から２桁目のサブネットアドレスが異なり、しかも、そのサブネットに属するノードが非常に少ない（たとえば１個しかない）ノードの数：Ｂ個
アドレス数：Ｍ（ＩＰアドレスであれば、Ｍ＝２５６となる）
このとき、
Ａ≒ＭかつＡ＋Ｂ＞＞Ｍ
を満たせば、アドレスのばらつきが偏っていると判定する。
【００２６】
前記条件において、「Ｍに近い（≒）」、「Ｍより十分大きい（＞＞）」とはどの程度かは、システムの性能によって決めればよい。例えば、ＡがＭの９０％以上であったばあい、Ｍに近いと判断する。また、例えば、Ａ＋ＢがＭの１５０％であった場合、Ｍより十分大きいと判断する。実際にどの程度が良いかは、システムのバランスに基づいて決定する。
【００２７】
前記条件を満たしたノードは、アドレス再割り当てを次のように行う（ステップ５−３）。このノードを注目ノードと呼ぶことにする。まず、注目ノード０．３の下位に位置するサブネットＩ中のノードにおいて、さらに下位のサブネットＪにおけるノード数が最小のノードを検索する。例えば、図６（ａ）の例では、ノード１．０がそれに該当する。この検索されたノードと同じサブネットアドレスを持ったアドレスを注目ノードに割り当てる。これにより、注目ノードのアドレスを１．０とすることができる。この状態を図７に示す。
【００２８】
このように注目ノードのアドレスが変わると、その周辺のノードもアドレスを変えなければ、これらノード間での経路選択は行えない。従って、ＡＣＲＰが実装されていれば、自動的に周囲のノードもアドレスが再割り当てされることになる。このとき、ＡＣＲＰの原理として、新しいアドレスをノードに割り当てようとした場合、できるだけ、ノード数の少ないサブネットに属するようにアドレスを割り振るため、結局注目ノードと同じサブネットを持ったノードが増えることになる。つまり、図７に示されるように、その下位にあるノードに対して、１．１，１．２，１．３というアドレスを割り当てることができる。これによって、下位アドレスの値の浪費を防ぐことができ、アドレス桁数の増大を抑えることができるという利点がある。
【００２９】
なお、前記実施形態および実施例の記載は単なる一例に過ぎず、本発明に必須の構成を示したものではない。各部の構成は、本発明の趣旨を達成できるものであれば、上記に限らない。
【００３０】
また、前記した各実施形態における構成要素は、機能要素として存在していればよい。一つの機能要素は、他の要素と統合されていてもよく、また、複数の部品やソフトによって一つの要素が実現されていてもよい。さらに機能要素の実現方法としては、ハードウエアを用いても、コンピュータソフトウエアを用いてもよい。さらに機能要素相互の接続形態は、ネットワークを介したものであってもよい。つまり、複数の機能要素が互いに離間した位置に存在していても良い。
【００３１】
【発明の効果】
本発明によれば、経路選択テーブルのプライオリティを制御する方法を提供することが可能となる。また、本発明によれば、アドレス桁数の増大を抑えることができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る経路選択テーブルの自動設定方法を説明するための説明図であって、ネットワークの構成を説明する図である。
【図２】ノードの構成を説明するためのブロック図である。
【図３】本発明の第１実施形態に係る経路選択テーブルの自動設定方法を説明するためのフローチャートである。
【図４】本発明の第１実施形態における経路選択テーブルの自動設定方法を説明するための図であって、図（ａ）〜（ｃ）はエントリの図である。
【図５】第２実施形態における経路選択テーブルの自動設定方法を説明するためのフローチャートである。
【図６】第２実施形態における経路選択テーブルの自動設定方法を説明するための説明図であって、図（ａ）および図（ｂ）はノードの図である。
【図７】第２実施形態における経路選択テーブルの自動設定方法を説明するための説明図であって、ノードの図である。
【符号の説明】
Ａ  第２ノード
Ｃ  第１ノード
１  ネットワーク
【図１】
2004297222.tif 000003
【図２】
2004297222.tif 000004
【図３】
2004297222.tif 000005
【図４】
2004297222.tif 000006
【図５】
2004297222.tif 000007
【図６】
2004297222.tif 000008
【図７】
2004297222.tif 000009