(57)【特許請求の範囲】
【請求項１】
計算機資源の管理装置であって、
管理対象の資源をブロックとして、各ブロックの包含関係を半順序集合の制約に従い管理する管理手段と、
ユーザから、ブロックの順序対の追加又は削除の操作を行うコマンドを受け取るための入力手段と、
前記ユーザが前記入力手段により順序対の操作を行うコマンドを入力すると、前記半順序集合の制約を満たすために必要な順序対の操作を行うコマンドを生成する生成手段と、
を備えていることを特徴とする管理装置。
【請求項２】
管理対象の資源のブロックの内の管理ブロックと、個別資源管理装置との対応関係を保持する保持手段と、
前記ユーザが入力したコマンドの順序対と、前記生成手段が生成したコマンドの順序対と、前記管理手段が管理する包含関係に基づき、前記個別資源管理装置に送信すべきコマンドを決定する決定手段と、
をさらに備えていることを特徴とする請求項１に記載の管理装置。
【請求項３】
前記決定手段は、前記ユーザが入力したコマンドの順序対と、前記生成手段が生成したコマンドの順序対の内、管理ブロックに包含されるブロックに関する順序対に基づき、当該管理ブロックに対応する個別資源管理装置に送信すべきコマンドを決定することを特徴とする請求項２に記載の管理装置。
【請求項４】
請求項１から３のいずれか１項に記載の管理装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、計算機資源提供サービスの管理装置に関する。
【背景技術】
【０００２】
クラウドコンピューティングやネットワーク機能仮想化等の計算機資源提供サービスの運用者は、ユーザからのサービス要求に応じて、各計算機資源（以下、単に、資源とも呼ぶ。）の割当てや開放を適切に管理する必要がある。例えば、２つのデータセンター（ＤＣ）を有するサービスプロバイダ（ＳＰ）が、あるユーザに対してテナントを提供するものとする。ここで、"テナント"とは、ユーザのために割り当てた計算機資源の集合である。なお、１つの"テナント"のための資源は、複数の計算機に跨る場合がある。また、１つ計算機（以下、ＰＭ：Ｐｈｙｓｉｃａｌ  Ｍａｃｈｉｎｅ）の総ての資源を一人のユーザに"テナント"として割り当てること以外にも、１つの計算機の資源を複数の資源に分割し、個々の分割された資源を仮想計算機（以下、ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）として、ＶＭ単位でユーザに割り当てることができる。
【０００３】
例えば、当該ユーザが、テナントに割り当てる資源を２つのＤＣに分散させることを要求したものとする。この場合、ＳＰは、例えば、２つのＤＣそれぞれに少なくとも１つのＶＭを設定し、これらＶＭを当該ユーザのテナントに割り当てる必要がある。この際、ＳＰは、どのＰＭに当該ユーザに割り当てるＶＭを設定するかを決定する必要がある。この決定のために、従来から、非特許文献１から３に示す様な個別資源管理装置が使用されている。ここで、個別資源管理装置は、ＤＣにおける構成や、ＤＣが提供するサービスに応じて個別に設けられる。つまり、例えば、ＳＰが運用する２つのＤＣ内の構成や、２つのＤＣが提供するサービスによっては、２つのＤＣそれぞれに専用の個別資源管理装置が設けられる。この様な場合、ＳＰの運用者は、各個別資源管理装置の操作方法をそれぞれ習得する必要がある。また、当該ユーザがＳＰによるテナント提供の契約を解除すると、ＳＰの運用者は、当該ユーザに割り当てたＶＭを判定し、各ＶＭを管理する個別資源管理装置を判定し、判定した個別資源管理装置をそれぞれ操作して当該ユーザへの割り当てを解除する必要がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】"ＶＭｗａｒｅ  ｖＳｐｈｅｒｅ：サーバ仮想化、クラウド、インフラストラクチャ｜ＶＭｗａｒｅ  日本"、［ｏｎｌｉｎｅ］、［平成２６年１２月１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ.ｖｍｗａｒｅ.ｃｏｍ／ｊｐ／ｐｒｏｄｕｃｔｓ／ｖｓｐｈｅｒｅ／＞
【非特許文献２】"Ｈｏｍｅ＞＞ＯｐｅｎＳｔａｃｋ  Ｏｐｅｎ  Ｓｏｕｒｃｅ  Ｃｌｏｕｄ  Ｃｏｍｐｕｔｉｎｇ  Ｓｏｆｔｗａｒｅ"、［ｏｎｌｉｎｅ］、［平成２６年１２月１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ.ｏｐｅｎｓｔａｃｋ.ｏｒｇ／＞
【非特許文献３】"Ａｐａｃｈｅ  ＣｌｏｕｄＳｔａｃｋ：Ｏｐｅｎ  Ｓｏｕｒｃｅ  Ｃｌｏｕｄ  Ｃｏｍｐｕｔｉｎｇ"、［ｏｎｌｉｎｅ］、［平成２６年１２月１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｃｌｏｕｄｓｔａｃｋ.ａｐａｃｈｅ.ｏｒｇ／＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上、従来技術では、複数の個別資源管理装置の操作方法を取得する必要がある。さらに、計算機資源のユーザへの割り当てや、ユーザに割り当てた資源の解除の際には、操作すべき個別資源管理装置を運用者がその都度、判断する必要があった。
【０００６】
本発明は、統一した操作方法で計算機資源を管理できる管理装置を提供するものである。
【課題を解決するための手段】
【０００７】
本発明の一側面によると、管理対象の資源をブロックとして、各ブロックの包含関係を半順序集合の制約に従い管理する管理手段と、ユーザから、ブロックの順序対の追加又は削除の操作を行うコマンドを受け取るための入力手段と、前記ユーザが前記入力手段により順序対の操作を行うコマンドを入力すると、前記半順序集合の制約を満たすために必要な順序対の操作を行うコマンドを生成する生成手段と、を備えていることを特徴とする。
【発明の効果】
【０００８】
統一した操作方法で計算機資源を管理することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態による計算機資源提供サービスの制御構成図。
【図２】一実施形態による計算機資源割り当て例を示す図。
【図３】一実施形態による管理装置が管理する情報を示す図。
【図４】一実施形態による管理装置が管理する情報を示す図。
【図５】一実施形態による管理装置が管理する情報を示す図。
【図６】一実施形態による管理装置における処理フローを示す図。
【図７】一実施形態による管理装置における処理フローを示す図。
【図８】一実施形態による管理装置の構成図。
【発明を実施するための形態】
【００１０】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【００１１】
図１は、本実施形態による管理装置１を含む、計算機資源提供サービスの制御構成図である。なお、ＳＰは、２つのデータセンタＤＣ＃１及びＤＣ＃２を運用し、個別資源管理装置２１は、ＤＣ＃１の資源管理を行い、個別資源管理装置２２は、ＤＣ＃２の資源管理を行うものとする。本実施形態による管理装置１は、個別資源管理装置２１及び２２を制御する。したがって、ＳＰの運用者は、管理装置１の操作方法のみを習得すれば良い。
【００１２】
管理装置１においては、各計算機資源を、「ブロック」と呼ぶ抽象モデルで表す。そして、ブロックの集合に対して、ブロック間の「包含関係」を操作することで、実際の資源に対する操作を実行する。管理装置１は、ブロックの包含関係に対する操作に基づき、個別資源管理装置に対して当該個別資源管理装置の仕様に従うコマンドを送信する。また、個別資源管理装置からのメッセージを、当該個別資源管理装置からのメッセージの仕様に従い解釈する。管理装置１の運用者は、管理装置１に対して以下の２つのコマンドを入力する。１つ目は、取得コマンドである、このコマンドにより、運用者は、現在、管理装置１が管理しているブロックと、それらの包含関係を取得する。２つ目は、変更コマンドであり、運用者はブロック及びブロックの包含関係を変更する。この変更は、個別資源管理装置に伝えられ、これにより実際の計算機資源の割り当てや、割当の解除が行われる。
【００１３】
管理装置１が管理するブロックの包含関係は、数学における半順序集合の制約を満たす。すなわち、反射律、推移律及び反対称律の３つの条件を満たす。ここで、反射律とは、各ブロックが自分自身を包含することを意味する。また、推移律とは、ＡがＢを含み、ＢがＣを含むなら、ＡはＣを含むことを意味する。反対称律とは、ＡがＢを含み、ＢがＡを含むなら、Ａ＝Ｂとの意味である。これら条件より、包含関係のグラフは、閉路(ループ)を持たなくなる。
【００１４】
例えば、図２に示す様に、ＳＰが２つのＤＣ＃１及びＤＣ＃２を有し、ＤＣ＃１がＰＭ＃１及びＰＭ＃２を有し、ＤＣ＃２がＰＭ＃３及びＰＭ＃４を有し、ＰＭ＃２に設けられたＶＭ＃１と、ＰＭ＃３に設けられたＶＭ＃２をあるユーザに対して１つのテナントとして割り当てている場合を考える。この場合、包含関係のグラフは、図３の様になる。なお、図３においては、あるブロックからそのブロックに至るリンクは省略している。図３において、ＳＰブロックは、ＳＰが保有する全ての資源と対応する。ＤＣ＃１ブロックは、ＤＣ＃１内に配備された全ての資源と対応する。ＰＭ＃１ブロックは、ＰＭ＃１が持つ全ての資源と対応する。なお、以下の説明において、Ａブロックが、Ｂブロックを包含する場合、Ａブロックを（Ｂブロックに対する）コンテナと呼び、Ｂブロックを（Ａブロック）のコンテントと呼ぶ。また、管理装置１に対応するブロックであるＳＰと、個別資源管理装置に対応するブロックであるＤＣ＃１と、ＤＣ＃２を、以下では管理ブロックと呼ぶ。
【００１５】
本実施形態において、変更コマンドは、変更の種類、つまり、追加又は削除を示す情報と、変更される順序対の組の集合と、属性の集合で表される。なお、属性の値は、操作対象のブロックが属するコンテナの属性によって変化する。例えば、順序対を追加する場合、変更コマンドは、追加を示す情報と、コンテナを示す情報と、コンテントを示す情報を含む。同様に、順序対を削除する場合、変更コマンドは、削除を示す情報と、コンテナを示す情報と、コンテントを示す情報を含む。
【００１６】
以下では、図２のテナントを作成する手順について説明する。図４は、テナントが作成される前の包含関係のグラフを示している。運用者は、取得コマンドにより図４に示す情報を取得する。
【００１７】
まず、運用者はテナントを作成するため、変更コマンドを管理装置１に入力する。このとき、コンテナは、ＳＰであり、コンテントはテナントである。つまり、包含関係は、最終的には、図５の通りとなる。この変更コマンドで追加される順序対の集合をＰとする。本例において、集合Ｐの要素は、ＳＰとテナントの順序対のみである。図６に示す様に、管理装置１は、Ｓ１０でこの変更コマンドを検証して、Ｓ１１で、変更コマンドを実行可能であるか否かを判定する。実行可能であると、Ｓ１２で必要な処理を実行し、実行可能でなければ、Ｓ１３で運用者にエラーを通知する。
【００１８】
図７は、図６のＳ１０に示す変更コマンド検証処理のフローチャートである。管理装置１は、Ｓ２０で、現在の順序対の集合Ｃの全要素と、変更コマンドで追加される順序対の集合Ｐの全要素を、その要素とする集合Ｃ´を求める。管理装置１は、Ｓ２１で、総ての管理ブロックに対して、以下の処理を実行したかを判定する。総ての管理ブロックに対して処理を行っていると、管理装置１は、変更コマンド検証処理を終了する。一方、総ての管理ブロックに対して処理を行っていないと、管理装置１は、Ｓ２２で、未処理の管理ブロックｍを１つ選択し、Ｓ２３で、集合Ｐｍを空集合に初期化する。続いて、Ｓ２４で、集合Ｐの総ての要素ｐに対して処理を行ったかを判定し、処理を行っていないと、Ｓ２５で、未処理の要素ｐを１つ選択する。本例では、集合Ｐの要素ｐは、ＳＰとテナントの順序対のみである。
【００１９】
管理装置１は、Ｓ２６で、包含関係Ｃ´上で、選択した要素ｐのコンテナが、選択した管理ブロックｍに含まれていると、要素ｐを集合Ｐｍに追加する。本例では、コンテナである管理ブロックＳＰは、管理ブロックＳＰに含まれているため、管理ブロックＳＰに対する集合Ｐｍに、ＳＰとテナントの順序対が追加される。管理装置１は、図６のＳ１１において、総ての集合Ｐｍが空集合であると、実行不可能と判定する。一方、空集合ではない集合Ｐｍがあると、実行可能であると判定し、図６のＳ１２で変更を実行する。本例では、管理ブロックＳＰに対する集合Ｐｍは空集合ではないため実行可能である。なお、管理ブロックＤＣ＃１に対する集合Ｐｍが空集合ではないと、当該集合Ｐｍに含まれる順序対については、個別管理装置２１においても処理すべき事項として、個別管理装置２１に対して必要なコマンドを送信する。管理ブロックＤＣ＃２に対する集合Ｐｍが空集合でない場合も同様である。本例では、管理ブロックＤＣ＃１に対する集合Ｐｍ及び管理ブロックＤＣ＃２に対する集合Ｐｍは共に空集合であるので、管理装置１は、自装置内の閉じた処理として、図５に示す包含関係を作成する。また、管理装置１は、追加した順序対に含まれるブロックの属性に応じて必要な処理を行う。例えば、テナントに対しては、認証鍵を設定する。
【００２０】
続いて、運用者は、テナントに割り当てるＶＭ＃１とＶＭ＃２の追加を行う。なお、ＶＭ＃１とＶＭ＃２は異なるＤＣに設けることがユーザより要求されているため、ＶＭ＃１はＤＣ＃１に設け、ＶＭ＃２はＤＣ＃２に設けるものとする。この場合、運用者は、例えば、テナントとＶＭ＃１の順序対と、テナントとＶＭ＃２の順序対と、ＤＣ＃１とＶＭ＃１の順序対と、ＤＣ＃２とＶＭ＃２の順序対を追加する変更コマンドを管理装置１に入力する。なお、ＳＰとＶＭ＃１の順序対と、ＳＰとＶＭ＃２の順序対を追加する変更コマンドについては、上述した半順序集合の制約から、管理装置１が自動的に生成できる。
【００２１】
この場合、図７の集合Ｐの要素は、テナントとＶＭ＃１の順序対と、テナントとＶＭ＃２の順序対と、ＤＣ＃１とＶＭ＃１の順序対と、ＳＰとＶＭ＃１の順序対と、ＤＣ＃２とＶＭ＃２の順序対と、ＳＰとＶＭ＃２の順序対の、合計６個となる。まず、Ｓ２２で管理ブロックとしてＳＰを選択する。この場合、Ｓ２２〜Ｓ２６の処理において、管理ブロックＳＰに対する集合Ｐｍには、６つの順序対の総てが含まれることになる。したがって、管理装置１は、この６つの順序対を追加する処理と、各順序対のブロックの属性に応じた処理を行う。
【００２２】
続いて、管理装置１は、Ｓ２３で管理ブロックとしてＤＣ＃１を選択する。この場合、Ｓ２２〜Ｓ２６の処理において、集合Ｐｍには、ＤＣ＃１とＶＭ＃１の順序対が含まれる。この場合、管理装置１は、選択したＤＣ＃１の個別管理装置２１に、ＶＭ＃１を追加する要求を送信する。個別管理装置２１は、ＶＭ＃１を追加する要求を受信すると、そのときのＤＣ＃１内での計算機資源の割当状態と、あらかじ個別管理装置２１に設定された割当て基準に従い、ＶＭ＃１を設ける計算機を決定する。ここでは、ＰＭ＃２に決定したものとする。個別管理装置２１は、ＶＭ＃１をＰＭ＃２に設ける処理と、各順序対のブロックの属性に応じた処理を行う。例えば、テナントの認証鍵は、テナントの配下にあるＶＭに引き継がれるものとする。この場合、管理装置１は、個別管理装置２１に、ＶＭ＃１を追加する要求を送信する際に、テナントの認証鍵を含める。個別管理装置２１は、受け取った認証鍵をＶＭ＃１の設定の際に使用する。また、個別管理装置２１は、ＶＭ＃１をＰＭ＃２に設けたことを管理装置１に通知する。これにより、管理装置１は、管理するブロックの包含関係を更新する。Ｓ２３で管理ブロックとしてＤＣ＃２を選択したときの処理も同様である。ここでは、個別管理装置２２は、ＶＭ＃２を、ＰＭ＃３に設定したものとする。よって、管理装置１が管理する包含関係は、図３の通りとなる。
【００２３】
管理装置１は、図３に示す包含関係を管理している。したがって、例えば、ＰＭ＃２に障害が発生したときに影響を受けるＶＭと、当該ＶＭを使用しているテナントを迅速に把握することができる。
【００２４】
図３に示す状態において、ユーザがＳＰとの間で、テナントの契約を解除したものとする。この場合、ＳＰの運用者は、管理装置１に、テナントと、テナントに含まれるＶＭ＃１及びＶＭ＃２に関する総ての順序対を削除する変更コマンドを管理装置１に入力する。図７のフローチャートにより、管理ブロックＤＣ＃１に対する集合Ｐｍには、ＤＣ＃１とＶＭ＃１の順序対と、ＰＭ＃２とＶＭ＃１の順序対が含まれることになる。したがって、管理装置１は、個別管理装置２１に、これらの削減を要求するコマンドを送信する。このとき、管理ブロックＤＣ＃２に対しても同様である。したがって、管理装置１が管理する包含関係は図４の通りとなる。また、テナントを削減するため、テナントの属性の認証鍵を、その属性として引き継ぐＶＭ＃１及びＶＭ＃２の削除の際に、これらの認証鍵をも合わせて削除される。
【００２５】
以上、本実施形態によると、資源をブロックとして管理し、ブロック間の包含関係を半順序集合の制約を満たすとの制限の元に管理する。この構成により、順序対の追加・削除を示すコマンドにより計算機資源の管理を行うことができる。また、包含関係のグラフとして計算機資源の割り当てを管理するため、計算機資源の割り当て関係が明確になる。
【００２６】
図８は、本実施形態による管理装置１の構成図である。保持部１１は、管理対象のブロックの包含関係を示す情報を保持すると共に、管理ブロックと、個別資源管理装置との対応関係を保持する。管理部１２は、入力部１５によるユーザ（運用者）が入力するコマンドを解釈し、各ブロックの包含関係を半順序集合の制約に従い管理する。生成部１３は、ユーザが順序対を操作（追加又は削除）する変更コマンドを入力すると、半順序集合の制約を満たすために必要な、順序対の変更コマンドを生成する。コマンド決定部１４は、図７の処理で生成された集合Ｐｍに基づき、コマンドを送信すべき個別資源管理装置を決定する。また、コマンド決定部１４は、当該個別資源管理装置の仕様に基づき、ユーザが入力したコマンドを実現するに必要な当該個別資源管理装置へのコマンドを決定し、決定したコマンドを当該個別資源管理装置に送信する。
【００２７】
また、本発明による管理装置１は、コンピュータを上記管理装置１として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。 
【図１】
0006385304.tif 000002
【図２】
0006385304.tif 000003
【図３】
0006385304.tif 000004
【図４】
0006385304.tif 000005
【図５】
0006385304.tif 000006
【図６】
0006385304.tif 000007
【図７】
0006385304.tif 000008
【図８】
0006385304.tif 000009