(57)【要約】【課題】リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することを課題とする。【解決手段】情報記憶装置１０がファイル「Ａ」、ファイル「Ｄ」およびファイル「Ｆ」についてミラー元のファイルとしての所有権を有する際、ファイル「Ｂ」に対して情報処理装置による書き込み要求や読み込み要求が多い場合には、情報記憶装置１０は、ファイル「Ｂ」をミラー先としてのファイルからミラー元としてのファイルに変更する。情報記憶装置１０は、引き続きファイル「Ｂ」に対して情報処理装置による頻繁なアクセスが行われる場合には、情報処理装置に対するレスポンスを以前のレスポンスより速くする結果となる。また、この先、情報記憶装置２０は、ファイル「Ｂ」に対するアクセス状況によっては、情報記憶装置１０と同様、ファイル「Ｂ」をミラー先のファイルからミラー元のファイルへと変更する。【選択図】        図１
2008165431.tif 000002
【特許請求の範囲】
【請求項１】
他の情報記憶装置と接続される情報記憶装置それぞれに適用され、情報処理装置から書き込み要求されたデータを前記他の情報記憶装置との間でミラーリングして複製保存する方法をコンピュータに実行させるミラーリングプログラムであって、
前記情報記憶装置に記憶される複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を保持する所有情報保持手順と、
前記所有情報保持手順によって保持される所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ前記複数のファイルごとに変更する所有情報変更手順と、
前記情報記憶装置に記憶されるファイルに対して前記情報処理装置から書き込み要求を受信した場合に、前記所有情報保持手順によって現に保持されている所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するミラーリング処理手順と、
をコンピュータに実行させるミラーリングプログラム。
【請求項２】
前記所有情報変更手順は、前記情報処理装置から受信する書き込み要求の状況、前記情報処理装置から受信する読み込み要求の状況、前記他の情報記憶装置における処理の状況、および／または、前記情報記憶装置がユーザから受け付けた設定の状況に応じて、前記所有情報を変更することを特徴とする請求項１に記載のミラーリングプログラム。
【請求項３】
前記ミラーリング処理手順は、前記書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、当該書き込み要求に係る実データをミラー元である前記情報記憶装置に書き込む処理に同期して、当該実データ以外のファイル管理情報をミラー先である他の情報記憶装置に転送し、前記実データの書き込み処理が終了した後に、当該実データをミラー先である他の情報記憶装置に非同期で転送することを特徴とする請求項１または２に記載のミラーリングプログラム。
【請求項４】
前記所有情報保持手順は、前記情報記憶装置に記憶される複数のファイルごとに、当該ファイルをミラー先で所有する際にファイル管理情報のみを記憶するか実データも記憶するかを示すミラー状態情報をさらに対応付けて保持し、
前記ミラーリング処理手順は、前記書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、前記所有情報保持手順によって保持されるミラー状態情報を参照し、当該ミラー先である他の情報記憶装置にファイル管理情報のみを転送するかまたは実データも転送することを特徴とする請求項１〜３のいずれか一つに記載のミラーリングプログラム。
【請求項５】
前記情報記憶装置は、複数の他の情報記憶装置と親子関係をもつことなく接続されるものであって、
前記ミラーリング処理手順は、前記複数の他の情報記憶装置いずれとの間でも、前記ミラーリング処理を行うことを特徴とする請求項１〜４のいずれか一つに記載のミラーリングプログラム。
【請求項６】
他の情報記憶装置と接続され、情報処理装置から書き込み要求されたデータを前記他の情報記憶装置との間でミラーリングして複製保存する情報記憶装置であって、
複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を記憶する所有情報記憶手段と、
前記所有情報記憶手段によって記憶される所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ前記複数のファイルごとに変更する所有情報変更手段と、
所定のファイルに対して前記情報処理装置から書き込み要求を受信した場合に、前記所有情報記憶手段によって現に記憶されている所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するミラーリング処理手段と、
を備えたことを特徴とする情報記憶装置。
【請求項７】
情報処理装置から書き込み要求されたデータを他の情報記憶装置との間でミラーリングして複製保存するミラーリング方法であって、
複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を保持する所有情報保持工程と、
前記所有情報保持工程によって保持される所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ前記複数のファイルごとに変更する所有情報変更工程と、
所定のファイルに対して前記情報処理装置から書き込み要求を受信した場合に、前記所有情報保持工程によって現に保持されている所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するミラーリング処理工程と、
を含んだことを特徴とするミラーリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ミラーリングプログラム、ミラーリング方法、情報記憶装置に関する。
【背景技術】
【０００２】
近年、物理的に離れた場所でミラーリングを行うことによって震災や火災などの災害に対する耐久性の向上を目的としたリモートミラーリングに関する技術が考案されている。
【０００３】
例えば、特許文献１では、ローカルサイトで書き込みが行われたデータのうち、メタデータが転送されずに、ユーザデータおよびジャーナルログのコピーがリモートサイトに転送されるので、ジャーナルログのコピーを使用してリモートサイトのメタデータを更新し、ローカルサイトでの更新が行われるのにあわせて更新内容をリアルタイムにリモートサイトで最新のファイルデータを参照する技術が開示されている。
【０００４】
また、特許文献２では、書き込み情報の受領順を付与するための順序付与情報提供手段を冗長構成とすることによって、データ受領時刻やデータ受領順序情報等の提供が途絶え、コピー先の情報記憶装置がどの順序で書き込みを行ってよいか判断することができなくなることを防止する技術が開示されている。
【０００５】
こうしたリモートミラーリングでは、互いに遠隔地にあって、ミラー元としてのファイルであるマスタファイルを記憶する主の情報記憶装置と、ミラー先としてのファイルであるバックアップファイルを記憶する従の情報記憶装置とがＷＡＮ（Wide Area Network）などの通信回線によって接続され、情報処理装置がいずれの側からアクセスしても仮想的に一つのストレージとして扱われる。
【０００６】
具体的には、同期式ミラーリングを行う場合には、主の情報記憶装置は、情報処理装置からの書き込み要求に応じてマスタファイルに受信したデータを書き込み、当該データを従の情報記憶装置のバックアップファイルに通信回線を介して同期に転送し、書き込み完了を情報処理装置に通知する。なお、情報処理装置による読み込み要求については、マスタファイルにある所定のデータを送信する。
【０００７】
一方、従の情報記憶装置は、情報処理装置からの書き込み要求に応じて主の情報記憶装置にファイルオープンの確認を取り、受信したデータを主の情報記憶装置のマスタファイルに通信回線を介して転送し、主の情報記憶装置から同期に転送される複製データを自身のバックアップファイルに書き込んで、書き込み完了を情報処理装置に通知する。なお、情報処理装置による読み込み要求については、バックアップファイルにある所定のデータを送信する。
【０００８】
また、非同期式ミラーリングを行う場合には、主の情報記憶装置は、情報処理装置からの書き込み要求に応じてマスタファイルに受信したデータを書き込み、ファイル管理情報のみ従の情報記憶装置のバックアップファイルに通信回線を介して同期に転送し、書き込み完了を情報処理装置に通知し、実データについては後で転送する。なお、情報処理装置による読み込み要求については、マスタファイルにある所定のデータを送信する。
【０００９】
一方、従の情報記憶装置は、情報処理装置から書き込み要求に応じて主の情報記憶装置にファイルオープン確認を取り、受信したデータを主の情報記憶装置のマスタファイルに通信回線を介して転送し、主の情報記憶装置から同期に転送される複製ファイル管理情報を受信して自身のバックアップファイルに書き込んで、書き込み完了を情報処理装置に通知する。なお、実データについては後に転送されるので、それを受信して自身のバックアップファイルに書き込む。また、情報処理装置による読み込み要求については、非同期でミラーされる結果、実データの転送が未完了であれば主の情報記憶装置に実データの転送を要求して自身のバックファイルに書き込み、当該バックアップファイルにある所定のデータを送信する。
【００１０】
【特許文献１】特開２００３−１６７６８３号公報
【特許文献２】特開２００５−１２８８６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、上記した情報記憶装置では、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供できないという課題があった。つまり、従の情報記憶装置は、記憶するファイルが全てバックアップファイルであるため、情報処理装置による書き込み要求に応じて主の情報記憶装置が記憶するマスタファイルに対し、常にファイルオープンの確認を行わなければならないので、従の情報記憶装置に書き込み要求や読み込み要求を行う情報処理装置に対して高いパフォーマンスを提供できない。よって、主の情報記憶装置側の情報処理装置と、従の情報記憶装置側の情報処理装置との間で、情報記憶装置から提供されるパフォーマンスに不平等が生じる。
【００１２】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することが可能なミラーリングプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、他の情報記憶装置と接続される情報記憶装置それぞれに適用され、情報処理装置から書き込み要求されたデータを前記他の情報記憶装置との間でミラーリングして複製保存する方法をコンピュータに実行させるミラーリングプログラムであって、前記情報記憶装置に記憶される複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を保持する所有情報保持手順と、前記所有情報保持手順によって保持される所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ前記複数のファイルごとに変更する所有情報変更手順と、前記情報記憶装置に記憶されるファイルに対して前記情報処理装置から書き込み要求を受信した場合に、前記所有情報保持手順によって現に保持されている所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するミラーリング処理手順と、をコンピュータに実行させることを特徴とする。
【００１４】
また、請求項２に係る発明は、上記の発明において、前記所有情報変更手順は、前記情報処理装置から受信する書き込み要求の状況、前記情報処理装置から受信する読み込み要求の状況、前記他の情報記憶装置における処理の状況、および／または、前記情報記憶装置がユーザから受け付けた設定の状況に応じて、前記所有情報を変更することを特徴とする。
【００１５】
また、請求項３に係る発明は、上記の発明において、前記ミラーリング処理手順は、前記書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、当該書き込み要求に係る実データをミラー元である前記情報記憶装置に書き込む処理に同期して、当該実データ以外のファイル管理情報をミラー先である他の情報記憶装置に転送し、前記実データの書き込み処理が終了した後に、当該実データをミラー先である他の情報記憶装置に非同期で転送することを特徴とする。
【００１６】
また、請求項４に係る発明は、上記の発明において、前記所有情報保持手順は、前記情報記憶装置に記憶される複数のファイルごとに、当該ファイルをミラー先で所有する際にファイル管理情報のみを記憶するか実データも記憶するかを示すミラー状態情報をさらに対応付けて保持し、前記ミラーリング処理手順は、前記書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、前記所有情報保持手順によって保持されるミラー状態情報を参照し、当該ミラー先である他の情報記憶装置にファイル管理情報のみを転送するかまたは実データも転送することを特徴とする。
【００１７】
また、請求項５に係る発明は、上記の発明において、前記情報記憶装置は、複数の他の情報記憶装置と親子関係をもつことなく接続されるものであって、前記ミラーリング処理手順は、前記複数の他の情報記憶装置いずれとの間でも、前記ミラーリング処理を行うことを特徴とする。
【００１８】
また、請求項６に係る発明は、他の情報記憶装置と接続され、情報処理装置から書き込み要求されたデータを前記他の情報記憶装置との間でミラーリングして複製保存する情報記憶装置であって、複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を記憶する所有情報記憶手段と、前記所有情報記憶手段によって記憶される所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ前記複数のファイルごとに変更する所有情報変更手段と、所定のファイルに対して前記情報処理装置から書き込み要求を受信した場合に、前記所有情報記憶手段によって現に記憶されている所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するミラーリング処理手段と、を備えたことを特徴とする。
【００１９】
また、請求項７に係る発明は、情報処理装置から書き込み要求されたデータを他の情報記憶装置との間でミラーリングして複製保存するミラーリング方法であって、複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を保持する所有情報保持工程と、前記所有情報保持工程によって保持される所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ前記複数のファイルごとに変更する所有情報変更工程と、所定のファイルに対して前記情報処理装置から書き込み要求を受信した場合に、前記所有情報保持工程によって現に保持されている所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するミラーリング処理工程と、を含んだことを特徴とする。
【発明の効果】
【００２０】
請求項１、６または７の発明によれば、情報記憶装置に記憶される複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を保持し、所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ複数のファイルごとに変更し、情報記憶装置に記憶されるファイルに対して情報処理装置から書き込み要求を受信した場合に、所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することが可能となる。つまり、複数の情報記憶装置間でミラー元とミラー先の関係をファイル単位で動的に変更することによって、ミラーリング処理における不平等がなくなる結果、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することが可能となる。
【００２１】
また、請求項２の発明によれば、情報処理装置から受信する書き込み要求の状況、情報処理装置から受信する読み込み要求の状況、他の情報記憶装置における処理の状況、および／または、情報記憶装置がユーザから受け付けた設定の状況に応じて、所有情報を変更するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。つまり、種々の状況に応じて複数の情報記憶装置間でミラー元とミラー先の関係をファイル単位で動的に変更するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。
【００２２】
また、請求項３の発明によれば、書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、当該書き込み要求に係る実データをミラー元である情報記憶装置に書き込む処理に同期して、当該実データ以外のファイル管理情報をミラー先である他の情報記憶装置に転送し、実データの書き込み処理が終了した後に、当該実データをミラー先である他の情報記憶装置に非同期で転送するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。つまり、情報記憶装置間の通信に遅延が生じる場合には、その遅延に最も影響される実データの転送を非同期にする結果、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。
【００２３】
また、請求項４の発明によれば、情報記憶装置に記憶される複数のファイルごとに、当該ファイルをミラー先で所有する際にファイル管理情報のみを記憶するか実データも記憶するかを示すミラー状態情報をさらに対応付けて保持し、書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、ミラー状態情報を参照し、当該ミラー先である他の情報記憶装置にファイル管理情報のみを転送するかまたは実データも転送するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。つまり、冗長性が要求されないファイルについては実データのミラーリングをしない結果、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。
【００２４】
また、請求項５の発明によれば、情報記憶装置は、複数の他の情報記憶装置と親子関係をもつことなく接続されるものであって、複数の他の情報記憶装置いずれとの間でも、ミラーリング処理を行うので、親子関係を持たせて複数の情報記憶装置を接続する手法と比較して、ミラーリングの対象となる情報記憶装置全てを相互に接続するだけの簡易な構成によってミラーリング処理を実現することが可能となる。
【発明を実施するための最良の形態】
【００２５】
以下に添付図面を参照して、この発明に係る情報記憶装置の実施例を詳細に説明する。なお、以下では、実施例１に係る情報記憶装置の概要および特徴、実施例１に係る情報記憶装置の構成および処理の流れ、実施例１の効果を順に説明し、引き続き、他の実施例を説明する。
【実施例１】
【００２６】
［用語の説明］
最初に、本実施例で用いる主要な用語を説明する。本実施例で用いる「所有権」とは、情報記憶装置がファイルをミラー元として記憶する権利のことであり、リモートミラーリングを実現する複数の情報記憶装置間でただ一つの情報記憶装置がこの所有権を持つ（「ファイルの所有権を持つ」と「ファイルをミラー元として記憶する」は同義）。
【００２７】
また、本実施例で用いる「ファイル管理情報」とは、情報記憶装置がデータをファイルとして管理するための情報のことであり、複数の情報記憶装置間がこのファイル管理情報の整合をとることによって、情報処理装置によってどの情報記憶装置にアクセスされてもファイルの管理状態を同じに提供することができる。例えば、ファイル管理情報にはメタデータやディレクトリ情報などが含まれる。なお、「情報処理装置」とは、アプリケーションソフトウェアによってユーザが所定の作業を実行できる装置のことである。
【００２８】
また、本実施例で用いる「実データ」とは、情報記憶装置が上記したファイル管理情報によって管理しているデータ自体のことであり、情報処理装置によって生成されたデータである。
【００２９】
［実施例１に係る情報記憶装置の概要および特徴］
まず、図１を用いて、実施例１に係る情報記憶装置の概要および特徴を説明する。図１は、実施例１に係る情報記憶装置の概要および特徴を説明するための図である。
【００３０】
実施例１に係る情報記憶装置の概要は、他の情報記憶装置とＷＡＮなどのネットワークを介して相互に通信可能に接続され、情報処理装置から書き込み要求されたデータを情報記憶装置間でミラーリングして複製保存するという内容であり、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することを可能としている点に主たる特徴がある。
【００３１】
この主たる特徴について説明すると、情報記憶装置１０は、情報記憶装置１０に記憶される複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を保持する。
【００３２】
具体的に例を挙げて説明すると、図１の（Ａ）に示すように、情報記憶装置１０は、記憶しているファイル「Ａ」〜ファイル「Ｆ」のうち、ファイル「Ａ」、ファイル「Ｄ」およびファイル「Ｆ」についてミラー元のファイルとしての所有権を有する。一方、情報記憶装置２０は、情報記憶装置１０とは対照的に、ファイル「Ｂ」、ファイル「Ｃ」およびファイル「Ｅ」についてミラー元のファイルとしての所有権を有する。
【００３３】
そして、情報記憶装置１０は、所有情報をミラー元からミラー先へ、またはミラー先からミラー元へ複数のファイルごとに変更する。
【００３４】
具体的に例を挙げて説明すると、図１の（Ａ）に示すように、情報記憶装置１０は、情報記憶装置２０とリモートミラーリングを実現しており、ファイル「Ｂ」に対して情報処理装置による書き込み要求や読み込み要求が多い場合には、情報記憶装置２０が持つファイル「Ｂ」の所有権を自身に移譲するよう情報記憶装置２０に要求する（図１の（１）参照）。
【００３５】
そして、図１の（Ｂ）に示すように、情報記憶装置１０は、情報記憶装置２０から所有権の移譲が許可されると、ファイル「Ｂ」をミラー先としてのファイルからミラー元としてのファイルに変更する（図１の（２）参照）。
【００３６】
ここで、情報記憶装置１０は、ファイルに対して情報処理装置から書き込み要求を受信した場合に、所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御する。
【００３７】
具体的に例を挙げて説明すると、図１の（Ｃ）や（Ｄ）に示すように、情報記憶装置１０は、情報処理装置からファイル「Ｂ」に対して書き込み要求を受け付けると（図１の（３）参照）、所有情報によってファイル「Ｂ」がミラー元であるので、情報処理装置から受信したデータを当該ファイル「Ｂ」に書き込み、ファイル管理情報を同期で情報記憶装置２０へ転送する（図１の（４）参照）。そして、情報記憶装置１０は、情報処理装置に対して書き込み完了を通知する（図１の（５）参照）。
【００３８】
そして、図１の（Ｅ）に示すように、情報記憶装置１０は、後に実データを転送するタイミングになると、ファイル「Ｂ」の実データを非同期で情報記憶装置２０へ転送する（図１の（６）参照）。ここで、情報記憶装置１０は、引き続きファイル「Ｂ」に対して情報処理装置による頻繁なアクセスが行われる場合には、情報処理装置に対するレスポンスを以前のレスポンスより速くする結果となる。また、この先、情報記憶装置２０は、ファイル「Ｂ」に対するアクセス状況によっては、情報記憶装置１０と同様、ファイル「Ｂ」をミラー先のファイルからミラー元のファイルへと変更する。
【００３９】
したがって、この情報記憶装置によれば、上記した主たる特徴のとおり、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することが可能となる。つまり、複数の情報記憶装置間でミラー元とミラー先の関係をファイル単位で動的に変更することによって、ミラーリング処理における不平等がなくなる結果、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することが可能となる。
【００４０】
［実施例１に係る情報記憶装置の構成］
次に、図２を用いて、図１に示した実施例１に係る情報記憶装置の構成を説明する。図２は、情報記憶装置の構成を示すブロック図である。
【００４１】
図２に示すように、情報記憶装置１０は、通信制御Ｉ／Ｆ部３０と、記憶部４０と、制御部５０とを備える。通信制御Ｉ／Ｆ部３０は、制御部５０と、情報処理装置や情報記憶装置２０との間における通信を制御する。
【００４２】
記憶部４０は、制御部５０による各種処理に必要なデータおよびプログラムを記憶し、特に本発明に密接に関連するものとしては、所有状態管理テーブル記憶部４１を備える。また、記憶部４０は、情報処理装置が生成したファイルをミラー元として、あるいは、ミラー先として記憶する。
【００４３】
所有状態管理テーブル記憶部４１は、複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を記憶する。具体的には、図３に示すように、所有状態管理テーブル記憶部４１は、ファイルを一意に識別するファイル名と、そのファイルがミラー先としてのファイルかミラー元としてのファイルかを示す情報である所有状態フラグとを対応付けて記憶する。例えば、図３に示すように、所有状態管理テーブル記憶部４１は、ファイル名「Ａ」と、所有状態フラグ「オフ状態」とを対応付けて記憶する（「オフ状態」ならば、ミラー先としてのファイル、「オン状態」ならば、ミラー元としてのファイル）。なお、図３は、所有状態管理テーブル記憶部が記憶する情報の例を示す図である。
【００４４】
制御部５０は、ＯＳ（Operating System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有して種々の処理を実行し、特に本発明に密接に関連するものとしては、所有状態変更部５１と、ミラーリング処理部５２と、ミラー元処理部５３と、ミラー先処理部５４とを備える。なお、所有状態変更部５１は、特許請求の範囲に記載の「所有情報変更手順」に対応し、ミラーリング処理部５２は、同じく「ミラーリング処理手順」に対応する。
【００４５】
所有状態変更部５１は、所有状態管理テーブル記憶部４１によって記憶される所有状態フラグを、ミラー元からミラー先へ、またはミラー先からミラー元へ複数のファイルごとに変更する。具体的には、所有状態変更部５１は、ファイルに対する情報処理装置の書き込み要求や読み込み要求の頻度によって、所有状態フラグを変更するタイミングになると、通信制御Ｉ／Ｆ部３０を介してそのファイルの所有権を持つ情報記憶装置２０に所有権移譲の確認を取り、所有状態フラグを、ミラー元からミラー先へ、または、ミラー先からミラー元へ複数のファイルごとに変更する。例えば、所有状態変更部５１は、任意の一定時間においてミラー先であるファイルに対するアクセス回数が所定の閾値を超えた場合には、情報記憶装置２０に所有権移譲の確認を取り、当該ファイルのファイル名に対応付けられた所有状態フラグを「オフ状態」から「オン状態」へ変更する。
【００４６】
ミラーリング処理部５２は、ファイルに対して情報処理装置から書き込み要求を受信した場合に、所有状態管理テーブル記憶部４１によって記憶される所有状態フラグを参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御する。
【００４７】
具体的には、ミラーリング処理部５２は、情報処理装置から通信制御Ｉ／Ｆ部３０を介してファイルに対する書き込み要求を受け付けると、所有状態管理テーブル記憶部４１によって記憶される所有状態フラグを参照し、当該ファイルがミラー元であるかミラー先であるかに応じて、後述するミラーリング元処理部５３またはミラー先処理部５４を制御してミラーリング処理を行う。
【００４８】
例えば、ミラーリング処理部５２は、情報処理装置から通信制御Ｉ／Ｆ部３０を介してファイル名「Ａ」であるファイルに対する書き込み要求を受け付けると、所有状態管理テーブル記憶部４１に記憶されたファイル名「Ａ」に対応付けられた所有状態フラグが「オフ状態」であるので、ミラー先処理部５４を制御してミラーリング処理を行う。
【００４９】
ミラー元処理部５３は、ミラー元としてのファイルに対する書き込みを処理する。具体的には、ミラー元処理部５３は、上述したミラーリング処理部５２から制御信号を受け取ると、情報処理装置から通信制御Ｉ／Ｆ部３０を介して書き込みに係るデータを受信して該当するファイルにデータを書き込む。そして、ミラー元処理部５３は、データの書き込みが終わると、情報記憶装置２０にデータの書き込みに係るファイル管理情報を同期で転送し、情報記憶装置２０による当該ファイル管理情報の書き込みを確認すると、情報処理装置に書き込み完了を通知する。また、ミラー元処理部５３は、後に実データ転送のタイミングになると、実データを非同期で情報記憶装置２０に転送する。
【００５０】
さらに、ミラー元処理部５３は、情報記憶装置２０にアクセスを行う情報処理装置がミラー先のファイルに書き込み要求をした結果、情報記憶装置２０からファイルオープンの確認を取られると、該当するファイルが使用中でなければ情報記憶装置２０に対してファイルオープンし、情報記憶装置２０から転送されるデータを書き込み、情報記憶装置２０にファイル管理情報を転送する。さらに、ミラー元処理部５３は、後に実データ転送のタイミングになると、実データを非同期で情報記憶装置２０に転送する。
【００５１】
ミラー先処理部５４は、ミラー先としてのファイルに対する書き込みを処理する。具体的には、ミラー先処理部５４は、上述したミラーリング処理部５２から制御信号を受け取ると、通信制御Ｉ／Ｆ部３０を介して情報記憶装置２０にアクセスして該当するファイルに対してファイルオープンの確認を取る。そして、ミラー先処理部５４は、ファイルオープンの確認を得ると、情報処理装置から受信したデータを、通信制御Ｉ／Ｆ部３０を介して情報記憶装置２０へ転送する。そして、ミラー先処理部５４は、情報記憶装置２０から同期でデータの書き込みに係るファイル管理情報が転送されるので、当該ファイル管理情報を書き込み、情報処理装置に書き込み完了を通知する。また、ミラー先処理部５４は、後に情報記憶装置２０から転送される実データを通信制御Ｉ／Ｆ部３０を介して受信して該当するファイルに書き込む。
【００５２】
［実施例１に係る情報記憶装置による処理］
次に、図４〜図７を用いて、実施例１における情報記憶装置による処理を説明する。図４および図５は、所有状態変更処理の流れを示すフローチャートであり、図６は、情報処理装置による書き込み要求に対する処理の流れを示すフローチャートであり、図７は、情報記憶装置によるデータ転送処理の流れを示すフローチャートである。
【００５３】
まず、所有状態変更処理の流れを説明すると、図４に示すように、所有状態変更部５１は、ファイルに対するアクセス状況によって所有状態を変更するタイミングになると（ステップＳ４０１肯定）、情報記憶装置２０に対して所有権の移譲を要求し（ステップＳ４０２）、所有権移譲の確認を得て（ステップＳ４０３肯定）、該当するファイルの所有状態フラグを「オフ状態」から「オン状態」へ変更し（ステップＳ４０４）、処理を終了する。
【００５４】
また、図５に示すように、所有状態変更部５１は、情報記憶装置２０から所有権移譲の要求を受け付けると（ステップＳ５０１肯定）、該当するファイルの所有状態フラグを「オン状態」から「オフ状態」へ変更し（ステップＳ５０２）、情報記憶装置２０に所有権の移譲を許可し（ステップＳ５０３）、処理を終了する。
【００５５】
次に、情報処理装置による書き込み要求に対する処理の流れを説明すると、図６に示すように、ミラーリング処理部５１は、通信制御Ｉ／Ｆ部３０から情報処理装置による書き込み要求を受け付けると（ステップＳ６０１肯定）、所有状態管理テーブル記憶部４１によって記憶される所有状態フラグを参照する（ステップＳ６０２）。
【００５６】
そして、ミラーリング処理部５２は、所有状態が「オン状態」にあるファイルに対する書き込みである場合には（ステップＳ６０２肯定）、ミラー元処理部５３に制御信号を出力し、制御信号を受け取ったミラー元処理部５３は、情報処理装置から受信したデータを該当するファイルに書き込む（ステップＳ６０３）。また、ミラー元処理部５３は、情報記憶装置２０にデータの書き込みに係るファイル管理情報を同期で転送し（ステップＳ６０４）、情報記憶装置２０によるファイル管理情報の書き込みを確認すると情報処理装置に書き込み完了を通知する（ステップＳ６０５）。
【００５７】
そして、ミラー元処理部５３は、後に実データを転送するタイミングになると（ステップＳ６０６肯定）、情報記憶装置２０に実データを転送し（ステップＳ６０７）、処理を終了する。
【００５８】
一方、ミラーリング処理部５２は、所有状態が「オフ状態」にあるファイルに対する書き込みである場合には（ステップＳ６０２否定）、ミラー先処理部５４に制御信号を出力し、制御信号を受け取ったミラー先処理部５４は、情報記憶装置２０にアクセスして該当するファイルに対してファイルオープンの確認を取り（ステップＳ６０８）、ファイルオープンの確認を得ると（ステップＳ６０９肯定）、情報記憶装置２０に情報処理装置から受信したデータを転送する（ステップＳ６１０）。
【００５９】
そして、ミラー先処理部５４は、情報記憶装置２０からファイル管理情報を転送されるので（ステップＳ６１１肯定）、ファイル管理情報を書き込み（ステップＳ６１２）、情報処理装置に書き込み完了を通知し（ステップＳ６１３）、処理を終了する。
【００６０】
次に、情報記憶装置２０によるデータ転送処理の流れを説明すると、図７に示すように、ミラー元処理部５３は、情報記憶装置２０からファイルオープンの確認を取られると（ステップＳ７０１肯定）、情報処理装置による書き込みや読み込みでファイルが使用中の場合には（ステップＳ７０２肯定）、情報記憶装置２０に対して待機を要請し（ステップＳ７０３）、ファイルが使用中でない場合には（ステップＳ７０３否定）、情報記憶装置２０に対してファイルオープンする（ステップＳ７０４）。そして、ミラー元処理部５３は、情報記憶装置２０から転送されるデータを受信して該当するファイルに書き込むと（ステップＳ７０４）、情報記憶装置２０にファイル管理情報を転送する（ステップＳ７０６）。そして、ミラー先処理部５４は、後に実データを転送するタイミングになると（ステップＳ７０７肯定）、情報記憶装置２０に実データを転送し（ステップＳ７０８）、処理を終了する。
【００６１】
［実施例１の効果］
上述したように、実施例１によれば、複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有状態フラグを記憶し、当該所有状態フラグを「オン状態」から「オフ状態」へ、または「オフ状態」から「オン状態」へ複数のファイルごとに変更し、ファイルに対して情報処理装置から書き込み要求を受信した場合に、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することが可能となる。つまり、複数の情報記憶装置間でミラー元とミラー先の関係をファイル単位で動的に変更することによって、ミラーリング処理における不平等がなくなる結果、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することが可能となる。
【００６２】
また、実施例１によれば、情報処理装置のアクセス状況に応じて、所有状態フラグのオンオフを変更するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。つまり、情報処理装置のアクセス状況に応じて複数の情報記憶装置間でミラー元とミラー先の関係をファイル単位で動的に変更するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。
【００６３】
また、実施例１によれば、書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、当該書き込み要求に係る実データをミラー元である情報記憶装置に書き込む処理に同期して、当該実データ以外のファイル管理情報をミラー先である他の情報記憶装置に転送し、実データの書き込み処理が終了した後に、当該実データをミラー先である他の情報記憶装置に非同期で転送するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。つまり、情報記憶装置間の通信に遅延が生じる場合には、その遅延に最も影響される実データの転送を非同期にする結果、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。
【実施例２】
【００６４】
実施例１では、情報記憶装置間で記憶する全てのファイルにおいてミラーリングを行う場合を説明したが、実施例２では、情報記憶装置間で記憶する一部のファイルにおいてミラーリングを行わない場合を説明する。
【００６５】
図８を用いて、実施例２に係る情報記憶装置を説明する。図８は、実施例２に係る情報記憶装置を説明するための図である。
【００６６】
まず、図８の（Ａ）に示すように、情報記憶装置１０は、記憶しているファイル「Ａ」〜ファイル「Ｆ」のうち、ファイル「Ａ」、ファイル「Ｂ」、ファイル「Ｄ」およびファイル「Ｆ」についてミラー元のファイルとしての所有権を有し、ファイル「Ｂ」については情報記憶装置２０に対してファイル管理情報のみを転送し、実データを転送しないものとして設定する。一方、情報記憶装置２０は、情報記憶装置１０とは対照的に、ファイル「Ｃ」およびファイル「Ｅ」についてミラー元のファイルとしての所有権を有する。
【００６７】
詳細には、情報記憶装置１０において所有状態管理テーブル記憶部４１が、ファイルごとに、当該ファイルをミラー先で所有する際にファイル管理情報のみを記憶するか実データも記憶するかを示すミラー状態情報をさらに対応付けて記憶することによって上記したファイルの管理状態を実現する。具体的には、図９に示すように、所有状態管理テーブル記憶部４１は、ファイル名と、所有状態フラグと、さらに、実データを転送するか否かを示す情報であるミラーリング不要フラグを対応付けて記憶する。例えば、図９に示すように、所有状態管理テーブル記憶部４１は、ファイル名「Ｂ」と、所有状態フラグ「オン状態」と、ミラーリング不要フラグ「オン状態」とを対応付けて記憶する。なお、図９は、所有状態管理テーブル記憶部が記憶する情報の例を示す図である。
【００６８】
そして、情報記憶装置１０は、情報処理装置からファイル「Ｂ」に対して書き込み要求を受け付けると（図８の（１）参照）、所有情報によってファイル「Ｂ」がミラー元であるので、情報処理装置から受信したデータを当該ファイル「Ｂ」に書き込む。
【００６９】
そして、図８の（Ｂ）に示すように、情報記憶装置１０は、ファイル「Ｂ」については情報記憶装置２０に対してファイル管理情報のみを転送し、実データを転送しないものとして設定されているので、ファイル管理情報を同期で情報記憶装置２０へ転送し（図８の（２）参照）、情報処理装置に対して書き込み完了を通知し（図８の（３）参照）、書き込み要求に係る処理を終了する。この先、情報記憶装置１０は、情報記憶装置２０に対して実データを転送することはしない。
【００７０】
詳細には、情報記憶装置１０においてミラー元処理部５３が、書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、ミラー状態情報を参照し、当該ミラー先である他の情報記憶装置にファイル管理情報のみを転送するかまたは実データも転送することによって上記した書き込み要求に係る処理を実現する。図６のフローチャートを用いて説明すると、ミラー元処理部５３は、「ステップＳ６０３」において情報処理装置から受信したデータをファイルに書き込んだ後、所有状態管理テーブル記憶部４１を参照し、該当するファイルのミラーリング不要フラグによってファイル管理情報のみを転送するかまたは実データも転送するかを決定する。
【００７１】
一方、図８の（Ｃ）に示すように、情報記憶装置１０は、情報処理装置からファイル「Ａ」に対して書き込み要求を受け付けると（図８の（４）参照）、所有情報によってファイル「Ａ」がミラー元であるので、情報処理装置から受信したデータを当該ファイル「Ａ」に書き込む。
【００７２】
そして、図８の（Ｄ）に示すように、情報記憶装置１０は、ファイル管理情報を同期で情報記憶装置２０へ転送し（図８の（５）参照）、情報処理装置に対して書き込み完了を通知する（図８の（６）参照）。
【００７３】
そして、図８の（Ｅ）に示すように、情報記憶装置１０は、後に実データを転送するタイミングになると、ファイル「Ａ」の実データを非同期で情報記憶装置２０へ転送する（図８の（７）参照）。
【００７４】
上記したように、実施例２によれば、複数のファイルごとに、当該ファイルをミラー先で所有する際にファイル管理情報のみを記憶するか実データも記憶するかを示すミラーリング不要フラグをさらに記憶し、書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、ミラーリング不要フラグを参照し、当該ミラー先である他の情報記憶装置にファイル管理情報のみを転送するかまたは実データも転送するので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。つまり、冗長性が要求されないファイルについては実データのミラーリングをしない結果、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。
【実施例３】
【００７５】
実施例１では、２つの情報記憶装置間でミラーリングを行う場合を説明したが、本発明はこれに限定されるものではなく、３つ以上の複数の情報記憶装置間でミラーリングを行ってもよい。
【００７６】
例えば、図１０に示すように、情報記憶装置１０は、情報記憶装置２０ａおよび情報記憶装置２０ｂとＷＡＮなどのネットワークを介して相互に通信可能に接続される。
【００７７】
ここで、情報記憶装置１０は、情報処理装置からファイル名「Ｂ」であるファイルに対して書き込み要求を受け付けると、所有状態管理テーブル記憶部４１によって記憶される所有状態フラグを参照し、所有状態フラグが「オン状態」であるので、該当するファイルに情報処理装置から受信したデータを書き込む。そして、情報記憶装置１０は、情報記憶装置２０ａおよび情報記憶装置２０ｂにファイル管理情報を同期で転送し、後に実データ転送のタイミングになると、実データを転送する。
【００７８】
上記したように、実施例３によれば、複数の他の情報記憶装置いずれとの間でも、ミラーリング処理を行うので、親子関係を持たせて複数の情報記憶装置を接続する手法と比較して、ミラーリングの対象となる情報記憶装置全てを相互に接続するだけの簡易な構成によってミラーリング処理を実現することが可能となる。
【実施例４】
【００７９】
実施例３では、複数の情報記憶装置間が同等の関係でミラーリングを行う場合を説明したが、本発明はこれに限定されるものではなく、複数の情報記憶装置間が親子関係を築いてミラーリングを行ってもよい。
【００８０】
例えば、図１１に示すように、子２ａとしての情報記憶装置１０は、親３ａとしての情報記憶装置とＷＡＮなどのネットワークを介して相互に通信可能に接続される。
【００８１】
ここで、子２ａとしての情報記憶装置１０は、情報処理装置からミラー元としてのファイルに対して書き込み要求を受け付けると、情報処理装置から受信したデータを該当するファイルに書き込む。そして、子２ａとしての情報記憶装置１０は、親３ａとしての情報記憶装置に対してのみファイル管理情報を同期で転送する（矢印１ａ参照）。
【００８２】
また、親３ａとしての情報記憶装置は、当該ファイル管理情報を親３ｂとしての情報記憶装置および親３ｃとしての情報記憶装置に転送する（矢印１ｂ１および矢印１ｂ２参照）。さらに、当該ファイル管理情報を親３ｂとしての情報記憶装置が子２ｂとしての情報記憶装置に転送し（矢印１ｃ参照）、親３ｃとしての情報記憶装置が子２ｃとしての情報記憶装置に転送する（矢印１ｄ１参照）。
【００８３】
また、子２ａとしての情報記憶装置１０は、後に実データ転送のタイミングになると、親３ａとしての情報記憶装置に対してのみ実データを転送する。なお、実データについても上記した経路で複数の情報記憶装置に転送される。
【００８４】
また、例えば、親３ａとしての情報記憶装置は、情報処理装置からミラー元としてのファイルに対して書き込み要求を受け付けると、情報処理装置から受信したデータを該当するファイルに書き込む。そして、親３ａとしての情報記憶装置は、子２ａとしての情報記憶装置１０と、親３ｂとしての情報記憶装置と、親３ｃとしての情報記憶装置とに対してファイル管理情報を同期で転送する。
【００８５】
そして、親３ｂとしての情報記憶装置は、当該ファイル管理情報を子２ｂとしての情報記憶装置に転送し、親３ｃとしての情報記憶装置は、当該ファイル管理情報を子２ｃとしての情報記憶装置に転送する。
【００８６】
また、親３ａとしての情報記憶装置は、後に実データ転送のタイミングになると実データを転送し、上記した経路で当該実データが複数の情報記憶装置に転送される。
【００８７】
上記したように、実施例４によれば、自己と親子関係にある他の情報記憶装置、または、親同士である他の情報記憶装置との間に限って、ミラーリング処理を行うので、親子関係を持たせずに複数の情報記憶装置を接続する手法と比較して、一つの情報記憶装置がミラーリングの対象とする情報記憶装置を親子関係を築いて減らすことによってミラーリングの処理負荷を軽減することが可能となる。
【実施例５】
【００８８】
実施例３では、複数の情報記憶装置間で記憶する全てのファイルにおいてミラーリングを行う場合を説明したが、本発明はこれに限定されるものではなく、情報記憶装置間で記憶する一部のファイルにおいてミラーリングを行わないようにしてもよい。
【００８９】
例えば、図１２の（Ａ）に示すように、情報記憶装置１０は、ＷＡＮなどのネットワークを介して相互に通信可能に接続された情報記憶装置２０ａ〜２０ｄのうち、冗長性を必要とするファイルについては、情報記憶装置２０ａ〜２０ｄ全てにファイル管理情報に加えて実データも転送する。
【００９０】
一方、例えば、図１２の（Ｂ）に示すように、情報記憶装置１０は、冗長性を必要としないファイルについては、情報記憶装置２０ａ〜２０ｄのうち情報記憶装置２０ａだけにファイル管理情報に加えて実データを転送し、情報記憶装置２０ｂ〜２０ｄにはファイル管理情報のみを転送する。
【００９１】
詳細には、情報記憶装置１０において所有状態管理テーブル記憶部４１が、ファイルごとに、当該ファイルの冗長性を示す冗長情報をさらに対応付けて記憶することによって上記した処理を実現する。具体的には、図１３に示すように、所有状態管理テーブル記憶部４１は、ファイル名と、所有状態フラグと、さらに、情報記憶装置を一意に識別する情報記憶装置識別情報と、実データを転送するか否かを示す情報であるミラー処理フラグとを対応付けて記憶する。例えば、図１３に示すように、所有状態管理テーブル記憶部４１は、冗長性を必要とするファイル名「Ａ」であるファイルについては、所有状態フラグ「オフ状態」と、８つの情報記憶装置識別情報全てに対してミラー処理フラグ「オン状態」を対応付けて記憶する。また、所有状態管理テーブル記憶部４１は、冗長性を必要としないファイル名「Ｃ」であるファイルについては、所有状態フラグ「オン状態」と、８つのうち２つの情報記憶装置識別情報に対してミラー処理フラグ「オン状態」を対応付けて記憶する。なお、図１３は、所有状態管理テーブル記憶部が記憶する情報の例を示す図である。
【００９２】
また、情報記憶装置１０においてミラー元処理部５３が、書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、冗長情報を参照し、当該冗長情報から定まる個数のミラー先に対してミラーリング処理を行うことによって上記した書き込み要求に係る処理を実現する。図６のフローチャートを用いて説明すると、ミラー元処理部５３は、「ステップＳ６０３」において情報処理装置から受信したデータをファイルに書き込んだ後、所有状態管理テーブル記憶部４１を参照し、該当するファイルのミラー処理フラグによってファイル管理情報や実データの転送先を決定する。
【００９３】
上記したように、実施例５によれば、複数のファイルごとに、当該ファイルの冗長性を示す冗長情報をさらに記憶し、書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、当該冗長情報から定まる個数のミラー先に対してミラーリング処理を行うので、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。つまり、冗長性が要求されないファイルについては実データのミラーリングをしない結果、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対してさらに高いパフォーマンスを等しく提供することが可能となる。また、冗長性が要求されるファイルについては多くの情報記憶装置間でミラーリングを行うので、ファイルの保存に対する信頼性を向上することが可能となる。
【実施例６】
【００９４】
実施例６では、ファイルに対するアクセス実績や空き容量に応じて実データの必要性を判定し、不必要なミラーの実データについては破棄する情報記憶装置を説明する。
【００９５】
例えば、図１４の（Ａ）に示すように、情報記憶装置１０は、情報記憶装置２０ａ〜２０ｄとＷＡＮなどのネットワークを介して相互に通信可能に接続される。そして、情報記憶装置１０は、記憶部４０の空き容量が少なくなると、冗長性を必要としないファイルの実データ破棄をファイル削除管理部５５によって情報記憶装置２０ａに対して要求する（図１４の（１）参照）。なお、情報記憶装置２０ａは、当該ファイルをミラー元として記憶する。
【００９６】
そして、図１４の（Ｂ）に示すように、情報記憶装置１０は、情報記憶装置２０ａから実データ破棄を許可されると、ファイル削除管理部５５によって該当するファイルの実データを破棄する（図１４の（２）参照）。
【００９７】
上記したように、実施例６によれば、情報記憶装置の空き容量に応じて、情報記憶装置にミラー先として記憶されているファイルの必要性を判定し、不必要と判定されたファイルの実データを削除するので、より冗長性が必要とされるファイルの保存に対する信頼性を向上することが可能となる。つまり、冗長性が必要とされないファイルの実データの代わりに冗長性が必要とされるファイルの実データを多く保存する結果、より冗長性が必要とされるファイルの保存に対する信頼性を向上することが可能となる。
【実施例７】
【００９８】
実施例７では、情報処理装置からミラー先のファイルにアクセスされる一方で、ファイルへの実データ転送が完了する前に障害が発生した場合に、未転送の実データについては無視し、所有権を移譲して応答する情報記憶装置を説明する。
【００９９】
例えば、図１５の（Ａ）に示すように、情報記憶装置１０は、情報記憶装置２０からミラー先としてのファイル「Ｂ」に対して実データを非同期で転送され（図１５の（１）参照）、当該実データをファイル「Ｂ」に書き込む。ここで、図１６に示すように、所有状態管理テーブル記憶部４１が、ファイル名と、所有状態フラグと、さらに、実データの転送が完了したか否かを示す実データ転送中フラグを対応付けて記憶することで後述する処理が実現される。
【０１００】
図１５の（Ｂ）や（Ｃ）に示すように、情報記憶装置１０は、ファイル「Ｂ」に転送される実データを書き込んでいる途中に（図１５の（２）参照）、情報処理装置からファイル「Ｂ」に対して書き込み要求を受け付ける一方で（図１５の（３）参照）、ネットワークに障害が発生した場合には（図１５の（４）参照）、障害対策部５６によって実データ転送中フラグが「オン状態」であるファイル「Ｂ」をミラー先からミラー元へ変更し（図１５の（５）参照）、未転送の実データについては無視して情報処理装置の書き込み要求を受け付け、受信したデータをファイル「Ｂ」に書き込む（図１５の（６）参照）。
【０１０１】
上記したように、実施例７によれば、情報記憶装置にミラー先として記憶されているファイルに対してミラーリング処理の完了前に情報処理装置から書き込み要求または読み込み要求を受信する一方で、当該ミラーリング処理がミラー元の障害によって中断した場合に、当該ファイルの所有状態フラグを「オフ状態」から「オン状態」へ、つまり、ミラー先からミラー元へ変更するとともに、所有状態フラグの変更を待って書き込み要求または読み込み要求にミラー元として応答するので、復旧を待ってアクセスを受け付ける手法と比較して、情報処理装置による作業をユーザに対して継続させることが可能となる。
【実施例８】
【０１０２】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、（１）〜（６）にそれぞれ区分けして異なる実施例を説明する。
【０１０３】
（１）所有状態の変更
上記の実施例１では、ファイルに対するアクセス状況に応じて所有状態を変更するものとして説明したが、本発明はこれに限定されるものではなく、動的に変更する方法であればいかなる手法であってもよく、例えば、ミラー先のファイルに対して書き込み要求や読み込み要求があるごとに所有状態を変更してもよいし、ユーザが手動で所有状態を変更してもよい。
【０１０４】
（２）ファイル管理情報および実データの転送
また、上記の実施例１では、ファイル管理情報を同期で、実データを非同期で転送するものとして説明したが、本発明はこれに限定されるものではなく、結果的にミラー処理を行うものであればよく、例えば、ファイル管理情報および実データともに同期で、あるいは、非同期で転送するようにしてもよい。さらに、ファイル管理情報に含まれるメタデータやディレクトリ情報について同期、あるいは、非同期で分けて転送するようにしてもよい。
【０１０５】
（３）実データ破棄
また、上記の実施例６では、記憶部の空き容量が少なくなったことを契機に実データを破棄する場合を説明したが、本発明はこれに限定されるものではなく、冗長性の必要がないファイルの実データを優先的に破棄するものであればいかなる手法であってもよく、例えば、ファイルに対して情報処理装置から受信する書き込み要求の状況や情報処理装置から受信する読み込み要求の状況が少なくなったことを契機にそのファイルの実データを破棄するようにしてもよい。
【０１０６】
（４）障害対策
また、上記の実施例７では、実データ転送途中のファイルに対する書き込み要求がある一方で障害が発生した場合には、未転送の実データを無視して書き込み要求に応じるものとして説明したが、本発明はこれに限定されるものではなく、障害が復旧するまでの間書き込み要求を拒否し、障害が復旧されたら実データの転送を再開するようにしてもよい。
【０１０７】
（５）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、例えば、ミラーリング処理部５２、ミラー元処理部５３およびミラー先処理部５４とを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０８】
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、ファイル名に用いたアルファベット「Ａ」や「Ｂ」についてはこの限りではなく、ファイルを一意に識別するものであればよい。
【０１０９】
（６）ミラーリングプログラム
ところで、上記の実施例１では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図１７を用いて、上記の実施例１に示した情報記憶装置１０と同様の機能を有するミラーリングプログラムを実行するコンピュータの一例を説明する。図１７は、ミラーリングプログラムを実行するコンピュータを示す図である。
【０１１０】
同図に示すように、情報記憶装置１０としてのコンピュータ６０は、通信制御Ｉ／Ｆ６１、ＣＰＵ６２、ＲＯＭ６３、ＨＤＤ６４およびＲＡＭ６５をバス６６などで接続して構成される。
【０１１１】
ＲＯＭ６３には、上記の実施例１に示した情報記憶装置１０と同様の機能を発揮するミラーリングプログラム、つまり、図１７に示すように、所有状態変更プログラム６３ａと、ミラーリング処理プログラム６３ｂと、ミラー元処理プログラム６３ｃと、ミラー先処理プログラム６４ｄとが予め記憶されている。なお、これらのプログラム６３ａ〜プログラム６３ｄについては、図１７に示した情報記憶装置１０の各構成要素と同様、適宜統合または分散してもよい。
【０１１２】
そして、ＣＰＵ６２が、これらのプログラム６３ａ〜プログラム６３ｄをＲＯＭ６３から読み出して実行することで、図１７に示すように、プログラム６３ａ〜プログラム６３ｄは、所有状態変更プロセス６２ａ、ミラーリング処理プロセス６２ｂ、ミラー元処理プロセス６２ｃ、ミラー先処理プロセス６２ｄとして機能するようになる。なお、プロセス６２ａ〜プロセス６２ｄは、図２に示した所有状態変更部５１と、ミラーリング処理部５２と、ミラー元処理部５３と、ミラー先処理部５４とにそれぞれ対応する。
【０１１３】
また、ＨＤＤ６４には、図１７に示すように、所有状態管理テーブル６４ａが設けられる。この所有状態管理テーブル６４ａは、図２に示した所有状態管理テーブル記憶部４１に対応する。
【０１１４】
なお、上記した各プログラム６３ａ〜６３ｄについては、必ずしも最初からＲＯＭ６３に記憶させておく必要はなく、例えば、コンピュータ６０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータ６０の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ６０に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ６０がこれらから各プログラムを読み出して実行するようにしてもよい。
【０１１５】
（付記１）他の情報記憶装置と接続される情報記憶装置それぞれに適用され、情報処理装置から書き込み要求されたデータを前記他の情報記憶装置との間でミラーリングして複製保存する方法をコンピュータに実行させるミラーリングプログラムであって、
前記情報記憶装置に記憶される複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を保持する所有情報保持手順と、
前記所有情報保持手順によって保持される所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ前記複数のファイルごとに変更する所有情報変更手順と、
前記情報記憶装置に記憶されるファイルに対して前記情報処理装置から書き込み要求を受信した場合に、前記所有情報保持手順によって現に保持されている所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するミラーリング処理手順と、
をコンピュータに実行させるミラーリングプログラム。
【０１１６】
（付記２）前記所有情報変更手順は、前記情報処理装置から受信する書き込み要求の状況、前記情報処理装置から受信する読み込み要求の状況、前記他の情報記憶装置における処理の状況、および／または、前記情報記憶装置がユーザから受け付けた設定の状況に応じて、前記所有情報を変更することを特徴とする付記１に記載のミラーリングプログラム。
【０１１７】
（付記３）前記ミラーリング処理手順は、前記書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、当該書き込み要求に係る実データをミラー元である前記情報記憶装置に書き込む処理に同期して、当該実データ以外のファイル管理情報をミラー先である他の情報記憶装置に転送し、前記実データの書き込み処理が終了した後に、当該実データをミラー先である他の情報記憶装置に非同期で転送することを特徴とする付記１または２に記載のミラーリングプログラム。
【０１１８】
（付記４）前記所有情報保持手順は、前記情報記憶装置に記憶される複数のファイルごとに、当該ファイルをミラー先で所有する際にファイル管理情報のみを記憶するか実データも記憶するかを示すミラー状態情報をさらに対応付けて保持し、
前記ミラーリング処理手順は、前記書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、前記所有情報保持手順によって保持されるミラー状態情報を参照し、当該ミラー先である他の情報記憶装置にファイル管理情報のみを転送するかまたは実データも転送することを特徴とする付記１〜３のいずれか一つに記載のミラーリングプログラム。
【０１１９】
（付記５）前記情報記憶装置は、複数の他の情報記憶装置と親子関係をもつことなく接続されるものであって、
前記ミラーリング処理手順は、前記複数の他の情報記憶装置いずれとの間でも、前記ミラーリング処理を行うことを特徴とする付記１〜４のいずれか一つに記載のミラーリングプログラム。
【０１２０】
（付記６）前記情報記憶装置は、複数の他の情報記憶装置と親子関係をもって接続されるものであって、
前記ミラーリング処理手順は、自己と親子関係にある他の情報記憶装置、または、親同士である他の情報記憶装置との間に限って、前記ミラーリング処理を行うことを特徴とする付記１〜４のいずれか一つに記載のミラーリングプログラム。
【０１２１】
（付記７）前記所有情報保持手順は、前記情報記憶装置に記憶される複数のファイルごとに、当該ファイルの冗長性を示す冗長情報をさらに対応付けて保持し、
前記ミラーリング処理手順は、前記書き込み要求されたファイルについてミラー先に対してミラーリング処理を行う際に、前記所有情報保持手順によって保持される冗長情報を参照し、当該冗長情報から定まる個数のミラー先に対してミラーリング処理を行うことを特徴とする付記１〜６のいずれか一つに記載のミラーリングプログラム。
【０１２２】
（付記８）前記情報処理装置から受信する書き込み要求の状況、前記情報処理装置から受信する読み込み要求の状況、および／または前記情報記憶装置の空き容量に応じて、前記情報記憶装置にミラー先として記憶されているファイルの必要性を判定し、不必要と判定されたファイルの実データを削除するファイル削除手順をさらにコンピュータに実行させることを特徴とする付記１〜７のいずれか一つに記載のミラーリングプログラム。
【０１２３】
（付記９）前記情報記憶装置にミラー先として記憶されているファイルに対してミラーリング処理の完了前に前記情報処理装置から書き込み要求または読み込み要求を受信する一方で、当該ミラーリング処理がミラー元の障害によって中断した場合に、前記所有情報保持手順によって保持される当該ファイルの所有情報をミラー先からミラー元へ変更するように前記所有情報変更手順に指示するとともに、当該所有情報の変更を待って前記書き込み要求または読み込み要求にミラー元として応答するように前記ミラーリング処理手順に指示する障害時指示手順をさらにコンピュータに実行させることを特徴とする付記１〜８のいずれか一つに記載のミラーリングプログラム。
【０１２４】
（付記１０）前記情報記憶装置にミラー先として記憶されているファイルに対してミラーリング処理の完了前に前記情報処理装置から書き込み要求または読み込み要求を受信する一方で、当該ミラーリング処理がミラー元の障害によって中断した場合に、当該ミラー元における障害が復旧するまで待機して前記書き込み要求または読み込み要求に応答するように前記ミラーリング処理手順に指示する障害時指示手順をさらにコンピュータに実行させることを特徴とする付記１〜８のいずれか一つに記載のミラーリングプログラム。
【０１２５】
（付記１１）他の情報記憶装置と接続され、情報処理装置から書き込み要求されたデータを前記他の情報記憶装置との間でミラーリングして複製保存する情報記憶装置であって、
複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を記憶する所有情報記憶手段と、
前記所有情報記憶手段によって記憶される所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ前記複数のファイルごとに変更する所有情報変更手段と、
所定のファイルに対して前記情報処理装置から書き込み要求を受信した場合に、前記所有情報記憶手段によって現に記憶されている所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するミラーリング処理手段と、
を備えたことを特徴とする情報記憶装置。
【０１２６】
（付記１２）情報処理装置から書き込み要求されたデータを他の情報記憶装置との間でミラーリングして複製保存するミラーリング方法であって、
複数のファイルごとに、当該ファイルをミラー元として所有するかミラー先として所有するかを示す所有情報を保持する所有情報保持工程と、
前記所有情報保持工程によって保持される所有情報を、ミラー元からミラー先へ、またはミラー先からミラー元へ前記複数のファイルごとに変更する所有情報変更工程と、
所定のファイルに対して前記情報処理装置から書き込み要求を受信した場合に、前記所有情報保持工程によって現に保持されている所有情報を参照し、当該書き込み要求されたファイルがミラー元であるかミラー先であるかに応じて、当該書き込み要求に対するミラーリング処理を制御するミラーリング処理工程と、
を含んだことを特徴とするミラーリング方法。
【産業上の利用可能性】
【０１２７】
以上のように、本発明に係る情報記憶装置は、他の情報記憶装置とＷＡＮなどのネットワークを介して相互に通信可能に接続され、情報処理装置から書き込み要求されたデータを情報記憶装置間でミラーリングして複製保存する場合に有用であり、特に、リモートミラーリングを実現する複数の情報記憶装置間で情報処理装置に対して高いパフォーマンスを等しく提供することに適する。
【図面の簡単な説明】
【０１２８】
【図１】実施例１に係る情報記憶装置の概要および特徴を説明するための図である。
【図２】実施例１に係る情報記憶装置の構成を示すブロック図である。
【図３】所有状態管理テーブル記憶部が記憶する情報の例を示す図である。
【図４】所有状態変更処理の流れを示すフローチャートである。
【図５】所有状態変更処理の流れを示すフローチャートである。
【図６】情報処理装置の書き込み要求に対する処理の流れを示すフローチャートである。
【図７】情報記憶装置によるデータ転送処理の流れを示すフローチャートである。
【図８】実施例２に係る情報記憶装置を説明するための図である。
【図９】所有状態管理テーブル記憶部が記憶する情報の例を示す図である。
【図１０】実施例３に係る情報記憶装置を説明するための図である。
【図１１】実施例４に係る情報記憶装置を説明するための図である。
【図１２】実施例５に係る情報記憶装置を説明するための図である。
【図１３】所有状態管理テーブル記憶部が記憶する情報の例を示す図である。
【図１４】実施例６に係る情報記憶装置を説明するための図である。
【図１５】実施例７に係る情報記憶装置を説明するための図である。
【図１６】所有状態管理テーブル記憶部が記憶する情報の例を示す図である。
【図１７】ミラーリングプログラムを実行するコンピュータを示す図である。
【符号の説明】
【０１２９】
１０  情報記憶装置
２０  情報記憶装置
３０  通信制御Ｉ／Ｆ部
４０  記憶部
４１  所有状態管理テーブル記憶部
５０  制御部
５１  所有状態変更部
５２  ミラーリング処理部
５３  ミラー元処理部
５４  ミラー先処理部
【図１】
2008165431.tif 000003
【図２】
2008165431.tif 000004
【図３】
2008165431.tif 000005
【図４】
2008165431.tif 000006
【図５】
2008165431.tif 000007
【図６】
2008165431.tif 000008
【図７】
2008165431.tif 000009
【図８】
2008165431.tif 000010
【図９】
2008165431.tif 000011
【図１０】
2008165431.tif 000012
【図１１】
2008165431.tif 000013
【図１２】
2008165431.tif 000014
【図１３】
2008165431.tif 000015
【図１４】
2008165431.tif 000016
【図１５】
2008165431.tif 000017
【図１６】
2008165431.tif 000018
【図１７】
2008165431.tif 000019