(57)【要約】【課題】効率的にデータ送信を実行することを課題とする。【解決手段】データセンタに配置される各サーバ装置のうちデータ送信元となる送信元サーバ装置が、無線通信装置を有する複数のサーバ装置の位置に関する配置情報を管理サーバ装置から受信する。送信元サーバ装置は、送信元サーバ装置と、送信元サーバ装置がパケットを送信するサーバ装置各々との直線距離を配置情報から算出する。送信元サーバ装置は、算出結果に基づいて複数のサーバ装置の中から複数のサーバ装置間のデータ通信を中継するサーバ装置を選定する。【選択図】図２
2015119399.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
無線通信装置を有する複数のサーバ装置の位置に関する配置情報を管理サーバ装置から受信し、
前記複数のサーバ装置のうちの第１のサーバ装置と、該第１のサーバ装置がパケットを送信する第２のサーバ装置各々との直線距離を前記配置情報から算出し、
算出結果に基づいて前記複数のサーバ装置の中から前記複数のサーバ装置間のデータ通信を中継するサーバ装置を選定する
処理を実行させることを特徴とするサーバ装置の選定プログラム。
【請求項２】
算出した各直線距離のうち最も長い第１の直線距離を特定する処理を前記コンピュータにさらに実行させ、
前記選定する処理は、算出された各直線距離に基づいて、前記第１の直線距離を特定した前記第１のサーバ装置と前記第２のサーバ装置の第１の直線上に位置するサーバ装置の中から各第２のサーバ装置へ前記パケットを中継するための前記サーバ装置を選定する、
ことを特徴とする請求項１に記載のサーバ装置の選定プログラム。
【請求項３】
前記選定する処理は、前記第１の直線以外の第２の直線に対して、前記第１のサーバ装置を中心とする同心円と前記第１の直線とが交わる第１交点と、前記同心円と前記第２の直線とが交わる第２交点との距離が閾値を超える前記第１交点に位置するサーバ装置を前記サーバ装置に選定することを特徴とする請求項２に記載のサーバ装置の選定プログラム。
【請求項４】
前記第１のサーバ装置から前記サーバ装置までの空間において利用されている帯域情報を前記管理サーバ装置から取得し、使用率の低い帯域を前記サーバ装置に割当てる、処理を前記コンピュータにさらに実行させることを特徴とする請求項１から３のいずれか一つに記載のサーバ装置の選定プログラム。
【請求項５】
前記割当てる処理は、前記第１のサーバ装置から前記サーバ装置までの空間に位置する他のサーバ装置に対して、前記サーバ装置に割当てた電波帯域の使用を抑制させることを特徴とする請求項４に記載のサーバ装置の選定プログラム。
【請求項６】
前記算出する処理は、第３のサーバ装置が送信する他データの送信先が前記各第２のサーバ装置のいずれかである場合、前記第３のサーバ装置から宛先となる前記第２のサーバ装置までの第３の直線を算出し、
前記選定する処理は、前記同心円と前記第３の直線とが交わる第３交点と、前記第１交点との距離が閾値を超える前記第１交点に位置するサーバ装置を、前記他データを中継するサーバ装置に選定し、当該サーバ装置に対して、前記データと前記他データとを中継する指示を送信することを特徴とする請求項２に記載のサーバ装置の選定プログラム。
【請求項７】
コンピュータが、
無線通信装置を有する複数のサーバ装置の位置に関する配置情報を管理サーバ装置から受信し、
前記複数のサーバ装置のうちの第１のサーバ装置と、該第１のサーバ装置がパケットを送信する第２のサーバ装置各々との直線距離を前記配置情報から算出し、
算出結果に基づいて前記複数のサーバ装置の中から前記複数のサーバ装置間のデータ通信を中継するサーバ装置を選定する
処理を含んだことを特徴とするサーバ装置の選定方法。
【請求項８】
無線通信装置を有する複数のサーバ装置の位置に関する配置情報を管理サーバ装置から受信する受信部と、
前記複数のサーバ装置のうちの第１のサーバ装置と、該第１のサーバ装置がパケットを送信する第２のサーバ装置各々との直線距離を、前記受信部によって受信された前記配置情報から算出する算出部と、
前記算出部による算出結果に基づいて前記複数のサーバ装置の中から前記複数のサーバ装置間のデータ通信を中継するサーバ装置を選定する選定部と
を有することを特徴とするサーバ選定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置の選定プログラム、サーバ装置の選定方法およびサーバ選定装置に関する。
【背景技術】
【０００２】
従来から、情報処理装置の通信では有線や無線による通信が行われている。例えば、有線通信の場合、情報処理装置は、レイヤ２スイッチやレイヤ３スイッチを経由して、データを他の情報処理装置に送信する。無線通信の場合、情報処理装置は、予め固定された基地局を介して他の情報処理装置にデータを送信する。
【０００３】
近年では、アドホック通信のように、基地局を用いずに情報処理装置間でデータを中継する手法も利用されている。例えば、情報処理装置から送信されたデータは、隣接する情報処理装置間でリレー式に中継されて、宛先の情報処理装置まで届けられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００６／００１３０８号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記技術では、データを中継する情報処理装置の数が多くなると、データの遅延等や故障によるデータ中継の中断が発生することから、データ送信が効率的ではない。
【０００６】
例えば、固定された基地局を介した無線通信では、基地局が故障した場合、データ中継が中断し、データが宛先に届かない。また、アドホック通信の場合、データを中継する情報処理装置が増えるほど、データの遅延が発生する。
【０００７】
１つの側面では、効率的なデータ送信を実行できるサーバ装置の選定プログラム、サーバ装置の選定方法およびサーバ選定装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、コンピュータに、無線通信装置を有する複数のサーバ装置の位置に関する配置情報を管理サーバ装置から受信する処理を実行させる。コンピュータに、前記複数のサーバ装置のうちの第１のサーバ装置と、該第１のサーバ装置がパケットを送信する第２のサーバ装置各々との直線距離を前記配置情報から算出する処理を実行させる。コンピュータに、算出結果に基づいて前記複数のサーバ装置の中から前記複数のサーバ装置間のデータ通信を中継するサーバ装置を選定する処理を実行させる。
【発明の効果】
【０００９】
１実施形態によれば、効率的なデータ送信を実行できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係るデータセンタの例を示す図である。
【図２】図２は、実施例１に係るサーバの階層構造を示すブロック図である。
【図３】図３は、３次元配列を２次元配列に変換する例を説明する図である。
【図４】図４は、基地局の選定例を説明する図である。
【図５】図５は、送信経路の決定例を説明する図である。
【図６】図６は、実施例１に係る処理の流れを示すフローチャートである。
【図７】図７は、実施例２に係るサーバの階層構造を示すブロック図である。
【図８】図８は、実施例２に係る通信経路の例を説明する図である。
【図９】図９は、使用帯域の決定例を説明する図である。
【図１０】図１０は、使用帯域の調整例を説明する図である。
【図１１】図１１は、実施例２に係る処理の流れを示すフローチャートである。
【図１２】図１２は、実施例３に係る通信経路の例を説明する図である。
【図１３】図１３は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示するサーバ装置の選定プログラム、サーバ装置の選定方法およびサーバ選定装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１２】
［データセンタ］
図１は、実施例１に係るデータセンタの例を示す図である。図１に示すように、データセンタ１００にはサーバラック１ａ、サーバラック１ｂ、サーバラック１ｃが設置される。なお、ここでは３台のサーバラックが設定される例を説明したが、ラックの台数等を限定するものではなく、任意に設定変更できる。
【００１３】
例えば、サーバラック１ａには、複数のサーバ１０が搭載される。サーバラック１ｂには、複数のサーバ１０と管理サーバ７０とが搭載される。サーバラック１ｃには、複数のサーバ１０が設置される。なお、各サーバラックに搭載されるサーバの台数や管理サーバ７０がどのラックサーバに搭載されるかについては、任意に設定変更できる。
【００１４】
各サーバ１０は、例えばラックマウント型のサーバやブレードサーバなどであり、他のサーバや管理サーバ７０と無線送信で接続される。
【００１５】
管理サーバ７０は、各サーバの情報を管理するサーバである。例えば、管理サーバ７０は、各サーバを識別する識別子や各サーバの位置情報などを含む管理情報を保持する。なお、識別子の例としてはホスト名などがあり、位置情報の例としては座標などがある。
【００１６】
また、管理サーバ７０は、各サーバ上で動作する仮想マシン（ＶＭ：Virtual  Machine）の情報を保持する。例えば、管理サーバ７０は、各サーバに対応付けて、各サーバのＩＰ（Internet  Protocol）アドレス、サーバ上で動作する仮想マシンを識別する識別子や仮想マシンのＩＰアドレスなどを保持する。
【００１７】
また、管理サーバ７０は、各サーバがデータの送信に使用している無線通信の帯域情報を保持する。例えば、管理サーバ７０は、各サーバが使用している帯域、使用帯域を特定する識別子、帯域の使用率等を対応付けて記憶する。
【００１８】
［サーバの構成］
図２は、実施例１に係るサーバの階層構造を示すブロック図である。図２に示すように、サーバ１０は、ハードウェア２０、ＯＳ（オペレーティングシステム）３０、仮想制御部４０、仮想マシン部５０の階層構造を形成する。
【００１９】
ハードウェア２０は、サーバ１０を構成するハードウェアである。ハードウェア２０は、無線通信部２０ａを有する。無線通信部２０ａは、他のサーバや管理サーバ７０との間の無線通信を制御するインタフェースである。ＯＳ３０は、サーバ１０で実行されるＯＳであり、サーバ１０全体の制御を司る。
【００２０】
仮想制御部４０は、仮想マシンを稼動させる処理部である。なお、仮想制御部４０の一例としては、ハイパーバイザなどがある。この仮想制御部４０は、装置情報ＤＢ４１、収集部４２、算出部４３、特定部４４、選定部４５、通知部４６、データ送信部４７を有する。
【００２１】
装置情報ＤＢ４１は、各サーバの装置情報を記憶するデータベースである。例えば、装置情報ＤＢ４１は、データセンタ１００内のサーバ１０の位置情報、仮想マシンの情報、帯域情報などを記憶する。
【００２２】
収集部４２は、管理サーバ７０からデータセンタ１００内のサーバ１０の位置情報、仮想マシンの情報、帯域情報など取得して、装置情報ＤＢ４１に格納する処理部である。なお、収集するタイミングの例としては、データ送信の要求が発生した場合、所定間隔、管理者等からの指示を受信した場合など任意に設定できる。
【００２３】
算出部４３は、データの宛先となる各サーバまでの直線距離を算出する処理部である。具体的には、算出部４３は、データセンタ１００内における各サーバの３次元の位置情報を２次元の位置情報に変換して、サーバ１０から宛先サーバ各々との直線距離を算出する。
【００２４】
特定部４４は、算出部４３によって算出された各宛先までの直線距離のうち最も長い直線距離を特定する処理部である。また、特定部４４は、特定した直線距離に対応する宛先のサーバを特定する情報を、選定部４５に通知する。
【００２５】
選定部４５は、算出部４３によって算出された各直線距離に基づいて、複数のサーバ装置の中から複数のサーバ装置間のデータ通信を中継する中継サーバ装置を選定する処理部である。具体的には、選定部４５は、特定部４４によって特定された直線距離上に位置するサーバをデータの中継地点に選定する処理部である。例えば、選定部４５は、特定部４４によって特定された直線距離を主ルートに設定する。続いて、選定部４５は、主ルートの宛先以外の他宛先までの直線経路について以下の処理を実行する。
【００２６】
まず、選定部４５は、データ送信元であるサーバ１０から他宛先までの直線において閾値を超えた距離と同じ距離の地点を、主ルート上で特定する。別の手法としては、選定部４５は、データ送信元であるサーバ１０を中心として直径を順に大きくした同心円を生成する。そして、選定部４５は、同心円と主ルートの交点と、同心円とサーバ１０から他宛先までの直線の交点との距離が閾値を超えた地点の主ルート上の位置を特定する。
【００２７】
なお、選定部４５は、同心円を徐々に大きくする手法として、主ルート上で送信元のサーバ１０から宛先サーバまでに位置するサーバについて、サーバ１０に近いサーバから順に選択する。続いて、選定部４５は、サーバ１０から選択したサーバまでの距離を半径にした同心円を生成する。そして、選定部４５は、上記交点間の距離が閾値を超えない場合、次のサーバを選択し、選択したサーバまでの距離を半径にした同心円で同様に判定する。
【００２８】
次に、選定部４５は、特定した各位置の近傍に位置する各サーバを、装置情報ＤＢ４１に記憶される位置情報等から特定する。そして、選定部４５は、特定した各サーバを、データ送信の中継地点に選定する。つまり、選定部４５は、主ルート上に特定された各サーバをデータ送信時の基地局に選定する。
【００２９】
通知部４６は、選定部４５によって中継地点に選定された各サーバに対して、基地局としての処理を実行する指示を通知する処理部である。具体的には、通知部４６は、選定された各サーバに、送信対象の各データと各データの宛先と使用する帯域とを通知する。なお、通知部４６は、予め指定された帯域や装置情報ＤＢ４１から特定される未使用帯域を各データに割当てる。
【００３０】
データ送信部４７は、データ送信を実行する処理部である。具体的には、データ送信部４７は、選定部４５によって選定された各サーバを基地局として、送信対象の各データを当該データの各宛先に送信する。
【００３１】
例えば、データ送信部４７は、通知部４６が割当てた帯域を使用して、データごとに中継点および受信対象サーバを宛先に設定して送信する。ここで送信されたデータは、選定された中継点のサーバによって受信され、次の中継点に中継されるなどされて、最終的には宛先サーバによって受信される。
【００３２】
仮想マシン部５０は、仮想マシンが実行されるメモリ領域などの動作環境である。仮想マシン部５０では、１つ以上の仮想マシンが同時に実行される。また、仮想マシン部５０は、仮想マシン間を接続する仮想スイッチ等も有する。
【００３３】
［具体例］
次に、データ送信に関する処理の具体例を説明する。ここでは直線距離の算出、基地局の選定、送信経路の決定について説明する。
【００３４】
（直線距離の算出）
図３は、３次元配列を２次元配列に変換する例を説明する図である。図３に示すように、算出部４３は、装置情報ＤＢ４１に記憶される各サーバの３次元情報を、２次元情報に変換する。具体的には、算出部４３は、手前のラック上のマウントされたサーバの一番下にあるものを２次元のＸ軸の０及びＹ軸の０とする。なお、このラックを基準ラックとする。
【００３５】
算出部４３は、その上にマウントされたものはＸ軸に＋１、Ｙ軸はそのままとし２次元変換していく。算出部４３は、該当サーバを搭載するラックが基準ラックの１つ奥のラックになった場合、Ｙ軸に＋１して、同様に２次元変換する。また、算出部４３は、該当サーバを搭載するラックが基準ラックの列から変わった場合は、一列目のＸ軸最後に続けて変換を行なう。算出部４３は、このようにして生成された２次元データを装置情報ＤＢ４１に格納する。また、算出部４３は、当該２次元データを管理サーバ７０に通知してもよい。
【００３６】
（中継地点の選定）
図４は、基地局の選定例を説明する図である。図４の例では、サーバＡ、サーバＣ、サーバＤ、サーバＥを有するシステムを例にして説明する。また、各サーバは、図２で説明した処理部を有している。
【００３７】
サーバＡは、ＶＭ１、ＶＭ２、ＶＭ３を動作させており、サーバＣは、ＶＭ５を動作させており、サーバＤは、ＶＭ６を動作させており、サーバＥは、ＶＭ７を動作させている。
【００３８】
また、サーバＡのＶＭ１がサーバＣのＶＭ５にデータを送信し、サーバＡのＶＭ２がサーバＤのＶＭ６にデータを送信し、サーバＡのＶＭ３がサーバＥのＶＭ７にデータを送信する例で説明する。
【００３９】
この状態で、データの送信元であるサーバＡは、宛先となるサーバＣとの直線、サーバＤとの直線、サーバＥとの直線をそれぞれ求め、直線距離でソートする。ここでは、サーバＡは、最長の直線距離となるサーバＡからサーバＥまでの直線を主ルートに特定する。つまり、サーバＡは、ＶＭ３からＶＭ７への送信経路を主ルートに特定する。
【００４０】
続いて、サーバＡは、サーバＡを中心として同心円を生成し、所定間隔で直径を大きくしていく。そして、サーバＡは、サーバＡからサーバＣまでの直線と同心円の交点と、主ルートと同心円の交点との距離が閾値αを超える主ルート上の位置を特定し、特定した位置付近のサーバを基地局Ｘに選定する。
【００４１】
同様に、サーバＡは、サーバＡからサーバＤまでの直線と同心円の交点と、主ルートと同心円の交点との距離が閾値αを超える主ルート上の位置を検索するが、閾値αを超える地点がないと判定する。この場合、サーバＡは、主ルートとサーバＤが直行する地点のサーバを基地局Ｚに選定する。
【００４２】
（送信経路の決定）
図５は、送信経路の決定例を説明する図である。なお、図５において経路上の（ＶＭ１、２、３）と示すのは、その経路上でＶＭ１のデータ、ＶＭ２のデータ、ＶＭ３のデータが送信されることを示す。
【００４３】
図５に示すように、サーバＡは、ＶＭ３からＶＭ７の経路上に選定された基地局Ｘ、基地局Ｚ各々を中継地点として、ＶＭ１のデータをＶＭ５に送信し、ＶＭ２のデータをＶＭ６に送信し、ＶＭ３のデータをＶＭ７に送信する。
【００４４】
具体的には、サーバＡは、基地局Ｘ、基地局Ｚに対して、各データを同一の帯域で送信することを通知する。また、サーバＡは、基地局Ｘには、受信データのうちＶＭ１のデータをサーバＣのＶＭ５に中継することと、受信データのうちＶＭ２およびＶＭ３のデータを基地局Ｚに中継する指示を送信する。
【００４５】
さらに、サーバＡは、基地局Ｚには、受信データのうちＶＭ２のデータをサーバＤのＶＭ６に中継することと、受信データのうちＶＭ３のデータをサーバＥのＶＭ７に中継する指示を送信する。
【００４６】
この結果、サーバＡは、基地局Ｘに対してＶＭ１、２、３の各データを送信すると、基地局Ｘは、ＶＭ１のデータをサーバＣのＶＭ５に中継し、その他のＶＭ２のデータおよびＶＭ３のデータを基地局Ｚに向けて送信する。基地局Ｚは、受信データのうちＶＭ２のデータをサーバＤのＶＭ６に中継し、ＶＭ３のデータをサーバＥのＶＭ７に中継する。
【００４７】
［処理の流れ］
図６は、実施例１に係る処理の流れを示すフローチャートである。図６に示すように、サーバ１０の算出部４３は、各サーバの３Ｄ空間位置情報を２Ｄ位置情報に変換するために、ラック下位から上位方向を２ＤのＸ軸の原点から上位方向へ変換する（Ｓ１０１）。
【００４８】
続いて、算出部４３は、同じ列の次のラックに関してＹ軸に＋１し変換し、次の列のラックは前列のＸ軸に続ける（Ｓ１０２）。そして、算出部４３は、変換終了後、２Ｄ位置情報を元に送信元と送信先のＶＭがのるサーバ間の直線を求める（Ｓ１０３）。
【００４９】
特定部４４は、求められた直線のうち直線間の間隔、すなわち、サーバ間の直線距離が短い順にソートする（Ｓ１０４）。その後、特定部４４は、ソート後の中で直線距離が一番長い直線を主ルートとして選択する（Ｓ１０５）。
【００５０】
その後、選定部４５は、主ルートに沿って送信元サーバから送信先サーバに向かい１つのサーバを移動する（Ｓ１０６）。そして、選定部４５は、主ルートとそれ以外のサーバ間の直線間隔が閾値αを超えたか、もしくは、閾値α内に入った場合（Ｓ１０７：Ｙｅｓ）、主ルートから閾値αを超える直線間隔に基地局を設定する（Ｓ１０８）。さらに、選定部４５は、設定した基地局から閾値αを超える直線の先にあるサーバへデータを送信するルートを設定する（Ｓ１０９）。
【００５１】
そして、選定部４５は、主ルートとそれ以外のサーバ間の直線間隔が閾値αを超えない、かつ、閾値α内に入らない場合（Ｓ１０７：Ｎｏ）、または、Ｓ１０９が実行された場合、Ｓ１１０を実行する。すなわち、選定部４５は、主ルートと送信先データの間隔が最短である場合（Ｓ１１０：Ｙｅｓ）、ルート上の直行するポイントに基地局を設定する（Ｓ１１１）。
【００５２】
その後、選定部４５は、主ルート以外の直線について処理を終えていない場合（Ｓ１１２：Ｎｏ）、Ｓ１０６に戻って以降の処理を繰り返す。一方、選定部４５は、主ルート以外の直線について処理を終えた場合（Ｓ１１２：Ｙｅｓ）、設定された基地局から送信先サーバへのルートを設定する（Ｓ１１３）。
【００５３】
［効果］
このように、送信元サーバは、各宛先ごとに基地局を設定してデータ送信を実行することができる。したがって、送信元サーバが送信したデータを中継する中継サーバの数を減少させることができる。この結果、データ中継によるデータ遅延を抑止できる。また、通信トラフィックを動的に分散できスムーズな通信を行うことができる。また、中継局やルータ機能、スイッチ機能を動的に配備できるので、これらの障害による通信不可の状態を回避できる。
【００５４】
また、送信元サーバは、選定された基地局が故障した場合でも、故障したサーバを除いた状態で上記処理を実行することで、他のサーバを基地局に選定できる。したがって、送信元サーバは、動的に中継サーバを選定することができ、中継サーバが故障した場合でも、他のサーバを中継先に選定することができる。この結果、故障によるデータ中継の遮断を抑制できる。
【実施例２】
【００５５】
ところで、実施例１では、同一の帯域を用いてデータ送信する例を説明したが、これに限定されるものではない。例えば、選定された基地局ごとに異なる帯域を用いてデータ送信することもできる。そこで、実施例２では、選定された基地局ごとに異なる帯域を用いてデータ送信する例を説明する。なお、データセンタや仮想マシン等の構成については実施例１と同様とする。
【００５６】
［サーバの構成］
図７は、実施例２に係るサーバの階層構造を示すブロック図である。図７に示すように、サーバ１０は、ハードウェア２０、ＯＳ３０、仮想制御部４０、仮想マシン部５０の階層構造を形成する。このうち、ハードウェア２０、ＯＳ３０、仮想マシン部５０は、実施例１と同様の処理を実行するので、詳細な説明は省略する。
【００５７】
仮想制御部４０は、装置情報ＤＢ４１、収集部４２、算出部４３、特定部４４、選定部４５、通知部４６、データ送信部４７、帯域情報ＤＢ６０、収集部６１、帯域調整部６２を有する。装置情報ＤＢ４１、収集部４２、算出部４３、特定部４４、選定部４５、通知部４６、データ送信部４７は、実施例１と同様なので、詳細な説明は省略する。
【００５８】
帯域情報ＤＢ６０は、各サーバがデータの送信に使用している無線通信の帯域情報を保持する。例えば、帯域情報ＤＢ６０は、データセンタ１００内の各サーバが使用している帯域、使用帯域を特定する識別子、帯域の使用率等を対応付けて記憶する。
【００５９】
収集部６１は、管理サーバ７０から帯域情報を取得して帯域情報ＤＢ６０に格納する処理部である。なお、収集するタイミングの例としては、データ送信の要求が発生した場合、所定間隔、管理者等からの指示を受信した場合など任意に設定できる。
【００６０】
帯域調整部６２は、各基地局で使用する帯域を調整する処理部である。具体的には、帯域調整部６２は、サーバ１０から各基地局までの各空間における帯域の利用効率を特定し、使用率の低い帯域を各基地局に割当てる。また、帯域調整部６２は、割当てた帯域を使用しないように、データセンタ１００内の他サーバ等に通知する。
【００６１】
また、帯域調整部６２は、利用率が０％の帯域がない場合には、データ送信に関連しない他サーバに対して帯域の解放を要求する。そして、帯域調整部６２は、開放された帯域を基地局に割当てることもできる。
【００６２】
［具体例］
図８は、実施例２に係る通信経路の例を説明する図である。図８は、実施例１によって決定された通信経路と同様である。実施例１と異なる点は、サーバＡと基地局Ｘとの間に、サーバＦとサーバＧが存在することである。また、サーバＦとサーバＧは、サーバＡからサーバＥへの経路上に位置する。このような状態で、図９と図１０とを用いて、帯域制御について説明する。
【００６３】
［帯域決定］
図９は、使用帯域の決定例を説明する図である。図９に示すように、送信元であるサーバＡは、自サーバの帯域情報と、宛先である基地局Ｘに対応するサーバＨの帯域情報、経路上に存在するサーバＦおよびサーバＧの帯域情報を管理サーバ７０から取得する。
【００６４】
ここでは、サーバＡからサーバＨまでの空間内では、帯域１〜帯域５が利用可能である。そして、サーバＡは、自サーバについて、帯域１に８０％の空きがあり、帯域２に空きがなく、帯域３に１００％の空きがあり、帯域４に３０％の空きがあり、帯域５に１００％の空きがあることを特定する。
【００６５】
同様に、サーバＡは、サーバＦについて、帯域１に８０％の空きがあり、帯域２に空きがなく、帯域３に１００％の空きがあり、帯域４に３０％の空きがあり、帯域５に１００％の空きがあることを特定する。
【００６６】
同様に、サーバＡは、サーバＧについて、帯域１に１００％の空きがあり、帯域２に８０％の空きがあり、帯域３に１００％の空きがあり、帯域４に０％の空きがあり、帯域５に３０％の空きがあることを特定する。
【００６７】
同様に、サーバＡは、サーバＨについて、帯域１に８０％の空きがあり、帯域２に空きがなく、帯域３に１００％の空きがあり、帯域４に３０％の空きがあり、帯域５に１００％の空きがあることを特定する。
【００６８】
これらの結果から、サーバＡは、サーバＡからサーバＨ（基地局Ｘ）の間の空間内において帯域３が空いていることを特定する。したがって、サーバＡは、基地局Ｘに対して、データを帯域３で送信することを通知し、サーバＦとサーバＧに対して、帯域３を利用しないように通知する。その後、サーバＡは、帯域３を用いて基地局Ｘにデータを送信する。
【００６９】
なお、サーバＡは、各基地局との間の空間について上記処理を実行し、各基地局との間でデータ中継に利用する帯域を決定する。このとき、サーバＡと基地局との間に別の基地局が存在する場合には、別の基地局に割当てた帯域も考慮する。例えば、サーバＡは、図８の基地局Ｚとの間で利用する帯域を決定する場合、サーバＡ、サーバＦ、サーバＧ、基地局Ｘ、基地局Ｚの帯域利用状況を考慮する。つまり、サーバＡは、先に決定した基地局Ｘとの間で使用する帯域を、基地局Ｚで使用する帯域から除外する。
【００７０】
［帯域調整］
図１０は、使用帯域の調整例を説明する図である。図１０に示すように、送信元であるサーバＡは、自サーバの帯域情報と、宛先である基地局Ｘに対応するサーバＨの帯域情報、経路上に存在するサーバＦおよびサーバＧの帯域情報を管理サーバ７０から取得する。
【００７１】
ここでは、サーバＡからサーバＨまでの空間内では、帯域１〜帯域５が利用可能である。そして、サーバＡは、自サーバについて、帯域１に８０％の空きがあり、帯域２に空きがなく、帯域３に１００％の空きがあり、帯域４に３０％の空きがあり、帯域５に１００％の空きがあることを特定する。
【００７２】
同様に、サーバＡは、サーバＦについて、帯域１に８０％の空きがあり、帯域２に空きがなく、帯域３に１００％の空きがあり、帯域４に３０％の空きがあり、帯域５に１００％の空きがあることを特定する。
【００７３】
同様に、サーバＡは、サーバＧについて、帯域１に８７％の空きがあり、帯域２に８０％の空きがあり、帯域３に９０％の空きがあり、帯域４に空きがなく、帯域５に３０％の空きがあることを特定する。
【００７４】
同様に、サーバＡは、サーバＨについて、帯域１に８０％の空きがあり、帯域２に空きがなく、帯域３に１００％の空きがあり、帯域４に３０％の空きがあり、帯域５に１００％の空きがあることを特定する。
【００７５】
これらの結果から、サーバＡは、サーバＡからサーバＨ（基地局Ｘ）の間の空間内において帯域３の空き率が最も高いと特定することができる。しかし、サーバＧにおける帯域３の空き率が１００％ではないことから、サーバＡは、サーバＧに対して帯域３を開放するように要求する。
【００７６】
そして、サーバＡは、基地局Ｘに対して、データを帯域３で送信することを通知し、サーバＦとサーバＧに対して、帯域３を利用しないように通知する。その後、サーバＡは、帯域３を用いてデータを送信する。なお、図９の説明と同様、サーバＡは、各基地局との間の空間について上記処理を実行し、各基地局との間でデータ中継に利用する帯域を決定する。
【００７７】
［処理の流れ］
図１１は、実施例２に係る処理の流れを示すフローチャートである。ここでは、サーバ１０がデータ送信元である例で説明する。
【００７８】
図１１に示すように、サーバ１０の帯域調整部６２は、送信元であるサーバ１０から基地局までの間で、主ルート上にある各サーバにおける無線帯域の利用状況を取得する（Ｓ２０１）。ここで選択される基地局は、図１１による処理が未処理の基地局のうち、サーバ１０に最も近い位置にある基地局である。
【００７９】
続いて、帯域調整部６２は、取得した各サーバの無線帯域を空いている順に並べ替える（Ｓ２０２）。そして、帯域調整部６２は、サーバ１０から基地局までの間に空いている帯域があるかを判定する（Ｓ２０３）。
【００８０】
ここで、帯域調整部６２は、帯域が空いている場合（Ｓ２０３：Ｙｅｓ）、サーバ１０から基地局までのうち当該空いている帯域を使用しないように、主ルート上のサーバに通知する（Ｓ２０４）。
【００８１】
その後、通知部４６は、当該基地局にアクセスポイントとなるように依頼するとともに接続を行う（Ｓ２０５）。このとき、通知部４６は、送信対象のデータ、宛先、他サーバの使用を制限した使用帯域をあわせて通知する。その後、帯域調整部６２は、他に未処理の基地局があるかを判定し（Ｓ２０６）、未処理の基地局がある場合（Ｓ２０６：Ｙｅｓ）、Ｓ２０１を実行し、未処理の基地局がない場合（Ｓ２０６：Ｎｏ）、処理を終了する。
【００８２】
一方、帯域調整部６２は、帯域が空いていない場合（Ｓ２０３：Ｎｏ）、サーバ１０から基地局までの各帯域のうち最も空いている帯域が空けられるかを判定する（Ｓ２０７）。具体的には、帯域調整部６２は、各サーバに帯域が空けられるかを問合せる。別例としては、帯域調整部６２は、管理サーバ７０から当該帯域で送信されているデータの優先度を取得し、優先度が所定以上であれば、帯域を空けられないと判定する。
【００８３】
そして、帯域調整部６２は、該当帯域が空けられると判定すると（Ｓ２０７：Ｙｅｓ）、主ルート上のサーバに、当該帯域を空けるように依頼する（Ｓ２０８）。その後、帯域調整部６２は、当該帯域の使用を予約し、通知部４６は、当該帯域が空いたことが確認されると、基地局にアクセスポイントとなるように依頼するとともに接続を行う（Ｓ２０９）。このとき、通知部４６は、送信対象のデータ、宛先、他サーバの使用を制限した使用帯域をあわせて通知する。その後はＳ２０６が実行される。
【００８４】
一方、帯域調整部６２は、該当帯域が空けられないと判定すると（Ｓ２０７：Ｎｏ）、帯域が空けられないサーバを１台選択し、選択したサーバを一時的な基地局と指定し、当該サーバと接続する（Ｓ２１０）。
【００８５】
その後、帯域調整部６２は、送信データを一時的に保存し、帯域が空き次第、本来の基地局に接続しなおして、一時的に保存したデータを空いた帯域を用いて送信する（Ｓ２１１）。
【００８６】
［効果］
このように、サーバ１０は、空いている帯域を用いてデータ送信を実行するので、混信等によるデータ遅延や通信遮断の発生を抑制できる。また、サーバ１０は、空いている帯域がない場合も、所望の帯域を空けるように他のサーバに依頼してから、当該帯域を用いてデータ送信を実行することができる。
【００８７】
また、サーバ１０は、他サーバが帯域を空けられない場合であっても、帯域が空くまで一時的にデータを保存しておくので、データの送信エラーの発生を抑制できる。なお、サーバ１０は、帯域が空いていない場合に他サーバに帯域を空けるように要求するが、このとき、例えば最も使用率が小さい帯域や最も帯域幅が大きい帯域など、任意に選択することができる。
【実施例３】
【００８８】
ところで、実施例１においてデータ送信の経路が決定された後に、他のサーバから同じ宛先へのデータ送信が発生した場合、既に決定されている主ルート上に新たな基地局を設定して、まとめて送信することができる。
【００８９】
そこで、実施例３では、異なる送信元から同じ宛先にデータを送信する例を説明する。図１２は、実施例３に係る通信経路の例を説明する図である。図１２の上図は、実施例１によってサーバＡからサーバＥを主ルートとした各経路が決定された状態である。
【００９０】
この状態からサーバＢ上で動作するＶＭ４が、サーバＥのＶＭ７へデータ送信する例を説明する。図１２の下図に示すように、サーバＢは、自分が送信元となるので、実施例１と同様の処理を実行する。
【００９１】
具体的には、サーバＢは、宛先のデータＥまでの直線をルートに設定する。そして、サーバＢは、サーバを中心とする同心円を生成して、ルートと同心円の交点と、ルートとサーバＡの主ルートの交点との距離が閾値αを下回るサーバＡの主ルート上の地点にあるサーバを基地局Ｙに選定する。
【００９２】
そして、サーバＢは、ＶＭ３からＶＭ７の主ルート上に選定された基地局Ｙを中継地点として、ＶＭ４のデータをＶＭ７に送信する。具体的には、サーバＢは、基地局Ｙに対して、ＶＭ４のデータを他のデータを同一の帯域で送信することを通知する。つまり、サーバＢは、基地局Ｙに対して、ＶＭ７へのデータを受信した場合に受信データにさらにＶＭ４のデータを含めて基地局Ｚに送信する指示と、ＶＭ４のデータをＶＭ７に送信することを示す基地局Ｚへの指示とを送信する。
【００９３】
このように、送信元サーバが異なるが送信先サーバが同じである場合、送信元とルートを後から決める側が、先に決められたルートと後から決める送信元と送信先の直線距離との乖離を一定内になった場合、先に決めたルートにデータを載せるように制御する。したがって、使用する帯域の数を削減することができ、ネットワークの輻輳を抑制できる。
【実施例４】
【００９４】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【００９５】
（データセンタ）
上記実施例では、データセンタを例にして説明したが、これに限定されるものではない。例えば、スマートメータなどの無線網に適用することもでき、一般的なシステムにも適用することができる。また、上記実施例では、サーバを例にして説明したが、これに限定されるものではなく、スマートフォンなど無線通信可能な端末に適用することができる。
【００９６】
（無線装置）
上記実施例では、送信元サーバが経路の決定や電波調整を実行する例を説明したが、これに限定されるものではなく、例えば管理サーバ７０などが実行して各サーバに通知することもできる。
【００９７】
（ＱｏＳによる制御）
例えば、送信元サーバは、ＶＭのＱｏＳ（Quality  of  Service）の要求レベルによって帯域制御を実行することができる。図５の状態でＶＭ１＞ＶＭ２＞ＶＭ３の順にＱｏＳの要求が高いとする。この時、サーバＡは、基地局Ｘまでの帯域がＶＭ１及びＶＭ２の分しか無い場合、ＶＭ３のデータ送信をサーバＡに搭載されている他の無線ＮＩＣ（Network  Interface  Card）を使いルート設定を行う。
【００９８】
そして、サーバＡは、無線ＮＩＣの空きが無い場合、利用率の一番少ない帯域を使用するＮＩＣが接続されるサーバにＶＭ３のデータ転送を依頼する。例えば、サーバＡは、図５において、ＶＭ１〜３のＱｏＳが一番高いものに設定されている場合で同一の帯域では送信しきれないデータ量であった場合、その帯域で送りきれないデータについては他の無線ＮＩＣの内利用量の少ない帯域を利用する無線ＮＩＣをＶＭ１〜３の利用に振り分ける。この時、サーバＡは、実施例１と同様の手法で経路を決定し、実施例２と同様の手法で電波帯域を制御してデータ送信を行う。
【００９９】
（基地局の最適化）
例えば、送信元サーバは、基地局の対象となったサーバのＣＰＵ（Central  Processing  Unit）負荷や、基地局間の距離が極めて近い場合において基地局の設置を最適化することができる。
【０１００】
サーバＡは、基地局として設定されたサーバのＣＰＵ負荷が基地局を担うほど余裕が無い場合、最初に設定された基地局の物理空間的に隣接するサーバの中から、基地局を担うものを選択する。それでもなければ、サーバＡは、更に距離を広げるが、出来るだけ主ルート上のサーバから選択して、新たな基地局を選定する。
【０１０１】
また、サーバＡは、基地局間の距離が所定値未満であり近い場合、基地局間の距離が一定の値にある基地局を一つの基地局として集約可能なグループとする。サーバＡは、このグループの前後にある主ルート上の基地局間の中間地点に一番近い基地局を算出する。そして、サーバＡは、算出された基地局にグループ内の他の基地局を集約し、集約された基地局は基地局設定を開放することができる。
【０１０２】
（送信先の変更）
例えば、送信元サーバは、送信先の変更があった場合に経路の再設定を実行することができる。
【０１０３】
例えば、変更された送信先が新たなサーバ上のＶＭである場合、送信元サーバは、既存のルートをベースに、送信元と新たな送信先との直線を求め、実施例１による手法で基地局を求める。そして、送信元サーバは、求められた基地局が既存基地局と近い場合、上記基地局の最適化を実行して基地局を集約する。また、送信元サーバは、既存サーバ上のＶＭと通信を終了する場合、基地局とその通信先との無線帯域を解放し通信を終了する。
【０１０４】
（システム）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０６】
例えば、実施例では、装置情報ＤＢ４１、収集部４２、算出部４３、特定部４４、選定部４５、通知部４６、データ送信部４７、帯域情報ＤＢ６０、収集部６１、帯域調整部６２を仮想制御部４０が有する例で説明したが、これに限定されるものではない。例えば、仮想マシンが、装置情報ＤＢ４１、収集部４２、算出部４３、特定部４４、選定部４５、通知部４６、データ送信部４７、帯域情報ＤＢ６０、収集部６１、帯域調整部６２を有していてもよい。
【０１０７】
（ハードウェア）
図１３は、ハードウェア構成例を説明する図である。図１３に示すように、サーバ１０は、通信インタフェース１０１、ＨＤＤ（Hard  Disk  Drive）１０２、メモリ１０３、ＣＰＵ１０４を有する。また、図１３に示した各部は、バス等で相互に接続される。
【０１０８】
通信インタフェース１０１は、無線インタフェースなどである。ＨＤＤ１０２は、図２や図７に示した機能を動作させるプログラムやテーブルを記憶する。
【０１０９】
ＣＰＵ１０４は、図２や図７に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０２等から読み出してメモリ１０３に展開することで、図２や図７等で説明した各機能を実行するプロセスを動作させる。
【０１１０】
すなわち、このプロセスは、サーバ１０が有する各処理部と同様の機能を実行する。具体的には、ＣＰＵ１０４は、収集部４２、算出部４３、特定部４４、選定部４５、通知部４６、データ送信部４７、収集部６１、帯域調整部６２等と同様の機能を有するプログラムをＨＤＤ１０２等から読み出す。そして、ＣＰＵ１０４は、収集部４２、算出部４３、特定部４４、選定部４５、通知部４６、データ送信部４７、収集部６１、帯域調整部６２と同様の処理を実行するプロセスを実行する。
【０１１１】
このようにサーバ１０は、プログラムを読み出して実行することでサーバ装置の選定方法を実行する情報処理装置として動作する。また、サーバ１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、サーバ１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【０１１２】
１０  サーバ
２０  ハードウェア
２０ａ  無線通信部
３０  ＯＳ
４０  仮想制御部
４１  装置情報ＤＢ
４２  収集部
４３  算出部
４４  特定部
４５  選定部
４６  通知部
４７  データ送信部
６０  帯域情報ＤＢ
６１  収集部
６２  帯域調整部
７０  管理サーバ
【図１】
2015119399.tif 000003
【図２】
2015119399.tif 000004
【図３】
2015119399.tif 000005
【図４】
2015119399.tif 000006
【図５】
2015119399.tif 000007
【図６】
2015119399.tif 000008
【図７】
2015119399.tif 000009
【図８】
2015119399.tif 000010
【図９】
2015119399.tif 000011
【図１０】
2015119399.tif 000012
【図１１】
2015119399.tif 000013
【図１２】
2015119399.tif 000014
【図１３】
2015119399.tif 000015