(57)【要約】【課題】同一のデータセットに対する複数種類の処理の効率を向上させること。【解決手段】前処理管理部１５ａが、データを取得して、取得したデータを、該データの所定の特徴量を算出する前処理部に引き渡し、前処理部から算出された該特徴量を受け取って、受け取った特徴量を記憶部１４の前処理結果１４ａに保存する。また、本処理管理部１５ｂが、特徴量を用いて所定の処理を行う本処理部に、該処理に応じた特徴量を記憶部１４の前処理結果１４ａから抽出して引き渡す。これにより、同一のデータセットに対する複数種類の本処理の効率を向上させることが可能となる。【選択図】図２
2018169822.tif 000002
【特許請求の範囲】
【請求項１】
データを取得して、取得したデータを、該データの所定の特徴量を算出する前処理部に引き渡し、前記前処理部から算出された該特徴量を受け取って、受け取った前記特徴量を記憶部に保存する前処理管理部と、
前記特徴量を用いて所定の処理を行う本処理部に、該処理に応じた特徴量を前記記憶部から抽出して引き渡す本処理管理部と、
を備えることを特徴とする管理装置。
【請求項２】
前記本処理管理部は、前記本処理部からの要求に応じて前記特徴量を前記記憶部から抽出して引き渡すこと、または、内部で定められた条件に従って、前記本処理部に前記処理に必要な前記特徴量を前記記憶部から抽出して引き渡して前記処理を依頼することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記前処理管理部は、前記前処理部の追加または更新に応じて、該前処理部を識別する識別情報を該特徴量に付与して前記記憶部に保存することを特徴とする請求項１または２に記載の管理装置。
【請求項４】
前記記憶部に保存される前記特徴量は、前記前処理管理部または前記本処理管理部による追加、抽出、更新または削除が可能であることを特徴とする請求項１〜３のいずれか１項に記載の管理装置。
【請求項５】
管理装置で実行される管理方法であって、
データを取得して、取得したデータを、該データの所定の特徴量を算出する前処理部に引き渡し、前記前処理部から算出された該特徴量を受け取って、受け取った前記特徴量を記憶部に保存する前処理管理工程と、
前記特徴量を用いて所定の処理を行う本処理部に、該処理に応じた特徴量を前記記憶部から抽出して引き渡す本処理管理工程と、
を含んだことを特徴とする管理方法。
【請求項６】
データを取得して、取得したデータを、該データの所定の特徴量を算出する前処理部に引き渡し、前記前処理部から算出された該特徴量を受け取って、受け取った前記特徴量を記憶部に保存する前処理管理ステップと、
前記特徴量を用いて所定の処理を行う本処理部に、該処理に応じた特徴量を前記記憶部から抽出して引き渡す本処理管理ステップと、
をコンピュータに実行させることを特徴とする管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、管理方法および管理プログラムに関する。
【背景技術】
【０００２】
従来、巨大なデータセットに対して分散処理を行って処理効率の向上をはかる技術が知られている（非特許文献１参照）。一般に、分散処理では、複数の異なる処理が並行して実行される。また、各処理の内容が複数の処理に分割され、各処理の結果を用いて後段の処理が実行される。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Jeffrey  Dean，Sanjay  Ghemawat，“MapReduce:Simplified  Data  Processing  on  Large  Clusters”，OSDI  2004，2004年10月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、同一のデータセットに対して行われる複数の種類の異なる処理の間で部分的に処理が重複する場合に、処理効率が低下してしまう恐れがある。
【０００５】
本発明は、上記に鑑みてなされたものであって、同一のデータセットに対する複数種類の処理の効率を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係る管理装置は、データを取得して、取得したデータを、該データの所定の特徴量を算出する前処理部に引き渡し、前記前処理部から算出された該特徴量を受け取って、受け取った前記特徴量を記憶部に保存する前処理管理部と、前記特徴量を用いて所定の処理を行う本処理部に、該処理に応じた特徴量を前記記憶部から抽出して引き渡す本処理管理部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、同一のデータセットに対する複数種類の処理の効率を向上させることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の一実施形態に係る管理装置の処理対象である情報処理システム象を説明するための説明図である。
【図２】図２は、本実施形態の管理装置の概略構成を例示する模式図である。
【図３】図３は、本処理管理部の処理を説明するための説明図である。
【図４】図４は、本実施形態の管理処理手順を示すフローチャートである。
【図５】図５は、管理プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１０】
［情報処理システム］
まず、図１を参照して、本実施形態に係る管理装置の処理対象である情報処理システムについて説明する。情報処理システム１は、ネットワーク情報等の時系列に変化するデータを用いて、機械学習や人工知能処理を行って、統計・学習モデルの更新やセキュリティ脅威・異常の検知を行う。
【００１１】
本実施形態において、管理装置１０は、ネットワーク情報等の時系列に変化するデータ２０を受け取って、所定の前処理部３０に引き渡す。前処理部３０は、汎用コンピュータ等で実現され、受け取った所定時間分のデータ２０の所定の特徴量を算出する前処理を実行する。例えば、複数の前処理部３０のそれぞれが、５分当たりの平均クライアント数、クライアント毎の５分当たりの平均フロー数、フロー当たりの平均パケット数、あるいはパケット当たりの平均バイト数等のデータ２０の特徴量を算出する。
【００１２】
管理装置１０は、算出された前処理結果を受け取って記憶部に保存する。また、管理装置１０は、記憶部から所定の前処理結果を抽出して、本処理部４０に引き渡す。複数の本処理部４０は、汎用コンピュータ等で実現され、それぞれ、前処理結果を用いて、学習モデルの更新や検知アルゴリズムの適用等の本処理、例えば、マルウェア感染検知やスキャン検知等のバッチ処理を実行する。
【００１３】
［管理装置の構成］
次に、図２を参照して、本実施形態に係る管理装置の概略構成を説明する。図２に示すように、本実施形態に係る管理装置１０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部１１と出力部１２と通信制御部１３と、記憶部１４と、制御部１５とを備える。
【００１４】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、後述する管理処理の結果等を操作者に対して出力する。
【００１５】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した前処理部３０や本処理部４０等の外部の装置と制御部１５との通信を制御する。
【００１６】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１４には、管理装置１０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００１７】
本実施形態において、記憶部１４は、Ｃｒｅａｔｅ（生成）、Ｒｅａｄ（読み取り）、Ｕｐｄａｔｅ（更新）、Ｄｅｌｅｔｅ（削除）のいわゆるＣＲＵＤ機能を有するデータベースとして機能し、後述する管理処理により、前処理結果１４ａが保存される。
【００１８】
前処理結果１４ａは、識別情報、タイムスタンプ、および前処理結果を含む。識別情報とは、前処理部３０あるいは前処理部３０が行う前処理の内容を識別する前処理名等の情報を意味する。タイムスタンプは、前処理が実行された日時を表す。前処理結果とは、入力されたデータ２０を用いてこの前処理部３０が算出した特徴量を意味する。
【００１９】
このように、前処理結果１４ａには、複数の前処理部３０の前処理結果が識別されて保存されている。前処理結果１４ａは、追加、更新、削除の他、新たな前処理部３０の前処理結果の追加も可能である。
【００２０】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図２に例示するように、前処理管理部１５ａおよび本処理管理部１５ｂとして機能する。なお、これらの機能部は、それぞれ異なるハードウェアに実装されてもよい。また、これらの機能部は、前処理部３０および本処理部４０の一部または全てと同一のハードウェアに実装されてもよい。
【００２１】
前処理管理部１５ａは、データ２０を取得して、取得したデータ２０を、該データの所定の特徴量を算出する前処理部３０に引き渡し、前処理部３０から算出された該特徴量を受け取って、受け取った特徴量を記憶部１４に保存する。
【００２２】
具体的に、前処理管理部１５ａは、ネットワーク情報を管理するサーバ等から入力部１１あるいは通信制御部１３を介して、５分ごと等の所定の時間間隔で時系列に変化する時系列データ２０を取得し、予め決められている所定の前処理部３０に引き渡す。前処理部３０は、所定の時間分の時系列データ２０を受け取って、例えば５分当たりの平均クライアント数、クライアント毎の５分当たりの平均フロー数、フロー当たりの平均パケット数、あるいはパケット当たりの平均バイト数等のデータ２０の特徴量を算出する。
【００２３】
また、前処理管理部１５ａは、算出された特徴量を前処理部３０から受け取って、識別情報およびタイムスタンプを対応づけして記憶部１４の前処理結果１４ａに保存する。なお、前処理管理部１５ａは、前処理結果１４ａの生成の他、新たな前処理結果を追加する更新や削除が可能である。また、前処理管理部１５ａは、前処理部３０の追加、更新または削除に応じて、前処理部３０を識別する識別情報を前処理結果の特徴量に付与して記憶部１４の前処理結果１４ａに保存したり削除したりすることが可能である。
【００２４】
本処理管理部１５ｂは、特徴量を用いて所定の処理を行う本処理部４０に、該処理に応じた特徴量を記憶部１４から抽出して引き渡す。具体的に、図３を参照して、本処理管理部１５ｂの処理について説明する。本処理管理部１５ｂは、所定の時間間隔で予め決められている条件に基づいて、あるいは本処理部４０からの要求に応じて、所定の特徴量を記憶部１４の前処理結果１４ａから抽出して本処理部４０に引き渡す。
【００２５】
例えば、図３には、例えばスキャン検知を行う本処理部４０に対して、例えば３時間ごと等の所定の時間間隔で、前処理結果１および前処理結果２を引き渡すことが条件として設定されている場合が例示されている。この場合に本処理管理部１５ｂは、前処理結果１すなわち５分あたりの平均クライアント数と、前処理結果２すなわちクライアント毎の５分当たりの平均フロー数とを、前処理結果１４ａから３時間ごとに抽出して、スキャン検知を行う本処理部４０に引き渡す。
【００２６】
なお、本処理管理部１５ｂは、予め内部で定められた所定の条件に従って、本処理部４０に、処理に必要な特徴量を前処理結果１４ａから抽出して引き渡して処理を依頼する。
【００２７】
または、本処理管理部１５ｂは、本処理部４０からの要求に応じて、要求された特徴量を前処理結果１４ａから抽出して、本処理部４０に引き渡してもよい。この場合には、予め引き渡しの条件が設定されていなくても、本処理部４０に適切な前処理結果を引き渡すことが可能となる。
【００２８】
また、本処理管理部１５ｂは、前処理結果１４ａに保存されている前処理結果の全て、あるいは３時間前まで等のタイムスタンプの指定の範囲の前処理結果のいずれかの指定を受け付けて、引き渡しの対象の前処理結果とすることができる。
【００２９】
また、本処理管理部１５ｂは、本処理部４０に引き渡しが不要となった前処理結果を前処理結果１４ａから削除してもよい。これにより、記憶部１４の使用効率を向上させることが可能となる。
【００３０】
なお、本処理部４０は、引き渡された前処理結果すなわちデータ２０の特徴量を用いて、学習モデルの更新や、スキャン検知やマルウェア感染検知等の検知アルゴリズムの適用等の本処理を実行する。
【００３１】
［管理処理］
次に、図４を参照して、管理装置１０による管理処理について説明する。図４は、管理処理手順を例示するフローチャートである。図４のフローチャートは、例えば、処理の開始を指示する操作入力があったタイミングで開始される。
【００３２】
まず、前処理管理部１５ａが、所定の時間間隔で所定の時間分のデータ２０を所定の前処理部３０に引き渡す（ステップＳ１）。次に、前処理管理部１５ａは、前処理部３０から前処理結果である特徴量を受け取って、記憶部１４の前処理結果１４ａに保存する（ステップＳ２）。
【００３３】
また、本処理管理部１５ｂは、所定の時間間隔で予め決められている条件に基づいて、あるいは本処理部４０からの要求に応じて、本処理部４０に所定の特徴量を記憶部１４の前処理結果１４ａから抽出して引き渡す（ステップＳ３）。本処理部４０は、引き渡された特徴量を用いて、スキャン検知やマルウェア感染検知等のバッチ処理に相当する本処理を実行する。これにより、一連の管理処理が終了する。
【００３４】
以上、説明したように、本実施形態の管理装置１０では、前処理管理部１５ａが、データ２０を取得して該データの所定の特徴量を算出する前処理部３０に引き渡し、算出された該特徴量を受け取って記憶部１４に保存する。また、本処理管理部１５ｂが、特徴量を用いて所定の処理を行う本処理部４０に、該特徴量を記憶部１４から抽出して引き渡す。
【００３５】
これにより、例えば、リアルタイムあるいは短い時間間隔で行われる前処理により、ネットワーク情報の消化が早くなり、本処理に必要な情報の保存量が少なくなり、処理に要する時間が短縮される。また、前処理で得られた前処理結果を複数の本処理で流用できるため、全体として処理の効率が向上し、処理に要する時間が短縮される。このように、本実施形態の管理装置１０の管理処理によれば、同一のデータセットに対する複数種類の本処理の効率を向上させることが可能となる。
【００３６】
また、本処理管理部１５ｂは、本処理部４０からの要求に応じて、要求された特徴量を前処理結果１４ａから検索して、本処理部４０に引き渡してもよい。これにより、予め引き渡しの条件が設定されていなくても、本処理部４０に適切な前処理結果を引き渡すことが可能となる。
【００３７】
また、本処理管理部１５ｂは、本処理部４０に引き渡しが不要となった特徴量を前処理結果１４ａから削除してもよい。これにより、記憶部１４の使用効率を向上させることが可能となる。
【００３８】
なお、データ２０は時系列に変化するデータに限定されない。例えば、タイムスタンプの時系列順が逆になっていてもかまわない。また、過去の大量のデータに対する処理に適用することも可能である。また、タイムスタンプを持たないデータに対して適用することも可能である。
【００３９】
［プログラム］
上記実施形態に係る管理装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、管理装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の管理処理を実行する管理プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の管理プログラムを情報処理装置に実行させることにより、情報処理装置を管理装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。また、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の管理処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、管理装置１０は、データを入力とし、本処理に用いられる前処理結果を出力する管理処理サービスを提供するサーバ装置として実装される。この場合、管理装置１０は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の管理処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、管理装置１０と同様の機能を実現する管理プログラムを実行するコンピュータの一例を説明する。
【００４０】
図５に示すように、管理プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００４１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００４２】
ここで、図５に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００４３】
また、管理プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した管理装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００４４】
また、管理プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００４５】
なお、管理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、管理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００４６】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００４７】
１０  管理装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１４ａ  前処理結果
１５  制御部
１５ａ  前処理管理部
１５ｂ  本処理管理部
【図１】
2018169822.tif 000003
【図２】
2018169822.tif 000004
【図３】
2018169822.tif 000005
【図４】
2018169822.tif 000006
【図５】
2018169822.tif 000007