(57)【要約】【課題】処理中のジョブを中断せずに稼働するリソースを減らす。【解決手段】管理装置１０は、稼働中のリソース３０の量と、複数のリソース３０を用いて実行される予定の処理の量を取得する。管理装置１０は、取得した処理の量に対して予め定められた基準に比べて、稼働中のリソース３０の量が多い場合、稼働停止の対象となるリソース３０を特定し、特定したリソースに対し、新たなジョブの取得の禁止を指示する。新たなジョブの取得の禁止を指示されたリソース３０は、処理中のジョブがなくなると、処理中のジョブがないことを示す情報を管理装置１０へ送る。管理装置１０は、処理中のジョブがないことを示す情報を取得すると、特定したリソース３０の稼働停止を指示する。【選択図】図１
2019021167.tif 000002
【特許請求の範囲】
【請求項１】
単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、
取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部と、
前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第１指示部と、
前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第２指示部と
を備える情報処理装置。
【請求項２】
前記特定部が特定するリソースは、特定する時点から前記使用料金の課金がされる時点までの期間が最も短いリソースである
請求項１に記載の情報処理装置。
【請求項３】
前記特定部は、複数のリソースを特定する場合、特定する時点から前記使用料金の課金がされる時点までの期間が短いリソースから順に特定する
請求項２に記載の情報処理装置。
【請求項４】
前記第２指示部は、処理中のジョブがないことを示す情報として、稼働停止の指示を示す情報を前記特定部が特定したリソースから取得した場合、当該リソースの稼働停止を指示する
請求項１から請求項３のいずれか一項に記載の情報処理装置。
【請求項５】
前記リソースは、前記第１指示部からの指示を取得した後、処理中のジョブの処理を終了した場合、稼働停止の指示を示す情報を前記第２指示部へ供給する
請求項４に記載の情報処理装置。
【請求項６】
前記第１指示部が指示した時点より後の時点において、取得された前記ジョブの量に対して予め定められた基準に対して、取得された前記リソースの量が少なくなると、前記特定部が特定したリソースへジョブの取得を指示する
請求項１から請求項５のいずれか一項に記載の情報処理装置。
【請求項７】
単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、
取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部と、
前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第１指示部と、
前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第２指示部と
を有する情報処理装置と、
前記第１指示部からの指示に応じてジョブの取得を禁止し、処理中のジョブがない場合、処理中のジョブがないことを示す情報を前記情報処理装置へ供給するリソースと、
前記特定部が特定したリソースの稼働を前記第２指示部からの指示に応じて停止させる制御装置と
備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理システムに関する。
【背景技術】
【０００２】
オートスケールに係る発明として、例えば、特許文献１に開示された情報処理装置がある。この情報処理装置は、仮想マシンを停止させるスケールインを行う場合、起動処理中の仮想マシンがある場合には、停止させる仮想マシンとして、起動処理中の仮想マシンを選択する。また、起動処理中の仮想マシンがない場合には、停止させる仮想マシンとして、稼働中の仮想マシンのうち、稼働を開始した時間が遅い仮想マシンを選択する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９４９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
処理を実行するマシンの数を処理の量に応じて変更しながら処理を行わせる際、起動しているマシンを停止させると、実行中の処理が中断する可能性がある。
【０００５】
本発明は、上述した背景の下になされたものであり、処理中のジョブを中断せずに稼働するリソースを減らすことを目的とする。
【課題を解決するための手段】
【０００６】
本発明の請求項１に係る情報処理装置は、単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部と、前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第１指示部と、前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第２指示部とを備える。
【０００７】
本発明の請求項２に係る情報処理装置においては、前記特定部が特定するリソースは、特定する時点から前記使用料金の課金がされる時点までの期間が最も短いリソースである。
【０００８】
本発明の請求項３に係る情報処理装置においては、前記特定部は、複数のリソースを特定する場合、特定する時点から前記使用料金の課金がされる時点までの期間が短いリソースから順に特定する。
【０００９】
本発明の請求項４に係る情報処理装置においては、前記第２指示部は、処理中のジョブがないことを示す情報として、稼働停止の指示を示す情報を前記特定部が特定したリソースから取得した場合、当該リソースの稼働停止を指示する。
【００１０】
本願の請求項５に係る情報処理装置においては、前記リソースは、前記第１指示部からの指示を取得した後、処理中のジョブの処理を終了した場合、稼働停止の指示を示す情報を前記第２指示部へ供給する。
【００１１】
本発明の請求項６に係る情報処理装置は、前記第１指示部が指示した時点より後の時点において、取得された前記ジョブの量に対して予め定められた基準に対して、取得された前記リソースの量が少なくなると、前記特定部が特定したリソースへジョブの取得を指示する。
【００１２】
本発明の請求項７に係る情報処理システムは、単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部と、前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第１指示部と、前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第２指示部とを有する情報処理装置と、前記第１指示部からの指示に応じてジョブの取得を禁止し、処理中のジョブがない場合、処理中のジョブがないことを示す情報を前記情報処理装置へ供給するリソースと、前記特定部が特定したリソースの稼働を前記第２指示部からの指示に応じて停止させる制御装置とを備える。
【発明の効果】
【００１３】
本発明の請求項１に係る情報処理装置によれば、処理中のジョブを中断せずに稼働するリソースを減らすことができる。
本発明の請求項２に係る情報処理装置によれば、請求項２に係る構成を有していない場合と比較して、剰余となったリソースを早く停止することができる。
本発明の請求項３に係る情報処理装置によれば、請求項３に係る構成を有していない場合と比較して、剰余となった複数のリソースを早く停止することができる。
本発明の請求項４に係る情報処理装置によれば、請求項４に係る構成を有していない場合と比較して、早くリソースを稼働停止させることができる。
本発明の請求項５に係る情報処理装置によれば、請求項５に係る構成を有していない場合と比較して、早くリソースを稼働停止させることができる。
本発明の請求項６に係る情報処理装置によれば、新たなリソースを稼働させることなくジョブを処理することができる。
本発明の請求項７に係る情報処理システムによれば、処理中のジョブを中断せずに稼働するリソースを減らすことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態の全体構成を示した図。
【図２】管理装置１０のハードウェア構成を示したブロック図。
【図３】監視装置２０のハードウェア構成を示したブロック図。
【図４】制御装置４０のハードウェア構成を示したブロック図。
【図５】管理装置１０、監視装置２０および制御装置４０の機能ブロック図。
【図６】管理装置１０が行う処理の流れを示したフローチャート。
【図７】管理装置１０が記憶するテーブルの一例を示した図。
【図８】削除の対象となるリソース３０を特定する動作を説明するための図。
【図９】リソース３０が行う処理の流れを示したフローチャート。
【図１０】変形例を説明するための図。
【発明を実施するための形態】
【００１５】
［実施形態］
（全体構成）
図１は、本発明の一実施形態の全体構成を示した図である。情報処理システム１は、情報処理を行うリソース３０を情報処理システム１のユーザに提供するシステムである。本実施形態に係るリソース３０は、物理的なコンピュータ装置により実現される仮想マシンである。通信回線２は、データ通信が行われる通信回線であり、データ通信を行う複数のコンピュータ装置が接続される。
【００１６】
端末装置９０は、リソース３０を利用するユーザが使用するコンピュータ装置であり、通信回線２に接続されている。端末装置９０は、例えばパーソナルコンピュータである。ユーザは、端末装置９０を操作し、情報処理システム１が提供するリソース３０に情報処理を行わせる。なお、図１においては、図面が煩雑になるのを防ぐため、一つの端末装置９０のみを示す。端末装置９０は、パーソナルコンピュータに限定されるものではなく、例えば、タブレット端末、スマートフォンまたはラップトップ型のパーソナルコンピュータであってもよい。ロードバランサ８０は、通信回線２とジョブキュー５０に接続されている。ロードバランサ８０は、所謂、負荷分散装置であり、端末装置９０から送られた情報処理の要求を取得し、取得した要求をジョブキュー５０に供給する。以下の説明においては、説明の便宜上、リソース３０が行う情報処理をジョブと称し、ジョブの実行に必要となる情報をジョブ情報と称する。なお、端末装置９０はロードバランサ８０を介さずに、要求をジョブキュー５０に供給してもよい。
【００１７】
情報処理システム１は、クラウドシステム５、管理装置１０、および監視装置２０を含む。クラウドシステム５は、端末装置９０のユーザへリソース３０による情報処理を提供するシステムであり、ジョブキュー５０、制御装置４０および複数のリソース３０を有する。なお、本発明においては、管理装置１０および監視装置２０をクラウドシステム５に配置してもよい。
【００１８】
ジョブキュー５０は、情報を記憶する記憶装置を有しており、ロードバランサ８０から送られたジョブ情報を格納する。本発明に係る制御装置の一例である制御装置４０は、ジョブ情報やリソース３０に係る情報を監視装置２０へ提供し、管理装置１０からの指示に応じてリソース３０のスケールインまたはスケールアウトを行う。
【００１９】
本発明に係るリソースの一例である複数のリソース３０は、供給されるジョブ情報を処理する装置であり、ジョブキュー５０からジョブ情報を取得する。本実施形態においては、複数のリソース３０の各々は、制御装置４０によりスケールインまたはスケールアウトされる仮想マシンである。リソース３０は、例えば、画像処理のジョブや文書を翻訳するジョブを処理する。リソース３０が処理するジョブは、前述のジョブに限定されるものではなく、他のジョブであってもよい。クラウドシステム５においては、リソース３０について、単位時間当たりの使用料金が予め定められている。本実施形態では、複数のリソース３０の各々について、一律の単位時間で一律の使用料金が定められており、リソース３０を使用した時間に応じてユーザに対する課金が行われる。
【００２０】
監視装置２０は、制御装置４０、管理装置１０、リソース３０およびジョブキュー５０に接続されている。監視装置２０は、リソース３０にアクセスし、リソース３０の稼働状態、リソース３０の稼働時間、リソース３０にかかる負荷、リソース３０が実行しているジョブなどを監視するコンピュータ装置である。なお監視装置２０は、ジョブキュー５０にアクセスし、ジョブキュー５０に格納されているジョブの量も監視する。監視装置２０は、リソース３０のスケールインおよびスケールアウトを行うのに必要となる情報を管理装置１０へ提供する。本発明に係る情報処理装置の一例である管理装置１０は、監視装置２０と制御装置４０に接続されている。管理装置１０は、リソース３０の数を制御する装置である。管理装置１０は、監視装置２０から提供される情報を使用し、リソース３０のスケールインやスケールアウトを行う。
【００２１】
（管理装置１０の構成）
図２は、管理装置１０のハードウェア構成の一例を示したブロック図である。通信部１０５は、制御装置４０および監視装置２０と通信を行うための通信インターフェースである。記憶部１０２は、制御部１０１が実行するプログラムや監視装置２０から供給される情報を永続的に記憶する記憶装置（例えばハードディスク装置）を有している。制御部１０１は、ＣＰＵおよびＲＡＭを有しており、記憶部１０２に記憶されているプログラムを実行し、記憶部１０２や通信部１０５を制御する。また、記憶部１０２に記憶されているプログラムを実行中の制御部１０１は、監視装置２０から提供される情報の取得や、リソース３０のスケールインやスケールアウトの処理を行う。
【００２２】
（監視装置２０の構成）
図３は、監視装置２０のハードウェア構成の一例を示したブロック図である。通信部２０５は、ジョブキュー５０、リソース３０、制御装置４０および管理装置１０と通信を行うための通信インターフェースである。記憶部２０２は、制御部２０１が実行するプログラムや制御装置４０から取得した情報を永続的に記憶する記憶装置（例えばハードディスク装置）を有している。制御部２０１は、ＣＰＵおよびＲＡＭを有しており、記憶部２０２に記憶されているプログラムを実行し、記憶部２０２や通信部２０５を制御する。また、記憶部２０２に記憶されているプログラムを実行中の制御部２０１は、制御装置４０、ジョブキュー５０、リソース３０から送られる情報の取得や、管理装置１０への情報の提供を行う。
【００２３】
（制御装置４０の構成）
図４は、制御装置４０のハードウェア構成の一例を示したブロック図である。通信部４０５は、リソース３０、ジョブキュー５０、管理装置１０および監視装置２０と通信を行うための通信インターフェースである。記憶部４０２は、制御部４０１が実行するプログラムを永続的に記憶する記憶装置（例えばハードディスク装置）を有している。制御部４０１は、ＣＰＵおよびＲＡＭを有しており、記憶部４０２に記憶されているプログラムを実行し、記憶部４０２や通信部４０５を制御する。また、記憶部４０２に記憶されているプログラムを実行中の制御部４０１は、リソース３０のスケールアウトやスケールインを行う。
【００２４】
（管理装置１０および監視装置２０の機能構成）
図５は、制御部１０１がプログラムを実行することにより実現する機能、制御部２０１がプログラムを実行することにより実現する機能、および制御部４０１がプログラムを実行することにより実現する機能の構成を示したブロック図である。
【００２５】
制御部４０１においては、リソース制御部４００１およびジョブ情報供給部４００２が実現する。リソース制御部４００１は、リソース３０のスケールアウトとスケールインを行う。ジョブ情報供給部４００２は、ジョブキュー５０から供給されたジョブ情報をリソース３０へ供給する。リソース３０は、稼働中のリソース３０の数、各リソース３０の稼働期間、リソース３０におけるジョブの処理状況などの情報を予め定められた周期で監視装置２０へ供給する。
【００２６】
制御部２０１においては、第２取得部２００１と第２供給部２００２が実現する。第２取得部２００１は、リソースから供給される情報を取得する。また、第２取得部２００１は、ジョブキュー５０に格納されているジョブの量を表す情報を取得する。第２供給部２００２は、第２取得部２００１が取得した情報を含む第１情報を管理装置１０へ供給する。
【００２７】
制御部１０１においては、第１取得部１００１、特定部１００２、第１指示部１００３および第２指示部１００４が実現する。第１取得部１００１は、第２供給部２００２から供給される第１情報を取得する。特定部１００２は、第１情報に含まれるジョブの量に対して予め定められた基準に比べて、稼働中のリソースの量が多い場合、稼働停止の対象となるリソースを特定する。第１指示部１００３は、特定部１００２が特定したリソースに対し、新たなジョブの取得の禁止を指示するメッセージを送信する。第２指示部１００４は、特定部１００２が特定したリソース３０において処理中のジョブがないことを示すメッセージを取得した場合、特定部１００２が特定したリソース３０の稼働停止を指示するメッセージを送信する。
【００２８】
（実施形態の動作例）
次に本実施形態の動作の一例を説明する。まず、ジョブの実行を指示する操作をユーザが端末装置９０において行うと、ジョブの実行に必要となる情報であるジョブ情報が端末装置９０からロードバランサ８０へ送られる。ロードバランサ８０は、端末装置９０から送られたジョブ情報をジョブキュー５０へ供給する。
【００２９】
監視装置２０（第２取得部２００１）は、ジョブキュー５０に格納されているジョブの量を取得する。また、監視装置２０（第２取得部２００１）は、稼働中のリソース３０の数、各リソース３０の稼働期間、リソース３０におけるジョブの処理状況を含む情報を予め定められた周期で取得する。監視装置２０（第２供給部２００２）は、取得したリソース３０とジョブキュー５０から取得した情報を含む第１情報を管理装置１０へ供給する。
【００３０】
図６は、管理装置１０が行う処理の流れを示したフローチャートである。管理装置１０（第１取得部１００１）は、監視装置２０から供給される第１情報を取得する（ステップＳＡ１）。次に管理装置１０（特定部１００２）は、余剰となるリソース３０があるか否かを取得した第１情報を用いて判断する（ステップＳＡ２）。具体的には、例えば、管理装置１０は、ジョブの量とリソースの数を対応付けたテーブルを記憶している。図７は、ジョブの量とリソースの数を対応付けたテーブルの一例を示した図である。テーブルにおいては、ジョブの量に対して適切なリソースの数が対応付けられている。テーブルに格納されているリソースの数は、本発明に係る予め定められた基準の一例である。例えば、管理装置１０は、第１情報に含まれているジョブの量がｂ以上ｃ未満の範囲内である場合、当該量のジョブを処理するのに適切なリソースの数として、「ｂ以上ｃ未満」の範囲に対応付けられている３をテーブルから取得する。次に管理装置１０は、テーブルから取得した数と、第１情報に含まれている稼働中のリソースの数とを比較する。管理装置１０は、第１情報に含まれている稼働中のリソース３０の数がテーブルから取得した数以下である場合、余剰となるリソース３０がないと判断し（ステップＳＡ２でＮＯ）、処理の流れをステップＳＡ１へ戻す。また、管理装置１０は、第１情報に含まれている稼働中のリソース３０の数がテーブルから取得した数より多い場合、余剰となるリソース３０があると判断する（ステップＳＡ２でＹＥＳ）。
【００３１】
管理装置１０（特定部１００２）は、ステップＳＡ２でＹＥＳと判断すると、削除の対象（稼働停止の対象）となるリソース３０を特定する（ステップＳＡ３）。図８は、削除の対象となるリソース３０を特定する動作を説明するための図である。図８においては、横軸は時間を表し、矩形はリソースＡ〜リソースＤについて、第１情報から抽出した各々の稼働期間を表している。リソースＡ〜リソースＤは、リソース３０の一例である。また、図８においては、ｔは、ステップＳＡ３の処理が行われるタイミングを表し、ｔ１は、リソースＡに対して次の課金が発生するタイミングを表し、ｔ２は、リソースＢに対して次の課金が発生するタイミングを表し、ｔ３は、リソースＣに対して次の課金が発生するタイミングを表し、ｔ４は、リソースＤに対して次の課金が発生するタイミングを表す。
【００３２】
管理装置１０は、課金のタイミングがステップＳＡ３の処理が行われるタイミングに近いリソース３０から、削除対象となるリソース３０を選択していく。管理装置１０は、例えばｔの時点で剰余となるリソースの数が１である場合、課金タイミングがｔの時点に最も近いのは、課金のタイミングがｔ１であるリソースＡである。この場合、管理装置１０は、削除するリソース３０としてリソースＡを特定する。また、管理装置１０は、例えば、ｔの時点で剰余となるリソースの数が２である場合、課金タイミングがｔの時点に最も近いのは、課金タイミングがｔ１であるリソースＡであり、次に課金タイミングがｔの時点に近いのは、課金タイミングがｔ２であるリソースＢである。この場合、管理装置１０は、削除するリソース３０としてリソースＡおよびリソースＢを特定する。
なお、次の課金のタイミングが処理中のジョブの完了予定時間よりも先となるリソース３０については、削除対象から外し、他のリソース３０を選択してもよい。
【００３３】
管理装置１０（第１指示部１００３）は、削除するリソース３０を選択すると、選択したリソース３０に対してジョブの取得の禁止を指示する禁止メッセージを送信する（ステップＳＡ４）。管理装置１０が送信した禁止メッセージは、管理装置１０がステップＳＡ３で選択したリソース３０が取得する。
【００３４】
図９は、禁止メッセージを取得したリソース３０が行う処理の流れを示したフローチャートである。禁止メッセージを取得したリソース３０は、まず、ジョブキュー５０からの新たなジョブの取得を禁止する（ステップＳＢ１）。次にリソース３０は、処理中のジョブが存在するか判断する（ステップＳＢ２）。リソース３０は、処理中のジョブが存在する場合（ステップＳＢ２でＹＥＳ）、処理中のジョブが終了するのを待つ。また、リソース３０は、処理中のジョブが存在しない場合（ステップＳＢ２でＮＯ）、管理装置１０へ自身の削除を要求する削除要求メッセージを送信する（ステップＳＢ３）。この削除要求メッセージは、リソース３０において処理中のジョブがないことを表すメッセージの一例である。
【００３５】
管理装置１０（第２指示部１００４）は、リソース３０から送信された削除要求メッセージを受信する（ステップＳＡ５）。管理装置１０は、削除要求メッセージを受信すると、ステップＳＡ３で特定したリソース３０の削除を指示する削除指示メッセージを送信する（ステップＳＡ６）。削除指示メッセージは、リソース３０の稼働停止を指示するメッセージの一例である。管理装置１０が送信した削除指示メッセージは、制御装置４０が取得する。制御装置４０は、削除指示メッセージで指定されたリソース３０を削除する。
【００３６】
なお、管理装置１０が送信する禁止メッセージにジョブの取得を禁止させるリソース３０を表す情報を含めてもよい。この禁止メッセージを制御装置４０が取得し、制御装置４０は、禁止メッセージに含まれる情報が表すリソース３０へのジョブの供給を禁止してもよい。また、制御装置４０は、リソース３０を監視し、ジョブの供給を禁止したリソース３０について、処理中のジョブが存在しない場合、ジョブの供給が禁止されたリソース３０の削除を要求する削除要求メッセージを管理装置１０へ送信してもよい。管理装置１０は、削除要求メッセージで削除を要求されるリソース３０の削除を制御装置４０へ指示し、指示された制御装置４０がリソース３０の削除を行ってもよい。
【００３７】
本実施形態によれば、ジョブを処理中のリソース３０は、ジョブの処理中に削除されることがない。また、本実施形態によれば、処理予定のジョブの量に対してリソース３０が余剰となっている場合、ジョブの処理が終了したリソース３０が削除され、リソース３０の数が少なくなる。
【００３８】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態および以下の変形例は、各々を組み合わせてもよい。
【００３９】
上述した実施形態においては、リソース３０は、仮想マシンとなっているが、例えば物理的なコンピュータ装置であるサーバ装置またはストレージをリソース３０としてもよい。リソース３０が物理的なコンピュータ装置の場合、仮想マシンの削除に替えてコンピュータ装置の稼働を停止させる構成となる。
【００４０】
また、本発明においては、仮想マシン上で動作するアプリケーションもリソース３０としてもよい。図１０を用いて本変形例の具体例を説明する。図１０は、仮想マシンであるリソースＡ上で６つのアプリケーションＡＰ１〜ＡＰ６が稼働し、仮想マシンであるリソースＢ上で一つのアプリケーションＡＰ７が稼働している状態を示している。アプリケーションＡＰ１〜ＡＰ７は、リソース３０の一例である。管理装置１０は、ジョブキュー５０に格納されているジョブの量と、リソースＡ上で稼働しているアプリケーションの数およびリソースＢ上で稼働しているアプリケーションの数を含む第１情報を取得する。管理装置１０は、第１情報に含まれているジョブの量を処理するのに適切なリソースの数をテーブルから取得し、テーブルから取得した数と稼働しているアプリケーションの数を比較し、余剰となるアプリケーションがあるか否か判断する。管理装置１０は、余剰となるアプリケーションがある場合、複数の仮想マシンにおいて稼働しているアプリケーションの数が少ない仮想マシンを特定し、特定した仮想マシン上で稼働しているアプリケーションを削除の対象となるリソース３０として選択する。例えば、図１０に示した例の場合、管理装置１０は、リソースＢのほうが稼働しているアプリケーションが少ないため、アプリケーションＡＰ７を削除の対象となるリソース３０として選択する。
【００４１】
管理装置１０は、削除の対象となるリソース３０を選択すると、選択したリソース３０に対してジョブの取得の禁止を指示する禁止メッセージを送信する。アプリケーションＡＰ７は、禁止メッセージを取得すると、新たなジョブの取得を禁止し、処理中のジョブがあるか判断する。アプリケーションＡＰ７は、処理中のジョブが無い場合、削除要求メッセージを管理装置１０へ送信する。管理装置１０は、アプリケーションＡＰ７から送信された削除要求メッセージを受信する。管理装置１０は、削除要求メッセージを受信すると、削除の対象となるアプリケーションＡＰ７の削除を指示する削除指示メッセージを送信する。管理装置１０が送信した削除指示メッセージは、リソースＢが取得する。リソースＢは、削除指示メッセージで指定されたアプリケーションＡＰ７を削除する。
【００４２】
なお、リソースＢ上のアプリケーションＡＰ７が削除されると、リソースＢにおいては稼働しているアプリケーションが存在しなくなる。管理装置１０は、稼働しているアプリケーションが存在しない仮想マシンがある場合、当該仮想マシンの削除を指示する削除指示メッセージを送信する。管理装置１０が送信した削除指示メッセージは、制御装置４０が取得する。制御装置４０は、削除指示メッセージで指定されたリソースＢを削除する。
【００４３】
上述した実施形態においては、管理装置１０は、取得した第１情報を解析し、複数のリソース３０においてジョブを処理していないリソース３０がある場合は、当該リソース３０の削除を指示する削除指示メッセージを送信してもよい。
【００４４】
上述した実施形態においては、監視装置２０は、第１情報を管理装置１０へ供給しているが、管理装置１０が監視装置２０の機能を備え、監視装置２０を介さずに管理装置１０が第１情報を取得する構成であってもよい。
【００４５】
上述した実施形態においては、管理装置１０は、ステップＳＡ４で禁止メッセージを送信した後、予め定められた時間内に削除要求メッセージを受信しなかった場合、削除要求メッセージを受信しなくとも削除指示メッセージを送信するようにしてもよい。
【００４６】
上述した実施形態においては、管理装置１０は、禁止メッセージを送信した後、第１情報に含まれているジョブの量に対応付けられているリソースの数をテーブルから取得し、第１情報に含まれている稼働中のリソース３０の数がテーブルから取得した数より少ない場合、ジョブの取得を指示するメッセージを、禁止メッセージを取得したリソース３０へ送信してもよい。このメッセージは、禁止メッセージを取得していたリソース３０が取得する。このメッセージを取得したリソース３０は、ジョブの取得を再開し、取得したジョブの処理を行う。
【００４７】
上述した実施形態においては、制御装置４０がリソース３０のスケールインおよびスケールアウトを行っているが、管理装置１０がリソース３０のスケールインおよびスケールアウトを行う構成であってもよい。
【符号の説明】
【００４８】
１…情報処理システム、２…通信回線、５…クラウドシステム、１０…管理装置、２０…監視装置、３０…リソース、５０…ジョブキュー、４０…制御装置、８０…ロードバランサ、９０…端末装置、１０１…制御部、１０２…記憶部、１０５…通信部、２０１…制御部、２０２…記憶部、２０５…通信部、４０１…制御部、４０２…記憶部、４０５…通信部、１００１…第１取得部、１００２…特定部、１００３…第１指示部、１００４…第２指示部、２００１…第２取得部、２００２…第２供給部、４００１…リソース制御部、４００２…ジョブ情報供給部。
【図１】
2019021167.tif 000003
【図２】
2019021167.tif 000004
【図３】
2019021167.tif 000005
【図４】
2019021167.tif 000006
【図５】
2019021167.tif 000007
【図６】
2019021167.tif 000008
【図７】
2019021167.tif 000009
【図８】
2019021167.tif 000010
【図９】
2019021167.tif 000011
【図１０】
2019021167.tif 000012