(57)【要約】【課題】多重化された情報処理装置による処理を継続させながら、情報処理装置の出力データを正確に診断できる診断制御装置を提供する。【解決手段】第１情報処理装置および第２情報処理装置に入力される入力データを取得し、取得した入力データに第１情報処理装置および第２情報処理装置と同じデータ処理を実行して処理結果を出力する第１処理手段および第２処理手段と、第１処理手段および第２処理手段の処理結果を比較して一致するか否かによって自装置が正常であるか否かを判定する第１比較手段と、第１情報処理装置および第２情報処理装置が生成した第１データと第２データと、第１処理手段および第２処理手段の処理結果とを比較して一致するか否かを判定し、判定結果に応じて第１情報処理装置および第２情報処理装置に制御信号を送信する判定手段とを備える診断制御装置とする。【選択図】      図１
2019003578.tif 000002
【特許請求の範囲】
【請求項１】
同一の入力データを入力し、入力した同一の前記入力データに同一のデータ処理を実行する第１情報処理装置および第２情報処理装置の出力データを診断する診断制御装置であって、
前記第１情報処理装置および前記第２情報処理装置と同じ前記入力データを入力とする入力手段と、
前記入力データを前記入力手段から取得し、取得した前記入力データに前記第１情報処理装置および前記第２情報処理装置と同じ前記データ処理を実行して第１処理結果を出力する第１処理手段と、
前記第１処理手段と同じ前記入力データを前記入力手段から取得し、取得した前記入力データに前記第１情報処理装置および前記第２情報処理装置と同じ前記データ処理を実行して第２処理結果を出力する第２処理手段と、
前記第１処理手段から前記第１処理結果を取得するとともに前記第２処理手段から前記第２処理結果を取得し、前記第１処理結果と前記第２処理結果とを比較して一致するか否かによって自装置が正常であるか否かを判定する第１比較手段と、
前記第１情報処理装置が前記入力データに前記データ処理を実行することで生成された第１データと、前記第２情報処理装置が前記入力データに前記データ処理を実行することで生成された第２データとを取得し、前記第１処理結果および前記第２処理結果のいずれかと前記第１データおよび前記第２データとを比較して一致するか否かを判定し、判定結果に応じて前記第１情報処理装置および前記第２情報処理装置に制御信号を送信する判定手段とを備える診断制御装置。
【請求項２】
前記判定手段は、
前記第１情報処理装置および前記第２情報処理装置のうち前記第１処理結果および前記第２処理結果と一致する前記出力データを出力した方を正常であると判定し、
前記第１情報処理装置および前記第２情報処理装置のうち前記第１処理結果および前記第２処理結果とは異なる前記出力データを出力した方に障害があると判定し、
前記第１情報処理装置および前記第２情報処理装置のうち障害があると判定した方に対して停止および再起動のいずれかの制御を実行させる前記制御信号を送信する請求項１に記載の診断制御装置。
【請求項３】
前記第１情報処理装置から前記第１データを取得するとともに、前記第２情報処理装置から前記第２データを取得し、取得した前記第１データと前記第２データとを比較して一致するか否かを判定する第２比較手段を備え、
前記判定手段は、
前記第２比較手段によって前記第１データと前記第２データとが異なると判定された場合、前記第１データおよび前記第２データのそれぞれを、前記第１処理結果および前記第２処理結果のいずれかと比較して一致するか否かを判定する請求項１または２に記載の診断制御装置。
【請求項４】
前記判定手段は、
前記第１データと前記第１処理結果とを比較して一致するか否かを判定するとともに、前記第２データと前記第２処理結果とを比較して一致するか否かを判定し、前記第１情報処理装置および前記第２情報処理装置が正常であるか否かを判定する請求項３に記載の診断制御装置。
【請求項５】
前記第１データおよび前記第２データのうち前記判定手段によって正常であると判定された前記出力データに信頼度を付与した信頼度付きデータを生成し、生成した前記信頼度付きデータを出力する信頼度付与手段を備える請求項１乃至４のいずれか一項に記載の診断制御装置。
【請求項６】
前記判定手段は、
前記第１データおよび前記第２データのうち正常と判定した前記出力データに、正常と判定された前記出力データを生成した装置に関する情報を関連付けて前記信頼度付与手段に出力し、
前記信頼度付与手段は、
前記判定手段から取得した情報に基づいて、正常と判定された前記装置に関する情報を前記信頼度として前記出力データに付与した前記信頼度付きデータを生成する請求項５に記載の診断制御装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の診断制御装置と、
前記出力データを使用するシステムおよび前記診断制御装置に前記第１データを出力する前記第１情報処理装置と、
前記出力データを使用するシステムおよび前記診断制御装置に前記第２データを出力する前記第２情報処理装置とを備える情報処理システム。
【請求項８】
請求項５または６に記載の診断制御装置と、
前記診断制御装置に前記第１データを出力する前記第１情報処理装置と、
前記診断制御装置に前記第２データを出力する前記第２情報処理装置とを備える情報処理システム。
【請求項９】
同一の入力データを入力し、入力した同一の前記入力データに同一のデータ処理を実行する第１情報処理装置および第２情報処理装置の出力データを診断する診断制御方法であって、
前記第１情報処理装置および前記第２情報処理装置と同じ前記入力データを入力し、
入力した前記入力データに前記第１情報処理装置および前記第２情報処理装置と同じ前記データ処理を実行して第１処理結果を生成し、
入力した前記入力データに前記第１情報処理装置および前記第２情報処理装置と同じ前記データ処理を実行して第２処理結果を生成し、
前記第１処理結果と前記第２処理結果とを比較して一致するか否かによって自装置が正常であるか否かを判定し、
前記第１情報処理装置が前記入力データに前記データ処理を実行することで生成された第１データと、前記第２情報処理装置が前記入力データに前記データ処理を実行することで生成された第２データとを取得し、
前記第１処理結果および前記第２処理結果のいずれかと前記第１データおよび前記第２データとを比較して一致するか否かを判定し、
判定結果に応じて前記第１情報処理装置および前記第２情報処理装置に制御信号を送信する診断制御方法。
【請求項１０】
同一の入力データを入力し、入力した同一の前記入力データに同一のデータ処理を実行する第１情報処理装置および第２情報処理装置の出力データを診断するプログラムであって、
前記第１情報処理装置および前記第２情報処理装置と同じ前記入力データを入力する処理と、
入力した前記入力データに前記第１情報処理装置および前記第２情報処理装置と同じ前記データ処理を実行して第１処理結果を生成する処理と、
入力した前記入力データに前記第１情報処理装置および前記第２情報処理装置と同じ前記データ処理を実行して第２処理結果を生成する処理と、
前記第１処理結果と前記第２処理結果とを比較して一致するか否かによって自装置が正常であるか否かを判定する処理と、
前記第１情報処理装置が前記入力データに前記データ処理を実行することで生成された第１データと、前記第２情報処理装置が前記入力データに前記データ処理を実行することで生成された第２データとを取得する処理と、
前記第１処理結果および前記第２処理結果のいずれかと前記第１データおよび前記第２データとを比較して一致するか否かを判定する処理と、
判定結果に応じて前記第１情報処理装置および前記第２情報処理装置に制御信号を送信する処理とをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重化された情報処理装置の出力データを診断し、診断結果に基づいて情報処理装置を制御する診断制御装置、診断制御方法およびプログラムに関する。
【背景技術】
【０００２】
予約システムや販売管理システムなどのシステムでは、信頼性の高い情報処理をリアルタイムで提供し続けるために、情報処理装置を多重化させて冗長性を持たせることが有効である。情報処理装置を多重化させたシステムでは、異なる情報処理装置によって同じデータに同じ処理を実行することで得られる処理結果を比較し、処理結果の一致・不一致を判定することによって障害の有無を検証できる。一般的なシステムでは、処理結果に不一致が検出されてもいずれの装置に障害が発生しているのか判定できないため、装置ごとに障害の有無について診断する必要があった。
【０００３】
特許文献１には、二重化された情報処理装置の診断方式について開示されている。特許文献１の方式では、二つの実行部における診断動作を同時に実行し、診断結果に不一致が検出されてから装置ごとの診断を実行する。
【０００４】
特許文献２には、故障検出隔離機能を備えるコンピュータシステムについて開示されている。特許文献２のシステムでは、少なくとも３個のＣＰＵ（Central Processing Unit）モジュールを外部出力線に接続するとともに、互いにリニアアレイ状に接続する。各ＣＰＵモジュールは、外部出力線上の出力と自身の出力とを比較することによって自身の異常を判定し、異常がある際には自身をシステムから切り離す。
【０００５】
特許文献３には、３個以上の情報処理装置を備える情報処理システムにおいて、故障した装置を検出して切り離す故障検出・切離方式について開示されている。特許文献３の方式では、各装置の処理結果から２個の結果を選ぶ組み合わせの数に分けて処理結果対とし、それらの処理結果対ごとに処理結果同士を比較して一致するか否かを判定する。処理結果同士が一致した場合、処理結果対ごとに出力線を介して出力バスに対して処理結果を出力する。一方、処理結果同士が一致しない場合、処理結果対ごとにエラー信号を送出するとともに出力線をハイインピーダンス状態とし、エラー信号に基づいて故障した装置を特定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特公昭６２−３８７４０号公報
【特許文献２】特開平６−１４９６０５号公報
【特許文献３】特開平５−２０４６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の方式によれば、二つの実行部の診断結果を比較し、不一致が検出されてから装置ごとに診断を行うため、初めから個々の装置の診断を行うよりもシステムの処理が中断する時間を短縮できる。しかし、特許文献１の方式には、二つの実行部の診断結果に不一致が検出された後にシステムを中断する必要があるという問題点があった。
【０００８】
特許文献２の方式によれば、同じデータを複数のＣＰＵモジュールで処理した結果を比較し、異常が検出されたＣＰＵモジュールをシステムから切り離すことによって冗長性を向上できる。しかし、特許文献２の方式には、マスタＣＰＵモジュールに異常が発生した際に、隣接ＣＰＵモジュールをマスタに移行するまで、処理が中断されてしまうという問題点があった。
【０００９】
特許文献３の方式によれば、ハードウェア量を増加させることなく、故障した装置を検出して切り離すことができる。しかし、特許文献３の方式では、全ての装置の処理結果が不一致の場合に故障した装置を検出できず、処理が中断されてしまうという問題点があった。
【００１０】
本発明の目的は、上述した課題を解決し、多重化された情報処理装置による処理を継続させながら、情報処理装置の出力データを正確に診断できる診断制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一態様の診断制御装置は、同一の入力データを入力し、入力した同一の入力データに同一のデータ処理を実行する第１情報処理装置および第２情報処理装置の出力データを診断する診断制御装置であって、第１情報処理装置および第２情報処理装置と同じ入力データを入力とする入力手段と、入力データを入力手段から取得し、取得した入力データに第１情報処理装置および第２情報処理装置と同じデータ処理を実行して第１処理結果を出力する第１処理手段と、第１処理手段と同じ入力データを入力手段から取得し、取得した入力データに第１情報処理装置および第２情報処理装置と同じデータ処理を実行して第２処理結果を出力する第２処理手段と、第１処理手段から第１処理結果を取得するとともに第２処理手段から第２処理結果を取得し、第１処理結果と第２処理結果とを比較して一致するか否かによって自装置が正常であるか否かを判定する第１比較手段と、第１情報処理装置が入力データにデータ処理を実行することで生成された第１データと、第２情報処理装置が入力データにデータ処理を実行することで生成された第２データとを取得し、第１処理結果および第２処理結果のいずれかと第１データおよび第２データとを比較して一致するか否かを判定し、判定結果に応じて第１情報処理装置および第２情報処理装置に制御信号を送信する判定手段とを備える。
【００１２】
本発明の一態様の診断制御方法は、同一の入力データを入力し、入力した同一の入力データに同一のデータ処理を実行する第１情報処理装置および第２情報処理装置の出力データを診断する診断制御方法であって、第１情報処理装置および第２情報処理装置と同じ入力データを入力し、入力した入力データに第１情報処理装置および第２情報処理装置と同じデータ処理を実行して第１処理結果を生成し、入力した入力データに第１情報処理装置および第２情報処理装置と同じデータ処理を実行して第２処理結果を生成し、第１処理結果と第２処理結果とを比較して一致するか否かによって自装置が正常であるか否かを判定し、第１情報処理装置が入力データにデータ処理を実行することで生成された第１データと、第２情報処理装置が入力データにデータ処理を実行することで生成された第２データとを取得し、第１処理結果および第２処理結果のいずれかと第１データおよび第２データとを比較して一致するか否かを判定し、判定結果に応じて第１情報処理装置および第２情報処理装置に制御信号を送信する。
【００１３】
本発明の一態様のプログラムは、同一の入力データを入力し、入力した同一の入力データに同一のデータ処理を実行する第１情報処理装置および第２情報処理装置の出力データを診断するプログラムであって、第１情報処理装置および第２情報処理装置と同じ入力データを入力する処理と、入力した入力データに第１情報処理装置および第２情報処理装置と同じデータ処理を実行して第１処理結果を生成する処理と、入力した入力データに第１情報処理装置および第２情報処理装置と同じデータ処理を実行して第２処理結果を生成する処理と、第１処理結果と第２処理結果とを比較して一致するか否かによって自装置が正常であるか否かを判定する処理と、第１情報処理装置が入力データにデータ処理を実行することで生成された第１データと、第２情報処理装置が入力データにデータ処理を実行することで生成された第２データとを取得する処理と、第１処理結果および第２処理結果のいずれかと第１データおよび第２データとを比較して一致するか否かを判定する処理と、判定結果に応じて第１情報処理装置および第２情報処理装置に制御信号を送信する処理とをコンピュータに実行させる。
【発明の効果】
【００１４】
本発明によれば、多重化された情報処理装置による処理を継続させながら、情報処理装置の出力データを正確に診断できる診断制御装置を提供することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る情報処理システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る情報処理システムの診断制御装置の構成を示すブロック図である。
【図３】本発明の第１の実施形態に係る情報処理システムの診断制御装置の判定についてまとめた判定テーブルである。
【図４】本発明の第１の実施形態に係る情報処理システムの診断制御装置の動作について説明するためのフローチャートである。
【図５】本発明の第１の実施形態に係る情報処理システムの出力データを利用するシステムに情報処理システムを接続する一例を示す概念図である。
【図６】本発明の第２の実施形態に係る情報処理システムの構成を示すブロック図である。
【図７】本発明の第２の実施形態に係る情報処理システムの診断制御装置の構成を示すブロック図である。
【図８】本発明の第２の実施形態に係る情報処理システムの診断制御装置の判定についてまとめた判定テーブルである。
【図９】本発明の第２の実施形態に係る情報処理システムの診断制御装置の動作について説明するためのフローチャートである。
【図１０】本発明の第３の実施形態に係る情報処理システムの構成を示すブロック図である。
【図１１】本発明の第３の実施形態に係る情報処理システムの診断制御装置の構成を示すブロック図である。
【図１２】本発明の第３の実施形態に係る情報処理システムの診断制御装置の判定についてまとめた判定テーブルである。
【図１３】本発明の第３の実施形態に係る情報処理システムの診断制御装置の動作について説明するためのフローチャートである。
【図１４】本発明の各実施形態に係る情報処理システムを実現するためのハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお、以下の実施形態の説明に用いる全図においては、特に理由がない限り、同様箇所には同じ符号を付す。また、以下の実施形態において、同様の構成・動作に関しては繰り返しの説明を省略する場合がある。また、図面中の矢印の向きは、信号の流れの一例を示すものであり、信号の向きを限定するものではない。
【００１７】
（第１の実施形態）
まず、本発明の第１の実施形態に係る情報処理システムについて図面を参照しながら説明する。本実施形態の情報処理システムは、同じ入力データに同じデータ処理を実行し、同じ出力データを出力する二重化された情報処理装置を備える。なお、以下においては、情報処理装置を二重化する例を示すが、情報処理装置を三重化以上に多重化してもよい。
【００１８】
（構成）
図１は、本実施形態の情報処理システム１の構成を示すブロック図である。図１のように、情報処理システム１は、第１情報処理装置１１、第２情報処理装置１２および診断制御装置１３を備える。
【００１９】
第１情報処理装置１１と第２情報処理装置１２とは同様の構成を有する。第１情報処理装置１１と第２情報処理装置１２とは、同じ入力データを入力として、同じ入力データに同じデータ処理を実行して同じデータ（出力データとも呼ぶ）を出力するように構成される。第１情報処理装置１１および第２情報処理装置１２の少なくともいずれか一方に障害が発生すると、同じデータを入力としても異なる出力データが出力される。第１情報処理装置１１および第２情報処理装置１２は、自装置が出力した出力データを、その出力データを使用するシステムに出力するとともに、診断制御装置１３にも出力する。なお、これ以降、第１情報処理装置１１の出力データを出力Ａ（第１データとも呼ぶ）、第２情報処理装置１２の出力データを出力Ｂ（第２データとも呼ぶ）と呼ぶ。
【００２０】
診断制御装置１３は、第１情報処理装置１１と第２情報処理装置１２とに接続される。診断制御装置１３は、第１情報処理装置１１および第２情報処理装置１２と同じデータ処理を実行する処理機能を少なくとも二つ有する。これ以降は、診断制御装置１３が二つの処理機能を有するものとして説明するが、診断制御装置１３が有する処理機能は三つ以上であってもよい。また、診断制御装置１３は、二つの処理機能で処理した処理結果を比較する機能を有する。また、診断制御装置１３は、自装置の処理機能で処理した処理結果を、第１情報処理装置１１および第２情報処理装置１２の出力データと比較し、第１情報処理装置１１および第２情報処理装置１２を診断する機能を有する。さらに、診断制御装置１３は、診断結果に基づいて、第１情報処理装置１１および第２情報処理装置１２を制御する機能を有する。
【００２１】
診断制御装置１３は、少なくとも二つの処理機能によって同じ入力データを処理する。例えば、診断制御装置１３は、二つの処理機能によって同じ入力データを順番に処理する。この場合、診断制御装置１３は、一方の処理機能による処理が終了した時点で、もう一方の処理機能によって処理を開始すればよい。なお、診断制御装置１３は、二つの処理機能によって同じ入力データを並列で処理してもよい。
【００２２】
診断制御装置１３が入力データを処理し始めるタイミングは、第１情報処理装置１１および第２情報処理装置１２が入力データを処理し始めるタイミングと整合させることが好ましい。例えば、診断制御装置１３は、第１情報処理装置１１および第２情報処理装置１２と同じタイミングで同じ入力データを入力とし、同じタイミングで同じデータ処理を開始する。
【００２３】
診断制御装置１３は、二つの処理機能によって処理した処理結果を比較する。診断制御装置１３は、二つの処理機能による処理結果が同じ場合、自装置が正常であると判定する。一方で、二つの処理機能による処理結果が異なる場合、診断制御装置１３は、自装置に障害があると判定する。診断制御装置１３は、自装置に障害があると判定した場合、自装置を停止させるか再起動する。なお、診断制御装置１３は、自装置に障害があると判定した際に、第１情報処理装置１１および第２情報処理装置１２の出力データを使用するシステムにその出力データの信頼性を的確に診断できなかった旨を通知してもよい。
【００２４】
また、診断制御装置１３は、第１情報処理装置１１および第２情報処理装置１２の出力データを入力とする。診断制御装置１３は、自装置が正常であると判定すると、第１情報処理装置１１の出力データ（出力Ａ）と、第２情報処理装置１２の出力データ（出力Ｂ）とを自装置の処理結果と比較する。
【００２５】
診断制御装置１３の処理機能は、第１情報処理装置１１および第２情報処理装置１２よりも処理能力が高い方が好ましい。例えば、診断制御装置１３の処理機能は、第１情報処理装置１１および第２情報処理装置１２と同じデータ処理を２倍の速さで実行する。特に、診断制御装置１３が二つの処理機能によって同じ入力データを順番にデータ処理する場合、第１情報処理装置１１および第２情報処理装置１２の２倍の速さでデータ処理を実行することが好ましい。そうすれば、第１情報処理装置１１および第２情報処理装置１２の出力データを取得した段階で、第１情報処理装置１１および第２情報処理装置１２の出力データと自装置の処理結果とを比較し始めることができる。
【００２６】
診断制御装置１３は、第１情報処理装置１１および第２情報処理装置１２の出力データ（出力Ａおよび出力Ｂ）と、自装置の処理結果とが異なる場合、いずれの装置に障害があるのかを判定する。診断制御装置１３は、第１情報処理装置１１および第２情報処理装置１２の出力データ（出力Ａおよび出力Ｂ）と、自装置の処理結果とを比較する時点において、自装置の処理結果が正しいものと判定している。そのため、診断制御装置１３は、自装置の処理結果と異なる出力データを出力した情報処理装置に障害があると判定する。
【００２７】
診断制御装置１３は、第１情報処理装置１１および第２情報処理装置１２のうち、障害があると判定した情報処理装置に対して停止または再起動を指示する制御信号を送信する。診断制御装置１３の制御信号を受信した情報処理装置は、その制御信号に応じて停止または再起動する。このとき、診断制御装置１３の処理結果と一致する出力データを出力した方の情報処理装置は、診断制御装置１３によって正常であると判定されており、処理を継続する。
【００２８】
以上が、情報処理システム１の構成の概要についての説明である。次に、情報処理システム１の診断制御装置１３の構成について図面を参照しながら説明する。
【００２９】
〔診断制御装置〕
図２は、診断制御装置１３の構成を示すブロック図である。図２のように、診断制御装置１３は、入力部１３１、第１処理部１３２、第２処理部１３３、比較部１３４および判定部１３５を有する。図２において、破線枠に囲まれた構成（第１処理部１３２、第２処理部１３３、比較部１３４、判定部１３５）が、本実施形態の特徴的な構成である。
【００３０】
入力部１３１は、第１情報処理装置１１および第２情報処理装置１２と同じタイミングで同じ入力データを入力とする。なお、入力部１３１が入力データを取得するタイミングは、第１情報処理装置１１および第２情報処理装置１２が入力データを取得するタイミングと完全に一致しなくてもよい。また、第１処理部１３２および第２処理部１３３に入力データを直接入力する場合は、入力部１３１を省略してもよい。
【００３１】
入力部１３１は、取得した入力データを第１処理部１３２および第２処理部１３３に出力する。
【００３２】
例えば、第１処理部１３２と第２処理部１３３とが順番に入力データを処理する場合、入力部１３１は、第１処理部１３２および第２処理部１３３のいずれかに入力データを出力する。そして、入力部１３１は、いずれかの処理部による処理が終了するタイミングに合わせて、もう一方の処理部に入力データを出力する。なお、第１処理部１３２および第２処理部１３３が並列で入力データを処理する場合には、入力部１３１は、第１処理部１３２および第２処理部１３３に同じタイミングで入力データを出力すればよい。
【００３３】
第１処理部１３２および第２処理部１３３は、入力部１３１に接続される。第１処理部１３２および第２処理部１３３は、入力部１３１から同じ入力データを取得する。なお、第１処理部１３２および第２処理部１３３が入力データを取得するタイミングは、同時であってもよいし、異なっていてもよい。以下においては、第１処理部１３２の処理が終了してから、第２処理部１３３の処理を開始するものとして説明する。
【００３４】
第１処理部１３２および第２処理部１３３のうち少なくとも一方が入力データを処理し始めるタイミングは、第１情報処理装置１１および第２情報処理装置１２が処理し始めるタイミングと整合させることが好ましい。
【００３５】
第１処理部１３２および第２処理部１３３は、第１情報処理装置１１および第２情報処理装置１２よりも処理能力が高い方が好ましい。例えば、第１処理部１３２および第２処理部１３３は、第１情報処理装置１１および第２情報処理装置１２と同じ処理を２倍の速さで実行する。特に、第１処理部１３２および第２処理部１３３が同じ入力データを順番に処理する場合、第１情報処理装置１１および第２情報処理装置１２の２倍の速さで処理を実行することが好ましい。そうすれば、第１情報処理装置１１および第２情報処理装置１２の出力データを取得した段階で、第１情報処理装置１１および第２情報処理装置１２の出力データと自装置の処理結果とをリアルタイムで比較することができる。
【００３６】
比較部１３４は、第１処理部１３２の処理結果（以下、処理結果Ａと呼ぶ）と、第２処理部１３３の処理結果（以下、処理結果Ｂと呼ぶ）とを比較する。比較部１３４は、処理結果Ａ（第１処理結果とも呼ぶ）と処理結果Ｂ（第２処理結果とも呼ぶ）とが同じ場合、自装置が正常であると判定する。この場合、判定部１３５による判定処理が実行される。
【００３７】
一方で、処理結果Ａと処理結果Ｂとが異なる場合、比較部１３４は、自装置に障害があると判定する。比較部１３４は、自装置に障害があると判定した場合、自装置を停止させるか再起動する。
【００３８】
判定部１３５は、第１情報処理装置１１および第２情報処理装置１２の出力データ（出力Ａおよび出力Ｂ）を入力とする。判定部１３５は、第１情報処理装置１１の出力データ（出力Ａ）と、第２情報処理装置１２の出力データ（出力Ｂ）とを自装置の処理結果と比較する。
【００３９】
判定部１３５は、出力Ａおよび出力Ｂのうちいずれかと、自装置の処理結果とが異なる場合、いずれの情報処理装置に障害があるのかを判定する。判定部１３５による判定処理が開始されている場合は、自装置の処理結果が正しいものと判定されている。そのため、判定部１３５は、自装置の処理結果と異なる出力データを出力した情報処理装置に障害があると判定する。
【００４０】
判定部１３５は、障害があると判定した方の情報処理装置に対して停止または再起動を指示する制御信号を送信する。判定部１３５の制御信号を受信した情報処理装置は、その制御信号に基づいて停止または再起動する。このとき、診断制御装置１３の処理結果と一致する出力データを出力した方の情報処理装置は、判定部１３５によって正常であると判定されており、処理を継続する。
【００４１】
なお、図２においては、第１情報処理装置１１および第２情報処理装置１２と判定部１３５との間において、出力データを入出力する信号線と、制御信号を入出力する信号線とを分けて描いているが、同じ信号線を共有させてもよい。
【００４２】
以上が、診断制御装置１３の構成に関する説明である。続いて、診断制御装置１３による判定について図面を参照しながら説明する。
【００４３】
〔判定〕
図３は、診断制御装置１３による判定についてまとめた判定テーブル１３０である。判定テーブル１３０は、五つの判定を含む。なお、判定テーブル１３０において、丸印「○」は一致、バツ印「×」は不一致を示す。
【００４４】
条件１１〜１４は、第１処理部１３２および第２処理部１３３の処理結果が比較部１３４によって一致すると判定される場合である。これ以降、第１処理部１３２および第２処理部１３３の処理結果が一致する場合、その処理結果のことを自装置の処理結果（診断制御装置の処理結果とも呼ぶ）と呼ぶ。
【００４５】
条件１１は、第１情報処理装置１１および第２情報処理装置１２の出力データ（出力Ａおよび出力Ｂ）と、診断制御装置１３の処理結果とが一致すると判定される場合である。この場合、判定部１３５はいずれの装置も正常であると判定し、それぞれの装置の処理は継続される。
【００４６】
条件１２は、第１情報処理装置１１の出力データ（出力Ａ）と診断制御装置１３の処理結果とは一致するが、第２情報処理装置１２の出力データ（出力Ｂ）と診断制御装置１３の処理結果とが異なると判定される場合である。この場合、判定部１３５は、第１情報処理装置１１は正常であり、第２情報処理装置１２に障害があると判定する。そして、判定部１３５は、第２情報処理装置１２に制御信号を送信する。なお、第１情報処理装置１１および診断制御装置１３の処理は継続される。
【００４７】
条件１３は、第２情報処理装置１２の出力データ（出力Ｂ）と診断制御装置１３の処理結果とは一致するが、第１情報処理装置１１の出力データ（出力Ａ）と診断制御装置１３の処理結果とが異なると判定される場合である。この場合、判定部１３５は、第２情報処理装置１２は正常であり、第１情報処理装置１１に障害があると判定する。そして、判定部１３５は、第１情報処理装置１１に制御信号を送信する。なお、第２情報処理装置１２および診断制御装置１３の処理は継続される。
【００４８】
条件１４は、第１情報処理装置１１および第２情報処理装置１２の出力データ（出力Ａおよび出力Ｂ）と、診断制御装置１３の処理結果とが異なると判定される場合である。この場合、判定部１３５は、第１情報処理装置１１および第２情報処理装置１２に障害があると判定し、第１情報処理装置１１および第２情報処理装置１２に制御信号を送信する。なお、診断制御装置１３の処理は継続される。
【００４９】
条件１５は、第１処理部１３２および第２処理部１３３の処理結果が異なる場合である。この場合、診断制御装置１３は、第１情報処理装置１１および第２情報処理装置１２の出力データ（出力Ａおよび出力Ｂ）の正否を判定できないため、情報処理システム１の出力データの信頼性が得られない。そのため、判定部１３５は、自装置を停止または再起動する際に、第１情報処理装置１１および第２情報処理装置１２に制御信号を送信する。なお、第１処理部１３２および第２処理部１３３の処理結果が異なる場合、出力Ａおよび出力Ｂの信頼性が診断制御装置１３によって検証されないが、第１情報処理装置１１および第２情報処理装置１２による処理を継続させてもよい。
【００５０】
以上が、診断制御装置１３による判定についての説明である。次に、診断制御装置１３の動作について図面を参照しながら説明する。
【００５１】
（動作）
図４は、診断制御装置１３の動作について説明するためのフローチャートである。なお、以下においては、診断制御装置１３の構成要素を動作主体として説明するが、診断制御装置１３自体を動作主体とみなしてもよい。
【００５２】
図４において、まず、入力部１３１は、入力データを入力とする（ステップＳ１１）。
【００５３】
次に、第１処理部１３２および第２処理部１３３は、入力データを処理する（ステップＳ１２）。
【００５４】
ここで、比較部１３４は、第１処理部１３２および第２処理部１３３の処理結果を比較する（ステップＳ１３）。
【００５５】
第１処理部１３２および第２処理部１３３の処理結果が異なる場合（ステップＳ１３でＮｏ）、診断制御装置１３は、自装置を停止または再起動する（ステップＳ１４）。このとき、診断制御装置１３は、第１情報処理装置１１および第２情報処理装置１２に制御信号を送信してもよい。
【００５６】
一方、第１処理部１３２および第２処理部１３３の処理結果が一致する場合（ステップＳ１３でＹｅｓ）、判定部１３５は、第１情報処理装置１１および第２情報処理装置１２の出力データ（出力Ａおよび出力Ｂ）を入力する（ステップＳ１５）。
【００５７】
ここで、判定部１３５は、第１情報処理装置１１および第２情報処理装置１２の出力データ（出力Ａおよび出力Ｂ）と、診断制御装置１３の処理結果とが一致するか否かを判定する（ステップＳ１６）。
【００５８】
出力Ａおよび出力Ｂの少なくともいずれかが診断制御装置１３の処理結果と異なる場合（ステップＳ１６でＮｏ）、判定部１３５は、診断制御装置１３の処理結果とは異なる出力データを出力した方の情報処理装置に制御信号を送信する（ステップＳ１７）。
【００５９】
一方で、出力Ａおよび出力Ｂが診断制御装置１３の処理結果と一致する場合（ステップＳ１６でＹｅｓ）、図４のフローチャートに沿った処理は終了とする。
【００６０】
以上が、診断制御装置１３の動作についての説明である。なお、図４のフローチャートに沿った処理は一例であって、診断制御装置１３の動作の内容や順番を限定するものではない。
【００６１】
ここで、図５を用いて、本実施形態の情報処理システム１と、情報処理システム１の出力データを利用するデータ利用システム１００とを接続する例について説明する。例えば、データ利用システム１００は、サービスや商品の予約を取り扱う予約システムに適用される。
【００６２】
例えば、データ利用システム１００は、第１情報処理装置１１と第２情報処理装置１２とから出力データを取得すると、取得した出力データの正否を診断する指示を示す制御信号を診断制御装置１３に送信する。診断制御装置１３は、制御信号に応じて、第１情報処理装置１１および第２情報処理装置１２の出力データの診断を開始する。なお、データ利用システム１００は、診断制御装置１３を介して、第１情報処理装置１１および第２情報処理装置１２を制御するように構成してもよい。データ利用システム１００は、第１情報処理装置１１および第２情報処理装置１２が二重化されて動作している間は、信頼性の高い出力データを使用できる。
【００６３】
以上のように、本実施形態によれば、二重化された情報処理装置の出力データを診断し、いずれかの情報処理装置に障害を検出した場合、いずれの情報処理装置に障害が発生したのかを判定できる。そのため、本実施形態によれば、二重化された情報処理装置による処理を継続させながら安定した診断を実現することができる。特に、本実施形態によれば、情報処理装置によって処理された出力データを取得するタイミングで、正しい処理結果に基づいて判定処理を開始できるので、正確な判定結果を一般的な手法よりも早いタイミングで得ることができる。
【００６４】
例えば、サービスや商品の予約を取り扱う予約システムにおいて、二重化された情報処理装置の処理した出力データを使用する場面では、出力データの比較判定や、比較判定した出力データの整合性を確認することになる。そのような場面では、予期しない不具合が情報処理装置に発生した際に、次のような事例が起こり得る。一つは、予約が確定したサービスや商品に対して、同じ予約を入れてしまう事例である。一つは、予約が確定したサービスや商品に対して誤った価格で取引してしまう事例である。このような事例が発生した場合、取引上において損失が発生し、大きな問題につながる可能性がある。
【００６５】
このような問題を回避するためには、情報処理装置からの出力データに誤りが含まれないようにする必要があるが、予約の申し込みが連続で入るような場合、継続して出力データの処理ができなくなって新たな問題につながる可能性もある。本実施形態によれば、予期せぬ不具合が情報処理装置に発生したとしても、装置およびシステムとして包括的に情報処理を実行することが可能なため、予約の申し込みが次々と入るような局面であっても処理を継続できる。
【００６６】
（第２の実施形態）
次に、本発明の第２の実施形態に係る情報処理システムについて図面を参照しながら説明する。本実施形態の情報処理システムは、診断制御装置の処理結果と比較する前に、多重化した情報処理装置の出力データを比較する点で第１の実施形態の情報処理システムと異なる。
【００６７】
（構成）
図６は、本実施形態の情報処理システム２の構成を示すブロック図である。図２のように、情報処理システム２は、第１情報処理装置２１、第２情報処理装置２２および診断制御装置２３を備える。なお、第１情報処理装置２１および第２情報処理装置２２の構成や機能は、第１の実施形態の第１情報処理装置１１および第２情報処理装置１２と同様であるので、詳細な説明は省略する。また、診断制御装置２３は、一部の機能を除いて第１の実施形態の診断制御装置１３と同様であるので、以下においては特徴的な箇所に着目して説明する。
【００６８】
〔診断制御装置〕
図７は、診断制御装置２３の構成を示すブロック図である。図７のように、診断制御装置２３は、入力部２３１、第１処理部２３２、第２処理部２３３、第１比較部２３４、判定部２３５および第２比較部２３６を有する。入力部２３１、第１処理部２３２および第２処理部２３３は、第１の実施形態の診断制御装置１３の対応する構成と同様であるので、詳細な説明は省略する。また、第１比較部２３４は、第１の実施形態の診断制御装置１３の比較部１３４と同様であるので、詳細な説明は省略する。
【００６９】
第２比較部２３６は、第１情報処理装置２１と第２情報処理装置２２の出力データ（出力Ａおよび出力Ｂ）を入力とする。第２比較部２３６は、出力Ａと出力Ｂとを比較する。第２比較部２３６は、出力Ａと出力Ｂとが同じ場合、第１情報処理装置２１および第２情報処理装置２２が正常であると判定する。この場合、判定部２３５による判定処理は割愛できる。一方で、出力Ａと出力Ｂとが異なる場合、第２比較部２３６は、第１情報処理装置２１および第２情報処理装置２２の少なくとも一方に障害があると判定する。出力Ａと出力Ｂとが異なる場合、判定部２３５による判定処理に移行する。
【００７０】
判定部２３５は、出力Ａと出力Ｂとが異なる場合、判定処理を実行する。このとき、判定部２３５は、第１処理部２３２および第２処理部２３３の処理結果（処理結果Ａおよび処理結果Ｂ）と、第１情報処理装置２１および第２情報処理装置２２の出力データ（出力Ａおよび出力Ｂ）とを入力とする。
【００７１】
判定部２３５は、第１情報処理装置２１の出力データ（出力Ａ）と第１処理部２３２の処理結果（処理結果Ａ）とを比較するとともに、第２情報処理装置２２の出力データ（出力Ｂ）と第２処理部２３３の処理結果（処理結果Ｂ）とを比較する。判定部２３５は、第１処理部２３２および第２処理部２３３の処理結果（処理結果Ａおよび処理結果Ｂ）と異なる出力データを出力した情報処理装置に障害があると判定する。
【００７２】
判定部２３５は、障害があると判定した情報処理装置に対して制御信号を送信する。判定部２３５の制御信号を受信した情報処理装置は、その制御信号に基づいて停止または再起動する。このとき、診断制御装置２３の処理結果と一致する出力データを出力した方の情報処理装置は、判定部２３５によって正常であると判定されており、処理を継続する。
【００７３】
以上が、診断制御装置２３の構成に関する説明である。続いて、診断制御装置２３による判定について図面を参照しながら説明する。
【００７４】
〔判定〕
図８は、診断制御装置２３による判定についてまとめた判定テーブル２３０である。判定テーブル２３０は、五つの判定を含む。なお、判定テーブル２３０において、丸印「○」は一致、バツ印「×」は不一致を示す。
【００７５】
条件２１は、第１情報処理装置２１および第２情報処理装置２２の出力データ（出力Ａおよび出力Ｂ）が一致すると判定される場合である。この場合、第２比較部２３６は、出力Ａと出力Ｂとが一致するという結果を判定部２３５に出力する。判定部２３５は、第２比較部２３６の結果を受け、第１情報処理装置２１および第２情報処理装置２２が正常であると判定する。この場合、第１情報処理装置２１、第２情報処理装置２２および診断制御装置２３の処理は継続される。なお、条件２１の場合、判定部２３５による判定処理を省略してもよい。
【００７６】
条件２２〜２５は、出力Ａと出力Ｂとが異なると判定される場合である。この場合、第２比較部２３６は、出力Ａと出力Ｂとが異なるという結果を判定部２３５に出力する。また、条件２２〜２４は、第１処理部２３２および第２処理部２３３の処理結果が第１比較部２３４によって一致すると判定される場合である。
【００７７】
条件２２は、第１情報処理装置２１の出力データ（出力Ａ）と第１処理部２３２の処理結果（処理結果Ａ）とは一致するが、第２情報処理装置２２の出力データ（出力Ｂ）と第２処理部２３３の処理結果（処理結果Ｂ）とが異なると判定される場合である。この場合、判定部２３５は、第１情報処理装置２１は正常であり、第２情報処理装置２２に障害があると判定する。そして、判定部２３５は、第２情報処理装置２２に制御信号を送信する。なお、第１情報処理装置２１および診断制御装置２３の処理は継続される。
【００７８】
条件２３は、第２情報処理装置２２の出力データ（出力Ｂ）と第２処理部２３３の処理結果（処理結果Ｂ）とは一致するが、第１情報処理装置２１の出力データ（出力Ａ）と第１処理部２３２の処理結果（処理結果Ａ）とが異なると判定される場合である。この場合、判定部２３５は、第２情報処理装置２２は正常であり、第１情報処理装置２１に障害があると判定する。そして、判定部２３５は、第１情報処理装置２１に制御信号を送信する。なお、第２情報処理装置２２および診断制御装置２３の処理は継続される。
【００７９】
条件２４は、第１情報処理装置２１の出力データ（出力Ａ）と第１処理部２３２の処理結果（処理結果Ａ）とが異なり、第２情報処理装置１２の出力データ（出力Ｂ）と第２処理部２３３の処理結果（処理結果Ｂ）とが異なると判定される場合である。この場合、判定部２３５は、第１情報処理装置２１および第２情報処理装置２２に障害があると判定し、第１情報処理装置２１および第２情報処理装置２２に制御信号を送信する。なお、診断制御装置２３の処理は継続される。
【００８０】
条件２５は、第１処理部２３２および第２処理部２３３の処理結果が異なる場合である。この場合、診断制御装置２３は、第１情報処理装置２１および第２情報処理装置２２の出力データ（出力Ａおよび出力Ｂ）の正否を判定できないため、情報処理システム２の出力に信頼性が得られない。そのため、判定部２３５は、自装置を停止または再起動する際に、第１情報処理装置２１および第２情報処理装置２２に制御信号を送信する。なお、第１処理部２３２および第２処理部２３３の処理結果が異なる場合、出力Ａおよび出力Ｂの信頼性が診断制御装置２３によって検証されないが、第１情報処理装置２１および第２情報処理装置２２による処理を継続させてもよい。
【００８１】
以上が、診断制御装置２３による判定についての説明である。次に、診断制御装置２３の動作について図面を参照しながら説明する。
【００８２】
（動作）
図９は、診断制御装置２３の動作について説明するためのフローチャートである。なお、以下においては、診断制御装置２３の構成要素を動作主体として説明するが、診断制御装置２３自体を動作主体とみなしてもよい。
【００８３】
図９において、まず、入力部２３１は、入力データを入力とする（ステップＳ２１）。
【００８４】
次に、第１処理部２３２および第２処理部２３３は、入力データを処理する（ステップＳ２２）。
【００８５】
ここで、第２比較部２３６は、第１情報処理装置２１および第２情報処理装置２２の出力データ（出力Ａおよび出力Ｂ）を入力とする（ステップＳ２３）。
【００８６】
第２比較部２３６は、第１情報処理装置２１の出力データ（出力Ａ）と、第２情報処理装置２２の出力データ（出力Ｂ）とを比較する（ステップＳ２４）。出力Ａと出力Ｂとが一致する場合（ステップＳ２４でＹｅｓ）、図９のフローチャートに沿った処理は終了とする。
【００８７】
一方、出力Ａと出力Ｂとが異なる場合（ステップＳ２４でＮｏ）、第１比較部２３４は、第１処理部２３２の処理結果（処理結果Ａ）と、第２処理部２３３の処理結果（処理結果Ｂ）とを比較する（ステップＳ２５）。なお、ステップＳ２４とステップＳ２５とは順番を入れ替えて処理してもよいし、並列して処理してもよい。
【００８８】
処理結果Ａと処理結果Ｂとが異なる場合（ステップＳ２５でＮｏ）、診断制御装置２３は、自装置を停止または再起動する（ステップＳ２６）。このとき、診断制御装置２３は、第１情報処理装置２１および第２情報処理装置２２に制御信号を送信してもよい。
【００８９】
一方、処理結果Ａと処理結果Ｂとが一致する場合（ステップＳ２５でＹｅｓ）、判定部２３５は、処理結果Ａと出力Ａとを比較するとともに、処理結果Ｂと出力Ｂとを比較する（ステップＳ２７）。
【００９０】
出力Ａおよび出力Ｂの少なくともいずれかが診断制御装置２３の処理結果と異なる場合（ステップＳ２７でＮｏ）、判定部２３５は、診断制御装置２３の処理結果とは異なる出力データを出力した方の情報処理装置に制御信号を送信する（ステップＳ２８）。
【００９１】
一方で、出力Ａおよび出力Ｂが診断制御装置２３の処理結果と一致する場合（ステップＳ２７でＹｅｓ）、図９のフローチャートに沿った処理は終了とする。
【００９２】
以上が、診断制御装置２３の動作についての説明である。なお、図９のフローチャートに沿った処理は一例であって、診断制御装置２３の動作の内容や順番を限定するものではない。
【００９３】
以上のように、本実施形態によれば、第１の実施形態と同様に、二重化された情報処理装置の出力データを診断し、いずれの情報処理装置に障害があるのかを判定できる。特に、本実施形態によれば、情報処理装置の出力データが互いに異なる場合に判定処理を行うことによって、情報処理装置が正常な出力データを出力している期間においては第１の実施形態よりも処理を簡略化できる。
【００９４】
（第３の実施形態）
次に、本発明の第３の実施形態に係る情報処理システムについて図面を参照しながら説明する。本実施形態の情報処理システムは、情報処理装置の出力データが正常である場合に、その正常な出力データに信頼度を付与して出力する点で第１の実施形態の情報処理システムと異なる。
【００９５】
（構成）
図１０は、本実施形態の情報処理システム３の構成を示すブロック図である。図１０のように、情報処理システム３は、第１情報処理装置３１、第２情報処理装置３２および診断制御装置３３を備える。なお、第１情報処理装置３１および第２情報処理装置３２の構成や機能は、第１の実施形態の第１情報処理装置１１および第２情報処理装置１２と同様であるので、詳細な説明は省略する。また、診断制御装置３３は、一部の機能を除いて第１の実施形態の診断制御装置１３と同様であるので、特徴的な箇所に着目して説明する。ただし、本実施形態において、第１情報処理装置３１および第２情報処理装置３２は、診断制御装置３３に出力データを出力し、情報処理システム３の出力データを利用するシステムには出力データを直接には出力しない。
【００９６】
〔診断制御装置〕
図１１は、診断制御装置３３の構成を示すブロック図である。図１１のように、診断制御装置３３は、入力部３３１、第１処理部３３２、第２処理部３３３、比較部３３４、判定部３３５および信頼度付与部３３６を有する。入力部３３１、第１処理部３３２、第２処理部３３３および比較部３３４は、第１の実施形態の診断制御装置１３の対応する構成と同様であるので、詳細な説明は省略する。
【００９７】
判定部３３５は、第１の実施形態の診断制御装置１３と同様の機能を有し、第１情報処理装置３１および第２情報処理装置３２の出力データ（出力Ａおよび出力Ｂ）のうち正常な出力データを信頼度付与部３３６に出力する。このとき、判定部３３５は、第１情報処理装置３１および第２情報処理装置３２のいずれが正常であるのかを示す判定結果を信頼度付与部３３６に出力する。
【００９８】
なお、図１１においては、第１情報処理装置３１および第２情報処理装置３２と判定部３３５との間において、出力データを入出力する信号線と、制御信号を入出力する信号線とを分けて描いているが、同じ信号線を共有させてもよい。
【００９９】
信頼度付与部３３６は、判定部３３５から正常な出力データと判定結果とを取得し、正常な出力データに判定結果を付与することによって、信頼度が付与された出力データ（以下、信頼度付きデータと呼ぶ）を生成する。信頼度付与部３３６は、信頼度付きデータを出力する。
【０１００】
以上が、診断制御装置３３の構成に関する説明である。続いて、診断制御装置３３による判定について図面を参照しながら説明する。
【０１０１】
〔判定〕
図１２は、診断制御装置３３による判定についてまとめた判定テーブル３３０である。判定テーブル３３０は、五つの判定を含む。なお、判定テーブル３３０において、丸印「○」は一致、バツ印「×」は不一致を示す。
【０１０２】
条件３１〜３４は、第１処理部３３２および第２処理部３３３の処理結果が比較部３３４によって一致すると判定される場合である。これ以降、第１処理部３３２および第２処理部３３３の処理結果が一致する場合、その処理結果のことを自装置の処理結果と呼ぶ。
【０１０３】
条件３１は、第１情報処理装置３１および第２情報処理装置３２の出力データ（出力Ａおよび出力Ｂ）と、診断制御装置３３の処理結果とが一致すると判定される場合である。この場合、判定部３３５は、いずれの装置も正常であると判定し、正常であると判定した出力データと、第１情報処理装置３１および第２情報処理装置３２が正常であるという判定結果とを信頼度付与部３３６に出力する。信頼度付与部３３６は、正常な出力データに判定結果を信頼度として付与して信頼度付きデータを生成し、信頼度を付与した信頼度付きデータを出力する。判定テーブル３３０においては、第１情報処理装置３１の出力した正常な出力データ（出力Ａ）に、第１情報処理装置３１および第２情報処理装置３２が正常であることを示す判定結果（ＡＢ）を信頼度として付与する例を示す。なお、信頼度付与部３３６は、出力Ｂに信頼度「ＡＢ」を付与した信頼度付きデータを生成してもよい。
【０１０４】
条件３２は、第１情報処理装置３１の出力（出力Ａ）と診断制御装置３３の処理結果とは一致するが、第２情報処理装置３２の出力（出力Ｂ）と診断制御装置３３の処理結果とが異なると判定される場合である。この場合、判定部３３５は、第１情報処理装置３１が正常であると判定し、正常であると判定した出力Ａと、第１情報処理装置３１が正常であるという判定結果とを信頼度付与部３３６に出力する。信頼度付与部３３６は、正常な出力データに判定結果を信頼度として付与して信頼度付きデータを生成し、信頼度を付与した信頼度付きデータを出力する。判定テーブル３３０においては、第１情報処理装置３１の出力した正常な出力データ（出力Ａ）に、第１情報処理装置３１が正常であることを示す判定結果（Ａ）を信頼度として付与する例を示す。この場合、判定部３３５は、第２情報処理装置３２に制御信号を送信する。
【０１０５】
条件３３は、第２情報処理装置３２の出力（出力Ｂ）と診断制御装置３３の処理結果とは一致するが、第１情報処理装置３１の出力（出力Ａ）と診断制御装置３３の処理結果とが異なると判定される場合である。この場合、判定部３３５は、第２情報処理装置３２が正常であると判定し、正常であると判定した出力Ｂと、第２情報処理装置３２が正常であるという判定結果とを信頼度付与部３３６に出力する。信頼度付与部３３６は、正常な出力データ（出力Ｂ）に判定結果を信頼度として付与して信頼度付きデータを生成し、信頼度付きデータを出力する。判定テーブル３３０においては、第２情報処理装置３２の出力した正常な出力データ（出力Ｂ）に、第２情報処理装置３２が正常であることを示す判定結果（Ｂ）を信頼度として付与する例を示す。この場合、判定部３３５は、第１情報処理装置３１に制御信号を送信する。
【０１０６】
条件３４は、第１情報処理装置３１および第２情報処理装置３２の出力データ（出力Ａおよび出力Ｂ）と、診断制御装置３３の処理結果とが異なると判定される場合である。この場合、判定部３３５は、いずれの出力データも信頼度付与部３３６には出力しない。この場合、判定部３３５は、第１情報処理装置３１および第２情報処理装置３２に制御信号を送信する。なお、診断制御装置３３の処理は継続される。
【０１０７】
条件３５は、第１処理部３３２および第２処理部３３３の処理結果が異なる場合である。この場合、診断制御装置３３は、第１情報処理装置３１および第２情報処理装置３２の出力データ（出力Ａおよび出力Ｂ）の正否を判定できないため、情報処理システム３の出力データに信頼度を付与できない。そのため、判定部３３５は、自装置を停止または再起動し、第１情報処理装置３１および第２情報処理装置３２に制御信号を送信する。なお、第１処理部３３２および第２処理部３３３の処理結果が異なる場合、第１情報処理装置３１および第２情報処理装置３２による処理を継続させてもよい。
【０１０８】
以上が、診断制御装置３３による判定についての説明である。次に、診断制御装置３３の動作について図面を参照しながら説明する。
【０１０９】
（動作）
図１３は、診断制御装置３３の動作について説明するためのフローチャートである。なお、以下においては、診断制御装置３３の構成要素を動作主体として説明するが、診断制御装置３３自体を動作主体とみなしてもよい。
【０１１０】
図１３において、まず、入力部３３１は、入力データを入力とする（ステップＳ３１）。
【０１１１】
次に、第１処理部３３２および第２処理部３３３は、入力データを処理する（ステップＳ３２）。
【０１１２】
ここで、比較部３３４は、第１処理部３３２および第２処理部３３３の処理結果を比較する（ステップＳ３３）。
【０１１３】
第１処理部３３２および第２処理部３３３の処理結果が異なる場合（ステップＳ１３でＮｏ）、診断制御装置３３は、自装置を停止または再起動させる（ステップＳ３４）。このとき、診断制御装置３３は、第１情報処理装置３１および第２情報処理装置３２に制御信号を送信してもよい。
【０１１４】
一方、第１処理部３３２および第２処理部３３３の処理結果が一致する場合（ステップＳ３３でＹｅｓ）、判定部３３５は、第１情報処理装置３１および第２情報処理装置３２の出力データ（出力Ａおよび出力Ｂ）を入力する（ステップＳ３５）。
【０１１５】
ここで、判定部３３５は、第１情報処理装置３１および第２情報処理装置３２の出力データ（出力Ａおよび出力Ｂ）が診断制御装置３３の処理結果と一致するか否かを判定する（ステップＳ３６）。
【０１１６】
出力Ａおよび出力Ｂが診断制御装置３３の処理結果と一致する場合（ステップＳ３６でＹｅｓ）、信頼度付与部３３６は、正常な出力データに信頼度を付与する（ステップＳ３７）。
【０１１７】
そして、信頼度付与部３３６は、信頼度を付与した出力データを出力する（ステップＳ３８）。
【０１１８】
一方で、出力Ａおよび出力Ｂが診断制御装置３３の処理結果と異なる場合（ステップＳ３６でＮｏ）、判定部３３５は、診断制御装置３３の処理結果とは異なる出力データを出力した方の情報処理装置に制御信号を送信する（ステップＳ３９）。
【０１１９】
以上が、診断制御装置３３の動作についての説明である。なお、図１３のフローチャートに沿った処理は一例であって、診断制御装置３３の動作の内容や順番を限定するものではない。
【０１２０】
以上のように、本実施形態においては、常であると判定された出力データに信頼度を付与して出力する。そのため、本実施形態によれば、信頼性の高い出力データを提供することが可能となる。
【０１２１】
また、本実施形態においては、多重化した情報処理装置のうちいずれの情報処理装置の処理したのかを示す情報を信頼度として出力データに付与する。そのため、本実施形態によれば、本実施形態の情報処理システムの出力データを利用するシステム側で、正常に稼働する情報処理装置の数に応じて出力データの信頼性の高さを判別できる。
【０１２２】
（ハードウェア）
ここで、本発明の各実施形態に係る情報処理システムを構成する情報処理装置および診断制御装置（以下、まとめて装置と呼ぶ）を実現するハードウェア構成について、図１４のコンピュータ９０を一例として挙げて説明する。なお、図１４のコンピュータ９０は、各実施形態の装置を実現するための構成例であって、本発明の範囲を限定するものではない。
【０１２３】
図１４のように、コンピュータ９０は、プロセッサ９１、主記憶装置９２、補助記憶装置９３、入出力インターフェース９５および通信インターフェース９６を備える。なお、図１４においては、インターフェースをＩ／Ｆ（Interface）と略して表記する。プロセッサ９１、主記憶装置９２、補助記憶装置９３、入出力インターフェース９５および通信インターフェース９６は、バス９９を介して互いにデータ通信可能に接続される。また、プロセッサ９１、主記憶装置９２、補助記憶装置９３および入出力インターフェース９５は、通信インターフェース９６を介して、インターネットやイントラネットなどのネットワークに接続される。
【０１２４】
プロセッサ９１は、補助記憶装置９３等に格納されたプログラムを主記憶装置９２に展開し、展開されたプログラムを実行する。本実施形態においては、コンピュータ９０にインストールされたソフトウェアプログラムを用いるように構成すればよい。
【０１２５】
主記憶装置９２は、プログラムが展開される領域を有する。主記憶装置９２は、例えばＤＲＡＭ（Dynamic Random Access Memory）などの揮発性メモリとすればよい。また、ＭＲＡＭ（Magnetoresistive Random Access Memory）などの不揮発性メモリを主記憶装置９２として構成・追加してもよい。
【０１２６】
補助記憶装置９３は、プログラムを含む種々のデータを記憶する。補助記憶装置９３は、ハードディスクやフラッシュメモリなどのローカルディスクによって実現される。なお、種々のデータを主記憶装置９２に記憶させる構成とし、補助記憶装置９３を省略することも可能である。
【０１２７】
入出力インターフェース９５は、コンピュータ９０と周辺機器とを接続するためのインターフェースである。通信インターフェース９６は、規格や仕様に基づいて、インターネットやイントラネットなどのネットワークを通じて、外部のシステムや装置に接続するためのインターフェースである。入出力インターフェース９５および通信インターフェース９６は、外部機器と接続するインターフェースとして共通化してもよい。
【０１２８】
コンピュータ９０には、必要に応じて、キーボードやマウス、タッチパネルなどの入力機器を接続するように構成してもよい。それらの入力機器は、各種の情報や設定、条件の入力に使用される。なお、タッチパネルを入力機器として用いる場合は、表示機器の表示画面が入力機器のインターフェースを兼ねる構成とすればよい。プロセッサ９１と入力機器との間のデータ通信は、入出力インターフェース９５に仲介させればよい。
【０１２９】
また、コンピュータ９０には、情報を表示するための表示機器を備え付けてもよい。表示機器を備え付ける場合、コンピュータ９０には、表示機器の表示を制御するための表示制御装置（図示しない）が備えられていることが好ましい。表示機器は、入出力インターフェース９５を介してコンピュータ９０に接続すればよい。
【０１３０】
また、コンピュータ９０には、必要に応じて、ディスクドライブを備え付けてもよい。ディスクドライブは、バス９９に接続される。ディスクドライブは、プロセッサ９１と図示しない記録媒体（プログラム記録媒体）とを仲介し、記録媒体からのデータ・プログラムの読み出しや、コンピュータ９０の処理結果の記録媒体への書き込みを行う。記録媒体は、例えば、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光学記録媒体で実現できる。また、記録媒体は、ＵＳＢ（Universal Serial Bus）メモリやＳＤ（Secure Digital）カードなどの半導体記録媒体や、フレキシブルディスクなどの磁気記録媒体、その他の記録媒体によって実現してもよい。
【０１３１】
以上が、本発明の各実施形態に係る装置を可能とするためのハードウェア構成の一例である。ただし、図１４のハードウェア構成は、各実施形態に係る装置の演算処理を実行するためのハードウェア構成の一例であって、本発明の範囲を限定するものではない。各実施形態の装置の構成要素は、任意に組み合わせることができる。各実施形態の装置の構成要素は、ソフトウェアによって実現してもよいし、回路によって実現してもよい。
【０１３２】
これまで説明してきた各実施形態の手法に基づく診断制御方法も本発明の範囲に含まれる。また、各実施形態に係る装置に関する処理をコンピュータに実行させるプログラムも本発明の範囲に含まれる。また、各実施形態に係るプログラムを記録したプログラム記録媒体も本発明の範囲に含まれる。
【０１３３】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１３４】
１、２、３    情報処理システム
１１、２１、３１    第１情報処理装置
１２、２２、３２    第２情報処理装置
１３、２３、３３    診断制御装置
１３１、２３１、３３１    入力部
１３２、２３２、３３２    第１処理部
１３３、２３３、３３３    第２処理部
１３４、３３４    比較部
１３５、２３５、３３５    判定部
２３４    第１比較部
２３６    第２比較部
【図１】
2019003578.tif 000003
【図２】
2019003578.tif 000004
【図３】
2019003578.tif 000005
【図４】
2019003578.tif 000006
【図５】
2019003578.tif 000007
【図６】
2019003578.tif 000008
【図７】
2019003578.tif 000009
【図８】
2019003578.tif 000010
【図９】
2019003578.tif 000011
【図１０】
2019003578.tif 000012
【図１１】
2019003578.tif 000013
【図１２】
2019003578.tif 000014
【図１３】
2019003578.tif 000015
【図１４】
2019003578.tif 000016