IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-17
(45)【発行日】2022-10-25
(54)【発明の名称】データ出力プログラム、装置、及び方法
(51)【国際特許分類】
   G06F 16/24 20190101AFI20221018BHJP
   G06F 16/2455 20190101ALI20221018BHJP
   G06F 16/28 20190101ALI20221018BHJP
   G06F 16/903 20190101ALI20221018BHJP
【FI】
G06F16/24
G06F16/2455
G06F16/28
G06F16/903
【請求項の数】 8
(21)【出願番号】P 2017242025
(22)【出願日】2017-12-18
(65)【公開番号】P2019109692
(43)【公開日】2019-07-04
【審査請求日】2020-09-11
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100079049
【弁理士】
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(74)【代理人】
【識別番号】100099025
【弁理士】
【氏名又は名称】福田 浩志
(72)【発明者】
【氏名】富田 匠
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2017-021634(JP,A)
【文献】特開2014-160513(JP,A)
【文献】国際公開第2017/047296(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
所定の条件を満たすことが既知の既知データを受け付け、
前記既知データとは異なる複数のデータから、前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方を、前記既知データと共に所定の用途に使用するための候補データとして抽出し、
抽出した候補データを出力する処理をコンピュータに実行させることを特徴とするデータ出力プログラムであって、
前記候補データとして、前記既知データの統計的分布において、出現頻度が所定の下限値以下の区間に属するデータを抽出するか、又は、
抽出された前記候補データから、前記既知データの統計的分布において、出現頻度が所定の上限値以上の区間に属するデータの一部を除外する、
データ出力プログラム
【請求項2】
前記既知データの各々は、1以上の項目を含み、
前記既知データと、前記項目の値として取り得る組み合わせを含む網羅データとの差分のデータ群から、前記候補データを抽出する
請求項1に記載のデータ出力プログラム。
【請求項3】
前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方のデータから、前記既知データとの予め定めた相関ルールの評価値に基づいて、前記候補データを抽出する請求項1又は請求項に記載のデータ出力プログラム。
【請求項4】
前記既知データは、テスト対象のシステムに入力された実データであり、
前記候補データとして、前記実データと共にテストデータとする候補のデータを抽出する
請求項1~請求項のいずれか1項記載のデータ出力プログラム。
【請求項5】
前記既知データは、入力データと比較を行う参照データとして記憶部に記憶されたデータであり、
前記記憶部を参照して、受け付けた前記入力データと前記参照データとを比較して、前記参照データと一致しない前記入力データから、前記候補データとして、前記参照データに追加する候補のデータを抽出する
請求項1~請求項のいずれか1項記載のデータ出力プログラム。
【請求項6】
出力した前記候補データに対して、ユーザから前記候補データを前記既知データに追加するか否かの指示を受け付け、
受け付けた前記指示に基づいて、前記候補データを前記既知データに追加するか否かを判定する
請求項1~請求項のいずれか1項記載のデータ出力プログラム。
【請求項7】
所定の条件を満たすことが既知の既知データを受け付け受付部と、
前記既知データとは異なる複数のデータから、前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方を、前記既知データと共に所定の用途に使用するための候補データとして抽出する抽出部と、
抽出した候補データを出力する出力部と、を含むデータ出力装置であって、
前記抽出部が、前記候補データとして、前記既知データの統計的分布において、出現頻度が所定の下限値以下の区間に属するデータを抽出するか、又は、抽出された前記候補データから、前記既知データの統計的分布において、出現頻度が所定の上限値以上の区間に属するデータの一部を除外する、
データ出力装置
【請求項8】
所定の条件を満たすことが既知の既知データを受け付け、
前記既知データとは異なる複数のデータから、前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方を、前記既知データと共に所定の用途に使用するための候補データとして抽出し、
抽出した候補データを出力する
処理をコンピュータが実行することを特徴とするデータ出力方法であって、
前記候補データとして、前記既知データの統計的分布において、出現頻度が所定の下限値以下の区間に属するデータを抽出するか、又は、
抽出された前記候補データから、前記既知データの統計的分布において、出現頻度が所定の上限値以上の区間に属するデータの一部を除外する、
データ出力方法
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ出力プログラム、データ出力装置、及びデータ出力方法に関する。
【背景技術】
【0002】
従来、データ群の中から、用途に応じた所定の条件を満たすデータを特定し、その用途に用いることが行われている。このようなデータとしては、例えば、システムのテストを行う場合のテストデータや、システム稼動時の異常をアノマリ検知するための参照データなどが挙げられる。
【0003】
上記のように、用途に応じたデータを用いる技術に関連して、様々な技術が提案されている。例えば、システムの状況を判断するコンピュータに適用される方法が提案されている。この方法は、システム中の複数の計測対象からそれぞれ計測データを受け取るステップと、各計測対象の複数の属性に対応する複数の分類に従い、各計測データと予め定められた演算アルゴリズムとに基づいて複数の異常値の集合を演算するステップとを含む。また、この方法は、複数の異常値の集合と予め定められた判断アルゴリズムとに基づいて、システムの状況を判断するステップを含む。
【0004】
また、外部ネットワーク及びLANと、情報処理装置との間に介在し、情報処理装置を不正な侵入から保護する学習型のネットワークセキュリティ装置が提案されている。この装置は、情報処理装置とLANとの間で授受される現行パケットを取り込むネットワークサービスポートの他に、学習ポートを設けている。また、この装置は、現行パケットの監視処理及び学習と並行して、過去にLANから捕捉されてパケット蓄積装置に蓄積された蓄積パケットを、学習ポートを介してネットワークセキュリティ装置に取り込んで学習する。
【先行技術文献】
【特許文献】
【0005】
【文献】国際公開2012/090718号
【文献】特開2007-096735号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
例えば、上記のテストデータとしては、実際にシステムで使用された実データを用いることが考えられる。また、上記のアノマリ検知のための参照データとしては、正常なデータ又は異常なデータとして既知のデータを用いることが考えられる。このような実データや既知のデータでは、テストデータや参照データとして必要なデータが漏れている可能性がある。
【0007】
一つの側面として、所定の用途に使用するデータを出力する際に、必要なデータの出力漏れを低減することを目的とする。
【課題を解決するための手段】
【0008】
一つの態様として、所定の条件を満たすことが既知の既知データを受け付ける。そして、前記既知データとは異なる複数のデータから、前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方を、前記既知データと共に所定の用途に使用するための候補データとして抽出し、抽出した候補データを出力する。
【発明の効果】
【0009】
一つの側面として、所定の用途に使用するデータを出力する際に、必要なデータの出力漏れを低減することができる、という効果を有する。
【図面の簡単な説明】
【0010】
図1】第1実施形態に係るデータ出力装置の機能ブロック図である。
図2】実データ群に追加するデータを説明するための図である。
図3】網羅データの作成を説明するための図である。
図4】候補データの抽出を説明するための図である。
図5】候補データの抽出を説明するための図である。
図6】追加可否確認画面の一例を示す図である。
図7】出力されるテストデータ群の一例を示す図である。
図8】出力されるテストデータ群をツリー構造で表した図である。
図9】第1実施形態に係るデータ出力装置として機能するコンピュータの概略構成を示すブロック図である。
図10】第1実施形態におけるデータ出力処理の一例を示すフローチャートである。
図11】第2実施形態に係るデータ出力装置の機能ブロック図である。
図12】出力するアノマリ検知データを説明するための図である。
図13】第2実施形態に係るデータ出力装置として機能するコンピュータの概略構成を示すブロック図である。
図14】第2実施形態におけるデータ出力処理の一例を示すフローチャートである。
図15】第3実施形態に係るデータ出力装置の機能ブロック図である。
図16】数値の項目の値を区間毎に区切る統計的手法の一例を説明するための図である。
図17】実データの統計的分析結果の一例を示す図である。
図18】第3実施形態に係るデータ出力装置として機能するコンピュータの概略構成を示すブロック図である。
図19】第3実施形態におけるデータ出力処理の一例を示すフローチャートである。
図20】第4実施形態に係るデータ出力装置の機能ブロック図である。
図21】相関ルールの評価値の算出を説明するための図である。
図22】第4実施形態に係るデータ出力装置として機能するコンピュータの概略構成を示すブロック図である。
図23】第4実施形態におけるデータ出力処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態の一例を詳細に説明する。
【0012】
<第1実施形態>
第1実施形態では、システム改修後のテストに用いるテストデータ群を出力するデータ出力装置について説明する。
【0013】
図1に示すように、第1実施形態に係るデータ出力装置10には、システム改修前に実際にシステムに入力され実データ群が入力される。また、データ出力装置10からは、実データ群に、実データ群に含まれるデータ以外のデータが追加されたテストデータ群が出力される。なお、実データ群は、本発明の既知データの一例である。
【0014】
ここで、図2を参照して、実データ群に追加するデータの考え方について説明する。
【0015】
システムのテストを漏れなく行うためには、データの各項目が取り得る値の全ての組み合わせからなる網羅データを用いることが理想である。しかし、網羅データは非常に膨大であるため、網羅データをテストデータとして用いることは、効率面で現実的ではない。
【0016】
一方、実データをテストデータとすることを考える。この場合、改修後のシステムにおいて、改修前のシステムに入力された実データをテストデータとして用いたテストを行うだけでは、十分でない場合がありえる。
【0017】
そこで、本実施形態では、網羅データと実データ群との差分のデータ群から、実データを基準として、テストデータに追加する候補データを抽出し、抽出した候補データからユーザにより選択された候補データを、実データに加えてテストデータ群として出力する。
【0018】
データ出力装置10は、機能的には、図1に示すように、受付部11と、作成部12と、抽出部13と、提示部14と、出力部15とを含む。なお、作成部12及び抽出部13は、本発明の抽出部の一例である。
【0019】
受付部11は、データ出力装置10に入力された実データ群を受け付け、作成部12及び出力部15へ受け渡す。
【0020】
作成部12は、受付部11から受け渡された実データ群に基づいて、網羅データを作成する。例えば、作成部12は、図3の左図に示すような実データ群から、図3の右図に示すような網羅データを作成する。なお、図3の例では、各データは、「Type」、「ID」、及び「Name」の3つの項目を持つ例を示している。また、項目「Type」の値には、「Buy」、「Sell」、及び「Oth」の3種類が存在し、項目「ID」の値には、「01」及び「02」の2種類が存在し、項目「Name」の値には、「A」及び「B」の2種類が存在する。したがって、網羅データには、各項目の取り得る値の全ての組み合わせとして、3×2×2=12個のデータが含まれる。図3では、後段の説明のため、網羅データに含まれる各データに番号を付与している。
【0021】
抽出部13は、網羅データと実データ群との差分のデータ群から、実データと類似するデータを候補データとして抽出する。具体的には、抽出部13は、差分のデータ群に含まれるデータの各々について、そのデータと類似するデータが実データ群に網羅的に存在する場合に、そのデータを候補データとして抽出する。より具体的には、抽出部13は、データのM個の項目をワイルドカード(*)とした探索用データを、ワイルドカードとする項目を異ならせた全てのパターンについて作成する。そして、抽出部13は、探索用データの全てが、実データ群に含まれる実データのいずれかと一致する場合に、対象のデータと実データとが類似していると判断する。
【0022】
例えば、図3の右図に示す網羅データのうち、差分のデータ群(4、5、6、9、10、12番のデータ)に含まれるデータのうち、4番の<Buy,02,B>について考える。ここでは、M=1の探索用データを作成する場合について説明する。図4に示すように、<Buy,02,B>からは、<*,02,B>、<Buy,*,B>、及び<Buy,02,*>が探索用データとして作成される。この場合、いずれの探索用データも、一致する実データが実データ群に存在するため、<Buy,02,B>は、候補データとして抽出される。
【0023】
一方、図5に示すように、5番の<Sell,01,A>からは、<*,01,A>、<Sell,*,A>、及び<Sell,01,*>が探索用データとして作成される。この場合、探索用データ<Sell,01,*>に一致する実データが実データ群に存在しないため、<Sell,01,A>は、候補データとして抽出されない。
【0024】
なお、本実施形態では、あるデータから作成される全ての探索用データが実データと一致する場合に、そのデータを候補データとして抽出する場合について説明するが、これに限定されない。例えば、あるデータから作成されたL個の探索用データのうちのN個の探索用データが実データと一致する場合に、そのデータを候補データとして抽出してもよい。Nは、例えば、L×0.8個や、L-1個などとすることができる。
【0025】
抽出部13は、抽出した候補データを提示部14へ受け渡す。
【0026】
提示部14は、抽出部13から受け渡された候補データを表示装置に表示するなどしてユーザに提示し、その候補データをテストデータに追加するか否かを示す追加可否情報を受け付ける。例えば、提示部14は、図6に示すような追加可否確認画面21を表示装置に表示する。図6の例では、追加可否確認画面21には、抽出された候補データが表示される候補データ領域22、候補データを選択するためのチェックボックス23、及び追加可否情報を確定する際に選択される確定ボタン24が含まれる。確定ボタン24が選択されると、提示部14は、追加可否情報を受け付ける。追加可否情報は、チェックされたチェックボックス23に対応する候補データをテストデータに追加し、チェックされていないチェックボックス23に対応する候補データはテストデータに追加しないことを示す情報である。
【0027】
提示部14は、追加可否情報に基づいて、追加する候補データを特定し、出力部15へ受け渡す。
【0028】
出力部15は、受付部11から受け渡された実データ群と、提示部14から受け渡された候補データとをあわせて、テストデータ群として出力する。図7に、出力されるテストデータ群の一例を示す。また、図8に、出力されるテストデータ群を、項目毎に階層化し、各項目の値をノードとし、各データの値に対応するノードをエッジで接続したツリー構造で表した図を示す。図8では、元の実データ群を実線のノード及びエッジで表し、追加されたデータを点線で表している。また、追加されたデータに類似する元の実データに対応するノードを網掛けのノードで表している。図7及び図8に示すように、元の実データを基準として、実データに類似するデータが追加されたテストデータ群が出力される。
【0029】
データ出力装置10は、例えば図9に示すコンピュータ40で実現することができる。コンピュータ40は、CPU(Central Processing Unit)41と、一時記憶領域としてのメモリ42と、不揮発性の記憶部43とを備える。また、コンピュータ40は、入力装置、表示装置等の入出力装置44と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)部45と、インターネット等のネットワークに接続される通信I/F(Interface)46とを備える。CPU41、メモリ42、記憶部43、入出力装置44、R/W部45、及び通信I/F46は、バス47を介して互いに接続される。
【0030】
記憶部43は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部43には、コンピュータ40を、データ出力装置10として機能させるためのデータ出力プログラム50が記憶される。データ出力プログラム50は、受付プロセス51と、作成プロセス52と、抽出プロセス53と、提示プロセス54と、出力プロセス55とを有する。
【0031】
CPU41は、データ出力プログラム50を記憶部43から読み出してメモリ42に展開し、データ出力プログラム50が有するプロセスを順次実行する。CPU41は、受付プロセス51を実行することで、図1に示す受付部11として動作する。また、CPU41は、作成プロセス52を実行することで、図1に示す作成部12として動作する。また、CPU41は、抽出プロセス53を実行することで、図1に示す抽出部13として動作する。また、CPU41は、提示プロセス54を実行することで、図1に示す提示部14として動作する。また、CPU41は、出力プロセス55を実行することで、図1に示す出力部15として動作する。これにより、データ出力プログラム50を実行したコンピュータ40が、データ出力装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。
【0032】
なお、データ出力プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
【0033】
次に、第1実施形態に係るデータ出力装置10の作用について説明する。
【0034】
データ出力装置10に実データ群が入力され、テストデータ群の出力が指示されると、データ出力装置10において、図10に示すデータ出力処理が実行される。なお、データ出力処理は、本発明のデータ出力方法の一例である。
【0035】
ステップS11で、受付部11が、データ出力装置10に入力された実データ群を受け付け、作成部12及び出力部15へ受け渡す。
【0036】
次に、ステップS12で、作成部12が、受付部11から受け渡された実データ群に基づいて、網羅データを作成する。
【0037】
次に、ステップS13で、抽出部13が、網羅データと実データ群との差分のデータ群から、未選択のデータを1つ選択する。
【0038】
次に、ステップS14で、抽出部13が、選択したデータに類似する実データが実データ群に存在するか否かを判定する。具体的には、抽出部13は、選択したデータのM個の項目をワイルドカード(*)とした探索用データを、ワイルドカードとする項目を異ならせた全てのパターンについて作成する。そして、抽出部13は、探索用データの全てが、実データ群に含まれる実データのいずれかと一致する場合に、選択したデータと実データとが類似していると判断する。選択したデータに類似する実データが存在する場合には、処理はステップS15へ移行し、存在しない場合には、処理はステップS16へ移行する。
【0039】
ステップS15では、抽出部13が、上記ステップS13で選択したデータを候補データとして抽出する。
【0040】
次に、ステップS16で、抽出部13が、網羅データと実データ群との差分のデータ群に未選択のデータが存在するか否かを判定する。未選択のデータが存在する場合には、処理はステップS13に戻り、全てのデータを選択済みの場合には、処理はステップS17へ移行する。
【0041】
ステップS17では、抽出部13が、上記ステップS15で抽出した候補データを提示部14へ受け渡す。そして、提示部14が、抽出部13から受け渡された候補データを表示装置に表示するなどしてユーザに提示する。
【0042】
次に、ステップS18で、提示部14が、上記ステップS17で提示した候補データをテストデータに追加するか否かを示す追加可否情報を受け付ける。提示部14は、追加可否情報に基づいて、追加する候補データを特定し、出力部15へ受け渡す。
【0043】
次に、ステップS19で、出力部15が、上記ステップS11で受付部11から受け渡された実データ群と、上記ステップS18で提示部14から受け渡された候補データとをあわせて、テストデータ群として出力する。そして、データ出力処理は終了する。
【0044】
以上説明したように、第1実施形態におけるデータ出力装置10によれば、網羅データと実データ群との差分のデータ群から、実データに類似する候補データを抽出する。そして、抽出した候補データからユーザにより選択された候補データと、実データとを合わせてテストデータ群として出力する。これにより、システム改修後のテストに用いるテストデータ群を出力する際に、必要なテストデータの出力漏れを低減することができる。
【0045】
<第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態に係るデータ出力装置において、第1実施形態に係るデータ出力装置10と同様の部分については、同一符号を付して、詳細な説明を省略する。
【0046】
第2実施形態では、システムに入力されるデータの異常を検知するためのアノマリ検知データを出力するデータ出力装置について説明する。
【0047】
図11に示すように、第2実施形態に係るデータ出力装置210には、入力データが入力される。また、データ出力装置210は、入力データの異常パターンとして既に判明しているデータがアノマリ検知データとして記憶されたアノマリデータベース(DB)17と接続されている。そして、データ出力装置210からは、アノマリDB17に未登録のアノマリ検知データが出力される。なお、アノマリDB17に記憶されたアノマリ検知データは、本発明の既知データの一例である。
【0048】
ここで、図12を参照して、第2実施形態で出力するアノマリ検知データの考え方について説明する。
【0049】
既に判明しているアノマリ検知データと、入力データとを比較することにより、入力データが異常であるか否かを判定することができるが、未知の異常パターンが存在する可能性を考慮すると、既知のアノマリ検知データだけで十分とは言えない。
【0050】
そこで、本実施形態では、既知のアノマリ検知データと一致しない入力データが、既知のアノマリ検知データと類似する場合に、その入力データを候補データとして抽出する。そして、抽出した候補データからユーザにより選択された候補データを、アノマリDB17を更新するための新たなアノマリ検知データとして出力する。
【0051】
データ出力装置210は、機能的には、図11に示すように、受付部211と、判定部16と、抽出部213と、提示部14と、出力部215とを含む。なお、判定部16及び抽出部213は、本発明の抽出部の一例である。
【0052】
受付部211は、データ出力装置210に入力された入力データを受け付け、判定部16へ受け渡す。
【0053】
判定部16は、受付部211から受け渡された入力データが、アノマリDB17に記憶されたいずれのかのアノマリ検知データと一致するか否かに基づいて、入力データが異常か否かを判定する。判定部16は、入力データがいずれかのアノマリ検知データと一致する場合には、入力データが異常であると判定して、表示装置へアラートメッセージを表示するなどして、ユーザへ異常を通知する。また、判定部16は、入力データがいずれのアノマリ検知データにも一致しない場合には、入力データは正常であると判定して、入力データを抽出部213へ受け渡す。
【0054】
抽出部213は、既知のアノマリ検知データと比較した結果の類似度が所定値以上の入力データを候補データとして抽出する。入力データが既知のアノマリ検知データに類似するか否かは、第1実施形態における抽出部13と同様に、入力データのM個の項目をワイルドカード(*)とした探索用データが、アノマリDB17に網羅的に存在するか否かにより判定する。
【0055】
出力部215は、提示部14から受け渡された候補データを、新たなアノマリ検知データとして出力し、アノマリDB17に追加する。
【0056】
データ出力装置210は、例えば図13に示すコンピュータ40で実現することができる。コンピュータ40の記憶部43には、コンピュータ40を、データ出力装置210として機能させるためのデータ出力プログラム250が記憶される。データ出力プログラム250は、受付プロセス251と、判定プロセス56と、抽出プロセス253と、提示プロセス54と、出力プロセス255とを有する。
【0057】
CPU41は、データ出力プログラム250を記憶部43から読み出してメモリ42に展開し、データ出力プログラム250が有するプロセスを順次実行する。CPU41は、受付プロセス251を実行することで、図11に示す受付部211として動作する。また、CPU41は、判定プロセス56を実行することで、図11に示す判定部16として動作する。また、CPU41は、抽出プロセス253を実行することで、図11に示す抽出部213として動作する。また、CPU41は、提示プロセス54を実行することで、図11に示す提示部14として動作する。また、CPU41は、出力プロセス255を実行することで、図11に示す出力部215として動作する。これにより、データ出力プログラム250を実行したコンピュータ40が、データ出力装置210として機能することになる。
【0058】
なお、データ出力プログラム250により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
【0059】
次に、第2実施形態に係るデータ出力装置210の作用について説明する。
【0060】
システム稼動時に、データ出力装置210に入力データが入力されると、データ出力装置210において、図14に示すデータ出力処理が実行される。
【0061】
ステップS21で、受付部211が、データ出力装置210に入力された入力データを受け付け、判定部16へ受け渡す。
【0062】
次に、ステップS22で、判定部16が、受付部211から受け渡された入力データが、アノマリDB17に記憶されたいずれのかのアノマリ検知データと一致するか否かに基づいて、入力データが異常か否かを判定する。入力データがいずれかのアノマリ検知データと一致する場合には、処理はステップS23へ移行し、入力データがいずれのアノマリ検知データにも一致しない場合には、処理はステップS24へ移行する。
【0063】
ステップS23では、判定部16が、表示装置へアラートメッセージを表示するなどして、ユーザへ異常を通知する。
【0064】
ステップS24では、判定部16が、入力データは正常であると判定して、入力データを抽出部213へ受け渡す。そして、抽出部213が、判定部16から受け渡された入力データが既知のアノマリ検知データに類似するか否かを判定する。類似する場合には、処理はステップS15へ移行し、類似しない場合には、データ出力処理を終了する。
【0065】
ステップS15~S17で、第1実施形態におけるデータ出力処理と同様に、入力データを候補データとして抽出し、抽出した候補データをユーザに提示し、追加可否情報を受け付ける。提示部14は、追加可否情報に基づいて、候補データをアノマリDB17に追加する場合、追加指示と共に候補データを出力部215へ受け渡す。
【0066】
次に、ステップS29で、出力部215が、提示部14から受け渡された候補データを、新たなアノマリ検知データとして出力し、アノマリDB17に追加する。そして、データ出力処理は終了する。
【0067】
以上説明したように、第2実施形態におけるデータ出力装置210によれば、既知のアノマリ検知データと一致しなかった入力データが既知のアノマリ検知データに類似する場合、その入力データを候補データとして抽出する。そして、抽出した候補データからユーザにより選択された候補データを出力し、既知のアノマリ検知データに追加する。これにより、入力データの異常を検知するためのアノマリ検知データを出力する際に、今後入力される入力データに未知の異常パターンが含まれる場合を考慮して、必要なアノマリ検知データの出力漏れを低減することができる。
【0068】
<第3実施形態>
次に、第3実施形態について説明する。なお、第3実施形態に係るデータ出力装置において、第1実施形態に係るデータ出力装置10と同様の部分については、同一符号を付して、詳細な説明を省略する。
【0069】
第3実施形態では、第1実施形態と同様に、システム改修後のテストに用いるテストデータ群を出力するデータ出力装置について説明する。
【0070】
図15に示すように、データ出力装置310は、機能的には、受付部11と、抽出部313と、提示部14と、出力部15とを含む。
【0071】
抽出部313は、実データ群を統計的に分析した結果から、実データ群に加えてテストデータとする候補データを抽出する。具体的には、抽出部313は、実データにおいて数値の項目の値の統計的分布において、出現頻度が低い値のデータを補完するように、候補データを抽出する。
【0072】
より具体的には、抽出部313は、実データにおける数値の項目の値を、統計的手法により、所定の区間に区切る。統計的手法としては、例えば、等差や等量を用いることができる。等差による区間は、図16の上図に示すように、数値の項目の値に対して、昇順又は降順に付与したランキングが、1区間に一定数ずつ含まれるように区切られる。また、等量による区間は、図16の下図に示すように、数値の項目の最小値から最大値までが、値の大きさが等しくなるように区切られる。
【0073】
例えば、抽出部313は、図17に示すように、設定ファイルを用いて、実データから統計的分析結果を示す中間ファイルを得る。図17の例では、設定ファイルにおいて、数値の項目を指定する項目番号(図17の例では「2」)と、等差及び等量の指示(図17の例では「rank」及び「equivalence」)とが指示される。また、設定ファイルでは、全体を何区間に区切るかを示すパラメータ(図17の例では「3」及び「4」)も指示される。また、中間ファイルには、少なくとも、各区間に属する値の個数の情報が含まれる。抽出部313は、この各区間の値の個数が、所定の下限値以下の区間に属する値を持つデータを候補データとして作成する。該当の区間に属する値は、ランダムに決定してもよいし、予め定めたルール(例えば、その区間の最大値、最小値、中央値等)で決定してもよい。また、作成する候補データの数値以外の項目の値は、実データに存在する値から、ランダムに選択したり、出現頻度が最も高い値を選択したりすればよい。
【0074】
例えば、図17に示す中間ファイルにおいて、出現頻度が0の区間(図17中の破線部)から候補データを作成する場合、<1000,A,30000,100>や<1000,A,60000,100>のような候補データを作成することができる。なお、作成する候補データの数は1個に限定されず、他の区間に属する値の個数の平均や最小値などを基準に適宜設定すればよい。
【0075】
データ出力装置310は、例えば図18に示すコンピュータ40で実現することができる。コンピュータ40の記憶部43には、コンピュータ40を、データ出力装置310として機能させるためのデータ出力プログラム350が記憶される。データ出力プログラム350は、受付プロセス51と、抽出プロセス353と、提示プロセス54と、出力プロセス55とを有する。
【0076】
CPU41は、データ出力プログラム350を記憶部43から読み出してメモリ42に展開し、データ出力プログラム350が有するプロセスを順次実行する。CPU41は、抽出プロセス353を実行することで、図15に示す抽出部313として動作する。他のプロセスについては、第1実施形態におけるデータ出力プログラム50と同様である。これにより、データ出力プログラム350を実行したコンピュータ40が、データ出力装置310として機能することになる。
【0077】
なお、データ出力プログラム350により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
【0078】
次に、第3実施形態に係るデータ出力装置310の作用について説明する。
【0079】
データ出力装置310に実データ群が入力され、テストデータ群の出力が指示されると、データ出力装置310において、図19に示すデータ出力処理が実行される。なお、データ出力処理は、本発明のデータ出力方法の一例である。
【0080】
ステップS11で、受付部11が、実データ群を受け付け、抽出部313へ受け渡す。
【0081】
次に、ステップS35で、抽出部313が、実データにおける数値の項目の値を、統計的手法により、所定の区間に区切る。そして、抽出部313は、各区間に属する値の個数が、所定の下限値以下の区間に属する値を持つデータを候補データとして作成する。
【0082】
以下、ステップS17~S19で、第1実施形態におけるデータ出力処理と同様に処理し、データ出力処理は終了する。
【0083】
以上説明したように、第3実施形態におけるデータ出力装置310によれば、実データの統計的分布において、出現頻度が低い値のデータを補完するように、候補データを抽出する。これにより、システム改修後のテストに用いるテストデータ群を出力する際に、必要なテストデータの出力漏れを低減することができる。
【0084】
なお、上記第3実施形態では、数値の項目の値の分布を区切る統計的手法として、等差又は等量を用いる場合について説明したが、これに限定されない。例えば、数値の項目の値の分布を正規分布とみなし、偏差値が±10(68.3%)、±20(95.4%)、±30(99.73%)、±40(99.9937%)、及びそれ以上の区間に区切るなどしてもよい。
【0085】
また、上記第3実施形態において、数値の項目の値の統計的分布において、出現頻度が高い値のデータをテストデータから除外するようにしてもよい。これにより、効率的にテストを行うことができるテストデータを出力することができる。
【0086】
<第4実施形態>
次に、第4実施形態について説明する。なお、第4実施形態に係るデータ出力装置において、第1実施形態に係るデータ出力装置10と同様の部分については、同一符号を付して、詳細な説明を省略する。
【0087】
第4実施形態では、第1実施形態と同様に、システム改修後のテストに用いるテストデータ群を出力するデータ出力装置について説明する。
【0088】
図20に示すように、データ出力装置410は、機能的には、受付部11と、作成部12と、抽出部413と、評価部18と、提示部14と、出力部15とを含む。なお、作成部12、抽出部413、及び評価部18は、本発明の抽出部の一例である。
【0089】
抽出部413は、第1実施形態における抽出部13と同様に、網羅データと実データ群との差分のデータ群から、実データと類似するデータを候補データとして抽出する。この際、抽出部413は、実データ群を統計的に分析した結果に基づいて、実データを補完した上で、候補データを抽出する。
【0090】
具体的には、抽出部413は、実データの数値の項目の値の統計的分布において、出現頻度が低い値のデータを実データに追加する。出現頻度が低い値のデータの抽出方法は、第3実施形態における抽出部313と同様に、実データにおける数値の項目の値を、統計的手法により、所定の区間に区切り、各区間の値の個数が、所定の下限値以下の区間に属する値を持つデータを抽出すればよい。また、実データに追加する際には、数値以外の項目については、ワイルドカード(*)を設定すればよい。実データが補完されることにより、実データに類似する候補データを抽出する際に、抽出される候補データの範囲を拡大することができる。
【0091】
また、抽出部413は、抽出した候補データから、実データ群を統計的に分析した結果に基づいて、所定の候補データを除外する。具体的には、抽出部413は、実データの数値の項目の値の統計的分布において、出現頻度が高い値の候補データを間引く。より具体的には、抽出部413は、実データにおける数値の項目の値を、統計的手法により、所定の区間に区切り、各区間の値の個数が、所定の上限値以上の区間に属する値を持つ候補データから、所定数の候補データを選択して除外する。所定数は、例えば、除外後のその区間の候補データが上述の上限値となる数とすることができる。また、除外する候補データは、ランダムに選択したり、値の大きさ順に所定個間隔で選択したりすればよい。
【0092】
評価部18は、抽出部413により抽出された候補データの各々について、実データとの予め定めた相関ルールの評価値を算出する。本実施形態における相関ルールとは、既知の実データがテストデータとして存在する場合に、候補データが高い確率でテストデータとして必要なデータである、というものである。相関ルールの評価値として、本実施形態では、実データ群を、候補データの項目のうち、実データと一致した項目を含むグループ(LHS)と、不一致の項目を含むグループ(RHS)とした場合の信頼度及びリフト値を用いる。信頼度は、候補データが相関ルールにどの程度適応しているかを表す指標であり、リフト値は、RHSがLHSにおいてどれだけ特殊であるかを示す指標である。いずれの指標も、高いほど、その候補データが相関ルールを満たす候補データである可能性が高いことを示す。以下に、信頼度及びリフト値の一例を示す。
【0093】
信頼度
=LHS及びRHSの両方の条件を満たす実データ数/LHSを満たす実データ数
=(LHS∧RHS)/ALL
リフト値
=LHS全体におけるRHSの出現確率/全実データにおけるRHSの出現確率
=((LHS∧RHS)/LHS)/((ALL∧RHS)/ALL)
(ALLは実データの全件数)
【0094】
例えば、図21の上左の図に示す実データ群に対して、上右の図に示す候補データ<Buy,02,B>の評価値を算出した例を、図21の下図に示す。図21は、候補データ<Buy,02,B>の項目M個(ここでは、M=1)違いの実データとして、<Buy,01,B>、<Buy,02,A>、及び<Sell,02,B>の各々について、信頼度及びリフト値を算出した例である。
【0095】
評価部18は、候補データ毎に算出した評価値が、所定の閾値未満の候補データを、候補データから除外する。例えば、図21の例で、信頼度の閾値を0.5、リフト値の閾値を1.0とすると、いずれの信頼度及びリフト値も閾値を超えているため、候補データ<Buy,02,B>は、除外されることなく、候補データとして採用される。
【0096】
なお、いずれの信頼度及びリフト値も閾値を超えている場合に、候補データとして採用する場合に限らず、所定割合の信頼度及びリフト値が閾値を越えている場合(例えば、図21の例では、3件中2件など)に、候補データとして採用するようにしてもよい。このような、候補データとして採用するための条件や、閾値は、候補データをどの程度の数抽出するかに応じて、適宜設定しておけばよい。
【0097】
データ出力装置410は、例えば図22に示すコンピュータ40で実現することができる。コンピュータ40の記憶部43には、コンピュータ40を、データ出力装置410として機能させるためのデータ出力プログラム450が記憶される。データ出力プログラム450は、受付プロセス51と、作成プロセス52と、抽出プロセス453と、評価プロセス58と、提示プロセス54と、出力プロセス55とを有する。
【0098】
CPU41は、データ出力プログラム450を記憶部43から読み出してメモリ42に展開し、データ出力プログラム450が有するプロセスを順次実行する。CPU41は、抽出プロセス453を実行することで、図20に示す抽出部413として動作する。また、CPU41は、評価プロセス58を実行することで、図20に示す評価部18として動作する。他のプロセスについては、第1実施形態におけるデータ出力プログラム50と同様である。これにより、データ出力プログラム450を実行したコンピュータ40が、データ出力装置410として機能することになる。
【0099】
なお、データ出力プログラム450により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
【0100】
次に、第4実施形態に係るデータ出力装置410の作用について説明する。
【0101】
データ出力装置410に実データ群が入力され、テストデータ群の出力が指示されると、データ出力装置410において、図23に示すデータ出力処理が実行される。なお、データ出力処理は、本発明のデータ出力方法の一例である。
【0102】
ステップS11で、受付部11が、実データ群を受け付け、作成部12へ受け渡す。
【0103】
次に、ステップS12で、作成部12が、実データ群に基づいて、網羅データを作成する。
【0104】
次に、ステップS41で、抽出部413が、実データにおける数値の項目の値を、統計的手法により、所定の区間に区切り、各区間の値の個数が、所定の下限値以下の区間に属する値を持つデータで、実データを補完する。
【0105】
次に、ステップS13~S16で、抽出部413が、第1実施形態におけるデータ出力処理と同様に、候補データを抽出する。
【0106】
次に、ステップS42で、抽出部413が、実データにおける数値の項目の値を、統計的手法により、所定の区間に区切り、各区間の値の個数が、所定の上限値以上の区間に属する値を持つ候補データから、所定数の候補データを選択して除外する。
【0107】
次に、ステップS43で、評価部18が、抽出部413により抽出された候補データの各々について、実データとの予め定めた相関ルールの評価値を算出する。そして、評価部18は、算出した評価値が所定の閾値未満の候補データを、候補データから除外する。
【0108】
以下、ステップS17~S19で、第1実施形態におけるデータ出力処理と同様に処理し、データ出力処理は終了する。
【0109】
以上説明したように、第4実施形態におけるデータ出力装置410によれば、抽出された候補データのうち、実データとの予め定めた相関ルールの評価値が所定の閾値以上の候補データを採用する。これにより、テストデータとして必要であることの信頼性が高い候補データをテストデータ群に追加することができ、システム改修後のテストに用いるテストデータ群を出力する際に、必要なテストデータの出力漏れを低減することができる。
【0110】
なお、第4実施形態では、評価値として、相関ルールの信頼度及びリフト値を用いる場合について説明したが、これに限定されない。候補データが必要なテストデータであることの尤もらしさを評価可能な従来既知の評価手法を用いることができる。
【0111】
また、上記第1、第3、及び第4の実施形態では、テストデータ群を出力する場合、第2実施形態では、アノマリ検知データを出力する場合について説明したが、これに限定されない。第1、第3、及び第4の実施形態においても、アノマリ検知データを出力する場合に適用することができる。この場合、実データ群と網羅データとの差分のデータ群から候補データを抽出する処理に変えて、入力データを候補データとして抽出するか否かを判定する処理を行えばよい。また、出力するデータは、テストデータやアノマリ検知のための参照データに限定されない。
【0112】
また、上記各実施形態では、抽出した候補データを一旦ユーザに提示し、ユーザにより選択された候補データを、出力するデータに加える場合について説明したが、これに限定されない。抽出部により抽出された候補データを、そのまま出力するようにしてもよい。
【0113】
また、上記実施形態では、データ出力プログラム50、250、350、450が記憶部43に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【0114】
以上の各実施形態に関し、更に以下の付記を開示する。
【0115】
(付記1)
入力データを受け付け、
予め入力データと比較を行う参照データを記憶する記憶部を参照して、受け付けた前記入力データと参照データとを比較して、前記入力データのうち前記参照データと一致しない入力データがある場合には、前記入力データの属性の入力を受け付けて、受け付けた入力結果に基づいて、前記参照データを更新して前記記憶部に記憶するとともに、更新した参照データをパターン解析して参照データとして追加する候補データを出力する、
処理をコンピュータに実行させることを特徴とするデータ出力プログラム。
【0116】
(付記2)
所定の条件を満たすことが既知の既知データを受け付け、
前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方を、前記既知データに追加する候補データとして抽出し、
抽出した候補データを出力する
処理をコンピュータに実行させることを特徴とするデータ出力プログラム。
【0117】
(付記3)
前記既知データの各々は、1以上の項目を含み、
前記既知データと、前記項目の値として取り得る組み合わせを含む網羅データとの差分のデータ群から、前記候補データを抽出する
付記2に記載のデータ出力プログラム。
【0118】
(付記4)
前記候補データとして、前記既知データの統計的分布において、出現頻度が所定の下限値以下の区間に属するデータを抽出する付記2又は付記3に記載のデータ出力プログラム。
【0119】
(付記5)
前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方のデータから、前記既知データとの予め定めた相関ルールの評価値に基づいて、前記候補データを抽出する付記2~付記4のいずれか1項に記載のデータ出力プログラム。
【0120】
(付記6)
抽出された前記候補データから、前記既知データの統計的分布において、出現頻度が所定の上限値以上の区間に属するデータの一部を除外する付記2~付記5のいずれか1項に記載のデータ出力プログラム。
【0121】
(付記7)
前記既知データは、テスト対象のシステムに入力された実データであり、
前記候補データとして、前記実データと共にテストデータとする候補のデータを抽出する
付記2~付記6のいずれか1項記載のデータ出力プログラム。
【0122】
(付記8)
前記既知データは、入力データと比較を行う参照データとして記憶部に記憶されたデータであり、
前記記憶部を参照して、受け付けた前記入力データと前記参照データとを比較して、前記参照データと一致しない前記入力データから、前記候補データとして、前記参照データに追加する候補のデータを抽出する
付記2~付記6のいずれか1項記載のデータ出力プログラム。
【0123】
(付記9)
出力した前記候補データに対して、ユーザから前記候補データを前記既知データに追加するか否かの指示を受け付け、
受け付けた前記指示に基づいて、前記候補データを前記既知データに追加するか否かを判定する
付記2~付記8のいずれか1項記載のデータ出力プログラム。
【0124】
(付記10)
所定の条件を満たすことが既知の既知データを受け付け受付部と、
前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方を、前記既知データに追加する候補データとして抽出する抽出部と、
抽出した候補データを出力する出力部と、
を含むデータ出力装置。
【0125】
(付記11)
前記既知データの各々は、1以上の項目を含み、
前記抽出部は、前記既知データと、前記項目の値として取り得る組み合わせを含む網羅データとの差分のデータ群から、前記候補データを抽出する
付記10に記載のデータ出力装置。
【0126】
(付記12)
前記抽出部は、前記候補データとして、前記既知データの統計的分布において、出現頻度が所定の下限値以下の区間に属するデータを抽出する付記10又は付記11に記載のデータ出力装置。
【0127】
(付記13)
前記抽出部は、前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方のデータから、前記既知データとの予め定めた相関ルールの評価値に基づいて、前記候補データを抽出する付記10~付記12のいずれか1項に記載のデータ出力装置。
【0128】
(付記14)
前記抽出部は、抽出された前記候補データから、前記既知データの統計的分布において、出現頻度が所定の上限値以上の区間に属するデータの一部を除外する付記10~付記13のいずれか1項に記載のデータ出力装置。
【0129】
(付記15)
前記既知データは、テスト対象のシステムに入力された実データであり、
前記抽出部は、前記候補データとして、前記実データと共にテストデータとする候補のデータを抽出する
付記10~付記14のいずれか1項記載のデータ出力装置。
【0130】
(付記16)
前記既知データは、入力データと比較を行う参照データとして記憶部に記憶されたデータであり、
前記抽出部は、前記記憶部を参照して、受け付けた前記入力データと前記参照データとを比較して、前記参照データと一致しない前記入力データから、前記候補データとして、前記参照データに追加する候補のデータを抽出する
付記10~付記14のいずれか1項記載のデータ出力装置。
【0131】
(付記17)
出力した前記候補データに対して、ユーザから前記候補データを前記既知データに追加するか否かの指示を受け付ける提示部をさらに含み、
前記出力部は、受け付けた前記指示に基づいて、前記候補データを前記既知データに追加するか否かを判定する
付記10~付記16のいずれか1項記載のデータ出力装置。
【0132】
(付記18)
所定の条件を満たすことが既知の既知データを受け付け、
前記既知データと比較した結果の類似度が所定値以上のデータ、及び前記既知データの統計的分析結果に基づき特定されるデータの少なくとも一方を、前記既知データに追加する候補データとして抽出し、
抽出した候補データを出力する
処理をコンピュータが実行することを特徴とするデータ出力方法。
【0133】
(付記19)
入力データを受け付ける受付部と、
予め入力データと比較を行う参照データを記憶する記憶部を参照して、受け付けた前記入力データと参照データとを比較して、前記入力データのうち前記参照データと一致しない入力データがある場合には、前記入力データの属性の入力を受け付けて、受け付けた入力結果に基づいて、前記参照データを更新して前記記憶部に記憶するとともに、更新した参照データをパターン解析して参照データとして追加する候補データを出力する出力部と、
を含むデータ出力プログラム。
【0134】
(付記20)
入力データを受け付け、
予め入力データと比較を行う参照データを記憶する記憶部を参照して、受け付けた前記入力データと参照データとを比較して、前記入力データのうち前記参照データと一致しない入力データがある場合には、前記入力データの属性の入力を受け付けて、受け付けた入力結果に基づいて、前記参照データを更新して前記記憶部に記憶するとともに、更新した参照データをパターン解析して参照データとして追加する候補データを出力する、
処理をコンピュータが実行することを特徴とするデータ出力方法。
【符号の説明】
【0135】
10、210、310、410 データ出力装置
11、211 受付部
12 作成部
13、213、313、413 抽出部
14 提示部
15、215 出力部
16 判定部
17 アノマリデータベース
18 評価部
21 追加可否確認画面
40 コンピュータ
41 CPU
42 メモリ
43 記憶部
49 記憶媒体
50、250、350、450 データ出力プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23