(57)【要約】【課題】ストレージセントリックネットワークを利用するクライアントＰＣの数が変動した場合にも、自動的にアクセス負荷を分散する。【解決手段】一つ以上の論理ユニットが設定されたディスクドライブへのデータの書き込み及び読み出しを制御するストレージ制御装置において、ネットワークを介してクライアント計算機と接続される複数のポートと、前記ポートによるデータの入出力を制御する複数のマイクロプロセッサと、を備え、前記複数のマイクロプロセッサのうち一つは、代表マイクロプロセッサであり、前記代表マイクロプロセッサは、前記クライアント計算機から前記論理ユニットへのアクセス要求を受けると、前記各マイクロプロセッサの接続状態を参照して、当該要求されたアクセスを前記複数のマイクロプロセッサのうち一つに割り当てる。【選択図】      図１
2006209294.tif 000002
【特許請求の範囲】
【請求項１】
データが格納される一つ以上のディスクドライブと、前記ディスクドライブへのデータの書き込み及び読み出しを制御するストレージ制御装置と、前記ストレージ制御装置とＩＰ−ＳＡＮを介して接続された複数のクライアント計算機と、からなる計算機システムにおいて、
前記クライアント計算機は、前記ＩＰ−ＳＡＮに接続されるホストバスアダプタを備え、
前記ディスクドライブ上の記憶領域には、一つ以上の論理ユニットからなるターゲットが設定され、
前記ストレージ制御装置は、
前記ＩＰ−ＳＡＮに接続される複数のポートと、
前記ポートを制御する複数のマイクロプロセッサと、
メモリと、
前記ディスクドライブに接続されるディスクアダプタと、
前記マイクロプロセッサ、前記メモリ及び前記ディスクアダプタを接続するバスと、を備え、
前記マイクロプロセッサは、当該マイクロプロセッサが処理しているＴＣＰコネクション数が格納されるＭＰ情報テーブルを保持し、
前記メモリは、
前記記憶領域に設定されたターゲットの名前、前記ターゲットを構成する論理ユニットの番号、前記論理ユニットにアクセスすることができる前記ホストバスアダプタの名前、及び、前記ホストバスアダプタの認証情報が格納されるターゲットテーブルと、
前記各マイクロプロセッサにアクセスするためのＩＰアドレス及び当該マイクロプロセッサから取得した前記ＴＣＰコネクション数が格納されるコネクションテーブルと、を保持し、
前記複数のマイクロプロセッサのうち一つは、
前記各マイクロプロセッサに前記ＴＣＰコネクション数を問い合わせ、
前記各マイクロプロセッサから応答された前記ＴＣＰコネクション数を前記コネクションテーブルに格納し、
前記クライアント計算機からディスカバリ要求を受けると、前記コネクションテーブルを参照して、前記ＴＣＰコネクション数が最も小さい前記マイクロプロセッサのＩＰアドレスを取得し、
前記ターゲットテーブルを参照して、前記ディスカバリ要求の対象の前記論理ユニットの番号及び当該論理ユニットが属する前記ターゲットの名前に対応する前記ホストバスアダプタの名前、及び、当該ホストバスアダプタの認証情報を取得し、
前記ディスカバリ要求の対象のターゲットの名前及び論理ユニットの番号、並びに、前記取得したホストバスアダプタの名前及びホストバスアダプタの認証情報を、前記ＴＣＰコネクション数が最も小さいマイクロプロセッサに通知し、
前記取得したＩＰアドレスを、前記ディスカバリ要求を発行したクライアント計算機に通知する代表ＭＰであることを特徴とする計算機システム。
【請求項２】
一つ以上の論理ユニットが設定されたディスクドライブへのデータの書き込み及び読み出しを制御するストレージ制御装置において、
ネットワークを介してクライアント計算機と接続される複数のポートと、
前記ポートによるデータの入出力を制御する複数のマイクロプロセッサと、を備え、
前記複数のマイクロプロセッサのうち一つは、代表マイクロプロセッサであり、
前記代表マイクロプロセッサは、前記クライアント計算機から前記論理ユニットへのアクセス要求を受けると、前記各マイクロプロセッサの接続状態を参照して、当該要求されたアクセスを前記複数のマイクロプロセッサのうち一つに割り当てることを特徴とするストレージ制御装置。
【請求項３】
前記マイクロプロセッサが処理している接続数が格納されるテーブルを保持し、
前記接続状態として、前記テーブルに格納された前記接続数を参照して、当該要求されたアクセスを前記接続数が最も小さい前記マイクロプロセッサに割り当てることを特徴とする請求項２に記載のストレージ制御装置。
【請求項４】
前記マイクロプロセッサが処理しているトラフィック量が格納されるテーブルを保持し、
前記接続状態として、前記テーブルに格納された前記トラフィック量を参照して、当該要求されたアクセスを前記トラフィック量が最も小さい前記マイクロプロセッサに割り当てることを特徴とする請求項２に記載のストレージ制御装置。
【請求項５】
前記クライアント計算機は、前記ネットワークに接続されるネットワーク接続部を備え、
前記マイクロプロセッサは、当該マイクロプロセッサの接続状態が格納される第１テーブルを保持し、
前記ストレージ制御装置は、
前記記憶領域に設定された前記論理ユニットの識別子及び当該論理ユニットにアクセスすることができる前記ネットワーク接続部の識別子が格納される第２テーブルと、
前記マイクロプロセッサにアクセスするためのアドレス情報、及び、前記第１テーブルから取得した当該マイクロプロセッサの接続状態が格納される第３テーブルと、を保持し、
前記クライアント計算機から前記論理ユニットへのアクセス要求を受けた前記代表マイクロプロセッサは、
前記第３テーブルに格納された接続状態を参照して、当該要求されたアクセスを割り当てるマイクロプロセッサを選択し、当該選択したマイクロプロセッサにアクセスするための前記アドレス情報を取得し、
前記第２テーブルを参照して、前記アクセス要求に関する論理ユニットにアクセスすることができる前記ネットワーク接続部の識別子を取得し、
前記アクセス要求に関する論理ユニットの識別子及び前記取得したネットワーク接続部の識別子を、前記選択されたマイクロプロセッサに通知し、
前記取得したアドレス情報を、当該アクセス要求を発行した前記クライアント計算機に通知することを特徴とする請求項２に記載のストレージ制御装置。
【請求項６】
複数のクライアント計算機と、前記複数のクライアント計算機とＩＰ−ＳＡＮを介して接続された一つ以上のストレージシステムと、前記一つ以上のストレージシステムを管理する管理サーバと、からなる計算機システムにおいて、
前記クライアント計算機は、前記ＩＰ−ＳＡＮに接続されるホストバスアダプタを備え、
前記各ストレージシステムは、
データが格納されるディスクドライブと、
前記ディスクドライブへのデータの書き込み及び読み出しを制御するストレージ制御装置と、を備え、
前記ディスクドライブ上の記憶領域には、一つ以上の論理ユニットからなるターゲットが設定され、
前記ストレージ制御装置は、
前記ＩＰ−ＳＡＮに接続される複数のポートと、
前記ポートを制御する複数のマイクロプロセッサと、
第１メモリと、
前記ディスクドライブに接続されるディスクアダプタと、
前記マイクロプロセッサ、前記メモリ及び前記ディスクアダプタを接続する第１バスと、を備え、
前記マイクロプロセッサは、当該マイクロプロセッサが処理しているＴＣＰコネクション数が格納されるＭＰ情報テーブルを保持し、
前記第１メモリは、
前記記憶領域に設定されたターゲットの名前、前記ターゲットを構成する論理ユニットの番号、前記論理ユニットにアクセスすることができる前記ホストバスアダプタの名前、及び、前記ホストバスアダプタの認証情報が格納されるターゲットテーブルと、
前記各マイクロプロセッサにアクセスするためのＩＰアドレス及び当該マイクロプロセッサから取得した前記ＴＣＰコネクション数が格納されるコネクションテーブルと、を保持し、
前記管理サーバは、第２バスによって接続されたＣＰＵ、第２メモリ及びネットワークインターフェースカードを備え、
前記ネットワークインターフェースカードは、前記ＩＰ−ＳＡＮに接続され、
前記メモリは、
前記ＣＰＵによって実行されるストレージ管理プログラムと、
前記各ストレージシステムの前記第１メモリから取得した前記ターゲットの名前、前記論理ユニットの番号、前記ホストバスアダプタの名前、及び、前記認証情報が格納される全体ターゲットテーブルと、
前記各ストレージシステムの前記第１メモリから取得した前記ＩＰアドレス及び前記ＴＣＰコネクション数が格納される全体コネクションテーブルと、を保持し、
前記ストレージ管理プログラムは、
前記クライアント計算機からディスカバリ要求を受けると、前記全体コネクションテーブルを参照して、当該ディスカバリ要求の対象の前記論理ユニットを含む前記ストレージシステムの中で、前記ＴＣＰコネクション数が最も小さい前記マイクロプロセッサのＩＰアドレスを取得し、
前記全体ターゲットテーブルを参照して、前記ディスカバリ要求の対象の前記論理ユニットの番号及び当該論理ユニットが属する前記ターゲットの名前に対応する前記ホストバスアダプタの名前、及び、当該ホストバスアダプタの認証情報を取得し、
前記ディスカバリ要求の対象のターゲットの名前及び論理ユニットの番号、並びに、前記取得したホストバスアダプタの名前及びホストバスアダプタの認証情報を、前記ＴＣＰコネクション数が最も小さいマイクロプロセッサに通知し、
前記取得したＩＰアドレスを、前記ディスカバリ要求を発行したクライアント計算機に通知することを特徴とする計算機システム。
【請求項７】
ネットワークを介して複数のクライアント計算機と接続された一つ以上のストレージシステムを管理する管理計算機において、
前記各ストレージシステムは、
データが格納されるディスクドライブと、
前記ディスクドライブへのデータの書き込み及び読み出しを制御するストレージ制御装置と、を備え、
前記ディスクドライブ上の記憶領域には、一つ以上の論理ユニットが設定され、
前記ストレージ制御装置は、
前記ネットワークに接続される複数のポートと、
前記ポートによるデータの入出力を制御する複数のマイクロプロセッサと、を備え、
前記管理計算機は、前記クライアント計算機から前記論理ユニットへのアクセス要求を受けると、前記各マイクロプロセッサの接続状態を参照して、当該要求されたアクセスを前記複数のマイクロプロセッサのうち一つに割り当てることを特徴とする管理計算機。
【請求項８】
前記管理計算機は、前記マイクロプロセッサが処理している接続数が格納されるテーブルを保持し、
前記接続状態として、前記テーブルに格納された前記接続数を参照して、当該要求されたアクセスを前記接続数が最も小さい前記マイクロプロセッサに割り当てることを特徴とする請求項７に記載の管理計算機。
【請求項９】
前記管理計算機は、前記マイクロプロセッサが処理しているトラフィック量が格納されるテーブルを保持し、
前記接続状態として、前記テーブルに格納された前記トラフィック量を参照して、当該要求されたアクセスを前記トラフィック量が最も小さい前記マイクロプロセッサに割り当てることを特徴とする請求項７に記載の管理計算機。
【請求項１０】
前記クライアント計算機は、前記ネットワークに接続されるネットワーク接続部を備え、
前記管理計算機は、
前記記憶領域に設定された前記論理ユニットの識別子及び当該論理ユニットにアクセスすることができる前記ネットワーク接続部の識別子が格納される第４テーブルと、
前記マイクロプロセッサにアクセスするためのアドレス情報、及び、当該マイクロプロセッサの接続状態が格納される第５テーブルと、を保持し、
前記クライアント計算機から前記論理ユニットへのアクセス要求を受けた前記管理計算機は、
前記第５テーブルに格納された接続状態を参照して、前記アクセス要求に関する論理ユニットを含む前記ストレージシステムの中で、当該要求されたアクセスを割り当てるマイクロプロセッサを選択し、当該選択したマイクロプロセッサにアクセスするための前記アドレス情報を取得し、
前記第４テーブルを参照して、前記アクセス要求に関する論理ユニットにアクセスすることができる前記ネットワーク接続部の識別子を取得し、
前記アクセス要求に関する論理ユニットの識別子及び前記取得したネットワーク接続部の識別子を、前記選択されたマイクロプロセッサに通知し、
前記取得したアドレス情報を、当該アクセス要求を発行した前記クライアント計算機に通知することを特徴とする請求項７に記載の管理計算機。
【請求項１１】
ネットワークを介して複数のクライアント計算機及びストレージシステムが接続されたコンピュータシステムの制御方法において、
前記クライアント計算機は、前記ネットワークに接続されるネットワーク接続部を備え、
前記ストレージシステムは、一つ以上の論理ユニットが設定されるディスクドライブと、前記ネットワークに接続される複数のポートと、前記ポートを制御する複数のマイクロプロセッサと、を備え、
前記制御方法は、
前記クライアント計算機から前記論理ユニットへのアクセス要求を受けたとき、前記マイクロプロセッサが処理している接続数が最も小さい前記マイクロプロセッサにアクセスするためのアドレス情報を取得する手順と、
前記アクセス要求に関する論理ユニットにアクセスすることができる前記ネットワーク接続部の識別子を取得する手順と、
前記アクセス要求に関する論理ユニットの識別子及び前記取得したネットワーク接続部の識別子を、前記接続数が最も小さいマイクロプロセッサに通知する手順と、
前記取得したアドレス情報を、当該アクセス要求を発行した前記クライアント計算機に通知する手順と、を含むことを特徴とする制御方法。
【請求項１２】
前記各マイクロプロセッサは、当該マイクロプロセッサが処理している前記接続数を保持し、
前記制御方法は、
前記各マイクロプロセッサから前記接続数を取得する手順と、
前記取得した接続数を格納する手順と、を含むことを特徴とする請求項１１に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のクライアントからのアクセス負荷を複数のポートに分散する機能を備えたストレージシステムに関する。
【背景技術】
【０００２】
近年、企業におけるＩＴシステムの高度化が進んだ結果、コンピュータウイルス、台風若しくは地震等の自然災害又は火災等によるデータ損失や不慮の業務停止が、企業に多大な被害をもたらすようになった。そのような被害を防ぐためには、企業のＰＣユーザ一人一人が、データのバックアップ、ＯＳの更新、ウイルスチェック、ソフトウェアのバージョンアップといったＰＣ管理を徹底して行わなくてはならない。しかし、そのようなＰＣ管理は、非常に時間と手間がかかるものであり、ユーザの負担となっている。
【０００３】
上記の問題を解決するため、ＰＣのローカルディスクに格納されているデータを、ネットワークを介してＰＣと接続された大容量ストレージシステムに集約し、バックアップやウイルスチェック等を一括して実行するストレージセントリックネットワークが開示されている（例えば、非特許文献１参照）。
【０００４】
ストレージセントリックネットワークを導入することによって、各クライアントＰＣの管理作業をシステム管理者が一括して実行することができる。このため、運用コストが大幅に削減される。また、ストレージシステム内のＯＳやアプリケーションにセキュリティパッチを適用することによって、全てのクライアントＰＣにセキュリティパッチが適用される。このため、ワームやウィルスの流行を防ぐことができる。さらに、クライアントＰＣのローカルディスク内にファイルが保管されていないため、ＰＣが盗難された場合や、ＰＣを外出先に置き忘れた場合にも、機密情報の漏洩を防止することができる。
【非特許文献１】“「どこでも安全で安心な」ストレージセントリックネットワークを共同研究開発”、［ｏｎｌｉｎｅ］、日立製作所株式会社ホームページ、ニュースリリース、［平成１６年１２月８日検索］、インタネット＜URL：http://www.hitachi.co.jp/New/cnews/month/2003/11/1120a.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来、ストレージシステムの主な用途は、サーバ機器のディスクを整理統合（コンソリデーション）する、というものであった。一般的に、企業システムでは、サーバよりＰＣのほうが遥かに台数が多い。そのため、ストレージセントリックネットワークでは、従来に比べて多数のコンピュータがストレージシステムへ接続される。このような状況下では、ストレージシステムの特定の物理ポートにアクセス負荷が集中しないよう、ストレージセントリックネットワークを利用するクライアントＰＣを、ストレージシステムの各物理ポートへ均等に割り当てなくてはならない。
【０００６】
従来のストレージシステムには、クライアントＰＣのディスカバリ要求に対し、最も負荷の小さいポートのアドレスを通知する、という機能がない。従って、ストレージシステムの各物理ポートに均等にクライアントＰＣを割り当てるためには、システムの運用開始時に、システム管理者が、各ポートを使用するクライアントＰＣ数が均等になるように設計し、その設計情報をストレージシステム及びクライアントＰＣへ手動で登録しなくてはならなかった。
【０００７】
また、一旦そのような設計を行い、システム運用が開始された後にユーザ数が増減すると、各物理ポートへアクセスするクライアント数にばらつきが生じる。例えば、ユーザが入社又は退社した場合に、ストレージセントリックネットワークのユーザ数が増減する。
【０００８】
また、クライアントＰＣは、多くの場合、ＯＡ用のＰＣである。このため、朝、ユーザが出社したときにクライアントＰＣの電源が入れられ、夜、ユーザが退社するときに、電源が落とされる。従って、一部のユーザが欠勤又は出張することによっても、ユーザ数のはらつきが生じる。
【０００９】
このように、日によってユーザ数が変動すると、あるポートには多数のクライアントＰＣが接続されているとき、別のあるポートには、ユーザが出張したため、少数のクライアントＰＣのみが接続されている場合がある。このような場合、ストレージシステムのポート及びネットワーク帯域が有効に使用されない。また、多数のクライアントＰＣが接続されたポートの処理が混雑するため、そのポートに接続されたクライアントＰＣのディスクアクセス性能が低下する。
【００１０】
このようなばらつきが発生したときにも、システム管理者が物理ポートの負荷を調査し、各物理ポートへアクセスするクライアントＰＣ数が均一となるようにストレージシステム及びクライアントＰＣの設定を変更すれば、ストレージシステムのポートやネットワークの帯域を有効に使用することができる。しかし、システム管理者が、このような手動の設定変更を日常的に行うことは、負担があまりに大きく、現実的ではない。このため、上記作業を容易化できる技術が求められている。
【課題を解決するための手段】
【００１１】
本発明は、一つ以上の論理ユニットが設定されたディスクドライブへのデータの書き込み及び読み出しを制御するストレージ制御装置において、ネットワークを介してクライアント計算機と接続される複数のポートと、前記ポートによるデータの入出力を制御する複数のマイクロプロセッサと、を備え、前記複数のマイクロプロセッサのうち一つは、代表マイクロプロセッサであり、前記代表マイクロプロセッサは、前記クライアント計算機から前記論理ユニットへのアクセス要求を受けると、前記各マイクロプロセッサの接続状態を参照して、当該要求されたアクセスを前記複数のマイクロプロセッサのうち一つに割り当てることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ストレージアクセスに伴う処理負荷が複数のマイクロプロセッサ（ＭＰ）へ均等に分散される。このため、ストレージシステムの資源（ＭＰの処理能力）及びネットワークの帯域幅が有効に利用される。
【００１３】
また、本発明によれば、各物理ポートへアクセスするクライアント数を均等にするために、クライアントＰＣ及びストレージシステムを手動で設定する必要がない。このため、システム管理者の管理作業の負担が低減される。
【００１４】
さらに、本発明によれば、クライアントＰＣからのアクセスが分散されるため、クライアントＰＣのディスクアクセス性能の低下が防止される。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１６】
最初に、本発明の第１の実施の形態について、図１から図８を参照して説明する。
【００１７】
図１は、本発明の第１の実施の形態のコンピュータシステムの構成を示すブロック図である。
【００１８】
本実施の形態のコンピュータシステムは、一つのストレージシステム１００、複数のクライアントＰＣ１２０及びこれらを接続するＩＰ−ＳＡＮ１３０によって構成される。
【００１９】
ストレージシステム１００及びクライアントＰＣ１２０は、ＩＰ−ＳＡＮ１３０を介して相互に通信する。各クライアントＰＣ１２０は、それぞれがローカルなディスクドライブを備える代わりに、共通のストレージシステム１００にアクセスして、各種のアプリケーションを実行する。このように、各クライアントＰＣのディスクドライブを、ネットワークを介して接続された大容量のストレージシステムに集約した構成は、ストレージセントリックネットワークと呼ばれる。
【００２０】
図１において、ＩＰ−ＳＡＮ１３０は、インターネットプロトコル（ＩＰ）を使用して構成されたストレージエリアネットワーク（ＳＡＮ）である。本実施の形態のＩＰ−ＳＡＮ１３０は、ＳＣＳＩブロックをカプセル化したＩＰパケットとして通信するｉＳＣＳＩ（internet SCSI）であるが、ｉＦＣＰ（internet Fibre Channel Protocol）又はＦＣＩＰ（Fibre Channel over IP）であってもよい。
【００２１】
クライアントＰＣ１２０は、ストレージセントリックネットワークを利用するクライアント計算機である。クライアントＰＣ１２０は、ＣＰＵ１２１、メモリ１２２、ホストバスアダプタ（ＨＢＡ）１２４及びこれらを相互に接続するバス１２３を備える。
【００２２】
ＣＰＵ１２１は、メモリ１２２に格納された各種のアプリケーションプログラムを実行する。
【００２３】
メモリ１２２には、ＣＰＵ１２１によって実行されるアプリケーションプログラム及びその実行の際に使用されるデータ等が格納される。
【００２４】
ＨＢＡ１２４（１２４Ａ、１２４Ｂ）は、ＩＰ−ＳＡＮ１３０に接続され、ＩＰ−ＳＡＮ１３０を介してストレージシステム１００と通信するインターフェースである。ＨＢＡ１２４は、例えば、ＣＰＵ１２１が実行するアプリケーションからの要求に従って、ストレージシステム１００にアクセスし、データの書き込み又は読み出しを実行する。ＨＢＡ１２４は、ポート１２５及びマイクロプロセッサ（ＭＰ）１２６によって構成される。
【００２５】
ポート１２５は、ＩＰ−ＳＡＮ１３０に接続され、ストレージ１００と通信する物理的なポートである。
【００２６】
ＭＰ１２６は、ＩＰ−ＳＡＮ１３０との間のパケット送受信の際のプロトコル処理（ＳＣＳＩコマンドのカプセル化等、ｉＳＣＳＩのプロトコル処理を含む）、及び、ポート１２５及びメモリ１２２の間のＤＭＡ転送の制御等を実行するプロセッサである。
【００２７】
なお、クライアントＰＣ１２０は、ＨＢＡ１２４の代わりに、通常のＩＰネットワークに接続する機能のみを備えるネットワークインターフェースカード（ＮＩＣ）を備えてもよい。その場合、ｉＳＣＳＩのプロトコル処理は、ＣＰＵ１２１がメモリ１２２に格納されたプロトコル処理プログラムを実行することによって実現される。
【００２８】
ｉＳＣＳＩは、クライアント／サーバモデルを採用し、クライアントはイニシエータ、サーバはターゲットと呼ばれる。本実施の形態において、クライアントＰＣ１２０のＨＢＡ１２４がイニシエータに相当する。一方、ターゲットは、後で説明するように（図２参照）、ストレージシステム１００内の一つ以上の論理ユニット（ＬＵ）として構成される。
【００２９】
図１には、二つのクライアントＰＣ１２０を示すが、本実施の形態のコンピュータシステムは、さらに多くのクライアントＰＣ１２０を含んでもよい。
【００３０】
ストレージシステム１００は、コントローラ１１５及び一つ以上のディスクドライブ１０７によって構成される。コントローラ１１５は、複数のポート１０１、複数のＭＰ１０２、少なくとも一つのディスクアダプタ１０６及びメモリ１０８によって構成される。
【００３１】
各ポート１０１（１０１Ａ〜１０１Ｃ）は、ストレージシステム１００とＩＰ−ＳＡＮ１３０とを接続する物理的なポートである。ストレージシステム１００は、ポート１０１を介してクライアントＰＣ１２０と通信する。
【００３２】
各ＭＰ１０２（１０２Ａ〜１０２Ｃ）は、各ポート１０１に接続され、各ポート１０１によるクライアントＰＣ１２０との通信を制御するプロセッサである。各ＭＰ１０２は、ＩＰ−ＳＡＮ１３０との間のパケット送受信の際のプロトコル処理（ｉＳＣＳＩのプロトコル処理を含む）を実行する。本実施の形態のストレージシステム１００は、ポート１０１と同数のＭＰ１０２を備える。図１には三つのポート及び三つのＭＰ１０２を示すが、さらに多くのポート１０１及びＭＰ１０２が設けられてもよい。
【００３３】
各ＭＰ１０２は、それぞれ、ＭＰ情報テーブル１０４（１０４Ａ〜１０４Ｃ）を保持する。ＭＰ情報テーブル１０４については、後で詳細に説明する（図５参照）。ＭＰ情報テーブル１０４は、各ＭＰ１０２に内蔵されたメモリに格納されていてもよいし、各ＭＰ１０２に接続されたメモリに格納されていてもよい。
【００３４】
ＭＰ１０２のうち一つは、メモリ１０８内のテーブル（後述）にアクセスすることができる特別なＭＰ（代表ＭＰ）として設定される。図２の例では、ＭＰ１０２Ａが代表ＭＰである。代表ＭＰ１０２Ａは、上記の通常のＭＰ１０２の機能を備え、さらに、クライアントＰＣ１２０からディスカバリ要求を受けて、本発明の割り当てポート決定処理を実行する機能を備える。
【００３５】
ディスカバリ要求とは、クライアントＰＣ１２０がストレージシステム１００にアクセスする際に実行される、アクセス先のポートのアドレスの取得要求である。
【００３６】
割り当てポート決定処理とは、クライアントＰＣ１２０がアクセスするポートを決定し、そのポートのアドレスをクライアントＰＣ１２０に応答する処理である。割り当てポート決定処理については、後で詳細に説明する（図７参照）。
【００３７】
本実施の形態のコントローラ１１５は、上記のように、代表ＭＰ１０２Ａのみが割り当てポート決定処理を実行する機能を備える。しかし、各ＭＰ１０２が割り当てポート決定処理を実行する機能を備え、必要に応じていずれかのＭＰ１０２が割り当てポート決定処理を実行しても、本発明を実施することができる。
【００３８】
メモリ１０８は、例えば、半導体メモリである。メモリ１０８には、ターゲットテーブル１０９及びコネクションテーブル１１０が格納される。これらのテーブルは、割り当てポート決定処理において参照される。これらのテーブルについては、後で詳細に説明する（図３及び図４参照）。
【００３９】
ディスクアダプタ１０６は、バス１０５と一つ以上のディスクドライブ１０７との間を相互に接続し、クライアントＰＣ１２０からのアクセス要求に従って、ディスクドライブ１０７へのデータの書き込み及び読み出しを制御する。
【００４０】
ディスクアダプタ１０６に複数のディスクドライブ１０７が接続される場合、これらのディスクドライブ１０７は、ＲＡＩＤを構成してもよい。
【００４１】
本実施の形態において、ディスクドライブ１０７は、ハードディスクドライブであるが、他の記憶媒体（例えば、フラッシュメモリ）であってもよい。
【００４２】
バス１０５は、各ＭＰ１０２、ディスクアダプタ１０６及びメモリ１０８を相互に通信可能に接続する。バス１０５の代わりにスイッチ（図示省略）が設けられてもよい。
【００４３】
図２は、本発明の第１の実施の形態のコンピュータシステムの論理的な構成を示すブロック図である。
【００４４】
図１において説明したように、本実施の形態のコンピュータシステムは、ＩＰ−ＳＡＮ１３０によって接続されたストレージシステム１００及び複数のクライアントＰＣ１２０によって構成される。また、ストレージシステム１００は、コントローラ１１５及びディスクドライブ１０７によって構成される。
【００４５】
ディスクドライブ１０７の記憶領域には、論理ユニット（ＬＵ）２０２が設定される。ＬＵ２０２とは、クライアントＰＣ１２０によって論理的なディスクドライブとして認識される領域である。ディスクドライブ１０７がＲＡＩＤを構成する場合、一つのＬＵ２０２が複数のディスクドライブ１０７に跨って設定されてもよい。
【００４６】
一つ以上のＬＵ２０２が、ｉＳＣＳＩのターゲット２０１を構成する。
【００４７】
各ＬＵ２０２は、ターゲット２０１内で一意のＬＵ番号（ＬＵＮ）によって識別される。
【００４８】
各ターゲット２０１は、各ターゲット２０１に付与されたｉＳＣＳＩ名（以下、ターゲット名とする）によって識別される。
【００４９】
図２の例では、ストレージシステム１００内に三つのターゲット２０１が設定される。それぞれのターゲット名は、「ターゲット（Target）１」、「ターゲット２」及び「ターゲット３」である。
【００５０】
ターゲット１は、一つのＬＵ２０２によって構成される。そのＬＵ２０２に付されたＬＵＮは、「０」である。以下、ＬＵＮが「０」であるＬＵ２０２を「ＬＵ０」と記載する。同様にして、ＬＵＮが「１」であるＬＵ２０２を「ＬＵ１」と記載する。
【００５１】
ターゲット２は、二つのＬＵ２０２によって構成される。各ＬＵ２０２に付されたＬＵＮは、それぞれ、「０」及び「１」である。
【００５２】
ターゲット３は、ターゲット２と同様、ＬＵ０及びＬＵ１の二つのＬＵによって構成される。
【００５３】
ストレージ１００には、さらに多くのターゲット２０１が設定されてもよい。また、各ターゲット２０１は、さらに多くのＬＵ２０２によって構成されてもよい。
【００５４】
一方、図１において説明したように、クライアントＰＣ１２０のＨＢＡ１２４は、イニシエータ２０３に相当する。各イニシエータ２０３は、各イニシエータ２０３に付与されたｉＳＣＳＩ名（イニシエータ名）によって識別される。例えば、ＨＢＡ１２４Ａのイニシエータ名が「イニシエータ（Initiator）１」、ＨＢＡ１２４Ｂのイニシエータ名が「イニシエータ２」である。コンピュータシステムは、さらに多くのイニシエータ２０３を含んでもよい。
【００５５】
図３は、本発明の第１の実施の形態のターゲットテーブル１０９の説明図である。
【００５６】
ターゲットテーブル１０９は、システム管理者によって初期設定され、割り当てポート決定処理（図７参照）の際に、代表ＭＰ１０２Ａによって参照される。
【００５７】
ターゲットテーブル１０９には、ターゲット名３０１、ＬＵＮ３０２、イニシエータ名３０３、認証名３０４及びパスワード３０５が含まれる。
【００５８】
ターゲット名３０１は、ストレージシステム１００に設定されるターゲット２０１のターゲット名である。本実施の形態では、図２にも示したように、ターゲット１、ターゲット２及びターゲット３の三つのターゲット２０１が設定される。
【００５９】
ＬＵＮ３０２は、各ターゲット２０１を構成するＬＵ２０２のＬＵＮである。本実施の形態では、図２にも示したように、ターゲット１はＬＵ０、ターゲット２はＬＵ０及びＬＵ１、ターゲット３はＬＵ０及びＬＵ１によって構成される。
【００６０】
イニシエータ名３０３は、各ＬＵ２０２にアクセスすることができるＨＢＡ１２４（すなわち、イニシエータ２０３）のｉＳＣＳＩ名である。本実施の形態では、イニシエータ（Initiator）１からイニシエータ５までの五つのＨＢＡ１２４がＬＵ２０２にアクセスすることができる。例えば、ＨＢＡ１２４Ａがイニシエータ１であり、ＨＢＡ１２４Ｂがイニシエータ２である。イニシエータ３からイニシエータ５までに対応するＨＢＡ１２４については、図示を省略する。
【００６１】
図３に示すように、イニシエータ１は、ターゲット１のＬＵＮ０にアクセスすることができる。イニシエータ２は、ターゲット２のＬＵＮ０にアクセスすることができる。イニシエータ３は、ターゲット２のＬＵＮ１にアクセスすることができる。イニシエータ４は、ターゲット３のＬＵＮ０にアクセスすることができる。イニシエータ５は、ターゲット３のＬＵＮ１にアクセスすることができる。
【００６２】
認証名３０４及びパスワード３０５は、各イニシエータ２０３の認証情報である。イニシエータ名３０４は、第三者が容易に知ることができる。そこで、第三者がイニシエータ名を詐称してＬＵ２０２にアクセスすることを防ぐため、各イニシエータ２０３には、第三者から秘匿された認証名３０４及びパスワード３０５が設定される。各イニシエータ２０３は、ＬＵ２０２にアクセスする際に、これらの認証情報によって認証される。
【００６３】
システム管理者は、任意の認証名３０４及びパスワード３０５を設定することができる。図３の例では、イニシエータ１から５に、それぞれ、認証名３０４として「Ｎａｍｅ１」から「Ｎａｍｅ５」が設定される。また、各イニシエータ２０３に、異なるパスワード３０５が設定される。
【００６４】
なお、イニシエータ２０３を認証する必要がない場合は、認証名３０４及びパスワード３０５を設定しなくてもよい。
【００６５】
図４は、本発明の第１の実施の形態のコネクションテーブル１１０の説明図である。
【００６６】
コネクションテーブル１１０は、ストレージシステム１００内の各ＭＰ１０２に設定されたコネクション数を格納するテーブルである。コネクションテーブル１１０は、システム管理者によって初期設定され、コネクション調査処理（図６参照）の際に代表ＭＰ１０２Ａによって更新され、割り当てポート決定処理（図７参照）の際に代表ＭＰ１０２Ａによって参照される。
【００６７】
コネクション数とは、各ＭＰ１０２とクライアントＰＣ１２０との間で現在処理されているＴＣＰコネクションの数である。
【００６８】
図４において、ＭＰ番号４０１は、ストレージシステム１００内の各ＭＰ１０２に付与された番号であり、各ＭＰ１０２を一意に識別する。例えば、代表ＭＰ１０２ＡのＭＰ番号４０１が「１」であり、ＭＰ１０２ＢのＭＰ番号４０１が「２」であり、ＭＰ１０２ＣのＭＰ番号４０１が「３」である。ＭＰ番号４０１が「４」であるＭＰ１０２については、図示を省略する。
【００６９】
ＩＰアドレス４０２は、クライアントＰＣ１２０が各ＭＰ１０２にアクセスするためのＩＰアドレス（すなわち、各ＭＰが制御するポート１０１に設定されたＩＰアドレス）である。
【００７０】
コネクション数４０３は、各ＭＰ１０２が現在処理しているＴＣＰコネクションの数である。なお、一つのＭＰ１２０が複数のクライアントＰＣ１２０との間のＴＣＰコネクションを処理している場合があり、さらに、そのＭＰ１２０が各クライアントＰＣ１２０との間の複数のＴＣＰコネクションを処理している場合がある。
【００７１】
図４の例では、ＭＰ番号４０１が「１」であるＭＰ１０２（ＭＰ１）のコネクション数４０３は、１３である。同様にして、ＭＰ２、ＭＰ３及びＭＰ４のコネクション数４０３は、それぞれ、１５、１８及び１６である。
【００７２】
コネクションテーブル１１０のうち、ＭＰ番号４０１及びＩＰアドレス４０２は、システム管理者によって初期設定される。一方、コネクション数４０３は、コネクション調査処理によって更新される（図６参照）。
【００７３】
図５は、本発明の第１の実施の形態のＭＰ情報テーブル１０４の説明図である。
【００７４】
ＭＰ情報テーブル１０４には、各ＭＰ１０２が制御するポート１０１に割り当てられたイニシエータ２０３及びターゲット２０１に関する情報及びそのＭＰ１０２が処理しているコネクション数が格納される。ＭＰ情報テーブル１０４は、コネクション調査処理（図６参照）において、代表ＭＰ１０２Ａによって参照される。
【００７５】
図５は、例として、ＭＰ１０２Ａ（代表ＭＰ）のＭＰ情報テーブル１０４Ａの内容を示す。他のＭＰ１０２のＭＰ情報テーブル１０４には、それぞれのＭＰ１０２に関する情報が格納される（図示省略）。
【００７６】
図５において、コネクション数５０１は、ＭＰ１０２Ａが現在処理しているＴＣＰコネクションの数である。図５の例では、ＭＰ１０２Ａは、現在１３のＴＣＰコネクションを処理している。処理しているＴＣＰコネクションの数が変化すると、ＭＰ１０２Ａは、コネクション数５０１の値を更新する。
【００７７】
ＩＰアドレス５０２は、クライアントＰＣ１２０がＭＰ１０２ＡにアクセスするためのＩＰアドレスである。図５の例では、ＭＰ１０２Ａについて、ＩＰアドレス「１９２．１６８．１．１」が設定されている。
【００７８】
ターゲット名５０３及びＬＵＮ５０４は、それぞれ、ＭＰ１０２Ａに割り当てられたＬＵ２０２が属するターゲット２０１のターゲット名及びＬＵＮである。
【００７９】
イニシエータ名５０５は、ターゲット名５０３及びＬＵＮ５０４によって識別されるＬＵ２０２にアクセスすることができるイニシエータ２０３の名前（ｉＳＣＳＩ名）である。
【００８０】
認証名５０６及びパスワード５０７は、各イニシエータ２０３の認証情報である。各ＭＰ１０２は、イニシエータ２０３からアクセスを受けたとき、これらの認証情報を用いてそのイニシエータ２０３を認証し、アクセスの正当性を確認する。
【００８１】
例えば、ＭＰ１０２Ａは、イニシエータ１からログイン要求を受けたとき、当該ログイン要求に含まれる認証名及びパスワードを、ＭＰ情報テーブル１０４に格納された認証名５０６「Ｎａｍｅ１」及びそれに対応するパスワード５０７と比較する。これらが一致する場合、ＭＰ１０２Ａは、当該ログイン要求が正当であると判定して当該ログインを許可する。一方、これらが一致しない場合、ＭＰ１０２Ａは、当該ログイン要求が不正である（イニシエータ１以外のイニシエータ２０３によるログイン要求である）と判定して当該ログインを許可しない。
【００８２】
上記のターゲット名５０３、ＬＵＮ５０４、イニシエータ名５０５、認証名５０６及びパスワード５０７は、割り当てポート決定処理によってイニシエータ２０３からＬＵ２０２へのアクセスがポート１０１Ａに割り当てられたとき、そのポート１０１Ａを制御するＭＰ１０２ＡのＭＰ情報テーブル１０４Ａに、そのアクセスに対応するターゲットテーブル１０９の内容が複写されたものである。
【００８３】
図５の例では、イニシエータ１からターゲット１のＬＵ０へのアクセス、イニシエータ２からターゲット２のＬＵ０へのアクセス、及び、イニシエータ３からターゲット２のＬＵ１へのアクセスが、ポート１０１Ａに割り当てられている。このため、ＭＰ情報テーブル１０４Ａのターゲット名５０３からパスワード５０７までには、割り当てられたアクセスに対応するターゲットテーブル１０９の１行目から３行目までの情報が複写されている。
【００８４】
次に、本実施の形態のコンピュータシステムの運用が開始される前に、システム管理者が実行する処理について説明する。
【００８５】
コンピュータシステムの運用が開始される前に、システム管理者は、各ポート１０１及び１２５のＩＰアドレスを設定する。このとき、ＤＨＣＰ（Dynamic Host Configuration Protocol）を用いてもよい。ストレージシステム１００のポート１０１に設定されたＩＰアドレスは、それぞれのポート１０１を管理するＭＰ１０２のＭＰ情報テーブル１０４に、ＩＰアドレス５０２として格納される。
【００８６】
さらに、システム管理者は、任意の容量のＬＵ２０２を作成する。作成されたＬＵ２０２が属するターゲットのｉＳＣＳＩ名及びそのＬＵ２０２のＬＵＮは、それぞれ、ターゲット名３０１及びＬＵＮ３０２としてターゲットテーブル１０９に登録される。さらに、システム管理者は、各ＬＵ２０２にアクセスすることができるイニシエータ２０３のｉＳＣＳＩ名を、イニシエータ名３０３としてターゲットテーブル１０９に登録する。さらに、各イニシエータ２０３を認証する必要がある場合は、各イニシエータ２０３について、任意の認証名３０４及びパスワード３０５をターゲットテーブル１０９に登録する。
【００８７】
次に、本実施の形態の代表ＭＰ１０２Ａによって実行される処理について、図６及び図７を参照して説明する。
【００８８】
図６は、本発明の第１の実施の形態の代表ＭＰ１０２Ａによって実行されるコネクション調査処理のフローチャートである。
【００８９】
コネクション調査処理は、コネクションテーブル１１０を最新の内容に更新する処理である。
【００９０】
コネクション調査処理が開始されると、代表ＭＰ１０２Ａは、各ＭＰ１０２に、現在のコネクション数及びＩＰアドレスを問い合わせる（６０１）。具体的には、代表ＭＰ１０２Ａがバス１０５を介して現在のコネクション数及びＩＰアドレスの取得要求を発行し、この要求を受けた各ＭＰ１０２が、ＭＰ情報テーブル１０４を参照して、コネクション数５０１及びＩＰアドレス５０２を応答する。その結果、代表ＭＰ１０２Ａは、他のＭＰ１０２のコネクション数５０１及びＩＰアドレス５０２を取得する。さらに、代表ＭＰ１０２Ａは、ＭＰ情報テーブル１０４Ａを参照して、コネクション数５０１及びＩＰアドレス５０２を取得する。
【００９１】
次に、代表ＭＰ１０２Ａは、ステップ６０１で取得した各ＭＰ１０２のコネクション数５０１及びＩＰアドレス５０２を、それぞれ、コネクションテーブル１１０のコネクション数４０３及びＩＰアドレス４０２に格納する（６０２）。
【００９２】
コネクション調査処理は、定期的に（例えば、１０分ごとに）実行されてもよいし、代表ＭＰがディスカバリ要求を受けたときに、割り当てポート決定処理の実行に先立って実行されてもよい。
【００９３】
図７は、本発明の第１の実施の形態の代表ＭＰ１０２Ａによって実行される割り当てポート決定処理のフローチャートである。
【００９４】
割り当てポート決定処理は、クライアントＰＣ１２０から代表ＭＰ１０２Ａにディスカバリ要求があったときに、当該要求の対象のＬＵ２０２へのアクセスを、アクセス負荷が分散されるようにポート１０１に割り当てる処理である。
【００９５】
ディスカバリ要求を受けて割り当てポート決定処理が開始されると、代表ＭＰ１０２Ａは、コネクションテーブル１１０を参照して、最もコネクション数４０３が少ないＭＰ１０２を特定し、そのＭＰ１０２にアクセスするためのＩＰアドレス４０２を取得する（７０１）。
【００９６】
次に、代表ＭＰ１０２Ａは、ターゲットテーブル１０９を参照し、クライアントＰＣ１２０から発行されたディスカバリ要求の対象となるターゲット２０１及びＬＵ２０２に関する情報を取得する（７０２）。具体的には、代表ＭＰ１０２Ａは、ターゲットテーブル１０９を参照して、ディスカバリ要求の対象のターゲット２０１及びＬＵ２０２に対応するイニシエータ名３０３（すなわち、当該ＬＵ２０２にアクセスすることができるイニシエータ２０３のイニシエータ名３０３）、認証名３０４及びパスワード３０５を取得する。
【００９７】
次に、代表ＭＰ１０２Ａは、ディスカバリ要求を発行したイニシエータ２０３（すなわち、ディスカバリ要求を発行したクライアントＰＣ１２０のＨＢＡ１２４）のｉＳＣＳＩ名と、当該クライアントＰＣ１２０がアクセスする対象のターゲット２０１及びＬＵ２０２に関する情報とを、ステップ７０１において特定されたＭＰ１０２に通知する（７０３）。具体的には、代表ＭＰ１０２Ａは、ディスカバリ要求の対象のターゲット２０１のターゲット名３０１、ディスカバリ要求の対象のＬＵ２０２のＬＵＮ３０２、及び、ステップ７０２において取得した情報を通知する。
【００９８】
この通知を受けたＭＰ１０２は、この通知の内容をＭＰ情報テーブル１０４に格納する。
【００９９】
次に、代表ＭＰ１０２Ａは、ステップ７０１で取得した最もコネクション数４０３が少ないＭＰ１０２にアクセスするためのＩＰアドレス及びＴＣＰポート番号を、ディスカバリ要求を発行したクライアントＰＣ１２０に通知する（７０４）。
【０１００】
以上で、割り当てポート決定処理を終了する。
【０１０１】
ステップ７０４の通知を受けたクライアントＰＣ１２０は、その通知に含まれるＩＰアドレスにログインし、ディスカバリ要求の対象のＬＵ２０２をデバイスとして認識する。その結果、当該クライアントＰＣ１２０は、そのＬＵ２０２にアクセスすることができる。
【０１０２】
ここで、クライアントＰＣ１２０からターゲット２のＬＵ１を対象としたディスカバリ要求が発行された場合を例として、上記の割り当てポート決定処理を具体的に説明する。なお、この説明において、割り当てポート決定処理が開始された時点のＭＰ情報テーブル１０４Ａ（図５参照）の３行目は空欄である。
【０１０３】
代表ＭＰ１０２Ａは、コネクションテーブル１１０を参照し、コネクション数４０３が最も少ない「１３」であるＭＰ１を特定する。そして、ＭＰ１にアクセスするためのＩＰアドレス「１９２．１６８．１．１」を取得する（７０１）。
【０１０４】
次に、代表ＭＰ１０２Ａは、ターゲットテーブル１０９を参照し、ディスカバリ要求の対象であるターゲット２のＬＵ１に対応するイニシエータ名３０３の値「イニシエータ３」、イニシエータ３に対応する認証名３０４の値「Ｎａｍｅ３」及びＮａｍｅ３に対応するパスワード３０５の値を取得する（７０２）。
【０１０５】
次に、代表ＭＰ１０２Ａは、ターゲット名３０１「ターゲット１」、ＬＵＮ３０２「１」、イニシエータ名３０３「イニシエータ３」、認証名３０４「Ｎａｍｅ３」及びＮａｍｅ３に対応するパスワード３０５の値を、ＭＰ１に通知する（７０３）。
【０１０６】
ただし、この例において、ＭＰ１は代表ＭＰ１０２Ａであるため、実際には通知が省略され、これらの値がＭＰ情報テーブル１０４Ａの３行目に格納される（図５参照）。
【０１０７】
次に、代表ＭＰ１０２Ａは、クライアントＰＣ１２０に、ＭＰ１にアクセスするためのＩＰアドレス「１９２．１６８．１．１」及びＴＣＰポート番号を通知する（７０４）。
【０１０８】
この通知を受けたクライアントＰＣ１２０は、ＩＰアドレス「１９２．１６８．１．１」にログインし、ターゲット１のＬＵ１をデバイスとして認識する。その結果、当該クライアントＰＣは、ターゲット１のＬＵ１にアクセスすることができる。
【０１０９】
以上の本発明の第１の実施の形態では、メモリ１０８に、コネクション数を格納するコネクションテーブル１１０が格納されるが、トラフィック量を格納するトラフィックテーブルがコネクションテーブル１１０の代わりに格納されてもよい。
【０１１０】
図８は、本発明の第１の実施の形態のトラフィックテーブルの説明図である。
【０１１１】
トラフィックテーブル８００は、ストレージシステム１００内の各ＭＰ１０２が制御するポート１０１のトラフィック量が格納されるテーブルである。トラフィックテーブル８００は、システム管理者によって初期設定され、コネクション調査処理（図６参照）の際に代表ＭＰ１０２Ａによって更新され、割り当てポート決定処理（図７参照）の際に代表ＭＰ１０２Ａによって参照される。
【０１１２】
トラフィック量とは、例えば、各ポート１０１の単位時間当たりの転送データ量である。
【０１１３】
図８において、ＭＰ番号８０１及びＩＰアドレス８０２は、それぞれ、図４のＭＰ番号８０１及びＩＰアドレス８０２と同様であるため、説明を省略する。
【０１１４】
トラフィック量８０３は、各ＭＰ１０２が制御するポート１０１のトラフィック量である。図８の例では、トラフィック量８０３は、単位時間当たりの転送データ量（メガバイト）である。図８において、ＭＰ１、ＭＰ２、ＭＰ３及びＭＰ４のトラフィック量８０３は、それぞれ、１０００、１５００、１８００及び８００（メガバイト）である。
【０１１５】
メモリ１０８にトラフィックテーブル８００が格納される場合、コネクション調査処理（図６参照）のステップ６０１において、代表ＭＰ１０２Ａは、各ＭＰ１０２に、現在のトラフィック量及びＩＰアドレスを問い合わせる。
【０１１６】
また、ステップ６０２において、代表ＭＰ１０２Ａは、ステップ６０１で取得した各ＭＰ１０２のトラフィック量及びＩＰアドレス５０２を、それぞれ、トラフィックテーブル８００のトラフィック量８０３及びＩＰアドレス８０２に格納する。
【０１１７】
さらに、割り当てポート決定処理（図７参照）のステップ７０１において、代表ＭＰ１０２Ａは、トラフィックテーブル８００を参照して、最もトラフィック量８０３が少ないＭＰ１０２を特定し、そのＭＰ１０２にアクセスするためのＩＰアドレス８０２を取得する。
【０１１８】
あるいは、本実施の形態のメモリ１０８に、ＭＰごとに、コネクション数及びトラフィック量の両方が格納されるテーブル（図示省略）が格納されてもよい。この場合、割り当てポート決定処理において、コネクション数及びトラフィック量が参照される。
【０１１９】
以上の本発明の第１の実施の形態によれば、クライアントＰＣからストレージシステムにディスカバリ要求があったときに、ストレージシステムの代表ＭＰが、コネクション数又はトラフィック量が少ないＭＰに当該クライアントＰＣからのアクセスを割り当てる。
【０１２０】
このため、アクセス負荷が概ね均等に各ＭＰに分散され、ＭＰの処理能力及びネットワークの帯域幅が有効に利用される。
【０１２１】
また、これらの処理は代表ＭＰによって自動的に実行されるため、システム管理者の作業負担が低減される。
【０１２２】
さらに、クライアントＰＣからのアクセスが、各ＭＰに概ね均等に分散されるため、クライアントＰＣのディスクアクセス性能の低下が防止される。
【０１２３】
次に、本発明の第２の実施の形態について、図９から図１３を参照して説明する。なお、本発明の第２の実施の形態のうち、本発明の第１の実施の形態と共通する部分については、詳細な説明を省略する。
【０１２４】
図９は、本発明の第２の実施の形態のコンピュータシステムの構成を示すブロック図である。
【０１２５】
第２の実施の形態のコンピュータシステム（図９）は、第１の実施の形態のコンピュータシステム（図１）と異なり、ＩＰ−ＳＡＮ１３０に管理サーバ９００が接続される。さらに、ＩＰ−ＳＡＮには一つ以上の任意の数のストレージシステム９２０を接続することができる。これらの点を除けば、第２の実施の形態のコンピュータシステムの構成は、第１の実施の形態と同じである。
【０１２６】
図９には、例として、二つのストレージシステム９２０（９２０Ａ及び９２０Ｂ）を示す。
【０１２７】
ストレージシステム９２０Ａの構成は、複数の通常のＭＰ１０２のみを備え、代表ＭＰを備えないことを除けば、第１の実施の形態のストレージシステム１００と同じである。
【０１２８】
ストレージシステム９２０Ｂの構成は、ストレージシステム９２０Ａの構成と同様であるため、図示を省略する。ただし、ストレージシステム９２０Ｂには、一つ以上のＬＵ２０２を含むターゲット４及びターゲット５が設定されている（図１０参照）。
【０１２９】
管理サーバ９００は、ＩＰ−ＳＡＮ１３０に接続されたストレージシステム９２０を管理する計算機である。管理サーバ９００は、例えば、ｉＳＮＳ（internet Storage Name Service）サーバである。
【０１３０】
管理サーバ９００は、ＣＰＵ９０１、メモリ９０２、ネットワークインターフェースカード（ＮＩＣ）９０３及びこれらを相互に接続するバス９０４によって構成される。
【０１３１】
ＣＰＵ９０１は、メモリ９０２に格納されたプログラムを実行する。
【０１３２】
メモリ９０２には、ＣＰＵ９０１によって実行されるプログラム及びその実行の際に使用されるデータ等が格納される。本実施の形態では、メモリ９０２に、少なくともストレージ管理プログラム９０５、全体ターゲットテーブル９０６及び全体コネクションテーブル９０７が格納される。ストレージ管理プログラム９０５は、少なくとも、割り当てポート決定処理（図１２参照）を実行する。これらのプログラム及びテーブルについては、後で詳細に説明する。
【０１３３】
ＮＩＣ９０３は、ＩＰネットワークに接続する機能を備えるインターフェースである。ＮＩＣ９０３は、ポート９０８及びＭＰ９０９によって構成される。
【０１３４】
ポート９０８は、ＩＰ−ＳＡＮ１３０に接続され、クライアントＰＣ１２０及びストレージ９２０と通信する物理的なポートである。
【０１３５】
ＭＰ９０９は、ＩＰ−ＳＡＮ１３０との間のパケット送受信のプロトコル処理等を実行するプロセッサである。
【０１３６】
次に、管理サーバ９００の全体ターゲットテーブル９０６及び全体コネクションテーブル９０７について説明する。これらのテーブルには、各ストレージシステム９２０のターゲットテーブル１０９及びコネクションテーブル１１０から取得した情報が格納される。
【０１３７】
システム管理者は、各ストレージシステム９２０のターゲットテーブル１０９及びコネクションテーブル１１０の内容を初期設定する。各ストレージシステム９２０は、例えば、ｉＳＮＳプロトコルによって、ターゲットテーブル１０９及びコネクションテーブル１１０に設定された内容を管理サーバ９００に通知する。管理サーバ９００は、通知された内容を全体ターゲットテーブル９０６及び全体コネクションテーブル９０７に格納する。
【０１３８】
図１０は、本発明の第２の実施の形態の全体ターゲットテーブル９０６の説明図である。
【０１３９】
全体ターゲットテーブル９０６には、各ストレージシステム９２０のターゲットテーブル１０９から取得した情報が格納される。図１０において、ターゲット名３０１、ＬＵＮ３０２、イニシエータ名３０３、認証名３０４及びパスワード３０５は、ターゲットテーブル１０９（図３参照）と同様であるため、説明を省略する。
【０１４０】
図１０の例において、ターゲット１〜ターゲット３に関する情報は、ストレージシステム９２０Ａから取得した情報である。すなわち、ターゲット１〜ターゲット３に属するＬＵ２０２は、ストレージシステム９２０Ａ内に存在する。一方、ターゲット４及びターゲット５に関する情報は、ストレージシステム９２０Ｂから取得した情報である。すなわち、ターゲット４及びターゲット５に属するＬＵ２０２は、ストレージシステム９２０Ｂ内に存在する。
【０１４１】
図１１は、本発明の第２の実施の形態の全体コネクションテーブル９０７の説明図である。
【０１４２】
全体コネクションテーブル９０７には、各ストレージシステム９２０のコネクションテーブル１１０から取得した情報が格納される。図１１において、ＭＰ番号１１０２、ＩＰアドレス１１０３及びコネクション数１１０４は、それぞれ、コネクションテーブル１１０のＭＰ番号４０１、ＩＰアドレス４０２及びコネクション数４０３と同様であるため、説明を省略する。
【０１４３】
ストレージ名１１０１は、ＭＰ番号１１０２等の情報の取得元のストレージシステム１１０１を識別する名前である。例えば、ストレージシステム９２０Ａ及び９２０Ｂのストレージ名１１０１が、それぞれ、「ストレージ（Storage）１」及び「ストレージ２」である。この場合、図１１の１行目と２行目は、ストレージシステム９２０Ａのコネクションテーブル１１０から取得した情報であり、３行目と４行目は、ストレージシステム９２０Ｂのコネクションテーブル１１０から取得した情報である。
【０１４４】
次に、本実施の形態の管理サーバ９００のストレージ管理プログラム９０５によって実行される割り当てポート決定処理について、図１３を参照して説明する。
【０１４５】
なお、本実施の形態においても、各ストレージシステム９２０のいずれかのＭＰ１０２がコネクション調査処理（図６参照）を実行して、コネクションテーブル１１０を更新する。さらに、各ストレージシステム９２０は、更新されたコネクションテーブル１１０の内容を管理サーバ９００に通知する。管理サーバ９００は、通知された内容を参照して、全体コネクションテーブル９０７を更新する。上記のコネクションテーブル１１０及び全体コネクションテーブル９０７の更新は、定期的に（例えば、１０分間隔で）実行されてもよいし、コネクション調査処理（図１２参照）の直前に実行されてもよい。
【０１４６】
図１２は、本発明の第２の実施の形態のストレージ管理プログラム９０５によって実行される割り当てポート決定処理のフローチャートである。
【０１４７】
本実施の形態の割り当てポート決定処理は、クライアントＰＣ１２０から管理サーバ９００にディスカバリ要求があったときに、当該要求の対象のＬＵ２０２へのアクセスを、アクセス負荷が分散されるようにポート１０１に割り当てる処理である。
【０１４８】
ディスカバリ要求を受けて割り当てポート決定処理が開始されると、ストレージ管理プログラム９０５は、全体コネクションテーブル９０７を参照して、当該ディスカバリ要求の対象のＬＵ２０２を含むストレージシステム９２０の中で、最もコネクション数１１０４が少ないＭＰ１０２を特定し、そのＭＰ１０２にアクセスするためのＩＰアドレス１１０３を取得する（１２０１）。
【０１４９】
例えば、図１１において、ディスカバリ要求の対象のＬＵ２０２が「ストレージ１」の中にある場合、ストレージ名１１０１「ストレージ１」に対応するＭＰ１及びＭＰ２のコネクション数１１０４を比較する。その結果、コネクション数１１０４が少ないＭＰ１が特定され、そのＩＰアドレス「１９２．２６８．１．１」が取得される。
【０１５０】
次に、ストレージ管理プログラム９０５は、全体ターゲットテーブル９０６を参照し、クライアントＰＣ１２０から発行されたディスカバリ要求の対象となるターゲット２０１及びＬＵ２０２に関する情報を取得する（１２０２）。具体的には、ストレージ管理プログラム９０５は、全体ターゲットテーブル９０６を参照して、ディスカバリ要求の対象のターゲット２０１及びＬＵ２０２に対応するイニシエータ名３０３（すなわち、当該ＬＵ２０２にアクセスすることができるイニシエータ２０３のイニシエータ名３０３）、認証名３０４及びパスワード３０５を取得する。
【０１５１】
次に、ストレージ管理プログラム９０５は、ディスカバリ要求を発行したイニシエータ２０３（すなわち、ディスカバリ要求を発行したクライアントＰＣ１２０のＨＢＡ１２４）のｉＳＣＳＩ名と、当該クライアントＰＣ１２０がアクセスする対象のターゲット２０１及びＬＵ２０２に関する情報とを、ステップ１２０１において特定されたＭＰ１０２に通知する（１２０３）。この通知には、ディスカバリ要求の対象のターゲット２０１のターゲット名３０１、ディスカバリ要求の対象のＬＵ２０２のＬＵＮ３０２、及び、ステップ１２０２において取得した情報が含まれる。この通知は、管理サーバ９００から、ＩＰ−ＳＡＮ１３０を介して、当該特定されたＭＰ１０２が属するストレージシステム９２０に送られる。
【０１５２】
この通知を受けたＭＰ１０２は、この通知の内容をＭＰ情報テーブル１０４に格納する。
【０１５３】
次に、ストレージ管理プログラム９０５は、ステップ１２０１で取得した最もコネクション数１１０４が少ないＭＰ１０２にアクセスするためのＩＰアドレス及びＴＣＰポート番号を、ディスカバリ要求を発行したクライアントＰＣ１２０に通知する（１２０４）。
【０１５４】
以上で、本実施の形態の割り当てポート決定処理を終了する。
【０１５５】
ステップ１２０４の通知を受けたクライアントＰＣ１２０は、その通知に含まれるＩＰアドレスにログインし、ディスカバリ要求の対象のＬＵ２０２をデバイスとして認識する。その結果、当該クライアントＰＣ１２０は、そのＬＵ２０２にアクセスすることができる。
【０１５６】
以上の本発明の第２の実施の形態のメモリ１０８はコネクションテーブル１１０を保持するが、本発明の第１の実施の形態と同様に、トラフィックテーブル（図８参照）が保持されてもよい。この場合、管理サーバ９００のメモリ９０２には、各ストレージシステム９２０から取得したトラフィック量が格納される全体トラフィックテーブル（図示省略）が保持される。そして、図１２のステップ１２０１において、最もトラフィック量が少ないＭＰ１０２が特定され、そのＩＰアドレスが取得される。
【０１５７】
以上の本発明の第２の実施の形態のコンピュータシステムは、独立した管理サーバ９００を備えるが、ストレージシステム９２０のうちの一つが、管理サーバ９００と同等の機能を備え、上記のコネクション調査処理及び割り当てポート決定処理を実行してもよい。
【０１５８】
以上の本発明の第２の実施の形態によれば、クライアントＰＣは、管理サーバにディスカバリ要求を発行する。このとき、管理サーバは、ストレージシステムのＭＰのうち、コネクション数又はトラフィック量が少ないものに当該クライアントＰＣからのアクセスを割り当てる。
【０１５９】
その結果、アクセス負荷が略均等に各ＭＰに分散されるため、ＭＰの処理能力及びネットワークの帯域幅が有効に利用される。
【０１６０】
また、これらの処理は管理サーバによって自動的に実行されるため、システム管理者の作業負担が低減される。
【０１６１】
管理サーバは、ＩＰ−ＳＡＮを介して複数のストレージシステムと通信することができるため、複数のストレージシステムを含むコンピュータシステムにも本発明を適用して、アクセス負荷を分散することができる。
【０１６２】
さらに、クライアントＰＣからのアクセスが、各ＭＰに略均等に分散されるため、クライアントＰＣのディスクアクセス性能の低下が防止される。
【図面の簡単な説明】
【０１６３】
【図１】本発明の第１の実施の形態のコンピュータシステムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態のコンピュータシステムの論理的な構成を示すブロック図である。
【図３】本発明の第１の実施の形態のターゲットテーブルの説明図である。
【図４】本発明の第１の実施の形態のコネクションテーブルの説明図である。
【図５】本発明の第１の実施の形態のＭＰ情報テーブルの説明図である。
【図６】本発明の第１の実施の形態の代表ＭＰによって実行されるコネクション調査処理のフローチャートである。
【図７】本発明の第１の実施の形態の代表ＭＰによって実行される割り当てポート決定処理のフローチャートである。
【図８】本発明の第１の実施の形態のトラフィックテーブルの説明図である。
【図９】本発明の第２の実施の形態のコンピュータシステムの構成を示すブロック図である。
【図１０】本発明の第２の実施の形態の全体ターゲットテーブルの説明図である。
【図１１】本発明の第２の実施の形態の全体コネクションテーブルの説明図である。
【図１２】本発明の第２の実施の形態のストレージ管理プログラムによって実行される割り当てポート決定処理のフローチャートである。
【符号の説明】
【０１６４】
１００、９２０  ストレージシステム
１０１、１２５、９０８  ポート
１０２、１２６、９０９  マイクロプロセッサ（ＭＰ）
１０４  ＭＰ情報テーブル
１０５、１２３、９０４  バス
１０６  ディスクアダプタ
１０７  ディスクドライブ
１０８、１２２、９０２  メモリ
１０９  ターゲットテーブル
１１０  コネクションテーブル
１１５  コントローラ
１２０  クライアントＰＣ
１２１、９０１  ＣＰＵ
１２４  ホストバスアダプタ（ＨＢＡ）
１３０  ＩＰ−ＳＡＮ
２０１  ターゲット
２０２  論理ユニット（ＬＵ）
２０３  イニシエータ
８００  トラフィックテーブル
９００  管理サーバ
９０３  ネットワークインターフェースカード（ＮＩＣ）
９０５  ストレージ管理プログラム
９０６  全体ターゲットテーブル
９０７  全体コネクションテーブル
【図１】
2006209294.tif 000003
【図２】
2006209294.tif 000004
【図３】
2006209294.tif 000005
【図４】
2006209294.tif 000006
【図５】
2006209294.tif 000007
【図６】
2006209294.tif 000008
【図７】
2006209294.tif 000009
【図８】
2006209294.tif 000010
【図９】
2006209294.tif 000011
【図１０】
2006209294.tif 000012
【図１１】
2006209294.tif 000013
【図１２】
2006209294.tif 000014