入力処理要求又は出力処理要求を受け付け、処理結果を返送する複数のストレージ装置と、該複数のストレージ装置の1つに該入入力処理要求又は出力処理要求を送信し、該処理結果を受信し、該入力処理要求又は出力処理要求の送信から該処理の完了までのレスポンス時間が閾値を超えた場合に、該入力処理要求又は出力処理要求に対する処理が過負荷状態にあることを示す過負荷応答を送出する複数のI/O処理サーバと、ユーザからの入力処理要求又は出力処理要求を、該I/O処理サーバからの該過負荷応答に基づいて、過負荷状態ではないI/O処理サーバへ送信する複数のアクセスサーバと、を備えることを特徴とする負荷分散システム。前記アクセスサーバは、過負荷状態にある前記I/O処理サーバに対し、ダミーの入力処理要求又は出力処理要求を送信し、過負荷状態が解消したか否かを確認することを特徴とする請求項1に記載の負荷分散システム。前記アクセスサーバは、前記I/O処理サーバごとに、負荷状態を判断する閾値に対応付けられた、レベルが増加するごとに該閾値が小さくなる閾値レベルを保持し、過負荷状態を示す場合には、対応する該I/O処理サーバの閾値レベルの値を増加することを特徴とする請求項1に記載の負荷分散システム。前記閾値レベルは、過負荷状態が解消された場合には、値が減少されることを特徴とする請求項3に記載の負荷分散システム。前記アクセスサーバは、前記閾値レベルに基づいて、負荷の軽い前記I/O処理サーバから順にリストにリストアップし、該リストの上に登録されている該I/O処理サーバから順に前記入力処理要求又は出力処理要求を割り振ることを特徴とする請求項4に記載の負荷分散システム。前記I/O処理サーバは、前記ストレージ装置ごとに、負荷状態を判断する閾値に対応付けられた、レベルが増加するごとに該閾値が大きくなる閾値レベルを保持し、前記レスポンス時間が過負荷状態を示す場合には、対応する該ストレージ装置の閾値レベルの値を増加することを特徴とする請求項1に記載の負荷分散システム。前記閾値レベルは、過負荷状態が解消された場合には、値が減少されることを特徴とする請求項6に記載の負荷分散システム。前記I/O処理サーバは、前記レスポンス時間が前記閾値レベルに対応した、負荷状態を判断する閾値より大きい場合、過負荷状態であることを前記アクセスサーバに送信することを特徴とする請求項7に記載の負荷分散システム。入力処理要求又は出力処理要求を受け付け、処理結果を返送する複数のストレージ装置と、該複数のストレージ装置の1つに該入力処理要求又は出力処理要求を送信し、該処理結果を受信し、複数のI/O処理サーバと、ユーザからの入力処理要求又は出力処理要求を、該I/O処理サーバに送信する複数のアクセスサーバとを備える負荷分散システムの負荷分散方法であって、該I/O処理サーバは、該入力処理要求又は出力処理要求の送信から該処理の完了までのレスポンス時間が閾値を超えた場合に、該入力処理要求又は出力処理要求に対する処理が過負荷状態にあることを示す過負荷応答を送出し、該アクセスサーバは、該I/O処理サーバからの該過負荷応答に基づいて、過負荷状態ではないI/O処理サーバへ該入力処理要求又は出力処理要求を送信することを特徴とする負荷分散方法。入力処理要求又は出力処理要求を受け付け、処理結果を返送する複数のストレージ装置と、該複数のストレージ装置の1つに該入力処理要求又は出力処理要求を送信し、該処理結果を受信する複数のI/O処理サーバと、ユーザからの入力処理要求又は出力処理要求を、該I/O処理サーバからの過負荷応答に基づいて、過負荷状態ではないI/O処理サーバへ該入力処理要求又は出力処理要求を送信する複数のアクセスサーバとを備える負荷分散システムのプログラムであって、該I/O処理サーバに、該入力処理要求又は出力処理要求の送信から該処理の完了までのレスポンス時間が閾値を超えた場合に、該入力処理要求又は出力処理要求に対する処理が過負荷状態にあることを示す該過負荷応答を該アクセスサーバに送出させる、ことを特徴とするプログラム。多数のアクセスサーバと多数のI/O処理サーバがある環境において、I/O処理サーバの負荷分散を効率的に行なえる図1の構成では、負荷分散装置に異常が発生した際にサービスが停止してしまう。I/O処理サーバで異常が発生した場合のI/O処理サーバの切り替え方式図2では、多数のI/O処理サーバの負荷を平準化するために、多数存在するアクセスサーバ間で負荷調整の情報をやりとりする必要がある。この場合には、システム構成が複雑になる、セキュリティ上の弱点が生じるなどの問題がある。したがって、特定のI/O処理サーバへのI/O処理要求の発行が集中するのを防ぐ他の方策が望まれる。1つの側面では、本発明は、複数のアクセスサーバと複数のI/O処理サーバを有するシステムにおける負荷分散を図ることを目的とする。以下の実施形態の一側面における負荷分散システムは、入力処理要求又は出力処理要求を受け付け、処理結果を返送する複数のストレージ装置と、該複数のストレージ装置の1つに該入力処理要求又は出力処理要求を送信し、該処理結果を受信し、該入力処理要求又は出力処理要求の送信から該処理の完了までのレスポンス時間が閾値を超えた場合に、該入力処理要求又は出力処理要求に対する処理が過負荷状態にあることを示す過負荷応答を送出する複数のI/O処理サーバと、ユーザからの入力処理要求又は出力処理要求を、該I/O処理サーバからの該過負荷応答に基づいて、過負荷状態ではないI/O処理サーバへ送信する複数のアクセスサーバとを備える。1実施形態によれば、複数のアクセスサーバと複数のI/O処理サーバを有するシステムにおける負荷分散を図ることができる。以下の実施形態は、たとえば、クラウドシステムのようにサーバ台数もストレージ台数も多いシステムに適用される。そして、システム全体の負荷の平準化によるサービスの均一化と、負荷平準化の際に、いずれかの機器に故障が発生した場合にもサービスが継続できるような信頼性を備えたシステムを提供する。このために、アクセスサーバがI/O処理サーバへ送るI/O処理要求の情報と、I/O処理サーバがアクセスサーバへ応答を返すレスポンス情報を拡張する。I/O処理サーバがiSCSIのターゲットデバイスとして接続されている場合には、アクセスサーバからのリクエストはSCSIコマンドを拡張したコマンドとして送信される。I/O処理サーバからアクセスサーバへのレスポンスもSCSIコマンドのレスポンス情報を拡張することで実現する。I/O処理サーバがFibreChannelのターゲットとして接続されている場合には、アクセスサーバからのリクエスト、I/O処理サーバからアクセスサーバへのレスポンスともファイバチャネルコマンドの拡張として実現する。実現手段は同じであるため、以下ではiSCSIの場合を例として記載する。ここで、負荷分散の対象は、アクセスサーバから見たI/O処理サーバ及びストレージ装置からなるシステム全体である。アクセスサーバがあるデータにアクセスしたいとする場合、そのデータが格納されているストレージ装置にアクセスする必要がある。この場合、そのストレージ装置が負荷が高くアクセスしにくい場合であっても、アクセスしたいデータを有していないストレージ装置にアクセスすることはできない。しかし、ストレージ装置とI/O処理サーバとは相互に複数対複数で接続されているので、所望のストレージ装置にアクセス可能なI/O処理サーバを別のものに切り替えることは可能である。これにより、ストレージ装置の負荷は分散できないが、ストレージ装置にI/O処理要求を送信するI/O処理サーバの負荷を分散することができる。I/O処理サーバの負荷を分散することにより、アクセスサーバから見たI/O処理サーバ及びストレージ装置からなるシステムの負荷が均一化できることになる。その場合、I/O処理サーバの負荷は、ストレージ装置にI/O処理要求を発行してから、これが完了するまでのレスポンス時間となるので、レスポンス時間が大きいI/O処理サーバから小さいI/O処理サーバに切り替えることにより負荷分散を行なうことができる。負荷分散の方式としては以下のように処理を行う。概略すると、I/O処理サーバが過負荷となった場合には、I/O処理サーバはアクセスサーバからのI/O処理要求リクエストに対し、過負荷となった旨のレスポンスを行う。これを受けたアクセスサーバは、別のI/O処理サーバに対してI/O処理要求の振り分けを行う。システム運用開始時に、どのI/O処理サーバがどのストレージ装置に接続されるかは、システムの立ち上げ時に決定する。これは、運用開始時に一部のI/O処理サーバへのアクセス集中を防止するためである。このことにより、アクセスサーバがI/O処理サーバの負荷状況に対して、自分で、振り分けを行なうので、複数のアクセスサーバがある場合でもアクセスサーバ同士での通信、及び、調整が不要となる。すなわち、I/O処理サーバは、I/O処理サーバがアクセスサーバからのI/O処理要求を受信してから、ストレージ装置からの応答をアクセスサーバに返すまでのレスポンス時間自サーバ内の処理時間を含むから、自サーバが過負荷になっているか否かを判断する。そして、過負荷になっている場合には、I/O処理サーバはアクセスサーバに過負荷となっている旨通知する。アクセスサーバは、過負荷となった旨の通知をI/O処理サーバから受信すると、他のI/O処理サーバにI/O処理要求を送信する。また、I/O処理サーバに接続されたストレージ装置やI/O処理サーバの負荷を確認するために、アクセスサーバは、全てのI/O処理サーバに対して負荷情報応答用のコマンドを送信する。この応答によって最も負荷の低いI/O処理サーバに対して無応答またはエラーとなったI/O処理要求の処理を依頼する。アクセスサーバがI/O処理サーバから過負荷を示すレスポンスを受けた場合の負荷分散においても、アクセスサーバから全てのI/O処理サーバに対して、負荷情報応答用のコマンドを送信する。そして、その結果をもって、より負荷の低いI/O処理サーバへI/O処理を依頼することで、より効率の良い負荷分散が可能となる。以上によれば、クラウドシステムにおいて、効率的なI/O処理要求の負荷分散を行えることで、システム全体の性能向上が行える。また、多数のサーバを使用することにより、I/O処理サーバのうちのいずれかのサーバが故障する可能性が高くなるが、その場合でもクラウドシステムが提供するサービスを継続できる。なお、I/O処理サーバで異常が発生した場合には、アクセスサーバはI/O処理要求に対する無応答またはエラーとして異常を検知できる。このとき、アクセスサーバは別のI/O処理サーバに対してI/O処理要求を発行する。図3は、本実施形態の負荷分散システムを含む全体のシステム構成図である。全体システムは、複数のアクセスサーバ20-1~20-nクラウドサービスを提供するための物理サーバ。このアクセスサーバ上で多数の仮想マシンを動作させるを備える。更に、複数のI/O処理サーバ21-1~21-mアクセスサーバが発行したI/O処理要求を処理するサーバ、複数のストレージ装置22-1~22-Nから構成される。そして、これらの装置は、ネットワーク23、24によって接続される。アクセスサーバ20-1~20-n同士はセキュリティ確保の観点から管理用の通信経路を持たず、I/O処理サーバの負荷調整のための通信は行わない。I/O処理サーバ21-1~21-m同士はセキュリティ確保の観点から管理用の通信経路を持たず、互いの負荷調整のための通信は行わない。図4は、アクセスサーバ及びI/O処理サーバのブロック図である。アクセスサーバ及びI/O処理サーバは、同じブロック図で表すことが出来る。I/O受付部30は、送信されてきたI/O処理要求リクエストを受け付ける。図4の装置がアクセスサーバの場合、I/O受付部30は、ユーザアプリケーションから発行されたI/O処理要求を受け付ける。図4の装置がI/O処理サーバの場合には、I/O受付部30は、アクセスサーバから発行されたI/O処理要求を受け付ける。I/O時間監視部32は、I/O処理要求の受け付けから、これに対するレスポンスを受信し、アクセスサーバにレスポンスを返すまでの時間を監視し、必要に応じて管理テーブル格納部33の管理テーブルを更新する。I/O時間監視部32は、I/O処理サーバの数L個だけのカウンタ35-1~35-Lを備えており、レスポンスに対する過負荷応答を返さない場合にカウンタがカウントアップし、管理テーブルのカウンタの値保持部の値を更新する。このLは、図4の装置が、アクセスサーバの場合には、I/O処理サーバの数mであり、図4の装置が、I/O処理サーバの場合には、ストレージ装置の数Nである。管理テーブルについては後述する。管理テーブル監視部34は、管理テーブル格納部33に格納された管理テーブルに登録される閾値レベルを監視する。I/O発行部31は、I/O受付部30で受け付けたI/O処理要求を、受付時間の登録をした後、転送するものである。図4の装置がアクセスサーバの場合、I/O発行部31は、I/O処理サーバにI/O処理要求を送信する。図4の装置がI/O処理サーバの場合には、I/O発行部31は、ストレージ装置にI/O処理要求を送信する。図5は、アクセスサーバとI/O処理サーバの間で行われる通信の基本的な流れを示すシーケンス図である。ユーザアプリケーションからI/O処理要求が発行され、アクセスサーバ、I/O処理サーバ1を介して、ストレージ装置にI/O処理要求が通知される。I/O処理サーバ1は、このI/O処理要求のレスポンスを受信し、I/O処理サーバがアクセスサーバからのI/O処理要求を受信してから、ストレージ装置からの応答をアクセスサーバに返すまでのレスポンス時間を計測する。このレスポンス時間が、現在自サーバに設定されている閾値を超えない場合は、I/O処理サーバから正常である旨のレスポンスがアクセスサーバ、ユーザアプリケーションに返送される。このレスポンス時間が、現在自サーバに設定されている閾値を超える場合には、過負荷が生じていると判断する。このレスポンス時間は、I/O処理要求が発行されてから処理が完了するまでの時間を含んでいるので、ストレージ装置の応答時間とI/O処理装置の処理時間が含まれる。したがって、このレスポンス時間が閾値を超えているという場合には、ストレージ装置、あるいは、I/O処理装置のいずれか、あるいは、その両方において過負荷が生じていると考えられる。I/O処理サーバで、アクセスしたストレージ装置へのI/O処理要求に対する過負荷を検出した場合、I/O処理サーバは、I/O処理要求を行ったアクセスサーバに対してレスポンスを返すと共に過負荷状態の通知を行う。アクセスサーバはI/O処理サーバから過負荷の情報を受け取ると、後続のI/O処理要求を発行する際に、別のI/O処理サーバへI/O処理要求を振り分ける。この別のI/O処理サーバへI/O処理要求を振り分けることを図5では、再選択処理と呼んでいる。再選択処理については図16で後述する。アクセスサーバは、後述の図10、図11の管理テーブルを参照し、I/O処理要求のサイズまたは発行頻度が閾値を超えている場合は、更なる振り分けが必要と判断し、更に後続のI/O処理要求は更に別のI/O処理サーバに対して実行される。ここで、I/O処理要求のサイズは、I/O処理要求によって指定される、ストレージ装置から読み出すデータの量、あるいは、ストレージ装置に書き込むデータの量のことである。図6は、I/O処理サーバで異常が発生し、I/O処理サーバを切り替える場合の全体的な流れを示すシーケンス図である。I/O処理サーバでエラーが発生した場合には、アクセスサーバが発行したI/O処理要求がエラーとなる。このとき、アクセスサーバはI/O処理サーバが異常となったことを検知できるものとする。アクセスサーバは、I/O処理サーバの異常を検知すると、再選択処理を実行して、別のI/O処理サーバに対してI/O処理要求を再実行する。このことで、I/O処理サーバで異常が発生した場合でもサービスの継続が可能になる。図7は、I/O処理サーバで異常が発生した場合のアクセスサーバの処理のフローチャートである。ステップS40における、I/O処理要求発行先のI/O処理サーバの再選択の処理では、I/O処理サーバの管理テーブルを参照し、I/Oサイズ、I/O頻度が閾値内となる条件を満たした後述する閾値レベルのもっとも小さなI/O処理サーバをI/O処理要求の再発行先サーバとして選択する。このことで負荷がより低いと判断できるI/O処理サーバに対してI/O処理要求を発行できる。異常が発生したI/O処理サーバが復旧した場合には、アクセスサーバに対してI/O処理サーバを再度I/O発行対象として設定する。このことで復旧後のI/O処理サーバが再度負荷分散の対象となる。図8~図11は、アクセスサーバの処理を説明する図である。アクセスサーバは、I/O処理サーバ毎に発行できるI/O処理要求のサイズの閾値とI/O頻度の閾値を管理している。I/O処理要求発行時には、この閾値よりサイズが大きなI/O処理要求または閾値を超えた頻度のI/O処理要求は、そのI/O処理をこれまで依頼していたI/O処理サーバとは別のI/O処理サーバに対してI/O処理要求を行う。I/O処理サーバから過負荷状態の応答があった場合は徐々に閾値を小さくする過負荷状態の応答が無かった場合には閾値サイズを徐々に大きくする。このことにより、I/O処理サーバの処理負荷を軽減する。図8及び図9は、アクセスサーバが有する管理テーブルの例である。図8は、管理テーブルである。管理テーブルは、複数の閾値定義テーブルがリストとして配列されたテーブルの集まりである。管理テーブルの閾値定義テーブルは、I/O処理サーバごとに設けられる。そして、各閾値定義テーブルは、閾値レベルとI/O処理要求のサイズの閾値、I/O処理要求頻度の閾値、閾値カウンタ定義値とを対応付けて保持する。また、I/O処理サーバごとの閾値定義テーブルは、それぞれ、カウンタの値保持部とレベル値設定部を有する。レベル値設定部とは、I/O処理サーバが現在、閾値定義テーブルにある閾値レベルのうちのどの閾値レベルにあるかを指定するものである。閾値カウンタ定義値は、カウンタの値保持部がその値になったとき、レベル値設定部に設定される閾値レベルを変更するものである。図4のカウンタ35は、過負荷応答が無かった場合にカウント値を1つ増加するものである。カウンタはI/O処理サーバの数だけ設けられる。カウントする値は、カウンタの値保持部が保持しており、カウンタがカウントアップするごとに、カウンタの値保持部の値が変更される。カウンタの値保持部は、過負荷状態が存在しない場合にカウンタがカウントアップする値を保持する。カウンタの値保持部の値が閾値カウンタ定義値になると、レベル値設定部の閾値レベルを変更し、カウンタ35をリセットすると共にカウンタの値保持部のカウンタの値を0に初期化する。図9は、図8のm個のテーブルのうちで1つのI/O処理サーバについての閾値定義テーブルを詳細に示したものである。閾値レベルとしては、1~kまでの各値を取るものとしている。I/Oサイズは、閾値レベル1の無制限から、閾値レベルが大きくなるにしたがって、小さくなる値となっている。このI/Oサイズは、I/O処理要求のサイズの閾値である。I/O頻度は、閾値レベル1の100回/secから、閾値レベルが大きくなるに従い、少なくなる値となっている。このI/O頻度は、I/O処理要求の頻度の閾値である。閾値カウンタ定義値は、カウンタの値がいくつになったら閾値レベルを変えるかを定義するものである。図8及び図9の管理テーブルは、システム管理者が予め定義する。システム管理者は、閾値レベルという閾値の設定値のラベルについて、それぞれ、I/O処理サーバに与える負荷の大きさをI/O処理サーバのマシンパワーに照らし合わせて見積もって、閾値のレベルを設定する。過負荷応答があった場合には、閾値レベルを上下させることで各閾値を変える。I/O処理要求に対する応答が過負荷応答でなかった場合に、カウンタをカウントアップする。このカウンタが閾値カウンタ定義値を超えた場合に、閾値レベルを下げる。図10は、アクセスサーバの処理を示すフローチャートである。図10の処理は、新たにI/O処理要求が発生するごとに実行するものである。図10に従うと、ステップS10において、アクセスサーバは、例えば運用開始時には、アクセスすべきストレージ装置に対して接続されているI/O処理サーバの管理テーブル後述を参照し、当該I/O処理サーバの閾値レベルを確認する。管理テーブルに含まれる各閾値定義テーブルには、当該I/O処理サーバの現在の閾値レベルを保持するレベル値設定部が存在し、この値を確認する。ステップS11において、I/O処理要求のサイズが該閾値レベルに対応する閾値未満であるか否かを判断する。ステップS11の判断がNoの場合には、ステップS13に進む。ステップS11の判断がYesの場合には、ステップS12に進む。ステップS12では、I/O処理要求の頻度が該閾値レベルに対応する閾値未満であるか否かを判断する。頻度は、例えば、1秒間に発行するI/O処理要求の数である。アクセスサーバは、自分が1秒間に当該I/O処理サーバに発行するI/O処理要求の数を計数することによって頻度を取得する。ステップS12の判断がNoの場合には、ステップS13に進む。ステップS12の判断がYesの場合には、ステップS14に進む。ステップS13においては、I/O処理要求の発行先となるI/O処理サーバを、後述する図16に従って再選択して、ステップS14に進む。ステップS14においては、I/O処理要求を発行する。ステップS9において、発行したI/O処理要求に対するレスポンスを受信して、ユーザアプリケーションにレスポンスを返送し、I/O処理を完了する。ステップS15においては、発行したI/O処理要求に対するレスポンスの応答時間が過負荷を示しているかI/O処理サーバから過負荷応答があったか否かを判断する。ステップS15の判断がYesの場合には、ステップS16に進む。ステップS15の判断がNoの場合には、ステップS22に進む。ステップS16においては、閾値レベルの値を1だけ大きくし、ステップS24で、カウンタ35と、管理テーブルのカウンタの値保持部を初期化し、ステップS17において、I/O処理サーバのソート後述を行なって、処理を終了する。ステップS22においては、現在処理中のI/O処理サーバの閾値定義テーブルのレベル値設定部に設定される閾値レベルが1か否かを判断する。この判断は、後のステップS20において、閾値レベルを1下げる処理があるが、閾値レベルが1の場合には、これ以上下げることができないので、カウンタもカウントアップしないようにするものである。ステップS22の判断がNo場合には、ステップS18に進み、ステップS22の判断がYesの場合には、ステップS19に進む。ステップS18においては、カウンタ35のカウントアップに従い、閾値定義テーブルのカウンタの値保持部の値を1だけ大きくし、ステップS19において、カウンタが定義値を超えたか否かを判断する。ステップS19の判断がNoの場合には、処理を終了する。ステップS19の判断がYesの場合には、ステップS20に進む。ステップS20においては、閾値レベルを1だけ減少し、ステップS23において、カウンタ35をリセットし、管理テーブルのカウンタの値保持部を初期化し、ステップS21において、I/O処理サーバのソート後述を行なって、処理を終了する。図10の処理が開始する前においては、システムの運用開始後において、I/O処理要求をどのI/O処理サーバに送信するかは、管理テーブルのリストの先頭にある閾値定義テーブルに対応するI/O処理サーバを設定する。さらにその後、当該I/O処理サーバが過負荷になると、別のI/O処理サーバにI/O処理要求が送信されるようになる。I/O処理サーバのソートは、閾値定義テーブルを複数備える管理テーブル内の、閾値定義テーブルの配列の順序を変更することである。図11は、I/O処理サーバのソート処理のフローチャートである。I/O処理サーバのソートにおいては、各閾値定義テーブルのレベル値設定部に保持される閾値レベルの大きさの順に閾値定義テーブルを配列し、I/O処理サーバに対しリストを生成し、複数の閾値定義テーブルがリストされたテーブルの集まりを管理テーブルとする。ステップS25においては、図10のステップS16またはS20で、変更した結果の閾値レベルを変数、例えば、Lに設定する。ステップS26において、閾値レベルを変更したI/O処理サーバの閾値定義テーブルを管理テーブルのリストから外す。ここで、リストから外すとは、後述のステップS28のリストへの挿入とで1つの処理となる。すなわち、閾値レベルを変更した閾値定義テーブルのデータをリストから読み取り、リスト内のそのテーブルのデータを削除し、閾値レベルの順序に合うリストの配列の場所にデータを挿入するものである。ステップS27のループは、I/O処理サーバの数だけループする。ステップS28において、閾値レベルがLより大きいか否かを判断する。ステップS28の判断がNoの場合にはループを続け、Yesの場合には、管理テーブルを管理テーブルのリストに挿入して処理を終了する。アクセスサーバが管理しているI/O処理サーバの管理テーブルを閾値レベルの小さな順にソートしておくことで、管理テーブルのリストの先頭は最も負荷の低いI/O処理サーバとなる。図12は、ソート処理における管理テーブルのリストの遷移状態を説明する図である。図121は、図10のステップS17に相当する処理で、過負荷応答発生後の状態を示す。複数のI/O処理サーバの閾値定義テーブルが配列されている。I/O処理サーバ1の閾値定義テーブルは、レベル値設定部の値が1となっている。次に、I/O処理サーバ4の閾値定義テーブルが来ており、レベル値設定部の値変更後は、3となっている。その次は、I/O処理サーバ2の閾値定義テーブルが来ており、レベル値設定部の値は、2となっている。最後に、I/O処理サーバ3の閾値定義テーブルが来ており、レベル値設定部の値は、4となっている。次に、ソート処理では、I/O処理サーバ4の閾値定義テーブルがI/O処理サーバ2の閾値定義テーブルの上に来てしまっているので、これを入れ替える必要がある。図122の状態は、位置が間違っているI/O処理サーバ4の閾値定義テーブルをリストから取り外した状態を示している。そして、図123のソート後の状態では、I/O処理サーバ4の閾値定義テーブルは、I/O処理サーバ2の次に挿入される。なお、管理テーブルのリストのソート処理の方法としては、図11の方法の代わりに、各閾値定義テーブルに次のテーブルを指すポインタを設け、そのポインタの値を張り替えることも可能である。図13~15は、I/O処理サーバの処理を説明する図である。I/O処理サーバは、I/O処理要求の受付からI/O処理の完了までの処理時間を管理している。処理時間が、I/O処理サーバが保持する管理テーブルの閾値を超えた場合には、I/O処理サーバはアクセスサーバへ過負荷応答を返す。すなわち、ストレージ装置の応答時間自サーバでの処理時間を含むが閾値を超えたときに、アクセスサーバに過負荷応答を返す。処理時間の閾値の初期値は、ストレージ装置の応答時間に合わせた応答時間を設定しておく。処理時間が閾値を超えた場合には、応答時間の閾値を徐々に長くする閾値を超えない場合には徐々に短くする。このことにより、頻繁に過負荷の応答を返すことを避ける。たとえば、I/O処理サーバ1が過負荷状態で、他のI/O処理サーバI/O処理サーバ2も過負荷状態である場合、I/O処理サーバ2に対するI/O処理要求が、I/O処理サーバ1に再び振り向けられる場合がある、このとき、I/O処理サーバ1が依然として過負荷であった場合は、2つしかない全てのI/O処理サーバが過負荷の応答をすることになる。このような状況が続いた場合には、I/O処理要求全てに過負荷の応答が行われることになり、アクセスサーバとI/O処理サーバのやりとりが多くなる。このような状況を避けるために閾値を徐々に変更する。図13及び図14は、I/O処理サーバが保持する管理テーブルの例である。図13に示されるように、I/O処理サーバは、アクセスするストレージ装置ごとに閾値定義テーブルを保持する。管理テーブルは、複数の閾値定義テーブルをリストとして配列したテーブルの集まりである。各閾値定義テーブルは、閾値レベルと、応答時間の閾値と、閾値カウンタ定義値とを対応付けて保持する。また、各ストレージ装置についての閾値定義テーブルは、それぞれ、カウンタの値保持部とレベル値設定部を有する。レベル値設定部とは、ストレージ装置が現在、閾値定義テーブルにある閾値レベルのうちのどの閾値レベルにあるかを指定するものである。カウンタの値保持部は、過負荷状態が存在しない場合に、カウンタがカウントする値を保持する。カウンタの値保持部の値が閾値カウンタ定義値になると、レベル値設定部の閾値レベルを変更し、カウンタ35をリセットすると共に、カウンタの値保持部のカウンタの値を0に初期化する。図14は、図13のストレージ装置ごとの管理テーブルの内容の例を示した図である。閾値レベルとして、1~jの値が設定されている。応答時間の閾値は、閾値レベル1が10msec/KBで、閾値レベルが大きくなるに従い、大きな値となっている。閾値カウンタ定義値は、閾値レベルを変えるときのカウンタの値を設定している。図13及び図14の管理テーブルは、I/O処理サーバによって、アクセスサーバと同様に保持される。図15は、I/O処理サーバの処理フローである。I/O処理サーバは、ステップS30で、アクセスサーバからI/O処理要求を受け付けると、ステップS31において、ストレージ装置にI/O処理要求を発行する。ステップS32において、ストレージ装置からI/O処理要求が完了した旨の応答を受け取り、アクセスサーバにレスポンスを返して基本的なI/O処理を完了し、ステップS33において、I/O処理要求の受付時間と完了時間から応答時間を算出する。ステップS34において、管理テーブル図13、図14を参照し、閾値定義テーブルのレベル値設定部に設定されている閾値レベルを取得する。そして、取得した閾値レベルに相当する応答時間の閾値を取得する。ステップS35において、応答時間が取得した応答時間の閾値を超えているか否かを判断する。ステップS35の判断がYesの場合には、ステップS40に進む。ステップS35の判断がNoの場合には、ステップS41に進む。ステップS40において、過負荷である旨の応答をアクセスサーバに対して行い、ステップS36においては、閾値レベルを1だけ増加し、ステップS43において、カウンタ35をリセットすると共に、管理テーブルのカウンタの値保持部の値を初期化し、処理を終了する。ステップS41においては、閾値定義テーブルのレベル値設定部の閾値レベルが1であるか否かを判断する。この判断は、後のステップS39において、閾値レベルを1下げる処理があるが、閾値レベルが1の場合には、これ以上下げることができないので、カウンタもカウントアップしないようにするものである。ステップS41の判断がNoの場合には、ステップS37に進み、Yesの場合には、ステップS38に進む。ステップS37では、カウンタ35をカウントアップし、管理テーブルのカウンタの値保持部の値を1だけ増加し、ステップS38において、カウンタが定義値を超えたか否かを判断する。ステップS38の判断がNoの場合には、処理を終了し、Yesの場合には、ステップS39に進む。ステップS39では、閾値レベルを1だけ減少し、ステップS42において、カウンタ35をリセットし、管理テーブルのカウンタの値保持部の値を初期化し、処理を終了する。図16は、アクセスサーバがI/O処理サーバを再選択する際の処理図7のステップS40、図10のステップS13のフローチャートである。アクセスサーバは、I/O処理サーバを再選択する際には、管理テーブルにある閾値の値を参照し、その中で最も閾値の大きな負荷が低いと考えられるI/O処理サーバをI/O処理要求の発行先として再選択する。図16において、ステップS45では、振り分け先を、ソート処理で得られたリストの先頭にあるI/O処理サーバとする。ステップS46のループでは、アクセスサーバの管理テーブルを走査する。すなわち、管理テーブルのリストに格納される全てのI/O処理サーバの閾値定義テーブルがなくなるまで、処理を繰り返す。ステップS47において、閾値が振り分け先の値より大きいか否かを判断する。ステップS47の判断がNoの場合には、ステップS46のループを続け、Yesの場合には、ステップS48に進む。ステップS48では、振り分け先に、ステップS47で選択されたI/O処理サーバを割り当て、処理を終了する。また、この他にアクセスサーバがI/O処理サーバを再選択する方法として、アクセスサーバがI/O処理サーバに対して負荷情報の確認コマンドを送信し、I/O処理サーバが自サーバで処理中のI/O処理要求数を応答する仕組みを持たせる。この応答をアクセスサーバが参照し、もっともI/O処理要求数の少ないI/O処理サーバを再選択の対象とすることもできる。図17は、アクセスサーバが管理する管理テーブルとその遷移の例を示す図である。図17は、図8及び図9の管理テーブルから、各I/O処理サーバについて設定された閾値レベルの値のみを見やすくするために抜き出したものである。I/O処理サーバ1から過負荷応答があった場合には、図10のステップS16によって閾値レベルが変更されることによって、I/O処理サーバ1の閾値定義テーブルは、閾値レベルが1つ増加され、状態1から状態2のように遷移する。一方、I/O処理要求に対して、I/O処理サーバ1が過負荷の応答を返さない場合には、過負荷応答の無い回数をカウントアップする。そして、その計数値が閾値カウンタ定義値を超えた場合に、閾値レベルが1つ減少され、閾値定義テーブルは状態2から状態1へ遷移する。すなわち、一定回数のI/O処理要求の応答時間が過負荷状態を示していない場合に閾値を減少させるようにする。このことにより、負荷状態が安定していない状態で閾値を減少させることを防ぐ。図18は、I/O処理サーバが管理するテーブルとその遷移の例を示す図である。図18は、図13及び図14の管理テーブルから、各ストレージ装置について設定された閾値レベルの値のみを見やすくするために抜き出したものである。ストレージ装置2へのI/O応答時間が閾値を超えた場合は、図15のステップS36によって閾値レベルが増加されるため、ストレージ装置2の閾値管理テーブルは状態1から状態2へ遷移する。I/O処理要求に対する応答が閾値を超えない場合には、超えない回数を計数する。そして、その計数値が閾値カウンタ定義値を超えた場合に、閾値レベルが1つ減少され、閾値定義テーブルは状態2から状態1へ遷移する。すなわち、一定回数のI/O処理要求に対する応答時間が過負荷状態でないことを示す場合に、閾値を減少させるようにする。このことにより、負荷状態が安定していない状態で閾値を減少させることを防ぐ。I/O処理サーバの再選択を行う際に、アクセスサーバからI/O処理サーバに対して負荷情報の確認を行うことにより再選択を行う場合は、I/O処理サーバには図18のテーブルの他に、自サーバが処理中のI/O処理要求数を管理するカウンタを用意しておく。このことでアクセスサーバからの負荷情報の確認に対して、I/O処理要求数を応答できる。図19は、アクセスサーバおよびI/O処理サーバの管理テーブルの制御を行う仕組みを示す図である。アクセスサーバにおいて図19のI/O処理要求の要求元はアプリケーションであり、I/O処理要求の発行先はI/O処理サーバである。I/O処理サーバにおいて、図19のI/O処理要求の要求元はアクセスサーバであり、I/O処理要求の発行先はストレージ装置である。図19の管理テーブル格納部33に格納される管理テーブルは、アクセスサーバでは、図8、図9と同じものであり、I/O処理サーバでは、図13、図14と同じものである。管理テーブルは、アクセスサーバでは図17I/O処理サーバでは図18において状態1から状態2へI/OサイズやI/O頻度I/O処理サーバでは応答時間の閾値が変化する場合に、どのような値に遷移するかを定義した表である。この表は予めシステム管理者が定義する。図19の管理テーブル監視部34は、アクセスサーバやI/O処理サーバの管理テーブルをできるだけ最新の状態に保つようにするための機能である。たとえば、アクセスサーバがI/O処理サーバに対して発行したI/O処理要求に対する応答において、過負荷状態が通知された場合、アクセスサーバは管理テーブルの閾値を変更する。このとき、閾値が下限閾値レベルの最大時まで下がってしまった場合、それ以後、アクセスサーバはそのI/O処理サーバに対してI/O処理要求を発行しなくなる。この状態となったしばらく後、I/O処理サーバの処理量が減った場合を想定する。このとき、I/O処理サーバの負荷が低減しているにも関わらずアクセスサーバは要求を発行しないため、管理テーブルの閾値変更が行われず、I/O負荷分散が正常に行なわれない状態となる。このような状態を避けるため、管理テーブル監視部34が定期的に試験I/O処理要求ダミーI/O処理要求を発行し、I/O発行先の負荷状態の確認を行う。図20は、管理テーブル監視部の処理フローである。管理テーブル監視部は、一定時間I/O処理要求が発行されていないI/O発行先アクセスサーバの場合はI/O処理サーバ、I/O処理サーバの場合はストレージ装置に対し、試験I/O処理要求ダミーI/O処理要求を発行する。このI/O処理要求が正常に処理された場合アクセスサーバの場合は、I/O処理要求に対して過負荷応答が無い場合、I/O処理サーバの場合は応答時間内にI/O処理要求に対する応答を受信した場合には、管理テーブルの閾値を変更する。このときの閾値の変更は、アクセスサーバの場合は図10、I/O処理サーバの場合は図15に従った変更を行う。ステップS50において、管理テーブル監視部は、過負荷となったI/O処理サーバに一定時間内にI/O処理要求が発行されているか否かを判断する。ステップS50の判断がYesの場合には、処理を終了する。ステップS50の判断がNoの場合には、ステップS51において、試験I/O処理要求を発行する。ステップS52において、試験I/O処理要求に対する応答が正常か否かを判断する。ステップS52の判断がNoの場合には、処理を終了する。ステップS52の判断がYesの場合には、閾値を変更して処理を終了する。図21は、I/O処理要求をSCSIコマンドで実現する場合のレスポンスデータフォーマットの一例を示す図である。図21のSCSIコマンドのレスポンスデータフォーマットは一般的なものであるが、過負荷状態を示すレスポンスとして、ユーザが自由に定義可能な値として定義されているコード番号のデータを設定するようにする。例えば、SenseKeyに9を、Additionalsencecodeには、0x80を設定する。このコード番号は、ベンダが自由に設定使用可能なものであるので、本実施形態の過負荷状態を示すレスポンスを示すものであると定義する。なお、ファイバチャネルのコマンドを用いる場合、SCSIコマンドを伝送する経路として光ファイバを使用している以外は、SCSIと同様に、venderspecificとして定義されているコード番号を過負荷状態を示すレスポンスとして使用する。図22は、アクセスサーバによるI/O処理サーバへの負荷問い合わせ処理のシーケンス図である。負荷状態の確認においては、アクセスサーバAがI/O処理サーバ1、に対してInquiryコマンドを発行する。I/O処理サーバ1、2ではInquiryの応答としてコマンドのvenderspecificの領域に負荷情報を入れて応答を返す。図23は、負荷情報の問い合わせコマンドであるInquiryに対する応答のフォーマットを示す図である。図23は、Inquiryコマンドに対する応答フォーマットの一般的なものであるが、このフォーマットの中に、venderspecificと指定されているフィールドがある。I/O処理サーバは、venderspecificと指定されている36~55バイト目の領域に、Inquiryを受け付けた時に既に受付済みで、かつ、処理完了前であったI/O処理要求の数を設定し、アクセスサーバに返送する。図24は、負荷状態の問い合わせの際のアクセスサーバの処理を示すフローチャートである。ステップS55のループでは、I/O処理サーバの数だけ処理を繰り返す。ステップS56において、Inquiryを発行し、ステップS57において、Inquiryの応答を受け付ける。ステップS58において、変数、例えば、nに、応答によって受信した、I/O処理サーバが受け付けている、単位時間当たりのI/O処理要求の数を設定する。ステップS59では、アクセスサーバが保持する管理テーブル内の、現在処理中のI/O処理サーバの閾値定義テーブルを参照し、ステップS60で、nがI/O頻度の閾値を超えているか否かを判断する。閾値定義テーブルは、図8、図9と同じものであって、レベル値設定部が保持する閾値レベルで示される、図9のようなI/O頻度の値を閾値として用いる。ステップS60の判断がNoの場合には、ステップS55のループを繰り返す。ステップS60の判断がYesの場合には、ステップS61において、閾値定義テーブルのレベル値設定部の閾値レベルの値を下げて、nの値がI/O頻度の閾値以下となるようにする。ステップS62でI/O処理サーバのソートを行い、その後、ステップS55のループを繰り返す。ステップS55のループが、全てのI/O処理サーバについて処理し終わったら、処理を終了する。図25は、本実施形態の処理をプログラムで実現する場合の、アクセスサーバ及びI/O処理サーバのハードウェア構成を説明する図である。アクセスサーバ及びI/O処理サーバは、CPU40を備えるコンピュータ39として実現される。CPU40には、バス50を介して、ROM41、RAM42、通信インタフェース43、記憶装置46、媒体読み取り装置47、及び、入出力装置49が接続される。CPU40は、ROM41に格納されているBIOS等の基本プログラムを読み込んで実行し、コンピュータ39の基本動作を実現させる。また、CPU40は、ハードディスクなどの記憶装置46に格納された、本実施形態の処理を行うプログラムをRAM42に展開して実行し、本実施形態の処理を実現する。本実施形態の処理を行うプログラムは、記憶装置46に格納されている必要は必ずしも無く、CD-ROM、DVD、Blu-ray、ICメモリ、フレキシブルディスクなどの可搬記録媒体48に格納されていても良い。この場合には、媒体読み取り装置47を用いて、可搬記録媒体48に格納されたプログラムを読み込み、RAM42に展開して、CPU40が実行する。入出力装置49は、キーボード、タブレット、マウス、ディスプレイ、プリンタなどの、コンピュータ39を操作するユーザが入力を行なったり、処理結果の出力を行ったりするものである。通信インタフェース43は、ネットワーク44を介して、情報提供者45の有するデータベース等にアクセスし、プログラム等をコンピュータ39にダウンロードするなどするものである。ダウンロードされたプログラムは、記憶装置46や可搬記録媒体48に格納したり、直接RAM42に展開してCPU40が実行したりする。また、プログラムの実行は、情報提供者45の有するコンピュータで行い、コンピュータ39は、入出力操作だけ行うようにしてもよい。