(57)【特許請求の範囲】
【請求項１】
グラフ区分アルゴリズムを使用してファイル・システムを区画に分割するステップと、
前記ファイル・システムを相互接続性のないサブグラフに区分するステップと、
それぞれの前記区画を別々のストレージ・メディア上に格納するステップと、
を含む、コンピュータ・システムの重複除外コンピュータ・ファイル・システムをバックアップする方法であって、前記区分するステップが、前記サブグラフ内のあるサブグラフを前記別々のストレージ・メディア上に完全に格納できない場合、
前記サブグラフを接続させることになるデータを識別するステップと、
前記サブグラフを接続させることになるデータを再重複させるステップと、
前記再重複されたデータを、すべての参照グラフ区画と共に保存するステップと、
を含む、方法。
【請求項２】
前記識別するステップが、前記サブグラフを接続させることになるデータ・チャンクの最小セットを発見するステップを含む、請求項１に記載の方法。
【請求項３】
前記識別するステップが、高い参照カウントを伴う前記データ・チャンクを選択するステップを含む、請求項２に記載の方法。
【請求項４】
前記格納するステップが、各前記メディアが満杯になるまで、別々のストレージ・メディア上の前記区画を組み合わせるステップを含む、前記請求項のいずれか一項に記載の方法。
【請求項５】
前記格納するステップが、最低量の前記区画間のグラフ相互接続性を伴い、別々のストレージ・メディア上で前記区画を保存するステップを含む、前記請求項のいずれか一項に記載の方法。
【請求項６】
前記保存するステップが、
前記コンピュータ・システム上に同時に取り付け可能な別々のストレージ・メディアの数を調節するステップと、
前記別々のストレージ・メディアの取り外しおよび再取り付けのための性能ペナルティを考慮するステップと、
を含む、請求項５に記載の方法。
【請求項７】
ファイル・システムを区画に分割するように構成されたグラフ区分アルゴリズムを使用するように構成された使用モジュールを備える、分割モジュールと、
前記ファイル・システムを相互接続性のないサブグラフに区分するように構成された区分モジュールと、
それぞれの前記区画を別々のストレージ・メディア上に格納するように構成された格納モジュールと、
を備える、コンピュータ・システムの重複除外コンピュータ・ファイル・システムをバックアップするシステムであって、
前記区分モジュールが、前記サブグラフ内のあるサブグラフを前記別々のストレージ・メディア上に完全に格納できない場合、
前記サブグラフを接続させることになるデータを識別するように構成された識別モジュールと、
前記サブグラフを接続させることになるデータを再重複させるように構成された再重複モジュールと、
前記再重複されたデータを、すべての参照グラフ区画と共に保存するように構成された保存モジュールと、
を備える、システム。
【請求項８】
前記識別モジュールが、前記サブグラフを接続させることになるデータ・チャンクの最小セットを発見するように構成された発見モジュールを備える、請求項７に記載のシステム。
【請求項９】
前記識別モジュールが、高い参照カウントを伴う前記データ・チャンクを選択するように構成された選択モジュールを備える、請求項８に記載のシステム。
【請求項１０】
前記格納モジュールが、各前記メディアが満杯になるまで、別々のストレージ・メディア上の前記区画を組み合わせるように構成された組み合わせモジュールを備える、請求項７から９のいずれか一項に記載のシステム。
【請求項１１】
前記格納モジュールが、最低量の前記区画間のグラフ相互接続性を伴い、別々のストレージ・メディア上で前記区画を保存するように構成された保存モジュールを備える、請求項１０に記載のシステム。
【請求項１２】
前記保存モジュールが、
前記コンピュータ・システム上に同時に取り付け可能な別々のストレージ・メディアの数を調節するように構成された調節モジュールと、
前記別々のストレージ・メディアの取り外しおよび再取り付けのための性能ペナルティを考慮するように構成された考慮モジュールと、
を備える、請求項１１に記載のシステム。
【請求項１３】
請求項１から６のいずれか一項に記載の方法のすべてのステップを前記コンピュータ・システムに実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ・システムに関し、具体的には、コンピュータ・システムの重複除外（de-duplicated）コンピュータ・ファイル・システムをバックアップする方法およびシステムに関する。
【背景技術】
【０００２】
コンピュータ・システムは、通常、コンピュータ・ファイル・システムを含む。このファイル・システムは重複除外ファイル・システムとすることができる。
【０００３】
コンピュータ・システム（たとえばサーバ・コンピュータ・システム）は、データに対して効率的なデータ重複除外を実行する機能を必要とする。コンピュータ・ファイル・システムのためのバックアップ・ソリューションは、これまで、何らかの形のデータ「重複除外」またはデータ「冗長性削除」のアルゴリズムを含んできた。これらのアルゴリズムは、ファイル全体またはサブファイル・レベルで使用可能である。
【０００４】
サブファイルの重複除外のための最も一般的な手法の１つが、第１に、ラビン指紋法（fingerprinting）などのデータ指紋法アルゴリズムを使用して、データ・ストリーム（ファイル）をチャンク（chunk）に分割することである。データ指紋法アルゴリズムは、アルゴリズムのパラメータに基づく「予測サイズ」のチャンクを生成するように設定することができる。ファイルがチャンクに分けられると、ハッシュ・アルゴリズムを使用して、それらのチャンクそれぞれのコンテンツが固有に識別される。次にこれらの固有識別子は、照会可能インデックス内に配置される。ファイル・システム内にすでに存在するチャンクが見つかった（インデックスの照会、または挿入の試行および衝突によって見つかった）場合、そのチャンクは、そのチャンクへの参照に置き換えることが可能であり、「重複除外」が発生する。チャンクに分けられたそれぞれのファイルについて、ファイルをその構成部分からどのように再構築するかを識別する、「青図面（blueprint）」またはチャンク・リストが生成される。
【０００５】
この種の重複除外ファイル・システムに伴う１つの問題は、ストレージ・メディア（たとえばテープ・システム）を外すためにバックアップする際に、データ・ストレージ・フォーマットが、この重複除外状態の維持を非常に困難にすることである。データの相互接続性（オブジェクトの「青図面」が複数のチャンクを参照し、重複除外されたチャンクが複数のオブジェクトを逆に指示する）により、ストレージ・メディアを外すために重複除外システムをバックアップすることは困難である。単一オブジェクトの読み取りには、そのオブジェクトに関するデータを読み取るために複数のストレージ・メディアを取り付ける必要がある。
【０００６】
従って、ストレージ・メディアを外すために重複除外ファイル・システムをバックアップするための従来技術のシステムは、データの参照局所性が維持されるように、データを再重複させる。しかしながらこうしたシステムは、従来技術の図１に示されるように、ファイル・システムの重複除外状態を維持しながら、および参照局所性を維持しながら、重複除外ファイル・システムを取り外しメディアにバックアップすることができない。現在のところ、従来技術のシステムは、すべての重複除外ファイル・データにアクセスするために、独立ストレージ・メディアの取り外し／再取り付けを必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、重複除外コンピュータ・ファイル・システムをバックアップするための方法およびシステムが望ましい。
【課題を解決するための手段】
【０００８】
したがって本発明は、第１の態様において、ファイル・システムを区画に分割すること、および、それぞれの区画を別々のストレージ・メディア上に格納することを含む、コンピュータ・システムの重複除外コンピュータ・ファイル・システムをバックアップする方法を提供する。分割することは、グラフ区分アルゴリズムを使用することを含む。使用することは、ファイル・システムを相互接続性のないサブグラフに区分することを含む。区分することは、サブグラフ内のあるサブグラフを別々のストレージ・メディア上に完全に格納できない場合、サブグラフを接続させることになるデータを識別すること、および、サブグラフを接続させることになるデータを再重複させることを含む。この方法は、再重複されたデータを、すべての参照グラフ区画と共に保存することを含む。
【０００９】
好ましくは、識別することは、サブグラフを接続させることになるデータ・チャンクの最小セットを発見することを含む。
【００１０】
好ましくは、識別することは、高い参照カウントを伴うデータ・チャンクを選択することを含む。
【００１１】
好ましくは、格納することは、各メディアが満杯になるまで、別々のストレージ・メディア上の区画を組み合わせることを含む。
【００１２】
好ましくは、格納することは、最低量の区画間のグラフ相互接続性を伴い、別々のストレージ・メディア上で区画を保存することを含む。
【００１３】
好ましくは、保存することは、コンピュータ・システム上に同時に取り付け可能な別々のストレージ・メディアの数を調節すること、ならびに、別々のストレージ・メディアの取り外しおよび再取り付けのための性能ペナルティを考慮することを含む。
【００１４】
第２の態様において、コンピュータ・システムの重複除外コンピュータ・ファイル・システムをバックアップするシステムが提供され、システムは、ファイル・システムを区画に分割するように構成された分割モジュールと、それぞれの区画を別々のストレージ・メディア上に格納するように構成された格納モジュールと備える。分割モジュールは、グラフ区分アルゴリズムを使用するように構成された使用モジュールを備える。使用モジュールは、ファイル・システムを相互接続性のないサブグラフに区分するように構成された区分モジュールを備える。区分モジュールは、サブグラフ内のあるサブグラフを別々のストレージ・メディア上に完全に格納できない場合、サブグラフを接続させることになるデータを識別するように構成された識別モジュールと、サブグラフを接続させることになるデータを再重複させるように構成された再重複モジュールとを備える。システムは、再重複されたデータを、すべての参照グラフ区画と共に保存するように構成された保存モジュールをさらに備える。
【００１５】
好ましくは、識別モジュールは、サブグラフを接続させることになるデータ・チャンクの最小セットを発見するように構成された発見モジュールを備える。
【００１６】
好ましくは、識別モジュールは、高い参照カウントを伴うデータ・チャンクを選択するように構成された選択モジュールを備える。
【００１７】
好ましくは、格納モジュールは、各メディアが満杯になるまで、別々のストレージ・メディア上の区画を組み合わせるように構成された組み合わせモジュールを備える。
【００１８】
好ましくは、格納モジュールは、最低量の区画間のグラフ相互接続性を伴い、別々のストレージ・メディア上で区画を保存するように構成された保存モジュールを備える。
【００１９】
好ましくは、保存モジュールは、コンピュータ・システム上に同時に取り付け可能な別々のストレージ・メディアの数を調節するように構成された調節モジュールと、別々のストレージ・メディアの取り外しおよび再取り付けのための性能ペナルティを考慮するように構成された考慮モジュールとを備える。
【００２０】
第３の態様において、コンピュータ・システムにロードされ、そこで実行された場合に、第１の態様に従った方法のすべてのステップをコンピュータ・システムに実行させるためのコンピュータ・プログラム・コードを備える、コンピュータ・プログラムが提供される。
【００２１】
コンピュータ・プログラムは、コンピュータ・システムの重複除外コンピュータ・ファイル・システムをバックアップする、内部で実施される読み取り可能プログラム・コードを有する、プログラマブル・コンピュータと共に使用可能なコンピュータ・プログラム製品として実施可能であり、コンピュータ・プログラム製品は、ファイル・システムを区画に分割するためのコンピュータ読み取り可能コードと、別々のストレージ・メディア上に各区画を格納するためのコンピュータ読み取り可能コードとを備える。
【００２２】
本発明は、コンピュータ・システムの重複除外コンピュータ・ファイル・システムを伝送するシステム内で実施可能であり、システムは、ファイル・システムを区画に分割すること、およびそれぞれの区画を別々の伝送チャネルについてアセンブルすることを含む。
【００２３】
本発明は、コンピュータ・システムの重複除外コンピュータ・ファイル・システムを伝送するシステム内で実施可能であり、システムは、ファイル・システムを区画に分割するように構成された分割モジュールと、それぞれの区画を別々の伝送チャネルについてアセンブルするように構成されたアセンブル・モジュールとを備える。
【００２４】
本発明の諸実施形態は、コンピュータ・システムの重複除外コンピュータ・ファイル・システムをバックアップする方法およびシステムを提供する。例示的実施形態では、方法およびシステムは、（１）ファイル・システムを区画に分割すること、および（２）それぞれの区画を別々のストレージ・メディア上に格納することを含む。
【００２５】
例示的実施形態では、分割することは、グラフ区分アルゴリズムを使用することを含む。例示的実施形態では、使用することは、ファイル・システムを相互接続性のないサブグラフに区分することを含む。
【００２６】
例示的実施形態では、区分することは、サブグラフ内のあるサブグラフを別々のストレージ・メディア上に完全に格納できない場合、（ａ）サブグラフを接続させることになるデータを識別すること、および、（ｂ）サブグラフを接続させることになるデータを再重複させることを含む。例示的実施形態では、区分することは、再重複されたデータを、すべての参照グラフ区画と共に保存することをさらに含む。
【００２７】
例示的実施形態では、識別することは、サブグラフを接続させることになるデータ・チャンクの最小セットを発見することを含む。例示的実施形態では、識別することは、高い参照カウントを伴うデータ・チャンクを選択することを含む。
【００２８】
例示的実施形態では、格納することは、各メディアが満杯になるまで、別々のストレージ・メディア上の区画を組み合わせることを含む。例示的実施形態では、格納することは、最低量の区画間のグラフ相互接続性を伴い、別々のストレージ・メディア上で区画を保存することを含む。例示的実施形態では、保存することは、（ａ）コンピュータ・システム上に同時に取り付け可能な別々のストレージ・メディアの数を調節すること、ならびに、（ｂ）別々のストレージ・メディアの取り外しおよび再取り付けのための性能ペナルティを考慮することを含む。
【００２９】
本発明は、コンピュータ・システムの重複除外コンピュータ・ファイル・システムをバックアップする、内部で実施される読み取り可能プログラム・コードを有する、プログラマブル・コンピュータと共に使用可能なコンピュータ・プログラム製品も提供する。例示的実施形態では、コンピュータ・プログラム製品は、（１）ファイル・システムを区画に分割するためのコンピュータ読み取り可能コードと、（２）別々のストレージ・メディア上に各区画を格納するためのコンピュータ読み取り可能コードとを備える。
【００３０】
次に、本発明の好ましい実施形態について、添付の図面を参照しながら単なる例として説明する。
【図面の簡単な説明】
【００３１】
【図１】従来技術を示す流れ図である。
【図２】本発明の例示的実施形態に従った流れ図である。
【図３】本発明の例示的実施形態に従った分割ステップを示す流れ図である。
【図４】本発明の例示的実施形態に従った使用ステップを示す流れ図である。
【図５】重複除外システムを示す図である。
【図６】本発明の例示的実施形態に従った、バックアップされた重複除外システムを示す図である。
【図７】本発明の例示的実施形態に従った、区分ステップを示す流れ図である。
【図８】本発明の他の実施形態に従った、区分ステップを示す流れ図である。
【図９】重複除外システムを示す図である。
【図１０】本発明の例示的実施形態に従った、バックアップされた重複除外システムを示す図である。
【図１１】本発明の例示的実施形態に従った、識別ステップを示す流れ図である。
【図１２】本発明の例示的実施形態に従った、識別ステップを示す流れ図である。
【図１３】本発明の例示的実施形態に従った、格納ステップを示す流れ図である。
【図１４】本発明の例示的実施形態に従った、格納ステップを示す流れ図である。
【図１５】本発明の例示的実施形態に従った、保存ステップを示す流れ図である。
【図１６】本発明の例示的実施形態に従った流れ図である。
【発明を実施するための形態】
【００３２】
本発明の好ましい諸実施形態は、コンピュータ・システムの重複除外コンピュータ・ファイル・システムをバックアップする方法およびシステムを提供する。例示的実施形態では、方法およびシステムは、（１）ファイル・システムを区画に分割すること、および（２）それぞれの区画を別々のストレージ・メディア上に格納することを含む。
【００３３】
図２を参照すると、例示的実施形態において、本発明は、ファイル・システムを区画に分割するステップ２１２と、それぞれの区画を別々のストレージ・メディア上に格納するステップ２１４とを含む。本発明は、ファイル・システムの重複除外状態を可能な限り多く維持する。ファイル・システムはオブジェクト（たとえばコンピュータ・ファイル）を格納する。各オブジェクトは、少なくとも１つのデータ・チャンクを含む。ストレージ・メディアは、磁気ストレージ・メディア（たとえばテープ）または光ストレージ・メディア（たとえばＤＶＤ）とすることができる。例示的実施形態では、格納ステップ２１４は、他のストレージ・メディア上のデータ片を参照する必要がない。
【００３４】
ファイル・システムの分割
図３を参照すると、例示的実施形態において、分割ステップ２１２は、グラフ区分アルゴリズムを使用するステップ３１２を含む。たとえば本発明は、ダイクストラのアルゴリズムを使用することができる。本発明は、オブジェクトがそれらの構成チャンクに接続され、チャンクがそれらのメンバ・オブジェクトに逆に接続される、２部（２レベル）グラフとして、重複除外ファイル・システムに注目する。
【００３５】
相互接続性のないサブグラフ
図４を参照すると、例示的実施形態において、使用ステップ３１２は、ファイル・システムを相互接続性のないサブグラフに区分するステップ３２２を含む。例示的実施形態では、サブグラフは区画である。
【００３６】
図５を参照すると、たとえば重複除外ファイル・システムは、チャンク１および２（それぞれアイテム３３１および３３２）を含むオブジェクト１（アイテム３３０）、チャンク３、４、および１（それぞれアイテム３５１、３５２、および３５３）を含むオブジェクト３（アイテム３５０）、チャンク５、６、および７（それぞれアイテム３４１、３４２、および３４３）からなるオブジェクト２（アイテム３４０）、ならびに、チャンク６、７、および８（それぞれアイテム３６１、３６２、および３６３）からなるオブジェクト４（アイテム３６０）を含む。図５に示されるように、重複除外ファイル・システムは、アイテム３３１および３５３によって参照されるチャンク１（アイテム３７１）、アイテム３３２によって参照されるチャンク２（アイテム３７２）、アイテム３５１によって参照されるチャンク３（アイテム３７３）、アイテム３５２によって参照されるチャンク４（アイテム３７４）、アイテム３４１によって参照されるチャンク５（アイテム３８１）、アイテム３４２および３６１によって参照されるチャンク６（アイテム３８２）、アイテム３４３および３６２によって参照されるチャンク７（アイテム３８３）、ならびに、アイテム３６３によって参照されるチャンク８（アイテム３８４）を含む。図６を参照すると、例示的実施形態では、区分ステップ３２２は、図５に示された重複除外ファイル・システムを区画１（アイテム３７０）（サブグラフ）および区画２（アイテム３８０）（他のサブグラフ）に区分するため、結果として区画１（アイテム３７０）および区画２（アイテム３８０）には相互接続性がない。
【００３７】
相互接続性のあるサブグラフ
図７を参照すると、例示的実施形態では、区分ステップ３２２は、サブグラフ内のあるサブグラフを別々のストレージ・メディア上に完全に格納できない場合、サブグラフを接続させることになるデータを識別するステップ４１２、および、サブグラフを接続させることになるデータを再重複させるステップ４１４を含む。例示的実施形態では、サブグラフは、別々のストレージ・メディア上に収めることが可能な場合、十分に小さい。完全に分割できないか、または別々のストレージ・メディア上に収めるほど十分に小さくないグラフの場合、グラフのサブグラフを接続させることになるデータ片を識別し、各参照グラフ区画でストレージ用に再重複させることができる。
【００３８】
図８を参照すると、例示的実施形態では、区分ステップ３２２は、再重複されたデータを、すべての参照グラフ区画と共に保存するステップ４２２をさらに含む。例示的実施形態では、本発明は、再重複されたデータをバックアップ・ターゲットに保存する。各グラフ区画は、別々のメディア（たとえば個々の磁気ストレージ・メディア（たとえばテープ）または個々の光ストレージ・メディア（たとえばＤＶＤ））上に格納可能であり、各グラフ区画は、そのグラフ区画が常駐する別々のメディア片上に含まれるデータのみを参照することになる。
【００３９】
図９を参照すると、たとえば重複除外ファイル・システムは、チャンク１および２（それぞれアイテム４３１および４３２）を含むオブジェクト１（アイテム４３０）、チャンク３、４、および１（それぞれアイテム４５１、４５２、および４５３）を含むオブジェクト３（アイテム４５０）、チャンク５、６、および７（それぞれアイテム４４１、４４２、および４４３）からなるオブジェクト２（アイテム４４０）、ならびに、チャンク３、６、７、および８（それぞれアイテム４６１、４６２、４６３、および４６４）からなるオブジェクト４（アイテム４６０）を含む。図９に示されるように、重複除外ファイル・システムは、アイテム４３１および４５３によって参照されるチャンク１（アイテム４７１）、アイテム４３２によって参照されるチャンク２（アイテム４７２）、アイテム４５１および４６１（インスタンス相互接続性）によって参照されるチャンク３（アイテム４７３）、アイテム４５２によって参照されるチャンク４（アイテム４７４）、アイテム４４１によって参照されるチャンク５（アイテム４８１）、アイテム４４２および４６２によって参照されるチャンク６（アイテム４８２）、アイテム４４３および４６３によって参照されるチャンク７（アイテム４８３）、ならびに、アイテム４６４によって参照されるチャンク８（アイテム４８４）を含む。図１０を参照すると、例示的実施形態では、たとえ図９の重複除外ファイル・システムが、チャンク３（アイテム４７３）がアイテム４５１および４６１の両方によって参照されている結果として生じる、相互接続性のインスタンスを含むとしても、区分ステップ３２２は、図９に示された重複除外ファイル・システムを区画１（アイテム４７０）（サブグラフ）および区画２（アイテム４８０）（他のサブグラフ）に区分するため、結果として、区画１（アイテム４７０）および区画２（アイテム４８０）は、アイテム４７３をチャンク３（アイテム４８５）内に再重複させることおよびチャンク３（アイテム４８５）をアイテム４６１によって参照可能にすることにより、相互接続性を持たないことになる。
【００４０】
データの識別
図１１を参照すると、例示的実施形態では、識別ステップ４１２は、サブグラフを接続させることになるデータ・チャンクの最小セットを発見するステップ５１２を含む。本発明は、最小カットを発見するために標準のグラフ・アルゴリズムを使用することによって、この発見ステップを実行することができる。本発明は、再重複させることが必要な最低量のデータを発見するために最小カット・グラフ区分アルゴリズムを使用することによって、この発見ステップを実行することができる。図１２を参照すると、例示的実施形態では、識別ステップ４１２は、高い参照カウントを伴うデータ・チャンクを選択するステップ５２２を含む。特定のデータ・チャンクに関する参照カウントとは、そのチャンクがファイル・システム内のオブジェクトによって参照される回数のカウントである。特定のデータ・チャンクに関する参照カウントとは、そのチャンクを参照するファイル・システム内のファイル数のカウントでもある。
【００４１】
各区画の格納
図１３を参照すると、例示的実施形態では、格納ステップ２１４は、各メディアが満杯になるまで、別々のストレージ・メディア上の区画を組み合わせるステップ６１０を含む。グラフ区画は、メディアが満杯になるまで別々のメディアの単一のインスタンス上で組み合わせることができるが、部分的な区画が別々のメディア片上に格納されることはない。
【００４２】
図１４を参照すると、例示的実施形態では、格納ステップ２１４は、最低量の区画間のグラフ相互接続性を伴い、別々のストレージ・メディア上で区画を保存するステップ７１２を含む。図１５を参照すると、例示的実施形態では、保存ステップ７１２は、コンピュータ・システム上に同時に取り付け可能な別々のストレージ・メディアの数を調節するステップ７２２、ならびに、別々のストレージ・メディアの取り外しおよび再取り付けのための性能ペナルティを考慮するステップ７２４を含む。本発明は、（ｉ）同時に取り付け可能な取り外しメディアの数と、（ｉｉ）別々のメディアの取り外しあるいは再取り付けまたはその両方のための性能ペナルティとに依存して、最低量のグラフ相互接続性を許容することができる。
【００４３】
伝送
本発明は、コンピュータ・システムの重複除外コンピュータ・ファイル・システムを伝送する方法およびシステムも提供する。例示的実施形態では、方法およびシステムは、（１）ファイル・システムを区画に分割すること、および（２）それぞれの区画を別々の伝送チャネルについてアセンブルすることを含む。図１６を参照すると、例示的実施形態では、本発明は、ファイル・システムを区画に分割するステップ８１２、および、それぞれの区画を別々の伝送チャネルについてアセンブルするステップ８１４を含む。
【００４４】
概要
本発明は、完全にハードウェア実施形態、完全にソフトウェア実施形態、またはハードウェアおよびソフトウェアの両方の要素を含む実施形態の、形を取ることができる。例示的実施形態では、本発明は、ファームウェア、常駐ソフトウェア、およびマイクロコードを含むがこれらに限定されない、ソフトウェア内で実装される。
【００４５】
さらに本発明は、コンピュータ・システムまたは任意の命令実行システムによる使用のため、またはそれらに関連して、プログラム・コードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能メディアからアクセス可能な、コンピュータ・プログラム製品の形を取ることができる。コンピュータ・プログラム製品は、本発明の方法を実装する命令を含む。コンピュータ使用可能またはコンピュータ読み取り可能メディアは、命令実行システム、装置、またはデバイスによる使用のため、またはそれらに関連して、プログラムを含むこと、格納すること、通信すること、伝搬すること、または移送することが可能な、任意の装置とすることができる。メディアは、電子、磁気、光、電磁、赤外線、または半導体のシステム（あるいは装置またはデバイス）、あるいは伝搬メディアとすることができる。コンピュータ読み取り可能メディアの例には、半導体またはソリッドステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛性磁気ディスク、および光ディスクが含まれる。現行の光ディスクの例には、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク読み取り／書き込み（ＣＤ−Ｒ／Ｗ）、およびＤＶＤが含まれる。
【００４６】
プログラム・コードの格納あるいは実行またはその両方に好適なコンピュータ・システムは、システム・バスを介してメモリ要素に直接または間接的に結合された、少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量ストレージと、実行中に大容量ストレージからコードが取り出される回数を減らすために少なくとも一部のプログラム・コードの一時ストレージを提供するキャッシュ・メモリとを含む。入力／出力（Ｉ／Ｏ）デバイス（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらには限定されない）を、直接、または介在するＩ／Ｏコントローラを介して、コンピュータ・システムに結合することができる。コンピュータ・システムを、介在する専用または公衆ネットワークを介して他のコンピュータ・システムあるいはリモートのプリンタまたはストレージ・デバイスに結合できるようにするために、ネットワーク・アダプタをコンピュータ・システムに結合することもできる。モデム、ケーブル・モデム、およびイーサネット・カードは、現在使用可能なネットワーク・アダプタのタイプのうちのいくつかに過ぎない。コンピュータ・システムは、オペレーティング・システムおよびコンピュータ・ファイル・システムも含むことができる。
【図１】
0005398739.tif 000002
【図２】
0005398739.tif 000003
【図３】
0005398739.tif 000004
【図４】
0005398739.tif 000005
【図５】
0005398739.tif 000006
【図６】
0005398739.tif 000007
【図７】
0005398739.tif 000008
【図８】
0005398739.tif 000009
【図９】
0005398739.tif 000010
【図１０】
0005398739.tif 000011
【図１１】
0005398739.tif 000012
【図１２】
0005398739.tif 000013
【図１３】
0005398739.tif 000014
【図１４】
0005398739.tif 000015
【図１５】
0005398739.tif 000016
【図１６】
0005398739.tif 000017