(57)【要約】【課題】論理プロセッサ間での模擬イベント交換頻度及び模擬データ転送量を削減することができ、システム全体としての処理速度を高速に保ち、且つ効率的な模擬処理を実行することができる分散シミュレーションシステムを提供する。【解決手段】模擬対象の種別及び模擬対象間の関連性を規定する模擬対象定義２と、模擬環境が設定された模擬空間を規定する模擬空間定義３と、模擬空間定義３にて規定される模擬空間を複数の領域に分割し、模擬対象定義２から互いに関連し合う挙動が模擬される模擬対象の組み合わせを求め、これら組み合わせに関連する領域ごとにその模擬処理を論理プロセッサ５−１〜５−ｎに分担する模擬分担部１とを備える。【選択図】        図１
2004348462.tif 000002
【特許請求の範囲】
【請求項１】
模擬処理を分担して実行する複数の論理プロセッサを備えた分散シミュレーションシステムにおいて、
模擬対象の種別及び模擬対象間の関連性を規定する模擬対象定義と、
模擬環境が設定された模擬空間を規定する模擬空間定義と、
上記模擬空間定義にて規定される模擬空間を複数の領域に分割し、上記模擬対象定義に基づいて互いに関連し合う挙動が模擬される模擬対象の組み合わせを求め、これら組み合わせに関連する領域ごとにその模擬処理を上記論理プロセッサに分担する模擬分担部と
を備えたことを特徴とする分散シミュレーションシステム。
【請求項２】
模擬分担部は、
模擬対象定義に規定される関連する模擬対象間の模擬処理内容に基づいて模擬実行時に模擬対象間で交換される模擬イベントの交換頻度を見積もるイベント交換頻度算出部と、
模擬対象定義に規定される関連する模擬対象間の模擬処理内容に基づいて模擬実行時に模擬対象間で交換される模擬データの転送量を見積もるデータ転送量算出部と、
上記模擬イベントの交換頻度及び上記模擬データの転送量と予め定めた閾値との比較結果に基づいて、互いに関連し合う挙動が模擬される模擬対象の組み合わせを判別し、これら組み合わせに関連する領域ごとに論理プロセッサに分担すべき模擬処理を決定し分担する模擬分担決定部と
を備えたことを特徴とする請求項１記載の分散シミュレーションシステム。
【請求項３】
模擬実行時の論理プロセッサの演算負荷の度合をモニタする負荷モニタ部と、各論理プロセッサ間を接続するネットワーク上の通信状況をモニタする通信状況モニタ部とを備え、
模擬分担決定部は、上記演算負荷の度合及び上記通信状況に応じて模擬処理を分担すべき論理プロセッサを決定すると共に、模擬実行時における上記演算負荷の度合及び／又は上記通信状況の変化量と閾値との比較結果に応じて上記論理プロセッサに対する模擬処理の分担処理を繰り返し実行することを特徴とする請求項２記載の分散シミュレーションシステム。
【請求項４】
模擬分担部は、模擬空間定義に規定される模擬空間を模擬対象が個々に設定された所定の座標範囲で規定される領域範囲ごとに認識し、上記各領域範囲において同一座標値で規定される領域に関連する模擬対象同士を互いに関連し合う挙動が模擬される模擬対象の組み合わせとして求め、これら組み合わせの模擬処理ごとに上記論理プロセッサを分担することを特徴とする請求項１記載の分散シミュレーションシステム。
【請求項５】
模擬分担部は、模擬空間定義に規定される模擬空間を模擬環境の種別に応じて各模擬環境が個々に模擬される領域範囲ごとに認識し、上記各領域範囲において同一座標値で規定される領域に関連する模擬対象同士を互いに関連し合う挙動が模擬される模擬対象の組み合わせとして求め、これら組み合わせの模擬処理ごとに上記論理プロセッサを分担することを特徴とする請求項１記載の分散シミュレーションシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、訓練用シミュレーション、計画・予測・解析用シミュレーションなど、様々な用途のシミュレーションを実行する分散シミュレーションシステムに係り、特に地形、地勢、大気や気象などに代表される任意の模擬環境を模擬対象として分散処理する分散シミュレーションシステムに関するものである。
【０００２】
【従来の技術】
模擬環境を模擬対象として扱う従来の分散シミュレーションシステムとしては、例えば非特許文献１に開示されるものがある。図５は非特許文献１に開示された分散シミュレーションシステムの構成を示す図である。当該分散シミュレーションシステムは、ネットワーク１０５を介して互いに情報のやり取りが可能な機能部１００〜１０４によって構成される。
【０００３】
ＤＴＳｉｍ１００は、例えば地面や路面などの模擬空間における地形や地勢を模擬する機能部である。ＤＴＳｃｒｉｂｅ１０１は、ＤＴＳｉｍ１００、ＤＴＲｅｐｏｌｙ１０３やＪＳＡＦ１０４などがやり取りする情報を中継する機能部である。ＭｏｄＳｔｅａｌｔｈ１０２は、ＤＴＳｉｍ１００やＪＳＡＦ１０４が模擬した状況を３次元的に表示する機能部である。
【０００４】
ＤＴＲｅｐｏｌｙ１０３は、ＤＴＳｉｍ１００が模擬している地面や路面などの状況を表示するための表示用モデルなどを変更する必要が生じた場合、当該モデルの変更処理を実行する機能部である。ＪＳＡＦ１０４は、ＤＴＳｉｍ１００やＤＴＲｅｐｏｌｙ１０３から得た情報に基づいて車両や航空機などの運動を模擬する機能部である。また、ＪＳＡＦ１０４は、車両や航空機などの模擬対象が地面や路面に影響を及ぼすと、当該影響に関する情報をＤＴＳｉｍ１００に対して発信する。
【０００５】
前述したＤＴＳｉｍ１００、ＤＴＳｃｒｉｂｅ１０１、ＭｏｄＳｔｅａｌｔｈ１０２、ＤＴＲｅｐｏｌｙ１０３及びＪＳＡＦ１０４は、処理対象のシミュレーションプログラムを地形や地勢などの特定の模擬対象に応じて分割したり、模擬結果の表示処理や模擬処理中に発生する情報の通信処理などの処理内容に応じて分割したものを複数の論理プロセッサにそれぞれ実行させることで具現化される。
【０００６】
次に動作について説明する。
例えば、模擬空間における地表面で爆発が起こり、クレータができるという状況を模擬する場合を考える。先ず、爆発という現象は、ＪＳＡＦ１０４によって模擬される。具体的には、ＪＳＡＦ１０４は、模擬空間におけるある地点で爆発が発生したというイベントを模擬し、爆発状況に関する模擬結果と模擬を行った爆発に関する情報（例えば、爆発力などのパラメータ）を他の機能部に通知する。
【０００７】
ここで、ＤＴＳｉｍ１００では、ＪＳＡＦ１０４から模擬対象である爆発についての情報、例えば当該爆発が発生した地点やその爆発力、爆発発生地点の地質に関する情報などを受信して、これらを基にして当該爆発の結果として地表面に形成されるクレータの大きさや深さなどを計算する。そして、ＤＴＳｉｍ１００は、当該爆発が発生した地表面に関する情報である変更通知イベントとクレータに関する計算結果とをＤＴＳｃｒｉｂｅ１０１に送信する。
【０００８】
ＤＴＳｃｒｉｂｅ１０１では、ＤＴＳｉｍ１００から受信した地表面情報の変更通知イベントの確認を行い、当該地表面情報の変更通知イベントをＭｏｄＳｔｅａｌｔｈ１０２、ＤＴＲｅｐｏｌｙ１０３及びＪＳＡＦ１０４に通知する。さらに、ＤＴＳｃｒｉｂｅ１０１は、ＤＴＲｅｐｏｌｙ１０３に対してクレータに関する計算結果を送信する。
【０００９】
ＤＴＲｅｐｏｌｙ１０３は、ＤＴＳｃｒｉｂｅ１０１から受信した地表面情報の変更通知イベント及びクレータの計算結果に基づいて、変更すべき地表面のシミュレーション状況表示などに利用する３次元多角形情報を計算する。このあと、ＤＴＲｅｐｏｌｙ１０３は、上記地表面に関する３次元多角形情報の変更通知イベントと３次元多角形情報の計算結果とをＤＴＳｃｒｉｂｅ１０１に送信する。
【００１０】
ＤＴＳｃｒｉｂｅ１０１は、ＤＴＲｅｐｏｌｙ１０３から受信した３次元多角形情報の変更通知イベントの確認を行い、当該３次元多角形情報の変更通知イベントをＭｏｄＳｔｅａｌｔｈ１０２、ＤＴＲｅｐｏｌｙ１０３及びＪＳＡＦ１０４に通知する。さらに、ＤＴＳｃｒｉｂｅ１０１は、ＭｏｄＳｔｅａｌｔｈ１０２に対して地表面情報の変更通知イベント及び３次元多角形情報の計算結果を送信する。
【００１１】
ＭｏｄＳｔｅａｌｔｈ１０２は、ＤＴＳｃｒｉｂｅ１０１から受信した地表面情報の変更通知イベント、３次元多角形情報の変更通知イベント及び３次元多角形情報の計算結果に基づいて、自身が表示すべき３次元的な状況表示の更新を行う。さらに、ＪＳＡＦ１０４では、ＤＴＳｃｒｉｂｅ１０１から受信した地表面情報の変更通知イベント及び３次元多角形情報の変更通知イベントに基づいて、自身が模擬対象とする車両や航空機などの運動を模擬する際に必要なデータの更新を行う。このようにして、模擬環境における地表面で爆発が起こり、クレータができるという状況が模擬される。
【００１２】
【非特許文献１】
Ｄｙｎａｍｉｃ  Ｔｅｒｒａｉｎ  ｉｎ  ｔｈｅ  Ｅｎｖｉｒｏｎｍｅｎｔ  Ｆｅｄｅｒａｔｉｏｎ  （論文番号：００Ｓ−ＳＩＷ−１１５），Ｓｉｍｕｌａｔｉｏｎ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  Ｗｏｒｋｓｈｏｐ（ＳＩＷ）  、インターネット＜ＵＲＬ；ｈｔｔｐ：／／ｗｗｗ．ｓｉｓｏｓｔｄｓ．ｏｒｇ／ｄｏｃｌｉｂ／ｄｏｃｌｉｂ．ｃｆｍ？ＳＩＳＯ＿ＣＩＤ＿７０＞
【００１３】
【発明が解決しようとする課題】
上述したように、非特許文献１に示す従来の分散シミュレーションシステムでは、地表面、車両や航空機などの模擬を実行する対象に応じてシミュレーションプログラムを分割し、分割した個々のプログラムを複数の論理プロセッサ上で実行している。しかしながら、模擬を実行する対象に応じてシミュレーションプログラムを分割すると、分割した個々のプログラムを実行する論理プロセッサ間で頻繁にデータをやり取りする必要がある。このため、論理プロセッサ間で大きなサイズのデータをやり取りする必要がある場合や、データ交換頻度が非常に高い場合などでは、システム全体として当該シミュレーションを高速に処理することが困難になるという課題があった。
【００１４】
例えば、地表面のような模擬環境と車両や航空機などの移動する模擬物体とでは、互いに関連しあうデータを常にやり取りする必要がある。このため、これらに対応するプログラムを実行する論理プロセッサ間では、データ交換頻度が非常に高くなり、やり取りすべきデータ量も膨大なものとなる。
【００１５】
また、模擬対象とされた地表面が非常に広範囲であったり、模擬対象とすべき車両や航空機などの物体が非常に多数であると、これらに対応した特定のプログラムの負荷が高くなってしまう。従って、負荷の大きいプログラムに係る処理に応じた速度となり、システム全体として処理速度が落ちてしまうという課題があった。
【００１６】
この発明は上記課題を解決するためになされたもので、模擬対象に応じて分割したシミュレーションプログラムを複数の論理プロセッサで分散処理するにあたり、論理プロセッサ間での模擬イベント交換頻度及び模擬データ転送量を削減することができ、システム全体としての処理速度を高速に保ち、且つ効率的な模擬処理を実行することができる分散シミュレーションシステムを得ることを目的とする。
【００１７】
【課題を解決するための手段】
この発明に係る分散シミュレーションシステムは、模擬対象の種別及び模擬対象間の関連性を規定する模擬対象定義と、模擬環境が設定された模擬空間を規定する模擬空間定義と、模擬空間定義にて規定される模擬空間を複数の領域に分割し、模擬対象定義から互いに関連し合う挙動が模擬される模擬対象の組み合わせを求め、これら組み合わせに関連する領域ごとにその模擬処理を論理プロセッサに分担する模擬分担部とを備えるものである。
【００１８】
【発明の実施の形態】
実施の形態１．
本実施の形態１による分散シミュレーションシステムでは、模擬空間で実現させるべき環境を特定する情報（模擬環境情報）である模擬空間の地形、地勢、大気や気象などを模擬対象とする。従来のシステムと異なる点として、本分散シミュレーションシステムでは、模擬空間を複数の領域に分割し、当該模擬空間で模擬すべき環境（模擬環境）の模擬処理や当該環境の挙動を参照する模擬物体の模擬処理を、これらに関連する領域ごとに複数の論理プロセッサで分担して実行する。これにより、論理プロセッサ間のイベント交換頻度とデータ転送量の削減を実現し、高速で効率的なシミュレーションを実行することができる。
【００１９】
図１はこの発明の実施の形態１による分散シミュレーションシステムの構成を示す図である。本分散シミュレーションシステムは、模擬対象定義２や模擬空間定義３を適宜参照可能な模擬分担部１と論理プロセッサ５−１〜５−ｎとがネットワーク４を介して接続された構成を有する。模擬分担部１は、任意の模擬環境の模擬処理や当該模擬環境の挙動を参照する任意の模擬物体の模擬処理を、複数の論理プロセッサ５−１〜５−ｎ（ｎは正の整数）にそれぞれ割り付けて分担処理させる機能部である。
【００２０】
模擬対象定義２は、本分散シミュレーションシステムの模擬対象を特定する情報を格納した記憶部であり、模擬分担部１が論理プロセッサ５−１〜５−ｎに模擬処理を分担割付する際に参照される。ここで、模擬対象を特定する情報としては、模擬環境や模擬物体の種別情報及び模擬対象関連情報がある。
【００２１】
模擬環境の種別情報とは、模擬空間の模擬環境種別を特定させる情報であり、例えば地形、地勢、大気や気象などの模擬環境を識別する。また、模擬物体の種別情報とは、模擬対象とする模擬物体の種別を特定させる情報であり、例えば模擬環境以外の車両や航空機などの模擬物体を識別する。さらに、模擬対象関連情報は、模擬環境同士の関連性や模擬環境と模擬物体との関連性を定義した情報であり、例えばどの模擬環境でどの模擬物体の模擬処理を実行するかなどの情報、あるいは、模擬環境や模擬物体に関するモジュール間でデータのやり取りを行うプログラムがいくつあるかなどの処理対象のシミュレーションプログラムの解析結果などがある。
【００２２】
模擬空間定義３は、本分散シミュレーションシステムに対して模擬環境情報で規定された模擬空間を特定させる情報を格納した記憶部であり、模擬分担部１が論理プロセッサ５−１〜５−ｎに模擬処理を分担割付する際に参照される。模擬空間を特定させる情報としては、模擬空間で実現させるべき環境に関する情報があり、模擬環境に関するある連続的な数値による座標軸の組み合わせにより表現される。
【００２３】
具体的には、模擬空間内の領域に対する地理的範囲を特定させる情報があり、例えば模擬空間に規定した緯度や経度などの座標データがある。また、模擬空間内の領域を高度的範囲で特定させる情報があり、例えば宇宙、大気中、地表、地中、海面や海中などを座標データで規定した情報がある。さらに、模擬空間内に規定された模擬環境の種別を特定させる情報があり、例えば地形、地勢、大気や気象などを識別する。この他、前述した地理的範囲、高度的範囲や模擬環境種別に関する情報を任意に組み合わせて模擬空間を多元的に規定する情報なども模擬空間定義に含まれる。
【００２４】
論理プロセッサ５−１〜５−ｎは、任意の模擬環境の模擬処理や当該模擬環境の挙動を参照する任意の模擬物体の模擬処理を分担実行する。これら論理プロセッサ５−１〜５−ｎには、本システムが模擬対象とする模擬環境や任意の模擬物体について模擬処理するため個々の分散シミュレーションプログラムが予め設定されている。
【００２５】
図２は図１中の模擬分担部の内部構成を示すブロック図である。模擬分担部１は、模擬イベント交換頻度算出部６、模擬データ転送量算出部７、論理プロセッサ負荷モニタ部８、ネットワーク状況モニタ部９及び模擬分担決定部１０から構成される。模擬イベント交換頻度算出部（イベント交換頻度算出部）６は、模擬対象定義２に格納された情報に基づいて、模擬実行時に関連し合う模擬環境同士や関連し合う模擬環境と模擬物体との間で交換される模擬イベントの交換頻度を見積もる。模擬データ転送量算出部（データ転送量算出部）７は、模擬対象定義２に格納された情報に基づいて、模擬実行時に関連し合う模擬環境同士や関連し合う模擬環境と模擬物体との間で交換される模擬データの転送量を見積もる。
【００２６】
論理プロセッサ負荷モニタ部（負荷モニタ部）８は、模擬実行時における論理プロセッサ５−１〜５−ｎの負荷情報をモニタする。ネットワーク状況モニタ部（通信状況モニタ部）９は、本システムが利用するデータ通信の帯域幅や模擬実行時におけるネットワーク４上の各ノード間での通信遅延の度合などのネットワーク４を介した通信状況に関する情報をモニタする。
【００２７】
模擬分担決定部１０は、模擬イベント交換頻度算出部６によって見積もられた模擬イベント交換頻度、模擬データ転送量算出部７によって見積もられた模擬データ転送量、論理プロセッサ負荷モニタ部８がモニタした論理プロセッサ５−１〜５−ｎの負荷情報、ネットワーク状況モニタ部９がモニタしたネットワーク４を介した通信状況に関する情報及び模擬空間定義３から読み出した模擬空間を特定させる情報を基にして、論理プロセッサ５−１〜５−ｎに分担すべき模擬環境や模擬物体についての模擬処理を決定する。
【００２８】
模擬分担部１は、模擬イベント交換頻度算出部６、模擬データ転送量算出部７、論理プロセッサ負荷モニタ部８、ネットワーク状況モニタ部９及び模擬分担決定部１０の機能を持たせたプログラムを単一の計算機に実行させて実現しても良く、上記構成部６〜１０の機能を持たせたプログラムを複数の計算機にそれぞれ実行させて実現しても良い。なお、図１と同一構成要素には同一符号を付して重複する説明を省略する。
【００２９】
次に動作について説明する。
模擬分担部１は、処理対象のシミュレーションプログラムによる模擬を実行するにあたり、模擬対象定義２と模擬空間定義３を参照して、当該プログラムで模擬される模擬空間における模擬環境や模擬物体についての模擬処理を論理プロセッサ５−１〜５−ｎに分担する。ここで、模擬対象定義２には、上記処理対象のシミュレーションプログラムにより模擬される模擬環境や模擬物体の種別情報、模擬環境同士や模擬環境と模擬物体との間の関連性を定義した模擬対象関連情報が格納される。一方、模擬空間定義３には、上記処理対象のシミュレーションプログラムにより模擬される模擬空間を特定させる情報が格納される。
【００３０】
具体的に説明すると、先ず、模擬分担部１内の模擬イベント交換頻度算出部６が、模擬対象定義２から読み出した模擬環境や模擬物体の種別情報を基にして、模擬対象とする模擬環境や模擬物体の種別を特定する。続いて、模擬対象定義２から読み出した模擬対象関連情報を基にして、上記処理対象のシミュレーションプログラムにより模擬される模擬環境や模擬物体について、模擬環境同士や模擬環境と模擬物体との間の関連性を把握する。次に、模擬イベント交換頻度算出部６は、上記処理対象のシミュレーションプログラムによる模擬を実行した際に模擬環境同士や模擬環境と模擬物体との間で交換されるであろう模擬イベントの単位時間あたりの数を見積もってその交換頻度を算出する。当該模擬イベント交換頻度は、模擬イベント交換頻度算出部６から模擬分担決定部１０に出力される。
【００３１】
また、模擬データ転送量算出部７は、模擬イベント交換頻度算出部６と同様に、模擬対象定義２から読み出した模擬環境や模擬物体の種別情報を基にして、模擬対象とする模擬環境や模擬物体の種別を特定する。続いて、模擬対象定義２から読み出した模擬対象関連情報を基にして、上記処理対象のシミュレーションプログラムにより模擬される模擬環境や模擬物体について、模擬環境同士や模擬環境と模擬物体との間の関連性を把握する。次に、模擬データ転送量算出部７は、上記処理対象のシミュレーションプログラムによる模擬を実行した際に、模擬環境同士や模擬環境と模擬物体との間で交換されるであろう模擬イベントに含まれる模擬データの転送量を算出する。当該模擬データの転送量は、模擬データ転送量算出部７から模擬分担決定部１０に出力される。
【００３２】
一方、論理プロセッサ負荷モニタ部８は、上記処理対象のシミュレーションプログラムの実行中、定期的に各論理プロセッサ５−１〜５−ｎにアクセスしてその負荷状況をモニタする。また、ネットワーク状況モニタ部９も、上記処理対象のシミュレーションプログラムの実行中、定期的にネットワーク４上の各ノードにアクセスしてその通信状況（例えば、通信帯域幅やノード間の通信遅延）をモニタする。なお、模擬分担決定部１０による模擬処理の分担前の段階においては、論理プロセッサ負荷モニタ部８及びネットワーク状況モニタ部９は、予め設定された負荷状況及び通信状況のデフォルト値を模擬分担決定部１０に出力する。
【００３３】
次に、模擬分担決定部１０は、模擬処理を分担する前に、模擬空間定義３に基づいて模擬空間を複数の領域に分割する。このあと、模擬分担決定部１０は、入力した模擬イベント交換頻度、模擬データ転送量、論理プロセッサ５−１〜５−ｎの負荷情報、ネットワーク４を介した通信状況に関する情報及び模擬空間定義３を用いて、以下のルールに従って模擬対象を総合的に判断し、模擬環境を含む模擬対象同士の模擬イベント交換頻度や模擬データ転送量が高くなると予想される模擬対象の組み合わせを決定する。
【００３４】
１．ある模擬対象Ａ，Ｂについて、これらの間での模擬イベント交換頻度が、模擬分担決定部１０に予め設定しておいた交換頻度に関する閾値よりも高い場合、模擬対象Ａ，Ｂについての模擬処理を同一の論理プロセッサに割り当てる。
２．ある模擬対象Ａ，Ｂについて、これらが属する模擬空間内の領域が、例えば同一の模擬環境にて規定されているなど、同種のものであり、模擬空間内の位置も近接している場合、模擬対象Ａ，Ｂについての模擬処理を同一の論理プロセッサに割り当てる。
３．ある模擬対象Ａ，Ｂについて、これらの間での模擬データ転送量が、模擬分担決定部１０に予め設定しておいたデータ転送量に関する閾値よりも高い場合、模擬対象Ａ，Ｂについての模擬処理を同一の論理プロセッサに割り当てる。
４．論理プロセッサの負荷状況が、模擬分担決定部１０に予め設定しておいた負荷状況に関する閾値よりも高い場合、当該論理プロセッサに対して新規の模擬処理を割り当てない。
５．ネットワークを介した通信状況情報が、模擬分担決定部１０に予め設定しておいた通信状況に関する閾値を超える場合、４．のルールの優先度を下げて論理プロセッサに対して新規の模擬処理を割り当てる。ここで、ネットワークを介した通信状況情報としては、通信帯域幅やノード間の通信遅延がある。この場合、ネットワーク状況モニタ部９から入力した通信帯域幅が、模擬分担決定部１０に予め設定しておいた閾値よりも帯域幅が狭く、あるいは、ネットワーク状況モニタ部９から入力したノード間の通信遅延が、予め設定しておいた閾値よりも通信遅延が増大している場合、論理プロセッサに対して新規の模擬処理が割り当てられる。
【００３５】
続いて、模擬分担決定部１０は、上述のようにして決定した模擬対象の組み合わせを模擬空間の各領域ごとに関連付けて、論理プロセッサ５−１〜５−ｎに分担させるべき模擬処理を決定する。論理プロセッサ５−１〜５−ｎは、模擬分担決定部１０によって模擬処理が分担されると、自己に割り当てられた模擬処理の実行を開始する。
【００３６】
また、この模擬処理の実行中、論理プロセッサ負荷モニタ部８が定期的にモニタした論理プロセッサ５−１〜５−ｎの負荷状況に関する情報やネットワーク状況モニタ部９が定期的にモニタした通信状況に関する情報は、模擬分担決定部１０に逐一出力される。ここで、模擬分担決定部１０は、論理プロセッサ５−１〜５−ｎの負荷状況、あるいは、ネットワーク４を介した通信状況に変化が生じて、これらの変化量が予め設定しておいた閾値よりも高くなると、上述したルールに従って模擬処理の分担を再度実行する。これにより、上記処理対象のシミュレーションプログラムによる模擬処理の実行状況に応じた模擬処理が論理プロセッサ５−１〜５−ｎに割り付けられることとなる。
【００３７】
以上のように、この実施の形態１によれば、任意の模擬環境を扱うシミュレーションにおいて、模擬空間を複数の領域に分割し、模擬環境の模擬処理や模擬環境の挙動を参照する任意の模擬物体の模擬処理を関連する領域ごとに論理プロセッサ５−１〜５−ｎに分担し実行させるので、模擬環境や模擬物体などの模擬対象について模擬イベント交換頻度と模擬データ転送量が高くなると予想される組み合わせが同一の論理プロセッサに割り当てられる。このため、論理プロセッサ間における模擬イベント交換頻度と模擬データ転送量を削減することができ、高速で効率的な処理を実現することができる。
【００３８】
実施の形態２．
本実施の形態２は、模擬空間を緯度や経度などで地理的範囲ごとに規定するものである。基本的なハードウェア構成は、上記実施の形態１と同様であるので、本実施の形態に特有な処理について以下に説明する。
【００３９】
図３は地理的範囲で規定した模擬空間を示す図であり、複数の模擬対象ごとに関連付けた地理的範囲を示している。模擬対象である自動車、気象、道路及び地形は、同一緯度・経度で規定される地理的範囲（領域範囲）１１〜１４にそれぞれ属している。各地理的範囲１１〜１４間を結んだ破線で規定される領域（図中、斜線を付した領域）は、同一緯度・経度で規定される領域である。各地理的範囲１１〜１４の同一領域を結んだ空間１５，１６は、上記実施の形態１で説明した、当該領域において関連し合う挙動が模擬される模擬環境（気象、道路及び地形）とこの模擬環境の挙動を参照する模擬物体である自動車とからなる模擬対象の組み合わせであって、模擬イベント交換頻度や模擬データ転送量が高くなると予想されるものに相当する。
【００４０】
模擬分担決定部１０は、各地理的範囲１１〜１４において同一の緯度・経度で規定される領域ごとに上記空間１５，１６で示されるような模擬対象の組み合わせを求め、上記実施の形態１で説明した手順に従って、これらの模擬処理を上記領域ごとに論理プロセッサ５−１〜５−ｎに分担させる。そして、論理プロセッサ５−１〜５−ｎは、自己に割り当てられた空間１５，１６で規定されるような模擬対象の組み合わせについて模擬処理をそれぞれ実行する。
【００４１】
以上のように、この実施の形態２によれば、複数の模擬対象をそれぞれ関連付けた同一緯度・経度の地理的範囲１１〜１４で模擬空間を規定すると共に、各地理的範囲１１〜１４を複数の領域に分割し、各地理的範囲１１〜１４において同一の緯度・経度で規定される領域ごとに模擬イベント交換頻度や模擬データ転送量が高くなると予想される模擬対象の組み合わせを求めて、これら模擬対象の組み合わせについての模擬処理を上記領域ごとに論理プロセッサ５−１〜５−ｎに分担するので、同じ地理的範囲内で最も模擬イベント交換頻度と模擬データ転送量が高くなるような模擬対象の組み合わせについての模擬処理を図３に示した空間１５，１６のようなプロセス空間内に限定することができる。このため、論理プロセッサ間における模擬イベント交換頻度と模擬データ転送量を削減することができ、高速で効率的な処理を実現することができる。
【００４２】
実施の形態３．
本実施の形態３は、模擬空間を地形、地勢、大気や気象などの模擬環境種別ごとに規定するものである。基本的なハードウェア構成は、上記実施の形態１と同様であるので、本実施の形態に特有な処理について以下に説明する。
【００４３】
図４は模擬環境種別ごとに規定した模擬空間を示す図であり、模擬環境である気象、道路及び地形がそれぞれ模擬される領域範囲ごとに模擬空間を規定している。領域１７，１８は、移動体である自動車、航空機の挙動がそれぞれ模擬される模擬空間内の領域を示している。模擬環境種別のうち気象が模擬される領域範囲１９は、全地理的範囲を包括する範囲で規定される。これは、気象が模擬空間内で規定されるどの地理的範囲においても模擬することができるからである。また、模擬環境種別のうち道路が模擬される領域範囲２０は、道路を設定する領域に相当する地理的範囲で規定される。模擬環境種別のうち地形が模擬される領域範囲２１は、全地理的範囲を包括する範囲で規定される。これは、地形が模擬空間内で規定されるどの地理的範囲においても模擬することができるからである。
【００４４】
領域１７と各領域範囲１９〜２１を結んだ破線で規定される領域（図中、斜線を付した領域）は、同一緯度・経度で規定される領域である。領域１７と各領域範囲１９〜２１の同一領域を結んだ空間２２は、上記実施の形態１で説明した、当該領域において関連し合う挙動が模擬される模擬環境（気象、道路及び地形）とこの模擬環境の挙動を参照する模擬物体である自動車とからなる模擬対象の組み合わせであって、模擬イベント交換頻度や模擬データ転送量が高くなると予想されるものに相当する。
【００４５】
一方、領域１８と各領域範囲１９，２１を結んだ破線で規定される領域（図中、斜線を付した領域）も、同一緯度・経度で規定される領域である。領域１８と各領域範囲１９，２１の同一領域を結んだ空間２３は、上記実施の形態１で説明した、当該領域において関連し合う挙動が模擬される模擬環境（気象、道路及び地形）とこの模擬環境の挙動を参照する模擬物体である航空機とからなる模擬対象の組み合わせであって、模擬イベント交換頻度や模擬データ転送量が高くなると予想されるものに相当する。
【００４６】
このように、模擬分担決定部１０は、模擬対象である自動車、航空機、気象、道路及び地形を１つの論理プロセッサ上で模擬実行される可能性のある組み合せに応じて領域ごとに分割する。例えば、図４に示す領域分割の状況では、自動車と航空機が模擬される領域１７，１８は、位置的に互いに重なり合う部分がない。この場合、模擬分担決定部１０は、自動車と航空機の模擬処理を１つの論理プロセッサに実行させず、異なる論理プロセッサに分担させる。一方、気象と地形が模擬される領域範囲１９，２１では、位置的にどの部分でも重なり合っている。この場合、模擬分担決定部１０は、気象と地形の模擬処理を１つの論理プロセッサに実行させる。
【００４７】
模擬分担決定部１０は、模擬物体が模擬される領域１７，１８と模擬環境の種別によって規定した領域範囲１９〜２１との位置的に重なり合う部分を判断基準として、上記空間２２，２３で示されるような模擬対象の組み合わせを求める。そして、上記実施の形態１で説明した手順に従って、これら組み合わせの模擬処理を上記領域ごとに論理プロセッサ５−１〜５−ｎに分担させる。このあと、論理プロセッサ５−１〜５−ｎは、自己に割り当てられた空間２２，２３で規定されるような模擬対象の組み合わせについて模擬処理をそれぞれ実行する。
【００４８】
この実施の形態３では、模擬空間を模擬対象種別ごとの領域に分割し、模擬を実行する領域が重なる模擬対象についての模擬処理を１つの論理プロセッサに割り付けるので、関連性が高く最も模擬イベント交換頻度と模擬データ転送量が高くなるような模擬対象の組み合わせについての模擬処理を図４に示した空間２２，２３のようなプロセス空間内に限定することができる。このため、論理プロセッサ間における模擬イベント交換頻度と模擬データ転送量を削減することができ、高速で効率的な処理を実現することができる。
【００４９】
なお、上記実施の形態１から上記実施の形態３まででは、模擬イベント交換頻度と模擬データ転送量の見積もり値から、模擬実行時に処理が過密になる模擬対象の組み合わせを求めたが、これに限定されるものではなく、この他の基準であっても模擬実行時に処理が過密になる模擬対象の組み合わせが推定できるものであれば良い。
【００５０】
【発明の効果】
以上のように、この発明によれば、模擬対象の種別及び模擬対象間の関連性を規定する模擬対象定義と、模擬環境が設定された模擬空間を規定する模擬空間定義と、模擬空間定義にて規定される模擬空間を複数の領域に分割し、模擬対象定義から互いに関連し合う挙動が模擬される模擬対象の組み合わせを求め、これら組み合わせに関連する領域ごとにその模擬処理を論理プロセッサに分担する模擬分担部とを備えたので、模擬環境や模擬物体などの模擬対象について模擬イベント交換頻度と模擬データ転送量が高くなると予想される組み合わせを同一の論理プロセッサに割り当てることができることから、論理プロセッサ間における模擬イベント交換頻度と模擬データ転送量を削減することができ、高速で効率的な処理を実現することができるという効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１による分散シミュレーションシステムの構成を示す図である。
【図２】図１中の模擬分担部の内部構成を示すブロック図である。
【図３】地理的範囲で規定した模擬空間を示す図である。
【図４】模擬環境種別ごとに規定した模擬空間を示す図である。
【図５】非特許文献１に開示された分散シミュレーションシステムの構成を示す図である。
【符号の説明】
１  模擬分担部、２  模擬対象定義、３  模擬空間定義、４  ネットワーク、５−１〜５−ｎ  論理プロセッサ、６  模擬イベント交換頻度算出部（イベント交換頻度算出部）、７  模擬データ転送量算出部（データ転送量算出部）、８  論理プロセッサ負荷モニタ部（負荷モニタ部）、９  ネットワーク状況モニタ部（通信状況モニタ部）、１０  模擬分担決定部、１１〜１４  地理的範囲（領域範囲）、１５，１６，２２，２３  空間、１７，１８  領域、１９〜２１  領域範囲。
【図１】
2004348462.tif 000003
【図２】
2004348462.tif 000004
【図３】
2004348462.tif 000005
【図４】
2004348462.tif 000006
【図５】
2004348462.tif 000007