(57)【特許請求の範囲】
【請求項１】
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバであって、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行する全コピー手段と、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出するデータ検出手段と、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーする変更データコピー手段と、
を備え、
前記変更データコピー手段は、前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータとして検出されていないデータを、前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を停止させずに、前記オフライン系サブシステムのメモリにコピーする未検出データコピー処理を実行する、
フォールトトレラントサーバ。
【請求項２】
請求項１に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記全コピー処理が終了してから前記検出されたデータを前記オフライン系サブシステムのメモリにコピーする、
フォールトトレラントサーバ。
【請求項３】
請求項２に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記全コピー処理が終了してから前記オンライン系サブシステムの演算装置による情報処理の実行を停止して、前記検出されたデータの全てを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリに一括してコピーする一括コピー処理を実行する、
フォールトトレラントサーバ。
【請求項４】
請求項３に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記一括コピー処理が終了すると、停止していた前記オンライン系サブシステムの演算装置による情報処理の実行を再開すると共に、前記オフライン系サブシステムの演算装置による情報処理の実行を開始して、情報処理の二重化を開始する、
フォールトトレラントサーバ。
【請求項５】
請求項１乃至４のいずれか一項に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記未検出データコピー処理時に、コピーする前記オンライン系サブシステムのメモリに記憶されているデータが、前記オフライン系サブシステムのメモリに記憶されているデータと一致するか否かを調べ、一致している場合には、前記オンライン系サブシステムのメモリに記憶されているデータを前記オフライン系サブシステムのメモリにコピーせず、一致していない場合には、前記オンライン系サブシステムのメモリに記憶されているデータを、当該オンライン系サブシステムのメモリと前記オフライン系サブシステムのメモリとにそれぞれ記憶する、
フォールトトレラントサーバ。
【請求項６】
請求項１乃至５のいずれか一項に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記未検出データコピー処理中に、前記オンライン系サブシステムの演算装置と前記オフライン系サブシステムの演算装置とからそれぞれ出力されるデータを監視し、各データが一致していない場合には、前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を停止して、前記オンライン系サブシステムのメモリに記憶されているデータの全てを、前記オフライン系サブシステムのメモリに一括してコピーする、
フォールトトレラントサーバ。
【請求項７】
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバであって、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行する全コピー手段と、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に前記オンライン系サブシステムのメモリに記憶されているデータの要約が変更されたデータを検出するデータ検出手段と、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーする変更データコピー手段と、
を備えるフォールトトレラントサーバ。
【請求項８】
請求項７に記載のフォールトトレラントサーバであって、
前記データ検出手段は、前記全コピー処理の前に前記オンライン系サブシステムのメモリに記憶されている全てのデータの要約を算出して第一要約とし、前記全コピー処理中に前記オンライン系サブシステムのメモリに記憶されている全てのデータの要約を算出して第二要約とし、前記第一要約及び前記第二要約で変化があったデータを、前記全コピー処理中に要約が変更されたデータとして検出する、
フォールトトレラントサーバ。
【請求項９】
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバに装備された制御装置に、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行する全コピー手段と、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出するデータ検出手段と、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフラインサブシステムのメモリにコピーする変更データコピー手段と、
を実現させると共に、
前記変更データコピー手段は、前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータとして検出されていないデータを、前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を停止させずに、前記オフライン系サブシステムのメモリにコピーする未検出データコピー処理を実行する、
ことを実現させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムであって、
前記変更データコピー手段は、前記全コピー処理が終了してから前記検出されたデータを前記オフライン系サブシステムのメモリにコピーする、
プログラム。
【請求項１１】
請求項１０に記載のプログラムであって、
前記変更データコピー手段は、前記全コピー処理が終了してから前記オンライン系サブシステムの演算装置による情報処理の実行を停止して、前記検出されたデータの全てを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリに一括してコピーする一括コピー処理を実行する、
プログラム。
【請求項１２】
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバに装備された制御装置に、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行する全コピー手段と、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に前記オンライン系サブシステムのメモリに記憶されているデータの要約が変更されたデータを検出するデータ検出手段と、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン
サブシステムのメモリにコピーする変更データコピー手段と、
を実現させるためのプログラム。
【請求項１３】
請求項１２に記載のプログラムであって、
前記データ検出手段は、前記全コピー処理の前に前記オンライン系サブシステムのメモリに記憶されている全てのデータの要約を算出して第一要約とし、前記全コピー処理中に前記オンライン系サブシステムのメモリに記憶されている全てのデータの要約を算出して第二要約とし、前記第一要約及び前記第二要約で変化があったデータを、前記全コピー処理中に要約が変更されたデータとして検出する、
プログラム。
【請求項１４】
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバが、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行し、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出し、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーし、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータとして検出されていないデータを、前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を停止させずに、前記オフライン系サブシステムのメモリにコピーする未検出データコピー処理を実行する、
メモリデータコピー方法。
【請求項１５】
請求項１４に記載のメモリデータコピー方法であって、
前記全コピー処理が終了してから前記検出されたデータを前記オフライン系サブシステムのメモリにコピーする、
メモリデータコピー方法。
【請求項１６】
請求項１５に記載のメモリデータコピー方法であって、
前記全コピー処理が終了してから前記オンライン系サブシステムの演算装置による情報処理の実行を停止して、前記検出されたデータの全てを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリに一括してコピーする一括コピー処理を実行する、
メモリデータコピー方法。
【請求項１７】
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバが、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行し、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に前記オンライン系サブシステムのメモリに記憶されているデータの要約が変更されたデータを検出し、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーする、
メモリデータコピー方法。
【請求項１８】
請求項１７に記載のメモリデータコピー方法であって、
前記全コピー処理の前に前記オンライン系サブシステムのメモリに記憶されている全てのデータの要約を算出して第一要約とし、前記全コピー処理中に前記オンライン系サブシステムのメモリに記憶されている全てのデータの要約を算出して第二要約とし、前記第一要約及び前記第二要約で変化があったデータを、前記全コピー処理中に要約が変更されたデータとして検出する、
メモリデータコピー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォールトトレラントサーバにかかり、特に、二重化処理を実行するフォールトトレラントサーバに関する。
【背景技術】
【０００２】
同一のデータに対して、オンライン系、オフライン系といった２つのサブシステムで同一の処理を行って情報処理を二重化するフォールトトレラントサーバ（Fault Tolerant Server：ＦＴサーバ）が知られている（特許文献１参照）。このようなフォールトトレラントサーバでは、通常はオンライン系による情報処理の結果が利用されることとなるが、かかるオンライン系に障害が生じた際には、同一の処理を行っているオフライン系が新たなオンライン系となる。これにより、情報処理が停止してしまうことを防止することができる。なお、２重化処理の実現方式は、ハードウェア方式とソフトウェア方式とがある。
【０００３】
ここで、フォールトトレラントサーバでは、２つのサブシステムで情報処理を二重化していることから、各サブシステムに搭載されているメモリの内容が同一となる。ところが、オンライン系のサブシステムで情報処理を実行しているときに、オフライン系のサブシステムが停止している状態であると、オンライン系のメモリの内容と、オフライン系のメモリの内容とが、相互に異なることとなる。このため、オフライン系のＣＰＵの交換後やオペレーティングシステム（以下、ＯＳ（Operating System）という）の起動後に、オンライン系と同期する前には、オンライン系のメモリの全ページをオフライン系のメモリに一括してコピーする必要がある。なお、上記メモリのページとは、当該メモリの記憶領域を管理する単位である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１９９１９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、オンライン系からオフライン系へのメモリコピーの速度は、例えば、８ＧＢ／ｓであるため、全容量が２５６ＧＢのメモリをコピーした場合には、３０秒間かかることとなる。すると、このメモリコピー中の３０秒間はＯＳが停止し、フォールトトレラントサーバによる情報処理が停止してしまう、という問題が生じる。その結果、フォールトトレラントサーバとしての可用性が低下しうる。
【０００６】
このため、本発明の目的は、上述した課題である、可用性が低下する、という問題を解決することができるフォールトトレラントサーバを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一形態であるフォールトトレラントサーバは、
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成された情報処理装置であって、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行する全コピー手段と、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出するデータ検出手段と、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーする変更データコピー手段と、
を備えた、
という構成をとる。
【０００８】
また、本発明の一形態であるプログラムは、
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバに装備された制御装置に、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行する全コピー手段と、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出するデータ検出手段と、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーする変更データコピー手段と、
を実現させる、
という構成をとる。
【０００９】
本発明の一形態であるメモリコピー方法は、
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバが、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行し、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出し、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーする、
という構成をとる。
【発明の効果】
【００１０】
本発明は、以上のように構成されることにより、可用性の向上を図ることができるフォールトトレラントサーバを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態におけるフォールトトレラントサーバの構成を示すブロック図である。
【図２】図１に開示したフォールトトレラントサーバを構成するｆｔチップセットの構成を示す機能ブロック図である。
【図３】図１に開示したフォールトトレラントサーバによるメモリページコピーの様子を示す図である。
【図４】図１に開示したフォールトトレラントサーバの動作を示すフローチャートである。
【図５】図１に開示したフォールトトレラントサーバの動作を示すフローチャートである。
【図６】図１に開示したフォールトトレラントサーバの動作を示すフローチャートである。
【図７】本発明の第２の実施形態におけるフォールトトレラントサーバの構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
＜実施形態１＞
本発明の第１の実施形態を、図１乃至図６を参照して説明する。図１乃至図２は、フォールトトレラントサーバの構成を説明するための図であり、図３乃至図６は、その動作を説明するための図である。
【００１３】
［構成］
本実施形態におけるフォールトトレラントサーバは、演算装置と記憶装置とを備えた１台あるいは複数台の情報処理装置にて構成されている。そして、フォールトトレラントサーバは、図１に示すように、オンライン系サブシステム１０とオフライン系サブシステム２０とを備えており、両サブシステム１０，２０が同一のデータに対して同一の情報処理を行う二重化処理（同期処理）を実行するよう構成されている。
【００１４】
具体的に、オンライン系サブシステム１０は、プロセッサ１１（演算装置）と、メモリ１２と、ｆｔチップセット１３と、ＩＯデバイス１４，１５と、を備えている。また、オフライン系サブシステム２０も同様に、プロセッサ２１と、メモリ２２と、ｆｔチップセット２３と、ＩＯデバイス２４，２５と、を備えている。そして、両プロセッサ１１，２１は、メモリ１２，２２に記憶されている同一のデータを用いて、同一の演算処理を行うよう作動する。このため、オンライン系サブシステム１０に障害が生じた場合であっても、オフライン系サブシステム２０にて情報処理を継続実行することができる。
【００１５】
なお、フォールトトレラントサーバは、各サブシステム１０，２０を構成するプロセッサ１１，２１やメモリ１２，２２などの構成要素が、それぞれ個別のハードウェアで構成されていてもよく、それぞれソフトウェアによって仮想化されて構成されていてもよい。そして、フォールトトレラントサーバは、ハードウェア方式に限らず、高速チェックポイント方式（ダーティーページ／CPUコンテキスト転送によるメモリ内容同期方式）や、仮想ロックステップ方式（Input情報の記録／再生による動作方式）などを使用するソフトウェア方式でもよい。
【００１６】
ここで、フォールトトレラントサーバは、二重化処理を行うため、両サブシステム１０，２０に搭載されているメモリ１２，２２の内容が同一である必要がある。このため、オフライン系サブシステム２０のプロセッサ２１の交換後や、ＯＳ（Operating System）という）の起動後に、両サブシステム１０，２０による二重化処理（同期処理）を開始する前には、両サブシステム１０，２０のメモリ１２，２２を同期する必要がある。つまり、稼働し続けているオンライン系サブシステム１０のメモリ１２内のデータを、オフライン系サブシステム２０のメモリ２２に内にコピーする必要がある。このような二重化処理を開始する前にメモリコピーを実行するための構成を、オンライン系サブシステム１０及びオフライン系サブシステム２０は備えている。以下、メモリコピーを実行するための構成について説明する。
【００１７】
上述したメモリコピーを実行するための構成は、例えば、オンライン系サブシステム１０のｆｔチップセット１３に設けられている。なお、以下では、オンライン系サブシステム１０のｆｔチップセット１３の構成を説明するが、オフライン系サブシステム２０もオンライン系となりうるため、当該オフライン系サブシステム２０のｆｔチップセット２３も同様の構成をとる。
【００１８】
具体的に、オンライン系サブシステム１０のｆｔチップセット１３は、まず、図示しない制御部（制御装置）と記憶部とを備えている。そして、ｆｔチップセット１３は、図２に示すように、装備された制御部にプログラムが組み込まれることによって構築された、全コピー部３１、データ検出部３２、変更データコピー部３３、パケット監視部３４、を備えている。また、ｆｔチップセット１３は、装備された記憶部に形成された、チェックサム一致メモリスト３５、チェックサム不一致メモリスト３６、を備えている。なお、上記全コピー部３１、データ検出部３２、変更データコピー部３３によって、主にメモリコピーを実行する機能部となる「Ｄａｔａ  Ｍｏｖｅｒ」を構成している。以下、各構成について詳述する。
【００１９】
まず、各サブシステム１０，２０のメモリ１２，２２は、記憶領域を管理する単位であるページを有している。そして、後述するメモリ内のデータのコピーは、ページ単位で行われることとなる。例えば、ページは、数ＭＢの容量である。但し、メモリ内のデータのコピーは、他の単位で行われてもよい。
【００２０】
上記データ検出部３２（データ検出手段）は、まず、ＯＳ起動後のメモリコピー処理に先立って、オンライン系サブシステム１０のメモリ１２内の全てのページ毎に、当該ページに記憶されているデータの内容に基づくチェックサムを算出する。そして、データ検出部３２は、算出したページ毎のチェックサムを、当該ページと関連付けて保存しておく。例えば、算出したチェックサムは、ｆｔチップセット内の記憶装置に、メモリページの識別情報と関連付けて保存される。
【００２１】
上記チェックサムは、メモリのページに記憶されているデータの内容の要約を表す情報である。このため、メモリページ毎のデータの内容が異なれば、要約であるチェックサムもそれぞれ異なる値となる可能性が高いと言える。なお、上記チェックサムは、メモリページのデータ内容に基づく値であれば、いかなる方法で算出されてもよい。例えば、データ検出部３２は、メモリページのデータのハッシュ値といった他の要約情報を算出してもよい。なお、ここで算出したチェックサムを、「第１チェックサム」（第一要約）と呼ぶこととする。
【００２２】
また、データ検出部３２は、その後、再度、オンライン系サブシステム１０のメモリ１２の全てのページ毎に、当該ページに記憶されているデータの内容に基づくチェックサムを算出する。つまり、データ検出部３２は、メモリコピー処理に先立って、１回目のチェックサムの算出を行い、その後、後述する全コピー部３１によるメモリコピー処理の開始後であって全コピー処理中に、２回目のチェックサムの算出を行う。なお、２回目のチェックサムの算出は、全コピー部３１によるコピーが終了したメモリページに対して順次行われてもよく、全コピー部３１による全てのメモリページのコピーが終了した後に行われてもよい。なお、ここで算出したチェックサムを、「第２チェックサム」（第二要約）と呼ぶこととする。
【００２３】
そして、データ検出部３２は、同一のメモリページに対応する、保存している「第１チェックサム」と、算出した「第２チェックサム」とを比較して、差分があるか否か（変化があるか否か）を調べる。データ検出部３２は、比較の結果、各チェックサムに差分がない場合には、対応するメモリページを識別するページ情報を、チェックサム一致リスト３５に登録する。一方、データ検出部３２は、比較の結果、各チェックサムに差分がある場合には、対応するメモリページを識別するページ情報を、チェックサム不一致リスト３６に登録する。つまり、チェックサムに差分がある場合は、全コピー処理中に同一のメモリページの内容が変更されたと判定される基準を満たすデータとして検出されることとなる。
【００２４】
上記全コピー部３１（全コピー手段）は、上述したようにデータ検出部３２による１回目のチェックサムの算出が終了した後に、オンライン系サブシステム１０のメモリ１２内の全てのページを、オフライン系サブシステム２０にコピーする全コピー処理を行う。このとき、フォールトトレラントサーバのＯＳの稼働つまりオンライン系サブシステム１０のプロセッサ１１の稼働を停止させることなく、当該オンライン系サブシステム１０による情報処理を継続したまま、バックグランド処理で全コピー処理を行う。例えば、プロセッサ１１における全コピー処理の優先度は、他の情報処理の優先度よりも低く設定される。
【００２５】
上記変更データコピー部３３（変更データコピー手段）は、上述した全コピー部３１による全コピー処理、及び、データ検出部３２による２回目のチェックサム算出後に、チェックサム不一致メモリスト３６を参照する。そして、変更データコピー部３３は、チェックサム不一致メモリスト３６に登録されているメモリページを、オンライン系サブシステム１０のメモリ１２から、オフライン系サブシステム２０のメモリ２２コピーする。つまり、変更データコピー部３３は、チェックサムに差分があり、全コピー処理中に同一のメモリページの内容が変更されたと判定される基準を満たすデータが格納されているメモリページを、オフライン系にコピーする。
【００２６】
変更データコピー部３３によるメモリコピーの様子を、図３を参照して説明する。図３の左側には、１回目のチェックサム算出時におけるメモリページのデータ内容とチェックサムとの対応を示しており、図３の右側には、２回目のチェックサム算出時におけるメモリページのデータ内容とチェックサムとの対応を示している。この図の例では、上から２行目と３行目のメモリページのチェックサムが、１回目と２回目の算出時で異なっているため、これらのメモリページがオンライン系サブシステム１０からオフライン系サブシステム２０にコピーされる。これにより、上述した全コピー処理中つまりＯＳにより使用されてメモリ中のデータに変更があった場合でも、かかるデータをオンライン系サブシステム１０からオフライン系サブシステム２０に反映させることができる。
【００２７】
ここで、変更データコピー部３３は、チェックサム不一致メモリスト３６に登録されているメモリページをコピーする際には、フォールトトレラントサーバのＯＳを停止する、つまり、オンライン系サブシステム１０による情報処理を停止する。そして、変更データコピー部３３は、チェックサム不一致メモリリスト３６に登録されている全てのメモリページを一括してオフライン系にコピーする一括コピー処理を実行する。このとき、チェックサム不一致メモリリスト３６に登録されるメモリページはメモリ１２内の全ページよりも少ないと考えられるため、一括コピー処理によりフォールトトレラントサーバによる情報処理が停止している時間は、全ページをコピーするよりも短い時間となる。
【００２８】
その後、変更データコピー部３３は、上述したチェックサム不一致メモリスト３６に登録されているメモリページの一括コピー処理が終了すると、フォールトトレラントサーバによる二重化処理を開始する。つまり、停止していたオンライン系サブシステム１０のプロセッサ１１による情報処理の実行を再開すると共に、オフライン系サブシステム２０のプロセッサ２１による情報処理の実行を開始して、二重化処理つまり同期実行を開始する。
【００２９】
さらに、変更データコピー部３３は、二重化処理を開始すると、かかる二重化処理を停止することなく、バックグラウンド処理で、チェックサム一致メモリスト３５に登録されているメモリページをオンライン系サブシステム１０のメモリ１２からオフライン系サブシステム２０のメモリ２２にコピーする。ここで、チェックサム一致メモリスト３５に登録されているメモリページは、全コピー処理の前後でチェックサムに差分が生じなかったものであるが、メモリページの内容に変更があっても、チェックサムに差分が生じない場合がある。そのようなメモリページを両サブシステム１０，２０のメモリ１２，２２で一致させるため、チェックサム一致メモリスト３５に登録されているメモリページのコピーを行う。この処理は、チェックサム間で差分が生じたものとして検出されなかった（未検出であった）メモリページをコピーする処理であるため、未検出データコピー処理と呼ぶ。
【００３０】
具体的に、変更データコピー部３３は、未検出データコピー処理にて、オンライン系サブシステム１０のメモリ１２内とオフライン系サブシステム２０のメモリ２２内から、それぞれ同じアドレスのメモリページを読み出す。そして、変更データコピー部３３は、読み出した各メモリページ内のデータ内容が一致しているか否かを調べる。一致している場合には、変更データコピー部３３は、メモリページのコピーは行わない。一方、一致していない場合には、読み出したオンライン系サブシステム１０のメモリページを、当該オンライン系サブシステム１０のメモリ１２とオフライン系サブシステム２０のメモリとの同じアドレスに、それぞれ書き込んで記憶する。つまり、一致しない場合には、単にオンライン系サブシステム１０のメモリページをオフライン系サブシステム２０に書き込むだけでなく、オンライン系サブシステム１０にも記憶し直す。これは、オンライン系サブシステム１０とオフライン系サブシステム２０とで同期処理を確保するためである。
【００３１】
また、上記パケット監視部３４（変更データコピー手段）は、上述した未検出データコピー処理中に、オンライン系サブシステム１０のプロセッサ１１と、オフライン系サブシステム２０のプロセッサ２１と、からそれぞれ出力されるデータであるパケットを監視する。そして、パケット監視部３４は、両プロセッサ１１，２１から出力されるパケットの内容が一致していないことを検出した場合には、フォールトトレラントサーバのＯＳを停止する、つまり、オンライン系サブシステム１０及びオフライン系サブシステム２０による二重化処理を停止する。さらに、パケット監視部３４は、オンライン系サブシステム１０のメモリ１２に記憶されている全てのメモリページを、オフライン系サブシステム２０のメモリ２２に一括してコピーする。なお、このコピー処理は全コピー部３１が行い、かかるコピー処理が終了すると、二重化処理を再開する。
【００３２】
［動作］
次に、上述したフォールトトレラントサーバの動作を、図４乃至図６のフローチャートを参照して説明する。
【００３３】
フォールトトレラントサーバを起動し（ステップＳ１）、ＯＳを起動すると（ステップＳ２）、二重化処理を行うために両メモリ１２，２２を同期する処理を開始する。このとき、オンライン系サブシステム１０は、通常の情報処理の実行を継続したままであり、ＯＳは停止していない状態である。
【００３４】
データ検出部３２は、まず、メモリコピー処理に先立って、オンライン系サブシステム１０のメモリ１２内の全てのページ毎に、当該ページに記憶されているデータの内容に基づいて１回目のチェックサム計算を行う。そして、算出したチェックサムを第１チェックサムとして、該当ページと関連付けて保存する（ステップＳ３）。
【００３５】
データ検出部３２による全てのメモリページに対する１回目のチェックサム計算が終了すると、全コピー部３１がオンライン系サブシステム１０のメモリ１２内の全てのページを、オフライン系サブシステム２０のメモリ２２にコピーする全コピー処理を開始する（ステップＳ４）。このとき、フォールトトレラントサーバのＯＳは停止せず、オンライン系サブシステム１０による情報処理を継続したまま、バックグランド処理で全コピー処理を行う。
【００３６】
これにより、フォールトトレラントサーバを停止することなく、まずはオンライン系サブシステム１０のメモリ１２の内容を、オフライン系サブシステム２０のメモリ２２にコピーすることができる。
【００３７】
また、上記全コピー処理中には、データ検出部３２が、再度、オンライン系サブシステム１０のメモリ１２の全てのページ毎に、当該ページに記憶されているデータの内容に基づいて２回目のチェックサム計算を行い、第２チェックサムとする（ステップＳ５）。このとき、２回目のチェックサム計算は、上述した全コピー部３１によりオフライン系サブシステム２０のメモリ２２にコピーが完了したものに対して行う。
【００３８】
そして、データ検出部３２は、同一のメモリページの第１チェックサムと第２チェックサムを比較して、差分があるか否かを調べる（ステップＳ６）。データ検出部３２は、比較の結果、各チェックサムに差分がある場合には（ステップＳ６：Ｙｅｓ）、対応するメモリページを識別するページ情報を、チェックサム不一致リスト３６に登録する（ステップＳ７）。一方、データ検出部３２は、比較の結果、各チェックサムに差分がない場合には（ステップＳ６：Ｎｏ）、対応するメモリページを識別するページ情報を、チェックサム一致リスト３５に登録する（ステップＳ８）。
【００３９】
上述した処理により、チェックサムに差分があるページは、全コピー処理中つまりＯＳ稼働中に、メモリページの内容が変更されたと判定される基準を満たすデータとして検出され、チェックサム不一致リスト３６に登録される。なお、チェックサムに差分がないページであっても、メモリページの内容が変更されている場合があるが、この場合は判定基準を満たさなかったこととなる。なお、データ検出部３２は、メモリページのチェックサムを用いて全コピー処理の前後で内容が変更されたメモリページの検出を行っているが、他の方法を用いて内容が変更されたメモリページの検出を行ってもよい。
【００４０】
続いて、上述した全コピー部３１による全コピー処理（ステップＳ４）、及び、データ検出部３２による２回目のチェックサム計算が終了すると（ステップＳ５−Ｓ８）、変更データコピー部３３がＯＳつまりオンライン系サブシステム１０の情報処理を停止する（ステップＳ９）。そして、変更データコピー部３３は、ＯＳを停止した状態で、チェックサム不一致メモリスト３６に登録されているメモリページを、オンライン系サブシステム１０のメモリ１２から、オフライン系サブシステム２０のメモリ２２に一括してコピーする（ステップＳ１０）。
【００４１】
これにより、上述した全コピー処理中（ステップＳ５）にＯＳで使用されてメモリ１２内のデータに変更があった場合でも、かかるデータをオフライン系サブシステム２０のメモリ２２に反映させることができる。このとき、チェックサム不一致メモリリスト３６に登録されるメモリページは、メモリ１２内の全ページよりも少ないため、フォールトトレラントサーバによる情報処理が停止している時間は、全ページをコピーするよりも短い時間となる。
【００４２】
その後、変更データコピー部３３は、上述したチェックサム不一致メモリスト３６に登録されているメモリページの一括コピー処理が終了すると、フォールトトレラントサーバのＯＳを再開して、二重化処理（同期処理）を開始する（ステップＳ１１）。
【００４３】
続いて、変更データコピー部３３は、二重化処理を停止することなくバックグラウンド処理で、チェックサム一致メモリスト３５に登録されているメモリページをオンライン系サブシステム１０のメモリ１２からオフライン系サブシステム２０のメモリ２２にコピーする（ステップＳ１２）。かかる処理により、全コピー処理の前後でメモリページの内容に変更があってもチェックサムに差分が生じないメモリページを、両サブシステム１０，２０のメモリ１２，２２で一致させる。
【００４４】
具体的に、上述したコピー処理では、変更データコピー部３３が、まず、オンライン系サブシステム１０のメモリ１２内の各ページの内容と、オフライン系サブシステム２０のメモリ２２の各ページの内容とを読み出す。そして、変更データコピー部３３は、読み出した各ページの内容が一致しているか否かを調べ（ステップＳ１３）、一致している場合には（ステップＳ１３：Ｙｅｓ）、ページのコピーは行わない（ステップＳ１４）。一方、一致していない場合には（ステップＳ１３：Ｎｏ）、読み出したオンライン系サブシステム１０のメモリページを、当該オンライン系サブシステム１０のメモリ１２と、オフライン系サブシステム２０のメモリとに、それぞれ記憶する（ステップＳ１５）。これは、オンライン系サブシステム１０とオフライン系サブシステム２０とで同期処理を確保するためである。
【００４５】
また、上述したチェックサム一致メモリスト３５に登録されているメモリページのコピー処理中（ステップＳ１２−１５）には、パケット監視部３４が両サブシステム１０，２０の両プロセッサ１１，１２からそれぞれ出力されるパケットを監視する（ステップＳ１６）。パケット監視部３４は、両プロセッサ１１，２１から出力されるパケットの内容が一致していないことを検出した場合には（ステップＳ１７）、サーバのＯＳを停止して、オンライン系サブシステム１０及びオフライン系サブシステム２０の二重化処理を停止する（ステップＳ１８）。そして、パケット監視部３４は、オンライン系サブシステム１０のメモリ１２に記憶されている全てのメモリページを、オフライン系サブシステム２０のメモリ２２に一括してコピーする（ステップＳ１９）。その後、全てのメモリページのコピーが終了すると、ＯＳを再開して二重化処理を再開する（ステップＳ２０）。
【００４６】
以上のように、本実施形態におけるフォールトトレラントサーバによると、オンライン系とオフライン系とでメモリコピーを行う際に、ＯＳを停止する時間を、メモリを全てのコピーする場合と比較して短くすることができる。その結果、フォールトトレラントサーバにて提供しているサービス停止時間を短縮することができ、サーバ自体の可用性の向上を図ることができる。
【００４７】
ここで、上述したフォールトレラントサーバでは、全コピー処理の前後でそれぞれメモリページのチェックサムを算出して、当該全コピー処理中にデータ内容の変更のあったメモリページの検出を行っているが、他の方法によりメモリページの検出を行ってもよい。例えば、データ検出部１３２は、いずれかの記憶装置に全コピー処理前の全てのメモリページの内容を保持しておき、かかる保持データを参照して、全コピー処理中にメモリページの内容に変更があるか否かを判断して、変更があったメモリページを検出してもよい。
【００４８】
＜実施形態２＞
次に、本発明の第２の実施形態を、図７を参照して説明する。
【００４９】
本実施形態におけるフォールトトレラントサーバ１００は、演算装置１１１及びメモリ１１２を備えたオンライン系サブシステム１１０と、演算装置１２１及びメモリ１２２を備えたオフライン系サブシステム１２０と、を備えている。そして、フォールトトレラントサーバは、各サブシステム１１０，１２０による情報処理を二重化するよう構成されている。
【００５０】
また、フォールトトレラントサーバ１００は、全コピー手段１３０と、データ検出手段１４０と、変更データコピー手段１５０と、を備える。
【００５１】
上記全コピー手段１３０は、オンライン系サブシステム１１０及びオフライン系サブシステム１２０による情報処理の二重化を開始する前に、オンライン系サブシステム１１０の演算装置１１１による情報処理の実行を停止させずに、オンライン系サブシステム１１０のメモリ１１１に記憶されている全てのデータを、オフライン系サブシステム１２０のメモリ１２２にコピーする。
【００５２】
上記データ検出手段１４０は、オンライン系サブシステム１１０のメモリ１１２に記憶されているデータのうち、全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出する。
【００５３】
上記変更データコピー手段１５０は、上記データ検出手段１４０により検出されたデータを、オンライン系サブシステム１１０のメモリ１１１からオフライン系サブシステム１２０のメモリ１２２にコピーする。
【００５４】
上記構成のフォールトトレラントサーバ１００によると、まず、オンライン系サブシステム１１０は、オフライン系サブシステム１２０が停止状態であっても、メモリ１１２に記憶したデータを用いて演算装置１１１にて情報処理を実行する状態となる。かかる状況で、オフライン系サブシステム１２０が動作し、オンライン系サブシステム１１０に同期して情報処理の二重化を行う際には、オンライン系サブシステム１１０のメモリ１１１の内容をオフライン系サブシステム１２０のメモリ１２２に同期する必要がある。
【００５５】
このため、フォールトトレラントサーバ１００は、まず、オンライン系サブシステム１１０の情報処理の実行を停止せずにバックグラウンド処理で、オンライン系サブシステム１１０のメモリ１１１に記憶されているデータの全てを、オフライン系サブシステム１２０のメモリ１２２にコピーする全コピー処理を実行する。これと共に、フォールトトレラントサーバ１００は、オンライン系サブシステム１１０のメモリ１２０に記憶されているデータのうち、全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出する処理を行う。そして、フォールトトレラントサーバ１００は、検出されたデータを、オンライン系サブシステム１１０のメモリ１１１からオフライン系サブシステム１２０のメモリ１２２にコピーする。
【００５６】
ここで、上記検出されたデータのコピーは、全コピー処理が終了してからオンライン系サブシステム１１０の演算装置１１２による情報処理の実行を停止して、実行するとよい。そして、その後、オンライン系サブシステム１１０、オフライン系サブシステムの両方による情報処理の二重化を開始する。
【００５７】
これにより、本発明のフォールトトレラントサーバ１００では、オンライン系サブシステム１１０とオフライン系サブシステム１２０とでメモリの同期を開始する前に、まず、オンライン系サブシステム１１０にて情報処理が実行された状態でメモリ１１２の全てのデータのコピーを行うため、かかる情報処理の停止を抑制することができる。そして、その後、オンライン系サブシステム１１０のメモリ１１２内で変更が生じた可能性の高いデータのみをオフライン系サブシステム１２０にコピーすることで、全データに対してコピー容量を抑制でき、迅速にオンライン系サブシステム１１０とオフライン系サブシステム１２０のメモリ１１２，１２２を一致させることができる。特に、このコピー処理のとき、オンライン系サブシステム１１０による情報処理の実行を停止しても、かかる停止の時間が、全データをコピーする際にかかる時間よりも短時間で済むこととなる。その結果、フォールトトレラントサーバ１００の可用性の低下を抑制することができる。
【００５８】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【００５９】
（付記１）
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバであって、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行する全コピー手段と、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出するデータ検出手段と、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーする変更データコピー手段と、
を備えたフォールトトレラントサーバ。
【００６０】
（付記２）
付記１に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記全コピー処理が終了してから前記検出されたデータを前記オフライン系サブシステムのメモリにコピーする、
フォールトトレラントサーバ。
【００６１】
（付記３）
付記２に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記全コピー処理が終了してから前記オンライン系サブシステムの演算装置による情報処理の実行を停止して、前記検出されたデータの全てを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリに一括してコピーする一括コピー処理を実行する、
フォールトトレラントサーバ。
【００６２】
（付記４）
付記３に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記一括コピー処理が終了すると、停止していた前記オンライン系サブシステムの演算装置による情報処理の実行を再開すると共に、前記オフライン系サブシステムの演算装置による情報処理の実行を開始して、情報処理の二重化を開始する、
フォールトトレラントサーバ。
【００６３】
上記構成のフォールトトレラントサーバによると、オンライン系サブシステムは、オフライン系サブシステムが停止状態であっても、メモリに記憶したデータを用いて演算装置にて情報処理を実行している。かかる状況で、オフライン系が動作し、オンライン系に同期して情報処理の二重化を開始する際には、オンライン系のメモリの内容をオフライン系に同期する必要がある。このため、まず、オンライン系は、自身による情報処理の実行を停止せずにバックグラウンド処理で、自身のメモリに記憶されているデータの全てをオフライン系のメモリにコピーする全コピー処理を実行する。これと共に、フォールトトレラントサーバでは、オンライン系のメモリに記憶されているデータのうち、全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出する処理を行う。そして、フォールトトレラントサーバは、検出されたデータを、オンライン系のメモリからオフライン系のメモリにコピーする。このとき、検出されたデータのコピーは、全コピー処理が終了してからオンライン系の演算装置による情報処理の実行を停止して、実行するとよい。そして、その後、オンライン系、オフライン系の両方による情報処理の二重化を開始する。
【００６４】
これにより、本発明におけるフォールトトレラントサーバでは、オンライン系とオフライン系とで同期を開始する前に、まず、オンライン系にて情報処理が実行された状態でメモリの全てのデータのコピーを行うため、かかる情報処理の停止を抑制することができる。そして、オンライン系のメモリ内で全コピー処理中に変更が生じた可能性の高いデータのみをオフライン系にコピーすることで、全データに対してコピー容量を抑制でき、迅速にオンライン系のメモリとオフライン系のメモリとを一致させることができる。特に、検出されたデータのコピー処理のとき、オンライン系による情報処理の実行を停止しても、かかる停止の時間が、全データをコピーする際にかかる時間よりも短時間で済むこととなる。その結果、フォールトトレラントサーバの可用性の低下を抑制することができる。
【００６５】
（付記５）
付記４に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記一括コピー処理後であり前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始した後に、前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータとして検出されていないデータを、前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を停止させずに、前記オフライン系サブシステムのメモリにコピーする未検出データコピー処理を実行する、
フォールトトレラントサーバ。
【００６６】
（付記６）
付記５に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記未検出データコピー処理時に、コピーする前記オンライン系サブシステムのメモリに記憶されているデータが、前記オフライン系サブシステムのメモリに記憶されているデータと一致するか否かを調べ、一致している場合には、前記オンライン系サブシステムのメモリに記憶されているデータを前記オフライン系サブシステムのメモリにコピーせず、一致していない場合には、前記オンライン系サブシステムのメモリに記憶されているデータを、当該オンライン系サブシステムのメモリと前記オフライン系サブシステムのメモリとにそれぞれ記憶する、
フォールトトレラントサーバ。
【００６７】
これにより、オンライン系サブシステムのメモリのデータのうち、上述した全コピー処理中に内容の変更があっても判定基準を満たないことにより検出されないデータがあった場合でも、後にオフライン系のメモリにコピーして、両メモリを一致させることができる。このとき、オンライン系とオフライン系のメモリ間でデータが一致しない場合には、オンライン系に記憶されているデータを、当該オンライン系のメモリとオフライン系のメモリとに記憶することで、二重化処理を確保することができる。
【００６８】
（付記７）
付記５又は６に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記未検出データコピー処理中に、前記オンライン系サブシステムの演算装置と前記オフライン系サブシステムの演算装置とからそれぞれ出力されるデータを監視し、各データが一致していない場合には、前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を停止して、前記オンライン系サブシステムのメモリに記憶されているデータの全てを、前記オフライン系サブシステムのメモリに一括してコピーする、
フォールトトレラントサーバ。
【００６９】
このように、フォールトトレラントサーバは、上述した未検出データコピー処理中に、オンライン系とオフライン系とで情報処理のデータに不一致が生じたことを検出すると、二重化処理を停止して、オンライン系のメモリの全データをオフライン系のメモリにコピーする。その結果、二重化処理の不整合を確実に抑制することができ、可用性の低下を抑制することができる。
【００７０】
（付記８）
付記１乃至７のいずれかに記載のフォールトトレラントサーバであって、
前記データ検出手段は、前記全コピー処理の前に前記オンライン系サブシステムのメモリに記憶されている全てのデータの要約を算出して第一要約とし、前記全コピー処理中に前記オンライン系サブシステムのメモリに記憶されている全てのデータの要約を算出して第二要約とし、前記第一要約及び前記第二要約で変化があったデータを、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータとして検出する、
フォールトトレラントサーバ。
【００７１】
これにより、全コピー処理中に内容に変更が生じるデータを簡易な処理で検出することができる。また、データの要約では、データの内容に変更があるにもかかわらず当該要約が同一となる場合があるが、上述した未検出データコピー処理にて、検出していないデータをコピーすることで、そのようなデータも適切にオフライン系にコピーすることができる。
【００７２】
（付記９）
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバに装備された制御装置に、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行する全コピー手段と、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出するデータ検出手段と、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーする変更データコピー手段と、
を実現させるためのプログラム。
【００７３】
（付記１０）
付記９に記載のプログラムであって、
前記変更データコピー手段は、前記全コピー処理が終了してから前記検出されたデータを前記オフライン系サブシステムのメモリにコピーする、
プログラム。
【００７４】
（付記１１）
付記１０に記載のフォールトトレラントサーバであって、
前記変更データコピー手段は、前記全コピー処理が終了してから前記オンライン系サブシステムの演算装置による情報処理の実行を停止して、前記検出されたデータの全てを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリに一括してコピーする一括コピー処理を実行する、
プログラム。
【００７５】
（付記１２）
演算装置及びメモリを備えたオンライン系サブシステムと、演算装置及びメモリを備えたオフライン系サブシステムと、による情報処理を二重化するよう構成されたフォールトトレラントサーバが、
前記オンライン系サブシステム及び前記オフライン系サブシステムによる情報処理の二重化を開始する前に、前記オンライン系サブシステムの演算装置による情報処理の実行を停止させずに、前記オンライン系サブシステムのメモリに記憶されている全てのデータを、前記オフライン系サブシステムのメモリにコピーする全コピー処理を実行し、
前記オンライン系サブシステムのメモリに記憶されているデータのうち、前記全コピー処理中に内容が変更されたと判定される基準を満たすデータを検出し、
前記検出されたデータを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリにコピーする、
メモリデータコピー方法。
【００７６】
（付記１３）
付記１２に記載のメモリデータコピー方法であって、
前記全コピー処理が終了してから前記検出されたデータを前記オフライン系サブシステムのメモリにコピーする、
メモリデータコピー方法。
【００７７】
（付記１４）
付記１３に記載のメモリデータコピー方法であって、
前記全コピー処理が終了してから前記オンライン系サブシステムの演算装置による情報処理の実行を停止して、前記検出されたデータの全てを、前記オンライン系サブシステムのメモリから前記オフライン系サブシステムのメモリに一括してコピーする一括コピー処理を実行する、
メモリデータコピー方法。
【００７８】
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００７９】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【００８０】
１０  オンライン系サブシステム
１１  プロセッサ
１２  メモリ
１３  ｆｔチップセット
１４，１５  ＩＯデバイス
２０  オフライン系サブシステム
２１  プロセッサ
２２  メモリ
２３  ｆｔチップセット
２４，２５  ＩＯデバイス
３１  全コピー部
３２  データ検出部
３３  変更データコピー部
３４  パケット監視部
３５  チェックサム一致メモリリスト
３６  チェックサム不一致メモリリスト
１００  フォールトトレラントサーバ
１１０  オンライン系サブシステム
１１１  演算装置
１１２  メモリ
１２０  オフライン系サブシステム
１２１  演算装置
１２２  メモリ
１３０  全コピー手段
１４０  データ検出手段
１５０  変更データコピー手段
【図１】
0005880608.tif 000002
【図２】
0005880608.tif 000003
【図３】
0005880608.tif 000004
【図４】
0005880608.tif 000005
【図５】
0005880608.tif 000006
【図６】
0005880608.tif 000007
【図７】
0005880608.tif 000008