JPWO2008084826A1 - プロビジョニングシステム、方法、及び、プログラム - Google Patents

プロビジョニングシステム、方法、及び、プログラム Download PDF

Info

Publication number
JPWO2008084826A1
JPWO2008084826A1 JP2008553110A JP2008553110A JPWO2008084826A1 JP WO2008084826 A1 JPWO2008084826 A1 JP WO2008084826A1 JP 2008553110 A JP2008553110 A JP 2008553110A JP 2008553110 A JP2008553110 A JP 2008553110A JP WO2008084826 A1 JPWO2008084826 A1 JP WO2008084826A1
Authority
JP
Japan
Prior art keywords
provisioning
virtual machine
standby
server
application
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.)
Granted
Application number
JP2008553110A
Other languages
English (en)
Other versions
JP5262724B2 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008553110A priority Critical patent/JP5262724B2/ja
Publication of JPWO2008084826A1 publication Critical patent/JPWO2008084826A1/ja
Application granted granted Critical
Publication of JP5262724B2 publication Critical patent/JP5262724B2/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/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

Landscapes

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

Abstract

突発的な負荷変動や障害発生に対応して、迅速にサーバのプロビジョニングを行うことができるプロビジョニングシステムを提供する。共有サーバ40は、アプリケーションシステムの運用に対して十分な資源が割り当てられたアクティブ仮想マシン41と、必要最小限の資源で起動されたスタンバイ仮想マシン42をと有する。スタンバイ構築決定部22は、プロビジョニング要求の発生が予測されるときに、スタンバイ仮想マシン42上で、事前にプロビジョニングを行い、OS及びアプリケーションの起動やネットワーク機器の設定変更等を行う。プロビジョニング決定部23は、アクティブ仮想マシン41及びスタンバイ仮想マシン42の資源割当量を変更し、スタンバイ仮想マシン42に十分な資源を割り当て、負荷分散装置11に負荷分散対象としてスタンバイ仮想マシン42を登録して、プロビジョニングを実行する。

Description

本発明はプロビジョニングシステム、方法、及び、プログラムに関し、更に詳しくは、サーバ上で動作するアプリケーションシステムの切替えを行うプロビジョニングシステム、方法、及び、プログラムに関する。
限られた計算機を利用して複数のアプリケーションシステムを運用するデータセンタや企業内情報システムにおいて、サーバのプロビジョニングによる資源の有効活用が進められている。サーバのプロビジョニングとは、複数のアプリケーションシステムで共用されたプールサーバを、特定のアプリケーションサーバ向けに構成変更する処理である。構成変更処理は、OSの入れ替え、アプリケーションのセットアップ、ネットワーク機器やストレージ装置の設定変更処理を含む。
プロビジョニング機能は、ソフトウェア製品として販売提供されているが、実際に利用する際には、プロビジョニングにかかる処理時間が問題となる。例えば大規模で複雑なシステムで利用する場合には、OSの入れ替え処理やネットワークの構成変更処理に、数十分以上の時間がかかることがある。このため、システムの規模が大きく、複雑になるほど、突発的な負荷変動や障害発生に対応して迅速にサーバのプロビジョニングを行うことは難しくなる。
特許文献1には、典型的な負荷分散のためのプロビジョニングシステムの例が記載されている。特許文献1に記載されたシステムは、負荷分散装置(LB)によって、クライアント計算機からWebサーバへの要求を負荷分散するシステムであり、負荷状況に応じて負荷分散対象のWebサーバを増減し、稼動するサーバの台数を最適化する。このシステムは、Webサーバによる単純なシステムを前提としているため、プロビジョニングは、OSのアプリケーションのブート処理だけで済む。
一方、多くのWebアプリケーションシステムは、アプリケーションサーバ(APサーバ)やデータベースサーバ(DBサーバ)、アプリケーションサーバやネットワークを管理するための管理サーバなど、複数のサーバシステムから構成されている。従って、APサーバをプロビジョニングする場合には、OSとアプリケーションのブート処理だけでなく、DBサーバへの接続設定や管理サーバへの登録、アプリケーションの更新適用、ネットワークの構成変更処理などが必要となる。このため、特許文献1で示される手法をWebアプリケーションシステムに適用する場合、OSとアプリケーションのブート処理以外の処理にかかるオーバヘッドを無視できない。
また、特許文献1で示される手法は、OSとアプリケーションイメージとをストレージエリアネットワーク(SAN)に格納して共有する構成を前提としている。このようなシステム構成は、現時点で一般的とは言えず、既存のシステムに適用する場合には、システムそのものを再構築する必要がある。例えば、SANを統合したブレードシステムを新たに導入するということが考えられるが、それは、稼働中のシステムを有効活用する目的にはそぐわない。
特許文献2には、計算機の設定にかかる時間を短縮化する手法として、共有された計算機上で、OSやアプリケーションを駆動してスタンバイ状態を作成する方法が示されている。特許文献2では、特定のアプリケーションシステムとしてスタンバイ(ホットスタンバイ)するのではなく、別のアプリケーションシステムにも設定可能な中間状態でスタンバイしており、このようにすることで、複数のアプリケーションシステムへの計算機設定時間を平均的に短縮化できる。
特許文献2で示される手法は、特定のアプリケーションシステムとして利用されていないプールサーバのプロビジョニングを高速化できる。しかしながら、アプリケーションシステムの一部として利用されているプールサーバを、別のアプリケーションシステムに切り替えるためのプロビジョニング処理を高速化することはできない。
一方、分散したサーバを、一つのサーバに統合し、コストや管理の手間を削減する目的で、サーバの仮想化技術が導入される事例が近年見られる。様々な仮想化技術の中でも、非特許文献1に示されるような仮想マシンモニタを用いた仮想化方式は、仮想化環境で動作するOS環境の性能低下が小さく、既存サーバ上で複数のOSを動作させても十分な性能が発揮できる。更に、仮想マシンモニタで生成された仮想マシンは、CPUやメモリなどの計算機資源をOS稼働中に動的に変更することができ、ハードウェアのパーティショニングに比べても利便性が高い。資源の有効活用のために、仮想マシンモニタによる動的な資源割当て変更機能を応用することができると考えられる。
特開2005−11331号公報 特願2006−19409号 B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, I. Pratt,A. Warfield, P. Barham and R. Neugebauer, Xen and the Art of Virtualization, 19th ACM Symposium on Operating Systems Principles (SOSP19), 2003.
従来のプロビジョニングシステムでは、以下の問題点がある。第1の問題点は、ネットワークの構成や複数サーバの構成に依存したシステムにおいて、突発的な負荷変動や障害発生に対応して、迅速にサーバのプロビジョニングを行うことが難しい点である。その理由は、プロビジョニング処理は、ネットワークの構成変更や管理サーバへの登録処理、アプリケーションの更新適用処理などを含んでおり、これらの処理に時間がかかるためである。
第2の問題点は、既存のシステムを有効活用して、突発的な負荷変動や障害発生に対応して迅速にサーバをプロビジョニングすることができない点である。その理由は、SANを構成要素として持たないシステムでは、OSのディスクイメージを共有して高速にブートを行う構成が取れず、OSの入れ替えやアプリケーションシステムのセットアップに時間がかかるからである。
第3の問題点は、稼働中のアプリケーションシステムを別のアプリケーションシステムとしてプロビジョニングする際に、高速に切替えを行うことができない点である。その理由は、従来は、稼働中のアプリケーションを停止した後に、新たにプロビジョニングを一から開始する必要があり、スタンバイ状態を用いたプロビジョニング高速化の手法が適用できないためである。
本発明は、上記従来技術の問題点を解消し、ネットワークの構成や複数のサーバ構成に依存したシステムにおいて、突発的な負荷変動や障害発生に対応して、迅速にサーバのプロビジョニングを行うことができるプロビジョニングシステム、方法、及び、プログラムを提供することを目的とする。
本発明の別の目的は、既存システムを有効活用して、迅速にサーバのプロビジョニングを行うことができるプロビジョニングシステム、方法、及び、プログラムを提供することである。
本発明の別の目的は、稼働中のアプリケーションシステムを、別のアプリケーションシステムとして、高速に切り替えることができるプロビジョニングシステム、方法、及び、プログラムを提供することである。
上記目的を達成するために、本発明のプロビジョニングシステムは、複数のサーバで2つ以上のアプリケーションシステムを動作させるシステムでサーバのプロビジョニングを行うプロビジョニングシステムであって、前記複数のサーバの少なくとも1つは複数の仮想マシンを構成可能な共有サーバとして構成されており、アプリケーションシステムを稼動させるためのアクティブ仮想マシンが構成された共有サーバ上に、前記アクティブ仮想マシンに割り当てられた資源量よりも少ない資源量でスタンバイ仮想マシンを起動させ、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させるスタンバイ構築手段と、前記アクティブ仮想マシンと前記スタンバイ仮想マシンとの資源割当量を変更し、プロビジョニングを行うプロビジョニング実行手段とを備えたことを特徴とする。
本発明のプロビジョニング方法は、コンピュータを用い、複数のサーバで2つ以上のアプリケーションシステムを動作させるシステムでサーバのプロビジョニングを行うプロビジョニング方法であって、前記複数のサーバの少なくとも1つは複数の仮想マシンを構成可能な共有サーバとして構成されており、前記コンピュータが、アプリケーションシステムを稼動させるアクティブ仮想マシンと同じ共有サーバ上で、前記アクティブ仮想マシンよりも少ない資源量でスタンバイ仮想マシンを起動させ、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させるスタンバイ構築ステップと、前記コンピュータが、前記アクティブ仮想マシンと前記スタンバイ仮想マシンとの資源割当量を変更し、プロビジョニングを行うプロビジョニング実行ステップとを有することを特徴とする。
本発明のプログラムは、コンピュータに、複数のサーバで2つ以上のアプリケーションシステムを動作させ、前記複数のサーバが複数の仮想マシンを構成可能な共有サーバを少なくとも1台含むシステムで、サーバのプロビジョニングを行う処理を実行させるプログラムであって、前記コンピュータに、アプリケーションシステムを稼動させるアクティブ仮想マシンと同じ共有サーバ上で、前記アクティブ仮想マシンよりも少ない資源量でスタンバイ仮想マシンを起動させ、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させるスタンバイ構築処理と、前記アクティブ仮想マシンと前記スタンバイ仮想マシンとの資源割当量を変更し、プロビジョニングを行うプロビジョニング実行処理とを実行させることを特徴とする。
本発明のプロビジョニングシステム、方法、及び、プログラムでは、実際にプロビジョニングを行う前の段階で、共有サーバ上に起動したスタンバイ仮想マシンでプロビジョニングを事前に行い、プロビジョニングが要求された際には、アクティブ仮想マシンに割り当てる資源量と、スタンバイ仮想マシンに割り当てる資源量とを変更してスタンバイ仮想マシンに十分な資源量を割り当て、スタンバイ仮想マシンをアプリケーションシステムの稼動に用いることでプロビジョニングを行う。実際にプロビジョニングを行う前の段階で、共有サーバ上に起動したスタンバイ仮想マシンを用いて事前にプロビジョニングの準備を行い、OS及びアプリケーションの起動や、ネットワーク構成変更、別のサーバへの登録設定処理などを、スタンバイ仮想マシン上で事前に実行することにより、サーバのプロビジョニングを高速に行うことができ、突発的な負荷変動や障害発生に対応して、迅速にサーバのプロビジョニングを行うことができる。また、共有サーバにスタンバイ仮想サーバを構成することでプロビジョニングを高速化できるので、SANなどを用意する必要がなく、既存システムを有効活用して、迅速にサーバのプロビジョニングを行うことができる。更に、事前に行うプロビジョニングの時点でスタンバイ仮想マシンに割り当てる資源量を必要最小限の資源量とし、アクティブ仮想マシンに十分な資源量を割り当てておき、プロビジョニングに際して、スタンバイ仮想マシンに十分な資源量を割り当て、アクティブ仮想マシンに割り当てる資源量を必要最小限の資源量とすることで、アプリケーションシステムを高速に切り替えることができる。
本発明のプロビジョニングシステムでは、前記スタンバイ構築手段は、前記サーバの負荷状態を取得し、該取得した負荷状態に基づいてプロビジョニング要求の発生の有無を予測し、プロビジョニング要求が発生すると予測すると前記スタンバイ仮想マシンを起動させる構成を採用できる。将来的なプロビジョニング要求の発生を予測し、そのプロビジョニングに備えて、共有サーバ上でスタンバイ仮想マシンを起動し、そのスタンバイ仮想マシンにて事前にプロビジョニングを行っておく。この場合、実際にプロビジョニング要求が発生したとき、プロビジョニング対象のアプリケーションシステムと、スタンバイ仮想マシンにて事前に行っておいたアプリケーションシステムとが一致するときには、事前にプロビジョニングを行っておいたスタンバイ仮想マシンを用いてプロビジョニングを完了させることで、プロビジョニング要求発生時点からプロビジョニングを開始する場合に比して、プロビジョニングを高速化できる。
本発明のプロビジョニングシステムでは、前記スタンバイ構築手段は、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、プロビジョニングの発生を予測する構成を採用できる。例えば、プロビジョニングをサーバの負荷状態が高くなったときに行うとするとき、実際にサーバの負荷状態が高くなる前に、サーバの負荷状態から、サーバの負荷状態が高くなる兆候をつかむことができると考えられる。このような兆候を、例えば過去のプロビジョニング要求の発生状況と、サーバの負荷状態との対応関係からつかみ、これに基づいてプロビジョニング要求の発生を予測することで、将来的なプロビジョニングの発生を予測できる。
本発明のプロビジョニングシステムでは、前記スタンバイ構築手段は、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、各アプリケーションシステムについて現時点から所定時間後にプロビジョニング要求が発生する確率を計算し、該計算した確率が所定のしきい値以上であると、プロビジョニング要求が発生すると予測する構成を使用できる。プロビジョニング要求発生の確率は、例えば、ロジスティック解析分析を用いて算出できる。各アプリケーションシステムについて、所定時間後にプロビジョニング要求が発生する確率を計算し、何れかのアプリケーションシステムについて、プロビジョニング要求が発生する確率が所定のしきい値以上となるときには、将来的にプロビジョニング要求が発生すると予測してスタンバイ仮想マシンを起動し、スタンバイ仮想マシンを用いて将来的に発生するであろうプロビジョニングに備えることで、実際にプロビジョニング要求が発生したときのプロビジョニングに要する時間を短縮できる。
本発明のプロビジョニングシステムでは、前記スタンバイ構築手段は、前記計算した確率と、アプリケーション間の切替えに要する時間コストを表した状態遷移コストグラフとに基づいて、前記スタンバイ仮想マシン上で事前に実行するプロビジョニングの対象となるアプリケーションシステムを決定する構成を採用できる。一のアプリケーションシステムから他のアプリケーションシステムへの切替えに要する時間を、各アプリケーションシステムについてあらかじめ見積もり、状態遷移コストグラフを作成しておく。この状態遷移コストグラフと、各アプリケーションシステムについてのプロビジョニング要求発生確率とに基づき、各アプリケーションシステムをスタンバイ仮想マシンを用いて行う事前プロビジョニングのプロビジョニング対象と想定したときのプロビジョニング時間の期待値を算出する。この期待値が最小となるアプリケーションシステムを、事前プロビジョニングのプロビジョニング対象とすることで、プロビジョニング要求が発生したときのプロビジョニング時間を、確率的に最小化できる。
本発明のプロビジョニングシステムでは、前記スタンバイ構築手段は、前記スタンバイ仮想マシン上で、少なくともOSの起動及びプリケーションの起動を実行させる構成を採用できる。また、前記スタンバイ構築手段は、前記スタンバイ仮想マシン上で、OSの起動、アプリケーションの起動、設定変更、パッチ適用、ネットワークの構成変更、管理/監視サーバへの登録設定、及び、連携サーバへの登録設定を実行させる構成を採用できる。スタンバイ仮想マシン上で、プロビジョニング要求が発生する前に事前に行うプロビジョニングでは、スタンバイ仮想マシンを他のサーバと共にアプリケーションシステムを稼動させる前の状態までの処理、すなわち、OSの起動やアプリケーションの起動、設定変更、パッチ適用、ネットワークの構成変更、管理/監視サーバへの登録設定までの処理を行っておく。これらの処理を事前に行っておくことで、プロビジョニング要求が発生した際には、スタンバイ仮想マシンの負荷分散装置への登録やスタンバイ仮想マシンに対する十分な資源量の割当てを行うことでプロビジョニングを完了でき、プロビジョニングを高速化できる。
本発明のプロビジョニングシステムでは、前記スタンバイ構築手段は、共有ディスクに格納されたディスクイメージを使用して、前記スタンバイ仮想マシン上でOS及びアプリケーションを起動させる構成を採用できる。この場合、ディスクイメージを用いてOS及びアプリケーションを起動することで、それらの起動に要する時間を短縮化できる。
本発明のプロビジョニングシステムでは、前記スタンバイ構築手段は、プロビジョニング要求を発生させる時刻を定めたプロビジョニングスケジュールを記憶するスケジュール管理部を参照し、前記プロビジョニング要求を発生させる時刻よりも前の時点で、前記スタンバイ仮想マシンを起動し、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させる構成を採用できる。プロビジョニングを、あらかじめ定められたスケジュールに従って行う場合には、プロビジョニングがスケジュールされた時刻よりも所定の時間だけ前の時点で、スタンバイ仮想マシンを起動して事前にプロビジョニングを行い、スケジュールされたプロビジョニング要求の発生に備えることで、プロビジョニングを高速化できる。
本発明のプロビジョニングシステムでは、前記プロビジョニング実行手段は、前記2つ以上のアプリケーションシステムのうちの何れかに対応するサーバの負荷状態が所定のしきい値を超えると、当該アプリケーションシステムのプロビジョニングを行う構成を採用できる。この場合、例えば、同一アプリケーションシステムを構成するサーバの平均負荷が所定のしきい値を超えたときにプロビジョニングを行うことで、サーバ負荷を下げることができ、アプリケーションシステムのサービス品質低下を避けることができる。
本発明のプロビジョニングシステムでは、前記プロビジョニング実行手段は、前記スタンバイ仮想マシンに割り当てる資源量を、前記アクティブ仮想マシンに割り当てる資源量よりも多くし、スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行う構成を採用できる。プロビジョニングを行う前は、アクティブ仮想マシンに対してアプリケーションの稼動に十分な資源量を割り当てる一方、スタンバイ仮想マシンには、必要最小限の資源を割り当てておく。プロビジョニングを行う際には、アクティブ仮想マシンに割り当てる資源量を必要最小限の資源量に変更し、スタンバイ仮想マシンに対してアプリケーションの稼動に十分な資源量を割り当てる。このようにすることで、見かけ上、アクティブ仮想マシンとスタンバイ仮想マシンとが入れ替わり、割当て資源量の変更により、スタンバイ仮想マシンによるアプリケーションの稼動が可能となる。
本発明のプロビジョニングシステムでは、前記プロビジョニング実行手段は、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築手段によって前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致するときには、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる構成を採用できる。プロビジョニングを行う際に、プロビジョニング対象のアプリケーションシステムが、スタンバイ構築手段によってスタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムと一致するときには、スタンバイ仮想マシンに十分な資源量を割り当てることで、見かけ上、アクティブ仮想マシンとスタンバイ仮想マシンとの入替えを行い、負荷分散装置への登録等を行ってスタンバイ仮想マシンによるアプリケーションシステムの運用を開始させることで、プロビジョニングを初めから行う場合に比して、プロビジョニングを高速化できる。
本発明のプロビジョニングシステムでは、前記プロビジョニング実行手段は、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築手段によって前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致しないときには、前記スタンバイ仮想マシン上で、少なくともOSの起動及びアプリケーションの起動を実行させ、OS及びアプリケーションの起動後、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる構成を採用できる。プロビジョニング対象のアプリケーションシステムと、スタンバイ構築手段によってスタンバイ仮想マシン上で事前に行ったプロビジョニングのアプリケーションシステムとが一致しないときには、スタンバイ仮想マシン上で改めてOS及びアプリケーションを起動し、スタンバイ仮想マシン上でその他必要な処理を行った後に、アクティブ仮想マシンの割当て資源量とスタンバイ仮想マシンの割当て資源量とを変更し、見かけ上、アクティブ仮想マシンとスタンバイ仮想マシンとを入れ替えて、スタンバイ仮想マシンによるアプリケーションの運用を開始させればよい。
本発明のプロビジョニングシステムでは、前記プロビジョニング実行手段は、アプリケーションシステムの負荷分散を行う負荷分散装置に前記スタンバイ仮想マシンを登録し、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる構成を採用できる。この場合、負荷分散装置に、負荷分散対象のサーバとしてスタンバイ仮想マシンを登録することで、スタンバイ仮想マシンに対して、ユーザからの要求などが届くようになり、スタンバイ仮想マシンが、アプリケーションシステムの一部として運用されることになる。
本発明のプロビジョニング方法は、前記スタンバイ構築ステップでは、前記コンピュータは、前記アプリケーションシステムを構成するサーバの負荷状態を取得し、該取得した負荷状態に基づいてプロビジョニング要求の発生の有無を予測し、プロビジョニング要求が発生すると予測すると前記スタンバイ仮想マシンを起動させる構成を採用できる。
本発明のプロビジョニング方法は、前記スタンバイ構築ステップでは、前記コンピュータは、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、プロビジョニングの発生を予測する構成を採用できる。
本発明のプロビジョニング方法は、前記スタンバイ構築ステップでは、前記コンピュータは、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、各アプリケーションシステムについて現時点から所定時間後にプロビジョニング要求が発生する確率を計算し、該計算した確率が所定のしきい値以上であると、プロビジョニング要求が発生すると予測する構成を採用できる。
本発明のプロビジョニング方法は、前記スタンバイ構築ステップでは、前記コンピュータは、前記計算した確率と、アプリケーション間の切替えに要する時間コストを表した状態遷移コストグラフとに基づいて、前記スタンバイ仮想マシン上で事前に実行するプロビジョニングの対象となるアプリケーションシステムを決定する構成を採用できる。
本発明のプロビジョニング方法は、前記スタンバイ構築ステップでは、前記コンピュータは、前記スタンバイ仮想マシン上で、少なくともOSの起動及びプリケーションの起動を実行させる構成を採用できる。
本発明のプロビジョニング方法は、前記スタンバイ構築ステップでは、前記コンピュータは、前記スタンバイ仮想マシン上で、OSの起動、アプリケーションの起動、設定変更、パッチ適用、ネットワークの構成変更、管理/監視サーバへの登録設定、及び、連携サーバへの登録設定を実行させる構成を採用できる。
本発明のプロビジョニング方法は、前記スタンバイ構築ステップでは、前記コンピュータは、共有ディスクに格納されたディスクイメージを使用して、前記スタンバイ仮想マシン上でOS及びアプリケーションを起動させる構成を採用できる。
本発明のプロビジョニング方法は、前記スタンバイ構築ステップでは、前記コンピュータは、プロビジョニング要求を発生させる時刻を定めたプロビジョニングスケジュールを記憶するスケジュール管理部を参照し、前記プロビジョニング要求を発生させる時刻よりも前の時点で、前記スタンバイ仮想マシンを起動し、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させる構成を採用できる。
本発明のプロビジョニング方法は、前記プロビジョニング実行ステップでは、前記コンピュータは、前記アプリケーションシステムに対応するサーバの負荷状態が所定のしきい値を超えると、当該アプリケーションシステムのプロビジョニングを行う構成を採用できる。
本発明のプロビジョニング方法は、前記プロビジョニング実行ステップでは、前記コンピュータは、前記スタンバイ仮想マシンに割り当てる資源量を、前記アクティブ仮想マシンに割り当てる資源量よりも多くし、スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行う構成を採用できる。
本発明のプロビジョニング方法は、前記プロビジョニング実行ステップでは、前記コンピュータは、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築ステップにて前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致するときには、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる構成を採用できる。
本発明のプロビジョニング方法は、前記プロビジョニング実行ステップでは、前記コンピュータは、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築ステップにて前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致しないときには、前記スタンバイ仮想マシン上で少なくともOSの起動及びアプリケーションの起動を実行させ、OS及びアプリケーションの起動後、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる構成を採用できる。
本発明のプロビジョニング方法は、前記プロビジョニング実行ステップでは、前記コンピュータは、アプリケーションシステムの負荷分散を行う負荷分散装置に前記スタンバイ仮想マシンを登録し、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる構成を採用できる。
本発明のプログラムは、前記スタンバイ構築処理では、前記アプリケーションシステムを構成するサーバの負荷状態を取得し、該取得した負荷状態に基づいてプロビジョニング要求の発生の有無を予測し、プロビジョニング要求が発生すると予測すると前記スタンバイ仮想マシンを起動させる構成を採用できる。
本発明のプログラムは、前記スタンバイ構築処理では、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、プロビジョニングの発生を予測する構成を採用できる。
本発明のプログラムは、前記スタンバイ構築処理では、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、各アプリケーションシステムについて現時点から所定時間後にプロビジョニング要求が発生する確率を計算し、該計算した確率が所定のしきい値以上であると、プロビジョニング要求が発生すると予測する構成を採用できる。
本発明のプログラムは、前記スタンバイ構築処理では、前記計算した確率と、アプリケーション間の切替えに要する時間コストを表した状態遷移コストグラフとに基づいて、前記スタンバイ仮想マシン上で事前に実行するプロビジョニングの対象となるアプリケーションシステムを決定する構成を採用できる。
本発明のプログラムは、前記スタンバイ構築処理では、前記スタンバイ仮想マシン上で、少なくともOSの起動及びプリケーションの起動を実行させる構成を採用できる。
本発明のプログラムは、前記スタンバイ構築処理では、前記スタンバイ仮想マシン上で、OSの起動、アプリケーションの起動、設定変更、パッチ適用、ネットワークの構成変更、管理/監視サーバへの登録設定、及び、連携サーバへの登録設定を実行させる構成を採用できる。
本発明のプログラムは、前記スタンバイ構築処理では、共有ディスクに格納されたディスクイメージを使用して、前記スタンバイ仮想マシン上でOS及びアプリケーションを起動させる構成を採用できる。
本発明のプログラムは、前記スタンバイ構築処理では、プロビジョニング要求を発生させる時刻を定めたプロビジョニングスケジュールを記憶するスケジュール管理部を参照し、前記プロビジョニング要求を発生させる時刻よりも前の時点で、前記スタンバイ仮想マシンを起動し、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させる構成を採用できる。
本発明のプログラムは、前記プロビジョニング実行処理では、前記アプリケーションシステムに対応するサーバの負荷状態が所定のしきい値を超えると、当該アプリケーションシステムのプロビジョニングを行う構成を採用できる。
本発明のプログラムは、前記プロビジョニング実行処理では、前記スタンバイ仮想マシンに割り当てる資源量を、前記アクティブ仮想マシンに割り当てる資源量よりも多くし、スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行う構成を採用できる。
本発明のプログラムは、前記プロビジョニング実行処理では、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築ステップにて前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致するときには、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる構成を採用できる。
本発明のプログラムは、前記プロビジョニング実行処理では、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築ステップにて前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致しないときには、前記スタンバイ仮想マシン上で少なくともOSの起動及びアプリケーションの起動を実行させ、OS及びアプリケーションの起動後、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる構成を採用できる。
本発明のプログラムは、前記プロビジョニング実行処理では、アプリケーションシステムの負荷分散を行う負荷分散装置に前記スタンバイ仮想マシンを登録し、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる構成を採用できる。
本発明のプロビジョニングシステム、方法、及び、プログラムでは、実際にプロビジョニングを行う前の段階で、共有サーバ上に起動したスタンバイ仮想マシンでプロビジョニングを事前に行い、プロビジョニングが要求された際には、アクティブ仮想マシンに割り当てる資源量と、スタンバイ仮想マシンに割り当てる資源量とを変更してスタンバイ仮想マシンに十分な資源量を割り当て、スタンバイ仮想マシンをアプリケーションシステムの稼動に用いることでプロビジョニングを行う。実際にプロビジョニングを行う前の段階で、共有サーバ上に起動したスタンバイ仮想マシンを用いて事前にプロビジョニングの準備を行い、OS及びアプリケーションの起動や、ネットワーク構成変更、別のサーバへの登録設定処理などを、スタンバイ仮想マシン上で事前に実行することで、サーバのプロビジョニングを高速に行うことができ、突発的な負荷変動や障害発生に対応して、迅速にサーバのプロビジョニングを行うことができる。これにより、データセンタや企業内情報システムで動作するアプリケーションシステムのサービスレベル(応答性能、可用性)を維持できる。また、共有サーバにスタンバイ仮想サーバを構成することでプロビジョニングを高速化できるので、SANなどを用意する必要がなく、既存のサーバ資源を有効活用して、迅速にサーバのプロビジョニングを行うことができ、システム全体のコストを削減することができる。
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の第1実施形態のプロビジョニングシステムの構成を示している。プロビジョニングシステム10は、負荷分散装置11、管理サーバ20、アプリケーションシステムの実行に用いる複数のサーバ機(サーバ1〜サーバ6)31〜36、及び、共有サーバ(サーバ7)40を有する。サーバ機31〜36は、二つ以上のアプリケーションシステムを運用する。図1の例では、サーバ機31及び32は、AP1のアプリケーションシステムを運用し、サーバ機33及び34は、AP2のアプリケーションシステムを運用する。また、サーバ機35及び36は、AP3のアプリケーションを運用する。
共有サーバ40は、仮想マシンモニタ43を有する。仮想マシンモニタ43は、共有サーバ40上に、仮想マシン(アクティブ仮想マシン41及びスタンバイ仮想マシン42)を構成する。仮想マシンモニタ43は、共有サーバ40上で動作するソフトウェアであり、仮想マシンの構築/解体や、仮想マシンに対する資源の割当てなどを行う。アクティブ仮想マシン41は、アプリケーションシステムの一部として運用され、仮想マシンモニタ43により、アプリケーション稼動に十分な資源(CPU、メモリ、I/O帯域)が割り当てられる。図1の例では、アクティブ仮想マシン41は、サーバ機35及び36と共に、AP3のアプリケーションシステムを運用する。スタンバイ仮想マシン42は、プロビジョニング要求が発生する可能性が高いアプリケーションシステムを事前に用意するための環境として利用され、仮想マシンモニタ43により、アクティブ仮想マシン41に割り当てられた資源量よりも少ない必要最小限の資源が割り当てられる。
負荷分散装置11は、各アプリケーションシステムに対するクライアントからの要求を負荷分散する。管理サーバ20は、情報監視部21、スタンバイ構築決定部22、プロビジョニング決定部23、及び、制御実行部24を有し、アプリケーションシステムの負荷変動や障害に応じてシステムの構成変更を管理する。情報監視部21は、システム全体の構成や性能、障害を監視する。制御実行部24は、共有サーバ40に対する制御、及び、負荷分散装置11や図示しないネットワーク機器に対する制御を実行する。スタンバイ構築決定部22は、プロビジョニング要求の発生を予測し、制御実行部24を介して、共有サーバ40上にスタンバイ仮想マシン42を構成し、スタンバイ仮想マシン42上でプロビジョニングを実行させる。
スタンバイ構築決定部22は、負荷変動や過去の統計データから、各アプリケーションシステムに対するプロビジョニング要求を予測する。より詳細には、スタンバイ構築決定部22は、例えば、負荷変動や過去の統計データから、アプリケーションシステムごとに、5分後にプロビジョニング要求が発生する確率を計算する。計算した確率が所定のしきい値を超えるときには、将来的に発生するであろうプロビジョニング要求に備えて、スタンバイ仮想マシン42上でプロビジョニングを実行させる。
プロビジョニング決定部23は、現在のシステム内の負荷状態に基づいて、プロビジョニング要求を発生するか否かを決定し、制御実行部24を介して、共有サーバ40にプロビジョニングを実行させる。プロビジョニング決定部23は、例えばアプリケーションの平均利用率が80%を超えたことを検出すると、プロビジョニング要求を発生し、サーバ追加を決定する。スタンバイ仮想マシン42にて事前にプロビジョニングが行われていないとき、又は、プロビジョニングの対象が、事前にプロビジョニングが行われたアプリケーションシステムとは異なるアプリケーションシステムであるときには、スタンバイ仮想マシン42にて、初めからプロビジョニングを行う。
図2は、スタンバイ構築決定部22が、スタンバイ仮想マシン42に対して事前にプロビジョニングを行う際の動作手順を示している。スタンバイ構築決定部22は、情報監視部21に、現在のシステムの状態、例えば各アプリケーションシステムにおけるサーバのCPU平均利用率やディスクI/Oの平均値、ネットワークI/Oの平均値などを取得する(ステップS1000)。スタンバイ構築決定部22は、取得したシステム状態と、過去の統計データと照らし合わせ、アプリケーションシステムに対するプロビジョニング要求が発生するか否かを予測する(ステップS1001)。より詳細には、ステップS1001では、過去の統計データから得られた所定の算出式と、現在のシステム状態とから、各アプリケーションシステムについて、プロビジョニング要求が発生する確率を求める。
スタンバイ構築決定部22は、ステップS1001での予測結果から、プロビジョニング要求が発生する可能性が高いか否かを判断する(ステップS1002)。ステップS1002では、例えば、何れかのアプリケーションシステムについて、プロビジョニング要求が発生する確率が所定のしきい値以上のときに、プロビジョニング要求が発生する可能性が高いと判断する。スタンバイ構築決定部22は、プロビジョニング要求が発生する確率が低いと判断したときには、所定の時間だけ待機し(ステップS1005)、その後にステップS1000に戻り、再度システム状態の確認を行う。
スタンバイ構築決定部22は、プロビジョニング要求が発生する確率が高いと判断すると、プロビジョニングのためのスタンバイ状態を決定する(ステップS1003)。このスタンバイ状態の決定には、特許文献2に記載される手法が利用できる。詳細については、実施例で説明する。その後、スタンバイ構築決定部22は、ステップS1003で決定したスタンバイ状態に基づいて、実際にプロビジョニングを行う条件が成立する前の段階で、制御実行部24を介して、共有サーバ40内にスタンバイ仮想マシン42を構築し、構築したスタンバイ仮想マシン42上でプロビジョニングの一部を実行させる(ステップS1004)。
ステップS1004では、スタンバイ仮想マシン42内のOSの入替えやアプリケーションのセットアップ、ネットワーク機器の設定変更などを行う。ただし、スタンバイ仮想マシン42に割り当てられた資源量は必要最小限のものであり、スタンバイ仮想マシン42は、クライアントからの要求を受け付けてサービスを提供できるだけの能力は有していない。このため、スタンバイ仮想マシン42は、スタンバイ状態で待機するのみであり、実際のアプリケーションシステムの運用には利用されない。
図3は、プロビジョニング決定部23によるプロビジョニング決定の動作手順を示している。このプロビジョニング決定の動作は、図2に示すスタンバイ仮想マシン42に対する事前プロビジョニングの動作とは独立に行われる。プロビジョニング決定部23は、情報監視部21から、現在のシステム状態を取得する(ステップS2000)。状態確認後、プロビジョニング決定部23は、あらかじめプログラムされた、或いは、ルール化された制御に基づいて、プロビジョニングを行うか否かを判断する(ステップS2001)。例えば、プロビジョニング決定部23は、何れかのアプリケーションシステムの平均のCPU利用率が所定のしきい値を超えたことを検出すると、プロビジョニングを行うと決定する。プロビジョニングを行わないと判断したときには、所定時間だけ待機し(ステップS2006)、その後、ステップS2000に戻って再度システム状態の確認を行う。
プロビジョニング決定部23は、プロビジョニングを行うと決定したときには、システムの構成情報、及び、プロビジョニングするサーバの構成に基づいて、プロビジョニングをどのような手順で実行するかを示すプロビジョニングプランを生成する(ステップS2002)。プロビジョニングプランの生成では、システム構成情報を参照して、例えば使用するOSやアプリケーションを特定し、OSの入れ替えやアプリケーションのセットアップの手順を生成する。また、VLANを用いてネットワークを分けるシステム構成となっているときには、プロビジョニングプランに、VLANの設定変更を行う手順を追加する。
プロビジョニング決定部23は、プロビジョニングが必要であることを、アラートを通して管理者に伝える。(ステップS2003)。プロビジョニング決定部23は、プロビジョニングプランに対して管理者の承諾が得られたか否かを判断し(ステップS2004)、承諾が得られたときには、制御実行部24に対して、プロビジョニングを実行させる(ステップS2005)。承諾がなかったときには、プロビジョニングは行わない。この
管理者による承諾は、省略することもできる。
図4は、プロビジョニング実行の際の動作手順を示している。制御実行部24は、まず、スタンバイ仮想マシン42の状態を確認する(ステップS3000)。ステップS3000では、図2のステップS1004で構築されたスタンバイ仮想マシン42におけるアプリケーションシステムと、プロビジョニング実行対象のアプリケーションシステムとが一致しているか否かを判断する(ステップS3001)。一致していた場合には、制御実行部24は、仮想マシンモニタ43を制御し、ステップS2002(図3)で生成したプロビジョニングプランに従って、アクティブ仮想マシン41に割り当てられている資源量とスタンバイ仮想マシン42に割り当てられている資源量とを変更する(ステップS3008)。
ステップS3008の割当資源量の変更では、アクティブ仮想マシン41の資源量を削減し、スタンバイ仮想マシン42に十分な資源量を割り当てる。このようにすることで、見かけ上、アクティブ仮想マシン41とスタンバイ仮想マシン42とが入れ替わる。スタンバイ仮想マシン42に対して十分な資源量が割り当てられることで、スタンバイ仮想マシン42上でスタンバイ状態であったアプリケーションシステムは、サービス開始可能な状態となる。スタンバイ仮想マシン42に対して十分な資源量が割り当てられた後、負荷分散装置11に、スタンバイ仮想マシン42を負荷分散対象のサーバとして登録することで、スタンバイ仮想マシン42は、クライアントからの要求受付を開始する(ステップS3009)。スタンバイ仮想マシン42がアプリケーションシステムの一部として運用されることで、プロビジョニングが完了する。
一方、スタンバイ仮想マシン42におけるアプリケーションシステムと、プロビジョニング実行対象のアプリケーションシステムとが一致しないと判断したときには、ステップS2002(図3)で生成したプロビジョニングプランに従って、通常のプロビジョニング処理を行う。すなわち、スタンバイ仮想マシン42上で既に起動しているアプリケーションがあるか否かを調べ(ステップS3002)、起動しているアプリケーションがあるときには、そのアプリケーションを停止する(ステップS3003)。その後、OSを入れ替え(ステップS3004)、アプリケーションのセットアップを行い(ステップS3005)、ネットワーク機器の設定変更をしてネットワーク構成を変更し(ステップS3006)、管理サーバ20への登録を行う(ステップS3007)。更に、ステップS3008で、スタンバイ仮想マシン42に割り当てられる資源量を変更し、ステップS3009で負荷分散装置11への登録を行う。
共有サーバ40におけるアプリケーションシステムの状態遷移の様子を、図5を参照して説明する。初め、アクティブ仮想マシン41では、AP3のアプリケーションシステムが稼動しており、スタンバイ仮想マシン42は停止状態にある(図5(a))。この状態で、AP1のアプリケーションシステムの負荷が上昇傾向にあると、図2に示す手順で、AP1に対してプロビジョニング要求が発生すると予測され、スタンバイ仮想マシン42上でAP1のアプリケーションシステムが構築される(図5(b))。ただし、この状態では、スタンバイ仮想マシン42はクライアントからの要求を受け付けないので、プロビジョニングは完了していない。
AP1のアプリケーションシステムの負荷が増加し、予測どおりにAP1に対するプロビジョニング要求が発生すると(図3のステップS2001)、プロビジョニングの実行では、図4のステップS3001からステップS3008に進み、アクティブ仮想マシン41の割当て資源量が削減され、スタンバイ仮想マシン42に十分な資源が割り当てられることで、スタンバイ仮想マシン42が、アプリケーションシステムの運用が可能なアクティブ状態となり、アクティブ仮想マシン41はスタンバイ状態となる。つまり、見かけ上、アクティブ仮想マシン41とスタンバイ仮想マシン42とが入れ替わる(図5(c))。その後、負荷分散装置11にAP1のアプリケーションが動作するスタンバイ仮想マシン42が負荷分散対象として登録されることで、アクティブ状態となったスタンバイ仮想マシン42がクライアントから利用可能となり、プロビジョニングが完了する。
本実施形態では、共有サーバ40に、仮想マシンモニタ43を用いてアクティブ仮想マシン41とスタンバイ仮想マシン42とを構成する。管理サーバ20は、プロビジョニングが予測されるときには、スタンバイ仮想マシン42上で、事前にプロビジョニングの一部を実行しておき、実際にプロビジョニングが必要となったときには、スタンバイ仮想マシン42に対する資源割当量を変更し、スタンバイ仮想マシンをアプリケーションシステムの運用に用いることで、プロビジョニングを行う。このようにプロビジョニングの一部を、共有サーバ40上でアプリケーションシステムの運用を行うアクティブ仮想マシン41とは別個に構成したスタンバイ仮想マシン42上で事前に実行しておくことで、プロビジョニングを高速化できる。
本実施形態では、事前にスタンバイ仮想マシン42にてプロビジョニングの一部を行っておくことで、プロビジョニングを迅速に行うことができるため、突発的な負荷変動や障害の発生時に、迅速にサーバのプロビジョニングを実行し、負荷の低減や障害サーバの代替を行うことができる。これにより、データセンタや企業内情報システムの可用性を向上させることができる。また、プロビジョニングにより、データセンタや企業内情報システムで動作するアプリケーションシステムのサービスレベル(応答性能、可用性)を維持できる。
本実施形態では、既存サーバ機に、仮想マシンモニタ43をインストールし、サーバ上で複数の仮想マシンを構成可能とすることで、迅速なプロビジョニングを実現できる。このため、システム全体を作り変えることなくプロビジョニングを高速化することができる。また、本実施形態では、アプリケーションシステムの一部として稼働中のサーバ上で、スタンバイ状態を構築でき、スタンバイ用のサーバ機を新たに用意する必要はない。したがって、既存のサーバ資源を有効活用することができ、システム全体のコストを削減することができる。
以下、具体的な実施例を用いて本実施形態のプロビジョニングシステムの動作について説明する。図6に、本実施例のプロビジョニングシステムの構成を示す。このプロビジョニングシステムは、企業内データセンタにおけるプロビジョニングシステムとして構成されており、負荷分散装置100、VLANスイッチ101、ファイヤウォール102、管理/監視サーバ103、サーバ機(サーバ1〜サーバ6)111〜116、及び、データベースサーバ131〜133で構成されている。サーバ機111〜115は、アプリケーションシステムに利用されるサーバ機(図1におけるサーバ機31〜36)に相当し、サーバ機116は、仮想マシンモニタ120により仮想マシンを構成可能なサーバ機(共有サーバ40)に相当する。
図6に示すシステムでは、販売管理、売上解析、開発評価の3つのWebアプリケーションシステムが稼動している。サーバ機111及び112は、販売管理用のサーバとして利用されており、サーバ機113及び114は、売上解析用のサーバとして利用され、サーバ機115は、開発評価用のサーバとして利用されている。サーバ機116は、プールサーバであり、通常は開発評価システムの一部として利用されているが、販売管理や売上解析の負荷急増時や障害時には、販売管理や売上解析用のサーバとして利用される。各アプリケーションが利用するデータは、同じネットワークに接続されたデータベースサーバ131〜133に格納される。
販売管理及び売上解析のアプリケーションは、負荷分散装置100を介して、クライアントからの要求を負荷分散して処理する。また、図6では、各アプリケーションの運用管理グループが異なる場合を想定し、各アプリケーシステムを、VLANスイッチ101とファイヤウォール102とによってネットワーク的に隔離している。システム全体の監視及び管理は、管理/監視サーバ103により行う。管理/監視サーバ103は、図1における管理サーバ20に相当し、スタンバイ仮想マシンの構成やプロビジョニングの決定及び実行を行う。
ここで、月末にかけて、販売管理システムの利用者数、及び、アクセス頻度が上昇し、サーバ機111及び112の処理能力では十分な応答性能が得られなくなる状況を考える。この場合、管理/監視サーバ103が、販売管理システムの高負荷状態を検出し、サーバ機116を、販売管理システムとしてプロビジョニングする決定を行う。サーバ機111及び112に、サーバ機116を加えた3台のサーバで負荷分散することで、販売管理システムの応答性能を維持することができる。本実施例では、プロビジョニング要求が発生する前の段階で、プロビジョニング要求の発生を予測し、プロビジョニング要求が予測されるときには、その時点で、スタンバイ仮想マシン122上で事前にプロビジョニングを開始しておくことにより、プロビジョニングを高速化する。
プロビジョニングの予測について説明する。プロビジョニングが、例えば、同一アプリケーションシステムを構成するサーバの平均CPU利用率が80%を超えたときに実行されるとした場合、CPU平均利用率が80%を超える前に、システム内の資源状態の変動から、何らかの兆候を見出すことができると考えられる。そこで、過去の資源状態の変動データから、プロビジョニング要求発生のパターンを抽出し、これを用いてプロビジョニングを予測する。プロビジョニング要求発生のパターンの抽出では、例えば各アプリケーションシステムに擬似的なクライアント要求を入力して、各サーバのCPU利用率、ディスクI/O、ネットワークI/O、クライアント接続数など資源状態データを適当なウインドウサイズ(例えば5秒)で取り出し、そのデータ系列が観察されてからx秒後(例えば1分後)におけるプロビジョニング要求発生の有無を、プロビジョニング要求発生のパターンとして抽出する。
図7に、性能特徴ベクトルと、プロビジョニング要求発生のパターンとを示す。資源状態データを適当なウィンドウサイズで取り出したデータを、性能特徴ベクトルとして定義する。図7(a)は、性能特徴ベクトルの一例を示しており、この例では、販売管理、売上解析、及び、開発評価のそれぞれについて、CPU利用率の平均値とディスクI/Oの平均値とを性能特徴ベクトルのデータ(x1〜x6)として定義している。ここでは、平均値としたが、その他の統計値や差分をとって性能特徴ベクトルとしてもよい。
プロビジョニング要求発生のパターンの抽出では、性能特徴ベクトルの観察データと、そのデータが観察されてから所定時間後におけるプロビジョニング要求の発生の有無(プロビジョニング要求発生の場合は、その対象となるアプリケーションシステム)との組を、パターンとして抽出する(図7(b))。図7(b)では、例えば、販売管理におけるCPU利用率が「70.6」、ディスクI/Oが「152.8」、売上解析におけるにおけるCPU利用率が「5.4」、ディスクI/Oが「8」、開発評価におけるCPU利用率が「9.4」、ディスクI/Oが「173.6」のデータが観察された時点から所定時間後に、販売管理のアプリケーションシステムについてプロビジョニング要求が発生したことを示している。
次に、上記抽出されたパターンデータに基づいて、プロビジョニング要求を予測するモデルを用意する。一例として、ロジスティック回帰分析を用いる方法を示す。ロジスティック回帰分析は、多数の説明変数を用いて、比率や2値変数の値を推定する際に用いられる分析手法である。プロビジョニングが要求される場合を「1」、要求されない場合を「0」とし、各アプリケーションに対してプロビジョニングが要求される確率qを推定する。説明変数としては、パターンデータで用いた性能特徴ベクトルv(図7(a))を用いる。
ロジスティック回帰分析の一般式は以下のように定義される。
v=(x1,x2,..,xn)
q(v)=exp(β0+Σβi×xi)/(1+exp(β0+Σβi×xi))
ここで、β0,..,βnは回帰係数列であり、パターンデータ(図7(b))を入力データとして、最尤法によって求めることができる。回帰係数を求めた後の販売管理システムについてのロジスティック回帰式の例を、以下に示す。
f(v)=exp(-2.6+1.04×x1+0.17×x2-6×x3+0.03×x4+0.38×x5+0.17×x6)
q(v)=f(v)/(1+f(v)) (1)
各アプリケーションシステムについて、上記と同様に、ロジスティック回帰分析で、プロビジョニングが要求される確率の算出式を導出する。また、何れのアプリケーションシステムに対してプロビジョニングが要求されない場合についても、ロジスティック回帰分析で確率の算出式を導出する。この確率算出式の導出は、プロビジョニングシステムの運用開始前に、あらかじめ行っておく。
スタンバイ構築決定部22は、図2のステップS1000で情報監視部21から取得した現在のシステム状態に対応した性能特徴ベクトルを生成し、ステップS1001で、この性能特徴ベクトルを、上記導出した確率算出式に当てはめて、各アプリケーションシステムについて、プロビジョニング要求が発生する確率を算出する。例えば、販売管理システムについてのプロビジョニング要求の発生確率が所定のしきい値、例えば0.85を超えていたときには、ステップS1002からステップS1003へ進んで、プロビジョニングのためのスタンバイ状態を決定する。
スタンバイ状態の決定では、選択し得るスタンバイ状態から、各アプリケーションシステムをプロビジョニングする際にかかる処理時間を事前に測定又は予測して状態遷移コストグラフをあらかじめ作成しておき、その状態遷移コストグラフと、各アプリケーションのプロビジョニング要求の発生確率とに基づいて、スタンバイ仮想マシン122にてプロビジョニングするアプリケーションシステムを決定する。図8に、状態遷移コストグラフの具体例を示す。この同図では、例えば現在のアプリケーションシステムが販売管理であるときに、アプリケーションシステムを売上解析に入れ替えるためには、時間的コストが「49」かかることを示している。
図9に、各アプリケーションシステムについて算出されたプロビジョニング要求の発生確率を示し、図10に、期待プロビジョニング時間の算出結果を示す。ステップS1001で算出された各アプリケーションシステムのプロビジョニング要求発生確率が、販売管理「0.92」、売上解析「0.21」、開発評価「0.01」で、プロビジョニング要求発生なしの確率が「0.34」であったとする(図9(a))。この場合、スタンバイ状態の決定では、各確率を、これら確率の総和で割り、プロビジョニング要求発生確率の比率を求める。プロビジョニング要求発生確率の比率を求めると、販売管理に対する要求比率は「0.62」、売上解析に対する要求比率は「0.14」、開発評価に対する要求比率は「0.006」、プロビジョニング要求なしに対する要求比率は「0.23」と算出される(図9(b))。
プロビジョニング要求発生確率の比率を算出すると、選択可能なスタンバイ状態に対し、各アプリケーションシステムに対するプロビジョニング要求発生確率の比率と状態遷移コスト(図8)との積和をとり、期待プロビジョニング時間を算出する。例えば、スタンバイ仮想マシン122を販売管理でプロビジョニングした場合を想定して、販売管理の要求比率「0.62」に販売管理から販売管理への入れ替えに要する時間コスト「0」をかけたもの、売上解析の要求比率「0.14」に販売管理から売上解析への入れ替えに要する時間コスト「60」をかけたもの、開発評価の要求比率「0.006」に販売管理から開発評価への入れ替えに要する時間コスト「50」をかけたものの総和を算出する。このような期待プロビジョニング時間の計算を、スタンバイ仮想マシン122に対して何れのアプリケーションシステムもプロビジョニングしない場合を含めて計算すると、図10に示す計算結果が得られる。
スタンバイ状態の決定では、期待プロビジョニング時間の算出結果から、期待プロビジョニング時間が最も短いアプリケーションシステムを、スタンバイ状態、つまり、スタンバイ仮想マシン122上でプロビジョニングするアプリケーションシステムとして選択する。図10の例では、スタンバイ状態を販売管理のアプリケーションシステムとしたときに期待プロビジョニング時間が最短となっているので、スタンバイ状態を販売管理に決定する。その後、ステップS1004で、スタンバイ仮想マシン122を構築し、構築したスタンバイ仮想マシン122上で、決定した販売管理のアプリケーションシステムをプロビジョニングする。このプロビジョニングでは、OSの入れ替え、販売管理のアプリケーションのセットアップ、VLANスイッチ101やファイヤウォール102の設定変更、管理/監視サーバ103への登録、データベースサーバ131〜133への登録処理などを実行する。
スタンバイ状態の構築後、図3のステップS2001で、サーバ機111及び112の平均CPU利用率が80%を超えたことが検出されると、ステップS2002に移行して、実際のプロビジョニングが開始される。ここでは、サーバ機116がプロビジョニングの対象となる。ステップS2002のプロビジョニングプランの生成では、システム構成を確認し、サーバ機116を販売管理のアプリケーションシステムとしてプロビジョニングするために、OSの入れ替え、APのセットアップ、VLANスイッチ101とファイヤウォール102の設定変更、管理/監視サーバ103への登録、データベースサーバ131〜133への登録処理が必要であると判断され、これらがプランニングされる。
上記プランニングされたプロビジョニングの詳細なプロビジョニング手順は、図4に示す手順に基づく。ステップS3000で、スタンバイ状態の確認を行い、スタンバイ仮想マシン122にて、事前に販売管理のアプリケーションシステムがプロビジョニング済みであるか否かを判断する。事前にプロビジョニング済みであれば、OSの入れ替え、APのセットアップ、VLANスイッチ101とファイヤウォール102の設定変更、管理/監視サーバ103への登録、データベースサーバ131〜133への登録処理は、事前に行われているので、ステップS3008のアクティブ仮想マシン121の資源量及びスタンバイ仮想マシン122の資源量の変更と、ステップS3009の負荷分散装置100の設定変更のみで、プロビジョニングが完了する。
図11は、本発明の第2実施形態のプロビジョニングシステムの構成を示している。本実施形態のプロビジョニングシステム10aは、第1実施形態のプロビジョニングシステム10の構成に加えて、SANやNAS(Network Attached Storage)を使った共有ディスク装置50を有する。共有ディスク装置50には、各アプリケーションシステムを構成済みのOSイメージが格納されている。サーバ機31〜36は、共有ディスク装置50に格納された共有ディスクイメージを使ってアプリケーションシステムを起動する。本実施形態におけるスタンバイ構築決定部22によるスタンバイ仮想マシンの構築の動作、及び、プロビジョニング決定部23によるプロビジョニング決定の動作は、第1実施形態における動作(図2、図3)と同様である。
図12は、プロビジョニングの実行手順を示している。制御実行部24は、まず、スタンバイ仮想マシン42の状態を確認する(ステップS5000)。ステップS5000では、図2のステップS1004で構築されたスタンバイ仮想マシン42におけるアプリケーションシステムと、プロビジョニング実行対象のアプリケーションシステムとが一致しているか否かを判断する(ステップS5001)。一致していた場合には、制御実行部24は、仮想マシンモニタ43を制御し、アクティブ仮想マシン41に割り当てられている資源量とスタンバイ仮想マシン42に割り当てられている資源量とを変更する(ステップS5007)。
ステップS5007では、アクティブ仮想マシン41の資源量を削減し、スタンバイ仮想マシン42に十分な資源量を割り当てる。このようにすることで、見かけ上、アクティブ仮想マシン41とスタンバイ仮想マシン42とが入れ替わる。スタンバイ仮想マシン42に対して十分な資源量が割り当てられることで、スタンバイ仮想マシン42上でスタンバイ状態であったアプリケーションシステムは、サービス開始可能な状態となる。スタンバイ仮想マシン42に対して十分な資源量が割り当てられた後、負荷分散装置11に、スタンバイ仮想マシン42を負荷分散対象のサーバとして登録することで、スタンバイ仮想マシン42は、クライアントからの要求受付を開始する(ステップS5008)。スタンバイ仮想マシン42がアプリケーションシステムの一部として運用されることで、プロビジョニングが完了する。
一方、制御実行部24は、ステップS5000で、スタンバイ仮想マシン42におけるアプリケーションシステムと、プロビジョニング実行対象のアプリケーションシステムとが一致しないと判断したときには、通常のプロビジョニング処理を行う。すなわち、スタンバイ仮想マシン42上で既に起動しているアプリケーションがあるか否かを調べ(ステップS5002)、起動しているアプリケーションがあるときには、そのアプリケーションを停止する(ステップS5003)。
アプリケーションの停止後、共有ディスク装置50に格納された構成済みのアプリケーションシステムを含むOSのディスクイメージを指定し、リモートブートによってアプリケーションシステムを起動する(ステップS5004)。その後、ネットワーク機器の設定変更をしてネットワーク構成を変更し(ステップS5005)、管理サーバ20への登録を行う(ステップS5006)。更に、ステップS5007で、スタンバイ仮想マシン42に割り当てられる資源量を変更し、ステップS5008で負荷分散装置11への登録を行う。
本実施形態では、アプリケーションシステムとして構成済みのディスクイメージを共有し、リモートブートによってプロビジョニングを行う。これにより、OSやアプリケーションの入れ替え、セットアップ処理を分けて行う場合に比して、プロビジョニングを高速化できる。ただし、共有ディスク装置50として、SANやNASなどのストレージ装置が必要となる。その他の効果は、第1実施形態と同様である。
図13は、本発明の第3実施形態のプロビジョニングシステムにおける管理サーバの構成を示している。本実施形態のプロビジョニングシステムは、図1における管理サーバ20を、図13に示す管理サーバ20aで置き換えた構成である。本実施形態のプロビジョニングシステムにおける管理サーバ20aは、図1に示す管理サーバ20の構成に加えて、スケジュール入力部25、スケジュール管理部26、及び、時刻監視部27を有する。本実施形態では、プロビジョニングを、現在のシステム状態ではなく、あらかじめ定められたスケジュールに従って実行する。
スケジュール入力部25は、管理者により入力された、プロビジョニング要求するスケールをスケジュール管理部26に登録する。スタンバイ構築決定部22は、スケジュール管理部26に登録されたスケジュールと、時刻監視部27から取得する現在時刻とを照らし合わせ、現在時刻が、スケジュールされた日時よりも所定時間だけ早い時刻となると、スタンバイ仮想マシン42(図1)を構成し、スタンバイ仮想マシン42上で、プロビジョニングの一部を実行させる。また、プロビジョニング決定部23は、スケジュール管理部26に登録されたスケジュールと、時刻監視部27から取得する現在時刻とを照らし合わせ、現在時刻が、スケジュールされた日時となると、スタンバイ仮想マシン42を用いて、プロビジョニングを実行する。
図14は、スタンバイ構築決定部22が、スタンバイ仮想マシン42に対して事前にプロビジョニングを行う際の動作手順を示している。まず、準備段階の処理として、管理者は、スケジュール入力部25を用いて、プロビジョニングを実施するスケジュールを設定する(ステップS6000)。入力するスケジュールの例を、図15に示す。スケジュールは、少なくとも、プロビジョニングを要求する日時、対象となる共有サーバ、要求するアプリケーションシステムの情報を含む。次いで、スタンバイ構築決定部22は、時刻監視を開始し(ステップS6001)、スケジュール管理部26に登録されたスケジュールと、時刻監視部27により提供される現在時刻とから、プロビジョニングの準備が必要であるか否かを判断する(ステップS6002)。
ステップS6002では、例えば、現在時刻が、スケジュールされた日時の10分前となると、準備が必要であると判断する。スタンバイ構築決定部22は、準備が必要ないと判断すると、所定時間だけ待機し(ステップS6004)、その後に、ステップS6002に戻る。スタンバイ構築決定部22は、プロビジョニングの準備が必要と判断すると、制御実行部24を介して、スタンバイ仮想マシン42の構成を開始する(ステップS6003)。ステップS6003では、図2のステップS1004と同様に、構成されたスタンバイ仮想マシン42上で、プロビジョニングの一部を実行する。このとき、スタンバイ構築決定部22は、スケジュールで指定されたアプリケーションを、スタンバイ仮想マシン42上にセットアップする。
図16は、プロビジョニング実行の際の動作手順を示している。プロビジョニング決定部23は、スケジュールの入力後(図14のステップS6000)、時刻監視を開始し(ステップS7000)、スケジュール管理部26に登録されたスケジュールと、時刻監視部27より提供される時刻情報とから、プロビジョニングが必要であるか否かを判断する(ステップS7001)。ステップS7001では、現在時刻が、スケジュールされた日時となると、プロビジョニングが必要であると判断する。現在時刻がスケジュールされた日時よりも前であれば、プロビジョニングは必要ないと判断して、所定時間だけ待機し(ステップS7004)、その後、ステップS7001に戻る。
現在時刻が、スケジュールされた日時となると、プロビジョニング決定部23は、プロビジョニングを実行する。本実施形態では、スケジュールされた日時よりも前に、スタンバイ構築決定部22によって、スタンバイ仮想マシン42上でプロビジョニングの一部が既に実行されているので、プロビジョニングの実行では、アクティブ仮想マシン41(図1)及びスタンバイ仮想マシン42の資源量の変更、及び、負荷分散装置11へのスタンバイ仮想マシン42の登録を行う(ステップS7002、S7003)。ステップS7002で資源量を変更することで、見かけ上、アクティブ仮想マシンとスタンバイ仮想マシンとの入替えを行い、ステップS7003で、負荷分散装置11への登録を行い、スタンバイ仮想マシン42がユーザ要求を受け付ける状態とすることで、プロビジョニングが完了する。
本実施形態では、スケジュールに基づいて、事前にスタンバイ仮想マシン42にスタンバイ状態を構成し、スケジュールで指定した日時となると、アクティブ仮想マシン41の資源量とスタンバイ仮想マシン42の資源量とを変更して、プロビジョニングを行う。これにより、スケジュールした日時に、迅速にアプリケーションシステムの入替えを行うことができる。その際、スケジュールで指定した日時までは、アクティブ仮想マシン41が動作することで、共有サーバ40(図1)をアプリケーションシステムの一部と運用することができる。長期間運用を継続しているシステムで、負荷変動があらかじめ予測できる場合には、プロビジョニングのスケジュールを事前に指定することで、運用の効率化を図ることができる。
なお、上記実施形態では、プロビジョニングシステムが、プロビジョニング対象の共有サーバ40を1台備える構成を説明したが、共有サーバ40は、1台には限らず、複数のサーバを、仮想マシンモニタ43を有する共有サーバ40として構成することもできる。また、上記各実施形態は、組み合わせて使用することができ、例えば第2実施形態の構成と第3実施携帯の構成とを組み合わせて用いることもできる。第3実施形態では、スケジュールによってプロビジョニングを制御したが、スケジュールを優先しつつ、スケジュールが存在しない時間帯では、第1実施形態と同様に、プロビジョニング予測によるプロビジョニングを行って、共有サーバ40を最大限に有効活用することもできる。
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のプロビジョニングシステム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
この出願は、2007年1月11日に出願された日本出願特願2007−003823を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、仮想マシンを含むシステムを統合運用管理する管理ミドルウェアの用途に適用できる。本発明により、高速にプロビジョニングが行えるため、アプリケーションシステムのSLAを維持しつつ、資源を有効活用することができ、システム全体のコストを削減できる。
本発明の第1実施形態のプロビジョニングシステムの構成を示すブロック図。 スタンバイ構築決定部が、スタンバイ仮想マシンに対して事前にプロビジョニングを行う際の動作手順を示すフローチャート。 プロビジョニング決定部によるプロビジョニング決定の動作手順を示すフローチャート。 プロビジョニング実行の際の動作手順を示すフローチャート。 (a)〜(c)は、共有サーバにおけるアプリケーションシステムの状態遷移の様子を示すブロック図。 実施例のプロビジョニングシステムの構成を示すブロック図。 (a)は、性能特徴ベクトルを示す図、(b)は、性能特徴ベクトルとプロビジョニング要求発生とのパターンを示す図。 状態遷移コストグラフの具体例を示す図。 (a)及び(b)は、各アプリケーションシステムについて算出されたプロビジョニング要求の発生確率を示す図。 期待プロビジョニング時間の算出結果を示す図。 本発明の第2実施形態のプロビジョニングシステムの構成を示すブロック図。 第2実施形態におけるプロビジョニングの実行手順を示すフローチャート。 本発明の第3実施形態のプロビジョニングシステムにおける管理サーバの構成を示すブロック図。 第3実施形態における事前プロビジョニングの動作手順を示すフローチャート。 スケジュールの具体例を示す図。 第3実施形態におけるプロビジョニング実行の際の動作手順を示すフローチャート。
符号の説明
10 プロビジョニングシステム
11 負荷分散装置
20 管理サーバ
21 情報監視部
22 スタンバイ構築決定部
23 プロビジョニング決定部
24 制御実行部
25 スケジュール入力部
26 スケジュール管理部
27 時刻監視部
31〜36 サーバ機
40 共有サーバ
41 アクティブ仮想マシン
42 スタンバイ仮想マシン
43 仮想マシンモニタ
50 共有ディスク装置

Claims (42)

  1. 複数のサーバで2つ以上のアプリケーションシステムを動作させるシステムでサーバのプロビジョニングを行うプロビジョニングシステムであって、
    前記複数のサーバの少なくとも1つは複数の仮想マシンを構成可能な共有サーバとして構成されており、
    アプリケーションシステムを稼動させるためのアクティブ仮想マシンが構成された共用サーバ上に、前記アクティブ仮想マシンに割り当てられた資源量よりも少ない資源量でスタンバイ仮想マシンを起動させ、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させるスタンバイ構築手段と、
    前記アクティブ仮想マシンと前記スタンバイ仮想マシンとの資源割当量を変更し、プロビジョニングを行うプロビジョニング実行手段とを備えたことを特徴とするプロビジョニングシステム。
  2. 前記スタンバイ構築手段は、前記サーバの負荷状態を取得し、該取得した負荷状態に基づいてプロビジョニング要求の発生の有無を予測し、プロビジョニング要求が発生すると予測すると前記スタンバイ仮想マシンを起動させる、請求項1に記載のプロビジョニングシステム。
  3. 前記スタンバイ構築手段は、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、プロビジョニングの発生を予測する、請求項2に記載のプロビジョニングシステム。
  4. 前記スタンバイ構築手段は、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、各アプリケーションシステムについて現時点から所定時間後にプロビジョニング要求が発生する確率を計算し、該計算した確率が所定のしきい値以上であると、プロビジョニング要求が発生すると予測する、請求項2に記載のプロビジョニングシステム。
  5. 前記スタンバイ構築手段は、前記計算した確率と、アプリケーション間の切替えに要する時間コストを表した状態遷移コストグラフとに基づいて、前記スタンバイ仮想マシン上で事前に実行するプロビジョニングの対象となるアプリケーションシステムを決定する、請求項4に記載のプロビジョニングシステム。
  6. 前記スタンバイ構築手段は、前記スタンバイ仮想マシン上で、少なくともOSの起動及びアプリケーションの起動を実行させる、請求項1に記載のプロビジョニングシステム。
  7. 前記スタンバイ構築手段は、前記スタンバイ仮想マシン上で、OSの起動、アプリケーションの起動、設定変更、パッチ適用、ネットワークの構成変更、管理/監視サーバへの登録設定、及び、連携サーバへの登録設定を実行させる、請求項1に記載のプロビジョニングシステム。
  8. 前記スタンバイ構築手段は、共有ディスクに格納されたディスクイメージを使用して、前記スタンバイ仮想マシン上でOS及びアプリケーションを起動させる、請求項6に記載のプロビジョニングシステム。
  9. 前記スタンバイ構築手段は、プロビジョニング要求を発生させる時刻を定めたプロビジョニングスケジュールを記憶するスケジュール管理部を参照し、前記プロビジョニング要求を発生させる時刻よりも前の時点で、前記スタンバイ仮想マシンを起動し、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させる、請求項1に記載のプロビジョニングシステム。
  10. 前記プロビジョニング実行手段は、前記2つ以上のアプリケーションシステムのうちの何れかに対応するサーバの負荷状態が所定のしきい値を超えると、当該アプリケーションシステムのプロビジョニングを行う、請求項1に記載のプロビジョニングシステム。
  11. 前記プロビジョニング実行手段は、前記スタンバイ仮想マシンに割り当てる資源量を、前記アクティブ仮想マシンに割り当てる資源量よりも多くし、スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行う、請求項1に記載のプロビジョニングシステム。
  12. 前記プロビジョニング実行手段は、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築手段によって前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致するときには、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる、請求項11に記載のプロビジョニングシステム。
  13. 前記プロビジョニング実行手段は、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築手段によって前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致しないときには、前記スタンバイ仮想マシン上で、少なくともOSの起動及びアプリケーションの起動を実行させ、OS及びアプリケーションの起動後、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる、請求項11に記載のプロビジョニングシステム。
  14. 前記プロビジョニング実行手段は、アプリケーションシステムの負荷分散を行う負荷分散装置に前記スタンバイ仮想マシンを登録し、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる、請求項11に記載のプロビジョニングシステム。
  15. コンピュータを用い、複数のサーバで2つ以上のアプリケーションシステムを動作させるシステムでサーバのプロビジョニングを行うプロビジョニング方法であって、
    前記複数のサーバの少なくとも1つは複数の仮想マシンを構成可能な共有サーバとして構成されており、
    前記コンピュータが、アプリケーションシステムを稼動させるアクティブ仮想マシンと同じ共有サーバ上で、前記アクティブ仮想マシンよりも少ない資源量でスタンバイ仮想マシンを起動させ、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させるスタンバイ構築ステップと、
    前記コンピュータが、前記アクティブ仮想マシンと前記スタンバイ仮想マシンとの資源割当量を変更し、プロビジョニングを行うプロビジョニング実行ステップとを有することを特徴とするプロビジョニング方法。
  16. 前記スタンバイ構築ステップでは、前記コンピュータは、前記アプリケーションシステムを構成するサーバの負荷状態を取得し、該取得した負荷状態に基づいてプロビジョニング要求の発生の有無を予測し、プロビジョニング要求が発生すると予測すると前記スタンバイ仮想マシンを起動させる、請求項15に記載のプロビジョニング方法。
  17. 前記スタンバイ構築ステップでは、前記コンピュータは、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、プロビジョニングの発生を予測する、請求項16に記載のプロビジョニング方法。
  18. 前記スタンバイ構築ステップでは、前記コンピュータは、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、各アプリケーションシステムについて現時点から所定時間後にプロビジョニング要求が発生する確率を計算し、該計算した確率が所定のしきい値以上であると、プロビジョニング要求が発生すると予測する、請求項16に記載のプロビジョニング方法。
  19. 前記スタンバイ構築ステップでは、前記コンピュータは、前記計算した確率と、アプリケーション間の切替えに要する時間コストを表した状態遷移コストグラフとに基づいて、前記スタンバイ仮想マシン上で事前に実行するプロビジョニングの対象となるアプリケーションシステムを決定する、請求項18に記載のプロビジョニング方法。
  20. 前記スタンバイ構築ステップでは、前記コンピュータは、前記スタンバイ仮想マシン上で、少なくともOSの起動及びプリケーションの起動を実行させる、請求項15に記載のプロビジョニング方法。
  21. 前記スタンバイ構築ステップでは、前記コンピュータは、前記スタンバイ仮想マシン上で、OSの起動、アプリケーションの起動、設定変更、パッチ適用、ネットワークの構成変更、管理/監視サーバへの登録設定、及び、連携サーバへの登録設定を実行させる、請求項15に記載のプロビジョニング方法。
  22. 前記スタンバイ構築ステップでは、前記コンピュータは、共有ディスクに格納されたディスクイメージを使用して、前記スタンバイ仮想マシン上でOS及びアプリケーションを起動させる、請求項20に記載のプロビジョニング方法。
  23. 前記スタンバイ構築ステップでは、前記コンピュータは、プロビジョニング要求を発生させる時刻を定めたプロビジョニングスケジュールを記憶するスケジュール管理部を参照し、前記プロビジョニング要求を発生させる時刻よりも前の時点で、前記スタンバイ仮想マシンを起動し、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させる、請求項15に記載のプロビジョニング方法。
  24. 前記プロビジョニング実行ステップでは、前記コンピュータは、前記アプリケーションシステムに対応するサーバの負荷状態が所定のしきい値を超えると、当該アプリケーションシステムのプロビジョニングを行う、請求項15に記載のプロビジョニング方法。
  25. 前記プロビジョニング実行ステップでは、前記コンピュータは、前記スタンバイ仮想マシンに割り当てる資源量を、前記アクティブ仮想マシンに割り当てる資源量よりも多くし、スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行う、請求項15に記載のプロビジョニング方法。
  26. 前記プロビジョニング実行ステップでは、前記コンピュータは、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築ステップにて前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致するときには、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる、請求項25に記載のプロビジョニング方法。
  27. 前記プロビジョニング実行ステップでは、前記コンピュータは、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築ステップにて前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致しないときには、前記スタンバイ仮想マシン上で少なくともOSの起動及びアプリケーションの起動を実行させ、OS及びアプリケーションの起動後、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる、請求項25に記載のプロビジョニング方法。
  28. 前記プロビジョニング実行ステップでは、前記コンピュータは、アプリケーションシステムの負荷分散を行う負荷分散装置に前記スタンバイ仮想マシンを登録し、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる、請求項25に記載のプロビジョニング方法。
  29. コンピュータに、複数のサーバで2つ以上のアプリケーションシステムを動作させ、前記複数のサーバが複数の仮想マシンを構成可能な共有サーバを少なくとも1台含むシステムで、サーバのプロビジョニングを行う処理を実行させるプログラムであって、前記コンピュータに、
    アプリケーションシステムを稼動させるアクティブ仮想マシンと同じ共有サーバ上で、前記アクティブ仮想マシンよりも少ない資源量でスタンバイ仮想マシンを起動させ、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させるスタンバイ構築処理と、
    前記アクティブ仮想マシンと前記スタンバイ仮想マシンとの資源割当量を変更し、プロビジョニングを行うプロビジョニング実行処理とを実行させることを特徴とするプログラム。
  30. 前記スタンバイ構築処理では、前記アプリケーションシステムを構成するサーバの負荷状態を取得し、該取得した負荷状態に基づいてプロビジョニング要求の発生の有無を予測し、プロビジョニング要求が発生すると予測すると前記スタンバイ仮想マシンを起動させる、請求項29に記載のプログラム。
  31. 前記スタンバイ構築処理では、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、プロビジョニングの発生を予測する、請求項30に記載のプログラム。
  32. 前記スタンバイ構築処理では、前記サーバの負荷状態と、過去のサーバの負荷状態の統計情報とに基づいて、各アプリケーションシステムについて現時点から所定時間後にプロビジョニング要求が発生する確率を計算し、該計算した確率が所定のしきい値以上であると、プロビジョニング要求が発生すると予測する、請求項30に記載のプログラム。
  33. 前記スタンバイ構築処理では、前記計算した確率と、アプリケーション間の切替えに要する時間コストを表した状態遷移コストグラフとに基づいて、前記スタンバイ仮想マシン上で事前に実行するプロビジョニングの対象となるアプリケーションシステムを決定する、請求項32に記載のプログラム。
  34. 前記スタンバイ構築処理では、前記スタンバイ仮想マシン上で、少なくともOSの起動及びプリケーションの起動を実行させる、請求項29に記載のプログラム。
  35. 前記スタンバイ構築処理では、前記スタンバイ仮想マシン上で、OSの起動、アプリケーションの起動、設定変更、パッチ適用、ネットワークの構成変更、管理/監視サーバへの登録設定、及び、連携サーバへの登録設定を実行させる、請求項29に記載のプログラム。
  36. 前記スタンバイ構築処理では、共有ディスクに格納されたディスクイメージを使用して、前記スタンバイ仮想マシン上でOS及びアプリケーションを起動させる、請求項34に記載のプログラム。
  37. 前記スタンバイ構築処理では、プロビジョニング要求を発生させる時刻を定めたプロビジョニングスケジュールを記憶するスケジュール管理部を参照し、前記プロビジョニング要求を発生させる時刻よりも前の時点で、前記スタンバイ仮想マシンを起動し、該スタンバイ仮想マシン上でプロビジョニングを事前に実行させる、請求項29に記載のプログラム。
  38. 前記プロビジョニング実行処理では、前記アプリケーションシステムに対応するサーバの負荷状態が所定のしきい値を超えると、当該アプリケーションシステムのプロビジョニングを行う、請求項29に記載のプログラム。
  39. 前記プロビジョニング実行処理では、前記スタンバイ仮想マシンに割り当てる資源量を、前記アクティブ仮想マシンに割り当てる資源量よりも多くし、スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行う、請求項29に記載のプログラム。
  40. 前記プロビジョニング実行処理では、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築ステップにて前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致するときには、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる、請求項39に記載のプログラム。
  41. 前記プロビジョニング実行処理では、前記プロビジョニングするアプリケーションシステムと、前記スタンバイ構築ステップにて前記スタンバイ仮想マシン上で事前にプロビジョニングが実行されたアプリケーションシステムとが一致しないときには、前記スタンバイ仮想マシン上で少なくともOSの起動及びアプリケーションの起動を実行させ、OS及びアプリケーションの起動後、前記スタンバイ仮想マシンとアクティブ仮想マシンとの入替えを行い、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる、請求項39に記載のプログラム。
  42. 前記プロビジョニング実行処理では、アプリケーションシステムの負荷分散を行う負荷分散装置に前記スタンバイ仮想マシンを登録し、前記スタンバイ仮想マシンを用いたアプリケーションシステムの運用を開始させる、請求項39に記載のプログラム。
JP2008553110A 2007-01-11 2008-01-10 プロビジョニングシステム、方法、及び、プログラム Active JP5262724B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008553110A JP5262724B2 (ja) 2007-01-11 2008-01-10 プロビジョニングシステム、方法、及び、プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007003823 2007-01-11
JP2007003823 2007-01-11
PCT/JP2008/050173 WO2008084826A1 (ja) 2007-01-11 2008-01-10 プロビジョニングシステム、方法、及び、プログラム
JP2008553110A JP5262724B2 (ja) 2007-01-11 2008-01-10 プロビジョニングシステム、方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JPWO2008084826A1 true JPWO2008084826A1 (ja) 2010-05-06
JP5262724B2 JP5262724B2 (ja) 2013-08-14

Family

ID=39608714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008553110A Active JP5262724B2 (ja) 2007-01-11 2008-01-10 プロビジョニングシステム、方法、及び、プログラム

Country Status (3)

Country Link
US (1) US8677353B2 (ja)
JP (1) JP5262724B2 (ja)
WO (1) WO2008084826A1 (ja)

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5157472B2 (ja) * 2008-01-22 2013-03-06 富士通株式会社 帯域制御機能を有する負荷分散装置およびその設定方法
JP2010152704A (ja) * 2008-12-25 2010-07-08 Hitachi Ltd 計算機システムの運用管理システム及び管理方法
JP5251575B2 (ja) * 2009-02-10 2013-07-31 富士通株式会社 グリッドコンピューティングの管理プログラム
WO2010099514A2 (en) * 2009-02-27 2010-09-02 Coach Wei System and method for computer cloud management
US9419814B2 (en) * 2009-03-03 2016-08-16 Cisco Technology, Inc. Event / calendar based auto-start of virtual disks for desktop virtualization
US8341213B2 (en) * 2009-06-22 2012-12-25 Red Hat Israel, Ltd. Method for improving boot time of a client having a virtualized operating environment
US8281018B2 (en) * 2009-06-22 2012-10-02 Red Hat Israel, Ltd. Method for automatically providing a client with access to an associated virtual machine
US8135818B2 (en) * 2009-06-22 2012-03-13 Red Hat Israel, Ltd. Automatic virtual machine migration in mixed SBC/CBC environment
US8738781B2 (en) 2009-06-22 2014-05-27 Red Hat Israel, Ltd. Launching a virtual machine associated with a client during startup
US9069730B2 (en) * 2009-06-29 2015-06-30 Hewlett-Packard Development Company, L. P. Coordinated reliability management of virtual machines in a virtualized system
US9274851B2 (en) 2009-11-25 2016-03-01 Brocade Communications Systems, Inc. Core-trunking across cores on physically separated processors allocated to a virtual machine based on configuration information including context information for virtual machines
EP2510437A1 (en) * 2009-12-11 2012-10-17 Deutsche Telekom AG Computer cluster and method for providing a disaster recovery functionality for a computer cluster
JP5487951B2 (ja) * 2009-12-22 2014-05-14 富士通株式会社 運用管理プログラム、運用管理装置および運用管理方法
GB2477092A (en) * 2010-01-20 2011-07-27 Nec Corp Selecting virtual machine host servers based on client device location
US8874914B2 (en) * 2010-02-05 2014-10-28 Accenture Global Services Limited Secure and automated credential information transfer mechanism
US8406125B2 (en) 2010-03-19 2013-03-26 Brocade Communications Systems, Inc. Synchronization of multicast information using incremental updates
JP5332065B2 (ja) * 2010-06-11 2013-11-06 株式会社日立製作所 クラスタ構成管理方法、管理装置及びプログラム
US8495418B2 (en) 2010-07-23 2013-07-23 Brocade Communications Systems, Inc. Achieving ultra-high availability using a single CPU
US9104619B2 (en) 2010-07-23 2015-08-11 Brocade Communications Systems, Inc. Persisting data across warm boots
US9244703B2 (en) 2010-11-12 2016-01-26 Hitachi, Ltd. Server system and management unit identifying a plurality of business application software on a virtual machine based on a program boundary for dynamic resource allocation
JP5874234B2 (ja) 2011-08-09 2016-03-02 富士通株式会社 機器管理装置、機器管理方法および機器管理プログラム
US9143335B2 (en) 2011-09-16 2015-09-22 Brocade Communications Systems, Inc. Multicast route cache system
US9722866B1 (en) * 2011-09-23 2017-08-01 Amazon Technologies, Inc. Resource allocation to reduce correlated failures
US9459898B2 (en) 2011-10-06 2016-10-04 Hitachi, Ltd. Virtual server processing control method, system, and virtual server processing control management server
DE102012217202B4 (de) 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
US9170849B2 (en) 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
US9372735B2 (en) * 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US8904008B2 (en) 2012-01-09 2014-12-02 Microsoft Corporation Assignment of resources in virtual machine pools
US8762525B2 (en) * 2012-03-08 2014-06-24 International Business Machines Corporation Managing risk in resource over-committed systems
US9317337B2 (en) 2012-04-13 2016-04-19 International Business Machines Corporation Utilizing software component metadata to provision virtual machines in a networked computing environment
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
US9858095B2 (en) * 2012-09-17 2018-01-02 International Business Machines Corporation Dynamic virtual machine resizing in a cloud computing infrastructure
US10581763B2 (en) 2012-09-21 2020-03-03 Avago Technologies International Sales Pte. Limited High availability application messaging layer
US9203690B2 (en) 2012-09-24 2015-12-01 Brocade Communications Systems, Inc. Role based multicast messaging infrastructure
US9967106B2 (en) 2012-09-24 2018-05-08 Brocade Communications Systems LLC Role based multicast messaging infrastructure
JP6094595B2 (ja) * 2012-10-02 2017-03-15 日本電気株式会社 情報システム構築支援装置、情報システム構築支援方法および情報システム構築支援プログラム
US9600316B2 (en) * 2012-10-17 2017-03-21 Microsoft Technology Licensing, Llc Augmented allocation of virtual machines for application
US10127084B2 (en) * 2012-11-15 2018-11-13 Red Hat Israel, Ltd. Pre-provisioning resources for composite applications
US9275004B2 (en) 2012-12-11 2016-03-01 Telefonaktiebolaget Lm Ericsson (Publ) Hybrid firewall for data center security
US9634886B2 (en) * 2013-03-14 2017-04-25 Alcatel Lucent Method and apparatus for providing tenant redundancy
JP6186817B2 (ja) * 2013-04-05 2017-08-30 富士通株式会社 情報処理装置、情報処理プログラム及び情報処理方法
JP2014225116A (ja) * 2013-05-16 2014-12-04 株式会社三菱東京Ufj銀行 仮想マシンを動作させるためのサーバ
WO2014199464A1 (ja) 2013-06-12 2014-12-18 三菱電機株式会社 開発環境システム、開発環境装置、開発環境提供方法及びプログラム
US9274824B2 (en) * 2013-06-27 2016-03-01 Verizon Patent And Licensing Inc. Network technology standard operating environment
SG10201802428QA (en) * 2013-09-23 2018-04-27 Gopc Pty Ltd Virtual computing systems and methods
US9298485B2 (en) 2013-11-19 2016-03-29 International Business Machines Corporation Maintaining virtual machines for cloud-based operators in a streaming application in a ready state
KR101587192B1 (ko) 2014-01-21 2016-02-02 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버
JP2015191246A (ja) * 2014-03-27 2015-11-02 株式会社Nttドコモ 通信システムおよび管理方法
WO2015146374A1 (ja) * 2014-03-28 2015-10-01 株式会社Nttドコモ 仮想化資源管理ノード及び仮想マシン移行方法
CN105210326B (zh) * 2014-04-23 2019-02-01 华为技术有限公司 云应用处理方法和应用部署方法及相关装置和系统
US9459892B2 (en) 2014-05-05 2016-10-04 International Business Machines Corporation Optimization of virtual machines
US9262200B2 (en) * 2014-06-25 2016-02-16 Independenceit, Inc. Methods and systems for provisioning a virtual resource in a mixed-use server
KR101596325B1 (ko) * 2014-06-30 2016-02-23 전자부품연구원 서버/스토리지 관리 시스템
JP2016045505A (ja) * 2014-08-19 2016-04-04 日本電信電話株式会社 サービス提供システム、及びサービス提供方法
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9830193B1 (en) * 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9619349B2 (en) 2014-10-14 2017-04-11 Brocade Communications Systems, Inc. Biasing active-standby determination
US10867264B2 (en) * 2014-10-31 2020-12-15 Xerox Corporation Methods and systems for estimating lag times in a cloud computing infrastructure
US10411960B1 (en) * 2014-11-12 2019-09-10 Amazon Technologies, Inc. Detaching instances from auto-scaling group
US9647889B1 (en) 2014-11-12 2017-05-09 Amazon Technologies, Inc. Standby instances for auto-scaling groups
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9459905B2 (en) * 2014-12-16 2016-10-04 International Business Machines Corporation Implementing dynamic SRIOV virtual function resizing
CN105786587B (zh) * 2014-12-23 2019-11-26 华为技术有限公司 一种虚拟机vm的伸缩方法和设备
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
JP2016218530A (ja) * 2015-05-14 2016-12-22 キヤノン株式会社 リクエスト振り分けシステム、管理システム、およびその制御方法
WO2017005329A1 (en) * 2015-07-09 2017-01-12 Telecom Italia S.P.A. Method and system of ict services provisioning
US20170235588A1 (en) * 2015-09-15 2017-08-17 Intellectual Ventures Hong Kong Limited Provisioning of virtual machines with security requirements
US10361919B2 (en) 2015-11-09 2019-07-23 At&T Intellectual Property I, L.P. Self-healing and dynamic optimization of VM server cluster management in multi-cloud platform
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
EP3188017A1 (en) 2015-12-29 2017-07-05 Harmonic Inc. Scheduler of processes having timed predictions of computing loads
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
EP3341838A4 (en) 2016-05-31 2019-05-08 Avago Technologies International Sales Pte. Limited HIGH AVAILABILITY FOR VIRTUAL MACHINES
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10296367B2 (en) 2017-02-03 2019-05-21 Microsoft Technology Licensing, Llc Resource management for virtual machines in cloud computing systems
US10942760B2 (en) * 2017-02-03 2021-03-09 Microsoft Technology Licensing, Llc Predictive rightsizing for virtual machines in cloud computing systems
CN107404409B (zh) * 2017-09-01 2020-01-31 广西大学 面向突变负载的容器云弹性供给容器数量预测方法与系统
KR102035094B1 (ko) * 2017-11-07 2019-10-23 주식회사 틸론 가상 데스크톱 인프라 환경에서 가상 데스크톱을 자동으로 프로비져닝하는 방법 및 이를 이용하는 가상화 시스템
JP6962142B2 (ja) * 2017-11-08 2021-11-05 富士フイルムビジネスイノベーション株式会社 プログラム及び情報処理装置
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
JP7166765B2 (ja) 2018-02-28 2022-11-08 富士フイルム株式会社 アプリケーション提供装置、アプリケーション提供方法、およびアプリケーション提供プログラム
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
CN114930293A (zh) * 2019-06-12 2022-08-19 Snyk有限公司 预测性自动扩展和资源优化
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11307889B2 (en) * 2020-05-28 2022-04-19 International Business Machines Corporation Schedule virtual machines
US11822435B2 (en) 2020-07-06 2023-11-21 Bank Of America Corporation Consolidated data restoration framework
CN111738710B (zh) * 2020-07-23 2020-12-01 支付宝(杭州)信息技术有限公司 对智能合约的执行进行资源扣除的方法和处理器
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110715A (ja) * 1992-09-25 1994-04-22 Hitachi Ltd 仮想計算機システムにおける計算機資源の動的割付け方法
JP2001109638A (ja) * 1999-10-06 2001-04-20 Nec Corp 推定伸長率に基づくトランザクション負荷分散方法及び方式並びにコンピュータ可読記録媒体
JP4018900B2 (ja) * 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
JP4054616B2 (ja) * 2002-06-27 2008-02-27 株式会社日立製作所 論理計算機システム、論理計算機システムの構成制御方法および論理計算機システムの構成制御プログラム
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
JP4256693B2 (ja) * 2003-02-18 2009-04-22 株式会社日立製作所 計算機システム、i/oデバイス及びi/oデバイスの仮想共有方法
JP3782429B2 (ja) * 2003-05-26 2006-06-07 株式会社東芝 負荷分散システム及び計算機管理プログラム
US20050081210A1 (en) * 2003-09-25 2005-04-14 International Business Machines Corporation Dynamic adjustment of system resource allocation during query execution in a database management system
JP4066932B2 (ja) 2003-11-10 2008-03-26 株式会社日立製作所 予測に基づいた計算機リソース配分方法
US7451210B2 (en) * 2003-11-24 2008-11-11 International Business Machines Corporation Hybrid method for event prediction and system control
US20070266388A1 (en) * 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US20060117317A1 (en) * 2004-11-12 2006-06-01 International Business Machines Corporation On-demand utility services utilizing yield management
US20060155912A1 (en) * 2005-01-12 2006-07-13 Dell Products L.P. Server cluster having a virtual server
JP3942617B2 (ja) * 2005-02-10 2007-07-11 株式会社日立製作所 分散処理システムの計算機資源管理方法
US8041967B2 (en) * 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
US7827435B2 (en) * 2005-02-15 2010-11-02 International Business Machines Corporation Method for using a priority queue to perform job scheduling on a cluster based on node rank and performance
US20060242647A1 (en) * 2005-04-21 2006-10-26 Kimbrel Tracy J Dynamic application placement under service and memory constraints
US20070094659A1 (en) * 2005-07-18 2007-04-26 Dell Products L.P. System and method for recovering from a failure of a virtual machine
WO2007021836A2 (en) * 2005-08-15 2007-02-22 Toutvirtual Inc. Virtual systems management
JP4605036B2 (ja) 2006-01-27 2011-01-05 日本電気株式会社 計算機システム、管理サーバ、計算機設定時間を低減する方法およびプログラム
US8185893B2 (en) * 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer

Also Published As

Publication number Publication date
US8677353B2 (en) 2014-03-18
JP5262724B2 (ja) 2013-08-14
US20100058342A1 (en) 2010-03-04
WO2008084826A1 (ja) 2008-07-17

Similar Documents

Publication Publication Date Title
JP5262724B2 (ja) プロビジョニングシステム、方法、及び、プログラム
US10275286B2 (en) Management systems of cloud resources and management methods thereof
US11550603B2 (en) Method and system for sizing a cloud desktop fabric
KR102199278B1 (ko) 가속 자원 처리 방법 및 장치, 및 네트워크 기능 가상화 시스템
US10789091B2 (en) Agile VM load balancing through micro-checkpointing and multi-architecture emulation
US20210042151A1 (en) Method and system for migration of containers in a container orchestration platform between compute nodes
JP6102949B2 (ja) 仮想計算機管理プログラム,仮想計算機管理方法及び仮想計算機システム
US9703652B2 (en) VM and host management function availability during management network failure in host computing systems in a failover cluster
EP3125468B1 (en) Cloud application processing method and application deployment method and relevant apparatus and system
US11463509B2 (en) Rolling capacity upgrade control
US20160054993A1 (en) Modular architecture for distributed system management
US9515882B2 (en) Managing imaging of computing devices
US10331472B2 (en) Virtual machine service availability
US20210326161A1 (en) Apparatus and method for multi-cloud service platform
WO2020158452A1 (ja) 仮想化基盤および仮想化基盤のスケーリング管理方法
JP7077867B2 (ja) ネットワークサービス管理装置、ネットワークサービス管理方法およびネットワークサービス管理プログラム
EP3516517B1 (en) Service location management in computing systems
US9049101B2 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
CN113206877A (zh) 一种会话保持方法及装置
EP3319298B1 (en) Method and apparatus for sharing license resource between multiple virtual network functions
CN107645396B (zh) 一种集群扩容方法及装置
JP7014130B2 (ja) 負荷平準化装置、負荷平準化方法および負荷平準化プログラム
US10678558B2 (en) Initializing a bare-metal host to an operational hypervisor
KR100893601B1 (ko) 가상화 어플라이언스를 활용한 소프트웨어 벤딩머신에서의서비스 프로비저닝 시스템 및 방법
US20220027137A1 (en) Automatically orchestrating deployments of software-defined storage stacks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101210

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130308

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: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130415

R150 Certificate of patent or registration of utility model

Ref document number: 5262724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150