(57)【要約】本発明は、階層ドメイン毎に、階層ドメイン内の移動により変化しない移動体の階層ドメイン内において有効なアドレスと移動により変化する移動体の気付アドレスの対応付けを移動基点ノードのテーブル手段で管理しており、全ての移動体宛のパケットが移動基点ノードを経由し移動体に達するネットワークで、移動基点ノードの負荷を分散する負荷分散方法であって、階層ドメイン内のルータの少なくとも一部を移動基点ノードと同一の機能を具備した基点機能具備ルータで構成し、移動基点ノードの輻輳を検出したとき前記テーブル手段の一部エレメントを前記基点機能具備ルータに移動し、基点機能具備ルータを移動基点ノードとして動作させることにより、移動基点ノードが輻輳に陥った場合に階層ドメイン内の他のルータを移動基点ノードとして起動させて負荷分散を行うことができる。
2004056054.tif 000002
【特許請求の範囲】
【請求項１】
階層ドメイン毎に、階層ドメイン内の移動により変化しない移動体の階層ドメイン内において有効なアドレスと移動により変化する移動体の気付アドレスの対応付けを移動基点ノードのテーブル手段で管理しており、全ての移動体宛のパケットが前記移動基点ノードを経由し移動体に達するネットワークで、前記移動基点ノードの負荷を分散する負荷分散方法であって、
前記階層ドメイン内のルータの少なくとも一部を前記移動基点ノードと同一の機能を具備した基点機能具備ルータで構成し、
前記移動基点ノードの輻輳を検出したとき前記テーブル手段の一部エレメントを前記基点機能具備ルータに移動し、
前記基点機能具備ルータを移動基点ノードとして動作させる負荷分散方法。
【請求項２】
階層ドメイン毎に、階層ドメイン内の移動により変化しない移動体の階層ドメイン内において有効なアドレスと移動により変化する移動体の気付アドレスの対応付けをテーブル手段で管理しており、全ての移動体宛のパケットが自装置を経由し移動体に達するネットワークの移動基点ノード装置であって、
自装置の負荷状態を検出する自ノード負荷状態検出手段と、
自装置の輻輳を検出したとき前記テーブル手段の一部エレメントを、前記階層ドメイン内のルータの少なくとも一部を構成する自装置と同一の機能を具備した基点機能具備ルータに移動し、前記基点機能具備ルータを移動基点ノードとして動作させるテーブルエレメント移動手段を有する移動基点ノード装置。
【請求項３】
請求項２記載の移動基点ノード装置において、
前記階層ドメイン内の各ルータの負荷状態を検出して、前記テーブル手段の一部エレメントを移動する基点機能具備ルータとして負荷の小さいルータを選択するルータ負荷状態検出手段を有する移動基点ノード装置。
【請求項４】
請求項２または３記載の移動基点ノード装置において、
前記テーブル手段の移動体毎のエレメントのうち参照回数が最大のエレメントを前記基点機能具備ルータに移動するエレメントとして選択する移動エレメント選択手段を有する移動基点ノード。
【請求項５】
階層ドメイン毎に、階層ドメイン内の移動により変化しない移動体の階層ドメイン内において有効なアドレスと移動により変化する移動体の気付アドレスの対応付けを移動基点ノードのテーブル手段で管理しており、全ての移動体宛のパケットが前記移動基点ノードを経由し前記階層ドメイン内の各ルータを介して移動体に達するネットワークのルータであって、
前記移動基点ノードと同一の機能を具備した基点機能具備ルータ。
【請求項６】
請求項５記載の基点機能具備ルータにおいて、
前記移動基点ノードから移動されてきた前記テーブル手段の一部エレメントを自装置のテーブル手段に格納して移動基点ノードとして動作する基点機能具備ルータ。
【請求項７】
請求項４記載の移動基点ノード装置において、
前記テーブル手段は、各エレメント毎に前記参照回数を共に格納する移動基点ノード。
【発明の詳細な説明】
【技術分野】  本発明は、負荷分散方法及びその装置に関し、ネットワーク内における移動基点ノードに集中した負荷を分散する負荷分散方法及びその装置に関する。
【背景技術】  近年、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク上で、移動体が移動した際においても、移動体の移動先へパケットの転送を実現し、アクセス系の種別とは独立に、キャリア網内において移動体の移動管理を実現するモバイルＩＰが提案されている。
モバイルＩＰでは、移動体は、移動体が移動しても変化しないホームアドレスと、移動体の移動に応じて変化する気付アドレス（ＣｏＡ：Ｃａｒｅ  ｏｆ  Ａｄｄｒｅｓｓ）を保持し、移動体のホームアドレスに宛てられたパケットは、移動体の現在のアドレスに転送されるため、ＩＰレベルでの移動通信が可能となる。
また、移動インターネットユーザは、移動によって変化しないホームアドレスをインターネット上のＩＤとして登録することにより、現在利用している移動体の種類に依らず継続したＩＰ通信が可能となる。特に、ユーザがＩＤとしてＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ６）ホームアドレスを用いた場合においては、シームレスで双方向のＩＰ通信が常に可能となる。
モバイルＩＰネットワーク上において、ネットワークを複数の階層ドメインに分割し、移動体のローカルな移動をローカルに管理することによって、モバイルＩＰネットワーク全体の負荷を低減する方法として、階層化モバイルＩＰｖ６（非特許文献１：ＩＥＴＦドラフトｄｒａｆｔ−ｉｅｔｆ−ｍｏｂｉｌｅｉｐ−ｈｍｉｐｖ６−０５．ｔｘｔ）が提案されている。階層化モバイルＩＰｖ６では、階層ドメインごとにＭＡＰ（Ｍｏｂｉｌｉｔｙ  Ａｎｃｈｏｒ  Ｐｏｉｎｔ：移動基点ノード）と呼ばれる階層ノードを配置する。
階層化モバイルＩＰｖ６では、移動体宛てのパケットは必ず移動基点ノードを経由する仕様となっており、階層ネットワーク内移動体のすべてのパケット到着ごとに行われるデカプセル化、カプセル化、フォワーディング処理に係る移動基点ノードの処理負荷は大きくなる。
また、階層化モバイルＩＰｖ６では、階層ネットワーク内のアドレスを隠蔽できるため、ネットワーク管理面においてセキュリティ的に有用である反面、ルート最適化時に、通信相手ノード（Ｃｏｒｒｅｓｐｏｎｄｅｎｔ  Ｎｏｄｅ）に通知するアドレスはＲＣｏＡ（Ｒｅｇｉｏｎａｌ  ＣｏＡ）であるため、必ずＭＡＰを経由するルートは最適ルートとならない可能性も存在する。
図１に、階層化モバイルＩＰｖ６のネットワーク構成を示す。同図中、移動体１１，１２，１３それぞれは移動体（Ｍｏｂｉｌｅ  Ｎｏｄｅ）２６，２７，２８から見た通信相手ノード（Ｃｏｒｒｅｓｐｏｎｄｅｎｔ  Ｎｏｄｅ）である。ホームエージェント（Ｈｏｍｅ  Ａｇｅｎｔ）１５は、階層ドメイン内の移動により変化しない移動体の階層ドメイン内において有効なアドレスであるホームアドレスと、階層をまたぐ移動ごとに変化するアドレスであるＲＣｏＡの対応を格納し、移動体宛てのパケットを移動体の現在地への転送を可能にする。
移動基点ノード（ＭＡＰ）１７，１９それぞれは、階層ドメイン内でのホームエージェントとして機能する。アクセスルータ（Ａｃｃｅｓｓ  Ｒｏｕｔｅｒ）２１，２２，２３，２４は、移動体が階層化モバイルＩＰｖ６ネットワークにアクセスするゲートウェイとなる。
ここで、移動体がもともと属するネットワークをホームネットワーク（移動体のホームアドレスを格納するホームエージェントのあるネットワーク）と呼び、移動体がホームネットワークと離れた部分で通信を行うネットワークをローミングネットワークと呼び、ホームネットワークとローミングネットワークの間にあるネットワークを中継ネットワークと呼ぶ。上記の階層化モバイルＩＰｖ６のネットワーク構成において、ネットワークの階層ドメイン分割、即ちホームネットワークとローミングネットワークの階層ドメインへの分割は、主にローミングネットワークへの適用を前提としている。
図２に、階層化モバイルＩＰｖ６でのルート最適化なしの移動体位置登録動作を示す。ここで、ＲＣｏＡ（ｒｅｇｉｏｎａｌ  ＣｏＡ）は移動基点ノードのリンク上に接続された仮想的な移動体宛のＩＰアドレスで、移動基点ノードが受信可能なＩＰアドレスであり、移動体ごとに移動基点ノードが割り当てる。また、ＬＣｏＡ（ｏｎ−ｌｉｎｋ  ＣｏＡ）は移動体が現在の位置で使用しているＩＰアドレスであり、移動体ごとにアクセスルータが割り当て、移動体の移動に伴って更新される。
階層ドメイン内での移動では、移動体２６は、移動基点ノード１７に行う位置登録において、ＬＣｏＡを通知する。階層ドメインをまたぐ移動では、移動体２６は、移動基点ノード１７にＬＣｏＡを通知し、ホームエージェントにＲＣｏＡを通知する。
図３に、階層化モバイルＩＰｖ６でのルート最適化ありの移動体の位置登録動作を示す。移動体２６が、通信相手ノード１１から転送されるパケットに対して転送ルートの最適化を実現したい場合には、移動体２６は、通信相手ノード１１に対して、ホームエージェント１５への位置登録時と同様にＲＣｏＡを通知する。
図４に、階層化モバイルＩＰｖ６でのルート最適化なしの位置登録動作後のパケット転送を示す。ルート最適化なしの場合においては、通信相手ノード１１，１２，１３それぞれは、移動体２６，２７，２８宛てのパケットを移動体のホームアドレスに送信するため、移動体宛てのパケットは、必ず、ホームエージェント１５を経由して転送される。
図５に、階層化モバイルＩＰｖ６でのルート最適化ありの位置登録動作後のパケット転送を示す。ルート最適化ありの場合においては、通信相手ノード１１，１２，１３それぞれは、移動体２６，２７，２８宛てのパケットを移動体のＲＣｏＡに送信するため、移動体宛てのパケットは、ホームエージェント１５を経由されず、直接、移動基点ノード１７を経由して転送される。
また、例えば特許文献１：特開２００２−１９０７７０号公報には、他の中継装置との間に通信経路が設定された中継装置において、自己に接続された無線通信装置の呼量を測定し、呼量が一定値を超過した場合に前記呼の総量の超過を通知する呼量超過通知を生成して他の中継装置に対して送信し、他の中継装置は中継容量の一部を予備呼として超過した呼量に割り当て確保して呼量が超過した中継装置に通知し、予備呼の確保の通知を受けた中継装置は移動体に接続先の他の中継装置に変更するよう通知することが記載されている。
階層化モバイルＩＰｖ６においての移動基点ノードのスタティックな配置は、ダイナミックに変化するインターネットトラフィックに対応できない可能性がある。特に、階層ドメインあたりの規模が大きい場合や、紛失したデータに対して再送を行う通信の発生頻度が高い場合においては、特定の移動基点ノードに負荷集中が発生する頻度が高くなってしまうという問題が生ずる。
さらに、図６に示すように、別々の階層ドメインに属する移動体２６，２７間で通信を行う場合において、移動基点ノード１７，１９のいずれか一方または双方が輻輳した場合、データの再送タイマーが切れると、データを送信した移動基点ノード（例えば移動基点ノード１７）は紛失したデータに対して再送を行うため、この移動基点ノード１７はさらに輻輳に陥るという問題があった。
【発明の開示】
本発明は、上述した従来技術の問題点を解決する、負荷分散方法及びその装置を提供することを総括的な目的としている。
本発明のより詳細な目的は、移動基点ノードが輻輳に陥った場合に階層ドメイン内の他のルータを移動基点ノードとして起動させて負荷分散を行う負荷分散方法及びその装置を提供することを目的とする。
この目的を達成するため、本発明に係る負荷分散方法は、階層ドメイン毎に、階層ドメイン内の移動により変化しない移動体の階層ドメイン内において有効なアドレスと移動により変化する移動体の気付アドレスの対応付けを移動基点ノードのテーブル手段で管理しており、全ての移動体宛のパケットが前記移動基点ノードを経由し前記階層ドメイン内の各ルータを介して移動体に達するネットワークで、前記移動基点ノードの負荷を分散する負荷分散方法であって、
前記階層ドメイン内のルータの少なくとも一部を前記移動基点ノードと同一の機能を具備した基点機能具備ルータで構成し、
前記移動基点ノードの輻輳を検出したとき前記テーブル手段の一部エレメントを前記基点機能具備ルータに移動し、
前記基点機能具備ルータを移動基点ノードとして動作させるよう構成される。
このような負荷分散方法によれば、移動基点ノードが輻輳に陥った場合に階層ドメイン内の他のルータを移動基点ノードとして起動させて負荷分散を行うことができる。
【図面の簡単な説明】  本発明の他の目的、特徴及び利点は添付の図面を参照しながら以下の詳細な説明を読むことにより一層明瞭となるであろう。
図１は、階層化モバイルＩＰｖ６のネットワーク構成図である。
図２は、階層化モバイルＩＰｖ６でのルート最適化なしの移動体位置登録動作を示す図である。
図３は、階層化モバイルＩＰｖ６でのルート最適化ありの移動体の位置登録動作を示す図である。
図４は、階層化モバイルＩＰｖ６でのルート最適化なしの位置登録動作後のパケット転送を示す図である。
図５は、階層化モバイルＩＰｖ６でのルート最適化ありの位置登録動作後のパケット転送を示す図である。
図６は、別々の階層ドメインに属する移動体間の通信を示す図である。
図７は、本発明方法の第１実施例の機構構成図である。
図８は、本発明方法の第２実施例の機構構成図である。
図９は、本発明の移動基点ノード，基点機能具備ルータの一実施例のブロック図である。
図１０は、負荷状態判定部の一実施例のブロック図である。
図１１は、負荷状態判定部の動作説明用のフローチャートである。
図１２は、回線使用率収集処理のフローチャートである。
図１３は、ＣＰＵ使用率収集処理のフローチャートである。
図１４は、バインディングキャッシュテーブル使用率収集処理のフローチャートである。
図１５は、負荷分散処理部の一実施例のブロック図である。
図１６は、負荷状態を収集する機能のフローチャートである。
図１７は、負荷状態問い合わせに応答する機能のフローチャートである。
図１８は、負荷状態問い合わせに応答する機能のフローチャートである。
図１９は、負荷状態問い合わせ時のメッセージシーケンスである。
図２０は、負荷状態問い合わせメッセージのフォーマットを示す図である。
図２１は、負荷状態問い合わせ応答メッセージのフォーマットを示す図である。
図２２は、どの基点機能具備ルータに負荷を分散するかを決定し、どのバインディングキャッシュテーブルのエントリを基点機能具備ルータに移すかを決定する機能のフローチャートである。
図２３は、キャッシュ転送時のメッセージシーケンスである。
図２４は、端末位置情報転写要求メッセージのフォーマットを示す図である。
図２５は、端末位置情報転写応答メッセージのフォーマットを示す図である。
図２６は、位置情報変更要求メッセージのフォーマットを示す図である。
図２７は、位置情報変更応答メッセージのフォーマットを示す図である。
【発明を実施するための最良の形態】  以下、本発明の実施例を図面に基づいて説明する。
本発明では、階層ドメイン内にある移動基点ノード以外の一部或いは全てのルータに移動基点ノードとしての機能をあらかじめ具備しておき、階層化ネットワーク内の他のルータを移動基点ノードとして起動させて階層ネットワーク内での負荷分散を行う。
図７は、本発明方法の第１実施例の機構構成図を示す。同図中、移動基点ノード４０は、階層ドメイン内の移動により変化しない移動体の階層ドメイン内において有効なアドレスと移動により変化する移動体の気付アドレスの対応付けを登録したテーブル手段４１と、テーブルエレメント移動手段４２と、自ノード負荷状態検出手段４３と、ルータ負荷状態検出手段４４を有している。なお、基点機能具備ルータとは、移動基点ノードとしての機能をあらかじめ具備しているルータのことである。
図中の丸付き数字と以下の括弧付き数字を対応させて説明する。
（１）移動基点ノード４０は、自ノード負荷状態検出手段４３が輻輳を検知すると、ルータ負荷状態検出手段４４に輻輳トリガを通知する。
ルータ負荷状態検出手段４４は、ある一定の周期によって同一の階層ドメイン内の基点機能具備ルータの処理状態を検出する。
（２）ルータ負荷状態検出手段４４は、処理の最も少ない基点機能具備ルータのアドレスをテーブルエレメント移動手段４２に通知する。
（３）テーブルエレメント移動手段４２は、通知された基点機能具備ルータのアドレスに該当する位置情報（即ち、移動体のホームアドレスと気付アドレス）をテーブル手段４１から検索する。
（４）テーブル手段４１は、検索した位置情報をテーブルエレメント移動手段４２に対して通知する。
（５）テーブルエレメント移動手段４２は、テーブル手段４１より通知された位置情報を含む位置情報転写要求及び移動基点ノード機能起動要求を基点機能具備ルータ５０に送信する。
（６）基点機能具備ルータ５０は、移動基点ノード機能５１を起動し、テーブル手段５２が基点機能具備ルータ５０内に割り当てられる。
（７）移動基点ノード機能５１は、テーブル手段５２に要求のあった位置情報を転写する。
（８）移動基点ノード機能５１は移動基点ノード４０に位置情報転写完了を通知する。これにより、基点機能具備ルータ５０は新たな移動基点ノードとなって新たな、階層ドメインを形成する。
（９）テーブルエレメント移動手段４２は、位置情報転写完了通知を受けて、テーブル手段４１に転写済みの位置情報の削除要求を行う。テーブル手段４１は、位置情報の削除を行う。
図８は、本発明方法の第２実施例の機構構成図を示す。同図中、移動基点ノード４０は、テーブル手段４１と、テーブルエレメント移動手段４２と、自ノード負荷状態検出手段４３と、位置情報参照手段４５を有している。
図中の丸付き数字と以下の括弧付き数字を対応させて説明する。
（１）移動基点ノード４０は、自ノード負荷状態検出手段４３が輻輳を検知すると、位置情報参照手段４５に輻輳トリガを通知する。
位置情報参照手段４５は、テーブル手段４１を、単位時間ごとに監視している。
（２）位置情報参照手段４５は、単位時間あたりの参照回数が最大の移動体の位置情報を参照し、テーブルエレメント移動手段４２に通知する。
（３）テーブルエレメント移動手段４２は、位置情報参照手段４５より通知された移動体の位置情報をテーブル手段４１から検索する。
（４）テーブル手段４１は、検索した位置情報をテーブルエレメント移動手段４２に対して通知する。
基点機能具備ルータリスト４６には、自移動基点ノードと同一の階層ドメイン内に存在する全ての基点機能具備ルータが登録されている。
（５）テーブルエレメント移動手段４２は、基点機能具備ルータリスト４６から現在、移動基点ノードとして使用されずルータとして使用されている基点機能具備ルータ（例えば基点機能具備ルータ５０）を選択し、テーブル手段４１より通知された位置情報を含む位置情報転写要求及び移動基点ノード機能起動要求を選択した基点機能具備ルータ５０に送信する。
（６）基点機能具備ルータ５０は、移動基点ノード機能５１を起動し、テーブル手段５２が基点機能具備ルータ５０内に割り当てられる。
（７）移動基点ノード機能５１は、テーブル手段５２に要求のあった位置情報を転写する。
（８）移動基点ノード機能５１は移動基点ノード４０に位置情報転写完了を通知する。これにより、基点機能具備ルータ５０は新たな移動基点ノードとなって新たな、階層ドメインを形成する。
（９）テーブルエレメント移動手段４２は、位置情報転写完了通知を受けて、テーブル手段４１に転写済みの位置情報の削除要求を行う。テーブル手段４１は、位置情報の削除を行う。
図９は、本発明の移動基点ノード，基点機能具備ルータの一実施例のブロック図を示す。なお、移動基点ノードと基点機能具備ルータは同一構成である。
同図中、移動基点ノード（ＭＡＰ）６０内のインタフェース部６１はパケットの送信及び受信を行う。メッセージ判定部６２は、受信したパケットがこの移動基点ノードで処理すべきメッセージであるかどうか、メッセージ以外の移動体宛パケットかどうかを判定する。メッセージ処理部６３はメッセージの処理を行う。
バインディングキャッシュテーブル６５は移動体の位置情報を格納する。バインディングキャッシュアクセス部６６はバインディングキャッシュテーブル６５への書き込みと読み出し処理を行う。カプセル処理部６７は移動体宛のパケットをカプセル化する。ＣＰＵ６８は移動基点ノード全体を制御する。
さらに、本発明の移動基点ノード６０では、負荷状態判定部７０は移動基点ノードの負荷状態を判定する。負荷分散処理部７１は、負荷状態判定部７０の判定結果を受けて基点機能具備ルータへの負荷分散を行う。
まず、移動体宛のデータパケットの処理について説明する。移動体宛のデータパケットを移動基点ノードが受信すると、そのパケットはインタフェース部６１を通してメッセージ判定部６２に運ばれ、ここで処理対象かどうかを判定する。その結果、このパケットは制御メッセージ以外であることが識別される。なお、移動基点ノード宛のメッセージかどうかの判定は、移動基点ノードを宛先アドレスとしたパケットかどうかで判断する。
移動基点ノード宛のメッセージ以外のパケットは、バインディングキャッシュアクセス部６６によって、バインディングキャッシュテーブル６５の検索が行われる。このときの検索キーは、受信パケットの宛先ＩＰアドレスである。バインディングキャッシュテーブル６５には、カプセル化に必要な情報（カプセル先のＩＰアドレス等）が格納してある。
バインディングキャッシュテーブル６５には、検索キーとしてＲＣｏＡ（移動基点ノードのリンク上に接続された仮想的な移動体宛のＩＰアドレス）を持っている。また、ＲＣｏＡに対応したＬＣｏＡ（移動体が現在の位置で使用しているＩＰアドレス）を保持している。なお、図９では階層化モバイルＩＰｖ６のベーシックモードを前提としている。バインディングキャッシュテーブル６５に含まれる参照回数は、カプセル処理を行うために該当エントリを参照した回数が格納してある。この参照回数は、本発明の中で、自移動基点ノードの負荷が高いときに、別の基点機能具備ルータにどの情報を転写するかを判断するために用いる。
バインディングキャッシュテーブル６５の検索にヒットすると、その検索結果を用いて、カプセル処理部６７でカプセル化が実行され、インタフェース部６１より出力される。カプセル化は、通信相手ノードが送信する元データを受信した移動基点ノードが、元データを最終宛先へ転送するために、元データに送信元アドレスと宛先アドレスを付加する処理である。このようにして、移動基点ノードでは移動体宛のパケットをカプセル転送する。
次に、移動基点ノード宛のメッセージ処理について説明する。受信したパケットは、メッセージ判定部６２により識別され、メッセージ処理部６３にてコード値の正常性チェックや、メッセージ内容に応じたバインディングキャッシュテーブル６５の更新などを実行する。さらに、必要に応じて受信したメッセージに対する応答メッセージを作成して送信する。
負荷状態判定部７０は、移動基点ノードの負荷がある閾値以上であるかどうかを判定する。閾値以上であった場合には、閾値を超えて負荷が高い状態となっていることを負荷分散処理部７１に通知する。この通知を受けた負荷分散処理部７１は、移動基点ノードが持っているバインディングキャッシュ６５のエントリの一部を別の基点機能具備ルータに転写することで、自身の負荷状態を低減ざせることが可能である。
次に、負荷状態判定部７０について説明する。負荷状態判定部７０は、移動基点ノードの負荷がどの程度かを周期的にチェックし、その状態を保持する。負荷状態をチェックする手法としては、ＣＰＵ使用率を用いる方法、回線使用率を用いる方法、バインディングキャッシュのエントリ数を用いる方法等がある。
通常、ネットワークノードは、ＣＰＵ使用率や、回線使用率を計測するためのインタフェースを有している。これらを定期的に監視し、例えばＣＰＵ使用率が５０％を超えた場合や、回線使用率が５０％を超えたことを契機に、負荷分散処理部７１に閾値を超えた事を通知する。
また、移動基点ノードは、バインディングキャッシュテーブル６５を管理しているため、バインディングキャッシュテーブル６５の何％を使用しているかをモニタすることができる。これらの情報の１つ、あるいは複数を組み合わせて、閾値を超えたかどうかの判定を行う。
図１０は、負荷状態判定部７０の一実施例のブロック図を示す。負荷状態判定部７０は、付加情報収集部７５、周期起動タイマ７６、回線使用率判定部７７、ＣＰＵ使用率判定部７８、バインディングキャッシュテーブル使用率判定部７９より構成される。周期起動タイマ７６は、例えば１分周期で負荷情報収集部７５に監視周期であることを通知する。これを受けて、負荷情報収集部７５は回線使用率判定部７７、ＣＰＵ使用率判定部７８、バインディングキャッシュテーブル使用率判定部７９それぞれに対して情報収集を要求する。
各判定部７７，７８，７９は、判定の基準となる閾値を内部で保持している。各判定部７７，７８，７９は、現在の使用率と閾値とを比較して、閾値を超えているかどうかを示す情報収集結果データを負荷情報収集部７５に通知する。付加情報収集部７５は、次の監視周期までこの情報収集結果データを保持しておく。また、いずれかの使用率が閾値を超えている場合には、負荷分散処理部７１に対して、閾値を超えた状態であることを通知する。
図１１は、負荷状態判定部７０の動作説明用のフローチャートを示す。同図中、負荷状態判定部７０は、ステップＳ１０で回線使用率収集を行い、ステップＳ１１でＣＰＵ使用率収集を行い、ステップＳ１２でバインディングキャッシュテーブル使用率収集を行う。そして、ステップＳ１３で情報収集結果データを保持し、この情報収集結果データから各使用率は全て閾値以下か否かを判別し、いずれかの使用率が閾値を超えている場合にはステップＳ１４で自ＭＡＰ負荷状態キャッシュを用い負荷分散処理部７１に閾値を超えた状態であることを通知する。
図１２は、ステップＳ１０の回線使用率収集処理にて回線使用率判定部７７が実行する動作説明用のフローチャートを示す。同図中、回線使用率判定部７７は、ステップＳ１６でインタフェース部６１から回線使用率を取得し、ステップＳ１７で取得した回線使用率が回線使用率閾値を超過しているか否かを判別する。ここで、回線使用率閾値を超過している場合にはステップＳ１８で回線使用率データに１をセットし、回線使用率閾値を超過していない場合にはステップＳ１９で自ＭＡＰ負荷状態キャッシュの回線使用率データに０をセットする。
図１３は、ステップＳ１１のＣＰＵ使用率収集処理にてＣＰＵ使用率判定部７８が実行する動作説明用のフローチャートを示す。同図中、ＣＰＵ使用率判定部７８は、ステップＳ２１でＣＰＵ６８からＣＰＵ使用率を取得し、ステップＳ２２で取得したＣＰＵ使用率がＣＰＵ使用率閾値を超過しているか否かを判別する。ここで、ＣＰＵ使用率閾値を超過している場合にはステップＳ２３でＣＰＵ使用率データに１をセットし、ＣＰＵ使用率閾値を超過していない場合にはステップＳ２４で自ＭＡＰ負荷状態キャッシュのＣＰＵ使用率データに０をセットする。
図１４は、ステップＳ１２のバインディングキャッシュテーブル使用率収集処理にてバインディングキャッシュテーブル使用率判定部７８が実行する動作説明用のフローチャートを示す。同図中、バインディングキャッシュテーブル使用率判定部７９は、ステップＳ２６でバインディングキャッシュテーブル６５からバインディングキャッシュテーブル使用率を取得し、ステップＳ２７で取得したバインディングキャッシュテーブル使用率がバインディングキャッシュテーブル使用率閾値を超過しているか否かを判別する。ここで、バインディングキャッシュテーブル使用率閾値を超過している場合にはステップＳ２８で自ＭＡＰ負荷状態キャッシュのバインディングキャッシュテーブル使用率データに１をセットし、バインディングキャッシュテーブル使用率閾値を超過していない場合にはステップＳ２９でバインディングキャッシュテーブル使用率データに０をセットする。
次に、負荷分散処理部７１について説明する。負荷分散処理部７１は次の機能を持つ。第１に、基点機能具備ルータの負荷状態を収集する機能。第２に、基点機能具備ルータからの負荷状態問い合わせに応答する機能。第３に、どの基点機能具備ルータに負荷を分散するかを決定する機能。第４に、どのバインディングキャッシュエントリを基点機能具備ルータに移すかを決定する機能。第５に、基点機能具備ルータにバインディングキャッシュエントリを転写する機能である。
図１５に、負荷分散処理部７１の一実施例のブロック図を示す。同図中、負荷分散処理部７１は、負荷分散メッセージ処理部８１、ＭＡＰ情報収集タイマ８２、ＭＡＰ選択部８３、分散データ選択部８４、及びＭＡＰリスト８５で構成される。
ＭＡＰリスト８５には、問い合わせを行う基点機能具備ルータのアドレス（ＭＡＰアドレス）と、基点機能具備ルータ毎の負荷状態（０で低負荷、１で高負荷を示す）、基点機能具備ルータ毎の転写可能エントリ数を格納する領域を持っており、基点機能具備ルータのアドレスは、ここではあらかじめ設定されているものとする。なお、既存のルーティングプロトコルやマルチキャストプロトコルを拡張することによって、動的にＭＡＰリスト８５を更新することも可能である。
まず、基点機能具備ルータの負荷状態を収集する第１の機能について、図１６のフローチャートを用いて説明する。ＭＡＰ情報収集タイマ８２が、例えば１分毎に図１６の負荷状態収集機能の処理に起動をかける。
負荷分散メッセージ処理部８１は、ステップＳ３１でＭＡＰリスト８５を読み出し、ステップＳ３２でＭＡＰアドレスを宛先としてＭＡＰ負荷状態問い合わせメッセージを作成し、ステップＳ３３で送信する。ステップＳ３４でＭＡＰリスト８５に登録されている全ての基点機能具備ルータに対して上記メッセージの作成と送信が終わるまでステップＳ３２，Ｓ３３が繰り返される。
基点機能具備ルータは、上記ＭＡＰ負荷状態問い合わせメッセージに応答して基点機能具備ルータの負荷状態（転写可否、転写可であれば転写可能数）を含んだＭＡＰ負荷状態問い合わせ応答メッセージを返信する。これを受信した自移動基点ノードは、その内容をＭＡＰリスト８５に上書きして更新する。このようにして、周期的にＭＡＰリスト８５を更新することが可能である。
次に、基点機能具備ルータからの負荷状態問い合わせに応答する第２の機能について、図１７及び図１８のフローチャートを用いて説明する。
メッセージ処理部６３からメッセージを受信すると、負荷分散処理部７１は、図１７のステップＳ３６でメッセージ種別を判定し、ステップＳ３７でＭＡＰ負荷状態問い合わせメッセージであると判別されると、自移動基点ノードの負荷状態を返信する。
自移動基点ノードの負荷状態つまり自ＭＡＰ負荷状態キャッシュをステップＳ３８で負荷状態判定部７０から読み出す。ステップＳ３９で自ＭＡＰ負荷状態キャッシュの値が全０か否かを判別し、全０の場合はステップＳ４０で受け入れ可能であること及び転写可能なエントリ数を設定し、全０ではない場合はステップＳ４１で受け入れ不可であること及び転写可能なエントリ数を０に設定する。そしてステップＳ４２で上記設定に基づいてＭＡＰ負荷状態問い合わせ応答メッセージを作成し、ステップＳ４３で送信する。
上記転写可能なエントリ数は、あらかじめ固定的に数（例えば１００）を決めていても良い。あるいは、バインディングキャッシュテーブル６５の空き状態に応じて、例えば空きエントリ数の５０％という計算によっても良い。
一方、ステップＳ３７でＭＡＰ負荷状態問い合わせメッセージでない場合はステップＳ４５で端末位置情報転写要求メッセージであるか否かを判別し、端末位置情報転写要求メッセージである場合はステップＳ４６でバインディングキャッシュテーブル６５の空きエントリ数を確認し、端末位置情報を転写されても保持が可能であればステップＳ４８でバインディングキャッシュテーブル６５に端末位置情報を転写してエントリを追加し、ステップＳ４９で転写完了の端末位置情報転写応答メッセージを作成する。保持が不可能であればステップＳ５０で転写不可の端末位置情報転写応答メッセージを作成する。そして、ステップＳ４３でこれらのメッセージを送信する。
さらに、ステップＳ４５で端末位置情報転写要求メッセージでない場合は図１８のステップＳ５２でＭＡＰ負荷状態問い合わせ応答メッセージであるか否かを判別し、ＭＡＰ負荷状態問い合わせ応答メッセージである場合はステップＳ５３でメッセージ内容に従いＭＡＰリスト８５を更新する。
また、ステップＳ５２でＭＡＰ負荷状態問い合わせ応答メッセージでない場合はステップＳ５４で端末位置情報転写応答メッセージであるか否かを判別し、端末位置情報転写応答メッセージである場合はステップＳ５５で該当移動体宛の位置情報変更要求メッセージを作成し、ステップＳ５６でこのメッセージを送信する。
また、ステップＳ５４で端末位置情報転写応答メッセージでない場合はステップＳ５７で位置情報変更応答メッセージであるか否かを判別し、位置情報変更応答メッセージである場合はステップＳ５８でメッセージの解析を行い、ステップＳ５９で位置情報の登録（変更）が完了したのを待ち、その後、ステップＳ６０でバインディングキャッシュテーブル６５から該当するエントリを削除する。
図１９は、負荷状態問い合わせ時のメッセージシーケンスを示す。移動基点ノード（自ＭＡＰ）から他の基点機能具備ルータに図２０に示すフォーマットの負荷状態問い合わせメッセージを送信し、これに対し他の基点機能具備ルータは図２１に示すフォーマットの負荷状態問い合わせ応答メッセージを返送する。
図２０，図２１のメッセージは、ＩＰｖ６ヘッダに続くモビリティヘッダによって、メッセージを定義した例であり、メッセージ種別を示すコード番号と、メッセージ毎のシーケンス番号を付与している。また、図２１の負荷状態問い合わせ応答メッセージには、移動基点ノードの負荷状態と、転写可能エントリ数を含んでいる。
次に、どの基点機能具備ルータに負荷を分散するかを決定し、どのバインディングキャッシュテーブルのエントリを基点機能具備ルータに移すかを決定する第３，４の機能について、図２２のフローチャートを用いて説明する。
負荷状態判定部７０から閾値超過通知を受信すると、負荷分散処理部７１内のＭＡＰ選択部８３は、ステップＳ７０でＭＡＰリスト８５から各基点機能具備ルータ（図中、「ＭＡＰ」と表示）の負荷状態と転写可能エントリ数を読み出し、負荷状態が０の基点機能具備ルータがあるか否かを判別する。
負荷状態が０のものがあれば、ステップＳ７２で負荷状態が０の基点機能具備ルータの数をＭＡＰ総数Ｍにセットし、ＭＡＰ選択数Ｋに１をセットし、キャッシュ転写数Ｃに１をセットする。ステップＳ７３でＫ番目の転写可能エントリを選択し、ステップＳ７４で選択した基点機能具備ルータの転写可能エントリ数を変数Ｎにセットする。なお、キャッシュ転写数Ｃはキャッシュ転送元の移動基点ノードが保持し、基点機能具備ルータに転写する必要のあるキャッシュ数を示すものである。
次に、分散データ選択部８４は、ステップＳ７５でバインディングキャッシュテーブル６５を単位時間（例えば１０秒）間隔で２回読み出し、各エントリの単位時間当たりのテーブル参照回数を計算する。ステップＳ７６で上記単位時間当たりのテーブル参照回数がＣ番目に大きいエントリを選択し、ステップＳ７７でバインディングキャッシュテーブル６５から選択したエントリの情報を読み、この情報に基づきステップＳ７８で端末位置情報転写要求メッセージを作成し、ステップＳ８０で端末位置情報転写要求メッセージを送信する。
次に、ステップＳ８２でＣ＝Ｘを満足するか否かを判別する。ここで、Ｘは一度の輻輳通知で移動させるエントリ数であり、例えばＸ＝１００とする。Ｃ＝Ｘを満足していれば処理を終了する。満足していなければ、まだ移動するエントリがあるので、ステップＳ８３でＣ＝Ｎを満足するか否かを判別する。Ｃ＝Ｎを満足していない場合はステップＳ８４でキャッシュ転写数（即ち、転写したエントリ数）Ｃを１だけインクリメントしてステップＳ７５に進む。
一方、ステップＳ８３でＣ＝Ｎを満足した場合はステップＳ８５でＭＡＰ選択数Ｋを１だけインクリメントし、ステップＳ８６でＫ＞Ｍを満足するか否かを判別し、Ｋ＞Ｍを満足しない場合にはステップＳ７３に進む。Ｋ＞Ｍを満足する場合には、これ以上、基点機能具備ルータを選択できないので処理を終了する。
つまり、どの別移動基点ノードに対してバインディングキャッシュエントリの転写を行うかは、ＭＡＰリスト８５に含まれている負荷状態の値を参照し、その中で最も転写可能数が多い別移動基点ノードを選択する。また、どのバインディングキャッシュを基点機能具備ルータに移すかは、１０秒周期でバインディングキャッシュテーブル６５から各エントリ毎の参照回数を読み出す。この参照回数は、これまでに何回データパケットのカプセル化処理による参照が行われたかを示しているため２回読み出して、１０秒間の参照回数を計算し、最も数の多いエントリが通信頻度の高いエントリであり、このエントリを他の基点機能具備ルータに転写することで負荷を効率よく低減することができる。
なお、参照回数の多い順に転写するエントリを選択する他にも、閾値を超えたエントリを順番に選択する方法や、ライフタイムが短いエントリを優先的に選択することも可能である。このようにして、どの移動基点ノードを選択し、どのエントリを転写するかを決定することができる。
次に、基点機能具備ルータにバインディングキャッシュエントリを転写する第５の機能について説明する。上記のように決定した転写情報から転写するメッセージを作成し、他の基点機能具備ルータに送信する。
図２３は、キャッシュ転送時のメッセージシーケンスを示す。まず、移動基点ノード（自ＭＡＰ）から他の基点機能具備ルータに図２４に示すフォーマットの端末位置情報転写要求メッセージを送信する。これに対し、基点機能具備ルータは図２５に示すフォーマットの端末位置情報転写応答メッセージを返送する。
これにより、移動基点ノード（自ＭＡＰ）は移動体（ＭＮ）に図２６に示すフォーマットの位置情報変更要求メッセージを送信する。移動基点ノードを変更する場合、移動体が保持しているＲＣｏＡを、新しい移動基点ノードで使用可能なアドレスに変更しなければならない。移動体（ＭＮ）はＲＣｏＡを変更すると、それをホームエージェント（ＨＡ）に通知（位置登録）を行い、また、通信相手ノード（ＣＮ）とルート最適化を実施している場合には通信相手ノード（ＣＮ）にもＲＣｏＡを通知（位置登録）する。このメッセージは、既存のモバイルＩＰのバインディングアップデートメッセージを使うことができる。
移動体は、これに対する位置情報変更応答を得て、移動体は移動基点ノード（自ＭＡＰ）に対し図２７に示すフォーマットの位置情報変更応答メッセージを送信し、移動基点ノード（自ＭＡＰ）にてバインディングキャッシュテーブル６５から該当エントリを削除することが可能である。このようにして、移動基点ノードの負荷を他の基点機能具備ルータに分散させることが可能となる。
図２４〜図２７のメッセージは、ＩＰｖ６ヘッダに続くモビリティヘッダによって、メッセージを定義した例であり、メッセージ種別を示すコード番号と、メッセージ毎のシーケンス番号を付与している。
このように、請求項１に記載の発明によれば、階層ドメイン内のルータの少なくとも一部を移動基点ノードと同一の機能を具備した基点機能具備ルータで構成し、移動基点ノードの輻輳を検出したときテーブル手段の一部エレメントを基点機能具備ルータに移動し、基点機能具備ルータを移動基点ノードとして動作させることにより、移動基点ノードが輻輳に陥った場合に階層ドメイン内の他のルータを移動基点ノードとして起動させて負荷分散を行うことができる。
また、請求項２に記載の発明によれば、自装置の負荷状態を検出する自ノード負荷状態検出手段と、自装置の輻輳を検出したときテーブル手段の一部エレメントを、階層ドメイン内のルータの少なくとも一部を構成する自装置と同一の機能を具備した基点機能具備ルータに移動し、基点機能具備ルータを移動基点ノードとして動作させるテーブルエレメント移動手段を有することにより、自装置が輻輳に陥った場合に自装置の処理の一部を階層ドメイン内の移動基点ノードに移動させて負荷分散を行うことができる。
また、請求項３に記載の発明によれば、階層ドメイン内の各ルータの負荷状態を検出して、テーブル手段の一部エレメントを移動する基点機能具備ルータとして負荷の小さいルータを選択するルータ負荷状態検出手段を有することにより、自装置が輻輳に陥った場合に自装置の処理の一部を負荷の小さい基点機能具備ルータに移動させて負荷分散を行うことができる。
また、請求項４に記載の発明によれば、テーブル手段の移動体毎のエレメントのうち参照回数が最大のエレメントを基点機能具備ルータに移動するエレメントとして選択する移動エレメント選択手段を有することにより、自装置で大きな負荷となっている処理を基点機能具備ルータに移動させて負荷分散を行うことができる。
また、請求項５に記載の発明によれば、移動基点ノードと同一の機能を具備したことにより、移動基点ノードのテーブル手段の一部エレメントが移動されたときに受け取ることができる。
なお、移動基点ノードの具備するＲＣｏＡとＬＣｏＡの対応テーブルをホームエージェントの具備するホームアドレスとＲＣｏＡの対応テーブルに置き換えることで本発明装置の階層化モバイルＩＰｖ６におけるＨＡへの適応が可能である。加えて、ホームアドレスとＲＣｏＡの対応テーブルに置き換えることで、モバイルＩＰｖ６（ＩＥＴＦドラフトｄｒａｆｔ−ｉｅｔｆ−ｍｏｂｉｌｅｉｐ−ｉｐｖ６−１９．ｔｘｔ）のＨＡへの適応が可能である。
なお、上記実施例では、移動基点ノードが輻輳に陥った場合に階層ドメイン内の他の基点機能具備ルータを移動基点ノードとして起動させて負荷分散を行うことを主に説明したが、階層ドメイン内に移動基点ノードと移動基点ノードとして動作中の基点機能具備ルータがある状態で、移動基点ノードが輻輳に陥ったときは移動基点ノードとして動作中の基点機能具備ルータに負荷分散を行うことはもちろんである。
なお、バインディングキャッシュテーブル６５が請求項記載のテーブル手段に対応し、負荷状態判定部７０が自ノード負荷状態検出手段に対応し、負荷分散処理部７１がテーブルエレメント移動手段に対応し、負荷分散メッセージ処理部８１，ＭＡＰ情報収集タイマ８２，ＭＡＰリスト８５がルータ負荷状態検出手段に対応し、位置情報参照手段４５，分散データ選択部８４が移動エレメント選択手段に対応する。
【図１】
2004056054.tif 000003
【図２】
2004056054.tif 000004
【図３】
2004056054.tif 000005
【図４】
2004056054.tif 000006
【図５】
2004056054.tif 000007
【図６】
2004056054.tif 000008
【図７】
2004056054.tif 000009
【図８】
2004056054.tif 000010
【図９】
2004056054.tif 000011
【図１０】
2004056054.tif 000012
【図１１】
2004056054.tif 000013
【図１２】
2004056054.tif 000014
【図１３】
2004056054.tif 000015
【図１４】
2004056054.tif 000016
【図１５】
2004056054.tif 000017
【図１６】
2004056054.tif 000018
【図１７】
2004056054.tif 000019
【図１８】
2004056054.tif 000020
【図１９】
2004056054.tif 000021
【図２０】
2004056054.tif 000022
【図２１】
2004056054.tif 000023
【図２２】
2004056054.tif 000024
【図２３】
2004056054.tif 000025
【図２４】
2004056054.tif 000026
【図２５】
2004056054.tif 000027
【図２６】
2004056054.tif 000028
【図２７】
2004056054.tif 000029
【国際調査報告】
2004056054.tif 000030
2004056054.tif 000031
2004056054.tif 000032
2004056054.tif 000033