複数のストレージ装置と、前記複数のストレージ装置と接続され、前記各ストレージ装置に格納される少なくとも一部のデータを格納する管理ストレージ装置と、前記各ストレージ装置及び前記管理ストレージ装置のデータ転送を制御する転送制御部とを備えるストレージシステムであって、前記各ストレージ装置は、第1のプロセッサ及び前記第1のプロセッサに接続される第1のメモリを含む第1のコントローラと、前記第1のコントローラに接続される第1の記憶装置と、前記第1のコントローラに接続され、外部装置と通信するための第1のインタフェースと、を有し、前記管理ストレージ装置は、第2のプロセッサ及び前記第2のプロセッサに接続される第2のメモリを含む第2のコントローラと、前記第2のコントローラに接続される第2の記憶装置と、前記第2のコントローラに接続され、外部装置と通信するための第2のインタフェースと、を有し、前記転送制御部は、前記各ストレージ装置の処理負荷を表す第1の負荷情報を取得し、前記取得された第1の負荷情報に基づいて、データ転送が必要な前記ストレージ装置を検索し、前記検索されたデータ転送が必要なストレージ装置の中から、転送元の前記ストレージ装置を選択し、前記管理ストレージ装置又は他の前記ストレージ装置のいずれかを、前記転送元のストレージ装置に格納されたデータの転送先として選択し、前記選択された転送先に、前記転送元のストレージ装置に格納されたデータを転送することを特徴とするストレージシステム。前記転送制御部は、前記転送元のストレージ装置を選択する際に、前記第1の負荷情報に基づいて、最も処理負荷が高い前記ストレージ装置を選択し、前記転送元のストレージ装置に格納されるデータの転送先を選択する際に、前記管理ストレージ装置の処理負荷を示す第2の負荷情報を取得し、前記他のストレージ装置の処理負荷を示す第3の負荷情報を取得し、前記取得された第2の負荷情報に基づいて、前記管理ストレージ装置における処理負荷が所定の閾値以上であるか否かを判定し、前記管理ストレージ装置の処理負荷が前記所定の閾値以上である場合には、前記第3の負荷情報に基づいて、処理負荷が最も小さい前記他のストレージ装置を転送先として選択し、前記管理ストレージ装置の処理負荷が前記所定の閾値より小さい場合には、前記管理ストレージ装置を転送先として選択することを特徴とする請求項1に記載のストレージシステム。前記第1の負荷情報及び前記第3の負荷情報は、前記第1のプロセッサの使用状態、前記第1のメモリの使用状態、前記ネットワークの使用状態、転送待ちのデータ量、前記第1の記憶装置の空き容量、及び前記第1の記憶装置の使用容量の少なくともいずれかを含み、前記第2の負荷情報は、前記第2のプロセッサの使用状態、前記第2のメモリの使用状態、及び前記ネットワークの使用状態の少なくともいずれかを含むことを特徴とする請求項2に記載のストレージシステム。前記第1の負荷情報及び前記第3の負荷情報に含まれる、前記第1のプロセッサの使用状態、前記第1のメモリの使用状態、前記ネットワークの使用状態、転送待ちのデータ量、前記第1の記憶装置の空き容量、及び前記第1の記憶装置の使用容量は、前記ストレージ装置へのアクセスの履歴から算出された予測値であることをあることを特徴とする請求項3に記載のストレージシステム。前記転送制御部は、転送先として選択可能な前記他のストレージ装置を示す選択情報を保持し、前記選択情報に基づいて、前記他のストレージ装置から前記第3の負荷情報を取得することを特徴とする請求項2に記載のストレージシステム。前記複数のストレージ装置は、第1のデータを管理する第1のストレージ装置、第2のデータを管理する第2のストレージ装置、及び、第3のデータを管理する第3のストレージ装置を含み、前記転送制御部は、前記第1のストレージ装置を前記転送元のストレージ装置として、及び前記第2のストレージ装置を転送先の前記他のストレージ装置として選択した場合に、前記第1のストレージ装置が一以上の前記第2のデータを格納するか否かを判定し、前記第1のストレージ装置が一以上の前記第2のデータを格納すると判定された場合、前記第2のデータを前記第2のストレージ装置に転送し、その後、前記第1のストレージ装置が一以上の前記第3のデータを格納するか否かを判定し、前記第1のストレージ装置が一以上の前記第3のデータを格納すると判定された場合、前記第3のデータを前記第2のストレージ装置に転送し、その後、前記第1のストレージ装置に格納される前記第1のデータを転送することを特徴とする請求項1に記載のストレージシステム。複数の前記第1のデータ、複数の前記第2のデータ、及び複数の前記第3のデータを転送する場合に、アクセス日時及びデータ量の少なくともいずれかに基づいて、転送順を決定することを特徴とする請求項6に記載のストレージシステム。複数の前記第1のデータを転送する場合には、前記アクセス日時が古い前記第1のデータから順に転送し、複数の前記第2のデータを転送する場合には、前記アクセス日時が新しい前記第2のデータから順に転送し、複数の前記第3のデータを転送する場合には、前記データ量が小さい前記第3のデータから順に転送することを特徴とする請求項7に記載のストレージシステム。前記管理ストレージ装置又は前記複数のストレージ装置の少なくとも一以上が、前記転送制御部を有することを特徴とする請求項1に記載のストレージシステム。複数のストレージ装置と、前記複数のストレージ装置と接続され、前記各ストレージ装置に格納される少なくとも一部のデータを格納する管理ストレージ装置と、前記各ストレージ装置及び前記管理ストレージ装置のデータ転送を制御する転送制御部とを備えるストレージシステムにおけるデータ転送制御方法であって、前記各ストレージ装置は、第1のプロセッサ及び前記第1のプロセッサに接続される第1のメモリを含む第1のコントローラと、前記第1のコントローラに接続される第1の記憶装置と、前記第1のコントローラに接続され、外部装置と通信するための第1のインタフェースと、を有し、前記管理ストレージ装置は、第2のプロセッサ及び前記第2のプロセッサに接続される第2のメモリを含む第2のコントローラと、前記第2のコントローラに接続される第2の記憶装置と、前記第2のコントローラに接続され、外部装置と通信するための第2のインタフェースと、を有し、前記方法は、前記転送制御部が、前記各ストレージ装置の処理負荷を表す第1の負荷情報を取得する第1のステップと、前記転送制御部が、前記取得された第1の負荷情報に基づいて、データ転送が必要な前記ストレージ装置を検索する第2のステップと、前記転送制御部が、前記検索されたデータ転送が必要なストレージ装置の中から、転送元の前記ストレージ装置を選択する第3のステップと、前記転送制御部が、前記管理ストレージ装置又は他の前記ストレージ装置のいずれかを、前記転送元のストレージ装置に格納されたデータの転送先として選択する第4のステップと、前記選択された転送先に、前記転送元のストレージ装置に格納されたデータを転送する第5のステップと、を含むことを特徴とするデータ転送制御方法。前記第3のステップは、前記第1の負荷情報に基づいて、最も処理負荷が高い前記ストレージ装置を選択する第6のステップを含み、前記第4のステップは、前記管理ストレージ装置の処理負荷を示す第2の負荷情報を取得し、前記他のストレージ装置の処理負荷を示す第3の負荷情報を取得するステップと、前記取得された第2の負荷情報に基づいて、前記管理ストレージ装置における処理負荷が所定の閾値以上であるか否かを判定するステップと、前記管理ストレージ装置の処理負荷が前記所定の閾値以上である場合には、前記第3の負荷情報に基づいて、処理負荷が最も小さい前記他のストレージ装置を転送先として選択するステップと、前記管理ストレージ装置の処理負荷が前記所定の閾値より小さい場合には、前記管理ストレージ装置を転送先として選択するステップと、を含むことを特徴とする請求項10に記載のデータ転送制御方法。前記第1の負荷情報及び前記第3の負荷情報は、前記第1のプロセッサの使用状態、前記第1のメモリの使用状態、前記ネットワークの使用状態、転送待ちのデータ量、前記第1の記憶装置の空き容量、及び前記第1の記憶装置の使用容量の少なくともいずれかを含み、前記第2の負荷情報は、前記第2のプロセッサの使用状態、前記第2のメモリの使用状態、及び前記ネットワークの使用状態の少なくともいずれかを含むことを特徴とする請求項11に記載のデータ転送制御方法。前記第1の負荷情報及び前記第3の負荷情報に含まれる、前記第1のプロセッサの使用状態、前記第1のメモリの使用状態、前記ネットワークの使用状態、転送待ちのデータ量、前記第1の記憶装置の空き容量、及び前記第1の記憶装置の使用容量は、前記ストレージ装置へのアクセスの履歴から算出された予測値であることを特徴とする請求項12に記載のデータ転送制御方法。前記転送制御部は、転送先として選択可能な前記他のストレージ装置を示す選択情報を保持し、前記第6のステップでは、前記転送制御部が、前記選択情報に基づいて、前記他のストレージ装置から前記第3の負荷情報を取得することを特徴とする請求項11に記載のデータ転送制御方法。前記複数のストレージ装置は、第1のデータを管理する第1のストレージ装置、第2のデータを管理する第2のストレージ装置、及び、第3のデータを管理する第3のストレージ装置を含み、前記第5のステップは、前記第3のステップにおいて前記第1のストレージ装置が前記転送元のストレージ装置として選択され、前記第4のステップにおいて前記第2のストレージ装置が転送先の前記他のストレージ装置として選択された場合に、前記第1のストレージ装置が一以上の前記第2のデータを格納するか否かを判定する第11のステップと、前記第1のストレージ装置が一以上の前記第2データを格納すると判定された場合、前記第2のデータを前記第2のストレージ装置に転送し、その後、前記第1のストレージ装置が一以上の前記第3のデータを格納するか否かを判定する第12のステップと、前記第1のストレージ装置が一以上の前記第3のデータを格納すると判定された場合、前記第3のデータを前記第2のストレージ装置に転送し、その後、前記第1のストレージ装置に格納される前記第1のデータを転送する第13のステップと、を含むことを特徴とする請求項10に記載のデータ転送制御方法。複数の前記第1のデータ、複数の前記第2のデータ、及び複数の前記第3のデータを転送する場合に、アクセス日時及びデータ量の少なくともいずれかに基づいて、転送順を決定することを特徴とする請求項15に記載のデータ転送制御方法。複数の前記第1のデータを転送する場合には、前記アクセス日時が古い前記第1のデータから順に転送し、複数の前記第2のデータを転送する場合には、前記アクセス日時が新しい前記第2のデータから順に転送し、複数の前記第3のデータを転送する場合には、前記データ量が小さい前記第3のデータから順に転送することを特徴とする請求項16にデータ転送制御方法。前記管理ストレージ装置又は前記ストレージ装置の少なくとも一以上が、前記転送制御部を有することを特徴とする請求項10に記載のデータ転送制御方法。しかし、特許文献1に記載の方法では、複数のフロントエンドストレージが存在するような構成において、バックエンドストレージの処理性能がボトルネックとなり、フロントエンドストレージの円滑なデータ転送が妨げられる、フロントエンドストレージの空き容量が枯渇する可能性があった。従って、フロントエンドストレージの空き容量が枯渇しないように、ストレージ間のデータ転送を制御しなければならないという問題ある。本発明は前述の課題を解決するためになされたものである。本発明の代表的な一例を示せば以下の通りである。すなわち、複数のストレージ装置と、前記複数のストレージ装置と接続され、前記各ストレージ装置に格納される少なくとも一部のデータを格納する管理ストレージ装置と、前記各ストレージ装置及び前記管理ストレージ装置のデータ転送を制御する転送制御部とを備えるストレージシステムであって、前記各ストレージ装置は、第1のプロセッサ及び前記第1のプロセッサに接続される第1のメモリを含む第1のコントローラと、前記第1のコントローラに接続される第1の記憶装置と、前記第1のコントローラに接続され、外部装置と通信するための第1のインタフェースと、を有し、前記管理ストレージ装置は、第2のプロセッサ及び前記第2のプロセッサに接続される第2のメモリを含む第2のコントローラと、前記第2のコントローラに接続される第2の記憶装置と、前記第2のコントローラに接続され、外部装置と通信するための第2のインタフェースと、を有し、前記転送制御部は、前記各ストレージ装置の処理負荷を表す第1の負荷情報を取得し、前記取得された第1の負荷情報に基づいて、データ転送が必要な前記ストレージ装置を検索し、前記検索されたデータ転送が必要なストレージ装置の中から、転送元の前記ストレージ装置を選択し、前記管理ストレージ装置又は他の前記ストレージ装置のいずれかを、前記転送元のストレージ装置に格納されたデータの転送先として選択し、前記選択された転送先に、前記転送元のストレージ装置に格納されたデータを転送することを特徴とする。本発明によれば、管理ストレージ装置における負荷を平準化し、ストレージ装置間の円滑なデータ転送が可能となる。以下、本発明の実施の形態について、図面を用いて説明する。[第1の実施形態]第1の実施形態では、現在の各フロントストレージの情報に基づいて、バックエンドストレージがデータ転送を制御する。図1は、本発明の第1の実施形態におけるストレージシステムの構成例を示す説明図である。第1の実施形態におけるストレージシステムは、ネットワーク500、バックエンドストレージ1000、及び複数のフロントエンドストレージ2000から構成される。図1では、フロントエンドストレージA~Dがネットワーク500を介してバックエンドストレージ1000に接続されたストレージシステムの構成を表す。なお、以後、フロントエンドストレージ2000及びバックエンドストレージ1000を区別しない場合には、ストレージと記載する。各ストレージは、HardDiskDriveHDD、NetworkAttachedStorageNAS、又はファイルサーバであってもよい。各フロントエンドストレージ2000は、ネットワーク500を介して、他のフロントエンドストレージ2000、及びバックエンドストレージ1000と接続される。なお、ネットワーク500は、WAN、LAN又はSAN等どのようなネットワークであってもよい。図1では、ネットワークを介して各ストレージが接続された構成となっているが、本発明はこれに限定されない。例えば、計算機又はストレージ内に複数の記憶装置例えば、HDD及びSSD等を備える構成にも本発明を適用できる。図2は、本発明の第1の実施形態におけるバックエンドストレージ1000のソフトウェア構成及びハードウェア構成を示すブロック図である。バックエンドストレージ1000は、コントローラ1100及びディスクドライブ1200を備え、各構成は内部的な通信路によって接続される。ディスクドライブ1200は、フロントエンドストレージ2000から転送されたデータ、及び、当該バックエンドストレージ1000が使用するプログラム又はデータを格納する。なお、バックエンドストレージ1000は、データを格納できればよく、ディスクドライブ1200以外の記憶装置を備えてもよい。コントローラ1100は、バックエンドストレージ1000を制御し、さらに、ストレージ間のデータ転送を制御する。コントローラ1100は、ストレージインタフェース1110、メモリ1120、及びCPU1130を備え、各構成は内部的な通信路によって互いに接続される。CPU1130は、メモリ1120に格納されたプログラムを読み出し、読み出されたプログラムを実行する。ストレージインタフェース1110は、ネットワークを介して他の装置と接続する。メモリ1120は、CPU1130によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ1120は、データ転送制御プログラム1121、宛先リスト作成プログラム1122、ストレージリスト作成プログラム1123及びデータ送受信プログラム1124を格納する。また、メモリ1120は、宛先リストT100及びストレージリストT200を格納する。以後、プログラムを主語にして処理を記載する場合には、CPU1130がメモリ1120からプログラムを読み出して実行することによって、所定の処理を実行することを示す。データ転送制御プログラム1121は、ストレージリストT200に基づいて、各ストレージ間のデータ転送を制御する。宛先リスト作成プログラム1122は、各フロントエンドストレージ2000と通信することによって、宛先リストT100を作成する。ストレージリスト作成プログラム1123は、各フロントエンドストレージ2000から取得された情報に基づいて、ストレージリストT200を作成する。データ送受信プログラム1124は、フロントエンドストレージ2000との間のデータ送受信処理を制御する。各プログラムによって実現される処理の詳細についてはフローチャートを用いて後述する。宛先リストT100は、バックエンドストレージ1000に接続されるフロントエンドストレージ2000の位置を特定するための情報を格納する。バックエンドストレージ1000は、宛先リストT100を参照することによって接続されるフロントエンドストレージ2000の位置を把握することができる。宛先リストT100の詳細については、図4を用いて後述する。ストレージリストT200は、フロントエンドストレージ2000の使用状態、及び、フロントエンドストレージ2000におけるデータ転送の開始基準等の情報を格納する。バックエンドストレージ1000は、ストレージリストT200を参照して、フロントエンドストレージ2000におけるデータ転送の開始を判定する。ストレージリストT200の詳細については、図5を用いて後述する。なお、宛先リストT100及びストレージリストT200は、ディスクドライブ1200に格納されていてもよい。この場合、所定の処理の実行時にCPU1130によって、ディスクドライブ1200からメモリ1120に読み出される。なお、本実施形態では、バックエンドストレージ1000が、前述した各プログラムを備えるものとして説明しているが、図示しないネットワークスイッチ又は管理サーバなど、他の装置が前述した各プログラムを備えてもよい。図3は、本発明の第1の実施形態におけるフロントエンドストレージ2000のソフトウェア構成及びハードウェア構成を示すブロック図である。フロントエンドストレージ2000は、コントローラ2100及びディスクドライブ2200を備え、各構成は内部的な通信路によって互いに接続される。ディスクドライブ2200は、各種データを格納する。例えば、フロントエンドストレージ2000自身が使用するプログラム又はデータ、及び他のフロントエンドストレージ2000から転送されたデータ等が格納される。なお、フロントエンドストレージ2000は、データを格納できればよく、ディスクドライブ1200以外の記憶装置を備えてもよい。コントローラ2100は、フロントエンドストレージ2000を制御する。コントローラ2100は、ストレージインタフェース2110、メモリ2120、及びCPU2140を備え、各構成は内部的な通信路によって互いに接続される。CPU2140は、メモリ2120に格納されたプログラムを読み出し、読み出されたプログラムを実行する。ストレージインタフェース2110は、ネットワークを介して他の装置と接続する。メモリ2120は、CPU2140によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ2120は、データ送受信制御プログラム2121、データ管理プログラム2122、データリスト作成プログラム2123、及びデータ送受信制御プログラム2124を格納する。また、メモリ2120は、所有データリストT300及び格納先リストT350を格納する。データ送受信制御プログラム2121は、所有データリストT300に基づいて、フロントエンドストレージ2000間のデータ転送を制御する。データ管理プログラム2122は、各フロントエンドストレージ2000に格納されるデータを管理する。データリスト作成プログラム2123は、データ管理プログラム2122が管理する情報に基づいて、所有データリストT300を作成する。データ送受信制御プログラム2124は、他のフロントエンドストレージ2000及びバックエンドストレージ1000とのデータ送受信を制御する。各プログラムによって実現される処理の詳細については、フローチャートを用いて後述する。所有データリストT300は、ストレージシステムにおけるデータの管理情報を格納する。所有データリストT300の詳細については、図6を用いて後述する。格納先リストT350は、ストレージシステムにおけるデータの格納場所を示す情報を格納する。格納先リストT350の詳細については、図7を用いて後述する。なお、本実施形態では、フロントエンドストレージ2000が、前述した各プログラムを備えるものとして説明しているが、図示しないネットワークスイッチ又は管理サーバなど、他の装置が備えていてもよい。図4は、本発明の第1の実施形態における宛先リストT100の一例を示す説明図である。宛先リストT100は、宛先リスト作成プログラム1122によって作成されリストであり、バックエンドストレージ1000に接続される全フロントエンドストレージ2000の接続位置を特定する情報を格納する。宛先リストT100は、ストレージ名T101及びIPアドレスT102を含む。ストレージ名T101は、バックエンドストレージ1000に接続されるフロントエンドストレージ2000の識別子を格納する。IPアドレスT102は、フロントエンドストレージ2000に割り当てられるIPアドレスを格納する。図5は、本発明の第1の実施形態におけるストレージリストT200の一例を示す説明図である。ストレージリストT200は、ストレージリスト作成プログラム1123によって作成されるリストであり、フロントエンドストレージ2000の使用状態に関する情報を格納する。ストレージリストT200は、ストレージ名T201、最大容量T202、使用容量T203、空き容量T204、転送開始基準値T205及び未転送容量T206を含む。ストレージ名T201は、フロントエンドストレージ2000の識別子を格納する。最大容量T202は、ストレージ名T201に対応するフロントエンドストレージ2000に格納可能な容量の最大値を格納する。使用容量T203は、ストレージ名T201に対応するフロントエンドストレージ200に、現時点において使用されている容量を格納する。すなわち、実際に使用されている記憶領域の容量を表す値が格納される。空き容量T204は、ストレージ名T201に対応するフロントエンドストレージ2000の現時点における使用可能な空き容量を格納する。転送開始基準値T205は、ストレージ名T201に対応するフロントエンドストレージ2000において、データ転送を開始するか否かを判定するための基準値を格納する。本実施形態では、使用容量T203の値が転送開始基準値T205の値より大きくなった場合に、データ転送が開始される。なお、転送開始基準値T205は、ユーザが任意に設定可能な閾値である。未転送データ量T206は、バックエンドストレージ1000又は他のフロントエンドストレージ2000に転送される予定のデータのデータ量を格納する。未転送データ量T206は、例えば、使用容量T203から転送開始基準値T205を減算することによって算出することができる。なお、前述した計算式の結果がマイナスになる場合には0が格納される。図5に示す例では、使用容量T203、空き容量T204、転送開始基準値T205及び未転送データ量T206には、絶対値が格納されているが、最大容量に対する割合等を用いてもよい。なお、バックエンドストレージ1000は、宛先リストT100及びストレージリストT200を連結して一つのリストとして保持してもよい。図6は、本発明の第1の実施形態における所有データリストT300の一例を示す説明図である。所有データリストT300は、データリスト作成プログラム2123によって作成されるリストであり、フロントエンドストレージ2000に格納されるデータの管理情報を格納する。所有データリストT300は、データ名T301、データ量T302、所属先T303及び最終アクセス日時T304を含む。データ名T301は、フロントエンドストレージ2000に格納されるデータを一意に識別するための識別子を格納する。データ量T302は、データ名T301に対応するデータのデータ量を格納する。所属先T303は、データ名T301に対応するデータを最初に作成し、さらに、格納していたフロントエンドストレージ2000の識別子を格納する。例えば、所属先T303にフロントエンドストレージBが格納されている場合、当該データは、フロントエンドストレージBによって作成され、さらにフロントエンドストレージBに格納されていたデータであることを示す。図6では、フロントエンドストレージAにおける所有データリストT300を示している。データA及びデータBは、フロントエンドストレージAにおいて作成され、また保存されていたため、所属先T303にフロントエンドストレージAが格納される。一方、データCは、フロントエンドストレージBにおいて作成され、また保存されていたため、所属先T303にフロントエンドストレージBが格納される。図7は、本発明の第1の実施形態における格納先リストT350の一例を示す説明図である。格納先リストT350は、データリスト作成プログラム2123によって作成されるリストであり、ストレージシステムが管理する全データの格納先を管理する情報を格納する。データリスト作成プログラム2123は、フロントエンドストレージ2000及びバックエンドストレージ1000に問い合わせて、各ストレージが格納するデータの情報を取得し、取得された情報に基づいて格納先リストT350を作成する。格納先リストT350は、データ名T351及び格納先T352を含む。データ名T351は、ストレージシステムが管理するデータを一意に識別する識別子を格納する。格納先T352は、データ名T351に対応するデータが実際に格納されるストレージの識別子を格納する。図7に示す例では、データAはフロントエンドストレージAに格納され、データBはバックエンドストレージに格納され、また、データCはフロントエンドストレージBに格納される。フロントエンドストレージ2000は、格納先リストT350に基づいて、要求されたデータの格納先を特定することができる。フロントエンドストレージ2000は、利用者から所定のデータのアクセス要求を受け付けた場合、以下のような処理を実行する。まず、フロントエンドストレージ2000は、アクセス要求を解析して、アクセス対象となるデータを特定する。次にフロントエンドストレージ2000は、格納先リストT350を参照して、アクセス対象のデータが格納されるストレージを特定する。他のストレージに格納される場合には、フロントエンドストレージ2000は、他のストレージからデータを取得して利用者に応答する。自ストレージに格納される場合には、フロントエンドストレージ2000は、自身の記憶領域からデータを読み出して、利用者に応答する。図8は、本発明の第1の実施形態におけるデータ転送の制御処理S100を説明するフローチャートである。データ転送の制御処理S100では、バックエンドストレージ1000が、フロントエンドストレージ2000と連携して処理を実行する。以下、図8に沿って各処理について説明する。バックエンドストレージ1000は、以下で説明する処理を周期的に実行してもよいし、ストレージシステムの管理者からの指示に基づいて実行してもよい。まず、バックエンドストレージ1000は、ストレージリストの作成処理S200を実行して、ストレージリストT200を作成するステップS101。具体的には、ストレージリスト作成プログラム1123が、ストレージリストの作成処理S200を実行して、ストレージリストT200を作成し、作成されたストレージリストT200をメモリ1120又はディスクドライブ1200に格納する。なお、ストレージリストの作成処理S200の詳細は、図9を用いて後述する。次に、バックエンドストレージ1000は、各フロントエンドストレージ2000に所有データリストT300の更新を指示するステップS102。具体的には、データ送受信プログラム1124が、宛先リストT100を参照して、各フロントエンドストレージ2000にデータリストT300の更新を指示する。当該指示を受信したフロントエンドストレージ2000は、データリスト作成プログラム2123を呼び出して以下の処理を実行する。データリスト作成プログラム2123は、データ管理プログラム2122に対して、現時点においてフロントエンドストレージ2000に格納されるデータの情報を問い合わせる。データ管理プログラム2122は、当該問い合わせに対する応答を返信する。データリスト作成プログラム2123は、当該応答に基づいて、データ名T301、データ量T302及び所属先T303をマージして所有データリストT300を更新する。なお、更新された所有データリストT300は、メモリ2120又はディスクドライブ2200に格納される。所有データリストT300が更新され後、データ送受信制御プログラム2124が、バックエンドストレージ1000に対して、更新処理が終了した旨を通知する。次に、バックエンドストレージ1000は、作成されたストレージリストT200を参照して、データ転送が必要なフロントエンドストレージ2000が存在するか否かを判定するステップS103。すなわち、データ転送が必要なフロントエンドストレージ2000の検索処理が実行される。具体的には、データ転送制御プログラム1121が、ストレージリストT200を参照して、未転送データ量T206が0でないフロントエンドストレージ2000が存在するか否かを判定する。未転送データ量T206が0でないフロントエンドストレージ2000が存在する場合には、データ転送が必要なフロントエンドストレージ2000が存在すると判定される。なお、ステップS103における判定方法は前述したものに限定されない。例えば、データ転送制御プログラム1121が、ストレージリストT200の空き容量T204を参照して、空き容量T204が予め設定された閾値以下のフロントエンドストレージ2000が存在するか否かを判定する。なお、予め設定された閾値は、管理者によって設定された値であってもよいし、バックエンドストレージ1000が自動的に設定した値であってもよい。空き容量T204が予め設定された閾値以下のフロントエンドストレージ2000が存在する場合には、データ転送が必要なフロントエンドストレージ2000が存在すると判定される。また、ステップS103における判定方法は、使用容量T203に基づいた判定処理であってもよい。また、フロントエンドストレージ2000から、CPU使用率、メモリ使用率、ネットワーク使用率等を取得し、CPU使用率、メモリ使用率、及びネットワーク使用率等に基づいた判定処理であってもよい。すなわち、ステップS103では、フロントエンドストレージ2000の性能低下を示す負荷情報に基づいて判定できればよい。データ転送が必要なフロントエンドストレージ2000が存在しないと判定された場合、バックエンドストレージ1000は、処理を終了する。データ転送が必要なフロントエンドストレージ2000が存在すると判定された場合、バックエンドストレージ1000は、全フロントエンドストレージ2000にデータ転送の終了を指示するステップS104。具体的には、データ転送制御プログラム1121が、ストレージリストT200を参照して、当該リストに対応する全てのフロントエンドストレージ2000に対して、現在実行中のデータ転送を終了するように指示する。各フロントエンドストレージ2000のデータ送受信制御プログラム2121は、当該指示を受信すると、現在実行中のデータ転送を終了する。バックエンドストレージ1000は、データ転送の制御処理S300を実行し、所定のフロントエンドストレージ2000にデータ転送の開始を指示するステップS105。具体的には、データ転送制御プログラム1121が、データ転送の制御処理S300を実行して、所定のフロントエンドストレージ2000にデータ転送の開始を指示する。当該指示を受信したフロントエンドストレージ2000は、受信した指示に従ってデータ転送を開始する。なお、データ転送の制御処理S300の詳細は、図10を用いて後述する。バックエンドストレージ1000は、フロントエンドストレージ2000におけるデータ転送の完了を待ってステップS106、ステップS101に戻り同様の処理を実行する。データ転送の完了を確認する方法としては、管理者によって予め設定された任意時間経過するのを待つ方法、フロントエンドストレージ2000からデータ転送の完了通知を受信する方法など様々考えられる。本発明はこれに限定されずどのような方法を用いてもよい。データ転送の完了を待つことによって、当該フローチャートで説明した処理が連続して何度も実行されないようにできる。図9は、本発明の第1の実施形態におけるストレージリストの作成処理S200を説明するフローチャートである。ストレージリストの作成処理S200では、バックエンドストレージ1000が、フロントエンドストレージ2000と連携して処理を実行する。以下、図9に沿って各処理について説明する。バックエンドストレージ1000は、宛先リストT100を参照して、選択されていないフロントエンドストレージ2000があるか否かを判定するステップS201。すなわち、処理が実行されていないフロントエンドストレージ2000があるか否かが判定される。具体的には、ストレージリスト作成プログラム1123が、宛先リストT100を参照して、選択されていないフロントエンドストレージ2000があるか否かを判定する。例えば、処理されたフロントエンドストレージ2000の識別子をキャッシュとして保持しておき、当該キャッシュに基づいて宛先リストT100を参照することによって、当該判定を実行する方法が考えられる。選択されていないフロントエンドストレージ2000がないと判定された場合、バックエンドストレージ1000は、ステップS205に進む。選択されていないフロントエンドストレージ2000があると判定された場合、バックエンドストレージ1000は、選択されていないフロントエンドストレージ2000を一つ選択するステップS202。具体的には、ストレージリスト作成プログラム1123が、宛先リストT100の中から選択されていないフロントエンドストレージ2000を一つ選択する。次に、バックエンドストレージ1000は、選択されたフロントエンドストレージに対して、ストレージリストT200を作成するために必要な情報の送信を指示するステップS203。具体的には、ストレージリスト作成プログラム1123が、選択されたフロントエンドストレージ2000に対して、ストレージリストT200を作成するために必要な情報の送信を指示する。ここで、ストレージリストT200を作成するために必要な情報とは、ストレージ名T201、最大容量T202、使用容量T203、空き容量T204、転送開始基準値T205及び未転送データ量T206のことを表す。当該指示を受信したフロントエンドストレージ2000のデータ管理プログラム2122は、ストレージリストT200を作成するために必要な情報をバックエンドストレージ1000に送信する。バックエンドストレージ1000は、選択されたフロントエンドストレージ2000から必要な情報を受信しステップS204、ステップS201に戻り同様の処理を実行する。ステップS201において、選択されていないフロントエンドストレージ2000がないと判定された場合、バックエンドストレージ1000は、各フロントエンドストレージ2000から取得された情報に基づいて、ストレージリストT200を作成し、処理を終了するステップS205。具体的には、ストレージリスト作成プログラム1123が、各フロントエンドストレージ2000から受信した情報に基づいて、ストレージリストT200を作成する。図10A及び図10Bは、本発明の第1の実施形態におけるデータ転送の制御処理S300を説明するフローチャートである。データ転送の制御処理S300では、バックエンドストレージ1000がフロントエンドストレージ2000と連携して処理を実行する。以下、図10A及び図10Bに沿って各処理について説明する。バックエンドストレージ1000は、空き容量の小さい順にストレージリストT200のエントリを整列するステップS301。具体的には、データ転送制御プログラム1121が、ストレージリストT200を参照して、空き容量T204の値が小さい順にストレージリストT200のエントリを整列する。なお、本実施形態では、空き容量T204の値が小さい順にエントリを整列する方法を用いているが本発明はこれに限定されない。例えば、未転送データ量T206の値が大きい順に整列させる方法又は使用容量T203の値が大きい順に整列させる方法など、管理者が任意の方法を選択できる。バックエンドストレージ1000は、自身の処理状態を確認するステップS302。具体的には、データ転送制御プログラム1121が、データ送受信プログラム1124に対して、バックエンドストレージ1000の処理状態を問い合わせる。データ送受信プログラム1124は、バックエンドストレージ1000の処理状態を示す情報を応答する。ここで、バックエンドストレージ1000の処理状態を示す情報としては、CPU負荷、I/O待ち、メモリ使用量、及びネットワークの使用率等が考えられるが、本発明はバックエンドストレージ1000の処理状態を示す情報であればどのようなものであってもよい。バックエンドストレージ1000は、処理限界の状態であるか否かを判定するステップS303。すなわち、フロントエンドストレージ2000から転送されるデータを処理できるか否かが判定される。具体的には、データ転送制御プログラム1121が、ステップS302において取得された情報に基づいて、バックエンドストレージ1000が処理限界の状態であるか否かを判定する。例えば、CPU負荷が所定の閾値以上である場合、閾値以上のI/O待ちが発生している場合、又はネットワークの使用率が所定の閾値以上である場合に、バックエンドストレージ1000が処理限界の状態であると判定される。処理限界の状態でない場合には、バックエンドストレージ1000へのデータ転送が実行できる。一方、処理限界の状態である場合、バックエンドストレージ1000へのデータ転送は実行できないため、他のフロントエンドストレージ2000へのデータ転送が実行されることとなる。処理限界の状態でないと判定された場合、バックエンドストレージ1000は、空き容量が最小のフロントエンドストレージ2000を選択するステップS304。具体的には、データ転送制御プログラム1121が、ストレージリストT200の最上位のエントリを選択する。バックエンドストレージ1000は、選択されたフロントエンドストレージ2000に、当該バックエンドストレージ1000へのデータ転送処理S400の実行を指示するステップS305。具体的には、データ転送制御プログラム1121が、選択されたフロントエンドストレージ2000に対して、バックエンドストレージ1000へのデータ転送処理S400の実行を指示する。なお、当該指示には、フロントエンドストレージ2000に対応する転送開始基準値T205が含まれる。データ転送処理S400の指示を受けたフロントエンドストレージ2000は、データ送受信制御プログラム2121を読み出す。読み出されたデータ送受信制御プログラム2121は、後述するデータ転送処理S400を実行して、バックエンドストレージ1000へのデータ転送を開始する。なお、データ転送処理S400の詳細については、図11を用いて後述する。バックエンドストレージ1000は、ストレージリストT200から選択されたフロントエンドストレージ2000に対応するエントリを削除するステップS306。具体的には、データ転送制御プログラム1121が、ストレージリストT200から、選択されたフロントエンドストレージ2000に対応するエントリを削除する。バックエンドストレージ1000は、ストレージリストT200にエントリが存在するか否かを判定するステップS307。すなわち、全てのフロントエンドストレージ2000について処理が終了したか否かが判定される。具体的には、データ転送制御プログラム1121が、ストレージリストT200を参照して、当該ストレージリストT200にエントリ存在するか否かを判定する。ストレージリストT200にエントリが存在しないと判定された場合、バックエンドストレージ1000は、処理を終了する。ストレージリストT200にエントリが存在すると判定された場合、バックエンドストレージ1000は、ステップS301に戻り同様の処理を実行する。ステップS303において、処理限界の状態であると判定された場合、バックエンドストレージ1000は、転送元として空き容量が最小のフロントエンドストレージ2000を、及び、転送先として空き容量が最大のフロントエンドストレージ2000を選択するステップS308。以後、空き容量が最小のフロントエンドストレージ2000を最小フロントストレージ2000とも記し、空き容量が最大のフロントエンドストレージ2000を最大フロントストレージ2000とも記す。具体的には、データ転送制御プログラム1121が、ストレージリストT200の最上位のエントリを転送元として選択し、ストレージリストT200の最下位のエントリをデータの転送先として選択する。なお、本実施形態では、最小フロントエンドストレージ2000をデータの転送元として、最大フロントエンドストレージ2000をデータの転送先として選択したが、本発明はこれに限定されない。例えば、以下のような選択方法を用いてもよい。データの転送先の選択方法については、CPU負荷が低い、メモリ使用量が少ない、又はネットワーク負荷が低いフロントエンドストレージ2000を選択する方法が考えられる。また、転送元のフロントエンドストレージ2000とハードウェア構成が同一、又は、転送元のフロントエンドストレージ2000とネットワーク性能が同一のフロントエンドストレージ2000を選択する方法が考えられる。また、使用容量が小さい又は未転送データ量が小さいフロントエンドストレージ2000を選択する方法が考えられる。データの転送元の選択方法については、CPU負荷が高い、メモリ使用量が多い又はネットワーク負荷が高いフロントエンドストレージ2000を選択する方法が考えられる。また、使用容量が大きい又は未転送データ量が大きいフロントエンドストレージ2000を選択する方法が考えられる。すなわち、本発明では、データ転送に適したフロントエンドストレージ2000を選択できればよい。バックエンドストレージ1000は、最大フロントストレージ2000及び最小フロントストレージ2000の空き容量の差を算出し、当該差が所定の閾値以下であるか否かを判定するステップS309。具体的には、データ転送制御プログラム1121が、ストレージリストT200を参照して、最大フロントストレージ2000の空き容量T204から最小フロントストレージYの空き容量T204を減算して空き容量の差を算出する。さらに、データ転送制御プログラム1121は、算出された空き容量の差が予め設定された閾値以下であるか否かを判定する。これは、2つのフロントエンドストレージ2000の空き容量の差が小さい場合には、転送先のフロントエンドストレージ2000の空き容量に余裕がなくなり、頻繁にデータ転送が実行されることを防止するためである。当該判定処理によって、フロントエンドストレージ2000間の無駄なデータ転送を抑制することができる。なお、所定の閾値は、管理者が設定してもよいし、バックエンドストレージ1000が自動的に算出してもよい。例えば、転送元のフロントエンドストレージ2000から転送されるデータ量の2倍の値を閾値として用いることが考えられる。算出された空き容量の差が所定の閾値以下であると判定された場合、バックエンドストレージ1000は、データ転送を実行しないため処理を終了する。算出された空き容量の差が所定の閾値より大きいと判定された場合、バックエンドストレージ1000は、最小フロントエンドストレージ2000に対して、データ転送処理S500の実行を指示するステップS310。具体的には、データ転送制御プログラム1121が、最小フロントエンドストレージ2000に対して、最大フロントエンドストレージ2000へのデータ転送処理S500の実行を指示する。なお、当該指示には、フロントエンドストレージ2000に対応する転送開始基準値T205が含まれる。最小フロントエンドストレージ2000のデータ送受信制御プログラム2121は、当該指示を受け付けると、最大フロントエンドストレージへのデータ転送処理S500を実行して、最大フロントエンドストレージ2000へのデータ転送処理を開始する。なお、データ転送処理S500の詳細については、図12を用いて後述する。バックエンドストレージ1000は、最大フロントエンドストレージ2000及び最小フロントエンドストレージ2000に対応するエントリをストレージリストT200から削除しステップS311、ステップS307に戻り同様の処理を実行する。具体的には、データ転送制御プログラム1121が、最大フロントエンドストレージ2000及び最小フロントエンドストレージ2000に対応するエントリをストレージリストT200から削除する。図11は、本発明の第1の実施形態におけるデータ転送処理S400を説明するフローチャートである。データ転送処理S400は、各フロントエンドストレージ2000によって実行される。以下、図11に沿って各処理について説明する。フロントエンドストレージ2000は、他のフロントエンドストレージ2000から転送されたデータを格納するか否かを判定するステップS401。具体的には、データ送受信制御プログラム2121が、所有データリストT300を参照して、所属先T303にデータ送受信制御プログラム2121が実行されるフロントエンドストレージ2000の識別子と、異なるデータが存在するか否かを判定する。例えば、フロントエンドストレージAの処理において、所属先T303にフロントエンドストレージBが格納される場合、フロントエンドストレージBから転送されたデータであることが分かる。ステップS401の目的は、他フロントエンドストレージ2000から転送されたデータを、自フロントエンドストレージ2000のデータよりも優先して、バックエンドストレージ1000に転送することにある。これによって、各フロントエンドストレージ2000におけるフロントヒット率を向上させることができ、さらに、ストレージ間の無駄なデータ転送を抑制することができる。ここで、フロントヒット率とは、フロントエンドストレージ2000へアクセスする利用者からアクセス要求を受信した場合に、フロントエンドストレージ2000上に要求されたデータが存在する確率のことを表す。他のフロントエンドストレージ2000から転送されたデータを格納すると判定された場合、フロントエンドストレージ2000は、所有データリストT300を参照して、当該データの中から最もデータ量の小さいデータを選択しステップS402、ステップS403に進む。具体的には、データ送受信制御プログラム2121が、所有データリストT300のデータ量T302を参照して、他フロントエンドストレージ2000から転送されたデータのうち、最もデータ量T302が小さいデータを一つ選択する。なお、本実施形態では、データ量の小さい順に転送するデータを選択しているが本発明はこれに限定されない。例えば、データ量の大きい順、又はデータ名の順など他の指標に基づいて、転送するデータを選択してよい。次に、フロントエンドストレージ2000は、選択されたデータをバックエンドストレージ1000に転送するステップS403。具体的には、データ送受信制御プログラム2121が、データ送受信制御プログラム2124に対して、選択されたデータの転送を指示する。当該指示を受けたデータ送受信制御プログラム2124は、選択されたデータをバックエンドストレージ1000に転送する。フロントエンドストレージ2000は、所有データリストT300及び格納先リストT350を更新しステップS404、ステップS401に戻り同様の処理を実行する。具体的には、データ送受信制御プログラム2121が、所有データリストT300から選択されたデータに対応するエントリを削除する。また、データ送受信制御プログラム2121が、格納先リストT350のうち、転送されたデータに対応するエントリの格納先T352をバックエンドストレージに変更する。なお、フロントエンドストレージ2000は、格納先リストT350の更新結果を他のフロントエンドストレージ2000に通知する。これによって、各フロントエンドストレージ2000は、所定のデータのアクセス先を把握できる。ステップ401において、他のフロントエンドストレージ2000から転送されたデータを格納していないと判定された場合、フロントエンドストレージ2000は、所有データリストT300を参照して、当該フロントエンドストレージ2000自身が転送予定のデータを保持するか否かを判定するステップS405。具体的には、データ送受信制御プログラム2121が、所有データリストT300を参照して、当該所有データリストT300にエントリが存在するか否かを判定する。所有データリストT300にエントリが存在しない場合には、転送予定のデータを保持すると判定される。転送予定のデータを保持していないと判定された場合、すなわち、全データ転送が完了したと判定された場合、フロントエンドストレージ2000は、処理を終了する。転送予定のデータを保持していると判定された場合、フロントエンドストレージ2000は、バックエンドストレージ1000から通知された転送開始基準値T205に基づいて、データ転送が必要であるか否かを判定するステップS406。具体的には、データ送受信制御プログラム2121が、データ管理プログラム2122に対して、現時点におけるフロントエンドストレージの使用容量が転送開始基準値T205以上であるか否かを問い合わせる。現時点におけるフロントエンドストレージ2000の使用容量が転送開始基準値T205以上である場合、データ転送が必要であると判定される。データ転送が必要でないと判定された場合、フロントエンドストレージ2000は、処理を終了する。データ転送が必要であると判定された場合、フロントエンドストレージ2000は、所有データリストT300を参照して最も古いデータを選択しステップS407、ステップS403に進む。具体的には、データ送受信制御プログラム2121が、所有データリストT300の中から、最終アクセス日時T304が古いデータを選択する。なお、本実施形態では、アクセス日時が古い順に転送するデータを選択しているが、本発明はこれに限定されない。例えば、データ量の大きい順、又はデータ名の順など他の指標に基づいて、転送するデータを選択してもよい。図12は、本発明の第1の実施形態におけるデータ転送処理S500を説明するフローチャートである。データ転送処理S500は、各フロントエンドストレージ2000によって実行される。以下、図12に沿って各処理について説明する。最小フロントエンドストレージ2000は、所有データリストT300を参照して、転送先である最大フロントエンドストレージ2000から転送されたデータを格納するか否かを判定するステップS501。具体的には、最小フロントエンドストレージ2000のデータ送受信制御プログラム2121が、所有データリストT300の所属先T303を参照し、最大フロントエンドストレージ2000の識別子であるデータが存在するか否かを判定する。例えば、フロントエンドストレージAからフロントエンドストレージBへのデータを転送の場合、フロントエンドストレージAが管理する所有データリストT300のうち、所属先T303がフロントエンドストレージBとなっているデータが存在するか否かが判定される。所属先T303が最大フロントエンドストレージ2000の識別子であるデータが存在する場合には、転送先の最大フロントエンドストレージ2000から転送されたデータを格納すると判定される。ステップS501では、他のフロントエンドストレージ2000から転送されたデータのうち、最大フロントエンドストレージ2000から転送されたデータを優先的に転送することによって、転送先の最大フロントエンドストレージにおけるフロントヒット率を向上させることができ、さらに、ストレージ間の無駄なデータ転送を抑制することができる。最大フロントエンドストレージ2000から転送されたデータを格納すると判定された場合、最小フロントエンドストレージ2000は、所有データリストT300を参照して、当該データのうち最も新しいデータを選択しステップS502、ステップS503に進む。具体的には、データ送受信制御プログラム2121が、最大フロントエンドストレージ2000から転送されたデータのうち、最終アクセス日時T304が最も新しいデータを一つ選択する。これによって、最大フロントエンドストレージ2000におけるフロントヒット率を向上させることができる。なお、本実施形態では、アクセス日時が新しい順に転送するデータを選択しているが、本発明はこれに限定されない。例えば、データ量の大きい順、又はデータ名の順など他の指標に基づいて、転送するデータを選択してよい。最小フロントエンドストレージ2000は、選択されたデータを最大フロントエンドストレージ2000に転送するステップS503。具体的には、最小フロントエンドストレージ2000のデータ送受信制御プログラム2121が、データ送受信制御プログラム2124に対して、選択されたデータの転送開始を指示する。当該指示を受けたデータ送受信制御プログラム2124は、選択されたデータを転送先の最大フロントエンドストレージ2000に転送する。最小フロントエンドストレージ2000は、所有データリストT300及び格納先リストT350を更新しステップS504、ステップS501に戻り同様の処理を実行する。具体的には、データ送受信制御プログラム2121が、所有データリストT300から選択されたデータに対応するエントリを削除する。また、データ送受信制御プログラム2121が、格納先リストT350のうち、転送されたデータに対応するエントリの格納先T352を、最大フロントエンドストレージ2000の識別子に変更する。ステップS501において、転送先である最大フロントエンドストレージ2000から転送されたデータを格納しないと判定された場合、最小フロントエンドストレージ2000は、他のフロントエンドストレージ2000から転送されたデータを格納するか否かを判定するステップS505。具体的には、データ送受信制御プログラム2121が、所有データリストT300の所属先T303を参照し、最小フロントエンドストレージの識別子と異なるデータが存在するか否かを判定する。所属先T303が最小フロントエンドストレージの識別子と異なるデータが存在する場合には、他のフロントエンドストレージ2000から転送されたデータを格納すると判定される。他のフロントエンドストレージ2000から転送されたデータを格納すると判定された場合、最小フロントエンドストレージ2000は、当該データの中からデータ量が最小のデータを選択しステップS506、ステップS503に進む。具体的には、データ送受信制御プログラム2121が、所有データリストT300を参照して、他のフロントエンドストレージ2000から転送されたデータのうちデータ量T302が最も小さいデータを選択する。なお、本実施形態では、データ量が小さい順に転送するデータを選択しているが、本発明はこれに限定されない。例えば、アクセス日時が新しい順、又はデータ名の順など他の指標に基づいて、転送するデータを選択してよい。ステップ505において、他のフロントエンドストレージ2000から転送されたデータを格納しないと判定された場合、最小フロントエンドストレージ2000は、当該フロントエンドストレージ2000自身が転送する予定のデータを格納するか否かを判定するステップS507。具体的には、データ送受信制御プログラム2121が、所有データリストT300を参照して、当該所有データリストT300にエントリが存在するか否かを判定する。所有データリストT300にエントリが存在しない場合には、転送する予定のデータを格納すると判定される。転送する予定のデータを保持していないと判定された場合、すなわち、全データ転送が完了したと判定された場合、フロントエンドストレージ2000は、処理を終了する。転送予定のデータを保持していると判定された場合、最小フロントエンドストレージ2000は、バックエンドストレージ1000から通知された転送開始基準値T205に基づいて、データ転送が必要であるか否かを判定するステップS508。具体的には、データ送受信制御プログラム2121が、データ管理プログラム2122に対して、現時点における最小フロントエンドストレージ2000の使用容量が転送開始基準値T205以上であるか否かを問い合わせる。現時点における最小フロントエンドストレージの使用容量が転送開始基準値T205以上である場合、データ転送が必要であると判定される。データ転送が必要でないと判定された場合、最小フロントエンドストレージ2000は、処理を終了する。データ転送が必要であると判定された場合、最小フロントエンドストレージ2000は、所有データリストT300を参照して最も古いデータを選択しステップS509、ステップS503に進む。具体的には、データ送受信制御プログラム2121が、所有データリストT300のうち、最終アクセス日時T304が最も古いデータを選択する。なお、本実施形態では、アクセス日時が古い順に転送するデータを選択しているが、本発明はこれに限定されない。例えば、データ量の大きい順、又はデータ名の順など他の指標に基づいて、転送するデータを選択してよい。なお、転送先のフロントエンドストレージ2000に格納されるデータは、バックエンドストレージ1000の処理限界の状態が解消された後に転送されるようにしてもよい。第1の実施形態によれば、バックエンドストレージ1000が、フロントエンドストレージ2000からのデータ転送を実現できない場合であっても、適切なフロントエンドストレージ2000を選択し、当該フロントエンドストレージ2000にデータを転送することができる。これによって、フロントエンドストレージ2000の空き容量を確保し、かつ、バックエンドストレージ1000等の負荷を低減することができる。[第2の実施形態]第1の実施形態では、バックエンドストレージ1000がデータ転送を制御していたが、第2の実施形態では各フロントエンドストレージ2000がデータ転送処理を制御する点が異なる。以下、第1の実施形態との差異を中心に説明する。第2の実施形態におけるストレージネットワークの構成は第1の実施形態と同一であるため説明を省略する。また、第2の実施形態におけるバックエンドストレージ1000の構成についても第1の実施形態と同一であるため説明を省略する。図13は、本発明の第2の実施形態におけるフロントエンドストレージ2000のソフトウェア及びハードウェア構成を示すブロック図である。フロントエンドストレージ2000のハードウェア構成は第1の実施形態と同一であるため説明を省略する。第2の実施形態のメモリ2120には、データ送受信制御プログラム2121、データ管理プログラム2122、データリスト作成プログラム2123、データ送受信制御プログラム2124及び交友リスト作成プログラム2125を格納する。また、第2の実施形態のメモリ2120は、所有データリストT300、格納先リストT350、及び交友リストT400を格納する。第2の実施形態では、新たに交友リスト作成プログラム2125及び交友リストT400が格納される点が異なる。他の構成は、第1の実施形態と同一であるため説明を省略する。交友リスト作成プログラム2125は、他のフロントエンドストレージ2000と通信して、交友リストT400を作成する。交友リストT400は、データ転送先として選択可能なフロントエンドストレージ2000の情報を格納する。交友リストT400の詳細は、図14を用いて後述する。図14は、本発明の第2の実施形態における交友リストT400の一例を示す説明図である。交友リストT400は、交友リスト作成プログラム2125によって作成されるリストであり、データの転送先として選択可能なフロントエンドストレージ2000の情報を格納する。なお、交友リストT400は、ディスクドライブ2200に格納されていてもよい。この場合、CPU2140が、メモリ2120上に交友リストT400が読み出し、読み出された交友リストT400を用いて処理を実行する。交友リストT400は、ストレージ名T401及びIPアドレスT402を含む。ストレージ名T401は、転送先のフロントエンドストレージ2000の識別子を格納する。IPアドレスT402は、ストレージ名T401に対応するフロントエンドストレージ2000に割り当てられるIPアドレスを格納する。図14は、フロントエンドストレージAと通信可能なフロントエンドストレージ2000の交友リストT400を示す。当該交友リストT400には、フロントエンドストレージAと通信可能なフロントエンドストレージB、C、Dが記載される。なお、本実施形態の交友リストT400には、通信可能なフロントエンドストレージ2000に基づいて作成されているが、本発明はこれに限定されない。例えば、管理者が、セキュリティ及び負荷を考慮して設定したフロントエンドストレージ2000に基づいて交友リストT400が作成されてもよい。また、ネットワーク構成、ストレージの装置構成、及び処理性能に基づいて交友リストT400が作成されてもよい。図15は、本発明の第2の実施形態におけるデータ転送の制御処理S600を説明するフローチャートである。データ転送の制御処理では、各フロントエンドストレージ2000によって実行される。以下、図15に沿って各処理について説明する。各フロントエンドストレージ2000は、以下で説明する処理を周期的に実行してもよいし、ストレージシステムの管理者からの指示に基づいて実行してもよい。まず、フロントエンドストレージ2000は、所有データリストT300を更新するステップS601。当該処理はステップS102と同一の処理である。フロントエンドストレージ2000は、データ転送が必要か否かを判定するステップS602。具体的には、データ送受信制御プログラム2121が、データ管理プログラム2122に対して、未転送データ量が0であるか否かを問い合わせる。未転送データ量が0でない場合、すなわち、未転送データ量が0より大きい場合には、転送が必要なデータが存在すると判定される。なお、ステップS602における判定方法は前述したものに限定されない。例えば、データ送受信制御プログラム2121が、空き容量が予め設定された閾値以下であるか否かを問い合わせてもよい。なお、予め設定された閾値は、管理者によって設定された値であってもよいし、バックエンドストレージ1000が自動的に設定した値であってもよい。空き容量が予め設定された閾値以下の場合には、データ転送が必要であると判定される。また、ステップS602における判定方法は、使用容量に基づいた判定処理であってもよい。また、フロントエンドストレージ2000におけるCPU使用率、メモリ使用率、ネットワーク使用率等を問い合わせて、CPU使用率、メモリ使用率、及びネットワーク使用率等に基づいた判定処理であってもよい。すなわち、ステップS602では、フロントエンドストレージ2000の性能低下を示す負荷情報に基づいて判定できればよい。データ転送が必要ではないと判定された場合、フロントエンドストレージ2000は、処理を終了する。データ転送が必要であると判定された場合、フロントエンドストレージ2000は、バックエンドストレージ1000にデータ転送できるか否かを判定するステップS603。具体的には、データ送受信制御プログラム2121が、バックエンドストレージ1000にデータ転送が可能か否か問い合わせる。当該問い合わせを受けたバックエンドストレージ1000は、ステップS302及びステップS303と同様の処理を実行してデータ転送が可能か否かを判定し、当該判定結果をデータ送受信制御プログラム2121に送信する。なお、本実施形態では、フロントエンドストレージ2000が、バックエンドストレージにデータ転送の可否を問い合わせているが、本発明はこれに限定されない。例えば、データ送受信制御プログラム2121がデータの転送速度又はデータの衝突回数などの値を監視し、当該監視結果に基づいてデータ転送の可否を判定してもよい。バックエンドストレージ1000にデータ転送ができないと判定された場合、フロントエンドストレージ2000は、フロントエンドストレージ2000自身の空き容量が少ないか否かを判定するステップS604。具体的には、データ送受信制御プログラム2121が、データ管理プログラム2122に対して、空き容量が予め設定された閾値以下であるか否かを問い合わせる。当該閾値は、管理者によって設定された値、又は、フロントエンドストレージ2000が自動的に決定した値を用いてもよい。例えば、フロントエンドストレージ2000の最大容量の30を閾値として用いる方法が考えられる。フロントエンドストレージ2000自身の空き容量が十分あると判定された場合、フロントエンドストレージ2000は、処理を終了する。フロントエンドストレージ2000自身の空き容量が少ないと判定された場合、フロントエンドストレージ2000は、他のフロントエンドストレージ2000に空き容量を問い合わせるステップS605。具体的には、データ送受信制御プログラム2121が、交友リストT400を参照して、交友リストT400に含まれる全フロントエンドストレージ2000に対して、現時点における空き容量を問い合わせる。例えば、図14に示す例では、フロントエンドストレージAのデータ送受信制御プログラム2121が、フロントエンドストレージB、C、Dに対して、現時点における空き容量を問い合わせる。当該問い合わせを受け付けたフロントエンドストレージ2000は以下のような処理を実行する。まず、問い合わせを受け付けたフロントエンドストレージ2000のデータ管理プログラム2122は、問い合わせ元のフロントエンドストレージ2000に対して、現時点の空き容量を返信する。例えば、図14に示す例では、フロントエンドストレージAからの問い合わせを受けたフロントエンドストレージBのデータ管理プログラム2122が、フロントエンドストレージAに対して、現時点におけるフロントエンドストレージBの空き容量を返信する。フロントエンドストレージ2000は、問い合わせた各フロントエンドストレージ2000からの返信を参照して、空き容量が最も大きいフロントエンドストレージを転送先のフロントエンドストレージ2000として選択するステップS606。具体的には、データ送受信制御プログラム2121が、各フロントエンドストレージ2000から返信された空き容量を参照し、最も空き容量が大きいフロントエンドストレージ2000を選択する。なお、本実施形態では、最も空き容量が大きいフロントエンドストレージ2000を転送先として選択するとしているが、本発明はこれに限定されない。例えば、以下のような方法であってもよい。ステップS605において各フロントエンドストレージ2000の装置構成を問い合わせて、同一の構成のフロントエンドストレージ2000を転送先として選択する方法が考えられる。また、ステップS605において各フロントエンドストレージ2000の負荷を問い合わせて、負荷が最も小さいフロントエンドストレージ2000を転送先として選択する方法が考えられる。また、複数の指標を組み合わせてデータ転送に最適なフロントエンドストレージ2000を選択してもよい。フロントエンドストレージ2000は、選択されたフロントエンドストレージ2000へのデータ転送処理S700を実行しステップS607、処理を終了する。具体的には、データ送受信制御プログラム2121が、選択されたフロントエンドストレージへのデータ転送処理S700を実行し、選択されたフロントエンドストレージ2000へのデータ転送を開始する。なお、データ転送処理S700の詳細については、図16を用いて後述する。ステップS603においてバックエンドストレージ1000に転送が必要なデータを転送できると判定された場合、フロントエンドストレージ2000は、バックエンドストレージ1000へのデータ転送処理S800を実行しステップS608、処理を終了する。具体的には、データ送受信制御プログラム2121が、バックエンドストレージへのデータ転送処理S800を実行して、バックエンドストレージ1000へのデータ転送を開始する。なお、データ転送処理S700の詳細については、図17を用いて後述する。なお、フロントエンドストレージ2000は、ステップS602において、ステップS602及びステップS604の処理を同時に実行してもよい。すなわち、フロントエンドストレージ2000自身が、データ転送が必要なフロントエンドストレージ2000であるか否かを判定してもよい。この場合、ステップS103と同一の処理を適用することができる。すなわち、フロントエンドストレージ2000の性能低下が発生するような負荷情報等に基づいて判定できればよい。図16は、本発明の第2の実施形態におけるフロントエンドストレージへのデータ転送処理S700を説明するフローチャートである。データ転送処理S700は、各フロントエンドストレージ2000によって実行される。データ転送処理S700は、第1の実施形態におけるデータ転送処理S500図12参照と同様の内容の処理である。具体的には、ステップS701~ステップS708は、それぞれステップS501~ステップS508と同一の処理内容である。ただし、以下の点が異なる。データ転送処理S700とデータ転送処理S500とでは、転送元及び転送先のフロントエンドストレージ2000が異なる。すなわち、データ転送処理S700では、任意のフロントエンドストレージ2000が、ステップS606において選択されたフロントエンドストレージ2000に対してデータに転送する点が異なる。また、データ転送処理S700では、フロントエンドストレージ2000がステップS704の処理が実行された後に、S701に戻らずに処理を終了する点が異なる。これは、第2の実施形態では、フロントエンドストレージ2000にデータ転送を中断させるプログラムが存在しないため、同一の転送先のフロントエンドストレージ2000に対してデータを転送し続けないようするためである。図17は、本発明の第2の実施形態におけるバックエンドエンドストレージへのデータ転送処理S800を説明するフローチャートである。データ転送処理S800は、各フロントエンドストレージ2000によって実行される。データ転送処理S800は、第1の実施形態におけるデータ転送処理S400図11参照と同様の内容の処理である。具体的には、ステップS801~ステップS807は、それぞれステップS401~ステップS407と同一の処理内容である。ただし、以下の点が異なる。データ転送処理S800とデータ転送処理S400では、処理主体が異なる。すなわち、データ転送処理S800では、任意のフロントエンドストレージ2000が処理主体であるのに対し、データ転送処理S400では、最小フロントエンドストレージ2000が処理主体である点が異なる。また、データ転送処理S800では、ステップS804が実行された後に、フロントエンドストレージ2000はステップS801に戻らず処理を終了する点が異なる。これは、第2の実施形態では、フロントエンドストレージ2000にデータ転送を中断させるプログラムが存在しないため、バックエンドストレージ1000に対してデータを転送し続けないようするためである。第2の実施形態によれば、各フロントエンドストレージ2000自身が、データ転送先のストレージを選択し、選択されたストレージにデータを転送することができる。これによって、フロントエンドストレージ2000の空き容量を確保し、かつ、バックエンドストレージ1000の負荷を低減することができる。[第3の実施形態]第1の実施形態及び第2の実施形態では、現時点におけるフロントエンドストレージ2000の状態に基づいて、データ転送を実行するか否かを判定していたが、第3の実施形態では、バックエンドストレージ1000がフロントヒット率の予測値に基づいてデータ転送が必要なフロントエンドストレージ2000を決定する点が異なる。以下、第1の実施形態との差異を中心に説明する。図18は、本発明の第3の実施形態におけるストレージシステムの構成例を示す説明図である。第3の実施形態におけるストレージシステムの装置構成は第1の実施形態と同一であり、ネットワーク500、バックエンドストレージ1000、及びフロントエンドストレージ2000から構成される。各ストレージは、HardDiskDriveHDD、ファイルサーバ、又はNetworkAttachedStorageNASであってもよい。各フロントエンドサーバ2000は、ネットワーク500を介して、他のフロントエンドサーバ2000、及びバックエンドストレージ1000と接続される。第3の実施形態では、フロントエンドストレージAにアクセスするエンドユーザ3000エンドユーザA、エンドユーザB及びアプリケーション4000アプリケーションA、アプリケーションBが接続されている点が異なる。これは、各フロントエンドストレージ2000のアクセス履歴等から、当該フロントエンドストレージAにおける将来の使用状況を予測するためである。なお、フロントエンドストレージ2000に対するエンドユーザ3000又はアプリケーション4000からのアクセスは、データを参照するための参照アクセス、及び、データを更新するための更新アクセスが含まれる。以後、データを参照するためのアクセスを参照と記載し、データを更新するためのアクセスを更新と記載する。また、エンドユーザ3000及びアプリケーション4000を区別しない場合、ユーザと記載する。図19は、本発明の第3の実施形態におけるバックエンドストレージ1000のソフトウェア及びハードウェア構成を示すブロック図である。バックエンドストレージ1000のハードウェア構成は、第1の実施形態と同一であるため説明を省略する。第3の実施形態のメモリ1120には、データ転送制御プログラム1121、宛先リスト作成プログラム1122、ストレージリスト作成プログラム1123、データ送受信プログラム1124及び予測値リスト作成プログラム1125を格納する。また、メモリ1120は、宛先リストT100及び予測値リストT900を格納する。第3の実施形態では、新たに予測値リスト作成プログラム1125及び予測値リストT900が格納される点が異なる。他の構成は、第1の実施形態と同一であるため説明を省略する。予測値リスト作成プログラム1125は、各フロントエンドストレージ2000から取得された情報に基づいて、予測値リストT900を作成する。予測値リストT900は、各フロントエンドストレージ2000におけるフロントヒット率の予測値を格納する。予測値リストT900の詳細は、図25を用いて後述する。図20は、本発明の第3の実施形態におけるフロントエンドストレージ2000のソフトウェア及びハードウェア構成を示すブロック図である。フロントエンドストレージ2000のハードウェア構成は、第1の実施形態と同一であるため説明を省略する。第3の実施形態のメモリ2120には、データ送受信制御プログラム2121、データ管理プログラム2122、データリスト作成プログラム2123、データ送受信制御プログラム2124、ログイン管理プログラム2126、期待値リスト作成プログラム2127、アクセス量予測プログラム2128、ヒット率予測プログラム2129及び予測値管理プログラム2130を格納する。また、第3の実施形態のメモリ2120は、所有データリストT300、格納先リストT350、ログインリストT500、期待値リストT600、アクセス履歴リストT700及びデータ格納位置リストT800を格納する。第3の実施形態では、新たに、ログイン管理プログラム2126、期待値リスト作成プログラム2127、アクセス量予測プログラム2128、ヒット率予測プログラム2129、予測値管理プログラム2130、ログインリストT500、期待値リストT600、アクセス履歴リストT700及びデータ格納位置リストT800が格納される点が異なる。他の構成は、第1の実施形態と同一であるため説明を省略する。ログイン管理プログラム2126は、各ユーザのログイン状態を管理し、また、ログインリストT500を作成する。期待値リスト作成プログラム2127は、各ユーザのアクセス履歴に基づいて、期待値リストT600を作成する。アクセス量予測プログラム2128は、ログインリストT500及び期待値リストT600に基づいて、フロントエンドストレージ2000に対するアクセス量の予測値、すなわち、アクセス期待値を算出する。ヒット率予測プログラム2129は、ログインリストT500及びアクセス履歴リストT700に基づいて、予測フロントヒット率を算出する。予測値管理プログラム2130は、予測アクセス量及び予測フロントヒット率に基づいて、フロントエンドストレージ2000の予測使用量、予測空き容量、及び予測未転送データ量を算出する。ログインリストT500は、フロントエンドストレージ2000に対するユーザのログイン状態を示す情報を格納する。ログインリストT500の詳細については、図21を用いて後述する。期待値リストT600は、アクセス期待値に関する情報を格納する。期待値リストT600の詳細については、図22を用いて後述する。アクセス履歴リストT700は、フロントエンドストレージ2000に対するユーザのアクセスの履歴を格納する。アクセス履歴リストT700の詳細については、図23を用いて後述する。データ格納位置リストT800は、ログイン済みのユーザによってアクセスされたデータに関する情報を格納する。データ格納位置リストT800の詳細については、図24を用いて後述する。図21は、本発明の第3の実施形態におけるログインリストT500の一例を示す説明図である。ログイン管理プログラム2126は、フロントエンドストレージ2000に対するエンドユーザ3000及びアプリケーション4000のログイン状態に基づいて、ログインリストT500を作成する。ログインリストT500は、各エンドユーザ3000及びアプリケーション4000がログイン又はログアウトする度に、ログイン管理プログラム2126によって更新される。ログインリストT500は、フロントエンドストレージ2000に対するユーザのログイン状態に関する情報を格納する。なお、ログインリストT500は、ディスクドライブ2200に格納されていてもよい。この場合、CPU2140が、メモリ2120上にログインリストT500を読み出し、読み出されたログインリストT500を用いて処理を実行する。ログインリストT500は、ユーザ名T501及び状態T502を含む。ユーザ名T501は、フロントエンドストレージ2000にアクセス可能なエンドユーザ3000及びアプリケーション4000の識別子を格納する。状態T502は、ユーザ名T501に対応するユーザが、フロントエンドストレージ2000にログインしているか否かを表す情報を格納する。図21に示す例では、エンドユーザA及びアプリケーションAはログイン済みであるが、エンドユーザBはログインしていないことを示す。図22は、本発明の第3の実施形態における期待値リストT600の一例を示す説明図である。期待値リスト作成プログラム2127は、フロントエンドストレージ2000に対するユーザのログイン情報及びアクセス履歴に基づいて、期待値リストT600を作成する。期待値リストT600は、フロントエンドストレージ2000に対するエンドユーザ3000及びアプリケーション4000からのアクセス量の期待値を格納する。なお、期待値リストT600は、ディスクドライブ2200に格納されていてもよい。この場合、CPU2140が、メモリ2120上に期待値リストT600を読み出し、読み出された期待値リストT600を用いて処理を実行する。期待値リストT600は、ユーザ名T601、状態T602及びアクセス時間に関する情報T603~T606を含む。ユーザ名T601及び状態T602は、ユーザ名T501及び状態T502と同一であるため説明を省略する。期待値リストT600には、3時間ごとのアクセス期待値が格納される。また、ユーザのログイン状態ごとに各アクセス期待値が格納される。ただし、本発明はこれに限定されない。例えば、3時間より短くてもよいし、また、3時間より長くてもよい。また、曜日毎ではなく、一週間単位、月単位にアクセス期待値が格納されていてもよい。また、本実施形態では、アクセス履歴に基づいて算出された、3時間毎のアクセス量の平均値がアクセス期待値に格納されているが本発明はこれに限定されない。例えば、3時間におけるアクセス量の最大値又は最小値等をアクセス期待値としてもよい。図22に示す例では、参照T603は、月曜の9~12時における各ユーザの参照アクセスの予測値を表し、更新T604は、月曜の9~12時における更新アクセスの予測値を表す。また、参照T605は、月曜の12~15時における参照アクセスの予測値を表し、更新T606は、月曜12~15時における更新アクセスの予測値を表す。他の曜日及び時間帯についても同様である。なお、状態T602がログイン済のエントリには、所定の時間間隔においてユーザが未ログインの状態からログイン状態になった場合を含む。例えば、フロントエンドストレージ2000は、期待値リストT600を参照して、エンドユーザAが月曜9時の時点でログイン済だった場合は、その後3時間で平均12MBのデータが参照されると予測することができる。図23は、本発明の第3の実施形態におけるアクセス履歴リストT700の一例を示す説明図である。データ管理プログラム2122は、フロントエンドストレージ2000における過去のアクセス履歴に基づいて、アクセス履歴リストT700を作成する。アクセス履歴リストT700は、フロントエンドストレージ2000に対するユーザのアクセスの履歴を格納する。なお、アクセス履歴リストT700は、ディスクドライブ2200に格納されていてもよい。この場合、CPU2140が、メモリ2120上にアクセス履歴リストT700を読み出して、読み出されたアクセス履歴リストT700を用いて処理を実行する。アクセス履歴リストT700は、ユーザがデータへアクセスする度に、データ管理プログラム2122によって更新される。アクセス履歴リストT700は、ユーザ名T701、データ名T702、最終アクセス日時T703、格納位置T704及びデータ量T705を含む。ユーザ名T701は、ユーザ名T501と同一であるため説明を省略する。データ名T702は、ユーザ名T701に対応するユーザによってアクセスされたデータの識別子を格納する。最終アクセス日時T703は、ユーザがデータ名T702に対応するデータに最後にアクセスした日時を格納する。格納位置T704は、データ名T702に対応するデータが実際に格納されるストレージの識別情報を格納する。本実施形態では、フロントエンドストレージ2000に格納されることを示すフロント、又は、バックエンドストレージ1000に格納されることを示すバックのいずれかの識別情報が格納される。なお、他のフロントエンドストレージ2000にデータが格納されている場合、バックエンドストレージ1000に格納されているものとして扱う。データ量T705は、データ名T702に対応するデータのデータ量を示す。図23に示す例では、フロントエンドストレージ2000に格納され、データ量が0.3MBのデータaに対して、エンドユーザAが2010年12月9日の15時4分6秒に最後にアクセスしたことを示す。図24は、本発明の第3の実施形態におけるデータ格納位置リストT800の一例を示す説明図である。ヒット率予測プログラム2129は、ログインリストT500及びアクセス履歴リストT700を参照して、データ格納位置リストT800を作成する。具体的には、ヒット率予測プログラム2129は、ログインリストT500を参照してログイン済みのユーザを特定し、さらに、アクセス履歴リストT700を参照して、ログイン済みのユーザのアクセス履歴を取得して、データ格納位置リストT800を作成する。データ格納位置リストT800は、ログイン済のユーザによってアクセスされたデータの情報を格納する。なお、データ格納位置リストT800は、ディスクドライブ2200に格納されていてもよい。この場合、CPU2140が、メモリ2120上に保存リストT800を読み出して、読み出されたデータ格納位置リストT800を用いて処理を実行する。データ格納位置リストT800は、データ名T801、保存位置T802及びデータ量T803を含む。データ名T801はデータ名T702と、保存位置T802は保存位置T504と、更にデータ量T803はデータ量T705と同一であるため説明を省略する。図25は、本発明の第3の実施形態における予測値リストT900の一例を示す説明図である。予測値リスト作成プログラム1125は、各フロントエンドストレージ2000から取得されたアクセス履歴等の情報に基づいて、予測値リストT900を作成する。予測値リストT900は、各フロントエンドストレージ2000におけるフロントヒット率の予測値を格納する。なお、予測値リストT900は、ディスクドライブ1200に格納されていてもよい。この場合、CPU2140が、メモリ2120上に予測値リストT900を読み出し、読み出された予測値リストT900を用いて処理を実行する。予測値リストT900は、第1の実施形態のストレージリストT200に対応するものである。予測値リストT900は、ストレージ名T901、最大容量T902、予測使用容量T903、予測空き容量T904、転送開始基準値T905、予測未転送データ量T906及び予測フロントヒット率T907を含む。なお、ストレージ名T901及び転送開始基準値T905は、ストレージ名T201及び転送開始基準値T205と同一であるため説明を省略する。最大容量T902は、ストレージ名T901に対応するフロントエンドストレージ2000の保存可能な容量の最大値を格納する。予測使用容量T903は、使用される容量の予測値を格納する。すなわち、将来使用される可能性のある記憶領域の容量を表す値が格納される。予測空き容量T904は、ストレージ名T201に対応するフロントエンドストレージ2000における使用可能な空き容量の予測値を格納する。予測未転送データ量T906は、ストレージ2000に転送されるデータのデータ量の予測値を格納する。予測未転送データ量T906は、予測使用容量T903から転送開始基準値T905を減算することによって算出することができる。予測フロントヒット率T907は、フロントヒット率の予測値を格納する。図25に示す例では、予測使用容量T903、予測空き容量T904、転送開始基準値T905及び予測未転送データ量T906は、絶対値を用いているが、最大容量に対する割合を用いてもよい。図26は、本発明の第3の実施形態におけるデータ転送の制御処理S900を説明するフローチャートである。データ転送の制御処理S900では、バックエンドストレージ1000が、フロントエンドストレージ2000と連携して処理を実行する。以下、図26に沿って各処理について説明する。バックエンドストレージ1000は、以下で説明する処理を周期的に実行してもよいし、ストレージシステムの管理者からの指示に基づいて実行してもよい。バックエンドストレージ1000は、予測値リスト作成処理S1000を実行して、予測値リストT900を作成するステップS901。具体的には、予測値リスト作成プログラム1125が、予測値リスト作成処理S1000を実行して、予測値リストT900を作成し、作成された予測値リストT900をメモリ1120又はディスクドライブ1200に格納する。なお、予測値リスト作成処理S1000の詳細については、図27を用いて後述する。バックエンドストレージ1000は、各フロントエンドストレージ2000に所有データリストT300の更新を指示するステップS902。なお、ステップS902は、ステップS102と同一処理であるため説明を省略する。バックエンドストレージ1000は、作成された予測値リストT900を参照して、データ転送が必要なフロントエンドストレージ2000が存在するか否かを判定するステップS903。ステップS903の処理は、ステップS103と異なった指標に基づいて判定される。具体的には、データ転送制御プログラム1121が、予測値リストT900を参照して、予測空き容量T904が予め設定された閾値以下のフロントエンドストレージ2000が存在するか否かを判定する。予測空き容量T904が予め設定された閾値以下のフロントエンドストレージ2000が存在する場合には、データ転送が必要なフロントエンドストレージ2000が存在すると判定される。すなわち、ステップS903では、将来の空き容量の予測値に基づいて、データ転送が必要なフロントエンドストレージ2000を特定する点が第1の実施形態と異なる。なお、予め設定された閾値は、管理者によって設定された値であってもよいし、バックエンドストレージ1000が自動的に設定した値であってもよい。なお、本実施形態では、予測空き容量T904に基づいて判定処理を行ったが、本発明はこれに限定されず、予測未転送データ量T906又は予測使用容量T903に基づいて判定してもよい。例えば、予測未転送データ量T906が0でないフロントエンドストレージ2000が存在するか否かを判定する方法であってもよい。当該判定方法では、予測未転送データ量T906が0でないフロントエンドストレージ2000が存在する場合に、データ転送が必要なフロントエンドストレージ2000が存在すると判定される。また、フロントエンドストレージ2000におけるCPU使用率、メモリ使用率、及びネットワーク使用率等の予測値を算出し、当該予測値に基づいた判定処理であってもよい。すなわち、ステップS103では、フロントエンドストレージ2000の性能低下を示す負荷情報に基づいて判定できればよい。データ転送が必要なフロントエンドストレージ2000が存在しないと判定された場合、バックエンドストレージ1000は、処理を終了する。データ転送が必要なフロントエンドストレージ2000が存在すると判定された場合、バックエンドストレージ1000は、全フロントエンドストレージ2000にデータ転送の終了を指示するステップS904。具体的には、データ転送制御プログラム1121が、予測値リストT900を参照して、当該リストに対応する全てのフロントエンドストレージ2000に対して、現在実行中のデータ転送を終了するように指示する。各フロントエンドストレージ2000のデータ送受信制御プログラム2121は、当該指示を受信すると、現在実行中のデータ転送を終了する。バックエンドストレージ1000は、データ転送の制御処理S1300を実行し、所定のフロントエンドストレージ2000にデータ転送の開始を指示するステップS905。具体的には、データ転送制御プログラム1121が、データ転送の制御処理S1300を実行して、所定のフロントエンドストレージ2000にデータ転送の開始を指示する。当該指示を受信したフロントエンドストレージ2000は、受信した指示に従ってデータ転送を実行する。なお、データ転送の制御処理S1300の詳細は、図31A及び図31Bを用いて後述する。バックエンドストレージ1000は、フロントエンドストレージ2000におけるデータ転送の完了を待ってステップS906、ステップS901に戻り同様の処理を実行する。ステップS906は、ステップS106と同一の処理であるため説明を省略する。図27は、本発明の第3の実施形態における予測値リスト作成処理S1000を説明するフローチャートである。予測値リスト作成処理S1000では、選択されていないバックエンドストレージ1000が、フロントエンドストレージ2000と連携して処理を実行する。以下、図27に沿って各処理について説明する。バックエンドストレージ1000は、選択されていないフロントエンドストレージ2000があるか否かを判定するステップS1001。ステップS1001の処理は、ステップS201と同一の処理であるため説明を省略する。選択されていないフロントエンドストレージ2000がないと判定された場合、バックエンドストレージ1000は、ステップS1005に進む。選択されていないフロントエンドストレージ2000があると判定された場合、バックエンドストレージ1000は、選択されていないフロントエンドストレージ2000を一つ選択するステップS1002。ステップS1002の処理は、ステップS202と同一であるため説明を省略する。次に、バックエンドストレージ1000は、選択されたフロントエンドストレージに対して、情報収集処理S1050の実行を指示するステップS1003。具体的には、予測値リスト作成プログラム1125が、選択されたフロントエンドストレージ2000に対して、予測値リストT900を作成するために必要な情報を収集するための情報収集処理S1050の実行を指示する。ここで、予測値リストT900を作成するのに必要な情報とは、ストレージ名T901、最大容量T902、予測使用容量T903、予測空き容量T904、転送開始基準値T905、予測未転送データ量T906及び予測フロントヒット率T907のことを表す。指示を受信したフロントエンドストレージ2000のデータ管理プログラム2122は、情報収集処理S1050を実行して予測値リストT900を作成するために必要な情報をバックエンドストレージ1000に送信する。なお、情報収集処理S1050の詳細については図28を用いて後述する。バックエンドストレージ1000は、選択されたフロントエンドストレージ2000から必要な情報を受信しステップS1004、ステップS201に戻り同様の処理を実行する。ステップS1001において、選択されていないフロントエンドストレージ2000がないと判定された場合、バックエンドストレージ1000は、各フロントエンドストレージ2000から取得した情報に基づいて、予測値リストT900を作成し、処理を終了するステップS1005。図28は、本発明の第3の実施形態における情報収集処理S1050を説明するフローチャートである。情報収集処理S1050では、フロントエンドストレージ2000によって処理が実行される。以下、図28に沿って各処理について説明する。情報収集処理S1050の実行指示を受け付けたフロントエンドストレージ2000は、アクセス量の予測処理S1100を実行して、アクセス期待値を算出するステップS1051。具体的には、アクセス量予測プログラム2128が、アクセス量の予測処理S1100を実行して、アクセス期待値を算出する。アクセス量の予測処理S1100の詳細については、図29を用いて後述する。フロントエンドストレージ2000は、フロントヒット率の予測処理S1200を実行して、予測フロントヒット率を算出するステップS1052。具体的には、ヒット率予測プログラム2129が、フロントヒット率の予測処理S1200を実行して、予測フロントヒット率を算出する。フロントヒット率の予測処理S1200の詳細については、図30を用いて後述する。フロントエンドストレージ2000は、必要な予測値を算出するステップS1053。ここで、必要な予測値とは、予測使用容量T903、予測空き容量T904及び予測未転送データ量T906に対応する値である。具体的には、予測値管理プログラム2130が、算出されたアクセス期待値及び予測フロントヒット率を用いて、式1~式3に基づいて必要な予測値を算出する。予測使用容量=現在の使用量予測更新量予測参照量×1-予測フロントヒット率...1予測空き容量=最大容量-予測使用容量...2予測未転送データ量=予測使用容量-転送開始基準値...3フロントエンドストレージ2000は、算出された各予測値をバックエンドストレージ1000に送信しステップS1054、処理を終了する。具体的には、データ管理プログラム2122が、ステップS1051~ステップS1052において算出された値を、バックエンドストレージ1000に送信する。なお、本実施形態では、各フロントエンドストレージ2000によって各予測値が算出されたが、本発明はこれに限定されない。例えば、バックエンドストレージ1000が、フロントエンドストレージ2000から必要な情報を取得して、各予測値を算出してもよい。図29は、本発明の第3の実施形態におけるアクセス量の予測処理S1100を説明するフローチャートである。アクセス量の予測処理S1100では、各フロントエンドストレージ2000によって処理が実行される。以下、図29に沿って各処理について説明する。フロントエンドストレージ2000は、ログインリストT500を更新するステップS1101。具体的には、ログイン管理プログラム2126が、フロントエンドストレージ2000に対するログイン状態を管理するログイン情報に基づいて、ログインリストT500を更新する。フロントエンドストレージ2000は、選択されていないユーザが存在するか否かを判定するステップS1102。すなわち、全てのユーザに対して処理が完了したか否かが判定される。具体的には、アクセス量予測プログラム2128が、ログインリストT500を参照して、選択されていないユーザが存在するか否かを判定する。例えば、処理されたユーザの識別子をキャッシュとして保持しておき、当該キャッシュに基づいてログインリストT500を参照することによって、当該判定を実行する方法が考えられる。選択されていないユーザが存在しないと判定された場合、フロントエンドストレージ2000は、ステップS1105に進む。選択されていないユーザが存在すると判定された場合、フロントエンドストレージ2000は、選択されていないユーザの中からユーザを一人選択するステップS1103。具体的には、アクセス量予測プログラム2128が、ログインリストT500を参照して、選択されていないユーザの中から一人を選択する。フロントエンドストレージ2000は、選択されたユーザのアクセス期待値を取得しステップS1104、ステップS1102に戻り同様の処理を実行する。具体的には、アクセス量予測プログラム2128が、現在の時刻を取得し、また、ログインリストT500を参照してユーザの状態T502を取得する。さらに、アクセス量予測プログラム2128が、取得された現在の時刻及び状態T502に基づいて、期待値リストT600を参照して、選択されたユーザの現在の時刻に対応するアクセス期待値を取得する。例えば、月曜の9時におけるエンドユーザAの参照アクセスの期待値は、12MBとなる。ステップS1102において、選択されていないユーザが存在しないと判定された場合、フロントエンドストレージ2000は、各ユーザのアクセス期待値を合計して、当該フロントエンドストレージ2000における予測参照アクセス量及び予測更新アクセス量を算出するステップS1105。具体的には、アクセス量予測プログラム2128が、ステップS1104において取得された各ユーザのアクセス期待値を合計し、予測参照アクセス量及び予測更新アクセス量をそれぞれ算出する。図30は、本発明の第3の実施形態におけるフロントヒット率の予測処理S1200を説明するフローチャートである。フロントヒット率の予測処理S1200は、各フロントエンドストレージ2000によって実行される。以下、図30に沿って各処理について説明する。フロントエンドストレージ2000は、アクセス履歴リストT700を更新するステップS1201。具体的には、データ管理プログラム2122が、各ユーザのアクセス履歴を管理するアクセス履歴情報に基づいて、アクセス履歴リストT700を更新する。フロントエンドストレージ2000は、状態T502がログイン済のユーザのうち、選択されていないユーザが存在するか否かを判定するステップS1202。具体的には、ヒット率予測プログラム2129が、ログインリストT500を参照して、状態T502がログイン済のユーザのうち、選択されていないユーザが存在するか否かを判定する。例えば、選択されたユーザの識別子をキャッシュとして保持しておき、当該キャッシュに基づいてログインリストT500を参照することによって、当該判定を実行する方法が考えられる。状態T502がログイン済のユーザのうち、選択されていないユーザが存在しないと判定された場合、フロントエンドストレージ2000は、ステップS1209に進む。状態T502がログイン済のユーザのうち、選択されていないユーザが存在すると判定された場合、フロントエンドストレージ2000は、当該ユーザの中からユーザを選択するステップS1203。具体的には、ヒット率予測プログラム2129が、ログインリストT500を参照して、状態T502がログイン済、かつ、まだ選択されていないユーザを選択する。フロントエンドストレージ2000は、選択されたユーザに対応するアクセス履歴情報のうち、選択されていないデータが存在するか否かを判定するステップS1204。具体的には、ヒット率予測プログラム2129が、アクセス履歴リストT700を参照して、選択されたユーザのアクセス履歴のうち、選択されていないデータ、すなわち、処理されていないデータが存在するか否かを判定する。例えば、選択されたデータの識別子をキャッシュとして保持しておき、当該キャッシュに基づいてアクセス履歴リストT700を参照することによって、当該判定を実行する方法が考えられる。選択されていないデータが存在しないと判定された場合、フロントエンドストレージ2000は、ステップS1202に戻り同様の処理を実行する。選択されていないデータが存在すると判定された場合、フロントエンドストレージ2000は、選択されていないデータの中からデータを選択するステップS1205。具体的には、ヒット率予測プログラム2129が、アクセス履歴リストT700を参照して、選択されたユーザのアクセス履歴のうち、選択されていないデータを選択する。フロントエンドストレージ2000は、選択されたデータがバックエンドストレージ1000に格納されるか否かを判定するステップS1206。具体的には、ヒット率予測プログラム2129が、アクセス履歴リストT700の格納位置T704を参照して、選択されたデータの格納先を判定する。当該データの格納位置T704がバックの場合、選択されたデータがバックエンドストレージ1000に格納されると判定される。選択されたデータがバックエンドストレージ1000に格納されていないと判定された場合、フロントエンドストレージ2000は、ステップS1208に進む。選択されたデータがバックエンドストレージ1000に格納されていると判定された場合、フロントエンドストレージ2000は、選択されたデータに対応するエントリがデータ格納位置リストT800に存在するか否かを判定するステップS1207。具体的には、ヒット率予測プログラム2129が、データ格納位置リストT800に選択されたデータに対応するエントリが存在するか否かを判定する。なお、格納位置T704がバックのデータについては、各ユーザから一度でも当該データへアクセスがあれば格納位置T704はフロントへと変更される。このため、格納位置T704がバックのデータは、予測フロントヒット率を算出する場合に利用されるデータが格納位置リストT800に複数登録されないようにする必要がある。選択されたデータがバックエンドストレージ1000に格納されていないと判定された場合、又は、選択されたデータに対応するエントリがデータ格納位置リストT800に存在しないと判定された場合、フロントエンドストレージ2000は、選択されたデータをデータ格納位置リストT800に登録しステップS1208、ステップS1202に戻り同様の処理を実行する。具体的には、ヒット率予測プログラム2129が、データ格納位置リストT800に、選択されたデータに対応するエントリを登録する。ステップS1202において、状態T502がログイン済のユーザのうち、選択されていないユーザが存在しないと判定された場合、フロントエンドストレージ2000は、状態T502がログイン済であるユーザのうち、フロントエンドストレージ2000に格納されるデータ量を算出するステップS1209。具体的には、ヒット率予測プログラム2129が、データ格納位置リストT800のうち、保存位置T802がフロントのエントリのデータ量T803を合計する。フロントエンドストレージ2000は、状態T502がログイン済であるユーザについて全データのデータ量を算出するステップS1210。具体的には、ヒット率予測プログラム2129が、データ格納位置リストT800に登録されている全データのデータ量T803を合計する。フロントエンドストレージ2000は、ステップS1209及びステップS1210において算出されたそれぞれのデータ量に基づいて、予測フロントヒット率を算出しS1211、処理を終了する。具体的には、ヒット率予測プログラム2129が、ステップS1209において算出された合計値を、ステップS1210において算出された合計値で除算することによって予測フロントヒット率を算出する。図31A及び図31Bは、本発明の第3の実施形態におけるデータ転送の制御処理S1300を説明するフローチャートである。データ転送の制御処理S1300では、バックエンドストレージ1000が各フロントエンドストレージ2000と連携して処理を実行する。以下、図31A及び図31Bに沿って各処理について説明する。バックエンドストレージ1000は、予測空き容量の小さい順に予測値リストT900のエントリを整列するステップS1301。具体的には、データ転送制御プログラム1121が、予測値リストT900を参照して、予測空き容量T904が少ない順にエントリを整列する。なお、本実施形態では、予測空き容量T904の値が小さい順に整列する方法を用いているが本発明はこれに限定されない。例えば、予測未転送データ量T906の値が大きい順に整列させる方法又は予測使用容量T903の値が大きい順に整列させる方法など、管理者が任意の方法を選択できる。バックエンドストレージ1000は、自身の処理状態を確認するステップS1302。具体的には、データ転送制御プログラム1121が、データ送受信プログラム1124に対して、バックエンドストレージ1000の処理状況を問い合わせる。データ送受信プログラム1124は、バックエンドストレージ1000の処理状態を示す情報を応答する。ここで、バックエンドストレージ1000の処理状態を示す情報としては、CPU負荷、I/O待ち、メモリ使用量、及びネットワークの使用率等が考えられるが、本発明はバックエンドストレージ1000の処理状態を示す情報であればどのようなものであってもよい。バックエンドストレージ1000は、処理限界の状態であるか否かを判定するステップS1303。すなわち、フロントエンドストレージ2000から転送されるデータを処理できるか否かが判定される。具体的には、データ転送制御プログラム1121が、ステップS1302において取得された情報に基づいて、バックエンドストレージ1000が処理限界の状態であるか否かを判定する。例えば、CPU負荷が所定の閾値以上である場合、閾値以上のI/O待ちが発生している場合、又はネットワークの使用率が所定の閾値以上である場合に、バックエンドストレージ1000が処理限界の状態であると判定される。処理限界の状態でない場合、バックエンドストレージ1000へのデータ転送が実行できる。一方、処理限界の状態である場合、バックエンドストレージ1000へのデータ転送は実行できないため、他のフロントエンドストレージ2000へのデータ転送が実行されることとなる。処理限界の状態でないと判定された場合、バックエンドストレージ1000は、予測空き容量が最小のフロントエンドストレージ2000を選択するステップS1304。具体的には、データ転送制御プログラム1121が、予測値リストT900から、最上位のエントリを選択する。バックエンドストレージ1000は、選択されたフロントエンドストレージ2000に、当該バックエンドストレージ1000へのデータ転送処理S400の実行を指示するステップS1305。具体的には、データ転送制御プログラム1121が、選択されたフロントエンドストレージ2000に対して、バックエンドストレージ1000へのデータ転送処理S400の実行を指示する。なお、当該指示には、フロントエンドストレージ2000に対応する転送開始基準値T905が含まれる。データ転送処理S400の指示を受けたフロントエンドストレージ2000は、データ送受信制御プログラム2121を読み出す。データ送受信制御プログラム2121は、データ転送処理S400を実行して、バックエンドストレージ1000へのデータ転送を開始する。なお、データ転送処理S400図11参照は、第1の実施形態と同一である。バックエンドストレージ1000は、予測値リストT900から選択されたフロントエンドストレージ2000に対応するエントリを削除するステップS1306。具体的には、データ転送制御プログラム1121が、予測値リストT900から、選択されたフロントエンドストレージ2000に対応するエントリを削除する。バックエンドストレージ1000は、予測値リストT900にエントリが存在するか否かを判定するステップS1307。すなわち、全てのフロントエンドストレージ2000に対して処理が完了したか否かが判定される。具体的には、データ転送制御プログラム1121が、予測値リストT900を参照して、当該予測値リストT900にエントリ存在するか否かを判定する。予測値リストT900にエントリが存在しないと判定された場合、バックエンドストレージ1000は、処理を終了する。予測値リストT900にエントリが存在すると判定された場合、バックエンドストレージ1000は、ステップS1301に戻り同様の処理を実行する。ステップS1303において、処理限界の状態であると判定された場合、バックエンドストレージ1000は、転送元として予測空き容量が最小のフロントエンドストレージ2000を、及び、転送先として予測空き容量が最大のフロントエンドストレージ2000を選択するステップS1308。以後、予測空き容量が最小のフロントエンドストレージ2000を最小フロントストレージ2000とも記載し、予測空き容量が最大のフロントエンドストレージ2000を最大フロントストレージ2000とも記載する。具体的には、データ転送制御プログラム1121が、予測値リストT900の最上位のエントリをデータの転送元として選択し、予測値リストT900の最下位のエントリをデータの転送先として選択する。なお、本実施形態では、最小フロントエンドストレージ2000をデータの転送元として、最大フロントエンドストレージ2000をデータの転送先として選択したが、本発明はこれに限定されない。例えば、データの転送先の選択方法については、データの転送元のフロントエンドストレージ2000とハードウェア構成が同一のものを選択する方法、又は、データの転送元のフロントエンドストレージ2000とネットワーク性能が同一のものを選択する方法など、データ転送を実行するのに適したフロントエンドストレージ2000を選択できればよい。バックエンドストレージ1000は、最大フロントストレージ2000及び最小フロントストレージ2000の予測空き容量の差を算出し、当該差が所定の閾値以下であるか否かを判定するステップS1309。具体的には、データ転送制御プログラム1121が、予測値リストT900を参照して、最大フロントストレージ2000の予測空き容量T904から最小フロントストレージYの予測空き容量T904を減算して予測空き容量の差を算出する。さらに、データ転送制御プログラム1121は、算出された予測空き容量の差が予め設定された閾値以下であるか否かを判定する。これは、2つのフロントエンドストレージ2000の予測空き容量の差が小さい場合には、転送先のフロントエンドストレージ2000の空き容量に余裕がなくなり、頻繁にデータ転送処理が実行されることを防止するためである。当該判定処理によって、フロントエンドストレージ2000間の無駄なデータ転送を抑制することができる。なお、所定の閾値は、管理者が設定してもよいし、バックエンドストレージ1000が自動的に算出してもよい。例えば、転送元のフロントエンドストレージ2000から転送されるデータ量の2倍の値を閾値として用いることが考えられる。算出された予測空き容量の差が所定の閾値以下であると判定された場合、バックエンドストレージ1000は、データ転送を実行しないため処理を終了する。算出された空き容量の差が所定の閾値より大きいと判定された場合、バックエンドストレージ1000は、最小フロントエンドストレージ2000に対して、データ転送処理S500の実行を指示するステップS1310。具体的には、データ転送制御プログラム1121が、最小フロントエンドストレージ2000に対して、最大フロントエンドストレージ2000へのデータ転送処理S500の実行を指示する。なお、当該指示には、フロントエンドストレージ2000に対応する転送開始基準値T905が含まれる。最小フロントエンドストレージ2000のデータ送受信制御プログラム2121は、当該指示を受け付けると、最大フロントエンドストレージ2000へのデータ転送処理S500を実行して、最大フロントエンドストレージ2000へのデータ転送を開始する。なお、データ転送処理S500図12参照は、第1の実施形態と同一である。バックエンドストレージ1000は、最大フロントエンドストレージ2000及び最小フロントエンドストレージ2000に対応するエントリを予測値リストT900から削除しステップS1311、ステップS1307に戻り同様の処理を実行する。具体的には、データ転送制御プログラム1121が、最大フロントエンドストレージ2000及び最小フロントエンドストレージ2000に対応するエントリを予測値リストT900から削除する。第3の実施形態によれば、バックエンドストレージ1000が、フロントエンドストレージ2000の予測空き容量に基づいて事前にデータ転送元及び転送先のフロントエンドストレージ2000を選択し、データ転送を指示することができる。これによって、フロントエンドストレージ2000の空き容量を確保し、かつ、バックエンドストレージ1000の負荷を低減することができる。本発明は、第1の実施形態、第2の実施形態及び第3の実施形態をそれぞれ組み合わせた形態であってもよい。以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。