(57)【要約】多重コピーファイルバックアップシステムを提供するための方法および装置が開示される。ここでは、最初のユーザによって予めバックアップされたファイルは、異なるユーザによってバックアップされることになる。ファイルのバックアップの第１の例は、そのファイルを第１の位置にストアし、そのファイルとユーザをファイルデータテーブル内のエントリで関連付ける結果になる。同じファイルをバックアップする必要のある他のユーザにとって、そのファイルの内容は、ファイルバックアップシステム内で第１の位置から第２の位置へコピーされる。ファイルバックアップシステムは、ファイルデータテーブル内に２つの新エントリを創生する。１つのエントリでは、第２の位置にストアされたファイルは、ユーザ間でファイルの共有を可能にするユーザプールに関連付けされる。ファイルデータテーブル内の第２及びそれ以降のエントリは、後続のユーザがファイルのバックアップを望むときに創生される。これらエントリは、ファイルがユーザプールによって与えられること、および必要なデータがユーザプールエントリからコピーされてユーザとファイル内容を適切に関連付けることを示す。
2004500633.tif 000002
【特許請求の範囲】
【請求項１】
ファイルバックアップシステム上でバックアップファイルの多重コピーを提供するための方法であって、前記ファイルバックアップシステムは、複数のファイルと、この複数のファイルのそれぞれに関連した複数のファイルデータを含むファイルデータテーブルとをストアし、前記ファイルバックアップシステムとクライアントマシンにはサーバが接続され、このクライアントマシンは、ユーザ識別子を有するユーザによって操作されるファイルバックアップシステムにおいて、
前記ファイルバックアップシステム上でストアされるべきファイルを識別するファイル識別子を、前記クライアントマシンによって前記サーバに提供する工程と、
前記クライアントマシンを操作する前記ユーザの前記ユーザ識別子を、前記クライアントマシンによって前記サーバに提供する工程と、
前記ファイルデータテーブル内に第１の新エントリを創生する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、ファイル識別を示すデータを、前記クライアントマシンによって提供される前記ファイル識別子に設定する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、ユーザ識別を示すデータを、前記クライアントマシンによって提供される前記ユーザ識別子に設定する工程と、
前記ファイル識別子によって識別されたファイルが前記ファイルバックアップシステム上に現在ストアされているかを、前記サーバによって検出する工程とを備え、
前記ファイル識別子によって識別されたファイルの単一コピーが前記ファイルバックアップシステム上に現在ストアされている場合には、
前記ファイルの前記単一コピーの内容を、前記ファイルバックアップシステム内の第２の位置にコピーする工程と、
前記ファイルデータテーブル内に第２の新エントリを創生する工程と、
前記ファイルデータテーブル内の前記第２の新エントリの複数のファイルデータ中の、ファイル識別を示すデータを、前記クライアントマシンによって提供される前記ファイル識別子に設定する工程と、
前記ファイルデータテーブル内の前記第２の新エントリの複数のファイルデータ中の、ユーザ識別を示すデータを、ユーザプールを示すユーザ識別子に設定する工程と、
前記ファイルデータテーブル内の前記第２の新エントリの複数のファイルデータ中の、識別によるソースを示すデータを、ユーザプール識別子に設定する工程と、
前記ファイルデータテーブル内の前記第２の新エントリの複数のファイルデータ中の、前記ファイル内容を共有するユーザの数を示すデータを１に設定する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、前記ファイル位置を示すデータを、前記ファイルの前記第２のコピーに設定する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、識別によるソースを示すデータを、ユーザプール識別子に設定する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、前記ファイル位置を示すデータを、前記ファイルの前記第２のコピーに設定する工程と
を備えることを特徴とする方法。
【請求項２】
前記ファイル識別子に関連した前記ファイルが前記バックアップシステム上に現在ストアされていない場合には、
前記ファイル内容を前記サーバによって前記クライアントから受信する工程と、
前記ファイルを前記バックアップシステム上にストアする工程と、
前記ファイルデータテーブル内に新エントリを創生する工程と、
前記ファイルデータテーブル内の前記新エントリの複数のファイルデータ中の、ファイル識別を示すデータを、前記クライアントマシンによって提供される前記ファイル識別子に設定する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、ユーザ識別を示すデータを、前記クライアントマシンによって提供される前記ユーザ識別子に設定する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、識別によるソースを示すデータを、前記クライアントマシンによって提供されるユーザ識別子に設定する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、前記ファイル内容を共有するユーザの数を示すデータを０に設定する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、前記ファイル内容を共有するユーザの数を示すデータを０に設定する工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、前記ファイル位置を示すデータを、前記ファイルの前記第２のコピーに設定する工程と
を更に備える請求項１に記載の方法。
【請求項３】
前記ファイル識別子に関連したファイルの２以上のコピーが前記バックアップシステム上に現在ストアされている場合には、
前記ストアされたファイルに関連した前記ファイルデータテーブル内に新エントリを創生する工程と、
前記ファイルデータテーブル内の前記新エントリの複数のファイルデータ中の、ユーザ識別を示すデータを、前記クライアントマシンによって提供される前記ユーザ識別子に設定する工程と、
前記ファイルデータテーブル内の前記新エントリの複数のファイルデータ中の、ファイル識別を示すデータを、前記クライアントマシンによって提供される前記ファイル識別子に設定する工程と、
前記ファイルデータテーブル内の前記新エントリの複数のファイルデータ中の、識別によるソースを示すデータを、ユーザプール識別子に設定する工程と、
前記ファイルデータテーブル内の前記新エントリの複数のファイルデータ中の、前記ファイル内容を共有するユーザの数を示すデータを０に設定する工程と、
ユーザプール識別子に設定されたユーザ識別および識別によるソースを有し、かつ前記クライアントマシンから受信されたファイル識別子に設定されたファイル識別を有するエントリを、前記ファイルデータテーブル内で発見する工程と、　配置されたファイルテーブルエントリの共有カウントをインクリメントする工程と、
前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、前記ファイル位置を示すデータを、発見されたファイルテーブルエントリ内に含まれる前記ファイル位置に設定する工程と
を更に備える請求項１に記載の方法。
【請求項４】
前記ファイルバックアップシステムからキャンセルされるべきユーザ識別子をクライアントにおいて受信する工程と、
除去されるべきユーザプール識別子に設定されたユーザ識別および識別によるソースを有したエントリを、前記ファイルデータテーブル内で発見する工程と、　発見されたファイルテーブルエントリのそれぞれの中に含まれる前記ファイル位置エントリによって指示される位置に配置されたファイル内容を除去する工程と
を更に備える請求項１に記載の方法。
【請求項５】
前記ファイルの前記単一コピーの内容を第２の位置にコピーする工程は、前記ファイルの前記単一コピーの内容を、前記ファイルバックアップシステム内の第２の位置にコピーする工程を含む請求項１に記載の方法。
【請求項６】
前記ファイルの前記単一コピーの内容を第２の位置にコピーする工程は、前記ファイルの前記単一コピーの内容をキュー内の新規な第２の位置にコピーする工程と、前記ファイルの前記単一コピーの内容を後で前記ファイルバックアップシステム内の第２の位置にストアする工程と、前記ファイルデータテーブル内の前記第１の新エントリの複数のファイルデータ中の、前記ファイル位置を示すデータを、前記ファイルの新規な第２のコピーに設定する工程とを含む請求項１に記載の方法。
【請求項７】
前記第２の位置にストアされたファイルの内容を第３の位置にコピーする工程を更に備える請求項１に記載の方法。
【請求項８】
ファイルバックアップシステム上でバックアップファイルの多重コピーを提供するための方法であって、
１つのファイルの第１のコピーを、第１のユーザによって、前記ファイルバックアップシステム上で作成する工程と、
ファイルデータテーブル内の第１の位置に第１のエントリを創生する工程と、
前記第１のファイルと前記第１のユーザを、前記第１エントリ内のファイルソースとして関連付ける工程と、
前記第１のファイルと前記第１の位置を、前記第１エントリ内で関連付ける工程と、
前記ファイルの第２のコピーを作成することを、第２のユーザによって、要求する工程と、
前記ファイルの第２のコピーを第２の位置に作成する工程と、
ファイルデータテーブル内に第２のエントリを創生する工程と、
前記第２のファイルとユーザプールを、前記第２のエントリ内のファイルオーナーおよびファイルソースとして関連付ける工程と、
前記第２のファイルと前記第２の位置を、前記第２エントリ内で関連付ける工程と、
ファイルデータテーブル内に第３のエントリを創生する工程と、
前記第２のファイルと前記第２のユーザを、前記第３のエントリ内のユーザプールとして関連付け、そしてファイルのソースを識別する工程と、
前記第２のファイルと前記第２の位置を、前記第３エントリ内で関連付ける工程と
を備えることを特徴とする方法。
【発明の詳細な説明】
【０００１】
［関連出願との相互参照］
この出願は、１９９９年１２月１３日に出願された暫定特許出願第６０／１７０，３４１号に対する３５ＵＳＣ§１１９（ｅ）の優先権を主張し、その開示を参照によって組み入れる。
【０００２】
［連邦補助研究または開発に関する表明］
適用なし
【０００３】
［発明の背景］
この出願は、一般的にはファイルバックアップシステムに関し、特にはクライアント−サーバシステムの多重コピー能力（ケイパビリティ）を有したファイルバックアップシステムに関する。
【０００４】
クライアント−サーバネットワークシステムは、多くの産業および応用で良く知られ、かつ幅広く使用されている。典型的なクライアント−サーバシステムでは、クライアントマシンを操作するユーザは、１以上の処理用の中央コンピュータ（サーバ）にデータを送信する。処理されたデータは、サーバ上で集中的にストアされるか、あるいは局所記憶用にクライアントに戻される。いずれの場合でも、クライアントであれサーバであれ、一次データ蓄積システムの故障は、ユーザデータの破滅的な損失につながる。一次データ蓄積システムの故障に起因するデータの損失を防ぐために、クライアントデータの復旧を可能にするファイルバックアップシステムが通常使用される。
【０００５】
クライアント−サーバシステム用のバックアップシステムは、典型的にはユーザデータの余分なコピーをサーバ上に保持している。バックアップシステムは、このユーザデータの余分なコピーを、クライアント及びサーバシステムで使用されているハードドライブよりも高価でない他の記憶装置、例えばシリアルテープ上に保持する。
【０００６】
クライアント−サーバシステムでは、２以上のユーザが特別なデータファイルをバックアップしようとすることがある。バックアップシステムは、もしもチェックされないままであると、単一データファイルの繰り返しバックアップによって圧倒されてしまう。バックアップシステムは、最初のユーザだけが特定のデータファイルを、バックアップシステム上に蓄積するために、サーバに送信することを要求するように予め開発されている。これらのシステムは、後続のユーザが同じデータファイルをバックアップすることを試みるときはいつでも検出し、そして２番目のユーザがそのデータを送信することを必要とせず、またそのユーザのデータファイルを繰り返しストアすることはしない。
【０００７】
しかしながら、あるユーザが数ヶ月か数年間そのシステム上に存在していて、現在システム全体中の多くの物理的位置に配置されている共有バックアップデータへの参照を有する場合には、１つの問題が生じる。いくつかの物理的記憶システム、例えばテープシステムは、そこに含まれたデータに対してシーケンシャルなアクセスだけを許容する。上述したように、多数のユーザをサポートするバックアップシステムは、典型的には、バックアップデータを、それらの高速ランダムアクセスディスク記憶システムから、自動化されたテープライブラリ（ＡＴＬ）へと移動する。ＡＴＬは、記憶単位当たりの非常に低いコストを提供し、しかも床空間をさほど必要とせず、またコストを低減する。しかしながら、ＡＴＬは、テープからのデータ復旧に関連した長い時間を有する。特に、特別のユーザに対するデータが１つのテープ上にだけ存在するように論理的にグループ化されている場合、他のユーザからの共有ファイルへの参照は、他の多くの物理的に分離されたテープ上に含まれることがある。各テープは、そこに含まれるファイルとデータを検索するために、別々に読まれる必要がある。加えて、ＡＴＬシステムは、信頼性に欠けるものと考えることができる。何故ならば、システムの寿命に対するテープの損失確率が高いためである。
【０００８】
加えて、ユーザのアカウントがキャンセルされた場合、現在のバックアップシステムは典型的にはキャンセルされたアカウントによって使用されていた空間を回復可能にはしない。何故ならば、キャンセルされたアカウントのファイルを除去することは、共有データの損失を招くからである。共有データの無差別な損失を回避するためには、各ファイルは、それが他のユーザとの間で共有されていたかを見るために、時間消費型の面倒な仕事でチェックされなければならない。
【０００９】
それ故、少ない数のテープだけが読まれる必要があり、そしてデータがそこから容易に検索できる手法で、ファイルをバックアップ可能であることが望ましい。アカウントがキャンセルされたときに、時間効率的手法で、ファイルバックアップシステムの検索記憶空間を可能とすることが望ましい。
【００１０】
［発明の簡単な要約］
多重コピーファイルバックアップシステムを提供するための方法および装置が開示される。ここでは、最初のユーザによって予めバックアップされたファイルは、異なるユーザによってバックアップされることになる。ファイルのバックアップの第１の例は、そのファイルを第１の位置にストアし、そのファイルとユーザをファイルデータテーブル内のエントリで関連付ける結果になる。同じファイルをバックアップする必要のある他のユーザにとって、そのファイルの内容は、ファイルバックアップシステム内で第１の位置から第２の位置へコピーされる。ファイルバックアップシステムは、ファイルデータテーブル内に２つの新エントリを創生する。１つのエントリでは、第２の位置にストアされたファイルは、ユーザ間でファイルの共有を可能にするユーザプールに関連付けされる。ファイルデータテーブル内の第２及びそれ以降のエントリは、後続のユーザがファイルのバックアップを望むときに創生される。これらエントリは、ファイルがユーザプールによって与えられること、および必要なデータがユーザプールエントリからコピーされてユーザとファイル内容を適切に関連付けることを示す。
【００１１】
多重コピーファイルバックアップシステムを提供するための方法および装置が開示される。ここでは、異なるユーザによってバックアップされるべきファイルが、バックアップ記憶システム内の第２の位置へコピーされ、且つユーザ間でファイルの共有を可能にするユーザプールに関連付けされる。
【００１２】
１つの実施形態では、ファイルデータテーブルは、クライアント−サーバシステムのサーバに接続されたバックアップファイルシステムによって創生される。サーバに接続されたクライアントマシンのユーザが、ファイルをバックアップすることを要求すると、そのサーバは、ファイルデータテーブルから、ユーザによって提供されたファイル識別子をファイルＩＤフィールドとして含んだエントリをサーチする。何のエントリも発見されない場合は、バックアップファイルシステムは、そのファイルの内容をクライアントマシンから要求し、そのファイルの内容を第１の位置にストアする。ファイルデータテーブルに１つの新エントリが創生され、ファイルデータテーブルの新エントリ内の１つのユーザＩＤフィールドが、ユーザのユーザ識別子に設定される。ファイルデータテーブルの新エントリ内の１つのファイルＩＤフィールドは、ファイル識別子に設定される。ファイルデータテーブルの新エントリ内のソースドバイフィールドは、ユーザ識別子に設定される。ファイルデータテーブルの新エントリ内のファイル位置ポインタフィールドは、第１の位置に設定される。ファイルデータテーブルの新エントリ内の共有カウントフィールドは、０にセットされる。
【００１３】
ファイルデータテーブル内の１つのエントリが発見された場合は、そのファイルの第１の位置における内容が第２の位置へコピーされ、そしてファイルデータテーブル内に２つの新エントリが創生される。２つの新エントリ中の一方の、新たにコピーされたファイルをユーザプールに関連付けるエントリでは、ファイルデータテーブルの新エントリ中のユーザＩＤフィールドは、ユーザプールの新エントリに設定され、ファイルデータテーブルの新エントリ中のファイルＩＤフィールドは、ファイル識別子に設定され、ファイルデータテーブルの新エントリ内のソースドバイフィールドは、ユーザプールに設定され、ファイルデータテーブルの新エントリ内のファイル位置ポインタフィールドは、第２の位置に設定され、ファイルデータテーブルの新エントリ内の共有カウントフィールドは、１にセットされる。
【００１４】
上述したように、サーバは、ファイルデータテーブル内に２つの新エントリを創生する。サーバによって創生された第２の新エントリは、ユーザのユーザ識別子に設定されたファイルデータテーブルの新エントリ中のユーザＩＤフィールドと、ファイル識別子に設定されたファイルデータテーブルの新エントリ中のファイルＩＤフィールドと、ユーザプールに設定されたファイルデータテーブルの新エントリ内のソースドバイフィールドと、第２の位置に設定されたファイルデータテーブルの新エントリ内のファイル位置ポインタフィールドと、１にセットされたファイルデータテーブルの新エントリ内の共有カウントフィールドとを含む。
【００１５】
ファイルデータテーブル内に２以上のエントリが配置されている場合は、ファイル識別子をユーザプールに関連付けるエントリが、エントリ間から配置される。サーバは、ファイルデータテーブル内に１つの新エントリを創生する。この新エントリでは、ファイルデータテーブルの新エントリ中のユーザＩＤフィールドは、ユーザのユーザ識別子に設定され、ファイルデータテーブルの新エントリ中のファイルＩＤフィールドは、ファイル識別子に設定され、ファイルデータテーブルの新エントリ内のソースドバイフィールドは、ユーザプールに設定され、ファイルデータテーブルの新エントリ内のファイル位置ポインタフィールドは、ファイル識別子に関連したユーザプールエントリから読み出されたときに第２の位置に設定され、ファイルデータテーブルの新エントリ内の共有カウントフィールドは、０にセットされる。ファイル識別子をユーザプールに関連付けるエントリ内の共有カウントフィールドは、１だけインクリメントされる。
【００１６】
この発明は、図面に関連した以下の発明の詳細な説明を参照することによって、より完全に理解される。
【００１７】
［発明の詳細な説明］
バックアップシステムに多重バックアップコピーを維持するための本発明に従った方法とシステムを開示する。典型的には、本方法及び装置は、クライアントマシンを操作するユーザーがサーバからのデータを送受信するクライアントサーバシステムの一部である。サーバは、サーバ内か、又はサーバに結合されている個別のバックアップシステムに含まれている格納システムのユーザデータのバックアップコピーを保持する。
【００１８】
図２と図３は、本発明に従って多重コピーバックアップファイル保存を実行するためのシステム動作を図解している。多数のユーザー、ユーザーＡ　２０２、ユーザーＢ　２０４およびユーザーＮ　２０６は、それぞれ多数のクライアントマシン２０２Ａ、２０２Ｂおよび２０２Ｎを操作する。クライアントマシン２０２Ａ、２０２Ｂおよび２０２Ｎは、データ処理および少なくともいくらかのデータ保存を提供するサーバ２０６と連結される。ファイルデータテーブル２１２およびファイルバックアップストレージシステム２１４を構成するバックアップシステム２１０は、サーバ２０６と連結されるように図解されている。しかしながら、バックアップシステム２１０、もしくはファイルデータテーブル２１２のようなバックアップシステム２１０の一部も、サーバ２０４の中に含まれることがある。例えば、ファイルデータテーブル２１２は、サーバ中のストレージシステムに保存されることがあり、ファイルバックアップストレージシステムは、別のストレージシステム、もしくは他のサーバ上のストレージシステム（図に示されていない）、もしくはクライアントマシン（図に示されていない）の場合がある。
【００１９】
ファイルバックアップストレージシステム２１４は、逐次アクセス可能なテープもしくは他の自動テープライブラリ（ＡＴＬ）システム、ランダムアクセスハードドライブ、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、フラッシュＲＡＭや他の非揮発性ＲＡＭのような非揮発性電子メモリ、もしくはデータの保存およびアクセスを許可する他の記憶媒体の場合がある。
【００２０】
図３はファイルデータテーブル２１２の１つの具体例を図解している。ファイルデータテーブルは、ユーザーによってファイルバックアップストレージシステムに保存される各ファイルに関連する多数のデータを含めることができる。図解された具体例では、ファイルデータテーブル３００は、バックアップシステムに保存するユーザーを示すユーザーＩＤフィールド３０２および保存されるファイルのファイルＩＤフィールド３０４を含んでいる。ユーザーＩＤとファイルＩＤの両フィールドは、データの混乱と損失を防ぐためにそれぞれ独自のユーザーとファイル識別子を含む必要がある。さらに、ファイルデータテーブル３００は、使用されるシステムタイプに依存する論理ポインタもしくは物理ポインタの場合がある、バックアップシステム中に保存されたファイルコンテンツの位置を示すファイルロケーションポインタフィールド３０６を含めることができる。ファイルデータテーブルはさらに、ファイルのコピーを提供するユーザーのユーザー識別子を含む情報源フィールド３０８を含む。ファイルデータテーブル３００はまた、他のデータフィールド３１２に保存されることがある、ユーザーによって適切と考えられたファイルコピーや他のデータを共有する場合があるユーザー数を表示するシェアカウントフィールド３１０を含めることができる。ファイルデータテーブル２１２は、データが保存され、アクセスされることを許可するデータ構造のいかなる形式にもなり得ることを理解すべきである。例えば、ファイルデータテーブルは、無制限に、データ構造の配列、マトリクス、もしくはリンクリストの場合がある。
【００２１】
図２を再び参照するが、ファイルデータテーブル２１２を使用して、サーバー２０６は、特定のユーザーとそれらのユーザーによってバックアップされたファイル間の関係を維持する。これは、ファイルバックアップストレージシステム２１４が多数のユーザーに対応する多数の領域に分割されることが図２で図式的に説明されている。例えば、領域２１６はユーザーＡによってバックアップされたファイルを含み、領域２１８はユーザーＢによってバックアップされたファイルを含み、領域２２０はユーザーＮによってバックアップされたファイルを含んでいる。これらの領域中のファイルの組分けは、図式目的のためだけであり、ファイルが実際にファイルバックアップストレージシステム２１４の同じ物理的領域中に位置することを意味しない。むしろファイルは、ファイルデータテーブル２１２を通して各ユーザーと論理的に関連している。
【００２２】
最初のユーザーによってバックアップされる各ファイルは第一に、ファイルのコンテンツがファイルデータテーブル２１２で作成された最初の位置と新規情報入力に保存される。サーバーは、操作を実行するユーザーの独自ユーザー識別子にファイルデータテーブル２１２のユーザーＩＤフィールドと情報源フィールドを設定し、サーバーはバックアップされるファイルに関連する独自ファイル識別子にファイルＩＤフィールドを設定する。さらに、ファイルロケーションポインタフィールドは、ファイルのコンテンツが保存されるストレージシステム中の物理的位置もしくは論理的関係の場合がある、最初の位置に設定され、シェアカウントフィールドは、他のファイルがこのデータを共有していないことを示すゼロに設定される。
【００２３】
以前に最初のユーザーによってバックアップされたファイルのバックアップコピーの作成を別のユーザーが要求した場合、サーバーは、ファイルコンテンツの２番目のコピーを作成し、ファイルバックアップストレージシステム２１４中の２番目の位置に２番目のコピーを保存する。サーバーは、ファイルコンテンツの２番目のコピーをファイルのユーザープールに関連づける。ユーザープールは、一人以上のユーザーによって一度以上バックアップされた全てのファイルの２番目のコピーを含んでいる。以前にバックアップされたファイルのコピーをバックアップすることを願う他のユーザーは、ユーザープール中のファイルにアクセスすることがある。
【００２４】
ファイルバックアップストレージシステムに保存され、ユーザープールに関連づけられた各ファイルに関しては、ファイルデータテーブル２１２で作成される少なくとも２つの情報入力がある。ファイルがユーザープールに置かれるとき作成された１つの情報入力は、独自のユーザープール識別子にユーザーＩＤフィールドを、独自のファイル識別子にファイルＩＤフィールドを、そして独自のユーザープール識別子に情報源フィールドを設定する。さらに、このサーバーは、ファイルバックアップストレージシステム２１４中に２番目の位置に保存されたファイルコンテンツを示すようにファイルロケーションポインタフィールドを設定し、シェアカウントフィールドは、ファイルのバックアップをとる必要がある２番目のユーザーのために１に設定され、その後、各その後のユーザーのために増やされる。
【００２５】
ファイルデータテーブル２１２における２番目の情報入力は、ファイルのバックアップをとる必要がある２番目のユーザーを以前にバックアップされたファイルに関連づける。 この情報入力では、サーバーは、ファイルをバックアップすることを要求しているユーザー独自のユーザー識別子にユーザーＩＤフィールドを設定し、バックアップされるファイルに関連づけられた独自のファイル識別子にファイルＩＤフィールドを設定し、独自のユーザープール識別子に情報源フィールドを設定する。さらに、サーバーは、ファイルバックアップストレージシステム２１４中の２番目の位置に保存されたファイルコンテンツを示すようにファイルロケーションポインタフィールドを設定し、シェアカウントをゼロに設定する。以前にバックアップされたファイルのバックアップをとる必要がある各その後のユーザーに関しては、上記で説明されたように、新規情報入力は、ユーザーをユーザープール域に保存されるファイルのコピーに関連づける、ファイルデータテーブル２１２によって作成される。
【００２６】
システム資源の有効性により、サーバーは、バックアップされるファイルの２番目のコピーを実際に作成し、保存するために、将来、別の時を選択するかもしれない。この場合、ファイルデータテーブルでのユーザープール情報入力におけるファイルロケーションポインタフィールドは、ファイルが保存される最初の位置を示すように設定される。２番目の位置でバックアップされる各ファイルは、選択された時にアクセスされる待ち行列に置くことができる。さらに、待ち行列におけるファイルがアクセスされる順番は、バックアップストレージシステム上で、より効率的なストレージを可能にするために操作されるかもしれない。例えば、自動テープライブラリ（ＡＴＬ）内で、テープ上にあるファイルを互いに物理的に近づけて保存することは、より効率的であるかもしれない。
【００２７】
ユーザーアカウントがキャンセルされ、ユーザーがバックアップしたファイルが除かれる場合、ユーザーＩＤフィールドおよびソースドバイフィールドの両方がキャンセルされたアカウントのユーザーの特有ユーザー識別子に設定されている各入力について、サーバーはファイルデータテーブル２１２内を検索する。次にサーバーはファイルのバックアップストレージシステムを構築し、各入力のファイルロケーションポインタフィールドにより指示されたファイルの内容を削除する。この様にして、そのユーザーに特有の各ファイルは削除されるが、他ユーザーと共有されているファイルは削除されない。サーバーはそのアカウントが削除され、そしてソースドバイフィールドがユーザープール識別子に設定さたユーザー固有のユーザー識別子に設定されたファイルされたユーザーＩＤを有する入力についてファイルデータテーブル２１２中の入力を探索し、ファイルデータテーブル中のこれら入力を削除する。この様にして、所望するユーザーに関連した全ての入力がファイルデータテーブル２１２より除かれるが、データを共有する他ユーザーに関連した入力は除かれない。さらに、サーバーは削除対照のユーザーがデータを共有するユーザープール入力内のシェアカウントフィールドを縮小する。一度シェアカウントフィールが縮小されると、サーバーがもしシェアカウントが現在ゼロであると判定し、実際にゼロである場合には、サーバーはファイルロケーションポインタフィルード内の指摘ファイルおよびファイルデータテーブル内の入力を削除するだろう。
【００２８】
上記の如く、本発明は多くの異なるファイルバックアップシステムおよびストレージシステムと共に使用できる。上記の如く、ファイルテープバックアップシステムは、少なくとも１つのテープを失う可能性が非常に高いためシステムの寿命に関し信頼性のあるものとは考えられない。ユーザープール内に含まれるファイルデータのコピーを作製することは、バックアップデータのコピーのみの破壊から単一点の失敗を防ぐため、システム全体のエラー強さを高めることになる。このユーザープールファイルデータの余分なコピーは、物理的に第１および第２コピーと分離している、別のテープまたは別のハードディスクドライブの様な第３の場所で作製され、保存される。このユーザープールデータの余分なコピーは、基のユーザープールデータとは理論位置としては同一であるが、別の場所またはシステムにあるロケーションに保存されるため、ファイルデータテーブル中にあるユーザープール入力内のファイルロケーションポインタフィールドは必要に応じてデータの余分コピーを指示する。
【００２９】
別の実施態様では、複数のテーブルを用いてファイルデータとユーザープールデータを別々に保存することで、各テーブルおよびその中に含まれるファイルの維持を容易にし、同時に各テーブル中のストレージ空間を節約する。例えば、各ユーザーがそのユーザーによりバックアップされたファイルと関連付けられているファイルデータテーブルはシェアカウントフィールドを含まない。さらにソースドバイフィールドも、各ユーザーがこれらファイル自体をソースとすることから、ファイルデータテーブル内には必要ないだろう。
【００３０】
以下、ここに記載の複数コピーバックアップシステムの操作法を、図１Ａ−１Ｄに例示した流れ図に沿って説明する。図１Ａに示す様に、サーバーは段階１０２に示す様に、クライアント装置によっても提供される固有ファイル識別子によって特定されるファイルの中身のバックアップを望むユーザーの固有ユーザー識別子を受け取る。サーバーは段階１０４に示す様に、ファイルデータテーブル中に最初の新規入力を作製し、そしてそれぞれ段階１０４，１０６および１０８に示す様に、クライアント装置より提供された固有ユーザー名にユーザーＩＤフィールドを設定し、同様にクライアント装置により提供された固有フィールドＩＤにファイルＩＤフィールドを設定する。サーバーは段階１１０に示す様にファイル識別子についてファイルデータテーブルを探索する。ファイル識別子がファイルデータテーブル中に存在しない場合、段階１１２に示す様にコントロールは段階１５０に送られる。もしファイル識別子がファイルデータテーブル中にある場合には、段階１１４に示す様にサーバーはクライアントにファイルが既にバックアップシステム内に保存されていることを報告する。段階１１６に示す様に、サーバーがファイルデーテーブル中に２またはそれより多い入力があると決定した場合には、ファイルＩＤフィールドにクライアント装置より受け取った固有ファイルデータテーブルが設定される。もしファイルデーテーブル２１２中に２またはそれより多い入力がない場合には、ファイルＩＤフィールドにクライアント装置より受け取った固有ファイル識別子が設定され、コントロールは段階１３０に通される。もしファイルデーテーブル２１２中に２またはそれより多い入力がある場合には、ファイルＩＤフィールドにクライアント装置より受け取った固有ファイル識別子が設定され、コントロールは段階１２０に通される。
【００３１】
バックアップシステム上にファイルのあるコピーが存在する場合には、サーバーは段階１３０に示される様にバックアップシステム上に現在保存されているファイルをコピーし、段階１３２に示す様にファイルバックアップストレージシステム内の第２ロケーションにこのファイルの内容の新たなコピーを保存する。サーバー２０６は段階１３６に示す様に、受け取った固有のユーザープール識別子にユーザーＩＤフィールドを設定し、さらに段階１３８に示す様に第２ロケーションに保存されたファイルの内容を示すファイルロケーションポインタフィールドをセットする。さらにサーバーは、それぞれ段階１４０、１４２および１４４に示す様に、シェアカウントフィールドには１を、ソースドバイフィールドには固有のユーザープール識別子を、そしてファイルＩＤフィールドにはクライアント装置より受け取った固有のファイル識別子を設定する。
【００３２】
次にサーバーは、段階１０４にて作製しておいたファイルデータテーブル２１２中に、第１新規入力中の残りのフィールドを設定する。サーバーは第１新規入力のソースドバイフィールドを固有のユーザープール識別子に設定し、ファイルロケーションポインタフィールドを第２ロケーションに保存されたファイルの内容を表す様に設定し、そしてシェアカウントフィールドを０に設定する。次にコントロールは段階１０２に戻される。
【００３３】
上記の様に、ファイルの第２コピーをすぐに保存することは、サーバーのプロセッサーおよびストレージリソースの最も効率的利用法ではないため、サーバーはファイル識別子を後で保存される待ち行列内に置いても良いだろう。従って、別の実施態様では、ユーザープール入力がファイルデータテーブル内で行われる場合には、まずファイルロケーションポインタフィールドがファイルの第１ロケーションを指示する。ファイル識別子は待ち行列内に置かれ、後で第２ロケーションでの保存に関しアクセスされる。ファイルが第２ロケーション内に保存された後で始めて、ユーザープール入力および第１新規入力内のファイルロケーションポインタは、ファイルが保存される第２ロケーションに設定される。
【００３４】
段階１１８に於いて、ファイルＩＤフィールドがクライアントから受け取った固有ファイル識別子に設定されるファイルデータテーブル内に２またはそれより多い入力があった場合には、コントロールは段階１２０に通される。サーバーは段階１２０に示す様に、固有ファイル識別子が付いたファイルデータテーブル内のユーザープール入力を特定する。次にサーバーはファイルデータテーブル２１２内の第１新規入力内に残りのフィールドを設定する。サーバーは段階１２２に示す様に、固有のユーザー識別子にソースドバイフィールドを設定する。次にサーバーは段階１２４に示す様に、段階１２０で特定されたユーザープール識別フィールドのファイルロケーションポインタフィールド内に保存された数値に、ファイルロケーションポインタフィールドを設定する。この様にして、ファイルデータテーブル中の新規入力は、ユーザープールに関連する第２ロケーションに位置するファイルの内容を指示する。次にサーバーは段階１２６に示す様に、第１新規入力内のシェアカウントフィールドをゼロ（Ｏ）に設定する。さらにサーバーは段階１２８に示す様に、段階１２０で特定されたユーザープール入力内のシェアカウントフィールドを増加させる。
【００３５】
段階１０６では、受け取ったファイル識別子ｇファイルデータテーブル中に存在しない場合にはコントロールは上記の如く段階１５０に通される。段階１５０に示す様に、サーバーはクライアント装置にファイルの中身をサーバーに移すことを求める。段階１５２に示す様にサーバーはファイルの中身を受け取ると、段階１５４に示す様にファイルバックアップストレージシステム上の第１ロケーションにファイルの中身を保存する。サーバーはファイルデータテーブル中の第１新規入力のファイルロケーションポインタフィールドを、段階１５６に示す様に適切に第１ロケーションにあるフィルの中身に設定する。段階１５８に示す様に、サーバーはソースドバイフィールドを段階１０２でクライアントより受け取った固有ユーザー識別子に設定する。段階１６０に示す様に、サーバーはファイルデータテーブル中の第１新規入力のシェアカウントフィールドをゼロ（０）に設定する。次にコントロールは段階１０２に戻される。
【００３６】
ファイルデータテーブルとバックアップシステム中の保存ファイルとの関係を例が図４に示されている。例示のファイルデータテーブル４０１では、ユーザーＩＤがフィールド４０２に備えられており、ファイルＩＤはフィールド４０４に、ファイルロケーションポインタはフィールド４０６内に、ソースドバイ識別子はフィールド４０８内に、そしてシェアカウントはフィールド４１０内に備えられている。そのデータのために余分のフィールドが備えられている。例示のディスクストレージシステム４１２では、固有ファイルサーバーロケーションにある各種ファイルに関し、ファイルの中身が保存されている。示した例では、各種データは純粋に例示であり、いずれの形でも限定することを意味しない。
【００３７】
ファイルデータ表４０１の項目４０３には、ユーザＩＤ  ＡＡＡ、フィールドＩＤ  Ａ１、ファイルロケーションポインタ１００および共有カウントゼロが含まれる。これがファイルＡ１を保存する最初の例だったので、ソースドバイフィールドは、ユーザ識別子ＡＡＡに設定されている。ディスク保存システムでの対応項目は、項目４１６で、これはファイルＡ１の内容がファイルサーバーロケーション１００に保存されているものである。ファイルデータ表４０１の項目４０５と対応する項目４２１は、同様にファイルＢ２が指定される。というのは、ファイルの内容を伴ったユーザＡＡＡに属するものはファイルサーバーロケーション２００に保存されているためである。
【００３８】
ファイルデータ表４０１の項目４０７には、ユーザＩＤ  ＢＢＢが含まれ、これはファイルＢ２を２度目にバックアップする必要となるものである。この例では、ファイルデータ表で２つの項目が作成される。最初の項目は項目４０７で、ユーザＩＤ欄とファイルＩＤ欄が設定されている。ユーザプール項目が生成し、項目４０７に使用するに適切なデータを有効にするためのデータが設定される。
【００３９】
ファイルＢ２に関連する、項目４１１が生成される。項目４１１には、ユーザプール識別子に対するユーザＩＤフィールドを含み、ユニークファイル識別子に対してファイルＩＤが設定され、ファイル位置ポインタフィールドが１０００に設定され、ここには、ファイル内容が保存されている２番目の位置である。「 Ｓｏｕｒｃｅｄ Ｂｙ 」識別子フィールドは、ユニークなユーザプール識別子に設定され、共有カウントフィールドは１に設定される。バックアップ保存システム４１２における対応項目は、項目４２５で、ファイルサーバーロケーション１００に保存されており、２番目の位置でファイルＢ２の内容を保存している。項目４０７には、ファイルＢ２に対応した正しいデータが与えられる。ファイル位置ポインタフィールドが１０００に設定され、「 Ｓｏｕｒｃｅｄ Ｂｙ 」識別子フィールドは、ユニークなユーザプール識別子に設定される。
【００４０】
ファイルデータ表４０１の項目４０９には、ＣＣＣに設定したユーザＩＤフィールドと、Ｂ２に設定したファイルＩＤフィールドを含んでいる。これは、バックアップ保存システムで、ユーザがバックアップしたファイルＢ２の第３の例である。項目４０９は、ファイルＩＤフィールドを識別子Ｂ２に設定したファイルデータ表４０１の４番目の項目である。結局、項目４０９は、１０００に設定したファイル位置ポインタフィールド、ファイルＢ２の内容の２番目の位置を含んでおり、ソースドバイフィールドは、ユニークなユーザプール識別子に設定される。さらに、ファイルＢ２の２番目のコピーに関連したユーザプール項目４１１の共有カウントフィールドは、再度１増加し２となって、２人のユーザが現在、ユーザプールからそのファイルの内容を共有していることを示している。
【００４１】
この様な方法で、ファイルＢ２、またはユーザプール領域に保存された他のファイルの内容を、ファイルＢ２をシステムに保存する回数を増やす要求をせずに、何人ものユーザで共有できる。ファイルデータ表の項目数は、ユーザプール領域に保存されたファイルへのアクセスを希望するユーザの数毎に１ずつ増えて行く。新規の項目は、特定のユーザ、ファイル、ファイルのファイルサーバーロケーションを規定している。
【００４２】
これまでに述べた様に、ファイルバックアップ保存システムを作るには、違った種類の多くのメディアが使用される。幾つかのメディアでは、アクセスコストと保存コストは、３、４個のまたはそれ以上のファイルが個々のユーザ用に保存された後に、ファイルバックアップのコストが安いので、ファイルをユーザプールに経済的に提供できるといった状況である。
【００４３】
ユーザプールで、ファイルの２番目のコピーを、２枚以上作成する前に、閾値を選択することによって、これまでに述べた複数コピーのファイルバックアップシステムを修正することは、技術的にみて明白である。
【００４４】
これらの通常の技術は、ネットワークバックアップシステム用に複数のコピー能力を持つための、これまでに述べた方法とシステムの変化と修正は、ここに公開されている発明的概念と一体となって出来あがったという事実を理解すべきである。したがって、発明は、追加された要求の展望だけによって限定的に見られるものである。
【図面の簡単な説明】
【図１Ａ〜１Ｄ】本発明に係るファイルバックアップシステムにおけるファイルの２以上のコピーをストアする方法を示すフローチャートである。
【図２】本発明のブロック図である。
【図３】本発明に係るファイルデータテーブルを模式的に表す図である。
【図４】本発明に係るファイルデータテーブルとファイルデータ記憶装置を模式的に表す図である。
【国際公開パンフレット】
2004500633.tif 000003
2004500633.tif 000004
2004500633.tif 000005
2004500633.tif 000006
2004500633.tif 000007
2004500633.tif 000008
2004500633.tif 000009
2004500633.tif 000010
2004500633.tif 000011
2004500633.tif 000012
2004500633.tif 000013
2004500633.tif 000014
2004500633.tif 000015
2004500633.tif 000016
2004500633.tif 000017
2004500633.tif 000018
2004500633.tif 000019
2004500633.tif 000020
2004500633.tif 000021
2004500633.tif 000022
2004500633.tif 000023
2004500633.tif 000024
2004500633.tif 000025
2004500633.tif 000026
2004500633.tif 000027
2004500633.tif 000028
2004500633.tif 000029
2004500633.tif 000030
2004500633.tif 000031
2004500633.tif 000032
2004500633.tif 000033
2004500633.tif 000034
2004500633.tif 000035
2004500633.tif 000036
【国際公開パンフレット（コレクトバージョン）】
2004500633.tif 000037
2004500633.tif 000038
【国際公開パンフレット（コレクトバージョン）】
2004500633.tif 000039
2004500633.tif 000040
2004500633.tif 000041
2004500633.tif 000042
2004500633.tif 000043
2004500633.tif 000044
2004500633.tif 000045
2004500633.tif 000046
2004500633.tif 000047
2004500633.tif 000048
2004500633.tif 000049
2004500633.tif 000050
2004500633.tif 000051
2004500633.tif 000052
2004500633.tif 000053
2004500633.tif 000054
2004500633.tif 000055
2004500633.tif 000056
2004500633.tif 000057
2004500633.tif 000058
2004500633.tif 000059
2004500633.tif 000060
2004500633.tif 000061
2004500633.tif 000062
2004500633.tif 000063
2004500633.tif 000064
2004500633.tif 000065
2004500633.tif 000066
2004500633.tif 000067
2004500633.tif 000068
2004500633.tif 000069
2004500633.tif 000070
2004500633.tif 000071
2004500633.tif 000072
【国際調査報告】
2004500633.tif 000073