(57)【特許請求の範囲】
【請求項１】
スタンバイノードデータベースを再構築するための方法であって、
アクティブノードデータベース内の第１のページ構造ファイルのファイル情報と、スタンバイノードデータベース内の第２のページ構造ファイルのファイル情報とを取得するステップであって、前記第１のページ構造ファイル及び前記第２のページ構造ファイルが互いに対応するデータファイルである、取得するステップと、
前記第１のページ構造ファイルの前記ファイル情報を、前記第２のページ構造ファイルの前記ファイル情報と、前記ファイル情報が同じであるかどうかの比較結果を取得するために比較するステップと、
前記スタンバイノードデータベースを、前記ファイル情報が同じであるかどうかの前記比較結果によって再構築するステップとを含み、
前記スタンバイノードデータベースを、前記ファイル情報が同じであるかどうかの前記比較結果によって再構築する前記ステップが、前記データファイルを再構築し、前記スタンバイノードデータベースの更新動作を記録するログファイルを再構築するステップを含み、
前記データファイルと前記ログファイルの２つの再構築手続は、同時に遂行され、互いに干渉しない、
方法。
【請求項２】
前記スタンバイノードデータベースを、前記ファイル情報が同じであるかどうかの前記比較結果によって再構築する前記ステップが、
前記ファイル情報が同じであるかどうかの前記比較結果が、前記第１のページ構造ファイルの前記ファイル情報は前記第２のページ構造ファイルの前記ファイル情報と異なるというものであるとき、前記第２のページ構造ファイルを、前記第１のページ構造ファイルによって置換するステップを含む、請求項１に記載の方法。
【請求項３】
前記ファイル情報はファイルサイズを含み、
前記第１のページ構造ファイルの前記ファイル情報を、前記第２のページ構造ファイルの前記ファイル情報と比較する前記ステップが、
前記第１のページ構造ファイルのファイルサイズを、前記第２のページ構造ファイルのファイルサイズと比較するステップである、請求項１又は２に記載の方法。
【請求項４】
前記ファイルサイズの比較結果が異なるとき、前記スタンバイノードデータベースを再構築する前記ステップが、前記第２のページ構造ファイル内のすべてのページを、前記第１のページ構造ファイル内のすべてのページによって置換するステップである、請求項３に記載の方法。
【請求項５】
前記ファイル情報がページ量を含み、
前記第１のページ構造ファイルの前記ファイル情報を、前記第２のページ構造ファイルの前記ファイル情報と比較する前記ステップが、
前記第１のページ構造ファイルのページ量を、前記第２のページ構造ファイルのページ量と比較するステップである、請求項１又は２に記載の方法。
【請求項６】
前記ページ量の比較結果が異なるとき、前記スタンバイノードデータベースを再構築する前記ステップが、前記第２のページ構造ファイル内のすべてのページを、前記第１のページ構造ファイル内のすべてのページによって置換するステップである、請求項５に記載の方法。
【請求項７】
前記ファイル情報の前記比較結果が同じであるとき、前記スタンバイノードデータベースを再構築する前記ステップが、
前記第１のページ構造ファイル内の各々のページのバージョン情報を、前記第２のページ構造ファイル内の各々のページのバージョン情報と１つずつ比較するステップと、
異なるページバージョン情報のページに対して、前記第２のページ構造ファイル内の対応するページを、前記第１のページ構造ファイル内のページによって置換するステップとである、請求項３又は５に記載の方法。
【請求項８】
前記ページバージョン情報が、ログファイル位置又は論理システムタイムスタンプを含む、請求項７に記載の方法。
【請求項９】
前記スタンバイノードデータベースを、前記ファイル情報が同じであるかどうかの前記比較結果によって再構築する前記ステップの前に、当該方法が、前記アクティブノードデータベースが複製関係をサポートし、前記スタンバイノードデータベースのプロセスが正常にディスエーブルされると判定するステップを更に含む、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記ファイル情報が同じであるかどうかの前記比較結果が同じであり、前記ページバージョン情報の比較結果が同じであるとき、前記第２のページ構造ファイルが修正されない、請求項７に記載の方法。
【請求項１１】
スタンバイノードデータベースを再構築するための装置であって、
アクティブノードデータベース内の第１のページ構造ファイルのファイル情報と、スタンバイノードデータベース内の第２のページ構造ファイルのファイル情報とを取得するように構成される取得ユニットであって、前記第１のページ構造ファイル及び前記第２のページ構造ファイルが互いに対応するデータファイルである、取得ユニットと、
前記取得ユニットにより取得される前記第１のページ構造ファイルの前記ファイル情報を、前記取得ユニットにより取得される前記第２のページ構造ファイルの前記ファイル情報と、前記ファイル情報が同じであるかどうかの比較結果を取得するために比較するように構成される比較ユニットと、
前記スタンバイノードデータベースを、前記比較ユニットにより取得される前記ファイル情報が同じであるかどうかの前記比較結果によって再構築するように構成される再構築ユニットとを備え、
前記再構築ユニットが、前記データファイルを再構築し、前記スタンバイノードデータベースの更新動作を記録するログファイルを再構築するように構成され、
前記データファイルと前記ログファイルの２つの再構築手続は、同時に遂行され、互いに干渉しない、
装置。
【請求項１２】
前記再構築ユニットが、
前記比較ユニットにより取得される前記ファイル情報が同じであるかどうかの前記比較結果が、前記第１のページ構造ファイルの前記ファイル情報は前記第２のページ構造ファイルの前記ファイル情報と異なるというものであるとき、前記第２のページ構造ファイルを、前記第１のページ構造ファイルによって置換するように構成される、請求項１１に記載の装置。
【請求項１３】
前記ファイル情報がファイルサイズを含み、
前記比較ユニットが、前記第１のページ構造ファイルのファイルサイズを、前記第２のページ構造ファイルのファイルサイズと比較するように構成される、請求項１１又は１２に記載の装置。
【請求項１４】
前記比較ユニットにより取得される前記ファイルサイズの比較結果が異なるとき、前記再構築ユニットが、前記第２のページ構造ファイル内のすべてのページを、前記第１のページ構造ファイル内のすべてのページによって置換するように構成される、請求項１３に記載の装置。
【請求項１５】
前記ファイル情報がページ量を含み、
前記比較ユニットが、前記第１のページ構造ファイルのページ量を、前記第２のページ構造ファイルのページ量と比較するように構成される、請求項１１又は１２に記載の装置。
【請求項１６】
前記比較ユニットにより取得される前記ページ量の比較結果が異なるとき、前記再構築ユニットが、前記第２のページ構造ファイル内のすべてのページを、前記第１のページ構造ファイル内のすべてのページによって置換するように構成される、請求項１５に記載の装置。
【請求項１７】
前記比較ユニットにより取得される前記ファイル情報の前記比較結果が同じであるとき、前記再構築ユニットが、
前記第１のページ構造ファイル内の各々のページのバージョン情報を、前記第２のページ構造ファイル内の各々のページのバージョン情報と１つずつ比較し、
異なるページバージョン情報のページに対して、前記第２のページ構造ファイル内の対応するページを、前記第１のページ構造ファイル内のページによって置換するように構成される、請求項１３又は１５に記載の装置。
【請求項１８】
前記ページバージョン情報が、ログファイル位置又は論理システムタイムスタンプを含む、請求項１７に記載の装置。
【請求項１９】
当該装置が、判定ユニットを更に備え、前記判定ユニットは、前記再構築ユニットが前記スタンバイノードデータベースを前記ファイル情報が同じであるかどうかの前記比較結果によって再構築する前に、前記アクティブノードデータベースが複製関係をサポートし、前記スタンバイノードデータベースのプロセスが正常にディスエーブルされると更に判定するように構成される、請求項１１から１８のいずれか一項に記載の装置。
【請求項２０】
前記比較ユニットにより取得される前記ファイル情報が同じであるかどうかの前記比較結果が同じであり、前記ページバージョン情報の比較結果が同じであるとき、前記再構築ユニットが、前記第２のページ構造ファイルを修正することをスキップするように構成される、請求項１７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、中国特許庁に２０１５年２月１３日に出願され、“スタンバイノードデータベースを再構築するための方法及び装置”と表題を付けられた、中国特許出願第２０１５１００８２８８０．６号に対する優先権を主張するとともに、その中国特許出願は、本明細書に参照によりその全体が組み込まれている。
【０００２】
技術分野
本発明は、通信分野に関係し、より具体的には、スタンバイノードデータベースを再構築するための方法及び装置に関係する。
【背景技術】
【０００３】
データベース（Data  Base）は、コンピュータ内の記憶デバイスに適正に記憶される、関連付けられるとともに構造化されるデータセットである。再実行（redo）ログストリーム複製技術が、一般的には、データベースの２ノードクラスタホットバックアップを実現するために使用される。アクティブノードデータベースは、継続的に生成される再実行ログストリームをスタンバイノードデータベースに送出し、スタンバイノードデータベースは、再実行ログストリームを再実行して、ホットバックアップを実現するようにデータを復元する。しかしながら、限られたログファイルのみが、アクティブノードデータベース内で保持される。スタンバイノードデータベースの複製スピードが過度に低速であるか、再実行することが過度に低速であるか、ネットワークに障害が発生しているか、又は類することのとき、スタンバイノードデータベースは、要求されるログファイルをアクティブノードデータベースから複製できず、ストリーム複製機構は停止する。この事例では、スタンバイノードデータベースは、ストリーム複製を遂行することを継続するために再構築されることを必要とする。
【０００４】
スタンバイノードデータベースを再構築するための既存の方法では、アクティブノードデータベース内のすべてのデータファイル及びすべてのログファイルが、一旦スタンバイノードデータベースに複製され、その結果、ストリーム複製は、スタンバイノードデータベースが再始動した後に継続し得る。しかしながら、アクティブノードデータベースが大きいデータ量を有するとき、スタンバイノードデータベースを再構築するためのこの方法は、時間を消費する可能性があり、きわめて高いネットワークリソース消費を引き起こし得る。
【発明の概要】
【０００５】
本発明の実施形態は、スタンバイノードデータベースを再構築するための方法及び装置を提供し、そのことは、スタンバイノードデータベースを再構築するための時間を短縮し得る。
【０００６】
第１の態様によると、スタンバイノードデータベースを再構築するための方法であって、アクティブノードデータベース内の第１のページ構造ファイルのファイル情報と、スタンバイノードデータベース内の第２のページ構造ファイルのファイル情報とを取得するステップであって、第１のページ構造ファイル及び第２のページ構造ファイルが互いに対応するデータファイルである、取得するステップと、第１のページ構造ファイルのファイル情報を、第２のページ構造ファイルのファイル情報と、ファイル情報が同じであるかどうかの比較結果を取得するために比較するステップと、スタンバイノードデータベースを、ファイル情報が同じであるかどうかの比較結果によって再構築するステップとを含む、方法が提供される。
【０００７】
第１の態様を参照すると、第１の態様の実現方式では、スタンバイノードデータベースを、ファイル情報が同じであるかどうかの比較結果によって再構築するステップは、ファイル情報が同じであるかどうかの比較結果が、第１のページ構造ファイルのファイル情報は第２のページ構造ファイルのファイル情報と異なるというものであるとき、第２のページ構造ファイルを、第１のページ構造ファイルによって置換するステップを含む。
【０００９】
第１の態様と、第１の態様の上述の実現方式とを参照すると、第１の態様の別の実現方式では、ファイル情報はファイルサイズを含み、第１のページ構造ファイルのファイル情報を、第２のページ構造ファイルのファイル情報と比較するステップは、具体的には、第１のページ構造ファイルのファイルサイズを、第２のページ構造ファイルのファイルサイズと比較するステップである。
【００１０】
第１の態様と、第１の態様の上述の実現方式とを参照すると、第１の態様の別の実現方式では、ファイルサイズの比較結果が異なるとき、スタンバイノードデータベースを再構築するステップは、具体的には、第２のページ構造ファイル内のすべてのページを、第１のページ構造ファイル内のすべてのページによって置換するステップである。
【００１１】
第１の態様と、第１の態様の上述の実現方式とを参照すると、第１の態様の別の実現方式では、ファイル情報はページ量を含み、第１のページ構造ファイルのファイル情報を、第２のページ構造ファイルのファイル情報と比較するステップは、具体的には、第１のページ構造ファイルのページ量を、第２のページ構造ファイルのページ量と比較するステップである。
【００１２】
第１の態様と、第１の態様の上述の実現方式とを参照すると、第１の態様の別の実現方式では、ページ量の比較結果が異なるとき、スタンバイノードデータベースを再構築するステップは、具体的には、第２のページ構造ファイル内のすべてのページを、第１のページ構造ファイル内のすべてのページによって置換するステップである。
【００１３】
第１の態様と、第１の態様の上述の実現方式とを参照すると、第１の態様の別の実現方式では、ファイル情報の比較結果が同じであるとき、スタンバイノードデータベースを再構築するステップは、具体的には、第１のページ構造ファイル内の各々のページのバージョン情報を、第２のページ構造ファイル内の各々のページのバージョン情報と１つずつ比較するステップと、異なるページバージョン情報のページに対して、第２のページ構造ファイル内の対応するページを、第１のページ構造ファイル内のページによって置換するステップとである。
【００１４】
第１の態様と、第１の態様の上述の実現方式とを参照すると、第１の態様の別の実現方式では、ページバージョン情報は、ログファイル位置又は論理システムタイムスタンプを含む。
【００１５】
第１の態様と、第１の態様の上述の実現方式とを参照すると、第１の態様の別の実現方式では、スタンバイノードデータベースを、ファイル情報が同じであるかどうかの比較結果によって再構築するステップの前に、方法は、アクティブノードデータベースが複製関係をサポートし、スタンバイノードデータベースのプロセスが正常にディスエーブルされると判定するステップを更に含む。
【００１６】
第１の態様と、第１の態様の上述の実現方式とを参照すると、第１の態様の別の実現方式では、ファイル情報が同じであるかどうかの比較結果が同じであり、ページバージョン情報の比較結果が同じであるとき、第２のページ構造ファイルは修正されない。
【００１７】
第２の態様によると、スタンバイノードデータベースを再構築するための装置が提供され、装置は、アクティブノードデータベース内の第１のページ構造ファイルのファイル情報と、スタンバイノードデータベース内の第２のページ構造ファイルのファイル情報とを取得するように構成される取得ユニットであって、第１のページ構造ファイル及び第２のページ構造ファイルが互いに対応するデータファイルである、取得ユニットと、取得ユニットにより取得される第１のページ構造ファイルのファイル情報を、取得ユニットにより取得される第２のページ構造ファイルのファイル情報と、ファイル情報が同じであるかどうかの比較結果を取得するために比較するように構成される比較ユニットと、スタンバイノードデータベースを、比較ユニットにより取得されるファイル情報が同じであるかどうかの比較結果によって再構築するように構成される再構築ユニットとを含む。
【００１８】
第２の態様を参照すると、第２の態様の実現方式では、再構築ユニットは、具体的には、ファイル情報が同じであるかどうかの比較結果が、第１のページ構造ファイルのファイル情報は第２のページ構造ファイルのファイル情報と異なるというものであるとき、第２のページ構造ファイルを、第１のページ構造ファイルによって置換するように構成される。
【００１９】
第２の態様と、第２の態様の上述の実現方式とを参照すると、第２の態様の別の実現方式では、ファイル情報はファイルサイズを含み、比較ユニットは、具体的には、第１のページ構造ファイルのファイルサイズを、第２のページ構造ファイルのファイルサイズと比較するように構成される。
【００２０】
第２の態様と、第２の態様の上述の実現方式とを参照すると、第２の態様の別の実現方式では、比較ユニットにより取得されるファイルサイズの比較結果が異なるとき、再構築ユニットは、具体的には、第２のページ構造ファイル内のすべてのページを、第１のページ構造ファイル内のすべてのページによって置換するように構成される。
【００２１】
第２の態様と、第２の態様の上述の実現方式とを参照すると、第２の態様の別の実現方式では、ファイル情報はページ量を含み、比較ユニットは、具体的には、第１のページ構造ファイルのページ量を、第２のページ構造ファイルのページ量と比較するように構成される。
【００２２】
第２の態様と、第２の態様の上述の実現方式とを参照すると、第２の態様の別の実現方式では、比較ユニットにより取得されるページ量の比較結果が異なるとき、再構築ユニットは、具体的には、第２のページ構造ファイル内のすべてのページを、第１のページ構造ファイル内のすべてのページによって置換するように構成される。
【００２３】
第２の態様と、第２の態様の上述の実現方式とを参照すると、第２の態様の別の実現方式では、ファイル情報の比較結果が同じであるとき、再構築ユニットは、具体的には、第１のページ構造ファイル内の各々のページのバージョン情報を、第２のページ構造ファイル内の各々のページのバージョン情報と１つずつ比較し、異なるページバージョン情報のページに対して、第２のページ構造ファイル内の対応するページを、第１のページ構造ファイル内のページによって置換するように構成される。
【００２４】
第２の態様と、第２の態様の上述の実現方式とを参照すると、第２の態様の別の実現方式では、ページバージョン情報は、ログファイル位置又は論理システムタイムスタンプを含む。
【００２５】
第２の態様と、第２の態様の上述の実現方式とを参照すると、第２の態様の別の実現方式では、装置は、判定ユニットを更に含み、判定ユニットは、再構築ユニットが、スタンバイノードデータベースを、ファイル情報が同じであるかどうかの比較結果によって再構築する前に、アクティブノードデータベースが複製関係をサポートし、スタンバイノードデータベースのプロセスが正常にディスエーブルされると更に判定するように構成される。
【００２６】
第２の態様と、第２の態様の上述の実現方式とを参照すると、第２の態様の別の実現方式では、比較ユニットにより取得されるファイル情報が同じであるかどうかの比較結果が同じであり、ページバージョン情報の比較結果が同じであるとき、再構築ユニットは、第２のページ構造ファイルを修正することをスキップするように構成される。
【００２７】
本発明の実施形態では、スタンバイノードデータベースの再構築の間に、アクティブノードデータベース内の第１のページ構造ファイルのファイル情報、及びスタンバイノードデータベース内の第２のページ構造ファイルのファイル情報が取得され、ファイル情報が同じであるかどうかを判定するために比較され、スタンバイノードデータベースは、比較結果によって再構築され、それにより、大きいデータ量がアクティブノードデータベース内に存在するときにスタンバイノードデータベースがフルバックアップ方式で再構築されることを理由にもたらされる、きわめて高いネットワークリソース消費を回避するとともに、スタンバイノードデータベースを再構築するための時間を短縮する。
【００２８】
本発明の実施形態での技術的解決策をより明確に説明するために、下記は、本発明の実施形態を説明するために要求される添付図面を簡潔に説明する。明らかに、下記の説明での添付図面は、単に本発明の一部の実施形態を示すとともに、当業者はさらに、これらの添付図面から他の図面を創造的努力なしに導出することが可能である。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態による、スタンバイノードデータベースを再構築するための方法の概略フローチャートである。
【図２】本発明の別の実施形態による、スタンバイノードデータベースを再構築するための方法の概略フローチャートである。
【図３】本発明の実施形態による、スタンバイノードデータベースを、アクティブノードデータベースのページバージョン情報と、スタンバイノードデータベースのページバージョン情報とに基づいて再構築することの概略線図である。
【図４】本発明の実施形態による、スタンバイノードデータベースを再構築するための装置のブロック線図である。
【図５】本発明の別の実施形態による、スタンバイノードデータベースを再構築するための装置のブロック線図である。
【発明を実施するための形態】
【００３０】
下記は、本発明の実施形態での技術的解決策を、本発明の実施形態での添付図面を参照して明確且つ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではなく一部分である。当業者により本発明の実施形態に基づいて創造的努力なしに取得されるすべての他の実施形態は、本発明の保護範囲内に含まれるものとする。
【００３１】
図１は、本発明の実施形態による、スタンバイノードデータベースを再構築するための方法の概略フローチャートである。
【００３２】
ステップ１０１：アクティブノードデータベース内の第１のページ構造ファイルのファイル情報と、スタンバイノードデータベース内の第２のページ構造ファイルのファイル情報とを取得し、第１のページ構造ファイル及び第２のページ構造ファイルは互いに対応するデータファイルである。
【００３３】
ステップ１０２：第１のページ構造ファイルのファイル情報を、第２のページ構造ファイルのファイル情報と、ファイル情報が同じであるかどうかの比較結果を取得するために比較する。
【００３４】
ステップ１０３：スタンバイノードデータベースを、ファイル情報が同じであるかどうかの比較結果によって再構築する。
【００３５】
本発明のこの実施形態では、スタンバイノードデータベースの再構築の間に、アクティブノードデータベース内の第１のページ構造ファイルのファイル情報、及びスタンバイノードデータベース内の第２のページ構造ファイルのファイル情報が取得され、ファイル情報が同じであるかどうかを判定するために比較され、スタンバイノードデータベースは、比較結果によって再構築され、それにより、大きいデータ量がアクティブノードデータベース内に存在するときにスタンバイノードデータベースがフルバックアップ方式で再構築されることを理由にもたらされる、きわめて高いネットワークリソース消費を回避するとともに、スタンバイノードデータベースを再構築するための時間を短縮する。
【００３６】
スタンバイノードデータベースは、アクティブノードデータベース内の第１のページ構造ファイルのファイル情報と、スタンバイノードデータベース内の第２のページ構造ファイルのファイル情報とを取得し得る。第１のページ構造ファイル及び第２のページ構造ファイルは互いに対応するデータファイルである。第１のページ構造ファイルは、アクティブノードデータベース内のデータファイルの任意のページ構造ファイルであり得る。具体的にはアクティブノードデータベースは、ページ構造ファイルのバージョン情報をローカルデータファイルから読み出し、次いで、ページ構造ファイルのバージョン情報をスタンバイノードデータベースに送出し得る。スタンバイノードデータベースは、アクティブノードデータベース内のデータファイルの第１のページ構造ファイルの位置に対応しているとともに、スタンバイノードデータベース内のデータファイルのものである第２のページ構造ファイルのバージョン情報を更に読み出し得る。本明細書での位置対応は、ファイル位置が同じであり、例えば、アクティブノードデータベース内の第１のページ構造ファイルの位置が、スタンバイノードデータベース内の第２のページ構造ファイルの位置と同じである、ということであり得る。
【００３７】
データベース内のファイルは、データファイルとログファイルとを含む。スタンバイノードデータベースの再構築の間に、データファイル及びログファイルは、完全に再構築されることを必要とする。アクティブノードデータベース内の２つの部分、データファイル及びログファイルの両方が完全に複製されるとき、それは、スタンバイノードデータベースが完全に再構築されたということを示す。ログファイルは、構造化照会言語（Structured  Query  Language、ＳＱＬ）の実行記録を毎回トラッキングして、データベースの更新動作を記録する。ログファイルは、データベース内のすべてのトランザクションを復元するために必要である情報を含む。
【００３８】
アクティブノードデータベース内の、又はスタンバイノードデータベース内のデータファイルは、ページ構造ファイル及び非ページ構造ファイルの両方を含み得る。ページ構造ファイルは、ページを最も小さい単位として使用することにより記憶及び管理される。
【００３９】
本発明のこの実施形態でのファイル情報は、ファイルサイズ、ファイルのページ量、又は、ファイルのページバージョン情報であり得るということが理解されるべきである。本発明のこの実施形態は、ファイル情報に関する限定を課さない。
【００４０】
第１のページ構造ファイルのファイル情報が、第２のページ構造ファイルのファイル情報と異なるとき、第２のページ構造ファイルは、第１のページ構造ファイルによって置換され得る。すなわち、スタンバイノードデータベース内のファイルは、アクティブノードデータベース内のページ構造ファイルによって置換されることができ、ファイルの位置は、ページ構造ファイルの位置に対応している。アクティブノードデータベース内のページ構造ファイルに対応するファイルがスタンバイノードデータベース内に存在しないとき、アクティブノードデータベース内のファイルが、スタンバイノードデータベース内の対応する位置に直接複製され得る、ということが理解されるべきである。この事例もまた、本発明の保護範囲内に含まれる。
【００４１】
具体的には、データベース内のファイルサイズは同じであり得る。ファイルが同じであるかどうかは、ファイルサイズを比較することにより、又は、ファイルのページ量を比較することにより、又はより具体的には、ファイルのページバージョン情報を比較することにより判定され得る。
【００４２】
ファイル情報がファイルサイズであるとき、第１のページ構造ファイルのファイル情報を、第２のページ構造ファイルのファイル情報と比較することは、具体的には、第１のページ構造ファイルのファイルサイズを、第２のページ構造ファイルのファイルサイズと比較することである。例えば、アクティブノードデータベース内のファイルのサイズ、及び、スタンバイノードデータベース内のファイルのサイズが同じである（例えば、両方が８ｋである）とき、２つのファイルは同じと考えられ得る。この事例では、スタンバイノードデータベース内のファイルは、修正されることにならない。アクティブノードデータベース内のファイルのサイズ、及び、スタンバイノードデータベース内のファイルのサイズが異なるとき、２つのファイルは異なると考えられることができ、スタンバイノードデータベース内の対応するファイルは、アクティブノードデータベース内のファイルによって置換され得る。すなわち、スタンバイノードデータベース内の対応するファイルのすべてのページは、アクティブノードデータベース内のファイルのすべてのページによって置換される。
【００４３】
ファイル情報がページ量であるとき、第１のページ構造ファイルのファイル情報を、第２のページ構造ファイルのファイル情報と比較することは、具体的には、第１のページ構造ファイルのページ量を、第２のページ構造ファイルのページ量と比較することである。例えば、アクティブノードデータベース内のファイルのページ量、及び、スタンバイノードデータベース内のファイルのページ量が同じである（例えば、アクティブノードデータベース内の第１のファイルは６つのページを含み、スタンバイノードデータベース内の第２のファイルは６つのページを含み、第１のファイル及び第２のファイルの位置は、２つのデータベース内で同じである）とき、２つのファイルは同じと考えられ得る。この事例では、スタンバイノードデータベース内のファイルは、修正されることにならない。アクティブノードデータベース内のファイルのページ量、及び、スタンバイノードデータベース内のファイルのページ量が異なるとき、２つのファイルは異なると考えられることができ、スタンバイノードデータベース内のファイルは、アクティブノードデータベース内のファイルによって置換され得る。すなわち、スタンバイノードデータベース内のファイルのすべてのページは、アクティブノードデータベース内のすべてのページによって置換される。
【００４４】
ファイル情報がページバージョン情報であるとき、第１のページ構造ファイルのファイル情報を、第２のページ構造ファイルのファイル情報と比較することは、具体的には、第１のページ構造ファイルのページバージョン情報を、第２のページ構造ファイルのページバージョン情報と比較することである。アクティブノードデータベース内のページ構造ファイルの各々のページのページバージョン情報が、スタンバイノードデータベース内の対応する位置でのページ構造ファイルの各々のページのページバージョン情報と比較され得る。アクティブノードデータベース内のファイルの各々のページのバージョン情報が、対応するスタンバイノードデータベース内のファイルの各々のページのバージョン情報と同じであるとき、２つのファイルは同じと考えられ得る。この事例では、スタンバイノードデータベース内のファイルは、修正されることにならない。アクティブノードデータベース内のファイルのページのバージョン情報が、対応するスタンバイノードデータベース内のファイルのページのバージョン情報と異なるとき、スタンバイノードデータベース内のページは、アクティブノードデータベース内のページによって置換され得る。異なるページに対して、ページ量が同じであるとき、スタンバイノードデータベース内のページは、アクティブノードデータベース内のページによって置換され得るということが理解されるべきである。ページ量が異なるとき、例えば、アクティブノードデータベース内のページが、スタンバイノードデータベース内の対応するページを有していないとき、アクティブノードデータベース内のページは、スタンバイノードデータベース内の対応する位置に複製され得る。この事例はさらに、本発明の保護範囲内に含まれる。
【００４５】
ファイル情報の上述の３つのタイプ、ファイルサイズ、ファイルのページ量、及びファイルのページバージョン情報は、ランダムに組み合わされて、アクティブノードデータベース内のページ構造ファイルが、対応するスタンバイノードデータベース内のページ構造ファイルと同じであるかどうかを判定し得ることが理解されるべきである。詳細は、本明細書では１つずつ更に説明されない。
【００４６】
第１のページ構造ファイルのファイル情報が、第２のページ構造ファイルのファイル情報と同じであるとき、第１のページ構造ファイルの内容は、第２のページ構造ファイルの内容と同じと考えられ得る。第１のページ構造ファイルのファイル情報が、第２のページ構造ファイルのファイル情報と異なるとき、第１のページ構造ファイルの内容は、第２のページ構造ファイルの内容と異なると考えられ得る。
【００４７】
スタンバイノードデータベースを、ファイル情報が同じであるかどうかの比較結果によって再構築することは、ファイル情報が同じであるかどうかの比較結果が、第１のページ構造ファイルのファイル情報は第２のページ構造ファイルのファイル情報と異なるというものであるとき、第２のページ構造ファイルを、第１のページ構造ファイルによって置換することを含む。
【００４８】
ファイル情報が同じであるかどうかの比較結果が、第１のページ構造ファイルのファイル情報は第２のページ構造ファイルのファイル情報と同じであるというものであるとき、第２のページ構造ファイルは修正されることにならず、すなわち、スタンバイノードデータベース内の第２のページ構造ファイルは保持される。第２のファイルを第１のファイルによって置換することは、第１のファイルを全体的に複製することと、第２のファイルの全体の内容を、第１のファイルの全体の内容によって置換することとであり得る。第１のファイルのページ量が、第２のファイルのページ量と異なるとき、ファイルの全体の置換が、同じように遂行され得る。
【００４９】
第２のファイルを第１のファイルによって置換することは、第１のファイルの第１のページを、第２のファイルの第１のページと比較することを更に含み得る。第１のファイルの第１のページが、第２のファイルの第１のページと同じであるとき、第２のファイルの第１のページは、修正されることにならない。第１のファイルの第１のページが、第２のファイルの第１のページと異なるとき、第２のファイルの第１のページは、第１のファイルの第１のページによって置換される。第１のファイルの各々のページは、第２のファイルの各々のページと比較され、その結果、ページが同じであるときにページは複製されず、したがって、スタンバイノードデータベースを再構築することのネットワークリソース消費は低減されることができる。
【００５０】
具体的には、第１のファイルの第１のページは、アクティブノードデータベース内のデータファイルのページ構造ファイルのページである。第２のファイルの第１のページは、スタンバイノードデータベース内のページ構造ファイルのページである。第１のファイルの第１のページの位置、及び、第２のファイルの第１のページの位置は、２つのデータベース内のデータファイル内で同じである。データベース内のデータファイルは、少なくとも１つのファイルを含み、データファイルは、ページ構造ファイル又は非ページ構造ファイルであり得る。ページ構造ファイルは、ページを最も小さい単位として使用することにより記憶及び管理される。ページ構造ファイルのページは、バージョン情報を含む。一般的にはバージョン情報は、ページ変更履歴での位置又は時間識別子である。バージョン情報は、ページの更新とともに徐々に増大し得る。一般的には、ページのバージョン情報が同じであるならば、ページの内容は同じと考えられ得る。ページのバージョン情報が異なるならば、ページの内容は異なると考えられ得る。第１のファイルの第１のページの内容が、第２のファイルの第１のページの内容と異なるとき、第２のファイルの第１のページは、第１のファイルの第１のページによって置換され得る。例えば、アクティブノード内のファイルの第１のページは、第２のファイルの第１のページを置換するために複製され得る。第１のファイルの第１のページの内容が、第２のファイルの第１のページの内容と同じであるとき、第２のファイルの第１のページは、修正されなくてよく、すなわち、第２のファイルの第１のページは、アクティブノード内のファイルの第１のページによって置換されなくてよい。
【００５１】
例えば、アクティブノードデータベース内のファイルのページのバージョン番号が、対応するスタンバイノードデータベース内の対応するファイルの対応するページのバージョン番号と同じであるとき、スタンバイノードデータベース内のファイルのページは、修正されることにならない。アクティブノードデータベース内のファイルのページのバージョン番号が、対応するスタンバイノードデータベース内の対応するファイルの対応するページのバージョン番号と異なるとき、スタンバイノードデータベース内のファイルのページは、アクティブノードデータベース内のファイルのページによって置換される。
【００５２】
ページが同じであるかどうかを判定することは、本発明のこの実施形態では限定されない。例えば、ページが同じであるかどうかは、ページのバージョン番号を使用することにより判定され得る。しかしながら本発明は、それに限定されない。
【００５３】
本発明のこの実施形態での置換することは、追加すること又は削除することを更に含み得るということが理解されるべきである。スタンバイノードデータベースが第２のファイルを含まない（例えば、２ノードクラスタホットバックアップのプロセスで、スタンバイノードは、アクティブノードに追従できず、アクティブノード内の第１のファイルを複製しない）とき、第１のファイルが、スタンバイノードデータベース内にあるとともに、アクティブノードデータベース内の第１のファイルに対応している位置に追加される。スタンバイノードデータベースが、アクティブノードデータベースより多くのファイルを含むとき、余分なファイルが削除される。上述の事例はすべて、本発明のこの実施形態での適用範囲の範囲内に含まれる。
【００５４】
本発明のこの実施形態では、スタンバイノードデータベースは、増分バックアップ方式で再構築される。スタンバイノードデータベースは、データファイルのページ構造ファイルのファイル情報を比較することにより再構築され、アクティブノードデータベース内の、及びスタンバイノードデータベース内の、変更されたファイルのみが、複製されることを必要とし、同じファイルは、複製されることを必要としない。したがって、スタンバイノードデータベースを再構築するための時間が短縮されることができ、ネットワークリソース消費が低減されることができる。
【００５５】
本発明のこの実施形態では、スタンバイノードデータベースは、増分バックアップ方式で再構築される。アクティブノードデータベースはもはや、すべてのデータをスタンバイノードデータベースに送信する必要はなく、その結果、スタンバイノードデータベースを再構築するための時間が短縮され、アクティブノードに関するネットワークリソース消費が、更に低減されることができる。
【００５６】
任意選択により、本発明の実施形態では、ページバージョン情報は、下記の情報、すなわち、ログファイル位置及び論理システムタイムスタンプのうちの少なくとも１つを含み得る。
【００５７】
任意選択により、本発明の実施形態では、スタンバイノードデータベースが、ファイル情報が同じであるかどうかの比較結果によって再構築される前に、方法は、アクティブノードデータベースが複製関係をサポートし、スタンバイノードデータベースのプロセスが正常にディスエーブルされると判定することを更に含む。
【００５８】
任意選択により、本発明の実施形態では、アクティブノードデータベースが複製関係をサポートしないか、又は、スタンバイノードデータベースのプロセスが異常にディスエーブルされるとき、スタンバイノードデータベース内のデータファイルは、アクティブノードデータベース内のデータファイルにより上書きされる。
【００５９】
スタンバイノードデータベースが再構築される前に、アクティブノードデータベースが複製関係をサポートするかどうかが判定され得る。スタンバイノードデータベースが再構築される前に、スタンバイノードデータベースのプロセスが正常にディスエーブルされるかどうかが、更に判定され得る。アクティブノードデータベースが複製関係をサポートするとき、又は、スタンバイノードデータベースのプロセスが正常にディスエーブルされるとき、スタンバイノードデータベースは、第１のページ構造ファイルのファイル情報と、第２のページ構造ファイルのファイル情報とによって再構築されることができ、その結果、スタンバイノードデータベースを再構築することの正確性が改善されることができる。アクティブノードデータベースが複製関係をサポートし、スタンバイノードデータベースが正常にディスエーブルされるとき、スタンバイノードデータベースを再構築することの正確性は、スタンバイノードデータベースを、第１のページ構造ファイルのファイル情報と、第２のページ構造ファイルのファイル情報とによって再構築することにより、更に改善され得る。アクティブノードデータベースが複製関係をサポートしないか、又は、スタンバイノードデータベースのプロセスが異常にディスエーブルされるとき、スタンバイノードデータベースは、フルバックアップ方式で再構築される。スタンバイノードデータベース内のデータファイルは、アクティブノードデータベース内のデータファイルにより上書きされ、スタンバイノードデータベース内のログファイルは、アクティブノードデータベース内のログファイルにより上書きされる。
【００６０】
アクティブノードデータベースが、ノーロギング（Nologging）モードをイネーブルするか、又は、スタンバイノードデータベース内のデータファイルが、アクティブノードデータベースからのものでないとき、アクティブノードデータベースは、複製関係をサポートしない。スタンバイノードデータベース内のデータファイルが、アクティブノードデータベースからのものでないならば、スタンバイノードデータベースはアクティブノードデータベースとマッチングせず、したがって、アクティブノードデータベースは複製関係をサポートしないと考えられ得る。例えば、アクティブノードデータベースの識別子は、スタンバイノードデータベースの識別子と一致しない。
【００６１】
どのように、アクティブノードデータベースが複製関係をサポートしないと判定するかは、本発明のこの実施形態では限定されないということが理解されるべきである。例えば、アクティブノードデータベースがスタンバイノードデータベースとマッチングしないとき、アクティブノードデータベースは複製関係をサポートしないと考えられ得る。
【００６２】
アクティブノードデータベースは、Nologgingモードをイネーブルして、アプリケーションデータベースをアップグレードし得る。したがって、スタンバイノードデータベースは、アクティブノードデータベースが修正されるかどうか、又は、どの修正がアクティブノードデータベースに対して行われるかを知得することができない。この事例では、スタンバイノードデータベースは、増分バックアップ方式で再構築されることができない。アクティブノードデータベースが一旦Nologgingモードをイネーブルしたならば、アクティブノードデータベースは複製関係をサポートしないと考えられ得る。
【００６３】
アクティブノードデータベースが複製関係をサポートしないとき、スタンバイノードデータベースは、増分バックアップ方式で再構築されることができず、フルバックアップ方式で再構築されることを必要とする。アクティブノードデータベース内のすべてのデータファイル及びすべてのログファイルは、スタンバイノードデータベースに複製され、すなわち、スタンバイノードデータベース内のデータファイルは、アクティブノードデータベース内のデータファイルにより上書きされ、スタンバイノードデータベース内のログファイルは、アクティブノードデータベース内のログファイルにより上書きされる。
【００６４】
スタンバイノードデータベースは、制御ファイルを更に含み、スタンバイノードデータベース内の制御ファイルは、スタンバイノードデータベースのステータス情報を記録し得る。スタンバイノードデータベースは、ステータス情報によって、スタンバイノードデータベースが正常にディスエーブルされるかどうかを知得し得る。どのように、スタンバイノードデータベースが正常にディスエーブルされるかどうかを判定するかは、本発明のこの実施形態では限定されない。
【００６５】
スタンバイノードデータベースのプロセスが異常にディスエーブルされるとき、部分書き込み（partial  write）ページが存在することができ、この事例では、アクティブノードデータベース内のページの内容、及び、対応するスタンバイノードデータベース内のページの内容が同じであるかどうかは、ページバージョン情報を比較することにより判定されることができない。したがって、スタンバイノードデータベースのプロセスが異常にディスエーブルされるとき、スタンバイノードデータベースは、増分バックアップ方式で再構築されることができず、フルバックアップ方式で再構築されることを必要とする。アクティブノードデータベース内のすべてのデータファイル及びすべてのログファイルは、スタンバイノードデータベースに複製され、すなわち、スタンバイノードデータベース内のデータファイルは、アクティブノードデータベース内のデータファイルにより上書きされ、スタンバイノードデータベース内のログファイルは、アクティブノードデータベース内のログファイルにより上書きされる。
【００６６】
２つの判定するステップ、アクティブノードデータベースが複製関係をサポートするかどうか、及び、スタンバイノードデータベースが正常にディスエーブルされるかどうかの順序は、交換され得る。アクティブノードデータベースが複製関係をサポートするかどうかを判定すること、及び、スタンバイノードデータベースが正常にディスエーブルされるかどうかを判定することの順序は、本発明のこの実施形態では限定されない。アクティブノードデータベースが複製関係をサポートしないか、又は、スタンバイノードデータベースのプロセスが異常にディスエーブルされるとき、スタンバイノードデータベースは、フルバックアップ方式で再構築され得る。アクティブノードデータベースが複製関係をサポートするとき、又は、スタンバイノードデータベースが正常にディスエーブルされるとき、又は、アクティブノードデータベースが複製関係をサポートし、スタンバイノードデータベースが正常にディスエーブルされるとき、スタンバイノードデータベースは、増分バックアップ方式で再構築され得る。
【００６７】
アクティブノードデータベース内の、又はスタンバイノードデータベース内のデータファイルは、ページ構造ファイル及び非ページ構造ファイルの両方を含み得る。データファイルの非ページ構造ファイルに対して、スタンバイノードデータベースは、ページバージョン情報を比較することにより再構築されることができず、対応するスタンバイノードデータベース内のデータファイルの対応する位置の非ページ構造ファイルを、アクティブノードデータベース内のデータファイルの非ページ構造ファイルによって直接置換することにより再構築されることができる。
【００６８】
任意選択により、本発明の実施形態では、アクティブノードデータベース内のデータファイルが非ページ構造ファイルを含むとき、スタンバイノードデータベース内のデータファイルの非ページ構造ファイルは、アクティブノードデータベース内のデータファイルの非ページ構造ファイルによって置換される。アクティブノードデータベースは、ログファイルを更に含む。スタンバイノードデータベースの再構築の間に、スタンバイノードデータベース内のログファイルは、アクティブノードデータベース内のログファイルによって置換され得る。
【００６９】
本発明のこの実施形態では、スタンバイノードデータベースを再構築するための高性能方法が提供される。アクティブノードデータベース内のデータファイルの第１のページ構造ファイルのファイル情報が、スタンバイノードデータベース内のデータファイルの第２のページ構造ファイルのファイル情報と比較される。第１のページ構造ファイルのファイル情報が、第２のページ構造ファイルのファイル情報と同じであるとき、２つのファイル情報の内容は同じと考えられることができ、スタンバイノードデータベース内のデータファイルのページ構造ファイルのページは修正されず、それにより、送信されることを必要とするデータ量を低減し、その結果、スタンバイノードデータベースを再構築するための時間が短縮されることができ、データベースシステムの可用性が改善され、スタンバイノードデータベースの再構築性能が更に高められることができる。
【００７０】
スタンバイノードデータベースの再構築の間に、アクティブノードデータベース内の両方の部分、データファイル及びログファイルが完全に複製されるとき、それは、スタンバイノードデータベースが完全に再構築されたということを示す。ログファイルは、構造化照会言語（Structured  Query  Language、ＳＱＬ）の実行記録を毎回トラッキングして、データベースの更新動作を記録する。ログファイルは、データベース内のすべてのトランザクションを復元するために必要である情報を含む。
【００７１】
スタンバイノードデータベースが完全に再構築されるとき、スタンバイノードデータベースはスタートアップされることができ、アクティブノードデータベースとスタンバイノードデータベースとの間の複製関係が再び確立され、データベースの２ノードクラスタホットバックアップのような通信プロセスを継続する。
【００７２】
図２は、本発明の別の実施形態による、スタンバイノードデータベースを再構築するための方法の概略フローチャートである。
【００７３】
ステップ２０１：スタンバイノードデータベースのプロセスをディスエーブルし、スタンバイノードデータベースを再構築することを開始する。
【００７４】
データベースの２ノードクラスタホットバックアップのプロセスでは、アクティブノードデータベースにより記憶されるログファイルが限られる。スタンバイノードデータベースの複製スピードが過度に低速であるか、スタンバイノードデータベースの再実行が過度に低速であるか、ネットワークに障害が発生しているか、又は類することのとき、スタンバイノードデータベースは、要求されるログファイルをアクティブノードデータベースから複製できない。この事例では、ログストリーム複製機構は停止し、スタンバイノードデータベースは、再構築されることを必要とする。最初に、スタンバイノードデータベースのプロセスが、データベースを再構築することを開始するためにディスエーブルされる。
【００７５】
ステップ２０２：アクティブノードデータベースが複製関係をサポートするかどうかを判定する。
【００７６】
アクティブノードデータベースが複製関係をサポートしないということは、アクティブノードデータベースが一旦Nologgingモードをイネーブルしたということ、及びスタンバイノードデータベースはアクティブノードデータベースとマッチングしないということを含む。アクティブノードデータベースは、Nologgingモードをイネーブルして、アプリケーションデータベースをアップグレードし得る。したがって、スタンバイノードデータベースは、アクティブノードデータベースが修正されるかどうか、又は、どの修正がアクティブノードデータベースに対して行われるかを知得することができない。この事例では、スタンバイノードデータベースは、増分バックアップ方式で再構築されることができない。アクティブノードデータベースが一旦Nologgingモードをイネーブルしたならば、アクティブノードデータベースは複製関係をサポートしないと考えられ得る。加えてアクティブノードデータベースは、スタンバイノードデータベースとマッチングしないことがあり、例えば、スタンバイノードデータベース内のデータがアクティブノードデータベースからのものでないか、又は、アクティブノードデータベースの識別子がスタンバイノードデータベースの識別子（例えば、ＩＤ）と一致しない。
【００７７】
ステップ２０３：スタンバイノードデータベースをフルバックアップ方式で再構築する。
【００７８】
ステップ２０２の判定結果が、アクティブノードデータベースが複製関係をサポートしないというものであるとき、スタンバイノードデータベースは、増分バックアップ方式で再構築されることができず、スタンバイノードデータベースは、フルバックアップ方式で再構築されることができる。アクティブノードデータベース内のすべてのデータファイル及びすべてのログファイルが、スタンバイノードデータベース内の対応する位置で、スタンバイノードデータベースを再構築するために置換され得る。
【００７９】
ステップ２０４：スタンバイノードデータベースのプロセスが正常にディスエーブルされるかどうかを判定する。
【００８０】
ステップ２０２の判定結果が、アクティブノードデータベースが複製関係をサポートするというものであるとき、継続してスタンバイノードデータベースのプロセスが正常にディスエーブルされるかどうかが判定される。
【００８１】
２つの判定するステップ、ステップ２０２及びステップ２０４の順序は、交換され得る。アクティブノードデータベースが複製関係をサポートするかどうかを判定すること、及び、スタンバイノードデータベースのプロセスが正常にディスエーブルされるかどうかを判定することの順序は、本発明のこの実施形態では限定されない。例えば、スタンバイノードデータベースのプロセスが正常にディスエーブルされるかどうかが、最初に判定され得る。判定結果が、スタンバイノードデータベースのプロセスが正常にディスエーブルされるというものであるとき、継続してアクティブノードデータベースが複製関係をサポートするかどうかが判定される。判定結果が、スタンバイノードデータベースのプロセスが異常にディスエーブルされるというものであるとき、スタンバイノードデータベースは、フルバックアップ方式で再構築される。すなわち、スタンバイノードデータベースの対応する位置でのデータファイル及びログファイルが、アクティブノードデータベース内のデータファイル及びログファイルによって置換されるか、又は、スタンバイノードデータベースのプロセスが正常にディスエーブルされるかどうか、及びアクティブノードデータベースが複製関係をサポートするかどうかを更に判定するために、スタンバイノードデータベースが再びスタートアップされ、次いで、スタンバイノードデータベースのプロセスが正常にディスエーブルされる。
【００８２】
ステップ２０５：スタンバイノードデータベースをフルバックアップ方式で再構築する。
【００８３】
スタンバイノードデータベースのプロセスが異常にディスエーブルされるとき、部分書き込み（partial  write）ページが存在することができ、この事例では、アクティブノードデータベース内のデータファイルのページ構造ファイルの内容が、スタンバイノードデータベース内のデータファイルのページ構造ファイルの対応する位置でのファイルの内容と同じであるかどうかは、ファイル情報を比較することにより判定されることができない。したがって、ステップ２０４の判定結果が、スタンバイノードデータベースのプロセスが異常にディスエーブルされるというものであるとき、スタンバイノードデータベースは、フルバックアップ方式で再構築される。すなわち、スタンバイノードデータベース内のデータファイルが、アクティブノードデータベース内のデータファイルによって置換され、スタンバイノードデータベース内のログファイルが、アクティブノードデータベース内のログファイルによって置換される。
【００８４】
ステップ２０６：スタンバイノードデータベースを再びスタートアップし、スタンバイノードデータベースのプロセスを正常にディスエーブルする。
【００８５】
ステップ２０４の判定結果が、スタンバイノードデータベースのプロセスが異常にディスエーブルされるというものであるとき、スタンバイノードデータベースは再びスタートアップされることができ、次いで、後続のプロセスを継続して実行するように、再びステップ２０２に更に戻って、アクティブノードデータベースが複製関係をサポートするかどうかを判定するために、スタンバイノードデータベースのプロセスは正常にディスエーブルされる。
【００８６】
ステップ２０５及びステップ２０６は、ステップ２０４の判定結果が、スタンバイノードデータベースのプロセスが異常にディスエーブルされるというものであるときに採用される異なる方法である。スタンバイノードデータベースのプロセスが異常にディスエーブルされるとき、ステップ２０５及びステップ２０６は同時に遂行されるのではなく、ステップ２０５又はステップ２０６が遂行され得る。
【００８７】
ステップ２０７：スタンバイノードデータベースがアクティブノードデータベースに接続する。
【００８８】
スタンバイノードデータベースは、データファイル及びログファイルの２つの複製手続をイネーブルして、スタンバイノードデータベースを再構築するために、アクティブノードデータベースに接続される。下記では、ログファイルの再構築手続がステップ２０８からイネーブルされ、データファイルの再構築手続がステップ２０９からイネーブルされる。
【００８９】
データファイル及びログファイルの２つの再構築手続は、同時に遂行され、互いに干渉しないということが理解されるべきである。ステップ２０８でのログファイルの再構築は常に、全体のスタンバイノードデータベースが完全に再構築されるまで、アクティブノードデータベース内のログファイルを使用することによりスタンバイノードデータベース内のログファイルを上書きするように、遂行され得る。例えば、アクティブノードデータベース内のログファイルは、スタンバイノードデータベース内のログファイルを置換するために、スタンバイノードデータベースに複製される。
【００９０】
ステップ２０８：ログファイルを再構築する。
【００９１】
ログファイルを再構築することは、スタンバイノードデータベース内のログファイルを、アクティブノードデータベース内のログファイルを使用することにより上書きすることである。
【００９２】
ステップ２０９：再構築されることになるデータファイルが存在するかどうかを判定する。
【００９３】
データベース内のデータファイルは、少なくとも１つのファイルを含む。ステップ２０９の判定結果が、再構築されることになるページが存在するというものであるとき、すべての現在のデータファイルがトラバースされ、継続して別のファイルを再構築するために、継続してステップ２１０が遂行される。別のファイルが継続して修正されないか、又は、スタンバイノードデータベース内の対応するファイルがアクティブノードデータベース内のファイルによって置換される。ステップ２０９の判定結果が、再構築されることになるデータファイルが存在せず、すなわち、アクティブノードデータベース内のすべてのデータファイルが完全に再構築されたというものであるとき、次いでステップ２１５が、全体の手続を終了するために遂行される。
【００９４】
ステップ２１０：第１のファイルがページ構造ファイルであるかどうかを判定する。
【００９５】
ステップ２０９の判定結果が、スタンバイノードデータベース内で再構築されることになるデータファイルが、アクティブノードデータベース内に存在するというものであるとき、第１のファイルがページ構造ファイルであるかどうかを判定するためにステップ２１０が遂行され、第１のファイルは、アクティブノードデータベース内のデータファイルの任意のファイルであり得る。
【００９６】
ステップ２１１：ファイル情報が同じであるかどうかを判定する。
【００９７】
ステップ２１０の判定結果が、第１のファイルがページ構造ファイルであるというものであるとき、ファイル情報が同じであるかどうかを判定するためにステップ２１１が遂行される。第２のファイルは、スタンバイノードデータベース内にあり、アクティブノードデータベース内の第１のファイルに対応しているファイルであるということが想定され、ステップ２１１は、第１のファイルのファイル情報が、第２のファイルのファイル情報と同じであるかどうかを判定するために遂行される。
【００９８】
どのように、ファイル情報を比較して、ファイル内容が同じであるかどうかを判定するかは、本発明のこの実施形態では限定されない。本発明のこの実施形態でのファイル情報は、ファイルサイズ、ファイルのページ量、又は、ファイルのページバージョン情報であり得る。ファイル情報は、さらに、他の関連性のある情報であることができ、本発明のこの実施形態は、それらに限定されない。
【００９９】
ステップ２１２：第２のファイルを修正することをスキップする。
【０１００】
ステップ２１１の判定結果が、第１のファイルのファイル情報は、第２のファイルのファイル情報と同じであるというものであるとき、第１のファイルのファイル内容は、第２のファイルのファイル内容と同じと考えられ得る。この事例では、第２のファイルは修正されなくてよい。すなわち第２のファイルは、スタンバイノードデータベース内で保持される。
【０１０１】
ステップ２１１の後、再構築されることになるファイルが存在するかどうかを判定するためにステップ２０９が遂行される。
【０１０２】
ステップ２１３：第２のファイルを第１のファイルによって置換する。
【０１０３】
ステップ２１１の判定結果が、第１のファイルのファイル情報は第２のファイルのファイル情報と異なるというものであるとき、第１のファイルのファイル内容は、第２のファイルのファイル内容と異なると考えられ得る。この事例では、第２のファイルは、第１のファイルによって置換され得る。
【０１０４】
第２のファイルを第１のファイルによって置換することは、第１のファイルを全体的に複製することと、第２のファイルの全体の内容を、第１のファイルの全体の内容によって置換することとであり得るということが理解されるべきである。
【０１０５】
第２のファイルを第１のファイルによって置換することは、第１のファイルの第１のページを、第２のファイルの第１のページと比較することを更に含み得る。第１のファイルの第１のページが、第２のファイルの第１のページと同じであるとき、第２のファイルの第１のページは、修正されることにならない。第１のファイルの第１のページが、第２のファイルの第１のページと異なるとき、第２のファイルの第１のページは、第１のファイルの第１のページによって置換される。第１のファイルの各々のページは、第２のファイルの各々のページと比較され、その結果、ページが同じであるときにページは複製されず、したがって、スタンバイノードデータベースを再構築することのネットワークリソース消費は低減されることができる。
【０１０６】
置換することは、追加すること又は削除することを更に含むということが理解されるべきである。例えば、第１のファイルの内容が、第２のファイルのそれと異なるとき、第２のファイルは、第１のファイルによって置換され得る。スタンバイノードデータベースが第２のファイルを含まない（例えば、２ノードクラスタホットバックアップのプロセスで、スタンバイノードは、アクティブノードに追従できず、アクティブノード内の第１のファイルを複製しない）とき、第１のファイルが、スタンバイノードデータベース内にあるとともに、アクティブノードデータベース内の第１のファイルに対応している位置に追加される。スタンバイノードデータベースが、アクティブノードデータベースより多くのファイルを含むとき、余分なファイルが削除される。上述の事例はすべて、本発明のこの実施形態での適用範囲の範囲内に含まれる。
【０１０７】
ステップ２１３の後、再構築されることになるファイルが存在するかどうかを判定するためにステップ２０９が遂行される。
【０１０８】
ステップ２１４：第１のファイルをスタンバイノードデータベースに複製する。
【０１０９】
判定するステップ２１０から、第１のファイルが非ページ構造ファイルであるということが取得されるとき、第１のファイルは、スタンバイノードデータベースの対応する位置に複製される。
【０１１０】
ステップ２１５：終了。
【０１１１】
ステップ２０９の判定結果が、再構築されることになるデータファイルが存在しないというものであり、ステップ２０８が完了されるとき、ステップ２１５が、全体の手続を終了するために遂行される。
【０１１２】
手続がステップ２１５に進行するとき、それは、スタンバイノードデータベースを再構築することの全体のプロセスが完了されるということを示す。
【０１１３】
図３は、本発明の実施形態による、スタンバイノードデータベースを、アクティブノードデータベースのページバージョン情報と、スタンバイノードデータベースのページバージョン情報とに基づいて再構築することの概略線図である。
【０１１４】
図３では、３０１は、アクティブノードデータベース内のデータファイルのページ構造ファイルであり、３０２は、元のスタンバイノードデータベース内のデータファイルのページ構造ファイルであり、３０３は、再構築されたスタンバイノードデータベース内のデータファイルのページ構造ファイルである。１つの小さい矩形グリッドは１つのページを示し、連続的に接続されるページは１つのファイルを示す。例えば、図での３０１−１、３０１−２、３０２−１、３０２−２、３０３−１、及び３０３−２の各々は、１つのページを示す。３０１−１、３０１−２、及び後に続く２つの連続的な小さいグリッドは、１つのファイルを示す。３０１及び３０２での小さい空白グリッドは、アクティブノードデータベース内のデータファイルの同じ位置のページバージョン情報が、スタンバイノードデータベース内のデータファイルの同じ位置のページバージョン情報と同じであるということを示す。例えば、図３では、ページ３０１−１のバージョン情報は、ページ３０２−１のそれと同じである。３０１及び３０２での小さい影グリッドは、アクティブノードデータベース内のデータファイルの同じ位置のページバージョン情報が、スタンバイノードデータベース内のデータファイルの同じ位置のページバージョン情報と異なるということを示す。例えば、図３では、ページ３０１−２のバージョン情報は、ページ３０２−２のそれと異なる。
【０１１５】
図３では、３０１でのファイルは、３０２での対応する位置でのファイルに対応する。３０１での各々のファイルは、３０２での各々のファイルに対応する。例えば、３０１での第１の行は２つのファイルを含み、第１のファイルは４つのページを含み、第２のファイルは２つのページを含む。第２の行は７ページファイルを含み、第３の行は、２ページファイルと４ページファイルとを含む。３０２での各々のファイルは、３０１での各々のファイルに対応する。
【０１１６】
図３では、３０１での各々のファイルの各々のページは、３０２での各々のファイルの各々のページに対応する。例えば、ページ３０１−１は、ページ３０２−１に対応する。
【０１１７】
本発明のこの実施形態では、スタンバイノードデータベースは、アクティブノードデータベース内のデータファイルのものであるとともに、スタンバイノードデータベース内のデータファイルのものである、同じ位置のページバージョン情報を比較することにより再構築され得る。アクティブノードデータベース内のデータファイルのものであるとともに、スタンバイノードデータベース内のデータファイルのものである、同じ位置のページバージョン情報が同じであるならば、ページの主要内容は同じと考えられ得る。スタンバイノードデータベースの再構築の間に、ページは、処理されることを必要とせず、すなわち、ページは処理されない。アクティブノードデータベース内のデータファイルのものであるとともに、スタンバイノードデータベース内のデータファイルのものである、同じ位置のページバージョン情報が異なるならば、ページの主要内容は異なると考えられ得る。スタンバイノードデータベースの再構築の間に、スタンバイノードデータベース内のデータファイルのページは、アクティブノードデータベース内のデータファイルのページによって置換され得る。
【０１１８】
例えば、ページ３０１−１のバージョン情報を、ページ３０２−１のバージョン情報と比較することにより、ページ３０１−１のバージョン情報はページ３０２−１のバージョン情報と同じであるということが取得され得る。スタンバイノードデータベースは、ページ３０１−１を複製してページ３０２−１を置換することをせず、ページ３０２−１を処理しない。すなわちページ３０２−１は、スタンバイノードデータベース内のデータファイル内で保持され、ページ３０２−１は、再構築されたスタンバイノードデータベース内のページ構造ファイルのページ３０３−１として使用される。ページ３０１−２のバージョン情報を、ページ３０２−２のバージョン情報と比較することにより、ページ３０１−２のバージョン情報はページ３０２−２のバージョン情報と異なるということが取得され得る。スタンバイノードデータベースは、ページ３０１−２を使用して、元のスタンバイノードデータベース内のページ構造ファイルのページ３０２−２を上書きする。すなわちページ３０１−２は、再構築されたスタンバイノードデータベース内のページ構造ファイルのページ３０３−２として使用される。
【０１１９】
アクティブノードデータベース内のページ構造ファイルを、対応するスタンバイノードデータベース内のページ構造ファイルと比較するために、ページ構造ファイルの各々のページが、同じようにトラバースされる。ページのバージョン情報が同じであるならば、スタンバイノードデータベース内のデータファイルのページは修正されない。ページのバージョン情報が異なるならば、スタンバイノードデータベース内のデータファイルのページは、アクティブノードデータベース内のデータファイルのページによって置換される。
【０１２０】
アクティブノードデータベース内のデータファイルが非ページ構造ファイルを含むならば、スタンバイノードデータベース内のデータファイルの非ページ構造ファイルは、非ページ構造ファイルによって置換される。
【０１２１】
最終的にすべてのログファイルが、スタンバイノードデータベースに複製される。すなわち、スタンバイノードデータベース内のログファイルは、アクティブノードデータベース内のログファイルにより上書きされ、その結果、スタンバイノードデータベースは完全に再構築されることができる。
【０１２２】
スタンバイノードデータベースが完全に再構築されるとき、スタンバイノードデータベースはスタートアップされることができ、アクティブノードデータベースとスタンバイノードデータベースとの間の複製関係が再び確立され、データベースの２ノードクラスタホットバックアップのような通信プロセスを継続する。
【０１２３】
図１、図２、及び図３を参照して、上記は、詳細に、スタンバイノードデータベースを再構築するための方法及び原理を説明している。図４及び図５を参照して、下記は、詳細に、スタンバイノードデータベースを再構築するための装置を説明する。
【０１２４】
図４は、本発明の実施形態による、スタンバイノードデータベースを再構築するための装置のブロック線図である。図４での装置４０は、取得ユニット４１と、比較ユニット４２と、再構築ユニット４３とを含む。
【０１２５】
取得ユニット４１は、アクティブノードデータベース内の第１のページ構造ファイルのファイル情報と、スタンバイノードデータベース内の第２のページ構造ファイルのファイル情報とを取得するように構成され、第１のページ構造ファイル及び第２のページ構造ファイルは互いに対応するデータファイルである。
【０１２６】
比較ユニット４２は、取得ユニットにより取得される第１のページ構造ファイルのファイル情報を、取得ユニットにより取得される第２のページ構造ファイルのファイル情報と比較して、ファイル情報が同じであるかどうかの比較結果を取得するように構成される。
【０１２７】
再構築ユニット４３は、スタンバイノードデータベースを、比較ユニットにより取得されるファイル情報が同じであるかどうかの比較結果によって再構築するように構成される。
【０１２８】
本発明のこの実施形態では、スタンバイノードデータベースの再構築の間に、アクティブノードデータベース内の第１のページ構造ファイルのファイル情報、及びスタンバイノードデータベース内の第２のページ構造ファイルのファイル情報が取得され、ファイル情報が同じであるかどうかを判定するために比較され、スタンバイノードデータベースは、比較結果によって再構築され、それにより、大きいデータ量がアクティブノードデータベース内に存在するときにスタンバイノードデータベースがフルバックアップ方式で再構築されることを理由にもたらされる、きわめて高いネットワークリソース消費を回避するとともに、スタンバイノードデータベースを再構築するための時間を短縮する。
【０１２９】
任意選択により、本発明の実施形態では、再構築ユニットは、具体的には、ファイル情報が同じであるかどうかの比較結果が、第１のページ構造ファイルのファイル情報は第２のページ構造ファイルのファイル情報と異なるというものであるとき、第２のページ構造ファイルを、第１のページ構造ファイルによって置換するように構成される。
【０１３０】
任意選択により、本発明の実施形態では、ファイル情報はファイルサイズを含む。比較ユニットは、具体的には、第１のページ構造ファイルのファイルサイズを、第２のページ構造ファイルのファイルサイズと比較するように構成される。
【０１３１】
任意選択により、本発明の実施形態では、比較ユニットにより取得されるファイルサイズの比較結果が異なるとき、再構築ユニットは、具体的には、第２のページ構造ファイル内のすべてのページを、第１のページ構造ファイル内のすべてのページによって置換するように構成される。
【０１３２】
任意選択により、本発明の実施形態では、ファイル情報はページ量を含む。比較ユニットは、具体的には、第１のページ構造ファイルのページ量を、第２のページ構造ファイルのページ量と比較するように構成される。
【０１３３】
任意選択により、本発明の実施形態では、比較ユニットにより取得されるページ量の比較結果が異なるとき、再構築ユニットは、具体的には、第２のページ構造ファイル内のすべてのページを、第１のページ構造ファイル内のすべてのページによって置換するように構成される。
【０１３４】
任意選択により、本発明の実施形態では、比較ユニットにより取得されるファイル情報の比較結果が同じであるとき、再構築ユニットは、具体的には、第１のページ構造ファイル内の各々のページのバージョン情報を、第２のページ構造ファイル内の各々のページのバージョン情報と１つずつ比較するように構成される。異なるページバージョン情報のページに対して、第２のページ構造ファイル内の対応するページが、第１のページ構造ファイル内のページによって置換される。
【０１３５】
任意選択により、本発明の実施形態では、ページバージョン情報は、ログファイル位置又は論理システムタイムスタンプを含む。
【０１３６】
任意選択により、本発明の実施形態では、装置は、再構築ユニットが、スタンバイノードデータベースを、ファイル情報が同じであるかどうかの比較結果によって再構築する前に、アクティブノードデータベースが複製関係をサポートし、スタンバイノードデータベースのプロセスが正常にディスエーブルされると更に判定するように構成される判定ユニットを更に含む。
【０１３７】
任意選択により、本発明の実施形態では、比較ユニットにより取得されるファイル情報が同じであるかどうかの比較結果が同じであり、ページバージョン情報の比較結果もまた同じであるとき、再構築ユニットは、第２のページ構造ファイルを修正することをスキップするように構成される。
【０１３８】
図４での装置４０は、図１、図２、及び図３で示される方法の手続を実行し得る。繰り返しを回避するために、詳細は本明細書で説明されない。
【０１３９】
図５は、本発明の別の実施形態による、スタンバイノードデータベースを再構築するための装置のブロック線図である。装置５０は、プロセッサ５１と、メモリ５２と、バスシステム５３とを含む。プロセッサ５１は、メモリ５２に、バスシステム５３を使用することにより接続され、メモリ５２は、命令を記憶するように構成され、プロセッサ５１は、メモリ５２により記憶される命令とデータとを実行するように構成される。メモリ５２の部分は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ、Non−Volatile  Random  Access  Memory）を更に含み得る。装置のすべての構成要素は、一体に、バスシステム５３を使用することにより結合され、データバスに加えて、バスシステム５３は、電力バスと、制御バスと、ステータス信号バスとを含む。しかしながら説明の明瞭性のために、様々なバスは、バスシステム５３として図に印される。
【０１４０】
本発明の上述の実施形態で開示される方法は、プロセッサ５１に適用され得るか、又は、プロセッサ５１により実現され得る。実現プロセスでは、上述の方法でのステップは、プロセッサ５１内のハードウェアの集積論理回路、又は、ソフトウェアの形式での命令を使用することにより完了され得る。プロセッサ５１は、汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ若しくは別のプログラマブル論理デバイス、ディスクリートゲート若しくはトランジスタ論理デバイス、又はディスクリートハードウェア構成要素であることができ、本発明の実施形態で開示される各々の方法、ステップ、及び論理ブロック線図を、実現又は実行し得る。汎用プロセッサは、マイクロプロセッサ、任意の従来型のプロセッサ、又は類するものであり得る。本発明の実施形態を参照して開示される方法のステップは、ハードウェアプロセッサにより直接遂行されることができ、又は、プロセッサ内のハードウェア、及びソフトウェアモジュールの組み合わせを使用することにより遂行され得る。ソフトウェアモジュールは、当分野での成熟した記憶媒体、例えば、ランダムアクセスメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリ、電気的消去可能プログラマブルメモリ、又はレジスタに配置され得る。記憶媒体は、メモリ５２に配置される。プロセッサ５１は、メモリ５２内の情報を読み出し、上述の方法のステップを、プロセッサ５１のハードウェアとの組み合わせで完了する。
【０１４１】
具体的にはプロセッサ５１は、アクティブノードデータベース内の第１のページ構造ファイルのファイル情報と、スタンバイノードデータベース内の第２のページ構造ファイルのファイル情報とを取得することができ、第１のページ構造ファイル及び第２のページ構造ファイルは互いに対応するデータファイルである。プロセッサ５１により取得される第１のページ構造ファイルのファイル情報と、プロセッサ５１により取得される第２のページ構造ファイルのファイル情報が、ファイル情報が同じであるかどうかの比較結果を取得するために比較される。スタンバイノードデータベースは、ファイル情報が同じであるかどうかの比較結果によって再構築される。
【０１４２】
本発明のこの実施形態では、スタンバイノードデータベースの再構築の間に、アクティブノードデータベース内の第１のページ構造ファイルのファイル情報、及びスタンバイノードデータベース内の第２のページ構造ファイルのファイル情報が取得され、ファイル情報が同じであるかどうかを判定するために比較され、スタンバイノードデータベースは、比較結果によって再構築され、それにより、大きいデータ量がアクティブノードデータベース内に存在するときにスタンバイノードデータベースがフルバックアップ方式で再構築されることを理由にもたらされる、きわめて高いネットワークリソース消費を回避するとともに、スタンバイノードデータベースを再構築するための時間を短縮する。
【０１４３】
任意選択により、本発明の実施形態では、プロセッサ５１は、ファイル情報が同じであるかどうかの比較結果が、第１のページ構造ファイルのファイル情報は第２のページ構造ファイルのファイル情報と異なるというものであるとき、第２のページ構造ファイルを、第１のページ構造ファイルによって置換するように構成される。
【０１４４】
任意選択により、本発明の実施形態では、プロセッサ５１は、ファイル情報がファイルサイズを含むとき、第１のページ構造ファイルのファイルサイズを、第２のページ構造ファイルのファイルサイズと比較するように構成される。
【０１４５】
任意選択により、本発明の実施形態では、プロセッサ５１は、プロセッサ５１により取得されるファイルサイズの比較結果が異なるとき、第２のページ構造ファイル内のすべてのページを、第１のページ構造ファイル内のすべてのページによって置換するように構成される。
【０１４６】
任意選択により、本発明の実施形態では、プロセッサ５１は、ファイル情報がページ量を含むとき、第１のページ構造ファイルのページ量を、第２のページ構造ファイルのページ量と比較するように構成される。
【０１４７】
任意選択により、本発明の実施形態では、プロセッサ５１は、プロセッサ５１により取得されるページ量の比較結果が異なるとき、第２のページ構造ファイル内のすべてのページを、第１のページ構造ファイル内のすべてのページによって置換するように構成される。
【０１４８】
任意選択により、本発明の実施形態では、プロセッサ５１は、具体的には、プロセッサ５１により取得されるファイル情報の比較結果が同じであるとき、第１のページ構造ファイル内の各々のページのバージョン情報を、第２のページ構造ファイル内の各々のページのバージョン情報と１つずつ比較するように構成される。異なるページバージョン情報のページに対して、第２のページ構造ファイル内の対応するページが、第１のページ構造ファイル内のページによって置換される。
【０１４９】
任意選択により、本発明の実施形態では、ページバージョン情報は、ログファイル位置又は論理システムタイムスタンプを含む。
【０１５０】
任意選択により、本発明の実施形態では、プロセッサ５１は、プロセッサ５１が、スタンバイノードデータベースを、プロセッサ５１により取得されるファイル情報が同じであるかどうかの比較結果によって再構築する前に、アクティブノードデータベースが複製関係をサポートし、スタンバイノードデータベースのプロセスが正常にディスエーブルされると判定するように構成される。
【０１５１】
任意選択により、本発明の実施形態では、プロセッサ５１は、プロセッサ５１により取得されるファイル情報が同じであるかどうかの比較結果が同じであり、ページバージョン情報の比較結果もまた同じであるとき、第２のページ構造ファイルを修正することをスキップするように構成される。
【０１５２】
装置５０は、上述の方法実施形態のステップを実現し得る。繰り返しを回避するために、詳細は説明されない。
【０１５３】
本明細書全体で述べられる“実施形態”又は“１つの実施形態”は、実施形態に関係付けられる特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれるということを意味するということが理解されるべきである。したがって、本明細書全体であらゆる所に現れる“実施形態で”又は“１つの実施形態で”は、必ずしも、同じ実施形態を指すとは限らないことがある。加えて、これらの特定の特徴、構造、又は特色は、１つ又は複数の実施形態で、任意の適切な方式で組み合わされ得る。
【０１５４】
上述のプロセスの順序番号は、本発明の様々な実施形態での実行順序を意味しないということが理解されるべきである。プロセスの実行順序は、プロセスの機能及び内部論理によって判定されるべきであり、本発明の実施形態の実現プロセスに関する何らかの限定と解釈されるべきではない。
【０１５５】
本発明の実施形態では、“Ａに対応するＢ”は、ＢがＡに関連付けられ、ＢがＡによって判定され得るということを示すということが理解されるべきである。しかしながら、ＡをＢによって判定することは、ＢがＡのみによって判定されるということを意味せず、すなわちＢはまた、Ａ及び／又は他の情報によって判定され得るということが、更に理解されるべきである。
【０１５６】
本明細書での用語“及び／又は”は、単に、関連付けられる対象を説明するための関連付け関係を説明し、３つの関係が存在し得るということを表す。例えば、Ａ及び／又はＢは、下記の３つの事例、すなわち、Ａのみが存在する、Ａ及びＢの両方が存在する、並びに、Ｂのみが存在する、を表し得る。加えて、本明細書での記号“／”は、一般的には、関連付けられる対象の間の“又は”の関係を示す。
【０１５７】
当業者は、本明細書で開示される実施形態で説明される例との組み合わせで、方法ステップ及びユニットが、電子ハードウェア、コンピュータソフトウェア、又は、それらの組み合わせにより実現され得るということに気付き得る。ハードウェアとソフトウェアとの間の交換可能性を明確に説明するために、上述のことは全般的に、各々の実施形態のステップ及び構成物を、機能によって説明している。機能がハードウェアにより遂行されるか、それともソフトウェアにより遂行されるかは、技術的解決策の、個別の用途及び設計制約条件に依存する。当業者は、異なる方法を使用して、説明される機能を各々の個別の用途に対して実現し得るが、その実現が本発明の範囲を越えるものであると考えられるべきではない。
【０１５８】
本明細書で開示される実施形態で説明される方法又はステップは、ハードウェア、プロセッサにより実行されるソフトウェアプログラム、又は、それらの組み合わせにより実現され得る。ソフトウェアプログラムは、ランダムアクセスメモリ（ＲＡＭ）、メモリ、読み出し専用メモリ（ＲＯＭ）、電気的プログラマブルＲＯＭ、電気的消去可能プログラマブルＲＯＭ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、又は、当技術分野で知られる任意の他の形式の記憶媒体内に存在し得る。
【０１５９】
本発明は、添付図面を参照して、及び実施形態との組み合わせで、詳細に説明されているが、本発明はそれらに限定されない。様々な等価な修正又は置換が、当業者により、本発明の本質から逸脱することなく、本発明の実施形態に対して行われることができ、修正又は置換は、本発明の範囲内に含まれるものとする。
【図１】
0006470391.tif 000002
【図２】
0006470391.tif 000003
【図３】
0006470391.tif 000004
【図４】
0006470391.tif 000005
【図５】
0006470391.tif 000006