(57)【特許請求の範囲】
【請求項１】
コンピューティング装置(100)とテープドライブ装置(140)とを備えたシステムにおいてデータ復元操作を実行する方法であって、前記コンピューティング装置(100)が、テープドライブ装置でない種類の初期プログラムロード装置からブートすることが可能なものであり、前記テープドライブ装置(140)が、第１及び第２のモードで動作するよう構成されており、該第１のモードでは、該テープドライブ装置(140)は、それ自体を前記コンピューティング装置(100)に対して前記の種類の初期プログラムロード装置として識別させると共に該コンピューティング装置(100)と相互作用し、前記第２のモードでは、該テープドライブ装置(140)は、通常のテープドライブ装置として挙動し、該モードの一方又は他方での動作を選択的に生じさせる手段(150)が該テープドライブ装置(140)に配設されており、該方法が、
前記の種類の初期プログラムロード装置からの前記コンピューティング装置(100)のブート時に該初期プログラムロード装置が該コンピューティング装置(100)へ提供することになるものに対応するバックアップデータセット(325,355)及びブート可能データ(305,345)の両方をテープ媒体(300,330)に格納することにより復元用テープ媒体(300,330)を作成し、
前記コンピューティング装置(100)のブート処理を開始させて該コンピューティング装置(100)に前記の種類の初期プログラムロード装置の探索を試行させ、
前記テープドライブ装置(140)を前記第１のモードで動作させて、該テープドライブ装置(140)がそれ自体を前記コンピューティング装置(100)に対して前記の種類の初期プログラムロード装置として識別させると共に該コンピューティング装置(100)により発見させ、該コンピューティング装置(100)が該テープドライブ装置(140)から前記ブート可能データ(305,345)を読み出してブートし、
前記テープドライブ装置(140)を前記第２のモードで動作させて、前記コンピューティング装置(100)が該テープドライブ装置(140)から前記バックアップデータセット(325,355)を復元させる、
という各ステップを有する方法。
【請求項２】
前記ブート可能データ(305,345)が、ＣＤ−ＲＯＭ装置のためのISO9660フォーマット及びEl Torito ブート可能ＣＤ−ＲＯＭフォーマット仕様に準拠する、請求項１に記載の方法。
【請求項３】
前記ブート可能データ(305,345)が、その実行時に、前記コンピューティング装置(100)が前記テープドライブ装置(140)にアクセスして該テープドライブ装置(140)に装填された前記復元用テープ媒体(300,330)から前記バックアップデータセット(325,355)を復元することを可能にする、データ及び／又はファイルを含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記ブート可能データ(305,345)が、前記復元用テープ媒体(300,330)において前記バックアップデータセット(325,355)の前に配置される、請求項１ないし請求項３の何れか一項に記載の方法。
【請求項５】
請求項１ないし請求項４の何れか一項に記載の方法に従って動作するよう構成されたテープドライブ装置(140)。
【請求項６】
データ復元操作での使用に適したテープドライブ装置(140)であって、該データ復元操作が、コンピューティング装置(100)のブート処理を含み、該コンピューティング装置(100)が、テープドライブ装置でない種類の初期プログラムロード装置からブートするよう構成されており、そのブート動作が、前記テープドライブ装置(140)に挿入された復元用テープ媒体(300,330)を使用するものであり、該復元用テープ媒体(300,330)が、前記の種類の初期プログラムロード装置からの前記コンピューティング装置(100)のブート時に該初期プログラムロード装置が該コンピューティング装置(100)へ提供することになるものに対応するバックアップデータセット(325,355)及びブート可能データ(305,345)を含み、前記データ復元操作が更に、前記テープドライブ装置(140)を使用してバックアップデータセット(325,355)を復元することを含み、該テープドライブ装置(140)が、
装填された復元用テープ媒体(175)の位置及び動きを制御する機構(180)と、
該復元用テープ媒体(175)と前記テープドライブ装置(140)との間でデータ転送を行う読出／書込回路(165)と、
前記テープドライブ装置(140)と前記コンピューティング装置(100)との間でデータ転送を行うインタフェイス(145)と、
前記テープドライブ装置(140)の動作を第１のモード及び第２のモードで制御するよう構成されたコントローラ(150)であって、該第１のモードでは、該テープドライブ装置(140)が、それ自体をあたかも前記の種類の初期プログラムロード装置であるかのように前記コンピューティング装置(100)に識別させると共に該コンピューティング装置(100)と相互作用して、該コンピューティング装置(100)のブート処理を容易にし、前記第２のモードでは、該テープドライブ装置(140)が通常のテープドライブ装置として挙動して、前記コンピューティング装置(100)へバックアップデータセット(325,355)を復元する、コントローラ(150)と、
前記モードの一方又は他方で前記テープドライブ装置の動作を選択的に生じさせる手段と
を含む、テープドライブ装置(140)。
【請求項７】
前記第１のモードで、前記コントローラ(150)が、前記コンピューティング装置(100)からの装置タイプ問合せ信号に応じて、前記テープドライブ装置(140)を前記の種類の初期プログラムロード装置として識別する応答を生成し、及び前記装填された復元用テープ部媒体(175)をブート可能データ(305,345)を含むものとして識別するよう構成される、請求項６に記載のテープドライブ装置(140)。
【請求項８】
ユーザによる操作に応じて前記テープドライブ装置(140)を前記第１のモードで動作させるユーザ選択手段を更に含む、請求項６又は請求項７に記載のテープドライブ装置(140)。
【請求項９】
前記ユーザ選択手段が、前記テープドライブ装置のイジェクトボタンを含み、前記コントローラ(150)が、前記テープドライブ装置(140)の電源投入又はリセット動作時に前記イジェクトボタンのユーザによる操作を検出するよう構成される、請求項８に記載のテープドライブ装置(140)。
【請求項１０】
前記の種類の初期プログラムロード装置がＣＤ−ＲＯＭドライブである、請求項６ないし請求項９の何れか一項に記載のテープドライブ装置(140)。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、具体的にはデータ処理システムにおけるデータのバックアップ及び復元に関し、特に、磁気テープ系のデータバックアップ及びデータ復元に関する（但しこれに限定されるものではない）。
【０００２】
【従来の技術】
本書での説明の便宜上、用語「コンピュータシステム」（又はコンピューティング装置）は、典型的にはMS-DOS、Windows（商標）NT又は95／98オペレーティングシステム環境下で動作するインテル（商標）マイクロプロセッサ（又はその等価物）系のコンピュータシステム、例えばペンティアム（商標）システムを意味する。一般に、かかるコンピュータシステムはＰＣとして知られているが、本書中の説明は、サーバ、ノートブック、又はラップトップコンピュータにも等しく関係するものである。しかし、本書で開示する思想は、他の既存の、又は今後開発されるタイプのコンピュータシステムにも等しく適用することができる。このため、本発明は、ＰＣタイプのシステムにのみ限定することを意図したものではない。
【０００３】
全てのデータ又はデータの一部を復元できないように破壊してしまう可能性がある災害から保護するために、コンピュータシステムの主記憶装置（ハードディスク等）に格納されたデータをバックアップすることは周知である。災害は、例えば、火事、洪水、コンピュータウイルス、又は単なる不慮のデータ消失などが挙げられる。バックアップ記憶媒体として磁気テープを用いる主な理由の１つは、磁気テープが、大量のバックアップデータを格納するための安定して信頼性があり比較的安価な選択肢を提供するものである、ということである。
【０００４】
コンピュータシステム上で実行されるバックアップアプリケーションプログラムは典型的には、かかるコンピュータシステムデータが、テープドライブによって書き込み及び読み出しが行われるテープ媒体にバックアップされ、かつそのテープ媒体から復元されるようにするための機能を提供する。周知のバックアップアプリケーションソフトウエアには、Stac社の「Replica（商標）」、Computer Associates社の「ArcServe（商標）」、Veritas社の「BackupExec（商標）」、及びHP社の「Omniback（商標）」などがある。周知のテープドライブには、ともにHP社から市販されるDDS（商標）及びLTO（商標）準拠のテープドライブなどがある。
【０００５】
一般に、バックアップアプリケーションソフトウエアは、コンピュータシステム上のデータバックアップ及び復元動作を管理するための１つ又は複数のコンピュータプログラムを含む。典型的には、そのソフトウエアはユーザインタフェイスを提供し、該ユーザインタフェイスは、ユーザがバックアップを望むデータ又はファイルを選択する機会をユーザに提供する。ユーザはバックアップのために、例えば、最後にバックアップが行われてから生成され又は修正された全ファイル、特定の１つのディレクトリ（又は複数のディレクトリ）内の全ファイル、又は単純に全ファイル（即ち全ハードディスクシステム）を選択することができる。更にバックアップアプリケーションソフトウエアによって、ユーザは典型的には、バックアップ動作のスケジュールを決め、コンピュータシステムが使用されていないとき、例えば毎晩夜中にバックアップ動作を行わせるようにする。その際、毎晩夜中にバックアップアプリケーションソフトウエアは、バックアップされる必要がある全てのファイルを識別し、バックアップデータセットという形でファイルをテープ媒体に格納する。特に、バックアップアプリケーションソフトウエアは典型的には、バックアップデータセットをテープ上の個々のレコードへとフォーマットし、該データセットの前に何らかの所有権情報を付与することになる。該所有権情報は、例えば、使用されるバックアップアプリケーションソフトウエア、バックアップ日、及びバックアップ時刻等を識別する情報である。
【０００６】
ハードディスク障害、又は更にシステム破壊のような災害が発生した場合には典型的には、最優先に行われるのは、正常に動作するシステムをできる限り早急に再構築することである。これは、コンピュータハードウエアを災害を受ける前の状態に復元させることを必要とし、かかる作業には、ファイルシステムの復元を除いたとしても、数時間から数日が必要となる。一般に、かかるプロセスを完了させるためには膨大な数の人間がかかわる必要がある。
【０００７】
災害後にコンピュータシステムを復元することに関する時間及び人手にかかる経費を低減させるために、幾つかのバックアップアプリケーションソフトウエアは、いわゆる災害復元（ＤＲ）ソリューションを提供し、これによりコンピュータシステムを災害発生前の状態に早急に復元させることが可能となる。かかる機構は典型的には、少なくとも必要最小限のオペレーティングシステム、テープドライバ、及びバックアップアプリケーションソフトウエア（又はその必要不可欠な部分）自体のインストール及び構成作業を伴うものである。
【０００８】
既知のＤＲソリューションは典型的には、ユーザが一組のＤＲフロッピィディスクを作成することを必要とする。ハードディスクドライブからブートすることができず、テープ媒体からファイルシステムのバックアップコピーを復元するためのアプリケーションソフトウエアを実行する場合に、該ＤＲフロッピィディスクを使用してコンピュータシステムをブートさせることが可能となる。該ＤＲフロッピィディスクは典型的には、ＤＲ機能を含むアプリケーションソフトウエアの構成要素と共に、必要最低限版のオペレーティングシステムをロードし実行することにより、例えば、コンピュータが新しいディスクパーティションを構築し、テープドライブにアクセスし、及びテープ媒体からデータを復元するだけの十分な機能を提供するものである。
【０００９】
ＤＲオペレーティングシステムは、インストールされるべきコンピュータシステムの厳密なハードウエア構成を反映することを必要とし、さもないと、テープドライブといった記憶装置と通信することができなくなる。
【００１０】
このため、典型的には、ＤＲフロッピィディスクは、システムハードウエア構成が変更される場合、特に、ＳＣＳＩ（スモールコンピュータシステムインタフェイス）構成が変更される場合には必ず、ユーザによって再作成される必要がある。例えば、新しいＳＣＳＩホストバスアダプタ（HBA）が、新しいデバイスドライバと共にサーバに追加される場合には、該デバイスドライバをＤＲフロッピィディスクに追加して、コンピュータシステムの再構築時に該新しいＳＣＳＩ ＨＢＡが認識されるようにする必要がある。
【００１１】
それゆえ、一般に、「現行の」ＤＲフロッピィディスクを利用可能なものとするためには、ユーザに依存して、該フロッピィを作成し、更新し続け、及び災害発生時にそれを探し出せることができるようにしなければならない。これは、場合によっては、長期にわたりＤＲフロッピィディスクが全く作成されておらず、ディスクが期限切れとなり、又はディスクを紛失する、といったことに通じるオーバーヘッドである。
【００１２】
ＤＲフロッピィディスクが用いられる理由は、フロッピィディスクドライブが、標準的な「初期プログラムロード装置」（IPLD）の１つであり、実際に全てのＰＣがそこから「ブート」されるように構成されるためである。本書では、該IPLDに用いたような用語「標準的な」とは、ブートのために装置を認識するようにＰＣが物理的にプログラムされていることを意味している。現在では、他の標準的なIPLDは、BAIDS（BIOS Aware Initial ProgＲＡＭ Load Devices：BIOS認識初期プログラムロード装置）としても知られるものであり、ＰＣ内の第１ハードディスクドライブを含み、またより最近ではＰＣ内の第１ＣＤ−ＲＯＭドライブを含むものである。しかし、一般には、実際にＰＣオペレーティングシステムをロードし実行することができる任意の装置をIPLDとして用いることが可能である。
【００１３】
上述のように、IBM社及びPhoenix Technologies社が共同で作成した、1995年1月25日付のEl Torito Bootable ＣＤ−ＲＯＭ Format Specification, Version 1.0により拡張された、ISO9660 ＣＤ−ＲＯＭ規格にＣＤ−ＲＯＭが準拠する限り、現在ではＣＤ−ＲＯＭドライブからブートすることが可能である。同じようにＣＤ−ＲＯＭからブートすることは、米国特許第5,727,213号においても詳細に考察されている。同特許に記載されているように、ＣＤ−ＲＯＭからブートするために、ＰＣのBIOS（basic input/output system）は、典型的にはＣＤ−ＲＯＭから、またフロッピィディスク又はハードディスクからのブートレコードデータの読み出しをサポートしている必要がある。また米国特許第5,727,213号は、PC BIOSがテープ媒体からブートレコードデータを検出して読み出すよう変更されることを条件として、テープ媒体をブートソースとして機能させることができることも提案している。しかし現在まで、PC BIOS規格は、テープ媒体からブートできるようになっていない。
【００１４】
ＣＤ−ＲＯＭからブートすることができるシステムにおいて、米国特許第5,727,213号は、ＣＤ−ＲＯＭからブートレコードデータを読み出すために、フロッピィディスクドライブ向けの読出コマンドをブートプロセスのデータ読出部分でＣＤ−ＲＯＭドライブへとリダイレクトする必要があることを規定している。更に、ＰＣの変更されたＳＣＳＩドライバは、ハードディスク及びフロッピィディスクによって従来用いられている512バイトセクタを、ＣＤ−ＲＯＭドライブによって従来用いられている2Kバイトセクタへと変換することを必要とする。
【００１５】
ＣＤ−ＲＯＭからブートすることが可能であることに鑑みれば、ＤＲフロッピィディスクの代わりに１つ又は２つ以上のＤＲ ＣＤ−ＲＯＭを作成することも可能であることは明らかであろう。しかし、このアプローチを採用する利点はほとんどなく、著しくコストが上昇するであろう。特に、ＤＲ ＣＤ−ＲＯＭを作成し、保守し、安全に保管しなければならないことはユーザにとって依然として負担のかかるものとなる。
【００１６】
【発明が解決しようとする課題】
本発明の１つの目的は、より便利なＤＲソリューションを提供することにある。
【００１７】
【課題を解決するための手段】
第１の態様によれば、本発明は、コンピューティング装置及びテープドライブ装置を含むシステムにおいてアプリケーションソフトウエアを実行する方法を提供するものとなる。ここで、該コンピューティング装置は、テープドライブ装置でない初期プログラムロード装置の一種からブート可能なものであり、該方法は、
前記の類の初期プログラムロード装置からの前記コンピューティング装置のブート時に前記の類の初期プログラムロード装置が前記コンピューティング装置へ提供することになるものに対応するアプリケーションソフトウエア及びブータブル（即ちブート可能な）データの両方をテープ媒体に格納することによりブータブルテープ媒体を作成し、
前記コンピューティング装置のブート処理を開始させて該コンピューティング装置に前記の類の初期プログラムロード装置の探索を試行させ、
前記コンピューティング装置のブート中に前記コンピューティング装置との相互作用を行うよう前記の種の初期プログラムロード装置をエミュレートするように前記テープドライブ装置を制御することにより、該テープドライブ装置が、前記コンピューティング装置に対し、該テープドライブ装置自体を前記の類の初期プログラムロード装置として識別させ、
前記コンピューティング装置が、前記テープドライブ装置を前記の類の初期プログラムロード装置として認識することに続き、前記ブータブルデータからブートを行い、及び前記アプリケーションソフトウエアを実行する、
という各ステップを含むものである。
【００１８】
第２の態様によれば、本発明は、テープドライブ装置を提供し、該装置は、
装填されたテープ媒体の位置及び動きを制御する機構と、
装填されたテープ媒体とテープドライブ装置との間でデータの転送を行う読出／書込回路と、
テープドライブ装置の動作を制御するコントローラであって、装填されたテープ媒体をブータブルデータを含むものとして識別し、テープドライブ装置でない前記初期プログラムロード装置の類を意図した信号を前記コンピューティング装置から受信して処理し、及び前記コンピューティング装置が前記初期プログラムロード装置の類から期待することになる応答信号を生成する、コントローラと
を備えたものである。
【００１９】
上記方法及び装置により、テープドライブ装置からのブートをサポートしないコンピュータシステムが、テープドライブ装置からブートして、アプリケーションソフトウエア（例えばＤＲアプリケーションソフトウエア）を実行することが可能となる。
【００２０】
第３の態様によれば、本発明は、テープドライブ装置でない初期プログラムロード装置の類からブートすることが可能なコンピューティング装置とテープドライブ装置とを備えたシステムにおいてデータ復元操作を実行する方法を提供し、該方法は、
前記の類の初期プログラムロード装置からの前記コンピューティング装置のブート時に該初期プログラムロード装置が前記コンピューティング装置へ提供することになるものに対応するバックアップデータセット及びブータブルデータの両方をテープ媒体に格納することにより復元用テープ媒体を作成し、
前記コンピューティング装置のブート処理を開始させて該コンピューティング装置に前記の類の初期プログラムロード装置の探索を試行させ、
前記コンピューティング装置のブート中に該コンピューティング装置との相互作用を行うよう前記の種の初期プログラムロード装置をエミュレートするように前記テープドライブ装置を制御することにより、該テープドライブ装置が、前記コンピューティング装置に対し、該テープドライブ装置自体を前記の類の初期プログラムロード装置として識別させ、
前記コンピューティング装置が、前記テープドライブ装置を前記の類の初期プログラムロード装置として認識することに続いて、前記ブータブルデータからブートを行い、前記テープドライブ装置をテープドライブ装置として動作させて、該テープドライブ装置から前記バックアップデータセットを復元させる、
という各ステップを含むものである。
【００２１】
このようにして、本発明は、一片のテープ媒体上にＤＲのために必要とされる全てのデータを格納し、及び（初期プログラムロード装置として再認識されない場合であっても）初期プログラムロード装置のように動作するテープドライブを提供することにより、ＤＲフロッピィディスクを完全に不要とする。その結果として、ＤＲを行うために必要とされる人の介在を最小限にすることが可能となる。
【００２２】
コンピューティング装置は、ＣＤ−ＲＯＭ装置のためのISO9660フォーマット及びEl Torito ブータブルＣＤ−ＲＯＭフォーマット仕様に準拠するブータブルデータを生成するよう構成することが可能である。他の適当なフォーマットも将来利用可能になるであろう。
【００２３】
ブータブルデータは、その実行時に、コンピューティング装置がテープドライブ装置にアクセスして該テープドライブ装置に装填された復元テープ媒体からバックアップデータセットを復元することを可能にする、データ及び／又はファイルを含む。
【００２４】
ブータブルデータは、テープ媒体の開始位置からの所定のオフセットから開始して復元テープ媒体に書き込まれることが好ましい。これにより、適切に構成されたテープドライブ装置は、テープ媒体の読み出しを行ってブータブルデータを探し出すことが可能となる。テープドライブ装置は、テープ媒体の論理的な開始位置から始めて所定数のブロックだけ前方への読み出しを行うことによりテープ媒体上のブータブルデータの開始位置を識別することが好ましい。
【００２５】
好ましい実施形態では、ブータブルデータは、復元テープ媒体の論理的な開始位置から21番目のブロックで開始して復元テープ媒体に書き込まれる。
【００２６】
テープドライブ装置は、該テープドライブ装置に付随する初期化手段をユーザが操作することにより、初期プログラムロード装置をエミュレートするよう制御することが可能なものである。
【００２７】
好ましい実施形態では、初期化手段は、テープドライブ装置の電源が入っている間に該テープドライブ装置のイジェクトボタンを操作することを含む。
【００２８】
更に、テープドライブ装置は、コンピューティング装置から所定の信号を受信したことに応じてテープドライブ装置としての動作に切り替わるように構成することが好ましい。
【００２９】
代替的には、テープドライブ装置は、コンピューティング装置から所定の信号を受信したこと、並びに該コンピューティング装置により該テープドライブ装置から読み出されたデータ量が所定のしきい値を超えたことに応じて、テープドライブ装置としての動作に切り替わるよう構成することが可能である。
【００３０】
前記の種の初期プログラムロード装置の探索を試行するコンピューティング装置からの状態要求信号に応じて、テープドライブ装置は、媒体が存在しない場合であっても媒体の装填プロセス中であることを示す信号を返し、これにより別の初期プログラムロード装置との通信を試行する前に更に時間を延長してコンピューティング装置を待機させることが好ましい。
【００３１】
テープドライブ装置の動作を顕著に改善するために、該テープドライブ装置は、少なくとも幾つかのブータブルデータを復元テープ媒体から読み出して該テープドライブ装置の揮発性メモリ手段にキャッシュするように構成される。
【００３２】
特に、該キャッシュされるブータブルデータは、ブータブルデータに含まれるファイルの構成を表すディレクトリデータを含む。これにより、テープドライブ装置は、コンピューティング装置によるディレクトリデータの多数のアクセスに応じてテープ媒体に一回アクセスするだけで済む。
【００３３】
更に、又は代替的には、前記のキャッシュされるブータブルデータは、復元動作中に２回以上アクセスされる必要があるブータブルデータ中の少なくとも幾つかのファイルを含むことが可能である。これにより、テープドライブ装置は、コンピューティング装置による前記ファイルの多数回の読み出しに応じて該ファイルを読み出すためにテープ媒体に一回だけアクセスするだけで良くなる。
【００３４】
コンピューティング装置は、実質的に、後に復元動作のために復元テープ媒体からコンピューティング装置により読み出されることが必要となる順序で、ファイルを並べることにより、複数のデータファイルを含むブータブルデータを生成することが可能である。
【００３５】
第４の態様によれば、本発明により提供されるテープドライブ装置は、
装填されたテープ媒体の位置及び動きを制御する機構と、
該装填されたテープ媒体と該テープドライブ装置との間でデータ転送を行う読出／書込回路と、
該テープドライブ装置の動作を制御するコントローラであって、該テープドライブ装置の動作に２つの動作モードが存在し、該テープドライブ装置を選択的に制御して前記２つの動作モードのうちの何れか一方で動作させるよう構成された、コントローラとを備えており、
a）第１の動作モードでは、該テープドライブ装置は、装填されたデープ媒体をブータブルデータを含むものとして識別し、テープドライブ装置でない類の初期プログラムロード装置を意図した信号を、コンピューティング装置から受信し処理して、該コンピューティング装置が前記の類の初期プログラムロード装置から期待することになる応答信号を生成し、
b）第２の動作モードでは、該テープドライブ装置がテープドライブ装置動作に従って動作する、というものとなる。
【００３６】
前記コントローラは、前記第１の動作モードにおいて、コンピューティング装置からの装置タイプ問合せ信号に応じて、前記の類の初期プログラムロード装置としてテープドライブ装置を識別する応答を生成するように構成することが可能である。
【００３７】
好適には、前記コントローラは、前記第１の動作モードにおいて、復元テープ媒体の開始位置からの所定のオフセットから開始して該テープ媒体データの読み出しを行うことにより、装填されたテープ媒体をブータブルデータを含むものとして識別するように構成される。
【００３８】
好ましい実施形態では、前記所定のオフセットは、復元テープ媒体の論理的な開始位置から21番目のブロックである。
【００３９】
好ましい実施形態では、該装置は更に、ランダムアクセスメモリ手段を備えており、この場合には、コントローラは、該ランダムアクセスメモリにブータブルデータの少なくとも幾つかを読み込むように構成され、これにより、後にコンピューティング装置が該データにアクセスする際には、コントローラはテープ媒体ではなくランダムアクセスメモリにアクセスすることになる。
【００４０】
該装置は更に、ユーザによる操作に応じて該テープドライブ装置を第１の動作モードで動作させるユーザ選択手段を備えることが好ましい。
【００４１】
好ましい実施形態では、該ユーザ選択手段は、テープドライブ装置のイジェクトボタンを含み、コントローラは、テープドライブ装置の電源投入又はリセット操作時に該イジェクトボタンのユーザによる操作を検出するよう構成される。
【００４２】
更に、コントローラは、コンピューティング装置からの特定の信号の受信に応じて、第１の動作モードから第２の動作モードへとテープドライブ装置の動作を切り替えることも可能である。
【００４３】
一般に、初期プログラムロード装置はＣＤ−ＲＯＭドライブである。
【００４４】
本発明の他の実施形態及び態様については、以下の説明、特許請求の範囲、及び図面から明らかとなろう。
【００４５】
本発明を更に理解し、その効果が如何にしてもたらされるかを示すために、図面に関連して本発明による特定の実施形態、方法、及びプロセスを説明するが、それらは例示にずぎないものである。
【００４６】
【発目の実施の形態】
ここで本発明を実施するために、本発明者により検討された最良の形態を説明するが、それらは例示にずぎないものである。以下の説明においては、種々の特定の細部が、本発明を完全に理解できるようにするために説明される。しかし、これら特定の細部を用いることなく本発明を実施することも可能であることは、当業者には明らかであろう。また、本発明を不要に曖昧にしないために、周知の方法及び構造については詳細には説明しないこととする。
【００４７】
既述のように、現在、PC BIOS規格は、フロッピィディスク、ハードディスク、又はＣＤ−ＲＯＭ装置からブートすることを規定している。更に、該規格は例えばプラグアンドプレイ（PnP）機能を用いた、ネットワークを介したリモートブートを可能としている（例えばCompaq Computer社、Phoenix社、及びIntel社による「Plug and Play (PnP）BIOS Specification」Version 1.0Aを参照されたい)。現行のBIOS規格の詳細な説明については、例えばCompaq Computer社、Phoenix社、及びIntel社による1996年1月11日付けの「BIOS Boot Specification」Version 1.01を参照されたい。
【００４８】
現在のBIOS規格、及び最新のＤＲフロッピィディスクの作成及び維持を行う際の本発明者が認識した問題に鑑み、本発明者は、改善されたＤＲソリューションを開発した。該ＤＲソリューションは、適当なアプリケーションソフトウエアと、適当なテープドライブと、復元される必要があるＰＣのファイルシステムの最近のバックアップとを使用して、ＤＲを容易にするものである。重要なことは、ＤＲフロッピィディスク等の作成、更新、又は維持を行う必要がないことである。また重要なことは、本書に記載のソリューションが、それを機能させるためにコンピュータハードウエア、BIOS、又はオペレーティングシステムに変更を加える必要のないものであることである。これらの特徴は、既存のバックアップソリューションよりも著しく優れた利点を表すものである。
【００４９】
将来的には、BIOS規格は、テープドライブからのブートが可能となるよう修正され、これにより明らかに現在のＤＲソリューションが不要になるものと予想される。しかし、テープドライブからのブート処理は、新しいBISOが利用可能な新しいコンピュータシステムによってしか利用できないであろう。それゆえ、BIOS規格が修正された場合であっても、より古いBIOSを実行するコンピュータシステムが現行のＤＲソリューションを動作できるようにするために本発明は重要なものであり続けるであろう。更に、本発明によるソリューションは、かかる新しいBIOSを実行する新しいシステムにおいても動作し、このため該ソリューションは普遍的に使用可能なものとなる。実際に、（テープドライブをIPLDとして認識しない）コンピュータシステムがテープドライブからブートする能力は、現在のＤＲソリューションにおいて幅広い用途を見出すものとなる。例えば、ブータブルテープ媒体を有するという概念は、テープ媒体（又は異なるテープ媒体）に格納された（ＤＲアプリケーションのみならず）あらゆるアプリケーションと共に利用することが可能である。
【００５０】
次に本発明の一実施形態を動作させるのに適したハードウエアについて説明することとする。
【００５１】
図１は、標準的なテープドライブ140（以下で説明するように変更されたもの）に接続されたＰＣを示すブロック図である。該ブロック図は、ＰＣ100及びテープドライブ140の基本的な構成要素を示したものである。ＰＣ100は、MS-DOS系マシン、又はWindows NT、又はWindows95/98マシンのいずれかである。
【００５２】
テープドライブ140は、例えば、周知のDDS（デジタルデータ記憶）テープドライブ、DLT（デジタルリニアテープ）テープドライブ、又は他のテープ媒体装置である。
【００５３】
図１に極めて簡素化して示すように、ＰＣ100は、ＣＰＵ105（中央演算装置）を備えており、該ＣＰＵ105は、バス110を介して、ＲＯＭ115（リードオンリーメモリ）、ＲＡＭ120（ランダムアクセスメモリ）、及びＩ／Ｏ（入力／出力）サブシステム125と通信する。
【００５４】
Ｉ／Ｏサブシステム125は、複数の記憶装置に（例えばフロッピィディスクドライブ135に、及びＳＣＳＩ ＨＢＡ128を介してハードディスクドライブ130及びテープドライブ140に）ＰＣ100を接続する。ハードディスクドライブ130及びフロッピィディスクドライブ135がＰＣ100の内部装置として表されているのに対し、テープドライブ140は本構成では外部装置として表されているが、代替的に内部装置とすることも可能である。
【００５５】
実際に、バス110は、多数のバス及びそのそれぞれのバスサブシステム（ホストバス、ＰＣIバス、EISAバス、Ｘバス、Ｙバス等）を備えることが可能である。しかし、これらは十分にドキュメント化されているものであり、説明を簡潔にするために図示しないこととする。更に、典型的なＰＣ内のＩ／Ｏサブシステムは、１つ又は複数のシリアルポート、パラレルポート、ビデオポート、マウスポート、及びそれぞれのサブシステム又はアダプタもまた一般に備えているが、それらは簡略化のために図示していない。典型的なＰＣハードウエアアーキテクチャに関する更に詳細な情報については、Addition-Wesley ISBN 0-201-40399-4によって出版されたHans-Peter Messmer著の「The Indispensable ＰＣ Hardware Hnadbook」第３版を参照されたい。
【００５６】
図１に示すように、典型的なテープドライブ140は、それ自体とＰＣ100との間でのデータ転送を制御するためのホストインタフェイス145を備えている。ＰＣ100から受信される制御信号がコントローラ150に送られて、該コントローラ150がテープドライブ140の全ての構成要素の動作を制御する。該コントローラ150は、典型的には、Motorola68000シリーズマイクロプロセッサといったマイクロプロセッサ、ＲＯＭ185に格納されたファームウエアにより制御される（本実施形態で示すような）マイクロコントローラ、又はＡＳＩＣ（特定用途向けＩＣ）を備えたものとなる。
【００５７】
データバックアップ動作の場合、ＰＣからのデータ書込信号をホストインタフェイス145が受信したことに応じて、コントローラ150が、テープドライブ140を制御してテープにデータを書き込ませる。これは、ホストインタフェイス145がＰＣ100からデータを受信して該データをフォーマッタ155へ送り、該フォーマッタ155が該データを例えばデータの圧縮及び誤り訂正コード及び検出コードの付与を行うことによりフォーマットし、該フォーマットされたデータを例えば８ＭバイトのＲＡＭバンクを備えたバッファ160に格納し、適時（例えばバッファがほぼ一杯になったとき）に読出／書込ブロックがバッファ160から前記フォーマットされたデータを読み出して、磁気読出／書込ヘッド170を駆動するのに適した電気信号へと前記データを変換し、該磁気読出／書込ヘッド170が既知の態様で前記データをテープ媒体175に書き込む、という各ステップからなる。前記テープ媒体175は、テープ機構180内に取り付けられ、該テープ機構180が、テープ媒体175のロード及びイジェクトを行い、またデータの読み出し及び書き込みの必要性に応じて前方又は後方へテープ媒体175を巻き取る。DDSテープドライブの場合には、読出／書込ヘッド170がヘリカル走査ドラム上に搭載され、該ヘリカル走査ドラムは、テープの移動方向に対して傾斜した方向の運動でヘッドをテープに対して掃引させるよう回転する。
【００５８】
一方、データ復元動作の場合には、ＰＣ100からの読み出し信号をホストインタフェイス145が受信したことに応じて、コントローラ150が、テープドライブを制御してＰＣ100へデータを返させる。これは、ヘッド170がテープ媒体175からデータ信号を読み出し、読出／書込ブロック165が該データ信号をデジタルデータ表現へと変換してバッファ160に格納し、フォーマッタ155が該バッファ160から前記データを読み出してその誤りを除去するよう処理を行うと共に該データを解凍してホストインタフェイス145へ送り、該ホストインタフェイス145が該データをＰＣ100に返す、という各ステップからなる。
【００５９】
ホストインタフェイス145、フォーマッタ155、及び読出／書込ブロックは典型的には、それぞれ、１つ又は複数の適当にプログラミングされたASICを含むものである。
【００６０】
本実施形態では、ＰＣ100は、ＳＣＳＩ２等の周知の標準的なＳＣＳＩプロトコルの１つを使用してテープドライブ140との通信を行う。したがって、ホストインタフェイス145は適当なＳＣＳＩアダプタを含むものとなる。ＳＣＳＩプロトコルは、周知のものであって本発明を理解するための周辺機器に過ぎないものであり、このためＳＣＳＩプロトコルの詳細な説明は本書には含めない。代替的に、ＥＩＤＥ又はFibre Channel等の他のプロトコルを用いることが可能である。
【００６１】
一般に、上記のＰＣ100及びテープドライブ140は標準的なものであって周知の装置であるため、本発明を曖昧にしないよう詳細には説明しないこととする。
【００６２】
本実施形態の目的のため、テープドライブ140は、その動作を制御するプログラム即ちファームウエア185に関してのみ変更される。
【００６３】
ファームウエア185は、標準的なファームウエア更新プロセスを使用して、既存のＲＯＭに新規の命令セットを書き込むことにより変更することもできる（ＲＯＭがＥＥＰＲＯＭである場合）。これは周知のことであるため、ここでは説明を省略する。代替的には、ＲＯＭは、新しい命令を含むＲＯＭと単に置換することが可能である。このように、標準的なテープドライブの140の動作の変更は比較的単純なプロセスである。
【００６４】
本実施形態によれば、テープドライブ140内のファームウエア185は、テープドライブ140がテープドライブ140として動作する「標準動作モード」と、テープドライブ140がＣＤ−ＲＯＭドライブをエミュレートするよう構成される「ＤＲ動作モード」との両方を提供するように変更される。ＣＤ−ＲＯＭドライブのエミュレーションは、部分的には、ＰＣ100に対してＣＤ−ＲＯＭドライブとして識別されるようにテープドライブ140を構成し、及びＣＤ−ＲＯＭドライブのＳＣＳＩコマンドセットをエミュレートするようテープドライブ140内のＳＣＳＩコマンドセットを変更することにより達成される。変更されたＳＣＳＩコマンドセットの特定の細部は、本書の最後の方で与えられる。ＣＤ−ＲＯＭドライブをエミュレートする能力を使用して、テープドライブ140は、現存のPC BIOS規格、ＰＣハードウエア、又はＰＣオペレーティングシステムを変更することを必要とせず、IPLDとして動作することができる。
【００６５】
本実施形態では、テープドライブ140が通常モードで動作するかＤＲモードで動作するかは、ユーザの選択によって決定される。ユーザによるモード選択は、テープドライブイジェクトボタンを用いることにより、追加のテープドライブハードウエアを必要とすることなく実施することが可能である。イジェクトボタンを押下した状態でテープドライブ140の電源を投入する場合にはＤＲ動作モードが選択され、そうでない場合には通常モードが選択される。この選択機能は、電源投入時の自己検査シーケンス中にイジェクトボタンの状態を検査するようにテープドライブのファームウエア185を変更することにより達成される。テープドライブ140の電源が既に入っている場合には、その動作が取出しであるかユーザ選択によるＤＲモードであるかを判定するために、イジェクトボタンが押下された時間の長さを検査するようにファームウエア185を変更することによって、長時間（例えば５秒間）にわたりイジェクトボタンを押下することによりＤＲモードを選択することが可能となる。モードを選択するための他の様々な手段を使用することが可能であり、例えば、テープドライブ140専用のＤＲボタン又はスイッチを配設することが可能である。しかし、本実装形態は、テープドライブ140にいかなる物理的な変更をも加える必要がないという利点を有するものである。
【００６６】
本実施形態の動作を詳細に記載する前に、その技術的な背景としてＰＣの標準的なブートプロセスの概要について説明する。
【００６７】
任意のＰＣ100を機能させるためには、ＰＣはプログラム命令に従わなければならない。典型的には、ＰＣ100上で実行される標準的なプログラムはハードディスクドライブ130上に格納されており、必要に応じてＣＰＵ105により処理されるようＲＡＭ120にロードされる。ＲＡＭ120から、ＣＰＵ105は各プログラムの命令を読み出し、それを実行することができる。
【００６８】
しかし、電源投入時又はシステムリセット時にはＰＣ内のＲＡＭ120は空であり、従うべきプログラム命令は存在しない。それゆえ、BIOSプログラムが与えられ、それがＲＯＭ115に書き込まれてＰＣ100の起動の役割を果たすものとなる。
【００６９】
BIOSプログラムは、コンピュータ業界により作成された一定の規格に準拠し、及び何年も要して開発されてきたものであり、準拠するＣＰＵが常にＲＯＭ内の同じ場所（例えばFFFF0h）をアドレス指定してBIOSプログラムの開始位置を見つけることができるようになっている。ＣＰＵはこのＲＯＭ位置からBIOSプログラムの初期命令を読み出してその実行を開始する。
【００７０】
BIOSプログラムは、その実行が開始されると、他のプログラムを呼び出すシステムブートシーケンスを開始して、オペレーティングシステムをロードし、ＰＣ100の通常使用のための準備をする。
【００７１】
最初のブートシーケンスタスクの１つは、電源投入時の自己検査（POST）である。該POST後に、BIOSプログラムで制御されたＰＣ100は、キーボード及びＶＤＵといったブート装置を初期化する。これらの１つ又は複数のブート装置は、それ専用のBIOSプログラムを有する場合もあり、かかる専用のBIOSプログラムは、メインBIOSプログラムによりその位置が識別されて初期化される。典型的には、ビデオドライバ及びＳＣＳＩアダプタは、各インタフェイスカード上のＲＯＭ内に保持された専用のBIOSプログラムを有する。次いでBIOSプログラムによって、ＰＣ100は、LPT1及びCOM1といったシステムの論理デバイス並びにメモリ構成を検査できるようになる。次いで、BIOSプログラムは、該BIOSプログラムがブータブルデータ（通常はデータ又はオペレーティングシステムのファイルを含む）のロード及び実行を行うことが可能なIPLDを検査する。
【００７２】
ブータブルデータは典型的には、通常ドライブ文字「C：」が割り当てられたハードディスクドライブ130上の所定の位置に存在する。したがって、通常は、ＰＣのオペレーティングシステムは、ハードディスクドライブ130からブートされる。
【００７３】
しかし、一般にBIOSプログラムは、ハードディスクドライブ130の前にドライブ文字「A：」が割り当てられたフロッピィディスクドライブ135にアクセスして該フロッピィディスクドライブ135にブータブルデータを含むフロッピィディスクが装填されているか否かを判定するよう規定するものである（但し、これとは異なる構成とすることも可能である）。このように、ハードディスクドライブ130がブータブルデータを含むかアクセス可能な状態にあるかに全くかかわらず、ＰＣ100をフロッピィディスクからブートすることが可能である。これは、ＤＲフロッピィディスクがＤＲ手順を開始するための標準的な手段とされてきた主な理由である。
【００７４】
BIOSは、ブータブルデータを含むIPLDの位置を探し出すと、実行可能プログラムを含む１つ又は複数のファイルを探し出してＲＡＭにロードし、該実行可能プログラムを実行し、これによりＰＣの制御を該実行可能プログラムへと移す。該プログラムは典型的には、例えばディスクドライブのパーティション化やデバイスドライバの構成等を行うことにより、オペレーティングシステムの残りの部分をロードし初期化する。更に該プログラムは、（オペレーティングシステムの一部ではない）アプリケーションプログラムをロードし、かつ実行するように構成することが可能なものであり、これによりユーザの介在を必要とすることなく、ＰＣの制御を直接アプリケーションプログラムに渡すことができる。かかるプログラムには、自動実行アプリケーションとして知られるものがある。原理的には、かかるアプリケーションはメモリに直接ロードして実行することが可能である。しかし実際には、かかるプログラムは、ハードディスク上にコピーされる傾向にあり、必要に応じてハードディスクから実行されることになる。
【００７５】
「通常モード」及びＣＤ−ＲＯＭドライブエミュレーションを与える「ＤＲモード」の２つの動作モードを与えるようテープドライブ140内のファームウエア185を構成したら、テープドライブ140がＤＲ動作中に使用するためのブータブルＣＤ−ＲＯＭイメージをテープ媒体175上に生成する必要がある。
【００７６】
本実施形態によれば、ブータブルＣＤ−ＲＯＭイメージ、即ちＤＲ ＣＤ−ＲＯＭイメージは、テープ媒体175上の所定の位置に格納される。該ＣＤ−ＲＯＭイメージは、それを「ブータブルなもの」として識別するエントリを含む。該イメージ自体は、以下に一層詳細に説明するように、バックアップテープ媒体175を当初に作成したバックアップアプリケーションソフトウエアによって作成される。
【００７７】
図２は、El Torito仕様及びISO9660規格に準拠したブータブルＣＤ−ＲＯＭイメージ200のフォーマットを示している。便宜上、そのフォーマット規格の基本的な構成の概要を以下に記載する。ISOにより規定されるように、最初の16個のＣＤ−ＲＯＭセクタは、それぞれ２Kバイトセクタであり、システム領域205と呼ばれる。該システム領域205は、独自の目的のために製造メーカによって所望のように用いられることができる。したがってこれは非規格領域であり、所望のように開発することができる。従来のＣＤ−ＲＯＭ開発システムでは、製造メーカは、この全領域に情報を与えることができることに特に留意されたい。本実施形態によれば、システム領域205のセクタ１５がブートカタログ210として用いられる。該ブートカタログ210は、ブータブルディスクイメージ240へのポインタを含む。ISO規格によれば、セクタ１６（17番目のセクタ）に、プライマリボリュームディスクリプタブロック215と呼ばれるブロックが配置される。該プライマリボリュームディスクリプタブロック215は、ＣＤ−ＲＯＭ及び該ＣＤ−ＲＯＭ上のデータに関する情報を含む。プライマリボリュームディスクリプタブロック215の値は、特定のＣＤ−ＲＯＭに含まれるプライマリボリューム空間の大きさを示しており、これはボリュームサイズと呼ばれる。次のセクタ１７（18番目のセクタ）は、ブートカタログ210へのポインタを含むEl  Torito専用ブートレコードボリューム220である。次のセクタは、セットターミネータボリューム225として定義される。このセクタは、情報を提供するために用いられるボリュームディスクリプタセット内の他の様々なブロックが終了してプライマリボリューム空間が開始することを示す一定の情報を提供する。セットターミネータボリューム225に続き、プライマリボリューム空間内には、ディレクトリパステーブル230及びディレクトリ構造235を含むセクタが存在する。次いでブートカタログ210によって指定されるブータブルディスクイメージ240がくる。該ブータブルディスクイメージ240は実質的にコンピュータシステムが実際にブートすることができるデータである。これは、フロッピィディスクイメージ、ハードディスクイメージ、又は適当な生データ（非エミュレーションモードの場合）とすることが可能である。最後に、ＣＤ−ＲＯＭボリュームコンテンツ245（例えばアプリケーションソフトウエアファイル）が位置する。
【００７８】
ここで、ISO9660及びEl Torito仕様に準拠するＣＤ−ＲＯＭイメージの内容について表１〜４を参照して以下で詳細に検討する。
【００７９】
表１は、ブートレコードボリューム220の内容を示している。特に、表１に示すように、ブートレコードボリューム220は、オフセットバイト７〜２６に、ゼロパディングしたテキスト「EL TORITO SPECIFICATION」を含む。以下で説明するように、ＣＤ−ＲＯＭイメージのこの部分は、これとの遭遇時にテープドライブ140にテープ媒体が本実施形態によるＤＲ媒体であることを示すものとなる。
【００８０】
【表１】
0004518672.tif 000002
【００８１】
ブートカタログ210は、ブートレコードボリューム220のバイト47〜4A内のポインタによって示される位置におけるＣＤ−ＲＯＭイメージの部分を形成する。ブートカタログ210は最初に、ブートカタログが存在することを示す妥当性検査エントリを含み、続いて、ブータブルイメージの形式を記述する初期／デフォルトエントリがくる。既に説明したように、ブートカタログ210は、固定位置に存在するこれまで未使用の単一のセクタ、即ちセクタ0x0F内に保持されるが、必要に応じて任意の他の利用可能なセクタ内に置くことが可能である。妥当性検査エントリ及び初期／デフォルトエントリのフォーマットを、それぞれ表２及び表３に示す。
【００８２】
【表２】
0004518672.tif 000003
【００８３】
【表３】
0004518672.tif 000004
【００８４】
ブート媒体タイプのための設定された値に応じて、ブータブルディスクイメージは、システムがエミュレートすることを意図するフロッピィディスク又はハードディスクの厳密な複製からなる。該イメージは、複数のソース媒体を構成する全てのブロックを連結して１つのファイルにすることにより作成される。ディスク構成(geometry)を再作成してその情報に正しくアクセスすることが、INT13（DOS割込み13）の役割である。ブート媒体タイプに非エミュレーションを用いる場合には、これは単なる「ローダ」又はスタンドアロンプログラムとなる。所定のセグメント（通常は7C0）に所定数のセクタがロードされ、次いでそのロードアドレスへとBIOSがジャンプする。
【００８５】
ブータブルディスクイメージファイル240は、ＣＤボリュームのルートディレクトリ内の最初のファイルとしてISO-9660フォーマットで配置される。標準的なISO-9660ディレクトリパステーブル230及びディレクトリエントリテーブルは、ボリューム内のこの特別なファイルを考慮するよう構築される。非エミュレーションモードが使用され、及びブータブルディスクイメージのサイズが15セクタ以下である場合には、該ブータブルディスクイメージをＣＤイメージの開始部分における未使用のシステム領域内に置くことが可能であり、これによりＣＤボリューム内にファイルを作成する必要がなくなり、幾分かの空間が節約されることに留意されたい。
【００８６】
ISO9660データ構造は主に３つのカテゴリ、即ち、ボリュームディスクリプタ、ディレクトリ構造、及びパステーブルに含まれる。ボリュームディスクリプタは、ディレクトリ構造235及びパステーブル230が配置される場所を示し、ディレクトリ構造235は実際のファイルが配置される場所を示し、パステーブル230は各ディレクトリへのショートカットを提供する。ＣＤ−ＲＯＭイメージは、パステーブル、ディレクトリ構造、及び（当然のことながら）実際のファイル（ブータブルディスクイメージファイルを含む）から構成される。表４に示すように、プライマリボリュームディスクリプタは、少なくとも以下の情報を含んでいなければならない。
【００８７】
【表４】
0004518672.tif 000005
【００８８】
ISO9660仕様は、プライマリ及びセットターミネータボリュームディスクリプタ、パステーブル、及びディレクトリ構造に関する完全な細部を含む。実際のファイルは、ディレクトリ構造において規定されるセクタ位置でＣＤイメージに書き込まれる（各ファイルは新しいセクタで開始することに留意されたい）。
【００８９】
本実施形態によれば、ＤＲ可能なテープ媒体を作成するために、バックアップアプリケーションソフトウエアは、テープドライブ140がＤＲ可能なものである場合に、テープ媒体175を上書きするバックアップ動作が行われる度に該テープ媒体175上に（上述のような）ＣＤ−ＲＯＭイメージを加えるよう構成される。これを達成するための１つの方法は、標準的なテープフォーマット動作の一部として所定の位置でテープ媒体175にＣＤ−ＲＯＭイメージを書き込むことである（これはテープ媒体を上書きするバックアップが行われる度に実行される）。
【００９０】
更に、又は代替的に、テープドライブ140がＤＲ可能なものでない場合であっても、バックアップアプリケーションソフトウエアがＣＤ−ＲＯＭイメージを加えるためのユーザによる選択を提供し、これによりテープ媒体175を依然としてＤＲ可能ドライブで使用可能なものとすることが有利であると考える。バックアップアプリケーションソフトウエアがテープドライブ140のＤＲ能力を検出するための１つの方法は、ＤＲ制御のための新しいＳＣＳＩモードページの存在を検査することであり、これについて以下で説明する。
【００９１】
ＣＤ−ＲＯＭイメージは、インストールされたハードウエア装置（例えばＳＣＳＩ  ＨＢＡ１２８）に関連する現在のＰＣ構成を反映する。換言すれば、最新のＤＲフロッピィディスクセットと等価なものが、ＰＣ100がバックアップされる度に自動的に作成され、これは毎日という頻度で行うことが可能である。このため、ＤＲ媒体が遅れた状態で存在する可能性が極めて低減される。
【００９２】
当初のＤＲ ＣＤ−ＲＯＭイメージは、標準的なファイルとしてアプリケーションソフトウエアにより作成されることが好ましい。このＤＲ ＣＤ−ＲＯＭイメージファイルは、ISO9660仕様及びEl  ToritoブータブルＣＤ−ＲＯＭ仕様に準拠するブータブルＣＤ−ＲＯＭ媒体の精確なイメージを含むものである。
【００９３】
ブータブルＣＤ−ＲＯＭの内容は、必要最小限のオペレーティングシステムと、必要最小限のバックアップアプリケーションソフトウエアとを含んでおり、これにより、ＣＤ−ＲＯＭイメージからのブート後にバックアップテープからシステムデータを復元することが可能となる。本質的には、ＣＤ−ＲＯＭイメージは、以下の変更点を除き、現行のフロッピィディスクベースのＤＲソフトウエアソリューションと同一の内容を含むものである。該変更点は次の通りである。
・（多数のフロッピィディスクの代わりに）ブータブルＣＤ−ＲＯＭ構造から実行できる点。
・ハードウェアにより符号化されたデバイスタイプに対する依存性(hard-coded device type dependency)（例えばフロッピィパス／ＣＤパス）が完全に排除される点。
・ＣＤ−ＲＯＭのランダムアクセス動作特性をテープドライブ上でのシーケンシャルの使用に関して最適化して（但し、必ずしもそうする必要はない）、以下で説明するようにファイルアクセス間の最大シーク時間を確実に10秒にすることができる点。
【００９４】
図３ａは、テープ媒体175の長さ300の開始部分におけるＣＤ−ＲＯＭイメージ305のための１つの考え得る位置を示している。該ＣＤ−ＲＯＭイメージ305に続き、２つのファイルマーク310,315、特定のバックアップアプリケーションソフトウエアにより媒体が生成されたことを識別するアプリケーションソフトウエアベンダ（SV）ヘッダ320、及び最後にバックアップデータ325自体が位置する。
【００９５】
しかし、既知のバックアップアプリケーションソフトウエアが一般にSVヘッダのためにテープ媒体175上の最初の数データブロックを使用することを考えると、上記方式は、新しいＤＲ可能バックアップテープ媒体175が以前のバージョンのアプリケーションソフトウエアによって認識されないことになる、ということを意味するものとなる。このため、本発明者は、図３ｂに示す方式が、以前のバージョンのバックアップアプリケーションソフトウエアとの後方互換性を提供するためより好ましいものとなると判断している。
【００９６】
図３ｂでは、テープ媒体175の長さ330上の最初の数データブロックが標準的なSVヘッダ335（アプリケーションソフトウエアサイズのブロックを有するもの）であり、それに続き、アプリケーションヘッダ335をパディングして所定サイズの20ブロック（0〜19）にするための多数の空ブロック340（任意のブロックサイズ）、ＣＤ−ＲＯＭイメージ345（2048バイトブロックサイズ）、ファイルマーク350、及び最後にバックアップデータセット355（アプリケーションソフトウエアブロックサイズ）が位置する。この構成は、ＣＤ−ＲＯＭイメージ345が常に、LBOT（テープの論理的な開始位置）から21番目のブロックで開始することを規定したものであり、このためテープドライブ140による探索が極めて容易となる。
【００９７】
ここで図４を参照して、図３ｂで示すフォーマットにおいて固定位置でＤＲイメージファイル全体をテープ媒体175に書き込む方法について説明する。
【００９８】
ステップ400で、テープ媒体175がLBOTまで巻き戻される。その後ステップ405で、通常のアプリケーションソフトウエアラベルブロック335が、標準的なアプリケーションソフトウエアブロックサイズでテープ媒体175に書き込まれる。ステップ410で、アプリケーションソフトウエアの通常の固定ブロックサイズがモード検知コマンドを使用して読み出され、その値がセーブされる。次いでステップ415で、モード選択コマンドを使用して固定ブロックサイズが2048バイトへと変更される。ステップ420で、「Ｎ」個のヌルデータブロック340がＣＤ−ＲＯＭイメージの所定の開始位置まで固定ブロックモード書き込みを使用してテープ媒体175に書き込まれる。ここで、
Ｎ＝（20−アプリケーションラベルブロック数）
である。
【００９９】
次いでステップ425で、あらゆるハードウエア圧縮が、適当なＳＣＳＩモード選択コマンドを使用してディセーブルされる（イメージは圧縮又は非圧縮データとして書き込むことが可能であるため、これは随意選択事項である）。次いでステップ430で、ＣＤ−ＲＯＭイメージ345が、固定ブロックモード書き込みを使用してテープ媒体175に書き込まれる。ステップ435で、現在の固定ブロックサイズが元のアプリケーションブロックサイズに戻され、ステップ440で、ハードウエア圧縮（適用できるのであれば）が、適当なＳＣＳＩモード選択コマンドを使用して再度イネーブルされる。最後にファイルマーク350がテープに書き込まれる。
【０１００】
その結果として得られるテープフォーマットは、以前のバージョンのアプリケーションソフトウエアとのバックアップテープの後方互換性に干渉しないものとなる。これは、アプリケーションラベル以降のＣＤ−ＲＯＭイメージデータが、以前のバージョンによりアクセスされることが決してないからである。
【０１０１】
現在のＤＲイメージファイルの更新を必要とするようなＰＣ構成の変更があった場合には、該ＤＲイメージファイル全体の再作成を必要とすることなく該ＤＲイメージファイルの更新が適用されることが好ましい。かかる更新は、例えば、ハードウエアの変更（例えば新しいＳＣＳＩ ＨＢＡの追加）に起因し、又はオペレーティングシステムのパーティション／ボリュームの変更に起因するものである。次いで、ＤＲイメージファイルに対する更新は、イメージファイルのうちの古い部分のみを上書きすることによりテープに書き込まれる。
【０１０２】
ＤＲイメージファイルが過去に更新されており、その後のバックアップ動作が上書きではなくバックアップ媒体への追加である場合には、アプリケーションソフトウエアによって誤りメッセージを生成して、現在のバックアップ媒体が最新のＤＲ更新を含んでおらず上書きによる完全なバックアップが推奨されることをユーザに警告すべきである。
【０１０３】
ここで、図５のフローチャートを参照して、ＤＲ動作について更に詳細に説明する。同図において、実線は主なプロセスフローを表し、破線はＰＣ100とテープドライブ140との間の相互作用を表している。
【０１０４】
図５によれば、ステップ500で、電源投入時にイジェクトボタンを押下し続けることにより、ユーザはテープドライブ140のＤＲモードを開始させる。その結果として、テープドライブ140は、テープドライブのフロントパネル（図示せず）に適当な信号を表示し、例えば１つ又は複数のフロントパネルLEDを点灯させ、又はLCDディスプレイ上にグラフィカルメッセージを生成する。次いでテープドライブ140は下記のように処理を続行する。
【０１０５】
ステップ505で、テープドライブ140は、テープ媒体175が正常にテープドライブ140内に存在するか否かを判定し、正常でない場合には、ステップ510で適当な警告信号を生成する。媒体が装填されるのを待つ間、及びＤＲ能力について媒体を検査する間、テープドライブ140は、ＰＣ100からのテストユニットレディコマンドに応じて検知キー「NOT READY」（0x02）及び拡張検知「LOADING」（0x0401）を有する「CHECK CONDITION」を返すように構成される。これは実際には誤った応答となる場合もあり、その誤った応答によって、BIOSが騙され、テープが装填されるのを待ち（予め行われなかった場合）、電源投入時にテープドライブに挿入した後に30秒を要する場合もある。ここで、テープの装填が完了する前に正しい応答が返された場合には（正しい応答は拡張検知「MEDIA NOT LOADED」を含む）、BIOSは、異なるIPLDの探索の試行時に該テープドライブからすぐに移動することになる。換言すれば、ＤＲは作動しなかったことになる。誤った応答により、BIOSは、テープドライブ（ＣＤ−ＲＯＭドライブをエミュレートしているもの）が最初のブロックを読み出すのを待った後にタイムアウトするまでに、少なくとも60秒間待機するようになる。この時間は、テープ媒体が、挿入され、装填され、及びＤＲ能力が検査されるのに十分な時間である。誤った応答を生成する能力は、テープドライブ140がＰＣの電源を共有する「内部」テープドライブである場合に、テープドライブ動作の重要な要件となる。この機能が存在しない場合には、「内部」テープドライブがＤＲモードを提供することができないことになる可能性が高い。明らかに、「外部」テープドライブを用いる機構にはかかる問題はなく、外部テープドライブは専用の電源を有し、ＰＣの電源を入れる前に電源を入れて準備することができる。
【０１０６】
テープ媒体175がユーザによって装填される場合には、ステップ515で、ファームウエア185がテープドライブ140を制御して、テープ媒体175が有効なＤＲテープ媒体であるかを見出すために検査を行う。これは、テープ媒体175をLBOTまで再度巻き取り、該テープ媒体175の開始位置から読み出しを行い、ＣＤ−ＲＯＭイメージのブートレコードボリュームディスクリプタにおける適当なブートシステム識別子エントリを探索することにより行われる。本実施形態の目的のために、テープドライブがLOBTからブロック37までを探索し、バイト0x7〜0x26がゼロパディングされた「EL TORITO SPECIFICATION」でなければならない。更に、テープドライブファームウエア185は、（LBOTから）ブロック20まで探索を行って2048バイトを読み出すことにより、イメージが2048バイトブロックで書き込まれているか否かを判定する。違法長さ指示子（ILI）が生成されない場合には、ＤＲイメージは2048バイトブロックで書き込まれている。
【０１０７】
テープ媒体175がＤＲ媒体であることが判明した場合には、ステップ525で、テープドライブ140が、適当なＣＤ−ＲＯＭ ＳＣＳＩコマンドセットをイネーブルにしてフロントパネル上に適当なＤＲモード信号を表示することによりＤＲモードに切り替わる。そうでない場合には、ステップ520で、テープドライブ140はテープ媒体175を取り出し、ステップ510で別の適当な警告信号がフロントパネルディスプレイを介して提供される。
【０１０８】
次の条件のうちの１つが満たされるまでテープドライブ140は「ＤＲモード」のままとなる。
・テープドライブ140の電源投入動作が繰り返される(power cycled)。
・バックアップアプリケーションソフトウエアがＤＲモードページコマンドを送出してＤＲモードをディセーブルする。
・ユーザが装填されたＤＲ可能媒体を手動でイジェクトする。
・ＤＲモード中に100個以上のＣＤ−ＲＯＭブロックが読み出された後にテープドライブ140がＳＣＳＩバスリセット休止信号を受信する。
【０１０９】
「ＤＲ」モードを抜ける際に、エミュレートされたＣＤ−ＲＯＭ ＳＣＳＩコマンドがディセーブルされてテープドライブ140が通常モードに戻る。次いでテープドライブ140が電源投入時と同じ状態になる。
【０１１０】
ステップ530で、ＰＣ100がブートされて、上記のようにBIOSプログラムにより規定されるステップを実行する。特に、ステップ535で、ＰＣ100は、ブータブルファイルシステムを含むIPLDを探索する。典型的なBIOSブートシーケンスは次の通りである。
１．ブータブルフロッピィディスクを含むフロッピィディスクドライブを探索し、該ドライブの発見時に該ドライブからのブートを試行し、該ドライブが発見されない場合には、
２．ブータブルＣＤ−ＲＯＭ媒体を含むＣＤ−ＲＯＭドライブを探索し、該ドライブの発見時に該ドライブからのブートを試行し、該ドライブが発見されない場合には、
３．ハードディスクドライブからのブートを試行する。
【０１１１】
ブータブルデータを含む他のIPLDが発見されないものと仮定すると、ステップ540で、ＰＣ100がテープドライブ140にアクセスし、ＳＣＳＩ「INQUIRY」コマンドを発行する。該コマンドに応じて、ステップ545で、ＤＲモードで動作するテープドライブ140が、標準問合せデータCDB（Control Data Block：制御データブロック）を返す。該標準問合せデータCDBは、１（テープドライブ装置タイプ）ではなく５（ＣＤ−ＲＯＭ装置タイプ）の周辺装置タイプ値を有し、これはテープドライブ140をＣＤ−ＲＯＭドライブとして識別するものである。更に、標準問合せデータは、テープドライブがＤＲ可能であることをアプリケーションソフトウエア（インストールされ実行されているとき）に指示し、及びどのバージョンのＤＲファームウエアが存在するかも指示するシグネチャストリング（例えば「DR-1.0」）を含む。次いでステップ550で、ＰＣ100がテープドライブ140からＣＤ−ＲＯＭイメージの開始部分を読み出して、ブータブルＣＤ−ＲＯＭファイルシステムを検査し、ステップ555で、テープドライブ140による返信時に、ステップ560で、ＰＣ100がテープドライブ140をブートパスとして指定する。
【０１１２】
これは、システム内に他に実際のＣＤ−ＲＯＭドライブ装置が存在する場合であっても（それがブータブルＣＤ−ＲＯＭを含まない限り）、ＰＣ100は、テープドライブ140パス内のＣＤ−ＲＯＭイメージからブートを行うことを意味している。本ＤＲ動作が機能するための他の要件は、ＰＣ BIOS又はＳＣＳＩホストアダプタBIOSがブータブルＣＤ−ＲＯＭドライブをサポートすることだけである（全ての最近のＳＣＳＩホストアダプタカード又はマザーボードチップセットでは該要件は一般に満たされている）。
【０１１３】
ステップ565で、ＰＣ100がＣＤ−ＲＯＭイメージの読み出しを行い、ステップ570でＣＤ−ＲＯＭイメージがテープドライブ140により返される。テープドライブ140にアクセスできることを含むようＰＣを構成するために、オペレーティングシステムファイルは、ＲＡＭ120内に直接読み込まれて、ＣＰＵ105により実行される。バックアップアプリケーションソフトウエアファイルは、その読み出しが行われてハードディスク上に格納され、該ハードディスク上から該ファイルを実行することが可能となる。
【０１１４】
次にステップ575で、ＰＣ100は、ＤＲのためのバックアップアプリケーションソフトウエアを実行し、テープドライブのＤＲモードページにアクセスするＳＣＳＩモード選択コマンドを発行し、ＤＲモードを終了させて通常モードを開始させ、通常のテープドライブ動作へと続く。
【０１１５】
ステップ580で、テープドライブ140が通常モードに戻り、バッファ160がパージされ、テープ媒体175が標準的なテープドライブコマンド（Locate、Space、Readなど）によって物理的にアクセスされることが可能となる。これにより、ＰＣがあたかも最初にＤＲフロッピィディスクからブートされたように、ＰＣ復元を進行させることが可能となる。
【０１１６】
最後にステップ585では、ＰＣ100は、そのファイルシステム全体がハードディスクドライブ130上に復元されるまで、テープドライブ140からテープ媒体175上に格納されたバックアップデータセットを取り出し続ける。その後、再構築されたＰＣ100は、通常通りにハードディスクドライブ130からブートすることが可能となる。
【０１１７】
ＤＲモードで動作しているとき、テープドライブ140は、ランダムアクセスドライブであるＣＤ−ＲＯＭドライブをエミュレートする必要がある。しかし、テープドライブ140は、シーケンシャルアクセス装置である。このため、幾つかの問題が生じる。例えば、テープドライブは典型的には、媒体上の異なる場所にあるデータチャンクをランダムアクセスドライブのように迅速に探し出すことはできない。また、テープドライブが特定のデータを探し出すためにテープの同じ部分を繰返し読み出す場合には、テープの摩耗という問題が生じる可能性がある。
【０１１８】
本発明者は、２つの重要なステップを実施することにより、かかる問題に取り組み、テープ摩耗及びデータ探索時間の両方の問題を低減させるものである。
【０１１９】
その第１のステップは、ＣＤ−ＲＯＭイメージからの特定のデータが最初にバッファメモリ160内にキャッシュされることを必要とし、第２のステップは、ＣＤ−ＲＯＭイメージを構成する複数のファイルが、テープドライブの性能を最適化させるために可能な限りシーケンシャルにアクセスできるよう順序付けされることを必要とする。
【０１２０】
キャッシュ処理に関しては、本発明者が知る最も大きい現在利用可能なブータブルＤＲフロッピィディスクセットは、４枚のフロッピィディスクからなり、約６Ｍバイトのデータを有するため、全ＣＤ−ＲＯＭイメージは８Ｍバイトのバッファ内に適合するものとなる。しかし、多くのテープドライブは、８Ｍバイトのバッファメモリを有しておらず（バッファメモリは通常は１〜２Ｍバイトのみ）、また一般にバッファサイズはＣＤ−ＲＯＭイメージのサイズよりも小さいものとなる。それゆえ、かかる装置は、ＣＤ−ＲＯＭイメージアクセスコマンド（Seek、Read）に応じて２回以上テープ媒体にアクセスする必要がある、
しかし、本実施形態によれば、テープドライブは、媒体のＤＲ能力が検査される際に少なくとも123ブロックのＣＤ−ＲＯＭイメージの永久的な（即ち、少なくともＤＲモード中には永久的な）キャッシュをメモリバッファ160内に読み込むよう構成される。したがって、テープドライブは、ＤＲモード中にテープ上の該ＣＤ−ＲＯＭイメージの領域に再びアクセスする必要がない。これらの123ブロックは、約6000ファイルのためのＣＤ−ＲＯＭディレクトリエントリ領域を表すものとなる。その結果として、各ファイルがＰＣにより読み出される際にテープドライブがそのテープからディレクトリに再アクセスする必要がなくなる。即ち、テープドライブは、要求されたファイルが存在するテープ上の位置を見つけ出すために、キャッシュからディレクトリを読み出すように構成される。
【０１２１】
更に、テープドライブにより２回以上アクセスされる必要のあるＣＤ−ＲＯＭイメージ中のできる限り多くのファイル（例えばＳＣＳＩドライバ）が永久的なキャッシュに書き込まれる。明らかにその数は利用可能なキャッシュの大きさによって決まる。これを容易に達成するために、２回以上アクセスされる必要があるファイルは、アプリケーションソフトウエアにより、ディレクトリブロックの直後であってＣＤ−ＲＯＭイメージの前付近に格納されるよう配置される。
【０１２２】
典型的には、ＣＤ−ＲＯＭドライブでは、ＣＤ−ＲＯＭ上の異なる位置にあるファイルを探し出す動作は最小限のオーバーヘッドを生成するものであるため、ファイルは任意の形態で（例えばアルファベット順に又はディレクトリ順に関連して）順序付けすることが可能である。本発明者は、この任意の配置が、テープ媒体上の同一ファイルを探し出すための不要なオーバーヘッドを生じさせるものであると理解している。
【０１２３】
このため、テープ上のファイルは、該ファイルが、できる限り、ＤＲ動作中にアプリケーションソフトウエアによりアクセスされる必要がある順序で、アプリケーションソフトウエアによって順序付けされる。これにより、テープ探索動作のための要件が最小限になり、オーバーヘッドが可能な限り低減される。
【０１２４】
ここで、一例として、Windows NTオペレーティングシステムのためのＣＤ−ＲＯＭイメージ内のファイルの最適な配置について説明する。該例は、災害回復時に用いられるTXTSETUP.SIFファイルについて以下の重要な仮定をするものである。
【０１２５】
［SourceDisksFiles］セクション及び［SourceDisksFiles.x86］セクションは、１つの［SourceDisksFiles］セクションへとマージされる。
【０１２６】
任意の付加的なＳＣＳＩ ＨＢＡデバイスドライバ（例えば、RAID、U2Wなど）は、標準的なセットの前にロードされる。
【０１２７】
【表５】
0004518672.tif 000006
【０１２８】
0004518672.tif 000007
【０１２９】
0004518672.tif 000008
【０１３０】
0004518672.tif 000009
【０１３１】
一般に、上記のようにキャッシュを使用してファイルを順序付けすることは、ランダムアクセス読出コマンドに基づいてシーケンシャル記憶装置からデータを復元することを必要とする任意のシステムにより用いることが可能である、とことが理解されよう。
【０１３２】
全ての場合において、テープドライブ140は、ＣＤ−ＲＯＭドライブアクセスコマンドの論理ブロックアドレスをテープ媒体上の物理的な位置へと変換することにより、テープ媒体上の正確なデータにアクセスする。特定のファイルのテープ上の位置は、該ファイルのためのキャッシュされたディレクトリエントリから導出される。テープ上のファイルの位置は、固定の２Kバイトブロックサイズ（即ち2048バイト）を用いて書き込まれているテープ媒体によって決まる。次いで、ＣＤ−ＲＯＭドライブを意図したランダムアクセスコマンドのシーケンシャルテープ媒体位置への変換は、テープドライブコマンドLOCATEを使用してＸ番目のブロックへテープ媒体を移動させることにより達成される。
【０１３３】
ここで、
Ｘ＝（BOTからのCDイメージブロックオフセット）
＋（Seek／Readにおいて要求されるブロックアドレス）
である。
【０１３４】
また、テープドライブ性能は、可能な限り多くのデータをテープから永久的なキャッシュにより用いられないメモリバッファ160内の残りの空間内へ読み込み、これにより後続のテープアクセスのための先読み（read ahead）キャッシュとしてメモリバッファを用いることによって改善される可能性がある。
【０１３５】
次いで、一般に、ＣＤ−ＲＯＭ読み出しによって要求されるデータがバッファ160内に予めキャッシュされていない場合には、そのデータは、標準的なテープドライブのLOCATE及びREAD機能を用いることによりテープ媒体から読み出される。LOCATEコマンドを使用して、テープ媒体を必要な開始読出ブロック位置へ移動させ、次いで、固定ブロックモードでREADコマンドを使用して、要求されたブロック数をテープからバッファに読み込む。
【０１３６】
本実施形態に従って動作するためにテープドライブ140によって必要とされる新規のコマンド及び変更されたコマンドについてより詳細に説明する。
テストユニットレディ(TUR)
このコマンドは、通常モード中に全く同じCDBを用いるが、ＤＲモード中には異なる挙動をする。
【０１３７】
ドライブがＤＲモードで電源投入された際に媒体が未だ装填されていない場合、第１の媒体が装填されるのを待機する間に、TURコマンドは、検知キーNOT READY（0x02）及び拡張検知LOADING（0x0401）と共に「CHECK CONDITION」を返し、
装填された第１の媒体のＤＲ能力を検査する間に、TURコマンドは、検知キーNOT READY（0x02）及び拡張検知LOADING（0x0401）と共に「CHECK CONDITION」を返す。
問合せ
通常動作モード及びＤＲ動作モードの両方において、標準的な問合せデータページは、シグネチャ及びバージョン番号、即ち「DR-1.0」を提供するための６つの特別なバイト43〜48を含む。その最初の３バイトは、ＤＲが本実施形態によるＤＲをサポートしているか否かをアプリケーションソフトウエアが検査するための識別子として作用するシグネチャである。したがって、アプリケーションソフトウエアは、テープドライブの標準的な問合せデータ内のストリング「DR-1.0」を検査するよう構成される。バージョン値は残りの３バイトである。バイト４付加バイト長(byte 4 Additional Length)値もまた、追加の６バイトの問合せデータに適応させるよう変更される。
【０１３８】
ＤＲモード中に、このコマンドは、サポートされる全ての問合せデータページにおける周辺装置タイプビットを除き、通常モード時と同じCDBを使用して全く同じように挙動する。該周辺装置タイプは、各問合せデータページのバイト０、即ちビット０〜４により設定され、値１（テープ装置タイプ）〜５（ＣＤ−ＲＯＭ装置タイプ）まで変更される。
要求検知
このコマンドは通常モードと全く同じCDBを用いて全く同じように動作する。開始／終了ユニット
このコマンドは、標準的なテープドライブコマンド「LOAD／UNLOAD」と同じCDBを用いるが、Loadビットが無視され、及びコマンドが常に「GOOD」状態を返す点で異なる。
モード検知／選択
このコマンドは一般に、複数のモード検知ページ（各ページは特定のタイプの構成データ／オプションを表すもの）を介してＳＣＳＩ装置における任意の構成オプションを読み出し又は設定するために用いられる。本実施形態によれば、新しいモード検知ページは、テープドライブのオペレーティングモードを制御して通常モードからＤＲモードへ又はその逆への切り替えを可能にするために必要とされる。これにより、バックアップアプリケーションソフトウエアが従来のバックアップデータをテープドライブ140から読み出してＰＣ100のハードディスクドライブ130に復元することを開始する準備ができた際に、該バックアップアプリケーションソフトウエアがテープドライブ140のモード切り替えを行ってＤＲモードから通常モードに戻すことが可能となる。
【０１３９】
「媒体タイプ」及び「密度コード」のためのモードページヘッダ値は、ＣＤ−ＲＯＭ媒体に準拠している必要があり、該ヘッダ値は、ＤＲオペレーティングシステムが、ブートシーケンスを続行させるためにＣＤ−ＲＯＭ装置からデータをコピーする準備ができている際に存在するＣＤ−ＲＯＭ媒体のタイプを判定するために使用される。
【０１４０】
モード検知コマンド及びモード選択コマンドにより用いられるモードパラメータヘッダデータは、ＣＤ−ＲＯＭ装置に固有のビットを含むよう変更される。
【０１４１】
【表６】
0004518672.tif 000010
【０１４２】
モードブロックディスクリプタデータは、密度コードバイトが0x01に設定され、及びブロック長が2048に設定されて変更できない点でのみ、テープ装置モードと異なる。
【０１４３】
次に示すように、ＤＲモード動作をトグルするための新しいモードページもまた存在する。
【０１４４】
【表７】
0004518672.tif 000011
【０１４５】
「ＤＲモード」ビットは、テープドライブ140が動作している動作モードを制御する。ＤＲモードが０に設定されると、テープドライブ140はＤＲモードから通常モードに切り替わる。ＤＲモードが１に設定されると、テープドライブ140は、あたかもユーザがフロントパネルの「イジェクト」ボタンによりＤＲシーケンスを開始したかのようにＤＲモードの初期化を試行し、その成功時に「GOOD」状態を返す。
【０１４６】
ＤＲautoビットは、少なくとも100個のＣＤ−ＲＯＭブロックが読み出された後にＳＣＳＩバスリセット信号を受信した際にテープドライブをＤＲモードから通常モードｈｗ自動的に切り替えるか否かを制御する。ＤＲautoが０（デフォルト）に設定されると自動切替がイネーブルされ、ＤＲautoが０に設定されると自動切替がディセーブルされる。
読出(10)／読出(6)
ＣＤ−ＲＯＭ読出(6)コマンド及びＣＤ−ＲＯＭ読出(10)コマンドは、テープドライブ140に、テープ上の現在の物理的な位置ではなく論理的な読出開始位置を表す論理ブロックアドレス値から固定数のブロックを読み出させるものである。該読出（6）及び読出（10）のCDBは以下の通りである。
【０１４７】
【表８】
0004518672.tif 000012
【０１４８】
【表９】
0004518672.tif 000013
【０１４９】
ディセーブルページアウト(DPO)及び強制ユニットアクセス(FUA)オプションはサポートされない。これは、本実施形態では（前述のように）テープドライブキャッシュ処理が必須だからである。論理ブロックアドレス値は、ブロックデバイス（即ちエミュレートされたＣＤ−ＲＯＭ媒体）の開始位置におけるブロック０に対する読出開始位置を示す。転送長は、テープドライブ140から読み出され及び該テープドライブ140に返されるブロック数を示す。
【０１５０】
要求されたデータがキャッシュに未だ格納されていない場合には、該データは、標準動作モードからLOCATE及びREAD機能を用いることにより、テープ媒体から読み出すことができる。LOCATEコマンドは、要求された数のブロックをテープから読み出すために固定ブロックモードで使用される。ＣＤ−ＲＯＭイメージ開始位置及び固定ブロックフォーマットの細部は上記の通りである。
【０１５１】
LOCATEコマンドパラメータは、
BT＝１、CP＝０
ブロックアドレス＝20＋論理ブロックアドレス
である。
【０１５２】
READコマンドパラメータは、
Fixed＝1
転送長＝Transfer Length
である。
シーク（SEEK）
ＤＲモードで、該コマンドは、テープドライブ140の論理的な位置を別のブロック位置へ移動させ（明らかにこのコマンドは通常はハードディスクドライブ及びＣＤ−ＲＯＭドライブといったランダムアクセス装置でのみ有効なものである）、標準的なテープドライブの「LOCATE」CDBを置換する。新しいCDBは次の通りである。
【０１５３】
【表１０】
0004518672.tif 000014
【０１５４】
これにより、ＰＣ100は、後続のコマンドで特定のデータが要求されることの事前通知を提供することが可能となる。しかし、ＤＲモードでは、テープはこのコマンドに対する動作を行わず、常に「GOOD STATUS」が返される。
読出容量（READ CAPACITY）
これは、媒体に含まれる論理ブロック数及び各ブロックのサイズを取得する、ＣＤ−ＲＯＭドライブエミュレーションのための新しいCDBである。該新しいCDBは次の通りである。
【０１５５】
【表１１】
0004518672.tif 000015
【０１５６】
RelAdr、論理ブロックアドレス、及びPMIフィールドは、値０のみをサポートする。０以外のあらゆる値は無視される。
【０１５７】
以下の「READ CAPACITY」データが返されて、2048バイトブロックの最大数が表される。
【０１５８】
【表１２】
0004518672.tif 000016
【０１５９】
READ TOC
これは、内容テーブル（TOC）からトラック数及びその位置を取得するための手段を提供する、ＣＤ−ＲＯＭドライブエミュレーションのための新しいCDBである。該新しいCDBは次の通りである。
【０１６０】
【表１３】
0004518672.tif 000017
【０１６１】
フォーマットフィールドは値０のみをサポートし、あらゆる非ゼロ値は、「Illegal Request」に設定された検知キー及び「Illegal Parameter in CDB」に設定された拡張検知と共に「CHECK CONDITION」を返すものになる。MSFビットは、値０又は１をサポートするが、何れの値に対しても同一のTOC応答データブロックが返される（下記参照）。
【０１６２】
トラック／セッション番号フィールドは、データが返されることになる開始トラック番号を指定するものである。データＣＤ−ＲＯＭ媒体上では、１トラックしか存在することができないため、０又は１以外の任意の値は、「Illegal Raquest」に設定された検知キー及び「Illegal Parameter in CDB」に設定された拡張検知と共に「CHECK CONDITION」を返すものとなる。
【０１６３】
該コマンドは、以下に示すようにTOC応答データブロックを返す。これは、４つのヘッダバイトと、それに次ぐトラック0x1（データトラック）及びトラック0xAA（リードアウト(lead-out)領域）のためのディスクリプタブロックとを含む。該応答データブロック中の値は固定である。
【０１６４】
【表１４】
0004518672.tif 000018
【０１６５】
MS-DOS系コンピュータシステム又はWindows NT又はWindows95／98コンピュータシステムといった歴史的にIBM-AT互換機としても知られるＰＣを特に参照して本発明を説明してきたことが理解されよう。しかし、その概念は、標準的な環境下でテープドライブ装置からのブートをサポートしていないがバックアップ動作を行うためにテープドライブ装置と相互に作用することができる任意のコンピュータシステムに同様に適用することが可能である。更に、テープ媒体からのブートの概念はＤＲのためだけでなく一層広範に適用可能なものであることが理解されよう。例えば、ＤＲアプリケーションの代わりに又はそれに加えて、任意の他の適当なアプリケーションソフトウエアをブータブルテープ媒体上に格納することが可能である。このため、特許請求の範囲は、非ＰＣシステム及びＰＣシステム並びに非ＤＲアプリケーション及びＤＲアプリケーションを含むものとして解釈されるべきである。
【０１６６】
以下においては、本発明の種々の構成要件の組み合わせからなる例示的な実施態様を示す。
１．コンピューティング装置とテープドライブ装置とを備えたシステムにおいてデータ復元操作を実行する方法であって、前記コンピューティング装置がテープドライブ装置でない種類の初期プログラムロード装置からブートすることが可能なものであり、該方法が、
バックアップデータセットと前記の種類の初期プログラムロード装置からの前記コンピューティング装置のブート時に該初期プログラムロード装置が前記コンピューティング装置へ提供することになるブート可能データに対応するブート可能データとの両方をテープ媒体に格納することにより復元用テープ媒体を作成し、
前記コンピューティング装置のブート処理を開始させて該コンピューティング装置に前記の種類の初期プログラムロード装置の探索を試行させ、
前記コンピューティング装置のブート中に前記の種類の初期プログラムロード装置をエミュレートして該コンピューティング装置との相互作用を行うように前記テープドライブ装置を制御することにより、該テープドライブ装置が、前記コンピューティング装置に対し、該テープドライブ装置自体を前記の種類の初期プログラムロード装置として識別させ、
前記コンピューティング装置が、前記テープドライブ装置を前記の種類の初期プログラムロード装置として識別することに続いて、前記ブート可能データからブートを行い、前記テープドライブ装置をテープドライブ装置として動作させて、該テープドライブ装置から前記バックアップデータを復元させる、
という各ステップを有する方法。
２．前記ブート可能データが、ＣＤ−ＲＯＭ装置のためのISO9660フォーマット及びEI Torito ブータブルＣＤ−ＲＯＭフォーマット仕様に準拠する、前項１に記載の方法。
３．前記ブート可能データが、データ及び／又はファイルであって、その実行時に前記コンピューティング装置が前記テープドライブ装置にアクセスして該テープドライブ装置に装填された復元テープ媒体からバックアップデータセットを復元することを可能にするデータ及び／又はファイルを含む、前項１または前項２に記載の方法。
４．前記ブート可能データが、前記テープ媒体の開始位置からの所定のオフセットから開始して前記復元テープ媒体に書き込まれる、前項２または前項３に記載の方法。
５．前記ブート可能データが、前記復元テープ媒体の論理的な開始位置から21番目のブロックで開始して前記復元テープ媒体に書き込まれる、前項４に記載の方法。
６．前記ブート可能データが、前記復元テープ媒体において前記バックアップデータセットの前に配置される、前項１ないし前項５の何れか一項に記載の方法。
７．前記テープドライブ装置が、該テープドライブ装置に関連する初期化手段のユーザによる操作によって、前記の種類の初期プログラムロード装置をエミュレートするよう制御される、前項１ないし前項６の何れか一項に記載の方法。
８．前記初期化手段が、前記テープドライブ装置の電源投入時に該テープドライブ装置のイジェクトボタンを操作することを含む、前項７に記載の方法。
９．前記テープドライブ装置が、前記コンピューティング装置から特定の信号を受信したことに応じてテープドライブ装置としての動作に切り替わるように構成される、前項１ないし前項８の何れか一項に記載の方法。
10．前記テープドライブ装置が、前記テープドライブ装置から前記コンピューティング装置によって読み出されたデータ量が所定の閾値を超えると共に、前記コンピューティング装置から特定の信号を受信したことに応じて、テープドライブ装置としての動作に切り替わるように構成される、前項１ないし前項８の何れか一項に記載の方法。
11．前記の種類の初期プログラムロード装置の探索を試行する前記コンピューティング装置からの状態要求信号に応じて、前記テープドライブ装置が、媒体が存在しない場合であっても媒体の装填プロセス中であることを示す信号を返すことにより、別の初期プログラムロード装置との通信を試行する前にコンピューティング装置を待機させる時間を延長させる、前項１ないし前項８の何れか一項に記載の方法。
12．前記テープドライブ装置が、ブート可能データのうちの少なくとも幾つかのデータを前記復元テープ媒体から読み出して該テープドライブ装置の揮発性メモリ手段にキャッシュするよう構成される、前項１ないし前項11の何れか一項に記載の装置。
13．前記キャッシュされたブート可能データが、前記ブート可能データに含まれるファイルの構成を表すディレクトリデータを含む、前項12に記載の方法。
14．前記キャッシュされたブート可能データが、復元動作中に２回以上アクセスされる必要のある前記ブート可能データ中の少なくとも幾つかのファイルを含む、前項12または前項13に記載の方法。
15．前記テープドライブ装置が、前記復元テープ媒体の前記論理的な開始位置から開始して前記所定のオフセットだけ前方に読み出すことにより、該復元テープ媒体上の前記ブート可能データの開始位置を探し出す、前項４または前項５に記載の方法。
16．前記コンピューティング装置が、実質的に、後に復元動作のために復元テープ媒体からコンピューティング装置により読み出されることが必要となる順序で複数のデータファイルを並べることにより、該データファイルを含むブート可能データを生成する、前項１ないし前項15の何れか一項に記載の方法。
17．前項１ないし前項16の何れか一項に記載の方法で動作するよう構成されたテープドライブ装置。
18．前項１ないし前項16の何れか一項に従って使用するのに適した復元テープ媒体を作成するよう構成されたコンピューティング装置。
19．前項１ないし前項16の何れか一項に従って動作するよう構成されたコンピューティング装置。
20．前記コンピューティング装置上で実行される際に前項１ないし前項16の何れか一項に記載の方法を実施するよう構成されたコンピュータプログラムコード手段を含むコンピュータプログラム。
21．データバックアップ動作の一部として復元テープ媒体を作成するよう構成された、前項20に記載のコンピュータプログラム。
22．前項１ないし前項16の何れか一項に記載の方法を実施するよう構成されたシステム。
23．テープドライブ装置であって、
装填されたテープ媒体の位置及び動きを制御する機構と、
該装填されたテープ媒体と該テープドライブ装置との間でデータ転送を行う読出／書込回路と、
該テープドライブ装置の動作を制御するコントローラであって、該テープドライブ装置の動作に２つの動作モードが存在する、コントローラとを備えており、
該コントローラが、該テープドライブ装置を選択的に制御して前記２つの動作モードのうちの何れか一方で動作させるよう構成されており、
a）第１の動作モードでは、該テープドライブ装置が、装填されたデープ媒体をブート可能データを含むものとして識別し、テープドライブ装置でない種類の初期プログラムロード装置を意図した信号をコンピューティング装置から受信し処理して、該コンピューティング装置が前記の種類の初期プログラムロード装置から期待することになる応答信号を生成し、
b）第２の動作モードでは、該テープドライブ装置がテープドライブ装置動作に従って動作する、
ということを特徴とする、テープドライブ装置。
24．前記第１の動作モードで、前記コントローラが、前記コンピューティング装置からの装置タイプ問合せ信号に応じて、該テープドライブ装置を前記の種類の初期プログラムロード装置として識別させる応答を生成するよう構成される、前項23に記載の装置
25．前記第１の動作モードで、前記コントローラが、前記復元テープ媒体の開始位置からの所定のオフセットから開始してテープ媒体データからの読み出しを行うことにより、前記装填された復元テープ媒体をブート可能データを含むものとして識別するよう構成されている、前項23又は前項24に記載の装置。
26．前記所定のオフセットが、前記復元テープ媒体の論理的な開始位置から21番目のブロックである、前項25に記載の装置。
27．ランダムアクセスメモリ手段を更に備えており、前記コントローラが該ランダムアクセスメモリに前記ブート可能データの少なくとも幾つかを読み込むよう構成され、後に前記コンピューティング装置が該データにアクセスする際に前記コントローラが前記テープ媒体ではなく前記ランダムアクセスメモリにアクセスするようになっている、前項23ないし前項26の何れか一項に記載の装置。
28．ユーザによる操作に応じて前記テープドライブ装置を前記第１の動作モードで動作させるユーザ選択手段を更に備えている、前項23ないし前項27の何れか一項に記載の装置。
29．前記ユーザ選択手段が、前記テープドライブ装置のイジェクトボタンを含み、前記コントローラが、前記テープドライブ装置の電源投入又はリセット動作時に前記イジェクトボタンのユーザによる操作を検出するよう構成される、前項28に記載の装置。
30．前記コントローラが、前記コンピューティング装置からの特定の信号の受信に応じて前記第１のモードから前記第２のモードへと前記テープドライブ装置の動作を切り替える、前項23ないし前項29の何れか一項に記載の装置。
31．前記の種類の初期プログラムロード装置がＣＤ−ＲＯＭドライブである、前項１ないし前項30の何れか一項に記載の装置。
32．復元テープ媒体を作成する方法であって、
テープドライブ装置でない種類の初期プログラムロード装置がコンピューティング装置のブート時に該コンピューティング装置に提供することになるデータに対応するブート可能データを生成し、
バックアップデータセットを生成し、
前記ブート可能データ及び前記バックアップデータセットを復元テープ媒体に書き込む、
という各ステップを有する方法。
33．前記ブート可能データが、ＣＤ−ＲＯＭ装置のためのISO9660フォーマット及びEI ToritoブータブルＣＤ−ＲＯＭフォーマット仕様に準拠するよう構成されたデータを含む、前項32に記載の方法。
34．前記ブート可能データが、前記復元テープ媒体の開始位置からの所定のオフセットから開始して該復元テープ媒体に書き込まれる、前項32又は前項33に記載の方法。
35．前記ブート可能データが、前記復元テープ媒体の論理的な開始位置から21番目のブロックで開始して該復元テープ媒体に書き込まれる、前項34に記載の方法。
36．コンピューティング装置とテープドライブ装置とを備えたシステムにおいてアプリケーションソフトウエアを実行する方法であって、前記コンピューティング装置が、テープドライブ装置でない種類の初期プログラムロード装置からブート可能なものであり、該方法が、
アプリケーションソフトウエアと前記の種類の初期プログラムロード装置からの前記コンピューティング装置のブート中に前記の種類の初期プログラムロード装置が前記コンピューティング装置に提供することになるデータに対応するブート可能データとの両方をテープ媒体に格納することによりブート可能テープ媒体を作成し、
前記コンピューティング装置のブート処理を開始させて該コンピューティング装置に前記の種類の初期プログラムロード装置の探索を試行させ、
前記コンピューティング装置のブート中に前記種類の初期プログラムロード装置をエミュレートして前記コンピューティング装置との相互作用を行うよう前記テープドライブ装置を制御することにより、該テープドライブ装置が、前記コンピューティング装置に対し、該テープドライブ装置自体を前記の種類の初期プログラムロード装置として識別させ、
前記コンピューティング装置が、前記テープドライブ装置を前記の種類の初期プログラムロード装置として認識することに続いて、前記ブート可能データからブートを行い、及び前記アプリケーションソフトウエアを実行する、
という各ステップを有する方法。
37．テープドライブ装置であって、
装填されたテープ媒体の位置及び動きを制御する機構と、
該装填されたテープ媒体と該テープドライブ装置との間でデータ転送を行う読出／書込回路と、
該テープドライブ装置が、前記装填されたテープ媒体をブート可能データを含むものとして識別し、テープドライブ装置でない種類の初期プログラムロード装置を意図した信号をコンピューティング装置から受信し処理して、該コンピューティング装置が前記の種類の初期プログラムロード装置から期待することになる応答信号を生成するように、該テープドライブ装置の動作を制御する、コントローラと
を備えている、テープドライブ装置。
【図面の簡単な説明】
【図１】  コンピュータ及びテープドライブを上位概念で示すブロック図である。
【図２】  ＣＤ−ＲＯＭファイルシステムを含むデータの論理構成を上位概念で示す説明図である。
【図３ａ】  テープ上の典型的なＤＲデータフォーマットを上位概念で示す説明図である。
【図３ｂ】  テープ上の典型的なＤＲデータフォーマットを上位概念で示す説明図である。
【図４】  テープ媒体に対するＤＲファイルシステムの書き込みに伴う各ステップを示すフローチャートである。
【図５】  テープドライブを「ＤＲ」モードに設定して該テープドライブからコンピュータをブートすることに伴う各ステップを示すフローチャートである。
【符号の説明】
100      ＰＣ
105      ＣＰＵ
110      バス
115      ＲＯＭ
120      ＲＡＭ
125      Ｉ／Ｏ（入力／出力）サブシステム
128      ＳＣＳＩ ＨＢＡ
130      ハードディスクドライブ
135      フロッピィディスクドライブ
140      テープドライブ
145      ホストインタフェイス
150      コントローラ
【図１】
0004518672.tif 000019
【図２】
0004518672.tif 000020
【図３ａ】
0004518672.tif 000021
【図３ｂ】
0004518672.tif 000022
【図４】
0004518672.tif 000023
【図５】
0004518672.tif 000024