(57)【要約】【課題】ストレージアクセス中継装置に書き込みデータを保存するようにして、異なる情報処理端末による同一の単位記憶ユニットに対する書き込みを防止する。【解決手段】情報処理端末からストレージ装置に向かって送信された書き込みデータを受信した時に、当該データを、ストレージ装置に対して送信することなく、当該データを送信した情報処理端末等のために確保された書き込みデータ記憶領域に保存し、情報処理端末からストレージ装置に向かって送信されたデータ読み出し要求を受信した時に、当該読み出し要求を送信した情報処理端末等のために確保された書き込みデータ記憶領域内に、当該読み出し要求の読み出し対象となるデータが存在しているか否かを判断し、存在しているならば、当該読み出し要求をストレージ装置に中継することなく、当該書き込みデータ記憶領域内の読み出し対象のデータを情報処理端末に返送し、存在していなければ、当該読み出し要求をストレージ装置に対して中継する。【選択図】図１
2007156933.tif 000002
【特許請求の範囲】
【請求項１】
情報処理端末と、情報処理端末の動作に必要なデータが保存された少なくとも１台のストレージ装置が、ネットワークで接続されたネットワークストレージシステムにおける、情報処理端末と少なくとも１台のストレージ装置との間で送受信されるデータを中継するストレージアクセス中継装置であって、
前記情報処理端末毎、あるいは、前記情報処理端末の使用者毎に確保された書き込みデータ記憶領域と、
前記情報処理端末から前記ストレージ装置に向かって送信された書き込みデータを受信した時に、当該データを、ストレージ装置に対して送信することなく、当該データを送信した情報処理端末、あるいは当該情報処理端末の使用者のために確保された書き込みデータ記憶領域に保存する手段１と、
前記情報処理端末から前記ストレージ装置に向かって送信されたデータ読み出し要求を受信した時に、当該読み出し要求を送信した情報処理端末、あるいは当該情報処理端末の使用者のために確保された書き込みデータ記憶領域内に、当該読み出し要求の読み出し対象となるデータが存在しているか否かを判断し、存在しているならば、当該読み出し要求をストレージ装置に中継することなく、当該書き込みデータ記憶領域から読み出し対象のデータを取得して情報処理端末に返送し、存在していなければ、当該読み出し要求をストレージ装置に対して中継する手段２とを有することを特徴とするストレージアクセス中継装置。
【請求項２】
前記ストレージ装置内の単位記憶ユニット毎に確保された読み出しデータ記憶領域と、
前記ストレージ装置から前記情報処理端末に向かって送信された読み出しデータを中継した時に、当該読み出しデータを、読み出しデータの送信元である単位記憶ユニットのために確保された読み出しデータ記憶領域に保存する手段３と、
前記情報処理端末から前記ストレージ装置に向かって送信された読み出し要求を受信した時に、前記手段２において、当該読み出し要求を送信した情報処理端末、あるいは当該情報処理端末の使用者に対応する書き込みデータ記憶領域内に、当該読み出し要求の読み出し対象となるデータが存在していないと判断された場合に、当該読み出し要求の読み出し対象となる単位記憶ユニットのために確保された読み出しデータ記憶領域内に、当該読み出し要求の対象となるデータが存在しているか否かを判断し、存在していれば、当該読み出し要求をストレージ装置に中継することなく、当該読み出しデータ記憶領域から読み出し対象のデータを取得して情報処理端末に返送し、存在していなければ、当該読み出し要求をストレージ装置に対して中継する手段４とを有することを特徴とする請求項１に記載のストレージアクセス中継装置。
【請求項３】
前記書き込みデータ記憶領域に保存された書き込みデータを、当該データを書き込んだ情報処理端末からの接続が切断された後も削除せずに前記書き込みデータ記憶領域に保存する手段５を有することを特徴とする請求項１または請求項２に記載のストレージアクセス中継装置。
【請求項４】
前記ストレージ装置の単位記憶ユニットに保存されたデータが、別の単位記憶ユニットに複写された状態で、前記書き込みデータ記憶領域に保存されたデータを前記複写先の単位記憶ユニットに書き込む手段６を有することを特徴とする請求項１ないし請求項３のいずれか１項に記載のストレージアクセス中継装置。
【請求項５】
前記手段６は、書き込みデータ記憶領域に保存されたデータを、前記複写先の単位記憶ユニットではない、別の記憶装置に複写する手段と、
前記別の記憶装置に複写されたデータを、前記複写先の単位記憶ユニットに書き込む手段とからなることを特徴とする請求項４に記載のストレージアクセス中継装置。
【請求項６】
情報処理端末と、情報処理端末の動作に必要なデータが保存された少なくとも１台のストレージ装置が、ネットワークで接続されたネットワークストレージシステムにおける、情報処理端末とストレージ装置との間で送受信されるデータを中継するストレージアクセス中継装置の機能をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理端末から前記ストレージ装置に向かって送信された書き込みデータを受信した時に、当該データを、ストレージ装置に対して送信することなく、当該データを送信した情報処理端末、あるいは当該情報処理端末の使用者のために確保された書き込みデータ記憶領域に保存させる手順１と、
前記情報処理端末から前記ストレージ装置に向かって送信されたデータ読み出し要求を受信した時に、当該読み出し要求を送信した情報処理端末、あるいは当該情報処理端末の使用者のために確保された書き込みデータ記憶領域内に、当該読み出し要求の読み出し対象となるデータが存在しているか否かを判断させ、存在しているならば、当該読み出し要求をストレージ装置に中継することなく、当該書き込みデータ記憶領域から読み出し対象のデータを取得して情報処理端末に返送させ、存在していなければ、当該読み出し要求をストレージ装置に対して中継させる手順２とを、コンピュータに実行させることを特徴とするプログラム。
【請求項７】
前記ストレージ装置から情報処理端末に向かって送信された読み出しデータを中継した時に、当該読み出しデータを、読み出しデータの送信元である単位記憶ユニットのために確保された読み出しデータ記憶領域に保存させる手順３と、
前記情報処理端末から前記ストレージ装置に向かって送信された読み出し要求を受信した時に、前記手順２において、当該読み出し要求を送信した情報処理端末、あるいは当該情報処理端末の使用者に対応する書き込みデータ記憶領域内に、当該読み出し要求の読み出し対象となるデータが存在していないと判断された場合に、当該読み出し要求の読み出し対象となる単位記憶ユニットのために確保された読み出しデータ記憶領域内に、当該読み出し要求の対象となるデータが存在しているか否かを判断させ、存在していれば、当該読み出し要求をストレージ装置に中継することなく、当該読み出しデータ記憶領域から読み出し対象のデータを取得して情報処理端末に返送させ、存在していなければ、当該読み出し要求をストレージ装置に対して中継させる手順４を、コンピュータに実行させることを特徴とする請求項６に記載のプログラム。
【請求項８】
前記書き込みデータ記憶領域に保存された書き込みデータを、当該データを書き込んだ情報処理端末からの接続が切断された後も削除せずに前記書き込みデータ記憶領域に保存させる手順５を、コンピュータに実行させることを特徴とする請求項６または請求項７に記載のプログラム。
【請求項９】
前記ストレージ装置の単位記憶ユニットに保存されたデータが、別の単位記憶ユニットに複写された状態で、前記書き込みデータ記憶領域に保存されたデータを前記複写先の単位記憶ユニットに書き込みさせる手順６を、コンピュータに実行させることを特徴とする請求項６ないし請求項８のいずれか１項に記載のプログラム。
【請求項１０】
前記手順６は、書き込みデータ記憶領域に保存されたデータを、前記複写先の単位記憶ユニットではない、別の記憶装置に複写させる手順と、前記別の記憶装置に複写されたデータを、前記複写先の単位記憶ユニットに書き込みさせる手順からなることを特徴とする請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージアクセス中継装置並びにそのプログラムに係り、特に、ネットワークを介してオペレーティングシステムやアプリケーションプログラムを取得し、情報処理端末（コンピュータ）を動作させるネットワークストレージシステムにおけるストレージアクセス中継装置に関するものである。
【背景技術】
【０００２】
通常、オペレーティングシステム（以下、ＯＳ）、アプリケーションソフトウェア、あるいは文書データといった、パーソナルコンピュータ（以下、ＰＣ）の動作、あるいはＰＣを使用した業務に必要なデータは、ＰＣに内蔵されたディスク装置等に保存されることが多い。
ディスク装置等に保存されたデータは、ＰＣの電源投入や、ＰＣの使用者による命令等により、適宜ディスク装置から読み出されてＰＣが動作し、業務が可能となる。
これに対して、下記非特許文献１または非特許文献２に記載のシステムは、ＰＣ内のディスク装置を取り外し、ＰＣの動作に必要な一切のデータを別に設置した大容量ストレージ内に保存し、ＰＣと大容量ストレージを広域ＩＰネットワークで接続したものである。このシステムでは、ＰＣがストレージ装置内に保存されたデータを必要とする時は、広域ＩＰネットワークを介して大容量ストレージにアクセスする。
このように、このシステムは、オフィスなどに設置されている複数のＰＣが扱う一切のデータの保存場所を一カ所に集約することによって、ＰＣを選ぶことなく自己の環境でＰＣを動作させることを可能とし、さらに、ＯＳやアプリケーションソフトウェアの一括更新、コンピュータウイルスの検出や駆除といったデータの一括管理を可能とする。
また、ＰＣ内にデータを保存しないことによって、大規模災害によるＰＣの破壊によるデータ消失、ＰＣの盗難や紛失による情報漏洩を防止することができる。
【０００３】
一方、下記非特許文献３に記載のシステムは、Ｖｅｎｔｕｒｃｏｍ社が開発したＢＸＰと呼ばれる技術である。このシステムは、ＢＸＰクライアントと呼ばれるディスクがないＰＣと、当該ＰＣの動作に必要なデータが保存されたＢＸＰサーバと呼ばれるストレージ機能を有するサーバがＩＰネットワークで接続されたシステムであり、ＰＣが動作する際には、ネットワークを経由してＢＸＰサーバから必要なデータを取得する点で非特許文献１または非特許文献２に記載のシステムに類似する。
さらに、ＢＸＰは、「Shard image」と呼ばれる機能を有する。この機能は、ＢＸＰサーバ上の単一のディスク領域に保存されたデータを複数のＰＣが共有し、さらに各ＰＣが相互独立して当該ディスク領域に対してデータを書き込むことができる環境を提供するものである。
【０００４】
なお、本願発明に関連する先行技術文献としては以下のものがある。
【非特許文献１】“報道発表資料「『どこでも安全で安心な』ストレージセントリックネットワークを共同研究開発”、［online］、平成１５年、日本電信電話株式会社，株式会社日立製作所、［平成１７年５月２０日検索］、インターネット〈htt://www.hitachi.co.jp/New/cnews/month/2003/11/1120a.html〉
【非特許文献２】三栄武 外４名，“ストレージセントリックネットワーク技術”、［online］、平成１６年、日本電信電話株式会社、［平成１７年５月２０日検索］、インターネット〈htt://www.ntt.co.jp/journal/0405/files/jn200405044.pdf〉
【非特許文献３】Patrick Waddell、“Venturcom BXP 2.O fbr Windows 2000 and Windows XP-Centralized Mamgement of Network Attached Diskless Clients pp.3〜4”、[online]、平成１４年、Venturcom,Inc.、［平成１７年５月２０日検索］、インターネット〈http://qdm.questeq.com/PDFs/BXPWhitePaper.pdf〉
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＰＣの動作に必要なデータの中には、ＰＣの種類や使用者が異なっても、共通的に使用できるデータがある。その代表例は、ＯＳやアプリケーションソフトウェアである。アプリケーションソフトウェアには、ワードプロセッサ、表計算、プレゼンテーション用ソフトウェア等がある。
これらのデータは、大容量ストレージ内の１つの単位記憶ユニットのみに保存し、複数のＰＣが当該記憶領域にアクセスできるのが望ましい。
しかし、ＰＣがストレージ装置にアクセスすると、データの読み出しのみならず、書き込みも生じる。例えば、ＯＳやアプリケーションソフトウェアが動作すると、その動作履歴がログファイルとして保存される。また、ＰＣの使用者がＯＳやアプリケーションソフトウェアの動作条件を変更した場合は、その動作条件を記述した設定ファイルの内容が変化する。
したがって、異なるＰＣが同一の単位記憶ユニットにアクセスした場合、異なる、あるいは矛盾する内容の書き込みが生じると、単位記憶ユニットに保存されたデータが破壊される。
そのため、従来のシステムでは、共通的に使用できる同一のデータであったとしても、ＰＣや利用者の数だけ単位記憶ユニットを備えて、各記憶領域に同一のデータを保存し、ＰＣと単位記憶ユニット、あるいは利用者と単位記憶ユニットの対応関係を１対１とする必要があった。
その結果、ＰＣや利用者の数の増加に応じて、ストレージ装置に必要な総記憶容量も増加するため、非特許文献１ないし非特許文献２の記載のシステムの効果のうち、データの一括管理について、その効率性の追求に限界があった。
【０００６】
この点、非特許文献３に記載のＢＸＰのShard image機能を導入することは、上記課題の解決に一部有効であると考えられる。なぜなら、任意の単位記憶ユニットに対する各ＰＣによる書き込みデータは、ＢＸＰの「RAM Cache Mode」のように各ＰＣ内のＲＡＭ（Random Access Memory）に保存するか、「Server Cache Mode」のようにＢＸＰサーバに相当するストレージ内に一時的に保存され、書き込みのないデータと分離するため、共通的に使用できる同一のデータは１つの単位記憶ユニットのみに保存することができる。
しかし、ＢＸＰのRAM Cache Modeと、Server Cache Modeでは、各ＰＣから書き込まれたデータは、ＰＣの使用終了時に破棄されるので、その後、再度ＰＣを使用する時には、前回の作業の結果生じたＰＣの使用環境を引き継ぐことができないという問題がある。
さらに、ＢＸＰにおいては、広域ＩＰネットワーク、すなわち、ＰＣとストレージ装置との間の信号伝達遅延時間が大きいネットワークでは、各ＰＣのディスクアクセス性能が劣化するという問題がある。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、ネットワークストレージシステムにおいて、ストレージアクセス中継装置に書き込みデータを保存するようにして、異なる情報処理端末による同一の単位記憶ユニットに対する書き込みを防止する技術を提供することにある。
また、本発明の他の目的は、前述のストレージアクセス中継装置をコンピュータに実行させるためのプログラムを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
本願発明は、情報処理端末（以下、コンピュータ端末）とストレージ装置の間で送受信されるストレージアクセス信号を中継するストレージアクセス中継装置（以下、中継装置）に係るものである。
本願発明の中継装置は、コンピュータ端末からストレージ装置に向かって送信された書き込みデータを受信しても、それをストレージ装置に対して中継しない。その代わりに、書き込みデータを中継装置内に保存する。その保存先は、当該書き込みデータを送信したコンピュータ端末、あるいは当該コンピュータ端末を使用中のユーザごとに配備された書き込みデータ記憶領域である。
また、中継装置は、コンピュータ端末からストレージ装置に向かって送信された読み出し要求信号を受信すると、当該読み出し要求信号を送信したコンピュータ端末、あるいは当該コンピュータ端末を使用中のユーザを判別する。そして、当該コンピュータ端末あるいは当該ユーザに対応する書き込みデータ記憶領域に、当該読み出し要求信号による読み出し対象データが保存されているか否かを判別する。
判別の結果、保存されていれば、中継装置は読み出し要求信号をストレージ装置に対して送信しない。その代わりに、書き込みデータ記憶領域からデータを取得して、コンピュータ端末に対して返送する。判別の結果、保存されていなければ、中継装置は読み出し要求信号をストレージ装置に対して中継する。
本願発明によれば、コンピュータ端末からストレージ装置に向かって送信された書き込みデータはストレージ装置に到達しないから、異なるコンピュータ端末による同一の単位記憶ユニットに対する書き込みを防ぐことができる。
さらに、書き込みデータは中継装置に保存され、その後、同一のコンピュータ端末によって、同一のデータに対する読み出し要求があった場合には、中継装置内の書き込みデータ記憶領域から取得したデータをコンピュータ端末に返送する。その結果、コンピュータ端末によるデータの書き込みと保存は可能となる。
【０００８】
また、本願発明の中継装置は、ストレージ装置からコンピュータ端末に向かって送信された読み出しデータを中継するとともに、当該読み出しデータを中継装置内に保存する。その保存先は、当該読み出しデータの元となったストレージ装置内の単位記憶ユニットごとに配備された読み出しデータ記憶領域である。
また、中継装置は、コンピュータ端末からストレージ装置に向かって送信された読み出し要求信号を受信すると、当該読み出し要求信号を送信したコンピュータ端末、あるいは当該コンピュータ端末を使用中のユーザを判別する。そして、当該コンピュータ端末あるいは当該ユーザに対応する書き込みデータ記憶領域に、当該読み出し要求信号による読み出し対象データが保存されているか否かを判別する。
判別の結果、保存されていれば、中継装置は読み出し要求信号をストレージ装置に対して送信しない。その代わりに、書き込みデータ記憶領域からデータを取得して、コンピュータ端末に対して返送する。
判別の結果、保存されていなければ、今度は、読み出しデータ記憶領域に、当該読み出し要求信号による読み出し対象データが保存されているか否かを判断する。
判断の結果、保存されていれば、中継装置は読み出し要求信号をストレージ装置に対して送信しない。その代わりに、読み出しデータ記憶領域からデータを取得して、コンピュータ端末に対して返送する。逆に、保存されていなければ、中継装置は読み出し要求信号をストレージ装置に対して中継する。
本願発明によれば、過去に書き込んだデータに対して読み出し要求があった場合、あるいは過去に読み出したデータに対して再度読み出し要求があった場合には、当該読み出し要求の対象となる読み出しデータをストレージ装置から返送してもらう必要がなく、信号到達時間がより短い中継装置から同一のデータを取得することができる。
そのため、コンピュータ端末が読み出し要求信号をストレージ装置に向けて送信してから、読み出しデータを受信するまでの時間を短縮できるので、コンピュータ端末から見たデータ読み出し性能の劣化を防止しながら、同一の単位記憶ユニットを複数のコンピュータ端末で共有することができる。
【０００９】
また、本願発明の中継装置は、コンピュータ端末の停止（シャットダウン）等によって、コンピュータ端末とストレージの接続が解除されても、当該コンピュータ端末、あるいは当該コンピュータ端末を使用中のユーザに対応する書き込みデータ記憶領域内のデータを消去しない。
次回、同一のコンピュータ端末、あるいは同一のユーザが使用するコンピュータ端末が起動し、コンピュータ端末とストレージ装置との間の接続が再度確立された場合でも、当該コンピュータ端末あるいは当該ユーザに対応する書き込みデータ記憶領域に保存されたデータは、前述の書き込みデータ記憶領域に保存されたデータとして使用される。
したがって、本願発明によれば、コンピュータ端末を停止後、再び同一のコンピュータ端末を起動しても、あるいはオフィスの災害等によってコンピュータ端末が破壊された後に再び同一のユーザが別のコンピュータ端末を起動しても、当該ユーザが過去に保存したデータを継続して利用することができる。
【００１０】
また、本願発明では、書き込みデータ記憶領域に保存されたデータが本来保存されるべき単位記憶ユニット（以下、旧記憶ユニット）のデータを、別の単位記憶ユニット（以下、新記憶ユニット）に複写し、新記憶ユニットに書き込みデータ記憶領域に保存されたデータを実際に書き込むことによって、書き込みデータが反映された新記憶ユニットに作成する。
次回、同一のコンピュータ端末、あるいは同一のユーザが使用するコンピュータ端末からのアクセスがあった場合は、新記憶ユニットに保存されたデータを使用可能とする（依然として、旧記憶ユニットに保存されたデータを使用してもよい）。
本発明によれば、災害等によって中継装置が破壊された場合であっても、コンピュータ端末が過去に保存したデータは新記憶ユニットに保存されているから、消失しない。
すなわち、コンピュータ端末が新記憶ユニットに別の中継装置経由でアクセスし、あるいは中継装置を経由しないで直接にアクセスすることによって、過去に保存したデータを継続して利用することができる。
また、新記憶ユニットを、旧記憶ユニットとの地理的遠隔地に設置することによって、災害等で旧記憶ユニットが破壊された場合であっても、コンピュータ端末が過去に保存したデータは新記憶ユニットに保存されているから、消失しない。
すなわち、コンピュータ端末が新記憶ユニットにアクセスすることによって、過去に保存したデータを継続して利用することができる。
【００１１】
また、本願発明では、書込みデータ記憶領域に保存されたデータを、直接、新記憶ユニットに書き込むのではなく、一旦、別の記憶装置に複写し、その複写が完了後、当該複写先の記憶装置から新記憶ユニットに書き込む。
本願発明によれば、中継装置から当該別の記憶装置に書込みデータを複写する所要時間が、中継装置から直接、新記憶ユニットに書込みデータを複写する所要時間よりも十分短いことを条件として、書込みデータ記憶領域に保存されたデータを、別の記憶装置へ高速に転送して、バックアップを高速に行えることができる。
したがって、書込みデータ記憶領域を早期に開放することができ、後続の書込みデータの受信に備えることが可能となる。
また、本願発明は、前述の中継装置の機能をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１２】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
（１）本発明によれば、ストレージ装置内の同一の単位記憶ユニットに保存された同一のデータを、ネットワークとストレージアクセス中継装置を介して複数の情報処理端末が共有することができる。
そのため、情報処理端末またはユーザごとに単位記憶ユニットを準備し、各単位記憶ユニットに同一のデータを保存する必要がない。その結果、情報処理端末数や使用者数に対するストレージ装置の総容量を節約し、ＯＳやアプリケーションソフトウェアの更新、ウイルス検出と除去、データのバックアップといった、データの一括管理作業を効率的に行うことが可能となる。
（２）本発明によれば、過去に情報処理端末が書き込んだデータ、あるいは読み出したデータが再び読み出される時は、ネットワークの遠方にあるストレージ装置から直接データを取得することなく、ストレージアクセス中継装置から取得することができるから、ストレージアクセス性能の劣化を防止することが可能となる。
（３）本発明によれば、情報処理端末が停止した後、あるいはオフィスの災害等によって情報処理端末が破壊された後でも、再び同一のユーザが同一の情報処理端末あるいは別の情報処理端末を起動して、当該ユーザが過去に保存したデータを継続して利用することが可能となる。
（４）本発明によれば、ストレージ装置やストレージアクセス中継装置が災害により破壊されたとしても、過去に書き込んだデータは別のストレージ装置に保存されているので、当該データを継続して利用することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
［実施例１］
図１は、本発明の実施例１のストレージアクセス中継装置が適用されるネットワークストレージシステムの概略構成を示すブロック図である。
同図において、ＰＣ１〜ＰＣ３は情報処理端末（以下、コンピュータ端末）、Ｓ１，Ｓ２はストレージ装置、Ｃ１はストレージアクセス中継装置（以下、中継装置）、Ｎ１はＩＰ（Internet Protocol）ネットワークであり、コンピュータ端末（ＰＣ１〜ＰＣ３）と、ストレージ装置（Ｓ１，Ｓ２）と、中継装置Ｃ１を相互に接続している。
コンピュータ端末（ＰＣ１〜ＰＣ３）は、それぞれＩＰアドレス（ｐｃ１〜ｐｃ３）を、中継装置Ｃ１はＩＰアドレスｃ１を、ストレージ装置（Ｓ１，Ｓ２）は、ＩＰアドレス（ｓ１，ｓ２）をそれぞれ持っている。
また、ストレージ装置（Ｓ１，Ｓ２）は、ＴＣＰ（Transmission Control Protocol）ポート番号（以下、ポート番号）ｐｏｒｔ１とｐｏｒｔ２をそれぞれ持っている。
ここで、コンピュータ端末（ＰＣ１〜ＰＣ３）と中継装置Ｃ１との間の信号伝達遅延時間は、中継装置Ｃ１とストレージ装置（Ｓ１，Ｓ２）との間の信号伝達遅延時間よりも、小さくすることが望ましい。
【００１４】
ストレージ装置（Ｓ１，Ｓ２）は、内部に、それぞれターゲットＴ１、ターゲットＴ２を有する。
ターゲットＴ１には、ストレージ装置の単位記憶ユニットである論理ユニット（Logical Unit；ＬＵ１，ＬＵ２）が配置される。同様に、ターゲットＴ２には、論理ユニットＬＵ３が配置される。
論理ユニット（ＬＵ１〜ＬＵ３）内のデータ記憶領域は、通常は５１２バイトの大きさの論理ブロックに分割されている。各論理ブロックには、論理ブロックアドレス（Logical Block Address；以下、ＬＢＡ）が付与されている。
ターゲット（Ｔ１，Ｔ２）は、１つのストレージ装置内でターゲットを一義に識別可能な番号（以下、ターゲット番号）（ｔ１，ｔ２）をそれぞれ持っている。あるいは、全世界においてターゲットを一義に識別可能な名称（以下、ターゲット名）（ｔｎ１，ｔｎ２）をそれぞれ持っている。
また、論理ユニット（ＬＵ１〜ＬＵ３）は、１つのターゲット内で、論理ユニットを一義に識別可能な番号（以下、論理ユニット番号、またはＬＵＮ（Logical Unit Number）；１ｕ１〜１ｕ３）を持っている。
以上より、ＩＰネットワークＮ１において論理ユニットを特定するには、ＩＰアドレス，ポート番号，ターゲット番号，ＬＵＮの組み合わせ、または、ターゲット名，ＬＵＮの組み合わせを与えればよい。
【００１５】
コンピュータ端末（ＰＣ１〜ＰＣ３）と中継装置Ｃ１の間、Ｃ１とストレージ装置（Ｓ１，Ｓ２）の間で送受信されるストレージアクセス信号には、ＩＥＴＦ（Internet Engineering Taskforce）で標準化されたプロトコルであるｉＳＣＳＩ（internet Small Computer System Interface,RFC3720）を使用する。
ｉＳＣＳＩは、コンピュータ端末（ＰＣ１〜ＰＣ３）とストレージ装置（Ｓ１，Ｓ２）の間、または、コンピュータ端末（ＰＣ１〜ＰＣ３）と中継装置Ｃ１の間、および中継装置Ｃ１とストレージ装置（Ｓ１，Ｓ２）の間で、ｉＳＣＳＩセッションを確立し、その際、コンピュータ端末（ＰＣ１〜ＰＣ３）と中継装置Ｃ１の間、および中継装置Ｃ１とストレージ装置（Ｓ１，Ｓ２）の間で、ＳＣＳＩコマンドやデータをＴＣＰ／ＩＰによって転送するように設定しているものとする。これらの設定方法に関しては既存ｉＳＣＳＩそのものの機能であるため詳細は割愛する。
ところで、ストレージ装置（Ｓ１，Ｓ２）は、ｉＳＣＳＩに対応したものでなければならないが、ｉＳＣＳＩに対応していないストレージ装置であっても、当該ストレージ装置が対応するプロトコル（例えば、ＦＣ：Fibre Canne1）とｉＳＣＳＩを変換する機能を有するゲートウェイ装置（ストレージルータ）を、ＩＰネットワークＮ１とストレージ装置（Ｓ１，Ｓ２）の間に設置すればよい。その場合、当該ゲートウェイ装置とストレージ装置の組み合わせが、図１におけるストレージ装置（Ｓ１，Ｓ２）として動作する。
【００１６】
以下、図１に示すシステムにおいて、コンピュータ端末（ＰＣ１〜ＰＣ３）が論理ユニットＬＵ１を共有する場合の実施例を詳述する。
コンピュータ端末ＰＣ１が、論理ユニットＬＵ１にアクセスする場合の中継装置Ｃ１の動作を、図２を用いて詳述する。なお、本実施例では、コンピュータ端末ＰＣ１と、ストレージ装置Ｓ１との間で送受信される信号の全ては、中継装置Ｃ１で中継される。
図２は、コンピュータ端末ＰＣ１と、本実施例の中継装置Ｃ１と、ストレージ装置Ｓ１との間で送受信される信号を図示したシーケンス図である。
まず、コンピュータ端末ＰＣ１が、論理ユニットＬＵ１にアクセスするためには、コンピュータ端末ＰＣ１と、ストレージ装置Ｓ１の内ターゲットＴ１との間にｉＳＣＳＩセッション（コンピュータ端末ＰＣ１のイニシエータと、ターゲットＴ１の接続状態）を確立しなければならない。
ｉＳＣＳＩセッションは、それを確立するためのｉＳＣＳＩオペレーションである「Login Request」と「Login Response」を使用し、次の手順（ステップ１−１）によって確立する。
まず、コンピュータ端末ＰＣ１が、接続先ターゲットとして、ターゲット名ｔｎ１を指定したLogin Requestをストレージ装置Ｓ１に向けて送信する。
それに対応して、ストレージ装置Ｓ１内ターゲットＴ１が、Login Responseをコンピュータ端末ＰＣ１に返送し、Login Responseをコンピュータ端末ＰＣ１が受信することによってｉＳＣＳＩセッションが確立する。
この場合に、コンピュータ端末ＰＣ１からのLogin Requestは、中継装置Ｃ１で中継されてストレージ装置Ｓ１に到達し、ストレージ装置Ｓ１内ターゲットＴ１からのLogin Responseは、中継装置Ｃ１で中継されてコンピュータ端末ＰＣ１に到達する。
また、Login Requestには、ユーザ名とパスワードを設定することが可能であり、当該ログイン要求を受信したターゲットＴ１は、そのユーザ名とパスワードの正当性を検査し、ログインの許否を判断できる。
ここで、Login Requestを送信しようとするコンピュータ端末ＰＣ１に、ターゲット名ｔｎ１を与える方法には、ユーザがコンピュータ端末ＰＣ１にターゲット名ｔｎ１を直接入力する方法や、ユーザがユーザ名とパスワードをコンピュータ端末ＰＣ１に入力し、別個に設置された認証サーバがそのユーザ名とパスワードの正当性を検査し、結果が正当ならば、当該ユーザが接続すべきターゲットのターゲット名ｔｎ１をコンピュータ端末ＰＣ１に通知する方法などがある。
【００１７】
コンピュータ端末ＰＣ１が、論理ユニットＬＵ１にデータを書き込む時は、ステップ１−１で確立したｉＳＣＳＩセッションを使用し、コンピュータ端末ＰＣ１は、中継装置Ｃ１に対して、ＳＣＳＩコマンドを転送するためのｉＳＣＳＩオペレーション「SCSI Command」を使用し、ＳＣＳＩコマンドの一つである「Writeコマンド」を送信する（以下、Writeコマンドを搭載したSCSI Commandオペレーションを、略記して「Writeコマンド」と呼ぶこととする）。
Writeコマンドを送信したら、続いて、実際に書き込むデータを転送するためのｉＳＣＳＩオペレーション「Data-Out」を送信する（ステップ１−２）。
Writeコマンドには、データの書き込み先が指定されている。すなわち、書き込み対象である論理ユニットＬＵ１のＬＵＮ（＝ｌｕ１）、書き込み対象のＬＢＡ（連続する複数の論理ブロックを、ＬＢＡと、ＬＢＡからの論理ブロック数によって指定したもの）が指定されている。
ここで、Writeコマンドには、論理ユニットＬＵ１が属するターゲットＴ１のターゲット名ｔ１、ターゲットＴ１が属するストレージ装置Ｓ１のＩＰアドレス（＝ｓ１）とＴＣＰポート番号（＝ｐｏｒｔ１）も指定しなければならないように見えるが、ステップ１−１で確立したｉＳＣＳＩセッションを使用して、Writeコマンドが転送される限り、ターゲットＴ１に対するものであることは自明なので明示的に指定する必要はない。
【００１８】
Data-Outには、前記Writeコマンドで指定されたＬＢＡの論理ブロックに書き込まれるべきデータが搭載されている。
Data-Outを受信した中継装置Ｃ１は、Data-Outを送信したコンピュータ端末ＰＣ１、あるいは当該コンピュータ端末ＰＣ１を使用中のユーザを判定し、当該コンピュータ端末ＰＣ１あるいは当該ユーザのために備えられた書き込みデータ格納領域に、Data-Outに搭載されたデータ保存する（ステップ１−３）。
書き込みデータ格納領域内では、図８（ａ）に示すように、コンピュータ端末（ＰＣ）またはユーザの識別値、ストレージ装置のＩＰアドレス，ポート番号，ターゲット番号，ＬＵＮ，ＬＢＡ毎、あるいはターゲット名，ＬＵＮ，ＬＢＡ毎に保存される。
すなわち、
ｕｓｅｒ１，ｓ１，ｐｏｒｔ１，ｔ１，ｌｕ１，（開始ＬＢＡ）
ｕｓｅｒ１，ｓ１，ｐｏｒｔ１，ｔ１，ｌｕ１，（開始ＬＢＡ）＋１
・・・
ｕｓｅｒ１，ｓ１，ｐｏｒｔ１，ｔ１，ｌｕ１，（開始ＬＢＡ）＋（開始ＬＢＡからの論理ブロック数）−１毎、あるいは
ｕｓｅｒ１，ｔｎ１，ｌｕ１，（開始ＬＢＡ）
ｕｓｅｒ１，ｔｎ１，ｌｕ１，（開始ＬＢＡ）＋１
・・・
ｕｓｅｒ１，ｔｎ１，ｌｕ１，（開始ＬＢＡ）＋（開始ＬＢＡからの論理ブロック数）−１毎に保存される。
【００１９】
ここで、Data-Outを送信したコンピュータ端末ＰＣ１、あるいは当該コンピュータ端末ＰＣ１を使用中のユーザの判定は、Data-Outの信号自体の解析、あるいはData-Outの送信に使用されたｉＳＣＳＩセッションの識別により可能である。
具体的には、Data-Outの信号自体からは、Data-Outを送信したコンピュータ端末ＰＣ１のＩＰアドレスが判明する。また、Data-Outの送信に使用されたｉＳＣＳＩセッションを特定することにより、Data-Outを送信したコンピュータ端末ＰＣ１のイニシエータ名が判明する。
また、ｉＳＣＳＩセッション確立時（ステップ１−１）に、コンピュータ端末ＰＣ１が送信するLogin Requestにユーザ名を設定してユーザ認証を行っていれば、ｉＳＣＳＩセッションを特定することによってユーザが判明する。
また、Login Requestにユーザ名を設定する代わりに、Login Requestに設定されるコンピュータ端末ＰＣ１のイニシエータ名、または接続先ターゲット名にユーザを特定する情報を含めたり、あるいはLogin Request送信と同時に、他のプロトコル（標準ではない独自のプロトコルを含む）を使用してコンピュータ端末ＰＣ１のユーザを通知したりすることも可能である。
また、コンピュータ端末ＰＣ１とストレージ装置Ｓ１との間で確立していたｉＳＣＳＩセッションの切断後も、コンピュータ端末（ＰＣ）またはユーザの識別番号（図８（ａ）では、ｕｓｅｒ１）によって、書き込みデータ記憶領域の該当データの有無を判定でき、保持が可能となる。
ステップ１−３が完了しても、中継装置Ｃ１は、Writeコマンドと、Data-Outをストレージ装置には中継しない。その代わりに、中継装置Ｃ１から折り返し、「Writeコマンド応答」をコンピュータ端末ＰＣ１に返送する（ステップ１−４）。
Writeコマンド応答を受信したコンピュータ端末ＰＣ１は、論理ユニットＬＵ１への書き込みが完了したものと認識する（ステップ１−５）。
【００２０】
次に、コンピュータ端末ＰＣ１が論理ユニットＬＵ１からデータを読み出す時は、ステップ１−１で確立したセッションを使用し、コンピュータ端末ＰＣ１は中継装置Ｃ１に対して、ＳＣＳＩコマンドを転送するためのｉＳＣＳＩオペレーションである「SCSI Command」を使用し、ＳＣＳＩコマンドの一つである「Readコマンド」を送信する（以下、Readコマンドを搭載したSCSI Commandオペレーションを、略記して「Readコマンド」と呼ぶこととする）（ステップ１−６）。
Readコマンドには、読み出し対象が指定されている。すなわち、読み出し対象である論理ユニットＬＵ１のＬＵＮ（＝ｌｕ１）、読み出し対象のＬＢＡ（連続する複数の論理ブロックを、開始ＬＢＡと、開始ＬＢＡからの論理ブロック数によって指定したもの）が指定されている。
ここで、Readコマンドには、論理ユニットＬＵ１が属するターゲットＴ１のターゲット名ｔ１、ターゲットＴ１が属するストレージ装置Ｓ１のＩＰアドレス（＝ｓ１）とＴＣＰポート番号（＝ｐｏｒｔ１）も指定しなければならないように見えるが、ステップ１−１で確立したｉＳＣＳＩセッションを使用して、Readコマンドが転送される限り、それは自明なので明示的に指定する必要はない。
【００２１】
Readコマンドを受信した中継装置Ｃ１は、まず、Readコマンドを送信したコンピュータ端末ＰＣ１、あるいはコンピュータ端末ＰＣ１を使用中のユーザｕｓｅｒ１に対応する書き込みデータ格納領域にアクセスし、当該領域内において、
ｓ１，ｐｏｒｔ１，ｔ１，ｌｕ１，（開始ＬＢＡ）
ｓ１，ｐｏｒｔ１，ｔ１，１ｕ１，（開始ＬＢＡ）＋１
・・・
ｓ１，ｐｏｒｔ１，ｔ１，ｌｕ１，（開始ＬＢＡ）＋（開始ＬＢＡからの論理ブロック数）−１
または
ｔｎ１，ｌｕ１，（開始ＬＢＡ）
ｔｎ１，ｌｕ１，（開始ＬＢＡ）＋１
・・・
ｔｎ１，ｌｕ１，（開始ＬＢＡ）＋（開始ＬＢＡからの論理ブロック数）−１
の組み合わせに対応するデータが保存されているか否かを判定する（ステップ１−７）。
判定の結果、保存されていなければ、Readコマンドをストレージ装置に対して中継する。（ステップ１−８’）。
Readコマンドを受信したストレージ装置は、論理ユニットＬＵ１から読み出し対象データを取得し、Data-Inに搭載してコンピュータ端末ＰＣ１に返送する。
【００２２】
判定の結果、保存されていれば、ストレージ装置に対して、Readコマンドを中継しない。その代わりに、中継装置Ｃ１内からデータを取得して、取得したデータをData-Inに載せてコンピュータ端末ＰＣ１に返送する（ステップ１−８）。
以上のステップ１−１ないしステップ１−８の処理を、コンピュータ端末（ＰＣ２，ＰＣ３）が論理ユニットＬＵ１にアクセスする場合についても、同様に行うことによって、各コンピュータ端末（ＰＣ１〜ＰＣ３）にとって論理ユニットＬＵ１があたかも書き込み可能であるかのように認識される。
このように、本実施例によれば、書き込みされた論理ユニットは、各コンピュータ端末毎もしくは各ユーザ毎に中継装置Ｃ１に保存するため、少なくとも２以上のコンピュータ端末もしくはユーザが読み出すのみの論理ユニットに保存されたデータに関しては、ネットワークＮ１と中継装置Ｃ１を介して複数のコンピュータ端末（ＰＣ１〜ＰＣ３）が共有することができる。そのため、コンピュータ端末、またはユーザ毎に論理ユニットを準備し、各論理ユニットに同一のデータを保存する必要がない。
その結果、コンピュータ端末数や使用者数に対するストレージ装置の総容量を節約し、ＯＳやアプリケーションソフトウェアの更新、ウイルス検出と除去、データのバックアップといった、データの一括管理作業を効率的に行うことが可能となる。
【００２３】
［実施例２］
図３は、コンピュータ端末ＰＣ１と、本発明の実施例２の中継装置Ｃ１と、ストレージ装置Ｓ１との間で送受信される信号を図示したシーケンス図である。
ここで、コンピュータ端末ＰＣ１と、ストレージ装置Ｓ１との間のｉＳＣＳＩセッションは、ｉＳＣＳＩが規定する手順（ステップ２−１）によって既に確立しているものとする。
コンピュータ端末ＰＣ１は、ステップ２−１で確立したｉＳＣＳＩセッションを利用して、Readコマンドを送信する。当該Readコマンドを受信した中継装置Ｃ１は、キャッシュデータが存在しなかったことを理由として、当該Readコマンドをストレージ装置Ｓ１に対して中継する（ステップ２−２）。
ストレージ装置Ｓ１は、Readコマンドを受信すると、読出し対象のデータをData-Inに搭載して中継装置Ｃ１に返送する（ステップ２−３）。
Data-Inを受信した中継装置Ｃ１は、Data-Inをコンピュータ端末ＰＣ１に中継するとともに、Data-Inオペレーションの送信元となったストレージ装置、ターゲット、コンピュータ端末、あるいは当該コンピュータ端末を使用中のユーザを判定し、当該論理ユニットのために備えられた読み出しデータ格納領域に、図８（ｂ）に示す形式で、Data-Inオペレーションに搭載されたデータを保存する（ステップ２−４）。
【００２４】
次回、中継装置Ｃ１は、再びコンピュータ端末ＰＣ１からReadコマンドを受信すると（ステップ２−５）、まず実施例１に記載のとおり、書き込みデータ格納領域にReadコマンドによる読み出し対象データが存在しているか否かを判定する（ステップ２−６）。
存在していれば、実施例１に記載のとおり、書き込みデータ格納領域から読み出し対象データを取得して、当該データを搭載したData-Inをコンピュータ端末ＰＣ１に返送する（ステップ２−７）。
存在していなければ、次に、読み出しデータ格納領域にReadコマンドによる読み出し対象データが存在しているか否かを判定する。存在していなければ、当該Readコマンドをストレージ装置Ｓ１に中継する（ステップ２−７’）。
存在していれば、当該読み出しデータ格納領域からReadコマンドによる読み出し対象データを取得して、当該データをData-Inに搭載してコンピュータ端末ＰＣ１に返送する（ステップ２−７）。
本実施例によれば、過去にコンピュータ端末Ｃ１が書き込んだデータ、あるいは読み出したデータが再び読み出される時は、ストレージ装置Ｓ１から直接データを取得することなく、中継装置Ｃ１から取得することができるので、ストレージアクセス性能の劣化を防止することができる。
【００２５】
［実施例３］
図４は、コンピュータ端末ＰＣ１、本発明の実施例３の中継装置Ｃ１、ストレージ装置Ｓ１間で送受信される信号を図示したシーケンス図である。
ここで、コンピュータ端末ＰＣ１と、ストレージ装置Ｓ１との間のｉＳＣＳＩセッションは、ｉＳＣＳＩが規定する手順（ステップ３−１）によって既に確立しているものとする。
ユーザｕｓｅｒ１が、コンピュータ端末ＰＣ１を正しい手順で停止（シャットダウン）し、あるいはユーザｕｓｅｒ１がターゲットＴ１との接続を解除する指示をコンピュータ端末ＰＣ１に対して行う（ステップ３−２）。
するとコンピュータ端末ＰＣ１は、ストレージ装置Ｓ１に対して、Logout Requestを送信し、中継装置Ｃ１は、当該Logout Requestをストレージ装置Ｓ１に対して中継する。
当該Logout Requestをストレージ装置Ｓ１内ターゲットＴ１が受信すると、それに対応して、今度はストレージ装置Ｓ１内ターゲットＴ１が、コンピュータ端末ＰＣ１に対してLogout Responseを送信し、中継装置Ｃ１は、当該Logout Responseをコンピュータ端末ＰＣ１に対して中継する。
当該Logout Responseをコンピュータ端末ＰＣ１が受信すると、コンピュータ端末ＰＣ１とストレージ装置との間で確立していたｉＳＣＳＩセッションが解除される（ステップ３−３）。
【００２６】
中継装置Ｃ１は、コンピュータ端末ＰＣ１とのｉＳＣＳＩセッションが解除されたことを検出しても、コンピュータ端末ＰＣ１、あるいはコンピュータ端末ＰＣ１を使用中のユーザｕｓｅｒ１に対応する書き込みデータ格納領域に保存されたデータは削除しない。
次回、再びコンピュータ端末ＰＣ１が起動し、あるいはユーザｕｓｅｒ１がコンピュータ端末ＰＣ１を起動する等の操作によって、コンピュータ端末ＰＣ１とストレージ装置Ｓ１内ターゲットＴ１との間で再びｉＳＣＳＩセッションが確立する（ステップ３−４）。
そうすると、消去されることなく保存されていた書き込みデータ格納領域内のデータが再び利用可能となり、前述の実施例１や実施例２と同様の動作が可能となる。
ここで、同一のコンピュータ端末ＰＣ１が起動したことは、接続がログイン要求に記載されたイニシエータ名、あるいはＩＰアドレス等によって判定することができる。
また、同一のユーザがコンピュータ端末ＰＣ１を起動したことは、ログイン要求にユーザ名を設定することで判定することができる。
本実施例によれば、コンピュータ端末Ｃ１が停止した後、あるいはオフィスの災害等によってコンピュータ端末Ｃ１が破壊された後でも、再び同一のユーザが同一のコンピュータ端末Ｃ１あるいは別のコンピュータ端末を起動して、当該ユーザが過去に保存したデータを継続して利用することができる。
【００２７】
［実施例４］
図５は、コンピュータ端末ＰＣ１、本発明の実施例４の中継装置Ｃ１、ストレージ装置（Ｓ１，Ｓ２）との間で送受信される信号を図示したシーケンス図である。
中継装置Ｃ１は、論理ユニットＬＵ１に保存されたデータを、別の空き論理ユニットＬＵ３に複写する（ステップ４−１）。このステップは、論理ユニットＬＵ１に保存されたデータの書き換えを伴わないから、論理ユニットＬＵ１にアクセス中のコンピュータ端末の動作に影響を及ぼさない。したがって、ステップ４−１はいつ行ってもよい。
また、複写先の空き論理ユニットは、図１に示す論理ユニットＬＵ３のように、異なるストレージ装置Ｓ２に属するものでなくてもよい。例えば、ストレージ装置Ｓ１内の同一のターゲットＴ１に属する空き論理ユニットＬＵ２でもよいし、ストレージ装置Ｓ１内にありながら、ターゲットＴ１とは異なるターゲットに属する空き論理ユニットでもよい。
前述の実施例３のステップ３−３と同様に、コンピュータ端末ＰＣ１とストレージ装置Ｓ１との間のｉＳＣＳＩセッションが切断される一方で（ステップ４−２）、保存データは削除されない。
中継装置Ｃ１は、ステップ４−２で、ｉＳＣＳＩセッションが切断されたことを検出すると、中継装置Ｃ１がストレージ装置Ｓ２内ターゲットＴ２とのｉＳＣＳＩセッションを独自に確立する（ステップ４−３）。
【００２８】
次に、中継装置Ｃ１は、ステップ４−３で確立したコンピュータ端末ＰＣ１、または論理ユニットＬＵ１に対応する書き込みデータ格納領域に保存されたデータを、論理ユニットＬＵ３に対して書き込む。
データの書き込みは、中継装置Ｃ１がストレージ装置Ｓ２に対して、Writeコマンドを送信し、続いてData-Outを送信し、その必要な繰り返しによって行われる（ステップ４−４）。
Writeコマンドには、データの書き込み先、すなわち論理ユニットＬＵ３と、その中のＬＢＡが記載されている。
Data-Outには、コンピュータ端末ＰＣ１、または論理ユニットＬＵ１に対応する書き込みデータ格納領域に保存されたデータであって、直前に送信されたWriteコマンドが指定したＬＢＡに書き込まれるべきデータが搭載されている。
書き込みが終了すると、中継装置Ｃ１は、ステップ４−３で確立されたｉＳＣＳＩセッションを解除する（ステップ４−５）。
なお、書き込みデータの論理ユニットＬＵ３への保存（ステップ４−３〜ステップ４−５）は、ｉＳＣＳＩセッション切断（ステップ４−２）を待つことなく実施してもよい。
例えば、コンピュータ端末ＰＣ１が中継装置Ｃ１に対してData-Outを送信するたびに、当該書き込みデータを論理ユニットＬＵ３へ保存することもできる。
また、予め指定した時刻が到来した時に、中継装置Ｃ１の書込みデータ記憶領域に保存データを論理ユニットＬＵ３へ保存することもできる。
【００２９】
以上のステップによって、中継装置Ｃ１の書き込みデータ格納領域に保存されていたデータに基づいて論理ユニットＬＵ３内のデータが更新され、その結果、論理ユニットＬＵ３に保存されているデータは、過去にコンピュータ端末ＰＣ１が論理ユニットＬＵ１に対して書き込もうとしたデータが反映されたものとなる。
次回、再びコンピュータ端末ＰＣ１が起動し、あるいはユーザｕｓｅｒ１が他のコンピュータ端末を起動した時は、当該コンピュータ端末は、論理ユニットＬＵ１と論理ユニットＬＵ３のどちらにもアクセス可能となる。
論理ユニットＬＵ１か論理ユニットＬＵ３の選択は、ユーザｕｓｅｒ１がコンピュータ端末ＰＣ１に対して指示することによって行ってもよい。あるいは、ユーザに割り当てるべき論理ユニットを管理するためのユーザ管理装置を別に設置し、ユーザｕｓｅｒ１はユーザ名とパスワードをコンピュータ端末ＰＣ１に入力し、それらをユーザ管理装置に通知し、ユーザｕｓｅｒ１が使用すべき論理ユニットＬＵとして、論理ユニットＬＵ１か論理ユニットＬＵ３を選択的にコンピュータ端末ＰＣ１に対して指示することによって行ってもよい。
災害等によって中継装置Ｃ１とストレージ装置Ｓ１（論理ユニットＬＵ１）のいずれか、または両方が破壊された場合は、コンピュータ端末ＰＣ１は、ストレージ装置Ｓ２内のターゲットＴ２との間でｉＳＣＳＩセッションを確立し（ステップ４−６）、コンピュータ端末ＰＣ１は中継装置Ｃ１を経由して（中継装置Ｃ１も破壊された場合は、直接）論理ユニットＬＵ３にアクセスすることによって、過去に保存したデータが利用可能となる。
このように、本実施例によれば、ストレージ装置Ｓ１や中継装置Ｃ１が災害により破壊されたとしても、過去に書き込んだデータは別のストレージ装置Ｓ２に保存されているから、当該データを継続して利用することができる。
さらに、本実施例において、複写先の論理ユニットとしてＬＵ３以外のもの（ストレージ装置Ｓ２以外に属する論理ユニットでもよいし、ターゲットＴ２以外に属する論理ユニットでもよい）を多数準備することによって、ユーザｕｓｅｒ１以外の複数のユーザに対しても、ユーザが過去に書き込んだデータをバックアップする機能を提供することができる。
【００３０】
［実施例５］
図６は、本発明の実施例５の中継装置が適用されるネットワークストレージシステムの概略構成を示すブロック図である。
図７は、コンピュータ端末ＰＣ１、本実施例４の中継装置Ｃ１、ストレージ装置（Ｓ１，Ｓ２）との間で送受信される信号を図示したシーケンス図である。
本実施例では、先の実施例のステップ４−３〜ステップ４−５における書き込みデータの論理ユニットＬＵ３への保存を、中継装置Ｃ１から論理ユニットＬＵ３に対して直接行わない。
本実施例では、中継装置Ｃ１内の書込みデータは、一旦、別の記憶装置Ｓ３に複写される（ステップ５−１）。その後、記憶装置Ｓ３から、複写された書き込みデータを論理ユニットＬＵ３へ書き込む（ステップ５−２〜ステップ５−４）。
また、本実施例では、記憶装置Ｓ３の設置形態や設置場所は問わないが、中継装置Ｃ１から記憶装置Ｓ３への書込みデータの複写に要する時間が、前述の実施例４において行われる中継装置Ｃ１からストレージ装置Ｓ２に対する書き込みデータの保存に要する時間よりも十分短くなるように記憶装置Ｓ３を設置すると、発明の効果がより大きいものとなる。
例えば、図６に示すように、記憶装置Ｓ３を、中継装置Ｃ１が内部に備える半導体メモリ（ＲＡＭ：Random Access Memory）や磁気ディスク装置としてもよい。
また、図６とは異なるが、記憶装置Ｓ３を、ＩＰネットワークＮ１に接続し、中継装置Ｃ１とストレージ装置Ｓ３の間のネットワーク条件を、中継装置Ｃ１とストレージ装置Ｓ２（または、ストレージ装置Ｓ１）の間のネットワーク条件よりも、より良好なものとする（より大きな帯域を確保し、あるいは遅延時間をより短いものとする等）ことでもよい。
そうすることで、書込みデータ記憶領域に保存されていたデータを高速で外部に放出、若しくは、バックアップし、当該書込みデータ記憶領域を早期に解放し、後続の書込みデータの受信を再開することができる。
【００３１】
図５に示す前述の実施例４では、論理ユニットＬＵ３への保存データ転送（ステップ４−３〜ステップ４−５）中は、コンピュータ端末ＰＣ１からのさらなる書込みを受信することができないが、図７に示す本実施例では、保存データを一旦、記憶装置Ｓ２に対して高速で転送するので、その後は、論理ユニットＬＵ３への保存データ転送（ステップ５−２〜５−４）を待つことなく、後続の書込みデータを受信することができる。
なお、書込みデータ記憶領域の保存データを外部に放出している間は、コンピュータ端末ＰＣ１からの後続の書込みデータを受信できないのは、以下の理由による。
（１）書込みデータ記憶領域の保存データを、指定された時刻が到来したことを契機として放出する場合、指定された時刻を過ぎても書込みデータを受信し続けると、放出が完了する前に書込みデータが上書きされる恐れがあり、当該指定時刻時点での書き込みデータ内容を保存することができない。
（２）また、書込みデータ記憶領域に保存されていたデータを、コンピュータ端末ＰＣ１がシャットダウンしたことを契機として放出する場合、放出が完了する前に、コンピュータ端末ＰＣ１が再起動されると、前記と同様に書込みデータが上書きされる恐れがあり、当該コンピュータ端末ＰＣ１のシャットダウン時点での書き込みデータ内容を保存することができない。
【００３２】
［実施例６］
以下、前述の実施例１ないし実施例５において使用される中継装置Ｃ１の内部構造について説明する。
まず、図９を用いて、中継装置Ｃ１のソフトウェア構造について説明する。ｉＳＣＳＩターゲット１０は、コンピュータ端末（ＰＣ１〜ＰＣ３）が持つｉＳＣＳＩイニシエータ機能と通信し、コンピュータ端末（ＰＣ１〜ＰＣ３）との間で、ｉＳＣＳＩコマンドやデータを送受信する機能を持つ。
キャッシュプログラム１４のキャッシュメモリ制御機能１１は、ｉＳＣＳＩターゲット１０とｉＳＣＳＩイニシエータ（オペレーティングシステム内）１２との間の入出力制御を仲介する機能を持つ。
例えば、コンピュータ端末（ＰＣ１〜ＰＣ３）からの読み出し要求をｉＳＣＳＩターゲット１０経由で受信した場合（図２のステップ１−６、図３のステップ２−２、ステップ２−５）、キャッシュヒット判定（図２のステップ１−７、図３のステップ２−６）を行って、ヒットミスと判断したならば、当該読み出し要求を、ｉＳＣＳＩイニシエータ１３を介してストレージ装置（Ｓ２，Ｓ３）に送信する（図２のステップ１−８’、図３のステップ２−７’）。
逆に、ヒットと判断すれば、対象データを、キャッシュメモリ制御機能１２を介してキャッシュメモリ１５から取得し、ｉＳＣＳＩターゲット１０を介して、コンピュータ端末（ＰＣ１〜ＰＣ３）に返送する（図２のステップ１−８、図３のステップ２−７）。
キャッシュプログラム１４のキャッシュメモリ管理機能１２は、キャッシュメモリ１５における書込みデータ記憶領域、及び読み出しデータ記憶領域におけるテーブル管理を行い、キャッシュメモリ制御機能１１によるキャッシュメモリアクセスを仲介する。
また、先の実施例５においては、キャッシュメモリ制御機能１１は、適切な契機によって、キャッシュメモリ内のデータを、デバイスドライバ１６を介して記憶装置Ｓ３に転送し（図７のステップ５−１）、続いて記憶装置Ｓ３内のデータをストレージ装置Ｓ２に転送（図７のステップ５−２〜ステップ５−４）する機能を持つ。
【００３３】
次に、図１０を用いて、中継装置Ｃ１のハードウェア構造について説明する。
ハードウェアは、ＣＰＵ（Central Processing Unit）１７と、メモリ１８、ハードディスク（ＨＤＤ；Hard Disk Unit）１９と、ＮＩＣ（Network Interface card）２０と、各部を接続するシステムバス２１とから構成される。
ＣＰＵ１７は、ストレージアクセス信号中継やキャッシュ処理等、実施例１〜５に詳述した中継装置Ｃ１の動作を実現するために必要な、一切の演算処理を行う。
中継装置Ｃ１の中継機能を実現するための、図９におけるオペレーティングシステム、ｉＳＣＳＩターゲットプログラム１０、ｉＳＣＳＩイニシエータ１２、デバイスドライバ１６、本願発明に係る一切のキャッシュプログラム１４は、メモリ１８またはハードディスク１９に格納することができる。そして、これらのプログラムは適宜メモリ１８にロードされて実行される（なお、メモリ１８に格納されていたプログラムは、メモリ１８内の別の領域にロードされて実行される）。
ＮＩＣ２０は、ＩＰネットワークＮ１と接続され、コンピュータ端末（ＰＣ１〜ＰＣ３）およびストレージ装置（Ｓ１，Ｓ２）との間で、ＩＰによる通信を行う。
書き込みデータ格納領域、読み出しデータ格納領域となるキャッシュメモリ１５は、メモリ１８またはハードディスク１９内に確保することができる。
【００３４】
キャッシュメモリ１５を、メモリ１８に確保した場合、データの書き込みまたは読み出しが高速に行うことができる一方で、単位容量あたりの価格が高いという欠点がある。
一方、キャッシュメモリ１５を、ハードディスク１９に確保した場合、単位容量あたりの価格が安い一方で、データの書き込みまたは読み出しが高速に行えないという欠点がある。
先の実施例５で使用される記憶装置Ｓ３は、ハードディスク１９に確保することもできるし、メモリ１８に確保してもよい。それぞれを選択したときの長所、短所は前記と同様である。
以上、説明したハードウェア構造は、当該構造の要件を満たす通常のパーソナルコンピュータ、ワークスステーション、サーバ等などで提供することもできる。パーソナルコンピュータ、ワークスステーション、サーバ等は、ハードディスクなどに格納されるプログラムを実行して、前述の中継装置Ｃ１の機能を実現する。このプログラムは、ＣＤ−ＲＯＭ、あるいは、ネットワークを介したダウンロードにより供給される。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施例１のストレージアクセス中継装置が適用されるネットワークストレージシステムの概略構成を示すブロック図である。
【図２】コンピュータ端末ＰＣ１、本発明の実施例１のストレージアクセス中継装置Ｃ１、ストレージ装置Ｓ１間で送受信される信号を図示したシーケンス図である。
【図３】コンピュータ端末ＰＣ１、本発明の実施例２のストレージアクセス中継装置Ｃ１、ストレージ装置Ｓ１間で送受信される信号を図示したシーケンス図である。
【図４】コンピュータ端末ＰＣ１、本発明の実施例３のストレージアクセス中継装置Ｃ１、ストレージ装置Ｓ１間で送受信される信号を図示したシーケンス図である。
【図５】コンピュータ端末ＰＣ１、本発明の実施例４のストレージアクセス中継装置Ｃ１、ストレージ装置Ｓ１間で送受信される信号を図示したシーケンス図である。
【図６】本発明の実施例５のストレージアクセス中継装置が適用されるネットワークストレージシステムの概略構成を示すブロック図である。
【図７】コンピュータ端末ＰＣ１、本発明の実施例５のストレージアクセス中継装置Ｃ１、ストレージ装置Ｓ１間で送受信される信号を図示したシーケンス図である。
【図８（ａ）】中継装置Ｃ１内の書込みデータ記憶領域におけるデータ管理テーブルを示す図である。
【図８（ｂ）】中継装置Ｃ１内の読み出しデータ記憶領域におけるデータ管理テーブルを示す図である。
【図９】本発明の各実施例のストレージアクセス中継装置のソフトウェア構造を示すブロック図である。
【図１０】本発明の各実施例のストレージアクセス中継装置のハードウェア構造を示すブロック図である。
【符号の説明】
【００３６】
１０  ｉＳＣＳＩターゲット
１１  キャッシュメモリ制御機能
１２  キャッシュメモリ管理機能
１３  ｉＳＣＳＩイニシエータ
１４  キャッシュプログラム
１５  キャッシュメモリ
１６  デバイスドライバ
１７  ＣＰＵ（Central Processing Unit）
１８  メモリ
１９  ハードディスク（ＨＤＤ；Hard Disk Unit）
２０  ＮＩＣ（Network Interface card）
２１  システムバス
ＰＣ１〜ＰＣ３  情報処理端末（コンピュータ端末）
Ｓ１，Ｓ２ ストレージ装置
Ｓ３  記憶装置
Ｃ１ ストレージアクセス中継装置
Ｎ１  ＩＰ（Internet Protocol）ネットワーク
ＬＵ１〜ＬＵ３  論理ユニット
ＬＵＮ  論理ユニット番号
ＬＢＡ  論理ブロックアドレス
Ｔ１，Ｔ２  ターゲット
ｕｓｅｒ１  情報処理端末（コンピュータ端末）またはユーザの識別値
【図１】
2007156933.tif 000003
【図２】
2007156933.tif 000004
【図３】
2007156933.tif 000005
【図４】
2007156933.tif 000006
【図５】
2007156933.tif 000007
【図６】
2007156933.tif 000008
【図７】
2007156933.tif 000009
【図８（ａ）】
2007156933.tif 000010
【図８（ｂ）】
2007156933.tif 000011
【図９】
2007156933.tif 000012
【図１０】
2007156933.tif 000013