(57)【特許請求の範囲】
【請求項１】
対象システムで稼働する仮想サーバを制御する、仮想サーバ制御システムであって、
前記対象システムを利用する顧客企業のカレンダー情報を設定者からの指示に応じて設定する処理、及び、前記仮想サーバのスケール制御のための実スケジュールを生成するための定義情報を設定者からの指示に応じて設定する処理を行う第１の処理部と、
前記カレンダー情報及び定義情報を参照して、前記仮想サーバのスケール制御のための実スケジュール情報を生成するスケジューリング処理を行う第２の処理部と、
前記実スケジュール情報の記述に従い、指定の日時タイミングで、前記対象システムの仮想サーバに対するスケール制御の指示を送信する処理を行う第３の処理部と、を有し、
前記カレンダー情報は、当該顧客企業の営業日及び休業日の情報を含み、
前記定義情報は、対象仮想サーバ、日付定義、スケール制御の仮想サーバ数、の情報を含み、
前記実スケジュール情報は、日時、対象仮想サーバ、スケール制御の仮想サーバ数、の情報を含むこと、を特徴とする仮想サーバ制御システム。
【請求項２】
請求項１記載の仮想サーバ制御システムにおいて、
前記対象システムの仮想サーバの動作・状態を監視し監視情報を記録する第４の処理部を有し、
前記監視情報は、前記仮想サーバの負荷またはリソースの実績値及び予測値の少なくとも一方を含み、
前記第２の処理部は、前記監視情報を参照して、前記対象システムの仮想サーバの負荷またはリソースの状態を考慮した前記スケール制御の仮想サーバ数となるように、前記実スケジュール情報を生成するスケジューリング処理を行うこと、を特徴とする仮想サーバ制御システム。
【請求項３】
請求項１記載の仮想サーバ制御システムにおいて、
前記対象システムの仮想サーバの動作・状態を監視し監視情報を記録する第４の処理部を有し、
前記監視情報は、前記仮想サーバの起動時間の実績値及び予測値の少なくとも一方を含み、
前記第２の処理部は、前記監視情報を参照して、前記対象システムの仮想サーバの起動時間を考慮した前記日時となるように、前記実スケジュール情報を生成するスケジューリング処理を行うこと、を特徴とする仮想サーバ制御システム。
【請求項４】
請求項１記載の仮想サーバ制御システムにおいて、
前記定義情報における前記日付定義は、種類として、特定の営業日、特定の休業日、特定の曜日、特定の暦日、及び特定の時刻、を定義する情報を含み、前記設定者により任意に設定可能であること、を特徴とする仮想サーバ制御システム。
【請求項５】
請求項１記載の仮想サーバ制御システムにおいて、
前記定義情報は、休業日の動作を定義する情報を含み、
前記休業日の動作を定義する情報は、種類として、制御実行無し、前営業日に実行、翌営業日に実行、を含み、前記設定者により任意に設定可能であること、を特徴とする仮想サーバ制御システム。
【請求項６】
請求項１記載の仮想サーバ制御システムにおいて、
前記定義情報は、対象仮想サーバの予測起動時間の情報を含み、前記設定者により任意に設定可能であり、
前記第２の処理部は、前記スケジューリング処理の際、前記予測起動時間の分早目の日時となるように前記実スケジュール情報を生成すること、を特徴とする仮想サーバ制御システム。
【請求項７】
請求項１記載の仮想サーバ制御システムにおいて、
前記対象システムの仮想サーバの動作・状態を監視し監視情報を記録する第４の処理部を有し、
前記定義情報は、動的スケール制御を追加する場合の仮想サーバ範囲の情報を含み、前記設定者により任意に設定可能であり、
前記第２の処理部は、前記監視情報を参照し、前記動的スケール制御を追加する場合、前記スケジューリング処理の際、前記仮想サーバ範囲内で、静的スケール制御の仮想サーバ数を増減して調整するように前記実スケジュール情報を生成すること、を特徴とする仮想サーバ制御システム。
【請求項８】
コンピュータに、対象システムで稼働する仮想サーバを制御させるための、仮想サーバ制御プログラムであって、
前記対象システムを利用する顧客企業のカレンダー情報を設定者からの指示に応じて設定する処理、及び、前記仮想サーバのスケール制御のための実スケジュールを生成するための定義情報を設定者からの指示に応じて設定する処理を前記コンピュータに行わせるための第１のプログラムと、
前記カレンダー情報及び定義情報を参照して、前記仮想サーバのスケール制御のための実スケジュール情報を生成するスケジューリング処理を前記コンピュータに行わせるための第２のプログラムと、
前記実スケジュール情報の記述に従い、指定の日時タイミングで、前記対象システムの仮想サーバに対するスケール制御の指示を送信する処理を前記コンピュータに行わせるための第３のプログラムと、を有し、
前記カレンダー情報は、当該顧客企業の営業日及び休業日の情報を含み、
前記定義情報は、対象仮想サーバ、日付定義、スケール制御の仮想サーバ数、の情報を含み、
前記実スケジュール情報は、日時、対象仮想サーバ、スケール制御の仮想サーバ数、の情報を含むこと、を特徴とする仮想サーバ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パブリッククラウド等の対象システムで稼働する仮想サーバ（ないし仮想マシン等）を制御する情報処理システム（仮想サーバ制御システム）等に関し、特に、仮想サーバのスケール（数など）を制御する技術に関する。
【背景技術】
【０００２】
従来、パブリッククラウド等の対象システムで稼働する仮想サーバ（ないし仮想マシン等）のスケール（数など）を制御する技術としては、サーバの負荷を基準として動的にスケールを制御する方式（いわゆるスケールアウト・スケールイン）が中心となっている。この方式では、制御例として、随時、監視サーバなどによって物理サーバ／仮想サーバの負荷を判断し、負荷が増えた時（閾値を超える場合など）は稼働させる仮想サーバ（インスタンス）の数を増やし（スケールアウト）、負荷が減った時（閾値を下回る場合など）は稼働させる仮想サーバの数を減らす（スケールイン）。これにより処理性能などを制御する。
【０００３】
上記に関する先行技術例として、特開２０１１−１１８５２５号公報（特許文献１）、などがある。特許文献１では、動的スケール制御の例が記載されている。この方式では、物理サーバと仮想サーバの負荷を収集し、管理対象の負荷が閾値から外れたときに、その負荷の変化を過去の負荷の変動の履歴をもとに予測し、その結果に応じてサーバ制御を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１８５２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述の従来のパブリッククラウド等の対象システム、及びその仮想サーバの動的スケール制御の技術では、効果や実現性の面で以下のような課題がある。
【０００６】
従来の対象システムの制御では、例えば負荷情報をもとに仮想サーバ（インスタンス）のスケールイン（減少）／スケールアウト（増加）の実行を動的に決定したとしても、即時にはその状態を実現することはできない。例えばある仮想サーバのスケールアウト（増加）のために、指示を与えて新たに１つ以上の仮想サーバを起動させて、当該仮想サーバでサービス処理実行可能な状態（起動完了状態）になるまでに、ある程度の時間を要している。この時間（起動時間）は、システム環境などによって異なるが、例えば１５分〜３０分かかることもある。この起動時間分の時間差（遅延）により、例えばパブリッククラウド等の対象システムの処理効率・負荷分散などに関して十分な効果が出ず、実現性が難しい場合がある。
【０００７】
特に、顧客企業がパブリッククラウド（そのサービス処理）を利用して業務処理等を実現する場合、上記動的スケール制御及び起動時間による影響により、業務処理等の効率が悪くなってしまう場合がある。例えば顧客企業の始業時あたりに上記影響により仮想サーバのスケールがうまく調整できておらず、業務処理が重い状態になってしまう場合がある。これにより、上記動的スケール制御を含むシステム／サービスは、実現性が難しい場合がある。
【０００８】
以上を鑑み、本発明の主な目的は、パブリッククラウド等の対象システムにおける仮想サーバ等のスケール制御に関して、処理効率・負荷分散などの十分な効果やシステム／サービスの実現性を確保することができる技術を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明のうち代表的な形態は、パブリッククラウド等の対象システムで稼働する仮想サーバ等を制御する情報処理システム（仮想サーバ制御システム）、特に仮想サーバ等のスケール制御を行うシステム等あって、以下に示す構成を有することを特徴とする。
【００１０】
本形態のシステムは、仮想サーバのスケール制御を行う機能として、対象システムを利用する顧客企業のカレンダー情報を設定者により設定する処理、及び、仮想サーバのスケール制御のための実スケジュールを生成するための定義情報を設定者により設定する処理を行う第１の処理部と、カレンダー情報及び定義情報を参照して、仮想サーバのスケール制御のための実スケジュール情報を生成するスケジューリング処理を行う第２の処理部と、実スケジュール情報の記述に従い、指定の日時タイミングで、対象システムの仮想サーバに対するスケール制御の指示を送信する処理を行う第３の処理部と、対象システムの仮想サーバの動作・状態を監視し監視情報を記録する第４の処理部とを有する。例えば、カレンダー情報は、当該顧客企業の営業日及び休業日の情報を含む。定義情報は、対象仮想サーバ、日付定義、スケール制御の仮想サーバ数、の情報を含む。実スケジュール情報は、日時、対象仮想サーバ、スケール制御の仮想サーバ数、の情報を含む。
【００１１】
本形態のシステムは、対象システムの仮想サーバの静的スケール制御（指定の日時に仮想サーバ数などを制御する）を基本として実行する（第３の処理部）。静的スケール制御のスケジュールの生成のために、カレンダー情報及び定義情報を設定者により設定する手段（第１の処理部）を有する。カレンダー情報及び定義情報をもとに、静的スケール制御のスケジュールを生成するスケジューリング処理を実行する手段（第２の処理部）を有する。
【発明の効果】
【００１２】
本発明のうち代表的な形態によれば、パブリッククラウド等の対象システムにおける仮想サーバ等のスケール制御に関して、処理効率・負荷分散などの十分な効果やシステム／サービスの実現性を確保することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態のシステム（仮想サーバ制御システム）の全体の構成を示す図である。
【図２】本実施の形態のシステムにおける要素間の処理シーケンスを示す図である。
【図３】顧客企業カレンダー情報の例を示す図である。
【図４】スケジュール定義情報の例を示す図である。
【図５】実スケジュール情報の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００１５】
［システム］
図１において、本発明の一実施の形態のシステム（仮想サーバ制御システム）の全体の構成を示している。本システム全体は、主制御システムを構成するサーバ１と、対象システムであるパブリッククラウド２（仮想サーバ稼働システム）や仮想マシン稼働システム３と、対象システムを利用する顧客企業（設定者）のコンピュータ４（ないし顧客企業システム）とを有し、これらはインターネット等のネットワーク（５，６）で接続される。対象システム（２，３）及び顧客企業（顧客企業システム）は複数存在してもよい。
【００１６】
本実施の形態では、顧客企業（設定者）のコンピュータ４を含む顧客企業システム内にその一構成要素としてサーバ１を設け、それらがＬＡＮ等のネットワーク５で接続される。そして、コンピュータ４は、顧客企業担当者（システム管理者等）を設定者として使用される。なおこれに限らず、サーバ１は顧客企業システムとは独立してネットワーク上に存在してもよい。またコンピュータ４を使用する設定者は、顧客企業担当者以外の者、例えばサーバ１を提供する事業者側の担当者等としてもよい。
【００１７】
サーバ１は、スケジューラ部１１、仮想サーバ制御部１２、監視部１３、及びＵＩ（ユーザインタフェース）部１４を含む処理部と、顧客企業カレンダー情報５１、スケジュール定義情報５２、実スケジュール情報５３、及び監視情報５４を含むデータ・情報（対応する記憶部）を有する。各処理部（１１〜１４）は、例えばサーバ１のプロセッサやメモリや通信インタフェース等の公知の要素を用いたプログラム処理（本実施の形態のプログラムによる処理）で実現できる。
【００１８】
なおサーバ１における監視部１３及び監視情報５４を含む監視システム部分は、１１，１２等を含む主制御システム部分とは別のシステム（サーバ等）で構成し連携するようにしてもよい。別のシステムとして既存の統合監視システム等を利用してもよい。
【００１９】
パブリッククラウド２は、インターネット（ネットワーク５）上に構成され、不特定のユーザ（本例の場合は顧客企業システムを含む）に対してクラウドコンピューティングによるサービス処理を提供する公知の情報処理システムであり、図示しない物理サーバ等のハードウェア及び仮想化ソフトウェア等を用いて仮想サーバ２１が稼働するシステムである。
【００２０】
サーバ１の監視部１３は、対象のパブリッククラウド２の仮想サーバ２１の動作・状態を監視する。そのために、当該仮想サーバ２１の動作・状態を監視する処理部（プログラム処理で実現される）である監視エージェント２２を、対象のパブリッククラウド２内で稼働させる（公知技術）。監視エージェント２２は、例えば対象の仮想サーバ２１と共に稼働し、監視設定情報に基づいて、対象の仮想サーバ２１の動作・状態を表す監視情報（ａ３）を発行し、ネットワーク５を介して監視部１３へ送信する。監視情報（ａ３）は、例えば仮想サーバ２１の負荷やリソースの状態を示す情報や、稼働中の仮想サーバのスケール（数など）の情報を含む。更に、監視情報（ａ３）として、仮想サーバ２１の起動に要した起動時間（Ｔ）の実績値または予測値の情報を持たせると好ましい。
【００２１】
仮想マシン稼働システム３は、仮想マシン（仮想コンピュータ）が稼働するシステムであり、例えばＶＭｗａｒｅ（ソフトウェア）等を用いたシステムである。仮想マシン稼働システム３は、パブリッククラウド２と同様に、本システムの対象システムとして扱うことができ、仮想マシンがスケール制御対象となる。以下ではパブリッククラウド２を対象システムとする場合を説明するが仮想マシン稼働システム３の場合でも同様である。
【００２２】
顧客企業（顧客企業システム）がパブリッククラウド２（その仮想サーバ２１によるサービス処理）を用いて実現する処理は、例えば自社の業務処理やそのデータのバックアップ処理などが挙げられる。顧客企業ごとの都合（特性）として、業務処理等の要件があり、当該特性に応じて仮想サーバ２１のスケールが要求される。また顧客企業の特定の営業日には負荷が高いといった特性もあり、当該特性に応じて仮想サーバ２１のスケールが要求される。
【００２３】
顧客企業（設定者）のコンピュータ４は、パブリッククラウド２等の対象システムを利用する顧客企業における担当者（設定者）のコンピュータ／情報処理システムであり、ネットワーク６を介して本システム（サーバ１）を利用する。特に、設定者は、コンピュータ４を操作して、ネットワーク６を介してサーバ１のＵＩ部１４（Ｗｅｂサーバ等）にアクセスし、その処理を通じて、必要な情報（５１，５２）を設定する（ａ０）。顧客企業カレンダー情報５１及びスケジュール定義情報５２は、顧客企業（設定者）の都合・方針に応じた内容を適宜設定することができる。
【００２４】
スケジューラ部１１は、顧客企業カレンダー情報５１とスケジュール定義情報５２と監視情報５４とから、実スケジュール情報５３を生成するスケジューリング処理を行う（ａ１）。実スケジュール情報５３は、静的スケール制御（仮想サーバ制御）の指示情報である。特に、スケジューラ部１１は、監視情報５４の参照に基づき（ａ５）、パブリッククラウド２毎、仮想サーバ２１毎の負荷や起動時間（Ｔ）を把握し、これを考慮したスケジューリングを自動的に行う機能を備えている。更に、スケジューラ部１１は、変形例（追加機能）として、実スケジュール（５３）の作成時に、監視情報５４をみて、必要仮想サーバ数を予想し、実スケジュール（５３）に反映する。但しこれはスケジュール定義情報５２で設定された仮想サーバ範囲（最小仮想サーバ数〜最大仮想サーバ数）に限定される（後述）。
【００２５】
仮想サーバ制御部１２は、仮想サーバ２１を対象として静的スケール制御を行う。仮想サーバ制御部１２は、実スケジュール情報５３に従う日時（タイミング）で、対象システム（２）の仮想サーバ２１に対してスケール制御を指示する（ａ２）。なお本実施の形態では、対象システム（２）は、外部からの指示（ａ２）に基づき仮想サーバ２１のスケール（数など）を制御する機能を持ち、この指示（ａ２）では、稼働させる仮想サーバ２１の数などを指定すればよく、個別の仮想サーバ２１の起動や停止（起動終了）を指示する必要は無い。
【００２６】
監視部１３は、対象システム（２）の仮想サーバ２１の動作・状態を監視する。監視部１３は、監視エージェント２２からの監視情報（ａ３）を受信し、データベース（ＤＢ）に監視情報５４（ログ情報）として記録・保持する（ａ４）。また、監視部１３は、適宜、監視情報（ａ３）（５４）を分析処理し、その結果をＤＢに監視情報５４（分析情報）として記録・保持する（ａ４）。
【００２７】
ＵＩ部１４は、例えばＷｅｂサーバで実装し、設定者（４）に対し、Ｗｅｂページなどの形式で設定用情報を提供する。例えば、設定者は、コンピュータ４のディスプレイ画面に上記Ｗｅｂページを表示し、その中のテーブルに対して設定情報を入力・編集することができる。なおこれに限らず、サーバ１に直接的に情報（５１，５２）を設定する形態や、サーバ１が顧客企業システム側から必要な情報（５１，５２）を取得・受信する形態などとしてもよい。
【００２８】
［処理］
図２において、図１の各要素間の処理シーケンスを示している（S101等は処理ステップを表す）。
【００２９】
（S101）  まず、予め、設定者は、コンピュータ４から、サーバ１のＵＩ部１４にアクセスし、顧客企業カレンダー情報５１（具体例は図３）を入力・設定する。この設定内容は適宜更新可能である。
【００３０】
（S102）  同様に、予め、設定者は、コンピュータ４から、サーバ１のＵＩ部１４にアクセスし、スケジュール定義情報５２（具体例は図４）を入力・設定する。この設定内容は適宜更新可能である。
【００３１】
（S103）  サーバ１のスケジューラ部１１は、設定に基づく所定のタイミング、例えば毎日２３時ごとに動作し、入力情報である顧客企業カレンダー情報５１とスケジュール定義情報５２と、監視情報５４（存在する場合）とから、対象時間単位（例えば次日、次週、次月など）の実スケジュール情報５３（具体例は図５）を生成するスケジューリング処理を行う。
【００３２】
（S104）  サーバ１の仮想サーバ制御プログラム部１２は、実スケジュール情報５３を参照し、その記述に従い、その日時のタイミングに従って、対象システム（２）の仮想サーバ２１に対し、スケール制御を実行する。即ち、サーバ１（１２）から、スケール制御の指示（ａ２）を対象システム（２）へ送信する。指示（ａ２）は、対象の仮想サーバＩＤや仮想サーバ数（スケール制御値）などの指定や、必要な認証情報などを含む。
【００３３】
（S105）  対象システム（２）は、サーバ１（１２）から受信した指示（ａ２）に従い、仮想サーバ２１の数などを制御（増減）する。例えば、現在時の稼働中の仮想サーバ数よりも指示（ａ２）で指定されている仮想サーバ数の方が多い場合は、その差の分の仮想サーバ２１を起動させ（スケールアウト）、少ない場合は、その差の分の仮想サーバ２１を停止（起動終了）させる（スケールイン）。
【００３４】
（S106）  上記S105に伴い、監視エージェント２２は、仮想サーバ２１の起動／停止を含む動作・状態を監視しており、その変化を監視情報（ａ３）として発行する。監視情報（ａ３）は、例えば仮想サーバ２１のＩＤ、負荷・リソース・数などの実績値を含む。更に望ましくは仮想サーバ２１の起動時間（Ｔ）の実績値などを含む。
【００３５】
（S107）  監視エージェント２２は、上記監視情報（ａ３）をネットワーク５を介してサーバ１の監視部１３へ送信する。監視部１３は、受信した監視情報（ａ３）をＤＢに監視情報５４（ログ情報）として記録する。
【００３６】
（S108）  監視部１３は、適宜タイミングで、上記監視情報（ａ３）（５４）を分析処理し、その結果をＤＢに監視情報５４（分析情報）として記録する。監視部１３の分析処理の内容は例えば、仮想サーバ２１の負荷・リソース・数などの実績値をもとに今後の負荷・リソース・数などを予測すること（対応する予測値を格納する）や、仮想サーバ２１の起動時間（Ｔ）の実績値をもとに今後の起動時間（Ｔ）を予測すること（対応する予測値を格納する）等が挙げられる。
【００３７】
上記S107，S108の結果（監視情報５４）は、S103で参照され、スケジューリングに反映されることになる。以後同様に繰り返しである。
【００３８】
［顧客企業カレンダー情報］
図３に、顧客企業カレンダー情報５１の例を示している。例えば、対象を顧客企業Ａの２０１１年（１月〜１２月）としたときの１月分を示している。顧客企業カレンダー情報５１は、実スケジュール（５３）を生成するための基本情報であり、顧客企業ごとの固有の特性に応じた内容の情報である。顧客企業カレンダー情報５１は、一般的なカレンダー上に、固有の日時情報（タイプ情報）として、少なくとも、当該企業の営業日及び休業日の情報を含む。括弧付きの数字は営業日を示し、破線枠は休業日を示す。本例では、簡単のため、２種類の日として、休業日以外は営業日（営業時間は例えば９時〜１７時）とする。例えば１月３日が第１営業日（月初営業日）であり、１月３１日が第２２営業日（月末営業日）である。上記２種類の日以外にも業務等に応じた各種の日（例えば半日営業日など）を設定可能である。
【００３９】
当該企業Ａのパブリッククラウド２（仮想サーバ２１）の利用に係わる特性として、例えば休業日は負荷（サーバ負荷）が低く、通常営業日（一部の特定の営業日を除く営業日）は負荷が中程度であり、一部の特定の営業日には負荷が高くなる。一部の特定の営業日とは、例えば月初営業日や月末営業日、あるいは休業日の前営業日や翌営業日、あるいは指定される特定の日（例えば特別な処理を実行する日）、等が挙げられる。上記特定の営業日などの情報は、顧客企業カレンダー情報５１またはスケジュール定義情報５２に対して設定可能となっている（本実施の形態ではスケジュール定義情報５２に日付定義などの形で設定可能である）。
【００４０】
また顧客企業カレンダー情報５１は、当該顧客企業ごとに複数の種類のカレンダー情報を有する場合もある。例えば部署ごとに異なるカレンダー情報の場合である。この場合は複数の各カレンダー情報を設定可能である。
【００４１】
また変形例として、顧客企業カレンダー情報５１（営業日・休業日などの情報）に関連情報を持たせて利用してもよい。例えば営業日・休業日などに関連付けられる業務処理内容（例えば通常業務、バックアップ、特別処理等）や、顧客企業の従業員の人数や入退（出社）管理の情報などが挙げられる。これらの関連情報は、サーバ（仮想サーバ２１）の負荷等に影響する情報であり、本システム（スケジューラ部１１）によるスケジューリングに利用することができる。
【００４２】
［スケジュール定義情報］
図４に、スケジュール定義情報５２の例（テーブル）を示している。図３の５１の内容と対応した設定例である（対象年月：例えば２０１１年１月）。また複数の各顧客企業（Ａ，Ｂ等）の設定情報を含んでいる（顧客企業ごとに分離してもよい）。本テーブルは、管理項目（列）として、（ａ）顧客企業、（ｂ）仮想サーバＩＤ、（ｃ）日付定義、（ｄ）休日動作、（ｅ）仮想サーバ数、（ｆ）予測起動時間、（ｇ）仮想サーバ範囲、等を有する。スケジュール定義情報５２は、実スケジュール（５３）を生成するための定義（方針等）を設定する情報である。
【００４３】
（ａ）顧客企業は、顧客企業の識別情報であり、例えばＡ，Ｂ等を有する。（ｂ）仮想サーバＩＤは、スケール制御の対象となる仮想サーバ２１の識別情報であり、例えばSa001，Sb001等を有する。
【００４４】
（ｃ）日付定義は、スケール制御を実行する対象となる日時に関する定義情報である。例えば、第１行（＃１）では「毎日午前９時」、＃２では「第１営業日午前１０時」、＃３では「第２月曜日午前１１時３０分」、＃４では「第４月曜日午前１２時」、＃５では「月末日午前８時３０分」、＃６では「暦日１０日午前９時３０分」、といった例である。
【００４５】
（ｄ）休日動作は、当該日付（ｃ）が休業日である場合にどのように動作・制御させるかを指定する情報である。例えば＃１では「実行無し」、＃３では「前営業日に実行」、＃４では「翌営業日に実行」、といった例である（内部的にはそれぞれ所定のタイプ情報などで管理される）。「実行無し」の場合、当該休業日にはスケール制御を実行しない。「前営業日に実行」の場合、当該日付の制御を、一番近い前営業日に実行させる指定を示す。「翌営業日に実行」の場合、当該日付の制御を、一番近い翌営業日に実行させる指定を示す。
【００４６】
（ｅ）仮想サーバ数は、スケール制御での稼働させる仮想サーバ２１（インスタンス）の数（目標値）を指定する情報である。例えばこの値を１０として指示（ａ２）を送信した場合、その時の実際の稼働仮想サーバ数が７台であれば、対象システム（２）で新たに３台が起動され、その時の実際の稼働仮想サーバ数が１５台であれば、対象システム（２）で５台が停止（起動終了）される。
【００４７】
なおスケール制御としては、仮想サーバ数に限らず、他のパラメータ、例えばＣＰＵ数、メモリ数などを制御する形態も同様に実現可能である。
【００４８】
（ｆ）予測起動時間（単位は例えば分）は、当該仮想サーバ２１（１台あたり）の起動に要する時間（Ｔ）（指示を与えてから起動完了するまでの時間）の予測値である。この値は、設定者によりコンピュータ４から任意に設定する形態（経験的な予測値を利用する）としてもよい。また、監視部１３の分析処理で監視情報５４に格納した実績値や予測値を利用してスケジューラ部１１等により自動的に当該項目値を更新する形態としてもよい。Ｔの単位は分に限らず、レベル（短い／普通／長い）などで設定可能としてもよい。
【００４９】
（ｇ）仮想サーバ範囲は、スケジューラ部１１及び監視情報５４を用いて動的スケール制御を追加する場合における変更可能な仮想サーバ数の上下限値（最小仮想サーバ数〜最大仮想サーバ数）を規定する。例えば＃１では、ｅの仮想サーバ数（静的スケール制御目標値）が７であるが、動的スケール制御を追加する場合に、ｇのように下限値が４、上限値が１０までの範囲で仮想サーバ数を動的に変更可能とすることを示す。ｇの値は、設定者によりコンピュータ４から任意に設定可能である。ｇの範囲の値は、台数に限らず、レベル（無し（固定）／狭い／広い）などで設定可能としてもよい。
【００５０】
例えば企業Ａの設定者は、コンピュータ４からＵＩ部１４を通じてスケジュール定義情報５２の自社の情報部分に対して、自社の業務等の特性に応じたスケール制御の方針を設定する。例えば図４の＃２のように、企業Ａの第１営業日の午前１０時に対象システム（２）の対象仮想サーバSa001を５台起動完了した状態にしたいという目標値を設定する。この目標値の設定に応じて、後は、スケジューラ部１１が好適な実スケジュール情報５３（サーバ負荷や予測起動時間などを考慮した好適な静的スケール制御のスケジュール）を生成し、自動的に仮想サーバ制御部１２が静的スケール制御を実行する。
【００５１】
図４の設定例（対象年月：２０１１年１月）では、＃１では、企業Ａが対象システム（２）の仮想サーバSa001を、毎日（営業日のみ）の午前９時に７台起動状態にさせる目標を示す。また当該仮想サーバSa001の予測起動時間（Ｔ）は５分であり、動的スケール制御の仮想サーバ範囲は４〜１０台である。＃２では、同仮想サーバSa001を、第１営業日の午前１０時に５台起動状態にさせる目標を示す。予測起動時間（Ｔ）は５分であり、範囲は５台で固定（動的スケール制御無し）である。＃３では、同仮想サーバSa001を、第２月曜日の午前１１時３０分に１０台起動状態にさせる目標、及び当該日が休業日である場合は前営業日に実行させることを示す。またＴ＝３０分と長く、範囲は２〜１５台である。＃４では、対象システム（２）の仮想サーバSb001を、第４月曜日の午前１２時に１０台起動状態にさせる目標、及び当該日が休業日である場合は翌営業日に実行させることを示す。Ｔ＝２０分、範囲は２〜１５台である。＃５では、対象システム（２）の仮想サーバSa002を、月末日の午前８時３０分に、５台起動状態にさせる目標を示す。Ｔ＝１５分、範囲は２〜６台である。＃６では、対象システム（２）の仮想サーバSb003を、暦日１０日の午前９時３０分に５台起動状態にさせる目標、及び当該日が休業日である場合は翌営業日に実行させることを示す。Ｔ＝１０分、範囲は２〜１０台である。＃７，＃８では、同様に、別の企業Ｂが対象システム（２）の仮想サーバSc001等を指定の日付で指定の台数起動状態にさせる目標などを示す（図示省略）。
【００５２】
なおスケジュール定義情報５２の設定は、図４のようなテーブルに対して直接入力設定する形に限らなくてもよい。例えばＵＩ部１４で定義パターンやタイプ情報を予め用意しておき、設定者が当該パターンやタイプを選択入力可能とする。
【００５３】
［実スケジュール情報］
図５に、実スケジュール情報５３の例（テーブル）を示している。図３の５１、図４の５２の内容と対応した生成例である（対象年月：例えば２０１１年１月）。時系列順で制御単位ごとの行が並ぶ形である。実スケジュール情報５３は、管理項目（列）として、（ａ）日時、（ｂ）仮想サーバＩＤ、（ｃ）仮想サーバ数、（ｄ）認証情報、等を有する。
【００５４】
（ａ）日時は、仮想サーバ制御部１２によりスケール制御を実行する日時（指示（ａ２）を送信する日時）を示す。（ｂ）仮想サーバＩＤは、スケール制御対象の仮想サーバ２１を指定する識別情報である。（ｃ）仮想サーバ数は、スケール制御での稼働させる仮想サーバ数を指定する情報である。（ｄ）認証情報は、（ｃ）仮想サーバ数を含むスケール制御の指示（ａ２）を対象システム（２）に送信してサーバを制御する際に必要とされる認証情報であり、例えばユーザＩＤ，パスワード等の情報である。
【００５５】
図５で、例えば＃１では、図４の＃１に従い、図３の１月３日（第１営業日（月初営業日））の８時５５分（Ｔ＝５分）に、対象の仮想サーバSa001を１０台起動状態にさせるように指示（ａ２）を送信することを規定している。図４の＃１でｃの日付定義では午前９時（目標）であり、ｆの予測起動時間（Ｔ）＝５分であるため、図５の＃１では、９時よりも５分前である８時５５分に指示（ａ２）を送信するようにスケジュールを生成している。これにより従来よりも実際の起動状態を目標値に近づけることができる。また更には、上記指示を送信する日時（８時５５分）は、余裕をみてもっと前になるように設定してもよい。
【００５６】
同様に、＃２では、図４の＃２に従い、同日午前９時５５分（目標の５分前）に、同Sa001を５台起動させる指示を示す。＃３では、＃１と同様に、図４の＃１に従い、１月４日８時５５分に、Sa001を７台起動させる指示を示す。＃４では、図４の＃６に従い、図３の１月１０日の翌営業日である１日１１日の午前９時２０分（目標の１０分前）に、仮想サーバSb003を５台起動させる指示を示す。＃５では、図４の＃３に従い、図３の１月１７日の前営業日である１日１４日の１１時（目標の３０分前）に、Sa001を１０台起動させる指示を示す。＃６では、図４の＃４に従い、図３の１月２４日の翌営業日である１月２５日の午前１１時４０分（目標の２０分前）に、仮想サーバSb001を１０台起動させる指示を示す。＃７では、図４の＃５に従い、図３の１月３１日の午前８時１５分（目標の１５分前）に、仮想サーバSa002を５台起動させる指示を示す。
【００５７】
上記制御の結果、仮に予測と実績とでずれが生じたとしても、監視情報５４として記録され、後々のスケジューリングで反映することができる。例えば予測起動時間（Ｔ）を修正（更新）し、それに応じて実スケジュール情報５３の日時が前後に修正される。そのため、次第に処理効率を高めることができる。
【００５８】
なお実スケジュール情報５３は、変形例として、対象システムに応じて、起動させる仮想サーバ数や停止させる仮想サーバ数を指定して制御する形態としてもよい。
【００５９】
［仮想サーバ起動時間］
前述の仮想サーバの起動時間（Ｔ）について補足する。例えばあるパブリッククラウドＡでは、ある仮想サーバＡの起動（指示を与えてから起動完了状態になるまで）に１５分を要するとする（Ｔ＝１５分）。各種のパブリッククラウドに応じて仮想サーバの起動のメカニズムなどを含む内部的な仕組みが異なり、またその時の負荷などの状況に応じて、上記起動時間（Ｔ）も異なってくる。またパブリッククラウドの設備が存在する地理的な位置や、クライアントとの通信距離などに応じて、上記起動時間（Ｔ）が異なってくる。上記起動時間（Ｔ）は、一般的に外部からは予測が難しく、不定的である。
【００６０】
本システムでは、特徴の１つとして、上記起動時間（Ｔ）を把握し（監視部１３、図４の５２のｆ等）、スケジューラ部１１によるスケジューリングに反映する。即ち顧客の設定した目標値に対し、予測起動時間（Ｔ）分を考慮した早目の実スケジュールの日時を生成している。これにより好適なスケール制御を実現しており、結果、効率的な業務処理等を実現する。
【００６１】
［動的スケール制御］
前述の動的スケール制御について補足する。監視部１３は、監視情報（ａ３）により、対象システム（２）の動的なリソース状態を把握し、監視情報５４として記録する。本システムの追加的な機能として、スケジューラ部１１は、上記監視情報５４の動的なリソース状態の情報を参照し、その状態の判断に基づき、仮想サーバ制御部１２による基本の静的スケール制御に対し、所定の範囲内で動的スケール制御を加えることができる。即ち、スケジューラ部１２は、５１，５２に基づく静的スケール制御に加え、上記動的スケール制御を反映した実スケジュール情報５３を生成する処理を行う。この追加的な機能を使用する場合（ＵＩ部１４で使用選択・設定可能）、ある日時タイミングでの静的スケール制御による対象システム（２）の仮想サーバ２１の実際の状況（実績）を鑑みて、次以降の日時タイミングで稼働させる仮想サーバ２１の数を所定の範囲内で増減する調整を可能とする。これによりリソース状況などを改善できる。あくまで実スケジュール情報５３に基づく静的スケール制御を基本とし、動的スケール制御を補佐的に用いる形となる。
【００６２】
［効果等］
以上説明したように、本実施の形態によれば、パブリッククラウド２等の対象システムにおける仮想サーバ２１等のスケール制御に関して、処理効率・負荷分散などの十分な効果やシステム／サービスの実現性を確保することができる。本システムでは、顧客企業のカレンダー（５１）及びスケジュール定義（５２）に応じて静的スケール制御のための実スケジュール（５３）を決定するという独自の機能を備えており、顧客企業担当者等が設定したカレンダー（５１）及びスケジュール定義（５２）に従って、対象システム（２）の仮想サーバ２１のスケールを効果的に制御することができ、顧客企業の業務処理等を効率化することができる。従来の動的スケール制御の場合には顧客企業のスケジュール等の都合と適合せず処理効率が悪くなってしまう場合があるが、本システムの静的スケール制御を用いることで十分な効果及び実現性を確保できる。
【００６３】
本システムでは特に、対象システム（２）のサーバ負荷（例えば負荷ピーク日時）や仮想サーバ２１の起動時間（Ｔ）を考慮・反映した実スケジュール（５３）を自動的に生成して効果的な静的スケール制御を実現できる。目標日時に対して遅延（Ｔ）分早目の日時に起動の指示（ａ２）を送信するので、目標日時に指定の仮想サーバ数を起動状態にすることができる。
【００６４】
従来の一般的な静的スケール制御あるいはスケジュール制御では、単に所定（指定）のスケジュール（日時）に従って固定的にサーバのスケール（数など）を変更するのみであり、顧客企業ごとの営業日・休業日などの特性、業務処理等の特性に対応したスケール制御はされていない。よって、例えば特定の営業日の始業時あたりに負荷や起動時間（Ｔ）の影響により業務処理等の効率が悪くなるといった問題にうまく対処することができていない。一方、本実施の形態では、顧客企業ごとの都合・特性を考慮した独自の静的スケール制御を実現しており、上記問題にも対処することができる。
【００６５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【００６６】
本発明は、顧客企業情報処理システム、クラウドコンピューティングシステム、統合監視システム、等に利用可能である。
【符号の説明】
【００６７】
１…サーバ、２…パブリッククラウド（仮想サーバ稼働システム）、３…仮想マシン稼働システム、４…顧客企業（設定者）のコンピュータ、１１…スケジューラ部、１２…仮想サーバ制御部、１３…監視部、１４…ＵＩ（ユーザインタフェース）部、２１…仮想サーバ、２２…監視エージェント、５１…顧客企業カレンダー情報、５２…スケジュール定義情報、５３…実スケジュール情報、５４…監視情報。
【図１】
0005342615.tif 000002
【図２】
0005342615.tif 000003
【図３】
0005342615.tif 000004
【図４】
0005342615.tif 000005
【図５】
0005342615.tif 000006