(57)【要約】      （修正有）【課題】フォールトトレラント装置に関して高い可用性を実現する制御装置等を提供する。【解決手段】制御装置５０１は、ロックステップ方式に従い動作する複数のサブシステムを接続している該複数の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御する制御部５０２と、制御部５０２によって機能が有効になるよう制御された該伝送路と、該複数のサブシステムとを用いる多重化状態を実現する組み込み動作を実行する組み込み部５０３とを有する。制御部５０２は、該組み込み動作が成功であるか否かを判定し、前記組み込み動作が失敗である場合に、前記複数の伝送路のうち、前記組み込み動作が失敗であった伝送路とは異なる伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功である場合に前記異なる伝送路の機能が有効になるよう制御する。【選択図】図１６
2018160030.tif 000002
【特許請求の範囲】
【請求項１】
ロックステップ方式に従い動作する複数のサブシステムを接続している前記複数の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御する制御手段と、
前記制御手段によって機能が有効になるよう制御された前記伝送路と、前記複数のサブシステムとを用いる多重化状態を実現する組み込み動作を実行する組み込み手段と
を備え、
前記制御手段は、前記組み込み動作が成功であるか否かを判定し、前記組み込み動作が失敗である場合に、前記複数の伝送路のうち、前記組み込み動作が失敗であった伝送路とは異なる伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記異なる伝送路の機能が有効になるよう制御する
制御装置。
【請求項２】
前記制御手段は、前記複数の伝送路のうち少なくとも一部の伝送路が組み合わされた所定の組み合わせのうち、前記組み込み動作が成功であった組み合わせに含まれる前記伝送路の機能が有効になるよう制御する
請求項１に記載の制御装置。
【請求項３】
前記制御手段は、前記複数の伝送路のうち２つの伝送路を選び、選んだ前記２つの伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功である場合に前記２つの伝送路の機能が有効になるよう制御する
請求項１または請求項２に記載の制御装置。
【請求項４】
前記制御手段は、前記所定の組み合わせのうち、前記所定の組み合わせに含まれている前記伝送路の個数が多い順に、前記組み込み動作が成功であるか否かを判定する
請求項２に記載の制御装置。
【請求項５】
前記制御手段は、前記複数の伝送路のすべてを用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記複数の伝送路のすべての機能が有効になるよう制御する、前記組み込み動作が失敗である場合に、前記複数の伝送路のうちの一部の伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記一部の伝送路の機能が有効になるよう制御する
請求項１乃至請求項３のいずれかに記載の制御装置。
【請求項６】
請求項１乃至請求項５のいずれかに記載の制御装置と、
前記複数のサブシステムと
を備え、
前記複数のサブシステムにおける各サブシステムは、
他方のサブシステムにデータを送信する送信手段と、
前記他方のサブシステムが送信した前記データを受信する受信手段と、
入出力動作する入出力デバイスと、
前記入出力デバイスに送信するデータを作成するプロセッサと、
前記プロセッサが作成したデータと、前記受信手段が受信したデータとが一致するか否かを比較し、一致した場合には前記入出力デバイスに前記データを出力する比較手段と
を含み、
前記送信手段は、前記プロセッサが作成した前記データを、前記伝送路を介して、前記他方のサブシステムに送信する
フォールトトレラント装置。
【請求項７】
情報処理装置によって、ロックステップ方式に従い動作する複数のサブシステムを接続している前記複数の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御するのに際して、機能が有効になるよう制御した前記伝送路と、前記複数のサブシステムとを用いる多重化状態を実現する組み込み動作を実行し、前記組み込み動作が成功であるか否かを判定し、前記組み込み動作が失敗である場合に、前記複数の伝送路のうち、前記組み込み動作が失敗であった伝送路とは異なる伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記異なる伝送路の機能が有効になるよう制御する
制御方法。
【請求項８】
前記複数の伝送路のうち少なくとも一部の伝送路が組み合わされた所定の組み合わせのうち、前記組み込み動作が成功であった組み合わせに含まれる前記伝送路の機能が有効になるよう制御する
請求項７に記載の制御方法。
【請求項９】
前記複数の伝送路のうち２つの伝送路を選び、選んだ前記２つの伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功である場合に前記２つの伝送路の機能が有効になるよう制御する
請求項７または請求項８に記載の制御方法。
【請求項１０】
前記所定の組み合わせのうち、前記所定の組み合わせに含まれている前記伝送路の個数が多い順に、前記組み込み動作が成功であるか否かを判定する
請求項８に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、フォールトトレラント装置において伝送路を制御する制御装置等に関する。
【背景技術】
【０００２】
ロックステップ（ｌｏｃｋｓｔｅｐ）方式に従い２つのモジュールが動作しているフォールトトレラント装置において、該２つのモジュールを接続している伝送路にて障害が発生した場合に、送信側のモジュール、または、受信側のモジュールのいずれに問題があるのか特定することは難しい。該フォールトトレラント装置に発生した障害の要因を特定する場合には、該フォールトトレラント装置におけるモジュールが有しているＣＰＵサブシステム、及び、Ｉ／Ｏサブシステムのうち、いずれかを、所定の条件に従い、該フォールトトレラント装置から機能的に切り離す。ＣＰＵは、Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔの略称を表す。Ｉ／Ｏは、Ｉｎｐｕｔ／Ｏｕｔｐｕｔの略称を表す。伝送路にて発生した障害の要因であるサブシステムが機能的に切り離された後に、当該サブシステムを含むモジュールが交換される。この結果、当該フォールトトレラント装置においては、該２つのモジュールによって２重化された状態を回復することができる。
【０００３】
フォールトトレラント装置の一例は、特許文献１に開示されている。
【０００４】
特許文献１に開示されたフォールトトレラント装置は、３つのシステムバスと、６つのプロセッサとを有する。各システムバスには、２つずつプロセッサが接続されている。該フォールトトレラント装置においては、システムバスを介して接続しているプロセッサを用いて、最大で３重化された状態が実現される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０７−１８２１８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、伝送路にて発生した障害の要因ではないサブシステムが該フォールトトレラント装置から機能的に切り離された場合には、切り離された該サブシステムを含むモジュールが交換されたとしても、該障害を解決することができないという課題を有する。この場合は、伝送路にて障害が再度発生してしまうので、当該フォールトトレラント装置においては、２重化された状態を実現することができない。該障害を解消するためには、該フォールトトレラント装置を停止し、その後、伝送路にて発生した障害の要因であるモジュールを交換する必要がある。
【０００７】
また、特許文献１に開示されたフォールトトレラント装置は、背景技術にて説明したようなフォールトトレラント装置とは異なる構成を有しているので、上述したような伝送路にて発生した障害を解決することができない。
【０００８】
そこで、本発明の目的の１つは、フォールトトレラント装置に関して高い可用性を実現する制御装置等を提供することである。
【課題を解決するための手段】
【０００９】
本発明の１つの態様として、制御装置は、
ロックステップ方式に従い動作する複数のサブシステムを接続している前記複数の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御する制御手段と、
前記制御手段によって機能が有効になるよう制御された前記伝送路と、前記複数のサブシステムとを用いる多重化状態を実現する組み込み動作を実行する組み込み手段と
を備え、
前記制御手段は、前記組み込み動作が成功であるか否かを判定し、前記組み込み動作が失敗である場合に、前記複数の伝送路のうち、前記組み込み動作が失敗であった伝送路とは異なる伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記異なる伝送路の機能が有効になるよう制御する。
【００１０】
また、本発明の他の態様として、制御方法は、
情報処理装置によって、ロックステップ方式に従い動作する複数のサブシステムを接続している前記複数の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御するのに際して、機能が有効になるよう制御した前記伝送路と、前記複数のサブシステムとを用いる多重化状態を実現する組み込み動作を実行し、前記組み込み動作が成功であるか否かを判定し、前記組み込み動作が失敗である場合に、前記複数の伝送路のうち、前記組み込み動作が失敗であった伝送路とは異なる伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記異なる伝送路の機能が有効になるよう制御する。
【発明の効果】
【００１１】
本発明に係る制御装置等によれば、フォールトトレラント装置に関して高い可用性を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態に係るフォールトトレラント装置が有する機能の概略的な構成を示すブロック図である。
【図２】第１の実施形態に係るモジュール１が有する構成を示すブロック図である。
【図３】第１の実施形態に係るモジュール２が有する構成を示すブロック図である。
【図４】第６伝送路にて障害が発生した例を表す図である。
【図５】Ｉ／Ｏサブシステムがフォールトトレラント装置から機能的に切り離されている状態を概念的に表す図である。
【図６】ＣＰＵサブシステムがフォールトトレラント装置から機能的に切り離されている状態を概念的に表す図である。
【図７】第１の実施形態に係るフォールトトレラント装置における動作の流れを示すフローチャートである。
【図８】伝送路において下位伝送路のみの機能が有効になるよう制御された状態を概念的に表す図である。
【図９】伝送路において上位伝送路のみの機能が有効になるよう制御された状態を概念的に表す図である。
【図１０】フォールトトレラント装置が、２つのモジュールを用いて２重化状態を実現する動作の流れの一例を概念的に表す図である。
【図１１】フォールトトレラント装置が、２つのモジュールを用いて２重化状態を実現する動作の流れの一例を概念的に表す図である。
【図１２】フォールトトレラント装置が、２つのモジュールを用いて２重化状態を実現する動作の流れの一例を概念的に表す図である。
【図１３】本発明の第２の実施形態に係るフォールトトレラント装置が有する機能の概略的な構成を示すブロック図である。
【図１４】第２の実施形態に係るモジュール３が有する構成を示すブロック図である。
【図１５】第２の実施形態に係るフォールトトレラント装置における動作の流れを示すフローチャートである。
【図１６】本発明の第３の実施形態に係る制御装置が有する構成を示すブロック図である。
【図１７】第３の実施形態に係る制御装置における動作の流れを示すフローチャートである。
【発明を実施するための形態】
【００１３】
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
【００１４】
＜第１の実施形態＞
図１を参照しながら、本発明の第１の実施形態に係るフォールトトレラント装置３００が有する構成について詳細に説明する。図１は、本発明の第１の実施形態に係るフォールトトレラント装置３００が有する機能の概略的な構成を示すブロック図である。
【００１５】
第１の実施形態に係るフォールトトレラント装置３００は、モジュール１と、モジュール２と、伝送路（レーン）３０とを有する。伝送路３０は、モジュール１と、モジュール２とを接続している。伝送路３０は、複数の伝送路を含む。
【００１６】
モジュール１と、モジュール２とは、それぞれ、物理的に存在している情報処理装置であり、たとえば、ラック式の筐体に着脱可能なサイズ（大きさ）をなすユニットである。
【００１７】
モジュール１が有する構成は、ＣＰＵサブシステム１０と、Ｉ／Ｏサブシステム１１とに概念的に大別される。ＣＰＵサブシステム１０は、送信部１１３と、受信部１１４とを有する。Ｉ／Ｏサブシステム１１は、送信部１１６と、受信部１１７とを有する。
【００１８】
ロックステップ方式に従い２つのＣＰＵサブシステムが動作しているフォールトトレラント装置３００において、モジュール２は、モジュール１が有する構成と同様な構成を有する。このため、モジュール２が有する構成については説明を省略する。
【００１９】
図１に示された構成例においては、送信部１１３と、受信部２１７とは、伝送路３０のうち２本の伝送路を用いて接続されている。受信部１１４、受信部１１７、送信部１１６、送信部２１３、受信部２１４、送信部２１６に関しても同様に、それぞれ、伝送路３０のうち２本の伝送路を用いて接続されている。尚、送信部と、受信部とを接続している伝送路の本数は、２本でなくともよく、さらに多くの本数であってもよい。
【００２０】
次に、フォールトトレラント装置３００のうち、図１において簡略的に示されたモジュール１が有する構成について、図２を参照しながら詳細に説明する。図２は、第１の実施形態に係るモジュール１が有する構成を示すブロック図である。
【００２１】
モジュール１は、プロセッサ１００と、チップセット１１０と、Ｉ／Ｏデバイス１３０とを有する。プロセッサ１００は、送信部１０１と、受信部１０２とを有する。Ｉ／Ｏデバイス１３０は、受信部１３１と、送信部１３２とを有する。チップセット１１０は、受信部１１１と、送信部１１２と、送信部１１３と、受信部１１４と、遅延バッファ１１５と、送信部１１６と、受信部１１７と、バッファ１１８と、バッファ１１９と、比較部１２０と、送信部１２１と、受信部１２２と、制御部１２３と、組み込み部１４０とを有する。
【００２２】
プロセッサ１００には、主記憶装置（メモリ）等が接続されていてもよい。Ｉ／Ｏデバイス１３０は、ハードディスク等の入出力装置が接続されていてもよい。
【００２３】
ＣＰＵサブシステム１０は、プロセッサ１００と、受信部１１１と、送信部１１２と、送信部１１３と、受信部１１４と、遅延バッファ１１５と、制御部１２３とを総称して概念的に表している。Ｉ／Ｏサブシステム１１は、Ｉ／Ｏデバイス１３０と、受信部１１７と、バッファ１１８と、バッファ１１９と、比較部１２０と、送信部１２１と、受信部１２２とを総称して概念的に表している。
【００２４】
次に、上述した機能構成を有するフォールトトレラント装置３００のうち、図１において簡略的に示されたモジュール２が有する物理的構成について、図３を参照しながら詳細に説明する。図３は、第１の実施形態に係るモジュール２が有する構成を示すブロック図である。図３においては、図２に示された構成要素と対応する構成要素に対して、添え字の頭文字のみが異なる添え字が割り当てられている。モジュール２は、モジュール１と同様な構成を有するので、モジュール２が有する構成に関する詳細な説明を省略する。
【００２５】
次に、図２を参照しながら、モジュール１が有する各構成要素における動作について詳細に説明する。
【００２６】
プロセッサ１００は、Ｉ／Ｏデバイス１３０宛のパケットと、モジュール２（図３）におけるＩ／Ｏデバイス２３０宛のパケット（データ）とを作成（発行）する等、動作する。チップセット１１０は、当該パケットを中継する。
【００２７】
送信部１０１は、プロセッサ１００が作成したパケットを、チップセット１１０に送信する。また、受信部１０２は、チップセット１１０が送信したパケットを受信する。
【００２８】
Ｉ／Ｏデバイス１３０は、プロセッサ１００宛のパケット、及び、モジュール２（図３）におけるプロセッサ２００宛のパケットを作成する。送信部１３２は、Ｉ／Ｏデバイス１３０が作成したパケットをチップセット１１０に送信する。Ｉ／Ｏデバイス１３０において、受信部１３１は、チップセット１１０が送信したパケットを受信する。
【００２９】
チップセット１１０は、プロセッサ１００が作成したパケット、モジュール２（図３）におけるプロセッサ２００が作成したパケット、Ｉ／Ｏデバイス１３０が作成したパケット、モジュール２（図３）におけるＩ／Ｏデバイス２３０が作成したパケットを中継する。
【００３０】
受信部１１１は、送信部１０１が送信したパケットを受信し、受信したパケットの宛先を読み取る。読み取った宛先がＩ／Ｏデバイス１３０である場合に、受信部１１１は、当該パケットをバッファ１１８に格納する。読み取った宛先がモジュール２（図３）におけるＩ／Ｏデバイス２３０である場合に、受信部１１１は、当該パケットを送信部１１３に出力する。チップセット１１０において、送信部１１２は、受信部１１４が受信したパケット、または、遅延バッファ１１５に格納されているパケットをプロセッサ１００に送信する。
【００３１】
送信部１１３は、受信部１１１が受信したパケットを、伝送路３０を介してモジュール２（たとえば、チップセット２１０）に送信する。送信部１１３は、制御部１２３によって指示された伝送路幅にて、伝送路３０を介してパケットを送信する。
【００３２】
受信部１１４は、モジュール２におけるチップセット２１０（図３）が送信したパケットを、伝送路３０（図１）を介して受信し、受信した当該パケットを送信部１１２に対して出力する。受信部１１４は、制御部１２３によって指示された伝送路幅にて、伝送路３０（図１）を介してパケットを受信する。
【００３３】
送信部１１６は、受信部１２２が受信したパケットを、伝送路３０（図１）を介してモジュール２（図３）におけるチップセット２１０に送信する。送信部１１６は、制御部１２３によって指示された伝送路幅にて、伝送路３０を介してパケットを送信する。受信部１１７は、モジュール２（図３）におけるチップセット２１０が送信したパケットを、伝送路３０を介して受信し、受信した当該パケットをバッファ１１９に格納する。受信部１１７は、制御部１２３によって指示された伝送路幅にて、伝送路３０（図１）を介してパケットを受信する。
【００３４】
遅延バッファ１１５は、受信部１２２が出力したパケットを入力し、制御部１２３によって指示された遅延時間後に、当該パケットを送信部１１２に対して出力する。
【００３５】
本実施形態に係るフォールトトレラント装置３００は、ロックステップ方式に従い動作する。この場合に、フォールトトレラント装置３００においては、Ｉ／Ｏサブシステム１１におけるＩ／Ｏデバイス１３０、及び、Ｉ／Ｏサブシステム２１（図３）におけるＩ／Ｏデバイス２３０から送信されたパケットは、それぞれ、ＣＰＵサブシステム１０におけるプロセッサ１００と、ＣＰＵサブシステム２０（図３）におけるプロセッサ２００とに同様なタイミングにて到着する。
【００３６】
制御部１２３（図２）、及び、制御部２２３（図３）によって伝送路３０における伝送路幅が変更された場合に、伝送路３０におけるレイテンシは、該伝送路幅に応じて変化する。制御部１２３は、当該伝送路幅に基づき、パケットがプロセッサ１００とプロセッサ２００とに、同様なタイミングにて到着するよう遅延時間を調整する。
【００３７】
比較部１２０は、バッファ１１８に格納されているパケットと、バッファ１１９に格納されているパケットとが一致するか否かを判定し、一致した場合に、当該パケットを送信部１２１に対して出力する。一致しなかった場合には、当該パケットに関する動作は失敗である。
【００３８】
送信部１２１は、比較部１２０が出力したパケットをＩ／Ｏデバイス１３０に送信する。受信部１２２は、送信部１３２が送信したパケットを受信し、受信したパケットを遅延バッファ１１５と、送信部１１６とに送信する。
【００３９】
伝送路３０にて障害が発生した場合に、フォールトトレラント装置３００において実行される、該障害からの回復動作について説明する。
【００４０】
説明の便宜上、図１に示された伝送路３０に含まれている複数の伝送路を、モジュール１にて接続された側にて、上から順に、第１伝送路乃至第８伝送路と表すとする。上位伝送路は、各構成要素に接続されている２本の伝送路のうち、モジュール１側にて上側に示されている伝送路であるとする。下位伝送路は、各構成要素に接続されている２本の伝送路のうち、モジュール１側にて下側に示されている伝送路であるとする。したがって、図１に示された例において、上位伝送路は、第１伝送路、第３伝送路、第５伝送路、及び、第７伝送路を含む。下位伝送路は、第２伝送路、第４伝送路、第６伝送路、及び、第８伝送路を含む。
【００４１】
たとえば、第６伝送路は、受信部１１７と、送信部２１３とを接続している伝送路のうち、下位伝送路を表している。第５伝送路は、受信部１１７と、送信部２１３とを接続している伝送路のうち、上位伝送路を表している。第１伝送路は、送信部１１３と、受信部２１７とを接続している伝送路のうち、上位伝送路を表している。
【００４２】
図４を参照しながら、第６伝送路にて障害５０が発生した例を参照しながら、本実施形態に係るフォールトトレラント装置３００における動作について説明する。図４は、第６伝送路にて障害５０が発生した例を表す図である。
【００４３】
第６伝送路にて障害５０が発生した場合には、Ｉ／Ｏサブシステム１１（図５）、または、ＣＰＵサブシステム２０（図６）が、フォールトトレラント装置３００から機能的に切り離される。図５は、Ｉ／Ｏサブシステム１１がフォールトトレラント装置３００から機能的に切り離されている状態を概念的に表す図である。図６は、ＣＰＵサブシステム２０がフォールトトレラント装置３００から機能的に切り離されている状態を概念的に表す図である。
【００４４】
上述した各モジュールにおける、ＣＰＵサブシステム、または、Ｉ／Ｏサブシステムのうち、少なくともいずれかのサブシステムに障害が発生した場合には、上述した少なくともいずれかのサブシステムが機能的に切り離され、その後、サブシステムを含むモジュール全体が交換される。たとえば、ユーザは、モジュールに設置されているランプ（すなわち、障害が発生しているか否かを報知するランプ（不図示））、または、当該モジュールに関するログを参照することによって、当該モジュールに障害が発生している（または、発生した）か否かを知ることができる。
【００４５】
次に、図７を参照しながら、上述した少なくともいずれかのサブシステムが機能的に切り離された後に、フォールトトレラント装置３００における動作について詳細に説明する。図７は、サブシステムが機能的に切り離された後に、第１の実施形態に係るフォールトトレラント装置３００における動作の流れを示すフローチャートである。したがって、この動作は、上述した少なくともいずれかのサブシステムが機能的に切り離されている状態にあるフォールトトレラント装置３００にて実行される。たとえば、フォールトトレラント装置３００にて障害が発生した場合に、組み込み部１４０によって、上述した少なくともいずれかのサブシステムが機能的に切り離される。
【００４６】
制御部１２３は、伝送路に含まれている全伝送路（第１伝送路乃至第８伝送路）の機能が有効になるよう制御する（ステップＳ１０１）。この場合に、制御部１２３は、第１伝送路乃至第８伝送路を、それぞれ、通信（入出力）する状態（通信可能状態）になるよう制御する。
【００４７】
組み込み部１４０は、モジュール１及びモジュール２を用いた２重化状態が可能であるよう、これらのモジュールをフォールトトレラント装置３００に機能的に組み込む組み込み動作を実行する（ステップＳ１０２）。たとえば、組み込み動作は、一方のプロセッサに接続されているメモリに格納されているデータを、他方のプロセッサに接続されているメモリにコピーする等、動作することによって、フォールトトレラント装置３００にモジュールを機能的に組み込む動作である。
【００４８】
障害の要因がモジュール１にあり、さらに、モジュール１が交換された場合に、組み込み部１４０は、当該組み込み動作が成功していることになる。しかし、障害の要因がモジュール２にあり、さらに、モジュール１が交換された場合に、組み込み部１４０は、当該組み込み動作を失敗していることになる。
【００４９】
制御部１２３は、当該組み込み動作が成功であるか否かを判定する（ステップＳ１０３）。該組み込み動作が失敗である場合に（ステップＳ１０３にてＮＯ）、制御部１２３は、伝送路３０のうち、下位伝送路のみの機能が有効になるよう制御する（ステップＳ１０４）。すなわち、制御部１２３は、ステップＳ１０４にて、第２伝送路、第４伝送路、第６伝送路、及び、第８伝送路のみの機能が有効になるよう制御する。その後、組み込み部１４０は、該組み込み動作を実行する（ステップＳ１０５）。制御部１２３は、当該組み込み動作が成功であるか否かを判定する（ステップＳ１０６）。
【００５０】
障害の要因がモジュール２に接続された側の上位伝送路にある場合に、ステップＳ１０４にて下位伝送路のみの機能が有効になるよう制御されているので、制御部１２３は、当該組み込み動作が成功であったと判定する。この場合に、フォールトトレラント装置３００においては、モジュール１、モジュール２、及び、伝送路３０を用いた２重化状態が実現されている。これに対して、障害の要因がモジュール２に接続された側の下位伝送路にある場合に、ステップＳ１０４にて下位伝送路のみの機能が有効になるよう制御されているので、制御部１２３は、ステップＳ１０６にて、当該組み込み動作が失敗であると判定する。
【００５１】
該組み込み動作が失敗である場合に（ステップＳ１０６にてＮＯ）、制御部１２３は、伝送路３０のうち、上位伝送路のみの機能が有効になるよう制御する（ステップＳ１０７）。その後、組み込み部１４０は、該組み込み動作を実行する（ステップＳ１０８）。制御部１２３は、当該組み込み動作が成功であるか否かを判定する（ステップＳ１０９）。
【００５２】
障害の要因が、下位伝送路のうちモジュール２に接続された伝送路である場合に、制御部１２３は、ステップＳ１０９にて、組み込み動作が成功であったと判定する。
【００５３】
ステップＳ１０９にてＮＯの場合に、制御部１２３は、フォールトトレラント装置３００にて発生した障害の要因が、１つではなく、複数である（すなわち、多重障害が発生している）と判定する（ステップＳ１１０）。すなわち、これは、すべての伝送路の機能が有効になるよう制御した場合、上位伝送路のみの機能が有効になるよう制御した場合、及び、下位伝送路のみの機能が有効になるよう制御した場合、いずれの場合であっても、当該組み込み動作は失敗である。
【００５４】
フォールトトレラント装置３００において、一方のモジュールのみが、正常に機能しているモジュールに交換されたとする。この場合に、伝送路３０において、下位伝送路のみの機能が有効になるよう制御した場合、あるいは、上位伝送路のみの機能が有効になるよう制御した場合のうち、いずれかの場合において組み込み動作が成功であったときに、交換されていない側のモジュールに接続されている伝送路３０に障害の要因がある。この場合に、たとえば、交換されていない側のモジュールが交換される。その後、フォールトトレラント装置３００は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。
【００５５】
図７に示された動作は、モジュール２においても同様に実行される。
【００５６】
図８を参照しながら、伝送路３０において下位伝送路のみの機能が有効になるよう制御した状態について説明する。図８は、伝送路３０において下位伝送路のみの機能が有効になるよう制御した状態を概念的に表す図である。この例の場合に、実線にて示されているように、フォールトトレラント装置３００は、伝送路３０において、第２伝送路、第４伝送路、第６伝送路、及び、第８伝送路のみの機能が有効になるよう制御する。尚、図８及び図９（後述）において点線は、機能が有効になるよう制御されていない伝送路を表す。図８に示す例において、障害５０は、第６伝送路のうち、モジュール１の側にて障害５０が発生していることを表す。下位伝送路のみの機能が有効になるよう制御した場合に、該下位伝送路における第６伝送路にて障害５０が発生しているので、フォールトトレラント装置３００は、モジュール１、及び、モジュール２に関する組み込み動作を失敗していることになる。
【００５７】
図９を参照しながら、伝送路３０において上位伝送路のみの機能が有効になるよう制御した状態について説明する。図９は、伝送路３０において上位伝送路のみの機能が有効になるよう制御した状態を概念的に表す図である。この例の場合に、フォールトトレラント装置３００は、伝送路３０において、第１伝送路、第３伝送路、第５伝送路、及び、第７伝送路のみの機能が有効になるよう制御する。図９に示す例において、障害５０は、下位伝送路における第６伝送路のうち、モジュール１の側にて発生していることを表す。第６伝送路にて障害５０が発生しているので、上位伝送路のみの機能が有効になるよう制御した場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２に関する組み込み動作が成功していることになる。
【００５８】
図１０を参照しながら、各伝送路が、伝送路Ａと、伝送路Ｂとを有する場合に、フォールトトレラント装置３００が、モジュール１と、モジュール２とを用いて２重化を実現する動作の流れの一例について説明する。図１０は、フォールトトレラント装置３００が、２つのモジュール（モジュール１と、モジュール２）を用いて２重化状態を実現する動作の流れの一例を概念的に表す図である。説明の便宜上、フォールトトレラント装置３００においては、モジュール１が、正常に機能しているモジュールに交換されたとする。
【００５９】
伝送路Ａ、及び、伝送路Ｂは、それぞれ、複数の伝送路を表す。たとえば、伝送路Ａが、図１等を参照しながら上述した上位伝送路であり、伝送路Ｂが下位伝送路である。
【００６０】
まず、制御部１２３は、伝送路Ａと、伝送路Ｂとがともに機能が有効になるよう制御する（順序１）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現されている。組み込み動作が失敗である場合に、制御部１２３は、伝送路Ａのみの機能が有効になるよう制御する（順序２）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００にて、モジュール１、モジュール２、及び、伝送路３０を用いた２重化状態が実現されている。組み込み動作が失敗である場合に、制御部１２３は、伝送路Ｂのみの機能が有効になるよう制御する（順序３）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、制御部１２３は、フォールトトレラント装置３００にて、モジュール１、モジュール２、及び、伝送路３０を用いた２重化状態が実現されている。組み込み動作が失敗である場合に、制御部１２３は、障害の要因が複数存在していると判定する。
【００６１】
したがって、組み込み動作が成功であった場合には、フォールトトレラント装置３００において、モジュール１、及び、モジュール２を用いた２重化状態が実現される。
【００６２】
図１０に示された動作は、モジュール２においても実行される。
【００６３】
図１１を参照しながら、伝送路が、伝送路Ａと、伝送路Ｂと、伝送路Ｃと、伝送路Ｄとである場合に、フォールトトレラント装置３００が、２つのモジュール（モジュール１と、モジュール２）を用いて２重化状態を実現する動作の流れの一例について説明する。図１１は、フォールトトレラント装置３００が、２つのモジュール（モジュール１と、モジュール２）を用いて２重化状態を実現する動作の流れの一例を概念的に表す図である。説明の便宜上、フォールトトレラント装置３００においては、モジュール１が、正常に機能しているモジュールに交換されたとする。
【００６４】
伝送路Ａと、伝送路Ｂと、伝送路Ｃと、伝送路Ｄとは、それぞれ、複数の伝送路を表す。この場合に、送信部（たとえば、送信部１１３）、及び、受信部（たとえば、受信部２１７）は、それぞれ、伝送路Ａのうちの１つの伝送路と、伝送路Ｂのうちの１つの伝送路と、伝送路Ｃのうちの１つの伝送路と、伝送路Ｄのうちの１つの伝送路とを介して接続している。この例において、上位伝送路は、伝送路Ａと、伝送路Ｂとを表す。下位伝送路は、伝送路Ｃと、伝送路Ｄとを表す。
【００６５】
まず、制御部１２３は、伝送路Ａと、伝送路Ｂと、伝送路Ｃと、伝送路Ｄとがいずれも機能が有効になるよう制御する（順序１）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。組み込み動作が失敗である場合に、制御部１２３は、伝送路Ａと、伝送路Ｂとのみの機能が有効になるよう制御する（順序２）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。組み込み動作が失敗である場合に、制御部１２３は、伝送路Ｃと、伝送路Ｄとのみの機能が有効になるよう制御する（順序３）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。組み込み動作が失敗である場合に、制御部１２３は、障害の要因が複数存在していると判定する。
【００６６】
図１１に示された動作は、モジュール２においても実行される。尚、図１１に示された一部の動作のみが実行されてもよい。
【００６７】
図１１に示された動作は、モジュール２においても実行される。
【００６８】
図１２を参照しながら、伝送路が、伝送路Ａと、伝送路Ｂと、伝送路Ｃと、伝送路Ｄとである場合に、フォールトトレラント装置３００が、モジュール１と、モジュール２とを用いて２重化状態を実現する動作の流れの一例について説明する。図１２は、フォールトトレラント装置３００が、２つのモジュール（モジュール１と、モジュール２）を用いて２重化状態を実現する動作の流れの一例を概念的に表す図である。
【００６９】
伝送路Ａと、伝送路Ｂと、伝送路Ｃと、伝送路Ｄとは、それぞれ、複数の伝送路を表す。この場合に、送信部（たとえば、送信部１１３）、及び、受信部（たとえば、受信部２１７）は、それぞれ、伝送路Ａのうちの１つの伝送路と、伝送路Ｂのうちの１つの伝送路と、伝送路Ｃのうちの１つの伝送路と、伝送路Ｄのうちの１つの伝送路とを介して接続している。この例において、上位伝送路は、伝送路Ａと、伝送路Ｂとを表す。下位伝送路は、伝送路Ｃと、伝送路Ｄとを表す。
【００７０】
まず、制御部１２３は、伝送路Ａと、伝送路Ｂと、伝送路Ｃと、伝送路Ｄとがいずれも機能が有効になるよう制御する（順序１）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。組み込み動作が失敗である場合に、制御部１２３は、伝送路Ａと、伝送路Ｂとのみの機能が有効になるよう制御する（順序２）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。組み込み動作が失敗である場合に、制御部１２３は、伝送路Ｃと、伝送路Ｄとのみの機能が有効になるよう制御する（順序３）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。
【００７１】
組み込み動作が失敗である場合に、制御部１２３は、伝送路Ａと、伝送路Ｃとのみの機能が有効になるよう制御する（順序４）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功である場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。組み込み動作が失敗である場合に、制御部１２３は、伝送路Ａと、伝送路Ｄとのみの機能が有効になるよう制御する（順序５）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。
【００７２】
組み込み動作が失敗である場合に、制御部１２３は、伝送路Ｂと、伝送路Ｃとのみの機能が有効になるよう制御する（順序６）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。組み込み動作が失敗である場合に、制御部１２３は、伝送路Ｂと、伝送路Ｄとのみの機能が有効になるよう制御する（順序７）。組み込み部１４０は、モジュール１、及び、モジュール２に関する組み込み動作を実行する。組み込み動作が成功であった場合に、フォールトトレラント装置３００においては、モジュール１、及び、モジュール２を用いた２重化状態が実現される。組み込み動作が失敗である場合に、制御部１２３は、障害の要因が複数存在していると判定する。
【００７３】
図１２に示された動作は、モジュール２においても実行される。尚、図１２に示された一部の動作のみが実行されてもよい。
【００７４】
図１０乃至図１２に示された動作の例においては、複数の伝送路３０のうち少なくとも一部の伝送路が組み合わされた所定の組み合わせに従い、２重化状態を実現することが可能な組み合わせを用いてフォールトトレラント装置３００における機能が実現される。
【００７５】
次に、本発明の第１の実施形態に係るフォールトトレラント装置３００に関する効果について説明する。
【００７６】
第１の実施形態に係るフォールトトレラント装置３００によれば、高い可用性を実現することができる。この理由は、ロックステップ方式に従い２つのＣＰＵサブシステムが動作しているフォールトトレラント装置３００にて、一部の伝送路にて障害が発生した場合に、障害が発生していない伝送路を用いて２重化状態を回復することができるからである。
【００７７】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００７８】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第２の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００７９】
図１３を参照しながら、本発明の第２の実施形態に係るフォールトトレラント装置３２０が有する構成について詳細に説明する。図１３は、本発明の第２の実施形態に係るフォールトトレラント装置３２０が有する機能の概略的な構成を示すブロック図である。
【００８０】
第２の実施形態に係るフォールトトレラント装置３２０は、モジュール３と、モジュール４と、伝送路３０とを有する。伝送路３０は、モジュール３と、モジュール４とを接続している。伝送路３０は、複数の伝送路を含む。
【００８１】
図１１、または、図１２を参照しながら説明したように、各送信部と、各受信部とを接続している伝送路は、伝送路Ａ、伝送路Ｂ、伝送路Ｃ、及び、伝送路Ｄなる伝送路であるとする。また、上位伝送路は、伝送路Ａ、及び、伝送路Ｂであるとする。下位伝送路は、伝送路Ｃ、及び、伝送路Ｄであるとする。図１１、または、図１２を参照しながら説明したように、伝送路Ａ乃至伝送路Ｄは、それぞれ、複数の伝送路を含んでいる。
【００８２】
次に、フォールトトレラント装置３２０のうち、図１３において簡略的に示されたモジュール３が有する構成について、図１４を参照しながら詳細に説明する。図１４は、第２の実施形態に係るモジュール３が有する構成を示すブロック図である。ロックステップ方式に従い２つのＣＰＵサブシステムが動作しているフォールトトレラント装置３２０において、モジュール４は、モジュール３が有する構成と同様な構成を有する。このため、モジュール４が有する構成については説明を省略する。
【００８３】
モジュール３は、プロセッサ１００と、チップセット３１０と、Ｉ／Ｏデバイス１３０とを有する。チップセット３１０は、受信部１１１と、送信部１１２と、送信部１１３と、受信部１１４と、遅延バッファ１１５と、送信部１１６と、受信部１１７と、バッファ１１８と、バッファ１１９と、比較部１２０と、送信部１２１と、受信部１２２と、レジスタ１２４と、制御部１２５と、組み込み部１４０とを有する。
【００８４】
制御部１２５は、図１１または図１２を参照しながら上述した動作に従い制御された制御情報を、順次、レジスタ１２４から読み取り、読み取った制御情報に従い、伝送路の機能が有効になるよう制御する。レジスタ１２４には、機能が有効になるよう制御する伝送路を表す制御情報を格納することができる。
【００８５】
次に、図１５を参照しながら、上述した少なくともいずれかのサブシステムが機能的に切り離された後に、フォールトトレラント装置３２０における動作について詳細に説明する。図１５は、上述した少なくともいずれかのサブシステムが機能的に切り離された後に、第２の実施形態に係るフォールトトレラント装置３２０における動作の流れを示すフローチャートである。
【００８６】
制御部１２５は、レジスタ１２４に格納されている制御情報（たとえば、図１１または図１２において、１つの順序に応じた制御情報）を読み取り（ステップＳ２０１）、読み取った制御情報に従い伝送路の機能が有効になるよう制御する（ステップＳ２０２）。組み込み部１４０は、モジュール３と、モジュール４とに関する組み込み動作を実行する（ステップＳ２０３）。制御部１２５は、該組み込み動作が成功であるか否かを判定する（ステップＳ２０４）。
【００８７】
組み込み動作が成功であった場合には（ステップＳ２０４にてＹＥＳ）、フォールトトレラント装置３２０において、モジュール３と、モジュール４とを用いた２重化状態が実現されている。該組み込み動作が失敗である場合に（ステップＳ２０４にてＮＯ）、制御部１２５は、図１２または図１３に例示された制御情報に従った動作が完了したか否かを判定する（ステップＳ２０５）。該動作が完了してない場合に（ステップＳ２０５にてＮＯ）、ステップＳ２０１に示された動作が実行される。ステップＳ２０５にてＹＥＳの場合には、フォールトトレラント装置３２０において、モジュール３、及び、モジュール４を用いた２重化状態を実現することができなかったことを表す。すなわち、この場合に、制御部１２５は、複数の要因によって障害が発生した多重障害であると判定する（ステップＳ２０６）。
【００８８】
たとえば、図１１に示された制御情報の場合に、制御部１２５は、まず、伝送路３０に含まれているすべての伝送路（伝送路Ａ乃至伝送路Ｄ）の機能が有効になるよう制御する（順序１）。当該制御情報に従った組み込み動作が失敗である場合に、制御部１２５は、伝送路３０のうち、上位伝送路（伝送路Ａ、及び、伝送路Ｂ）の機能が有効になるよう制御する（順序２）。当該制御情報に従った組み込み動作が失敗である場合に、制御部１２５は、伝送路３０のうち、下位伝送路（伝送路Ｃ、及び、伝送路Ｄ）を有効に制御する（順序３）。
【００８９】
伝送路３０のうち、上位伝送路、または、下位伝送路のいずれか一方に障害が発生した場合には、図１１に例示された制御情報に従って動作することによって、フォールトトレラント装置３２０においては、モジュール３、及び、モジュール４を用いた２重化状態が実現される。
【００９０】
たとえば、図１２に示された制御情報の場合に、制御部１２５は、まず、伝送路３０に含まれているすべての伝送路（伝送路Ａ乃至伝送路Ｄ）の機能が有効になるよう制御する（順序１）。当該制御に従った組み込み動作が失敗である場合に、制御部１２５は、伝送路３０のうち、上位伝送路（伝送路Ａ、及び、伝送路Ｂ）の機能が有効になるよう制御する（順序２）。以降、図１２を参照しながら上述した動作が実行される。
【００９１】
図１２に従った動作によれば、上位伝送路、及び、下位伝送路の双方に障害が発生していた場合であっても、一部の伝送路の障害であれば、フォールトトレラント装置３２０において、モジュール３、及び、モジュール３を用いた２重化状態を実現することができる。たとえば、伝送路Ｂ、及び、伝送路Ｃにて障害が発生している状態は、上位伝送路、及び、下位伝送路の双方に障害が発生している状態を表す。この場合に、図１１に従った動作によれば、フォールトトレラント装置３２０において２重化状態を実現することができないものの、図１２に従った動作によれば、フォールトトレラント装置３２０において２重化状態を実現することができる。
【００９２】
図１１、及び、図１２に示されたいずれの動作であっても、まず、伝送路３０におけるすべての伝送路の機能が有効になるよう制御され、当該制御に従った組み込み動作が失敗である場合に、一部の伝送路のみの機能が有効になるよう制御される。したがって、すべての伝送路が有効である場合における組み込み動作が成功であるか否かを、最優先にて判定するので、当該動作によれば、最大の伝送路幅を確保することができる可能性が高い。
【００９３】
また、図１１、及び、図１２に示されたいずれの動作であっても、機能が有効になるよう制御される伝送路の個数が多い順に処理を実行することによって、より広い伝送路幅を確保することができる。この理由は、広い伝送路幅を先に制御する処理によって、伝送路幅の広い順に組み込み動作が成功である構成を決定することができるからである。
【００９４】
次に、本発明の第２の実施形態に係るフォールトトレラント装置３２０に関する効果について説明する。
【００９５】
第２の実施形態に係るフォールトトレラント装置３２０によれば、高い可用性を実現することができる。この理由は、第１の実施形態にて説明した理由と同様である。
【００９６】
さらに、本実施形態に係るフォールトトレラント装置３２０によれば、より高い可用性を提供することができる。これは、図１１または図１２を参照しながら上述した理由に基づく。
【００９７】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。
【００９８】
図１６を参照しながら、本発明の第３の実施形態に係る制御装置５０１が有する構成について詳細に説明する。図１６は、本発明の第３の実施形態に係る制御装置５０１が有する構成を示すブロック図である。
【００９９】
第３の実施形態に係る制御装置５０１は、制御部５０２と、組み込み部５０３とを有する。
【０１００】
制御装置５０１は、ロックステップ方式に従い動作するフォールトトレラント装置において動作する。制御装置５０１は、たとえば、図１に示したフォールトトレラント装置３００、及び、図１３に示したフォールトトレラント装置３２０において、複数のサブシステムを接続している複数の伝送路を介した動作を制御する。
【０１０１】
次に、図１７を参照しながら、本発明の第３の実施形態に係る制御装置５０１における動作について詳細に説明する。図１７は、第３の実施形態に係る制御装置５０１における動作の流れを示すフローチャートである。
【０１０２】
制御装置５０１は、複数の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御する（ステップＳ３０１）。
【０１０３】
組み込み部５０３は、制御装置５０１が、機能が有効になるよう制御した伝送路と、サブシステムとを用いる２重化状態を実現する組み込み動作を実行する（ステップＳ３０２）。
【０１０４】
制御部５０２は、該組み込み動作が成功であるか否かを判定する（ステップＳ３０３）。
【０１０５】
組み込み動作が成功であった場合には、ステップＳ３０１、及び、ステップＳ３０２によって、制御装置５０１が、機能が有効になるよう制御した伝送路と、サブシステムとを用いる２重化状態が実現されている。組み込み動作が失敗である場合に、制御装置５０１は、ステップＳ３０１にて制御した伝送路とは異なる伝送路の機能が有効になるよう制御することによって、図１７に示された動作を繰り返し実行してもよい。
【０１０６】
制御部５０２は、第１の実施形態に係る制御部１２３、または、第２の実施形態に係る制御部１２５が有する機能と同様な機能によって実現することができる。組み込み部５０３は、第１の実施形態に係る組み込み部１４０、または、第２の実施形態に係る組み込み部１４０が有する機能と同様な機能によって実現することができる。したがって、制御装置５０１は、第１の実施形態に係るモジュール１、モジュール２、第２の実施形態に係るモジュール３、または、モジュール４が有する機能と同様な機能によって実現することができる。
【０１０７】
次に、本発明の第３の実施形態に係る制御装置５０１に関する効果について説明する。
【０１０８】
第３の実施形態に係る制御装置５０１によれば、フォールトトレラント装置に関して高い可用性を実現することができる。この理由は、伝送路の一部に障害が発生した場合であっても、一部の伝送路と、サブシステムとを用いた２重化状態を実現するからである。
【０１０９】
上述した各実施形態においては、フォールトトレラント装置において２重化状態を実現する例を参照しながら、該フォールトトレラント装置における動作について説明した。しかし、さらに多くの冗長性を有する動作であっても、各実施形態にて上述した動作と同様に動作することによって、フォールトトレラント装置が有する機能を実現することができる。すなわち、フォールトトレラント装置において実現される動作は、２重化状態に限定されず、多重化状態であってもよい。
【０１１０】
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【０１１１】
１    モジュール
２    モジュール
１０    ＣＰＵサブシステム
２０    ＣＰＵサブシステム
１１    Ｉ／Ｏサブシステム
２１    Ｉ／Ｏサブシステム
３０    伝送路
３００    フォールトトレラント装置
１００    プロセッサ
１０１    送信部
１０２    受信部
１１０    チップセット
１１１    受信部
１１２    送信部
１１３    送信部
１１４    受信部
１１５    遅延バッファ
１４０    組み込み部
１２３    制御部
１１６    送信部
１１７    受信部
１１８    バッファ
１１９    バッファ
１２０    比較部
１２１    送信部
１２２    受信部
１３０    Ｉ／Ｏデバイス
１３１    受信部
１３２    送信部
２００    プロセッサ
２１０    チップセット
２１３    送信部
２１４    受信部
２２３    制御部
２１６    送信部
２１７    受信部
２３０    Ｉ／Ｏデバイス
３    モジュール
４    モジュール
３２０    フォールトトレラント装置
１２４    レジスタ
１２５    制御部
３１０    チップセット
５０１    制御装置
５０２    制御部
【図１】
2018160030.tif 000003
【図２】
2018160030.tif 000004
【図３】
2018160030.tif 000005
【図４】
2018160030.tif 000006
【図５】
2018160030.tif 000007
【図６】
2018160030.tif 000008
【図７】
2018160030.tif 000009
【図８】
2018160030.tif 000010
【図９】
2018160030.tif 000011
【図１０】
2018160030.tif 000012
【図１１】
2018160030.tif 000013
【図１２】
2018160030.tif 000014
【図１３】
2018160030.tif 000015
【図１４】
2018160030.tif 000016
【図１５】
2018160030.tif 000017
【図１６】
2018160030.tif 000018
【図１７】
2018160030.tif 000019
【手続補正書】
【提出日】平成30年4月27日(2018.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロックステップ方式に従い動作する複数のサブシステムを接続している複数の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御する制御手段と、
前記制御手段によって機能が有効になるよう制御された前記伝送路と、前記複数のサブシステムとを用いる多重化状態を実現する組み込み動作を実行する組み込み手段と
を備え、
前記制御手段は、前記複数の伝送路のうち少なくとも一部の伝送路が組み合わされた所定の組み合わせのうち、前記所定の組み合わせに含まれている前記伝送路の個数が多い順に前記組み込み動作が成功であるか否かを判定し、成功であった組み合わせにおける伝送路の機能が有効になるよう制御する
制御装置。
【請求項２】
前記制御手段は、前記複数の伝送路のうち２つの伝送路を選び、選んだ前記２つの伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功である場合に前記２つの伝送路の機能が有効になるよう制御する
請求項１に記載の制御装置。
【請求項３】
前記制御手段は、前記複数の伝送路のすべてを用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記複数の伝送路のすべての機能が有効になるよう制御する、前記組み込み動作が失敗である場合に、前記複数の伝送路のうちの一部の伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記一部の伝送路の機能が有効になるよう制御する
請求項１または請求項２に記載の制御装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載の制御装置と、
前記複数のサブシステムと
を備え、
前記複数のサブシステムにおける各サブシステムは、
他方のサブシステムにデータを送信する送信手段と、
前記他方のサブシステムが送信した前記データを受信する受信手段と、
入出力動作する入出力デバイスと、
前記入出力デバイスに送信するデータを作成するプロセッサと、
前記プロセッサが作成したデータと、前記受信手段が受信したデータとが一致するか否かを比較し、一致した場合には前記入出力デバイスに前記データを出力する比較手段と
を含み、
前記送信手段は、前記プロセッサが作成した前記データを、前記伝送路を介して、前記他方のサブシステムに送信する
フォールトトレラント装置。
【請求項５】
情報処理装置によって、ロックステップ方式に従い動作する複数のサブシステムを接続している複数の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御するのに際して、機能が有効になるよう制御した前記伝送路と、前記複数のサブシステムとを用いる多重化状態を実現する組み込み動作を実行し、前記組み込み動作が成功であるか否かを判定し、前記組み込み動作が失敗である場合に、前記複数の伝送路のうち、前記組み込み動作が失敗であった伝送路とは異なる伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記異なる伝送路の機能が有効になるよう制御する
制御方法であって、
前記複数の伝送路のうち少なくとも一部の伝送路が組み合わされた所定の組み合わせのうち、前記所定の組み合わせに含まれている前記伝送路の個数が多い順に前記組み込み動作が成功であるか否かを判定し、成功であった組み合わせにおける伝送路の機能が有効になるよう制御する
制御方法。
【請求項６】
前記複数の伝送路のうち２つの伝送路を選び、選んだ前記２つの伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功である場合に前記２つの伝送路の機能が有効になるよう制御する
請求項５に記載の制御方法。
【手続補正書】
【提出日】平成30年7月17日(2018.7.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロックステップ方式に従い動作する複数のサブシステムを接続している４個以上の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御する制御手段と、
前記制御手段によって機能が有効になるよう制御された前記伝送路と、前記複数のサブシステムとを用いる多重化状態を実現する組み込み動作を実行する組み込み手段と
を備え、
前記制御手段は、前記４個以上の伝送路のうち少なくとも一部の伝送路が組み合わされた所定の組み合わせのうち、前記所定の組み合わせに含まれている前記伝送路の個数が多い順に前記組み込み動作が成功であるか否かを判定し、成功であった組み合わせにおける伝送路の機能が有効になるよう制御し、
前記所定の組み合わせは、前記４個以上の伝送路を全て含む組み合わせである場合を含む
制御装置。
【請求項２】
前記制御手段は、前記４個以上の伝送路のうち２つの伝送路を選び、選んだ前記２つの伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功である場合に前記２つの伝送路の機能が有効になるよう制御する
請求項１に記載の制御装置。
【請求項３】
前記制御手段は、前記４個以上の伝送路のすべてを用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記４個以上の伝送路のすべての機能が有効になるよう制御する、前記組み込み動作が失敗である場合に、前記４個以上の伝送路のうちの一部の伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記一部の伝送路の機能が有効になるよう制御する
請求項１または請求項２に記載の制御装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載の制御装置と、
前記複数のサブシステムと
を備え、
前記複数のサブシステムにおける各サブシステムは、
他方のサブシステムにデータを送信する送信手段と、
前記他方のサブシステムが送信した前記データを受信する受信手段と、
入出力動作する入出力デバイスと、
前記入出力デバイスに送信するデータを作成するプロセッサと、
前記プロセッサが作成したデータと、前記受信手段が受信したデータとが一致するか否かを比較し、一致した場合には前記入出力デバイスに前記データを出力する比較手段と
を含み、
前記送信手段は、前記プロセッサが作成した前記データを、前記伝送路を介して、前記他方のサブシステムに送信する
フォールトトレラント装置。
【請求項５】
情報処理装置によって、ロックステップ方式に従い動作する複数のサブシステムを接続している４個以上の伝送路のうち、少なくとも一部の伝送路の機能が有効になるよう制御するのに際して、機能が有効になるよう制御した前記伝送路と、前記複数のサブシステムとを用いる多重化状態を実現する組み込み動作を実行し、前記組み込み動作が成功であるか否かを判定し、前記組み込み動作が失敗である場合に、前記４個以上の伝送路のうち、前記組み込み動作が失敗であった伝送路とは異なる伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功であった場合に前記異なる伝送路の機能が有効になるよう制御する
制御方法であって、
前記４個以上の伝送路のうち少なくとも一部の伝送路が組み合わされた所定の組み合わせのうち、前記所定の組み合わせに含まれている前記伝送路の個数が多い順に前記組み込み動作が成功であるか否かを判定し、成功であった組み合わせにおける伝送路の機能が有効になるよう制御し、
前記所定の組み合わせは、前記４個以上の伝送路を全て含む組み合わせである場合を含む
制御方法。
【請求項６】
前記４個以上の伝送路のうち２つの伝送路を選び、選んだ前記２つの伝送路を用いた前記組み込み動作が成功であるか否かを判定し、成功である場合に前記２つの伝送路の機能が有効になるよう制御する
請求項５に記載の制御方法。