(57)【要約】【課題】処理要求のレスポンスタイムの悪化を抑制したうえで、処理装置の障害を正しく可能な限り隠蔽する。【解決手段】処理要求ごとに任意の処理装置にマスタ属性を設定してマスタ属性を持つ処理装置の応答を選択する第１の応答選択装置３１と、全ての処理装置の応答種別が同じ異常動作の範疇であれば、応答種別が異常動作の範疇である応答を選択し、一部の処理装置の応答種別だけが異常動作の範疇であれば、正常動作の範疇である応答種別の多数決によって応答を選択する第２の応答選択装置３２と、第１の応答選択装置３１が選択した応答の応答種別が正常動作の範疇である場合には第１の応答選択装置３１が選択した応答を選択し、第１の応答選択装置３１が選択した応答の応答種別が異常動作の範疇である場合には第２の応答選択装置３２の選択した応答を選択する第３の応答選択装置３３によって達成される。【選択図】図１
2007316787.tif 000002
【特許請求の範囲】
【請求項１】
処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することによって得られた複数の応答から一つの応答を選択して応答を集約する応答集約装置であって、
一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定し、マスタ属性を有する処理装置の応答を選択する第１の応答選択装置と、
処理装置から受信した応答種別の多数決に基づいて応答を選択する第２の応答選択装置と、
前記第１の応答選択装置が選択した応答の応答種別が正常動作の範疇である場合には、該第１の応答選択装置が選択した応答を選択し、前記第１の応答選択装置が選択した応答の応答種別が異常動作の範疇である場合には、前記第２の応答選択装置の選択した応答を選択する第３の応答選択装置と、を備え、
前記第３の応答選択装置が選択した応答を処理要求元に返す、
ことを特徴とする応答集約装置。
【請求項２】
前記第１の応答選択装置が、
処理要求が発生したときに、処理要求ごとに、任意の一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定する、
ことを特徴とする請求項１に記載の応答集約装置。
【請求項３】
前記第２の応答選択装置が、
全ての処理装置の応答種別が同じ異常動作の範疇であれば、不正な処理要求に起因する応答であると判定して、異常動作を示す応答を選択し、
一部の処理装置の応答種別だけが異常動作の範疇であれば、一部の処理装置の障害に起因する応答であると判定して、正常動作の範疇である応答種別の多数決に基づいて応答を選択する、
ことを特徴とする請求項１または２に記載の応答集約装置。
【請求項４】
処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することによって得られた複数の応答から一つの応答を選択して応答を集約する応答集約方法であって、
第１の応答選択装置が、一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定し、マスタ属性を有する処理装置の応答を選択するマスタ選択段階と、
第２の応答選択装置が、処理装置から受信した応答種別の多数決に基づいて応答を選択する多数決応答選択段階と、
第３の応答選択装置が、前記第１の応答選択装置が選択した応答の応答種別が正常動作の範疇である場合には、該第１の応答選択装置が選択した応答を選択し、前記第１の応答選択装置が選択した応答の応答種別が異常動作の範疇である場合には、前記第２の応答選択装置の選択した応答を選択する応答選択段階と、
前記第３の応答選択装置が選択した応答を処理要求元に返す段階と、
ことを有する特徴とする応答集約方法。
【請求項５】
前記マスタ選択段階は、
処理要求が発生したときに、第１の応答選択装置が、該処理要求ごとに任意の一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定する、
ことを特徴とする請求項４に記載の応答集約方法。
【請求項６】
前記多数決応答選択段階は、
前記第２の応答選択装置が、全ての処理装置の応答種別が同じ異常動作の範疇であれば、不正な処理要求に起因する応答であると判定して、異常動作を示す応答を選択し、
一部の処理装置の応答種別だけが異常動作の範疇であれば、一部の処理装置の障害に起因する応答であると判定して、正常動作の範疇である応答種別の多数決に基づいて応答を選択する、
ことを特徴とする請求項４または５に記載の応答集約方法。
【請求項７】
コンピュータに、
処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することによって得られた複数の応答から一つの応答を選択して応答を集約させる応答集約プログラムであって、
第１の応答選択装置が、一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定し、マスタ属性を有する処理装置の応答を選択するマスタ選択ステップと、
第２の応答選択装置が、処理装置から受信した応答種別の多数決に基づいて応答を選択する多数決応答選択ステップと、
第３の応答選択装置が、前記第１の応答選択装置が選択した応答の応答種別が正常動作の範疇である場合には、該第１の応答選択装置が選択した応答を選択し、前記第１の応答選択装置が選択した応答の応答種別が異常動作の範疇である場合には、前記第２の応答選択装置の選択した応答を選択する応答選択ステップと、
前記第３の応答選択装置が選択した応答を処理要求元に返すステップと、
ことを有する特徴とする応答集約プログラム。
【請求項８】
前記マスタ選択ステップは、
処理要求が発生したときに、第１の応答選択装置が、該処理要求ごとに任意の一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定する、
ことを特徴とする請求項７に記載の応答集約プログラム。
【請求項９】
前記多数決応答選択ステップは、
前記第２の応答選択装置が、全ての処理装置の応答種別が同じ異常動作の範疇であれば、不正な処理要求に起因する応答であると判定して、異常動作を示す応答を選択し、
一部の処理装置の応答種別だけが異常動作の範疇であれば、一部の処理装置の障害に起因する応答であると判定して、正常動作の範疇である応答種別の多数決に基づいて応答を選択する、
ことを特徴とする請求項７または８に記載の応答集約プログラム。
【請求項１０】
コンピュータに、
処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することによって得られた複数の応答から一つの応答を選択して応答を集約させる応答集約プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
第１の応答選択装置が、一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定し、マスタ属性を有する処理装置の応答を選択するマスタ選択ステップと、
第２の応答選択装置が、処理装置から受信した応答種別の多数決に基づいて応答を選択する多数決応答選択ステップと、
第３の応答選択装置が、前記第１の応答選択装置が選択した応答の応答種別が正常動作の範疇である場合には、該第１の応答選択装置が選択した応答を選択し、前記第１の応答選択装置が選択した応答の応答種別が異常動作の範疇である場合には、前記第２の応答選択装置の選択した応答を選択する応答選択ステップと、
前記第３の応答選択装置が選択した応答を処理要求元に返すステップと、
を有することを特徴とする応答集約プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
前記マスタ選択ステップは、
処理要求が発生したときに、第１の応答選択装置が、該処理要求ごとに任意の一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定する、
ことを特徴とする請求項１０に記載の応答集約プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記多数決応答選択ステップは、
前記第２の応答選択装置が、全ての処理装置の応答種別が同じ異常動作の範疇であれば、不正な処理要求に起因する応答であると判定して、異常動作を示す応答を選択し、
一部の処理装置の応答種別だけが異常動作の範疇であれば、一部の処理装置の障害に起因する応答であると判定して、正常動作の範疇である応答種別の多数決に基づいて応答を選択する、
ことを特徴とする請求項１０または１１に記載の応答集約プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することで得られた複数の応答から、一つの応答を選択することで応答を集約する応答集約技術に関するものである。
【背景技術】
【０００２】
一般的に、複数の種別の応答を返す処理装置から返される複数の応答に対して、複数の種別の応答のなかから一つを選択することによって応答を集約する装置（以下、応答集約装置と称する）では、以下の２つの方式が使用されていた。
【０００３】
第１の応答集約方式では、応答集約装置は、２台の処理装置に対して、あらかじめ一つの処理装置にマスタ属性を設定し一つの処理装置にスレイブ属性を設定する。マスタ属性を持つ処理装置の応答種別が正常動作の範疇であれば、マスタ属性を持つ処理装置の応答を選択し、マスタ属性を持つ処理装置の応答種別が異常動作の範疇であれば、スレイブ属性を持つ処理装置の応答を選択する（例えば、非特許文献１を参照）。
【０００４】
第１の応答集約方式を実装した応答集約装置が応答を集約する一例を図７に基づいて説明する。
【０００５】
まず、あらかじめ応答集約装置１は、一つの処理装置ＰＭにマスタ属性を設定し、一つの処理装置ＰＳにスレイブ属性を設定する。
【０００６】
次に、処理要求元、例えば、処理要求元Ｃ１は、全処理装置（処理装置ＰＭ及びＰＳ）に対し同じ処理要求を発行する。
【０００７】
次に、各処理装置ＰＭ，ＰＳは、処理要求を処理する。
【０００８】
次に、全処理装置ＰＭ及びＰＳは、応答集約装置１に応答を返す。
【０００９】
次に、応答集約装置１は、マスタ属性を持つ処理装置ＰＭの応答種別が正常動作の範疇であれば、マスタ属性を持つ処理装置ＰＭの応答を選択する。
【００１０】
次に、応答集約装置１は、マスタ属性を持つ処理装置ＰＭの応答種別が異常動作の範疇であれば、スレイブ属性を持つ処理装置ＰＳの応答を選択する。
【００１１】
そして、応答集約装置１は、選択した応答を処理要求元、例えば、処理要求元Ｃ１に返す。
【００１２】
また、上記の応答集約装置１の動作を図８中のフローチャートに基づいて説明する。
【００１３】
まず、応答集約装置１に関する初期化を行う（Ｓ１１）。
【００１４】
次に、処理装置ＰＭにマスタ属性を設定し、一つの処理装置ＰＳにスレイブ属性を設定する（Ｓ１２）。
【００１５】
次に、処理装置ＰＭの応答を受信したか否かをチェックする（Ｓ１３）。処理装置ＰＭの応答を受信した場合、ステップＳ１４へ進む。処理装置ＰＭの応答を受信していない場合、ステップＳ１３へ戻る。
【００１６】
ステップＳ１４では、処理装置ＰＭの応答が正常か否かをチェックする。処理装置ＰＭの応答が正常の場合は、ステップＳ１６へ進む。処理装置ＰＭの応答が正常でない場合は、ステップＳ１５へ進む。
【００１７】
ステップＳ１６では、処理装置ＰＭの応答を選択する。
【００１８】
そして、選択した応答を返して、ステップＳ１３へ戻る（Ｓ１８）。
【００１９】
ステップＳ１５では、処理装置ＰＳの応答を受信したか否かをチェックする。処理装置ＰＳの応答を受信した場合、ステップＳ１７へ進む。処理装置ＰＳの応答を受信していない場合、ステップＳ１５へ戻る。
【００２０】
ステップＳ１７では、処理装置ＰＳの応答を選択する。
【００２１】
そして、選択した応答を返して、ステップＳ１３へ戻る（Ｓ１８）。
【００２２】
第２の応答集約方式を図９に基づいて説明する。
【００２３】
応答集約装置２は、３台以上の処理装置Ｐ１からＰｎに対して、全処理装置Ｐ１からＰｎの応答種別の多数決に基づいて応答を選択する（例えば、非特許文献２参照）。
【００２４】
第２の応答集約方式を実装した応答集約装置が応答を集約する実施形態の一例を図９に基づいて説明する。
【００２５】
まず、処理要求元Ｃ１は、全処理装置Ｐ１からＰｎに同じ処理要求を発行する。
【００２６】
次に、各処理装置、例えば、処理装置Ｐ１は、処理要求を処理する。
【００２７】
次に、各処理装置は、応答集約装置２に応答を返す。
【００２８】
次に、応答集約装置２は、全ての処理装置Ｐ１からＰｎからの応答を受信すると、応答種別の多数決に基づいて応答を選択する。
【００２９】
そして、応答集約装置２は、選択した応答を処理要求元に返す。
【００３０】
上記の応答集約装置２の動作を図１０のフローチャートに基づいて説明する。
【００３１】
まず、応答集約装置２に関する初期化を行う（Ｓ２１）。
【００３２】
次に、全応答を受信したか否かをチェックする（Ｓ２２）。全応答を受信した場合、ステップＳ２３へ進む。全応答を受信していない場合、ステップＳ２２へ戻る。
【００３３】
ステップＳ２３では、応答種別の多数決を取り、応答を選択する。
【００３４】
そして、選択した応答を返し、ステップＳ２２へ戻る（Ｓ２４）。
【００３５】
また、バージョンが異なるプログラムの出力結果（例えば、環境情報）を比較して、そのプログラムの実行結果が出る前に異常を検出することによって信頼性を高める方式（例えば、特許文献１参照）も知られている。
【特許文献１】特開２００４−３５５２３３号公報（段落［００４６］〜［００４９］等）。
【非特許文献１】村岡洋一、「コンピュータサイエンス大学講座２３，オペレーティングシステム」、近代科学社、１９９３年２月１０日、ｐ．２４６〜２４７。
【非特許文献２】三巻，桑原、「制御計算機におけるリアルタイム技術」、コロナ社、１９９２年４月３０日、ｐ．１０４〜１０５。
【発明の開示】
【発明が解決しようとする課題】
【００３６】
上記の応答集約方式では、処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することで得られた複数の応答から一つの応答を選択することで応答を集約する場合において、次の動作を行っている。
【００３７】
第１の応答集約方式では、２台の処理装置に対して、あらかじめ一つの処理装置にマスタ属性を設定し一つの処理装置にスレイブ属性を設定する。マスタ属性を持つ処理装置の応答種別が正常動作の範疇であればマスタ属性を持つ処理装置の応答を選択し、マスタ属性を持つ処理装置の応答種別が異常動作の範疇であればスレイブ属性を持つ処理装置の応答を選択する。
【００３８】
第２の応答集約方式では、３台以上の処理装置に対して、全処理装置の応答種別の多数決に基づいて応答を選択する。
【００３９】
上記第１の応答集約方式では、以下のような問題があった。
【００４０】
全ての処理要求が同じ処理装置をマスタ属性を持つ処理装置として使用するために、マスタ属性を持つ処理装置に障害が発生した場合には、全ての処理要求のレスポンスタイムが悪化する。
【００４１】
２台の処理装置に同時に障害が発生した場合に障害を隠蔽できない。
【００４２】
また、上記第２の応答集約方式では、以下のような問題があった。
【００４３】
全ての処理装置の応答を待つ必要があるために、常に全ての処理要求のレスポンスタイムが悪化する。
【００４４】
過半数の処理装置に障害が生じた場合に障害を隠蔽できない。
【００４５】
ある処理装置の応答種別が異常動作の範疇である原因として不正な処理要求と処理装置の障害がある。正しく障害を隠蔽するに不正な処理要求，処理装置の障害を識別し、不正な処理要求の場合は応答種別が異常動作の範疇である応答を返し、処理装置の障害の場合は応答種別が正常動作の範疇である応答を返す必要があるが、不正な処理要求，処理装置の障害を識別できない。
【００４６】
本発明は、前記課題に基づいてなされたものであって、処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することで得られた複数の応答から、一つの応答を選択することで応答を集約する場合において、処理要求のレスポンスタイムの悪化を抑制したうえで、処理装置の障害を正しく可能な限り隠蔽する応答集約装置，応答集約方法，その方法を実装したプログラム及びそのプログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【００４７】
本発明は、前記課題の解決を図るために、請求項１記載の発明は、処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することによって得られた複数の応答から一つの応答を選択して応答を集約する応答集約装置であって、一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定し、マスタ属性を有する処理装置の応答を選択する第１の応答選択装置と、処理装置から受信した応答種別の多数決に基づいて応答を選択する第２の応答選択装置と、前記第１の応答選択装置が選択した応答の応答種別が正常動作の範疇である場合には、該第１の応答選択装置が選択した応答を選択し、前記第１の応答選択装置が選択した応答の応答種別が異常動作の範疇である場合には、前記第２の応答選択装置の選択した応答を選択する第３の応答選択装置と、を備え、前記第３の応答選択装置が選択した応答を処理要求元に返す、ことを特徴とする。
【００４８】
請求項２記載の発明は、請求項１記載の発明において、前記第１の応答選択装置が、処理要求が発生したときに、処理要求ごとに、任意の一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定する、ことを特徴とする。
【００４９】
請求項３記載の発明は、請求項１または２記載の発明において、前記第２の応答選択装置が、全ての処理装置の応答種別が同じ異常動作の範疇であれば、不正な処理要求に起因する応答であると判定して、異常動作を示す応答を選択し、一部の処理装置の応答種別だけが異常動作の範疇であれば、一部の処理装置の障害に起因する応答であると判定して、正常動作の範疇である応答種別の多数決に基づいて応答を選択する、ことを特徴とする。
【００５０】
請求項４記載の発明は、処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することによって得られた複数の応答から一つの応答を選択して応答を集約する応答集約方法であって、第１の応答選択装置が、一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定し、マスタ属性を有する処理装置の応答を選択するマスタ選択段階と、第２の応答選択装置が、処理装置から受信した応答種別の多数決に基づいて応答を選択する多数決応答選択段階と、第３の応答選択装置が、前記第１の応答選択装置が選択した応答の応答種別が正常動作の範疇である場合には、該第１の応答選択装置が選択した応答を選択し、前記第１の応答選択装置が選択した応答の応答種別が異常動作の範疇である場合には、前記第２の応答選択装置の選択した応答を選択する応答選択段階と、前記第３の応答選択装置が選択した応答を処理要求元に返す段階と、ことを有する特徴とする。
【００５１】
請求項５記載の発明は、請求項４記載の発明において、前記マスタ選択段階は、処理要求が発生したときに、第１の応答選択装置が、該処理要求ごとに任意の一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定する、ことを特徴とする。
【００５２】
請求項６記載の発明は、請求項４または５記載の発明において、前記多数決応答選択段階は、前記第２の応答選択装置が、全ての処理装置の応答種別が同じ異常動作の範疇であれば、不正な処理要求に起因する応答であると判定して、異常動作を示す応答を選択し、一部の処理装置の応答種別だけが異常動作の範疇であれば、一部の処理装置の障害に起因する応答であると判定して、正常動作の範疇である応答種別の多数決に基づいて応答を選択する、ことを特徴とする。
【００５３】
請求項７記載の発明は、コンピュータに、処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することによって得られた複数の応答から一つの応答を選択して応答を集約させる応答集約プログラムであって、第１の応答選択装置が、一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定し、マスタ属性を有する処理装置の応答を選択するマスタ選択ステップと、第２の応答選択装置が、処理装置から受信した応答種別の多数決に基づいて応答を選択する多数決応答選択ステップと、第３の応答選択装置が、前記第１の応答選択装置が選択した応答の応答種別が正常動作の範疇である場合には、該第１の応答選択装置が選択した応答を選択し、前記第１の応答選択装置が選択した応答の応答種別が異常動作の範疇である場合には、前記第２の応答選択装置の選択した応答を選択する応答選択ステップと、前記第３の応答選択装置が選択した応答を処理要求元に返すステップと、ことを有する特徴とする。
【００５４】
請求項８記載の発明は、請求項７記載の発明において、前記マスタ選択ステップは、処理要求が発生したときに、第１の応答選択装置が、該処理要求ごとに任意の一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定する、ことを特徴とする。
【００５５】
請求項９記載の発明は、請求項７または８記載の発明において、前記多数決応答選択ステップは、前記第２の応答選択装置が、全ての処理装置の応答種別が同じ異常動作の範疇であれば、不正な処理要求に起因する応答であると判定して、異常動作を示す応答を選択し、一部の処理装置の応答種別だけが異常動作の範疇であれば、一部の処理装置の障害に起因する応答であると判定して、正常動作の範疇である応答種別の多数決に基づいて応答を選択する、ことを特徴とする。
【００５６】
請求項１０記載の発明は、コンピュータに、処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することによって得られた複数の応答から一つの応答を選択して応答を集約させる応答集約プログラムを記録したコンピュータ読み取り可能な記録媒体であって、第１の応答選択装置が、一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定し、マスタ属性を有する処理装置の応答を選択するマスタ選択ステップと、第２の応答選択装置が、処理装置から受信した応答種別の多数決に基づいて応答を選択する多数決応答選択ステップと、第３の応答選択装置が、前記第１の応答選択装置が選択した応答の応答種別が正常動作の範疇である場合には、該第１の応答選択装置が選択した応答を選択し、前記第１の応答選択装置が選択した応答の応答種別が異常動作の範疇である場合には、前記第２の応答選択装置の選択した応答を選択する応答選択ステップと、前記第３の応答選択装置が選択した応答を処理要求元に返すステップと、を有することを特徴とする。
【００５７】
請求項１１記載の発明は、請求項１０記載の発明において、前記マスタ選択ステップは、処理要求が発生したときに、第１の応答選択装置が、該処理要求ごとに任意の一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定する、ことを特徴とする。
【００５８】
請求項１２記載の発明は、請求項１０または１１記載の発明において、前記多数決応答選択ステップは、前記第２の応答選択装置が、全ての処理装置の応答種別が同じ異常動作の範疇であれば、不正な処理要求に起因する応答であると判定して、異常動作を示す応答を選択し、一部の処理装置の応答種別だけが異常動作の範疇であれば、一部の処理装置の障害に起因する応答であると判定して、正常動作の範疇である応答種別の多数決に基づいて応答を選択する、ことを特徴とする。
【００５９】
前記の請求項１，４，７，１０の発明によれば、マスタ属性を持つ処理装置の応答種別が異常動作の範疇である場合に応答種別の多数決をとることができる。常に全ての処理装置の応答を取得できる。
【００６０】
前記の請求項２，５，８，１１の発明によれば、マスタ属性を持つ処理装置を処理要求ごとに異なる処理装置に設定できる。
【００６１】
前記の請求項３，６，９，１２の発明によれば、処理装置の応答種別が異常動作の範疇である原因が、不正な処理要求か、処理装置の障害か、を全ての処理装置の応答種別が同じ異常動作の範疇であるか否かによって判定できる。
【発明の効果】
【００６２】
以上示したように本発明によれば、請求項１の発明によれば、マスタ属性を持つ処理装置の応答種別が異常動作の範疇である場合に応答種別の多数決をとるため、２台の処理装置に同時に障害が発生した場合に障害を隠蔽できる。さらに、常に全ての処理装置の応答を待つ必要があるために、全処理要求のレスポンスタイムを向上できる。
【００６３】
請求項２の発明によれば、処理要求ごとにマスタ属性を持つ処理装置が異なるために、マスタ属性を持つ処理装置に障害が発生した場合でも、全ての処理要求のレスポンスタイムを向上できる。
【００６４】
請求項３の発明によれば、処理装置の応答種別が異常動作の範疇である原因が、不正な処理要求か、処理装置の障害か、を全ての処理装置の応答種別が同じ異常動作の範疇であるか否かによって判定し、不正な処理要求と判定すれば異常動作の範疇である応答を選択し、処理装置の障害と判定すれば正常動作の範疇である応答種別の多数決によって応答を選択するため、過半数の処理装置に障害が生じた場合でも障害を隠蔽できる。
【００６５】
さらに、正しく障害を隠蔽するために、不正な処理要求，処理装置の障害を識別できる。即ち、不正な処理要求の場合は応答種別が異常動作の範疇である応答を返し、処理装置の障害の場合は応答種別が正常動作の範疇である応答を返すことができる。
【００６６】
これらを以って情報処理分野に貢献できる。
【発明を実施するための最良の形態】
【００６７】
以下、本発明の実施形態を図面等に基づいて詳細に説明する。
【００６８】
本実施形態の応答集約装置の一例を図１及び図２に基づいて説明する。図１は、応答集約装置が、複数の処理装置が同一の処理要求を処理することで得られた複数の応答から一つの応答を選択する場合の動作を示すブロック図である。図２は、応答集約装置の動作を示すフローチャートである。
【００６９】
図１中の応答集約装置３は、第１の応答選択装置３１，第２の応答選択装置３２，第３の応答選択装置３３を備え、それらの装置の動作は次の通りである。
【００７０】
処理要求元、例えば、図１中の処理要求元Ｃ１は、全処理装置Ｐ１〜Ｐｎに同じ処理要求を発行する。なお、処理要求元は、例えば、パーソナルコンピュータでも良いし、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）でも良い。
【００７１】
各処理装置Ｐ１〜Ｐｎは、処理要求を処理する。そして、各処理装置は、第１の応答選択装置３１と第２の応答選択装置３２に応答を返す。
【００７２】
第１の応答選択装置３１は、一つの処理装置にマスタ属性を設定し、他の処理装置にスレイブ属性を設定し、そのマスタ属性を持つ処理装置の応答を選択し、第２の応答選択装置３２は、全処理装置Ｐ１〜Ｐｎの応答種別の多数決に基づいて応答を選択する。なお、第２の応答選択装置３２は、全処理装置Ｐ１〜Ｐｎの応答種別の多数決を行うために、それらの応答種別の数を一時的に記憶しアクセスする記憶部を備えていても良い。
【００７３】
第３の応答選択装置３３は、第１の応答選択装置３１が選択した応答の応答種別が正常動作の範疇である場合には第１の応答選択装置３１が選択した応答を選択し、第１の応答選択装置３１が選択した応答の応答種別が異常動作の範疇である場合には第２の応答選択装置３２の選択した応答を選択する。
【００７４】
選択した応答を処理要求元に返す。
【００７５】
第１〜第３の応答集約装置の動作を図２に基づいて説明する。なお、以下の説明で図１中と同じものの説明は省略する。
【００７６】
まず、第１〜第３の応答集約装置の初期化を行う（Ｓ３１）。
【００７７】
第１の応答選択装置３１が応答を受信したか否かをチェックする。第２の応答選択装置３２が応答を受信したか否かをチェックする（Ｓ３２）。
【００７８】
第１の応答選択装置３１は、応答がマスタ属性を持つ処理装置の応答か否かをチェックする（Ｓ３３）。応答がマスタ属性を持つ処理装置の応答であった場合、ステップＳ３４へ進む。応答がマスタ属性を持つ処理装置の応答でなかった場合、ステップＳ３２へ戻る。
【００７９】
ステップＳ３４では、マスタ属性を持つ処理装置の応答を選択する。
【００８０】
第２の応答選択装置３２は、全処理装置Ｐ１〜Ｐｎから応答を受信したか否かをチェックする（Ｓ３５）。全処理装置Ｐ１〜Ｐｎから応答を受信した場合、ステップＳ３６へ進む。全処理装置Ｐ１〜Ｐｎから応答を受信していない場合、ステップＳ３２へ戻る。
【００８１】
ステップＳ３６では、全処理装置Ｐ１〜Ｐｎの応答種別の多数決に基づいて応答を選択する。
【００８２】
第３の応答選択装置３３は、第１の応答選択装置３１が選択した応答（即ち、マスタ属性を持つ処理装置の応答）の応答種別が正常動作の範疇であるか否かをチェックする（Ｓ３７）。その応答種別が正常動作の範疇である場合、ステップＳ３８へ進む。その応答種別が正常動作の範疇でない場合、ステップＳ３９へ進む。
【００８３】
ステップＳ３８では、第１の応答選択装置３１が選択した応答を選択する。そして、次のステップＳ４０へ進む。
【００８４】
ステップＳ３９では、第２の応答選択装置３２の選択した応答を選択する。そして、次のステップＳ４０へ進む。
【００８５】
ステップＳ４０では、選択した応答を処理要求元に返して、ステップＳ３２へ戻る。
【００８６】
なお、第１乃至第３の応答選択装置は、上述の動作を実行するためにＣＰＵを含んでいても良い。
【００８７】
以上のように、第１の応答集約方式と第２の応答集約方式を組み合わせることによって、応答性（または応答速度）と信頼性の向上を行うことができる。
【００８８】
即ち、第１の応答集約方式は応答速度を向上させ、第２の応答集約方式は信頼性を向上させる。
【００８９】
第１の応答選択装置の一例を図３及び図４に基づいて説明する。
図３は、第１の応答選択装置３１が、複数の処理装置が同一の処理要求を処理することで得られた複数の応答から一つの応答を選択する場合の動作を示すブロック図、図４は第１の応答選択装置３１の動作を示すフローチャートである。
【００９０】
図３について、第１の応答選択装置３１の動作は次の通りである。
【００９１】
処理要求元が処理要求を発行したことを契機として、マスタスレイブ属性決定機能３１ａが、この処理要求に対するマスタ属性を持つ一つの処理装置とスレイブ属性を持つその他の処理装置を決定し、決定結果を内部の決定結果保存機能３１ｂに保存する。
【００９２】
処理装置から応答が返されると、応答選択機能３１ｃが、保存しておいた決定結果に利用してマスタ属性を持つ処理装置の応答を選択する。
【００９３】
第１の応答選択装置３１は、選択した応答を返す。例えば、第３の応答選択装置３３へ選択した応答を返す。
【００９４】
第１の応答選択装置３１の処理を図４に基づいて説明する。
【００９５】
まず、第１の応答選択装置３１の初期化を行う（Ｓ４１）。
【００９６】
処理要求元が処理要求を発行したか否かをチェックする（Ｓ４２）。処理要求元が処理要求を発行した場合、ステップＳ４３へ進む。処理要求元が処理要求を発行していない場合、ステップＳ４２へ戻る。
【００９７】
処理要求元が処理要求を発行した場合、処理要求に対するマスタ属性を持つ一つの処理装置とスレイブ属性を持つその他の処理装置を決定し、内部に保存する、そして、ステップＳ４２へ戻る（Ｓ４３）。
【００９８】
処理装置ｐ１〜ｐｎの応答を受信したか否かをチェックする（Ｓ４４）。応答を受信した場合、ステップＳ４５へ進む。応答を受信していない場合、ステップＳ４４へ戻る。
【００９９】
応答を受信した場合、保存しておいた決定結果に利用してマスタ属性を持つ処理装置の応答を選択し、選択した応答を返す（例えば、第３の応答選択装置３３へ選択した応答を返す）、そして、ステップＳ４４へ戻る（Ｓ４５）。
【０１００】
上述の第１の応答選択装置は、マスタ属性とスレーブ属性を動的に設定できるため、障害の影響範囲を局所化できる。より具体的には、処理の要求単位（または、リクエスト単位）で、ランダムにマスタを１つ選択しているため、例えば、マスタ属性の処理装置が故障しても、その故障の影響を限定的できる。
【０１０１】
第２の応答選択装置３２の一例を図５及び図６に基づいて説明する。図５は第２の応答選択装置３２が複数の処理装置が同一の処理要求を処理することによって得られた複数の応答から一つの応答を選択する場合の動作を示すブロック図、図６は第２の応答選択装置３２の動作を示すフローチャートである。
【０１０２】
図５について、第２の応答選択装置３２の動作は次の通りである。
【０１０３】
応答保存機能３２ａが応答３２ｂを保存する。なお、応答保存機能３２ａは、第２の応答選択装置３２の内部に備えられたメモリにアクセスして応答３２ｂを保存しても良い。
【０１０４】
応答選択機能３２ｃは、全処理装置から応答３２ｂを受信し、その応答３２ｂを応答保存機能３２ａによって読み出すと以下のように応答を選択する。
【０１０５】
全ての応答の応答種別が同じ異常動作の範疇である場合、応答種別が異常動作の範疇である応答を選択する。
【０１０６】
一部の応答の応答種別が異常動作の範疇である場合、応答種別が正常動作の範疇である応答種別の多数決に基づいて応答を選択する。
【０１０７】
選択した応答を返す。例えば、第３の応答選択装置３３へ選択した応答を返す。
【０１０８】
第２の応答選択装置の処理を図６に基づいて説明する。
【０１０９】
まず、第２の応答選択装置の初期化を行う（Ｓ５１）。
【０１１０】
次に、全応答を受信したか否かをチェックする（Ｓ５２）。全応答を受信した場合、ステップＳ５３へ進む。全応答を受信していない場合、ステップＳ５２へ戻る。
【０１１１】
次に、全応答が異常か否かをチェックする（Ｓ５３）。全ての応答の応答種別が同じ異常動作の範疇である場合、ステップＳ５４へ進む。一部の応答の応答種別が異常動作の範疇である場合、ステップＳ５５へ進む。
【０１１２】
ステップＳ５４では、応答種別が異常動作の範疇である応答を選択する。
【０１１３】
ステップＳ５５では、応答種別が正常動作の範疇である応答種別の多数決に基づいて応答を選択する。
【０１１４】
そして、選択した応答を返す（Ｓ５６）。例えば、第３の応答選択装置３３へ選択した応答を返す。
【０１１５】
上述の第２の応答選択装置の実施形態は、変則的な（即ち、応答種別に対応して）多数決を採る方法であるため、異常値の入力に対応できる。即ち、より具体的に説明すると、次の通りである。
【０１１６】
従来の多数決方式では、宇宙線の影響などによって値が反転する可能性を有する情報処理装置を対象にしている。そのため、処理装置の出力値を対等に扱って、単純に多数決を採って出力値を決めている。
【０１１７】
しかし、上述の第２の応答選択装置では、値そのものを信頼できる一般的な情報処理装置を対象にしている。そのため、出力値がエラーになる原因は、入力値が異常である場合、処理装置に障害が発生した場合のいずれかであると想定できる。そして、そのエラー値を特別扱いして多数決を採る。即ち、全ての処理装置がエラー値を返した場合は、入力値が異常であると見做して、エラー値を出力値として採用する。一部の処理装置がエラー値を返した場合は、少なくともそれらの処理装置は障害を起こしていると見做して、正常値だけで多数決を採って出力値を決める。
【０１１８】
本実施形態における応答集約装置に関する方法を記述したコンピュータプログラムを、応答集約装置に関する方法に必要とされる入出力データを格納したメモリや外部記憶装置等にアクセスするように実装してもよい。
【０１１９】
上述の応答集約装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行することによって、本実施の形態を実現できる。
【０１２０】
さらに、上述の応答集約装置に関する処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。
【０１２１】
また、コンピュータで前記の機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体（例えば、ＦＤ（Ｆｌｏｐｐｙ（登録商標）  Ｄｉｓｋ），ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ），ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），メモリカード，ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ），リムーバブルディスクなど）に記録して、保存したり、配布したりできる。
【０１２２】
以上のように、本実施形態では、処理装置の障害を隠蔽するために、複数の処理装置が同一の処理要求を処理することで得られた複数の応答から、一つの応答を選択することで応答を集約する場合において、処理要求ごとに任意の処理装置にマスタ属性を設定する。さらに、マスタ属性を持つ処理装置の応答種別が正常動作の範疇である場合には、マスタ属性を持つ処理装置の応答を選択して即座に処理要求元に返す。そのマスタ属性を持つ処理装置の応答種別が異常動作の範疇である場合には、変則的な多数決に基づいて応答を選択して処理要求元に返すことによって、処理要求のレスポンスタイムの悪化を抑制したうえで、処理装置の障害を正しく可能な限り隠蔽できる。
【０１２３】
また、本実施形態は、異なるプログラム（例えば、異なる人物によって作成されたプログラムやバージョンが異なるプログラム）を比較する方式（特許文献１参照）と異なり、全く同じプログラムの出力結果を比較できる。
【０１２４】
以上、本発明において、記載された具体例に対してのみ詳細に説明したが、本発明の技術思想の範囲で多彩な変形および修正が可能であることは、当業者にとって明白なことであり、このような変形および修正が特許請求の範囲に属することは当然のことである。
【０１２５】
例えば、本実施形態の変形例として、第１の応答選択装置で選択されたマスタの応答は、第１の応答選択装置に備えられた記憶部（例えば、メモリ）に一時的に記憶されアクセスされても良い。
【図面の簡単な説明】
【０１２６】
【図１】本実施形態における応答集約装置の動作を示すブロック図。
【図２】本実施形態における応答集約装置の動作を示すフローチャート。
【図３】本実施形態における第１の応答選択装置の動作を示すブロック図。
【図４】本実施形態における第１の応答選択装置の動作を示すフローチャート。
【図５】本実施形態における第２の応答選択装置の動作を示すブロック図。
【図６】本実施形態における第２の応答選択装置の動作を示すフローチャート。
【図７】一般的なマスタスレーブ方式の応答集約装置に関する動作を示すブロック図。
【図８】一般的なマスタスレーブ方式の応答集約装置の動作を示すフローチャート。
【図９】一般的な多数決方式の応答集約装置に関する動作を示すブロック図。
【図１０】一般的な多数決方式の応答集約装置に関する動作を示すフローチャート。
【符号の説明】
【０１２７】
１，２，３…応答集約装置
３１…第１の応答選択装置
３２…第２の応答選択装置
３３…第３の応答選択装置
３１ａ…マスタスレイブ属性決定機能
３１ｂ…決定結果を保存する部
３１ｃ…応答選択機能
３２ａ…応答保存機能
３２ｂ…応答
３２ｃ…応答選択機能
Ｃ１，Ｃｎ…処理要求元
ＰＭ…処理装置（マスタ属性）
ＰＳ…処理装置（スレイブ属性）
Ｐ１，Ｐｎ…処理装置
【図１】
2007316787.tif 000003
【図２】
2007316787.tif 000004
【図３】
2007316787.tif 000005
【図４】
2007316787.tif 000006
【図５】
2007316787.tif 000007
【図６】
2007316787.tif 000008
【図７】
2007316787.tif 000009
【図８】
2007316787.tif 000010
【図９】
2007316787.tif 000011
【図１０】
2007316787.tif 000012