(57)【要約】【課題】複数の管理単位の間のアクセスに関する設定の手間と間違いを軽減する。【解決手段】ブレードサーバシステム内のゾーン管理モジュール２０において、ＺＰテーブル生成部２１が、ポート間のアクセス又はＺＧＩＤ間のアクセスに関するユーザによる設定情報を受け付け、これに基づきＺＰテーブルを生成してＺＰテーブル記憶部２２に記憶し、Ｉ／Ｔテーブル生成部２３が、ポートの属性又はＺＧＩＤの属性を取得し、これに基づきＩ／Ｔテーブルを生成してＩ／Ｔテーブル記憶部２４に記憶する。そして、妥当性検証部２５が、ＺＰテーブル記憶部２２内のＺＰテーブルとＩ／Ｔテーブル記憶部２４内のＩ／Ｔテーブルとが整合するかどうかを検証し、メッセージ出力部２６が、検証結果に基づくメッセージを出力し、ＺＰテーブル出力部２７が、最終的に決定されたＺＰテーブルが適用されるように出力する。【選択図】図２
2010020701.tif 000002
【特許請求の範囲】
【請求項１】
筐体内に収容された複数の機器の間のアクセスを管理する装置であって、
前記複数の機器のうちの少なくとも１つの機器を含む第１の管理単位と、前記複数の機器のうちの少なくとも１つの機器を含む第２の管理単位との間のアクセスに関するユーザによる設定情報を受け付ける受付部と、
前記第１の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第１の属性情報と、前記第２の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第２の属性情報とを取得する取得部と、
前記受付部により受け付けた前記設定情報と、前記取得部により取得された前記第１の属性情報及び前記第２の属性情報の組み合わせとが整合するかどうかを判定する判定部と、
前記判定部による判定結果に基づく情報を出力する出力部と
を備えた、装置。
【請求項２】
前記設定情報は、前記第１の管理単位と前記第２の管理単位との間のアクセスを許可する旨の設定を含み、
前記出力部は、前記判定部により前記設定情報と前記組み合わせとが整合しないと判定された場合に、前記設定が誤っている旨の情報を出力する、請求項１の装置。
【請求項３】
前記判定部は、
前記第１の属性情報及び前記第２の属性情報が共に命令を発する機能を示し、命令を受け取る機能を示さない場合、及び、
前記第１の属性情報及び前記第２の属性情報が共に命令を受け取る機能を示し、命令を発する機能を示さない場合の何れかにおいて、
前記設定情報と前記組み合わせとが整合しないと判定する、請求項２の装置。
【請求項４】
前記設定情報は、前記第１の管理単位と前記第２の管理単位との間のアクセスを許可しない旨の設定を含み、
前記出力部は、前記判定部により前記設定情報と前記組み合わせとが整合しないと判定された場合に、前記設定を変更できる旨の情報を出力する、請求項１の装置。
【請求項５】
前記判定部は、
前記第１の属性情報及び前記第２の属性情報の一方が命令を発する機能を示し、他方が命令を受け取る機能を示す場合に、
前記設定情報と前記組み合わせとが整合しないと判定する、請求項４の装置。
【請求項６】
前記判定部は、
前記第１の属性情報及び前記第２の属性情報の一方が命令を発する機能及び命令を受け取る機能を示し、他方が命令を受け取る機能を示す場合に、
前記設定情報と前記組み合わせとが整合しないと判定する、請求項４の装置。
【請求項７】
前記第１の管理単位は、複数の機器を含み、
前記出力部は、
前記第１の管理単位に含まれる一部の機器が命令を発する機能を有し、命令を受け取る機能を有しない場合、及び、
前記第１の管理単位に含まれる一部の機器が命令を受け取る機能を有し、命令を発する機能を有しない場合の少なくとも何れか一方において、
前記第１の管理単位から前記一部の機器を含む管理単位を分割できる旨の情報を出力する、請求項１の装置。
【請求項８】
前記出力部は、
前記設定情報が、前記第１の管理単位と命令を受け取る機能を有する他の管理単位との間のアクセスを許可する旨、及び、前記第２の管理単位と当該他の管理単位との間のアクセスを許可する旨の設定を含み、かつ、前記第１の属性情報及び前記第２の属性情報が共に命令を発する機能を示し、命令を受け取る機能を示さない場合、及び、
前記設定情報が、前記第１の管理単位と命令を発する機能を有する他の管理単位との間のアクセスを許可する旨、及び、前記第２の管理単位と当該他の管理単位との間のアクセスを許可する旨の設定を含み、かつ、前記第１の属性情報及び前記第２の属性情報が共に命令を受け取る機能を示し、命令を発する機能を示さない場合の少なくとも何れか一方において、
前記第１の管理単位及び前記第２の管理単位をマージできる旨の情報を出力する、請求項１の装置。
【請求項９】
筐体内に収容された複数の機器の間のアクセスを管理する装置であって、
前記複数の機器のうちの少なくとも１つの機器を含む第１の管理単位と、前記複数の機器のうちの少なくとも１つの機器を含む第２の管理単位との間のアクセスに関するユーザによる設定情報を受け付ける受付部と、
前記第１の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第１の属性情報と、前記第２の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第２の属性情報とを取得する取得部と、
前記受付部により受け付けた前記設定情報が、前記第１の管理単位と前記第２の管理単位との間のアクセスを許可しない旨、当該第１の管理単位と命令を発する機能を有する管理単位との間のアクセスを許可する旨、及び、当該第２の管理単位と命令を発する機能を有する管理単位との間のアクセスを許可する旨の設定を含み、かつ、前記取得部により取得された前記第１の属性情報及び前記第２の属性情報の一方が命令を発する機能及び命令を受け取る機能を示し、他方が命令を受け取る機能を示す場合に、当該設定情報と、当該第１の属性情報及び当該第２の属性情報の組み合わせとが整合しないと判定する判定部と、
前記判定部により前記設定情報と前記組み合わせとが整合しないと判定された場合に、前記設定を変更できる旨の情報を出力する出力部と
を備えた、装置。
【請求項１０】
筐体内に収容された複数の装置を含むシステムであって、
命令を発する機能を有する第１の装置と、
命令を受け取る機能を有する第２の装置と、
前記第１の装置を含む第１の管理単位と前記第２の装置を含む第２の管理単位との間のアクセスに関するユーザによる設定情報と、当該第１の管理単位が命令を発する機能を有するか命令を受け取る機能を有するかを示す第１の属性情報と当該第２の管理単位が命令を発する機能を有するか命令を受け取る機能を有するかを示す第２の属性情報の組み合わせとが整合するかどうかを判定する判定装置と、
前記判定装置による判定結果に基づく情報を出力する出力装置と
を備えた、システム。
【請求項１１】
筐体内に収容された複数の機器の間のアクセスを管理する方法であって、
前記複数の機器のうちの少なくとも１つの機器を含む第１の管理単位と、前記複数の機器のうちの少なくとも１つの機器を含む第２の管理単位との間のアクセスに関するユーザによる設定情報を受け付けるステップと、
前記第１の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第１の属性情報と、前記第２の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第２の属性情報とを取得するステップと、
前記設定情報と、前記第１の属性情報及び前記第２の属性情報の組み合わせとが整合するかどうかを判定するステップと、
前記判定による判定結果に基づく情報を出力するステップと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器の間のアクセスを管理する装置及び方法に関する。特に、本発明は、１つの筐体内に収容された複数の機器の間のアクセスを管理する装置及び方法に関する。
【背景技術】
【０００２】
近年、サーバの低価格化が進み、各企業はサーバを比較的簡単に導入できるようになった。これに伴い、各企業では、多数のサーバを保有するようになったことから、サーバの運用管理コストの低減や省スペース化の要求が高まっている。そこで、こうした要求に応えるための製品として、ブレードサーバシステムを導入する企業が増えている。ブレードサーバシステムとは、１つの筐体（シャーシ）内に複数のサーバやストレージ等の機器を高密度で配置したシステムである。
【０００３】
ところで、このような１つの筐体内に複数のサーバやストレージ等の機器を配置したシステムでは、これらの機器間のアクセス制御を適切に行わないと、データの完全性が保証されなくなってしまう。例えば、あるサーバがあるストレージ内のデータを読み出した直後に、別のサーバが同じストレージ内のデータを上書きしたとすると、データの完全性は保証されない。かかる状況を回避するため、ブレードサーバシステムには、ゾーニング機能が備わっているのが一般的である。尚、昨今、ＳＣＳＩ（Small Computer System Interface）の次世代インタフェースとして、ＳＡＳ（Serial Attached SCSI）が主流になってきているが、ゾーニングの仕様はSerial Attached SCSI - 2 (SAS-2) Standard Working Draftに定義されている。
【０００４】
このゾーニング機能では、ブレードサーバ上のＳＡＳホストバスアダプタ（ＳＡＳ  ＨＢＡ）、ブレードサーバシステム内のディスクドライブモジュール（ＤＤＭ）、同じくブレードサーバシステム内の外部ポートに接続されたＲＡＩＤサブシステムやＳＡＳ  ＨＢＡ等のＳＡＳデバイス間のアクセスを許すかどうかが、ゾーンパーミッションテーブルにより決定される。ゾーンパーミッションテーブルの設定は管理者によって行われる必要があるが、全てのゾーニングを手動で設定するのはあまりに非効率的であり、間違いも生じやすい。
そこで、ブレードサーバシステムの中には、使用頻度が高いと想定される数種類のゾーニング設定を事前定義として組み込んでおき、ゾーニングの設定の手間と間違いを少しでも減らす機能が実装されたものもある。
【０００５】
ここで、ゾーニングの設定に関する技術は、従来から存在する（例えば、特許文献１参照）。この特許文献１では、ＳＡＮを統合制御する統合管理機構に、ホスト側からアクセスをしようとするストレージ装置側の領域と、そのストレージをアクセスする際の使用するファイバチャネルアダプタ（ＦＣＡ）、ホストバスアダプタ（ＨＢＡ）を設定し、この情報を元に、統合管理機構は、ホストのＳＡＮ管理機構、スイッチのゾーニング設定機構、ストレージ装置のストレージ管理機構に、それぞれストレージ設定、ゾーニング設定、アクセスをどこの領域に対して許可するかの設定を行っている。
【０００６】
【特許文献１】特開２００２−６３０６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このように、ブレードサーバシステムにおいて、ゾーニングの設定の手間と間違いを少しでも減らそうという試みは、従来からなされていた。
しかしながら、上記のような、使用頻度が高いと想定される数種類のゾーニング設定を事前定義として組み込んでおく手法では、固定されたゾーンパーミッションテーブルを用いることになるため、ユーザが複雑なゾーンパーミッションテーブルを設定したい場合を考えると、更なる改善の余地がある。現在の製品の中には、ゾーンパーミッションテーブルにおいて、１２８行×１２８列分の設定を必要とするものがあるが、今後行数及び列数が拡張したとすると、この改善の効果はより大きなものとなる。
尚、特許文献１の技術は、ゾーニングの設定は行っているが、ゾーニングの設定の手間や間違いを減らすものではない。
【０００８】
本発明の目的は、複数の管理単位の間のアクセスに関する設定の手間と間違いを軽減することにある。
【課題を解決するための手段】
【０００９】
かかる目的のもと、本発明は、筐体内に収容された複数の機器の間のアクセスを管理する装置であって、複数の機器のうちの少なくとも１つの機器を含む第１の管理単位と、複数の機器のうちの少なくとも１つの機器を含む第２の管理単位との間のアクセスに関するユーザによる設定情報を受け付ける受付部と、第１の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第１の属性情報と、第２の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第２の属性情報とを取得する取得部と、受付部により受け付けた設定情報と、取得部により取得された第１の属性情報及び第２の属性情報の組み合わせとが整合するかどうかを判定する判定部と、判定部による判定結果に基づく情報を出力する出力部とを備えた、装置を提供する。
【００１０】
ここで、設定情報は、第１の管理単位と第２の管理単位との間のアクセスを許可する旨の設定を含み、出力部は、判定部により設定情報と組み合わせとが整合しないと判定された場合に、設定が誤っている旨の情報を出力する、ものであってよい。その場合に、判定部は、第１の属性情報及び第２の属性情報が共に命令を発する機能を示し、命令を受け取る機能を示さない場合、及び、第１の属性情報及び第２の属性情報が共に命令を受け取る機能を示し、命令を発する機能を示さない場合の何れかにおいて、設定情報と組み合わせとが整合しないと判定する、ものであってよい。
【００１１】
また、設定情報は、第１の管理単位と第２の管理単位との間のアクセスを許可しない旨の設定を含み、出力部は、判定部により設定情報と組み合わせとが整合しないと判定された場合に、設定を変更できる旨の情報を出力する、ものであってよい。その場合に、判定部は、第１の属性情報及び第２の属性情報の一方が命令を発する機能を示し、他方が命令を受け取る機能を示す場合に、設定情報と組み合わせとが整合しないと判定する、ものであってよい。また、判定部は、第１の属性情報及び第２の属性情報の一方が命令を発する機能及び命令を受け取る機能を示し、他方が命令を受け取る機能を示す場合に、設定情報と組み合わせとが整合しないと判定する、ものであってよい。
【００１２】
更に、第１の管理単位は、複数の機器を含み、出力部は、第１の管理単位に含まれる一部の機器が命令を発する機能を有し、命令を受け取る機能を有しない場合、及び、第１の管理単位に含まれる一部の機器が命令を受け取る機能を有し、命令を発する機能を有しない場合の少なくとも何れか一方において、第１の管理単位から一部の機器を含む管理単位を分割できる旨の情報を出力する、ものであってよい。
【００１３】
更にまた、出力部は、設定情報が、第１の管理単位と命令を受け取る機能を有する他の管理単位との間のアクセスを許可する旨、及び、第２の管理単位と他の管理単位との間のアクセスを許可する旨の設定を含み、かつ、第１の属性情報及び第２の属性情報が共に命令を発する機能を示し、命令を受け取る機能を示さない場合、及び、設定情報が、第１の管理単位と命令を発する機能を有する他の管理単位との間のアクセスを許可する旨、及び、第２の管理単位と他の管理単位との間のアクセスを許可する旨の設定を含み、かつ、第１の属性情報及び第２の属性情報が共に命令を受け取る機能を示し、命令を発する機能を示さない場合の少なくとも何れか一方において、第１の管理単位及び第２の管理単位をマージできる旨の情報を出力する、ものであってよい。
【００１４】
また、本発明は、筐体内に収容された複数の機器の間のアクセスを管理する装置であって、複数の機器のうちの少なくとも１つの機器を含む第１の管理単位と、複数の機器のうちの少なくとも１つの機器を含む第２の管理単位との間のアクセスに関するユーザによる設定情報を受け付ける受付部と、第１の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第１の属性情報と、第２の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第２の属性情報とを取得する取得部と、受付部により受け付けた設定情報が、第１の管理単位と第２の管理単位との間のアクセスを許可しない旨、第１の管理単位と命令を発する機能を有する管理単位との間のアクセスを許可する旨、及び、第２の管理単位と命令を発する機能を有する管理単位との間のアクセスを許可する旨の設定を含み、かつ、取得部により取得された第１の属性情報及び第２の属性情報の一方が命令を発する機能及び命令を受け取る機能を示し、他方が命令を受け取る機能を示す場合に、設定情報と、第１の属性情報及び第２の属性情報の組み合わせとが整合しないと判定する判定部と、判定部により設定情報と組み合わせとが整合しないと判定された場合に、設定を変更できる旨の情報を出力する出力部とを備えた、装置も提供する。
【００１５】
更に、本発明は、筐体内に収容された複数の装置を含むシステムであって、命令を発する機能を有する第１の装置と、命令を受け取る機能を有する第２の装置と、第１の装置を含む第１の管理単位と第２の装置を含む第２の管理単位との間のアクセスに関するユーザによる設定情報と、第１の管理単位が命令を発する機能を有するか命令を受け取る機能を有するかを示す第１の属性情報と第２の管理単位が命令を発する機能を有するか命令を受け取る機能を有するかを示す第２の属性情報の組み合わせとが整合するかどうかを判定する判定装置と、判定装置による判定結果に基づく情報を出力する出力装置とを備えた、システムも提供する。
【００１６】
更にまた、本発明は、筐体内に収容された複数の機器の間のアクセスを管理する方法であって、複数の機器のうちの少なくとも１つの機器を含む第１の管理単位と、複数の機器のうちの少なくとも１つの機器を含む第２の管理単位との間のアクセスに関するユーザによる設定情報を受け付けるステップと、第１の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第１の属性情報と、第２の管理単位の機能のうち、命令を発する機能及び命令を受け取る機能の少なくとも何れか一方の機能を示す第２の属性情報とを取得するステップと、設定情報と、第１の属性情報及び第２の属性情報の組み合わせとが整合するかどうかを判定するステップと、判定による判定結果に基づく情報を出力するステップとを含む、方法も提供する。
【発明の効果】
【００１７】
本発明によれば、複数の管理単位の間のアクセスに関する設定の手間と間違いが軽減される。
【発明を実施するための最良の形態】
【００１８】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、「実施の形態」という）について詳細に説明する。
まず、本実施の形態が適用されるブレードサーバシステムについて説明する。
図１は、このようなブレードサーバシステム１０のハードウェア構成例を示した図である。
図示するように、このブレードサーバシステム１０は、ブレードサーバ１１ａ〜１１ｆと、ストレージモジュール１２ａ，１２ｂと、外部ポート１３ａ〜１３ｄとを含む。また、ＳＡＳ接続モジュール１４と、システム管理モジュール１５と、ゾーン管理モジュール２０とを含む。
【００１９】
ブレードサーバ１１ａ〜１１ｆは、マイクロプロセッサ、メモリ、ネットワークコントローラ、及び、ハードディスクドライブ等のコンポーネントを１枚に収めたブレード形状のサーバである。ブレードサーバ１１ａ〜１１ｆは、それぞれブレードサーバベイに装着されているが、取り外しも可能である。図では、６枚のブレードサーバ１１ａ〜１１ｆを示しているが、必ずしも６枚には限らない。尚、ブレードサーバ１１ａ〜１１ｆを区別する必要がない場合は、単に「ブレードサーバ１１」とも称する。
【００２０】
ストレージモジュール１２ａ，１２ｂは、例えば各６つの３．５型ハードディスクドライブを含み、各種データを記憶する記憶手段として機能するモジュールである。ストレージモジュール１２ａ，１２ｂは、それぞれストレージモジュールベイに装着されているが、取り外しも可能である。図では、２つのストレージモジュール１２ａ，１２ｂを示しているが、必ずしも２つには限らない。尚、ストレージモジュール１２ａ，１２ｂを区別する必要がない場合は、単に「ストレージモジュール１２」とも称する。
【００２１】
外部ポート１３ａ〜１３ｄは、後述するＳＡＳ接続モジュール１４上の外部ポートである。外部ポート１３ａ〜１３ｄには、例えば、ＲＡＩＤコントローラを接続することができる。図では、４つの外部ポート１３ａ〜１３ｄを示しているが、必ずしも４つには限らない。尚、外部ポート１３ａ〜１３ｄを区別する必要がない場合は、単に「外部ポート１３」とも称する。
【００２２】
ＳＡＳ接続モジュール１４は、ブレードサーバ１１ａ〜１１ｆ、ストレージモジュール１２ａ，１２ｂ内のハードディスクドライブ、外部ポート１３ａ〜１３ｄに接続された例えばＲＡＩＤコントローラ等のＳＡＳデバイス間の接続を管理する。具体的には、ゾーンパーミッションテーブル（以下、「ＺＰテーブル」という）を有し、ＺＰテーブルにおける設定に基づいてＳＡＳゾーニングを実行する。ＳＡＳ接続モジュール１４は、Ｉ／Ｏモジュールベイ３又は４に装着されているが、取り外しも可能である。
【００２３】
システム管理モジュール１５は、ネットワークとの接続機能を提供し、ユーザインターフェイスとして機能するモジュールである。
【００２４】
ゾーン管理モジュール２０は、システム管理モジュール１５から受け取った設定情報に基づいて生成されるＺＰテーブルの妥当性を、ＳＡＳ接続モジュール１４から受け取ったＳＡＳデバイスのポート（以下、単に「ポート」という）の属性に基づいて検証するモジュールである。
【００２５】
即ち、本実施の形態では、ゾーン管理モジュール２０が、ＺＰテーブルに設定されたポート間のアクセスの妥当性を、ポートの属性によって検証し、最適なＺＰテーブルを自動的に判別する。
具体的には、次のような手順により、最適なＺＰテーブルを判別する。
まず、ゾーン管理モジュール２０は、ポートの属性がイニシエータであるか、ターゲットであるか、或いは、イニシエータにもターゲットにもなり得る属性であるかを判定し、この判定結果に基づいて、イニシエータ／ターゲットテーブル（以下、「Ｉ／Ｔテーブル」という）を生成する。ここで、イニシエータとは、ＳＡＳにより接続された他の機器に命令を発する機器の属性である。ターゲットとは、イニシエータの属性を有する他の機器から命令を受け取る機器の属性である。また、イニシエータにもターゲットにもなり得る属性を、以下では「イニシエータ／ターゲット」と表記することにする。
【００２６】
次に、ゾーン管理モジュール２０は、ＺＰテーブルの設定の妥当性を、ＳＡＳデバイスのポートの属性に基づいて検証する。そして、対話的に警告や推奨等を出し、ユーザによるＺＰテーブルの設定作業を支援する。また、この支援において、デバイスの種類（サーバ、ディスク、ＲＡＩＤコントローラ等）、つまり、ポートの属性を補助的に用いる。例えば、ポートの属性に基づいて、推奨の優先度を調整する。また、ポートの属性がＲＡＩＤコントローラであるならば、バックアップエージェント機能が備わっている可能性が高いため、知識ベースを用いて、推奨の優先度を上げる。
【００２７】
尚、ＳＡＳ２ゾーニングでは、１つのゾーングループＩＤ（以下、「ＺＧＩＤ」という）に複数のポートを含めることができる。従って、ＺＧＩＤとポートの割り当ては、１対１で行われる場合と、１対Ｎで行われる場合とがある。上述した図１の説明では、ＺＧＩＤとポートの割り当てが１対１で行われる場合しか想定しなかったが、ＺＧＩＤとポートの割り当てが１対Ｎで行われる場合は、ポートをＺＧＩＤに置き換えればよい。即ち、本実施の形態では、ＺＧＩＤとポートの割り当てが１対１で行われる場合、複数の機器のうちの少なくとも１つの機器を含む第１の管理単位及び第２の管理単位の一例として、ポートを用いている。また、ＺＧＩＤとポートの割り当てが１対Ｎで行われる場合、複数の機器のうちの少なくとも１つの機器を含む第１の管理単位及び第２の管理単位の一例として、ＺＧＩＤを用いている。
また、割り当てが１対１で行われるか１対Ｎで行われるかによって、Ｉ／Ｔテーブルの生成の仕方も異なってくる。
更に、ＺＧＩＤとポートの割り当てが１対Ｎの場合には、同じＺＧＩＤに含めるべきポートを求めて推奨等も行う。
尚、本実施の形態では、ゾーン管理モジュール２０をＳＡＳ接続モジュール１４から独立した構成として説明するが、ゾーン管理モジュール２０とＳＡＳ接続モジュール１４とは一体のものとして構成してもよい。
【００２８】
次に、このような動作を行うゾーン管理モジュール２０の機能構成について説明する。
図２は、ゾーン管理モジュール２０の機能構成例を示したブロック図である。
図示するように、ゾーン管理モジュール２０は、ＺＰテーブル生成部２１と、ＺＰテーブル記憶部２２と、Ｉ／Ｔテーブル生成部２３と、Ｉ／Ｔテーブル記憶部２４と、妥当性検証部２５と、メッセージ出力部２６と、ＺＰテーブル出力部２７とを備える。
【００２９】
ＺＰテーブル生成部２１は、各ＳＡＳデバイス間又は各ＺＧＩＤ間のアクセス許可に関する設定情報をシステム管理モジュール１５から受け取り、その設定情報を格納したＺＰテーブルを生成する。本実施の形態では、ユーザによる設定情報を受け付ける受付部の一例として、ＺＰテーブル生成部２１を設けている。
ＺＰテーブル記憶部２２は、ＺＰテーブル生成部２１が生成したＺＰテーブルを記憶する。
【００３０】
Ｉ／Ｔテーブル生成部２３は、ＳＡＳ接続モジュール１４からポートの属性を受け取り、そのポートの属性に基づいて、各ポート又は各ＺＧＩＤがイニシエータ、ターゲット、或いはその両方の何れであるかを格納したＩ／Ｔテーブルを生成する。本実施の形態では、属性情報を取得する取得部の一例として、Ｉ／Ｔテーブル生成部２３を設けている。
Ｉ／Ｔテーブル記憶部２４は、Ｉ／Ｔテーブル生成部２３が生成したＩ／Ｔテーブルを記憶する。
【００３１】
妥当性検証部２５は、ＺＰテーブル記憶部２２に記憶されたＺＰテーブルにおける設定の妥当性を、Ｉ／Ｔテーブル記憶部２４に記憶されたＩ／Ｔテーブルを参照して検証する。本実施の形態では、設定情報と属性情報の組み合わせとが整合するかどうかを判定する判定部の一例として、妥当性検証部２５を設けている。
メッセージ出力部２６は、妥当性検証部２５による検証結果を示すメッセージをシステム管理モジュール１５に対して出力する。本実施の形態では、判定結果に基づく情報を出力する出力部の一例として、メッセージ出力部２６を設けている。
ＺＰテーブル出力部２７は、ＺＰテーブル記憶部２２に記憶されたＺＰテーブルをＳＡＳ接続モジュール１４に通知することにより、ＺＰテーブルを適用する。
【００３２】
次いで、ゾーン管理モジュール２０の動作について詳細に説明する。
ここで、ＺＧＩＤとポートの割り当ては、上述したように、１対１で行われる場合と１対Ｎで行われる場合とがある。そこで、前者を第１の動作例、後者を第２の動作例として説明する。
【００３３】
［第１の動作例］
図３は、第１の動作例におけるゾーン管理モジュール２０のメインの流れを示したフローチャートである。
ユーザがシステム管理モジュール１５を介して、従来通り、ＺＰテーブルに対する設定情報を入力すると、ゾーン管理モジュール２０では、ＺＰテーブル生成部２１が、入力された設定情報を受け付ける（ステップ２０１）。そして、設定情報に基づく情報が設定されたＺＰテーブルを生成し、ＺＰテーブル記憶部２２に記憶する（ステップ２０２）。
【００３４】
次に、Ｉ／Ｔテーブル生成部２３が、ＳＡＳデバイスのポートの属性を、ＳＡＳ接続モジュール１４を介して各ＳＡＳデバイスから取得する（ステップ２０３）。ここで、ＳＡＳデバイスとしては、ブレードサーバシステム１０に装着されている全てのデバイスを対象としてもよいし、ＺＰテーブルに含まれるデバイスのみを対象としてもよい。また、ポートの属性には、上述したように、イニシエータ、ターゲット、イニシエータ／ターゲットの３種類がある。そして、Ｉ／Ｔテーブル生成部２３は、ＳＡＳデバイスのポートの属性に基づいてＩ／Ｔテーブルを生成し、Ｉ／Ｔテーブル記憶部２４に記憶する（ステップ２０４）。ここで、Ｉ／Ｔテーブルは、ＳＡＳデバイスごとに、そのＳＡＳデバイスのポートの属性がイニシエータであるか、ターゲットであるか、イニシエータ／ターゲットであるかを設定したテーブルである。
【００３５】
その後、妥当性検証部２５は、ＺＰテーブル記憶部２２に記憶されたＺＰテーブルにおける設定の妥当性を、Ｉ／Ｔテーブル記憶部２４に記憶されたＩ／Ｔテーブルを参照することにより検証する（ステップ２０５）。
ここで、ＺＰテーブル記憶部２２に記憶されたＺＰテーブルに改善の余地又は設定誤りがあった場合は、メッセージ出力部２６が、システム管理モジュール１５を介して、ユーザに対し、ユーザが設定したＺＰテーブルに関する改善案の提案又はエラーの通知を行う（ステップ２０６）。
【００３６】
ユーザがその提案又エラーに対して、適切なアクションをとったとする。つまり、ＺＰテーブルに対する再設定情報を入力したとする。すると、ＺＰテーブル生成部２１が、入力された再設定情報を受け付ける（ステップ２０７）。そして、ＺＰテーブル記憶部２２に記憶されていたＺＰテーブルを再設定情報に基づいて変更し、変更後のＺＰテーブルをＺＰテーブル記憶部２２に記憶する（ステップ２０８）。
その結果、ＺＰテーブル記憶部２２に記憶されたＺＰテーブルに設定誤りがなくなり、改善の余地がなくなるか、又は、改善の余地があってもそれをユーザが望まない状態になったとする。すると、ＺＰテーブル出力部２７は、ＺＰテーブル記憶部２２に記憶されているＺＰテーブルをＳＡＳ接続モジュール１４に通知する（ステップ２０９）。これにより、最終的に決定されたＺＰテーブルが、その後の各ＳＡＳデバイス間のアクセスに適用されることになる。
【００３７】
ここで、図３のフローチャートに従った処理を具体的に説明する。
第一に、ポートの属性がイニシエータかターゲットである場合について説明する。
図４は、この場合に生成される表の一例を示した図である。
まず、ユーザがＺＰテーブルを設定し、ＺＰテーブル生成部２１が、ステップ２０２においてＺＰテーブルをＺＰテーブル記憶部２２に記憶する。ここでは、ユーザが、（ａ）に示すようなＺＰテーブルを設定したものとする。第１の動作例において、ＺＰテーブルの行及び列には、ＳＡＳデバイスの識別情報が設定される。尚、表中、「ＯＫ」は対応するＳＡＳデバイス間のアクセスを許可することを示している。
【００３８】
また、Ｉ／Ｔテーブル生成部２３は、ステップ２０４においてＩ／Ｔテーブルを作成し、Ｉ／Ｔテーブル記憶部２４に記憶する。この例において、ポートの属性はイニシエータかターゲットであるので、（ｂ）に示すようなＩ／Ｔテーブルが作成される。即ち、Ｂｌａｄｅ１のポートの属性はイニシエータであり、Ｄｉｓｋ１及びＤｉｓｋ２のポートの属性はターゲットであることが設定されている。
【００３９】
その後、妥当性検証部２５が、ステップ２０５において、（ａ）に示したＺＰテーブルと（ｂ）に示したＩ／Ｔテーブルとに基づいて妥当性検証処理を行う。この妥当性検証処理では、ＺＰテーブルにおいてユーザが「ＯＫ」を設定したＳＡＳデバイスの組み合わせ以外の組み合わせについてのアクセス可否の情報も自動的に生成することができる。ここでは、（ｂ）のＩ／Ｔテーブルから、Ｂｌａｄｅ１のデータ出力先がＤｉｓｋ１及びＤｉｓｋ２であり、サーバ対ディスクの構成であることが暗黙的に分かるので、（ｃ）に示すように、このままの設定でよいことになる。
【００４０】
第二に、ポートの属性がイニシエータかターゲットかイニシエータ／ターゲットである場合について説明する。
図５は、この場合に生成される表の一例を示した図である。
まず、ユーザがＺＰテーブルを設定し、ＺＰテーブル生成部２１が、ステップ２０２においてＺＰテーブルをＺＰテーブル記憶部２２に記憶する。ここでは、ユーザが、（ａ）に示すようなＺＰテーブルを設定したものとする。これは、図４（ａ）に示したものと同じである。尚、ここでも、表中、「ＯＫ」は対応するＳＡＳデバイス間のアクセスを許可することを示している。
【００４１】
また、Ｉ／Ｔテーブル生成部２３は、ステップ２０４においてＩ／Ｔテーブルを作成し、Ｉ／Ｔテーブル記憶部２４に記憶する。この例において、ポートの属性はイニシエータかターゲットかイニシエータ／ターゲットであるので、（ｂ）に示すようなＩ／Ｔテーブルが作成される。即ち、Ｂｌａｄｅ１のポートの属性はイニシエータであり、Ｄｉｓｋ１及びＤｉｓｋ２のポートの属性はイニシエータ／ターゲットであることが設定されている。
【００４２】
その後、妥当性検証部２５が、ステップ２０５において、（ａ）に示したＺＰテーブルと（ｂ）に示したＩ／Ｔテーブルとに基づいて妥当性検証処理を行う。この妥当性検証処理では、ＺＰテーブルにおいてユーザが「ＯＫ」を設定したＳＡＳデバイスの組み合わせ以外の組み合わせについてのアクセス可否の情報も自動的に生成することができる。ここでは、Ｄｉｓｋ１及びＤｉｓｋ２が共にイニシエータにもなれるという点で特殊であり、Ｄｉｓｋ１とＤｉｓｋ２の間で同期を取っているシステムである可能性がある。従って、（ｃ）に示すように、Ｄｉｓｋ１とＤｉｓｋ２の間のアクセスを許可してパフォーマンスを向上させることをユーザに提案することができる。
【００４３】
次いで、ステップ２０５における妥当性検証部２５による妥当性検証処理について詳細に説明する。
図６は、第１の動作例における妥当性検証処理の流れを示したフローチャートである。
まず、妥当性検証部２５は、ＺＰテーブル記憶部２２に記憶されたＺＰテーブルの縦方向のインデックスを表す変数Ｘに「１」を代入する（ステップ２２１）。そして、Ｘを「１」ずつ増やしながら、以降の処理を行う。ここでは、例えば、Ｘが「１」、「２」、「３」のとき、それぞれ、ＺＰテーブルの上から１行目、２行目、３行目に着目して処理を行うものとする。
次に、妥当性検証部２５は、ＺＰテーブル記憶部２２に記憶されたＺＰテーブルの横方向のインデックスを表す変数Ｙに「１」を代入する（ステップ２２２）。そして、Ｙを「１」ずつ増やしながら、以降の処理を行う。ここでは、例えば、Ｙが「１」、「２」、「３」のとき、それぞれ、ＺＰテーブルの左から１列目、２列目、３列目に着目して処理を行うものとする。
【００４４】
以下、ＺＰテーブルにおける上からＸ行目、左からＹ列目のセル（以下、セル（Ｘ，Ｙ）と表記する）に着目したときの処理について説明する。
妥当性検証部２５は、まず、ＺＰテーブルにおける上からＸ行目のＳＡＳデバイスのポートの属性と、ＺＰテーブルにおける左からＹ列目のＳＡＳデバイスのポートの属性との組み合わせを判別する（ステップ２２３）。
その結果、ポートの属性の組み合わせがイニシエータとイニシエータ、又は、ターゲットとターゲットであると判定された場合、妥当性検証部２５は、セル（Ｘ，Ｙ）に「ＯＫ」が設定されているかどうかを判定する（ステップ２２４）。そして、「ＯＫ」が設定されていれば、イニシエータとイニシエータの間のアクセスやターゲットとターゲット間のアクセスは許されないため、ユーザに出力するメッセージにエラーをセットする（ステップ２２５）。また、「ＯＫ」が設定されていなければ、ユーザに出力するメッセージにエラーをセットすることなく、次の処理に進む。
【００４５】
また、ポートの属性の組み合わせがイニシエータとターゲット、又は、イニシエータとイニシエータ／ターゲットであると判定された場合、妥当性検証部２５は、セル（Ｘ，Ｙ）に「ＯＫ」が設定されているかどうかを判定する（ステップ２２６）。
そして、「ＯＫ」が設定されていなければ、ユーザに出力するメッセージに許可提案２をセットする（ステップ２２７）。
【００４６】
ここで、許可提案２とは、着目する２つのＳＡＳデバイスの間のアクセスを許可してもよい旨の提案であって、後述する許可提案１よりも優先度が低い提案である。つまり、許可提案２を行う際には、例えば、強制力の弱いメッセージ文を用いたり、他の提案がある場合に重み付けを低くしたりすることが考えられる。尚、許可提案２の優先度を低くしたのは、基本的な設定のため、必ず提案しなければならないというものではないからである。
また、セル（Ｘ，Ｙ）に「ＯＫ」が設定されていれば、ユーザに出力するメッセージに許可提案２をセットすることなく、次の処理に進む。
【００４７】
更に、ポートの属性の組み合わせがターゲットとイニシエータ／ターゲット、又は、イニシエータ／ターゲットとイニシエータ／ターゲットであると判定された場合、妥当性検証部２５は、セル（Ｘ，Ｙ）に「ＯＫ」が設定されているかどうかを判定する（ステップ２２８）。その結果、「ＯＫ」が設定されていなければ、ここで着目している組み合わせに含まれる一方のＳＡＳデバイスとイニシエータとして機能するＳＡＳデバイスに対応するセルに「ＯＫ」が設定され、かつ、ここで着目している組み合わせに含まれるもう一方のＳＡＳデバイスとイニシエータとして機能するＳＡＳデバイスに対応するセルに「ＯＫ」が設定されているかを判定する（ステップ２２９）。
そして、これらのセルに「ＯＫ」が設定されていれば、ユーザに出力するメッセージに許可提案１をセットする（ステップ２３０）。例えば、図５（ａ）のセル（２，３）では、着目するＳＡＳデバイスの組み合わせはＤｉｓｋ１及びＤｉｓｋ２である。そして、この組み合わせに含まれる一方のＳＡＳデバイスであるＤｉｓｋ１とイニシエータとして機能するＳＡＳデバイスであるＢｌａｄｅ１に対して「ＯＫ」が設定され、この組み合わせに含まれるもう一方のＳＡＳデバイスであるＤｉｓｋ２とイニシエータとして機能するＳＡＳデバイスであるＢｌａｄｅ１に対して「ＯＫ」が設定されているので、許可提案１がセットされる。
【００４８】
ここで、許可提案１とは、着目する２つのＳＡＳデバイスの間のアクセスを許可してもよい旨の提案であって、前述した許可提案２よりも優先度が高い提案である。つまり、許可提案１を行う際には、例えば、強制力の強いメッセージ文を用いたり、他の提案がある場合に重み付けを高くしたりすることが考えられる。尚、許可提案１の優先度を高くしたのは、対象となるポートにバックアップエージェント等の特殊な機能が備わっている可能性が高いからである。
また、ステップ２２８で「ＯＫ」が設定されていると判定された場合、又は、ステップ２２９で「ＯＫ」が設定されていないと判定された場合は、ユーザに出力するメッセージに許可提案１をセットすることなく、次の処理に進む。
【００４９】
その後、妥当性検証部２５は、Ｙに「１」を加算し（ステップ２３１）、ＹがＺＰテーブルに含まれるＳＡＳデバイスの総数Ｎを超えているかを判定する（ステップ２３２）。そして、ＳＡＳデバイスの総数Ｎを超えていなければ、ステップ２２３へ進む。
また、ＹがＳＡＳデバイスの総数Ｎを超えていれば、妥当性検証部２５は、Ｘに「１」を加算し（ステップ２３３）、ＸがＳＡＳデバイスの総数Ｎを超えているかを判定する（ステップ２３４）。そして、ＳＡＳデバイスの総数Ｎを超えていなければ、ステップ２２２へ進む。また、ＸがＳＡＳデバイスの総数Ｎを超えていれば、処理を終了する。
【００５０】
尚、図６のフローチャートでは、Ｘ＝Ｙの場合の処理、即ち、同じＳＡＳデバイスが設定された行及び列に対応するセルに対する処理について言及しなかった。しなしながら、ＺＰテーブルにおいて同じＳＡＳデバイスが設定された行及び列に対応するセルには何も設定できないようになっているとすれば、Ｘ＝Ｙの場合は処理をスキップすればよい。
また、図６のフローチャートでは、ポートの属性の組み合わせがイニシエータとターゲット、又は、イニシエータとイニシエータ／ターゲットである場合に、「ＯＫ」が設定されていれば、許可提案２をセットするようにした。しかしながら、ポートの属性の組み合わせがイニシエータ／ターゲットとターゲット、又は、イニシエータ／ターゲットとイニシエータ／ターゲットである場合にも、「ＯＫ」が設定されていれば、許可提案２をセットしてよい。
【００５１】
［第２の動作例］
第２の動作例におけるゾーン管理モジュール２０のメインの流れは、図３に示したものとほぼ同様である。
但し、ステップ２０２でＺＧＩＤごとに情報が設定されたＺＰテーブルを生成し、ステップ２０４でＺＧＩＤごとに情報が設定されたＩ／Ｔテーブルを生成する点で、ＳＡＳデバイスごとに情報が設定されたＺＰテーブル及びＩ／Ｔテーブルを生成する第１の動作例とは異なる。
【００５２】
また、ステップ２０５での妥当性検証部２５による妥当性検証処理の内容も第１の動作例とは異なる。
まず、第２の動作例では、許可提案を行うかどうかを検証する許可検証処理をＺＧＩＤ間の設定に対して行う点で、ポート間の設定に対して行う第１の動作例とは異なる。即ち、この第１の動作例において、ユーザはＢｌａｄｅとＤｉｓｋの集合関係のような直感的なＩＤの関連性のみに対象を絞り、ゾーニングを行えばよい。
更に、第２の動作例では、分割提案を行うかどうかを検証する分割検証処理を行う点でも第１の動作例とは異なる。即ち、あるＺＧＩＤに含まれるポートの一部のみがイニシエータになることができない場合やターゲットになることができない場合に、そのＺＧＩＤへのポートの分類を許可しないポリシーとし、その一部のポートをＺＧＩＤから分けるようユーザに提案する。
更にまた、第２の動作例では、マージ提案を行うかどうかを検証するマージ検証処理を行う点でも第１の動作例とは異なる。即ち、あるイニシエータについて、あるターゲットとの間のアクセスが許可されており、別のターゲットとの間のアクセスも許可されているとする。この場合、２つのターゲットが共にイニシエータになれない場合、これらのターゲットは同じＺＧＩＤに含めても影響がないため、これらのターゲットを１つのＺＧＩＤにマージできることを通知する。
【００５３】
ここで、許可検証処理、分割検証処理、マージ検証処理の実行順序については特に限定するものでないが、分割検証処理、マージ検証処理、許可検証処理の順に実行するのが好ましい。従って、以下、この順序で、図３のフローチャートに従った処理を具体的に説明する。
まず、分割検証処理について説明する。
図７は、この場合に生成される表の一例を示した図である。
まず、ユーザがＺＰテーブルを設定し、ＺＰテーブル生成部２１が、ステップ２０２においてＺＰテーブルをＺＰテーブル記憶部２２に記憶する。ここでは、ユーザが、（ａ）に示すようなＺＰテーブルを設定したものとする。第２の動作例では、第１の動作例と異なり、ＺＰテーブルの行及び列に、ゾーングループの識別情報であるＺＧＩＤが設定される。尚、表中、「ＯＫ」は対応するＺＧＩＤ間のアクセスを許可することを示している。
【００５４】
また、この第２の動作例では、ＺＧＩＤとＳＡＳデバイスとの対応関係を定義したＺＧＩＤテーブルも図示しないメモリに記憶されている。ここでは、（ｂ）に示すようなＺＧＩＤテーブルが記憶されているものとする。尚、このＺＧＩＤテーブルは、事前にユーザによって設定される。
【００５５】
そして、Ｉ／Ｔテーブル生成部２３は、ステップ２０４においてＩ／Ｔテーブルを作成し、Ｉ／Ｔテーブル記憶部２４に記憶する。この例では、（ｃ）に示すようなＩ／Ｔテーブルが作成される。この場合、（ｂ）のＺＧＩＤテーブルでＺＧＩＤ１に対応付けられているＢｌａｄｅ１−３、ストレージモジュール１のＤｉｓｋ１−３、ＲＡＩＤコントローラのポートの属性は、それぞれ、イニシエータ、ターゲット、イニシエータ／ターゲットである。従って、ＺＧＩＤ１の属性はイニシエータ／ターゲットとなっている。また、ＺＧＩＤ２に対応付けられているＢｌａｄｅ４−６のポートの属性はイニシエータであるので、ＺＧＩＤ２の属性はイニシエータとなっている。更に、ＺＧＩＤ３に対応付けられているストレージモジュール１のＤｉｓｋ４−６のポートの属性、及び、ＺＧＩＤ４に対応付けられているストレージモジュール２のＤｉｓｋ１−６のポートの属性はターゲットであるので、ＺＧＩＤ３及びＺＧＩＤ４の属性は共にターゲットとなっている。
【００５６】
その後、妥当性検証部２５が、ステップ２０５において、（ｂ）に示したＺＧＩＤテーブルとＺＧＩＤに含まれるポートの属性とに基づいて分割が必要かどうかを検証する。この例では、Ｂｌａｄｅ１−３はターゲットになることができないため、その分割が提案される。また、ストレージモジュール１のＤｉｓｋ１−３はイニシエータになることができないため、その分割が提案される。そして、最終的に、（ｄ）のようなＺＧＩＤテーブルが生成される。即ち、（ｂ）のＺＧＩＤテーブルにおけるＺＧＩＤ１が、Ｂｌａｄｅ１−３を含むＺＧＩＤ１と、ストレージモジュール１のＤｉｓｋ１−３を含むＺＧＩＤ５と、ＲＡＩＤコントローラを含むＺＧＩＤ６とに分割されている。
【００５７】
次いで、ステップ２０５における妥当性検証部２５による分割検証処理について詳細に説明する。
図８は、この場合の妥当性検証部２５の動作例を示したフローチャートである。
まず、妥当性検証部２５は、ＺＧＩＤテーブルにおける１つのＺＧＩＤに着目する（ステップ２４１）。そして、ＺＧＩＤテーブルにおいてこのＺＧＩＤに対応付けられた１つのポートに着目する（ステップ２４２）。
次に、妥当性検証部２５は、ポートの属性を判別する（ステップ２４３）。
その結果、ポートの属性がイニシエータであると判定された場合、妥当性検証部２５は、そのポートの情報をイニシエータの情報として記録する（ステップ２４４）。例えば、図示しないメモリをイニシエータ用の領域とターゲット用の領域とアプリケーション／ターゲット用の領域とに分けておき、そのポートの情報をイニシエータ用の領域に記録するとよい。
【００５８】
また、ポートの属性がターゲットであると判定された場合、妥当性検証部２５は、そのポートの情報をターゲットの情報として記録する（ステップ２４５）。例えば、図示しないメモリをイニシエータ用の領域とターゲット用の領域とアプリケーション／ターゲット用の領域とに分けておき、そのポートの情報をターゲット用の領域に記録するとよい。
【００５９】
更に、ポートの属性がイニシエータ／ターゲットであると判定された場合、妥当性検証部２５は、そのポートの情報をイニシエータ／ターゲットの情報として記録する（ステップ２４６）。例えば、図示しないメモリをイニシエータ用の領域とターゲット用の領域とアプリケーション／ターゲット用の領域とに分けておき、そのポートの情報をイニシエータ／ターゲット用の領域に記録するとよい。
【００６０】
その後、妥当性検証部２５は、ＺＧＩＤテーブルにおいて着目しているＺＧＩＤに対応付けられた他のポートがあるかどうかを判定する（ステップ２４７）。そして、他のポートがあれば、ステップ２４２へ進む。
また、他のポートがなければ、ステップ２４４〜２４６で記録された情報が全て同じ属性の情報として記録されたものであるかどうかを判定する（ステップ２４８）。
その結果、全て同じ属性の情報として記録されたものであれば、分割提案に関する処理を行わずにステップ２５５へ進む。例えば、１つのＺＧＩＤに含まれるポートの属性が全てイニシエータであったり、全てターゲットであったり、全てイニシエータ／ターゲットであったりした場合には、分割提案を行う必要はないからである。
【００６１】
一方、全て同じ属性の情報として記録されたものでなければ、妥当性検証部２５は、イニシエータの情報として記録されたポートの情報があるかどうかを判定する（ステップ２４９）。そして、イニシエータの情報として記録されたポートの情報があれば、ユーザに出力するメッセージにイニシエータの分割提案をセットする（ステップ２５０）。また、イニシエータの情報として記録されたポートの情報がなければ、ユーザに出力するメッセージにイニシエータの分割提案をセットすることなく、次の処理に進む。
【００６２】
次に、妥当性検証部２５は、ターゲットの情報として記録されたポートの情報があるかどうかを判定する（ステップ２５１）。そして、ターゲットの情報として記録されたポートの情報があれば、ユーザに出力するメッセージにターゲットの分割提案をセットする（ステップ２５２）。また、ターゲットの情報として記録されたポートの情報がなければ、ユーザに出力するメッセージにターゲットの分割提案をセットすることなく、次の処理に進む。
【００６３】
次いで、妥当性検証部２５は、イニシエータ／ターゲットの情報として記録されたポートの情報があるかどうかを判定する（ステップ２５３）。そして、イニシエータ／ターゲットの情報として記録されたポートの情報があれば、ユーザに出力するメッセージにイニシエータ／ターゲットの分割提案をセットする（ステップ２５４）。また、イニシエータ／ターゲットの情報として記録されたポートの情報がなければ、ユーザに出力するメッセージにイニシエータ／ターゲットの分割提案をセットすることなく、次の処理に進む。
【００６４】
その後、妥当性検証部２５は、ＺＧＩＤテーブルにおいて他のＺＧＩＤがあるかどうかを判定する（ステップ２５５）。そして、他のＺＧＩＤがあれば、ステップ２４１へ進む。また、他のＺＧＩＤがなければ、処理を終了する。
【００６５】
次に、マージ検証処理について説明する。
図９は、この場合に生成される表の一例を示した図である。
まず、ユーザがＺＰテーブルを設定し、ＺＰテーブル生成部２１が、ステップ２０２においてＺＰテーブルをＺＰテーブル記憶部２２に記憶する。ここでは、ユーザが、（ａ）に示すようなＺＰテーブルを設定したものとする。第２の動作例では、第１の動作例と異なり、ＺＰテーブルの行及び列に、ゾーングループの識別情報であるＺＧＩＤが設定される。尚、表中、「ＯＫ」は対応するＺＧＩＤ間のアクセスを許可することを示している。
【００６６】
また、この第２の動作例では、ＺＧＩＤとＳＡＳデバイスとの対応関係を定義したＺＧＩＤテーブルも図示しないメモリに記憶されている。ここでは、（ｂ）に示すようなＺＧＩＤテーブルが記憶されているものとする。
【００６７】
そして、Ｉ／Ｔテーブル生成部２３は、ステップ２０４においてＩ／Ｔテーブルを作成し、Ｉ／Ｔテーブル記憶部２４に記憶する。この例では、（ｃ）に示すようなＩ／Ｔテーブルが作成される。この場合、（ｂ）のＺＧＩＤテーブルでＺＧＩＤ１に対応付けられているＢｌａｄｅ１−３のポートの属性、及び、ＺＧＩＤ２に対応付けられているＢｌａｄｅ４−６のポートの属性はイニシエータであるので、ＺＧＩＤ１及びＺＧＩＤの属性は共にイニシエータとなっている。また、ＺＧＩＤ３に対応付けられているストレージモジュール１のＤｉｓｋ１−６のポートの属性、及び、ＺＧＩＤ４に対応付けられているストレージモジュール２のＤｉｓｋ１−６のポートの属性はターゲットであるので、ＺＧＩＤ３及びＺＧＩＤ４の属性は共にターゲットとなっている。
【００６８】
その後、妥当性検証部２５が、ステップ２０５において、（ａ）に示したＺＰテーブルと（ｃ）に示したＩ／Ｔテーブルとに基づいてマージが必要かどうかを検証する。この例では、イニシエータであるＺＧＩＤ１とターゲットであるＺＧＩＤ３及びＺＧＩＤ４の間のアクセスが許可されており、イニシエータであるＺＧＩＤ２とターゲットであるＺＧＩＤ３及びＺＧＩＤ４の間のアクセスも許可されている。従って、ＺＧＩＤ１及びＺＧＩＤ２を１つのＺＧＩＤとしても影響がないため、これらのＺＧＩＤのマージ提案を行う。また、ターゲットであるＺＧＩＤ３とイニシエータであるＺＧＩＤ１及びＺＧＩＤ２の間のアクセスが許可されており、ターゲットであるＺＧＩＤ４とイニシエータであるＺＧＩＤ１及びＺＧＩＤ２の間のアクセスも許可されている。従って、ＺＧＩＤ３及びＺＧＩＤ４を１つのＺＧＩＤとしても影響がないため、これらのＺＧＩＤのマージ提案を行う。
【００６９】
次いで、ステップ２０５における妥当性検証部２５によるマージ検証処理について詳細に説明する。
図１０は、この場合の妥当性検証部２５の動作例を示したフローチャートである。
まず、妥当性検証部２５は、ＺＰテーブル記憶部２２に記憶されたＺＰテーブルの縦方向のインデックスを表す変数Ｘに「１」を代入する（ステップ２６１）。そして、Ｘを「１」ずつ増やしながら、以降の処理を行う。ここでは、例えば、Ｘが「１」、「２」、「３」のとき、それぞれ、ＺＰテーブルの上から１行目、２行目、３行目に着目して処理を行うものとする。
【００７０】
以下、ＺＰテーブルにおける上からＸ行目に着目したときの処理について説明する。
妥当性検証部２５は、まず、ＺＰテーブルにおける上からＸ行目のＺＧＩＤの属性を判別する（ステップ２６２）。
その結果、ＺＧＩＤの属性がイニシエータであると判定された場合、妥当性検証部２５は、そのイニシエータのＺＧＩＤと、そのＺＧＩＤに対して「ＯＫ」が設定されているターゲットのＺＧＩＤとの対応情報を記録する（ステップ２６３）。例えば、図示しないメモリにそのイニシエータのＺＧＩＤ用の領域を設け、その領域にターゲットのＺＧＩＤを記録するとよい。図９（ａ）のＺＰテーブルでは、１行目のイニシエータであるＺＧＩＤ１に着目すると、ターゲットであるＺＧＩＤ３及びＺＧＩＤ４に対応するセルに「ＯＫ」が設定されている。従って、ＺＧＩＤ１用の領域にＺＧＩＤ３及びＺＧＩＤ４の情報を記録する。また、２行目のイニシエータであるＺＧＩＤ２に着目すると、ターゲットであるＺＧＩＤ３及びＺＧＩＤ４に対応するセルに「ＯＫ」が設定されている。従って、ＺＧＩＤ２用の領域にＺＧＩＤ３及びＺＧＩＤ４の情報を記録する。
【００７１】
また、ＺＧＩＤの属性がターゲットであると判定された場合、妥当性検証部２５は、そのターゲットのＺＧＩＤと、そのＺＧＩＤに対して「ＯＫ」が設定されているイニシエータのＺＧＩＤとの対応情報を記録する（ステップ２６４）。例えば、図示しないメモリにそのターゲットのＺＧＩＤ用の領域を設け、その領域にイニシエータのＺＧＩＤを記録するとよい。図９（ａ）のＺＰテーブルでは、３行目のターゲットであるＺＧＩＤ３に着目すると、イニシエータであるＺＧＩＤ１及びＺＧＩＤ２に対応するセルに「ＯＫ」が設定されている。従って、ＺＧＩＤ３用の領域にＺＧＩＤ１及びＺＧＩＤ２の情報を記録する。また、４行目のイニシエータであるＺＧＩＤ４に着目すると、イニシエータであるＺＧＩＤ１及びＺＧＩＤ２に対応するセルに「ＯＫ」が設定されている。従って、ＺＧＩＤ４用の領域にＺＧＩＤ１及びＺＧＩＤ２の情報を記録する。
【００７２】
更に、ＺＧＩＤの属性がイニシエータ／ターゲットであると判定された場合、妥当性検証部２５は、ＺＧＩＤの対応情報を記録することなく、次の処理に進む。
その後、妥当性検証部２５は、Ｘに「１」を加算し（ステップ２６５）、ＸがＺＰテーブルに含まれるＺＧＩＤの総数Ｍを超えているかを判定する（ステップ２６６）。そして、ＺＧＩＤの総数Ｍを超えていなければ、ステップ２６２へ進む。
また、ＸがＺＧＩＤの総数Ｍを超えていれば、妥当性検証部２５は、メモリにＺＧＩＤの対応情報が記録されているかどうかを判定する（ステップ２６７）。
その結果、ＺＧＩＤの対応情報が記録されていれば、その対応情報の中に、イニシエータである複数のＺＧＩＤと、ターゲットである１つのＺＧＩＤとの対応情報があるかどうかを判定する（ステップ２６８）。そして、そのような対応情報があれば、ユーザに出力するメッセージにイニシエータのマージ提案をセットする（ステップ２６９）。また、そのような対応情報がなければ、ユーザに出力するメッセージにイニシエータのマージ提案をセットすることなく、次の処理に進む。
【００７３】
次に、妥当性検証部２５は、その対応情報の中に、ターゲットである複数のＺＧＩＤと、イニシエータである１つのＺＧＩＤとの対応情報があるかどうかを判定する（ステップ２７０）。そして、そのような対応情報があれば、ユーザに出力するメッセージにターゲットのマージ提案をセットする（ステップ２７１）。また、そのような対応情報がなければ、ユーザに出力するメッセージにターゲットのマージ提案をセットすることなく、ステップ２６７へ進む。
その後、妥当性検証部２５は、メモリにＺＧＩＤの対応情報が記録されていないと判定すると、処理を終了する。
【００７４】
次に、許可検証処理について説明する。
第一に、ＺＧＩＤの属性がイニシエータかターゲットである場合について説明する。
図１１は、この場合に生成される表の一例を示した図である。
まず、ユーザがＺＰテーブルを設定し、ＺＰテーブル生成部２１が、ステップ２０２においてＺＰテーブルをＺＰテーブル記憶部２２に記憶する。ここでは、ユーザが、（ａ）に示すようなＺＰテーブルを設定したものとする。第２の動作例においては、第１の動作例と異なり、ＺＰテーブルの行及び列には、ゾーングループの識別情報であるＺＧＩＤが設定される。尚、表中、「ＯＫ」は対応するＺＧＩＤ間のアクセスを許可することを示している。
【００７５】
また、Ｉ／Ｔテーブル生成部２３は、ステップ２０４においてＩ／Ｔテーブルを作成し、Ｉ／Ｔテーブル記憶部２４に記憶する。この例において、ＺＧＩＤの属性はイニシエータかターゲットであるので、（ｂ）に示すようなＩ／Ｔテーブルが作成される。即ち、ＺＧＩＤ１及びＺＧＩＤ２の属性はイニシエータであり、ＺＧＩＤ３及びＺＧＩＤ４の属性はターゲットであることが設定されている。
【００７６】
その後、妥当性検証部２５が、ステップ２０５において、（ａ）に示したＺＰテーブルと（ｂ）に示したＩ／Ｔテーブルとに基づいて妥当性検証処理を行う。この妥当性検証処理では、ＺＰテーブルにおいてユーザが「ＯＫ」を設定したＺＧＩＤの組み合わせ以外の組み合わせについてのアクセス可否の情報も自動的に生成することができる。ここでは、（ｂ）のＩ／Ｔテーブルから、ＺＧＩＤ１のデータ出力先がＺＧＩＤ３、ＺＧＩＤ２のデータ出力先がＺＧＩＤ４であり、サーバ対ディスクの構成であることが暗黙的に分かるので、（ｃ）に示すように、このままの設定でよいことになる。
【００７７】
第二に、ＺＧＩＤの属性がイニシエータかターゲットかイニシエータ／ターゲットである場合について説明する。
図１２は、この場合に生成される表の一例を示した図である。
まず、ユーザがＺＰテーブルを設定し、ＺＰテーブル生成部２１が、ステップ２０２においてＺＰテーブルをＺＰテーブル記憶部２２に記憶する。ここでは、ユーザが、（ａ）に示すようなＺＰテーブルを設定したものとする。これは、図１１（ａ）に示したものと同じである。尚、ここでも、表中、「ＯＫ」は対応するＺＧＩＤ間のアクセスを許可することを示している。
【００７８】
また、Ｉ／Ｔテーブル生成部２３は、ステップ２０４においてＩ／Ｔテーブルを作成し、Ｉ／Ｔテーブル記憶部２４に記憶する。この例において、ＺＧＩＤの属性はイニシエータかターゲットかイニシエータ／ターゲットであるので、（ｂ）に示すようなＩ／Ｔテーブルが作成される。即ち、ＺＧＩＤ１及びＺＧＩＤ２の属性はイニシエータであり、ＺＧＩＤ３の属性はイニシエータ／ターゲットであり、ＺＧＩＤ４の属性はターゲットであることが設定されている。
【００７９】
その後、妥当性検証部２５が、ステップ２０５において、（ａ）に示したＺＰテーブルと（ｂ）に示したＩ／Ｔテーブルとに基づいて妥当性検証処理を行う。この妥当性検証処理では、ＺＰテーブルにおいてユーザが「ＯＫ」を設定したＺＧＩＤの組み合わせ以外の組み合わせについてのアクセス可否の情報も自動的に生成することができる。ここでは、ＺＧＩＤ３がイニシエータにもなれるという点で特殊であり、ＺＧＩＤ３に何らかのバックアップエージェントが搭載されていることが推測できる。また、ＺＧＩＤ４がターゲットのみであり、かつ、ハードディスクであるという点から、バックアップ先として利用されていることも推測できる。ＺＧＩＤ３のイニシエータに対するターゲットとしては、ＺＧＩＤ３自身である可能性と、ＺＧＩＤ４である可能性とが生じ、それぞれに対しアクセスを許可してパフォーマンスを向上させることをユーザに提案することができる。
【００８０】
尚、ステップ２０５における妥当性検証部２５による許可検証処理の動作は、図６のフローチャートの説明においてポートをＺＧＩＤに置き換えたものに相当する。従って、ここでの詳細な説明は省略する。
【００８１】
以上説明したように、本実施の形態では、ＳＡＳデバイスのポート又はその集合であるＺＧＩＤの属性を利用して、ＺＰテーブルの設定の妥当性を検証するようにした。これにより、ユーザによるＺＰテーブルの設定が適切であるかどうかを自動的に判定することが可能となった。特に、第２の動作例の場合、ユーザはサーバとディスクの関係のような直感的なポートの関連性のみに対象を絞ってゾーニングを行えばよく、自動的に最適なＺＰテーブルの候補の提案や警告がなされるので、ユーザのゾーニングの手間や間違いを大幅に削減することができる。
また、ＳＡＳデバイスのポートの属性情報やＺＰテーブルを参照することで、マージできるゾーングループを自動的に検出することが可能となった。
更に、ポートの属性情報（ポートがイニシエータ、ターゲット、イニシエータ／ターゲットであるという情報）を利用することで、サーバレスコピーのようなハードディスク間のアクセスを必要とするシステムへの対応を自動検出することが可能となった。
【００８２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施の形態におけるブレードサーバシステムの全体構成を示した図である。
【図２】本発明の実施の形態におけるゾーン管理モジュールの機能構成例を示した図である。
【図３】本発明の実施の形態におけるゾーン管理モジュールの全体動作例を示したフローチャートである。
【図４】本発明の実施の形態における妥当性検証処理の第１の動作例にて用いられるテーブルの例を示した図である。
【図５】本発明の実施の形態における妥当性検証処理の第１の動作例にて用いられるテーブルの例を示した図である。
【図６】本発明の実施の形態における妥当性検証処理の第１の動作例の流れを示したフローチャートである。
【図７】本発明の実施の形態における妥当性検証処理の第２の動作例のうち、分割検証処理にて用いられるテーブルの例を示した図である。
【図８】本発明の実施の形態における妥当性検証処理の第２の動作例のうち、分割検証処理の流れを示したフローチャートである。
【図９】本発明の実施の形態における妥当性検証処理の第２の動作例のうち、マージ検証処理にて用いられるテーブルの例を示した図である。
【図１０】本発明の実施の形態における妥当性検証処理の第２の動作例のうち、マージ検証処理の流れを示したフローチャートである。
【図１１】本発明の実施の形態における妥当性検証処理の第２の動作例のうち、許可検証処理にて用いられるテーブルの例を示した図である。
【図１２】本発明の実施の形態における妥当性検証処理の第２の動作例のうち、許可検証処理にて用いられるテーブルの例を示した図である。
【符号の説明】
【００８４】
１０…ブレードサーバシステム、１１…ブレードサーバ、１２…ストレージモジュール、１３…外部ポート、１４…ＳＡＳ接続モジュール、１５…システム管理モジュール、２０…ゾーン管理モジュール
【図１】
2010020701.tif 000003
【図２】
2010020701.tif 000004
【図３】
2010020701.tif 000005
【図４】
2010020701.tif 000006
【図５】
2010020701.tif 000007
【図６】
2010020701.tif 000008
【図７】
2010020701.tif 000009
【図８】
2010020701.tif 000010
【図９】
2010020701.tif 000011
【図１０】
2010020701.tif 000012
【図１１】
2010020701.tif 000013
【図１２】
2010020701.tif 000014