説明

フロー分類方法、システム、およびプログラム

【課題】通信網上のトラヒックに含まれる各種フローをより高い精度で分類する。
【解決手段】一定期間内に発生した複数のフローを1つの同時フローとして統合し、さらに1つの同時フローに含まれる、一定の単位到着間隔内に到着した複数のパケットを、1つの短時間フローとして統合し、これら短時間フローごとにフロー特徴量を計算して、これらフロー特徴量の時間的変化の特徴を示すフロー特徴ベクトルを計算し、既存のサービスカテゴリとの類似性を判定する。また、サービスカテゴリごとの類似性のうち、最も高い類似性を示す類似度が有意範囲に含まれない場合には、新たなサービスクラスに分類する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信管理技術に関し、特にデータ通信トラヒックをアプリケーション種別に基づいて分類するフロー分類技術に関する。
【背景技術】
【0002】
近年における通信サービスの充実化やこのような通信サービスを利用するアプリケーションの発展に伴って、通信網上を流れるトラヒックも多様化かつ複雑化している。また、アプリケーションの種別ごとに、必要となる通信設備も異なる。このため、通信サービス事業者では、これらトラヒック需要に対応して、高い品質で通信サービスを提供するためには、需要の高いアプリケーション種別に応じた通信設備を、適切なタイミングで増減設する必要がある。
【0003】
従来より、特定のビット列など、個々の種別のアプリケーションが有する動作上の特徴に注目し、その特徴付けられる動作の発生を監視することで、アプリケーションに関するトラヒックを検出する技術がある(以下、従来技術1という:例えば非特許文献1など参照)。この技術は、主にP2P型アプリケーションより送出されるトラヒックを検出することに適用されている。
【0004】
また、通信網上を流れるトラヒックをフローと呼ばれるトラヒックの単位ごとに、例えばパケットサイズの平均等、パケットのヘッダ情報から得られる統計量からなる特徴量を用いて、データマイニング処理により分析することで、特定のフローを検出する技術が提案されている。この技術は、複数の特徴量を1つの識別器で分析する複数識別器の統合手法の一手段である、フィーチャーレベルのマルチモーダル手法がよく用いられている。
【0005】
また、複数識別器の統合手法は、複数の特徴量それぞれで各アプリケーションとの類似度を求めたあと、類似度から再び識別器にかけることにより高精度な分析を実施するスコアレベルのマルチモーダル手法や、新たなサービスが発生した際にもそれが新たなサービスであることを識別する手法との組み合わせ(以下、従来技術2という:例えば非特許文献2など参照)が提案されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】八木,和泉,角田,根本、「ネットワークアプリケーション弁別のためのペイロード長の遷移パタンの評価方法に関する一検討」、信学技報,TM2007-34、社団法人電子情報通信学会、2007-11
【非特許文献2】市野、山下、星、小松、竹下、辻野、岩下、吉野、「Internet Traffic Classification Using Score Level Fusion of Multiple Classifier」、ICIS2010, IEEE, 2010-08
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、このような従来技術では、いずれの技術もフローの分類について十分な分類精度が得られないという問題点があった。
例えば、従来技術1では、ソフトウェアの動作を基に識別を行うため、ソフトウェアのバージョンアップや新しいソフトウェアにより同じアプリケーションでも動作が異なるケースに対応することが難しい。また、通信内容を基にアプリケーションを判別する方法はプライバシーの問題もある。
また、従来技術2では、ソフトウェアの変更により受ける影響は小さいものの、そもそも分類精度が低いという問題点があった。
【0008】
本発明はこのような課題を解決するためのものであり、通信網上のトラヒックに含まれる各種フローをより高い精度で分類できるフロー分類技術を提供することを目的としている。
【課題を解決するための手段】
【0009】
このような目的を達成するために、本発明にかかるフロー分類方法は、通信網から収集した入力パケット列に基づいて通信網上のトラヒックに含まれるフローごとに当該フローの特徴を示す特徴量を計算し、これら特徴量に基づいてフローをデータ通信サービスのサービスカテゴリごとに分類するフロー分類システムで用いられるフロー分類方法であって、特徴量データベースが、サービスカテゴリごとに、当該サービスカテゴリに分類されるフローの特徴を示す代表特徴ベクトルを記憶する記憶ステップと、トラヒックデータ収集部が、入力パケット列に含まれるパケットのうち、当該パケットから取得した分類用の識別情報が同一のパケットであって、かつ到着間隔が基準到着間隔以下である複数のパケットを、1つのフローとして統合し、これらフローのうち、当該フローに含まれるパケットの送信先IPアドレスが同一のフローであって、かつフロー開始間隔が基準開始間隔以下である複数のフローを、1つの同時フローとして統合し、これら同時フローごとに、当該同時フローに含まれるパケットのうち、単位到着間隔内に到着した複数のパケットを、1つの短時間フローとして統合し、これら短時間フローごとに、当該短時間フローに含まれるパケットのパケット数、パケットサイズ、または到着間隔を統計処理することにより、当該短時間フローの特徴を示すフロー特徴量を計算し、これら短時間フローごとのフロー特徴量からなる時系列データから、同時フローごとにフロー特徴量の時間的変化の特徴を示すフロー特徴ベクトルを計算するトラヒックデータ収集ステップと、分類処理部が、各同時フローについて、サービスカテゴリごとに、当該同時フローに関するフロー特徴ベクトルと当該サービスカテゴリの代表特徴ベクトルとに基づいて、当該同時フローと当該サービスカテゴリとの類似性を示す類似度を計算し、これら類似度のうち最も高い類似性を示す最高類似度が所定の有意範囲に含まれる場合には、当該同時フローを当該最高類似度が得られたサービスカテゴリに分類し、最高類似度が有意範囲に含まれない場合には、当該同時フローを新たなサービスカテゴリに分類する分類処理ステップとを備えている。
【0010】
この際、トラヒックデータ収集ステップで、時系列データを線形予測分析を行うことにより同時フローのフロー特徴量を示す伝達関数の線形予測係数を求め、これら線形予測係数をケプストラム分析することにより、当該同時フローのフロー特徴量に関するスペクトル包絡特性を示すケプストラム係数を求め、これらケプストラム係数からフロー特徴ベクトルを生成するようにしてもよい。
【0011】
また、記憶ステップで、代表特徴ベクトルとして、当該サービスカテゴリに含まれる短時間フローのフロー特徴量をクラスタリングして得られたクラスタごとに、当該クラスタに含まれるフロー特徴量から計算した代表ベクトルを記憶し、分類処理ステップで、代表特徴ベクトルを構成する代表値ごとに、各フロー特徴ベクトルとの差分の最小値を求め、これら最小差分を統計処理することにより類似度を計算するようにしてもよい。
【0012】
また、記憶ステップで、サービスカテゴリごとに、複数の異なる特徴種別のそれぞれについて代表特徴ベクトルを記憶し、トラヒックデータ収集ステップで、短時間フローごとに、特徴種別のそれぞれについてフロー特徴ベクトルを計算し、分類処理ステップで、同時フローとサービスカテゴリとの類似度に代えて、特徴種別ごとに種別類似度を計算し、これら種別類似度を統計処理することにより類似度を計算するようにしてもよい。
【0013】
また、サービスカテゴリ作成部が、対応するアプリケーションがパケットごとにそれぞれ既知である教師パケット列について、入力パケット列と同様にして生成した短時間フローごとにフロー特徴量を計算し、アプリケーションのうちから選択した2つの異なるアプリケーションごとに、これらアプリケーションに属するフロー特徴量の分散、平均値、および要素数に基づいて、当該アプリケーション間のクラス内分散とクラス間分散との分散比を計算し、得られた分散比が判定しきい値より小さい場合には、これらアプリケーションを同一サービスカテゴリに分類し、得られた分散比が判定しきい値以上の場合には、これらアプリケーションを別個のサービスカテゴリに分類することにより、サービスカテゴリをそれぞれ作成するサービスカテゴリ作成ステップと、特徴量計算部が、サービスカテゴリ作成ステップで作成したサービスカテゴリごとに、当該サービスカテゴリに分類されたアプリケーションに属するフロー特徴量から、当該サービスカテゴリに分類されるフローの特徴を示すフロー特徴量を計算して、特徴量データベースへ保存する特徴量計算ステップとをさらに備えてもよい。
【0014】
この際、特徴量計算ステップで、当該サービスカテゴリに分類されたアプリケーションに属するフロー特徴量をクラスタリングし、得られたクラスタごとに、当該クラスタに属するフロー特徴量からなる時系列データに基づき、これらフロー特徴量の時間的変化の特徴を示す特徴ベクトルを計算し、得られた特徴ベクトルを当該サービスクラスの代表特徴ベクトルとして特徴量データベースへ保存するようにしてもよい。
【0015】
また、本発明にかかるフロー分類システムは、通信網から収集した入力パケット列に基づいて通信網上のトラヒックに含まれるフローごとに当該フローの特徴を示す特徴量を計算し、これら特徴量に基づいてフローをデータ通信サービスのサービスカテゴリごとに分類するフロー分類システムであって、サービスカテゴリごとに、当該サービスカテゴリに分類されるフローの特徴を示す代表特徴ベクトルを記憶する特徴量データベースと、入力パケット列に含まれるパケットのうち、当該パケットから取得した分類用の識別情報が同一のパケットであって、かつ到着間隔が基準到着間隔以下である複数のパケットを、1つのフローとして統合し、これらフローのうち、当該フローに含まれるパケットの送信先IPアドレスが同一のフローであって、かつフロー開始間隔が基準開始間隔以下である複数のフローを、1つの同時フローとして統合し、これら同時フローごとに、当該同時フローに含まれるパケットのうち、単位到着間隔内に到着した複数のパケットを、1つの短時間フローとして統合し、これら短時間フローごとに、当該短時間フローに含まれるパケットのパケット数、パケットサイズ、または到着間隔を統計処理することにより、当該短時間フローの特徴を示すフロー特徴量を計算し、これら短時間フローごとのフロー特徴量からなる時系列データから、同時フローごとにフロー特徴量の時間的変化を示す特徴ベクトルを計算するトラヒックデータ収集部と、各同時フローについて、サービスカテゴリごとに、当該同時フローに関するフロー特徴ベクトルと当該サービスカテゴリの代表特徴ベクトルとに基づいて、当該同時フローと当該サービスカテゴリとの類似性を示す類似度を計算し、これら類似度のうち最も高い類似性を示す最高類似度が所定の有意範囲に含まれる場合には、当該同時フローを当該最高類似度が得られたサービスカテゴリに分類し、最高類似度が有意範囲に含まれない場合には、当該同時フローを新たなサービスカテゴリに分類する分類処理部とを備えている。
【0016】
この際、トラヒックデータ収集部で、時系列データを線形予測分析を行うことにより同時フローのフロー特徴量を示す伝達関数の線形予測係数を求め、これら線形予測係数をケプストラム分析することにより、当該同時フローのフロー特徴量に関するスペクトル包絡特性を示すケプストラム係数を求め、これらケプストラム係数からフロー特徴ベクトルを生成するようにしてもよい。
【0017】
また、本発明にかかるプログラムは、コンピュータに、前述したいずれか1つのフロー分類方法の各ステップを実行させるためのプログラムである。
【発明の効果】
【0018】
アプリケーションには同時フローの時間軸上での変動に特徴があるが、フロー特徴量そのものを利用した場合、時間軸上での変動情報を扱うことはできない。本発明によれば、同時フローの特徴量に関する時間軸上での緩やかな変動を考慮してフローの類似性を判定することができる。このため、フロー特徴量そのものに基づき類似性を判定する場合と比較して、トラヒックの時間的な変動を利用した識別を行うことができる。
したがって、本実施の形態をデータ通信サービスのネットワーク管理に適用すれば、映像フローのような品質条件が厳しいフローに対して優先制御を行う等のトラヒック制御を用いることで、同じ設備量でよりユーザ満足度の高いネットワークを提供することができる。また、アプリケーションごとのトラヒック需要量を正確に把握できるため、高精度なトラヒック需要の予測を行うことができ、結果として、ユーザ満足度の更なる向上を実現することが可能となる。
【図面の簡単な説明】
【0019】
【図1】第1の実施の形態にかかるフロー分類システムの構成を示すブロック図である。
【図2】特徴量データベースの構成例である。
【図3】トラヒックデータ収集部の構成を示すブロック図である。
【図4】サービスカテゴリ分類部の構成を示すブロック図である。
【図5】フロー生成処理を示すフローチャートである。
【図6】同時フロー生成処理を示すフローチャートである。
【図7】短時間フロー生成処理を示すフローチャートである。
【図8】特徴量計算処理を示すフローチャートである。
【図9】入力パケット列の構成例である。
【図10】同時フローの構成例である。
【図11】短時間フローの構成例である。
【図12】トラヒックデータ収集部の動作例を示すシーケンス図である。
【図13】特徴ベクトル計算処理を示すフローチャートである。
【図14】類似度計算処理を示すフローチャートである。
【図15】類似度計算処理を示す説明図である。
【図16】分類判定処理を示すフローチャートである。
【図17】分類判定処理を示す説明図である。
【図18】第2の実施の形態にかかるフロー分類システムの構成を示すブロック図である。
【図19】学習処理部の構成を示すブロック図である。
【図20】サービスカテゴリ作成処理を示すフローチャートである。
【図21】代表特徴ベクトル計算処理を示すフローチャートである。
【発明を実施するための形態】
【0020】
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかるフロー分類システムについて説明する。図1は、第1の実施の形態にかかるフロー分類システムの構成を示すブロック図である。
【0021】
このフロー分類システム10は、全体として、1つまたは複数の、サーバ装置やパーソナルコンピュータなどの情報処理装置から構成されて、通信網30から収集した入力パケット列に基づいて通信網30上のトラヒックに含まれるフローごとに当該フローの特徴を示す特徴量を計算し、これら特徴量に基づいて当該トラヒックをデータ通信サービスのサービスカテゴリごとに分類し、その分類結果を管理端末20へ出力して表示するシステムである。
【0022】
本実施の形態は、入力パケット列に含まれる各パケットの送信先IPアドレスと到着時刻に基づいて、これらパケットを同時フローとして統合するとともに、これら同時フローを短時間フローに分割して、短時間フローごとに当該短時間フローの特徴を示すフロー特徴量を計算し、これら短時間フローごとのフロー特徴量からなる時系列データから、同時フローごとにフロー特徴量の時間的変化を示すフロー特徴ベクトルを計算し、同時フローとサービスカテゴリとの組み合わせごとに、当該同時フローに関するフロー特徴ベクトルと当該サービスカテゴリの代表特徴ベクトルとに基づいて、当該同時フローと当該サービスカテゴリとの類似性を示す類似度を計算し、これら類似度のうち最も高い類似性を示す最高類似度が所定の有意範囲に含まれる場合には、当該同時フローを当該最高類似度のサービスカテゴリに分類し、最高類似度が有意範囲に含まれない場合には、当該同時フローを新たなサービスカテゴリに分類するようにしたものである。
【0023】
[フロー分類システム]
次に、図1を参照して、本実施の形態にかかるフロー分類システムの構成について詳細に説明する。
【0024】
フロー分類システム10には、主な機能部として、トラヒックデータ収集部11、特徴量データベース(以下、特徴量DBという)12、およびサービスカテゴリ分類部13が設けられている。
これら機能部のうち、トラヒックデータ収集部11およびサービスカテゴリ分類部13は、CPUなどのマイクロプロセッサで記憶部(図示せず)から読み出したプログラムを実行することにより各機能部を実現する演算処理部で実現されており、特徴量DB12は、ハードディスクなどの記憶装置で実現されている。
【0025】
トラヒックデータ収集部11は、通信網30から収集した時系列の入力パケット列に含まれる各パケットの送信先IPアドレスと到着時刻に基づいて、入力パケット列に含まれるフローFを同時フローFCとして統合する機能と、これら同時フローFCから複数の短時間フローFSを生成する機能と、各同時フローFCiの短時間フローFSijごとに、当該短時間フローFSijの特徴を示すフロー特徴量RSijを計算する機能を有している。
【0026】
特徴量DB12は、フローを分類するサービスカテゴリXごとに、当該サービスカテゴリXmに分類されるフローの特徴を示す代表特徴ベクトルVmを記憶する機能を有している。
図2は、特徴量データベースの構成例である。ここでは、各種のサービスカテゴリXごとに、各特徴種別Yとその代表特徴ベクトルVmとが組として登録されている。
【0027】
このうち、サービスカテゴリXとしては、FTP、電子メール送信・受信、チャット、オンラインゲーム、動画など、各種アプリケーションに対応したデータ通信サービスが登録されている。また、特徴種別Yとしては、パケット総数、パケットサイズの合計・平均値・標準偏差、パケット到着間隔の合計・平均値・標準偏差など、短時間フローFSに含まれるパケットに関するパケット数、パケットサイズ、または到着間隔を統計処理して得られる特徴種別が登録されている。また、代表特徴ベクトルVmとしては、当該特徴種別Yの特徴量をクラスタリングして得られた各クラスタ1,クラスタ2,…ごとに、当該クラスタに属する特徴量の時間的変化の特徴を示す特徴ベクトルが登録されている。
【0028】
サービスカテゴリ分類部13は、トラヒックデータ収集部11で生成された、分類対象となる同時フローFCiについて、特徴量DB12に登録されているサービスカテゴリXmごとに、当該同時フローFCiに関するフロー特徴ベクトルVSijと、特徴量DB12から取得した当該サービスカテゴリXmの代表特徴ベクトルVmとに基づいて、当該同時フローFCiと当該サービスカテゴリXmとの類似性を示す類似度Simを計算する機能と、これら類似度Simのうち最も高い類似性を示す最高類似度Sihが所定の有意範囲に含まれる場合には、当該同時フローFCiを当該最高類似度Sihが得られたサービスカテゴリXmに分類し、最高類似度Sihが有意範囲に含まれない場合には、当該同時フローFCiを新たなサービスカテゴリXnewに分類する機能とを有している。
【0029】
[トラヒックデータ収集部]
次に、図3を参照して、トラヒックデータ収集部11の構成について詳細に説明する。図3は、トラヒックデータ収集部の構成を示すブロック図である。
トラヒックデータ収集部11には、主な処理部として、フロー生成部11A、同時フロー生成部11B、短時間フロー生成部11C、特徴量計算部11D、特徴ベクトル計算部11E、およびトラヒック情報データベース(以下、トラヒック情報DBという)11Fが設けられている。
【0030】
フロー生成部11Aは、通信網30から収集した入力パケット列のうち、当該パケットから取得したフロー分類用の識別情報が同一のパケットであって、かつパケット到着間隔が基準到着間隔以下である複数のパケットを、1つのフローFとして統合することにより、通信網30から収集した入力パケット列からフローFを生成する機能を有している。
【0031】
同時フロー生成部11Bは、フロー生成部11Aで生成されたフローFのうち、当該フローFに含まれるパケットの送信先IPアドレスが同一のフローであって、かつフロー開始間隔が基準開始間隔tc以下である複数のフローを、1つの同時フローFCiとして統合することにより、フロー生成部11Aで生成されたフローから同時フローFCを生成する機能を有している。
【0032】
短時間フロー生成部11Cは、同時フロー生成部11Bで生成された同時フローFCごとに、当該同時フローFCiに含まれるパケットのうち、単位到着間隔ts内に続けて到着したパケットを、1つの短時間フローFSijとして統合することにより、同時フロー生成部11Bで生成された同時フローFCiのそれぞれから短時間フローFSijを生成する機能を有している。
【0033】
特徴量計算部11Dは、短時間フロー生成部11Cで生成された短時間フローFSijごとに、当該短時間フローFSijに含まれるパケットのパケット数、パケットサイズ、または到着間隔を統計処理することにより、当該短時間フローFSijの特徴を示すフロー特徴量RSijを計算する機能を有している。
【0034】
特徴ベクトル計算部11Eは、特徴量計算部11Dで計算された各同時フローFCiに属する短時間フローFSijごとのフロー特徴量RSijからなる時系列データから、同時フローFCiごとに当該フロー特徴量RSijの時間的変化の特徴を示すフロー特徴ベクトルViを計算する機能を有している。
トラヒック情報DB11Fは、同時フローFCiごとに、特徴ベクトル計算部11Eで計算したフロー特徴ベクトルViを記憶する機能を有している。
【0035】
[サービスカテゴリ分類部]
次に、図4を参照して、サービスカテゴリ分類部13の構成について詳細に説明する。図4は、サービスカテゴリ分類部の構成を示すブロック図である。
サービスカテゴリ分類部13には、主な処理部として、類似度計算部13A−13N、類似度統合部13P、および分類判定部13Qが設けられている。
【0036】
類似度計算部13A−13Nは、特徴量DB12に登録されている特徴種別Yn(n=1…N)ごとに設けられて、トラヒックデータ収集部11で生成された同時フローFCiと、特徴量DB12に登録されているサービスカテゴリXmとの組み合わせごとに、当該同時フローFCiに関するフロー特徴ベクトルViと当該サービスカテゴリXmの代表特徴ベクトルVmとに基づいて、特徴種別Ynに関する当該同時フローFCiと当該サービスカテゴリXmとの類似性を示す類似度Simnをそれぞれ計算する機能を有している。
【0037】
類似度統合部13Pは、各同時フローFCiとサービスカテゴリXmとの組み合わせごとに、類似度計算部13A−13Nでそれぞれ計算した特徴種別Ynに関する類似度Simnを、1つのカテゴリ類似度Simに統合する機能を有している。
【0038】
分類判定部13Qは、各同時フローFCiについて、類似度統合部13Pで当該同時フローFCiとサービスカテゴリXmとの組み合わせごとに得られた類似度Simのうち、最も高い類似性を示す最高類似度Sihと有意範囲とを比較する機能と、最高類似度Sihが所定の有意範囲に含まれる場合には、当該同時フローFCiを当該最高類似度SihのサービスカテゴリXmに分類し、最高類似度Sihが有意範囲に含まれない場合には、当該同時フローFCiを新たなサービスカテゴリXnewに分類する機能とを有している。
【0039】
[第1の実施の形態の動作]
次に、本実施の形態にかかるフロー分類システム10の動作について詳細に説明する。
【0040】
[フロー生成動作]
まず、図5を参照して、本実施の形態にかかるトラヒックデータ収集部11におけるフロー生成動作について説明する。図5は、フロー生成処理を示すフローチャートである。
トラヒックデータ収集部11のフロー生成部11Aは、通信網30から収集した入力パケット列からフローを生成する際、図5のフロー生成処理を実行する。
【0041】
フロー生成部11Aは、まず、通信網30から収集した入力パケット列を取得し(ステップ100)、この入力パケット列の先頭から、いずれのフローにも統合していない未処理のパケットを1つ選択し(ステップ101)、当該パケットから取得したフロー分類用の識別情報が、統合処理中フローのいずれかと一致するか確認する(ステップ102)。この際、フロー分類用の識別情報としては、送信元・送信先のIPアドレス、送信元・送信先のポート番号、プロトコル種別などを組み合わせて用いればよい。
【0042】
ここで、識別情報が一致する処理中フローが存在しない場合(ステップ102:NO)、フロー生成部11Aは、新たなフロー番号を当該選択パケットに付加して新たなフローを生成し、当該新たなフロー番号のフローを処理中フローとする(ステップ103)。
一方、識別情報が一致する処理中フローが存在する場合(ステップ102:YES)、フロー生成部11Aは、当該処理中フローの最後尾パケットと選択パケットとの到着間隔を基準到着間隔tfとを比較する(ステップ104)。
【0043】
ここで、最後尾パケットと選択パケットとの到着間隔が基準到着間隔tfより大きかった場合(ステップ104:NO)、フロー生成部11Aは、当該処理中フローが終了したと判定して処理中フローから除外した後(ステップ105)、ステップ103に移行して、新たなフロー番号を当該選択パケットに付加して新たなフローを生成し、当該新たなフロー番号のフローを処理中フローとする。
一方、最後尾パケットと選択パケットとの到着間隔が基準到着間隔tf以内であった場合(ステップ104:YES)、フロー生成部11Aは、当該処理中フローのフロー番号を選択パケットに付加する(ステップ106)。
【0044】
このようにして、選択パケットにフロー番号を付加することによりフローFを生成した後、フロー生成部11Aは、選択パケットをフラグなどにより処理済みとし(ステップ107)、入力パケット列のうち全てのパケットについて処理が終了したか確認する(ステップ108)。
ここで、未処理のパケットが存在する場合(ステップ108:NO)、ステップ101に戻って次のパケットの処理を繰り返し実行する。また、全てのパケットについて処理が終了している場合(ステップ108:YES)、フロー生成部11Aは、個々のパケットにフロー番号を付加した入力パケット列を出力し(ステップ109)、一連のフロー生成処理を終了する。
【0045】
[同時フロー生成動作]
次に、図6を参照して、本実施の形態にかかるトラヒックデータ収集部11における同時フロー生成動作について説明する。図6は、同時フロー生成処理を示すフローチャートである。
【0046】
トラヒックデータ収集部11の同時フロー生成部11Bは、フロー生成部11Aで生成されたフローから同時フローを生成する際、図6の同時フロー生成処理を実行する。
【0047】
同時フロー生成部11Bは、まず、フロー生成部11Aで生成されたフロー番号付き入力パケット列を取得し(ステップ110)、この入力パケット列から、いずれの同時フローにも統合していない未処理のフローFtを1つ選択する(ステップ111)。
次に、同時フロー生成部11Bは、選択フローFtのパケットから送信先IPアドレスを取得し、他の未処理のフローFのうち、送信先IPアドレスが選択フローFtと同じフローの有無を確認する(ステップ112)。
【0048】
ここで、送信先IPアドレスが選択フローFtと同じフローを確認した場合(ステップ112:YES)、同時フロー生成部11Bは、これら確認フローFcのうちから、選択フローFtとのフロー開始間隔(絶対値)が基準開始間隔tc以下のフローFaを抽出し(ステップ113)、これら抽出フローFaと選択フローFtの両方のパケットに、新たな同時フロー番号を付加して新たな同時フローFCiを生成し(ステップ114)、これらフローFt,Faをフラグなどにより処理済みとする(ステップ115)。
【0049】
一方、送信先IPアドレスが選択フローFtと同じフローFを確認できなかった場合(ステップ112:NO)、同時フロー生成部11Bは、選択フローFtのパケットのそれぞれに、新たな同時フロー番号を付加して新たな同時フローFCiを生成し(ステップ116)、選択フローFtをフラグなどにより処理済みとする(ステップ117)。
【0050】
このようにして、選択フローFtや抽出フローFaに同時フロー番号を付加することにより同時フローFCiを生成した後、同時フロー生成部11Bは、入力パケット列のうち全てのフローFについて処理が終了したか確認する(ステップ118)。
ここで、未処理のフローFが存在する場合(ステップ118:NO)、ステップ111に戻って次のフローFの処理を繰り返し実行する。また、全てのフローについて処理が終了している場合(ステップ118:YES)、同時フロー生成部11Bは、個々のパケットに同時フロー番号を付加した入力パケット列を出力し(ステップ119)、一連の同時フロー生成処理を終了する。
【0051】
[短時間フロー生成動作]
次に、図7を参照して、本実施の形態にかかるトラヒックデータ収集部11における短時間フロー生成動作について説明する。図7は、短時間フロー生成処理を示すフローチャートである。
【0052】
トラヒックデータ収集部11の短時間フロー生成部11Cは、同時フロー生成部11Bで生成された同時フローから短時間フローを生成する際、図7の同時フロー生成処理を実行する。
【0053】
短時間フロー生成部11Cは、まず、同時フロー生成部11Bで生成された同時フロー番号付き入力パケット列を取得し(ステップ120)、この入力パケット列から、短時間フローを生成していない未処理の同時フローFCiを1つ選択し(ステップ121)、この選択同時フローFCiの先頭から、短時間フロー番号を付加していない未処理のパケットを1つ選択する(ステップ122)。
次に、短時間フロー生成部11Cは、選択同時フローFCiに含まれる他のパケットのうち、選択パケットとの到着間隔が単位到着間隔ts内に到着した近接パケットが存在するか確認する(ステップ123)。
【0054】
ここで、近接パケットの存在を確認した場合(ステップ123:YES)、短時間フロー生成部11Cは、これら近接パケットと選択パケットの両方に、同一の新たな短時間フロー番号を付加することにより新たな短時間フローFSijを生成し(ステップ124)、これらパケットをフラグなどにより処理済みとする(ステップ125)。
一方、近接パケットの存在を確認できなかった場合(ステップ123:NO)、短時間フロー生成部11Cは、選択パケットに新たな短時間フロー番号を付加することにより新たな短時間フローFSijを生成し(ステップ126)、ステップ125へ移行して、選択パケットをフラグなどにより処理済みとする。
【0055】
このようにして、近接パケットおよび選択パケット、または選択パケットに短時間フロー番号を付加した後、短時間フロー生成部11Cは、選択同時フローのうち全てのパケットについて処理が終了したか確認する(ステップ127)。
ここで、選択同時フローに未処理のパケットが存在する場合(ステップ127:NO)、ステップ122に戻って次のパケットの処理を繰り返し実行する。また、選択同時フローの全てのパケットについて処理が終了している場合(ステップ127:YES)、短時間フロー生成部11Cは、入力パケット列のうち全ての同時フローCについて処理が終了したか確認する(ステップ128)。
【0056】
ここで、未処理の同時フローが存在する場合(ステップ128:NO)、短時間フロー生成部11Cは、ステップ121に戻って次の同時フローFCの処理を繰り返し実行する。また、全ての同時フローFCについて処理が終了している場合(ステップ128:YES)、短時間フロー生成部11Cは、個々のパケットに短時間フロー番号と同時フロー番号を付加した入力パケット列を出力し(ステップ129)、一連の短時間フロー生成処理を終了する。
【0057】
[特徴量計算動作]
次に、図8を参照して、本実施の形態にかかるトラヒックデータ収集部11における特徴量計算動作について説明する。図8は、特徴量計算処理を示すフローチャートである。
【0058】
トラヒックデータ収集部11の特徴量計算部11Dは、短時間フロー生成部11Cで生成された短時間フローについてフロー特徴量を計算する際、図8の特徴量計算処理を実行する。ここでは、短時間フローごとに、各特徴種別Yについてそれぞれフロー特徴量が計算される。
【0059】
特徴量計算部11Dは、まず、短時間フロー生成部11Cで生成された短時間フローと同時フロー番号を付加した入力パケット列を取得し(ステップ130)、この入力パケット列から、特徴量を計算していない未処理の同時フローFCiを1つ選択し(ステップ131)、この選択同時フローFCiの先頭から、特徴量を計算していない未処理の短時間フローFSijを1つ選択する(ステップ132)。
【0060】
次に、特徴量計算部11Dは、選択短時間フローFSijに含まれる各パケットについて、前述の図2に示した特徴種別Yごとにフロー特徴量RSijを計算し(ステップ133)、選択短時間フローFSijをフラグなどにより処理済みとする(ステップ134)。
この後、特徴量計算部11Dは、選択同時フローFCiのうち全ての短時間フローFSijについて処理が終了したか確認する(ステップ135)。
【0061】
ここで、未処理の短時間フローFSijが存在する場合(ステップ135:NO)、ステップ132へ戻って次の短時間フローFSijの処理を繰り返し実行する。また、全ての短時間フローFSについて処理が終了している場合(ステップ135:YES)、特徴量計算部11Dは、入力パケット列のうち全ての同時フローFCについて処理が終了したか確認する(ステップ136)。
【0062】
ここで、未処理の同時フローFCiが存在する場合(ステップ136:NO)、ステップ131に戻って次の同時フローFCの処理を繰り返し実行する。また、全ての同時フローFCについて処理が終了している場合(ステップ136:YES)、特徴量計算部11Dは、同時フロー番号ごとに、各特徴種別に関するフロー特徴量RSijを、各短時間フローFSijに対応する時系列データとして出力し(ステップ137)、一連の特徴量計算処理を終了する。
【0063】
[トラヒックデータ収集部の動作例]
次に、図9〜図12を参照して、本実施の形態にかかるトラヒックデータ収集部11の動作例について説明する。図9は、入力パケット列の構成例である。図10は、同時フローの構成例である。図11は、短時間フローの構成例である。図12は、トラヒックデータ収集部の動作例を示すシーケンス図である。
【0064】
トラヒックデータ収集部11では、まず、フロー生成部11Aにより、通信網30から収集した入力パケット列から、フローFが生成される。この動作例では、送信元・送信先のIPアドレス、送信元・送信先のポート番号、プロトコル種別の組み合わせ(以下、5−tupleという)により、フローFが識別されている。
ここで、入力パケット列のうち、5−tupleが同じであり、基準到着間隔tf以内のパケットP1,P4からなるフローF1、パケットP2からなるフローF2、パケットP3からなるフローF3の合わせて3つのフローが生成されたものとする。
【0065】
次に、同時フロー生成部11Bにより、同一送信先IPアドレスであるこれらフローF1〜F3について、同時フローFCへの統合可否が確認される。ここで、基準開始間隔tc=5秒とした場合、F1の先頭パケットP1とF2の先頭パケットP2との到着間隔t12が1秒であり、t12<tcであることから、F1とF2は1つの同時フローFC1に統合される。また、F3の先頭パケットP3との到着間隔t13が4秒であり、t13<tcであることから、F3も同時フローFC1に統合される。これにより、F1〜F3がFC1に統合されたことになる。
【0066】
次に、短時間フロー生成部11Cにより、同時フローFC1について短時間フローFSの生成可否が確認される。ここで、単位到着間隔ts=1秒とした場合、P1とP2の到着間隔t12が1秒であり、t12≦tsであることから、P1とP2が1つの短時間フローFS11に統合される。また、P2とP3の到着間隔t23が3秒であり、t23>tsであることから、P2,P3は1つの短時間フローとして統合されず、P2は新たな短時間フローFS12となる。また、P3とP4の到着間隔t34が5秒であり、t34>tsであることから、P3,P4は1つの短時間フローとして統合されず、P3,P4はそれぞれ新たな短時間フローFS13,FS14となる。
【0067】
[特徴ベクトル計算動作]
次に、図13を参照して、本実施の形態にかかるトラヒックデータ収集部11における特徴ベクトル計算動作について説明する。図13は、特徴ベクトル計算処理を示すフローチャートである。
【0068】
トラヒックデータ収集部11の特徴ベクトル計算部11Eは、特徴量計算部11Dで計算されたフロー特徴量の時系列データから、同時フローごとにフロー特徴ベクトルを計算する際、図13の特徴量計算処理を実行する。ここでは、同時フローFCiごとに、各特徴種別Yに関するフロー特徴ベクトルが計算される。
【0069】
特徴ベクトル計算部11Eは、まず、特徴量計算部11Dで計算された、同時フローFCごとに、各特徴種別Yに関するフロー特徴量の時系列データを取得して(ステップ140)、この時系列データから、フロー特徴ベクトルを計算していない未処理の同時フローFCiを1つ選択する(ステップ141)。
【0070】
続いて、特徴ベクトル計算部11Eは、選択同時フローFCiについて、フロー特徴ベクトルを計算していない未処理の特徴種別Ynを選択し(ステップ142)、これら選択同時フローFCiおよび選択特徴種別Ynに対応する時系列データを、所定の時間長を有するフレームFRごとに分割する(ステップ143)。フレームFRの時間長は、短時間フローごとに計算したフロー特徴量を、後述するケプストラム分析を実行できる数だけ含む十分な時間長に設定しておく。なお、同時フローFC内に複数のフレームが存在していてもよい。また、同時フローの時間長がフレーム時間長よりも短い場合には、同時フローの時間長を使用して計算を行う。
【0071】
この後、特徴ベクトル計算部11Eは、選択同時フローFCiの選択特徴種別Ynについて、フレームFRrごとに得られたフロー特徴量を、それぞれのフロー特徴量の各要素に対して平均などの統計処理を行うことにより、選択同時フローFCの選択特徴種別Ynに対応する1つのフロー特徴量を求める(ステップ144)。
【0072】
続いて、特徴ベクトル計算部11Eは、分割して得られたフレームのうちから、フロー特徴量の統計量を計算していない未処理のフレームFRinrに属する時系列データを選択する(ステップ145)。
【0073】
次に、特徴ベクトル計算部11Eは、選択した時系列データを線形予測分析処理することにより、当該フレームの線形予測係数を計算する(ステップ146)
これら時系列データのうちの任意の標本値xpについて、これに隣接する過去のq個(qは2以上の整数)の過去標本値xp−q(q=1,2,…,Q)との間に、過去標本値xp−qとある係数αqをそれぞれ乗算して加え合わせた線形1次結合が成立し、次の式(1)が成り立つ。
【数1】

【0074】
これら係数αqは、線形予測係数と呼ばれ、線形予測残差xp−^xpの自乗平均が最小となるよう計算される。この線形予測係数の計算方法については、自己相関を求めて決定するレビンソン・ダービン法(Levinson-Durbin algorithm)などの公知の計算手法を用いればよい。
【0075】
この後、特徴ベクトル計算部11Eは、得られた線形予測係数αgをケプストラム(cepstrum)分析することにより、当該フレームFRinrの時系列データ、すなわちフロー特徴量に関するスペクトル包絡特性を示すケプストラム係数Cpを求め、これらケプストラム係数から当該フレームFRinrに関するフロー特徴ベクトルVinrを生成する(ステップ147)。
【0076】
線形予測係数αgは、次の線形システムを決定することに用いられ、その線形システムにインパルス列または白色雑音を印加することによって、トラヒックが生成されたものと見なす。これにより、スペクトル包絡の特性関数H(z)は、次の式(2)で求められる。
【数2】

【0077】
ケプストラム係数Cpは、トラヒック信号スペクトラムのケプストラム領域の値であり、次の式(3)により、特性関数H(z)をケプストラム領域に変換した特性関数H(ω)を求めた後、次の式(4)により、ケプストラム係数Cpが求められる。
【数3】

【数4】

【0078】
このケプストラム係数の計算方法については、フーリエ変換、逆フーリエ変換、離散フーリエ変換(DFT)など、公知の計算手法を用いればよい。
実際には、ケプストラム係数の計算時に、予め設定した規定数d個だけケプストラム係数を計算し、これらd個のケプストラム係数を並べることによりフロー特徴ベクトルVinr=(C1,C2,…,Cd)を生成する。
【0079】
この後、特徴ベクトル計算部11Eは、すべてのフレームFRについて処理が終了したか確認する(ステップ148)。
ここで、未処理のフレームFRinrが存在する場合(ステップ148:NO)、ステップ145へ戻って次のフレームFRinrの処理を繰り返し実行する。
【0080】
また、全てのフレームFRについて処理が終了している場合(ステップ148:YES)、特徴ベクトル計算部11Eは、全ての特徴種別Yについて処理が終了したか確認する(ステップ149)。
ここで、未処理の特徴種別Ynが存在する場合(ステップ149:NO)、ステップ142へ戻って次の同時フローFCiの処理を繰り返し実行する。
【0081】
この後、特徴ベクトル計算部11Eは、全ての同時フローFCについて処理が終了したか確認する(ステップ150)。
ここで、未処理の同時フローFCiが存在する場合(ステップ150:NO)、ステップ141へ戻って次の同時フローFCiの処理を繰り返し実行する。
【0082】
また、全ての同時フローFCについて処理が終了している場合(ステップ150:YES)、特徴ベクトル計算部11Eは、同時フロー番号iごとに、各特徴種別Ynのフロー特徴ベクトルVinを出力し(ステップ151)、一連の特徴ベクトル計算処理を終了する。
【0083】
[類似度計算処理]
次に、図14および図15を参照して、本実施の形態にかかるサービスカテゴリ分類部13における類似度計算動作について説明する。図14は、類似度計算処理を示すフローチャートである。図15は、類似度計算処理を示す説明図である。
【0084】
サービスカテゴリ分類部13の類似度計算部13A〜13Nは、同時フローFCiの種別類似度Siを計算する際、それぞれの特徴種別Yについて、図14の類似度計算処理を実行する。ここでは、類似度計算部13Aにおいて、特徴種別Yのうち特徴種別Ynに関する種別類似度Sinを計算する場合を例として説明する。実際には、類似度計算部13A〜13Nでは、それぞれに対応する特徴種別Ynについて、図14の類似度計算処理が並行して実行される。
【0085】
類似度計算部13Aは、まず、特徴量DB12から、各サービスカテゴリXに関する特徴種別Ynの代表特徴ベクトルVnをそれぞれ取得し(ステップ160)、分類対象となる同時フローFCiのうち特徴種別Ynのフロー特徴ベクトルVinをそれぞれ取得する(ステップ161)。
【0086】
続いて、類似度計算部13Aは、各サービスカテゴリXのうちから種別類似度Simnを計算していない未処理のサービスカテゴリXmを1つ選択し(ステップ162)、代表特徴ベクトルVmに含まれるクラスタkごとに、分類対象となる同時フローFCiのフロー特徴ベクトルVinと代表特徴ベクトルVmknとの差分Dk=|Vin−Vmkn|を計算する(ステップ163)。ここでは、特徴ベクトルのうち同一要素番号に対応する要素(ケプストラム係数)同士について差分を計算し、要素番号ごとに得られた差分を集計することにより差分Dkを計算すればよい。
【0087】
次に、類似度計算部13Aは、クラスタZkごとの差分Dkに基づいて、分類対象となる同時フローFCiと選択サービスカテゴリXmとの、特徴種別Ynに関する種別類似度Simnを計算する(ステップ164)。この種別類似度Simnについては、例えば、クラスタZkごとの差分Dkについて統計処理を行うことにより求めた、最小値、平均値、合計値などの統計値を用いればよい。
【0088】
この後、類似度計算部13Aは、選択サービスカテゴリXmについてフラグなどにより処理済みとし(ステップ165)、全てのサービスカテゴリXについて処理済みか確認する(ステップ166)。
ここで、未処理のサービスカテゴリXmが存在する場合(ステップ166:NO)、ステップ162に戻って次のサービスカテゴリXmの処理を繰り返し実行する。また、全てのサービスカテゴリXについて処理が終了している場合(ステップ166:YES)、類似度計算部13Aは、同時フローFCiと各サービスカテゴリXmとの、特徴種別Ynに関する種別類似度Simnを出力し(ステップ167)、一連の類似度計算処理を終了する。
【0089】
[分類判定処理]
次に、図16および図17を参照して、本実施の形態にかかるサービスカテゴリ分類部13における分類判定動作について説明する。図16は、分類判定処理を示すフローチャートである。図17は、分類判定処理を示す説明図である。
【0090】
サービスカテゴリ分類部13の類似度統合部13Pと分類判定部13Qは、分類対象となる同時フローFCiをサービスカテゴリXのいずれかに分類する際、図16の類似度計算処理を実行する。ここでは、類似度統合部13Pと分類判定部13Qにおいて、入力パケット列から生成された任意の同時フローFCiの分類判定を行う場合を例として説明する。なお、類似度統合部13Pと分類判定部13Qでの分類判定処理は、入力パケット列から生成された、分類対象となるすべての同時フローFCについて、繰り返し実行される。
【0091】
類似度統合部13Pは、まず、類似度計算部13A〜13Nから、すべての特徴種別Yについて、サービスカテゴリX別の種別類似度Simnを取得して(ステップ170)、サービスカテゴリXmごとに、例えば種別類似度Simnの合計値など、これら種別類似度Simnを統計処理することにより、すべての特徴種別Yを考慮した、同時フローFCiに関する、サービスカテゴリXmごとのカテゴリ類似度Simを計算する(ステップ171)。
【0092】
次に、分類判定部13Qは、類似度統合部13Pで得られたサービスカテゴリXmごとのカテゴリ類似度Simのうちから、その最小値、すなわち最も類似性の高い最高類似度Sihを選択し(ステップ172)、最高類似度Sihと有意しきい値Sthとを比較することにより、有意範囲に含まれているか確認する(ステップ173)。
ここで、最高類似度Sihが有意しきい値Sthより小さく、有意範囲に含まれている場合(ステップ173:YES)、分類判定部13Qは、分類対象となる同時フローFCiに対して、最高類似度Sihと対応するサービスカテゴリXmを付加することにより、同時フローFCiをサービスカテゴリXmに分類する(ステップ174)。
【0093】
一方、最高類似度Sihが有意しきい値Sth以上で、有意範囲に含まれていない場合(ステップ173:NO)、分類判定部13Qは、分類対象となる同時フローFCiに対して、新たなサービスカテゴリXnewを付加することにより、同時フローFCiを既存のサービスカテゴリではなく、新たなサービスカテゴリXnewに分類する(ステップ175)。
このようにして、分類対象となる同時フローFCiをいずれかのサービスカテゴリXに分類した後、分類判定部13Qは、分類したサービスカテゴリXに対応して登録されているサービスカテゴリ名と、入力パケット列から取得した当該同時フローFCiに関する送信先アドレスや、入力パケット列から計算したトラヒック量などのトラヒック情報とを管理端末20へ出力して画面表示し(ステップ176)、一連の分類判定処理を終了する。
【0094】
[第1の実施の形態の効果]
このように、本実施の形態では、一定期間内に発生した複数のフローを1つの同時フローとして統合し、さらに1つの同時フローに含まれる、一定の単位到着間隔内に到着した複数のパケットを、1つの短時間フローとして統合して、これら短時間フローごとにフロー特徴量を計算し、この後、これら短時間フローごとのフロー特徴量からなる時系列データから、同時フローごとにフロー特徴量の時間的変化の特徴を示すフロー特徴ベクトルを計算して、既存のサービスカテゴリとの類似性を判定するようにしたので、同時フローの特徴量を時間軸上の変動に着目してフローの類似性を判定することができる。このため、元のフロー特徴量に基づき類似性を判定する場合と比較して、トラヒックの時間的な変動を利用した識別を行うことができる。
【0095】
また、サービスカテゴリごとの類似性のうち、最も高い類似性を示す類似度が有意範囲に含まれない場合には、新たなサービスクラスに分類するようにしたので、既存サービスクラスでは含まれていない新たなアプリケーションのフローについても、正確に分類することができる。このため、いずれか類似性の低いサービスクラスに分類してしまうような誤分類の発生を抑止することが可能となる。
【0096】
したがって、本実施の形態をデータ通信サービスのネットワーク管理に適用すれば、映像フローのような品質条件が厳しいフローに対して優先制御を行う等のトラヒック制御を用いることで、同じ設備量でよりユーザ満足度の高いネットワークを提供することができる。また、アプリケーションごとのトラヒック需要量を正確に把握できるため、高精度なトラヒック需要の予測を行うことができ、結果として、ユーザ満足度の更なる向上を実現することが可能となる。
【0097】
また、本実施の形態によれば、フロー特徴ベクトルを計算する際、時系列データを線形予測分析を行うことにより同時フローのフロー特徴量を示す伝達関数の線形予測係数を求め、これら線形予測係数をケプストラム分析することにより、当該同時フローのフロー特徴量に関するスペクトル包絡特性を示すケプストラム係数を求め、これらケプストラム係数からフロー特徴ベクトルを生成するようにしたので、極めて高い精度で、フロー特徴量の時間的変化の特徴を示すフロー特徴ベクトルを計算することができる。
【0098】
また、本実施の形態によれば、各フローを同時フローへ統合する際、パケットの送信先IPアドレスが同一のフローを同時フローへ統合するようにしたので、映像データ、メタデータ、プレイヤーを異なるサーバから受信するような映像配信サービスであっても、当該フローを、対応するサービスカテゴリへ正確に分類できる。
【0099】
また、本実施の形態によれば、各短時間フローのフロー特徴量を計算する際、パケットのヘッダ情報に含まれるパケットのパケット数、パケットサイズ、または到着間隔を統計処理することによりフロー特徴量を計算するようにしたので、パケットのペイロード部に格納されているユーザ情報を解析する必要がない。このため、プライバシーやセキュリティの面でも高い安全性が得られるとともに、ペイロード部が暗号化されているフローについても精度良く分類することが可能となる。
【0100】
[第2の実施の形態]
次に、図18を参照して、本発明の第2の実施の形態にかかるフロー分類システム10について説明する。図18は、第2の実施の形態にかかるフロー分類システムの構成を示すブロック図である。
【0101】
本実施の形態は、第1の実施の形態と比較して、学習処理部14が追加されている。
学習処理部14は、サービスカテゴリXが既知である、複数のフレームFRに関するフロー特徴ベクトルVや、サービスカテゴリ分類部13で得られた分類判定後のフロー特徴ベクトルVからなる学習データに基づいて、各サービスカテゴリXmごとに、特徴種別Ynの代表特徴ベクトルVmnを計算して、特徴量DB12へ登録する機能を有している。
【0102】
図19は、学習処理部の構成を示すブロック図である。
学習処理部14には、主な処理部として、教師データ記憶部14A、サービスカテゴリ作成部14B、および代表特徴ベクトル計算部14Cが設けられている。
【0103】
教師データ記憶部14Aは、ハードディスクなどの記憶装置からなり、短時間フローFSijを構成する教師パケット列と、当該短時間フローFSijの分類先となるアプリケーションとの組が、教師データとして登録されている。
この教師データとしては、サービスカテゴリ分類部13の分類判定部13Qで分類した分類判定後の短時間フローとそのサービスカテゴリとを用いてもよい。
【0104】
サービスカテゴリ作成部14Bは、トラヒックデータ収集部11で通信網30からの入力パケット列から短時間フローFSを生成するのと同様にして、教師データ記憶部14Aから読み出した教師パケットから短時間フローFSを生成するとともに、当該短時間フローFSのフロー特徴量RSを、特徴種別Yごとに計算する機能と、これら教師データに含まれるアプリケーションのうちから選択した2つのアプリケーションごとに、これらアプリケーションに関するフロー特徴量の分散、平均値、および要素数に基づいて、当該アプリケーション間のクラス内分散σw2とクラス間分散σb2との分散比Jを、特徴種別Yごとに計算する機能と、得られた分散比Jの最小値Jminが判定しきい値Jthより小さい場合には、これらアプリケーションを同一サービスカテゴリに分類し、得られた分散比が判定しきい値以上の場合には、これらアプリケーションを別個のサービスカテゴリに分類することにより、サービスカテゴリXを作成する機能とを有している。
【0105】
代表特徴ベクトル計算部14Cは、サービスカテゴリ作成部14Bで作成された各サービスカテゴリXmについて、当該サービスカテゴリXmに分類されたアプリケーションのフロー特徴量RSから、これらフロー特徴量RSの時間的変化の特徴を示すフロー特徴ベクトルVmを、特徴種別Yごとに計算して、特徴量DB12へ保存する機能とを有している。
【0106】
[サービスカテゴリ作成動作]
次に、図20を参照して、本実施の形態にかかる学習処理部14におけるサービスカテゴリ作成動作について説明する。図20は、サービスカテゴリ作成処理を示すフローチャートである。
【0107】
学習処理部14のサービスカテゴリ作成部14Bは、教師データからサービスカテゴリを作成する際、図20のサービスカテゴリ作成処理を実行する。ここでは、サービスカテゴリ作成部14Bにおいて、教師データ記憶部14Aの教師パケット列からの短時間フローFSの生成とそのフロー特徴量RSの計算がすでに実行されて、教師データ記憶部14Aに登録されていることを前提として、特徴種別Yのうち特徴種別YnについてサービスカテゴリXを作成する場合を例として説明する。
【0108】
サービスカテゴリ作成部14Bは、まず、教師データ記憶部14Aから、アプリケーション別で、各短時間フローFSのフロー特徴量RSを取得して(ステップ200)、サービスカテゴリ作成処理を実行していない未処理の特徴種別Ynを1つ選択し(ステップ201)、これらアプリケーションの2つの組のうちから、サービスカテゴリ作成処理を実行していない未処理のアプリケーション組を1つ選択する(ステップ202)。
【0109】
次に、サービスカテゴリ作成部14Bは、選択アプリケーション組であるそれぞれのアプリケーションについて、当該アプリケーションに分類されている各短時間フローFSのフロー特徴量RSから、その分散、平均値、および要素数に基づいて、当該アプリケーション間のクラス内分散σw2とクラス間分散σb2とその分散比Jを計算する(ステップ203)。
【0110】
この際、アプリケーションxに関するフロー特徴量RSの分散をσx、要素数をωx、平均値をmxとし、アプリケーションyに関するフロー特徴量RSの分散をσy、要素数をωy、平均値をmyとした場合、アプリケーションx,yのクラス内分散σw2、クラス間分散σb2、およびこれらクラス内分散σw2とクラス間分散σb2の分散比Jは、次の式(5)、式(6)、および式(7)で計算される。
【数5】

【数6】

【数7】

【0111】
この後、サービスカテゴリ作成部14Bは、選択アプリケーション組についてフラグなどにより処理済みとし(ステップ204)、全てのアプリケーション組について処理済みか確認する(ステップ205)。
ここで、未処理のアプリケーション組が存在する場合(ステップ205:NO)、ステップ202に戻って次のサービスカテゴリXmの処理を繰り返し実行する。
【0112】
また、全てのアプリケーション組について処理が終了している場合(ステップ205:YES)、サービスカテゴリ作成部14Bは、アプリケーション組ごとに計算した分散比Jのうちから最小分散比Jmin選択し、予め設定されている判定しきい値Jthと比較する(ステップ206)。
ここで、最小分散比Jminが判定しきい値Jthより小さい場合(ステップ206:YES)、サービスカテゴリ作成部14Bは、最小分散比Jminが得られたアプリケーション組の2つのアプリケーションを1つのアプリケーションに統合し(ステップ207)、ステップ202へ移行して、次のアプリケーション組の処理を繰り返し実行する。
【0113】
一方、最小分散比Jminが判定しきい値Jth以上の場合(ステップ206:NO)、サービスカテゴリ作成部14Bは、選択アプリケーション組の2つのアプリケーションを別個のサービスクラスと判定し、アプリケーションの統合は行わない。
【0114】
このようにして、各アプリケーション組についてアプリケーションの統合可否を判定した後、サービスカテゴリ作成部14Bは、選択特徴種別Ynについてフラグなどにより処理済みとし(ステップ207)、全ての特徴種別Yについて処理済みか確認する(ステップ208)。
ここで、未処理の特徴種別Ynが存在する場合(ステップ208:NO)、ステップ201に戻って次の特徴種別Ynの処理を繰り返し実行する。
【0115】
また、全ての特徴種別Ynについて処理が終了している場合(ステップ208:YES)、サービスカテゴリ作成部14Bは、統合されたアプリケーションおよび統合できなかったアプリケーションごとに、サービスカテゴリをそれぞれ作成する(ステップ209)。この後、サービスカテゴリ作成部14Bは、これらサービスカテゴリ別で、各短時間フローFSのフロー特徴量RSを出力し(ステップ210)、一連のサービスカテゴリ作成処理を終了する。
【0116】
[代表特徴ベクトル計算動作]
次に、図21を参照して、本実施の形態にかかる学習処理部14における代表特徴ベクトル計算動作について説明する。図21は、代表特徴ベクトル計算処理を示すフローチャートである。
【0117】
学習処理部14の代表特徴ベクトル計算部14Cは、サービスカテゴリ作成部13Bで作成された各サービスカテゴリの代表特徴ベクトルを計算する際、図21の代表特徴ベクトル計算処理を実行する。
【0118】
代表特徴ベクトル計算部14Cは、まず、サービスカテゴリ作成部13Bから、サービスカテゴリ別で、各短時間フローFSのフロー特徴量RSを取得し(ステップ220)、代表特徴ベクトル計算処理を実行していない未処理のサービスカテゴリXmを1つ選択し(ステップ221)、代表特徴ベクトル計算処理を実行していない未処理の特徴種別Ynを1つ選択する(ステップ222)。
【0119】
次に、代表特徴ベクトル計算部14Cは、取得したフロー特徴量RSのうちから、選択サービスカテゴリXmで選択特徴種別Ynに関するフロー特徴量RSmnを選択し(ステップ223)、これらフロー特徴量RSmnからなる時系列データから、選択サービスカテゴリXmで選択特徴種別Ynに関するフロー特徴ベクトルVmnを計算する(ステップ224)。フロー特徴ベクトルVmnの計算については、前述した図13の特徴ベクトル計算動作で用いたケプストラム分析を用いればよい。
【0120】
続いて、代表特徴ベクトル計算部14Cは、これらフロー特徴ベクトルVmnを、例えばLBG(Linde-Buzo-Gray)+splittingアルゴリズムなどのベクトル量子化処理を用いて、K個のクラスタにクラスタリングした後、これらクラスタkごとに、当該クラスタに属するフロー特徴ベクトルVmknから、例えば当該クラスタの中心値などからなる代表特徴ベクトルVmknを計算する(ステップ225)。
【0121】
この後、代表特徴ベクトル計算部14Cは、選択特徴種別Ynについてフラグなどにより処理済みとし(ステップ226)、全ての特徴種別Yについて処理済みか確認する(ステップ227)。
ここで、未処理の特徴種別Ynが存在する場合(ステップ227:NO)、ステップ222に戻って次の特徴種別Ynの処理を繰り返し実行する。また、全ての特徴種別Ynについて処理が終了している場合(ステップ227:YES)、代表特徴ベクトル計算部14Cは、選択サービスカテゴリXmについてフラグなどにより処理済みとし(ステップ228)、全てのサービスカテゴリXについて処理済みか確認する(ステップ229)。
【0122】
ここで、未処理のサービスカテゴリXmが存在する場合(ステップ229:NO)、ステップ221に戻って次のサービスカテゴリXmの処理を繰り返し実行する。また、全てのサービスカテゴリXmについて処理が終了している場合(ステップ229:YES)、代表特徴ベクトル計算部14Cは、サービスカテゴリXm別で、各特徴種別Ynに関する代表特徴ベクトルVmnを特徴量DB12へ登録し(ステップ230)、一連の代表特徴ベクトル計算処理を終了する。
【0123】
[第2の実施の形態の効果]
このように、本実施の形態によれば、各種データ通信サービスのうち、FTPとファイル転送や、メール受信とメール送信、あるいはチャットとメッセンジャーなど、ほぼ同様の機能を持つデータ通信サービスを提供する複数のアプリケーションが1つのサービスカテゴリに統合されるため、元々トラヒック特性が近いアプリケーションを、1つのサービスカテゴリとして分類することができ、通信網の設計・運用・管理において、極めて有用な分類結果を得ることができる。
【0124】
また、本実施の形態では、サービスカテゴリ作成部14Bで、2つのアプリケーションごとに、これらアプリケーションのフロー特徴量から、当該アプリケーション間のクラス内分散とクラス間分散との分散比を計算し、得られた分散比に応じてアプリケーションの統合可否を判定するようにしたので、極めて高い精度でアプリケーションを統合することができる。
【0125】
また、本実施の形態では、代表特徴ベクトル計算部14Cで、当該サービスカテゴリに分類されたアプリケーションのフロー特徴量をクラスタリングし、得られたクラスタごとに計算した、当該クラスタに属するフロー特徴量を代表する代表値を代表特徴量として用い、これら代表特徴量から代表特徴ベクトル計算部14Dにより代表特徴ベクトルを計算するようにしたので、極めて高い精度で入力パケット列に含まれる各フローをサービスアプリケーションに分類できる。
【0126】
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【0127】
10…フロー分類システム、11…トラヒックデータ収集部、11A…フロー生成部、11B…同時フロー生成部、11C…短時間フロー生成部、11D…特徴量計算部、11E…特徴ベクトル計算部、11F…トラヒック情報DB、12…特徴量DB、13…サービスカテゴリ分類部、13A〜13N…類似度計算部、13P…類似度統合部、13Q…分類判定部、14…学習処理部、14A…教師データ記憶部、14B…サービスカテゴリ作成部、14C…代表特徴ベクトル計算部、20…管理端末、30…通信網、F…フロー、FC,FCi…同時フロー、FS,FSij…短時間フロー、tf…基準到着間隔、tc…基準開始間隔、ts…単位到着間隔、RS,RSij,RSijn…フロー特徴量、V,Vinr…フロー特徴ベクトル、X,Xm,Xnew…サービスカテゴリ、Y,Yn…特徴種別、V,Vmn,Vmkn…代表特徴ベクトル、D,Dk…差分、S,Sim,Simn…類似度、Sih…最高類似度、Sth…有意しきい値、σx,σy…分散(フロー特徴量)、ωx,ωy…要素数(フロー特徴量)、mx,my…平均値(フロー特徴量)、σw2…クラス内分散、σb2…クラス間分散、J…分散比、Jth…判定しきい値。

【特許請求の範囲】
【請求項1】
通信網から収集した入力パケット列に基づいて前記通信網上のトラヒックに含まれるフローごとに当該フローの特徴を示す特徴量を計算し、これら特徴量に基づいて前記フローをデータ通信サービスのサービスカテゴリごとに分類するフロー分類システムで用いられるフロー分類方法であって、
特徴量データベースが、前記サービスカテゴリごとに、当該サービスカテゴリに分類されるフローの特徴を示す代表特徴ベクトルを記憶する記憶ステップと、
トラヒックデータ収集部が、前記入力パケット列に含まれるパケットのうち、当該パケットから取得した分類用の識別情報が同一のパケットであって、かつ到着間隔が基準到着間隔以下である複数のパケットを、1つのフローとして統合し、これらフローのうち、当該フローに含まれるパケットの送信先IPアドレスが同一のフローであって、かつフロー開始間隔が基準開始間隔以下である複数のフローを、1つの同時フローとして統合し、これら同時フローごとに、当該同時フローに含まれるパケットのうち、単位到着間隔内に到着した複数のパケットを、1つの短時間フローとして統合し、これら短時間フローごとに、当該短時間フローに含まれるパケットのパケット数、パケットサイズ、または到着間隔を統計処理することにより、当該短時間フローの特徴を示すフロー特徴量を計算し、これら短時間フローごとのフロー特徴量からなる時系列データから、前記同時フローごとに前記フロー特徴量の時間的変化の特徴を示すフロー特徴ベクトルを計算するトラヒックデータ収集ステップと、
分類処理部が、前記各同時フローについて、前記サービスカテゴリごとに、当該同時フローに関する前記フロー特徴ベクトルと当該サービスカテゴリの前記代表特徴ベクトルとに基づいて、当該同時フローと当該サービスカテゴリとの類似性を示す類似度を計算し、これら類似度のうち最も高い類似性を示す最高類似度が所定の有意範囲に含まれる場合には、当該同時フローを当該最高類似度が得られたサービスカテゴリに分類し、前記最高類似度が前記有意範囲に含まれない場合には、当該同時フローを新たなサービスカテゴリに分類する分類処理ステップと
を備えることを特徴とするフロー分類方法。
【請求項2】
請求項1に記載のフロー分類方法において、
前記トラヒックデータ収集ステップは、前記時系列データを線形予測分析を行うことにより前記同時フローのフロー特徴量を示す伝達関数の線形予測係数を求め、これら線形予測係数をケプストラム分析することにより、当該同時フローのフロー特徴量に関するスペクトル包絡特性を示すケプストラム係数を求め、これらケプストラム係数から前記フロー特徴ベクトルを生成する
ことを特徴とするフロー分類方法。
【請求項3】
請求項1または請求項2に記載のフロー分類方法において、
前記記憶ステップは、前記代表特徴ベクトルとして、当該サービスカテゴリに含まれる短時間フローのフロー特徴量をクラスタリングして得られたクラスタごとに、当該クラスタに含まれる前記フロー特徴量から計算した代表特徴ベクトルを記憶し、
前記分類処理ステップは、前記代表特徴ベクトルを構成する前記代表値ごとに、前記各フロー特徴ベクトルとの差分を求め、これら差分を統計処理することにより前記類似度を計算する
ことを特徴とするフロー分類方法。
【請求項4】
請求項1〜請求項3のいずれか1つに記載のフロー分類方法において、
前記記憶ステップは、前記サービスカテゴリごとに、複数の異なる特徴種別のそれぞれについて前記代表特徴ベクトルを記憶し、
前記トラヒックデータ収集ステップは、前記短時間フローごとに、前記特徴種別のそれぞれについて前記フロー特徴ベクトルを計算し、
前記分類処理ステップは、前記同時フローと前記サービスカテゴリとの類似度に代えて、前記特徴種別ごとに種別類似度を計算し、これら種別類似度を統計処理することにより前記類似度を計算する
ことを特徴とするフロー分類方法。
【請求項5】
請求項1〜請求項4のいずれか1つに記載のフロー分類方法において、
サービスカテゴリ作成部が、対応するアプリケーションがパケットごとにそれぞれ既知である教師パケット列について、前記入力パケット列と同様にして生成した短時間フローごとに前記フロー特徴量を計算し、前記アプリケーションのうちから選択した2つの異なるアプリケーションごとに、これらアプリケーションに属する前記フロー特徴量の分散、平均値、および要素数に基づいて、当該アプリケーション間のクラス内分散とクラス間分散との分散比を計算し、得られた分散比が判定しきい値より小さい場合には、これらアプリケーションを同一サービスカテゴリに分類し、得られた分散比が判定しきい値以上の場合には、これらアプリケーションを別個のサービスカテゴリに分類することにより、サービスカテゴリをそれぞれ作成するサービスカテゴリ作成ステップと、
特徴量計算部が、前記サービスカテゴリ作成ステップで作成した前記サービスカテゴリごとに、当該サービスカテゴリに分類された前記アプリケーションに属する前記フロー特徴量から、当該サービスカテゴリに分類されるフローの特徴を示すフロー特徴量を計算して、前記特徴量データベースへ保存する特徴量計算ステップと
をさらに備えることを特徴とするフロー分類方法。
【請求項6】
請求項5に記載のフロー分類方法において、
前記特徴量計算ステップは、当該サービスカテゴリに分類された前記アプリケーションに属する前記フロー特徴量をクラスタリングし、得られたクラスタごとに、当該クラスタに属する前記フロー特徴量からなる時系列データに基づき、これらフロー特徴量の時間的変化の特徴を示す特徴ベクトルを計算し、得られた特徴ベクトルを当該サービスクラスの前記代表特徴ベクトルとして前記特徴量データベースへ保存することを特徴とするフロー分類方法。
【請求項7】
通信網から収集した入力パケット列に基づいて前記通信網上のトラヒックに含まれるフローごとに当該フローの特徴を示す特徴量を計算し、これら特徴量に基づいて前記フローをデータ通信サービスのサービスカテゴリごとに分類するフロー分類システムであって、
前記サービスカテゴリごとに、当該サービスカテゴリに分類されるフローの特徴を示す代表特徴ベクトルを記憶する特徴量データベースと、
前記入力パケット列に含まれるパケットのうち、当該パケットから取得した分類用の識別情報が同一のパケットであって、かつ到着間隔が基準到着間隔以下である複数のパケットを、1つのフローとして統合し、これらフローのうち、当該フローに含まれるパケットの送信先IPアドレスが同一のフローであって、かつフロー開始間隔が基準開始間隔以下である複数のフローを、1つの同時フローとして統合し、これら同時フローごとに、当該同時フローに含まれるパケットのうち、単位到着間隔内に到着した複数のパケットを、1つの短時間フローとして統合し、これら短時間フローごとに、当該短時間フローに含まれるパケットのパケット数、パケットサイズ、または到着間隔を統計処理することにより、当該短時間フローの特徴を示すフロー特徴量を計算し、これら短時間フローごとのフロー特徴量からなる時系列データから、前記同時フローごとに前記フロー特徴量の時間的変化の特徴を示すフロー特徴ベクトルを計算するトラヒックデータ収集部と、
前記各同時フローについて、前記サービスカテゴリごとに、当該同時フローに関する前記フロー特徴ベクトルと当該サービスカテゴリの前記代表特徴ベクトルとに基づいて、当該同時フローと当該サービスカテゴリとの類似性を示す類似度を計算し、これら類似度のうち最も高い類似性を示す最高類似度が所定の有意範囲に含まれる場合には、当該同時フローを当該最高類似度が得られたサービスカテゴリに分類し、前記最高類似度が前記有意範囲に含まれない場合には、当該同時フローを新たなサービスカテゴリに分類する分類処理部と
を備えることを特徴とするフロー分類システム。
【請求項8】
請求項7に記載のフロー分類システムにおいて、
前記トラヒックデータ収集部は、前記時系列データを線形予測分析を行うことにより前記同時フローのフロー特徴量を示す伝達関数の線形予測係数を求め、これら線形予測係数をケプストラム分析することにより、当該同時フローのフロー特徴量に関するスペクトル包絡特性を示すケプストラム係数を求め、これらケプストラム係数から前記フロー特徴ベクトルを生成する
ことを特徴とするフロー分類システム。
【請求項9】
コンピュータに、請求項1〜請求項6のいずれか1つに記載したフロー分類方法の各ステップを実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate