(57)【特許請求の範囲】
【請求項１】
入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出し、
算出された周期性判別指標を用いて、前記数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する
ことを特徴とする周期性検出方法。
【請求項２】
入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布とを比較し、各相対度数分布の区間ごとに算出される差異の最大値を、相対度数分布全体に渡る差異の和で除することで周期性判別指標を算出する
請求項１記載の周期性検出方法。
【請求項３】
周期性の有無を判別する基準である検出閾値と、算出された周期性判別指標とを比較して、入力される数値データに１または複数の周期成分を含む周期性の有無を判別する
請求項１または請求項２記載の周期性検出方法。
【請求項４】
１または複数の周期成分を示す数値データと基準分布とを合成して疑似数値データを生成し、生成した疑似数値データに対し、周期性判別指標を算出する方法と同一の方法で仮指標を算出し、算出した仮指標の値に所定の割合を乗じて検出閾値を決定する
請求項３記載の周期性検出方法。
【請求項５】
周期性を有すると判別された数値データから、１または複数の周期成分を特定する
請求項１から請求項４のうちのいずれか１項に記載の周期性検出方法。
【請求項６】
検出対象の周期成分として考慮しなくてよい数値が入力される数値データに含まれるときに、当該数値を除外する
請求項１から請求項５のうちのいずれか１項に記載の周期性検出方法。
【請求項７】
入力される数値データの度数分布と、入力される数値データについて想定される基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する指標を算出する
請求項１から請求項６のうちのいずれか１項に記載の周期性検出方法。
【請求項８】
入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出手段と、
前記指標算出手段が算出した周期性判別指標を用いて、前記数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別手段とを備えた
ことを特徴とする周期性検出装置。
【請求項９】
時刻順に列挙されたパケットデータから検出対象とするパケットデータを抽出し、時系列で前後するパケットデータの時間間隔を数値データとして生成する数値データ作成手段と、
前記数値データにおける周期性の有無を検出する周期性検出装置とを備え、
前記周期性検出装置は、
前記数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出手段と、
前記指標算出手段で算出された周期性判別指標を用いて、前記数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別手段とを含む
ことを特徴とするパケット監視システム。
【請求項１０】
コンピュータに、
入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出処理、および、
前記指標算出処理で算出された周期性判別指標を用いて、前記数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別処理
を実行させるための周期性検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意の形式の数値データが持つ周期性を検出する周期性検出方法、周期性検出装置、パケット監視システムおよび周期性検出プログラムに関する。
【背景技術】
【０００２】
様々な情報処理、情報通信分野において、数値データの特性を解析する手段の一つとして、数値データの持つ周期性を検出することが求められている。数値データの持つ「周期性」とは、数値データ系列の中に一定の数値パターンの繰り返しが存在することを意味する。【０００３】
図１７は、数値パターンの繰り返しの例を示す説明図である。処理対象となる数値データには、例えば、図１７に示すように周期的な時間間隔を意味するものや、距離あるいは長さなど、周期的な位置間隔を意味するものも含まれる。【０００４】
一般に、数値データの持つ周期性を検出する際には、実際に数値データ内にどのような周期性が存在するかについての情報は与えられずに、検出を行わなければならない場合がある。また、周期パターンを構成する周期成分には、図１７に示すようにランダム性を含む場合もあれば、微小な変動が含まれる場合もある。ここで「周期成分」とは、周期性を示す繰り返しパターンを構成する数値データの要素のことを指す。【０００５】
このような数値データの周期性を検出する装置あるいは手法の例が特許文献１および非特許文献１に記載されている。特許文献１には、連続するｎ個の数値データに対してｎ次元位相空間を定義し、空間内の周期成分を示す特徴点を抽出することで周期パターンを検出する周期性検出装置が記載されている。【０００６】
特許文献１に記載された周期性検出装置は、数値データにより定まるｎ次元空間内の座標位置に当該数値データの出現頻度を記録し、出現頻度の高い座標位置を、周期成分を示す特徴点として抽出する。数値データ内に、特定の繰り返しパターンとなる周期性が存在する場合は、周期パターンを構成する周期成分について、ｎ次元空間内の最初の周期成分に相当する特徴点を出発し、特徴点として抽出した１または複数の座標位置を経由して、最後の周期成分に相当する特徴点に到達することが検知される。【０００７】
このとき、最初の周期成分に相当する特徴点と最後の周期成分に相当する特徴点とがｎ次元空間内で一致し、経由する特徴点の軌跡が閉ループを構成する。閉ループを構成する最初の特徴点と最後の特徴点が一致するということは、同一の数値データの要素が出現したことを意味する。そのため、この結果を周期性とみなすことができる。特許文献１に記載された周期性検出装置は、上記の性質を利用して数値データ内の周期パターンを検出する。【０００８】
非特許文献１に記載された周期性検出方法では、実数で表される数値データに対し、あらかじめ与えられた値に従い実数軸を等間隔に分割し、各区間をスロットとして定義する。その後、各スロットに処理対象の数値データが存在するか否かを判定し、数値データが存在すると判定されたスロットにはフラグが付与される。そして、フラグが付与されたスロットの間隔を探索することで周期成分を特定し、周期パターンを検出する。【０００９】
具体的には、非特許文献１に記載された周期性検出方法では、全スロットに渡り考えられる限りすべてのスロット間隔の可能性について総当たりで探索が行われる。例えば、１スロットおき、２スロットおき・・・のように順に探索が行われる。実数軸上にＮスロットあった場合にはスロット間隔の候補数はＮ／２通りとなり、全ての候補について探索が行われることになる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平７−９２９７５号公報
【非特許文献】
【００１１】
【非特許文献１】F. Qian, Z. Wang, Y. Gao, J. Huang, A. Gerber, Z. M. Mao, S.Sen, O. Spatscheck, “Periodic Transfers in Mobile Applications: Network-wide Origin, Impact, and Optimization,” in Proceedings of the 21st international conference on World Wide Web, pp. 51-60, 16-20 Apr., 2012.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１および非特許文献１に記載された周期性検出方法では、周期性を示す周期パターンとして数値データに含まれる繰り返しパターンを特定することを目的としている。一方、複数のデータセットが与えられ、周期性を含むデータあるいは周期性を含まないデータの分類を行う場合など、単純に「入力される数値データに周期性が存在するか否か」を判別する装置が必要な場合がある。【００１３】
特許文献１および非特許文献１に記載された周期性検出方法を、入力される数値データ内の周期性の有無を判別する判別方法として適用することも可能である。例えば、周期パターンが特定された場合には入力された数値データに周期性が存在し、周期パターンが特定されない場合には入力された数値データに周期性は存在しない、と判定することにより数値データ内の周期性の有無を判別することができる。【００１４】
上述するように、特許文献１に記載された周期性検出装置は、連続するｎ個の数値データに対して定義されるｎ次元位相空間内に、数値データにより定まる座標位置の出現頻度を評価する。この評価により、周期成分に相当する特徴点が抽出され、この特徴点を基に数値データ内の周期パターンの検出が行われる。【００１５】
特徴点の抽出は、数値データ内に連続するｎ個の要素それぞれに対しｎ次元空間内の座標位置を特定し、その座標位置に保持する評価値を更新する必要があるため計算量の多い処理である。しかし、周期性の有無を判別する判別装置として特許文献１に記載された周期性検出装置を適用すると、「入力される数値データに周期性が存在するか否か」を調べるためだけに、ｎ次元空間内の座標位置を特定するという計算量の多い処理を行ってしまう問題があった。【００１６】
また、上述するように、非特許文献１に記載された周期性検出方法では、あらかじめ与えられた値に従い実数軸をスロットと呼ばれる等間隔の区間へ分割し、数値データが存在するスロットの間隔を探索することで周期成分を特定して、周期パターンを検出する。非特許文献１に記載された周期性検出方法では、全スロットに渡り考えられる限りすべてのスロット間隔の可能性について総当たりで探索するため、実数軸上に定義したスロット数に比例して探索するスロット間隔の候補数が増大する。【００１７】
例えば、実数軸上にＮスロットあった場合において２回以上同じ数値が連続した場合を周期性とみなすとき、スロット間隔の候補数はＮ／２通りとなり、少なくともＮ／２回の繰り返し処理となるため、計算量が増える要因となる。非特許文献１に記載された周期性検出方法を、周期性の有無を判別する判別装置として適用した場合には、「入力される数値データに周期性が存在するか否か」を判別するためだけに、少なくともＮ／２回の繰り返し処理を行うため、計算量が多くなる問題があった。【００１８】
そこで、本発明は、数値データに周期性が存在するか否かを計算量を抑えて検出できる周期性検出方法、周期性検出装置、パケット監視システムおよび周期性検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明による周期性検出方法は、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出し、算出された周期性判別指標を用いて、数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別することを特徴とする。【００２０】
本発明による周期性検出装置は、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出手段と、指標算出手段が算出した周期性判別指標を用いて、数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別手段とを備えたことを特徴とする。【００２１】
本発明によるパケット監視システムは、時刻順に列挙されたパケットデータから検出対象とするパケットデータを抽出し、時系列で前後するパケットデータの時間間隔を数値データとして生成する数値データ作成手段と、数値データにおける周期性の有無を検出する周期性検出装置とを備え、周期性検出装置が、数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出手段と、指標算出手段で算出された周期性判別指標を用いて、数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別手段とを含むことを特徴とする。【００２２】
本発明による周期性検出プログラムは、コンピュータに、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出処理、および、指標算出処理で算出された周期性判別指標を用いて、数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別処理を実行させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、数値データに周期性が存在するか否かを計算量を抑えて検出できる。
【図面の簡単な説明】
【００２４】
【図１】本発明による周期性検出装置の第１の実施形態の構成例を示すブロック図である。
【図２】数値データの例を示す説明図である。
【図３】指標を算出する方法の例を示す説明図である。
【図４】第１の実施形態の周期性検出装置１の動作例を示すフローチャートである。
【図５】本発明による周期性検出装置の第２の実施形態の構成例を示すブロック図である。
【図６】第２の実施形態の周期性検出装置２の動作例を示すフローチャートである。
【図７】本発明による周期性検出装置の第３の実施形態の構成例を示すブロック図である。
【図８】第３の実施形態の周期性検出装置３の動作例を示すフローチャートである。
【図９】本発明による周期性検出装置の第４の実施形態の構成例を示すブロック図である。
【図１０】第４の実施形態の周期性検出装置４の動作例を示すフローチャートである。
【図１１】パケット監視システムの構成例を示すブロック図である。
【図１２】具体例におけるパケット監視システム１００の動作例を示すフローチャートである。
【図１３】相対度数分布の例を示す説明図である。
【図１４】具体例におけるパケット監視システム１００が出力する結果の例を示す説明図である。
【図１５】本発明による周期性検出装置の概要を示すブロック図である。
【図１６】本発明によるパケット監視システムの概要を示すブロック図である。
【図１７】数値パターンの繰り返しの例を示す説明図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照して本発明の実施形態および実施例について詳細に説明する。
【００２６】
実施形態１．
図１は、本発明による周期性検出装置の第１の実施形態の構成例を示すブロック図である。本実施形態の周期性検出装置１は、指標算出手段１１と、判別手段１２と、出力手段１３とを備えている。指標算出手段１１は、判別手段１２に接続され、判別手段１２は、指標算出手段１１と出力手段１３とにそれぞれ接続され、出力手段１３は、判別手段１２に接続される。
【００２７】
図２は、数値データの例を示す説明図である。周期性検出装置１は、例えば、図２に例示する数値データに周期性が存在するか否かを検出する。
【００２８】
指標算出手段１１は、外部装置（図示せず）から、例えば図２に示される数値が列挙された数値データを受け付ける。さらに指標算出手段１１は、外部装置（図示せず）から少なくとも度数分布の階級幅と所定の基準分布から構成される周期性判別指標を算出するための算出パラメータを受け付ける。指標算出手段１１は、入力される数値データの相対度数分布と所定の基準分布に従う相対度数分布とを比較して、度数分布の各区間における差異に基づいて周期性の有無を判別する指標を算出し、算出した指標を判別手段１２へ出力する。
【００２９】
所定の基準分布は、入力される数値データについて想定される分布が設定される。例えば、確率分布である一様分布や指数分布を所定の基準分布として適用してもよいし、使用者が任意に定めた分布を所定の基準分布として適用してもよい。
【００３０】
なお、入力される数値データの理想的な分布が周知である場合、理想的な数値データが入力された場合におけるその数値データの分布を所定の基準分布として設定することが好ましい。ただし、例えば、過去取得した異なるデータセットを単純に適用する場合も想定されるため、必ずしも使用者が想定する理想的な数値データに限定して基準分布を定めなくてもよい。
【００３１】
図３は、指標を算出する方法の例を示す説明図である。指標算出手段１１は、図３に例示するように、入力される数値データの相対度数分布と、所定の基準分布に従う相対度数分布との区間ごとに得られる差異の最大値を、相対度数分布全体に渡る差異の和で除して指標を算出してもよい。ただし、指標を算出する方法は、図３に例示する方法に限定されない。
【００３２】
判別手段１２は、指標算出手段１１から周期性の有無を判別するために算出した指標を受け取る。さらに判別手段１２は、外部装置（図示せず）から周期性が存在するか否かの判断基準となる所定の検出閾値の入力を受け付ける。判別手段１２は、受け取った指標と検出閾値とを比較することにより、入力される数値データに１または複数の周期成分を含む周期性が存在するか否かを判別し、判別した結果を出力手段１３へ出力する。
【００３３】
上述するように、「周期成分」とは、周期性を示す繰り返しパターンを構成する数値データの要素のことを指す。また、周期パターンを構成する周期成分には、図１７に示すようにランダム性を含む場合もあれば、微小な変動が含まれる場合もある。
【００３４】
検出閾値は、任意に設定される。例えば、図３に例示する定義式で算出される指標が適用された場合、分母であるΣｉＤＧｉは、２つの相対度数分布が完全に一致するときに０、全く異なるときに２となるため、取り得る値の範囲は０以上２以下となる。一方、分子であるｍａｘｉＤＧｉは区間ｉにおける差異であるため最大でも１である。従って、図３に例示する定義式により算出される指標の取り得る値の範囲は０以上０．５以下である。ここで、２つの相対度数分布が完全に一致する場合は分母の値と分子の値それぞれが０となり不定となるため０と定義する。そのため、利用者は、この範囲内で任意の数値を適用すればよい。判別手段１２は、算出した指標が閾値以上となる場合に周期性が存在すると判断し、前記指標が閾値以下となる場合に周期性は存在しないと判断する。ただし、検出閾値の具体的な値は、上記範囲に限定されない。利用者は、指標算出手段１１に適用される指標の算出方法に応じて検出閾値を設定すればよい。
【００３５】
出力手段１３は、入力された数値データに周期性が存在するか否かについて判別手段１２の判断に従い、入力された数値データに周期性が存在するか否かを外部装置（図示せず）へ出力する。
【００３６】
指標算出手段１１と、判別手段１２と、出力手段１３とは、プログラム（周期性検出プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、周期性検出装置１の記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、指標算出手段１１、判別手段１２及び出力手段１３として動作してもよい。また、指標算出手段１１と、判別手段１２と、出力手段１３とは、それぞれが専用のハードウェアで実現されていてもよい。
【００３７】
次に、本実施形態の周期性検出装置１の動作を説明する。図４は、本実施形態の周期性検出装置１の動作例を示すフローチャートである。指標算出手段１１は、外部装置（図示せず）から数値データの入力を受け付ける。さらに指標算出手段１１は、外部装置（図示せず）から、例えば少なくとも度数分布の階級幅と所定の基準分布から構成される、周期性判別指標を算出するための算出パラメータを受け付ける。そして、指標算出手段１１は、入力された数値データの相対度数分布を計算する（ステップＳ１）。
【００３８】
指標算出手段１１は、受け付けた算出パラメータに含まれる所定の基準分布を参照し、基準分布に従う相対度数分布を計算する（ステップＳ２）。続いて指標算出手段１１は、入力された数値データの相対度数分布と所定の基準分布に従う相対度数分布とを比較し、相対度数分布上の区間ごとの差分に基づき周期性の有無を判別する周期性判別指標を算出する。指標算出手段１１は、算出した周期性判別指標を判別手段１２へ出力する（ステップＳ３）。
【００３９】
判別手段１２は、算出された周期性判別指標を指標算出手段１１から受け取り、外部装置（図示せず）から周期性が存在するか否かの判断基準となる所定の検出閾値の入力を受け付ける。判別手段１２は、周期性判別指標と検出閾値とを比較することにより、入力された数値データに周期性が存在するか否かを判別し、判別結果を出力手段１３へ通知する（ステップＳ４）。
【００４０】
出力手段１３は、周期性の有無の判別結果を判別手段１２から受け取り、受け取った判別結果を外部装置（図示せず）へ出力する（ステップＳ５）。
【００４１】
以上のように、本実施形態によれば、指標算出手段１１が、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて周期性判別指標を算出し、判別手段１２が、周期性判別指標を用いて周期性の有無を判別する。具体的には、例えば図３に示される例においては、基準分布Ｆと入力数値データの分布の２つの相対度数分布の差異の最大値（図３においてｘｉおよびｆｉの矢印で示される部分）から算出される指標が検出閾値を超えるため、周期性の有無を検出できる。よって、数値データに周期性が存在するか否かを計算量を抑えて検出できる。
【００４２】
すなわち、本実施形態では、指標算出手段１１が入力される数値データと所定の基準分布のそれぞれに従う２つの相対度数分布における区間ごとの差分に基づいて指標を算出することで、入力される数値データ内に周期性が存在するか否かを判別する。指標算出手段１１が行う演算処理は、度数分布に基づいているため、１次元空間内での座標位置を特定することに相当している。かつ、指標算出手段１１が行う演算処理では、入力される数値データの各要素について１度だけ参照することで指標の算出を行えるため、繰り返し処理を行う必要がない。これにより、周期性検出装置１は、ランダム性や変動を含む入力数値データに対し、周期性が存在するか否かの判別を行うための計算量を軽減することが可能になる。
【００４３】
また、周期性検出装置１は、判別手段１２が、指標算出手段１１から受け取った周期性判別指標と、外部から入力された検出閾値とを比較して、入力された数値データ内に周期性が存在するか否かを判別する。これにより、入力される検出閾値を変更することで、周期性の有無を検出することに対する感度を調整することが可能となり、周期性検出装置１の性能調整が容易になる。
【００４４】
実施形態２．
図５は、本発明による周期性検出装置の第２の実施形態の構成例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。本実施形態の周期性検出装置２は、指標算出手段１１と、判別手段１２と、出力手段１３と、検出閾値決定手段２４とを備えている。
【００４５】
検出閾値決定手段２４は、判別手段１２に接続され、入力装置（図示せず）から閾値決定パラメータの入力を受け付ける。すなわち、第２の実施形態と第１の実施形態との相違は、周期性検出装置２が検出閾値決定手段２４をさらに備える点である。その他の構成要素は、第１の実施形態と同様である。
【００４６】
検出閾値決定手段２４は、入力装置（図示しない）から閾値決定パラメータを受け取り、入力される数値データ内の周期性の有無を判別するための基準となる検出閾値を決定し、判別手段１２へ出力する。閾値決定パラメータは、少なくとも指標算出手段１１に与えられる算出パラメータに含まれる基準分布と同一の基準分布、および、検出閾値の算出に用いられる所定の割合を含む。
【００４７】
検出閾値決定手段２４が検出閾値を決定する方法は任意である。例えば、図３に例示する定義式から算出される指標を適用する場合、検出閾値決定手段２４は、その指標の取り得る値である０以上０．５以下の範囲で任意の値を出力可能なアルゴリズムを利用して検出閾値を決定してもよい。
【００４８】
検出閾値決定手段２４は、閾値決定パラメータとして周期性判別指標の算出に用いられる基準分布と同一の分布を入力装置（図示せず）から受け取ったとき、受け取った基準分布に１または複数の周期成分を示す数値データを任意の割合で加えることで周期成分を持つ疑似数値データを合成してもよい。そして、検出閾値決定手段２４は、入力される数値データに代えて、この疑似数値データを用いて、指標算出手段１１が周期性判別指標を算出する方法と同様の方法で周期性判別指標（以下、仮閾値と記すこともある。）を算出し、算出した仮閾値に所定の割合を乗算することで検出閾値を決定してもよい。
【００４９】
ただし、検出閾値を決定する方法は、上記方法に限定されない。検出閾値決定手段２４は、周期性判別指標の取り得る値の範囲内で周期性が存在する可能性が高いと判断可能な値に決定する任意の方法を用いて検出閾値を決定してもよい。また、適用する検出閾値の決定方法に応じて、適切な閾値決定パラメータに変更してもよい。
【００５０】
検出閾値決定手段２４も、プログラム（周期性検出プログラム）に従って動作するコンピュータのＣＰＵによって実現される。また、検出閾値決定手段２４は、専用のハードウェアで実現されていてもよい。
【００５１】
次に、本実施形態の周期性検出装置２の動作を説明する。図６は、本実施形態の周期性検出装置２の動作例を示すフローチャートである。なお、第１の実施形態と同様の動作については図４と同一の記号を付し、詳細な説明を省略する。
【００５２】
第２の実施形態の周期性検出装置２は、以下の点で第１の実施形態の周期性検出装置１と異なる。
【００５３】
まず、本実施形態では、初めに、検出閾値決定手段２４が、入力装置（図示せず）から少なくとも指標算出手段１１が受け付ける基準分布と同一の基準分布と、閾値の算出に用いられる所定の割合を含む閾値決定パラメータを受け取る。検出閾値決定手段２４は、１または複数の周期成分を示す数値データを任意の割合で加えることで疑似数値データを生成する。そして、検出閾値決定手段２４は、指標算出手段１１が指標を算出する方法と同様の方法を用いて仮指標を算出し、閾値決定パラメータに含まれる所定の割合を仮指標に乗算することで検出閾値を決定する（ステップＳ１１）。
【００５４】
また、本実施形態では、ステップＳ４において、判別手段１２が、検出閾値決定手段２４から周期性の有無を判別するための基準となる検出閾値を受け取る。判別手段１２は、指標算出手段１１が算出した周期性判別指標と、検出閾値とを比較することで、入力される数値データ内に周期性が存在するか否かを判別し、判別結果を出力手段１３へ通知する。
【００５５】
以上のように、本実施形態によれば、検出閾値決定手段２４が、判別手段１２が周期性の有無を判別するために用いる検出閾値を決定する。具体的には、検出閾値決定手段２４が、基準分布に１または複数の周期成分を示す数値データを合成することで疑似数値データを生成する。検出閾値決定手段２４は、指標算出手段１１が周期性判別指標を算出する方法と同様の方法で仮閾値を算出し、その仮閾値に所定の割合を乗算することで検出閾値を決定する。
【００５６】
これにより、ポリシーとして与えられる基準分布あるいは所定の割合などの閾値決定パラメータを変更するだけで、周期性の判別の基準となる閾値の再計算を自動化することが可能になる。よって、基準分布または所定の割合に変更が生じた際にも、ユーザの操作回数を減らすことができるため、閾値の変更に関わるオペレーションコストを低減できる。この点は、リアルタイム監視を行うシステムへ周期性検出装置２を適用する際の利点にもなる。
【００５７】
実施形態３．
図７は、本発明による周期性検出装置の第３の実施形態の構成例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。本実施形態の周期性検出装置３は、指標算出手段１１と、判別手段３２と、出力手段３３と、周期成分特定手段３５と、周期パターン検出手段３６とを備えている。
【００５８】
判別手段３２は、指標算出手段１１と出力手段３３と周期成分特定手段３５とにそれぞれ接続され、入力装置（図示せず）から検出閾値の入力を受け付ける。また、出力手段３３は、判別手段３２と周期パターン検出手段３６とにそれぞれ接続され、周期成分特定手段３５は、判別手段３２と周期パターン検出手段３６とにそれぞれ接続される。周期パターン検出手段３６は、周期成分特定手段３５と出力手段３３とにそれぞれ接続され、外部装置（図示せず）から数値データの入力を受け付ける。
【００５９】
すなわち、第３の実施形態の周期性検出装置３は、出力手段１３が出力手段３３になっている点、周期成分特定手段３５および周期パターン検出手段３６をさらに備える点において、第１の実施形態の周期性検出装置１と異なる。その他の構成要素は、第１の実施形態と同様である。
【００６０】
判別手段３２は、指標算出手段１１から周期性判別指標を受け取り、さらに外部装置（図示せず）から周期性が存在するか否かの判断基準となる所定の検出閾値の入力を受け付ける。そして、判別手段３２は、周期性判別指標と検出閾値とを比較することにより、入力された数値データに１または複数の周期成分を含む周期性が存在するか否かを判別する。ここで、判別手段３２が受け付ける検出閾値の内容は、判別手段１２が受け付ける検出閾値の内容と同様である。
【００６１】
判別手段３２は、入力された数値データに周期性が存在すると判別した場合、周期性が存在する旨を周期成分特定手段３５に出力する。一方、入力された数値データに周期性が存在しないと判別した場合、判別手段３２は、周期性が存在しない旨を出力手段３３へ出力する。
【００６２】
周期成分特定手段３５は、判別手段３２から入力された数値データに周期性が存在する旨を受け付けた場合に、１または複数の周期成分を特定し、周期パターン検出手段３６に出力する。
【００６３】
周期成分特定手段３５は、例えば、指標算出手段１１が周期性判別指標を算出する過程で算出した各区間の指標を利用して周期成分を特定してもよい。具体的には、指標算出手段１１が、入力される数値データの相対度数分布と、予め与えられる基準分布に従う相対度数分布とを比較して、区間ごとに両相対度数分布の差異を算出する。
【００６４】
このとき、周期成分特定手段３５は、算出した差異が予め与えられる閾値より大きい値をとる１または複数の区間を周期成分として特定してもよい。また、周期成分特定手段３５は、さらに、算出した分布全体の差異の和で各区間の差異を除して、区間ごとに指標を算出してもよい。この場合、周期成分特定手段３５は、予め与えられる所定の閾値より大きい指標を有する１または複数の区間を周期成分として特定してもよい。
【００６５】
また、周期成分を特定する際に用いられる所定の閾値に、第２の実施形態の検出閾値決定手段２４が決定する検出閾値を用いてもよい。この場合、周期性検出装置３が、検出閾値決定手段２４を備えるようにすればよい。
【００６６】
ただし、周期成分の特定方法は、上記方法に限定されない。周期成分特定手段３５は、入力される数値データの度数分布を用いて、出現頻度が予め与えられる所定の頻度より高い１または複数の区間を周期成分として特定する方法を用いて周期成分を特定してもよい。また、周期成分特定手段３５は、全区間の中で最頻値となる区間を、周期成分を含む区間として特定してもよい。
【００６７】
また、周期成分特定手段３５は、入力される数値データの相対度数分布と、予め与えられる基準分布に従う相対度数分布とを比較したときに、各相対度数分布の区間ごとの差異が最大値をとる区間を、周期成分を含む区間として特定してもよい。
【００６８】
さらに、周期成分特定手段３５は、内部で、指標算出手段１１が指標を算出する処理および判別手段３２が周期性が存在するか否かを判別する処理を繰り返し行って、複数の周期成分を特定してもよい。
【００６９】
具体的には、周期成分特定手段３５は、差異が最大値をとる区間を周期成分を含む区間と特定した後、その区間の差異を０とする新たな相対度数分布を生成し、その相対度数分布を利用して上述する繰り返し処理を行うことで、周期成分を含む区間を特定してもよい。このとき、周期成分特定手段３５は、周期性が存在すると判断する間は、この処理を繰り返してもよい。なお、区間の差異を０とする新たな相対度数分布を生成するとは、その区間を周期成分と特定する対象から除外することであると言える。このような繰り返し処理を行うことで、複数の周期成分を特定できる。
【００７０】
周期パターン検出手段３６は、外部装置（図示せず）から数値データの入力を受け付ける。さらに、周期パターン検出手段３６は、入力された数値データ内から特定された１または複数の周期成分の情報を周期成分特定手段３５から受け取る。そして、周期パターン検出手段３６は、所定の方法に基づき、入力された数値データ内に存在する１または複数の周期成分を含む周期パターンを特定し、特定した周期パターンを出力手段３３へ通知する。
【００７１】
周期パターン検出手段３６は、周期パターンの検出を行う所定の方法として、例えば、同一の数値が連続して出現する部分を周期パターンとして検出する方法を用いてもよい。ただし、周期パターンを検出する方法は、上記方法に限定されない。周期パターン検出手段３６は、例えば、特許文献１あるいは非特許文献１に記載された方法を用いて、周期パターンを検出してもよい。すなわち、周期パターン検出手段３６は、周期的とみなせる繰り返しパターンを特定可能な任意のアルゴリズムを用いればよい。
【００７２】
出力手段３３は、判別手段３２において入力された数値データに周期性が存在しないと判別された場合、判別手段３２から入力された数値データに周期性が存在しないことを受け取り、その旨を外部装置（図示せず）へ出力する。また、出力手段３３は、判別手段３２において入力された数値データに周期性が存在すると判別された場合、特定された周期パターンを示す情報を周期パターン検出手段３６から受け取り、外部装置（図示せず）へ出力する。
【００７３】
ここで、入力された数値データに周期性が存在する場合に、出力手段３３が、周期パターンを示す情報を出力する形式は、特に限定されない。出力手段３３は、例えば、抽出された周期パターンに含まれる数値そのものを出力してもよいし、周期パターンごとに何回出現したかをヒストグラムにまとめるなどの加工を行い、統計データとして出力してもよい。
【００７４】
指標算出手段１１と、判別手段３２と、出力手段３３と、周期成分特定手段３５と、周期パターン検出手段３６とは、プログラム（周期性検出プログラム）に従って動作するコンピュータのＣＰＵによって実現される。また、指標算出手段１１と、判別手段３２と、出力手段３３と、周期成分特定手段３５と、周期パターン検出手段３６とは、それぞれが専用のハードウェアで実現されていてもよい。
【００７５】
次に、本実施形態の周期性検出装置３の動作を説明する。図８は、本実施形態の周期性検出装置３の動作例を示すフローチャートである。なお、第１の実施形態と同様の動作については図４と同一の記号を付し、詳細な説明を省略する。
【００７６】
入力された数値データ、度数分布の階級幅および所定の基準分布から周期性判別指標を算出するステップＳ１〜Ｓ３の処理は、第１の実施形態の周期性検出装置１と同様である。一方、第３の実施形態の周期性検出装置３は、以下の点で第１の実施形態の周期性検出装置１と異なる。
【００７７】
本実施形態では、ステップＳ４において、判別手段３２は、外部装置（図示せず）から所定の検出閾値の入力を受け付け、指標算出手段１１が算出した周期性判別指標と検出閾値とを比較し、入力された数値データに周期性が存在するか否かを判別する（ステップＳ４）。
【００７８】
周期性が存在すると判別した場合（ステップＳ４で「存在する」の場合）、判別手段３２は、周期性が存在する旨を周期成分特定手段３５に出力する。一方、周期性が存在しないと判別した場合（ステップＳ４で「存在しない」の場合）、判別手段３２は、周期性が存在しない旨を出力手段３３へ出力する。
【００７９】
次に、本実施形態では、周期成分特定手段３５が、入力された数値データに周期性が存在することを判別手段３２から受け取った場合、１または複数の周期成分を特定し、特定した周期成分を示す情報を周期パターン検出手段３６に出力する（ステップＳ２１）。
【００８０】
次に、本実施形態では、周期パターン検出手段３６が、周期成分特定手段３５から受け取った周期成分の情報に基づき、外部装置（図示せず）から入力された数値データ内において周期的とみなせる繰り返しパターンの特定を行う。そして、周期パターン検出手段３６は、その繰り返しパターンを周期パターンとして抽出し、抽出した結果を出力手段３３へ通知する（ステップＳ２２）。
【００８１】
次に、本実施形態では、出力手段３３が、周期パターン検出手段３６から抽出した周期パターンを受け取った場合、抽出された周期パターンを外部装置（図示せず）へ出力する。一方、入力された数値データに周期性が存在しないことを判別手段３２から受け取った場合、周期成分が存在しないことを外部装置（図示せず）へ出力する（ステップＳ２３）。
【００８２】
以上のように、本実施形態によれば、周期成分特定手段３５が、判別手段３２によって周期性を有すると判別された数値データから、１または複数の周期成分を含む周期パターンを特定する。具体的には、本実施形態の周期性検出装置３は、判別手段３２によって入力された数値データ内に周期性が存在すると判断された場合に限り、周期成分特定手段３５が、入力された数値データ内に含まれる１または複数の周期成分を特定する。そして、このときに、周期パターン検出手段３６が、所定の方法に基づいて、入力された数値データ内に存在する周期パターンを特定する。
【００８３】
これにより、周期性検出装置３は、入力された数値データに周期性が存在するか否かを予め判別した状態で周期パターンを検出できる。そのため、周期性検出装置３は、周期性が存在しないと判別された数値データに対しては周期パターンの探索を行わず、周期性が存在する数値データに絞って周期パターンの探索を行うことができる。すなわち、本実施形態によれば、周期性の有無を予め判別することで探索範囲を絞り込むことができる。
【００８４】
この点は、周期性を含む数値データと含まない数値データとが混合した複数のデータセットに対して、周期性を検出する処理を繰り返し行う状況において効果を発揮する。
【００８５】
周期パターンの検出を行う所定の方法に、例えば、特許文献１あるいは非特許文献１に記載された方法を用いた場合でも、周期性の有無を予め判別しない場合と比べると、結果として周期パターン検出手段３６による計算量を軽減できる。
【００８６】
また、本実施形態の周期性検出装置３では、周期パターン検出手段３６に周期パターンを特定させる前に、周期成分特定手段３５が、入力された数値データに含まれる周期成分を特定し、特定した周期成分の情報を周期パターン検出手段３６に通知する。これにより、周期パターンに含まれる周期成分が判明した状態で周期パターンを特定できるため、周期パターンを検出する処理が簡素化でき、計算量を減らすことができる。
【００８７】
例えば、特許文献１に記載された方法を周期パターンの検出を行う所定の方法として適用した場合、特徴点として抽出される座標位置の候補を予め絞り込むことができる。また、例えば、非特許文献１に記載された方法を周期パターンの検出を行う所定の方法として適用した場合、周期成分はスロット間隔に相当するため、探索するスロット間隔の候補数を削減できるので、計算量の削減が見込める。
【００８８】
また、本実施形態の周期性検出装置３は、指標算出手段１１が周期性判別指標を算出する過程で用いる相対度数分布と同一の相対度数分布を、周期成分特定手段３５も共通して用いることができる。これにより、指標算出手段１１が必要とする演算処理と周期成分特定手段３５が必要とする演算処理とを同時に行うことができるため、計算量を軽減できる。
【００８９】
実施形態４．
図９は、本発明による周期性検出装置の第４の実施形態の構成例を示すブロック図である。なお、第３の実施形態と同様の構成については、図７と同一の符号を付し、説明を省略する。本実施形態の周期性検出装置４は、指標算出手段１１と、判別手段３２と、出力手段３３と、周期成分特定手段３５と、周期パターン検出手段３６と、入力データ変換手段４７を備えている。
【００９０】
入力データ変換手段４７は、指標算出手段１１と、周期パターン検出手段３６とにそれぞれ接続され、入力装置（図示せず）から数値データの入力を受け付ける。すなわち、第４の実施形態と第３の実施形態との相違は、周期性検出装置４が入力データ変換手段４７をさらに備える点である。その他の構成要素は、第３の実施形態と同様である。
【００９１】
入力データ変換手段４７は、外部装置（図示せず）から数値データの入力を受け付ける。さらに、入力データ変換手段４７は、入力された数値データ内に検出対象の周期成分として考慮しなくてよい数値が含まれる場合に、その数値を示す要素を除外するための所定の除外ルールを外部装置（図示せず）から受け付ける。そして、入力データ変換手段４７は、所定の除外ルールに従い、入力された数値データからその要素を除外し、除外されずに残った数値データの要素を、指標算出手段１１と周期パターン検出手段３６とにそれぞれ出力する。
【００９２】
除外ルールの例として、例えば、予め与えられる所定の閾値より小さい要素を全て除外し、さらに除外した数値を一つ前の要素に加算する方法が挙げられる。ただし、除外ルールは、このような方法に限定されない。例えば、周期成分として無視することが可能な数値を任意に指定した除外ルールを用いてもよい。また、除外した数値の処理についても単純に除外することを規定した除外ルールを用いてもよい。
【００９３】
入力データ変換手段４７も、プログラム（周期性検出プログラム）に従って動作するコンピュータのＣＰＵによって実現される。また、入力データ変換手段４７は、専用のハードウェアで実現されていてもよい。
【００９４】
次に、本実施形態の周期性検出装置４の動作を説明する。図１０は、本実施形態の周期性検出装置４の動作例を示すフローチャートである。なお、第３の実施形態と同様の動作については図８と同一の記号を付し、詳細な説明を省略する。
【００９５】
第４の実施形態の周期性検出装置４は、以下の点で第３の実施形態の周期性検出装置３と異なる。
【００９６】
まず、本実施形態では、初めに、入力データ変換手段４７が、外部装置（図示せず）から数値データの入力を受け付ける。さらに、入力データ変換手段４７は、外部装置（図示せず）から検出対象として考慮しない周期成分を除外するための所定の除外ルールを受け付ける。そして、入力データ変換手段４７は、所定の除外ルールに従い、入力された数値データからその要素を除外し、除外されずに残った数値データの要素を、指標算出手段１１と周期パターン検出手段３６にそれぞれ出力する（ステップＳ３１）。
【００９７】
また、本実施形態では、ステップＳ１において、指標算出手段１１が、入力データ変換手段４７から数値データの入力を受け付けて、周期性判別指標を算出する。
【００９８】
また、本実施形態では、ステップＳ２２において、周期パターン検出手段３６が、入力データ変換手段４７から数値データを受け取り、周期成分特定手段３５から受け取った周期成分の情報に基づいて、数値データ内で周期的とみなせる繰り返しパターンを特定する。そして、周期パターン検出手段３６は、その繰り返しパターンを周期パターンとして抽出し、抽出した結果を出力手段３３へ通知する。
【００９９】
以上のように、本実施形態によれば、入力データ変換手段４７が、検出対象の周期成分として考慮しなくてよい数値が数値データに含まれるときに、所定の除外ルールに従い、その数値を除外する。
【０１００】
具体的には、入力データ変換手段４７が、入力された数値データから所定の除外ルールに従って検出対象として考慮しない周期成分となる要素を除外した数値データを生成し、指標算出手段１１が、その数値データを用いて周期性判別指標を算出する。そして、判別手段３２が周期性の有無を判別し、周期パターン検出手段３６が、入力された数値データ内の周期パターンを特定する。これにより、周期性の検出の際に雑音となってしまうデータをより明確に除外した上で周期性を検出できるので、出力される周期パターンの精度を向上させることができる。
【０１０１】
例えば、検出したい周期性が１００秒のオーダーである場合に、数値データ内に０．０２や０．０５といった非常に小さい数値が少なくない割合で混入する場合がある。このような数値データから周期性を検出する際に、前述の非常に小さい数値は雑音とみなすことができる。また、このような数値が周期成分として無視できる場合、入力データ変換手段４７がこのような数値を除外することで、高い精度で周期性を検出できるようになる。
【０１０２】
以下、具体例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。本具体例では、通信ネットワーク網を介して送受信されるパケットの周期性を監視するために、周期性を検出する装置として第３の実施形態の周期性検出装置３を組み込んだパケット監視システムを説明する。
【０１０３】
図１１は、本発明の周期性検出装置を利用したパケット監視システムの構成例を示すブロック図である。本具体例のパケット監視システム１００は、パケット記録部１２０と、数値データ作成部１３０と、周期性検出部１１０とを備えている。パケット記録部１２０と数値データ作成部１３０は通信可能に接続され、数値データ作成部１３０と周期性検出部１１０は通信可能に接続される。
【０１０４】
ここで、周期性検出部１１０が、第３の実施形態の周期性検出装置３に対応する。すなわち、パケット監視システム１００は、パケット記録部１２０と、数値データ作成部１３０とをさらに備える点で第３の実施形態の周期性検出装置３と異なる。なお、周期性検出部１１０の内容は第３の実施形態と同様である。第３の実施形態と同様の構成要素については、図７と同一の符号を付し、詳細な説明を省略する。
【０１０５】
パケット記録部１２０は、パケット取得手段１２１と、パケットデータ蓄積手段１２２とを備えている。パケット取得手段１２１は、パケットデータ蓄積手段１２２に接続される。
【０１０６】
パケット取得手段１２１は、外部装置（図示せず）から入力されるパケットを受け付ける。パケット取得手段１２１は、少なくとも各パケットに対応する時刻情報と通信の分類を可能にする情報とを含むパケットデータを生成し、生成したパケットデータをパケットデータ蓄積手段１２２へ出力する。
【０１０７】
なお、パケット取得手段１２１が、パケットを受信した時刻を記憶する処理を行ってもよいし、各パケットに対応する時刻情報を取得する手段を備えた外部装置によって記録された時刻情報を、パケット取得手段１２１が、パケットの入力と同時に受け付けてもよい。
【０１０８】
また「通信の分類を可能にする情報」とは、例えば、受信したパケットのコピー、または宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ＴＣＰポート番号、送信元ＴＣＰポート番号、あるいは特定のパケットであることを示すフラグなどを含むヘッダ情報である。
【０１０９】
パケット取得手段１２１は、ある特定の時間のみ動作するようにしてもよく、リアルタイムの監視を目的として常時動作するようにしてもよい。
【０１１０】
パケットデータ蓄積手段１２２は、パケット取得手段１２１からパケットデータを受け付け、受け付けたパケットデータを順次保存する。また、パケットデータ蓄積手段１２２は、後述の検出対象パケットデータ抽出手段１３１からの要求に応じてパケットデータを取り出し、要求元に対してパケットデータを出力する。
【０１１１】
数値データ作成部１３０は、検出対象パケットデータ抽出手段１３１と、時間間隔算出手段１３２とを備えている。検出対象パケットデータ抽出手段１３１は、時間間隔算出手段１３２に接続される。
【０１１２】
検出対象パケットデータ抽出手段１３１は、パケットデータ蓄積手段１２２へパケットデータを要求する。また、検出対象パケットデータ抽出手段１３１は、外部装置（図示せず）から所定のフィルタリングルールの入力を受け付け、パケットデータからフィルタリングルールに従い、検出対象とするパケットデータ（以下、検出対象パケットデータと記す。）を抽出し、時間間隔算出手段１３２へ出力する。
【０１１３】
ここで、フィルタリングルールとは、パケットデータ蓄積手段１２２から受け取ったパケットデータから、周期性の検出対象とするパケットデータを絞り込むためのルールである。フィルタリングルールは、特に限定されないため、目的に応じて任意のルールを適用してよい。
【０１１４】
例えば、あるクライアント／サーバ間で送受信するパケットに存在する周期性を検出するため、単一のＩＰアドレスを指定する方法をフィルタリングルールに適用してもよい。また、クライアント／サーバ間通信において負荷分散を目的として複数サーバ間で送受信を行っている場合に、パケットに存在する周期性を検出するため、複数のＩＰアドレスを指定する方法をフィルタリングルールに適用してもよい。なお、クライアント／サーバ間通信において負荷分散を行う手法として、例えば、ＤＮＳ（Domain Name System）ラウンドロビンなどの手法が挙げられる。
【０１１５】
また、ＴＣＰ  ｓｙｎやＬＴＥ（Long Term Evolution ）におけるService Requestなど、特定の役割を持つパケットを示すヘッダ情報内のフラグをフィルタリングルールに指定してもよい。ただし、これらは例示であって、他のヘッダ情報やパケットに含まれる情報を指定する単一のルールあるいは複数のルールをフィルタリングルールに同時に適用してもよい。
【０１１６】
時間間隔算出手段１３２は、検出対象パケットデータ抽出手段１３１から検出対象パケットデータを受け付ける。時間間隔算出手段１３２は、時刻順に列挙されたパケットデータに対し各パケットに対応する時刻情報と、各パケットの１つ前のパケットに対応する時刻情報との差分を計算することで、互いに前後するパケットの時間間隔データを生成する。
【０１１７】
時間間隔算出手段１３２が生成する時間間隔データには、例えば図２に示されるように秒単位、あるいは分単位などで表される時間間隔を示す数値が少なくとも列挙される。その後、時間間隔算出手段１３２は、生成した時間間隔データを周期性の検出を行う数値データとして、周期性検出部１１０へ出力する。
【０１１８】
パケット記録部１２０は、コンピュータであり、少なくともＣＰＵ、メモリおよびネットワークインターフェースを備える。また、パケット記録部１２０は、フレキシブルディスクやＣＤ／ＤＶＤ−ＲＯＭなどの磁気ディスク等に読み書き可能な外部記憶装置や、内部的なストレージ（磁気記憶装置）のうち、少なくとも一つあるいは複数を備える。
【０１１９】
パケット記録部１２０は、ネットワークインターフェースから受信したプログラムコード、またはストレージあるいは外部記憶装置から読み出したプログラムコードをメモリに展開する。そして、パケット記録部１２０は、展開されたプログラムコードをＣＰＵが解釈実行することで、図１１に示すようなパケット取得手段１２１およびパケットデータ蓄積手段１２２として各種機能を実行する。
【０１２０】
数値データ作成部１３０は、コンピュータであり、少なくともＣＰＵおよびメモリを備え、ネットワークインターフェース、フレキシブルディスクやＣＤ／ＤＶＤ−ＲＯＭなどの磁気ディスク等に読み書き可能な外部記憶装置、または内部的に保持するストレージのうち、少なくとも一つあるいは複数を備える。
【０１２１】
数値データ作成部１３０は、ネットワークインターフェースから受信したプログラムコード、またはストレージあるいは外部記憶装置から読み出したプログラムコードをメモリに展開する。そして、数値データ作成部１３０は、展開されたプログラムコードをＣＰＵが解釈実行することで、図１１に示すような検出対象パケットデータ抽出手段１３１および時間間隔算出手段１３２として各種機能を実現する。
【０１２２】
周期性検出部１１０は、コンピュータであり、少なくともＣＰＵおよびメモリを備え、ネットワークインターフェース、フレキシブルディスクやＣＤ／ＤＶＤ−ＲＯＭなどの磁気ディスク等に読み書き可能な外部記憶装置、または内部的に保持するストレージのうち、少なくとも一つあるいは複数を備える。
【０１２３】
周期性検出部１１０は、ネットワークインターフェースから受信したプログラムコード、またはストレージあるいは外部記憶装置から読み出したプログラムコードをメモリに展開する。そして、周期性検出部１１０は、展開されたプログラムコードをＣＰＵが解釈実行することで、図１１に示すような指標算出手段１１、判別手段３２、出力手段３３、周期成分特定手段３５、および周期パターン検出手段３６として各種機能を実現する。
【０１２４】
本具体例では、パケット記録部１２０と、数値データ作成部１３０と、周期性検出部１１０とを備えたパケット監視システム１００は、いわゆるパーソナルコンピュータ（ＰＣ）やサーバなどの計算機資源である。
【０１２５】
また、パケット記録部１２０と、数値データ作成部１３０と、周期性検出部１１０とが物理的に異なる計算機資源上に構築され、それぞれがネットワークインターフェースを備える場合、パケット記録部１２０と、数値データ作成部１３０と、周期性検出部１１０とを互いにネットワークインターフェースを通して接続させることも可能である。
【０１２６】
本具体例は、モバイルネットワークであるＬＴＥネットワークの環境下で取得可能なパケットデータをパケット監視システム１００に入力し、観測したパケットの時間間隔について周期性の検出を行う場合を示す例であるとする。
【０１２７】
また、本具体例では、検出対象パケットデータ抽出手段１３１に入力されるフィルタリングルールが、ＬＴＥネットワークの通信接続要求であるService Requestのパケットを抽出するルールであるとする。また、本具体例では、指標算出手段１１に入力される算出パラメータが、階級幅が５秒、基準分布が指数分布であり、さらに判別手段３２に入力される検出閾値が０．２５であるとする。
【０１２８】
図１２は、本具体例におけるパケット監視システム１００の動作例を示すフローチャートである。パケット取得手段１２１は、外部装置（図示せず）からパケットの入力を受け付け、受信したパケットを基に少なくとも各パケットに対応する時刻情報と通信の分類を可能にする情報を含むパケットデータを生成する。パケット取得手段１２１は、生成したパケットデータをパケットデータ蓄積手段１２２に通知し、パケットデータ蓄積手段１２２は、受け取ったパケットデータを蓄積する（ステップＳ１０１）。
【０１２９】
検出対象パケットデータ抽出手段１３１は、パケットデータ蓄積手段１２２へパケットデータの出力を要求することで、保存されているパケットデータを受け取る。検出対象パケットデータ抽出手段１３１は、外部装置（図示せず）から、ＬＴＥネットワークの通信接続要求であるService Requestのパケットの抽出を行うフィルタリングルールを受け付ける。検出対象パケットデータ抽出手段１３１は、受け付けたフィルタリングルールに従い、受け取ったパケットデータから周期性の検出対象とするパケットデータを抽出し、時間間隔算出手段１３２へ出力する（ステップＳ１０２）。
【０１３０】
時間間隔算出手段１３２は、検出対象パケットデータ抽出手段１３１から検出対象パケットデータを受け取り、前後するパケットとの時間間隔を算出することで、一部図２に示すような時間間隔データを生成する。時間間隔算出手段１３２は、生成した時間間隔データを数値データとして指標算出手段１１と周期パターン検出手段３６とへ出力する（ステップＳ１０３）。
【０１３１】
指標算出手段１１は、時間間隔算出手段１３２から数値データの入力を受け付ける。さらに指標算出手段１１は、外部装置（図示せず）から周期性判別指標を算出するための算出パラメータを受け付け、この算出パラメータに設定された度数分布の階級幅を５秒として、入力された数値データの相対度数分布を計算する（ステップＳ１）。
【０１３２】
指標算出手段１１は、算出パラメータ内において所定の基準分布として設定された指数分布を参照し、さらに階級幅を５秒として、数値データの平均と同一の平均を持つ指数分布に従う相対度数分布を計算する（ステップＳ２）。
【０１３３】
図１３は、相対度数分布の例を示す説明図である。ステップＳ２までの処理で、図１３に例示する相対度数分布が計算される。図１３に例示するグラフの実線Ｌ１は、数値データの相対度数分布であり、図１３に例示するグラフの破線Ｌ２は、指数分布に従う相対度数分布を表わす。
【０１３４】
続いて、指標算出手段１１は、数値データの相対度数分布と指数分布に従う相対度数分布とを比較し、図３に示す定義式に示すように、相対度数分布上の区間ごとに得られる差異の最大値を、相対度数分布全体に渡る差異の和で除して周期性判別指標を算出する。ここでは、周期性判別指標が、０．３６９と算出される。指標算出手段１１は、算出した周期性判別指標を判別手段３２へ出力する（ステップＳ３）。
【０１３５】
なお、図３に示す定義式の通りに従うと、指数分布の累積度数は、∞（無限大）の極限にて１になるため、無限大の区間まで考慮する必要がある。ただし、本具体例では、数値データの相対度数分布の累積度数が１、かつ基準分布である指数分布に従う相対度数分布における累積度数が０．９８になる区間までを考慮して周期性判別指標の算出を行った。
【０１３６】
判別手段３２は、算出した周期性判別指標０．３６９を指標算出手段１１から受け取る。また、判別手段３２は、外部装置（図示せず）から周期性が存在するか否かの判断基準として０．２５に設定された検出閾値の入力を受け付ける。判別手段３２は、周期性判別指標０．３６９と、検出閾値０．２５とを比較することにより、数値データに周期性が存在するか否かを判別する（ステップＳ４）。
【０１３７】
周期性判別指標０．３６９が検出閾値０．２５より大きいため、判別手段３２は、数値データに周期性が存在すると判別し（ステップＳ４で「指標が０．２５以上:存在する」の場合）、周期性が存在する旨を周期成分特定手段３５に出力する。なお、仮に、周期性判別指標が検出閾値０．２５未満の場合、判別手段３２は、数値データに周期性が存在しないと判別し（ステップＳ４で「指標が０．２５未満:存在しない」の場合）、ステップＳ２１およびステップＳ２２の処理は行われない。
【０１３８】
周期成分特定手段３５は、判別手段３２から数値データに周期性が存在する旨を受け取る。周期成分特定手段３５は、指標算出手段１１が周期性判別指標を算出する際に用いた相対度数分布を利用して、区間ごとの差異を算出する。そして、周期成分特定手段３５は、各区間の差異を相対度数分布全体に渡る差異の和で除すことにより得られる値が最大となる区間を特定する。図１３に例示するように、周期成分特定手段３５は、４００秒から４０５秒の区間を周期成分として特定し、特定した周期成分の情報を周期パターン検出手段３６に出力する（ステップＳ２１）。
【０１３９】
周期パターン検出手段３６は、周期成分特定手段３５から受け取った、周期成分の情報（４００秒から４０５秒）に基づき、同一の周期成分が連続して繰り返し出現する部分を周期パターンとして特定する。この方法を適用することにより、周期パターン検出手段３６は、４００秒から４０５秒の時間間隔が繰り返し発生するという周期パターンを抽出し、抽出した結果を出力手段３３へ通知する（ステップＳ２２）。
【０１４０】
出力手段３３は、周期パターン検出手段３６が抽出した、４００秒から４０５秒の時間間隔が繰り返し発生という周期パターンを受け取り、周期パターンの情報を出力する。ここでは、出力手段３３は、出力する周期パターンの情報として、例えば、数値データ内におよそ４００秒の時間間隔が３回以上連続して出現した回数を結果として外部装置（図示せず）へ出力する（ステップＳ２３）。
【０１４１】
出力手段３３が出力した結果について、例えば、およそ４００秒の間隔が連続した回数を横軸に取り、数値データ内でそれぞれの回数を観測した頻度を縦軸に取ったヒストグラムのグラフを図１４に示す。図１４のグラフにおいて、数値データ内におよそ４００秒の時間間隔で最大で１１回連続してパケットが発生したことや、最も多く観測されたのが３回の繰り返しであることなどが表示されている。
【０１４２】
以上のように、本具体例によれば、パケット監視システム１００（より具体的には、周期性検出部１１０）では、指標算出手段１１が、検出対象パケットデータから生成された時間間隔データとしての数値データと、基準分布としての指数分布とのそれぞれに従う２つ相対度数分布を生成する。そして、指標算出手段１１が、各相対度数分布の区間ごとに得られる差異の最大値を、相対度数分布全体に渡る差異の和で除すことにより周期性判別指標を算出する。これによって、判別手段３２が、数値データ内に周期性が存在するか否かを判別する。
【０１４３】
指標算出手段１１が行う演算処理は、相対度数分布に基づいているため、数値データの個々の要素が１次元空間のどの座標位置に当てはまるかを計算し、かつ数値データの各要素について１度参照するだけで指標を算出できる。そのため、繰り返し処理を行う必要がない。その結果、周期性が存在するか否かの判別を行うための計算量を軽減することが可能になる。
【０１４４】
また、本発明のパケット監視システム１００（より具体的には、周期性検出部１１０）では、指標算出手段１１が周期性判別指標を算出する過程で用いる相対度数分布と同一の相対度数分布を、周期成分特定手段３５が共通で用いるようにしている。その結果、指標算出手段１１が必要とする演算処理と周期成分特定手段３５が必要とする演算処理とを同時に行うことができるため、計算量を軽減することができる。
【０１４５】
また、本具体例のパケット監視システム１００では、周期性検出部１１０が、時間間隔という数値データに基づいて周期成分を検出するため、パケットの種類やパケットが保持する情報に依存せず、前後するパケットの時間間隔の情報のみで周期性を検出できる。
【０１４６】
また、本具体例のパケット監視システム１００は、およそ４００秒の時間間隔で最大で１１回連続してパケットが発生したという結果を示す周期パターンの情報を周期性検出部１１０に出力させている。よって、フィルタリングルールにより抽出したService Request のパケットの中でも、およそ４００秒の周期で発生したパケットを容易に特定できる。
【０１４７】
次に、本発明の概要を説明する。図１５は、本発明による周期性検出装置の概要を示すブロック図である。本発明による周期性検出装置８０は、入力される数値データの度数分布（例えば、相対度数分布）と、予め与えられる基準分布（例えば、指標分布）に従う度数分布（例えば、相対度数分布）との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出手段８１（例えば、指標算出手段１１）と、指標算出手段８１で算出された周期性判別指標を用いて、数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別手段８２（例えば、判別手段１２）とを備えている。
【０１４８】
具体的には、指標算出手段８１は、入力される数値データの度数分布と、入力される数値データについて想定される基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する指標を算出する。
【０１４９】
そのような構成により、数値データに周期性が存在するか否かを計算量を抑えて検出できる。これは、指標算出手段８１が行う演算処理は、度数分布に基づいているため、数値データの個々の要素が１次元空間のどの座標位置に当てはまるかを計算し、かつ数値データの各要素について１度参照するだけで指標を算出できるからである。
【０１５０】
また、図１６は、本発明によるパケット監視システムの概要を示すブロック図である。本発明によるパケット監視システムは、時刻順に列挙されたパケットデータから検出対象とするパケットデータを抽出し、時系列で前後するパケットデータの時間間隔を数値データとして生成する数値データ作成手段７０（例えば、数値データ作成部１３０）と、数値データにおける周期性の有無を検出する周期性検出装置８０（例えば、周期性検出部１１０）とを備えている。なお、周期性検出装置８０の内容は、図１４に示す内容と同様である。このような構成によっても、数値データに周期性が存在するか否かを計算量を抑えて検出できる。
【０１５１】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１５２】
（付記１）入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出ステップと、前記指標算出ステップで算出された周期性判別指標を用いて、前記数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別ステップとを含むことを特徴とする周期性検出方法。
【０１５３】
（付記２）指標算出ステップで、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布とを比較し、各相対度数分布の区間ごとに算出される差異の最大値を、相対度数分布全体に渡る差異の和で除することで周期性判別指標を算出する付記１記載の周期性検出方法。
【０１５４】
（付記３）判別ステップで、周期性の有無を判別する基準である検出閾値と、指標算出ステップで算出された周期性判別指標とを比較して、入力される数値データに１または複数の周期成分を含む周期性の有無を判別する付記１または付記２記載の周期性検出方法。
【０１５５】
（付記４）１または複数の周期成分を示す数値データと基準分布とを合成して疑似数値データを生成し、生成した疑似数値データに対し、指標算出ステップで周期性判別指標を算出する方法と同一の方法で仮指標を算出し、算出した仮指標の値に所定の割合を乗じて検出閾値を決定する閾値決定ステップを含む付記３記載の周期性検出方法。
【０１５６】
（付記５）判別ステップで周期性を有すると判別された数値データから、１または複数の周期成分を特定する周期成分特定ステップを含む付記１から付記４のうちのいずれか１つに記載の周期性検出方法。
【０１５７】
（付記６）周期成分特定ステップで、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布とを比較して、各度数分布の区間ごとの差異の最大値を特定し、当該差異が最大値になる区間を、周期成分を含む区間と特定する付記５記載の周期性検出方法。
【０１５８】
（付記７）周期成分特定ステップで、周期成分を含む区間の差異を０とする新たな度数分布を生成する処理、生成した度数分布の区間ごとに算出される差異の最大値を、度数分布全体に渡る差異の和で除することで周期性判別指標を算出する処理、および、検出閾値と算出された周期性判別指標とを比較して周期成分を含む周期性の有無を判別する処理を、当該周期性があると判別する間繰り返して、複数の周期成分を特定する付記６記載の周期性検出方法。
【０１５９】
（付記８）周期成分特定ステップで、入力される数値データの度数分布を用いて、出現頻度が予め与えられる所定の頻度より高い１または複数の区間を周期成分として特定する付記５に記載の周期性検出方法。
【０１６０】
（付記９）周期成分特定ステップで、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との区間ごとに算出される差異が、予め与えられる所定の第一閾値より大きい値となる１または複数の区間を、周期成分を含む区間と特定する付記５に記載の周期性検出方法。
【０１６１】
（付記１０）周期成分特定ステップで、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布とを比較し、各度数分布の区間ごとに算出される差異を、度数分布全体に渡る差異の和で除することで、区間を判別するための区間判別指標を算出し、当該区間判別指標が予め与えられる所定の第二閾値より大きい値となる１または複数の区間を、周期成分を含む区間と特定する付記５に記載の周期性検出方法。
【０１６２】
（付記１１）周期成分特定ステップで、１または複数の周期成分を示す数値データと基準分布とを合成して疑似数値データを生成し、生成した疑似数値データに対し、指標算出手段が周期性判別指標を算出する方法と同一の方法で仮指標を算出し、算出した仮指標の値に所定の割合を乗じて第二閾値を決定する付記１０記載の周期性検出方法。
【０１６３】
（付記１２）検出対象の周期成分として考慮しなくてよい数値が入力される数値データに含まれるときに、当該数値を除外する入力データ変換ステップを含む付記１から付記１１のうちのいずれか１つに記載の周期性検出方法。
【０１６４】
（付記１３）指標算出ステップで、入力される数値データの度数分布と、入力される数値データについて想定される基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する指標を算出する付記１から付記１２のうちのいずれか１つに記載の周期性検出方法。
【０１６５】
（付記１４）入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出手段と、前記指標算出手段が算出した周期性判別指標を用いて、前記数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別手段とを備えたことを特徴とする周期性検出装置。
【０１６６】
（付記１５）指標算出手段は、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布とを比較し、各相対度数分布の区間ごとに算出される差異の最大値を、相対度数分布全体に渡る差異の和で除することで周期性判別指標を算出する付記１４記載の周期性検出装置。
【０１６７】
（付記１６）判別手段は、周期性の有無を判別する基準である検出閾値と、指標算出手段により算出された周期性判別指標とを比較して、入力される数値データに１または複数の周期成分を含む周期性の有無を判別する付記１４または付記１５記載の周期性検出装置。
【０１６８】
（付記１７）１または複数の周期成分を示す数値データと基準分布とを合成して疑似数値データを生成し、生成した疑似数値データに対し、指標算出手段が周期性判別指標を算出する方法と同一の方法で仮指標を算出し、算出した仮指標の値に所定の割合を乗じて検出閾値を決定する閾値決定手段を備えた付記１６記載の周期性検出装置。
【０１６９】
（付記１８）判別手段により周期性を有すると判別された数値データから、１または複数の周期成分を特定する周期成分特定手段を備えた付記１４から付記１７のうちのいずれか１つに記載の周期性検出装置。
【０１７０】
（付記１９）周期成分特定手段は、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布とを比較して、各度数分布の区間ごとの差異の最大値を特定し、当該差異が最大値になる区間を、周期成分を含む区間と特定する付記１８記載の周期性検出装置。
【０１７１】
（付記２０）周期成分特定手段は、周期成分を含む区間の差異を０とする新たな度数分布を生成する処理、生成した度数分布の区間ごとに算出される差異の最大値を、度数分布全体に渡る差異の和で除することで周期性判別指標を算出する処理、および、検出閾値と算出された周期性判別指標とを比較して周期成分を含む周期性の有無を判別する処理を、当該周期性があると判別する間繰り返して、複数の周期成分を特定する付記１９記載の周期性検出装置。
【０１７２】
（付記２１）周期成分特定手段は、入力される数値データの度数分布を用いて、出現頻度が予め与えられる所定の頻度より高い１または複数の区間を周期成分として特定する付記１８に記載の周期性検出装置。
【０１７３】
（付記２２）周期成分特定手段は、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との区間ごとに算出される差異が、予め与えられる所定の第一閾値より大きい値となる１または複数の区間を、周期成分を含む区間と特定する付記１８に記載の周期性検出装置。
【０１７４】
（付記２３）周期成分特定手段は、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布とを比較し、各度数分布の区間ごとに算出される差異を、度数分布全体に渡る差異の和で除することで、区間を判別するための区間判別指標を算出し、当該区間判別指標が予め与えられる所定の第二閾値より大きい値となる１または複数の区間を、周期成分を含む区間と特定する付記１８に記載の周期性検出装置。
【０１７５】
（付記２４）周期成分特定手段は、１または複数の周期成分を示す数値データと基準分布とを合成して疑似数値データを生成し、生成した疑似数値データに対し、指標算出手段が周期性判別指標を算出する方法と同一の方法で仮指標を算出し、算出した仮指標の値に所定の割合を乗じて第二閾値を決定する付記２３記載の周期性検出装置。
【０１７６】
（付記２５）検出対象の周期成分として考慮しなくてよい数値が入力される数値データに含まれるときに、当該数値を除外する入力データ変換手段を備えた付記１４から付記２４のうちのいずれか１つに記載の周期性検出装置。
【０１７７】
（付記２６）指標算出手段は、入力される数値データの度数分布と、入力される数値データについて想定される基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する指標を算出する付記１４から付記２５のうちのいずれか１つに記載の周期性検出装置。
【０１７８】
（付記２７）時刻順に列挙されたパケットデータから検出対象とするパケットデータを抽出し、時系列で前後するパケットデータの時間間隔を数値データとして生成する数値データ作成手段と、前記数値データにおける周期性の有無を検出する周期性検出装置とを備え、前記周期性検出装置は、前記数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出手段と、前記指標算出手段で算出された周期性判別指標を用いて、前記数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別手段とを含むことを特徴とするパケット監視システム。
【０１７９】
（付記２８）コンピュータに、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布との各区間における差異に基づいて、周期性の有無を判別する周期性判別指標を算出する指標算出処理、および、前記指標算出処理で算出された周期性判別指標を用いて、前記数値データ内に存在する１または複数の周期成分を含む周期性の有無を判別する判別処理を実行させるための周期性検出プログラム。
【０１８０】
（付記２９）コンピュータに、指標算出処理で、入力される数値データの度数分布と、予め与えられる基準分布に従う度数分布とを比較させ、各相対度数分布の区間ごとに算出される差異の最大値を、相対度数分布全体に渡る差異の和で除することで周期性判別指標を算出させる付記２８記載の周期性検出プログラム。
【０１８１】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１８２】
この出願は、２０１３年２月２８日に出願された日本特許出願２０１３−０３８６７７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１８３】
本発明は、任意の形式の数値データが持つ周期性を検出する周期性検出装置に好適に適用される。
【符号の説明】
【０１８４】
１，２，３，４  周期性検出装置
１１  指標算出手段
１２，３２  判別手段
１３，３３  出力手段
２４  検出閾値決定手段
３５  周期成分特定手段
３６  周期パターン検出手段
４７  入力データ変換手段
１００  パケット監視システム
１１０  周期性検出部
１２０  パケット記録部
１３０  数値データ作成部
１２１  パケット取得手段
１２２  パケットデータ蓄積手段
１３１  検出対象パケットデータ抽出手段
１３２  時間間隔算出手段
【図１】
0005751396.tif 000002
【図２】
0005751396.tif 000003
【図３】
0005751396.tif 000004
【図４】
0005751396.tif 000005
【図５】
0005751396.tif 000006
【図６】
0005751396.tif 000007
【図７】
0005751396.tif 000008
【図８】
0005751396.tif 000009
【図９】
0005751396.tif 000010
【図１０】
0005751396.tif 000011
【図１１】
0005751396.tif 000012
【図１２】
0005751396.tif 000013
【図１３】
0005751396.tif 000014
【図１４】
0005751396.tif 000015
【図１５】
0005751396.tif 000016
【図１６】
0005751396.tif 000017
【図１７】
0005751396.tif 000018