(57)【要約】【課題】ノードが要求する伝送時間を考慮して、サービス提供エリア全体のサーバを効率よく運用する。【解決手段】振分装置１０が、自装置が属するローカルエリアＬのノード２と提供サービスに対応するサーバ５との間の伝送時間と、該ローカルエリアＬ内のサーバ５Ｌのリソース使用率とを収集し、網内資源管理装置２０に通知する。網内資源管理装置２０が、属するエリアの異なる振分装置１０から通知された伝送時間とリソース使用率とを、該エリアごとに記憶部２４に蓄積し、振分装置１０から通知された伝送時間とリソース使用率とを他のエリアの振分装置１０に通知する。振分装置１０が、網内資源管理装置２０から通知されたエリアごとの伝送時間とリソース使用率と参照し、ノード２から要求されたサービスについての伝送時間に関する要求伝送条件を満たすエリアのサーバ５を特定して該ノード２の要求を振り分ける。【選択図】図１
2019032653.tif 000002
【特許請求の範囲】
【請求項１】
振分装置と網内資源管理装置とを有する分散システムで実行される分散方法であって、
前記振分装置における、自装置が属するエリアのノードと提供サービスに対応するサーバとの間の伝送時間と、該エリア内の前記サーバのリソース使用率とを収集し、前記網内資源管理装置に通知する収集工程と、
前記網内資源管理装置における、属するエリアの異なる前記振分装置から通知された前記伝送時間と前記リソース使用率とを、該エリアごとに記憶部に蓄積する蓄積工程と、
前記網内資源管理装置における、前記記憶部に蓄積された前記伝送時間と前記リソース使用率とを他のエリアの前記振分装置に通知する通知工程と、
前記振分装置における、前記網内資源管理装置から通知されたエリアごとの前記伝送時間と前記リソース使用率とを参照し、ノードから要求されたサービスについての伝送時間に関する要求伝送条件を満たすエリアの前記サーバを特定して該ノードの要求を振り分ける振分工程と、
を含んだことを特徴とする分散方法。
【請求項２】
前記収集工程において収集される前記伝送時間は、自装置と、自装置が属するエリア内のゲートウェイ装置、該エリア内の前記サーバ、および他エリアの前記振分装置との間の伝送時間であることを特徴とする請求項１に記載の分散方法。
【請求項３】
前記通知工程において、前記振分装置の要求に応じて、蓄積された前記伝送時間と前記リソース使用率とを該振分装置に通知することを特徴とする請求項１または２に記載の分散方法。
【請求項４】
前記振分工程において、自装置が属するエリアを優先してノードの要求を振り分けることを特徴とする請求項１〜３のいずれか１項に記載の分散方法。
【請求項５】
前記振分工程において、前記要求伝送条件を満たすエリアのうち、負荷の低いエリアの前記サーバにノードの要求を振り分けることを特徴とする請求項１〜３のいずれか１項に記載の分散方法。
【請求項６】
前記振分工程において、負荷の低いエリアのうち、前記要求伝送条件を満たすエリアの前記サーバにノードの要求を振り分けることを特徴とする請求項１〜３のいずれか１項に記載の分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散方法に関する。
【背景技術】
【０００２】
近年、様々なデバイスがネットワークに接続されるようになり、低遅延性が要求されるアプリケーションサービスが利用される場合がある。また、仮想化技術の進展により、必要な時に必要な規模のサーバを柔軟に配置する技術が知られている。そこで、サーバ等の計算リソースを、サービスの需要が大きいエリアへの集中配置に換えて、デバイス（以下、ノードとも記す）の近傍に分散させることにより、低遅延化を図る技術が検討されている。
【０００３】
ここで、サーバの集中配置によれば、サービス提供エリア全体でのサービス需要に応じて用意された物理リソースの範囲内で仮想リソースが配分される。したがって、エリアごとの需要計画は不要であり、コスト面で大群化効果を期待できる。
【０００４】
一方、サーバの分散配置によれば、サービス提供の低遅延化が可能となるが、各配置エリアにおけるサーバの規模が小さくなる。エリアごとの需要に応じて用意された物理リソースの範囲内で仮想リソースが配分されるため、集中配置と比較して、コスト面で大群化効果が薄れ分割損が発生する。また、エリアごとに需要計画が必要となり設備の運用も煩雑になる。
【０００５】
そこで、分散されたサーバ資源を効率よく活用する技術が期待されている。例えば、サーバを論理的に統合運用する技術が知られている（非特許文献１参照）。この技術では、ローカルエリア内のサーバの負荷を監視し、負荷が所定の閾値を超過した場合に、ロードバランサ（ＬＢ）が、レイヤ２（Ｌ２）で延伸されたネットワークのリモートエリアに配置されたサーバに負荷を分散させる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】“Cisco  ACE：VMwareと協調して動作する仮想サーバ  ロード  バランサ”、[online]、２０１１年、Cisco  Systems  Inc.、［２０１７年７月１１日検索]、インターネット＜URL:http://www.cisco.com/c/ja_jp/about/newsroom/technology-commentary/tech-2011/load-balancing-with-vmware.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の技術では、ノードが要求する伝送時間は考慮されていない。例えば、ローカルエリアのサーバの負荷が上昇した場合にのみ、リモートエリアのサーバに負荷分散させる。すなわち、リモートエリアで処理可能なサービス要求も一律にローカルエリアのサーバで処理を行うため、使用されるリソースに偏りが生じ運用コストが増大していた。また、ローカルエリアのサーバの負荷が上昇した場合には、遅延が許容されないサービス要求であってもリモートエリアのサーバに処理を行わせるため、サービス品質が低下していた。
【０００８】
本発明は、上記に鑑みてなされたものであって、ノードが要求する伝送時間を考慮して、サービス提供エリア全体のサーバを効率よく運用することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明に係る分散方法は、振分装置と網内資源管理装置とを有する分散システムで実行される分散方法であって、前記振分装置における、自装置が属するエリアのノードと提供サービスに対応するサーバとの間の伝送時間と、該エリア内の前記サーバのリソース使用率とを収集し、前記網内資源管理装置に通知する収集工程と、前記網内資源管理装置における、属するエリアの異なる前記振分装置から通知された前記伝送時間と前記リソース使用率とを、該エリアごとに記憶部に蓄積する蓄積工程と、前記網内資源管理装置における、前記記憶部に蓄積された前記伝送時間と前記リソース使用率とを他のエリアの前記振分装置に通知する通知工程と、前記振分装置における、前記網内資源管理装置から通知されたエリアごとの前記伝送時間と前記リソース使用率とを参照し、ノードから要求されたサービスについての伝送時間に関する要求伝送条件を満たすエリアの前記サーバを特定して該ノードの要求を振り分ける振分工程と、を含んだことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ノードが要求する伝送時間を考慮して、サービス提供エリア全体のサーバを効率よく運用することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施形態に係る分散システムの概略構成を例示する模式図である。
【図２】図２は、分散システムの処理概要を説明するための説明図である。
【図３】図３は、網内資源管理装置の概略構成を例示する模式図である。
【図４】図４は、振分装置の概略構成を例示する模式図である。
【図５】図５は、要求伝送時間情報のデータ構成を例示する図である。
【図６】図６は、収集部の処理を説明するための説明図である。
【図７】図７は、収集部の処理を説明するための説明図である。
【図８】図８は、振分部の処理を説明するための説明図である。
【図９】図９は、振分部の処理を説明するための説明図である。
【図１０】図１０は、管理処理手順を示すフローチャートである。
【図１１】図１１は、振分処理手順を示すフローチャートである。
【図１２】図１２は、振分処理手順を示すフローチャートである。
【図１３】図１３は、振分処理手順を示すフローチャートである。
【図１４】図１４は、分散処理の効果を説明するための説明図である。
【図１５】図１５は、分散プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１３】
［振分システムの概要］
図１は、本実施形態に係る分散システムの概略構成を例示する模式図である。図１に例示するように、分散システム１は、ノード２にサービスを提供するサーバ５と、サーバ資源管理装置６と、振分装置１０と、網内資源管理装置２０とを有する。ノード２は、接続されるローカルエリアＬのＧＷ（ゲートウェイ）装置３およびアクセスＮＷ（網）４を介してサーバ５にアクセスする。
【００１４】
ここで、サーバ５は、提供サービスに対応して、ローカルエリアＬおよびこのローカルエリアＬと中継ＮＷ７で接続されたリモートエリアＲの各エリアの物理リソース８上に、仮想マシンとして構築されている。また、サーバ資源管理装置６は、各エリアに配置され、エリア内のサーバ５に関するリソース使用率等の情報を管理している。
【００１５】
振分装置１０は各エリアに配置され、集約ＳＷ（スイッチ）９を介して各エリア内の各サーバ５の物理リソース８に接続される。振分装置１０は、自装置１０ＬからローカルエリアＬ内のＧＷ装置３、各サーバ５Ｌ、および他エリアすなわちリモートエリアＲの振分装置１０Ｒへの伝送時間を予め計測し管理する。また、振分装置１０は、計測した伝送時間およびサーバ資源管理装置６が計測したリソース使用率を網内資源管理装置２０に通知する。
【００１６】
網内資源管理装置２０は、中継ＮＷ７に接続され、各エリアの振分装置１０から通知された伝送時間およびリソース使用率を管理する。
【００１７】
図２は、分散システム１の処理概要を説明するための説明図である。図２に例示するように、分散システム１において、振分装置１０は、後述する分散処理を行って、ノード２が要求したサービスに要求される伝送時間の条件を意味する要求伝送条件に応じて、ローカルエリアＬまたはリモートエリアＲの適切なサーバ５を選択してサービス要求を振り分ける。
【００１８】
例えば、振分装置１０は、要求された提供サービスＢ用のリモートエリアＲのサーバ５Ｒが、サービスＢの要求伝送条件に対応可能か否かを網内資源管理装置２０に問い合わせ、対応可能であれば、このサーバ５Ｒにサービス要求を振り分ける負荷分散を行う。一方、サービスＢの要求伝送条件を満たさないリモートエリアＲのサーバ５Ｒには、サービス要求の振り分けを行わない。これにより、分散システム１は、サービス提供エリア全体のサーバ５を効率よく運用することが可能となる。
【００１９】
［網内資源管理装置の構成］
図３は、網内資源管理装置２０の概略構成を例示する模式図である。図３に例示するように、網内資源管理装置２０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部２１と出力部２２と通信制御部２３と、記憶部２４と、制御部２５とを備える。
【００２０】
入力部２１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部２５に対して各種指示情報を入力する。出力部２２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、例えば、後述する分散処理の結果等を操作者に対して出力する。
【００２１】
通信制御部２３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した振分装置１０等の外部の装置と制御部２５との通信を制御する。
【００２２】
記憶部２４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部２４には、網内資源管理装置２０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。また、この記憶部２４は、通信制御部２３を介して制御部２５と通信する構成でもよい。
【００２３】
本実施形態において、記憶部２４は、全エリア伝送時間情報２４ａおよび全エリアリソース使用率情報２４ｂを含む。全エリア伝送時間情報２４ａおよび全エリアリソース使用率情報２４ｂは、後述する分散処理において、振分装置１０から通知され蓄積される。
【００２４】
制御部２５は、ＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図３に例示するように、蓄積部２５ａおよび通知部２５ｂとして機能する。なお、これらの機能部は、それぞれが異なるハードウェアに実装されてもよい。
【００２５】
蓄積部２５ａは、属するエリアの異なる振分装置１０から通知された伝送時間とリソース使用率とを、該エリアごとに記憶部２４に蓄積する。具体的には、蓄積部２５ａは、後述する複数のエリアの振分装置１０から伝送時間とリソース使用率とを通知された場合に、伝送時間をエリアに対応づけて、全エリア伝送時間情報２４ａとして蓄積する。また、蓄積部２５ａは、通知されたリソース使用率をエリアに対応づけて、全エリアリソース使用率情報２４ｂとして蓄積する。
【００２６】
通知部２５ｂは、記憶部２４に蓄積された伝送時間とリソース使用率とを他のエリアの振分装置１０に通知する。具体的には、通知部２５ｂは、後述する振分装置１０から伝送時間とリソース使用率とを通知された場合に、通知元の振分装置１０の属するエリアの他のエリアの振分装置１０に、通知された伝送時間とリソース時間とを通知元のエリアと対応づけて通知する。
【００２７】
または、通知部２５ｂは、振分装置１０の要求に応じて、蓄積された伝送時間とリソース使用率とをその振分装置１０に通知するようにしてもよい。例えば、通知部２５ｂは、後述する振分装置１０から参照を要求された場合に、全エリア伝送時間情報２４ａおよび全エリアリソース使用率情報２４ｂを参照し、要求元の振分装置１０のリモートエリアＲに該当するエリアの伝送時間およびリソース使用率を通知する。
【００２８】
［振分装置の構成］
図４は、振分装置１０の概略構成を例示する模式図である。図４に例示するように、振分装置１０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部１１と出力部１２と通信制御部１３と、記憶部１４と、制御部１５とを備える。
【００２９】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、例えば、後述する分散処理の結果等を操作者に対して出力する。
【００３０】
通信制御部１３は、ＮＩＣ等で実現され、ＬＡＮやインターネットなどの電気通信回線を介したサーバ等の外部の装置と制御部１５との通信を制御する。
【００３１】
記憶部１４は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１４には、振分装置１０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。また、この記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００３２】
本実施形態において、記憶部１４は、自エリア伝送時間情報１４ａ、自エリアリソース使用率情報１４ｂ、他エリア伝送時間情報１４ｃ、他エリアリソース使用率情報１４ｄ、および要求伝送時間情報１４ｅを含む。ここで、自エリア伝送時間情報１４ａおよび自エリアリソース使用率情報１４ｂは、後述する分散処理において計測され、記憶部１４に蓄積される。また、他エリア伝送時間情報１４ｃおよび他エリアリソース使用率情報１４ｄは、後述する分散処理において取得され、記憶部１４に蓄積される。
【００３３】
また、要求伝送時間情報１４ｅは、提供サービスとサービスについて要求される伝送時間の許容範囲との対応付けを示す情報であり、後述する分散処理に先立って、予め記憶部１４に格納される。図５は、要求伝送時間情報１４ｅのデータ構成を例示する図である。図５に示すように、要求伝送時間情報１４ｅは、サービス名、要求種別、サービス識別子および要求伝送時間を含む。
【００３４】
ここで、サービス識別子は、サービス名に対応するサービスを識別する情報であり、例えば、サービスサイトのＵＲＬ等のアドレス情報で表される。要求種別は、ノード２がサービス要求の際に送信する要求メッセージの通知、制御等の種別を表す。要求伝送時間は、サービスに対して許容される伝送時間を表す。図５には、例えば、サービス名「service001」、サービス識別子「aaa.bbb.com/service001/notify/xxxx」のサービスについての要求種別「通知」の要求メッセージに対する要求伝送時間が500msecであることが示されている。
【００３５】
図４の説明に戻る。制御部１５は、ＣＰＵ等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図４に例示するように、収集部１５ａおよび振分部１５ｂとして機能する。なお、これらの機能部は、それぞれが異なるハードウェアに実装されてもよい。
【００３６】
収集部１５ａは、自装置が属するローカルエリアＬのノード２と提供サービスに対応するサーバ５との間の伝送時間と、該ローカルエリアＬ内のサーバ５Ｌのリソース使用率とを収集し、網内資源管理装置２０に通知する。
【００３７】
ここで、図６および図７は、収集部１５ａの処理を説明するための説明図である。図６（ａ）に示すように、収集部１５ａは、ノード２とサーバ５との間の伝送時間として、自装置１０Ｌと、自エリアすなわちローカルエリアＬ内のＧＷ装置３、ローカルエリアＬ内のサーバ５Ｌ、および他エリアであるリモートエリアＲの振分装置１０Ｒとの間の伝送時間を収集する。
【００３８】
以下、自装置１０ＬとＧＷ装置３との間の伝送時間をアクセス伝送時間Ｔac、自装置１０ＬとローカルエリアＬ内のサーバ５Ｌとの間の伝送時間をローカル伝送時間Ｔlo、自装置１０ＬとリモートエリアＲの振分装置１０Ｒとの間の伝送時間をエリア間伝送時間Ｔarと記す。
【００３９】
具体的には、収集部１５ａは、ローカルエリアＬ内のＧＷ装置３、ローカルエリアＬ内のサーバ５Ｌの物理リソース８、およびリモートエリアＲの振分装置１０Ｒに向けて定期的に計測用パケットを送信し、その応答を受信する。計測用パケットとして、例えば、ＩＣＭＰ（Internet  Control  Message  Protocol、インターネット制御通知プロトコル）のＴｉｍｅｓｔａｍｐ要求通知（１３）およびＴｉｍｅｓｔａｍｐ応答通知（１４）を用いて実現される。
【００４０】
そして、図６（ｂ）に例示するように、収集部１５ａは、伝送時間として、計測用パケットの送信時を示すオリジナルタイムスタンプと応答パケットの送信時を示すレシーブタイムスタンプとの時間間隔を算出する。なお、図６（ｂ）には、ローカルエリアＬの振分装置１０ＬとリモートエリアＲの振分装置１０Ｒとの間のエリア間伝送時間Ｔarを計測する例が示されている。同様に、振分装置１０ＬとＧＷ装置３との間のアクセス伝送時間Ｔac、および振分装置１０ＬとローカルエリアＬ内のサーバ５Ｌとの間のローカル伝送時間Ｔloを計測することができる。
【００４１】
次に、図７に示すように、収集部１５ａは、収集した伝送時間をローカルエリアＬに対応づけて、自エリア伝送時間情報１４ａに蓄積する。また、収集部１５ａは、ローカルエリアＬに対応付けた伝送時間を、網内資源管理装置２０に通知する。
【００４２】
また、収集部１５ａは、ローカルエリアＬ内のサーバ資源管理装置６から各サーバ５Ｌのメモリ使用率等のリソース使用率を収集し、ローカルエリアＬに対応づけて、自エリアリソース使用率情報１４ｂに蓄積する。また、収集部１５ａは、ローカルエリアＬに対応づけた各サーバ５Ｌのリソース使用率を、網内資源管理装置２０に通知する。
【００４３】
網内資源管理装置２０は、前述のとおり、通知された伝送時間をエリアに対応付けて全エリア伝送時間情報２４ａに蓄積する。また、網内資源管理装置２０は、通知されたリソース使用率をエリアに対応付けて全エリアリソース使用率情報２４ｂに蓄積する。
【００４４】
また、網内資源管理装置２０は、前述のとおり、通知された伝送時間およびリソース使用率を他のエリアすなわちローカルエリアＬに対するリモートエリアＲの振分装置１０Ｒに通知する。
【００４５】
リモートエリアＲの振分装置１０Ｒでは、収集部１５ａが、通知された伝送時間およびリソース使用率を、それぞれエリアに対応づけて、他エリア伝送時間情報１４ｃ、他エリアリソース使用率情報１４ｄに蓄積する。
【００４６】
なお、後述する振分部１５ｂが網内資源管理装置２０に要求することにより、他エリアの伝送時間およびリソース使用率を取得して、他エリア伝送時間情報１４ｃ、他エリアリソース使用率情報１４ｄに蓄積してもよい。
【００４７】
図４の説明に戻る。振分部１５ｂは、網内資源管理装置２０から通知された伝送時間とリソース使用率とを参照し、ノード２から要求されたサービスについての伝送時間に関する要求伝送条件を満たすエリアのサーバ５を特定して該ノード２の要求を振り分ける。
【００４８】
ここで、図８および図９は、振分部１５ｂの処理を説明するための説明図である。まず、ノード２からサービスを要求する要求メッセージを受信した場合に、図８に示すように、振分部１５ｂは、要求メッセージに含まれるサービス識別子を用いて要求伝送時間情報１４ｅを参照し、ノード２から要求されたサービスに対する要求伝送時間Ｔreqを特定する。
【００４９】
図８に示す例では、ノード２が発信した要求メッセージから、ノード２が要求したサービスのサービス識別子「aaa.bbb.com/service001/notify/xxxx」が特定され、要求伝送時間情報１４ｅから、このサービス識別子で識別されるサービスに対応する要求伝送時間Ｔreq＝５００［msec］が特定されている。
【００５０】
次に、図９に示すように、振分部１５ｂは、自エリア伝送時間情報１４ａおよび他エリア伝送時間情報１４ｃを参照し、エリアごとにノード２からサーバ５までの伝送見込時間を算出する。ここで、伝送見込時間は、アクセス伝送時間Ｔacと、ローカル伝送時間Ｔloと、エリア間伝送時間Ｔarとの和を用いて表すことができる。具体的には、伝送見込時間は、補正係数Ｋを用いて、次式（１）のように表すことができる。
【００５１】
伝送見込時間＝（Ｔac＋Ｔlo＋Ｔar）×Ｋ  …（１）
【００５２】
次に、振分部１５ｂは、次式（２）に示す要求伝送条件を満たすエリアを、振分先のエリアとして特定する。具体的には、振分部１５ｂは、次式（２）に示すように、伝送見込時間が要求伝送時間Ｔreqより小さいエリアを振分先エリアとして特定する。
【００５３】
Ｔreq＞（Ｔac＋Ｔlo＋Ｔar）×Ｋ  …（２）
【００５４】
また、振分部１５ｂは、特定した振分先エリアで負荷が低いサーバ５を特定し、ノード２の要求を振り分ける。例えば、振分部１５ｂは、振分先エリアのサーバ５のうち、リソース使用率が所定の閾値以下かつ最低のサーバ５を、負荷が低いサーバ５として特定する。
【００５５】
なお、振分部１５ｂが振分先エリアを特定する方式は特に限定されない。例えば、振分部１５ｂは、最短エリアであるローカルエリアＬを優先して振分先エリアとして特定する。すなわち、振分部１５ｂは、まず、ローカルエリアＬで負荷の低いサーバ５を探索する。また、振分部１５ｂは、ローカルエリアＬ内にリソース使用率が所定の閾値以下であるサーバ５が存在しない場合に、要求伝送条件を満たす他のリモートエリアＲを探索し、負荷の低いエリアを振分先エリアとして特定する。例えば、振分部１５ｂは、エリア内のサーバ５が要求伝送条件を満たすリモートエリアＲのうち、サーバ５のリソース使用率の平均値が最も低いエリアを振分先エリアとして特定する。
【００５６】
この方式によれば、低遅延である最短エリアのサーバ５Ｌが優先して活用されるので、効果的に遅延を抑制できる。一方、要求伝送時間Ｔreqが大きくリモートエリアＲのサーバ５Ｒで処理可能なサービス要求が、ローカルエリアＬのサーバ５Ｌを占有してしまう場合がある。したがって、この方式は、ローカルエリアＬのサーバ５Ｌが提供するサービスに対する要求伝送時間Ｔreqの値とそのばらつきとがともに小さい場合に好適である。
【００５７】
または、振分部１５ｂは、要求伝送条件を満たすエリアのうち、負荷の低いエリアを振分先エリアとして特定する。すなわち、振分部１５ｂは、まず、要求伝送条件を満たすエリアを探索し、そのうちで負荷の低いエリアを振分先エリアとして特定する。例えば、振分部１５ｂは、エリア内のサーバ５が要求伝送条件を満たすエリアのうち、エリア内のサーバ５のリソース使用率の平均値が最も低いエリアを振分先エリアとして特定する。
【００５８】
この方式によれば、サービス提供可能なエリア全体にノード２のサービス要求を振り分けるので、エリア間で効率よく負荷分散が可能となる。一方、ローカルエリアＬに空リソースがあってもリモートエリアＲに振り分けられる場合が発生する。したがって、この方式は、サービス提供可能なエリア全体に処理を分散させたい場合に好適である。
【００５９】
あるいは、振分部１５ｂは、負荷の低いエリアのうち、要求伝送条件を満たすエリアを振分先エリアとして特定する。すなわち、振分部１５ｂは、まず、負荷の低いエリアを探索し、そのうち要求伝送条件を満たすエリアを振分先エリアとして特定する。例えば、振分部１５ｂは、エリア内のサーバ５のリソース使用率の平均値が最も低いエリアを選定し、選定したエリア内のサーバ５が要求伝送条件を満たす場合に、振分先エリアとして特定する。
【００６０】
この方式によれば、サービス提供可能なエリア全体で容易に負荷の平準化を図れる。一方、要求伝送時間Ｔreqが小さくサービスの要求伝送条件が厳しい場合には、要求伝送条件を満たせずに低負荷のエリアの探索が繰り返される場合が発生する。したがって、この方式は、サービスの要求伝送条件が比較的緩く、サービス提供可能なエリア全体でリソース使用率のばらつきが大きい場合に好適である。
【００６１】
［分散処理］
次に、図１０〜図１３を参照して、本実施形態に係る分散システム１による分散処理について説明する。分散処理は、管理処理と振分処理と含む。まず、図１０は、管理処理手順を示すフローチャートである。図１０のフローチャートは、例えば、分散システム１の運用者により、処理の開始を指示する操作入力があったタイミングで開始される。
【００６２】
まず、振分装置１０の収集部１５ａが、定期的にローカルエリアＬで伝送時間を計測し、自エリア伝送時間情報１４ａに蓄積する（ステップＳ１）。伝送時間として、サーバ５Ｌと自装置１０Ｌとの間のローカル伝送時間Ｔlo、サーバ５ＬとＧＷ装置３との間のアクセス伝送時間Ｔac、他のリモートエリアＲの振分装置１０Ｒとの間のエリア間伝送時間Ｔarが計測される。
【００６３】
また、収集部１５ａは、サーバ資源管理装置６からサーバ５Ｌのリソース使用率を収集し、自エリアリソース使用率情報１４ｂに蓄積する。
【００６４】
そして、収集部１５ａは、計測した伝送時間と収集したリソース使用率とを網内資源管理装置２０に通知する（ステップＳ２）。収集部１５ａは、計測結果および収集結果に変更があった場合には、更新を通知する。
【００６５】
網内資源管理装置２０では、蓄積部２５ａが、振分装置１０から通知された計測結果をエリアに対応付けして、全エリア伝送時間情報２４ａに蓄積する。また、蓄積部２５ａは、通知された収集結果をエリアに対応付けして、全エリアリソース使用率情報２４ｂに蓄積する。また、通知部２５ｂが、通知された計測結果および収集結果を他エリアであるリモートエリアＲの振分装置１０Ｒに通知する（ステップＳ３）。通知部２５ｂは、計測結果および収集結果に変更があった場合に、更新を通知する。
【００６６】
リモートエリアＲの振分装置１０では、通知された計測結果を他エリア伝送時間情報１４ｃに蓄積し、通知された収集結果を他エリアリソース使用率情報１４ｄに蓄積する（ステップＳ４）。このようにして、振分装置１０では、他エリアの情報を記憶部１４に追加する。これにより、一連の管理処理が終了する。
【００６７】
次に、図１１〜図１３は、振分処理手順を示すフローチャートである。図１１〜図１３のフローチャートは、いずれも、ノード２がサービスを要求する要求メッセージを生成してローカルエリアＬの振分装置１０Ｌに送信したタイミング（ステップＳ１１）で開始される。
【００６８】
まず、図１１に示すように、振分装置１０Ｌでは、振分部１５ｂが、ノード２から受信した要求メッセージに含まれるサービス識別子を用いて要求伝送時間情報１４ｅを参照し、ノード２から要求されたサービスに対する要求伝送時間Ｔreqを特定する（ステップＳ１２〜Ｓ１３）。
【００６９】
次に、振分部１５ｂは、振分先エリアを特定する。図１１に示す例では、振分部１５ｂは、最短エリアであるローカルエリアＬを優先して振分先エリアとして特定する。すなわち、振分部１５ｂは、まず、ローカルエリアＬでリソース使用率が所定の閾値以下の負荷の低いサーバ５を探索する（ステップＳ２１）。
【００７０】
ローカルエリアＬでリソース使用率が所定の閾値以下の負荷の低いサーバ５があれば（ステップＳ２１，Ｙｅｓ）、振分部１５ｂは、ローカルエリアＬを振分先エリアとして、ステップＳ３１に処理を進める。
【００７１】
一方、ローカルエリアＬでリソース使用率が所定の閾値以下の負荷の低いサーバ５が存在しない場合には（ステップＳ２１，Ｎｏ）、振分部１５ｂは、上記式（２）に示す要求伝送条件を満たす他のリモートエリアＲを探索する（ステップＳ２２）。
【００７２】
また、振分部１５ｂは、エリア内のサーバ５が要求伝送条件を満たすリモートエリアＲのうち、サーバ５Ｒのリソース使用率の平均値が最も低いエリアを振分先エリアとして特定する（ステップＳ２３）。
【００７３】
そして、振分部１５ｂは、特定した振分先エリアでリソース使用率が所定の閾値以下かつ最低のサーバ５を特定し、ノード２の要求を振り分ける（ステップＳ３１）。これにより、一連の振分処理が終了する。これにより、低遅延である最短エリアのサーバ５Ｌが優先して活用されるので、効果的に遅延を抑制できる。
【００７４】
なお、図１２および図１３は、振分処理の他の方式を示す。図１２および図１３に示す方式は、図１１に示したステップＳ２１〜Ｓ２３の振分先エリアを特定する処理の方式が異なる。その他の手順（ステップＳ１１〜Ｓ１３，Ｓ３１）は図１１と同様であるので、説明を省略する。
【００７５】
図１２に示す方式では、振分部１５ｂは、要求伝送条件を満たすエリアのうち、負荷の低いエリアを振分先エリアとして特定する。すなわち、振分部１５ｂは、まず、上記式（２）に示す要求伝送条件を満たすエリアを探索する（ステップＳ２４）。また、振分部１５ｂは、そのうちで負荷の低いエリアを振分先エリアとして特定する。例えば、振分部１５ｂは、エリア内のサーバ５のリソース使用率の平均値が最も低いエリアを振分先エリアとして特定する（ステップＳ２５）。
【００７６】
この方式によれば、サービス提供可能なエリア全体にノード２のサービス要求を振り分けるので、エリア間で効率よく負荷分散が可能となる。
【００７７】
また、図１３に示す方式では、振分部１５ｂは、負荷の低いエリアのうち、要求伝送条件を満たすエリアを振分先エリアとして特定する。すなわち、振分部１５ｂは、まず、負荷の低いエリアを探索する。例えば、振分部１５ｂは、エリア内のサーバ５のリソース使用率の平均値が最も低いエリアを選定する（ステップＳ２６）。そして、振分部１５ｂは、選定したエリア内のサーバ５が上記式（２）に示す要求伝送条件を満たすか否かを確認する（ステップＳ２７）。
【００７８】
選定したエリアが要求伝送条件を満たす場合に（ステップＳ２７，Ｙｅｓ）、振分部１５ｂは、このエリアを振分先エリアとして特定し、ノード２の要求メッセージをこのエリアの振分装置１０に送信する（ステップＳ２８）。一方、選定したエリアが要求伝送条件を満たさない場合に（ステップＳ２７，Ｎｏ）、振分部１５ｂは、ステップＳ２６に処理を戻す。この方式によれば、サービス提供可能なエリア全体で容易に負荷の平準化を図れる。
【００７９】
以上、説明したように、本実施形態の分散システム１において、振分装置１０の収集部１５ａが、自装置１０Ｌが属するローカルエリアＬのノード２と提供サービスに対応するサーバ５との間の伝送時間と、該ローカルエリアＬ内のサーバ５Ｌのリソース使用率とを収集し、網内資源管理装置２０に通知する。また、網内資源管理装置２０の蓄積部２５ａが、属するエリアの異なる振分装置１０から通知された伝送時間とリソース使用率とを、該エリアごとに記憶部２４に蓄積する。また、網内資源管理装置２０の通知部２５ｂが、記憶部２４に蓄積された伝送時間とリソース使用率とを他のエリアの振分装置１０に通知する。また、振分装置１０の振分部１５ｂが、網内資源管理装置２０から通知されたエリアごとの伝送時間とリソース使用率と参照し、ノード２から要求されたサービスについての伝送時間に関する要求伝送条件を満たすエリアのサーバ５を特定して該ノード２の要求を振り分ける。
【００８０】
これに対し、従来の技術では、図１４に例示するように、ローカルエリア内のサーバの負荷を監視し、負荷が所定の閾値を超過した場合に、ロードバランサ（ＬＢ）が、仮想的にＬ２で延伸されたネットワークのリモートエリアに配置されたサーバに負荷を分散させる。
【００８１】
この場合に、ノードが要求する伝送時間は考慮されていない。例えば、ローカルエリアのサーバの負荷が上昇した場合にのみ、リモートエリアのサーバに負荷分散させる。すなわち、リモートエリアで処理可能なサービス要求も一律にローカルエリアのサーバで処理を行うため、使用されるリソースに偏りが生じ運用コストが増大していた。また、ローカルエリアのサーバの負荷が上昇した場合には、遅延が許容されないサービス要求であってもリモートエリアのサーバに処理を行わせるため、サービス品質が低下していた。
【００８２】
これに対し、本実施形態の分散システム１によれば、ノードが要求する伝送時間を考慮して、サービス提供エリア全体のサーバに負荷を分散させて効率よく運用することが可能となる。
【００８３】
［システム構成等］
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８４】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８５】
［プログラム］
上記実施形態に係る振分装置１０および網内資源管理装置２０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、振分装置１０および網内資源管理装置２０は、パッケージソフトウェアやオンラインソフトウェアとして上記の分散処理を実行する分散プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分散プログラムを情報処理装置に実行させることにより、情報処理装置を振分装置１０および網内資源管理装置２０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。以下に、振分装置１０および網内資源管理装置２０と同様の機能を実現する管理プログラムを実行するコンピュータの一例を説明する。
【００８６】
図１５は、分散プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００８７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００８８】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００８９】
また、分散プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した振分装置１０および網内資源管理装置２０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００９０】
また、分散プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００９１】
なお、分散プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、分散プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００９２】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００９３】
１  分散システム
２  ノード
３  ＧＷ装置
４  アクセスＮＷ
５  サーバ
６  サーバ資源管理装置
７  中継ＮＷ
８  物理リソース
９  集約ＳＷ
１０  振分装置
１１、２１  入力部
１２、２２  出力部
１３、２３  通信制御部
１４、２４  記憶部
１４ａ  自エリア伝送時間情報
１４ｂ  自エリアリソース使用率情報
１４ｃ  他エリア伝送時間情報
１４ｄ  他エリアリソース使用率情報
１４ｅ  要求伝送時間情報
１５、２５  制御部
１５ａ  収集部
１５ｂ  振分部
２０  網内資源管理装置
２４ａ  全エリア伝送時間情報
２４ｂ  全エリアリソース使用率情報
２５ａ  蓄積部
２５ｂ  通知部
【図１】
2019032653.tif 000003
【図２】
2019032653.tif 000004
【図３】
2019032653.tif 000005
【図４】
2019032653.tif 000006
【図５】
2019032653.tif 000007
【図６】
2019032653.tif 000008
【図７】
2019032653.tif 000009
【図８】
2019032653.tif 000010
【図９】
2019032653.tif 000011
【図１０】
2019032653.tif 000012
【図１１】
2019032653.tif 000013
【図１２】
2019032653.tif 000014
【図１３】
2019032653.tif 000015
【図１４】
2019032653.tif 000016
【図１５】
2019032653.tif 000017