(57)【要約】【課題】記憶装置に対するアクセス性能の低下を抑制する。【解決手段】中継装置４は、記憶装置３ａ〜３ｃのそれぞれを、アクセス制御装置２ａ，２ｂのいずれかに接続する。そして、記憶装置３ａ〜３ｃのそれぞれに対するアクセスは、アクセス制御装置２ａ，２ｂのいずれかによって制御される。接続制御装置５は、各アクセス制御装置２ａ，２ｂの負荷状況に応じて、各アクセス制御装置２ａ，２ｂに負荷が分散するように中継装置４における接続切り替え動作を制御する。例えば、接続制御装置５は、アクセス制御装置２ａの負荷の大きさを示すパラメータが所定のしきい値を超えたとき、アクセス制御装置２ａに接続されている記憶装置３ｂを、アクセス制御装置２ｂに繋ぎ変えるように制御する。【選択図】図１
2014026529.tif 000002
【特許請求の範囲】
【請求項１】
複数のアクセス制御装置と、
前記複数のアクセス制御装置のいずれかによってそれぞれに対するアクセスが制御される複数の記憶装置と、
前記複数の記憶装置のそれぞれを、前記複数のアクセス制御装置のうちのいずれかに接続する中継装置と、
前記各アクセス制御装置の負荷状況に応じて、前記各アクセス制御装置に負荷が分散するように前記中継装置における接続切り替え動作を制御する接続制御装置と、
を有することを特徴とするストレージシステム。
【請求項２】
前記接続制御装置は、負荷の大きさを示す負荷パラメータが所定のしきい値を超えた前記アクセス制御装置に接続されている前記記憶装置を、前記負荷パラメータが前記しきい値以下である他の前記アクセス制御装置に接続し直すように前記中継装置に指示することを特徴とする請求項１記載のストレージシステム。
【請求項３】
前記接続制御装置は、前記負荷パラメータが前記しきい値を超えた前記アクセス制御装置に接続されている前記記憶装置のうち、単位時間の転送データ量が最大の前記記憶装置を、前記負荷パラメータが前記しきい値以下である他の前記アクセス制御装置に接続し直すように前記中継装置に指示することを特徴とする請求項２記載のストレージシステム。
【請求項４】
前記接続制御装置は、前記負荷パラメータが前記しきい値を超えた前記アクセス制御装置に接続されている第１の記憶装置と、前記負荷パラメータが前記しきい値以下である他の前記アクセス制御装置に接続されている第２の記憶装置との間で、接続される前記アクセス制御装置が入れ替わるように前記中継装置に指示することを特徴とする請求項２記載のストレージシステム。
【請求項５】
前記接続制御装置は、前記記憶装置ごとにアクセス経路として割り当てられたいずれか１つの前記アクセス制御装置を介して、前記複数の記憶装置のそれぞれにアクセスするフロントエンド処理部を有し、
前記接続制御装置は、前記複数の記憶装置のうちの一の記憶装置に接続する前記アクセス制御装置の変更を前記中継装置に指示するとき、前記一の記憶装置へのアクセス経路として割り当てる前記アクセス制御装置の変更を前記フロントエンド処理部に指示する、
ことを特徴とする請求項１〜４のいずれか１項に記載のストレージシステム。
【請求項６】
前記フロントエンド処理部は、アクセス先のオブジェクトの識別情報を受け付けると、オブジェクトの識別情報に基づく計算値と、前記記憶装置を識別する情報と、アクセス経路とする前記アクセス制御装置とが対応付けられた対応表に基づいて、前記アクセス先のオブジェクトに対応する前記アクセス制御装置を介して、前記アクセス先のオブジェクトに対応する前記記憶装置にアクセスし、
前記接続制御装置は、前記一の記憶装置に接続する前記アクセス制御装置の変更を前記中継装置に指示するとき、前記対応表に登録された情報のうち、前記一の記憶装置に対応付けられた前記アクセス制御装置の識別情報を変更する、
ことを特徴とする請求項５記載のストレージシステム。
【請求項７】
複数のアクセス制御装置と、複数の記憶装置とを備えたストレージシステムの制御方法であって、
前記ストレージシステムが備える中継装置が、前記複数の記憶装置のそれぞれを、前記複数のアクセス制御装置のうちのいずれかに接続し、
前記複数のアクセス制御装置のそれぞれが、接続された前記記憶装置に対するアクセスを制御し、
前記ストレージシステムが備える接続制御装置が、前記各アクセス制御装置の負荷状況に応じて、前記各アクセス制御装置に負荷が分散するように前記中継装置における接続切り替え動作を制御する、
ことを特徴とするストレージシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムおよびその制御方法に関する。
【背景技術】
【０００２】
分散型のストレージシステムは、複数の記憶装置と、これら複数の記憶装置へのデータの読み書きを制御するサーバとをそれぞれ含む複数のストレージノードをクラスタ化することによって実現される。分散型のストレージシステムは、格納するデータの増加に応じたシステムの拡張性が高いという特徴を有する。このような分散型のストレージシステムの一種として、データをオブジェクトとして取り扱うオブジェクトストレージシステムがある。
【０００３】
また、ストレージシステムの性能を向上するための各種の技術が提案されている。例えば、ストレージサブシステム間で負荷が均衡するように、ストレージサブシステム内の論理ボリュームを他のストレージサブシステムに移動するようにしたストレージシステムがある。また、ＦＣ（Fibre Channel）スイッチにおいて、それぞれ個別のサーバに接続する複数のポートとＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置に接続する複数のポートとの接続を切り替えて、アクセス経路の負荷がバランスするようにしたストレージシステムがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１３２１５号公報
【特許文献２】特開２００７−３０４８９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
分散型のストレージシステムに格納されるデータには、大別して、頻繁にアクセスされる「ホット」なデータと、バックアップ用のデータなどの、一度格納された後にはほとんどアクセスされない「コールド」なデータとがある。ところが、格納するデータのうち、どのデータがホットなデータであり、どのデータがコールドなデータであるのかは、データの格納時点では明らかでないことが多い。このため、同一のストレージノード内の記憶装置にホットなデータが集中して格納されると、そのストレージノード内のサーバの負荷が過大になり、サーバに接続された各記憶装置へのアクセス性能が大きく低下するという問題がある。
【０００６】
１つの側面では、本発明は、記憶装置に対するアクセス性能の低下を抑制することが可能なストレージシステムおよびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの案では、ストレージシステムが提供される。このストレージシステムは、複数のアクセス制御装置と、複数のアクセス制御装置のいずれかによってそれぞれに対するアクセスが制御される複数の記憶装置と、複数の記憶装置のそれぞれを、複数のアクセス制御装置のうちのいずれかに接続する中継装置と、各アクセス制御装置の負荷状況に応じて、各アクセス制御装置に負荷が分散するように中継装置における接続切り替え動作を制御する接続制御装置と、を有する。
【０００８】
また、１つの案では、上記のストレージシステムと同様の処理が実行される、ストレージシステムの制御方法が提供される。
【発明の効果】
【０００９】
１態様によれば、ストレージシステムおよびその制御方法において、記憶装置に対するアクセス性能の低下を抑制できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係るストレージシステムの構成例および動作例を示す図である。
【図２】オブジェクトストレージシステムの参考例を示す図である。
【図３】第２の実施の形態に係るストレージシステムの全体構成例を示す図である。
【図４】フロントエンドサーバのハードウェア構成例を示す図である。
【図５】ＳＡＳエクスパンダのハードウェア構成例を示す図である。
【図６】ＳＡＳエクスパンダにおけるゾーニング制御について説明するための図である。
【図７】フロントエンドサーバが備える処理機能の例を示すブロック図である。
【図８】オブジェクトテーブルに登録される情報の例を示す図である。
【図９】ディスク負荷テーブルに登録される情報の例を示す図である。
【図１０】サーバ負荷テーブルに登録される情報の例を示す図である。
【図１１】ＰＨＹテーブルに登録される情報の例を示す図である。
【図１２】サーバアドレステーブルに登録される情報の例を示す図である。
【図１３】ＳＡＳエクスパンダに対する切り替え制御処理の例を示すフローチャートである。
【図１４】切り替え処理例（１）を示すフローチャートである。
【図１５】接続切り替えの動作例を示す図である。
【図１６】切り替え処理例（２）を示すフローチャートである。
【図１７】接続切り替えの動作例を示す図である。
【図１８】第２の実施の形態に係るストレージシステムの全体構成例を示す図である。
【図１９】第２の実施の形態において、フロントエンドサーバおよびコントロールサーバがそれぞれ備える処理機能の例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係るストレージシステムの構成例および動作例を示す図である。図１に示すストレージシステム１は、複数のアクセス制御装置２ａ，２ｂ、複数の記憶装置３ａ〜３ｃ、中継装置４および接続制御装置５を備える。
【００１２】
アクセス制御装置２ａ，２ｂは、それぞれ、１つ以上の記憶装置に対するアクセスを制御する。例えば、アクセス制御装置２ａ，２ｂはそれぞれ、図示しないフロントエンド装置から指示されるアクセス先の記憶装置に対してアクセスする。このようなフロントエンド装置、アクセス制御装置２ａ，２ｂおよび記憶装置３ａ〜３ｂの動作により、分散型のストレージシステムが実現される。なお、図１の例では２台のアクセス制御装置２ａ，２ｂが設けられているが、アクセス制御装置の台数は２台以上であれば任意に変更可能である。
【００１３】
記憶装置３ａは、アクセス制御装置２ａ，２ｂのいずれかによってアクセスが制御される。記憶装置３ｂも同様に、アクセス制御装置２ａ，２ｂのいずれかによってアクセスが制御され、記憶装置３ｃも同様に、アクセス制御装置２ａ，２ｂのいずれかによってアクセスが制御される。なお、図１の例では３台の記憶装置３ａ〜３ｃが設けられているが、記憶装置の台数は２台以上であれば任意に変更可能である。
【００１４】
中継装置４は、記憶装置３ａ〜３ｃのそれぞれを、アクセス制御装置２ａ，２ｂのうちのいずれかに接続する。中継装置４は、１台のアクセス制御装置に複数の記憶装置を接続することもできる。
【００１５】
また、接続制御装置５は、アクセス制御装置２ａ，２ｂのそれぞれの負荷状態に応じて、アクセス制御装置２ａ，２ｂのそれぞれに負荷が分散するように、中継装置４における接続切り替え動作を制御する。これにより、記憶装置３ａ〜３ｃに対するアクセス性能の低下を抑制することができる。
【００１６】
なお、接続制御装置５は、他の制御装置を介して、中継装置４に対して接続切り替えを指示してもよい。また、接続制御装置５は、前述のフロントエンド装置と一体の装置であってもよい。
【００１７】
接続制御装置５がアクセス制御装置２ａ，２ｂの負荷状態を認識する方法としては、種々の方法を適用することができる。例えば、接続制御装置５は、アクセス制御装置２ａ，２ｂのそれぞれから、あるいは、前述のフロントエンド装置から、アクセス制御装置２ａ，２ｂのそれぞれにおける現在の負荷状態を示す情報を取得する。
【００１８】
また、接続制御装置５からの指示に基づく中継装置４での接続切り替えの方法としては、例えば、あるアクセス制御装置に接続されている記憶装置を、別のアクセス制御装置に接続させる方法がある。あるいは、あるアクセス制御装置に接続されている記憶装置と、別のアクセス制御装置に接続されている記憶装置とを、互いに入れ替える方法もある。
【００１９】
次に、中継装置４における接続切り替え動作の例について説明する。まず、図１の状態１に示すように、中継装置４は、アクセス制御装置２ａと記憶装置３ａ，３ｂとを接続し、アクセス制御装置２ｂと記憶装置３ｃとを接続しているものとする。
【００２０】
ここで、接続制御装置５が、アクセス制御装置２ａにおける負荷状態を示す負荷パラメータが所定のしきい値を超えたと判定したとする。アクセス制御装置２ａについての負荷パラメータがしきい値を超える状態としては、例えば、アクセス制御装置２ａに接続されている記憶装置（例えば記憶装置３ａ）に対してアクセスが集中しているケースが考えられる。このような状態では、アクセス制御装置２ａの通信量が過多になって、アクセス制御装置２ａに接続されている記憶装置３ａ，３ｂに対するアクセス性能が大きく低下する可能性がある。
【００２１】
接続制御装置５は、アクセス制御装置２ａについての負荷パラメータがしきい値を超えたと判定すると、アクセス制御装置２ａに接続されている記憶装置３ａ，３ｂの少なくとも一方を、他のアクセス制御装置２ｂに接続させるように中継装置４に指示する。図１における状態２では、例として、接続制御装置５は、記憶装置３ｂの接続先を、アクセス制御装置２ａからアクセス制御装置２ｂに切り替えるように、中継装置４に指示したものとする。
【００２２】
このような接続切り替え動作により、アクセス制御装置２ａの通信量が抑制されるとともに、アクセス制御装置２ｂの通信量が増加して、アクセス制御装置２ａ，２ｂの間の負荷の片寄りが改善される。そして、アクセス制御装置２ａにおける通信量が過多になることによる記憶装置３ａ，３ｂへのアクセス性能の低下が抑制され、記憶装置３ａ〜３ｃの全体について、高いアクセス性能を維持することができるようになる。
【００２３】
〔第２の実施の形態〕
次に、図１に示したストレージシステム１を、オブジェクトストレージシステムに適用した場合の例について説明する。ここではまず、図２にオブジェクトストレージシステムの参考例を示して、この図２を用いてオブジェクトストレージシステムにおける問題点を説明し、その後に第２の実施の形態について説明する。
【００２４】
図２は、オブジェクトストレージシステムの参考例を示す図である。図２において、オブジェクト格納サーバ１１０と、そのオブジェクト格納サーバ１１０に接続された複数の記憶装置１１１とが、ストレージノードを構成する。ストレージシステム１００においては、このような複数のストレージノードが、フロントエンドサーバ１２０に接続されている。また、フロントエンドサーバ１２０には、複数のユーザ端末１３０が接続されている。
【００２５】
フロントエンドサーバ１２０は、ユーザ端末１３０からのクエリを受け付けて、オブジェクトを読み書きするストレージノードを決定する。フロントエンドサーバ１２０は、例えば、ユーザ端末１３０から通知されたオブジェクトのパス情報からハッシュ値を計算する。フロントエンドサーバ１２０は、あらかじめ設定された対応表を参照して、算出したハッシュ値に対応付けられたオブジェクト格納サーバ１１０および記憶装置１１１を決定する。
【００２６】
フロントエンドサーバ１２０は、決定したオブジェクト格納サーバ１１０に対して、オブジェクトのＰＵＴ要求（書き込み要求）またはＧＥＴ要求（読み出し要求）を出力する。フロントエンドサーバ１２０からの要求を受けたオブジェクト格納サーバ１１０は、フロントエンドサーバ１２０から指定された記憶装置１１１に対するオブジェクトの読み書きを行う。
【００２７】
ところで、各ストレージノードに格納されるオブジェクトには、大別して、アクセス頻度の高い「ホット」なオブジェクトと、バックアップ用のオブジェクトなどの、アクセス頻度の低い「コールド」なオブジェクトとがある。一般的に、オブジェクトストレージシステムにおいては、格納されるオブジェクトのほとんどがコールドなオブジェクトであることが知られている。
【００２８】
ここで、フロントエンドサーバ１２０は、格納するデータのうち、どのデータがホットなデータであり、どのデータがコールドなデータであるのかを、データの格納時点で判別することは難しい。このため、複数のストレージノードのうち、あるストレージノードにはホットなオブジェクトが集中して格納され、別のストレージノードにはホットなオブジェクトがほとんど格納されない、というケースがあり得る。
【００２９】
このように、ホットなオブジェクトがあるストレージノードに集中して格納された場合、そのストレージノードにおいては、オブジェクト格納サーバ１１０による記憶装置１１１へのアクセス速度が低下するという問題がある。一方、ホットなオブジェクトがほとんど格納されていないストレージノードにおいては、オブジェクト格納サーバ１１０の資源が有効に活用されていないと言える。
【００３０】
また、ストレージノード間でのアクセスの不均衡を是正する方法としては、ホットなオブジェクトとコールドなオブジェクトとをストレージノード間で入れ替える方法が考えられる。しかし、この方法では、通常の業務におけるフロントエンドサーバ１２０とストレージノードとの間でのデータ転送とは別に、ストレージノード間でのデータ転送が発生することから、ネットワークに余計なトラフィックが発生してしまう。また、フロントエンドサーバ１２０は、ハッシュ値と格納場所とを対応付けた対応表のうち、格納場所を移動したオブジェクトに対応する情報を更新する必要も生じる。
【００３１】
このような問題に対し、以下に示す第２の実施の形態においては、複数のオブジェクト格納サーバと、複数の記憶装置とを、接続関係を変更可能な中継装置を介して接続する。そして、各オブジェクト格納サーバにおける負荷状態に応じて、中継装置における接続状態を変更することで、オブジェクトの格納場所を変更することなく、オブジェクト格納サーバ間でのアクセスの不均衡が是正されるようにする。
【００３２】
図３は、第２の実施の形態に係るストレージシステムの全体構成例を示す図である。図３に示すストレージシステム２００は、ディスクエンクロージャ２１０、複数のオブジェクト格納サーバ２２０、ＳＡＳ（Serial Attached SCSI，SCSI：Small Computer System Interface）エクスパンダ（図３では「ＳＡＳ  ＥＸＰ」と表記）２３０、フロントエンドサーバ３００および複数のユーザ端末１３０を含む。なお、ユーザ端末１３０は、図２に示したユーザ端末１３０と同様の処理を行う装置である。
【００３３】
ディスクエンクロージャ２１０には、オブジェクトの格納対象となる複数の記憶装置が搭載される。本実施の形態では、ディスクエンクロージャ２１０には、複数のＨＤＤ（Hard Disk Drive）２１１が搭載される。なお、ディスクエンクロージャ２１０に搭載される記憶装置としては、ＳＳＤなどの他の種類の不揮発性記憶媒体、あるいは、複数のＨＤＤもしくは複数のＳＳＤを備えるディスクアレイなどを用いることもできる。また、ディスクエンクロージャ２１０には、２台以上の任意の台数の記憶装置を搭載させることができる。
【００３４】
オブジェクト格納サーバ２２０は、図１のアクセス制御装置２ａ，２ｂあるいは図２のオブジェクト格納サーバ１１０に対応する装置である。オブジェクト格納サーバ２２０のそれぞれは、ＳＡＳエクスパンダ２３０を介して、ディスクエンクロージャ２１０と接続する。
【００３５】
ＳＡＳエクスパンダ２３０は、図１の中継装置４に対応する装置である。ＳＡＳエクスパンダ２３０は、フロントエンドサーバ３００からの指示に応じて、ディスクエンクロージャ２１０内のＨＤＤ２１１のそれぞれを、いずれか１つのオブジェクト格納サーバ２２０と接続する。
【００３６】
このようなＳＡＳエクスパンダ２３０の接続動作により、オブジェクト格納サーバ２２０のそれぞれは、フロントエンドサーバ３００からのアクセス要求に応じて、ＳＡＳエクスパンダ２３０を介して接続されたＨＤＤ２１１に対するオブジェクトの読み書きを行う。すなわち、ストレージシステム２００においては、１つのオブジェクト格納サーバ２２０と、このオブジェクト格納サーバ２２０にＳＡＳエクスパンダ２３０を介して接続された任意のＨＤＤ２１１とによって、ストレージノードが構成される。そして、フロントエンドサーバ３００は、ＳＡＳエクスパンダ２３０にオブジェクト格納サーバ２２０とＨＤＤ２１１との接続関係を変更させることにより、各ストレージノードを構成するＨＤＤ２１１を動的に変更することができる。
【００３７】
なお、図３では例として、５台のオブジェクト格納サーバ２２０を示しているが、ストレージシステム２００には２台以上の任意の台数のオブジェクト格納サーバ２２０を設けることができる。
【００３８】
フロントエンドサーバ３００は、図２のフロントエンドサーバ１２０に対応する装置であるとともに、図１の接続制御装置５の機能も備える装置である。フロントエンドサーバ３００は、図２のフロントエンドサーバ１２０と同様に、ユーザ端末１３０からのクエリを受け付けて、オブジェクトを読み書きするために使用するオブジェクト格納サーバ２２０およびＨＤＤ２１１を決定する。フロントエンドサーバ３００は、決定したオブジェクト格納サーバ２２０に対して、オブジェクトのＰＵＴ要求またはＧＥＴ要求を出力して、決定したＨＤＤ２１１に対するオブジェクトの格納またはそのＨＤＤ２１１からのオブジェクトの読み出しを依頼する。
【００３９】
これに加えて、フロントエンドサーバ３００は、ディスクエンクロージャ２１０内のＨＤＤ２１１ごとにアクセスの負荷状態を検出する処理と、オブジェクト格納サーバ２２０ごとの処理負荷状態を検出する処理とを実行する。そして、フロントエンドサーバ３００は、検出した負荷状態に応じて、ＳＡＳエクスパンダ２３０でのオブジェクト格納サーバ２２０とＨＤＤ２１１との接続切り替え動作を制御する。フロントエンドサーバ３００は、ＳＡＳエクスパンダ２３０に、各オブジェクト格納サーバ２２０間で負荷が分散するように各オブジェクト格納サーバ２２０に接続するＨＤＤ２１１を切り替えさせて、ストレージノードの構成を動的に変更する。
【００４０】
図４は、フロントエンドサーバのハードウェア構成例を示す図である。フロントエンドサーバ３００は、例えば、図４に示すようなコンピュータとして実現される。
フロントエンドサーバ３００は、プロセッサ３０１によって装置全体が制御されている。プロセッサ３０１には、バス３０９を介して、ＲＡＭ（Random Access Memory）３０２と複数の周辺機器が接続されている。プロセッサ３０１は、マルチプロセッサであってもよい。プロセッサ３０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ３０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００４１】
ＲＡＭ３０２は、フロントエンドサーバ３００の主記憶装置として使用される。ＲＡＭ３０２には、プロセッサ３０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ３０２には、プロセッサ３０１による処理に必要な各種データが格納される。
【００４２】
バス３０９に接続されている周辺機器としては、ＨＤＤ３０３、グラフィック処理装置３０４、入力インタフェース３０５、光学ドライブ装置３０６、機器接続インタフェース３０７および通信インタフェース３０８がある。
【００４３】
ＨＤＤ３０３は、フロントエンドサーバ３００の補助記憶装置として使用される。ＨＤＤ３０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤなどの他の種類の不揮発性記憶装置を使用することもできる。
【００４４】
グラフィック処理装置３０４には、モニタ３０４ａが接続されている。グラフィック処理装置３０４は、プロセッサ３０１からの命令に従って、画像をモニタ３０４ａの画面に表示させる。モニタ３０４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４５】
入力インタフェース３０５には、例えば、キーボード３０５ａとマウス３０５ｂとが接続されている。入力インタフェース３０５は、キーボード３０５ａやマウス３０５ｂから出力される信号をプロセッサ３０１に送信する。なお、マウス３０５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４６】
光学ドライブ装置３０６は、レーザ光などを利用して、光ディスク３０６ａに記録されたデータの読み取りを行う。光ディスク３０６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク３０６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc−Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４７】
機器接続インタフェース３０７は、フロントエンドサーバ３００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース３０７には、メモリ装置３０７ａやメモリリーダライタ３０７ｂを接続することができる。メモリ装置３０７ａは、機器接続インタフェース３０７との通信機能を搭載した記録媒体である。メモリリーダライタ３０７ｂは、メモリカード３０７ｃへのデータの書き込み、またはメモリカード３０７ｃからのデータの読み出しを行う装置である。メモリカード３０７ｃは、カード型の記録媒体である。
【００４８】
通信インタフェース３０８は、図示しないネットワークなどを介して他の装置との間でデータの送受信を行う。本実施の形態では、通信インタフェース３０８には、オブジェクト格納サーバ２２０、ユーザ端末１３０およびＳＡＳエクスパンダ２３０が接続される。
【００４９】
なお、フロントエンドサーバ３００は、オブジェクト格納サーバ２２０およびユーザ端末１３０と、ＳＡＳエクスパンダ２３０とは、例えば、それぞれ異なる通信規格に従って通信してもよい。この場合、オブジェクト格納サーバ２２０およびユーザ端末１３０と通信するための通信インタフェースと、ＳＡＳエクスパンダ２３０と通信するための通信インタフェースは、それぞれ個別に設けられてもよい。
【００５０】
以上のようなハードウェア構成によって、フロントエンドサーバ３００の処理機能を実現することができる。なお、図３に示した各オブジェクト格納サーバ２２０および各ユーザ端末１３０も、図４に示したハードウェアを有するコンピュータとして実現することができる。また、図１に示したアクセス制御装置２ａ，２ｂおよび接続制御装置５も、図４に示したハードウェアを有するコンピュータとして実現することができる。
【００５１】
図５は、ＳＡＳエクスパンダのハードウェア構成例を示す図である。
ＳＡＳエクスパンダ２３０は、プロセッサ２３１によって装置全体が制御されている。プロセッサ２３１には、バス２３６を介して、ＲＡＭ２３２、不揮発メモリ２３３、通信インタフェース２３４およびスイッチ回路２３５が接続されている。
【００５２】
プロセッサ２３１は、例えば、１つまたは複数のＣＰＵを有する。ＲＡＭ２３２は、ＳＡＳエクスパンダ２３０の主記憶装置として使用される。ＲＡＭ２３２には、プロセッサ２３１に実行させる各種ファームウェアの少なくとも一部が一時的に格納される。また、ＲＡＭ２３２には、プロセッサ２３１による処理に必要な各種データが格納される。
【００５３】
不揮発メモリ２３３は、例えば、フラッシュメモリまたはＨＤＤである。不揮発メモリ２３３は、ＳＡＳエクスパンダ２３０の補助記憶装置として使用される。不揮発メモリ２３３には、プロセッサ２３１が実行する各種ファームウェアや、ファームウェアの実行に必要な各種データが格納される。なお、ファームウェアの実行に必要なデータの例としては、後述するゾーニングテーブルがある。
【００５４】
通信インタフェース２３４は、通信ケーブルを介して外部の機器との間でデータを送受信する。本実施の形態では、通信インタフェース２３４にはフロントエンドサーバ３００が接続される。
【００５５】
スイッチ回路２３５には、複数のＰＨＹ（物理層回路）が接続されている。スイッチ回路２３５は、プロセッサ２３１による制御の下で、ＰＨＹに接続された機器間で送受信されるデータのスイッチングを行う。
【００５６】
ＰＨＹには、いずれかのオブジェクト格納サーバ２２０、または、ディスクエンクロージャ２１０内のいずれかのＨＤＤ２１１が接続される。図５では説明をわかりやすくするために、オブジェクト格納サーバ２２０が接続されるＰＨＹを「ＰＨＹ２３６ａ」と表記し、ディスクエンクロージャ２１０内のＨＤＤ２１１が接続されるＰＨＹを「ＰＨＹ２３６ｂ」と表記する。
【００５７】
プロセッサ２３１は、ＰＨＹ２３６ａのそれぞれに１つまたは複数のＰＨＹ２３６ｂが接続され、なおかつ、ＰＨＹ２３６ｂのそれぞれに対して１つのＰＨＹ２３６ａのみが接続されるように、スイッチ回路２３５におけるスイッチング動作を制御する。
【００５８】
図６は、ＳＡＳエクスパンダにおけるゾーニング制御について説明するための図である。図６に示すＨＢＡ（Host Bus Adaptor）２２１は、各オブジェクト格納サーバ２２０が備える通信インタフェースの一例である。ＨＢＡ２２１は、ＳＡＳ規格に従って、ＳＡＳエクスパンダ２３０を介して接続されたＨＤＤ２１１に対して、リード要求やライト要求を送信する。
【００５９】
ＳＡＳエクスパンダ２３０の各ＰＨＹには、ＩＤが付与されている。図６の例では、ＩＤとして「１」「２」「３」がそれぞれ付与された３つのＰＨＹ２３６ａと、「１１」「１２」「１３」「１４」がそれぞれ付与された４つのＰＨＹ２３６ｂとが示されている。なお、以下の説明では、ＩＤ「ｘ」が付与されたＰＨＹを「ＰＨＹ＃ｘ」と呼ぶ。
【００６０】
図６の例では、ＰＨＹ＃１，＃２，＃３のそれぞれに、オブジェクト格納サーバ２２０のＨＢＡ２２１が接続されている。また、ＰＨＹ＃１１には、デバイス名「ｓｄａ」のＨＤＤ２１１（以下、「ＨＤＤ＃ｓｄａ」と呼ぶ）が接続されている。ＰＨＹ＃１２には、デバイス名「ｓｄｂ」のＨＤＤ２１１（以下、「ＨＤＤ＃ｓｄｂ」と呼ぶ）が接続されている。ＰＨＹ＃１３には、デバイス名「ｓｄｃ」のＨＤＤ２１１（以下、「ＨＤＤ＃ｓｄｃ」と呼ぶ）が接続されている。ＰＨＹ＃１４には、デバイス名「ｓｄｄ」のＨＤＤ２１１（以下、「ＨＤＤ＃ｓｄｄ」と呼ぶ）が接続されている。
【００６１】
ＳＡＳエクスパンダ２３０の不揮発メモリ２３３（図５参照）には、ゾーニングテーブル２３７が格納されている。ゾーニングテーブル２３７は、ＳＡＳエクスパンダ２３０におけるＰＨＹ間の接続状態を決定するための情報であり、フロントエンドサーバ３００からの指示に応じてＳＡＳエクスパンダ２３０のプロセッサ２３１（図５参照）によって設定される。なお、フロントエンドサーバ３００は、例えば、ＳＭＰ（Serial Management Protocol）コマンドを送信することで、ＳＡＳエクスパンダ２３０に対してゾーニングテーブル２３７の更新を指示することができる。
【００６２】
ゾーニングテーブル２３７には、ゾーンＩＤごとに、複数のＰＨＹのＩＤが登録される。各ゾーンＩＤには、オブジェクト格納サーバ２２０に接続するＰＨＹ２３６ａのうちの１つのＩＤと、ＨＤＤ２１１に接続する１つ以上のＰＨＹ２３６ｂのＩＤとが登録される。ＳＡＳエクスパンダ２３０のプロセッサ２３１は、各ゾーンＩＤに登録されたＰＨＹ２３６ａとＰＨＹ２３６ｂとが接続されるように、スイッチ回路２３５（図５参照）を制御する。
【００６３】
例えば、図６に示すゾーンＩＤ「１」には、ＰＨＹのＩＤとして「１」と「１１」が登録されている。この場合、ＳＡＳエクスパンダ２３０のスイッチ回路２３５は、ＰＨＹ＃１とＰＨＹ＃１１とを導通させる。これにより、ＰＨＹ＃１に接続されたオブジェクト格納サーバ２２０は、ＰＨＹ＃１１に接続されたＨＤＤ＃ｓｄａにアクセスすることが可能になる。
【００６４】
また、図６に示すゾーンＩＤ「３」には、ＰＨＹのＩＤとして「３」「１３」「１４」が登録されている。この場合、ＳＡＳエクスパンダ２３０のスイッチ回路２３５は、ＰＨＹ＃３とＰＨＹ＃１３とを導通させるとともに、ＰＨＹ＃３とＰＨＹ＃１４とを導通させる。これにより、ＰＨＹ＃３に接続されたオブジェクト格納サーバ２２０は、ＰＨＹ＃１３に接続されたＨＤＤ＃ｓｄｃと、ＰＨＹ＃１４に接続されたＨＤＤ＃ｓｄｄにアクセスすることが可能になる。
【００６５】
次に、図７は、フロントエンドサーバが備える処理機能の例を示すブロック図である。
フロントエンドサーバ３００は、Ｉ／Ｏ（In/Out）処理部３１１、切り替え判定部３１２および切り替え制御部３１３を備える。これらの各部の処理は、例えば、フロントエンドサーバ３００のプロセッサ３０１が所定のアプリケーションプログラムを実行することで実現される。
【００６６】
また、フロントエンドサーバ３００内の記憶装置には、オブジェクトテーブル３２１、ディスク負荷テーブル３２２、サーバ負荷テーブル３２３、ＰＨＹテーブル３３１およびサーバアドレステーブル３３２が格納される。オブジェクトテーブル３２１、ＰＨＹテーブル３３１およびサーバアドレステーブル３３２は、例えば、フロントエンドサーバ３００のＨＤＤ３０３に格納され、ＲＡＭ３０２に展開されてプロセッサ３０１に参照される。ディスク負荷テーブル３２２およびサーバ負荷テーブル３２３は、例えば、フロントエンドサーバ３００のＲＡＭ３０２に格納される。
【００６７】
Ｉ／Ｏ処理部３１１は、複数のユーザ端末１３０のそれぞれから、オブジェクトの格納または読み出しを要求するためのクエリを統括的に受信して、クエリに応じたオブジェクトのＩ／Ｏ処理を実行する。Ｉ／Ｏ処理部３１１は、受信したクエリに基づき、オブジェクトテーブル３２１を参照して、アクセス先のＨＤＤ２１１と、経由するオブジェクト格納サーバ２２０とを決定する。Ｉ／Ｏ処理部３１１は、決定したオブジェクト格納サーバ２２０に対して、受信したクエリに応じたＰＵＴ要求またはＧＥＴ要求を送信する。
【００６８】
切り替え判定部３１２は、ディスクエンクロージャ２１０内の各ＨＤＤ２１１および各オブジェクト格納サーバ２２０の負荷状態を監視する。切り替え判定部３１２は、ＨＤＤ２１１およびオブジェクト格納サーバ２２０の負荷状態に応じて、ＳＡＳエクスパンダ２３０において接続の切り替えを行うオブジェクト格納サーバ２２０およびＨＤＤ２１１の組み合わせを決定する。
【００６９】
切り替え判定部３１２は、Ｉ／Ｏ処理部３１１がユーザ端末１３０から受信するクエリを監視し、その監視結果から、ＨＤＤ２１１ごとの負荷状態を示す情報をディスク負荷テーブル３２２に登録する。また、切り替え判定部３１２は、各オブジェクト格納サーバ２２０からそれぞれのサーバにおける負荷状態を示す情報を取得して、サーバ負荷テーブル３２３に登録する。
【００７０】
切り替え判定部３１２は、ディスク負荷テーブル３２２およびサーバ負荷テーブル３２３に登録した数値をしきい値と比較することで、負荷が過多になったオブジェクト格納サーバ２２０を判別する。そして、切り替え判定部３１２は、ディスク負荷テーブル３２２およびサーバ負荷テーブル３２３に基づいて、オブジェクト格納サーバ２２０間で負荷が分散するように、接続の切り替えを行うオブジェクト格納サーバ２２０およびＨＤＤ２１１の組み合わせを決定する。
【００７１】
切り替え制御部３１３は、切り替え判定部３１２によって決定されたオブジェクト格納サーバ２２０およびＨＤＤ２１１が接続されるように、ＳＡＳエクスパンダ２３０内のゾーニングテーブル２３７を更新する。切り替え制御部３１３は、ゾーニングテーブル２３７の更新の際に、ＰＨＹテーブル３３１およびサーバアドレステーブル３３２に基づき、接続の切り替え対象に決定されたオブジェクト格納サーバ２２０およびＨＤＤ２１１がそれぞれ接続されている、ＳＡＳエクスパンダ２３０上のＰＨＹのＩＤを判別する。また、切り替え制御部３１３は、ＨＤＤ２１１が接続されたＰＨＹのＩＤを判別する際には、そのＨＤＤ２１１が現在接続されているオブジェクト格納サーバ２２０から、ＨＤＤ２１１のＳＡＳアドレスを取得する。
【００７２】
図８は、オブジェクトテーブルに登録される情報の例を示す図である。
Ｉ／Ｏ処理部３１１がユーザ端末１３０から受信するクエリには、オブジェクトのパスを示すＵＲＬ（Uniform Resource Locator）が含まれ、そのＵＲＬには、例えばユーザのアカウント名やオブジェクト名などの、オブジェクトのメタデータが含まれる。なお、オブジェクトの格納が要求される場合、クエリには、オブジェクトの実データも含まれる。
【００７３】
Ｉ／Ｏ処理部３１１は、ユーザ端末１３０から受信した、オブジェクトのＵＲＬを、例えばＭＤ５（Message Digest Algorithm 5）などの一方向ハッシュ関数を用いて変換し、一定幅のハッシュ値を算出する。一方、図８に示すように、オブジェクトテーブル３２１には、ハッシュ値に対して、オブジェクト格納サーバ２２０のＩＰ（Internet Protocol）アドレスを示す「サーバＩＰアドレス」と、ディスクエンクロージャ２１０内のＨＤＤ２１１を識別するための「デバイス名」とが対応付けて登録されている。
【００７４】
Ｉ／Ｏ処理部３１１は、オブジェクトテーブル３２１から、オブジェクトのＵＲＬを基に算出したハッシュ値に対応付けられたサーバＩＰアドレスおよびデバイス名を取得して、オブジェクトの読み書きを実行させるオブジェクト格納サーバ２２０と、オブジェクトの格納先または読み出し元のＨＤＤ２１１とを判別する。そして、Ｉ／Ｏ処理部３１１は、判別したオブジェクト格納サーバ２２０に対して、クエリに応じたメッセージを送信する。オブジェクトの格納が要求された場合、ＰＵＴ要求メッセージが送信され、オブジェクトの読み出しが要求された場合、ＧＥＴ要求メッセージが送信される。
【００７５】
なお、オブジェクトテーブル３２１に登録されるハッシュ値のビット幅は、オブジェクトのＵＲＬから算出されるハッシュ値のビット幅より小さくてもよい。この場合、Ｉ／Ｏ処理部３１１は、オブジェクトのＵＲＬから算出したハッシュ値を、オブジェクトテーブル３２１に登録されたハッシュ値のビット幅に合致するようにビットシフトする。そして、Ｉ／Ｏ処理部３１１は、ビットシフト後のハッシュ値に対応付けられたサーバＩＰアドレスおよびデバイス名をオブジェクトテーブル３２１から取得する。
【００７６】
また、Ｉ／Ｏ処理部３１１からオブジェクト格納サーバ２２０に送信されるメッセージは、例えば、ＰＵＴ、ＧＥＴなどのコマンド名と、オブジェクトのパスを示すＵＲＬと、ユーザ認証情報などを含むメッセージヘッダと、メッセージ本文とを含む。ＰＵＴ要求メッセージのメッセージ本文には、格納するオブジェクトの実データが格納される。メッセージに含まれるＵＲＬには、例えば、メッセージの送信先のオブジェクト格納サーバ２２０のＩＰアドレスと、アクセス先のＨＤＤ２１１のデバイス名と、オブジェクト名とが記述される。オブジェクト格納サーバ２２０は、受信したメッセージに含まれるこれらの情報に基づいて、ＳＡＳエクスパンダ２３０を介して、オブジェクトの格納先または読み出し元のＨＤＤ２１１にアクセスする。
【００７７】
図９は、ディスク負荷テーブルに登録される情報の例を示す図である。ディスク負荷テーブル３２２は、ディスクエンクロージャ２１０内の各ＨＤＤ２１１の負荷状態を示すパラメータを保持するための管理テーブルである。
【００７８】
ディスク負荷テーブル３２２には、オブジェクト格納サーバ２２０ごとにレコード３２２ａが設けられる。各レコード３２２ａには、オブジェクト格納サーバ２２０を識別するためのサーバＩＰアドレスが登録されており、切り替え判定部３１２は、サーバＩＰアドレスから所望のオブジェクト格納サーバ２２０に対応するレコード３２２ａを特定することができる。
【００７９】
また、各レコード３２２ａには、対応するオブジェクト格納サーバ２２０に現在接続されているＨＤＤ２１１を識別するための「デバイス名」が登録される。デバイス名は、対応するオブジェクト格納サーバ２２０に現在接続されているＨＤＤ２１１の数だけ登録される。
【００８０】
そして、各レコード３２２ａには、デバイス名にそれぞれ対応付けて、負荷状態を示すパラメータの一例である「通信データ量」が登録される。通信データ量は、直近の単位時間において、対応するＨＤＤ２１１との間で送受信されたデータの量を示す。なお、通信データ量は、例えば、対応するＨＤＤ２１１から読み出される読み出しデータ量であってもよい。
【００８１】
切り替え判定部３１２は、Ｉ／Ｏ処理部３１１がユーザ端末１３０から受信するクエリを監視し、その監視結果から、ディスク負荷テーブル３２２内のＨＤＤ２１１ごとの通信データ量を随時更新する。そして、後述するように、切り替え判定部３１２は、通信データ量が所定のしきい値を超えたとき、その通信データ量に対応付けられたＨＤＤ２１１に対するアクセス負荷が過大になったと判定する。
【００８２】
図１０は、サーバ負荷テーブルに登録される情報の例を示す図である。サーバ負荷テーブル３２３は、各オブジェクト格納サーバ２２０の負荷状態を示すパラメータを保持するための管理テーブルである。
【００８３】
サーバ負荷テーブル３２３には、オブジェクト格納サーバ２２０を識別するための「サーバＩＰアドレス」ごとに、負荷状態を示すパラメータとして、「プロセッサ使用率」、「空きメモリ」および「通信データ量」が登録される。プロセッサ使用率は、対応するオブジェクト格納サーバ２２０が備えるプロセッサの使用率（単位時間においてプロセッサがプログラムを実行している時間の割合）を示す。空きメモリは、対応するオブジェクト格納サーバ２２０が備える主記憶装置（ＲＡＭ）の残容量を示す。通信データ量は、直近の単位時間において、対応するオブジェクト格納サーバ２２０が、自装置に接続されているＨＤＤ２１１との間で送受信したデータ量を示す。
【００８４】
切り替え判定部３１２は、各オブジェクト格納サーバ２２０から、プロセッサ使用率、空きメモリおよび通信データ量を一定時間ごとに取得して、サーバ負荷テーブル３２３に上書き登録する。そして、後述するように、切り替え判定部３１２は、プロセッサ使用率、空きメモリおよび通信データ量をそれぞれ所定のしきい値と比較することにより、負荷が過大になったオブジェクト格納サーバ２２０を判別する。
【００８５】
図１１は、ＰＨＹテーブルに登録される情報の例を示す図である。ＰＨＹテーブル３３１には、ＳＡＳエクスパンダ２３０に設けられた各ＰＨＹのＩＤと、ＩＤが示すＰＨＹに接続されている機器のＳＡＳアドレスとが対応付けて登録される。本実施の形態では、ＰＨＹに接続されている機器とは、いずれかのオブジェクト格納サーバ２２０か、ディスクエンクロージャ２１０内のいずれかのＨＤＤ２１１である。
【００８６】
なお、オブジェクト格納サーバ２２０に対応するＳＡＳアドレスは、正確には、オブジェクト格納サーバ２２０に搭載されたＨＢＡ２２１のＳＡＳアドレスを指す。しかしながら、これ以後、説明を簡単にするために単に「オブジェクト格納サーバ２２０のＳＡＳアドレス」と呼ぶことにする。
【００８７】
図１２は、サーバアドレステーブルに登録される情報の例を示す図である。サーバアドレステーブル３３２は、各オブジェクト格納サーバ２２０のＩＰアドレス（サーバＩＰアドレス）とＳＡＳアドレスとが対応付けて登録される。
【００８８】
なお、上記のＰＨＹテーブル３３１およびサーバアドレステーブル３３２の登録情報は、ＳＡＳエクスパンダ２３０にオブジェクト格納サーバ２２０およびＨＤＤ２１１が接続されて、ストレージシステム２００の運用が開始された後には、オブジェクト格納サーバ２２０またはＨＤＤ２１１の取り外しや追加が行われない限り、変更されない。
【００８９】
切り替え制御部３１３は、ＳＡＳエクスパンダ２３０内のゾーニングテーブル２３７を更新する際に、接続切り替えの対象をＰＨＹのＩＤによって指定する。一方、切り替え判定部３１２は、接続切り替えの対象を、オブジェクト格納サーバ２２０のＩＰアドレスおよびＨＤＤ２１１のデバイス名によって特定する。このため、切り替え制御部３１３は、切り替え判定部３１２によって接続切り替え対象の機器が決定されると、上記のＰＨＹテーブル３３１およびサーバアドレステーブル３３２を参照して、決定された機器が接続されているＰＨＹのＩＤを判別する。
【００９０】
次に、オブジェクト格納サーバ２２０の負荷状態に応じてＳＡＳエクスパンダ２３０での切り替え動作を制御する処理について、フローチャートを用いて説明する。図１３は、ＳＡＳエクスパンダに対する切り替え制御処理の例を示すフローチャートである。
【００９１】
［ステップＳ１１］切り替え判定部３１２は、Ｉ／Ｏ処理部３１１がユーザ端末１３０から送信されたクエリを受信したかを監視し、クエリを受信したと判定すると、ステップＳ１２の処理を実行する。
【００９２】
［ステップＳ１２］切り替え判定部３１２は、ディスク負荷テーブル３２２に登録された負荷状態を示すパラメータ（図９の通信データ量）のうち、クエリに基づくアクセス先のＨＤＤ２１１に対応するパラメータを更新する。
【００９３】
具体的には、切り替え判定部３１２は、Ｉ／Ｏ処理部３１１が受信したクエリの内容から、アクセス先のＨＤＤ２１１との間で送受信するデータ量を判別する。例えば、切り替え判定部３１２は、オブジェクトの格納が要求された場合には、格納されるオブジェクトの実データ量を送受信データ量とみなし、オブジェクトの読み出しが要求された場合には、読み出されるオブジェクトの実データ量を送受信データ量とみなす。
【００９４】
切り替え判定部３１２は、受信したクエリに基づく、アクセス先のオブジェクト格納サーバ２２０のＩＰアドレスおよびアクセス先のＨＤＤ２１１のデバイス名を、Ｉ／Ｏ処理部３１１から取得する。切り替え判定部３１２は、ディスク負荷テーブル３２２から、取得したＩＰアドレスが登録されたレコード３２２ａを特定する。切り替え判定部３１２は、特定したレコード３２２ａにおいて、Ｉ／Ｏ処理部３１１から取得したデバイス名に対応付けられた通信データ量に、上記手順で判別した送受信データ量を加算する。
【００９５】
なお、図示しないが、切り替え判定部３１２は、ディスク負荷テーブル３２２に登録されたすべてのデバイス名に対応する通信データ量を、一定時間ごとに「０」に初期化する。これにより、ディスク負荷テーブル３２２に登録された通信データ量は、単位時間ごとの通信データ量を示すものとなる。
【００９６】
また、切り替え判定部３１２は、ユーザ端末１３０からオブジェクトの読み出しが要求された場合にのみ、ディスク負荷テーブル３２２のパラメータを更新してもよい。
また、本実施の形態では、ＨＤＤ２１１の負荷状態を示すパラメータとして、ディスク負荷テーブル３２２に通信データ量を登録したが、例えば、パラメータとして単位時間当たりのアクセス頻度を登録してもよい。この場合、切り替え判定部３１２は、ステップＳ１２において、アクセス先のＨＤＤ２１１に対応付けられたパラメータを「１」だけインクリメントする。
【００９７】
［ステップＳ１３］切り替え判定部３１２は、ステップＳ１２で更新した通信データ量と、所定のしきい値とを比較する。切り替え判定部３１２は、通信データ量がしきい値を超えている場合、アクセス先のＨＤＤ２１１の負荷が過大になっていると判定して、ステップＳ１４の処理を実行する。一方、切り替え判定部３１２は、通信データ量がしきい値以下である場合、アクセス先のＨＤＤ２１１の負荷が過大でないと判定して、ステップＳ１１の処理を実行する。
【００９８】
［ステップＳ１４］切り替え判定部３１２は、サーバ負荷テーブル３２３から、受信したクエリに基づくアクセス先のオブジェクト格納サーバ２２０に対応付けられた、負荷状態を示すパラメータを読み出す。本実施の形態では、パラメータとして図１０に示したプロセッサ使用率、空きメモリおよび通信データ量が読み出される。
【００９９】
［ステップＳ１５］切り替え判定部３１２は、読み出した各パラメータを、パラメータごとにあらかじめ決められたしきい値と比較し、その比較結果に基づいて、アクセス先のオブジェクト格納サーバ２２０の負荷が過大であるか否かを判定する。切り替え判定部３１２は、各パラメータのうちの少なくとも１つについてのしきい値との比較結果が、負荷が過大であることを示している場合に、アクセス先のオブジェクト格納サーバ２２０の負荷が過大であると判定して、ステップＳ１６の処理を実行する。
【０１００】
ここで、負荷が過大であると判定される場合とは、プロセッサ使用率が所定のしきい値を超えている、空きメモリの値が所定のしきい値未満である、通信データ量が所定のしきい値を超えている、という３つの条件のうちの少なくとも１つが満たされている場合である。
【０１０１】
ステップＳ１５で「Ｙｅｓ」と判定されたとき、ステップＳ１１で受信したクエリに基づくアクセス先のＨＤＤ２１１が、接続切り替えの対象に決定される。なお、このとき決定されるＨＤＤ２１１は、同じオブジェクト格納サーバ２２０に接続された複数のＨＤＤ２１１の中で、送受信データ量が最大のものとなる。
【０１０２】
一方、切り替え判定部３１２は、すべてのパラメータについてのしきい値との比較結果が、負荷が過大であることを示していない場合には、ステップＳ１１の処理を実行する。すなわち、切り替え判定部３１２は、あるＨＤＤ２１１の負荷が過大であると判定した場合でも、そのＨＤＤ２１１へのアクセスの際に経由するオブジェクト格納サーバ２２０の負荷が過大でないと判定した場合には、そのＨＤＤ２１１に接続するオブジェクト格納サーバ２２０を変更する必要はないと判定する。
【０１０３】
なお、各パラメータの比較結果と、それに基づくステップＳ１５での判定結果との関係は、上記の関係に限らない。例えば、切り替え判定部３１２は、上記の３つの条件のうち２つ以上が満たされた場合に、負荷が過大であると判定してもよい。
【０１０４】
［ステップＳ１６］切り替え判定部３１２は、Ｉ／Ｏ処理部３１１に、受信したクエリに基づくアクセス先のＨＤＤ２１１に対するアクセスを一時的に禁止させる。なお、このステップＳ１６は、ＳＡＳエクスパンダ２３０での切り替え動作の途中で、切り替え対象のＨＤＤ２１１へのアクセスが実行されてエラーが発生することを防止するためのものである。
【０１０５】
［ステップＳ１７］切り替え判定部３１２および切り替え制御部３１３の処理により、ＳＡＳエクスパンダ２３０での接続切り替え処理が実行される。このステップＳ１７の詳細については後述するが、少なくとも、ステップＳ１１で受信したクエリに基づくアクセス先のＨＤＤ２１１に接続するオブジェクト格納サーバ２２０は、別のオブジェクト格納サーバ２２０に切り替えられる。
【０１０６】
［ステップＳ１８］接続切り替え処理の完了後、切り替え判定部３１２は、Ｉ／Ｏ処理部３１１に、アクセスを一時的に禁止させていたＨＤＤ２１１へのアクセスを再開させる。このときアクセスを再開させるＨＤＤ２１１としては、少なくとも、ステップＳ１６でアクセスを禁止させたＨＤＤ２１１が含まれる。また、ステップＳ１７の処理により他のＨＤＤ２１１へのアクセスが禁止された場合には、ステップＳ１８において、そのＨＤＤ２１１へのアクセスも再開される。
【０１０７】
次に、ステップＳ１７の接続切り替え処理について、２つの処理例を示す。図１４および図１５を用いて切り替え処理例（１）を説明し、図１６および図１７を用いて切り替え処理例（２）を説明する。
【０１０８】
〔切り替え処理例（１）〕
切り替え処理例（１）は、図１３のステップＳ１１で受信したクエリに基づくアクセス先のＨＤＤ２１１だけを、接続切り替えの対象とするものである。図１４は、切り替え処理例（１）を示すフローチャートである。
【０１０９】
［ステップＳ２１］切り替え判定部３１２は、サーバ負荷テーブル３２３に登録された、オブジェクト格納サーバ２２０ごとのパラメータに基づいて、負荷が最も低いと考えられるオブジェクト格納サーバ２２０を選択する。
【０１１０】
例えば、切り替え判定部３１２は、プロセッサ使用率が最も低い、空きメモリの値が最も大きい、通信データ量が最も小さい、という３つの条件を最も多く満たしているオブジェクト格納サーバ２２０を、負荷が最低のオブジェクト格納サーバ２２０として選択する。また、切り替え判定部３１２は、例えば、上記条件を最も多く満たしているオブジェクト格納サーバ２２０が複数ある場合には、優先度の高いパラメータに関する条件を多く満たしているオブジェクト格納サーバ２２０を、負荷が最低のオブジェクト格納サーバ２２０として選択してもよい。
【０１１１】
［ステップＳ２２］切り替え判定部３１２は、図１３のステップＳ１１で受信したクエリに基づくアクセス先のＨＤＤ２１１のデバイス名と、ステップＳ２１で選択したオブジェクト格納サーバ２２０のＩＰアドレスとを含めたデバイス指定情報を、切り替え制御部３１３に出力する。このデバイス指定情報は、該当ＨＤＤ２１１に現在接続されているオブジェクト格納サーバ２２０を、デバイス指定情報によって指定される別のオブジェクト格納サーバ２２０に切り替えるように指示するための情報である。
【０１１２】
［ステップＳ２３］切り替え制御部３１３は、切り替え判定部３１２からのデバイス指定情報によって指定されたＨＤＤ２１１が接続されている、ＳＡＳエクスパンダ２３０におけるＰＨＹのＩＤを判別する。
【０１１３】
具体的には、切り替え制御部３１３は、図１３のステップＳ１１で受信したクエリに基づくアクセス先のオブジェクト格納サーバ２２０に対して、デバイス指定情報によって指定されたＨＤＤ２１１のＳＡＳアドレスを問い合わせる。問い合わせを受けたオブジェクト格納サーバ２２０は、例えば、指定されたＨＤＤ２１１に対してｌｓｓｃｓｉコマンドを送信することで、そのＨＤＤ２１１のＳＡＳアドレスを取得して、切り替え制御部３１３に通知する。切り替え制御部３１３は、ＰＨＹテーブル３３１から、通知されたＳＡＳアドレスに対応付けられたＰＨＹのＩＤを読み出す。
【０１１４】
［ステップＳ２４］切り替え制御部３１３は、切り替え判定部３１２からのデバイス指定情報によって指定されたオブジェクト格納サーバ２２０が接続されている、ＳＡＳエクスパンダ２３０におけるＰＨＹのＩＤを判別する。
【０１１５】
具体的には、切り替え制御部３１３は、サーバアドレステーブル３３２から、デバイス指定情報に含まれるサーバＩＰアドレスに対応付けられたＳＡＳアドレスを読み出す。切り替え制御部３１３は、ＰＨＹテーブル３３１から、サーバアドレステーブル３３２から読み出したＳＡＳアドレスに対応付けられたＰＨＹのＩＤを読み出す。
【０１１６】
以上のステップＳ２３，Ｓ２４により、切り替え制御部３１３は、デバイス指定情報によって指定されたＨＤＤ２１１およびオブジェクト格納サーバ２２０のそれぞれが接続されたＰＨＹのＩＤを認識する。
【０１１７】
［ステップＳ２５］切り替え制御部３１３は、ＳＡＳエクスパンダ２３０に対してテーブル更新を要求するためのＳＭＰコマンドを送信する。このＳＭＰコマンドにより、切り替え制御部３１３は、デバイス指定情報によって指定されたＨＤＤ２１１とオブジェクト格納サーバ２２０とが接続されるようにＳＡＳエクスパンダ２３０のゾーニングテーブル２３７を更新することを、ＳＡＳエクスパンダ２３０に指示する。
【０１１８】
切り替え制御部３１３は、ＳＡＳエクスパンダ２３０から、ゾーニングテーブル２３７の更新の完了通知を受信すると、切り替え判定部３１２に対して接続切り替えの完了を通知する。
【０１１９】
［ステップＳ２６］切り替え判定部３１２は、接続切り替え後のオブジェクト格納サーバ２２０とＨＤＤ２１１との接続関係に応じて、オブジェクトテーブル３２１のサーバＩＰアドレスを更新する。具体的には、切り替え判定部３１２は、オブジェクトテーブル３２１において、ステップＳ２２で出力したデバイス指定情報に含まれるデバイス名に対応付けられたサーバＩＰアドレスを、このデバイス指定情報に含まれるオブジェクト格納サーバ２２０のＩＰアドレスに書き替える。
【０１２０】
本実施の形態においては、接続切り替えが実行された場合でも、ＨＤＤ２１１間でのオブジェクトの移動は実行されない。このため、接続切り替えが実行された場合でも、オブジェクトテーブル３２１におけるハッシュ値とＨＤＤ２１１との関係は変化せず、ハッシュ値とオブジェクトテーブル３２１との関係のみが変更される。
【０１２１】
［ステップＳ２７］切り替え判定部３１２は、ディスク負荷テーブル３２２のレコード３２２ａのうち、接続するＨＤＤ２１１が変更されたオブジェクト格納サーバ２２０に対応するレコード３２２ａの構成を変更する。
【０１２２】
図１５は、接続切り替えの動作例を示す図である。
図１５の例では、ＳＡＳエクスパンダ２３０のＰＨＹ＃１，＃２，＃３にそれぞれオブジェクト格納サーバ２２０ａ，２２０ｂ，２２０ｃが接続され、ＰＨＹ＃１１，＃１２，＃１３，＃１４にそれぞれＨＤＤ＃ｓｄａ，＃ｓｄｂ，＃ｓｄｃ，＃ｓｄｄが接続されている。そして、接続切り替え前の状態では、ＰＨＹ＃１とＰＨＹ＃１１とが導通状態であり、ＰＨＹ＃２とＰＨＹ＃１２とが導通状態であり、ＰＨＹ＃３とＰＨＹ＃１３，＃１４とが導通状態であるものとする。
【０１２３】
ここで、切り替え判定部３１２により、ＨＤＤ＃ｓｄｃの負荷が過大になり（図１３のステップＳ１３）、なおかつ、ＨＤＤ＃ｓｄｃに接続するオブジェクト格納サーバ２２０ｃの負荷が過大になった（図１３のステップＳ１５）と判定されたものとする。また、切り替え判定部３１２は、他のオブジェクト格納サーバ２２０ａ，２２０ｂのうち、オブジェクト格納サーバ２２０ｂの負荷が最も低いと判定したものとする（図１４のステップＳ２１）。
【０１２４】
この場合、切り替え判定部３１２は、ＨＤＤ＃ｓｄｃのデバイス名「ｓｄｃ」とオブジェクト格納サーバ２２０ｂのＩＰアドレスとを含めたデバイス指定情報を出力する（図１４のステップＳ２２）。このデバイス指定情報に応じて、図１５の下段に示すように、ゾーニングテーブル２３７は、ＨＤＤ＃ｓｄｃが接続されたＰＨＹ＃１３のＩＤ「１３」と、オブジェクト格納サーバ２２０ｂが接続されたＰＨＹ＃２のＩＤ「２」とが同じゾーンＩＤに対応付けられるように書き替えられる。
【０１２５】
これにより、Ｉ／Ｏ処理部３１１は、オブジェクト格納サーバ２２０ｃの代わりに、オブジェクト格納サーバ２２０ｂを介してＨＤＤ＃ｓｄｃにアクセスするようになり、オブジェクト格納サーバ２２０ｃの負荷が軽減される。従って、オブジェクト格納サーバ２２０ｂとオブジェクト格納サーバ２２０ｃとの間で負荷が分散される。また、ＨＤＤ＃ｓｄｃに対するアクセス速度の低下が抑制されるとともに、オブジェクト格納サーバ２２０ｃに接続されたままのＨＤＤ＃ｓｄｄに対するアクセス速度が低下することも防止される。
【０１２６】
〔切り替え処理例（２）〕
切り替え処理例（２）は、図１３のステップＳ１１で受信したクエリに基づくアクセス先のＨＤＤ２１１を含む２つのＨＤＤ２１１を接続切り替えの対象とし、各ＨＤＤ２１１に接続されているオブジェクト格納サーバ２２０を互いに入れ替えるようにしたものである。図１６は、切り替え処理例（２）を示すフローチャートである。この図１６では、図１４と同じ処理には同じステップ番号を付して示し、その説明を省略する。
【０１２７】
［ステップＳ３１］切り替え判定部３１２は、オブジェクトテーブル３２１またはディスク負荷テーブル３２２に基づき、図１３のステップＳ１１で受信したクエリに基づくアクセス先のオブジェクト格納サーバ２２０（すなわち、負荷が過大と判定されたオブジェクト格納サーバ２２０）に接続されているＨＤＤ２１１の台数が１台か、あるいは２台以上かを判定する。
【０１２８】
切り替え判定部３１２は、接続されているＨＤＤ２１１が１台の場合、ステップＳ３２の処理を実行する。すなわち、この切り替え処理例（２）では、負荷が過大と判定されたオブジェクト格納サーバ２２０に接続されたＨＤＤ２１１が１台である場合のみ、２つのＨＤＤ２１１に接続されているオブジェクト格納サーバ２２０を互いに入れ替えるようにする。
【０１２９】
一方、接続されているＨＤＤ２１１が２台以上の場合、切り替え判定部３１２はステップＳ２２の処理を実行し、デバイス指定情報を１つだけ切り替え制御部３１３に出力する。
【０１３０】
［ステップＳ３２］切り替え判定部３１２は、ディスク負荷テーブル３２２を参照して、ステップＳ２１で選択したオブジェクト格納サーバ２２０に接続されているＨＤＤ２１１から、負荷が最も低いＨＤＤ２１１を選択する。なお、ステップＳ２１で選択したオブジェクト格納サーバ２２０に接続されているＨＤＤ２１１が１台である場合には、そのＨＤＤ２１１が、負荷が最も低いものとして選択される。このステップＳ３２で選択されたＨＤＤ２１１は、接続切り替えの対象となる。
【０１３１】
［ステップＳ３３］切り替え判定部３１２は、Ｉ／Ｏ処理部３１１に、ステップＳ３２で選択したＨＤＤ２１１に対するアクセスを一時的に禁止させる。
［ステップＳ３４］切り替え判定部３１２は、デバイス指定情報を２つ生成する。
【０１３２】
切り替え判定部３１２は、ステップＳ２２と同様に、図１３のステップＳ１１で受信したクエリに基づくアクセス先のＨＤＤ２１１のデバイス名と、ステップＳ２１で選択したオブジェクト格納サーバ２２０のＩＰアドレスとを含めた第１のデバイス指定情報を生成する。
【０１３３】
また、切り替え判定部３１２は、ステップＳ３２で選択したＨＤＤ２１１のデバイス名と、図１３のステップＳ１１で受信したクエリに基づくアクセス先のオブジェクト格納サーバ２２０のＩＰアドレスとを含めた第２のデバイス指定情報を生成する。
【０１３４】
切り替え判定部３１２は、第１のデバイス指定情報と第２のデバイス指定情報とを、切り替え制御部３１３に出力する。
［ステップＳ２３ａ〜Ｓ２７ａ］上記のステップＳ２２またはステップＳ３４の実行後に、ステップＳ２３ａ〜Ｓ２７ａの処理が実行される。ここで、ステップＳ２２が実行された場合（すなわち、負荷が過大であると判定されたオブジェクト格納サーバ２２０にＨＤＤ２１１が２台以上接続されている場合）、ステップＳ２３ａ〜Ｓ２７ａでは、図１４のステップＳ２３〜Ｓ２７と全く同じ処理が実行される。一方、ステップＳ３４が実行された場合（すなわち、負荷が過大であると判定されたオブジェクト格納サーバ２２０にＨＤＤ２１１が１台のみ接続されている場合）、ステップＳ２３ａ〜Ｓ２７ａでは、ステップＳ３４で出力された２つのデバイス指定情報について、それぞれステップＳ２３〜Ｓ２７と同じ処理が実行される。
【０１３５】
図１７は、接続切り替えの動作例を示す図である。
図１７の例では、ＳＡＳエクスパンダ２３０のＰＨＹ＃１，＃２，＃３にそれぞれオブジェクト格納サーバ２２０ａ，２２０ｂ，２２０ｃが接続され、ＰＨＹ＃１１，＃１２，＃１３，＃１４にそれぞれＨＤＤ＃ｓｄａ，＃ｓｄｂ，＃ｓｄｃ，＃ｓｄｄが接続されている。また、接続切り替え前の状態では、ＰＨＹ＃１とＰＨＹ＃１１，＃１２とが導通状態であり、ＰＨＹ＃２とＰＨＹ＃１３とが導通状態であり、ＰＨＹ＃３とＰＨＹ＃１４とが導通状態であるものとする。
【０１３６】
ここで、切り替え判定部３１２により、ＨＤＤ＃ｓｄｄの負荷が過大になり（図１３のステップＳ１３）、なおかつ、ＨＤＤ＃ｓｄｄに接続するオブジェクト格納サーバ２２０ｃの負荷が過大になった（図１３のステップＳ１５）と判定されたものとする。また、切り替え判定部３１２は、他のオブジェクト格納サーバ２２０ａ，２２０ｂのうち、オブジェクト格納サーバ２２０ｂの負荷が最も低いと判定したものとする（図１６のステップＳ２１）。
【０１３７】
この場合、切り替え判定部３１２は、ＨＤＤ＃ｓｄｄのデバイス名「ｓｄｄ」とオブジェクト格納サーバ２２０ｂのＩＰアドレスとを含めた第１のデバイス指定情報を出力する。これとともに、切り替え判定部３１２は、オブジェクト格納サーバ２２０ｂに接続されているＨＤＤ＃ｓｄｃのデバイス名「ｓｄｃ」と、負荷が過大と判定されたオブジェクト格納サーバ２２０ｃのＩＰアドレスとを含めた第２のデバイス指定情報を出力する（図１６のステップＳ３４）。
【０１３８】
図１７の下段に示すように、第１のデバイス指定情報に応じて、ゾーニングテーブル２３７は、ＨＤＤ＃ｓｄｄが接続されたＰＨＹ＃１４のＩＤ「１４」と、オブジェクト格納サーバ２２０ｂが接続されたＰＨＹ＃２のＩＤ「２」とが、同じゾーンＩＤ「２」に対応付けられるように書き替えられる。これにより、ＨＤＤ＃ｓｄｄとオブジェクト格納サーバ２２０ｂとが接続される。
【０１３９】
また、第２のデバイス指定情報に応じて、ゾーニングテーブル２３７は、ＨＤＤ＃ｓｄｃが接続されたＰＨＹ＃１３のＩＤ「１３」と、オブジェクト格納サーバ２２０ｃが接続されたＰＨＹ＃３のＩＤ「３」とが、同じゾーンＩＤ「３」に対応付けられるように書き替えられる。これにより、ＨＤＤ＃ｓｄｃとオブジェクト格納サーバ２２０ｃとが接続される。
【０１４０】
すなわち、ＨＤＤ＃ｓｄｃ，＃ｓｄｄのそれぞれに接続するオブジェクト格納サーバが、互いに入れ替えられる。これにより、オブジェクト格納サーバ２２０ｂとオブジェクト格納サーバ２２０ｃとの間で負荷が分散される。
【０１４１】
ここで、図１７のケースで前述の切り替え処理例（１）が実行された場合には、ＰＨＹ＃１４と導通する他方のＰＨＹが、ＰＨＹ＃３からＰＨＹ＃２に切り替えられるだけになる。この場合、ＰＨＹ＃３に接続されたオブジェクト格納サーバ２２０ｃにはＨＤＤ２１１が１つも接続されない状態になり、オブジェクト格納サーバ２２０ｃが無駄になってしまう。これに対して、切り替え処理例（２）によれば、２つのＨＤＤ側のＰＨＹに接続されるオブジェクト格納サーバが互いに入れ替えられるので、オブジェクト格納サーバ２２０ｃにＨＤＤ２１１が１台も接続されない状態が発生しなくなる。従って、オブジェクト格納サーバ２２０の使用効率が向上する。
【０１４２】
また、切り替え処理例（２）では、負荷が過大であると判定されたオブジェクト格納サーバ２２０にＨＤＤ２１１が２台以上接続されている場合には、サーバの入れ替えを行わずに、切り替え処理例（１）と同様の処理を行う。この場合、接続切り替えの対象とするＨＤＤ２１１が１台だけなので、アクセスを停止させるＨＤＤ２１１も１台だけになる。従って、接続切り替え動作がユーザ端末１３０からのクエリに応じた処理に与える影響を軽減することができる。
【０１４３】
なお、以上で説明した切り替え処理例（１），（２）は、あくまで接続切り替え処理の一例であり、オブジェクト格納サーバ２２０間で負荷が分散するような他の方法によってＳＡＳエクスパンダ２３０での接続状態が切り替えられてもよい。
【０１４４】
〔第３の実施の形態〕
図１８は、第２の実施の形態に係るストレージシステムの全体構成例を示す図である。この図１８では、図３と同じ処理を実行する構成要素には同じ符号を付して示しており、その説明を省略する。
【０１４５】
図１８のストレージシステム２００ａは、図３のストレージシステム２００において、フロントエンドサーバ３００が備えていた処理機能の一部を、新たに設けたコントロールサーバ４００に搭載させたものである。また、図１８のフロントエンドサーバ３００ａは、図３のフロントエンドサーバ３００のうち、コントロールサーバ４００に移設した以外の処理機能を備える装置である。
【０１４６】
なお、フロントエンドサーバ３００ａおよびコントロールサーバ４００は、例えば、図４に示したハードウェア構成を有するコンピュータとして実現可能である。
図１９は、第２の実施の形態において、フロントエンドサーバおよびコントロールサーバがそれぞれ備える処理機能の例を示すブロック図である。なお、図１９では、図７と同じ処理を実行する構成要素には同じ符号を付して示しており、その説明を省略する。
【０１４７】
コントロールサーバ４００は、図７のフロントエンドサーバ３００が備えていた処理機能のうち、切り替え制御部３１３に対応する機能を備えている。図１９の切り替え制御部３１３ａは、図７の切り替え制御部３１３に対応する処理を行う。また、コントロールサーバ４００の不揮発性記憶装置には、ＰＨＹテーブル３３１およびサーバアドレステーブル３３２が格納される。一方、フロントエンドサーバ３００ａが備える切り替え判定部３１２ａは、図７の切り替え判定部３１２に対応する処理を行う。
【０１４８】
切り替え制御部３１３ａおよび切り替え判定部３１２ａの処理は、次の点で、図７の切り替え制御部３１３および切り替え判定部３１２と異なる。
切り替え制御部３１３ａは、切り替え判定部３１２ａからのデバイス指定情報によって指定されたＨＤＤ２１１のＳＡＳアドレスを取得するために、例えば、フロントエンドサーバ３００ａの切り替え判定部３１２ａに対して、ＳＡＳアドレスの問い合わせの実行を依頼する。依頼を受けた切り替え判定部３１２ａは、Ｉ／Ｏ処理部３１１が受信したクエリに基づくアクセス先のオブジェクト格納サーバ２２０に対して、ＨＤＤ２１１のＳＡＳアドレスを問い合わせる。
【０１４９】
切り替え判定部３１２ａは、問い合わせに応じてオブジェクト格納サーバ２２０から通知されたＳＡＳアドレスを、コントロールサーバ４００の切り替え制御部３１３ａに通知する。切り替え制御部３１３ａは、ＰＨＹテーブル３３１から、通知されたＳＡＳアドレスに対応付けられたＰＨＹのＩＤを読み出す。
【０１５０】
なお、切り替え制御部３１３ａは、例えば、ＳＡＳアドレスの問い合わせをオブジェクト格納サーバ２２０に対して直接行ってもよい。
以上の第３の実施の形態によれば、第２の実施の形態と同様に、ＳＡＳエクスパンダ２３０での接続状態を動的に変更して、オブジェクト格納サーバ２２０間の負荷を分散させることができる。これにより、ＨＤＤ２１１に対するアクセス性能の低下を抑制することができる。
【０１５１】
なお、前述の通り、上記の各実施の形態に示した装置（例えば、アクセス制御装置２ａ，２ｂ、接続制御装置５、オブジェクト格納サーバ２２０、フロントエンドサーバ３００，３００ａおよびコントロールサーバ４００）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１５２】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１５３】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１５４】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１５５】
以上の各実施の形態に関し、さらに以下の付記を開示する。
（付記１）  複数のアクセス制御装置と、
前記複数のアクセス制御装置のいずれかによってそれぞれに対するアクセスが制御される複数の記憶装置と、
前記複数の記憶装置のそれぞれを、前記複数のアクセス制御装置のうちのいずれかに接続する中継装置と、
前記各アクセス制御装置の負荷状況に応じて、前記各アクセス制御装置に負荷が分散するように前記中継装置における接続切り替え動作を制御する接続制御装置と、
を有することを特徴とするストレージシステム。
【０１５６】
（付記２）  前記接続制御装置は、負荷の大きさを示す負荷パラメータが所定のしきい値を超えた前記アクセス制御装置に接続されている前記記憶装置を、前記負荷パラメータが前記しきい値以下である他の前記アクセス制御装置に接続し直すように前記中継装置に指示することを特徴とする付記１記載のストレージシステム。
【０１５７】
（付記３）  前記接続制御装置は、前記負荷パラメータが前記しきい値を超えた前記アクセス制御装置に接続されている前記記憶装置のうち、単位時間の転送データ量が最大の前記記憶装置を、前記負荷パラメータが前記しきい値以下である他の前記アクセス制御装置に接続し直すように前記中継装置に指示することを特徴とする付記２記載のストレージシステム。
【０１５８】
（付記４）  前記接続制御装置は、前記負荷パラメータが前記しきい値を超えた前記アクセス制御装置に接続されている第１の記憶装置と、前記負荷パラメータが前記しきい値以下である他の前記アクセス制御装置に接続されている第２の記憶装置との間で、接続される前記アクセス制御装置が入れ替わるように前記中継装置に指示することを特徴とする付記２記載のストレージシステム。
【０１５９】
（付記５）  前記接続制御装置は、前記記憶装置ごとにアクセス経路として割り当てられたいずれか１つの前記アクセス制御装置を介して、前記複数の記憶装置のそれぞれにアクセスするフロントエンド処理部を有し、
前記接続制御装置は、前記複数の記憶装置のうちの一の記憶装置に接続する前記アクセス制御装置の変更を前記中継装置に指示するとき、前記一の記憶装置へのアクセス経路として割り当てる前記アクセス制御装置の変更を前記フロントエンド処理部に指示する、
ことを特徴とする付記１〜４のいずれか１項に記載のストレージシステム。
【０１６０】
（付記６）  前記フロントエンド処理部は、アクセス先のオブジェクトの識別情報を受け付けると、オブジェクトの識別情報に基づく計算値と、前記記憶装置を識別する情報と、アクセス経路とする前記アクセス制御装置とが対応付けられた対応表に基づいて、前記アクセス先のオブジェクトに対応する前記アクセス制御装置を介して、前記アクセス先のオブジェクトに対応する前記記憶装置にアクセスし、
前記接続制御装置は、前記一の記憶装置に接続する前記アクセス制御装置の変更を前記中継装置に指示するとき、前記対応表に登録された情報のうち、前記一の記憶装置に対応付けられた前記アクセス制御装置の識別情報を変更する、
ことを特徴とする付記５記載のストレージシステム。
【０１６１】
（付記７）  複数のアクセス制御装置と、複数の記憶装置とを備えたストレージシステムの制御方法であって、
前記ストレージシステムが備える中継装置が、前記複数の記憶装置のそれぞれを、前記複数のアクセス制御装置のうちのいずれかに接続し、
前記複数のアクセス制御装置のそれぞれが、接続された前記記憶装置に対するアクセスを制御し、
前記ストレージシステムが備える接続制御装置が、前記各アクセス制御装置の負荷状況に応じて、前記各アクセス制御装置に負荷が分散するように前記中継装置における接続切り替え動作を制御する、
ことを特徴とするストレージシステムの制御方法。
【０１６２】
（付記８）  前記接続切り替え動作を制御する処理では、前記接続制御装置は、負荷の大きさを示す負荷パラメータが所定のしきい値を超えた前記アクセス制御装置に接続されている前記記憶装置を、前記負荷パラメータが前記しきい値以下である他の前記アクセス制御装置に接続し直すように前記中継装置に指示する、
ことを特徴とする付記７記載のストレージシステムの制御方法。
【０１６３】
（付記９）  前記接続切り替え動作を制御する処理では、前記接続制御装置は、前記負荷パラメータが前記しきい値を超えた前記アクセス制御装置に接続されている前記記憶装置のうち、単位時間の転送データ量が最大の前記記憶装置を、前記負荷パラメータが前記しきい値以下である他の前記アクセス制御装置に接続し直すように前記中継装置に指示する、
ことを特徴とする付記８記載のストレージシステムの制御方法。
【０１６４】
（付記１０）  前記接続切り替え動作を制御する処理では、前記接続制御装置は、前記負荷パラメータが前記しきい値を超えた前記アクセス制御装置に接続されている第１の記憶装置と、前記負荷パラメータが前記しきい値以下である他の前記アクセス制御装置に接続されている第２の記憶装置との間で、接続される前記アクセス制御装置が入れ替わるように前記中継装置に指示する、
ことを特徴とする付記８記載のストレージシステムの制御方法。
【０１６５】
（付記１１）  前記接続制御装置が、前記記憶装置ごとにアクセス経路として割り当てられたいずれか１つの前記アクセス制御装置を介して、前記複数の記憶装置のそれぞれにアクセスし、
前記接続制御装置が、前記複数の記憶装置のうちの一の記憶装置に接続する前記アクセス制御装置の変更を前記中継装置に指示するとき、前記一の記憶装置へのアクセス経路として割り当てる前記アクセス制御装置を変更して、前記複数の記憶装置のそれぞれへのアクセスを継続する、
処理をさらに含むことを特徴とする付記７〜１０のいずれか１項に記載のストレージシステムの制御方法。
【０１６６】
（付記１２）  前記複数の記憶装置のそれぞれにアクセスする処理では、前記接続制御装置は、アクセス先のオブジェクトの識別情報を受け付けると、オブジェクトの識別情報に基づく計算値と、前記記憶装置を識別する情報と、アクセス経路とする前記アクセス制御装置とが対応付けられた対応表に基づいて、前記アクセス先のオブジェクトに対応する前記アクセス制御装置を介して、前記アクセス先のオブジェクトに対応する前記記憶装置にアクセスし、
前記一の記憶装置へのアクセス経路として割り当てる前記アクセス制御装置を変更してアクセスを継続する処理では、前記接続制御装置は、前記一の記憶装置に接続する前記アクセス制御装置の変更を前記中継装置に指示するとき、前記対応表に登録された情報のうち、前記一の記憶装置に対応付けられた前記アクセス制御装置の識別情報を変更する、
ことを特徴とする付記１１記載のストレージシステムの制御方法。
【符号の説明】
【０１６７】
１  ストレージシステム
２ａ，２ｂ  アクセス制御装置
３ａ〜３ｃ  記憶装置
４  中継装置
５  接続制御装置
【図１】
2014026529.tif 000003
【図２】
2014026529.tif 000004
【図３】
2014026529.tif 000005
【図４】
2014026529.tif 000006
【図５】
2014026529.tif 000007
【図６】
2014026529.tif 000008
【図７】
2014026529.tif 000009
【図８】
2014026529.tif 000010
【図９】
2014026529.tif 000011
【図１０】
2014026529.tif 000012
【図１１】
2014026529.tif 000013
【図１２】
2014026529.tif 000014
【図１３】
2014026529.tif 000015
【図１４】
2014026529.tif 000016
【図１５】
2014026529.tif 000017
【図１６】
2014026529.tif 000018
【図１７】
2014026529.tif 000019
【図１８】
2014026529.tif 000020
【図１９】
2014026529.tif 000021