(57)【要約】ネットワーク上に配置されたバーチャルテープ（ＶＴ）サーバは、オープンシステム環境の中で、フロントエンド上において複数の異種のバックアップホストに接合可能であって、異なったオペレーティングシステム及び／又はバックアップアプリケーションを有し、バックエンド上において一つ又はそれ以上のディスクスストレージデバイスに接合可能である。上記ＶＴサーバは、意図されたテープストストレージデバイスであるかのように上記バックアップホストにより送付されたストレージコマンドに応答し、その後、一又は一以上のディスクストレージデバイス上で所望のテープストレージ動作をエミュレートする。記載された実施例において、ホスト及びサーバはＳＣＳＩイニシエータとして機能し、ファイバーチャンネル接合を介して通信する。
2006518517.tif 000002
【特許請求の範囲】
【請求項１】
バックアップ・データを、１つまたは複数の識別されたターゲット・テープ記憶装置に転送するために、オープン・システム環境において不定数の異種のホストからイニシエータ・コマンドを受け入れるステップと、
不定数のディスク記憶装置を用いて、前記識別されたターゲット・テープ記憶装置をエミュレートすることで、前記イニシエータ・コマンドを実行するステップと、
を含む、バックアップ・データを処理する方法を、コンピュータにロードされているときに前記コンピュータに実施させるプログラム・コード手段を含むコンピュータ・プログラム製品。
【請求項２】
オープン・システム環境においてバックアップ・データを処理する方法であって、
バックアップ・データを、１つまたは複数の識別されたターゲット・テープ記憶装置に転送するために、オープン・システム環境において不定数の異種のホストからイニシエータ・コマンドを受け入れるステップと、
不定数のディスク記憶装置を用いて、前記識別されたターゲット・テープ記憶装置をエミュレートすることで、前記イニシエータ・コマンドを実行するステップと、
を含む方法。
【請求項３】
オープン・システム環境においてバックアップ・データを処理する仮想テープ・サーバーであって、
オープン・システム環境において不定数の異種のホストに接続できる拡張可能なフロントエンドと、
不変数のディスク記憶装置に接続できる拡張可能なバックエンドと、
１つまたは複数のターゲット・テープ記憶装置を識別するイニシエータ・コマンドを、前記異種のホストから受け入れて、前記ディスク記憶装置を用いて、前記識別されたターゲット・テープ記憶装置をエミュレートすることで、前記イニシエータ・コマンドを実行する手段と、
を備える仮想テープ・サーバー。
【請求項４】
ネットワーク上にあって、１つまたは複数のディスク記憶装置に接続でき、かつ、オープン・システム環境において複数の異種のバックアップ・ホストに同時に接続できる仮想テープ（ＶＴ）サーバーであって、前記ホストから送られたイニシエータ・テープ・ストレージ・コマンドを受け取るＶＴサーバーと、
ターゲット・テープ記憶装置用のイニシエータ・テープ・ストレージ・コマンドを送る少なくとも１つのバックアップ・ホストと、
を備える、バックアップ・データを保存する方法であって、
前記ＶＴサーバーが、前記イニシエータ・テープ・ストレージ・コマンドを透過的に受け入れて、前記ＶＴサーバーが前記ターゲット装置であるかのように応答し、また、前記イニシエータ・テープ・ストレージ・コマンドをディスク・ストレージ・コマンドに変換して、前記ディスク・ストレージ・コマンドを、前記１つまたは複数のディスク記憶装置を用いて実行することで、前記ターゲット装置をエミュレートする方法。
【請求項５】
コンピュータで実現される仮想テープ・ストレージ・システムであって、
オープン・システム環境において不定数の異種のホストに接続できる拡張可能なフロントエンドと、
不変数のディスク記憶装置に接続できる拡張可能なバックエンドと、
ともに、前記ホストからテープ・ストレージ・コマンドを受け入れて、前記テープ・ストレージ・コマンド中で識別されたテープ記憶装置を、前記１つまたは複数のディスク記憶装置を用いてエミュレートすることで、前記テープ・ストレージ・コマンドを実行するターゲット・エミュレータとコマンド・コンバータと、
を含む仮想テープ・ストレージ・システム。
【請求項６】
前記テープ・ストレージ・コマンドがＳＣＳＩ（Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ Ｓｙｓｔｅｍ Ｉｎｔｅｒｆａｃｅ）コマンドである請求項５に記載のシステム。
【請求項７】
前記ＳＣＳＩコマンドが、ファイバ・チャネル（ＦＣ）伝送に適している請求項６に記載のシステム。
【請求項８】
前記テープ記憶装置が、テープ・ライブラリとテープ・ドライブの一方または両方を含む請求項５に記載のシステム。
【請求項９】
前記１つまたは複数のディスク記憶装置が、ディスク・ドライブとディスク・アレイの一方または両方を含む請求項５に記載のシステム。
【請求項１０】
前記ホストが、ＵｎｉｘとＷｉｎｄｏｗｓを含む複数のオペレーティング・システムを含む請求項５に記載のシステム。
【請求項１１】
前記ホストの少なくとも１つがバックアップ・アプリケーションを持ち、前記バックアップ・アプリケーションが、前記テープ・ストレージ・コマンドを出し、かつ、バックアップ作業に対して、ただ１つの管理・制御点として役立つ請求項５に記載のシステム。
【請求項１２】
仮想テープ（ＶＴ）サーバー上にある請求項５に記載のシステム。
【請求項１３】
前記ＶＴサーバーが、ＳＣＳＩテープ・ストレージ・コマンドを受け入れる請求項１２に記載のシステム。
【請求項１４】
前記ＶＴサーバーが、前記エミュレートされるテープ装置を表わすモデルを含む請求項１２に記載のシステム。
【請求項１５】
前記モデルが、ロボティックスとテープ・カートリッジを含むテープ・ライブラリを記述する（descrive）請求項１４に記載のシステム。
【請求項１６】
前記モデルが、テープ・オブジェクトとロボット・オブジェクトを含む請求項１４に記載のシステム。
【請求項１７】
前記ＶＴサーバーが、ＳＣＳＩターゲットとして働く請求項１２に記載のシステム。
【請求項１８】
前記ターゲット・エミュレータが、それ自体、ＳＣＳＩストリーム装置、あるいは、ＳＣＳＩ媒体チェンジャとして識別される請求項１７に記載のシステム。
【請求項１９】
論理ユニット番号（ＬＵＮ）を用いてテープ記憶装置に宛てられるＳＣＳＩテープ・ストレージ・コマンドを、前記ＶＴサーバーが受け取る請求項１８に記載のシステム。
【請求項２０】
前記エミュレートされたテープ装置を表わすエミュレーション・データをさらに含む請求項５に記載のシステム。
【請求項２１】
前記エミュレーション・データが、設定情報、ロボット・メールボックス、ビン・メールボックス、テープ・メールボックス、インポート／エクスポート・メールボックス、共用メールボックスのようなフィールドの１つまたは複数を含むデータ構造を持っている請求項２０に記載のシステム。
【請求項２２】
前記エミュレーション・データが、設定情報、カートリッジ・ディレクトリ、カートリッジ・データのようなフィールドの１つまたは複数を含むデータ構造を持っている請求項２０に記載のシステム。
【請求項２３】
前記ホストに透過的なやり方で、チャネル・ネットワーク接続を介して、異種のホストからテープ・ストレージ・コマンドを受け入れるステップと、
テープ・ストレージ・コマンドを受け取ると、エミュレートされるテープ記憶装置用の記憶位置を記録して、前記テープ・ストレージ・コマンドに関連するデータを、ディスク記憶装置に保存するステップと、
を含む方法をコンピュータに実行できるようにするコンピュータ読取り可能な命令が入っているコンピュータ読取り可能な媒体。
【請求項２４】
テープ記憶装置をエミュレートする方法であって、
オープン・システム環境において、ネットワーク・チャネルを介して、指定されたテープ記憶装置用のバックアップ・コマンドを、ホストから仮想テープ・サーバーにて受け取るステップと、前記仮想テープ・サーバーに、前記指定されたテープ記憶装置として前記バックアップ・コマンドを受け入れさせて、前記バックアップ・コマンドを、ディスク記憶装置用のコマンドに変換させるステップと、
前記変換されたコマンドに従って、前記バックアップ・コマンドのデータ構成要素を前記ディスク記憶装置に保存するステップと、
エミュレートされるテープ記憶装置として保存されたデータ用の記憶位置を記録するステップとを含む方法。
【請求項２５】
オープン・システム環境ネットワーク上で、ホストからテープ記憶装置に対する要求を受け入れる命令と、
テープ・カートリッジの論理アドレスにてデータを要求するか、あるいは、データを収める、前記テープ記憶装置に対する要求を処理する命令と、
前記論理アドレスに対応する記録された場所にて、前記データをディスク記憶装置に保存する／ディスク記憶装置から取り出す命令と、
を含む、コンピュータ上で実行されるソフトウェアを含む仮想テープ・ライブラリ。
【請求項２６】
オープン・システム環境において、「ファイバ・チャネル」接続を介して仮想テープ（ＶＴ）サーバーに接続されている、バックアップ・アプリケーションを持つ複数の異種のバックアップ・ホストと、
前記ＶＴサーバーに接続されている１つまたは複数の物理ディスク記憶装置と、
を備える、バックアップ・データを保存するシステムであって、
ＶＴプログラムを含む前記ＶＴサーバーが、
論理アドレスにより識別されたターゲット・テープ記憶装置向けのホスト・バックアップ・イニシエータ・ストレージ・コマンドを透過的に受け入れて、前記ストレージ・コマンドに応答し、かつ、
前記テープ・ストレージ・コマンドをディスク・ストレージ・コマンドに変換して、バックアップ・データ、および、前記識別されたテープ記憶装置を表わすエミュレーション・データを、前記１つまたは複数の物理ディスク記憶装置に保存できるようにするシステム。
【請求項２７】
オープン・システム環境において、異種のホストからイニシエータ・コマンドを受け入れて、データをバックアップし、復元するステップと、
１つまたは複数のテープ装置を、ディスク記憶装置のプールを用いてエミュレートすることで、前記イニシエータ・コマンドをターゲットとして実行するステップと、
を含む方法を実施するための命令持つコンピュータ・プログラム。
【請求項２８】
オープン・システム環境において接続されたバックアップ・サーバーと仮想テープ（ＶＴ）サーバーを備え、
前記バックアップ・サーバーが、バックアップ作業に対して、ただ１つの管理点を提供するバックアップ・アプリケーションを含み、また、
前記ＶＴサーバーが、前記バックアップ・サーバーから受け取られたバックアップ管理要求を受け入れて、実行し、しかも、前記要求には、１つまたは複数のディスク記憶装置を用いて、１つまたは複数のテープ・ドライブ装置またはテープ・ライブラリ装置をエミュレートする処理が含まれるデータ・バックアップ用のシステム。
【請求項２９】
オープン・システム環境において、バックアップ・サーバーと仮想テープ（ＶＴ）サーバーを提供するステップと、
データを中間キャッシュ・ストレージに保存せずに、ＶＴサーバーを介してホストから物理ディスク記憶装置へ直接に、前記データのストリーミングを行うステップと、
を含む、バックアップ作業を行う方法。
【請求項３０】
前記ＶＴサーバーと前記ディスク記憶装置が、アクティブ・バックアップ・データ用の一次ストレージとして役立ち、また、物理テープ記憶装置が、前記バックアップ・データ用の二次ストレージとして役立つ請求項２９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
２００３年２月５日出願の米国非暫定出願第１０／３５８，３５０号
【０００２】
本発明は、テープ・ストレージ（テープ装置、ｔａｐｅ ｓｔｏｒａｇｅ）をエミュレートするシステムおよび方法に関する。
【背景技術】
【０００３】
データ・バックアップは、あらゆる編成において、データ保護処理の不可欠な要素である。歴史的にみても、データ・バックアップは、データ・バックアップ・コピーをテープ記憶装置に送るものであった。急激なデータ増加、縮小するバックアップ・ウインドウ（処理時間帯）、異種のプラットフォームやアプリケーション（オープン・システム環境）、および、上昇するダウンタイム費用は、今日、ＩＴ管理者が直面しているデータ・ストレージの課題の一部である。その結果、データ・バックアップは、今日、一般にＩＴ管理者にとって一番のストレージ問題となっている。
【０００４】
図１に示される伝統的なバックアップ・システム・アーキテクチャ１０は、バックアップ・サーバー１４上にあって、かつバックアップ処理に対しても、関連テープ・ハードウェアに対しても、管理・制御点として働くバックアップ・アプリケーションを持っている。バックアップ・サーバー１４は、一般に、ローカル・エリア・ネットワーク（ＬＡＮ）１６上に設けられており、そこでは、バックアップ・サーバー１４が複数のローカル・ホスト（例えば、データ・バックアップを必要とするＰＣおよび他のサーバー（図示されてない））、およびテープ・ライブラリ１８に接続されている。しかしながら、異なるオペレーティング・システム、ストレージ・システム、アプリケーションにそれぞれが対応する異なる様々なバックアップ・アプリケーションが、今日、様々なベンダーから入手できる。これらの様々なバックアップ・アプリケーションを、ホストが異種であって、またテープ・ストレージ・システムが異種であるオープン・システム環境に組み入れることが、重要な課題である。
【０００５】
異なるシステムを統合する難しさとは別に、テープへのバックアップおよびテープからのリカバリは、それ自体、本来、手間がかかり、複雑で、しかも誤りやすい処理である。テープへのバックアップの成功率は、９５％〜９９％の範囲にある。バックアップよりも頻繁でないが、非常に重要な作業であるテープからのリカバリでは、その成功率は、さらに低い。テープのバックアップおよびリカバリの管理にかかわる運用費用は、そのシステムの複雑さと、データ量が増すにつれて、上昇し続ける。
【０００６】
以上の問題の結果として、新たなデータ保護方式が提案されている。或る手法は、ディスク・ベースのキャシュ（一般に、アプリケーション・データに使用される高価な一時記憶形式）を統合して、バックアップ性能を向上させ、かつリカバリ時間を短縮することである。別の手法は、データ・バックアップに、ディスク・ベースのライブラリ・ストレージを利用することであるが、この手法もまた、テープ・ストレージよりも費用のかかる代替手法である。システムのなかには、ディスク記憶装置を用いて、テープ記憶装置をエミュレートするものもある。メインフレーム（専用のホストおよび記憶装置）環境において常用されるこのような１エミュレーション・システムでは、テープ要求を、ホスト・サーバーでつかまえて、それをディスク要求に変換して、変更されてない磁気ディスク記憶装置が、磁気テープ記憶装置をエミュレート（仮想磁気テープ記憶装置として働く）できるようにしている。
【０００７】
これらの新たな手法は、伝統的なテープ・ベースのバックアップおよびリカバリ方法の問題の一部を解決しながらも、これらの手法自体の問題を発生させた。これらの新たな手法の多くは、オープン・システム環境の様々な既存のバックアップ・アプリケーションおよび手法に完全には組み入れられない。一部の手法は、新たなシステム・ハードウェア、並びに、ソフトウェアも必要とする。他の手法は、一次（高価で、高性能な）ストレージ・ディスク・アレイ中に、追加のディスク・スペースを必要とし、費用がかかりすぎる。さらに、これらの手法の多くは、バックアップ・データの処理を強化せず、もっと適切に言えば、データセンタで処理されるデータの一部しか適さない隙間的な（ｎｉｃｈｅ）ソリューションである。
【０００８】
テープ・ストレージがデータ・バックアップの中心を成しているが、ディスク・ストレージは、アプリケーション・ストレージ（すなわち、一次ストレージ）の中心を成しており、データへのより高速なアクセスを必要とする。したがって、伝統的なディスク・アレイは、アプリケーション・ストレージ性能に関して最適化されている。これらのストレージ・アレイは、データ可用性（データ・アベイラビリティ）のためのＲＡＩＤアーキテクチャ、全データ・アレイの信頼性のための冗長サポート・システム、高スループットをサポートする広帯域チャネル、および、入出力（Ｉ／Ｏ）待ち時間を短縮するキャッチング（caching）を含む。アプリケーション・ストレージ・アレイはまた、システム動作にとって重要であるために、システム動作を中断せずに、冗長構成要素（ディスク自体を含む）を取り外し、取り換えできるように設計されている（「ホット・スワップ」機能と呼ばれる）。アプリケーション・ストレージ・アレイは、その複雑さが増す結果、一般に、ＲＡＷ（生の）ディスク・スペースの量の少なくとも１０倍の費用がかかる。
【０００９】
ほとんどのデータ保護アプリケーション、具体的に言えばバックアップでは、これらの設計の複雑さの多くが必要ではない。さらに、いつでも全データ・アレイが利用できるように、アプリケーション・ストレージ・システムを設計しなければならないとはいえ、ほとんどのデータ保護アプリケーションは、そのデータのほんの一部（例えば、１０パーセント以下）が、どんなときでも使用可能であることを求めている。
【００１０】
図２は、ディスク・ストレージとテープ・ストレージを両方とも含む向上したバックアップ・アーキテクチャ２０を示している。この略図では、複数のホスト２１（例えば、コンピュータ）が、ＬＡＮ２２を介して接続されている。複数のサーバー２４、例えば、アプリケーション・サーバー２５、電子メール・サーバー２６、ｗｅｂサーバー２７、および、バックアップ・アプリケーション２９があるバックアップ・サーバー２８が、ＳＣＡＮ（Ｓｔｏｒａｇｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）３０を介して接続されており、かつＬＡＮ２２にも接続されている。バックアップ・サーバー２８と、バックアップ・データ用のターゲットとして役立つディスク・ライブラリ３８のそれぞれ、および、アーカイブ・データ用のターゲットとして役立つテープ・ライブラリ３６との間に、データパス３２、データパス３４、データパス３５がある。このタイプのシステムは、バックタイム時間を短縮し、かつ／または、所与のバックアップ・ウインドウ内で、バックアップの信頼および達成（成功率）を高めるために、特別に構築されてきた。しかしながら、特に、異なる様々なベンダーの機器を含むオープン・システム環境において、このようなアーキテクチャを拡張できる能力が制限される。
【００１１】
したがって、容量、性能、可用性、費用、互換性、単純さ、スケーラビリティ（拡張性）といった特性の一部（好ましくは、全部）をより経済的に組み合わせた特性を持つバックアップ・データ保護システムを提供する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明に合致した様々なシステムおよび方法の実施例では、ネットワーク上にある仮想テープ・ストレージ・コンピュータ（ＶＴサーバー）は、データ・ストレージ・バックアップ・アプリケーション（１つまたは複数）がある複数のホストに接続できるフロントエンドと、１つまたは複数のディスク記憶装置に接続できるバックエンドを持っている。このＶＴサーバーは、本明細書に述べられるように、複数の異種のバックアップ・ホスト（例えば、オペレーティングシステムおよび／またはバックアップ・アプリケーションが異なるもの）に同時に接続できるようにするオープン・システム環境において動作できる。これらのホストは、ＶＴサーバーで受け取られるテープ記憶装置向けのデータ・バックアップ・コマンドを起動する。このＶＴサーバーは、目的とするテープ記憶装置であるかのように応答し、次に、１つまたは複数のディスク記憶装置上で、所望のテープ・ストレージ動作をエミュレートする。
【００１３】
このような一実施例では、コンピュータで実現される仮想テープ・ストレージ・システムは、オープン・システム環境において不定数の異種のホストに接続できる拡張可能なフロントエンドと、不変数のディスク記憶装置に接続できる拡張可能なバックエンドと、ともに、これらのホストからテープ・ストレージ・コマンドを受け入れて、テープ・ストレージ・コマンド中で識別されたテープ記憶装置を、これらのディスク記憶装置の１つまたは複数を用いてエミュレートすることで、テープ・ストレージ・コマンドを実行するターゲット・エミュレータとコマンド・コンバータとを含む。
【００１４】
他の実施例では、ＶＴサーバーは、イニシエータ・ホストから送られたデータ・ストレージ・コマンドとデータを受け取って、実行し、また、これらのコマンドとデータは、ターゲット・テープ記憶装置向けのものであって、「ファイバ・チャネル（ＦＣ）」接続などのリンクまたはチャネルを介して送られる。ＶＴサーバー上にあるＶＴプログラムは、特定のターゲット・テープ記憶装置（例えば、論理アドレスにより識別される）向けのイニシエータ・ストレージ・コマンド（例えば、ＳＣＳＩコマンド）を透過的に受け入れるデバイス・ドライバを含む。このＶＴプログラムはさらに、ターゲット・エミュレータとコマンド・コンバータも含む。このターゲット・エミュレータとコマンド・コンバータはともに、上記のストレージ・コマンドの有効性を確認して、これらのストレージ・コマンドをディスク・ストレージ・コマンドに変換する。最後に、バックアップ・データ（イニシエータ・ホストからのもの）と、このエミュレートされるテープ装置を表わすデータが、１つまたは複数のディスク記憶装置に保存される。
【００１５】
他の実施例では、オープン・システム環境において接続されたバックアップ・サーバーと仮想テープ（ＶＴ）サーバーとを含むシステムが、データ・バックアップ用に提供されており、上記バックアップ・サーバーが、バックアップ作業に対して、ただ１つの管理・制御点を提供するバックアップ・アプリケーションを含み、また、上記ＶＴサーバーが、上記バックアップ・サーバーから受け取られたバックアップ・コマンドを受け入れて、実行し、しかも、その実行には、１つまたは複数のディスク記憶装置を用いて、１つまたは複数のテープ記憶装置をエミュレートする処理も含まれる。
【００１６】
他の実施例では、バックアップ・サーバーから、テープ記憶装置用のコマンドを受け取って、その要求されたテープ・ストレージを、１つまたは複数の物理ディスク記憶装置上のストレージを用いてエミュレートすることで応答するＶＴサーバーと、バックアップ・サーバーとをオープン・システム環境において提供することと、テープ記憶装置向けのデータを中間キャッシュ・ディスク記憶装置に保存せずに、１つまたは複数のホストから、１つまたは複数の物理ディスク記憶装置へ直接に、そのデータのストリーミングを実現することを含む方法が、バックアップ作業を行うために提供される。
【００１７】
他の実施例では、テープ記憶装置をエミュレートする方法は、オープン・システム環境において、ネットワーク・チャネルを介して、指定されたテープ記憶装置用のバックアップ・コマンドを、ホストから仮想テープ・サーバーに送って、その仮想テープ・サーバーに、それが上記の指定されたテープ記憶装置であるかのように、そのバックアップ・コマンドを受け入れさせて、そのコマンドを、ディスク記憶装置用のコマンドに変換させること、このコマンドのデータ成分を、ディスク記憶装置に保存し／ディスク記憶装置から取り出すこと、および、エミュレートされるテープ記憶装置として保存されたデータ用の記憶位置を記録することを含む。
【００１８】
他の実施例では、ネットワーク接続を介して、異種のホストから、指定されたテープ記憶装置用のＳＣＳＩバックアップ・テープ・ストレージ・コマンドを透過的に受け入れるステップ、これらのＳＣＳＩバックアップ・テープ・ストレージ・コマンド（１つまたは複数）に関連するデータを、ディスク記憶装置に保存するステップ、および、エミュレートされるテープ記憶装置などのデータ用の記憶位置を記録するステップを含む方法が、テープ・ストレージをエミュレートするために提供される。
【００１９】
他の実施例では、プログラム命令を持つ少なくとも１つのメモリと、これらのプログラム命令を実行して、ネットワーク接続を介して、異種のホストから、指定されたテープ記憶装置用のＳＣＳＩバックアップ・テープ・ストレージ・コマンドを透過的に受け入れる動作、これらのＳＣＳＩバックアップ・テープ・ストレージ・コマンドに関連するデータを、ディスク記憶装置に保存する動作、および、エミュレートされるテープ記憶装置などのデータ用の記憶位置を記録する動作を行うように構成された少なくとも１つのプロセッサを含む装置が、テープ・ストレージをエミュレートするために提供される。
【００２０】
他の実施例では、ネットワーク接続を介して、異種のホストから、指定されたテープ記憶装置用のＳＣＳＩバックアップ・テープ・ストレージ・コマンドを透過的に受け入れる手段、これらのＳＣＳＩバックアップ・テープ・ストレージ・コマンド（１つまたは複数）に関連するデータを、ディスク記憶装置に保存する手段、および、エミュレートされるテープ記憶装置などのデータ用の記憶位置を記録する手段を含む装置が、テープ・ストレージをエミュレートするために提供される。
【００２１】
他の実施例では、ネットワーク接続を介して、異種のホストから、ＳＣＳＩバックアップ・テープ・ストレージ・コマンドを透過的に受け入れるステップ、これらのＳＣＳＩバックアップ・テープ・ストレージ・コマンド（１つまたは複数）に関連するデータを、ディスク記憶装置に保存するステップ、および、エミュレートされるテープ記憶装置などのデータ用の記憶位置を記録するステップを含む、テープ・ストレージをエミュレートする方法を行うために、コンピュータ・システムを制御する命令が収納されているコンピュータ読取り可能な媒体が提供される。
【００２２】
他の実施例では、コンピュータ・プログラムは、データをバックアップし、復元するために、オープン・システム環境において、異種のホストからイニシエータ・コマンドを受け入れるステップと、１つまたは複数のディスク記憶装置を用いて、１つまたは複数のテープ記憶装置をエミュレートすることで、これらのイニシエータ・コマンドをターゲットとして実行するステップとを含む方法を行う命令を持っている。
【００２３】
本願に述べられる様々な実施例では、与えられる方法ステップの順序または装置要素の配置構成は、特に、その指定がない限り、限定することはない。
【発明を実施するための最良の形態】
【００２４】
次に、本発明に合致した様々な実施例を述べる。これらの方法およびシステムは、本発明を例示するものであって、例えば、容量、性能、可用性、費用、互換性、単純さ、スケーラビリティ（拡張性）に関して、恩恵を様々に組み合わせたものを提供する。
【００２５】
一実施例により、図３は、ＵｎｉｘとＮＴ混成の複数のコンピュータ・ホスト４１、４２、４３、４４を接続するＬＡＮネットワーク４０を含むオープン・システム環境を示している。これらのホストはまた、記憶装置の共用ネットワークを含むストレージ・エリア・ネットワーク（ＳＡＮ）４６にも接続されている。ＳＡＮは、「仮想ストレージ・プール」４８として図式的に示されているものに接続されている。この仮想ストレージ・プールは、ディスク・ベースの記憶装置と、このディスク・ストレージを利用してテープ・ストレージをエミュレートするシステムとを含む。該プールは、バックアップとリカバリのオープンシステム環境に完全に組み入れられることもある。「完全に組み入れられる」とは、ディスク・ベースの記憶装置を含め、ＩＴインフラのホスト・バックアップ・アプリケーション、ドライバ、または他の構成要素に、重大な変更（特定のソフトウェアまたは設定）をまったく加える必要はないことを意味する。
【００２６】
仮想ストレージ・プールは、以下に述べられる少なくとも１つの仮想テープ・ライブラリ（ＶＴＬ）サーバーを用いて構築されることもある（一例において）。このＶＴＬサーバーは、異種のホストからバックアップ・テープ・コマンドを受け取るものであって、本質的に異なるシステム中に、テープ・ストレージの仮想プールを透過的に生成するために、１つまたは複数のディスク記憶装置に接続できる。これにより、ユーザは、同一のストレージ・プール中に、様々なベンダーのテープ装置をエミュレートすることができる。本明細書に使用されるテープ装置は、テープ・ライブラリ、テープ・ドライブ、または他のテープ・ベースの記憶装置などのテープ記憶装置を意味する。具体的な例として、Ｑｕａｎｔｕｍ（商標）ＤＬＴ７０００テープ・ドライブと、ＡＴＬ Ｐ３０００自動化テープ・ライブラリがある。
【００２７】
ＶＴＬサーバーにより、異なるオペレーティング・システムと、異なるバックアップ・アプリケーションを実行する複数の異種のホストは、様々なベンダーのディスク装置に同時に接続できる。ディスク装置は、ディスク・ドライブまたはディスク・アレイなどのディスク記憶装置を意味する。このようなディスク装置は、ＡＴＡベースのディスク・アレイ（新しい低コスト・ディスク技術）を含め、ＥＭＣ（商標）、ＨＰ（商標）、ＩＢＭ（商標）などから入手できる。ディスク・アレイの特定の例は、ＥＭＣ Ｓｙｍｍｅｔｒｉｘ（商標）５．５である。
【００２８】
バックアップ・アプリケーション・ホストが、特定のテープ記憶装置宛てにバックアップ・コマンドを送るときには、ＶＴＬサーバーは、それ（ＶＴＬサーバー）が、宛先のテープ記憶装置であるかのように、ホストに応答し、次に、その要求されたテープ作業を、このディスク装置の１つまたは複数を用いてエミュレートする。ＶＴＬサーバーとのやり取りに基づいて、このホストは、宛先のテープ記憶装置上でバックアップのトランザクションが行われていると思っている。
【００２９】
このオープン・システム環境では、複数のホストが、複数のベンダーのオペレーティング・システム（例えば、ＵＮＩＸ、Ｗｉｎｄｏｗｓ ＮＴ）を実行していることがある。これらのホストはまた、複数のベンダーのバックアップ・アプリケーション（例えば、ＡｒｃＳｅｒｖｅ（商標）、ＮｅｔＢａｃｋｕｐ（商標）、Ｎｅｔｗｏｒｋｅｒ（商標）、ＴＳＭ（商標））も実行していることがある。本明細書で使用されるバックアップ・アプリケーションは、バックアップおよびリカバリ機能用のテープ管理を実現する。
【００３０】
仮想ストレージ・プールのさらに具体的な実施例が図４に示されている。図４は、「ファイバ・チャネル（ＦＣ）」ファブリック５２を介してＶＴＬサーバー５４に接続された複数のホスト５０を示している。次に、ＶＴＬサーバーは、「ファイバ・チャネル（ＦＣ）」リンク５６を介して、関連ディスク・ライブラリ・ユニット（ＤＬＵ）５８に接続される。ＶＴＬサーバーの「フロントエンド」５３は、「ファイバ・チャネル」ファブリック５２を介して複数のホスト５０に接続されており、複数のホスト・バックアップ・アプリケーションに拡張可能に接続する。ＶＴＬサーバーの「バックエンド」５５は、複数のディスク・ベースの記憶装置またはストレージ・アレイ５９を含むＤＬＵ５８に接続されている。
【００３１】
図５に示される他の実施例では、この場合も、複数のホスト７０が、ＦＣファブリック７２を介してＶＴＬサーバー７４に接続される。ただし、ここでは、ＶＴＬサーバーは、そのバックエンドが、複数の「ファイバ・チャネル」７６および７８を介して、複数のＤＬＵ８０、８２（ここでは、２つ）に接続される。この例では、ＶＴＬサーバー７４のバックエンド７５は、拡張可能に接続する。また、バックエンド７５は、いくつかのＤＬＵディスク・アレイを並行して利用できる。
【００３２】
図６に示されるさらに他の実施例では、複数のホスト９０は、ＦＣファブリック９２を介して、複数のＶＴＬサーバー９４、９８、１０２（ここでは、３つ）に接続される。次に、複数のＶＴＬサーバー９４、９８、１０２は、ＦＣファブリック１０６を介して、複数のディスク・ライブラリ・ユニット１０８、１１０（ここでは、２つ）に接続される。この例では、それぞれのＶＴＬサーバーのフロントエンド９３、９７、１０１と複数のホスト９０との間にも、また、それぞれのＶＴＬサーバーのバックエンド９５、９９、１０３と複数のＤＬＵ１０８、１１０との間にも、拡張可能な接続がもたらされる。
【００３３】
これらの実施例は、様々な異なるホストと、様々な異なるディスク記憶装置との間に、「仮想テープ・データ・ストレージ」と呼ばれるものを例示している。これにより、例えば、特定のバックアップ・アプリケーション・ホストに、特定のディスク・ドライブが割り当てられる場合には、専用ドライブが必要でなくなる。この例では、１つまたは複数のホストから、１つまたは複数のＶＴＬサーバーへ、また、１つまたは複数のテープ装置をエミュレートする１つまたは複数のディスク装置上へのデータのストリーミングは、同時に行うことができる。
【００３４】
これらの例において、ＶＴＬサーバーは、そのフロントエンドが、ホスト（１つまたは複数）に対して、互換性のあるテープ記憶装置の「仮想イメージ」を提供する。ＶＴＬサーバーはまた、そのバックエンドが、ディスク記憶装置（１つまたは複数）に対して、互換性のあるホストであるように思われる。
【００３５】
これらの例では、１つまたは複数のホストから、１つまたは複数の物理ストレージのディスク・ドライブまたはディスク・ライブラリへのデータのストリーミングを直接に行うことができる。「直接」とは、追加的なストレージ・システムおよびステップが、そのシステムの費用および／または複雑さを増大させがちとなる中間のハードディスク・アレイのステージングエリアがないことを意味している。さらに、バックアップ作業では、中間または第２の管理・制御点が追加されない。もっと適切に言えば、ホストからのバックアップ・アプリケーションは引き続き、バックアップ作業に対して、ただ１つの管理・制御点として役立っている。本明細書で用いられるバックアップ作業は、バックアップ作業とリカバリ作業を両方とも含む。
【００３６】
さらに、上述の実施例は、一次（高価、高性能）ストレージ・ディスク・アレイに、追加のディスク・スペースを必要としない。
【００３７】
他の恩恵は、ＶＴＬサーバーが、ｉｎｔｅｌ（商標）ベースのＬｉｎｕｘサーバーまたはＵｎｉｘサーバー（例えば、Ｄｅｌｌ（商標）の４６００サーバーやＳｕｎ（商標）のＳｏｌａｒｉｓ５．８サーバー）のような標準の既製サーバー上で実行できることである。
【００３８】
上述の実施例は、ハードディスク・アレイのステージングエリアを利用して、バックアップ性能を向上させ、かつ、データ・リカバリ時間を短縮する従来技術とは区別できる。これらの従来技術のシステムは、実際のバックアップ・トランザクションを、テープ・ライブラリから、そのステージングエリアにオフロードして、このバックアップ・データを、例えばＲＡＩＤキャッシュに入れて、その後の指定した時間に、そのデータをテープ・ライブラリに転送することになる。したがって、従来技術のシステムは、ホストから記憶装置に直接にデータを書込まずに、そのデータを、高速ＲＡＩＤキャッシュ・ディスクに書き込み、後で、バックアップされるデータとは完全に無関係な時点に（すなわち、そのバックアップ・ウインドウ内にはない）、そのデータを別の記憶装置に書き込むことができる。
【００３９】
例えば、ＩＢＭ（商標）やＳｔｏｒａｇｅＴｅｋ（商標）で販売されている、メインフレーム環境に用いられる仮想テープ・サーバーも区別できる。これらの仮想テープ・サーバーは、テープ・ライブラリ・ストレージの代りにはならないが、テープ・ドライブへのバッファとして働く中間ディスク・キャッシュを備え、かつ、テープ・ライブラリ・ストレージ・システムに対して、追加管理機能を備えることで、それらの機能を向上させる。
【００４０】
代りに、本発明に合致した一実施例では、これらのテープ・ライブラリは、変更可能な数の仮想テープ・ドライブと仮想テープ・カートリッジを持っている仮想テープ・ライブラリ（ＶＴＬ）ユニットに代えられる。このシステムは、テープ・ライブラリ・ユニット（ＴＬＵ）ロボティクス（ロボット、ｒｏｂｏｔｉｃｓ）と、変更可能な数のテープ・ドライブ装置を両方ともエミュレートすることができる。このシステムは、例えば、仮想テープ・カートリッジの数、仮想カートリッジのサイズ、保護レベル（ＲＡＩＤ）に関して、カスタマの要望を満たすように設定できる。
【００４１】
さらに、ＶＴＬシステムは、テープ・ドライブとテープ・ライブラリ・ユニットを透過的にエミュレートするＶＴＬサーバーを含む。ＶＴＬ仮想テープ・ドライブは、ＳＣＳＩコマンド（以下で、さらに詳しく述べられる）を通じて、ＳＣＳＩテープ・ドライブ装置として自己識別できる（例えば、そのベンダーＩＤはＱｕａｎｔｕｍであり、また製品ＩＤはＤＬＴ７０００である）。同様に、ＶＴＬ仮想テープ・ライブラリ・ユニットは、ＳＣＳＩコマンドを通じて、ＳＣＳＩテープ・ライブラリ・ユニットとして自己識別できる（例えば、そのベンダーＩＤはＱｕａｎｔｕｍであり、また製品ＩＤはＡＴＬ Ｐ３０００である）。したがって、ＶＴＬサーバーは、ホストには、指定された物理テープ記憶装置のような外観を呈する。
【００４２】
他の実施例が、図７と図８に示されている。これらの実施例の双方において、ローカル・サイトは、それぞれＶＴＬサーバー１２４、１４６と、それぞれディスク・ライブラリ・ユニット（ＤＬＵ）１２８、１５０を含み、これらは、アクティブ・バックアップ・データ用の一次（仮想ではあるが）ライブラリとして役立つ。双方の場合に、複数のホスト１２０、１４２は、ＦＣファブリック１２２、１４４を介して、ＶＴＬサーバー１２４、１４６（それぞれ）に接続され、また、ＶＴＬサーバー１２４、１４６は、ＦＣ１２６、１４８を介して、ＤＬＵ１２８、１５０（それぞれ）に接続されている。双方の場合の異なる点は、図７において、物理テープ・ライブラリ・ユニット（ＴＬＵ）１３０も、ＦＣファブリック１２２を介して接続されており、ＴＬＵ１３０が、データのオフサイト・アーカイブ保存（矢印１３４を参照）を可能にするために、データ・インポート／エクスポート装置として働くことである。ホスト１２０中のバックアップ・アプリケーション１２１は、ＤＬＵ１２８（仮想ストレージ・プール）に保存されたデータの媒体複写（ｍｅｄｉａ ｄｕｐｌｉｃａｔｉｏｎ）（矢印１３５、１３６を参照）を開始させて、制御し、次に、そのデータをＴＬＵ１３０に送って、アーカイブ保存する。次に、ＴＬＵ中の個々のテープ・カートリッジ１３１を物理的に取り外して（ロボティックス・アーム１３３を用いて）、オフサイト位置に移送して、オフサイト・アーカイブ保存（矢印１３４）を行うことができる。複写は、Ｖｅｒｉｔａｓ（商標）のＮｅｔＢａｃｋｕｐ、Ｌｅｇａｔｏ（商標）のＮｅｔＷｏｒｋｅｒなどのようなオープン・システムのバックアップ・アプリケーションにおける共通の機能である。
【００４３】
図８では、ローカル・サイト１４０は、アクティブ・バックアップ・データ用の一次（仮想）ライブラリとして、ＶＴＬサーバー１４６とＤＬＵ１５０を含む。リモート・ディザスタ・リカバリ・サイト（災害復旧サイト、ｄｉｓａｓｔｅｒ ｒｅｃｏｖｅｒｙ ｓｉｔｅ）１６０には、ＦＣファブリック１６４を介して、複数のホスト１６２に接続され、またＦＣリンク１６７を介してＤＬＵ１６８に接続された他のＶＴＬサーバー１６６が設けられている。ローカルＤＬＵ１６８とリモートＤＬＵ１５０との間のリモート・ミラーリング（矢印１７０を参照）を利用して、ローカル・サイト１４０にて失われたデータを、リモート・ディザスタ・リカバリ・サイト１６０から復旧する。
【００４４】
図９〜図１０は、オープン・システム環境においてディスク・ベースのテープ・エミュレーション・システム１８０として働くＶＴＬサーバーの、本発明に合致した特定の実施例を示している。図９は、ハードウェア構成要素の略図であるが、一方、図１０は、ソフトウェア構成要素の略図である。
【００４５】
図９に示されるように、ＮＴ（またはＵｎｉｘ）ホスト１８２は、「ファイバ・チャネル」１８４を介して、ＶＴＬサーバー１８８のフロントエンド１８６に接続されている。ＶＴＬサーバー１８８のバックエンド１９２は、「ファイバ・チャネル」１９４を介して、ディスク・ライブラリ・ユニット１９６に接続されている。ホスト１８２は、「ターゲット」テープ記憶装置にコマンドを出すときに、「イニシエータ」として働くバックアップ・アプリケーション１８３を含む。この実施例は、ＳＣＳＩ用の「ファイバ・チャネル・プロトコル（ＦＣＰ）」、第２バージョン（以後、ＦＣＰ−２）、米国標準規格専門委員会Ｔ１０、プロジェクト１１４４Ｄによって提案された規格案、改訂版８（２００２年９月２３日）（ｗｗｗ．ｔ１０．ｏｒｇにて入手できる）を利用している。この規格は、ＦＣ（ファイバ・チャネル）伝送標準を用いて、ＳＣＳＩ（Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ Ｓｙｓｔｅｍ Ｉｎｔｅｒｆａｃｅ）のイニシエータとターゲット間で、コマンドとデータを転送するためのフレーム形式とプロトコルを述べている。図９〜図１０の実施例をさらに説明する前に、ＳＣＳＩ規格とＦＣ規格の簡潔な要約が与えられる。
【００４６】
ＳＣＳＩ（Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ Ｓｙｓｔｅｍ Ｉｎｔｅｒｆａｃｅ）コマンド・セットは、今日、様々な装置タイプに広範に用いられている。「ファイバ・チャネル」リンク間のＳＣＳＩコマンドの伝送により、「ファイバ・チャネル（ＦＣ）」環境において、多数のＳＣＳＩアプリケーションおよびドライバ・ソフトウェアを使用できる。
【００４７】
ＦＣＰ−２は、多くの異なるタイプの物理インターコネクト間で、多くの異なるタイプの装置にＳＣＳＩコマンド・セットを容易に使用できるように、Ｔ１０により開発されたＳＣＳＩファミリの規格の一部である。ＳＣＳＩファミリの規格用のアーキテクチャ・モデルは、ＮＣＩＴＳプロジェクト１１５７０、情報技術−ＳＣＳＩアーキテクチャ・モデル２（ＳＡＭ２）に記述されている。
【００４８】
「ファイバ・チャネル（ＦＣ）」は、２６５Ｍビット／秒から４Ｇビット／秒までのデータ・レートにて、光接続あるいは電気接続を可能にする高速シリアル・アーキテクチャとして構築されている。ファイバ・チャネリングでサポートされるトポロジー（接続形態）には、ポイント・ツー・ポイント、ファブリック・スイッチ式（ｆａｂｒｉｃ ｓｗｉｔｃｈｅｄ）、調停ループのものがある。すべてのＦＣ接続は、同一の標準フレーム形式と標準階層の伝送ユニットを使用して、ＳＣＳＩ情報を載せた情報単位（ＩＵ）を送る。
【００４９】
「ファイバ・チャネル（ＦＣ）」は、論理的に、ポイント・ツー・ポイントのシリアルデータ・チャネルである。このアーキテクチャは、リアルタイムのソフトウェア管理をほとんど必要としない高性能のハードウェアを用いて構築されることがある。このＦＣプロトコルは、様々なＦＣサービス・クラスにより提供される多重化機能と共用帯域幅機能を利用して、このサービス・クラスとは別に、信頼できる誤り検出と誤り回復のオプションを与える。
【００５０】
ＦＣＰ−２は、ＮＣＩＴＳプロジェクト１３１１Ｄ「ファイバ・チャネルのフレーミングとシグナリングのインターフェース（ＦＣ−ＦＳ）」により定められるサービスを使用して、ＳＣＳＩイニシエータとＳＣＳＩターゲットとの間で、ＳＣＳＩコマンド、データ、ステータス情報を送る「ファイバ・チャネル」マッピング層（ＦＣ−４）を定義している。ＦＣＰ−２のうちの下記定義が、ここでは関連する。
３．１．６  アプリケーション・クライアント：ＳＣＳＩコマンドのソースであるオブジェクト。
３．１．９  コマンド：デバイス・サーバーにより実行される作業単位を表わす要求。
３．１．１２  データイン受渡しサービス：アプリケーション・クライアントへのデータの転送を要求するために、デバイス・サーバーで使用される確認サービス。
３．１．１３  データアウト受渡しサービス：アプリケーション・クライアントからのデータの転送を要求するために、デバイス・サーバーで使用される確認サービス。
３．１．１６  デバイス・サーバー：ＳＣＳＩタスクを実行して、タスク管理用のルールを施行する論理ユニット中のオブジェクト。
３．１．２０  「ＦＣＰ交換」：「ファイバ・チャネルＦＣ−２」層用のＳＣＳＩ Ｉ／Ｏ操作。このような「ファイバ・チャネル」用のＳＣＳＩ Ｉ／Ｏ操作は、「ファイバ・チャネル交換」に含まれる。
３．１．２１  ＦＣＰ Ｉ／Ｏ操作：ＦＣＰ−２に定義されるように、「ファイバ・チャネルＦＣ−４」層用のＳＣＳＩ Ｉ／Ｏ操作。
３．１．２２  ＦＣＰ＿Ｐｏｒｔ：「ＳＣＳＩファイバ・チャネル・プロトコル」をサポートするＮ＿ＰｏｒｔまたはＮＬ＿Ｐｏｒｔ。
３．１．２７  情報単位：「ファイバ・チャネル」サービス・インターフェースにより、ただ１つのシーケンスとして転送されるように、「ファイバ・チャネル」プロトコルで指定された編成済みのデータの集まり。
３．１．２８  イニシエータ：ターゲットＳＣＳＩ装置により処理される装置サービス要求とタスク管理機能を発生させるアプリケーション・クライアントを収めているＳＣＳＩ装置。この規格では、「イニシエータ」という語はまた、「ファイバ・チャネル」プロトコルを使用して、ＳＡＭ−２で定められるＳＣＳＩイニシエータ機能を果たすＦＣＰ＿Ｐｏｒｔもさす。
３．１．３１  論理ユニット：デバイス・モデルを構築して、アプリケーション・クライアントから送られたＳＣＳＩコマンドを処理するターゲット常駐エンティティ
３．１．３２  論理ユニット番号：論理ユニット用の６４ビット符号化識別子。
３．１．５４  ＳＣＳＩ装置：ＳＣＳＩコマンドを発生させるか、あるいはＳＣＳＩコマンドを処理する装置。
３．１．５５  ＳＣＳＩ Ｉ／Ｏ操作：ＳＣＳＩコマンド、一連のリンクされたＳＣＳＩコマンド、またはタスク管理機能により、定められる操作。
３．１．５８  ターゲット：ＳＣＳＩコマンドを受け取り、そのようなコマンドを、１つまたは複数の論理ユニットに指し向けて、実行するＳＣＳＩ装置。この規格では、「ターゲット」という語はまた、「ファイバ・チャネル」プロトコルを使用して、ＳＡＭ−２で定められるＳＣＳＩターゲット機能を果たすＦＣＰ＿Ｐｏｒｔもさす。
３．１．６０  タスク：１コマンド、あるいは１グループのリンクされたコマンドに関連する作業を表わす論理ユニット中のオブジェクト。
【００５１】
ＦＣ−ＦＳで表わされる「ファイバ・チャネル」物理層（ＦＣ−２層）は、ポート（ＦＣＰ＿Ｐｏｒｔと呼ばれる）からポートへとデータを転送するのに必要な機能を果たす。スイッチング・ファブリックにより、２つ以上のＦＣＰ＿Ｐｏｒｔの間でやり取りすることができる。調停ループ（ＦＣ−ＡＬ）は、このループ上の２つのポート間で、あるいは、このループ上の１つのポートと、このループに付けられたスイッチング・ファブリック上の１つのポートとの間で、やり取りできるようにする代替多重ポート・トポロジーである。
【００５２】
ＦＣＰ装置とタスク管理プロトコルは、ＳＣＳＩアーキテクチャ・モデル２（ＳＡＭ−２）において定められるＳＣＳＩ機能を、ＦＣ−ＦＳで定められる「ファイバ・チャネル」インターフェースにマッピングすることを定めている。ＳＡＭ−２で定められるＩ／Ｏ操作を、「ファイバ・チャネル」交換にマッピングする。ＳＣＳＩ Ｉ／Ｏ操作用の情報を載せた「ファイバ・チャネル」交換は、ＦＣＰ交換である。表１に示されるように、Ｉ／Ｏ操作の要求と応答の基本命令を、情報単位（ＩＵ）にマッピングする。
【表１】
2006518517.tif 000003
表１  −  ＳＣＳＩ機能と「ファイバ・チャネル」プロトコル機能
ＳＣＳＩ機能ＦＣＰ等価機能
Ｉ／Ｏ操作交換
プロトコル・サービスの要求と応答シーケンス
ＳＣＳＩコマンド要求を送る任意形コマンドＩＵ(FCP_CMND)
データ受渡し要求データ記述ＩＵ(FCP_XFER_RDY)
データ受渡し動作応答形データＩＵ(FCP_DATA)
コマンド完了応答の送出コマンド・ステータスＩＵ(FCP_RSP)
コマンド完了のＲＥＱ／ＡＣＫ確認ＩＵ(FCP_CONF)
【００５３】
アプリケーション・クライアントは、「コマンド実行」リモート手続き呼出し（ＳＡＭ−２を参照）を呼び出すことで、ＦＣＰ Ｉ／Ｏ操作を開始する。「コマンド実行」呼出しは、ただ１つの要求、あるいはリンクされた要求の１リストを、アプリケーション・クライアントから、ＦＣＰサービス受渡しサブシステムに運ぶ。それぞれの要求には、１つのＳＣＳＩコマンドにより転送されるデータのローカル・ストレージ・アドレスおよび特性を含め、そのコマンドの実行に必要なあらゆる情報が入っている。次に、ＦＣＰは、ＦＣ−ＦＳサービスを用いてＳＣＳＩコマンドを実行する以下の動作を行う。
【００５４】
このコマンド用のイニシエータであるＦＣＰ＿Ｐｏｒｔは、いくつかのコマンド・コントロール、アドレス指定情報、およびＳＣＳＩコマンド記述ブロック（ＣＤＢ）を含め、ＦＣＰ＿ＣＭＮＤ ＩＵのペイロードが入っている任意形コマンド（ｕｎｓｏｌｉｃｉｔｅｄ）ＩＵを送ることで、「交換」を開始する。
【００５５】
このコマンド用のデバイス・サーバーが、このコマンドの解読を完了して、書込みデータ転送を必要とすると判定していて、さらに、データ受渡しサービスを要求する準備ができているときには、このデバイス・サーバーは、ＦＣＰ＿ＸＦＥＲ＿ＲＤＹ ＩＵのペイロードが入っているデータ記述ＩＵを、そのイニシエータに送って、このデータのどの部分を転送すべきか指示する。次に、このイニシエータであるＦＣＰ＿Ｐｏｒｔは、ＦＣＰ＿ＸＦＥＲ＿ＲＤＹ ＩＵで要求されるＦＣＰ＿ＤＡＴＡ ＩＵのペイロードが入っているターゲットに、応答形データＩＵを送る。このデータ受渡し要求と、戻るペイロードは、ＳＣＳＩコマンドで要求されるデータ転送が完了するまで、継続する。
【００５６】
別法として、このコマンド用のデバイス・サーバーが、このコマンドの解読を完了して、読取りデータ転送を必要とすると判定したときには、そのターゲットであるＦＣＰ＿Ｐｏｒｔは、応答形データＩＵを、ＦＣＰ＿ＤＡＴＡ ＩＵのペイロードが入っているイニシエータに送る。ペイロードを含むデータ受渡しは、ＳＣＳＩコマンドで表わされるあらゆるデータを転送するまで、継続する。
【００５７】
すべてのデータが転送された後で、このデバイス・サーバーは、ＦＣＰ＿ＲＳＰ ＩＵのペイロードが入っているＩＵの伝送を要求することで、「コマンド完了送出」プロトコル・サービス応答（ＳＡＭ−２を参照）を送る。このペイロードには、ＳＣＳＩステータスと、そのＳＣＳＩステータスがＣＨＥＣＫ ＣＯＮＤＩＴＩＯＮであれば、この状態を表わす自動検出データ（ａｕｔｏｓｅｎｓｅ ｄａｔａ）も入っている。ＦＣＰ＿ＲＳＰ ＩＵは、ＳＣＳＩコマンドの完了を示す。コマンドのリンクも、誤り回復も、さらに、確認された完了も要求されない場合には、ＦＣＰ＿ＲＳＰ ＩＵは、この「交換」の最終シーケンスである。このプロトコルの他の詳細は、ｗｗｗ．ｔ１０．ｏｒｇにて入手できる。
【００５８】
もう一度、図９に戻って参照すると、ＶＴＬサーバー１８８のフロントエンド１８６には、ＳＣＳＩターゲットとして働き、かつホスト（イニシエータ）要求（コマンド）を受け入れるデバイス・ドライバ２００がある。したがって、デバイス・ドライバ２００は、ＦＣ（ＦＣＰ）コマンド（ＦＣＰ＿ＣＭＮＤ情報セット）を介して、ＳＣＳＩが入っている「ファイバ・チャネル」フレームを受け取る。デバイス・ドライバ２００は、これらのフレームを、ＶＴＬサーバー１８８内のメモリ２０１に保存する。次に、デバイス・ドライバ２００は、これらのフレーム（ＦＣＰコマンドが入っている）を、ターゲット・エミュレータ２０４に転送する。
【００５９】
ターゲット・エミュレータ２０４は、ホスト要求（コマンド）を受け取って、それ自体、テープ・ドライブ（ＳＣＳＩストリーム装置）、あるいは、テープ・ライブラリ・ユニット・ロボティックス（ＳＣＳＩ媒体チェンジャ）として識別される。ターゲット・エミュレータ・ソフトウェアは、ＦＣＰコマンドの内容を理解して、ＦＣＰコマンドを処理する。このような目的で、ターゲット・エミュレータ・ソフトウェアは、ＦＣＰコマンド中の４つのフィールド、すなわち、
・「演算コード」
・「論理ユニット番号（ＬＵＮ）」
・「読取り／書込み」（本明細書では、ターゲット・エミュレータの読取りと書込みは、「データイン受渡しサービス」または「データアウト受渡しサービス」を意味する）
・「コマンド／タスク管理」
を理解する必要がある。
【００６０】
これに関連して、ＳＣＳＩコマンドが、特定のＬＵＮ（例えば、特定のテープ装置−テープ・ドライブ、またはＴＬＵロボティックス）に宛てられる。このターゲット（例えば、ＴＬＵ）は、複数のＬＵＮ用のフロントエンドであることもある。これと対照的に、ＳＣＳＩタスク管理コマンドは、ターゲット全体を目的としている。ターゲット・エミュレータ２０４は、このコマンド中のＬＵＮで識別されたテープ装置があるかどうかチェックする。ターゲット・エミュレータ２０４はまた、このコマンドの書込みフィールドもチェックし、また、フラグが付けられている場合には、データを保持するためにバッファを利用できるかどうかチェックする。このテープ装置がある場合には、ターゲット・エミュレータ２０４は、転送レディ信号をホストに戻す。ターゲット・エミュレータ２０４は、どのタイプのストレージが付けられているか指定せずに、この応答に対して、ＦＣＰの詳細を追加する。
【００６１】
さらに具体的に言えば、ターゲット・エミュレータ２０４は、ＦＣＰ＿ＣＭＮＤ情報セットの形式に気づいて、そのコマンドが保存されているメモリ２０１にアクセスして、以下のように、そのコマンドの解析に取りかかることができる：
・ターゲット・エミュレータ２０４は、「ＳＣＳＩ ＣＤＢ演算コード」をチェックして、それが有効な演算コードであることを確認する。
・ターゲット・エミュレータ２０４は、ＬＵＮ（特定の仮想テープ・ドライブ装置または仮想テープ・ライブラリ・ロボティックスを識別する）をチェックして、ＬＵＮがあることを確認する。
・この演算コードが不当（イリーガル）であるか、あるいは、このＬＵＮに関連する仮想装置（テープ・ドライブまたはロボティクス）がない場合には、ターゲット・エミュレータ２０４は、適切なエラーコードを用いて、応答（この応答は、ＦＣＰ＿ＲＳＰと呼ばれる）をホスト１８２に送り返す（ドライバ２００を通じて）ことで、そのコマンドを拒否する。
・この演算コードが正当であって、かつ、このコマンドに関連する仮想装置がある場合、
・このコマンドが、ホストがＶＴＬサーバーにデータを送っている（書き込んでいる）ことを意味する「データアウト（ｄａｔａ−ｏｕｔ）」コマンドであれば、ターゲット・エミュレータ２０４は、データ転送を開始する（すなわち、ＶＴＬサーバー１８８がレディ状態にあって、ホスト１８２が、ＶＴＬサーバーへのデータの送出を開始できることをホストに通知する）。このデータは、ＶＴＬサーバーのメモリ２０１中の特定のバッファに転送される（このような目的で、それぞれのＶＴＬ仮想テープ・ドライブには、２つのバッファが割り当てられている）。
・このコマンドが「データアウト」コマンドではない場合、あるいは、このコマンドが「データアウト」コマンドであって、かつ、そのデータのすべてが、すでにＶＴＬに転送されている場合には、ターゲット・エミュレータ２０４は（キューを通じて）、ＦＣＰ＿ＣＭＤ（および、このコマンドが「データアウト」コマンドであった場合に、そのバッファに入っているデータ）を、テープ／ディスク・コマンド・コンバータ２０６に転送する。
【００６２】
したがって、次に、このコマンドをコマンド・コンバータ２０６に送り、そこで、そのテープ・コマンドをディスク・コマンドに変換して、ディスク・ストレージ・モデルを生成する。このコンバータ・ソフトウェアは、データをディスクに保存する方法、どのデータをどこに書き込むか列挙する（リストを作成する、ｃａｔａｌｏｇ）方法、および、そのディスクを管理する方法がわかっている。
【００６３】
コマンド・コンバータ２０６は、ＳＣＳＩ ＣＤＢ演算コードをチェックして、この演算コードで要求される特定の動作／操作を実行する。コマンド・コンバータ２０６は、それ自体で、あるいは、ＤＬＵ１９６の機能を呼び出すことで、その動作／操作を実行する。ＤＬＵ１９６は、データをディスクに保存して、その仮想テープ・ライブラリのステータスを管理することに責任がある。エミュレートされるテープ・ドライブとテープ・ロボティックスはそれぞれ、異なるＬＵＮに対応する。したがって、ＦＣＰ＿ＣＭＤのアドレス・フィールド中のＬＵＮは、ストリーム装置（テープ・ドライブ）用のもの、あるいは、媒体チェンジャ（テープ・ロボティックス）用のものであることもある。コマンド・コンバータ２０６は、テープ装置形式か、ロボティックス形式のいずれかで、コマンドをディスクに送る方法がわかっている。
【００６４】
所要の動作／操作が完了すると、コマンド・コンバータ２０６は、完了ステータス（ＦＣＰ＿ＲＳＰ）を示す応答を、ターゲット・エミュレータ２０４を介してホスト１８２に送る。
【００６５】
図１０は、図９のＶＴＬサーバー１８８用の対応する図式化したソフトウェア・ブロック図である。入力ＦＣリンク１８４に接続された第１のブロックは、図９中のデバイス・ドライバ２００に対応するＦＣドライバ・ブロック２２０である。第２のブロックは、ターゲット・エミュレータ２０４の機能を与えるＦＣ−ＳＣＳＩポート・ブロック２２２である。第３のブロックは、エミュレートされるＳＣＳＩテープ記憶装置２２４を提供する。ブロック２２４は、ＶＴＬテープとＶＴＬロボットのオブジェクトのいくつかのインスタンス（仮想テープ・ドライブごとに、または仮想ロボットごとに、１つのインスタンス２２６）を含むことがある。それぞれのインスタンスは、異なるＬＵＮを持ち、かつ、テープ・ストレージ・モデルを構成している。さらに、ブロック２２４は、ディスク・ストレージ・モデルを構成している一組の（２２８）関連するＤＬＵテープとＤＬＵロボットのオブジェクトも含む。それぞれのＶＴＬテープ・オブジェクト２２７は、ディスク・ストレージ・モデル２２８中に、対応するＤＬＵテープ・オブジェクト２２９を持っている。同様に、それぞれのＶＴＬロボット・オブジェクト２３０は、ディスク・ストレージ・モデル２２８中に、対応するＤＬＵロボット・オブジェクト２３１を持っている。ディスク・ストレージ・モデル２２８中のオブジェクトは、そのとき、ディスク・ライブラリ・ユニット１９６に保存されているデータに対応する。ＤＬＵ１９６は、ホスト１８２から受け取られたデータと、このエミュレートされるテープ装置を表わすデータを両方とも保持している（例えば、図１１を参照）。後者のデータは、ＤＬＵに保存されたリレーショナル・テーブルなどのデータベースを構成することがある。或る特定のＤＬＵシステム・アーキテクチャのさらに詳しい説明は、以下の通りである。
【００６６】
テープ・ライブラリ・ユニット（ＴＬＵ）をエミュレートするＤＬＵシステム・アーキテクチャのさらに具体的な実施例が、図１１に示されている。この図はまた、ＬＵＮ識別子３１７と、ＶＴＬ装置（テープ・ドライブ３１９とＴＬＵロボティックス３１５）との相関関係も示している。
【００６７】
ＶＴＬサーバー３１０（図式的に示されている。）は、フロントエンド・ポート０（３１２）とフロントエンド・ポート１（３１４）という２つのフロントエンド・ポートを持っている。ＶＴＬサーバー３１０は、ＦＣファブリック３２０を介してＤＬＵディスク・アレイ３２２に接続された２つのバックエンド・ポート３１６、３１８を持っている。ディスク・アレイ３２２は、ＤＬＵデータベース装置３２４と複数のＤＬＵカートリッジ装置３２６を含む。
【００６８】
ＶＴＬサーバー３１０上には、それらのエミュレートされるテープ装置（仮想テープ・ドライブ３１９と仮想ＴＬＵロボティックス３１５）のＤＬＵモデル３１３を持つＶＴＬソフトウェア３１１がある。ＤＬＵモデル３１３は、以下のものを含むＤＬＵディスク・アレイ持続ストレージを管理する：
・ＤＬＵカートリッジ、
・ＤＬＵロボティックス、ビン（ｂｉｎ）、インポート／エクスポート・スロット、テープ・ドライブ。
ＤＬＵ３２２は、ＴＬＵロボティックスと、変更可能な数のテープ・ドライブ装置をエミュレートし、また、ＤＬＵ仮想テープ・ドライブは、ランダム・アクセス装置（ＤＬＵカートリッジ装置３２６）に「順次アクセス」を提供する。
【００６９】
ＤＬＵデータベース装置３２４には、ＤＬＵでエミュレートされる仮想テープ・ライブラリ中のあらゆる要素用の設定情報が入っている。さらに、ＤＬＵデータベース装置３２４には、仮想テープ・ライブラリ中のこのようなあらゆる要素のステータス（すなわち、以下のもの）も入っている：
・ロボット、
・ビン（仮想カートリッジを保持するスロット）、
・テープ・ドライブ、
・インポート／エクスポート・スロット、
・２つ以上のＶＴＬサーバーを、同一のＤＬＵディスク・アレイに取付けできるようにする共用ボックス。
【００７０】
仮想テープ・ライブラリ中の１つまたは複数の要素のステータスを変更するコマンドがあるたびに、ＤＬＵデータベース装置３２４中の情報を更新する。例えば、ＤＬＵロボット（ＤＬＵモデル３１３中の３１５）に送られたＳＣＳＩ移動コマンドは、ＤＬＵロボットに、カートリッジを、ビンからテープ・ドライブ（ＤＬＵモデル３１３中の３１９）に移動させるように求める。これは、それぞれのビンのステータスと、それぞれのテープ・ドライブのステータスを変更し、また、このようなステータスの変更は、ＤＬＵデータベース装置３２４中で行われる。
【００７１】
この例のＤＬＵデータベース装置３２４は、以下のフィールドを有する図１２に示されたデータ構造３３０を持っている：
・ロボットの数、ビンの数、テープ・ドライブの数、インポート／エクスポート・スロット、共用ボックスの数、仮想カートリッジ情報を含む設定情報３３２、
・このロボットの情報とステータスが入っているロボット・メールボックス３３４；それぞれの設定されたロボットに対して、エントリが１つある（通常、設定されたロボットは１つしかない）、
・このビンの情報とステータスが入っているビン・メールボックス３３６；例えば、このビンは、いっぱいであるか、あるいは空であるかもしれない；このビンがいっぱいである場合には、このビンを占有している仮想カートリッジのラベルが与えられる；設定されたビンと同数のエントリがある、
・このテープ・ドライブの情報とステータスが入っているテープ・メールボックス３３８；例えば、このテープ・ドライブは、いっぱいであるか、あるいは空であるかもしれない；このテープ・ドライブがいっぱいである場合には、このテープ・ドライブを占有している仮想カートリッジのラベルが与えられる；設定されたテープ・ドライブと同数のエントリがある、
・このインポート／エクスポート・スロットの情報とステータスが入っているインポート／エクスポート・メールボックス３４０；設定されたスロットと同数のエントリがある、
・ＤＬＵディスク・アレイに接続されたＶＴＬサーバーの情報が入っている共用メールボックス３４２；ＤＬＵディスク・アレイに付けられたそれぞれのＶＴＬサーバーに対して、エントリが１つある。
【００７２】
ＤＬＵディスク・アレイ３２２（図１１を参照）は、１つまたは複数のＤＬＵ仮想カートリッジ３２６を含む。それぞれのＤＬＵ仮想カートリッジには、以下のものが入っている：
・仮想カートリッジ・ラベル、仮想カートリッジ・バーコードなどのようないくつかの設定情報、
・ユーザが書き込む日付、
・カートリッジに書き込まれているデータ、および、カートリッジの現在位置を記述したカートリッジ・ディレクトリ。
【００７３】
この例のＤＬＵカートリッジ装置３２６（図１１を参照）は、以下のフィールドを有する図１３に示されたデータ構造３５０を持っている：
・ラベル、バーコードなどのような設定情報が入っているＤＬＵ仮想カートリッジ３５２、
・ＤＬＵ仮想カートリッジ・ディレクトリ３５４、
・ＤＬＵ仮想カートリッジ・ユーザ・データ３５６、
・初期警告指示３５８、
・媒体終了指示３６０。
【００７４】
フィールド３５４中の現在ディレクトリ位置３５３と、フィールド３５６中の現在データ位置３５５は、このカートリッジの現在ステータスを記録して、順次アクセス方式を、ＤＬＵカートリッジ装置３２６に提供する。
【００７５】
例えば、３２Ｋの「ＳＣＳＩ書込み」コマンドは、以下のように実行されることがある：
・このＤＬＵは、エントリを、カートリッジ・ディレクトリ３５４において、「現在ディレクトリ位置」３５３がさす位置に追加する。このエントリは、このＩＯのサイズ（例えば、３２Ｋ）を述べる。
・「現在ディレクトリ位置」３５３を、３２Ｋにより前方に移す。
・このＤＬＵは、「書込み」コマンド中に送られた３２Ｋのデータを、「現在データ位置」３５５がさす位置に書き込む。
・「現在データ位置」３５５を、１エントリだけ前方に移す。
・データを書き込みながら、「初期警告指示」３５８または「媒体終了指示」３６０に達する場合には、その書込みコマンド（ＦＣＰ＿ＲＳＰ中にある）に応答して、それぞれの指示を送り返す。
【００７６】
別の例として、「ＳＣＳＩスペース」コマンド（「スペースを、１ブロックだけ後方に移す」）は、以下のように実行されることがある：
・「現在ディレクトリ位置」３５３を、１エントリだけ後方に移す。
・「現在ディレクトリ位置」３５３がさすエントリの内容を読み取る（例えば、３２Ｋ）。
・このディレクトリのエントリに読み取られた値（３２Ｋ）により、「現在ディレクトリ位置」３５３を後方に移す。
【００７７】
図１１はまた、１つのＶＴＬフロントエンドＦＣポート（３１２、３１４）を、１つまたは複数のＶＴＬ装置（ＶＴＬテープ３１９および／またはＶＴＬロボット３１５）に割り当てることも示している。さらに、図１１は、それぞれのＶＴＬ装置に関連する「可視ＬＵＮ」３１７（例えば、ポート０に関連するＬＵＮ０およびＬＵＮ１と、ポート１に関連するＬＵＮ４およびＬＵＮ１）も示している。
【００７８】
フロントエンド・ポート３１２、３１４と、可視ＬＵＮ３１７は、ＶＴＬ設定ファイル、すなわちｖｔｌ．ｃｆｇ内に定められている。ほとんどすべてのＳＣＳＩコマンドは、特定のＬＵＮに宛てられる。特定のＬＵＮに宛てられないコマンドは、フロントエンド・ポート自体（「ターゲット・コレクタ」）により処理される。一例は、レポートＬＵＮである。ＳＣＳＩコマンドは、データイン・コマンド（例えば、読取り）、データアウト・コマンド（例えば、書込み）、データなしコマンド（例えば、巻戻し）に分類できる。
【００７９】
図１４は、読取り動作のために、ＳＣＳＩデータイン・コマンドを転送して実行する時間的順序（ｔｉｍｉｎｇ ｓｅｑｕｅｎｃｅ）を示している。ホストは、ＦＣＰ＿ＣＭＤコマンドをターゲット・コレクタ（図１０中の２２２）に送る。ＦＣＰ＿ＣＭＤコマンドをＶＴＬ装置（図１０中の２２６）に転送し、次に、ＤＬＵ装置（図１０中の２２８）に転送する。ＤＬＵ装置２２８は、物理ＤＬＵディスク・アレイ（図１０中の１９６）からデータを読み取ることで、ＦＣＰ＿ＣＭＤコマンドを実行する。この読み取られたデータは、ＶＴＬ装置２２６に送り返される。また、このデータは、ＶＴＬ装置２２６で生成されるＦＣＰ＿ＤＡＴＡ応答に含められて、ターゲット・コレクタ２２２を介してホストに送り返される。ＶＴＬ装置２２６はＦＣＰ＿ＲＳＰ応答も生成し、その応答をホストに送り返す。
【００８０】
図１５は、ＳＣＳＩ書込みコマンド用の時間的順序を示している。ホストは、ＦＣＰ＿ＣＭＤ（ＳＣＳＩ書込み）コマンドを出し、その後でＦＣＰ＿ＤＡＴＡ（データ転送）が続き、それら２つを、ＶＴＬサーバーのターゲット・コレクタ２２２に送る。該ターゲット・コレクタは、そのデータをＶＴＬ装置２２６に転送し、それに応答して、ＶＴＬ装置２２６は、ＦＣＰ＿ＲＳＰ応答をホストに送り返す。ＶＴＬ装置２２６は、そのデータをＤＬＵ装置２２８に転送する。次に、ＤＬＵ装置２２８は、そのデータを物理ＤＬＵディスク・アレイ１９６に転送する。
【００８１】
さらに、図１５は、フロントエンド（ホストに接続されている）上でも、バックエンド（ディスク・ストレージに接続されている）上でも、同時に、ＶＴＬソフトウェアがコマンドを管理できるようにするデュアル（複式）バッファ機構も示している。バックエンドがディスクへの書込みで使用中であっても、フロントエンドは、次の書込みコマンドを処理できる（図１５中のＦＣＰ＿ＣＭＤコマンドを持つ点線矢印を参照のこと）。
【００８２】
本明細書中に開示された実施例の明細および実施面を考察すれば、本発明に合致した他の実施例も、当業者には明らかになろう。本明細書および実例は、単に模範的なものと見なされるつもりであり、本発明の真の範囲は、併記の特許請求の範囲で示されている。
【図面の簡単な説明】
【００８３】
【図１】バックアップ・サーバー上にあるバックアップ・アプリケーションを含む従来技術のバックアップ・システム・アーキテクチャの略図である。
【図２】ディスク記憶装置とテープ記憶装置を両方とも含むさらに精巧な従来技術のバックアップ・アーキテクチャの略図である。
【図３】仮想ストレージ・プールを備える、本発明に合致した一実施例の略図である。
【図４】仮想テープ・ライブラリ（ＶＴＬ）サーバーとディスク・ライブラリ・ユニット（ＤＬＵ）とを含む、本発明に合致した一実施例用のネットワーク・アーキテクチャの略図である。
【図５】複数のディスク・ライブラリ・ユニット（ＤＬＵ）を持つ他の実施例用のネットワーク・アーキテクチャの略図である。
【図６】複数のＶＴＬサーバーと複数のＤＬＵを両方とも持つ他の実施例用のネットワーク・アーキテクチャの略図である。
【図７】ローカル・バックアップ・データ・サイトとオフサイト・アーカイブ保存サイトを含む他の実施例用のネットワーク・アーキテクチャの略図である。
【図８】バックアップ・データを保存するローカル・サイトと、リモート・ミラーリングのためのディザスタ・リカバリ・サイトとを含む他の実施例用のネットワーク・アーキテクチャの略図である。
【図９】本発明に合致した一実施例によるＶＴＬサーバーのハードウェア構成要素の略図である。
【図１０】図９のＶＴＬサーバー用の対応するソフトウェア・ブロック図である。
【図１１】本発明に合致した一実施例用のＤＬＵシステム・アーキテクチャの略図である。
【図１２】本発明に合致した一実施例によるＤＬＵデータベース装置データ構造の一例である。
【図１３】本発明に合致した一実施例によるＤＬＵカートリッジ装置データベース構造の一例である。
【図１４】ＳＣＳＩ読取りコマンド用の時間的コマンド順序を示す。
【図１５】ＳＣＳＩ書込みコマンド用の時間的コマンド順序を示す。
【図１】
2006518517.tif 000004
【図２】
2006518517.tif 000005
【図３】
2006518517.tif 000006
【図４】
2006518517.tif 000007
【図５】
2006518517.tif 000008
【図６】
2006518517.tif 000009
【図７】
2006518517.tif 000010
【図８】
2006518517.tif 000011
【図９】
2006518517.tif 000012
【図１０】
2006518517.tif 000013
【図１１】
2006518517.tif 000014
【図１２】
2006518517.tif 000015
【図１３】
2006518517.tif 000016
【図１４】
2006518517.tif 000017
【図１５】
2006518517.tif 000018
【手続補正書】
【提出日】平成17年6月30日(2005.6.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク上にあって、１つまたは複数のディスク記憶装置に接続でき、かつオープン・システム環境において複数のバックアップ・ホストに接続できる仮想テープ（ＶＴ）サーバーであって、テープ・ストレージ・コマンドを受け取って、それぞれのテープ・ストレージ・コマンドを、それぞれのターゲット・テープ記憶装置に差し向ける仮想テープ（ＶＴ）サーバーに、バックアップ・データを保存する方法であって、
前記テープ・ストレージ・コマンドを受け入れて、前記ＶＴサーバーが前記それぞれのターゲット・テープ記憶装置であるかのように応答するステップと、
前記受け取られたテープ・ストレージ・コマンドを、少なくとも１つのディスク・ストレージ・コマンドに変換して、前記受け取られたテープ・ストレージ・コマンドを、前記１つまたは複数のディスク記憶装置を用いて実行することで、前記それぞれのターゲット・テープ記憶装置をエミュレートするステップと、
前記受け取られたテープ・ストレージ・コマンドに対応する前記ターゲット・テープ記憶装置用の設定情報とステータス情報であって、前記受け取られたテープ・ストレージ・コマンドに応じて更新される設定情報とステータス情報を保存するステップと、
を含む方法。
【請求項２】
前記ターゲット・テープ記憶装置が、テープ・ライブラリ、ロボティック装置、テープ・ドライブの少なくとも１つまたは複数を含む請求項１に記載の方法。
【請求項３】
前記バックアップ・ホスト上のバックアップ・アプリケーションが、前記バックアップ・アプリケーションがテープ・ストレージ・コマンドを差し向けた装置のステータス情報を保存し、また、前記バックアップ・アプリケーションに保存された前記ステータス情報が、前記ＶＴサーバーに保存されたステータス情報に一致する請求項１に記載の方法。
【請求項４】
対応するターゲット・テープ装置を表わすモデルを保存するステップをさらに含む請求項１に記載の方法。
【請求項５】
前記モデルが、ロボティックスとテープ・カートリッジを含むテープ・ライブラリを表わす請求項４に記載の方法。
【請求項６】
前記モデルが、テープ・オブジェクトとロボット・オブジェクトを含む請求項４に記載の方法。
【請求項７】
前記エミュレートされるターゲット・テープ記憶装置を表わすエミュレーション・データを保存するステップをさらに含む請求項１に記載の方法。
【請求項８】
前記エミュレーション・データが、設定情報、ロボット・メールボックス、ビン・メールボックス、テープ・メールボックス、インポート／エクスポート・メールボックス、共用メールボックスのようなフィールドの１つまたは複数を含むデータ構造を持っている請求項７に記載のシステム。
【請求項９】
前記エミュレーション・データが、設定情報、カートリッジ・ディレクトリ、カートリッジ・データのようなフィールドの１つまたは複数を含むデータ構造を持っている請求項７に記載のシステム。
【請求項１０】
オープン・システム環境において１つまたは複数の異種のホストに接続できるフロントエンドであって、それぞれのテープ・ストレージ・コマンドがターゲット・テープ記憶装置を識別するテープ・ストレージ・コマンドを、前記１つまたは複数のホストから受け入れるように構成されているフロントエンドと、
前記テープ・ストレージ・コマンドを受け取って、前記テープ・ストレージ・コマンド中で識別された前記ターゲット・テープ記憶装置を、対応する仮想テープ記憶装置としてエミュレートするように、前記フロントエンドに結合されたターゲット・エミュレータと、
前記テープ・ストレージ・コマンドを受け取って、前記仮想テープ記憶装置に応じて、前記テープ・ストレージ・コマンドを１つまたは複数のディスク記憶装置コマンドに変換するように、前記ターゲット・エミュレータに結合されたコマンド・コンバータと、
前記１つまたは複数のディスク記憶装置コマンドを受け取って、前記ディスク記憶装置コマンドを、前記コマンド・コンバータに結合された１つまたは複数のディスク記憶装置に転送するように、前記コマンド・コンバータに結合されたバックエンドと、
前記ターゲット・エミュレータでエミュレートされるテープ・ストレージ・コマンド中で識別された前記ターゲット・テープ記憶装置に対応する前記仮想テープ記憶装置用のテープ記憶装置の設定情報とステータス情報を保存するように、前記コマンド・コンバータに結合されたディスク・ライブラリ・ユニット・データベース装置と、
を備える、コンピュータで実現される仮想テープ・ストレージ・システムであって、
仮想テープ・ライブラリが、前記保存された仮想テープ記憶装置の設定情報とステータス情報を含み、また、
前記受け取られたテープ・ストレージ・コマンドに応じて、前記設定情報と前記ステータス情報が更新される仮想テープ・ストレージ・システム。
【請求項１１】
前記テープ・ストレージ・コマンドがＳＣＳＩ（Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ Ｓｙｓｔｅｍ Ｉｎｔｅｒｆａｃｅ）コマンドである請求項１０に記載のシステム。
【請求項１２】
前記ＳＣＳＩコマンドが、ファイバ・チャネル（ＦＣ）伝送に適している請求項１１に記載のシステム。
【請求項１３】
前記テープ記憶装置が、テープ・ライブラリ、ロボティック装置、テープ・ドライブの１つまたは複数を含む請求項１０に記載のシステム。
【請求項１４】
前記１つまたは複数のディスク記憶装置が、ディスク・ドライブとディスク・アレイの一方または両方を含む請求項１０に記載のシステム。
【請求項１５】
前記仮想テープ記憶装置設定情報が、エミュレートされるテープ・ストレージ・コマンドに応じて、前記ターゲット・テープ記憶装置のステータスの変化を反映するように変更される請求項１０に記載のシステム。
【請求項１６】
前記ホストの少なくとも１つがバックアップ・アプリケーションを持ち、前記バックアップ・アプリケーションが、前記テープ・ストレージ・コマンドを出し、かつ、バックアップ作業に対して、ただ１つの管理・制御点として役立つ請求項１０に記載のシステム。
【請求項１７】
前記バックアップ・アプリケーションが、前記バックアップ・アプリケーションがテープ・ストレージ・コマンドを差し向けた装置のステータス情報を保存し、また、前記バックアップ・アプリケーションに保存された前記ステータス情報が、前記仮想テープ・ライブラリに保存されたステータス情報に一致する請求項１６に記載のシステム。
【請求項１８】
対応するターゲット・テープ装置を表わすモデルをさらに含む請求項１０に記載のシステム。
【請求項１９】
前記モデルが、ロボティックスとテープ・カートリッジを含むテープ・ライブラリを表わす請求項１８に記載のシステム。
【請求項２０】
前記モデルが、テープ・オブジェクトとロボット・オブジェクトを含む請求項１８に記載のシステム。
【請求項２１】
前記ターゲット・エミュレータが、それ自体、ＳＣＳＩストリーム装置、あるいは、ＳＣＳＩ媒体チェンジャとして識別される請求項１０に記載のシステム。。
【請求項２２】
前記テープ・ストレージ・コマンドが、論理ユニット番号（ＬＵＮ）を用いてテープ記憶装置に宛てられるＳＣＳＩテープ・ストレージ・コマンドから成っている請求項２１に記載のシステム。
【請求項２３】
前記エミュレートされるターゲット・テープ記憶装置を表わすエミュレーション・データをさらに含む請求項１０に記載のシステム。
【請求項２４】
前記エミュレーション・データが、設定情報、ロボット・メールボックス、ビン・メールボックス、テープ・メールボックス、インポート／エクスポート・メールボックス、共用メールボックスのようなフィールドの１つまたは複数を含むデータ構造を持っている請求項２３に記載のシステム。
【請求項２５】
前記エミュレーション・データが、設定情報、カートリッジ・ディレクトリ、カートリッジ・データのようなフィールドの１つまたは複数を含むデータ構造を持っている請求項２３に記載のシステム。
【請求項２６】
それぞれのテープ・ストレージ・コマンドがターゲット・テープ記憶装置を識別するテープ・ストレージ・コマンドを、異種のホストに透過的なやり方で、チャネル・ネットワーク接続を介して、前記ホストから受け入れるステップと、
テープ・ストレージ・コマンドを受け取ると、
前記仮想テープ記憶装置に応じて、前記テープ・ストレージ・コマンドを１つまたは複数のディスク記憶装置コマンドに変換することで、前記テープ・ストレージ・コマンド中で識別された前記ターゲット・テープ記憶装置を、対応する仮想テープ記憶装置としてエミュレートするステップと、
前記ディスク記憶装置コマンドを、１つまたは複数のディスク記憶装置に転送するステップと、
前記テープ・ストレージ・コマンド中で識別された前記ターゲット・テープ記憶装置に対応する前記仮想テープ記憶装置用のテープ記憶装置の設定情報とステータス情報であって、前記受け取られたテープ・ストレージ・コマンドに応じて更新される設定情報とステータス情報を保存するステップと、
を含む方法を、コンピュータに実施できるようにするコンピュータ読取り可能な命令が入っているコンピュータ読取り可能な媒体。
【請求項２７】
それぞれのテープ・ストレージ・コマンドがターゲット・テープ記憶装置を識別するテープ・ストレージ・コマンドを受け取る仮想テープ・ライブラリ（ＶＴＬ）サーバーであって、前記テープ・ストレージ・コマンドを受け取って、前記テープ・ストレージ・コマンド中で識別された前記ターゲット・テープ記憶装置を、対応する仮想テープ記憶装置としてエミュレートするターゲット・エミュレータと、前記テープ・ストレージ・コマンドを受け取って、前記対応する仮想テープ記憶装置に応じて、前記テープ・ストレージ・コマンドを１つまたは複数のディスク記憶装置コマンドに変換するように、前記ターゲット・エミュレータに結合されたコマンド・コンバータとを含むＶＴＬサーバーと、
前記１つまたは複数のディスク記憶装置コマンドを受け取るように前記ＶＴＬサーバーに結合された、１つまたは複数のディスク記憶装置を含むディスク・ライブラリ・ユニットと、
前記ターゲット・エミュレータによりエミュレートされる１つまたは複数のターゲット・テープ記憶装置に対応する１つまたは複数の仮想テープ記憶装置用の設定情報とステータス情報であって、前記受け取られたテープ・ストレージ・コマンドに応じて更新される設定情報とステータス情報を保存するように、前記ＶＴＬサーバーに結合された情報保存手段と、
を備える仮想テープ・ストレージ・システム。
【請求項２８】
前記ターゲット・テープ記憶装置が、テープ・ライブラリ、ロボティック装置、テープ・ドライブの１つまたは複数を含む請求項２７に記載のシステム。
【請求項２９】
バックアップ・ホスト上のバックアップ・アプリケーションが、前記バックアップ・アプリケーションがテープ・ストレージ・コマンドを差し向けた前記ターゲット・テープ記憶装置のステータス情報を保存し、また、前記バックアップ・アプリケーションに保存された前記ステータス情報が、前記ＶＴサーバーに保存されたステータス情報に一致する請求項２７に記載の方法。
【請求項３０】
対応するターゲット・テープ装置を表わすモデルを保存する手段をさらに備える請求項２７に記載のシステム。
【請求項３１】
前記モデルが、ロボティックスとテープ・カートリッジを含むテープ・ライブラリを表わす請求項３０に記載のシステム。
【請求項３２】
前記モデルが、テープ・オブジェクトとロボット・オブジェクトを含む請求項３０に記載のシステム。
【請求項３３】
前記エミュレートされるターゲット・テープ記憶装置を表わすエミュレーション・データを保存するステップをさらに含む請求項２７に記載のシステム。
【請求項３４】
前記エミュレーション・データが、設定情報、ロボット・メールボックス、ビン・メールボックス、テープ・メールボックス、インポート／エクスポート・メールボックス、共用メールボックスのようなフィールドの１つまたは複数を含むデータ構造を持っている請求項３３に記載のシステム。
【請求項３５】
前記エミュレーション・データが、設定情報、カートリッジ・ディレクトリ、カートリッジ・データのようなフィールドの１つまたは複数を含むデータ構造を持っている請求項３３に記載のシステム。
【国際調査報告】
2006518517.tif 000019
2006518517.tif 000020
2006518517.tif 000021