(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-02-03
(54)【発明の名称】キャリアの動作安全性にクリティカルである少なくとも1つのサービスを実施する、キャリア上に設置されるコンピュータシステム
(51)【国際特許分類】
G06F 11/16 20060101AFI20230127BHJP
G06F 21/64 20130101ALI20230127BHJP
【FI】
G06F11/16 641
G06F21/64
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022530910
(86)(22)【出願日】2020-11-12
(85)【翻訳文提出日】2022-07-20
(86)【国際出願番号】 EP2020081922
(87)【国際公開番号】W WO2021110380
(87)【国際公開日】2021-06-10
(32)【優先日】2019-12-06
(33)【優先権主張国・地域又は機関】FR
(81)【指定国・地域】
(71)【出願人】
【識別番号】311015001
【氏名又は名称】コミサリヤ・ア・レネルジ・アトミク・エ・オ・エネルジ・アルテルナテイブ
(74)【代理人】
【識別番号】110001173
【氏名又は名称】弁理士法人川口國際特許事務所
(72)【発明者】
【氏名】アムラン,エティエンヌ
【テーマコード(参考)】
5B034
【Fターム(参考)】
5B034AA02
5B034CC01
5B034DD01
(57)【要約】
キャリア上に設置されるコンピュータシステム(1)であって、ネットワーク内でデータ集中器(2)及びモニタ(M)と通信し、且つキャリアの動作安全性にクリティカルである少なくとも1つのサービスを実施し、クリティカルサービスは、ネットワークに接続された異なるそれぞれのコンピュータ(C1,...,Cm)上の少なくとも2のインスタンス(δ1,...,δm)において冗長であり、各コンピュータ(Ck)は、クリティカルサービスのインスタンス(δk)を実施する少なくとも1つのソフトウェアタスクを実施し、時間制御によってクリティカルサービスを実施するように構成される、コンピュータシステム(1)。
【特許請求の範囲】
【請求項1】
キャリア上に設置されるコンピュータシステム(1)であって、ネットワーク内でデータ集中器(2)及びモニタ(M)と通信し、且つ前記キャリアの動作安全性にクリティカルである少なくとも1つのサービスを実施し、前記クリティカルサービスは、前記ネットワークに接続された異なるそれぞれのコンピュータ(C
1,...,C
m)上の少なくとも2つのインスタンス(δ
1,...,δ
m)において冗長であり、
各コンピュータ(C
k)は、前記クリティカルサービスのインスタンス(δ
k)を実施する少なくとも1つのソフトウェアタスクを実施し、及び
- 前記システムの開始(0)に関連する、増加する一連のタスク活性化日(R
n)及び一連の対応するタスク最新終了日(D
n)であって、終了日と、対応する活性化日との間の閾値以上の隔たりは、前記タスク(WCET)の実行時間又は応答時間の推定に対応する、増加する一連のタスク活性化日(R
n)及び一連の対応するタスク最新終了日(D
n);
- 前記タスクのメモリ状態を記録することによってモデル化することによる、前記サービスの2つの連続活性化間の前記コンピュータの内部状態(s
n)のバックアップ;
- 対応する活性化日(R
n)後に開始する、前記サービスの各活性化(n)に関する前記コンピュータの前記内部状態(s
n+1)の更新が、前記サービスの入力データ(i
n)を読み出し、且つ前記サービスの出力データ(o
n)を計算し、及びそれを前記データ集中器(2)に提供し、第1に、前記更新された内部状態と、前記計算された出力データ(s
n+1,o
n)との間の依存性と、第2に、前記以前の内部状態と、前記読み出された入力データ(s
n,i
n)との間の依存性とが伝達関数(f)によって表されること;及び
- 前記システムの前記初期活性化(0)から現在の最新終了日(D
n)までの前記サービスの前記インスタンス(δ
k)の実行の特徴である署名
【数1】
を、nbビットに関するハッシュ関数(H)に依存するハッシュチェーンによって計算し、且つ前記署名
【数2】
を前記モニタ(M)に送信するように構成された中継サーバ(SR
k)
を使用することにより、時間制御によって前記クリティカルサービスを実施するように構成され;
前記モニタ(M)は、前記インスタンス(δ
1,...,δ
m)の前記署名
【数3】
を解析することによって障害を検出する、コンピュータシステム(1)。
【請求項2】
中継サーバは、各期間n内の各インスタンスkの回帰により、暗号ハッシュ関数Hを使用するハッシュチェーンにより、以下の関係式:
【数4】
(式中、
【数5】
は、期間n+1内の前記インスタンスkの前記署名を表し;
【数6】
は、前記期間n内の前記インスタンスkの前記署名を表し;
【数7】
は、前記期間n内の前記インスタンスkの前記サービスの前記入力データを表し;及び
【数8】
は、前記期間n内の前記インスタンスkの前記サービスの前記出力データを表す)
によって前記署名を計算するように構成される、請求項1に記載のシステム(1)。
【請求項3】
前記モニタ(M)は、前記インスタンス(δ
1,...,δ
m)の署名
【数9】
が現在の期間の前記最新終了日(D
n)前に受信されなかった場合、時間的障害を検出するように構成される、請求項1又は2に記載のシステム(1)。
【請求項4】
前記モニタ(M)は、前記インスタンス(δ
1,...,δ
m)の1つの署名
【数10】
が他の署名
【数11】
と異なる場合に動作障害を検出するために、前記中継サーバ(SR
1,...,SR
m)から受信された前記署名を比較するように構成される、請求項1~3のいずれか一項に記載のシステム(1)。
【請求項5】
前記サービスのインスタンスの数が少なくとも3に等しく、及び前記インスタンスの半分未満に障害がある場合、前記モニタ(M)は、時間内に受信された前記署名の中で多数決を取り、動作可能インスタンスを示す多数決署名であって、障害インスタンスを示す多数決署名と異なる多数決署名を提供するように構成され、且つ前記障害インスタンスの送信が前記データ集中器(2)上で割り込まれるように、前記動作可能インスタンス及び前記障害インスタンスを前記システムの残り部分に信号伝達するように構成される、請求項1~4のいずれか一項に記載のシステム(1)。
【請求項6】
インスタンスが期間n
d内に障害として検出される場合、前記障害インスタンスをホストする前記コンピュータは、前記伝達関数を適用することにより、場合により対応する最新終了日に対してスケジュールを遅らせて、前記期間n
dに対応する別の動作可能インスタンスの正しい内部メモリ状態の複製を取得し、前記正しいメモリ状態から前記障害インスタンスを再開し、且つ前記期間n
dから前記現在の期間までの前記入力データを前記障害インスタンスにフィードバックするように構成され、及び前記モニタ(M)は、前記障害インスタンスが前記動作可能インスタンスに追いつく、すなわちn番目の最新終了日(D
n)前に前記伝達関数を前記期間nまでの入力に適用しており、前記署名が再び等しい場合、前記障害インスタンスを再び動作可能として報告するように構成される、請求項5に記載のシステム。
【請求項7】
中継サーバ(SR
k)は、前記対応するコンピュータ(C
k)上に実装されるソフトウェアサーバである、請求項1~6のいずれか一項に記載のシステム。
【請求項8】
中継サーバ(SR
k)は、前記データ集中器(2)において実装されるハードウェアサーバである、請求項1~6のいずれか一項に記載のシステム。
【請求項9】
前記データ集中器(2)のものよりも低い通過帯域及び高い信頼性を有する、前記中継サーバ(SR
k)によって前記署名を送信するために前記データ集中器とは独立であるネットワーク(RI)を含む、請求項1~8のいずれか一項に記載のシステム。
【請求項10】
キャリア上に設置される、請求項1~9のいずれか一項に記載のコンピュータシステムの動作安全性にクリティカルである少なくとも1つのサービスを管理する方法であって、前記クリティカルサービスは、ネットワークに接続された異なるそれぞれのコンピュータ(C
1,...,C
m)上の少なくとも2つのインスタンス(δ
1,...,δ
m)において冗長であり、
前記クリティカルサービスのインスタンス(δ
k)の各実施は、
- 前記システムの開始(0)に関連する、増加する一連のタスク活性化日(R
n)及び一連の対応するタスク最新終了日(D
n)であって、終了日と、対応する活性化日との間の閾値以上の隔たりは、前記タスク(WCET)の実行時間又は応答時間の推定に対応する、増加する一連のタスク活性化日(R
n)及び一連の対応するタスク最新終了日(D
n);
- 前記タスクのメモリ状態を記録することによってモデル化することによる、前記サービスの2つの連続活性化間の前記コンピュータの内部状態(s
n)のバックアップ;
- 対応する活性化日(R
n)後に開始する、前記サービスの各活性化(n)に関する前記コンピュータの前記内部状態(s
n+1)の更新が、前記サービスの入力データ(i
n)を読み出し、且つ前記サービスの出力データ(o
n)を計算し、及びそれを前記データ集中器(2)に提供し、第1に、前記更新された内部状態と、前記計算された出力データ(s
n+1,o
n)との間の依存性と、第2に、前記以前の内部状態と、前記読み出された入力データ(s
n,i
n)との間の依存性とが伝達関数(f)によって表されること;及び
- 中継サーバによる、前記システムの前記初期活性化(0)から現在の最新終了日(D
n)までの前記サービスの前記インスタンス(δ
k)の実行の特徴である署名
【数12】
の、nbビットに関するハッシュ関数(H)に依存するハッシュチェーンによる計算及びモニタ(M)への前記署名
【数13】
の送信
を使用し;
前記モニタ(M)による障害の検出は、前記インスタンス(δ
1,...,δ
m)の前記署名
【数14】
を解析することによって行われる、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを集中させるデバイス(例えば、データ集中器、又は「ブローカ」、又は「データ機能バス」を備えた「指向サービス」アーキテクチャ)と相互作用する、ソフトウェアサービス(又は構成要素)で構成されたオンボードハードウエア及び/又はソフトウェアアーキテクチャに関する。
【背景技術】
【0002】
動作安全性にクリティカルであるいくつかの機能(エアバッグの起動又は車両の自動非常ブレーキなど)は、ハードウェア及びソフトウェア形式で実装される複雑なオンボードシステムによって実施される。
【0003】
適切な動作安全性のためのこれらのシステムを開発及び準備する(又はさらに保証する)ことは、特に困難且つ高価であり、基礎をなすハードウェア又はソフトウェアアーキテクチャが複雑である場合にはさらに複雑且つ高価である。
【0004】
ソフトウェアで実装されるクリティカル機能の安全性及び可用性を改善するために、複数の冗長実装を、同じ時点に正確に同じコードを実行する少なくとも2つの物理的実行ユニット、例えば同じシステムオンチップ(頭文字がSoCである)上の2つのコンピュータ又はCPU(中央処理ユニットの頭文字)を使用することを含む「ロックステップ」と呼ばれるモードで展開することが通例である。
【0005】
システムオンチップに組み込まれたハードウェアデバイスは、2つのコアのレジスタ(又はメモリアクセス)が異なる場合を直ちに検出する。これは、障害が2つのコアの少なくとも1つにおいて発生しており、したがってフェイルソフトモードに切り替わる(例えば、機能を再開する、機能を非活性化する、障害であることを信号伝達する、2次的実行モードに関与する等)必要があることを信号伝達する。
【0006】
しかし、従来のロックステップは、それらのレジスタ又はそれらのメモリを比較するために、物理的に近い2つのコンピュータ間のみで可能である。本発明は、ネットワーク遠隔コンピュータの使用を可能にする。
【0007】
従来のロックステップは、全く同じ組のソフトウェアタスクを実行する同じ実行ユニットを必要とする(障害が存在する場合を除いて実行がサイクル毎に同じであるように)。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の目的は、前述の問題を克服することであり、特に低コスト且つ低減された複雑性で動作安全性を提供することである。
【課題を解決するための手段】
【0009】
本発明の一態様による1つの提案は、キャリア上に設置されるコンピュータシステムであって、ネットワーク内でデータ集中器及びモニタと通信し、且つキャリアの動作安全性にクリティカルである少なくとも1つのサービスを実施し、クリティカルサービスは、前記ネットワークに接続された異なるそれぞれのコンピュータ上の少なくとも2つのインスタンスにおいて冗長であり、
- 各コンピュータは、クリティカルサービスのインスタンスを実施する少なくとも1つのソフトウェアタスクを実施し、及び
- システムの開始に関連する、増加する一連のタスク活性化日及び一連の対応するタスク最新終了日であって、終了日と、対応する活性化日との間の閾値以上の隔たりは、タスクの実行時間又は応答時間の推定に対応する、増加する一連のタスク活性化日及び一連の対応するタスク最新終了日;
- タスクのメモリ状態を記録することによってモデル化することによる、サービスの2つの連続活性化間のコンピュータの内部状態のバックアップ;
- 対応する活性化日後に開始する、サービスの各活性化に関するコンピュータの内部状態の更新が、サービスの入力データを読み出し、且つサービスの出力データを計算し、及びそれをデータ集中器に提供し、第1に、更新された内部状態と、計算された出力データとの間の依存性と、第2に、以前の内部状態と、読み出された入力データとの間の依存性とが伝達関数とによって表されること;及び
- システムの初期活性化から現在の最新終了日までのサービスのインスタンスの実行の特徴である署名を、nbビットに関するハッシュ関数に依存するハッシュチェーンによって計算し、且つ署名をモニタに送信するように構成された中継サーバ又はプロキシ
を使用することにより、時間制御によってクリティカルサービスを実施するように構成され;
モニタは、インスタンスの署名を解析することによって障害を検出する、コンピュータシステムである。
【0010】
このようなシステムは、低コスト且つ低減された複雑性で動作安全性を提供することを可能にする。
【0011】
一実施形態では、中継サーバは、各期間(又は時間ステップ)n内の各インスタンスkの回帰により、暗号ハッシュ関数Hを使用するハッシュチェーンにより、以下の関係式:
【数1】
(式中、
【数2】
は、期間n+1内のインスタンスkの署名を表し;
【数3】
は、期間n内のインスタンスkの署名を表し;
【数4】
は、期間n内のインスタンスkのサービスの入力データを表し;及び
【数5】
は、期間n内のインスタンスkのサービスの出力データを表す)
によって署名を計算するように構成される。
【0012】
したがって、値
【数6】
は、クリティカルサービスが開始されて以降のクリティカルサービスの入力データ及び出力データ履歴の特徴である署名であり、入力データ及び出力データのデータ量は、クリティカルサービスが開始されて以降のクリティカルサービスの入力データ及び出力データのすべてのデータという観点で一定であり且つ低い(通常、256ビット)。
【0013】
一実施形態によると、モニタは、インスタンスの署名が現在の期間の最新終了日前に受信されなかった場合、時間的障害を検出するように構成される。
【0014】
したがって、モニタは、クリティカルサービスのインスタンスの時間的障害の検出に貢献する。
【0015】
一実施形態では、モニタは、インスタンスの1つの署名が他の署名と異なる場合に動作障害を検出するために、中継サーバから受信された署名を比較するように構成される。
【0016】
したがって、モニタは、クリティカルサービスのインスタンスの少なくとも1つが動作障害を提示するかどうかを検出する。
【0017】
一実施形態によると、モニタは、インスタンスの署名が等しいが、1つの内部状態及び/又は出力データが他方と異なる場合に故障を検出する。
【0018】
したがって、サービスのインスタンスの数が少なくとも3に等しく、及びこれらのインスタンスの半分未満に障害がある場合、モニタは、時間内に受信された署名の中で多数決を取り、動作可能インスタンスを示す多数決署名であって、障害インスタンスを示す多数決署名と異なる多数決署名を提供するように構成され、且つ障害インスタンスの送信がデータ集中器上で割り込まれるように、動作可能インスタンス及び障害インスタンスをシステムの残り部分に信号伝達するように構成される。
【0019】
したがって、本デバイスは、複製の動作障害及び時間的障害の検出及び隔離並びに機能停止の耐性を提供し、サービスの全可用性を改善する。
【0020】
例えば、インスタンスが期間nd内に障害として検出される場合、障害インスタンスをホストするコンピュータは、伝達関数を適用することにより、場合により対応する最新終了日に対してスケジュールを遅らせて、期間ndに対応する別の動作可能インスタンスの正しい内部メモリ状態の複製を取得し、正しいメモリ状態から障害インスタンスを再開し、且つ期間ndから現在の期間までの入力データを障害インスタンスにフィードバックするように構成され、及びモニタは、障害インスタンスが動作可能インスタンスに追いつく、すなわちn番目の最新終了日前に伝達関数を期間nまでの入力に適用しており、署名が再び等しい場合、障害インスタンスを再び動作可能として報告するように構成される。
【0021】
したがって、一連の署名は、障害インスタンスの識別、動作可能インスタンスの識別(それに基づいて障害インスタンスが再開及び再生される)及び再生が終了し、且つインスタンスが再び動作可能となる場合の識別を可能にする。
【0022】
一実施形態によると、中継サーバは、対応するコンピュータ上に実装されるソフトウェアサーバである。
【0023】
したがって、実装形態は、単純化される。
【0024】
一実施形態では、中継サーバは、データ集中器において実装されるハードウェアサーバである。
【0025】
したがって、プロキシは、自らが監視するインスタンスのようにソフトウェアエグゼキュティブの障害のリスクに曝されない。
【0026】
一実施形態によると、本システムは、データ集中器のものよりも低い通過帯域及び高い信頼性を有する、中継サーバによって署名を送信するためにデータ集中器とは独立であるネットワークを含む。
【0027】
したがって、署名の比較が、中継サーバとモニタとの間の伝送にリンクされた完全性欠陥又は時間的障害によって損なわれるリスクが小さい。
【0028】
本発明の別の態様による別の提案は、キャリア上に設置されるコンピュータシステムの動作安全性にクリティカルである少なくとも1つのサービスを管理する方法であって、クリティカルサービスは、前記ネットワークに接続された異なるそれぞれのコンピュータ上の少なくとも2つのインスタンスにおいて冗長であり、
クリティカルサービスのインスタンスの各実施は、
- システムの開始に関連する、増加する一連のタスク活性化日及び一連の対応するタスク最新終了日であって、終了日と、対応する活性化日との間の閾値以上の隔たりは、タスクの実行時間又は応答時間の推定に対応する、増加する一連のタスク活性化日及び一連の対応するタスク最新終了日;
- タスクのメモリ状態を記録することによってモデル化することによる、サービスの2つの連続活性化間のコンピュータの内部状態のバックアップ;
- 対応する活性化日後に開始する、サービスの各活性化に関するコンピュータの内部状態の更新が、サービスの入力データを読み出し、且つサービスの出力データを計算し、及びそれをデータ集中器に提供し、第1に、更新された内部状態と、計算された出力データとの間の依存性と、第2に、以前の内部状態と、読み出された入力データとの間の依存性とが伝達関数によって表されること;及び
- 中継サーバによる、システムの初期活性化から現在の最新終了日までのサービスのインスタンスの実行の特徴である署名の、nbビットに関するハッシュ関数に依存するハッシュチェーンによる計算及びモニタへの署名の送信
を使用し;
モニタによる障害の検出は、インスタンスの署名を解析することによって行われる、方法である。
【0029】
本発明は、非限定的例を使用することによって説明され、且つ添付図面によって示されるいくつかの実施形態を研究することでよりよく理解される。
【図面の簡単な説明】
【0030】
【
図1a】本発明の一態様によるシステムを概略的に示す。
【
図1b】本発明の一態様によるシステムを概略的に示す。
【
図2】サービスの2つのインスタンスを含む
図1のシステムの動作を概略的に示す。
【発明を実施するための形態】
【0031】
添付図面を通して、同じ参照符号を有する要素は、同様のものである。
【0032】
図1a及び
図1bは、本発明の2つの態様によるキャリア上に設置されるコンピュータシステム1を概略的に示す。
【0033】
キャリア上に設置されるコンピュータシステム1は、ネットワーク内でデータ集中器2及びモニタMと通信し、且つキャリアの動作安全性にクリティカルである(又は安全上クリティカルである)少なくとも1つのサービスを実施する。クリティカルサービスは、冗長であり、すなわち前記ネットワークに接続された異なるそれぞれのコンピュータC1,...,Cm上の少なくとも2のインスタンスδ1,...,δm(この場合には2つのそれぞれのコンピュータ上の2つの複製)において実行される。
【0034】
各コンピュータC
1,...,C
mは、クリティカルサービスのインスタンスδ
kを実施し、及び以下を使用することによってクリティカルサービスを実施するように構成される:
- システムの開始に関連する、システムの増加する一連の活性化タスク日R
n及び一連の対応するタスク最新終了日D
nであって、終了日と、対応する活性化日との間の閾値以上の隔たりは、サービスWCETの実行時間の推定に対応する、増加する一連の活性化タスク日R
n及び一連の対応するタスク最新終了日D
n。日付R
n及びD
nは、以下の不等式に準拠する:∀n,0<R
n<R
n+1,0<D
n<D
n+1及びD
n-R
n≧WCET;
- コンピュータのメモリ状態を記録することによってモデル化することによる、サービスの2つの連続活性化間のコンピュータの内部状態s
n(メモリ状態、レジスタ、コードの変数のモデリング)のバックアップ;
- 対応する活性化日R
nに開始する、サービスの各活性化nに関するコンピュータの内部状態s
n+1の更新が、サービスの入力データi
nを読み出し、且つサービスの出力データo
nを計算し、及びそれをデータ集中器2に提供し、第1に、更新された内部状態と、計算された出力データs
n+1,o
nとの間の依存性と、第2に、以前の内部状態と、読み出された入力データs
n,i
nとの間の依存性とが伝達関数fによって表されること;
- システムの初期活性化0から最新終了日D
nまでのサービスのインスタンスδ
kの実行の特徴である署名
【数7】
を、nbビットに関するハッシュ関数Hに依存するハッシュチェーンによって計算し、且つ署名
【数8】
をモニタMに送信するように構成された中継サーバSR
k。
【0035】
モニタMは、インスタンスδ
1,...,δ
mの署名
【数9】
を解析することによって障害を検出する。
【0036】
図1aでは、中継サーバSR
kは、対応するコンピュータC
k上に実装されるソフトウェアサーバであり、
図1bでは、中継サーバSR
kは、データ集中器2において実装されるハードウェアサーバである。
【0037】
ハッシュ関数Hは、暗号ハッシュ関数であり、すなわち、暗号ハッシュ関数は、任意サイズのメッセージに関して、プリイメージ攻撃に対して耐性がある指紋h(「計算が早い」と言われる)(指紋hを所与として、メッセージmをH(m)=hとなるように構築することは、実際には不可能である)を第2のプリイメージ攻撃に関連付け(m1を知ったとしても、メッセージm2をH(m2)=H(m1)となるように構築することは、実際には不可能である)、且つ衝突に関連付ける(2つの異なるメッセージm1、m2をH(m1)=H(m2)となるように構築することは、実際には不可能である)。
【0038】
クリティカルサービスが冗長であると、複数のインスタンスδk(k=1,2...m)は、同じ伝達関数fを実施するが、障害に対して脆弱である。インスタンスkの動作をモデル化する変数は、Xkと呼ばれ、理論的欠点のないインスタンスを記述するものは、Xと呼ばれる。
【0039】
各インスタンスδ
kは、同じ時間制約R
n、D
nを満たし、同じ初期状態
【数10】
において開始され、日付R
n前に同じ入力(i
n)を受信する(マルチキャストメッセージが送信されたか又は多重送信の結果として)。したがって、公称モードでは、すべてのインスタンスは、現在の期間の最新日D
n前に、全く同じ内部状態値
【数11】
を計算し、且つ同じ出力
【数12】
を生成する。
【0040】
インスタンスは、必ずしも同時に実行されず;様々な周波数を有するコンピュータ上で実行され得るか、又は他のタスクによって阻止され得る。唯一の必要な仮定は、n番目の実行又はn番目のジョブが活性化日Rnと最新日Dnとの間に効果的に実行されることである。
【0041】
n番目ジョブ中に活性化されたインスタンスδ
1がエラーを有すると仮定する:内部障害
【数13】
又は外部障害
【数14】
。本発明は、これらの障害が、信号伝達の目的のために、且つ必要に応じて動作のフェイルソフトモードを起動する目的のために可能な限り早く検出されることを可能にする。
【0042】
本発明は、開始されたときから最新日D
nまでの各インスタンスδ
kの実行の特徴である署名
【数15】
の計算を利用し、且つ次にこれらの署名のモニタM(エラーを検出するためにこれらを比較する)への送信を利用する。
【0043】
署名
【数16】
は、ハッシュチェーン
【数17】
によって計算される。ここで、Hは、nbビットに関するハッシュ関数である。この計算は、インスタンスδ
kによって行われ得る。署名
【数18】
は、最新日D
n前にデータ集中器2を介しモニタMに送信される。最新日D
n後、モニタMは、すべての署名
【数19】
を比較する。公称モードでは、すべての署名は、等しい。
【0044】
システムが最新日D
n-1まで公称モード状態のままであったと仮定すると、モニタMは、以下の場合に障害を検出する:
- 署名
【数20】
の1つが最新日D
n前に受信されない場合、これは、以下に起因し得る:
- インスタンスδ
kのn番目のジョブの過程中の時間的障害(時間内に終了しない計算及び最新日D
nの違反)、又は
- ネットワーク(又はそのコントローラ又はソフトウェア)による、署名
【数21】
を含むメッセージの送信時の時間的障害、
- 署名
【数22】
の1つが他のものと異なる場合、これは、以下に起因し得る:
- 伝達関数実施の完全性の喪失f
k≠f:このエラーの活性化は、内部状態における障害
【数23】
又は出力における障害
【数24】
に至る、
- 活性化日R
nにインスタンスkによって受信される際の入力i
nの完全性(又は可用性)の喪失:
【数25】
、又は
- 中継サーバSR
kによって署名を計算する際のエラー、署名
【数26】
を含むメッセージをモニタMに送信する際の完全性の喪失又は遅延。
これらの最後の場合のみが偽陽性に対応する(このとき、モニタMは、インスタンスδ
kに関する障害を信号伝達する一方、障害を有しない)。
【0045】
偽陰性は、以下の場合に発生し得る:
- モニタM自体が障害状態である;このリスクは、少なくとも2つのモニタM、M
’が存在するようにモニタの冗長性を含む様々な手段によって低減され得る;
- サービスのインスタンスδ
kの大多数が障害状態であり、且つ同じ署名を生成する:
- このリスクは、ランダム且つ独立又は過渡的性質の障害が発生した場合に耐えられることが十分に起こりそうもないと従来考えられてきた(各インスタンスが、ランダム障害に直面する確率pを有し、及びインスタンスの障害が独立であると考えられる場合、K個の複製が障害状態である確率は、p
Kである)、
- 恒常的障害又は同相モードのリスクは、従来、厳密な設計、解析、試験工程によって低減されてきた、
- 署名は、すべて等しいが、複製は、その仕様から逸脱する:
【数27】
及びそれにもかかわらず、
【数28】
;すなわちハッシュ関数の衝突:
- nbビットに関する暗号ハッシュ関数又はCRCタイプの冗長検査に関して、この衝突は、
【数29】
の確率を有する。nb≧αlog
2(10)の選択は、このリスクを、
【数30】
の受容可能確率まで低減する(例えば、動作時間当たり10
-12の耐用障害確率に関して、期間Π=10ms内の署名の比較により、すなわち10ms当たり
【数31】
に関して、nb>64ビットは、十分である)。
【0046】
受信された署名において乖離を検出すると、モニタMは、それを、複製を非活性化することを担当する動作状態管理又は健康管理デバイスに信号伝達し得、FT(フォールトトレラントモードの頭文字)と呼ばれるフェイルソフトモードに切り替わるか、又はすべての複製を基準状態において再開する。
【0047】
加えて、サービスの3つ以上の複製がインスタンス化される場合、モニタMは、障害状態インスタンスを多数決によって判断し、且つそれらを選択的に非活性化又は再開し得る。
【0048】
図2に示すように、障害状態インスタンスδ
kを再開するために、無障害インスタンスδ
jは、反復nにおいて、正しいその最後の内部状態
【数32】
の複製及び署名
【数33】
の複製を送信することが必要である。次に、インスタンスδ
kは、これらを、前に計算された値(恐らくエラーである)を上書きすることにより、そのメモリに複製する。
【数34】
及び
【数35】
必要に応じて、日付R
n+r+1までの再生段階中、インスタンスδ
kは、その内部状態及び出力状態を再計算し、且つ次に活性化日R
n+1後、インスタンスδ
kは、規定動作を再開する。
【0049】
本発明は、署名が非常に短いメッセージによって生成され得るため、従来のロックステップより少ない制約並びに制限されたネットワーク及び計算オーバーヘッドにより、冗長性原理の極めて効果的な実施を可能にする。この負荷は、署名計算がハードウェア加速器によって行われる場合に再び低減される。
【0050】
したがって、仏国特許第2989488B1号明細書に記載された署名生成デバイスは、実行に関する署名の効果的実装形態を提供する。ステートレス関数(sn=φ)の場合、署名は、データ集中器自体によって計算され得る。
【国際調査報告】