(57)【要約】【課題】アプリケーションサーバ間の通信コストを考慮に入れてアプリケーションを最適なアプリケーションサーバに配置するための技術を提供する。【解決手段】通信量ベクトル生成部１３は、各ＡＰについて通信量ベクトルを生成する（Ｓ１０５）。処理負荷量取得部１７は、各ＡＰにかかる処理負荷量を求めＡＰマップ生成部１４に通知する。ＡＰマップ生成部１４は、通信量ベクトルを基にＡＰマップを生成する（Ｓ１０９）。ネットワーク解析部１５は、ネットワーク構成を基にサーバベクトルを生成する（Ｓ１２５）。サーバマップ生成部１６は、サーバベクトルを基にサーバマップを生成する（Ｓ１２９）。ＡＰ割当図生成部１８は、ＡＰマップとサーバマップを用いてＡＰ割当図を生成する（Ｓ１３５）。【選択図】図７
2011186809.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションのそれぞれが複数のアプリケーションサーバのいずれかに割り当てられている様子を示すアプリケーション割当図を生成するアプリケーション割当図生成装置であって、
前記各アプリケーションを示すアプリケーションポインタからなるアプリケーションマップを生成し、且つ、当該アプリケーションポインタ間の距離を、対応するアプリケーション間における通信量が多いほど短くするアプリケーションマップ生成手段と、
前記各アプリケーションサーバを示すサーバポインタからなるサーバマップを生成し、且つ、当該サーバポインタ間の距離を、前記各アプリケーションサーバが同量の通信を行った場合の、前記全アプリケーションサーバを含む通信路への負荷の大きさに応じたものとするサーバマップ生成手段と、
前記各アプリケーションにかかる処理負荷量を取得する処理負荷量取得手段と、
前記アプリケーションマップと前記サーバマップを重ね合わせるとともに前記アプリケーションポインタを前記サーバポインタに割り当ててなるアプリケーション割当図を生成し、且つ、当該アプリケーション割当図の生成の際には、前記アプリケーションマップから前記アプリケーションサーバの数以下のアプリケーションポインタを前記処理負荷量の多い順に選択し、当該アプリケーションポインタを前記処理負荷量の多い順に当該アプリケーションポインタに最も近いサーバポインタに１対１で割り当てるようにするアプリケーション割当図生成手段と
を備えることを特徴とするアプリケーション割当図生成装置。
【請求項２】
前記アプリケーション割当図で示されるように前記各アプリケーションをいずれかのアプリケーションサーバで動作させるアプリケーション配置制御手段
を備えることを特徴とする請求項１記載のアプリケーション割当図生成装置。
【請求項３】
前記各アプリケーションサーバを対象として、前記複数のアプリケーションサーバのそれぞれに対応する数値からなるアプリケーションサーバベクトルを生成し、且つ、当該アプリケーションサーバベクトルにおける当該対象のアプリケーションサーバ以外の他のアプリケーションサーバに対応する数値については、当該対象のアプリケーションサーバと当該他のアプリケーションサーバとの間のホップ数に等しくするネットワーク解析手段を備え、
前記サーバマップ生成手段は、前記サーバポインタ間の距離を、対応する当該アプリケーションサーバベクトルどうしの距離に応じたものとする
ことを特徴とする請求項１または２記載のアプリケーション割当図生成装置。
【請求項４】
前記各アプリケーションにつき、複数の通信インタフェースごとの通信量からなる通信量ベクトルを生成する通信量ベクトル生成手段を備え、
前記アプリケーションマップ生成手段は、前記アプリケーションポインタ間の距離を、対応する当該通信量ベクトルどうしの距離に応じたものとする
ことを特徴とする請求項１ないし３のいずれかに記載のアプリケーション割当図生成装置。
【請求項５】
前記通信量ベクトル生成手段は、
前記各通信インタフェースについて予め定められた１回あたりの通信量に当該通信インタフェースの使用回数を乗じて当該通信インタフェースの通信量を求める
ことを特徴とする請求項４記載のアプリケーション割当図生成装置。
【請求項６】
前記アプリケーションマップは、前記複数の通信インタフェースの数に関わらず、予め定められた数に等しい次元数を有する
ことを特徴とする請求項４または５記載のアプリケーション割当図生成装置。
【請求項７】
前記複数のアプリケーションに含まれる２つのアプリケーションからなる組のそれぞれにつき、一方のアプリケーションを使用するユーザと他方のアプリケーションを使用するユーザとの間の通信における通信量を当該通信でどのアプリケーションが使用されるかに関わらず、当該ユーザの組のぞれぞれについて取得し、当該各通信量を合計した合計通信量を計算する合計通信量計算手段を備え、
前記アプリケーションマップ生成手段は、前記アプリケーションポインタ間の距離を、対応する当該合計通信量が多いほど短くする
ことを特徴とする請求項１ないし３のいずれかに記載のアプリケーション割当図生成装置。
【請求項８】
前記各アプリケーションを対象として、前記複数のアプリケーションのそれぞれに対応する通信量からなる通信量ベクトルを生成し、且つ、当該通信量ベクトルにおける当該対象のアプリケーション以外の他のアプリケーションに対応する通信量については、当該対象のアプリケーションと当該他のアプリケーションとからなる組について計算した前記合計通信量に等しくする通信量ベクトル生成手段を備え、
前記アプリケーションマップ生成手段は、前記アプリケーションポインタ間の距離を、対応する当該通信量ベクトルどうしの距離に応じたものとする
ことを特徴とする請求項７記載のアプリケーション割当図生成装置。
【請求項９】
複数のアプリケーションのそれぞれが複数のアプリケーションサーバのいずれかに割り当てられている様子を示すアプリケーション割当図を生成するアプリケーション割当図生成装置が行うアプリケーション割当図生成方法であって、
前記アプリケーション割当図生成装置が、前記各アプリケーションを示すアプリケーションポインタからなるアプリケーションマップを生成し、且つ、当該アプリケーションポインタ間の距離を、対応するアプリケーション間における通信量が多いほど短くするステップと、
前記アプリケーション割当図生成装置が、前記各アプリケーションサーバを示すサーバポインタからなるサーバマップを生成し、且つ、当該サーバポインタ間の距離を、前記各アプリケーションサーバが同量の通信を行った場合の、前記全アプリケーションサーバを含む通信路への負荷の大きさに応じたものとするステップと、
前記アプリケーション割当図生成装置が、前記各アプリケーションにかかる処理負荷量を取得するステップと、
前記アプリケーション割当図生成装置が、前記アプリケーションマップと前記サーバマップを重ね合わせるとともに前記アプリケーションポインタを前記サーバポインタに割り当ててなるアプリケーション割当図を生成し、且つ、当該アプリケーション割当図の生成の際には、前記アプリケーションマップから前記アプリケーションサーバの数以下のアプリケーションポインタを前記処理負荷量の多い順に選択し、当該アプリケーションポインタを前記処理負荷量の多い順に当該アプリケーションポインタに最も近いサーバポインタに１対１で割り当てるようにするステップと
を備えることを特徴とするアプリケーション割当図生成方法。
【請求項１０】
請求項１ないし８のいずれかに記載のアプリケーション割当図生成装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション間の通信がネットワークに与える負荷を考慮に入れてアプリケーションを最適なアプリケーションサーバに配置するためのアプリケーション割当図生成装置および方法に関するものである。
【背景技術】
【０００２】
既存のサーバ分散技術には、特定の単一処理を複数の処理単位に分割し、複数サーバで分散処理することで処理の高速性や大容量のデータ処理を実現するものや、多数のユーザからのアプリケーション利用にともなう処理を、ユーザ単位もしくはアクセス単位で複数サーバに振り分けることで複数サーバに処理負荷を分割するものなどがある。
【０００３】
本技術が背景の一つとするのは、これらのうち、複数のユーザからのアプリケーション利用を、ユーザ単位で振り分けることで大量のユーザからのアプリケーション利用を実現するサーバ分散技術である。この場合のサーバ装置は、アプリケーションサーバなどともいう。
【０００４】
また、一方で近年、複数のアプリケーションを統一の基盤上で実現することで、アプリケーションの流用性を高めると同時にアプリケーションの開発コストを低減する技術やサービスに注目が集まっている。統一的なサービス基盤上のアプリケーション（サービス）間の連携を実現するものがService Oriented Architecture や、またWeb 上のサービスに対して共通のインタフェースを規定し、対応する様々なサービス（SNS（Social NetworkingService）等）上で展開可能なアプリケーションを開発可能にするOpenSocial などの技術や取り組みも、このようなアプリケーション基盤の一例であり、本技術が背景とする既存技術の一つである。
【０００５】
これら既存技術のうち後者を用いると、それぞれ独自に開発された多数の個別アプリケーションの利用者が、プラットフォームの提供するチャット、メール、音声通信（通話）、映像通信等の共通インタフェースを通じてコミュニケーションを行うことが可能になる。例えば、プラットフォームが提供する通話機能インタフェースを用いたアプリケーションＡおよびアプリケーションＢのユーザＡ１、Ａ２、…およびＢ１、Ｂ２、…に対し、例えばアプリケーションＡのユーザＡ１は、同一アプリケーション利用者Ａ２，Ａ３、…だけでなく、同一のインタフェースを利用するユーザＢ１、Ｂ２、…とも通話を行うことが可能になる。
【０００６】
このようなアプリケーションは、先に記載の通り、単一または複数のサーバ装置からなるプラットフォーム上に機能配備されることになるが、複数のサーバ装置で単一のプラットフォームを実現したい場合、既存技術の内の前者を用いると、例えばアプリケーションＡ、Ｂ、Ｃの利用ユーザ数をもとにサーバへの処理負荷を考慮し、アプリケーションを分散配備することができ、単一サーバに対する処理負荷を均等化することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−４０７１８号公報
【特許文献２】特開２００９−３１９２５号公報
【非特許文献】
【０００８】
【非特許文献１】"OpenSocial"、［ｏｎｌｉｎｅ］、［平成２２年２月２５日検索］、インターネット＜ＵＲＬ：http://code.google.com/intl/ja/apis/opensocial/＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した既存技術の組み合わせにより、複数サーバ装置に対して負荷の分散は可能になるが、その場合、サーバ装置間の通信ネットワークに与える負荷が考慮に入れられていない。
【００１０】
そのため、アプリケーションＡ、Ｂ、Ｃ、…が当該アプリケーションプラットフォームに存在し、アプリケーションＡはアプリケーションＢと、プラットフォームの提供する共通インタフェースの一つである映像通話機能を用いて情報量の大きい通信を高頻度で行ったとしても、アプリケーションＡおよびＢが、サーバ装置としてネットワーク距離もしくはネットワークへの負荷が小さくなるよう配置されるとは限らない。
【００１１】
また、既存の技術をもとに、仮にアプリケーションＡ、Ｂ，…間のそれぞれの、他のアプリケーションとの通信量をもとにサーバ装置への配置を最適化しようと考えると、新規に追加されたアプリケーション（以下アプリケーションＸ）が既存のアプリケーションとの通信量を予測するだけでなく、既存の各アプリケーションＡ、Ｂ、…も追加アプリケーションＸとの通信量（予測）を最適配置の計算をする機能に通知する必要があり、アプリケーションの追加・削除等の変動に対して柔軟性がない。
【００１２】
また、各アプリケーション間の通信量を共通プラットフォームが把握し、アプリケーションを自動配置する手法も考えられるが、この場合にはアプリケーションからプラットフォームを経由して流通するすべてのデータの宛先等を解析することなどにより、相手先のアプリケーションを特定する必要があり、プラットフォーム側の通信解析処理負荷が大きくなる。
【００１３】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、アプリケーションサーバ間の通信コストを考慮に入れてアプリケーションを最適なアプリケーションサーバに配置するための技術を提供することにある。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、第１の本発明は、複数のアプリケーションのそれぞれが複数のアプリケーションサーバのいずれかに割り当てられている様子を示すアプリケーション割当図を生成するアプリケーション割当図生成装置であって、前記各アプリケーションを示すアプリケーションポインタからなるアプリケーションマップを生成し、且つ、当該アプリケーションポインタ間の距離を、対応するアプリケーション間における通信量が多いほど短くするアプリケーションマップ生成手段と、前記各アプリケーションサーバを示すサーバポインタからなるサーバマップを生成し、且つ、当該サーバポインタ間の距離を、前記各アプリケーションサーバが同量の通信を行った場合の、前記全アプリケーションサーバを含む通信路への負荷の大きさに応じたものとするサーバマップ生成手段と、前記各アプリケーションにかかる処理負荷量を取得する処理負荷量取得手段と、前記アプリケーションマップと前記サーバマップを重ね合わせるとともに前記アプリケーションポインタを前記サーバポインタに割り当ててなるアプリケーション割当図を生成し、且つ、当該アプリケーション割当図の生成の際には、前記アプリケーションマップから前記アプリケーションサーバの数以下のアプリケーションポインタを前記処理負荷量の多い順に選択し、当該アプリケーションポインタを前記処理負荷量の多い順に当該アプリケーションポインタに最も近いサーバポインタに１対１で割り当てるようにするアプリケーション割当図生成手段とを備えることを特徴とする。
【００１５】
例えば、アプリケーション割当図生成装置は、前記アプリケーション割当図で示されるように前記各アプリケーションをいずれかのアプリケーションサーバで動作させるアプリケーション配置制御手段を備える。
【００１６】
例えば、アプリケーション割当図生成装置は、前記各アプリケーションサーバを対象として、前記複数のアプリケーションサーバのそれぞれに対応する数値からなるアプリケーションサーバベクトルを生成し、且つ、当該アプリケーションサーバベクトルにおける当該対象のアプリケーションサーバ以外の他のアプリケーションサーバに対応する数値については、当該対象のアプリケーションサーバと当該他のアプリケーションサーバとの間のホップ数に等しくするネットワーク解析手段を備え、前記サーバマップ生成手段は、前記サーバポインタ間の距離を、対応する当該アプリケーションサーバベクトルどうしの距離に応じたものとする。
【００１７】
例えば、アプリケーション割当図生成装置は、前記各アプリケーションにつき、複数の通信インタフェースごとの通信量からなる通信量ベクトルを生成する通信量ベクトル生成手段を備え、前記アプリケーションマップ生成手段は、前記アプリケーションポインタ間の距離を、対応する当該通信量ベクトルどうしの距離に応じたものとする。
【００１８】
例えば、前記通信量ベクトル生成手段は、前記各通信インタフェースについて予め定められた１回あたりの通信量に当該通信インタフェースの使用回数を乗じて当該通信インタフェースの通信量を求める。
【００１９】
例えば、前記アプリケーションマップは、前記複数の通信インタフェースの数に関わらず、予め定められた数に等しい次元数を有する。
【００２０】
例えば、アプリケーション割当図生成装置は、前記複数のアプリケーションに含まれる２つのアプリケーションからなる組のそれぞれにつき、一方のアプリケーションを使用するユーザと他方のアプリケーションを使用するユーザとの間の通信における通信量を当該通信でどのアプリケーションが使用されるかに関わらず、当該ユーザの組のぞれぞれについて取得し、当該各通信量を合計した合計通信量を計算する合計通信量計算手段を備え、前記アプリケーションマップ生成手段は、前記アプリケーションポインタ間の距離を、対応する当該合計通信量が多いほど短くする。
【００２１】
例えば、アプリケーション割当図生成装置は、前記各アプリケーションを対象として、前記複数のアプリケーションのそれぞれに対応する通信量からなる通信量ベクトルを生成し、且つ、当該通信量ベクトルにおける当該対象のアプリケーション以外の他のアプリケーションに対応する通信量については、当該対象のアプリケーションと当該他のアプリケーションとからなる組について計算した前記合計通信量に等しくする通信量ベクトル生成手段を備え、前記アプリケーションマップ生成手段は、前記アプリケーションポインタ間の距離を、対応する当該通信量ベクトルどうしの距離に応じたものとする。
【００２２】
また、第２の本発明は、複数のアプリケーションのそれぞれが複数のアプリケーションサーバのいずれかに割り当てられている様子を示すアプリケーション割当図を生成するアプリケーション割当図生成装置が行うアプリケーション割当図生成方法であって、前記アプリケーション割当図生成装置が、前記各アプリケーションを示すアプリケーションポインタからなるアプリケーションマップを生成し、且つ、当該アプリケーションポインタ間の距離を、対応するアプリケーション間における通信量が多いほど短くするステップと、前記アプリケーション割当図生成装置が、前記各アプリケーションサーバを示すサーバポインタからなるサーバマップを生成し、且つ、当該サーバポインタ間の距離を、前記各アプリケーションサーバが同量の通信を行った場合の、前記全アプリケーションサーバを含む通信路への負荷の大きさに応じたものとするステップと、前記アプリケーション割当図生成装置が、前記各アプリケーションにかかる処理負荷量を取得するステップと、前記アプリケーション割当図生成装置が、前記アプリケーションマップと前記サーバマップを重ね合わせるとともに前記アプリケーションポインタを前記サーバポインタに割り当ててなるアプリケーション割当図を生成し、且つ、当該アプリケーション割当図の生成の際には、前記アプリケーションマップから前記アプリケーションサーバの数以下のアプリケーションポインタを前記処理負荷量の多い順に選択し、当該アプリケーションポインタを前記処理負荷量の多い順に当該アプリケーションポインタに最も近いサーバポインタに１対１で割り当てるようにするステップとを備えることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、アプリケーション割当図で示されるように各アプリケーションをアプリケーションサーバで実際に動作させれば、各アプリケーションサーバでのアプリケーションの処理負荷量は、およそ均等になるので、すなわち、各アプリケーションを最適なアプリケーションサーバに配置することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】本実施の形態に係るアプリケーション割当図生成装置の機能を有するアプリケーション統括装置を含む通信ネットワークの構成図である。
【図２】ＡＰサーバ２どうしの接続態様の一例を示す図である。
【図３】各ＡＰサーバ２の概略構成を示すブロック図である。
【図４】各ＡＰサーバ２のソフトウェアの構成を示す図である。
【図５】ＡＰサーバ統括装置１の概略構成を示すブロック図である。
【図６】各ＡＰサーバ２での動作を示すシーケンス図である。
【図７】ＡＰサーバ統括装置１での動作を示すシーケンス図である。
【図８】ＡＰマップの一例を示す図である。
【図９】サーバマップの一例を示す図である。
【図１０】ＡＰ割当図の一例を示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について図面を参照して説明する。以下、語「アプリケーション」を適宜「ＡＰ」のように省略する。
【００２６】
図１は、本実施の形態に係るアプリケーション割当図生成装置の機能を有するアプリケーション統括装置を含む通信ネットワークの構成図である。ＡＰサーバ統括装置１は、複数のＡＰサーバ２に接続され、ＡＰサーバ２どうしも通信可能となっている。
【００２７】
図２は、ＡＰサーバ２どうしの接続態様の一例を示す図である。ＡＰサーバ２どうしは、例えば、１以上のルータ（中継装置）を含む通信路３を介して接続される。
【００２８】
図３は、各ＡＰサーバ２の概略構成を示すブロック図である。  
ＡＰサーバ２は、いわゆるアプリケーション（ＡＰ）を動作させ、且つ、ＡＰのプログラムやデータを保持するＡＰ管理部２１と、ＡＰプラットフォーム基盤、ならびに、チャットや電子メールや音声通信や映像通信といった、複数の通信インタフェース（通信ＩＦ）を動作させ、且つ、通信ＩＦの機能をＡＰに提供するＡＰプラットフォーム２２と、ＡＰと他のサーバで動作するＡＰとの間の通信量を通信ＩＦごとに集計する通信量集計部２３と、ＡＰサーバ統括装置１や他のサーバとの通信を行う通信部２４とを備える。
【００２９】
図４は、各ＡＰサーバ２のソフトウェアの構成を示す図である。  
ソフトウェアは、ＡＰプラットフォームとＡＰとに大別される。ＡＰプラットフォームは、ＡＰプラットフォーム基盤とＡＰプラットフォームインタフェースとに大別される。ＡＰプラットフォーム基盤は、アプリケーション間通信機能、テキスト表示機能等を有する。ＡＰプラットフォームインタフェースは、これらの機能をＡＰに対し、利用しやすい形で、例えば、音声通話機能インタフェース、チャット機能インタフェースなどとして提供する。
【００３０】
例えば、ＡＰが、ＡＰプラットフォーム基盤の機能だけで音声通話を行おうとすると、ＡＰプラットフォーム基盤の複数機能を連携させるプログラムを個々に作成しなければならないが、ＡＰプラットフォームインタフェースは、音声通話機能インタフェースとして、当該複数機能を予め使用しやすい形で連携させ、ＡＰに提供する。
【００３１】
図５は、ＡＰサーバ統括装置１の概略構成を示すブロック図である。  
ＡＰサーバ統括装置１は、各ＡＰサーバ２との通信を行うサーバ通信部１１と、通信路３内のルータなどとの通信を行うネットワーク通信部１２と、各ＡＰについて通信量ベクトルを生成する通信量ベクトル生成部１３と、各ＡＰを示すＡＰポインタからなるＡＰマップを生成するＡＰマップ生成部１４と、各ＡＰサーバ２に対応する数値からなるサーバベクトルを生成するネットワーク解析部１５と、各ＡＰサーバ２を示すサーバポインタからなるサーバマップを生成するサーバマップ生成部１６と、各ＡＰにかかる処理負荷量を取得する処理負荷量取得部１７と、各ＡＰがいずれかのＡＰサーバ２に割り当てられている様子を示すＡＰ割当図を生成するＡＰ割当図生成部１８と、ＡＰ割当図で示されるように各ＡＰをいずれかのＡＰサーバ２で動作させるＡＰ配置制御部１９とを備える。
【００３２】
（本実施の形態における動作）
次に、本実施の形態における動作について、各ＡＰサーバ２での動作、ＡＰサーバ統括装置１での動作の順で説明する。
【００３３】
図６は、各ＡＰサーバ２での動作を示すシーケンス図である。  
ＡＰは、他のＡＰサーバ２のＡＰや同じＡＰサーバ２のＡＰとの通信の際、ＡＰプラットフォーム２２の通信ＩＦに利用のリクエストを送信する（Ｓ１）。続いて、ＡＰは、通信ＩＦに通信ＩＦを介して行う通信のデータを送信する（Ｓ２）。通信ＩＦは、通信量集計部２３に、そのＡＰ名、通信ＩＦ名、そのデータ量に等しい通信量を通知する（Ｓ３）。通信ＩＦは、ＡＰプラットフォーム２２のＡＰプラットフォーム基盤にデータを送信し（Ｓ４）、また、相手のＡＰから送信されたデータを受信し（Ｓ５）、ＡＰに転送する（Ｓ６）。
【００３４】
通信部２４は、ＡＰサーバ統括装置１から通信量の通知を要求されたなら（Ｓ１１）、通信量集計部２３に要求し、各ＡＰの通信量を通信ＩＦごとに分けて、取得し（Ｓ１３）、これらをＡＰサーバ統括装置１に通知する（Ｓ１５）。
【００３５】
図７は、ＡＰサーバ統括装置１での動作を示すシーケンス図である。  
サーバ通信部１１は、各ＡＰサーバ２から、各ＡＰの通信ＩＦごとの通信量を取得し（Ｓ１０１）、これを通信量ベクトル生成部１３に与える（Ｓ１０３）。これにより、通信量ベクトル生成部１３は、各ＡＰについて通信量ベクトルを生成する（Ｓ１０５）。
【００３６】
ここで、例えば、アプリケーションＡ１がチャットで３ＴＢ（テラバイト）、電子メールで２０ＴＢ、音声通信で１００ＴＢ、映像通信で０ＴＢの通信を行ったとすると、アプリケーションＡ１についての通信量ベクトルは（３，２０，１００，０）となる。
【００３７】
通信量ベクトル生成部１３は、このような通信量ベクトルを各ＡＰについて生成し、通信量ベクトルをＡＰマップ生成部１４に与える（Ｓ１０７）。
【００３８】
なお、処理負荷量取得部１７は、例えば、各ＡＰにかかる処理負荷量を所定の計算によって求め、処理負荷量をＡＰマップ生成部１４に通知する。  
ＡＰマップ生成部１４は、通信量ベクトルを基にＡＰマップを生成する（Ｓ１０９）。
【００３９】
図８は、ＡＰマップの一例を示す図である。  
ＡＰマップは、各ＡＰを示すＡＰポインタｐからなる。ここでは、２次元の平面に各ＡＰポインタｐを配置したＡＰマップを示す。ＡＰポインタｐの座標は、対応する通信量ベクトルから計算される。
【００４０】
また、ＡＰポインタ間の距離は、対応する２つのＡＰについて生成された通信量ベクトルどうしの距離に応じたものとなっている。これにより、ＡＰポインタ間の距離は、ＡＰ間における通信量が多いほど短くなる。当該距離の計算には、例えば、自己組織化写像（Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｍａｐ）の手法が用いられる。
【００４１】
なお、通信量ベクトルどうしの距離は、各アプリケーションが利用する通信ＩＦごとの通信量の類似度とは反対の性質を有するものであり、つまり、類似度が高いほど通信量ベクトルどうしの距離が短くなる。よって、ここでは、類似度が高いほどＡＰポインタ間の距離を短くしていることとなる。
【００４２】
なお、ここでは、ＡＰポインタｐの大きさは、対応する処理負荷量に応じた大きさとなっている。
【００４３】
また、ＡＰマップは、３次元以上の空間に各ＡＰポインタを配置したものであってもよい。
【００４４】
図７に戻って説明を続ける。  
ネットワーク通信部１２は、通信路３のネットワーク構成を取得し（Ｓ１２１）、これをネットワーク解析部１５に通知する（Ｓ１２３）。
【００４５】
ネットワーク解析部１５は、このネットワーク構成を基にサーバベクトルを生成する（Ｓ１２５）。サーバベクトルは、各ＡＰサーバ２に対応する数値からなる。
【００４６】
ここで、図２に示すような接続態様であれば、ＡＰサーバ２（ＡＳ１）からＡＰサーバ２（ＡＳ１）〜（ＡＳ６）への各ホップ数は（０，２，３，４，３，３）であるので、ＡＳ１のサーバベクトルは（０，２，３，４，３，３）となる。
【００４７】
ネットワーク解析部１５は、このようなサーバベクトルを各ＡＰサーバ２について生成し、サーバベクトルをサーバマップ生成部１６に与える（Ｓ１２７）。
【００４８】
サーバマップ生成部１６は、サーバベクトルを基にサーバマップを生成する（Ｓ１２９）。
【００４９】
図９は、サーバマップの一例を示す図である。  
サーバマップは、各ＡＰサーバ２を示すサーバポインタｓからなる。ここでは、２次元の平面に各サーバポインタｓを配置したサーバマップを示す。サーバポインタの座標は、対応するサーバベクトルから計算される。
【００５０】
また、サーバポインタ間の距離は、対応する２つのサーバについて生成されたサーバベクトルどうしの距離に応じたものとなっている。これにより、各距離は、各ＡＰサーバ２が同量の通信を行った場合の通信路３への負荷の大きさに応じたものとなっている。
【００５１】
なお、サーバマップは、３次元以上の空間に各サーバポインタを配置したものであってもよい。
【００５２】
図７に戻って説明を続ける。  
ＡＰ割当図生成部１８は、サーバマップ生成部１６からサーバマップを取得する（Ｓ１３１）。また、ＡＰ割当図生成部１８は、ＡＰマップ生成部１４からＡＰマップを取得する（Ｓ１３３）。
【００５３】
ＡＰ割当図生成部１８は、ＡＰマップとサーバマップを用いてＡＰ割当図を生成する（Ｓ１３５）。
【００５４】
図１０は、ＡＰ割当図の一例を示す図である。  
ＡＰ割当図生成部１８は、ステップＳ１３５では、まず、ＡＰマップとサーバマップを重ね合わせる。
【００５５】
次に、ＡＰ割当図生成部１８は、各ＡＰポインタをいずれかのサーバポインタに、矢印で示すように、割り当てる。
【００５６】
その際、ＡＰ割当図生成部１８は、まず、ＡＰマップからＡＰサーバ２の数と同数のＡＰポインタｐを処理負荷量の多い順に（ＡＰポインタｐの大きさの大きい順に）選択し、当該ＡＰポインタを処理負荷量の多い順に当該ＡＰポインタに最も近いサーバポインタに１対１で割り当てる。
【００５７】
ＡＰ割当図生成部１８は、例えば、図１０において、大きい黒丸で示す６個のＡＰポインタを白丸で示す６個のサーバポインタに１対１で割り当てる。
【００５８】
続いても同様に、例えば、図１０において、小さい黒丸で示す６個のＡＰポインタを白丸で示す６個のサーバポインタに１対１で割り当てる。
【００５９】
続いても同様に、ただし、残る小さい黒丸のＡＰポインタは５個なので、それらを５個のサーバポインタに１対１で割り当てる。
【００６０】
なお、ＡＰ割当図生成部１８は、いずれの場合でも、ＡＰポインタを処理負荷量の多い順に最も近いサーバポインタに割り当てる。
【００６１】
これにより、処理負荷量は、各サーバポインタに対し、およそ均等に割り当てられる。
【００６２】
つまり、同様に、各ＡＰを、該当のサーバで動作させれば、実際の処理負荷量も、およそ均等になるのである。
【００６３】
図７に戻って説明を続ける。  
ＡＰ割当図生成部１８は、ＡＰ配置制御部１９に対し、各ＡＰをＡＰ割当図で示されるようにＡＰサーバ２で動作させるように指示を与える（Ｓ１３７）。
【００６４】
ＡＰ配置制御部１９は、サーバ通信部１１に、同様の指示を与える（Ｓ１３９）。
【００６５】
サーバ通信部１１は、各ＡＰサーバ２に対し、同様の指示を与える（Ｓ１４１）。
【００６６】
これにより、各サーバは、例えば、動作中のＡＰを停止し、別なＡＰを新たに動作させる。これにより、各サーバでの実際のＡＰの処理負荷量はおよそ均等になる。
【００６７】
（変形例１）
なお、サーバ通信部１１は、各ＡＰサーバ２から、各ＡＰの通信ＩＦごとの使用回数を取得し（Ｓ１０１）、これを通信量ベクトル生成部１３に与え（Ｓ１０３）、通信量ベクトル生成部１３は、各通信ＩＦについて予め定められた１回あたりの通信量に当該通信ＩＦごとの使用回数を乗じて当該通信ＩＦの通信量を求め、この通信量で、各ＡＰについて通信量ベクトルを生成（Ｓ１０５）してもよい。
【００６８】
例えば、チャットでの１回あたりの通信量を２５０ｋＢ、電子メールでの１回あたりの通信量を５０ｋＢ、音声通信での１回あたりの通信量を１０ＭＢ、映像通信での１回あたりの通信量を２００ＭＢを予め記憶しておき、あるＡＰのチャット使用回数が１００回、電子メールの使用回数が２００回、音声通信の使用回数が１０回、映像通信の使用回数が２０回であった場合、通信量ベクトルは、（２５ＭＢ（＝２５０ｋＢ×１００回）、１０ＭＢ（＝５０ｋＢ×２００）、１００ＭＢ（＝１０ＭＢ×１０回）、４００ＭＢ（＝２００ＭＢ×２０回））となる。
【００６９】
（変形例２）
また、ＡＰサーバ統括装置１は、ＡＰマップの生成を、以下のように行ってもよい。
【００７０】
まず、ＡＰサーバ統括装置１に、２つのＡＰの組のそれぞれにつき、一方のＡＰを使用するユーザと他方のＡＰを使用するユーザとの間の通信における通信量を当該通信でどのアプリケーションが使用されるかに関わらず、当該ユーザの組のぞれぞれについて取得し、当該各通信量を合計した合計通信量を計算する合計通信量計算部を設ける。
【００７１】
そして、ＡＰマップ生成部は、ＡＰポインタ間の距離を、対応する当該合計通信量が多いほど短くする。
【００７２】
例えば、
ユーザＵ１、Ｕ２がアプリケーションＡ１を使用し、
ユーザＵ２、Ｕ３がアプリケーションＡ２を使用し、
ユーザＵ１、Ｕ４がアプリケーションＡ３を使用し、
ユーザＵ１、Ｕ２間の通信量は２００ＭＢ、
ユーザＵ１、Ｕ３間の通信量は１５０ＭＢ、
ユーザＵ１、Ｕ４間の通信量は３００ＭＢ、
ユーザＵ２、Ｕ３間の通信量は５０ＭＢ、
ユーザＵ２、Ｕ４間の通信量は５０ＭＢ、
ユーザＵ３、Ｕ４間の通信量は１００ＭＢであるとする。  
この場合、アプリケーションＡ１、Ａ２の組について取得された通信量は、
ユーザＵ１、Ｕ２間の通信量である２００ＭＢ、
ユーザＵ１、Ｕ３間の通信量である１５０ＭＢ、
ユーザＵ２、Ｕ３間の通信量である５０ＭＢ、
の３つである。  
これらを合計した合計通信量は、４００ＭＢである。  
また、アプリケーションＡ１、Ａ３の組について取得された通信量は、
ユーザＵ１、Ｕ２間の通信量である２００ＭＢ、
ユーザＵ１、Ｕ３間の通信量である１５０ＭＢ、
ユーザＵ２、Ｕ４間の通信量である５０ＭＢ、
ユーザＵ３、Ｕ４間の通信量である１００ＭＢ
の４つである。  
これらを合計した合計通信量は、５００ＭＢであり、４００ＭＢより多い。  
よって、
アプリケーションＡ１、Ａ３に対応するＡＰポインタ間の距離は、
アプリケーションＡ１、Ａ２に対応するＡＰポインタ間の距離よりも短くなる。
【００７３】
他のＡＰの組についても、合計通信量が計算され、これにより、ＡＰポインタ間の距離が設定される。
【００７４】
なお、通信量ベクトル生成部１３が、合計通信量を用いて、通信量ベクトルを生成し、
ＡＰマップ生成部は、ＡＰポインタ間の距離を、対応する当該通信量ベクトルどうしの距離に応じたものとしてもよい。  
この場合、例えば、アプリケーションＡ１の通信量ベクトルを（Ｅ１１、Ｅ１２、Ｅ１３）とすると、
Ｅ１１＝ユーザＵ１、Ｕ２間の通信量、
Ｅ１２＝アプリケーションＡ１、Ａ２の組についての合計通信量
Ｅ１３＝アプリケーションＡ１、Ａ３の組についての合計通信量
として計算される。なお、Ｅ１１については、固定値（例えば、「０」）としてもよい。  他のＡＰについても、同様に通信量ベクトルが計算され、これにより、ＡＰポインタ間の距離が設定される。
【００７５】
以上説明したように、本実施の形態によれば、アプリケーション割当図生成装置１は、複数のアプリケーション（ＡＰ）のそれぞれが複数のアプリケーションサーバ２のいずれかに割り当てられている様子を示すアプリケーション割当図を生成する装置であって、各アプリケーションを示すアプリケーションポインタからなるアプリケーションマップを生成し、且つ、当該アプリケーションポインタ間の距離を、対応するアプリケーション間における通信量が多いほど短くするアプリケーションマップ生成部１４と、各アプリケーションサーバを示すサーバポインタからなるサーバマップを生成し、且つ、当該サーバポインタ間の距離を、各アプリケーションサーバが同量の通信を行った場合の、全アプリケーションサーバを含む通信路３への負荷の大きさに応じたものとするサーバマップ生成部１６と、各アプリケーションにかかる処理負荷量を取得する処理負荷量取得部１７と、アプリケーションマップとサーバマップを重ね合わせるとともにアプリケーションポインタをサーバポインタに割り当ててなるアプリケーション割当図を生成し、且つ、当該アプリケーション割当図の生成の際には、アプリケーションマップからアプリケーションサーバの数以下のアプリケーションポインタを処理負荷量の多い順に選択し、当該アプリケーションポインタを処理負荷量の多い順に当該アプリケーションポインタに最も近いサーバポインタに１対１で割り当てるようにするアプリケーション割当図生成部１８とを備えることで、アプリケーション割当図で示されるように各アプリケーションをアプリケーションサーバで実際に動作させれば、各アプリケーションサーバでのアプリケーションの処理負荷量は、およそ均等になるので、すなわち、各アプリケーションを最適なアプリケーションサーバに配置することが可能となる。
【００７６】
また、アプリケーション割当図生成装置１は、アプリケーション割当図で示されるように各アプリケーションをいずれかのアプリケーションサーバで動作させるアプリケーション配置制御部１９を備え、これにより、アプリケーション割当図で示されるように各アプリケーションをアプリケーションサーバで実際に動作させることができる。
【００７７】
また、アプリケーション割当図生成装置１は、各アプリケーションサーバを対象として、複数のアプリケーションサーバのそれぞれに対応する数値からなるアプリケーションサーバベクトルを生成し、且つ、当該アプリケーションサーバベクトルにおける当該対象のアプリケーションサーバ以外の他のアプリケーションサーバに対応する数値については、当該対象のアプリケーションサーバと当該他のアプリケーションサーバとの間のホップ数に等しくするネットワーク解析部１５を備え、サーバマップ生成部１６は、サーバポインタ間の距離を、対応する当該アプリケーションサーバベクトルどうしの距離に応じたものとするようになっている。
【００７８】
また、アプリケーション割当図生成装置１は、各アプリケーションにつき、複数の通信インタフェースごとの通信量からなる通信量ベクトルを生成する通信量ベクトル生成部１３を備え、アプリケーションマップ生成部１４は、アプリケーションポインタ間の距離を、対応する当該通信量ベクトルどうしの距離に応じたものとするようになっている。
【００７９】
また、変形例１では、通信量ベクトル生成部１３は、各通信インタフェースについて予め定められた１回あたりの通信量に当該通信インタフェースの使用回数を乗じて当該通信インタフェースの通信量を求めるようにすることもできる。これにより、実際の通信量をアプリケーションサーバから取得することが不要になる。
【００８０】
また、アプリケーションマップは、複数の通信インタフェースの数に関わらず、予め定められた数に等しい次元数を有する。よって、通信インタフェースの数が増減に対応することができる。
【００８１】
また、変形例２では、アプリケーション割当図生成装置１は、複数のアプリケーションに含まれる２つのアプリケーションからなる組のそれぞれにつき、一方のアプリケーションを使用するユーザと他方のアプリケーションを使用するユーザとの間の通信における通信量を当該通信でどのアプリケーションが使用されるかに関わらず、当該ユーザの組のぞれぞれについて取得し、当該各通信量を合計した合計通信量を計算する合計通信量計算部を備え、アプリケーションマップ生成部１４は、アプリケーションポインタ間の距離を、対応する当該合計通信量が多いほど短くするようになっている。
【００８２】
また、変形例２では、通信量ベクトル生成部１３は、各アプリケーションを対象として、複数のアプリケーションのそれぞれに対応する通信量からなる通信量ベクトルを生成し、且つ、当該通信量ベクトルにおける当該対象のアプリケーション以外の他のアプリケーションに対応する通信量（上記例では、Ｅ１２、Ｅ１３）については、当該対象のアプリケーションと当該他のアプリケーションとからなる組について計算した合計通信量に等しくし、アプリケーションマップ生成部１４は、アプリケーションポインタ間の距離を、対応する当該通信量ベクトルどうしの距離に応じたものとするようになっている。
【００８３】
なお、本実施の形態に係るアプリケーション割当図生成装置１としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【００８４】
１…ＡＰサーバ統括装置
２…ＡＰサーバ
３…通信路
１１…サーバ通信部
１２…ネットワーク通信部
１３…通信量ベクトル生成部
１４…ＡＰマップ生成部
１５…ネットワーク解析部
１６…サーバマップ生成部
１７…処理負荷量取得部
１８…ＡＰ割当図生成部
１９…ＡＰ配置制御部
２１…ＡＰ管理部
２２…ＡＰプラットフォーム
２３…通信量集計部
２４…通信部
【図１】
2011186809.tif 000003
【図２】
2011186809.tif 000004
【図３】
2011186809.tif 000005
【図４】
2011186809.tif 000006
【図５】
2011186809.tif 000007
【図６】
2011186809.tif 000008
【図７】
2011186809.tif 000009
【図８】
2011186809.tif 000010
【図９】
2011186809.tif 000011
【図１０】
2011186809.tif 000012