Nothing Special   »   [go: up one dir, main page]

JP7121923B2 - データ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステム - Google Patents

データ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステム Download PDF

Info

Publication number
JP7121923B2
JP7121923B2 JP2018142850A JP2018142850A JP7121923B2 JP 7121923 B2 JP7121923 B2 JP 7121923B2 JP 2018142850 A JP2018142850 A JP 2018142850A JP 2018142850 A JP2018142850 A JP 2018142850A JP 7121923 B2 JP7121923 B2 JP 7121923B2
Authority
JP
Japan
Prior art keywords
data
simulation
simulator
algorithm
type
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.)
Active
Application number
JP2018142850A
Other languages
English (en)
Other versions
JP2020021172A (ja
Inventor
慶一 木佐森
義男 亀田
雄斗 小森
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.)
NEC Corp
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
NEC Corp
National Institute of Advanced Industrial Science and Technology AIST
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 NEC Corp, National Institute of Advanced Industrial Science and Technology AIST filed Critical NEC Corp
Priority to JP2018142850A priority Critical patent/JP7121923B2/ja
Publication of JP2020021172A publication Critical patent/JP2020021172A/ja
Application granted granted Critical
Publication of JP7121923B2 publication Critical patent/JP7121923B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステムに関する。
ネットワーク等を介して大量のデータを取得して、取得されたデータを用いて何らかの処理を行う技術がある。この技術に関連し、特許文献1は、大規模データから出現頻度の高い複合語を抽出する情報処理装置を開示する。特許文献1にかかる情報処理装置は、データ管理装置からブログテキストやWebページのデータといった大規模データを取得する。特許文献1にかかる情報処理装置は、大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する。そして、特許文献1にかかる情報処理装置は、抽出された文字群を所定の記憶領域に保持し、保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する。
特開2012-141783号公報
各種のシミュレーションを行う少なくとも1つのシミュレータから出力されるデータ(シミュレーションデータ)をデータベースに格納して統合的に管理することを想定する。このシミュレーションデータは、多種多様なものであって、そのデータ型も様々である。ここで、特許文献1にかかる技術では、取得される大規模データは、テキストデータ(文字列型)であることが前提となっている。したがって、特許文献1にかかる技術では、多種多様なデータ型のシミュレーションデータをデータベースに格納して一元管理する場合、データ型をユーザが指定した上で、データベースに格納する必要があった。
本開示の目的は、このような課題を解決するためになされたものであり、シミュレータから出力されたデータを自動的に一元管理することが可能なデータ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステムを提供することにある。
本開示にかかるデータ管理装置は、少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得するデータ取得手段と、前記データ取得手段によって取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するデータ型判定手段と、前記データ型判定手段によって判定されたデータ型に応じた管理方法で、前記第1のデータを管理するデータ管理手段とを有する。
また、本開示にかかるシミュレーションシステムは、シミュレーションを実行する少なくとも1つのシミュレータと、前記シミュレータによるシミュレーションに関する第1のデータを管理するデータ管理装置と、前記シミュレーションに関するパラメータを決定する演算装置とを有し、前記データ管理装置は、前記シミュレータから前記第1のデータを取得するデータ取得手段と、前記データ取得手段によって取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するデータ型判定手段と、前記データ型判定手段によって判定されたデータ型に応じた管理方法で、前記第1のデータを管理するデータ管理手段とを有し、前記演算装置は、前記データ管理手段によって管理された前記第1のデータを用いて、前記パラメータを決定し、前記シミュレータは、前記演算装置によって決定された前記パラメータを用いて、再度、前記シミュレーションを実行する。
また、本開示にかかるデータ管理方法は、少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得し、前記取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定し、前記判定されたデータ型に応じた管理方法で、前記第1のデータを管理する。
また、本開示にかかるプログラムは、少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得するステップと、前記取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するステップと、前記判定されたデータ型に応じた管理方法で、前記第1のデータを管理するステップとをコンピュータに実行させる。
本開示によれば、シミュレータから出力されたデータを自動的に一元管理することが可能なデータ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステムを提供できる。
本開示の実施の形態にかかるシミュレーションシステムの概要を示す図である。 実施の形態1にかかるシミュレーションシステムの構成を示す図である。 実施の形態1にかかるデータ管理装置の構成を示す図である。 実施の形態1にかかるシミュレータの構成を示す図である。 実施の形態1にかかる演算装置の構成を示す図である。 実施の形態1にかかるシミュレーションシステムにおける処理の流れを示すシーケンス図である。 実施の形態1にかかるデータ管理装置によって実行されるデータ管理方法を示すフローチャートである。 実施の形態1にかかるデータ管理装置によって行われるデータ型判定処理を示すフローチャートである。 実施の形態1にかかるデータ管理部におけるデータベースの階層構造を視覚的に例示した図である。
(本開示にかかる実施の形態の概要)
本開示の実施形態の説明に先立って、本開示にかかる実施の形態の概要について説明する。図1は、本開示の実施の形態にかかるシミュレーションシステム1の概要を示す図である。シミュレーションシステム1は、データ管理装置10と、少なくとも1つのシミュレータ20と、少なくとも1つの演算装置40とを有する。データ管理装置10、シミュレータ20及び演算装置40は、例えばコンピュータとしての機能を有する。
シミュレータ20は、シミュレーションを実行する。データ管理装置10は、シミュレータ20によるシミュレーションに関するシミュレーションデータ(第1のデータ)を管理する。演算装置40は、シミュレーションに関するパラメータを決定する。なお、演算装置40による演算処理は、例えば人工知能(AI;Artificial Intelligence)、データ同化、または、統計的な手法等を用いて実現され得るが、これに限定されない。
データ管理装置10は、データ取得部12と、データ型判定部14と、データ管理部16とを有する。データ取得部12は、データ取得手段として機能する。データ型判定部14は、データ型判定手段として機能する。データ管理部16は、データ管理手段として機能する。
データ取得部12は、シミュレータ20からシミュレーションデータを取得する。データ型判定部14は、データ取得部12によって取得されたシミュレーションデータに関する文字列に基づいて、シミュレーションデータのデータ型を判定する。ここで、「シミュレーションデータに関する文字列」とは、例えば、シミュレーションデータのデータファイルの拡張子、及び、シミュレーションデータに含まれる文字列(つまりシミュレーションデータの中身の文字列)を含むが、これに限定されない。データ管理部16は、データ型判定部14によって判定されたデータ型に応じた管理方法で、シミュレーションデータを管理する。ここで、データ型は、例えば、画像(バイナリ)型、文字列型及び数値型等を含むが、これらに限定されない。
演算装置40は、データ管理部16によって管理されたシミュレーションデータを用いて、シミュレーションに関するパラメータを決定する。シミュレータ20は、演算装置40によって決定されたパラメータを用いて、再度、シミュレーションを実行する。
上記のように、本実施の形態にかかるデータ管理装置10は、シミュレータ20から取得されたシミュレーションデータのデータ型を判定し、判定されたデータ型に応じた管理方法で、シミュレーションデータを管理する。これにより、本実施の形態にかかるデータ管理装置10は、多種多様なシミュレーションデータのデータ型を自動的に判定して、これらのシミュレーションデータを、そのデータ型に適した管理方法で管理することができる。したがって、本実施の形態にかかるデータ管理装置10は、シミュレータから出力された多種多様な形式のデータを自動的に一元管理することが可能となる。なお、データ管理装置10で実行されるデータ管理方法及びデータ管理方法を実行するプログラムを用いても、シミュレータから出力されたデータを自動的に一元管理することが可能となる。
さらに、データ管理装置10を有するシミュレーションシステム1では、シミュレーションデータが、そのデータ型に適した管理方法で管理される。これにより、データ管理装置10は、演算装置40等の他のノードによって効率的に利用可能な態様で、シミュレーションデータを管理することができる。したがって、演算装置40は、その演算(アルゴリズム)に適したデータ型のシミュレーションデータを用いて、シミュレーションに関するパラメータを、適切に決定することができる。したがって、本実施の形態にかかるシミュレーションシステム1は、シミュレータ20によるシミュレーションの精度を向上させることが可能となる。
(実施の形態1)
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
図2は、実施の形態1にかかるシミュレーションシステム1の構成を示す図である。シミュレーションシステム1は、ユーザインタフェース4(UI;User Interface)、シミュレータ20、データ管理装置100、演算装置40、データ除去装置60、ネットワークエッジ70、及びデータ監視装置80を有する。ユーザインタフェース4は、シミュレータ20と通信可能に接続されている。シミュレータ20、データ管理装置100、演算装置40、データ除去装置60、ネットワークエッジ70、及びデータ監視装置80は、インターネット等のネットワーク2を介して、互いに通信可能に接続されていてもよい。また、シミュレータ20、データ管理装置100、演算装置40、データ除去装置60、ネットワークエッジ70、及びデータ監視装置80は、プロセッサ、メモリ、I/O(Input/Output)、ユーザインタフェース等を有するコンピュータとしての機能を有しうる。
ユーザインタフェース4は、ユーザ、または、コンピュータ制御による操作に応じて、シミュレータ20に対して、自動でシミュレーションを実行する旨の指示を送信する。なお、ユーザインタフェース4によって送信される指示には、シミュレーションで使用されるモデルに入力される入力値(初期値)が含まれてもよい。
シミュレータ20は、ユーザインタフェース4からの指示に応じて、自動的にシミュレーションを実行する。シミュレータ20は、モデルに従いシミュレーションを行う。シミュレータ20は、実行されたシミュレーションに関するデータであるシミュレーションデータを、データ管理装置100に対して、自動的に送信する。シミュレータ20については、図4等を参照しながら後述する。ここで、「シミュレーションデータ」は、データファイルであって、モデルの入力値、シミュレーション結果を示すデータ、及び、モデルを示すデータを含み得る。なお、シミュレータ20は、例えばボット(Bot)等の自動化プログラムによって制御されてもよい。
データ管理装置100は、図1のデータ管理装置10に対応する。データ管理装置100は、データベースを有する。データ管理装置100は、上述したように、シミュレータ20から取得されたシミュレーションデータのデータ型を判定し、判定されたデータ型に応じた管理方法で、シミュレーションデータを管理する。データ管理装置100については、図3等を参照しながら後述する。なお、データ管理装置100は、複数のコンピュータ装置がネットワークで接続されて構成されたクラスタシステムで実現されてもよい。
演算装置40は、上述したように、データ管理装置100によって管理されたシミュレーションデータを用いて、例えば人工知能、データ同化、または、統計的な手法等により、シミュレータ20によって実行されるシミュレーションに関するパラメータを決定する。演算装置40については、図5等を参照しながら後述する。なお、「シミュレーションに関するパラメータ」は、モデルを記述する解析式(関数)、モデルを記述する解析式を構成する変数及び定数、モデルに入力される入力値、及びモデルの出力値を含み得る。シミュレータ20は、演算装置40によって決定されたパラメータを用いて、再度、シミュレーションを実行する。これにより、シミュレータ20によるシミュレーションの精度が向上し得る。
データ除去装置60は、データ管理装置100によって管理されるシミュレーションデータのうち、不要となるデータを除去する(データクレンジング)。例えば、データ除去装置60は、シミュレーションの精度の向上に寄与する可能性の低いデータを除去する。ここで、データ除去装置60は、例えば、機械学習によってシミュレーションデータを分析して、不要なデータを判定してもよい。演算装置40は、データクレンジングがなされたシミュレーションデータを取得し得る。
ネットワークエッジ70は、シミュレーションにて対象としている事象の、実際のデータ(実データ)を生成する。つまり、ネットワークエッジ70は、実データ生成装置としての機能を有する。なお、ネットワークエッジ70は、例えば、モデルを実装した実機、実機を観測しているセンサ、または、実機を監視している監視装置等であってもよい。ネットワークエッジ70は、生成された実データを、演算装置40に送信する。
データ監視装置80は、例えばブロックチェーンとしての機能を有し得る。データ監視装置80は、例えば、ウェブ(Web)等のネットワーク上のデータの整合性、及びデータの改ざんの防止等を管理する。
図3は、実施の形態1にかかるデータ管理装置100の構成を示す図である。データ管理装置100は、主要なハードウェア構成として、制御部102と、記憶部104と、通信部106と、インタフェース部108(IF;Interface)とを有する。制御部102、記憶部104、通信部106及びインタフェース部108は、データバスなどを介して相互に接続されている。
制御部102は、例えばCPU(Central Processing Unit)等のプロセッサである。制御部102は、制御処理及び演算処理等を実行する機能を有する。記憶部104は、例えばメモリ又はハードディスク等の記憶デバイスである。記憶部104は、例えばROM(Read Only Memory)又はRAM(Random Access Memory)等である。記憶部104は、制御部102によって実行される制御プログラム及び演算プログラム等を記憶するための機能を有する。また、記憶部104は、処理データ等を一時的に記憶するための機能を有する。記憶部104は、データベースを含み得る。
通信部106は、他の装置(例えばシミュレータ20及び演算装置40等)とネットワーク2を介して通信を行うために必要な処理を行う。通信部106は、通信ポート、ルータ、ファイアウォール等を含み得る。インタフェース部108は、例えばユーザインタフェース(UI;User Interface)である。インタフェース部108は、キーボード、タッチパネル又はマウス等の入力装置と、ディスプレイ又はスピーカ等の出力装置とを有する。インタフェース部108は、ユーザ(オペレータ)によるデータの入力の操作を受け付け、ユーザに対して情報を出力する。インタフェース部108は、データ管理装置100におけるデータベースの構造(階層)を示す図などを表示してもよい。
また、データ管理装置100は、データ格納部110、データ取得部112、データサイズ判定部114、及びメタデータ抽出部116を有する。また、データ管理装置100は、データ型判定部120、管理方法決定部130、データ管理部140、データ要求受信部150及びデータ送信部152を有する。以下、上述したデータ格納部110等を、「構成要素」と称することがある。データ格納部110、データ取得部112、データサイズ判定部114及びメタデータ抽出部116は、それぞれ、データ格納手段、データ取得手段、データサイズ判定手段及びメタデータ抽出手段として機能する。また、データ型判定部120、管理方法決定部130及びデータ管理部140は、それぞれ、データ型判定手段、管理方法決定手段及びデータ管理手段として機能する。また、データ要求受信部150及びデータ送信部152は、それぞれ、データ要求受信手段及びデータ送信手段として機能する。
また、データ取得部112は、図1に示したデータ取得部12に対応する。データ型判定部120は、図1に示したデータ型判定部14に対応する。データ管理部140は、図1に示したデータ管理部16に対応する。
なお、各構成要素は、例えば、制御部102の制御によって、プログラムを実行させることによって実現できる。より具体的には、各構成要素は、記憶部104に格納されたプログラムを、制御部102が実行することによって実現され得る。また、必要なプログラムを任意の不揮発性記録媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。また、各構成要素は、例えばFPGA(field-programmable gate array)又はマイコン(Micro Computer)等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。このことは、後述する他の装置(シミュレータ20及び演算装置40等)の構成要素についても同様である。
データ管理装置100の各構成要素の具体的な機能については後述する。なお、データ管理部140は、データベース(DB;database)として機能する。データ管理部140は、例えばHadoopに準拠し、データを分散処理可能に格納及び管理し得る。この場合、データ管理部140は、HDFS(Hadoop Distributed File System)で実現されてもよい。一方、データ格納部110は、ディレクトリとして機能する。データ格納部110は、データベースに格納されないデータ(例えば画像データ等)を格納する。なお、このデータ格納部110は、データ管理装置100と物理的に別個のストレージ装置として実現してもよい。
図4は、実施の形態1にかかるシミュレータ20の構成を示す図である。シミュレータ20は、主要なハードウェア構成として、制御部21と、記憶部22と、通信部23と、インタフェース部24とを有する。制御部21、記憶部22、通信部23及びインタフェース部24は、データバスなどを介して相互に接続されている。
制御部21は、例えばCPU等のプロセッサである。制御部21は、制御処理及び演算処理等を実行する機能を有する。記憶部22は、例えばメモリ又はハードディスク等の記憶デバイスである。記憶部22は、例えばROM又はRAM等である。記憶部22は、制御部21によって実行される制御プログラム及び演算プログラム等を記憶するための機能を有する。また、記憶部22は、処理データ等を一時的に記憶するための機能を有する。
通信部23は、他の装置とネットワーク2を介して通信を行うために必要な処理を行う。通信部23は、通信ポート、ルータ、ファイアウォール等を含み得る。インタフェース部24は、例えばユーザインタフェースである。インタフェース部24は、キーボード、タッチパネル又はマウス等の入力装置と、ディスプレイ又はスピーカ等の出力装置とを有する。インタフェース部24は、ユーザ(オペレータ)によるデータの入力の操作を受け付け、ユーザに対して情報を出力する。インタフェース部24は、シミュレーション結果を示す図などを表示してもよい。なお、図2に示したユーザインタフェース4は、インタフェース部24によって実現されてもよい。
また、シミュレータ20は、シミュレーション実行部26、シミュレーションデータ送信部28及びアルゴリズム実行結果受信部30を有する。シミュレーション実行部26は、例えば、シミュレーションA実行部26A、シミュレーションB実行部26B、シミュレーションC実行部26C、シミュレーションD実行部26D及びシミュレーションE実行部26Eを有してもよい。シミュレーション実行部26、シミュレーションデータ送信部28及びアルゴリズム実行結果受信部30は、それぞれ、シミュレーション実行手段、シミュレーションデータ送信手段及びアルゴリズム実行結果受信手段として機能する。シミュレーション実行部26、シミュレーションデータ送信部28及びアルゴリズム実行結果受信部30の動作については、後述する。
なお、シミュレータ20は、シミュレーションA実行部26A~シミュレーションE実行部26Eをそれぞれ有する、複数の物理的に別個の装置で構成されてもよい。また、シミュレーションA実行部26A~シミュレーションE実行部26Eは、それぞれ、互いに異なるシミュレーションA~Eを実行し得る。例えば、シミュレーションA実行部26Aは、シミュレーションAとして構造解析(強度解析)シミュレーションを実行してもよい。シミュレーションB実行部26Bは、シミュレーションBとして流体シミュレーションを実行してもよい。シミュレーションC実行部26Cは、シミュレーションCとして電磁界シミュレーションを実行してもよい。シミュレーションD実行部26Dは、シミュレーションDとして気象予報シミュレーションを実行してもよい。シミュレーションE実行部26Eは、シミュレーションEとして生産管理シミュレーションを実行してもよい。
図5は、実施の形態1にかかる演算装置40の構成を示す図である。演算装置40は、主要なハードウェア構成として、制御部41と、記憶部42と、通信部43と、インタフェース部44とを有する。制御部41、記憶部42、通信部43及びインタフェース部44は、データバスなどを介して相互に接続されている。制御部41、記憶部42、通信部43及びインタフェース部44の機能は、それぞれ、制御部21、記憶部22、通信部23及びインタフェース部24の機能と実質的に同様であるので、説明を省略する。
演算装置40は、アルゴリズム実行部46、シミュレーションデータ取得部48及びアルゴリズム実行結果送信部50を有する。アルゴリズム実行部46は、例えば、アルゴリズムA実行部46A、アルゴリズムB実行部46B及びアルゴリズムC実行部46Cを有してもよい。アルゴリズム実行部46、シミュレーションデータ取得部48及びアルゴリズム実行結果送信部50は、それぞれ、アルゴリズム実行手段、シミュレーションデータ取得手段及びアルゴリズム実行結果送信手段として機能する。アルゴリズム実行部46、シミュレーションデータ取得部48及びアルゴリズム実行結果送信部50の動作については、後述する。
なお、演算装置40は、アルゴリズムA実行部46A、アルゴリズムB実行部46B及びアルゴリズムC実行部46Cをそれぞれ有する、複数の物理的に別個の装置、または、仮想的に別個の装置で構成されてもよい。また、アルゴリズムA実行部46A、アルゴリズムB実行部46B及びアルゴリズムC実行部46Cは、それぞれ、互いに異なるアルゴリズムA~Cを実行し得る。また、アルゴリズムA~Cは、それぞれ、扱うことができるデータ型が異なり得る。
例えば、アルゴリズムA実行部46Aは、アルゴリズムAとして探索アルゴリズムを実行してもよい。アルゴリズムB実行部46Bは、アルゴリズムBとして学習アルゴリズムを実行してもよい。アルゴリズムC実行部46Cは、アルゴリズムCとしてデータ同化アルゴリズムを実行してもよい。探索アルゴリズムは、例えば、遺伝的アルゴリズム、焼きなまし法又はベイズ最適化等の、メタヒューリスティクスアルゴリズムであってもよい。学習アルゴリズムは、深層ニューラルネットワーク又はベイジアンニューラルネットワーク等であってもよい。データ同化アルゴリズムは、粒子フィルタ又はカルマンフィルタ等を用いたアルゴリズムであってもよい。
図6は、実施の形態1にかかるシミュレーションシステム1における処理の流れを示すシーケンス図である。まず、シミュレータ20は、シミュレーションを実行する(ステップS100)。具体的には、シミュレータ20のシミュレーション実行部26は、ユーザインタフェース4からの指示に応じて、シミュレーションを実行する。
そして、シミュレータ20のシミュレーションデータ送信部28は、シミュレーションの結果を含むシミュレーションデータ(Simデータ)を、データ管理装置100に送信する(ステップS112)。ここで、上述したように、シミュレータ20からデータ管理装置100に送信されるシミュレーションデータは、多種多様な形式のデータであり得る。データ管理装置100は、後述するように、シミュレーションデータを管理する(ステップS120)。
図7は、実施の形態1にかかるデータ管理装置100によって実行されるデータ管理方法(S120)を示すフローチャートである。データ取得部112は、シミュレータ20から、シミュレーションデータを取得する(ステップS122)。ここで、データ取得部112がシミュレータ20から受信するのは、シミュレーションデータの生データであり得る。シミュレーションデータの形式(データ型)は、シミュレーションごと(シミュレーションA~Eごと)に異なり得る。さらに、シミュレーションデータは、同じシミュレーションであっても、シミュレーションの段階に応じて異なり得る。したがって、データ取得部112は、多種多様な形式のシミュレーションデータ(生データ)を取得する。
次に、データサイズ判定部114は、S122で取得されたシミュレーションデータのデータサイズが、予め定められた閾値以上であるか否かを判定する(ステップS124)。ここで、閾値は、データ管理装置100によって管理されるデータ(管理データ)についてHadoop等により分散処理を行うときの、並行に処理を行う各リソースの容量に応じて定められる。例えば、閾値は数100メガバイトであるが、これに限られない。
シミュレーションデータ(生データ)のデータサイズが閾値以上でない(つまり閾値未満である)場合(S124のNO)、管理方法決定部130は、メタデータをデータベースに格納することで、このシミュレーションデータを管理すると決定する。メタデータは、シミュレーションデータに関連付けされているデータであり、例えば、該シミュレーションデータが格納されているファイル名、当該ファイルが作成された日時、または、当該データに含まれているキーワード等のデータである。したがって、メタデータ抽出部116は、このシミュレーションデータのメタデータを抽出する(ステップS126)。そして、データ管理部140(データベース)は、S126の処理で抽出されたメタデータを格納する(ステップS128)。このとき、データサイズが閾値未満であるシミュレーションデータは、ディレクトリであるデータ格納部110に格納される。これにより、データ管理部140は、メタデータを格納することで、データサイズが閾値以上でないシミュレーションデータを管理することとなる。
ここで、データサイズが閾値未満であるシミュレーションデータは、例えば、CSV(Comma Separated Value)データであり得る。また、S126の処理で抽出されるメタデータは、対応するシミュレーションデータがどのシミュレーションに関するものかを示す識別子を含んでもよい。また、このメタデータは、対応するシミュレーションデータが格納されたディレクトリの保存先パスを含んでもよい。また、データサイズが閾値未満であるシミュレーションデータのデータ型の判定は、ユーザがそのデータファイルを開くことで行ってもよいし、後述するデータ型判定処理(S130)を用いて行ってもよい。また、データサイズが閾値未満であるシミュレーションデータは、データ送信部152によって、判定されたデータ型に応じたアルゴリズム(アルゴリズムA~C)を実行するアルゴリズム実行部46の構成要素に対して送信され得る。
なお、このように、データサイズが閾値未満であるシミュレーションデータについて、メタデータを格納することにより管理するのは、処理の効率化のためである。つまり、データ管理部140(データベース)は、上述したように、分散処理に適用可能に構成され得る。したがって、データ管理部140にこのシミュレーションデータを格納してしまうと、並行処理を行う各リソースの容量よりもデータサイズが小さいにも関わらず、このシミュレーションデータについて分散処理が行われてしまう。小さいデータサイズの場合には分散処理によるオーバーヘッドが顕在化されてしまうため、高い分散効率を達成することが難しく、リソースを無駄に使用してしまっている可能性がある。したがって、データサイズが閾値未満であるシミュレーションデータについて、メタデータを格納することで管理することにより、リソースの無駄な使用を抑制することが可能となる。
一方、シミュレーションデータ(生データ)のデータサイズが閾値以上である場合(S124のYES)、データ管理装置100(データ型判定部120)は、そのシミュレーションデータのデータ型を判定する(ステップS130)。そして、データ管理部140は、S130の処理で判定されたデータ型に応じて、シミュレーションデータを管理する(ステップS150)。
図8は、実施の形態1にかかるデータ管理装置100によって行われるデータ型判定処理(S130)を示すフローチャートである。データ型判定部120は、シミュレーションデータのデータファイルの拡張子を判定する(ステップS132)。拡張子が「jpg」又は「png」等の、画像データ(バイナリデータ)に関するものである場合(S132の「画像データ」)、管理方法決定部130は、このシミュレーションデータを、画像型に応じた管理方法で管理すると決定する。この場合、管理方法決定部130は、そのシミュレーションデータを、データ管理部140に格納しないで、データ格納部110に画像として格納すると決定する。そして、管理方法決定部130は、画像であるシミュレーションデータのデータ格納部110における保存先のディレクトリのパス(保存先パス)をデータ管理部140が格納することで、そのシミュレーションデータを管理すると決定する。したがって、データ格納部110は、画像型であるシミュレーションデータを格納する。データ管理部140は、このシミュレーションデータの保存先パスを格納する(ステップS134)。これにより、データ管理部140は、画像型に応じた管理方法で、このシミュレーションデータを管理する(S150)。このように、データ型判定部120は、まず、シミュレーションデータのデータファイルの拡張子を判定することで、簡単に、データ型が画像型か否かを判定することが可能となる。
一方、拡張子が「csv」又は「txt」等の、アスキーデータ(テキストデータ)に関するものである場合(S132の「アスキーデータ」)、データ型判定部120は、このシミュレーションデータのデータ型が文字列型又は数値型であると判定する。そして、管理方法決定部130は、このシミュレーションデータを、文字列型又は数値型に応じた管理方法で管理すると決定する。この場合、まず、データ管理部140は、シミュレーションデータにおいて区切り文字(コンマ、タブ又はスペース等)で区切られたデータ(文字列又は数値)を文字列として一時的に格納する(ステップS136)。これにより、区切り文字で区切られたデータを管理することが容易となる。また、これにより、このデータを高速に読み出すことが可能となる。
データ型判定部120は、S136で格納されたデータに関するシミュレーションと同じシミュレーションが所定回数繰り返されることで、同じシミュレーションに関するデータが所定量格納されたか否かを判定する(ステップS138)。なお、シミュレータ20から取得されたシミュレーションデータにはシミュレーションを識別する識別子が付加されていてもよく、データ型判定部120は、その識別子を参照して、「同じシミュレーション」を判断してもよい。ここで、「所定量」とは、例えば、シミュレーションを100回繰り返すことによって得られるデータ量であるが、これに限定されない。所定量のデータが格納されていない場合(S138のNO)、S132及びS136の処理が繰り返される。
一方、所定量のデータが格納された場合(S138のYES)、データ型判定部120は、S136の処理で一時的に格納されたデータ(文字列)が数値として扱えるか否かを判定する(ステップS140)。具体的には、データ型判定部120は、格納された所定量のデータを全て和算することが可能か否かを判定する。データ型判定部120は、格納された所定量のデータを全て和算することが可能である場合、格納されたデータが数値として扱えると判定する。なお、格納された所定量のデータを全て和算することが可能であるか否かの判定は、一般的な表計算と同様の手法で行われてもよく、所定量のデータを全て和算できない場合は、エラー処理となる。また、S138の処理で所定量のデータが格納されたかを判定するのは、所定量のデータを格納しないと、和算できるか否かを判定できないからである。つまり、データ量が少ないと、格納されていたデータが偶然数字のみであった場合に、そのデータが本当に和算できるのか(数値として扱えるのか)判断できないからである。言い換えると、S138にかかる「所定量」は、S140の処理におけるデータの和算可能か否かの判断を確実に行うことができる程度に、予めユーザ等によって設定され得る。
格納されたデータが数値として扱えると判定された場合(S140のYES)、管理方法決定部130は、このシミュレーションデータを、数値型に応じた管理方法で管理すると決定する。したがって、データ管理部140は、上述した区切り文字で区切られたデータを、数値として格納する(ステップS142)。このとき、この数値に対して、桁数等に応じて整数型又は小数型(浮動小数点型等)の変換を行ってもよい。
一方、格納されたデータが数値として扱えないと判定された場合(S140のNO)、管理方法決定部130は、このシミュレーションデータを、文字列型に応じた管理方法で管理すると決定する。したがって、データ管理部140は、上述した区切り文字で区切られたデータを、文字列として格納する(ステップS144)。このように、データ型判定部120は、シミュレーションデータを構成するデータ(文字列)が数値として扱えるか否かを判定することで、シミュレーションデータのデータ型が文字列型であるか数値型であるかを、簡単且つ確実に判定することが可能となる。
図9は、実施の形態1にかかるデータ管理部140におけるデータベースの階層構造を視覚的に例示した図である。図9に示した例において、データ管理部140におけるデータベースは、階層#1~階層#3の3つの階層で構成されている。階層#1が最も上位の階層であり、階層#3が最も深い階層である。
階層#1は、シミュレーションの識別子であるシミュレーション名を格納する。図9の例では、シミュレーション名「XXXX」,「YYYY」及び「ZZZZ」等が格納されている。階層#2は、階層#1に示されたシミュレーション(図9の例では「XXXX」)に対応するシミュレーションデータの生データの保存先を格納する。具体的には、階層#2には、シミュレーション「XXXX」の実行日時と、そのときに実行されて得られたシミュレーションデータの生データの保存先パス#1とが対応付けられて格納されている。
階層#3は、階層#1に示されたシミュレーション(図9の例では「XXXX」)に対応するデータを格納する。つまり、階層#3に示されるデータは、データベース(データ管理部140)内のデータに対応する。例えば、階層#3には、「データ#1(画像)」の項目の列に、画像のデータ格納部110における保存先を示す「保存先パス#X」,「保存先パス#Y」,「保存先パス#Z」が格納されている。また、階層#3には、「データ#2(文字列)」の項目の列に、文字列「ABCDEF」,「DDEF」,「ADEF」が格納されている。また、階層#3には、「データ#3(数値)」の項目の列に、数値「1234」,「134」,「124」が格納されている。同様に、階層#3には、「データ#4(数値)」及び「データ#5(数値)」の項目の列に、数値が格納されている。
ここで、階層#3において、各行における各列のデータそれぞれは、互いに関連し得る。例えば、1つの行は、1回のシミュレーションで得られたデータに対応し得る。例えば、「データ#2」(1行目の例では「ABCDEF」)は、データ#1における保存先パス(1行目の例では「保存先パス#X」)で指定されたディレクトリに格納された画像の属性を示してもよい。また、「データ#3」(1行目の例では「1234)及び「データ#4」(1行目の例では「5678」)は、データ#1における保存先パス(1行目の例では「保存先パス#X」)で指定されたディレクトリに格納された画像の解像度を示してもよい。また、シミュレーションデータに画像が含まれていない場合、データ#1の項目は空欄であり得る。
説明は図6に戻り、演算装置40のシミュレーションデータ取得部48は、実行されるアルゴリズムに適合するデータ型のシミュレーションデータを、データ管理装置100に要求する(ステップS160)。例えば、アルゴリズムA実行部46AがアルゴリズムAを実行する場合、シミュレーションデータ取得部48は、アルゴリズムAに適合するデータ型のシミュレーションデータを要求する旨の指示(データ要求指示)を、データ管理装置100に送信する。データ管理装置100のデータ要求受信部150は、シミュレーションデータ取得部48によって送信されたデータ要求指示を受信する。
ここで、データ要求指示には、図9に示した、階層#3のデータ(図9の例ではデータ#1~5)を指定する情報が含まれ得る。例えば、アルゴリズムAに適合するデータ型が数値型である場合、アルゴリズムAが実行されるときに送信されるデータ要求指示は、データ#3,4,5の少なくとも1つを指定する。アルゴリズムBに適合するデータ型が画像型である場合、アルゴリズムBが実行されるときに送信されるデータ要求指示は、データ#1を指定する。アルゴリズムCに適合するデータ型が数値型である場合、アルゴリズムCが実行されるときに送信されるデータ要求指示は、データ#3,4,5の少なくとも1つを指定する。このように、演算装置40は、階層#3のデータの少なくともいずれかを指定することによって、シミュレーションデータを高速に取得することができる。
データ管理装置100は、データ要求指示に応じて、実行されるアルゴリズムに適合するデータ型のシミュレーションデータを、演算装置40に送信する(ステップS162)。具体的には、データ要求受信部150がデータ要求指示を受信すると、データ送信部152は、受信されたデータ要求指示で指定された階層#3のデータ(データ#1~#5等)を、演算装置40に送信する。これにより、シミュレーションデータ取得部48は、実行されるアルゴリズムに適合するデータ型のシミュレーションデータを取得する。
演算装置40は、取得されたシミュレーションデータを用いて、アルゴリズムを実行する(ステップS170)。これにより、アルゴリズム実行部46は、シミュレーションに関するパラメータを決定する。なお、アルゴリズム実行部46の処理の具体例については後述する。
そして、演算装置40のアルゴリズム実行結果送信部50は、アルゴリズムの実行結果を、シミュレータ20に送信する(ステップS180)。ここで、アルゴリズム実行結果は、決定されたパラメータを含む。シミュレータ20のアルゴリズム実行結果受信部30は、アルゴリズムの実行結果を受信する。このとき、アルゴリズム実行結果送信部50は、実行されたアルゴリズムによっては、データ管理装置100にアルゴリズムの実行結果を送信してもよい。
そして、S100~S180の処理が繰り返される。このとき、シミュレータ20は、受信されたアルゴリズムの実行結果に含まれるパラメータを用いて、再度、シミュレーションを実行する(S100)。具体例については後述する。
実施の形態1にかかるデータ管理装置100は、上述したように、シミュレータ20から取得したシミュレーションデータのデータ型を判定して、シミュレーションデータを管理している。これにより、実施の形態1にかかるデータ管理装置100は、シミュレータ20から出力されたデータを自動的に一元管理することが可能となる。したがって、他のノード(演算装置40等)は、データ管理装置100によって管理されたデータを効率的に使用することが可能となる。
特に、実施の形態1にかかる演算装置40は、上記のように管理されたシミュレーションデータを用いて、効率的に、シミュレータ20によるシミュレーションに関するパラメータを決定するように構成されている。これにより、演算装置40は、シミュレータ20におけるシミュレーションの精度を向上させることができる。言い換えると、実施の形態1にかかるシミュレーションシステム1は、データ管理装置100がシミュレータ20から出力されたデータを自動的に一元管理することにより、シミュレーションの精度を向上させることが可能となる。
例えば、アルゴリズムAに適合しているデータ型が「数値型」であり、アルゴリズムAは、シミュレーションA,B,Cのパラメータを決定し得るように構成されているとする。このケースにおいて、シミュレーションデータがデータ型に応じて管理されていないとすると、アルゴリズムA実行部46Aに誤って「画像型」のシミュレーションデータが入力されてしまう可能性がある。しかしながら、アルゴリズムA実行部46Aは「画像型」のシミュレーションデータを適切に処理できない。したがって、アルゴリズムA実行部46Aは、適切にアルゴリズムAを実行することができない。よって、シミュレーションA,B,Cのパラメータが適切に決定されないので、シミュレーションA,B,Cの精度を向上させることは困難である。
また、例えば、アルゴリズムBに適合しているデータ型が「画像型」であり、アルゴリズムBは、シミュレーションA,B,Cのパラメータを決定し得るように構成されているとする。このケースにおいて、シミュレーションデータがデータ型に応じて管理されていないとすると、アルゴリズムB実行部46Bに誤って「文字列型」のシミュレーションデータが入力されてしまう可能性がある。しかしながら、アルゴリズムB実行部46Bは「文字列型」のシミュレーションデータを適切に処理できない。したがって、アルゴリズムB実行部46Bは、適切にアルゴリズムBを実行することができない。よって、シミュレーションA,B,Cのパラメータが適切に決定されないので、シミュレーションA,B,Cの精度を向上させることは困難である。
また、例えば、アルゴリズムCに適合しているデータ型が「数値型」であり、アルゴリズムCは、シミュレーションD,Eのパラメータを決定し得るように構成されているとする。このケースにおいて、シミュレーションデータがデータ型に応じて管理されていないとすると、アルゴリズムC実行部46Cに誤って「画像型」のシミュレーションデータが入力されてしまう可能性がある。しかしながら、アルゴリズムC実行部46Cは「画像型」のシミュレーションデータを適切に処理できない。したがって、アルゴリズムC実行部46Cは、適切にアルゴリズムCを実行することができない。よって、シミュレーションA,B,Cのパラメータが適切に決定されないので、シミュレーションA,B,Cの精度を向上させることは困難である。
一方、実施の形態1にかかるデータ管理装置100は、上述したように、シミュレータ20から取得したシミュレーションデータのデータ型を判定して、シミュレーションデータを管理している。したがって、演算装置40は、適切に、アルゴリズムA,B,Cを実行することができる。上記の例では、アルゴリズムA実行部46Aは、「数値型」のシミュレーションデータを取得して、アルゴリズムAを実行できる。アルゴリズムB実行部46Bは、「画像型」のシミュレーションデータを取得して、アルゴリズムBを実行できる。アルゴリズムC実行部46Cは、「数値型」のシミュレーションデータを取得して、アルゴリズムCを実行できる。したがって、演算装置40は、適切に、シミュレータ20によるシミュレーションに関するパラメータを決定するように構成されている。これにより、演算装置40は、シミュレータ20におけるシミュレーションの精度を向上させることができる。
(アルゴリズムの具体例)
次に、演算装置40が探索アルゴリズムを実行する場合のシミュレーションシステム1の処理の具体例について説明する。
アルゴリズムA実行部46Aが、アルゴリズムAとして探索アルゴリズムを実行する。そして、アルゴリズムAが、シミュレーションA(構造解析シミュレーション)、シミュレーションB(流体シミュレーション)又はシミュレーションC(電磁界シミュレーション)に関するパラメータを決定するとする。以下の説明では、アルゴリズムA実行部46Aが、シミュレーションA(構造解析シミュレーション)に関するパラメータを決定する例について述べるが、シミュレーションB,Cについても同様である。
シミュレータ20は、シミュレーションAとして構造解析シミュレーションを実行し(S100)、シミュレーションデータをデータ管理装置100に送信する(S112)。データ管理装置100は、上述した方法で、シミュレーションデータを、データ型に応じて管理する(S120)。ここで、図9に例示した階層#3において、シミュレーションAに関するパラメータとして、シミュレーションAの入力(説明変数)である入力値X1及びシミュレーション結果(目的変数)である出力値Y1が、データ型に応じて管理され得る。つまり、シミュレーションデータには、入力値及び出力値が含まれている。なお、シミュレーションAの入力値は、設計パラメータであり得る。シミュレーションAの出力値は、強度であり得る。なお、入力値及び出力値は、複数の成分(次元)からなるベクトル形式であってもよい(後述する例においても同様)。ここで、入力値及び出力値のデータ型は、アルゴリズムA(探索アルゴリズム)に適したデータ型である。
アルゴリズムA実行部46Aが探索アルゴリズムを実行するとき、シミュレーションデータ取得部48は、シミュレーションAに対応するデータをデータ管理装置100に要求する(S160)。データ管理装置100(データ送信部152)は、シミュレーションAに関するパラメータとして、入力値X1及び出力値Y1を演算装置40に送信する(S162)。
そして、アルゴリズムA実行部46Aは、探索アルゴリズムを実行する(S170)。具体的には、アルゴリズムA実行部46Aは、メタヒューリスティクスアルゴリズム等の探索アルゴリズムを実行して、入力値X1及び出力値Y1から、より目的に近づくような(例えば、より高い強度となるような)出力が得られる入力値X2を探索する。そして、演算装置40(アルゴリズム実行結果送信部50)は、アルゴリズム実行結果として入力値X2を、シミュレータ20に送信する(S180)。シミュレータ20は、入力値X2を入力値として用いて、再度、構造解析シミュレーションを行う(S100)。このようにして、シミュレーションA実行部26Aは、効率的に、必要な強度条件を満たすような目的設計パラメータを探索することができる。
次に、演算装置40が学習アルゴリズムを実行する場合のシミュレーションシステム1の処理の具体例について説明する。
アルゴリズムB実行部46Bが、アルゴリズムBとして学習アルゴリズムを実行する。そして、アルゴリズムBが、シミュレーションA(構造解析シミュレーション)、シミュレーションB(流体シミュレーション)又はシミュレーションC(電磁界シミュレーション)に関するパラメータを決定するとする。以下の説明では、アルゴリズムB実行部46Bが、シミュレーションB(流体シミュレーション)に関するパラメータを決定する例について述べるが、シミュレーションA,Cについても同様である。
シミュレータ20は、シミュレーションBとして流体シミュレーションを実行する(S100)。このとき、流体シミュレーションで使用されるモデルf1を表す関数を、Y=f1(X)とする。ここで、入力値Xは、シミュレーションBの入力(説明変数)であり、出力値Yは、シミュレーション結果(目的変数)である。なお、シミュレーションBの入力値は、設計パラメータであり得る。シミュレーションBの出力値は、流速であり得る。
シミュレーションデータをデータ管理装置100に送信する(S112)。データ管理装置100は、上述した方法で、シミュレーションデータを、データ型に応じて管理する(S120)。ここで、図9に例示した階層#3において、シミュレーションBに関するパラメータとして、入力値X及び出力値Yが、データ型に応じて管理され得る。つまり、シミュレーションデータには、入力値及び出力値が含まれている。ここで、入力値及び出力値のデータ型は、アルゴリズムB(学習アルゴリズム)に適したデータ型である。そして、シミュレータ20は、複数回、シミュレーションBを実行して、学習アルゴリズムに必要な数のデータをデータ管理装置100に送信する。つまり、学習アルゴリズムを実行可能な量のデータが取得できるまで、S100~S120の処理が繰り返される。
アルゴリズムB実行部46Bが学習アルゴリズムを実行するとき、シミュレーションデータ取得部48は、シミュレーションBに対応するデータをデータ管理装置100に要求する(S160)。データ管理装置100(データ送信部152)は、シミュレーションBに関するパラメータとして、所定数の入力値X及び出力値Yの組を演算装置40に送信する(S162)。
そして、アルゴリズムB実行部46Bは、学習アルゴリズムを実行する(S170)。具体的には、アルゴリズムB実行部46Bは、ニューラルネットワーク等の学習アルゴリズムを実行して、多数の入力値X及び出力値Yの組から、より適した関数(解析式)f2(X)を決定する。そして、演算装置40(アルゴリズム実行結果送信部50)は、アルゴリズム実行結果として関数f2(X)を、シミュレータ20に送信する(S180)。シミュレータ20は、関数f2(X)をモデルとして用いて、再度、流体シミュレーションを行う(S100)。このようにして、シミュレーションB実行部26Bは、効率的に、必要な流速条件を満たすような目的設計パラメータを探索することができる。なお、学習アルゴリズムに上述した探索アルゴリズムを組み合わせてもよい。これにより、さらに効率的に、目的設計パラメータを探索することができる。
次に、演算装置40がデータ同化アルゴリズムを実行する場合のシミュレーションシステム1の処理の具体例について説明する。
アルゴリズムC実行部46Cが、アルゴリズムCとしてデータ同化アルゴリズムを実行する。そして、アルゴリズムCが、シミュレーションD(気象予報シミュレーション)又はシミュレーションE(生産管理シミュレーション)に関するパラメータを決定するとする。以下の説明では、アルゴリズムC実行部46Cが、シミュレーションE(生産管理シミュレーション)に関するパラメータを決定する例について述べるが、シミュレーションDについても同様である。なお、アルゴリズムCは、シミュレーションA(構造解析シミュレーション)、シミュレーションB(流体シミュレーション)又はシミュレーションC(電磁界シミュレーション)についてのパラメータを決定してもよい。
シミュレータ20は、シミュレーションEとして生産管理シミュレーションを実行する(S100)。このとき、生産管理シミュレーションで使用されるモデルを表す関数を、説明の明確化のため、単純にY=aX+bとする。ここで、入力値Xは、シミュレーションEの入力(説明変数)であり、出力値Yは、シミュレーション結果(目的変数)である。なお、シミュレーションEの入力値は、生産工程の順序又は設備数等の設計パラメータであり得る。シミュレーションEの出力値は、稼働時間又は稼働率等であり得る。シミュレーションEにおいて、モデルは、説明の便宜上、入力値Xと、出力値Yとの関係性を概念的に表している。この場合に、シミュレーションEは、必ずしも、モデルを明示的に取得するわけではない。また、モデルは、線形であるとは限らず、非線形であってもよい。
シミュレーションデータをデータ管理装置100に送信する(S112)。データ管理装置100は、上述した方法で、シミュレーションデータを、データ型に応じて管理する(S120)。ここで、図9に例示した階層#3において、シミュレーションEに関するパラメータとして、入力値X及び出力値Yが、データ型に応じて管理され得る。つまり、シミュレーションデータには、入力値及び出力値が含まれている。ここで、入力値及び出力値のデータ型は、アルゴリズムC(データ同化アルゴリズム)に適したデータ型である。また、このケースでは、データ管理装置100は、ネットワークエッジ70から実データ(x,y)も取得して、シミュレーションデータと同様に管理し得る。なお、入力値x及び出力値yは、それぞれ、入力値X及び出力値Yに対応する実データである。
アルゴリズムC実行部46Cがデータ同化アルゴリズムを実行してシミュレーションEに関するパラメータを決定するとき、シミュレーションデータ取得部48は、シミュレーションEに対応するデータをデータ管理装置100に要求する(S160)。データ管理装置100(データ送信部152)は、シミュレーションEに関するパラメータとして、シミュレーションデータ(X,Y)を演算装置40に送信する(S162)。さらに、データ管理装置100(データ送信部152)は、実データ(x,y)も演算装置40に送信する
そして、アルゴリズムC実行部46Cは、データ同化アルゴリズムを実行する(S170)。具体的には、アルゴリズムC実行部46Cは、カルマンフィルタ等を用いるデータ同化アルゴリズムを実行して、シミュレーションデータ(X,Y)と実データ(x,y)との誤差から、実データをより適切に再現する、関数Y=aX+bのパラメータa,bを決定する。そして、演算装置40(アルゴリズム実行結果送信部50)は、アルゴリズム実行結果としてパラメータa,bを、シミュレータ20に送信する(S180)。シミュレータ20は、パラメータa,bを用いた関数で表されるモデルを用いて、再度、生産管理シミュレーションを行う(S100)。このようにして、シミュレーションE実行部26Bは、効率的に、必要な条件を満たすような生産管理パラメータを推定することができる。
(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述したフローチャートにおいて、各処理(ステップ)の順序は、適宜、変更可能である。また、複数ある処理(ステップ)のうちの1つ以上は、省略されてもよい。
例えば、図7に示されたS124~S128の処理は、省略されてもよい。つまり、データサイズに関わらず、データ型の判別処理(S130)を行ってもよい。また、図8に示されたS138の処理がなくてもS140の処理が可能であれば、S138の処理はなくてもよい。
また、図2に記載された装置のうち、データ除去装置60、ネットワークエッジ70及びデータ監視装置80は、なくてもよい。一方、データ管理装置100によって管理されるデータを使用する装置は、演算装置40に限られない。例えば、シミュレータ20が、データ管理装置100によって管理されるデータを使用してもよい。あるいは、ネットワークエッジ70又はデータ監視装置80が、データ管理装置100によって管理されるデータを使用してもよい。
また、シミュレーションシステム1を構成する装置の少なくとも2つが、同じ装置で構成されてもよい。特に、シミュレータ20及び演算装置40は、物理的に一体となった装置で実現されてもよい。一方、シミュレーションシステム1を構成する装置の少なくとも1つは、複数の装置で構成されてもよい。
また、上述した実施の形態において、データ型判定部120は、図8に例示した方法でシミュレーションデータのデータ型を判定するとしたが、このような構成に限られない。例えば、データ型判定部120は、図8に例示した処理とは別の、何らかの機械学習アルゴリズム等を用いて、データ型を判定してもよい。
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得するデータ取得手段と、
前記データ取得手段によって取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するデータ型判定手段と、
前記データ型判定手段によって判定されたデータ型に応じた管理方法で、前記第1のデータを管理するデータ管理手段と
を有するデータ管理装置。
(付記2)
予め定められたアルゴリズムを用いて前記シミュレータで実行されるシミュレーションに関するパラメータを決定する少なくとも1つの演算装置に、前記データ管理手段によって管理された前記第1のデータのうち前記アルゴリズムに適合するデータ型の前記第1のデータを送信する送信手段
をさらに有する付記1に記載のデータ管理装置。
(付記3)
前記データ型判定手段は、前記第1のデータの拡張子を用いて、前記第1のデータのデータ型を判定する
付記1又は2に記載のデータ管理装置。
(付記4)
前記データ型判定手段は、前記第1のデータを構成する文字列が数値として扱えるか否かに応じて、前記第1のデータのデータ型を判定する
付記1~3のいずれか1項に記載のデータ管理装置。
(付記5)
前記第1のデータのサイズが予め定められた閾値以上であるか否かを判定するデータサイズ判定手段と、
前記第1のデータのサイズが前記閾値以上でない場合に、前記第1のデータのメタデータを抽出するメタデータ抽出手段と
をさらに有し、
前記データ管理手段は、前記メタデータを格納することで、サイズが前記閾値以上でない前記第1のデータを管理する
付記1~4のいずれか1項に記載のデータ管理装置。
(付記6)
シミュレーションを実行する少なくとも1つのシミュレータと、
前記シミュレータによるシミュレーションに関する第1のデータを管理するデータ管理装置と、
前記シミュレーションに関するパラメータを決定する演算装置と
を有し、
前記データ管理装置は、
前記シミュレータから前記第1のデータを取得するデータ取得手段と、
前記データ取得手段によって取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するデータ型判定手段と、
前記データ型判定手段によって判定されたデータ型に応じた管理方法で、前記第1のデータを管理するデータ管理手段と
を有し、
前記演算装置は、前記データ管理手段によって管理された前記第1のデータを用いて、前記パラメータを決定し、
前記シミュレータは、前記演算装置によって決定された前記パラメータを用いて、再度、前記シミュレーションを実行する
シミュレーションシステム。
(付記7)
前記データ型判定手段は、前記第1のデータの拡張子を用いて、前記第1のデータのデータ型を判定する
付記6に記載のシミュレーションシステム。
(付記8)
前記データ型判定手段は、前記第1のデータを構成する文字列が数値として扱えるか否かに応じて、前記第1のデータのデータ型を判定する
付記6又は7に記載のシミュレーションシステム。
(付記9)
前記第1のデータのサイズが予め定められた閾値以上であるか否かを判定するデータサイズ判定手段と、
前記第1のデータのサイズが前記閾値以上でない場合に、前記第1のデータのメタデータを抽出するメタデータ抽出手段と
をさらに有し、
前記データ管理手段は、前記メタデータを格納することで、サイズが前記閾値以上でない前記第1のデータを管理する
付記6~8のいずれか1項に記載のシミュレーションシステム。
(付記10)
少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得し、
前記取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定し、
前記判定されたデータ型に応じた管理方法で、前記第1のデータを管理する
データ管理方法。
(付記11)
予め定められたアルゴリズムを用いて前記シミュレータで実行されるシミュレーションに関するパラメータを決定する少なくとも1つの演算装置に、前記管理された前記第1のデータのうち前記アルゴリズムに適合するデータ型の前記第1のデータを送信する
付記10に記載のデータ管理方法。
(付記12)
前記第1のデータの拡張子を用いて、前記第1のデータのデータ型を判定する
付記10又は11に記載のデータ管理方法。
(付記13)
前記第1のデータを構成する文字列が数値として扱えるか否かに応じて、前記第1のデータのデータ型を判定する
付記10~12のいずれか1項に記載のデータ管理方法。
(付記14)
前記第1のデータのサイズが予め定められた閾値以上であるか否かを判定し、
前記第1のデータのサイズが前記閾値以上でない場合に、前記第1のデータのメタデータを抽出し、
前記メタデータを格納することで、サイズが前記閾値以上でない前記第1のデータを管理する
付記10~13のいずれか1項に記載のデータ管理方法。
(付記15)
少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得するステップと、
前記取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するステップと、
前記判定されたデータ型に応じた管理方法で、前記第1のデータを管理するステップと
をコンピュータに実行させるプログラム。
1 シミュレーションシステム
10 データ管理装置
12 データ取得部
14 データ型判定部
16 データ管理部
20 シミュレータ
26 シミュレーション実行部
28 シミュレーションデータ送信部
30 アルゴリズム実行結果受信部
40 演算装置
46 アルゴリズム実行部
48 シミュレーションデータ取得部
50 アルゴリズム実行結果送信部
100 データ管理装置
110 データ格納部
112 データ取得部
114 データサイズ判定部
116 メタデータ抽出部
120 データ型判定部
130 管理方法決定部
140 データ管理部
150 データ要求受信部
152 データ送信部

Claims (9)

  1. 少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得するデータ取得手段と、
    前記データ取得手段によって取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するデータ型判定手段と、
    前記データ型判定手段によって判定されたデータ型に応じた管理方法で、前記第1のデータを管理するデータ管理手段と
    予め定められたアルゴリズムを用いて前記シミュレータで実行されるシミュレーションに関するパラメータを決定する少なくとも1つの演算装置に、前記データ管理手段によって管理された前記第1のデータのうち前記アルゴリズムに適合するデータ型の前記第1のデータを送信する送信手段と
    を有するデータ管理装置。
  2. 少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得するデータ取得手段と、
    前記データ取得手段によって取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するデータ型判定手段と、
    前記データ型判定手段によって判定されたデータ型に応じた管理方法で、前記第1のデータを管理するデータ管理手段と、
    前記第1のデータのサイズが予め定められた閾値以上であるか否かを判定するデータサイズ判定手段と、
    前記第1のデータのサイズが前記閾値以上でない場合に、前記第1のデータのメタデータを抽出するメタデータ抽出手段と
    を有し、
    前記データ管理手段は、前記メタデータを格納することで、サイズが前記閾値以上でない前記第1のデータを管理する
    データ管理装置。
  3. 前記データ型判定手段は、前記第1のデータの拡張子を用いて、前記第1のデータのデータ型を判定する
    請求項1又は2に記載のデータ管理装置。
  4. 前記データ型判定手段は、前記第1のデータを構成する文字列が数値として扱えるか否かに応じて、前記第1のデータのデータ型を判定する
    請求項1~3のいずれか1項に記載のデータ管理装置。
  5. シミュレーションを実行する少なくとも1つのシミュレータと、
    前記シミュレータによるシミュレーションに関する第1のデータを管理するデータ管理装置と、
    前記シミュレーションに関するパラメータを決定する演算装置と
    を有し、
    前記データ管理装置は、
    前記シミュレータから前記第1のデータを取得するデータ取得手段と、
    前記データ取得手段によって取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するデータ型判定手段と、
    前記データ型判定手段によって判定されたデータ型に応じた管理方法で、前記第1のデータを管理するデータ管理手段と
    を有し、
    前記演算装置は、前記データ管理手段によって管理された前記第1のデータを用いて、前記パラメータを決定し、
    前記シミュレータは、前記演算装置によって決定された前記パラメータを用いて、再度、前記シミュレーションを実行する
    シミュレーションシステム。
  6. 少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得し、
    前記取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定し、
    前記判定されたデータ型に応じた管理方法で、前記第1のデータを管理し、
    予め定められたアルゴリズムを用いて前記シミュレータで実行されるシミュレーションに関するパラメータを決定する少なくとも1つの演算装置に、前記管理された前記第1のデータのうち前記アルゴリズムに適合するデータ型の前記第1のデータを送信する
    データ管理方法。
  7. 少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得し、
    前記取得された第1のデータのサイズが予め定められた閾値以上であるか否かを判定し、
    前記第1のデータのサイズが前記閾値以上でない場合に、
    前記第1のデータのメタデータを抽出し、
    前記メタデータを格納することで、サイズが前記閾値以上でない前記第1のデータを管理し、
    前記第1のデータのサイズが前記閾値以上である場合に、
    前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定し、
    前記判定されたデータ型に応じた管理方法で、前記第1のデータを管理する
    データ管理方法。
  8. 少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得するステップと、
    前記取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定するステップと、
    前記判定されたデータ型に応じた管理方法で、前記第1のデータを管理するステップと
    予め定められたアルゴリズムを用いて前記シミュレータで実行されるシミュレーションに関するパラメータを決定する少なくとも1つの演算装置に、前記管理された前記第1のデータのうち前記アルゴリズムに適合するデータ型の前記第1のデータを送信するステップと
    をコンピュータに実行させるプログラム。
  9. 少なくとも1つのシミュレータからシミュレーションに関する第1のデータを取得するステップと、
    前記取得された第1のデータのサイズが予め定められた閾値以上であるか否かを判定するステップと、
    前記第1のデータのサイズが前記閾値以上でない場合に、前記第1のデータのメタデータを抽出し、前記メタデータを格納することで、サイズが前記閾値以上でない前記第1のデータを管理するステップと、
    前記第1のデータのサイズが前記閾値以上である場合に、前記取得された前記第1のデータに関する文字列に基づいて、前記第1のデータのデータ型を判定し、前記判定されたデータ型に応じた管理方法で、前記第1のデータを管理するステップと
    をコンピュータに実行させるプログラム。
JP2018142850A 2018-07-30 2018-07-30 データ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステム Active JP7121923B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018142850A JP7121923B2 (ja) 2018-07-30 2018-07-30 データ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018142850A JP7121923B2 (ja) 2018-07-30 2018-07-30 データ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステム

Publications (2)

Publication Number Publication Date
JP2020021172A JP2020021172A (ja) 2020-02-06
JP7121923B2 true JP7121923B2 (ja) 2022-08-19

Family

ID=69589836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018142850A Active JP7121923B2 (ja) 2018-07-30 2018-07-30 データ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステム

Country Status (1)

Country Link
JP (1) JP7121923B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003177949A (ja) 2001-12-07 2003-06-27 Casio Comput Co Ltd 情報処理システム、および、プログラム
JP2006277125A (ja) 2005-03-28 2006-10-12 Casio Comput Co Ltd データファイル管理装置、データファイル管理方法、及びプログラム
WO2007072567A1 (ja) 2005-12-22 2007-06-28 Japan Agency For Marine-Earth Science And Technology 並列処理支援装置
JP2007188023A (ja) 2006-01-16 2007-07-26 Sony Computer Entertainment Inc シミュレータシステム
JP2008025111A (ja) 2006-07-18 2008-02-07 Mitsubishi Electric Corp 浄水又は下水の運用シミュレーション装置及び該装置用プログラム
JP2015158760A (ja) 2014-02-24 2015-09-03 株式会社リコー 端末装置、プログラム及びデータ受け渡し方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154136A (ja) * 1995-12-25 1998-06-09 Hitachi Ltd シミュレーションプログラムの実行支援方法およびプログラム割り当て方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003177949A (ja) 2001-12-07 2003-06-27 Casio Comput Co Ltd 情報処理システム、および、プログラム
JP2006277125A (ja) 2005-03-28 2006-10-12 Casio Comput Co Ltd データファイル管理装置、データファイル管理方法、及びプログラム
WO2007072567A1 (ja) 2005-12-22 2007-06-28 Japan Agency For Marine-Earth Science And Technology 並列処理支援装置
JP2007188023A (ja) 2006-01-16 2007-07-26 Sony Computer Entertainment Inc シミュレータシステム
JP2008025111A (ja) 2006-07-18 2008-02-07 Mitsubishi Electric Corp 浄水又は下水の運用シミュレーション装置及び該装置用プログラム
JP2015158760A (ja) 2014-02-24 2015-09-03 株式会社リコー 端末装置、プログラム及びデータ受け渡し方法

Also Published As

Publication number Publication date
JP2020021172A (ja) 2020-02-06

Similar Documents

Publication Publication Date Title
US20230289661A1 (en) Root cause discovery engine
US10705795B2 (en) Duplicate and similar bug report detection and retrieval using neural networks
US10521587B1 (en) Detecting code obfuscation using recurrent neural networks
CN110147357A (zh) 一种基于大数据环境下的多源数据聚合抽样方法及系统
CN113950665A (zh) 使用序列提取的机器人过程自动化(rpa)的过程理解
CN113609210A (zh) 基于人工智能的大数据可视化处理方法及可视化服务系统
US10726123B1 (en) Real-time detection and prevention of malicious activity
US20160092510A1 (en) Optimized storage solution for real-time queries and data modeling
US9891959B2 (en) Stage-aware performance modeling for computer cluster sizing
US12112155B2 (en) Software application container hosting
US10978054B1 (en) Utilizing machine learning models for determining an optimized resolution path for an interaction
JP6888737B2 (ja) 学習装置、学習方法、及びプログラム
JP7554194B2 (ja) 訓練装置、推定装置、訓練方法、推定方法、プログラム及びコンピュータ読み取り可能な非一時的記憶媒体
Akanbi Estemd: A distributed processing framework for environmental monitoring based on apache kafka streaming engine
US10248462B2 (en) Management server which constructs a request load model for an object system, load estimation method thereof and storage medium for storing program
Khan et al. Optimizing hadoop performance for big data analytics in smart grid
WO2016093839A1 (en) Structuring of semi-structured log messages
JP7121923B2 (ja) データ管理装置、データ管理方法及びプログラム、並びに、シミュレーションシステム
CN115349129A (zh) 生成具有不确定性区间的性能预测
US20230222385A1 (en) Evaluation method, evaluation apparatus, and non-transitory computer-readable recording medium storing evaluation program
Shang et al. A DP canopy k-means algorithm for privacy preservation of hadoop platform
US20220379919A1 (en) Parameter space optimization
Li et al. The extreme counts: modeling the performance uncertainty of cloud resources with extreme value theory
US10176441B2 (en) Intelligent spatial enterprise analytics
Westerlund et al. A generalized scalable software architecture for analyzing temporally structured big data in the cloud

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180810

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220616

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220721

R150 Certificate of patent or registration of utility model

Ref document number: 7121923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350