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

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

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

特許7166482シミュレータ異常判定システム、方法、プログラム
<>
  • 特許-シミュレータ異常判定システム、方法、プログラム 図1
  • 特許-シミュレータ異常判定システム、方法、プログラム 図2
  • 特許-シミュレータ異常判定システム、方法、プログラム 図3
  • 特許-シミュレータ異常判定システム、方法、プログラム 図4
  • 特許-シミュレータ異常判定システム、方法、プログラム 図5
  • 特許-シミュレータ異常判定システム、方法、プログラム 図6
  • 特許-シミュレータ異常判定システム、方法、プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-10-27
(45)【発行日】2022-11-07
(54)【発明の名称】シミュレータ異常判定システム、方法、プログラム
(51)【国際特許分類】
   G06F 11/07 20060101AFI20221028BHJP
   G06F 9/52 20060101ALI20221028BHJP
【FI】
G06F11/07 154
G06F11/07 140A
G06F9/52 150A
【請求項の数】 9
(21)【出願番号】P 2022118242
(22)【出願日】2022-07-25
(62)【分割の表示】P 2022534460の分割
【原出願日】2022-03-23
【審査請求日】2022-07-25
【早期審査対象出願】
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100212705
【弁理士】
【氏名又は名称】矢頭 尚之
(72)【発明者】
【氏名】荒木 大
(72)【発明者】
【氏名】北原 博隆
(72)【発明者】
【氏名】高橋 克実
(72)【発明者】
【氏名】根本 昌幸
【審査官】多賀 実
(56)【参考文献】
【文献】特開2006-172128(JP,A)
【文献】KRAMMER, Martin et al.,"DISTRIBUTED CO-SIMULATION PROTOCOL (DCP)",[オンライン],Version 1.0,Modelica Association,2019年,[検索日 2022年05月10日],インターネット:<URL: https://dcp-standard.org/assets/specification/DCP_Specification_v1.0.pdf>
【文献】武宮博 ほか3名,"動的に計算量が変化する大規模長時間実行Gridアプリケーションの実現",情報処理学会論文誌,社団法人情報処理学会,2006年11月15日,Vol.47,No. SIG 18(ACS16),p.31-43,ISSN: 0387-5806
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 11/28-11/36
G06F 9/52
(57)【特許請求の範囲】
【請求項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つまたは複数の各シミュレータに対して、所定期間中に実施すべきシミュレーションの処理を開始させ、前記シミュレーションの処理が終了するまで、前記シミュレータの生存を示す生存通知を送信させ、前記処理が終了すると、前記処理の終了を示す終了通知を送信させる機能、
前記生存通知が送信された場合、前記生存通知の送信元のシミュレータが正常であると判定し、前記終了通知が送信された場合、前記終了通知の送信元のシミュレータの前記処理が終了したと判定する機能、
前記処理が終了したと判定されていないシミュレータから、前記生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する機能、
をプロセッサに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、シミュレータ異常判定を行うことが可能なシミュレータ異常判定システム、方法、プログラムに関する。
【背景技術】
【0002】
従来、複数のシミュレータによってなされる分散型シミュレーションにおいて、通信異常やシミュレータ異常により同期処理が行えない場合、シミュレーションの同期通信とは異なる信号である生存監視確認信号によって対象が動作しているかどうかを外部から定期的・継続的に調べる、あるいは、自らが正常に動作していることを外部に一定間隔で知らせるハートビート信号を監視して、異常が発生しているシミュレータを検知し、検知されたシミュレータを切り離したり、シミュレーションを終了する必要がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】荒木 大、三友 雄司、北原 博隆著、「分散・連成シミュレーションにおけるステップ応答遅れ補償方式の検討」、公益社団法人自動車技術会、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つまたは複数のシミュレータの同期処理を行うコントローラを使って、各シミュレータの異常判定を行うシミュレータ異常判定システムである。ここでは、コントローラが、各シミュレータに対して、所定期間中に実施すべきシミュレーションの処理を開始させ、シミュレーションの処理が終了するまで、所定周期で、シミュレータの生存を示す生存通知を、コントローラへ送信させ、処理が終了すると、処理の終了を示す終了通知を、コントローラへ送信させ、所定周期で生存通知を受信すると、生存通知の送信元のシミュレータが正常であると判定し、終了通知を受信すると、終了通知の送信元のシミュレータの処理が終了したと判定し、処理が終了したと判定されていないシミュレータから、所定周期で生存通知が送信されない場合、当該シミュレータに異常が発生したと判定する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7