(57)【要約】【課題】  本発明の課題は、運用システムと複数の待機システムとを有する構成において、引継ぎ情報の整合性をもって待機システムへの切り替えを行うことを目的とする。【解決手段】  上記課題は、運用システムと複数の待機システムとによる構成にて、該運用システムから該待機システムへ切り替える際の引継ぎ情報の整合性を確認するコンピュータ実行可能なプログラムであって、前記運用システムと前記複数の待機システムとで共有される外部共有記憶領域から切り替え用待機システムの待機識別情報を読み出して内部記憶領域に格納し、前記内部記憶領域に格納された前記待機識別情報と自識別情報との一致によって整合性を確認し、前記内部記憶領域に保持している前記引継ぎ情報を用いて、前記運用システムとして動作を開始する運用に切り替えることを実行させることによって達成される。【選択図】  図４
2006202220.tif 000002
【特許請求の範囲】
【請求項１】
運用システムと複数の待機システムとで構成される運用待機システムにて、該運用システムから該複数の待機システムの１つへと切り替える際に引き継がれる引継ぎ情報の整合性を確認する処理をコンピュータに実行させるプログラムであって、該コンピュータに、
前記運用システムと前記複数の待機システムとで共有される外部共有記憶領域から、該外部共有記憶領域に格納されている切り替え用待機システムを識別する待機識別情報を読み出して内部記憶領域に格納する待機識別情報読出手順と、
前記内部記憶領域に格納された前記待機識別情報と自識別情報との一致によって、該引継ぎ情報の整合性を確認する整合性確認手順と、
前記整合性確認手順によって、前記待機識別情報と前記自識別情報との一致により前記引継ぎ情報の整合性を確認した場合、前記内部記憶領域に保持している前記引継ぎ情報を用いて、前記運用システムとして動作を開始する運用切り替え手順とを実行させることを特徴とするコンピュータ実行可能なプログラム。
【請求項２】
前記コンピュータに、
前記整合性確認手順によって、前記待機識別情報と前記自識別情報との不一致により前記引継ぎ情報の不整合を確認した場合、前記内部記憶領域に保持している前記引継ぎ情報を消去する引継ぎ情報消去手順と、
前記外部共有記憶領域から前記引継ぎ情報を読み出す引継ぎ情報読出手順とを実行させることを特徴とする請求項１記載のコンピュータ実行可能なプログラム。
【請求項３】
前記コンピュータに、
前記コンピュータが前記運用システムとして動作する場合、切り替えの優先順位に従って前記待機システムの１つと接続し、接続した該待機システムを識別する前記待機識別情報を前記外部共有記憶領域に書き出す待機識別情報書出手順と、
前記引継ぎ情報の更新に応じて、該引継ぎ情報を前記外部共有記憶領域に書き込むと共に、接続した前記待機システムに該引継ぎ情報を転送する引継ぎ情報更新手順とを実行させることを特徴とする請求項１又は２記載のコンピュータ実行可能なプログラム。
【請求項４】
前記引継ぎ情報更新手順は、前記引継ぎ情報の全て又は該引継ぎ情報を構成する所定情報単位によって、前記外部共有記憶領域と接続した前記待機システムとに送信することを特徴とする請求項３記載のコンピュータ実行可能なプログラム。
【請求項５】
運用システムと複数の待機システムとで構成される運用待機システムにて、該運用システムから該複数の待機システムの１つへと切り替える際に引き継がれる引継ぎ情報の整合性を確認する処理をコンピュータが実行する引継ぎ情報整合性確認方法であって、該コンピュータが、
前記運用システムと前記複数の待機システムとで共有される外部共有記憶領域から、該外部共有記憶領域に格納されている切り替え用待機システムを識別する待機識別情報を読み出す内部記憶領域に格納する待機識別情報読出手順と、
前記内部記憶領域に格納された前記待機識別情報と自識別情報との一致によって、該引継ぎ情報の整合性を確認する整合性確認手順と、
前記整合性確認手順によって、前記待機識別情報と前記自識別情報との一致により前記引継ぎ情報の整合性を確認した場合、前記内部記憶領域に保持している前記引継ぎ情報を用いて、前記運用システムとして動作を開始する運用切り替え手順とを実行することを特徴とする引継ぎ情報整合性確認方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運用システムと複数の待機システムとを有する構成において、引継ぎ情報の整合性をもって待機システムへの切り替えを行うコンピュータ実行可能なプログラム及びその方法に関する。
【背景技術】
【０００２】
近年におけるネットワークを介した情報提供等のサービスの２４時間化、ビジネスのグローバル化に伴ない、企業及び社会にとって重要な情報システムの領域が急速に拡大している。万が一、これらの重要な情報システムに異常が発生し、長時間停止した場合、社会問題に発展することもあり、情報システムの連続稼動を阻害する要因への対策が重要な課題となっている。
【０００３】
このような状況において、通常、実際に業務のために使用される運用システムと、運用システムが保守又は何らかの問題の発生によって停止した場合に切り替え可能な待機システムとが、所定の業務のために備えられている。このような構成において、下記に示すような運用システムから待機システムへ円滑に切り替え可能とする技術が提案されている。
【０００４】
例えば、運用システム又は待機システムの何れとして起動する設定、優先順位、スタンバイ状態これらの情報を設定情報記憶手段で記憶しておき、待機システムが起動した場合に設定情報記憶手段を参照してシステムの移行を行う（例えば、特許文献１）。この技術によって、オペレータの負担を軽減するとともに、所定の情報処理装置に障害が発生した場合においても確実でしかも迅速な起動を行えるようになった。
【０００５】
また、運用システムから待機システムへの切り替えが発生した場合に、ホットスタンバイの待機システムの所在管理ファイルを更新して接続経路を特定する（例えば、特許文献２）。この技術によって、３以上のホストコンピュータにおける柔軟なホットスタンバイの待機システムの運用や切り替え発生時の高速な切り替えを行えるようになった。
【０００６】
更に、運用システム内に待機システムの優先順位テーブルを持ち、障害の場合に優先度の高い待機システムに切り替え、また、切り替えられた待機システムは同様に優先順テーブルを持ち障害時に切り替えを行う（例えば、特許文献３）。この技術によって、疎結合マルチプロセッサシステムで、運用用と待機用の計算機システムから構成されるホットスタンバイシステムにおいて、待機用計算機システムの信頼性を向上させることができるようになった。
【０００７】
また、オンラインデータ処理を行う稼働系処理機能と異常時に同処理を続行する待機系処理機能とを対応付けしておき、障害発生時に稼働系処理機能のない待機系処理機能を選択する（例えば、特許文献４）。この技術によって、電子計算機の障害により稼動系処理機能に対応付けられた待機系処理機能が存在しなくなった場合に、操作員の操作なしに新たに対応付け可能な待機系処理機能を選択して対応付けを行い、自動的にホットスタンバイ関係を構築することにより信頼性を回復することができるようになった。
【特許文献１】特許第３２９８８３７号
【特許文献２】特許第２７６８２６７号
【特許文献３】特許第３２０３９３５号
【特許文献４】特開平９−８１４０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したような提案される技術によって、運用システムから待機システムへの切り替えが円滑に行えるようになった。しかしながら、１つの運用システムに対して２以上の待機システムを備えるように構成されたシステムでは、通常、上述したように切り替えるための優先順位が複数の待機システムに対して決められており、故障の発生のタイミングによっては、運用システムと待機システムとのデータに整合性がとれない場合が発生し、このような状況を上記従来技術では、解決することができない。例えば、図１に示すような場合である。
【０００９】
図１に示す運用システムと切り替え順位１及び２となる待機システムとで構成される運用待機システムにおいて、運用システムと順位２の待機システムとが起動しており、順位１の待機システムが停止している場合（状態１）、運用システムは、順位２の待機システムとの接続を確立し、運用されているデータを順位２の待機システムに所定の手順によって反映させている。この状態から、順位２の待機システムより優先して切り替えられる順位１の待機システムが起動すると（状態２）、通常、運用システムは、順位２の待機システムが保持しているデータを消去（purge）して、順位１の待機システムへと接続を切り替えて、運用システムにて発生する障害に対応できるようにする。
【００１０】
しかしながら、順位２の待機システムに保持しておいたデータを消去（purge）する前に運用システムがダウンしてしまうと（状態３）、起動している順位１の待機システムへの切り替えが行われ、順位１の待機システムが運用システムとして動作開始する（状態４）。このように、順位１の待機システムへの切り替えが完了し、運用が継続して開始されてしまうと、この時点での運用システム（順位１の待機システム）に保持された新しい（new）データと、順位２の待機システムに残されたままの古い（old）データ（引継ぎ情報）とが矛盾して存在することになる。
【００１１】
その状態で、再度、運用システム（順位１の待機システム）がダウンしてしまうと、順位２の待機システムに運用が切り替わり、古い引継ぎ情報で動作が再開されてしまい問題を引き起こすこととなる（状態５）。
【００１２】
これは、整合性のとれていない引継ぎ情報が起動中のシステムに存在しているからである。
【００１３】
本発明は、上述の問題点に鑑みてなされたものであって、運用システムと複数の待機システムとを有する構成において、引継ぎ情報の整合性をもって待機システムへの切り替えを行うコンピュータ実行可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、本発明は、運用システムと複数の待機システムとで構成される運用待機システムにて、該運用システムから該複数の待機システムの１つへと切り替える際に引き継がれる引継ぎ情報の整合性を確認する処理をコンピュータに実行させるプログラムであって、該コンピュータに、前記運用システムと前記複数の待機システムとで共有される外部共有記憶領域から、該外部共有記憶領域に格納されている切り替え用待機システムを識別する待機識別情報を読み出して内部記憶領域に格納する待機識別情報読出手順と、前記内部記憶領域に格納された前記待機識別情報と自識別情報との一致によって、該引継ぎ情報の整合性を確認する整合性確認手順と、前記整合性確認手順によって、前記待機識別情報と前記自識別情報との一致により前記引継ぎ情報の整合性を確認した場合、前記内部記憶領域に保持している前記引継ぎ情報を用いて、前記運用システムとして動作を開始する運用切り替え手順とを実行させるように構成される。
【００１５】
このようなプログラムがインストールされたコンピュータでは、引継ぎ情報の送信先の待機システムの待機識別情報（例えば、ＩＰアドレス）を外部共有記憶領域（例えば、共有ディスク装置）に格納しておくことによって、各待機システムは、運用システムへの切り替え時に、内部に保持している引継ぎ情報が有効な情報か否かを判断することができる。
【００１６】
また、内部に保持している引継ぎ情報の整合性が確認された場合、外部共有記憶領域のデータ（データベースデータ）を読み出すことなく、そのまま運用を継続する高速切り替えが可能となる。
【００１７】
上記課題を解決するための手段として、本発明は、上記運用待機システムでの処理を実行する引継ぎ情報整合性確認方法、又は、上記プログラムを実行することによって実現される待機システム又は運用システムとして動作するノード装置とすることもできる。
【発明の効果】
【００１８】
本願発明は、複数の待機システムを構成する運用待機システムにおいて、引継ぎ情報の送信先の待機システムのＩＰアドレスを共有ディスク装置に格納しておくことによって、各待機システムは、運用システムへの切り替え時に、内部に保持している引継ぎ情報が有効な情報か否かを判断することができる。
【００１９】
また、内部に保持している引継ぎ情報が有効な情報である場合、共有ディスク装置のＤＢデータを読み出すことなく、そのまま運用を継続する高速切り替えが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２１】
図２は、本発明の一実施例に係る運用待機システムのネットワーク構成を示す図である。図２において、運用待機システム１００は、サーバコンピュータとしてのノード０、１、２及び３と、二次媒体としての共有ディスク装置１０とを有し、ネットーク２を介して互いに接続される。ノード０、１、２及び３は、リレーショナルデータベース管理システムのサーバコンピュータとして機能する。
【００２２】
共有ディスク装置１０は、１つ以上の業務で使用されるＤＢデータ１６及び１８を有すると共に、例えば、業務Ａに対応する運用システム及び待機システムによって共有される業務Ａ用共有ファイル１２と、業務Ｂに対応する運用システム及び待機システムによって共有される業務Ｂ用共有ファイル１４を有する。
【００２３】
業務Ａ用共有ファイル１２には、運用システムによって設定された引継ぎ情報を保持する待機システムとしてのノードを識別するノード識別情報が格納される。業務Ｂ用共有ファイル１４には、運用システムによって引継ぎ情報を保持する待機システムとしてのノードを識別するノード識別情報が格納される。ノード識別情報として、例えば、ＩＰアドレスが設定される。
【００２４】
引継ぎ情報とは、ＤＢデータ１６のリカバリのためのログと、業務Ａのために実際に使用されるＤＢデータ１６を構成するユーザ定義体を示す複数のＤＢページである。
【００２５】
業務Ａ用としての運用待機構成（業務Ａ用運用待機構成）では、ノード０が運用システム、ノード２及びノード３が業務Ａ用の待機システムとして設定される。業務Ａ用の待機システムとしてのノード２及びノード３には、運用システムがダウンした場合に優先的に切り替えるための優先順位が予め設定されている。例えば、ノード２が優先順位１で、ノード３が優先順位２などのように設定されている。業務Ａ用運用待機構成において、業務を実際に行う各端末（図示せず）は、例えば、ネットワーク２又は別のネットワークを介して、運用システムとして動作しているノード０へ接続される。運用システムが切り替わる場合には、業務を実際に行う各端末との接続は、優先的にノード２、ノード３の順で切り替えられる。
【００２６】
このような業務Ａ用運用待機構成において、運用システムとして動作するノード０は、業務Ａ用に使用される共有ディスク装置１０のＤＢデータ１６を、ノード０内の記憶領域に保持し、所定の更新処理に従って共有ディスク装置１０のＤＢデータ１６を更新すると共に、起動中のサーバコンピュータの中で最も優先順位の高い（例えば、優先順位１）のノード２へ引き継ぎ情報として逐次転送する。ノード０が引き継ぎ情報をノード２へ転送する際には、予め業務Ａ用共有ファイル１２へノード２のノード識別情報を格納する。ノード０で保持されるＤＢデータ１６は、共有ディスク装置１０のＤＢデータ１６の全部又は一部である。
【００２７】
業務Ａ用運用待機構成において、待機システムとしてのノード２へと運用システムが切り替えられた場合、ノード２は、業務Ａ用共有ファイル１２に格納されているノード識別子がノード２を示している場合には、ノード２内の記憶領域に既に保持している引継ぎ情報をＤＢデータ１６として運用を即時開始する。一方、ノード識別子がノード２を示していない場合、共有ディスク１０のＤＢデータ１６を読み込んでから運用を開始する。
【００２８】
業務Ｂ用運用待機構成においても同様である。この場合、業務Ｂ用としてＤＢデータ１８がノード３に引継ぎ情報として転送され、業務システムＢ用共有ファイル１４には、ノード３のＩＰアドレスが運用システムとしてのノード１によって格納される。
【００２９】
説明の便宜のため、業務毎にＤＢデータ１６及び１８を示したが、ＤＢデータ１６及び１８は１つの業務のために構成されていてもよく、また、複数の業務によって共有されてもよい。
【００３０】
図３は、各ノードのハードウェア構成を示す図である。図３において、各ノード０から３（以下、単にノードと言う）は、ＣＰＵ（Central Processing Unit）５１と、メモリユニット５２と、表示ユニット５３と、出力ユニット５４と、入力ユニット５５と、通信ユニット５６と、記憶装置５７と、ドライバ５８とで構成され、システムバスＢに接続される。
【００３１】
ＣＰＵ５１は、メモリユニット５２に格納されたプログラムに従って処理を実行する。メモリユニット５２は、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read-Only Memory）等にて構成され、ＣＰＵ５１にて実行されるプログラム、ＣＰＵ５１での処理に必要なデータ、ＣＰＵ５１での処理にて得られたデータ等を格納する。また、メモリユニット５２の一部の領域が、ＣＰＵ５１での処理に利用されるワークエリアとして割り付けられている。
【００３２】
表示ユニット５３は、ＣＰＵ５１の制御のもとに必要な各種情報を表示する。出力ユニット５４は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット５５は、マウス、キーボード等を有し、運用待機システムの管理者が必要な各種情報を入力するために用いられる。通信ユニット５６は、例えばインターネット、ＬＡＮ（Local Area Network）等を介してノード間通信及び共有ディスク装置１０へアクセスする際の通信制御を行う装置である。記憶装置５７は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム等のデータ、ＤＢデータ１６又は１４、ノード間通信によって受信した引継ぎ情報などを格納する。
【００３３】
ノードよって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体５９によってノードに提供される。即ち、プログラムが保存された記憶媒体５９がドライバ５８にセットされると、ドライバ５８が記憶媒体５９からプログラムを読み出し、その読み出されたプログラムがシステムバスＢを介して記憶装置５７にインストールされる。そして、プログラムが起動されると、記憶装置５７にインストールされたプログラムに従ってＣＰＵ５１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本発明に係る処理を実現するプログラムは、通信ユニット５６によってネットワークを介してダウンロードし、記憶装置５７にインストールするようにしても良い。このようにしてインストールされるプログラムは、後述される各処理をコンピュータとしてのノードに実行させるプログラムである。
【００３４】
図４は、各ノードの機能構成を説明するための図である。図４において、各ノード０から３（以下、単にノードと言う）は、ＯＳ（オペレーティングシステム）６１と、クラスタ管理部６２と、データベース管理部６３とを有し、これら処理部６１から６３に応じたプログラムをインストールすることによってノード内に処理部６１から６３として構成される。
【００３５】
ＯＳ６１は、例えば、ＵＮＩＸ（登録商標）、Ｓｏｌａｒｉｓ（登録商標）及びＬｉｎａｘ（登録商標）などのＵＮＩＸ（登録商標）系ＯＳである。また、クラスタ管理部６２は、主に、ノード間通信によって、各ノード、及び各ノード上のデータベース管理部６３によるプロセスの生死監視を行う。更に、データベース管理部６３は、アプリケーションプログラムであって、クラスタ連携ではＤＢデータ１６又は１８と、データベース管理簿、ログファイルなどのシステムファイルとを、ノード内で保持しているデータと、共有ディスク装置１０で保持しているデータと、更に、待機システムのノードで保持しているデータとの整合性を維持するように管理する。
【００３６】
クラスタ管理部６２は、共有ディスク装置１０と、ノード内の記憶領域（メモリユニット５２内又は記憶装置５７内のクラスタ管理部６２に割り当てられた記憶領域）を用いて、切り替え優先順位を含むシステム一覧１２２を管理する。システム一覧１２２は、予め運用待機システム１００の管理者によって設定された環境定義に基づいて決定される。
【００３７】
データベース管理部６３は、データベース管理部６３自身が起動される度に、システム一覧１２２をクラスタ管理部６２から取得して、ノード内の記憶領域（メモリユニット５２内又は記憶装置５７内のデータベース管理部６３に割り当てられた記憶領域）を用いて管理する。また、業務Ａが稼動中であって、ノード自身が運用システムである場合、システム一覧１２２を参照して、待機システムとして動作するノードを識別するノード識別情報を接続先ＩＰアドレス１２４として、ノード内の記憶領域と共有ディスク装置１０の業務Ａ用共有ファイル１２とに設定する。
【００３８】
システム一覧１２２と接続先ＩＰアドレス１２４とは、少なくとも共有ディスク装置１０に格納される仕組みを持てばよく、図４に示されるように、業務に対応させた共有ファイル内に構成されることに限定されるものではない。
【００３９】
図５は、システム一覧に含まれる切り替え優先順位の例を示す図である。図５において、システム一覧１２２は、切り替え優先順位の高い順に、ノード名とＩＰアドレスとの対で示されるエントリを配置している。
【００４０】
運用システムと待機システム間の接続及び切断処理（運用待機間接続／切断処理）は、ノード０から３全てが起動される全系起動、ノード０から３全てが停止される全系停止、待機システムとして動作中のノードが単独に停止される待機系単独停止（例えば、保守作業による正常停止、障害によるダウン）、待機システムとして動作すべきノードが単独に起動される待機系単独起動（例えば、保守作業の終了に伴なう再起動、障害復帰による再起動）、待機システムの切り替え（運用システムから待機システムへの運用移行、又は、優先順位の高いノードへの待機システムの変更）時が契機となって、実行される。運用待機間接続／切断処理は、運用システムとして動作しているノードが主体で実行される処理であって、待機システムとして動作しているノードが自ら率先して実行することはない。
【００４１】
図６は、全系起動の処理フローを示す図である。図６において、運用システムとして動作するノードのデータベース管理部６３は、起動すると、クラスタ管理部６２からシステム一覧１２２を取得する（ステップＳ１０１）。また、共有ディスク装置１０の接続先ＩＰアドレス１２４に無効を設定する（ステップＳ１０２）。例えば、オールゼロ（以下、ゼロクリアという）を設定する。
【００４２】
続けて、運用システムとして動作するノードのデータベース管理部６３は、取得したシステム一覧１２２に含まれている切り替え優先順位の全エントリについて、エントリの先頭から順に接続試行処理を実施し、接続したら、運用待機間接続処理（後述）を実行する（ステップＳ１０３）。運用待機間接続をしたノードのノード識別子を接続先ＩＰアドレス１２４として共有ディスク装置１０に格納する（ステップＳ１０４）。
【００４３】
一方、待機システムとして動作するノードのデータベース管理部６３は、起動すると、運用システムと同様に、クラスタ管理部６２からシステム一覧１２２を取得する（ステップＳ２０１）。ただし、待機システムとして動作する間は、システム一覧１２２を使用することはない。運用システムに切り替わった後に使用する。そして、待機システムとして動作するノードのデータベース管理部６３は、運用システムとして動作するノードからの接続要求を受信した場合、応答を返して、運用待機間接続処理を実行する（ステップＳ２０２）。
【００４４】
図７は、全系停止の処理フローを示す図である。図７において、運用システムとして動作するノードのデータベース管理部６３は、共有ディスク装置１０の接続先ＩＰアドレス１２４が無効化（ゼロに設定）されていない場合、接続先ＩＰアドレス１２４（待機システムとして運用しているノード）に対する運用待機間切断処理を実行する（ステップＳ１２１）。この場合、共有ディスク装置１０の接続先ＩＰアドレス１２４がゼロクリアされる。
【００４５】
一方、待機システムとして動作するノードのデータベース管理部６３は、運用システムとして動作するノードから切断要求を受信したら、運用待機間切断処理を実行する（ステップＳ２２１）。
【００４６】
図８は、待機システム単独停止の処理フローを示す図である。図８において、運用システムとして動作するノードのデータベース管理部６３は、クラスタ管理部６２から停止したノード名の通知を受けると（ステップＳ１３１）、システム一覧１２２を使用して、停止したノード名をＩＰアドレスへ変換する（ステップＳ１３２）。データベース管理部６３は、接続先ＩＰアドレス１２４と停止したノードのＩＰアドレスとが一致する場合に、運用待機間切断処理（後述）を実行する（ステップＳ１３３）。この場合、共有ディスク装置１０の接続先ＩＰアドレス１２４が無効化（ゼロクリア）される。
【００４７】
続けて、接続先ＩＰアドレス１２４が無効化されている場合は、待機システムとして動作可能なノードと接続するために、運用システムとして動作するノードのデータベース管理部６３は、システム一覧１２２の全エントリについて、エントリの先頭から順に接続試行処理を実施し、接続したら、運用待機間接続処理（後述）を実行する（ステップＳ１３４）。運用待機間接続をしたノードのノード識別子を接続先ＩＰアドレス１２４として共有ディスク装置１０に格納する（ステップＳ１３５）。
【００４８】
この場合、待機システムとして動作するノードに関して特別な処理は行われない。
【００４９】
図９は、待機システム単独起動の処理フローを示す図である。図９において、運用システムとして動作するノードのデータベース管理部６３は、クラスタ管理部６２から起動したノード名の通知を受けると（ステップＳ１４１）、システム一覧１２２を使用して、起動したノード名をＩＰアドレスへ変換する（ステップＳ１４２）。データベース管理部６３は、システム一覧１２２を使用して、切り替え優先順位が、接続先IPアドレス１２４よりも起動したノードのIPアドレスの方が高い場合は、接続先IPアドレス１２４について 、運用待機間切断処理（後述）を実行する（ステップＳ１４３）。この場合、共有ディスク装置１０の接続先ＩＰアドレス１２４が無効化（ゼロクリア）される。
【００５０】
続けて、接続先ＩＰアドレス１２４が無効化されている場合は、待機システムとして動作可能なノードと接続するために、運用システムとして動作するノードのデータベース管理部６３は、システム一覧１２２の全エントリについて、エントリの先頭から順に接続試行処理を実施し、接続したら、運用待機間接続処理（後述）を実行する（ステップＳ１４４）。運用待機間接続をしたノードのノード識別子を接続先ＩＰアドレス１２４として共有ディスク装置１０に格納する（ステップＳ１４５）。
【００５１】
一方、待機システムとして動作するノードのデータベース管理部６３は、起動すると、運用システムと同様に、クラスタ管理部６２からシステム一覧１２２を取得する（ステップＳ２４１）。ただし、待機システムとして動作する間は、システム一覧１２２を使用することはない。運用システムに切り替わった後に使用する。そして、待機システムとして動作するノードのデータベース管理部６３は、運用システムとして動作するノードからの接続要求を受信した場合、応答を返して、運用待機間接続処理を実行する（ステップＳ２４２）。
【００５２】
図１０は、運用待機間接続処理フローを示す図である。図１０において、運用システムとして動作するノードのデータベース管理部６３は、システム一覧１２２に含まれている切り替え優先順位の全エントリについて、エントリの先頭から順に接続試行処理を実施することにより、応答のあったノードを待機システムとして接続する（ステップＳ３０１）。
【００５３】
待機システムとしてのノードのデータベース管理部６３は、運用システムから接続要求を受信すると、接続処理を実行し（ステップＳ４０１）、引継ぎ情報を格納するための内部の記憶領域を消去(purge)し（ステップＳ４０２）、運用システムへ接続要求に対する応答を行う。
【００５４】
運用システムとして動作するノードのデータベース管理部６３は、接続要求に対して応答をしたノードのＩＰアドレスを接続先ＩＰアドレス１２４として共有ディスク装置１０に書き込む(write)（ステップＳ３０２）。そして、応答をしたノードへ運用待機間引継ぎ情報転送処理を実行する（ステップＳ３０３）。この場合、運用システムが保持している全引継ぎ情報を全て待機システムへ転送する（全ページ一括転送）。
【００５５】
図１１は、運用待機間切断処理フローを示す図である。図１１において、運用システムとして動作するノードのデータベース管理部６３は、共有ディスク装置の接続先ＩＰアドレス１２４に無効を設定する（ステップＳ３１１）。例えば、オールゼロ（以下、単に「０」（ゼロ）という）を設定する。
【００５６】
そして、運用システムとして動作するノードのデータベース管理部６３は、引継ぎ情報の送信を停止し（ステップＳ３１２）、待機システムとの接続を切断する（ステップＳ３１３）。待機システムとして動作するノードのデータベース管理部６３は、運用システムとの接続を切断する（ステップＳ４１１）。
【００５７】
図１２は、運用待機間引継ぎ情報転送処理フローを示す図である。図１２において、運用システムとして動作するノードのデータベース管理部６３は、引継ぎ情報の送信開始状態か否かを判断する（ステップＳ５０１）。つまり、待機システムと接続状態にあるか否かを確認する。送信開始状態でない場合、運用待機間引継ぎ情報転送処理を終了する。一方、送信開始状態である場合、内部の記憶領域（メモリユニット５２又は記憶装置５７の記憶領域）に格納されたＤＢデータの先頭からｎページ（ｎは１以上の整数）を読み出して、共有ディスク１０に送信すると共に、待機システムとして動作するノードへも送信する（ステップＳ５０２）。
【００５８】
待機システムとして動作するノードのデータベース管理部６３は、ｎページを受信して、内部の記憶領域（メモリユニット５２又は記憶装置５７の記憶領域）に格納し（ステップＳ６０１）、ｎページ全てを受信したことを示す完了通知を運用システムへ送信する（ステップＳ６０２）。
【００５９】
運用システムとして動作するノードのデータベース管理部６３は、待機システムから完了通知を受信すると、全て送信完了したか否かを判断する（ステップＳ５０３）。全て送信完了していない場合、ステップＳ５０２を再度実行する。一方、全て送信完了した場合、運用待機間引継ぎ情報転送処理を終了する。
【００６０】
図１２に示す運用待機間引継ぎ情報転送処理において、ｎページは、起動時には、内部の記憶領域に格納されたＤＢデータの全ＤＢページを示し、全ページの一括送信となる。また、引継ぎ情報の更新時には、内部の記憶領域に格納されたＤＢデータの更新されたＤＢページが対象となり、単ページ送信或いは複数ページ送信となる。
【００６１】
次に、切り替え処理について説明する。図１３は、切り替え処理フローを示す図である。
【００６２】
図１３において、データベース管理部６３は、運用待機モードが待機を示していることを確認し（ステップＳ６０１）、共有ディスク装置１０から接続先ＩＰアドレス１２４を読み込む（ステップＳ６０２）。共有ディスク装置１０から取得した接続先ＩＰアドレス１２４が自ＩＰアドレスと等しいか否かを判断する（ステップＳ６０３）。すなわち、ＩＰアドレスを比較することによって、内部に保持している引継ぎ情報（ＤＢデータ１６又は１８）の整合性を判断する。
【００６３】
接続先ＩＰアドレス１２４と自ＩＰアドレスが一致しない場合（つまり、引継ぎ情報が不整合である場合）、内部の引継ぎ情報を消去（purge）して、共有ディスク装置１０から業務に対応するＤＢデータ１６又は１８を読み込む（ステップＳ６０４）。
【００６４】
データベース管理部６３は、内部に保持している引継ぎ情報にて業務を続行できるように、切り替え処理を行い（ステップＳ６０５）、運用待機モードに運用を設定する（ステップＳ６０６）。そして、データベース管理部６３は、共有ディスク装置１０の接続先ＩＰアドレス１２４に無効を設定する（ステップＳ６０６）。
【００６５】
次に、データベース管理部６３は、待機システムとして動作するノードとの接続を試みる。つまり、システム一覧１２２に含まれている切り替え優先順位の全エントリについて、エントリの先頭から順に接続試行処理を実施し、接続したら、運用待機間接続処理（前述）を実行する（ステップＳ６０８）。運用待機間接続をしたノードのノード識別子を接続先ＩＰアドレス１２４として共有ディスク装置１０に格納する（ステップＳ６０９）。
【００６６】
このように、ステップＳ６０２及びＳ６０３において共有ディスク装置１０から接続先ＩＰアドレス１２４を読み込み、自ＩＰアドレスと比較することによって、内部に保持されている引継ぎ情報が有効な情報か否かを判断することができる。
【００６７】
また、ステップＳ６０４において内部の引継ぎ情報を共有ディスク装置１０のＤＢデータで書き換えることによって、古い引継ぎ情報によるＤＢデータの不整合を防止することが可能となる。
【００６８】
更に、接続ＩＰアドレスと自ＩＰアドレスとが一致する場合、内部の引継ぎ情報をそのまま使用することになるため、高速に切り替え処理を行うことが可能となる。
【００６９】
つまり、上述した処理フローにおいて、運用システムから待機システムへの切り替え時の古い引継ぎ情報の使用を防止するために、接続先ＩＰアドレス１２４を共有ディスク装置１０で管理し、下記の契機にて接続先ＩＰアドレス１２４を操作し、引継ぎ情報を消去（purge）する。
【００７０】
［契機１］は、運用待機間接続処理完了直後、かつ、引継ぎ情報の送信開始前の契機である。この［契機１］では、運用システムは、共有ディスク装置１０内の接続先ＩＰアドレスを更新し（図１０のステップＳ３０２）、待機システムは、引継ぎ情報を消去（purge）する（図１０のステップＳ４０２）。
【００７１】
［契機２］は、運用待機間切断処理の直前の契機である。この［契機２］では、運用システムは、共有ディスク装置１０の接続先ＩＰアドレス１２４を初期化する（図１１のステップＳ３１１）ことによって、全待機システムのＩＰアドレスと接続先ＩＰアドレス１２４とを不一致化させ、古い引継ぎ情報が継続して使用されないようにする。
【００７２】
［契機３］は、切り替え開始時である。この［契機３］では、共有ディスク装置１０の接続先ＩＰアドレス１２４と自ＩＰアドレスとの比較結果に応じた処理を実行する。一致する場合、内部の引継ぎ情報を消去（purge）せずに、そのまま使用する（高速切り替え）（図１３のステップＳ６０５）。一方、不一致の場合、引継ぎ情報を消去（purge）して、共有ディスク装置１０からＤＢデータを読み出す（再常駐による切り替え）（図１３のステップＳ６０４及びＳ６０５）。また、いずれの比較結果においても、共有ディスク装置１０の接続先ＩＰアドレス１２４を初期化する（図１３のステップＳ６０７）ことによって、全待機システムのＩＰアドレスと接続先ＩＰアドレス１２４とを不一致化させ、古い引継ぎ情報が継続して使用されないようにする。
【００７３】
切り替えの優先順序の高い待機システムとしてのノードが起動した場合に、上述した処理フローに従って待機システムをその優先順位の高いノードへ変更する処理について図１４で説明する。図１４は、切り替えの優先順序の高い待機システムが起動した場合を説明するための図である。
【００７４】
図１４において、運用システムとして動作するノード０は、切り替えの優先順位１のノード１が停止中であるため、優先順位２のノード２をノード０の待機システムとしてノード間接続をし、共有ディスク装置１０の接続先ＩＰアドレス１２４にノード２のＩＰアドレスを設定する（状態Ａ１）。そして、運用システムとして動作するノード０は、随時更新された引継ぎ情報をノード２へ転送する。
【００７５】
その後、優先順位１のノード１が起動すると（状態Ａ２）、運用システムとして動作するノード０は、ノード間通信によって、優先順位１のノード１が起動したことを認識し、共有ディスク装置１０の接続先ＩＰアドレス１２４を初期化する（［契機３］）。ノード０は、運用待機間切断処理を実行して、運用待機間通信パスを切断する（状態Ａ３）。この場合、ノード０は、ノード２への引継ぎ情報の送信を中断するため、ノード２内の引継ぎ情報は古い情報となる。
【００７６】
運用システムとして動作するノード０は、優先順位の高いノード１に対して運用待機間接続処理を実行して、ノード１との間に運用待機間通信パスを確立し、接続先ＩＰアドレス１２４を更新する（状態Ａ４）（［契機１］）。この場合、ノード１は、起動直後で引継ぎ情報を保持していないため、引継ぎ情報の消去（purge）は行われない。また、共有ディスク装置１０の接続先ＩＰアドレス１２４は、ノード１のＩＰアドレスが設定される。
【００７７】
運用システムとして動作するノード０は、ノード１と運用待機間通信を開始し（状態Ａ５）、更新された引継ぎ情報がノード１へと転送される。
【００７８】
この状態で運用システムとして動作するノード０がダウンすると、運用システムの切り替えが行われる（状態Ａ６）（［契機３］）。通常は、ノード１へと優先的に運用システムが切り替わる。この場合、ノード１のＩＰアドレスと共有ディスク装置１０の接続先ＩＰアドレス１２４とが一致する。ノード１は、最新の引継ぎ情報を内部に保持しているため、高速切り替えとなる。また、何らかの事情で、ノード１が停止している場合、ノード２へと運用システムが切り替わる。この場合、ノード２のＩＰアドレスと共有ディスク装置１０の接続先ＩＰアドレス１２４とは一致しない。よって、ノード２は、共有ディスク装置１０からＤＢデータを読み出して、引継ぎ情報として再常駐させる。
【００７９】
したがって、状態Ａ５で、新旧の引継ぎ情報が存在したとしても、共有ディスク装置１０の接続先ＩＰアドレス１２４を参照することによって、最新の引継ぎ情報にて業務を続行することができる。
【００８０】
次に、切り替えの優先順序の高い待機システムとしてのノードが停止した場合に、上述した処理フローに従って待機システムを次に優先順位の高いノードへ変更する処理について図１５で説明する。図１５は、切り替えの優先順序の高い待機システムが停止した場合を説明するための図である。
【００８１】
図１５において、運用システムとして動作するノード０は、切り替えの優先順位１のノード１を待機システムとして引継ぎ情報を転送している状態（状態Ｂ１）で、ノード間通信によって、その優先順位１のノードの停止を認識すると（状態Ｂ２）、共有ディスク装置１０の接続先ＩＰアドレスを初期化し（［契機１］）、運用待機間切断処理を実行して、運用待機間通信パスを切断する（状態Ｂ３）。
【００８２】
そして、運用システムとして動作するノード０は、次に優先順位の高い優先順位２のノード２に対して運用待機間接続処理を実行して、ノード２との間に運用待機間通信パスを確立し、接続先ＩＰアドレス１２４を更新する（状態Ｂ４）（［契機１］）。この場合、ノード２は、内部に古い引継ぎ情報をそのまま保持している可能性があるため、内部の引継ぎ情報を消去（purge）する。また、共有ディスク装置１０の接続先ＩＰアドレス１２４は、ノード２のＩＰアドレスが設定される。
【００８３】
運用システムとして動作するノード０は、ノード２と運用待機間通信を開始し（状態Ｂ５）、更新された引継ぎ情報がノード２へと転送され、ノード２は、最新の引継ぎ情報を内部に保持することになる。
【００８４】
この状態で運用システムとして動作するノード０がダウンすると、運用システムの切り替えが行われる（状態Ｂ６）（［契機３］）。通常は、ノード１へと優先的に運用システムが切り替えようとするが、ノード１は停止状態のため、ノード１への切り替えは発生しない。従って、優先順位２のノード２へと運用システムが切り替えられる。ここで、ノード２のＩＰアドレスと共有ディスク装置１０の接続先ＩＰアドレス１２４とが一致する。ノード２は、最新の引継ぎ情報を内部に保持しているため、高速切り替えとなる。
【００８５】
上記より、複数の待機システムを構成する運用待機システム１００において、引継ぎ情報の転送先の待機システムのＩＰアドレスを共有ディスク装置１０に格納しておくことによって、各待機システムは、内部に保持している引継ぎ情報が有効な情報か否かを判断することができる。
【００８６】
また、内部に保持している引継ぎ情報が有効な情報である場合、共有ディスク装置１０のＤＢデータを読み出すことなく、そのまま運用を継続する高速切り替えが可能となる。
【００８７】
本実施例では、主に、１つの運用システムに対して複数の待機システムについて例示したが、図２に示されるように、２つ以上の運用システムに対して複数の待機システムを構成する運用待機システム１００において適応可能である。
【００８８】
以上の説明に関し、更に以下の項を開示する。
（付記１）
運用システムと複数の待機システムとで構成される運用待機システムにて、該運用システムから該複数の待機システムの１つへと切り替える際に引き継がれる引継ぎ情報の整合性を確認する処理をコンピュータに実行させるプログラムであって、該コンピュータに、
前記運用システムと前記複数の待機システムとで共有される外部共有記憶領域から、該外部共有記憶領域に格納されている切り替え用待機システムを識別する待機識別情報を読み出して内部記憶領域に格納する待機識別情報読出手順と、
前記内部記憶領域に格納された前記待機識別情報と自識別情報との一致によって、該引継ぎ情報の整合性を確認する整合性確認手順と、
前記整合性確認手順によって、前記待機識別情報と前記自識別情報との一致により前記引継ぎ情報の整合性を確認した場合、前記内部記憶領域に保持している前記引継ぎ情報を用いて、前記運用システムとして動作を開始する運用切り替え手順とを実行させることを特徴とするコンピュータ実行可能なプログラム。
（付記２）
前記コンピュータに、
前記整合性確認手順によって、前記待機識別情報と前記自識別情報との不一致により前記引継ぎ情報の不整合を確認した場合、前記内部記憶領域に保持している前記引継ぎ情報を消去する引継ぎ情報消去手順と、
前記外部共有記憶領域から前記引継ぎ情報を読み出す引継ぎ情報読出手順とを実行させることを特徴とする付記１記載のコンピュータ実行可能なプログラム。
（付記３）
前記コンピュータに、
前記コンピュータが前記運用システムとして動作する場合、切り替えの優先順位に従って前記待機システムの１つと接続し、接続した該待機システムを識別する前記待機識別情報を前記外部共有記憶領域に書き出す待機識別情報書出手順と、
前記引継ぎ情報の更新に応じて、該引継ぎ情報を前記外部共有記憶領域に書き込むと共に、接続した前記待機システムに該引継ぎ情報を転送する引継ぎ情報更新手順とを実行させることを特徴とする付記１記載のコンピュータ実行可能なプログラム。
（付記４）
前記引継ぎ情報更新手順は、前記引継ぎ情報の全て又は該引継ぎ情報を構成する所定情報単位によって、前記外部共有記憶領域と接続した前記待機システムとに送信することを特徴とする付記３記載のコンピュータ実行可能なプログラム。
（付記５）
運用システムと複数の待機システムとで構成される運用待機システムにて、該運用システムから該複数の待機システムの１つへと切り替える際に引き継がれる引継ぎ情報の整合性を確認する処理をコンピュータが実行する引継ぎ情報整合性確認方法であって、該コンピュータが、
前記運用システムと前記複数の待機システムとで共有される外部共有記憶領域から、該外部共有記憶領域に格納されている切り替え用待機システムを識別する待機識別情報を読み出す内部記憶領域に格納する待機識別情報読出手順と、
前記内部記憶領域に格納された前記待機識別情報と自識別情報との一致によって、該引継ぎ情報の整合性を確認する整合性確認手順と、
前記整合性確認手順によって、前記待機識別情報と前記自識別情報との一致により前記引継ぎ情報の整合性を確認した場合、前記内部記憶領域に保持している前記引継ぎ情報を用いて、前記運用システムとして動作を開始する運用切り替え手順とを実行することを特徴とする引継ぎ情報整合性確認方法。
（付記６）
運用システムと複数の待機システムとで構成システムにて、該運用システムから該複数の待機システムの１つへと切り替える際に引き継がれる引継ぎ情報の整合性を確認する該待機システムとして動作するノード装置であって、
前記運用システムと前記複数の待機システムとで共有される外部共有記憶領域から、該外部共有記憶領域に格納されている切り替え用待機システムを識別する待機識別情報を読み出す内部記憶領域に格納する待機識別情報読出手段と、
前記内部記憶領域に格納された前記待機識別情報と自識別情報との一致によって、該引継ぎ情報の整合性を確認する整合性確認手段と、
前記整合性確認手段によって、前記待機識別情報と前記自識別情報との一致により前記引継ぎ情報の整合性を確認した場合、前記内部記憶領域に保持している前記引継ぎ情報を用いて、前記運用システムとして動作を開始する運用切り替え手段とを実行することを特徴とするノード装置。
（付記７）
運用システムと複数の待機システムとで構成システムにて、該運用システムから該複数の待機システムの１つへと切り替える際に引き継がれる引継ぎ情報の整合性を確認する運用システムとして動作するノード装置であって、
切り替えの優先順位に従って前記待機システムの１つと接続し、接続した該待機システムを識別する前記待機識別情報を前記外部共有記憶領域に書き出す待機識別情報書出手段と、
前記引継ぎ情報の更新に応じて、該引継ぎ情報を前記外部共有記憶領域に書き込むと共に、接続した前記待機システムに該引継ぎ情報を転送する引継ぎ情報更新手段とを実行させることを特徴とするノード装置。
【００８９】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００９０】
【図１】従来の切り替え方法において新旧の引継ぎ情報が存在する場合を説明するための図である。
【図２】本発明の一実施例に係る運用待機システムのネットワーク構成を示す図である。
【図３】各ノードのハードウェア構成を示す図である。
【図４】各ノードの機能構成を説明するための図である。
【図５】システム一覧に含まれる切り替え優先順位の例を示す図である。
【図６】全系起動の処理フローを示す図である。
【図７】全系停止の処理フローを示す図である。
【図８】待機システム単独停止の処理フローを示す図である。
【図９】待機システム単独起動の処理フローを示す図である。
【図１０】運用待機間接続処理フローを示す図である。
【図１１】運用待機間切断処理フローを示す図である。
【図１２】運用待機間引継ぎ情報転送処理フローを示す図である。
【図１３】切り替え処理フローを示す図である。
【図１４】切り替えの優先順序の高い待機システムが起動した場合を説明するための図である。
【図１５】切り替えの優先順序の高い待機システムが停止した場合を説明するための図である。
【符号の説明】
【００９１】
ノード０から３      運用システム又は待機システム
２          ネットワーク
１０        共有ディスク装置
１２        業務Ａ用共有ファイル
１４        業務Ｂ用共有ファイル
１６        ＤＢデータ
１８        ＤＢデータ
５１        ＣＰＵ
５２        メモリユニット
５３        表示ユニット
５４        出力ユニット
５５        入力ユニット
５６        通信ユニット
５７        記憶装置
５８        ドライバ
５９        記憶媒体
１００      運用待機システム
【図１】
2006202220.tif 000003
【図２】
2006202220.tif 000004
【図３】
2006202220.tif 000005
【図４】
2006202220.tif 000006
【図５】
2006202220.tif 000007
【図６】
2006202220.tif 000008
【図７】
2006202220.tif 000009
【図８】
2006202220.tif 000010
【図９】
2006202220.tif 000011
【図１０】
2006202220.tif 000012
【図１１】
2006202220.tif 000013
【図１２】
2006202220.tif 000014
【図１３】
2006202220.tif 000015
【図１４】
2006202220.tif 000016
【図１５】
2006202220.tif 000017