(57)【特許請求の範囲】
【請求項１】
ＩＰアドレスに従ってＩＰネットワークにおけるパケットの転送を複数のノード間で行うＩＰパケット転送制御システムであって、
受信したパケットが該パケットの宛先アドレスに従って転送される終点のノード以外のノードの一つを仮終点ノードとして特定し、該仮終点ノードのアドレス（仮終点アドレス）を上記受信したパケットに付与して該仮終点アドレスに従って転送するソースノードと、
該ソースノードからのパケットを受信して該パケットに付与された上記仮終点アドレスに従って転送する中継ノードと、
自アドレスと同じ仮終点アドレスのパケットを受信すると該仮終点アドレスを削除して、受信したパケットを、該パケットの宛先アドレスに従って転送する仮終点ノードと
を有し、
上記ソースノードは、上記仮終点ノードから上記終点のノードまで、上記パケットの宛先アドレスに従って転送されるパケットが、上記仮終点アドレスに従って自ノードから上記仮終点ノードに転送されるときに通るルートを通らなくても到達できるという条件を満たすノードを、上記仮終点ノードとして特定する仮終点ノード決定手段を有することを特徴とするＩＰパケット転送制御システム。
【請求項２】
ＩＰアドレスに従ってＩＰネットワークにおけるパケットの転送を複数のノード間で行うＩＰパケット転送制御システムであって、
受信したパケットが該パケットの宛先アドレスに従って転送される終点のノード以外のノードの一つを仮終点ノードとして特定し、該仮終点ノードのアドレス（仮終点アドレス）を上記受信したパケットに付与して該仮終点アドレスに従って転送するソースノードと、
該ソースノードからのパケットを受信して該パケットに付与された上記仮終点アドレスに従って転送する中継ノードと、
自アドレスと同じ仮終点アドレスのパケットを受信すると該仮終点アドレスを削除して、受信したパケットを、該パケットの宛先アドレスに従って転送する仮終点ノードと
を有し、
かつ、上記ソースノードと上記中継ノードおよび上記仮終点ノードと上記終点のノードのそれぞれは、
受信したパケットのヘッダの所定の個所に上記仮終点アドレスが設定されているか否かを判別する仮終点アドレス判別手段と、
該仮終点アドレス判別手段による判定の結果、上記仮終点アドレスが設定されていなければ、上記受信したパケットに対する上記仮終点アドレスの付加の要否を予め定められた条件に基づき決定する判断・切換手段と、
該判断・切換手段により上記受信したパケットに対する上記仮終点アドレスの付加を決定すると、該仮終点アドレスの仮終点ノードから上記終点のノードまで、上記パケットの宛先アドレスに従って転送されるパケットが、上記仮終点アドレスに従って自ノードから上記仮終点ノードに転送されるときに通るルートを通らなくても到達できるという条件を満たすノードを上記仮終点ノードとして特定する仮終点ノード決定手段と、
該仮終点ノード決定手段で特定した仮終点ノードのアドレスを上記受信したパケットに付加し該アドレスに従って上記受信したパケットを転送する仮終点アドレス設定・送出手段と、
上記仮終点アドレス判別手段による判定の結果、上記仮終点アドレスが設定されていれば、該仮終点アドレスが自ノードのアドレスであるか否かを確認する仮終点アドレス比較手段と、
該仮終点アドレス比較手段による確認の結果、上記仮終点アドレスが自ノードのアドレスでなければ、該仮終点アドレスに従って上記受信したパケットを転送する送出手段と、
上記仮終点アドレス比較手段による確認の結果、上記仮終点アドレスが自ノードのアドレスであれば、上記受信したパケットから上記仮終点アドレスを削除して、該パケットの宛先アドレスに従って転送する仮終点アドレス削除転送手段とを有することを特徴とするＩＰパケット転送制御システム。
【請求項３】
請求項１もしくは請求項２のいずれかに記載のＩＰパケット転送制御システムであって、
上記ソースノードは、輻輳を通知する制御パケットの受信を監視する手段と、受信した上記制御パケットの送出元のノードを特定して、該ノードに対する上記仮終点ノードを決定する手段とを有し、上記制御パケットの送出元の輻輳状態のノードへのパケットを上記仮終点ノードに転送し、
上記仮終点ノードは、自アドレスが上記仮終点アドレスとして付与されたパケットを蓄積する記憶手段と、上記制御パケットの送出元のノードにおける輻輳状態の鎮静化を監視する手段と、該監視の結果、上記制御パケットの送出元のノードにおける輻輳状態が鎮静化すれば、上記記憶手段に蓄積したパケットを読み出す手段と、該読み出したパケットから上記仮終点アドレスを削除して該パケットの宛先アドレスに従いシェーピングして転送する手段とを有する
ことを特徴とするＩＰパケット転送制御システム。
【請求項４】
ＩＰアドレスに従ってＩＰネットワークにおけるパケットの転送をソースノードから複数の中継ノードを介して終点ノードに向けて行うネットワークシステムのＩＰパケット転送制御方法であって、
上記ソースノードにおいて、上記複数の中継ノードの一つを仮終点ノードとして特定し、該仮終点ノードとして特定した中継ノードのアドレス（仮終点アドレス）を、受信したパケットに付与して該仮終点アドレスに従って転送するステップと、
上記中継ノードにおいて、上記ソースノードから受信したパケットに付与された上記仮終点アドレスと自アドレスとを比較し、異なれば、受信したパケットを付与された上記仮終点アドレスに従って転送し、同じであれば、受信したパケットから上記仮終点アドレスを削除して、該パケットの宛先アドレスに従って転送するステップと、
上記ソースノードにおいて上記仮終点ノードを特定するために、
上記仮終点ノードから上記終点ノードまで、上記パケットの宛先アドレスに従って転送されるパケットが、上記仮終点アドレスに従って自ノードから上記仮終点ノードに転送されるときに通るルートを通らなくても到達できるという条件を満たすノードを特定するステップを有することを特徴とするＩＰパケット転送制御方法。
【請求項５】
ＩＰアドレスに従ってＩＰネットワークにおけるパケットの転送をソースノードから複数の中継ノードを介して終点ノードに向けて行うネットワークシステムのＩＰパケット転送制御方法であって、
上記ソースノードにおいて、上記複数の中継ノードの一つを仮終点ノードとして特定し、該仮終点ノードとして特定した中継ノードのアドレス（仮終点アドレス）を、受信したパケットに付与して該仮終点アドレスに従って転送するステップと、
上記中継ノードにおいて、上記ソースノードから受信したパケットに付与された上記仮終点アドレスと自アドレスとを比較し、異なれば、受信したパケットを付与された上記仮終点アドレスに従って転送し、同じであれば、受信したパケットから上記仮終点アドレスを削除して、該パケットの宛先アドレスに従って転送するステップとを有し、
かつ、上記ソースノードと上記中継ノードおよび上記仮終点ノードと上記終点のノードのそれぞれにおいて、
受信したパケットのヘッダの所定の個所に上記仮終点アドレスが設定されているか否かを判別する第１のステップと、
該第１のステップでの判定の結果、上記仮終点アドレスが設定されていなければ、上記受信したパケットに対する上記仮終点アドレスの付加の要否を予め定められた条件に基づき決定する第２のステップと、
該第２のステップにより上記受信したパケットに対する上記仮終点アドレスの付加を決定すると、該仮終点アドレスの仮終点ノードから上記終点のノードまで、上記パケットの宛先アドレスに従って転送されるパケットが、上記仮終点アドレスに従って自ノードから上記仮終点ノードに転送されるときに通るルートを通らなくても到達できるという条件を満たすノードを上記仮終点ノードとして特定する第３のステップと、
該第３のステップで特定した仮終点ノードのアドレスを上記受信したパケットに付加し該アドレスに従って上記受信したパケットを転送する第４のステップと、
上記第１のステップでの判定の結果、上記仮終点アドレスが設定されていれば、該仮終点アドレスが自ノードのアドレスであるか否かを確認する第５のステップと、
該第５のステップでの確認の結果、上記仮終点アドレスが自ノードのアドレスでなければ、該仮終点アドレスに従って上記受信したパケットを転送する第６のステップと、
上記第５のステップでの確認の結果、上記仮終点アドレスが自ノードのアドレスであれば、上記受信したパケットから上記仮終点アドレスを削除して、該パケットの宛先アドレスに従って転送する第７のステップと
を有することを特徴とするＩＰパケット転送制御方法。
【請求項６】
請求項４もしくは請求項５のいずれかに記載のＩＰパケット転送制御方法であって、
上記ソースノードにおいて、輻輳を通知する制御パケットの受信を監視し、受信した上記制御パケットの送出元のノードを特定して、該ノードに対する上記仮終点ノードを決定し、上記制御パケットの送出元の輻輳状態のノードへのパケットを上記仮終点ノードに転送するステップと、
上記仮終点ノードにおいて、自アドレスが上記仮終点アドレスとして付与されたパケットを記憶装置に蓄積し、上記制御パケットの送出元のノードにおける輻輳状態の鎮静化を監視して、該監視の結果、上記制御パケットの送出元のノードにおける輻輳状態が鎮静化すれば、上記バッファ手段に蓄積したパケットを読み出して仮終点アドレスを削除し、該パケットの宛先アドレスに従って転送するステップと
を有することを特徴とするＩＰパケット転送制御方法。
【請求項７】
ＩＰアドレスに従ってＩＰネットワークにおけるパケットの転送を、それぞれのコンピュータ処理によりソースノードから複数の中継ノードを介して終点ノードに向けて行うネットワークシステムのＩＰパケット転送制御方法の処理手順プログラムを記録する記録媒体であって、
請求項４から請求項６のいずれかに記載のＩＰパケット転送制御方法での各ステップを、上記コンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）によるデータの転送を行うネットワーク（ＩＰ網）内におけるトラヒック分散を図る負荷分散技術に係り、特に、輻輳の鎮静化を効率的に行うのに好適なＩＰパケット転送制御システムと方法およびその処理プログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
従来、ＩＰ網においては、あるリンクが混雑してきた場合にとる負荷分散技術は特には考えられてはいない。また、輻輳制御技術としても、特に対処技術は考えられておらず、過大な負荷がかかったノードでは、パケットを廃棄することによって輻輳状態を解消する技術がとられてきた。
【０００３】
また、例えば、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）のアドレス体系において定義される次のような「エニーキャスト（ａｎｙｃａｓｔ）」という技術がＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）のＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔ  ）１５４６で提案されている。この技術は、「エニーキャストアドレス」という、インタフェースグループを識別するものを定義しておき、そのアドレス宛に送られたパケットは、そのアドレスで示されたグループ内の複数のインタフェースの一つ（これは、経路制御プロトコルによる判断で、経路上グループ内で最も近いものが選択される）に配送されるというものである。
【０００４】
しかし、このエニーキャストアドレス技術では、網全体で一意にーつ定まるインタフェースにパケットを配送するものであり、通常の宛先に基づくＩＰパケットの転送に係る負荷分散や輻輳制御を行うことはできない。
【０００５】
【発明が解決しようとする課題】
解決しようとする問題点は、従来の技術では、ＩＰ網におけるトラヒック負荷を効率的に均等化、分散化することができない点である。
【０００６】
本発明の目的は、これら従来技術の課題を解決し、ＩＰ網におけるトラヒック負荷の偏りを無くして輻輳を鎮静化することが可能なＩＰパケット転送制御システムと方法およびその処理プログラムを記録した記録媒体を提供することである。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、本発明のＩＰパケット転送制御システムと方法では、ソースアドレスとなった任意のノードＡにおいて、例えば、受信したＩＰパケットの宛先端末を収容する終点のノードＤまでのデファクトリンクが混雑している場合には、そのＩＰパケットのヘッダに新たに、混雑しているデファクトリンク以外のリンクに接続され且つノードＤに近い中継ノードＢのアドレスを「仮終点アドレス」として付与し、当該ノードＢ（仮終点ノード）に向けて転送する。ノードＡとノードＢ間の各ノードは、受信したＩＰパケットの「仮終点アドレス」に基づき、そのＩＰパケットを転送し、このＩＰパケットを受信したノードＢにおいて「仮終点アドレス」を削除して、このノードＢ以降、ノードＤおよび宛先端末まで、通常の宛先アドレス（ＩＰアドレス）に従ってのパケットの転送を行う。
尚、ノードＡ（ソースノード）からノードＢ（仮終点ノード）までのリンクと、ノードＢ（仮終点ノード）からノードＤ（終点ノード）までのリンクとが重ならないよう、ノードＢ（仮終点ノード）を選択する。
【０００８】
また、ある範囲で網が輻輳しているローカル輻輳範囲の近くのノードを避難ノードＺとして選択し、ローカル輻輳範囲内の宛先向けの各ＩＰパケットを、「仮終点アドレス」の付与により避難ノードＺに向けて転送して、避難ノードＺ内に蓄積し、ローカル輻輳が収まった後に、避難ノードＺからシェーピングしながら通常の宛先アドレスに基づく転送を行う。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態を、図面により詳細に説明する。
図１は、本発明のＩＰパケット転送制御システムの本発明に係る構成例を示すブロック図である。
【００１０】
本図１において、１〜８はルータもしくはゲートウェイ等からなりＩＰパケットの転送制御（ルーティング）を行うノード、１０，２０はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、１１はＬＡＮ１０内に設置されたコンピュータ端末（図中「ホストα」と記載）、２１はＬＡＮ２０内に設置されたコンピュータ端末（図中「ホストβ」と記載）、３０〜３５は各ノード１〜８間のリンクで伝送されているＩＰパケットである。
【００１１】
ＬＡＮ１０においては、「１０．１．１．０／２４」のＩＰアドレスが設定された各コンピュータ端末が収容され、コンピュータ端末１１のＩＰアドレスは「１０．１．１．３」となっている。また、ノード１（Ａ）（ルータ）のＬＡＮ１０側のＩＰアドレスは「１０．１．１．１」である。
【００１２】
ＬＡＮ２０においては、「１０．１．２．０／２４」のＩＰアドレスが設定された各コンピュータ端末が収容され、コンピュータ端末２１のＩＰアドレスは「１０．１．２．１０」となっている。また、ノード７（Ｄ）（ルータ）のＬＡＮ２０側のＩＰアドレスは「１０．１．２．１」である。
【００１３】
また、ノード１（図中「Ａ」と記載）のアドレスは「１０．１．０．１」、ノード４（図中「Ｂ」と記載）のアドレスは「１０．１．０．３」、ノード７（図中「Ｄ」と記載）のアドレスは「１０．１．０．４」、ノード８（図中「Ｃ」と記載）のアドレスは「１０．１．０．２」である。
【００１４】
このような構成のＩＰパケット転送制御システムでの動作を、コンピュータ端末１１からコンピュータ端末２１宛のＩＰパケットの転送を例に、説明する。
この場合、コンピュータ端末１１を収容するノード１（Ａ）がソースノードとなり、コンピュータ端末２１を収容するノード７（Ｄ）が終点ノード（目的ノード）となる。
【００１５】
ノード１（Ａ）から、ノード７（Ｄ）に接続されているコンピュータ端末２１に、一連のパケット、すなわち、ある情報フロー（送信者から受信者へあるアプリケ―ション情報を送るときのパケット群の流れ）を送信する場合を考える。この場合、本来のルートは、図中▲１▼の点線で示されたルートであり、宛先「１０．１．２．１０」、送信元「１０．１．１．３」のアドレス情報をヘッダに有するＩＰパケット３０が、ノード１（Ａ）からノード２（ｎ）、ノード６（ｎ）を経由してノード７（Ｄ）に転送される。
【００１６】
しかし、本例においては、ノード１（Ａ）は、まず、ある条件に基づく判断、例えば、送ろうとしている情報量がある基準以上の量であるという条件を満たす場合等の判断により、このフローに関しては、正常（以下、輻輳状態での高位レイヤ処理を行わない「異常な転送処理」に対して、高位レイヤ処理までを行う通常の処理を「正常」処理と呼ぶ）の転送制御から、本発明に係る「仮終点転送制御」に切り換えるということを決定する。
【００１７】
そして、このフローに関するタイマ（Ｔｎ）を起動する（Ｔｎ＝Ｏ）。
このフローに関する「仮終点転送制御」は、このタイマ（Ｔｎ）が、ある値（Ｔｚ：このフローに関する仮終点転送制御の存続時間）になるまで続け、Ｔｎ＝Ｔｚになると正常転送制御に戻す。
【００１８】
このノード１（Ａ）における「仮終点転送制御」では、まず、ルーティング・テーブルに基づき、終点ノードであるノード７の周辺のノードから１つのノードを仮終点ノードとしてランダムに選択する。この選択の際、仮終点ノードから本来の終点である終点ノード（ノード７）まで通常の宛先アドレスに基づきＩＰパケットを転送する場合に、ソースノードのノード１（Ａ）から仮終点ノードまでのＩＰパケットの転送ルートを通らなくとも到達できるとの条件を満たすノードを、仮終点ノードとして選択し特定する。
【００１９】
ここでは、ノード４（Ｂ）もしくはノード８（Ｃ）を仮終点ノードとして選択する。そして、このノード４（Ｂ）のアドレス「１０．１．０．３」やノード８（Ｃ）のアドレス「１０．１．０．２」を、仮終点アドレスとして決定する。
【００２０】
そして、ノード１（Ａ）は、コンピュータ端末１１からのパケット群（セッション上のパケット群）のヘッダ内の所定の個所に、決定した仮終点アドレス（「１０．１．０．３」、「１０．１．０．２」）を新たに付与する。
【００２１】
尚、このヘッダ内の所定の個所は、この「仮終点転送制御」のために使用されることが予め各ノードで周知されている。そして、このヘッダ内の所定の個所の値は「空」かまたは仮終点アドレスが記述され、仮終点アドレスが記述されている（空でない）場合には、ＩＰパケットは、終点ノードであるノード７（Ｄ）よりも優先して、この仮終点アドレス宛に送られる。
【００２２】
すなわち、ＩＰパケット３１に示すように、ヘッダ内の所定の個所に仮終点アドレスとして、ノード４（Ｂ）やノード８（Ｃ）のアドレス（「１０．１．０．３」、「１０．１．０．２」）が設定され、その結果、コンピュータ端末１１からのコンピュータ端末２１宛のＩＰパケットは全て仮終点ノードとしてのノード４（Ｂ）もしくはノード８（Ｃ）宛に、デフオルトルートを経由して送られる。
【００２３】
ノード４（Ｂ）宛のＩＰパケット３２の場合は、ノード２（ｎ）とノード３（ｎ）を経由してノード４（Ｂ）に転送され、ノード８（Ｃ）宛のＩＰパケット３４の場合は、ノード２（ｎ）を経由してノード８（Ｃ）に転送される。
【００２４】
仮終点ノードとしてのノード４（Ｂ）では、自アドレスと同じ仮終点アドレスが付与されたＩＰパケット３２を受け取ると、このＩＰパケット３２から仮終点アドレス「１０．１．０．３」を削除して「空」にし、正常の転送制御で、すなわち、ＩＰアドレスに従って、宛先であるコンピュータ端末２１へ向けて転送する。それ以降の各ノード５（ｎ）〜７（Ｄ）では、ＩＰパケット３３の「仮終点アドレス」が空であるため、ＩＰアドレスに従っての正常の転送が実行される。このルートが、図中の矢印▲２▼で示すルートである。
【００２５】
また、仮終点ノードとしてのノード８（Ｃ）では、自アドレスと同じ仮終点アドレスが付与されたＩＰパケット３４を受け取ると、このＩＰパケット３４から仮終点アドレス「１０．１．０．２」を削除して「空」にし、ＩＰアドレスに従っての正常の転送制御で、コンピュータ端末２１へ向けて転送する。それ以降の各ノード７（Ｄ）では、ＩＰパケット３５の「仮終点アドレス」が空であるため、ＩＰアドレスに従っての正常の転送が実行される。このルートが、図中の矢印▲３▼で示すルートである。
【００２６】
以下、図９および図１０を用いて各ノード１〜８の構成を説明する。
図９は、図１における各ノードの内部構成例を示すブロック図であり、図１０は、図１における各ノードのハードウエア構成例を示すブロック図である。
【００２７】
図１０において、１０１はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等からなる表示装置、１０２はキーボードやマウス等からなる入力装置、１０３はハードディスクドライブ等からなる外部記憶装置、１０４はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０４ａや主メモリ（主記憶装置）１０４ｂ等を有し蓄積プログラム方式によるコンピュータ処理を行なう情報処理装置、１０５は本発明に係る処理プログラムやデータ等を記録した光ディスク、１０６は光ディスク１０５の読み取り動作を行なう駆動装置、１０７は通信回線を介して他のノードとの通信制御を行う通信装置である。
【００２８】
光ディスク１０５に記録された処理プログラムやデータをインストールして主メモリ１０４ｂに読み込みＣＰＵ１０４ａで処理することにより、情報処理装置１０４内に、図９に示す各処理機能等が実装される。
【００２９】
図９に示すノード９の構成は、図１における各ノード１〜８に共通のものであり、ノード９は、ＩＰパケットの転送先の決定に用いるルーティング・テーブル９ａと、受信したＩＰパケットのヘッダの所定の個所に仮終点アドレスが設定されているか否かを判別する仮終点アドレス判別部９ｂと、受信したＩＰパケットの転送を正常の転送制御と仮終点転送制御のいずれにすべきかを所定の条件に基づき判断して切り換える判断・切換部９ｃと、正常の転送制御を行う正常転送処理部９ｄと、仮終点転送制御での転送制御を行う仮終点転送処理部９ｅとを有している。
【００３０】
仮終点アドレス判別部９ｂにより、受信したＩＰパケットのヘッダの所定の個所に仮終点アドレスが設定されていないと判別した場合、ノード９は、判断・切換部９ｃにより、正常の転送制御と仮終点転送制御のいずれにすべきかを判断して決定する。例えば、送ろうとしている情報量がある基準以上の量であるということが判った場合には、仮終点転送制御への切り換えを決定する。
【００３１】
判断・切換部９ｃにより、正常の転送制御と決定すれば、正常転送処理部９ｄにより、受信したＩＰパケットを通常の転送手順でルーティング・テーブル９ａに基づき転送するが、仮終点転送制御への切換を決定した場合、仮終点転送処理部９ｅによる転送を行う。
【００３２】
また、仮終点アドレス判別部９ｂにより、受信したＩＰパケットのヘッダの所定の個所に仮終点アドレスが設定されていると判別した場合には、ノード９は、判断・切換部９ｃの処理を行なうことなく仮終点転送処理部９ｅによる転送を行う。
【００３３】
仮終点転送処理部９ｅには、仮終点アドレス比較部９ｆと、仮終点アドレス削除転送部９ｇ、仮終点ノード決定部９ｈ、仮終点アドレス設定部９ｉ、および、送出部９ｊとが設けられており、仮終点アドレス比較部９ｆでは、ルーティング・テーブル９ａを探索して、受信したＩＰパケットのヘッダの所定の個所に設定された仮終点アドレスが自ノードのアドレスか否かを確認する。
【００３４】
この仮終点アドレス比較部９ｆの確認結果において仮終点アドレスが自ノードのアドレスであれば、仮終点アドレス削除転送部９ｇにより、受信したＩＰパケットのヘッダの仮終点アドレスを削除し、通常の宛先アドレスに対応する出力先をルーティング・テーブル９ａを探索して特定し出力する。また、仮終点アドレス比較部９ｆの判別結果において受信したＩＰパケットの仮終点アドレスが自ノードのアドレスでなければ、そのまま送出部９ｊにより、仮終点アドレスに対応する出力先をルーティング・テーブル９ａを探索して特定し出力する。
【００３５】
また、仮終点アドレス判別部９ｂにより、受信したＩＰパケットのヘッダの所定の個所に仮終点アドレスが設定されていないと判別し、かつ、判断・切換部９ｃにより、仮終点転送制御への切換を決定した場合、仮終点転送処理部９ｅでは、まず、仮終点ノード決定部９ｈにより、ルーティング・テーブル９ａを探索して、終点ノードの近辺に位置するノードを抽出し、さらに、上述した所定の条件（当該ノードから本来の終点であるノードまで通常の宛先アドレスに基づきＩＰパケットを転送する場合に、ソースノードから当該ノードまでのＩＰパケットの転送ルートを通らなくとも到達できるとの条件）を満たすノードを、仮終点ノードとして決定する。
【００３６】
そして、仮終点ノード決定部９ｈで決定した仮終点ノードのアドレスを用いて、仮終点アドレス設定部９ｉにより、受信パケットのヘッダの所定の個所に仮終点アドレスを設定し、この仮終点アドレスを設定したＩＰパケットを、送出部９ｊにより、ルーティング・テーブル９ａを参照して、仮終点ノード向けに送出する。
【００３７】
図２は、図１におけるソースノードの動作例を示すフローチャートであり、図３は、図１における仮終点ノードの動作例を示すフローチャートである。
【００３８】
図２における処理例は、図１のノード１（Ａ）のソースノード（発ノード）としての処理例を示しており、ＩＰパケットが到着するたびに（ステップ２０１）、このＩＰパケットが既に仮終点宛てに切り換えられたフローのパケットか否かを判定する（ステップ２０２）。
【００３９】
もしそうでなければ、このフローの終点ノード宛の情報量が基準値を超えているか否かを判定し（ステップ２０３）、もし超えていなければ通常処理を行う（ステップ２０４）。もし超えていれば、このフローに関して、仮終点転送制御（仮終点転送方式）に切り換えることを決定し（ステップ２０５）、このフローに関してタイマをセット（Ｔｎ＝０）する（ステップ２０６）。
【００４０】
そして、このフローに関して、仮終点の条件を満たす候補ノードを選択し（ステップ２０７，２０８）、そのノードのアドレスをこのパケット内のへッダに記述して（ステップ２０９）、仮終点ノードヘ転送する（ステップ２１０）。
【００４１】
ステップ２０２の判定処理結果で、もし、到着パケットが既に仮終点宛てに切り換えられたフローのパケットであれば、このフローのタイマ値Ｔｎが、仮終点転送方式の存続時間の値（Ｔｚ）を超えているか否かを判定する（ステップ２１１）。もし超えていなければ、このパケットを仮終点へ転送する（ステップ２１０）。もし超えていれば、このフローに関して仮終点転送方式を解除する（ステップ２１２）。
【００４２】
次に、図３における処理例は、図１のノード１（Ａ）の仮終点ノードとしての処理例を示しており、パケットが到着するたびに（ステップ３０１）、そのパケットのヘッダ内の仮終点アドレスが「空」か否かを判定する（ステップ３０２）。もし「空」であれば、本来のＩＰアドレスに従って転送する（ステップ３０６）。もし「空」でなければ、仮終点アドレスが自アドレスと同じであるかどうかを判定する（ステップ３０３）。もし自アドレスと同じであれば、仮終点アドレスを削除して（ステップ３０５）、本来のＩＰアドレスに従って転送する（ステップ３０６）。もし自アドレスと同じでなければ、その仮終点アドレスに従って転送する（ステップ３０４）。
【００４３】
このようにして、本例のＩＰパケット転送制御システムでは、ＩＰ網内において、あるノードに対してトラヒックが集中するような場合には、本来の終点ノードの近隣にあるノード群の中のひとつのノードを仮終点ノードとして定め、そこヘ向けてフローを転送することにより、トラヒックの分散化を図ることができる。これにより、ＩＰ網内のリンクの極端なアンバランスを、負荷分散により均等化させることができる。
【００４４】
また、このようなＩＰパケット転送制御システムによる制御を、輻輳状態の制御に適用することができる。
以下、本発明のＩＰパケット転送制御システムによる制御を、輻輳状態の制御に適用する場合の実施の形態の他の例を説明する。
【００４５】
図４は、本発明のＩＰパケット転送制御システムの本発明に係る他の構成例を示すブロック図である。
本図４において、４０は輻輳を起こしている範囲を示すローカル輻輳範囲である。４１〜４９はＩＰパケットの転送制御（ルーティング）を行うノードであり、その内のノード４３（Ｂ）〜４５（Ｃ）は、ローカル輻輳範囲４０内にあり、現時点でローカル輻輳状態である。
【００４６】
また、ノード４１（Ｚ１）とノード４７（Ｚ２）は、ローカル輻輳範囲４０外の近辺にあり、それぞれ大容量のバッファ４１ａ，４７ａが設けられた避難ノードである。
このような構成により、本例のＩＰパケット転送制御システムでは、ローカル輻輳範囲４０の輻輳を効率良く鎮静化することができる。
【００４７】
以下、図中の矢印▲１▼で示すノード４４（Ａ）行きのＩＰパケットを例にとって、その動作を説明する。
正常な状態においては、ノード４４（Ａ）行きのＩＰパケットは、ノード４２（Ｄ）とノード４３（Ｂ）を通ってノード４４（Ａ）に到着するが、現時点でローカル輻輳状態のノード４４（Ａ）は、「制御パケット」を、図示していないソースノードに送ることにより、自分自身が輻輳状態であることを通知する。
【００４８】
ノード４４（Ａ）が輻輳状態であることを知ったソースノード（発ノード）は、輻輳制御を行うために、ある「輻輳ビット」に「１」をたて、輻輳しているノード４４（Ａ）にもっとも近くにある避難ノード４１（Ｚ１）を特定し、この避難ノード４１（Ｚ１）のアドレスを「仮終点アドレス」として選び、そこへ向けてＩＰパケットを送出する。
【００４９】
図５は、図４におけるＩＰパケット転送制御システムでの輻輳制御結果を示すブロック図である。
本図５に示すように、ソースノード（発ノード）から送られたＩＰパケットはノード４２（Ｄ）において、その「仮終点アドレス」に基づき、本来のルートであるノード４３（Ｂ）ではなく、避難ノード４１（Ｚ１）に転送される。
【００５０】
このようにして、ソースノードから送られたＩＰパケットをノード４２（Ｄ）から受信した避難ノード４１（Ｚ１）は、「仮終点」が自ノードで、かつ、「輻輳ビット」に「１」がたっている場合には、このＩＰパケットを、避難してきたパケットとみなし、輻輳状態が鎮静化するまで、その避難ノード内の巨大な容量のバッファ４１ａ内に蓄える。
【００５１】
そして、避難ノード４１（Ｚ１）は、ローカル輻輳範囲４０の輻輳が鎮静化したことを知ると、バッファ４１ａ内に蓄えたＩＰパケット群をシェーピングして、本来の終点ノードであるノード４４（Ａ）に向けて転送する。
【００５２】
このように、輻輳中のノード４４（Ａ）へのパケット転送量を制限することで、ローカル輻輳範囲４０の輻輳状態を効率的に鎮静化させることができる。また、従来の技術では輻輳状態のノードにおいて損失されるはずのパケットを救うことができる。
【００５３】
尚、図４および図５における矢印▲２▼と▲３▼で示す流れのＩＰパケットについても、矢印▲１▼のＩＰパケットでの説明と同様にして、大容量のバッファ４７ａを有する避難ノード４７（Ｚ２）へ一時避難させることにより、ローカル輻輳範囲４０の輻輳を鎮静化することができる。
【００５４】
図６は、図４におけるＩＰパケット転送制御システムのソースノードの動作例を示すフローチャートであり、図７は、図４における避難ノードの動作例を示すフローチャートである。
【００５５】
図６において、図４におけるＩＰパケット転送制御システムのソースノード（発ノード）は、制御パケットの到着があれば（ステップ６０１）、その制御パケットの情報から、輻輳ノードを特定し、輻輳リストに追加する（ステップ６０２）。その後、パケットの到着があるかどうかを判定し（ステップ６０３）、到着があれば、輻輳ノードがあり、かつ、その輻輳は継続中かどうかを判定する（ステップ６０４）。
【００５６】
もし、輻輳が継続中であれば、このパケットが輻輳ノード行きかどうかを判定し（ステップ６０７）、そうであれば避難ノードを選択／指定し（ステップ６０８）、そうでなければ通常処理を行う（ステップ６０６）。また、ステップ６０４の処理での判定結果で、もし輻輳ノードがないか、あるいは、輻輳が鎮静化した後であれば、輻輳リストを更新し（ステップ６０５）、通常処理に移行する（ステップ６０６）。
【００５７】
ステップ６０８の処理で、避難ノードを選択／指定した場合、避難ノードを指定したパケットのへッダ内に、その避難ノードのアドレスを書き込み、輻輳ビットに「１」をたて（ステップ６０９）、仮終点へ転送する（ステップ６１０）。
【００５８】
次に、図７に示すように、避難ノードでは、まず、パケットが到着しているか否かを判定する（ステップ７０１）。到着がなければ、バッファ内にパケットが蓄積されており、かつ、輻輳が鎮静化されているか否かを判定する（ステップ７０２）。輻輳が鎖静化されていれば、大容量バッファから蓄積されているパケットを読み出し（ステップ７１１）、仮終点アドレスを削除して（ステップ７０７）、シェーピングしながら（ステップ７０８）、本来のＩＰアドレスに従って転送する（ステップ７０９）。
【００５９】
また、パケットが到着すれば（ステップ７０１）、このパケットの仮終点アドレスが「空」か否かを判定する（ステップ７０２）。「空」であれば、本来のＩＰアドレスに従って転送する（ステップ７０９）。「空」でなければ、仮終点アドレスが自アドレスと同じであるかどうかを判定し（ステップ７０３）、同じであれば、輻輳ビットが「１」か否かを判定する（ステップ７０５）。
【００６０】
輻輳ビットが「１」であれば、大容量バッファへ格納する（ステップ７０６）。また、輻輳ビットが「１」でなければ、仮終点アドレスを削除して（ステップ７０７）、シェーピングしながら（ステップ７０８）、本来のＩＰアドレスに従って転送する（ステップ７０９）。
また、ステップ７０３の処理での判定結果で、仮終点アドレスが自アドレスと同じでなければ、その仮終点アドレスに従ってパケットを転送する（ステップ７０４）。
【００６１】
図８は、図４および図５における避難ノードの構成例を示すブロック図である。
本例の避難ノード８０は、時計８１、タイマ８２、ルーティング・テーブル８３、パケットヘッダ解析／計算部８４、へッダ読取測定部８５、パケットヘッダ書込／制御部８６、仮終点用大容量バッファ８７、バッファ書込／読出制御部８８、および、スケジューリング部８９からなる。
【００６２】
時計８１は、網同期した現在の時刻を表し、タイマ８２は、この時計８１に基づき設定された時間を計測する。ルーティング・テーブル８３はパケットの転送経路を示す経路制御表であり、他のノードとの更新情報に基づき内容が更新される。
【００６３】
パケットヘッダ解析／計算部８４は、コンピュータ処理により、ルーティング・テーブル８３をルックアップしてパケットの行先情報を取得して、パケットヘッダ情報として、行き先や輻輳情報を書き込むための解析や、タイマ８２の計測結果に基づく輻輳制御に係る計算を行う。
【００６４】
へッダ読取測定部８５は、パケットヘッダから情報を読み取って、その行き先、各クラス、輻輳情報等を測定し、パケットヘッダ解析／計算部８４に渡す。パケットヘッダ書込／制御部８６は、パケットヘッダ解析／計算部８４の解析／計算結果に基づき、輻輳制御や、行き先情報のパケットへッダへの書き込みを行う。
【００６５】
バッファ書込／読出制御部８８は、パケットヘッダ書込／制御部８６からの輻輳制御指示に基づき、避難してきたパケットの仮終点用大容量バッファ８７への書込み、あるいは、仮終点用大容量バッファ８７に蓄積している避難パケットの読出しを行う。
【００６６】
また、スケジューリング部８９は、輻輳情報処理やレイヤ指示を行うもので、ＦＩＦＯバッファ９１とパケット処理部９２、および、シェーパー９３からなり、ＦＩＦＯバッファ９１に、受信したパケット９０を一時蓄積し、ヘッダ読取測定部８５にヘッダ情報を読み取らせると共に、パケット処理部９２に読み出される、あるいは、バッファ書込／読出制御部８８により、仮終点用大容量バッファ８７に書き込まれる。
【００６７】
パケット処理部９２では、パケットヘッダ書込／制御部８６からの指示に基づき、ＦＩＦＯバッファ９１や仮終点用大容量バッファ８７に蓄積されたＩＰパケットに対するヘッダ情報の付与等のパケット処理を行なう。シェーパー９３では、パケット９４を、それぞれの間隔を一定値以上空けて出力する。
【００６８】
以上、図１〜図１０を用いて説明したように、本例のＩＰパケット転送制御システムでは、ＩＰ網内において、あるノードに対してトラヒックが集中するような場合には、本来の終点ノードの近隣にあるノード群の中のひとつのノードを仮終点として定め、そこヘ向けてフローを転送することにより、トラヒックの分散化を図ることができる。これにより、網内のリンクの極端なアンバランスを、負荷分散により均等化させることができる。
【００６９】
また、このようなＩＰパケット転送制御システムによる制御を、輻輳状態の制御に適用し、輻輳状態のノード向けのパケットを、一旦、避難ノードに蓄えて避難させておき、輻輳状態のノードが正常状態に戻った後に、本来の目的地に転送させることにより、従来技術では輻輳状態において損失されるはずであったパケットを救うことができる。
【００７０】
尚、本発明は、図１〜図１０を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例ではノード７（Ｄ）を終点ノードとしているが、本発明では、ソースノードにおいて、宛先のコンピュータ端末に最も近いと認識しているノードを終点ノードと決定するものである。また、本例では、光ディスクを記録媒体として用いてプログラムのインストールを行う構成としているが、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）を記録媒体として用いても良く、また、通信装置１０７を介して他のコンピュータからプログラムをダウンロードしてインストールする構成としても良い。
【００７１】
【発明の効果】
本発明によれば、ＩＰ網内において、あるノードに対してトラヒックが集中するような場合には、仮終点ノードを定めて、そこヘ向けてＩＰパケットを転送するので、ＩＰ網におけるトラヒック負荷を効率的に均等化、分散化することができ、また、大容量の記憶装置を具備したノードを仮終点ノード（避難ノード）とし、あるノードが輻輳状態であれば、当該ノード向けのパケットを、避難ノードに蓄えて避難させ、当該ノードが正常状態に戻った場合に、避難ノードから当該ノードにパケットを転送させることにより、ＩＰ網における輻輳の鎮静化を容易にでき、また、輻輳状態において損失されるはずのパケットを救うことができ、ＩＰ網の性能を向上させることが可能である。
【図面の簡単な説明】
【図１】本発明のＩＰパケット転送制御システムの本発明に係る構成例を示すブロック図である。
【図２】図１におけるソースノードの動作例を示すフローチャートである。
【図３】図１における仮終点ノードの動作例を示すフローチャートである。
【図４】本発明のＩＰパケット転送制御システムの本発明に係る他の構成例を示すブロック図である。
【図５】図４におけるＩＰパケット転送制御システムでの輻輳制御結果を示すブロック図である。
【図６】図４におけるＩＰパケット転送制御システムのソースノードの動作例を示すフローチャートである。
【図７】図４における避難ノードの動作例を示すフローチャートである。
【図８】図４および図５における避難ノードの構成例を示すブロック図である。
【図９】図１における各ノードの内部構成例を示すブロック図である。
【図１０】図１における各ノードのハードウエア構成例を示すブロック図である。
【符号の説明】
１〜９：ノード、９ａ：ルーティング・テーブル、９ｂ：仮終点アドレス判別部、９ｃ：判断・切換部、９ｄ：正常転送処理部、９ｅ：仮終点転送処理部、９ｆ：仮終点アドレス比較部、９ｇ：仮終点アドレス削除転送部、９ｈ：仮終点ノード決定部、９ｉ：仮終点アドレス設定部、９ｊ：送出部、１０，２０：ＬＡＮ、１１：コンピュータ端末（「ホストα」）、２１：コンピュータ端末（「ホストβ」）、３０〜３５：ＩＰパケット、４０：ローカル輻輳範囲、４１：ノード（「避難ノード」）、４２〜４６，４８，４９：ノード、４７：ノード（「避難ノード」）、４１ａ，４７ａ：バッファ、８０：避難ノード、８１：時計、８２：タイマ、８３：ルーティング・テーブル、８４：パケットヘッダ解析／計算部、８５：へッダ読取測定部、８６：パケットヘッダ書込／制御部、８７：仮終点用大容量バッファ、８８：バッファ書込／読出制御部、８９：スケジューリング部、９０：パケット、９１：ＦＩＦＯバッファ、９２：パケット処理部、９３：シェーパー、９４：パケット、１０１：表示装置、１０２：入力装置、１０３：外部記憶装置、１０４：情報処理装置、１０４ａ：ＣＰＵ、１０４ｂ：主メモリ（主記憶装置）、１０５：光ディスク、１０６：駆動装置、１０７：通信装置。
【図１】
0003593549.tif 000002
【図２】
0003593549.tif 000003
【図３】
0003593549.tif 000004
【図４】
0003593549.tif 000005
【図５】
0003593549.tif 000006
【図６】
0003593549.tif 000007
【図７】
0003593549.tif 000008
【図８】
0003593549.tif 000009
【図９】
0003593549.tif 000010
【図１０】
0003593549.tif 000011