(57)【要約】データーベースの保管、およびこのデーターベースの時間指定復元。方法は、データーベースの第１スナップショットを抜き出すステップを含む。データーベースの第１スナップショットは、データー・ストレージにおけるデーターの第１スナップショットと、ログ・ストレージにおけるログ・レコードの第１スナップショットとを含む。更に、この方法は、データーベースの第２スナップショットを抜き出すステップを含む。データーベースの第２スナップショットは、データー・ストレージにおけるデーターの第２スナップショットと、ログ・レコードの第２スナップショットとを含む。更に、この方法は、データー・ストレージにおけるデーターの第１スナップショットをデーターベースに適用し、ログ・ストレージにおけるログ・レコードの第１スナップショットをデーターベースに適用し、ログ・ストレージにおけるログ・レコードの第２スナップショットの一部をデーターベースに適用することによって、データーベースを特定の時点に復元するステップを含む。【選択図】図１Ｂ
2017533520.tif 000002
【特許請求の範囲】
【請求項１】
データーベースの時間指定復元を可能にするために前記データーベースを保管するコンピューティング・システムであって、
データーベースであって、
データー項目を格納するデーター・ストレージと、
ログ・レコードを格納するログ・ストレージと、
を含む、データーベースと、
１つ以上のプロセッサーと、
１つ以上のコンピューター読み取り可能媒体と、
を含み、前記１つ以上のコンピューター読み取り可能媒体がコンピューター実行可能命令を含み、少なくとも１つ以上のプロセッサーによって前記コンピューター実行可能命令が実行されると、前記１つ以上のプロセッサーに、
第１時点において前記データーベースの前記データー・ストレージの第１スナップショットを抜き出すステップと、
前記データーベースの前記データー・ストレージの前記第１スナップショットに対応する前記ログ・ストレージの第１状態を取り込むステップであって、前記ログ・ストレージが、前記データーベースの前記データー・ストレージ上における処理の列挙を含む、ステップと、
第２後続時点において、前記データーベースの前記データー・ストレージの第２スナップショットを抜き出すステップと、
前記データーベースの前記第２スナップショットに対応する前記ログの第２状態を取り込むステップであって、前記ログの第２状態が、前記データーベースの前記第１スナップショットの時点以降前記第２スナップショットの時点までに作られた全てのログ・レコードを含む、ステップと、
データー・ストレージにおける前記データーの前記第１スナップショットを前記データーベースに適用し、前記ログの第１スナップショットに対応する前記ログの前記取り込まれた第１状態を前記データーベースに適用し、前記ログの第２状態の一部を適用して、前記第１時点と前記第２時点との間において時間指定復元を実行することによって、前記第１時点と前記第２時点との間における特定の時点に前記データーベースを復元するステップと、
を実行させる、システム。
【請求項２】
請求項１記載のシステムにおいて、前記データーベースの前記データー・ストレージの第２スナップショットを抜き出すステップ、および前記データーベースの第２スナップショットに対応する前記ログの第２状態を取り込むステップが、前記データーベース処理の統一スナップショットにおいて実行される、システム。
【請求項３】
請求項１記載のシステムであって、更に、データー・マッピング構造を含み、前記データー・ストレージのスナップショットを抜き出すステップが、前記データー・マッピング構造において、前記データー・ストレージにおける位置を指し示すポインターを取り込むステップを含む、システム。
【請求項４】
請求項１記載のシステムにおいて、前記ログ・ストレージの状態を取り込むステップが、前記データー・ストレージにおけるデーター項目上で実行されたデーター処理の１つ以上の表現を取り込むステップを含む、システム。
【請求項５】
請求項１記載のシステムにおいて、前記データーベースが、前記データーベースの異なる部分がクラウド環境における異なる仮想機械上に実装されるように、前記クラウド環境において実装された分散型データーベースである、システム。
【請求項６】
請求項１記載のシステムにおいて、前記データーベースが、異なるバージョンのデーター項目を格納するバージョニング・データーベースである、システム。
【請求項７】
請求項１記載のシステムにおいて、前記ログ・ストレージがリング・バッファを含み、前記１つ以上のコンピューター読み取り可能媒体がコンピューター実行可能命令を含み、前記１つ以上のプロセッサーの内少なくとも１つによって前記コンピューター実行可能命令が実行されると、スナップショットに対応する前記ログ・ストレージの状態を取り込んだときに、前記ログ・ストレージにおける格納位置内にある既存のレコードが一旦取り込まれたなら、これらの位置を新たなレコードのために利用可能にさせる、システム。
【請求項８】
データーベースの時間指定復元を可能にするために前記データーベースを保管するコンピューティング・システムであって、
データーベースであって、
データー項目を格納するデーター・ストレージと、
ログ・レコードを格納するログ・ストレージと、
を含む、データーベースと、
１つ以上のプロセッサーと、
１つ以上のコンピューター読み取り可能媒体と、
を含み、前記１つ以上のコンピューター読み取り可能媒体がコンピューター実行可能命令を含み、前記１つ以上のプロセッサーによって前記コンピューター実行可能命令が実行されると、前記１つ以上のプロセッサーに、
第１時点におけるデーターベースの第１スナップショットを抜き出すステップであって、前記データーベースの第１スナップショットが、前記データーベースの前記データー・ストレージにおけるデーターの第１スナップショットと、前記ログ・ストレージにおける前記ログ・レコードの第１スナップショットとを含み、前記ログ・ストレージが前記データーベース上における処理の列挙を含む、ステップと、
第２後続時点において前記データーベースの第２スナップショットを抜き出すステップであって、前記データーベースの第２スナップショットが、前記データーベースの前記データー・ストレージにおけるデーターの第２スナップショットと、前記ログ・ストレージにおける前記ログ・レコードの第２スナップショットとを含み、前記ログ・ストレージにおける前記ログ・レコードの第２スナップショットが、前記データーベースの第１スナップショットの時点以降前記データーベースの第２スナップショットの時点までの全てのログ・レコードのスナップショットである、ステップと、
前記データー・ストレージにおけるデーターの第１スナップショットを前記データーベースに適用し、前記ログ・ストレージにおける前記ログ・レコードの第１スナップショットを前記データーベースに適用し、前記ログ・ストレージにおける前記ログ・レコードの第２スナップショットの一部を前記データーベースに適用して、前記第１時点と前記第２後続時点との間において時間指定復元を実行することによって、前記第１時点と前記第２時点との間における特定の時点に前記データーベースを復元するステップと、
を実行させる、システム。
【請求項９】
請求項８記載のシステムにおいて、前記ログ・ストレージがリング・バッファを含み、前記１つ以上のコンピューター読み取り可能媒体がコンピューター実行可能命令を含み、前記１つ以上のプロセッサーの内少なくとも１つによって前記コンピューター実行可能命令が実行されると、前記ログ・ストレージにおける格納位置内にある既存のレコードがスナップショットの間に一旦取り込まれたなら、これらの位置を新たなレコードのために利用可能にさせる、システム。
【請求項１０】
請求項８記載のシステムにおいて、前記ログ・ストレージにおける前記ログ・レコードの第１スナップショットを前記データーベースに適用し、前記ログ・ストレージにおける前記ログ・レコードの第２スナップショットの一部を前記データーベースに適用するステップが、前記ログ・レコードの第２スナップショット全体を前記ログ・ストレージに適用し、前記ログ・レコードの第２スナップショットからのログ・レコードの一部をゼロで埋めるステップを含む、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  非常に大きなデーターベースのバックアップは、これらがデーターベース・ファイルからバックアップ媒体への大量のデーター移動を必要とするという制約がある。クラウド環境では、これは、クラウド・ストレージから仮想機械に、そして再度クラウド・ストレージにデーターを移動し、手間をかけて境界を交差することを意味するであろう。ストレージ・システムのスナップショットは、メタデーター専用メカニズム(metadata-only mechanism)を設けて、その時点におけるストレージのイメージを保管する(archive)ことによって、これを補助してきた。しかしながら、これには、このようなバックアップはスナップショット・バックアップ間における任意の時点にはデーターベースを復元できないという欠点がある。むしろ、バックアップは、スナップショットの時点にしか復元されず、バックアップ後のデーターベースに対するあらゆる変更が失われる。
【０００２】
[0002]  他の解決策は、ストリーミング・バックアップに頼ってきたが、これらにはデーター移動の問題が生じ、またこれらは完全にスナップショットに頼ることから、スナップショットが抜き出された不連続な時点でしか復元することができない。
【０００３】
[0003]  本願において特許請求する主題は、あらゆる欠点を解決する実施形態にも、以上で説明したような環境のみで動作する実施形態にも限定されない。逆に、この背景は、本明細書において説明する実施形態を実施することができる例証的な１つの技術分野を例示するために設けられたに過ぎない。
【発明の概要】
【課題を解決するための手段】
【０００４】
[0004]  本明細書において例示する一実施形態は、データーベースの時間指定復元(point in time recovery)を可能にするデーターベース保管システムを含む。このシステムはデーターベースを含む。このデーターベースは、データー項目を格納するデーター・ストレージと、ログ・レコードを格納するログ・ストレージとを含む。更に、このシステムは、１つ以上のプロセッサーと１つ以上のコンピューター読み取り可能媒体とを含む。１つ以上のコンピューター読み取り可能媒体は、コンピューター実行可能命令を含み、１つ以上のプロセッサーの内少なくとも１つによってコンピューター実行可能命令が実行されると、方法の種々のアクションを1つ以上のプロセッサーの内少なくとも１つに実行させる。この方法は、第１時点においてデーターベースのデーター・ストレージの第１スナップショットを抜き出すアクションを含む。更に、この方法はデーターベースのデーター・ストレージの第１スナップショットに対応するログ・ストレージの第１状態を取り込む(capture)アクションを含む。ログ・ストレージは、データーベースのデーター・ストレージ上における処理の列挙(enumeration)を含む。更に、この方法は、第２後続時点においてデーターベースのデーター・ストレージの第２スナップショットを抜き出すアクションを含む。更に、この方法は、データーベースの第２スナップショットに対応するログの第２状態を取り込むアクションを含む。ログの第２状態は、データーベースの第１スナップショットの時点以降データーベースの第２スナップショットの時点までに作られた全てのログ・レコードを含む。更に、この方法は、データー・ストレージにおけるデーターの第１スナップショットをデーターベースに適用し、ログの第１スナップショットに対応する、取り込まれたログの第１状態をデーターベースに適用し、ログの第２状態の一部を適用して、第１時点と第２時点との間における時間指定復元を実行することによって、第１時点と第２時点との間の特定の時点にデーターベースを復元するアクションを含む。
【０００５】
[0005]  本明細書において例示する他の実施形態は、データーベースの時間指定復元を可能にするデーターベース保管システムを含む。このシステムはデーターベースを含む。このデーターベースは、データー項目を格納するデーター・ストレージと、ログ・レコードを格納するログ・ストレージとを含む。更に、このシステムは１つ以上のプロセッサーと１つ以上のコンピューター読み取り可能媒体とを含む。１つ以上のコンピューター読み取り可能媒体は、コンピューター実行可能命令を含み、１つ以上のプロセッサーの内少なくとも１つによってコンピューター実行可能命令が実行されると、方法を1つ以上のプロセッサーの内少なくとも１つに実行させる。この方法は、第１時点においてデーターベースの第１スナップショットを抜き出すアクションを含む。データーベースの第１スナップショットは、データーベースのデーター・ストレージにおけるデーターの第１スナップショットと、ログ・ストレージにおけるログ・レコードの第１スナップショットとを含む。ログは、データーベース上における処理の列挙を含む。更に、この方法は、第２後続時点においてデーターベースの第２スナップショットを抜き出すアクションを含む。データーベースの第２スナップショットは、データーベースのデーター・ストレージにおけるデーターの第２スナップショットと、ログ・ストレージにおけるログ・レコードの第２スナップショットとを含む。ログ・ストレージにおけるログ・レコードの第２スナップショットは、データーベースの第１スナップショットの時点以降データーベースの第２スナップショットの時点までの全てのログ・レコードのスナップショットである。更に、この方法は、データー・ストレージにおけるデーターの第１スナップショットをデーターベースに適用し、ログ・ストレージにおけるログ・レコードの第１スナップショットをデーターベースに適用し、ログ・ストレージにおけるログ・レコードの第２スナップショットの一部をデーターベースに適用して、第１時点と第２後続時点との間における時間指定復元を実行することによって、データーベースを第１時点と第２時点との間の特定時点に復元するアクションを含む。
【０００６】
[0006]  本明細書において例示する他の実施形態は、データーベースの時間指定復元を可能にするデーターベース保管システムを含む。このシステムはデーターベースを含む。このデーターベースは、データー項目を格納するデーター・ストレージと、ログ・レコードを格納するログ・ストレージとを含む。更に、このシステムは、１つ以上のプロセッサーと１つ以上のコンピューター読み取り可能媒体とを含む。１つ以上のコンピューター読み取り可能媒体は、コンピューター実行可能命令を含み、１つ以上のプロセッサーの内少なくとも１つによってコンピューター実行可能命令が実行されると、方法を1つ以上のプロセッサーの内少なくとも１つに実行させる。この方法は、第１時点においてデーターベースの第１スナップショットを抜き出すアクションを含む。データーベースの第１スナップショットは、データーベースのデーター・ストレージにおけるデーターの第１スナップショットと、ログ・ストレージにおけるログ・レコードの第１スナップショットとを含む。ログは、データーベース上における処理の列挙を含む。更に、この方法は、第１時点に続く１つ以上の時点において、データーベースの１つ以上の追加のスナップショットをそれぞれ抜き出すアクションを含む。データーベースの１つ以上の追加のスナップショットは、データーベースにおけるデーター・ストレージの追加のスナップショットと、ログ・ストレージの１つ以上の追加のスナップショットとをそれぞれ含む。データーベースにおけるデーター・ストレージの追加のスナップショット毎に、ログ・ストレージの対応するスナップショットは、データーベースの追加のスナップショットの時点以降データーベースの直近の(most recent previous)スナップショットの時点までに作られた全てのログ・レコードのスナップショットである。更に、この方法は、データー・ストレージにおけるデーターの第１スナップショットをデーターベースに適用し、ログ・ストレージにおけるログ・レコードの第１スナップショットをデーターベースに適用し、ログ・ストレージの１つ以上の追加のスナップショットからのログ・レコードをデーターベースに適用して、時間指定復元を実行することによって、後続のデーターベースのスナップショットの内最後に作成されたものと、後続のデーターベースのスナップショットの内最後に作成されたものよりも前における最新の(most recent)データーベースのスナップショットとの間における特定の時点に、データーベースを復元するアクションを含む。
【０００７】
[0007]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。
【０００８】
[0008]  以下に続く説明において、更に他の特徴および利点を明記するが、これらは部分的にはその説明から自明であり、または本明細書における教示の実施によって習得することができる。本発明の特徴および利点は、添付する特許請求の範囲において特定的に指摘される手段(instruments)および組み合わせによって、実現および修得することができる。本発明の特徴は、以下の説明および添付する特許請求の範囲から、更に十分に明白になり、以下に明記する発明の実施によって習得することができる。
【図面の簡単な説明】
【０００９】
[0009]  以上で列挙したおよびその他の利点および特徴を得ることができる方法を説明するために、以上で端的に説明した本主題の更に特定的な説明を、添付図面に図示された具体的な実施形態を参照しながら行う。これらの図面は典型的な実施形態を図示するに過ぎず、したがって範囲を限定するように解釈してはならないことを理解した上で、添付図面の使用により、更に具体的および詳細に、実施形態について説明する(described and explained)。図面において、
【図１Ａ】図１Ａは、データーベース、およびこのデーターベースの第１スナップショットを示す。
【図１Ｂ】図１Ｂは、データーベース、およびこのデーターベースの第２スナップショットを示す。
【図１Ｃ】図１Ｃは、データーベース、およびこのデーターベースの第３スナップショットを示す。
【図２Ａ】図２Ａは、復元プロセス中の第１時点におけるデーターベースの状態を示す。
【図２Ｂ】図２Ｂは、復元プロセス中の第２時点におけるデーターベースの状態を示す。
【図２Ｃ】図２Ｃは、復元プロセス中の第３時点におけるデーターベースの状態を示す。
【図３】図３は、データーベースを保管および復元する方法を示す。
【図４】図４は、データーベースを保管および復元する他の方法を示す。
【図５】図５は、データーベースを保管および復元する他の方法を示す。
【発明を実施するための形態】
【００１０】
[0019]  本明細書における実施形態は、スナップショット・インフラストラクチャを使用して、バックアップ・ステージ中におけるデーター移動を排除するが、トランザクション・ログ・バックアップをストリーミングする必要なく、隣接する２つのスナップショット間の任意の時点に復元することをユーザに可能にする。これは、データーベース・ファイルを第１スナップショットから順次平置きし(lay down)、次いで第２スナップショットからのアクティブなトランザクション・ログ・データーだけを使用して、ユーザが望む時点まで、新たに復元されたデーターベースを時間的に先送りする(roll forward)ことによって遂行することができる。スナップショット毎のトランザクション・ログは、最新の(most recent)スナップショットから、トランザクション・ログのスナップショットを含む現在のスナップショットまでにデーターベース上で実行された処理の列挙である。
【００１１】
[0020]  データーベースのスナップショットは、ストレージによって設けられるスナップショット・インフラストラクチャを使用して周期的に作成することができる。スナップショットは、データー移動を必要とせず、ストレージ・レイヤにおける多少のメタデーター更新だけでよい。スナップショットはデーターベースのバックアップとして扱われる。
【００１２】
[0021]  望まれる任意の時点に復元するために、その時点を囲む２つの連続するスナップショット（第１スナップショットおよび第２スナップショット）を最初に識別することができる。次いで、データーベースのファイルを復元していくために、第１スナップショットからのデーターおよびログ・レコード双方をコピーすることができる。データー・ファイルに未だ書き込まれていないデーターを更新するために第１スナップショットのログ・レコードを適用することによって、データーベースは復元を開始することができる。第１スナップショットからの最後のログ・レコードを適用した後、復元を中断する。その後、第２スナップショットからのログ部分だけを、復元中のデーターベースのログ・ストレージにコピーする。第２スナップショットからのデーターのスナップショット部分を破棄する。復元は、第１スナップショットから、ログにおいて以前に停止したところを識別し、第２スナップショットからの新たなログ・レコードのスキャンを再開し、ユーザが停止時点として識別した時点を通過したログ・レコードに到達するまで、これらを１つずつ適用し始めることができる。第２スナップショットからの残りのログ・レコードは、ファイルにおけるそれらの部分をゼロで埋めることによって、一掃することができる。最後に、やり直しフェーズ(undo phase)を実行することによって、データーベースを完全に復元することができる。
【００１３】
[0022]  これより図１Ａを参照すると、本発明の実施形態を実現することができるデーターベース・システム１００が示されている。このデーターベース・システムはデーターベース１０２を含む。データーベース１０２は、データー・ストレージ１０４とログ・ストレージ１０６とを含む。データー・ストレージ１０４は、データーベースを構成するデーター構造および値を含む。この現在の例では、データー・レコードの１つの行が示されているが、データー・ストレージ１０４は１つ以上のテーブルまたは他の複雑なデーターベース構造を表すことができることは認められてしかるべきである。
【００１４】
[0023]  更に、データーベース１０２は、１つの場所における１つのエンティティであると見なされるように図示されているが、データーベース１０２は複数の記憶デバイスにわたって分散されることが多く、異なる場所における異なる機械にわたって分散されることが多い。即ち、データーベース１０２は、分散型データーベースであり、データーベースの異なる部分が異なる場所に存在することもある。多くの場合、このようなデーターベースはクラウド環境において実現され、データーベースの異なる部分はクラウド環境における異なる仮想機械によってホストされる。
【００１５】
[0024]  データーベースは、トランザクション失敗の結果として、またはバージョニングされたデーターベース(versioned database)を有用にさせることができる他の理由のために、データーベースをロール・バック(roll back)することを可能にするために、様々な異なるバージョンのデーター項目を含むことが多い。例えば、図１Ａよりも後の時点におけるデーターベース１０２を示す図１Ｂに図示するように、データー・ストレージ１０４はデーター・ストレージ１０４における位置Ｄ７にデーター項目Ｇを含む。また、データー・ストレージ１０４は、データー・ストレージ１０４の位置Ｄ８に、新しいバージョンのデーター項目Ｇであるデーター項目Ｇ’も含む。ログ・ストレージ１０６は、この変更を記憶する。例えば、ログ・ストレージ１０６の位置Ｌ１において、ＧからＧ’への変更処理が記憶される。つまり、ログ・ストレージ１０６は、データー・ストレージ１０４上において実行された処理のリストを格納する。
【００１６】
[0025]  図示する例におけるログ・ストレージ１０６は、ｎ個のレコード（即ち、位置Ｌ１から位置Ｌｎまで）を有する環状リング・バッファである。尚、ログ・ストレージ１０６のサイズを大きくする必要がある場合、レコードのスナップショットを抜き出す前にこれらが失われないことを確実にするために、サイズを動的にすることができる。これについては以下で更に詳しく説明する。このログ・ストレージのリング・バッファの性質のために、処理はログ・ストレージ１０６に記憶される。一旦処理のスナップショットが抜き出されたなら、その位置に新たなレコードを書き込むことができるように、そのレコードの位置に上書き可能という印が付けられる。つまり、例えば、ログ・レコードはログ・ストレージの位置Ｌ１、Ｌ２、およびＬ３に作ることができる。これらのスナップショットは、以下で例示するように、データーベース１０２に対するスナップショット処理の一部として抜き出すことができる。一旦これらのスナップショットが抜き出されたなら、これらには新たなログ・レコードのために利用可能という印を付けることができる。データーベース１０２（そして、具体的には、データー・ストレージ１０４）に変更が行われるに連れて、新たなレコードがログ・ストレージ１０６に作られる。一旦ログ・格納位置Ｌｎにおいてレコードが作られると、Ｌｉに上書き可能という印が付けられている限り、次のログ・レコードはＬｉにおいて作られ、そこに以前に存在していたレコードを上書きする。
【００１７】
[0026]  しかしながら、Ｌｉに上書き可能という印が付いていない場合、追加のログ・レコードを収容するためにログ・ストレージ１０６を拡張することができる。とは言え、ログ・ストレージ１０６はいくらか限定されたサイズで、拡張されないことが好ましい。これは、以下で例示するように、スナップショットの頻度または時間を調節することによって行うことができる。
【００１８】
[0027]  また、データーベース１０２はマッピング構造１０７も含む。マッピング構造１０７は、格納位置に対する１組のポインターを内蔵する(contain)。マッピング構造１０７は、任意の所与の時点において、その時点におけるデーターベース内のデーターの状態を表す。具体的には、マッピング構造１０７はデーターベース１０２における現在の格納位置、したがって、現在のデーターを指し示す。
【００１９】
[0028]  データーベース１０２のスナップショットを作成することによって、データーベースをバックアップすることができる。データーベース１０２のスナップショットは、データー・ストレージ１０４からの実際のデーターを格納するのではなく、代わりにデーター・ストレージ１０４におけるレコードへのポインターを格納する。つまり、例えば、スナップショットのデーター部分は、特定の時点におけるマッピング構造１０７のその時点におけるスナップショットになる。また、スナップショットは、ログ・ストレージ１０６からのログ処理を格納することもできる。一旦ログ・ストレージ１０６からのログ処理のスナップショットが抜き出されたなら、これらのスナップショットが抜き出された処理の記憶位置に、空または上書き可能という印を付けることができる。
【００２０】
[0029]  図１Ａ、図１Ｂ、および図１Ｃは、３つ１組のスナップショット１０８−１、１０８−２、および１０８−３を示す。これら３つのスナップショットは、隣接する（時間的に）スナップショットのシーケンスを表し（スナップショット１０８−１が時間的に最初であり、スナップショット１０８−２が時間的に２番目であり、スナップショット１０８−３が時間的に３番目である）、３つのスナップショットのいずれの間にも介在する追加のスナップショットがないことを意味する。図示のように、スナップショットはデーター・ストレージ１０４からのデーターを含まず、代わりにデーター・ストレージ１０４における格納位置へのポインターを含む。つまり、例えば、スナップショット１０８−１はデーター部分１１０−１を、位置Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６、およびＤ７へのポインターと共に含む。また、スナップショット１０８−１はログ部分１１２−１も含む。しかしながら、ログ部分１１２−１には何のレコードも示されていない。これは、何もないからか、または実際の実施形態ではこれらが存在し、その存在が有意であるが、これらの記録された値における特定の値はこの例示では必要とされないからである。
【００２１】
[0030]  図１Ｂにおけるスナップショット１０８−２は、データー・ストレージ１０４に対して変更が行われ、レコードがログ・ストレージ１０６に追加された後に抜き出されたものである。具体的には、データー・格納位置Ｄ７におけるデーター項目Ｇが、データー位置Ｄ８に格納された新たなバージョンＧ’に変更されている。また、格納位置Ｄ２におけるデーター項目Ｂも、データー・格納位置Ｄ９における新バージョンＢ’に変更されている。スナップショット１０８−２は、位置Ｄ７およびＤ２へのマッピングの代わりに、それぞれ、位置Ｄ８およびＤ９へのマッピングを有する新たなマッピングを含む。つまり、スナップショット１０８−２は、新たなマッピングを有するデーター部分１１０−２と、新たなログ・レコードを有するログ部分１１２−１とを含む。
【００２２】
[0031]  ログ・ストレージ１０６は、これらの変更の原因となった処理を記憶するために、位置Ｌ１およびＬ２においてそれぞれ更新される。Ｇ→Ｇ‘またはＢ→Ｂ’の変更として単純に示すが、ログは、どの処理が行われたかというような、詳細を記憶できることは認められてしかるべきである。例えば、実際のログ・レコードは、特定のデーターベース・テーブル位置にＧ’を書き込むことを示すこともできる。位置Ｌ１およびＬ２におけるログ・レコードのスナップショットは、スナップショット１０８−２の一部として抜き出される。一旦ログ・レコードのスナップショットが抜き出されたなら、ログ・格納位置Ｌ１およびＬ２には空または上書き可能という印を付けることができる。
【００２３】
[0032]  図１Ｃにおけるスナップショット１０８−３は、データー・ストレージ１０４に対して追加の変更が行われ、ログ・ストレージ１０６に追加のレコードが追加された後に抜き出されたものである。この例では、データー項目Ｃが新バージョンＣ’に更新され、データー項目Ｅが新バージョンＥ’に更新されている。これは、スナップショット１０８−３において、スナップショット１０８−３のデーター部分１１０−３におけるデーター・格納位置Ｄ１０およびＤ１１へのポインターによって反映されている。スナップショット１０８−３のログ部分１１２−３は、ログ・ストレージ１０６の位置Ｌ３およびＬ４からのログ・レコードを含む。データーベース１０２のログ・ストレージ１０６の位置Ｌ３およびＬ４のスナップショットが抜き出されたので、これらの位置（即ち、Ｌ３およびＬ４）には空または上書き可能という印を付けることができる。この時点において、スナップショット１０８−１から１０８−３までを使用して、第１スナップショット１０８−１の時点以降第３スナップショット１０８−３の時点までの任意の時点に、データーベースを復元することができる。
【００２４】
[0033]  データーベース復元の例を図２Ａ、図２Ｂ、および図２Ｃに示す。図示する例では、データーベース１０２は、第２スナップショット１０８−２と第３スナップショット１０８−３との間の時点に復元される。具体的には、データーベースは、データー項目ＣがＣ’に更新された後の時点に復元されようとしている。
【００２５】
[0034]  図２Ａは、初期時点におけるデーター・ストレージ１０４およびログ・ストレージ１０６を含む、データーベース１０２を示す。このデーターベースを所望の時点に復元するために、第２スナップショット１０８−２および第３スナップショット１０８−３を識別する。ログ部分１１２−２に含まれるログのスナップショットを含む第２スナップショット１０８−２をデーターベース１０２に適用する。図２Ｂに示すように、これによって、スナップショット１０８−２のデーター部分１１０−２からのレコードをマッピング構造１０７に適用させ、スナップショット１０８−２のログ部分１１２−２からのレコードをログ・ストレージ１０６に適用させる。
【００２６】
[0035]  次いで、図２Ｃに示すように、第３スナップショット１０８−３からのログ部分１１２−３の一部をデーターベース１０２のログ・ストレージ１０６に適用する。具体的には、ＣをＣ’に更新する処理までを含む(up to and including)ログ部分１１２−３における全てのレコードを、ログ・ストレージ１０６に適用する。したがって、データーベースは、これによって、データー項目ＣがバージョンＣ’に更新された時点に復元されたことになる。
【００２７】
[0036]  うわべだけを見ている人(casual observer)は、これらの図において、図２Ｃにおけるログ・ストレージ内のログ・レコードは、図１におけるこれらと同じ格納位置（即ち、Ｌ１、Ｌ２、およびＬ３）にあることに注目するであろうが、これは純粋に偶然である。ログ・レコードを復元するために利用可能なログ・ストレージ１０６のリング・バッファにおいて、該当する位置であればどこにでもログ・レコードを復元することができる。あるいは、全てのエントリーが無効であるかのようにログ・ストレージ１０６を扱うことができ、ログ・ストレージ１０６の全ての格納位置が書き込みのために利用可能であるかのように、ログ・レコードを復元することができる。
【００２８】
[0037]  図２Ａから図２Ｃまでに示した例では、図２Ｂにおいて、第２スナップショット１０８−２からのログ・レコードをログ・ストレージ１０６に適用する。しかしながら、ある状況では、これらのレコードを復元する必要がないことは認められてしかるべきである。例えば、データーベースにおけるデーターに対する全ての変更が、第２スナップショット１０８−２の前では永続的(durable)にされた場合（即ち、全てのトランザクションがコミットされるまたはロール・バックされる）、ＧからＧ’への変更およびＢからＢ’への変更を記憶したログ・レコードは不要にすることができる。何故なら、これらはいずれの未処理のトランザクションをロール・バックするためにも必要とされないからである。この場合、データーベース１０２を復元するために必要とされるのは、第２スナップショット１０８−２のデーター部分１１０−２、および第３スナップショット１０８−３のログ部分１１２−３で全てである。
【００２９】
[0038]  尚、代替実施形態では、１つのスナップショットから得られる１つのデーター部分、および対応するスナップショットから得られる数個の異なるログ部分を使用することによって、データーベースを復元できることを注記しておく。例えば、最初に第１スナップショット１０８−１のデーター部分１１０−１をデーターベース１０２に適用し、第１スナップショット１０８−１のログ部分１１２−１をデーターベース１０２のログ・ストレージ１０６に適用し、第２スナップショット１０８−２のログ部分１１２−２をデーターベースのログ・ストレージ１０６に適用し、最後にログ部分１１２−３の一部をデーターベース１０２のログ・ストレージ１０６に適用することによって、データー項目ＣがＣ’に更新された時点までデーターベースを復元することができる。
【００３０】
[0039]  以上で例示した例は、データー部分およびログ部分双方を含むスナップショットを例示する。尚、これらは多数の異なる方法で得ることができることは認められてしかるべきである。更に、ある実施形態は、スナップショットのデーター部分およびログ部分が別々に格納されていても実現することができる。更に、これらの部分は、異なる組の処理によって得ることもできる。しかしながら、これらの場合であっても、スナップショット（またはデーター・スナップショットに対応するログ・スナップショット）のログ部分は、通常、データーの直近の(most recent previous)スナップショット以降でこのログ部分が属するスナップショットまでの処理の記憶だけを含む。つまり、殆どの実施形態において、ログ部分は、直近のスナップショットよりも前に作られたログ・レコードや、現在のスナップショットの後に作られるログ・レコードを含まない。したがって、例えば、ログ部分１１２−２は、通例、スナップショット１０８−１以降でスナップショット１０８−２の時点までに作られたログ・レコードのみを含む。しかしながら、他の実施形態では、ログ部分は、直近のスナップショットよりも前に作られたログ・レコード、および／または現在のスナップショット後に作られるログ・レコードを含む。
【００３１】
[0040]  これより、以下の論述では、実行することができる多数の方法および方法のステップを参照する。これらの方法のステップは、一定の順序で論じられるか、または特定の順序で行われるフロー・チャートにおいて示されることがあるが、具体的に述べられない限りまたは要求されない限り、特定の順序付けは必要でない。何故なら、ステップは、このステップが実行される前に完了する他のステップに依存するからである。
【００３２】
[0041]  ここで図３を参照すると、方法３００が示されている。方法３００は、データーベースを保管および復元するステップを含む。方法３００は、第１時点においてデーターベースのデーター・ストレージの第１スナップショットを抜き出すステップ（ステップ３０２）を含む。更に、方法３００は、データーベースのデーター・ストレージの第１スナップショットに対応するログ・ストレージの第１状態を取り込むステップ（ステップ３０４）を含む。ログ・ストレージは、データーベースのデーター・ストレージ上における処理の列挙を含む。例えば、図１Ａは、第１時点において抜き出されたスナップショット１０８−２を示す。スナップショット１０８−２は、データー部分１１０−２とログ・部分１１２−２とを含む。
【００３３】
[0042]  更に、方法３００は、第２後続時点においてデーターベースのデーター・ストレージの第２スナップショットを抜き出すステップ（ステップ３０６）を含む。更に、方法３００は、データーベースの第２スナップショットに対応するログの第２状態を取り込むステップ（ステップ３０８）を含む。ログの第２状態は、データーベースの第１スナップショットの時点以降第２スナップショットの時点までに作られた全てのログ・レコードを含む。例えば、図１Ｂは、データー部分１１０−３とログ部分１１２−３とを有する第２スナップショット１０８−３を抜き出すことを示す。ログ部分は、位置Ｌ３およびＬ４におけるログ・レコードの記憶を含む。これらのレコードは、第１スナップショット１０８−２の後に作成された。
【００３４】
[0043]  更に、方法３００は、データー・ストレージにおけるデーターの第１スナップショットをデーターベースに適用し、ログの第１スナップショットに対応するログの取り込んだ第１状態をデーターベースに適用し、ログの第２状態の一部を適用して、第１時点と第２時点との間において時間指定復元を実行することによって、第１時点と第２時点との間の特定の時点にデーターベースを復元するステップ（ステップ３１０）を含む。つまり、図２Ａ〜図２Ｃに示すように、データー部分１１０−２およびログ部分１１２−２をデーターベース１０２に適用することができ（図２Ｂに示す通り）、次いで、図２Ｃに示すように、ログ部分１１２−３の一部を適用して、時間指定復元を遂行することができる。
【００３５】
[0044]  方法３００は、データーベースのデーター・ストレージの第２スナップショットを抜き出すステップ、およびデーターベースの第２スナップショットに対応するログの第２状態を取り込むステップがデーターベース処理の統一スナップショット(unified snapshot)において実行される場合に実施することができる。つまり、例えば、データー部分１１０−２およびログ部分１１２−２の双方を取り込むために、スナップショット１０８−３を１つのスナップショットまた１組のスナップショット処理として抜き出すことができる。
【００３６】
[0045]  ある実施形態は、データー・マッピング構造（データー・マッピング構造１０７のような）を含むシステムにおいて実施することができる。これらの実施形態では、データー・ストレージのスナップショットを抜き出すステップは、データー・マッピング構造において、データー・ストレージにおける位置を指し示すポインターを取り込むステップを含めばよい。図１Ａ〜図１Ｃに示したスナップショットは、このようなスナップショットを例示する。
【００３７】
[0046]  方法３００は、ログ・ストレージの状態を取り込むステップが、データー・ストレージ内のデーター項目上で実行されるデーター処理の１つ以上の表現を取り込むステップを含む場合に実施することができる。つまり、例えば、ログ部分は、特定のデーター項目上でどの処理が実行されたか示すことができる。
【００３８】
[0047]  ある実施形態は、クラウド環境において実装された分散型データーベースであるシステムにおいて、データーベースの異なる部分がクラウド環境における異なる仮想機械上に実装されるように実施することができる。
【００３９】
[0048]  ある実施形態は、データーベースが、データー項目の異なるバージョンを格納する、バージョニング・データーベース(versioned database)である場合に、システムにおいて実施することができる。つまり、一例では、図１Ｃに示すように、データーベースは、旧バージョンおよび新バージョン双方のデーター項目Ｇ、Ｂ、Ｃ、およびＥを収容する。
【００４０】
[0049]  ある実施形態は、ログ・ストレージがリング・バッファを含むシステムにおいて実施することができる。このような実施形態では、方法３００は、更に、スナップショットに対応するログ・ストレージの状態を取り込むときに、一旦ログ・ストレージにおける格納位置内にある既存のレコードが取り込まれたなら、これらの位置を新たなレコードのために利用可能にするステップも含むことができる。
【００４１】
[0050]  これより図４を参照すると、データーベースを保管および復元する他の方法が示されている。この方法はデーターベース環境において実施することができる。方法４００は、第１時点においてデーターベースの第１スナップショットを抜き出すステップ（ステップ４０２）を含む。データーベースの第１スナップショットは、データーベースのデーター・ストレージにおけるデーターの第１スナップショットと、ログ・ストレージにおけるログ・レコードの第１スナップショットとを含む。ログ・ストレージは、データーベース上における処理の列挙を含む。
【００４２】
[0051]  更に、方法４００は第２後続時点においてデーターベースの第２スナップショットを抜き出すステップ（ステップ４０４）を含む。データーベースの第２スナップショットは、データーベースのデーター・ストレージにおけるデーターの第２スナップショットと、ログ・ストレージにおけるログ・レコードの第２スナップショットとを含む。ログ・ストレージにおけるログ・レコードの第２スナップショットは、データーベースの第１スナップショットの時点以降データーベースの第２スナップショットの時点までの全てのログ・レコードのスナップショットである。
【００４３】
[0052]  更に、方法４００は、データー・ストレージにおけるデーターの第１スナップショットをデーターベースに適用し、ログ・ストレージにおけるログ・レコードの第１スナップショットをデーターベースに適用し、ログ・ストレージにおけるログ・レコードの第２スナップショットの一部をデーターベースに適用して、第１時点と第２後続時点との間において時間指定復元を実行することによって、第１時点と第２時点との間における特定の時点にデーターベースを復元するステップを含む。以上で論じた図２Ａ〜図２Ｃに例が示されている。
【００４４】
[0053]  この方法は、データー・マッピング構造を含むシステムにおいて実施することができる。このような実施形態では、データーベースのスナップショットを抜き出すステップが、データー・マッピング構造において、データー・ストレージにおける位置を指し示すポインターを取り込むステップを含む。
【００４５】
[0054]  この方法は、ログ・ストレージにおけるログ・レコードが、データー・ストレージにおけるデーター項目上で実行されたデーター処理の１つ以上の表現を含むシステムにおいて実施することができる。
【００４６】
[0055]  この方法は、データーベースが、クラウド環境において実装された分散型データーベースであるシステムにおいて、データーベースの異なる部分がクラウド環境における異なる仮想機械上に実装されるように実施することができる。
【００４７】
[0056]  この方法は、データーベースが、データー項目の異なるバージョンを格納する、バージョニング・データーベースである場合に、システムにおいて実施することができる。
【００４８】
[0057]  この方法は、ログ・ストレージがリング・バッファを含むシステムにおいて実施することができる。このような実施形態では、方法４００は、更に、スナップショットの間に一旦これらの位置における既存のレコードが取り込まれたなら、これらの位置を新たなレコードのために利用可能にするステップも含むことができる。
【００４９】
[0058]  これより図５を参照すると、データーベースを保管および復元する方法が示されている。方法５００は、第１時点においてデーターベースの第１スナップショットを抜き出すステップ（ステップ５０２）を含む。データーベースの第１スナップショットは、データーベースのデーター・ストレージにおけるデーターの第１スナップショットと、ログ・ストレージにおけるログ・レコードの第１スナップショットとを含む。ログ・ストレージは、データーベース上における処理の列挙を含む。
【００５０】
[0059]  更に、方法５００は、第１時点に続く１つ以上の時点において、それぞれ、データーベースの１つ以上の追加のスナップショットを抜き出すステップ（ステップ５０４）を含む。データーベースの１つ以上の追加のスナップショットは、それぞれ、データーベースにおけるデーター・ストレージの１つ以上の追加のスナップショットと、ログ・ストレージの１つ以上の追加のスナップショットとを含む。データーベースにおけるデーター・ストレージの追加のスナップショット毎に、ログ・ストレージの対応するスナップショットは、データーベースの追加のスナップショットの時点以降データーベースの以前のスナップショットの最新時点までに作られた全てのログ・レコードのスナップショットである。
【００５１】
[0060]  方法５００は、更に、データー・ストレージにおけるデーターの第１スナップショットをデーターベースに適用し、ログ・ストレージにおけるログ・レコードの第１スナップショットをデーターベースに適用し、ログ・ストレージの１つ以上の追加のスナップショットからのログ・レコードをデーターベースに適用して、時間指定復元を実行することによって、後続のデーターベースのスナップショットの内最後に作成されたもの と、後続のデーターベースのスナップショットの内最後に作成されたものよりも前に作成された最新のデーターベースのスナップショットとの間における特定の時点にデーターベースを復元するステップを含む。つまり、例えば、図を参照すると、データー部分１１０−１とログ・部分１１２−１とを含むスナップショット１０８−１をデーターベースに適用することができる（データー部分１１０−１をマッピング構造１０７に適用し、ログ部分１１２−１をログ・ストレージ１０６に適用することによってというようにして）。また、第２スナップショット１０８−２のログ部分１１２−２もログ・ストレージ１０６に適用することができる。次いで、第３スナップショット１０８−３のログ部分１１２−３の一部をログ・ストレージ１０６に適用して、時間指定復元を実行することができる。
【００５２】
[0061]  この方法は、データー・マッピング構造を含むシステムにおいて実施することができる。このような実施形態では、データーベースのスナップショットを抜き出すステップが、データー・マッピング構造において、データー・ストレージにおける位置を指し示すポインターを取り込むステップを含む。
【００５３】
[0062]  この方法は、ログ・ストレージにおけるログ・レコードが、データー・ストレージにおけるデーター項目上で実行されたデーター処理の１つ以上の表現を含むシステムにおいて実行することができる。
【００５４】
[0063]  この方法は、データーベースが、クラウド環境において実装された分散型データーベースであるシステムにおいて、データーベースの異なる部分がクラウド環境における異なる仮想機械上に実装されるように実施することができる。
【００５５】
[0064]  この方法は、データーベースが、データー項目の異なるバージョンを格納するバージョニング・データーベースであるシステムにおいて実施することができる。
[0065]  この方法は、ログ・ストレージがリング・バッファを含むシステムにおいて実施することができる。このような実施形態では、方法５００は、更に、スナップショットの間に、一旦ログ・ストレージにおける格納位置内にある既存のレコードが取り込まれたなら、これらの位置を新たなレコードのために利用可能にするステップも含むことができる。
【００５６】
[0066]  更に、以上の方法は、１つ以上のプロセッサーと、コンピューター・メモリーのような、コンピューター読み取り可能媒体とを含むコンピューター・システムによって実施することができる。具体的には、コンピューター・メモリーはコンピューター実行可能命令を格納することができ、１つ以上のプロセッサーによってコンピューター実行可能命令が実行されると、実施形態において列挙したステップのような、種々の機能を実行させる。
【００５７】
[0067]  本発明の実施形態は、以下で更に詳しく論ずるような、コンピューター・ハードウェアを含む特殊目的または汎用コンピューターを含む、または利用することができる。また、本発明の範囲内の実施形態は、コンピューター実行可能命令および／またはデーター構造を搬送あるいは格納するために、物理および他のコンピューター読み取り可能媒体も含む。このようなコンピューター読み取り可能媒体は、汎用または特殊目的コンピューター・システムによってアクセスすることができる任意の入手可能な媒体とすることができる。コンピューター実行可能命令を格納するコンピューター読み取り可能媒体は物理記憶媒体である。コンピューター実行可能命令を搬送するコンピューター読み取り可能媒体は送信媒体である。つまり、一例として、そして限定ではなく、本発明の実施形態は、少なくとも２種類の全く異なる種類のコンピューター読み取り可能媒体、即ち、物理コンピューター読み取り可能記憶媒体および送信コンピューター読み取り可能媒体を含むことができる。
【００５８】
[0068]  物理コンピューター読み取り可能記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク・ストレージ（ＣＤ、ＤＶＤ等のような）、磁気ディスク記憶デバイスまたは他の磁気記憶デバイス、あるいは所望のプログラム・コード手段をコンピューター実行可能命令の形態で、またはデーター構造を格納するために使用することができ、更に汎用または特殊目的コンピューターによってアクセスすることができる任意の他の媒体が含まれる。
【００５９】
[0069]  「ネットワーク」とは、コンピューター・システムおよび／またはモジュールおよび／または他の電子デバイス間における電子データーの移送を可能にする１つ以上のデーター・リンクと定義される。情報がネットワークまたは他の通信接続（ハードワイヤ、ワイヤレス、またはハードワイヤおよびワイヤレスの組み合わせのいずれか）を介してコンピューターに転送または提供されるとき、コンピューターはこの接続を送信媒体と見なすのは適正である。送信媒体は、所望のプログラム・コード手段をコンピューター実行可能命令の形態で、またはデーター構造を搬送するために使用することができ、汎用または特殊目的コンピューターによってアクセスすることができるネットワークおよび／またはデーター・リンクを含むことができる。また、以上のものの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれる。
【００６０】
[0070]  更に、種々のコンピューター・システム・コンポーネントに達すると、コンピューター実行可能命令の形態であるプログラム・コード手段またはデーター構造を自動的に送信コンピューター読み取り可能媒体から、物理コンピューター読み取り可能記憶媒体に（またはその逆に）転送することができる。例えば、ネットワークまたはデーター・リンクを介して受信されたコンピューター実行可能命令またはデーター構造を、ネットワーク・インターフェース・モジュール（例えば、「ＮＩＣ」）内部のＲＡＭにバッファし、最終的にコンピューター・システムにおけるコンピューター・システムＲＡＭおよび／またはそれよりも揮発性が低いコンピューター読み取り可能物理記憶媒体に転送することができる。つまり、コンピューター読み取り可能物理記憶媒体は、送信媒体も利用するコンピューター・システム・コンポーネントに（または主にこれを利用するコンピューター・システム・コンポーネントであっても）含めることができる。
【００６１】
[0071]  コンピューター実行可能命令は、例えば、命令およびデーターを含み、汎用コンピューター、特殊目的コンピューター、または特殊目的処理デバイスに、一定の機能または機能の集合を実行させる。コンピューター実行可能命令は、例えば、バイナリー、アセンブリー言語のような中間フォーマット命令、またはソース・コードであってもよい。本主題は、構造的特徴および／または方法のステップに特定の文言で説明されてきたが、添付する特許請求の範囲において定められる主題は、以上で説明した特徴やステップに必ずしも限定されないことは理解されよう。逆に、以上で説明した特徴およびステップは、特許請求の範囲を実現する形態例として開示したまでである。
【００６２】
[0072]  尚、本発明は、多くのタイプのコンピューター・システム構成を有するネットワーク計算環境においても実現できることは当業者には認められよう。コンピューター・システム構成には、パーソナル・コンピューター、デスクトップ・コンピューター、ラップトップ・コンピューター、メッセージ・プロセッサー、ハンドヘルド・デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベースまたはプログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、移動体電話機、ＰＤＡ、ページャ、ルーター、スイッチ等が含まれる。また、本発明は分散型システム環境においても実施することができ、ネットワークを介して（ハードワイヤ接続データー・リンク、ワイヤレス・データー・リンク、またはハードワイヤ接続およびワイヤレス・データー・リンクの組み合わせのいずれかによって）リンクされたローカルおよびリモート・コンピューター・システムの双方がタスクを実行する。分散型システム環境では、プログラム・モジュールはローカルおよびリモート双方のメモリー記憶デバイス内に配置されてもよい。
【００６３】
[0073]  あるいは、または加えて、本明細書において説明する機能の一部または全部を、少なくとも部分的に、１つ以上のハードウェア論理コンポーネントによって実行することもできる。例えば、そして限定でなく、使用することができる例示的なタイプのハードウェア論理コンポーネントには、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途集積回路（ＡＳＩＣ）、特定用途標準製品（ＡＳＳＰ）、システム・オン・チップ・システム（ＳｏＣ）、複合プログラマブル論理デバイス（ＣＰＬＤ）等が含まれる。
【００６４】
[0074]  本発明は、その主旨や特性から逸脱することなく、他の具体的な形態でも具体化することができる。説明した実施形態は、あらゆる観点において、限定的ではなく例示的であると見なされるものとする。したがって、本発明の範囲は、以上の説明によってではなく、添付した特許請求の範囲によって示される。請求項の均等の意味および範囲に該当する全ての変更は、請求項の範囲内に包含されるものとする。
【図１Ａ】
2017533520.tif 000003
【図１Ｂ】
2017533520.tif 000004
【図１Ｃ】
2017533520.tif 000005
【図２Ａ】
2017533520.tif 000006
【図２Ｂ】
2017533520.tif 000007
【図２Ｃ】
2017533520.tif 000008
【図３】
2017533520.tif 000009
【図４】
2017533520.tif 000010
【図５】
2017533520.tif 000011
【国際調査報告】
2017533520.tif 000012
2017533520.tif 000013
2017533520.tif 000014