(57)【特許請求の範囲】
【請求項１】
第１、第２のネットワークに属する資源に関する資源情報を格納した第１、第２の資源データベースと、
前記第１、第２の資源データベースを管理する資源管理手段と、
前記第１、第２のネットワークに属する資源について利用権限を持つユーザを定義したユーザデータベースと、
前記ユーザをキーとして用いて、前記第１、第２の資源データベースに格納された資源情報について排他制御を実施する排他制御手段と、
前記排他制御手段を用いて、前記第１、第２の資源データベースを同期して更新する同期手段とを、備える資源管理システム。
【請求項２】
前記ユーザ情報には、ユーザ間の関係情報が含まれ、
前記ユーザ間の関係情報から特定した複数のユーザをキーとして、前記第１、第２の資源データベースを同期して更新する請求項１の資源管理システム。
【請求項３】
さらに、前記第１、第２の資源データベースに保持されている資源間の連携関係を抽出し、前記連携関係を有する資源に対応付けられたユーザを特定する連携関係抽出手段を備え、
前記連携関係抽出手段により特定された複数のユーザをキーとして、前記第１、第２の資源データベースを同期して更新する請求項１または２の資源管理システム。
【請求項４】
前記資源情報として、
第１、第２のネットワークに属する物理資源の構成を記述した物理資源情報と、
前記ユーザに提供する論理資源の構成を記述した論理資源情報と、
前記物理資源と前記論理資源との対応関係を定義したマップ情報とが格納され、
前記論理資源情報またはマップ情報の更新を契機に、前記一以上のユーザをキーとして前記第１、第２の資源データベースの同期更新を行う請求項１から３いずれか一の資源管理システム。
【請求項５】
前記ユーザデータベースに代えて、前記論理資源のテナントユーザを定義したテナントデータベースを備え、
前記テナントユーザをキーとして用いて前記第１、第２の資源データベースの同期更新を行う請求項４の資源管理システム。
【請求項６】
第１、第２のネットワークに属する資源に関する資源情報をそれぞれ格納した第１、第２の資源データベースと、前記第１、第２のネットワークに属する資源について利用権限を持つユーザを定義したユーザデータベースと、前記第１、第２の資源データベースを管理する資源管理手段と、を含む資源管理システムにおけるデータ更新方法であって、
前記ユーザデータベースに定義されたユーザをキーとして用いて、前記第１、第２の資源データベースに格納された資源情報について排他制御を実施するステップと、
前記排他制御中に、前記第１、第２の資源データベースを同期して更新するステップとを、含むデータ更新方法。
【請求項７】
前記ユーザ情報に含まれるユーザ間の関係情報から特定した複数のユーザをキーとして用いて排他制御を実施し、前記第１、第２の資源データベースを同期して更新する請求項６のデータ更新方法。
【請求項８】
さらに、前記第１、第２の資源データベースに保持されている資源間の連携関係を抽出し、前記連携関係を有する資源に対応付けられたユーザを特定するステップを含み、
前記特定された複数のユーザをキーとして用いて、前記第１、第２の資源データベースを同期して更新する請求項６または７のデータ更新方法。
【請求項９】
第１、第２のネットワークに属する資源に関する資源情報をそれぞれ格納した第１、第２の資源データベースと、前記第１、第２のネットワークに属する資源について利用権限を持つユーザを定義したユーザデータベースと、前記第１、第２の資源データベースを管理する資源管理手段と、を含む資源管理システムに含まれるコンピュータに実行させるプログラムであって、
前記ユーザデータベースに定義されたユーザをキーとして用いて、前記第１、第２の資源データベースに格納された資源情報について排他制御を実施する処理と、
前記排他制御中に、前記第１、第２の資源データベースを同期して更新する処理とを、実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、資源管理システム、データ更新方法およびプログラムに関し、特に、異なるネットワークに属する資源を管理する資源管理システム、データ更新方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１に、ネットワーク手段によって相互に接続された複数の物理資源を、複数のパーティションに区切ったコンピュータシステム上に構成された仮想化環境において、パーティションの物理資源構成と、仮想装置に分配された仮想資源構成とを同時に管理しながら、仮想装置上で動作するアプリケーション・サービスに影響することなく、物理資源構成と仮想装置構成を動的に変更する仮想化手段を備えることを特徴とする仮想装置構成システムが開示されている。
【０００３】
特許文献２には、排他制御管理テーブルを用いて排他制御を行なう排他制御部を備えたデータベース管理システムが開示されている。具体的には、オブジェクト１１１ｂに対する排他をオブジェクト１１１ａで代替するように指定されている場合、オブジェクト１１１ｂに対して共有錠をかけるときに、排他制御管理テーブルのレコードにオブジェクト１１１ａの排他資源ＩＤを登録することにより、複数の排他対象に対する施錠を、代表となる１つの排他対象の施錠によって排他の代替をすることが記載されている。
【０００４】
特許文献３に、各サイトに分散してデータベースを持つと共に全サイトに同一の管理情報を持ち、データベースのあるサイトで排他制御を行い、終業時や随時、他サイトに管理情報を送信して同期化し、簡易なシステムで分散データベースの排他制御および同期化を実現する分散データベース管理システムが開示されている。同文献によると、あるサイト内からの所定の情報の更新要求に対応して、管理テーブルの更新フラグをＯＮに設定し排他獲得した状態にして更新し、更新完了以降の所定時刻あるいは指示に対応して他のおよび自身の管理テーブルの更新フラグをＯＦＦにして同期化する管理手段とを各サイトに備えるように構成する、と記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−３０５７１４号公報
【特許文献２】特開平９−１４６８１７号公報
【特許文献３】特開２００８−２２５５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は、本発明によって与えられたものである。
特許文献１のような仮想装置構成システムを複数のネットワークに跨って構成した場合、同文献の仮想資源管理手段や物理資源管理手段も複数配置した方が、個々のネットワークの管理者にとって都合がよい。その一方で、これら仮想資源管理手段や物理資源管理手段といった膨大なレコード数を有する資源管理手段（資源情報データベース）を、一貫性を確保した上で同期させることが必要となってくる。
【０００７】
この場合、特許文献２の００１２段落以下に記載されているとおり、排他対象単位の粒度に基づく、トランザクション並行性と排他制御処理のオーバヘッドとのトレードオフの問題が発生する。また、既存の排他制御管理テーブルを用いた方式では、排他制御管理テーブルのレコード長が長くなってしまうという問題点がある。そこで、特許文献２では、排他制御の対象となる複数の排他対象について、ある排他対象に対して直接施錠していなくても、該排他対象と異なる他の排他対象に対して施錠することを行っている。
【０００８】
しかしながら、先に述べた複数のネットワークに跨って資源が配置されているようなケースでは、個々のネットワークの管理者がそれぞれ資源を管理しているため、排他制御管理テーブルに適切なレコードを設定すること、同文献でいうところの「代表となる１つの排他対象」を設定することが困難となってしまう。
【０００９】
特許文献３では、ＣＡＤや技術文書などの情報を複数拠点に分散して管理する場合における同期を行う構成が開示されているが、排他制御処理のオーバヘッドの問題については触れられていない。
【００１０】
本発明は上記した事情に鑑みてなされたものであってその目的とするところは、複数のネットワークに跨って資源が配置、管理されている構成において、排他制御の粒度を適切化し、効率よくデータを同期更新することのできる資源管理システム、データ更新方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の視点によれば、第１、第２のネットワークに属する資源に関する資源情報を格納した第１、第２の資源データベースと、前記第１、第２の資源データベースを管理する資源管理手段と、前記第１、第２のネットワークに属する資源について利用権限を持つユーザを定義したユーザデータベースと、前記ユーザをキーとして用いて、前記第１、第２の資源データベースに格納された資源情報について排他制御を実施する排他制御手段と、前記排他制御手段を用いて、前記第１、第２の資源データベースを同期して更新する同期手段とを、備える資源管理システムが提供される。
【００１２】
本発明の第２の視点によれば、第１、第２のネットワークに属する資源に関する資源情報をそれぞれ格納した第１、第２の資源データベースと、前記第１、第２のネットワークに属する資源について利用権限を持つユーザを定義したユーザデータベースと、前記第１、第２の資源データベースを管理する資源管理手段と、を含む資源管理システムにおけるデータ更新方法であって、前記ユーザデータベースに定義されたユーザをキーとして用いて、前記第１、第２の資源データベースに格納された資源情報について排他制御を実施するステップと、前記排他制御中に、前記第１、第２の資源データベースを同期して更新するステップとを、含むデータ更新方法が提供される。本方法は、上記資源管理システムという、特定の機械に結びつけられている。
【００１３】
本発明の第３の視点によれば、第１、第２のネットワークに属する資源に関する資源情報をそれぞれ格納した第１、第２の資源データベースと、前記第１、第２のネットワークに属する資源について利用権限を持つユーザを定義したユーザデータベースと、前記第１、第２の資源データベースを管理する資源管理手段と、を含む資源管理システムに含まれるコンピュータに実行させるプログラムであって、前記ユーザデータベースに定義されたユーザをキーとして用いて、前記第１、第２の資源データベースに格納された資源情報について排他制御を実施する処理と、前記排他制御中に、前記第１、第２の資源データベースを同期して更新する処理とを、実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１４】
本発明によれば、複数のネットワークに跨って資源が配置、管理されている構成において、排他制御の粒度を適切化し、効率よくデータを同期更新することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の概要を説明するための図である。
【図２】本発明の第１の実施形態の資源管理システムの構成を表した図である。
【図３】本発明の第１の実施形態の資源管理システムの仮想資源データベース（仮想資源ＤＢ）に保持されるテーブルを説明するための図である。
【図４】本発明の第１の実施形態の資源管理システムのテナントデータベース（テナントＤＢ）に保持されるテーブルを説明するための図である。
【図５】本発明の第１の実施形態の資源管理システムの動作を表したシーケンス図である。
【図６】図５のＳ００５においてロックされる仮想マシン（ＶＭ）を表した図である。
【図７】本発明の第２の実施形態を説明するための模式図である。
【図８】本発明の第２の実施形態の資源管理システムの構成を表した図である。
【図９】本発明の第２の実施形態の資源管理システムのテナントデータベース（テナントＤＢ）に保持されるテーブルを説明するための図である。
【図１０】本発明の第２の実施形態の資源管理システムの動作を表したシーケンス図である。
【図１１】本発明の第３の実施形態を説明するための模式図である。
【図１２】本発明の第３の実施形態の資源管理システムのテナントデータベース（テナントＤＢ）に保持されるテーブルを説明するための図である。
【図１３】本発明の第３の実施形態の資源管理システムのテナントデータベース（テナントＤＢ）に保持されるテーブルを説明するための図である。
【図１４】本発明の第３の実施形態の資源管理システムの動作を表したシーケンス図である。
【発明を実施するための形態】
【００１６】
はじめに本発明の概要について図面を参照して説明する。なお、以下、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１７】
本発明は、図１に示したように、第１、第２のネットワーク１０１、２０１に属する資源に関する資源情報を格納した第１、第２の資源データベース（以下、データベースを「ＤＢ」と記す。）１０２、２０２と、前記第１、第２の資源ＤＢ１０２、２０２を管理する資源管理手段１０３、２０３と、前記第１、第２のネットワーク１０１、２０１に属する資源について利用権限を持つユーザを定義したユーザＤＢ１０６、２０６と、前記ユーザをキーとして用いて、前記第１、第２の資源ＤＢ１０２、２０２に格納された資源情報について排他制御を実施する排他制御手段１０５、２０５と、前記排他制御手段１０５、２０５を用いて、前記第１、第２の資源ＤＢ１０２、２０２を同期して更新する同期手段１０４、２０４とを、備える構成にて実現できる。
【００１８】
本発明によれば、上記のように、資源について利用権限を持つユーザをキーとして用いた排他制御が行われるため、排他制御処理のオーバヘッドを低減することができる。また、前記排他制御は、各資源について利用権限を持つユーザを定義したユーザＤＢに基づいて行われるため、排他制御用の排他制御管理テーブルを特別に設ける必要もない。
【００１９】
［第１の実施形態］
続いて、複数のデータセンタが連携動作してサービスを提供する広域分散データセンタに本発明を適用した本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の資源管理システムの構成を表した図である。図２を参照すると、ネットワーク上にホスト３０１ａ、ストレージ３０１ｂ、ネットワーク３０１ｃといった物理資源が配置されたデータセンタＡ３００と、同様にホスト４０１ａ、ストレージ４０１ｂ、ネットワーク４０１ｃといった物理資源が配置されたデータセンタＢ４００と、が接続された構成が示されている。
【００２０】
第１仮想資源ＤＢ３０２および第２仮想資源ＤＢ４０２には、データセンタＡ３００およびデータセンタＢ４００に属する上記物理資源を用いて仮想マシン等の論理資源を構成するための情報が格納される。本実施形態では、これらの情報は、論理資源テーブル３０２１（４０２１）、論理−物理マップ（テーブル）３０２２（４０２２）、物理資源テーブル３０２３（４０２３）を用いて管理される（各テーブルについては後に詳述する。）
【００２１】
資源割当マネージャ３０３は、上記した資源管理手段に相当し、ネットワーク管理者などから、第１仮想資源ＤＢ３０２に登録された論理資源の設定変更や物理資源の割当等の変更内容を受け付け、同期手段３０４に、前記受け付けた変更内容を引き渡す動作を行う。資源割当マネージャ４０３も、同様に、ネットワーク管理者などから、第２仮想資源ＤＢ４０２に登録された論理資源の設定変更や物理資源の割当等の変更内容を受け付け、同期手段４０４に、前記受け付けた変更内容を引き渡す動作を行う。
【００２２】
同期手段３０４は、資源割当マネージャ３０３から変更内容を受け付けると、まず、テナントＤＢ３０６を参照し、変更対象の資源が割り当てられているテナントを特定する。そして、同期手段３０４は、前記特定したテナントの情報を、データセンタＢ４００の同期手段４０４に渡して、排他制御手段４０５を介して第２仮想資源ＤＢ４０２に登録されている同一テナントのデータをロック（排他的な更新権限の確保）させる。前記ロックに成功すると、同期手段３０４は、同期手段４０４と連携して、資源割当マネージャ３０３から受け付けた変更内容に従って、第１、第２仮想資源ＤＢ３０２、４０２のデータの同期更新を行う。データ更新が完了すると、同期手段３０４は、同期手段４０４に対して、前記ロックしたデータのアンロック（更新権限の解放）を実行させる。同期手段４０４も同様に、データセンタＢ４００に属する資源割当マネージャ４０３から変更内容を受け付けると、同期手段３０４と連携した同期更新を行う。
【００２３】
排他制御手段３０５、４０５は、それぞれ同期手段３０４、４０４からの指示に従って、テナントＤＢ３０６、４０６を参照し、第１、第２の仮想資源ＤＢ３０２、４０２に格納された資源情報についてテナント単位の排他制御を実施する。
【００２４】
テナントＤＢ３０６、４０６には、各論理資源と、テナントとの対応関係を定めたテナント情報が格納される。
【００２５】
ここで、第１、第２仮想資源ＤＢ３０２、４０２やテナントＤＢ３０６、４０６に保持される情報について、より詳細に説明する。図３は、第１仮想資源ＤＢ３０２に保持される論理資源テーブル３０２１、論理−物理マップ（テーブル）３０２２および物理資源テーブル３０２３を説明するための図である。第２仮想資源ＤＢ４０２も同様の構成であるので、以下、カッコ内の符号を記す。
【００２６】
物理資源テーブル３０２３は、データセンタＡ３００（データセンタＢ４００）に配置されたホスト３０１ａ（４０１ａ）、ストレージ３０１ｂ（４０１ｂ）、ネットワーク３０１ｃ（４０１ｃ）といった物理資源の構成情報を管理するためのテーブルである。図３の例では、ＩＤ＝ＰＶ０００１を持つ物理ボリュームを含むストレージサーバ（物理ストレージ；ＩＤ＝ＰＳ０００１）と、ＩＤ＝Ｈ０００１を持つ物理マシンと、ＩＤ＝ＰＮＳ０００１を持つ物理ネットワークセグメントを含む物理ネットワーク（物理ＮＷ１；ＩＤ＝ＰＮ０００１）の詳細情報が格納されている。
【００２７】
論理資源テーブル３０２１は、上記した物理資源を用いて構築された論理資源の構成情報を管理するためのテーブルである。図３の例では、ＩＤ＝Ｓ０００１を持つ仮想ストレージ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ）と、ＩＤ＝Ｎ０００１を持つ仮想ネットワーク（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ）とが割り当てられたＩＤ＝Ｖ０００１を持つ仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）の構成情報が格納されている。
【００２８】
論理−物理マップ（テーブル）３０２２には、上記した物理資源と論理資源の対応関係を示すマッピング情報が格納される。図３の例では、ＩＤ＝Ｓ０００１を持つ仮想ストレージ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ）は、ＩＤ＝ＰＶ０００１を持つ物理ボリュームにより構築されているという情報が格納されている。同様に、ＩＤ＝Ｖ０００１を持つ仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）は、ＩＤ＝Ｈ０００１を持つ物理マシンに対応し、ＩＤ＝Ｎ０００１を持つ仮想ネットワーク（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ）は、ＩＤ＝ＰＮＳ０００１を持つ物理ネットワークセグメントに対応している。
【００２９】
このように、論理資源と物理資源をそれぞれ別に管理することで、例えば、あるテナントの仮想マシンについて、物理的な装置の移動を伴うことなくデータセンタＡ３００からデータセンタＢ４００に移動させることが可能となっている。同時に、上記構成は、論理資源の設定をテナントユーザに委ねる一方で、物理資源やそのマッピング情報をユーザから隠蔽することができるものともなっている。
【００３０】
第２仮想資源ＤＢ４０２に保持される論理資源テーブル４０２１、論理−物理マップ（テーブル）４０２２および物理資源テーブル４０２３は、上記した第１仮想資源ＤＢ３０２と同様であるので説明を省略する。
【００３１】
図４は、テナントＤＢ３０６、４０６に保持されるテーブルを説明するための図である。図４を参照すると、テナント毎に付与されるテナントＩＤと、各テナントが所有する資源ＩＤとが対応付けられたテーブルが示されている。図４の例では、テナントＩＤ＝１のテナントユーザは、上記した資源ＩＤ＝Ｓ０００１の仮想ストレージと、上記した資源ＩＤ＝Ｖ０００１の仮想マシンと、上記した資源ＩＤ＝Ｎ０００１の仮想ネットワークを所有していることになる。なお、ここで「所有する」とは、論理的に排他的な使用権限が与えられていることにより、あたかも所有しているのと同じように資源を利用できるという意味である。
【００３２】
続いて、本実施形態の動作について図５を参照して詳細に説明する。以下の説明では、データセンタＡ３００の資源割当マネージャ３０３が資源割当の変更操作を受け付けたものとして説明する。
【００３３】
まず、資源割当マネージャ３０３が、データセンタＡ３００の同期手段３０４に対し、変更対象の資源ＩＤや変更内容を含んだ資源変更通知を送信する（ステップＳ００１）。
【００３４】
資源変更通知を受信した同期手段３０４は、まず、テナントＤＢ３０６に対し、資源変更通知にて特定される資源ＩＤを持つ資源の所有テナントを問い合わせる（ステップＳ００２）。例えば、資源ＩＤ＝Ｓ０００１のストレージが変更対象である場合、テナントＤＢ３０６は、テナントＩＤ＝Ｔ１を応答することになる（ステップＳ００３）。
【００３５】
テナントＤＢ３０６から応答を受信した同期手段３０４は、次に、データセンタＢ４００の同期手段４０４に対し、ロック要求を送出する（ステップＳ００４）。このロック要求には、同期手段を特定するための同期手段ＩＤと、上述したテナントＩＤが含まれる。
【００３６】
前記ロック要求を受信したデータセンタＢ４００の同期手段４０４は、排他制御手段４０５に対して、テナントＩＤをキーとしてロック（更新権限の付与）を要求する（ステップＳ００５）。
【００３７】
排他制御手段４０５は、すでに他の同期手段（同期手段４０４や、図示しないデータセンタＣの同期手段）に、同一テナントＩＤの更新権限を付与済みでなければ、同期手段３０４に、テナントデータの更新権限を付与し、Ａｃｋを応答する（ステップＳ００６）。一方、すでに他の同期手段（例えば、図示しないデータセンタＣの同期手段）に、同一テナントＩＤの更新権限を付与済みである場合、Ｆａｉｌ応答となり、ロック要求の再試行等が行われる。
【００３８】
同期手段４０４は、排他制御手段４０５からＡｃｋ応答を受け取ると、データセンタＡ３００の同期手段３０４にＡｃｋ応答を送信する（ステップＳ００７）。
【００３９】
同期手段４０４からＡｃｋ応答を受け取ったデータセンタＡ３００の同期手段３０４は、第１仮想資源ＤＢ３０２の更新を実施する（ステップＳ００８、Ｓ００９）。
【００４０】
次に、同期手段３０４は、同期手段４０４に対して、第２仮想資源ＤＢ４０２の更新を要求する（ステップＳ０１０）。このＤＢ更新要求には、同期手段を特定するための同期手段ＩＤと、上述したテナントＩＤと、変更内容を示す変更データが含まれる。
【００４１】
上記ＤＢ更新要求を受けた同期手段４０４は、排他制御手段４０５に対して、同期手段３０４による該当テナントＩＤのデータの更新を要求する（ステップＳ０１１；ＤＢ更新要求）。
【００４２】
排他制御手段４０５は、同期手段３０４によるＤＢ更新を許可する場合には、肯定応答を行ない、拒否する場合には否定応答を行う（ステップＳ０１２；更新可否）。
【００４３】
排他制御手段４０５から肯定応答が得られている場合、同期手段４０４は、第２仮想資源ＤＢ４０２に対し同期手段３０４から指示された内容のデータ更新を行う（ステップＳ０１３、Ｓ０１４）。
【００４４】
第２仮想資源ＤＢ４０２の更新が完了すると、同期手段４０４は、同期手段３０４に対して、ステップＳ０１０のＤＢ更新要求に対するＡｃｋ応答を送出する（ステップＳ０１５）。
【００４５】
前記Ａｃｋ応答を受信した同期手段３０４は、ロック時と同様の手順で、同期手段４０４に対し、アンロック（更新権限の解放）を要求する（ステップＳ０１６〜Ｓ０１９）。アンロック（更新権限の解放）が完了すると、排他制御手段４０５は、他の同期手段からロック要求を受け付けることが可能な状態となる。
【００４６】
以上のように、本実施形態によれば、論理資源の割当先を示すテナントを排他制御の単位として用いて、第１、第２仮想資源ＤＢ３０２、４０２の同期更新を行うことが可能となる。
【００４７】
図６は、図５のステップＳ００５においてロックされる論理資源（仮想マシン）を表した図である。例えば、図６に示すように、第１仮想資源ＤＢ３０２に対し、仮想マシンＶ１、Ｖ２を構成しているデータセンタＡにある物理資源Ｐｈ１を、データセンタＢにある物理資源Ｐｈ４に移動させる操作が行われたものとする。仮想マシンを排他制御単位としてデータの更新を行う場合、仮想マシンＶ１、Ｖ２とは別にセマフォを用意する必要があるが、本実施形態では、テナントＩＤをキーとして複数の論理資源について排他制御、同期更新が可能であるため、セマフォの空間計算量を下げることが可能となっている。もちろん、排他制御が行われているのは、テナントＴ１だけであるので、排他制御期間において他のテナントが処理を待たされるといったことも無い。
【００４８】
［第２の実施形態］
続いて、テナント間の関係性に着目して複数のテナントをグルーピングして、排他制御できるようにした第２の実施形態について図面を参照して説明する。
【００４９】
図７に示すように、所有する仮想マシンの数が少ないテナントＴ１１〜Ｔ１３が多数あるような場合、テナント毎に排他制御を行っても相応のオーバヘッドが生じてしまうことが考えられる。一方、図７に示すように、テナントＴ１１とＴ１２は、ともに同一グループ企業であり、テナントＴ１１、Ｔ１２と、テナントＴ１３には、提携企業という関係がある場合がある。本実施形態は、これらテナント間の関係性に着目して、テナントをグルーピングし、排他制御を行うようにしたものである。
【００５０】
図８は、本発明の第２の実施形態の資源管理システムの構成を表した図である。上記した第１の実施形態との相違点は、同期手段３０４（４０４）と、テナントＤＢ３０６Ａ（４０６Ａ）との間に上記グルーピングを行うテナントグループ化手段３０７（４０７）が追加されている点である。その他の構成は、第１の実施形態と略同様であるので、以下、その相違点を中心に説明する。
【００５１】
図９は、本実施形態のテナントＤＢ３０６Ａ（４０６Ａ）に保持されるテーブルを説明するための図である。図４に表した第１の実施形態のテナントＤＢ３０６（４０６）との相違点は、前記テナントクループ化手段３０７（４０７）がテナント間の関係性を抽出するためのテナント間関係フィールドが追加されている点である。
【００５２】
本実施形態の同期手段３０４Ａ（４０４Ａ）は、資源割当マネージャ３０３から変更内容を受け付けると、まず、テナントグループ化手段３０７（４０７）に、変更対象の資源が割り当てられているテナントと、当該テナントと所定の関係を有するテナントの特定を要求する。そして、本実施形態の同期手段３０４Ａ（４０４Ａ）は、これら特定された複数テナント単位で、排他制御と同期更新を行う。
【００５３】
テナントグループ化手段３０７（４０７）は、テナントＤＢ３０６Ａ（４０６Ａ）を参照して、変更対象の資源が割り当てられているテナントに加え、当該テナントのテナント間関係フィールドの値を参照して、同期手段３０４Ａ（４０４Ａ）に複数のテナントＩＤを応答する。例えば、変更対象の資源の資源ＩＤがＳ０００１であるストレージである場合、テナントグループ化手段３０７（４０７）は、資源ＩＤがＳ０００１であるストレージを所有するテナントＴ１１と、当該テナントＴ１１と同一企業グループのテナントＴ１２と、提携関係にあるテナントＴ１３とを特定する。なお、ここで、テナントＴ１２のみをグルーピングするか、テナントＴ１２とテナントＴ１３の双方をグルーピングするかは、システム全体のテナント数やシステムの処理能力等を考慮して予め設定できるものとする。
【００５４】
図１０は、本実施形態の資源管理システムの動作を表したシーケンス図である。図５に示した第１の実施形態との相違点は、ステップＳ００２−１〜Ｓ００３−２において、上述したテナントグループ化手段３０７（４０７）による変更対象資源を所有するテナントとその関連テナントがグルーピングされる点と、ステップＳ００４Ａ、Ｓ０１０Ａ、Ｓ０１６Ａにおいて、複数のテナントＩＤ（テナントＩＤ列）が送られて、ロック、データ更新、アンロックが行われる点である。
【００５５】
以上のような本実施形態によれば、各テナント単位の排他制御ではオーバヘッドが大きくなってしまうようなケースに好適であり、複数まとめることにより、適切な粒度で排他制御を行うことが可能となる。
【００５６】
なお、上記した説明では、図９を用いてテナントＤＢ３０６Ａ（４０６Ａ）にテナント間の関係情報が設定されているものとして説明したが、これに限られるものではなく、例えば、その他既存のテナント間の関係を定義したデータベース等を参照するものとしてもよい。また、同一企業グループのテナントや、提携関係にあるテナントとのグルーピングを許容するか否かは個々のテナントの判断に委ねてもよい。
【００５７】
［第３の実施形態］
続いて、第２の実施形態とは別の観点で複数のテナントをグルーピングして、排他制御できるようにした第３の実施形態について図面を参照して説明する。
【００５８】
図１１に示すように、あるテナントＴ２１が所有する論理資源Ｖ２２と、別のテナントＴ２２が所有する論理資源Ｖ２３が、同一のストレージを共有しているようなケースがある。この場合、テナントＴ２１と、テナントＴ２２は、システム的に連携関係にあるという推測が成り立つ。あるテナントＴ２２が所有する論理資源Ｖ２５と、別のテナントＴ２３が所有する論理資源Ｖ２６が通信可能である（ＶＬＡＮ＿ＩＤが同一である等）ようなケースがある。この場合も、テナントＴ２２と、テナントＴ２３は、システム的に連携関係にあるという推測が成り立つ。本実施形態は、これらテナント間の関係性に着目して、テナントをグルーピングし、排他制御を行うようにしたものである。
【００５９】
図１２は、本発明の第３の実施形態の資源管理システムの構成を表した図である。上記した第１の実施形態との相違点は、テナントＤＢ３０６Ａ（４０６Ａ）に接続された形態で連携関係抽出手段３０８（４０８）が追加されている点である。その他の構成は、第１の実施形態と略同様であるので、以下、その相違点を中心に説明する。
【００６０】
図１３は、本実施形態のテナントＤＢ３０６Ｂ（４０６Ｂ）に保持されるテーブルを説明するための図である。図４に表した第１の実施形態のテナントＤＢ３０６（４０６）との相違点は、前記連携関係抽出手段３０８（４０８）によって抽出された連携関係が推定されたテナントを表した連携関係フィールドが追加されている点である。なお、図１３の連携関係フィールドには、（ストレージ共有）、（通信可能）といった字句が記載されているが、これらは本実施形態の理解を助けるために追記したものであり、省略することが可能である。
【００６１】
本実施形態の連携関係抽出手段３０８（４０８）は、所定の時間の経過や、第１、第２仮想資源ＤＢ３０２（４０２）の更新等の契機に、ある論理資源について、第１、第２仮想資源ＤＢ３０２（４０２）を走査し、仮想マシン間の通信の設定やストレージの共有関係などから、当該論理資源と関係のある論理資源を抽出する。そして、さらに、連携関係抽出手段３０８（４０８）は、これらの関係性のある論理資源を所有するテナントを特定し、テナントＤＢ３０６Ｂ（４０６Ｂ）の連携関係フィールドに追記する。なお、ここで、連携関係抽出手段３０８（４０８）が、如何なる関係性を有する論理資源を抽出するかは、システム全体のテナント数やシステムの処理能力等を考慮して予め設定できるものとする。
【００６２】
そして、本実施形態の同期手段３０４Ａ（４０４Ａ）は、これら連携関係フィールドに追記されたテナントを含む複数テナント単位で、排他制御と同期更新を行う。
【００６３】
図１４は、本実施形態の資源管理システムの動作を表したシーケンス図である。図５に示した第１の実施形態との相違点は、上記した連携関係抽出手段３０８（４０８）によるテナントＤＢ３０６Ｂ（４０６Ｂ）の更新動作が追加されている点（ステップＳ９０１〜Ｓ９０４）と、ステップＳ００４Ａ、Ｓ０１０Ａ、Ｓ０１６Ａにおいて、複数のテナントＩＤ（テナントＩＤ列）が送られて、ロック、データ更新、アンロックが行われる点である。
【００６４】
以上のような本実施形態によれば、第２の実施形態のような企業グループや提携関係といった関係性が明確でないテナントについても所有する論理資源の関係に基づいて、複数まとめ、適切な粒度で排他制御を行うことが可能となる。なお、上記した論理資源の関係性によるグルーピングを許容するか否かは個々のテナントの判断に委ねてもよい。
【００６５】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した第２の実施形態と第３の実施形態とを組み合わせて、テナントグループ化手段と、連携関係抽出手段との双方を備えた第４の実施形態を構成することもできる。
【００６６】
また、上記した実施形態では、２つのデータセンタが連携してマルチテナント環境を提供する例を挙げて説明したが、データセンタの数や、例示した物理資源、論理資源の数は、本発明の理解を助けるために簡単化したものであり、例示したものに限られない。例えば、本発明は、３以上のデータセンタに、それぞれ配置されている仮想資源ＤＢを同期更新する場合においても、各データセンタに配置された同期手段がそれぞれ連携動作することにより、排他制御を行うことが可能である。
【００６７】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００６８】
１０１、２０１  ネットワーク
１０２  第１資源データベース（第１資源ＤＢ）
２０２  第２資源データベース（第２資源ＤＢ）
１０３、２０３  資源管理手段
１０４、２０４、３０４、３０４Ａ、３０４Ｂ、４０４、４０４Ａ、３０４Ｂ  同期手段
１０５、２０５、３０５、４０５  排他制御手段
１０６、２０６  ユーザデータベース（ユーザＤＢ）
３００  データセンタＡ
３０１ａ、４０１ａ  ホスト
３０１ｂ、４０１ｂ  ストレージ
３０１ｃ、４０１ｃ  ネットワーク
３０２  第１仮想資源データベース（第１仮想資源ＤＢ）
３０３、４０３  資源割当マネージャ
３０６、３０６Ａ、３０６Ｂ、４０６、４０６Ａ、４０６Ｂ  テナントデータベース（テナントＤＢ）
３０７、４０７  テナントグループ化手段
３０８、４０８  連携関係抽出手段
４００  データセンタＢ
４０２  第２仮想資源データベース（第２仮想資源ＤＢ）
３０２１、４０２１  論理資源テーブル
３０２２、４０２２  論理−物理マップ
３０２３、４０２３  物理資源テーブル
【図１】
0005664441.tif 000002
【図２】
0005664441.tif 000003
【図３】
0005664441.tif 000004
【図４】
0005664441.tif 000005
【図５】
0005664441.tif 000006
【図６】
0005664441.tif 000007
【図７】
0005664441.tif 000008
【図８】
0005664441.tif 000009
【図９】
0005664441.tif 000010
【図１０】
0005664441.tif 000011
【図１１】
0005664441.tif 000012
【図１２】
0005664441.tif 000013
【図１３】
0005664441.tif 000014
【図１４】
0005664441.tif 000015