(57)【要約】      （修正有）【課題】仮想化技術を利用したリソースに対するアクセス制御を実現する計算機システム及びリソースアクセス制御方法を提供する。【解決手段】ソースプログラムに利用される複数のリソースを有する計算機システムにおいて、リソース及びリソースグループを対応付けた情報を格納するリソース管理情報と、リソースグループを利用可能なユーザ及びソースプログラムを対応付けた情報を格納するリソースグループ管理情報と、を有する。ソースプログラムから、ソースプログラムを使用するユーザにかかるリソースを指定したリクエストを受信した場合に、制御部は、リソースグループ管理情報と、リソース管理情報とを用いて、リクエストにかかる前記リソースへのアクセス可否を判定する。【選択図】図１
2019204343.tif 000002
【特許請求の範囲】
【請求項１】
ソースプログラムに利用される複数のリソースを有する計算機システムにおいて、
前記リソース及びリソースグループを対応付けた情報を格納するリソース管理情報と、
前記リソースグループを利用可能なユーザ及び前記ソースプログラムを対応付けた情報を格納するリソースグループ管理情報と、を有し、
前記ソースプログラムから、前記ソースプログラムを使用するユーザにかかる前記リソースを指定したリクエストを受信した場合に、制御部は、前記リソースグループ管理情報と、前記リソース管理情報とを用いて、前記リクエストにかかる前記リソースへのアクセス可否を判定することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記制御部は、
前記リクエストが指定する前記リソースと、前記リソース管理情報とから、前記リソースグループを特定し、
前記特定したリソースグループと、前記リクエストにかかるユーザと、前記リクエストにかかる前記ソースプログラムと、前記リソースグループ管理情報とに基づいて、前記アクセス可否を判定することを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記リソースグループ管理情報に格納される情報は、前記リソースグループにさらにロールが対応付けられており、
前記制御部は、前記アクセス可否の判定に、前記リクエストに付されたロールと、前記リソースグループでのロールとを用いることを特徴とする計算機システム。
【請求項４】
請求項３に記載の計算機システムであって、
前記ソースプログラムの可能なロールが規定されたソースプログラム管理情報を有しており、
前記制御部は、前記アクセス可否の判定に、前記ソースプログラム管理情報における前記ソースプログラムのロールと、前記リソースグループでのロールとを用いることを特徴とする計算機システム。
【請求項５】
請求項４に記載の計算機システムであって、
前記アクセス可否の判定に用いるロールは、前記ユーザが前記ソースプログラムへのログイン認証に用い、前記リクエストに付されたロールであることを特徴とする計算機システム。
【請求項６】
請求項４に記載の計算機システムであって、
前記リソースグループ管理情報に格納される情報は、前記ユーザと、個別ユーザと、前記個別ユーザの可能なロールとが対応付けられており、
前記制御部は、前記アクセス可否の判定に、前記個別ユーザのロールを用いることを特徴とする計算機システム。
【請求項７】
請求項３に記載の計算機システムであって、
前記ユーザと、前記ユーザの可能なロールとが対応付けられた情報を格納するアカウント管理情報を有しており、
前記制御部は、前記アクセス可否の判定に、前記アカウント管理情報における前記ユーザのロールと、前記リソースグループでのロールとを用いることを特徴とする計算機システム。
【請求項８】
請求項３に記載の計算機システムであって、
前記ユーザと、前記ユーザの可能なロールとが対応付けられた情報を格納するアカウント管理情報を有しており、
前記ソースプログラムの可能なロールが規定されたソースプログラム管理情報を有しており、
前記制御部は、
前記リクエストがストレージ構成を制御することが目的とする場合、前記アクセス可否の判定に、前記アカウント管理情報における前記ユーザのロールと、前記リソースグループでのロールとを用い、
前記リクエストがストレージ構成を制御すること以外が目的である場合、前記アクセス可否の判定に、前記ソースプログラム管理情報における前記ソースプログラムのロールと、前記リソースグループでのロールとを用いる
ことを特徴とする計算機システム。
【請求項９】
請求項１に記載の計算機システムであって、
前記制御部は、前記ソースプログラムを介したユーザからのリクエストにより前記リソースグループを作成した場合に、前記リソースグループ管理情報に、前記ユーザ及び前記ソースプログラムを対応付けた情報を追加する
ことを特徴とする計算機システム。
【請求項１０】
ソースプログラムに利用される複数のリソースを有する計算機システムのリソースアクセス制御方法において、
前記リソース及びリソースグループを対応付けた情報を格納するリソース管理情報と、
前記リソースグループを利用可能なユーザ及び前記ソースプログラムを対応付けた情報を格納するリソースグループ管理情報と、を有し、
前記ソースプログラムから、前記ソースプログラムを使用するユーザにかかる前記リソースを指定したリクエストを受信した場合に、制御部は、前記リソースグループ管理情報と、前記リソース管理情報とを用いて、前記リクエストにかかる前記リソースへのアクセス可否を判定することを特徴とする計算機システムのリソースアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソースを提供するシステムにおけるアクセス制御に関する。
【背景技術】
【０００２】
仮想化技術の進展によって、一つの物理計算機上に複数の仮想サーバ（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を構築し、ストレージ装置内に生成された論理ボリュームに、ＶＭのイメージ及びＶＭ上で稼働するアプリケーションが使用するデータを格納する構成のシステムが採用されている。当該システムでは、論理ボリュームの作成、論理ボリュームの容量拡張及び縮小、並びに論理ボリュームの削除等のボリュームプロビジョニングをＶＭ管理者に委ねる管理体系が適用される。
【０００３】
本明細書では、ＶＭ及びアプリケーションを管理するための管理ソフトウェアを上位管理ソフトウェアと記載し、また、上位管理ソフトウェアを使用する管理者を上位管理者と記載する。
【０００４】
前述のシステムでは、上位管理ソフトウェアは、論理ボリュームを物理計算機上のローカルディスクと同様の記憶領域として上位管理者に提供する。また、上位管理ソフトウェアは、ストレージ装置の論理ボリュームに対する操作要求を受信した場合、ストレージリソース操作ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を介して論理ボリュームの操作処理を実行する。なお、ストレージリソース操作ＡＰＩは、ストレージベンダが提供するソフトウェアであるプロバイダによって提供される。
【０００５】
前述のような管理体系のシステムを利用することによって、上位管理者は、ＶＭ及びアプリケーションからストレージリソースまでを一貫して管理でき、システム全体にかかるＯＰＥＸ（Ｏｐｅｒａｔｉｎｇ  Ｅｘｐｅｎｓｅ）削減の恩恵を得られる。
【０００６】
一方、クラウドの潮流によって、ＳＡＭＬ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などの標準化プロトコルを利用するフェデレーション方式シングルサインオンを利用したユーザ認証、及びロール（操作権限）の共有が、前述のシステムに適用されてきている。
【０００７】
なお、シングルサインオンは、ＬＤＡＰ及びＲＡＤＩＵＳ等の認証サーバに対して、ログインを一回行うことによって、複数のクラウドサービス及びＷＥＢアプリケーションの利用が可能となる技術である。
【０００８】
ＳＤＩ（Ｓｏｆｔｗａｒｅ−Ｄｅｆｉｎｅｄ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）では、上位管理者は、上位管理ソフトウェアを用いて、計算機、ＶＭ及びアプリケーション、並びに、ストレージリソースを一括して管理できる。上位管理者は、シングルサインオンを利用して、上位管理ソフトウェアにアクセスする。シングルサインオンで用いられる、リソースアクセス制御情報及び操作権限情報等のロールは、上位管理ソフトウェアが管理するリソースに対して設定され、かつ各管理ソフトウェア内でのみ有効である。
【０００９】
上位管理ソフトウェアが停止した場合、上位管理者は、ストレージ装置の専用管理ソフトウェアを利用して、前述の管理を行う。このため、上位管理者は専用管理ソフトウェアへのアクセスが許容されている。上位管理者は、上位管理ソフトウェアと同様に、シングルサインオンを用いて専用管理ソフトウェアへアクセスする。
【００１０】
従来の専用管理ソフトウェアでは、ロールを用いたアクセス制御が行われていない。そのため、上位管理者が専用管理ソフトウェアを利用する場合、上位管理ソフトウェアが使用するストレージリソース以外のストレージリソースにアクセスすることができる。したがって、異なる上位管理者が運用するシステムが、一つのストレージ装置を共有している場合、ストレージリソースに対する誤った操作が行われる恐れ、また、情報漏洩及びシステムの停止を招く恐れがある。
【００１１】
ストレージ装置が提供するストレージリソースの管理方法として特許文献１に記載の技術が知られている。特許文献１には、「複数の管理ユーザにより管理されるストレージ装置及びその制御方法において、管理対象のリソースを複数のリソースグループに分け、リソースグループを管理ユーザによる管理操作の排他制御の範囲とする排他制御処理を実行する」ことが記載されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特表２０１３−５３５７２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
仮想化技術では、各ユーザに対して異なるリソースが生成され、各リソースの操作には異なる操作権限が設定される。また、任意のリソースを生成するために、他のリソースが利用される場合がある。
【００１４】
特許文献１に記載の技術では、ユーザに割り当てられたリソースグループに関する権限情報に基づいてアクセス制御が行われる。したがって、他のユーザが管理するリソースが属するリソースグループに対するアクセス制御を行うことができない。
【００１５】
例えば、複数のユーザが共有するリソース（共有リソース）から生成されるリソースを操作する場合を考える。この場合、特許文献１に記載の技術をそのまま適用しても、共有リソースが属するリソースグループに対するアクセス制御を行うことができない。共有リソースが属するリソースグループに対するアクセス制御を行うためには、共有リソースに対してロールを設定する必要がある。しかし、仮想化技術を用いたシステムではリソースの関係が複雑であるため、共有リソースに対するロールの設定が困難である。
【００１６】
本発明は、仮想化技術を利用した様々なリソースに対するアクセス制御を実現するシステム及び方法を提供する。
【課題を解決するための手段】
【００１７】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ソースプログラムに利用される複数のリソースを有する計算機システムにおいて、前記リソース及びリソースグループを対応付けた情報を格納するリソース管理情報と、前記リソースグループを利用可能なユーザ及び前記ソースプログラムを対応付けた情報を格納するリソースグループ管理情報と、を有し、前記ソースプログラムから、前記ソースプログラムを使用するユーザにかかる前記リソースを指定したリクエストを受信した場合に、制御部は、前記リソースグループ管理情報と、前記リソース管理情報とを用いて、前記リクエストにかかる前記リソースへのアクセス可否を判定する。
【発明の効果】
【００１８】
本発明の一形態によれば、セキュリティを確保しつつ、ユーザ（ユーザグループ）単位でリソースに対する操作を制御できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１９】
【図１】実施例１のシステムの構成の一例を示す図である。
【図２】実施例１のホスト計算機の構成の一例を示す図である。
【図３】実施例１のストレージ装置の構成の一例を説明する図である。
【図４Ａ】実施例１のホスト管理計算機の構成の一例を示す図である。
【図４Ｂ】実施例１のストレージ管理計算機の構成の一例を示す図である。
【図５】実施例１の認証サーバが保持するアカウント管理情報のデータ構造の一例を示す図である。
【図６】実施例１の制御用メモリに格納されるＬＵ管理情報のデータ構造の一例を示す図である。
【図７】実施例１の制御用メモリに格納されるポート管理情報のデータ構造の一例を示す図である。
【図８】実施例１の制御用メモリに格納されるプール管理情報のデータ構造の一例を示す図である。
【図９】実施例１の制御用メモリに格納されるパリティグループ管理情報のデータ構造の一例を示す図である。
【図１０】実施例１の制御用メモリに格納されるソースプログラム管理情報のデータ構造の一例を示す図である。
【図１１】実施例１の制御用メモリに格納されるリソースグループ管理情報のデータ構造の一例を示す図である。
【図１２】実施例１の構成制御プログラムが実行する検出処理の一例を説明するフローチャートである。
【図１３】実施例１のシステムにおいて新規ストレージリソースを生成する処理の流れの一例を示すシーケンス図である。
【図１４】実施例１のストレージ装置が新規リソースを生成する場合に実行する認証／認可処理の一例を説明するフローチャートである。
【図１５】実施例１のストレージ装置が実行するストレージリソース生成処理の一例を説明するフローチャートである。
【図１６】実施例１のシステムにおいて既存ストレージリソースを操作する処理の流れの一例を示すシーケンス図である。
【図１７】実施例１の実施例１のストレージ装置が既存リソースを操作する場合に実行する認証／認可処理の一例を説明するフローチャートである。
【図１８】実施例２のシステムの構成の一例を示す図である。
【図１９】実施例２のマスタストレージ装置が保持するストレージ装置管理情報のデータ構造の一例を示す図である。
【図２０】実施例２のマスタストレージ装置が保持するＬＵ管理情報のデータ構造の一例を示す図である。
【図２１】実施例２のマスタストレージ装置が保持するポート管理情報のデータ構造の一例を示す図である。
【図２２】実施例２のマスタストレージ装置が保持するプール管理情報のデータ構造の一例を示す図である。
【図２３】実施例２のマスタストレージ装置が保持するパリティグループ管理情報のデータ構造の一例を示す図である。
【図２４】実施例２のシステムにおいて新規ストレージ装置を追加する処理の流れの一例を示すシーケンス図である。
【図２５】実施例３のシステムの構成の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、実施例を図面を用いて説明する。
【００２１】
なお、以後の説明では「テーブル」という表現にて各実施例の情報を説明するが、これらの情報は必ずしもテーブルである必要はなく、テーブル以外のデータ構造で表現されてもよい。また、「プログラム」を主語として説明を行う場合もあるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポートを用いながら行うため、プロセッサを主語とした説明と同じである。
【００２２】
また、プログラムをプロセッサが実行して得られる処理は、専用ハードウェアによる処理と同じであり、その一部又は全てを専用ハードウェアによって実現されてもよい。このため、「部」という表現にて物について説明するが、これらの「部」はその一部又は全てがプロセッサによるプログラムの実行であってもよいし、その一部又は全てが専用ハードウェアであってもよい。
【００２３】
また、プログラムは、プログラム配布サーバや、計算機が読み取り可能な記憶メディアによって、インストールされてもよい。
【実施例１】
【００２４】
実施例１では、ストレージ装置上で稼働する構成制御プログラムによるリソースアクセス制御処理について説明する。
【００２５】
図１は、実施例１のシステムの構成の一例を示す図である。
【００２６】
システムは、ホスト計算機１０００、ストレージ装置２０００、ホスト管理計算機３０００、ストレージ管理計算機４０００、及び認証サーバ５０００から構成される。
【００２７】
ホスト計算機１０００及びストレージ装置２０００は、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びｉＳＣＳＩ等で構成されるストレージネットワーク６０００を介して接続される。また、ホスト計算機１０００、ストレージ装置２０００、ホスト管理計算機３０００、ストレージ管理計算機４０００、及び認証サーバ５０００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で構成されるネットワーク７０００を介して接続される。
【００２８】
ホスト計算機１０００は、パーソナルコンピュータ、ワークステーション、及びメインフレーム等の、業務システムを構成するための計算機リソースを提供する。ホスト計算機１０００上では、ＶＭ１２９０を管理するハイパバイザ１２１０が稼働する。ホスト計算機１０００には、ストレージ装置２０００が提供するＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）２２１０が割り当てられる。ハイパバイザ１２１０は、図示しないデータストアとしてＬＵ２２１０を管理する。ＬＵ２２１０は、ＶＭ１２９０のイメージデータ及びＶＭ１２９０上で稼働するＯＳ又はアプリケーションのデータの格納領域として利用される。
【００２９】
ホスト管理計算機３０００は、ホスト計算機１０００を管理するための計算機である。ＶＭ管理者１０及びアプリケーション管理者２０は、操作端末（図示せず）を用いてシステムにアクセスし、ホスト管理計算機３０００が有する仮想マシン管理プログラム３１２０及びアプリケーション管理プログラム３１１０を利用して、ホスト計算機１０００、ＶＭ１２９０、並びに、ＶＭ１２９０上で稼働するＯＳ及びアプリケーションを管理する。
【００３０】
ストレージ装置２０００は、業務システムを構成するためのストレージリソースを提供する。ストレージ装置２０００は、構成制御プログラム２３００を有する。構成制御プログラム２３００は、ストレージ装置２０００内のリソースを制御する。ストレージ装置２０００は、リソースグループ（ＲＳＧ）２１００単位でプール２２００及びＬＵ２２１０等のリソースを管理する。
【００３１】
また、ストレージ装置２０００は、ＬＵ管理情報Ｔ２０００、ポート管理情報Ｔ３０００、プール管理情報Ｔ４０００、パリティグループ管理情報Ｔ５０００、ソースプログラム管理情報Ｔ６０００、及びリソースグループ管理情報Ｔ７０００を保持する。
【００３２】
ＬＵ管理情報Ｔ２０００の詳細は図６を用いて説明する。ポート管理情報Ｔ３０００の詳細は図７を用いて説明する。プール管理情報Ｔ４０００の詳細は図８を用いて説明する。パリティグループ管理情報Ｔ５０００の詳細は図９を用いて説明する。ソースプログラム管理情報Ｔ６０００の詳細は図１０を用いて説明する。リソースグループ管理情報Ｔ７０００の詳細は図１１を用いて説明する。
【００３３】
ストレージ管理計算機４０００は、ストレージ装置２０００を管理するための計算機である。ストレージ管理計算機４０００は、ストレージ管理プログラム４１１０及びプロバイダ４１２０を有する。
【００３４】
ストレージ管理プログラム４１１０は、ストレージリソースを操作するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）及びＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）を提供する。ストレージ管理者３０は、操作端末を用いてシステムにアクセスし、ストレージ管理プログラム４１１０を用いて、構成制御プログラム２３００にストレージリソースの操作及び装置保守操作を指示する。
【００３５】
プロバイダ４１２０は、アプリケーション管理プログラム３１１０及び仮想マシン管理プログラム３１２０が定義するフォーマット及びスキーマに適合したストレージリソースの操作を実行するためのＡＰＩを提供する。アプリケーション管理プログラム３１１０及び仮想マシン管理プログラム３１２０、又はハイパバイザ１２１０は、プロバイダ４１２０が提供するＡＰＩを介して、ストレージリソースの操作要求を送信する。プロバイダ４１２０は、ストレージリソースの操作要求を受信した場合、構成制御プログラム２３００に当該操作要求を送信する。構成制御プログラム２３００は、操作要求に対応する処理を実行する。
【００３６】
本明細書では、アプリケーション管理プログラム３１１０、仮想マシン管理プログラム３１２０、及びストレージ管理プログラム４１１０を区別しない場合、ソースプログラムと記載する。また、ＶＭ管理者１０、アプリケーション管理者２０、及びストレージ管理者３０を区別しない場合、管理ユーザと記載する。
【００３７】
認証サーバ５０００は、ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）及びＲＡＤＩＵＳ（Ｒｅｍｏｔｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｄｉａｌ  Ｉｎ  Ｕｓｅｒ  Ｓｅｒｖｉｃｅ）等を用いた認証処理を実行する。より具体的には、認証サーバ５０００は、ホスト計算機１０００、ホスト管理計算機３０００、及びストレージ管理計算機４０００上で稼働するソフトウェアに対するログイン処理における、ユーザ認証処理及び認可処理を実行する。
【００３８】
認証サーバ５０００は、パスワード及びロール等を管理するためのアカウント管理情報Ｔ１０００を保持する。
【００３９】
ここで、ユーザ認証処理及び認可処理の一例について説明する。ソースプログラムは、管理ユーザからのアクセスを受け付けた場合、認証サーバ５０００にユーザ認証処理及び認可処理の要求を送信する。認証サーバ５０００は、ユーザ認証処理及び認可処理を実行する。認証サーバ５０００は、正常に処理が終了した場合、認証証明を示すチケットを発行し、当該チケットをソースプログラムに送信する。チケットには、認可情報及びユーザの属性情報を含める方式と、認証サーバ５０００への問合せに使用する文字列等の値を含める方式とがある。ここで、ユーザの属性情報は、例えば、ユーザのＩＤ及びユーザが所属するグループのＩＤ等である。
【００４０】
本明細書では、説明の簡単のために、認可情報及びユーザの属性情報をチケットに含める方式を前提に説明する。ただし、認証サーバ５０００への問合せに使用する文字列等の値を含める方式でも同様の処理及び効果を奏する。
【００４１】
ソースプログラムが、管理ユーザから他のソースプログラムの呼出しリクエストを受け付けた場合、受信したチケットを他のソースプログラムに送信することによって代理認証を行い、ログイン処理を完了させる。これによって、シングルサインオンが成立する。
【００４２】
実施例１の認証サーバ５０００及びソースプログラムは、ＳＡＭＬ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等の標準規格に対応しているものとする。これによって、チケットに、ユーザグループ及びロール等を付与することができる。したがって、ソースプログラム間で、ユーザグループ及びロールを共有することができる。
【００４３】
次に、ホスト計算機１０００、ストレージ装置２０００、ホスト管理計算機３０００、及びストレージ管理計算機４０００の構成について説明する。
【００４４】
図２は、実施例１のホスト計算機１０００の構成の一例を示す図である。
【００４５】
ホスト計算機１０００は、ハードウェアとして、プロセッサ１０１０、メモリ１０２０、ネットワークＩ／Ｆ１０３０、入力装置１０４０、出力装置１０５０、及びＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）１０６０を有する。各ハードウェアは内部バスを介して互いに接続される。
【００４６】
プロセッサ１０１０は、メモリ１０２０に格納されるプログラムを実行する。プロセッサ１０１０がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部（モジュール）として動作する。例えば、ハイパバイザ１２１０を実行するプロセッサ１０１０は、ストレージ装置２０００に対してアクセス要求を送信する。以下の説明では、プログラムを主語に処理を説明する場合、プロセッサ１０１０がプログラムを実行していることを示す。
【００４７】
メモリ１０２０は、プロセッサ１０１０が実行するプログラム及びプログラムが使用する情報を格納する。また、メモリ１０２０は、プログラムが使用するワークエリアを含む。実施例１のメモリ１０２０には、ハイパバイザ１２１０及びアプリケーション１２２０を実現するプログラムが格納される。また、メモリ１０２０は、ＶＭ１２９０の実体となるデータを格納する。
【００４８】
ハイパバイザ１２１０は、ＶＭ１２９０を管理する機能及びＲＡＷデバイス１２３０から仮想ディスクを生成する機能を有する。
【００４９】
ネットワークＩ／Ｆ１０３０は、ネットワーク７０００を介して他の装置と接続するためのインタフェースである。
【００５０】
入力装置１０４０は、キーボード、マウス、スイッチ、ポンティングデバイス、及びマイクロフォン等である。出力装置１０５０は、ディスプレイ、スピーカ、及びプリンタ等である。
【００５１】
ＨＢＡ１０６０は、ストレージネットワーク６０００を介してストレージ装置２０００と接続するためのインタフェースである。ＨＢＡ１０６０は、ファイバチャネルプロトコル等の所定のプロトコルにしたがって、データ及びコマンドの送信処理及び受信処理を実行する。
【００５２】
図３は、実施例１のストレージ装置２０００の構成の一例を説明する図である。
【００５３】
ストレージ装置２０００は、ハードウェアとして、ＦＥＰＫ（ＦｒｏｎｔＥｎｄ  ＰａｃＫａｇｅ）２０１０、ＭＰＰＫ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  ＰａｃＫａｇｅ）２０２０、ＣＭＰＫ（Ｃａｃｈｅ  Ｍｅｍｏｒｙ  ＰａｃＫａｇｅ）２０３０、及びＢＥＰＫ（ＢａｃｋＥｎｄ  ＰａｃＫａｇｅ）２０４０を備える。各ハードウェアは、内部ネットワーク２０６０を介して互いに接続される。また、ハードウェアは、内部ネットワーク２０６０を介してネットワーク７０００に接続される。
【００５４】
ＦＥＰＫ２０１０は、複数のホストＩ／Ｆ２０１１を有する。ホストＩ／Ｆ２０１１は、ストレージ装置２０００と通信するためのインタフェースとして機能する。ホストＩ／Ｆ２０１１は、図示しない一つ以上のポートを有する。ポートには、それぞれＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス及びＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）等の固有のアドレスが割り当てられる。
【００５５】
ＢＥＰＫ２０４０は、複数のディスクＩ／Ｆ２０４１を有する。ディスクＩ／Ｆ２０４１は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置２０５０と通信するためのインタフェースとして機能する。ＢＥＰＫ２０４０は、記憶装置及び内部ネットワーク２０６０との間で送受信されるデータを中継する。
【００５６】
ＭＰＰＫ２０２０は、複数のマイクロプロセッサ（ＭＰ）２０２１及びローカルメモリ（ＬＭ）２０２２を有する。各ＭＰ２０２１及びＬＭ２０２２は、バス２０２３を介して接続される。
【００５７】
ＭＰ２０２１は、演算装置であり、ＬＭ２０２２に格納されたプログラムを実行する。ＬＭ２０２２は、論理分割、Ｉ／Ｏ制御、及び構成制御等のストレージ装置２０００全体を制御するための機能を実現するプログラムを格納する。また、ＬＭ２０２２は、制御用メモリ２０３２に格納されるＩ／Ｏ制御のための制御情報の一部を格納する。
【００５８】
ＣＭＰＫ２０３０は、キャッシュメモリ２０３１及び制御用メモリ２０３２を有する。キャッシュメモリ２０３１及び制御用メモリ２０３２は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリである。
【００５９】
キャッシュメモリ２０３１は、記憶装置２０５０に書き込むデータ又は記憶装置２０５０から読み出されたデータを一時的に格納する。制御用メモリ２０３２は、ＬＵ２２１０及びプール２２００の構成情報等、制御に必要な各種情報を格納する。本実施例の制御用メモリ２０３２は、ＬＵ管理情報Ｔ２０００、ポート管理情報Ｔ３０００、プール管理情報Ｔ４０００、パリティグループ管理情報Ｔ５０００、ソースプログラム管理情報Ｔ６０００、及びリソースグループ管理情報Ｔ７０００を格納する。
【００６０】
ＭＰ２０２１は、制御用メモリ２０３２に格納される構成制御プログラムを読み出し、ＬＭ２０２２にロードし、当該プログラムを実行する。
【００６１】
構成制御プログラム実行するＭＰ２０２１は、論理的な区画であるリソースグループ２１００にストレージリソースを割り当てる論理分割機能を有する。
【００６２】
論理分割機能は、ＢＥＰＫ２０４０によって提供されるＬＵ２２１０、論理ポート、プール２２００、及びパリティグループ等のストレージリソースをリソースグループ２１００に割り当てる。このとき、論理分割機能は、リソースグループ２１００に割り当てるストレージリソースの構成情報に、リソースグループ２１００の識別子を付与する。構成制御プログラムを実行するＭＰ２０２１は、リソースグループの識別子及びストレージリソースの割当て関係をリソースグループ管理情報Ｔ７０００に登録する。
【００６３】
図４Ａは、実施例１のホスト管理計算機３０００の構成の一例を示す図である。図４Ｂは、実施例１のストレージ管理計算機４０００の構成の一例を示す図である。実施例１のホスト管理計算機３０００及びストレージ管理計算機４０００の構成は、同一の構成である。
【００６４】
ホスト管理計算機３０００は、プロセッサ３０１０、メモリ３０２０、ネットワークＩ／Ｆ３０３０、入力装置３０４０、出力装置３０５０、及び記憶装置３０６０を有する。各ハードウェアは内部バスを介して互いに接続される。
【００６５】
ストレージ管理計算機４０００は、プロセッサ４０１０、メモリ４０２０、ネットワークＩ／Ｆ４０３０、入力装置４０４０、出力装置４０５０、及び記憶装置４０６０を有する。各ハードウェアは内部バスを介して互いに接続される。
【００６６】
プロセッサ３０１０、４０１０は、プロセッサ１０１０と同様のハードウェアであり、メモリ３０２０、４０２０は、メモリ１０２０と同様のハードウェアであり、また、ネットワークＩ／Ｆ３０３０、４０３０は、ネットワークＩ／Ｆ１０３０と同様のハードウェアである。入力装置３０４０、４０４０は、入力装置１０４０と同様のハードウェアであり、出力装置３０５０、４０５０は、出力装置１０５０と同様のハードウェアである。
【００６７】
メモリ３０２０は、アプリケーション管理プログラム３１１０及び仮想マシン管理プログラム３１２０を格納し、メモリ４０２０は、ストレージ管理プログラム４１１０及びプロバイダ４１２０を格納する。
【００６８】
記憶装置３０６０、４６００は、ＨＤＤ及びＳＳＤ等の記憶装置である。記憶装置３０６０には、管理プログラムの実行ログ等が格納される。
【００６９】
ストレージ管理者３０は、ストレージ管理プログラム４１１０を利用して、プール２２００及びパリティグループ等、ストレージ装置２０００の構成を管理する。
【００７０】
次に、システムの制御に用いられる情報のデータ構造について説明する。
【００７１】
図５は、実施例１の認証サーバ５０００が保持するアカウント管理情報Ｔ１０００のデータ構造の一例を示す図である。
【００７２】
アカウント管理情報Ｔ１０００は、ユーザＩＤ（Ｔ１０１０）、パスワード（Ｔ１０２０）、ユーザグループＩＤ（Ｔ１０３０）、及びロール（Ｔ１０４０）から構成されるエントリを含む。一つのエントリが一人のユーザに対応する。
【００７３】
ユーザＩＤ（Ｔ１０１０）は、ユーザを一意に識別するための識別子を格納するフィールドである。パスワード（Ｔ１０２０）は、ユーザが設定したパスワードを格納するフィールドである。ユーザグループＩＤ（Ｔ１０３０）は、ユーザが所属するユーザグループを一意に識別するための識別子を格納するフィールドである。ロール（Ｔ１０４０）は、ユーザに割り当てられたロールを示す情報を格納するフィールドである。本実施例では、ユーザグループ単位にロールが設定される。
【００７４】
ロール（Ｔ１０４０）には、以下のような種別のロールが設定される。「ＳＴＯＲＡＧＥ＿」から始まるロールは、ストレージリソースに対する操作権限を示し、「ＶＭ＿」から始まるロールは、ＶＭ１２９０及びＶＭ１２９０に関連するホスト計算機１０００上のリソースに対する操作権限を示し、「ＡＰＰＬＩＣＡＴＩＯＮ＿」から始まるロールは、ＯＳ上のアプリケーションプログラムに対する操作権限を示す。
【００７５】
ここで、認証／認可処理の概要について説明する。
【００７６】
認証サーバ５０００は、ソースプログラムから送信された実行要求に含まれるユーザの識別子及びパスワードと、ユーザＩＤ（Ｔ１０１０）及びパスワード（Ｔ１０２０）とを比較する。一致するエントリが存在する場合、認証サーバ５０００は、認証証明を示すチケットをソースプログラムに応答する。
【００７７】
ソースプログラムは、認証サーバ５０００に、チケットを含むロール取得要求を送信する。認証サーバ５０００は、チケットに対応するエントリを検索し、検索されたエントリのユーザグループＩＤ（Ｔ１０３０）及びロール（Ｔ１０４０）に格納される値を含む応答をソースプログラムに送信する。
【００７８】
ソースプログラムは、応答を受信した場合、指定リソースに対応するロールが受信した応答に含まれていない場合、管理者からの要求を拒絶する。このロールが対象外であることによる拒絶は、ストレージ装置側で、後述するＳ２０５０で行うようにしてもい。また、ソースプログラムは、他のプログラムのＡＰＩを利用する場合、認証サーバ５０００から取得したチケットをリクエストに付与することによってシングルサインオンができる。チケットには、ユーザの識別子、ユーザグループの識別子、及びロール等が含まれる。
【００７９】
図６は、実施例１の制御用メモリ２０３２に格納されるＬＵ管理情報Ｔ２０００のデータ構造の一例を示す図である。
【００８０】
ＬＵ管理情報Ｔ２０００は、ＬＵ  ＩＤ（Ｔ２０１０）、容量（Ｔ２０２０）、プールＩＤ（Ｔ２０３０）、リソースグループＩＤ（Ｔ２０４０）、及びポートＩＤ（Ｔ２０５０）から構成されるエントリを含む。一つのエントリが一つのＬＵ２２１０に対応する。
【００８１】
ＬＵ  ＩＤ（Ｔ２０１０）は、ＬＵ２２１０を一意に識別するための識別子を格納するフィールドである。容量（Ｔ２０２０）は、ＬＵ２２１０の容量を格納するフィールドである。プールＩＤ（Ｔ２０３０）は、ＬＵ２２１０が所属するプール２２００を一意に識別するための識別子を格納するフィールドである。リソースグループＩＤ（Ｔ２０４０）は、ＬＵ２２１０が割り当てられたリソースグループ２１００を一意に識別するための識別子を格納するフィールドである。ポートＩＤ（Ｔ２０５０）は、ホスト計算機１０００がＬＵ２２１０にアクセスするためのポートを一意に識別するための識別子を格納するフィールドである。
【００８２】
図７は、実施例１の制御用メモリ２０３２に格納されるポート管理情報Ｔ３０００のデータ構造の一例を示す図である。
【００８３】
ポート管理情報Ｔ３０００は、ポートＩＤ（Ｔ３０１０）、ＷＷＮ（Ｔ３０２０）、イニシエータＷＷＮ（Ｔ３０３０）、及びリソースグループＩＤ（Ｔ３０４０）から構成されるエントリを含む。一つのエントリが一つのポート（論理ポート）２２２０に対応する。
【００８４】
ポートＩＤ（Ｔ３０１０）は、ポートを一意に識別するための識別子を格納するフィールドである。ＷＷＮ（Ｔ３０２０）は、ポートのターゲットＷＷＮを格納するフィールドである。イニシエータＷＷＮ（Ｔ３０３０）は、ホスト計算機１０００のＨＢＡ１０６０のイニシエータＷＷＮを格納するフィールドである。リソースグループＩＤ（Ｔ３０４０）は、ポートが割り当てられたリソースグループ２１００を一意に識別するための識別子を格納するフィールドである。
【００８５】
図８は、実施例１の制御用メモリ２０３２に格納されるプール管理情報Ｔ４０００のデータ構造の一例を示す図である。
【００８６】
プール管理情報Ｔ４０００は、プールＩＤ（Ｔ４０１０）、容量（Ｔ４０２０）、空き容量（Ｔ４０３０）、パリティグループＩＤ（Ｔ４０４０）、及びリソースグループＩＤ（Ｔ４０５０）から構成されるエントリを含む。一つのエントリが一つのプール２２００に対応する。
【００８７】
プールＩＤ（Ｔ４０１０）は、プール２２００を一意に識別するための識別子を格納するフィールドである。容量（Ｔ４０２０）は、プール２２００の容量を格納するフィールドである。空き容量（Ｔ４０３０）は、プール２２００の容量のうち、使用されていない容量を格納するフィールドである。パリティグループＩＤ（Ｔ４０４０）は、プール２２００を構成する記憶領域を提供するパリティグループを一意に識別するための識別子を格納するフィールドである。ここで、パリティグループは、ＲＡＩＤを構成する物理ディスクの集合である。リソースグループＩＤ（Ｔ４０５０）は、プール２２００が割り当てられたリソースグループ２１００を一意に識別するための識別子を格納するフィールドである。
【００８８】
図９は、実施例１の制御用メモリ２０３２に格納されるパリティグループ管理情報Ｔ５０００のデータ構造の一例を示す図である。
【００８９】
パリティグループ管理情報Ｔ５０００は、パリティグループＩＤ（Ｔ５０１０）、ＲＡＩＤ情報（Ｔ５０２０）、ディスク情報（Ｔ５０３０）、及び容量（Ｔ５０４０）から構成されるエントリを含む。一つのエントリが一つのパリティグループに対応する。
【００９０】
パリティグループＩＤ（Ｔ５０１０）は、パリティグループを一意に識別するための識別子を格納するフィールドである。ＲＡＩＤ情報（Ｔ５０２０）は、パリティグループのＲＡＩＤ構成を格納するフィールドである。ディスク情報（Ｔ５０３０）は、パリティグループを構成する物理ディスクの識別子を格納するフィールドである。容量（Ｔ５０４０）は、パリティグループを構成する記憶領域の容量を格納するフィールドである。
【００９１】
図１０は、実施例１の制御用メモリ２０３２に格納されるソースプログラム管理情報Ｔ６０００のデータ構造の一例を示す図である。
【００９２】
ソースプログラム管理情報Ｔ６０００は、ソースプログラムＩＰアドレス（Ｔ６０１０）、タイプ（Ｔ６０２０）、及びロール（Ｔ６０３０）から構成されるエントリを含む。一つのエントリが一つのソースプログラムに対応する。
【００９３】
イニシエータＩＰアドレス（Ｔ６０１０）は、ソースプログラムがリクエストを送信する管理ポートに割り当てられるＩＰアドレスを格納するフィールドである。タイプ（Ｔ６０２０）は、ソースプログラムの種別を格納するフィールドである。
【００９４】
後述するように、ストレージリソースに対する操作要求を受け付けた場合、構成制御プログラム２３００は、ロール（Ｔ６０３０）に設定されたロールが付与されたユーザアカウントからの操作要求のみを受け付けるように制御する。
【００９５】
図１１は、実施例１の制御用メモリ２０３２に格納されるリソースグループ管理情報Ｔ７０００のデータ構造の一例を示す図である。
【００９６】
リソースグループ管理情報Ｔ７０００は、リソースグループＩＤ（Ｔ７０１０）、ユーザグループＩＤ（Ｔ７０２０）、ロール（Ｔ７０３０）、及びソースプログラムＩＰアドレス（Ｔ７０４０）から構成されるエントリを含む。一つのエントリが一つのリソースグループに対応する。
【００９７】
リソースグループＩＤ（Ｔ７０１０）は、リソースグループを一意に識別するための識別子を格納するフィールドである。
【００９８】
ユーザグループＩＤ（Ｔ７０２０）、ロール（Ｔ７０３０）、及びソースプログラムＩＰアドレス（Ｔ７０４０）は、リソースグループに割り当てられたストレージリソースに関する値を格納するフィールドである。以下の説明では、リソースグループに割り当てられたストレージリソースを割当ストレージリソースと記載する。
【００９９】
ユーザグループＩＤ（Ｔ７０２０）は、割当ストレージリソースへのアクセスが許可されるユーザグループを一意に識別するための識別子を格納するフィールドである。ロール（Ｔ７０３０）は、割当ストレージリソースを操作するために必要なロールを格納するフィールドである。ソースプログラムＩＰアドレス（Ｔ７０４０）は、割当ストレージリソースへのアクセスが許可されるソースプログラムが使用する管理ポートに割り当てられたＩＰアドレスを格納するフィールドである。
【０１００】
次に、システムにおいて実行される処理について説明する。
【０１０１】
図１２は、実施例１の構成制御プログラム２３００が実行する検出処理の一例を説明するフローチャートである。
【０１０２】
ソースプログラムは、ストレージ装置２０００を検出するための検出リクエストを送信する。検出リクエストには、認証サーバ５０００から取得したチケット、検出リクエストの送信時に使用する管理ポートに割り当てられるＩＰアドレス、及びソースプログラムのタイプが含まれる。なお、検出リクエストがプロバイダ４１２０等を経由して転送される場合、プロバイダ４１２０等は、検索リクエストを送信するＩＰアドレスとともに、経由するプログラム又は装置に付与されたＩＰアドレスを検出リクエストに含める。
【０１０３】
構成制御プログラム２３００は、検出リクエストを受信した場合、以下で説明する検出処理を開始する。
【０１０４】
構成制御プログラム２３００は検出リクエストを解析する（ステップＳ１０１０）。
【０１０５】
具体的には、構成制御プログラム２３００は、検出リクエストに含まれるチケットから認可情報を取得し、また、検出リクエストに含まれるＩＰアドレスを取得する。
【０１０６】
次に、構成制御プログラム２３００は、ソースプログラム管理情報Ｔ６０００を参照して、検出リクエストを送信したソースプログラムのリソースグループが設定されているか否かを判定する（ステップＳ１０２０）。
【０１０７】
具体的には、構成制御プログラム２３００は、ソースプログラムＩＰアドレス（Ｔ６０１０）が検出リクエストを送信したソースプログラムのＩＰアドレスと一致するエントリを検索する。エントリが存在する場合、構成制御プログラム２３００は、検出リクエストを送信したソースプログラムのリソースグループが設定されていると判定する。
【０１０８】
検出リクエストを送信したソースプログラムのリソースグループが設定されている場合、構成制御プログラム２３００は、検出処理を終了する。
【０１０９】
検出リクエストを送信したソースプログラムのリソースグループが設定されていない場合、構成制御プログラム２３００は、ソースプログラムのリソースグループを設定する（ステップＳ１０３０）。その後、構成制御プログラム２３００は、検出処理を終了する。具体的には、以下のような処理が実行される。
【０１１０】
構成制御プログラム２３００は、ソースプログラム管理情報Ｔ６０００にエントリを追加し、追加されたエントリのソースプログラムＩＰアドレス（Ｔ６０１０）に検出リクエストに含まれるＩＰアドレスを設定する。また、構成制御プログラム２３００は、追加されたエントリのタイプ（Ｔ６０２０）及びロール（Ｔ６０３０）に、認可情報に含まれるソースプログラムのタイプ及びロールを設定する。
【０１１１】
また、構成制御プログラム２３００は、リソースグループ管理情報Ｔ７０００にエントリを追加し、追加されたエントリのリソースグループＩＤ（Ｔ７０１０）にリソースグループの識別子を設定する。構成制御プログラム２３００は、追加されたエントリのロール（Ｔ７０３０）に、認可情報に含まれるロールを設定し、また、ソースプログラムＩＰアドレス（Ｔ７０４０）に、検出リクエストに含まれるＩＰアドレスを設定する。
【０１１２】
なお、検出リクエストがプロバイダ４１２０等を経由して転送される場合、ＩＰアドレス（Ｔ７０４０）には、検出リクエストを送信したソースプログラムのＩＰアドレス、及びプロバイダ４１２０等のＩＰアドレスが設定される。
【０１１３】
検出処理では、ソースプログラム毎に、当該ソースプログラムが利用するストレージリソースを割り当てるリソースグループ２１００が生成される。実施例１では、リソースグループ２１００に割り当てられたストレージリソースの所有者（オーナ）を示す情報（オーナ情報）として、ソースプログラムＩＰアドレス（Ｔ７０４０）を設けている。
【０１１４】
なお、リソースグループ管理情報Ｔ７０００を生成するタイミングは、検出リクエストの受信に限定されない。ストレージリソースを使用するために、ソースプログラムからのアクセスを検出した場合に、同様の処理を実行すればよい。
【０１１５】
図１３は、実施例１のシステムにおいて新規ストレージリソースを生成する処理の流れの一例を示すシーケンス図である。
【０１１６】
ＶＭ管理者１０は、仮想マシン管理プログラム３１２０（ソースプログラム）が提供するＧＵＩ又はＣＬＩを用いて、仮想マシン管理プログラム３１２０にログインするためのログインリクエストをホスト管理計算機３０００に操作端末から入力する（ステップＳ２０１０）。
【０１１７】
ホスト管理計算機３０００は、ログインリクエストを受信した場合、認証サーバ５０００に当該リクエストを転送する。仮想マシン管理プログラム３１２０は、ユーザの認証を行った認証サーバ５０００からチケットを取得する。
【０１１８】
ログインリクエストに対する応答を確認した後、ＶＭ管理者１０は、ホスト管理計算機３０００に仮想マシン管理プログラム３１２０が管理するリソースの生成リクエストを入力する（ステップＳ２０２０）。ここでは、ＶＭ１２９０のイメージを格納するためのデータストアの生成リクエストが入力されたものとする。
【０１１９】
仮想マシン管理プログラム３１２０は、プロバイダ４１２０が提供するＡＰＩを用いて、データストアとして用いるＬＵ２２１０の生成リクエストをストレージ管理計算機４０００に送信する（ステップＳ２０３０）。生成リクエストには、認証サーバ５０００から取得したチケットが付与される。
【０１２０】
ストレージ管理計算機４０００のプロバイダ４１２０は、ＬＵ２２１０の生成リクエストを受信した場合、ストレージ装置２０００に当該生成リクエストを送信する（ステップＳ２０４０）。このとき、プロバイダ４１２０は、ＬＵ２２１０を生成するプール２２００を選択し、生成リクエストにプール２２００の識別子を含めてもよい。
【０１２１】
ストレージ装置２０００の構成制御プログラム２３００は、認証／認可処理を実行する（ステップＳ２０５０）。認証／認可処理の詳細は図１４を用いて説明する。また、構成制御プログラム２３００は、ＶＭ管理者１０の操作が許可された場合、ストレージリソース生成処理を実行する（ステップＳ２０６０）。ストレージリソース生成処理の詳細は図１５を用いて説明する。
【０１２２】
構成制御プログラム２３００は、生成されたＬＵ２２１０の識別子を含む応答をストレージ管理計算機４０００に送信する（ステップＳ２０７０）。ストレージ管理計算機４０００のプロバイダ４１２０は、当該応答をホスト管理計算機３０００に転送する（ステップＳ２０８０）。ホスト管理計算機３０００の仮想マシン管理プログラム３１２０は、ＶＭ管理者１０に当該応答を出力する（ステップＳ２０９０）。
【０１２３】
ＶＭ管理者１０は、必要な操作を終えた場合、ログアウトリクエストをホスト管理計算機３０００に入力する（ステップＳ２１００）。
【０１２４】
なお、アプリケーション管理者２０がアプリケーション管理プログラム３１１０を用いた操作も同様の処理の流れとなる。
【０１２５】
図１４は、実施例１のストレージ装置２０００が新規リソースを生成する場合に実行する認証／認可処理の一例を説明するフローチャートである。
【０１２６】
構成制御プログラム２３００は、ＬＵ２２１０の生成リクエストを受信した場合、当該リクエストに付与されるチケットから認可情報を取得する（ステップＳ３０１０）。
【０１２７】
具体的には、構成制御プログラム２３００は、認可情報から、ユーザの識別子、ユーザグループの識別子、及びロールを取得する。また、構成制御プログラム２３００は、ＬＵ２２１０の生成リクエストからＩＰアドレスを取得する。構成制御プログラム２３００は、ＬＵ管理情報Ｔ２０００、ポート管理情報Ｔ３０００、プール管理情報Ｔ４０００、及びパリティグループ管理情報Ｔ５０００のいずれかを参照し、操作対象のストレージリソースが割り当てられるリソースグループを特定する。例えば、ＬＵを生成するクエストであれば、リクエストに含まれるＬＵを生成するプールの識別子を用いて、プール管理情報Ｔ４０００に基づいて、リソースグループＩＤＴ４０５０を特定する。
【０１２８】
なお、ソースプログラムから直接送信されたＬＵ２２１０の生成リクエストの場合、当該リクエストにはソースプログラムのＩＰアドレスのみが含まれる。プロバイダ４１２０を経由して送信されたＬＵ２２１０の生成リクエストの場合、当該リクエストにはソースプログラム及びプロバイダ４１２０のＩＰアドレスが含まれる。
【０１２９】
次に、構成制御プログラム２３００は、要求者（ＶＭ管理者１０）がストレージリソースの操作権限を有するか否かを判定する（ステップＳ３０２０）。
【０１３０】
具体的には、構成制御プログラム２３００は、リソースグループＩＤ（Ｔ７０１０）に、特定されたリソースグループの識別子が設定されたエントリを検索する。構成制御プログラム２３００は、検索されたエントリのユーザグループＩＤ（Ｔ７０２０）及びロール（Ｔ７０３０）と、認可情報に含まれるユーザグループの識別子及びロールと、を比較し、要求者がストレージリソースの操作権限を有するか否かを判定する。ここで、認証に用いるロールは、ソースプログラムのロール（Ｔ６０３０）とユーザのロール（Ｔ１０４０）が考えられる。認証に用いるロールを使い分けてもよい。例えば、構成制御プログラム２３００へユーザが直接アクセスした場合は、ユーザのロールを用い、ソースプログラムを介した場合にはソースプログラムへのログイン認証に用いたユーザのロール（ユーザとソースプログラムで共通したロール）を用いるようにしてもよい。
【０１３１】
要求者がストレージリソースの操作権限を有しないと判定された場合、構成制御プログラム２３００は、リクエスト拒絶を応答し（ステップＳ３０６０）、処理を終了する。
【０１３２】
要求者がストレージリソースの操作権限を有すると判定された場合、構成制御プログラム２３００は、指定リソースが属するリソースグループの識別子を取得する（ステップＳ３０３０）。
【０１３３】
具体的には、構成制御プログラム２３００は、指定リソースに対応する管理情報を参照し、指定リソースに対応するエントリに設定されたリソースグループの識別子を取得する。
【０１３４】
実施例１では、プール２２００が指定リソースであるため、構成制御プログラム２３００は、プール管理情報Ｔ４０００を参照し、プールＩＤ（Ｔ４０１０）が指定されたプール２２００の識別子に一致するエントリを検索する。構成制御プログラム２３００は、検索されたエントリのリソースグループＩＤ（Ｔ４０５０）に設定されたリソースグループの識別子を取得する。
【０１３５】
次に、構成制御プログラム２３００は、要求者が指定リソースのアクセス権を有するか否かを判定する（ステップＳ３０４０）。ステップＳ３０４０の処理は、要求者が指定リソースが割り当てられるリソースグループの所有者であるか否かを判定するための処理である。具体的には、以下のような処理が実行される。
【０１３６】
（処理１）構成制御プログラム２３００は、リソースグループ管理情報Ｔ７０００を参照し、リソースグループＩＤ（Ｔ７０１０）及びユーザグループＩＤ（Ｔ７０２０）の値が、取得されたリソースグループの識別子及びユーザグループの識別子に一致するエントリを検索する。
【０１３７】
（処理２）構成制御プログラム２３００は、検索されたエントリのソースプログラムＩＰアドレス（Ｔ７０４０）に、ＬＵ２２１０の生成リクエストから取得したＩＰアドレスが設定されているか否かを判定する。検索されたエントリのソースプログラムＩＰアドレス（Ｔ７０４０）に、ＬＵ２２１０の生成リクエストから取得したＩＰアドレスが設定されている場合、構成制御プログラム２３００は、要求者が指定リソースのアクセス権を有すると判定する。
【０１３８】
なお、ソースプログラムＩＰアドレス（Ｔ７０４０）に複数のＩＰアドレスが設定される場合、構成制御プログラム２３００は、ソースプログラムＩＰアドレス（Ｔ７０４０）に設定された全てのＩＰアドレスと、ＬＵ２２１０の生成リクエストから取得した全てのＩＰアドレスとが一致するか否かを判定する。ソースプログラムＩＰアドレス（Ｔ７０４０）に設定された全てのＩＰアドレスと、ＬＵ２２１０の生成リクエストから取得した全てのＩＰアドレスとが一致する場合、構成制御プログラム２３００は、要求者が指定リソースのアクセス権を有すると判定する。以上がステップＳ３０４０の処理の説明である。
【０１３９】
要求者が指定されたリソースのアクセス権を有していないと判定された場合、構成制御プログラム２３００は、リクエスト拒絶を応答し（ステップＳ３０６０）、処理を終了する。
【０１４０】
要求者が指定されたリソースのアクセス権を有すると判定された場合、構成制御プログラム２３００は、リクエスト受理を応答し、ストレージリソース生成処理を開始する（ステップＳ３０５０）。
【０１４１】
図１４に示すように、各ストレージリソースに対して所有者を設定できる。
【０１４２】
図１５は、実施例１のストレージ装置２０００が実行するストレージリソース生成処理の一例を説明するフローチャートである。
【０１４３】
構成制御プログラム２３００は、デフォルトリソースグループに新規リソースを生成する（ステップＳ４０１０）。ＬＵ２２１０を生成する場合には以下のような処理が実行される。
【０１４４】
構成制御プログラム２３００は、指定されたプール２２００を用いてＬＵ２２１０を生成し、また、ＬＵ２２１０にアクセスするための論理ポートを設定する。
【０１４５】
構成制御プログラム２３００は、ＬＵ管理情報Ｔ２０００にエントリを追加し、追加されたエントリのＬＵ  ＩＤ（Ｔ２０１０）の識別子を設定する。構成制御プログラム２３００は、追加されたエントリの容量（Ｔ２０２０）、プールＩＤ（Ｔ２０３０）、及びポートＩＤ（Ｔ２０５０）に、ＬＵ２２１０の容量、ＬＵ２２１０を生成したプールの識別子、及び設定した論理ポートの識別子を設定する。さらに、構成制御プログラム２３００は、追加されたエントリのリソースグループＩＤ（Ｔ２０４０）に「ＲＳＧ０」を設定する。
【０１４６】
また、構成制御プログラム２３００は、ポート管理情報Ｔ３０００を参照し、ポートＩＤ（Ｔ３０１０）が、追加されたエントリのポートＩＤ（Ｔ２０５０）に一致するエントリを検索する。構成制御プログラム２３００は、検索されたエントリのリソースグループＩＤ（Ｔ２０４０）に「ＲＳＧ０」を設定する。以上がステップＳ４０１０の処理の説明である。
【０１４７】
次に、構成制御プログラム２３００は、要求者のリソースグループ（割当リソースグループ）に新規リソースを移動する（ステップＳ４０２０）。その後、構成制御プログラム２３００は処理を終了する。ステップＳ４０２０では、以下のような処理が実行される。
【０１４８】
構成制御プログラム２３００は、ＬＵ管理情報Ｔ２０００を参照し、ステップＳ４０１０において追加されたエントリのリソースグループＩＤ（Ｔ２０４０）に割当リソースグループの識別子を設定する。
【０１４９】
また、構成制御プログラム２３００は、ポート管理情報Ｔ３０００を参照し、ポートＩＤ（Ｔ３０１０）が、追加されたエントリのポートＩＤ（Ｔ２０５０）に一致するエントリを検索する。構成制御プログラム２３００は、検索されたエントリのリソースグループＩＤ（Ｔ２０４０）に割当リソースグループの識別子を設定する。以上がステップＳ４０２０の処理の説明である。
【０１５０】
図１６は、実施例１のシステムにおいて既存ストレージリソースを操作する処理の流れの一例を示すシーケンス図である。
【０１５１】
ＶＭ管理者１０は、仮想マシン管理プログラム３１２０（ソースプログラム）が提供するＧＵＩ又はＣＬＩを用いて、仮想マシン管理プログラム３１２０にログインするためのログインリクエストをホスト管理計算機３０００に入力する（ステップＳ５０１０）。
【０１５２】
ホスト管理計算機３０００は、ログインリクエストを受信した場合、認証サーバ５０００に当該リクエストを転送する。ホスト管理計算機３０００は、ユーザの認証を行った認証サーバ５０００からチケットを取得する。
【０１５３】
ログインリクエストに対する応答を確認した後、ＶＭ管理者１０は、ホスト管理計算機３０００に仮想マシン管理プログラム３１２０が管理するリソースの操作指示を入力する（ステップＳ５０２０）。
【０１５４】
仮想マシン管理プログラム３１２０は、プロバイダ４１２０が提供するＡＰＩを用いてストレージリソースの操作リクエストをストレージ管理計算機４０００に送信する（ステップＳ５０３０）。操作リクエストには、認証サーバ５０００から取得したチケットが含まれる。
【０１５５】
ストレージ管理計算機４０００のプロバイダ４１２０は、ストレージリソースの操作リクエストを受信した場合、ストレージ装置２０００に操作リクエストを転送する（ステップＳ５０４０）。
【０１５６】
ストレージ装置２０００の構成制御プログラム２３００は、認証／認可処理を実行する（ステップＳ５０５０）。ＶＭ管理者１０が正当なロール及びアクセス権限を有すると判定された場合、構成制御プログラム２３００は、ストレージリソース操作処理を実行する（ステップＳ５０６０）。
【０１５７】
構成制御プログラム２３００は、処理結果を含む応答をストレージ管理計算機４０００に送信する（ステップＳ５０７０）。ストレージ管理計算機４０００のプロバイダ４１２０は、当該応答をホスト管理計算機３０００に送信する（ステップＳ５０８０）。ホスト管理計算機３０００の仮想マシン管理プログラム３１２０は、ＶＭ管理者１０に当該応答を出力する（ステップＳ５０９０）。
【０１５８】
ＶＭ管理者１０は、必要な操作を終えた場合、ログアウトリクエストをホスト管理計算機３０００に入力する（ステップＳ５１００）。
【０１５９】
なお、アプリケーション管理者２０がアプリケーション管理プログラム３１１０を用いた操作も同様の処理の流れとなる。
【０１６０】
図１７は、実施例１の実施例１のストレージ装置２０００が既存リソースを操作する場合に実行する認証／認可処理の一例を説明するフローチャートである。
【０１６１】
ステップＳ６０１０からステップＳ６０４０の処理は、ステップＳ３０１０からステップＳ３０２０の処理と同一である。また、ステップＳ６０６０の処理は、ステップＳ３０６０の処理と同一である。ステップＳ６０２０において、操作リクエスト対象のＶＭ１２９０の所属するリソース管理グループについては、ＶＭが接続されているポート２２２０の識別子と、ポート管理情報Ｔ３０００のポートＩＤ（Ｔ３０１０）とに基づいて判定する。
【０１６２】
ステップＳ６０４０において、要求者が指定されたリソースのアクセス権を有すると判定された場合、構成制御プログラム２３００は、リクエスト受理を応答し、ストレージリソース操作処理を開始する（ステップＳ６０５０）。
【０１６３】
図１７に示すように、ストレージリソースの操作権限を有しているが、要求者が操作対象のストレージリソースが割り当てられるリソースグループの所有者ではない場合、リクエストが拒絶される。これによって、正規のユーザが、他の正規のユーザが管理するリソースを操作することを防止できる。
【０１６４】
実施例１に記載のシステムでは、ストレージリソースはリソースグループ単位で管理される。リソースグループはユーザグループと対応づけて管理されているため、ユーザグループ単位でリソースに対する操作を制御できる。
【０１６５】
また、構成制御プログラム２３００は、リソースグループの設定時に、認証サーバ５０００が管理する認可情報をリソースグループと対応づけて管理する。構成制御プログラム２３００は、リソース操作リクエストを受信した場合、リソースグループと対応付けた認可情報と、新たに取得した認可情報とを比較することによって、正当なロールを保持しているか否かを確認できる。この構成によって、ストレージ装置２０００に予めロールを設定する必要がない。
【０１６６】
また、構成制御プログラム２３００は、リソースグループの設定時に、リソースグループの所有者を特定する情報としてＩＰアドレスを取得し、ＩＰアドレスをリソースグループと対応づけて管理する。構成制御プログラム２３００は、リソース操作リクエストを受信した場合、リソースグループと対応づけたＩＰアドレスと、リクエストから取得したＩＰアドレスとを比較することによって、正当なリソースグループの所有者であるか否かを確認できる。この構成によって、不正アクセスに基づく不正なリソースの操作を制限できる。
【０１６７】
実施例１では、ストレージリソースを対象に説明したが、ＶＭ１２９０等をリソースとして提供するシステムについても同様の構成を適用することができる。
【実施例２】
【０１６８】
実施例２は、実施例１とシステム構成が異なる。以下、実施例１との差異を中心に実施例２について説明する。
【０１６９】
図１８は、実施例２のシステムの構成の一例を示す図である。
【０１７０】
実施例２のシステムは、複数のストレージ装置２０００を備える。複数のストレージ装置２０００は、バックエンドネットワーク８０００を介して互いに接続される。また、一つのストレージ装置２０００は、各ストレージ装置２０００の制御を統括するストレージ管理プログラム４１１０を有する。実施例２のストレージ管理計算機４０００は、ストレージ管理プログラム４１１０を有さない。
【０１７１】
実施例２のシステムの他の構成については、実施例１のシステムの構成と同一である。また、各装置のハードウェア構成は、実施例１の各装置のハードウェア構成と同一である。
【０１７２】
実施例２では、ストレージ管理プログラム４１１０が、プロバイダ４１２０等からリソース操作リクエストを受信するように設定される。ストレージ管理プログラム４１１０は、操作対象のリソースを管理するストレージ装置２０００を特定し、特定されたストレージ装置２０００にリソース操作リクエストを転送する。各ストレージ装置２０００の構成制御プログラム２３００は、ストレージ管理プログラム４１１０からの操作リクエストのみを受け付けるように設定されている。以下の説明では、ストレージ管理プログラム４１１０を有するストレージ装置２０００をマスタストレージ装置２０００と記載する。
【０１７３】
実施例２では、マスタストレージ装置２０００が複数のストレージ装置２０００を管理するための情報を保持する。ここで、マスタストレージ装置２０００が複数のストレージ装置２０００を管理するための情報について説明する。
【０１７４】
図１９は、実施例２のマスタストレージ装置２０００が保持するストレージ装置管理情報Ｔ８０００のデータ構造の一例を示す図である。
【０１７５】
ストレージ装置管理情報Ｔ８０００は、ストレージ装置２０００を管理するための情報である。ストレージ装置管理情報Ｔ８０００は予め設定され、ストレージ装置２０００の追加及び削除に伴ってエントリの追加及び削除が行われる。
【０１７６】
ストレージ装置管理情報Ｔ８０００は、ノードＩＤ（Ｔ８０１０）、ＩＰアドレス（Ｔ８０２０）、マスタ（Ｔ８０３０）、状態（Ｔ８０４０）から構成されるエントリを含む。一つのエントリが一つのストレージ装置２０００に対応する。
【０１７７】
ノードＩＤ（Ｔ８０１０）は、ストレージ装置２０００の識別子を格納するフィールドである。ＩＰアドレス（Ｔ８０２０）は、ストレージ装置２０００の管理ポートに割り当てられたＩＰアドレスを格納するフィールドである。マスタ（Ｔ８０３０）は、マスタか否かを示す値を格納するフィールドである。ここで、マスタは、処理を統括するストレージ装置２０００、すなわち、マスタストレージ装置２０００を表す。マスタ（Ｔ８０３０）には、マスタであることを示す「１」及びマスタでないことを示す「０」のいずれかが設定される。状態（Ｔ８０４０）は、ストレージ装置２０００の稼働状態を示す値を格納するフィールドである。状態（Ｔ８０４０）には、稼働している状態を示す「稼働」及び稼働していない状態を示す「待機」のいずれかが設定される。
【０１７８】
図２０は、実施例２のマスタストレージ装置２０００が保持するＬＵ管理情報Ｔ２０００のデータ構造の一例を示す図である。
【０１７９】
ＬＵ管理情報Ｔ２０００に含まれるエントリは、ノードＩＤ（Ｔ２０６０）を含む。ノードＩＤ（Ｔ２０６０）は、ノードＩＤ（Ｔ８０１０）と同一のフィールドである。
【０１８０】
なお、複数のストレージ装置２０００は、実施例１で説明したＬＵ管理情報Ｔ２０００を保持する。
【０１８１】
図２１は、実施例２のマスタストレージ装置２０００が保持するポート管理情報Ｔ３０００のデータ構造の一例を示す図である。
【０１８２】
ポート管理情報Ｔ３０００に含まれるエントリは、ノードＩＤ（Ｔ３０５０）を含む。ノードＩＤ（Ｔ３０５０）は、ノードＩＤ（Ｔ８０１０）と同一のフィールドである。
【０１８３】
なお、複数のストレージ装置２０００は、実施例１で説明したポート管理情報Ｔ３０００を保持する。
【０１８４】
図２２は、実施例２のマスタストレージ装置２０００が保持するプール管理情報Ｔ４０００のデータ構造の一例を示す図である。
【０１８５】
プール管理情報Ｔ４０００に含まれるエントリは、ノードＩＤ（Ｔ４０５０）を含む。ノードＩＤ（Ｔ４０５０）は、ノードＩＤ（Ｔ８０１０）と同一のフィールドである。
【０１８６】
なお、複数のストレージ装置２０００は、実施例１で説明したプール管理情報Ｔ４０００を保持する。
【０１８７】
図２３は、実施例２のマスタストレージ装置２０００が保持するパリティグループ管理情報Ｔ５０００のデータ構造の一例を示す図である。
【０１８８】
パリティグループ管理情報Ｔ５０００に含まれるエントリは、ノードＩＤ（Ｔ５０５０）を含む。ノードＩＤ（Ｔ５０５０）は、ノードＩＤ（Ｔ８０１０）と同一のフィールドである。
【０１８９】
なお、複数のストレージ装置２０００は、実施例１で説明したパリティグループ管理情報Ｔ５０００を保持する。
【０１９０】
実施例２では、マスタストレージ装置２０００のストレージ管理プログラム４１１０は、リソース操作リクエストを受信した場合、ＬＵ管理情報Ｔ２０００、ポート管理情報Ｔ３０００、プール管理情報Ｔ４０００、及びパリティグループ管理情報Ｔ５０００の少なくともいずれかを参照して、当該リクエストの転送先となるストレージ装置２０００を特定する。また、マスタストレージ装置２０００のストレージ管理プログラム４１１０は、ストレージ装置管理情報Ｔ８０００を参照して、転送先のストレージ装置２０００のＩＰアドレスを取得し、リクエストを転送する。
【０１９１】
各ストレージ装置２０００の構成制御プログラム２３００がリソース操作リクエストを受信した場合の処理は、実施例１と同一の処理であるため、説明を省略する。
【０１９２】
図２４は、実施例２のシステムにおいて新規ストレージ装置２０００を追加する処理の流れの一例を示すシーケンス図である。
【０１９３】
ストレージ管理者３０は、ストレージ管理プログラム４１１０が提供するＧＵＩ又はＣＬＩを用いて、ストレージ管理プログラム４１１０にログインするためのログインリクエストをマスタストレージ装置２０００に入力する（ステップＳ７０１０）。
【０１９４】
マスタストレージ装置２０００は、ログインリクエストを受信した場合、認証サーバ５０００に当該リクエストを転送する。ストレージ管理プログラム４１１０は、ユーザの認証を行った認証サーバ５０００からチケットを取得する。
【０１９５】
ログインリクエストに対する応答を確認した後、ストレージ管理者３０は、マスタストレージ装置２０００に新規ストレージ装置２０００の追加リクエストを入力する（ステップＳ７０２０）。当該追加リクエストには、新規ストレージ装置２０００のＩＰアドレスが含まれる。
【０１９６】
ストレージ管理プログラム４１１０は、新規ストレージ装置２０００に受信制限情報を送信する（ステップＳ７０３０）。受信制限情報は、マスタストレージ装置２０００からの操作リクエストのみを受け付けるように設定するための情報である。
【０１９７】
新規ストレージ装置２０００の構成制御プログラム２３００は、受信制限情報を受信した場合、制御用メモリ２０３２に受信制限情報を格納する。その後、新規ストレージ装置２０００の構成制御プログラム２３００は、マスタストレージ装置２０００に応答を送信する（ステップＳ７０４０）。
【０１９８】
マスタストレージ装置２０００のストレージ管理プログラム４１１０は、新規ストレージ装置２０００にリソースグループ管理情報Ｔ７０００を送信する（ステップＳ７０５０）。
【０１９９】
新規ストレージ装置２０００の構成制御プログラム２３００は、リソースグループ管理情報Ｔ７０００を受信した場合、制御用メモリ２０３２にリソースグループ管理情報Ｔ７０００を格納する。その後、新規ストレージ装置２０００の構成制御プログラム２３００は、マスタストレージ装置２０００に応答を送信する（ステップＳ７０６０）。
【０２００】
マスタストレージ装置２０００のストレージ管理プログラム４１１０は、ストレージ管理者３０に、新規ストレージ装置２０００の追加処理が完了した旨を通知する応答を出力する（ステップＳ７０７０）。
【０２０１】
ストレージ管理者３０は、必要な操作を終えた場合、ログアウトリクエストをマスタストレージ装置２０００に入力する（ステップＳ７０８０）。
【０２０２】
以上の処理によって、マスタストレージ装置２０００が操作リクエストを受け付けるように制御できる。また、各ストレージ装置２０００の構成制御プログラム２３００は、リソースグループ単位のアクセス制御を実現できる。
【実施例３】
【０２０３】
実施例３は、実施例１とシステム構成が異なる。以下、実施例１との差異を中心に実施例３について説明する。
【０２０４】
図２５は、実施例３のシステムの構成の一例を示す図である。
【０２０５】
実施例３のシステムは、複数のストレージ装置２０００を備える。複数のストレージ装置２０００は、バックエンドネットワーク８０００を介して互いに接続される。実施例３のシステムは異種のストレージ装置を統合して一つのストレージシステムとしてホスト計算機１０００に提供するためのシステムである。
【０２０６】
実施例３のシステムの他の構成については、実施例１のシステムの構成と同一である。また、各装置のハードウェア構成は、実施例１の各装置のハードウェア構成と同一である。また、実施例３の各装置のソフトウェア構成は、ストレージ管理プログラム４１１０を有するストレージ管理計算機４０００がリソースグループ管理情報Ｔ７０００を有する点が実施例１と異なる。その他の構成は実施例１と同一である。
【０２０７】
実施例３では、実施例２と同様にストレージ管理プログラム４１１０が、プロバイダ４１２０等からリソース操作リクエストを受信するように設定される。ストレージ管理プログラム４１１０は、操作対象のリソースを管理するストレージ装置２０００を特定し、特定されたストレージ装置２０００にリソース操作リクエストを転送する。各ストレージ装置２０００の構成制御プログラム２３００は、ストレージ管理プログラム４１１０からの操作リクエストのみを受け付けるように設定されている。
【０２０８】
実施例３のストレージ管理プログラム４１１０は、実施例２のマスタストレージ装置２０００が有するストレージ管理プログラム４１１０と同様の機能を有する。
【０２０９】
実施例３によれば、複数のストレージ装置２０００に対する操作リクエストを統括するストレージ管理プログラム４１１０をストレージ管理計算機４０００に配置することによって、論理分割機能を有さないストレージ装置２０００を含むストレージシステムにおいても実施例１と同様の効果を得ることができる。
【０２１０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０２１１】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０２１２】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０２１３】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０２１４】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０２１５】
１０  ＶＭ管理者
２０  アプリケーション管理者
３０  ストレージ管理者
１０００  ホスト計算機
１０１０、３０１０、４０１０  プロセッサ
１０２０、３０２０、４０２０  メモリ
１０３０、３０３０、４０３０  ネットワークＩ／Ｆ
１０４０、３０４０、４０４０  入力装置
１０５０、３０５０、４０５０  出力装置
１０６０  ＨＢＡ
１２１０  ハイパバイザ
１２２０  アプリケーション
１２３０  ＲＡＷデバイス
１２９０  ＶＭ
２０００  ストレージ装置
２０１０  ＦＥＰＫ
２０１１  ホストＩ／Ｆ
２０２０  ＭＰＰＫ
２０２１  マイクロプロセッサ
２０２２  ローカルメモリ
２０２３  バス
２０３０  ＣＭＰＫ
２０３１  キャッシュメモリ
２０３２  制御用メモリ
２０４０  ＢＥＰＫ
２０４１  ディスクＩ／Ｆ
２０５０  記憶装置
２０６０  内部ネットワーク
２１００  リソースグループ
２２００  プール
２２１０  ＬＵ
２２２０  ポート
２３００  構成制御プログラム
３０００  ホスト管理計算機
３１１０  アプリケーション管理プログラム
３１２０  仮想マシン管理プログラム
４０００  ストレージ管理計算機
４１１０  ストレージ管理プログラム
４１２０  プロバイダ
５０００  認証サーバ
６０００  ストレージネットワーク
７０００  ネットワーク
８０００  バックエンドネットワーク
Ｔ１０００  アカウント管理情報
Ｔ２０００  ＬＵ管理情報
Ｔ３０００  ポート管理情報
Ｔ４０００  プール管理情報
Ｔ５０００  パリティグループ管理情報
Ｔ６０００  ソースプログラム管理情報
Ｔ７０００  リソースグループ管理情報
Ｔ８０００  ストレージ装置管理情報
【図１】
2019204343.tif 000003
【図２】
2019204343.tif 000004
【図３】
2019204343.tif 000005
【図４Ａ】
2019204343.tif 000006
【図４Ｂ】
2019204343.tif 000007
【図５】
2019204343.tif 000008
【図６】
2019204343.tif 000009
【図７】
2019204343.tif 000010
【図８】
2019204343.tif 000011
【図９】
2019204343.tif 000012
【図１０】
2019204343.tif 000013
【図１１】
2019204343.tif 000014
【図１２】
2019204343.tif 000015
【図１３】
2019204343.tif 000016
【図１４】
2019204343.tif 000017
【図１５】
2019204343.tif 000018
【図１６】
2019204343.tif 000019
【図１７】
2019204343.tif 000020
【図１８】
2019204343.tif 000021
【図１９】
2019204343.tif 000022
【図２０】
2019204343.tif 000023
【図２１】
2019204343.tif 000024
【図２２】
2019204343.tif 000025
【図２３】
2019204343.tif 000026
【図２４】
2019204343.tif 000027
【図２５】
2019204343.tif 000028