(57)【要約】【課題】  アプリケーション毎に変更を加えることなく、しかも、オペレーティングシステム内部を変更することなく、ホストコンピュータに直接接続される記憶装置を一次的な記録領域として使用し、遠隔の記憶装置システムへデータを保存することが可能な遠隔記憶システムを提供する。【解決手段】  前記ホストコンピュータのイニシエータ機能が、アプリケーションからの書き込み命令を前記仮想ターゲット機能に転送し、前記ホストコンピュータの仮想ターゲット機能が、前記転送された書き込み命令に従いデータを通常記憶装置に一時的に格納し、その後、通常記憶装置に一時的に格納された前記データを読み出し、書き込み命令を前記イニシエータ機能に転送し、前記イニシエータ機能が前記仮想ターゲット機能からの書き込み命令を前記遠隔記憶装置システムに転送し、前記遠隔記憶装置システムが前記転送された書き込み命令に従いデータを格納する。【選択図】        図１
2006059003.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと、
前記ホストコンピュータに直接接続された通常記憶装置と、
前記ホストコンピュータとネットワークを介して接続された遠隔地にある遠隔記憶装置システムとから構成される情報処理システムであって、
前記ホストコンピュータは、前記遠隔記憶装置システムと同じインターフェイスを提供する仮想ターゲット機能と、イニシエータ機能とを有し、
前記イニシエータ機能は、前記ホストコンピュータの他のアプリケーションからの書き込み命令を前記仮想ターゲット機能に転送し、また、前記仮想ターゲット機能からの書き込み命令を前記遠隔記憶装置システムに転送し、
前記仮想ターゲット機能は、前記イニシエータ機能から転送された書き込み命令に従いデータを前記通常記憶装置に一時的に格納し、その後、前記通常記憶装置に一時的に格納された前記データを読み出し、書き込み命令を前記イニシエータ機能に転送し、
前記遠隔記憶装置システムは、前記イニシエータ機能から転送された書き込み命令に従いデータを格納することを特徴とする情報処理システム。
【請求項２】
前記イニシエータ機能は、前記ホストコンピュータの他のアプリケーションからの読み出し命令を前記仮想ターゲット機能に転送し、また、前記仮想ターゲット機能からの読み出し命令を前記遠隔記憶装置システムに転送し、
前記仮想ターゲット機能は、前記イニシエータ機能から転送された読み出し命令に対応するデータが前記通常記憶装置に格納されているかを判断し、前記読み出し命令に対応するデータが前記通常記憶装置に格納されている場合は、前記読み出し命令に対応するデータを前記通常記憶装置から読み出し、また、前記読み出し命令に対応するデータが前記遠隔記憶装置システムに格納されている場合は、前記読み出し命令を前記イニシエータ機能に転送し、
前記遠隔記憶装置システムは、前記イニシエータ機能から転送された読み出し命令に対応するデータを読み出し、前記仮想ターゲット機能に転送することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
ホストコンピュータと、
前記ホストコンピュータに直接接続された通常記憶装置と、
前記ホストコンピュータとネットワークを介して接続された遠隔地にある遠隔記憶装置システムとから構成される情報処理システムにおける遠隔記憶装置システムヘのアクセス方法であって、
前記ホストコンピュータは、前記遠隔記憶装置システムと同じインターフェイスを提供する仮想ターゲット機能と、イニシエータ機能とを有し、
前記イニシエータ機能が、前記ホストコンピュータの他のアプリケーションからの書き込み命令を前記仮想ターゲット機能に転送し、
前記仮想ターゲット機能が、前記イニシエータ機能から転送された書き込み命令に従いデータを前記通常記憶装置に一時的に格納し、その後、前記通常記憶装置に一時的に格納された前記データを読み出し、書き込み命令を前記イニシエータ機能に転送し、
前記イニシエータ機能が、前記仮想ターゲット機能からの書き込み命令を前記遠隔記憶装置システムに転送し、
前記遠隔記憶装置システムが、前記イニシエータ機能から転送された書き込み命令に従いデータを格納することを特徴とする遠隔記憶装置システムヘのアクセス方法。
【請求項４】
前記イニシエータ機能が、前記ホストコンピュータの他のアプリケーションからの読み出し命令を前記仮想ターゲット機能に転送し、
前記仮想ターゲット機能は、前記イニシエータ機能から転送された読み出し命令に対応するデータが前記通常記憶装置に格納されているかを判断し、前記読み出し命令に対応するデータが前記通常記憶装置に格納されている場合は、前記読み出し命令に対応するデータを前記通常記憶装置から読み出し、また、前記読み出し命令に対応するデータが前記遠隔記憶装置システムに格納されている場合は、前記読み出し命令を前記イニシエータ機能に転送し、
前記イニシエータ機能が、前記仮想ターゲット機能からの読み出し命令を前記遠隔記憶装置システムに転送し、
前記遠隔記憶装置システムは、前記イニシエータ機能から転送された読み出し命令に対応するデータを読み出し、前記仮想ターゲット機能に転送することを特徴とする請求項３に記載の遠隔記憶装置システムヘのアクセス方法。
【請求項５】
請求項３または請求項４に記載のターゲット機能およびイニシエータ機能の少なくとも一方を、前記ホストコンピュータ実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、遠隔記憶システムへのアクセス方法およびプログラムに係り、特に、ホストコンピュータが遠隔地にあるディスク装置にアクセスする方法に関する。
【背景技術】
【０００２】
ホストコンピュータは、物理的に離れた場所に配属され、専用回線、あるいは公衆回線で接続された記憶装置システムにデータを保存するように構成することができる。
この場合に、ホストコンピュータと記憶装置システムの間のネットワーク回線の状態、つまり、利用可能な帯域、遅延時間は一定ではない。帯域が小さくなる、又は、遅延時間が長くなった状態では、ホストコンピュータから遠隔の記憶装置システムヘのアクセスが妨げられる。具体的には、記憶装置への読み書きの速度が低下する。
前述した問題に対し、読み込みに関しては、アプリケーションが要求するデータを事前に予測し、予めデータを遠隔の記憶装置システムから、ホストコンピュータに転送しておくことで、アプリケーションの読み込み命令に必要な時間を短縮する、先読みと呼ばれる技術等が使われている。
書き込みに関しては、アプリケーションが更新したデータは、ホストコンピュータで動作するオペレーティングシステム内のネットワークバッファや、ページキャッシュと呼ばれるバッファに蓄えられ、ネットワークの速度に合わせて転送される。
【０００３】
なお、本願発明に関連する先行技術文献としては以下のものがある。
【非特許文献１】「広帯域ストリーミング放送ネットワークにおけるストリーム放送管理システムアーキテクチャの提案」，谷川真樹 他2名著，電子情報処理学会，2003年総合大会
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述したようなシステムにおいて問題になるのが、オペレーティングシステム内のネットワークバッファや、ページキャッシュと呼ばれるバッファに蓄えられたデータ（アプリケーションが更新したデータ）は、停電等の障害で全て失われてしまうことである。
従って、大量のデータをこのようなバッファに蓄えることは、アプリケーションから見ると望ましくない。また、バッファに使われるメインメモリは、記憶装置システム（ディスク）よりも高価であるという問題もある。
前述したような、問題を解決するための従来技術として、遠隔地に配置された記憶装置システムを想定していない、既存のアプリケーションに変更を加え、ネットワーク状態を監視し、データの書き込み量を調整する機能を実装する方法がある（例えば、上記非特許文献１参照）。この方法は、アプリケーション毎に変更を加えるコストが発生するという問題がある。
その他の従来技術として、ホストコンピュータとバス等で直接接続され、安定したアクセス性能が保証された記憶装置（以下、通常の記憶装置と呼ぶ）を一時的な記憶領域として利用し、ネットワーク状態が回復してから、遠隔の記憶装置システムに保存する方法が使われる。ここで、通常の記憶装置は、一般に、遠隔の記憶装置システムよりも記憶容量が小さい。
通常の記憶装置に一度保存することで、停電等の障害発生時でも、通常の記憶装置から、アプリケーションが更新したデータを回復することができる。
【０００５】
前述の機能を実現する方法の一つとして、遠隔地に配置された記憶装置システムを想定していない、既存のアプリケーションに変更を加えることで、遠隔の記憶装置システムと、ホストコンピュータ内部の通常の記憶装置を明示的に利用する方法がある。この方法は、アプリケーション毎に変更を加えるコストが発生するという問題がある。
もう一つ実現方法として、図４に示すように、ホストコンピュータ１で動作するオペレーティングシステム１２に実装されている遠隔の記憶装置システム４ヘアクセスするための機能（イニシエータ機能と呼ぶ）１４に変更を加えることで、通常の記憶装置システムを利用する機能（通常ディスクアクセス機能）１６を追加する方法がある。
なお、図４は、従来の情報システムの一例の概略構成を示すブロック図であり、同図において、１はホストコンピュータ、２はホストコンピュータに直接ケーブルで接続された記憶装置、３はネットワーク回線、４はネットワーク回線３で接続された遠隔の記憶装置システム、１０はアプリケーション、１２はオペレーティングシステム、１３は共通ＳＣＳＩ機能、１４はイニシエータ機能、１５はネットワークサブシステム、１６は通常ディスクアクセス機能である。
この方法は、既存のアプリケーションを変更する必要がないという利点があるが、イニシエータ機能はオペレーティングシステム内部のカーネルに実装されているため、実装が困難であるという欠点がある。
加えて、イニシエータ機能は、遠隔の記憶装置システムにアクセスするための、ネットワーク機能しか持たず、通常の記憶装置にアクセスするための機能を新たに実装する必要があるという欠点もある。
【０００６】
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、情報処理システム、遠隔記憶システムへのアクセス方法において、アプリケーション毎に変更を加えることなく、しかも、オペレーティングシステム内部を変更することなく、ホストコンピュータに直接接続される記憶装置を一次的な記録領域として使用し、遠隔の記憶装置システムへデータを保存することとが可能となる技術を提供することにある。
また、本発明の他の目的は、前述のデータの書き込み方法およびデータの読み出し方法をコンピュータに実行させるためのプログラム提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
前述の課題を解決するために、本発明では、ホストコンピュータで、遠隔の記憶装置システムで動作しているものと同じソフトウェア（仮想ターゲット機能と呼ぶ）を動作させる。
イニシエータ機能は、ターゲット機能を、ホストコンピュータにとって、新たな記憶装置のように見せる。
つまり、イニシエータ機能は、ターゲット機能を新たな記憶装置として、ホストコンピュータに接続する。イニシエータが提供する記憶装置は、通常の記憶装置システムと全く違いがないので、その記憶装置にアクセスするために、特別なインターフェイスは必要ない。
説明のため、ホストコンピュータが、遠隔の記憶装置システムを記憶装置Ａ、仮想ターゲット機能を記憶装置Ｂとして、また、ホストコンピュータに直接接続された記憶装置を記憶装置Ｃとして認識するものとする。
アプリケーションは、常に記憶装置Ｂにアクセスし、記憶装置Ａに直接アクセスすることはない。前記のように、オペレーティングシステムから見ると、記憶装置Ｂは通常の記憶装置と変わらず、アプリケーションヘの変更は不要である。
アプリケーションのデータ要求は、イニシエータ機能を通過して、仮想ターゲット機能に届く。仮想ターゲット機能は、必要に応じて、記憶装置Ａと記憶装置Ｃにアクセスする。
記憶装置Ａは遠隔の記憶装置システムであるが、イニシエータ機能のおかげで、記憶装置Ｃのような通常の記憶装置と同じようにアクセスできる。
従って、仮想ターゲット機能は、通常の記憶装置にアクセスするためのインターフェイスをだけを利用して、両方の記憶装置にアクセスできる。
仮想ターゲット機能は、元々、通常の記憶装置にアクセスするための機能を持っているため、本手段を実装するための拡張部分は小さくおさえることができる。
仮想ターゲット機能はユーザアプリケーションとして実装できるため、オペレーティングシステム内部を変更するという困難な作業を避けることができるという利点がある、
【発明の効果】
【０００８】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明によれば、アプリケーション毎に変更を加えることなく、しかも、オペレーティングシステム内部を変更することなく、ホストコンピュータに直接接続される記憶装置を一次的な記録領域として使用し、遠隔の記憶装置システムへデータを保存することが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
図１は、本発明の実施例の情報システムの概略構成を示すブロック図である。
同図において、１はホストコンピュータ、２はホストコンピュータに直接ケーブルで接続された記憶装置、３はネットワーク回線、４はネットワーク回線３で接続された遠隔の記憶装置システム、１０はアプリケーション、１１は仮想ターゲット機能、１２はオペレーティングシステム、１３は共通ＳＣＳＩ機能、１４はイニシエータ機能、１５はネットワークサブシステムである。
本実施例の情報システムでは、ホストコンピュータ１上で、遠隔の記憶装置システムで動作しているものとほぼ同等の仮想ターゲット機能ソフトウェアが動作する（以下、仮想ターゲット機能という）。
【００１０】
図２は、本実施例の情報処理システムにおいて、アプリケーション１０からのデータの書き込み処理を示すフローチャートである。
書き込み処理は、２ステップに分けて行われる。まず、第１のステップでは、アプリケーション１０は、仮想ターゲット機能１１が提供する記憶装置にデータを書き込む。その結果、仮想ターゲット機能１１は、そのデータを通常の記憶装置２に書き込む。
第２のステップでは、仮想ターゲット機能１１は、通常の記憶装置２から、遠隔の記憶装置システム４にデータをコピーする。通常の記憶装置２は、遠隔の記憶装置システム４よりも容量が小さいため、必要に応じて、遠隔の記憶装置システム４ヘコピーし終わったデータは、通常の記憶装置２から削除する。
第１ステップは、図２（ａ）のステップ１０１０からステップ１０４０で示される処理である。
始めに、アプリケーション１０の書き込み命令をオペレーティングシステム１２が受け取り、共通ＳＣＳＩ機能１３まで届ける（ステップ１０１０）。
次に、共通ＳＣＳＩ機能１３が、イニシエータ機能１４へ書き込み命令を届ける（ステップ１０２０）。
アプリケーション１０からの書き込みは、イニシエータ機能１４、ネットワークサブシステム１５を経由し、仮想ターゲット機能１１に届く（ステップ１０３０）。
イニシエータ機能１４から見ると、仮想ターゲット機能１１は、遠隔の記憶装置システム４と同様のインターフェイスでアクセスできるため、特別な機能の拡張は必要ない。
仮想ターゲット機能１１は、届いた書き込みデータを、通常の記憶装置２に順番に書き込む（ステップ１０４０）。具体的には、仮想ターゲット機能１１が、オペレーティングシステム１２に、通常の記憶装置２に対するデータの書き込みを要求し、共通ＳＣＳＩ機能１３を介して、通常の記憶装置２に順番に書き込む。
仮想ターゲット機能１１は、最も古いデータと新しいデータが保存されているディスク位置を記録している。ここでは、データが追加されたため、最新のデータのディスク位置を更新する。
【００１１】
第２ステップは、図２（ｂ）のステップ１０５０からステップ１０９０で示される処理である。
仮想ターゲット機能１１は、オペレーティングシステム１２に通常の記憶装置２に対するデータの読み出しを要求し、遠隔の記憶装置システム４にまだコピーしていないデータを、通常の記憶装置２から読み出す（ステップ１０５０）。これは、最も古いデータが保存されたディスク位置を使って実現できる。
仮想ターゲット機能１１は、そのデータと書き込み命令をオペレーティングシステム１２に渡す（ステップ１０６０）。その結果、共通ＳＣＳＩ機能１３が、書き込み命令を受け取る。
共通ＳＣＳＩ機能は、書き込み命令をイニシエータ機能１４に送る（ステップ１０７０）。
イニシエータ機能１４は、書き込み命令を、ネットワークサブシステム１５、ネットワーク回線３経由で、遠隔の記憶装置システム４に送る（ステップ１０８０）。
遠隔の記憶装置システム４は、転送された書き込み命令に従いデータを書き込む（ステップ１０９０）。
仮想ターゲット機能１１は、遠隔の記憶装置システム４から、書き込み終了命令を受け取ると、最も古いデータのディスク位置を更新する。
【００１２】
図３は、本実施例の情報処理システムにおいて、アプリケーション１０からのデータの読み込み処理を示すフローチャートである。
書き込み処理同様、アプリケーション１０は、仮想ターゲット機能１１が提供する記憶装置にデータを要求する。その結果、イニシエータ機能１４を経由し、読み込み命令を仮想ターゲット機能１１が受け取る。
始めに、アプリケーション１０の読み込み命令をオペレーティングシステム１２が受け取り、共通ＳＣＳＩ機能１３まで届ける（ステップ２０１０）。
共通ＳＣＳＩ機能１３がイニシエータ機能１４へ読み込み命令を届ける（ステップ２０２０）。
アプリケーション１０からの読み込みは、イニシエータ機能１４、ネットワークサブシステム１５を経由し、仮想ターゲット機能１１に届く（ステップ２０３０）。イニシエータ機能１４から見ると、仮想ターゲット機能１１は、遠隔の記憶装置システム４と同様のインターフェイスでアクセスできるため、特別な機能の拡張は必要ない。
仮想ターゲット機能１１は、読み込み命令で要求されたデータが、通常の記憶装置２に保存されているかどうかを調べる（ステップ２０４０）。
【００１３】
ステップ２０４０において、データが通常の記憶装置２に保存されていない場合、仮想ターゲット機能１１は、読み込み命令をオペレーティングシステム１２に渡す。その結果、共通ＳＣＳＩ機能１３が、読み込み命令をイニシエータ機能１４に送る。イニシエータ機能１４は、ネットワークサブシステム１５、ネットワーク回線３経由で、遠隔の記憶装置システム４に読み込み命令を渡す（ステップ２０５０）。
遠隔の記憶装置システム４からデータは、ネットワーク回線３、ネットワークサブシステム１５、イニシエータ機能１４、共通ＳＣＳＩ機能１３を経由して、仮想ターゲット機能１１に渡される（ステップ２０６０）。
ステップ２０４０において、データが通常の記憶装置２に保存されている場合、仮想ターゲット機能１１は、オペレーティングシステム１２に、通常の記憶装置２からの読み込みを要求する（ステップ２０７０）。
仮想ターゲット機能１１は、必要なデータを受け取ると、当該データを、ネットワークサブシステム１５を経由して、イニシエータ機能１４に渡す。その結果、オペレーティングシステム１２は、読み込み命令を発行したアプリケーション１０にデータを渡す（ステップ２０８０）。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例の情報システムの概略構成を示すブロック図である。
【図２（ａ）】本発明の実施例の情報処理システムにおいて、アプリケーションからのデータの書き込み処理を示すフローチャートである。
【図２（ｂ）】本発明の実施例の情報処理システムにおいて、アプリケーションからのデータの書き込み処理を示すフローチャートである。
【図３】本発明の実施例の情報処理システムにおいて、アプリケーションからのデータの読み込み処理を示すフローチャートである。
【図４】従来の情報システムの一例の概略構成を示すブロック図である。
【符号の説明】
【００１５】
１  ホストコンピュータ
２  ホストコンピュータに直接ケーブルで接続された記憶装置
３  ネットワーク回線
４  ネットワーク回線３で接続された遠隔の記憶装置システム
１０  アプリケーション
１１  仮想ターゲット機能
１２  オペレーティングシステム
１３  共通ＳＣＳＩ機能
１４  イニシエータ機能
１５  ネットワークサブシステム
１６  通常ディスクアクセス機能
【図１】
2006059003.tif 000003
【図２（ａ）】
2006059003.tif 000004
【図２（ｂ）】
2006059003.tif 000005
【図３】
2006059003.tif 000006
【図４】
2006059003.tif 000007