IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝ソリューション株式会社の特許一覧

特開2023-143592シミュレータ異常判定システム、方法、プログラム
<>
  • 特開-シミュレータ異常判定システム、方法、プログラム 図1
  • 特開-シミュレータ異常判定システム、方法、プログラム 図2
  • 特開-シミュレータ異常判定システム、方法、プログラム 図3
  • 特開-シミュレータ異常判定システム、方法、プログラム 図4
  • 特開-シミュレータ異常判定システム、方法、プログラム 図5
  • 特開-シミュレータ異常判定システム、方法、プログラム 図6
  • 特開-シミュレータ異常判定システム、方法、プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023143592
(43)【公開日】2023-10-06
(54)【発明の名称】シミュレータ異常判定システム、方法、プログラム
(51)【国際特許分類】
   G06F 11/07 20060101AFI20230928BHJP
【FI】
G06F11/07 157
G06F11/07 140A
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022118242
(22)【出願日】2022-07-25
(62)【分割の表示】P 2022534460の分割
【原出願日】2022-03-23
(11)【特許番号】
(45)【特許公報発行日】2022-11-07
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100212705
【弁理士】
【氏名又は名称】矢頭 尚之
(72)【発明者】
【氏名】荒木 大
(72)【発明者】
【氏名】北原 博隆
(72)【発明者】
【氏名】高橋 克実
(72)【発明者】
【氏名】根本 昌幸
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042HH07
5B042JJ15
(57)【要約】
【課題】 通信負荷の増大を抑えることが可能なシミュレータ異常判定システムを提供すること。
【解決手段】 実施形態のシミュレータ異常判定システムは、1つまたは複数のシミュレータの同期処理を行うコントローラを使って、各シミュレータの異常判定を行うシミュレータ異常判定システムである。ここでは、コントローラが、各シミュレータに対して、所定期間中に実施すべきシミュレーションの処理を開始させ、シミュレーションの処理が終了するまで、所定周期で、シミュレータの生存を示す生存通知を、コントローラへ送信させ、処理が終了すると、処理の終了を示す終了通知を、コントローラへ送信させ、所定周期で生存通知を受信すると、生存通知の送信元のシミュレータが正常であると判定し、終了通知を受信すると、終了通知の送信元のシミュレータの処理が終了したと判定し、処理が終了したと判定されていないシミュレータから、所定周期で生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
1つまたは複数のシミュレータの同期処理を行うコントローラを使って、前記各シミュレータの異常判定を行うシミュレータ異常判定システムであって、
前記コントローラは、
前記各シミュレータに対して、所定期間中に実施すべきシミュレーションの処理を開始させ、前記シミュレーションの処理が終了するまで、所定周期で、前記シミュレータの生存を示す生存通知を、前記コントローラへ送信させ、前記処理が終了すると、前記処理の終了を示す終了通知を、前記コントローラへ送信させ、
前記所定周期で前記生存通知を受信すると、前記生存通知の送信元のシミュレータが正常であると判定し、前記終了通知を受信すると、前記終了通知の送信元のシミュレータの前記処理が終了したと判定し、
前記処理が終了したと判定されていないシミュレータから、前記所定周期で前記生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する、シミュレータ異常判定システム。
【請求項2】
前記コントローラは、
前記処理が終了したと判定されたシミュレータがあるときに、前記1つまたは複数のシミュレータのうち、別のシミュレータから前記生存通知を受信した場合、前記処理が終了したと判定されたシミュレータに対して、前記所定期間の次の所定期間中に実施すべきシミュレーションを開始させない待機命令を出力する、請求項1に記載のシミュレータ異常判定システム。
【請求項3】
前記コントローラは、
前記1つまたは複数のシミュレータのすべてから、前記終了通知を受信すると、前記同期処理を行い、前記同期処理終了後、前記すべてのシミュレータに対して、前記所定期間の次の所定期間中に実施すべきシミュレーションを開始させる、請求項1または2に記載のシミュレータ異常判定システム。
【請求項4】
前記コントローラは、
前記異常が発生したと判定されたシミュレータを、前記同期処理から切り離す、請求項1乃至3のうちいずれか一項に記載のシミュレータ異常判定システム。
【請求項5】
前記所定周期は、不変である、請求項1乃至4のうちいずれか一項に記載のシミュレータ異常判定システム。
【請求項6】
前記所定周期は、可変である、請求項1乃至4のうちいずれか一項に記載のシミュレータ異常判定システム。
【請求項7】
1つまたは複数のシミュレータの同期処理を行うコントローラを使って、前記各シミュレータの異常判定を行う方法であって、
前記各シミュレータは、
前記コントローラからの指示に応じて、所定期間中に実施すべきシミュレーションを開始し、前記シミュレーションの処理が終了するまで、所定周期で、前記シミュレータの生存を示す生存通知を、前記コントローラへ送信し、前記処理が終了すると、前記処理の終了を示す終了通知を、前記コントローラへ送信し、
前記コントローラは、
前記所定周期で前記生存通知を受信すると、前記生存通知の送信元のシミュレータが正常であると判定し、前記終了通知を受信すると、前記終了通知の送信元のシミュレータの前記処理が終了したと判定し、
前記処理が終了したと判定されていないシミュレータから、前記所定周期で前記生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する、シミュレータ異常判定方法。
【請求項8】
前記コントローラは、
前記処理が終了したと判定されたシミュレータがあるときに、前記1つまたは複数のシミュレータのうち、別のシミュレータから前記生存通知を受信した場合、前記処理が終了したと判定されたシミュレータに対して、前記所定期間の次の所定期間中に実施すべきシミュレーションを開始させない待機命令を出力する、請求項7に記載のシミュレータ異常判定方法。
【請求項9】
前記コントローラは、
前記1つまたは複数のシミュレータのすべてから、前記終了通知を受信すると、前記同期処理を行い、前記同期処理終了後、前記すべてのシミュレータに対して、前記所定期間の次の所定期間中に実施すべきシミュレーションを開始させる、請求項7または8に記載のシミュレータ異常判定方法。
【請求項10】
前記コントローラは、
前記異常が発生したと判定されたシミュレータを、前記同期処理から切り離す、請求項7乃至9のうちいずれか一項に記載のシミュレータ異常判定方法。
【請求項11】
前記所定周期は、不変である、請求項7乃至10のうちいずれか一項に記載のシミュレータ異常判定方法。
【請求項12】
前記所定周期は、可変である、請求項7乃至10のうちいずれか一項に記載のシミュレータ異常判定方法。
【請求項13】
シミュレーション結果を同期処理される1つまたは複数の各シミュレータに対して、所定期間中に実施すべきシミュレーションの処理を開始させ、前記シミュレーションの処理が終了するまで、所定周期で、前記シミュレータの生存を示す生存通知を送信させ、前記処理が終了すると、前記処理の終了を示す終了通知を送信させる機能、
前記所定周期で前記生存通知が送信された場合、前記生存通知の送信元のシミュレータが正常であると判定し、前記終了通知が送信された場合、前記終了通知の送信元のシミュレータの前記処理が終了したと判定する機能、
前記処理が終了したと判定されていないシミュレータから、前記所定周期で前記生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する機能、
をプロセッサに実現させるためのプログラム。
【請求項14】
分散連成シミュレーションシステムであって、
それぞれ補助機能を備えた1つまたは複数のシミュレータと、
前記各シミュレータと通信ネットワークを介して接続されたコントローラとを備え、
前記コントローラは、
前記各シミュレータの補助機能に対して、所定期間中に実施すべきシミュレーションの処理を開始させ、前記シミュレーションの処理が終了するまで、所定周期で、前記シミュレータの生存を示す生存通知を、前記コントローラへ送信させ、前記処理が終了すると、前記処理の終了を示す終了通知を、前記コントローラへ送信させ、
前記所定周期で前記生存通知を受信すると、前記生存通知の送信元のシミュレータが正常であると判定し、前記終了通知を受信すると、前記終了通知の送信元のシミュレータの前記処理が終了したと判定し、
前記処理が終了したと判定されていないシミュレータの補助機能から、前記所定周期で前記生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する、分散連成シミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、シミュレータの異常判定を行うことが可能なシミュレータ異常判定システム、方法、プログラム、および分散連成シミュレーションシステムに関する。
【背景技術】
【0002】
従来、複数のシミュレータによってなされる分散型シミュレーションにおいて、通信異常やシミュレータ異常により同期処理が行えない場合、シミュレーションの同期通信とは異なる信号である生存監視確認信号によって対象が動作しているかどうかを外部から定期的・継続的に調べる、あるいは、自らが正常に動作していることを外部に一定間隔で知らせるハートビート信号を監視して、異常が発生しているシミュレータを検知し、検知されたシミュレータを切り離したり、シミュレーションを終了する必要がある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】荒木 大、三友 雄司、北原 博隆著、「分散・連成シミュレーションにおけるステップ応答遅れ補償方式の検討」、公益社団法人自動車技術会、2021年春季大会学術講演会(2021年5月26日~28日)、発行日(公開日)2021年5月21日
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、前述した分散型シミュレーションでは、異常が発生しているシミュレータを検知するまでに相応の時間を要する上に、生存監視確認あるいはハートビートの送信は、通信負荷の増大を招き、シミュレーション速度を低下させる。
【0005】
また特に、UDP(User Datagram Protocol)通信などのマルチキャスト方式では、異常時におけるパケット喪失対策として、再送技術や、補間技術が組み込まれることがあるが、これら技術を実施した場合もまた、通信負荷の増大により、シミュレーション速度が低下することに加えて、シミューション結果の精度低下をももたらす恐れもある。
【0006】
本発明が解決しようとする課題は、通信負荷の増大を抑えることが可能なシミュレータ異常判定システム、方法、プログラム、および分散連成シミュレーションシステムを提供することである。
【課題を解決するための手段】
【0007】
実施形態のシミュレータ異常判定システムは、1つまたは複数のシミュレータの同期処理を行うコントローラを使って、各シミュレータの異常判定を行うシミュレータ異常判定システムである。ここでは、コントローラが、各シミュレータに対して、所定期間中に実施すべきシミュレーションの処理を開始させ、シミュレーションの処理が終了するまで、所定周期で、シミュレータの生存を示す生存通知を、コントローラへ送信させ、処理が終了すると、処理の終了を示す終了通知を、コントローラへ送信させ、所定周期で生存通知を受信すると、生存通知の送信元のシミュレータが正常であると判定し、終了通知を受信すると、終了通知の送信元のシミュレータの処理が終了したと判定し、処理が終了したと判定されていないシミュレータから、所定周期で生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する。
【図面の簡単な説明】
【0008】
図1図1は、本実施形態のシミュレータ異常判定システムが組み込まれたネットワーク環境を示す図である。
図2図2は、3台のシミュレータ1(1A、1B、1C)によるシミュレーション処理と、分散連成シミュレーションコントローラ10による同期処理との連携を説明するための図である。
図3図3は、本実施形態のシミュレータ異常判定システムに適用される分散連成シミュレーションコントローラによるシミュレータの生存確認方法を説明する図である。
図4図4は、従来技術のコントローラによるシミュレータの生存確認方法を説明する図である。
図5図5は、本実施形態のシミュレータ異常判定システムに適用される分散連成シミュレーションコントローラによるシミュレータの異常判定方法を説明する図である。
図6図6は、従来技術のコントローラによるシミュレータの異常誤判定の例を説明する図である。
図7図7は、本実施形態の分散連成シミュレーションコントローラによる同期処理のロバスト性改善を説明する図である。
【発明を実施するための形態】
【0009】
以下に、本発明の実施形態について図面を参照して説明する。図面は模式的または概念的なものであり、各部分の厚みと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。本明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【0010】
本発明の実施形態のシミュレータ異常判定が適用されたシミュレータ異常判定システムについて説明する。
【0011】
図1は、本発明の実施形態のシミュレータ異常判定システムが組み込まれたネットワーク環境を示す図である。
【0012】
シミュレータ異常判定システムは、図1に例示されるように、インターネットのような公衆回線あるいは専用回線のような通信ネットワーク2を介して、1つまたは複数のシミュレータ1(1A、1B、1C、・・・)と、コントローラ10とが接続された環境において、コントローラ10を用いて、各シミュレータ1(1A、1B、1C、・・・)の生存確認および異常判定を行う。
【0013】
各シミュレータ1(1A、1B、1C、・・・)には、通信ネットワーク2を介して、コントローラ10との間でなされる、各シミュレータ1(1A、1B、1C、・・・)の生存確認および異常判定に必要な情報の送受信のための補助機能20(20A、20B、20C、・・・)が組み込まれている。補助機能20は、限定される訳ではないが、例えば、シミュレータ1のメモリに書き込まれたソフトウェアによって実現させる。
【0014】
コントローラ10は、各シミュレータ1(1A、1B、1C、・・・)の補助機能20(20A、20B、20C、・・・)と連携することによって、各シミュレータ1(1A、1B、1C、・・・)の生存確認および異常判定を行う。
【0015】
なお、このコントローラ10は、各シミュレータ1(1A、1B、1C、・・・)の同期処理も司るので、以降、本明細書では、コントローラ10のことを、必要に応じて、分散連成シミュレーションコントローラ10とも称する。また、シミュレータ異常判定システムを、分散連成シミュレーションと称することもできる。
【0016】
図2は、一例として、3台のシミュレータ1(1A、1B、1C)によるシミュレーション処理と、分散連成シミュレーションコントローラ10による同期処理との連携を説明するための図である。
【0017】
図2に示す例では、各シミュレータ1(1A、1B、1C)は、同一の期間T(#1)(例えば、数ミリ秒)のシミュレーションモデルを有し、期間T(#1)内で実行されるシミュレーションの処理時間は、3つのシミュレータ1A、1B、1Cのうち、シミュレータ1Aによる処理SA(#1)の時間が最も短く、シミュレータ1Cによる処理SC(#1)の時間が最も長く、シミュレータ1Bによる処理SB(#1)の時間はその間の長さであると仮定する。
【0018】
このような場合、3つのシミュレータ1A、1B、1Cが、処理SA(#1)、SB(#1)、SC(#1)を同時に開始すると、シミュレータ1Aによる処理SA(#1)が最初に終了し、次にシミュレータ1Bによる処理SB(#1)が終了し、最後にシミュレータ1Cによる処理SC(#1)が終了する。
【0019】
分散連成シミュレーションコントローラ10は、シミュレータ1Aによる処理SA(#1)が終了しても、次の期間T(#2)のシミュレーションの処理SA(#2)に進まないように、シミュレータ1Aを待機させ、シミュレータ1B(#1)による処理が終了しても、次の期間T(#2)のシミュレーションの処理SB(#2)に進まないように、シミュレータ1Bを待機させ、シミュレータ1Cによる処理SC(#1)が終了すると、シミュレータ1A、1B、1Cによるシミュレーションの処理SA(#1)、SB(#1)、SC(#1)の結果の同期処理を行い、同期処理の終了後、各シミュレータ1A、1B、1Cに対して、次の期間T(#2)の処理SA(#2)、SB(#2)、SC(#2)を開始させる。
【0020】
(生存確認)
分散連成シミュレーションコントローラ10は、このような同期処理に加えて、以下のように動作することで、シミュレータ1(1A、1B、1C)の生存確認を行う。
【0021】
これを、図3を用いて説明する。
【0022】
図3は、本実施形態のシミュレータ異常判定システムに適用される分散連成シミュレーションコントローラによるシミュレータの生存確認方法を説明する図である。
【0023】
図3では、煩雑化を避けるために、2つのシミュレータ1A、1Bのみを示しているが、分散連成シミュレーションコントローラ10は、3つ以上のシミュレータ1(1A、1B、1C、・・・)を対象とした生存確認を行うことができる。
【0024】
すなわち、分散連成シミュレーションコントローラ10は、各シミュレータ1A、1Bの補助機能20A、20Bに対して、同一の期間T中に実施すべきシミュレーションの処理SA、SBを開始させる。
【0025】
分散連成シミュレーションコントローラ10はその後、各シミュレータ1の補助機能20に対して、シミュレーションの処理Sが終了するまで、期間Tよりも小さい所定周期tで、ハートビートとして、生存通知NREQ(No REQuest)を、分散連成シミュレーションコントローラ10へ送信させ、処理Sが終了すると、終了通知REQ(REQuest)を、分散連成シミュレーションコントローラ10へ送信させる。この所定周期tは、可変とすることも不変(固定)とすることもできる。
【0026】
したがって、図3に示す例では、シミュレータ1Bの場合、期間Tの開始後、所定周期tに達しても処理SBが終了しないので、補助機能20Bによって、ハートビートとして生存通知NREQ1を送信し、さらに次の所定周期tに達しても処理SBが終了しないので、補助機能20Bによって、ハートビートとして生存通知NREQ2を送信し、さらにその次の所定周期tに達しても処理SBが終了しないので、補助機能20Bによって、ハートビートとして生存通知NREQ3を送信し、ようやく次の所定周期tに達する前に処理SBが終了し、補助機能20Bによって、終了通知REQbを、分散連成シミュレーションコントローラ10へ送信している。
【0027】
一方、シミュレータ1Aの場合、期間Tの開始後、所定周期tに達する前に処理SAが終了し、補助機能20Aによって、終了通知REQaを、分散連成シミュレーションコントローラ10へ送信している。
【0028】
分散連成シミュレーションコントローラ10は、終了通知REQを受信すると、送信元の補助機能20のシミュレータ1が、シミュレーションの処理Sを終了したと判定する。
【0029】
したがって、図3に示す例では、分散連成シミュレーションコントローラ10は、終了通知REQaを受信すると、シミュレータ1Aが、処理SAを終了したと判定する。
【0030】
この時点で、まだすべてのシミュレータ1からの終了通知REQを受信していない場合、分散連成シミュレーションコントローラ10は、終了通知REQをまだ送信していないシミュレータ1の補助機能20からNREQが送信されると、終了通知REQの送信元のシミュレータ1の補助機能20に対して、ハートビートとしてNACK(Negative ACKnowledgment)を送信し、次の期間Tのシミュレーションの処理Sを実施しないようにシミュレータ1を待機させる。
【0031】
したがって、図3に示す例では、分散連成シミュレーションコントローラ10は、シミュレータ1Aからの終了通知REQaの受信後に、終了通知REQをまだ送信していないシミュレータ1BからNREQ1が送信されると、シミュレータ1Aに対して、ハートビートとしてNACK1を送信し、次の期間Tのシミュレーションの処理SA’を実施しないようにシミュレータ1Aを待機させる。
【0032】
また、分散連成シミュレーションコントローラ10は、同じシミュレータ1の補助機能20から、所定周期tで、生存通知NREQを受信すると、送信元の補助機能20のシミュレータ1が、シミュレーションの処理Sを正常に実行していると判定する。
【0033】
したがって、図3に示す例では、分散連成シミュレーションコントローラ10は、生存通知NREQ1、NREQ2、NREQ3を、周期tで受信することによって、シミュレータ1Bが、処理SBを正常に実行していると判定する。
【0034】
そして、分散連成シミュレーションコントローラ10は、すべてのシミュレータ1から終了通知REQを受信したならば、同期処理Dを実行し、同期処理Dの実行終了後、各シミュレータ1に対してACK(ACKnowledgment)を送信して、各シミュレータ1に対して、次の期間Tに実施すべきシミュレーションの処理を開始させる。
【0035】
したがって、図3に示す例では、分散連成シミュレーションコントローラ10は、シミュレータ1Bからの終了通知REQbを受信することで、すべてのシミュレータ1A、1Bからの終了通知REQa、REQbの受信を完了する。これによって分散連成シミュレーションコントローラ10は、同期処理Dを実行し、同期処理Dの実行終了後、シミュレータ1A、1Bの補助機能20A、20Bに対してACKa、ACKbを送信して、各シミュレータ1A、1Bに対して、次の期間T中に実施すべきシミュレーションの処理SA’、SB’を開始させる。そして、次の期間T中においても、前述したような動作を繰り返すことで、処理を継続する。
【0036】
前述したような生存確認方法によれば、従来技術に比べて、二つの観点で通信負荷を低減することができる。第一の観点は、図3に示されるように、本方式は常時、分散連成シミュレーションコントローラ10とシミュレータ1A、1Bの間で生存確認を行うのではなく、同期処理期間中にのみ生存確認を行うことで通信負荷を低減できる。第二の観点は、生存確認を双方向の往復の通信で行うのではなく、片方向の通信で行うことによって通信負荷を低減できる。
【0037】
第二の観点を、図4を用いて説明する。
【0038】
図4は、従来技術のコントローラによるシミュレータの生存確認方法を説明する図である。
【0039】
図4では、図3とは異なり、分散連成シミュレーションコントローラ10ではなく、従来技術のコントローラ100が、シミュレータ1A、1Bの生存確認を行う。
【0040】
特に図4中のWに示すように、前の期間Tの同期処理が終了すると、コントローラ100は、各シミュレータ1に対して、期間Tよりも小さい所定周期tで、ハートビートHBを送信する。所定周期tは、シミュレータ1毎に異なっていても、同じであってもよい。図4は、コントローラ100が、シミュレータ1Aに対して所定周期t1で、ハートビートHBa1を送信し、シミュレータ1Bに対して、所定周期t1よりも長い所定周期t2で、ハートビートHBb1を送信する例を示している。
【0041】
各シミュレータ1は、ハートビートHBを受信すると、コントローラ100に対してハートビートHBを返信する。したがって、図4のような場合、シミュレータ1Aは、コントローラ100からのハートビートHBa1を受信すると、コントローラ100へハートビートHBa2を返信し、シミュレータ1Bは、コントローラ100からのハートビートHBb1を受信すると、コントローラ100へハートビートHBb2を返信する。
【0042】
コントローラ100は、このように各シミュレータ1から返信されたハートビートHBを受信することで、ハートビートHBの送信元のシミュレータ1の生存を確認する。図4のような場合、コントローラ100は、シミュレータ1AからのハートビートHBa2を受信することで、シミュレータ1Aの生存を確認し、シミュレータ1BからのハートビートHBb2を受信することで、シミュレータ1Bの生存を確認する。
【0043】
このように、従来技術によれば、1つのシミュレータ1の生存確認を行うために、まずコントローラ100が、各シミュレータ1へハートビートHBを送信し、それに応じて、各シミュレータ1がコントローラ100へハートビートHBを返信するというハートビートHBの往復、つまり2つのハートビートHBの送信が必要である。したがって、図4に示すように、2台のシミュレータ1A、1Bの生存確認を行う場合、4つのハートビートHBの送信が必要となる。
【0044】
このようなハートビートHBの送信は、通常の通信処理に重なって行われるので、コントローラ100が取り扱うシミュレータ1の数が多くなるほど、ハートビートHBの往復送信数も増えるので、通信負荷の増大をもたらしてしまう。
【0045】
それに対して、本実施形態では、分散連成シミュレーションコントローラ10は、各シミュレータ1へハートビートを送信せず、シミュレータ1から分散連成シミュレーションコントローラ10へハートビートを送信する。そして、分散連成シミュレーションコントローラ10は、送信されたハートビートを受信することで、送信元のシミュレータ1の生存を確認する。つまり、ハートビートの送信は、往復ではなく、片方向だけで済むので、従来技術よりも、ハートビートの送信による通信負荷の増大を抑えながら、シミュレータの生存確認を行うことが可能となる。
【0046】
(異常判定)
また、本実施形態では、分散連成シミュレーションコントローラ10は、ある補助機能20から、終了通知REQが送信されず、所定周期tで生存通知NREQが送信されない場合には、この補助機能20のシミュレータ1に異常(例えば、クラッシュや、通信異常など)が発生したと判定する。
【0047】
これを、図5を用いて説明する。
【0048】
図5は、本実施形態のシミュレータ異常判定システムに適用される分散連成シミュレーションコントローラによるシミュレータの異常判定方法を説明する図である。
【0049】
図5に例示する場合、シミュレータ1Bは、期間Tの開始後、所定周期tに達したときに、まだ処理SBを終了していないので、補助機能20Bが、生存通知NREQ1を送信した。その後、次の周期tに達する前に処理SBを終了したものの、クラッシュまたは通信異常によって、分散連成シミュレーションコントローラ10との通信ができなくなり、補助機能20Bから、終了通知REQbを送信できなくなってしまった。
【0050】
その結果、分散連成シミュレーションコントローラ10は、シミュレータ1Bから、終了通知REQbも、生存通知NREQも受信しないので、シミュレータ1Bに異常が発生したと判定する。そして、分散連成シミュレーションコントローラ10は、異常が発生したと判定したシミュレータ1Bを切り離し、その後はシミュレータ1Aだけで処理を継続させるために、シミュレータ1AへのみACKaを送信する。ACKaは、シミュレータ1Aの補助機能20Aによって受信され、これに応じて、シミュレータ1Aは、次の期間Tの処理SA’を開始する。シミュレータ1Bには、ACKbは送信されないので、シミュレータ1Bは、次の期間Tの処理SB’を開始することなく、同期処理から切り離されることになる。
【0051】
従来技術では、何れか1台のシミュレータ1に異常が発生しただけで、同期処理ができなくなっていたが、前述した異常判定方法によれば、異常が発生したシミュレータ1を判定し、同期処理から切り離し、異常が発生していないシミュレータ1だけを動作させて、同期処理を継続することができる。
【0052】
また、従来技術では、正常に動作しているシミュレータであっても、処理が遅いシミュレータや、図6に示すように処理を一時停止しているシミュレータ1Bは、異常と誤判定され、同期処理から切り離され、同期処理を継続できなくなることがあったが、前述したような本異常判定方法によれば、異常が発生していないシミュレータであれば、処理が遅いシミュレータや、図7に示すように処理SBを単に一時停止しているシミュレータ1Bを、同期処理から切り離さずに、同期処理を継続することができ、同期処理のロバスト性を高めることが可能となる。
【0053】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0054】
1、1A、1B、1C シミュレータ
2 通信ネットワーク
10 分散連成シミュレーションコントローラ
20、20A、20B、20C 補助機能
100 従来技術のコントローラ
図1
図2
図3
図4
図5
図6
図7
【手続補正書】
【提出日】2022-07-25
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
本発明の実施形態は、シミュレータ装置の異常判定を行うことが可能な装置異常判定システム、方法、プログラに関する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
実施形態の装置異常判定システムは、1つまたは複数の装置の同期処理を行うコントローラを使って、各装置の異常判定を行う装置異常判定システムである。ここでは、コントローラが、各装置に対して、所定期間中に実施すべき処理を開始させ、処理が終了するまで、装置の生存を示す生存通知を、コントローラへ送信させ、処理が終了すると、処理の終了を示す終了通知を、コントローラへ送信させ、生存通知を受信すると、生存通知の送信元の装置が正常であると判定し、終了通知を受信すると、終了通知の送信元の装置の処理が終了したと判定し、処理が終了したと判定されていない装置から、生存通知が送信されない場合、当該装置に異常が発生したと判定する。
【手続補正4】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数の装置の同期処理を行うコントローラを使って、前記各装置の異常判定を行う装置異常判定システムであって、
前記コントローラは、
前記各装置に対して、所定期間中に実施すべき処理を開始させ、前記処理が終了するまで、前装置の生存を示す生存通知を、前記コントローラへ送信させ、前記処理が終了すると、前記処理の終了を示す終了通知を、前記コントローラへ送信させ、
記生存通知を受信すると、前記生存通知の送信元の装置が正常であると判定し、前記終了通知を受信すると、前記終了通知の送信元の装置の前記処理が終了したと判定し、
前記処理が終了したと判定されていない装置から、前記生存通知が送信されない場合、当該装置に異常が発生したと判定する、装置異常判定システム。
【請求項2】
前記コントローラは、
前記処理が終了したと判定された装置があるときに、前記1つまたは複数の装置のうち、別の装置から前記生存通知を受信した場合、前記処理が終了したと判定された装置に対して、前記所定期間の次の所定期間中に実施すべき処理を開始させない待機命令を出力する、請求項1に記載の装置異常判定システム。
【請求項3】
前記コントローラは、
前記1つまたは複数の装置のすべてから、前記終了通知を受信すると、前記同期処理を行い、前記同期処理終了後、前記すべての装置に対して、前記所定期間の次の所定期間中に実施すべき処理を開始させる、請求項1または2に記載の装置異常判定システム。
【請求項4】
前記コントローラは、
前記異常が発生したと判定された装置を、前記同期処理から切り離す、請求項1乃至3のうちいずれか一項に記載の装置異常判定システム。
【請求項5】
1つまたは複数の装置の同期処理を行うコントローラを使って、前記各装置の異常判定を行う方法であって、
前記各装置は、
前記コントローラからの指示に応じて、所定期間中に実施すべき処理を開始し、前記処理が終了するまで、前装置の生存を示す生存通知を、前記コントローラへ送信し、前記処理が終了すると、前記処理の終了を示す終了通知を、前記コントローラへ送信し、
前記コントローラは、
記生存通知を受信すると、前記生存通知の送信元の装置が正常であると判定し、前記終了通知を受信すると、前記終了通知の送信元の装置の前記処理が終了したと判定し、
前記処理が終了したと判定されていない装置から、記生存通知が送信されない場合、当該装置に異常が発生したと判定する、装置異常判定方法。
【請求項6】
前記コントローラは、
前記処理が終了したと判定された装置があるときに、前記1つまたは複数の装置のうち、別の装置から前記生存通知を受信した場合、前記処理が終了したと判定された装置に対して、前記所定期間の次の所定期間中に実施すべき処理を開始させない待機命令を出力する、請求項に記載の装置異常判定方法。
【請求項7】
前記コントローラは、
前記1つまたは複数の装置のすべてから、前記終了通知を受信すると、前記同期処理を行い、前記同期処理終了後、前記すべての装置に対して、前記所定期間の次の所定期間中に実施すべき処理を開始させる、請求項またはに記載の装置異常判定方法。
【請求項8】
前記コントローラは、
前記異常が発生したと判定された装置を、前記同期処理から切り離す、請求項乃至のうちいずれか一項に記載の装置異常判定方法。
【請求項9】
処理結果を同期処理される1つまたは複数の各装置に対して、所定期間中に実施すべき処理を開始させ、前記処理が終了するまで、前装置の生存を示す生存通知を送信させ、前記処理が終了すると、前記処理の終了を示す終了通知を送信させる機能、
記生存通知が送信された場合、前記生存通知の送信元の装置が正常であると判定し、前記終了通知が送信された場合、前記終了通知の送信元の装置の前記処理が終了したと判定する機能、
前記処理が終了したと判定されていない装置から、前記生存通知が送信されない場合、当該装置に異常が発生したと判定する機能、
をプロセッサに実現させるためのプログラム。
【手続補正書】
【提出日】2022-09-07
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
本発明の実施形態は、シミュレータ異常判定を行うことが可能なシミュレータ異常判定システム、方法、プログラムに関する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
実施形態のシミュレータ異常判定システムは、1つまたは複数のシミュレータの同期処理を行うコントローラを使って、各シミュレータの異常判定を行うシミュレータ異常判定システムである。ここでは、コントローラが、各シミュレータに対して、所定期間中に実施すべきシミュレーションの処理を開始させ、シミュレーションの処理が終了するまで、シミュレータの生存を示す生存通知を、コントローラへ送信させ、処理が終了すると、処理の終了を示す終了通知を、コントローラへ送信させ、生存通知を受信すると、生存通知の送信元のシミュレータが正常であると判定し、終了通知を受信すると、終了通知の送信元のシミュレータの処理が終了したと判定し、処理が終了したと判定されていないシミュレータから、生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する。
【手続補正4】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のシミュレータの同期処理を行うコントローラを使って、前記各シミュレータの異常判定を行うシミュレータ異常判定システムであって、
前記コントローラは、
前記各シミュレータに対して、所定期間中に実施すべきシミュレーションの処理を開始させ、前記シミュレーションの処理が終了するまで、前記シミュレータの生存を示す生存通知を、前記コントローラへ送信させ、前記処理が終了すると、前記処理の終了を示す終了通知を、前記コントローラへ送信させ、
前記生存通知を受信すると、前記生存通知の送信元のシミュレータが正常であると判定し、前記終了通知を受信すると、前記終了通知の送信元のシミュレータの前記処理が終了したと判定し、
前記処理が終了したと判定されていないシミュレータから、前記生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する、シミュレータ異常判定システム。
【請求項2】
前記コントローラは、
前記処理が終了したと判定されたシミュレータがあるときに、前記1つまたは複数のシミュレータのうち、別のシミュレータから前記生存通知を受信した場合、前記処理が終了したと判定されたシミュレータに対して、前記所定期間の次の所定期間中に実施すべきシミュレーションを開始させない待機命令を出力する、請求項1に記載のシミュレータ異常判定システム。
【請求項3】
前記コントローラは、
前記1つまたは複数のシミュレータのすべてから、前記終了通知を受信すると、前記同期処理を行い、前記同期処理終了後、前記すべてのシミュレータに対して、前記所定期間の次の所定期間中に実施すべきシミュレーションを開始させる、請求項1または2に記載のシミュレータ異常判定システム。
【請求項4】
前記コントローラは、
前記異常が発生したと判定されたシミュレータを、前記同期処理から切り離す、請求項1乃至3のうちいずれか一項に記載のシミュレータ異常判定システム。
【請求項5】
1つまたは複数のシミュレータの同期処理を行うコントローラを使って、前記各シミュレータの異常判定を行う方法であって、
前記各シミュレータは、
前記コントローラからの指示に応じて、所定期間中に実施すべきシミュレーションを開始し、前記シミュレーションの処理が終了するまで、前記シミュレータの生存を示す生存通知を、前記コントローラへ送信し、前記処理が終了すると、前記処理の終了を示す終了通知を、前記コントローラへ送信し、
前記コントローラは、
前記生存通知を受信すると、前記生存通知の送信元のシミュレータが正常であると判定し、前記終了通知を受信すると、前記終了通知の送信元のシミュレータの前記処理が終了したと判定し、
前記処理が終了したと判定されていないシミュレータから、前記生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する、シミュレータ異常判定方法。
【請求項6】
前記コントローラは、
前記処理が終了したと判定されたシミュレータがあるときに、前記1つまたは複数のシミュレータのうち、別のシミュレータから前記生存通知を受信した場合、前記処理が終了したと判定されたシミュレータに対して、前記所定期間の次の所定期間中に実施すべきシミュレーションを開始させない待機命令を出力する、請求項5に記載のシミュレータ異常判定方法。
【請求項7】
前記コントローラは、
前記1つまたは複数のシミュレータのすべてから、前記終了通知を受信すると、前記同期処理を行い、前記同期処理終了後、前記すべてのシミュレータに対して、前記所定期間の次の所定期間中に実施すべきシミュレーションを開始させる、請求項5または6に記載のシミュレータ異常判定方法。
【請求項8】
前記コントローラは、
前記異常が発生したと判定されたシミュレータを、前記同期処理から切り離す、請求項5乃至7のうちいずれか一項に記載のシミュレータ異常判定方法。
【請求項9】
シミュレーション結果を同期処理される1つまたは複数の各シミュレータに対して、所定期間中に実施すべきシミュレーションの処理を開始させ、前記シミュレーションの処理が終了するまで、前記シミュレータの生存を示す生存通知を送信させ、前記処理が終了すると、前記処理の終了を示す終了通知を送信させる機能、
前記生存通知が送信された場合、前記生存通知の送信元のシミュレータが正常であると判定し、前記終了通知が送信された場合、前記終了通知の送信元のシミュレータの前記処理が終了したと判定する機能、
前記処理が終了したと判定されていないシミュレータから、前記生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する機能、
をプロセッサに実現させるためのプログラム。