(57)【要約】【課題】シミュレーション実行部の処理時間に影響を与えず、各地域で登録または更新されたモデルデータを自動的に他地域のモデルデータに適用する。【解決手段】モデル差分管理部２４０は、登録または更新されたモデルデータを自動的に他地域のシミュレーション装置に送信する。また、モデル差分管理部２４０は、他の各地域で登録または更新されたモデルデータを頻繁にモデルデータベース４００に対して即時適用するのではなく、一旦受信キュー管理部２４０ｅに格納し、シミュレーションの実行状態を監視し、シミュレーションが実行していないタイミングでモデルデータベース４００に対して、他の各地域で登録または更新されたモデルデータを遅延適用する。【選択図】図１
2008197785.tif 000002
【特許請求の範囲】
【請求項１】
他のシミュレーション装置と通信可能なシミュレーション装置であって、
シミュレーション用のモデルデータを格納するデータベースと、
前記データベース内のモデルデータに基づいてシミュレーションを実行するシミュレーション実行部と、
前記データベースに前記モデルデータを新たに格納して、または、前記データベース内の前記モデルデータを更新して、前記データベースを更新するモデル作成部と、
前記データベースの更新内容を特定する特定部と、
前記更新内容を前記他のシミュレーション装置に送信する送信部と、
前記他のシミュレーション装置から送信された更新内容を受信して格納する格納部と、
前記格納部内の更新内容に基づいて前記データベースを更新する更新部と、
前記シミュレーション実行部の動作状況に基づいて、前記更新部の動作タイミングを制御する制御部と、を含むシミュレーション装置。
【請求項２】
請求項１に記載のシミュレーション装置において、
前記特定部は、前記更新の前後の前記モデルデータの差分を表す差分データを、前記更新内容として特定する、シミュレーション装置。
【請求項３】
請求項１または２に記載のシミュレーション装置において、
前記制御部は、前記シミュレーション実行部が前記シミュレーションを実行していないときに、前記更新部を動作させる、シミュレーション装置。
【請求項４】
シミュレーション用のモデルデータを格納するデータベースを含み、他のシミュレーション装置と通信可能なシミュレーション装置が行うモデルデータ更新方法であって、
前記データベース内のモデルデータに基づいてシミュレーションを実行するシミュレーション実行ステップと、
前記データベースに前記モデルデータを新たに格納して、または、前記データベース内の前記モデルデータを更新して、前記データベースを更新するモデルデータ作成ステップと、
前記データベースの更新内容を特定する特定ステップと、
前記更新内容を前記他のシミュレーション装置に送信する送信ステップと、
前記他のシミュレーション装置から送信された更新内容を受信して格納する格納ステップと、
前記シミュレーションの動作状況に応じたタイミングで、前記データベースを前記格納された更新内容に基づいて更新する更新ステップと、を含むモデルデータ更新方法。
【請求項５】
請求項４に記載のモデルデータ更新方法において、
前記特定ステップでは、前記更新の前後の前記モデルデータの差分を表す差分データを、前記更新内容として特定する、モデルデータ更新方法。
【請求項６】
請求項４または５に記載のモデルデータ更新方法において、
前記更新ステップでは、前記シミュレーション実行部が前記シミュレーションを実行していないときに、前記データベースを前記格納された更新内容に基づいて更新する、モデルデータ更新方法。
【請求項７】
シミュレーション用のモデルデータを格納するデータベースを含み、他のシミュレーション装置と通信可能なコンピュータに
前記データベース内のモデルデータに基づいてシミュレーションを実行するシミュレーション実行手順と、
前記データベースに前記モデルデータを新たに格納して、または、前記データベース内の前記モデルデータを更新して、前記データベースを更新するモデルデータ作成手順と、
前記データベースの更新内容を特定する特定手順と、
前記更新内容を前記他のシミュレーション装置に送信する送信手順と、
前記他のシミュレーション装置から送信された更新内容を受信して格納する格納手順と、
前記シミュレーションの実行状況に応じたタイミングで、前記データベースを前記格納された更新内容に基づいて更新する更新手順と、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置、モデルデータ更新方法およびプログラムに関し、特に各地域で登録または更新されたモデルデータを自動的に他地域のモデルデータに適用できるシミュレーション装置、モデルデータ更新方法およびプログラムに関する。
【背景技術】
【０００２】
従来、複数のシミュレーション装置に同一のモデルデータを格納する場合、各地域で登録または更新されたモデルデータが電子媒体で配布され、各シミュレーション装置の使用者が、その電子媒体を用いて、そのモデルデータを、シミュレーション装置に登録している。
【０００３】
また、データベース技術として、マスターサイトのデータベースを定期的に自動コピーするスナップショットや複数あるマスターサイトのデータベースを双方向に自動更新しあうレプリケーションが一般的に知られている。
【０００４】
また、特許文献１には、ファイルサーバ間で、更新が行なわれたレコードのみを送受信して、ファイルサーバ間のファイル内容を一致させる分散ファイル更新システムが記載されている。
【特許文献１】特開２０００−６６９４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
第１の問題点は、従来のシミュレーション装置は、各地域で登録または更新されたモデルデータを自動的に他地域のモデルデータに適用する機能が無いことである。
【０００６】
その理由は、従来のシミュレーション装置は、シミュレーション装置の設置場所は１か所であるという想定の下で設計されており、複数の地域で使用された場合の地域間のデータ管理やネットワークについて何ら考慮されていないためである。
【０００７】
第２の問題点は、各地域で登録または更新されたモデルデータを他地域のモデルデータに即座に適用するにしても、モデルデータの伝播が頻繁に発生し、シミュレーション実行部の処理時間が遅くなり、シミュレーションの実行速度を示すゲーム率が悪くなることである。
【０００８】
その理由は、シミュレーション装置のモデルデータを管理しているモデルデータベースに対する入出力が集中し、シミュレーション実行部の入出力処理待ちが発生するためである。
【０００９】
本発明の目的は、各地域で登録または更新されたモデルデータを自動的に他地域のモデルデータに適用できるシミュレーション装置、モデルデータ更新方法およびプログラムを提供することにある。
【００１０】
本発明の他の目的は、各地域で登録または更新されたモデルデータを他地域のモデルデータに適用するタイミングを制御できるシミュレーション装置、モデルデータ更新方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明のシミュレーション装置は、他のシミュレーション装置と通信可能なシミュレーション装置であって、シミュレーション用のモデルデータを格納するデータベースと、前記データベース内のモデルデータに基づいてシミュレーションを実行するシミュレーション実行部と、前記データベースに前記モデルデータを新たに格納して、または、前記データベース内の前記モデルデータを更新して、前記データベースを更新するモデル作成部と、前記データベースの更新内容を特定する特定部と、前記更新内容を前記他のシミュレーション装置に送信する送信部と、前記他のシミュレーション装置から送信された更新内容を受信して格納する格納部と、前記格納部内の更新内容に基づいて前記データベースを更新する更新部と、前記シミュレーション実行部の動作状況に基づいて、前記更新部の動作タイミングを制御する制御部と、を含む。
【００１２】
また、本発明のモデルデータ更新方法は、シミュレーション用のモデルデータを格納するデータベースを含み、他のシミュレーション装置と通信可能なシミュレーション装置が行うモデルデータ更新方法であって、前記データベース内のモデルデータに基づいてシミュレーションを実行するシミュレーション実行ステップと、前記データベースに前記モデルデータを新たに格納して、または、前記データベース内の前記モデルデータを更新して、前記データベースを更新するモデルデータ作成ステップと、前記データベースの更新内容を特定する特定ステップと、前記更新内容を前記他のシミュレーション装置に送信する送信ステップと、前記他のシミュレーション装置から送信された更新内容を受信して格納する格納ステップと、前記シミュレーションの動作状況に応じたタイミングで、前記データベースを前記格納された更新内容に基づいて更新する更新ステップと、を含む。
【００１３】
上記発明によれば、データベースの更新内容が、他のシミュレーション装置に送信され、また、他のシミュレーション装置からの更新内容が、シミュレーションの実行状況に基づいたタイミングで、データベースに反映される。
【００１４】
このため、例えば、各地域で登録または更新されたモデルデータを自動的に他地域のモデルデータに適用でき、かつ、その適用タイミングを制御することが可能になる。
【００１５】
なお、前記特定部は、前記更新の前後の前記モデルデータの差分を表す差分データを、前記更新内容として特定することが望ましい。
【００１６】
上記発明によれば、更新内容として、更新前後のモデルデータの差分が用いられるため、更新内容のデータ量を少なくすることが可能になる。
【００１７】
また、前記制御部は、前記シミュレーション実行部が前記シミュレーションを実行していないときに、前記更新部を動作させることが望ましい。
【００１８】
上記発明によれば、データベースの更新に起因するシミュレーション実行部の処理待ちを回避でき、シミュレーション実行部の処理時間に影響を与えずにデータベースを更新できる。
【発明の効果】
【００１９】
第１の効果は、例えば、各地域で登録または更新されたモデルデータを自動的に他地域のモデルデータに適用できることにある。この結果、同一モデルについて全地域どこでも同一のシミュレーションが実行可能となり、同一のシミュレーション結果を得ることができるのである。
【００２０】
その理由は、更新されたデータベースの内容を、人手を介さず自動的に、他のモデルデータに反映するためである。
【００２１】
第２の効果は、シミュレーション実行部の処理時間に影響を与えず、データベースを更新できることにある。
【００２２】
その理由は、各地域で登録または更新されたモデルデータを頻繁にデータベースに対して即時適用するのではなく、通知された更新内容を一旦格納部に格納し、シミュレーションの実行状況に応じたタイミングで、更新内容をデータベースに対して遅延適用するためである。
【００２３】
この遅延適用の手段により、データベースに対する入出力が集中せず、シミュレーション実行部の入出力処理待ちを回避できるのである。
【発明を実施するための最良の形態】
【００２４】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２５】
図１は、本発明の一実施形態のシミュレーション装置１ないし３を示したブロック図である。シミュレーション装置１ないし３は、相互に通信可能である。シミュレーション装置１ないし３は、同一構成である。このため、以下では、シミュレーション装置１についてのみ説明する。
【００２６】
図１を参照すると、シミュレーション装置は、シミュレーションの対象であるモデルデータを入力する入力装置１００と、モデルデータをコンピュータ処理するデータ処理装置２００と、コンピュータの処理結果を出力する出力装置３００とを含む。
【００２７】
データ処理装置２００は、データベース格納部２１０と、モデル作成部２２０と、シミュレーション実行部２３０と、モデル差分管理部２４０とを含む。
【００２８】
モデル差分管理部２４０は、データベース操作文発行監視部２４０ａと、差分抽出部２４０ｂと、送信キュー管理部２４０ｃと、ネットワーク通信監視部２４０ｄと、受信キュー管理部２４０ｅと、差分更新部２４０ｆと、シミュレーション実行監視部２４０ｇと、を含む。データベース操作文発行監視部２４０ａと差分抽出部２４０ｂとで、特定部２４０ｉを構成する。
【００２９】
データベース格納部２１０は、モデルデータを有するモデルデータベース４００を格納する。モデルデータベース４００は、データベースの一例である。
【００３０】
モデル作成部２２０は、入力装置１００からモデルデータ２５０を受け付け、モデルデータ２５０をモデルデータベース４００に登録するか、または、モデルデータベース４００内のモデルデータをモデルデータ２５０に更新して、モデルデータベース４００を更新する。
【００３１】
シミュレーション実行部２３０は、モデル作成部２２０にて登録または更新されたモデルデータを組み合わせたシナリオデータ２６０を受け付け、シナリオデータ２６０に基づくシミュレーションを実行し、出力装置３００にシミュレーション結果データ２７０を出力する。
【００３２】
モデル差分管理部２４０は、モデル作成部２２０にて登録または更新されたモデルデータの差分データ（以下「モデル差分データ」と称する。）２８０を抽出し、モデル差分データ２８０を各地域のシミュレーション装置２および３に伝播し、モデルデータベース４００の更新内容を、各地域のモデルデータベースに適用する。
【００３３】
データベース操作文発行監視部２４０ａは、モデル作成部２２０から出力される信号内のデータベース専用プロトコルのポート番号（オラクルプロトコルの場合は、１５２１）から、モデル作成部２２０とモデルデータベース４００間のデータベース通信を特定し、その通信パケット内の、データベース操作文である登録操作文（文字列“ＩＮＳＥＲＴ  ＩＮＴＯ  〜  ＶＡＬＵＥ  〜  ．”）および更新操作文（文字列“ＵＰＤＡＴＥ  〜  ＳＥＴ  〜  ．”）を監視する。
【００３４】
差分抽出部２４０ｂは、データベース操作文発行監視部２４０ａがデータベース操作文を検出した場合、更新前後のモデルデータの差分を抽出し、その差分を表すモデル差分データを、更新内容として、送信キュー管理部２４０ｃに格納する。
【００３５】
送信キュー管理部２４０ｃは、送信部の一例であり、送信キュー管理部２４０ｃ内のモデル差分データを、他のシミュレーション装置（例えば、シミュレーション装置２および３）に送信する。
【００３６】
ネットワーク通信監視部２４０ｄは、シミュレーション装置１と、シミュレーション装置２および３との通信状態を監視する。
【００３７】
なお、送信キュー管理部２４０ｃは、ネットワーク通信監視部２４０ｄの監視結果が通信状態良好を示す場合、送信キュー管理部２４０ｃ内のモデル差分データを他のシミュレーション装置に送信する。
【００３８】
受信キュー管理部２４０ｅは、格納部の一例であり、他のシミュレーション装置から送信されたモデル差分データを受信して格納する。
【００３９】
差分更新部２４０ｆは、更新部の一例であり、受信キュー管理部２４０ｅ内のモデル差分データに基づいてモデルデータベース４００を更新する。
【００４０】
シミュレーション実行監視部２４０ｇは、制御部の一例であり、シミュレーション実行部２３０の動作状況を監視し、シミュレーション実行部２３０の動作状況に基づいて、差分更新部２４０ｆの動作タイミングを制御する。
【００４１】
例えば、シミュレーション実行監視部２４０ｇは、シミュレーション実行部２３０がシミュレーションを実行していないときに、差分更新部２４０ｆを動作させる。
【００４２】
特定部２４０ｉは、モデルデータベース４００の更新内容を特定する。
【００４３】
また、特定部２４０ｉは、更新前後のモデルデータの差分を表すモデル差分データを、更新内容として特定する。
【００４４】
また、特定部２４０ｉは、データベース専用プロトコルのポート番号から、モデルデータベース４００とモデル作成部２２０との通信を特定し、その通信に使用されている通信パケット内のデータベース操作文である登録操作文と更新操作文を監視し、その操作文を検知したときに、更新前後のモデルデータの差分を表すモデル差分データを、更新内容として特定する。
【００４５】
次に、動作を説明する。
【００４６】
図２は、シミュレーション装置の動作を説明するための説明図であり、図３は、シミュレーション装置の動作を説明するためのフローチャートである。なお、図２において、図１に示したものと同一のものには同一符号を付してある。
【００４７】
以下、図１のブロック図、図２の説明図および図３のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００４８】
まず、入力装置１００から入力されたモデルデータ２５０は、モデル作成部２２０によってモデルデータベース４００に登録されるか、または、モデルデータベース４００内のモデルデータの最新版として登録される。
【００４９】
その際、データベース操作文発行監視部２４０ａは、モデル作成部２２０から出力される信号内のデータベース専用プロトコルのポート番号に基づいて、モデル作成部２２０とモデルデータベース４００間のデータベース通信を特定する。
【００５０】
データベース操作文発行監視部２４０ａは、その通信パケット内の、データベース操作文（登録操作文および更新操作文）を監視する。
【００５１】
データベース操作文発行監視部２４０ａは、データベース操作文を検知したとき、そのデータベース操作文を差分抽出部２４０ｂに提供する。
【００５２】
差分抽出部２４０ｂは、データベース操作文を受け付けると、その操作文に基づいて、更新前後のモデルデータの差分を抽出し、その差分を示すモデル差分データ２８０を、更新内容として、送信キュー管理部２４０ｃに格納する。
【００５３】
次に、ネットワーク通信監視部２４０ｄは、各地域のシミュレーション装置とのネットワーク通信状態を判定する。例えば、ネットワーク通信監視部２４０ｄは、他のシミュレーション装置が問い合わせに対して応答する場合、通信状態良好と判定し、その応答がない場合、通信状態不良と判定する。
【００５４】
ネットワーク通信監視部２４０ｄは、その判定結果を、送信キュー管理部２４０ｃに提供する。
【００５５】
送信キュー管理部２４０ｃは、ネットワーク通信監視部２４０ｄの判定結果が通信状態良好を示し、一斉送信可能である場合、送信キュー管理部２４０ｃ内のモデル差分データ２８０を他のシミュレーション装置に送信する。
【００５６】
このため、モデル差分データ２８０は、他の全地域のシミュレーション装置に伝播され、各地域のシミュレーション装置の受信キュー管理部２４０ｅに格納される。
【００５７】
なお、ネットワーク通信監視部２４０ｄの判定結果が通信状態不良を示し、一斉送信不可能であれば、モデル差分管理部２４０は、出力装置３００にアラームメッセージを出力し、速やかなネットワーク通信の回復を促す。
【００５８】
次に、各地域のシミュレーション装置では、シミュレーション実行監視部２４０ｇが、シミュレーション実行部２３０のデータベースセッション情報５００（オラクルの場合は、Ｖ＄ＳＥＳＳＩＯＮ表）を参照し、シミュレーションの実行状態を判定する（ステップ２）。
【００５９】
シミュレーション実行監視部２４０ｇは、その判定結果を差分更新部２４０ｆに提供する。
【００６０】
その判定結果が、データベースセッションが存在しない、または、データベースセッションが存在するが未使用中ステイタス（シミュレーション実行部が実行していないことを意味する）、を示す場合、差分更新部２４０ｆは、受信キュー管理部２４０ｅに格納されているモデル差分データを１件取り出し（ステップ３）、モデルデータベース４００に差分適用し（ステップ４Ａ，４Ｂ，５Ａ，５Ｂ）、その後、受信キュー管理部２４０ｅに格納されているモデル差分データが無くなるまで１件ずつ全件取り出し（ステップ６）、モデルデータベース４００に差分適用してモデルデータベース４００を更新する。
【００６１】
一方、データベースセッションが存在し使用中ステイタスの場合（シミュレーション実行部が実行していることを意味する）、差分更新部２４０ｆは、差分適用せず動作を終了する。
【００６２】
シミュレーション実行監視部２４０ｇは、設定ファイルの実行周期に基づき繰り返し実行されるものであり、これによりモデルデータベース４００に対して差分適用するタイミングを制御する。
【００６３】
なお、各シミュレーション装置は、シミュレーション実行部２３０の処理時間は遅くなるが、各地域の管理者の判断によりシミュレーション実行中でもモデルデータベース４００を最新状態にデータ更新する強制更新（ステップ１）機能も有する。
【００６４】
次に、本実施の形態の効果について説明する。
【００６５】
本実施の形態では、モデルデータベース４００の更新内容が、他のシミュレーション装置に送信され、また、他のシミュレーション装置からの更新内容が、シミュレーションの実行状況に基づいたタイミングで、モデルデータベース４００に反映される。
【００６６】
このため、例えば、各地域で登録または更新されたモデルデータを自動的に他地域のモデルデータに適用でき、かつ、その適用タイミングを制御することが可能になる。
【００６７】
また、各地域で登録または更新されたモデルデータを頻繁にモデルデータベースに対して即時適用するのではなく、一旦受信キュー管理部２４０ｅに格納し、シミュレーションの実行状態を監視し、シミュレーションが実行していないタイミングでモデルデータベース４００に対して遅延適用する。このため、モデルデータベース４００に対する入出力が集中せず、シミュレーション実行部２３０の入出力処理待ちを回避できる。
【００６８】
また、更新内容として、更新前後のモデルデータの差分が用いられるため、更新内容のデータ量を少なくすることが可能になる。
【００６９】
以上説明した実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【００７０】
例えば、データ処理装置２００が、プログラムにしたがって動作する、格納部付きコンピュータによって実現されてもよい。
【００７１】
この場合、モデル作成部２２０、データベース格納部２１０（データベース４００）、シミュレーション実行部２３０、および、モデル差分管理部２４０は、シミュレーション装置１の動作を規定するプログラムを読み取り実行する、格納部付きコンピュータによって実現される。
【実施例】
【００７２】
次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。
【００７３】
図４に示すように、シミュレーション装置を東京と大阪と北海道のシミュレーションセンターにそれぞれ設置する。
【００７４】
東京のシミュレーションセンターで新たに登録されたモデルデータ１が大阪と北海道のシミュレーションセンターのシミュレーション非実行時に自動登録され、どの地域でもモデルデータ１についてのシミュレーションを実行可能とする。
【００７５】
また、大阪のシミュレーションセンターで既に登録されているモデルデータ２のモデル諸元データを更新した場合、東京と北海道のシミュレーションセンターのシミュレーション非実行時にモデルデータ２が自動更新され、どの地域でもモデルデータ２についての最新のモデル諸元データによるシミュレーションを実行可能とする。
【００７６】
実施例では、シミュレーション装置が３か所の地域に設置された例としているが、本シミュレーション装置を全国政令指定都市（１５か所）や全国都道府県（４７か所）に設置する大規模な地域分散型シミュレーション装置にも適用することができる。
（産業上の利用可能性）
本発明によれば、全国規模で同一モデルを用いたシミュレーション装置を実現するために有効であり、災害シミュレーション装置、気象シミュレーション装置、交通シミュレーション装置といった用途に適用できる。また、一般的なデータウェアハウス向けのデータベース処理装置の分散管理といった用途にも適用可能である。
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施形態のシミュレーション装置を示したブロック図である。
【図２】シミュレーション装置の動作を説明するための説明図である。
【図３】シミュレーション装置の動作を説明するためのフローチャートである。
【図４】本発明の一実施例のシミュレーション装置を示したブロック図である。
【符号の説明】
【００７８】
１、２、３  シミュレーション装置
１００、２００、３００  コンピュータ（入力装置；データ処理装置；出力装置）
２１０  データベース格納部
２２０  モデル作成部
２３０  シミュレーション実行部
２４０  モデル差分管理部
２４０ａ  データベース操作文監視部
２４０ｂ  差分抽出部
２４０ｃ  送信キュー管理部
２４０ｄ  ネットワーク通信監視部
２４０ｅ  受信キュー管理部
２４０ｆ  差分更新部
２４０ｇ  シミュレーション実行監視部
２５０  モデルデータ
２６０  シナリオデータ
２７０  シミュレーション結果データ
２８０  モデル差分データ
４００  モデルデータベース
【図１】
2008197785.tif 000003
【図２】
2008197785.tif 000004
【図３】
2008197785.tif 000005
【図４】
2008197785.tif 000006