(57)【要約】サーバと経路の負荷情報に応じて、これらを選択することで、データ品質の劣化を有効に防止することを目的とし、複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継装置１であって、サーバと、データ中継装置１からサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集手段２と、情報収集手段２により収集された負荷情報に基づいて、クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択手段５とを備えた。
2004093394.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継装置であって、
前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、
前記情報収集部により収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部と
を備えてなるデータ中継装置。
【請求項２】
請求の範囲第１項に記載のデータ中継装置において、
前記サービス選択部は、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算し、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出し、算出された積算演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択することを特徴とするデータ中継装置。
【請求項３】
請求の範囲第２項に記載のデータ中継装置において、
前記サービス選択部は、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得しておき、
前記変化分と、既に取得されている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出することを特徴とするデータ中継装置。
【請求項４】
請求の範囲第３項に記載のデータ中継装置において、
前記サービス選択部は、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出し、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択することを特徴とするデータ中継装置。
【請求項５】
請求の範囲第３項に記載のデータ中継装置において、
前記サービス選択部は、第１の時点で収集した負荷情報とその時の接続要求数と、第２の時点で収集した負荷情報とその時の接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出して取得することを特徴とするデータ中継装置。
【請求項６】
請求の範囲第２項に記載のデータ中継装置において、
前記サービス選択部は、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出することを特徴とするデータ中継装置。
【請求項７】
請求の範囲第１項に記載のデータ中継装置において、
サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視し、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えることを特徴とするデータ中継装置。
【請求項８】
請求の範囲第１項に記載のデータ中継装置において、
前記サービス選択部は、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択することを特徴とするデータ中継装置。
【請求項９】
請求の範囲第１項に記載のデータ中継装置において、
前記負荷情報には、サーバに関して、ＣＰＵ負荷率、ディスク使用率、コネクション数のいずれか少なくとも一つが含まれ、経路に関して、使用帯域、経路遅延のいずれか少なくとも一つが含まれることを特徴とするデータ中継装置。
【請求項１０】
請求の範囲第１項に記載のデータ中継装置において、
前記サーバは、複数のアプリサーバから負荷情報を集約するサーバ負荷集約部を有するＳＬＢサーバにより構成されることを特徴とするデータ中継装置。
【請求項１１】
複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継方法であって、
前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
を備えてなるデータ中継方法。
【請求項１２】
請求の範囲第１１項に記載のデータ中継方法において、
前記サービス選択ステップは、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算するステップと、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出するステップと、算出された積演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択するステップとを備えることを特徴とするデータ中継方法。
【請求項１３】
請求の範囲第１２項に記載のデータ中継方法において、
前記サービス選択ステップは、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得するステップと、
前記変化分と、既に取得されている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出するステップとを備えることを特徴とするデータ中継方法。
【請求項１４】
請求の範囲第１３項に記載のデータ中継方法において、
前記サービス選択ステップは、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出するステップと、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するステップとを備えることを特徴とするデータ中継方法。
【請求項１５】
請求の範囲第１３項に記載のデータ中継方法において、
前記残り容量率の変化分を取得するステップは、第１の時点で負荷情報とその時の接続要求数とを収集するステップと、第２の時点で負荷情報とその時の接続要求数とを収集するステップと、第１の時点で収集した負荷情報及び接続要求数と、第２の時点で収集した負荷情報及び接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出するステップとを備えることを特徴とするデータ中継方法。
【請求項１６】
請求の範囲第１２項に記載のデータ中継方法において、
前記サービス選択ステップでは、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出するステップを含むことを特徴とするデータ中継方法。
【請求項１７】
請求の範囲第１１項に記載のデータ中継方法において、
サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視するステップと、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えるステップとを備えることを特徴とするデータ中継方法。
【請求項１８】
請求の範囲第１１項に記載のデータ中継方法において、
前記サービス選択ステップは、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択するステップを備えることを特徴とするデータ中継方法。
【請求項１９】
複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継することをコンピュータに実行させるデータ中継プログラムであって、
前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
をコンピュータに実行させるデータ中継プログラム。
【請求項２０】
請求の範囲第１９項に記載のデータ中継プログラムにおいて、
前記サービス選択ステップは、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算するステップと、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出するステップと、算出された積演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択するステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
【請求項２１】
請求の範囲第２０項に記載のデータ中継プログラムにおいて、
前記サービス選択ステップは、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得するステップと、
前記変化分と、既に取得されいている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出するステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
【請求項２２】
請求の範囲第２１項に記載のデータ中継プログラムにおいて、
前記サービス選択ステップは、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出するステップと、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
【請求項２３】
請求の範囲第２１項に記載のデータ中継プログラムにおいて、
前記残り容量率の変化分を取得するステップは、第１の時点で負荷情報とその時の接続要求数とを収集するステップと、第２の時点で負荷情報とその時の接続要求数とを収集するステップと、第１の時点で収集した負荷情報及び接続要求数と、第２の時点で収集した負荷情報及び接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出するステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
【請求項２４】
請求の範囲第２０項に記載のデータ中継プログラムにおいて、
前記サービス選択ステップでは、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出するステップをコンピュータに実行させることを特徴とするデータ中継プログラム。
【請求項２５】
請求の範囲第１９項に記載のデータ中継プログラムにおいて、
更に、サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視するステップと、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えるステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
【請求項２６】
請求の範囲第１９項に記載のデータ中継プログラムにおいて、
前記サービス選択ステップは、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択するステップを備えて該ステップをコンピュータに実行させることを特徴とするデータ中継プログラム。
【請求項２７】
複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択装置であって、
前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、
前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部と
を備えてなるサービス選択装置。
【請求項２８】
複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択方法であって、
前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
を備えてなるサービス選択方法。
【請求項２９】
複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択することをコンピュータに実行させるサービス選択プログラムであって、
前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
をコンピュータに実行させることを特徴とするサービス選択プログラム。
【発明の詳細な説明】
【技術分野】  本発明は、サーバ・クライアントとネットワークの組み合わせからなる情報通信システムに適用されるデータ中継装置等に関し、特に、複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継装置、方法、及びプログラムに関する。また、本発明は、複数のサーバから少なくとも一つのサーバと共にそのサーバまでの経路を選択するサービス選択装置、方法、及びプログラムに関する。
【背景技術】  近年の情報通信や情報サービスの高度化に伴い、これら情報通信システムや情報サービスシステムにおいては、それらの処理性能を向上させるために、同一の情報を複数のサーバに配備し、単一の情報アドレス（例えば仮想ＩＰ（ＶＩＰ）アドレス）でアクセスされた接続要求（以下情報要求という）を、これら複数のサーバの１つに振分けるサーバ負荷分散制御が行われている。この負荷分散制御において、特に、システムが大規模化しユーザサイト・サーバサイトの地理的な分散が拡大しているシステムにおいては、広域に配備されたサーバやサーバサイト間での効率的な負荷振分けを行う必要がある。ここでは、複数のサーバと経路の候補から、ポリシや定期的に収集した負荷情報に基づいてサーバと経路を選択して割当てることで、資源の有効利用やサービス品質の維持を行うことが望まれている。
このような要求は、第２０図に示すような、以下のシステムについて望まれている。
（ａ）企業情報システム
このシステムは、地域分散した情報システムサイト間を結合するシステムである。
（ｂ）分散ＩＤＣ（Ｉｎｔｅｒｎｅｔ  Ｄａｔａ  Ｃｅｎｔｅｒ）
このシステムは、地域ＩＤＣ間、地域ＩＤＣ−センタＩＤＣ間を結合するシステムである。
（ｃ）キャリアシステム
このシステムは、ＩＰキャリアのセンタ間を結合するシステムである。
第２０図において、上述した広域サイト・サーバへの振分けは、第２０図中のＧＷ（Ｇａｔｅｗａｙ；データ中継装置）が行うこととなる。
一方、上記のようなシステムを構築するための従来の技術としては、以下のようなものが知られている。
（ア）広域負荷分散技術
この技術は、広域に配備されたサーバやサーバサイト間で負荷分散を行う技術である。一般に、ＤＮＳ応答を複数のサーバ間で順番に回すことで振分けるＤＮＳラウンドロビン方式や、サーバの負荷を定期的に収集して一番負荷の小さいところへ振分ける方式などが使われる。
ＤＮＳラウンドロビン方式では、サーバ負荷・経路負荷ともに考慮せず、単純に決められた順番でサーバへのＤＮＳ応答を返す。サーバ負荷方式では、経路負荷を考慮せず、サーバの負荷のみで振分け先サーバを判定する。またいずれの方式でも経路は選択できず、下記のＩＰルーティングで一意に決まる単一の経路のみを使う。
（イ）トラフィック・エンジニアリング
この技術は、ネットワークレベルで経路負荷をモニタし、輻輳状態になったことを判断すると、一部の負荷を代替経路に振分け、経路間の負荷分散を行う技術である。本技術は経路負荷のみを最適化する技術であり、サーバ状況や個別のフローを意識した制御は行わない。
（ウ）ＩＰルーティング
この技術は、ルータ間で経路情報をやりとりし、単一の評価基準（ホップ数など）が最小となる経路のみを継続的に使う技術である。一般に、複数経路を考慮しない。
（エ）ＱＯＳＰＦ
この技術は、ＱｏＳ（サービス品質）に関する複数の評価基準に基づくルーティングプロトコルに関するものである。ネットワークに関する複数の評価基準を扱うが、どの経路を選択するかは、個々の評価基準が一定の条件を満たしているか（所定の範囲内にあるか）否かにより判断する。一般に解は一意に決まらず、それほど悪くないものを選ぶことになる。
しかしながら、上記従来の技術では、以下のような問題がある。上記（イ）のトラフィック・エンジニアリング、（ウ）のＩＰルーティングのように経路のみに基づいてサービスを選択する技術、あるいは（ア）のサーバ負荷方式のようにサーバの負荷情報のみでサービスを選択する技術においては、経路負荷とサーバ負荷のいずれか一方のみに基づいてサービスが選択されるため、選択されたサービスにおいて経路負荷とサーバ負荷のいずれか他方の負荷が大きくなっている場合はサービスの品質劣化が生じることとなる。例えば、サーバ負荷情報だけでサービス（サーバおよび経路）を選択した場合、経路が輻輳してもそのサービスを使い続けるため、他に代替経路があったとしても振り替えは行われず、サービス品質の劣化が生じることとなる。従って、経路の負荷情報のみ或いはサーバの負荷情報のみでサービスを選択する技術では、資源の有効利用が行えない。
また、（エ）のＱＯＳＰＦにおける複数の評価基準に基づくサービス選択では、個々の評価基準ごとに条件を満たしているか否かによりサービス選択を行うものであるが、複数の評価基準を統一的に扱う指針がない。従って、評価基準の組み合わせを単純に比較できないため、サービスを一意に決定することができない。また、個々の評価基準ごとに判断するので、分岐判断や計算量が多くなり、収束に時間がかかる。
さらに、上述した従来の技術においては、収集した負荷情報と、現在の状況にズレがある可能性がある。一般に、負荷情報収集の間隔は長い（数秒単位）ため、次に負荷情報を得るまでの中間時点では、負荷状態が変わってしまっている可能性があり、得られた負荷情報がその時の状態における正確な負荷情報とは言えない。
本発明は、上記問題点を解決するためになされたもので、サーバ及び経路に関する１つないし２つ以上の資源の負荷情報を収集した上で、これら複数の負荷情報を複合的に判断してサービス（サーバ及び経路）を選択し、資源の有効利用やサービス品質の維持を行うことができるデータ中継装置、データ中継方法、及びデータ中継プログラム、並びにサービス選択装置、サービス選択方法、及びサービス選択プログラムを提供することを目的とする。
【発明の開示】
上述した課題を解決するため、本発明に係るデータ中継装置は、複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継装置であって、前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、前記情報収集部により収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部とを備えてなるものである。
このような構成によれば、サーバ及び経路に関する１つないし２つ以上の資源の負荷情報を収集した上で、これら複数の負荷情報を複合的に判断してサービス（サーバ及び経路）を選択し、資源の有効利用やサービス品質の維持を行うことができる。
また、本発明のデータ中継装置において、前記サービス選択部は、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算し、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出し、算出された積演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択することを特徴とするものである。
このような構成によれば、サービス（サーバと経路）を選択するために、負荷情報に基づく複数の評価基準から単一の評価基準値（プリファレンス値）を導出することが可能となり、選択肢の比較評価を簡単に行うことができる。この基準値により、サーバや経路などの資源の利用率に基づいて選択肢を選ぶことが可能になり、各資源の利用率が均等になるようにサービスを割付けることができる。また、複数の評価基準を組み合わせたときの選択肢の優劣を、単一の基準値に基づいて、簡単に比較することができる。
また、本発明のデータ中継装置においては、前記サービス選択部は、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得しておき、前記変化分と、既に取得されている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出することを特徴とするものである。
このような構成によれば、負荷情報を収集するポイント間でのサーバと経路の負荷状態を予測することが可能になり、この予測値に基づいてサービス選択を行うことで、より正確なサービス割当てを実現し、資源の有効利用とサービス品質の維持を実現できる。
また、本発明のデータ中継装置において、前記サービス選択部は、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出し、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択することを特徴とするものである。
このような構成によれば、例えばサービスを割当てることで全資源の残り容量率の減少に一番影響の小さい選択肢、つまり余剰資源を一番多く持っている選択肢を抽出することが可能となる。この構成は各資源の利用率を均一にするように動作するのではなく、各資源間の絶対能力に差があった場合に、絶対的な余剰能力が一番高いものを選択するように動作し、資源の有効利用を図ることができる。
また、本発明のデータ中継装置において、前記サービス選択部は、第１の時点で収集した負荷情報とその時の接続要求数と、第２の時点で収集した負荷情報とその時の接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出して取得することを特徴とするものである。
このような構成によれば、例えば１つの接続要求（情報要求）を受付けた時の各資源の残り容量率の減少分を、実測結果に基づくフィードバック制御によって算出することが可能となり、固定値で持った場合に比べて、より厳密な予測制御を実現できるようになる。
また、本発明のデータ中継装置において、前記サービス選択部は、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出することを特徴とするものである。
このような構成によれば、各資源の利用率に重み付けして選択肢を判定することが可能となり、当該評価基準の他の評価基準に比べた時の影響度を大きくしたり小さくしたりすることができる。これにより、評価基準をすべて同等に扱うのではなく、選択肢を判定する時に優先させたい評価基準の影響を大きく見せたり、優先させたくない評価基準の影響を小さく見せたりすることが可能になる。
また、本発明のデータ中継装置は、サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視し、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えることを特徴とするものである。
このような構成によれば、既に確立した通信コネクションに対し、他の通信コネクションの影響で輻輳を生じて経路負荷が増大した場合に、当該の通信コネクションの経路を輻輳を起こしていない代替経路に切り替えることで、サービス品質の維持を行うことが可能となる。このような自律的な制御を、複数の負荷情報（サーバ情報、経路情報）から算出した単一の基準値を元に容易に行うことができる。
また、本発明のデータ中継装置において、前記サービス選択部は、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択することを特徴とするものである。
このような構成によれば、例えば、ポリシ情報を優先し、或いは定められたポリシの範囲においては負荷情報を優先して資源を選択するようにすることができ、ユーザの要望に柔軟に対応させることができる。
なお、本発明のデータ中継装置において、前記負荷情報には、サーバに関して、ＣＰＵ負荷率、ディスク使用率、コネクション数のいずれか少なくとも一つが含まれ、経路に関して、使用帯域、経路遅延のいずれか少なくとも一つが含まれることを特徴とすることができ、また、前記サーバは、複数のアプリサーバから負荷情報を集約するサーバ負荷集約部を有するＳＬＢサーバにより構成されることを特徴とすることができる。
また、本発明は、複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継方法であって、前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップとを備えてなるものである。
ここで、前記サービス選択ステップは、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算するステップと、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出するステップと、算出された積演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択するステップとを備えることを特徴とすることができる。
また、前記サービス選択ステップは、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得するステップと、前記変化分と、既に取得されている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出するステップとを備えることを特徴とするものである。
また、前記サービス選択ステップは、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出するステップと、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するステップとを備えることを特徴とするものである。
また、本発明のデータ中継方法において、前記残り容量率の変化分を取得するステップは、第１の時点で負荷情報とその時の接続要求数とを収集するステップと、第２の時点で負荷情報とその時の接続要求数とを収集するステップと、第１の時点で収集した負荷情報及び接続要求数と、第２の時点で収集した負荷情報及び接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出するステップとを備えることを特徴とする。
また、前記サービス選択ステップでは、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出するステップを含むことを特徴とするものである。
また、本発明のデータ中継方法においては、サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視するステップと、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えるステップとを備えることを特徴とするものである。
また、前記サービス選択ステップは、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択するステップを備えることを特徴とするものである。
また、本発明は、複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継することをコンピュータに実行させるデータ中継プログラムであって、前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップとをコンピュータに実行させるものである。
また、本発明は、複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択装置であって、前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部とを備えてなるものである。
また、本発明は、複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択方法であって、前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップとを備えてなるものである。
また、本発明は、複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択することをコンピュータに実行させるサービス選択プログラムであって、前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップとをコンピュータに実行させることを特徴とするものである。なお、本発明の実施の形態においては、データ中継装置が本発明のサービス選択装置を構成しており、その動作方法が本発明のサービス選択方法を構成し、その動作をコンピュータに実行させるプログラムがサービス選択プログラムを構成している。
【図面の簡単な説明】第１図は本発明の動作原理を示すフローチャートである。
第２図は本発明を適用するデータ中継装置の機能ブロック図である。
第３図は実施の形態の全体構成を示すブロック図である。
第４図はサーバ情報テーブルと経路情報テーブルの関係を示す図であり、第４図（ａ）は、サーバ情報テーブルを示し、第４図（ｂ）は経路情報テーブルの構成を示す図である。
第５図はサーバ情報テーブルの一例を示す図である。
第６図は第５図のサーバ情報テーブルに対応する経路情報テーブルの一例を示す図である。
第７図はサーバ情報テーブルの他の一例を示す図である。
第８図は第７図のサーバ情報テーブルに対応する経路情報テーブルの一例を示す図である。
第９図は、第３図に示されたサービス選択部５Ａの第１の動作を示すフローチャートである。
第１０図は、第９図に示した動作と異なるサービス選択部の第２の動作を示すフローチャートである。
第１１図は、第９図や第１０図に示した動作と異なるサービス選択部の第３の動作を示すフローチャートである。
第１２図は、第９図〜第１１図に示した動作と異なるサービス選択部の第４の動作を示すフローチャートである。
第１３図は、上述した資源利用率を得る際に使用される重み付け関数を示す図である。
第１４図は、第９図〜第１２図に示した動作と異なるサービス選択部の第５の動作を示すフローチャートである。
第１５図は、本発明の一構成例を実施例としてより詳細に示す全体ブロック図である。
第１６図は、第１５図に示された各経路で適用されるパケットフォーマットを示す図である。
第１７図は、第１５図のデータ中継装置１の内部の機能構成を示した図である。
第１８図は、第１５図の構成に対応したサーバ情報テーブル、経路情報テーブルの第１の具体例である。
第１９図は、第１５図に対応したサーバ情報テーブル、経路情報テーブルの第２の具体例を示す図である。
第２０図は、本発明の適用システムを示す図であり、第２０図（ａ）は企業情報システムを示す図であり、第２０図（ｂ）は分散ＩＤＣ（Ｉｎｔｅｒｎｅｔ  Ｄａｔａ  Ｃｅｎｔｅｒ）を示す図であり、第２０図（ｃ）はキャリアシステムを示す図である。
【発明を実施するための最良の形態】  以下、本発明の実施の形態を図面を用いて説明する。
まず、本発明の実施の形態における原理を第１図と第２図を用いて説明する。第１図は本発明の動作原理を示すフローチャート、第２図は本発明を適用するデータ中継装置の機能ブロック図を示す。第２図に示したデータ中継装置１は、サーバ負荷情報（以下サーバ情報という）と経路負荷情報（以下経路情報という）を収集する情報収集手段２と、収集されたサーバ負荷情報を格納するサーバ情報データベース３と、収集された経路負荷情報を格納する経路情報データベース４と、これら収集され、或いは格納された情報に基づいてサーバ及び経路をサービスとして選択するサービス選択手段５と、選択されたサービスを実行するためサーバの宛先アドレスの変換やルータの選択、ネットワークの指定などを行う資源（リソース）制御手段６と、図示しないクライアントやサーバとの間で送受信を行うデータ送受信部８を備えている。
このデータ中継装置１による動作は第１図に示される。即ち、データ中継装置１は、情報収集手段１がサーバ情報・経路情報を定期的に収集し（Ｓ１）、適宜サーバ情報データベース３と経路情報データベース４に格納する。次に、サービス選択手段５が収集された情報源から各資源（サーバ及び経路）の資源利用率を求め（Ｓ２）、情報要求に対し、可能な経路・サーバの組み合わせについて、各資源の残り容量率の積演算値（プリファレンス値）を計算し（Ｓ３）、プリファレンス値が最大となるサーバ・経路の組み合わせを選択（Ｓ４）する。そして資源制御手段６がそれらの組み合わせにおけるサービスが実行されるように資源を制御し（Ｓ５）、データ送受信部８よりその選択された経路に従って選択されたサーバに情報を送信し、また当該サーバから選択された経路に従って情報を受信する。
次に、本発明の実施の形態１について説明する。第３図は本システムの全体構成を示すブロック図である。本システムはユーザクライアント１１と、各種サーバ１２，１３と、これらユーザクライアント１１と各種サーバ１２，１３との間に設けられるデータ中継装置１と、これらを接続する複数の経路１４，１５，１６を備えて構成される。データ中継装置１は、情報収集部２Ａと、サーバ情報データベース３Ａと、経路情報データベース４Ａと、サービス選択部５Ａと、資源制御部６Ａと、情報要求に対してサービス選択のためのクラス分けを行うクラス分類部７Ａと、クラス分けを行うためのポリシ情報を格納したポリシ情報データベース９Ａと、データ送受信部８Ａとを備えている。
情報収集部２Ａでは、サーバ情報及び経路情報を定期的に収集する。サーバ情報としてはＣＰＵ使用率、メモリ使用率などが一例として挙げられ、経路情報としては帯域使用率、経路遅延に関する情報などが一例として挙げられる。
サービス選択部５Ａでは、ポリシ情報データベースに格納され、或いは適宜入力されたポリシ情報（定義ポリシ）と、情報収集部２Ａにより収集された状態情報（サーバ情報、経路情報）に基づいて、ユーザクライアント１１からの情報要求（接続要求）に割付ける適切なサービス（サーバ、経路）を選択する。
資源制御部６Ａは、選択（決定）されたサービス実行を実現するために、サーバおよび経路を選択する制御（選択制御）を行う。
経路の選択制御では、受け付けた情報要求をＶＬＡＮやＩＰ−ＶＰＮの経路に動的に対応付けするためのラベル付与や出力インタフェース選択を行う。
サーバの選択制御では、仮想ＩＰから各サーバに対応した実ＩＰへの変換を行う。
また、サーバ情報データベース３Ａや経路情報データベース４Ａはサーバ情報や経路情報を情報テーブルとして格納する。これら情報テーブルは、情報要求に対する振分け先のサーバ情報、およびそのサーバへ至る経路情報（各サーバに対して経路が複数ある場合はそれに対応して複数）を管理するために使用されるものであり、情報収集部２Ａが各情報を収集して、これらデータベース３Ａ，４Ａの情報テーブルに書込み、サービス選択部５Ａが情報要求に対する適用サービスを選択（決定）する時に参照する。
第４図はサーバ情報テーブルと経路情報テーブルの関係を示す図であり、第４図（ａ）は、サーバ情報テーブルを示し、第４図（ｂ）は経路情報テーブルの構成を示す。また、第５図はサーバ情報テーブルの一例を示し、第６図は第５図のサーバ情報テーブルに対応する経路情報テーブルの一例を示す図である。また、第７図はサーバ情報テーブルの他の一例を示し、第８図は第７図のサーバ情報テーブルに対応する経路情報テーブルの一例を示す図である。
これらサーバ情報テーブルは、要求情報ごと（例えば要求情報に対する仮想ＩＰアドレスごと）に存在し、要求された情報を持つサーバの一覧と、そのサーバの負荷情報を保持する。第５図では、ＣＰＵ負荷率５１、ディスク使用率５２、コネクション数５３の３種類の情報を収集することを表している。
経路情報テーブルは、第４図（ｂ）に示されるようにサーバ情報テーブルの各エントリからポインタされ、そのサーバへ至る経路の一覧と、その経路の負荷情報を保持する。また経路情報テーブルを示す第６図では、使用帯域６１、遅延６２の２種類の情報を収集することを表している。本例では、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）の経路探索を使って、サーバに至る複数経路を調べる。
第７図及び第８図のそれぞれに示されるサーバ情報テーブル、経路情報テーブルにおける、第５図及び第６図で示されるサーバ情報テーブル、経路情報テーブルのそれぞれとの違いは、ＣＰＵ負荷率及びディスク使用率に関する情報として、単位要求当りの増分を定数値あるいは書替え可能な値として持つ点と、コネクション情報に関して負荷情報として直近の情報収集時からの情報要求の数の変化分を持つ点である。即ち、第７図に示すサーバ情報テーブルにおいては、変数の増分として、ＣＰＵ負荷率の増分５１ａ、ディスク使用率の増分５２ａ、直近の情報収集時からの情報要求の数の変化分５３ａの３種類の情報を持ち、第８図に示す経路情報テーブルでは使用帯域の増分６１ａ、経路の遅延の増分６２ａ、及び直近の情報収集時からの情報要求の数の変化分６３ａの３種類の情報を持つ。
（第１の動作）
第９図は、第３図に示されたサービス選択部５Ａの第１の動作を示すフローチャートである。本例では、第４図〜第６図のサーバ情報テーブル及び経路情報テーブルを使って動作する。データ送受信部８Ａにおいてユーザクライアント１１からの情報要求を受付ける都度、サービス選択部５Ａは当該情報に関するサーバ情報テーブル、経路情報テーブルを検索する（Ｓ１１）。サーバと経路の可能な組合せについて、各テーブルに含む負荷情報を、０〜１の間の値を取る資源の正規化利用率に変換する（Ｓ１２）。第５図に示したサーバ負荷情報及び第６図に示した経路負荷情報に対しては、資源の正規化利用率（資源利用率）を以下のように定義して算出する。即ち、サーバ負荷情報について正規化利用率を算出するに際しては、ＣＰＵ負荷率とディスク使用率とは、その値がそのまま正規化利用率として使用される。また、コネクション数は計測したコネクション数を最大許容コネクション数で除することにより求められる。但し、計測したコネクション数が最大許容コネクション数を超えた場合は１とする。
また、経路負荷情報について正規化利用率を算出するに際して、使用帯域は、計測した使用帯域をリンク速度で除することにより求められ、経路遅延は、計測した経路遅延を最大許容経路遅延で除することにより求められる。ただし計測した経路遅延が最大許容経路遅延を超えた場合は１とする。
サーバ負荷情報        正規化利用率
ＣＰＵ負荷率      →そのまま使用
ディスク使用率    →そのまま使用
コネクション数    →計測したコネクション数／最大許容コネクション数
（ただし計測したコネクション数が最大許容コネクシ
ョン数を超えた場合は、本値は１とする）
経路負荷情報：        正規化利用率
使用帯域      →計測した使用帯域／リンク速度
経路遅延      →計測した経路遅延／最大許容経路遅延
（ただし計測した経路遅延が最大許容経路遅延を超え
た場合は、本値は１とする）
そして、サーバ及び経路の各組合せについて、各資源の残り容量率を、（１−正規化利用率）で算出する。次に、この組合せに対するプリファレンス値Ｐｎを、全負荷情報の残り容量率の積として計算する。負荷情報ｉの正規化利用率をｘｉとすると、プリファレンス値Ｐｎは以下の式で表される。
Ｐｎ＝（１−ｘ１）（１−ｘ２）・・・（１−ｘｋ）
ここで、ｘｉは負荷情報ｉの正規化利用率である。
そして、全ての（サーバ、経路）の組合せについてＰｎを比較し、値が最大となる組合せを、情報要求に対して割当てるサービスとして選択し、実際の資源を制御するために、第３図における資源制御部６Ａに起動をかける。もし条件を満たす組合せがなければ、適切な資源は存在しないとして、情報要求を拒否する。
（第２の動作）
第１０図は、第９図に示した動作と異なるサービス選択部の第２の動作を示すフローチャートである。本例では、第７図に示されたサーバ情報テーブル及び第８図に示された経路情報テーブルを使って動作する。
この場合、サービス選択部５Ａは、クライアントからの情報要求を受付ける都度、当該情報に対するサーバ情報テーブル（第７図）、経路情報テーブル（第８図）を検索する（Ｓ２１）。そして、サーバと経路の可能な組合せに関して、各テーブルに含む負荷情報（直近の情報収集時に取得したもの）についての資源の正規化利用率の予測値（０〜１の間の値）を、直近で収集した負荷情報および単位情報当りの負荷増分および情報要求の数の増分から算出する（Ｓ２２）。負荷情報ｉに対するこれらの値を、ｘｉ、δｘｉ、ｍとすると、新規の情報要求も含められたこの負荷情報の正規化利用率の予測値ｘｉ´は以下の式で表される。
なお、本例では、各負荷情報の単位情報要求数当りの増分（δｘｉ）は、事前に実測などで定数値として算出し、第７図及び第８図のサーバ情報テーブル、経路情報テーブルに登録されているものとする。
ｘｉ´＝ｘｉ＋（ｍ＋１）×δｘｉ
上式の値を用いて、（サーバ、経路）の各組合せについて、各資源の残り容量率を、（１−正規化利用率の予測値）  で算出し、この組合せに対するプリファレンス値Ｐｎ´を、全負荷情報の残り容量率の積として計算する（Ｓ２３）。負荷情報ｉの正規化利用率をｘｉとすると、プリファレンス値の予測値Ｐｎ´は以下の式で表される。
Ｐｎ´＝（１−ｘ１´）（１−ｘ２´）・・・（１−ｘｋ´）
ここで、ｘｉ´は負荷情報ｉの正規化利用率の予測値である。
そして、すべての（サーバ、経路）の組合せについてＰｎ´を比較し、値が最大となる組合せを、情報要求に対して割当てるサービスとして選択し（Ｓ２４）する。そして、実際の資源を制御するために、第３図における資源制御部６Ａに起動をかける（Ｓ２５Ｙ，Ｓ２６）。もし条件を満たす組合せがなければ、適切な資源は存在しないとして、情報要求を拒否する（Ｓ２５Ｎ，Ｓ２７）。
（第３の動作）
第１１図は、第９図や第１０図に示した動作と異なるサービス選択部の第３の動作を示すフローチャートである。本例では、第７図のサーバ情報テーブル及び第８図の経路情報テーブルを使って動作する。
この場合、サービス選択部５Ａは、ユーザクライアントからの情報要求を受付ける都度、当該情報に対する第７図に示されたサーバ情報テーブル、第８図に示された経路情報テーブルを検索する（Ｓ３１）。その後、第２の動作（第１０図）で説明したように、すべての（サーバ、経路）の組合せについて、新規の情報要求も含めたプリファレンス値の予測値Ｐｔ（＝Ｐｎ´）を算出する（Ｓ３２）。次に、新規の情報要求を含まないプリファレンス値の予測値Ｐｔ−１を算出する（Ｓ３３）。これらより、すべての（サーバ、経路）の組合せについて、プリファレンス値の予測値の減少分である、Ｐｔ−１−Ｐｔを算出する（Ｓ３４）。そして、この差分値が最小となる組合せを、情報要求に対して割当てるサービスとして選択し（Ｓ３５）、実際の資源を制御するために、第３図における資源制御部６Ａに起動をかける（Ｓ３６Ｙ，Ｓ３７）。もし条件を満たす組合せがなければ、適切な資源は存在しないとして、情報要求を拒否する（Ｓ３６Ｎ，Ｓ３８）。
（第４の動作）
第１２図は、第９図〜第１１図に示した動作と異なるサービス選択部の第４の動作を示すフローチャートである。本例では、第７図のサーバ情報テーブル及び第８図の経路情報テーブルを使って動作する。
第４の動作では、各負荷情報の単位情報要求（接続要求）当りの増分（δｘｉ）を、上述の第２の動作（第１０図）で説明したように予め定数値として与えるのではなく、定期的に収集した負荷情報をもとに適応的に修正していく手順を規定する。
この動作においては、新しい負荷情報を収集する都度、当該情報に対する第７図に示されたサーバ情報テーブル、第８図に示された経路情報テーブルを検索する（Ｓ４１）。次に、前回の負荷情報収集時からの、各負荷情報の残り容量率および情報要求数の増減を計算する（Ｓ４２）。この値と情報要求数の増分より、単位要求当りの、各負荷情報の残り容量率の増減を計算する（Ｓ４３）。例えばある負荷情報ｉについて、前回収集した負荷情報値、今回収集した負荷情報値、及び情報要求数の増分をそれぞれ、ｘ（ｉ−１）、ｘ（ｉ）、ｎとすれば、新しい増分δｘｉは次の式で表される。
δｘｉ＝（ｘ（ｉ）−ｘ（ｉ−１））／ｎ
上式で算出した値を、サーバ情報テーブル、経路情報テーブルに記録し（Ｓ４４）、次に新たな負荷情報を収集するまで、この値を負荷情報の増分として利用する。
第１３図は、上述した資源利用率を得る際に使用される重み付け関数を示す図である。すなわち、ここに示す曲線は、実際の資源利用率に替えてプリファレンス値の計算で使用する値を求めるための関数式を表す。負荷情報値ｘｉは重み付け関数ｙ＝Ｆｉ（ｘ）で変換された後、サービスの組合せにおけるプリファレンス値を算出する。つまり、プリファレンス値Ｐｎは以下の式で表される。
Ｐｎ＝（１−Ｆ１（ｘ１））（１−Ｆ２（ｘ２））・・・（１−Ｆｋ（ｘｋ））
ここで、ｘｉは負荷情報ｉの正規化利用率である。
第１３図に示すのは、この重み付け関数Ｆの例である。通常は、ｙ＝ｘ（つまり正規化利用率をそのまま）を使う。当該負荷情報の影響度を大きく反映させたい場合は、関数Ｆとして上に凸の関数であるｙ＝Ｘ１／２を使うことで実現できる。当該負荷情報の影響度を小さく反映させたい場合は、関数Ｆとして下に凸の関数であるｙ＝ｘ２を使うことで実現できる。
（第５の動作）
第１４図は、第９図〜第１２図に示した動作と異なるサービス選択部の第５の動作を示すフローチャートである。本例では、第５図及び第６図に示されたサーバ情報及び経路情報テーブル又は第７図及び第８図に示されたサーバ情報テーブル及び経路情報テーブルを使って動作する。
この場合、サービス選択部５Ａは、新しい負荷情報を収集する都度、当該情報に対するサーバ情報テーブル、経路情報テーブルを検索する（Ｓ５１）。次に、サーバと経路の可能な組合せについて、上述した第１図の動作で示した手順で新しく収集した負荷情報に関する正規化利用率を算出し（Ｓ５２）する。次に、残り容量率を算出すると共に、この組合せに対するプリファレンス値を算出する（Ｓ５３）。そして、このプリファレンス値が予め定義した定義値以下であるかどうかを判定し（Ｓ５４）、もし定義値以下の場合（Ｓ５４Ｙ）は、本サービスのどこかで輻輳が起きていると判断し、同一のサーバへ至る別経路（代替経路）へ既設定コネクションの一部の経路制御を切替える（ルーティングし直す）（Ｓ５５）。なお、本経路制御の方法については、本特許では詳細に述べないが、当該の情報要求をＶＬＡＮやＩＰ−ＶＰＮの経路に動的に対応付けするために付与するラベルの変更や、選択する出力インタフェースの変更で実現する。
【実施例】  第１５図は、本発明の一構成例を実施例としてより詳細に示す全体ブロック図である。第１５図に示されるように、ユーザクライアント１１を収容するアクセスネットワーク１００（例えば、地域拠点網）は、データ中継装置１を介してインターネット２００に接続される。一方、情報が提供可能に格納されている情報システムサイト３００，４００は、ＳＬＢ（Ｓｅｓｓｉｏｎ  Ｌｏａｄ  Ｂａｌａｎｃｅｒ；サーバ負荷分散装置）サーバ３１２，４１３を介してインターネット２００に接続され、内部的には複数のアプリサーバ３０１〜３０ｍへのサーバ負荷分散を行う。情報が格納されている情報提供部は、データ中継装置１とＳＬＢサーバ３１２，４１３の二段階で仮想化される。第１５図中では、各ＩＰアドレスが＃１〜＃１７で示されている。そして、ユーザクライアント１１からＶＩＰ（仮想ＩＰ）である＃２（１９２．１６８．１．１）宛に送られたパケットは、データ中継装置１にて振分けのためのＩＰアドレス変換を行い、振分け先のＳＬＢサーバのＶＩＰ＃６（図中では、ＳＬＢサーバ３１２の１９２．１６８．３．５）に変換されて、経路指定の上、ＳＬＢサーバ３１２宛に送られる。これを受けて、ＳＬＢサーバ３１２では、ＶＩＰである＃６（１９２．１６８．３．５）より振分けのためのＩＰアドレス変換を行い、振分け先のアプリサーバの実ＩＰ（図中では、アプリサーバ３０１の＃７（１９２．１６８．５．７））に変換されて、アプリサーバ３０１宛に送られる。また、経路は次ホップＩＰを指定してパケットを送出することで制御する。データ中継装置１からＳＬＢサーバ３１２に至る経路は、ルータ２０１（＃４：１９２．１６８．２．２）を経由するものと、ルータ２０２（＃１３：１９２．１６８．２．３）を経由するものの２つが存在し、それぞれデータ中継装置から次ホップとして＃４（１９２．１６８．２．２）、あるいは＃１３（１９２．１６８．２．３）に宛ててパケットを送出することで、通過する経路の切り分けを行う。またＳＬＢサーバ４１３（＃１７：１９２．１６８．４．６）に至る経路はルータ２０３（＃１５：１９２．１６８．２．４）を経由するもののみである。
サーバ負荷情報の収集については、アプリサーバ３０１（＃７：１９２．１６８．５．７）〜３０ｍ（＃８：１９２．１６８．５．８），４０１（＃１０：１９２．１６８．６．９）〜４０ｎ（＃１１：１９２．１６８．６．１０）の内部に、ＣＰＵ負荷率やディスク使用率を定期的に計測する負荷計測エージェント３０１−ａ〜３０ｍ−ａ、４０１−ａ〜４０ｎ−ａを配備する。これら負荷計測エージェントとしてはネットワーク管理の標準規格であるＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）のエージェントや、ＵＮＩＸ系ＯＳの標準ツールであるｓａｒで内部レジスタを読み出すプログラムなどで実現する。この各アプリサーバで定期的に計測したデータを、アプリサーバがＳＬＢサーバへ定期的に報告する。これを受けて、ＳＬＢサーバでは、複数のアプリサーバから得た負荷情報をサイト全体を示すものへ集約（サーバ負荷集約手段による）した上で、データ中継装置へサイト全体を表す負荷情報として定期的に報告する。なお、集約の仕方としては、ＣＰＵ負荷とディスク使用率については単純平均を用い、コネクション数については総和を用いる。
ＣＰＵ負荷率        →単純平均
ディスク使用率      →単純平均
コネクション数      →総和
データ中継装置１では、情報収集部２Ａとして、サーバ負荷収集部２Ａ−１と経路負荷計測部２Ａ−２を有し、サーバ負荷情報については、サーバ負荷収集部２Ａ−１が各ＳＬＢサーバ３１２，４１３のサーバ負荷収集部３１２ａ，４１３ａにより収集された情報（集約された負荷情報）をサーバサイト３００，４００の負荷情報として収集する。
また、経路負荷については、経路負荷計測部２Ａ−２がテストパケット生成部２Ａ−２ａと応答観測部２Ａ−２ｂを有し、テストパケット生成部２Ａ−２ａが経路を指定して（第１５図中では、次ホップＩＰを指定する）、テストパケット（典型的にはＩＣＭＰ  ＥＣＨＯ  Ｒｅｑｕｅｓｔパケット）を送出し、その応答（遅延やスループット）を応答観測部２Ａ−２ｂが観測することで、指定経路の使用帯域や遅延を算出する。
第１６図は、第１５図に示された各経路で適用されるパケットフォーマットを示す図である。それぞれ宛先ＩＰ、送信元ＩＰ、次ホップＩＰで定義される。なお、次ホップＩＰは直接そのパケットを投げる装置のＩＰである。次ポップＩＰは、ＩＰの下位のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層において、この次ポップＩＰに対するＭＡＣアドレス宛にＭＡＣパケットを送るために使われる。本パケットフォーマットは、上記の説明で記したデータのやりとりで使われるものである。なお、第１６図において、第１６図（ａ）はユーザクライアントからデータ中継装置への場合を示し、第１６図（ｂ）はデータ中継装置からルータ２０１への場合を示し、第１６図（ｃ）はルータ２０１からＳＬＢサーバ３１２への場合を示し、第１６図（ｄ）はＳＬＢサーバ３１２からアプリサーバ３０１への場合を示す。
第１７図は、第１５図のデータ中継装置１の内部の機能構成を示した図である。入力パケットは、クラス分類部７Ａにより予め定義されたクラス分類ポリシに従い、複数のクラス（パケット・キュー）に分類される。サービス選択部５Ａは各クラスのパケットについて、予め定義されたサービス割当てポリシと、収集された負荷情報（サーバ負荷、経路負荷）とに従い、サービス選択（サーバと経路の決定）を行う。資源制御部６Ａは、サーバ制御部６Ａ−１と経路制御部６Ａ−２を有し、サーバ制御部６Ａ−１では、送信された宛先ＩＰを決定したサーバについての宛先ＩＰに変換し、データ送受信部８ＡのＮＡＴ（機能部）８Ａ−１に渡す。経路制御部６Ａ−２では、経路選択において決定した経路に対応する次ホップＩＰを付与してルーティング・スタック（機能部）８Ａ−２へ渡す。ＮＡＴ８Ａ−１やルーティング・スタック８Ａ−２などの機能部は指定された動作を行う。
第１８図は、第１５図の構成に対応したサーバ情報テーブル、経路情報テーブルの第１の実際の構成例である。これらは、それぞれ第５図、第６図のフォーマットに対応している。
第１９図は、第１５図に対応したサーバ情報テーブル、経路情報テーブルの第２の実際の構成例を示す図である。これらは、それぞれ第７図、第８図のフォーマットに対応している。
以下、第１５図に示した構成の動作について、第９図〜第１２図及び第１４図に示した第１の動作〜第５の動作に対応させて説明する。
（第１の対応動作）
まず、第９図を用いて説明した第１の動作に対応する動作（実施例動作１）について説明する。
データ中継装置へは、第１６図（ａ）に示したフォーマットで情報要求が送られる。サービス選択部はこの情報（ＶＩＰとして＃２（１９２．１６８．１．１））に対し、第１８図に示したサーバ情報テーブル、経路情報テーブルを検索する。
これより、当該情報に対する（サーバ、経路）の組合せ［以下これを、テーブル中の（ＳｖｒＥｎｔｒｙＩＤ、ＲｔＥｎｔｒｙＩＤ）で表示する］として、
（１、１），（１、２），（２、３）
の３つがあることが分かる。ここで、サーバを示す「１」は、ＳＬＢサーバ３１２（＃６：１９２．１６８．３．５）を表し、サーバを示す「２」は、ＳＬＢサーバ４１３（＃１７：１９２．１６８．４．６）を表し、経路を示す「１」は、パス−１（ルータ２０１：＃４）を表し、経路を示す「２」は、パス−２（ルータ２０２：＃１３）を表し、経路を示す「３」はパス−３（ルータ２０３：＃１５）を表している。
この３つの組合せに対して、サーバ負荷情報としてＣＰＵ負荷率（ＣｐｕＬｏａｄ）／ディスク使用率（ＤｉｓｋＬｏａｄ）／コネクション数（ＣｏｎｎＮｕｍ）の３つを、経路負荷情報として使用帯域（Ｂａｎｄｗｉｄｔｈ）／経路遅延（ＲｔＤｅｌａｙ）の２つを、サービス決定で考慮するパラメータとし、各資源の正規化利用率を以下のように算出する。なお、最大許容コネクション数は３０，０００、最大許容遅延は１００ｍｓとしている。
（例えば、ＣＰＵ負荷率はＣｐｕＬｏａｄの値そのまま、コネクション数はＣｏｎｎＮｕｍ／（最大許容コネクション数）で算出する）
2004093394.tif 000003
上記の正規化利用率より、各資源に対する残り容量率、および全項目の積演算値（＝プリファレンス値）を、各組合せで以下のように算出する。各資源の残り容量率は、１−（正規化利用率）、プリファレンス値は、各組合せでの全項目の残り容量率の積である。
2004093394.tif 000004
上記の演算結果より、プリファレンス値が最大となる（１、２）の組合せを選択する。このプリファレンス値は０ではないので、有効な選択肢としてこれを挙げ、リソース制御へ渡す。
（第２の対応動作）
次に、第１０図を用いて説明した第２の動作に対応する動作（実施例動作２）について説明する。
データ中継装置へは、第１６図（ａ）に示したフォーマットで情報要求が送られる。サービス選択部はこの情報（ＶＩＰとして＃２：１９２．１６８．１．１）に対し、第１９図に示したサーバ情報テーブル、経路情報テーブルを検索する。
これより、当該情報に対する（サーバ、経路）の組合せとして、
（１、１），（１、２），（２、３）
の３つがあることが分かる。この３つの組合せに対して、サーバ負荷情報としてＣＰＵ負荷率（ＣｐｕＬｏａｄ）／ディスク使用率（ＤｉｓｋＬｏａｄ）／コネクション数（ＣｏｎｎＮｕｍ）の３つを、経路負荷情報として使用帯域（Ｂａｎｄｗｉｄｔｈ）／経路遅延（ＲｔＤｅｌａｙ）の２つを、サービス決定で考慮するパラメータとし、各資源の正規化利用率の予測値（新規情報要求分を含む）を以下のように算出する。なお、最大許容コネクション数は３０，０００、最大許容遅延は１００ｍｓとしている（例えば、ＣＰＵ負荷率はＣｐｕＬｏａｄ＋δＣｐｕＬｏａｄ×（ＣｏｎｎＮｕｍ＋ＲｅｑＮｕｍ＋１）、で算出する）。
2004093394.tif 000005
上記の正規化利用率の予測より、各資源に対する残り容量率の予測値、及び全項目の積演算値（＝プリファレンス値）を、各組合せで以下のように算出する。
2004093394.tif 000006
上記の演算結果より、プリファレンス値が最大となる（１、２）の組合せを選択。このプリファレンス値は０ではないので、有効な選択肢としてこれを挙げ、リソース制御へ渡す。
（第３の対応動作）
次に、第１１図を用いて説明した第３の動作に対応する動作（実施例動作３）について説明する。
データ中継装置へは、第１６図（ａ）に示したフォーマットで情報要求が送られる。サービス選択部はこの情報（ＶＩＰとして＃２：１９２．１６８．１．１）に対し、第１９図に示したサーバ情報テーブル、経路情報テーブルを検索する。
これより、当該情報に対する（サーバ、経路）の組合せとして、
（１、１），（１、２），（２、３）
の３つがあることが分かる。この３つの組合せに対して、サーバ負荷情報としてＣＰＵ負荷率（ＣｐｕＬｏａｄ）／ディスク使用率（ＤｉｓｋＬｏａｄ）／コネクション数（ＣｏｎｎＮｕｍ）の３つを、経路負荷情報として使用帯域（Ｂａｎｄｗｉｄｔｈ）／経路遅延（ＲｔＤｅｌａｙ）の２つを、サービス決定で考慮するパラメータとし、新規情報要求を含むプリファレンス値の予測値Ｐｔを、第２の対応動作で求めた手順の通り算出する。なお、最大許容コネクション数は３０，０００、最大許容遅延は１００ｍｓとしている。
同様に、新規情報要求を含まないプリファレンス値の予測値Ｐｔ−１を算出する。
以上より、Ｐｔ−１−Ｐｔを算出する。
以上のデータを、各組合せについて記すと、以下のようになる。
2004093394.tif 000007
上記の演算結果より、Ｐｔ−１−Ｐｔが最小となる（２、３）の組合せを選択。このプリファレンス値は０ではないので、有効な選択肢としてこれを挙げ、リソース制御へ渡す。
（第４の対応動作）
次に、第１２図を用いて説明した第４の動作に対応する動作（実施例動作４）について説明する。
定期的に負荷情報を収集するタイミングで、第１９図に示すサーバ情報テーブル、経路情報テーブルを検索する。
ここで、新たに収集した負荷情報が、以下の通りであるとする。
2004093394.tif 000008
2004093394.tif 000009
これより、前回の負荷収集時の負荷情報（第１９図の値）からの増加分Δ（例えば、ＣＰＵ負荷ならΔＣｐｕＬｏａｄ’＝ＣｐｕＬｏａｄ’−ＣｐｕＬｏａｄ）は以下のようになる。
2004093394.tif 000010
これより単位要求当りの各負荷情報の増加分δ（例えば、ＣＰＵ負荷ならδＣｐｕＬｏａｄ’＝ΔＣｐｕＬｏａｄ’／ΔＣｏｎｎＮｕｍ’）は以下のようになる。
2004093394.tif 000011
これらのδの値を新たな負荷情報の増分とし、第１９図に示すサーバ情報テーブル、経路情報テーブルの、δＣｐｕＬｏａｄ、δＤｉｓｋＬｏａｄ、δＢａｎｄｗｉｄｔｈ、δＲｔＤｅｌａｙにそれぞれ書き込む。
（第５の対応動作）
次に、第１４図を用いて説明した第５の動作に対応する動作（実施例動作５）について説明する。
定期的に負荷情報を収集するタイミングで、第１９図に示すサーバ情報テーブル、経路情報テーブルを検索する。
（サーバ、経路）の各組合せに対し、実施例動作２で説明した手順（ただし新規情報要求分はない）で、各資源の正規化利用率の予測値を算出する。
同様に実施例動作１で説明した手順により、正規化利用率より、残り容量率を出し、全項目の積演算値（＝プリファレンス値）を各組合せで算出する。算出した結果を、以下に記す。
2004093394.tif 000012
ここで、経路のリソース調整を行うためのスレショルド値（第１４図ステップＳ５４中の定義値）を０．０８とする。スレショルド値の意味は、プリファレンス値がこの値（スレショルド値）を下回ったら、本組合せのサービスのどこかで輻輳状態が起きていると判断するための値である。
上記のプリファレンス値とこのスレショルド値を比較した時、経路が２つある（１、１）と（１、２）について評価すると、（１、１）のプリファレンス値が定義スレショルド値を下回っている。つまり、サーバ３１２に至る経路（パス−１）の経路負荷を、サーバ３１２に至る経路（パス−２）に振り返る必要があると判定する。
（なお、（２、３）についてもプリファレンス値が定義スレショルド値を下回っているが、経路が１つしかないので指定経路の切替え処理は行わない）
以下、このための資源（リソース）制御を行うための動作を実施する。セッション単位で指定経路を経路（パス−２）に切替える動作を行う。
【産業上の利用の可能性】
以上説明したように、本発明によれば、サーバと経路の負荷情報に応じて、これらを選択することができ、データ品質の劣化を有効に防止することができる。また、サービス（サーバと経路）を選択するために、負荷情報に基づく複数の評価基準から単一の評価基準値を導出することが可能となり、選択肢の比較評価を簡単に行うことができるようになる。また、収集した負荷情報と資源の利用予測値から、次の状態を予測して適切なサーバと経路を選択することが可能になり、予測制御を行うことができるようになる。従って、これらにより、資源の有効利用とサービス品質の維持を実現することが可能になる。
【図１】
2004093394.tif 000013
【図２】
2004093394.tif 000014
【図３】
2004093394.tif 000015
【図４】
2004093394.tif 000016
【図５】
2004093394.tif 000017
【図６】
2004093394.tif 000018
【図７】
2004093394.tif 000019
【図８】
2004093394.tif 000020
【図９】
2004093394.tif 000021
【図１０】
2004093394.tif 000022
【図１１】
2004093394.tif 000023
【図１２】
2004093394.tif 000024
【図１３】
2004093394.tif 000025
【図１４】
2004093394.tif 000026
【図１５】
2004093394.tif 000027
【図１６】
2004093394.tif 000028
【図１７】
2004093394.tif 000029
【図１８】
2004093394.tif 000030
【図１９】
2004093394.tif 000031
【図２０】
2004093394.tif 000032
【手続補正書】
【提出日】平成17年2月9日(2005.2.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継装置であって、
前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、
前記情報収集部により収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部と
を備えてなるデータ中継装置。
【請求項２】
複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継方法であって、
前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
を備えてなるデータ中継方法。
【請求項３】
複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継することをコンピュータに実行させるデータ中継プログラムであって、
前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
をコンピュータに実行させるデータ中継プログラム。
【請求項４】
請求項３に記載のデータ中継プログラムにおいて、
前記サービス選択ステップは、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択するステップを備えて該ステップをコンピュータに実行させることを特徴とするデータ中継プログラム。
【請求項５】
複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択装置であって、
前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、
前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部と
を備えてなるサービス選択装置。
【請求項６】
複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択方法であって、
前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
を備えてなるサービス選択方法。
【請求項７】
複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択することをコンピュータに実行させるサービス選択プログラムであって、
前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
をコンピュータに実行させることを特徴とするサービス選択プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ・クライアントとネットワークの組み合わせからなる情報通信システムに適用されるデータ中継装置等に関し、特に、複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継装置、方法、及びプログラムに関する。また、本発明は、複数のサーバから少なくとも一つのサーバと共にそのサーバまでの経路を選択するサービス選択装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年の情報通信や情報サービスの高度化に伴い、これら情報通信システムや情報サービスシステムにおいては、それらの処理性能を向上させるために、同一の情報を複数のサーバに配備し、単一の情報アドレス（例えば仮想ＩＰ(ＶＩＰ)アドレス）でアクセスされた接続要求（以下情報要求という）を、これら複数のサーバの１つに振分けるサーバ負荷分散制御が行われている。この負荷分散制御において、特に、システムが大規模化しユーザサイト・サーバサイトの地理的な分散が拡大しているシステムにおいては、広域に配備されたサーバやサーバサイト間での効率的な負荷振分けを行う必要がある。ここでは、複数のサーバと経路の候補から、ポリシや定期的に収集した負荷情報に基づいてサーバと経路を選択して割当てることで、資源の有効利用やサービス品質の維持を行うことが望まれている。
【０００３】
このような要求は、第２０図に示すような、以下のシステムについて望まれている。
（ａ）企業情報システム
このシステムは、地域分散した情報システムサイト間を結合するシステムである。
（ｂ）分散ＩＤＣ（Internet Data Center)
このシステムは、地域ＩＤＣ間、地域ＩＤＣ−センタＩＤＣ間を結合するシステムである。
（ｃ）キャリアシステム
このシステムは、ＩＰキャリアのセンタ間を結合するシステムである。
第２０図において、上述した広域サイト・サーバへの振分けは、第２０図中のＧＷ（Gateway；データ中継装置）が行うこととなる。
【０００４】
一方、上記のようなシステムを構築するための従来の技術としては、以下のようなものが知られている。
（ア） 広域負荷分散技術
この技術は、広域に配備されたサーバやサーバサイト間で負荷分散を行う技術である。一般に、ＤＮＳ応答を複数のサーバ間で順番に回すことで振分けるＤＮＳラウンドロビン方式や、サーバの負荷を定期的に収集して一番負荷の小さいところへ振分ける方式などが使われる。
ＤＮＳラウンドロビン方式では、サーバ負荷・経路負荷ともに考慮せず、単純に決められた順番でサーバへのＤＮＳ応答を返す。サーバ負荷方式では、経路負荷を考慮せず、サーバの負荷のみで振分け先サーバを判定する。またいずれの方式でも経路は選択できず、下記のＩＰルーティングで一意に決まる単一の経路のみを使う。
【０００５】
（イ）トラフィック・エンジニアリング
この技術は、ネットワークレベルで経路負荷をモニタし、輻輳状態になったことを判断すると、一部の負荷を代替経路に振分け、経路間の負荷分散を行う技術である。本技術は経路負荷のみを最適化する技術であり、サーバ状況や個別のフローを意識した制御は行わない。
【０００６】
（ウ）ＩＰルーティング
この技術は、ルータ間で経路情報をやりとりし、単一の評価基準（ホップ数など）が最小となる経路のみを継続的に使う技術である。一般に、複数経路を考慮しない。
【０００７】
（エ）ＱＯＳＰＦ
この技術は、QoS（サービス品質）に関する複数の評価基準に基づくルーティングプロトコルに関するものである。ネットワークに関する複数の評価基準を扱うが、どの経路を選択するかは、個々の評価基準が一定の条件を満たしているか（所定の範囲内にあるか）否かにより判断する。一般に解は一意に決まらず、それほど悪くないものを選ぶことになる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来の技術では、以下のような問題がある。上記（イ）のトラフィック・エンジニアリング、（ウ）のＩＰルーティングのように経路のみに基づいてサービスを選択する技術、あるいは（ア）のサーバ負荷方式のようにサーバの負荷情報のみでサービスを選択する技術においては、 経路負荷とサーバ負荷のいずれか一方のみに基づいてサービスが選択されるため、選択されたサービスにおいて経路負荷とサーバ負荷のいずれか他方の負荷が大きくなっている場合はサービスの品質劣化が生じることとなる。例えば、サーバ負荷情報だけでサービス（サーバおよび経路）を選択した場合、経路が輻輳してもそのサービスを使い続けるため、他に代替経路があったとしても振り替えは行われず、サービス品質の劣化が生じることとなる。従って、経路の負荷情報のみ或いはサーバの負荷情報のみでサービスを選択する技術では、資源の有効利用が行えない。
【０００９】
また、（エ）のＱＯＳＰＦにおける複数の評価基準に基づくサービス選択では、個々の評価基準ごとに条件を満たしているか否かによりサービス選択を行うものであるが、複数の評価基準を統一的に扱う指針がない。従って、評価基準の組み合わせを単純に比較できないため、サービスを一意に決定することができない。また、個々の評価基準ごとに判断するので、分岐判断や計算量が多くなり、収束に時間がかかる。
【００１０】
さらに、上述した従来の技術においては、収集した負荷情報と、現在の状況にズレがある可能性がある。一般に、負荷情報収集の間隔は長い（数秒単位）ため、次に負荷情報を得るまでの中間時点では、負荷状態が変わってしまっている可能性があり、得られた負荷情報がその時の状態における正確な負荷情報とは言えない。
【００１１】
本発明は、上記問題点を解決するためになされたもので、サーバ及び経路に関する１つないし２つ以上の資源の負荷情報を収集した上で、これら複数の負荷情報を複合的に判断してサービス（サーバ及び経路）を選択し、資源の有効利用やサービス品質の維持を行うことができるデータ中継装置、データ中継方法、及びデータ中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決するため、本発明に係るデータ中継装置は、複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継装置であって、前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、前記情報収集部により収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部とを備えてなるものである。
【００１３】
このような構成によれば、サーバ及び経路に関する１つないし２つ以上の資源の負荷情報を収集した上で、これら複数の負荷情報を複合的に判断してサービス（サーバ及び経路）を選択し、資源の有効利用やサービス品質の維持を行うことができる。
【００１４】
また、本発明のデータ中継装置において、前記サービス選択部は、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算し、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出し、算出された積演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択することを特徴とするものである。
【００１５】
このような構成によれば、サービス（サーバと経路）を選択するために、負荷情報に基づく複数の評価基準から単一の評価基準値（プリファレンス値）を導出することが可能となり、選択肢の比較評価を簡単に行うことができる。この基準値により、サーバや経路などの資源の利用率に基づいて選択肢を選ぶことが可能になり、各資源の利用率が均等になるようにサービスを割付けることができる。また、複数の評価基準を組み合わせたときの選択肢の優劣を、単一の基準値に基づいて、簡単に比較することができる。
【００１６】
また、本発明のデータ中継装置においては、前記サービス選択部は、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得しておき、前記変化分と、既に取得されている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出することを特徴とするものである。
【００１７】
このような構成によれば、負荷情報を収集するポイント間でのサーバと経路の負荷状態を予測することが可能になり、この予測値に基づいてサービス選択を行うことで、より正確なサービス割当てを実現し、資源の有効利用とサービス品質の維持を実現できる。
【００１８】
また、本発明のデータ中継装置において、前記サービス選択部は、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出し、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択することを特徴とするものである。
【００１９】
このような構成によれば、例えばサービスを割当てることで全資源の残り容量率の減少に一番影響の小さい選択肢、つまり余剰資源を一番多く持っている選択肢を抽出することが可能となる。この構成は各資源の利用率を均一にするように動作するのではなく、各資源間の絶対能力に差があった場合に、絶対的な余剰能力が一番高いものを選択するように動作し、資源の有効利用を図ることができる。
【００２０】
また、本発明のデータ中継装置において、前記サービス選択部は、第１の時点で収集した負荷情報とその時の接続要求数と、第２の時点で収集した負荷情報とその時の接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出して取得することを特徴とするものである。
【００２１】
このような構成によれば、例えば１つの接続要求（情報要求）を受付けた時の各資源の残り容量率の減少分を、実測結果に基づくフィードバック制御によって算出することが可能となり、固定値で持った場合に比べて、より厳密な予測制御を実現できるようになる。
【００２２】
また、本発明のデータ中継装置において、前記サービス選択部は、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出することを特徴とするものである。
【００２３】
このような構成によれば、各資源の利用率に重み付けして選択肢を判定することが可能となり、当該評価基準の他の評価基準に比べた時の影響度を大きくしたり小さくしたりすることができる。これにより、評価基準をすべて同等に扱うのではなく、選択肢を判定する時に優先させたい評価基準の影響を大きく見せたり、優先させたくない評価基準の影響を小さく見せたりすることが可能になる。
【００２４】
また、本発明のデータ中継装置は、サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視し、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えることを特徴とするものである。
【００２５】
このような構成によれば、既に確立した通信コネクションに対し、他の通信コネクションの影響で輻輳を生じて経路負荷が増大した場合に、当該の通信コネクションの経路を輻輳を起こしていない代替経路に切り替えることで、サービス品質の維持を行うことが可能となる。このような自律的な制御を、複数の負荷情報（サーバ情報、経路情報）から算出した単一の基準値を元に容易に行うことができる。
【００２６】
また、本発明のデータ中継装置において、前記サービス選択部は、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択することを特徴とするものである。
【００２７】
このような構成によれば、例えば、ポリシ情報を優先し、或いは定められたポリシの範囲においては負荷情報を優先して資源を選択するようにすることができ、ユーザの要望に柔軟に対応させることができる。
【００２８】
なお、本発明のデータ中継装置において、前記負荷情報には、サーバに関して、ＣＰＵ負荷率、ディスク使用率、コネクション数のいずれか少なくとも一つが含まれ、経路に関して、使用帯域、経路遅延のいずれか少なくとも一つが含まれることを特徴とすることができ、また、前記サーバは、複数のアプリサーバから負荷情報を集約するサーバ負荷集約部を有するＳＬＢサーバにより構成されることを特徴とすることができる。
【００２９】
また、本発明は、複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継方法であって、前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップとを備えてなるものである。
【００３０】
ここで、前記サービス選択ステップは、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算するステップと、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出するステップと、算出された積演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択するステップとを備えることを特徴とすることができる。
【００３１】
また、前記サービス選択ステップは、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得するステップと、前記変化分と、既に取得されている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出するステップとを備えることを特徴とするものである。
【００３２】
また、前記サービス選択ステップは、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出するステップと、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するステップとを備えることを特徴とするものである。
【００３３】
また、本発明のデータ中継方法において、前記残り容量率の変化分を取得するステップは、第１の時点で負荷情報とその時の接続要求数とを収集するステップと、第２の時点で負荷情報とその時の接続要求数とを収集するステップと、第１の時点で収集した負荷情報及び接続要求数と、第２の時点で収集した負荷情報及び接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出するステップとを備えることを特徴とする。
【００３４】
また、前記サービス選択ステップでは、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出するステップを含むことを特徴とするものである。
【００３５】
また、本発明のデータ中継方法においては、サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視するステップと、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えるステップとを備えることを特徴とするものである。
【００３６】
また、前記サービス選択ステップは、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択するステップを備えることを特徴とするものである。
【００３７】
また、本発明は、複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継することをコンピュータに実行させるデータ中継プログラムであって、前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップとをコンピュータに実行させるものである。
【００３８】
また、本発明は、複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択装置であって、前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部とを備えてなるものである。なお、本発明の実施の形態においては、データ中継装置がサービス選択装置を構成している。
【００３９】
また、本発明は、複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択方法であって、前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップとを備えてなるものである。
【００４０】
また、本発明は、複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択することをコンピュータに実行させるサービス選択プログラムであって、前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップとをコンピュータに実行させることを特徴とするものである。
【発明を実施するための最良の形態】
【００４１】
以下、本発明の実施の形態を図面を用いて説明する。
まず、本発明の実施の形態における原理を第１図と第２図を用いて説明する。第１図は本発明の動作原理を示すフローチャート、第２図は本発明を適用するデータ中継装置の機能ブロック図を示す。第２図に示したデータ中継装置１は、サーバ負荷情報（以下サーバ情報という）と経路負荷情報（以下経路情報という）を収集する情報収集手段２と、収集されたサーバ負荷情報を格納するサーバ情報データベース３と、収集された経路負荷情報を格納する経路情報データベース４と、これら収集され、或いは格納された情報に基づいてサーバ及び経路をサービスとして選択するサービス選択手段５と、選択されたサービスを実行するためサーバの宛先アドレスの変換やルータの選択、ネットワークの指定などを行う資源（リソース）制御手段６と、図示しないクライアントやサーバとの間で送受信を行うデータ送受信部８を備えている。
【００４２】
このデータ中継装置１による動作は第１図に示される。即ち、データ中継装置１は、情報収集手段１がサーバ情報・経路情報を定期的に収集し（Ｓ１）、適宜サーバ情報データベース３と経路情報データベース４に格納する。次に、サービス選択手段５が収集された情報源から各資源（サーバ及び経路）の資源利用率を求め（Ｓ２）、情報要求に対し、可能な経路・サーバの組み合わせについて、各資源の残り容量率の積演算値（プリファレンス値）を計算し（Ｓ３）、プリファレンス値が最大となるサーバ・経路の組み合わせを選択（Ｓ４）する。そして資源制御手段６がそれらの組み合わせにおけるサービスが実行されるように資源を制御し（Ｓ５）、データ送受信部８よりその選択された経路に従って選択されたサーバに情報を送信し、また当該サーバから選択された経路に従って情報を受信する。
【００４３】
実施の形態１．
次に、本発明の実施の形態１について説明する。第３図は本システムの全体構成を示すブロック図である。本システムはユーザクライアント１１と、各種サーバ１２，１３と、これらユーザクライアント１１と各種サーバ１２，１３との間に設けられるデータ中継装置１と、これらを接続する複数の経路１４，１５，１６を備えて構成される。データ中継装置１は、情報収集部２Ａと、サーバ情報データベース３Ａと、経路情報データベース４Ａと、サービス選択部５Ａと、資源制御部６Ａと、情報要求に対してサービス選択のためのクラス分けを行うクラス分類部７Ａと、クラス分けを行うためのポリシ情報を格納したポリシ情報データベース９Ａと、データ送受信部８Ａとを備えている。
【００４４】
情報収集部２Ａでは、サーバ情報及び経路情報を定期的に収集する。サーバ情報としてはＣＰＵ使用率、メモリ使用率などが一例として挙げられ、経路情報としては帯域使用率、経路遅延に関する情報などが一例として挙げられる。
サービス選択部５Ａでは、ポリシ情報データベースに格納され、或いは適宜入力されたポリシ情報（定義ポリシ）と、情報収集部２Ａにより収集された状態情報（サーバ情報、経路情報）に基づいて、ユーザクライアント１１からの情報要求（接続要求）に割付ける適切なサービス（サーバ、経路）を選択する。
資源制御部６Ａは、選択（決定）されたサービス実行を実現するために、サーバおよび経路を選択する制御（選択制御）を行う。
経路の選択制御では、受け付けた情報要求をＶＬＡＮやＩＰ−ＶＰＮの経路に動的に対応付けするためのラベル付与や出力インタフェース選択を行う。
サーバの選択制御では、仮想ＩＰから各サーバに対応した実ＩＰへの変換を行う。
【００４５】
また、サーバ情報データベース３Ａや経路情報データベース４Ａはサーバ情報や経路情報を情報テーブルとして格納する。これら情報テーブルは、情報要求に対する振分け先のサーバ情報、およびそのサーバへ至る経路情報（各サーバに対して経路が複数ある場合はそれに対応して複数）を管理するために使用されるものであり、情報収集部２Ａが各情報を収集して、これらデータベース３Ａ，４Ａの情報テーブルに書込み、サービス選択部５Ａが情報要求に対する適用サービスを選択（決定）する時に参照する。
【００４６】
第４図はサーバ情報テーブルと経路情報テーブルの関係を示す図であり、第４図（ａ）は、サーバ情報テーブルを示し、第４図（ｂ）は経路情報テーブルの構成を示す。また、第５図はサーバ情報テーブルの一例を示し、第６図は第５図のサーバ情報テーブルに対応する経路情報テーブルの一例を示す図である。また、第７図はサーバ情報テーブルの他の一例を示し、第８図は第７図のサーバ情報テーブルに対応する経路情報テーブルの一例を示す図である。
【００４７】
これらサーバ情報テーブルは、要求情報ごと（例えば要求情報に対する仮想ＩＰアドレスごと）に存在し、要求された情報を持つサーバの一覧と、そのサーバの負荷情報を保持する。第５図では、ＣＰＵ負荷率５１、ディスク使用率５２、コネクション数５３の３種類の情報を収集することを表している。
経路情報テーブルは、第４図（ｂ）に示されるようにサーバ情報テーブルの各エントリからポインタされ、そのサーバへ至る経路の一覧と、その経路の負荷情報を保持する。また経路情報テーブルを示す第６図では、使用帯域６１、遅延６２の２種類の情報を収集することを表している。本例では、ＢＧＰ(Border Gateway Protocol)の経路探索を使って、サーバに至る複数経路を調べる。
【００４８】
第７図及び第８図のそれぞれに示されるサーバ情報テーブル、経路情報テーブルにおける、第５図及び第６図で示されるサーバ情報テーブル、経路情報テーブルのそれぞれとの違いは、ＣＰＵ負荷率及びディスク使用率に関する情報として、単位要求当りの増分を定数値あるいは書替え可能な値として持つ点と、コネクション情報に関して負荷情報として直近の情報収集時からの情報要求の数の変化分を持つ点である。即ち、第７図に示すサーバ情報テーブルにおいては、変数の増分として、ＣＰＵ負荷率の増分５１ａ、ディスク使用率の増分５２ａ、直近の情報収集時からの情報要求の数の変化分５３ａの３種類の情報を持ち、第８図に示す経路情報テーブルでは使用帯域の増分６１ａ、経路の遅延の増分６２ａ、及び直近の情報収集時からの情報要求の数の変化分６３ａの３種類の情報を持つ。
【００４９】
（第１の動作）
第９図は、第３図に示されたサービス選択部５Ａの第１の動作を示すフローチャートである。本例では、第４図〜第６図のサーバ情報テーブル及び経路情報テーブルを使って動作する。データ送受信部８Ａにおいてユーザクライアント１１からの情報要求を受付ける都度、サービス選択部５Ａは当該情報に関するサーバ情報テーブル、経路情報テーブルを検索する（Ｓ１１）。サーバと経路の可能な組合せについて、各テーブルに含む負荷情報を、０〜１の間の値を取る資源の正規化利用率に変換する（Ｓ１２）。第５図に示したサーバ負荷情報及び第６図に示した経路負荷情報に対しては、資源の正規化利用率（資源利用率）を以下のように定義して算出する。即ち、サーバ負荷情報について正規化利用率を算出するに際しては、ＣＰＵ負荷率とディスク使用率とは、その値がそのまま正規化利用率として使用される。また、コネクション数は計測したコネクション数を最大許容コネクション数で除することにより求められる。但し、計測したコネクション数が最大許容コネクション数を超えた場合は１とする。
【００５０】
また、経路負荷情報について正規化利用率を算出するに際して、使用帯域は、計測した使用帯域をリンク速度で除することにより求められ、経路遅延は、計測した経路遅延を最大許容経路遅延で除することにより求められる。ただし計測した経路遅延が最大許容経路遅延を超えた場合は１とする。
【００５１】
サーバ負荷情報        正規化利用率
ＣＰＵ負荷率        →そのまま使用
ディスク使用率      →そのまま使用
コネクション数      →計測したコネクション数/最大許容コネクション数
（ただし計測したコネクション数が最大許容コネクション数                            を超えた場合は、本値は１とする）
【００５２】
経路負荷情報：        正規化利用率
使用帯域        →計測した使用帯域／リンク速度
経路遅延        →計測した経路遅延/最大許容経路遅延
（ただし計測した経路遅延が最大許容経路遅延を超えた場合                            は、本値は１とする）
【００５３】
そして、サーバ及び経路の各組合せについて、各資源の残り容量率を、（１−正規化利用率）で算出する。次に、この組合せに対するプリファレンス値Ｐｎを、全負荷情報の残り容量率の積として計算する。負荷情報ｉの正規化利用率をｘｉとすると、プリファレンス値Ｐｎは以下の式で表される。
Ｐｎ= (1− ｘ１) (１−ｘ２) ・・・ (１−ｘｋ) 
ここで、ｘｉは負荷情報ｉの正規化利用率である。
【００５４】
そして、全ての（サーバ、経路）の組合せについてＰｎを比較し、値が最大となる組合せを、情報要求に対して割当てるサービスとして選択し、実際の資源を制御するために、第３図における資源制御部６Ａに起動をかける。もし条件を満たす組合せがなければ、適切な資源は存在しないとして、情報要求を拒否する。
【００５５】
（第２の動作）
第１０図は、第９図に示した動作と異なるサービス選択部の第２の動作を示すフローチャートである。本例では、第７図に示されたサーバ情報テーブル及び第８図に示された経路情報テーブルを使って動作する。
この場合、サービス選択部５Ａは、クライアントからの情報要求を受付ける都度、当該情報に対するサーバ情報テーブル（第７図）、経路情報テーブル（第８図）を検索する（Ｓ２１）。そして、サーバと経路の可能な組合せに関して、各テーブルに含む負荷情報（直近の情報収集時に取得したもの）についての資源の正規化利用率の予測値（０〜１の間の値）を、直近で収集した負荷情報および単位情報当りの負荷増分および情報要求の数の増分から算出する（Ｓ２２）。負荷情報ｉに対するこれらの値を、ｘｉ、δｘｉ、ｍとすると、新規の情報要求も含められたこの負荷情報の正規化利用率の予測値ｘｉ´は以下の式で表される。
【００５６】
なお、本例では、各負荷情報の単位情報要求数当りの増分(δｘｉ)は、事前に実測などで定数値として算出し、第７図及び第８図のサーバ情報テーブル、経路情報テーブルに登録されているものとする。
ｘｉ´ =ｘｉ + (ｍ+１)×δｘｉ
上式の値を用いて、（サーバ、経路）の各組合せについて、各資源の残り容量率を、（１− 正規化利用率の予測値） で算出し、この組合せに対するプリファレンス値Ｐｎ´を、全負荷情報の残り容量率の積として計算する（Ｓ２３）。負荷情報ｉの正規化利用率をｘｉとすると、プリファレンス値の予測値Ｐｎ´は以下の式で表される。
Ｐｎ´ = (１−ｘ１´) (１−ｘ２´) ・・・ (１−ｘｋ´) 
ここで、ｘｉ´は負荷情報ｉの正規化利用率の予測値である。
【００５７】
そして、すべての（サーバ、経路）の組合せについてＰｎ´を比較し、値が最大となる組合せを、情報要求に対して割当てるサービスとして選択し（Ｓ２４）する。そして、実際の資源を制御するために、第３図における資源制御部６Ａに起動をかける（Ｓ２５Ｙ，Ｓ２６）。もし条件を満たす組合せがなければ、適切な資源は存在しないとして、情報要求を拒否する（Ｓ２５Ｎ，Ｓ２７）。
【００５８】
（第３の動作）
第１１図は、第９図や第１０図に示した動作と異なるサービス選択部の第３の動作を示すフローチャートである。本例では、第７図のサーバ情報テーブル及び第８図の経路情報テーブルを使って動作する。
この場合、サービス選択部５Ａは、ユーザクライアントからの情報要求を受付ける都度、当該情報に対する第７図に示されたサーバ情報テーブル、第８図に示された経路情報テーブルを検索する（Ｓ３１）。その後、第２の動作（第１０図）で説明したように、すべての（サーバ、経路）の組合せについて、新規の情報要求も含めたプリファレンス値の予測値Ｐt（=Ｐｎ´）を算出する（Ｓ３２）。次に、新規の情報要求を含まないプリファレンス値の予測値Ｐt-1を算出する（Ｓ３３）。これらより、すべての（サーバ、経路）の組合せについて、プリファレンス値の予測値の減少分である、Ｐt-1−Ｐtを算出する（Ｓ３４）。そして、この差分値が最小となる組合せを、情報要求に対して割当てるサービスとして選択し（Ｓ３５）、実際の資源を制御するために、第３図における資源制御部６Ａに起動をかける（Ｓ３６Ｙ，Ｓ３７）。もし条件を満たす組合せがなければ、適切な資源は存在しないとして、情報要求を拒否する（Ｓ３６Ｎ，Ｓ３８）。
【００５９】
（第４の動作）
第１２図は、第９図〜第１１図に示した動作と異なるサービス選択部の第４の動作を示すフローチャートである。本例では、第７図のサーバ情報テーブル及び第８図の経路情報テーブルを使って動作する。
第４の動作では、各負荷情報の単位情報要求（接続要求）当りの増分(δｘｉ)を、上述の第２の動作（第１０図）で説明したように予め定数値として与えるのではなく、定期的に収集した負荷情報をもとに適応的に修正していく手順を規定する。
【００６０】
この動作においては、新しい負荷情報を収集する都度、当該情報に対する第７図に示されたサーバ情報テーブル、第８図に示された経路情報テーブルを検索する（Ｓ４１）。次に、前回の負荷情報収集時からの、各負荷情報の残り容量率および情報要求数の増減を計算する（Ｓ４２）。この値と情報要求数の増分より、単位要求当りの、各負荷情報の残り容量率の増減を計算する（Ｓ４３）。例えばある負荷情報ｉについて、前回収集した負荷情報値、今回収集した負荷情報値、及び情報要求数の増分をそれぞれ、ｘ（ｉ−１）、ｘ（ｉ）、ｎとすれば、新しい増分δｘｉは次の式で表される。
【００６１】
δｘｉ = (ｘ（ｉ） − ｘ（ｉ−１）) / ｎ
上式で算出した値を、サーバ情報テーブル、経路情報テーブルに記録し（Ｓ４４）、次に新たな負荷情報を収集するまで、この値を負荷情報の増分として利用する。
【００６２】
第１３図は、上述した資源利用率を得る際に使用される重み付け関数を示す図である。すなわち、ここに示す曲線は、実際の資源利用率に替えてプリファレンス値の計算で使用する値を求めるための関数式を表す。負荷情報値ｘｉは重み付け関数ｙ＝Ｆｉ（ｘ）で変換された後、サービスの組合せにおけるプリファレンス値を算出する。つまり、プリファレンス値Ｐｎは以下の式で表される。
Ｐｎ = （１−Ｆ１（ｘ１））（１−Ｆ２（ｘ２））・・・ （１−Ｆｋ（ｘｋ））
ここで、ｘｉは負荷情報ｉの正規化利用率である。
【００６３】
第１３図に示すのは、この重み付け関数Ｆの例である。通常は、y = x （つまり正規化利用率をそのまま）を使う。当該負荷情報の影響度を大きく反映させたい場合は、関数Ｆとして上に凸の関数であるｙ =Ｘ1/2を使うことで実現できる。当該負荷情報の影響度を小さく反映させたい場合は、関数Ｆとして下に凸の関数であるｙ＝ｘ2を使うことで実現できる。
【００６４】
（第５の動作）
第１４図は、第９図〜第１２図に示した動作と異なるサービス選択部の第５の動作を示すフローチャートである。本例では、第５図及び第６図に示されたサーバ情報及び経路情報テーブル又は第７図及び第８図に示されたサーバ情報テーブル及び経路情報テーブルを使って動作する。
この場合、サービス選択部５Ａは、新しい負荷情報を収集する都度、当該情報に対するサーバ情報テーブル、経路情報テーブルを検索する（Ｓ５１）。次に、サーバと経路の可能な組合せについて、上述した第１図の動作で示した手順で新しく収集した負荷情報に関する正規化利用率を算出し（Ｓ５２）する。次に、残り容量率を算出すると共に、この組合せに対するプリファレンス値を算出する（Ｓ５３）。そして、このプリファレンス値が予め定義した定義値以下であるかどうかを判定し（Ｓ５４）、もし定義値以下の場合（Ｓ５４Ｙ）は、本サービスのどこかで輻輳が起きていると判断し、同一のサーバへ至る別経路（代替経路）へ既設定コネクションの一部の経路制御を切替える（ルーティングし直す）（Ｓ５５）。なお、本経路制御の方法については、本特許では詳細に述べないが、当該の情報要求をＶＬＡＮやＩＰ-ＶＰＮの経路に動的に対応付けするために付与するラベルの変更や、選択する出力インタフェースの変更で実現する。
【００６５】
（実施例）
第１５図は、本発明の一構成例を実施例としてより詳細に示す全体ブロック図である。第１５図に示されるように、ユーザクライアント１１を収容するアクセスネットワーク１００（例えば、地域拠点網）は、データ中継装置１を介してインターネット２００に接続される。一方、情報が提供可能に格納されている情報システムサイト３００，４００は、ＳＬＢ(Session Load Balancer； サーバ負荷分散装置)サーバ３１２，４１３を介してインターネット２００に接続され、内部的には複数のアプリサーバ３０１〜３０ｍへのサーバ負荷分散を行う。情報が格納されている情報提供部は、データ中継装置１とＳＬＢサーバ３１２，４１３の二段階で仮想化される。第１５図中では、各ＩＰアドレスが♯１〜♯１７で示されている。そして、ユーザクライアント１１からＶＩＰ（仮想ＩＰ）である♯２（192.168.1.1）宛に送られたパケットは、データ中継装置１にて振分けのためのＩＰアドレス変換を行い、振分け先のＳＬＢサーバのＶＩＰ♯６（図中では、ＳＬＢサーバ３１２の192.168.3.5）に変換されて、経路指定の上、ＳＬＢサーバ３１２宛に送られる。これを受けて、ＳＬＢサーバ３１２では、ＶＩＰである♯６（192.168.3.5）より振分けのためのＩＰアドレス変換を行い、振分け先のアプリサーバの実ＩＰ（図中では、アプリサーバ３０１の♯７（192.168.5.7））に変換されて、アプリサーバ３０１宛に送られる。また、経路は次ホップＩＰを指定してパケットを送出することで制御する。データ中継装置１からＳＬＢサーバ３１２に至る経路は、ルータ２０１（♯４：192.168.2.2）を経由するものと、ルータ２０２（♯１３：192.168.2.3）を経由するものの２つが存在し、それぞれデータ中継装置から次ホップとして♯４（192.168.2.2）、あるいは♯１３（192.168.2.3）に宛ててパケットを送出することで、通過する経路の切り分けを行う。またＳＬＢサーバ４１３（♯１７：192.168.4.6）に至る経路はルータ２０３（♯１５：192.168.2.4）を経由するもののみである。
【００６６】
サーバ負荷情報の収集については、アプリサーバ３０１（♯７：192.168.5.7）〜３０ｍ（♯８：192.168.5.8），４０１（♯１０：192.168.6.9）〜４０ｎ（♯１１：192.168.6.10）の内部に、ＣＰＵ負荷率やディスク使用率を定期的に計測する負荷計測エージェント３０１-ａ〜３０ｍ-ａ、４０１-ａ〜４０ｎ-ａを配備する。これら負荷計測エージェントとしてはネットワーク管理の標準規格であるＳＮＭＰ(Simple Network Management Protocol）のエージェントや、ＵＮＩＸ系ＯＳの標準ツールであるｓａｒで内部レジスタを読み出すプログラムなどで実現する。この各アプリサーバで定期的に計測したデータを、アプリサーバがＳＬＢサーバへ定期的に報告する。これを受けて、ＳＬＢサーバでは、複数のアプリサーバから得た負荷情報をサイト全体を示すものへ集約（サーバ負荷集約手段による）した上で、データ中継装置へサイト全体を表す負荷情報として定期的に報告する。なお、集約の仕方としては、ＣＰＵ負荷とディスク使用率については単純平均を用い、コネクション数については総和を用いる。
【００６７】
ＣＰＵ負荷率        →単純平均
ディスク使用率      →単純平均
コネクション数      →総和
データ中継装置１では、情報収集部２Ａとして、サーバ負荷収集部２Ａ−１と経路負荷計測部２Ａ−２を有し、サーバ負荷情報については、サーバ負荷収集部２Ａ−１が各ＳＬＢサーバ３１２，４１３のサーバ負荷収集部３１２ａ，４１３ａにより収集された情報（集約された負荷情報）をサーバサイト３００，４００の負荷情報として収集する。
【００６８】
また、経路負荷については、経路負荷計測部２Ａ−２がテストパケット生成部２Ａ−２ａと応答観測部２Ａ−２ｂを有し、テストパケット生成部２Ａ−２ａが経路を指定して（第１５図中では、次ホップＩＰを指定する）、テストパケット(典型的にはＩＣＭＰ ＥＣＨＯ Ｒｅｑｕｅｓｔパケット）を送出し、その応答（遅延やスループット）を応答観測部２Ａ−２ｂが観測することで、指定経路の使用帯域や遅延を算出する。
【００６９】
第１６図は、第１５図に示された各経路で適用されるパケットフォーマットを示す図である。それぞれ宛先ＩＰ、送信元ＩＰ、次ホップＩＰで定義される。なお、次ホップＩＰは直接そのパケットを投げる装置のＩＰである。次ホップＩＰは、ＩＰの下位のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層において、この次ホップＩＰに対するＭＡＣアドレス宛にＭＡＣパケットを送るために使われる。本パケットフォーマットは、上記の説明で記したデータのやりとりで使われるものである。なお、第１６図において、第１６図（ａ）はユーザクライアントからデータ中継装置への場合を示し、第１６図（ｂ）はデータ中継装置からルータ２０１への場合を示し、第１６図（ｃ）はルータ２０１からＳＬＢサーバ３１２への場合を示し、第１６図（ｄ）はＳＬＢサーバ３１２からアプリサーバ３０１への場合を示す。
【００７０】
第１７図は、第１５図のデータ中継装置１の内部の機能構成を示した図である。入力パケットは、クラス分類部７Ａにより予め定義されたクラス分類ポリシに従い、複数のクラス（パケット・キュー）に分類される。サービス選択部５Ａは各クラスのパケットについて、予め定義されたサービス割当てポリシと、収集された負荷情報（サーバ負荷、経路負荷）とに従い、サービス選択（サーバと経路の決定）を行う。資源制御部６Ａは、サーバ制御部６Ａ−１と経路制御部６Ａ−２を有し、サーバ制御部６Ａ−１では、送信された宛先ＩＰを決定したサーバについての宛先ＩＰに変換し、データ送受信部８ＡのＮＡＴ（機能部）８Ａ−１に渡す。経路制御部６Ａ−２では、経路選択において決定した経路に対応する次ホップＩＰを付与してルーティング・スタック（機能部）８Ａ−２へ渡す。ＮＡＴ８Ａ−１やルーティング・スタック８Ａ−２などの機能部は指定された動作を行う。
【００７１】
第１８図は、第１５図の構成に対応したサーバ情報テーブル、経路情報テーブルの第１の実際の構成例である。これらは、それぞれ第５図、第６図のフォーマットに対応している。
第１９図は、第１５図に対応したサーバ情報テーブル、経路情報テーブルの第２の実際の構成例を示す図である。これらは、それぞれ第７図、第８図のフォーマットに対応している。
【００７２】
以下、第１５図に示した構成の動作について、第９図〜第１２図及び第１４図に示した第１の動作〜第５の動作に対応させて説明する。
（第１の対応動作）
まず、第９図を用いて説明した第１の動作に対応する動作（実施例動作１）について説明する。
データ中継装置へは、第１６図（ａ）に示したフォーマットで情報要求が送られる。サービス選択部はこの情報（VIPとして♯２（192.168.1.1））に対し、第１８図に示したサーバ情報テーブル、経路情報テーブルを検索する。
【００７３】
これより、当該情報に対する（サーバ、経路）の組合せ［以下これを、テーブル中の（SvrEntryID、RtEntryID）で表示する］として、
（1、1）, （1、2）, （2、3）
の３つがあることが分かる。ここで、サーバを示す「１」は、ＳＬＢサーバ３１２（♯６：192.168.3.5）を表し、サーバを示す「２」は、ＳＬＢサーバ４１３（♯１７：192.168.4.6）を表し、経路を示す「１」は、パス−１（ルータ２０１：♯４）を表し、経路を示す「２」は、パス−２（ルータ２０２：♯１３）を表し、経路を示す「３」はパス−３（ルータ２０３：♯１５）を表している。
【００７４】
この３つの組合せに対して、サーバ負荷情報としてＣＰＵ負荷率(CpuLoad)/ディスク使用率(DiskLoad)/コネクション数(ConnNum)の３つを、経路負荷情報として使用帯域(Bandwidth)/経路遅延(RtDelay)の２つを、サービス決定で考慮するパラメータとし、各資源の正規化利用率を以下のように算出する。なお、最大許容コネクション数は30,000、最大許容遅延は100msとしている。
（例えば、CPU負荷率はCpuLoadの値そのまま、コネクション数はConnNum/(最大許容コネクション数)で算出する）
【００７５】
【表１】
2004093394.tif 000033
上記の正規化利用率より、各資源に対する残り容量率、および全項目の積演算値（＝プリファレンス値）を、各組合せで以下のように算出する。各資源の残り容量率は、１−（正規化利用率）、プリファレンス値は、各組合せでの全項目の残り容量率の積である。
【００７６】
【表２】
2004093394.tif 000034
上記の演算結果より、プリファレンス値が最大となる（1、2）の組合せを選択する。このプリファレンス値は０ではないので、有効な選択肢としてこれを挙げ、リソース制御へ渡す。
【００７７】
（第２の対応動作）
次に、第１０図を用いて説明した第２の動作に対応する動作（実施例動作２）について説明する。
データ中継装置へは、第１６図（ａ）に示したフォーマットで情報要求が送られる。サービス選択部はこの情報（VIPとして♯２：192.168.1.1）に対し、第１９図に示したサーバ情報テーブル、経路情報テーブルを検索する。
【００７８】
これより、当該情報に対する（サーバ、経路）の組合せとして、
（1、1）, （1、2）, （2、3）
の３つがあることが分かる。この３つの組合せに対して、サーバ負荷情報としてＣＰＵ負荷率(CpuLoad)/ディスク使用率(DiskLoad)/コネクション数(ConnNum)の３つを、経路負荷情報として使用帯域(Bandwidth)/経路遅延(RtDelay)の２つを、サービス決定で考慮するパラメータとし、各資源の正規化利用率の予測値（新規情報要求分を含む）を以下のように算出する。なお、最大許容コネクション数は30,000、最大許容遅延は100msとしている（例えば、CPU負荷率はCpuLoad+δCpuLoad×(ConnNum+ReqNum+1)、で算出する）。
【００７９】
【表３】
2004093394.tif 000035
上記の正規化利用率の予測より、各資源に対する残り容量率の予測値、及び全項目の積演算値（＝プリファレンス値）を、各組合せで以下のように算出する。
【００８０】
【表４】
2004093394.tif 000036
上記の演算結果より、プリファレンス値が最大となる（1、2）の組合せを選択。このプリファレンス値は０ではないので、有効な選択肢としてこれを挙げ、リソース制御へ渡す。
【００８１】
（第３の対応動作）
次に、第１１図を用いて説明した第３の動作に対応する動作（実施例動作３）について説明する。
データ中継装置へは、第１６図（ａ）に示したフォーマットで情報要求が送られる。サービス選択部はこの情報（VIPとして♯２：192.168.1.1）に対し、第１９図に示したサーバ情報テーブル、経路情報テーブルを検索する。
【００８２】
これより、当該情報に対する（サーバ、経路）の組合せとして、
（1、1）, （1、2）, （2、3）
の３つがあることが分かる。この３つの組合せに対して、サーバ負荷情報としてCPU負荷率(CpuLoad)/ディスク使用率(DiskLoad)/コネクション数(ConnNum)の３つを、経路負荷情報として使用帯域(Bandwidth)/経路遅延(RtDelay)の２つを、サービス決定で考慮するパラメータとし、新規情報要求を含むプリファレンス値の予測値Ｐtを、第２の対応動作で求めた手順の通り算出する。なお、最大許容コネクション数は30,000、最大許容遅延は100msとしている。
【００８３】
同様に、新規情報要求を含まないプリファレンス値の予測値Pt-1を算出する。
以上より、Pt-1-Ptを算出する。
以上のデータを、各組合せについて記すと、以下のようになる。
【００８４】
【表５】
2004093394.tif 000037
上記の演算結果より、Ｐt-1−Ｐtが最小となる（2、3）の組合せを選択。このプリファレンス値は０ではないので、有効な選択肢としてこれを挙げ、リソース制御へ渡す。
【００８５】
（第４の対応動作）
次に、第１２図を用いて説明した第４の動作に対応する動作（実施例動作４）について説明する。
定期的に負荷情報を収集するタイミングで、第１９図に示すサーバ情報テーブル、経路情報テーブルを検索する。
ここで、新たに収集した負荷情報が、以下の通りであるとする。
【００８６】
【表６】
2004093394.tif 000038
【００８７】
【表７】
2004093394.tif 000039
【００８８】
【表８】
2004093394.tif 000040
これより、前回の負荷収集時の負荷情報（第１９図の値）からの増加分Δ（例
えば、CPU負荷ならΔCpuLoad' = CpuLoad' - CpuLoad）は以下のようになる。
【００８９】
【表９】
2004093394.tif 000041
【００９０】
【表１０】
2004093394.tif 000042
【００９１】
【表１１】
2004093394.tif 000043
これより単位要求当りの各負荷情報の増加分δ（例えば、CPU負荷ならδCpuLoad' =ΔCpuLoad'/ΔConnNum'）は以下のようになる。
【００９２】
【表１２】
2004093394.tif 000044
【００９３】
【表１３】
2004093394.tif 000045
【００９４】
【表１４】
2004093394.tif 000046
これらのδの値を新たな負荷情報の増分とし、第１９図に示すサーバ情報テーブル、経路情報テーブルの、δCpuLoad、δDiskLoad、δBandwidth、δRtDelayにそれぞれ書き込む。
【００９５】
（第５の対応動作）
次に、第１４図を用いて説明した第５の動作に対応する動作（実施例動作５）について説明する。
【００９６】
定期的に負荷情報を収集するタイミングで、第１９図に示すサーバ情報テーブル、経路情報テーブルを検索する。
（サーバ、経路）の各組合せに対し、実施例動作２で説明した手順（ただし新規情報要求分はない）で、各資源の正規化利用率の予測値を算出する。
【００９７】
同様に実施例動作１で説明した手順により、正規化利用率より、残り容量率を出し、全項目の積演算値（＝プリファレンス値）を各組合せで算出する。算出した結果を、以下に記す。
【表１５】
2004093394.tif 000047
【００９８】
ここで、経路のリソース調整を行うためのスレショルド値（第１４図ステップＳ５４中の定義値）を０．０８とする。スレショルド値の意味は、プリファレンス値がこの値（スレショルド値）を下回ったら、本組合せのサービスのどこかで輻輳状態が起きていると判断するための値である。
【００９９】
上記のプリファレンス値とこのスレショルド値を比較した時、経路が２つある（1、1）と（1、2）について評価すると、（1、1）のプリファレンス値が定義スレショルド値を下回っている。つまり、サーバ３１２に至る経路（パス−１）の経路負荷を、サーバ３１２に至る経路（パス−２）に振り返る必要があると判定する。
（なお、(2、３)についてもプリファレンス値が定義スレショルド値を下回っているが、経路が１つしかないので指定経路の切替え処理は行わない）
以下、このための資源（リソース）制御を行うための動作を実施する。セッション単位で指定経路を経路（パス−２）に切替える動作を行う。
【産業上の利用可能性】
【０１００】
以上説明したように、本発明によれば、サーバと経路の負荷情報に応じて、これらを選択することができ、データ品質の劣化を有効に防止することができる。また、サービス（サーバと経路）を選択するために、負荷情報に基づく複数の評価基準から単一の評価基準値を導出することが可能となり、選択肢の比較評価を簡単に行うことができるようになる。また、収集した負荷情報と資源の利用予測値から、次の状態を予測して適切なサーバと経路を選択することが可能になり、予測制御を行うことができるようになる。従って、これらにより、資源の有効利用とサービス品質の維持を実現することが可能になる。
【０１０１】
（付記１）  複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継装置であって、
前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、
前記情報収集部により収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部と
を備えてなるデータ中継装置。
（付記２）  付記１に記載のデータ中継装置において、
前記サービス選択部は、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算し、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出し、算出された積演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択することを特徴とするデータ中継装置。
（付記３）  付記２に記載のデータ中継装置において、
前記サービス選択部は、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得しておき、
前記変化分と、既に取得されている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出することを特徴とするデータ中継装置。
（付記４）  付記３に記載のデータ中継装置において、
前記サービス選択部は、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出し、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択することを特徴とするデータ中継装置。
（付記５）  付記３に記載のデータ中継装置において、
前記サービス選択部は、第１の時点で収集した負荷情報とその時の接続要求数と、第２の時点で収集した負荷情報とその時の接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出して取得することを特徴とするデータ中継装置。
（付記６）  付記２に記載のデータ中継装置において、
前記サービス選択部は、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出することを特徴とするデータ中継装置。
（付記７）  付記１に記載のデータ中継装置において、
サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視し、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えることを特徴とするデータ中継装置。
（付記８）  付記１に記載のデータ中継装置において、
前記サービス選択部は、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択することを特徴とするデータ中継装置。
（付記９）  付記１に記載のデータ中継装置において、
前記負荷情報には、サーバに関して、ＣＰＵ負荷率、ディスク使用率、コネクション数のいずれか少なくとも一つが含まれ、経路に関して、使用帯域、経路遅延のいずれか少なくとも一つが含まれることを特徴とするデータ中継装置。
（付記１０）  付記１に記載のデータ中継装置において、
前記サーバは、複数のアプリサーバから負荷情報を集約するサーバ負荷集約部を有するＳＬＢサーバにより構成されることを特徴とするデータ中継装置。
（付記１１）  複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継するデータ中継方法であって、
前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
を備えてなるデータ中継方法。
（付記１２）  付記１１に記載のデータ中継方法において、
前記サービス選択ステップは、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算するステップと、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出するステップと、算出された積演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択するステップとを備えることを特徴とするデータ中継方法。
（付記１３）  付記１２に記載のデータ中継方法において、
前記サービス選択ステップは、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得するステップと、
前記変化分と、既に取得されている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出するステップとを備えることを特徴とするデータ中継方法。
（付記１４）  付記１３に記載のデータ中継方法において、
前記サービス選択ステップは、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出するステップと、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するステップとを備えることを特徴とするデータ中継方法。
（付記１５）  付記１３に記載のデータ中継方法において、
前記残り容量率の変化分を取得するステップは、第１の時点で負荷情報とその時の接続要求数とを収集するステップと、第２の時点で負荷情報とその時の接続要求数とを収集するステップと、第１の時点で収集した負荷情報及び接続要求数と、第２の時点で収集した負荷情報及び接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出するステップとを備えることを特徴とするデータ中継方法。
（付記１６）  付記１２に記載のデータ中継方法において、
前記サービス選択ステップでは、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出するステップを含むことを特徴とするデータ中継方法。
（付記１７）  付記１１に記載のデータ中継方法において、
サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視するステップと、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えるステップとを備えることを特徴とするデータ中継方法。
（付記１８）  付記１１に記載のデータ中継方法において、
前記サービス選択ステップは、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択するステップを備えることを特徴とするデータ中継方法。
（付記１９）  複数のサーバとクライアントとの間に設けられ、クライアントから前記サーバのいずれかへの接続要求を中継することをコンピュータに実行させるデータ中継プログラムであって、
前記サーバと、前記データ中継装置から前記サーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集ステップにより収集された負荷情報に基づいて、前記クライアントからの前記接続要求に対して、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
をコンピュータに実行させるデータ中継プログラム。
（付記２０）  付記１９に記載のデータ中継プログラムにおいて、
前記サービス選択ステップは、前記負荷情報に基づいて各サーバと各経路のそれぞれについての残り容量率を演算するステップと、得られた残り容量率の積演算値を各サーバと各経路との複数の組み合わせについて算出するステップと、算出された積演算値に基づいて、前記少なくとも一つのサーバと該サーバまでの経路を選択するステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
（付記２１）  付記２０に記載のデータ中継プログラムにおいて、
前記サービス選択ステップは、単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を取得するステップと、
前記変化分と、既に取得されている負荷情報に基づく残り容量率と、接続要求数の変化分とに基づいて、前記クライアントからの接続要求があった場合の前記残り容量率を算出するステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
（付記２２）  付記２１に記載のデータ中継プログラムにおいて、
前記サービス選択ステップは、接続要求を受け付ける前後における前記残り容量率の積演算値の差分を算出するステップと、該差分値に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
（付記２３）  付記２１に記載のデータ中継プログラムにおいて、
前記残り容量率の変化分を取得するステップは、第１の時点で負荷情報とその時の接続要求数とを収集するステップと、第２の時点で負荷情報とその時の接続要求数とを収集するステップと、第１の時点で収集した負荷情報及び接続要求数と、第２の時点で収集した負荷情報及び接続要求数とのそれぞれの差分に基づいて、前記単位数の接続要求を受付けた場合における所定のサーバと該サーバまでの経路についての負荷情報又は残り容量率の変化分を算出するステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
（付記２４）  付記２０に記載のデータ中継プログラムにおいて、
前記サービス選択ステップでは、前記残り容量率を算出する際に、前記負荷情報に関連付けられる資源利用率を取得し、該資源利用率をパラメータｘｉとする関数Ｆを導入して、前記資源利用率を重み付けし、残り容量率を１−Ｆ（ｘｉ）にて算出するステップをコンピュータに実行させることを特徴とするデータ中継プログラム。
（付記２５）  付記１９に記載のデータ中継プログラムにおいて、
更に、サーバと経路の組み合わせに対する前記残り容量率の積演算値を監視するステップと、該監視値が所定値を下回った場合は、当該の組み合わせの資源の中で輻輳が起きていると判断し、別経路へ通信コネクションの経路を切り替えるステップとをコンピュータに実行させることを特徴とするデータ中継プログラム。
（付記２６）  付記１９に記載のデータ中継プログラムにおいて、
前記サービス選択ステップは、更にサービス割り当てについて規定されたポリシ情報に基づいて、サーバと該サーバまでの経路を選択するステップを備えて該ステップをコンピュータに実行させることを特徴とするデータ中継プログラム。
（付記２７）  複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択装置であって、
前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集部と、
前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択部と
を備えてなるサービス選択装置。
（付記２８）  複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択方法であって、
前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
を備えてなるサービス選択方法。
（付記２９）  複数のサーバの内から少なくとも一つのサーバと該サーバまでの経路を選択することをコンピュータに実行させるサービス選択プログラムであって、
前記複数のサーバと、前記複数のサーバへの経路とのそれぞれに関する負荷情報を収集する情報収集ステップと、
前記情報収集部により収集された負荷情報に基づいて、少なくとも一つのサーバと該サーバまでの経路を選択するサービス選択ステップと
をコンピュータに実行させることを特徴とするサービス選択プログラム。
【図面の簡単な説明】
【０１０２】
【図１】第１図は本発明の動作原理を示すフローチャートである。
【図２】第２図は本発明を適用するデータ中継装置の機能ブロック図である。
【図３】第３図は実施の形態の全体構成を示すブロック図である。
【図４】第４図はサーバ情報テーブルと経路情報テーブルの関係を示す図であり、第４図（ａ）は、サーバ情報テーブルを示し、第４図（ｂ）は経路情報テーブルの構成を示す図である。
【図５】第５図はサーバ情報テーブルの一例を示す図である。
【図６】第６図は第５図のサーバ情報テーブルに対応する経路情報テーブルの一例を示す図である。
【図７】第７図はサーバ情報テーブルの他の一例を示す図である。
【図８】第８図は第７図のサーバ情報テーブルに対応する経路情報テーブルの一例を示す図である。
【図９】第９図は、第３図に示されたサービス選択部５Ａの第１の動作を示すフローチャートである。
【図１０】第１０図は、第９図に示した動作と異なるサービス選択部の第２の動作を示すフローチャートである。
【図１１】第１１図は、第９図や第１０図に示した動作と異なるサービス選択部の第３の動作を示すフローチャートである。
【図１２】第１２図は、第９図〜第１１図に示した動作と異なるサービス選択部の第４の動作を示すフローチャートである。
【図１３】第１３図は、上述した資源利用率を得る際に使用される重み付け関数を示す図である。
【図１４】第１４図は、第９図〜第１２図に示した動作と異なるサービス選択部の第５の動作を示すフローチャートである。
【図１５】第１５図は、本発明の一構成例を実施例としてより詳細に示す全体ブロック図である。
【図１６】第１６図は、第１５図に示された各経路で適用されるパケットフォーマットを示す図である。
【図１７】第１７図は、第１５図のデータ中継装置１の内部の機能構成を示した図である。
【図１８】第１８図は、第１５図の構成に対応したサーバ情報テーブル、経路情報テーブルの第１の具体例である。
【図１９】第１９図は、第１５図に対応したサーバ情報テーブル、経路情報テーブルの第２の具体例を示す図である。
【図２０】本発明の適用システムを示す図であり、第２０図（ａ）は企業情報システムを示す図であり、第２０図（ｂ）は分散ＩＤＣ（Internet Data Center)を示す図であり、第２０図（ｃ）はキャリアシステムを示す図である。
【国際調査報告】
2004093394.tif 000048
2004093394.tif 000049
2004093394.tif 000050
2004093394.tif 000051