(57)【要約】  パブリッククラウド上の仮想サーバシステムの起動や停止を含む稼動の制御に関して、顧客企業の都合及び時間に応じた正常及び詳細な制御を実現できる技術を提供する。本仮想サーバ稼動制御システムは、パブリッククラウド上の顧客企業の仮想サーバシステムの起動及び停止を含む稼動の状態を制御するサーバを有する。サーバは、設定に基づいて、仮想サーバシステムを構成する複数の仮想サーバの起動及び停止を含む稼動の制御のスケジュール情報を作成する。サーバは、スケジュールの日時に、対象のパブリッククラウドに対し、複数の仮想サーバの起動や停止の指示を与えることにより、仮想サーバシステムの起動や停止をさせる。
2016006026.tif 000002
【特許請求の範囲】
【請求項１】
パブリッククラウドを含むコンピュータシステム上における組織の仮想サーバシステムの起動及び停止を含む稼動の状態を制御するサーバ装置を有し、
前記サーバ装置は、
前記組織の設定者の端末の操作に基づいて、前記組織の都合に応じた時間での仮想サーバシステムの起動及び停止を含む稼動の制御のスケジュール情報を作成するスケジュール部と、
前記スケジュール情報に従う日時に、前記コンピュータシステム上の仮想サーバシステムの稼動の制御の動作を実行する制御部と、を有し、
前記制御部は、
前記仮想サーバシステムの起動の日時に、前記コンピュータシステムへ、当該仮想サーバシステムを構成する複数の仮想サーバの起動の指示を与えることにより、当該コンピュータシステムで複数の仮想サーバを起動させて、当該コンピュータシステムから起動の完了の確認をとり、
前記仮想サーバシステムの停止の日時に、前記コンピュータシステムへ、当該仮想サーバシステムを構成する複数の仮想サーバの停止の指示を与えることにより、当該コンピュータシステムで複数の仮想サーバを停止させて、当該コンピュータシステムから停止の完了の確認をとる、仮想サーバ稼動制御システム。
【請求項２】
請求項１記載の仮想サーバ稼動制御システムにおいて、
前記制御部は、前記仮想サーバの停止の指示を与える際、当該停止のための所定の終了処理の指示を与えることにより、前記コンピュータシステムで当該終了処理を実行させて、当該コンピュータシステムから当該終了処理の完了の通知を受け取り、その後、前記仮想サーバの停止の指示を与え、当該コンピュータシステムで当該仮想サーバを停止させて、当該コンピュータシステムから当該仮想サーバの停止の完了の確認をとる、仮想サーバ稼動制御システム。
【請求項３】
請求項２記載の仮想サーバ稼動制御システムにおいて、
前記コンピュータシステムは、前記サーバ装置の制御部と連携して処理を行うエージェント部が設けられ、
前記制御部は、前記仮想サーバシステムの稼動の制御の状態を稼動ステータス情報として記載する処理を行い、前記仮想サーバの停止の指示を与える際、当該停止のための所定の終了処理の指示を前記稼動ステータス情報に記載し、
前記エージェント部は、前記サーバ装置の稼動ステータス情報を参照し、前記終了処理の指示を確認した場合、当該終了処理を実行し、当該終了処理の完了に伴い、当該終了処理の完了を前記サーバ装置の稼動ステータス情報に記載し、
前記制御部は、前記稼動ステータス情報を参照し、前記終了処理の完了を確認した場合、前記仮想サーバの停止の指示を与える、仮想サーバ稼動制御システム。
【請求項４】
請求項１記載の仮想サーバ稼動制御システムにおいて、
前記スケジュール部は、前記組織の仮想サーバシステムを構成する複数の仮想サーバを起動させる順序及び停止させる順序の情報を設定し、
前記制御部は、
前記仮想サーバシステムの起動の指示の際、前記複数の仮想サーバの起動の順序を含む指示を与えて、当該順序で複数の仮想サーバを起動させ、
前記仮想サーバシステムの停止の指示の際、前記複数の仮想サーバの停止の順序を含む指示を与えて、当該順序で複数の仮想サーバを停止させる、仮想サーバ稼動制御システム。
【請求項５】
請求項１記載の仮想サーバ稼動制御システムにおいて、
前記スケジュール部は、前記組織の設定者の端末の操作に基づいて、前記パブリッククラウドを含むコンピュータシステム上における前記組織の仮想サーバシステムの情報と、前記組織の営業日及び休業日の情報を含むカレンダー情報と、前記カレンダー情報の日付に関係付ける前記仮想サーバシステムの起動及び停止を含む稼動の制御の動作及び実行時間に関する定義情報と、を含む情報を設定し、当該設定された情報に基づいて前記スケジュール情報を生成する処理を行う、仮想サーバ稼動制御システム。
【請求項６】
請求項５記載の仮想サーバ稼動制御システムにおいて、
前記スケジュール部は、複数の各々のパブリッククラウドを含むコンピュータシステムの情報と、複数の各々の組織における１つ以上の仮想サーバシステムにおける複数の各々の仮想サーバの情報と、を保持し、前記組織の設定者の端末の操作に基づいて、当該組織が利用する１つ以上のパブリッククラウドと１つ以上の仮想サーバシステムと１つ以上のカレンダー情報とを関係付けて設定する、仮想サーバ稼動制御システム。
【請求項７】
請求項５記載の仮想サーバ稼動制御システムにおいて、
前記サーバ装置は、前記組織の設定者の端末の操作に基づいて、前記組織の仮想サーバシステムの情報、前記カレンダー情報、及び前記定義情報を設定する設定画面を提供する、仮想サーバ稼動制御システム。
【請求項８】
請求項１記載の仮想サーバ稼動制御システムにおいて、
前記サーバ装置は、前記組織の設定者の端末の操作に基づいて、前記スケジュール情報の内容を確認する確認画面を提供する、仮想サーバ稼動制御システム。
【請求項９】
請求項１記載の仮想サーバ稼動制御システムにおいて、
前記制御部は、前記仮想サーバシステムの稼動の制御における前記起動及び停止の指示、並びに前記起動または停止が正常に完了できなかった場合のエラー情報を含む履歴情報を記録し、
前記サーバ装置は、前記組織の設定者の端末の操作に基づいて、前記履歴情報の内容を確認する確認画面を提供する、仮想サーバ稼動制御システム。
【請求項１０】
請求項１記載の仮想サーバ稼動制御システムにおいて、
前記制御部は、前記仮想サーバシステムの稼動の制御における前記起動または停止の指示に対する前記コンピュータシステムからの前記起動または停止の確認がとれなかった場合、エラー情報の通知を、前記設定者による設定に基づいて当該設定者の端末へ送信する、仮想サーバ稼動制御システム。
【請求項１１】
請求項３記載の仮想サーバ稼動制御システムにおいて、
前記エージェント部は、前記仮想サーバシステムの稼動の制御における前記起動または停止の指示に対する前記コンピュータシステムでの正常な起動または停止ができなかった場合、エラー情報の通知を、前記設定者による設定に基づいて当該設定者の端末へ送信する、仮想サーバ稼動制御システム。
【請求項１２】
パブリッククラウドを含むコンピュータシステム上における組織の仮想サーバシステムの起動及び停止を含む稼動の状態を制御するサーバ装置に処理を実行させるプログラムを含む仮想サーバ稼動制御プログラムであって、
前記組織の設定者の端末の操作に基づいて、前記組織の都合に応じた時間での仮想サーバシステムの起動及び停止を含む稼動の制御のスケジュール情報を作成するスケジュール処理と、
前記スケジュール情報に従う日時に、前記コンピュータシステム上の仮想サーバシステムの稼動の制御の動作を実行する制御処理と、を実行させ、
前記制御処理は、
前記仮想サーバシステムの起動の日時に、前記コンピュータシステムへ、当該仮想サーバシステムを構成する複数の仮想サーバの起動の指示を与えることにより、当該コンピュータシステムで複数の仮想サーバを起動させて、当該コンピュータシステムから起動の完了の確認をとり、
前記仮想サーバシステムの停止の日時に、前記コンピュータシステムへ、当該仮想サーバシステムを構成する複数の仮想サーバの停止の指示を与えることにより、当該コンピュータシステムで複数の仮想サーバを停止させて、当該コンピュータシステムから停止の完了の確認をとる、仮想サーバ稼動制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ及び情報処理の技術に関する。また本発明は、仮想サーバないし仮想マシンの稼動の状態を制御する技術に関する。
【背景技術】
【０００２】
従来、インターネット上のパブリッククラウド等のクラウドコンピューティングシステムを含むコンピュータシステムにおいて、物理サーバ上の仮想サーバ等により構成されるシステム（以下、仮想サーバシステムともいう）が稼動される。事業者は、パブリッククラウド等のシステム上で仮想サーバシステムを稼動させ、顧客企業等の組織に対し、仮想サーバの稼動時間等に応じた従量課金等の方式で提供する。顧客企業は、端末からパブリッククラウドの仮想サーバシステムにアクセスし、そのサービスや機能を利用する。【０００３】
従来、物理サーバ及び仮想サーバの起動や停止等を制御する基本的な技術や、稼動する仮想サーバの数を負荷に応じて制御する技術等は存在する。【０００４】
上記物理サーバ及び仮想サーバの稼動の制御に関する先行技術例として、特開平６−３３７７３８号公報（特許文献１）が挙げられる。特許文献１は、スケジュール管理ＤＢの設定に基づいてネットワークを介して計算機の電源のオン／オフを制御する記載がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−３３７７３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、上記パブリッククラウド上の顧客企業の仮想サーバシステムに関しては、常時稼動、即ち複数の仮想サーバが常に起動状態で運用及び利用される場合が多い。顧客企業は、従量課金によるコストを削減したい。そのためには、顧客企業の都合に応じた時間に仮想サーバを停止させて稼動時間等を減らすことが考えられる。例えば休業日や営業時間外等に停止させる運用である。しかしその場合、停止及び再起動等のために人手による指示及び設定等の作業に手間がかかるだけでなく、下記のように特有の課題から停止等の制御が十分に実現できない場合がある。そのため、上記常時稼動の運用及び利用が多く、仮想サーバの稼動時間等が減らし難いので、従量課金のコストが削減できない。【０００７】
事業者及び顧客企業は、顧客企業の都合に応じた時間に仮想サーバシステムを起動や停止させる制御を行う場合、パブリッククラウド毎及び仮想サーバシステム毎の特性や制約から、当該停止等の制御が十分に実現できない場合がある。仮想サーバシステムを起動や停止させる場合、パブリッククラウド毎及び仮想サーバシステム毎に所定の手順が必要である。仮想サーバの起動や停止の基本的な制御は、パブリッククラウドに応じて公開されるＡＰＩの使用、及びスクリプトプログラムによる指示や制御の設定等の手段を用いて技術的には可能である。【０００８】
上記制御を行うシステム（以下、稼動制御システムともいう）は、例えば仮想サーバを停止させる場合、パブリッククラウドへＡＰＩを通じて仮想サーバの停止の指示を与える。パブリッククラウドは、仮想サーバにより実行されているバッチ処理等の処理がある場合、当該処理の終了を待ってから停止させる。【０００９】
上記手段を用いて単純に仮想サーバの停止の指示をしても、パブリッククラウド毎の例えば仮想サーバのＯＳ毎の機能の制約により、正常な仮想サーバの停止ができない場合がある。ＯＳの機能の制約の例として、シャットダウン時の処理の時間制限がある。上記停止の指示が与えられた時、規定の制限時間内に処理の終了が完了しない場合、途中で仮想サーバが停止される結果あるいはエラー等の結果になる場合がある。従来、上記パブリッククラウド毎の仮想サーバの停止時の状況や特性や制約等を考慮して適切に停止等を制御する仕組みは提供されていない。【００１０】
また仮想サーバシステムを構成する複数の仮想サーバは、所定の関係性を持つので、制御の際にはそれらを適切に起動や停止させる手順を考慮する必要がある。例えば第１の仮想サーバを停止させる前に第２の仮想サーバを停止させる等の手順である。従来、上記関係性を考慮して適切に停止等を制御する仕組みは提供されていない。【００１１】
顧客企業は、上記時間に応じた制御を行う場合、人手により上記パブリッククラウドや仮想サーバシステム毎の特性を考慮した内容でＡＰＩによる指示等を行う必要がある。人手により上記時間毎の指示や制御を含むスクリプトプログラム等を作成及び設定し、適宜設定変更する等の作業が必要であり、手間や管理コストが大きい。【００１２】
なお特許文献１のような技術は、物理サーバの電源のオン／オフを制御する技術に相当し、物理サーバ上での仮想サーバの起動や停止に係わる課題は考慮されていないため、上記時間に応じた仮想サーバシステムの稼動の制御に適用するには不十分である。【００１３】
本発明の目的は、パブリッククラウド等のシステム上の仮想サーバシステムの起動や停止を含む稼動の制御に関して、顧客企業の都合及び時間に応じた正常及び詳細な制御を実現でき、従量課金のコストや設定作業の手間等を削減できる技術を提供することである。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明のうち代表的な形態は、パブリッククラウド等のコンピュータシステム上での仮想サーバシステムの稼動を制御するシステムである仮想サーバ稼動制御システム等であって、以下に示す構成を有することを特徴とする。【００１５】
一実施の形態の仮想サーバ稼動制御システムは、パブリッククラウドを含むコンピュータシステム上における組織の仮想サーバシステムの起動及び停止を含む稼動の状態を制御するサーバ装置を有し、前記サーバ装置は、前記組織の設定者の端末の操作に基づいて、前記組織の都合に応じた時間での仮想サーバシステムの起動及び停止を含む稼動の制御のスケジュール情報を作成するスケジュール部と、前記スケジュール情報に従う日時に、前記コンピュータシステム上の仮想サーバシステムの稼動の制御の動作を実行する制御部と、を有し、前記制御部は、前記仮想サーバシステムの起動の日時に、前記コンピュータシステムへ、当該仮想サーバシステムを構成する複数の仮想サーバの起動の指示を与えることにより、当該コンピュータシステムで複数の仮想サーバを起動させて、当該コンピュータシステムから起動の完了の確認をとり、前記仮想サーバシステムの停止の日時に、前記コンピュータシステムへ、当該仮想サーバシステムを構成する複数の仮想サーバの停止の指示を与えることにより、当該コンピュータシステムで複数の仮想サーバを停止させて、当該コンピュータシステムから停止の完了の確認をとる。
【発明の効果】
【００１６】
本発明のうち代表的な形態によれば、パブリッククラウド等のシステム上の仮想サーバシステムの起動や停止を含む稼動の制御に関して、顧客企業の都合及び時間に応じた正常及び詳細な制御を実現でき、従量課金のコストや設定作業の手間等を削減できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施の形態の仮想サーバ稼動制御システムを含むシステム全体の構成を示す図である。
【図２】一実施の形態の仮想サーバ稼動制御システムの構成を示す図である。
【図３】一実施の形態におけるパブリッククラウドの仮想サーバシステムの例を示す図である。
【図４】一実施の形態における仮想サーバシステムの例を示す図である。
【図５】一実施の形態における設定及びスケジュール生成の例を示す図である。
【図６】一実施の形態における仮想サーバ稼動制御実行の例を示す図である。
【図７】一実施の形態における仮想サーバシステム起動時の処理例を示す図である。
【図８】一実施の形態における仮想サーバシステム停止時の処理例を示す図である。
【図９】一実施の形態におけるカレンダー情報の設定画面の例を示す図である。
【図１０】一実施の形態におけるカレンダー情報の構成例を示す図である。
【図１１】一実施の形態における稼動制御定義情報の構成例を示す図である。
【図１２】一実施の形態におけるサーバ定義情報の構成例を示す図である。
【図１３】一実施の形態におけるスケジュール情報の構成例を示す図である。
【図１４】一実施の形態における稼動ステータス情報の構成例を示す図である。
【図１５】一実施の形態における稼動制御定義情報の設定画面の第１の例を示す図である。
【図１６】一実施の形態における稼動制御定義情報の設定画面の第２の例を示す図である。
【図１７】一実施の形態における稼動制御スケジュール確認画面の例を示す図である。
【図１８】一実施の形態における稼動制御の例及び効果を従来例との比較で示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお実施の形態を説明するための全図において同一部には原則として同一符号を付しその繰り返しの説明は省略する。本実施の形態の仮想サーバ稼動制御システムは、以下の特徴を含む構成を有する。
【００１９】
（１）本システムは、顧客企業の都合に応じたスケジュールで、且つパブリッククラウド毎及び仮想サーバシステム毎の特性や制約を考慮して、仮想サーバシステムの起動及び停止を含む稼動を、正常及び詳細に制御する技術的な仕組みを提供する。具体的には、仮想サーバの稼動制御のエージェント等を用いた、仮想サーバの停止前の処理の自動化の仕組みを有する。本システムは、仮想サーバシステムを停止させる際、パブリッククラウド毎及び仮想サーバシステム毎の特性や制約を考慮した必要な終了処理を行わせてから仮想サーバを停止させる。
【００２０】
（２）本システムは、仮想サーバシステムの単位を構成する複数の仮想サーバを正常かつ容易に起動及び停止させる仕組みを提供する。具体的には、本システムは、顧客企業のユーザによる簡易な設定に基づいて、仮想サーバシステムの複数の仮想サーバを適切な順序で起動や停止させる手順の処理を実行させる。
【００２１】
（３）本システムは、顧客企業のユーザによる簡易な設定に基づいて、顧客企業の営業日等のカレンダーから、詳細な稼動制御のスケジュールを生成し、当該スケジュールに従い自動的に仮想サーバシステムの起動及び停止を含む稼動の制御を実行する。本システムは、顧客企業のユーザによる簡易な設定等を可能とするユーザインタフェースとして設定画面等を提供する。ユーザは、画面で、顧客企業のカレンダー、仮想サーバシステムの構成、稼動制御の定義情報、等を容易に設定でき、確認できる。
【００２２】
［システム全体］
図１は、一実施の形態の仮想サーバ稼動制御システムを含むシステム全体の構成を示す。システム全体は、通信網であるインターネット４を通じて、事業者１のサーバ１０を含むシステムと、複数の各々の顧客企業２の端末４１，４２を含むシステムと、複数の各々の事業者３のパブリッククラウド３０を含むシステムとが接続される。
【００２３】
事業者１のサーバ１０は、言い換えると仮想サーバ稼動制御装置である。事業者１のシステムは、サーバ１０以外の機器を含んでもよい。サーバ１０は、複数のサーバ装置及びストレージ装置等により構成されるサーバシステム等でもよい。事業者１のシステムと、事業者３のパブリッククラウド３０とは、通信網上の異なるロケーションに存在する。
【００２４】
顧客企業２のシステムは、複数の各々のユーザの端末４１，４２を含み、端末４１，４２以外のサーバ等の機器を含んでもよい。顧客企業２のユーザは、一般の社員等のユーザと、システム管理者等の、本システムに対する設定者であるユーザとを含む。一般のユーザは、端末４２を使用し、業務を行う。設定者は、端末４１を使用し、業務を行うと共に、本システムに対する設定等を行う。
【００２５】
事業者３のパブリッククラウド３０は、言い換えると仮想サーバ稼動システムであり、物理サーバやストレージや通信機器等を含む。パブリッククラウド３０は、インターネット４上で、企業等を含む不特定のユーザに対し、クラウドコンピューティングによるサービス処理を提供する公知のコンピュータシステムである。パブリッククラウド３０は、そのハードウェア及びソフトウェアを含むリソースを用いて、顧客企業２の仮想サーバシステム６を構成し稼動させる。複数の各々の事業者３のパブリッククラウド３０は、内部的な仕組みや特性が異なる。
【００２６】
５ａは、事業者１と顧客企業２とが契約し、事業者１が顧客企業２に対し仮想サーバシステム６の稼動制御を含む運用保守等のサービスを提供することを示す。５ｂは、サーバ１０がパブリッククラウド３にアクセスして仮想サーバシステム６の稼動制御を行うことを示す。５ｃは、顧客企業２の端末４１，４２が適宜パブリッククラウド３０上の仮想サーバシステム６にアクセスし、仮想サーバシステム６によるサービス処理等を利用することを示す。５ｄは、設定者の端末４１がサーバ１０にアクセスし、本システムの設定や稼動制御内容の確認等を行うことを示す。
【００２７】
なお本システムの設定者は、顧客企業２内のシステム管理者等の人に限らず、事業者１側の管理者や担当者等の人、事業者３側の管理者等の人でもよい。
【００２８】
［仮想サーバ稼動制御システム］
図２は、一実施の形態の仮想サーバ稼動制御システムの構成を示す。一実施の形態の仮想サーバ稼動制御システムは、主にサーバ１０により構成され、詳しくは、顧客企業２の端末４１及びパブリッククラウド３０との連携で構成される。本システムは、仮想サーバシステム６の仮想サーバ７０の稼動の状態を制御するために、構成要素として、パブリッククラウド３０内に、エージェント８０が設けられる。
【００２９】
サーバ１０は、処理部として、ＵＩ部１１、スケジュール生成部１２、稼動制御部１３、及びエージェント通信ＩＦ部１６を有する。サーバ１０は、記憶及び管理するデータ及び情報として、カレンダー情報５１、稼動制御定義情報５２、サーバ定義情報５３、スケジュール情報５４、稼動ステータス情報５５、及びログ情報５６を有する。
【００３０】
サーバ１０は、ＭＰＵ等のプロセッサ、ＲＯＭやＲＡＭやディスク等の記憶装置、バスや通信インタフェース部や入出力デバイス等の公知の要素を備える。サーバ１０の各処理部は、例えばソフトウェアプログラム処理により実現される。サーバ１０は、例えばＭＰＵによりＲＡＭ等に格納された本実施の形態のプログラムをＲＯＭ等にロードして実行することにより、上記各処理部を実現する。サーバ１０の各情報は、例えばＤＢの表に格納される。サーバ１０の各情報は、サーバ１０の外部の装置に格納されてもよい。
【００３１】
ユーザの端末４１，４２は、ＰＣやスマートフォン等のコンピュータにより構成され、Ｗｅｂブラウザやメールクライアント等の公知の要素を備える。
【００３２】
パブリッククラウド３０は、複数の物理サーバ３１、及び管理装置３２を含む。物理サーバ３１は、所定のハードウェア６１及びハイパーバイザ６２を含む。ハイパーバイザ６２は、仮想化ソフトウェアであり、ハードウェア６１を含むリソースを用いて、ＯＳを含む１つ以上の仮想サーバ７０をインスタンスとして構成し稼動させる。ハイパーバイザ６２は、指示に応じて、仮想サーバ７０の起動や停止を行う。パブリッククラウド３０は、インターネット４に、仮想サーバ７０を制御するためのＡＰＩ（アプリケーション・プログラム・インタフェース）を公開している。なおパブリッククラウド３０は、ＶＭｗａｒｅ（登録商標）等のソフトウェアを用いて仮想マシンを稼働させるシステムでもよい。その場合、稼動制御の対象は、仮想マシン及びそれにより構成されるシステムである。
【００３３】
管理装置３２は、パブリッククラウド３０毎に元々備える構成要素であり、物理サーバ３１及び仮想サーバ７０を管理する。管理装置３２は、例えば物理サーバ３１の電源のオン及びオフ、並びに仮想サーバ７０の起動及び停止を制御する機能を持つ。管理装置３２は、サーバ１０の稼動制御部１３からの指示に応じて、仮想サーバ７０の起動や停止を行う。
【００３４】
物理サーバ３１上には、仮想サーバ７０が稼働し、仮想サーバ７０内でエージェント８０がプロセスとして稼働される。エージェント８０の起動及び停止は、仮想サーバ７０内のＯＳにより実施される。エージェント８０は、例えば仮想サーバ７０と一対一で関係付けられ、当該仮想サーバ７０の起動に伴い起動され、当該仮想サーバ７０の停止に伴い停止される。
【００３５】
エージェント８０は、サーバ１０と連携する処理部である。エージェント８０は、物理サーバ３１上の仮想サーバ７０の稼動の状態を把握し、パブリッククラウド３０毎の特性や制約を考慮した、仮想サーバ７０の起動や停止の制御に伴う処理を行う。特に、エージェント８０は、稼動制御部１３との連携で仮想サーバ７０の停止の際の前処理である終了処理を実行する機能を有する。エージェント８０は、定期的にサーバ１０のエージェント通信ＩＦ部１６にアクセスし、エージェント通信ＩＦ部１６を介して稼動ステータス情報５５を読み書きする。これによりエージェント８０は、稼動制御に係わる情報を参照や更新する。またエージェント８０は、後述のエラー発生時等に必要に応じてユーザの端末４１へ通知する機能を有する。
【００３６】
サーバ１０において、ＵＩ部１１は、設定者に対するユーザインタフェースとして、設定画面や確認画面を含むＧＵＩを提供する。ＵＩ部１１は、例えばＷｅｂサーバ等で構成され、Ｗｅｂページによる画面を提供する。ＵＩ部１１は、設定者の端末４１からの操作に基づいて、カレンダー情報５１、稼動制御定義情報５２、及びサーバ定義情報５３等を設定及び確認するための設定画面や確認画面を提供する。ＵＩ部１１は、設定画面で設定された情報を、カレンダー情報５１、稼動制御定義情報５２、及びサーバ定義情報５３に格納する。またＵＩ部１１は、設定情報や、ログ情報５６や、稼動制御のスケジュール等を整理して表示する確認画面を提供する。
【００３７】
スケジュール生成部１２は、カレンダー情報５１、稼動制御定義情報５２、及びサーバ定義情報５３等の設定情報に基づいて、稼動制御のスケジュール情報５４を生成する。スケジュール情報５４は、稼動制御の日時等のスケジュールを含む情報である。
【００３８】
稼動制御部１３は、仮想サーバシステム６及び仮想サーバ７０の稼動制御部である。稼動制御部１３は、スケジュール情報５４に従う日時及び内容で、パブリッククラウド３０に対し、仮想サーバシステム６の稼動制御を実行する。その際、稼動制御部１３は、適宜稼動ステータス情報５５を読み書きしてエージェント８０と連携しながら、稼動制御を実行する。稼動制御部１３は、パブリッククラウド３０のＡＰＩを使用して仮想サーバ７０の起動や停止を指示する。稼動制御部１３は、稼動ステータス情報５５に現在の稼動制御のステータスを記載する。稼動制御部１３は、ログ情報５６に、一連の指示、ステータスを含む、稼動制御の処理の履歴情報を記録する。また稼動制御部１３は、後述のエラー発生時にユーザの端末４１へ通知する機能を有する。
【００３９】
エージェント通信ＩＦ部１６は、エージェント８０との通信のインタフェースを受け持つモジュールであり、エージェント８０からのアクセスに応じて稼動ステータス情報５５を読み書きする。エージェント８０は、エージェント通信ＩＦ部１６を呼び出すことにより稼動ステータス情報５５をポーリングする。即ちエージェント８０は、エージェント通信ＩＦ部１６を介して定期的に稼動ステータス情報５５を参照し、その内容を読み書きする。エージェント８０は、稼動ステータス情報５５の稼動制御のステータスの変更を受けて、例えば終了処理等の処理を開始する。
【００４０】
本実施の形態では、サーバ１０側からエージェント８０へはアクセスせず、常にエージェント８０側からサーバ１０へポーリングの形態でアクセスする。稼動制御部１３は、エージェント８０に対し直接的な指示はせず、稼動ステータス情報５５を介在して指示及び制御が行われる。
【００４１】
なおサーバ１０がエージェント８０に対し直接的に指示する形態も可能であるが、そのためには、エージェント８０がグローバルＩＰアドレス等の情報を保有する必要がある。この保有は、コスト及びセキュリティ上の問題が発生し得るものであり、本システムの実現及び利用上の制約となる。よって、本実施の形態では、エージェント８０がサーバ１０の稼動ステータス情報５５をポーリングし、稼動制御部１３とエージェント８０との間で間接的に通信する。これによりエージェント８０はグローバルＩＰアドレス等の情報を保有する必要が無く、本システムの実現及び利用がしやすい。
【００４２】
カレンダー情報５１は、一般的なカレンダーの暦日等の情報だけでなく、顧客企業毎の都合に応じた営業日や休業日等の情報が含まれる。稼動制御定義情報５２は、スケジュール情報５４を生成するための、稼動制御の対象日や内容に関する定義情報が含まれる。サーバ定義情報５３は、パブリッククラウド３０の顧客企業２の仮想サーバシステム６へのアクセスに必要な情報が含まれる。カレンダー情報５１、稼動制御定義情報５２、及びサーバ定義情報５３は、顧客企業２毎の都合に応じた内容を適宜設定することができる。
【００４３】
稼動ステータス情報５５は、少なくとも現在時の稼動制御の状態を表すステータス情報が保持される。ログ情報５６は、稼動ステータス情報５５の内容を含めて、サーバ１０がパブリッククラウド３０の仮想サーバシステム６に対して実施した一連の指示等を含む情報が時系列で保持される。なおログ情報５６内には、後述のエラー発生の場合の情報も記録される。
【００４４】
スケジュール情報５４、稼動ステータス情報５５、及びログ情報５６等の内容は、ＵＩ部１１により提供される確認画面を通じて、設定者により参照及び確認が可能である。ユーザは、適宜確認画面で、稼動制御のスケジュール、ステータス、履歴等を確認できる。
【００４５】
なお例えば事業者１の設定者や事業者３の設定者は、顧客企業２の設定者からの指示に従い、上記設定情報を設定してもよい。例えば事業者１の設定者は、稼動制御定義情報５２の一部（後述のスケジュールタイプ等）を予め設定してもよい。顧客企業２の設定者は、当該予め設定された定義情報から選択して設定に利用できる。また事業者１や事業者３の設定者は、パブリッククラウド３０の情報をサーバ定義情報５３に設定してもよい。
【００４６】
［複数のパブリッククラウド及び複数の仮想サーバシステム］
図３は、複数のパブリッククラウド３０における複数の顧客企業２の仮想サーバシステム６の例を示す。例えば第１のパブリッククラウドPUB1，第２のパブリッククラウドPUB２がある。例えば第１の顧客企業Ａ、第２の顧客企業Ｂがある。顧客企業Ａは、例えば第１のパブリッククラウドPUB1上に稼動される第１の仮想サーバシステムSYS1と、第２のパブリッククラウドPUB2上に稼動される第２の仮想サーバシステムSYS2とを利用する。顧客企業Ｂは、例えば第１のパブリッククラウドPUB1上に稼動される第１の仮想サーバシステムSYS1を利用する。
【００４７】
顧客企業Ａの仮想サーバシステムSYS1は、ｍ個の物理サーバ３１｛ＰＳ１〜ＰＳｍ｝上に構成されるｎ個の仮想サーバ７０｛ＶＳ１〜ＶＳｎ｝により構成される。各仮想サーバ７０｛ＶＳ１〜ＶＳｎ｝は、例えば一対一でエージェント８０｛Ａ１〜Ａｎ｝が関係付けられる。パブリッククラウドPUB2の仮想サーバシステムSYS2についても同様である。PUB1，SYS1等は説明上の識別情報を示す。ｍ，ｎ等の数字は可変である。
【００４８】
顧客企業２は、例えば部署等の違いに応じて、所望の複数のパブリッククラウド３０の仮想サーバシステム６を夫々のカレンダーで利用できる。顧客企業２は、１つのパブリッククラウド３０内の異なる複数の仮想サーバシステム６も利用できる。顧客企業２の情報システムが仮想サーバシステム６を用いて実現する処理は、自社の業務処理やデータバックアップ処理等が挙げられる。
【００４９】
［顧客企業の仮想サーバシステムの構成例］
図４は、顧客企業２の仮想サーバシステム６の構成例を示す。図４の（ａ）は、顧客企業Ａの仮想サーバシステムSYS1に相当する、複数（ｎ個）の仮想サーバ７０｛ＶＳ１〜ＶＳｎ｝による集まりないしグループの構成を示す。
【００５０】
図４の（ｂ）は、顧客企業Ａの仮想サーバシステムSYS1の詳しい第１の構成例を示す。仮想サーバシステムSYS1は、第１の仮想サーバＶＳ１であるＤＢサーバDS1と、第２の仮想サーバＶＳ２であるＷｅｂサーバWS2と、第３の仮想サーバＶＳ３であるＷｅｂサーバWS1とから成る。ＶＳ１，DS1等は識別情報を示す。複数の仮想サーバ７０の関係性として例えば、ＷｅｂサーバWS1，WS2は、ＤＢサーバDS1にアクセスしデータを読み書きする。なお丸数字は後述の起動順序、括弧付き数字は後述の停止順序を示す。
【００５１】
図４の（ｃ）は、顧客企業Ａの仮想サーバシステムSYS2の詳しい第２の構成例を示す。仮想サーバシステムSYS2は、第１の仮想サーバＶＳ１であるファイルサーバFS1と、第２の仮想サーバＶＳ２であるＤＢサーバDS1と、第３の仮想サーバＶＳ３であるバッチサーバBS1と、第４の仮想サーバＶＳ４であるＷｅｂサーバWS2と、第５の仮想サーバＶＳ５であるＷｅｂサーバWS1とから成る。関係性として例えば、ＤＢサーバDS1はファイルサーバFS1にアクセスし、バッチサーバBS1はＤＢサーバDS1及びファイルサーバFS1にアクセスし、ＷｅｂサーバWS1，WS2はＤＢサーバDS1にアクセスする。
【００５２】
［処理概要］
図２の仮想サーバ稼動制御システムによる処理の概要は以下である。
【００５３】
（１）  顧客企業２の設定者であるユーザは、端末４１からサーバ１０にアクセスし、ＵＩ部１１により提供される設定画面において、顧客企業２のカレンダー情報５１、稼動制御定義情報５２、及びサーバ定義情報５３等の必要な情報を、適宜入力し設定する。設定内容は適宜更新できる。
【００５４】
（２）  サーバ１０のスケジュール生成部１２は、設定に基づく所定のタイミングで、上記（１）の設定情報を参照し、当該設定情報に基づいて、顧客企業２の仮想サーバシステム６の稼動制御のためのスケジュール情報５４、例えば次日や次週等の時間単位のインスタンスを生成する処理を行う。
【００５５】
（３）  サーバ１０の稼動制御部１３は、スケジュール情報５４を参照し、スケジュール情報５４に記述された日時及び内容で、対象のパブリッククラウド３０の仮想サーバシステム６の各仮想サーバ７０に対する起動や停止の稼動制御を実行する。その際、稼動制御部１３は、対象のパブリッククラウド３０に対しＡＰＩを使用して起動等を指示する。また稼動制御部１３は、適宜、稼動ステータス情報５５に、稼動制御の指示等を表すステータス情報を記載し、またエージェント８０により記載された通知等のステータス情報を確認する。
【００５６】
（４）  パブリッククラウド３０は、サーバ１０からの指示に応じて、仮想サーバシステム６の仮想サーバ７０を起動や停止させる。また仮想サーバ７０のエージェント８０は、定期的にサーバ１０のエージェント通信ＩＦ部１６を通じて稼動ステータス情報５５を参照する。エージェント８０は、稼動制御部１３による稼動制御の指示がある場合、当該指示に従い仮想サーバの７０の稼動制御の処理を実行し、その完了の通知を送信して稼動ステータス情報５５にステータス情報を記載させる。
【００５７】
（５）  サーバ１０の稼動制御部１３は、上記稼動制御の指示や、パブリッククラウド３０からの確認結果、及びエージェント８０からの通知を含む一連の情報を、ログ情報５６に記録する。後述のエラー発生時の場合、稼動制御部１３は、エラー情報をログ情報５６に記録する。エージェント８０及び稼動制御部１３は、設定に基づいて、ユーザの端末４１へエラー情報を通知する。
【００５８】
以下、図５〜図８を用いて、上記仮想サーバ稼動制御システムによる処理やデータ等について、具体例を交えながら順に説明する。
【００５９】
［（１）設定及びスケジュール生成］
図５は、設定及びスケジュール生成の際の処理等の例を示す。例えば顧客企業Ａの設定者であるユーザは、端末４１からサーバ１０にアクセスし、ＵＩ部１１により提供される設定画面５００で、カレンダー情報５１、稼動制御定義情報５２、及びサーバ定義情報５３の内容を設定する。
【００６０】
カレンダー情報５１は、例えば５０１のように、顧客企業Ａの「部署１」に対応したカレンダーＣＡ１として、暦日の日付毎に営業日や休業日等が設定される。実装では休業日の情報のみが登録されていてもよい。サーバ定義情報５３は、例えば５０３のように、顧客企業Ａの「部署１」に対応して利用されるパブリッククラウドPUB1の仮想サーバシステムSYS1の構成（図４の（ｂ））が設定される。即ちSYS1の具体的な構成は、顧客企業２からみた複数のサーバ｛DS1，WS1，WS2｝に関係付けられた、複数の仮想サーバ７０｛ＶＳ１〜ＶＳ３｝である。
【００６１】
稼動制御定義情報５２は、例えば対象のカレンダー、仮想サーバシステム、実行日時、稼動制御動作、等の定義情報が設定される。定義情報は、例えば５０２のように、対象のカレンダーＣＡ１と、当該カレンダーＣＡ１のうちの実行対象日を指定するスケジュールタイプＳＴ１と、対象の仮想サーバシステムSYS1と、稼動制御の動作とが設定されている。稼動制御の動作は、例えば９時に起動、２１時に停止、が設定されている。スケジュールタイプＳＴ１は、後述するが、ここでは「毎営業日」、即ち営業日（休業日以外）に毎日実行することを示す。
【００６２】
スケジュール生成部１２は、カレンダー情報５１、稼動制御定義情報５２、及びサーバ定義情報５３の設定情報の内容に基づいて、設定に基づく所定のタイミングで、稼動制御のためのスケジュールインスタンスを生成し、スケジュール情報５４に格納する。スケジュール生成部１２は、例えば顧客企業２毎の設定者による可変の設定に基づいて、毎日の定時、例えば２２時に、所定の時間単位、例えば翌日分のスケジュールインスタンスを生成する。
【００６３】
スケジュールインスタンスは、例えば５０４のように、稼動制御の実施の日時の時系列順で、対象のパブリッククラウド３０、仮想サーバシステム６の複数の仮想サーバ７０、稼動制御動作、等の情報が含まれる。この情報は、複数の各々の仮想サーバ７０の起動や停止の順序の情報が含まれる。なお５０４では仮想サーバシステム６の単位での起動や停止の動作の情報を括弧で示しているが、実装では当該仮想サーバシステム６の単位の情報を省略できる。
【００６４】
５０４のうち、例えば５１１は、１月１０日の９時に、パブリッククラウドPUB1の仮想サーバシステムSYS1を、｛ＶＳ１，ＶＳ２，ＶＳ３｝の順序で起動させる指示を示す。５１２は、１月１０日の２１時に、パブリッククラウドPUB1の仮想サーバシステムSYS1を、｛ＶＳ３，ＶＳ２，ＶＳ１｝の順序で停止させる指示を示す。
【００６５】
［（２）仮想サーバ稼動制御実行］
図６は、続いて、稼動制御の実行の際の処理等の例を示す。サーバ定義情報５３及びスケジュール情報５４の内容は図５と同様とする。稼動制御部１３は、仮想サーバシステム６の稼動制御サービス６００を常時稼動させる。稼動制御部１３の稼動制御サービス６００は、スケジュール情報５４のスケジュールインスタンスに従う日時及び内容で、サーバ定義情報５３の情報（後述の認証情報を含む）を用いながら、対象のパブリッククラウド３０に対し、顧客企業２の仮想サーバシステム６の複数の仮想サーバ７０の起動及び停止を制御する。稼動制御部１３の稼動制御サービス６００は、エージェント８０とのやり取りのため、適宜、稼動ステータス情報５５に、５０５のように、指示等のステータス情報を記載する。
【００６６】
６０１は、稼動制御部１３が稼動ステータス情報５５に、終了処理の指示等のステータス情報を記載することを示す。６０２は、稼動制御部１３からパブリッククラウド３０へＡＰＩを使用して起動や停止の指示を送信することを示す。６０３は、仮想サーバ７０のエージェント８０が、サーバ１０のエージェント通信ＩＦ部１６を介して稼動ステータス情報５６をポーリング、即ち定期的に参照することを示す。
【００６７】
［（３）仮想サーバシステム起動時の処理］
図７は、仮想サーバシステム６を起動させる時の処理例を示す。サーバ１０の稼動制御部１３等は、図７中に示すステップＳ１〜Ｓ６の順で処理を行う。稼動制御部１３の稼動制御サービス６００は、スケジュール情報５４に従い、対象のパブリッククラウド３０の仮想サーバシステム６の複数の仮想サーバ７０を所定の順序で起動させる。以下では、５１１の情報に従い、仮想サーバシステムSYS1の仮想サーバＶＳ１〜ＶＳ３を｛ＶＳ１，ＶＳ２，ＶＳ３｝の順序で起動する例で説明する。
【００６８】
（Ｓ１）  サーバ１０の稼動制御部１３は、５１１の情報に従い、対象のパブリックラウドPUB1に対し、ＡＰＩを使用して、顧客企業Ａの仮想サーバシステムSYS1のうち、まず第１の仮想サーバ７０であるＶＳ１を対象とする起動の指示を送信する。
【００６９】
（Ｓ２）  上記Ｓ１の起動の指示を受信したパブリッククラウドPUB1は、管理装置３２により、対象の仮想サーバシステムSYS1の仮想サーバＶＳ１とそれに伴うエージェントＡ１とを起動させる。エージェントＡ１は、仮想サーバＶＳ１のＯＳにより起動される。
【００７０】
（Ｓ３）  稼動制御部１３は、上記Ｓ１の起動の指示の発行に対応させて、稼動ステータス情報５５に、当該起動の指示を表すステータス情報を記載する。当該ステータス情報は、７０１では「（１）１／１０  ９：００  ＶＳ１  起動指示」として示す。
【００７１】
（Ｓ４）  稼動制御部１３は、パブリッククラウドPUB1を通じ、上記仮想サーバＶＳ１の起動の完了を確認する。パブリッククラウドPUB1は、管理装置３２を通じ、当該仮想サーバＶＳ１の起動の完了の通知をサーバ１０の稼動制御部１３へ応答する。
【００７２】
（Ｓ５）  稼動制御部１３は、上記Ｓ４の通知を受けると、稼動ステータス情報５５に、仮想サーバＶＳ１の起動の完了を表すステータス情報を記載する。当該ステータス情報は、「……ＶＳ１  起動完了」で示す。稼動ステータス情報５５は、後述（図１４）するが、仮想サーバ７０毎に現在時点のステータスが記載及び保持される。なお図７の稼動ステータス情報５５の７０１（図８の７０２も同様）では、説明上わかりやすいように、対象の仮想サーバ７０のステータスの変遷を時系列順で記載している。
【００７３】
（Ｓ６）  稼動制御部１３は、次に起動すべき仮想サーバ７０であるＶＳ２に関する処理へ移る。ＶＳ２に関する起動の処理は、上記Ｓ１〜Ｓ５と同様の繰り返しである。対応するステータス情報は、「……ＶＳ２  起動指示」「……ＶＳ２  起動完了」で示す。ＶＳ２の処理の後、同様に、ＶＳ３に関する起動の処理が行われる。このようにして、サーバ１０は、仮想サーバシステムSYS1の仮想サーバ７０｛ＶＳ１〜ＶＳ３｝を順に起動させる。稼動制御部１３は、Ｓ１〜Ｓ６に係る一連の処理状況を、ログ情報５６に記録する。
【００７４】
［（４）仮想サーバシステム停止時の処理］
図８は、仮想サーバシステム６を停止させる時の処理例を示す。サーバ１０の稼動制御部１３及びパブリッククラウド３０側のエージェント８０等は、図８中に示すステップＳ１１〜Ｓ２１の順で処理を行う。稼動制御部１３の稼動制御サービス６００は、スケジュール情報５４に従い、対象のパブリッククラウド３０の仮想サーバシステム６の複数の仮想サーバ７０を所定の順序で停止させる。以下では、５１２の情報に従い、仮想サーバシステムSYS1の仮想サーバＶＳ１〜ＶＳ３を｛ＶＳ３，ＶＳ２，ＶＳ１｝の順で停止する例で説明する。
【００７５】
（Ｓ１１）  稼動制御部１３は、５１２の情報に従い、対象のパブリッククラウドPUB1の顧客企業Ａの仮想サーバシステムSYS1のうちまず第３の仮想サーバ７０であるＶＳ３の停止のための終了処理を指示するためのステータス情報を稼動ステータス情報５５に記載する。当該ステータス情報は、７０２では「（１）１／１０  ２１：００  ＶＳ３  終了処理指示」として示す。
【００７６】
（Ｓ１２）  エージェント８０であるＡ３は、定期的に稼動ステータス情報５５を参照しており、これにより上記Ｓ１１の終了処理指示を確認する。
【００７７】
（Ｓ１３）  エージェントＡ３は、上記終了処理指示に従い、仮想サーバＶＳ３を停止させるための所定の終了処理を実行する。この終了処理は、パブリッククラウドPUB1の特性や制約が考慮された処理であり、例えば仮想サーバＶＳ３のＯＳの前述の終了時制限時間内では終了できないプロセスを事前に終了させる処理である。
【００７８】
（Ｓ１４）  エージェントＡ３は、上記終了処理を完了すると、当該終了処理の完了の通知を送信し、エージェント通信ＩＦ部１６を介して稼動ステータス情報５５に対応するステータス情報を記載させる。当該ステータス情報は、「……ＶＳ３  終了処理完了」で示す。
【００７９】
（Ｓ１５）  稼動制御部１３は、稼動ステータス情報５５の上記Ｓ１４の終了処理完了のステータス情報を確認する。
【００８０】
（Ｓ１６）  稼動制御部１３は、上記Ｓ１５の確認に基づいて、パブリッククラウドPUB1へ、ＡＰＩを使用して、仮想サーバシステムSYS1の仮想サーバＶＳ３の停止の指示を送信する。
【００８１】
（Ｓ１７）  パブリッククラウドPUB1は、上記Ｓ１６の停止の指示を受信し、管理装置３２により、仮想サーバシステムSYS1の仮想サーバＶＳ３及び対応するエージェントＡ３を停止させる。エージェントＡ３は、仮想サーバＶＳ３のＯＳにより停止される。
【００８２】
（Ｓ１８）  稼動制御部１３は、上記Ｓ１６の停止の指示の発行と共に、対応するステータス情報を稼動ステータス情報５５に記載する。当該情報は「……ＶＳ３  停止指示」で示す。
【００８３】
（Ｓ１９）  稼動制御部１３は、パブリッククラウドPUB1へ、ＡＰＩを使用して、仮想サーバシステムSYS1の仮想サーバＶＳ３の状態を確認し、状態が停止になるまで確認を繰り返す。
【００８４】
（Ｓ２０）  稼動制御部１３は、上記Ｓ１９の停止の完了を受けて、稼動ステータス情報５５に、ＶＳ３の停止の完了を表すステータス情報を記載する。当該情報は「……ＶＳ３  停止完了」で示す。
【００８５】
（Ｓ２１）  稼動制御部１３は、次に停止すべき仮想サーバ７０であるＶＳ２に関する処理へ移る。ＶＳ２に関する起動の処理は、上記Ｓ１１〜Ｓ２０と同様の繰り返しである。ＶＳ２の処理の後、同様に、ＶＳ３に関する停止の処理が行われる。このようにして、サーバ１０は、仮想サーバシステムSYS1の仮想サーバ７０｛ＶＳ１〜ＶＳ３｝を順に停止させる。稼動制御部１３は、（Ｓ１１）〜（Ｓ２１）に係る一連の処理状況を、ログ情報５６に記録する。
【００８６】
［起動や停止の際のエラーの場合］
本システムにおいて、サーバ１０の稼動制御部１３とパブリッククラウド３０及びエージェント８０との間における、仮想サーバ７０の起動や停止の制御の際に、何らかの要因により、起動や停止が正常に完了できない場合も発生し得る。仮想サーバ７０の起動や停止の処理が正常に完了しない場合、サーバ１０またはエージェント８０は、当該状況を例外的なエラーないし異常と判断し処理する。上記の要因としては、例えばインターネット４上の通信の障害、物理サーバ３１の障害等がある。
【００８７】
上記エラーないし異常は、大別して以下の３種類が挙げられる。サーバ１０及びエージェント８０は、例えば以下のようにエラー等の判断や対処の処理を行う。
【００８８】
（１）稼動制御部１３がパブリッククラウド３０に通信した際に発生する通信エラーや認証エラー等がある。稼動制御部１３が例えば停止の指示をパブリッククラウド３０へ送信したが所定時間経過しても停止完了の確認ができない場合や、アクセス時に認証情報を送信したが認証結果がエラーの場合がある。稼動制御部１３は、当該状況を検知した場合、上記エラーと判断し処理する。稼動制御部１３は、当該エラーの情報を、ログ情報５６に記録する。
【００８９】
（２）稼動制御部１３は、稼動ステータス情報５５を通じてエージェント８０に終了処理を指示した後、エージェント８０からの終了処理の完了の通知を待つ。稼動制御部１３は、この待ち時間でタイムアウトの場合、即ち事前に設定された待ち時間の上限値を超えても、当該完了のステータス情報が確認できない場合、上記エラーと判断し処理する。稼動制御部１３は、当該エラーの情報を、ログ情報５６に記録する。
【００９０】
（３）エージェント８０は、指示を受けて停止のための終了処理を開始するが、当該終了処理の間に、物理サーバ３１等における予期しない障害が発生する場合があり、終了処理を完了できない。エージェント８０は、このような障害を検知した場合、上記エラーと判断し処理する。エージェント８０は、当該エラーの情報を、サーバ１０へ通知し稼動ステータス情報５５へ記載させる。稼動制御部１３は、当該エラーのステータス情報を認識し、ログ情報５６に記録する。
【００９１】
上記（１）〜（３）のエラーの発生の場合、稼動制御部１３は、当該エラーの情報を、ユーザの設定に基づいてユーザの端末４１へメール等で通知してもよい。上記（３）のエラーの発生の場合、エージェント８０は、当該エラーの情報を、ユーザの設定に基づいて直接ユーザの端末４１へ通知してもよい。ユーザは、端末４１の画面でのログ情報５６の閲覧や、上記エラーの通知の情報により、上記エラーの内容を認識及び確認できる。運用に応じて、ユーザは、通知を受けて即時に対処することもできるし、後でログ情報５６を参照して対処することもできる。
【００９２】
上記エラーをユーザの端末４１へ通知する機能については、ＵＩ部１１の設定画面で、設定者によりエラー通知有無や通知先アドレス等を設定できる。
【００９３】
［（ａ１）顧客企業のカレンダー情報及び設定画面］
図９は、顧客企業のカレンダー情報５１の設定画面の例を示す。設定者は、本画面で、顧客企業２の部署等に応じた複数のカレンダーを設定でき、複数のカレンダーの使い分けもできる。本画面で設定された情報はカレンダー情報５１に格納される。
【００９４】
図９の設定画面の顧客企業のカレンダーの例は、一般的なカレンダー上に、本システムの固有の日付タイプの情報として、顧客企業２毎の特性である営業日及び休業日等の情報が登録される形式である。本例では、日付タイプは、営業日（第１の日付タイプ）と休業日（第２の日付タイプ）との２種類である。ユーザは、本画面で、所望の暦日やその期間（年月日や曜日や週等）を選択し、当該暦日に対して登録する日付タイプである営業日または休業日等を選択して登録できる。
【００９５】
画面での日付タイプの設定の方式は各種が可能である。本例では、ユーザは画面で暦日を選択してクリック等する操作に応じて、営業日と休業日とが切り替えられる。実装の方式では、デフォルトとして、すべての暦日が自動的に営業日とされ、その中からユーザにより休業日とする日を選択して登録する。
【００９６】
図９中のカレンダーの例は、顧客企業Ａの「部署１」のカレンダーＣＡ１として、２０１４年の１月の分を示している。暦日（１日〜３１日）に対し、括弧付き数字は営業日を示す。実線の四角は営業日、破線の四角は休業日を示す。例えば１月６日が第１営業日であり、１月３１日が第１９営業日である。１月１日、１月１３日等は暦日休日である。カレンダーは図９の週区切りの形式に限らなくてもよい。
【００９７】
ユーザは、本設定画面で、営業日または休業日を選択する等の簡易な操作で、顧客企業２毎のカレンダーを設定できる。他の方式では、画面に、複数の日付に対する日付タイプの登録をまとめて行うための項目として、日付タイプ毎の登録の対象日を選択肢から選択して設定できる項目を設けてもよい。例えば、休業日の登録対象日の設定項目で、選択肢として、「月内のすべての日曜」、「月内のすべての土日及び暦日休日」等が設けられる。
【００９８】
図１０は、カレンダー情報５１の構成例である表を示す。図１０のカレンダー情報５１の上側の（ａ）の表は、項目として、顧客企業、部署、カレンダーがある。設定例では、顧客企業Ａの「部署１」はカレンダーＣＡ１を使用し、「部署２」はカレンダーＣＡ２を使用し、顧客企業Ｂの「部署１」はカレンダーＣＢ１を使用する。
【００９９】
図１０のカレンダー情報５１の下側の（ｂ）の表は、カレンダーＣＡ１の内容の設定例を示し、図９の設定例と対応する。この表は、休業日の日付の項目において、日付タイプとして休業日に登録された日付（年月日曜）が格納される。この設定情報から、他の日付の日付タイプが営業日であること等もわかる。
【０１００】
カレンダー情報５１の設定は、設定画面に図１０のような表を表示して項目に値を入力する形態でもよい。なお顧客企業カレンダー情報が既存の場合は、それをそのままカレンダー情報５１として流用でき、設定作業を省略できる。
【０１０１】
［（ａ２）稼動制御定義情報］
図１１は、稼動制御定義情報５２の構成例である表を示す。稼動制御定義情報５２は、稼動制御のスケジュールを生成するための定義情報として、対象の顧客企業のカレンダーに対して適用する稼動制御の実行対象日時や動作等の情報が関連付けて設定される。本実施の形態では、稼動制御定義情報５２は、スケジュールタイプ等を用いて簡易な操作で設定可能である。スケジュールタイプにより、カレンダーの暦日の期間のうちの稼動制御の実行対象日を指定することができる。
【０１０２】
図１１の稼動制御定義情報５２の表は、項目として、定義ＩＤ、カレンダー、スケジュールタイプ、仮想サーバシステム、実行時間、動作、エラー通知、順序定義、処理定義、及び備考がある。定義ＩＤ項目は、定義情報の識別情報が格納される。カレンダー項目は、カレンダー情報５１で定義されるカレンダーのＩＤが格納される。
【０１０３】
スケジュールタイプ項目は、対象のカレンダーに対して適用するスケジュールタイプを格納する。スケジュールタイプは、対象のカレンダーの暦日の期間のうちの稼動制御の実行対象日を含むスケジュールを指定する情報であり、言い換えると、スケジュールの種類、ないし実行対象日の選択方法を指定する情報である。
【０１０４】
仮想サーバシステム項目は、サーバ定義情報５３で定義される仮想サーバシステム６のＩＤもしくは当該仮想サーバシステム６を構成する複数の仮想サーバ７０のＩＤが格納される。なお実装では、仮想サーバシステム６のＩＤを省略可能である。
【０１０５】
実行時間項目は、稼動制御動作を実行する対象の時分等の時間情報が格納される。なお本例のスケジュールタイプは、実行対象日を指定する情報であり、実行時間は別の項目で指定される。
【０１０６】
動作項目は、稼動制御動作を表す情報、例えば「起動」や「停止」の値が格納される。エラー通知項目は、前述のエラー通知をするかしないかを示す値が格納される。順序定義項目は、対象の仮想サーバシステム６の動作の際における複数の仮想サーバ７０の起動の順序や停止の順序を表す定義情報が格納される。処理定義項目は、起動や停止の動作の際に特定の処理が必要である場合における特定の処理を表す定義情報が格納される。当該定義情報は、例えば前述のパブリッククラウド３０の特性や制約に応じた、停止のための終了処理の手順を指示する情報がある。備考項目は、設定者による任意の備考情報であり、本例では複数の仮想サーバ７０の関係性（図４）に関するメモを示す。
【０１０７】
図１１の稼動制御定義情報５２の設定例では、＃１，＃２の行では、定義ＩＤ＝001，002として、顧客企業Ａの「部署１」に対応するカレンダーＣＡ１に関して、スケジュールタイプＳＴ１（毎営業日）、仮想サーバシステムSYS1、エラー通知する、等が設定されている。ＳＴ１は、前述の営業日（第１の日付タイプ）を実行対象日とすることを示す。＃１の行の定義ＩＤ＝001では、営業日における実行時間である９時に、SYS1を｛ＶＳ１，ＶＳ２，ＶＳ３｝の順に起動させることを示す。＃２の行の定義ＩＤ＝002では、営業日の２１時に、SYS1を｛ＶＳ３，ＶＳ２，ＶＳ１｝の順に停止させることを示す。
【０１０８】
上記定義ＩＤ＝001，002の定義情報は、言い換えれば、営業日の９時〜２１時の時間に起動状態を維持し、０時〜９時の時間及び２１時〜２４時の時間に停止状態を維持することに相当する。
【０１０９】
＃３，＃４の行では、定義ＩＤ＝003，004として、顧客企業Ａの「部署２」に対応するカレンダーＣＡ２に関して、後述のスケジュールタイプＳＴ５（曜日指定）、仮想サーバシステムSYS2、エラー通知しない、等が設定されている。ＳＴ５は、指定の曜日（例えば月曜、木曜）を実行対象日とすることを示す。＃３の行では、指定の曜日の８時に、SYS2を｛ＶＳ１，ＶＳ２，ＶＳ３，ＶＳ４，ＶＳ５｝の順に起動させることを示す。＃４の行では、指定の曜日の２０時に、SYS2を｛ＶＳ５，ＶＳ４，ＶＳ３，ＶＳ２，ＶＳ１｝の順に停止させることを示す。
【０１１０】
同様に、＃５，＃６の行では、定義ＩＤ＝005，006として、同じカレンダーＣＡ２に関して、別のスケジュールタイプＳＴ６（曜日指定）、仮想サーバシステムSYS2、エラー通知する、等が設定されている。ＳＴ６は、指定の曜日（例えば土曜）を実行対象日とすることを示す。
【０１１１】
ユーザは、後述の図１５，図１６のような設定画面で、スケジュールタイプを含む稼動制御定義情報５２を設定可能である。稼動制御定義情報５２の設定は、設定画面に図１１のような表を表示して項目に値を入力する形態でもよい。ユーザは、顧客企業２の都合に応じて必要な複数の定義情報を同様に設定できる。本システムは定義情報の設定パターンを予め用意し、ユーザは設定画面で設定パターンから選択して利用してもよい。
【０１１２】
［（ａ３）サーバ定義情報］
図１２は、サーバ定義情報５３の構成例である表を示す。サーバ定義情報５３は、顧客企業２の仮想サーバシステム６の情報及びパブリッククラウド３０の情報が関連付けられて管理される。図１２のサーバ定義情報５３の表は、項目として、顧客企業、部署、仮想サーバシステム、パブリッククラウド、サーバ、仮想サーバ、認証情報、及び備考がある。
【０１１３】
顧客企業、部署、仮想サーバシステム、パブリッククラウド、サーバ、仮想サーバの各項目は、夫々のＩＤ等が格納される。仮想サーバシステム項目は、実装では省略可能である。また本システムで仮想サーバシステム６が１つの仮想サーバ７０のみで構成される場合もある。その場合は、その１つの仮想サーバ７０の情報が設定される。サーバ項目は、顧客企業２からみたサーバの単位の情報が設定される。例えば前述の図４のＷｅｂサーバWS1、ＤＢサーバDS1等の情報が設定される。仮想サーバ項目は、サーバ項目のサーバと関係付けて、パブリッククラウド３０内の仮想サーバ７０の単位の情報が設定される。
【０１１４】
認証情報項目は、パブリッククラウド３０へのアクセス及び制御の指示の際に使用する、ＡＰＩコールの情報や、認証処理で要求されるＩＤやパスワード等の認証情報が格納される。本システムのサーバ１０は、当該認証情報を用いてパブリッククラウド３０へアクセスするものであり、仮想サーバ７０への直接的なアクセスは発生しない。備考項目は、設定者による任意の備考情報として、本例ではサーバの詳細情報のメモを示す。
【０１１５】
ユーザは、設定画面で、サーバ定義情報５３の表の項目に値を入力して設定可能である。なおサーバ定義情報５３等において、更にエージェント８０の情報が仮想サーバ７０の情報に関連付けられて設定されてもよい。エージェント８０は、自身が対象とする仮想サーバ７０の情報やサーバ１０との通信のための情報を設定情報として保持する。
【０１１６】
［（ａ４）スケジュール情報］
図１３は、スケジュール情報５４の構成例である表を示す。図１３のスケジュール情報５４の表は、項目として、日時、パブリッククラウド、仮想サーバシステム、仮想サーバ、及び動作、等がある。
【０１１７】
日時項目は、仮想サーバシステム６の複数の仮想サーバ７０の稼動制御動作を実行開始する年月日時が格納される。パブリッククラウド、仮想サーバシステム、仮想サーバの項目は、夫々の対象のＩＤ等が格納される。当該項目のＩＤ等により、サーバ定義情報５３の認証情報等の情報が参照可能である。なおスケジュール情報５４内に認証情報等が格納されてもよい。仮想サーバシステム項目は、実装では省略可能である。動作項目は、図１１の動作項目と同様に起動や停止等の値が格納される。
【０１１８】
スケジュール情報５４の行で、複数の仮想サーバ７０の所定の順序での動作の指示が格納される。図１３のスケジュール情報５４の設定例では、第１行で、１月６日（月曜）の９時に、パブリッククラウドPUB1の仮想サーバシステムSYS1の仮想サーバＶＳ１〜ＶＳ３を順に起動させる指示を示す。なお日時項目の９時は、SYS1の単位での起動の指示の日時を示す。複数の仮想サーバ７０を順次に起動させるので、個々の仮想サーバ７０の実際の起動の日時は状況に応じてずれが生じる。同様に第２行は、１月６日（月曜）の２１時に、PUB1のSYS1の仮想サーバＶＳ３〜ＶＳ１を順に停止させる指示を示す。図１３はSYS1の分の情報のみを図示しているが、他の仮想サーバシステム６に関する指示の情報がある場合は合わせて時系列で格納される。
【０１１９】
［（ａ５）稼動ステータス情報］
図１４は、稼動ステータス情報５５の構成例である表を示す。図１４の稼動ステータス情報５５の表は、項目として、パブリッククラウド、仮想サーバ、ステータスがある。本表は、仮想サーバ７０毎にステータスが記載及び保持される。ステータス項目は、図６，図７のように、その時点の稼動制御状況に応じたステータス値、例えば「起動指示」「起動完了（起動状態）」「停止指示」「停止完了（停止状態）」「終了処理指示」「終了処理完了」等が格納される。図１４の例は、パブリッククラウドPUB1の仮想サーバＶＳ２へ「起動指示」を与えている時点の各仮想サーバ７０のステータスを示す。
【０１２０】
稼動制御部１３は、稼動ステータス情報５５で仮想サーバ７０毎のステータスを把握する。なお本実施の形態の例では複数の仮想サーバ７０を順次に起動及び停止させる例を説明しているが、実装では複数の仮想サーバ７０を同時並列で起動及び停止させることもある。例えば依存の関係性が無い複数の仮想サーバ７０は同時並列での起動及び停止が可能であり、その場合はその分時間が短縮できる。
【０１２１】
［（ａ６）稼動制御定義情報の設定画面］
図１５及び図１６は、稼動制御定義情報５２に関する設定画面の例を示す。ユーザは、本設定画面で、顧客企業２の都合に応じて複数のスケジュールタイプを設定でき、設定された複数のスケジュールタイプの中から選択して利用できる。スケジュールタイプの指定により、カレンダーの複数の日に対する稼動制御内容をまとめて指定できる。
【０１２２】
図１５の設定画面の例では、設定欄として、定義ＩＤ１４１と、適用状態１４２と、対象カレンダー１４３と、対象期間１４４と、適用するスケジュールタイプ１４５と、対象仮想サーバシステム１４６と、実行時間１４７と、稼動制御動作１４８と、仮想サーバの順序１４９と、エラー通知１５０と、を含む。
【０１２３】
定義ＩＤ１４１は、図１１の稼動制御定義情報５２の定義ＩＤ項目と対応する。適用状態１４２は、当該定義ＩＤの定義情報の適用状態の有効／無効を選択できる。対象カレンダー１４３は、適用する対象のカレンダーを選択できる。対象期間１４４は、対象のカレンダーにおける対象期間（開始月日や終了月日等）を選択できる。
【０１２４】
１４５は、対象のカレンダーの対象期間に対して適用するスケジュールタイプを例えばリストボックスの選択肢から選択して設定できる。各スケジュールタイプの設定については図１６で後述する。
【０１２５】
対象仮想サーバシステム１４６は、稼動制御の対象の仮想サーバシステム６をＩＤ等で選択できる。実行時間１４７は、稼動制御動作の実行時間を時分で選択できる。稼動制御動作１４８は、起動や停止の動作を選択できる。仮想サーバの順序１４９は、対象の仮想サーバシステム６の複数の仮想サーバ７０の動作の順序を指定できる。１４９の欄の選択肢は、サーバ定義情報５３に基づいて表示される。エラー通知１５０は、前述のエラー通知をするかしないかが選択できる。
【０１２６】
図１５の設定例では、１４５でスケジュールタイプＳＴ１（「毎営業日」）が選択されている。これにより対象のカレンダーＣＡ１の４月２日以降の期間のうち、営業日に該当するすべての日が、所定の稼動制御（「起動」）の実行対象日として指定される。
【０１２７】
図１６は、上記スケジュールタイプに関する設定画面例を示す。図１６の画面は、スケジュールタイプの設定欄１５１〜１５７を有する。ユーザは、本画面で、複数の種類のスケジュールタイプの内容を確認及び設定可能である。
【０１２８】
１５１は、スケジュールタイプＳＴ０として、「毎日」であり、実行日区分が「営業日および休業日」である。なおＳＴ０等は識別情報である。ＳＴ０は、営業日及び休業日に依らずに毎日を実行対象日として指定する。実行日区分の行は、実行対象日とする区分（前述の日付タイプに対応する）を示す。１５２は、スケジュールタイプＳＴ１として、「毎営業日」であり、実行日区分が「営業日」であり、営業日のみを実行対象日として指定する。１５３は、スケジュールタイプＳＴ２として、「毎休業日」であり、実行日区分が「休業日」であり、休業日のみを実行対象日として指定する。
【０１２９】
１５１〜１５３のスケジュールタイプは、本システムにより予め設定されたスケジュールタイプの例を示す。１５１〜１５３のスケジュールタイプに限らず、実行日区分が他の日付タイプであるスケジュールタイプを設定可能である。
【０１３０】
１５４は、スケジュールタイプＳＴ３として、「日付指定」であり、特定の暦日の日付を実行対象日として指定する。実行日の行は、ユーザにより、実行対象日とする特定の暦日の日付を、例えばカンマ区切りの数字で入力して設定できる。設定例では、月における１日、２０日、３０日が実行日である。
【０１３１】
１５５は、スケジュールタイプＳＴ４として、「営業日指定」であり、特定の営業日を実行対象日として指定する。実行日の行は、ユーザにより、特定の営業日を、例えばカンマ区切りの営業日数で入力して設定できる。設定例では、月における第１営業日、第１０営業日が対象日である。
【０１３２】
１５６は、スケジュールタイプＳＴ５として、「曜日指定」であり、毎週のうち特定の曜日を実行対象日として指定する。実行日の行は、ユーザにより、実行対象日とする特定の曜日を、例えば日曜〜土曜のチェックボタンの中から任意に１つ以上を選択して設定できる。設定例では、月曜と木曜が実行日である。
【０１３３】
また設定欄１５６の中に、休業日シフト区分の項目が設けられている。休業日シフト区分は、該当の実行対象日（曜日）が休業日（前述の第２の日付タイプ）である場合にどのように制御するかを、ユーザにより選択して設定できる。休業日シフト区分の値の例として、Ａ：休業日の場合は実行しない、Ｂ：休業日の場合も実行する、Ｃ：休業日の場合は前営業日に実行する、Ｄ：休業日の場合は翌営業日に実行する、等がある。ＣやＤは、実行対象日及び動作をシフトさせる。Ｃの場合、一番近い前営業日に動作を実行させる。Ｄの場合、一番近い翌営業日に動作を実行させる。更に、休業日シフト区分は、図示しないが、シフト先の日に関する月越え有無も設定できる。「月越え無し」の場合、シフト先の日が月を超えないようにし、当月内に該当日が無い場合は動作を実行させない。「月越え有り」の場合、シフト先の日が月を超えてもよく、当月内に該当日が無い場合は前月や翌月の日に動作を実行させる。なおＳＴ３等の他のスケジュールタイプについてもＳＴ５と同様にシフト区分を設定可能である。
【０１３４】
１５７は、スケジュールタイプＳＴ５として、「曜日指定」の別の設定例であり、実行日が土曜であり、休業日シフト区分がＢ（休業日の場合も実行する）である。なお同じスケジュールタイプでも異なる複数の設定内容でそれぞれに名前を付けて設定及び利用が可能である。
【０１３５】
図１５の画面の１４５のスケジュールタイプの項目では、図１６の画面でのスケジュールタイプの設定に基づいた、複数のスケジュールタイプの選択肢が表示される。上記例に限らず、各種のスケジュールタイプが設定可能である。他のスケジュールタイプの例として、月指定、週指定、等が挙げられる。
【０１３６】
ユーザは、上記図１５，図１６の画面で、スケジュールタイプ等を指定する簡易な操作で、稼動制御定義情報５２を設定できる。これにより、休業日シフトのような日付の条件の判断に応じたスケジューリングを含め、顧客企業２の都合に応じた多様な稼動制御が実現できる。
【０１３７】
［（ａ７）稼動制御スケジュール確認画面］
図１７は、稼動制御スケジュールの確認画面の例を示す。ＵＩ部１１は、スケジュール生成部１２により生成されたスケジュール情報５４の内容、あるいは過去に実施済みの稼動制御のスケジュールの内容を、図１７のように時系列及び一覧で表示する確認画面を提供する。図１７の画面例では、顧客企業Ａの複数の仮想サーバシステム６｛SYS1，SYS2，……｝の稼動制御のスケジュールに関して、横軸に顧客企業Ａのカレンダーの時間を表示し、縦軸に各仮想サーバシステム６の稼動制御のスケジュールを並列で表示する。各仮想サーバシステム６の稼動制御のスケジュールは、カレンダーの時間に合わせて、動作状態である「起動状態」の時間と「停止状態」の時間とを各領域で表示する。なお図１７の例は、前述の図９〜図１６の設定例と対応している。
【０１３８】
本画面は、起動や停止の動作の時刻の情報や、各動作状態の時間の情報を表示してもよい。本画面は、仮想サーバ７０の稼動時間を計算して表示してもよい。ユーザは、本画面で、各仮想サーバシステム６の稼動制御のスケジュール等をわかりやすく確認できる。
【０１３９】
［稼動制御例］
図１８は、一実施の形態の仮想サーバ稼動制御システムによる稼動制御の例及び効果を従来例の稼動制御との比較で示す。図１８の（ａ）は、第１の従来例の仮想サーバの稼動制御として、常時稼動の例である。この例では、月〜金の営業日、及び土日の休業日を含め、対象の全ての仮想サーバが常に起動状態である。この場合、１個の仮想サーバの単位において、日あたりの稼動時間が２４時間、月あたり（３０日とする）の稼動時間が３０×２４＝７２０時間である。この場合、前述のように、従量課金のコストが高い。
【０１４０】
図１８の（ｂ）は、第２の従来例の仮想サーバの稼動制御として、土日の休業日に停止させる場合の例である。この例では、月〜金の営業日で仮想サーバが起動状態であり、土日の休業日に停止状態である。この場合、１個の仮想サーバの単位において、週あたりの稼動時間が５×２４＝１２０時間であり、月あたり（営業日が２０日とする）の稼動時間が２０×２４＝４８０時間である。
【０１４１】
図１７の（ｃ）は、本実施の形態の仮想サーバ稼動制御システムによる仮想サーバシステム６の稼動制御の例を示す。この例は、前述の仮想サーバシステムSYS1に関する設定例と対応している。この例では、制御の結果、月〜金の各営業日の営業時間に対応させた例えば９時〜２１時の時間帯に仮想サーバシステムSYS1が起動状態になり、他の時間帯や休業日には停止状態になる。この制御の場合、１個の仮想サーバの単位において、日あたりの稼動時間が１２時間であり、週あたりの稼動時間が５×１２＝６０時間であり、月あたり（営業日が２０日とする）の稼動時間が２０×１２＝２４０時間である。
【０１４２】
上記のように、従来例に対して本実施の形態では、総合的な仮想サーバ７０の稼動時間を減らすことができ、従量課金のコストを削減できる。例えば（ａ）に対する（ｃ）では、月あたりの稼動時間が２４０／７２０＝１／３に削減でき、（ｂ）に対する（ｃ）では、月あたりの稼動時間が２４０／４８０＝１／２に削減できる。
【０１４３】
［効果等］
以上のように、本実施の形態によれば、パブリッククラウド３０等のシステム上の仮想サーバシステム６の起動や停止を含む稼動の制御に関して、顧客企業２の都合及び時間に応じた正常及び詳細な制御を実現でき、従量課金のコストや設定作業の手間等を削減できる。本システムは、パブリッククラウド３０毎及び仮想サーバシステム６毎の特性や制約を考慮した、停止時の終了処理の自動化の仕組みを含む制御を提供する。顧客企業２は、所望のパブリッククラウド３０を利用し、業務等に応じたスケジュールで、複数の仮想サーバ７０による仮想サーバシステム６を単位として、稼動の状態を好適に制御できる。
【０１４４】
顧客企業２の設定者は、設定画面で稼動制御のための設定作業を容易にでき、手間が少なく、また稼動制御及びスケジュール等をわかりやすく確認できる。設定者は、稼動制御のスケジュールをその都度細かく入力する必要が無く、カレンダーの休業日やスケジュールタイプ等を選択する簡易な操作で、多様な稼動制御を設定できる。設定者は、制御指示のためのスクリプトプログラムを何度も設定及び変更する手間が不要である。
【０１４５】
［変形例］
以上、本発明を上記実施の形態に基づいて説明したが、本発明は上記実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。
【０１４６】
実施の形態の変形例として、既存の監視システムと、上記仮想サーバ稼動制御システムとを組合せて連携または統合した形態も可能である。上記稼動制御機能と既存の監視機能との連携の場合にも、仮想サーバシステム６の正常な起動や停止が実現できる。
【０１４７】
既存の監視システム及びその監視サービスは、例えばパブリッククラウド内に設けられる監視エージェントを用いて、パブリッククラウドの仮想サーバの稼動の状態を、定期的に監視及びチェックして情報を記録する。監視エージェントは、例えば仮想サーバに関する異常を通知する。従来例の場合、仮想サーバを停止させる時に、監視により異常として検知及び通知される可能性がある。
【０１４８】
上記連携の形態の場合、サーバ１０の稼動制御部１３は、既存の監視システムの監視サービスと連携する。稼動制御部１３は、仮想サーバ７０を停止させる際、監視サービスに対して「異常通知の抑止」、即ち一時的な監視機能の無効化を指示する。当該指示により、監視サービスは、監視エージェントを用いた定期的な監視で検知した仮想サーバの異常の通知や記録を抑止する。これにより、仮想サーバを停止させる時にも、異常ではなく正常な停止として記録される。また稼動制御部１３は、仮想サーバ７０を起動させる時には、監視サービスに対し「異常通知の抑止の解除」を指示する。これにより、それ以降は従来通り、監視機能による異常の通知や記録がされる。
【０１４９】
変形例として、図１の顧客企業２のシステム内に、その構成要素としてサーバ１０が設けられてもよい。変形例として、パブリッククラウド３０内に、サーバ１０の事業者１の管轄による管理装置を新規に設置し、サーバ１０と当該管理装置とで連携させてもよい。また当該管理装置でエージェント８０に相当する処理部を稼動させてもよい。
【０１５０】
変形例として、インターネット４上のサーバ１０及びパブリッククラウド３０とは別の場所に、稼動ステータス情報５５等を保持する別のサーバ等が設けられ、サーバ１０及びエージェント８０が当該サーバの稼動ステータス情報５５を読み書きする形態でもよい。
【０１５１】
変形例として、仮想サーバ７０の停止の際の終了処理を制御することに限らず、仮想サーバの起動の際に所定の開始処理（例えば関連するプロセスの立ち上げ）が必要である場合に、当該開始処理を前述と同様の仕組みにより制御するようにしてもよい。
【産業上の利用可能性】
【０１５２】
本発明は、パブリッククラウド等のクラウドコンピューティングシステム、顧客企業の情報システム、顧客企業の情報システムに関する運用保守サービスを行う事業者のシステム、等に利用可能である。
【符号の説明】
【０１５３】
６…仮想サーバシステム、１０…サーバ、１１…ＵＩ部、１２…スケジュール生成部、１３…稼動制御部、１６…エージェント通信ＩＦ部、３０…パブリッククラウド、３１…物理サーバ、３２…管理装置、４１，４２…端末、５１…カレンダー情報、５２…稼動制御定義情報、５３…サーバ定義情報、５４…スケジュール情報、５５…稼動ステータス情報、５６…ログ情報、６１…ハードウェア、６２…ハイパーバイザ、７０…仮想サーバ、８０…エージェント。
【図１】
2016006026.tif 000003
【図２】
2016006026.tif 000004
【図３】
2016006026.tif 000005
【図４】
2016006026.tif 000006
【図５】
2016006026.tif 000007
【図６】
2016006026.tif 000008
【図７】
2016006026.tif 000009
【図８】
2016006026.tif 000010
【図９】
2016006026.tif 000011
【図１０】
2016006026.tif 000012
【図１１】
2016006026.tif 000013
【図１２】
2016006026.tif 000014
【図１３】
2016006026.tif 000015
【図１４】
2016006026.tif 000016
【図１５】
2016006026.tif 000017
【図１６】
2016006026.tif 000018
【図１７】
2016006026.tif 000019
【図１８】
2016006026.tif 000020
【国際調査報告】
2016006026.tif 000021
2016006026.tif 000022
2016006026.tif 000023