(57)【要約】テープ上のデータをバックアップする際に、データの履歴を保持しつつ、編集されたファイルを読み出す際のパフォーマンスの劣化を解消／低減する。ファイルシステムでテープ上のデータをバックアップする方法を提供する。その方法は、第１のデータ領域中の第３のデータ領域を除くデータ領域と第２のデータ領域とを連続する第４のデータ領域としてテープ上にコピーするステップであって、第２のデータ領域を第３のデータ領域の置き換えに相当する位置にコピーするステップと、第４のデータ領域を特定するインデックス情報をテープ上に記憶するステップと、第３のデータ領域を第４のデータ領域から離間した第５のデータ領域としてテープ上にコピーするステップと、第４のデータ領域中の第２のデータ領域を除くデータ領域を特定するインデックス情報と、第５のデータ領域を特定するインデックス情報とをテープ上に記憶するステップとを含む。
2015087584.tif 000002
【特許請求の範囲】
【請求項１】
ファイルシステムにおいてテープ上のデータのバックアップをとるための方法であって、
前記データは、第１のデータ領域と、前記第１のデータ領域から離間した第２のデータ領域とを含む１つのファイルとして前記テープ上に記憶され、
前記第２のデータ領域のデータは、前記第１のデータ領域の一部である第３のデータ領域のデータを変更したデータに相当し、
前記データ領域の各々は、前記テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
前記第１のデータ領域中の前記第３のデータ領域を除くデータ領域と前記第２のデータ領域とを連続する１つの第４のデータ領域としてテープ上にコピーするステップであって、前記第２のデータ領域を前記第３のデータ領域の置き換えに相当する位置にコピーする、ステップと、
前記第４のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
前記第３のデータ領域を前記第４のデータ領域から離間した第５のデータ領域としてテープ上にコピーするステップと、
前記第４のデータ領域中の前記第２のデータ領域を除くデータ領域を特定するためのインデックス情報と、前記第５のデータ領域を特定するためのインデックス情報とをテープ上に記憶するステップと、を含む方法。
【請求項２】
前記第３のデータ領域は、前記第１のデータ領域の先頭部分、中間部分、または後方部分のいずれかに位置するデータ領域である、請求項１に記載の方法。
【請求項３】
前記データ領域の各々及び前記インデックス情報の各々は、前記テープのデータパーティションに記憶され、前記インデックス情報の各々は対応するデータ領域の直後に配置される、請求項１に記載の方法。
【請求項４】
ファイルシステムにおいてテープ上のデータのバックアップをとるための方法であって、
前記データは、第１のデータ領域と、前記第１のデータ領域から離間した第２のデータ領域とを含む１つのファイルとして前記テープ上に記憶され、
前記第２のデータ領域は前記第１のデータ領域に追加されたデータ領域に相当し、
前記データ領域の各々は、前記テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
前記第１のデータ領域と前記第２のデータ領域とを連続する第３のデータ領域としてテープ上にコピーするステップと、
前記第３のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
前記第３のデータ領域中の前記第２のデータ領域を除くデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む方法。
【請求項５】
前記前記第１のデータ領域に追加されたデータ領域は、前記第１のデータ領域の先頭部または最後部のいずれかに追加されたデータ領域である、請求項４に記載の方法。
【請求項６】
前記データ領域の各々及び前記インデックス情報の各々は、前記テープのデータパーティションに記憶され、前記インデックス情報の各々は対応するデータ領域の直後に配置される、請求項４に記載の方法。
【請求項７】
ファイルシステムにおいてテープ上のデータのバックアップをとるための方法であって、
前記データは、第１のデータ領域と、前記第１のデータ領域から離間した第２のデータ領域とを含む１つのファイルとして前記テープ上に記憶され、
前記第２のデータ領域のデータは前記第１のデータ領域の全てのデータを変更したデータに相当し、
前記データ領域の各々は、前記テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
前記第２のデータ領域を第３のデータ領域としてテープ上にコピーするステップと、
前記第３のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
前記第１のデータ領域を前記第３のデータ領域から離間した第４のデータ領域としてテープ上にコピーするステップと、
前記第４のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む方法。
【請求項８】
前記データ領域の各々及び前記インデックス情報の各々は、前記テープのデータパーティションに記憶され、前記インデックス情報の各々は対応するデータ領域の直後に配置される、請求項７に記載の方法。
【請求項９】
請求項１〜８のいずれか１項の各ステップを実行するためのコンピュータ・プログラム。
【請求項１０】
請求項１〜８のいずれか１項の各ステップを実行するデープドライブを含むファイルシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープドライブを含むファイルシステムに関し、より具体的には、そのファイルシステムにおいてテープ上のデータのバックアップ方法に関する。
【背景技術】
【０００２】
テープドライブ上のデータをファイルシステムにおけるファイルとしてアクセスする仕組みとして、例えばＬＴＦＳ（Linear Tape File System）が実用化されている。ＬＴＦＳでは、ファイルを構成するデータ領域がテープ上のどこに存在するか等のメタ情報をインデックスとして関連付けることにより、ファイルシステムを実現している。【０００３】
LTFSでは、テープの性質上、ファイルの編集時に、過去に書いたデータを上書きせずにそのデータの後方に編集されたデータを追記する仕組みになっている。これにより、過去に書いたファイルの状態に戻すことができるというメリットがある一方で、編集されたファイルを読み出す際に時間がかかってしまうという問題がある。【０００４】
この問題は、テープ上のデータ構成をそのまま別のテープにバックアップした後に、そのバックアップされたデータ（ファイル）を読み出す場合にも同様に発生する。また、編集後の最新のファイルのみを別のテープにコピーするいわゆるロジカルコピーでは、ファイルを読み出す時間は短くできるが、過去に書いたファイルの状態に戻すことができないという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2005-275674号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、上記した従来技術の問題を解決あるいは軽減しつつ、テープ上のデータをバックアップする際に、最後に書かれたファイルの状態を保持するだけではなく、過去に書かれたデータの履歴を保持するというファイルシステムの特徴を維持しつつ、編集されたファイルを読み出す際に必ず発生するパフォーマンスの劣化を解消／低減することができるバックアップ方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一態様では、ファイルシステムにおいてテープ上のデータのバックアップをとるための方法を提供する。その方法では、
データは、第１のデータ領域と、第１のデータ領域から離間した第２のデータ領域とを含む１つのファイルとしてテープ上に記憶され、
第２のデータ領域のデータは、第１のデータ領域の一部である第３のデータ領域のデータを変更したデータに相当し、
データ領域の各々は、テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
第１のデータ領域中の第３のデータ領域を除くデータ領域と第２のデータ領域とを連続する１つの第４のデータ領域としてテープ上にコピーするステップであって、第２のデータ領域を第３のデータ領域の置き換えに相当する位置にコピーする、ステップと、
第４のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
第３のデータ領域を第４のデータ領域から離間した第５のデータ領域としてテープ上にコピーするステップと、
第４のデータ領域中の第２のデータ領域を除くデータ領域を特定するためのインデックス情報と、第５のデータ領域を特定するためのインデックス情報とをテープ上に記憶するステップと、を含む。【０００８】
本発明の一態様によれば、テープ上のデータのバックアップをとる際に、１つのファイルを構成するデータ領域の内の変更後のデータを含むデータ領域（第２のデータ領域）と変更なしのデータ領域とが連続した１つのデータ領域としてテープ上にコピーされるので、当該コピー後のファイルの読み出しを迅速におこなうことができる。さらに、変更前のデータ領域（第４のデータ領域中の第２のデータ領域を除くデータ領域、第５のデータ領域）がそれぞれ対応するインデックス情報と共にテープ上にコピーされるので、過去に書かれたデータの履歴を保持し、後から随時その過去のデータを読み出すことができる。【０００９】
本発明の他の一態様では、ファイルシステムにおいてテープ上のデータのバックアップをとるための方法を提供する。その方法では、
データは、第１のデータ領域と、第１のデータ領域から離間した第２のデータ領域とを含む１つのファイルとしてテープ上に記憶され、
第２のデータ領域は第１のデータ領域に追加されたデータ領域に相当し、
データ領域の各々は、テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
第１のデータ領域と第２のデータ領域とを連続する第３のデータ領域としてテープ上にコピーするステップと、
第３のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
第３のデータ領域中の第２のデータ領域を除くデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む。【００１０】
本発明の他の一態様によれば、テープ上のデータのバックアップをとる際に、１つのファイルを構成するデータ領域（第１のデータ領域）とこれに追加されたデータ領域（第２のデータ領域）とが連続した１つのデータ領域（第３のデータ領域）としてテープ上にコピーされるので、当該コピー後のファイルの読み出しを迅速におこなうことができる。さらに、追加前のデータ領域（第３のデータ領域中の第２のデータ領域を除くデータ領域）が対応するインデックス情報と共にテープ上にコピーされるので、過去に書かれたデータの履歴を保持し、後から随時その過去のデータを読み出すことができる。【００１１】
本発明の他の一態様では、ファイルシステムにおいてテープ上のデータのバックアップをとるための方法を提供する。その方法では、
データは、第１のデータ領域と、第１のデータ領域から離間した第２のデータ領域とを含む１つのファイルとしてテープ上に記憶され、
第２のデータ領域のデータは第１のデータ領域の全てのデータを変更したデータに相当し、
データ領域の各々は、テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
第２のデータ領域を第３のデータ領域としてテープ上にコピーするステップと、
第３のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
第１のデータ領域を第３のデータ領域から離間した第４のデータ領域としてテープ上にコピーするステップと、
第４のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む。【００１２】
本発明の他の一態様によれば、テープ上のデータのバックアップをとる際に、１つのファイルを構成するデータ領域（第１のデータ領域）の全てのデータを変更したデータを含むデータ領域（第２のデータ領域）が１つのデータ領域（第３のデータ領域）としてテープ上にコピーされるので、当該コピー後のファイルの読み出しを迅速におこなうことができる。さらに、変更前のデータ領域（第４のデータ領域）が対応するインデックス情報と共にテープ上にコピーされるので、過去に書かれたデータの履歴を保持し、後から随時その過去のデータを読み出すことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明のファイルシステムの構成例を示す図である。
【図２】本発明のテープドライブの構成例を示す図である。
【図３】本発明のデータパーティションの構成例を示す図である。
【図４】図４のデータの一部が編集された場合のデータパーティションの構成例を示す図である。
【図５】図４の構成例におけるデータの読み出し（ＲＥＡＤ）のイメージ図である。
【図６】本発明のバックアップ方法の第１の実施形態を説明するための図である。
【図７】本発明のバックアップ方法の第２の実施形態を説明するための図である。
【図８】本発明のバックアップ方法の第３の実施形態を説明するための図である。
【図９】本発明の複数の世代間でのデータのバックアップのイメージ図である。
【発明を実施するための形態】
【００１４】
図面を参照しながら本発明の実施の形態を説明する。なお、以下の説明では、必要に応じて従来技術の内容と比較しながら本発明の実施の形態について説明する。図１は、本発明の方法が実施されるファイルシステムの構成例を示す図である。ファイルシステム１００は、ネットワーク３６を介して相互に通信可能なテープドライブ１０、ホスト（サーバー）３０、ＰＣ（端末）３２、３４からなる。図１では、テープドライブ１０とホスト（サーバー）３０は、それぞれ１つしか描かれていないが、これはあくまで例示であって、２以上のテープドライブ１０やホスト（サーバー）３０を含むことができることは言うまでもない。
【００１５】
ファイルシステム１００は、例えばＬＴＦＳとすることができる。ＬＴＦＳでは、ＨＤＤやＵＳＢメモリ、あるいはＣＤ−Ｒを始めとする他のリムーバブルな記録媒体同様に、テープカートリッジをテープドライブに挿入すれば、そのテープカートリッジに保存されたファイルに直接アクセスできる。テープドライブ上でファイルシステムを構築するためには、テープドライブがパーティションを有していることが必要である。パーティションについては後述する。
【００１６】
図２は、本発明のテープドライブの構成例を示す図である。テープドライブ１０は、ホストインターフェイス（以下、「ホストＩ／Ｆ」という）１１と、バッファ１２と、チャネル１３と、ヘッド１４と、モータ１５とを含む。また、コントローラ１６と、ヘッド位置制御システム１７と、モータドライバ１８とを含む。更に、テープドライブ１０には、テープカートリッジ２０が挿入されることにより装填可能となっているので、ここでは、テープカートリッジ２０も図示している。このテープカートリッジ２０は、リール２１、２２に巻かれたテープ２３を含む。テープ２３は、リール２１、２２の回転に伴い、リール２１からリール２２の方向へ、又は、リール２２からリール２１の方向へ、長手方向に移動する。なお、テープ２３としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
【００１７】
また、テープカートリッジ２０は、カートリッジメモリ（ＣＭ）２４も含む。このＣＭ２４は、例えば、テープ２３上にどのようにデータが書かれたかの情報を記録する。そして、例えばＲＦインターフェイスを用いて非接触でテープ２３に書かれたデータのインデックスやテープ２３の使用状況等を調べることにより、データへの高速アクセスを可能としている。なお、図２では、このＲＦインターフェイスのようなＣＭ２４へのアクセスを行うためのインターフェイスを、カートリッジメモリインターフェイス（以下、「ＣＭＩ／Ｆ」という）１９として示している。
【００１８】
ここで、ホストＩ／Ｆ１１は、ホスト（サーバー）３０や他のＰＣ３２等との通信を行う。例えば、ホスト３０のＯＳから、テープ２３へのデータの書込みを指示するコマンド、テープ２３を目的の位置に移動させるコマンド、テープ２３からのデータの読出しを指示するコマンドを受け取る。上述したＬＴＦＳの例では、デスクトップＯＳなどから直接、テープドライブ内のデータを参照でき、ＨＤ内のファイルを扱うのと同様に、ダブルクリックでファイルを実行したり、ドラッグアンドドロップでコピーしたりできる。
【００１９】
バッファ１２は、テープ２３に書き込むべきデータやテープ２３から読み出されたデータを蓄積するメモリである。例えば、ＤＲＡＭによって構成される。また、バッファ１２は、複数のバッファセグメントからなり、各バッファセグメントが、テープ２３に対する読み書きの単位であるデータセットを格納している。
【００２０】
チャネル１３は、テープ２３に書き込むべきデータをヘッド１４に送ったり、テープ２３から読み出されたデータをヘッド１４から受け取ったりするために用いられる通信経路である。ヘッド１４は、テープ２３が長手方向に移動するとき、テープ２３に対して情報を書き込んだり、テープ２３から情報を読み出したりする。モータ１５は、リール２１、２２を回転させる。なお、図２では、１つの矩形でモータ１５を表しているが、モータ１５としては、リール２１、２２の各々に１つずつ、合計２個設けるのが好ましい。
【００２１】
一方、コントローラ１６は、テープドライブ１０の全体を制御する。例えば、ホストＩ／Ｆ１１で受け付けたコマンドに従って、データのテープ２３への書込みやテープ２３からの読出しを制御する。また、ヘッド位置制御システム１７やモータドライバ１８の制御も行う。ヘッド位置制御システム１７は、所望のラップを追跡するシステムである。ここで、ラップとは、テープ２３上の複数のトラックのグループである。ラップを切り換える必要が生じると、ヘッド１４を電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム１７で行う。
【００２２】
モータドライバ１８は、モータ１５を駆動する。尚、上述したように、モータ１５を２個使用する場合であれば、モータドライバ１８も２個設けられる。ＣＭＩ／Ｆ１９は、例えば、ＲＦリーダライタにより実現され、ＣＭ２４への情報の書込みや、ＣＭ２４からの情報の読出しを行う。
【００２３】
図３〜図５を参照しながら、本発明が実施されるＬＴＦＳにおけるパーティションおよびインデックスの構成について説明する。ＬＴＦＳでは、LTO5からサポートされるようになったパーティションと呼ばれるテープ上の論理的な区切りを使用している。パーティションには、インデックスパーティションとデータパーティションの２つがある。データパーティションは、ファイルを構成するデータそのものと、ファイルの書き込み完了後に一定の条件が整ったときに書き込むインデックス情報とで構成されている。インデックスパーティションには、最新のインデックス情報が格納されていて、カートリッジがロードされたときに読み込まれて、メディア上のどの位置にファイルが存在するかが判別できるようになっている。
【００２４】
図３にデータパーティションの構成例を示す。図３は、1つのファイルＡが、データ（data）と付随するインデックス（index）とから構成される。インデックス（index）には、インデックス情報を構成する要素として、partition ID、start block、byte offset、byte count、file offsetがあり、これらをまとめてextentと呼んでいる。各要素の内容は下記に示す通りである。なお、以下の説明では、１つのファイルを構成するデータをデータあるいはデータ領域と呼ぶ。また、本明細書では、インデックス（index）に含まれる情報（要素）をインデックス情報またはextentと呼ぶ。
【００２５】
（ａ）partition ID：データパーティションに割り振られた論理的なIDである。複数のIDを持てることになっているが、現時点のＬＴＦＳではひとつのデータパーティションのみを使用している。従って、partition IDは常に一意である。
（ｂ）start block：ファイルを構成するデータの先頭部分が含まれているブロック番号を示す。テープ上のデータの位置を示すのにブロックという概念を使用しており、デフォルトで512KBに設定されている。
（ｃ）byte offset：データの先頭位置がそのブロック上のどの位置から始まっているかを示すオフセットである。
（ｄ）byte count：そのデータを構成するバイト数を示している。
（ｅ）file offset：このextentを構成するデータがファイル全体でどの位置にあるかを示す。
【００２６】
ＬＴＦＳのインデックス情報では、ファイルをテープ上に書き込むと、ファイル全体がひとつのextentとして書き込まれる。これによって、次に読み出すときに一度のアクセスで効率的に読み出すことができる。ここでは、図３に例示されるように、簡略化のためひとつしか存在しないpartition ID は表記せず、start blockとbyte offsetから求められるファイルの先頭位置をＸ１、データを構成するバイト数Ｌ１で表現する。その結果、ファイルＡのデータ領域は、インデックス情報として（Ｘ１、Ｌ１）と表すことができる。
【００２７】
図４は、ファイルＡの一部が編集（変更）された場合のデータパーティションの構成例を示す。図４の例では、破線で囲まれた矢印Ａの範囲のデータ領域のデータが編集（変更）されたものとする。テープ上のデータを編集する場合、すでに書かれたテープ上のデータに編集されたデータを上書きすることは困難である。その理由は、その直後にすでに別のファイルのデータが書かれていると、それを上書きしてしまうからである。したがって、編集後のデータは、データパーティションの先のデータ領域の後ろに追記される。
【００２８】
さらに、インデックスが更新されてその後ろに追記される。図４の例では、インデックス情報（Ｘ２、Ｌ２）で特定されるデータ領域が追記された編集後のデータ領域である。その後ろのインデクッス（index b）が追記された更新後のインデックスである。追記されたインデクッス（index b）は、ファイルＡのextentとして、（Ｘ１、Ｌ１‘）（Ｘ２、Ｌ２）（Ｘ３、Ｌ３）の情報を含む。これらの情報は、ファイルＡを構成するextentは３つあり、先頭データがＸ１から始まるＬ１’バイトのデータ、次がＸ２から始まるＬ２バイトのデータ、最後がＸ３から始まるＬ３バイトのデータで構成されていることを表している。図４の例は1回の編集（変更が）がされた場合の例であるが、ファイルが編集されるたびに同様の操作によりextentの編集（追加、変更）が加わることで、ファイルを構成するデータ領域を特定するようになっている。
【００２９】
図５は、図４のデータパーティションの構成例におけるデータの読み出し（ＲＥＡＤ）のイメージ図である。ファイルシステムからファイルＡを読み出すコマンドがくると、最新のインデックスであるindex bからファイルＡの位置を割り出す。最初にヘッド１４がファイルの先頭位置Ｘ１に移動する。そこからＬ１‘バイトのデータを読み出す（Ｒ１）。次に、ヘッド１４がデータが存在するＸ２にヘッド１４が移動して、Ｌ２バイトのデータを読み出す（Ｒ２）。最後にヘッド１４が引き返して（２回のロールバックをしながら）Ｘ３まで移動して、Ｌ３バイトのデータを読み出す（Ｒ３）。ファイルＡがキャッシュに保存されていない限り、ファイルＡを読み出すたびにこの一連のヘッド移動が必ず発生することになる。
【００３０】
本発明は、図４、図５に例示されるようなデータパーティションのデータを他のテープ上にバックアップする際に、上記したデータ読み出し時のヘッド移動に伴う読み出し時間の増加を解消／軽減するべく、以下に示すようなデータのバックアップ（コピー）方法を提案する。図６〜図９を参照しながら本発明のバックアップ方法の実施形態について説明する。
【００３１】
図６は、本発明のバックアップ方法の第１の実施形態を説明するための図である。図６（ａ）は、図４のファイルＡの一部（Ａの範囲）が編集（変更）された場合のデータパーティションの構成例と同じである。（ｂ）と（ｃ）がバックアップ（コピー）後のデータパーティションの構成例である。（ａ）においては、既に図４の説明において述べたように、追記されたインデクッス（index b）は、ファイルＡのextentとして、３つのデータ領域を特定するための（Ｘ１、Ｌ１‘）（Ｘ２、Ｌ２）（Ｘ３、Ｌ３）の情報を含む。
【００３２】
この例では、元のファイルＡの一部（Ａの範囲）のデータが更新されているので、（ｂ）に示すように、データ領域“Ｌ１‘＋Ｌ２＋Ｌ３”のデータをコピー先に作成する。このときのインデックスｃを構成するextentは、（Ｙ１、Ｌ１‘＋Ｌ２＋Ｌ３）となる。先頭位置Ｙ１は、コピー先のLTFSの空きエリアの先頭位置にマップされる。データ領域“Ｌ１‘＋Ｌ２＋Ｌ３”からなるファイルにおいて、最初のＬ１’バイトがコピー元の（Ｘ１，Ｌ１‘）部分から、次のＬ２バイトがコピー元の（Ｘ２、Ｌ２）部分Ｄ２から、最後のＬ３バイトがコピー元の（Ｘ３、Ｌ３）部分からそれぞれコピーされて作成される。
【００３３】
次に、一世代前のファイルを再現する。コピー先では次の世代部分のＹ１からＬ１‘バイト部分と、Ｙ２から“Ｌ１−Ｌ１’−Ｌ３”バイト部分と、“Ｙ１＋Ｌ１‘＋Ｌ２”の位置からＬ３バイト部分とをつなげたものがコピー元での（Ｘ１、Ｌ１）のデータ領域に該当するので、一世代前のファイルは、（ｃ）に示す構成となる。なお、ここで言う世代とは、編集履歴上の順番（旧―＞新）を意味する。（ｃ）の場合のインデックスｄを構成するextentは、（Ｙ１、Ｌ１’）（Ｙ２，Ｌ１−Ｌ１’−Ｌ３）（Ｙ１＋Ｌ１‘＋Ｌ２、Ｌ３）となる。
【００３４】
なお、図６の例では、編集部分Ａはデータ領域の中央部であるが、その編集部分Ａがデータ領域中の先頭部あるいは後方部等のいずれの位置にあっても、同様な手順でコピーをおこなうことができる。なお、ここで言う「編集部分Ａ」には、その領域にデータが追加された場合も含まれる。図６（ｂ）のコピー先のファイルの読み出し時には、インデックスindex bからファイルの位置を割り出し、ヘッドが位置Ｙ１に移動して、連続したデータ領域（“Ｌ１‘＋Ｌ２＋Ｌ３”）からなるファイルを読み出すことができる。したがって、図５の読み出し時と比較して明らかなように、ファイルの読み出しを速く完了することができる。また、図６（ｃ）の構成例から明らかなように、ファイルの編集履歴（世代）を維持しつつ、必要な時にそれを再現（読み出し）することができる。
【００３５】
図７は、本発明のバックアップ方法の第２の実施形態を説明するための図である。図７（ａ）は、インデックスｅのextent（Ｘ１、Ｌ１）で特定されるデータ領域の直前に編集後のデータＤ３が挿入された場合の例である。この場合のインデックスｆを構成するextentは、（Ｘ２、Ｌ２）（Ｘ１、Ｌ１）となる。この例では、元のファイルＡにデータ領域Ｄ３が追加されているので、図７（ｂ）に示すように、データ領域“Ｌ１＋Ｌ２”のデータ（ファイル）をコピー先に作成する。この場合のインデックスｇを構成するextentは、（Ｙ１、Ｌ１＋Ｌ２）となる。
【００３６】
先頭位置Ｙ１は、コピー先のLTFSの空きエリアの先頭位置にマップされる。データ領域“Ｌ１＋Ｌ２”の前半のＬ２バイトがコピー元の（Ｘ２、Ｌ２）部分からコピーされ、後半のＬ１バイトがコピー元の（Ｘ１、Ｌ１）部分からコピーされる。次に、一世代前のファイルを再現する。コピー先では、Ｙ１＋Ｌ２の位置からＬ１バイト部分がコピー元での（Ｘ１、Ｌ１）のデータ領域に該当するので、一世代前のファイルは図７（ｃ）に示す構成となる。この場合のインデックスｈを構成するextentは、（Ｙ１＋Ｌ２、Ｌ１）となる。
【００３７】
なお、図７の例はデータ領域の直前部に編集データが挿入（追加）された場合であるが、データ領域の直後部に編集データが挿入（追加）された場合も同様な手順でコピーをおこなうことができる。図７のバックアップにおいても、図６の場合と同様に、コピー後のデータ領域が連続しているので、ファイルの読み出しを速く完了することができる。さらに、ファイルの編集履歴（世代）を維持しつつ、必要な時にそれを再現（読み出し）することができる。
【００３８】
図８は、本発明のバックアップ方法の第３の実施形態を説明するための図である。図８（ａ）は、元ファイルであるデータ領域Ｄ４の全体が編集（変更）され編集後のデータ領域Ｄ５が形成される場合の例である。この場合のインデックスｋを構成するextentは、（Ｘ２、Ｌ２）となる。この例では、元のファイルすべてが新たなデータに置き換えられているので、（ｂ）に示すようなファイル（データ領域）Ｄ５をコピー先に作成する。この場合のインデックスｍを構成するextentは、（Ｙ１、Ｌ２）となる。
【００３９】
先頭位置Ｙ１は、コピー先のLTFSの空きエリアの先頭位置にマップされる。データ領域Ｄ５のＬ２バイトはコピー元の（Ｘ２、Ｌ２）部分からコピーされて作成される。次に一世代前のファイルを再現する。コピー先では次の世代部分のＹ２からＬ１バイト部分（Ｄ４）がコピー元での（Ｘ１、Ｌ１）のデータ領域Ｄ４に該当するので、一世代前のファイルは図８（ｃ）に示す構成となる。この場合のインデックスｊを構成するextentは、（Ｙ２、Ｌ１）となる。
【００４０】
図８のバックアップにおいても、図６、図７の場合と同様に、コピー後のデータ領域が連続しているので、ファイルの読み出しを速く完了することができる。さらに、ファイルの編集履歴（世代）を維持しつつ、必要な時にそれを再現（読み出し）することができる。
【００４１】
なお、図示はしていないが、元のファイル全体が削除された場合は、コピー先には何もコピーされない。一世代前のファイルの再現として、コピー元での（Ｘ１、Ｌ１）のデータ領域がコピー先での次の世代部分のＹ１からＬ１バイト部分としてコピーされる。その場合のインデックスを構成するextentは、（Ｙ１、Ｌ１）となる。
【００４２】
図９は、本発明の複数の世代間でのデータのバックアップのイメージ図である。図９（ａ）は３世代（３編集履歴）のバックアップのイメージであり、（ｂ）は上述した本発明のバックアップ（コピー）方法を用いてファイル（データ）を３世代（３編集履歴）に渡ってバックアップするイメージである。世代は、gen#1〜gen#3で表され、数字の大小が世代（履歴）の新旧に対応している。したがって、最新の世代はgen#3である。（ａ）、（ｂ）のいずれにおいても、最新（gen#3）のインデックス（latest Index）がインデックスパーティション（Index partition）上に書かれている。
【００４３】
既に上述したように編集後のデータは、データパーティション（data partition）の先のデータ領域の後ろに追記されていく。同時に対応するインデックスのextentの情報も更新されていく。したがって、世代が新しくなるほど、インデックスのextentの情報も増えていくことになる。この場合、図９（ａ）に示すように、矢印１〜３で指示される流れに沿って、最新のインデックスの内容から古いインデックスの位置及びその内容を順番にたどっていくことができる。その結果各インデックスにより特定されるデータの領域から順次データを読み出していくことができる。
【００４４】
図９（ｂ）のコピー後のデータパーティション（data partition）では、コピー元のデータの世代の新しいものから古いものへ遡るようにデータがコピーされている。したがって、（ａ）の場合とは逆に、世代が古くなるほど、インデックスのextentの情報も増えていくことになる。この場合、図９（ｂ）に示すように、矢印１〜３で指示される流れに沿って、最新のインデックスの内容から古いインデックスの位置及びその内容を順番にたどっていくことができる。その結果、各インデックスにより特定されるデータの領域から順次データを読み出していくことができる。その際、インデックスのextentの情報量が少ない新しい世代のデータほど、ヘッドの移動時間等が短くなり、読み出しに係る時間を短くすることが可能となる。
【００４５】
ユーザがテープに保存してあるファイルを読み出す場合、最もアクセスするのは直近に編集を行った最新の状態のファイルである。そのファイルの過去に書き込んだレベルのファイルにロールバックしてアクセスする必要があるのは、まれな状況と考えられる。しかし、従来のLTFSの性質上、その最も頻繁にアクセスされる最新のファイルを読み出すために、それ以外の世代のファイルを読み出すのに比べて最も時間がかかる仕組みになっていた。図９（ｂ）に例示されるように、本発明の方法によりバックアップを行うと、最もアクセスの多い最新の状態（新しい世代）のファイルの読み出しを短時間に行えるようになる。
【００４６】
本発明の実施形態について、図を参照しながら説明をした。しかし、本発明はこれらの実施形態に限られるものではない。さらに、本発明はその趣旨を逸脱しない範囲で当業者の知識に基づき種々なる改良、修正、変形を加えた態様で実施できるものである。
【符号の説明】
【００４７】
１０  テープドライブ
１１  ホストＩ／Ｆ
１２  バッファ
１３  チャネル
１４  ヘッド
１５  モータ
１６  コントローラ
１７  ヘッド位置制御システム
１８  モータドライバ
１９  カートリッジメモリＩ／Ｆ
２０  テープカートリッジ
２１、２２  リール
２３  テープ
２４  カートリッジメモリ（ＣＭ）
３０  サーバー（ホスト）
３２、３４  ＰＣ
３６  ネットワーク
４０  サーボバンド
１００  ファイルシステム
【図１】
2015087584.tif 000003
【図２】
2015087584.tif 000004
【図３】
2015087584.tif 000005
【図４】
2015087584.tif 000006
【図５】
2015087584.tif 000007
【図６】
2015087584.tif 000008
【図７】
2015087584.tif 000009
【図８】
2015087584.tif 000010
【図９】
2015087584.tif 000011
【手続補正書】
【提出日】平成28年5月17日(2016.5.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項５
【補正方法】変更
【補正の内容】
【請求項５】
前記第１のデータ領域に追加されたデータ領域は、前記第１のデータ領域の先頭部または最後部のいずれかに追加されたデータ領域である、請求項４に記載の方法。
【国際調査報告】
2015087584.tif 000012
2015087584.tif 000013
2015087584.tif 000014
2015087584.tif 000015