(57)【要約】【課題】資源量を設定して第三者へ使用を許可すること。【解決手段】資源使用許可システムが有する資源管理装置は、資源の種別と割り当て可能な資源の数量とを対応付けたポリシー情報と、既に割り当てた資源の種別及び資源の数量を示す資源管理情報とを参照して、要求された資源の割り当てが可能であるか否かを判定する判定部と、判定部によって要求された資源の割り当てが可能であると判定された場合には、要求された資源を第２の端末に割り当て、判定部によって前記要求された資源の割り当てが可能ではないと判定され、かつ、一定期間のみ割り当てが認められる資源の数量の所定の上限値未満である場合には、要求された資源を一定期間のみ第２の端末に割り当てる割り当て部と、を備える。【選択図】図２
2015204026.tif 000002
【特許請求の範囲】
【請求項１】
資源を管理する資源管理装置と、前記資源管理装置が管理する資源のうち認可された資源を使用する第１の端末と、前記認可された資源のうち少なくとも一部の使用を前記第１の端末から許可される第２の端末とを有する資源使用許可システムであって、
前記第２の端末は、
前記第１の端末により資源の一部の使用を許可された場合、資源の種別と前記資源の数量とを指定して、資源の割り当てを前記資源管理装置に要求する要求部を備え、
前記資源管理装置は、
資源の種別と割り当て可能な資源の数量とを対応付けたポリシー情報と、既に割り当てた資源の種別及び資源の数量を示す資源管理情報とを参照して、要求された資源の割り当てが可能であるか否かを判定する判定部と、
前記判定部によって前記要求された資源の割り当てが可能であると判定された場合には、前記要求された資源を前記第２の端末に割り当て、前記判定部によって前記要求された資源の割り当てが可能ではないと判定され、かつ、一定期間のみ割り当てが認められる資源の数量の所定の上限値以下である場合には、前記要求された資源を一定期間のみ前記第２の端末に割り当てる割り当て部と、を備える
ことを特徴とする資源使用許可システム。
【請求項２】
前記ポリシー情報は、資源の種別と前記資源の数量とに更に係数を対応付け、
前記判定部は、前記要求された資源の割り当てが可能ではないと判定した場合、前記資源の数量に、前記係数を乗算した値を前記所定の上限値とし、前記要求された種別の資源について、要求された資源の数量及び既に割り当てた数量の総数が前記所定の上限値以下である場合、前記要求された資源を一定期間のみ割り当て可能であると判定する
ことを特徴とする請求項１に記載の資源使用許可システム。
【請求項３】
前記資源管理装置は、
前記ポリシー情報は、資源の種別と割り当て可能な資源の数量とに更に鍵を対応付け、
前記要求部は、
前記鍵を用いて、前記資源管理装置に資源の割り当てを要求し、
前記判定部は、
前記ポリシー情報のうち前記鍵に対応付けられた資源の種別及び割り当て可能な資源の数量と、前記資源管理情報のうち前記鍵に対応付けられた既に割り当てた資源の種別及び資源の数量とを参照して、要求された種別の資源を要求された数量割り当て可能であるか否かを判定する
ことを特徴とする請求項１又は２に記載の資源使用許可システム。
【請求項４】
前記資源管理装置は、
資源使用量が安定した時点での資源使用量を参照して、前記割り当て可能な資源の数量を前記ポリシー情報に設定して、前記ポリシー情報を所定の記憶部に格納する設定部を更に備えたことを特徴とする請求項３に記載の資源使用許可システム。
【請求項５】
前記設定部は、時間ごとの資源使用量の推移を示すグラフを表示させ、前記グラフにおいて、前記第１の端末から前記割り当て可能な資源の数量の指定を受付けることを特徴とする請求項４に記載の資源使用許可システム。
【請求項６】
前記資源管理装置は、
前記一定期間が経過後も、前記要求された資源の割り当てが可能ではないと判定された場合、所定の処理を実行する第１の実行部を更に備えたことを特徴とする請求項１に記載の資源使用許可システム。
【請求項７】
前記資源管理装置は、
既に割り当てた資源の数量が所定の閾値に達した場合に、所定の処理を実行する第２の実行部を更に備えたことを特徴とする請求項１に記載の資源使用許可システム。
【請求項８】
資源を管理する資源管理装置と、前記資源管理装置が管理する資源のうち認可された資源を使用する第１の端末と、前記認可された資源のうち少なくとも一部の使用を前記第１の端末から許可される第２の端末とを有する資源使用許可システムで実行される資源使用許可方法あって、
前記第２の端末が、
前記第１の端末により資源の一部の使用を許可された場合、資源の種別と前記資源の数量とを指定して、資源の割り当てを前記資源管理装置に要求する要求工程を含み、
前記資源管理装置が、
資源の種別と割り当て可能な資源の数量とを対応付けたポリシー情報と、既に割り当てた資源の種別及び資源の数量を示す資源管理情報とを参照して、要求された資源の割り当てが可能であるか否かを判定する判定工程と、
前記判定工程によって前記要求された資源の割り当てが可能であると判定された場合には、前記要求された資源を前記第２の端末に割り当て、前記判定工程によって前記要求された資源の割り当てが可能ではないと判定され、かつ、一定期間のみ割り当てが認められる資源の数量の所定の上限値以下である場合には、前記要求された資源を一定期間のみ前記第２の端末に割り当てる割り当て工程と、を含む
ことを特徴とする資源使用許可方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、資源使用許可システム及び資源使用許可方法に関する。
【背景技術】
【０００２】
従来、クラウドサービスでは、ＡＰＩ（Application  Programming  Interface）と呼ばれる、外部からの操作要求を受け付ける窓口を設けることが一般的である。ＡＰＩは、クラウドサービスが提供する様々な資源と、それに対する処理に応じて設けられている。例えば、ＡＰＩは、「仮想マシンの新規作成」や「仮想マシンの削除」、「仮想ディスクの作成」といった処理を受け付ける。
【０００３】
一般に、これらの資源は使用にあたって料金が発生すること、またこれらの資源を使用している責任主体を明確化する必要が有る。このため、ユーザは、ＡＰＩを自由に使用できるわけではなく、認証を得たユーザが自身の責任の範囲で認められた（認可された）機能のみを使用する。
【０００４】
これまで、クラウドサービスではユーザ単位、もしくはユーザが所属するグループ、あるいはロールとよばれる属性単位でＡＰＩ使用の認可が行われてきた。また、認可される機能は、資源およびその集合に対する操作の単位で権限の可否が定義される。
【０００５】
近年では、このＡＰＩを使用することにより、クラウドサービス上で行う様々な操作をプログラムによって自動的に行うことが一般化している。これらの操作には、例えば、仮想マシンを用いたテスト工程がある。仮想マシンを用いたテスト工程では、開発中のアプリケーションをテストする際に、「仮想マシンの作成」を自動で呼び出すことでテスト環境を構築し、テストが完了したら「仮想マシンの削除」を自動で呼び出すことで不要になったテスト環境を破棄する。このように必要な時に資源を取得し、不要になったら破棄することにより、時間単位で課金が行われるクラウドサービスをコスト効率よく使用することが可能となる。
【０００６】
このような仮想マシンを用いたテスト工程は、複雑かつ高度な処理を伴う。このため、そのシステムの提供自体がサービスとなりうる。例えば、テストサービス提供者は、自身の認証・認可にもとづき、自身が責任を負う資源を使用してサービスを提供する。つまり、テストサービス提供者は、仮想マシンをはじめとする資源の使用料をクラウドサービス提供者に支払い、ユーザからは自身が支払った資源使用料にテストサービス自体の利用料を付加した額を徴収することで利益を得る。
【０００７】
また、テストサービス提供者は、ユーザから使用を許可された資源を用いて、このユーザが責任を負う資源を代理で使用する場合がある。言い換えると、ユーザがテストサービス提供者に権限を委譲し、テストサービス提供者は、ユーザから委譲された権限でユーザが責任を負う資源を使用する場合がある。この場合、ユーザは、クラウドサービス自体の資源使用料をクラウドサービス提供者に支払い、テストサービス提供者にはテストサービスの使用料のみを支払う。なお、かかる場合、テストサービス提供者は、クラウドサービス提供者への支払いを行わない。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】The  OAuth  2.0  Authorization  Framework、［平成26年3月27日検索］、インターネット（ＵＲＬ：http://tools.ietf.org/html/rfc6749）
【非特許文献２】aws  documentation、［平成26年3月27日検索］、インターネット（ＵＲＬ：http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/IAM_Introduction.html）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の従来技術では、資源量を設定して第三者へ使用を許可することができないという問題がある。
【００１０】
具体的には、資源の使用を第三者に許可するための技術としては、ウェブ上で広く使用されているＯＡｔｕｈが挙げられる。ＯＡｕｔｈはＲＦＣ（Request  For  Comment）として標準化が行われており、Ｇｏｏｇｌｅ（登録商標）やＦａｃｅｂｏｏｋ（登録商標）を始めとしたサイトで使用されている。ＯＡｕｔｈ  ２．０ではＳｃｏｐｅという概念が導入されており、使用を許可する単位を指定することが出来る。一方でＯＡｕｔｈにおけるＳｃｏｐｅは許可か不許可の２値（ブール値）しか取ることが出来ない。すなわち、資源量を設定して第三者へ使用を許可することが出来ない。
【００１１】
また、既存のクラウドサービスであるＡＷＳ（Amazon  Web  Service）では、ＩＡＭ（Identity  and  Access  Management）と呼ばれるアクセス制御構造が提供されており、第三者に部分的な使用を許可することが可能である。しかし、ＩＡＭでも使用の許可はシステムもしくはオブジェクトに対する操作の可否を単位として行われる。すなわち、資源量を設定して第三者へ使用を許可することが出来ない。
【００１２】
開示の技術は、上述に鑑みてなされたものであって、資源量を設定して第三者へ使用を許可することを目的とする。
【課題を解決するための手段】
【００１３】
本願の開示する資源使用許可システムは、資源を管理する資源管理装置と、資源管理装置が管理する資源のうち認可された資源を使用する第１の端末と、認可された資源のうち少なくとも一部の使用を第１の端末から許可される第２の端末とを有する。第２の端末は、第１の端末により資源の一部の使用を許可された場合、資源の種別と資源の数量とを指定して、資源の割り当てを資源管理装置に要求する要求部を備える。資源管理装置は、判定部と、割り当て部とを備える。判定部は、資源の種別と割り当て可能な資源の数量とを対応付けたポリシー情報と、既に割り当てた資源の種別及び資源の数量を示す資源管理情報とを参照して、要求された資源の割り当てが可能であるか否かを判定する。割り当て部は、判定部によって要求された資源の割り当てが可能であると判定された場合には、要求された資源を第２の端末に割り当て、判定部によって要求された資源の割り当てが可能ではないと判定され、かつ、一定期間のみ割り当てが認められる資源の数量の所定の上限値以下である場合には、要求された資源を一定期間のみ第２の端末に割り当てる。
【発明の効果】
【００１４】
開示する資源使用許可システム及び資源使用許可方法の一つの態様によれば、資源量を設定して第三者へ使用を許可することができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、第１の実施形態に係る資源使用許可システムの構成例を示す図である。
【図２】図２は、第１の実施形態に係る資源使用許可システムの構成を示す機能ブロック図である。
【図３Ａ】図３Ａは、第１の実施形態に係るグループ管理テーブルが記憶するデータ構造の一例を示す図である。
【図３Ｂ】図３Ｂは、第１の実施形態に係るデフォルトポリシー管理テーブルが記憶するデータ構造の一例を示す図である。
【図３Ｃ】図３Ｃは、第１の実施形態に係る操作可否管理テーブルが記憶するデータ構造の一例を示す図である。
【図４Ａ】図４Ａは、第１の実施形態に係るクオータ管理テーブルが記憶するデータ構造の一例を示す図である。
【図４Ｂ】図４Ｂは、第１の実施形態に係る逸脱時アクション管理テーブルが記憶するデータ構造の一例を示す図である。
【図５】図５は、第１の実施形態に係る資源管理テーブルが記憶するデータ構造の一例を示す図である。
【図６】図６は、第１の実施形態に係る資源管理装置１００による処理手順を示すフローチャートである。
【図７】図７は、第１の実施形態の変形例に係る設定部を説明するための図である。
【図８】図８は、資源使用許可プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１６】
以下に、開示する資源使用許可システム及び資源使用許可方法の実施形態について、図面に基づいて詳細に説明する。なお、本実施形態により開示する発明が限定されるものではない。
【００１７】
（第１の実施形態）
図１は、第１の実施形態に係る資源使用許可システム１の構成例を示す図である。図１に示すように、資源使用許可システム１は、ユーザ端末１０と、サービス提供者端末２０と、資源管理装置１００とが含まれる。
【００１８】
ユーザ端末１０は、ユーザＡにより操作される端末である。このユーザＡは、資源管理装置１００により提供されるクラウドサービスの契約者である。クラウドサービスとして提供される資源の種別には、例えば、仮想マシン、仮想ディスク、ＩＰ（Internet  Protocol）アドレス、スナップショット、ＤＮＳ（Domain  Name  System）などが含まれる。
【００１９】
また、ユーザＡは、クラウドサービスを利用するにあたり、例えば、使用を許可する操作の主体に対応付けて、資源の種別及び数量の上限値を「ポリシー」として定義し、資源管理装置１００に設定する。ここで、操作の主体は、クラウドサービス上の仮想マシンや仮想ディスクといった資源を取り扱う主体を示す。例えば、操作の主体には、「プロジェクト」、「サブプロジェクト」、「グループ」、「ロール」、「ユーザ」、「ＡＰＩキー（「鍵」とも言う）」などが含まれる。なお、各操作の主体にはそれぞれ「ユーザ名」及び「パスワード」が認証情報として設定される。また、「ＡＰＩキー」については、パスワードを設定しなくてもよいものとする。
【００２０】
サービス提供者端末２０は、サービス提供者により操作される端末である。このサービス提供者は、例えば、ユーザの依頼に応じて、仮想マシンを用いたソフトウェアのテスト工程を実行する。なお、サービス提供者は、例えばサービス提供者が契約するクラウドサービスにおいてテスト工程を実行してもよく、或いは、ユーザから使用許可を得ることで、ユーザが契約するクラウドサービスにおいてテスト工程を実行してもよい。第１の実施形態では、サービス提供者は、ユーザＡから使用許可を得ることで、ユーザＡが契約するクラウドサービスにおいてテスト工程を実行するものとして説明する。
【００２１】
資源管理装置１００は、仮想化環境を実現し、契約者にクラウドサービスを提供する。このため資源管理装置１００には、サービスを利用するユーザ端末１０やサービス提供者端末２０が図示しないネットワークを介して接続される。
【００２２】
このように構成される資源使用許可システム１において、ユーザ端末１０は、資源管理装置１００に、例えば、ＡＰＩキーＡに対応付けて、使用を許可する資源の種別及び数量の上限値を設定する（ステップＳ１）。続いて、ユーザ端末１０は、サービス提供者端末２０に、仮想マシンを用いたテスト工程の実行を依頼する（ステップＳ２）。ここで、ユーザ端末１０は、使用が許可された資源の種別及び数量の上限値が対応付けられたＡＰＩキーＡをサービス提供者端末２０に受け渡す。
【００２３】
そして、サービス提供者端末２０は、ユーザ端末１０によって使用を許可された資源の割り当てを資源管理装置１００に要求する（ステップＳ３）。ここで、サービス提供者端末２０は、ＡＰＩキーＡを用いて認証を行い、テスト工程の実行に用いる資源の種別と数量とを指定して資源の割り当てを要求する。かかる場合、資源管理装置１００は、ＡＰＩキーＡによる認証を行う。そして、資源管理装置１００は、認証に成功した場合には、指定された資源の割り当てを行うか否かを判定する。例えば、資源管理装置１００は、資源の種別と割り当て可能な資源の数量とを対応付けたポリシー情報と、既に割り当てた資源の種別及び資源の数量を示す資源管理情報とを参照して、要求された資源の割り当て可能であるか否かを判定する。そして、資源管理装置１００は、要求された資源の割り当てが可能であると判定した場合には、要求された資源をサービス提供者端末２０に割り当てる。一方、資源管理装置１００は、要求された資源の割り当てが可能ではないと判定し、かつ、一定期間のみ割り当てが認められる資源の数量の所定の上限値未満である場合には、要求された資源を一定期間のみサービス提供者端末２０に割り当てる。
【００２４】
次に、資源使用許可システム１が有する各装置の詳細について説明する。図２は、第１の実施形態に係る資源使用許可システム１の構成を示す機能ブロック図である。なお、図２に示すように、ユーザ端末１０と、サービス提供者端末２０と、資源管理装置１００とは、ネットワーク２によって互いに通信可能に接続される。なお、図２では、ユーザ端末１０と、サービス提供者端末２０と、資源管理装置１００とを図示したが、資源使用許可システム１に含まれるユーザ端末やサービス提供者端末の数は、図２に図示した数に限定されるものではない。また、ユーザ端末１０のことを「第１の端末」とも称し、サービス提供者端末２０のことを「第２の端末」とも称する場合がある。
【００２５】
図２に示すように、ユーザ端末１０は、入力部１１と、出力部１２と、通信制御部１３と、記憶部１４と、制御部１５とを有する。入力部１１は、ユーザ端末１０の操作者から各種情報の入力操作を受付ける。例えば、入力部１１は、使用を許可する操作の主体に対応付けて、資源の種別及び数量の上限値の設定をユーザＡから受付ける。また、例えば、入力部１１は、サービス提供者端末２０への仮想マシンを用いたテスト工程の実行の依頼をユーザＡから受付ける。ここで、入力部１１は、使用を許可する操作の主体として例えば「ＡＰＩキーＡ」の指定をユーザＡから受付ける。出力部１２は、各種情報を表示する表示デバイスであり、例えば液晶ディスプレイ等である。
【００２６】
通信制御部１３は、例えば、ＬＡＮカードなどの通信インターフェースであり、サービス提供者端末２０や資源管理装置１００との間の各種データの送受信を制御する。記憶部１４は、例えば、半導体メモリ素子又はハードディスクなどの記憶装置であり、ユーザ端末１０が実行する各種処理に用いるデータなどを記憶する。
【００２７】
制御部１５は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路であり、設定受付部１５ａと、依頼部１５ｂとを有する。設定受付部１５ａは、使用を許可する操作の主体に対応付けて、資源の種別及び数量の上限値の設定をユーザＡから受付けた場合に、受付けた「操作の主体」、「資源の種別」及び「数量の上限値」を資源管理装置１００に設定させる。例えば、設定受付部１５ａは、ユーザＡが使用する資源として仮想マシンの上限値を１０台とする設定を受付けた場合、「操作の主体」として「ユーザＡ」、「資源の種別」として「仮想マシン」、「数量の上限値」として「１０」を資源管理装置１００に設定させる。同様に、設定受付部１５ａは、ＡＰＩキーＡが使用する資源として仮想マシンの上限値を１０台とする設定を受付けた場合、「操作の主体」として「ＡＰＩキーＡ」、「資源の種別」として「仮想マシン」、「数量の上限値」として「１０」を資源管理装置１００に設定させる。
【００２８】
依頼部１５ｂは、サービス提供者端末２０への仮想マシンを用いたテスト工程の実行の依頼をユーザＡから受付けた場合、設定受付部１５ａにより設定された認証情報をサービス提供者端末２０に対して引き渡すことで、サービス提供者端末２０にテスト工程の実行を依頼する。例えば、依頼部１５ｂは、認証情報として「ＡＰＩキーＡ」をサービス提供者端末２０に対して引き渡す。
【００２９】
サービス提供者端末２０は、通信制御部２３と、記憶部２４と、制御部２５とを有する。通信制御部２３は、例えば、ＬＡＮカードなどの通信インターフェースであり、ユーザ端末１０や資源管理装置１００との間の各種データの送受信を制御する。記憶部２４は、例えば、半導体メモリ素子又はハードディスクなどの記憶装置であり、サービス提供者端末２０が実行する各種処理に用いるデータなどを記憶する。
【００３０】
制御部２５は、例えば、ＣＰＵやＭＰＵなどの電子回路であり、割り当て要求部２５ａを有する。割り当て要求部２５ａは、テスト工程の実行の依頼をユーザ端末１０から受付けた場合、テスト工程の実行に用いる資源の割り当てを資源管理装置１００に要求する。例えば、割り当て要求部２５ａは、ユーザ端末１０から引き渡された認証情報と、要求する操作と、割り当てる資源の種別及び数量とを含んだ資源割り当て要求を生成し、資源管理装置１００に送信する。
【００３１】
資源管理装置１００は、通信制御部１０３と、記憶部１０４と、制御部１０８とを有する。通信制御部１０３は、例えば、ＬＡＮカードなどの通信インターフェースであり、ユーザ端末１０やサービス提供者端末２０との間の各種データの送受信を制御する。記憶部１０４は、例えば、半導体メモリ素子又はハードディスクなどの記憶装置であり、資源管理装置１００が実行する各種処理に用いるデータなどを記憶する。例えば、記憶部１０４は、操作可否管理ＤＢ（Data  Base）１０５と、ポリシーＤＢ１０６と、資源管理ＤＢ１０７とを有する。
【００３２】
操作可否管理ＤＢ１０５は、グループ管理テーブル１０５ａと、デフォルトポリシー管理テーブル１０５ｂと、操作可否管理テーブル１０５ｃとを有し、操作の主体が、資源に対する操作を認可されているか否かを示す情報を記憶する。
【００３３】
グループ管理テーブル１０５ａは、ユーザが属するグループを示す情報を記憶する。図３Ａは、第１の実施形態に係るグループ管理テーブル１０５ａが記憶するデータ構造の一例を示す図である。図３Ａに示すように、グループ管理テーブル１０５ａは、「ユーザ」と「グループ」とを対応付けた情報を記憶する。
【００３４】
ここで、グループ管理テーブル１０５ａが記憶する「ユーザ」は、ユーザの識別子を示す。例えば、「ユーザ」には、「ユーザＢ」、「ユーザＣ」などのデータ値が格納される。また、グループ管理テーブル１０５ａが記憶する「グループ」は、グループの識別子を示す。例えば、「グループ」には、「グループＡ」などのデータ値が格納される。一例をあげると、図３Ａに示すグループ管理テーブル１０５ａは、ユーザＢ及びユーザＣがグループＡに属していることを示す。
【００３５】
デフォルトポリシー管理テーブル１０５ｂは、資源プールに対するデフォルト状態における操作の可否を示す情報を記憶する。図３Ｂは、第１の実施形態に係るデフォルトポリシー管理テーブル１０５ｂが記憶するデータ構造の一例を示す図である。図３Ｂに示すように、デフォルトポリシー管理テーブル１０５ｂは、「対象」と、「主体」と、「デフォルトポリシー」とを対応付けた情報を記憶する。
【００３６】
ここで、デフォルトポリシー管理テーブル１０５ｂが記憶する「対象」は、資源プールの識別子を示す。例えば、「対象」には、「資源プールＡ」、「資源プールＢ」などのデータ値が格納される。
【００３７】
また、デフォルトポリシー管理テーブル１０５ｂが記憶する「主体」は、対象の操作権限を有する主体を示す。例えば、「主体」には、「ユーザＡ」、「グループＡ」などのデータ値が格納される。
【００３８】
また、デフォルトポリシー管理テーブル１０５ｂが記憶する「デフォルトポリシー」は、操作の可否を示す。例えば、「デフォルトポリシー」には、デフォルト状態において操作を許可することを示す「許可」、デフォルト状態において操作を許可しないことを示す「不可」などのデータ値が格納される。
【００３９】
一例をあげると、図３Ｂに示すデフォルトポリシー管理テーブル１０５ｂは、資源プールＡに対するユーザＡの操作がデフォルト状態において許可されていることを示す。同様に、図３Ｂに示すデフォルトポリシー管理テーブル１０５ｂは、資源プールＢに対するグループＡの操作がデフォルト状態において許可されていないことを示す。
【００４０】
操作可否管理テーブル１０５ｃは、操作の主体ごとに資源の種別に対する操作の可否を示す情報を記憶する。図３Ｃは、第１の実施形態に係る操作可否管理テーブル１０５ｃが記憶するデータ構造の一例を示す図である。図３Ｂに示すように、操作可否管理テーブル１０５ｃは、「ユーザ」と「資源種別」と「操作」と「可否」と「対象」とを対応付けた情報を記憶する。
【００４１】
ここで、操作可否管理テーブル１０５ｃが記憶する「ユーザ」は、ユーザの識別子を示す。例えば、「ユーザ」には、「ユーザＡ」、「ユーザＢ」、「ユーザＣ」などのデータ値が格納される。また、操作可否管理テーブル１０５ｃが記憶する「資源種別」は、資源の種別を示す。例えば、「資源種別」には、「仮想ディスク」、「仮想マシン」などのデータ値が格納される。
【００４２】
また、操作可否管理テーブル１０５ｃが記憶する「操作」は、資源種別に対する操作内容を示す。例えば、「操作」には、「作成」、「削除」などのデータ値が格納される。また、操作可否管理テーブル１０５ｃが記憶する「可否」は、操作の可否を示す。例えば「可否」には、操作を許可する「許可」、操作を許可しない「不可」などのデータ値が格納される。また、操作可否管理テーブル１０５ｃが記憶する「対象」は、資源プールの識別子を示す。例えば、「対象」には、「資源プールＡ」、「資源プールＢ」などのデータ値が格納される。
【００４３】
一例をあげると、図３Ｃに示す操作可否管理テーブル１０５ｃは、デフォルト状態において資源プールＡの操作が許可されているが、「ユーザＡ」は、この資源プールＡを用いて、仮想ディスクを作成したり削除したりする操作を許可されていないことを示す。同様に、図３Ｃに示す操作可否管理テーブル１０５ｃは、デフォルト状態において資源プールＢの操作が許可されていないが、「ユーザＢ」は、この資源プールＢを用いた仮想マシンを作成したり削除したりする操作を許可されていることを示す。
【００４４】
図２に戻る。ポリシーＤＢ１０６は、クオータ管理テーブル１０６ａと、逸脱時アクション管理テーブル１０６ｂとを有し、通常時及び一時的に資源の使用量が増加する逸脱時における、操作の主体に許可された資源の種別ごとの資源の数量を示す情報を記憶する。
【００４５】
クオータ管理テーブル１０６ａは、操作の主体に許可された資源の種別ごとの使用量を示す情報を記憶する。図４Ａは、第１の実施形態に係るクオータ管理テーブル１０６ａが記憶するデータ構造の一例を示す図である。図４Ａに示すように、クオータ管理テーブル１０６ａは、「主体」と「資源種別」と「制限タイプ」と「値」と「一時オーバーコミット係数」と「一時オーバーコミット制限時間（分）」と「逸脱時アクションＩＤ」とを対応付けた情報を記憶する。
【００４６】
ここで、クオータ管理テーブル１０６ａが記憶する「主体」は、操作の主体となるユーザの識別子を示す。例えば、「主体」には、「ユーザＡ」、「ＡＰＩキーＡ」、「サブプロジェクトＡ」などのデータ値が格納される。また、クオータ管理テーブル１０６ａが記憶する「資源種別」は、資源の種別を示す。例えば、「資源種別」には、「仮想ディスク」、「仮想マシン」などのデータ値が格納される。
【００４７】
また、クオータ管理テーブル１０６ａが記憶する「制限タイプ」は、資源の使用量の制限を示す。例えば、「制限タイプ」には、数量で上限値を制限することを示す「数量上限」などのデータ値が格納される。また、クオータ管理テーブル１０６ａが記憶する「値」は、資源の使用量の数値を示す。例えば、「値」には、「１０」などのデータ値が格納される。
【００４８】
また、クオータ管理テーブル１０６ａが記憶する「一時オーバーコミット係数」は、一時的に資源の使用量が増加する逸脱時において、一定期間のみ割り当てが認められる資源の数量に対する係数を示す。例えば、「一時オーバーコミット係数」には、「２」、「３」などのデータ値が格納される。すなわち、「値」に「係数」を乗算した値は、一時的に資源の使用量が増加する逸脱時において、一定期間のみ割り当てが認められる資源の数量の所定の上限値を示す。
【００４９】
また、クオータ管理テーブル１０６ａが記憶する「一時オーバーコミット制限時間（分）」は、一時的に資源の使用量が増加する逸脱時において、資源の割り当てを認める一定期間を示す。例えば、「一時オーバーコミット制限時間（分）」には、「６０」、「１０」、「３０」などのデータ値が格納される。また、クオータ管理テーブル１０６ａが記憶する「逸脱時アクションＩＤ」は、一時オーバーコミット制限時間を超過した場合に実行する処理の識別子を示す。例えば、「逸脱時アクションＩＤ」には、「１」、「１，２」、「１，３」などのデータ値が格納される。なお、「逸脱時アクションＩＤ」に対応付く処理については後述する。
【００５０】
一例をあげると、図４Ａに示すクオータ管理テーブル１０６ａは、操作の主体が「ユーザＡ」である場合、仮想マシンに対する操作は、通常時には１０台を上限とし、一時的に資源の使用量が増加する逸脱時において、６０分に限り２０台まで操作を許容することを示す。なお、図４Ａに示すクオータ管理テーブル１０６ａは、操作の主体が「ユーザＡ」である場合、一時オーバーコミット制限時間を超過した場合には、「１」の処理を実行することを示す。
【００５１】
また、同様に、図４Ａに示すクオータ管理テーブル１０６ａは、操作の主体が「ＡＰＩキーＡ」である場合、仮想マシンに対する操作は、通常時には１０台を上限とし、一時的に資源の使用量が増加する逸脱時において、１０分に限り３０台まで操作を許容することを示す。なお、図４Ａに示すクオータ管理テーブル１０６ａは、操作の主体が「ＡＰＩキーＡ」である場合、一時オーバーコミット制限時間を超過した場合には、「１」と「２」の処理を実行することを示す。
【００５２】
逸脱時アクション管理テーブル１０６ｂは、一時オーバーコミット制限時間を超過した場合に実行する処理を示す情報を記憶する。図４Ｂは、第１の実施形態に係る逸脱時アクション管理テーブル１０６ｂが記憶するデータ構造の一例を示す図である。図４Ｂに示すように、逸脱時アクション管理テーブル１０６ｂは、「ＩＤ」と「アクションタイプ」とを対応付けた情報を記憶する。
【００５３】
ここで、逸脱時アクション管理テーブル１０６ｂが記憶する「ＩＤ」は、逸脱時アクションの識別子を示す。例えば、「ＩＤ」には、「０」、「１」、「２」などのデータ値が格納される。また、逸脱時アクション管理テーブル１０６ｂが記憶する「アクションタイプ」は、一時オーバーコミット制限時間を超過した場合に実行する処理を示す。例えば、「アクションタイプ」には、「何もしない」、「メール送信」などのデータ値が格納される。
【００５４】
一例をあげると、図４Ｂに示す逸脱時アクション管理テーブル１０６ｂは、「ＩＤ」が「０」である場合は、「何もしない」ことを示す。また、図４Ｂに示す逸脱時アクション管理テーブル１０６ｂは、「ＩＤ」が「１」である場合は、ユーザにメールを送信して一時オーバーコミット制限時間の超過を通知することを示し、「ＩＤ」が「２」である場合は、ユーザにボイスメッセージを送信して一時オーバーコミット制限時間の超過を通知することを示す。また、図４Ｂに示す逸脱時アクション管理テーブル１０６ｂは、「ＩＤ」が「３」である場合は、所定のプログラムを実行することを示し、「ＩＤ」が「９９」である場合は、強制的に割り当てた資源を削除することを示す。
【００５５】
図２に戻る。資源管理ＤＢ１０７は、資源管理テーブル１０７ａを有し、割り当て済みの資源の種別と数量とを示す情報を記憶する。資源管理テーブル１０７ａは、操作の主体ごとに割り当て済みの資源の種別と数量とを示す情報を記憶する。図５は、第１の実施形態に係る資源管理テーブル１０７ａが記憶するデータ構造の一例を示す図である。
【００５６】
図５に示すように、資源管理テーブル１０７ａは、「資源」と「資源種別」と「所有者」とを対応付けた情報を記憶する。
【００５７】
ここで、資源管理テーブル１０７ａが記憶する「資源」は、資源の名称を示す。例えば、「資源」には、「仮想マシンＡ」、「仮想マシンＢ」、「仮想ディスクＡ」などのデータ値が格納される。また、資源管理テーブル１０７ａが記憶する「資源種別」は、資源の種別を示す。例えば、「資源種別」には、「仮想マシン」、「仮想ディスク」などのデータ値が格納される。また、資源管理テーブル１０７ａが記憶する「所有者」は、資源を割り当てた操作の主体を示す。例えば、「所有者」には、「ユーザＡ」、「ＡＰＩキーＡ」などのデータ値が格納される。
【００５８】
一例をあげると、図５に示す資源管理テーブル１０７ａは、ユーザＡには、仮想マシンＡ及び仮想マシンＣの計２台の仮想マシンを割り当てていることを示し、ＡＰＩキーＡには、仮想マシンＢを１台だけ割り当てていることを示す。
【００５９】
図２に戻る。制御部１０８は、例えば、ＣＰＵやＭＰＵなどの電子回路であり、クラウドサービスの提供に関わる処理を制御する。例えば、制御部１０８は、クラウドサービスが提供する資源の割り当てを制御するＡＰＩ処理部１１０を有する。このＡＰＩ処理部１１０は、図２に示すように、認証部１１１と、判定部１１２と、割り当て部１１３と、設定部１１４と、第１の実行部１１５と、第２の実行部１１６とを有する。
【００６０】
認証部１１１は、資源割り当て要求を他の装置から受信した場合に、資源割り当て要求に含まれる認証情報を用いて、資源割り当てを要求した装置について認証を行う。例えば、認証部１１１は、クラウドサービスの契約者であるユーザ端末１０から資源割り当て要求を受信した場合、認証情報としてユーザ名及びパスワードを用いて、ユーザ端末１０の認証を行う。また、例えば、認証部１１１は、クラウドサービスの契約者から資源の使用を許可されたサービス提供者端末２０から資源割り当て要求を受信した場合、認証情報としてＡＰＩキーＡを用いて、サービス提供者端末２０の認証を行う。
【００６１】
認証部１１１は、認証に成功したと判定した場合、資源割り当て要求を判定部１１２に引き渡す。一方、認証部１１１が、認証に成功したと判定しなかった場合、制御部１０８は、資源割り当てを要求した装置にエラーを通知する。
【００６２】
判定部１１２は、操作可否管理ＤＢ１０５を参照して、資源の割り当てを要求した装置が、割り当てを要求した資源に対する操作を認可されているか否かを判定する。例えば、判定部１１２は、デフォルトポリシー管理テーブル１０５ｂを参照して、資源の割り当てを要求した装置のデフォルトポリシーを読み込む。
【００６３】
ここで、判定部１１２は、読み込んだデフォルトポリシーが「許可」である場合、操作可否管理テーブル１０５ｃに資源の割り当てを要求した装置が認証に用いた認証情報、割り当てを要求した資源の種別及び要求した操作が登録されているか否かを判定する。判定部１１２は、資源の割り当てを要求した装置が認証に用いた認証情報、割り当てを要求した資源の種別及び要求した操作が登録されていると判定した場合、資源の割り当てを要求した装置が、割り当てを要求した資源に対する操作を認可されていないと判定する。一方、判定部１１２は、資源の割り当てを要求した装置が認証に用いた認証情報、割り当てを要求した資源の種別及び要求した操作が登録されていると判定しなかった場合、資源の割り当てを要求した装置が、割り当てを要求した資源に対する操作を認可されていると判定する。
【００６４】
また、判定部１１２は、読み込んだデフォルトポリシーが「不可」である場合、操作可否管理テーブル１０５ｃに資源の割り当てを要求した装置が認証に用いた認証情報、割り当てを要求した資源の種別及び要求した操作が登録されているか否かを判定する。判定部１１２は、資源の割り当てを要求した装置が認証に用いた認証情報、割り当てを要求した資源の種別及び要求した操作が登録されていると判定した場合、資源の割り当てを要求した装置が、割り当てを要求した資源に対する操作を認可されていると判定する。一方、判定部１１２は、資源の割り当てを要求した装置が認証に用いた認証情報、割り当てを要求した資源の種別及び要求した操作が登録されていると判定しなかった場合、資源の割り当てを要求した装置が、割り当てを要求した資源に対する操作を認可されていないと判定する。
【００６５】
また、判定部１１２は、資源の割り当てを要求した装置が認可されていると判定した場合には、要求された資源の割り当て可能であるか否かを判定する。例えば、判定部１１２は、資源の種別と割り当て可能な資源の数量とを対応付けたポリシーＤＢ１０６と、既に割り当てた資源の種別及び資源の数量を示す資源管理ＤＢ１０７とを参照して、要求された資源の割り当て可能であるか否かを判定する。
【００６６】
ここで、判定部１１２は、ポリシーＤＢ１０６のクオータ管理テーブル１０６ａのうち「主体」に対応付けられた資源の種別及び割り当て可能な資源の数量と、資源管理ＤＢ１０７の資源管理テーブル１０７ａのうち「所有者」に対応付けられた既に割り当てた資源の種別及び資源の数量とを参照して、要求された種別の資源を要求された数量割り当て可能であるか否かを判定する。
【００６７】
より具体的には、判定部１１２は、クオータ管理テーブル１０６ａのうち「主体」に対応付けられた「資源種別」のうち、要求された「資源種別」について「制限タイプ」及び「値」を読み込むことで資源の種別及び割り当て可能な資源の数量を特定する。また、資源管理テーブル１０７ａのうち「所有者」に対応付けられた「資源種別」のうち、要求された「資源種別」の数を算出することで既に割り当てた資源の種別及び資源の数量を特定する。そして、判定部１１２は、割り当て可能な資源の数量から既に割り当てた資源の数量を減算することで、現時点で割り当て可能な資源の数量を特定する。
【００６８】
そして、判定部１１２は、要求された種別の資源の数量が、現時点で割り当て可能な資源の数量以下であるか否かを判定する。ここで、判定部１１２は、要求された種別の資源の数量が、現時点で割り当て可能な資源の数量以下であると判定した場合、要求された資源の割り当てが可能であると判定する。一方、判定部１１２は、要求された種別の資源の数量が、現時点で割り当て可能な資源の数量以下であると判定しなかった場合、要求された資源の割り当てが可能ではないと判定する。なお、要求された種別の資源の数量が、現時点で割り当て可能な資源の数量以下ではない状態は、ポリシーを逸脱している状態であり、この状態のことを単に「ポリシー逸脱」と記載する場合がある。
【００６９】
一例をあげると、ＡＰＩキーＡを用いて、仮想マシンの作成を要求された場合について説明する。なお、ここでは、割り当て可能な仮想マシンの上限値が１０台であり、既に割り当てた仮想マシンが３台である場合について説明する。かかる場合、判定部１１２は、現時点で割り当て可能な仮想マシンの数量の上限値が７台であると特定する。そして、判定部１１２は、サービス提供者端末２０から仮想マシン２台の作成を要求された場合、要求された種別の資源の数量が、現時点で割り当て可能な資源の数量以下であるので、要求された仮想マシンの作成が可能であると判定する。一方、判定部１１２は、サービス提供者端末２０から仮想マシン８台の作成を要求された場合、要求された種別の資源の数量が、現時点で割り当て可能な資源の数量以下ではないので、要求された仮想マシンの作成が可能ではないと判定する。
【００７０】
また、判定部１１２は、要求された資源の割り当てが可能ではないと判定した場合には、要求された資源を一定期間のみ割り当て可能であるか否かを判定する。例えば、判定部１１２は、資源の数量に、係数を乗算した値を所定の上限値とし、要求された種別の資源について、要求された資源の数量及び既に割り当てた数量の総数が所定の上限値未満である場合、要求された資源を一定期間のみ割り当て可能であると判定する。なお、ポリシー逸脱時に、要求された資源を一定期間のみ割り当てることを、オーバーコミットとも言う。
【００７１】
より具体的には、判定部１１２は、クオータ管理テーブル１０６ａのうち「主体」に対応付けられた「資源種別」のうち、要求された「資源種別」について「値」及び「オーバーコミット係数」を読み込む。そして、判定部１１２は、読み込んだ「値」及び「オーバーコミット係数」を乗算した値を一時オーバーコミット時の資源数量の上限値として特定する。続いて、判定部１１２は、一時オーバーコミット時の資源数量の上限値から既に割り当てた資源の数量を減算することで、一時オーバーコミット時点で割り当て可能な資源の数量を特定する。
【００７２】
そして、判定部１１２は、要求された種別の資源の数量が、一時オーバーコミット時点で割り当て可能な資源の数量以下であるか否かを判定する。ここで、判定部１１２は、要求された種別の資源の数量が、一時オーバーコミット時点で割り当て可能な資源の数量以下であると判定した場合、要求された資源を一定期間のみ割り当て可能であると判定する。一方、判定部１１２は、要求された種別の資源の数量が、一時オーバーコミット時点で割り当て可能な資源の数量以下であると判定しなかった場合、要求された資源の割り当てが可能ではないと判定する。
【００７３】
一例をあげると、ＡＰＩキーＡを用いて、仮想マシンの作成を要求された場合について説明する。なお、ここでは、割り当て可能な仮想マシンの上限値が１０台であり、オーバーコミット係数が３であり、既に割り当てた仮想マシンが３台である場合について説明する。かかる場合、判定部１１２は、一時オーバーコミット時の仮想マシン数量の上限値が３０台であると特定し、また、一時オーバーコミット時点で割り当て可能な仮想マシンの数量の上限値が２７台であると特定する。そして、判定部１１２は、サービス提供者端末２０から仮想マシン８台の作成を要求された場合、要求された種別の資源の数量が、一時オーバーコミット時点で割り当て可能な仮想マシンの数量の上限値以下であるので、要求された仮想マシンの作成が一定期間のみ可能であると判定する。
【００７４】
また、判定部１１２は、資源管理ＤＢ１０７が有する資源管理テーブル１０７ａにおいて、割り当てた資源について、資源の名称、資源の種別及び資源を割り当てた操作の主体をそれぞれ「資源」、「資源の種別」及び「所有者」に対応付けて格納する。なお、判定部１１２は、要求された仮想マシンの作成が一定期間のみ可能であると判定した場合には、クオータの範囲以上に資源を割り当てていることを示すイベントログを記録する。言い換えると、イベントログが記録されている場合には、オーバーコミットが行われたことを示す。
【００７５】
割り当て部１１３は、判定部１１２によって要求された資源の割り当てが可能であると判定された場合には、要求された資源を資源の割り当てを要求した装置に割り当てる。例えば、割り当て部１１３は、ユーザＡが契約するクラウドサービス上で、ユーザ端末１０から依頼を受けたサービス提供者端末２０に要求された資源を割り当てる。
【００７６】
また、割り当て部１１３は、判定部１１２によって要求された資源の割り当てが可能ではないと判定され、かつ、一定期間のみ割り当てが認められる資源の数量の所定の上限値未満である場合には、要求された資源を一定期間のみ資源の割り当てを要求した装置に割り当てる。例えば、割り当て部１１３は、ユーザＡが契約するクラウドサービス上で、ユーザ端末１０から依頼を受けたサービス提供者端末２０に要求された資源を一定期間のみ割り当てる。
【００７７】
設定部１１４は、ユーザ端末１０からポリシーの定義を受付けた場合、受付けたポリシーの定義をクオータ管理テーブル１０６ａに格納する。ここで、設定部１１４は、例えば、資源の種別と割り当て可能な資源の数量とに更にＡＰＩキーなどの操作の主体を対応付けたポリシーをクオータ管理テーブル１０６ａに格納する。
【００７８】
第１の実行部１１５は、オーバーコミットを行った際に、所定の期間経過後もポリシー逸脱が継続している場合に、所定の処理を実行する。例えば、第１の実行部１１５は、イベントログが記録されている場合、一定期間が経過したか否かを判定する。ここで、第１の実行部１１５は、一定期間が経過後も、ポリシー逸脱が継続している場合、クオータ管理テーブル１０６ａ及び逸脱時アクション管理テーブル１０６ｂを参照して、所定の処理を実行する。例えば、第１の実行部１１５は、クオータ管理テーブル１０６ａにおいて、認証主体に対応する「逸脱時アクションＩＤ」の値を読み込み、読み込んだ値と対応する処理を逸脱時アクション管理テーブル１０６ｂから特定する。そして、第１の実行部１１５は、メール送信、ボイスメッセージ送信、プログラム実行など特定した処理を実行する。
【００７９】
第２の実行部１１６は、既に割り当てた資源の数量が所定の閾値に達した場合に、所定の処理を実行する。例えば、第２の実行部１１６は、資源管理テーブル１０７ａを参照して、既に割り当てた資源の数量が所定の閾値に達したか否かを判定する。ここで、第２の実行部１１６は、既に割り当てた資源の数量が所定の閾値に達したと判定した場合、クオータ管理テーブル１０６ａ及び逸脱時アクション管理テーブル１０６ｂを参照して、所定の処理を実行する。例えば、第２の実行部１１６は、クオータ管理テーブル１０６ａにおいて、認証主体に対応する「逸脱時アクションＩＤ」の値を読み込み、読み込んだ値と対応する処理を逸脱時アクション管理テーブル１０６ｂから特定する。そして、第２の実行部１１６は、メール送信、ボイスメッセージ送信、プログラム実行など特定した処理を実行する。
【００８０】
次に、図６を用いて、資源管理装置１００による処理手順について説明する。図６は、第１の実施形態に係る資源管理装置１００による処理手順を示すフローチャートである。図６に示すように、認証部１１１は、資源割り当て要求を受信する（ステップＳ１０１）。ここで、認証部１１１は、ユーザ名及びパスワードと、要求する操作と、割り当てる資源の種別及び数量とを含んだ資源割り当て要求を受信する。
【００８１】
続いて、認証部１１１は、ユーザ名及びパスワードの入力を受付け（ステップＳ１０２）、認証に成功したか否かを判定する（ステップＳ１０３）。ここで、認証部１１１によって認証に成功したと判定された場合（ステップＳ１０３、Ｙｅｓ）、判定部１１２は、認証主体に紐付いたポリシーを読み込む（ステップＳ１０４）。なお、認証部１１１によって認証に成功したと判定されなかった場合（ステップＳ１０３、Ｎｏ）、制御部１０８は、資源割り当てを要求した装置にエラーを通知する(ステップＳ１１８)。
【００８２】
判定部１１２は、操作可否管理ＤＢ１０５を参照して、認証主体が要求した操作を認可されているか否かを判定する（ステップＳ１０５）。ここで、判定部１１２によって認証主体が要求した操作を認可されていると判定されなかった場合（ステップＳ１０５、Ｎｏ）、制御部１０８は、資源割り当てを要求した装置にエラーを通知する(ステップＳ１１８)。
【００８３】
一方、判定部１１２は、認証主体が要求した操作を認可されていると判定した場合（ステップＳ１０５、Ｙｅｓ）、資源量が増減する操作であるか否かを判定する（ステップＳ１０６）。ここで、判定部１１２によって資源量が増減する操作であると判定されなかった場合（ステップＳ１０６、Ｎｏ）、資源管理装置１００は、要求された処理を開始する（ステップＳ１１９）。
【００８４】
ここで、判定部１１２は、資源量が増減する操作であると判定した場合（ステップＳ１０６、Ｙｅｓ）、資源管理ＤＢ１０７を参照して、認証対象が現在使用している資源量を読み込む（ステップＳ１０７）。そして、判定部１１２は、認証対象に求められたクオータ範囲内であるか否かを判定する（ステップＳ１０８）。ここで、判定部１１２は、認証対象に求められたクオータ範囲内であると判定した場合（ステップＳ１０８、Ｙｅｓ）、資源管理ＤＢ１０７を更新する（ステップＳ１０９）。続いて、割り当て部１１３は、資源の割り当てを開始する（ステップＳ１１０）。
【００８５】
一方、判定部１１２は、認証対象に求められたクオータ範囲内であると判定しなかった場合（ステップＳ１０８、Ｎｏ）、一時オーバーコミットの範囲内であるか否かを判定する（ステップＳ１１１）。判定部１１２は、一時オーバーコミットの範囲内であると判定した場合（ステップＳ１１１、Ｙｅｓ）、資源管理ＤＢ１０７を更新する（ステップＳ１１２）。また、判定部１１２は、イベントログを記録する（ステップＳ１１３）。なお、判定部１１２によって一時オーバーコミットの範囲内であると判定されなかった場合（ステップＳ１１１、Ｎｏ）、制御部１０８は、資源割り当てを要求した装置にエラーを通知する(ステップＳ１１８)。
【００８６】
続いて、割り当て部１１３は、資源の割り当てを開始する（ステップＳ１１４）。資源の割り当てを開始した後、第１の実行部１１５は、所定の期間が経過したか否かを判定する（ステップＳ１１５）。ここで、第１の実行部１１５は、所定の期間が経過したと判定しなかった場合、（ステップＳ１１５、Ｎｏ）、引き続き所定の期間が経過したか否かを判定する。一方、第１の実行部１１５は、所定の期間が経過したと判定した場合、（ステップＳ１１５、Ｙｅｓ）、ポリシー逸脱が継続しているか否かを判定する（ステップＳ１１６）。
【００８７】
第１の実行部１１５が、ポリシー逸脱が継続していると判定しなかった場合（ステップＳ１１６、Ｎｏ）、資源管理装置１００は処理を終了する。一方、第１の実行部１１５は、ポリシー逸脱が継続していると判定した場合（ステップＳ１１６、Ｙｅｓ）、所定の処理を実行する（ステップＳ１１７）。ステップＳ１１７の終了後、資源管理装置１００は処理を終了する。
【００８８】
上述したように、第１の実施形態に係る資源管理装置１００は、一般的なユースケースとして、ユーザは第三者に資源管理を委託する際には、その第三者用の鍵を生成し、その鍵に対して適当なポリシーを設定したうえで、その鍵を第三者に対して引き渡す。第三者はこの鍵を使用し、ユーザの代わりにクラウドサービスを操作する。これにより、ユーザは、第三者に使用を許可する資源の範囲を極小化することができる。また、第三者に資源の管理責任を安心して委譲することが可能となることから、サードパーティ製サービスの利用が簡単になる。
【００８９】
なお、従来の方式では、実際に使用されている資源がサービス提供者によりブラックボックス化されている。これに対して、第１の実施形態に係る資源管理装置１００ではユーザが資源を直接確認したり、必要に応じてより強い権限で管理権限を取得したりすることが可能である。
【００９０】
また、更新作業時などは一時的な資源使用量の増加が考えられるため、ポリシーには一時的な逸脱を許可も盛り込む。例えば、ポリシー逸脱の上限値を係数もしくは実数で設定し、また、その状態が続く上限時間を設定する。これにより、更新作業などで一時的に使用資源が増える場合もポリシーの変更なく運用が可能となる。
【００９１】
また、ポリシー逸脱時、および上限時間を上回った際もポリシー逸脱が続いている場合には、同じくポリシー内で指定された処理をそれぞれ実行する。例としてメール送信、電話での通知、任意プログラムの実行、資源の強制削除などが考えられる。
【００９２】
（第１の実施形態の変形例）
なお、第１の実施形態では、依頼部１５ｂが、ＡＰＩキーを引き渡すことで、サービス提供者端末２０にテスト工程の実行を依頼するものとして説明したが、実施形態はこれに限定されるものではない。例えば、依頼部１５ｂは、操作の主体に紐付けられたユーザ名と、パスワードとを引き渡すことで、サービス提供者端末２０にテスト工程の実行を依頼するようにしてもよい。かかる場合、サービス提供装置２０は、ユーザ名及びパスワードを用いて、資源管理装置１００に資源の割り当てを要求する。
【００９３】
また、図３Ｃに示す操作可否管理テーブル１０５ｃと、図４Ａに示すクオータ管理テーブル１０６ａとが統合されてもよい。また、クオータ管理テーブル１０６ａにおいて、「制限タイプ」には、数量上限を記憶するものとして説明したが、実施形態はこれに限定されるものではない。例えば、「制限タイプ」には、最低数量を記憶するようにしてもよい。
【００９４】
また、第１の実施形態では、設定部１１４は、ユーザ端末１０からポリシーの定義を受付け、受付けたポリシーの定義をクオータ管理テーブル１０６ａに格納するものとして説明した。一般的に、ポリシーの設定は煩雑である。このため、最初はポリシーの定義を受付けることなくクラウドサービスの利用を開始し、資源の使用量が安定した時点で資源の使用量をポリシーに設定するようにしてもよい。かかる場合、設定部１１４は、例えば、資源使用量が安定した時点での資源使用量を参照して、割り当て可能な資源の数量をポリシーに設定する。
【００９５】
図７は、第１の実施形態の変形例に係る設定部１１４を説明するための図である。設定部１１４は、図７に示すように、時間ごとの資源使用量の推移を示すグラフを表示させる。なお、図７において、横軸は時間を示し、縦軸は作成した仮想マシンの台数を示す。図７では、おおよそ１か月間における仮想マシン台数の推移を示す。
【００９６】
図７に示す例では、ピーク時に置いて約６０台の仮想マシンが作成されているが、通常時には仮想マシンは３０台以内に収まっている。このようなことから、設定部１１４は、表示したグラフにおいて、ユーザ端末１０から割り当て可能な資源の数量の指定を受付ける。例えば、設定部１１４は、図７に示すように、割り当て可能な仮想マシンの数量として３０台の指定を受付け、一時オーバーコミット係数として２の指定を受付ける。このように、現在の資源使用量を元にポリシーを定義する機能を備えることにより、ポリシーの設定を容易にすることが可能となる。
【００９７】
またなお、ポリシーの逆算時には数値系の値について、現在の資源使用量だけでなく、ユーザが指定した時間枠で使用した資源使用量のうち、最大値、最小値、平均値、中央値などを値として使用するようにしてもよい。
【００９８】
また、ポリシーの逆算時には数量系の値について、一律マージンを設けるようにしてもよい。例えば、クオータ管理テーブル１０６ａにおける格納値について一律１０％を追加してポリシー化する。これにより、資源使用量にゆらぎが生じている場合にも、ポリシーからの逸脱を防ぐことができる。
【００９９】
（第２の実施形態）
さて、これまで本発明の実施形態について説明したが、本発明は上述した実施形態以外にも、その他の実施形態にて実施されてもよい。そこで、以下では、その他の実施形態を示す。
【０１００】
（システム構成）
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述の文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については（例えば、図１〜図７）、特記する場合を除いて任意に変更することができる。
【０１０１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【０１０２】
（プログラム）
また、上記第１の実施形態に係る資源管理装置１００が実行する処理をコンピュータが実行可能な言語で記述した資源使用許可プログラムを作成することもできる。この場合、コンピュータが資源使用許可プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる資源使用許可プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された資源使用許可プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、図１等に示した資源管理装置１００と同様の機能を実現する資源使用許可プログラムを実行するコンピュータの一例を説明する。
【０１０３】
図８は、資源使用許可プログラムを実行するコンピュータ１０００を示す図である。図８に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【０１０４】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【０１０５】
ここで、図８に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した資源使用許可プログラムは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【０１０６】
また、資源使用許可プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した判定部１１２と同様の情報処理を実行する判定手順と、割り当て部１１３と同様の情報処理を実行する割り当て部手順とが記述されたプログラムモジュールが、ハードディスクドライブ１０３１に記憶される。
【０１０７】
また、資源使用許可プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【０１０８】
なお、資源使用許可プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、資源使用許可プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【０１０９】
（その他）
なお、本実施形態で説明した資源使用許可プログラムは、インターネットなどのネットワークを介して配布することができる。また、特定プログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【０１１０】
１        資源使用許可システム
２        ネットワーク
１０      ユーザ端末
１１      入力部
１２      出力部
１３      通信制御部
１４      記憶部
１５      制御部
１５ａ    設定受付部
１５ｂ    依頼部
２０      サービス提供者端末
２３      通信制御部
２４      記憶部
２５      制御部
２５ａ    割り当て要求部
１００    資源管理装置
１０３    通信制御部
１０４    記憶部
１０５    操作可否管理ＤＢ
１０５ａ  グループ管理テーブル
１０５ｂ  デフォルトポリシー管理テーブル
１０５ｃ  操作可否管理テーブル
１０６    ポリシーＤＢ
１０６ａ  クオータ管理テーブル
１０６ｂ  逸脱時アクション管理テーブル
１０７    資源管理ＤＢ
１０７ａ  資源管理テーブル
１０８    制御部
１１０    ＡＰＩ処理部
１１１    認証部
１１２    判定部
１１３    割り当て部
１１４    設定部
１１５    第１の実行部
１１６    第２の実行部
１０００  コンピュータ
１０１０  メモリ
１０１１  ＲＯＭ
１０１２  ＲＡＭ
１０２０  ＣＰＵ
１０３０  ハードディスクドライブインタフェース
１０３１  ハードディスクドライブ
１０４０  ディスクドライブインタフェース
１０４１  ディスクドライブ
１０５０  シリアルポートインタフェース
１０５１  マウス
１０５２  キーボード
１０６０  ビデオアダプタ
１０６１  ディスプレイ
１０７０  ネットワークインタフェース
１０８０  バス
１０９１  ＯＳ
１０９２  アプリケーションプログラム
１０９３  プログラムモジュール
１０９４  プログラムデータ
【図１】
2015204026.tif 000003
【図２】
2015204026.tif 000004
【図３Ａ】
2015204026.tif 000005
【図３Ｂ】
2015204026.tif 000006
【図３Ｃ】
2015204026.tif 000007
【図４Ａ】
2015204026.tif 000008
【図４Ｂ】
2015204026.tif 000009
【図５】
2015204026.tif 000010
【図６】
2015204026.tif 000011
【図７】
2015204026.tif 000012
【図８】
2015204026.tif 000013