JP2002140207A - 分散シミュレーションシステムおよび分散シミュレーション制御方法 - Google Patents

分散シミュレーションシステムおよび分散シミュレーション制御方法

Info

Publication number
JP2002140207A
JP2002140207A JP2000333232A JP2000333232A JP2002140207A JP 2002140207 A JP2002140207 A JP 2002140207A JP 2000333232 A JP2000333232 A JP 2000333232A JP 2000333232 A JP2000333232 A JP 2000333232A JP 2002140207 A JP2002140207 A JP 2002140207A
Authority
JP
Japan
Prior art keywords
simulator
data
simulation
event
distributed simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000333232A
Other languages
English (en)
Inventor
Shoichi Furuichi
昌一 古市
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000333232A priority Critical patent/JP2002140207A/ja
Publication of JP2002140207A publication Critical patent/JP2002140207A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 シミュレータ間のデータ通信の効率が良好で
はなかった。 【解決手段】 各シミュレータ1は、他のシミュレータ
宛のシミュレーションデータを送受信装置2に供給す
る。送受信装置2は、そのシミュレーションデータを大
域データと局所データとに分類し、大域データを分散シ
ミュレーション制御装置3に送信し、他のシミュレータ
1を宛先として局所データを送信する。分散シミュレー
ション制御装置3は、その大域データに基づいて局所デ
ータの制御情報をシミュレータ1毎に計算して送受信装
置2に送信し、送受信装置2は、局所データおよび制御
情報を受信し、その制御情報に基づいて、受信した局所
データをシミュレータ1に転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、複数のシミュレ
ータと、分散シミュレーション制御装置とシミュレータ
との間、およびシミュレータ間でシミュレーションデー
タを送受する送受信装置と、複数のシミュレータにより
実行されるシミュレーションを制御する分散シミュレー
ション制御装置とを備える分散シミュレーションシステ
ム、およびその分散シミュレーションシステムにおいて
シミュレーションを制御する分散シミュレーション制御
方法に関するものである。
【0002】
【従来の技術】図10は、例えば特開平11−2128
18号公報に記載の従来の分散シミュレーションシステ
ム(1)の構成を示すブロック図である。図10におい
て、201a〜201cは例えば艦船や航空機、セン
サ、信号処理アルゴリズムなどを模擬するシミュレータ
であり、202a〜202cは複数のシミュレータ20
1a〜201c間のデータ交換を制御するとともに、各
シミュレータの時刻進行を制御する分散シミュレーショ
ン制御装置であり、203はシミュレータ201a〜2
01cおよび分散シミュレーション制御装置202a〜
202cを相互に接続するネットワークである。
【0003】また、204a〜204cおよび204A
〜204Cはネットワーク203を介してシミュレータ
201a〜201cおよび分散シミュレーション制御装
置202a〜202cとの間でデータを転送する通信機
構であり、205a〜205cは分散シミュレーション
制御装置202a〜202cに送信するシミュレーショ
ンメッセージにタイムスタンプを付加するタイムスタン
プ付加機構であり、206a〜206cはシミュレータ
201a〜201cから送られてくる複数のシミュレー
ションメッセージを、付加されたタイムスタンプの小さ
い順に並び替え、タイムスタンプの小さなものから順に
取り出すオーダリング機構であり、207a〜207c
は1つのシミュレーションメッセージを分散シミュレー
ションシステム内に存在するすべての分散シミュレーシ
ョン制御装置202a〜202cに送信するメッセージ
配布機構である。
【0004】また、208a〜208cは分散シミュレ
ーションシステム内に存在する複数のシミュレータ20
1a〜201cのうち、制御しているシミュレータの情
報を保持するシミュレータ情報保持機構であり、209
a〜209cはシミュレータ情報保持機構208a〜2
08cで保持しているシミュレータに対してのみ受信し
たシミュレーションメッセージに関する処理結果やその
他のシミュレータの動作を制御するシミュレーションメ
ッセージを送信するシミュレータ管理・制御機構であ
る。
【0005】次に動作について説明する。この従来の分
散シミュレーションシステムでは、シミュレータからタ
イムスタンプを付加したシミュレーションメッセージが
同時に複数の分散シミュレーション制御装置に送信さ
れ、各分散シミュレーション制御装置202a〜202
cは複数のシミュレータから送られてくる複数のシミュ
レーションメッセージを、付加されたタイムスタンプの
小さい順に処理するとともに、シミュレータ情報保持機
構208a〜208cで情報を保持しているシミュレー
タに対してのみ受信したシミュレーションメッセージに
関する処理結果やその他のシミュレータの動作を制御す
るシミュレーションメッセージを送信することにより、
複数のシミュレータ201a〜201cを複数の分散シ
ミュレーション制御装置202a〜202cで制御す
る。
【0006】すなわち、この従来の分散シミュレーショ
ンシステムでは、各シミュレータ201a〜201cに
対応した多数の分散シミュレーション制御装置202a
〜202cが、あるシミュレータから送信されたデータ
を他のすべてのシミュレータに送信し、各分散シミュレ
ーション制御装置202a〜202cが同時に並行して
分散シミュレーションの実行制御を行う。これにより、
特定の分散シミュレーション制御装置の処理がボトルネ
ックになることはなく、効率良く分散シミュレーション
の実行制御を実行している。
【0007】次に、図11は、例えば特開平11−21
2818号公報に記載の他の従来の分散シミュレーショ
ンシステム(2)の構成を示すブロック図である。図1
1において、210a〜210cは、受信したシミュレ
ーションメッセージの内容を解釈し、その内容によっ
て、受信したシミュレーションメッセージを、必要に応
じて他のすべての分散シミュレーション制御装置202
a〜202cもしくは機能サーバ219に送信するメッ
セージ転送機構であり、218は特定のシミュレーショ
ン内容を管理/制御するシミュレーション管理機構であ
り、219はシミュレーション管理機構218の機能を
分散シミュレーション制御装置202a〜202cに提
供する機能サーバである。図11におけるその他の構成
要素については図10におけるものと同様であるので、
その説明を省略する。
【0008】次に動作について説明する。この従来の分
散シミュレーションシステムでは、複数のシミュレータ
201a〜201cを複数の分散シミュレーション制御
装置202a〜202cで制御するとともに、シミュレ
ーション管理機構218により特定のシミュレーション
内容を集中して管理/制御する。
【0009】すなわち、この従来の分散シミュレーショ
ンシステムでは、複数の分散シミュレーション制御装置
202a〜202cの他に、特定の機能を専門に処理す
る機能サーバ219を設け、分散型と集中型の双方の特
長を生かしている。
【0010】上記の他、例えば特開平7−13903号
公報に記載のものがある。このシステムでは、通信デー
タの内容や性質に基づいて各送信データに予め内容コー
ドが設定され、その内容コードに基づいて送信モード
(ブロードキャスト/マルチキャスト/ユニキャストな
ど)や送信相手が動的に選択され、データが送信され
る。
【0011】
【発明が解決しようとする課題】従来の分散シミュレー
ションシステムは以上のように構成されているので、特
開平11−212818号公報に記載の分散シミュレー
ションシステム(1)では、複数存在する分散シミュレ
ーション制御装置間で全データを共有するため、例え
ば、あるシミュレータあるいはシミュレータに対応する
分散シミュレーション制御装置が送信するメッセージ
を、他のすべての分散シミュレーション制御装置に送る
必要があり、同一の分散シミュレーションの制御をすべ
ての分散シミュレーション制御装置により実行する必要
があるため、計算機資源の利用効率が良好ではない可能
性があるという課題があった。
【0012】また、特開平11−212818号公報に
記載の分散シミュレーションシステム(2)では、送信
元から送信先へデータを送信する際、送信元からデータ
をサーバに送ってサーバから送信先へ送信したり、まず
サーバに対して送り先を問い合わせた後にデータを送信
したりするため、データ通信に時間がかかるとともにデ
ータ通信の効率が良好ではない可能性があるという課題
があった。
【0013】さらに、特開平7−13903号公報に記
載の技術を分散シミュレーションシステムに適用した場
合、例えば1つの送信データ中に大域管理が必要なデー
タ(大域データ)と局所管理が可能なデータ(局所デー
タ)が含まれている場合、送信相手が複数あった場合で
も、大域管理を行う処理装置に全データが送信されて大
域管理処理がなされた後、データが送信相手に対して送
信されるため、局所データを大域管理を行う処理装置を
介して送信することとなり、局所データの送信の効率が
良好ではないという課題があった。
【0014】この発明は上記のような課題を解決するた
めになされたもので、各シミュレータがシミュレーショ
ンの進行に伴い生成した他のシミュレータ宛のシミュレ
ーションデータを送受信装置に供給し、送受信装置がシ
ミュレータからのシミュレーションデータを大域データ
と局所データとに分類し、大域データを分散シミュレー
ション制御装置に送信し、他のシミュレータを宛先とし
て局所データを送信し、分散シミュレーション制御装置
が各シミュレータの大域データに基づいて、局所データ
の制御情報をシミュレータ毎に計算して送受信装置に送
信し、送受信装置がシミュレータ宛の局所データおよび
分散シミュレーション制御装置からの制御情報を受信
し、その制御情報に基づいて、受信した局所データをシ
ミュレータに転送するようにして、分散シミュレーショ
ン制御装置が1台で済み、また局所データの通信効率を
良好にして効率よくシミュレーションを実行することが
できる分散シミュレーションシステムおよび分散シミュ
レーション制御方法を得ることを目的とする。
【0015】
【課題を解決するための手段】この発明に係る分散シミ
ュレーションシステムは、各シミュレータが、シミュレ
ーションの進行に伴い他のシミュレータ宛のシミュレー
ションデータを生成すると、そのシミュレーションデー
タを送受信装置に供給し、送受信装置が、シミュレータ
からのシミュレーションデータを大域データと局所デー
タとに分類し、大域データを分散シミュレーション制御
装置に送信し、他のシミュレータを宛先にして局所デー
タを送信し、シミュレータ宛の局所データと、分散シミ
ュレーション制御装置からの制御情報とを受信し、その
制御情報に基づいて、受信した局所データを宛先のシミ
ュレータに転送し、分散シミュレーション制御装置が、
大域データを管理し、各シミュレータからの大域データ
に基づいて、制御情報をシミュレータ毎に計算して送受
信装置に送信するようにしたものである。
【0016】この発明に係る分散シミュレーションシス
テムは、送受信装置が、シミュレータからの1つのシミ
ュレーションデータに大域データと局所データとが含ま
れる場合、そのシミュレーションデータを大域データと
局所データとに分割するようにしたものである。
【0017】この発明に係る分散シミュレーションシス
テムは、各シミュレータが、自己の購読する局所デー
タ、および自己の公開する局所データを宣言し、送受信
装置が、各シミュレータによるその宣言で、各シミュレ
ータと、そのシミュレータからの各局所データの宛先と
なる他のシミュレータとの対応関係を認識し、その対応
関係に基づいて各局所データの宛先を決定するようにし
たものである。
【0018】この発明に係る分散シミュレーションシス
テムは、送受信装置が、シミュレータから分散シミュレ
ーション制御装置への大域データの送信にはユニキャス
トプロトコルを使用し、シミュレータから他のシミュレ
ータへの局所データの送信の際に、宛先が複数ある場合
にはマルチキャストプロトコルを使用するようにしたも
のである。
【0019】この発明に係る分散シミュレーションシス
テムは、分散シミュレーション制御装置が、シミュレー
タへの制御情報の送信の際に、宛先が複数ある場合には
マルチキャストプロトコルを使用するようにしたもので
ある。
【0020】この発明に係る分散シミュレーション制御
方法は、各シミュレータがシミュレーションの進行に伴
い生成した他のシミュレータ宛のシミュレーションデー
タを送受信装置に供給するステップと、送受信装置がシ
ミュレータからのシミュレーションデータを大域データ
と局所データとに分類し、大域データを分散シミュレー
ション制御装置に送信し、他のシミュレータを宛先とし
て局所データを送信するステップと、分散シミュレーシ
ョン制御装置が各シミュレータの大域データに基づい
て、局所データの制御情報をシミュレータ毎に計算して
送受信装置に送信するステップと、送受信装置がシミュ
レータ宛の局所データおよび分散シミュレーション制御
装置からの制御情報を受信し、その制御情報に基づい
て、受信した局所データをシミュレータに転送するステ
ップとを備えるものである。
【0021】この発明に係る分散シミュレーション制御
方法は、シミュレータからの1つのシミュレーションデ
ータに大域データと局所データとが含まれる場合、送受
信装置がそのシミュレーションデータを大域データと局
所データとに分割するようにしたものである。
【0022】この発明に係る分散シミュレーション制御
方法は、各シミュレータが、自己の購読する局所デー
タ、および自己の公開する局所データを宣言し、送受信
装置が、各シミュレータによるその宣言で、各シミュレ
ータと、そのシミュレータからの各局所データの宛先と
なる他のシミュレータとの対応関係を認識し、その対応
関係に基づいて各局所データの宛先を決定するようにし
たものである。
【0023】この発明に係る分散シミュレーション制御
方法は、シミュレータから分散シミュレーション制御装
置への大域データの送信には送受信装置がユニキャスト
プロトコルを使用し、シミュレータから他のシミュレー
タへの局所データの送信の際に、宛先が複数ある場合に
は送受信装置がマルチキャストプロトコルを使用するよ
うにしたものである。
【0024】この発明に係る分散シミュレーション制御
方法は、シミュレータへの制御情報の送信の際に、宛先
が複数ある場合には分散シミュレーション制御装置がマ
ルチキャストプロトコルを使用するようにしたものであ
る。
【0025】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1による分
散シミュレーションシステムの構成を示すブロック図で
ある。図1において、1は全体として実行するシミュレ
ーションのうちの一部をそれぞれ実行する同機種または
異機種の複数のシミュレータである。2は分散シミュレ
ーション制御装置3と各シミュレータ1との間、および
シミュレータ1間でシミュレーションデータを送受する
送受信装置であり、各送受信装置2において、21はシ
ミュレータ1からのシミュレーションデータを大域デー
タ(各シミュレータ1の論理時刻やシミュレーションデ
ータの送受信依存関係などシミュレーション全体で大域
的に使用されるシミュレーションデータ)と局所データ
(分散された各シミュレーションで局所的に使用される
シミュレーションデータ)とに分類するデータ分類部3
1、マルチキャスト送信部33およびユニキャスト送信
部34を制御して大域データを分散シミュレーション制
御装置3に送信させ、他のシミュレータ1を宛先として
局所データを送信させる送信制御部32、送信先が複数
ある場合にマルチキャストプロトコルでデータを送信す
るマルチキャスト送信部33、並びに、ユニキャストプ
ロトコルでデータを送信するユニキャスト送信部34を
有する送信部である。
【0026】また、22は他のシミュレータ1からのシ
ミュレーションデータおよび分散シミュレーション制御
装置3からの制御情報(現在有効な局所データを選択す
るための有効条件など)を受信し、その有効条件を満た
すシミュレーションデータをシミュレータ1に転送する
受信制御部41、受信したシミュレーションデータを一
時的に記憶するバッファ42、および受信した制御情報
を記憶する制御情報記憶部43を有する受信部である。
【0027】また、3は複数のシミュレータ1により実
行されるシミュレーションを制御する分散シミュレーシ
ョン制御装置であり、分散シミュレーション制御装置3
において、51は大域データを管理するデータ管理部6
1、およびシミュレーションの進行を制御する実行制御
部62を有するシミュレーション制御部であり、52は
マルチキャスト送信部72およびユニキャスト送信部7
3を制御して制御情報を各送受信装置2に送信させる送
信制御部71、送信先が複数ある場合にマルチキャスト
プロトコルで複数のシミュレータ1へ制御情報を送信す
るマルチキャスト送信部72、並びに、送信先が1つで
ある場合にユニキャストプロトコルでそのシミュレータ
1へ制御情報を送信するユニキャスト送信部73を有す
る送信部であり、53はシミュレータ1からの大域デー
タを受信する受信制御部81、および受信した大域デー
タを一時的に記憶するバッファ82を有する受信部であ
る。
【0028】また、4は複数の送受信装置2と分散シミ
ュレーション制御装置3とを接続するネットワークであ
る。
【0029】次に動作について説明する。この分散シミ
ュレーションシステムでは、シミュレータ1間での局所
データの交換、並びにシミュレータ1と分散シミュレー
ション制御装置3との間での大域データおよび制御情報
の授受を、送受信装置2を介して繰り返し実行しなが
ら、各シミュレータ1が担当するシミュレーションを実
行することにより、全体として1つのシミュレーション
が実行される。また、各シミュレータ1は、後述のよう
に、一般的な分散型のイベント駆動によるシミュレーシ
ョンを実行する。
【0030】すなわち、分散シミュレーション制御装置
3が、シミュレーションの進行に関するデータなどの大
域データを管理し、各シミュレータ1からの大域データ
に基づいて、現在有効な局所データを選択するための有
効条件などの制御情報をシミュレータ1毎に計算して各
送受信装置2に送信し、送受信装置2が、シミュレーシ
ョンデータの送信時には、シミュレータ1からのシミュ
レーションデータを大域データと局所データとに分類
し、大域データを分散シミュレーション制御装置3にネ
ットワーク4を介して送信し、宛先のシミュレータ1に
接続された送受信装置2へ局所データをネットワーク4
を介して送信し、また、シミュレーションデータや制御
情報がネットワーク4を介して送信されてくると、それ
らを受信し、受信したシミュレーションデータからその
制御情報に応じたものを選択し、シミュレータ1に転送
する。これにより、制御情報に基づいて、イベント(シ
ミュレーションデータ)の因果関係が保証されるととも
に、イベントの種類に応じてシミュレータ1間のイベン
トの送受信関係が確立される。
【0031】次に、分散シミュレーション制御装置3の
動作について説明する。シミュレーション制御部51で
は、データ管理部61が、シミュレーションの制御のた
めに必要な大域データ(例えば各シミュレータの現在の
論理時刻、発信したメッセージの論理時刻、シミュレー
タ1間のデータの公開/購読関係など)を管理し、実行
制御部62が、データ管理部61により管理されている
大域データに基づいて、各シミュレータ1が受信処理可
能な最低保証時刻LBTS(Lower Bound of Time Stam
p)の計算や、各シミュレータ1間のデータの公開/購読
関係の監視などを実行して、シミュレーション全体を制
御する。
【0032】すなわち、分散シミュレーション制御装置
3は、大域データとして、各シミュレータの時刻情報を
管理し、各シミュレータ1に最低保証時刻LBTSを制
御情報として供給し、各シミュレータ1は、到着したデ
ータのうち、処理しても因果関係が保証されるデータを
時刻の古い順に処理する。このようにすることにより、
他の複数のシミュレータ1からのデータが混在して受信
されても、データ間の因果関係を保つことができる。す
なわち、例えば、ある時点で最も時刻の古いデータを受
信したとしても、ネットワーク4上のさらに古い時刻の
データが存在する場合、そのさらに古い時刻のデータを
後で受信することになり因果関係が保てなくなってしま
うが、分散シミュレーション制御装置3により各シミュ
レータ1のシミュレーション時刻の進行が管理されるの
で、因果関係が保たれる。
【0033】また、受信部53では、受信制御部81
が、各シミュレータ1から送受信装置2を介して複数種
類のプロトコルで送信されてくる大域データを受信し、
バッファ82がその大域データを一時的に記憶する。
【0034】また、送信部52では、実行制御部62か
らの各シミュレータ1宛の制御情報を送受信装置2に送
信する際に、送信制御部71が、その制御情報の宛先が
複数あるか否かを判断し、宛先が複数ある場合には、マ
ルチキャスト送信部72を制御してその制御情報を送信
させ、宛先が1つである場合には、ユニキャスト送信部
73を制御してその制御情報を送信させる。
【0035】次に各シミュレータ1に接続された各送受
信装置2の動作について説明する。送信部21では、デ
ータ分類部31が、シミュレータ1からシミュレーショ
ンデータを受け取ると、そのシミュレーションデータの
内容を解釈し、大域的な管理が必要なデータ(すなわち
大域データ)と、大域管理が不要なデータ(すなわち局
所データ)とに分類した後、大域データ、および局所デ
ータのうち宛先が1つであるものをユニキャスト送信部
34に供給し、局所データのうち宛先が2つ以上あるも
の(すなわち、複数のシミュレータ1で必要とされる局
所データ)をマルチキャスト送信部33に供給し、ユニ
キャスト送信部34は、供給されたデータをユニキャス
トプロトコルで宛先へ送信し、マルチキャスト送信部3
3は、供給されたデータをマルチキャストプロトコルで
宛先へ送信する。
【0036】また、受信部22では、受信制御部41
は、他のシミュレータ1から送受信装置2を介して送信
されてくる局所データ、および、分散シミュレーション
制御装置3から送信されてくる制御情報を受信し、その
制御情報を制御情報記憶部43に記憶させ、それ以外の
データをバッファ42に記憶させる。そして、受信制御
部41は、受信したデータの取り出しをシミュレータ1
により要求された際に、制御情報記憶部43に記憶され
ている制御情報に基づいて、バッファ42に保持された
データを順番に選択し、シミュレータ1に転送する。
【0037】このときの制御情報とは、あるシミュレー
ション時刻の処理を終了したシミュレータが次に遷移し
たい時刻や、分散シミュレーション制御装置3からの最
低保証時刻LBTSなどである。この他、制御情報とし
ては、後述のイベントの公開/購読関係があり、この情
報が、送信制御部32の公開購読テーブルに反映され
る。
【0038】また、受信制御部41は、バッファ42に
記憶されたデータのうち、最低保証時刻LBTSが示す
時刻より古い時刻のデータを古い順にソートしたり、最
低保証時刻LBTSが示す時刻が、シミュレータ1によ
り要求された次に遷移したい時刻と同一であるか、その
遷移したい時刻より後である場合に、シミュレータ1の
時刻進行を許可するメッセージをシミュレータ1に供給
したりする。
【0039】次に、この分散シミュレーションシステム
におけるシミュレーションの制御の詳細について説明す
る。図2は実施の形態1による分散シミュレーションシ
ステムの詳細な動作について説明するフローチャートで
あり、図3は図2における時刻の進行(ステップST
3)の詳細について説明するフローチャートであり、図
4は図2における到着イベントの取り出し(ステップS
T4)の詳細について説明するフローチャートであり、
図5は図2におけるイベントの送信(ステップST9)
の詳細について説明するフローチャートである。
【0040】まず、図2のステップST1において、最
初に、各シミュレータ1は初期化処理を実行する。初期
化処理では、例えば、シミュレーションへのシミュレー
タ1の参加、他のシミュレータ1に対して公開する情報
の宣言や、他のシミュレータ1から購読する情報の宣
言、各シミュレータ1の時刻Tの設定および他のシミュ
レータ1へイベントを送信しない時間を示すルックアヘ
ッド(LA:Lookahead)の設定並びにそれらの値の各送
受信装置2への通知、最低保証時刻LBTSの取得など
が実行される。なお、ルックアヘッドLAは状況に応じ
て動的に変更してよい。
【0041】このとき、各シミュレータ1は、分散シミ
ュレーションシステムにどのようなシミュレータが接続
されているかを互いに知らないものとする。そこで、各
シミュレータ1は、まず初期化時に、他のシミュレータ
1に対して、公開するイベントの宣言および他のシミュ
レータから購読するイベントの宣言を実行し、各送受信
装置2は、自己に接続されたシミュレータ1の公開する
情報を購読するシミュレータ1を、各情報ごとに、図示
せぬ公開購読テーブルに登録する。そして、それ以降、
各送受信装置2は、シミュレータ1の公開したイベント
が生成/更新されると、そのイベントの購読を宣言した
すべてのシミュレータ1に対して、その生成/更新され
たイベントを送信する。
【0042】次にステップST2において、各シミュレ
ータ1は、式(1)に示すように、図示せぬ自己のイベ
ントキューにおけるイベントのうちの最も時刻の古いイ
ベントの時刻と、自己に接続された送受信装置2のバッ
ファ42により保持された到着イベントキューにおける
イベントのうちの、最低保証時刻LBTSの示す時刻よ
り過去で最も時刻の古いイベントの時刻とを比較し、小
さい方の時刻を自己の時刻Tとする。 T=MIN(MIN(イベントキューにおけるイベントの時刻), MIN(到着イベントキューにおいてLBTS未満のイベントの時刻)) ・・・(1) ここで、MINは引数のうちの最小値を示す関数であ
る。
【0043】次にステップST3において、各シミュレ
ータ1は、自己の時刻Tが更新された場合、自己に接続
された各送受信装置2を介して、他のシミュレータ1
に、時刻Tの更新を通知する。
【0044】この各シミュレータ1の時刻Tが分散シミ
ュレーション制御装置3に供給され、分散シミュレーシ
ョン制御装置3は、各シミュレータ1について、LBT
Sを式(2)に従って決定し、送信する。これにより、
各送受信装置2に保存されている最低保証時刻LBTS
が更新される。 LBTS=MIN(対象のシミュレータ1以外の各シミュレータ1の時刻T +LA) ・・・(2)
【0045】したがって、ルックアヘッドLAを可能な
限り大きく設定することによりLBTSの値が大きくな
り、シミュレーションが効率よく進行する。
【0046】このとき、図3に示すように、まず、ステ
ップST21において、送受信装置2のデータ分類部3
1は、論理時刻Tの更新情報が大域データであることを
認識し、ステップST22において、ユニキャスト送信
方法を選択し、その論理時刻Tの更新情報をユニキャス
ト送信部34に供給する。次にステップST23におい
て、ユニキャスト送信部34は、その論理時刻Tの更新
情報を有するパケットをユニキャストプロトコルで分散
シミュレーション制御装置3に送信する。
【0047】そして、ステップST24において、分散
シミュレーション制御装置3の受信部53は、そのパケ
ットを受信し、そのパケットからその論理時刻Tの更新
情報を抽出し、データ管理部61に供給する。データ管
理部61は、その論理時刻Tの更新情報を、各シミュレ
ータ1の最新の論理時刻を管理するために図示せぬ時刻
管理テーブルに格納する。次に分散シミュレーション制
御装置3のデータ管理部61は、ステップST25にお
いて、上述のように各シミュレータ1についての最新の
LBTSを計算し、図示せぬ時刻管理テーブルに格納す
る。分散シミュレーション制御装置3の送信部52は、
LBTSが更新されると、ステップST26において、
各シミュレータ1についてのLBTSの更新情報を、そ
のシミュレータ1に接続された送受信装置2に通知す
る。
【0048】そして各送受信装置2の受信部22は、ス
テップST27において、LBTSの更新情報を受信す
ると、その情報に基づいて制御情報記憶部43に記憶さ
れたLBTSを更新する。
【0049】図2に戻り、ステップST4において、各
シミュレータ1は、自己の接続された送受信装置2のバ
ッファ42に現在到着している最も古いイベントの時刻
MNET(Minimun Next Event Time)と、自己の時刻T
とを比較し、両者が同一である場合には、到着イベント
をそのバッファ42から読み出し、イベントキューに格
納する。このとき、到着イベントを1つずつ取り出して
もよいし、複数をまとめて取り出してもよい。
【0050】このとき、図4に示すように例えば、送受
信装置2は、ステップST31においてシミュレータ1
から到着イベントの取り出し要求を受け取ると、ステッ
プST32において、バッファ42に保存されている到
着イベントのうち、制御情報記憶部43に記憶されてい
る最低保証時刻LBTSの示す時刻より過去の時刻のイ
ベントを検索し、ステップST33において、そのイベ
ントのうちの時刻の最も古いイベントをシミュレータ1
に転送する。転送されたイベントは、シミュレータ1の
イベントキューに格納される。
【0051】次に各シミュレータ1は、図2のステップ
ST5において、現在の自己の時刻Tにおけるイベント
がイベントキューに存在するか否かを判断し、現在の自
己の時刻Tにおけるイベントが存在しない場合にはステ
ップST2に戻り、現在の自己の時刻Tにおけるイベン
トが存在する場合にはステップST6において時刻Tの
イベントのうちの1つをイベントキューから読み出し、
そのイベントに応じた処理を実行する。
【0052】そして、各シミュレータ1は、図2のステ
ップST7において、イベントの内容に応じて、処理の
結果として新たなイベントを生成する。なお、例えば、
後述するシミュレーションの制御用イベントのように、
イベントの内容によっては新たなイベントが生成されな
い場合もあるが、ここでは説明を簡単にするためイベン
トを生成しない場合の処理は省略する。
【0053】シミュレータ1は、図2のステップST8
において、その新たなイベントが公開中であるか否か、
また、シミュレーションの制御用イベントであるか否か
を判断する。なお、このとき、送受信装置2の公開購読
テーブルに基づいて判断される。
【0054】シミュレータ1は、その新たなイベントが
公開中であるか、またはシミュレーションの制御用イベ
ントである場合には、ステップST9において、分散シ
ミュレーション制御装置3または他の送受信装置2への
そのイベントの送信を送受信装置2に要求し、その新た
なイベントがそれ以外のものである場合には、その新た
なイベントを自己のイベントキューに格納する。
【0055】このとき、図5に示すように、送受信装置
2が、シミュレータ1からイベントの送信要求を受け取
ると、送信部21のデータ分類部31は、ステップST
41において、イベントを生成したシミュレータの時刻
を大域データとし、ステップST42において、ユニキ
ャスト送信を選択して、ステップST43において、ユ
ニキャスト送信部34に、その時刻を分散シミュレーシ
ョン制御装置3に送信させる。
【0056】また、送信制御部32は、ステップST4
4において、内蔵の図示せぬ公開購読テーブルに基づい
て、送信するイベントを購読している他の複数のシミュ
レータ1から構成されるマルチキャストグループを認識
し、ステップST45において、マルチキャスト送信を
選択し、そのマルチキャストグループに対してイベント
の時刻およびデータをマルチキャストプロトコルで送信
する。そして、他の送受信装置2は、そのイベントの時
刻およびデータを受信すると、バッファ42に格納す
る。
【0057】なお、新たなイベントがイベントの公開購
読関係(すなわち、イベントの送受信関係)を示す制御
用イベントである場合、新たなイベントは大域データで
あるので、上述のように他のシミュレータ1に送信され
る他、分散シミュレーション制御装置3にも送信され
る。
【0058】そして現在の時刻Tにおけるイベントがな
くなるまで、各イベントに対して図2のステップST6
〜ステップST10の処理を順次実行する。このように
して、因果関係を保証されてデータ交換がシミュレータ
1間で繰り返され、シミュレーションが進行する。
【0059】以上のように、この実施の形態1によれ
ば、各シミュレータ1がシミュレーションの進行に伴い
生成した他のシミュレータ1宛のシミュレーションデー
タを送受信装置2に供給し、送受信装置2がシミュレー
タ1からのシミュレーションデータを大域データと局所
データとに分類し、大域データを分散シミュレーション
制御装置3に送信し、他のシミュレータ1を宛先として
局所データを送信し、分散シミュレーション制御装置3
が各シミュレータ1の大域データに基づいて、局所デー
タの制御情報をシミュレータ1毎に計算して送受信装置
2に送信し、送受信装置2がシミュレータ1宛の局所デ
ータおよび分散シミュレーション制御装置3からの制御
情報を受信し、その制御情報に基づいて、受信した局所
データをシミュレータ1に転送するようにしたので、分
散シミュレーション制御装置3が1台で済み、また局所
データの通信効率を良好にして効率よくシミュレーショ
ンを実行することができるという効果が得られる。
【0060】実施の形態2.この発明の実施の形態2に
よる分散シミュレーションシステムは、一例として、都
市の公共交通機関による人の流れのシミュレーションを
3種類の異機種シミュレータにより実現するようにした
ものである。
【0061】図6はこの発明の実施の形態2による分散
シミュレーションシステムの構成を示すブロック図であ
る。図6において、1aはバス網における人の流れをシ
ミュレーションするバス網シミュレータ(シミュレー
タ)であり、1bは鉄道網における人の流れのシミュレ
ーションする鉄道網シミュレータ(シミュレータ)であ
り、1cは乗り換え地点における人の歩行による乗り換
えをシミュレーションする乗り換えシミュレータ(シミ
ュレータ)であり、2a〜2cは、バス網シミュレータ
1a、鉄道網シミュレータ1bおよび乗り換えシミュレ
ータ1cにそれぞれ接続された、送受信装置2と同様の
送受信装置であり、3は分散シミュレーション制御装置
である。
【0062】次に動作について説明する。この分散シミ
ュレーションシステムは、各シミュレータ1a〜1c間
で、例えば乗り換え地点における乗降客に関するイベン
トを交換するとともにシミュレーション時刻を同期させ
て、シミュレーションを進行させていく。
【0063】図7はバス網、鉄道網および乗り換え網か
らなる交通網の一例をグラフで示す図である。図7で
は、乗り換え地点を円で示し、乗り換え地点間の交通ま
たは歩行をリンクで表している。図7において、101
は鉄道網(JR線)における東京駅(JRTokyo)
であり、102はバス網における東京駅(BusTok
yo)であり、103は鉄道網(JR線)における渋谷
駅(JRShibuya)であり、104はバス網にお
ける渋谷駅(BusShibuya)であり、105は
鉄道網(東横線)における渋谷駅(TKShibuy
a)であり、106は鉄道網(JR線)における横浜駅
(JRYokohama)であり、107は鉄道網(東
横線)における横浜駅(TKYokohama)であ
る。
【0064】111は東京駅101と東京駅102との
間の乗り換え路であり、112は東京駅102と渋谷駅
104との間のバス網であり、113は東京駅101と
渋谷駅103との間の鉄道網である。114は渋谷駅1
03と渋谷駅104との間の乗り換え路であり、115
は渋谷駅104と渋谷駅105との間の乗り換え路であ
り、116は渋谷駅105と渋谷駅103との間の乗り
換え路である。117は渋谷駅105と横浜駅107と
の間の鉄道網であり、118は横浜駅106と横浜駅1
07との間の乗り換え路であり、117は東京駅101
と横浜駅106との間の鉄道網である。
【0065】次に、一例として、シナリオに基づくイベ
ントを示す。ここでは、各シミュレータ1a〜1cの処
理するイベントの形式は、例えば次のような2種類のい
ずれかとする。なお、ここでは説明を簡単にするため、
シミュレータ間で交換するイベントと各シミュレータ1
a〜1c内部で扱うイベントは同一のものとする。 (1)シミュレーションの制御用イベント:SystemEven
tName(Time, Parameter)ここで、SystemEventName は、
値publish または値subscribe をとり、値publish はイ
ベントの公開の宣言を意味し、値subscribe はイベント
の購読の宣言を意味する。また、Timeは、時:分なる形
式の、イベントが有効となる時刻である。さらに、Para
meter は、各イベントの引数であり、次に示すEventNam
e のいずれかを値としてとる。 (2)シミュレータ間データ交換用のイベント:EventN
ame(Time, TerminalName, ID, NofPeople, FinalDestin
ation) ここで、EventName は、値inまたは値out をとるイベン
トの種類であり、値inは乗車を意味し、値out は降車を
意味する。また、Timeは、時:分なる形式の、イベント
の生起時刻である。さらに、TerminalNameは、ターミナ
ル名(乗り換え地点の名前)であり、今の場合、BusTok
yo、BusShibuya、JRTokyo 、JRShibuya、TKShibuya 、J
RYokohamaおよびTKYokohamaのいずれかの値をとる。さ
らに、IDは、バスあるいは列車の識別子であり、今の場
合、バスの場合にはBusXXXとし、列車の場合にはJRXXX
あるいはTKXXX の値をとる。ここで、XXX は3桁の整数
とする。なお、バスあるいは列車以外の交通機関を使っ
て新たに到着した客の場合は、IDの値をnew とする。さ
らに、NofPeople は、乗り換え地点で降車あるいは乗車
する人数である。さらに、FinalDestinationは、各人の
最終目的地であり、複数の人間の最終目的地を表現する
場合、(人数:目的地、人数:目的地・・・)なるリスト
構造で表現する。例えば、18人のうちの最終目的地が
JRYokohamaである人が8人であり、最終目的地がJRShib
uya である人が10人である場合、(8:JRYokohama, 1
0:JRShibuya)と表現する。
【0066】このような形式でシミュレーションのシナ
リオの一例を以下に示す。 (1)時刻10:00に東京駅101に新たに30人の
客が到着し、そのうちの10人の最終目的地が横浜駅1
06であり、20人の最終目的地が渋谷駅103であ
る。このイベントは次のように表される。 out(10:00, JRTokyo, new, 30, (10:JRYokohama, 20:JR
Shibuya)) (2)時刻10:01に東京駅102から、1人が渋谷
駅104行きのバス「Bus200」に乗車する。この
イベントは次のように表される。 in(10:01, BusTokyo, Bus200, 1, (1:JRYokohama)) (3)時刻10:05に東京駅101から、6人が横浜
駅106行きの列車「JR100」に乗車する。このイ
ベントは次のように表される。 in(10:05, JRTokyo, JR100, 6, (6:JRYokohama)) (4)時刻10:07に東京駅101から、3人が渋谷
駅103行きの列車「JR101」に乗車する。このイ
ベントは次のように表される。 in(10:07, JRTokyo, JR101, 3, (3:JRYokohama)) (5)時刻10:30に列車「JR101」から渋谷駅
103にて3人が降車する。このイベントは次のように
表される。 out(10:30, JRShibuya, JR101, 3, (3:JRYokohama)) (6)その3人は時刻10:35に渋谷駅105から、
横浜駅107行きの列車「TK200」に乗車する。こ
のイベントは次のように表される。 in(10:35, TKShibuya, TK200, 3, (3:JRYokohama)) (7)時刻10:31にバス「Bus200」から渋谷
駅103にて1人が降車する。このイベントは次のよう
に表される。 out(10:31, BusShibuya,Bus200,1, (1:JRYokohama)) (8)その1人は時刻10:50に、渋谷駅105から
横浜駅107行きの列車「TK201」に乗車する。こ
のイベントは次のように表される。 in(10:50, TKShibuya, TK201, 1, (1:JRYokohama)) (9)時刻10:45に列車「JR100」から横浜駅
106にて6人が降車する。このイベントは次のように
表される。 out(10:45, JRYokohama, JR100, 6, (6:JRYokohama))
【0067】次に、このシナリオに従ってシミュレーシ
ョンを実行する際の動作について説明する。図8は、実
施の形態2におけるシミュレータの動作について説明す
る図である。
【0068】まず、初期化時において、バス網シミュレ
ータ1aと鉄道網シミュレータ1bは、降車を示すイベ
ントout を公開イベントとし、乗車を示すイベントinを
購読イベントとして宣言する。一方、乗り換えシミュレ
ータ1cは、乗車を示すイベントinを公開イベントと
し、降車を示すイベントout を購読イベントとして宣言
する。なお、イベントの公開および購読は、各シミュレ
ータ1a〜1cがシミュレーションの制御用イベントを
イベントキューに格納し、そのイベントが処理されるこ
とにより宣言され、対応する各送受信装置2a〜2c
に、そのイベントの内容が通知される。例えば、イベン
トout の公開を宣言する場合、制御用イベントpublish
(out)が生成される。
【0069】このときの、イベントの公開情報の、他の
シミュレータへの通知について図2のフローチャートに
沿って説明する。
【0070】まず、バス網シミュレータ1aは、その制
御用イベントを取り出すと(ステップST6)、制御用
イベントに対応する内部処理(ステップST7)を特に
実行せず、送受信装置2aに対して、この制御用イベン
トの送信を要求する(ステップST9)。
【0071】このとき、送受信装置2aでは、制御用イ
ベントpublish(out)の送信を要求されると、送信部21
のデータ分類部31は、この制御用イベントが大域デー
タであると判断し、送信部21の送信制御部32は、ま
ず、ユニキャスト送信部34を制御して、この制御用イ
ベントpublish(out)を分散シミュレーション制御装置3
へ送信させ、続いて、マルチキャスト送信部33を制御
して、この制御用イベントpublish(out)を送受信装置2
b,2cへ送信させる。なお、送受信装置2b,2cお
よび分散シミュレーション制御装置3に対してマルチキ
ャスト送信により、この制御用イベントを1度で送信す
るようにしてもよい。
【0072】なお、公開と購読の関係の情報を分散シミ
ュレーション制御装置3に送信するのは、宣言をした時
点でまだ参加していないシミュレータが後に参加した時
点で、そのシミュレータに公開購読テーブルを渡す必要
があるからである。
【0073】分散シミュレーション制御装置3の受信部
53は、この制御用イベントpublish(out)を受信する
と、データ管理部61に供給し、データ管理部61は、
その制御用イベントの送信元について、イベントout の
公開を、公開と購読の関係を管理するテーブル(公開購
読テーブル)に登録する。
【0074】また、送受信装置2b,2cの受信部22
は、制御用イベントpublish(out)を受信すると、その制
御用イベントの送信元について、イベントout の公開
を、送信制御部32の有する図示せぬ公開購読テーブル
に登録する。
【0075】このようにして、バス網シミュレータ1a
によるイベントの公開が他のシミュレータ2b,2cや
分散シミュレーション制御装置3に通知される。なお、
シミュレータ1b,1cによるイベントの公開も同様に
通知される。また、購読についても同様に、各シミュレ
ータ1a〜1cが、購読を宣言するための制御用イベン
トsubscribe を分散シミュレーション制御装置3および
他のシミュレータに通知する。例えば、イベントinの購
読を宣言する場合には、制御用イベントsubscribe(in)
が通知される。
【0076】このようにして、イベントの公開/購読関
係が各シミュレータ1a〜1cおよび分散シミュレーシ
ョン制御装置3により認識された後、シミュレーション
が開始される。
【0077】バス網シミュレータ1aは、バス網におけ
る客の乗降をシミュレーションする。バス網シミュレー
タ1aは、図8に示すように、上述のシナリオのうち、
イベントin(10:01, BusTokyo,Bus200, 1, (1:JRYokoham
a)) をイベントキューから取り出すと、バス「Bus2
00」の目的地は「BusShibuya」(渋谷駅104)であ
ると判断し、「BusShibuya」(渋谷駅104)に到着す
る時刻を求めた後、イベントout(10:31, BusShibuya, B
us200, 1, (1:JRYokohama)) を生成する。イベントout
は、乗り換えシミュレータ1cにより購読されているの
で、このイベントは、送受信装置2aにより、乗り換え
シミュレータ1cに接続された送受信装置2cに送信さ
れる。
【0078】また、鉄道網シミュレータ1bは、鉄道網
における客の乗降をシミュレーションする。例えば、イ
ベントキューに、上述のシナリオにおける次の2つのイ
ベントが格納されていたとする。 in(10:05, JRTokyo, JR100, 6, (6:JRYokohama)) in(10:07, JRTokyo, JR101, 3, (3:JRYokohama))
【0079】このとき、鉄道網シミュレータ1bは、図
8に示すように、前者のイベントを取り出すと、乗車し
た6人の目的地は「JRYokohama」(横浜駅106)であ
ると判断し、「JRYokohama」(横浜駅106)に到着す
る時刻を求めた後、イベントout(10:45, JRYokohama, J
R100, 6, (6:JRYokohama))を生成する。また、鉄道網シ
ミュレータ1bは、図8に示すように、後者のイベント
を取り出すと、乗車した3人の目的地は「JRYokohama」
(横浜駅106)であると判断し、次の乗換駅「JRShib
uya 」(渋谷駅103)に到着する時刻を求めた後、イ
ベントout(10:30, JRShibuya, JR101, 3, (3:JRYokoham
a)) を生成する。イベントout は、乗り換えシミュレー
タ1cにより購読されているので、これらの生成された
イベントは、送受信装置2bにより、乗り換えシミュレ
ータ1cに接続された送受信装置2cに送信される。
【0080】さらに、乗り換えシミュレータ1cは、乗
り換え地点での客の乗り換えをシミュレーションする。
例えば、イベントキュー、上述のシナリオにおける次の
3つのイベントが格納されていたとする。 out(10:31, BusShibuya, Bus200, 1, (1:JRYokohama)) out(10:45, JRYokohama, JR100, 6, (6:JRYokohama)) out(10:30, JRShibuya, JR101, 3, (3:JRYokohama))
【0081】このとき、乗り換えシミュレータ1cは、
図8に示すように、まず時刻の最も古いイベント、すな
わち時刻10:30のイベントを取り出し、「JRShibuy
a 」(渋谷駅103)での、目的地「JRYokohama」方向
への乗り換えをシミュレーションし、その結果、例えば
イベントin(10:35, TKShibuya, TK200, 3, (3:JRYokoha
ma))を生成する。なお、このイベントは、「TKShibuya
」(渋谷駅105)から上記3人が列車「TK200 」に
乗車することを意味する。乗り換えシミュレータ1c
は、この鉄道網に関するイベントを送受信装置2cに供
給し、送受信装置2cは、この鉄道網に関するイベント
を鉄道網シミュレータ1bに接続された送受信装置2b
に送信する。
【0082】次に乗り換えシミュレータ1cは、図8に
示すように、次に時刻の古いイベント、すなわち時刻1
0:31のイベントを取り出し、同様にして、イベント
in(10:50, TKShibuya, TK201, 1, (1:JRYokohama))を生
成する。このイベントも、鉄道網に関するイベントであ
るので、鉄道網シミュレータ1bに接続された送受信装
置2bに送信される。
【0083】最後に乗り換えシミュレータ1cは、図8
に示すように、時刻の最も新しいイベント、すなわち時
刻10:45のイベントを取り出す。なお、この場合に
は、最終目的地である「JRYokohama」での降車であるの
で、新たなイベントは生成されない。
【0084】このようにして、各シミュレータ1a〜1
cが、イベントを時刻に沿って処理し、場合によって
は、その処理結果として新たなイベントを生成し、その
新たなイベントをそのイベントの種類に応じて他のシミ
ュレータに送信する。
【0085】次に、公開/購読情報に基づくイベントの
送受信の詳細について説明する。バス網シミュレータ1
aが、例えば、時刻10:01にイベントout(10:31, B
usShibuya, Bus200, 1, (1:JRYokohama)) を生成した場
合、イベントout を公開しているので、関数event(10:0
1, out(10:31, BusShibuya, Bus200, 1, (1:JRYokoham
a))) を呼び出してこのイベントの生成を送受信装置2
aに通知する。これにより、送受信装置2aの送信部2
1には、メッセージ[event, 10:01, out, 10:31, BusSh
ibuya, Bus200, 1, (1:JRYokohama)] が供給される。
【0086】送信部21のデータ分類部31は、このメ
ッセージの内容を解釈した後、このメッセージの内容を
次のように大域データと局所データに分割する。このメ
ッセージの場合、大域データは、イベントを生成したシ
ミュレータの時刻情報のみであり、イベントの時刻情報
を含む残りのデータが局所データである。 大域データ[event, 10:01] 局所データ[event, out, 10:31, BusShibuya, Bus200,
1, (1:JRYokohama)]
【0087】ここで、時刻情報が大域データであるの
は、シミュレータ間の因果関係を保つために分散シミュ
レーション制御装置3が各シミュレータの最新の時刻を
把握しておく必要があるからである。
【0088】そして、送信制御部32は、ユニキャスト
送信部34を制御して、大域データ[event, 10:01]を分
散シミュレーション制御装置3に送信させる。また、送
信制御部32は、局所データ[event, out, 10:31, BusS
hibuya, Bus200, 1, (1:JRYokohama)]を、イベントout
を購読しているすべてのシミュレータに対して送信させ
る。このとき、送信制御部32は、公開購読テーブルを
参照して、このイベントout を購読しているシミュレー
タを判別する。今の場合、イベントout を購読している
シミュレータは、乗り換えシミュレータ1cだけである
ので、送信制御部32は、ユニキャスト送信部34を制
御して、この局所データを送受信装置2cへ送信させ
る。
【0089】このようにしてバス網シミュレータ1aに
より公開されているイベントout が、そのイベントを購
読している乗り換えシミュレータ1cに接続された送受
信装置2cへ送信される。なお、鉄道網シミュレータ1
bにより公開されているイベントout が送受信装置2c
へ送信される場合も同様である。
【0090】次に、乗り換えシミュレータ1cが、次の
ような2つのイベントをそれぞれ時刻10:30と時刻
10:31に生成した場合、イベントinを公開している
ので、同様に関数event を呼び出して、これらのイベン
トの生成を送受信装置2cに通知する。 in(10:35, TKShibuya, TK200, 3, (3:JRYokohama)) in(10:50, TKShibuya, TK201, 1, (1:JRYokohama))
【0091】送受信装置2cには関数event によるメッ
セージが供給され、同様に、データ分類部31が、この
メッセージの内容を次のように大域データと局所データ
とに分割する。 大域データ[event, 10:30] 局所データ[event, in, 10:35, TKShibuya, TK200, 3,
(3:JRYokohama)] 大域データ[event, 10:31] 局所データ[event, in, 10:50, TKShibuya, TK201, 1,
(1:JRYokohama)]
【0092】そして、送信制御部32が、ユニキャスト
送信部34を制御して、これらの大域データを分散シミ
ュレーション制御装置3へ送信させる。また、送信制御
部32は、これらの局所データを、イベントinを購読し
ているすべてのシミュレータに対して送信させる。この
とき、送信制御部32は、公開購読テーブルを参照し
て、このイベントinを購読しているシミュレータを判別
する。今の場合、イベントinを購読しているシミュレー
タは、バス網シミュレータ1aおよび鉄道網シミュレー
タ1bであるので、送信制御部32は、マルチキャスト
送信部33を制御して、これらの局所データを送受信装
置2a,2bへ送信させる。
【0093】なお、図9は、シミュレータ1a〜1cの
イベントキューならびに時刻T、最も古いイベントの時
刻MNET、ルークアヘッドLAおよび最低保証時刻L
BTSの状態の一例を示す図である。
【0094】図9に示すように、バス網シミュレータ1
aのイベントキューには、最も時刻が古いイベントとし
て時刻T=5のイベントが2つ格納されている。また、
この時刻において、送受信装置2aの受信部22のバッ
ファ42における到着イベントキューには、他のシミュ
レータ1b,1cから送信されてきた時刻=5のイベン
トが2つ格納されている。
【0095】この状態では、イベントキューに格納され
ているイベントの時刻のうち最も古いイベントの時刻
は、時刻T=5であり、また、最も古いイベントの時刻
MNETも時刻T=5である。また、バス網シミュレー
タ1aが他のシミュレータ1b,1cに対してイベント
を送信することがない時刻LAが3である場合、バス網
シミュレータ1aによりあるイベントが処理されたこと
により生成するイベントの時刻は、現在の時刻T=5に
LA(=3)を加えた時刻T=8以上であることが保証
される。例えば、バス網において、ある乗り換え地点を
発車して次の乗り換え地点で降車するまでに必ず3時刻
要する場合、LAを3としておけば、このイベントの処
理により生成されるイベントは、その時点から3時刻以
降であることが保証される。
【0096】また鉄道網シミュレータ1bおよび乗り換
えシミュレータ1cのイベントキューおよび到着イベン
トキューも、一例として、図9に示すようになる。
【0097】以上のように、この実施の形態2によれ
ば、シミュレーションの一例として、バス網シミュレー
タ1a、鉄道網シミュレータ1bおよび乗り換えシミュ
レータ1cを使用して人の流れをシミュレーションする
ことができるという効果が得られる。
【0098】なお、本発明は、上記実施の形態1,2に
限定されるものではなく、当業者による自明な各種変更
を施しても同様の効果が得られる。また、実施の形態2
におけるイベントの形式は一例であって他の形式でもよ
い。さらに、実施の形態2では、シミュレータおよび送
受信装置の数はそれぞれ3であるが、シミュレーション
の種類に応じて他の数でもよい。
【0099】
【発明の効果】以上のように、この発明によれば、各シ
ミュレータがシミュレーションの進行に伴い生成した他
のシミュレータ宛のシミュレーションデータを送受信装
置に供給し、送受信装置がシミュレータからのシミュレ
ーションデータを大域データと局所データとに分類し、
大域データを分散シミュレーション制御装置に送信し、
他のシミュレータを宛先として局所データを送信し、分
散シミュレーション制御装置が各シミュレータの大域デ
ータに基づいて、局所データの制御情報をシミュレータ
毎に計算して送受信装置に送信し、送受信装置がシミュ
レータ宛の局所データおよび分散シミュレーション制御
装置からの制御情報を受信し、その制御情報に基づい
て、受信した局所データをシミュレータに転送するよう
にしたので、分散シミュレーション制御装置が1台で済
み、また局所データの通信効率を良好にして効率よくシ
ミュレーションを実行することができるという効果があ
る。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による分散シミュレ
ーションシステムの構成を示すブロック図である。
【図2】 実施の形態1による分散シミュレーションシ
ステムの詳細な動作について説明するフローチャートで
ある。
【図3】 図2における時刻の進行の詳細について説明
するフローチャートである。
【図4】 図2における到着イベントの取り出しの詳細
について説明するフローチャートである。
【図5】 図2におけるイベントの送信の詳細について
説明するフローチャートである。
【図6】 この発明の実施の形態2による分散シミュレ
ーションシステムの構成を示すブロック図である。
【図7】 バス網、鉄道網および乗り換え網からなる交
通網の一例をグラフで示す図である。
【図8】 実施の形態2におけるシミュレータの動作に
ついて説明する図である。
【図9】シミュレータのイベントキューならびに時刻
T、MNET、LAおよびLBTSの状態の一例を示す
図である。
【図10】 従来の分散シミュレーションシステム
(1)の構成を示すブロック図である。
【図11】 従来の分散シミュレーションシステム
(2)の構成を示すブロック図である。
【符号の説明】
1 シミュレータ、1a バス網シミュレータ(シミュ
レータ)、1b 鉄道網シミュレータ(シミュレー
タ)、1c 乗り換えシミュレータ(シミュレータ)、
2,2a,2b,2c 送受信装置、3 分散シミュレ
ーション制御装置。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数のシミュレータと、前記分散シミュ
    レーション制御装置と前記シミュレータとの間、および
    前記シミュレータ間で前記シミュレーションデータを送
    受する送受信装置と、前記複数のシミュレータにより実
    行されるシミュレーションを制御する分散シミュレーシ
    ョン制御装置とを備える分散シミュレーションシステム
    において、 各シミュレータは、シミュレーションの進行に伴い他の
    シミュレータ宛のシミュレーションデータを生成する
    と、そのシミュレーションデータを前記送受信装置に供
    給し、 前記送受信装置は、前記シミュレータからのシミュレー
    ションデータを大域データと局所データとに分類し、前
    記大域データを前記分散シミュレーション制御装置に送
    信し、他のシミュレータを宛先にして前記局所データを
    送信し、シミュレータ宛の前記局所データと、前記分散
    シミュレーション制御装置からの制御情報とを受信し、
    その制御情報に基づいて、受信した局所データを宛先の
    前記シミュレータに転送し、 前記分散シミュレーション制御装置は、前記大域データ
    を管理し、各シミュレータからの前記大域データに基づ
    いて、前記制御情報をシミュレータ毎に計算して前記送
    受信装置に送信することを特徴とする分散シミュレーシ
    ョンシステム。
  2. 【請求項2】 送受信装置は、シミュレータからの1つ
    のシミュレーションデータに大域データと局所データと
    が含まれる場合、そのシミュレーションデータを大域デ
    ータと局所データとに分割することを特徴とする請求項
    1記載の分散シミュレーションシステム。
  3. 【請求項3】 各シミュレータは、自己の購読する局所
    データ、および自己の公開する局所データを宣言し、 送受信装置は、各シミュレータによるその宣言で、各シ
    ミュレータと、そのシミュレータからの各局所データの
    宛先となる他のシミュレータとの対応関係を認識し、そ
    の対応関係に基づいて各局所データの宛先を決定するこ
    とを特徴とする請求項1記載の分散シミュレーションシ
    ステム。
  4. 【請求項4】 送受信装置は、シミュレータから分散シ
    ミュレーション制御装置への大域データの送信にはユニ
    キャストプロトコルを使用し、シミュレータから他のシ
    ミュレータへの局所データの送信の際に、宛先が複数あ
    る場合にはマルチキャストプロトコルを使用することを
    特徴とする請求項1記載の分散シミュレーションシステ
    ム。
  5. 【請求項5】 分散シミュレーション制御装置は、シミ
    ュレータへの制御情報の送信の際に、宛先が複数ある場
    合にはマルチキャストプロトコルを使用することを特徴
    とする請求項1記載の分散シミュレーションシステム。
  6. 【請求項6】 複数のシミュレータと、前記分散シミュ
    レーション制御装置と前記シミュレータとの間、および
    前記シミュレータ間で前記シミュレーションデータを送
    受する送受信装置と、前記複数のシミュレータにより実
    行されるシミュレーションを制御する分散シミュレーシ
    ョン制御装置とを備える分散シミュレーションシステム
    における分散シミュレーション制御方法において、 各シミュレータがシミュレーションの進行に伴い生成し
    た他のシミュレータ宛のシミュレーションデータを前記
    送受信装置に供給するステップと、 前記送受信装置が前記シミュレータからのシミュレーシ
    ョンデータを大域データと局所データとに分類し、前記
    大域データを前記分散シミュレーション制御装置に送信
    し、他のシミュレータを宛先として前記局所データを送
    信するステップと、 前記分散シミュレーション制御装置が各シミュレータの
    前記大域データに基づいて、局所データの制御情報をシ
    ミュレータ毎に計算して前記送受信装置に送信するステ
    ップと、 前記送受信装置がシミュレータ宛の前記局所データおよ
    び前記分散シミュレーション制御装置からの前記制御情
    報を受信し、その制御情報に基づいて、受信した局所デ
    ータを前記シミュレータに転送するステップとを備える
    ことを特徴とする分散シミュレーション制御方法。
  7. 【請求項7】 シミュレータからの1つのシミュレーシ
    ョンデータに大域データと局所データとが含まれる場
    合、送受信装置がそのシミュレーションデータを大域デ
    ータと局所データとに分割することを特徴とする請求項
    6記載の分散シミュレーション制御方法。
  8. 【請求項8】 各シミュレータが、自己の購読する局所
    データ、および自己の公開する局所データを宣言し、 送受信装置が、各シミュレータによるその宣言で、各シ
    ミュレータと、そのシミュレータからの各局所データの
    宛先となる他のシミュレータとの対応関係を認識し、そ
    の対応関係に基づいて各局所データの宛先を決定するこ
    とを特徴とする請求項6記載の分散シミュレーション制
    御方法。
  9. 【請求項9】 シミュレータから分散シミュレーション
    制御装置への大域データの送信には送受信装置がユニキ
    ャストプロトコルを使用し、シミュレータから他のシミ
    ュレータへの局所データの送信の際に、宛先が複数ある
    場合には送受信装置がマルチキャストプロトコルを使用
    することを特徴とする請求項6記載の分散シミュレーシ
    ョン制御方法。
  10. 【請求項10】 シミュレータへの制御情報の送信の際
    に、宛先が複数ある場合には分散シミュレーション制御
    装置がマルチキャストプロトコルを使用することを特徴
    とする請求項6記載の分散シミュレーション制御方法。
JP2000333232A 2000-10-31 2000-10-31 分散シミュレーションシステムおよび分散シミュレーション制御方法 Pending JP2002140207A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000333232A JP2002140207A (ja) 2000-10-31 2000-10-31 分散シミュレーションシステムおよび分散シミュレーション制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000333232A JP2002140207A (ja) 2000-10-31 2000-10-31 分散シミュレーションシステムおよび分散シミュレーション制御方法

Publications (1)

Publication Number Publication Date
JP2002140207A true JP2002140207A (ja) 2002-05-17

Family

ID=18809343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000333232A Pending JP2002140207A (ja) 2000-10-31 2000-10-31 分散シミュレーションシステムおよび分散シミュレーション制御方法

Country Status (1)

Country Link
JP (1) JP2002140207A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084121A (ja) * 2006-09-28 2008-04-10 Fujitsu Ten Ltd シミュレーションシステム及びシミュレーション方法
JP2012018508A (ja) * 2010-07-07 2012-01-26 Nec Corp 分散シミュレーションシステム、分散シミュレーション方法およびプログラム
CN107332642A (zh) * 2017-07-11 2017-11-07 厦门声戎科技有限公司 基于海洋哺乳类动物信号合成的低截获概率波形设计方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194680A (ja) * 1995-01-13 1996-07-30 Fuji Xerox Co Ltd 離散事象の分散シミュレーション装置
JPH1091609A (ja) * 1996-09-10 1998-04-10 Mitsubishi Electric Corp 分散シミュレーションシステム
JPH10198651A (ja) * 1997-01-09 1998-07-31 Mitsubishi Electric Corp 分散シミュレーション方法
JPH10198649A (ja) * 1997-01-09 1998-07-31 Mitsubishi Electric Corp 分散シミュレーション装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194680A (ja) * 1995-01-13 1996-07-30 Fuji Xerox Co Ltd 離散事象の分散シミュレーション装置
JPH1091609A (ja) * 1996-09-10 1998-04-10 Mitsubishi Electric Corp 分散シミュレーションシステム
JPH10198651A (ja) * 1997-01-09 1998-07-31 Mitsubishi Electric Corp 分散シミュレーション方法
JPH10198649A (ja) * 1997-01-09 1998-07-31 Mitsubishi Electric Corp 分散シミュレーション装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084121A (ja) * 2006-09-28 2008-04-10 Fujitsu Ten Ltd シミュレーションシステム及びシミュレーション方法
JP2012018508A (ja) * 2010-07-07 2012-01-26 Nec Corp 分散シミュレーションシステム、分散シミュレーション方法およびプログラム
CN107332642A (zh) * 2017-07-11 2017-11-07 厦门声戎科技有限公司 基于海洋哺乳类动物信号合成的低截获概率波形设计方法
CN107332642B (zh) * 2017-07-11 2019-07-30 厦门声戎科技有限公司 基于海洋哺乳类动物信号合成的低截获概率波形设计方法

Similar Documents

Publication Publication Date Title
CN110086891B (zh) 基于dds协议在自动驾驶中实现分布式通信的方法
CN101449532B (zh) 用于基于功能冗余的服务质量的方法和系统
JP4763791B2 (ja) ネットワーク相互接続装置におけるmacアドレステーブルの最適化された同期
KR102410422B1 (ko) 네트워크에서의 분산 프로세싱
CN114500405B (zh) 一种多类型业务应用的资源分配、获取方法及装置
JP2003502729A (ja) ソフトウエア要素間の通信
CN111309488B (zh) 无人机集群的计算资源共享方法与系统及计算机存储介质
CN116755867B (zh) 一种面向卫星云的计算资源调度系统、方法及存储介质
EP1570369A2 (en) An apparatus and method for receive transport protocol termination
JPH11196112A (ja) マルチキャスト送信方法
Gadasin et al. Organization of Interaction between the Concept of Fog Computing and Segment Routing for the Provision of IoT Services in Smart Grid Networks
CN111478839B (zh) 一种物理总线及操作系统解耦的分布式航空通信系统
Lin et al. Integrating mobile edge computing into unmanned aerial vehicle networks: An SDN-enabled architecture
JP2002140207A (ja) 分散シミュレーションシステムおよび分散シミュレーション制御方法
JP3462064B2 (ja) 分散シミュレーションシステム
WO2012159305A1 (zh) 一种分布式多进程通信方法和装置
CN115102610B (zh) 一种北斗rdss设备的共享方法及装置
CN106790647A (zh) 一种自适应服务管理的方法和系统
US20220391559A1 (en) Multi-agent simulation system
US20210323593A1 (en) Wireless relay device, and memory to store program for controlling wireless relay device
JPH1091609A (ja) 分散シミュレーションシステム
KR20060071767A (ko) 컨텐트 구분에 의한 전송시스템의 클러스터링 장치 및 방법
CN113742048A (zh) 一种酒店云服务系统及其服务方法
CN115664487A (zh) 一种基于大脑神经元聚合架构的智能空地集成网络
CN111541759A (zh) 一种云平台通信系统及其通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071112

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071112

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071112

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101221