いくつかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、「AAAテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「AAAテーブル」を「AAA情報」と呼ぶことができる。
図1は、実施例1に係る計算機システムの全体構成図である。
計算機システム1は、1以上の装置(Asset:アセットともいう)101と、ゲートウェイ(Gateway)103と、サーバ110と、データストア装置130と、バックアップ用データストア160とを備える。これらの構成間は、例えば、有線または無線のネットワークにより接続されている。アセット101は、サイズの小さいものから、サイズの大きいもの(建設機械)等を含んでもよく、アセット101は、例えば、機器、設備、デバイスと呼ばれるものも含んでよい。なお、Gateway103と、バックアップ用データストア160とは、計算機システム10に備えていなくてもよい。ここで、サーバ110と、データストア装置130とにより、データ管理システムが構成される。図1では、サーバ110と、データストア装置130とは、別体の構成となっているが、本発明はこれに限られず、サーバ110と、データストア装置130とを1つの計算機で構成してもよい。
Asset101は、例えば、1以上のデータソース102を備える。データソース102は、時系列データを逐次出力するセンサであってもよく、Asset101に対する各種操作ログを記憶する記憶装置であってもよい。
Gateway103は、Asset101のデータソース102と、サーバ110とを通信可能に接続する。例えば、Gateway103は、データソース102に新たなデータが発生した場合には、その旨をサーバ110に通知する機能や、サーバ110からのデータソース102の新たなデータの発生の問い合わせに対して応答する機能を有していてもよい。
サーバ110は、例えば、計算機(コンピュータ)で構成されており、CPU(Central Processing Unit)111と、メモリ120と、記憶デバイス112と、ネットワークアダプタ113とを備える。
CPU111は、メモリ120に格納されたプログラムを実行することにより各種処理を実行する。ネットワークアダプタ113は、サーバ110をネットワークに接続して、ネットワークを介して他の装置と通信可能にする。メモリ120は、例えば、RAM(Random Access Memory)で構成され、CPU111で実行されるプログラムや、CPU111で使用される各種データを記憶する。本実施形態では、メモリ120は、データ管理を行うためのデータ管理プログラム121と、データソース管理テーブル122と、アクション定義テーブル123とを記憶する。なお、データ管理プログラム121、データソース管理テーブル122、及びアクション定義テーブル123の詳細については後述する。記憶デバイス112は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の非一時的記憶デバイス(不揮発性記憶デバイス)であり、CPU111で実行されるプログラムや、各種情報を記憶する。
データストア装置130は、例えば、計算機で構成されており、CPU131と、メモリ132と、記憶デバイス134と、ネットワークアダプタ135とを備える。
CPU131は、メモリ132に格納されたプログラムを実行することにより各種処理を実行する。ネットワークアダプタ135は、データストア装置130をネットワークに接続して、ネットワークを介して他の装置と通信可能にする。メモリ132は、例えば、RAMで構成され、CPU131で実行されるプログラムや、CPU131で使用される各種データを記憶する。本実施形態では、メモリ132は、データストアを制御するデータストア制御プログラム133を記憶する。なお、データストア制御プログラム133については後述する。
記憶デバイス134は、例えば、HDD、SSD等の非一時的記憶デバイス(不揮発性記憶デバイス)であり、CPU131で実行されるプログラムや、各種情報を記憶する。本実施形態では、記憶デバイス134は、データストア140、及び管理データ150を保持する。データストア140には、1以上のデータソース102から取得した1以上のデータ141と、1以上のデータ141が纏められたカタログ142とが格納される。管理データ150には、活用度データ151、メタデータ152、及びカタログデータ153が格納される。
図2は、実施例1に係るデータ管理プログラムの機能ブロック図である。
データ管理プログラム121は、CPU111によって実行されることにより、データ取得部201と、活用度計算部202と、メタデータ管理部203と、アクション管理部204と、アクション実行部205と、評価値受付部の一例としてのカタログ管理部206と、入力受付部及び表示制御部の一例としてのデータ検索部207と、の各機能部を構成するプログラムが含まれている。なお、各機能部による処理については後述する。
次に、サーバ110のメモリ120に格納されているデータソース管理テーブル122について説明する。
図3は、実施例1に係るデータソース管理テーブルの構成図である。
データソース管理テーブル122は、1以上のAsset101におけるデータソース102を管理するテーブルであり、各データソース102に対応するエントリを格納する。データソース管理テーブル122のエントリは、データソースidカラム301と、データ区分カラム302と、データ種別/単位カラム303と、対応オブジェクトカラム304と、対象区間カラム305と、主成分分析対象データidカラム306と、計算実行契機カラム307とを含む。
データソースidカラム301には、エントリに対応するデータソースのid(Identifier)(データソースid)が格納される。データソースidとしては、単に英数字の羅列であっても良いが、データ利活用の容易性を考慮し、データソースの種類や名称を示す情報であってもよい。本実施例では、例えば、データソースidである[Asset1:Sensor1」は、idが「Asset1」のAsset101に搭載されている、idが「Sensor1」というセンサ102がデータソースであることを示している。
データ区分カラム302には、エントリに対応するデータソースの区分が格納される。データソースの区分としては、センサ等の測定値を示す「測定値」、Asset101に対して人手等により設定され、時間と共に変化することが無い一定の値を示す「セット値」、文字列であることを示す「文字列」、ラベルの値であることを示す「ラベル値」、バイナリの値であることを示す「バイナリ」等が存在する。
データ種別/単位カラム303には、エントリに対応するデータソースのデータのデータ種別及び単位が格納される。例えば、データが温度情報であり、かつ単位が摂氏であれば、データ種別/単位カラム303には、「‘Temperature’: ‘°C’」が格納される。対応オブジェクトカラム304には、エントリに対応するデータソースのデータについてのデータストア装置130内でのオブジェクトの識別子が格納される。
対象区間カラム305には、エントリに対応するデータソースのデータについて活用度を算出する後述する活用度算出処理の対象とする区間(対象区間)が格納される。対象区間の単位は、例えば、msec(ミリ秒)の単位としてもよい。例えば、対象区間が、3,600,000であれば、1時間ごとのデータを対象として、活用度算出処理が実行される。この対象区間カラム305の内容により、データリソース毎に活用度を算出する対象区間を適切に設定することができる。
主成分分析対象データidカラム306には、主成分分析における因子負荷量を算出する基準となるデータソースのデータのid(基準データid)が格納される。なお、主成分分析対象データidカラム306は、主成分分析による活用度計算を実施しない場合は必要ない。計算機実行契機カラム307には、活用度の計算を実行する契機(計算実行契機)が格納される。計算実行契機カラム307には、例えば、対象区間毎に活用度の計算を実行する場合には、「連続実行」が格納され、毎日0時に活用度算出処理を実行する場合には、「毎日00:00:00に実行」が格納される。なお、計算実行契機カラム307には、サーバ110及びデータストア装置130の負荷を考慮し、システムのリソースに余裕がある場合を契機とする指定を行ってもよく、システムの管理者の指示を契機とする内容を格納してもよい。なお、エントリに対応するデータソースが、活用度算出処理が不要であるものである場合には、計算実行契機カラム307に、算出対象外であることを示す「計算しない」などを格納してもよい。
次に、データストア装置130の記憶デバイス134に格納されている活用度データ151について説明する。
図4は、実施例1に係る活用度データの構成図である。
記憶デバイス134には、データソース102毎に対応する活用度データ151が保持されている。図4は、単一のデータソース「Asset1:Sensor1」の活用度データの例を示している。
活用度データ151は、対象区間ごとの活用度を示すエントリを含む。活用度データ151のエントリは、IDカラム401と、対象区間カラム402と、取得頻度カラム403と、欠損率カラム404と、変動率カラム405と、標準偏差カラム406と、因子負荷量カラム407と、他指標カラム408と、活用度カラム409とを含む。
IDカラム401には、エントリに対応するシリアルIDが格納される。対象区間カラム402には、対象区間に対応するデータをサンプリングした開始位置と終了位置との情報が格納される。本実施例では、開始位置と終了位置とは、時刻情報(例えば、年月日時分秒)となっている。
カラム403〜408は、対象区間カラム402に格納された対象区間においてサンプリングされたデータの内容(値)に基づいて計算された指標(統計情報等)が格納される。取得頻度カラム403には、エントリに対応するデータソースにおけるデータ取得頻度(例えば、回/sec)が格納される。欠損率カラム404には、エントリに対応するデータソースにおける不正な値の出現率(欠損率)が格納される。ここで、不正な値は、例えば、データがないもの、値なしを示す値(データが取得できなかったことを示す値)、センサで取得できない範囲の値を含んでもよい。変動率カラム405には、エントリに対応するデータソースにおけるデータの値の変動率が格納される。データの値の変動率の算出方法については後述する。標準偏差カラム460には、エントリに対応するデータソースにおけるデータの標準偏差が格納される。因子負荷量カラム407には、エントリに対応するデータソースに対応するデータソース管理テーブル122のエントリの基準データidに対応するデータについての因子負荷量が格納される。他指標カラム408には、その他の指標が格納される。その他の指標としては、例えば、データの平均値、最大値、最小値、欠損値が出現する間隔(欠損間隔)などがある。活用度カラム409には、エントリに対応する対象区間におけるデータについての活用度が格納される。格納される活用度の計算方法については後述する。
次に、データストア装置130の記憶デバイス134に格納されているメタデータ152について説明する。
図5は、実施例1に係るメタデータの構成図である。
記憶デバイス134には、データソース102毎に対応するメタデータ152が保持されている。図5は、単一のデータソース「Asset1:Sensor1」のメタデータの例を示している。図5に示すメタデータは、JSON(JavaScript Object Notation(JavaScriptは、登録商標))形式で記述された例となっている。
メタデータ152には、メタデータ152に対応するデータソースのデータについての「データソースid」と、「所有者」と、「作成日」と、「更新日」と、「最終アクセス日」と、「データ種類」と、「データ単位」と、「活用度」と、「補正済み」との項目が記述されている。なお、これら項目は必ずしもすべて必須ではない。また、これらの項目以外にも、データの利活用に有用な様々な項目をメタデータ152に追加してもよい。さらに、メタデータ152に対して新たな属性を随時追加可能としてもよい。
「データソースid」は、メタデータ152に対応するデータソースのデータソースidを示しており、具体的には、Assetの識別子を示す「アセットid」と、センサの識別子を示す「センサid」とで記述されており、図5の例では、「アセットid」が「Asset1」と記述され、「センサid」が、「Sensor1」と記述されている。
「所有者」は、メタデータ152に対応するデータソースのデータの所有者を示しており、図5の例では、「44123」という所有者idに対応するユーザが所有していることを示している。「作成日」は、メタデータ152に対応するデータソースのデータのオブジェクトの作成日を示している。「更新日」は、メタデータ152に対応するデータソースのデータのオブジェクトの更新日を示している。「最終アクセス日」は、メタデータ152に対応するデータソースのデータのオブジェクトにアクセスがあった最終日を示している。「データ種別」は、メタデータ152に対応するデータソースのデータの種別を示している。「データ単位」はメタデータ152に対応するデータソースのデータの単位を示している。「データ種別」と「データ単位」とは、データソース管理テーブル122から取得された値が設定される。「活用度」は、メタデータ152に対応するデータソースのデータの活用度を示している。「修正済み」は、データの補完処理等を実施したか否かを示している。データの補完処理等が実施された場合には、「修正済み」には、「Yes」が設定され、補完処理等が実施されていない場合は「No」が設定される。
次に、データストア装置130の記憶デバイス134に格納されているカタログデータ153について説明する。
図6は、実施例1に係るカタログデータの構成図である。
記憶デバイス134には、カタログ142毎に対応するカタログデータ153が保持されている。図6は、単一のカタログ「カタログ1」のカタログデータの例を示している。図6に示すカタログデータは、JSON形式で記述された例となっている。
カタログデータ153には、カタログデータ153に対応するカタログについての「カタログid」と、「作成者」と、「作成日」と、「更新日」と、「最終アクセス日」と、「評価」と、「データリスト」と、「作成者ロール」と、「説明」との項目が記述されている。なお、これら項目は必ずしもすべて必須ではない。また、これらの項目以外にも、データの利活用に有用な様々な項目をカタログデータ153に追加してもよい。さらに、カタログデータ153に、新たな属性を随時追加可能としてもよい。
「カタログid」は、カタログ142のidを示しており、図5の例では、「カタログid」が「Catalog1」と記述されている。
「作成者」は、カタログデータ153に対応するカタログ142の作成者を示しており、図6の例では、「3323」というidに対応するユーザが作成したことを示している。「作成日」は、カタログデータ153に対応するカタログ142の作成日を示している。「更新日」は、カタログデータ153に対応するカタログ142の更新日を示している。「最終アクセス日」は、カタログデータ153に対応するカタログ142にアクセスがあった最終日を示している。「評価」は、カタログデータ153に対応するカタログ142に対してデータ利活用に有効か否かを利用者が評価した結果を示している。「データリスト」は、カタログデータ153に対応するカタログ142に所属するデータソースのリストを示している。また、「データリスト」には、データソース以外のファイルやオブジェクトといったデータへの参照を含めることができる。図6では、「ファイル」として「filename1.aaa」等のファイル名が指定されている。「作成者ロール」は、カタログデータ153に対応するカタログ142の作成者のロール(役割)を示す。このロールの情報に基づいて、エキスパートが作成したカタログについては、カタログ管理部206が「評価」を自動的に加点するようにすることができる。「説明」は、カタログデータ153に対応するカタログ142の説明を示している。ユーザは、カタログ142を利用する際のこの説明を参考にすることができる。
次に、サーバ110のメモリ120に格納されているアクション定義テーブル123について説明する。
図7は、実施例1に係るアクション定義テーブルの構成図である。
アクション定義テーブル123は、活用度に関する条件を含む条件(アクション条件)に基づいて実行するアクション(処理動作)を管理するテーブルであり、条件及びアクションの組のそれぞれに対応するエントリを格納する。アクション定義テーブル123のエントリは、IDカラム701と、名称カラム702と、条件カラム703と、アクション内容カラム704と、判定タイミングカラム705とを含む。
IDカラム701には、アクション定義に対応するIDが格納される。名称カラム702には、エントリに対応するアクション定義の名称が格納される。条件カラム703には、エントリに対応するアクション定義のアクションを実行するための条件(アクション条件)が格納される。アクション条件としては、活用度に関する条件以外にも、データの統計情報に関する条件を含んでもよい。
アクション内容カラム704には、エントリに対応する条件カラム703のアクション条件に合致した場合に実行されるアクションの内容が格納されている。
判定タイミングカラム705には、エントリに対応する条件カラム703の条件の判定を実施するタイミングが格納されている。判定タイミングとしては、例えば、1日おき(毎日0時など)、1月おき、データ更新時等とすることができる。なお、サーバ110及びデータストア装置130の負荷を考慮し、システムのリソースに余裕がある場合を判定タイミングとして指定してもよく、システム(サーバ110及びデータストア装置130)の管理者の指示があった時点を判定タイミングとして指定してもよい。
アクション定義テーブル123の一つ目のエントリ(行)においては、アクション条件が、データ全体(すべての対象区間)に対して、最終更新日が1年以上前であり、かつ活用度が10以下であることとなっており、アクション内容が、対象データソースの1年分のデータをアーカイブのデータストアへ移動する処理を実施するものとなっている。このアクション定義によると、単に最終更新日時だけでなく、活用度を考慮して、データをアーカイブに移動することができる。
また、アクション定義テーブル123の二つ目のエントリ(行)においては、アクション条件が、最新対象区間のデータに対して、活用度が所定値(例えば、30)以下であり、且つ更新頻度が所定時間(1sec)以下であることとなっており、アクション内容が、この対象区間のデータの1sec毎の平均値を残して、この対象区間のデータをアーカイブへ移動する処理を実行するものとなっている。このアクション定義によると、活用度の低いデータについて、データを間引いて記憶しておくことができ、データストア140に記憶させておくデータのデータ量を低減することができる。
また、アクション定義テーブル123の3つ目のエントリ(行)においては、アクション条件が、活用度が50%以上且つ欠損率が所定値(5%)以下、且つ所定のデータソースの値が所定値以下出ることとなっており、アクション内容が、欠損値を前後値の平均値を算出して補完する処理を実行するものとなっている。このアクション定義によると、活用度が高いデータの欠損値を適切に補完することができる。なお、アクション条件に所定のデータソースの値が所定値以下との条件を含めなくてもよい。
次に、実施例1に係る計算機システム10における処理動作について説明する。
図8は、実施例1に係るメタデータ管理処理のフローチャートである。
メタデータ管理処理は、メタデータ管理部203によって実行される処理である。メタデータ管理処理は、例えば、定期的に行うようにしてもよい。
メタデータ管理部203は、データソース管理情報を取得する(ステップ2031)。データソース管理情報を入手する方法としては、例えば、図示しない外部システム等に存在する資産管理システム(EAM: Enterprise Asset Managementなど)や、定義ファイル等からインポートしたり、或いは、データソース管理情報をGUI経由でユーザから入手したりしてもよい。データソース管理情報としては、データソース管理テーブル122に登録する各種情報、例えば、データソースid、データ区分としての測定値またはセット値など、データ種別/単位、活用度の計算に必要となる対象区間、主成分分析を実施する場合に利用する基準データのid、活用度計算の計算実行契機等の情報である。
メタデータ管理部203は、取得したデータソース管理情報に基づいて、データソース管理テーブル122を更新する(ステップ2032)。
次いで、メタデータ管理部203は、データストア装置130のデータストア140に対して、ステップ2031でデータソース管理情報を取得した対象のデータソース(この処理の説明において、該当データソースという)に対応するオブジェクトを作成し、作成したオブジェクトのデータストア140における識別情報を、データソース管理テーブル122の該当データソースに対応するエントリの対応オブジェクトカラム304に保存する(ステップ2033)。ただし、すでにデータストア140に該当データソースに対応するオブジェクトが存在する場合には、オブジェクトを新たに作成する必要はない。
さらに、メタデータ管理部203は、該当データソースに対するメタデータ152を生成し、保存する(ステップ2034)。生成するメタデータ152は、図5に記載したようなメタデータである。図5に記載の内容に基づき説明すれば、「データソースid」、「データ種類」、および「データ単位」などは、データソース管理テーブル122から入手した情報を設定する。さらに、「作成日」について、オブジェクトを新規に作成した時刻を設定する。「更新日」や「最終アクセス日」については、データストア140が該当オブジェクトへの更新およびアクセスを検知して得られた情報に基づき更新する。「活用度」については、例えば、0.5などの所定のデフォルト値を設定する。「補正済み」について、作成直後は未補正を示す「No」を設定する。なお、他に有用な属性があれば、このステップの実行時に生成するようにすればよい。
図9は、実施例1に係るデータ取得処理のフローチャートである。
データ取得処理は、データ取得部201によって実行される処理である。データ取得処理は、例えば、データソース102において新たなデータが発生したことを検出した場合に実行される。データソース102において新たなデータが発生したことは、例えば、Gateway103から通知を受けるようにしてもよく、Gateway103に対して確認するようにしてもよい。また、データ取得部201は、複数のデータソース102からのデータを取得するために、複数のデータ取得処理を並行して実行するようにしてもよい。
データ取得部201は、Asset101のデータソース102からデータを取得する(ステップ2011)。次いで、データ取得部201は、取得したデータソース102(この処理の説明において該当データソースという)のデータに対して、該当データソースのidと、データソース管理テーブル122の内容とに基づき、該当データソースに対応するデータストア140のオブジェクトへの更新を指示する(ステップ2012)。次いで、データ取得部201は、該当データソースのメタデータ152の更新(例えば、「更新日」の更新等)を行う(ステップ2013)。
図10は、実施例1に係る活用度計算処理のフローチャートである。
活用度計算処理は、活用度計算部202によって実行される処理である。活用度計算処理は、例えば、定期的に実行される。活用度計算処理は、データソース管理テーブル122にエントリが登録されている各データソースを対象に実行される。
まず、活用度計算部202は、活用度計算の実行条件を確認する(ステップ2021)。具体的には、活用度計算部202は、データソース管理テーブル122の処理対象のデータソースに対応するエントリの計算実行契機カラム307の内容を確認する。
計算実行契機カラム307の内容は、「連続実行」や「毎日00:00:00に実行」などの条件であるが、サーバ110及びデータストア装置130の負荷を考慮し、システムリソースに余裕がある場合を契機とする方法や、システムの管理者の指示を契機とする方法を指定することも可能である。例えば、システムリソースに余裕がある場合は、活用度計算部202はシステムのリソース利用率などの情報をモニタし、システムの1つまたは複数のリソースの組み合わせが、一定の閾値以下であれば、活用度の計算(ステップ2023以降の処理)を実行するようにしてもよい。例えば、データストア140を稼動するハードウェア(本例では、データストア装置130)のCPU131の利用率が所定値以下(例えば、30%以下)であれば活用度の計算を実行するようにしてもよい。なお、該当データソースが活用度計算の対象外の場合、すなわち、データソース管理テーブル122の処理対象のデータソースに対応するエントリの計算実行契機カラム307の内容が計算しないである場合には、ステップ2023以降の処理は実行されない。
次いで、活用度計算部202は、ステップ2021で確認した活用度計算の実行条件に該当しているか否かを判定し(ステップ2022)、この結果、実行条件に該当していないと判定した場合(ステップ2022:No)には、条件の確認を継続するために処理をステップ2021に進める。
一方、実行条件に該当する場合(ステップ2022:Yes)には、活用度計算部202は、該当データソースの対象区間およびデータストア140の該当データソースに対応するオブジェクトの識別情報をデータソース管理テーブル122から取得し、該当データソースの取得した対象区間のデータ(以下、対象区間データ)を取得する(ステップ2023)。
次いで、活用度計算部202は、取得したデータに基づき活用度を計算し、計算で得られた活用度と関連情報とを活用度データ151として保持する(ステップ2024)。ここで、関連情報とは、例えば、活用度データ151のカラム401〜408に設定する情報である。
以下に、活用度計算部202による活用度の計算について具体的に説明する。以下の説明では、対象区画データを時系列データ(時刻と値との組み合わせの列)とし、かつ活用度データ151は、図4に示す内容であるものとする。
活用度計算部202は、以下の式(1)、(2)、(3)により取得頻度、欠損率、及び変動率を算出する。
取得頻度[回/sec]=1/対象区間データの或る時刻と次の時刻との差分の平均時間[s]・・・(1)
欠損率=対象区間データにおける不正な値の数/全データ列数・・・(2)
変動率=対象区間データのデータ列の時刻毎の値の差分/全データ列数・・・(3)
また、活用度計算部202は、対象区間データのデータ列の値に対して標準偏差、平均値、最大値、最小値、欠損間隔、及び因子負荷量を算出する。
欠損間隔は、不正な値を持つ時刻と、次に不正な値をもつ時刻との差分の平均値である。また、因子負荷量は、主成分分析を該当データソースのデータソース管理テーブル122の主成分分析対象データidカラム306にidが格納されているデータを対象として、同じAsset(データソースidがAsset1の装置)のデータソースを変数とした主成分分析を実施した場合の、該当データソースの因子負荷量である。
活用度計算部202は、上記に示した関連情報の少なくともいずれか1つを用いて活用度を計算する。活用度は、複数の活用度の計算方法の中からユーザにより選択されたものを使用するようにしてもよく、ユーザ自身が定義したものを使用するようにしてもよい。
例えば、データソースのうちセット値でないデータソース(データソース管理テーブル122のデータ区分カラム302がセット値ではないもの)について、値の変化が小さいデータソースの活用度を低くし、値が変化に富むデータソースの活用度を高くするようにする場合においては、例えば、式(4)により活用度を求めるようにしてもよい。
活用度=(α×変動率/β×取得頻度+γ)×標準偏差・・・(4)
ここで、α, β, γは、予め設定した定数である。
また、欠損率が小さいデータソースを選択しやすくする場合(すなわち、活用度を大きくする場合)には、式(4)の右辺に、(1−欠損率)を掛けるようにして、活用度を算出するようにしてもよい。
活用度計算部202は、関連情報と活用度を計算した後に、該当データソースの活用度データ151に、該当する対象区間、関連情報、及び活用度についての情報を追加・更新する。
次いで、活用度計算部202は、該当データソースの活用度データ151に保存された活用度に基づき、該当データソースのメタデータ152の活用度を更新する(ステップ2025)。ここで、本実施例では、メタデータ152の活用度は、例えば、該当データソースのすべての区間の活用度の平均値を算出したものとしている。なお、メタデータ152の活用度を最新の区間の活用度としてもよい。
次に、活用度計算部202による活用度の計算の具体例について説明する。
図11は、実施例1に係る活用度計算を説明する図である。
図11の例は、上記した式(3)により変動率を算出し、式(4)により活用度を算出した例である。なお、式(4)における定数α,β,γは、それぞれ1としている。
図11は、データソース1102(データソースAsset1:Sensor2)と、データソース1104(データソースAsset3:Sensor5)との時系列データに対して活用度を算出した例となっている。本例では、時系列データとして、時刻と、その時刻における値(例えば、センサーの測定値)との列のデータとしている。
データソース1102を対象に関連情報と活用度を計算すると、計算結果1103に示すように、標準偏差が0.35となり、取得頻度が0.5/secとなり、変動率が0.2となり、活用度が0.75となる。
一方、データソース1104を対象に関連情報と活用度を計算すると、計算結果1105に示すように、標準偏差が31となり、取得頻度が0.5/secとなり、変動率が20.7となり、活用度が72.3となる。
データソース1102と、データソース1104との活用度を比較すると、データソース1104の方が高い活用度となっている。すなわち、データソース1104の方がデータ分析の方がデータ分析に利用する際の有効性が高いことを示している。
なお、図11の例では、データソースのデータを時系列データとして説明したが、本発明はこれに限られず、例えば、キーとバリューとの組み合わせデータであれば、時系列データでなくてもよい。この場合には、取得頻度は算出できないが、キー値が一致しているデータ間であれば、キー値の差分を算出することで、同等の情報を取得することができる。また、対象区間については、キー値の範囲で指定すればよい。例えば、キー値がシーケンシャルな番号であれば、この番号に対する範囲で指定すればよい。
図12は、実施例1に係るアクション管理処理のフローチャートである。
アクション管理処理は、アクション管理部204によって実行される処理である。アクション管理処理は、例えば、定期的に行うようにしてもよい。
アクション管理部204は、アクション定義情報を取得する(ステップ2041)。アクション定義情報として取得する情報は、例えば、図7に示すアクション定義テーブル123に保持される情報(名称、条件、アクション内容、及び判定タイミング等)である。アクション定義情報は、例えば、アクション管理部204が所定の定義ファイルを読み込んで取得する場合や、UI(User Interface)を提供してユーザからの入力により取得する場合等がある。なお、アクション定義テーブル123を予め登録している場合には、取得しなくてもよい。
次いで、アクション管理部204は、ステップ2041で取得したアクション定義情報の内容に基づき、アクション定義テーブル123を更新する(ステップ2042)。
図13は、実施例1に係るアクション実行処理のフローチャートである。
アクション実行処理は、アクション実行部205によって実行される処理である。アクション実行処理は、例えば、定期的に行うようにしてもよい。
アクション実行部205は、アクション定義の判定タイミングを確認する(ステップ2051)。ここでは、アクション実行部205は、アクション定義テーブル123の判定タイミングカラム705に保存された各アクションの判定タイミングの情報を取得する。
次いで、アクション実行部205は、ステップ2051で取得した判定タイミングに該当するか否かを判定する(ステップ2052)。ここで、アクション定義テーブル123に複数のアクションに対応するエントリが登録されている場合には、各アクションのそれぞれを対象に、ステップS2052の判定が行われる。なお、該当アクションの実行が無効状態である場合(例えば、エントリの判定タイミングカラム705に無効が設定されている場合)には、アクション実行部205は、このアクションに対しては、ステップ2051及びステップ2052の処理を行わない。
ステップ2052の判定の結果、判定タイミングに該当しない場合(ステップ2052:No)には、アクション実行部205は、処理をステップ2051へ進める。
一方、判定タイミングに該当する場合(ステップ2052:Yes)には、アクション実行部205は、判定タイミングに該当したアクション定義の実行条件を確認する(ステップ2053)。ここでは、アクション実行部205は、アクション定義テーブル123の条件カラム703の設定内容を取得する。
次いで、アクション実行部205は、ステップ2053で取得した条件に該当するか否かを判定する(ステップ2054)。ここで、この判定においては、アクション実行部205は、各データソースのメタデータ152、活用度データ151、およびカタログデータ153の内容を参照すると共に、サーバ110やデータストア装置130の内部状況(システムリソース利用状況など)を参照して利用する。また、取得したデータソースのデータそのものについて、例えば、或るアクションの条件として「Asset1:Sensor3の最新の値が30以上」などの条件が記録されている場合には、アクション実行部205は、該当データソースの最新の値を参照して判定する。また、取得した条件に、「最新対象区間」などの条件が含まれている場合には、アクション実行部205は、該当データソースの活用度データ151の所定の対象区間における情報を、条件の判定に利用する。
ステップ2054の判定の結果、実行条件に該当していない場合(ステップ2054:No)には、アクション実行部205は、アクションを実行することなく処理を終了する。一方、ステップ2054の判定の結果、実行条件に該当する場合(ステップ2054:Yes)には、アクション実行部205は、該当アクション定義のアクション内容カラム704に設定されている内容のアクションを実行する(ステップ2055)。なお、アクション実行部205は、アクションを実行する際に、外部システムのAPIの呼び出し等を実行してもよい。
上記したように、アクション実行処理によると、活用度の条件を含むアクション条件を満たした場合に、条件に対応するアクションが実行される。したがって、データソースの活用度に従ってデータソースを適切に管理することができる。
図14は、実施例1に係るカタログ管理処理のフローチャートである。
カタログ管理処理は、カタログ管理部206によって実行される処理である。カタログ管理処理は、例えば、定期的に行うようにしてもよい。
カタログ管理部206は、カタログ定義を取得する(ステップ2061)。カタログ定義の取得方法としては、例えば、カタログの定義ファイルなどから読み込む方法や、UIなどを介してユーザによる入力から取得する方法がある。カタログ定義として取得する情報は、例えば、図6に示すカタログデータ153に含まれる「カタログid」の内容、「データリスト」におけるデータソースやファイル、「説明」の内容、「作成者」の内容、「作成者ロール」の内容等である。「作成者」の内容については、データ管理プログラム121の機能により、図示しないディレクトリサービスなどのユーザ管理機能と連携し、カタログを作成したユーザのidを取得する。また、「作成者ロール」については、ディレクトリサービスに保持されたユーザの役割に関する情報を取得する。「作成日」、「更新日」、「最終アクセス日」は、それぞれカタログの作成日、更新時、および利用時の時刻を取得する。
次いで、カタログ管理部206は、ステップ2061で取得したカタログ定義の情報に基づき、カタログデータ153に新しいカタログの追加、または既存カタログの更新を実施する(ステップ2062)。なお、カタログ管理部206は、カタログデータ153の「評価」については、カタログを新たに追加する際にはデフォルト値(例えば、最低1から最大5の範囲における中間値3)を設定している。
次いで、カタログ管理部206は、評価補正値を計算する(ステップ2063)。ここで、カタログ管理部206は。評価補正値を、例えば、該当カタログのカタログデータ153に基づき算出する。例えば、「管理者ロール」に対する補正値の対応表をカタログ管理部206が保持し、カタログ管理部206がその対応表に基づいて、「データサイエンティスト」であれば補正値を+1などとする。
次いで、カタログ管理部206は、該当カタログの「評価」と、ステップ2063で算出した評価補正値に基づき、該当カタログに属するデータソース群のメタデータ152に保持された活用度を更新する(ステップ2064)。本実施例では、カタログ管理部206は、カタログデータ153の「評価」の値に評価補正値を加算し、この結果を評価のデフォルト値(例えば、3)で割ったものを、該当カタログに属するデータソースのメタデータ152の「活用度」の値に掛け合わせたものを、メタデータ152おける新たな「活用度」として更新する。これにより、データソースのメタデータ152の活用度を、そのデータソースが属するカタログの評価値を反映された活用度に更新することができる。
図15は、実施例1に係るデータソース検索画面の一例を示す図である。
データソース検索画面1501は、データ検索部207によって提供されるユーザ向けのデータソース検索UIである。データソース検索画面1501は、ブラウザやクライアントアプリケーションまたはモバイル・タブレット向けアプリケーションなどで表示される。データ検索部207は、WEBサーバやアプリケーションサーバとして稼動する。
データソース検索画面1501は、検索キー入力領域1502と、検索ボタン1503と、詳細検索オプションボタン1504と、候補表示ボックス1505と、閉じるボタン1506とを含む。
検索キー入力領域1502は、データソースを検索するためのキーワードが入力可能な領域である。検索ボタン1503は、ユーザが検索を指示するためのボタンであり、検索ボタン1503が押下されると、検索キー入力領域1502に入力されたキーワードに基づいてデータソースの検索が行われ、検索結果(候補のデータソース)が候補表示ボックス1505に表示される。詳細検索オプションボタン1504は、押下されると、検索における詳細条件を選択するためのオプションが表示される。
候補表示ボックス1505は、検索結果を表示する領域である。本実施形態では、候補表示ボックス1505には、例えば、候補となるデータソースのデータソースidと、このデータソースに関連する情報(例えば、タグ)と、活用度と、詳細が表示される。関連する情報については、このデータソースのメタデータ152から取得することができる。本実施形態では、データ検索部207は、複数の候補のデータソースを表示する場合には、例えば、活用度により降順となるようにソートして表示させている。候補表示ボックス1505の詳細が選択されると、対応するデータソースのより詳細な情報が含まれている、このデータソースを取得するための画面が表示される。
閉じるボタン1506は、データソース検索画面1501を閉じるためのボタンであり、閉じるボタン1506が押下されると、データ検索部207は、データソース検索画面1501を閉じる。
図16は、実施例1に係るカタログ評価画面の一例を示す図である。
カタログ評価画面1601は、カタログ管理部206により表示される、カタログを利用したユーザに対して評価の入力を要求する画面である。カタログ評価画面1601は、ブラウザやクライアントアプリケーションまたはモバイル・タブレット向けアプリケーションなどで表示される。なお、図15に示したデータソースの検索と同様に、カタログをキーワード検索してカタログに関する情報を表示させるカタログ検索画面(図示せず)が用意されており、カタログ管理部206は、このカタログ検索画面でカタログが選択された場合に、カタログ評価画面1601が表示してもよく、或いは、使用したデータソースがカタログに属している場合に、そのカタログについてのカタログ評価画面1601を表示してもよい。
カタログ評価画面1601は、カタログ情報表示領域1602と、データ内容ボックス1603と、評価設定領域1604と、終了ボタン1605とを含む。
カタログ情報表示領域1602には、ユーザが利用したカタログの情報が表示される。カタログの情報は、このカタログのカタログデータ153の内容に基づいて表示される。データ内容ボックス1603には、このカタログに属するデータソースの一覧が表示される。データソースの一覧には、例えば、各データソースのデータソースidと、このデータソースに関連する情報(例えば、タグ)と、活用度と、詳細が表示される。データソースに関連する情報については、このデータソースのメタデータ152から取得することができる。
評価設定領域1604は、このカタログの評価を設定するための領域であり、例えば、ユーザが選択可能な5つの星形のボタンが表示されている。ユーザは、カタログの内容に応じて、選択する星形ボタンの数を変えることにより、カタログを5段階評価することができる。終了ボタン1605は、カタログの評価を終了するためのボタンであり、終了ボタン1605が押下されると、カタログ管理部206は、評価設定領域1604において評価した結果に基づいて、カタログデータ153の評価を更新する。
このカタログ評価画面1601によると、ユーザは、カタログを容易に評価することができる。また、カタログを評価することにより、データの活用度を適切に評価することができる。