配置計画生成装置及びプログラム
【課題】 リソース利用率及び可用性といった複数の観点から処理プログラムの配置を検討でき、人間系による検討の負荷を軽減する。
【解決手段】 実施形態の配置計画生成装置においては、配置可否判定手段が、利用率情報に関連付けられた処理プログラムIDの処理プログラムを許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する。前記配置計画生成装置においては、稼働率判定手段が、前記サービス情報記憶手段内の必要稼働率情報の値と、前記算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する。前記配置計画生成装置においては、この判定結果が前記超えた旨を示すとき、確定した第1の配置計画情報からなる前記第2の配置計画情報を前記配置計画情報記憶手段に書込む。
【解決手段】 実施形態の配置計画生成装置においては、配置可否判定手段が、利用率情報に関連付けられた処理プログラムIDの処理プログラムを許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する。前記配置計画生成装置においては、稼働率判定手段が、前記サービス情報記憶手段内の必要稼働率情報の値と、前記算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する。前記配置計画生成装置においては、この判定結果が前記超えた旨を示すとき、確定した第1の配置計画情報からなる前記第2の配置計画情報を前記配置計画情報記憶手段に書込む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、配置計画生成装置及びプログラムに関する。
【背景技術】
【0002】
一般に、Web(World Wide Web)アプリケーションでは、1つのサービスを構成する複数の処理の処理プログラムがアプリケーションサーバ装置及びデータベースサーバ装置などの複数の物理ノード装置に配置されている。この種のWebアプリケーションを用いたシステムとしては、例えば、サービス毎に設けた専用の複数の物理ノード装置に処理プログラムを配置して運用を管理するサイロ型システムが知られている。
【0003】
しかしながら、サイロ型システムは、専用の物理ノード装置におけるリソース利用率が低いという不都合がある。
【0004】
このため近年では、1つの物理ノード装置に複数の仮想マシンを設ける仮想化技術を用い、サービス間で物理ノード装置を共有することにより、物理ノード装置におけるリソース利用率の向上を図っている。現在、このような仮想化技術を用いる場合、処理プログラムの配置は、人間系での検討により、負荷を平準化するように実行されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−217434号公報
【特許文献2】特許第3861087号公報
【非特許文献】
【0006】
【非特許文献1】中山秀夫、「サーバー仮想化 現場の運用法」、日経SYSTEMS 6月号、日経BP社、2009年5月26日発行、第194号、p.62-67
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、以上のような人間系による配置方法では、通常は特に問題ないが、本発明者の考察によれば、処理プログラムを再配置する頻度に応じて、人間系による検討の負荷が高くなる不都合がある。また、本発明者の考察によれば、リソース利用率の観点(性能の観点)及び可用性(稼働率)の観点といった複数の観点から処理プログラムの配置を検討することが困難であるといった不都合もある。
【0008】
本発明が解決しようとする課題は、リソース利用率及び可用性といった複数の観点から処理プログラムの配置を検討でき、人間系による検討の負荷を軽減し得る配置計画生成装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0009】
実施形態の配置計画生成装置は、サービスを構成する処理を物理ノード装置に実行させる処理プログラムを前記物理ノード装置に配置するための配置計画を生成する。
【0010】
前記配置計画生成装置においては、物理ノード装置情報記憶手段が、前記物理ノード装置を識別する物理ノードID毎に、当該物理ノード装置の稼働率を示す稼働率情報と、当該物理ノード装置のリソース量を示すリソース量情報と、当該物理ノード装置の設計時に決められた単位リソース量あたりの利用可能なリソース量を示す設計利用率情報とを関連付けて記憶する。
【0011】
前記配置計画生成装置においては、サービス情報記憶手段が、前記サービスを識別するサービスID毎に、当該サービスを構成する処理の処理プログラムが単位時間あたりに前記リソースを占有する時間を当該処理プログラムを識別する処理プログラムID毎に示す占有時間情報と、前記サービスの単位時間あたりの実行回数を示す実行回数情報と、前記サービスを構成する処理の処理プログラムの実行に必要となる物理ノード装置の稼働率を示す必要稼働率情報とを関連付けて記憶する。
【0012】
前記配置計画生成装置においては、配置計画情報記憶手段が、前記配置計画の候補である第1の配置計画情報及び前記配置計画である第2の配置計画情報が書込可能なものである。
【0013】
前記配置計画生成装置においては、前記サービス情報記憶手段内の占有時間情報及び実行回数情報を読み出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、前記処理プログラムID毎に、単位時間あたりの占有時間情報を示す利用率情報を算出する。
【0014】
前記配置計画生成装置においては、前記物理ノード装置情報記憶手段内のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値及びこの設計利用率情報の値を積算し、前記物理ノードID毎に、利用可能なリソース量を示す許容利用率情報を算出する。
【0015】
前記配置計画生成装置においては、前記算出された利用率情報及び前記算出された許容利用率情報を降順に並び換える。
【0016】
前記配置計画生成装置においては、配置可否判定手段が、前記並び換えられた利用率情報のうちの先頭の利用率情報の値と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報の値とを比較し、当該利用率情報の値が当該許容利用率情報の値を超えたか否かにより、当該利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する。
【0017】
前記配置計画生成装置においては、この判定結果が配置可能を示すとき、当該配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定する前記第1の配置計画情報を前記配置計画情報記憶手段に書込む。
【0018】
前記配置計画生成装置においては、比較済判定手段が、前記判定結果が否を示すとき、当該判定に用いた利用率情報と、前記並び換えられた全ての許容利用率情報とを個別に比較したか否かを判定する。
【0019】
前記配置計画生成装置においては、前記比較済判定手段による判定結果が否を示すとき、前記並び換えの後で前記配置可否判定手段の判定に用いていない許容利用率情報のうち、先頭の許容利用率情報を用いて前記配置可否判定手段を再度実行する。
【0020】
前記配置計画生成装置においては、前記第1の配置計画情報が前記配置計画情報記憶手段に書込まれると、前記並び換えの後で前記配置可否判定手段の判定に用いていない利用率情報のうちの先頭の利用率情報と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、前記配置可否判定手段を再度実行する。
【0021】
前記配置計画生成装置においては、前記並び換えられた全ての利用率情報に対して前記配置可否判定手段が実行されると、前記物理ノード装置情報記憶手段内の稼働率情報及び前記配置計画情報記憶手段内の第1の配置計画情報に基づいて、前記処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する。
【0022】
前記配置計画生成装置においては、前記サービス情報記憶手段内の占有時間情報及び前記算出された処理プログラム稼働率情報に基づいて、前記サービスID毎に、サービスの稼働率を示すサービス稼働率情報を算出する。
【0023】
前記配置計画生成装置においては、稼働率判定手段が、前記サービス情報記憶手段内の必要稼働率情報の値と、前記算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する。
【0024】
前記配置計画生成装置においては、この判定結果が前記超えた旨を示すとき、前記配置計画情報記憶手段内の第1の配置計画情報を確定し、当該確定した第1の配置計画情報からなる前記第2の配置計画情報を前記配置計画情報記憶手段に書込む。
【図面の簡単な説明】
【0025】
【図1】第1の実施形態に係る配置計画生成装置の構成の一例を示す機能ブロック図である。
【図2】物理ノード装置情報記憶部に記憶された情報の一例を示す模式図である。
【図3】処理プログラム情報記憶部に記憶された情報の一例を示す模式図である。
【図4】サービス情報記憶部に記憶された情報の一例を示す模式図である。
【図5】第1の配置計画情報の一例を示す模式図である。
【図6】第2の配置計画情報の一例を示す模式図である。
【図7】同実施形態に係る利用率評価部の動作の一例を示すフローチャートである。
【図8】降順に並び換えられた利用率情報の一例を示す模式図である。
【図9】降順に並び換えられた許容利用率情報の一例を示す模式図である。
【図10】同実施形態に係る可用性評価部の動作の一例を示すフローチャートである。
【図11】第2の実施形態に係る利用率評価部の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、各実施形態について図面を参照して説明する。なお、以下の配置計画生成装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、配置計画生成装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
【0027】
<第1の実施形態>
図1は、第1の実施形態に係る配置計画生成装置の構成の一例を示す機能ブロック図である。
【0028】
配置計画生成装置1は、物理ノード装置情報記憶部10、処理プログラム情報記憶部11、サービス情報記憶部12、配置計画情報記憶部13、情報入力部14及び配置決定部15を備え、配置決定部15は、利用率評価部16及び可用性評価部17を更に備えている。
【0029】
ここで、物理ノード装置情報記憶部10は、サービスを構成する処理を物理ノード装置に実行させる処理プログラムを配置するための物理ノード装置に関する情報を記憶している。
【0030】
詳しくは、物理ノード装置情報記憶部10は、図2に示すように、物理ノード装置を識別する物理ノードID毎に、稼働率情報、リソース量情報及び設計利用率情報を関連付けて記憶している。稼働率情報は、物理ノード装置が稼動している割合を示す稼働率を表している。リソース量情報は、物理ノード装置に設けられたリソースの性能を数値化したリソース量を示しており、本実施形態では中央処理装置(CPU: Central Processing Unit)の個数を示している。なお、同実施形態では、リソース量情報が中央処理装置の個数を示しているとしたが、これに限定されない。例えば、ハードディスク(Hard Disk Drive)の容量及びメモリの容量等が適用可能となっている。また、設計利用率情報は、物理ノード装置の設計時に決められた単位リソース量あたりの利用可能なリソース量を示している。
【0031】
処理プログラム情報記憶部11は、図3に示すように、処理プログラムを識別する処理プログラムID毎に、増加可否情報及び上限値情報を関連付けて記憶している。増加可否情報は、処理プログラムを構成するインスタンスの数(並列数)の増加の可否を示している。なお、同実施形態では、図3に示すように、“0”が“否”を示し、“1”が“可”を示すものとする。また、上限値情報は、処理プログラムを構成するインスタンスの数の上限値を示している。
【0032】
サービス情報記憶部12は、図4に示すように、サービスを識別するサービスID毎に、占有時間情報、実行回数情報及び必要稼働率情報を関連付けて記憶している。占有時間情報は、サービスを構成する処理の処理プログラムを実行した際に、当該処理プログラムを識別する処理プログラムID毎に、当該処理プログラムが単位時間あたりに物理ノード装置内のリソースを占有する時間を示している。実行回数情報は、サービスの単位時間あたりの実行回数を示している。この実行回数情報は、サービスを構成する処理の処理プログラムの単位時間あたりの実行回数と等価な値であるので、当該処理プログラムの単位時間あたりの実行回数を含む概念である。また、必要稼働率情報は、サービスを構成する処理の処理プログラムを実行するために必要となる物理ノード装置の稼働率を示している。
【0033】
配置計画情報記憶部13は、図5及び図6に示すように、利用率評価部16での評価結果を示す第1の配置計画情報と、第1の配置計画情報に可用性評価部17での評価結果を加えた第2の配置計画情報とが書込まれる記憶部である。なお、第1の配置計画情報は配置計画の候補であり、配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定するテーブル情報である。第2の配置計画情報は確定した配置計画であり、配置が確定した処理プログラムIDと当該物理ノードIDとの組合せを指定するテーブル情報である。また、配置計画情報記憶部13は、利用率評価部16及び可用性評価部17における処理の途中経過を示す情報を一時的に記憶することも可能である。
【0034】
情報入力部14は、物理ノード装置情報記憶部10、処理プログラム情報記憶部11及びサービス情報記憶部12に予め記憶する情報の入力を受け付けると、この情報を各記憶部10,11,12に書込む処理を実行する。ここで、受け付ける入力は、図示しないキーボードおよびマウス等の入力装置からの入力と、図示しないユーザ端末等のクライアント装置からの受信とのいずれでもよい。
【0035】
配置決定部15は、利用率評価部16及び可用性評価部17を含み、各記憶部10,11,12に予め記憶された情報に基づいて、利用率評価処理及び可用性評価処理を実行し、第1の配置計画情報及び第2の配置計画情報を生成する処理を実行する。
【0036】
利用率評価部16は、各記憶部10,11,12に予め記憶された情報を用いて、サービスを実現し得る処理プログラムに対して利用率評価処理を実行し、第1の配置計画情報を生成する処理を実行する。例えば、以下の各機能(f16-1)〜(f16-12)をもっている。
【0037】
(f16-1) サービス情報記憶部12内の占有時間情報及び実行回数情報を読み出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、処理プログラムID毎に、単位時間あたりの占有時間情報を示す利用率情報を算出する機能。
【0038】
(f16-2) 物理ノード装置情報記憶部10内のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値及びこの設計利用率情報の値を積算し、物理ノードID毎に、利用可能なリソース量を示す許容利用率情報を算出する機能。
【0039】
(f16-3) 当該算出された利用率情報及び当該算出された許容利用率情報を降順に並び換える機能。
【0040】
(f16-4) 当該並び換えられた利用率情報のうちの先頭の利用率情報の値と、当該並び換えられた許容利用率情報のうちの先頭の許容利用率情報の値とを比較し、当該利用率情報の値が当該許容利用率情報の値を超えたか否かにより、当該利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する配置可否判定機能。
【0041】
(f16-5) この判定結果が配置可能を示すとき、当該配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定する第1の配置計画情報を配置計画情報記憶部13に書込む機能。
【0042】
(f16-6) この判定結果が否を示すとき、当該判定に用いた利用率情報と、当該並び換えられた全ての許容利用率情報とを個別に比較したか否かを判定する比較済判定機能。
【0043】
(f16-7) この比較済判定機能による判定結果が否を示すとき、当該並び換えの後で配置可否判定手段の判定に用いていない許容利用率情報のうち、先頭の許容利用率情報を用いて、配置可否判定機能を再度実行する機能。
【0044】
(f16-8) 当該第1の配置計画情報が配置計画情報記憶部13に書込まれると、当該並び換えの後で配置可否判定手段の判定に用いていない利用率情報のうちの先頭の利用率情報と、当該並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、配置可否判定機能を再度実行する機能。
【0045】
(f16-9) 比較済判定機能による判定結果が比較した旨を示すとき、当該判定に用いた利用率情報に関連付けられた処理プログラムIDに関連付けられた増加可否情報を処理プログラム情報記憶部11から読出し、当該読出された増加可否情報が可を示すとき、この処理プログラムIDの処理プログラムを構成するインスタンスの数を1つだけ増加させる機能。
【0046】
(f16-10) 当該処理プログラムを構成するインスタンスの数が増加されると、当該処理プログラムIDに関連付けられた上限値情報を処理プログラム情報記憶部11から読出し、当該読出された上限値情報の値と、当該処理プログラムを構成するインスタンスの数とを比較することによって、当該インスタンスの数が当該上限値情報の値を超えたか否かを判定する機能。
【0047】
(f16-11) この判定結果が否を示すとき、比較済判定手段による判定に用いた利用率情報の値を当該インスタンスの数で除算することにより、当該処理プログラムを構成するインスタンス毎の利用率情報を算出する機能。
【0048】
(f16-12) 当該算出されたインスタンス毎の利用率情報のいずれかの利用率情報と、当該並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、配置可否判定機能を再度実行する機能。
【0049】
可用性評価部17は、各記憶部10,11,12に予め記憶された情報と、配置計画情報記憶部13に記憶された第1の配置計画情報とに基づいて、サービスを実現し得る処理プログラムに対して可用性評価処理を実行し、第2の配置計画情報を生成する処理を実行する。例えば、以下の各機能(f17-1)〜(f17-5)をもっている。
【0050】
(f17-1) 利用率評価部16により並び換えられた全ての利用率情報に対して配置可否判定機能が実行されると、物理ノード装置情報記憶部10内の稼働率情報及び配置計画情報記憶部13内の第1の配置計画情報に基づいて、処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する機能。
【0051】
(f17-2) サービス情報記憶部12内の占有時間情報及び当該算出された処理プログラム稼働率情報に基づいて、サービスID毎に、サービスの稼働率を示すサービス稼働率情報を算出する機能。
【0052】
(f17-3) サービス情報記憶部12内の必要稼働率情報の値と、当該算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する稼働率判定機能。
【0053】
(f17-4) この判定結果が超えた旨を示すとき、配置計画情報記憶部13内の第1の配置計画情報を確定し、当該確定した第1の配置計画情報からなる第2の配置計画情報を配置計画情報記憶部13に書込む機能。
【0054】
(f17-5) 稼働率判定機能による判定結果が否のとき、当該判定に用いたサービス稼働率情報の算出に用いた処理プログラム稼働率情報のうち、最も低い処理プログラム稼働率情報に関連付けられた処理プログラムIDの増加可否情報を処理プログラム情報記憶部11から読出し、この増加可否情報が可を示すとき、当該処理プログラムを構成するインスタンスの数を1つ増加させる機能。
【0055】
次に、以上のように構成された配置計画生成装置に含まれる利用率評価部の動作について、図7のフローチャートと、図8及び図9の模式図とを参照しながら説明する。但し、各情報記憶部10,11,12には、図2〜図4に示した情報が予め記憶されているものとする。また、利用率評価処理実行開始時において、処理プログラムIDp1〜p5で識別される第1〜第5処理プログラムをそれぞれ構成するインスタンスの数は1つであるものとする。
【0056】
始めに、利用率評価部16は、サービス情報記憶部12内のサービスIDs1に関連付けられた処理プログラムIDp1の占有時間情報及び実行回数情報を読出すと、この占有時間情報の値“1”及びこの実行回数情報の値“0.5”を積算し、処理プログラムIDp1で識別される第1処理プログラムの利用率情報“0.5”を算出する(ステップS1)。
【0057】
なお、ステップS1の処理は、配置計画生成装置1において配置を決定する全ての処理プログラムに対して繰り返し実行される。また、処理プログラムIDp5で識別される第第5処理プログラムのように1つの処理プログラムが複数のサービスに利用される場合には、利用率評価部16は、第5処理プログラムを利用するサービスのサービスID毎に利用率情報を算出し、当該算出された利用率情報の各々を加算することで、処理プログラムp5に関連付けて利用率情報が算出される。すなわち、処理プログラムIDp5で識別される第5処理プログラムの利用率情報は、占有時間情報と実行回数情報との積算値の総和である(1×0.5)+(1×0.2)+(0.3×0.2)+(0.5×0.3)を算出した結果、“0.91”を示す。
【0058】
続いて、利用率評価部16は、物理ノード装置情報記憶部10内の物理ノードIDn1のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値“1.0”及びこの設計利用率情報の値“0.5”を積算し、物理ノードIDn1に関連付けて許容利用率情報“0.5”を算出する(ステップS2)。
【0059】
なお、ステップS2の処理は、処理プログラムを配置するための全ての物理ノード装置に対して繰り返し実行される。
【0060】
次に、利用率評価部16は、図8に示すように、処理プログラムIDp1〜p5に関連付けて算出された利用率情報を降順に並び換え、且つ、図9に示すように、物理ノードIDn1〜n5に関連付けて算出された許容利用率情報を降順に並び換える(ステップS3)。なお、降順に並び換えられた利用率情報及び許容利用率情報は、配置計画情報記憶部13に一時的に記憶され、全ての処理プログラムの配置が確定されると、可用性評価部17により配置計画情報記憶部13から消去される。
【0061】
また、利用率評価部16は、並び換えられた利用率情報のうち、先頭の利用率情報を対象の利用率情報(以下、対象利用率情報ともいう)として読出し、且つ、並び換えられた許容利用率情報のうち、先頭の許容利用率情報を対象の許容利用率情報(以下、対象許容利用率情報ともいう)として読出す(ステップS4)。この場合、対象利用率情報として処理プログラムIDp5に関連付けられた利用率情報が読出され、対象許容利用率情報として物理ノードIDn1に関連付けられた許容利用率情報が配置計画情報記憶部13から読出される。
【0062】
続いて、利用率評価部16は、読出された対象利用率情報の値“0.91”と、読出された対象許容利用率情報の値“0.5”とを比較し、対象利用率情報の値が対象許容利用率情報の値を超えたか否かを判定する(ステップS5)。
【0063】
ステップS5の判定の結果、対象利用率情報の値が対象許容利用率情報の値を超えた旨を示す場合(ステップS5:「超えた」)には、利用率評価部16は、当該対象利用率情報と、ステップS3において並び換えられた許容利用率情報の全てとを比較したか否かを判定する(ステップS6)。この場合、利用率評価部16は、処理プログラムIDp5の利用率情報と、物理ノードIDn2〜n5の許容利用率情報とを比較したか否かを判定する。
【0064】
ステップS6の判定の結果、否を示す場合(ステップS6:「比較していない」)には、利用率評価部16は、対象許容利用率情報として読出されていない許容利用率情報のうち、先頭の許容利用率情報を対象許容利用率情報として読出し、ステップS5の処理へ再度進む(ステップS7)。この場合、利用率評価部16は、対象許容利用率情報として物理ノードIDn2の許容利用率情報を配置計画情報記憶部13から読出す。
【0065】
ステップS6の判定の結果、比較した旨を示す場合(ステップS6:「比較した」)には、利用率評価部16は、当該判定に用いた対象利用率情報に関連付けられた処理プログラムIDp5の増加可否情報を処理プログラム情報記憶部11から読出し、この読出された増加可否情報が“可”を示すとき、この処理プログラムIDp5で識別される第5処理プログラムを構成するインスタンスの数を1つ増加させる(ステップS8)。この場合、利用率評価部16は、処理プログラムIDp5の第5処理プログラムを構成するインスタンスの数を1つから2つに増加させる。
【0066】
続いて、利用率評価部16は、当該対象利用率情報に関連付けられた処理プログラムIDp5の上限値情報を処理プログラム情報記憶部11から読出し、この処理プログラムIDp5の第5処理プログラムを構成するインスタンスの数“2”と、この読出された上限値情報の値“5”とを比較し、当該インスタンスの数が当該上限値情報の値を超えたか否かを判定する(ステップS9)。
【0067】
ステップS9の判定の結果、否を示す場合(ステップS9:「超えない」)には、利用率評価部16は、処理プログラムIDp5の利用率情報“0.91”を処理プログラムp5IDの第5処理プログラムを構成するインスタンスの数“2”で除算し、処理プログラムIDp5の第5処理プログラムにおけるインスタンス毎の利用率情報“0.455”を算出する(ステップS10)。なお、ステップS9の判定の結果、インスタンスの数が上限値情報の値を超えた旨を示す場合(ステップS9:「超えた」)には、当該処理プログラムを物理ノード装置に配置することができないため、配置計画生成装置1での処理を終了する。
【0068】
次に、利用率評価部16は、ステップS10において算出された利用率情報のいずれかを対象利用率情報として読出し、且つ、ステップS3において並び換えられた許容利用率情報のうち、先頭の許容利用率情報を対象許容利用率情報として読出し、ステップS5の処理へ再度進む(ステップS11)。
【0069】
ステップS5の判定の結果、否を示す場合(ステップS5:「超えない」)には、利用率評価部16は、当該対象利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該対象許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置することを決定する(ステップS12)。この場合、処理プログラムIDp5の処理プログラムを構成するインスタンスの一方を物理ノードIDn1の物理ノード装置に配置することが決定される。
【0070】
しかる後、利用率評価部16は、処理プログラムIDp5の処理プログラムを構成する全てのインスタンスの配置を決定したか否かを判定する(ステップS13)。ステップS13の判定の結果、否を示す場合(ステップS13:「決定していない」)には、ステップS11の処理へ再度進む。また、ステップS13の判定の結果、決定した旨を示す場合(ステップS13:「決定した」)には、処理プログラムIDp5に対する利用率評価部16での処理を終了する。
【0071】
なお、ステップS5〜ステップS13の処理は、全ての処理プログラムの配置が決定されるまで繰り返し実行され、全ての処理プログラムの配置が決定されると、図5に示したような第1の配置計画情報が配置計画情報記憶部13に書込まれる。また、ステップS5〜ステップS13の処理が繰り返し実行され、全ての処理プログラムの配置が決定されると、可用性評価部17が引き続き可用性評価処理を実行する。
【0072】
次に、以上のように構成された配置計画生成装置に含まれる可用性評価部の動作について、図10のフローチャートを参照しながら説明する。但し、各情報記憶部10,11,12には、図2〜図4に示した情報が予め記憶されているものとする。また、配置計画情報記憶部13には、図5に示した第1の配置計画情報が予め記憶されているものとする。
【0073】
始めに、可用性評価部17は、配置計画情報記憶部13内の第1の配置計画情報及び物理ノード装置情報記憶部10内の稼働率情報を読み出すと、処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する(ステップS14)。
【0074】
1つの物理ノード装置に配置することが決定された処理プログラムの処理プログラム稼働率情報は、式(1)を用いることにより算出される。なお、処理プログラムIDpnで識別される第n処理プログラムの処理プログラム稼働率情報は“Pn”と示し、物理ノードIDnmで識別される第m物理ノード装置の稼働率情報は“Nm”と示すものとする。ここで、配置される第n処理プログラムの処理プログラム稼働率情報Pnは、式(1)に示すように、配置先の第m物理ノード装置の稼働率情報Nmに等しい。
【0075】
Pn=Nm …(1)
また、物理ノード装置といった複数の第m及び第m´物理ノード装置に配置される第n処理プログラムの処理プログラム稼働率情報Pnは、式(2)に示すように算出される。
【0076】
Pn=1−{(1−Nm)×(1−Nm´)} …(2)
例えば、物理ノードIDn3の第3物理ノード装置に配置される処理プログラムIDp1の第1処理プログラムの処理プログラム稼働率情報P1は、式(1)に示すように、第3物理ノード装置の稼働率情報N3と等しい値“0.995”を示す。
【0077】
同様に、第4物理ノード装置に配置される第2処理プログラムの処理プログラム稼働率情報P2は、第4物理ノード装置の稼働率情報N4と等しい値“0.995”を示す。
【0078】
また、複数の物理ノードIDn1,n2の第1及び第2物理ノード装置に配置される第5処理プログラムの処理プログラム稼働率情報P5は、式(2)に示すように、P5=1−{(1−N1)×(1−N2)}を示す。このため、第5処理プログラムの処理プログラム稼働率情報P5は、1−{(1−0.99)×(1−0.995)}となり、“0.99995”を示す。
【0079】
続いて、可用性評価部17は、サービス情報記憶部12内の占有時間情報と、処理プログラムID毎に算出された処理プログラム稼働率情報とに基づいて、サービスID毎に、サービス稼働率情報を算出する(ステップS15)。なお、ここでは、占有時間情報はサービスIDに関連する処理プログラムIDを示すために用いられている。
【0080】
1つの第n処理プログラムにより実現し得るサービスのサービス稼働率情報SLは、式(3)に示すように、処理プログラムIDpnの処理プログラム稼働率情報Pnから算出される。
【0081】
SL=Pn …(3)
また、複数の第n及び第n´処理プログラムにより実現し得るサービスのサービス稼働率情報SLは、式(4)に示すように、処理プログラムIDpn,pn´の処理プログラム稼働率情報Pn,Pn´から算出される。
【0082】
SL=Pn×Pn´ …(4)
例えば、第1及び第5処理プログラムにより実現し得るサービスs1のサービス稼働率情報S1は、式(4)に示すように、S1=P1×P5を示す。このため、サービスIDs1で識別される第1サービスのサービス稼働率情報S1は、0.995×0.99995となり、“0.99495025”を示す。
【0083】
同様に、第2及び第5処理プログラムにより実現し得る第2サービスのサービス稼働率情報S2は、S2=P2×P5を示すため、0.995×0.99995となり、“0.99495025”を示す。
【0084】
次に、可用性評価部17は、当該算出されたサービス稼働率情報と、サービス情報記憶部12内の必要稼働率情報とを比較することによって、サービス稼働率情報の値が必要稼働率情報の値を超えたか否かを判定する(ステップS16)。
【0085】
例えば、可用性評価部17は、算出されたサービス稼働率S1“0.99495025”と、サービス情報記憶部12内のサービスIDs1の必要稼働率“0.95”とを比較し、サービス稼働率S1がサービスIDs1の必要稼働率を超えたと判定する。
【0086】
同様に、可用性評価部17は、算出されたサービス稼働率S2“0.99495025”と、サービス情報記憶部12内のサービスIDs2の必要稼働率“0.995”とを比較し、サービス稼働率S2が、サービスs2の必要稼働率を超えないと判定する。
【0087】
ステップS16の判定の結果、否を示す場合(ステップS16:「超えない」)には、可用性評価部17は、当該サービス稼働率情報S2の算出に用いた処理プログラム稼働率情報P2,P5のうち、最も低い処理プログラム稼働率情報P2に関連付けられた処理プログラムIDp2を選択し、選択された処理プログラムIDp2の増加可否情報を処理プログラム情報記憶部11から読出し、この読出された増加可否情報が“可”を示すとき、当該処理プログラムIDp2の第2処理プログラムを構成するインスタンスの数を1つ増加させる(ステップS17)。
【0088】
なお、ステップS17の処理の後、上述したステップS9の処理へ再度進み、ステップS17において増加されたインスタンスを物理ノードIDn5の第5物理ノード装置へ配置することを決定する。このように、ステップS17において増加されたインスタンスの配置を決定するとき、同一の処理プログラムのインスタンスが既に配置されている物理ノード装置は、可用性の観点から、ステップS17において増加されたインスタンスを配置する物理ノード装置の候補としない。
【0089】
また、ステップS17において増加されたインスタンスの配置が決定されると、ステップS14へ再度進み、可用性評価部17が、処理プログラムIDp2の第2処理プログラムを構成する各インスタンスに対して、可用性評価処理を再度実行する。
【0090】
ステップS16の判定の結果、サービス稼働率情報の値が必要稼働率情報の値を超えた旨を示す場合(ステップS16:「超えた」)には、可用性評価部17は、残りのサービスIDについてもステップS14以降の処理を繰り返し実行する。
【0091】
しかる後、可用性評価部17は、全てのサービスIDについてもステップS16の判定結果が当該超えた旨を示すとき、配置計画情報記憶部13内の第1の配置計画情報を確定し(ステップS18)、当該確定した第1の配置計画情報からなる第2の配置計画情報を配置計画情報記憶部13に書込む。
【0092】
上述したように第1の実施形態によれば、許容利用率情報を用いた配置可否判定機能と、必要稼働率情報を用いた稼働率判定機能とを備えた構成により、処理プログラムの利用率情報が物理ノード装置の許容利用率を超えない範囲で、サービス稼働率情報が物理ノード装置の必要稼働率情報を超えるように、物理ノード装置への処理プログラムの配置を示す配置計画情報を作成することができる。
【0093】
なお、本実施形態では、利用率評価部16による利用率評価処理において、利用率情報及び許容利用率情報を算出すると、これらの情報を降順に並び換える処理を実行するが、この降順に並び換える処理は、処理プログラムの配置を決定するたび、及び/または、処理プログラムを構成するインスタンスの数を増やすたびに実行されてもよい。これにより、降順に並び換えられた利用率情報の先頭と、降順に並び換えられた許容利用率情報の先頭とは、常に各情報のうちで最大の値を示す情報となるため、各情報の先頭同士のみを比較することで、先頭の利用率情報に関連付けられた処理プログラムを先頭の許容利用率情報に関連付けられた物理ノード装置に配置可能であるか否かを判定することが可能となる。これにより、図7のフローチャートに示したステップS6,ステップS7の処理を省略することが可能となる。
【0094】
<第2の実施形態>
次に、第2の実施形態について図1等を参照しながら説明する。
【0095】
第2の実施形態は、第1の実施形態の利用率評価部16の変形例であり、識別番号を用いて利用率評価処理を実行するものである。
【0096】
前述した第1の実施形態では、利用率評価部16による利用率評価処理を実行する際に、降順に並び換えられた情報の先頭を基準として利用率評価処理を実行したが、例えば、降順に並び換えられた情報に順番を識別するための識別番号を付与して利用率評価処理を実行してもよい。そこで、第2の実施形態では、識別番号を付与する利用率評価処理について、図11のフローチャートを参照しながら説明する。
【0097】
始めに、利用率評価部16は、サービス情報記憶部12内の占有時間情報及び実行回数情報を読出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、処理プログラムID毎に、利用率情報を算出する(ステップS21)。
【0098】
続いて、利用率評価部16は、物理ノード装置情報記憶部10内のリソース情報及び設計利用率情報を読出すと、このリソース情報の値及びこの設計利用率情報の値を積算し、物理ノードID毎に、許容利用率情報を算出する(ステップS22)。
【0099】
次に、利用率評価部16は、算出された利用率情報及び算出された許容利用率情報を各々降順に並び換える(ステップS23)。
【0100】
また、利用率評価部16は、当該並び換えられた利用率情報の先頭から順に、順番を識別するための識別番号1,2,…,x,…を付与する。同様に、利用率評価部16は、当該並び換えられた許容利用率情報の先頭から順に、順番を識別するための識別番号1,2,…,y,…を付与する(ステップS24)。なお、同実施形態では、識別番号xを付与された利用率情報を“利用率情報ax”と称し、識別番号yを付与された許容利用率情報を“許容利用率情報by”と称す。
【0101】
続いて、利用率評価部16は、利用率情報axを対象利用率情報として読出し、許容利用率情報byを対象許容利用率情報として読出し、読出された対象利用率情報ax及び読出された対象許容利用率情報byの識別番号x,yをそれぞれ識別番号1に設定する(ステップS25)。
【0102】
次に、利用率評価部16は、対象利用率情報ax及び対象許容利用率情報byを比較することによって、対象利用率情報axの値が対象許容利用率情報byの値を超えたか否かを判定する(ステップS26)。
【0103】
ステップS26の判定の結果、超えた旨を示す場合(ステップS26:「超えた」)には、利用率評価部16は、対象許容利用率情報の識別番号yを識別番号y+1に再設定する(ステップS27)。例えば、対象利用率情報a1の値が対象許容利用率情報b1の値を超えた旨を示す場合には、利用率評価部16は、対象許容利用率情報の識別番号1を識別番号2に再設定する。
【0104】
続いて、利用率評価部16は、当該再設定された識別番号y+1が物理ノード装置の数を超えたか否かを判定する(ステップS28)。なお、ステップS28の判定の結果、否を示す場合(ステップS28:「超えない」)には、ステップS26の処理へ再度進む。
【0105】
ステップS28の判定の結果、超えた旨を示す場合(ステップS28:「超えた」)には、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムの増加可否情報を処理プログラム情報記憶部11から読出し、この読出された増加可否情報が“可”を示すとき、対象利用率情報axに関連付けられた処理プログラムを構成するインスタンスの数を1つ増加させる(ステップS29)。なお、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムを構成するインスタンスの数が1つ増加されると、対象許容利用率情報の識別番号y+1を識別番号1に再設定する。
【0106】
次に、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムの上限値情報を処理プログラム情報記憶部11から読出し、対象利用率情報axを構成するインスタンスの数が当該読出された上限値情報の値を超えたか否かを判定する(ステップS30)。なお、ステップS30の判定の結果、超えた旨を示す場合(ステップS30:「超えた」)には、当該処理プログラムを物理ノード装置に配置することができないため、配置計画生成装置1での処理を終了する。
【0107】
ステップS30の判定の結果、否を示す場合(ステップS30:「超えない」)には、利用率評価部16は、この処理プログラムを構成するインスタンス毎の利用率情報を算出し、当該算出された利用率情報に新たな識別番号x1,x2,…,xi,…を付与する(ステップS31)。また、新たな識別番号が付与されると、利用率評価部16は、対象利用率情報の識別番号xを識別番号x1に再設定し、ステップS26の処理へ再度進む。なお、新たに付与された識別番号xiは、利用率情報axに関連付けられた処理プログラムを構成するi番目のインスタンスに関する利用率情報であることを示しており、“利用率情報axi”と称す。
【0108】
ステップS26の判定の結果、否を示す場合(ステップS26:「超えない」)には、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムを対象許容利用率情報byに関連付けられた物理ノード装置に配置することを決定する(ステップS32)。なお、ステップS32は、“ステップS26の判定の結果、否を示す場合(ステップS26:「超えない」)には、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムのi番目のインスタンスを対象許容利用率情報byに関連付けられた物理ノード装置に配置することを決定する(ステップS32´)”と読み替えてもよい。
【0109】
続いて、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムを構成する全てのインスタンスの配置を決定したか否かを判定する(ステップS33)。
【0110】
ステップS33の判定の結果、否を示す場合(ステップS33:「決定していない」)には、利用率評価部16は、対象利用率情報の識別番号xiを識別番号x(i+1)に再設定し、対象許容利用率情報の識別番号yを識別番号1に再設定し、ステップS26の処理へ再度進む(ステップS34)。
【0111】
ステップS33の判定の結果、決定した旨を示す場合(ステップS33:「決定した」)には、利用率評価部16は、全ての処理プログラムの配置が決定されたか否かを判定する(ステップS35)。なお、ステップS35の判定の結果、全ての処理プログラムの配置を決定した旨を示す場合(ステップS35:「決定した」)には、利用率評価部16での処理を終了する。
【0112】
ステップS35の判定の結果、否を示す場合(ステップS35:「決定していない」)には、利用率評価部16は、対象利用率情報の識別番号xを識別番号x+1に再設定し、対象許容利用率情報の識別番号yを識別番号1に再設定し、ステップS26の処理へ再度進む(ステップS36)。なお、ステップS36は、“ステップS35の判定の結果、否を示す場合(ステップS35:「決定していない」)には、利用率評価部16は、対象利用率情報の識別番号xiを識別番号x+1に再設定し、対象許容利用率情報の識別番号yを識別番号1に再設定し、ステップS26の処理へ再度進む”と読み替えてもよい。
【0113】
なお、全ての処理プログラムの配置が決定されると、図5に示したような第1の配置計画情報が配置計画情報記憶部13に書込まれる。
【0114】
上述したように第2の実施形態によれば、識別番号を付与して利用率評価処理を実行する構成としても、第1の実施形態と同様に、性能観点(リソース利用率)に基づいた処理プログラムの配置を検討しつつ、処理プログラムの配置を検討する作業を自動化することができるため、人間系による検討の負荷を軽減することができる。
【0115】
また、以上説明した少なくとも一つの実施形態によれば、許容利用率情報を用いた配置可否判定機能と、必要稼働率情報を用いた稼働率判定機能とを備えた構成により、リソース利用率(性能観点)及び可用性といった複数の観点から処理プログラムの配置を検討でき、人間系による検討の負荷を軽減することができる。
【0116】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0117】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0118】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0119】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0120】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0121】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0122】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0123】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0124】
1…配置計画生成装置、10…物理ノード装置情報記憶部、11…処理プログラム情報記憶部、12…サービス情報記憶部、13…配置計画情報記憶部、14…情報入力部、15…配置決定部、16…利用率評価部、17…可用性評価部。
【技術分野】
【0001】
本発明の実施形態は、配置計画生成装置及びプログラムに関する。
【背景技術】
【0002】
一般に、Web(World Wide Web)アプリケーションでは、1つのサービスを構成する複数の処理の処理プログラムがアプリケーションサーバ装置及びデータベースサーバ装置などの複数の物理ノード装置に配置されている。この種のWebアプリケーションを用いたシステムとしては、例えば、サービス毎に設けた専用の複数の物理ノード装置に処理プログラムを配置して運用を管理するサイロ型システムが知られている。
【0003】
しかしながら、サイロ型システムは、専用の物理ノード装置におけるリソース利用率が低いという不都合がある。
【0004】
このため近年では、1つの物理ノード装置に複数の仮想マシンを設ける仮想化技術を用い、サービス間で物理ノード装置を共有することにより、物理ノード装置におけるリソース利用率の向上を図っている。現在、このような仮想化技術を用いる場合、処理プログラムの配置は、人間系での検討により、負荷を平準化するように実行されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−217434号公報
【特許文献2】特許第3861087号公報
【非特許文献】
【0006】
【非特許文献1】中山秀夫、「サーバー仮想化 現場の運用法」、日経SYSTEMS 6月号、日経BP社、2009年5月26日発行、第194号、p.62-67
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、以上のような人間系による配置方法では、通常は特に問題ないが、本発明者の考察によれば、処理プログラムを再配置する頻度に応じて、人間系による検討の負荷が高くなる不都合がある。また、本発明者の考察によれば、リソース利用率の観点(性能の観点)及び可用性(稼働率)の観点といった複数の観点から処理プログラムの配置を検討することが困難であるといった不都合もある。
【0008】
本発明が解決しようとする課題は、リソース利用率及び可用性といった複数の観点から処理プログラムの配置を検討でき、人間系による検討の負荷を軽減し得る配置計画生成装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0009】
実施形態の配置計画生成装置は、サービスを構成する処理を物理ノード装置に実行させる処理プログラムを前記物理ノード装置に配置するための配置計画を生成する。
【0010】
前記配置計画生成装置においては、物理ノード装置情報記憶手段が、前記物理ノード装置を識別する物理ノードID毎に、当該物理ノード装置の稼働率を示す稼働率情報と、当該物理ノード装置のリソース量を示すリソース量情報と、当該物理ノード装置の設計時に決められた単位リソース量あたりの利用可能なリソース量を示す設計利用率情報とを関連付けて記憶する。
【0011】
前記配置計画生成装置においては、サービス情報記憶手段が、前記サービスを識別するサービスID毎に、当該サービスを構成する処理の処理プログラムが単位時間あたりに前記リソースを占有する時間を当該処理プログラムを識別する処理プログラムID毎に示す占有時間情報と、前記サービスの単位時間あたりの実行回数を示す実行回数情報と、前記サービスを構成する処理の処理プログラムの実行に必要となる物理ノード装置の稼働率を示す必要稼働率情報とを関連付けて記憶する。
【0012】
前記配置計画生成装置においては、配置計画情報記憶手段が、前記配置計画の候補である第1の配置計画情報及び前記配置計画である第2の配置計画情報が書込可能なものである。
【0013】
前記配置計画生成装置においては、前記サービス情報記憶手段内の占有時間情報及び実行回数情報を読み出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、前記処理プログラムID毎に、単位時間あたりの占有時間情報を示す利用率情報を算出する。
【0014】
前記配置計画生成装置においては、前記物理ノード装置情報記憶手段内のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値及びこの設計利用率情報の値を積算し、前記物理ノードID毎に、利用可能なリソース量を示す許容利用率情報を算出する。
【0015】
前記配置計画生成装置においては、前記算出された利用率情報及び前記算出された許容利用率情報を降順に並び換える。
【0016】
前記配置計画生成装置においては、配置可否判定手段が、前記並び換えられた利用率情報のうちの先頭の利用率情報の値と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報の値とを比較し、当該利用率情報の値が当該許容利用率情報の値を超えたか否かにより、当該利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する。
【0017】
前記配置計画生成装置においては、この判定結果が配置可能を示すとき、当該配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定する前記第1の配置計画情報を前記配置計画情報記憶手段に書込む。
【0018】
前記配置計画生成装置においては、比較済判定手段が、前記判定結果が否を示すとき、当該判定に用いた利用率情報と、前記並び換えられた全ての許容利用率情報とを個別に比較したか否かを判定する。
【0019】
前記配置計画生成装置においては、前記比較済判定手段による判定結果が否を示すとき、前記並び換えの後で前記配置可否判定手段の判定に用いていない許容利用率情報のうち、先頭の許容利用率情報を用いて前記配置可否判定手段を再度実行する。
【0020】
前記配置計画生成装置においては、前記第1の配置計画情報が前記配置計画情報記憶手段に書込まれると、前記並び換えの後で前記配置可否判定手段の判定に用いていない利用率情報のうちの先頭の利用率情報と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、前記配置可否判定手段を再度実行する。
【0021】
前記配置計画生成装置においては、前記並び換えられた全ての利用率情報に対して前記配置可否判定手段が実行されると、前記物理ノード装置情報記憶手段内の稼働率情報及び前記配置計画情報記憶手段内の第1の配置計画情報に基づいて、前記処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する。
【0022】
前記配置計画生成装置においては、前記サービス情報記憶手段内の占有時間情報及び前記算出された処理プログラム稼働率情報に基づいて、前記サービスID毎に、サービスの稼働率を示すサービス稼働率情報を算出する。
【0023】
前記配置計画生成装置においては、稼働率判定手段が、前記サービス情報記憶手段内の必要稼働率情報の値と、前記算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する。
【0024】
前記配置計画生成装置においては、この判定結果が前記超えた旨を示すとき、前記配置計画情報記憶手段内の第1の配置計画情報を確定し、当該確定した第1の配置計画情報からなる前記第2の配置計画情報を前記配置計画情報記憶手段に書込む。
【図面の簡単な説明】
【0025】
【図1】第1の実施形態に係る配置計画生成装置の構成の一例を示す機能ブロック図である。
【図2】物理ノード装置情報記憶部に記憶された情報の一例を示す模式図である。
【図3】処理プログラム情報記憶部に記憶された情報の一例を示す模式図である。
【図4】サービス情報記憶部に記憶された情報の一例を示す模式図である。
【図5】第1の配置計画情報の一例を示す模式図である。
【図6】第2の配置計画情報の一例を示す模式図である。
【図7】同実施形態に係る利用率評価部の動作の一例を示すフローチャートである。
【図8】降順に並び換えられた利用率情報の一例を示す模式図である。
【図9】降順に並び換えられた許容利用率情報の一例を示す模式図である。
【図10】同実施形態に係る可用性評価部の動作の一例を示すフローチャートである。
【図11】第2の実施形態に係る利用率評価部の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、各実施形態について図面を参照して説明する。なお、以下の配置計画生成装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、配置計画生成装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
【0027】
<第1の実施形態>
図1は、第1の実施形態に係る配置計画生成装置の構成の一例を示す機能ブロック図である。
【0028】
配置計画生成装置1は、物理ノード装置情報記憶部10、処理プログラム情報記憶部11、サービス情報記憶部12、配置計画情報記憶部13、情報入力部14及び配置決定部15を備え、配置決定部15は、利用率評価部16及び可用性評価部17を更に備えている。
【0029】
ここで、物理ノード装置情報記憶部10は、サービスを構成する処理を物理ノード装置に実行させる処理プログラムを配置するための物理ノード装置に関する情報を記憶している。
【0030】
詳しくは、物理ノード装置情報記憶部10は、図2に示すように、物理ノード装置を識別する物理ノードID毎に、稼働率情報、リソース量情報及び設計利用率情報を関連付けて記憶している。稼働率情報は、物理ノード装置が稼動している割合を示す稼働率を表している。リソース量情報は、物理ノード装置に設けられたリソースの性能を数値化したリソース量を示しており、本実施形態では中央処理装置(CPU: Central Processing Unit)の個数を示している。なお、同実施形態では、リソース量情報が中央処理装置の個数を示しているとしたが、これに限定されない。例えば、ハードディスク(Hard Disk Drive)の容量及びメモリの容量等が適用可能となっている。また、設計利用率情報は、物理ノード装置の設計時に決められた単位リソース量あたりの利用可能なリソース量を示している。
【0031】
処理プログラム情報記憶部11は、図3に示すように、処理プログラムを識別する処理プログラムID毎に、増加可否情報及び上限値情報を関連付けて記憶している。増加可否情報は、処理プログラムを構成するインスタンスの数(並列数)の増加の可否を示している。なお、同実施形態では、図3に示すように、“0”が“否”を示し、“1”が“可”を示すものとする。また、上限値情報は、処理プログラムを構成するインスタンスの数の上限値を示している。
【0032】
サービス情報記憶部12は、図4に示すように、サービスを識別するサービスID毎に、占有時間情報、実行回数情報及び必要稼働率情報を関連付けて記憶している。占有時間情報は、サービスを構成する処理の処理プログラムを実行した際に、当該処理プログラムを識別する処理プログラムID毎に、当該処理プログラムが単位時間あたりに物理ノード装置内のリソースを占有する時間を示している。実行回数情報は、サービスの単位時間あたりの実行回数を示している。この実行回数情報は、サービスを構成する処理の処理プログラムの単位時間あたりの実行回数と等価な値であるので、当該処理プログラムの単位時間あたりの実行回数を含む概念である。また、必要稼働率情報は、サービスを構成する処理の処理プログラムを実行するために必要となる物理ノード装置の稼働率を示している。
【0033】
配置計画情報記憶部13は、図5及び図6に示すように、利用率評価部16での評価結果を示す第1の配置計画情報と、第1の配置計画情報に可用性評価部17での評価結果を加えた第2の配置計画情報とが書込まれる記憶部である。なお、第1の配置計画情報は配置計画の候補であり、配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定するテーブル情報である。第2の配置計画情報は確定した配置計画であり、配置が確定した処理プログラムIDと当該物理ノードIDとの組合せを指定するテーブル情報である。また、配置計画情報記憶部13は、利用率評価部16及び可用性評価部17における処理の途中経過を示す情報を一時的に記憶することも可能である。
【0034】
情報入力部14は、物理ノード装置情報記憶部10、処理プログラム情報記憶部11及びサービス情報記憶部12に予め記憶する情報の入力を受け付けると、この情報を各記憶部10,11,12に書込む処理を実行する。ここで、受け付ける入力は、図示しないキーボードおよびマウス等の入力装置からの入力と、図示しないユーザ端末等のクライアント装置からの受信とのいずれでもよい。
【0035】
配置決定部15は、利用率評価部16及び可用性評価部17を含み、各記憶部10,11,12に予め記憶された情報に基づいて、利用率評価処理及び可用性評価処理を実行し、第1の配置計画情報及び第2の配置計画情報を生成する処理を実行する。
【0036】
利用率評価部16は、各記憶部10,11,12に予め記憶された情報を用いて、サービスを実現し得る処理プログラムに対して利用率評価処理を実行し、第1の配置計画情報を生成する処理を実行する。例えば、以下の各機能(f16-1)〜(f16-12)をもっている。
【0037】
(f16-1) サービス情報記憶部12内の占有時間情報及び実行回数情報を読み出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、処理プログラムID毎に、単位時間あたりの占有時間情報を示す利用率情報を算出する機能。
【0038】
(f16-2) 物理ノード装置情報記憶部10内のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値及びこの設計利用率情報の値を積算し、物理ノードID毎に、利用可能なリソース量を示す許容利用率情報を算出する機能。
【0039】
(f16-3) 当該算出された利用率情報及び当該算出された許容利用率情報を降順に並び換える機能。
【0040】
(f16-4) 当該並び換えられた利用率情報のうちの先頭の利用率情報の値と、当該並び換えられた許容利用率情報のうちの先頭の許容利用率情報の値とを比較し、当該利用率情報の値が当該許容利用率情報の値を超えたか否かにより、当該利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する配置可否判定機能。
【0041】
(f16-5) この判定結果が配置可能を示すとき、当該配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定する第1の配置計画情報を配置計画情報記憶部13に書込む機能。
【0042】
(f16-6) この判定結果が否を示すとき、当該判定に用いた利用率情報と、当該並び換えられた全ての許容利用率情報とを個別に比較したか否かを判定する比較済判定機能。
【0043】
(f16-7) この比較済判定機能による判定結果が否を示すとき、当該並び換えの後で配置可否判定手段の判定に用いていない許容利用率情報のうち、先頭の許容利用率情報を用いて、配置可否判定機能を再度実行する機能。
【0044】
(f16-8) 当該第1の配置計画情報が配置計画情報記憶部13に書込まれると、当該並び換えの後で配置可否判定手段の判定に用いていない利用率情報のうちの先頭の利用率情報と、当該並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、配置可否判定機能を再度実行する機能。
【0045】
(f16-9) 比較済判定機能による判定結果が比較した旨を示すとき、当該判定に用いた利用率情報に関連付けられた処理プログラムIDに関連付けられた増加可否情報を処理プログラム情報記憶部11から読出し、当該読出された増加可否情報が可を示すとき、この処理プログラムIDの処理プログラムを構成するインスタンスの数を1つだけ増加させる機能。
【0046】
(f16-10) 当該処理プログラムを構成するインスタンスの数が増加されると、当該処理プログラムIDに関連付けられた上限値情報を処理プログラム情報記憶部11から読出し、当該読出された上限値情報の値と、当該処理プログラムを構成するインスタンスの数とを比較することによって、当該インスタンスの数が当該上限値情報の値を超えたか否かを判定する機能。
【0047】
(f16-11) この判定結果が否を示すとき、比較済判定手段による判定に用いた利用率情報の値を当該インスタンスの数で除算することにより、当該処理プログラムを構成するインスタンス毎の利用率情報を算出する機能。
【0048】
(f16-12) 当該算出されたインスタンス毎の利用率情報のいずれかの利用率情報と、当該並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、配置可否判定機能を再度実行する機能。
【0049】
可用性評価部17は、各記憶部10,11,12に予め記憶された情報と、配置計画情報記憶部13に記憶された第1の配置計画情報とに基づいて、サービスを実現し得る処理プログラムに対して可用性評価処理を実行し、第2の配置計画情報を生成する処理を実行する。例えば、以下の各機能(f17-1)〜(f17-5)をもっている。
【0050】
(f17-1) 利用率評価部16により並び換えられた全ての利用率情報に対して配置可否判定機能が実行されると、物理ノード装置情報記憶部10内の稼働率情報及び配置計画情報記憶部13内の第1の配置計画情報に基づいて、処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する機能。
【0051】
(f17-2) サービス情報記憶部12内の占有時間情報及び当該算出された処理プログラム稼働率情報に基づいて、サービスID毎に、サービスの稼働率を示すサービス稼働率情報を算出する機能。
【0052】
(f17-3) サービス情報記憶部12内の必要稼働率情報の値と、当該算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する稼働率判定機能。
【0053】
(f17-4) この判定結果が超えた旨を示すとき、配置計画情報記憶部13内の第1の配置計画情報を確定し、当該確定した第1の配置計画情報からなる第2の配置計画情報を配置計画情報記憶部13に書込む機能。
【0054】
(f17-5) 稼働率判定機能による判定結果が否のとき、当該判定に用いたサービス稼働率情報の算出に用いた処理プログラム稼働率情報のうち、最も低い処理プログラム稼働率情報に関連付けられた処理プログラムIDの増加可否情報を処理プログラム情報記憶部11から読出し、この増加可否情報が可を示すとき、当該処理プログラムを構成するインスタンスの数を1つ増加させる機能。
【0055】
次に、以上のように構成された配置計画生成装置に含まれる利用率評価部の動作について、図7のフローチャートと、図8及び図9の模式図とを参照しながら説明する。但し、各情報記憶部10,11,12には、図2〜図4に示した情報が予め記憶されているものとする。また、利用率評価処理実行開始時において、処理プログラムIDp1〜p5で識別される第1〜第5処理プログラムをそれぞれ構成するインスタンスの数は1つであるものとする。
【0056】
始めに、利用率評価部16は、サービス情報記憶部12内のサービスIDs1に関連付けられた処理プログラムIDp1の占有時間情報及び実行回数情報を読出すと、この占有時間情報の値“1”及びこの実行回数情報の値“0.5”を積算し、処理プログラムIDp1で識別される第1処理プログラムの利用率情報“0.5”を算出する(ステップS1)。
【0057】
なお、ステップS1の処理は、配置計画生成装置1において配置を決定する全ての処理プログラムに対して繰り返し実行される。また、処理プログラムIDp5で識別される第第5処理プログラムのように1つの処理プログラムが複数のサービスに利用される場合には、利用率評価部16は、第5処理プログラムを利用するサービスのサービスID毎に利用率情報を算出し、当該算出された利用率情報の各々を加算することで、処理プログラムp5に関連付けて利用率情報が算出される。すなわち、処理プログラムIDp5で識別される第5処理プログラムの利用率情報は、占有時間情報と実行回数情報との積算値の総和である(1×0.5)+(1×0.2)+(0.3×0.2)+(0.5×0.3)を算出した結果、“0.91”を示す。
【0058】
続いて、利用率評価部16は、物理ノード装置情報記憶部10内の物理ノードIDn1のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値“1.0”及びこの設計利用率情報の値“0.5”を積算し、物理ノードIDn1に関連付けて許容利用率情報“0.5”を算出する(ステップS2)。
【0059】
なお、ステップS2の処理は、処理プログラムを配置するための全ての物理ノード装置に対して繰り返し実行される。
【0060】
次に、利用率評価部16は、図8に示すように、処理プログラムIDp1〜p5に関連付けて算出された利用率情報を降順に並び換え、且つ、図9に示すように、物理ノードIDn1〜n5に関連付けて算出された許容利用率情報を降順に並び換える(ステップS3)。なお、降順に並び換えられた利用率情報及び許容利用率情報は、配置計画情報記憶部13に一時的に記憶され、全ての処理プログラムの配置が確定されると、可用性評価部17により配置計画情報記憶部13から消去される。
【0061】
また、利用率評価部16は、並び換えられた利用率情報のうち、先頭の利用率情報を対象の利用率情報(以下、対象利用率情報ともいう)として読出し、且つ、並び換えられた許容利用率情報のうち、先頭の許容利用率情報を対象の許容利用率情報(以下、対象許容利用率情報ともいう)として読出す(ステップS4)。この場合、対象利用率情報として処理プログラムIDp5に関連付けられた利用率情報が読出され、対象許容利用率情報として物理ノードIDn1に関連付けられた許容利用率情報が配置計画情報記憶部13から読出される。
【0062】
続いて、利用率評価部16は、読出された対象利用率情報の値“0.91”と、読出された対象許容利用率情報の値“0.5”とを比較し、対象利用率情報の値が対象許容利用率情報の値を超えたか否かを判定する(ステップS5)。
【0063】
ステップS5の判定の結果、対象利用率情報の値が対象許容利用率情報の値を超えた旨を示す場合(ステップS5:「超えた」)には、利用率評価部16は、当該対象利用率情報と、ステップS3において並び換えられた許容利用率情報の全てとを比較したか否かを判定する(ステップS6)。この場合、利用率評価部16は、処理プログラムIDp5の利用率情報と、物理ノードIDn2〜n5の許容利用率情報とを比較したか否かを判定する。
【0064】
ステップS6の判定の結果、否を示す場合(ステップS6:「比較していない」)には、利用率評価部16は、対象許容利用率情報として読出されていない許容利用率情報のうち、先頭の許容利用率情報を対象許容利用率情報として読出し、ステップS5の処理へ再度進む(ステップS7)。この場合、利用率評価部16は、対象許容利用率情報として物理ノードIDn2の許容利用率情報を配置計画情報記憶部13から読出す。
【0065】
ステップS6の判定の結果、比較した旨を示す場合(ステップS6:「比較した」)には、利用率評価部16は、当該判定に用いた対象利用率情報に関連付けられた処理プログラムIDp5の増加可否情報を処理プログラム情報記憶部11から読出し、この読出された増加可否情報が“可”を示すとき、この処理プログラムIDp5で識別される第5処理プログラムを構成するインスタンスの数を1つ増加させる(ステップS8)。この場合、利用率評価部16は、処理プログラムIDp5の第5処理プログラムを構成するインスタンスの数を1つから2つに増加させる。
【0066】
続いて、利用率評価部16は、当該対象利用率情報に関連付けられた処理プログラムIDp5の上限値情報を処理プログラム情報記憶部11から読出し、この処理プログラムIDp5の第5処理プログラムを構成するインスタンスの数“2”と、この読出された上限値情報の値“5”とを比較し、当該インスタンスの数が当該上限値情報の値を超えたか否かを判定する(ステップS9)。
【0067】
ステップS9の判定の結果、否を示す場合(ステップS9:「超えない」)には、利用率評価部16は、処理プログラムIDp5の利用率情報“0.91”を処理プログラムp5IDの第5処理プログラムを構成するインスタンスの数“2”で除算し、処理プログラムIDp5の第5処理プログラムにおけるインスタンス毎の利用率情報“0.455”を算出する(ステップS10)。なお、ステップS9の判定の結果、インスタンスの数が上限値情報の値を超えた旨を示す場合(ステップS9:「超えた」)には、当該処理プログラムを物理ノード装置に配置することができないため、配置計画生成装置1での処理を終了する。
【0068】
次に、利用率評価部16は、ステップS10において算出された利用率情報のいずれかを対象利用率情報として読出し、且つ、ステップS3において並び換えられた許容利用率情報のうち、先頭の許容利用率情報を対象許容利用率情報として読出し、ステップS5の処理へ再度進む(ステップS11)。
【0069】
ステップS5の判定の結果、否を示す場合(ステップS5:「超えない」)には、利用率評価部16は、当該対象利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該対象許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置することを決定する(ステップS12)。この場合、処理プログラムIDp5の処理プログラムを構成するインスタンスの一方を物理ノードIDn1の物理ノード装置に配置することが決定される。
【0070】
しかる後、利用率評価部16は、処理プログラムIDp5の処理プログラムを構成する全てのインスタンスの配置を決定したか否かを判定する(ステップS13)。ステップS13の判定の結果、否を示す場合(ステップS13:「決定していない」)には、ステップS11の処理へ再度進む。また、ステップS13の判定の結果、決定した旨を示す場合(ステップS13:「決定した」)には、処理プログラムIDp5に対する利用率評価部16での処理を終了する。
【0071】
なお、ステップS5〜ステップS13の処理は、全ての処理プログラムの配置が決定されるまで繰り返し実行され、全ての処理プログラムの配置が決定されると、図5に示したような第1の配置計画情報が配置計画情報記憶部13に書込まれる。また、ステップS5〜ステップS13の処理が繰り返し実行され、全ての処理プログラムの配置が決定されると、可用性評価部17が引き続き可用性評価処理を実行する。
【0072】
次に、以上のように構成された配置計画生成装置に含まれる可用性評価部の動作について、図10のフローチャートを参照しながら説明する。但し、各情報記憶部10,11,12には、図2〜図4に示した情報が予め記憶されているものとする。また、配置計画情報記憶部13には、図5に示した第1の配置計画情報が予め記憶されているものとする。
【0073】
始めに、可用性評価部17は、配置計画情報記憶部13内の第1の配置計画情報及び物理ノード装置情報記憶部10内の稼働率情報を読み出すと、処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する(ステップS14)。
【0074】
1つの物理ノード装置に配置することが決定された処理プログラムの処理プログラム稼働率情報は、式(1)を用いることにより算出される。なお、処理プログラムIDpnで識別される第n処理プログラムの処理プログラム稼働率情報は“Pn”と示し、物理ノードIDnmで識別される第m物理ノード装置の稼働率情報は“Nm”と示すものとする。ここで、配置される第n処理プログラムの処理プログラム稼働率情報Pnは、式(1)に示すように、配置先の第m物理ノード装置の稼働率情報Nmに等しい。
【0075】
Pn=Nm …(1)
また、物理ノード装置といった複数の第m及び第m´物理ノード装置に配置される第n処理プログラムの処理プログラム稼働率情報Pnは、式(2)に示すように算出される。
【0076】
Pn=1−{(1−Nm)×(1−Nm´)} …(2)
例えば、物理ノードIDn3の第3物理ノード装置に配置される処理プログラムIDp1の第1処理プログラムの処理プログラム稼働率情報P1は、式(1)に示すように、第3物理ノード装置の稼働率情報N3と等しい値“0.995”を示す。
【0077】
同様に、第4物理ノード装置に配置される第2処理プログラムの処理プログラム稼働率情報P2は、第4物理ノード装置の稼働率情報N4と等しい値“0.995”を示す。
【0078】
また、複数の物理ノードIDn1,n2の第1及び第2物理ノード装置に配置される第5処理プログラムの処理プログラム稼働率情報P5は、式(2)に示すように、P5=1−{(1−N1)×(1−N2)}を示す。このため、第5処理プログラムの処理プログラム稼働率情報P5は、1−{(1−0.99)×(1−0.995)}となり、“0.99995”を示す。
【0079】
続いて、可用性評価部17は、サービス情報記憶部12内の占有時間情報と、処理プログラムID毎に算出された処理プログラム稼働率情報とに基づいて、サービスID毎に、サービス稼働率情報を算出する(ステップS15)。なお、ここでは、占有時間情報はサービスIDに関連する処理プログラムIDを示すために用いられている。
【0080】
1つの第n処理プログラムにより実現し得るサービスのサービス稼働率情報SLは、式(3)に示すように、処理プログラムIDpnの処理プログラム稼働率情報Pnから算出される。
【0081】
SL=Pn …(3)
また、複数の第n及び第n´処理プログラムにより実現し得るサービスのサービス稼働率情報SLは、式(4)に示すように、処理プログラムIDpn,pn´の処理プログラム稼働率情報Pn,Pn´から算出される。
【0082】
SL=Pn×Pn´ …(4)
例えば、第1及び第5処理プログラムにより実現し得るサービスs1のサービス稼働率情報S1は、式(4)に示すように、S1=P1×P5を示す。このため、サービスIDs1で識別される第1サービスのサービス稼働率情報S1は、0.995×0.99995となり、“0.99495025”を示す。
【0083】
同様に、第2及び第5処理プログラムにより実現し得る第2サービスのサービス稼働率情報S2は、S2=P2×P5を示すため、0.995×0.99995となり、“0.99495025”を示す。
【0084】
次に、可用性評価部17は、当該算出されたサービス稼働率情報と、サービス情報記憶部12内の必要稼働率情報とを比較することによって、サービス稼働率情報の値が必要稼働率情報の値を超えたか否かを判定する(ステップS16)。
【0085】
例えば、可用性評価部17は、算出されたサービス稼働率S1“0.99495025”と、サービス情報記憶部12内のサービスIDs1の必要稼働率“0.95”とを比較し、サービス稼働率S1がサービスIDs1の必要稼働率を超えたと判定する。
【0086】
同様に、可用性評価部17は、算出されたサービス稼働率S2“0.99495025”と、サービス情報記憶部12内のサービスIDs2の必要稼働率“0.995”とを比較し、サービス稼働率S2が、サービスs2の必要稼働率を超えないと判定する。
【0087】
ステップS16の判定の結果、否を示す場合(ステップS16:「超えない」)には、可用性評価部17は、当該サービス稼働率情報S2の算出に用いた処理プログラム稼働率情報P2,P5のうち、最も低い処理プログラム稼働率情報P2に関連付けられた処理プログラムIDp2を選択し、選択された処理プログラムIDp2の増加可否情報を処理プログラム情報記憶部11から読出し、この読出された増加可否情報が“可”を示すとき、当該処理プログラムIDp2の第2処理プログラムを構成するインスタンスの数を1つ増加させる(ステップS17)。
【0088】
なお、ステップS17の処理の後、上述したステップS9の処理へ再度進み、ステップS17において増加されたインスタンスを物理ノードIDn5の第5物理ノード装置へ配置することを決定する。このように、ステップS17において増加されたインスタンスの配置を決定するとき、同一の処理プログラムのインスタンスが既に配置されている物理ノード装置は、可用性の観点から、ステップS17において増加されたインスタンスを配置する物理ノード装置の候補としない。
【0089】
また、ステップS17において増加されたインスタンスの配置が決定されると、ステップS14へ再度進み、可用性評価部17が、処理プログラムIDp2の第2処理プログラムを構成する各インスタンスに対して、可用性評価処理を再度実行する。
【0090】
ステップS16の判定の結果、サービス稼働率情報の値が必要稼働率情報の値を超えた旨を示す場合(ステップS16:「超えた」)には、可用性評価部17は、残りのサービスIDについてもステップS14以降の処理を繰り返し実行する。
【0091】
しかる後、可用性評価部17は、全てのサービスIDについてもステップS16の判定結果が当該超えた旨を示すとき、配置計画情報記憶部13内の第1の配置計画情報を確定し(ステップS18)、当該確定した第1の配置計画情報からなる第2の配置計画情報を配置計画情報記憶部13に書込む。
【0092】
上述したように第1の実施形態によれば、許容利用率情報を用いた配置可否判定機能と、必要稼働率情報を用いた稼働率判定機能とを備えた構成により、処理プログラムの利用率情報が物理ノード装置の許容利用率を超えない範囲で、サービス稼働率情報が物理ノード装置の必要稼働率情報を超えるように、物理ノード装置への処理プログラムの配置を示す配置計画情報を作成することができる。
【0093】
なお、本実施形態では、利用率評価部16による利用率評価処理において、利用率情報及び許容利用率情報を算出すると、これらの情報を降順に並び換える処理を実行するが、この降順に並び換える処理は、処理プログラムの配置を決定するたび、及び/または、処理プログラムを構成するインスタンスの数を増やすたびに実行されてもよい。これにより、降順に並び換えられた利用率情報の先頭と、降順に並び換えられた許容利用率情報の先頭とは、常に各情報のうちで最大の値を示す情報となるため、各情報の先頭同士のみを比較することで、先頭の利用率情報に関連付けられた処理プログラムを先頭の許容利用率情報に関連付けられた物理ノード装置に配置可能であるか否かを判定することが可能となる。これにより、図7のフローチャートに示したステップS6,ステップS7の処理を省略することが可能となる。
【0094】
<第2の実施形態>
次に、第2の実施形態について図1等を参照しながら説明する。
【0095】
第2の実施形態は、第1の実施形態の利用率評価部16の変形例であり、識別番号を用いて利用率評価処理を実行するものである。
【0096】
前述した第1の実施形態では、利用率評価部16による利用率評価処理を実行する際に、降順に並び換えられた情報の先頭を基準として利用率評価処理を実行したが、例えば、降順に並び換えられた情報に順番を識別するための識別番号を付与して利用率評価処理を実行してもよい。そこで、第2の実施形態では、識別番号を付与する利用率評価処理について、図11のフローチャートを参照しながら説明する。
【0097】
始めに、利用率評価部16は、サービス情報記憶部12内の占有時間情報及び実行回数情報を読出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、処理プログラムID毎に、利用率情報を算出する(ステップS21)。
【0098】
続いて、利用率評価部16は、物理ノード装置情報記憶部10内のリソース情報及び設計利用率情報を読出すと、このリソース情報の値及びこの設計利用率情報の値を積算し、物理ノードID毎に、許容利用率情報を算出する(ステップS22)。
【0099】
次に、利用率評価部16は、算出された利用率情報及び算出された許容利用率情報を各々降順に並び換える(ステップS23)。
【0100】
また、利用率評価部16は、当該並び換えられた利用率情報の先頭から順に、順番を識別するための識別番号1,2,…,x,…を付与する。同様に、利用率評価部16は、当該並び換えられた許容利用率情報の先頭から順に、順番を識別するための識別番号1,2,…,y,…を付与する(ステップS24)。なお、同実施形態では、識別番号xを付与された利用率情報を“利用率情報ax”と称し、識別番号yを付与された許容利用率情報を“許容利用率情報by”と称す。
【0101】
続いて、利用率評価部16は、利用率情報axを対象利用率情報として読出し、許容利用率情報byを対象許容利用率情報として読出し、読出された対象利用率情報ax及び読出された対象許容利用率情報byの識別番号x,yをそれぞれ識別番号1に設定する(ステップS25)。
【0102】
次に、利用率評価部16は、対象利用率情報ax及び対象許容利用率情報byを比較することによって、対象利用率情報axの値が対象許容利用率情報byの値を超えたか否かを判定する(ステップS26)。
【0103】
ステップS26の判定の結果、超えた旨を示す場合(ステップS26:「超えた」)には、利用率評価部16は、対象許容利用率情報の識別番号yを識別番号y+1に再設定する(ステップS27)。例えば、対象利用率情報a1の値が対象許容利用率情報b1の値を超えた旨を示す場合には、利用率評価部16は、対象許容利用率情報の識別番号1を識別番号2に再設定する。
【0104】
続いて、利用率評価部16は、当該再設定された識別番号y+1が物理ノード装置の数を超えたか否かを判定する(ステップS28)。なお、ステップS28の判定の結果、否を示す場合(ステップS28:「超えない」)には、ステップS26の処理へ再度進む。
【0105】
ステップS28の判定の結果、超えた旨を示す場合(ステップS28:「超えた」)には、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムの増加可否情報を処理プログラム情報記憶部11から読出し、この読出された増加可否情報が“可”を示すとき、対象利用率情報axに関連付けられた処理プログラムを構成するインスタンスの数を1つ増加させる(ステップS29)。なお、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムを構成するインスタンスの数が1つ増加されると、対象許容利用率情報の識別番号y+1を識別番号1に再設定する。
【0106】
次に、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムの上限値情報を処理プログラム情報記憶部11から読出し、対象利用率情報axを構成するインスタンスの数が当該読出された上限値情報の値を超えたか否かを判定する(ステップS30)。なお、ステップS30の判定の結果、超えた旨を示す場合(ステップS30:「超えた」)には、当該処理プログラムを物理ノード装置に配置することができないため、配置計画生成装置1での処理を終了する。
【0107】
ステップS30の判定の結果、否を示す場合(ステップS30:「超えない」)には、利用率評価部16は、この処理プログラムを構成するインスタンス毎の利用率情報を算出し、当該算出された利用率情報に新たな識別番号x1,x2,…,xi,…を付与する(ステップS31)。また、新たな識別番号が付与されると、利用率評価部16は、対象利用率情報の識別番号xを識別番号x1に再設定し、ステップS26の処理へ再度進む。なお、新たに付与された識別番号xiは、利用率情報axに関連付けられた処理プログラムを構成するi番目のインスタンスに関する利用率情報であることを示しており、“利用率情報axi”と称す。
【0108】
ステップS26の判定の結果、否を示す場合(ステップS26:「超えない」)には、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムを対象許容利用率情報byに関連付けられた物理ノード装置に配置することを決定する(ステップS32)。なお、ステップS32は、“ステップS26の判定の結果、否を示す場合(ステップS26:「超えない」)には、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムのi番目のインスタンスを対象許容利用率情報byに関連付けられた物理ノード装置に配置することを決定する(ステップS32´)”と読み替えてもよい。
【0109】
続いて、利用率評価部16は、対象利用率情報axに関連付けられた処理プログラムを構成する全てのインスタンスの配置を決定したか否かを判定する(ステップS33)。
【0110】
ステップS33の判定の結果、否を示す場合(ステップS33:「決定していない」)には、利用率評価部16は、対象利用率情報の識別番号xiを識別番号x(i+1)に再設定し、対象許容利用率情報の識別番号yを識別番号1に再設定し、ステップS26の処理へ再度進む(ステップS34)。
【0111】
ステップS33の判定の結果、決定した旨を示す場合(ステップS33:「決定した」)には、利用率評価部16は、全ての処理プログラムの配置が決定されたか否かを判定する(ステップS35)。なお、ステップS35の判定の結果、全ての処理プログラムの配置を決定した旨を示す場合(ステップS35:「決定した」)には、利用率評価部16での処理を終了する。
【0112】
ステップS35の判定の結果、否を示す場合(ステップS35:「決定していない」)には、利用率評価部16は、対象利用率情報の識別番号xを識別番号x+1に再設定し、対象許容利用率情報の識別番号yを識別番号1に再設定し、ステップS26の処理へ再度進む(ステップS36)。なお、ステップS36は、“ステップS35の判定の結果、否を示す場合(ステップS35:「決定していない」)には、利用率評価部16は、対象利用率情報の識別番号xiを識別番号x+1に再設定し、対象許容利用率情報の識別番号yを識別番号1に再設定し、ステップS26の処理へ再度進む”と読み替えてもよい。
【0113】
なお、全ての処理プログラムの配置が決定されると、図5に示したような第1の配置計画情報が配置計画情報記憶部13に書込まれる。
【0114】
上述したように第2の実施形態によれば、識別番号を付与して利用率評価処理を実行する構成としても、第1の実施形態と同様に、性能観点(リソース利用率)に基づいた処理プログラムの配置を検討しつつ、処理プログラムの配置を検討する作業を自動化することができるため、人間系による検討の負荷を軽減することができる。
【0115】
また、以上説明した少なくとも一つの実施形態によれば、許容利用率情報を用いた配置可否判定機能と、必要稼働率情報を用いた稼働率判定機能とを備えた構成により、リソース利用率(性能観点)及び可用性といった複数の観点から処理プログラムの配置を検討でき、人間系による検討の負荷を軽減することができる。
【0116】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0117】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0118】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0119】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0120】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0121】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0122】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0123】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0124】
1…配置計画生成装置、10…物理ノード装置情報記憶部、11…処理プログラム情報記憶部、12…サービス情報記憶部、13…配置計画情報記憶部、14…情報入力部、15…配置決定部、16…利用率評価部、17…可用性評価部。
【特許請求の範囲】
【請求項1】
サービスを構成する処理を物理ノード装置に実行させる処理プログラムを前記物理ノード装置に配置するための配置計画を生成する配置計画生成装置であって、
前記物理ノード装置を識別する物理ノードID毎に、当該物理ノード装置の稼働率を示す稼働率情報と、当該物理ノード装置のリソース量を示すリソース量情報と、当該物理ノード装置の設計時に決められた単位リソース量あたりの利用可能なリソース量を示す設計利用率情報とを関連付けて記憶する物理ノード装置情報記憶手段と、
前記サービスを識別するサービスID毎に、当該サービスを構成する処理の処理プログラムが単位時間あたりに前記リソースを占有する時間を当該処理プログラムを識別する処理プログラムID毎に示す占有時間情報と、前記サービスの単位時間あたりの実行回数を示す実行回数情報と、前記サービスを構成する処理の処理プログラムの実行に必要となる物理ノード装置の稼働率を示す必要稼働率情報とを関連付けて記憶するサービス情報記憶手段と、
前記配置計画の候補である第1の配置計画情報及び前記配置計画である第2の配置計画情報が書込可能な配置計画情報記憶手段と、
前記サービス情報記憶手段内の占有時間情報及び実行回数情報を読み出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、前記処理プログラムID毎に、単位時間あたりの占有時間情報を示す利用率情報を算出する手段と、
前記物理ノード装置情報記憶手段内のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値及びこの設計利用率情報の値を積算し、前記物理ノードID毎に、利用可能なリソース量を示す許容利用率情報を算出する手段と、
前記算出された利用率情報及び前記算出された許容利用率情報を降順に並び換える手段と、
前記並び換えられた利用率情報のうちの先頭の利用率情報の値と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報の値とを比較し、当該利用率情報の値が当該許容利用率情報の値を超えたか否かにより、当該利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する配置可否判定手段と、
この判定結果が配置可能を示すとき、当該配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定する前記第1の配置計画情報を前記配置計画情報記憶手段に書込む手段と、
前記判定結果が否を示すとき、当該判定に用いた利用率情報と、前記並び換えられた全ての許容利用率情報とを個別に比較したか否かを判定する比較済判定手段と、
前記比較済判定手段による判定結果が否を示すとき、前記並び換えの後で前記配置可否判定手段の判定に用いていない許容利用率情報のうち、先頭の許容利用率情報を用いて前記配置可否判定手段を再度実行する手段と、
前記第1の配置計画情報が前記配置計画情報記憶手段に書込まれると、前記並び換えの後で前記配置可否判定手段の判定に用いていない利用率情報のうちの先頭の利用率情報と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、前記配置可否判定手段を再度実行する手段と、
前記並び換えられた全ての利用率情報に対して前記配置可否判定手段が実行されると、前記物理ノード装置情報記憶手段内の稼働率情報及び前記配置計画情報記憶手段内の第1の配置計画情報に基づいて、前記処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する手段と、
前記サービス情報記憶手段内の占有時間情報及び前記算出された処理プログラム稼働率情報に基づいて、前記サービスID毎に、サービスの稼働率を示すサービス稼働率情報を算出する手段と、
前記サービス情報記憶手段内の必要稼働率情報の値と、前記算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する稼働率判定手段と、
この判定結果が前記超えた旨を示すとき、前記配置計画情報記憶手段内の第1の配置計画情報を確定し、当該確定した第1の配置計画情報からなる前記第2の配置計画情報を前記配置計画情報記憶手段に書込む手段と
を備えたことを特徴とする配置計画生成装置。
【請求項2】
請求項1に記載の配置計画生成装置において、
前記処理プログラムを識別する処理プログラムID毎に、当該処理プログラムを構成するインスタンスの数の増加の可否を示す増加可否情報と、これらインスタンスの数の上限値を示す上限値情報とを関連付けて記憶する処理プログラム情報記憶手段と、
前記比較済判定手段による判定結果が前記比較した旨を示すとき、当該判定に用いた利用率情報に関連付けられた処理プログラムIDに関連付けられた増加可否情報を前記処理プログラム情報記憶手段から読出し、当該読出された増加可否情報が可を示すとき、この処理プログラムIDの処理プログラムを構成するインスタンスの数を1つだけ増加させる手段と、
前記処理プログラムを構成するインスタンスの数が増加されると、当該処理プログラムIDに関連付けられた上限値情報を前記処理プログラム情報記憶手段から読出し、当該読出された上限値情報の値と、当該処理プログラムを構成するインスタンスの数とを比較することによって、当該インスタンスの数が当該上限値情報の値を超えたか否かを判定する手段と、
この判定結果が否を示すとき、前記比較済判定手段による判定に用いた利用率情報の値を当該インスタンスの数で除算することにより、当該処理プログラムを構成するインスタンス毎の利用率情報を算出する手段と、
前記算出されたインスタンス毎の利用率情報のうちのいずれかの利用率情報と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、前記配置可否判定手段を再度実行する手段と
を更に備えたことを特徴とする配置計画生成装置。
【請求項3】
請求項1または請求項2に記載の配置計画生成装置において、
前記稼働率判定手段による判定結果が否のとき、当該判定に用いたサービス稼働率情報の算出に用いた処理プログラム稼働率情報のうち、最も低い処理プログラム稼働率情報に関連付けられた処理プログラムIDの増加可否情報を前記処理プログラム情報記憶手段から読出し、この増加可否情報が可を示すとき、当該処理プログラムIDの処理プログラムを構成するインスタンスの数を1つ増加させる手段を更に備えたことを特徴とする配置計画生成装置。
【請求項4】
物理ノード装置情報記憶手段、サービス情報記憶手段及び配置計画情報記憶手段を備え、サービスを構成する処理を物理ノード装置に実行させる処理プログラムを前記物理ノード装置に配置するための配置計画を生成する配置計画生成装置のプログラムであって、
前記配置計画生成装置を、
前記物理ノード装置を識別する物理ノードID毎に、当該物理ノード装置の稼働率を示す稼働率情報と、当該物理ノード装置のリソース量を示すリソース量情報と、当該物理ノード装置の設計時に決められた単位リソース量あたりの利用可能なリソース量を示す設計利用率情報とを関連付けて前記物理ノード装置情報記憶手段に書込む手段、
前記サービスを識別するサービスID毎に、当該サービスを構成する処理の処理プログラムが単位時間あたりに前記リソースを占有する時間を当該処理プログラムを識別する処理プログラムID毎に示す占有時間情報と、前記サービスの単位時間あたりの実行回数を示す実行回数情報と、前記サービスを構成する処理の処理プログラムの実行に必要となる物理ノード装置の稼働率を示す必要稼働率情報とを関連付けて前記サービス情報記憶手段に書込む手段、
前記サービス情報記憶手段内の占有時間情報及び実行回数情報を読み出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、前記処理プログラムID毎に、単位時間あたりの占有時間情報を示す利用率情報を算出する手段、
前記物理ノード装置情報記憶手段内のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値及びこの設計利用率情報の値を積算し、前記物理ノードID毎に、利用可能なリソース量を示す許容利用率情報を算出する手段、
前記算出された利用率情報及び前記算出された許容利用率情報を降順に並び換える手段、
前記並び換えられた利用率情報のうちの先頭の利用率情報の値と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報の値とを比較し、当該利用率情報の値が当該許容利用率情報の値を超えたか否かにより、当該利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する配置可否判定手段、
この判定結果が配置可能を示すとき、当該配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定する前記第1の配置計画情報を前記配置計画情報記憶手段に書込む手段、
前記判定結果が否を示すとき、当該判定に用いた利用率情報と、前記並び換えられた全ての許容利用率情報とを個別に比較したか否かを判定する比較済判定手段、
前記比較済判定手段による判定結果が否を示すとき、前記並び換えの後で前記配置可否判定手段の判定に用いていない許容利用率情報のうち、先頭の許容利用率情報を用いて前記配置可否判定手段を再度実行する手段、
前記第1の配置計画情報が前記配置計画情報記憶手段に書込まれると、前記並び換えの後で前記配置可否判定手段の判定に用いていない利用率情報のうちの先頭の利用率情報と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、前記配置可否判定手段を再度実行する手段、
前記並び換えられた全ての利用率情報に対して前記配置可否判定手段が実行されると、前記物理ノード装置情報記憶手段内の稼働率情報及び前記配置計画情報記憶手段内の第1の配置計画情報に基づいて、前記処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する手段、
前記サービス情報記憶手段内の占有時間情報及び前記算出された処理プログラム稼働率情報に基づいて、前記サービスID毎に、サービスの稼働率を示すサービス稼働率情報を算出する手段、
前記サービス情報記憶手段内の必要稼働率情報の値と、前記算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する稼働率判定手段、
この判定結果が前記超えた旨を示すとき、前記配置計画情報記憶手段内の第1の配置計画情報を確定し、当該確定した第1の配置計画情報からなる前記第2の配置計画情報を前記配置計画情報記憶手段に書込む手段、
として機能させるためのプログラム。
【請求項1】
サービスを構成する処理を物理ノード装置に実行させる処理プログラムを前記物理ノード装置に配置するための配置計画を生成する配置計画生成装置であって、
前記物理ノード装置を識別する物理ノードID毎に、当該物理ノード装置の稼働率を示す稼働率情報と、当該物理ノード装置のリソース量を示すリソース量情報と、当該物理ノード装置の設計時に決められた単位リソース量あたりの利用可能なリソース量を示す設計利用率情報とを関連付けて記憶する物理ノード装置情報記憶手段と、
前記サービスを識別するサービスID毎に、当該サービスを構成する処理の処理プログラムが単位時間あたりに前記リソースを占有する時間を当該処理プログラムを識別する処理プログラムID毎に示す占有時間情報と、前記サービスの単位時間あたりの実行回数を示す実行回数情報と、前記サービスを構成する処理の処理プログラムの実行に必要となる物理ノード装置の稼働率を示す必要稼働率情報とを関連付けて記憶するサービス情報記憶手段と、
前記配置計画の候補である第1の配置計画情報及び前記配置計画である第2の配置計画情報が書込可能な配置計画情報記憶手段と、
前記サービス情報記憶手段内の占有時間情報及び実行回数情報を読み出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、前記処理プログラムID毎に、単位時間あたりの占有時間情報を示す利用率情報を算出する手段と、
前記物理ノード装置情報記憶手段内のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値及びこの設計利用率情報の値を積算し、前記物理ノードID毎に、利用可能なリソース量を示す許容利用率情報を算出する手段と、
前記算出された利用率情報及び前記算出された許容利用率情報を降順に並び換える手段と、
前記並び換えられた利用率情報のうちの先頭の利用率情報の値と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報の値とを比較し、当該利用率情報の値が当該許容利用率情報の値を超えたか否かにより、当該利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する配置可否判定手段と、
この判定結果が配置可能を示すとき、当該配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定する前記第1の配置計画情報を前記配置計画情報記憶手段に書込む手段と、
前記判定結果が否を示すとき、当該判定に用いた利用率情報と、前記並び換えられた全ての許容利用率情報とを個別に比較したか否かを判定する比較済判定手段と、
前記比較済判定手段による判定結果が否を示すとき、前記並び換えの後で前記配置可否判定手段の判定に用いていない許容利用率情報のうち、先頭の許容利用率情報を用いて前記配置可否判定手段を再度実行する手段と、
前記第1の配置計画情報が前記配置計画情報記憶手段に書込まれると、前記並び換えの後で前記配置可否判定手段の判定に用いていない利用率情報のうちの先頭の利用率情報と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、前記配置可否判定手段を再度実行する手段と、
前記並び換えられた全ての利用率情報に対して前記配置可否判定手段が実行されると、前記物理ノード装置情報記憶手段内の稼働率情報及び前記配置計画情報記憶手段内の第1の配置計画情報に基づいて、前記処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する手段と、
前記サービス情報記憶手段内の占有時間情報及び前記算出された処理プログラム稼働率情報に基づいて、前記サービスID毎に、サービスの稼働率を示すサービス稼働率情報を算出する手段と、
前記サービス情報記憶手段内の必要稼働率情報の値と、前記算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する稼働率判定手段と、
この判定結果が前記超えた旨を示すとき、前記配置計画情報記憶手段内の第1の配置計画情報を確定し、当該確定した第1の配置計画情報からなる前記第2の配置計画情報を前記配置計画情報記憶手段に書込む手段と
を備えたことを特徴とする配置計画生成装置。
【請求項2】
請求項1に記載の配置計画生成装置において、
前記処理プログラムを識別する処理プログラムID毎に、当該処理プログラムを構成するインスタンスの数の増加の可否を示す増加可否情報と、これらインスタンスの数の上限値を示す上限値情報とを関連付けて記憶する処理プログラム情報記憶手段と、
前記比較済判定手段による判定結果が前記比較した旨を示すとき、当該判定に用いた利用率情報に関連付けられた処理プログラムIDに関連付けられた増加可否情報を前記処理プログラム情報記憶手段から読出し、当該読出された増加可否情報が可を示すとき、この処理プログラムIDの処理プログラムを構成するインスタンスの数を1つだけ増加させる手段と、
前記処理プログラムを構成するインスタンスの数が増加されると、当該処理プログラムIDに関連付けられた上限値情報を前記処理プログラム情報記憶手段から読出し、当該読出された上限値情報の値と、当該処理プログラムを構成するインスタンスの数とを比較することによって、当該インスタンスの数が当該上限値情報の値を超えたか否かを判定する手段と、
この判定結果が否を示すとき、前記比較済判定手段による判定に用いた利用率情報の値を当該インスタンスの数で除算することにより、当該処理プログラムを構成するインスタンス毎の利用率情報を算出する手段と、
前記算出されたインスタンス毎の利用率情報のうちのいずれかの利用率情報と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、前記配置可否判定手段を再度実行する手段と
を更に備えたことを特徴とする配置計画生成装置。
【請求項3】
請求項1または請求項2に記載の配置計画生成装置において、
前記稼働率判定手段による判定結果が否のとき、当該判定に用いたサービス稼働率情報の算出に用いた処理プログラム稼働率情報のうち、最も低い処理プログラム稼働率情報に関連付けられた処理プログラムIDの増加可否情報を前記処理プログラム情報記憶手段から読出し、この増加可否情報が可を示すとき、当該処理プログラムIDの処理プログラムを構成するインスタンスの数を1つ増加させる手段を更に備えたことを特徴とする配置計画生成装置。
【請求項4】
物理ノード装置情報記憶手段、サービス情報記憶手段及び配置計画情報記憶手段を備え、サービスを構成する処理を物理ノード装置に実行させる処理プログラムを前記物理ノード装置に配置するための配置計画を生成する配置計画生成装置のプログラムであって、
前記配置計画生成装置を、
前記物理ノード装置を識別する物理ノードID毎に、当該物理ノード装置の稼働率を示す稼働率情報と、当該物理ノード装置のリソース量を示すリソース量情報と、当該物理ノード装置の設計時に決められた単位リソース量あたりの利用可能なリソース量を示す設計利用率情報とを関連付けて前記物理ノード装置情報記憶手段に書込む手段、
前記サービスを識別するサービスID毎に、当該サービスを構成する処理の処理プログラムが単位時間あたりに前記リソースを占有する時間を当該処理プログラムを識別する処理プログラムID毎に示す占有時間情報と、前記サービスの単位時間あたりの実行回数を示す実行回数情報と、前記サービスを構成する処理の処理プログラムの実行に必要となる物理ノード装置の稼働率を示す必要稼働率情報とを関連付けて前記サービス情報記憶手段に書込む手段、
前記サービス情報記憶手段内の占有時間情報及び実行回数情報を読み出すと、この占有時間情報の値及びこの実行回数情報の値を積算し、前記処理プログラムID毎に、単位時間あたりの占有時間情報を示す利用率情報を算出する手段、
前記物理ノード装置情報記憶手段内のリソース量情報及び設計利用率情報を読み出すと、このリソース量情報の値及びこの設計利用率情報の値を積算し、前記物理ノードID毎に、利用可能なリソース量を示す許容利用率情報を算出する手段、
前記算出された利用率情報及び前記算出された許容利用率情報を降順に並び換える手段、
前記並び換えられた利用率情報のうちの先頭の利用率情報の値と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報の値とを比較し、当該利用率情報の値が当該許容利用率情報の値を超えたか否かにより、当該利用率情報に関連付けられた処理プログラムIDの処理プログラムを当該許容利用率情報に関連付けられた物理ノードIDの物理ノード装置に配置可能であるか否かを判定する配置可否判定手段、
この判定結果が配置可能を示すとき、当該配置可能である処理プログラムIDと当該物理ノードIDとの組合せを指定する前記第1の配置計画情報を前記配置計画情報記憶手段に書込む手段、
前記判定結果が否を示すとき、当該判定に用いた利用率情報と、前記並び換えられた全ての許容利用率情報とを個別に比較したか否かを判定する比較済判定手段、
前記比較済判定手段による判定結果が否を示すとき、前記並び換えの後で前記配置可否判定手段の判定に用いていない許容利用率情報のうち、先頭の許容利用率情報を用いて前記配置可否判定手段を再度実行する手段、
前記第1の配置計画情報が前記配置計画情報記憶手段に書込まれると、前記並び換えの後で前記配置可否判定手段の判定に用いていない利用率情報のうちの先頭の利用率情報と、前記並び換えられた許容利用率情報のうちの先頭の許容利用率情報とを用いて、前記配置可否判定手段を再度実行する手段、
前記並び換えられた全ての利用率情報に対して前記配置可否判定手段が実行されると、前記物理ノード装置情報記憶手段内の稼働率情報及び前記配置計画情報記憶手段内の第1の配置計画情報に基づいて、前記処理プログラムID毎に、処理プログラムの稼働率を示す処理プログラム稼働率情報を算出する手段、
前記サービス情報記憶手段内の占有時間情報及び前記算出された処理プログラム稼働率情報に基づいて、前記サービスID毎に、サービスの稼働率を示すサービス稼働率情報を算出する手段、
前記サービス情報記憶手段内の必要稼働率情報の値と、前記算出されたサービス稼働率情報の値とを比較し、当該サービス稼働率情報の値が当該必要稼働率情報の値を超えたか否かを判定する稼働率判定手段、
この判定結果が前記超えた旨を示すとき、前記配置計画情報記憶手段内の第1の配置計画情報を確定し、当該確定した第1の配置計画情報からなる前記第2の配置計画情報を前記配置計画情報記憶手段に書込む手段、
として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−221037(P2012−221037A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−83670(P2011−83670)
【出願日】平成23年4月5日(2011.4.5)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願日】平成23年4月5日(2011.4.5)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
[ Back to top ]