(57)【特許請求の範囲】
【請求項１】
制御系モジュールのみによるシングル運転から、待機系モジュールの復帰により二重化運転に移行する際に、前記制御系モジュールのアプリケーションが書き込み読み出ししているファイルを前記待機系モジュールのファイルに等値化する二重化制御システムにおいて、
原則として書き込み禁止処理した前記制御系モジュールのファイルを前記待機系モジュールのファイルにコピーしている期間中に、前記アプリケーションが制御系モジュールのファイルに書き込み要求したデータを保持する１次バッファを前記制御系モジュールに生成し、
前記ファイルのコピー処理の終了後、前記１次バッファへの書き込みを禁止すると共に、この１次バッファのデータを前記待機系モジュールのファイルに追記し、
前記１次バッファのデータ追記の期間中に、前記アプリケーションが制御系モジュールのファイルに書き込み要求したデータを保持する２次バッファを前記制御系モジュールに生成し、
以下同様に、書き込み禁止された（Ｎ−１）次バッファのデータを前記待機系モジュールのファイルに追記している期間中に、前記アプリケーションが制御系モジュールのファイルに書き込み要求したデータを保持するＮ次バッファを前記制御系モジュールに順次生成し、
前記Ｎ次バッファのデータを前記待機系モジュールのファイルに追記している期間中に、前記アプリケーションよりの書き込み要求が発生しない時に、全ファイルの等値化処理を終了することを特徴とする二重化制御システム。
【請求項２】
前記制御系モジュールのファイルを前記待機系モジュールへ等値化する速度は、前記アプリケーションによる制御系モジュールのファイルへの書き込み速度よりも速くされていることを特徴とする請求項１に記載の二重化制御システム。
【請求項３】
前記制御系モジュールに生成されたバッファは、そのデータが前記待機系モジュールのファイルと前記制御系モジュールのファイルに追記された後、順次削除されることを特徴とする請求項１または２に記載の二重化制御システム。
【請求項４】
前記制御系モジュールに生成されたバッファのデータを前記待機系モジュールのファイルに追記するのに要する時間が、前記アプリケーションの動作上許容されるファイル書き込み禁止時間よりも短かくなった場合には、前記アプリケーションの前記バッファへの書き込みを禁止し、そのバッファのデータを前記待機系モジュールのファイルに追記することを特徴とする請求項１乃至３のいずれかに記載の二重化制御システム。
【請求項５】
前記アプリケーションは、制御系モジュールのファイルのデータを読み込む際に、全ての読み込み範囲が前記ファイルに含まれていない場合には、前記１次バッファからＮ次バッファを順次探索し、読み込み範囲が含まれるバッファよりデータを取得して読み込み済みデータに結合することを特徴とする請求項１乃至４のいずれかに記載の二重化制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御系モジュールのみによるシングル運転から、待機系モジュールの復帰により二重化運転に移行する際に、前記制御系モジュールのアプリケーションが書き込み読み出ししているファイルを前記待機系モジュールのファイルに等値化する二重化制御システムに関するものである。
【背景技術】
【０００２】
二重化制御システムでは、二つの全く同じ構成のＣＰＵモジュール上で同様の処理を並列に動作させる。一方のＣＰＵモジュールは外部機器に対する信号出力を行う。このときのＣＰＵモジュールの動作モードを制御系動作モードと呼び、このモードで動作するＣＰＵモジュールを制御系モジュールと呼ぶ。
【０００３】
また、もう一方のＣＰＵモジュールは、外部機器に対する信号出力を行わない。このときのＣＰＵモジュールの動作モードを待機系動作モードと呼び、このモードで動作するＣＰＵモジュールを待機系モジュールと呼ぶ。
【０００４】
二重化運転状態において制御系モジュールが異常状態となった場合は、待機系モジュールの動作モードが制御系動作モードに移行されて新たな制御系モジュールとなり、システムはシングル運転状態へ移行される。
【０００５】
シングル運転状態から二重化運転状態への移行時に、新たなＣＰＵモジュールを追加すると、そのＣＰＵモジュールは待機系動作モードで動作する待機系モジュールとなる。このとき、制御系モジュールから待機系モジュールへ必要なデータが等値化される。等値化されるデータには、メモリと制御系モジュールのアプリケーションが書き込み，読み込みしている全ファイルがある。
【０００６】
本発明は、シングル運転状態から二重化運転状態へ移行する際の、制御系モジュールから待機系モジュールへのファイルの等値化の仕組みを提供する。図８は、従来の二重化制御システムの構成例を示す機能ブロック図である。
【０００７】
制御系モジュール１０は、ファイル二重化制御部１１、制御系ファイル１２、アプリケーション１３を備える。ファイル二重化制御部１１は、等値化部１１Ａ、書き込み部１１Ｂ，読み込み部１１Ｃを具備する。待機系モジュール２０は、ファイル二重化制御部２１及び待機系ファイル２２を備える。ファイル二重化制御部２１は、等値化部２１Ａを具備する。
【０００８】
この構成例では、二重化運転移行時に、制御系モジュール１０のアプリケーション１３から制御系のファイル１２へ書き込みを禁止した状態で、制御系ファイル１２の内容を待機系モジュール２０の待機系ファイル２２に書き込んで等値化する。
【０００９】
制御系ファイル１２の読み書きを行うアプリケーション１３は、読み込み時は、読み込み部１１Ｂに対して読み込み要求データを送信する。読み込み要求データには、ファイル名と読み込み範囲の情報が含まれる。読み込み範囲は、ファイルを読み込む位置(ファイルの先頭からの読み込み開始オフセット〜読み込み終了オフセット)を示す。
【００１０】
アプリケーション１３は、書き込み時は、書き込み部１１Ｂに対して書き込み要求データを送信する。書き込み要求データには、ファイル名と書き込みデータと書き込み範囲の情報が含まれる。書き込み範囲は、ファイルを書き込む位置(ファイルの先頭からの書き込み開始オフセット〜書き込み終了オフセット)を示す。
【００１１】
制御系モジュール１０のファイル二重化制御部１１は、二重化運転への移行処理時に、アプリケーション１２から制御系ファイル１２への書き込みを禁止して、等値化部１１Ａへファイル等値化要求を行う。書き込み部１１Ｃは、書き込み禁止のファイルへの書き込み要求は拒否する。
【００１２】
制御系モジュール１０の等値化部１１Ａは、ファイル二重化制御部１１からのファイル等値化要求受信時に、制御系ファイル１２のコピー要求を待機系モジュール２０の等値化部２１Ａへ行う。
【００１３】
待機系モジュール２０の等値化部２１Ａは、制御系モジュール１０の等値化部１１Ａから受信した等値化要求に基づいて、制御系ファイル１２の内容を待機系ファイル２２にコピーする。
【００１４】
図９は、従来の二重化制御システムの他の構成例を示す機能ブロック図である。図８の構成例との相違は、アプリケーション１３の制御系ファイル１２へのファイル書き込みを禁止せずにファイルを等値化する構成である。
【００１５】
この手法では、二重化運転移行時のファイル等値化中は、アプリケーション１２からの制御系ファイル１２への書き込み要求を、ファイル二重化制御部１１に形成した書き込み要求キュー１１Ｄに保存し、実際には制御系ファイル１２には書き込まない。等値化完了後に書き込み要求キュー１１Ｄに溜まっているファイル書き込み要求データを、制御系ファイル１２及び待機計ファイル２２に書き込む。
【００１６】
以下、図８の従来技術と異なる処理について記述する。読み込み部１１Ｃは、ファイル読み込み要求受信時に制御系ファイル１２から読み込み範囲のデータを読み込み、そのデータをアプリケーション１３に通知する。ただし、二重化運転移行処理中は以下の手順でアプリケーション１３に渡すデータを作成する。
【００１７】
最初に、制御系ファイル１２から読み込み範囲に含まれるデータを読み込む。次に、書き込み要求キュー１１Ｄに溜まっているファイル書き込み要求データを全て参照し、各書き込み要求が該当ファイルの読み込み範囲内であるかを判断し、該当する場合は制御系ファイル１２から読み込んだデータに対して、ファイル書き込み要求データを反映する。
【００１８】
書き込み部１１Ｂは、ファイル書き込み要求受信時に対象の制御系ファイル１２の書き込み範囲に書き込みデータを書き込む。ただし、該当ファイルが書き込み禁止の場合は、ファイルには書き込まず、書き込み要求データを書き込み要求キュー１１Ｄに保存する。即ち、書き込み要求キュー１１Ｄは、ファイル書き込み禁止中の制御系ファイル１２への書き込み要求データを保存する。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００５−１８２２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
従来構成の二重化制御システムでは、次のような問題がある。
図８に示す従来構成では、制御系ファイル１２への書き込みを禁止して、ファイルを等値化する。従って、ファイル書き込み禁止中は、アプリケーション１３が独自にファイルに書き込むデータをバッファリングしなければならない。更に、ファイル書き込み禁止期間は、等値化するファイルサイズに比例してバッファサイズが無制限に増加するため、アプリケーション１３は用意するバッファのサイズを決定することができない。
【００２１】
図９に示す従来構成では、制御系ファイル１２への書き込みを禁止せずにファイルを等値化することができる。しかしながら、ファイル読み込み要求時は、読み込んだファイルデータに対して書き込み要求キュー１１Ｄの内容を全て反映しなければならないため、ファイル読み込み性能が悪化する。
【００２２】
本発明の目的は、ファイル等値化処理中にアプリケーションからのファイル書き込みを禁止せず、且つファイル等値化処理中のアプリケーションのファイル読み込み性能をほとんど劣化させることがない二重化制御システムを実現することにある。
【課題を解決するための手段】
【００２３】
このような課題を達成するために、本発明は次の通りの構成になっている。
（１）制御系モジュールのみによるシングル運転から、待機系モジュールの復帰により二重化運転に移行する際に、前記制御系モジュールのアプリケーションが書き込み読み出ししているファイルを前記待機系モジュールのファイルに等値化する二重化制御システムにおいて、
原則として書き込み禁止処理した前記制御系モジュールのファイルを前記待機系モジュールのファイルにコピーしている期間中に、前記アプリケーションが制御系モジュールのファイルに書き込み要求したデータを保持する１次バッファを前記制御系モジュールに生成し、
前記ファイルのコピー処理の終了後、前記１次バッファへの書き込みを禁止すると共に、この１次バッファのデータを前記待機系モジュールのファイルに追記し、
前記１次バッファのデータ追記の期間中に、前記アプリケーションが制御系モジュールのファイルに書き込み要求したデータを保持する２次バッファを前記制御系モジュールに生成し、
以下同様に、書き込み禁止された（Ｎ−１）次バッファのデータを前記待機系モジュールのファイルに追記している期間中に、前記アプリケーションが制御系モジュールのファイルに書き込み要求したデータを保持するＮ次バッファを前記制御系モジュールに順次生成し、
前記Ｎ次バッファのデータを前記待機系モジュールのファイルに追記している期間中に、前記アプリケーションよりの書き込み要求が発生しない時に、全ファイルの等値化処理を終了することを特徴とする二重化制御システム。
【００２４】
（２）前記制御系モジュールのファイルを前記待機系モジュールへ等値化する速度は、前記アプリケーションによる制御系モジュールのファイルへの書き込み速度よりも速くされていることを特徴とする（１）に記載の二重化制御システム。
【００２５】
（３）前記制御系モジュールに生成されたバッファは、そのデータが前記待機系モジュールのファイルと前記制御系モジュールのファイルに追記された後、順次削除されることを特徴とする（１）または（２）に記載の二重化制御システム。
【００２６】
（４）前記制御系モジュールに生成されたバッファのデータを前記待機系モジュールのファイルに追記するのに要する時間が、前記アプリケーションの動作上許容されるファイル書き込み禁止時間よりも短かくなった場合には、前記アプリケーションの前記バッファへの書き込みを禁止し、そのバッファのデータを前記待機系モジュールのファイルに追記することを特徴とする（１）乃至（３）のいずれかに記載の二重化制御システム。
【００２７】
（５）前記アプリケーションは、制御系モジュールのファイルのデータを読み込む際に、全ての読み込み範囲が前記ファイルに含まれていない場合には、前記１次バッファからＮ次バッファを順次探索し、読み込み範囲が含まれるバッファよりデータを取得して読み込み済みデータに結合することを特徴とする（１）乃至（４）のいずれかに記載の二重化制御システム。
【発明の効果】
【００２８】
本発明によれば、次のような効果を期待することができる。
（１）アプリケーションにファイル書き込みを禁止することなく、制御系モジュールのファイルを待機系モジュールに等値化することができる。
【００２９】
（２）ファイルの等値化中であっても、アプリケーションは最新のファイルデータを取得することができ、通常のファイル読み込みと比較してアクセス速度の劣化はほとんどない。これにより、アプリケーションはファイルの二重化を考慮することなくファイルの読み書きを行うことができる。
【図面の簡単な説明】
【００３０】
【図１】本発明を適用した二重化制御システムの一実施例を示す機能ブロック図である。
【図２】ファイル等値化処理の流れを説明するフローチャートである。
【図３】ファイル書き込み処理の流れを説明するフローチャートである。
【図４】ファイル読み込み処理の流れを説明するフローチャートである。
【図５】書き込みバッファによる等値化処理の流れを説明するタイムチャートである。
【図６】図２に示すファイル等値化処理における書き込みバッファの追記処理の他の流れを説明するフローチャートである。
【図７】図４に示すファイル書き込み処理の他の流れを説明するフローチャートである。
【図８】従来の二重化制御システムの構成例を示す機能ブロック図である。
【図９】従来の二重化制御システムの他の構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００３１】
以下本発明を、図面を用いて詳細に説明する。図１は、本発明を適用した二重化制御システムの一実施例を示す機能ブロック図である。図８で説明した従来構成と同一要素には同一符号を付して説明を省略する。
【００３２】
図１は、図８に示す従来構成の機能を拡張したものである。以下、図８の構成に対して追加した要素と、変更した処理について述べる。尚、本発明では、アプリケーションによるファイル書き込みを、追記書き込みに限定するものとする。
【００３３】
追記書き込みとは、新たな書き込みデータをファイルの終端に追加する処理であり、ファイルに一度書き込んだデータは後から変更しないものとする。この処理は、例えば、データロギング等で採用されている。
【００３４】
図８の構成に追加された要素は、制御系モジュール１０のファイル二重化制御部１１内に、等値化制御部１０１、書き込み制御部１０２、読み込み制御部１０３、書き込みバッファ１０４を形成した構成である。
【００３５】
アプリケーション１３は、図８と同様に制御系ファイル１２の読み書きを行うが、読み込み時には、読み込み制御部１０３に対して読み込み要求データを送信する。書き込み時には、書き込み制御部１０２に対して書き込み要求データを送信する。ここで、書き込みするデータは追記のみとする。読み込み要求データ、書き込み要求データは、図８の従来技術と同様である。
【００３６】
ファイル二重化制御部１１は、二重化運転行移行処理時には、制御系ファイル１２の書き込みを禁止して、等値化部１１Ａと等値化制御部１０１に対してファイル等値化要求を行う。等値化制御部１０１は、ファイル等値化要求受信時に、待機系ファイル２２及び制御系ファイル１２のデータに対し、書き込みバッファ１０４に保持されたデータを追記する。
【００３７】
書き込みバッファ１０４のデータの制御系ファイル１２と待機系ファイル２２への追記は、１次バッファ→２次バッファ・・・Ｎ次バッファの順に行う。また、制御系ファイル１２への追記は等値化制御部１０１が行い、待機系ファイル２２への追記は待機系モジュール２０の等値化部２１Ａへ等値化制御部１０１がファイル書き込み要求を行う。このとき、該当バッファは書き込み禁止とする。書き込み要求に基づく処理の終了後は、該当バッファを削除する。
【００３８】
書き込み制御部１０２は、書き込み要求データ受信時に、制御系ファイル１２の書き込み可能な領域を探索し、その領域に書き込みデータを追記する。探索順は、制御系ファイル→１次バッファ→２次バッファ・・・Ｎ次バッファである。
【００３９】
全ての領域が書き込み禁止の場合は、新しいバッファを作成する。ここで、バッファへの書き込み速度は、等値化制御部によるファイル等値化速度以下とする。また、ファイル書き込み時は、書き込み部１１Ｂに書き込み要求データを送信する。
【００４０】
読み込み制御部１０３は、読み込み要求データ受信時に、要求に含まれる読み込み範囲のデータを、制御系ファイル１２と書き込みバッファ１０４から探索し、アプリケーション１３に通知する。探索方法は、制御系ファイル１２→１次バッファ→２次バッファ・・・Ｎ次バッファの順に、夫々のデータサイズを基に読み込み範囲に該当するかを判断する。
【００４１】
このとき、データ範囲が制御系ファイル１２と複数のバッファに跨る場合は、夫々から取得したデータを結合する。また、ファイル読み込み時は、読み込み部１１Ｃに読み込み要求データを送信する。
【００４２】
書き込みバッファ１０４は、制御系ファイル１２への書き込み内容を保持するバッファ群である。バッファは複数存在可能であり、生成順に１次バッファ、２次バッファ・・・Ｎバッファとする。各バッファが保持するデータの例は以下の通りである。
（ａ）ファイル名：書き込みデータを追記するファイル名
（ｂ）書き込み範囲：書き込みデータをファイルに書き込む位置
（ｃ）書き込みデータ：ファイルに追記するデータ
【００４３】
以下、図２乃至図４のフローチャート及び図５のタイムチャートにより、処理の流れを説明する。図２乃至図４において、本発明特有の処理ステップは太線のブロックで表記する。
【００４４】
図２は、ファイル等値化処理の流れを説明するフローチャートである。図２（Ａ）は、ファイル等値化処理の基本的な流れを示す。図２（Ｂ）は、図２（Ａ）における本発明特有の処理ステップＳ５の詳細フローを示す。
【００４５】
図２（Ａ）において、ステップＳ１で等値化処理が開始されると、ステップＳ２でファイル等値化制御部１１は制御系ファイル１２への書き込みを禁止する。ステップＳ３でファイル等値化制御部１１は、等値化部１１Ａにファイル等値化要求を行う。
【００４６】
ステップＳ４で等値化部１１Ａは、制御系ファイル１２の内容を待機系モジュールの待機系ファイル２２へ追記する。次に、ステップＳ５で書き込みバッファ１０４のデータを待機系ファイル２２及び制御系ファイル１２に追記する。
【００４７】
ステップＳ６でファイル等値化制御部１１は、制御系ファイル１２への書き込み禁止を解除し、ステップＳ７でファイル等値化処理を終了する。ステップＳ５の書き込みバッファの詳細は、図２（Ｂ）に示される。
【００４８】
図２（Ｂ）において、ステップＳ５１で書き込みバッファの追記処理が開始されると、ステップＳ５２でファイル二重化制御部１１は等値化制御部１０１へファイル等値化要求を行う。ステップＳ５３で等値化制御部１０１は、等値化するバッファを選択し、これを書き込み禁止にする。
【００４９】
ステップＳ５４で等値化制御部１０１は、待機系モジュール２０の等値化部２１Ａに等値化するバッファデータの書き込み要求をする。ステップＳ５５で待機系モジュール２０の等値化部２１Ａは、待機系ファイル２２にバッファデータを追記する。
【００５０】
次に、ステップＳ５６で、等値化制御部１０１は、制御系ファイル１２にバッファデータを追記する。そして、等値化制御部１０１は、ステップＳ５７で追記処理済みのバッファを削除する。
【００５１】
ステップＳ５８のチェックで全バッファの追記処理が完了した場合には、ステップＳ５９で書き込みバッファの追記処理を終了する。ステップＳ５８のチェックで全バッファの追記が未完了であれば、ステップＳ５３に戻り同一処理を繰り返す。
【００５２】
図３は、ファイル書き込み処理の流れを説明するフローチャートである。ステップＳ１でファイル書き込み処理が開始されると、ステップＳ２でアプリケーション１３が書き込み制御部１０２に書き込み要求データを送信する。
【００５３】
ステップＳ３のチェックで、制御系ファイル１２が書込み禁止でない場合には、ステップＳ４に進み、書き込み制御部１０２は書き込み部１１Ｂに書き込み要求データを送信する。ステップＳ５で書き込み部１１Ｂは、制御系ファイル１２に書き込みデータを追記し、ステップＳ６で書き込み処理を終了する。
【００５４】
ステップＳ３のチェックで、書き込み禁止である場合には、ステップＳ７のチェックに進み、書き込み可能なバッファが存在する場合には、ステップＳ８で書き込み制御部１０２は書き込み可能なバッファに書き込みデータを追記する。ステップＳ７のチェックで書き込み可能なバッファが存在しない場合には、ステップＳ９で書き込み制御部１０２は、書き込み可能なバッファを生成し、ステップＳ８に進む。
【００５５】
図４は、ファイル読み込み処理の流れを説明するフローチャートである。ステップＳ１でファイル読み込み処理が開始されると、ステップＳ２でアプリケーション１３は読み込み制御部１０３に読み込み要求データを送信する。
【００５６】
ステップＳ３のチェックで読み込み範囲が制御系ファイル１２に含まれる場合には、ステップＳ４で読み込み制御部１０３は、読み込み部１１Ｃに読み込み要求データ送信する。ステップＳ５で読み込み部１１Ｃは、制御系ファイル１２から読み込み範囲のファイルデータを読み込む。
【００５７】
ステップＳ６のチェックで読み込み範囲全ての読み込みが完了していれば、ステップＳ７で読み込み制御部１０３はアプリケーション１３に読み込みデータを通知し、ステップＳ８でファイル読み込み処理を終了する。
【００５８】
ステップＳ３のチェックで読み込み範囲が制御系ファイル１２に含まれない場合には、ステップＳ９で読み込み制御部１０３は、読み込み範囲が含まれるバッファを探索する。ステップＳ１０で読み込み制御部１０３は探索したバッファからバッファデータを読み込んでステップＳ６に進む。ステップＳ６のチェックで読み込み範囲全ての読み込みが完了していない場合には、ステップＳ９に戻り、同一処理を繰り返す。
【００５９】
図５は、書き込みバッファによる等値化処理の流れを説明するタイムチャートである。アプリケーション１３は、ファイル書き込み周期１秒、１周期の書き込み量１ＭＢでファイル書き込みを行うものとし、二重化運転移行処理前に既に１０００ＭＢの制御系ファイル１２が存在するとする。また、ファイル二重化制御部１１によるファイル等値化速度は、１０ＭＢ／ｓｅｃとする。
【００６０】
本発明によれば、等値化対象が、制御系ファイル→１次バッファ→２次バッファ→３次バッファと移行するに従い、等値化データのサイズが順次小さくなり、それに伴い等値化所要時間も減少していく。
【００６１】
１次バッファにはファイルの等値化所要時間１００秒（１０００ＭＢ／１０ＭＢ／ｓｅｃ）の間にアプリケーション１３から書き込み要求のあった１００ＭＢ（１ＭＢ／秒＊１００秒）のデータが蓄積される。
【００６２】
次に２次バッファには、１次バッファの等値化所要時間１０秒（１００ＭＢ／１０ＭＢ／ｓｅｃ）の間に、アプリケーションから書き込み要求のあった１０ＭＢ（１ＭＢ／秒＊１０秒）のデータが蓄積される。
【００６３】
このようにバッファデータのサイズは徐々に減少していき、最終的に３次バッファの等値化中はアプリケーションからの書き込み要求がないため、３次バッファの等値化後に制御系と待機系のファイルは完全に同一となり、全等値化処理を終了する。
【００６４】
以上説明した実施例では、Ｎ次バッファの等値化中におけるアプリケーションからのファイル書き込み要求がなくなるまでファイル等値化が完了しないため、等値化が完了するまでに多くの時間を要してしまう場合がある。
【００６５】
そこで、アプリケーション１３が一定時間であればファイル書き込み禁止を許容できる場合は、その時間内のみファイル及びバッファへの書き込みを禁止することで、ファイル等値化の時間を削減することがでる。
【００６６】
図６は、図２に示すファイル等値化処理における書き込みバッファの追記処理（図２（Ｂ））の他の流れを説明するフローチャートである。図２（Ｂ）に追加されるステップは、ステップＳ６０、Ｓ６１、Ｓ６２である。
【００６７】
追加ステップＳ６０、Ｓ６１は、ステップＳ５３とステップＳ５４の間に挿入される。追加ステップＳ６０のチェックでは、各バッファをファイルへ追記する前に、そのバッファの追記所要時間がアプリケーション１３の書き込み禁止許容時間より短いか否かを判断する。追記所要時間は、バッファデータサイズ／追記速度で求まる。追記速度は、制御系モジュールと待機系モジュール間のデータ転送方法や機器の処理能力によって一意に決まる。
【００６８】
追加ステップＳ６０のチェックで、バッファの追記所要時間がアプリケーション１３の書き込み禁止許容時間より短い場合には、追加ステップＳ６１に進み、全書き込みを禁止後、ステップＳ５４に進み、そのバッファの追記処理を行う。追加ステップＳ６０のチェックで、追記所要時間が書き込み禁止許容時間より長い場合には全書き込みを禁止せず、ステップＳ５４からバッファの追記処理を行う。
【００６９】
その後、ステップＳ５８とステップＳ５９の間に挿入された追加ステップＳ６１により全書き込み禁止を解除する。尚、ここでいう全書き込み禁止とは、制御系ファイルと全てのバッファへの書き込みを禁止することである。
【００７０】
図７は、図４に示すファイル書き込み処理の他の流れを説明するフローチャートである。図４に追加されるステップは、ステップＳ１０及びステップＳ１１である。追加ステップＳ１０は、ステップＳ２とステップＳ３の間に挿入される。
【００７１】
追加ステップＳ１０のチェックで、アプリケーション１３からの書き込み要求データ受信時に、全書き込みが禁止されている場合は、追加ステップＳ１１でアプリケーション１３に書き込み拒否を通知し、ステップＳ６でファイル書き込み処理を終了するする。追加ステップＳ１０のチェックで、全書き込みが禁止されていない場合は、ステップＳ３に進み図４と同様に処理する。
【００７２】
このように、所定の条件下でアプリケーション１３の制御系ファイル１２及びバッファ１０４への書き込みを禁止する処理によって、ファイル等値化処理中のファイル書き込み禁止時間を、アプリケーションの許容時間内に収めることができる。
【符号の説明】
【００７３】
１０  制御系モジュール
１１  ファイル二重化制御部
１１Ａ  等値化部
１１Ｂ  書き込み部
１１Ｃ  読み込み部
１２  制御系ファイル
１３  アプリケーション
２０  待機系モジュール
２１  ファイル二重化制御部
２１Ａ  等値化部
２２  待機系ファイル
１０１  等値化制御部
１０２  書き込み制御部
１０３  読み込み制御部
１０４  書き込みバッファ
【図１】
0005505148.tif 000002
【図２】
0005505148.tif 000003
【図３】
0005505148.tif 000004
【図４】
0005505148.tif 000005
【図６】
0005505148.tif 000006
【図７】
0005505148.tif 000007
【図８】
0005505148.tif 000008
【図９】
0005505148.tif 000009
【図５】
0005505148.tif 000010