JPH11212818A - 分散シミュレーションシステム - Google Patents

分散シミュレーションシステム

Info

Publication number
JPH11212818A
JPH11212818A JP1138698A JP1138698A JPH11212818A JP H11212818 A JPH11212818 A JP H11212818A JP 1138698 A JP1138698 A JP 1138698A JP 1138698 A JP1138698 A JP 1138698A JP H11212818 A JPH11212818 A JP H11212818A
Authority
JP
Japan
Prior art keywords
simulation
simulator
distributed
message
control device
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.)
Granted
Application number
JP1138698A
Other languages
English (en)
Other versions
JP3462064B2 (ja
Inventor
Seiji Mizuno
政治 水野
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 JP01138698A priority Critical patent/JP3462064B2/ja
Publication of JPH11212818A publication Critical patent/JPH11212818A/ja
Application granted granted Critical
Publication of JP3462064B2 publication Critical patent/JP3462064B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 複数のシミュレータを複数の分散シミュレー
ション制御装置で制御すると共に複数の分散シミュレー
ション制御装置間のシミュレーションの制御内容に矛盾
が生じない分散シミュレーションシステムを得る。 【解決手段】 シミュレータ1a〜1cは、タイムスタ
ンプ付加機構5a〜5cでタイムスタンプを付加したシ
ミュレーションメッセージをメッセージ配布機構7a〜
7cで分散シミュレーション制御装置2a〜2cに送信
する。分散シミュレーション制御装置2a〜2cは、シ
ミュレータ1a〜1cから受信した複数のシミュレーシ
ョンメッセージをオーダリング機構6a〜6cで付加さ
れたタイムスタンプの小さい順に取り出して処理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、独立して動作する
複数のシミュレータがネットワークを介しデータを交換
しながら統合してシミュレーションを行なう分散シミュ
レーションシステムに関する。
【0002】
【従来の技術】図17は例えば古市他「Distributed In
teractive Simulation (DIS++) 技術をベースとした異
機種シミュレータ統合環境の試作」(第16回シミュレ
ーション・テクノロジー・コンファレンス発表論文集、
pp.269−272、1997年6月)に記載されて
いる従来の分散シミュレーションシステムの構成を示す
ブロック図である。図17において、1a〜1cは例え
ば艦船や航空機、センサ、信号処理アルゴリズム等を模
擬するシミュレータ、2は複数のシミュレータ1a〜1
c間のデータ交換を制御するとともに、各々のシミュレ
ータの時刻進行を制御する分散シミュレーション制御装
置、3はシミュレータ1a〜1c及び分散シミュレーシ
ョン制御装置2を相互に接続するネットワーク、4a〜
4c及び4Aはネットワーク3を介してシミュレータ1
a〜1c及び分散シミュレーション制御装置2との間で
データを転送する通信機構であり、この従来の分散シミ
ュレーションシステムでは、1つの分散シミュレーショ
ン制御装置2ですべてのシミュレータ1a〜1cを管理
する方式を採る。
【0003】次に動作について説明する。ここでは、シ
ミュレータ同士が連携して動作する一例として、シミュ
レータ1aが何らかのデータを更新しながらシミュレー
ションを継続し、シミュレータ1b、1cがシミュレー
タ1aで更新されたデータを参照しながら、シミュレー
ションを行なうといった場合について説明する。
【0004】まず、シミュレータ1aの動作について説
明する。図2はこの場合のシミュレータ1aの処理の流
れを表す図である。シミュレータ1aは、シミュレーシ
ョンを開始するに当り、分散シミュレーション制御装置
2にシミュレーションに参加することを通知する(S1
001)。すなわち、通信機構4aによって、分散シミ
ュレーション制御装置2にシミュレーションに参加する
ことを意味するシミュレーションメッセージがネットワ
ーク3を介して送信される。
【0005】ここで、シミュレーションメッセージは、
例えば、図16に示すような構成となっている。つま
り、どういった内容のメッセージであるかを意味するメ
ッセージのタイプと、各メッセージに付加される引数で
ある。シミュレーションに参加する場合には、例えば、
参加するシミュレーションの名前、自シミュレータの名
前等が引数となる。また、データを更新する場合には、
更新時刻や、更新するデータの内容等が引数となる。
【0006】次に、シミュレータ1aは、分散シミュレ
ーション制御装置2にデータを公開することを宣言する
(S1002)。すなわち、通信機構4aによって、分
散シミュレーション制御装置2にデータの公開を宣言す
ることを意味するシミュレーションメッセージがネット
ワーク3を介して送信される。この時、シミュレーショ
ンメッセージの引数には、例えば、公開するデータの種
類等が含まれる。こうして、シミュレータ1aはシミュ
レーションを計算するための前処理を終え、次に、1時
刻分のシミュレーションを行なう(S1003)。シミ
ュレーションを行なった結果、更新すべきデータを分散
シミュレーション制御装置2に送る(S1004)。す
なわち、通信機構4aによって、分散シミュレーション
制御装置2にデータの更新を意味するシミュレーション
メッセージがネットワーク3を介して送信される。
【0007】シミュレータ1aは、すべての更新内容を
分散シミュレーション制御装置2に送り終えると、次の
時刻への進行要求を分散シミュレーション制御装置2に
送る(S1005)。すなわち、通信機構4aによっ
て、分散シミュレーション制御装置2に時刻進行要求を
意味するシミュレーションメッセージがネットワーク3
を介して送信される。この時、シミュレーションメッセ
ージの引数には、例えば、進行したい時刻等が含まれ
る。
【0008】シミュレータ1aは、時刻進行要求を分散
シミュレーション制御装置2に送ると、分散シミュレー
ション制御装置2によって時刻進行を許可されるまで、
分散シミュレーション制御装置2からのシミュレーショ
ンメッセージを受信する(S1006)。すなわち、通
信機構4aによって、分散シミュレーション制御装置2
からシミュレーションメッセージが到着していないかを
確認し、到着している場合にはそのメッセージを受信す
る。
【0009】次に、受信したシミュレーションメッセー
ジの内容を解析し、それに対応した処理を行なう。ここ
で、分散シミュレーション制御装置2から送信されるシ
ミュレーションメッセージは、例えば、他のシミュレー
タによるデータの更新内容、時刻進行の許可等である。
シミュレータ1aは、データの参照を宣言していない、
すなわち、他のシミュレータで更新されるデータを参照
しないため、ここでは主に時刻進行の許可を意味するシ
ミュレーションメッセージを受け取ることとなる。
【0010】シミュレータ1aは、分散シミュレーショ
ン制御装置2から時刻進行の許可を受け取ると、シミュ
レーションの終了するかどうか判断し(S1007)、
シミュレーションを継続する場合には次時刻のシミュレ
ーションを行なう(S1003)。こうしてシミュレー
ションを終了するまで、S1003〜S1007を繰り
返し実行する。
【0011】シミュレータ1aは、シミュレーションを
終了すると、分散シミュレーション制御装置2にシミュ
レーションから脱退することを通知する(S100
8)。すなわち、通信機構4aによって、分散シミュレ
ーション制御装置2にシミュレーションから脱退するこ
とを意味するシミュレーションメッセージがネットワー
ク3を介して送信される。
【0012】次に、シミュレータ1b及びcの動作につ
いて説明する。シミュレータ1bとシミュレータ1c
は、シミュレーションの内容が同じ場合でも、あるいは
異なる場合でもほぼ同一の動作をする。図4は、シミュ
レータ1b及び1cの処理の流れを表す図である。ま
ず、シミュレータ1b(もしくは1c)は、シミュレー
タ1aと同様に、分散シミュレーション制御装置2にシ
ミュレーションに参加することを通知する(S110
1)。すなわち、通信機構4b(もしくは4c)によっ
て、分散シミュレーション制御装置2にシミュレーショ
ンに参加することを意味するシミュレーションメッセー
ジがネットワーク3を介して送信される。
【0013】次に、シミュレータ1b(もしくは1c)
は、分散シミュレーション制御装置2にデータを参照す
ることを宣言する(S1102)。すなわち、通信機構
4b(もしくは4c)によって、分散シミュレーション
制御装置2にデータの参照を宣言することを意味するシ
ミュレーションメッセージがネットワーク3を介して送
信される。この時、シミュレーションメッセージの引数
には、例えば、参照するデータの種類等が含まれる。
【0014】次に、シミュレータ1b(もしくは1c)
は、1時刻分のシミュレーションを行なう(S110
3)。シミュレータ1aと異なり、シミュレータ1b
(もしくは1c)は、データの公開を宣言していないた
め、更新すべきデータを分散シミュレーション制御装置
2に送る必要はない。
【0015】次に、シミュレータ1b(もしくは1c)
は、次の時刻への進行要求を分散シミュレーション制御
装置2に送る(S1104)。すなわち、通信機構4b
(もしくは4c)によって、分散シミュレーション制御
装置2に時刻進行要求を意味するシミュレーションメッ
セージがネットワーク3を介して送信される。
【0016】シミュレータ1b(もしくは1c)は、時
刻進行要求を分散シミュレーション制御装置2に送る
と、分散シミュレーション制御装置2によって時刻進行
を許可されるまで、分散シミュレーション制御装置2か
らのシミュレーションメッセージを受信する(S110
5)。すなわち、通信機構4b(もしくは4c)によっ
て、分散シミュレーション制御装置2からシミュレーシ
ョンメッセージが到着していないかを確認し、到着して
いる場合にはそのメッセージを受信する(S110
6)。次に、受信したシミュレーションメッセージの内
容を解析し、それに対応した処理を行なう(S110
7)。
【0017】ここで、シミュレータ1b(もしくは1
c)は、データの参照を宣言しているため、他のシミュ
レータによりデータが更新された場合には、分散シミュ
レーション制御装置2からその更新内容が伝達される。
すなわち、データの更新を意味するシミュレーションメ
ッセージが分散シミュレーション制御装置2から送られ
てくる。したがって、S1106において、データの更
新を意味するシミュレーションメッセージを受信する。
【0018】次に、S1107において、受信したシミ
ュレーションメッセージがデータの更新を意味するもの
であることを認識し、シミュレーションメッセージの引
数として格納されている更新時刻や更新内容を参照し、
次時刻のシミュレーションの内容に反映させる。そし
て、再び、S1106において、シミュレーションメッ
セージの到着を待つ。
【0019】シミュレータ1b(もしくは1c)は、S
1106において時刻進行の許可を意味するシミュレー
ションメッセージを受信すると、S1107において時
刻進行が許可されたことを認識すると共に、これ以上デ
ータの更新がないことを認識する。そして、シミュレー
ションの終了するかどうか判断し(S1108)、シミ
ュレーションを継続する場合には次時刻のシミュレーシ
ョンを行なう(S1103)。こうしてシミュレーショ
ンを終了するまで、S1103〜S1108を繰り返し
実行する。
【0020】シミュレータ1b(もしくは1c)はシミ
ュレーションを終了すると、分散シミュレーション制御
装置2にシミュレーションから脱退することを通知する
(S1109)。すなわち、通信機構4b(もしくは4
c)によって、分散シミュレーション制御装置2にシミ
ュレーションから脱退することを意味するシミュレーシ
ョンメッセージがネットワーク3を介して送信される。
【0021】次に、分散シミュレーション制御装置2の
動作について説明する。図15は分散シミュレーション
制御装置2の処理の流れを表す図である。分散シミュレ
ーション制御装置2は、シミュレータ1a〜1cからシ
ミュレーションメッセージが到着するのを待つ(S12
01)。シミュレーションメッセージが到着したら、そ
のシミュレーションメッセージを受信する(S120
2)。すなわち、通信機構4Aによって、シミュレータ
1a〜1cからシミュレーションメッセージが到着して
いないかを確認し、到着している場合にはそのメッセー
ジを受信する。
【0022】次に、分散シミュレーション制御装置2
は、受信したシミュレーションメッセージを解析し、そ
れに対する処理を行なう(S1203)。すなわち、分
散シミュレーション制御装置2内部で管理しているシミ
ュレーション情報の更新、追ってシミュレータにシミュ
レーションメッセージを送信すべきかどうかの判断、シ
ミュレータへのシミュレーションメッセージの送信等を
行なう。例えば、受信したシミュレーションメッセージ
が時刻進行を要求するものであれば、そのシミュレータ
の時刻の進行を許可すべきかどうか判断し、許可して良
い場合には時刻進行を許可するシミュレーションメッセ
ージをシミュレータに対して送信する。すなわち、通信
機構4Aによって、シミュレータメッセージがネットワ
ーク3を介して送信される。
【0023】分散シミュレーション制御装置2は受信し
たシミュレーションメッセージの処理を終えると、再び
シミュレータ1a〜1cからシミュレーションメッセー
ジが到着するのを待つ(S1201)。つまり、分散シ
ミュレーション制御装置2はS1201〜S1203の
処理を繰り返し実行することとなる。
【0024】次に、分散シミュレーション制御装置2の
動作をより具体的に説明するため、シミュレータ1a〜
1cが分散シミュレーション制御装置2に送信した複数
のシミュレーションメッセージが、例えば図6に示すよ
うな順序で、分散シミュレーション制御装置2に到着し
た場合について、分散シミュレーション制御装置2の動
作を説明する。
【0025】分散シミュレーション制御装置2は、シミ
ュレーションへの参加を意味するシミュレーションメッ
セージM1、M2、M3をそれぞれシミュレータ1a、
1b、1cから順番に受け取る。これにより、シミュレ
ーションにシミュレータ1a、1b、1cが参加したこ
とを認識する。
【0026】次に、分散シミュレーション制御装置2
は、シミュレータ1aからデータを公開することを意味
するシミュレーションメッセージM4を受け取り、今
後、シミュレータ1aがデータを更新することを認識す
る。これに続いて、シミュレータ1b及び1cから、デ
ータを参照することを意味するシミュレーションメッセ
ージM5、M6を受け取り、データが更新された場合
に、シミュレータ1b及び1cに、その更新内容を伝達
する必要があることを認識する。
【0027】次に、分散シミュレーション制御装置2
は、シミュレータ1aからデータの更新を意味するシミ
ュレーションメッセージM7を受け取る。このデータの
更新内容は、シミュレータ1b及び1cに伝達する必要
があるため、分散シミュレーション制御装置2は、シミ
ュレータ1b及び1cにデータの更新内容を伝達するた
めのシミュレーションメッセージを作成し、シミュレー
タ1b及び1cに作成したシミュレーションメッセージ
を送信すべきかどうか判断する。現時点では、シミュレ
ータ1a、1b、1cのいずれも、時刻進行を要求して
いなく、すなわち、シミュレーションを実行中であるた
め、上記シミュレーションメッセージは送信すべきでな
いと認識する。
【0028】次に、分散シミュレーション制御装置2
は、シミュレータ1aから時刻進行の要求を意味するシ
ミュレーションメッセージM8を受け取る。これによ
り、分散シミュレーション制御装置2は、シミュレータ
1aが1時刻分のシミュレーションを終了したこと、デ
ータの更新がこれ以上発生しないことを認識する。そし
て、シミュレータ1aの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1b及び1cが、シ
ミュレータ1aの要求している時刻に影響を及ぼす可能
性があるかを調査し、影響を及ぼす可能性がなければシ
ミュレータ1aの時刻進行を許可し、影響を及ぼす可能
性があればシミュレータ1aの時刻進行を許可しない。
もし、シミュレータ1aの時刻進行を許可しない場合に
は、状況が変化した場合、すなわち、シミュレータ1b
とシミュレータ1cのいずれか、あるいは、いずれもが
1時刻分のシミュレーションを終了した場合、すなわ
ち、シミュレータ1bとシミュレータ1cのいずれか、
あるいは、いずれもから時刻進行の要求を意味するシミ
ュレーションメッセージを受け取った場合に、再度シミ
ュレータ1aの時刻進行を許可すべきかどうか判断す
る。
【0029】ここでは、例えば、シミュレータ1bが影
響を及ぼす可能性があり、シミュレータ1cは影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2は、シミュレータ1aの時刻進行を
許可すべきでないと判断する。次に、分散シミュレーシ
ョン制御装置2は、シミュレータ1bから時刻進行の要
求を意味するシミュレーションメッセージM9を受け取
る。これにより、分散シミュレーション制御装置2は、
シミュレータ1bが1時刻分のシミュレーションを終了
したことを認識する。分散シミュレーション制御装置2
は、シミュレータ1bにデータの更新内容を伝達する必
要があることを認識しているため、データの更新内容を
伝達し、その後時刻進行を許可する必要がある。
【0030】まず、データの更新内容を伝達する動作に
ついて説明する。分散シミュレーション制御装置2は、
シミュレータ1bに伝達すべき更新内容が存在するか確
認する。すなわち、シミュレータ1bにデータの更新内
容を伝達するためのシミュレーションメッセージを作成
しているかどうかを確認する。分散シミュレーション制
御装置2は、これ以前に、シミュレータ1aからデータ
の更新を意味するシミュレーションメッセージM7を受
け取り、シミュレータ1bにデータの更新内容を伝達す
るためのシミュレーションメッセージを作成しているの
で、シミュレータ1bに伝達すべき更新内容が存在する
と判断する。
【0031】次に、シミュレータ1bにデータの更新内
容を伝達するためのシミュレーションメッセージを送信
すべきかどうか判断する。すなわち、シミュレータ1a
及び1cが、伝達すべきデータ更新内容に影響を及ぼす
可能性があるかを調査し、影響を及ぼす可能性がなけれ
ばシミュレータ1bへ更新内容を伝達し、影響を及ぼす
可能性があればシミュレータ1bへ更新内容を伝達しな
い。もし、シミュレータ1bへ更新内容を伝達しない場
合には、状況が変化した場合、すなわち、シミュレータ
1aとシミュレータ1cのいずれか、あるいは、いずれ
もが1時刻分のシミュレーションを終了した場合、すな
わち、シミュレータ1aとシミュレータ1cのいずれ
か、あるいは、いずれもから時刻進行の要求を意味する
シミュレーションメッセージを受け取った場合に、再度
シミュレータ1bへ更新内容を伝達すべきかどうか判断
する。
【0032】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性がなく、シミュレータ1cが影響を及
ぼす可能性がある場合について説明する。分散シミュレ
ーション制御装置2は、シミュレータ1bへ更新内容を
伝達するためのシミュレーションメッセージを送信しな
い。
【0033】次に、時刻進行を許可する動作について説
明する。分散シミュレーション制御装置2は、シミュレ
ーションメッセージM8を受け取った場合と同様に、シ
ミュレータ1bが1時刻分のシミュレーションを終了し
たことを認識し、シミュレータ1bの時刻進行を許可す
べきかどうか判断する。すなわち、シミュレータ1a及
び1cが、シミュレータ1bの要求している時刻に影響
を及ぼす可能性があるかを調査し、影響を及ぼす可能性
がなければシミュレータ1bの時刻進行を許可し、影響
を及ぼす可能性があればシミュレータ1bの時刻進行を
許可しない。もし、シミュレータ1bの時刻進行を許可
しない場合には、状況が変化した場合、すなわち、シミ
ュレータ1aとシミュレータ1cのいずれか、あるい
は、いずれもが 1 時刻分のシミュレーションを終了し
た場合、すなわち、シミュレータ1aとシミュレータ1
cのいずれか、あるいは、いずれもから時刻進行の要求
を意味するシミュレーションメッセージを受け取った場
合に、再度シミュレータ1bの時刻進行を許可すべきか
どうか判断する。
【0034】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性がなく、シミュレータ1cが影響を及
ぼす可能性がある場合について説明する。分散シミュレ
ーション制御装置2は、シミュレータ1bの時刻進行を
許可すべきでないと判断する。次に、分散シミュレーシ
ョン制御装置2は、シミュレータ1bが1時刻分のシミ
ュレーションを終了したため、シミュレーションの状況
が変化したことを認識し、先に許可しなかったシミュレ
ータ1aの時刻進行について、再度時刻進行を許可すべ
きかどうか判断する。すなわち、シミュレータ1b及び
1cが、シミュレータ1aの要求している時刻に影響を
及ぼす可能性があるかを調査し、影響を及ぼす可能性が
なければシミュレータ1aの時刻進行を許可し、影響を
及ぼす可能性があればシミュレータ1aの時刻進行を許
可しない。
【0035】ここでは、例えば、シミュレータ1b及び
1cが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2はシミュレータ1
aの時刻進行を許可できると判断し、シミュレータ1a
に時刻進行を許可するシミュレーションメッセージを送
信する。上記で説明したように、このシミュレーション
メッセージを受信したシミュレータ1aは次時刻のシミ
ュレーションを開始することとなる。
【0036】次に、分散シミュレーション制御装置2
は、シミュレータ1cから時刻進行の要求を意味するシ
ミュレーションメッセージM10を受け取る。これによ
り、分散シミュレーション制御装置2は、シミュレータ
1cが1時刻分のシミュレーションを終了したことを認
識する。分散シミュレーション制御装置2は、シミュレ
ータ1cにデータの更新内容を伝達する必要があること
を認識しているため、シミュレータ1bから時刻進行の
要求を意味するシミュレーションメッセージM9を受け
取った時と同様に、データの更新内容を伝達し、その後
時刻進行を許可する必要がある。
【0037】まず、分散シミュレーション制御装置2
は、シミュレータ1cに伝達すべき更新内容が存在する
か確認する。すなわち、シミュレータ1bと同様に、こ
れ以前に、シミュレータ1aからデータの更新を意味す
るシミュレーションメッセージM7を受け取り、シミュ
レータ1cにデータの更新内容を伝達するためのシミュ
レーションメッセージを作成しているので、シミュレー
タ1cに伝達すべき更新内容が存在すると判断する。
【0038】次に、分散シミュレーション制御装置2
は、シミュレータ1cにデータの更新内容を伝達するた
めのシミュレーションメッセージを送信すべきかどうか
判断する。すなわち、シミュレータ1bと同様に、シミ
ュレータ1a及び1bが、伝達すべきデータ更新内容に
影響を及ぼす可能性があるかを調査し、影響を及ぼす可
能性がなければシミュレータ1cへ更新内容を伝達し、
影響を及ぼす可能性があればシミュレータ1cへ更新内
容を伝達しない。
【0039】ここでは、例えば、シミュレータ1a及び
1bが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2は、データの更新
内容を伝達するためのシミュレーションメッセージをシ
ミュレータ1cに送信する。
【0040】次に、分散シミュレーション制御装置2
は、シミュレータ1cの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、シ
ミュレータ1cの要求している時刻に影響を及ぼす可能
性があるかを調査し、影響を及ぼす可能性がなければシ
ミュレータ1cの時刻進行を許可し、影響を及ぼす可能
性があればシミュレータ1cの時刻進行を許可しない。
【0041】ここでは、例えば、シミュレータ1a及び
1bが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2は、シミュレータ
1cの時刻進行を許可できると判断し、シミュレータ1
cに時刻進行を許可するシミュレーションメッセージを
送信する。上記で説明したように、このシミュレーショ
ンメッセージを受信したシミュレータ1cは次時刻のシ
ミュレーションを開始することとなる。
【0042】次に、分散シミュレーション制御装置2
は、シミュレータ1cが1時刻分のシミュレーションを
終了したため、シミュレーションの状況が変化したこと
を認識し、先にデータの更新内容を伝達しなかったシミ
ュレータ1bについて、再度更新内容を伝達すべきかど
うか判断する。すなわち、シミュレータ1a及び1c
が、伝達すべきデータ更新内容に影響を及ぼす可能性が
あるかを調査し、影響を及ぼす可能性がなければシミュ
レータ1bへ更新内容を伝達し、影響を及ぼす可能性が
あればシミュレータ1bへ更新内容を伝達しない。
【0043】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2は、デー
タの更新内容を伝達するためのシミュレーションメッセ
ージをシミュレータ1bに送信する。
【0044】次に、分散シミュレーション制御装置2
は、先に許可しなかったシミュレータ1bの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、シミュレータ
1bの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1bの時刻進行を許可しない。
【0045】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2は、シミ
ュレータ1bの時刻進行を許可できると判断し、シミュ
レータ1bに時刻進行を許可するシミュレーションメッ
セージを送信する。上記で説明したように、このシミュ
レーションメッセージを受信したシミュレータ1bは次
時刻のシミュレーションを開始することとなる。
【0046】次に、分散シミュレーション制御装置2
は、シミュレータ1bから時刻進行の要求を意味するシ
ミュレーションメッセージM11を受け取る。これによ
り、分散シミュレーション制御装置2は、シミュレータ
1bが1時刻分のシミュレーションを終了したことを認
識する。分散シミュレーション制御装置2は、シミュレ
ーションメッセージM9を受け取ったときと同様に、シ
ミュレータ1bにデータの更新内容を伝達する必要があ
ることを認識しているため、データの更新内容を伝達
し、その後時刻進行を許可する必要がある。
【0047】まず、分散シミュレーション制御装置2
は、シミュレータ1bに伝達すべき更新内容が存在する
か確認する。分散シミュレーション制御装置2は、シミ
ュレータ1bにデータの更新内容を伝達するためのシミ
ュレーションメッセージを新たに作成していないので、
シミュレータ1bに伝達すべき更新内容が存在しないと
判断する。
【0048】次に、分散シミュレーション制御装置2
は、シミュレータ1bの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1a及び1cが、シ
ミュレータ1bの要求している時刻に影響を及ぼす可能
性があるかを調査し、影響を及ぼす可能性がなければシ
ミュレータ1bの時刻進行を許可し、影響を及ぼす可能
性があればシミュレータ1bの時刻進行を許可しない。
【0049】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がある場合につい
て説明する。分散シミュレーション制御装置2は、シミ
ュレータ1bの時刻進行を許可すべきでないと判断す
る。
【0050】次に、分散シミュレーション制御装置2
は、シミュレータ1aからデータの更新を意味するシミ
ュレーションメッセージM12を受け取る。このデータ
の更新内容は、シミュレータ1b及び1cに伝達する必
要があるため、分散シミュレーション制御装置2は、シ
ミュレータ1b及び1cにデータの更新内容を伝達する
ためのシミュレーションメッセージを作成し、シミュレ
ータ1b及び1cに作成したシミュレーションメッセー
ジを送信すべきかどうか判断する。シミュレータ1c
は、シミュレーションを実行中であるので、上記シミュ
レーションメッセージは送信しない。
【0051】次に、シミュレータ1bにデータの更新内
容を伝達するためのシミュレーションメッセージを送信
すべきかどうか判断する。すなわち、シミュレータ1a
及び1cが、伝達すべきデータ更新内容に影響を及ぼす
可能性があるかを調査し、影響を及ぼす可能性がなけれ
ばシミュレータ1bへ更新内容を伝達し、影響を及ぼす
可能性があればシミュレータ1bへ更新内容を伝達しな
い。
【0052】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がある場合につい
て説明する。分散シミュレーション制御装置2は、シミ
ュレータ1bへ更新内容を伝達するためのシミュレーシ
ョンメッセージを送信しない。
【0053】次に、分散シミュレーション制御装置2
は、シミュレータ1cから時刻進行の要求を意味するシ
ミュレーションメッセージM13を受け取る。これによ
り、分散シミュレーション制御装置2は、シミュレータ
1cが1時刻分のシミュレーションを終了したことを認
識する。分散シミュレーション制御装置2は、シミュレ
ータ1cにデータの更新内容を伝達する必要があること
を認識しているため、シミュレーションメッセージM1
0を受け取った時と同様に、データの更新内容を伝達
し、その後時刻進行を許可する必要がある。
【0054】まず、分散シミュレーション制御装置2
は、シミュレータ1cに伝達すべき更新内容が存在する
か確認する。すなわち、シミュレーションメッセージM
12を受け取り、シミュレータ1cにデータの更新内容
を伝達するためのシミュレーションメッセージを作成し
ているので、シミュレータ1cに伝達すべき更新内容が
存在すると判断する。
【0055】次に、分散シミュレーション制御装置2
は、シミュレータ1cにデータの更新内容を伝達するた
めのシミュレーションメッセージを送信すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、伝
達すべきデータ更新内容に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1cへ更新内容を伝達し、影響を及ぼす可能性があれば
シミュレータ1cへ更新内容を伝達しない。
【0056】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1bが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2は、シミュレータ1cへ更新内容を
伝達するためのシミュレーションメッセージを送信しな
い。
【0057】次に、分散シミュレーション制御装置2
は、シミュレータ1cの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、シ
ミュレータ1cの要求している時刻に影響を及ぼす可能
性があるかを調査し、影響を及ぼす可能性がなければシ
ミュレータ1cの時刻進行を許可し、影響を及ぼす可能
性があればシミュレータ1cの時刻進行を許可しない。
【0058】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1bが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2は、シミュレータ1cの時刻進行を
許可すべきでないと判断する。
【0059】次に、分散シミュレーション制御装置2
は、シミュレータ1cが1時刻分のシミュレーションを
終了したため、シミュレーションの状況が変化したこと
を認識し、先にデータの更新内容を伝達しなかったシミ
ュレータ1bについて、再度更新内容を伝達すべきかど
うか判断する。すなわち、シミュレータ1a及び1c
が、伝達すべきデータ更新内容に影響を及ぼす可能性が
あるかを調査し、影響を及ぼす可能性がなければシミュ
レータ1bへ更新内容を伝達し、影響を及ぼす可能性が
あればシミュレータ1bへ更新内容を伝達しない。
【0060】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1cが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2は、シミュレータ1bへ更新内容を
伝達するためのシミュレーションメッセージを送信しな
い。
【0061】次に、分散シミュレーション制御装置2
は、先に許可しなかったシミュレータ1bの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、シミュレータ
1bの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1bの時刻進行を許可しない。
【0062】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1cが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2は、シミュレータ1bの時刻進行を
許可すべきでないと判断する。
【0063】次に、分散シミュレーション制御装置2
は、シミュレータ1aから時刻進行の要求を意味するシ
ミュレーションメッセージM14を受け取る。シミュレ
ータ1aが1時刻分のシミュレーションを終了したこ
と、データの更新がこれ以上発生しないことを認識し、
シミュレータ1aの時刻進行を許可すべきかどうか判断
する。すなわち、シミュレータ1b及び1cが、シミュ
レータ1aの要求している時刻に影響を及ぼす可能性が
あるかを調査し、影響を及ぼす可能性がなければシミュ
レータ1aの時刻進行を許可し、影響を及ぼす可能性が
あればシミュレータ1aの時刻進行を許可しない。
【0064】ここでは、例えば、シミュレータ1b及び
1cが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2はシミュレータ1
aの時刻進行を許可できると判断し、シミュレータ1a
に時刻進行を許可するシミュレーションメッセージを送
信する。上記で説明したように、このシミュレーション
メッセージを受信したシミュレータ1aは次時刻のシミ
ュレーションを開始することとなる。
【0065】次に、分散シミュレーション制御装置2
は、シミュレータ1aが1時刻分のシミュレーションを
終了したため、シミュレーションの状況が変化したこと
を認識し、先にデータの更新内容を伝達しなかったシミ
ュレータ1bについて、再度更新内容を伝達すべきかど
うか判断する。すなわち、シミュレータ1a及び1c
が、伝達すべきデータ更新内容に影響を及ぼす可能性が
あるかを調査し、影響を及ぼす可能性がなければシミュ
レータ1bへ更新内容を伝達し、影響を及ぼす可能性が
あればシミュレータ1bへ更新内容を伝達しない。
【0066】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2は、デー
タの更新内容を伝達するためのシミュレーションメッセ
ージをシミュレータ1bに送信する。
【0067】次に、分散シミュレーション制御装置2
は、先に許可しなかったシミュレータ1bの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、シミュレータ
1bの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1bの時刻進行を許可しない。
【0068】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2は、シミ
ュレータ1bの時刻進行を許可できると判断し、シミュ
レータ1bに時刻進行を許可するシミュレーションメッ
セージを送信する。上記で説明したように、このシミュ
レーションメッセージを受信したシミュレータ1bは次
時刻のシミュレーションを開始することとなる。
【0069】次に、分散シミュレーション制御装置2
は、先にデータの更新内容を伝達しなかったシミュレー
タ1cについても、再度更新内容を伝達すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、伝
達すべきデータ更新内容に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1cへ更新内容を伝達し、影響を及ぼす可能性があれば
シミュレータ1cへ更新内容を伝達しない。
【0070】ここでは、例えば、シミュレータ1aもシ
ミュレータ1bも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2は、デー
タの更新内容を伝達するためのシミュレーションメッセ
ージをシミュレータ1cに送信する。
【0071】次に、分散シミュレーション制御装置2
は、先に許可しなかったシミュレータ1cの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1bが、シミュレータ
1cの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1cの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1cの時刻進行を許可しない。
【0072】ここでは、例えば、シミュレータ1aもシ
ミュレータ1bも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2は、シミ
ュレータ1cの時刻進行を許可できると判断し、シミュ
レータ1cに時刻進行を許可するシミュレーションメッ
セージを送信する。上記で説明したように、このシミュ
レーションメッセージを受信したシミュレータ1cは次
時刻のシミュレーションを開始することとなる。
【0073】以上のように、分散シミュレーション制御
装置2は、シミュレータ1a〜1cから受信したシミュ
レーションメッセージを次々と処理していくこととな
る。各シミュレータのシミュレーションが終了すると、
分散シミュレーション制御装置2は各シミュレータから
シミュレーションを脱退することを意味するシミュレー
ションメッセージM15、M16、M17を受け取る。
これにより、分散シミュレーション制御装置2は、シミ
ュレーションからシミュレータ1a、1b、1cが脱退
したことを認識する。
【0074】
【発明が解決しようとする課題】上記のような従来の分
散シミュレーションシステムでは、1つの分散シミュレ
ーション制御装置2ですべてのシミュレータ1a,1
b,1cを管理する方式を採るから、シミュレータが増
加する場合に分散シミュレーション制御装置2に負荷が
集中するため、シミュレーションシステム全体の性能が
低下するという問題点があった。
【0075】このような問題を解決する手段として、例
えばクライアント・サーバシステムやデータベースシス
テムでは、サーバを複数用意することにより、各々の負
荷を軽減させる手法が一般に知られている。この場合に
は、複数のサーバ間でデータの一貫性を保証する必要が
あり、ロックや2フェーズコミットなどの手法が採られ
ている。
【0076】しかし、分散シミュレーションシステムで
は、クライアント・サーバシステムやデータベースシス
テムに比較し、短時間により多くの処理を行なう必要が
ある場合が多い。そのため、クライアント・サーバシス
テムやデータベースシステムで行なわれている手法を用
いて複数の分散シミュレーション制御装置間でデータの
一貫性を保証すると、そのためのオーバーヘッドが大き
く、効果的な性能向上を図れないという問題点があっ
た。
【0077】この発明は上記のような問題点を解消する
ためになされたもので、複数の分散シミュレーション制
御装置によって制御することにより個々の分散シミュレ
ーション制御装置の負荷を軽減し性能向上を図るととも
に、オーバーヘッドの小さい処理によって複数の分散シ
ミュレーション制御装置間の一貫性を保証することがで
きる分散シミュレーションシステムを得ることを目的と
する。
【0078】
【課題を解決するための手段】この発明の分散シミュレ
ーションシステムは、複数のシミュレータと、複数のシ
ミュレータ間のデータ交換を制御すると共に各シミュレ
ータの時刻進行を制御する複数の分散シミュレーション
制御装置とを備え、複数のシミュレータがネットワーク
を介しデータを交換しながら統合してシミュレーション
を行なう分散シミュレーションシステムにおいて、上記
各シミュレータに、上記各分散シミュレーション制御装
置に送信するシミュレーションメッセージにタイムスタ
ンプを付加するタイムスタンプ付加手段を備えると共
に、上記各分散シミュレーション制御装置に、複数のシ
ミュレータから送られてくる複数のシミュレーションメ
ッセージを、付加されたタイムスタンプの小さい順に並
び替え、タイムスタンプの小さなものから順に取り出す
オーダリング手段を備えたことを特徴とするものであ
る。
【0079】また、上記各シミュレータに、1つのシミ
ュレーションメッセージを、分散シミュレーションシス
テム内に存在するすべての分散シミュレーション制御装
置に送信するメッセージ配布手段を備えると共に、上記
各分散シミュレーション制御装置に、分散シミュレーシ
ョンシステム内に存在する複数のシミュレータのうち、
制御しているシミュレータの情報を保持するシミュレー
タ情報保持手段と、このシミュレータ情報保持手段で情
報保持しているシミュレータに対してのみ受信したシミ
ュレーションメッセージに関する処理結果やその他のシ
ミュレータの動作を制御するシミュレーションメッセー
ジを送信するシミュレータ管理・制御手段とを備えたこ
とを特徴とするものである。
【0080】また、上記各分散シミュレーション制御装
置に、受信したシミュレーションメッセージの内容を解
釈し、その内容に応じて他のすべての分散シミュレーシ
ョン制御装置に受信したシミュレーションメッセージを
送信するメッセージ転送手段を備えたことを特徴とする
ものである。
【0081】また、上記シミュレータ情報保持手段は、
分散シミュレーションシステム内に存在する複数のシミ
ュレータのうち、制御している複数のシミュレータの情
報を保持すると共に、上記シミュレータ管理・制御手段
は、上記シミュレータ情報保持手段で情報保持している
複数のシミュレータに対して、受信したシミュレーショ
ンメッセージに関する処理結果やその他のシミュレータ
の動作を制御するシミュレーションメッセージを送信す
ることを特徴とするものである。
【0082】また、上記各分散シミュレーション制御装
置は、どのシミュレータを制御するかを他の分散シミュ
レーション制御装置と調停する制御調停手段と、保持し
ているシミュレータの情報を他の分散シミュレーション
制御装置に伝達する情報伝達手段と、保持しているシミ
ュレータの情報を任意に追加・削除する保持情報変更手
段とを備えたことを特徴とするものである。
【0083】また、上記各分散シミュレーション制御装
置は、分散シミュレーションシステムに新たに自分散シ
ミュレーション制御装置が追加されたことあるいは分散
シミュレーションシステムから自分散シミュレーション
制御装置が削除されることを他の分散シミュレーション
制御装置に伝達する通知手段と、他の分散シミュレーシ
ョン制御装置が新たに追加あるいは削除されることを認
識する認識手段とをさらに備えたことを特徴とするもの
である。
【0084】また、特定のシミュレーション内容を管理
/制御する1つもしくは複数の機能サーバを備えると共
に、上記各分散シミュレーション制御装置に、上記機能
サーバの管理するシミュレーション内容を参照/更新す
る場合に、機能サーバに処理を依頼する手段を備えたこ
とを特徴とするものである。
【0085】さらに、複数のうち任意の分散シミュレー
ション制御装置に、特定のシミュレーション内容を管理
/制御するシミュレーション管理手段を備えると共に、
他の分散シミュレーション制御装置に、シミュレーショ
ン内容を参照/更新する場合に、上記シミュレーション
管理手段を備えた分散シミュレーション制御装置に処理
を依頼する手段を備えたことを特徴とするものである。
【0086】
【発明の実施の形態】実施の形態1.図1は発明の実施
の形態1による分散シミュレーションシステムの構成を
示すブロック図である。図1において、1a〜1cは例
えば艦船や航空機、センサ、信号処理アルゴリズム等を
模擬するシミュレータ、2a〜2cは複数のシミュレー
タ1a〜1c間のデータ交換を制御するとともに、各々
のシミュレータの時刻進行を制御する分散シミュレーシ
ョン制御装置、3はシミュレータ1a〜1c及び分散シ
ミュレーション制御装置2a〜2cを相互に接続するネ
ットワーク、4a〜4c及び4A〜4Cはネットワーク
3を介してシミュレータ1a〜1c及び分散シミュレー
ション制御装置2a〜2cとの間でデータを転送する通
信機構、5a〜5cは分散シミュレーション制御装置2
a〜2cに送信するシミュレーションメッセージにタイ
ムスタンプを付加するタイムスタンプ付加機構、6a〜
6cはシミュレータ1a〜1cから送られてくる複数の
シミュレーションメッセージを、付加されたタイムスタ
ンプの小さい順に並び替え、タイムスタンプの小さなも
のから順に取り出すオーダリング機構、7a〜7cは1
つのシミュレーションメッセージを分散シミュレーショ
ンシステム内に存在するすべての分散シミュレーション
制御装置2a〜2cに送信するメッセージ配布機構、8
a〜8cは分散シミュレーションシステム内に存在する
複数のシミュレータ1a〜1cのうち、制御しているシ
ミュレータの情報を保持するシミュレータ情報保持機
構、9a〜9cはシミュレータ情報保持機構8a〜8c
で保持しているシミュレータに対してのみ受信したシミ
ュレーションメッセージに関する処理結果やその他のシ
ミュレータの動作を制御するシミュレーションメッセー
ジを送信するシミュレータ管理・制御機構である。
【0087】実施の形態1による分散シミュレーション
システムでは、シミュレータからタイムスタンプを付加
したシミュレーションメッセージを同時に複数の分散シ
ミュレーション制御装置に送信し、各分散シミュレーシ
ョン制御装置では複数のシミュレータから送られてくる
複数のシミュレーションメッセージを、付加されたタイ
ムスタンプの小さい順に処理すると共に、シミュレータ
情報保持機構で保持しているシミュレータに対してのみ
受信したシミュレーションメッセージに関する処理結果
やその他のシミュレータの動作を制御するシミュレーシ
ョンメッセージを送信することにより、複数のシミュレ
ータを複数の分散シミュレーション制御装置で制御する
方式を採る。
【0088】次に動作について説明する。ここでは、シ
ミュレータ同士が連携して動作する一例として、シミュ
レータ1aが何らかのデータを更新しながらシミュレー
ションを継続し、シミュレータ1b、1cがシミュレー
タ1aで更新されたデータを参照しながら、シミュレー
ションを行なうといった場合について説明する。
【0089】まず、シミュレータ1aの動作について説
明する。図2はこの場合のシミュレータ1aの処理の流
れを表す図である。シミュレータ1aは、シミュレーシ
ョンを開始するに当り、分散シミュレーション制御装置
2a〜2cにシミュレーションに参加することを通知す
る(S1001)。すなわち、通信機構4aによって、
シミュレーションに参加することを意味するシミュレー
ションメッセージが分散シミュレーション制御装置2a
〜2cにネットワーク3を介して送信される。
【0090】通信機構4aでは、まず、タイムスタンプ
付加機構5aにより、送信するシミュレーションメッセ
ージにタイムスタンプが付加される。ここで、シミュレ
ーションメッセージは、例えば、図3に示すような構成
となる。すなわち、タイムスタンプと、どういった内容
のメッセージであるかを意味するメッセージのタイプ
と、各メッセージに付加される引数より構成される。シ
ミュレーションに参加する場合には、例えば、参加する
シミュレーションの名前、自シミュレータの名前等が引
数となる。また、データを更新する場合には、更新時刻
や、更新するデータの内容等が引数となる。
【0091】次に、メッセージ配布機構7aにより、タ
イムスタンプが付加されたシミュレーションメッセージ
が、分散シミュレーション制御装置2a〜2cに送信さ
れる。ここで、メッセージ配布機構7aでは、シミュレ
ーションメッセージを、ブロードキャスト通信、あるい
はマルチキャスト通信を用いて、分散シミュレーション
制御装置2a〜2cに送信してもよい。あるいは、1対
1の通信を用いて、順に分散シミュレーション制御装置
2a〜2cに送信してもよい。
【0092】次に、シミュレータ1aは、分散シミュレ
ーション制御装置2a〜2cにデータを公開することを
宣言する(S1002)。すなわち、通信機構4aによ
って、データの公開を宣言することを意味するシミュレ
ーションメッセージが分散シミュレーション制御装置2
a〜2cにネットワーク3を介して送信される。この
時、シミュレーションメッセージの引数には、例えば、
公開するデータの種類等が含まれる。
【0093】こうして、シミュレータ1aはシミュレー
ションを計算するための前処理を終え、次に、1時刻分
のシミュレーションを行なう(S1003)。シミュレ
ーションを行なった結果、更新すべきデータを分散シミ
ュレーション制御装置2a〜2cに送る(S100
4)。すなわち、通信機構4aによって、データの更新
を意味するシミュレーションメッセージが分散シミュレ
ーション制御装置2a〜2cにネットワーク3を介して
送信される。
【0094】シミュレータ1aは、すべての更新内容を
分散シミュレーション制御装置2a〜2cに送り終える
と、次の時刻への進行要求を分散シミュレーション制御
装置2a〜2cに送る(S1005)。すなわち、通信
機構4aによって、時刻進行要求を意味するシミュレー
ションメッセージが分散シミュレーション制御装置2a
〜2cにネットワーク3を介して送信される。この時、
シミュレーションメッセージの引数には、例えば、進行
したい時刻等が含まれる。
【0095】シミュレータ1aは、時刻進行要求を分散
シミュレーション制御装置2a〜2cに送ると、時刻進
行を許可されるまで、分散シミュレーション制御装置2
aからのシミュレーションメッセージを受信する(S1
006)。すなわち、通信機構4aによって、分散シミ
ュレーション制御装置2aからシミュレーションメッセ
ージが到着していないかを確認し、到着している場合に
はそのメッセージを受信する。次に、受信したシミュレ
ーションメッセージの内容を解析し、それに対応した処
理を行なう。
【0096】ここで、分散シミュレーション制御装置2
aから送信されるシミュレーションメッセージは、例え
ば、他のシミュレータによるデータの更新内容、時刻進
行の許可等である。シミュレータ1aは、データの参照
を宣言していなく、すなわち、他のシミュレータで更新
されるデータを参照しないため、ここでは主に時刻進行
の許可を意味するシミュレーションメッセージを受け取
ることとなる。
【0097】シミュレータ1aは、分散シミュレーショ
ン制御装置2aから時刻進行の許可を受け取ると、シミ
ュレーションの終了するかどうか判断し(S100
7)、シミュレーションを継続する場合には次時刻のシ
ミュレーションを行なう(S1003)。こうしてシミ
ュレーションを終了するまで、S1003〜S1007
を繰り返し実行する。
【0098】シミュレータ1aは、シミュレーションを
終了すると、分散シミュレーション制御装置2a〜2c
にシミュレーションから脱退することを通知する(S1
008)。すなわち、通信機構4aによって、シミュレ
ーションから脱退することを意味するシミュレーション
メッセージが分散シミュレーション制御装置2a〜2c
にネットワーク3を介して送信される。
【0099】次にシミュレータ1b及び1cの動作につ
いて説明する。シミュレータ1bとシミュレータ1c
は、シミュレーションの内容が同じ場合でも、あるいは
異なる場合でもほぼ同一の動作をする。図4はシミュレ
ータ1b及び1cの処理の流れを表す図である。まず、
シミュレータ1b(もしくは1c) は、シミュレータ1
aと同様に、分散シミュレーション制御装置2a〜2c
にシミュレーションに参加することを通知する(S11
01)。すなわち、通信機構4b(もしくは4c) によ
って、シミュレーションに参加することを意味するシミ
ュレーションメッセージが分散シミュレーション制御装
置2a〜2cにネットワーク3を介して送信される。
【0100】通信機構4b(もしくは4c) では、タイ
ムスタンプ付加機構5b(もしくは5c) により、送信
するシミュレーションメッセージにタイムスタンプが付
加され、メッセージ配布機構7b(もしくは7c) によ
り、タイムスタンプが付加されたシミュレーションメッ
セージを分散シミュレーション制御装置2a〜2cに送
信する。
【0101】次に、シミュレータ1b(もしくは1c)
は、分散シミュレーション制御装置2a〜2cにデータ
を参照することを宣言する(S1102)。すなわち、
通信機構4b(もしくは4c) によって、データの参照
を宣言することを意味するシミュレーションメッセージ
が分散シミュレーション制御装置2a〜2cにネットワ
ーク3を介して送信される。この時、シミュレーション
メッセージの引数には、例えば、参照するデータの種類
等が含まれる。
【0102】次に、シミュレータ1b(もしくは1c)
は、1時刻分のシミュレーションを行なう(S110
3)。シミュレータ1aと異なり、シミュレータ1b
(もしくは1c) は、データの公開を宣言していないた
め、更新すべきデータを分散シミュレーション制御装置
2a〜2cに送る必要はない。
【0103】次に、シミュレータ1b(もしくは1c)
は、次の時刻への進行要求を分散シミュレーション制御
装置2a〜2cに送る(S1104)。すなわち、通信
機構4b(もしくは4c) によって、時刻進行要求を意
味するシミュレーションメッセージが分散シミュレーシ
ョン制御装置2a〜2cにネットワーク3を介して送信
される。
【0104】シミュレータ1b(もしくは1c) は、時
刻進行要求を分散シミュレーション制御装置2a〜2c
に送ると、時刻進行を許可されるまで、分散シミュレー
ション制御装置2b(もしくは2c) からのシミュレー
ションメッセージを受信する(S1105)。すなわ
ち、通信機構4b(もしくは4c) によって、分散シミ
ュレーション制御装置2b(もしくは2c) からシミュ
レーションメッセージが到着していないかを確認し、到
着している場合にはそのメッセージを受信する (S11
06)。次に、受信したシミュレーションメッセージの
内容を解析し、それに対応した処理を行なう (S110
7)。
【0105】ここで、シミュレータ1b(もしくは1
c) は、データの参照を宣言しているため、他のシミュ
レータによりデータが更新された場合には、分散シミュ
レーション制御装置2b(もしくは2c)からその更新
内容が伝達される。すなわち、データの更新を意味する
シミュレーションメッセージが分散シミュレーション制
御装置2b(もしくは2c)から送られてくる。したが
って、S1106において、データの更新を意味するシ
ミュレーションメッセージを受信する。
【0106】次に、S1107において、受信したシミ
ュレーションメッセージがデータの更新を意味するもの
であることを認識し、シミュレーションメッセージの引
数として格納されている更新時刻や更新内容を参照し、
次時刻のシミュレーションの内容に反映させる。そし
て、再び、S1106において、シミュレーションメッ
セージの到着を待つ。
【0107】シミュレータ1b(もしくは1c)は、S
1106において時刻進行の許可を意味するシミュレー
ションメッセージを受信すると、S1107において時
刻進行が許可されたことを認識すると共に、これ以上デ
ータの更新がないことを認識する。そして、シミュレー
ションの終了するかどうか判断し(S1108)、シミ
ュレーションを継続する場合には次時刻のシミュレーシ
ョンを行なう(S1103)。こうしてシミュレーショ
ンを終了するまで、S1103〜S1108を繰り返し
実行する。
【0108】シミュレータ1b(もしくは1c)はシミ
ュレーションを終了すると、分散シミュレーション制御
装置2a〜2cにシミュレーションから脱退することを
通知する(S1109)。すなわち、通信機構4b(も
しくは4c)によって、シミュレーションから脱退する
ことを意味するシミュレーションメッセージが分散シミ
ュレーション制御装置2a〜2cにネットワーク3を介
して送信される。
【0109】次に、分散シミュレーション制御装置2a
〜2cの動作について説明する。分散シミュレーション
制御装置2a〜2cは基本的には同じ動作を行う。図5
は分散シミュレーション制御装置2a〜2cの処理の流
れを表す図である。分散シミュレーション制御装置2a
(あるいは2b、あるいは2c)は、シミュレータ1a
〜1cからシミュレーションメッセージが到着するのを
待つ(S1301)。シミュレーションメッセージが到
着したら、そのシミュレーションメッセージを受信する
(S1302)。すなわち、通信機構4A(あるいは4
B、あるいは4C)によって、シミュレータ1a〜1c
からシミュレーションメッセージが到着していないかを
確認し、到着している場合にはそのメッセージを受信す
る。
【0110】通信機構4A(あるいは4B、あるいは4
C)では、シミュレータ1a〜1cからシミュレーショ
ンメッセージを受信すると、オーダリング機構6a(あ
るいは6b、あるいは6c)によりそのシミュレーショ
ンメッセージを、付加されたタイムスタンプの小さい順
に並び替え、タイムスタンプの小さなものから順に取り
出す。
【0111】ここで、オーダリング機構6a(あるいは
6b、あるいは6c)は、他の分散シミュレーション制
御装置2にも同一のシミュレーションメッセージが到着
していることを保証するため、予め定めた時刻が経過し
てから、タイムスタンプの最も小さなシミュレーション
メッセージを取り出すようにしてもよい。
【0112】また、この時点までに取り出したシミュレ
ーションメッセージのタイムスタンプより小さなタイプ
スタンプをもつシミュレーションメッセージを新たに受
信した場合には、そのシミュレーションメッセージを却
下するようにしてもよい。すなわち、通信機構4A(あ
るいは4B、あるいは4C)は、分散シミュレーション
制御装置2b及び2c( あるいは2a及び2c、あるい
は2a及び2b )、及びそのシミュレーションメッセー
ジを送信したシミュレータにそのメッセージを却下する
旨を通知する。この通知を受け取った分散シミュレーシ
ョン制御装置2は、それに対応するシミュレーションメ
ッセージを処理しないようにする。
【0113】次に、分散シミュレーション制御装置2a
(あるいは2b、あるいは2c)は、受信したシミュレ
ーションメッセージを解析し、それに対する処理を行な
う(S1303)。すなわち、シミュレータ管理・制御
機構9a(あるいは9b、あるいは9c)により、受信
したシミュレーションメッセージが、シミュレータ情報
保持機構8a(あるいは8b、あるいは8c)で保持し
ているシミュレータから送信されたものであるかチェッ
クし、保持していない場合には、シミュレータ情報保持
機構8a(あるいは8b、あるいは8c )で保持してい
るシミュレータの情報に影響がある場合にのみ、その情
報を更新する。影響のない場合には処理しない(S13
04〜S1305)。
【0114】受信したシミュレーションメッセージが、
シミュレータ情報保持機構8a(あるいは8b、あるい
は8c)で保持しているシミュレータから送信されたも
のである場合には、シミュレータ情報保持機構8a(あ
るいは8b、あるいは8c)で保持しているシミュレー
タの情報を更新すると共に、追ってシミュレータにシミ
ュレーションメッセージを送信すべきかどうかの判断、
シミュレータへのシミュレーションメッセージの送信等
を行なう。例えば、受信したシミュレーションメッセー
ジが時刻進行を要求するものであれば、そのシミュレー
タの時刻の進行を許可すべきかどうか判断し、許可して
良い場合には時刻進行を許可するシミュレーションメッ
セージをシミュレータに対して送信する。すなわち、通
信機構4A(あるいは4B、あるいは4C)によって、
シミュレータメッセージがネットワーク3を介して送信
される(S1306〜S1307)。
【0115】分散シミュレーション制御装置2a(ある
いは2b、あるいは2c)は受信したシミュレーション
メッセージの処理を終えると、再びシミュレータ1a〜
cからシミュレーションメッセージが到着するのを待つ
(S1301)。つまり、分散シミュレーション制御装
置2a(あるいは2b、あるいは2c)はS1301〜
S1307の処理を繰り返し実行することとなる。
【0116】次に、分散シミュレーション制御装置2a
〜2cの動作をより具体的に説明するため、シミュレー
タ1a〜1cが分散シミュレーション制御装置2a〜2
cに送信した複数のシミュレーションメッセージが、例
えば、図6に示すような順序で、分散シミュレーション
制御装置2a〜2cに到着した場合について、分散シミ
ュレーション制御装置2a〜2cの動作を説明する。
【0117】もし、ネットワークの遅延により、例え
ば、分散シミュレーション制御装置2cには、図7に示
すような順序でシミュレーションメッセージが到着した
場合でも、オーダリング機構6cによってタイムスタン
プの小さい順に並び替えられるため、結果として図6と
同一の順番で処理されることになる。なお、分散シミュ
レーション制御装置2a及び2bについても同様であ
る。
【0118】分散シミュレーション制御装置2a〜2c
は、シミュレーションへの参加を意味するシミュレーシ
ョンメッセージM1をシミュレータ1aから受け取る。
分散シミュレーション制御装置2a〜2cはシミュレー
ションにシミュレータ1aが参加したことを認識する。
分散シミュレーション制御装置2aは、シミュレータ1
aを制御するため、シミュレータ情報保持機構8aにシ
ミュレータ1aのシミュレーションの情報を保持するよ
うにする。分散シミュレーション制御装置2b及び2c
では、シミュレータ1aを制御しないため、シミュレー
タ情報保持機構8b及び8cにシミュレータ1aのシミ
ュレーションの情報を保持しない。
【0119】次に、分散シミュレーション制御装置2a
〜2cは、シミュレーションへの参加を意味するシミュ
レーションメッセージM2をシミュレータ1bから受け
取る。分散シミュレーション制御装置2a〜2cはシミ
ュレーションにシミュレータ1bが参加したことを認識
する。分散シミュレーション制御装置2bは、シミュレ
ータ1bを制御するため、シミュレータ情報保持機構8
bにシミュレータ1bのシミュレーションの情報を保持
するようにする。分散シミュレーション制御装置2a及
び2cでは、シミュレータ情報保持機構8a及び8cに
シミュレータ1bのシミュレーションの情報を保持しな
い。
【0120】次に、分散シミュレーション制御装置2a
〜2cは、シミュレーションへの参加を意味するシミュ
レーションメッセージM3をシミュレータ1cから受け
取る。分散シミュレーション制御装置2a〜2cはシミ
ュレーションにシミュレータ1cが参加したことを認識
する。分散シミュレーション制御装置2cは、シミュレ
ータ1cを制御するため、シミュレータ情報保持機構8
cにシミュレータ1cのシミュレーションの情報を保持
するようにする。分散シミュレーション制御装置2a及
び2bでは、シミュレータ情報保持機構8a及び8bに
シミュレータ1cのシミュレーションの情報を保持しな
い。
【0121】ここで、どの分散シミュレーション制御装
置がどのシミュレータを制御するかは、予め決められて
いてもよい。また、分散シミュレーション制御装置間で
どのシミュレータを制御するかを調停してもよい。
【0122】次に、分散シミュレーション制御装置2a
〜2cは、シミュレータ1aからデータを公開すること
を意味するシミュレーションメッセージM4を受け取
り、今後、シミュレータ1aがデータを更新することを
認識する。これに続いて、シミュレータ1b及び1cか
ら、データを参照することを意味するシミュレーション
メッセージM5、M6を受け取り、データが更新された
場合に、シミュレータ1b及び1cに、その更新内容を
伝達する必要があることを認識する。
【0123】次に、分散シミュレーション制御装置2a
〜2cは、シミュレータ1aからデータの更新を意味す
るシミュレーションメッセージM7を受け取る。分散シ
ミュレーション制御装置2aでは、シミュレータ管理・
制御機構9aにより、シミュレータ情報保持機構8aで
保持しているシミュレータ1aに、このデータの更新内
容を伝達する必要がないため特に処理は行わない。
【0124】一方、分散シミュレーション制御装置2b
及び2cでは、シミュレータ管理・制御機構9b及び9
cにより、シミュレータ情報保持機構8b及び8cで保
持しているシミュレータ1b及び1cに、伝達する必要
があるため、シミュレータ1b及び1cにデータの更新
内容を伝達するためのシミュレーションメッセージを作
成し、シミュレータ1b及び1cに作成したシミュレー
ションメッセージを送信すべきかどうか判断する。現時
点では、シミュレータ1a、1b、1cのいずれも、時
刻進行を要求していなく、すなわち、シミュレーション
を実行中であるため、上記シミュレーションメッセージ
は送信すべきでないと認識する。
【0125】次に、分散シミュレーション制御装置2a
〜2cは、シミュレータ1aから時刻進行の要求を意味
するシミュレーションメッセージM8を受け取る。これ
により、分散シミュレーション制御装置2a〜2cは、
シミュレータ1aが 1 時刻分のシミュレーションを終
了したこと、データの更新がこれ以上発生しないことを
認識する。
【0126】分散シミュレーション制御装置2aでは、
シミュレータ管理・制御機構9aにより、シミュレータ
情報保持機構8aで保持しているシミュレータ1aに、
時刻進行を許可すべきかどうか判断する。すなわち、シ
ミュレータ1b及び1cが、シミュレータ1aの要求し
ている時刻に影響を及ぼす可能性があるかを調査し、影
響を及ぼす可能性がなければシミュレータ1aの時刻進
行を許可し、影響を及ぼす可能性があればシミュレータ
1aの時刻進行を許可しない。もし、シミュレータ1a
の時刻進行を許可しない場合には、状況が変化した場
合、すなわち、シミュレータ1bとシミュレータ1cの
いずれか、あるいは、いずれもが1時刻分のシミュレー
ションを終了した場合、すなわち、シミュレータ1bと
シミュレータ1cのいずれか、あるいは、いずれもから
時刻進行の要求を意味するシミュレーションメッセージ
を受け取った場合に、再度シミュレータ1aの時刻進行
を許可すべきかどうか判断する。
【0127】ここでは、例えば、シミュレータ1bが影
響を及ぼす可能性があり、シミュレータ1cは影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2aは、シミュレータ1aの時刻進行
を許可すべきでないと判断する。
【0128】一方、分散シミュレーション制御装置2b
では、シミュレータ管理・制御機構9bにより、シミュ
レータ情報保持機構8bで保持しているシミュレータ1
bに、先に送信しなかったデータの更新内容を伝達する
シミュレーションメッセージを送信できるかどうかを判
断する。現時点では、シミュレータ1bは時刻進行を要
求していなく、すなわち、シミュレーションを実行中で
あるため、上記シミュレーションメッセージは送信すべ
きでないと認識する。
【0129】分散シミュレーション制御装置2cでも同
様に、シミュレータ管理・制御機構9cにより、シミュ
レータ情報保持機構8cで保持しているシミュレータ1
cに、先に送信しなかったデータの更新内容を伝達する
シミュレーションメッセージを送信できるかどうかを判
断する。現時点では、シミュレータ1cは時刻進行を要
求していなく、すなわち、シミュレーションを実行中で
あるため、上記シミュレーションメッセージは送信すべ
きでないと認識する。
【0130】次に、分散シミュレーション制御装置2a
〜2cは、シミュレータ1bから時刻進行の要求を意味
するシミュレーションメッセージM9を受け取る。これ
により、分散シミュレーション制御装置2a〜2cは、
シミュレータ1bが1時刻分のシミュレーションを終了
したことを認識する。
【0131】分散シミュレーション制御装置2aでは、
シミュレータ1bが1時刻分のシミュレーションを終了
したため、シミュレーションの状況が変化したことを認
識し、先に許可しなかったシミュレータ1aの時刻進行
について、再度時刻進行を許可すべきかどうか判断す
る。すなわち、シミュレータ1b及び1cが、シミュレ
ータ1aの要求している時刻に影響を及ぼす可能性があ
るかを調査し、影響を及ぼす可能性がなければシミュレ
ータ1aの時刻進行を許可し、影響を及ぼす可能性があ
ればシミュレータ1aの時刻進行を許可しない。
【0132】ここでは、例えば、シミュレータ1b及び
1cが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2aはシミュレータ
1aの時刻進行を許可できると判断し、シミュレータ1
aに時刻進行を許可するシミュレーションメッセージを
送信する。上記で説明したように、このシミュレーショ
ンメッセージを受信したシミュレータ1aは次時刻のシ
ミュレーションを開始することとなる。
【0133】分散シミュレーション制御装置2bでは、
シミュレータ1bにデータの更新内容を伝達する必要が
あることを認識しているため、データの更新内容を伝達
し、その後時刻進行を許可する必要がある。
【0134】まず、データの更新内容を伝達する動作に
ついて説明する。分散シミュレーション制御装置2b
は、シミュレータ1bに伝達すべき更新内容が存在する
か確認する。すなわち、シミュレータ1bにデータの更
新内容を伝達するためのシミュレーションメッセージを
作成しているかどうかを確認する。分散シミュレーショ
ン制御装置2bは、これ以前に、シミュレータ1aから
データの更新を意味するシミュレーションメッセージM
7を受け取り、シミュレータ1bにデータの更新内容を
伝達するためのシミュレーションメッセージを作成して
いるので、シミュレータ1bに伝達すべき更新内容が存
在すると判断する。
【0135】次に、シミュレータ1bにデータの更新内
容を伝達するためのシミュレーションメッセージを送信
すべきかどうか判断する。すなわち、シミュレータ1a
及び1cが、伝達すべきデータ更新内容に影響を及ぼす
可能性があるかを調査し、影響を及ぼす可能性がなけれ
ばシミュレータ1bへ更新内容を伝達し、影響を及ぼす
可能性があればシミュレータ1bへ更新内容を伝達しな
い。もし、シミュレータ1bへ更新内容を伝達しない場
合には、状況が変化した場合、すなわち、シミュレータ
1aとシミュレータ1cのいずれか、あるいは、いずれ
もが1時刻分のシミュレーションを終了した場合、すな
わち、シミュレータ1aとシミュレータ1cのいずれ
か、あるいは、いずれもから時刻進行の要求を意味する
シミュレーションメッセージを受け取った場合に、再度
シミュレータ1bへ更新内容を伝達すべきかどうか判断
する。
【0136】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性がなく、シミュレータ1cが影響を及
ぼす可能性がある場合について説明する。分散シミュレ
ーション制御装置2bは、シミュレータ1bへ更新内容
を伝達するためのシミュレーションメッセージを送信し
ない。
【0137】次に、時刻進行を許可する動作について説
明する。分散シミュレーション制御装置2bは、シミュ
レーションメッセージM8を受け取った場合と同様に、
シミュレータ1bが1時刻分のシミュレーションを終了
したことを認識し、シミュレータ1bの時刻進行を許可
すべきかどうか判断する。すなわち、シミュレータ1a
及び1cが、シミュレータ1bの要求している時刻に影
響を及ぼす可能性があるかを調査し、影響を及ぼす可能
性がなければシミュレータ1bの時刻進行を許可し、影
響を及ぼす可能性があればシミュレータ1bの時刻進行
を許可しない。もし、シミュレータ1bの時刻進行を許
可しない場合には、状況が変化した場合、すなわち、シ
ミュレータ1aとシミュレータ1cのいずれか、あるい
は、いずれもが1時刻分のシミュレーションを終了した
場合、すなわち、シミュレータ1aとシミュレータ1c
のいずれか、あるいは、いずれもから時刻進行の要求を
意味するシミュレーションメッセージを受け取った場合
に、再度シミュレータ1bの時刻進行を許可すべきかど
うか判断する。
【0138】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性がなく、シミュレータ1cが影響を及
ぼす可能性がある場合について説明する。分散シミュレ
ーション制御装置2bは、シミュレータ1bの時刻進行
を許可すべきでないと判断する。
【0139】分散シミュレーション制御装置2cでは、
シミュレータ管理・制御機構9cにより、シミュレータ
情報保持機構8cで保持しているシミュレータ1cに、
先に送信しなかったデータの更新内容を伝達するシミュ
レーションメッセージを送信できるかどうかを判断す
る。現時点では、シミュレータ1cは時刻進行を要求し
ていない、すなわち、シミュレーションを実行中である
ため、上記シミュレーションメッセージは送信すべきで
ないと認識する。
【0140】次に、分散シミュレーション制御装置2a
〜2cは、シミュレータ1cから時刻進行の要求を意味
するシミュレーションメッセージM10を受け取る。こ
れにより、分散シミュレーション制御装置2a〜2c
は、シミュレータ1cが1時刻分のシミュレーションを
終了したことを認識する。
【0141】分散シミュレーション制御装置2aは、シ
ミュレータ1aに対して特に何も処理する必要はないた
め、このシミュレーションメッセージM10に対して処
理は行わない。
【0142】分散シミュレーション制御装置2bでは、
シミュレータ1cが1時刻分のシミュレーションを終了
したため、シミュレーションの状況が変化したことを認
識し、先にデータの更新内容を伝達しなかったシミュレ
ータ1bについて、再度更新内容を伝達すべきかどうか
判断する。すなわち、シミュレータ1a及びcが、伝達
すべきデータ更新内容に影響を及ぼす可能性があるかを
調査し、影響を及ぼす可能性がなければシミュレータ1
bへ更新内容を伝達し、影響を及ぼす可能性があればシ
ミュレータ1bへ更新内容を伝達しない。
【0143】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2bは、デ
ータの更新内容を伝達するためのシミュレーションメッ
セージをシミュレータ1bに送信する。
【0144】次に、分散シミュレーション制御装置2b
は、先に許可しなかったシミュレータ1bの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、シミュレータ
1bの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1bの時刻進行を許可しない。
【0145】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2bは、シ
ミュレータ1bの時刻進行を許可できると判断し、シミ
ュレータ1bに時刻進行を許可するシミュレーションメ
ッセージを送信する。上記で説明したように、このシミ
ュレーションメッセージを受信したシミュレータ1bは
次時刻のシミュレーションを開始することとなる。
【0146】分散シミュレーション制御装置2cでは、
分散シミュレーション制御装置2は、シミュレータ1c
にデータの更新内容を伝達する必要があることを認識し
ているため、データの更新内容を伝達し、その後時刻進
行を許可する必要がある。
【0147】まず、分散シミュレーション制御装置2c
は、シミュレータ1cに伝達すべき更新内容が存在する
か確認する。すなわち、これ以前に、シミュレータ1a
からデータの更新を意味するシミュレーションメッセー
ジM7を受け取り、シミュレータ1cにデータの更新内
容を伝達するためのシミュレーションメッセージを作成
しているので、シミュレータ1cに伝達すべき更新内容
が存在すると判断する。
【0148】次に、分散シミュレーション制御装置2c
は、シミュレータ1cにデータの更新内容を伝達するた
めのシミュレーションメッセージを送信すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、伝
達すべきデータ更新内容に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1cへ更新内容を伝達し、影響を及ぼす可能性があれば
シミュレータ1cへ更新内容を伝達しない。
【0149】ここでは、例えば、シミュレータ1a及び
bが影響を及ぼす可能性がない場合について説明する。
分散シミュレーション制御装置2cは、データの更新内
容を伝達するためのシミュレーションメッセージをシミ
ュレータ1cに送信する。
【0150】次に、分散シミュレーション制御装置2c
は、シミュレータ1cの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1a及びbが、シミ
ュレータ1cの要求している時刻に影響を及ぼす可能性
があるかを調査し、影響を及ぼす可能性がなければシミ
ュレータ1cの時刻進行を許可し、影響を及ぼす可能性
があればシミュレータ1cの時刻進行を許可しない。
【0151】ここでは、例えば、シミュレータ1a及び
1bが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2cは、シミュレー
タ1cの時刻進行を許可できると判断し、シミュレータ
1cに時刻進行を許可するシミュレーションメッセージ
を送信する。上記で説明したように、このシミュレーシ
ョンメッセージを受信したシミュレータ1cは次時刻の
シミュレーションを開始することとなる。
【0152】次に、分散シミュレーション制御装置2a
〜2cは、シミュレータ1bから時刻進行の要求を意味
するシミュレーションメッセージM11を受け取る。こ
れにより、分散シミュレーション制御装置2a〜2c
は、シミュレータ1bが1時刻分のシミュレーションを
終了したことを認識する。
【0153】分散シミュレーション制御装置2a及びc
は、シミュレータ1a及び1cに対して特に何も処理す
る必要はないため、このシミュレーションメッセージM
11に対して処理は行わない。
【0154】分散シミュレーション制御装置2bでは、
シミュレーションメッセージM9を受け取ったときと同
様に、シミュレータ1bにデータの更新内容を伝達する
必要があることを認識しているため、まず、シミュレー
タ1bに伝達すべき更新内容が存在するか確認する。分
散シミュレーション制御装置2bは、シミュレータ1b
にデータの更新内容を伝達するためのシミュレーション
メッセージを新たに作成していないので、シミュレータ
1bに伝達すべき更新内容が存在しないと判断する。
【0155】次に、分散シミュレーション制御装置2b
は、シミュレータ1bの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1a及びcが、シミ
ュレータ1bの要求している時刻に影響を及ぼす可能性
があるかを調査し、影響を及ぼす可能性がなければシミ
ュレータ1bの時刻進行を許可し、影響を及ぼす可能性
があればシミュレータ1bの時刻進行を許可しない。
【0156】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がある場合につい
て説明する。分散シミュレーション制御装置2bは、シ
ミュレータ1bの時刻進行を許可すべきでないと判断す
る。
【0157】次に、分散シミュレーション制御装置2a
〜2cは、シミュレータ1aからデータの更新を意味す
るシミュレーションメッセージM12を受け取る。分散
シミュレーション制御装置2aでは、シミュレータ1a
に、このデータの更新内容を伝達する必要がないため特
に処理は行わない。
【0158】分散シミュレーション制御装置2bでは、
このデータの更新内容は、シミュレータ1bに伝達する
必要があるため、分散シミュレーション制御装置2b
は、シミュレータ1bにデータの更新内容を伝達するた
めのシミュレーションメッセージを作成し、シミュレー
タ1bに作成したシミュレーションメッセージを送信す
べきかどうか判断する。すなわち、シミュレータ1a及
び1cが、伝達すべきデータ更新内容に影響を及ぼす可
能性があるかを調査し、影響を及ぼす可能性がなければ
シミュレータ1bへ更新内容を伝達し、影響を及ぼす可
能性があればシミュレータ1bへ更新内容を伝達しな
い。
【0159】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がある場合につい
て説明する。分散シミュレーション制御装置2bは、シ
ミュレータ1bへ更新内容を伝達するためのシミュレー
ションメッセージを送信しない。
【0160】分散シミュレーション制御装置2cでは、
分散シミュレーション制御装置2bと同様に、この更新
内容は、シミュレータ1cに伝達する必要があるため、
シミュレータ1cにデータの更新内容を伝達するための
シミュレーションメッセージを作成し、シミュレータ1
cに作成したシミュレーションメッセージを送信すべき
かどうか判断する。シミュレータ1cは、シミュレーシ
ョンを実行中であるので、上記シミュレーションメッセ
ージは送信しない。
【0161】次に、分散シミュレーション制御装置2a
〜2cは、シミュレータ1cから時刻進行の要求を意味
するシミュレーションメッセージM13を受け取る。こ
れにより、分散シミュレーション制御装置2a〜2c
は、シミュレータ1cが1時刻分のシミュレーションを
終了したことを認識する。
【0162】分散シミュレーション制御装置2aでは、
シミュレータ1aに対して特に何も処理する必要はない
ため、このシミュレーションメッセージM13に対して
処理は行わない。
【0163】分散シミュレーション制御装置2bでは、
シミュレータ1cが1時刻分のシミュレーションを終了
したため、シミュレーションの状況が変化したことを認
識し、先にデータの更新内容を伝達しなかったシミュレ
ータ1bについて、再度更新内容を伝達すべきかどうか
判断する。すなわち、シミュレータ1a及び1cが、伝
達すべきデータ更新内容に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bへ更新内容を伝達し、影響を及ぼす可能性があれば
シミュレータ1bへ更新内容を伝達しない。
【0164】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1cが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2bは、シミュレータ1bへ更新内容
を伝達するためのシミュレーションメッセージを送信し
ない。
【0165】次に、分散シミュレーション制御装置2b
は、先に許可しなかったシミュレータ1bの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、シミュレータ
1bの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1bの時刻進行を許可しない。
【0166】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1cが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2bは、シミュレータ1bの時刻進行
を許可すべきでないと判断する。
【0167】分散シミュレーション制御装置2cは、シ
ミュレータ1cにデータの更新内容を伝達する必要があ
ることを認識しているため、シミュレーションメッセー
ジM10を受け取った時と同様に、データの更新内容を
伝達し、その後時刻進行を許可する必要がある。
【0168】まず、分散シミュレーション制御装置2c
は、シミュレータ1cに伝達すべき更新内容が存在する
か確認する。すなわち、シミュレーションメッセージM
12を受け取り、シミュレータ1cにデータの更新内容
を伝達するためのシミュレーションメッセージを作成し
ているので、シミュレータ1cに伝達すべき更新内容が
存在すると判断する。
【0169】次に、分散シミュレーション制御装置2c
は、シミュレータ1cにデータの更新内容を伝達するた
めのシミュレーションメッセージを送信すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、伝
達すべきデータ更新内容に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1cへ更新内容を伝達し、影響を及ぼす可能性があれば
シミュレータ1cへ更新内容を伝達しない。
【0170】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1bが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2cは、シミュレータ1cへ更新内容
を伝達するためのシミュレーションメッセージを送信し
ない。
【0171】次に、分散シミュレーション制御装置2c
は、シミュレータ1cの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、シ
ミュレータ1cの要求している時刻に影響を及ぼす可能
性があるかを調査し、影響を及ぼす可能性がなければシ
ミュレータ1cの時刻進行を許可し、影響を及ぼす可能
性があればシミュレータ1cの時刻進行を許可しない。
【0172】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1bが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2cは、シミュレータ1cの時刻進行
を許可すべきでないと判断する。
【0173】次に、分散シミュレーション制御装置2a
〜2cは、シミュレータ1aから時刻進行の要求を意味
するシミュレーションメッセージM14を受け取り、シ
ミュレータ1aが1時刻分のシミュレーションを終了し
たこと、データの更新がこれ以上発生しないことを認識
する。
【0174】分散シミュレーション制御装置2aでは、
シミュレータ1aの時刻進行を許可すべきかどうか判断
する。すなわち、シミュレータ1b及び1cが、シミュ
レータ1aの要求している時刻に影響を及ぼす可能性が
あるかを調査し、影響を及ぼす可能性がなければシミュ
レータ1aの時刻進行を許可し、影響を及ぼす可能性が
あればシミュレータ1aの時刻進行を許可しない。
【0175】ここでは、例えば、シミュレータ1b及び
1cが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2aはシミュレータ
1aの時刻進行を許可できると判断し、シミュレータ1
aに時刻進行を許可するシミュレーションメッセージを
送信する。上記で説明したように、このシミュレーショ
ンメッセージを受信したシミュレータ1aは次時刻のシ
ミュレーションを開始することとなる。
【0176】分散シミュレーション制御装置2bでは、
シミュレータ1aが1時刻分のシミュレーションを終了
したため、シミュレーションの状況が変化したことを認
識し、先にデータの更新内容を伝達しなかったシミュレ
ータ1bについて、再度更新内容を伝達すべきかどうか
判断する。すなわち、シミュレータ1a及び1cが、伝
達すべきデータ更新内容に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bへ更新内容を伝達し、影響を及ぼす可能性があれば
シミュレータ1bへ更新内容を伝達しない。
【0177】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2bは、デ
ータの更新内容を伝達するためのシミュレーションメッ
セージをシミュレータ1bに送信する。
【0178】次に、分散シミュレーション制御装置2b
は、先に許可しなかったシミュレータ1bの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、シミュレータ
1bの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1bの時刻進行を許可しない。
【0179】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2bは、シ
ミュレータ1bの時刻進行を許可できると判断し、シミ
ュレータ1bに時刻進行を許可するシミュレーションメ
ッセージを送信する。上記で説明したように、このシミ
ュレーションメッセージを受信したシミュレータ1bは
次時刻のシミュレーションを開始することとなる。
【0180】分散シミュレーション制御装置2cでは、
先にデータの更新内容を伝達しなかったシミュレータ1
cについて、再度更新内容を伝達すべきかどうか判断す
る。すなわち、シミュレータ1a及び1bが、伝達すべ
きデータ更新内容に影響を及ぼす可能性があるかを調査
し、影響を及ぼす可能性がなければシミュレータ1cへ
更新内容を伝達し、影響を及ぼす可能性があればシミュ
レータ1cへ更新内容を伝達しない。
【0181】ここでは、例えば、シミュレータ1aもシ
ミュレータ1bも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2cは、デ
ータの更新内容を伝達するためのシミュレーションメッ
セージをシミュレータ1cに送信する。
【0182】次に、分散シミュレーション制御装置2c
は、先に許可しなかったシミュレータ1cの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1bが、シミュレータ
1cの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1cの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1cの時刻進行を許可しない。
【0183】ここでは、例えば、シミュレータ1aもシ
ミュレータ1bも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2cは、シ
ミュレータ1cの時刻進行を許可できると判断し、シミ
ュレータ1cに時刻進行を許可するシミュレーションメ
ッセージを送信する。上記で説明したように、このシミ
ュレーションメッセージを受信したシミュレータ1cは
次時刻のシミュレーションを開始することとなる。
【0184】以上のように、分散シミュレーション制御
装置2a〜2cは、シミュレータ1a〜1cから受信し
たシミュレーションメッセージを次々と処理していくこ
ととなる。各シミュレータのシミュレーションが終了す
ると、分散シミュレーション制御装置2a〜2cは各シ
ミュレータからシミュレーションを脱退することを意味
するシミュレーションメッセージM15、M16、M1
7を受け取る。これにより、分散シミュレーション制御
装置2a〜2cは、シミュレーションからシミュレータ
1a、1b、1cが脱退したことを認識する。
【0185】なお、上記実施の形態1では、分散シミュ
レーション制御装置2aがシミュレータ1aを、分散シ
ミュレーション制御装置2bがシミュレータ1bを、分
散シミュレーション制御装置2cがシミュレータ1cを
制御する場合について説明したが、分散シミュレーショ
ン制御装置2aがシミュレータ1bあるいは1cを、分
散シミュレーション制御装置2bがシミュレータ1aあ
るいは1cを、分散シミュレーション制御装置2cがシ
ミュレータ1aあるいは1bを制御してもよい。また、
上記実施の形態1では、3つのシミュレータを制御する
場合について説明したが、シミュレータの数が増加、あ
るいは減少してもよい。また、上記実施の形態1で説明
した以外のシミュレーションメッセージが存在してもよ
い。さらに、上記実施の形態1では、3つのシミュレー
タが時刻の進行を要求する、いわゆる時間駆動型のシミ
ュレータの場合について説明したが、イベントの到着を
待って動作する、いわゆるイベント駆動型のシミュレー
ションである場合には、分散シミュレーション制御装置
2a〜2cが各シミュレータに送るべきイベントを送付
可能かどうかを判断する、すなわち、送るべきイベント
に他のシミュレータが影響を及ぼす可能性があるかを調
査し、影響を及ぼす可能性がなければそのイベントを送
付し、影響を及ぼす可能性があれば、そのイベントを送
付せず、状況が変化した場合に再度送付可能であるかど
うかを判断するようにすればよい。
【0186】実施の形態2.図8は実施の形態2による
分散シミュレーションシステムの構成を示すブロック図
である。図8において、1a〜1cは例えば艦船や航空
機、センサ、信号処理アルゴリズム等を模擬するシミュ
レータ、2a〜2cは複数のシミュレータ1a〜1c間
のデータ交換を制御するとともに、各々のシミュレータ
の時刻進行を制御する分散シミュレーション制御装置、
3はシミュレータ1a〜1c及び分散シミュレーション
制御装置2a〜2cを相互に接続するネットワーク、4
a〜4c及び4A〜4Cはネットワーク3を介してシミ
ュレータ1a〜1c及び分散シミュレーション制御装置
2a〜2cとの間でデータを転送する通信機構、5a〜
5cは分散シミュレーション制御装置2a〜2cに送信
するシミュレーションメッセージにタイムスタンプを付
加するタイムスタンプ付加機構、6a〜6cはシミュレ
ータ1a〜1cから送られてくる複数のシミュレーショ
ンメッセージを、付加されたタイムスタンプの小さい順
に並び替え、タイムスタンプの小さなものから順に取り
出すオーダリング機構、10a〜10cは、受信したシ
ミュレーションメッセージの内容を解釈し、その内容に
よって、必要なら他のすべての分散シミュレーション制
御装置2に受信したシミュレーションメッセージを送信
するメッセージ転送機構である。実施の形態2による分
散シミュレーションシステムでは、シミュレータからタ
イムスタンプを付加したシミュレーションメッセージを
1つの分散シミュレーション制御装置に送信し、各分散
シミュレーション制御装置から受信したシミュレーショ
ンメッセージをその内容によってはさらに他の分散シミ
ュレーション制御装置に転送すると共に、各分散シミュ
レーション制御装置では受信した複数のシミュレーショ
ンメッセージを、付加されたタイムスタンプの小さい順
に処理することにより、複数のシミュレータを複数の分
散シミュレーション制御装置で制御する方式を採る。
【0187】次に動作について説明する。ここでは、シ
ミュレータ同士が連携して動作する一例として、シミュ
レータ1aが何らかのデータを更新しながらシミュレー
ションを継続し、シミュレータ1b、1cがシミュレー
タ1aで更新されたデータを参照しながら、シミュレー
ションを行なうといった場合について説明する。まず、
シミュレータ1aの動作について説明する。図2はこの
場合のシミュレータ1aの処理の流れを表す図である。
まず、シミュレータ1aは、シミュレーションを開始す
るに当り、分散シミュレーション制御装置2aにシミュ
レーションに参加することを通知する(S1001)。
すなわち、通信機構4aにおいて、タイムスタンプ付加
機構5aによりタイムスタンプが付加された、シミュレ
ーションに参加することを意味するシミュレーションメ
ッセージが、分散シミュレーション制御装置2aにネッ
トワーク3を介して送信される。
【0188】次に、シミュレータ1aは、分散シミュレ
ーション制御装置2aにデータを公開することを宣言す
る(S1002)。すなわち、通信機構4aにおいて、
タイムスタンプ付加機構5aによりタイムスタンプが付
加された、データの公開を宣言することを意味するシミ
ュレーションメッセージが分散シミュレーション制御装
置2aにネットワーク3を介して送信される。こうし
て、シミュレータ1aはシミュレーションを計算するた
めの前処理を終え、次に、1時刻分のシミュレーション
を行なう(S1003)。シミュレーションを行なった
結果、更新すべきデータを分散シミュレーション制御装
置2aに送る(S1004)。すなわち、通信機構4a
において、タイムスタンプ付加機構5aによりタイムス
タンプが付加された、データの更新を意味するシミュレ
ーションメッセージが分散シミュレーション制御装置2
aにネットワーク3を介して送信される。
【0189】シミュレータ1aは、すべての更新内容を
分散シミュレーション制御装置2aに送り終えると、次
の時刻への進行要求を分散シミュレーション制御装置2
aに送る(S1005)。すなわち、通信機構4aにお
いて、タイムスタンプ付加機構5aによりタイムスタン
プが付加された、時刻進行要求を意味するシミュレーシ
ョンメッセージが分散シミュレーション制御装置2aに
ネットワーク3を介して送信される。シミュレータ1a
は、時刻進行要求を分散シミュレーション制御装置2a
に送ると、時刻進行を許可されるまで、分散シミュレー
ション制御装置2aからのシミュレーションメッセージ
を受信する(S1006)。すなわち、通信機構4aに
よって、分散シミュレーション制御装置2aからシミュ
レーションメッセージが到着していないかを確認し、到
着している場合にはそのメッセージを受信する。次に、
受信したシミュレーションメッセージの内容を解析し、
それに対応した処理を行なう。
【0190】ここで、分散シミュレーション制御装置2
aから送信されるシミュレーションメッセージは、例え
ば、他のシミュレータによるデータの更新内容、時刻進
行の許可等である。シミュレータ1aは、データの参照
を宣言していない、すなわち、他のシミュレータで更新
されるデータを参照しないため、ここでは主に時刻進行
の許可を意味するシミュレーションメッセージを受け取
ることとなる。
【0191】シミュレータ1aは分散シミュレーション
制御装置2aから時刻進行の許可を受け取ると、シミュ
レーションの終了するかどうか判断し(S1007)、
シミュレーションを継続する場合には次時刻のシミュレ
ーションを行なう(S1003)。こうしてシミュレー
ションを終了するまで、S1003〜S1007を繰り
返し実行する。
【0192】シミュレータ1aは、シミュレーションを
終了すると、分散シミュレーション制御装置2aにシミ
ュレーションから脱退することを通知する(S100
8)。すなわち、通信機構4aにおいて、タイムスタン
プ付加機構5aによりタイムスタンプが付加された、シ
ミュレーションから脱退することを意味するシミュレー
ションメッセージが分散シミュレーション制御装置2a
にネットワーク3を介して送信される。
【0193】次にシミュレータ1b及び1cの動作につ
いて説明する。シミュレータ1bとシミュレータ1c
は、シミュレーションの内容が同じ場合でも、あるいは
異なる場合でもほぼ同一の動作をする。図4はシミュレ
ータ1b及び1cの処理の流れを表す図である。
【0194】まず、シミュレータ1b(もしくは1c)
は、シミュレータ1aと同様に、分散シミュレーション
制御装置2b(もしくは2c)にシミュレーションに参
加することを通知する(S1101)。すなわち、通信
機構4b(もしくは4c)において、タイムスタンプ付
加機構5b(もしくは5c)によりタイムスタンプが付
加された、シミュレーションに参加することを意味する
シミュレーションメッセージが分散シミュレーション制
御装置2b(もしくは2c)にネットワーク3を介して
送信される。
【0195】次に、シミュレータ1b(もしくは1c)
は、分散シミュレーション制御装置2b(もしくは2
c)にデータを参照することを宣言する(S110
2)。すなわち、通信機構4b(もしくは4c)におい
て、タイムスタンプ付加機構5b(もしくは5c)によ
りタイムスタンプが付加された、データの参照を宣言す
ることを意味するシミュレーションメッセージが分散シ
ミュレーション制御装置2b(もしくは2c)にネット
ワーク3を介して送信される。
【0196】次に、シミュレータ1b(もしくは1c)
は、1時刻分のシミュレーションを行なう(S110
3)。シミュレータ1aと異なり、シミュレータ1b
(もしくは1c)は、データの公開を宣言していないた
め、更新すべきデータを分散シミュレーション制御装置
2b(もしくは2c)に送る必要はない。
【0197】次に、シミュレータ1b(もしくは1c)
は、次の時刻への進行要求を分散シミュレーション制御
装置2b(もしくは2c)に送る(S1104)。すな
わち、通信機構4b(もしくは4c)において、タイム
スタンプ付加機構5b(もしくは5c)によりタイムス
タンプが付加された、時刻進行要求を意味するシミュレ
ーションメッセージが分散シミュレーション制御装置2
b(もしくは2c)にネットワーク3を介して送信され
る。
【0198】シミュレータ1b(もしくは1c)は、時
刻進行要求を分散シミュレーション制御装置2b(もし
くは2c)に送ると、時刻進行を許可されるまで、分散
シミュレーション制御装置2b(もしくは2c)からの
シミュレーションメッセージを受信する(S110
5)。すなわち、通信機構4b(もしくは4c)によっ
て、分散シミュレーション制御装置2b(もしくは2
c)からシミュレーションメッセージが到着していない
かを確認し、到着している場合にはそのメッセージを受
信する(S1106)。次に、受信したシミュレーショ
ンメッセージの内容を解析し、それに対応した処理を行
なう(S1107)。
【0199】ここで、シミュレータ1b(もしくは1
c)は、データの参照を宣言しているため、他のシミュ
レータによりデータが更新された場合には、分散シミュ
レーション制御装置2b(もしくは2c)からその更新
内容が伝達される。すなわち、データの更新を意味する
シミュレーションメッセージが分散シミュレーション制
御装置2b(もしくは2c)から送られてくる。したが
って、S1106において、データの更新を意味するシ
ミュレーションメッセージを受信する。
【0200】次に、S1107において、受信したシミ
ュレーションメッセージがデータの更新を意味するもの
であることを認識し、シミュレーションメッセージの引
数として格納されている更新時刻や更新内容を参照し、
次時刻のシミュレーションの内容に反映させる。そし
て、再び、S1106において、シミュレーションメッ
セージの到着を待つ。
【0201】シミュレータ1b(もしくは1c)は、S
1106において時刻進行の許可を意味するシミュレー
ションメッセージを受信すると、S1107において時
刻進行が許可されたことを認識すると共に、これ以上デ
ータの更新がないことを認識する。そして、シミュレー
ションの終了するかどうか判断し(S1108)、シミ
ュレーションを継続する場合には次時刻のシミュレーシ
ョンを行なう(S1103)。こうしてシミュレーショ
ンを終了するまで、S1103〜S1108を繰り返し
実行する。
【0202】シミュレータ1b(もしくは1c)はシミ
ュレーションを終了すると、分散シミュレーション制御
装置2b(もしくは2c)にシミュレーションから脱退
することを通知する(S1109)。すなわち、通信機
構4b(もしくは4c)において、タイムスタンプ付加
機構5b(もしくは5c)によりタイムスタンプが付加
された、シミュレーションから脱退することを意味する
シミュレーションメッセージが分散シミュレーション制
御装置2b(もしくは2c)にネットワーク3を介して
送信される。
【0203】次に、分散シミュレーション制御装置2a
〜2cの動作について説明する。分散シミュレーション
制御装置2a〜2cは基本的には同じ動作を行う。図9
は分散シミュレーション制御装置2a〜2cの処理の流
れを表す図である。
【0204】分散シミュレーション制御装置2a(ある
いは2b、あるいは2c)は、シミュレータ1a(ある
いは1b、あるいは1c)及び他の分散シミュレーショ
ン制御装置からシミュレーションメッセージが到着する
のを待つ(S1401)。シミュレーションメッセージ
が到着したら、そのシミュレーションメッセージを受信
する(S1402)。すなわち、通信機構4A(あるい
は4B、あるいは4C)によって、シミュレータ1a
(あるいは1b、あるいは1c)及び他の分散シミュレ
ーション制御装置からシミュレーションメッセージが到
着していないかを確認し、到着している場合にはそのメ
ッセージを受信する。
【0205】通信機構4A(あるいは4B、あるいは4
C)では、シミュレータ1a(あるいは1b、あるいは
1c)、もしくは他の分散シミュレーション制御装置か
らシミュレーションメッセージを受信すると、オーダリ
ング機構6a(あるいは6b、あるいは6c)によりそ
のシミュレーションメッセージを、付加されたタイムス
タンプの小さい順に並び替え、タイムスタンプの小さな
ものから順に取り出す。
【0206】次に、分散シミュレーション制御装置2a
(あるいは2b、あるいは2c)は、受信したシミュレ
ーションメッセージを解析し、他の分散シミュレーショ
ン制御装置に転送する必要があるかどうかを判断する
(S1403)。すなわち、受信したシミュレーション
メッセージが、他の分散シミュレーション制御装置で管
理しているシミュレータに影響を及ぼすか、他の分散シ
ミュレーション制御装置でシミュレータを制御するのに
必要な情報であるか判断する。もし、転送する必要があ
れば、受信したシミュレーションメッセージを他の分散
シミュレーション制御装置に転送する(S1404)。
すなわち、メッセージ転送機構10a(あるいは10
b、あるいは10c)により、受信したシミュレーショ
ンメッセージが他の分散シミュレーション制御装置に送
信される。
【0207】次に、分散シミュレーション制御装置2a
(あるいは2b、あるいは2c)は、このシミュレーシ
ョンメッセージに対する処理を行なう(S1405)。
すなわち、分散シミュレーション制御装置2a(あるい
は2b、あるいは2c)内部で管理しているシミュレー
ション情報の更新、追ってシミュレータにシミュレーシ
ョンメッセージを送信すべきかどうかの判断、シミュレ
ータへのシミュレーションメッセージの送信等を行な
う。例えば、受信したシミュレーションメッセージが時
刻進行を要求するものであれば、そのシミュレータの時
刻の進行を許可すべきかどうか判断し、許可して良い場
合には時刻進行を許可するシミュレーションメッセージ
をシミュレータに対して送信する。すなわち、通信機構
4A(あるいは4B、あるいは4C)によって、シミュ
レータメッセージがネットワーク3を介して送信され
る。
【0208】分散シミュレーション制御装置2a(ある
いは2b、あるいは2c)は受信したシミュレーション
メッセージの処理を終えると、再びシミュレータ1a
(あるいは1b、あるいは1c)及び他の分散シミュレ
ーション制御装置からシミュレーションメッセージが到
着するのを待つ(S1401)。つまり、分散シミュレ
ーション制御装置2a(あるいは2b、あるいは2c)
はS1401〜S1405の処理を繰り返し実行するこ
ととなる。
【0209】次に、分散シミュレーション制御装置2a
〜2cの動作をより具体的に説明するため、シミュレー
タ1a〜1cが分散シミュレーション制御装置2a〜2
cに送信した複数のシミュレーションメッセージが、例
えば、図6に示すような順序で、分散シミュレーション
制御装置2a〜2cに到着した場合について、分散シミ
ュレーション制御装置2a〜2cの動作を説明する。
【0210】上記で説明したように、シミュレータ1a
が送信したシミュレーションメッセージは分散シミュレ
ーション制御装置2aで、シミュレータ1bが送信した
シミュレーションメッセージは分散シミュレーション制
御装置2bで、シミュレータ1cが送信したシミュレー
ションメッセージは分散シミュレーション制御装置2c
で、受信した後、他の分散シミュレーション制御装置に
転送されるから、すなわち、図6は、例えば分散シミュ
レーション制御装置2aであれば、シミュレータ1aが
送信したシミュレーションメッセージと分散シミュレー
ション制御装置2b及び2cから転送されたシミュレー
ションメッセージの到着順序を示すものである。なお、
分散シミュレーション制御装置2b及び2cについても
同様である。
【0211】もし、ネットワークの遅延により、例え
ば、分散シミュレーション制御装置2cには、図7に示
すような順序でシミュレーションメッセージが到着した
場合でも、オーダリング機構6cによってタイムスタン
プの小さい順に並び替えられるため、結果として、図6
と同一の順番で処理されることになる。なお、分散シミ
ュレーション制御装置2a及び2bについても同様であ
る。
【0212】分散シミュレーション制御装置2aは、シ
ミュレーションへの参加を意味するシミュレーションメ
ッセージM1をシミュレータ1aから受け取る。このシ
ミュレーションメッセージは他の分散シミュレーション
制御装置に転送する必要があると判断し、メッセージ転
送機構10aにより、分散シミュレーション制御装置2
b及び2cにシミュレーションメッセージM1を転送す
る。また、分散シミュレーション制御装置2aはシミュ
レーションにシミュレータ1aが参加したことを認識す
る。
【0213】分散シミュレーション制御装置2b及び2
cは、分散シミュレーション制御装置2aから、シミュ
レーションメッセージM1を受け取り、シミュレーショ
ンにシミュレータ1aが参加したことを認識する。
【0214】分散シミュレーション制御装置2bは、シ
ミュレーションへの参加を意味するシミュレーションメ
ッセージM2をシミュレータ1bから受け取る。このシ
ミュレーションメッセージは他の分散シミュレーション
制御装置に転送する必要があると判断し、メッセージ転
送機構10bにより、分散シミュレーション制御装置2
a及び2cにシミュレーションメッセージM2を転送す
る。また、分散シミュレーション制御装置2bはシミュ
レーションにシミュレータ1bが参加したことを認識す
る。
【0215】分散シミュレーション制御装置2a及び2
cは、分散シミュレーション制御装置2bから、シミュ
レーションメッセージM2を受け取り、シミュレーショ
ンにシミュレータ1bが参加したことを認識する。
【0216】分散シミュレーション制御装置2cは、シ
ミュレーションへの参加を意味するシミュレーションメ
ッセージM3をシミュレータ1cから受け取る。このシ
ミュレーションメッセージは他の分散シミュレーション
制御装置に転送する必要があると判断し、メッセージ転
送機構10cにより、分散シミュレーション制御装置2
a及び2bにシミュレーションメッセージM3を転送す
る。また、分散シミュレーション制御装置2cはシミュ
レーションにシミュレータ1cが参加したことを認識す
る。
【0217】分散シミュレーション制御装置2a及び2
bは、分散シミュレーション制御装置2cから、シミュ
レーションメッセージM3を受け取り、シミュレーショ
ンにシミュレータ1cが参加したことを認識する。
【0218】次に、分散シミュレーション制御装置2a
は、シミュレータ1aからデータを公開することを意味
するシミュレーションメッセージM4を受け取る。この
シミュレーションメッセージは他の分散シミュレーショ
ン制御装置に転送する必要があると判断し、メッセージ
転送機構10aにより、分散シミュレーション制御装置
2b及び2cにシミュレーションメッセージM4を転送
する。また、分散シミュレーション制御装置2aは、今
後、シミュレータ1aがデータを更新することを認識す
る。
【0219】分散シミュレーション制御装置2b及び2
cは、分散シミュレーション制御装置2aから、シミュ
レーションメッセージM4を受け取り、今後、シミュレ
ータ1aがデータを更新することを認識する。
【0220】次に、分散シミュレーション制御装置2b
は、シミュレータ1bからデータを参照することを意味
するシミュレーションメッセージM5を受け取る。この
シミュレーションメッセージは他の分散シミュレーショ
ン制御装置に転送する必要があると判断し、メッセージ
転送機構10bにより、分散シミュレーション制御装置
2a及び2cにシミュレーションメッセージM5を転送
する。また、分散シミュレーション制御装置2bはデー
タが更新された場合に、シミュレータ1bに、その更新
内容を伝達する必要があることを認識する。
【0221】分散シミュレーション制御装置2a及び2
cは、分散シミュレーション制御装置2bから、シミュ
レーションメッセージM5を受け取り、データが更新さ
れた場合に、シミュレータ1bに、その更新内容を伝達
する必要があることを認識する。
【0222】次に、分散シミュレーション制御装置2c
は、シミュレータ1cからデータを参照することを意味
するシミュレーションメッセージM6を受け取る。この
シミュレーションメッセージは他の分散シミュレーショ
ン制御装置に転送する必要があると判断し、メッセージ
転送機構10cにより、分散シミュレーション制御装置
2a及び2bにシミュレーションメッセージM6を転送
する。また、分散シミュレーション制御装置2cはデー
タが更新された場合に、シミュレータ1cに、その更新
内容を伝達する必要があることを認識する。
【0223】分散シミュレーション制御装置2a及び2
bは、分散シミュレーション制御装置2cから、シミュ
レーションメッセージM6を受け取り、データが更新さ
れた場合に、シミュレータ1cに、その更新内容を伝達
する必要があることを認識する。
【0224】次に、分散シミュレーション制御装置2a
は、シミュレータ1aからデータの更新を意味するシミ
ュレーションメッセージM7を受け取る。このシミュレ
ーションメッセージは他の分散シミュレーション制御装
置に転送する必要があると判断し、メッセージ転送機構
10aにより、分散シミュレーション制御装置2b及び
2cにシミュレーションメッセージM7を転送する。
【0225】分散シミュレーション制御装置2b及び2
cは、分散シミュレーション制御装置2aからシミュレ
ーションメッセージM7を受け取ると、シミュレータ1
b及び1cにその内容を伝達する必要があるため、シミ
ュレータ1b及び1cにデータの更新内容を伝達するた
めのシミュレーションメッセージを作成し、シミュレー
タ1b及び1cに作成したシミュレーションメッセージ
を送信すべきかどうか判断する。現時点では、シミュレ
ータ1a、1b、1cのいずれも、時刻進行を要求して
いない、すなわち、シミュレーションを実行中であるた
め、上記シミュレーションメッセージは送信すべきでな
いと認識する。
【0226】次に、分散シミュレーション制御装置2a
は、シミュレータ1aから時刻進行の要求を意味するシ
ミュレーションメッセージM8を受け取る。このシミュ
レーションメッセージは他の分散シミュレーション制御
装置に転送する必要があると判断し、メッセージ転送機
構10aにより、分散シミュレーション制御装置2b及
び2cにシミュレーションメッセージM8を転送する。
【0227】分散シミュレーション制御装置2aでは、
シミュレータ1aが 1 時刻分のシミュレーションを終
了したこと、データの更新がこれ以上発生しないことを
認識し、シミュレータ1aに時刻進行を許可すべきかど
うか判断する。すなわち、シミュレータ1b及び1c
が、シミュレータ1aの要求している時刻に影響を及ぼ
す可能性があるかを調査し、影響を及ぼす可能性がなけ
ればシミュレータ1aの時刻進行を許可し、影響を及ぼ
す可能性があればシミュレータ1aの時刻進行を許可し
ない。もし、シミュレータ1aの時刻進行を許可しない
場合には、状況が変化した場合、すなわち、シミュレー
タ1bとシミュレータ1cのいずれか、あるいは、いず
れもが 1 時刻分のシミュレーションを終了した場合、
すなわち、シミュレータ1bとシミュレータ1cのいず
れか、あるいは、いずれもから時刻進行の要求を意味す
るシミュレーションメッセージを受け取った場合に、再
度シミュレータ1aの時刻進行を許可すべきかどうか判
断する。
【0228】ここでは、例えば、シミュレータ1bが影
響を及ぼす可能性があり、シミュレータ1cは影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2aは、シミュレータ1aの時刻進行
を許可すべきでないと判断する。
【0229】一方、分散シミュレーション制御装置2b
では、分散シミュレーション制御装置2aからシミュレ
ーションメッセージM8を受け取り、シミュレータ1a
が1時刻分のシミュレーションを終了したこと、データ
の更新がこれ以上発生しないことを認識し、シミュレー
タ1bに、先に送信しなかったデータの更新内容を伝達
するシミュレーションメッセージを送信できるかどうか
を判断する。現時点では、シミュレータ1bは時刻進行
を要求していない、すなわち、シミュレーションを実行
中であるため、上記シミュレーションメッセージは送信
すべきでないと認識する。
【0230】分散シミュレーション制御装置2cでも同
様に、分散シミュレーション制御装置2aからシミュレ
ーションメッセージM8を受け取り、シミュレータ1a
が 1時刻分のシミュレーションを終了したこと、データ
の更新がこれ以上発生しないことを認識し、シミュレー
タ1cに、先に送信しなかったデータの更新内容を伝達
するシミュレーションメッセージを送信できるかどうか
を判断する。現時点では、シミュレータ1cは時刻進行
を要求していない、すなわち、シミュレーションを実行
中であるため、上記シミュレーションメッセージは送信
すべきでないと認識する。
【0231】次に、分散シミュレーション制御装置2b
は、シミュレータ1bから時刻進行の要求を意味するシ
ミュレーションメッセージM9を受け取る。このシミュ
レーションメッセージは他の分散シミュレーション制御
装置に転送する必要があると判断し、10bにより、分
散シミュレーション制御装置2a及び2cにシミュレー
ションメッセージM9を転送する。
【0232】分散シミュレーション制御装置2bでは、
シミュレータ1bが1時刻分のシミュレーションを終了
したことを認識し、シミュレータ1bにデータの更新内
容を伝達する必要があることを認識しているため、デー
タの更新内容を伝達し、その後時刻進行を許可する必要
がある。
【0233】まず、データの更新内容を伝達する動作に
ついて説明する。分散シミュレーション制御装置2b
は、シミュレータ1bに伝達すべき更新内容が存在する
か確認する。すなわち、シミュレータ1bにデータの更
新内容を伝達するためのシミュレーションメッセージを
作成しているかどうかを確認する。分散シミュレーショ
ン制御装置2bは、これ以前に、分散シミュレーション
制御装置2aからデータの更新を意味するシミュレーシ
ョンメッセージM7を受け取り、シミュレータ1bにデ
ータの更新内容を伝達するためのシミュレーションメッ
セージを作成しているので、シミュレータ1bに伝達す
べき更新内容が存在すると判断する。
【0234】次に、シミュレータ1bにデータの更新内
容を伝達するためのシミュレーションメッセージを送信
すべきかどうか判断する。すなわち、シミュレータ1a
及びcが、伝達すべきデータ更新内容に影響を及ぼす可
能性があるかを調査し、影響を及ぼす可能性がなければ
シミュレータ1bへ更新内容を伝達し、影響を及ぼす可
能性があればシミュレータ1bへ更新内容を伝達しな
い。もし、シミュレータ1bへ更新内容を伝達しない場
合には、状況が変化した場合、すなわち、シミュレータ
1aとシミュレータ1cのいずれか、あるいは、いずれ
もが1時刻分のシミュレーションを終了した場合、すな
わち、シミュレータ1aとシミュレータ1cのいずれ
か、あるいは、いずれもから時刻進行の要求を意味する
シミュレーションメッセージを受け取った場合に、再度
シミュレータ1bへ更新内容を伝達すべきかどうか判断
する。
【0235】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性がなく、シミュレータ1cが影響を及
ぼす可能性がある場合について説明する。分散シミュレ
ーション制御装置2bは、シミュレータ1bへ更新内容
を伝達するためのシミュレーションメッセージを送信し
ない。
【0236】次に、時刻進行を許可する動作について説
明する。分散シミュレーション制御装置2bは、シミュ
レータ1bが1時刻分のシミュレーションを終了したこ
とを認識し、シミュレータ1bの時刻進行を許可すべき
かどうか判断する。すなわち、シミュレータ1a及び1
cが、シミュレータ1bの要求している時刻に影響を及
ぼす可能性があるかを調査し、影響を及ぼす可能性がな
ければシミュレータ1bの時刻進行を許可し、影響を及
ぼす可能性があればシミュレータ1bの時刻進行を許可
しない。もし、シミュレータ1bの時刻進行を許可しな
い場合には、状況が変化した場合、すなわち、シミュレ
ータ1aとシミュレータ1cのいずれか、あるいは、い
ずれもが1時刻分のシミュレーションを終了した場合、
すなわち、シミュレータ1aとシミュレータ1cのいず
れか、あるいは、いずれもから時刻進行の要求を意味す
るシミュレーションメッセージを受け取った場合に、再
度シミュレータ1bの時刻進行を許可すべきかどうか判
断する。
【0237】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性がなく、シミュレータ1cが影響を及
ぼす可能性がある場合について説明する。分散シミュレ
ーション制御装置2bは、シミュレータ1bの時刻進行
を許可すべきでないと判断する。
【0238】一方、分散シミュレーション制御装置2a
では、分散シミュレーション制御装置2bからシミュレ
ーションメッセージM9を受け取り、シミュレータ1b
が1時刻分のシミュレーションを終了したことを認識す
る。シミュレータ1bが1時刻分のシミュレーションを
終了したため、シミュレーションの状況が変化したこと
を認識し、先に許可しなかったシミュレータ1aの時刻
進行について、再度時刻進行を許可すべきかどうか判断
する。すなわち、シミュレータ1b及び1cが、シミュ
レータ1aの要求している時刻に影響を及ぼす可能性が
あるかを調査し、影響を及ぼす可能性がなければシミュ
レータ1aの時刻進行を許可し、影響を及ぼす可能性が
あればシミュレータ1aの時刻進行を許可しない。
【0239】ここでは、例えば、シミュレータ1b及び
1cが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2aはシミュレータ
1aの時刻進行を許可できると判断し、シミュレータ1
aに時刻進行を許可するシミュレーションメッセージを
送信する。上記で説明したように、このシミュレーショ
ンメッセージを受信したシミュレータ1aは次時刻のシ
ミュレーションを開始することとなる。
【0240】分散シミュレーション制御装置2cでは、
分散シミュレーション制御装置2bからシミュレーショ
ンメッセージM9を受け取り、シミュレータ1bが1時
刻分のシミュレーションを終了したことを認識する。シ
ミュレータ1bが1時刻分のシミュレーションを終了し
たため、シミュレータ1cに、先に送信しなかったデー
タの更新内容を伝達するシミュレーションメッセージを
送信できるかどうかを判断する。現時点では、シミュレ
ータ1cは時刻進行を要求していない、すなわち、シミ
ュレーションを実行中であるため、上記シミュレーショ
ンメッセージは送信すべきでないと認識する。
【0241】次に、分散シミュレーション制御装置2c
は、シミュレータ1cから時刻進行の要求を意味するシ
ミュレーションメッセージM10を受け取る。このシミ
ュレーションメッセージは他の分散シミュレーション制
御装置に転送する必要があると判断し、メッセージ転送
機構10cにより、分散シミュレーション制御装置2a
及び2bにシミュレーションメッセージM10を転送す
る。
【0242】分散シミュレーション制御装置2cでは、
シミュレータ1cが1時刻分のシミュレーションを終了
したことを認識し、シミュレータ1cにデータの更新内
容を伝達する必要があることを認識しているため、デー
タの更新内容を伝達し、その後時刻進行を許可する必要
がある。
【0243】まず、分散シミュレーション制御装置2c
は、シミュレータ1cに伝達すべき更新内容が存在する
か確認する。すなわち、これ以前に、分散シミュレーシ
ョン制御装置2aからデータの更新を意味するシミュレ
ーションメッセージM7を受け取り、シミュレータ1c
にデータの更新内容を伝達するためのシミュレーション
メッセージを作成しているので、シミュレータ1cに伝
達すべき更新内容が存在すると判断する。
【0244】次に、分散シミュレーション制御装置2c
は、シミュレータ1cにデータの更新内容を伝達するた
めのシミュレーションメッセージを送信すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、伝
達すべきデータ更新内容に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1cへ更新内容を伝達し、影響を及ぼす可能性があれば
シミュレータ1cへ更新内容を伝達しない。
【0245】ここでは、例えば、シミュレータ1a及び
1bが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2cは、データの更
新内容を伝達するためのシミュレーションメッセージを
シミュレータ1cに送信する。
【0246】次に、分散シミュレーション制御装置2c
は、シミュレータ1cの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、シ
ミュレータ1cの要求している時刻に影響を及ぼす可能
性があるかを調査し、影響を及ぼす可能性がなければシ
ミュレータ1cの時刻進行を許可し、影響を及ぼす可能
性があればシミュレータ1cの時刻進行を許可しない。
【0247】ここでは、例えば、シミュレータ1a及び
1bが影響を及ぼす可能性がない場合について説明す
る。分散シミュレーション制御装置2cは、シミュレー
タ1cの時刻進行を許可できると判断し、シミュレータ
1cに時刻進行を許可するシミュレーションメッセージ
を送信する。上記で説明したように、このシミュレーシ
ョンメッセージを受信したシミュレータ1cは次時刻の
シミュレーションを開始することとなる。
【0248】分散シミュレーション制御装置2aは、分
散シミュレーション制御装置2cからシミュレーション
メッセージM10を受け取り、シミュレータ1cが1時
刻分のシミュレーションを終了したことを認識する。シ
ミュレータ1aに対して特に何も処理する必要はないた
め、このシミュレーションメッセージM10に対して処
理は行わない。
【0249】分散シミュレーション制御装置2bでは、
分散シミュレーション制御装置2cからシミュレーショ
ンメッセージM10を受け取り、シミュレータ1cが1
時刻分のシミュレーションを終了したことを認識する。
シミュレータ1cが1時刻分のシミュレーションを終了
したため、シミュレーションの状況が変化したことを認
識し、先にデータの更新内容を伝達しなかったシミュレ
ータ1bについて、再度更新内容を伝達すべきかどうか
判断する。すなわち、シミュレータ1a及び1cが、伝
達すべきデータ更新内容に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bへ更新内容を伝達し、影響を及ぼす可能性があれば
シミュレータ1bへ更新内容を伝達しない。
【0250】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2bは、デ
ータの更新内容を伝達するためのシミュレーションメッ
セージをシミュレータ1bに送信する。
【0251】次に、分散シミュレーション制御装置2b
は、先に許可しなかったシミュレータ1bの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、シミュレータ
1bの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1bの時刻進行を許可しない。
【0252】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2bは、シ
ミュレータ1bの時刻進行を許可できると判断し、シミ
ュレータ1bに時刻進行を許可するシミュレーションメ
ッセージを送信する。上記で説明したように、このシミ
ュレーションメッセージを受信したシミュレータ1bは
次時刻のシミュレーションを開始することとなる。
【0253】次に、分散シミュレーション制御装置2b
は、シミュレータ1bから時刻進行の要求を意味するシ
ミュレーションメッセージM11を受け取る。このシミ
ュレーションメッセージは他の分散シミュレーション制
御装置に転送する必要があると判断し、メッセージ転送
機構10bにより、分散シミュレーション制御装置2a
及び2cにシミュレーションメッセージM11を転送す
る。
【0254】分散シミュレーション制御装置2bでは、
シミュレータ1bが1時刻分のシミュレーションを終了
したことを認識し、シミュレーションメッセージM9を
受け取ったときと同様に、シミュレータ1bにデータの
更新内容を伝達する必要があることを認識しているた
め、まず、シミュレータ1bに伝達すべき更新内容が存
在するか確認する。分散シミュレーション制御装置2b
は、シミュレータ1bにデータの更新内容を伝達するた
めのシミュレーションメッセージを新たに作成していな
いので、シミュレータ1bに伝達すべき更新内容が存在
しないと判断する。
【0255】次に、分散シミュレーション制御装置2b
は、シミュレータ1bの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1a及び1cが、シ
ミュレータ1bの要求している時刻に影響を及ぼす可能
性があるかを調査し、影響を及ぼす可能性がなければシ
ミュレータ1bの時刻進行を許可し、影響を及ぼす可能
性があればシミュレータ1bの時刻進行を許可しない。
【0256】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がある場合につい
て説明する。分散シミュレーション制御装置2bは、シ
ミュレータ1bの時刻進行を許可すべきでないと判断す
る。
【0257】分散シミュレーション制御装置2a及び2
cは、分散シミュレーション制御装置2bからシミュレ
ーションメッセージM11を受け取り、シミュレータ1
bが1時刻分のシミュレーションを終了したことを認識
する。シミュレータ1a及び1cに対して特に何も処理
する必要はないため、このシミュレーションメッセージ
M11に対して処理は行わない。
【0258】次に、分散シミュレーション制御装置2a
は、シミュレータ1aからデータの更新を意味するシミ
ュレーションメッセージM12を受け取る。このシミュ
レーションメッセージは他の分散シミュレーション制御
装置に転送する必要があると判断し、メッセージ転送機
構10aにより、分散シミュレーション制御装置2b及
び2cにシミュレーションメッセージM12を転送す
る。
【0259】分散シミュレーション制御装置2bでは、
分散シミュレーション制御装置2aからシミュレーショ
ンメッセージM12を受け取ると、シミュレータ1bに
このデータの更新内容を伝達する必要があるため、分散
シミュレーション制御装置2bは、シミュレータ1bに
データの更新内容を伝達するためのシミュレーションメ
ッセージを作成し、シミュレータ1bに作成したシミュ
レーションメッセージを送信すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、伝達すべきデ
ータ更新内容に影響を及ぼす可能性があるかを調査し、
影響を及ぼす可能性がなければシミュレータ1bへ更新
内容を伝達し、影響を及ぼす可能性があればシミュレー
タ1bへ更新内容を伝達しない。
【0260】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がある場合につい
て説明する。分散シミュレーション制御装置2bは、シ
ミュレータ1bへ更新内容を伝達するためのシミュレー
ションメッセージを送信しない。
【0261】分散シミュレーション制御装置2cでは、
分散シミュレーション制御装置2bと同様に、分散シミ
ュレーション制御装置2aからシミュレーションメッセ
ージM12を受け取ると、シミュレータ1cにこのデー
タの更新内容を伝達する必要があるため、シミュレータ
1cにデータの更新内容を伝達するためのシミュレーシ
ョンメッセージを作成し、シミュレータ1cに作成した
シミュレーションメッセージを送信すべきかどうか判断
する。シミュレータ1cは、シミュレーションを実行中
であるので、上記シミュレーションメッセージは送信し
ない。
【0262】次に、分散シミュレーション制御装置2c
は、シミュレータ1cから時刻進行の要求を意味するシ
ミュレーションメッセージM13を受け取る。このシミ
ュレーションメッセージは他の分散シミュレーション制
御装置に転送する必要があると判断し、メッセージ転送
機構10cにより、分散シミュレーション制御装置2a
及び2bにシミュレーションメッセージM13を転送す
る。
【0263】分散シミュレーション制御装置2cでは、
シミュレータ1cが1時刻分のシミュレーションを終了
したことを認識し、シミュレータ1cにデータの更新内
容を伝達する必要があることを認識しているため、シミ
ュレーションメッセージM10を受け取った時と同様
に、データの更新内容を伝達し、その後時刻進行を許可
する必要がある。
【0264】まず、分散シミュレーション制御装置2c
は、シミュレータ1cに伝達すべき更新内容が存在する
か確認する。すなわち、シミュレーションメッセージM
12を受け取り、シミュレータ1cにデータの更新内容
を伝達するためのシミュレーションメッセージを作成し
ているので、シミュレータ1cに伝達すべき更新内容が
存在すると判断する。
【0265】次に、分散シミュレーション制御装置2c
は、シミュレータ1cにデータの更新内容を伝達するた
めのシミュレーションメッセージを送信すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、伝
達すべきデータ更新内容に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1cへ更新内容を伝達し、影響を及ぼす可能性があれば
シミュレータ1cへ更新内容を伝達しない。
【0266】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1bが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2cは、シミュレータ1cへ更新内容
を伝達するためのシミュレーションメッセージを送信し
ない。
【0267】次に、分散シミュレーション制御装置2c
は、シミュレータ1cの時刻進行を許可すべきかどうか
判断する。すなわち、シミュレータ1a及び1bが、シ
ミュレータ1cの要求している時刻に影響を及ぼす可能
性があるかを調査し、影響を及ぼす可能性がなければシ
ミュレータ1cの時刻進行を許可し、影響を及ぼす可能
性があればシミュレータ1cの時刻進行を許可しない。
【0268】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1bが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2cは、シミュレータ1cの時刻進行
を許可すべきでないと判断する。
【0269】分散シミュレーション制御装置2aでは、
分散シミュレーション制御装置2cからシミュレーショ
ンメッセージM13を受け取り、シミュレータ1cが1
時刻分のシミュレーションを終了したことを認識する。
シミュレータ1aに対して特に何も処理する必要はない
ため、このシミュレーションメッセージM13に対して
処理は行わない。
【0270】分散シミュレーション制御装置2bでは、
分散シミュレーション制御装置2cからシミュレーショ
ンメッセージM13を受け取り、シミュレータ1cが1
時刻分のシミュレーションを終了したことを認識し、シ
ミュレータ1cが1時刻分のシミュレーションを終了し
たため、シミュレーションの状況が変化したことを認識
し、先にデータの更新内容を伝達しなかったシミュレー
タ1bについて、再度更新内容を伝達すべきかどうか判
断する。すなわち、シミュレータ1a及び1cが、伝達
すべきデータ更新内容に影響を及ぼす可能性があるかを
調査し、影響を及ぼす可能性がなければシミュレータ1
bへ更新内容を伝達し、影響を及ぼす可能性があればシ
ミュレータ1bへ更新内容を伝達しない。
【0271】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1cが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2bは、シミュレータ1bへ更新内容
を伝達するためのシミュレーションメッセージを送信し
ない。
【0272】次に、分散シミュレーション制御装置2b
は、先に許可しなかったシミュレータ1bの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、シミュレータ
1bの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1bの時刻進行を許可しない。
【0273】ここでは、例えば、シミュレータ1aが影
響を及ぼす可能性があり、シミュレータ1cが影響を及
ぼす可能性がない場合について説明する。分散シミュレ
ーション制御装置2bは、シミュレータ1bの時刻進行
を許可すべきでないと判断する。
【0274】次に、分散シミュレーション制御装置2a
は、シミュレータ1aから時刻進行の要求を意味するシ
ミュレーションメッセージM14を受け取る。このシミ
ュレーションメッセージは他の分散シミュレーション制
御装置に転送する必要があると判断し、メッセージ転送
機構10aにより、分散シミュレーション制御装置2b
及びcにシミュレーションメッセージM14を転送す
る。
【0275】分散シミュレーション制御装置2aでは、
シミュレータ1aが1時刻分のシミュレーションを終了
したこと、データの更新がこれ以上発生しないことを認
識し、シミュレータ1aの時刻進行を許可すべきかどう
か判断する。すなわち、シミュレータ1b及び1cが、
シミュレータ1aの要求している時刻に影響を及ぼす可
能性があるかを調査し、影響を及ぼす可能性がなければ
シミュレータ1aの時刻進行を許可し、影響を及ぼす可
能性があればシミュレータ1aの時刻進行を許可しな
い。
【0276】ここでは、例えば、シミュレータ1b及び
cが影響を及ぼす可能性がない場合について説明する。
分散シミュレーション制御装置2aはシミュレータ1a
の時刻進行を許可できると判断し、シミュレータ1aに
時刻進行を許可するシミュレーションメッセージを送信
する。上記で説明したように、このシミュレーションメ
ッセージを受信したシミュレータ1aは次時刻のシミュ
レーションを開始することとなる。
【0277】分散シミュレーション制御装置2bでは、
分散シミュレーション制御装置2aからシミュレーショ
ンメッセージM14を受け取り、シミュレータ1aが1
時刻分のシミュレーションを終了したこと、データの更
新がこれ以上発生しないことを認識し、シミュレータ1
aが1時刻分のシミュレーションを終了したため、シミ
ュレーションの状況が変化したことを認識し、先にデー
タの更新内容を伝達しなかったシミュレータ1bについ
て、再度更新内容を伝達すべきかどうか判断する。すな
わち、シミュレータ1a及び1cが、伝達すべきデータ
更新内容に影響を及ぼす可能性があるかを調査し、影響
を及ぼす可能性がなければシミュレータ1bへ更新内容
を伝達し、影響を及ぼす可能性があればシミュレータ1
bへ更新内容を伝達しない。
【0278】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2bは、デ
ータの更新内容を伝達するためのシミュレーションメッ
セージをシミュレータ1bに送信する。
【0279】次に、分散シミュレーション制御装置2b
は、先に許可しなかったシミュレータ1bの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1cが、シミュレータ
1bの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1bの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1bの時刻進行を許可しない。
【0280】ここでは、例えば、シミュレータ1aもシ
ミュレータ1cも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2bは、シ
ミュレータ1bの時刻進行を許可できると判断し、シミ
ュレータ1bに時刻進行を許可するシミュレーションメ
ッセージを送信する。上記で説明したように、このシミ
ュレーションメッセージを受信したシミュレータ1bは
次時刻のシミュレーションを開始することとなる。
【0281】分散シミュレーション制御装置2cでは、
分散シミュレーション制御装置2aからシミュレーショ
ンメッセージM14を受け取り、シミュレータ1aが1
時刻分のシミュレーションを終了したこと、データの更
新がこれ以上発生しないことを認識し、先にデータの更
新内容を伝達しなかったシミュレータ1cについて、再
度更新内容を伝達すべきかどうか判断する。すなわち、
シミュレータ1a及びbが、伝達すべきデータ更新内容
に影響を及ぼす可能性があるかを調査し、影響を及ぼす
可能性がなければシミュレータ1cへ更新内容を伝達
し、影響を及ぼす可能性があればシミュレータ1cへ更
新内容を伝達しない。
【0282】ここでは、例えば、シミュレータ1aもシ
ミュレータ1bも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2cは、デ
ータの更新内容を伝達するためのシミュレーションメッ
セージをシミュレータ1cに送信する。
【0283】次に、分散シミュレーション制御装置2c
は、先に許可しなかったシミュレータ1cの時刻進行に
ついて、再度時刻進行を許可すべきかどうか判断する。
すなわち、シミュレータ1a及び1bが、シミュレータ
1cの要求している時刻に影響を及ぼす可能性があるか
を調査し、影響を及ぼす可能性がなければシミュレータ
1cの時刻進行を許可し、影響を及ぼす可能性があれば
シミュレータ1cの時刻進行を許可しない。
【0284】ここでは、例えば、シミュレータ1aもシ
ミュレータ1bも影響を及ぼす可能性がない場合につい
て説明する。分散シミュレーション制御装置2cは、シ
ミュレータ1cの時刻進行を許可できると判断し、シミ
ュレータ1cに時刻進行を許可するシミュレーションメ
ッセージを送信する。上記で説明したように、このシミ
ュレーションメッセージを受信したシミュレータ1cは
次時刻のシミュレーションを開始することとなる。
【0285】以上のように、分散シミュレーション制御
装置2a〜2cは、シミュレータ1a〜1c及び分散シ
ミュレーション制御装置2a〜2cから受信したシミュ
レーションメッセージを次々と処理していくこととな
る。各シミュレータのシミュレーションが終了すると、
分散シミュレーション制御装置2a〜2cは各シミュレ
ータからシミュレーションを脱退することを意味するシ
ミュレーションメッセージM15、M16、M17を受
け取る。
【0286】分散シミュレーション制御装置2aは、シ
ミュレータ1aからシミュレーションを脱退することを
意味するシミュレーションメッセージM15を受け取
る。このシミュレーションメッセージは他の分散シミュ
レーション制御装置に転送する必要があると判断し、メ
ッセージ転送機構10aにより、分散シミュレーション
制御装置2b及び2cにシミュレーションメッセージM
15を転送する。分散シミュレーション制御装置2a及
び、分散シミュレーション制御装置2aからシミュレー
ションメッセージM15を受け取った分散シミュレーシ
ョン制御装置2b、2cは、シミュレーションからシミ
ュレータ1aが脱退したことを認識する。
【0287】同様に、分散シミュレーション制御装置2
bは、シミュレータ1bからシミュレーションを脱退す
ることを意味するシミュレーションメッセージM16を
受け取る。このシミュレーションメッセージは他の分散
シミュレーション制御装置に転送する必要があると判断
し、メッセージ転送機構10bにより、分散シミュレー
ション制御装置2a及び2cにシミュレーションメッセ
ージM16を転送する。分散シミュレーション制御装置
2b及び、分散シミュレーション制御装置2bからシミ
ュレーションメッセージM16を受け取った分散シミュ
レーション制御装置2a、2cは、シミュレーションか
らシミュレータ1bが脱退したことを認識する。
【0288】同様に、分散シミュレーション制御装置2
cは、シミュレータ1cからシミュレーションを脱退す
ることを意味するシミュレーションメッセージM17を
受け取る。このシミュレーションメッセージは他の分散
シミュレーション制御装置に転送する必要があると判断
し、メッセージ転送機構10cにより、分散シミュレー
ション制御装置2a及び2bにシミュレーションメッセ
ージM17を転送する。分散シミュレーション制御装置
2c及び、分散シミュレーション制御装置2cからシミ
ュレーションメッセージM17を受け取った分散シミュ
レーション制御装置2a、2bは、シミュレーションか
らシミュレータ1cが脱退したことを認識する。
【0289】なお、上記実施の形態2では、3つのシミ
ュレータを制御する場合について説明したが、シミュレ
ータの数が増加、あるいは減少した場合には、対応する
分散シミュレーション制御装置の数を増加、あるいは減
少することにより動作すればよい。
【0290】また、上記実施の形態2で説明した以外の
シミュレーションメッセージが存在してもよい。また、
上記実施の形態2では、分散シミュレーション制御装置
2a〜2cで受信したすべてのシミュレーションメッセ
ージを他の分散シミュレーション制御装置に転送してい
るが、これは複数の分散シミュレーション制御装置で制
御する動作を説明するためであり、受信したシミュレー
ションメッセージを他の分散シミュレーション制御装置
に転送せずに処理する場合が存在してもよい。
【0291】例えば、シミュレータ1aが分散シミュレ
ーション制御装置2aにシミュレーション時刻を問い合
わせることを意味するシミュレーションメッセージを送
信したとする。分散シミュレーション制御装置2aは、
上記シミュレーションメッセージを受信すると、このシ
ミュレーションメッセージは他の分散シミュレーション
制御装置に転送する必要はないと判断し、分散シミュレ
ーション制御装置2b及び2cにシミュレーションメッ
セージを転送せず、すぐさまシミュレータ1aにシミュ
レーション時刻を送信する。
【0292】さらに、上記実施の形態2では、3つのシ
ミュレータが時刻の進行を要求する、いわゆる時間駆動
型のシミュレータの場合について説明したが、イベント
の到着を待って動作する、いわゆるイベント駆動型のシ
ミュレーションである場合には、分散シミュレーション
制御装置2a〜2cが各シミュレータに送るべきイベン
トを送付可能かどうかを判断する、すなわち、送るべき
イベントに他のシミュレータが影響を及ぼす可能性があ
るかを調査し、影響を及ぼす可能性がなければそのイベ
ントを送付し、影響を及ぼす可能性があれば、そのイベ
ントを送付せず、状況が変化した場合に再度送付可能で
あるかどうかを判断するようにすればよい。
【0293】実施の形態3.図10は実施の形態3によ
る分散シミュレーションシステムの構成を示すブロック
図である。図10において、1a〜1dは例えば艦船や
航空機、センサ、信号処理アルゴリズム等を模擬するシ
ミュレータ、2a〜2cは複数のシミュレータ1a〜2
d間のデータ交換を制御するとともに、各々のシミュレ
ータの時刻進行を制御する分散シミュレーション制御装
置、3はシミュレータ1a〜1d及び分散シミュレーシ
ョン制御装置2a〜2cを相互に接続するネットワー
ク、4a〜4d及び4A〜4Cはネットワーク3を介し
てシミュレータ1a〜1d及び分散シミュレーション制
御装置2a〜2cとの間でデータを転送する通信機構、
5a〜5dは分散シミュレーション制御装置2a〜2c
に送信するシミュレーションメッセージにタイムスタン
プを付加するタイムスタンプ付加機構、6a〜6cはシ
ミュレータ1a〜dから送られてくる複数のシミュレー
ションメッセージを、付加されたタイムスタンプの小さ
い順に並び替え、タイムスタンプの小さなものから順に
取り出すオーダリング機構、7a〜7dは1つのシミュ
レーションメッセージを分散シミュレーションシステム
内に存在するすべての分散シミュレーション制御装置2
a〜2cに送信するメッセージ配布機構、11a〜11
cは分散シミュレーションシステム内に存在する複数の
シミュレータ1a〜1dのうち、制御している複数のシ
ミュレータの情報を保持するシミュレータ情報保持機
構、12a〜12cはシミュレータ情報保持機構11a
〜11cで保持している複数のシミュレータに対しての
み受信したシミュレーションメッセージに関する処理結
果やその他のシミュレータの動作を制御するシミュレー
ションメッセージを送信するシミュレータ管理・制御機
構である。
【0294】実施の形態3による分散シミュレーション
システムでは、複数のシミュレータを複数の分散シミュ
レーション制御装置で制御する方式を採ると共に、シミ
ュレータ情報保持機構11a〜11cで1つあるいは複
数のシミュレータの情報を保持することにより、1つの
分散シミュレーション制御装置でも複数のシミュレータ
を制御する方式を採る。
【0295】次に動作について説明する。ここでは、シ
ミュレータ同士が連携して動作する一例として、シミュ
レータ1aが何らかのデータを更新しながらシミュレー
ションを継続し、シミュレータ1b、1c、1dがシミ
ュレータ1aで更新されたデータを参照しながら、シミ
ュレーションを行なうといった場合について説明する。
【0296】シミュレータ1a〜1cは、実施の形態1
に示したシミュレータ1a〜1cと全く同様に動作す
る。
【0297】シミュレータ1dは、実施の形態1に示し
たシミュレータ1b及び1cと同様に動作する。すなわ
ち、図4で示したように、順に分散シミュレーション制
御装置2a〜2cにシミュレーションメッセージを送信
しながら、すなわち、通信機構4dによってシミュレー
ションメッセージを分散シミュレーション制御装置2a
〜2cにネットワーク3を介して送信しながら動作す
る。
【0298】次に、分散シミュレーション制御装置2a
〜2cの動作について説明する。分散シミュレーション
制御装置2a及び2bはそれぞれシミュレータ1a、1
bを制御し、分散シミュレーション制御装置2cはシミ
ュレータ1c及び1dを制御している場合について説明
する。
【0299】分散シミュレーション制御装置2a及び2
bは、制御するシミュレータの数が1つであるので、実
施の形態1と全く同様の処理を行う。
【0300】分散シミュレーション制御装置2cは、実
施の形態1では、1つのシミュレータ、すなわち、シミ
ュレータ1cのみを制御していたが、本実施の形態では
2つのシミュレータ、すなわち、シミュレータ1cと1
dを制御する。
【0301】分散シミュレーション制御装置2cは、シ
ミュレータ1a〜1dからシミュレーションメッセージ
が到着するのを待ち、シミュレーションメッセージが到
着したら、そのシミュレーションメッセージを受信す
る。すなわち、通信機構4Cによって、シミュレータ1
a〜1dからシミュレーションメッセージが到着してい
ないかを確認し、到着している場合にはそのメッセージ
を受信する。
【0302】通信機構4Cでは、シミュレータ1a〜1
dからシミュレーションメッセージを受信すると、オー
ダリング機構6cによりそのシミュレーションメッセー
ジを、付加されたタイムスタンプの小さい順に並び替
え、タイムスタンプの小さなものから順に取り出す。
【0303】分散シミュレーション制御装置2cは、上
記により受信したシミュレーションメッセージを解析
し、それに対する処理を行なう。すなわち、シミュレー
タ管理・制御機構12cにより、受信したシミュレーシ
ョンメッセージが、シミュレータ情報保持機構11cで
保持しているシミュレータから送信されたものであるか
チェックし、保持していない場合には、シミュレータ情
報保持機構11cで保持しているシミュレータの情報に
影響がある場合にのみ、その情報を更新する。影響のな
い場合には処理しない。
【0304】ここで、シミュレータ情報保持機構11c
には、2つのシミュレータの情報が保持されている。す
なわち、シミュレータ1cと1dのシミュレータの情報
が保持されている。シミュレータ管理・制御機構12c
は、シミュレータ情報保持機構11cにおいて2つのシ
ミュレータの情報が保持されていることを認識し、受信
したシミュレーションメッセージが、シミュレータ情報
保持機構11cで保持しているシミュレータのいずれか
から送信されたものであるかをチェックする。
【0305】ここで、どの分散シミュレーション制御装
置がどのシミュレータを制御するかは、予め決められて
いてもよい。また、シミュレータがシミュレーションに
参加した時点で、すなわち、シミュレーションに参加す
ることを意味するシミュレーションメッセージを受信し
た時点で、分散シミュレーション制御装置間でどのシミ
ュレータを制御するかを調停してもよい。
【0306】受信したシミュレーションメッセージが、
シミュレータ情報保持機構11cで保持しているシミュ
レータから送信されたものである場合には、シミュレー
タ情報保持機構11cで保持しているシミュレータの情
報を更新すると共に、追ってシミュレータにシミュレー
ションメッセージを送信すべきかどうかの判断、シミュ
レータへのシミュレーションメッセージの送信等を行な
う。例えば、受信したシミュレーションメッセージが時
刻進行を要求するものであれば、そのシミュレータの時
刻の進行を許可すべきかどうか判断し、許可して良い場
合には時刻進行を許可するシミュレーションメッセージ
をシミュレータに対して送信する。すなわち、通信機構
4Cによって、シミュレータメッセージがネットワーク
3を介して送信される。
【0307】ここで、シミュレータ情報保持機構11c
には、2つのシミュレータ、すなわち、シミュレータ1
cと1dの情報が保持されているので、シミュレータ管
理・制御機構12cは、このいずれのシミュレータに対
してシミュレーションメッセージを送信すべきかを判断
した後、適切なシミュレータに対して送信する。
【0308】分散シミュレーション制御装置2cは受信
したシミュレーションメッセージの処理を終えると、再
びシミュレータ1a〜1dからシミュレーションメッセ
ージが到着するのを待つ。
【0309】なお、分散シミュレーション制御装置2a
〜2cにおいて、シミュレータ1a〜1dから送信され
たシミュレーションメッセージに対する処理は、実施の
形態1と同様に行なわれる。
【0310】なお、上記実施の形態3では、分散シミュ
レーション制御装置2cで複数のシミュレータを制御す
る場合について説明したが、分散シミュレーション制御
装置2aもしくは2bが複数のシミュレータを制御する
場合でも同様である。また、複数の分散シミュレーショ
ン制御装置2が同時に複数のシミュレータを制御する場
合でも同様である。
【0311】実施の形態4.図11は実施の形態4によ
る分散シミュレーションシステムの構成を示すブロック
図である。図11において、1a〜1dは例えば艦船や
航空機、センサ、信号処理アルゴリズム等を模擬するシ
ミュレータ、2a〜2cは複数のシミュレータ1a〜1
d間のデータ交換を制御するとともに、各々のシミュレ
ータの時刻進行を制御する分散シミュレーション制御装
置、3はシミュレータ1a〜1d及び分散シミュレーシ
ョン制御装置2a〜2cを相互に接続するネットワー
ク、4a〜4d及び4A〜4Cはネットワーク3を介し
てシミュレータ1a〜1d及び分散シミュレーション制
御装置2a〜cとの間でデータを転送する通信機構、5
a〜5dは分散シミュレーション制御装置2a〜2cに
送信するシミュレーションメッセージにタイムスタンプ
を付加するタイムスタンプ付加機構、6a〜6cはシミ
ュレータ1a〜1dから送られてくる複数のシミュレー
ションメッセージを、付加されたタイムスタンプの小さ
い順に並び替え、タイムスタンプの小さなものから順に
取り出すオーダリング機構、7a〜7dは1つのシミュ
レーションメッセージを分散シミュレーションシステム
内に存在するすべての分散シミュレーション制御装置2
a〜2cに送信するメッセージ配布機構、11a〜11
cは分散シミュレーションシステム内に存在する複数の
シミュレータ1a〜1dのうち、制御している複数のシ
ミュレータの情報を保持するシミュレータ情報保持機
構、12a〜12cはシミュレータ情報保持機構11a
〜11cで保持している複数のシミュレータに対しての
み受信したシミュレーションメッセージに関する処理結
果やその他のシミュレータの動作を制御するシミュレー
ションメッセージを送信するシミュレータ管理・制御機
構、13a〜13cはどのシミュレータを制御するかを
他の分散シミュレーション制御装置と調停する制御調停
機構、14a〜14cはシミュレータ情報保持機構11
a〜11cで保持している複数のシミュレータの情報の
うち任意の情報を他の分散シミュレーション制御装置に
伝達する情報伝達機構、15a〜15cはシミュレータ
情報保持機構11a〜11cで保持している複数のシミ
ュレータの情報のうち任意の情報を追加・削除するなど
変更する保持情報変更機構である。
【0312】実施の形態4による分散シミュレーション
システムでは、複数のシミュレータを複数の分散シミュ
レーション制御装置で制御する方式を採ると共に、13
a〜13cによって他の分散シミュレーション制御装置
とどのシミュレータを制御するかを調停し、変更する場
合には14a〜14cによりシミュレータ情報保持機構
11a〜11cで保持している複数のシミュレータの情
報のうち任意の情報を他の分散シミュレーション制御装
置に伝達し、その後、保持情報変更機構15a〜15c
によりシミュレータ情報保持機構11a〜11cで保持
している複数のシミュレータの情報のうち任意の情報を
追加・削除するなど変更することにより、1つの分散シ
ミュレーション制御装置で制御している1つあるいは複
数のシミュレータのうち、任意の1つあるいは複数のシ
ミュレータの制御を他の分散シミュレーション制御装置
で制御するように変更する方式を採る。
【0313】次に動作について説明する。分散シミュレ
ーション制御装置2a及び2bはそれぞれシミュレータ
1a、1bを制御し、分散シミュレーション制御装置2
cはシミュレータ1c及び1dを制御している場合、通
常の状態、すなわち、シミュレータ1a〜1dがシミュ
レーションを行ない、分散シミュレーション制御装置2
a〜cは制御するシミュレータを変更しない場合には、
シミュレータ1a〜1d及び分散シミュレーション制御
装置2a〜2cは実施の形態3と全く同様に動作する。
【0314】次に、分散シミュレーション制御装置2a
〜2cにおいて、制御するシミュレータを変更する場合
について説明する。例えば、分散シミュレーション制御
装置2a及び2bはそれぞれシミュレータ1a、1bを
制御し、分散シミュレーション制御装置2cはシミュレ
ータ1c及び1dを制御していたが、分散シミュレーシ
ョン制御装置2aはシミュレータ1a及び1dを、分散
シミュレーション制御装置2b及び2cはそれぞれシミ
ュレータ1b、1cを制御するよう変更する場合の動作
について説明する。
【0315】シミュレータ1a〜1dは、分散シミュレ
ーション制御装置間で制御が移行する場合でも、実施の
形態3と全く同様に動作する。
【0316】分散シミュレーション制御装置2cは、現
在行なっているシミュレータ1dの制御を、他の分散シ
ミュレーション制御装置に移行することと判断し、分散
シミュレーション制御装置2a及び2bにシミュレータ
1dの制御を依頼する。すなわち、制御調停機構13c
により、分散シミュレーション制御装置2a及び2bに
制御を依頼するメッセージを送信する。その後、上記メ
ッセージに対する分散シミュレーション制御装置2a及
び2bからの回答を待つ。
【0317】ここで、分散シミュレーション制御装置2
cは、自身の処理負荷が大きい、他の分散シミュレーシ
ョン制御装置に制御を移行した方が効率的にシミュレー
ションを実行できるなど、能動的に制御を移行すること
を判断してもよい。また、シミュレータ1dから他の分
散シミュレーション制御装置に移行するよう要求され
る、シミュレーションを動作させているオペレータから
指示されるなど、受動的に制御を移行することを判断し
てもよい。
【0318】分散シミュレーション制御装置2a及び2
bは、上記メッセージを受信すると、制御調停機構13
a(もしくは13b)により制御を引き受けるかどうか
判断し、制御を引き受ける場合には制御の依頼を了解す
るメッセージを、制御を引き受けない場合には制御の依
頼を却下するメッセージを分散シミュレーション制御装
置2cに送る。
【0319】分散シミュレーション制御装置2cは、分
散シミュレーション制御装置2a及び2bからの回答を
受け取ると、その内容を確認し制御を移行することが可
能か判断する。すなわち、分散シミュレーション制御装
置2aと2bのいずれかが制御の移行を了解するなら、
了解した分散シミュレーション制御装置に制御を移行す
ることとする。分散シミュレーション制御装置2a、2
b共に制御の移行を了解するなら、分散シミュレーショ
ン制御装置2aと2bのいずれかに制御を移行すること
とする。分散シミュレーション制御装置2a、2b共
に、制御の移行を却下するなら制御の移行を断念する。
【0320】もし、いずれかの分散シミュレーション制
御装置に制御を移行するなら、分散シミュレーション制
御装置2cはその分散シミュレーション制御装置に制御
を移行するための情報を送る。ここでは、分散シミュレ
ーション制御装置2cから分散シミュレーション制御装
置2aに制御を移行するので、分散シミュレーション制
御装置2cは分散シミュレーション制御装置2aに制御
を移行するための情報を送る。すなわち、シミュレータ
情報保持機構11cで保持している、制御を移行するシ
ミュレータ1dのシミュレーションの情報を、情報伝達
機構14cにより分散シミュレーション制御装置2aに
送信する。
【0321】分散シミュレーション制御装置2aは、分
散シミュレーション制御装置2cからシミュレータ1d
のシミュレーションの情報を受け取ると、その情報を保
持情報変更機構15aによりシミュレータ情報保持機構
11aに追加し、無事終了したなら、その旨分散シミュ
レーション制御装置2cに伝達する。そして、それ以降
シミュレータ1dの制御を開始する。
【0322】分散シミュレーション制御装置2cは、分
散シミュレーション制御装置2aに無事に制御が移行で
きたのを確認し、保持情報変更機構15cによりシミュ
レータ情報保持機構11cで保持しているシミュレータ
1dのシミュレーションの情報を削除する。
【0323】分散シミュレーション制御装置2a〜2c
において、シミュレータ1a〜1dから送信されたシミ
ュレーションメッセージに対する処理は、実施の形態1
と同様に行なわれる。
【0324】なお、上記実施の形態4では、分散シミュ
レーション制御装置2cから分散シミュレーション制御
装置2aに制御を移行する場合について説明したが、分
散シミュレーション制御装置2bに移行する場合も同様
である。また、シミュレータ1d以外のシミュレータを
移行する場合も同様である。また、他の分散シミュレー
ション制御装置から他の分散シミュレーション制御装置
に移行する場合も同様である。
【0325】さらに、上記実施の形態4では、制御を移
行したい分散シミュレーション制御装置、すなわち、分
散シミュレーション制御装置2cが、その制御の引き受
け先を探してから制御を移行するという動作について説
明しているが、制御の引き受け先から現在制御している
分散シミュレーション制御装置に移行するよう要求を出
すことによって制御を移行してもよい。すなわち、制御
の引き受け先、例えば、分散シミュレーション制御装置
2aは、現在制御している分散シミュレーション制御装
置、例えば、分散シミュレーション制御装置2cに、シ
ミュレータ、例えば、シミュレータ1dの制御を移行す
るよう要求する。分散シミュレーション制御装置2c
は、シミュレータ1dの制御を移行して良いか判断し、
移行することを了解するなら、シミュレータ1dのシミ
ュレーション情報を送ることにより、制御を移行する。
【0326】実施の形態5.図12は実施の形態5によ
る分散シミュレーションシステムの構成を示すブロック
図である。図12において、1a〜1dは例えば艦船や
航空機、センサ、信号処理アルゴリズム等を模擬するシ
ミュレータ、2a〜2dは複数のシミュレータ1a〜1
d間のデータ交換を制御するとともに、各々のシミュレ
ータの時刻進行を制御する分散シミュレーション制御装
置、3はシミュレータ1a〜1d及び分散シミュレーシ
ョン制御装置2a〜2dを相互に接続するネットワー
ク、4a〜4d及び4A〜4Dはネットワーク3を介し
てシミュレータ1a〜1d及び分散シミュレーション制
御装置2a〜2dとの間でデータを転送する通信機構、
5a〜5dは分散シミュレーション制御装置2a〜2d
に送信するシミュレーションメッセージにタイムスタン
プを付加するタイムスタンプ付加機構、6a〜6dはシ
ミュレータ1a〜1dから送られてくる複数のシミュレ
ーションメッセージを、付加されたタイムスタンプの小
さい順に並び替え、タイムスタンプの小さなものから順
に取り出すオーダリング機構、7a〜7dは 1 つのシ
ミュレーションメッセージを分散シミュレーションシス
テム内に存在するすべての分散シミュレーション制御装
置2a〜2dに送信するメッセージ配布機構、11a〜
11dは分散シミュレーションシステム内に存在する複
数のシミュレータ1a〜1dのうち、制御している複数
のシミュレータの情報を保持するシミュレータ情報保持
機構、12a〜12dはシミュレータ情報保持機構11
a〜11dで保持している複数のシミュレータに対して
のみ受信したシミュレーションメッセージに関する処理
結果やその他のシミュレータの動作を制御するシミュレ
ーションメッセージを送信するシミュレータ管理・制御
機構、13a〜13dはどのシミュレータを制御するか
を他の分散シミュレーション制御装置と調停する制御調
停機構、14a〜14dはシミュレータ情報保持機構1
1a〜11dで保持している複数のシミュレータの情報
のうち任意の情報を他の分散シミュレーション制御装置
に伝達する情報伝達機構、15a〜15dはシミュレー
タ情報保持機構11a〜11dで保持している複数のシ
ミュレータの情報のうち任意の情報を追加・削除するな
ど変更する保持情報変更機構、16a〜16dは分散シ
ミュレーションシステムに新たに自分散シミュレーショ
ン制御装置が追加されたこと、あるいは、分散シミュレ
ーションシステムから自分散シミュレーション制御装置
が削除されることを、他の分散シミュレーション制御装
置に伝達する通知機構、17a〜17dは他の分散シミ
ュレーション制御装置が新たに追加、あるいは削除され
ることを認識する認識機構である。
【0327】実施の形態5による分散シミュレーション
システムでは、複数のシミュレータを複数の分散シミュ
レーション制御装置で制御する方式を採ると共に、16
a〜16dにより新たに追加・削除することを他の分散
シミュレーション制御装置に通知し、その通知を17a
〜17dで認識することにより、分散シミュレーション
システム内に動作する分散シミュレーション制御装置の
数を変更する方式を採る。
【0328】次に動作について説明する。ここでは、分
散シミュレーションシステムが次のように変化していく
場合について説明する。 (1)分散シミュレーション制御装置2a及び2bはそ
れぞれシミュレータ1a、1bを制御し、分散シミュレ
ーション制御装置2cはシミュレータ1c及び1dを制
御し、分散シミュレーション制御装置2dは存在してい
ない。 (2)分散シミュレーション制御装置2dが追加され
る。 (3)シミュレータ1dの制御が分散シミュレーション
制御装置2cから分散シミュレーション制御装置2dへ
移行される。結果として、分散シミュレーション制御装
置2a〜2dはそれぞれシミュレータ1a、1b、1
c、1dを制御する。 (4)分散シミュレーション制御装置2aが削除され
る。これにともないシミュレータ1aは分散シミュレー
ション制御装置2bで制御される。
【0329】まず、上記(1)の場合には、シミュレー
タ1a〜1d及び分散シミュレーション制御装置2a〜
2cは、実施の形態3と同様に動作する。
【0330】次に、分散シミュレーション制御装置2d
が追加される ( 上記(2) ) と、分散シミュレーショ
ン制御装置2dは自身が分散シミュレーションシステム
に新たに追加されたことを通知する。すなわち、通知機
構16dにより、分散シミュレーション制御装置2a〜
2c及びシミュレータ1a〜1dにメッセージを送る。
【0331】シミュレータ1a〜1dは、上記メッセー
ジを受け取り、今後送信するシミュレーションメッセー
ジを分散シミュレーション制御装置2dにも送信する。
すなわち、メッセージ配布機構7a〜7dにおいて、シ
ミュレーションメッセージが分散シミュレーション制御
装置2a〜2dに送信されることとなる。
【0332】分散シミュレーション制御装置2a〜2c
は、上記メッセージを受け取ると、認識機構17a〜1
7cにより、分散シミュレーション制御装置2dが新た
に追加されたことを認識する。
【0333】分散シミュレーション制御装置2cでは、
分散シミュレーション制御装置2dが新たに追加された
ことを認識すると、現在行なっているシミュレータ1d
の制御を分散シミュレーション制御装置2dに移行する
よう、能動的に、あるいは受動的に判断し、シミュレー
タ1dの制御の移行を行う ( 上記(3) )。この動作
は、実施の形態4と同様である。
【0334】次に、分散シミュレーション制御装置2a
が削除される時 ( 上記(4) ) には、分散シミュレー
ション制御装置2aで制御しているシミュレータ1aを
他の分散シミュレーション制御装置に移行した後、分散
シミュレーション制御装置2aが削除されることとな
る。
【0335】ここでは、分散シミュレーション制御装置
2aで現在行なっているシミュレータ1aの制御を分散
シミュレーション制御装置2bに移行しているが、その
動作は、実施の形態4と同様である。
【0336】分散シミュレーション制御装置2aはシミ
ュレータ1aの制御の移行を完了すると、分散シミュレ
ーション制御装置2aは自身が分散シミュレーションシ
ステムから削除することを通知する。すなわち、通知機
構16aにより、分散シミュレーション制御装置2b〜
2d及びシミュレータ1a〜1dにメッセージを送る。
【0337】シミュレータ1a〜1dは、上記メッセー
ジを受け取り、今後送信するシミュレーションメッセー
ジは分散シミュレーション制御装置2aに送信しないよ
うにする。すなわち、メッセージ配布機構7a〜7dに
おいて、シミュレーションメッセージが分散シミュレー
ション制御装置2b〜2dに送信されることとなる。
【0338】分散シミュレーション制御装置2b〜2d
は、上記メッセージを受け取ると、認識機構17b〜1
7dにより、分散シミュレーション制御装置2aが削除
されることを認識する。
【0339】なお、上記実施の形態5では、分散シミュ
レーション制御装置2dが追加される場合について説明
したが、他の分散シミュレーション制御装置2a〜2c
が追加された場合も同様である。
【0340】また、上記実施の形態5では、分散シミュ
レーション制御装置2aが削除される場合について説明
したが、他の分散シミュレーション制御装置2b〜2d
が削除される場合も同様である。
【0341】さらに、上記実施の形態5では、同時に1
つの分散シミュレーション制御装置が追加、あるいは削
除される場合について説明したが、同時に複数の分散シ
ミュレーション制御装置が追加、あるいは削除されても
よい。
【0342】実施の形態6.図13は実施の形態6によ
る分散シミュレーションシステムの構成を示すブロック
図である。図13において、1a〜1cは例えば艦船や
航空機、センサ、信号処理アルゴリズム等を模擬するシ
ミュレータ、2a〜2cは複数のシミュレータ1a〜1
c間のデータ交換を制御するとともに、各々のシミュレ
ータの時刻進行を制御する分散シミュレーション制御装
置、18は特定のシミュレーション内容を管理/制御す
るシミュレーション管理機構、19は上記シミュレーシ
ョン管理機構18の機能を分散シミュレーション制御装
置2a〜2cに提供する機能サーバ、3はシミュレータ
1a〜1c及び分散シミュレーション制御装置2a〜2
c及び機能サーバ19を相互に接続するネットワーク、
4a〜4c及び4A〜4Cはネットワーク3を介してシ
ミュレータ1a〜1c及び分散シミュレーション制御装
置2a〜2c及び機能サーバ19との間でデータを転送
する通信機構、5a〜5cは分散シミュレーション制御
装置2a〜2cに送信するシミュレーションメッセージ
にタイムスタンプを付加するタイムスタンプ付加機構、
6a〜6cはシミュレータ1a〜1cから送られてくる
複数のシミュレーションメッセージを、付加されたタイ
ムスタンプの小さい順に並び替え、タイムスタンプの小
さなものから順に取り出すオーダリング機構、10a〜
10cは、受信したシミュレーションメッセージの内容
を解釈し、その内容によって、必要なら他のすべての分
散シミュレーション制御装置2もしくは機能サーバ19
に受信したシミュレーションメッセージを送信するメッ
セージ転送機構である。
【0343】実施の形態6による分散シミュレーション
システムでは、複数のシミュレータを複数の分散シミュ
レーション制御装置で制御する方式を採ると共に、シミ
ュレーション管理機構18により特定のシミュレーショ
ン内容を集中して管理/制御する方式を採る。
【0344】次に動作について説明する。ここでは、シ
ミュレーション管理機構18により、どのシミュレータ
がどのようなデータを更新し、どのシミュレータがどの
ようなデータの更新内容を参照するかを管理する場合に
ついて説明する。
【0345】シミュレータ1a〜1cは、実施の形態2
に示したシミュレータ1a〜1cと全く同様に動作す
る。
【0346】次に、分散シミュレーション制御装置2a
〜2cの動作について説明する。実施の形態2では、す
べてのシミュレーションメッセージを分散シミュレーシ
ョン制御装置2a〜2cで処理していたが、本実施の形
態では、シミュレーション管理機構18で制御している
データの更新及び参照に関するシミュレーションメッセ
ージは機能サーバ19で処理する。この部分に関する動
作は以下のようになる。
【0347】分散シミュレーション制御装置2aは、シ
ミュレータ1aからデータを公開することを意味するシ
ミュレーションメッセージM4を受け取ると、このシミ
ュレーションメッセージは機能サーバ19で処理する必
要があると判断し、メッセージ転送機構10aにより、
機能サーバ19にシミュレーションメッセージM4を転
送する。
【0348】機能サーバ19は、分散シミュレーション
制御装置2aから、シミュレーションメッセージM4を
受け取ると、シミュレーション管理機構18により今
後、シミュレータ1aがデータを更新することを認識す
る。
【0349】次に、分散シミュレーション制御装置2b
は、シミュレータ1bからデータを参照することを意味
するシミュレーションメッセージM5を受け取ると、こ
のシミュレーションメッセージは機能サーバ19で処理
する必要があると判断し、10bにより、機能サーバ1
9にシミュレーションメッセージM5を転送する。
【0350】機能サーバ19は、分散シミュレーション
制御装置2bから、シミュレーションメッセージM5を
受け取ると、シミュレーション管理機構18により、デ
ータが更新された場合に、シミュレータ1bに、その更
新内容を伝達する必要があることを認識する。
【0351】次に、分散シミュレーション制御装置2c
は、シミュレータ1cからデータを参照することを意味
するシミュレーションメッセージM6を受け取ると、こ
のシミュレーションメッセージは機能サーバ19で処理
する必要があると判断し、10cにより、機能サーバ1
9にシミュレーションメッセージM6を転送する。
【0352】機能サーバ19は、分散シミュレーション
制御装置2cから、シミュレーションメッセージM6を
受け取ると、シミュレーション管理機構18により、デ
ータが更新された場合に、シミュレータ1cに、その更
新内容を伝達する必要があることを認識する。
【0353】次に、分散シミュレーション制御装置2a
は、シミュレータ1aからデータの更新を意味するシミ
ュレーションメッセージM7を受け取ると、このシミュ
レーションメッセージは機能サーバ19で処理する必要
があると判断し、メッセージ転送機構10aにより、機
能サーバ19にシミュレーションメッセージM7を転送
する。
【0354】機能サーバ19は、分散シミュレーション
制御装置2aからシミュレーションメッセージM7を受
け取ると、シミュレーション管理機構18によって、シ
ミュレータ1b及び1cにその内容を伝達する必要があ
るため、シミュレータ1b及び1cにデータの更新内容
を伝達するためのシミュレーションメッセージを作成
し、分散シミュレーション制御装置2b及び2cに転送
する。
【0355】分散シミュレーション制御装置2b及び2
cは、機能サーバ19からシミュレータ1b及び1cに
データの更新内容を伝達するためのシミュレーションメ
ッセージを受け取ると、シミュレータ1b及び1cにそ
のシミュレーションメッセージを送信すべきかどうか判
断する。この動作は、実施の形態2と同様である。
【0356】なお、上記実施の形態6では、分散シミュ
レーション制御装置2aから機能サーバ19にシミュレ
ーションメッセージM7を転送し、機能サーバ19にお
いてシミュレータ1b及び1cにデータの更新内容を伝
達するためのシミュレーションメッセージを作成し、分
散シミュレーション制御装置2b及び2cに転送してい
るが、分散シミュレーション制御装置2aから機能サー
バ19にシミユレーションメッセージM7の転送先を問
い合わせ、分散シミュレーション制御装置2aから直接
分散シミュレーション制御装置2b及び2cにシミュレ
ーションメッセージM7を転送するようにしてもよい。
この場合の動作は次のようになる。分散シミュレーショ
ン制御装置2aは、シミュレータ1aからデータの更新
を意味するシミュレーションメッセージM7を受け取る
と、このシミュレーションメッセージを他の分散シミュ
レーション装置に転送すべきかを判断するため、機能サ
ーバ19に転送先を問い合わせる。機能サーバ19は、
分散シミュレーション制御装置2aからの問い合わせに
対して、シミュレーション管理機構18によって、シミ
ュレータ1b及び1cにその内容を伝達する必要がある
と判断し、これらのシミュレータを制御している分散シ
ミュレーション制御装置2b及び2cにシミュレーショ
ンメッセージM7を転送するよう、分散シミュレーショ
ン制御装置2aに伝達する。分散シミュレーション制御
装置2aは、機能サーバ19から伝達された転送先、す
なわち分散シミュレーション制御装置2b及び2cにシ
ミュレーションメッセージM7を転送する。分散シミュ
レーション制御装置2b及び2cは、分散シミュレーシ
ョン制御装置2aからシミュレーションメッセージM7
を受け取ると、シミュレータ1b及び1cにその内容を
伝達する必要があるため、シミュレータ1b及び1cに
データの更新内容を伝達するためのシミュレーションメ
ッセージを作成し、シミュレータ1b及び1cに作成し
たシミュレーションメッセージを送信すべきかどうかを
判断する。この動作は実施の形態2と同様である。
【0357】また、上記実施の形態6では、シミュレー
ション管理機構18によりデータの更新及び参照を管理
する場合について説明したが、シミュレーション管理機
構18では他のシミュレーション内容を管理してもよ
い。さらに、上記実施の形態6では、機能サーバ19を
1つのみ用意した場合について説明したが、複数の機能
サーバを用意してもよい。
【0358】実施の形態7.図14は実施の形態7によ
る分散シミュレーションシステムの構成を示すブロック
図である。図14において、1a〜1cは例えば艦船や
航空機、センサ、信号処理アルゴリズム等を模擬するシ
ミュレータ、2a〜2cは複数のシミュレータ1a〜1
c間のデータ交換を制御するとともに、各々のシミュレ
ータの時刻進行を制御する分散シミュレーション制御装
置、18は特定のシミュレーション内容を管理/制御す
るシミュレーション管理機構、3はシミュレータ1a〜
1c及び分散シミュレーション制御装置2a〜2cを相
互に接続するネットワーク、4a〜4c及び4A〜4C
はネットワーク3を介してシミュレータ1a〜1c及び
分散シミュレーション制御装置2a〜2cとの間でデー
タを転送する通信機構、5a〜5cは分散シミュレーシ
ョン制御装置2a〜2cに送信するシミュレーションメ
ッセージにタイムスタンプを付加するタイムスタンプ付
加機構、6a〜6cはシミュレータ1a〜1cから送ら
れてくる複数のシミュレーションメッセージを、付加さ
れたタイムスタンプの小さい順に並び替え、タイムスタ
ンプの小さなものから順に取り出すオーダリング機構、
10a〜10cは、受信したシミュレーションメッセー
ジの内容を解釈し、その内容によって、必要なら他のす
べての分散シミュレーション制御装置2に受信したシミ
ュレーションメッセージを送信するメッセージ転送機構
である。
【0359】実施の形態7による分散シミュレーション
システムでは、複数のシミュレータを複数の分散シミュ
レーション制御装置で制御する方式を採ると共に、シミ
ュレーション管理機構18により特定のシミュレーショ
ン内容を集中して管理/制御する方式を採る。
【0360】次に動作について説明する。ここでは、シ
ミュレーション管理機構18により、どのシミュレータ
がどのようなデータを更新し、どのシミュレータがどの
ようなデータの更新内容を参照するかを管理する場合に
ついて説明する。
【0361】シミュレータ1a〜1cは、実施の形態2
に示したシミュレータ1a〜1cと全く同様に動作す
る。
【0362】次に、分散シミュレーション制御装置2a
〜2cの動作について説明する。実施の形態6では、シ
ミュレーション管理機構18を備えた機能サーバ19を
分散シミュレーション制御装置2a〜2cとは別に用意
したが、本実施の形態では、分散シミュレーション制御
装置2aがシミュレーション管理機構18を備え、シミ
ュレーション管理機構18で制御しているデータの更新
及び参照に関するシミュレーションメッセージは分散シ
ミュレーション制御装置2aで処理する。この部分に関
する動作は以下のようになる。
【0363】分散シミュレーション制御装置2aは、シ
ミュレータ1aからデータを公開することを意味するシ
ミュレーションメッセージM4を受け取ると、シミュレ
ーション管理機構18により今後、シミュレータ1aが
データを更新することを認識する。
【0364】次に、分散シミュレーション制御装置2b
は、シミュレータ1bからデータを参照することを意味
するシミュレーションメッセージM5を受け取ると、こ
のシミュレーションメッセージは分散シミュレーション
制御装置2aで処理する必要があると判断し、メッセー
ジ転送機構10bにより、分散シミュレーション制御装
置2aにシミュレーションメッセージM5を転送する。
【0365】分散シミュレーション制御装置2aは、分
散シミュレーション制御装置2bから、シミュレーショ
ンメッセージM5を受け取ると、シミュレーション管理
機構18により、データが更新された場合に、シミュレ
ータ1bに、その更新内容を伝達する必要があることを
認識する。
【0366】次に、分散シミュレーション制御装置2c
は、シミュレータ1cからデータを参照することを意味
するシミュレーションメッセージM6を受け取ると、こ
のシミュレーションメッセージは分散シミュレーション
制御装置2aで処理する必要があると判断し、メッセー
ジ転送機構10cにより、分散シミュレーション制御装
置2aにシミュレーションメッセージM6を転送する。
【0367】分散シミュレーション制御装置2aは、分
散シミュレーション制御装置2cから、シミュレーショ
ンメッセージM6を受け取ると、シミュレーション管理
機構18により、データが更新された場合に、シミュレ
ータ1cに、その更新内容を伝達する必要があることを
認識する。
【0368】次に、分散シミュレーション制御装置2a
は、シミュレータ1aからデータの更新を意味するシミ
ュレーションメッセージM7を受け取ると、シミュレー
ション管理機構18によって、シミュレータ1b及び1
cにその内容を伝達する必要があるため、シミュレータ
1b及び1cにデータの更新内容を伝達するためのシミ
ュレーションメッセージを作成し、分散シミュレーショ
ン制御装置2b及び2cに転送する。
【0369】分散シミュレーション制御装置2b及び2
cは、分散シミュレーション制御装置2aからシミュレ
ータ1b及び1cにデータの更新内容を伝達するための
シミュレーションメッセージを受け取ると、シミュレー
タ1b及び1cにそのシミュレーションメッセージを送
信すべきかどうか判断する。この動作は、実施の形態2
と同様である。
【0370】なお、上記実施の形態7では、シミュレー
ション管理機構18を有する分散シミュレーション制御
装置2aにおいて、シミュレータ1b及び1cにデータ
の更新内容を伝達するためのシミュレーションメッセー
ジを作成し、分散シミュレーション制御装置2b及び2
cに転送しているが、シミュレーション管理機構18に
よってシミュレーションメッセージM7の転送先を獲得
し、分散シミュレーション制御装置2aから分散シミュ
レーション制御装置2b及び2cにシミュレーションメ
ッセージM7を転送した後、分散シミュレーション制御
装置2b及び2cにおいてシミュレータ1b及び1cに
データの更新内容を伝達するためのシミュレーションメ
ッセージを作成してもよい。この場合の動作は次のよう
になる。分散シミュレーション制御装置2aは、シミュ
レータ1aからデータの更新を意味するシミュレーショ
ンメッセージM7を受け取ると、このシミュレーション
メッセージを他の分散シミュレーション装置に転送すべ
きかを判断するため、シミュレーション管理機構18に
よって転送先の分散シミュレーション制御装置を獲得す
る。シミュレーション管理機構18によって、シミュレ
ータ1b及び1cにその内容を伝達する必要があると判
断し、これらのシミュレータを制御している分散シミュ
レーション制御装置2b及び2cにシミュレーションメ
ッセージM7を転送する必要があることを認識する。分
散シミュレーション制御装置2aは、シミュレーション
管理機構18によって獲得した転送先、すなわち分散シ
ミュレーション制御装置2b及び2cにシミュレーショ
ンメッセージM7を転送する。分散シミュレーション制
御装置2b及び2cは、分散シミュレーション制御装置
2aからシミュレーションメッセージM7を受け取る
と、シミュレータ1b及び1cにその内容を伝達する必
要があるため、シミュレータ1b及び1cにデータの更
新内容を伝達するためのシミュレーションメッセージを
作成し、シミュレータ1b及び1cに作成したシミュレ
ーションメッセージを送信すべきかどうかを判断する。
この動作は実施の形態2と同様である。
【0371】また、上記実施の形態7では、シミュレー
ション管理機構18によりデータの更新及び参照を管理
する場合について説明したが、シミュレーション管理機
構18では他のシミュレーション内容を管理してもよ
い。また、上記実施の形態7では、シミュレーション管
理機構18を1つのみ用意した場合について説明した
が、複数のシミュレーション管理機構を用意してもよ
い。さらに、複数用意されたシミュレーション管理機構
は、1つの分散シミュレーション制御装置が備えても、
複数の分散シミュレーション制御装置に分散して備えて
もよい。
【0372】
【発明の効果】以上のように、この発明に係る分散シミ
ュレーションシステムによれば、各分散シミュレーショ
ン制御装置は、複数のシミュレータから送られてくる複
数のシミュレーションメッセージを、付加されたタイム
スタンプの小さい順に処理する方式を採るから、小さい
オーバーヘッドで複数の分散シミュレーション制御装置
間の一貫性を保証することができる。
【0373】また、複数の分散シミュレーション制御装
置で複数のシミュレータを制御する方式を採るから、従
来のように1つの分散シミュレーション制御装置で複数
のシミュレータを制御する方式に比べ、分散シミュレー
ション制御装置の負荷を減少でき、シミュレーションシ
ステム全体の性能を向上できるという効果がある。
【0374】また、必要なシミュレーションメッセージ
のみネットワークを介して他の分散シミュレーション制
御装置に送られる方式を採るから、ネットワークのトラ
フィックを減少でき、シミュレーションシステム全体の
性能を向上できる。
【0375】また、1つの分散シミュレーション制御装
置で複数のシミュレータを制御する方式を採るから、シ
ステム全体で動作している分散シミュレーション制御装
置を必要以上に増やすことがなく、システム全体の計算
機資源を有効に活用できる。
【0376】また、ある分散シミュレーション制御装置
で管理しているシミュレータを他の分散シミュレーショ
ン制御装置で管理するように移行できる方式を採るか
ら、ある分散シミュレーション制御装置の負荷の高くな
りシミュレーションシステム全体の性能が低下した時
に、負荷の低い分散シミュレーション制御装置に負荷を
移行できる。
【0377】また、分散シミュレーション制御装置を新
たに追加、もしくは削除できる方式を採るから、ある分
散シミュレーション制御装置の負荷の高くなりシミュレ
ーションシステム全体の性能が低下した時に、新たに分
散シミュレーション制御装置を追加し負荷を移行できる
し、必要以上に分散シミュレーション制御装置が増えた
場合には分散シミュレーション制御装置を削除すること
により、システム全体の計算機資源を有効に活用でき
る。
【0378】さらに、特定の特定のシミュレーション内
容を機能サーバで管理/制御する方式を採るから、複数
の分散シミュレーション制御装置における処理の冗長を
低減でき、シミュレーションシステム全体の性能を向上
できる。
【図面の簡単な説明】
【図1】 実施の形態1に係る分散シミュレーションシ
ステムの構成を示すブロック図である。
【図2】 シミュレータ1aの処理の流れを表す図であ
る。
【図3】 実施の形態1におけるシミュレーションメッ
セージの構成の一例を表す図である。
【図4】 シミュレータ1b及び1cの処理の流れを表
す図である。
【図5】 実施の形態1における分散シミュレーション
制御装置2a〜2cの処理の流れを表す図である。
【図6】 分散シミュレーション制御装置に到着したシ
ミュレーションメッセージの一例を表す図である。
【図7】 分散シミュレーション制御装置に到着したシ
ミュレーションメッセージの一例を表す図である。
【図8】 実施の形態2の分散シミュレーションシステ
ムの構成を示すブロック図である。
【図9】 実施の形態2における分散シミュレーション
制御装置2a〜2cの処理の流れを表す図である。
【図10】 実施の形態3の分散シミュレーションシス
テムの構成を示すブロック図である。
【図11】 実施の形態4の分散シミュレーションシス
テムの構成を示すブロック図である。
【図12】 実施の形態5の分散シミュレーションシス
テムの構成を示すブロック図である。
【図13】 実施の形態6の分散シミュレーションシス
テムの構成を示すブロック図である。
【図14】 実施の形態7の分散シミュレーションシス
テムの構成を示すブロック図である。
【図15】 従来例における分散シミュレーション制御
装置の処理の流れを表す図である。
【図16】 従来例におけるシミュレーションメッセー
ジの構成の一例を表す図である。
【図17】 従来の分散シミュレーションシステムの構
成を示すブロック図である。
【符号の説明】
1 シミュレータ、2 分散シミュレーション制御装
置、3 ネットワーク、4 通信機構、5 タイムスタ
ンプ付加機構、6 オーダリング機構、7 メッセージ
配布機構、8 シミュレータ情報保持機構、9 シミュ
レータ管理・制御機構、10 メッセージ転送機構、1
1 シミュレータ情報保持機構、12 シミュレータ管
理・制御機構、13 制御調停機構、14 情報伝達機
構、15 保持情報変更機構、16 通知機構、17
認識機構、18 シミュレーション管理機構、19 機
能サーバ。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数のシミュレータと、複数のシミュレ
    ータ間のデータ交換を制御すると共に各シミュレータの
    時刻進行を制御する複数の分散シミュレーション制御装
    置とを備え、複数のシミュレータがネットワークを介し
    データを交換しながら統合してシミュレーションを行な
    う分散シミュレーションシステムにおいて、上記各シミ
    ュレータに、上記各分散シミュレーション制御装置に送
    信するシミュレーションメッセージにタイムスタンプを
    付加するタイムスタンプ付加手段を備えると共に、上記
    各分散シミュレーション制御装置に、複数のシミュレー
    タから送られてくる複数のシミュレーションメッセージ
    を、付加されたタイムスタンプの小さい順に並び替え、
    タイムスタンプの小さなものから順に取り出すオーダリ
    ング手段を備えたことを特徴とする分散シミュレーショ
    ンシステム。
  2. 【請求項2】 上記各シミュレータに、1つのシミュレ
    ーションメッセージを、分散シミュレーションシステム
    内に存在するすべての分散シミュレーション制御装置に
    送信するメッセージ配布手段を備えると共に、上記各分
    散シミュレーション制御装置に、分散シミュレーション
    システム内に存在する複数のシミュレータのうち、制御
    しているシミュレータの情報を保持するシミュレータ情
    報保持手段と、このシミュレータ情報保持手段で情報保
    持しているシミュレータに対してのみ受信したシミュレ
    ーションメッセージに関する処理結果やその他のシミュ
    レータの動作を制御するシミュレーションメッセージを
    送信するシミュレータ管理・制御手段とを備えたことを
    特徴とする請求項1に記載の分散シミュレーションシス
    テム。
  3. 【請求項3】 上記各分散シミュレーション制御装置
    に、受信したシミュレーションメッセージの内容を解釈
    し、その内容に応じて他のすべての分散シミュレーショ
    ン制御装置に受信したシミュレーションメッセージを送
    信するメッセージ転送手段を備えたことを特徴とする請
    求項1に記載の分散シミュレーションシステム。
  4. 【請求項4】 上記シミュレータ情報保持手段は、分散
    シミュレーションシステム内に存在する複数のシミュレ
    ータのうち、制御している複数のシミュレータの情報を
    保持すると共に、上記シミュレータ管理・制御手段は、
    上記シミュレータ情報保持手段で情報保持している複数
    のシミュレータに対して、受信したシミュレーションメ
    ッセージに関する処理結果やその他のシミュレータの動
    作を制御するシミュレーションメッセージを送信するこ
    とを特徴とする請求項2に記載の分散シミュレーション
    システム。
  5. 【請求項5】 上記各分散シミュレーション制御装置
    は、どのシミュレータを制御するかを他の分散シミュレ
    ーション制御装置と調停する制御調停手段と、保持して
    いるシミュレータの情報を他の分散シミュレーション制
    御装置に伝達する情報伝達手段と、保持しているシミュ
    レータの情報を任意に追加・削除する保持情報変更手段
    とを備えたことを特徴とする請求項4に記載の分散シミ
    ュレーションシステム。
  6. 【請求項6】 上記各分散シミュレーション制御装置
    は、分散シミュレーションシステムに新たに自分散シミ
    ュレーション制御装置が追加されたことあるいは分散シ
    ミュレーションシステムから自分散シミュレーション制
    御装置が削除されることを他の分散シミュレーション制
    御装置に伝達する通知手段と、他の分散シミュレーショ
    ン制御装置が新たに追加あるいは削除されることを認識
    する認識手段とをさらに備えたことを特徴とする請求項
    1ないし5のいずれかに記載の分散シミュレーションシ
    ステム。
  7. 【請求項7】 特定のシミュレーション内容を管理/制
    御する1つもしくは複数の機能サーバを備えると共に、
    上記各分散シミュレーション制御装置に、上記機能サー
    バの管理するシミュレーション内容を参照/更新する場
    合に、機能サーバに処理を依頼する手段を備えたことを
    特徴とする請求項1ないし6のいずれかに記載の分散シ
    ミュレーションシステム。
  8. 【請求項8】 複数のうち任意の分散シミュレーション
    制御装置に、特定のシミュレーション内容を管理/制御
    するシミュレーション管理手段を備えると共に、他の分
    散シミュレーション制御装置に、シミュレーション内容
    を参照/更新する場合に、上記シミュレーション管理手
    段を備えた分散シミュレーション制御装置に処理を依頼
    する手段を備えたことを特徴とする請求項1ないし6の
    いずれかに記載の分散シミュレーションシステム。
JP01138698A 1998-01-23 1998-01-23 分散シミュレーションシステム Expired - Fee Related JP3462064B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01138698A JP3462064B2 (ja) 1998-01-23 1998-01-23 分散シミュレーションシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01138698A JP3462064B2 (ja) 1998-01-23 1998-01-23 分散シミュレーションシステム

Publications (2)

Publication Number Publication Date
JPH11212818A true JPH11212818A (ja) 1999-08-06
JP3462064B2 JP3462064B2 (ja) 2003-11-05

Family

ID=11776582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01138698A Expired - Fee Related JP3462064B2 (ja) 1998-01-23 1998-01-23 分散シミュレーションシステム

Country Status (1)

Country Link
JP (1) JP3462064B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004510219A (ja) * 2000-06-19 2004-04-02 ピー.シー.クロース・アンド・アソシエイツ・インコーポレーテッド 分散型シミュレーション
JP2008009880A (ja) * 2006-06-30 2008-01-17 Toyota Technical Development Corp リアルタイム並列分散シミュレーションシステム
JP2008250788A (ja) * 2007-03-30 2008-10-16 Fujitsu Ltd 連携シミュレーションシステム
WO2010064471A1 (ja) * 2008-12-05 2010-06-10 株式会社ソニー・コンピュータエンタテインメント シミュレーションシステム
CN107544282A (zh) * 2016-06-27 2018-01-05 发那科株式会社 仿真系统
WO2020139961A1 (en) * 2018-12-28 2020-07-02 Didi Research America, Llc Distributed system task management using a simulated clock
WO2022067295A1 (en) * 2020-09-22 2022-03-31 Beijing Voyager Technology Co., Ltd. Architecture for distributed system simulation timing alignment
US11397610B2 (en) 2018-12-28 2022-07-26 Beijing Voyager Technology Co., Ltd. Architecture for simulation clock-based simulation of distributed systems
US11409927B2 (en) 2020-09-22 2022-08-09 Beijing Voyager Technology Co., Ltd. Architecture for configurable distributed system simulation timing
US11480964B2 (en) 2018-12-28 2022-10-25 Beijing Voyager Technology Co., Ltd. Distributed system execution using a serial timeline
US11669657B2 (en) 2020-09-22 2023-06-06 Beijing Voyager Technology Co., Ltd. Architecture for distributed system simulation with realistic timing
US11809790B2 (en) 2020-09-22 2023-11-07 Beijing Voyager Technology Co., Ltd. Architecture for distributed system simulation timing alignment

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535690A (ja) * 1991-07-29 1993-02-12 Fujitsu Ltd 並列計算機シミユレート方式及び方法
JPH0628319A (ja) * 1992-07-08 1994-02-04 Kofu Nippon Denki Kk 論理シミュレータ
JPH0659939A (ja) * 1992-08-10 1994-03-04 Fujitsu Ltd 並列計算機のシミュレーション方法
JPH0696152A (ja) * 1992-04-22 1994-04-08 Nec Corp 論理シミュレーションマシン
JPH07160631A (ja) * 1993-12-09 1995-06-23 Fujitsu Ltd データ共同編集システム
JPH07210521A (ja) * 1994-01-10 1995-08-11 Mitsubishi Heavy Ind Ltd リアルタイムシミュレーションシステム
JPH0916554A (ja) * 1995-07-04 1997-01-17 Mitsubishi Electric Corp 分散型シミュレーション装置
JPH0997220A (ja) * 1995-09-29 1997-04-08 Toshiba Corp 電子会議システムおよび時系列データの記録再生方法
JPH09244984A (ja) * 1996-03-08 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> イベント順序補正方法
JPH09282296A (ja) * 1996-04-10 1997-10-31 Hitachi Ltd 多重化ノード間通信制御方式

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535690A (ja) * 1991-07-29 1993-02-12 Fujitsu Ltd 並列計算機シミユレート方式及び方法
JPH0696152A (ja) * 1992-04-22 1994-04-08 Nec Corp 論理シミュレーションマシン
JPH0628319A (ja) * 1992-07-08 1994-02-04 Kofu Nippon Denki Kk 論理シミュレータ
JPH0659939A (ja) * 1992-08-10 1994-03-04 Fujitsu Ltd 並列計算機のシミュレーション方法
JPH07160631A (ja) * 1993-12-09 1995-06-23 Fujitsu Ltd データ共同編集システム
JPH07210521A (ja) * 1994-01-10 1995-08-11 Mitsubishi Heavy Ind Ltd リアルタイムシミュレーションシステム
JPH0916554A (ja) * 1995-07-04 1997-01-17 Mitsubishi Electric Corp 分散型シミュレーション装置
JPH0997220A (ja) * 1995-09-29 1997-04-08 Toshiba Corp 電子会議システムおよび時系列データの記録再生方法
JPH09244984A (ja) * 1996-03-08 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> イベント順序補正方法
JPH09282296A (ja) * 1996-04-10 1997-10-31 Hitachi Ltd 多重化ノード間通信制御方式

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004510219A (ja) * 2000-06-19 2004-04-02 ピー.シー.クロース・アンド・アソシエイツ・インコーポレーテッド 分散型シミュレーション
JP2008009880A (ja) * 2006-06-30 2008-01-17 Toyota Technical Development Corp リアルタイム並列分散シミュレーションシステム
JP4681513B2 (ja) * 2006-06-30 2011-05-11 トヨタテクニカルディベロップメント株式会社 リアルタイム並列分散シミュレーションシステム
JP2008250788A (ja) * 2007-03-30 2008-10-16 Fujitsu Ltd 連携シミュレーションシステム
WO2010064471A1 (ja) * 2008-12-05 2010-06-10 株式会社ソニー・コンピュータエンタテインメント シミュレーションシステム
JP2010134800A (ja) * 2008-12-05 2010-06-17 Sony Computer Entertainment Inc シミュレーションシステム
US8938493B2 (en) 2008-12-05 2015-01-20 Sony Corporation Simulation system
JP2018005260A (ja) * 2016-06-27 2018-01-11 ファナック株式会社 シミュレーションシステム
CN107544282A (zh) * 2016-06-27 2018-01-05 发那科株式会社 仿真系统
WO2020139961A1 (en) * 2018-12-28 2020-07-02 Didi Research America, Llc Distributed system task management using a simulated clock
US11397610B2 (en) 2018-12-28 2022-07-26 Beijing Voyager Technology Co., Ltd. Architecture for simulation clock-based simulation of distributed systems
US11480964B2 (en) 2018-12-28 2022-10-25 Beijing Voyager Technology Co., Ltd. Distributed system execution using a serial timeline
US11550623B2 (en) 2018-12-28 2023-01-10 Beijing Voyager Technology Co., Ltd. Distributed system task management using a simulated clock
WO2022067295A1 (en) * 2020-09-22 2022-03-31 Beijing Voyager Technology Co., Ltd. Architecture for distributed system simulation timing alignment
US11409927B2 (en) 2020-09-22 2022-08-09 Beijing Voyager Technology Co., Ltd. Architecture for configurable distributed system simulation timing
US11669657B2 (en) 2020-09-22 2023-06-06 Beijing Voyager Technology Co., Ltd. Architecture for distributed system simulation with realistic timing
US11809790B2 (en) 2020-09-22 2023-11-07 Beijing Voyager Technology Co., Ltd. Architecture for distributed system simulation timing alignment

Also Published As

Publication number Publication date
JP3462064B2 (ja) 2003-11-05

Similar Documents

Publication Publication Date Title
US6336134B1 (en) Dynamic clients, dynamic partitions, locking, and migration capability for distributed server for real-time collaboration
EP1326184B1 (en) Conflict resolution for collaborative work system
US6199116B1 (en) Method and system for managing data while sharing application programs
CN100437545C (zh) 服务器间的透明会话迁移的方法
US6859821B1 (en) Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
CN111813570A (zh) 一种电力物联网的事件驱动型消息交互方法
JP2002517858A (ja) 共同オブジェクトアーキテクチャ
US8352619B2 (en) Method and system for data processing
US7167865B1 (en) Collaborative environment for producing software products
JPH0535903B2 (ja)
JPH11212818A (ja) 分散シミュレーションシステム
US11831746B2 (en) Time consistency synchronization method for distributed simulation
US20050010386A1 (en) Method and system for dynamically modeling resources
Akkoyunlu et al. Interprocess communication facilities for network operating systems
US20030212587A1 (en) Apparatus and methods for coordinating Web services using role based interpretation of coordination plans
JP2011141695A (ja) メッセージ処理装置およびメッセージ処理方法
JP2005507522A (ja) 分散コンピューティングにおける順次整合性を保証する方法およびシステム
JP2002108838A (ja) エージェント実行装置およびエージェント実行方法
CN112714181A (zh) 一种数据传输方法及装置
JP2004078535A (ja) 排他制御装置、方法及びプログラム
Weyns et al. A colored petri net for regional synchronization in situated multiagent systems
JPH06259302A (ja) 分散コンピュータのデータ更新処理方式
Ahamad et al. An application of name based addressing to low level distributed algorithms
Cheverst Development of a group service to support collaborative mobile groupware
Yoshida et al. Banet—a local area network for distributed data processing

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070815

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100815

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees