(57)【特許請求の範囲】
【請求項１】
２つの記憶装置内のデータを維持する方法であって、前記データが複数のデータ・セットからなり、
前記データ・セットが第２記憶装置にコピーされたかどうかを示す各データ・セットに対するフラグを第１記憶装置において維持すること、
各データ・セットに対するタイムスタンプを維持すること、
各データ・セットが修正または新しく作成されるときに、前記データ・セットをコピーされていないデータ・セットとしてフラグを付けること、
ある期間を加えることによって、前記コピーされていないデータ・セットに対するタイムスタンプを修正すること、および
各データ・セットのタイムスタンプに基づいて、前記第１記憶装置からデータを取り除くこと
を含む方法。
【請求項２】
前記コピーされていないデータ・セットを前記第１記憶装置から前記第２記憶装置にコピーすること、
前記コピーされていないデータ・セットのフラグを、前記データ・セットがコピーされたことを示すように変更すること、および
前記コピーされていないデータ・セットに対するタイムスタンプを、前記期間を減算することによって修正すること
をさらに含む、請求項１に記載の方法。
【請求項３】
前記コピーされていないデータ・セットをコピーすることが、前記第１および第２記憶装置の両方の上でデータを同期させる処理中に実行される、請求項２に記載の方法。
【請求項４】
前記第１および第２記憶装置がピアツーピア環境内にある、請求項１に記載の方法。
【請求項５】
各データ・セットのフラグをフラットファイル内に置くこと、
前記フラットファイルからの各データ・セットのフラグを見直すこと、および
前記コピーされていないデータ・セットを見つけるために前記フラットファイルを検索すること
をさらに含む請求項１に記載の方法。
【請求項６】
各データ・セットのタイムスタンプに基づいて前記第１記憶装置からデータを取り除くステップが、ＬＲＵアルゴリズムを使用することを含む、請求項１に記載の方法。
【請求項７】
前記フラグおよび前記タイムスタンプが、各データ・セットに関連付けられたトークン内で維持される、請求項１に記載の方法。
【請求項８】
各データ・セットに関連付けられた前記フラグおよび前記タイムスタンプが、前記第１および第２記憶装置のファイル・システム内で維持される、請求項１に記載の方法。
【請求項９】
前記第１および第２記憶装置がＤＡＳＤキャッシュを含む、請求項１に記載の方法。
【請求項１０】
前記第１および第２記憶装置が、第３および第４記憶ライブラリそれぞれのための高速キャッシュとして機能する、請求項９に記載の方法。
【請求項１１】
２つの記憶装置内のデータを維持するシステムであって、前記データが複数のデータ・セットからなり、
前記データ・セットが第２記憶装置にコピーされたかどうかを示す各データ・セットに対するフラグを第１記憶装置内で維持する手段と、
各データ・セットに対するタイムスタンプを維持する手段と、
各データ・セットが修正または新しく作成されるときに、前記データ・セットをコピーされていないデータ・セットとしてフラグをつける手段と、
ある期間を加えることによって、前記コピーされていないデータ・セットに対するタイムスタンプを修正する手段と、
各データ・セットのタイムスタンプに基づいて前記第１記憶装置からデータを取り除く手段とを備えるシステム。
【請求項１２】
前記コピーされていないデータ・セットを前記第１記憶装置から前記第２記憶装置にコピーする手段と、
前記コピーされていないデータ・セットのフラグを、前記データ・セットがコピーされたことを示すように変更する手段と、
前記期間を減算することによって、前記コピーされていないデータ・セットに対するタイムスタンプを修正する手段とをさらに備える、請求項１１に記載のシステム。
【請求項１３】
前記コピーされていないデータ・セットをコピーすることが、前記第１および第２記憶装置の両方の上でデータを同期させる処理中に実行される、請求項１２に記載のシステム。
【請求項１４】
前記第１および第２記憶装置がピアツーピア環境内にある、請求項１１に記載のシステム。
【請求項１５】
各データ・セットのフラグをフラット・ファイル内に置く手段と、
前記フラット・ファイルからの各データ・セットのフラグを見直す手段と、
コピーされていないデータ・セットを見つけるために前記フラットファイルを検索する手段とをさらに備える、請求項１１に記載のシステム。
【請求項１６】
各データ・セットのタイムスタンプに基づいて前記第１記憶装置からデータを取り除く手段が、ＬＲＵアルゴリズムを使用することを含む、請求項１１に記載のシステム。
【請求項１７】
前記フラグおよび前記タイムスタンプが、各データ・セットに関連付けられたトークン内で維持される、請求項１１に記載のシステム。
【請求項１８】
各データ・セットに関連付けられた前記フラグおよび前記タイムスタンプが、前記第１および第２記憶装置のファイル・システム内で維持される、請求項１１に記載のシステム。
【請求項１９】
前記第１および第２記憶装置がＤＡＳＤキャッシュを含む、請求項１１に記載のシステム。
【請求項２０】
前記第１および第２記憶装置が、第３および第４記憶ライブラリそれぞれに対する高速キャッシュとして機能する、請求項１９に記載のシステム。
【請求項２１】
前記第１および第２記憶装置が、前記同じデータ・セットを維持する複数の相互接続された記憶装置を有する環境内に配置された２つの記憶装置である、請求項１１に記載のシステム。
【請求項２２】
２つの記憶装置内のデータを維持し、前記データが複数のデータ・セットからなるコンピュータ・システムに、
前記データ・セットが第２記憶装置にコピーされたかどうかを示す各データ・セットに対するフラグを第１記憶装置内で維持すること、
各データ・セットに対するタイムスタンプを維持すること、
各データ・セットが修正または新しく作成されるときに前記データ・セットをコピーされていないデータ・セットとしてフラグを付けること、
ある期間を加えることによって、前記コピーされていないデータ・セットに対するタイムスタンプを修正すること、および
各データ・セットのタイムスタンプに基づいて、前記第１記憶装置からデータを取り除くこと、
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ピアツーピア環境内の１つの仮想テープ・サーバから他の仮想テープ・サーバにデータをコピーするシステム、方法、およびプログラムに関する。
【０００２】
【従来の技術】
従来の仮想テープ記憶システムでは、テープ・ドライブおよびテープ・カートリッジをエミュレートするために、ハード・ディスク・ドライブ記憶装置が使用される。このように、テープに関する入力／出力（入出力）オペレーションを実行するホスト・システムは実際、テープ記憶装置をエミュレートする１組のハード・ディスク・ドライブに関する入出力オペレーションを実行する。従来技術では、International Business Machines（IBM）Magstar Virtual Tape Serverという１つまたは複数の仮想テープ・サーバ（「ＶＴＳ」）はそれぞれ、多数のテープ・カートリッジおよびテープ・ドライブを備えるテープ・ライブラリと統合され、多数の相互接続されたハード・ディスク・ドライブからなる直接アクセス記憶装置（ＤＡＳＤ）を有する。仮想テープ・サーバのオペレーションはホストに透過的である。ホストはテープ・ボリュームにアクセスする要求を行う。仮想テープ・サーバは、そのテープ要求をインターセプトし、ＤＡＳＤ内のボリュームにアクセスする。そのボリュームがＤＡＳＤ内にない場合、仮想テープ・サーバはテープ・ドライブからＤＡＳＤにそのボリュームを再呼び出しする。仮想テープ・サーバは、テープ・ドライブからのデータを求める要求に応答するよりも、テープ・カートリッジ内のボリュームをＤＡＳＤから求めるホスト要求に非常に速く応答することができる。したがってＤＡＳＤは、テープ・カートリッジ・ライブラリ内のボリュームのためのテープ・ボリューム・キャッシュとして機能する
【０００３】
ピアツーピア仮想テープ・サーバを作り出すために２つの仮想テープ・サーバを組合わせることができる。ピアツーピア仮想テープ・サーバでは、それぞれ別々のテープ・ライブラリと統合された２つの仮想テープ・サーバが、同じデータ・ボリュームに対してアクセスおよび記憶を可能にすることができる（すなわちピアツーピア環境）。２つの仮想テープ・サーバ・サブシステムおよび２つのライブラリを提供することによって、１つの仮想テープ・サーバ・サブシステムおよびテープ・ライブラリからファイルを再呼び出しするオペレーションが失敗した場合、そのファイルをなお他方の仮想テープ・サーバ・サブシステムおよびテープ・ライブラリから再呼び出しすることができる。この冗長アーキテクチャは、１つのサブシステム内のテープまたはＶＴＳが破壊された場合に、データおよびテープを使用できるより大きな可能性ならびに改善されたデータ・シャドーイングを提供する。したがって、ホスト・システムが記憶装置に書込むとき、データは両方の仮想テープ・サーバ上に保管される。しかし、システム・リソース上の浪費に相当する両方の仮想テープ・サーバに同時に書込む方法ではなく、ホストが論理ボリュームを閉じるときに、２つの仮想テープ・サーバを接続する仮想テープ・コントローラが、仮想テープ・サーバの１つにその論理ボリュームを書込む。仮想テープ・コントローラの一例は、IBM AXO仮想テープ・コントローラ（「AXO VTC」）であり、このコントローラは２つの仮想テープ・サーバ間のインテリジェント・スイッチとして振る舞い、ホスト・コンピュータと仮想テープ・サーバを透過的に接続する。次いでその論理ボリュームは、仮想テープ・コントローラによって１つの仮想テープ・サーバから他方の仮想テープ・サーバにコピーされる。
【０００４】
仮想テープ・サーバ間の同期処理は、ユーザの好みに基づいて、直ちにまたは遅れて行うことができる。しばしばホスト・ユーザは、周期的に運用する会社のために、バックアップ処理を後に行うように設定する。例えば、ウォール・ストリートの会社は、トレーディング時間中により高いピークのホスト入力／出力性能を希望することができ（バックアップ処理に自分のコンピュータを減速させることなく）、２つの仮想テープ・サーバ間のバックアップ処理をトレーディング日が終了するまで延期することを選んだ。さらに、ＶＴＳサブシステムの１つが故障した場合、IBMのPeer-to-Peer Virtual Tape Serverであれば、遅延モードで動作する。
【０００５】
仮想テープ・サーバ、特に多数のホスト書込み活動を有する仮想テープ・サーバを運用する際は、新しく書込まれるボリュームのために、ＶＴＳ  ＤＡＳＤキャッシュ内のスペースが絶えず使用可能にされる必要がある。しかし遅延モードで運用するときに、コピー・オペレーションが実行される前にあまりに多くのデータがＤＡＳＤ内に格納されている場合、データがコピーされたかどうかに関わらず、最も古いデータが最初に消去されると、コピーされていないデータが他方の仮想テープ・サーバにコピーされる前に削除される可能性がある。そのような場合、データの唯一のコピーはテープ・ライブラリ内の物理テープ上に存在するが、他方の仮想テープ・サーバをテープ・ドライブからバックアップすることは、バックアップ処理に大きな遅延をもたらす。テープ・ドライブ再呼び出しのための代償は、コピー・スループットが１０倍強になることである。この１０倍の代償は、IBM Peer-to-Peer Virtual Tape Server上では非常に深刻なので、論理ボリュームがすべてテープ上にあれば、コピー処理はホストに「追い付く」ことができないだろう。したがって、データを１つの仮想テープ・サーバから他方に遅延モードでバックアップする改善された機構に対する必要が、当技術分野にはある。
【０００６】
【発明が解決しようとする課題】
本発明の一目的は、ピアツーピア環境内の１つの仮想テープ・サーバから他の仮想テープ・サーバにデータをコピーするシステム、方法、およびプログラムを提供することである。
【０００７】
【課題を解決するための手段】
２つの記憶装置内のデータを維持するための方法、システム、および製品が提供され、そのデータは、複数のデータ・セットからなる。データ・セットが他方の記憶装置にコピーされたかどうかを示すフラグが、それぞれのデータ・セットに対して維持される。さらに、それぞれのデータ・セットに対してタイムスタンプが維持される。データ・セットが修正または新しく作成される度に、そのデータ・セットに関連付けられたフラグを使用して、そのデータ・セットがコピーされていないデータ・セットとしてフラグをつけられる。記憶装置内のスペースが必要なとき、最も古いタイムスタンプを有するデータ・セットが最初に削除されるので、この好ましい実施形態は、ある期間追加することによって、それぞれのコピーされていないデータ・セットに対するタイムスタンプを修正し、したがって優先権を与える。
【０００８】
さらに進んだ実施形態では、コピーされていないデータ・セットが１つの記憶装置から他方の記憶装置にコピーされると、そのデータ・セットがコピーされたことを示すように、新しくコピーされたデータ・セットのフラグが変更される。次いで、新しくコピーされたデータ・セットに対するタイムスタンプは、コピーすることが必要であるとデータ・セットにフラグを付けられたときに加算されたのと同じ時間を減算することによって通常に設定し戻される。
【０００９】
さらに進んだ実施形態では、１つの記憶装置から他方の記憶装置へのコピー・オペレーションを初期化するステップが、各データ・セットのフラグをフラットファイル内に置くこと、そのフラットファイルから各データ・セットのフラグを見直すこと、およびコピーされていないデータ・セットを見つけるためにフラットファイルを検索することを含む。
【００１０】
この好ましい実施形態の一利点は、データ・セットを記憶装置からコピーすることができなかったために記憶装置が失敗することを本来引き起こすどんな条件も強要することなく、コピーされていないデータ・セットがコピーされたデータ・セットに勝ってキャッシュ内に保持されるという優先権が与えられることである。
【００１１】
【発明の実施の形態】
次の説明では、本明細書の一部を形成し本発明のいくつかの実施形態を示す添付の図面を参照する。本発明の範囲から逸脱することなく、他の実施形態を利用することができ、構造および動作上の変更を加えることができることを理解されたい。
【００１２】
図１は、２つの仮想テープ・サーバを利用するピアツーピア・コンピューティング環境を示す。システムによって追加の仮想テープ・サーバを使用することができるが、例示の目的のために、単一のピアツーピア構成を示す。複数のホスト・コンピュータ２ａ、ｂ（例示の目的のために２つのホスト・コンピュータ２ａ、ｂを示す）は、仮想テープ・コントローラ４（「ＶＴＣ」）に接続する。ホスト・コンピュータ２ａ、ｂは、Enterprise System Connection（ESCON）**チャネルなどのチャネルを介してＶＴＣ４に接続することができる。ピアツーピア環境では、仮想テープ・コントローラ４は、ホスト・コンピュータ２ａ、ｂに透過的である（すなわちホスト・コンピュータ２ａ、ｂが単一仮想テープ・サーバに書込むかのように、ホスト・システムが振る舞う）。次いで仮想テープ・コントローラ４は、ホスト２ａ、ｂからの入出力要求を仮想テープ・サーバ６ａまたは６ｂの１つにルーティングする。仮想テープ・サーバ６ａおよび６ｂは、直接アクセス記憶装置（ＤＡＳＤ）８ａおよび８ｂならびにテープ・ライブラリ１０ａおよび１０ｂそれぞれに対するアクセスを制御する。
【００１３】
それぞれのＤＡＳＤ８ａ、ｂは、多数の相互接続されたハード・ディスク・ドライブを備える。それぞれのテープ・ライブラリ１０ａ、ｂは、仮想テープ・サーバ６ａ、ｂがアクセスできるテープ・ドライブに機械的にロードすることができる多数のテープ・カートリッジを備える。ホストは、IBM OS/390オペレーティング・システム、当技術分野で知られている他の任意のオペレーティング・システムなどのオペレーティング・システムを含むことができる。仮想テープ・サーバ６ａまたは６ｂは、IBM Magstar Virtual Tape Serverなどのテープ・ライブラリをエミュレートするソフトウェアを含むサーバ・システムを備えることができる。例えば、仮想テープ・サーバ６ａ、ｂおよび仮想テープ・コントローラ４は、IBM RS/6000プロセッサ、IBM AIXオペレーティング・システム、およびIBM ADSTAR Distributed Management（ADSM）ソフトウェアまたはTivoli Storage Managerを備える別々のコンピュータ内に実施して、ホスト２ａ、ｂ、ＤＡＳＤ８ａ、ｂ、およびテープ・ライブラリ１０ａ、ｂ間のデータ移動オペレーションを実行することができる**。テープ・ライブラリは、Magstar 3494 Tape Libraryまたは当技術分野で知られている他の任意のテープ・ライブラリ・システムなどのIBM Magstar Tape Libraryを備えることができる。
【００１４】
ＤＡＳＤ８ａ、ｂは、テープ・ライブラリ１０ａ、ｂ内のボリュームにアクセスするディスク・キャッシュの性能利益を拡張し、テープ・ライブラリ１０ａ、ｂに対するホスト入出力要求にＤＡＳＤ８ａ、ｂからサービスすることを可能にすることによって性能を改善するテープ・ボリューム・キャッシュを提供する。仮想テープ・サーバ６ａ、ｂは、ホスト２ａ、ｂには、テープ・データ・ボリュームを含むテープ・ドライブとして見える。ホスト２ａ、ｂは、仮想テープ・ボリュームを実際のテープ・ボリュームとして見、マウントなどのテープ管理コマンドを発行し、そうでない場合は、仮想テープ・サーバ６ａ、ｂをテープ制御ユニットとして取り扱う。さらに、好ましい諸実施形態が実施される仮想テープ・サーバ技術の詳細は、IBM発表の「改善されたIBM Magstar Virtual Tape Server：実施ガイド」IBM文書番号ＳＧ２４−２２２９−０２（著作権IBM、１９９９年４月）、内に述べられている。
【００１５】
テープ・ライブラリ１０ａ、ｂ内のテープ・カートリッジで維持されるボリュームは論理ボリュームである。論理ボリュームのコピーは、仮想テープ・サーバ６ａ、ｂに関連付けられたＤＡＳＤ８ａ、ｂ内に常駐することもできる。ホスト２ａ、ｂは、ＤＡＳＤ８ａ、ｂ上の常駐コピーから論理ボリューム上のデータにアクセスすることができる。ＤＡＳＤ８ａ、ｂ常駐コピーがホスト２ａ、ｂによって更新される場合、論理ボリュームは、そのボリュームがホスト２ａ、ｂによって閉じられるときに、ＤＡＳＤ８ａ、ｂからテープ・ライブラリ１０ａ、ｂにコピーされるようにスケジュールされる。さらに、ＤＡＳＤ８ａ、ｂスペース使用量がしきい値量に達すると、仮想テープ・サーバ６ａ、ｂは、テープ・ライブラリ１０ａ、ｂにコピーされた論理ボリュームをＤＡＳＤ８ａ、ｂから取り除いて、他の論理ボリュームのための余地を作る。論理ボリュームがＤＡＳＤ８ａ、ｂから取り除かれると、その論理ボリュームはもはやホストからアクセス可能ではない。ホスト２ａ、ｂがテープ内にしかないボリュームを要求する場合、そのボリュームをテープ・ライブラリ１０ａ、ｂ内のテープからＤＡＳＤ８ａ、ｂに再呼び出ししコピーしなければならない。再呼び出しオペレーションは数分かかる可能性があり、格納セルからのテープ・カートリッジにアクセスしテープ・ドライブに挿入するためにロボットの腕を使用すること、そのテープ・カートリッジをマウントすること、テープを巻き戻すことなどに関する機械的オペレーションを含むことがある。好ましい諸実施形態では、テープ・ライブラリ１０ａ、ｂは、同じデータ・ボリュームを含み、したがって互いにシャドーイングする。しかし、それぞれの仮想テープ・サーバ６ａ、ｂは独立して挙動し、それぞれがＤＡＳＤ内に様々なボリュームをキャッシュすることができる。例えば、仮想テープ・サーバ６ａ、ｂは、どちらのボリュームを取り除くかを判断するための異なるスケジュールまたはアルゴリズムの結果として、自分の関連するＤＡＳＤ８ａ、ｂ内に異なるボリュームを常駐させることができる。
【００１６】
論理ボリュームが依然ＤＡＳＤ８ａ、ｂ内にある限り、そのボリュームは、テープ・ライブラリ１０ａ、ｂにコピーされたかどうかにかかわらず、ホストから再びアクセスすることができる。ボリュームをマウントしＤＡＳＤ８ａ、ｂからアクセスできるようにすることによって、オペレーションが、テープ・アクセス機構に関連付けられた遅延時間を有しないハード・ディスク・ドライブに関して実行されるので、テープを巻き戻すことに関連する遅延時間、ロボットの腕の移動、およびそのマウントのためのロード時間は回避される。ＤＡＳＤ８ａ、ｂ内にある論理ボリュームの仮想マウントを実行することを、キャッシュ・ヒットと称する。
【００１７】
それぞれの仮想テープ・サーバ６ａ、ｂは、仮想テープ・サーバ６ａ、ｂ内のボリュームを管理するために、テープ・ライブラリ１０ａ、ｂ内の全ての論理ボリュームに対するトークンまたはレコードのデータベースを含む。図２は、それぞれのボリューム・トークン５０内に維持されるフィールドまたはデータを示す。ボリュームＩＤ５２は、ボリュームの識別を示す。位置フィールド５４は、そのボリュームが仮想テープ・サーバ６ａ、ｂのＤＡＳＤ８ａ、ｂ内にあるか、またはテープ・ライブラリ１０ａ、ｂ内にしかないかを示す。位置フィールド５４は、ボリュームがデステージするようにスケジュールされていても、そのボリュームがＤＡＳＤ８ａ、ｂ内にあることを示す。コピー・フラグ５６は、データが、ピアツーピア環境内の他方の仮想テープ・サーバにコピーされたかどうかを示す。他方の仮想テープ・サーバ６ｂが、論理ボリュームを自分のＤＡＳＤ８ｂにコピーする必要がある場合、コピー・フラグ５６は、１つの仮想テープ・サーバ６ａ内の論理ボリュームに対して「オン」に設定される。論理ボリュームが１つの仮想テープ・サーバ６ａからコピーされた後に、コピー・フラグ５６は再び「オフ」に設定される。データ・レベル５８は、ファイルが更新された回数を示す。データが論理ボリュームに更新されるたびに、レベル・フィールド５８は増分され、特定のＤＡＳＤ８ａ、ｂ内のボリュームが更新された回数を示す。最も高いデータ・レベルを有するＤＡＳＤ８ａ、ｂ内の論理ボリュームは、最新のバージョンの更新を含む。この理由で、そのボリュームに関する入出力オペレーションを実行するときは、最新のバージョンのデータを含む、すなわち最も高いレベルを有する仮想テープ・サーバ６ａ、ｂが選択される。タイムスタンプ６２は、ホスト・コンピュータ２ａ、ｂによってその論理ボリュームがアクセスされた最後の時間を記録する。
【００１８】
図３は、好ましい実施形態による、ＤＡＳＤ８ａ、ｂ内のコピーされていない論理ボリュームを優先的にキャッシュするためにコントローラ４および仮想テープ・サーバ６ａ、ｂ内に実施されるロジックを示す。通常、それぞれの仮想テープ・サーバ６ａまたはｂは、ホスト２ａまたはｂによる論理ボリュームの使用を追跡する。論理ボリュームがホスト・コンピュータ２ａ、ｂによってマウントされた後に最初に修正されるときはいつであれ、仮想テープ・サーバ６ａ、ｂがデータ・レベル５８を更新する。論理ボリュームがホスト・コンピュータによって閉じられるときはいつであれ、仮想テープ・サーバ６ａまたはｂが、自分のキャッシュ・リストにそのボリュームを追加する。仮想テープ・サーバ６ａまたはｂは、このキャッシュ・リストを使用して、自分のＤＡＳＤキャッシュ８ａまたはｂ内のボリュームを管理する（すなわち、ボリュームをデステージすべきかどうかを判断する）。仮想テープ・サーバ６ａまたはｂは、ＬＲＵ（「Least Recently Used」）などのキャッシュ管理アルゴリズムを使用して、どのボリュームが最も長くキャッシュ内に保持されているかを判断する。このアルゴリズムは、論理ボリュームの最終アクセスのタイムスタンプ６２に基づく。仮想テープ・サーバ６ａまたはｂ内にスペースが必要なときはいつであれ、最も古いタイムスタンプを有するボリュームが、最初にＤＡＳＤキャッシュ８ａまたはｂから削除される。これにより、最近最も使用されていないボリュームが、最近よりアクセスされているボリュームの前に、ＤＡＳＤキャッシュ８ａまたはｂから確実に削除される。ほとんどのデータ取り出しが、そのボリュームが作成されたときの２４時間以内に行われるので、ＬＲＵアルゴリズムは一般に、「即時」モードでは効果的であるが、上記に説明したように「遅延モード」では依然として不必要な遅延をもたらす可能性がある。
【００１９】
制御は、ブロック１００で、ホスト・コンピュータ２ａまたはｂが、仮想テープ・サーバ６ａ、ｂに論理ボリュームをマウントさせるときに開始する。ブロック１０２で、ホストは、入出力オペレーションを仮想テープ・コントローラ４に発行する。ブロック１０４では、入出力オペレーションが読取り、書込み、またはボリューム・クローズ・オペレーションであるかどうかを、仮想テープ・コントローラ４が判断する。そのオペレーションが読取りまたは書込みオペレーションであれば、仮想テープ・コントローラ４はブロック１０６において、そのオペレーションが書込みオペレーションであるかどうかをさらに判断する。そのオペレーションが単純に読取りオペレーションであれば、仮想テープ・コントローラ４は、ホストの入出力活動を監視し続ける。そのオペレーションが書込みオペレーションであれば、仮想テープ・コントローラ４はブロック１０８において、ボリュームのトークン５０内のコピー・フラグ５６が「オン」であるかどうかを判断する。コピー・フラグ５６が「オンでない」場合、仮想テープ・コントローラ４は、フラグを「オン」にし、データ・レベル５８も増分する。次いで仮想テープ・コントローラ４は、次のホスト入出力オペレーションを待つ。全ての書込みオペレーション後にコピー・フラグがオンにされたことを検証することによって、仮想テープ・コントローラ４は、新しく書込まれたボリュームがコピーのためにマークされていることを確実にする。ブロック１０４において、入出力オペレーションがボリューム・クローズであった場合、仮想テープ・サーバ６ａまたはｂはブロック１１２において、コピー・フラグが「オン」であるかどうかを判断する。コピー・フラグが「オン」であれば、仮想テープ・サーバ６ａまたはｂはブロック１１４において、ＬＲＵ計算によって使用されたタイムスタンプ（すなわち、トークン内のタイムスタンプ６２または仮想テープ・サーバのファイル・システム内のタイムスタンプあるいはその両方）に４８時間加えることによって、論理ボリュームに関連付けられたタイムスタンプを修正する。このオペレーションは、コピーされていないボリュームを、ＤＡＳＤキャッシュ８ａ、ｂ内の他のすべてのボリュームより「新しく」見せる。ブロック１１６では、仮想テープ・サーバ６ａまたはｂ内のボリュームが閉じられる。ボリュームのタイムスタンプがそのボリュームをより新しく見えるようにするので、ＤＡＳＤキャッシュ８ａ、ｂからボリュームを削除する際に、そのボリュームはＬＲＵアルゴリズムによって優先的キャッシュされる。代替実施形態では、タイムスタンプに対する修正を、特別なキューなど他の手段によって実行することができ、または使用される時間増分は４８時間と異なってよい。
【００２０】
図４は、ピアツーピア環境内の１つの仮想テープ・サーバから他方にボリュームをコピーするためにコントローラ４内に実施されるロジックを示す。制御は、ブロック１５０で、ピアツーピア仮想テープ・サーバ６ａ、ｂ間の同期オペレーションが遅延モードで実行されるときに開始する。ブロック１５２において、仮想テープ・コントローラ４は、コピーされていないボリューム（すなわちコピー・フラグ５６が「オン」であるボリューム）を仮想テープ・サーバ６ａまたはｂの１つから捜し、そのボリュームを他方の仮想テープ・サーバ６ａまたはｂにコピーする。ブロック１５４において、仮想テープ・コントローラ４は、トークン５０内のコピー・フラグ５６を「オフ」にし、そのボリュームをもうコピーする必要がないことを示す。ブロック１５６では、サーバ６ａ、ｂがコピー・フラグ５６のオンからオフへの遷移を検出し、その論理ボリュームに対するキャッシュＬＲＵ計算によって使用されたタイムスタンプを４８時間減らす（ブロック１５８）。したがって、ボリュームがコピーされた後に、サーバ６ａ、ｂは、キャッシュ内のボリュームの順序を「通常」（すなわち、そのボリュームがコピーを必要としていなかったら、そのボリュームが有していたであろう順序）にリストアする。そのボリュームがコピーされると、ＤＡＳＤキャッシュ８ａ、ｂ内のスペース使用量がしきい値に達するとき、次いでＬＲＵアルゴリズムが、最近最も使用されない順序にしたがってボリュームを削除することができる（ブロック１６０）。したがって、修正されたタイムスタンプを使用することにより、「コピーすべき論理ボリューム」の固定リストなどのボリュームのコピーに仮想テープ・コントローラ４が失敗すれば本来仮想テープ・サーバ６ａ、ｂの失敗を引き起こすであろうどんな条件も強要することなく、コピーされていないボリュームに優先権が与えられる。
【００２１】
図５は、好ましい実施形態の仮想テープ・サーバ６ａ、ｂを初期化する特別なマイクロコード内に実施されるロジックを示す。制御は、ブロック２００で、仮想テープ・サーバ６ａまたはｂが初期化するときに開始する。ブロック２０２では、仮想テープ・サーバ６ａ、ｂが、トークン・データベースを検索しコピー・フラグ５６「オン」を有するファイルを見つけることによって、ＤＡＳＤキャッシュ８ａ、ｂ内のコピーされていないファイルすべての「フラットファイル」を構築する。ブロック２０４では、サーバ６ａ、ｂが、ファイルシステムを走査し、各ファイルに関連付けられたタイムスタンプを見ることによって各ファイルの年齢を判断する。ブロック２０６では、フラットファイルの２進検索が、コピーを必要とするボリュームのリストを判断する。したがって、コピー・フラグ５６の調査がフラットファイルの２進検索になり、ボリューム１つ１つを調査するより速い順序で操作される。コピー・フラグ５６が「オン」であれば、ブロック２０８において、ホストが書込んだコピーされていない論理ボリュームに対して、コピーされていないボリュームのタイムスタンプは上述のように変更される（すなわち、サーバ６ａ、ｂは、ＬＲＵ計算によって使用されたタイムスタンプに４８時間を加えることによって、論理ボリュームに関連付けられたタイムスタンプ６２を修正する）。ブロック２１０では、仮想テープ・サーバ６ａ、ｂが、修正されたタイムスタンプを有するファイルを含むキャッシュされたファイルをＬＲＵテーブルに入れる。ブロック２１２では、制御ユニットがオンラインにされる。
【００２２】
これで、本発明の好ましい実施形態の説明を締めくくる。以下に、本発明を達成するための何らかの代替実施形態を述べる。本明細書に述べた仮想テープ・サーバ内のコピーされていないファイルを優先的に保持する手法は、ソフトウェア、ファームウェア、ハードウェアまたはその任意の組合わせを生成する標準プログラミングまたはエンジニアリング手法あるいはその両方を使用して、方法、装置または製品として実施することができる。本明細書で使用される用語「製品」は、ハードウェア論理回路（例えば、集積回路チップ、フィールド・プログラム可能ゲート・アレイ（ＦＰＧＡ）、特定用途向けＩＣ（ＡＳＩＣ）など）またはコンピュータ可読媒体（例えば磁気記憶媒体（例えば、ハード・ディスク・ドライブ、フロッピー（Ｒ）ディスク、テープなど）、光記憶（ＣＤ−ＲＯＭ、光ディスクなど）、揮発性および不揮発性メモリ・デバイス（例えばＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア・プログラム可能論理回路など）の中に実施されるコードまたはロジックを指す。コンピュータ可読媒体内のコードは、プロセッサによってアクセスされ実行される。構成発見ツールの好ましい実施形態が実施されるコードは、伝送媒体を介してまたはネットワークを介してファイル・サーバからさらにアクセス可能である。そのような場合、コードが実施される製品は、ネットワーク伝送回線、無線伝送媒体、宇宙経由信号伝達、無線波、赤外線などの伝送媒体を含むことができる。もちろん、本発明の範囲から逸脱することなくこの構成に多数の修正を加えることができること、および製品が当技術分野で知られている任意の情報保有媒体を含むことができることを当業者は理解するであろう。
【００２３】
好ましい実施形態を、IBM仮想テープ・サーバ・システムに関して述べた。しかし、この好ましいロジックであれば、より遅い記憶システムからのデータをキャッシュするために磁気記憶またはメモリのいずれかを含むより速い記憶システムが使用される任意の仮想記憶システムに応用することができる。例えば、キャッシュはメモリ・デバイスを含むことができ、記憶デバイスは、より速いアクセス・キャッシュを介してデータ・セットへのアクセスを提供するためにそのデータ・セットが対応するメモリ・セットにページングされるハード・ディスク・ドライブのセットを含むことができる。さらに、好ましい実施形態をピアツーピア環境に関して述べたが、この好ましいロジックであれば、同じデータのコピーが両方の位置に保持されるクライアント・サーバ環境など、他の環境に応用することができる。さらに、この好ましいロジックであれば、論理ボリュームのコピーを複数の記憶装置内に保持することができる状況に応用することができる。例えば、このロジックは、同じ論理ボリュームがそれぞれの仮想テープ・サーバにコピーされる、３つの別々の仮想テープ・サーバを有するピアツーピアツーピア環境において応用することができる。
【００２４】
好ましい実施形態を、データ・ボリュームに対するトークンの再呼び出し、マウント、および維持に関して述べた。しかし、ファイル、トラック、固定ブロックなど任意のデータ・セットまたはデータ記憶ユニットが再呼び出しおよびマウント・オペレーションの対象となり得る。本明細書で使用される用語「データ・セット」は、任意のデータ記憶ユニットを指す。
【００２５】
好ましい実施形態では、再呼び出しまたは入出力アクセス・オペレーションを処理する仮想テープ・サーバを選択するために仮想テープ・コントローラが使用された。代替実施形態では、ホストがそのような選択を行うことができ、または仮想テープ・サーバが、再呼び出しまたはアクセス・オペレーションを処理するためにどの仮想テープ・サーバを使用するかを判断することができる。
【００２６】
本発明の好ましい実施形態の前述の説明は、例示および説明の目的のために提示した。本発明を開示された正確な形態に網羅または限定するものではない。上記教示に照らして、多数の修正および変形形態が可能である。本発明の範囲は、この詳細な説明によってではなく、本明細書に添付の請求の範囲によって限定するものである。上記仕様、実施例およびデータは、製造の完全な記述および本発明の構成の使用方法を提供する。本発明の精神および範囲から逸脱することなく、本発明の多数の実施形態を行うことができるので、本発明は、前記の特許請求の範囲に存する。
【００２７】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００２８】
（１）２つの記憶装置内のデータを維持する方法であって、前記データが複数のデータ・セットからなり、
前記データ・セットが第２記憶装置にコピーされたかどうかを示す各データ・セットに対するフラグを第１記憶装置において維持すること、
各データ・セットに対するタイムスタンプを維持すること、
各データ・セットが修正または新しく作成されるときに、前記データ・セットをコピーされていないデータ・セットとしてフラグを付けること、
ある期間を加えることによって、前記コピーされていないデータ・セットに対するタイムスタンプを修正すること、および
各データ・セットのタイムスタンプに基づいて、前記第１記憶装置からデータを取り除くこと
を含む方法。
（２）前記コピーされていないデータ・セットを前記第１記憶装置から前記第２記憶装置にコピーすること、
前記コピーされていないデータ・セットのフラグを、前記データ・セットがコピーされたことを示すように変更すること、および
前記コピーされていないデータ・セットに対するタイムスタンプを、前記期間を減算することによって修正すること
をさらに含む、上記（１）に記載の方法。
（３）前記コピーされていないデータ・セットをコピーすることが、前記第１および第２記憶装置の両方の上でデータを同期させる処理中に実行される、上記（２）に記載の方法。
（４）前記第１および第２記憶装置がピアツーピア環境内にある、上記（１）に記載の方法。
（５）各データ・セットのフラグをフラットファイル内に置くこと、
前記フラットファイルからの各データ・セットのフラグを見直すこと、および前記コピーされていないデータ・セットを見つけるために前記フラットファイルを検索すること
をさらに含む上記（１）に記載の方法。
（６）各データ・セットのタイムスタンプに基づいて前記第１記憶装置からデータを取り除くステップが、ＬＲＵアルゴリズムを使用することを含む、上記（１）に記載の方法。
（７）前記フラグおよび前記タイムスタンプが、各データ・セットに関連付けられたトークン内で維持される、上記（１）に記載の方法。
（８）各データ・セットに関連付けられた前記フラグおよび前記タイムスタンプが、前記第１および第２記憶装置のファイル・システム内で維持される、上記（１）に記載の方法。
（９）前記第１および第２記憶装置がＤＡＳＤキャッシュを含む、上記（１）に記載の方法。
（１０）前記第１および第２記憶装置が、第３および第４記憶ライブラリそれぞれのための高速キャッシュとして機能する、上記（９）に記載の方法。
（１１）２つの記憶装置内のデータを維持するシステムであって、前記データが複数のデータ・セットからなり、
前記データ・セットが第２記憶装置にコピーされたかどうかを示す各データ・セットに対するフラグを第１記憶装置内で維持する手段と、
各データ・セットに対するタイムスタンプを維持する手段と、
各データ・セットが修正または新しく作成されるときに、前記データ・セットをコピーされていないデータ・セットとしてフラグをつける手段と、
ある期間を加えることによって、前記コピーされていないデータ・セットに対するタイムスタンプを修正する手段と、
各データ・セットのタイムスタンプに基づいて前記第１記憶装置からデータを取り除く手段とを備えるシステム。
（１２）前記コピーされていないデータ・セットを前記第１記憶装置から前記第２記憶装置にコピーする手段と、
前記コピーされていないデータ・セットのフラグを、前記データ・セットがコピーされたことを示すように変更する手段と、
前記期間を減算することによって、前記コピーされていないデータ・セットに対するタイムスタンプを修正する手段とをさらに備える、上記（１１）に記載のシステム。
（１３）前記コピーされていないデータ・セットをコピーすることが、前記第１および第２記憶装置の両方の上でデータを同期させる処理中に実行される、上記（１２）に記載のシステム。
（１４）前記第１および第２記憶装置がピアツーピア環境内にある、上記（１１）に記載のシステム。
（１５）各データ・セットのフラグをフラット・ファイル内に置く手段と、
前記フラット・ファイルからの各データ・セットのフラグを見直す手段と、
コピーされていないデータ・セットを見つけるために前記フラットファイルを検索する手段とをさらに備える、上記（１１）に記載のシステム。
（１６）各データ・セットのタイムスタンプに基づいて前記第１記憶装置からデータを取り除くステップが、ＬＲＵアルゴリズムを使用することを含む、上記（１１）に記載のシステム。
（１７）前記フラグおよび前記タイムスタンプが、各データ・セットに関連付けられたトークン内で維持される、上記（１１）に記載のシステム。
（１８）各データ・セットに関連付けられた前記フラグおよび前記タイムスタンプが、前記第１および第２記憶装置のファイル・システム内で維持される、上記（１１）に記載のシステム。
（１９）前記第１および第２記憶装置がＤＡＳＤキャッシュを含む、上記（１１）に記載のシステム。
（２０）前記第１および第２記憶装置が、第３および第４記憶ライブラリそれぞれに対する高速キャッシュとして機能する、上記（１９）に記載のシステム。
（２１）前記第１および第２記憶装置が、前記同じデータ・セットを維持する複数の相互接続された記憶装置を有する環境内に配置された２つの記憶装置である、上記（１１）に記載のシステム。
（２２）２つの記憶装置内のデータを維持するコードを含む製品であって、前記データが複数のデータ・セットからなり、
前記データ・セットが第２記憶装置にコピーされたかどうかを示す各データ・セットに対するフラグを第１記憶装置内で維持すること、
各データ・セットに対するタイムスタンプを維持すること、
各データ・セットが修正または新しく作成されるときに前記データ・セットをコピーされていないデータ・セットとしてフラグを付けること、
ある期間を加えることによって、前記コピーされていないデータ・セットに対するタイムスタンプを修正すること、および
各データ・セットのタイムスタンプに基づいて、前記第１記憶装置からデータを取り除くこと、
ができるかまたは少なくとも１つのコンピュータに実行させる少なくとも１つの組込まれたコンピュータ・プログラムを中に含むコンピュータ使用可能媒体を備える製品。
（２３）前記コピーされていないデータ・セットを前記第１記憶装置から前記第２記憶装置にコピーすること、
前記コピーされていないデータ・セットのフラグを、前記データ・セットがコピーされたことを示すように変更すること、
前記期間を減算することによって、前記コピーされていないデータ・セットに対するタイムスタンプを修正すること
をさらに実行する、上記（２２）に記載の製品。
（２４）前記コピーされていないデータ・セットをコピーすることが、前記第１および第２記憶装置の両方の上でデータを同期させる処理中に実行される、上記（２３）に記載の製品。
（２５）前記第１および第２記憶装置がピアツーピア環境にある、上記（２２）に記載の製品。
（２６）各データ・セットのフラグをフラット・ファイル内に置くこと、
前記フラット・ファイルからの各データ・セットのフラグを見直すこと、および
前記コピーされていないデータ・セットを見つけるために前記フラットファイルを検索すること
をさらに実行する、上記（２２）に記載の製品。
（２７）各データ・セットの前記タイムスタンプに基づいて前記第１記憶装置からデータを取り除くステップが、ＬＲＵアルゴリズムを使用することを含む、上記（２２）に記載の製品。
（２８）前記フラグおよび前記タイムスタンプが各データ・セットに関連付けられたトークン内で維持される、上記（２２）に記載の製品。
（２９）各データ・セットに関連付けられた前記フラグおよび前記タイムスタンプが、前記第１および第２記憶装置のファイル・システム内で維持される、上記（２２）に記載の製品。
（３０）前記第１および第２記憶装置がＤＡＳＤキャッシュを含む、上記（２２）に記載の製品。
（３１）前記第１および第２記憶装置が、第３および第４記憶ライブラリそれぞれに対する高速キャッシュとして機能する、上記（３０）に記載の製品。
【図面の簡単な説明】
【図１】好ましい諸実施形態が実施されるコンピューティング環境を示すブロック図である。
【図２】本発明の好ましい諸実施形態による、データにアクセスするために使用されるトークン・データベース・レコードを示す図である。
【図３】本発明の好ましい諸実施形態による、コピーされていないボリュームをＤＡＳＤキャッシュ内に優先的にキャッシュするためのロジックを示す図である。
【図４】本発明の好ましい諸実施形態による、ピアツーピア環境内の１つの仮想テープ・サーバから他方にボリュームをコピーするためのロジックを示す図である。
【図５】本発明の好ましい諸実施形態による、仮想テープ・サーバを初期化する特別なマイクロコード内のロジックを示す図である。
【符号の説明】
２ａ  ホスト・コンピュータ
２ｂ  ホスト・コンピュータ
４  仮想テープ・コントローラ
６ａ  仮想テープ・サーバ
６ｂ  仮想テープ・サーバ
８ａ  直接アクセス記憶装置
８ｂ  直接アクセス記憶装置
１０ａ  テープ・ライブラリ
１０ｂ  テープ・ライブラリ
【図１】
0003808007.tif 000002
【図２】
0003808007.tif 000003
【図３】
0003808007.tif 000004
【図４】
0003808007.tif 000005
【図５】
0003808007.tif 000006