JP6282736B2 - 仮想サーバ稼動制御システム及び仮想サーバ稼動制御プログラム - Google Patents

仮想サーバ稼動制御システム及び仮想サーバ稼動制御プログラム Download PDF

Info

Publication number
JP6282736B2
JP6282736B2 JP2016532808A JP2016532808A JP6282736B2 JP 6282736 B2 JP6282736 B2 JP 6282736B2 JP 2016532808 A JP2016532808 A JP 2016532808A JP 2016532808 A JP2016532808 A JP 2016532808A JP 6282736 B2 JP6282736 B2 JP 6282736B2
Authority
JP
Japan
Prior art keywords
virtual server
information
operation control
stop
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016532808A
Other languages
English (en)
Other versions
JPWO2016006026A1 (ja
Inventor
峰幸 田村
峰幸 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Publication of JPWO2016006026A1 publication Critical patent/JPWO2016006026A1/ja
Application granted granted Critical
Publication of JP6282736B2 publication Critical patent/JP6282736B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、コンピュータ及び情報処理の技術に関する。また本発明は、仮想サーバないし仮想マシンの稼動の状態を制御する技術に関する。
従来、インターネット上のパブリッククラウド等のクラウドコンピューティングシステムを含むコンピュータシステムにおいて、物理サーバ上の仮想サーバ等により構成されるシステム(以下、仮想サーバシステムともいう)が稼動される。事業者は、パブリッククラウド等のシステム上で仮想サーバシステムを稼動させ、顧客企業等の組織に対し、仮想サーバの稼動時間等に応じた従量課金等の方式で提供する。顧客企業は、端末からパブリッククラウドの仮想サーバシステムにアクセスし、そのサービスや機能を利用する。
従来、物理サーバ及び仮想サーバの起動や停止等を制御する基本的な技術や、稼動する仮想サーバの数を負荷に応じて制御する技術等は存在する。
上記物理サーバ及び仮想サーバの稼動の制御に関する先行技術例として、特開平6−337738号公報(特許文献1)が挙げられる。特許文献1は、スケジュール管理DBの設定に基づいてネットワークを介して計算機の電源のオン/オフを制御する記載がある。
特開平6−337738号公報
従来、上記パブリッククラウド上の顧客企業の仮想サーバシステムに関しては、常時稼動、即ち複数の仮想サーバが常に起動状態で運用及び利用される場合が多い。顧客企業は、従量課金によるコストを削減したい。そのためには、顧客企業の都合に応じた時間に仮想サーバを停止させて稼動時間等を減らすことが考えられる。例えば休業日や営業時間外等に停止させる運用である。しかしその場合、停止及び再起動等のために人手による指示及び設定等の作業に手間がかかるだけでなく、下記のように特有の課題から停止等の制御が十分に実現できない場合がある。そのため、上記常時稼動の運用及び利用が多く、仮想サーバの稼動時間等が減らし難いので、従量課金のコストが削減できない。
事業者及び顧客企業は、顧客企業の都合に応じた時間に仮想サーバシステムを起動や停止させる制御を行う場合、パブリッククラウド毎及び仮想サーバシステム毎の特性や制約から、当該停止等の制御が十分に実現できない場合がある。仮想サーバシステムを起動や停止させる場合、パブリッククラウド毎及び仮想サーバシステム毎に所定の手順が必要である。仮想サーバの起動や停止の基本的な制御は、パブリッククラウドに応じて公開されるAPIの使用、及びスクリプトプログラムによる指示や制御の設定等の手段を用いて技術的には可能である。
上記制御を行うシステム(以下、稼動制御システムともいう)は、例えば仮想サーバを停止させる場合、パブリッククラウドへAPIを通じて仮想サーバの停止の指示を与える。パブリッククラウドは、仮想サーバにより実行されているバッチ処理等の処理がある場合、当該処理の終了を待ってから停止させる。
上記手段を用いて単純に仮想サーバの停止の指示をしても、パブリッククラウド毎の例えば仮想サーバのOS毎の機能の制約により、正常な仮想サーバの停止ができない場合がある。OSの機能の制約の例として、シャットダウン時の処理の時間制限がある。上記停止の指示が与えられた時、規定の制限時間内に処理の終了が完了しない場合、途中で仮想サーバが停止される結果あるいはエラー等の結果になる場合がある。従来、上記パブリッククラウド毎の仮想サーバの停止時の状況や特性や制約等を考慮して適切に停止等を制御する仕組みは提供されていない。
また仮想サーバシステムを構成する複数の仮想サーバは、所定の関係性を持つので、制御の際にはそれらを適切に起動や停止させる手順を考慮する必要がある。例えば第1の仮想サーバを停止させる前に第2の仮想サーバを停止させる等の手順である。従来、上記関係性を考慮して適切に停止等を制御する仕組みは提供されていない。
顧客企業は、上記時間に応じた制御を行う場合、人手により上記パブリッククラウドや仮想サーバシステム毎の特性を考慮した内容でAPIによる指示等を行う必要がある。人手により上記時間毎の指示や制御を含むスクリプトプログラム等を作成及び設定し、適宜設定変更する等の作業が必要であり、手間や管理コストが大きい。
なお特許文献1のような技術は、物理サーバの電源のオン/オフを制御する技術に相当し、物理サーバ上での仮想サーバの起動や停止に係わる課題は考慮されていないため、上記時間に応じた仮想サーバシステムの稼動の制御に適用するには不十分である。
本発明の目的は、パブリッククラウド等のシステム上の仮想サーバシステムの起動や停止を含む稼動の制御に関して、顧客企業の都合及び時間に応じた正常及び詳細な制御を実現でき、従量課金のコストや設定作業の手間等を削減できる技術を提供することである。
上記目的を達成するため、本発明のうち代表的な形態は、パブリッククラウド等のコンピュータシステム上での仮想サーバシステムの稼動を制御するシステムである仮想サーバ稼動制御システム等であって、以下に示す構成を有することを特徴とする。
一実施の形態の仮想サーバ稼動制御システムは、パブリッククラウドを含むコンピュータシステム上における組織の仮想サーバシステムの起動及び停止を含む稼動の状態を制御するサーバ装置を有し、前記サーバ装置は、前記組織の設定者の端末の操作に基づいて、前記組織の都合に応じた時間での仮想サーバシステムの起動及び停止を含む稼動の制御のスケジュール情報を作成するスケジュール部と、前記スケジュール情報に従う日時に、前記コンピュータシステム上の仮想サーバシステムの稼動の制御の動作を実行する制御部と、を有し、前記制御部は、前記仮想サーバシステムの起動の日時に、前記コンピュータシステムへ、当該仮想サーバシステムを構成する複数の仮想サーバの起動の指示を与えることにより、当該コンピュータシステムで複数の仮想サーバを起動させて、当該コンピュータシステムから起動の完了の確認をとり、前記仮想サーバシステムの停止の日時に、前記コンピュータシステムへ、当該仮想サーバシステムを構成する複数の仮想サーバの停止の指示を与えることにより、当該コンピュータシステムで複数の仮想サーバを停止させて、当該コンピュータシステムから停止の完了の確認をとる。
本発明のうち代表的な形態によれば、パブリッククラウド等のシステム上の仮想サーバシステムの起動や停止を含む稼動の制御に関して、顧客企業の都合及び時間に応じた正常及び詳細な制御を実現でき、従量課金のコストや設定作業の手間等を削減できる。
本発明の一実施の形態の仮想サーバ稼動制御システムを含むシステム全体の構成を示す図である。 一実施の形態の仮想サーバ稼動制御システムの構成を示す図である。 一実施の形態におけるパブリッククラウドの仮想サーバシステムの例を示す図である。 一実施の形態における仮想サーバシステムの例を示す図である。 一実施の形態における設定及びスケジュール生成の例を示す図である。 一実施の形態における仮想サーバ稼動制御実行の例を示す図である。 一実施の形態における仮想サーバシステム起動時の処理例を示す図である。 一実施の形態における仮想サーバシステム停止時の処理例を示す図である。 一実施の形態におけるカレンダー情報の設定画面の例を示す図である。 一実施の形態におけるカレンダー情報の構成例を示す図である。 一実施の形態における稼動制御定義情報の構成例を示す図である。 一実施の形態におけるサーバ定義情報の構成例を示す図である。 一実施の形態におけるスケジュール情報の構成例を示す図である。 一実施の形態における稼動ステータス情報の構成例を示す図である。 一実施の形態における稼動制御定義情報の設定画面の第1の例を示す図である。 一実施の形態における稼動制御定義情報の設定画面の第2の例を示す図である。 一実施の形態における稼動制御スケジュール確認画面の例を示す図である。 一実施の形態における稼動制御の例及び効果を従来例との比較で示す図である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお実施の形態を説明するための全図において同一部には原則として同一符号を付しその繰り返しの説明は省略する。本実施の形態の仮想サーバ稼動制御システムは、以下の特徴を含む構成を有する。
(1)本システムは、顧客企業の都合に応じたスケジュールで、且つパブリッククラウド毎及び仮想サーバシステム毎の特性や制約を考慮して、仮想サーバシステムの起動及び停止を含む稼動を、正常及び詳細に制御する技術的な仕組みを提供する。具体的には、仮想サーバの稼動制御のエージェント等を用いた、仮想サーバの停止前の処理の自動化の仕組みを有する。本システムは、仮想サーバシステムを停止させる際、パブリッククラウド毎及び仮想サーバシステム毎の特性や制約を考慮した必要な終了処理を行わせてから仮想サーバを停止させる。
(2)本システムは、仮想サーバシステムの単位を構成する複数の仮想サーバを正常かつ容易に起動及び停止させる仕組みを提供する。具体的には、本システムは、顧客企業のユーザによる簡易な設定に基づいて、仮想サーバシステムの複数の仮想サーバを適切な順序で起動や停止させる手順の処理を実行させる。
(3)本システムは、顧客企業のユーザによる簡易な設定に基づいて、顧客企業の営業日等のカレンダーから、詳細な稼動制御のスケジュールを生成し、当該スケジュールに従い自動的に仮想サーバシステムの起動及び停止を含む稼動の制御を実行する。本システムは、顧客企業のユーザによる簡易な設定等を可能とするユーザインタフェースとして設定画面等を提供する。ユーザは、画面で、顧客企業のカレンダー、仮想サーバシステムの構成、稼動制御の定義情報、等を容易に設定でき、確認できる。
[システム全体]
図1は、一実施の形態の仮想サーバ稼動制御システムを含むシステム全体の構成を示す。システム全体は、通信網であるインターネット4を通じて、事業者1のサーバ10を含むシステムと、複数の各々の顧客企業2の端末41,42を含むシステムと、複数の各々の事業者3のパブリッククラウド30を含むシステムとが接続される。
事業者1のサーバ10は、言い換えると仮想サーバ稼動制御装置である。事業者1のシステムは、サーバ10以外の機器を含んでもよい。サーバ10は、複数のサーバ装置及びストレージ装置等により構成されるサーバシステム等でもよい。事業者1のシステムと、事業者3のパブリッククラウド30とは、通信網上の異なるロケーションに存在する。
顧客企業2のシステムは、複数の各々のユーザの端末41,42を含み、端末41,42以外のサーバ等の機器を含んでもよい。顧客企業2のユーザは、一般の社員等のユーザと、システム管理者等の、本システムに対する設定者であるユーザとを含む。一般のユーザは、端末42を使用し、業務を行う。設定者は、端末41を使用し、業務を行うと共に、本システムに対する設定等を行う。
事業者3のパブリッククラウド30は、言い換えると仮想サーバ稼動システムであり、物理サーバやストレージや通信機器等を含む。パブリッククラウド30は、インターネット4上で、企業等を含む不特定のユーザに対し、クラウドコンピューティングによるサービス処理を提供する公知のコンピュータシステムである。パブリッククラウド30は、そのハードウェア及びソフトウェアを含むリソースを用いて、顧客企業2の仮想サーバシステム6を構成し稼動させる。複数の各々の事業者3のパブリッククラウド30は、内部的な仕組みや特性が異なる。
5aは、事業者1と顧客企業2とが契約し、事業者1が顧客企業2に対し仮想サーバシステム6の稼動制御を含む運用保守等のサービスを提供することを示す。5bは、サーバ10がパブリッククラウド3にアクセスして仮想サーバシステム6の稼動制御を行うことを示す。5cは、顧客企業2の端末41,42が適宜パブリッククラウド30上の仮想サーバシステム6にアクセスし、仮想サーバシステム6によるサービス処理等を利用することを示す。5dは、設定者の端末41がサーバ10にアクセスし、本システムの設定や稼動制御内容の確認等を行うことを示す。
なお本システムの設定者は、顧客企業2内のシステム管理者等の人に限らず、事業者1側の管理者や担当者等の人、事業者3側の管理者等の人でもよい。
[仮想サーバ稼動制御システム]
図2は、一実施の形態の仮想サーバ稼動制御システムの構成を示す。一実施の形態の仮想サーバ稼動制御システムは、主にサーバ10により構成され、詳しくは、顧客企業2の端末41及びパブリッククラウド30との連携で構成される。本システムは、仮想サーバシステム6の仮想サーバ70の稼動の状態を制御するために、構成要素として、パブリッククラウド30内に、エージェント80が設けられる。
サーバ10は、処理部として、UI部11、スケジュール生成部12、稼動制御部13、及びエージェント通信IF部16を有する。サーバ10は、記憶及び管理するデータ及び情報として、カレンダー情報51、稼動制御定義情報52、サーバ定義情報53、スケジュール情報54、稼動ステータス情報55、及びログ情報56を有する。
サーバ10は、MPU等のプロセッサ、ROMやRAMやディスク等の記憶装置、バスや通信インタフェース部や入出力デバイス等の公知の要素を備える。サーバ10の各処理部は、例えばソフトウェアプログラム処理により実現される。サーバ10は、例えばMPUによりRAM等に格納された本実施の形態のプログラムをROM等にロードして実行することにより、上記各処理部を実現する。サーバ10の各情報は、例えばDBの表に格納される。サーバ10の各情報は、サーバ10の外部の装置に格納されてもよい。
ユーザの端末41,42は、PCやスマートフォン等のコンピュータにより構成され、Webブラウザやメールクライアント等の公知の要素を備える。
パブリッククラウド30は、複数の物理サーバ31、及び管理装置32を含む。物理サーバ31は、所定のハードウェア61及びハイパーバイザ62を含む。ハイパーバイザ62は、仮想化ソフトウェアであり、ハードウェア61を含むリソースを用いて、OSを含む1つ以上の仮想サーバ70をインスタンスとして構成し稼動させる。ハイパーバイザ62は、指示に応じて、仮想サーバ70の起動や停止を行う。パブリッククラウド30は、インターネット4に、仮想サーバ70を制御するためのAPI(アプリケーション・プログラム・インタフェース)を公開している。なおパブリッククラウド30は、VMware(登録商標)等のソフトウェアを用いて仮想マシンを稼働させるシステムでもよい。その場合、稼動制御の対象は、仮想マシン及びそれにより構成されるシステムである。
管理装置32は、パブリッククラウド30毎に元々備える構成要素であり、物理サーバ31及び仮想サーバ70を管理する。管理装置32は、例えば物理サーバ31の電源のオン及びオフ、並びに仮想サーバ70の起動及び停止を制御する機能を持つ。管理装置32は、サーバ10の稼動制御部13からの指示に応じて、仮想サーバ70の起動や停止を行う。
物理サーバ31上には、仮想サーバ70が稼働し、仮想サーバ70内でエージェント80がプロセスとして稼働される。エージェント80の起動及び停止は、仮想サーバ70内のOSにより実施される。エージェント80は、例えば仮想サーバ70と一対一で関係付けられ、当該仮想サーバ70の起動に伴い起動され、当該仮想サーバ70の停止に伴い停止される。
エージェント80は、サーバ10と連携する処理部である。エージェント80は、物理サーバ31上の仮想サーバ70の稼動の状態を把握し、パブリッククラウド30毎の特性や制約を考慮した、仮想サーバ70の起動や停止の制御に伴う処理を行う。特に、エージェント80は、稼動制御部13との連携で仮想サーバ70の停止の際の前処理である終了処理を実行する機能を有する。エージェント80は、定期的にサーバ10のエージェント通信IF部16にアクセスし、エージェント通信IF部16を介して稼動ステータス情報55を読み書きする。これによりエージェント80は、稼動制御に係わる情報を参照や更新する。またエージェント80は、後述のエラー発生時等に必要に応じてユーザの端末41へ通知する機能を有する。
サーバ10において、UI部11は、設定者に対するユーザインタフェースとして、設定画面や確認画面を含むGUIを提供する。UI部11は、例えばWebサーバ等で構成され、Webページによる画面を提供する。UI部11は、設定者の端末41からの操作に基づいて、カレンダー情報51、稼動制御定義情報52、及びサーバ定義情報53等を設定及び確認するための設定画面や確認画面を提供する。UI部11は、設定画面で設定された情報を、カレンダー情報51、稼動制御定義情報52、及びサーバ定義情報53に格納する。またUI部11は、設定情報や、ログ情報56や、稼動制御のスケジュール等を整理して表示する確認画面を提供する。
スケジュール生成部12は、カレンダー情報51、稼動制御定義情報52、及びサーバ定義情報53等の設定情報に基づいて、稼動制御のスケジュール情報54を生成する。スケジュール情報54は、稼動制御の日時等のスケジュールを含む情報である。
稼動制御部13は、仮想サーバシステム6及び仮想サーバ70の稼動制御部である。稼動制御部13は、スケジュール情報54に従う日時及び内容で、パブリッククラウド30に対し、仮想サーバシステム6の稼動制御を実行する。その際、稼動制御部13は、適宜稼動ステータス情報55を読み書きしてエージェント80と連携しながら、稼動制御を実行する。稼動制御部13は、パブリッククラウド30のAPIを使用して仮想サーバ70の起動や停止を指示する。稼動制御部13は、稼動ステータス情報55に現在の稼動制御のステータスを記載する。稼動制御部13は、ログ情報56に、一連の指示、ステータスを含む、稼動制御の処理の履歴情報を記録する。また稼動制御部13は、後述のエラー発生時にユーザの端末41へ通知する機能を有する。
エージェント通信IF部16は、エージェント80との通信のインタフェースを受け持つモジュールであり、エージェント80からのアクセスに応じて稼動ステータス情報55を読み書きする。エージェント80は、エージェント通信IF部16を呼び出すことにより稼動ステータス情報55をポーリングする。即ちエージェント80は、エージェント通信IF部16を介して定期的に稼動ステータス情報55を参照し、その内容を読み書きする。エージェント80は、稼動ステータス情報55の稼動制御のステータスの変更を受けて、例えば終了処理等の処理を開始する。
本実施の形態では、サーバ10側からエージェント80へはアクセスせず、常にエージェント80側からサーバ10へポーリングの形態でアクセスする。稼動制御部13は、エージェント80に対し直接的な指示はせず、稼動ステータス情報55を介在して指示及び制御が行われる。
なおサーバ10がエージェント80に対し直接的に指示する形態も可能であるが、そのためには、エージェント80がグローバルIPアドレス等の情報を保有する必要がある。この保有は、コスト及びセキュリティ上の問題が発生し得るものであり、本システムの実現及び利用上の制約となる。よって、本実施の形態では、エージェント80がサーバ10の稼動ステータス情報55をポーリングし、稼動制御部13とエージェント80との間で間接的に通信する。これによりエージェント80はグローバルIPアドレス等の情報を保有する必要が無く、本システムの実現及び利用がしやすい。
カレンダー情報51は、一般的なカレンダーの暦日等の情報だけでなく、顧客企業毎の都合に応じた営業日や休業日等の情報が含まれる。稼動制御定義情報52は、スケジュール情報54を生成するための、稼動制御の対象日や内容に関する定義情報が含まれる。サーバ定義情報53は、パブリッククラウド30の顧客企業2の仮想サーバシステム6へのアクセスに必要な情報が含まれる。カレンダー情報51、稼動制御定義情報52、及びサーバ定義情報53は、顧客企業2毎の都合に応じた内容を適宜設定することができる。
稼動ステータス情報55は、少なくとも現在時の稼動制御の状態を表すステータス情報が保持される。ログ情報56は、稼動ステータス情報55の内容を含めて、サーバ10がパブリッククラウド30の仮想サーバシステム6に対して実施した一連の指示等を含む情報が時系列で保持される。なおログ情報56内には、後述のエラー発生の場合の情報も記録される。
スケジュール情報54、稼動ステータス情報55、及びログ情報56等の内容は、UI部11により提供される確認画面を通じて、設定者により参照及び確認が可能である。ユーザは、適宜確認画面で、稼動制御のスケジュール、ステータス、履歴等を確認できる。
なお例えば事業者1の設定者や事業者3の設定者は、顧客企業2の設定者からの指示に従い、上記設定情報を設定してもよい。例えば事業者1の設定者は、稼動制御定義情報52の一部(後述のスケジュールタイプ等)を予め設定してもよい。顧客企業2の設定者は、当該予め設定された定義情報から選択して設定に利用できる。また事業者1や事業者3の設定者は、パブリッククラウド30の情報をサーバ定義情報53に設定してもよい。
[複数のパブリッククラウド及び複数の仮想サーバシステム]
図3は、複数のパブリッククラウド30における複数の顧客企業2の仮想サーバシステム6の例を示す。例えば第1のパブリッククラウドPUB1,第2のパブリッククラウドPUB2がある。例えば第1の顧客企業A、第2の顧客企業Bがある。顧客企業Aは、例えば第1のパブリッククラウドPUB1上に稼動される第1の仮想サーバシステムSYS1と、第2のパブリッククラウドPUB2上に稼動される第2の仮想サーバシステムSYS2とを利用する。顧客企業Bは、例えば第1のパブリッククラウドPUB1上に稼動される第1の仮想サーバシステムSYS1を利用する。
顧客企業Aの仮想サーバシステムSYS1は、m個の物理サーバ31{PS1〜PSm}上に構成されるn個の仮想サーバ70{VS1〜VSn}により構成される。各仮想サーバ70{VS1〜VSn}は、例えば一対一でエージェント80{A1〜An}が関係付けられる。パブリッククラウドPUB2の仮想サーバシステムSYS2についても同様である。PUB1,SYS1等は説明上の識別情報を示す。m,n等の数字は可変である。
顧客企業2は、例えば部署等の違いに応じて、所望の複数のパブリッククラウド30の仮想サーバシステム6を夫々のカレンダーで利用できる。顧客企業2は、1つのパブリッククラウド30内の異なる複数の仮想サーバシステム6も利用できる。顧客企業2の情報システムが仮想サーバシステム6を用いて実現する処理は、自社の業務処理やデータバックアップ処理等が挙げられる。
[顧客企業の仮想サーバシステムの構成例]
図4は、顧客企業2の仮想サーバシステム6の構成例を示す。図4の(a)は、顧客企業Aの仮想サーバシステムSYS1に相当する、複数(n個)の仮想サーバ70{VS1〜VSn}による集まりないしグループの構成を示す。
図4の(b)は、顧客企業Aの仮想サーバシステムSYS1の詳しい第1の構成例を示す。仮想サーバシステムSYS1は、第1の仮想サーバVS1であるDBサーバDS1と、第2の仮想サーバVS2であるWebサーバWS2と、第3の仮想サーバVS3であるWebサーバWS1とから成る。VS1,DS1等は識別情報を示す。複数の仮想サーバ70の関係性として例えば、WebサーバWS1,WS2は、DBサーバDS1にアクセスしデータを読み書きする。なお丸数字は後述の起動順序、括弧付き数字は後述の停止順序を示す。
図4の(c)は、顧客企業Aの仮想サーバシステムSYS2の詳しい第2の構成例を示す。仮想サーバシステムSYS2は、第1の仮想サーバVS1であるファイルサーバFS1と、第2の仮想サーバVS2であるDBサーバDS1と、第3の仮想サーバVS3であるバッチサーバBS1と、第4の仮想サーバVS4であるWebサーバWS2と、第5の仮想サーバVS5であるWebサーバWS1とから成る。関係性として例えば、DBサーバDS1はファイルサーバFS1にアクセスし、バッチサーバBS1はDBサーバDS1及びファイルサーバFS1にアクセスし、WebサーバWS1,WS2はDBサーバDS1にアクセスする。
[処理概要]
図2の仮想サーバ稼動制御システムによる処理の概要は以下である。
(1) 顧客企業2の設定者であるユーザは、端末41からサーバ10にアクセスし、UI部11により提供される設定画面において、顧客企業2のカレンダー情報51、稼動制御定義情報52、及びサーバ定義情報53等の必要な情報を、適宜入力し設定する。設定内容は適宜更新できる。
(2) サーバ10のスケジュール生成部12は、設定に基づく所定のタイミングで、上記(1)の設定情報を参照し、当該設定情報に基づいて、顧客企業2の仮想サーバシステム6の稼動制御のためのスケジュール情報54、例えば次日や次週等の時間単位のインスタンスを生成する処理を行う。
(3) サーバ10の稼動制御部13は、スケジュール情報54を参照し、スケジュール情報54に記述された日時及び内容で、対象のパブリッククラウド30の仮想サーバシステム6の各仮想サーバ70に対する起動や停止の稼動制御を実行する。その際、稼動制御部13は、対象のパブリッククラウド30に対しAPIを使用して起動等を指示する。また稼動制御部13は、適宜、稼動ステータス情報55に、稼動制御の指示等を表すステータス情報を記載し、またエージェント80により記載された通知等のステータス情報を確認する。
(4) パブリッククラウド30は、サーバ10からの指示に応じて、仮想サーバシステム6の仮想サーバ70を起動や停止させる。また仮想サーバ70のエージェント80は、定期的にサーバ10のエージェント通信IF部16を通じて稼動ステータス情報55を参照する。エージェント80は、稼動制御部13による稼動制御の指示がある場合、当該指示に従い仮想サーバの70の稼動制御の処理を実行し、その完了の通知を送信して稼動ステータス情報55にステータス情報を記載させる。
(5) サーバ10の稼動制御部13は、上記稼動制御の指示や、パブリッククラウド30からの確認結果、及びエージェント80からの通知を含む一連の情報を、ログ情報56に記録する。後述のエラー発生時の場合、稼動制御部13は、エラー情報をログ情報56に記録する。エージェント80及び稼動制御部13は、設定に基づいて、ユーザの端末41へエラー情報を通知する。
以下、図5〜図8を用いて、上記仮想サーバ稼動制御システムによる処理やデータ等について、具体例を交えながら順に説明する。
[(1)設定及びスケジュール生成]
図5は、設定及びスケジュール生成の際の処理等の例を示す。例えば顧客企業Aの設定者であるユーザは、端末41からサーバ10にアクセスし、UI部11により提供される設定画面500で、カレンダー情報51、稼動制御定義情報52、及びサーバ定義情報53の内容を設定する。
カレンダー情報51は、例えば501のように、顧客企業Aの「部署1」に対応したカレンダーCA1として、暦日の日付毎に営業日や休業日等が設定される。実装では休業日の情報のみが登録されていてもよい。サーバ定義情報53は、例えば503のように、顧客企業Aの「部署1」に対応して利用されるパブリッククラウドPUB1の仮想サーバシステムSYS1の構成(図4の(b))が設定される。即ちSYS1の具体的な構成は、顧客企業2からみた複数のサーバ{DS1,WS1,WS2}に関係付けられた、複数の仮想サーバ70{VS1〜VS3}である。
稼動制御定義情報52は、例えば対象のカレンダー、仮想サーバシステム、実行日時、稼動制御動作、等の定義情報が設定される。定義情報は、例えば502のように、対象のカレンダーCA1と、当該カレンダーCA1のうちの実行対象日を指定するスケジュールタイプST1と、対象の仮想サーバシステムSYS1と、稼動制御の動作とが設定されている。稼動制御の動作は、例えば9時に起動、21時に停止、が設定されている。スケジュールタイプST1は、後述するが、ここでは「毎営業日」、即ち営業日(休業日以外)に毎日実行することを示す。
スケジュール生成部12は、カレンダー情報51、稼動制御定義情報52、及びサーバ定義情報53の設定情報の内容に基づいて、設定に基づく所定のタイミングで、稼動制御のためのスケジュールインスタンスを生成し、スケジュール情報54に格納する。スケジュール生成部12は、例えば顧客企業2毎の設定者による可変の設定に基づいて、毎日の定時、例えば22時に、所定の時間単位、例えば翌日分のスケジュールインスタンスを生成する。
スケジュールインスタンスは、例えば504のように、稼動制御の実施の日時の時系列順で、対象のパブリッククラウド30、仮想サーバシステム6の複数の仮想サーバ70、稼動制御動作、等の情報が含まれる。この情報は、複数の各々の仮想サーバ70の起動や停止の順序の情報が含まれる。なお504では仮想サーバシステム6の単位での起動や停止の動作の情報を括弧で示しているが、実装では当該仮想サーバシステム6の単位の情報を省略できる。
504のうち、例えば511は、1月10日の9時に、パブリッククラウドPUB1の仮想サーバシステムSYS1を、{VS1,VS2,VS3}の順序で起動させる指示を示す。512は、1月10日の21時に、パブリッククラウドPUB1の仮想サーバシステムSYS1を、{VS3,VS2,VS1}の順序で停止させる指示を示す。
[(2)仮想サーバ稼動制御実行]
図6は、続いて、稼動制御の実行の際の処理等の例を示す。サーバ定義情報53及びスケジュール情報54の内容は図5と同様とする。稼動制御部13は、仮想サーバシステム6の稼動制御サービス600を常時稼動させる。稼動制御部13の稼動制御サービス600は、スケジュール情報54のスケジュールインスタンスに従う日時及び内容で、サーバ定義情報53の情報(後述の認証情報を含む)を用いながら、対象のパブリッククラウド30に対し、顧客企業2の仮想サーバシステム6の複数の仮想サーバ70の起動及び停止を制御する。稼動制御部13の稼動制御サービス600は、エージェント80とのやり取りのため、適宜、稼動ステータス情報55に、505のように、指示等のステータス情報を記載する。
601は、稼動制御部13が稼動ステータス情報55に、終了処理の指示等のステータス情報を記載することを示す。602は、稼動制御部13からパブリッククラウド30へAPIを使用して起動や停止の指示を送信することを示す。603は、仮想サーバ70のエージェント80が、サーバ10のエージェント通信IF部16を介して稼動ステータス情報56をポーリング、即ち定期的に参照することを示す。
[(3)仮想サーバシステム起動時の処理]
図7は、仮想サーバシステム6を起動させる時の処理例を示す。サーバ10の稼動制御部13等は、図7中に示すステップS1〜S6の順で処理を行う。稼動制御部13の稼動制御サービス600は、スケジュール情報54に従い、対象のパブリッククラウド30の仮想サーバシステム6の複数の仮想サーバ70を所定の順序で起動させる。以下では、511の情報に従い、仮想サーバシステムSYS1の仮想サーバVS1〜VS3を{VS1,VS2,VS3}の順序で起動する例で説明する。
(S1) サーバ10の稼動制御部13は、511の情報に従い、対象のパブリックラウドPUB1に対し、APIを使用して、顧客企業Aの仮想サーバシステムSYS1のうち、まず第1の仮想サーバ70であるVS1を対象とする起動の指示を送信する。
(S2) 上記S1の起動の指示を受信したパブリッククラウドPUB1は、管理装置32により、対象の仮想サーバシステムSYS1の仮想サーバVS1とそれに伴うエージェントA1とを起動させる。エージェントA1は、仮想サーバVS1のOSにより起動される。
(S3) 稼動制御部13は、上記S1の起動の指示の発行に対応させて、稼動ステータス情報55に、当該起動の指示を表すステータス情報を記載する。当該ステータス情報は、701では「(1)1/10 9:00 VS1 起動指示」として示す。
(S4) 稼動制御部13は、パブリッククラウドPUB1を通じ、上記仮想サーバVS1の起動の完了を確認する。パブリッククラウドPUB1は、管理装置32を通じ、当該仮想サーバVS1の起動の完了の通知をサーバ10の稼動制御部13へ応答する。
(S5) 稼動制御部13は、上記S4の通知を受けると、稼動ステータス情報55に、仮想サーバVS1の起動の完了を表すステータス情報を記載する。当該ステータス情報は、「……VS1 起動完了」で示す。稼動ステータス情報55は、後述(図14)するが、仮想サーバ70毎に現在時点のステータスが記載及び保持される。なお図7の稼動ステータス情報55の701(図8の702も同様)では、説明上わかりやすいように、対象の仮想サーバ70のステータスの変遷を時系列順で記載している。
(S6) 稼動制御部13は、次に起動すべき仮想サーバ70であるVS2に関する処理へ移る。VS2に関する起動の処理は、上記S1〜S5と同様の繰り返しである。対応するステータス情報は、「……VS2 起動指示」「……VS2 起動完了」で示す。VS2の処理の後、同様に、VS3に関する起動の処理が行われる。このようにして、サーバ10は、仮想サーバシステムSYS1の仮想サーバ70{VS1〜VS3}を順に起動させる。稼動制御部13は、S1〜S6に係る一連の処理状況を、ログ情報56に記録する。
[(4)仮想サーバシステム停止時の処理]
図8は、仮想サーバシステム6を停止させる時の処理例を示す。サーバ10の稼動制御部13及びパブリッククラウド30側のエージェント80等は、図8中に示すステップS11〜S21の順で処理を行う。稼動制御部13の稼動制御サービス600は、スケジュール情報54に従い、対象のパブリッククラウド30の仮想サーバシステム6の複数の仮想サーバ70を所定の順序で停止させる。以下では、512の情報に従い、仮想サーバシステムSYS1の仮想サーバVS1〜VS3を{VS3,VS2,VS1}の順で停止する例で説明する。
(S11) 稼動制御部13は、512の情報に従い、対象のパブリッククラウドPUB1の顧客企業Aの仮想サーバシステムSYS1のうちまず第3の仮想サーバ70であるVS3の停止のための終了処理を指示するためのステータス情報を稼動ステータス情報55に記載する。当該ステータス情報は、702では「(1)1/10 21:00 VS3 終了処理指示」として示す。
(S12) エージェント80であるA3は、定期的に稼動ステータス情報55を参照しており、これにより上記S11の終了処理指示を確認する。
(S13) エージェントA3は、上記終了処理指示に従い、仮想サーバVS3を停止させるための所定の終了処理を実行する。この終了処理は、パブリッククラウドPUB1の特性や制約が考慮された処理であり、例えば仮想サーバVS3のOSの前述の終了時制限時間内では終了できないプロセスを事前に終了させる処理である。
(S14) エージェントA3は、上記終了処理を完了すると、当該終了処理の完了の通知を送信し、エージェント通信IF部16を介して稼動ステータス情報55に対応するステータス情報を記載させる。当該ステータス情報は、「……VS3 終了処理完了」で示す。
(S15) 稼動制御部13は、稼動ステータス情報55の上記S14の終了処理完了のステータス情報を確認する。
(S16) 稼動制御部13は、上記S15の確認に基づいて、パブリッククラウドPUB1へ、APIを使用して、仮想サーバシステムSYS1の仮想サーバVS3の停止の指示を送信する。
(S17) パブリッククラウドPUB1は、上記S16の停止の指示を受信し、管理装置32により、仮想サーバシステムSYS1の仮想サーバVS3及び対応するエージェントA3を停止させる。エージェントA3は、仮想サーバVS3のOSにより停止される。
(S18) 稼動制御部13は、上記S16の停止の指示の発行と共に、対応するステータス情報を稼動ステータス情報55に記載する。当該情報は「……VS3 停止指示」で示す。
(S19) 稼動制御部13は、パブリッククラウドPUB1へ、APIを使用して、仮想サーバシステムSYS1の仮想サーバVS3の状態を確認し、状態が停止になるまで確認を繰り返す。
(S20) 稼動制御部13は、上記S19の停止の完了を受けて、稼動ステータス情報55に、VS3の停止の完了を表すステータス情報を記載する。当該情報は「……VS3 停止完了」で示す。
(S21) 稼動制御部13は、次に停止すべき仮想サーバ70であるVS2に関する処理へ移る。VS2に関する起動の処理は、上記S11〜S20と同様の繰り返しである。VS2の処理の後、同様に、VS3に関する停止の処理が行われる。このようにして、サーバ10は、仮想サーバシステムSYS1の仮想サーバ70{VS1〜VS3}を順に停止させる。稼動制御部13は、(S11)〜(S21)に係る一連の処理状況を、ログ情報56に記録する。
[起動や停止の際のエラーの場合]
本システムにおいて、サーバ10の稼動制御部13とパブリッククラウド30及びエージェント80との間における、仮想サーバ70の起動や停止の制御の際に、何らかの要因により、起動や停止が正常に完了できない場合も発生し得る。仮想サーバ70の起動や停止の処理が正常に完了しない場合、サーバ10またはエージェント80は、当該状況を例外的なエラーないし異常と判断し処理する。上記の要因としては、例えばインターネット4上の通信の障害、物理サーバ31の障害等がある。
上記エラーないし異常は、大別して以下の3種類が挙げられる。サーバ10及びエージェント80は、例えば以下のようにエラー等の判断や対処の処理を行う。
(1)稼動制御部13がパブリッククラウド30に通信した際に発生する通信エラーや認証エラー等がある。稼動制御部13が例えば停止の指示をパブリッククラウド30へ送信したが所定時間経過しても停止完了の確認ができない場合や、アクセス時に認証情報を送信したが認証結果がエラーの場合がある。稼動制御部13は、当該状況を検知した場合、上記エラーと判断し処理する。稼動制御部13は、当該エラーの情報を、ログ情報56に記録する。
(2)稼動制御部13は、稼動ステータス情報55を通じてエージェント80に終了処理を指示した後、エージェント80からの終了処理の完了の通知を待つ。稼動制御部13は、この待ち時間でタイムアウトの場合、即ち事前に設定された待ち時間の上限値を超えても、当該完了のステータス情報が確認できない場合、上記エラーと判断し処理する。稼動制御部13は、当該エラーの情報を、ログ情報56に記録する。
(3)エージェント80は、指示を受けて停止のための終了処理を開始するが、当該終了処理の間に、物理サーバ31等における予期しない障害が発生する場合があり、終了処理を完了できない。エージェント80は、このような障害を検知した場合、上記エラーと判断し処理する。エージェント80は、当該エラーの情報を、サーバ10へ通知し稼動ステータス情報55へ記載させる。稼動制御部13は、当該エラーのステータス情報を認識し、ログ情報56に記録する。
上記(1)〜(3)のエラーの発生の場合、稼動制御部13は、当該エラーの情報を、ユーザの設定に基づいてユーザの端末41へメール等で通知してもよい。上記(3)のエラーの発生の場合、エージェント80は、当該エラーの情報を、ユーザの設定に基づいて直接ユーザの端末41へ通知してもよい。ユーザは、端末41の画面でのログ情報56の閲覧や、上記エラーの通知の情報により、上記エラーの内容を認識及び確認できる。運用に応じて、ユーザは、通知を受けて即時に対処することもできるし、後でログ情報56を参照して対処することもできる。
上記エラーをユーザの端末41へ通知する機能については、UI部11の設定画面で、設定者によりエラー通知有無や通知先アドレス等を設定できる。
[(a1)顧客企業のカレンダー情報及び設定画面]
図9は、顧客企業のカレンダー情報51の設定画面の例を示す。設定者は、本画面で、顧客企業2の部署等に応じた複数のカレンダーを設定でき、複数のカレンダーの使い分けもできる。本画面で設定された情報はカレンダー情報51に格納される。
図9の設定画面の顧客企業のカレンダーの例は、一般的なカレンダー上に、本システムの固有の日付タイプの情報として、顧客企業2毎の特性である営業日及び休業日等の情報が登録される形式である。本例では、日付タイプは、営業日(第1の日付タイプ)と休業日(第2の日付タイプ)との2種類である。ユーザは、本画面で、所望の暦日やその期間(年月日や曜日や週等)を選択し、当該暦日に対して登録する日付タイプである営業日または休業日等を選択して登録できる。
画面での日付タイプの設定の方式は各種が可能である。本例では、ユーザは画面で暦日を選択してクリック等する操作に応じて、営業日と休業日とが切り替えられる。実装の方式では、デフォルトとして、すべての暦日が自動的に営業日とされ、その中からユーザにより休業日とする日を選択して登録する。
図9中のカレンダーの例は、顧客企業Aの「部署1」のカレンダーCA1として、2014年の1月の分を示している。暦日(1日〜31日)に対し、括弧付き数字は営業日を示す。実線の四角は営業日、破線の四角は休業日を示す。例えば1月6日が第1営業日であり、1月31日が第19営業日である。1月1日、1月13日等は暦日休日である。カレンダーは図9の週区切りの形式に限らなくてもよい。
ユーザは、本設定画面で、営業日または休業日を選択する等の簡易な操作で、顧客企業2毎のカレンダーを設定できる。他の方式では、画面に、複数の日付に対する日付タイプの登録をまとめて行うための項目として、日付タイプ毎の登録の対象日を選択肢から選択して設定できる項目を設けてもよい。例えば、休業日の登録対象日の設定項目で、選択肢として、「月内のすべての日曜」、「月内のすべての土日及び暦日休日」等が設けられる。
図10は、カレンダー情報51の構成例である表を示す。図10のカレンダー情報51の上側の(a)の表は、項目として、顧客企業、部署、カレンダーがある。設定例では、顧客企業Aの「部署1」はカレンダーCA1を使用し、「部署2」はカレンダーCA2を使用し、顧客企業Bの「部署1」はカレンダーCB1を使用する。
図10のカレンダー情報51の下側の(b)の表は、カレンダーCA1の内容の設定例を示し、図9の設定例と対応する。この表は、休業日の日付の項目において、日付タイプとして休業日に登録された日付(年月日曜)が格納される。この設定情報から、他の日付の日付タイプが営業日であること等もわかる。
カレンダー情報51の設定は、設定画面に図10のような表を表示して項目に値を入力する形態でもよい。なお顧客企業カレンダー情報が既存の場合は、それをそのままカレンダー情報51として流用でき、設定作業を省略できる。
[(a2)稼動制御定義情報]
図11は、稼動制御定義情報52の構成例である表を示す。稼動制御定義情報52は、稼動制御のスケジュールを生成するための定義情報として、対象の顧客企業のカレンダーに対して適用する稼動制御の実行対象日時や動作等の情報が関連付けて設定される。本実施の形態では、稼動制御定義情報52は、スケジュールタイプ等を用いて簡易な操作で設定可能である。スケジュールタイプにより、カレンダーの暦日の期間のうちの稼動制御の実行対象日を指定することができる。
図11の稼動制御定義情報52の表は、項目として、定義ID、カレンダー、スケジュールタイプ、仮想サーバシステム、実行時間、動作、エラー通知、順序定義、処理定義、及び備考がある。定義ID項目は、定義情報の識別情報が格納される。カレンダー項目は、カレンダー情報51で定義されるカレンダーのIDが格納される。
スケジュールタイプ項目は、対象のカレンダーに対して適用するスケジュールタイプを格納する。スケジュールタイプは、対象のカレンダーの暦日の期間のうちの稼動制御の実行対象日を含むスケジュールを指定する情報であり、言い換えると、スケジュールの種類、ないし実行対象日の選択方法を指定する情報である。
仮想サーバシステム項目は、サーバ定義情報53で定義される仮想サーバシステム6のIDもしくは当該仮想サーバシステム6を構成する複数の仮想サーバ70のIDが格納される。なお実装では、仮想サーバシステム6のIDを省略可能である。
実行時間項目は、稼動制御動作を実行する対象の時分等の時間情報が格納される。なお本例のスケジュールタイプは、実行対象日を指定する情報であり、実行時間は別の項目で指定される。
動作項目は、稼動制御動作を表す情報、例えば「起動」や「停止」の値が格納される。エラー通知項目は、前述のエラー通知をするかしないかを示す値が格納される。順序定義項目は、対象の仮想サーバシステム6の動作の際における複数の仮想サーバ70の起動の順序や停止の順序を表す定義情報が格納される。処理定義項目は、起動や停止の動作の際に特定の処理が必要である場合における特定の処理を表す定義情報が格納される。当該定義情報は、例えば前述のパブリッククラウド30の特性や制約に応じた、停止のための終了処理の手順を指示する情報がある。備考項目は、設定者による任意の備考情報であり、本例では複数の仮想サーバ70の関係性(図4)に関するメモを示す。
図11の稼動制御定義情報52の設定例では、#1,#2の行では、定義ID=001,002として、顧客企業Aの「部署1」に対応するカレンダーCA1に関して、スケジュールタイプST1(毎営業日)、仮想サーバシステムSYS1、エラー通知する、等が設定されている。ST1は、前述の営業日(第1の日付タイプ)を実行対象日とすることを示す。#1の行の定義ID=001では、営業日における実行時間である9時に、SYS1を{VS1,VS2,VS3}の順に起動させることを示す。#2の行の定義ID=002では、営業日の21時に、SYS1を{VS3,VS2,VS1}の順に停止させることを示す。
上記定義ID=001,002の定義情報は、言い換えれば、営業日の9時〜21時の時間に起動状態を維持し、0時〜9時の時間及び21時〜24時の時間に停止状態を維持することに相当する。
#3,#4の行では、定義ID=003,004として、顧客企業Aの「部署2」に対応するカレンダーCA2に関して、後述のスケジュールタイプST5(曜日指定)、仮想サーバシステムSYS2、エラー通知しない、等が設定されている。ST5は、指定の曜日(例えば月曜、木曜)を実行対象日とすることを示す。#3の行では、指定の曜日の8時に、SYS2を{VS1,VS2,VS3,VS4,VS5}の順に起動させることを示す。#4の行では、指定の曜日の20時に、SYS2を{VS5,VS4,VS3,VS2,VS1}の順に停止させることを示す。
同様に、#5,#6の行では、定義ID=005,006として、同じカレンダーCA2に関して、別のスケジュールタイプST6(曜日指定)、仮想サーバシステムSYS2、エラー通知する、等が設定されている。ST6は、指定の曜日(例えば土曜)を実行対象日とすることを示す。
ユーザは、後述の図15,図16のような設定画面で、スケジュールタイプを含む稼動制御定義情報52を設定可能である。稼動制御定義情報52の設定は、設定画面に図11のような表を表示して項目に値を入力する形態でもよい。ユーザは、顧客企業2の都合に応じて必要な複数の定義情報を同様に設定できる。本システムは定義情報の設定パターンを予め用意し、ユーザは設定画面で設定パターンから選択して利用してもよい。
[(a3)サーバ定義情報]
図12は、サーバ定義情報53の構成例である表を示す。サーバ定義情報53は、顧客企業2の仮想サーバシステム6の情報及びパブリッククラウド30の情報が関連付けられて管理される。図12のサーバ定義情報53の表は、項目として、顧客企業、部署、仮想サーバシステム、パブリッククラウド、サーバ、仮想サーバ、認証情報、及び備考がある。
顧客企業、部署、仮想サーバシステム、パブリッククラウド、サーバ、仮想サーバの各項目は、夫々のID等が格納される。仮想サーバシステム項目は、実装では省略可能である。また本システムで仮想サーバシステム6が1つの仮想サーバ70のみで構成される場合もある。その場合は、その1つの仮想サーバ70の情報が設定される。サーバ項目は、顧客企業2からみたサーバの単位の情報が設定される。例えば前述の図4のWebサーバWS1、DBサーバDS1等の情報が設定される。仮想サーバ項目は、サーバ項目のサーバと関係付けて、パブリッククラウド30内の仮想サーバ70の単位の情報が設定される。
認証情報項目は、パブリッククラウド30へのアクセス及び制御の指示の際に使用する、APIコールの情報や、認証処理で要求されるIDやパスワード等の認証情報が格納される。本システムのサーバ10は、当該認証情報を用いてパブリッククラウド30へアクセスするものであり、仮想サーバ70への直接的なアクセスは発生しない。備考項目は、設定者による任意の備考情報として、本例ではサーバの詳細情報のメモを示す。
ユーザは、設定画面で、サーバ定義情報53の表の項目に値を入力して設定可能である。なおサーバ定義情報53等において、更にエージェント80の情報が仮想サーバ70の情報に関連付けられて設定されてもよい。エージェント80は、自身が対象とする仮想サーバ70の情報やサーバ10との通信のための情報を設定情報として保持する。
[(a4)スケジュール情報]
図13は、スケジュール情報54の構成例である表を示す。図13のスケジュール情報54の表は、項目として、日時、パブリッククラウド、仮想サーバシステム、仮想サーバ、及び動作、等がある。
日時項目は、仮想サーバシステム6の複数の仮想サーバ70の稼動制御動作を実行開始する年月日時が格納される。パブリッククラウド、仮想サーバシステム、仮想サーバの項目は、夫々の対象のID等が格納される。当該項目のID等により、サーバ定義情報53の認証情報等の情報が参照可能である。なおスケジュール情報54内に認証情報等が格納されてもよい。仮想サーバシステム項目は、実装では省略可能である。動作項目は、図11の動作項目と同様に起動や停止等の値が格納される。
スケジュール情報54の行で、複数の仮想サーバ70の所定の順序での動作の指示が格納される。図13のスケジュール情報54の設定例では、第1行で、1月6日(月曜)の9時に、パブリッククラウドPUB1の仮想サーバシステムSYS1の仮想サーバVS1〜VS3を順に起動させる指示を示す。なお日時項目の9時は、SYS1の単位での起動の指示の日時を示す。複数の仮想サーバ70を順次に起動させるので、個々の仮想サーバ70の実際の起動の日時は状況に応じてずれが生じる。同様に第2行は、1月6日(月曜)の21時に、PUB1のSYS1の仮想サーバVS3〜VS1を順に停止させる指示を示す。図13はSYS1の分の情報のみを図示しているが、他の仮想サーバシステム6に関する指示の情報がある場合は合わせて時系列で格納される。
[(a5)稼動ステータス情報]
図14は、稼動ステータス情報55の構成例である表を示す。図14の稼動ステータス情報55の表は、項目として、パブリッククラウド、仮想サーバ、ステータスがある。本表は、仮想サーバ70毎にステータスが記載及び保持される。ステータス項目は、図6,図7のように、その時点の稼動制御状況に応じたステータス値、例えば「起動指示」「起動完了(起動状態)」「停止指示」「停止完了(停止状態)」「終了処理指示」「終了処理完了」等が格納される。図14の例は、パブリッククラウドPUB1の仮想サーバVS2へ「起動指示」を与えている時点の各仮想サーバ70のステータスを示す。
稼動制御部13は、稼動ステータス情報55で仮想サーバ70毎のステータスを把握する。なお本実施の形態の例では複数の仮想サーバ70を順次に起動及び停止させる例を説明しているが、実装では複数の仮想サーバ70を同時並列で起動及び停止させることもある。例えば依存の関係性が無い複数の仮想サーバ70は同時並列での起動及び停止が可能であり、その場合はその分時間が短縮できる。
[(a6)稼動制御定義情報の設定画面]
図15及び図16は、稼動制御定義情報52に関する設定画面の例を示す。ユーザは、本設定画面で、顧客企業2の都合に応じて複数のスケジュールタイプを設定でき、設定された複数のスケジュールタイプの中から選択して利用できる。スケジュールタイプの指定により、カレンダーの複数の日に対する稼動制御内容をまとめて指定できる。
図15の設定画面の例では、設定欄として、定義ID141と、適用状態142と、対象カレンダー143と、対象期間144と、適用するスケジュールタイプ145と、対象仮想サーバシステム146と、実行時間147と、稼動制御動作148と、仮想サーバの順序149と、エラー通知150と、を含む。
定義ID141は、図11の稼動制御定義情報52の定義ID項目と対応する。適用状態142は、当該定義IDの定義情報の適用状態の有効/無効を選択できる。対象カレンダー143は、適用する対象のカレンダーを選択できる。対象期間144は、対象のカレンダーにおける対象期間(開始月日や終了月日等)を選択できる。
145は、対象のカレンダーの対象期間に対して適用するスケジュールタイプを例えばリストボックスの選択肢から選択して設定できる。各スケジュールタイプの設定については図16で後述する。
対象仮想サーバシステム146は、稼動制御の対象の仮想サーバシステム6をID等で選択できる。実行時間147は、稼動制御動作の実行時間を時分で選択できる。稼動制御動作148は、起動や停止の動作を選択できる。仮想サーバの順序149は、対象の仮想サーバシステム6の複数の仮想サーバ70の動作の順序を指定できる。149の欄の選択肢は、サーバ定義情報53に基づいて表示される。エラー通知150は、前述のエラー通知をするかしないかが選択できる。
図15の設定例では、145でスケジュールタイプST1(「毎営業日」)が選択されている。これにより対象のカレンダーCA1の4月2日以降の期間のうち、営業日に該当するすべての日が、所定の稼動制御(「起動」)の実行対象日として指定される。
図16は、上記スケジュールタイプに関する設定画面例を示す。図16の画面は、スケジュールタイプの設定欄151〜157を有する。ユーザは、本画面で、複数の種類のスケジュールタイプの内容を確認及び設定可能である。
151は、スケジュールタイプST0として、「毎日」であり、実行日区分が「営業日および休業日」である。なおST0等は識別情報である。ST0は、営業日及び休業日に依らずに毎日を実行対象日として指定する。実行日区分の行は、実行対象日とする区分(前述の日付タイプに対応する)を示す。152は、スケジュールタイプST1として、「毎営業日」であり、実行日区分が「営業日」であり、営業日のみを実行対象日として指定する。153は、スケジュールタイプST2として、「毎休業日」であり、実行日区分が「休業日」であり、休業日のみを実行対象日として指定する。
151〜153のスケジュールタイプは、本システムにより予め設定されたスケジュールタイプの例を示す。151〜153のスケジュールタイプに限らず、実行日区分が他の日付タイプであるスケジュールタイプを設定可能である。
154は、スケジュールタイプST3として、「日付指定」であり、特定の暦日の日付を実行対象日として指定する。実行日の行は、ユーザにより、実行対象日とする特定の暦日の日付を、例えばカンマ区切りの数字で入力して設定できる。設定例では、月における1日、20日、30日が実行日である。
155は、スケジュールタイプST4として、「営業日指定」であり、特定の営業日を実行対象日として指定する。実行日の行は、ユーザにより、特定の営業日を、例えばカンマ区切りの営業日数で入力して設定できる。設定例では、月における第1営業日、第10営業日が対象日である。
156は、スケジュールタイプST5として、「曜日指定」であり、毎週のうち特定の曜日を実行対象日として指定する。実行日の行は、ユーザにより、実行対象日とする特定の曜日を、例えば日曜〜土曜のチェックボタンの中から任意に1つ以上を選択して設定できる。設定例では、月曜と木曜が実行日である。
また設定欄156の中に、休業日シフト区分の項目が設けられている。休業日シフト区分は、該当の実行対象日(曜日)が休業日(前述の第2の日付タイプ)である場合にどのように制御するかを、ユーザにより選択して設定できる。休業日シフト区分の値の例として、A:休業日の場合は実行しない、B:休業日の場合も実行する、C:休業日の場合は前営業日に実行する、D:休業日の場合は翌営業日に実行する、等がある。CやDは、実行対象日及び動作をシフトさせる。Cの場合、一番近い前営業日に動作を実行させる。Dの場合、一番近い翌営業日に動作を実行させる。更に、休業日シフト区分は、図示しないが、シフト先の日に関する月越え有無も設定できる。「月越え無し」の場合、シフト先の日が月を超えないようにし、当月内に該当日が無い場合は動作を実行させない。「月越え有り」の場合、シフト先の日が月を超えてもよく、当月内に該当日が無い場合は前月や翌月の日に動作を実行させる。なおST3等の他のスケジュールタイプについてもST5と同様にシフト区分を設定可能である。
157は、スケジュールタイプST5として、「曜日指定」の別の設定例であり、実行日が土曜であり、休業日シフト区分がB(休業日の場合も実行する)である。なお同じスケジュールタイプでも異なる複数の設定内容でそれぞれに名前を付けて設定及び利用が可能である。
図15の画面の145のスケジュールタイプの項目では、図16の画面でのスケジュールタイプの設定に基づいた、複数のスケジュールタイプの選択肢が表示される。上記例に限らず、各種のスケジュールタイプが設定可能である。他のスケジュールタイプの例として、月指定、週指定、等が挙げられる。
ユーザは、上記図15,図16の画面で、スケジュールタイプ等を指定する簡易な操作で、稼動制御定義情報52を設定できる。これにより、休業日シフトのような日付の条件の判断に応じたスケジューリングを含め、顧客企業2の都合に応じた多様な稼動制御が実現できる。
[(a7)稼動制御スケジュール確認画面]
図17は、稼動制御スケジュールの確認画面の例を示す。UI部11は、スケジュール生成部12により生成されたスケジュール情報54の内容、あるいは過去に実施済みの稼動制御のスケジュールの内容を、図17のように時系列及び一覧で表示する確認画面を提供する。図17の画面例では、顧客企業Aの複数の仮想サーバシステム6{SYS1,SYS2,……}の稼動制御のスケジュールに関して、横軸に顧客企業Aのカレンダーの時間を表示し、縦軸に各仮想サーバシステム6の稼動制御のスケジュールを並列で表示する。各仮想サーバシステム6の稼動制御のスケジュールは、カレンダーの時間に合わせて、動作状態である「起動状態」の時間と「停止状態」の時間とを各領域で表示する。なお図17の例は、前述の図9〜図16の設定例と対応している。
本画面は、起動や停止の動作の時刻の情報や、各動作状態の時間の情報を表示してもよい。本画面は、仮想サーバ70の稼動時間を計算して表示してもよい。ユーザは、本画面で、各仮想サーバシステム6の稼動制御のスケジュール等をわかりやすく確認できる。
[稼動制御例]
図18は、一実施の形態の仮想サーバ稼動制御システムによる稼動制御の例及び効果を従来例の稼動制御との比較で示す。図18の(a)は、第1の従来例の仮想サーバの稼動制御として、常時稼動の例である。この例では、月〜金の営業日、及び土日の休業日を含め、対象の全ての仮想サーバが常に起動状態である。この場合、1個の仮想サーバの単位において、日あたりの稼動時間が24時間、月あたり(30日とする)の稼動時間が30×24=720時間である。この場合、前述のように、従量課金のコストが高い。
図18の(b)は、第2の従来例の仮想サーバの稼動制御として、土日の休業日に停止させる場合の例である。この例では、月〜金の営業日で仮想サーバが起動状態であり、土日の休業日に停止状態である。この場合、1個の仮想サーバの単位において、週あたりの稼動時間が5×24=120時間であり、月あたり(営業日が20日とする)の稼動時間が20×24=480時間である。
図17の(c)は、本実施の形態の仮想サーバ稼動制御システムによる仮想サーバシステム6の稼動制御の例を示す。この例は、前述の仮想サーバシステムSYS1に関する設定例と対応している。この例では、制御の結果、月〜金の各営業日の営業時間に対応させた例えば9時〜21時の時間帯に仮想サーバシステムSYS1が起動状態になり、他の時間帯や休業日には停止状態になる。この制御の場合、1個の仮想サーバの単位において、日あたりの稼動時間が12時間であり、週あたりの稼動時間が5×12=60時間であり、月あたり(営業日が20日とする)の稼動時間が20×12=240時間である。
上記のように、従来例に対して本実施の形態では、総合的な仮想サーバ70の稼動時間を減らすことができ、従量課金のコストを削減できる。例えば(a)に対する(c)では、月あたりの稼動時間が240/720=1/3に削減でき、(b)に対する(c)では、月あたりの稼動時間が240/480=1/2に削減できる。
[効果等]
以上のように、本実施の形態によれば、パブリッククラウド30等のシステム上の仮想サーバシステム6の起動や停止を含む稼動の制御に関して、顧客企業2の都合及び時間に応じた正常及び詳細な制御を実現でき、従量課金のコストや設定作業の手間等を削減できる。本システムは、パブリッククラウド30毎及び仮想サーバシステム6毎の特性や制約を考慮した、停止時の終了処理の自動化の仕組みを含む制御を提供する。顧客企業2は、所望のパブリッククラウド30を利用し、業務等に応じたスケジュールで、複数の仮想サーバ70による仮想サーバシステム6を単位として、稼動の状態を好適に制御できる。
顧客企業2の設定者は、設定画面で稼動制御のための設定作業を容易にでき、手間が少なく、また稼動制御及びスケジュール等をわかりやすく確認できる。設定者は、稼動制御のスケジュールをその都度細かく入力する必要が無く、カレンダーの休業日やスケジュールタイプ等を選択する簡易な操作で、多様な稼動制御を設定できる。設定者は、制御指示のためのスクリプトプログラムを何度も設定及び変更する手間が不要である。
[変形例]
以上、本発明を上記実施の形態に基づいて説明したが、本発明は上記実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。
実施の形態の変形例として、既存の監視システムと、上記仮想サーバ稼動制御システムとを組合せて連携または統合した形態も可能である。上記稼動制御機能と既存の監視機能との連携の場合にも、仮想サーバシステム6の正常な起動や停止が実現できる。
既存の監視システム及びその監視サービスは、例えばパブリッククラウド内に設けられる監視エージェントを用いて、パブリッククラウドの仮想サーバの稼動の状態を、定期的に監視及びチェックして情報を記録する。監視エージェントは、例えば仮想サーバに関する異常を通知する。従来例の場合、仮想サーバを停止させる時に、監視により異常として検知及び通知される可能性がある。
上記連携の形態の場合、サーバ10の稼動制御部13は、既存の監視システムの監視サービスと連携する。稼動制御部13は、仮想サーバ70を停止させる際、監視サービスに対して「異常通知の抑止」、即ち一時的な監視機能の無効化を指示する。当該指示により、監視サービスは、監視エージェントを用いた定期的な監視で検知した仮想サーバの異常の通知や記録を抑止する。これにより、仮想サーバを停止させる時にも、異常ではなく正常な停止として記録される。また稼動制御部13は、仮想サーバ70を起動させる時には、監視サービスに対し「異常通知の抑止の解除」を指示する。これにより、それ以降は従来通り、監視機能による異常の通知や記録がされる。
変形例として、図1の顧客企業2のシステム内に、その構成要素としてサーバ10が設けられてもよい。変形例として、パブリッククラウド30内に、サーバ10の事業者1の管轄による管理装置を新規に設置し、サーバ10と当該管理装置とで連携させてもよい。また当該管理装置でエージェント80に相当する処理部を稼動させてもよい。
変形例として、インターネット4上のサーバ10及びパブリッククラウド30とは別の場所に、稼動ステータス情報55等を保持する別のサーバ等が設けられ、サーバ10及びエージェント80が当該サーバの稼動ステータス情報55を読み書きする形態でもよい。
変形例として、仮想サーバ70の停止の際の終了処理を制御することに限らず、仮想サーバの起動の際に所定の開始処理(例えば関連するプロセスの立ち上げ)が必要である場合に、当該開始処理を前述と同様の仕組みにより制御するようにしてもよい。
本発明は、パブリッククラウド等のクラウドコンピューティングシステム、顧客企業の情報システム、顧客企業の情報システムに関する運用保守サービスを行う事業者のシステム、等に利用可能である。
6…仮想サーバシステム、10…サーバ、11…UI部、12…スケジュール生成部、13…稼動制御部、16…エージェント通信IF部、30…パブリッククラウド、31…物理サーバ、32…管理装置、41,42…端末、51…カレンダー情報、52…稼動制御定義情報、53…サーバ定義情報、54…スケジュール情報、55…稼動ステータス情報、56…ログ情報、61…ハードウェア、62…ハイパーバイザ、70…仮想サーバ、80…エージェント。

Claims (7)

  1. パブリッククラウドを含むコンピュータシステム上における組織の仮想サーバシステムの起動及び停止を含む稼動の状態を制御するサーバ装置を有し、
    前記サーバ装置は、
    前記組織の設定者の端末の操作に基づいて、前記組織の都合に応じた時間での前記仮想サーバシステムの起動及び停止を含む稼動の制御のスケジュール情報を作成するスケジュール部と、
    前記スケジュール情報に従う日時に、前記コンピュータシステム上の前記仮想サーバシステムの稼動の制御の動作を実行する制御部と、を有し、
    前記コンピュータシステムは、前記サーバ装置の前記制御部と連携して処理を行うエージェント部が設けられ、
    前記スケジュール部は、前記組織の仮想サーバシステムを構成する複数の仮想サーバを起動させる順序及び停止させる順序の情報を設定し、
    前記制御部は、
    前記仮想サーバシステムの起動の日時に、前記コンピュータシステムへ、前記仮想サーバシステムを構成する前記複数の仮想サーバの起動の順序を含む起動の指示を与えることにより、前記コンピュータシステムで前記順序に従って前記複数の仮想サーバを起動させて、前記コンピュータシステムから起動の完了の確認をとり、
    前記仮想サーバシステムの停止の日時に、前記コンピュータシステムへ、前記仮想サーバシステムを構成する前記複数の仮想サーバの停止の順序を含む停止の指示を与えることにより、前記コンピュータシステムで前記順序に従って前記複数の仮想サーバを停止させて、前記コンピュータシステムから停止の完了の確認をと
    前記仮想サーバの停止の指示を与える際、前記停止のための所定の終了処理の指示を与えることにより、前記コンピュータシステムで前記終了処理を実行させて、前記コンピュータシステムから前記終了処理の完了の確認をとり、その後、前記停止の指示を与え、前記コンピュータシステムで前記仮想サーバを停止させて、前記コンピュータシステムから前記仮想サーバの停止の完了の確認をとり、
    前記仮想サーバシステムの稼動の制御の状態を稼動ステータス情報として記載する処理を行い、前記状態に応じて、前記稼動ステータス情報に、前記起動の指示、前記終了処理の指示、前記停止の指示を記載し、前記稼動ステータス情報を参照して、前記起動の完了、前記終了処理の完了、前記停止の完了を確認し、
    前記エージェント部は、前記稼動ステータス情報を参照して、前記起動の指示、前記終了処理の指示、前記停止の指示を確認し、前記状態に応じて、前記稼動ステータス情報に、前記起動の完了、前記終了処理の完了、前記停止の完了を記載する、仮想サーバ稼動制御システム。
  2. 請求項1記載の仮想サーバ稼動制御システムにおいて、
    前記スケジュール部は、
    前記組織の設定者の端末の操作に基づいて、前記パブリッククラウドを含むコンピュータシステム上における前記組織の仮想サーバシステムの情報と、前記組織の営業日及び休業日の情報を含むカレンダー情報と、前記カレンダー情報の日付に関係付ける前記仮想サーバシステムの起動及び停止を含む稼動の制御の動作及び実行時間に関する定義情報と、を含む情報を設定し、当該設定された情報に基づいて前記スケジュール情報を生成する処理を行
    複数の各々のパブリッククラウドを含むコンピュータシステムの情報と、複数の各々の組織における1つ以上の仮想サーバシステムにおける複数の各々の仮想サーバの情報と、を保持し、前記組織の設定者の端末の操作に基づいて、当該組織が利用する1つ以上のパブリッククラウドと1つ以上の仮想サーバシステムと1つ以上のカレンダー情報とを関係付けて設定し、
    前記サーバ装置は、
    前記組織の設定者の端末の操作に基づいて、前記組織の仮想サーバシステムの情報、前記カレンダー情報、及び前記定義情報を設定する設定画面と、前記スケジュール情報の内容を確認する確認画面と、を提供する、仮想サーバ稼動制御システム。
  3. 請求項1記載の仮想サーバ稼動制御システムにおいて、
    前記制御部は、
    前記仮想サーバシステムの稼動の制御における前記起動及び停止の指示、並びに前記起動または停止が正常に完了できなかった場合のエラー情報を含む履歴情報を記録し、
    前記仮想サーバシステムの稼動の制御における前記起動または停止の指示に対する前記コンピュータシステムからの前記起動または停止の確認がとれなかった場合、エラー情報の通知を、前記設定者による設定に基づいて当該設定者の端末へ送信し、
    前記サーバ装置は、前記組織の設定者の端末の操作に基づいて、前記履歴情報の内容を確認する確認画面を提供
    前記エージェント部は、前記仮想サーバシステムの稼動の制御における前記起動または停止の指示に対する前記コンピュータシステムでの正常な起動または停止ができなかった場合、エラー情報の通知を、前記設定者による設定に基づいて当該設定者の端末へ送信する、仮想サーバ稼動制御システム。
  4. 請求項1記載の仮想サーバ稼動制御システムにおいて、
    前記サーバ装置は、前記稼動ステータス情報を記憶する稼動ステータス情報記憶部と、前記エージェント部からのアクセスを受け付けるエージェント通信インタフェース部と、を有し、
    前記エージェント部は、前記エージェント通信インタフェース部へのアクセスを通じて、前記稼動ステータス情報を定期的に読み書きする、
    仮想サーバ稼動制御システム。
  5. 請求項1記載の仮想サーバ稼動制御システムにおいて、
    前記サーバ装置と前記仮想サーバシステムとの間で通信接続される装置を有し、前記装置に、前記稼動ステータス情報を記憶する稼動ステータス情報記憶部を有する、
    仮想サーバ稼動制御システム。
  6. 請求項2記載の仮想サーバ稼動制御システムにおいて、
    前記サーバ装置は、前記組織の設定者の端末の操作に基づいて、前記設定画面で、前記定義情報において、前記仮想サーバシステム毎に、前記複数の仮想サーバの起動及び停止の順序の定義、及び前記終了処理の定義を設定可能とする、
    仮想サーバ稼動制御システム。
  7. パブリッククラウドを含むコンピュータシステム上における組織の仮想サーバシステムの起動及び停止を含む稼動の状態を制御するサーバ装置に処理を実行させるプログラムを含む仮想サーバ稼動制御プログラムであって、
    前記サーバ装置に、
    前記組織の設定者の端末の操作に基づいて、前記組織の都合に応じた時間での前記仮想サーバシステムの起動及び停止を含む稼動の制御のスケジュール情報を作成するスケジュール部としての処理を実行させるプログラムと、
    前記スケジュール情報に従う日時に、前記コンピュータシステム上の前記仮想サーバシステムの稼動の制御の動作を実行する制御部としての処理を実行させるプログラムと、を有し、
    前記コンピュータシステムに、前記サーバ装置の前記制御部と連携して処理を行うエージェント部としての処理を実行させるプログラムを有し、
    前記スケジュール部は、前記組織の仮想サーバシステムを構成する複数の仮想サーバを起動させる順序及び停止させる順序の情報を設定し、
    前記制御部は、
    前記仮想サーバシステムの起動の日時に、前記コンピュータシステムへ、前記仮想サーバシステムを構成する前記複数の仮想サーバの起動の順序を含む起動の指示を与えることにより、前記コンピュータシステムで前記順序に従って前記複数の仮想サーバを起動させて、前記コンピュータシステムから起動の完了の確認をとり、
    前記仮想サーバシステムの停止の日時に、前記コンピュータシステムへ、前記仮想サーバシステムを構成する前記複数の仮想サーバの停止の順序を含む停止の指示を与えることにより、前記コンピュータシステムで前記順序に従って前記複数の仮想サーバを停止させて、前記コンピュータシステムから停止の完了の確認をとり、
    前記仮想サーバの停止の指示を与える際、前記停止のための所定の終了処理の指示を与えることにより、前記コンピュータシステムで前記終了処理を実行させて、前記コンピュータシステムから前記終了処理の完了の確認をとり、その後、前記停止の指示を与え、前記コンピュータシステムで前記仮想サーバを停止させて、前記コンピュータシステムから前記仮想サーバの停止の完了の確認をとり、
    前記仮想サーバシステムの稼動の制御の状態を稼動ステータス情報として記載する処理を行い、前記状態に応じて、前記稼動ステータス情報に、前記起動の指示、前記終了処理の指示、前記停止の指示を記載し、前記稼動ステータス情報を参照して、前記起動の完了、前記終了処理の完了、前記停止の完了を確認し、
    前記エージェント部は、前記稼動ステータス情報を参照して、前記起動の指示、前記終了処理の指示、前記停止の指示を確認し、前記状態に応じて、前記稼動ステータス情報に、前記起動の完了、前記終了処理の完了、前記停止の完了を記載する、仮想サーバ稼動制御プログラム。
JP2016532808A 2014-07-07 2014-07-07 仮想サーバ稼動制御システム及び仮想サーバ稼動制御プログラム Active JP6282736B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/068069 WO2016006026A1 (ja) 2014-07-07 2014-07-07 仮想サーバ稼動制御システム及び仮想サーバ稼動制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2016006026A1 JPWO2016006026A1 (ja) 2017-04-27
JP6282736B2 true JP6282736B2 (ja) 2018-02-21

Family

ID=55063703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016532808A Active JP6282736B2 (ja) 2014-07-07 2014-07-07 仮想サーバ稼動制御システム及び仮想サーバ稼動制御プログラム

Country Status (3)

Country Link
US (1) US20170212777A1 (ja)
JP (1) JP6282736B2 (ja)
WO (1) WO2016006026A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058894B (zh) * 2018-01-18 2022-05-24 伊姆西Ip控股有限责任公司 在混合云中执行应用的方法、设备和计算机程序产品
US11614957B1 (en) * 2020-05-07 2023-03-28 Amazon Technologies, Inc. Native-hypervisor based on-demand code execution system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140668B2 (en) * 2009-06-24 2012-03-20 Red Hat Israel, Ltd. Pre-scheduling the timelines of virtual machines
JP5342615B2 (ja) * 2011-08-15 2013-11-13 株式会社日立システムズ 仮想サーバ制御システム及びプログラム
CN103514038B (zh) * 2012-06-26 2018-11-27 中兴通讯股份有限公司 一种虚拟系统的平滑关闭方法及系统
JP5880315B2 (ja) * 2012-07-02 2016-03-09 富士通株式会社 システム管理装置、システムの管理方法、及びシステムの管理プログラム
CN103631651B (zh) * 2012-08-28 2018-08-03 中兴通讯股份有限公司 应用程序关闭方法及系统
US9389898B2 (en) * 2012-10-02 2016-07-12 Ca, Inc. System and method for enforcement of security controls on virtual machines throughout life cycle state changes

Also Published As

Publication number Publication date
US20170212777A1 (en) 2017-07-27
WO2016006026A1 (ja) 2016-01-14
JPWO2016006026A1 (ja) 2017-04-27

Similar Documents

Publication Publication Date Title
US11288608B2 (en) Systems and method for a project management portal
CN113228020B (zh) 调度机器人以用于机器人流程自动化
US9881265B2 (en) Method and system for implementing historical trending for business records
WO2012112740A1 (en) Determining availability based on percentage available
US20130254275A1 (en) Dynamic message retrieval
US11301267B2 (en) Automated task management techniques
JP6282736B2 (ja) 仮想サーバ稼動制御システム及び仮想サーバ稼動制御プログラム
US10996983B1 (en) Job scheduler for remote maintenance of servers and workstations
US20120023454A1 (en) Schedule management using linked events
JP2012164146A (ja) ワークフロー管理装置およびコンピュータプログラム
JP5755025B2 (ja) プログラム更新指示装置
Lear System Administration Soft Skills: How can system administrators reduce stress and conflict in the workplace?
JP7359544B2 (ja) 作業自動指示システム、方法及びプログラム
US20180060825A1 (en) System and method for managing applications in the cloud
JP4328248B2 (ja) 最適保守日提案プログラム
JP2017021590A (ja) ジョブ実行カレンダ管理プログラム、ジョブ実行カレンダ管理装置、及びジョブ実行カレンダ管理方法
JP2012073733A (ja) ジョブスケジューリング装置、ジョブスケジューリングプログラム
US20240257007A1 (en) Workflow management method, system and computer program product with real time log, debug and resume features
JP2022182143A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7044050B2 (ja) データ管理システムおよびデータ管理方法
JP6751358B2 (ja) 運用管理支援システムおよび運用管理支援方法
Mucchetti et al. Scheduling Jobs
Scottq The Shortcut Guide to IT Workload Automation and Job Scheduling
JP2016051399A (ja) 管理用アクセス制御システムおよび管理用アクセス制御方法
JP5676356B2 (ja) ジョブ運用管理システム、ジョブ運用管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180124

R150 Certificate of patent or registration of utility model

Ref document number: 6282736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250