(57)【要約】【課題】分散シミュレーション環境において、各シミュレータの処理能力や処理量が異なる場合に、各シミュレータへのデータのデータ量を調整する。【解決手段】同期データ制御部３０において、データ入力部３１が各シミュレーション演算部から、パラメータデータを受信する。時刻同期部３２は、各シミュレーション演算部のシミュレーション時刻を管理しており、パラメータデータの受信の度に、パラメータデータの送信元のシミュレーション時刻が送信先のシミュレーション時刻より大きく進んでいるか否かを判断し、大きく進んでいる場合に、パラメータ分類処理部３３がパラメータデータの圧縮可否を判断し、圧縮可能な場合に、データ蓄積部３４がパラメータデータの蓄積を行い、データ削減計算部３５が、蓄積されているパラメータデータ及びそれ以降に受信されたパラメータデータを合わせて圧縮を行い、データ出力部３６が圧縮後のデータを送信する。【選択図】図１
2008134993.tif 000002
【特許請求の範囲】
【請求項１】
情報共有パラメータデータを送受信し、各々のシミュレーション時刻を進行させてシミュレーション演算を行う複数のシミュレーション演算装置に接続され、
前記複数のシミュレーション演算装置の間で情報共有パラメータデータの中継を行うシミュレーション管理装置であって、
各々のシミュレーション演算装置から、情報共有パラメータデータを受信するデータ入力部と、
各々のシミュレーション演算装置のシミュレーション時刻の進行状況を管理し、前記データ入力部により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータの送信元のシミュレーション演算装置のシミュレーション時刻と当該情報共有パラメータデータの送信先となるシミュレーション演算装置のシミュレーション時刻の間に所定時間以上の時刻差が存在するか否かを判断する時刻管理部と、
前記時刻管理部により所定時間以上の時刻差が存在すると判断された場合に、前記データ入力部により受信された情報共有パラメータデータのデータ圧縮を行うデータ圧縮処理部と、
前記圧縮された情報共有パラメータデータを、送信先となるシミュレーション演算装置に対して送信するデータ出力部とを有することを特徴とするシミュレーション管理装置。
【請求項２】
前記時刻管理部は、
前記データ入力部により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータの送信元のシミュレーション演算装置のシミュレーション時刻が当該情報共有パラメータデータの送信先となるシミュレーション演算装置のシミュレーション時刻と比べて所定時間以上進んでいるか否かを判断し、
前記データ圧縮処理部は、
前記時刻管理部により所定時間以上進んでいると判断された場合に、前記データ入力部により受信された情報共有パラメータデータのデータ圧縮を行い、
前記データ出力部は、
前記時刻管理部により所定時間以上進んでいると判断された場合に、前記データ圧縮処理部により圧縮された圧縮情報共有パラメータデータを、送信先となるシミュレーション演算装置に対して送信することを特徴とする請求項１に記載のシミュレーション管理装置。
【請求項３】
前記シミュレーション管理装置は、更に、
前記時刻管理部により所定時間以上の時刻差が存在すると判断された場合に、前記データ入力部により受信された情報共有パラメータデータを蓄積するデータ蓄積部を有し、
前記データ圧縮処理部は、
前記データ蓄積部による蓄積後に情報共有パラメータデータのデータ圧縮を行うことを特徴とする請求項１又は２に記載のシミュレーション管理装置。
【請求項４】
前記データ圧縮処理部は、
前記データ蓄積部に蓄積されている情報共有パラメータデータと、当該情報共有パラメータデータが前記データ蓄積部に格納された後に前記データ入力部により新たに受信された前記送信元のシミュレーション演算装置からの情報共有パラメータデータとを合わせてデータ圧縮を行うことを特徴とする請求項３に記載のシミュレーション管理装置。
【請求項５】
前記シミュレーション管理装置は、更に、
前記時刻管理部により所定時間以上の時刻差が存在すると判断された場合に、前記データ入力部により受信された情報共有パラメータデータに対するデータ圧縮が可能か否かを判断するデータ圧縮可否判断部を有し、
前記データ蓄積部は、
前記データ圧縮可否判断部によりデータ圧縮が可能と判断された情報共有パラメータデータの蓄積を行うことを特徴とする請求項３に記載のシミュレーション管理装置。
【請求項６】
前記データ入力部は、
各々のシミュレーション演算装置から、各々のシミュレーション演算装置のシミュレーション時刻が通知される情報共有パラメータデータを受信し、
前記時刻管理部は、
前記データ入力部により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータにより通知されるシミュレーション時刻を記録して、各々のシミュレーション演算装置のシミュレーション時刻の進行状況を管理することを特徴とする請求項１〜５のいずれかに記載のシミュレーション管理装置。
【請求項７】
前記データ入力部は、
各々のシミュレーション演算装置から、シミュレーション時刻の同期のために他のシミュレーション演算装置にシミュレーション時刻の進行を要求する時間進行要求であって、同期させるシミュレーション時刻が示される時間進行要求を受信し、
前記時刻管理部は、
前記データ入力部により時間進行要求が受信される度に、受信された時間進行要求に示されているシミュレーション時刻を記録して、各々のシミュレーション演算装置のシミュレーション時刻の進行状況を管理することを特徴とする請求項１〜６のいずれかに記載のシミュレーション管理装置。
【請求項８】
前記データ入力部は、
各々のシミュレーション演算装置から、各々のシミュレーション演算装置のシミュレーション時刻が通知される情報共有パラメータデータを受信し、更に、各々のシミュレーション演算装置から、シミュレーション時刻の同期のために他のシミュレーション演算装置にシミュレーション時刻の進行を要求する時間進行要求であって、同期させるシミュレーション時刻が示される時間進行要求を受信し、
前記時刻管理部は、
前記データ入力部により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータにより通知されるシミュレーション時刻を記録し、更に、前記データ入力部により時間進行要求が受信される度に、受信された時間進行要求に示されているシミュレーション時刻を記録して、各々のシミュレーション演算装置のシミュレーション時刻の進行状況を管理することを特徴とする請求項１〜７のいずれかに記載のシミュレーション管理装置。
【請求項９】
前記時刻管理部は、
前記データ入力部により時間進行要求が受信される度に、受信された時間進行要求に示されているシミュレーション時刻が当該時間進行要求の送信先となるシミュレーション演算装置のシミュレーション時刻と比べて所定時間以上進んでいるか否かを判断し、
前記データ出力部は、
前記時刻管理部により所定時間以上進んでいると判断された場合に、前記データ入力部により受信された時間進行要求を、送信先となるシミュレーション演算装置に対して送信しないことを特徴とする請求項７又は８に記載のシミュレーション管理装置。
【請求項１０】
前記時刻管理部は、
前記データ入力部により時間進行要求が受信される度に、受信された時間進行要求に示されているシミュレーション時刻と当該時間進行要求の送信先となるシミュレーション演算装置のシミュレーション時刻との間に所定時間以上の時刻差が存在するか否かを判断し、所定時間以上の時刻差が存在する場合に、先行するシミュレーション時刻のシミュレーション演算装置を時刻先行シミュレーション演算装置として記憶し、後行するシミュレーション時刻のシミュレーション演算装置を時刻後行シミュレーション演算装置として記憶し、
前記データ入力部により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータの送信元が前記時刻先行シミュレーション演算装置に該当し、送信先が前記時刻後行シミュレーション演算装置に該当するか否かを判断して、受信された情報共有パラメータデータの送信元のシミュレーション演算装置のシミュレーション時刻と当該情報共有パラメータデータの送信先となるシミュレーション演算装置のシミュレーション時刻の間に所定時間以上の時刻差が存在するか否かを判断することを特徴とする請求項７に記載のシミュレーション管理装置。
【請求項１１】
情報共有パラメータデータを送受信し合い、各々のシミュレーション時刻を進行させてシミュレーション演算を行う複数のシミュレーション演算装置に接続されたコンピュータが、前記複数のシミュレーション演算装置の間で情報共有パラメータデータの中継を行うシミュレーション管理方法であって、
前記コンピュータが、各々のシミュレーション演算装置から、情報共有パラメータデータを受信するデータ入力ステップと、
前記コンピュータが、各々のシミュレーション演算装置のシミュレーション時刻の進行状況を管理し、前記データ入力ステップにより情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータの送信元のシミュレーション演算装置のシミュレーション時刻と当該情報共有パラメータデータの送信先となるシミュレーション演算装置のシミュレーション時刻の間に所定時間以上の時刻差が存在するか否かを判断する時刻管理ステップと、
前記時刻管理ステップにより所定時間以上の時刻差が存在すると判断された場合に、前記コンピュータが、前記データ入力ステップにより受信された情報共有パラメータデータのデータ圧縮を行うデータ圧縮処理ステップと、
前記時刻管理ステップにより所定時間以上の時刻差が存在すると判断された場合に、前記コンピュータが、前記データ圧縮処理ステップにより圧縮された圧縮情報共有パラメータデータを、送信先となるシミュレーション演算装置に対して送信するデータ出力ステップとを有することを特徴とするシミュレーション管理方法。
【請求項１２】
情報共有パラメータデータを送受信し合い、各々のシミュレーション時刻を進行させてシミュレーション演算を行う複数のシミュレーション演算装置に接続され、
前記複数のシミュレーション演算装置の間で情報共有パラメータデータの中継を行うコンピュータに、
各々のシミュレーション演算装置から、情報共有パラメータデータを受信するデータ入力処理と、
各々のシミュレーション演算装置のシミュレーション時刻の進行状況を管理し、前記データ入力処理により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータの送信元のシミュレーション演算装置のシミュレーション時刻と当該情報共有パラメータデータの送信先となるシミュレーション演算装置のシミュレーション時刻の間に所定時間以上の時刻差が存在するか否かを判断する時刻管理処理と、
前記時刻管理処理により所定時間以上の時刻差が存在すると判断された場合に、前記データ入力処理により受信された情報共有パラメータデータのデータ圧縮を行うデータ圧縮処理と、
前記時刻管理処理により所定時間以上の時刻差が存在すると判断された場合に、前記データ圧縮処理により圧縮された圧縮情報共有パラメータデータを、送信先となるシミュレーション演算装置に対して送信するデータ出力処理とを実行させることを特徴とするプログラム。
【請求項１３】
前記データ入力部は、
複数種類の情報共有パラメータデータを受信し、
前記データ圧縮処理部は、
複数種類のデータ圧縮が可能であり、
前記シミュレーション管理装置は、更に、
前記時刻管理部により所定時間以上の時刻差が存在すると判断された場合に、前記データ入力部により受信された情報共有パラメータデータの種類に応じて、前記データ圧縮処理部によるデータ圧縮の種類を選定するデータ圧縮種類選定部を有し、
前記データ圧縮処理部は、
前記データ圧縮種類選定部により選定された種類のデータ圧縮を行うことを特徴とする請求項１又は２に記載のシミュレーション管理装置。
【請求項１４】
前記シミュレーション管理装置は、更に、
前記時刻管理部により所定時間以上の時刻差が存在すると判断された場合に、前記データ入力部により受信された情報共有パラメータデータを、情報共有パラメータデータの種類ごとに分類して蓄積するデータ蓄積部を有し、
前記データ圧縮処理部は、
前記データ入力部により受信された情報共有パラメータデータと、前記データ蓄積部に蓄積されている情報共有パラメータデータのうち前記データ入力部により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとを用いて、前記データ圧縮種類選定部により選定された種類のデータ圧縮を行うことを特徴とする請求項１３に記載のシミュレーション管理装置。
【請求項１５】
前記データ圧縮種類選定部は、
前記時刻管理部により所定時間以上の時刻差が存在しないと判断された場合でも、前記データ入力部により受信された情報共有パラメータデータの種類と同じ種類の情報共有パラメータデータが前記データ蓄積部に蓄積されている場合に、前記データ入力部により受信された情報共有パラメータデータの種類に応じて、前記データ圧縮処理部によるデータ圧縮の種類を選定し、
前記データ圧縮処理部は、
前記データ入力部により受信された情報共有パラメータデータと、前記データ蓄積部に蓄積されている情報共有パラメータデータのうち前記データ入力部により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとを用いて、前記データ圧縮種類選定部により選定された種類のデータ圧縮を行うことを特徴とする請求項１４に記載のシミュレーション管理装置。
【請求項１６】
前記データ圧縮種類選定部は、
前記データ入力部により受信された情報共有パラメータデータの種類に応じて、データ圧縮の種類として、複数の情報共有パラメータデータの加算値を算出する加算型のデータ圧縮を選定する場合があり、
前記データ圧縮処理部は、
前記データ圧縮種類選定部により加算型のデータ圧縮が選定された場合に、前記データ入力部により受信された情報共有パラメータデータと、前記データ蓄積部に蓄積されている情報共有パラメータデータのうち前記データ入力部により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとの加算値を算出し、
前記データ出力部は、
圧縮情報共有パラメータデータとして、前記データ圧縮処理部により算出された加算値が示される情報共有パラメータデータを送信することを特徴とする請求項１４又は１５に記載のシミュレーション管理装置。
【請求項１７】
前記データ圧縮種類選定部は、
前記データ入力部により受信された情報共有パラメータデータの種類に応じて、データ圧縮の種類として、複数の情報共有パラメータデータの平均値を算出する平均型のデータ圧縮を選定する場合があり、
前記データ圧縮処理部は、
前記データ圧縮種類選定部により平均型のデータ圧縮が選定された場合に、前記データ入力部により受信された情報共有パラメータデータと、前記データ蓄積部に蓄積されている情報共有パラメータデータのうち前記データ入力部により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとの平均値を算出し、
前記データ出力部は、
圧縮情報共有パラメータデータとして、前記データ圧縮処理部により算出された平均値が示される情報共有パラメータデータを送信することを特徴とする請求項１４又は１５に記載のシミュレーション管理装置。
【請求項１８】
前記シミュレーション管理装置は、更に
前記データ蓄積部における情報共有パラメータデータの蓄積回数ごとに指定されている重み付け係数を記憶しているデータベースを有し、
前記データ圧縮種類選定部は、
前記データ入力部により受信された情報共有パラメータデータの種類に応じて、データ圧縮の種類として、複数の情報共有パラメータデータの加重平均値を算出する平均型のデータ圧縮を選定する場合があり、
前記データ圧縮処理部は、
前記データ圧縮種類選定部により平均型のデータ圧縮が選定された場合に、前記データ入力部により受信された情報共有パラメータデータと、前記データ蓄積部に蓄積されている情報共有パラメータデータのうち前記データ入力部により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとの加重平均値を、前記データベースに記憶されている蓄積回数ごとの重み付け係数を用いて算出し、
前記データ出力部は、
圧縮情報共有パラメータデータとして、前記データ圧縮処理部により算出された加重平均値が示される情報共有パラメータデータを送信することを特徴とする請求項１４又は１５に記載のシミュレーション管理装置。
【請求項１９】
前記データ圧縮種類選定部は、
前記データ入力部により受信された情報共有パラメータデータの種類に応じて、データ圧縮の種類として、前記データ蓄積部に蓄積されている情報共有パラメータデータの少なくとも一部の出力を省略する省略型のデータ圧縮を選定する場合があり、
前記データ圧縮処理部は、
前記データ圧縮種類選定部により平均型のデータ圧縮が選定された場合に、前記データ蓄積部に蓄積されている情報共有パラメータデータのうち前記データ入力部により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータの少なくとも一部を破棄し、
前記データ出力部は、
圧縮情報共有パラメータデータとして、前記データ入力部により受信された情報共有パラメータデータと、前記データ圧縮処理部によって破棄されていない情報共有パラメータデータとを送信することを特徴とする請求項１４又は１５に記載のシミュレーション管理装置。
【請求項２０】
前記シミュレーション管理装置は、更に、
特定種類の情報共有パラメータデータを細分類して前記特定種類の情報共有パラメータデータに複数のカテゴリーを定め、シミュレーション演算装置ごとに、カテゴリー別の送信必要度を示す送信必要度情報を記憶しているデータベースを有し、
前記データ圧縮種類選定部は、
前記データ入力部により前記特定種類の情報共有パラメータデータが入力された場合に、シミュレーション演算装置ごとのカテゴリー別の送信必要度に応じてデータ圧縮を行う対象別型のデータ圧縮を選定し、
前記データ圧縮処理部は、
前記データ圧縮種類選定部により対象別型のデータ圧縮が選定された場合に、前記データ入力部により受信された前記特定種類の情報共有パラメータデータと、前記データ蓄積部に蓄積されている前記特定種類の情報共有パラメータデータとのうち、前記送信必要度情報に基づき、シミュレーション演算装置ごとに、一定レベル以上の送信必要度を有するカテゴリーの情報共有パラメータデータのみを選択し、
前記データ出力部は、
圧縮情報共有パラメータデータとして、シミュレーション演算装置ごとに、前記データ圧縮処理部により選択された情報共有パラメータデータを送信することを特徴とする請求項１４又は１５に記載のシミュレーション管理装置。
【請求項２１】
前記時刻管理部は、
シミュレーション時刻間の時刻差の度合いを判断し、
前記データ圧縮種類選定部は、
前記時刻管理部により判断された時刻差の度合いに応じて、前記データ圧縮処理部によるデータ圧縮の度合いを判断する請求項１３に記載のシミュレーション管理装置。
【請求項２２】
前記シミュレーション管理装置は、更に、
前記データ入力部により受信された情報共有パラメータデータを蓄積するデータ蓄積部を有し、
前記データ圧縮種類選定部は、
前記時刻管理部により判断された時刻差の度合いが一定レベル以上である場合に、前記データ入力部により受信された情報共有パラメータデータを前記データ蓄積部に蓄積させ、前記時刻管理部により判断された時刻差の度合いが一定レベル未満である場合に、前記データ圧縮処理部に前記データ入力部により受信された情報共有パラメータデータについてのデータ圧縮を行わせることを特徴とする請求項２１に記載のシミュレーション管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散シミュレーション環境において、各シミュレータのシミュレーション時刻の同期制御に関する。
【背景技術】
【０００２】
従来のシミュレーションデータ入力装置は、実機より入力されるデータをシミュレーションに必要なデータと不要なデータに峻別できる機能を持ち、シミュレーション演算を行うシミュレーション計算機が必要なデータを選択する処理を減少させて処理時間を短縮するようにして、シミュレータ計算機の諸コストを下げることを行っていた（例えば、特許文献１）。
【特許文献１】特開平４−２１３４８９号公報、第１図
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の統合シミュレーションシステムは、分散する各シミュレータによる処理の時間的な同期をとるにあたり、各シミュレータの処理能力や処理量が異なっていてもそれらを考慮せずシミュレーション情報のデータ量を生成しているため，処理のもっとも遅いシミュレータが処理を完了するまでシミュレータの時間進行が遅くなるという課題があった。
この発明は、上記のような課題を解決することを主な目的としてなされたもので、各シミュレータのシミュレーション時刻を監視し、シミュレーション時刻の監視結果に合わせてシミュレーション情報のデータ量を制御し、シミュレータの処理時間を調整することにより効率的に統合したシミュレーションを実行することを主な目的とする。
また、同期する時間進行要求と連携するシミュレーション情報を監視し、時間進行要求に合わせてシミュレーション情報のデータ量を制御し、シミュレータの処理時間を調整することにより効率的に統合したシミュレーションを実行することも主な目的とする。
【課題を解決するための手段】
【０００４】
本発明に係るシミュレーション管理装置は、
情報共有パラメータデータを送受信し合い、各々のシミュレーション時刻を進行させてシミュレーション演算を行う複数のシミュレーション演算装置に接続され、
前記複数のシミュレーション演算装置の間で情報共有パラメータデータの中継を行うシミュレーション管理装置であって、
各々のシミュレーション演算装置から、情報共有パラメータデータを受信するデータ入力部と、
各々のシミュレーション演算装置のシミュレーション時刻の進行状況を管理し、前記データ入力部により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータの送信元のシミュレーション演算装置のシミュレーション時刻と当該情報共有パラメータデータの送信先となるシミュレーション演算装置のシミュレーション時刻の間に所定時間以上の時刻差が存在するか否かを判断する時刻管理部と、
前記時刻管理部により所定時間以上の時刻差が存在すると判断された場合に、前記データ入力部により受信された情報共有パラメータデータのデータ圧縮を行うデータ圧縮処理部と、
前記時刻管理部により所定時間以上の時刻差が存在すると判断された場合に、前記データ圧縮処理部により圧縮された圧縮情報共有パラメータデータを、送信先となるシミュレーション演算装置に対して送信するデータ出力部とを有することを特徴とする。
【発明の効果】
【０００５】
本発明によれば、一部のシミュレーション演算装置のシミュレーション時刻が遅れる場合に、そのシミュレーション演算装置への情報共有パラメータデータのデータ量を圧縮することができ、シミュレーション時刻が遅れるシミュレーション演算装置の処理量を減らすことで、当該シミュレーション演算装置のシミュレーション時刻の進みを早くすることができ、シミュレーションシステム全体の計算時間を効率よく加速することができる。
【発明を実施するための最良の形態】
【０００６】
実施の形態１．
図１は、本実施の形態に係る統合シミュレーションシステム１の構成例を示す図である。
図１において、第一シミュレーション演算部１０、第二シミュレーション演算部２０は分散処理する複数のシミュレータの一つである。
第一シミュレーション演算部１０、第二シミュレーション演算部２０は、情報共有パラメータデータ（以下、パラメータデータ、情報共有パラメータ、パラメータともいう）を送受信し合い、各々のシミュレーション時刻を進行させてシミュレーション演算を行う。
第一シミュレーション演算部１０、第二シミュレーション演算部２０は、それぞれシミュレーション演算装置の例である。
【０００７】
同期データ制御部３０は、第一シミュレーション演算部１０、第二シミュレーション演算部２０に接続され、シミュレーション演算部１０、２０間のデータを、処理時間を監視しながら送受信制御する。つまり、同期データ制御部３０は、第一シミュレーション演算部１０、第二シミュレーション演算部２０のシミュレーション処理時間を監視しながら、第一シミュレーション演算部１０、第二シミュレーション演算部２０間で情報共有パラメータデータの中継を行う。
なお、同期データ制御部３０は、シミュレーション管理装置の例である。
【０００８】
また、第一シミュレーション演算部１０、第二シミュレーション演算部２０、同期データ制御部３０は、単一のコンピュータにより構成されていてもよいし、各々異なるコンピュータで構成されていてもよい。
【０００９】
第一シミュレーション演算部１０、第二シミュレーション演算部２０は、同様の構成である。
モデル計算部１１、２１は、シミュレーション演算を行う。
時刻制御部１２、２２は、他のシミュレーション演算部と連携して統合シミュレーションを行うためのシミュレーション時間を制御する。
パラメータ生成部１３、２３は、他のシミュレーション演算部に通知する情報共有のためのパラメータを抽出する。
データ出力部１４、２４は、パラメータデータや実施の形態２において説明する時間進行要求等を他のシミュレーション演算部に通知する。
データ入力部１５、２５は、他のシミュレーション演算部からパラメータデータ、時間進行要求等を受け取る。
【００１０】
同期データ制御部３０において、データ入力部３１は、パラメータデータや時間進行要求をシミュレーション演算部１０、２０から受け取る。
時刻同期部３２（時刻管理部）は、パラメータデータや時間進行要求から時刻情報（シミュレーション時刻）を抽出し、シミュレーション演算部１０、２０のシミュレータ処理時間の進行を監視する。
パラメータ分類処理部３３（データ圧縮可否判断部）は、パラメータデータからデータ量削減のための圧縮可否を分類する。
データ蓄積部３４は、データ削減可能なパラメータデータを蓄積する。
データ削減計算部３５（データ圧縮処理部）は、データ削減が必要な場合にパラメータデータの調整を行う。
データ出力部３６は、パラメータデータや時間進行要求をシミュレーション演算部１０、２０に通知する。
【００１１】
本実施の形態では、データ入力部３１は、各々のシミュレーション演算部１０、２０から、情報共有パラメータデータと、各々のシミュレーション演算部のシミュレーション時刻が示される時刻制御情報とを一つのデータとして受信する。
【００１２】
時刻同期部３２（時刻管理部）は、各々のシミュレーション演算部１０、２０のシミュレーション時刻の進行状況を管理している。
また、時刻同期部３２は、データ入力部３１により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータの送信元のシミュレーション演算部のシミュレーション時刻と当該情報共有パラメータデータの送信先となるシミュレーション演算部のシミュレーション時刻の間に所定時間以上の時刻差が存在するか否かを判断する。具体的には、受信された情報共有パラメータデータの送信元のシミュレーション演算部のシミュレーション時刻が当該情報共有パラメータデータの送信先となるシミュレーション演算部のシミュレーション時刻と比べて所定時間以上進んでいるか否かを判断する。
また、時刻同期部３２は、データ入力部３１により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータの時刻制御情報に示されているシミュレーション時刻を記録して、各々のシミュレーション演算部のシミュレーション時刻の進行状況を管理する。
【００１３】
パラメータ分類処理部３３（データ圧縮可否判断部）は、時刻同期部３２により各シミュレーション演算部１０、２０のシミュレーション時刻に所定時間以上の時刻差が存在すると判断された場合に、データ入力部３１により受信された情報共有パラメータデータに対するデータ圧縮が可能か否かを判断する。
【００１４】
データ蓄積部３４は、時刻同期部３２により各シミュレーション演算部１０、２０のシミュレーション時刻に所定時間以上の時刻差が存在すると判断された場合であって、パラメータ分類処理部３３により情報共有パラメータのデータ圧縮が可能と判断された場合に、当該情報共有パラメータデータの蓄積を行う。
【００１５】
データ削減計算部３５（データ圧縮処理部）は、時刻同期部３２により各シミュレーション演算部１０、２０のシミュレーション時刻に所定時間以上の時刻差が存在すると判断された場合であって、パラメータ分類処理部３３により情報共有パラメータのデータ圧縮が可能と判断された場合に、データ蓄積部３４による蓄積後に情報共有パラメータデータのデータ圧縮を行う。
より具体的には、データ削減計算部３５は、データ蓄積部３４に蓄積されている情報共有パラメータデータと、当該情報共有パラメータデータがデータ蓄積部３４に格納された後にデータ入力部３１により受信された情報共有パラメータデータとを合わせてデータ圧縮を行う。
【００１６】
データ出力部３６は、時刻同期部３２により各シミュレーション演算部のシミュレーション時刻に所定時間以上の時刻差が存在すると判断された場合に、データ削減計算部３５により圧縮された情報共有パラメータデータ（圧縮情報共有パラメータデータ）を、送信先となるシミュレーション演算部に対して送信する。
【００１７】
ここで、シミュレーション時刻は、シミュレーション時に模擬する時刻である。つまり、シミュレーション時刻は、シミュレーション演算部１０、２０におけるシミュレーション内の事象を管理するための模擬時刻である。各シミュレーション演算部１０、２０は各々シミュレーション時計を持ち、各々のシミュレーション時刻を管理する。なお、シミュレーション時刻は、時刻情報又はシミュレータ内時刻ともいう。
【００１８】
時刻制御情報はシミュレーション演算部１０、２０がシミュレーション時刻の同期を取るための情報であり、時刻情報のほかにどの程度シミュレーション時刻を進めるかなどの付加情報が入る場合がある。時刻制御情報はＩＥＥＥ１５１６標準や先行技術に記載されており、いくつかのパターンがある。本実施の形態では、時刻制御情報はどのような形態でもよく、時刻制御情報の詳細な説明は省略する。
本実施の形態では、時刻制御情報はパラメータデータと一体になって送信される。
【００１９】
シミュレーション時間は、シミュレーション演算部１０、２０がシミュレーション演算に要する所要時間である。
情報や計算項目が増えると一定の模擬する時刻間隔におけるシミュレーション事象を計算するための所要時間が大きくなる。
シミュレーション演算部が一つしかないときは大した問題にならないが、シミュレーション演算部が複数あるときは、各シミュレーション演算部のシミュレーション時間の差異が問題となる。
例えば、シミュレーション演算部Ａがシミュレーション時刻を１時間進めるのに必要な計算所要時間（シミュレーション時間）が１分であり、別のシミュレーション演算部Ｂが同じくシミュレーション時刻を１時間進めるのに１０分かかるとすると、シミュレーション時間１０分の間に、シミュレーション演算部Ａではシミュレーション時刻が１０時間進むが、シミュレーション演算部Ｂでは１時間しか進まないことになり、問題が発生する。
【００２０】
次に動作について説明する。
まず、各シミュレーション演算部１０、２０はおのおのシミュレーション時計を持ち個々にモデル計算部１１、２１でシミュレーションを行うとともに、各シミュレーション演算部１０、２０の間で情報を共有するパラメータを定義し分散シミュレーションを実行する。
【００２１】
図２は、各シミュレーション演算部１０、２０の処理負荷に大差なく、各シミュレーション演算部１０、２０のシミュレーション時間Ａ、Ｂがほぼ同じであり、時刻差が発生しない場合のパラメータデータの送受信処理を示している。
【００２２】
各シミュレーション演算部１０、２０はモデル計算部１１、２１で演算した結果からパラメータ生成部１３、２３が適宜情報共有パラメータデータを抽出し、これを共有同期するための時刻制御情報をパラメータデータに組み込み、データ出力部１４、２４から送信する（Ｓ２０１、Ｓ２０４、Ｓ２０７、Ｓ２１０、Ｓ２１３、Ｓ２１６）。
同期データ制御部３０のデータ入力部３１は、受信したパラメータデータからシミュレーション時刻を抽出し、時刻同期部３２においてシミュレーション時刻を記録し（Ｓ２０５、Ｓ２０８、Ｓ２１１、Ｓ２１４、Ｓ２１７）、シミュレーション時間を監視する。
後に詳述するが、時刻同期部３２は、各シミュレーション演算部１０、２０のシミュレーション時刻を比較し、シミュレーション時刻が不整合の場合（一方のシミュレーション演算部のシミュレーション時刻が他方に比べて大幅に進んでいる又は遅れている場合）は、パラメータデータの蓄積及び圧縮が行われる。
しかしながら、図２の場合は、各シミュレーション演算部１０、２０の処理負荷に大差なく、シミュレーション時刻の不整合が発生しないので、パラメータデータの蓄積、圧縮は行われず、同期データ制御部３０のデータ出力部３６が、パラメータデータを他方のシミュレーション演算部１０、２０に送信する（Ｓ２０３、Ｓ２０６、Ｓ２０９、Ｓ２１２、Ｓ２１５、Ｓ２１８）。
パラメータデータを受信したシミュレーション演算部１０、２０のデータ入力部１５、２５は、パラメータデータをモデル計算部１１、２１に渡し、パラメータデータに付加されているシミュレーション時刻を時刻制御部１２、２２に渡し、シミュレーション時間を制御しながらシミュレーション演算を行う。
【００２３】
次に、図３は、第二シミュレーション演算部２０の処理負荷が大きく、このため、第二シミュレーション演算部２０のシミュレーション時間Ｂが第一シミュレーション演算部１０のシミュレーション時間Ａよりも大幅に長く、シミュレーション時刻が遅れる場合のパラメータデータの送受信処理を示している。
処理負荷に差がないときと同様にパラメータデータを受信した同期データ制御部３０のデータ入力部３１は、各シミュレーション演算部１０、２０から受信したパラメータデータから時刻制御情報を抽出し、時刻同期部３２において時刻制御情報に示されているシミュレーション時刻を記録するが（Ｓ３０２、Ｓ３０５、Ｓ３０８、Ｓ３１１、Ｓ３１４）、第二シミュレーション演算部２０から受信するパラメータデータから抽出するシミュレーション時刻は処理負荷の差から時刻の進みが遅くなるため、シミュレーション演算を進めていくと第一シミュレーション演算部１０から受信するパラメータデータから抽出する時刻情報（シミュレーション時刻）と同じ時刻情報（シミュレーション時刻）を持つ第二シミュレーション演算部２０からのデータを受信する時間の差が大きく遅延する。
さらに、第二シミュレーション演算部２０から受信するパラメータデータから抽出する時刻情報が、第一シミュレーション演算部１０から先に受信したパラメータデータから抽出した時刻情報よりも古くなる場合がある。
【００２４】
図３では、シミュレータ内時刻記録（Ｓ３１４）で記録される第二シミュレーション演算部２０のシミュレーション時刻は、先に記録されている第一シミュレーション演算部１０のシミュレーション時刻よりも古い時刻となっている。シミュレータ内時刻記録（Ｓ３１４）では、データ送信（Ｓ３１３）において第二シミュレーション演算部２０から送信されたパラメータデータに付加されているシミュレーション時刻が記録される。この時点で、同期データ制御部３０の時刻同期部３２には、データ送信（Ｓ３１０）において送信されたパラメータデータに付加されている第一シミュレーション演算部１０のシミュレーション時刻が記録されている（Ｓ３１１）。Ｓ３１１において記録されたシミュレーション時刻は第一シミュレーション演算部１０において２回のシミュレーション演算が行われた後（２つのシミュレーション時間Ａの経過後）のシミュレーション時刻であるが、Ｓ３１４において記録される第二シミュレーション演算部２０のシミュレーション時刻は、第二シミュレーション演算部２０において１回のシミュレーション演算が行われた後（１つのシミュレーション時間Ｂの経過後）のシミュレーション時刻であり、第一シミュレーション演算部１０のシミュレーション時刻よりも前の（古い）時刻となっている。
この場合、シミュレータ内時刻記録（Ｓ３１７）の時点で、同期データ制御部３０の時刻同期部３２が、第一シミュレーション演算部１０のシミュレーション時刻と第二シミュレーション演算部２０のシミュレーション時刻に不整合がある（第一シミュレーション演算部１０のシミュレーション時刻が他方に比べて大幅に進んでいる）と判断し、パラメータ分類処理部３３により第一シミュレーション演算部１０からのパラメータデータがデータ量を削減し圧縮できるデータであると判断された場合は、シミュレーション時刻が遅れている第二シミュレーション演算部２０へのパラメータデータ送信を一次保留し、データ蓄積部３４に保存する（Ｓ３１８）。なお、圧縮不可能なデータであった場合は、蓄積せずに、そのまま第二シミュレーション演算部２０に送信する。
なお、シミュレーション時刻にどの程度の不整合があれば（シミュレーション時刻がどの程度進んでいれば）データ蓄積を開始するかは、システム環境やシミュレーションの性質等を勘案して、システム管理者が決定してもよいし、同期データ制御部３０が所定のアルゴリズムに従って自律的に決定してもよい。
【００２５】
各シミュレーション演算部１０、２０のモデル計算部１１、２１はシミュレーションを続けて実行し、同期データ制御部３０のデータ入力部３１はさらにシミュレーションが進行した第一シミュレーション演算部１０からパラメータデータを受信する（Ｓ３１９）。
このとき、データ蓄積部３４に保存されているパラメータデータを抽出し、新たに受信した情報共有パラメータがデータ削減可能であれば、データ削減計算部３５において、データ蓄積部３４に保存されているパラメータデータと新たに受信したパラメータデータをまとめて情報量を圧縮し（Ｓ３２１）、新たなパラメータデータに付加されていた時刻制御情報（シミュレーション時刻）を組み込み、データ出力部３６から送信する（Ｓ３２２）。
このデータ量が削減されたパラメータデータを受信した第二シミュレーション演算部２０のデータ入力部２５はパラメータデータをモデル計算部２１に渡し、進行したシミュレーション時刻を時刻制御部２２に渡し、シミュレーション時間を制御しながらシミュレーション演算を行う。
【００２６】
このように、一部のシミュレーション演算部の負荷が高くシミュレーション時刻の進みが遅れる場合に、その入力パラメータデータを圧縮してデータ量が減るようにしている。
パラメータ分類処理部３３における圧縮できるパラメータデータであるかどうかの判断は、パラメータの種類に基づいて行う。
例えば、車がＡ地点→Ｂ地点、Ｂ地点→Ｃ地点に移動したという２つのパラメータデータが第一シミュレーション演算部１０から送信される場合に、Ａ地点→Ｃ地点に移動したという情報に圧縮することができる。しかしながら車Ａが故障、車Ｂが故障という情報のように圧縮できない情報も一部存在する。これらは、シミュレーション演算部間で通知しあうパラメータは予め取り決められているので、同じくパラメータ分類処理部で圧縮可能なパラメータデータの種類を予め取り決めておくことで対処可能である。
【００２７】
以上のシミュレーション演算部１０、２０及び同期データ制御部３０の動作例を図６、図７のフローチャートを参照して説明する。
【００２８】
先ず、図６を参照して、本実施の形態に係るシミュレーション演算部１０、２０の動作例を説明する。
最初に、データ入力部１５、２５が、同期データ制御部３０から他方のシミュレーション演算部のパラメータデータ及び時刻制御情報が含まれたデータを受信し、受信したデータからパラメータデータを抽出し、モデル計算部１１、２１にパラメータデータを入力する（Ｓ６０１）。
次に、データ入力部１５、２５は、受信したデータからシミュレーション時刻（他のシミュレーション演算部のシミュレーション時刻）を抽出し、時刻制御部１２、２２に、同期すべき時刻として、抽出したシミュレーション時刻を通知する（Ｓ６０２）。
次に、時刻制御部１２、２２が、自身（自シミュレーション演算部）のシミュレーション時刻を、通知された同期すべき時刻から一定間隔進める（Ｓ６０３）。この時刻を進める間隔は、例えば、時刻制御情報において間隔を指定する形態では、時刻制御情報に示されている間隔（他のシミュレーション演算部により指定された間隔又はシステムにおける規定値）に従い、時刻制御情報において間隔を指定しない形態の場合は、自身（自シミュレーション演算部）で規定している間隔にするようにしてもよい。
次に、モデル計算部１１、２１が、Ｓ６０３において時刻制御部１２、２２により進められたシミュレーション時刻分のシミュレーション演算を行う（Ｓ６０４）。
次に、パラメータ生成部１３、２３が、モデル計算部１１、２１によるシミュレーション演算結果から、他のシミュレーション演算部と情報を共有するパラメータデータを抽出する（Ｓ６０５）。
次に、時刻制御部１２、２２が、自身のシミュレーション時刻から共有同期するための時刻制御情報を生成する（Ｓ６０６）。つまり、時刻制御部１２、２２が、自身のシミュレーション時刻が示され、また他の制御情報が含まれる時刻制御情報を生成する。
次に、データ出力部１４、２４は、パラメータデータと時刻制御部１２、２２が生成した時刻制御情報を一つのデータとして（パラメータデータに時刻制御情報を組み込んで）同期データ制御部３０に送信する。
【００２９】
次に、図７を参照して、本実施の形態に係る同期データ制御部３０の動作例（シミュレーション管理方法）を説明する。
先ず、データ入力部３１が、シミュレーション演算部１０、２０からパラメータデータ及び時刻制御情報が含まれたデータを受信し（データ入力ステップ）、パラメータ分類処理部３３にパラメータデータを入力する（Ｓ７０１）。
次に、データ入力部３１は、時刻制御情報に含まれるシミュレーション時刻を抽出し、シミュレーション時刻を時刻同期部３２に通知する（Ｓ７０２）。
次に、時刻同期部３２は、通知されたシミュレーション時刻を記録するとともに、通知されたシミュレーション時刻を同期すべき時刻と比較する（Ｓ７０３）（時刻管理ステップ）。同期すべき時刻とは、同期データ制御部３０がシミュレーション演算部１０、２０のシミュレーション時刻を同期するために記録している時刻である。時刻同期部３２は、データ入力部３１がパラメータデータを受信する度に、パラメータデータにおいて通知されているシミュレーション時刻を記録するため、今回受信したパラメータデータの送信先のシミュレーション演算部からのパラメータデータにおいて通知されていたシミュレーション時刻も記録している。この記録しているシミュレーション時刻と今回受信したパラメータデータのシミュレーション時刻とを比較する。
このように、時刻同期部３２は、パラメータデータが受信される度に、受信されたパラメータデータにより通知されているシミュレーション時刻を記録するとともに、受信されたパラメータデータの送信元のシミュレーション演算部のシミュレーション時刻と当該パラメータデータの送信先となるシミュレーション演算部のシミュレーション時刻の間に所定時間以上の時刻差が存在するか否かを判断する。
【００３０】
そして、時刻差が小さいとき又は遅れているとき、つまり、パラメータデータ送信元のシミュレーション演算部のシミュレーション時刻が所定時間以上進んでいない場合は、パラメータ分類処理部３３は、パラメータデータをデータ蓄積の対象とはせず、データ出力部３６が、当該パラメータデータ及び時刻制御情報を送信先のシミュレーション演算部に送信する（Ｓ７０４）。
他方、時刻差が大きく進んでいるとき、即ち、パラメータデータ送信元のシミュレーション演算部のシミュレーション時刻が所定時間以上進んでいる場合は、パラメータデータ送信先のシミュレーション演算部のシミュレーション時刻が大幅に遅れており、パラメータデータの送信量を削減する必要がある。このため、パラメータ分類処理部３３は、当該パラメータデータが削除圧縮の可能なデータであるか否かを判断する（Ｓ７０５）。
【００３１】
削減圧縮不可能なパラメータデータの場合は、パラメータ分類処理部３３は、パラメータデータをデータ蓄積の対象とはせず、データ出力部３６が、当該パラメータデータ及び時刻制御情報を送信先のシミュレーション演算部に送信する（Ｓ７０４）。
他方、削減圧縮可能なパラメータデータの場合は、パラメータ分類処理部３３は、パラメータデータがすでにデータ蓄積部３４に保存されているかどうかを確認する（Ｓ７０６）。
蓄積保存されていない場合は、受信したパラメータデータをデータ蓄積部３４に保存する（Ｓ７０７）。これは、図３におけるデータ蓄積（Ｓ３１８）に相当する。
他方、蓄積保存されている場合は、データ削減計算部３５が、パラメータデータの情報をまとめ情報量を圧縮する（Ｓ７０８）（データ圧縮処理ステップ）。即ち、データ蓄積部３４に蓄積されているパラメータデータと、今回新たに受信したパラメータデータとを合わせてデータ圧縮を行う。これは、図３におけるデータ削減（Ｓ３２１）に相当する。  次に、データ出力部３６が、圧縮された後のパラメータデータと新たなパラメータデータに対応する時刻制御情報を送信先のシミュレーション演算部に送信する（Ｓ７０９）（データ出力ステップ）。
【００３２】
以上のように、一部のシミュレーション演算部の負荷が高くシミュレーション時刻の進みが遅れる場合にその入力パラメータデータが減るようにしているので、負荷が高い方のシミュレーション演算部の処理量を減らし、シミュレーション時刻の進みを早くすることができ、統合シミュレーションシステム全体の計算時間を効率よく加速することができる。
【００３３】
なお、上記の説明では、説明の簡明のために、シミュレーション演算部が二つの場合を説明したが、シミュレーション演算部が三つ以上であってもよい。
例えば、第一シミュレーション演算部、第二シミュレーション演算部、第三シミュレーション演算部の三つのシミュレーション演算部が存在する場合に、それぞれのシミュレーション演算部及び同期データ制御部において図２、３、６、７に示す処理をすればよい。
例えば、第一シミュレーション演算部と第二シミュレーション演算部のシミュレーション時間はほぼ一致しており、一方、第三シミュレーション演算部は、第一シミュレーション演算部及び第二シミュレーション演算部に対してシミュレーション時間が長い場合は、第一シミュレーション演算部と第二シミュレーション演算部の間では、図２のようにパラメータデータの蓄積が行われず、第一シミュレーション演算部と第三シミュレーション演算部の間、及び第二シミュレーション演算部と第三シミュレーション演算部の間では、図３に示すようにパラメータデータの蓄積及び圧縮が行われる。
【００３４】
以上、本実施の形態では、情報共有パラメータを複数のシミュレーション演算部で通知しあいシミュレーション時刻を同期しながらシミュレートする分散シミュレーション環境において情報共有パラメータに時刻を埋め込む機能と同期データ制御部において情報共有パラメータのシミュレーション時刻を監視する機能を持つ統合シミュレーションシステムについて説明した。
【００３５】
また、本実施の形態では、シミュレーション時刻を情報共有パラメータで通知しあうと共に、同期データ制御部において各シミュレーション演算部のシミュレーション時刻の不一致を検出した場合、情報共有パラメータの通知を一次保留し蓄積する統合シミュレーションシステムについて説明した。
【００３６】
また、本実施の形態では、データ量削減のための圧縮可否に基づき情報共有パラメータを分類する機能を備え、情報共有パラメータがデータ蓄積部に保留蓄積されている場合に、蓄積されているデータと新たに受信した情報共有パラメータを結合し、データ量を削減する統合シミュレーションシステムについて説明した。
【００３７】
実施の形態２．
実施の形態１では、パラメータデータにシミュレータ時刻を示す時刻制御情報を組み込み、各シミュレーション演算部の処理時間の差を検出しているが、統合シミュレーションシステムでは特開２００１−３０６５３８号公報に示されているように各シミュレーション演算部の同期制御のために時間進行要求が必要であり、この時間進行要求に組み込む時刻情報を用いてシミュレーション演算部の処理負荷の差を検出して、パラメータデータが減るようにするときの実施の形態を示す。
【００３８】
なお、時間進行要求とは、分散する各シミュレータとして機能するコンピュータによる処理の時間的な同期を取るための、シミュレーション上の時間を進行させる要求である。換言すると、時間進行要求とは、各々のシミュレーション演算部から、シミュレーション時刻の同期のために他のシミュレーション演算部にシミュレーション時刻の進行を要求する情報であり、同期させるべきシミュレーション時刻が示される。
本実施の形態では、パラメータデータにはシミュレーション時刻は表示されず、時間進行要求に示されるシミュレーション時刻に基づいてパラメータデータの蓄積・圧縮の有無の判断を行う。
【００３９】
本実施の形態においては、システム構成例は、図１に示したものと同様である。
また、第一シミュレーション演算部１０、第二シミュレーション演算部２０及び同期データ制御部３０の内部構成例も図１と同様であるが、本実施の形態では、同期データ制御部３０において、時刻同期部３２とともに、パラメータ分類処理部３３も時刻管理部の役割を果たす。
【００４０】
本実施の形態では、同期データ制御部３０のデータ入力部３１は、各々のシミュレーション演算部１０、２０から時間進行要求を受信し、時刻同期部３２は、時間進行要求が受信される度に、受信された時間進行要求に示されているシミュレーション時刻を記録して、各々のシミュレーション演算装置のシミュレーション時刻の進行状況を管理する。
そして、時刻同期部３２は、時間進行要求が受信される度に、受信された時間進行要求に示されているシミュレーション時刻が当該時間進行要求の送信先となるシミュレーション演算部のシミュレーション時刻と比べて所定時間以上進んでいるか否かを判断し、所定時間以上進んでいる場合は、データ出力部３６は、当該時間進行要求を、送信先となるシミュレーション演算装置に対して送信しない。
また、このようにシミュレーション演算装置間でシミュレーション時刻が不一致の場合は、実施の形態１と同様に、データ蓄積部３４がパラメータデータを蓄積し、データ削減計算部３５が蓄積されたパラメータデータ及び新たに受信したパラメータデータの圧縮を行い、データ出力部３６は、圧縮されたパラメータデータを送信先のシミュレーション演算部に送信する。
【００４１】
図４は、実施の形態２のパラメータデータと時刻進行要求の送受信処理を示している。
各シミュレーション演算部１０、２０の時刻制御部１２、２２はモデル計算部１１、２１のシミュレーション時間を制御しながらそれに合わせて他のシミュレーション演算部のシミュレーション時刻を同期するため、時刻の進行を示す時間進行要求を生成し、データ出力部１４、２４から送信する（Ｓ４０１、Ｓ４０４、Ｓ４０７、Ｓ４１２等）。
同期データ制御部３０のデータ入力部３１は、受信した時間進行要求から時刻情報（シミュレーション時刻）を抽出し、時刻同期部３２においてシミュレーション時刻を記録し（Ｓ４０２、Ｓ４０５、Ｓ４０８、Ｓ４１３等）、シミュレーション時間を監視する。
同期データ制御部３０のデータ出力部３６は、時間進行要求を他方のシミュレーション演算部１０、２０のデータ入力部１５、２５に送信し（Ｓ４０３、Ｓ４０６、Ｓ４０９、Ｓ４１４等）、時間進行要求はシミュレーション演算部１０、２０の時刻制御部１２、２２にて、時間進行要求に示された時刻までモデル計算部１１、２１にシミュレーションを実行させる。
モデル計算部１１、２１で演算した結果からパラメータ生成部１３、２３が適宜情報共有パラメータを抽出し、データ出力部１４、２４から送信する（Ｓ４１０、Ｓ４１５、Ｓ４２０等）。
同期データ制御部３０は時刻同期部３２で時刻差が大差ないと判断している間、パラメータデータは蓄積せず他方のシミュレーション演算部に転送する（Ｓ４１１、Ｓ４１６、Ｓ４２１等）。
【００４２】
図４のように一方のシミュレーション演算部の処理負荷が大きいと、その一方の時間進行要求の時刻が遅くなる。
同期データ制御部３０では、データ入力部３１が受信した処理負荷が大きい方のシミュレーション演算部の時間進行要求から抽出した時刻情報（シミュレーション時刻）が、他方のシミュレーション演算部より受信した時間進行要求から抽出した時刻情報（シミュレーション時刻）より大きく遅延したと判断している間、時刻の進んでいるシミュレーション演算部から受信したパラメータデータをパラメータ分類処理部３３でデータ量を削減し圧縮できるパラメータデータかどうか分類し、圧縮可能なデータは処理負荷の大きいシミュレーション演算部へのパラメータデータ送信を一次保留し、データ蓄積部３４に保存する（Ｓ４３１）。
同期データ制御部３０のデータ蓄積部３４は処理負荷が小さくシミュレーション時刻の進んでいるシミュレーション演算部から、次のデータ受信あるいは一定量のパラメータデータを受信したならば（Ｓ４３７）、データ削減計算部３５でデータ削減可能なパラメータの情報をまとめ情報量を圧縮し（Ｓ４３８）、データ出力部３６から送信する（Ｓ４３９）。
パラメータデータを受信したシミュレーション演算部１０、２０のデータ入力部１５、２５はパラメータデータをモデル計算部１１、２１に渡し、シミュレーション演算を行う。
【００４３】
また、同期データ制御部３０はシミュレーション時刻の進んでいるシミュレーション演算部から時刻の遅れているシミュレーション演算部への時間進行要求を、パラメータデータ送信を一次保留している間遮断し、時間通知を行わない（図４では、Ｓ４３５の時間進行要求は、シミュレーション時刻が遅れている第二シミュレーション演算部２０には送信していない）。
【００４４】
以上のシミュレーション演算部１０、２０及び同期データ制御部３０の動作例を図８、図９のフローチャートを参照して説明する。
【００４５】
先ず、図８を参照して、本実施の形態に係るシミュレーション演算部１０、２０の動作例を説明する。
最初に、データ入力部１５、２５が、同期データ制御部３０から他方のシミュレーション演算部のパラメータデータが含まれたデータを受信した際に、受信したデータからパラメータデータを抽出し、モデル計算部１１、２１にパラメータデータを入力する（Ｓ８０１）。
また、データ入力部１５、２５は、同期データ制御部３０から他方のシミュレーション演算部の時間進行要求を受信した際に、時間進行要求に示されたシミュレーション時刻（他のシミュレーション演算部のシミュレーション時刻）を抽出し、時刻制御部１２、２２に、同期すべき時刻として、抽出したシミュレーション時刻を通知する（Ｓ８０２）。
次に、時刻制御部１２、２２が、自身（自シミュレーション演算部）のシミュレーション時刻を、通知された同期すべき時刻から一定間隔進める（Ｓ８０３）。
次に、時刻制御部１２、２２が、同期させるシミュレーション時刻を示し、他のシミュレーション演算部にシミュレーション時刻の進行を要求する時間進行要求を生成し、データ出力部１４、２４が時間進行要求を送信する（Ｓ８０４）。
また、モデル計算部１１、２１が、Ｓ８０３において時刻制御部１２、２２により進められたシミュレーション時刻分のシミュレーション演算を行う（Ｓ８０５）。
次に、パラメータ生成部１３、２３が、モデル計算部１１、２１によるシミュレーション演算結果から、他のシミュレーション演算部と情報を共有するパラメータデータを抽出する（Ｓ８０６）。
次に、データ出力部１４、２４は、Ｓ８０６においてパラメータ生成部１３、２３が抽出したパラメータデータを同期データ制御部３０に送信する。
【００４６】
次に、図９を参照して、本実施の形態に係る同期データ制御部３０の動作例（シミュレーション管理方法）を説明する。
図９（ａ）は、同期データ制御部３０がシミュレーション演算部１０、２０から時間進行要求を受信した場合の動作例を示し、図９（ｂ）は、同期データ制御部３０がシミュレーション演算部１０、２０からパラメータデータを受信した場合の動作例を示している。
先ず、図９（ａ）について説明する。
【００４７】
データ入力部３１は、時間進行要求を受信し、受信した時間進行要求から時刻情報（シミュレーション時刻）を抽出し、時刻同期部３２に時刻情報（シミュレーション時刻）を通知する（Ｓ９０１）。
次に、時刻同期部３２は、データ入力部３１から通知された時刻情報（シミュレーション時刻）と記録している同期すべきシミュレーション時刻とを比較する（Ｓ９０２）（時刻管理ステップ）。時刻同期部３２は、データ入力部３１が時間進行要求を受信する度に、時間進行要求に示されているシミュレーション時刻を記録するため、今回受信した時間進行要求の送信先のシミュレーション演算部からの時間進行要求に示されていたシミュレーション時刻も記録している。この記録しているシミュレーション時刻と今回受信した時間進行要求に示されているシミュレーション時刻とを比較する。また、このとき、時刻同期部３２は、今回受信した時間進行要求に示されているシミュレーション時刻を記録する。
比較の結果、時刻差が大きく進んでいるとき、即ち、今回受信した時間進行要求のシミュレーション時刻が、記録しているシミュレーション時刻よりも大幅に進んでいる場合は、時刻同期部３２は、シミュレーション演算部の両者間に時刻差ありと記憶し、また、当該時間進行要求の送信元のシミュレーション演算部をシミュレーション時刻が先行している時刻先行シミュレーション演算部（時刻先行シミュレーション演算装置）として記憶し、当該時間進行要求の送信先のシミュレーション演算部をシミュレーション時刻が後行している時刻後行シミュレーション演算部（時刻後行シミュレーション演算装置）として記憶し、更に、データ出力部３６に時間進行要求を送信先のシミュレーション演算部に送信しないように指示し、この結果、データ出力部３６は時間進行要求を送信しない（Ｓ９０３）（時刻管理ステップ）。このように、送信先のシミュレーション演算部のシミュレーション時刻が遅延している場合は、シミュレーション時刻の進行を要求する時間進行要求の送信を留保する。
他方、時刻差が小さいとき（シミュレーション時刻が一致している場合を含む）は、時刻同期部３２は、シミュレーション演算部の両者間に時刻差なしと記憶し、データ出力部３６に時間進行要求を送信先のシミュレーション演算部に送信するように指示し、この結果、データ出力部３６は時間進行要求を送信する（Ｓ９０４）（時刻管理ステップ）。
また、時刻差が大きく遅れているとき、即ち、今回受信した時間進行要求のシミュレーション時刻が、記録しているシミュレーション時刻よりも大幅に遅れている場合は、時刻同期部３２は、シミュレーション演算部の両者間に時刻差ありと記憶し、また、当該時間進行要求の送信元のシミュレーション演算部をシミュレーション時刻が後行している時刻後行シミュレーション演算部として記憶し、当該時間進行要求の送信先のシミュレーション演算部をシミュレーション時刻が先行している時刻先行シミュレーション演算部として記憶し、更に、データ出力部３６に時間進行要求を送信先のシミュレーション演算部に送信するように指示し、この結果、データ出力部３６は時間進行要求を送信する（Ｓ９０５）（時刻管理ステップ）。この場合は、時間進行要求の送信先のシミュレーション演算部のシミュレーション時刻の方が進んでいるので、時間進行要求を送信する。
【００４８】
次に、図９（ｂ）において、先ず、データ入力部３１が、シミュレーション演算部からパラメータデータが含まれたデータを受信し（データ入力ステップ）、受信したデータからパラメータデータ及び送信元情報及び送信先情報を抽出し、パラメータ分類処理部３３にパラメータデータ及び送信元情報及び送信先情報を入力する（Ｓ９０６）。
パラメータ分類処理部３３は、時刻同期部３２の記憶情報を参照し、時刻差なしと記憶されていれば、データ出力部３６に当該パラメータデータを送信先のシミュレーション演算部に送信するように指示し、データ出力部３６はパラメータデータを送信する（Ｓ９０７）。
【００４９】
他方、時刻差ありと記憶されていた場合は、パラメータ分類処理部３３は、入力された送信元情報及び送信先情報と、時刻同期部３２の記憶情報（時刻先行シミュレーション演算部、時刻後行シミュレーション演算部）とから時刻が進んでいるシミュレーション演算部（時刻先行シミュレーション演算部）から遅れているシミュレーション演算部（時刻後行シミュレーション演算部）へのパラメータデータであるか否かを判断し、これに該当する場合は、更に、当該パラメータデータが圧縮可能であるか否かを判断する（Ｓ９０８）（時刻管理ステップ）。
遅れている方（時刻後行シミュレーション演算部）から進んでいる方（時刻先行シミュレーション演算部）へのパラメータデータである場合、又は進んでいる方（時刻先行シミュレーション演算部）から遅れている方（時刻後行シミュレーション演算部）へのパラメータデータであるが削減圧縮が不可能なパラメータデータである場合は、パラメータ分類処理部３３は、データ出力部３６に当該パラメータデータを送信先のシミュレーション演算部に送信するように指示し、データ出力部３６はパラメータデータを送信する（Ｓ９０７）。
【００５０】
進んでいる方（時刻先行シミュレーション演算部）から遅れている方（時刻後行シミュレーション演算部）へのパラメータデータであって削減圧縮が可能なパラメータデータである場合は、パラメータ分類処理部３３は、パラメータデータがデータ蓄積部３４に既に保存されているかどかを確認する（Ｓ９０９）。
蓄積保存されていない場合は、パラメータ分類処理部３３はパラメータデータをデータ蓄積部３４に格納する（Ｓ９１０）。これは、図４におけるデータ蓄積（Ｓ４３１）に相当する。
他方、蓄積保存されている場合は、データ削減計算部３５が、パラメータデータの情報をまとめ情報量を圧縮する（Ｓ９１１）（データ圧縮処理ステップ）。即ち、データ蓄積部３４に蓄積されているパラメータデータと、新たに受信したパラメータデータとを合わせてデータ圧縮を行う。これは、図４におけるデータ削減（Ｓ４３８）に相当する。
次に、データ出力部３６が、圧縮された後のパラメータデータを送信先のシミュレーション演算部に送信する（Ｓ９１２）（データ出力ステップ）。
【００５１】
以上のように、時間進行要求に示されているシミュレーション時刻を利用することにより、一部のシミュレーション演算部の負荷が高くシミュレーション時刻の進みが遅れる場合にその入力パラメータデータが減るようにし、また、時間進行要求をシミュレーション時刻の進みが遅れているシミュレーション演算部には送信しないようにしているので、負荷が高い方のシミュレーション演算部の処理量を減らし、シミュレーション時刻の進みを早くすることができ、統合シミュレーションシステム全体の計算時間を効率よく加速することができる。
【００５２】
なお、上記の説明では、説明の簡明のために、シミュレーション演算部が二つの場合を説明したが、実施の形態１と同様に、シミュレーション演算部が三つ以上であってもよい。
例えば、第一シミュレーション演算部、第二シミュレーション演算部、第三シミュレーション演算部の三つのシミュレーション演算部が存在する場合に、実施の形態１と同様に、それぞれのシミュレーション演算部及び同期データ制御部において図４、８、９に示す処理をすればよい。
【００５３】
本実施の形態では、情報共有パラメータを複数のシミュレーション演算部で通知しあいシミュレーション時刻を同期しながらシミュレートする分散シミュレーション環境において、時刻を同期するための時間進行要求に時刻を埋め込む機能と同期データ制御部において時間進行要求のシミュレーション時刻を監視する機能を持つ統合シミュレーションシステムについて説明した。
【００５４】
また、本実施の形態では、各シミュレーション演算部はシミュレーション時刻を時刻進行要求で通知しあうと共に、同期データ制御部において各シミュレーション演算部のシミュレーション時刻の不一致を検出した場合、情報共有パラメータの通知を一次保留し蓄積すると共に、シミュレーション演算の進行を指示する時間通知を送信しないようにする統合シミュレーションシステムについて説明した。
【００５５】
実施の形態３．
以上の実施の形態では、情報共有パラメータデータの時刻情報を確認する手段と時間進行要求の時刻情報を確認する手段を別々に示したが、両手段を組み合わせることにより時刻差の検出が効率的に行えるため実施の形態を示す。
【００５６】
本実施の形態においては、システム構成例は、図１に示したものと同様である。
また、第一シミュレーション演算部１０、第二シミュレーション演算部２０及び同期データ制御部３０の内部構成例も図１と同様であるが、本実施の形態では、同期データ制御部３０において、時刻同期部３２とともに、パラメータ分類処理部３３も時刻管理部の役割を果たす。
【００５７】
本実施の形態では、同期データ制御部３０のデータ入力部３１は、各々のシミュレーション演算部１０、２０から、各々のシミュレーション演算装置のシミュレーション時刻が通知される情報共有パラメータデータを受信し、更に、各々のシミュレーション演算部１０、２０から時間進行要求を受信し、時刻同期部３２は、データ入力部３１により情報共有パラメータデータが受信される度に、受信された情報共有パラメータデータにより通知されるシミュレーション時刻を記録し、更に、データ入力部３１により時間進行要求が受信される度に、受信された時間進行要求に示されているシミュレーション時刻を記録して、各々のシミュレーション演算部１０、２０のシミュレーション時刻の進行状況を管理する。
【００５８】
図５は、シミュレーション演算部間のパラメータ送受信時と時間進行要求・通知送受信時に同期データ制御部３０の時刻同期部３２でシミュレーション時刻を監視する際の処理を示している。
各シミュレーション演算部１０、２０はシミュレーション時間の進行に合わせて適宜時間進行要求を送信し（Ｓ５０１、Ｓ５０４、Ｓ５０７、Ｓ５１３等）、同期データ制御部３０から時間通知を得たシミュレーション演算部１０、２０はモデル計算部１１、２１のシミュレーションを進める。
例えば第二シミュレーション演算部２０のモデル計算負荷が高くシミュレーション時刻の進み方が第一シミュレーション演算部１０より遅いと、パラメータデータを通知する際の時刻情報が古くなったり、時間進行要求の送信契機が遅れたりする。
時間進行要求を受信した同期データ制御部３０の時刻同期部３２はシミュレーション時刻を記録し（Ｓ５０２、Ｓ５０５、Ｓ５０８、Ｓ５１４等）、時間を監視する。
同期データ制御部３０のデータ出力部３６は時間進行要求を他方のシミュレーション演算部１０、２０のデータ入力部１５、２５に送信し（Ｓ５０３、Ｓ５０６、Ｓ５０９、Ｓ５１５党）、時間進行要求はシミュレーション演算部１０、２０の時刻制御部１２、２２にて、時間進行要求に示された時刻までモデル計算部１１、２１にシミュレーションを実行させる。
モデル計算部１１、２１で演算した結果からパラメータ生成部１３、２３が適宜情報共有パラメータを抽出し、データ出力部１４、２４から送信する（Ｓ５１０、Ｓ５１９等）。
パラメータデータを受信した同期データ制御部３０のデータ入力部３１は、受信したパラメータデータから時刻情報を抽出し、時刻同期部３２においてシミュレーション時刻を記録する（Ｓ５１１、Ｓ５２０等）。
モデル計算負荷の高いシミュレーション演算部２０のパラメータデータ送信は遅延し、同期データ制御部３０の時刻同期部３２でシミュレーション時刻を記録するときに負荷の低いシミュレーション演算部１０の送信する時間進行要求のシミュレーション時刻と時刻差が発生するため（Ｓ５２０の時点）、シミュレーション時刻の進んでいる第一シミュレーション演算部１０のデータ送信を一次保留し、データ蓄積部３４に保存する（Ｓ５２４）。また、データ蓄積中は、第一シミュレーション演算部１０からの時間進行要求（Ｓ５２８）は、第二シミュレーション演算部２０に送信しない。
同期データ制御部３０のデータ蓄積部３４は第一シミュレーション演算部１０から、次のデータ受信あるいは一定量のパラメータデータを受信したならば（Ｓ５３０）、データ削減計算部３５でデータ削減可能なパラメータの情報をまとめ情報量を圧縮し（Ｓ５３２）、データ出力部３６から送信する（Ｓ５３３）。
パラメータデータを受信したシミュレーション演算部１０、２０のデータ入力部１５、２５はパラメータデータをモデル計算部１１、２１に渡し、シミュレーション演算を行う。
【００５９】
この実施の形態では第二シミュレーション演算部２０の時間進行要求の送信が遅くなっているが、時間進行要求の送受信時だけでなくパラメータデータの送受信時にも時刻記録を行っているため、実施の形態２よりも早く時刻差を検出している。
また実施の形態１ではパラメータデータの送受信時しか時刻差が検出できないため情報共有パラメータの共有頻度が少ない場合シミュレーション時刻の同期が粗くなるが、本実施の形態では、時間進行要求の送受信時にも時刻差を検出できるので、シミュレーション時刻の同期をきめ細かく管理することができる。
【００６０】
本実施の形態に係るシミュレーション演算部１０、２０の動作例を図１０に、同期データ制御部３０の動作例を図１１に示す。
それぞれ、実施の形態１の動作と実施の形態２の動作を組み合わせたものであるため、同様な動作の説明は省略する。
図１１（ａ）の動作は図９（ａ）と同様である。
図１１（ｂ）の動作は先ず、図７（ａ）と同様にデータ入力部３１が、シミュレーション演算部１０、２０からパラメータデータ及び時刻制御情報が含まれたデータを受信し（データ入力ステップ）、時刻制御情報に含まれるシミュレーション時刻を抽出し、シミュレーション時刻を時刻同期部３２に通知する（Ｓ１１０６）。
次に、時刻同期部３２は、通知されたシミュレーション時刻を記録するとともに、通知されたシミュレーション時刻を同期すべき時刻と比較する（Ｓ１１１４）（時刻管理ステップ）。
比較の結果、図１１（ａ）と同様に時刻差が大きいときはシミュレーション演算部の両者間に時刻差ありと記憶し（Ｓ１１１５）、また、時刻差が小さいとき（シミュレーション時刻が一致している場合を含む）は、時刻同期部３２は、シミュレーション演算部の両者間に時刻差なしと記憶する（Ｓ１１１６）。ただし、時間進行要求の送信に関する処理は行わない。
時刻差ありなしを記録した後の動作（Ｓ１１０７〜Ｓ１１１３）は図９（ｂ）と同様である。
【００６１】
なお、上記の説明では、説明の簡明のために、シミュレーション演算部が二つの場合を説明したが、実施の形態１と同様に、シミュレーション演算部が三つ以上であってもよい。
例えば、第一シミュレーション演算部、第二シミュレーション演算部、第三シミュレーション演算部の三つのシミュレーション演算部が存在する場合に、実施の形態１と同様に、それぞれのシミュレーション演算部及び同期データ制御部において図５、１０、１１に示す処理をすればよい。
【００６２】
本実施の形態では、各シミュレーション演算部は情報共有パラメータに時刻を埋め込み、シミュレーション時刻を情報共有パラメータで通知しあうと共に、同期データ制御部において情報共有パラメータのシミュレーション時刻を監視し、時刻進行要求のシミュレーション時刻との不一致を検出した場合、情報共有パラメータの通知を一次保留し蓄積すると共に、シミュレーション演算の進行を指示する時間通知を送信しないようにする統合シミュレーションシステムについて説明した。
【００６３】
実施の形態４．
図１３は、本実施の形態に係る統合シミュレーションシステムの構成例を示す図である。
図１３において、第一シミュレーション演算部１０から第Ｎシミュレーション演算部４０は分散処理する複数のシミュレータの一つである。
実施の形態１〜３では、第一シミュレーション演算部１０と第二シミュレーション演算部２０との２つのシミュレーション演算部で構成される例を示したが、本実施の形態では、Ｎ個のシミュレーション演算部で構成される例を示している。
なお、本実施の形態に係る第一シミュレーション演算部１０、第二シミュレーション演算部２０、第Ｎシミュレーション演算部４０は、実施の形態１〜３に示した第一シミュレーション演算部１０、第二シミュレーション演算部２０と同様の構成を有する。
つまり、シミュレーションを演算するモデル計算部１１、２１、４１と、他のシミュレーションと連携して統合シミュレーションを行うためのシミュレーション時間を制御する時刻制御部１２、２２、４２と、他のシミュレーションに通知するパラメータデータを生成するパラメータ生成部１３、２３、４３と、パラメータデータを他のシミュレータに通知するデータ出力部１４、２４、４４と、他のシミュレータからパラメータデータを受け取るデータ入力部１５、２５、４５からなる。
【００６４】
また、同期データ制御部５０は、実施の形態１〜３に示した同期データ制御部３０と同様に、シミュレーション演算部間のパラメータデータを処理時間の監視しながらデータ圧縮と通知制御を行う。
但し、本実施の形態では、同期データ制御部５０の内部構成が他の実施の形態の同期データ制御部３０と異なる。
具体的には、パラメータ識別処理部５１、パラメータ圧縮手段データベース５２、パラメータ通知再生成部５３は、他の実施の形態にない構成である。
【００６５】
パラメータ識別処理部５１は、圧縮に関するパラメータデータの分別を行う。なお、パラメータ識別処理部５１は、データ圧縮種類選定部の例である。
パラメータ圧縮手段データベース５２は、パラメータデータの分別に合わせた各種圧縮方式を記録している。
パラメータ通知再生成部５３は、処理を施したパラメータデータと圧縮処理にあわせてシミュレーション時刻を調整したパラメータデータに修正する。
他の要素は、実施の形態１〜３において説明したものと同様であり、データ入力部３１は、パラメータデータを各シミュレーション演算部１０、２０、４０から受け取る。
時刻同期部３２（時刻管理部）は、パラメータデータのシミュレーション時刻情報を読み取り時刻差を監視する。
データ蓄積部３４は、圧縮するパラメータデータを一時的に保管する。
データ削減計算部（データ圧縮処理部）３５は、時刻差とパラメータ識別から、パラメータデータの圧縮処理を行う。
データ出力部３６は、修正したパラメータデータを各シミュレーション演算部に通知する。
【００６６】
ここで、パラメータ識別処理部５１を中心に本実施の形態に係る同期データ制御部５０をより詳細に説明する。
本実施の形態では、データ入力部３１は、複数種類の情報共有パラメータデータを受信し、データ削減計算部３５は、複数種類のデータ圧縮が可能である。
このような前提において、パラメータ識別処理部５１は、実施の形態１〜３と同様に、時刻同期部３２によりシミュレーション演算部間のシミュレーション時刻に所定時間以上の時刻差が存在すると判断された場合に、データ入力部３１により受信された情報共有パラメータデータの種類に応じて、データ削減計算部３５によるデータ圧縮の種類を選定し、データ削減計算部３５は、パラメータ識別処理部５１により選定された種類のデータ圧縮を行う。
また、本実施の形態では、データ蓄積部３４は、時刻同期部３２によりシミュレーション演算部間のシミュレーション時刻に所定時間以上の時刻差が存在すると判断された場合に、データ入力部３１により受信された情報共有パラメータデータを、情報共有パラメータデータの種類ごとに分類して蓄積する。
そして、データ削減計算部３５は、データ入力部３１により受信された情報共有パラメータデータと、データ蓄積部３４に蓄積されている情報共有パラメータデータのうちデータ入力部３１により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとを用いて、パラメータ識別処理部５１により選定された種類のデータ圧縮を行う。
【００６７】
他方、パラメータ識別処理部５１は、時刻同期部３２によりシミュレーション演算部間のシミュレーション時刻に所定時間以上の時刻差が存在しないと判断された場合でも、データ入力部３１により受信された情報共有パラメータデータの種類と同じ種類の情報共有パラメータデータがデータ蓄積部３４に蓄積されている場合に、データ入力部３１により受信された情報共有パラメータデータの種類に応じて、データ削減計算部３５によるデータ圧縮の種類を選定する。
また、データ削減計算部３５は、データ入力部３１により受信された情報共有パラメータデータと、データ蓄積部３４に蓄積されている情報共有パラメータデータのうちデータ入力部３１により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとを用いて、パラメータ識別処理部５１により選定された種類のデータ圧縮を行う。
【００６８】
パラメータ識別処理部５１は、データ入力部３１により受信された情報共有パラメータデータの種類に応じて、データ圧縮の種類として、複数の情報共有パラメータの加算値を算出する加算型のデータ圧縮を選定する場合があり、データ削減計算部３５は、パラメータ識別処理部５１により加算型のデータ圧縮が選定された場合に、データ入力部３１により受信された情報共有パラメータデータと、データ蓄積部３４に蓄積されている情報共有パラメータデータのうちデータ入力部３１により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとの加算値を算出する。
そして、データ出力部３６は、圧縮情報共有パラメータデータとして、データ削減計算部３５により算出された加算値が示される情報共有パラメータデータを送信する。
【００６９】
また、パラメータ識別処理部５１は、データ入力部３１により受信された情報共有パラメータデータの種類に応じて、データ圧縮の種類として、複数の情報共有パラメータデータの平均値を算出する平均型のデータ圧縮を選定する場合があり、データ削減計算部３５は、パラメータ識別処理部５１により平均型のデータ圧縮が選定された場合に、データ入力部３１により受信された情報共有パラメータデータと、データ蓄積部３４に蓄積されている情報共有パラメータデータのうちデータ入力部３１により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとの平均値を算出する。
そして、データ出力部３６は、圧縮情報共有パラメータデータとして、データ削減計算部３５により算出された平均値が示される情報共有パラメータデータを送信する。
【００７０】
また、パラメータ圧縮手段データベース５２は、データ蓄積部３４における情報共有パラメータデータの蓄積回数ごとに指定されている重み付け係数を記憶しており、パラメータ識別処理部５１は、データ入力部３１により受信された情報共有パラメータデータの種類に応じて、データ圧縮の種類として、複数の情報共有パラメータデータの加重平均値を算出する平均型のデータ圧縮を選定する場合があり、データ削減計算部３５は、パラメータ識別処理部５１により平均型のデータ圧縮が選定された場合に、データ入力部３１により受信された情報共有パラメータデータと、データ蓄積部３４に蓄積されている情報共有パラメータデータのうちデータ入力部３１により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータとの加重平均値を、パラメータ圧縮手段データベース５２に記憶されている蓄積回数ごとの重み付け係数を用いて算出する。
そして、データ出力部３６は、圧縮情報共有パラメータデータとして、データ削減計算部３５により算出された加重平均値が示される情報共有パラメータデータを送信する。
【００７１】
また、パラメータ識別処理部５１は、データ入力部３１により受信された情報共有パラメータデータの種類に応じて、データ圧縮の種類として、データ蓄積部３４に蓄積されている情報共有パラメータデータの少なくとも一部の出力を省略する省略型のデータ圧縮を選定する場合があり、データ削減計算部３５は、パラメータ識別処理部５１により省略型のデータ圧縮が選定された場合に、データ蓄積部３４に蓄積されている情報共有パラメータデータのうちデータ入力部３１により受信された情報共有パラメータデータと同じ種類の情報共有パラメータデータの少なくとも一部を破棄する。
そして、データ出力部３６は、圧縮情報共有パラメータデータとして、データ入力部３１により受信された情報共有パラメータデータと、データ削減計算部３５によって破棄されていない情報共有パラメータデータとを送信する。
【００７２】
また、パラメータ圧縮手段データベース５２は、特定種類の情報共有パラメータデータを細分類して特定種類の情報共有パラメータデータに複数のカテゴリーを定め、シミュレーション演算部ごとに、カテゴリー別の送信必要度を示す送信必要度情報を記憶している。
そして、パラメータ識別処理部５１は、データ入力部３１により特定種類の情報共有パラメータデータが入力された場合に、シミュレーション演算部ごとのカテゴリー別の送信必要度に応じてデータ圧縮を行う対象別型のデータ圧縮を選定する。
データ削減計算部３５は、パラメータ識別処理部５１により対象別型のデータ圧縮が選定された場合に、データ入力部３１により受信された特定種類の情報共有パラメータデータと、データ蓄積部３４に蓄積されている特定種類の情報共有パラメータデータとのうち、送信必要度情報に基づき、シミュレーション演算部ごとに、一定レベル以上の送信必要度を有するカテゴリーの情報共有パラメータデータのみを選択する。
そして、データ出力部３６は、圧縮情報共有パラメータデータとして、シミュレーション演算部ごとに、データ削減計算部３５により選択された情報共有パラメータデータを送信する。
【００７３】
また、本実施の形態では、時刻同期部３２は、シミュレーション時刻間の時刻差の度合いを判断し、パラメータ識別処理部５１は、時刻同期部３２により判断された時刻差の度合いに応じて、データ削減計算部３５によるデータ圧縮の度合いを判断する。
具体的には、パラメータ識別処理部５１は、時刻同期部３２により判断された時刻差の度合いが一定レベル以上である場合に、データ入力部３１により受信された情報共有パラメータデータをデータ蓄積部３４に蓄積させ、時刻同期部３２により判断された時刻差の度合いが一定レベル未満である場合に、データ削減計算部３５にデータ入力部３１により受信された情報共有パラメータデータについてのデータ圧縮を行わせる。
【００７４】
次に動作について説明する。
まず各シミュレーション演算部１０、２０、４０はおのおのシミュレーション時刻を持ち、個々にモデル計算部１１、２１、４１でシミュレーションを行うとともに各シミュレーション演算部１０、２０、４０の間で情報を共有するパラメータデータを定義し分散してシミュレーションを実行する。
各シミュレーション演算部１０、２０、４０はモデル計算部１１、２１、４１で演算した結果からパラメータ生成部１３、２３、４３が適宜おのおののシミュレーション演算部１０、２０、４０で共有する必要のあるパラメータデータを抽出し、またシミュレーションの進行を同期するためのシミュレーション時刻を制御情報として組み込み、データ出力部１４、２４、４４から送信する。
【００７５】
同期データ制御部５０のデータ入力部３１は、受信した情報からシミュレーション時刻を抽出し、時刻同期部３２で各シミュレーション演算部１０、２０、４０のシミュレーション時刻の進み具合を監視する。
またパラメータデータを抽出し、パラメータ識別処理部５１でパラメータの種類ごとに圧縮型を識別する。
時刻同期部３２で、あるシミュレーション演算部におけるシミュレーション時刻の進行の遅れを検出したとき、パラメータデータをデータ蓄積部３４で蓄積し、進行の遅れているシミュレーション演算部への情報共有のための通知を一時保留し、そのシミュレーション演算部のモデル計算処理を軽くしてシミュレーションを進めさせる。
そして、新たに同期データ制御部５０のデータ入力部３１が情報を受信したときに、時刻同期部３２で各シミュレーション演算部１０、２０、４０の進み具合を見て、適当なときにパラメータ識別処理部５１にパラメータデータの圧縮型の分別と圧縮の計算を指示し、パラメータ識別処理部５１とデータ蓄積部３４からパラメータデータを受け取ったデータ削減計算部３５がパラメータデータを削減し、シミュレーション演算部１０、２０、４０がモデル計算に必要な情報を再生成して、シミュレーション演算部１０、２０、４０のデータ入力部１５、２５、４５に通知する。
【００７６】
またデータ入力部３１が情報を受信し、各シミュレーション演算部１０、２０、４０の進み具合を見て、パラメータデータを通知するのが適当でないとき、つまり例えば進行の遅れが大きいときは、さらにパラメータデータをデータ蓄積部３４で蓄積するとともに、また進行の遅れているシミュレーション演算部への情報共有のための通知を一時保留し、そのシミュレーション演算部１０、２０、４０のモデル計算処理を軽くしてシミュレーションを進めさせる。
【００７７】
パラメータデータとシミュレーション時刻に関する制御情報を受信したシミュレーション演算部１０、２０、４０はパラメータデータをモデル計算部１１、２１、４１に渡し、シミュレーション時刻の制御情報にあわせて時刻制御部１２、２２、４２がモデル計算部のシミュレーションを進行させる。
【００７８】
図１４は、同期データ制御部５０のデータ削減計算部３５がパラメータデータを削減する際に圧縮型の内容を設定するパラメータ圧縮手段データベース５２を説明している。
圧縮型は加算型（ａ）、平均型（ｂ）、省略型（ｃ）、対象別型（ｄ）がある。
その他の圧縮型をさらに登録してもよい。
【００７９】
加算型（ａ）は、データ蓄積部３４のパラメータデータ値をすべて加算し、新たに受信したパラメータデータ値をそれに加えて、再生成する。
平均型（ｂ）は、あらかじめデータの蓄積回数ごとにパラメータデータ値の重み付け係数を加重パラメータとして設定しておき、データ蓄積部３４のパラメータデータ値と、新たに受信したパラメータデータ値の加重平均を求めて、再生成する。
省略型（ｃ）は、データ蓄積部３４のパラメータデータ値はすべて廃棄し、新たに受信したパラメータデータ値のみを用いて、生成する。また、省略型（ｃ）の他の例として、データ蓄積部３４のパラメータデータ値をすべて破棄するのではなく、一部のみを破棄するようにしてもよい。
対象別型（ｄ）は、あらかじめシミュレーション演算部ごとにパラメータデータの種類別の情報必要度を設定しておき、データ蓄積部３４のパラメータデータ値と新たに受信したパラメータデータ値から、おのおののシミュレーション演算部に必要度の高いパラメータデータ値のみを用いて、再生成する。
換言すれば、対象別型（ｄ）では、対象別型（ｄ）が適用される特定種類のパラメータデータを更に細分類して複数のカテゴリーを定め、シミュレーション演算部ごとにカテゴリー別の情報必要度（送信必要度）をパラメータ圧縮手段データベース５２に設定しておき、シミュレーション演算部ごとに情報必要度に基づいて送信するパラメータデータを決定する。
なお、パラメータ圧縮手段データベース５２における対象別型（ｄ）の情報必要度を示す情報は、送信必要度情報の例である。
【００８０】
図１５〜図１７は、パラメータデータ削減圧縮動作例を示している。
図１５〜図１７における基本動作は、時刻同期部３２がシミュレーション演算部間のシミュレーション時刻の進行状況を判定した結果、各シミュレーション演算部間のシミュレーション時刻に遅れがなく、その時点でデータ蓄積部３４に、入力されたパラメータデータと同種類のパラメータデータが蓄積されていなければ、同期データ制御部５０は、入力されたパラメータデータを蓄積せずに、そのまま各シミュレーション演算部に出力する。他方、その時点でデータ蓄積部３４に、あるシミュレーション演算部に対して、入力されたパラメータデータと同種類のパラメータデータが蓄積されていれば、同期データ制御部５０は、入力したパラメータデータと蓄積されているパラメータデータとを用いてパラメータデータの圧縮を行って、圧縮後のパラメータデータを対象となるシミュレーション演算部に出力する。
また、パラメータデータの出力先のうち一つ以上のシミュレーション演算部においてシミュレーション時刻の小さな遅れがある場合は、その時点でデータ蓄積部３４に、入力されたパラメータデータと同種類のパラメータデータが蓄積されていなければ、同期データ制御部５０は、入力したパラメータデータを蓄積する。他方、その時点でデータ蓄積部３４に、遅れのあるシミュレーション演算部に対して、入力されたパラメータデータと同種類のパラメータデータが蓄積されていれば、同期データ制御部５０は、入力したパラメータデータと蓄積されているパラメータデータとを用いてパラメータデータの圧縮を行って、圧縮後のパラメータデータを対象となるシミュレーション演算部に出力する。
また、パラメータデータの出力先のうち一つ以上のシミュレーション演算部においてシミュレーション時刻の大きな遅れがある場合は、その時点でデータ蓄積部３４に、遅れのあるシミュレーション演算部に対して、入力されたパラメータデータと同種類のパラメータデータが蓄積されているかいないかに関わらず、同期データ制御部５０は、入力したパラメータデータを蓄積し、各シミュレーション演算部にパラメータデータは出力しない。
【００８１】
まず、図１５（ａ）を用いて、パラメータデータの圧縮が行われない例について説明する。
同期データ制御部５０は、各シミュレーション演算部の情報共有のための通知、パラメータデータとシミュレーション時刻の制御情報を入力すると、時刻同期部３２で通知したシミュレーション演算部のシミュレーション時刻を監視し、どのシミュレーション演算部もシミュレーション時刻がほぼ同一で時刻遅れの検出なしの場合は、パラメータ識別処理部５１は圧縮に関する処理を行わず、入力された通知をそのまま各シミュレーション演算部に出力する。
【００８２】
次に、図１５（ｂ）を用いて、加算型の圧縮の例について説明する。
時刻同期部３２で、あるシミュレーション演算部のシミュレーション時刻が遅れていることを検出した場合、言い換えれば入力されたシミュレーション時刻の制御情報の時間型のシミュレーション演算部のシミュレーション時刻より進んでいる場合、検出直後のパラメータデータはデータ蓄積部３４に保留し、遅れているシミュレーション演算部には情報共有のための通知を出力しない。遅れていないシミュレーション演算部に対しては、図１５（ａ）の処理が行われる。データ蓄積部３４では、パラメータデータの種類ごとに分類してパラメータデータを蓄積する。
そして、同期データ制御部５０が情報共有のための通知を入力したとき、時刻同期部３２でまだシミュレーション時刻の遅れを検出しているが遅れは小さい場合、パラメータ識別処理部５１は、入力したパラメータデータの圧縮型を判別し、入力したパラメータデータの圧縮型が例えば加算型であれば、パラメータデータと圧縮型が加算型である旨の通知をデータ削減計算部３５に渡し、データ削減計算部３５は、データ蓄積部３４から読み出した蓄積データ（加算型に対応する蓄積パラメータデータ）とパラメータ圧縮手段データベース５２に登録されている方法、例えば加算型は入力したパラメータデータと蓄積データを加算した値をパラメータデータとすることでパラメータデータを圧縮する。
圧縮されたパラメータはパラメータ通知再生成部５３でシミュレーション時刻の制御情報と組み合わされ、情報共有のための通知が出力される。
他方、時刻同期部３２で時刻遅れの検出がなされなかった場合もデータ蓄積部３４に蓄積データがあれば同様に、新たに入力されたパラメータデータとデータ蓄積部３４に蓄積されているパラメータデータを用いて圧縮を行う。パラメータ識別処理部５１は、圧縮型をデータ削減計算部に通知してもよいし、パラメータデータに圧縮型の情報を付与してもよい。
図１５（ｂ）の場合は、あるシミュレーション演算部についての小さい時刻遅れの検出後、再度小さい時刻遅れを検出したケースにおいて、蓄積データと新たに入力したパラメータデータによりパラメータデータの圧縮が行われているが、小さい時刻遅れが検出された後のパラメータデータの入力時には時刻遅れが検出されなかった場合にも蓄積データと新たに入力したパラメータデータによりパラメータデータの圧縮が行われる。なお、小さい時刻遅れが検出された後のパラメータデータの入力時に同じシミュレーション演算部で大きな時刻遅れが検出された場合は、後述するように、大きな時刻遅れが検出された際のパラメータデータはデータ蓄積部３４に蓄積され、当該シミュレーション演算部にパラメータデータは出力されない。
【００８３】
次に、図１６（ｃ）を用いて、平均型の圧縮の例について説明する。
時刻同期部３２で、あるシミュレーション演算部のシミュレーション時刻が遅れていることを検出した場合、圧縮直後のパラメータデータはデータ蓄積部３４に保留し、遅れているシミュレーション演算部には情報共有のための通知を出力しない。遅れていないシミュレーション演算部に対しては、図１５（ａ）の処理が行われる。データ蓄積部３４では、パラメータデータの種類ごとに分類してパラメータデータを蓄積する。
次に、同期データ制御部５０が情報共有のための通知を入力したとき、時刻同期部３２でまだシミュレーション時刻の遅れを検出しているが遅れは大きい場合、再度パラメータデータはデータ蓄積部３４に保留し、遅れているシミュレーション演算部には情報共有のための通知を出力しない。遅れていないシミュレーション演算部に対しては、図１５（ａ）の処理が行われる。
次に、同期データ制御部５０が情報共有のための通知を入力したとき、時刻同期部３２でまだシミュレーション時刻の遅れを検出しているが遅れは小さい場合、パラメータ識別処理部５１は、入力したパラメータデータの圧縮型を判別し、入力したパラメータデータの圧縮型が例えば平均型であれば、パラメータデータと圧縮型が平均型である旨の通知をデータ削減計算部３５に渡し、データ削減計算部３５は、データ蓄積部３４から読み出した蓄積データ（平均型に対応する蓄積パラメータデータ）とパラメータ圧縮手段データベース５２に登録されている方法、例えば平均型は入力したパラメータデータと蓄積データの加重平均値をパラメータデータとすることでパラメータデータを圧縮する。
圧縮されたパラメータはパラメータ通知再生成部５３でシミュレーション時刻の制御情報と組み合わされ、情報共有のための通知が出力される。
前述したように、時刻同期部３２で時刻遅れの検出がなされなかった場合もデータ蓄積部３４に蓄積データがあれば同様に、新たに入力されたパラメータデータとデータ蓄積部３４に蓄積されているパラメータデータを用いて圧縮を行う。パラメータ識別処理部５１は圧縮型をデータ削減計算部３５に通知してもよいし、パラメータデータに圧縮型の情報を付与してもよい。
また、小さい時刻遅れが検出された後のパラメータデータの入力時に同じシミュレーション演算部で大きな時刻遅れが検出された場合は、大きな時刻遅れが検出された際のパラメータデータはデータ蓄積部３４に蓄積され、当該シミュレーション演算部にパラメータデータは出力されない。
なお、この例では、平均型は入力したパラメータデータと蓄積データの加重平均値をパラメータデータとしているが、加重平均でない単純な平均値をパラメータデータとしてもよい。
【００８４】
次に、図１６（ｄ）を用いて、省略型の圧縮の例について説明する。
時刻同期部３２で、あるシミュレーション演算部のシミュレーション時刻が遅れていることを検出した場合、圧縮直後のパラメータデータはデータ蓄積部３４に保留し、遅れているシミュレーション演算部には情報共有のための通知を出力しない。遅れていないシミュレーション演算部に対しては、図１５（ａ）の処理が行われる。データ蓄積部３４では、パラメータデータの種類ごとに分類してパラメータデータを蓄積する。
次に、同期データ制御部５０が情報共有のための通知を入力したとき、時刻同期部３２でまだシミュレーション時刻の遅れを検出しているが遅れは小さい場合、パラメータ識別処理部５１は、入力したパラメータデータの圧縮型を判別し、入力したパラメータデータの圧縮型が例えば省略型であれば、パラメータデータと圧縮型が省略型である旨の通知をデータ削減計算部３５に渡し、データ削減計算部３５は、データ蓄積部３４から読み出した蓄積データ（省略型に対応する蓄積パラメータデータ）とパラメータ圧縮手段データベースに登録されている方法、例えば省略型は蓄積データを廃棄することでパラメータデータを圧縮する。
圧縮されたパラメータはパラメータ通知再生成部５３でシミュレーション時刻の制御情報と組み合わされ、情報共有のための通知が出力される。
前述したように、時刻同期部３２で時刻遅れの検出がなされなかった場合もデータ蓄積部３４に蓄積データがあれば同様に、新たに入力されたパラメータデータとデータ蓄積部３４に蓄積されているパラメータデータを用いて圧縮を行う。パラメータ識別処理部５１は圧縮型をデータ削減計算部３５に通知してもよいし、パラメータデータに圧縮型の情報を付与してもよい。
また、小さい時刻遅れが検出された後のパラメータデータの入力時に同じシミュレーション演算部で大きな時刻遅れが検出された場合は、大きな時刻遅れが検出された際のパラメータデータはデータ蓄積部３４に蓄積され、当該シミュレーション演算部にパラメータデータは出力されない。
【００８５】
次に、図１７（ｅ）を用いて、対象別型の圧縮の例について説明する。
時刻同期部３２で、あるシミュレーション演算部のシミュレーション時刻が遅れていることを検出した場合、圧縮直後のパラメータデータはデータ蓄積部３４に保留し、遅れているシミュレーション演算部には情報共有のための通知を出力しない。遅れていないシミュレーション演算部に対しては、図１５（ａ）の処理が行われる。データ蓄積部３４では、パラメータデータの種類ごとに分類してパラメータデータを蓄積する。
次に、同期データ制御部５０が情報共有のための通知を入力したとき、時刻同期部３２でまだシミュレーション時刻の遅れを検出しているが遅れは小さい場合、パラメータ識別処理部５１は、入力したパラメータデータの圧縮型を判別し、入力したパラメータデータの圧縮型が例えば対象別型であれば、パラメータデータと圧縮型が対象別型である旨の通知をデータ削減計算部３５に渡し、データ削減計算部３５は、データ蓄積部３４から読み出した蓄積データ（対象別型に対応する蓄積パラメータデータ）とパラメータ圧縮手段データベースに登録されている方法、例えば対象別型は入力したパラメータデータと蓄積データの中から情報必要度にあわせて、通知するパラメータデータをシミュレーション演算部ごとに選択することでパラメータデータを圧縮する。
圧縮されたパラメータはパラメータ通知再生成部でシミュレーション演算部ごとにシミュレーション時刻の制御情報と組み合わされ、情報共有のための通知が出力される。
例えば、対象別型のパラメータデータの種類が（Ｘ）である場合、当該種類（Ｘ）のパラメータデータは、例えば、（Ｘ１）、（Ｘ２）、（Ｘ３）の複数のカテゴリーに細分類される。そして、第一シミュレーション演算部１０はカテゴリー（Ｘ１）のパラメータデータに対してのみ情報必要度があり、第二シミュレーション演算部２０はカテゴリー（Ｘ２）のパラメータデータに対してのみ情報必要度があり、第Ｎシミュレーション演算部４０はカテゴリー（Ｘ３）のパラメータデータに対してのみ情報必要度がある場合に、データ蓄積部３４に蓄積されていたパラメータデータが（Ｘ１）カテゴリーであり、新たに入力されたパラメータデータが（Ｘ２）カテゴリーである場合は、第一シミュレーション演算部１０に遅れがある場合には、蓄積されていた（Ｘ１）カテゴリーのパラメータデータのみが出力される。第２シミュレーション演算部２０に遅れがある場合には、新たに入力された（Ｘ２）カテゴリーのパラメータデータのみが出力される。第Ｎシミュレーション演算部４０に遅れがある場合には、いずれのパラメータデータも出力されない。このように、対象別型の圧縮では、出力先となるシミュレーション演算部ごとに、出力されるパラメータデータが異なる。
なお、時刻同期部３２で時刻遅れの検出がなされない場合もデータ蓄積部３４に蓄積データがあれば同様に、新たに入力されたパラメータデータとデータ蓄積部３４に蓄積されているパラメータデータを用いて圧縮を行う。パラメータ識別処理部５１は圧縮型をデータ削減計算部３５に通知してもよいし、パラメータデータに圧縮型の情報を付与してもよい。
また、小さい時刻遅れが検出された後のパラメータデータの入力時に同じシミュレーション演算部で大きな時刻遅れが検出された場合は、大きな時刻遅れが検出された際のパラメータデータはデータ蓄積部３４に蓄積され、当該シミュレーション演算部にパラメータデータは出力されない。
【００８６】
以上のように、一部のシミュレーション演算部の負荷が高くシミュレーション時刻の進みが遅れる場合に、その入力パラメータデータが減るようにしているので、負荷が高い方のシミュレーション演算部の処理量を減らし、シミュレーション時刻の進みを早くすることができ、統合シミュレーションシステム全体の計算時間を効率よく加速することができる。
【００８７】
以上、本実施の形態では、情報共有パラメータデータを複数のシミュレーション演算部で通知しあいシミュレーション時刻を同期しながらシミュレートする分散シミュレーション環境において、情報共有パラメータデータに時刻を埋め込む機能と同期データ制御において情報共有パラメータデータのデータ削減に関する種別を判別する機能を有する統合シミュレーションシステムについて説明した。
【００８８】
また、本実施の形態では、情報共有パラメータデータのデータ削減に関する種別にあわせて複数のデータ削減に関する手法を備える統合シミュレーションシステムについて説明した。
【００８９】
また、本実施の形態では、複数の情報共有パラメータデータの通知におけるパラメータ値を加算することでパラメータデータを削減する統合シミュレーションシステムについて説明した。
【００９０】
また、本実施の形態では、複数の情報共有パラメータデータの通知における重み付けを設定する手段を備え、パラメータ値の加重平均値を生成することでパラメータデータを削減する統合シミュレーションシステムについて説明した。
【００９１】
また、本実施の形態では、複数の情報共有パラメータデータの通知における古いパラメータ値を廃棄することでパラメータデータを削減する統合シミュレーションシステムについて説明した。
【００９２】
また、本実施の形態では、複数の情報共有パラメータデータの通知における情報必要度を設定する手段を備え、通知先ごとにパラメータ値を分別することでパラメータデータを削減する統合シミュレーションシステムについて説明した。
【００９３】
また、本実施の形態では、複数の情報共有パラメータデータの通知に埋め込まれた時刻を監視し、シミュレーション演算部の時間進行の差に関する大きさを区分する手段を備え、時間進行の差ごとにパラメータデータを削減する情報共有パラメータデータの通知数を制御する統合シミュレーションシステムについて説明した。
【００９４】
ここで、実施の形態１〜４に示した第一シミュレーション演算部１０、第二シミュレーション演算部２０、同期データ制御部３０、５０、第Ｎシミュレーション演算部４０のハードウェア構成例について説明する。
【００９５】
図１２は、実施の形態１〜４に示す第一シミュレーション演算部１０、第二シミュレーション演算部２０、同期データ制御部３０、５０、第Ｎシミュレーション演算部４０のハードウェア資源の一例を示す図である。なお、図１２の構成は、あくまでも第一シミュレーション演算部１０、第二シミュレーション演算部２０、同期データ制御部３０、５０、第Ｎシミュレーション演算部４０のハードウェア構成の一例を示すものであり、第一シミュレーション演算部１０、第二シミュレーション演算部２０、同期データ制御部３０、５０、第Ｎシミュレーション演算部４０のハードウェア構成は図１２に記載の構成に限らず、他の構成であってもよい。
図１２において、第一シミュレーション演算部１０、第二シミュレーション演算部２０、同期データ制御部３０、５０、第Ｎシミュレーション演算部４０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００９６】
通信ボード９１５は、ネットワークに接続されていてもよい。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００９７】
上記プログラム群９２３には、実施の形態１〜４の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、実施の形態１〜４の説明において、「〜の判断」、「〜の通知」、「〜の比較」、「〜の抽出」、「〜の記録」、「〜の分類」「〜の圧縮」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１〜４で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００９８】
また、実施の形態１〜４の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１〜４の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１〜４の「〜部」の手順や方法をコンピュータに実行させるものである。
【００９９】
このように、実施の形態１〜４に示す第一シミュレーション演算部１０、第二シミュレーション演算部２０、同期データ制御部３０、５０、第Ｎシミュレーション演算部４０は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【０１００】
【図１】実施の形態１〜３に係る統合シミュレーションシステムの構成例を示す図。
【図２】実施の形態１に係る処理力同一時の同期動作例を示すシーケンス図。
【図３】実施の形態１に係る処理力差が大きい時の同期動作例を示すシーケンス図。
【図４】実施の形態２に係る時間進行要求時同期動作例を示すシーケンス図。
【図５】実施の形態３に係るパラメータデータからの時刻読み出しと時間進行要求通知による同期動作例を示すシーケンス図。
【図６】実施の形態１に係るシミュレーション演算部の動作例を示すフローチャート図。
【図７】実施の形態１に係る同期データ制御部の動作例を示すフローチャート図。
【図８】実施の形態２に係るシミュレーション演算部の動作例を示すフローチャート図。
【図９】実施の形態２に係る同期データ制御部の動作例を示すフローチャート図。
【図１０】実施の形態３に係るシミュレーション演算部の動作例を示すフローチャート図。
【図１１】実施の形態３に係る同期データ制御部の動作例を示すフローチャート図。
【図１２】実施の形態１〜３に係る第一シミュレーション演算部、第二シミュレーション演算部、同期データ制御部のハードウェア構成例を示す図。
【図１３】実施の形態４に係る統合シミュレーションシステムの構成例を示す図。
【図１４】実施の形態４に係るパラメータ圧縮手段データベースの格納例を示す図。
【図１５】実施の形態４に係るパラメータデータ削減圧縮動作例を示す図。
【図１６】実施の形態４に係るパラメータデータ削減圧縮動作例を示す図。
【図１７】実施の形態４に係るパラメータデータ削減圧縮動作例を示す図。
【符号の説明】
【０１０１】
１  統合シミュレーションシステム、１０  第一シミュレーション演算部、１１  モデル計算部、１２  時刻制御部、１３  パラメータ生成部、１４  データ出力部、１５  データ入力部、２０  第二シミュレーション演算部、２１  モデル計算部、２２  時刻制御部、２３  パラメータ生成部、２４  データ出力部、２５  データ入力部、３０  同期データ制御部、３１  データ入力部、３２  時刻同期部、３３  パラメータ分類処理部、３４  データ蓄積部、３５  データ削減計算部、３６  データ出力部、４０  第Ｎシミュレーション演算部、４１  モデル計算部、４２  時刻制御部、４３  パラメータ生成部、４４  データ出力部、４５  データ入力部、５０  同期データ制御部、５１  パラメータ識別処理部、５２  パラメータ圧縮手段データベース、５３  パラメータ通知再生成部。
【図１】
2008134993.tif 000003
【図２】
2008134993.tif 000004
【図３】
2008134993.tif 000005
【図４】
2008134993.tif 000006
【図５】
2008134993.tif 000007
【図６】
2008134993.tif 000008
【図７】
2008134993.tif 000009
【図８】
2008134993.tif 000010
【図９】
2008134993.tif 000011
【図１０】
2008134993.tif 000012
【図１１】
2008134993.tif 000013
【図１２】
2008134993.tif 000014
【図１３】
2008134993.tif 000015
【図１４】
2008134993.tif 000016
【図１５】
2008134993.tif 000017
【図１６】
2008134993.tif 000018
【図１７】
2008134993.tif 000019