(57)【要約】【課題】論理時刻に基づいて移動体を模擬する分散シミュレーションシステムにおいて、論理時刻の進行回数を低減してシミュレーション速度を向上させる。【解決手段】論理プロセッサ間で移動体の移動情報の情報交換を行う場合に、移動情報の送信側と受信側の双方の論理プロセッサで同じアルゴリズムによる外挿処理を行う。送信側論理プロセッサは、移動体の模擬処理の移動情報（模擬移動情報）と外挿処理の移動情報（外挿移動情報）とが異なる場合にのみ模擬移動情報を受信側プロセッサに送信することに加え、さらに将来の時刻においても模移動情報と外挿移動情報が一定するかを判定し、一致している場合にはその将来時刻までを分散シミュレーション基盤への次時刻の要求時刻とする。これにより移動情報の送信回数の低減に加えて、論理時刻の進行回数を削減することが可能となり、は高速シミュレーションが可能となる。【選択図】図５
2010020692.tif 000002
【特許請求の範囲】
【請求項１】
移動体の動きを論理時刻に基づいて模擬することにより模擬による前記移動体の移動状況を示す模擬移動情報を生成すると共に所定のアルゴリズムを用いた第１外挿処理により外挿処理による前記移動体の移動状況を示す第１外挿移動情報を生成し、生成された前記模擬移動情報と前記第１外挿移動情報とが一致するかを所定の基準に従って判定し、前記模擬移動情報と前記第１外挿移動情報とが一致しないと判定した場合に、前記模擬移動情報を送信し、かつ、前記第１外挿移動情報と一致しないと判定された前記模擬移動情報に基づいて前記第１外挿処理に用いられるパラメータを更新し、パラメータ更新後の前記第１外挿処理により前記第１外挿移動情報を生成する送信側模擬装置と、
前記所定のアルゴリズムと同一のアルゴリズムを用いた第２外挿処理により前記移動体の外挿移動情報である第２外挿移動情報を生成し、生成された前記第２外挿移動情報を用いて前記移動体を含む模擬を前記送信側模擬装置の用いる前記論理時刻に対応する論理時刻に基づいて実行すると共に、前記送信側模擬装置から前記模擬移動情報が送信された場合には前記模擬移動情報を受信し、受信された前記模擬移動情報に基づいて前記第２外挿処理に用いられるパラメータを更新し、パラメータ更新後の前記第２外挿処理により前記第２外挿移動情報を生成し、生成された前記第２外挿移動情報を用いて前記移動体を含む模擬を継続する受信側模擬装置と、
前記送信側模擬装置と前記受信側模擬装置とが用いる前記論理時刻の進行を管理する論理時刻管理装置と
を備え、
前記送信側模擬装置は、
前記模擬移動情報と前記第１外挿移動情報とが一致しないと判定した場合に、さらに、予め設定された時刻進行幅から定まる将来時刻までの前記移動体の動きを模擬して模擬移動情報を生成し、前記将来時刻までの模擬移動情報と、パラメータ更新後の前記第１外挿処理により生成された前記第１外挿移動情報であって前記将来時刻までの模擬移動情報に対応する前記第１外挿移動情報とが一致するかを所定の基準に従って判定し、一致すると判定した場合に、前記将来時刻を次に進行するべき次時刻として、前記論理時刻管理装置に要求することを特徴とする論理時刻を用いた模擬システム。
【請求項２】
前記送信側模擬装置は、
前記移動体の移動経路を示す経路情報を保有すると共に、前記パラメータの更新された前記第１外挿処理により前記将来時刻までの模擬移動情報に対応する前記第１外挿移動情報を生成するときに、前記経路情報を参照することにより前記第１外挿移動情報を生成することを特徴とする請求項１記載の論理時刻を用いた模擬システム。
【請求項３】
論理時刻を用いて移動体の動きを模擬すると共に、前記移動体の模擬結果を所定のタイミングで受信側の受信側模擬装置に送信する送信側模擬装置において、
移動体の動きを前記論理時刻に基づいて模擬することにより模擬による前記移動体の移動状況を示す模擬移動情報を生成する模擬処理部と、
所定のアルゴリズムを用いた第１外挿処理により外挿処理による前記移動体の移動状況を示す第１外挿移動情報を生成する外挿処理部と、
前記模擬処理部により生成された前記模擬移動情報と前記外挿処理部により生成された前記第１外挿移動情報とが一致するかを所定の基準に従って判定し、前記模擬移動情報と前記第１外挿移動情報とが一致しないと判定した場合に、前記模擬移動情報を前記模擬結果として前記受信側送信部に送信する送信判定部と、
論理時刻を管理する論理時刻管理装置に対して、次に進行するべき次時刻への進行を要求する次時刻進行要求を送信する次時刻進行要求部と
を備え、
前記外挿処理部は、
前記第１外挿移動情報と一致しないと判定された前記模擬移動情報に基づいて前記第１外挿処理に用いられるパラメータを更新し、パラメータ更新後の前記第１外挿処理により前記第１外挿移動情報を生成し、
前記模擬処理部は、
前記送信判定部により前記模擬移動情報と前記第１外挿移動情報とが一致しないと判定された場合に、予め設定された時刻進行幅から定まる将来時刻までの前記移動体の動きを模擬して前記模擬移動情報を生成し、
前記外挿処理部は、
前記将来時刻までの模擬移動情報と、パラメータ更新後の前記第１外挿処理により生成された前記第１外挿移動情報であって前記将来時刻までの模擬移動情報に対応する前記第１外挿移動情報とが一致するかを所定の基準に従って判定し、
前記次時刻進行要求部は、
前記外挿処理部により前記将来時刻までの模擬移動情報と、前記将来時刻までの模擬移動情報に対応する前記第１外挿移動情報とが一致すると判定された場合に、前記将来時刻への進行を要求する前記次時刻進行要求を前記論理時刻管理装置に送信することを特徴とする送信側模擬装置。
【請求項４】
論理時刻を用いて移動体の動きを模擬すると共に、前記移動体の模擬結果を受信側の受信側模擬装置に送信するコンピュータである送信側模擬装置に実行させる模擬プログラムにおいて、
（１）移動体の動きを前記論理時刻に基づいて模擬することにより模擬による前記移動体の移動状況を示す模擬移動情報を生成する処理、
（２）所定のアルゴリズムを用いた第１外挿処理により外挿処理による前記移動体の移動状況を示す第１外挿移動情報を生成する処理、
（３）生成された前記模擬移動情報と生成された前記第１外挿移動情報とが一致するかを所定の基準に従って判定し、前記模擬移動情報と前記第１外挿移動情報とが一致しないと判定した場合に、前記模擬移動情報を前記模擬結果として前記受信側送信装置に送信する処理、
（４）前記第１外挿移動情報と一致しないと判定された前記模擬移動情報に基づいて前記第１外挿処理に用いられるパラメータを更新し、パラメータ更新後の前記第１外挿処理により前記第１外挿移動情報を生成する処理、
（５）前記模擬移動情報と前記第１外挿移動情報とが一致しないと判定された場合に、予め設定された時刻進行幅から定まる将来時刻までの前記移動体の動きを模擬して前記模擬移動情報を生成する処理、
（６）前記将来時刻までの模擬移動情報と、パラメータ更新後の前記第１外挿処理により生成された前記第１外挿移動情報であって前記将来時刻までの模擬移動情報に対応する前記第１外挿移動情報とが一致するかを所定の基準に従って判定する処理、
（７）前記将来時刻までの模擬移動情報と、前記将来時刻までの模擬移動情報に対応する前記第１外挿移動情報とが一致すると判定された場合に、前記将来時刻を次に進行するべき次時刻として時刻進行を要求する次時刻進行要求を前記論理時刻管理装置に送信する処理、
をコンピュータに実行させる模擬プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、論理時刻に基づいて移動体の動きをシミュレーションする分散シミュレーションシステムに関する。
【背景技術】
【０００２】
移動体の模擬を複数の論理プロセッサで模擬するような分散シミュレーションシステムでは、時々刻々と変化する移動体の移動情報を計算し、その移動情報を必要とするような、例えばレーダ等を模擬する論理プロセッサに送信する。このような分散シミュレーションシステムでは、模擬する移動体の数が多くなるにつれ、全体としての移動情報の送信回数が増えるため、通信処理の負荷が増大化し全体の処理性能に悪影響を及ぼすという課題がある。
【０００３】
非特許文献１は、人間の訓練に利用するような、実時刻に基づいた分散シミュレーションシステムを構築するための通信プロトコルである「ＤＩＳ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｓｉｍｕｌａｔｉｏｎ）」の規約である。ＤＩＳでは、上記の課題を解決するために「Ｄｅａｄ  Ｒｅｃｋｏｎｉｎｇ」と呼ばれるリアルタイムな外挿処理による移動情報の通信回数削減機能を規定している。
【０００４】
図８は、ＤＩＳによる分散シミュレーションの例を示す。図において、
（１）送信側論理プロセッサ１０１は、移動体の模擬処理を行い、移動情報を他の論理プロセッサに対して送信する。
（２）模擬処理部１０２は、送信側論理プロセッサ１０１において移動体の模擬処理を行う。
（３）外挿処理部１０３は、移動体の移動情報を外挿する。
（４）送信可否判定部１０４は、模擬処理部１０２における移動体模擬処理の結果である移動情報と、外挿処理部１０３における移動体外挿処理の結果である移動情報を比較し、ある閾値を超えた場合にのみ外部の論理プロセッサに移動情報を送信することを決定する。
（５）受信側論理プロセッサ２０１は、他の送信側論理プロセッサから移動体の移動情報を受信する。
（６）模擬処理部２０２は、受信側論理プロセッサにおいて、他の送信側論理プロセッサで模擬された移動体移動情報を基にレーダの模擬処理を行う。
（７）外挿処理部２０３は、他の送信側論理プロセッサで模擬されている移動体の移動情報を外挿する。
（８）受信処理部２０４は、他の送信側論理プロセッサから送信された情報を受信する。
（９）ネットワーク３００は、各論理プロセッサを接続し、情報の送受信に使用されるネットワークである。
【０００５】
次に動作について説明する。ＤＩＳで規定されたＤｅａｄ  Ｒｅｃｋｏｎｉｎｇでは、処理の前提条件として、送信側論理プロセッサ１０１と受信側論理プロセッサ２０１のそれぞれの外挿処理部１０３、２０３において、全く同一のアルゴリズムによって外挿処理を行う。その上で送信側論理プロセッサ１０１では、模擬処理部１０２において移動体の模擬処理を実行し、その結果である移動情報を、送信可否判定部１０４に送る。それと同時に外挿処理部１０３では、該当移動体の前の時刻における位置、進行方向、速度、加速度などから移動情報の外挿を行い、送信可否判定部１０４に送る。図９に、ＤＩＳで実際に用いられている外挿アルゴリズムの例を示す。Ｄｅａｄ  Ｒｅｃｋｏｎｉｎｇによって効果を得るためには、外挿処理の処理負荷が削減される通信処理負荷を上回ってはならないため、ＤＩＳでは図９の例のように前の時刻の移動情報を用いて現在時刻の移動情報を外挿する。
【０００６】
図１０に、模擬処理部１０２において模擬処理された結果である移動情報の位置と、外挿処理部１０３において外挿処理された結果である移動情報の位置をプロットした例を示す。送信可否判定部１０４では、図１０のように同一時刻における模擬処理された位置と外挿処理された位置の差分が閾値を超えた場合にのみ、模擬処理された移動情報を外部の論理プロセッサに対して送信する必要があると判断し、ネットワーク３００を介して移動情報を送信する。また同時に外挿処理部１０３に対して模擬処理された移動情報を送信し、外挿処理部１０３で外挿処理に利用するパラメータ（図９におけるｔｉ、Ｐ（ｔｉ）、ｖ（ｔｉ）、ａ（ｔｉ））を更新する。
【０００７】
一方、受信側論理プロセッサ２０１では、受信処理部２０４において移動情報を受信していない間、模擬処理部２０２は、外挿処理部２０３において該当移動体の外挿処理された移動情報を利用して模擬処理を行う。受信処理部２０４において移動情報を受信した場合は、模擬処理部２０２はその受信した移動情報を利用して模擬処理を行うと共に、外挿処理部２０３に受信した移動情報を送信し、外挿処理部２０３で外挿処理に利用するパラメータ（図９におけるｔｉ、Ｐ（ｔｉ）、ｖ（ｔｉ）、ａ（ｔｉ））を更新する。
【０００８】
ＤＩＳは、人間の訓練に利用するような、実時刻に基づいた分散シミュレーションシステムを構築するための通信プロトコルの規約のため、移動体の移動情報は、人間の操縦の結果として任意に変化する場合が多い。また、移動情報も、２次元や３次元による人間に対するリアルタイム表示に用いられるのが主要目的なため、Ｄｅａｄ  Ｒｅｃｋｏｎｉｎｇによる送信可否の判定に閾値が用いられる（正確性よりも送信処理の回数削減を重視しているため）。
【非特許文献１】ＩＥＥＥ  １２７８．１，ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｓｉｍｕｌａｔｉｏｎ  −  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌｓ
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＤＩＳで規定されたＤｅａｄ  Ｒｅｃｋｏｎｉｎｇは、リアルタイムな外挿処理により移動情報の通信回数削減を行うため、移動情報が更新されたタイミングでその移動情報を他の論理プロセッサに対して送信する必要があるか否かを決定することができ、全体として見た場合に通信回数を削減することができるが、リアルタイムの処理であり将来の時刻における移動情報について送信する必要があるか否かを決定できない。そのため、論理時刻に基づき時刻進行を行う分散シミュレーションでは、論理時刻の進行回数を削減することができない。その状況を図１１に示す。すなわち、図１１に示すように、Ｄｅａｄ−Ｒｅｃｋｏｎｉｎｇにより移動情報の送信が削除されるが、送信側論理プロセッサ１０１にて次時刻として進行要求できる時刻が、移動体の移動情報の更新間隔（時刻Ｔ０〜Ｔ１、Ｔ１〜Ｔ２等の間隔）に制約される。このため、受信側論理プロセッサ２０１の進行許可間隔が大きくとれず、時刻進行回数は削除できない。よって、図１１において、時刻Ｔ２、Ｔ３，Ｔ４における同期処理等が必要になり、シミュレーション処理の高速化の妨げの一因となっている。
【００１０】
本発明は、論理時刻に基づき時刻進行する分散シミュレーションシステムにおいて外挿処理を適用し、さらに将来の時刻における移動情報についても外挿処理を行うことによって、移動情報の送信回数と論理時刻の進行回数の両方の削減を実現するものである。
【課題を解決するための手段】
【００１１】
この発明の論理時刻を用いた模擬システムは、
移動体の動きを論理時刻に基づいて模擬することにより模擬による前記移動体の移動状況を示す模擬移動情報を生成すると共に所定のアルゴリズムを用いた第１外挿処理により外挿処理による前記移動体の移動状況を示す第１外挿移動情報を生成し、生成された前記模擬移動情報と前記第１外挿移動情報とが一致するかを所定の基準に従って判定し、前記模擬移動情報と前記第１外挿移動情報とが一致しないと判定した場合に、前記模擬移動情報を送信し、かつ、前記第１外挿移動情報と一致しないと判定された前記模擬移動情報に基づいて前記第１外挿処理に用いられるパラメータを更新し、パラメータ更新後の前記第１外挿処理により前記第１外挿移動情報を生成する送信側模擬装置と、
前記所定のアルゴリズムと同一のアルゴリズムを用いた第２外挿処理により前記移動体の外挿移動情報である第２外挿移動情報を生成し、生成された前記第２外挿移動情報を用いて前記移動体を含む模擬を前記送信側模擬装置の用いる前記論理時刻に対応する論理時刻に基づいて実行すると共に、前記送信側模擬装置から前記模擬移動情報が送信された場合には前記模擬移動情報を受信し、受信された前記模擬移動情報に基づいて前記第２外挿処理に用いられるパラメータを更新し、パラメータ更新後の前記第２外挿処理により前記第２外挿移動情報を生成し、生成された前記第２外挿移動情報を用いて前記移動体を含む模擬を継続する受信側模擬装置と、
前記送信側模擬装置と前記受信側模擬装置とが用いる前記論理時刻の進行を管理する論理時刻管理装置と
を備え、
前記送信側模擬装置は、
前記模擬移動情報と前記第１外挿移動情報とが一致しないと判定した場合に、さらに、予め設定された時刻進行幅から定まる将来時刻までの前記移動体の動きを模擬して模擬移動情報を生成し、前記将来時刻までの模擬移動情報と、パラメータ更新後の前記第１外挿処理により生成された前記第１外挿移動情報であって前記将来時刻までの模擬移動情報に対応する前記第１外挿移動情報とが一致するかを所定の基準に従って判定し、一致すると判定した場合に、前記将来時刻を次に進行するべき次時刻として、前記論理時刻管理装置に要求することを特徴とする。
【発明の効果】
【００１２】
この発明により、時刻進行回数を削減することにより、高速なシミュレーションを実行することが可能となる。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
図１は、実施の形態１の分散シミュレーションシステム１０００（模擬システム）を実現するコンピュータシステムの外観の一例を示している。分散シミュレーションシステム１０００を構成する後述の送信側論理プロセッサ５０１、受信側論理プロセッサ６０１、分散シミュレーション基盤７００等は、例えばソフトウェア（プログラム）としてコンピュータシステムで実行され実現される。分散シミュレーションシステム１０００は、図１に示すように１台のコンピュータで実現されてもよいし、図２に示すように、ネットワークを介して接続された複数のコンピュータにより実現されても構わない。分散シミュレーションシステム１０００が実現されるハードウェアは限定されない。
【００１４】
図３は、分散シミュレーションシステム１０００を実現するコンピュータシステムのハードウェア構成を示す図である。図３において、分散シミュレーションシステム１０００を実現するコンピュータは、論理プロッセサ等のプログラムを実行するＣＰＵ８１０（中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ装置８１９、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、フラッシュメモリ、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
【００１５】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＦＤＤ８１７、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部の一例である。通信ボード８１６、キーボード８１４、ＦＤＤ８１７などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３、プリンタ装置８１９などは、出力部、出力装置の一例である。
【００１６】
通信ボード８１６は、ネットワーク（ＬＡＮ等）に接続されている。通信ボード８１６は、ＬＡＮに限らず、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００１７】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００１８】
上記プログラム群８２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００１９】
ファイル群８２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００２０】
また、以下に述べる実施の形態の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、ＦＤＤ８１７のフレキシブルディスク、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００２１】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００２２】
図４は、本実施の形態１の分散シミュレーション方式に基づき実行される、分散シミュレーションシステム（模擬システム）の構成図である。図４に示す分散シミュレーションシステム１０００は、論理時刻に基づき時刻進行する複数の論理プロセッサから構成される分散シミュレーションシステムにおける、移動体の位置、進行方向、速度、加速度、姿勢などの移動体の運動模擬によって計算された情報（以降、移動情報と称する）の情報交換と時刻進行に関するシステムであり、情報送信側と情報受信側の双方の論理プロセッサにおいて同じアルゴリズムによる移動情報の外挿処理を行い、情報送信側論理プロセッサで移動体の模擬処理結果と外挿処理結果の移動情報が異なるかどうかを判定し、異なる場合のみ移動情報を受信側論理プロセッサに送信する。さらに、送信側論理プロセッサは、将来の時刻においても模擬処理結果と外挿処理結果の移動情報が異なるかどうかを判定し、一致する場合には、その将来の時刻まで時刻進行要求を延ばす。これにより、移動情報の送信回数の削減に加え、時刻進行回数を削減することが可能となり、高速なシミュレーションを可能とする。
【００２３】
図４に示すように、分散シミュレーションシステム１０００は、送信側論理プロセッサ５０１（送信側模擬装置）、受信側論理プロセッサ６０１（受信側模擬装置）、分散シミュレーション基盤７００（論理時刻管理装置）を備える。送信側論理プロセッサ５０１と受信側論理プロセッサ６０１とは、分散シミュレーション基盤７００を介して情報のやりとりが可能である。送信側論理プロセッサ５０１は、模擬処理部５０２、外挿処理部５０３、送信可否判定部５０４（送信判定部）、要求次時刻決定部５０５（次時刻進行要求部）を備えている。また、受信側論理プロセッサ６０１は、模擬処理部６０２、外挿処理部６０３、受信処理部６０４を備えている。
【００２４】
（送信側論理プロセッサ５０１）
（１）送信側論理プロセッサ５０１は、分散シミュレーションシステムを構成する論理プロセッサのうち、移動体の模擬処理を実行し、模擬処理による移動情報を他の論理プロセッサに送信する。
（２）模擬処理部５０２は、送信側論理プロセッサ５０１において移動体の模擬処理を実行する。
（３）外挿処理部５０３は、模擬処理部５０２において模擬される移動体の移動情報を外挿処理する。
（４）送信可否判定部５０４は、模擬処理部５０２において模擬処理された結果を、外挿処理部５０３の外挿処理結果と比較し、送信するか否かを決定する。
（５）要求次時刻決定部５０５は、外挿処理部５０３において将来の時刻に渡って外挿処理を行った結果に基づき、送信側論理プロセッサ５０１が分散シミュレーション基盤７００に対して要求する要求次時刻を決定する。
【００２５】
（受信側論理プロセッサ６０１）
（１）受信側論理プロセッサ６０１は、送信側論理プロセッサ５０１から送信される移動体の移動情報を受信し、その移動情報に基づき模擬を行う。
（２）模擬処理部６０２は、受信側論理プロセッサ６０１において模擬処理を実行する。
（３）外挿処理部６０３は、受信側論理プロセッサ６０１において、他の送信側論理プロセッサ５０１で模擬される移動体の移動情報を外挿処理する。
（４）受信処理部６０４は、受信側論理プロセッサ６０１において送信側論理プロセッサ５０１から送信された情報を受信する。
【００２６】
（分散シミュレーション基盤７００）
分散シミュレーション基盤７００は、各論理プロセッサの論理時刻による進行管理や、情報通信の管理を実行する。分散シミュレーション基盤７００は、分散シミュレーションシステムの構築規約であるＨＬＡ（Ｈｉｇｈ  Ｌｅｖｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ：ＩＥＥＥ  Ｓｔｄ  １５１６）における、ＲＴＩ（Ｒｕｎ−Ｔｉｍｅ  Ｉｎｆｒａｓｔｒｕｃｕｔｕｒｅ）に相当する基盤機能であり、論理時刻に基づく分散シミュレーションでは、各論理プロセッサからの要求次時刻や受信するイベントを基に、各論理プロセッサが次に進むことができる論理時刻までの時刻進行許可を各論理プロセッサに返す。
【００２７】
なお、図４における送信側論理プロセッサ５０１と受信側論理プロセッサ６０１は、分散シミュレーションシステムにおける最も単純な構成例を示したものであり、移動体の移動情報の送信と受信の双方を行うような論理プロセッサが複数個存在するような複雑な分散シミュレーションシステムであっても、基本的な動作に変わりは無い。
【００２８】
（動作の説明）
図５は、送信側論理プロセッサ５０１の動作を示すシーケンスである。また図６は、図５の動作に関して、送信側論理プロセッサ５０１と受信側論理プロセッサ６０１との時刻進行状況を示す図である。
【００２９】
以下では、図５のシーケンスに沿って、図６を参照し、動作を説明する。
【００３０】
（外挿アルゴリズム）
ＤＩＳで規定されたＤｅａｄ  Ｒｅｃｋｏｎｉｎｇと同様に、処理の前提条件として、送信側論理プロセッサ５０１と受信側論理プロセッサ６０１との外挿処理部５０３（第１外挿処理を実行）と外挿処理部６０３（第２外挿処理を実行）とは、全く同一のアルゴリズムで外挿処理を行う。
【００３１】
（模擬処理部５０２）
その上で、送信側論理プロセッサ５０１では、模擬処理部５０２が移動体の模擬処理を実行し（ステップＳ１１）、その模擬処理の結果である模擬移動情報（模擬処理により得られた移動情報を模擬移動情報という場合がある）を、送信可否判定部５０４に送る。この例では、図６に示すように、模擬処理部５０２は、Ｓ１１において、現在時刻Ｔ０のときに、次の時刻である時刻Ｔ１における模擬移動情報を生成する。
【００３２】
（外挿処理部５０３）
それと同時に、外挿処理部５０３は、該当移動体の前の時刻における位置、進行方向、速度、加速度などから移動情報（時刻Ｔ１）の外挿処理（第１外挿処理：送信側の外挿処理）を行い（Ｓ１２）、時刻Ｔ１における外挿移動情報（外挿処理の結果得られた移動情報を、外挿移動情報という場合がある）を送信可否判定部５０４に送る。外挿アルゴリズムは、例えば図９に示したような、前の時刻の移動情報を用いた外挿アルゴリズムを用いる。
【００３３】
（送信可否判定部５０４）
送信可否判定部５０４は、まず同一時刻（時刻Ｔ１）における模擬処理された位置（模擬移動情報の一例）と外挿処理された位置（外挿移動情報の一例）とを比較（Ｓ１３ａ）し、予め設定された判定基準に従って、両者が一致するかどうかを判定する。例えば図１０で説明したような閾値による判定基準である。送信可否判定部５０４は、両者が一致しないと判定した場合は（Ｓ１３ａの不一致）、模擬移動情報を外部の受信側論理プロセッサ６０１に送信する必要があると判断し、分散シミュレーション基盤７００を介して模擬移動情報（時刻Ｔ１）を受信側論理プロセッサ６０１に送信する（Ｓ１３ｂ、Ｓ２１）。図６のＳ２１を付した時刻Ｔ０からＴ１に向かう矢印が、図５のＳ２１に相当する。また、送信可否判定部５０４は、同時に外挿処理部５０３に対して、模擬移動情報（時刻Ｔ１）を送信する（Ｓ１３ｃ）。一方、送信可否判定部５０４が模擬移動情報と外挿移動情報とが一致すると判定すると（Ｓ１３ａの一致の場合）、模擬処理部５０２及び外挿処理部５０３とは、次時刻「Ｔｉ＋１」の処理を実行する。この場合の次時刻の処理とは、図６において時刻Ｔｉに対する次の時刻Ｔｉ＋１（ｉ＝１，２，３，４等）を意味する。
【００３４】
（外挿処理部５０３）
外挿処理部５０３は、送信可否判定部５０４からの模擬移動情報（時刻Ｔ１）を基に、外挿処理に利用するパラメータを更新する（Ｓ１４）。パラメータの更新は、例えば図９に示した「ｔｉ、Ｐ（ｔｉ）、ｖ（ｔｉ）、ａ（ｔｉ）」等と同様である。さらに、外挿処理部５０３は、「予め設定された時刻進行幅から定まる論理時刻（将来時刻）」までの移動体の模擬移動情報（時刻Ｔ２〜Ｔ５）を模擬処理部５０２に要求（Ｓ１５）する。図６で説明する。外挿処理部５０３には、「予め設定された一定時間」として、時刻４きざみ（Ｔ１〜Ｔ５）ぶんの時刻進行幅である「Ｔ（進行）」が設定されている。図５のＳ１５において、外挿処理部５０３は、将来の移動情報として、「Ｔ１＋Ｔ（進行）」における時刻、すなわち時刻Ｔ５までの各時刻Ｔ２、Ｔ３、Ｔ４、Ｔ５における模擬移動情報を模擬処理部５０２に要求する。外挿処理部５０３は、模擬処理部５０２から、各時刻Ｔ２、Ｔ３、Ｔ４、Ｔ５における模擬移動情報を受信（Ｓ１７）する。外挿処理部５０３は、各時刻における模擬移動情報を受信すると、Ｓ１６で生成している各時刻Ｔ２、Ｔ３、Ｔ４、Ｔ５における外挿移動情報と、前記各時刻における模擬移動情報とを比較し、所定の基準に従って、時刻Ｔ２〜Ｔ５までの間で模擬処理結果（模擬移動情報）と外挿処理結果（外挿移動情報）とが一致しているかどうかを判定する（Ｓ１８）。判定基準は例えば図１０の場合と同じである。外挿処理部５０３は、一致していると判定すれば、その時刻（図６の例では時刻Ｔ５）を送信側論理プロセッサ５０１が次に進むべき「次時刻」として要求次時刻決定部５０５に出力する（Ｓ１８の一致）。なお、送信側論理プロセッサ５０１は、この「次時刻」までの模擬移動情報と外挿移動情報との比較を全ての移動体に関して実行する。
【００３５】
（要求次時刻決定部５０５）
要求次時刻決定部５０５は、外挿処理部５０３が出力した全ての移動体に関する「次時刻」と、模擬処理部５０２における更新間隔（図６における進行刻みである、Ｔ０〜Ｔ１の間隔）による次時刻のうち、一番小さい時刻を、送信側論理プロセッサ５０１の次時刻として分散シミュレーション基盤７００（論理時刻管理装置）に時刻進行要求を行う（Ｓ１９）。すなわち、要求次時刻決定部５０５は、Ｓ１８の判定処理において、不一致の判定がなければ時刻Ｔ１に対して「予め設定された時刻進行幅から定まる論理時刻」（将来時刻）である時刻Ｔ５を次時刻として分散シミュレーション基盤７００に時刻進行要求を送信する。一方、要求次時刻決定部５０５は、Ｓ１８の判定処理において不一致の判定があれば時刻Ｔ１に対して模擬処理部５０２における更新間隔だけ先の時刻Ｔ２を次時刻として分散シミュレーション基盤７００に時刻進行要求を送信する。
【００３６】
（分散シミュレーション基盤７００）
Ｓ２０において、分散シミュレーション基盤７００は、要求次時刻決定部５０５から受信した時刻進行要求に従って次時刻進行処理を実行する。分散シミュレーション基盤７００は、時刻Ｔ５（将来時刻）を次時刻とする時刻進行要求を受信した場合には、送信側論理プロセッサ５０１の時刻進行要求に従って、図６のように、「時刻の進行許可間隔」を時刻Ｔ１から時刻Ｔ５に延長する。したがって、受信側論理プロセッサ６０１の時刻の
進行許可も将来時刻Ｔ５まで延長される。これにより、
時刻進行回数を減らすことができる。すなわち、図６に示したように、Ｄｅａｄ−Ｒｅｃｋｏｎｉｎｇにより移動情報の送信が削除され、
且つ送信側論理プロセッサ５０１の時刻進行要求が将来時刻Ｔ５まで延びたことにより、受信側論理プロセッサ６０１の時刻の
進行許可も将来時刻Ｔ５まで延ばすことができ、結果として
時刻進行回数を減らすことができる。「時刻の進行許可間隔」が時刻Ｔ１から時刻Ｔ５に延長されることで、時刻Ｔ２、Ｔ３，Ｔ４
における同期処理が不要となり、処理の高速化を図ることができる。
【００３７】
（受信側論理プロセッサ６０１）
一方、受信側論理プロセッサ６０１では、受信処理部６０４が模擬移動情報を送信側論理プロセッサ５０１から受信していない間は、模擬処理部６０２が、外挿処理部６０３により該当移動体の外挿処理（第２外挿処理）された外挿移動情報を利用して前記移動体を含む模擬処理を実行する。
【００３８】
受信処理部６０４が移動情報（模擬）を受信した場合は、模擬処理部６０２は、その受信した模擬移動情報を利用して模擬処理を行うと共に、受信した模擬移動情報を外挿処理部６０３に送信する。
【００３９】
外挿処理部６０３は、この模擬移動情報を用いて、外挿処理（第２外挿処理）に利用するパラメータを更新する。パラメータの更新は、外挿処理部５０３の場合と同様である。
【００４０】
受信側論理プロセッサ６０１は、分散シミュレーション基盤７００の動作で述べたように、「時刻の進行許可間隔」が時刻Ｔ１から時刻Ｔ５に延長されるので、時刻Ｔ２、Ｔ３，Ｔ４における同期処理が不要となり、処理の高速化を図ることができる。
【００４１】
このように、移動体の移動情報を模擬処理結果（模擬移動情報）と外挿処理結果（外挿移動情報）とを比較して送信可否を決定すると共に、将来の時刻についても模擬処理結果と外挿処理結果とを比較することで要求次時刻を決定することにより、移動情報の送信回数と時刻進行回数を削減することができる。これにより、高速なシミュレーションを実行することが可能となる。
【００４２】
実施の形態２．
実施の形態１では、前の時刻の移動情報を用いて外挿処理を行う例を示した。実施の形態２では、シミュレーションに予めシナリオとして与えられる移動体の経路情報を用いる例を示す。この経路情報は、図５のステップＳ１６の外挿処理部５０３による外挿処理（第１外挿処理）において、外挿処理部５０３により使用される。
【００４３】
図７は、論理時刻に基づくシミュレーションにおいて設定される、移動体の経路情報の例である。一般的に、移動体の経路情報は、経路点の番号、論理時刻、位置情報などから構成される。図４に示した送信側論理プロセッサ５０１の外挿処理部５０３は、このような移動体の経路情報を用いて、図５のステップＳ１６の外挿処理を実行する。また、外挿処理部５０３は、この経路情報を用いることで、シミュレーションの開始時点においても将来の時刻における移動体の位置が予測可能であり、さらに論理時刻と位置の関係から速度や進行方向等も予測可能である。そのため、実施の形態１に比べて、開始時点における外挿が可能なことや、より確度の高い外挿を行うことが可能である。
【００４４】
このように、シミュレーションに予めシナリオとして与えられる移動体の経路情報を用いて外挿処理を行うことで、より確度の高い外挿を行うことが可能となる。
【００４５】
以上の実施の形態では、図４のように、分散シミュレーションシステム１０００、送信側論理プロセッサ５０１、受信側論理プロセッサ６０１を説明したが、送信側論理プロセッサ５０１の各構成要素の動作を処理と把握することにより、送信側論理プロセッサ５０１を模擬プログラムと把握することもできる。同様に、分散シミュレーションシステム１０００を各ステップと把握することにより、分散シミュレーションシステム１０００を分散シミュレーション方法と把握することも可能である。
【００４６】
以上の実施の形態１では、次の分散シミュレーションシステムを説明した。
論理時刻に基づいて移動体を模擬する分散シミュレーションシステムにおいて、
送信側論理プロセッサと受信側論理プロセッサとは、
移動体の位置、進行方向、速度、加速度、姿勢などの移動情報を、同じアルゴリズムによる外挿処理を行い、
送信側論理プロセッサは、
実際の移動体の模擬処理による模擬移動情報と外挿処理による外挿移動情報とが異なる場合にのみ模擬移動情報を受信側論理プロセッサに送信し、さらに将来の時刻についても模擬移動情報と外挿移動情報が一致するか否かを判定し、一致する場合にはその将来の時刻を次時刻として分散シミュレーション基盤に要求する時刻とする。これにより、移動情報の送信回数と論理時刻の進行回数を削減し、高速なシミュレーションを実行することが可能な分散シミュレーションシステムを提供できる。
【００４７】
以上の実施の形態２では、送信側論理プロセッサによる上記の移動体の移動情報の外挿処理（図５のＳ１６）においてシミュレーションシナリオに定義された移動体の経路情報を用いることにより、外挿する移動情報の精度をより高め、移動情報の送信回数と論理時刻の進行回数を削減する分散シミュレーションシステムを説明した。
【図面の簡単な説明】
【００４８】
【図１】実施の形態１の分散シミュレーションシステム１０００を実現するコンピュータシステムの外観を示す図。
【図２】実施の形態１の分散シミュレーションシステム１０００を複数のコンピュータで実現する場合の構成。
【図３】図１のコンピュータシステムのハードっウェア資源の一例。
【図４】実施の形態１の分散シミュレーションシステム１０００のシステム構成図。
【図５】実施の形態１の送信側論理プロセッサ５０１の動作を示すシーケンス図。
【図６】実施の形態１の送信側論理プロセッサ５０１と受信側論理プロセッサ６０１との時刻進行状況を示す図。
【図７】実施の形態２の経路情報を示す図。
【図８】従来技術のＤＩＳを示す図。
【図９】従来技術のＤＩＳにおける外挿アルゴリズムの例。
【図１０】従来技術のＤＩＳにおける模擬処理された位置と、外挿処理された位置の例。
【図１１】従来技術のＤＩＳのＤｅａｄ  Ｒｅｃｋｏｎｉｎｇを論理時刻を用いた分散シミュレーションに適用した例。
【符号の説明】
【００４９】
１０１  送信側論理プロセッサ、１０２  模擬処理部、１０３  外挿処理部、１０４  送信可否判定部、２０１  受信側論理プロセッサ、２０２  模擬処理部、２０３  外挿処理部、２０４  受信処理部、３００  ネットワーク、５０１  送信側論理プロセッサ、５０２  模擬処理部、５０３  外挿処理部、５０４  送信可否判定部、５０５  要求次時刻決定部、６０１  受信側論理プロセッサ、６０２  模擬処理部、６０３  外挿処理部、６０４  受信処理部、７００  分散シミュレーション基盤、１０００  分散シミュレーションシステム。
【図１】
2010020692.tif 000003
【図２】
2010020692.tif 000004
【図３】
2010020692.tif 000005
【図４】
2010020692.tif 000006
【図５】
2010020692.tif 000007
【図６】
2010020692.tif 000008
【図７】
2010020692.tif 000009
【図８】
2010020692.tif 000010
【図９】
2010020692.tif 000011
【図１０】
2010020692.tif 000012
【図１１】
2010020692.tif 000013