[実施の形態1]
図1に、データセンターのネットワーク構成例を示す。データセンターは、クラウドサービスを提供する。データセンターでは、複数の物理サーバ101がLAN(Local Area Network)に接続されている。各物理サーバ101は、FW(Firewall)兼ルーター103を介してインターネットと通信を行う。
物理サーバ101は、CPU(Central Processing Unit)及びメモリなどの物理的資源を有している。物理サーバ101では、ハイパーバイザの管理の下、仮想サーバ(仮想マシンとも呼ぶ)が動作する。また、仮想サーバ上では、クラウドユーザが利用するアプリケーションプログラムが実行される。
図2に、クラウドユーザの例を示す。この例では、金融業者(以下、金融機関という。)である「A銀行」、「B銀行」、「C金庫」及び「D金庫」と、交通業者である「E鉄道」、「F鉄道」、「Gバス」及び「Hバス」と、流通業者である「Iデパート」、「Jデパート」、「Kストア」及び「Lストア」の各ユーザは、各ユーザの端末からデータセンターにアクセスし、各ユーザ向けアプリケーションを利用する。
「A銀行」が利用するサービスを提供するアプリケーションを「A銀行向けアプリケーション」という。以下同様に、「B銀行」が利用するサービスを提供するアプリケーションを「B銀行向けアプリケーション」という。「C金庫」が利用するサービスを提供するアプリケーションを「C金庫向けアプリケーション」という。「D金庫」が利用するサービスを提供するアプリケーションを「D金庫向けアプリケーション」という。「E鉄道」が利用するサービスを提供するアプリケーションを「E鉄道向けアプリケーション」という。「F鉄道」が利用するサービスを提供するアプリケーションを「F鉄道向けアプリケーション」という。「Gバス」が利用するサービスを提供するアプリケーションを「Gバス向けアプリケーション」という。「Hバス」が利用するサービスを提供するアプリケーションを「Hバス向けアプリケーション」という。「Iデパート」が利用するサービスを提供するアプリケーションを「Iデパート向けアプリケーション」という。「Jデパート」が利用するサービスを提供するアプリケーションを「Jデパート向けアプリケーション」という。「Kストア」が利用するサービスを提供するアプリケーションを「Kストア向けアプリケーション」という。「Lストア」が利用するサービスを提供するアプリケーションを「Lストア向けアプリケーション」という。
例えば、「A銀行向けアプリケーション」、「B銀行向けアプリケーション」、「C金庫向けアプリケーション」及び「D金庫向けアプリケーション」には、「金融取引」のサービスが含まれる。「金融取引」への需要の増加は、金融機関のトラブルや金融界の信用不安などの予兆を示すことがある。
例えば、「E鉄道向けアプリケーション」、「F鉄道向けアプリケーション」、「Gバス向けアプリケーション」及び「Hバス向けアプリケーション」には、特定地域の「運行案内」のサービスが含まれる。特定地域の「運行案内」への需要の増加は、その地域の交通麻痺などの予兆を示すことがある。
この例で、「A銀行」、「C金庫」、「E鉄道」、「Gバス」、「Iデパート」及び「Kストア」は、「X地域」に存在する。また、「B銀行」、「D金庫」、「F鉄道」、「Hバス」、「Jデパート」及び「Lストア」は、「Y地域」に存在する。
次に、各ユーザ向けアプリケーションについての基準データについて説明する。図3に、基準データテーブルの例を示す。基準データは、リソース量の基準及び稼動状況の基準となるデータである。基準データテーブルは、アプリケーションについてのレコードを有している。レコードは、アプリケーション名、CPU時間、メモリ使用量、トランザクション量及びネットワーク通信量のフィールドを有している。アプリケーション名のフィールドには、アプリケーションの名前が設定される。CPU時間のフィールドには、アプリケーションプログラムにおけるCPU時間の基準が設定される。メモリ使用量のフィールドには、アプリケーションプログラムにおけるメモリ使用量の基準が設定される。トランザクション量のフィールドには、アプリケーションプログラムにおけるトランザクション量の基準が設定される。ネットワーク通信量のフィールドには、アプリケーションプログラムにおけるネットワーク通信量の基準が設定される。
尚、この例では、演算量に関するパラメータとしてCPU時間を用いているが、CPU時間に代えて、CPU数あるいはコア数を用いるようにしてもよい。
基準データは、例えば運用開始時までに設定される。また、基準データは、運用結果に基づいて自動的に学習して最適化されるようにしてもよい。基準データは、ユーザとクラウド事業者との契約に基づいて設定されるようにしてもよい。
第1レコードは、「A銀行向けアプリケーション」についての基準を定めている。図示するように、「A銀行向けアプリケーション」の基準となるCPU時間は、「Sa(C)」である。同じく「A銀行向けアプリケーション」の基準となるメモリ使用量は、「Sa(M)」である。同じく「A銀行向けアプリケーション」の基準となるトランザクション量は、「Sa(T)」である。同じく「A銀行向けアプリケーション」の基準となるネットワーク通信量は、「Sa(N)」である。
第2レコードは、「B銀行向けアプリケーション」についての基準を定めている。図示するように、「B銀行向けアプリケーション」の基準となるCPU時間は、「Sb(C)」である。同じく「B銀行向けアプリケーション」の基準となるメモリ使用量は、「Sb(M)」である。同じく「B金庫向けアプリケーション」の基準となるトランザクション量は、「Sb(T)」である。同じく「B銀行向けアプリケーション」の基準となるネットワーク通信量は、「Sb(N)」である。
第3レコードは、「C金庫向けアプリケーション」についての基準を定めている。図示するように、「C金庫向けアプリケーション」の基準となるCPU時間は、「Sc(C)」である。同じく「C金庫向けアプリケーション」の基準となるメモリ使用量は、「Sc(M)」である。同じく「C金庫向けアプリケーション」の基準となるトランザクション量は、「Sc(T)」である。同じく「C金庫向けアプリケーション」の基準となるネットワーク通信量は、「Sc(N)」である。
第4レコードは、「D金庫向けアプリケーション」についての基準を定めている。図示するように、「D金庫向けアプリケーション」の基準となるCPU時間は、「Sd(C)」である。同じく「D金庫向けアプリケーション」の基準となるメモリ使用量は、「Sd(M)」である。同じく「D金庫向けアプリケーション」の基準となるトランザクション量は、「Sd(T)」である。同じく「D金庫向けアプリケーション」の基準となるネットワーク通信量は、「Sd(N)」である。
第5レコードは、「E鉄道向けアプリケーション」についての基準を定めている。図示するように、「E鉄道向けアプリケーション」の基準となるCPU時間は、「Se(C)」である。同じく「E鉄道向けアプリケーション」の基準となるメモリ使用量は、「Se(M)」である。同じく「E鉄道向けアプリケーション」の基準となるトランザクション量は、「Se(T)」である。同じく「E鉄道向けアプリケーション」の基準となるネットワーク通信量は、「Se(N)」である。
第6レコードは、「F鉄道向けアプリケーション」についての基準を定めている。図示するように、「F鉄道向けアプリケーション」の基準となるCPU時間は、「Sf(C)」である。同じく「F鉄道向けアプリケーション」の基準となるメモリ使用量は、「Sf(M)」である。同じく「F鉄道向けアプリケーション」の基準となるトランザクション量は、「Sf(T)」である。同じく「F鉄道向けアプリケーション」の基準となるネットワーク通信量は、「Sf(N)」である。
第7レコードは、「Gバス向けアプリケーション」についての基準を定めている。図示するように、「Gバス向けアプリケーション」の基準となるCPU時間は、「Sg(C)」である。同じく「Gバス向けアプリケーション」の基準となるメモリ使用量は、「Sg(M)」である。同じく「Gバス向けアプリケーション」の基準となるトランザクション量は、「Sg(T)」である。同じく「Gバス向けアプリケーション」の基準となるネットワーク通信量は、「Sg(N)」である。
第8レコードは、「Hバス向けアプリケーション」についての基準を定めている。図示するように、「Hバス向けアプリケーション」の基準となるCPU時間は、「Sh(C)」である。同じく「Hバス向けアプリケーション」の基準となるメモリ使用量は、「Sh(M)」である。同じく「Hバス向けアプリケーション」の基準となるトランザクション量は、「Sh(T)」である。同じく「Hバス向けアプリケーション」の基準となるネットワーク通信量は、「Sh(N)」である。
第9レコードは、「Iデパート向けアプリケーション」についての基準を定めている。図示するように、「Iデパート向けアプリケーション」の基準となるCPU時間は、「Si(C)」である。同じく「Iデパート向けアプリケーション」の基準となるメモリ使用量は、「Si(M)」である。同じく「Iデパート向けアプリケーション」の基準となるトランザクション量は、「Si(T)」である。同じく「Iデパート向けアプリケーション」の基準となるネットワーク通信量は、「Si(N)」である。
第10レコードは、「Jデパート向けアプリケーション」についての基準を定めている。図示するように、「Jデパート向けアプリケーション」の基準となるCPU時間は、「Sj(C)」である。同じく「Jデパート向けアプリケーション」の基準となるメモリ使用量は、「Sj(M)」である。同じく「Jデパート向けアプリケーション」の基準となるトランザクション量は、「Sj(T)」である。同じく「Jデパート向けアプリケーション」の基準となるネットワーク通信量は、「Sj(N)」である。
第11レコードは、「Kストア向けアプリケーション」についての基準を定めている。図示するように、「Kストア向けアプリケーション」の基準となるCPU時間は、「Sk(C)」である。同じく「Kストア向けアプリケーション」の基準となるメモリ使用量は、「Sk(M)」である。同じく「Kストア向けアプリケーション」の基準となるトランザクション量は、「Sk(T)」である。同じく「Kストア向けアプリケーション」の基準となるネットワーク通信量は、「Sk(N)」である。
第12レコードは、「Lストア向けアプリケーション」についての基準を定めている。図示するように、「Lストア向けアプリケーション」の基準となるCPU時間は、「Sl(C)」である。同じく「Lストア向けアプリケーション」の基準となるメモリ使用量は、「Sl(M)」である。同じく「Lストア向けアプリケーション」の基準となるトランザクション量は、「Sl(T)」である。同じく「Lストア向けアプリケーション」の基準となるネットワーク通信量は、「Sl(N)」である。以上で、基準データについての説明を終える。
本実施の形態では、突発事象を予測して、突発事象に応じて全体として適正なリソースの運用を図る。まず、突発事象が生じていない通常モードにおけるリソースの割り当てについて説明する。
図4に、通常モードにおける割り当てルールテーブルの例を示す。割り当てルールテーブルは、ユーザ向けアプリケーションについてのレコードを有している。レコードは、アプリケーション名、保証方式、CPU時間及びメモリ使用量のフィールドを有している。アプリケーション名のフィールドには、ユーザ向けアプリケーションの名前が設定される。保証方式のフィールドには、品質保証型とベストエフォート型とのいずれかが設定される。品質保証型では、アプリケーションプログラムに対して所定のリソースを保証する。ベストエフォート型では、アプリケーションプログラムに対して所定のリソースを保証しない。但し、ベストエフォート型で、良好な状態を前提としてリソースを保証するようにしてもよい。割り当てルールテーブルは、ユーザとクラウド事業者との契約に基づいて設定されるようにしてもよい。
CPU時間のフィールドには、アプリケーションプログラムに対して保証されるCPU時間が、基準となるCPU時間の倍数で設定される。メモリ使用量のフィールドには、アプリケーションプログラムに対して保証されるメモリ使用量が、基準となるメモリ使用量の倍数で設定される。
第1レコードは、「A銀行向けアプリケーション」に対して、CPU時間を基準の2倍まで、更にメモリ使用量も基準の2倍まで保証することを示している。
更に、第2レコードに示した「B銀行向けアプリケーション」、第3レコードに示した「C金庫向けアプリケーション」、第4レコードに示した「D金庫向けアプリケーション」、第5レコードに示した「E鉄道向けアプリケーション」及び第6レコードに示した「F鉄道向けアプリケーション」も、同様に、CPU時間を基準の2倍まで、更にメモリ使用量も基準の2倍まで保証される。
第7レコードは、「Gバス向けアプリケーション」が、ベストエフォート型で運用されることを示している。この例で、ベストエフォート型で運用される場合には、CPU時間の保証範囲とメモリ使用量の保証範囲を定めていない。ただし、ベストエフォート型で運用される場合にも、良好な状態を前提として、CPU時間の保証範囲とメモリ使用量の保証範囲を定めるようにしてもよい。
更に、第8レコードに示した「Hバス向けアプリケーション」、第9レコードに示した「Iデパート向けアプリケーション」、第10レコードに示した「Jデパート向けアプリケーション」、第11レコードに示した「Kストア向けアプリケーション」及び第12レコードに示した「Lストア向けアプリケーション」も、同様に、ベストエフォート型で運用される。
図5に、通常モードにおけるクラウドシステムの稼動イメージの例を示す。矩形501は、物理リソースを模式的に示している。物理リソースは、データセンターが供給するハードウエア(例えば、物理サーバ101が保持するCPUあるいはメモリなど)の機能及び能力に相当する。矩形501の横幅が、物理リソースの量に相当する。
矩形503は、全体リソースプールを模式的に示している。全体リソースプールは、物理リソースのうち、仮想サーバに割り当てられるリソースを一元的に管理する。矩形503の横幅が、リソースプールが保持するリソースの量に相当する。
矩形505は、管理システムを模式的に示している。管理システムは、仮想サーバ群を管理する装置である。この例では、管理システムも仮想マシン上で実現される。従って、管理システムも物理リソースの一部を利用している。矩形505の横幅が、管理システムが利用するリソースの量に相当する。
矩形507は、休止リソースを模式的に示している。休止リソースは、物理リソースのうち、リソースプールにも管理システムにも割り当てられていないリソースである。矩形507の横幅が、休止リソースの量に相当する。
本実施の形態では、全体リソースプールを、品質保証用リソースプールとベストエフォート用リソースプールとに分けて運用する。品質保証用リソースプールから提供されるリソースと、ベストエフォート用リソースプールから提供されるリソースとは重複しない。つまり、品質保証用リソースプールを介して、ベストエフォート用リソースプールが管理するリソースが提供されることはない。また、ベストエフォート用リソースプールを介して、品質保証用リソースプールが管理するリソースが提供されることはない。
矩形509は、品質保証用リソースプールを模式的に示している。品質保証用リソースプールは、品質保証用仮想サーバにリソースを提供する。品質保証用仮想サーバは、品質保証型のアプリケーションプログラムを動作させるための仮想サーバである。品質保証用仮想サーバ上で、ベストエフォート型のアプリケーションプログラムが動作することはない。
品質保証型のアプリケーションプログラムに対して保証されるリソースは、品質保証用リソースプールで確保される。例えば、品質保証型のアプリケーションプログラムは、当該アプリケーションプログラムに対して保証されるリソースを占有する品質保証用仮想サーバ上で実行される。
矩形521は、「A銀行向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形521の横幅が、「A銀行向けアプリケーション」が用いるリソース量の基準Saに相当する。この図において、リソースの種類は特定していない。基準Saは、例えば図3に示したCPU時間の基準Sa(C)及びメモリ使用量の基準Sa(M)を包括するイメージである。
破線の範囲523は、「A銀行向けアプリケーション」に対して保証されるリソース量の基準を模式的に示している。破線の範囲523の横幅が、「A銀行向けアプリケーション」に対して保証されるリソース量に相当する。この例では、基準Saの2倍のリソース量が保証されている。保証されるリソース量は、図4に示した通常モードにおける「A銀行向けアプリケーション」の割り当てルールに基づいて求められる。
保証されるリソース量は、「A銀行向けアプリケーション」で占有されるようにする。例えば、「A銀行向けアプリケーション」のために、基準Sa(C)の2倍に相当するCPU時間が確保され、基準Sa(M)の2倍に相当するメモリ使用量が確保される。
矩形525は、「B銀行向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形525の横幅が、「B銀行向けアプリケーション」が用いるリソース量の基準Sbに相当する。前述と同様に、リソースの種類は特定していない。基準Sbは、例えば図3に示したCPU時間の基準Sb(C)及びメモリ使用量の基準Sb(M)を包括するイメージである。
破線の範囲527は、「B銀行向けアプリケーション」に対して保証されるリソース量の基準を模式的に示している。破線の範囲527の横幅が、「B銀行向けアプリケーション」に対して保証されるリソース量に相当する。この例では、基準Sbの2倍のリソース量が保証されている。保証されるリソース量は、図4に示した通常モードにおける「B銀行向けアプリケーション」の割り当てルールに基づいて求められる。
保証されるリソース量は、「B銀行向けアプリケーション」で占有されるようにする。例えば、「B銀行向けアプリケーション」のために、基準Sb(C)の2倍に相当するCPU時間が確保され、基準Sb(M)の2倍に相当するメモリ使用量が確保される。
矩形529は、「C金庫向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形529の横幅が、「C金庫向けアプリケーション」が用いるリソース量の基準Scに相当する。前述と同様に、リソースの種類は特定していない。基準Scは、例えば図3に示したCPU時間の基準Sc(C)及びメモリ使用量の基準Sc(M)を包括するイメージである。
破線の範囲531は、「C金庫向けアプリケーション」に対して保証されるリソース量の基準を模式的に示している。破線の範囲531の横幅が、「C金庫向けアプリケーション」に対して保証されるリソース量に相当する。この例では、基準Scの2倍のリソース量が保証されている。保証されるリソース量は、図4に示した通常モードにおける「C金庫向けアプリケーション」の割り当てルールに基づいて求められる。
保証されるリソース量は、「C金庫向けアプリケーション」で占有されるようにする。例えば、「C金庫向けアプリケーション」のために、基準Sc(C)の2倍に相当するCPU時間が確保され、基準Sc(M)の2倍に相当するメモリ使用量が確保される。
矩形533は、「D金庫向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形533の横幅が、「D金庫向けアプリケーション」が用いるリソース量の基準Sdに相当する。前述と同様に、リソースの種類は特定していない。基準Sdは、例えば図3に示したCPU時間の基準Sd(C)及びメモリ使用量の基準Sd(M)を包括するイメージである。
破線の範囲535は、「D金庫向けアプリケーション」に対して保証されるリソース量の基準を模式的に示している。破線の範囲535の横幅が、「D金庫向けアプリケーション」に対して保証されるリソース量に相当する。この例では、基準Sdの2倍のリソース量が保証されている。保証されるリソース量は、図4に示した通常モードにおける「D金庫向けアプリケーション」の割り当てルールに基づいて求められる。
保証されるリソース量は、「D金庫向けアプリケーション」で占有されるようにする。例えば、「D金庫向けアプリケーション」のために、基準Sd(C)の2倍に相当するCPU時間が確保され、基準Sd(M)の2倍に相当するメモリ使用量が確保される。
矩形537は、「E鉄道向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形537の横幅が、「E鉄道向けアプリケーション」が用いるリソース量の基準Seに相当する。前述と同様に、リソースの種類は特定していない。基準Seは、例えば図3に示したCPU時間の基準Se(C)及びメモリ使用量の基準Se(M)を包括するイメージである。
破線の範囲539は、「E鉄道向けアプリケーション」に対して保証されるリソース量の基準を模式的に示している。破線の範囲539の横幅が、「E鉄道向けアプリケーション」に対して保証されるリソース量に相当する。この例では、基準Seの2倍のリソース量が保証されている。保証されるリソース量は、図4に示した通常モードにおける「E鉄道向けアプリケーション」の割り当てルールに基づいて求められる。
保証されるリソース量は、「E鉄道向けアプリケーション」で占有されるようにする。例えば、「E鉄道向けアプリケーション」のために、基準Se(C)の2倍に相当するCPU時間が確保され、基準Se(M)の2倍に相当するメモリ使用量が確保される。
矩形541は、「F鉄道向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形541の横幅が、「F鉄道向けアプリケーション」が用いるリソース量の基準Sfに相当する。前述と同様に、リソースの種類は特定していない。基準Sfは、例えば図3に示したCPU時間の基準Sf(C)及びメモリ使用量の基準Sf(M)を包括するイメージである。
破線の範囲543は、「F鉄道向けアプリケーション」に対して保証されるリソース量の基準を模式的に示している。破線の範囲543の横幅が、「F鉄道向けアプリケーション」に対して保証されるリソース量に相当する。この例では、基準Sfの2倍のリソース量が保証されている。保証されるリソース量は、図4に示した通常モードにおける「F鉄道向けアプリケーション」の割り当てルールに基づいて求められる。
保証されるリソース量は、「F鉄道向けアプリケーション」で占有されるようにする。例えば、「F鉄道向けアプリケーション」のために、基準Sf(C)の2倍に相当するCPU時間が確保され、基準Sf(M)の2倍に相当するメモリ使用量が確保される。
以上のように、品質保証用リソースプールは、破線の範囲523で示した「A銀行向けアプリケーション」に対して保証されるリソース量、破線の範囲527で示した「B銀行向けアプリケーション」に対して保証されるリソース量、破線の範囲531で示した「C金庫向けアプリケーション」に対して保証されるリソース量、破線の範囲535で示した「D金庫向けアプリケーション」に対して保証されるリソース量、破線の範囲539で示した「E鉄道向けアプリケーション」に対して保証されるリソース量及び破線の範囲543で示した「F鉄道向けアプリケーション」に対して保証されるリソース量の合計に相当するリソースを確保している。
一方、矩形511は、ベストエフォート用リソースプールを模式的に示している。ベストエフォート用リソースプールは、ベストエフォート用仮想サーバにリソースを提供する。ベストエフォート用仮想サーバは、ベストエフォート型のアプリケーションプログラムを動作させるための仮想サーバである。但し、仮に品質保証型のアプリケーションプログラムのためのリソースが不足する場合には、ベストエフォート用リソースプールのリソースが品質保証型のアプリケーションプログラムに割り当てられることがある。例えば、品質保証型のアプリケーションプログラムの一部を、ベストエフォート用仮想サーバ上で動作させることもある。
矩形551は、「Gバス向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形551の横幅が、「Gバス向けアプリケーション」が用いるリソース量の基準Sgに相当する。前述と同様に、リソースの種類は特定していない。基準Sgは、例えば図3に示したCPU時間の基準Sg(C)及びメモリ使用量の基準Sg(M)を包括するイメージである。
「Gバス向けアプリケーション」は、ベストエフォート型であるので、保証に対応するリソース量を確保していない。但し、「Gバス向けアプリケーション」に対して所定のリソース量を予備的に確保するようにしてもよい。
矩形553は、「Hバス向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形553の横幅が、「Hバス向けアプリケーション」が用いるリソース量の基準Shに相当する。前述と同様に、リソースの種類は特定していない。基準Shは、例えば図3に示したCPU時間の基準Sh(C)及びメモリ使用量の基準Sh(M)を包括するイメージである。
「Hバス向けアプリケーション」は、ベストエフォート型であるので、保証に対応するリソース量を確保していない。前述と同様に、「Hバス向けアプリケーション」に対して所定のリソース量を予備的に確保するようにしてもよい。
矩形555は、「Iデパート向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形555の横幅が、「Iデパート向けアプリケーション」が用いるリソース量の基準Siに相当する。前述と同様に、リソースの種類は特定していない。基準Siは、例えば図3に示したCPU時間の基準Si(C)及びメモリ使用量の基準Si(M)を包括するイメージである。
「Iデパート向けアプリケーション」は、ベストエフォート型であるので、保証に対応するリソース量を確保していない。前述と同様に、「Iデパート向けアプリケーション」に対して所定のリソース量を予備的に確保するようにしてもよい。
矩形557は、「Jデパート向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形557の横幅が、「Jデパート向けアプリケーション」が用いるリソース量の基準Sjに相当する。前述と同様に、リソースの種類は特定していない。基準Sjは、例えば図3に示したCPU時間の基準Sj(C)及びメモリ使用量の基準Sj(M)を包括するイメージである。
「Jデパート向けアプリケーション」は、ベストエフォート型であるので、保証に対応するリソース量を確保していない。前述と同様に、「Jデパート向けアプリケーション」に対して所定のリソース量を予備的に確保するようにしてもよい。
矩形559は、「Kストア向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形559の横幅が、「Kストア向けアプリケーション」が用いるリソース量の基準Skに相当する。前述と同様に、リソースの種類は特定していない。基準Skは、例えば図3に示したCPU時間の基準Sk(C)及びメモリ使用量の基準Sk(M)を包括するイメージである。
「Kストア向けアプリケーション」は、ベストエフォート型であるので、保証に対応するリソース量を確保していない。前述と同様に、「Kストア向けアプリケーション」に対して所定のリソース量を予備的に確保するようにしてもよい。
矩形561は、「Lストア向けアプリケーション」が用いるリソース量の基準を模式的に示している。矩形561の横幅が、「Lストア向けアプリケーション」が用いるリソース量の基準Slに相当する。前述と同様に、リソースの種類は特定していない。基準Slは、例えば図3に示したCPU時間の基準Sl(C)及びメモリ使用量の基準Sl(M)を包括するイメージである。
「Lストア向けアプリケーション」は、ベストエフォート型であるので、保証に対応するリソース量を確保していない。前述と同様に、「Lストア向けアプリケーション」に対して所定のリソース量を予備的に確保するようにしてもよい。
以上のように、品質保証用リソースプールは、矩形551で示した「Gバス向けアプリケーション」の基準相当のリソース量、矩形553で示した「Hバス向けアプリケーション」の基準相当のリソース量、矩形555で示した「Iデパート向けアプリケーション」の基準相当のリソース量、矩形557で示した「Jデパート向けアプリケーション」の基準相当のリソース量、矩形559で示した「Kストア向けアプリケーション」の基準相当のリソース量及び矩形561で示した「Lストア向けアプリケーション」の基準相当のリソース量の合計と予備に相当するリソースとを確保している。以上で、通常モードについての説明を終える。
続いて、突発事象の例について説明する。図6に、突発事象の例を示す。この例では、「金融機関のトラブル」、「金融界の信用不安」、「X地域の交通麻痺」及び「Y地域の交通麻痺」の4つの突発事象を想定する。
この例で、「金融機関のトラブル」は、特定の金融機関における一部機能(例えば、ATM機能)の障害が発生している状態を指している。この例によれば、「A銀行のトラブル」、「B銀行のトラブル」、「C金庫のトラブル」及び「D金庫のトラブル」の4つの態様が起こり得る。但し、「金融機関のトラブル」は、他の金融機関及び他の事業者(例えば、交通業者や流通業者)の活動への影響は限定的である。
この例で、「金融界の信用不安」は、経済状況の悪化などにより、広く金融機関への信用度が低下している状態を指す。「金融界の信用不安」は、金融機関の全般に影響を及ぼし、預金の引き出しなど多くの取引を生じさせる。この例で「金融界の信用不安」となった場合には、「A銀行」、「B銀行」、「C金庫」及び「D金庫」における取引の増加が予想される。但し、他の事業者(例えば、交通業者や流通業者)の活動への影響は限定的である。
この例で、「X地域の交通麻痺」は、「X地域」の悪天候や事故などにより、「X地域」における交通の一部が停止している状態を指す。「X地域の交通麻痺」は、「X地域」の交通業者である「E鉄道」と「Gバス」の活動に大きな影響を及ぼす。但し、「X地域の交通麻痺」は、「X地域」の他の事業者(「A銀行」、「C金庫」、「Iデパート」及び「Kストア」)の活動への影響は限定的である。
この例で、「Y地域の交通麻痺」は、「Y地域」の悪天候や事故などにより、「Y地域」における交通の一部が停止している状態を指す。「Y地域の交通麻痺」は、「Y地域」の交通業者である「F鉄道」と「Hバス」の活動に大きな影響を及ぼす。但し、「Y地域の交通麻痺」は、「Y地域」の他の事業者(「B銀行」、「D金庫」、「Jデパート」及び「Lストア」)の活動への影響は限定的である。
図6の矢印で示したように、「通常モード」から「金融機関のトラブル」のモードに遷移することが想定される。更に、「通常モード」から「金融界の信用不安」のモードに遷移することも想定される。「通常モード」から「X地域の交通麻痺」のモードに遷移することも想定される。更に、「通常モード」から「Y地域の交通麻痺」のモードに遷移することも想定される。
以下、各突発事象に応じたリソースの運用について説明する。まず、「金融機関のトラブル」に応じたリソースの運用について説明する。図7に、「金融機関のトラブル」発生時における割り当てルールテーブルの例を示す。図7は、図4と同様に、テーブル形式で割り当てルールを示す。テーブルの構成は、図4と同様である。突発事象に対応する割り当てルールテーブルは、ユーザとクラウド事業者との契約に基づいて設定されるようにしてもよい。
第1レコードは、「A銀行向けアプリケーション」に対して、CPU時間を基準の4倍まで、更にメモリ使用量も基準の4倍まで保証されることを示している。この保証範囲は、通常モードにおける保証範囲の2倍に相当する。
第2レコードに示した「B銀行向けアプリケーション」、第3レコードに示した「C金庫向けアプリケーション」、第4レコードに示した「D金庫向けアプリケーション」、第5レコードに示した「E鉄道向けアプリケーション」及び第6レコードに示した「F鉄道向けアプリケーション」も、図4に示した通常モードと同様に、CPU時間を基準の2倍まで、更にメモリ使用量も基準の2倍まで保証される。
第7レコードに示した「Gバス向けアプリケーション」、第8レコードに示した「Hバス向けアプリケーション」、第9レコードに示した「Iデパート向けアプリケーション」、第10レコードに示した「Jデパート向けアプリケーション」、第11レコードに示した「Kストア向けアプリケーション」及び第12レコードに示した「Lストア向けアプリケーション」も、通常モードと同様に、ベストエフォート型で運用される。
図8に、「金融機関のトラブル」発生時におけるクラウドシステムの稼動イメージの例を示す。矩形501に示した物理リソース及び矩形505に示した管理システムについては、図5と同様である。
図5に示した通常モードにおけるクラウドシステムの稼動イメージと比較すると、破線の範囲825に示した「A銀行向けアプリケーション」に対して保証されるリソース量が2倍に増えている。矢印823は、予兆に相当するリソース量の増加のイメージを示している。
破線の範囲829に示した「B銀行向けアプリケーション」に対して保証されるリソース量は、図5における破線の範囲527に示した通常モードにおけるリソース量と同等である。以下同様に、破線の範囲833に示した「C金庫向けアプリケーション」に対して保証されるリソース量は、図5における破線の範囲531に示した通常モードにおけるリソース量と同等である。破線の範囲837に示した「D金庫向けアプリケーション」に対して保証されるリソース量は、図5における破線の範囲535に示した通常モードにおけるリソース量と同等である。破線の範囲841に示した「E鉄道向けアプリケーション」に対して保証されるリソース量は、図5における破線の範囲539に示した通常モードにおけるリソース量と同等である。更に、破線の範囲845に示した「F鉄道向けアプリケーション」に対して保証されるリソース量は、図5における破線の範囲543に示した通常モードにおけるリソース量と同等である。
尚、矩形821に示した「A銀行向けアプリケーション」が用いるリソース量は、基準Saに相当するので、図5における矩形521に示した通常モードにおけるリソース量と変わらない。以下同様に、矩形827に示した「B銀行向けアプリケーション」が用いるリソース量は、基準Sbに相当するので、図5における矩形525に示した通常モードにおけるリソース量と変わらない。矩形831に示した「C金庫向けアプリケーション」が用いるリソース量は、基準Scに相当するので、図5における矩形529に示した通常モードにおけるリソース量と変わらない。矩形835に示した「D金庫向けアプリケーション」が用いるリソース量は、基準Sdに相当するので、図5における矩形533に示した通常モードにおけるリソース量と変わらない。矩形839に示した「E鉄道向けアプリケーション」が用いるリソース量は、基準Seに相当するので、図5における矩形537に示した通常モードにおけるリソース量と変わらない。更に、矩形843に示した「F鉄道向けアプリケーション」が用いるリソース量は、基準Sfに相当するので、図5における矩形541に示した通常モードにおけるリソース量と変わらない。
破線の範囲825に示した「A銀行向けアプリケーション」に対して保証されるリソース量が増えた分、矩形809に示した品質保証用リソースプールにおけるリソースの量が増えている。
また、矩形851に示した「Gバス向けアプリケーション」が用いるリソース量は、基準Sgに相当するので、図5における矩形551に示した通常モードにおけるリソース量と変わらない。以下同様に、矩形853に示した「Hバス向けアプリケーション」が用いるリソース量は、基準Shに相当するので、図5における矩形553に示した通常モードにおけるリソース量と変わらない。矩形855に示した「Iデパート向けアプリケーション」が用いるリソース量は、基準Siに相当するので、図5における矩形555に示した通常モードにおけるリソース量と変わらない。矩形857に示した「Jデパート向けアプリケーション」が用いるリソース量は、基準Sjに相当するので、図5における矩形557に示した通常モードにおけるリソース量と変わらない。矩形859に示した「Kストア向けアプリケーション」が用いるリソース量は、基準Skに相当するので、図5における矩形559に示した通常モードにおけるリソース量と変わらない。更に、矩形861に示した「Lストア向けアプリケーション」が用いるリソース量は、基準Slに相当するので、図5における矩形561に示した通常モードにおけるリソース量と変わらない。
従って、矩形811に示したベストエフォート用リソースプールにおけるリソースの量は、図5における矩形511に示した通常モードにおけるリソース量と変わらない。
矩形803に示した全体リソースプールにおけるリソースの量は、破線の範囲825に示した「A銀行向けアプリケーション」に対して保証されるリソース量が増えた分だけ増えている。また、矩形807に示した休止リソースは、同じ分だけ減っている。
このように、「金融機関のトラブル」発生時には、いずれのアプリケーションプログラムも除外されることなく、実行状態を継続させる。以上で、「金融機関のトラブル」に応じたリソースの運用についての説明を終える。
続いて、「金融界の信用不安」に応じたリソースの運用について説明する。図9に、「金融界の信用不安」発生時における割り当てルールテーブルの例を示す。テーブルの構成は、図4及び図7と同様である。
第1レコードは、図7に示した「金融機関のトラブル」の場合と同様に「A銀行向けアプリケーション」に対して、CPU時間が基準の4倍まで、更にメモリ使用量も基準の4倍まで保証されることを示している。この保証範囲は、通常モードにおける保証範囲の2倍に相当する。
「金融界の信用不安」の場合は、他の金融機関における保証範囲も拡大する。第2レコードは、「B銀行向けアプリケーション」に対して、CPU時間が基準の4倍まで、更にメモリ使用量も基準の4倍まで保証されることを示している。この保証範囲は、通常モードにおける保証範囲の2倍に相当する。以下同様に、第3レコードは、「C金庫向けアプリケーション」に対して、CPU時間が基準の4倍まで、更にメモリ使用量も基準の4倍まで保証されることを示している。この保証範囲は、通常モードにおける保証範囲の2倍に相当する。第4レコードは、「D金庫向けアプリケーション」に対して、CPU時間が基準の4倍まで、更にメモリ使用量も基準の4倍まで保証されることを示している。この保証範囲は、通常モードにおける保証範囲の2倍に相当する。
この例で、「E鉄道」及び「F鉄道」は、「金融界の信用不安」に応じて自身のアプリケーションプログラムをベストエフォートに切り替えることに同意している。そのため、第5レコードに示した「E鉄道向けアプリケーション」及び、第6レコードに示した「F鉄道向けアプリケーション」は、ベストエフォート型で運用される。
第7レコードに示した「Gバス向けアプリケーション」、第8レコードに示した「Hバス向けアプリケーション」、第9レコードに示した「Iデパート向けアプリケーション」、第10レコードに示した「Jデパート向けアプリケーション」、第11レコードに示した「Kストア向けアプリケーション」及び第12レコードに示した「Lストア向けアプリケーション」も、通常モードと同様に、ベストエフォート型で運用される。
図10に、「金融界の信用不安」発生時におけるクラウドシステムの稼動イメージの例を示す。矩形501に示した物理リソース及び矩形505に示した管理システムについては、図5及び図8と同様である。
図5に示した通常モードにおけるクラウドシステムの稼動イメージと比較すると、破線の範囲1025に示した「A銀行向けアプリケーション」に対して保証されるリソース量が2倍に増えている。矢印1023は、予兆に相当するリソース量の増加のイメージを示している。以下同様に、破線の範囲1031に示した「B銀行向けアプリケーション」に対して保証されるリソース量が2倍に増えている。矢印1029は、予兆に相当するリソース量の増加のイメージを示している。破線の範囲1037に示した「C金庫向けアプリケーション」に対して保証されるリソース量が2倍に増えている。矢印1035は、予兆に相当するリソース量の増加のイメージを示している。破線の範囲1043に示した「D金庫向けアプリケーション」に対して保証されるリソース量が2倍に増えている。矢印1039は、予兆に相当しないリソース量の増加のイメージを示している。この時点で「D金庫向けアプリケーション」には、予兆が現れていない。但し、判定対象のアプリケーションのうち所定の割合で予兆が現れている場合には、「金融界の信用不安」が生じる恐れがあると判断され、予兆が現れていないアプリケーションに対するリソースも拡充される。
図8と同様に、矩形1021に示した「A銀行向けアプリケーション」が用いるリソースは、図5における矩形521に示した通常モードにおけるリソース量と変わらない。以下同様に、矩形1027に示した「B銀行向けアプリケーション」が用いるリソース量は、図5における矩形525に示した通常モードにおけるリソース量と変わらない。矩形1033に示した「C金庫向けアプリケーション」が用いるリソース量は、図5における矩形529に示した通常モードにおけるリソース量と変わらない。更に、矩形1039に示した「D金庫向けアプリケーション」が用いるリソース量は、図5における矩形533に示した通常モードにおけるリソース量と変わらない。
「E鉄道向けアプリケーション」は、品質保証用リソースプールからベストエフォート用リソースプールへ移っている。矩形1051に示した「E鉄道向けアプリケーション」が用いるリソース量は、基準Seに相当する。矩形1053に示した「F鉄道向けアプリケーション」が用いるリソース量は、基準Sfに相当する。
矩形1055に示した「Gバス向けアプリケーション」が用いるリソース量は、基準Sgに相当するので、図5における矩形551に示した通常モードにおけるリソース量と変わらない。以下同様に、矩形1057に示した「Hバス向けアプリケーション」が用いるリソース量は、基準Shに相当するので、図5における矩形553に示した通常モードにおけるリソース量と変わらない。矩形1059に示した「Iデパート向けアプリケーション」が用いるリソース量は、基準Siに相当するので、図5における矩形555に示した通常モードにおけるリソース量と変わらない。矩形1061に示した「Jデパート向けアプリケーション」が用いるリソース量は、基準Sjに相当するので、図5における矩形557に示した通常モードにおけるリソース量と変わらない。
ベストエフォート用リソースプールには、矩形1051に示した「E鉄道向けアプリケーション」、矩形1053に示した「F鉄道向けアプリケーション」、矩形1055に示した「Gバス向けアプリケーション」、矩形1057に示した「Hバス向けアプリケーション」、矩形1059に示した「Iデパート向けアプリケーション」及び矩形1061に示した「Jデパート向けアプリケーション」に提供するリソース以外に残余のリソースがないので、「Kストア向けアプリケーション」及び「Lストア向けアプリケーション」は、除外されている。尚、「Kストア向けアプリケーション」及び「Lストア向けアプリケーション」は、一旦保留され、リソースに余裕が生じた時点で、ベストエフォート用リソースプールのリソースを用いて復帰する。以上で、「金融界の信用不安」に応じたリソースの運用についての説明を終える。
続いて、「X地域の交通麻痺」に応じたリソースの運用について説明する。図11に、「X地域の交通麻痺」発生時における割り当てルールテーブルの例を示す。テーブルの構成は、図4、図7及び図9と同様である。
第1レコードに示した「A銀行向けアプリケーション」、第2レコードに示した「B銀行向けアプリケーション」、第3レコードに示した「C金庫向けアプリケーション」及び第4レコードに示した「D金庫向けアプリケーション」に対して、図4に示した通常モードと同様に、CPU時間が基準の2倍まで、更にメモリ使用量も基準の2倍まで保証される。
第5レコードと第7レコードとは、「X地域」の交通業サービスである「E鉄道向けアプリケーション」及び「Gバス向けアプリケーション」に対して、CPU時間が基準の6倍まで、更にメモリ使用量も基準の6倍まで保証されることを示している。
第6レコードと第8レコードとに示したように、「X地域」以外の交通業サービスである「F鉄道向けアプリケーション」及び「Hバス向けアプリケーション」は、ベストエフォート型で運用される。
第9レコードに示した「Iデパート向けアプリケーション」、第10レコードに示した「Jデパート向けアプリケーション」、第11レコードに示した「Kストア向けアプリケーション」及び第12レコードに示した「Lストア向けアプリケーション」も、通常モードと同様に、ベストエフォート型で運用される。
図12に、「X地域の交通麻痺」発生時におけるクラウドシステムの稼動イメージの例を示す。矩形501に示した物理リソース及び矩形505に示した管理システムについては、図5、図8及び図10と同様である。
矩形1221及び破線の範囲1223に示した「A銀行向けアプリケーション」についてのリソース量については、図5の矩形521及び破線の範囲523に示した通常モードにおける「A銀行向けアプリケーション」のリソース量と同様である。以下同様に、矩形1225及び破線の範囲1227に示した「B銀行向けアプリケーション」についてのリソース量については、図5の矩形525及び破線の範囲527に示した通常モードにおける「B銀行向けアプリケーション」のリソース量と同様である。矩形1229及び破線の範囲1231に示した「C金庫向けアプリケーション」についてのリソース量については、図5の矩形529及び破線の範囲531に示した通常モードにおける「C金庫向けアプリケーション」のリソース量と同様である。矩形1233及び破線の範囲1235に示した「D金庫向けアプリケーション」についてのリソース量については、図5の矩形533及び破線の範囲535に示した通常モードにおける「D金庫向けアプリケーション」のリソース量と同様である。
破線の範囲1241に示した「E鉄道向けアプリケーション」に対して保証されるリソース量が3倍に増えている。矢印1239は、予兆に相当するリソース量の増加のイメージを示している。更に、破線の範囲1247に示した「Gバス向けアプリケーション」に対して保証されるリソース量が3倍に増えている。矢印1245は、予兆に相当しないリソース量の増加のイメージを示している。この時点で「Gバス向けアプリケーション」には、予兆が現れていない。但し、判定対象のアプリケーションのうち所定の割合で予兆が現れている場合には、「X地域の交通麻痺」が生じる恐れがあると判断され、予兆が現れていないアプリケーションに対するリソースも拡充される。
矩形1209に示した品質保証用リソースプールは、破線の範囲1241に示した「E鉄道向けアプリケーション」に対して保証されるリソース量が増えた分、リソースの量が増えている。また、同じく品質保証用リソースプールは、図5の矩形541と破線の範囲543に示した「F鉄道向けアプリケーション」に対して保証されるリソース量が減った分、リソースの量が減っている。更に、同じく品質保証用リソースプールは、矩形1243と破線の範囲1247に示した「Gバス向けアプリケーション」に対して保証されるリソース量が増えた分、リソースの量が増えている。
矩形1251に示した「F鉄道向けアプリケーション」が用いるリソース量は、基準Sfに相当する。矩形1253に示した「Hバス向けアプリケーション」が用いるリソース量は、基準Shに相当するので、図5における矩形553に示した通常モードにおけるリソース量と変わらない。
図5の矩形507に示した休止リソースも全体リソースプールに組み込んでいるが、矩形1209に示した品質保証用リソースプールが大幅に増えているので、破線の範囲1211に示したベストエフォート用リソースプールが適用するリソースは少ない。そのため、「Iデパート向けアプリケーション」、「Jデパート向けアプリケーション」、「Kストア向けアプリケーション」及び「Lストア向けアプリケーション」は、除外されている。尚、「Iデパート向けアプリケーション」、「Jデパート向けアプリケーション」、「Kストア向けアプリケーション」及び「Lストア向けアプリケーション」は、一旦保留され、リソースに余裕が生じた時点で、ベストエフォート用リソースプールのリソースを用いて復帰する。以上で、「X地域の交通麻痺」に応じたリソースの運用についての説明を終える。
続いて、「Y地域の交通麻痺」に応じたリソースの運用について説明する。図13に、「Y地域の交通麻痺」発生時における割り当てルールテーブルの例を示す。テーブルの構成は、図4、図7、図9及び図11と同様である。
第1レコードに示した「A銀行向けアプリケーション」、第2レコードに示した「B銀行向けアプリケーション」、第3レコードに示した「C金庫向けアプリケーション」及び第4レコードに示した「D金庫向けアプリケーション」に対して、図4に示した通常モードと同様に、CPU時間が基準の2倍まで、更にメモリ使用量も基準の2倍まで保証される。
第6レコードと第8レコードとは、「Y地域」の交通業サービスである「F鉄道向けアプリケーション」及び「Hバス向けアプリケーション」に対して、CPU時間が基準の6倍まで、更にメモリ使用量も基準の6倍まで保証されることを示している。
第5レコードと第7レコードとに示したように、「Y地域」以外の交通業サービスである「E鉄道向けアプリケーション」及び「Gバス向けアプリケーション」は、ベストエフォート型で運用される。
第9レコードに示した「Iデパート向けアプリケーション」、第10レコードに示した「Jデパート向けアプリケーション」、第11レコードに示した「Kストア向けアプリケーション」及び第12レコードに示した「Lストア向けアプリケーション」も、通常モードと同様に、ベストエフォート型で運用される。
図14に、「Y地域の交通麻痺」発生時におけるクラウドシステムの稼動イメージの例を示す。矩形501に示した物理リソース及び矩形505に示した管理システムについては、図5、図8、図10及び図12と同様である。
矩形1421及び破線の範囲1423に示した「A銀行向けアプリケーション」についてのリソース量については、図5の矩形521及び破線の範囲523に示した通常モードにおける「A銀行向けアプリケーション」のリソース量と同様である。以下同様に、矩形1425及び破線の範囲1427に示した「B銀行向けアプリケーション」についてのリソース量については、図5の矩形525及び破線の範囲527に示した通常モードにおける「B銀行向けアプリケーション」のリソース量と同様である。矩形1429及び破線の範囲1431に示した「C金庫向けアプリケーション」についてのリソース量については、図5の矩形529及び破線の範囲531に示した通常モードにおける「C金庫向けアプリケーション」のリソース量と同様である。矩形1433及び破線の範囲1435に示した「D金庫向けアプリケーション」についてのリソース量については、図5の矩形533及び破線の範囲535に示した通常モードにおける「D金庫向けアプリケーション」のリソース量と同様である。
破線の範囲1441に示した「F鉄道向けアプリケーション」に対して保証されるリソース量が3倍に増えている。矢印1439は、予兆に相当しないリソース量の増加のイメージを示している。この時点で「F鉄道向けアプリケーション」には、予兆が現れていない。更に、破線の範囲1447に示した「Hバス向けアプリケーション」に対して保証されるリソース量が3倍に増えている。矢印1445は、予兆に相当するリソース量の増加のイメージを示している。判定対象のアプリケーションのうち所定の割合で予兆が現れている場合には、「Y地域の交通麻痺」が生じる恐れがあると判断され、予兆が現れていないアプリケーションに対するリソースも拡充される。
矩形1409に示した品質保証用リソースプールは、破線の範囲1441に示した「F鉄道向けアプリケーション」に対して保証されるリソース量が増えた分、リソースの量が増えている。また、同じく品質保証用リソースプールは、図5の矩形537と破線の範囲539に示した「E鉄道向けアプリケーション」に対して保証されるリソース量が減った分、リソースの量が減っている。更に、同じく品質保証用リソースプールは、矩形1443と破線の範囲1447に示した「Hバス向けアプリケーション」に対して保証されるリソース量が増えた分、リソースの量が増えている。
矩形1451に示した「E鉄道向けアプリケーション」が用いるリソース量は、基準Seに相当する。また、矩形1453に示した「Gバス向けアプリケーション」が用いるリソース量は、基準Sgに相当するので、図5における矩形551に示した通常モードにおけるリソース量と変わらない。
図5の矩形507に示した休止リソースを全体リソースプールに組み込んでいるが、矩形1409に示した品質保証用リソースプールが大幅に増えているので、破線の範囲1411に示したベストエフォート用リソースプールが適用するリソースは少ない。そのため、「Iデパート向けアプリケーション」、「Jデパート向けアプリケーション」、「Kストア向けアプリケーション」及び「Lストア向けアプリケーション」は、除外されている。尚、「Iデパート向けアプリケーション」、「Jデパート向けアプリケーション」、「Kストア向けアプリケーション」及び「Lストア向けアプリケーション」は、一旦保留され、リソースに余裕が生じた時点で、ベストエフォート用リソースプールのリソースを用いて復帰する。以上で、各突発事象のモードに遷移した場合についての説明を終える。
続いて、管理システムについて説明する。図15に、管理システムのモジュール構成例を示す。管理システムは、受信部1501、収集部1503、状態DB1505、判定部1507、パターンテーブル格納部1509、基準データ格納部1511、変更部1513、割り当てルール格納部1515、割り当てデータ記憶部1517、指示部1519及び送信部1521を有する。受信部1501、収集部1503、状態DB1505、判定部1507、パターンテーブル格納部1509、基準データ格納部1511、変更部1513、割り当てルール格納部1515、割り当てデータ記憶部1517、指示部1519及び送信部1521は、例えば図30に示すハードウエア資源によって実現される。また、受信部1501、収集部1503、判定部1507、変更部1513、割り当てルール格納部1515、指示部1519及び送信部1521は、当該モジュールの処理の一部又は全部を、メモリ2501(図30)にロードされたプログラムをCPU2503(図30)で順次実行することにより実現するようにしてもよい。
受信部1501は、物理サーバ101のハイパーバイザから稼動状態データを受信する。収集部1503は、受信部1501を介して、各物理サーバ101のハイパーバイザで管理する稼動状態データを収集する。状態DB1505は、収集した稼動状態データを蓄積する。判定部1507は、突発事象に関わるアプリケーションプログラムの稼動状況が、突発事象の予兆を示すパターンに適合するか否かを判定する。パターンテーブル格納部1509は、突発事象の予兆を示すパターンのテーブルを格納する。
図16に、パターンテーブルの例を示す。パターンテーブルは、突発事象についてのレコードを有している。レコードは、突発事象、事業分野、対象地域、稼動条件及び適合割合の条件のフィールドを有している。事業分野のフィールドには、突発事象に関連する事業分野が設定される。対象地域のフィールドには、各ユーザ向けアプリケーションによるサービスの対象地域を示す。稼動条件のフィールドには、突発事象の予兆に相当する稼動状況を判定するための条件が設定される。この例で、稼動条件は、メモリ使用量、トランザクション量及びネットワーク通信量についての条件を設けている。適合割合の条件のフィールドには、突発事象の予兆に相当する稼動状況に適合するアプリケーションプログラムの割合についての条件が設定される。パターンテーブルは、ユーザとクラウド事業者との契約に基づいて設定されるようにしてもよい。
第1レコードは、「金融界の信用不安」について、「金融業」に属し、「全国」を対象とするサービスを提供するアプリケーションプログラムを判定の対象とすることを示している。更に、第1レコードは、そのアプリケーションプログラムのメモリ使用量が、そのアプリケーションプログラムの基準となるメモリ使用量の1.5倍以上であり、且つそのアプリケーションプログラムのトランザクション量が、そのアプリケーションプログラムの基準となるトランザクション量の1.5倍以上であり、且つそのアプリケーションプログラムのネットワーク通信量が、状態DB1505に蓄積されているそのアプリケーションプログラムにおけるネットワーク通信量の平均に標準偏差の3倍を加えた値以上であることが、稼動条件であることを示している。また、第1レコードは、「70%以上」が、適合するアプリケーションプログラムの割合の条件であることを示している。
第2レコードは、「金融機関のトラブル」について、「金融業」に属するサービスを提供するアプリケーションプログラムを個別に判定の対象とすることを示している。更に、第2レコードは、そのアプリケーションプログラムのメモリ使用量が、そのアプリケーションプログラムの基準となるメモリ使用量の1.5倍以上であり、且つそのアプリケーションプログラムのトランザクション量が、そのアプリケーションプログラムの基準となるトランザクション量の1.5倍以上であり、且つそのアプリケーションプログラムのネットワーク通信量が、状態DB1505に蓄積されているそのアプリケーションプログラムにおけるネットワーク通信量の平均に標準偏差の3倍を加えた値以上であることが、稼動条件であることを示している。また、第2レコードは、「100%」が、適合するアプリケーションプログラムの割合の条件となっているが、個別のアプリケーションプログラムが適合する場合に、その適合により突発事象の予兆であると判定されることを意味している。
第3レコードは、「X地域の交通麻痺」について、「交通業」に属し、「X地域」を対象とするサービスを提供するアプリケーションプログラムを判定の対象とすることを示している。更に、第3レコードは、そのアプリケーションプログラムのメモリ使用量が、そのアプリケーションプログラムの基準となるメモリ使用量の1.5倍以上であり、且つそのアプリケーションプログラムのトランザクション量が、そのアプリケーションプログラムの基準となるトランザクション量の1.5倍以上であり、且つそのアプリケーションプログラムのネットワーク通信量が、状態DB1505に蓄積されているそのアプリケーションプログラムにおけるネットワーク通信量の平均に標準偏差の3倍を加えた値以上であることが、稼動条件であることを示している。また、第3レコードは、「30%以上」が、適合するアプリケーションプログラムの割合の条件であることを示している。
第4レコードは、「Y地域の交通麻痺」について、「交通業」に属し、「Y地域」を対象とするサービスを提供するアプリケーションプログラムを判定の対象とすることを示している。更に、第4レコードは、そのアプリケーションプログラムのメモリ使用量が、そのアプリケーションプログラムの基準となるメモリ使用量の1.5倍以上であり、且つそのアプリケーションプログラムのトランザクション量が、そのアプリケーションプログラムの基準となるトランザクション量の1.5倍以上であり、且つそのアプリケーションプログラムのネットワーク通信量が、状態DB1505に蓄積されているそのアプリケーションプログラムにおけるネットワーク通信量の平均に標準偏差の3倍を加えた値以上であることが、稼動条件であることを示している。また、第4レコードは、「30%以上」が、適合するアプリケーションプログラムの割合の条件であることを示している。
この例では、各レコードで同じ稼動条件を設定しているが、各レコードで稼動条件の一部又は全部を異なるように設定してもよい。あるいは、稼動条件の一部を省略するようにしてもよい。また、異なるパラメータによる稼動条件を設定するようにしてもよい。
図15に示した管理システムのモジュール構成例の説明に戻って、基準データ格納部1511は、図3に例示した基準データテーブルを格納する。変更部1513は、突発事象に応じたルールに従って、アプリケーションプログラム群に対するリソースの割り当てを変更する。割り当てルール格納部1515は、図4、図7、図9及び図13に例示した割り当てルールテーブルを格納する。割り当てデータ記憶部1517は、リソースの割り当てデータテーブルを格納する。指示部1519は、リソースの割り当てデータテーブルに従って、物理サーバ101のハイパーバイザにリソースの割り当ての更新を指示する。送信部1521は、リソースの割り当ての更新指示を物理サーバ101のハイパーバイザに送信する。以上で、管理システムのモジュール構成例についての説明を終える。
続いて、管理システムによる処理について説明する。図17に、管理システムによる全体処理フローの例を示す。収集部1503は、収集処理を行う(S1701)。具体的には、収集部1503は、受信部1501を介して、各物理サーバ101のハイパーバイザで管理する稼動状態データを収集する。収集部1503は、収集した稼動状態データを状態DB1505に格納する。
判定部1507は、判定処理を実行する(S1703)。ここでは、判定処理(A)を実行する。尚、判定処理(B)については、実施の形態2において説明する。
図18に、判定処理(A)のフロー例を示す。判定部1507は、パターンテーブルで未判定の突発事象に係るレコードを1つ特定する(S1801)。このとき、判定部1507は、例えばパターンテーブルのレコードを順次特定する。
そして、判定部1507は、対象アプリケーションプログラムを1つ選択する(S1803)。判定部1507は、アプリケーションプログラムが適用するサービスが事業分野に属し、当該サービスの対象地域が一致する場合に、対象アプリケーションプログラムに該当すると判定する。
この例で、図16に示したパターンテーブルの第1レコードの場合には、「A銀行向けアプリケーション」、「B銀行向けアプリケーション」、「C金庫向けアプリケーション」及び「D金庫向けアプリケーション」を順次選択する。
図16に示したパターンテーブルの第2レコードの場合には、「A銀行向けアプリケーション」、「B銀行向けアプリケーション」、「C金庫向けアプリケーション」あるいは「D金庫向けアプリケーション」を単独で選択する。
図16に示したパターンテーブルの第3レコードの場合には、「E鉄道向けアプリケーション」と「Gバス向けアプリケーション」とを順次選択する。
図16に示したパターンテーブルの第4レコードの場合には、「F鉄道向けアプリケーション」と「Hバス向けアプリケーション」とを順次選択する。
判定部1507は、選択したアプリケーションプログラムの稼動状態が、当該レコードで特定される稼動条件に適合するか否かを判定する(S1805)。このとき、判定部1507は、現在の稼動状態データを状態DB1505から取得する。この例では、図16に示したように、メモリ使用量、トランザクション量及びネットワーク通信量の条件について判定し、それぞれの条件を満たす場合に適合すると判定する。
この例では、AND条件によって判定するが、OR条件によって判定するようにしてもよい。また、メモリ使用量、トランザクション量及びネットワーク通信量のうち、1又は2の条件について判定するようにしてもよい。また、メモリ使用量、トランザクション量及びネットワーク通信量以外のパラメータについて判定するようにしてもよい。
選択したアプリケーションプログラムの稼動状態が、当該レコードで特定される稼動条件に適合すると判定した場合には、判定部1507は、適合数をインクリメントする(S1807)。選択したアプリケーションプログラムの稼動状態が、当該レコードで特定される稼動条件に適合しないと判定した場合には、判定部1507は、適合数をインクリメントしない。
そして、判定部1507は、未選択の対象アプリケーションプログラムがあるか否かを判定し(S1809)、未選択の対象アプリケーションプログラムがあると判定した場合には、S1803に戻って上述の処理を繰り返す。
未選択の対象アプリケーションプログラムがないと判定した場合には、判定部1507は、適合割合を算出する(S1811)。判定部1507は、具体的には適合数を対象アプリケーションプログラムの数で割ることによって、適合割合を求める。
判定部1507は、算出した適合割合が、適合割合の条件を越えているか否かを判定する(S1813)。適合割合の条件を越えていると判定した場合には、S1801で特定したレコードのパターンに合致するので、判定部1507は、S1801で特定したレコードの突発事象を特定する(S1815)。つまり、突発事象の予兆がみられたと判断される。
適合割合の条件を越えていないと判定した場合には、S1801で特定したレコードのパターンに合致しないので、判定部1507は、突発事象を特定しない。つまり、突発事象の予兆がみられないと判断される。
判定部1507は、未判定の突発事象レコードがあるか否かを判定し(S1817)、未判定の突発事象レコードがあると判定した場合には、S1801に戻って上述の処理を繰り返す。
図17に示した全体処理の説明に戻る。判定部1507が突発事象を特定したか否かによって、処理の流れは分岐する(S1705)。
判定部1507が突発事象を特定しなかった場合には、管理システムは全体処理を終える。
判定部1507が突発事象を特定した場合には、変更部1513は、変更処理を実行する(S1707)。ここでは、変更処理(A)を実行する。変更処理(B)については、実施の形態2において説明する。
図19に、変更処理(A)のフロー例を示す。変更部1513は、当該突発事象に対応する割り当てルールテーブルを特定する(S1901)。そして、変更部1513は、まず品質保証型のアプリケーションプログラムについての割り当てを行う。
変更部1513は、品質保証型のアプリケーションプログラムを1つ選択する(S1903)。変更部1513は、例えば、品質保証型のアプリケーションプログラムを順次特定する。
変更部1513は、当該アプリケーションプログラムに対して保証するリソース量を算出する(S1905)。この例では、変更部1513は、当該アプリケーションプログラムの基準となるCPU時間に、割り当てルールにより特定される倍数を乗じて、保証するCPU時間を算出する。更に、変更部1513は、当該アプリケーションプログラムの基準となるメモリ使用量に、割り当てルールにより特定される倍数を乗じて、保証するメモリ使用量を算出する。
変更部1513は、上述の保証するリソース量を品質保証用の合計リソース量に加算する(S1907)。品質保証用の合計リソース量は、変更処理内で用いられる内部パラメータである。具体的には、合計CPU時間と合計メモリ使用量とを算出する。このとき、変更部1513は、S1905で算出したCPU時間を合計CPU時間に加え、更に、S1905で算出したメモリ使用量を合計メモリ使用量に加える。
また、変更部1513は、S1905で算出したリソース量のデータを、割り当てデータテーブルに加える(S1909)。
品質保証用の割り当てデータテーブルの例について、図21を用いて説明する。品質保証用の割り当てデータテーブルは、品質保証型のアプリケーションプログラムについてのレコードを有している。レコードは、アプリケーション名、CPU時間及びメモリ使用量のフィールドを有している。アプリケーション名のフィールドには、品質保証型のアプリケーションの名前が設定される。CPU時間のフィールドには、当該アプリケーションプログラムに割り当てられるCPU時間が設定される。メモリ使用量のフィールドには、当該アプリケーションプログラムに割り当てられるメモリ使用量が設定される。
この図は、上述の「金融機関のトラブル」に応じた割り当ての例を示している。第1レコードは、「A銀行向けアプリケーション」に対して、その基準の4倍のCPU時間と、その基準の4倍のメモリ使用量とが割り当てられることを示している。第2レコードは、「B銀行向けアプリケーション」に対して、その基準の2倍のCPU時間と、その基準の2倍のメモリ使用量とが割り当てられることを示している。第3レコードは、「C金庫向けアプリケーション」に対して、その基準の2倍のCPU時間と、その基準の2倍のメモリ使用量とが割り当てられることを示している。第4レコードは、「D金庫向けアプリケーション」に対して、その基準の2倍のCPU時間と、その基準の2倍のメモリ使用量とが割り当てられることを示している。第5レコードは、「E鉄道向けアプリケーション」に対して、その基準の2倍のCPU時間と、その基準の2倍のメモリ使用量とが割り当てられることを示している。第6レコードは、「F鉄道向けアプリケーション」に対して、その基準の2倍のCPU時間と、その基準の2倍のメモリ使用量とが割り当てられることを示している。尚、品質保証用の割り当てデータテーブルに、品質保証用の合計リソース量を含めるようにしてもよい。
図19に示したS1909の処理では、変更部1513は、図21に示した品質保証用の割り当てデータテーブルの1つのレコードに相当するデータを加える。
変更部1513は、未選択の品質保証型のアプリケーションプログラムがあるか否かを判定する(S1911)。未選択の品質保証型のアプリケーションプログラムがあると判定した場合には、S1903に戻って、上述の処理を繰り返す。
未選択の品質保証型のアプリケーションプログラムがないと判定した場合には、変更部1513は、空きリソース量を算出する(S1913)。具体的には、変更部1513は、全体リソースプールのリソース量から品質保証用の合計リソース量を差し引いて、残余のリソース量を算出する。この例では、残余のCPU時間と残余のメモリ使用量とが算出される。以上で、品質保証型のアプリケーションプログラムに対するリソースの割り当てを終える。そして、端子Aを介して、図20に示したS2001の処理に移る。
以下では、ベストエフォート型のアプリケーションプログラムに対するリソースの割り当てを行う。変更部1513は、ベストエフォート型のアプリケーションプログラムを1つ選択する(S2001)。変更部1513は、例えば、ベストエフォート型のアプリケーションプログラムを順次特定する。
変更部1513は、当該アプリケーションプログラムを稼動させるためのリソース量を特定する(S2003)。この例では、変更部1513は、当該アプリケーションプログラムの基準となるCPU時間と、当該アプリケーションプログラムの基準となるメモリ使用量とを特定する。
変更部1513は、リソース量が足りるか否かを判定する(S2005)。空きリソース量が上述の稼動させるためのリソース量を越えている場合に、変更部1513は、リソース量が足りると判定する。CPU時間又はメモリ使用量の一方でも不足する場合には、変更部1513は、リソース量が足りないと判定する。
リソース量が足りないと判定した場合には、変更部1513は、変更処理(A)を終え、図17のS1709の処理に移る。
リソース量が足りると判定した場合には、変更部1513は、上述の稼動させるためのリソース量をベストエフォート用の合計リソース量に加算する(S2007)。ベストエフォート用の合計リソース量は、変更処理内で用いられる内部パラメータである。具体的には、合計CPU時間と合計メモリ使用量とを算出する。このとき、変更部1513は、S2003で特定したCPU時間を合計CPU時間に加え、更に、S2003で特定したメモリ使用量を合計メモリ使用量に加える。
また、変更部1513は、S2003で特定したリソース量のデータを、割り当てデータテーブルに加える(S2009)。
ベストエフォート用の割り当てデータテーブルの例について、図22を用いて説明する。ベストエフォート用の割り当てデータテーブルは、ベストエフォート型のアプリケーションプログラムについてのレコードを有している。レコードは、アプリケーション名、CPU時間及びメモリ使用量のフィールドを有している。アプリケーション名のフィールドには、ベストエフォート型のアプリケーションの名前が設定される。CPU時間のフィールドには、当該アプリケーションプログラムに割り当てられるCPU時間が設定される。メモリ使用量のフィールドには、当該アプリケーションプログラムに割り当てられるメモリ使用量が設定される。尚、ベストエフォート用の割り当てデータテーブルに、ベストエフォートの合計リソース量を含めるようにしてもよい。
この図は、上述の「金融機関のトラブル」に応じた割り当ての例を示している。第1レコードは、「Gバス向けアプリケーション」に対して、その基準のCPU時間と、その基準のメモリ使用量とが割り当てられることを示している。以下、同様に、第2レコードは、「Hバス向けアプリケーション」に対して、その基準のCPU時間と、その基準のメモリ使用量とが割り当てられることを示している。第3レコードは、「Iデパート向けアプリケーション」に対して、その基準のCPU時間と、その基準のメモリ使用量とが割り当てられることを示している。第4レコードは、「Jデパート向けアプリケーション」に対して、その基準のCPU時間と、その基準のメモリ使用量とが割り当てられることを示している。第5レコードは、「Kストア向けアプリケーション」に対して、その基準のCPU時間と、その基準のメモリ使用量とが割り当てられることを示している。第6レコードは、「Lストア向けアプリケーション」に対して、その基準のCPU時間と、その基準のメモリ使用量とが割り当てられることを示している。
図20に示したS2009の処理では、変更部1513は、図22に示したベストエフォート用の割り当てデータテーブルの1つのレコードに相当するデータを加える。
変更部1513は、空きリソース量を更新する(S2011)。具体的には、変更部1513は、空きリソース量からベストエフォート用の合計リソース量を差し引いて、残余のリソース量を算出する。この例では、残余のCPU時間と残余のメモリ使用量とが算出される。
変更部1513は、未選択のベストエフォート型のアプリケーションプログラムがあるか否かを判定する(S2013)。未選択のベストエフォート型のアプリケーションプログラムがあると判定した場合には、S2001に戻って、上述の処理を繰り返す。
未選択のベストエフォート型のアプリケーションプログラムがないと判定した場合には、変更部1513は、変更処理(A)を終え、図17のS1709の処理に移る。
図17に示した処理の説明に戻って、指示部1519は、指示処理を実行する(S1709)。具体的には、指示部1519は、リソースの割り当てデータテーブルに従って、リソースの割り当ての更新を物理サーバ101のハイパーバイザに指示する。このとき、送信部1521は、リソースの割り当ての更新指示を物理サーバ101のハイパーバイザに送信する。
物理サーバ101のハイパーバイザは、指示に従って、例えば仮想サーバに割り当てられるリソースを変更し、仮想サーバで動作させるアプリケーションプログラムに割り当てられるリソースを変更する。仮想サーバ間で、アプリケーションプログラムを移動させるようにしてもよい。以上で、管理システムによる処理についての説明を終える。
本実施の形態によれば、突発事象に関わるアプリケーションの需要の変化を端緒として突発事象を予測し、アプリケーションプログラム間のリソースの割り当てを変更するので、突発事象に応じて全体として適正なリソースの運用を図ることができる。
また、ある事業に関するアプリケーションへの需要の変化を端緒として、その事業に関連する突発事象を予測することができる。例えば、金融業に関するサービスである「金融取引」への需要の増大を端緒として、「金融界の信用不安」という特定事象を予測することができる。
また、地域向けアプリケーションへの需要の変化を端緒として、その地域に関する特定事象を予測することができる。例えば、地域向けサービスである「ある地域の交通案内」への需要の増大を端緒として、「ある地域の交通麻痺」という特定事象を予測することができる。
また、ベストエフォート用リソースプールと品質保証用リソースプールとを分けることによって、ベストエフォート型のアプリケーションプログラムが品質保証型のアプリケーションプログラムのためのリソースを侵食することを防げる。
[実施の形態2]
上述の実施の形態では、アプリケーションの単位で稼動状態を判定し、更に、アプリケーションの単位でリソースを割り当てる例を示したが、本実施の形態では、アプリケーションに含まれる機能の単位で稼動状態を判定し、同じく機能の単位でリソースを割り当てる例について説明する。
本実施の形態では、アプリケーションに複数の機能が含まれていることを前提とする。以下、「E鉄道向けアプリケーション」及び「Gバス向けアプリケーション」に夫々「運行案内」の機能と「勤怠管理」の機能が含まれている例について説明する。これらの機能は、アプリケーションプログラムの一部である機能モジュールプログラムを、仮想サーバで実行することによって実現される。
図23に、実施の形態2における割り当てルールテーブルの例を示す。本実施の形態の場合、レコードは、機能名のフィールドも有している。
省略しているレコードを除く第1レコードは、「E鉄道向けアプリケーション」の「運行案内」の機能に対して、CPU時間を基準の6倍まで、更にメモリ使用量も基準の6倍まで保証することを示している。
同じく省略しているレコードを除く第2レコードは、「E鉄道向けアプリケーション」の「勤怠管理」の機能は、ベストエフォート型で運用されることを示している。
同じく省略しているレコードを除く第3レコードは、「Gバス向けアプリケーション」の「運行案内」の機能に対して、CPU時間を基準の6倍まで、更にメモリ使用量も基準の6倍まで保証することを示している。
同じく省略しているレコードを除く第4レコードは、「Gバス向けアプリケーション」の「勤怠管理」の機能は、ベストエフォート型で運用されることを示している。
続いて、図24に、実施の形態2におけるパターンテーブルの例を示す。本実施の形態の場合、レコードは、機能名のフィールドも有している。機能名のフィールドには、判定対象となる機能が設定される。
第1レコードは、「X地域の交通麻痺」について、「交通業」に属し、「X地域」を対象とするサービスを提供するアプリケーションプログラムのうち、「運行案内」の機能を判定の対象とすることを示している。他のフィールドについては、図16に示した第3レコードと同様である。
第2レコードは、「Y地域の交通麻痺」について、「交通業」に属し、「Y地域」を対象とするサービスを提供するアプリケーションプログラムのうち、「運行案内」の機能を判定の対象とすることを示している。他のフィールドについては、図16に示した第4レコードと同様である。
次に、本実施の形態における判定処理について説明する。図17に示したS1703では、判定部1507が判定処理(B)を実行する。
図25に、判定処理(B)のフロー例を示す。判定部1507は、図18に示したS1801と同様に、パターンテーブルで未判定の突発事象に係るレコードを1つ特定する(S2501)。
そして、判定部1507は、対象機能を1つ選択する(S2503)。例えば、判定部1507は、対象機能を順次特定する。
判定部1507は、選択した機能の稼動状態が、当該レコードで特定される稼動条件に適合するか否かを判定する(S2505)。このとき、判定部1507は、機能の稼動状態データを状態DB1505から取得する。
選択した機能の稼動状態が、当該レコードで特定される稼動条件に適合すると判定した場合には、判定部1507は、適合数をインクリメントする(S2507)。選択した機能の稼動状態が、当該レコードで特定される稼動条件に適合しないと判定した場合には、判定部1507は、適合数をインクリメントしない。
そして、判定部1507は、未選択の対象機能があるか否かを判定し(S2509)、未選択の対象機能があると判定した場合には、S2503に戻って上述の処理を繰り返す。
未選択の対象機能がないと判定した場合には、判定部1507は、適合割合を算出する(S2511)。具体的には、適合数を対象機能の数で割ることによって、適合割合を求める。
判定部1507は、算出した適合割合が、適合割合の条件を越えているか否かを判定する(S2513)。適合割合の条件を越えていると判定した場合には、S2501で特定したレコードのパターンに合致するので、判定部1507は、S2501で特定したレコードの突発事象を特定する(S2515)。つまり、突発事象の予兆がみられたと判断される。
適合割合の条件を越えていないと判定した場合には、S2501で特定したレコードのパターンに合致しないので、判定部1507は、突発事象を特定しない。つまり、突発事象の予兆がみられないと判断される。
判定部1507は、未判定の突発事象レコードがあるか否かを判定し(S2517)、未判定の突発事象レコードがあると判定した場合には、S2501に戻って上述の処理を繰り返す。以上で、本実施の形態における判定処理についての説明を終える。
図26に、実施の形態2における基準データテーブルの例を示す。本実施の形態の場合、レコードは、機能名のフィールドを有する。機能名のフィールドには、アプリケーションプログラムに含まれる機能の名前が設定される。CPU時間のフィールドには、当該機能におけるCPU時間の基準が設定される。メモリ使用量のフィールドには、当該機能におけるメモリ使用量の基準が設定される。トランザクション量のフィールドには、当該機能におけるトランザクション量の基準が設定される。ネットワーク通信量のフィールドには、当該機能におけるネットワーク通信量の基準が設定される。
省略しているレコードを除く第1レコードは、「E鉄道向けアプリケーション」に含まれる「運行案内」についての基準を定めている。図示するように、「E鉄道向けアプリケーション」に含まれる「運行案内」の基準となるCPU時間は、「Se1(C)」である。同じく「E鉄道向けアプリケーション」に含まれる「運行案内」の基準となるメモリ使用量は、「Se1(M)」である。同じく「E鉄道向けアプリケーション」に含まれる「運行案内」の基準となるトランザクション量は、「Se1(T)」である。同じく「E鉄道向けアプリケーション」のに含まれる「運行案内」基準となるネットワーク通信量は、「Se1(N)」である。
省略しているレコードを除く第2レコードは、「E鉄道向けアプリケーション」に含まれる「勤怠管理」についての基準を定めている。図示するように、「E鉄道向けアプリケーション」に含まれる「勤怠管理」の基準となるCPU時間は、「Se2(C)」である。同じく「E鉄道向けアプリケーション」に含まれる「勤怠管理」の基準となるメモリ使用量は、「Se2(M)」である。同じく「E鉄道向けアプリケーション」に含まれる「勤怠管理」の基準となるトランザクション量は、「Se2(T)」である。同じく「E鉄道向けアプリケーション」のに含まれる「勤怠管理」基準となるネットワーク通信量は、「Se2(N)」である。
省略しているレコードを除く第3レコードは、「Gバス向けアプリケーション」に含まれる「運行案内」についての基準を定めている。図示するように、「Gバス向けアプリケーション」に含まれる「運行案内」の基準となるCPU時間は、「Sg1(C)」である。同じく「Gバス向けアプリケーション」に含まれる「運行案内」の基準となるメモリ使用量は、「Sg1(M)」である。同じく「Gバス向けアプリケーション」に含まれる「運行案内」の基準となるトランザクション量は、「Sg1(T)」である。同じく「Gバス向けアプリケーション」のに含まれる「運行案内」基準となるネットワーク通信量は、「Sg1(N)」である。
省略しているレコードを除く第4レコードは、「Gバス向けアプリケーション」に含まれる「勤怠管理」についての基準を定めている。図示するように、「Gバス向けアプリケーション」に含まれる「勤怠管理」の基準となるCPU時間は、「Sg2(C)」である。同じく「Gバス向けアプリケーション」に含まれる「勤怠管理」の基準となるメモリ使用量は、「Sg2(M)」である。同じく「Gバス向けアプリケーション」に含まれる「勤怠管理」の基準となるトランザクション量は、「Sg2(T)」である。同じく「Gバス向けアプリケーション」のに含まれる「勤怠管理」基準となるネットワーク通信量は、「Sg2(N)」である。
図27に、実施の形態2におけるクラウドシステムの稼動イメージの例を示す。この図は、「X地域の交通麻痺」発生時における稼動イメージを示している。矩形501に示した物理リソース及び矩形505に示した管理システムについては、図5、図8、図10、図12及び図14と同様である。
矩形2721は、「E鉄道向けアプリケーション」に含まれる「運行案内」が用いるリソース量の基準を模式的に示している。矩形2721の横幅が、「E鉄道向けアプリケーション」に含まれる「運行案内」が用いるリソース量の基準Se1に相当する。前述と同様に、リソースの種類は特定していない。基準Se1は、例えば図26に示したCPU時間の基準Se1(C)及びメモリ使用量の基準Se1(M)を包括するイメージである。
破線の範囲2725は、「E鉄道向けアプリケーション」に含まれる「運行案内」に対して保証されるリソース量の基準を模式的に示している。破線の範囲2725の横幅が、「E鉄道向けアプリケーション」に含まれる「運行案内」に対して保証されるリソース量に相当する。この例では、基準Se1の6倍のリソース量が保証されている。保証されるリソース量は、図23に示した「E鉄道向けアプリケーション」に含まれる「運行案内」の割り当てルールに基づいて求められる。矢印2723は、予兆に相当するリソース量の増加のイメージを示している。
保証されるリソース量は、「E鉄道向けアプリケーション」に含まれる「運行案内」で占有されるようにする。例えば、「E鉄道向けアプリケーション」に含まれる「運行案内」のために、基準Se1(C)の6倍に相当するCPU時間が確保され、基準Se1(M)の6倍に相当するメモリ使用量が確保される。
矩形2727は、「Gバス向けアプリケーション」に含まれる「運行案内」が用いるリソース量の基準を模式的に示している。矩形2727の横幅が、「Gバス向けアプリケーション」に含まれる「運行案内」が用いるリソース量の基準Sg1に相当する。前述と同様に、リソースの種類は特定していない。基準Sg1は、例えば図26に示したCPU時間の基準Sg1(C)及びメモリ使用量の基準Sg1(M)を包括するイメージである。
破線の範囲2731は、「Gバス向けアプリケーション」に含まれる「運行案内」に対して保証されるリソース量の基準を模式的に示している。破線の範囲2731の横幅が、「Gバス向けアプリケーション」に含まれる「運行案内」に対して保証されるリソース量に相当する。この例では、基準Sg1の6倍のリソース量が保証されている。保証されるリソース量は、図23に示した「Gバス向けアプリケーション」に含まれる「運行案内」の割り当てルールに基づいて求められる。矢印2729は、予兆に相当しないリソース量の増加のイメージを示している。この時点で「Gバス向けアプリケーション」には、予兆が現れていない。
保証されるリソース量は、「Gバス向けアプリケーション」に含まれる「運行案内」で占有されるようにする。例えば、「Gバス向けアプリケーション」に含まれる「運行案内」のために、基準Sg1(C)の6倍に相当するCPU時間が確保され、基準Sg1(M)の6倍に相当するメモリ使用量が確保される。
矩形2751は、「E鉄道向けアプリケーション」に含まれる「勤怠管理」が用いるリソース量の基準を模式的に示している。矩形2751の横幅が、「E鉄道向けアプリケーション」に含まれる「勤怠管理」が用いるリソース量の基準Se2に相当する。前述と同様に、リソースの種類は特定していない。基準Se2は、例えば図26に示したCPU時間の基準Se2(C)及びメモリ使用量の基準Se2(M)を包括するイメージである。
「E鉄道向けアプリケーション」に含まれる「勤怠管理」は、ベストエフォート型であるので、保証に対応するリソース量を確保していない。但し、「E鉄道向けアプリケーション」に含まれる「勤怠管理」に対して所定のリソース量を予備的に確保するようにしてもよい。
矩形2753は、「Gバス向けアプリケーション」に含まれる「勤怠管理」が用いるリソース量の基準を模式的に示している。矩形2753の横幅が、「Gバス向けアプリケーション」に含まれる「勤怠管理」が用いるリソース量の基準Sg2に相当する。前述と同様に、リソースの種類は特定していない。基準Sg2は、例えば図26に示したCPU時間の基準Sg2(C)及びメモリ使用量の基準Sg2(M)を包括するイメージである。
「Gバス向けアプリケーション」に含まれる「勤怠管理」は、ベストエフォート型であるので、保証に対応するリソース量を確保していない。但し、「Gバス向けアプリケーション」に含まれる「勤怠管理」に対して所定のリソース量を予備的に確保するようにしてもよい。
このように、同じアプリケーションプログラムで利用するリソースが、機能毎に品質保証用リソースプールとベストエフォート用リソースプールとに分かれることもある。この例では、「X地域の交通麻痺」の影響を受ける「運行案内」に係るリソースが保証され、「X地域の交通麻痺」の影響を受けない「勤怠管理」に係るリソースは保証されないようになる。
上述のイメージを実現するための判定処理について説明する。図17に示したS1707では、変更部1513が変更処理(B)を実行する。
図28に、変更処理(B)のフロー例を示す。変更部1513は、判定処理(B)で特定した突発事象に対応する割り当てルールテーブルを特定する(S2801)。そして、変更部1513は、まず品質保証型の機能に対するリソースの割り当てを行う。
変更部1513は、品質保証型の機能を1つ選択する(S2803)。変更部1513は、例えば、品質保証型の機能を順次特定する。
変更部1513は、当該機能に対して保証するリソース量を算出する(S2805)。この例では、変更部1513は、当該機能の基準となるCPU時間に、割り当てルールにより特定される倍数を乗じて、保証するCPU時間を算出する。更に、変更部1513は、当該機能の基準となるメモリ使用量に、割り当てルールにより特定される倍数を乗じて、保証するメモリ使用量を算出する。
変更部1513は、上述の保証するリソース量を品質保証用の合計リソース量に加算する(S2807)。品質保証用の合計リソース量は、変更処理内で用いられる内部パラメータである。具体的には、合計CPU時間と合計メモリ使用量とを算出する。このとき、変更部1513は、S2805で算出したCPU時間を合計CPU時間に加え、更に、S2805で算出したメモリ使用量を合計メモリ使用量に加える。
また、変更部1513は、S2805で算出したリソース量のデータを、割り当てデータテーブルに加える(S2809)。変更部1513は、品質保証用の割り当てデータテーブルの1つのレコードに相当するデータを加える。本実施の形態における割り当てデータテーブルは、機能についてレコードを設け、機能に対するリソース量が設定される。
変更部1513は、未選択の品質保証型の機能があるか否かを判定する(S2811)。未選択の品質保証型の機能があると判定した場合には、S2803に戻って、上述の処理を繰り返す。
未選択の品質保証型の機能がないと判定した場合には、変更部1513は、空きリソース量を算出する(S2813)。具体的には、変更部1513は、全体リソースプールのリソース量から品質保証用の合計リソース量を差し引いて、残余のリソース量を算出する。この例では、残余のCPU時間と残余のメモリ使用量とが算出される。以上で、品質保証型の機能に対するリソースの割り当てを終える。そして、端子Bを介して、図29に示したS2901の処理に移る。
以下では、ベストエフォート型の機能に対するリソースの割り当てを行う。変更部1513は、ベストエフォート型の機能を1つ選択する(S2901)。変更部1513は、例えば、ベストエフォート型の機能を順次特定する。
変更部1513は、当該機能を稼動させるためのリソース量を特定する(S2903)。この例では、変更部1513は、当該機能の基準となるCPU時間と、当該機能の基準となるメモリ使用量とを特定する。
変更部1513は、リソース量が足りるか否かを判定する(S2905)。空きリソース量が上述の稼動させるためのリソース量を越えている場合に、変更部1513は、リソース量が足りると判定する。CPU時間又はメモリ使用量の一方でも不足する場合には、変更部1513は、リソース量が足りないと判定する。
リソース量が足りないと判定した場合には、変更部1513は、変更処理(B)を終え、図17のS1709の処理に移る。
リソース量が足りると判定した場合には、変更部1513は、上述の稼動させるためのリソース量をベストエフォート用の合計リソース量に加算する(S2907)。ベストエフォート用の合計リソース量は、変更処理内で用いられる内部パラメータである。具体的には、合計CPU時間と合計メモリ使用量とを算出する。このとき、変更部1513は、S2903で特定したCPU時間を合計CPU時間に加え、更に、S2903で特定したメモリ使用量を合計メモリ使用量に加える。
また、変更部1513は、S2903で特定したリソース量のデータを、割り当てデータテーブルに加える(S2009)。
変更部1513は、空きリソース量を更新する(S2911)。具体的には、変更部1513は、空きリソース量からベストエフォート用の合計リソース量を差し引いて、残余のリソース量を算出する。この例では、残余のCPU時間と残余のメモリ使用量とが算出される。
変更部1513は、未選択のベストエフォート型の機能があるか否かを判定する(S2913)。未選択のベストエフォート型の機能があると判定した場合には、S2901に戻って、上述の処理を繰り返す。
未選択のベストエフォート型の機能がないと判定した場合には、変更部1513は、変更処理(B)を終え、図17のS1709の処理に移る。
実施の形態1に係るアプリケーションプログラム単位の処理と、実施の形態2に係るアプリケーションプログラムに含まれる機能単位の処理を組み合わせるようにしてもよい。
本実施の形態によれば、突発事象に関わるアプリケーションに含まれる機能の需要の変化を端緒として突発事象を予測し、アプリケーションプログラムに含まれる機能間のリソースの割り当てを変更するので、突発事象に応じて詳細なリソースの運用を図ることができる。
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べた物理サーバ101は、コンピュータ装置であって、図30に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る情報処理装置は、仮想システムにおいて、特定事象に関わるサービスを実現するプログラムの稼動状況が、当該特定事象の予兆を示すパターンに合致するか否かを判定する判定部と、稼動状況がパターンに合致すると判定した場合に、特定事象に応じたルールに従って、仮想システムにおいて稼動している上記プログラム及び他のプログラムに対する仮想システムにおけるリソースの割り当てを変更する変更部とを有する。
このようにすれば、特定事象に関わるサービスの需要の変化を端緒として特定事象を予測し、プログラム間のリソースの割り当てを変更するので、特定事象に応じて全体として適正なリソースの運用を図ることができる。
また、パターンは、特定事象に関連する事業分野と、稼動条件とを定めるようにしてもよい。更に上記判定部は、事業分野に基づいて上記プログラムを特定し、上記プログラムの稼動状況が稼動条件を満たすか否かを判定するようにしてもよい。
このようにすれば、ある事業に関するサービスへの需要の変化を端緒として、その事業に関連する特定事象を予測することができる。例えば、金融業に関するサービスである「金融取引」への需要の増大を端緒として、「金融界の信用不安」という特定事象を予測することができる。
また、パターンは、サービスの対象地域を定めるようにしてもよい。更に、上記判定部は、対象地域に基づいて、上記プログラムを特定するようにしてもよい。
このようにすれば、地域向けサービスへの需要の変化を端緒として、その地域に関する特定事象を予測することができる。例えば、地域向けサービスである「ある地域の交通案内」への需要の増大を端緒として、「ある地域の交通麻痺」という特定事象を予測することができる。
ルールは、上記プログラム及び他のプログラムに対する保証レベルを定めるようにしてもよい。更に、上記変更部は、保証レベルに基づいて、上記プログラム及び他のプログラムが各々利用するリソースプールを選択するようにしてもよい。
このようにすれば、保証レベルの低いプログラムが利用するリソースプールと、保証レベルの高いプログラムが利用するリソースプールとを分けることによって、保証レベルの低いプログラムが保証レベルの高いプログラムのためのリソースを侵食することを防げる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
仮想システムにおいて、特定事象に関わるサービスを実現するプログラムの稼動状況が、当該特定事象の予兆を示すパターンに合致するか否かを判定する判定部と、
前記稼動状況が前記パターンに合致すると判定した場合に、前記特定事象に応じたルールに従って、前記仮想システムにおいて稼動している前記プログラム及び他のプログラムに対する前記仮想システムにおけるリソースの割り当てを変更する変更部と
を有する情報処理装置。
(付記2)
前記パターンは、前記特定事象に関連する事業分野と、前記稼動条件とを定め、
前記判定部は、前記事業分野に基づいて前記プログラムを特定し、前記プログラムの稼動状況が前記稼動条件を満たすか否かを判定する
付記1記載の情報処理装置。
(付記3)
前記パターンは、前記サービスの対象地域を定め、
前記判定部は、前記対象地域に基づいて、前記プログラムを特定する
付記2記載の情報処理装置。
(付記4)
前記ルールは、前記プログラム及び前記他のプログラムに対する保証レベルを定め、
前記変更部は、前記保証レベルに基づいて、前記プログラム及び前記他のプログラムが各々利用するリソースプールを選択する
付記1乃至3いずれか1つ記載の情報処理装置。
(付記5)
仮想システムにおいて、特定事象に関わるサービスを実現するプログラムの稼動状況が、当該特定事象の予兆を示すパターンに合致するか否かを判定する処理と、
前記稼動状況が前記パターンに合致すると判定した場合に、前記特定事象に応じたルールに従って、前記仮想システムにおいて稼動している前記プログラム及び他のプログラムに対する前記仮想システムにおけるリソースの割り当てを変更する処理と
をコンピュータに実行させるためのプログラム。
(付記6)
仮想システムにおいて、特定事象に関わるサービスを実現するプログラムの稼動状況が、当該特定事象の予兆を示すパターンに合致するか否かを判定する処理と、
前記稼動状況が前記パターンに合致すると判定した場合に、前記特定事象に応じたルールに従って、前記仮想システムにおいて稼動している前記プログラム及び他のプログラムに対する前記仮想システムにおけるリソースの割り当てを変更する処理と
を含む情報処理方法。