(58)【調査した分野】(Int.Cl.,DB名)
前記外部のシミュレータによる模擬で用いられる他の移動体の位置、速度および加速度の少なくともいずれかの基準値をネットワーク経由で前記外部のシミュレータから受信して、受信した基準値をもとに前記他の移動体の動きを予測する外部エンティティ部をさらに備え、
前記通信遅延計測部は、前記外部のシミュレータから送信された時刻情報をもとに前記外部のシミュレータからの基準値の送信時刻を特定し、特定した送信時刻と前記外部エンティティ部における前記外部のシミュレータからの基準値の受信時刻とを比較することで、ネットワーク経由での通信の遅延を計測する請求項1から3のいずれか1項に記載のシミュレータ。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、2つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、1つの実施の形態または2つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
【0012】
実施の形態1.
図5に、比較例として、DRアルゴリズムを利用した防衛向け分散リアルタイム訓練用シミュレーションシステムの例を示す。
【0013】
図5の例では、対艦ミサイル部隊を模擬するシミュレータAと艦艇を模擬するシミュレータBとがネットワークで接続されている。各シミュレータは、同シミュレータが模擬するエンティティの模擬処理を実行するモデル機能と、ネットワークを介して他のシミュレータとの通信を行う通信機能とを持つ。シミュレータAのモデル機能は、対艦ミサイルモデル機能である。シミュレータAは、この対艦ミサイルモデル機能によって対艦ミサイルエンティティを模擬する。シミュレータBのモデル機能は、艦艇モデル機能である。シミュレータBは、この艦艇モデル機能によって艦艇エンティティを模擬する。
【0014】
なお、DISに準拠したシミュレータでは、DISプロトコルに対応した通信機能が利用される。RPR−FOMおよびHLAに準拠したシミュレータでは、RPR−FOMに対応したデータをHLAインタフェースによりミドルウェアRTIとの間で送受信する通信機能が利用される。
【0015】
図5の例における防衛向け分散リアルタイム訓練用シミュレーションシステムの動作について説明する。
【0016】
各シミュレータの実行が開始されると、各シミュレータのモデル機能は、同シミュレータが模擬するエンティティを作成し、そのエンティティの空間情報の初期値を算出して通信機能に出力する。空間情報には、位置情報、速度情報および加速度情報等が含まれる。エンティティの空間情報の初期値が入力された通信機能は、モデル機能のエンティティに対応するDR内部エンティティを作成し、そのエンティティの空間情報の初期値を空間情報基準値として保存するとともに、ネットワークを介して外部のシミュレータの通信機能に対してエンティティの空間情報基準値を送信する。シミュレータAでは、DR内部エンティティとして、DR対艦ミサイルエンティティが作成される。シミュレータBでは、DR内部エンティティとして、DR艦艇エンティティが作成される。
【0017】
ネットワークからエンティティの空間情報基準値を受信したシミュレータの通信機能は、そのエンティティに対応したDR外部エンティティを作成し、そのエンティティに受信した空間情報基準値を保存する。シミュレータAでは、DR外部エンティティとして、DR艦艇エンティティが作成される。シミュレータBでは、DR外部エンティティとして、DR対艦ミサイルエンティティが作成される。
【0018】
DISでは、空間情報基準値は、Entity State PDUというプロトコルで規定されている。「PDU」は、Protocol Data Unitの略語である。RPR−FOMでは、空間情報基準値は、HLAのUpdate Attribute ValuesサービスとReflect Attribute Valuesサービスとで送受信されるBase Entity Object ClassのSpatial Attributeというデータで規定されている。
【0019】
各シミュレータのモデル機能において、エンティティの周期的な模擬が実行される段階では、モデル機能は周期的に現在時刻におけるエンティティの空間情報を更新し、その更新値を同じシミュレータ内の通信機能のDR内部エンティティに対して出力する。エンティティの空間情報の更新値が入力されたDR内部エンティティは、保存していた空間情報基準値をもとに外挿計算により現在時刻のエンティティの空間情報の外挿値を算出し、空間情報の外挿値と更新値との差分を評価する。DR内部エンティティは、差分が送信制御閾値を超えた場合に空間情報の更新値を新たな空間情報基準値として保存するとともに、ネットワークを介して外部のシミュレータの通信機能に対してエンティティの空間情報基準値を送信する。送信制御閾値として、DISおよびRPR−FOMのデフォルト値は、位置の差分が1m、向きの差分が3度になっている。
【0020】
ネットワークからエンティティの空間情報基準値を受信したシミュレータの通信機能は、対応するDR外部エンティティに空間情報基準値を保存する。
【0021】
各シミュレータのモデル機能において、エンティティが外部シミュレータの他エンティティの空間情報を参照する必要がある場合は、同シミュレータの通信機能のDR外部エンティティが保存している空間情報基準値をもとに外挿計算により算出した現在時刻の空間情報の外挿値が用いられる。例えば、シミュレータAにおいて、対艦ミサイルエンティティが、シミュレータBの模擬する艦艇エンティティの位置に対して飛しょうする模擬を行う場合は、シミュレータAの通信機能のDR艦艇エンティティが保存している空間情報基準値をもとに外挿計算により算出した現在時刻の空間情報の外挿値が用いられる。なお、空間情報基準値をもとにした外挿計算を行うための式としては、目標の速度、加速度、直線運動、回転運動および座標の基準により9種類の外挿計算式が定義されており、エンティティの状態に応じて空間情報の外挿値と更新値との差分が最も小さくなる外挿計算式を選択できるよう考慮されている。
【0022】
以上のように、DRアルゴリズムを利用した防衛向け分散リアルタイム訓練用シミュレーションシステムでは、各シミュレータが模擬するエンティティに対応したDR内部エンティティとDR外部エンティティとにより、エンティティの空間情報基準値の更新が必要な場合のみネットワークを介した通信が行われる。すなわち、シミュレーション実行中の動的なネットワーク通信制御を実行されている。
【0023】
しかし、エンティティがランダムに運動したり、短時間で運動方向を頻繁に変更したりするような高機動エンティティの場合は、外挿計算により得られる空間情報の外挿値と実際の空間情報の更新値との差分が送信制御閾値を超える可能性が高まる。そのため、高頻度で空間情報の更新値のネットワーク送信を行わざるを得なくなり、ネットワーク通信量を削減することができない。高機動エンティティとしては、ロックオンされた対空ミサイルに対する回避運動中の航空機等がある。一般的な訓練用シミュレーションシステムでは、各シミュレータは、外部シミュレータで模擬されている外部エンティティの探知および攻撃のために位置情報のみを必要とすることが多い。しかし、DRアルゴリズムでは、空間情報の外挿計算に利用する外挿計算式の種類、速度ベクトル、加速度ベクトルおよび方向ベクトル等の情報が空間情報の更新値に含まれる。DISでは、Entity State PDUで規定されているデータのうち、位置情報に該当するデータは計192バイトであるが、空間情報の更新値に該当するデータは計704バイトである。よって、空間情報の更新値の1回あたりの通信量が単純な位置情報に比べて約3.6倍も大きくなり、DRアルゴリズムによる通信量の削減効果が得られない場合はネットワークを圧迫してしまう。
【0024】
以上のように、
図5の例の、DRアルゴリズムを利用した防衛向け分散リアルタイム訓練用シミュレーションシステムでは、高機動の移動体エンティティを模擬するシミュレータがデータ量の大きい空間情報の更新値を高頻度でネットワークに送出する。そのため、ネットワーク通信負荷の増加に伴う通信遅延またはタイムアウトによるデータ破棄が発生し、リアルタイムな訓練が実行できなくなる。
【0025】
本実施の形態について、
図1および
図2を用いて説明する。
【0026】
***構成の説明***
図1および
図2を参照して、本実施の形態に係る分散シミュレーションシステム100の構成を説明する。
【0027】
分散シミュレーションシステム100は、シミュレータを2つ以上備える。本実施の形態では、分散シミュレーションシステム100は、シミュレータA101とシミュレータB111との2つのシミュレータを備える。
【0028】
シミュレータA101およびシミュレータB111は、ネットワーク121を介して互いに通信可能なコンピュータである。後述するように、それぞれのシミュレータは、互いに異なる移動体の動きを模擬し、模擬で用いる移動体の位置、速度および加速度の少なくともいずれかの基準値を送信し合う。
【0029】
図1に示すように、シミュレータA101は、機能要素として、シミュレーションモデル部102と、DIS通信部104とを備える。DIS通信部104は、第1DRエンティティ部105と、第2DRエンティティ部107と、通信遅延計測部109と、更新レート調整部110とを備える。第1DRエンティティ部105は、外部エンティティ部の例である。第2DRエンティティ部107は、内部エンティティ部の例である。
【0030】
シミュレーションモデル部102は、シミュレータA101において内部エンティティの模擬処理を実行するシミュレーションモデル機能を持っている。内部エンティティA103は、シミュレータA101において模擬される内部エンティティである。DIS通信部104は、シミュレータA101においてDISに基づく通信処理を実行するDIS通信機能を持っている。第1DRエンティティ部105は、シミュレータA101においてDRアルゴリズムによる外部エンティティの外挿処理を行うDRエンティティ機能を持っている。DR外部エンティティB106は、シミュレータA101が扱う外部エンティティである。第2DRエンティティ部107は、シミュレータA101においてDRアルゴリズムによる内部エンティティの外挿処理を行うDRエンティティ機能を持っている。DR内部エンティティA108は、シミュレータA101が扱う内部エンティティである。通信遅延計測部109は、ネットワーク通信遅延計測機能を持っている。更新レート調整部110は、内部更新レート算出機能および内部更新レート通知機能を持っている。
【0031】
図2に示すように、シミュレータA101は、プロセッサ151を備えるとともに、メモリ152、通信デバイス153、入力機器154およびディスプレイ155といった他のハードウェアを備える。プロセッサ151は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0032】
シミュレータA101のシミュレーションモデル部102およびDIS通信部104の機能は、ソフトウェアにより実現される。具体的には、シミュレータA101のシミュレーションモデル機能、DRエンティティ機能、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能は、ソフトウェアにより実現される。
【0033】
プロセッサ151は、シミュレーションプログラムAを実行する装置である。シミュレーションプログラムAは、シミュレーションモデル部102およびDIS通信部104の機能を実現するプログラムである。プロセッサ151は、例えば、CPUである。「CPU」は、Central Processing Unitの略語である。
【0034】
メモリ152は、シミュレーションプログラムAを記憶する装置である。メモリ152は、例えば、RAM、フラッシュメモリまたはこれらの少なくともいずれかの組み合わせである。「RAM」は、Random Access Memoryの略語である。
【0035】
通信デバイス153は、シミュレーションプログラムAに入力されるデータを受信するレシーバと、シミュレーションプログラムAから出力されるデータを送信するトランスミッタとを含む。通信デバイス153は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。
【0036】
入力機器154は、シミュレーションプログラムAへのデータの入力のためにユーザにより操作される機器である。入力機器154は、例えば、マウス、キーボード、タッチパネルまたはこれらの少なくともいずれかの組み合わせである。
【0037】
ディスプレイ155は、シミュレーションプログラムAから出力されるデータを画面に表示する機器である。ディスプレイ155は、例えば、LCDである。「LCD」は、Liquid Crystal Displayの略語である。
【0038】
シミュレーションプログラムAは、メモリ152からプロセッサ151に読み込まれ、プロセッサ151によって実行される。メモリ152には、シミュレーションプログラムAだけでなく、OSも記憶されている。「OS」は、Operating Systemの略語である。プロセッサ151は、OSを実行しながら、シミュレーションプログラムAを実行する。なお、シミュレーションプログラムAの一部または全部がOSに組み込まれていてもよい。
【0039】
シミュレーションプログラムAおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、HDD、フラッシュメモリまたはこれらの少なくともいずれかの組み合わせである。「HDD」は、Hard Disk Driveの略語である。シミュレーションプログラムAおよびOSは、補助記憶装置に記憶されている場合、メモリ152にロードされ、プロセッサ151によって実行される。
【0040】
シミュレータA101は、プロセッサ151を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、シミュレーションプログラムAの実行を分担する。それぞれのプロセッサは、例えば、CPUである。
【0041】
シミュレーションプログラムAにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ152、補助記憶装置、または、プロセッサ151内のレジスタまたはキャッシュメモリに記憶される。
【0042】
シミュレーションプログラムAは、シミュレーションモデル部102およびDIS通信部104により行われる処理をそれぞれシミュレーションモデル処理およびDIS通信処理としてコンピュータに実行させるプログラムである。具体的には、シミュレーションプログラムAは、シミュレーションモデル部102、第1DRエンティティ部105、第2DRエンティティ部107、通信遅延計測部109および更新レート調整部110により行われる処理をそれぞれシミュレーションモデル処理、外部エンティティ処理、内部エンティティ処理、通信遅延計測処理および更新レート調整処理としてコンピュータに実行させるプログラムである。シミュレーションプログラムAは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【0043】
シミュレータA101は、1台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。シミュレータA101が複数台のコンピュータで構成されている場合は、シミュレーションモデル部102およびDIS通信部104の機能が、各コンピュータに分散されて実現されてもよい。
【0044】
図1に示すように、シミュレータB111は、機能要素として、シミュレーションモデル部112と、DIS通信部114とを備える。DIS通信部114は、第1DRエンティティ部115と、第2DRエンティティ部117と、通信遅延計測部119と、更新レート調整部120とを備える。第1DRエンティティ部115は、外部エンティティ部の例である。第2DRエンティティ部117は、内部エンティティ部の例である。
【0045】
シミュレーションモデル部112は、シミュレータB111において内部エンティティの模擬処理を実行するシミュレーションモデル機能を持っている。内部エンティティB113は、シミュレータB111において模擬される内部エンティティである。DIS通信部114は、シミュレータB111においてDISに基づく通信処理を実行するDIS通信機能を持っている。第1DRエンティティ部115は、シミュレータB111においてDRアルゴリズムによる外部エンティティの外挿処理を行うDRエンティティ機能を持っている。DR外部エンティティA116は、シミュレータB111が扱う外部エンティティである。第2DRエンティティ部117は、シミュレータB111においてDRアルゴリズムによる内部エンティティの外挿処理を行うDRエンティティ機能を持っている。DR内部エンティティB118は、シミュレータB111が扱う内部エンティティである。通信遅延計測部119は、ネットワーク通信遅延計測機能を持っている。更新レート調整部120は、内部更新レート算出機能および内部更新レート通知機能を持っている。
【0046】
図2に示すように、シミュレータB111は、プロセッサ161を備えるとともに、メモリ162、通信デバイス163、入力機器164およびディスプレイ165といった他のハードウェアを備える。プロセッサ161は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0047】
シミュレータB111のシミュレーションモデル部112およびDIS通信部114の機能は、ソフトウェアにより実現される。具体的には、シミュレータB111のシミュレーションモデル機能、DRエンティティ機能、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能は、ソフトウェアにより実現される。
【0048】
プロセッサ161は、シミュレーションプログラムBを実行する装置である。シミュレーションプログラムBは、シミュレーションモデル部112およびDIS通信部114の機能を実現するプログラムである。プロセッサ161は、例えば、CPUである。
【0049】
メモリ162は、シミュレーションプログラムBを記憶する装置である。メモリ162は、例えば、RAM、フラッシュメモリまたはこれらの少なくともいずれかの組み合わせである。
【0050】
通信デバイス163は、シミュレーションプログラムBに入力されるデータを受信するレシーバと、シミュレーションプログラムBから出力されるデータを送信するトランスミッタとを含む。通信デバイス163は、例えば、通信チップまたはNICである。
【0051】
入力機器164は、シミュレーションプログラムBへのデータの入力のためにユーザにより操作される機器である。入力機器164は、例えば、マウス、キーボード、タッチパネルまたはこれらの少なくともいずれかの組み合わせである。
【0052】
ディスプレイ165は、シミュレーションプログラムBから出力されるデータを画面に表示する機器である。ディスプレイ165は、例えば、LCDである。
【0053】
シミュレーションプログラムBは、メモリ162からプロセッサ161に読み込まれ、プロセッサ161によって実行される。メモリ162には、シミュレーションプログラムBだけでなく、OSも記憶されている。プロセッサ161は、OSを実行しながら、シミュレーションプログラムBを実行する。なお、シミュレーションプログラムBの一部または全部がOSに組み込まれていてもよい。
【0054】
シミュレーションプログラムBおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、HDD、フラッシュメモリまたはこれらの少なくともいずれかの組み合わせである。シミュレーションプログラムBおよびOSは、補助記憶装置に記憶されている場合、メモリ162にロードされ、プロセッサ161によって実行される。
【0055】
シミュレータB111は、プロセッサ161を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、シミュレーションプログラムBの実行を分担する。それぞれのプロセッサは、例えば、CPUである。
【0056】
シミュレーションプログラムBにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ162、補助記憶装置、または、プロセッサ161内のレジスタまたはキャッシュメモリに記憶される。
【0057】
シミュレーションプログラムBは、シミュレーションモデル部112およびDIS通信部114により行われる処理をそれぞれシミュレーションモデル処理およびDIS通信処理としてコンピュータに実行させるプログラムである。具体的には、シミュレーションプログラムBは、シミュレーションモデル部112、第1DRエンティティ部115、第2DRエンティティ部117、通信遅延計測部119および更新レート調整部120により行われる処理をそれぞれシミュレーションモデル処理、外部エンティティ処理、内部エンティティ処理、通信遅延計測処理および更新レート調整処理としてコンピュータに実行させるプログラムである。シミュレーションプログラムBは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【0058】
シミュレータB111は、1台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。シミュレータB111が複数台のコンピュータで構成されている場合は、シミュレーションモデル部112およびDIS通信部114の機能が、各コンピュータに分散されて実現されてもよい。
【0059】
***動作の説明***
図1を参照して、本実施の形態に係る分散シミュレーションシステム100の動作を説明する。分散シミュレーションシステム100の動作は、本実施の形態に係る分散シミュレーション方法に相当する。
【0060】
内部エンティティの空間情報の送信制御および外部エンティティの空間情報の取得は、
図5の例のDRアルゴリズムを利用した動作と同じである。
【0061】
エンティティの周期的な模擬が実行される段階において、シミュレータA101のシミュレーションモデル部102における内部エンティティA103は、内部エンティティA103の空間情報の更新値を算出して第2DRエンティティ部107におけるDR内部エンティティA108に出力する。第2DRエンティティ部107は、内部エンティティA103から入力された空間情報の更新値と、DR内部エンティティA108が外挿計算した空間情報の外挿値との差分を評価する。第2DRエンティティ部107は、差分が送信制御閾値を超えた場合に、空間情報の更新値を、ネットワーク121を介して外部のシミュレータであるシミュレータB111のDIS通信部114に対してエンティティの空間情報基準値として送信する。シミュレータA101から空間情報基準値を受信したシミュレータB111のDIS通信部114は、第1DRエンティティ部115におけるDR外部エンティティA116の空間情報基準値を更新する。
【0062】
同様に、シミュレータB111のシミュレーションモデル部112における内部エンティティB113は、内部エンティティB113の空間情報の更新値を算出して第2DRエンティティ部117におけるDR内部エンティティB118に出力する。第2DRエンティティ部117は、内部エンティティB113から入力された空間情報の更新値と、DR内部エンティティB118が外挿計算した空間情報の外挿値との差分を評価する。第2DRエンティティ部117は、差分が送信制御閾値を超えた場合に、空間情報の更新値を、ネットワーク121を介して外部のシミュレータであるシミュレータA101のDIS通信部104に対してエンティティの空間情報基準値として送信する。シミュレータB111から空間情報基準値を受信したシミュレータA101のDIS通信部104は、第1DRエンティティ部105におけるDR外部エンティティB106の空間情報基準値を更新する。
【0063】
シミュレータA101のシミュレーションモデル部102における内部エンティティA103が外部のエンティティの空間情報を参照する必要がある場合、DIS通信部104の第1DRエンティティ部105は、空間情報基準値をもとに外挿計算により算出した現在時刻のDR外部エンティティB106の空間情報の外挿値を内部エンティティA103に出力する。
【0064】
同様に、シミュレータB111のシミュレーションモデル部112における内部エンティティB113が外部のエンティティの空間情報を参照する必要がある場合、DIS通信部114の第1DRエンティティ部115は、空間情報基準値をもとに外挿計算により算出した現在時刻のDR外部エンティティA116の空間情報の外挿値を内部エンティティB113に出力する。
【0065】
このように、本実施の形態において、シミュレータA101のシミュレーションモデル部102は、対艦ミサイル等の任意の移動体であるエンティティAの動きを模擬する。
【0066】
シミュレータA101の第2DRエンティティ部107は、シミュレーションモデル部102による模擬で用いられるエンティティAの位置、速度および加速度の少なくともいずれかの基準値をネットワーク121経由で外部のシミュレータであるシミュレータB111に送信して、シミュレータB111で基準値をもとにエンティティAの動きを予測させる。第2DRエンティティ部107は、内部でも基準値をもとにエンティティAの動きを予測する。第2DRエンティティ部107は、内部での予測の結果とシミュレーションモデル部102より得られた模擬の結果との差が閾値を超えた場合に、模擬の結果に相当するエンティティAの位置、速度および加速度の少なくともいずれかの更新値を新たな基準値としてネットワーク121経由でシミュレータB111に送信する。
【0067】
シミュレータA101の第1DRエンティティ部105は、シミュレータB111による模擬で用いられる、艦艇等、エンティティAとは別の任意の移動体であるエンティティBの位置、速度および加速度の少なくともいずれかの基準値をネットワーク121経由でシミュレータB111から受信して、受信した基準値をもとにエンティティBの動きを予測する。
【0068】
同様に、本実施の形態において、シミュレータB111のシミュレーションモデル部112は、エンティティBの動きを模擬する。
【0069】
シミュレータB111の第2DRエンティティ部117は、シミュレーションモデル部112による模擬で用いられるエンティティBの位置、速度および加速度の少なくともいずれかの基準値をネットワーク121経由で外部のシミュレータであるシミュレータA101に送信して、シミュレータA101で基準値をもとにエンティティBの動きを予測させる。第2DRエンティティ部117は、内部でも基準値をもとにエンティティBの動きを予測する。第2DRエンティティ部117は、内部での予測の結果とシミュレーションモデル部112より得られた模擬の結果との差が閾値を超えた場合に、模擬の結果に相当するエンティティBの位置、速度および加速度の少なくともいずれかの更新値を新たな基準値としてネットワーク121経由でシミュレータA101に送信する。
【0070】
シミュレータB111の第1DRエンティティ部115は、シミュレータA101による模擬で用いられるエンティティAの位置、速度および加速度の少なくともいずれかの基準値をネットワーク121経由でシミュレータA101から受信して、受信した基準値をもとにエンティティAの動きを予測する。
【0071】
各シミュレータの内部エンティティが高機動の移動体エンティティを模擬しており、空間情報の更新値を高頻度でネットワーク121に送出している場合の動作を説明する。
【0072】
シミュレータA101のDIS通信部104の第1DRエンティティ部105がシミュレータB111から空間情報基準値を受信すると、DIS通信部104の通信遅延計測部109は、受信された空間情報基準値の送信時刻と、空間情報基準値が受信された際の受信時刻との差分からネットワーク通信遅延時間を算出する。通信遅延計測部109は、算出したネットワーク通信遅延時間を更新レート調整部110に出力する。なお、空間情報基準値の送信時刻は、空間情報基準値の通信メッセージに含まれている。DISにおいて空間情報基準値の通信に利用されているEntity State PDUのメッセージに含まれるTime stampが送信時刻である。
【0073】
同様に、シミュレータB111のDIS通信部114の第1DRエンティティ部115がシミュレータA101から空間情報基準値を受信すると、DIS通信部114の通信遅延計測部119は、受信された空間情報基準値の送信時刻と、空間情報基準値が受信された際の受信時刻との差分からネットワーク通信遅延時間を算出する。通信遅延計測部119は、算出したネットワーク通信遅延時間を更新レート調整部120に出力する。
【0074】
シミュレータA101の更新レート調整部110は、シミュレータA101の内部エンティティA103が定期的に更新する空間情報が毎回入力されることで、内部エンティティA103の更新周期を算出し、内部エンティティ更新周期として保存する。更新レート調整部110は、通信遅延計測部109から入力されたネットワーク通信遅延時間をもとに、次の計算方法で内部エンティティA103の更新周期変更値を算出し、内部更新レート変更通知として内部エンティティA103に出力する。
・ネットワーク通信遅延時間>通信遅延基準時間
−以前の更新周期変更値がある場合
更新周期変更値=以前の更新周期変更値−削減定数
−以前の更新周期変更値がない場合
更新周期変更値=内部エンティティ更新周期−削減定数
・ネットワーク通信遅延時間≦通信遅延基準時間
−以前の更新周期変更値がある場合
更新周期変更値=以前の更新周期変更値+削減定数
※ただし、算出した更新周期変更値が内部エンティティ更新周期より大きくなる場合は、「更新周期変更値=内部エンティティ更新周期」とする。
−以前の更新周期変更値がない場合
更新周期変更値=内部エンティティ更新周期
【0075】
なお、更新周期変更値の算出に用いる通信遅延基準時間および削減定数は、ユーザがネットワーク121の性能等に応じて外部設定できる設定値である。
【0076】
内部エンティティA103は、更新レート調整部110から受信した内部更新レート変更通知に基づき、内部エンティティA103の更新周期を変更し、空間情報基準値の更新を行う。
【0077】
同様に、シミュレータB111の更新レート調整部120は、シミュレータB111の内部エンティティB113が定期的に更新する空間情報が毎回入力されることで、内部エンティティB113の更新周期を算出し、内部エンティティ更新周期として保存する。更新レート調整部120は、通信遅延計測部119から入力されたネットワーク通信遅延時間をもとに、シミュレータA101の更新レート調整部110と同じ計算方法で内部エンティティB113の更新周期変更値を算出し、内部更新レート変更通知として内部エンティティB113に出力する。
【0078】
内部エンティティB113は、更新レート調整部120から受信した内部更新レート変更通知に基づき、内部エンティティB113の更新周期を変更し、空間情報基準値の更新を行う。
【0079】
このように、本実施の形態において、シミュレータA101の通信遅延計測部109は、ネットワーク121経由での通信の遅延を計測する。具体的には、通信遅延計測部109は、シミュレータB111から送信された時刻情報をもとにシミュレータB111からの基準値の送信時刻を特定し、特定した送信時刻と第1DRエンティティ部105におけるシミュレータB111からの基準値の受信時刻とを比較することで、ネットワーク121経由での通信の遅延を計測する。
【0080】
シミュレータA101の更新レート調整部110は、通信遅延計測部109により計算された遅延の長さに応じて、第2DRエンティティ部107より更新値がネットワーク121経由でシミュレータB111に送信される頻度を調整する。具体的には、更新レート調整部110は、通信遅延計測部109により計算された遅延の長さに応じて、シミュレーションモデル部102より模擬の結果が得られる周期を調整することで、第2DRエンティティ部107より更新値が送信される頻度を調整する。より具体的には、更新レート調整部110は、通信遅延計測部109により計算された遅延の長さが基準時間よりも長ければ、シミュレーションモデル部102より模擬の結果が得られる周期を長くする。更新レート調整部110は、通信遅延計測部109により計算された遅延の長さが基準時間よりも短ければ、シミュレーションモデル部102より模擬の結果が得られる周期をデフォルトの長さよりも短くならない範囲で短くする。
【0081】
同様に、本実施の形態において、シミュレータB111の通信遅延計測部119は、ネットワーク121経由での通信の遅延を計測する。具体的には、通信遅延計測部119は、シミュレータA101から送信された時刻情報をもとにシミュレータA101からの基準値の送信時刻を特定し、特定した送信時刻と第1DRエンティティ部115におけるシミュレータA101からの基準値の受信時刻とを比較することで、ネットワーク121経由での通信の遅延を計測する。
【0082】
シミュレータB111の更新レート調整部120は、通信遅延計測部119により計算された遅延の長さに応じて、第2DRエンティティ部117より更新値がネットワーク121経由でシミュレータA101に送信される頻度を調整する。具体的には、更新レート調整部120は、通信遅延計測部119により計算された遅延の長さに応じて、シミュレーションモデル部112より模擬の結果が得られる周期を調整することで、第2DRエンティティ部117より更新値が送信される頻度を調整する。より具体的には、更新レート調整部120は、通信遅延計測部119により計算された遅延の長さが基準時間よりも長ければ、シミュレーションモデル部112より模擬の結果が得られる周期を長くする。更新レート調整部120は、通信遅延計測部119により計算された遅延の長さが基準時間よりも短ければ、シミュレーションモデル部112より模擬の結果が得られる周期をデフォルトの長さよりも短くならない範囲で短くする。
【0083】
***実施の形態の効果の説明***
本実施の形態では、ネットワーク121経由での通信の遅延の長さに応じて、各シミュレータが他のシミュレータ向けのデータをネットワーク121に送出する頻度を調整するため、高機動の移動体のシミュレーションにおけるリアルタイム性を確保することができる。
【0084】
本実施の形態における、DISに基づく分散シミュレーションシステム100では、各シミュレータが通信遅延を自動計測し、計測結果に基づき内部エンティティの更新周期を算出して内部エンティティに通知する。各シミュレータの内部エンティティは、通知された更新周期に基づいて空間情報を出力する。そのため、各シミュレータが高機動の移動体エンティティを模擬中にネットワーク121の負荷が高まり、シミュレータ間の通信遅延が大きくなった場合において、各シミュレータのネットワーク121に対する空間情報基準値の送信頻度を自動的に調整することが可能となり、ネットワーク121の負荷を低減することが可能となる。
【0085】
本実施の形態では、分散シミュレーションシステム100が、DRアルゴリズムに基づきシミュレータが模擬するエンティティの位置、速度および加速度等の空間情報のネットワーク送信制御を行う。分散シミュレーションシステム100に参加する各シミュレータは、ネットワーク通信遅延計測機能によりシミュレーションの実行中に外部シミュレータから送信された情報の通信遅延時間を計測する。各シミュレータは、内部更新レート算出機能により通信遅延時間からネットワーク121の負荷を推定する。各シミュレータは、ネットワーク121の負荷が高い場合には、内部更新レート通知機能により同シミュレータが模擬しているエンティティの空間情報の更新頻度を下げる。これにより、ネットワーク121の負荷を動的に低減することが可能である。
【0086】
本実施の形態では、ネットワーク通信遅延計測機能により、IEEE 1278 DISによって規定されたEntity State PDUに対してシミュレータ間の通信遅延時間が計測される。
【0087】
本実施の形態によれば、シミュレーション実行中にネットワーク121の通信状況を監視し、ネットワーク121の負荷が高い場合はエンティティの空間情報の更新頻度を下げることで、ネットワーク121の負荷を低減することができる。
【0088】
***他の構成***
本実施の形態では、シミュレータA101のシミュレーションモデル部102およびDIS通信部104の機能がソフトウェアにより実現されるが、変形例として、シミュレーションモデル部102およびDIS通信部104の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、シミュレーションモデル部102およびDIS通信部104の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【0089】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGA、ASICまたはこれらの少なくともいずれかの組み合わせである。「IC」は、Integrated Circuitの略語である。「GA」は、Gate Arrayの略語である。「FPGA」は、Field−Programmable Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
【0090】
プロセッサ151および専用のハードウェアは、いずれも処理回路である。すなわち、シミュレーションモデル部102およびDIS通信部104の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、シミュレーションモデル部102およびDIS通信部104の動作は、処理回路により行われる。
【0091】
また、本実施の形態では、シミュレータB111のシミュレーションモデル部112およびDIS通信部114の機能がソフトウェアにより実現されるが、変形例として、シミュレーションモデル部112およびDIS通信部114の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、シミュレーションモデル部112およびDIS通信部114の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【0092】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGA、ASICまたはこれらの少なくともいずれかの組み合わせである。
【0093】
プロセッサ161および専用のハードウェアは、いずれも処理回路である。すなわち、シミュレーションモデル部112およびDIS通信部114の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、シミュレーションモデル部112およびDIS通信部114の動作は、処理回路により行われる。
【0094】
実施の形態2.
本実施の形態について、主に実施の形態1との差異を、
図3および
図4を用いて説明する。
【0095】
***構成の説明***
図3および
図4を参照して、本実施の形態に係る分散シミュレーションシステム100の構成を説明する。
【0096】
図3に示すように、本実施の形態では、シミュレータA101は、機能要素として、シミュレーションモデル部102と、RPR−FOM通信部204と、RTI230とを備える。RPR−FOM通信部204は、第1DRエンティティ部105と、第2DRエンティティ部107とを備える。RTI230は、通信遅延計測部109と、更新レート調整部110とを備える。
【0097】
RPR−FOM通信部204は、シミュレータA101においてRPR−FOMに基づく通信処理を実行するRPR−FOM通信機能を持っている。RTI230は、HLAに基づく分散シミュレーションシステム100が利用しなければならないミドルウェアである。
【0098】
図4に示すように、シミュレータA101は、実施の形態1と同様に、プロセッサ151を備えるとともに、メモリ152、通信デバイス153、入力機器154およびディスプレイ155といった他のハードウェアを備える。
【0099】
シミュレータA101のシミュレーションモデル部102、RPR−FOM通信部204およびRTI230の機能は、ソフトウェアにより実現される。具体的には、シミュレータA101のシミュレーションモデル機能、DRエンティティ機能、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能は、ソフトウェアにより実現される。
【0100】
本実施の形態では、シミュレーションプログラムAは、シミュレーションモデル部102、RPR−FOM通信部204およびRTI230の機能を実現するプログラムである。
【0101】
図3に示すように、本実施の形態では、シミュレータB111は、機能要素として、シミュレーションモデル部112と、RPR−FOM通信部214と、RTI240とを備える。RPR−FOM通信部214は、第1DRエンティティ部115と、第2DRエンティティ部117とを備える。RTI240は、通信遅延計測部119と、更新レート調整部120とを備える。
【0102】
RPR−FOM通信部214は、シミュレータB111においてRPR−FOMに基づく通信処理を実行するRPR−FOM通信機能を持っている。RTI240は、HLAに基づく分散シミュレーションシステム100が利用しなければならないミドルウェアである。
【0103】
図4に示すように、シミュレータB111は、実施の形態1と同様に、プロセッサ161を備えるとともに、メモリ162、通信デバイス163、入力機器164およびディスプレイ165といった他のハードウェアを備える。
【0104】
シミュレータB111のシミュレーションモデル部112、RPR−FOM通信部214およびRTI240の機能は、ソフトウェアにより実現される。具体的には、シミュレータB111のシミュレーションモデル機能、DRエンティティ機能、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能は、ソフトウェアにより実現される。
【0105】
本実施の形態では、シミュレーションプログラムBは、シミュレーションモデル部112、RPR−FOM通信部214およびRTI240の機能を実現するプログラムである。
【0106】
***動作の説明***
図3を参照して、本実施の形態に係る分散シミュレーションシステム100の動作を説明する。分散シミュレーションシステム100の動作は、本実施の形態に係る分散シミュレーション方法に相当する。
【0107】
HLAおよびRPR−FOMに基づく分散シミュレーションシステム100の動作は、RTIを用いてシミュレータ間の通信および実行制御を行うことを除き、実施の形態1におけるDISに基づく分散シミュレーションシステム100の動作と同様である。実施の形態1と異なるのは、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能がRTIの内部機能となる点である。なお、HLAでは、RTIがシミュレータのシミュレーションモデル機能等の内部処理に対して提供するミドルウェア機能の外部仕様とプログラミング言語によるインタフェースとが規定されており、RTIの内部仕様は規定されていないため、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能をRTI内部機能として実現することはHLAの仕様に違反しない。
【0108】
シミュレータA101の通信遅延計測部109は、RTI230内部において、実施の形態1と同様に、ネットワーク121経由でシミュレータB111から送信された空間情報基準値の通信遅延を計測する。ネットワーク通信遅延の計測は、HLAによって規定されたRTIのミドルウェア機能の内部処理として行われる。HLAにおいて、空間情報基準値等のシミュレータ間通信データの送信は、RTIのObject Management機能によって実現されることが規定されている。ネットワーク通信遅延計測機能は、Object Management機能のUpdate Attribute ValuesとReflect Attribute Valuesとの間のネットワーク通信遅延を計測することで実現することができる。
【0109】
シミュレータB111の通信遅延計測部119も、RTI240内部において、実施の形態1と同様に、ネットワーク121経由でシミュレータB111から送信された空間情報基準値の通信遅延を計測する。
【0110】
シミュレータA101の更新レート調整部110は、RTI230内部において、実施の形態1と同様に、内部エンティティ更新周期を算出し、通信遅延計測部109が計測したネットワーク通信遅延時間に基づき更新周期変更値を算出して内部更新レート変更通知を内部エンティティA103に出力する。更新レート調整部110の入力および出力は、HLAで規定されたRTIのインタフェースを利用し、RTIのミドルウェア機能の内部処理として行われる。HLAにおいて、内部エンティティの更新周期の制御は、RTIのObject Management機能によって実現されることが規定されており、シミュレータA101の内部エンティティA103が定期的に更新する空間情報基準値等のシミュレータ間通信データの送信はObject Management機能のUpdate Attribute Valuesにより毎回入力することで、内部エンティティA103の更新周期を算出し、内部エンティティ更新周期として保存する。また、通信遅延計測部109が計測したネットワーク通信遅延時間に基づき更新周期変更値を算出して内部更新レート変更通知を内部エンティティに出力する際は、Object Management機能のTurn Updates On For Object Instanceにより通知する。
【0111】
シミュレータB111の更新レート調整部120も、RTI240内部において、実施の形態1と同様に、内部エンティティ更新周期を算出し、通信遅延計測部119が計測したネットワーク通信遅延時間に基づき更新周期変更値を算出して内部更新レート変更通知を内部エンティティB113に出力する。
【0112】
***実施の形態の効果の説明***
本実施の形態における、HLAおよびRPR−FOMに基づく分散シミュレーションシステム100では、各シミュレータがRTIの内部処理によって通信遅延を自動計測し、計測結果に基づき内部エンティティの更新周期を算出して内部エンティティに通知する。各シミュレータの内部エンティティは、通知された更新周期に基づいて空間情報を出力する。そのため、各シミュレータが高機動の移動体エンティティを模擬中にネットワーク121の負荷が高まり、シミュレータ間の通信遅延が大きくなった場合において、各シミュレータのネットワーク121に対する空間情報基準値の送信頻度を自動的に調整することが可能となり、ネットワーク121の負荷を低減することが可能となる。
【0113】
本実施の形態では、ネットワーク通信遅延計測機能により、IEEE 1516 HLAによって規定されたRTIの内部処理としてシミュレータ間の通信遅延時間が計測される。内部更新レート算出機能および内部更新レート通知機能により、IEEE 1516 HLAによって規定されたRTIのインタフェースであるTurn Updates On For Object Instanceを用いて算出した内部更新レートが内部エンティティに通知される。
【0114】
本実施の形態によれば、実施の形態1と同様に、シミュレーション実行中にネットワーク121の通信状況を監視し、ネットワーク121の負荷が高い場合はエンティティの空間情報の更新頻度を下げることで、ネットワーク121の負荷を低減することができる。
【0115】
***他の構成***
本実施の形態では、実施の形態1と同じように、シミュレータA101のシミュレーションモデル部102、RPR−FOM通信部204およびRTI230の機能がソフトウェアにより実現されるが、実施の形態1の変形例と同じように、シミュレーションモデル部102、RPR−FOM通信部204およびRTI230の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。また、本実施の形態では、実施の形態1と同じように、シミュレータB111のシミュレーションモデル部112、RPR−FOM通信部214およびRTI240の機能がソフトウェアにより実現されるが、実施の形態1の変形例と同じように、シミュレーションモデル部112、RPR−FOM通信部214およびRTI240の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。