【解決手段】過去の通信データのトラヒック量を機械学習することによって作成された学習モデルを取得する学習モデル取得部と、過去の通信データのトラヒック量に基づいて設定された通信データのトラヒック量の基準値であるトラヒック量基準値を取得するトラヒック量基準値取得部と、学習モデルに対するトラヒック量基準値の外れ値である異常判定閾値を取得する異常判定閾値取得部と、判定対象の通信データのトラヒック量である判定対象トラヒック量を取得する判定対象トラヒック量取得部と、学習モデルに対する判定対象トラヒック量の外れ値である異常判定対象値を取得する異常判定対象値取得部と、異常判定閾値と異常判定対象値とに基づいて異常状態であるか否かを判定する判定部と、を備える判定システム。
前記判定対象トラヒック量は、複数のVLAN(Virtual Local Area Network)と、前記複数のVLANを接続する接続装置とを含むネットワークシステム内における前記判定対象の通信データのトラヒック量であり、
前記異常状態の原因が、各VLAN内にあるか、あるいは、前記接続装置内にあるかを分析するネットワーク分析部をさらに備える
請求項1から請求項5のいずれか一項に記載の判定システム。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態について、図面を参照して説明する。
[第1の実施形態]
本発明の第1の実施形態について説明する。
図1は、第1の実施形態の判定システム100が適用されたネットワークシステム200の一例を示す図である。
図1に示す例では、判定システム100は、学習モデル取得部10と、トラヒック量基準値取得部11と、異常判定閾値取得部12と、判定対象トラヒック量取得部13と、異常判定対象値取得部14と、トラヒック量基準値算出部20と、判定部30と、ネットワーク分析部40と、アラーム分析部50とを備える。
学習モデル取得部10は、過去の通信データのトラヒック量を機械学習することによって作成された学習モデルを取得する。
図1に示す例では、学習モデル作成部210が、判定システム100の外部に設けられている。学習モデル作成部210は、過去の通信データのトラヒック量を機械学習することによって、学習モデルを作成する。学習モデル取得部10は、学習モデル作成部210から学習モデルを取得する。
【0011】
トラヒック量基準値取得部11は、過去の通信データのトラヒック量に基づいて設定された通信データのトラヒック量の基準値であるトラヒック量基準値を取得する。
図1に示す例では、トラヒック量基準値算出部20が、判定システム100の内部に設けられている。トラヒック量基準値算出部20は、過去の通信データのトラヒック量の統計値に基づいてトラヒック量基準値を算出する。トラヒック量基準値取得部11は、トラヒック量基準値算出部20からトラヒック量基準値を取得する。
異常判定閾値取得部12は、学習モデルに対するトラヒック量基準値の外れ値である異常判定閾値を取得する。
図1に示す例では、異常判定閾値算出部220が、判定システム100の外部に設けられている。異常判定閾値算出部220は、異常判定閾値を算出する。異常判定閾値取得部12は、異常判定閾値算出部220から異常判定閾値を取得する。
【0012】
判定対象トラヒック量取得部13は、判定対象の通信データのトラヒック量である判定対象トラヒック量を取得する。
図1に示す例では、判定対象トラヒック量が、ネットワークシステム200に含まれる複数のポート270−1、270−2、…、270−8のそれぞれにおいて測定される。ネットワークシステム200には、集約スイッチ280が含まれている。複数のポート270−1、270−2、…、270−8のそれぞれの判定対象トラヒック量は、集約スイッチ280を介して、判定対象トラヒック量取得部13によって取得される。トラヒック収集サーバ290は、複数のポート270−1、270−2、…、270−8のそれぞれの判定対象トラヒック量を保存する。
また、
図1に示す例では、複数のポート270−1、270−2、…、270−8のそれぞれの過去の通信データのトラヒック量が、集約スイッチ280を介して、学習モデル作成部210によって取得される。学習モデル作成部210は、複数のポート270−1、270−2、…、270−8のそれぞれの過去の通信データのトラヒック量を機械学習することによって、複数のポート270−1、270−2、…、270−8のそれぞれの学習モデルを作成する。
【0013】
異常判定対象値取得部14は、学習モデルに対する判定対象トラヒック量の外れ値である異常判定対象値を取得する。
図1に示す例では、異常判定対象値算出部230が、判定システム100の外部に設けられている。異常判定対象値算出部230は、異常判定対象値を算出する。異常判定対象値取得部14は、異常判定対象値算出部230から異常判定対象値を取得する。
判定部30は、異常判定閾値取得部12によって取得された異常判定閾値と、異常判定対象値取得部14によって取得された異常判定対象値とに基づいて、異常状態であるか否かを判定する。具体的には、判定部30は、異常判定対象値が異常判定閾値より大きい場合に、異常状態であると判定する。
図1に示す例では、判定部30は、複数のポート270−1、270−2、…、270−8のそれぞれの判定対象トラヒック量が異常状態であるか否かを判定する。
【0014】
ネットワーク分析部40は、判定部30によって異常状態であると判定されたポートの数、位置などを分析する。また、ネットワーク分析部40は、異常状態である旨の判定結果を分析する。異常状態である旨の判定結果には、例えばユーザ起因の判定結果が含まれる。また、異常状態である旨の判定結果には、例えばネットワークシステム200が起因する判定結果が含まれる。
異常状態である旨の判定結果が、ユーザ起因の判定結果である場合、ネットワーク分析部40は、ユーザの利用方法が変化した、あるいは、ネットワークシステム200内で切り替え作業などが実行された、と分析する。つまり、ネットワーク分析部40は、ネットワークシステム200自体が正常である、と分析する。
異常状態である旨の判定結果が、ネットワークシステム200が起因する判定結果である場合、ネットワーク分析部40は、ネットワークシステム200に異常が発生したおそれがある、と分析する。また、ネットワーク分析部40は、異常が発生した箇所(被疑箇所)を特定する。被疑箇所は、異常状態であると判定されたポートの位置、正常状態であると判定されたポートの位置、ネットワークシステム200の構成、通信データのトラヒックの流れなどに基づいて特定される。
【0015】
アラーム分析部50は、アラーム情報(出されたアラームの履歴)を突合する。故障には、アラームを出すことができないサイレント故障と、アラームを出すことができる通常の故障とが含まれる。アラーム分析部50は、サイレント故障が原因の異常状態であると判定されたのか、あるいは、通常の故障が原因の異常状態であると判定されたのかを分析する。
図1に示す例では、ネットワーク分析部40とアラーム分析部50とが判定システム100に設けられているが、他の例では、ネットワーク分析部40とアラーム分析部50とを省略したり、判定システム100の外部に設けたりしてもよい。
【0016】
図2は、第1の実施形態の判定システム100を適用可能なネットワークシステム200の一例を示す図である。
図2に示す例では、ネットワークシステム200が、第1ネットワーク200−1と、第2ネットワーク200−2と、第3ネットワーク200−3とによって構成されている。第1ネットワーク200−1と、第2ネットワーク200−2と、第3ネットワーク200−3とは、相互に接続されている。第1ネットワーク200−1は第1事業者のネットワークであり、第2ネットワーク200−2は第2事業者のネットワークであり、第3ネットワーク200−3は第3事業者のネットワークである。
第1ネットワーク200−1には、複数のVLAN(Virtual Local Area Network)と、それらを接続する接続装置260−1とが含まれている。第2ネットワーク200−2および第3ネットワーク200−3は、第1ネットワーク200−1と同様に構成される。第2ネットワーク200−2には、接続装置260−2が含まれ、第3ネットワーク200−3には、接続装置260−3が含まれている。
図2に示すネットワークシステム200に対して第1の実施形態の判定システム100を適用することによって、判定部30は、ネットワークシステム200内の複数のポートのそれぞれの判定対象トラヒック量が異常状態であるか否かを判定することができる。
【0017】
図3は、第1の実施形態の判定システム100における処理の流れなどを示す図である。
図3に示す例では、接続装置260−1、260−2内の複数のポートのそれぞれの過去の通信データのトラヒック量が、トラヒック収集サーバ290に保存されている。また、接続装置260−1、260−2内の複数のポートでは、判定対象トラヒック量が測定される。
判定システム100は、最初にトラヒック収集を実行する。具体的には、判定システム100は、トラヒック収集サーバ290に保存されている過去の通信データのトラヒック量を収集する。また、判定システム100は、ミラーポート280aを有する集約スイッチ280を介して、接続装置260−1、260−2内の複数のポートの判定対象トラヒック量を収集する。
判定システム100は、次いで、トラヒック分析を実行する。具体的には、判定システム100は、過去の通信データのトラヒック量を機械学習することによって作成された学習モデルを取得する。また、判定システム100は、過去の通信データのトラヒック量に基づいてトラヒック量基準値を算出する。また、判定システム100は、学習モデルに対するトラヒック量基準値の外れ値である異常判定閾値を取得する。また、判定システム100は、学習モデルに対する判定対象トラヒック量の外れ値である異常判定対象値を取得する。また、判定システム100は、異常判定閾値と異常判定対象値とに基づいて、接続装置260−1、260−2内の複数のポートのそれぞれが異常状態であるか否かを判定する。
【0018】
図3に示す例では、判定システム100は、次いで、アラーム分析を実行する。具体的には、判定システム100は、サイレント故障が原因の異常状態であると判定されたのか、あるいは、通常の故障が原因の異常状態であると判定されたのかを分析する。
判定システム100は、次いで、ネットワーク分析を実行する。具体的には、判定システム100は、接続装置260−1、260−2内において異常が発生した箇所(被疑箇所)を特定する。
図3に示す例では、判定システム100は、次いで、サイレント故障を周知する処理を実行する。
【0019】
図4は、接続装置260と、接続装置260に接続された複数のVLAN250−1、250−2、250−3と、接続装置260内の複数のポート270−1、270−2、270−3との関係の一例を示す図である。
図4に示す例では、VLAN250−1は、ポート270−1を介して接続装置260に接続されている。同様に、VLAN250−2、250−3は、それぞれ、ポート270−2、270−3を介して接続装置260に接続されている。VLAN250−1、VLAN250−2、VLAN250−3は、それぞれ、ユーザU1、U2、U3によって利用されている。
図4に示す例では、VLAN250−1内の判定対象トラヒック量は、ポート270−1において測定される。同様に、VLAN250−2、VLAN250−3内の判定対象トラヒック量は、それぞれ、ポート270−2、270−3において測定される。
【0020】
図5は判定対象トラヒック量の一般的な異常判定手法を示す図である。詳細には、
図5(A)は過去の通信データのトラヒック量と従来型判定用閾値との関係の一例を示す図である。
図5(A)の横軸は時刻を示している。同様に、後述する
図5(B)、
図5(C)、
図5(D)、
図6(A)、
図6(B)、
図6(C)、
図7(A)、
図7(B)、
図8(A)、
図8(B)、
図9(A)、
図9(B)、
図10(A)、
図10(B)、
図10(C)、
図10(D)、
図11(B)、
図11(C)、
図12、
図13(A)、
図13(B)、
図13(C)、
図14(A)、
図15(A)、
図15(C)および
図16の横軸も時刻を示している。
図5(A)の縦軸はトラヒック量を示している。同様に、後述する
図5(B)、
図5(C)、
図5(D)、
図6(A)、
図6(B)、
図6(C)、
図7(A)、
図7(B)、
図8(A)、
図8(B)、
図9(A)、
図9(B)、
図10(A)、
図10(B)、
図10(C)、
図10(D)、
図11(B)、
図11(C)、
図12、
図13(A)、
図13(B)、
図13(C)、
図14(A)、
図14(B)、
図15(A)、
図15(B)および
図15(C)の縦軸もトラヒック量を示している。
図5(A)に示す例では、
図5(A)に示すような「過去の通信データのトラヒック量」が得られた場合に、「過去の通信データのトラヒック量」に基づき、一般的な統計的手法によって「従来型判定用閾値」が算出される。ポートにおいて測定された判定対象トラヒック量(図示せず)と
図5(A)に示す「従来型判定用閾値」とが対比される。判定対象トラヒック量が
図5(A)に示す「従来型判定用閾値」よりも小さい場合に、判定対象トラヒック量が異常状態であると判定される。
図5(B)は
図5(A)に示す「従来型判定用閾値」を算出するために必要な「過去の通信データのトラヒック量」のデータ量を示す図である。
【0021】
図5(C)は過去の通信データのトラヒック量と従来型判定用閾値との関係の他の例を示す図である。
図5(C)に示す例では、
図5(C)に示す「過去の通信データのトラヒック量」に基づき、一般的な統計的手法によって
図5(C)に示す「従来型判定用閾値」が算出される。判定対象トラヒック量が
図5(C)に示す「従来型判定用閾値」よりも小さい場合に、判定対象トラヒック量が異常状態であると判定される。
図5(D)は
図5(C)に示す「従来型判定用閾値」を算出するために必要な「過去の通信データのトラヒック量」のデータ量を示す図である。
【0022】
図5(A)に示す例では、例えば1時間のような短い時間間隔で「従来型判定用閾値」の値が変更される。そのため、算出される「従来型判定用閾値」の値の数が多い。また、
図5(A)に示す「従来型判定用閾値」の算出に必要な「過去の通信データのトラヒック量」のデータ量が多い(
図5(B)に示す例では、データ抽出期間ta〜tbが長い)。
一方、
図5(C)に示す例では、例えば8時間のような長い時間間隔で「従来型判定用閾値」の値が変更される。そのため、算出される「従来型判定用閾値」の値の数が少ない。また、
図5(C)に示す「従来型判定用閾値」の算出に必要な「過去の通信データのトラヒック量」のデータ量が少ない(
図5(D)に示す例では、データ抽出期間tc〜tdが短い)。
【0023】
図6は、
図5(A)および
図5(B)に示す判定対象トラヒック量の一般的な異常判定手法において起こり得る誤判定の一例を示す図である。
図6(A)は
図4に示すポート270−1において測定された判定対象トラヒック量を示す図である。同様に、
図6(B)および
図6(C)は、それぞれ、ポート270−2、270−3において測定された判定対象トラヒック量を示す図である。
図6(A)に示す例では、
図4に示すユーザU1の利用方法が、以前と比べて変化していない。そのため、「判定対象トラヒック量」が、「従来型判定用閾値」よりも小さくならない。その結果、一般的な判定システムによって、「異常状態ではない」と判定される。
図6(C)に示す例においても、
図4に示すユーザU3の利用方法が、以前と比べて変化していない。その結果、一般的な判定システムによって、「異常状態ではない」と判定される。
【0024】
一方、
図6(B)に示す例では、
図4に示すユーザU2の利用方法が以前と比べて変化している。また、ユーザU2の利用方法が変化した後にポート270−2において測定された「判定対象トラヒック量」と、ユーザU2の利用方法が変化する前に算出された「従来型判定用閾値」とが対比される。そのため、期間t1〜t2に、「判定対象トラヒック量」が、「従来型判定用閾値」よりも小さくなる。その結果、一般的な判定システムによって、期間t1〜t2に「異常状態である」と判定される。
図4および
図6に示す例では、期間t1〜t2に、接続装置260自体には異常が発生していない。そのため、上述した期間t1〜t2の「異常状態である」旨の判定は、誤判定になる。
例えば昼休み期間中、ネットワークシステム内の夜間の切り替え作業の実行時など、判定対象トラヒック量が定期的または不定期に短時間で変動する場合にも、
図6(B)に示す例と同様に、一般的な判定システムによって誤判定されるおそれがある。
【0025】
図7は、誤判定の他の例を示す図である。
図7(A)に示す例では、時刻23:00にネットワークシステム内の切り替え作業が実行されない。
一方、
図7(B)に示す例では、時刻23:00にネットワークシステム内の切り替え作業が実行される。また、切り替え作業の実行中の「判定対象トラヒック量」と、切り替え作業が実行されない場合の過去の通信データのトラヒック量に基づいて算出された「従来型判定用閾値」とが対比される。そのため、時刻23:00に「判定対象トラヒック量」が「従来型判定用閾値」よりも小さくなる。その結果、一般的な判定システムによって、時刻23:00に「異常状態である」と判定される。
図7(B)に示す例では、時刻23:00にネットワークシステム自体には異常が発生していない。そのため、上述した時刻23:00の「異常状態である」旨の判定は、誤判定になる。
例えばユーザの利用方法が変化し、「判定対象トラヒック量」が短期的に変化する場合にも、
図7(B)に示す例と同様に、一般的な判定システムによって誤判定されるおそれがある。
【0026】
図8は、第1の実施形態の判定システム100による判定を示す図である。
図8(A)および
図8(B)において、「学習モデル」は、ユーザの利用方法が変化した後の過去の通信データのトラヒック量に基づいて作成された学習モデルである。「トラヒック量基準値」は、ユーザの利用方法が変化する前の過去の通信データのトラヒック量に基づいて算出されたトラヒック量基準値である。「時刻t01の判定対象トラヒック量」は、ユーザの利用方法が変化した後に測定された判定対象トラヒック量である。「時刻t01の異常判定閾値」は、「時刻t01の学習モデル」に対する「トラヒック量基準値」の外れ値を示す。「時刻t01の異常判定対象値」は、「時刻t01の学習モデル」に対する「時刻t01の判定対象トラヒック量」の外れ値を示す。
図8(A)に示す例では、「時刻t01の異常判定対象値」が「時刻t01の異常判定閾値」より小さいため、判定システム100の判定部30が「異常状態ではない」と判定する。
【0027】
上述したように、
図6(B)に示す一般的な判定システムでは、ユーザの利用方法の変化に伴って「判定対象トラヒック量」の値が落ち込む期間t1〜t2に、「異常状態である」と誤判定されてしまう。
それに対し、第1の実施形態の判定システム100では、
図8(A)に示すように、ユーザの利用方法の変化に伴って「判定対象トラヒック量」の値が落ち込む時刻t01においても、「異常状態ではない」と判定される。そのため、通信データのトラヒック量が異常状態であると誤って判定されるおそれを抑制することができる。
【0028】
図8(B)は、ユーザの利用方法が変化した後の時刻t02の判定対象トラヒック量が、ユーザの利用方法が変化する前と同様に大きい値になる例を示している。
ユーザの利用方法が変化した後、ネットワークシステムが正常であれば、「時刻t02の判定対象トラヒック量」の値は、「学習モデル」と同様に、落ち込む必要がある。ところが、
図8(B)に示す例では、ユーザの利用方法が変化した後の「時刻t02の判定対象トラヒック量」の値が、ユーザの利用方法が変化する前と同様に大きい値になる。
詳細には、「時刻t02の異常判定対象値」が「時刻t02の異常判定閾値」より大きくなる。そのため、判定システム100の判定部30は「異常状態である」と判定する。
【0029】
図9は、第1の実施形態の判定システム100による判定の他の例を示す図である。
図9(A)は時刻23:00のネットワークシステム内の切り替え作業の実行前の例を示している。
図9(B)は時刻23:00のネットワークシステム内の切り替え作業の実行後の例を示している。
図9(A)の「学習モデル」は、切り替え作業の実行前の過去の通信データのトラヒック量に基づいて作成された学習モデルである。
図9(B)の「学習モデル」は、切り替え作業の実行後の過去の通信データのトラヒック量に基づいて作成された学習モデルである。
図9(A)および
図9(B)の「トラヒック量基準値」は、切り替え作業の実行前の過去の通信データのトラヒック量に基づいて算出されたトラヒック量基準値である。
図9(A)の「23:00の判定対象トラヒック量」は、切り替え作業の実行前の時刻23:00の判定対象トラヒック量である。
図9(B)の「23:00の判定対象トラヒック量」は、切り替え作業の実行後の時刻23:00の判定対象トラヒック量である。
図9(A)の「23:00の異常判定閾値」は、
図9(A)の「23:00の学習モデル」に対する
図9(A)および
図9(B)の「トラヒック量基準値」の外れ値を示す。
図9(B)の「23:00の異常判定閾値」は、
図9(B)の「23:00の学習モデル」に対する
図9(A)および
図9(B)の「トラヒック量基準値」の外れ値を示す。
図9(A)の「23:00の異常判定対象値」は、
図9(A)の「23:00の学習モデル」に対する
図9(A)の「23:00の判定対象トラヒック量」の外れ値を示す。
図9(B)の「23:00の異常判定対象値」は、
図9(B)の「23:00の学習モデル」に対する
図9(B)の「23:00の判定対象トラヒック量」の外れ値を示す。
【0030】
図9(A)に示す例では、
図9(A)の「23:00の異常判定対象値」が
図9(A)の「23:00の異常判定閾値」より小さいため、判定システム100の判定部30が「異常状態ではない」と判定する。
図9(B)に示す例では、
図9(B)の「23:00の異常判定対象値」が
図9(B)の「23:00の異常判定閾値」より小さいため、判定システム100の判定部30が「異常状態ではない」と判定する。
上述したように、
図7(B)に示す一般的な判定システムでは、切り替え作業の実行に伴って「判定対象トラヒック量」の値が落ち込む時刻23:00に、「異常状態である」と誤判定されてしまう。
それに対し、第1の実施形態の判定システム100では、
図9(B)に示すように、切り替え作業の実行に伴って「23:00の判定対象トラヒック量」の値が落ち込む時刻23:00においても、「異常状態ではない」と判定される。そのため、通信データのトラヒック量が異常状態であると誤って判定されるおそれを抑制することができる。
【0031】
図10は、過去の通信データのトラヒック量に基づいてトラヒック量基準値を算出する計算負荷と、過去の通信データのトラヒック量を機械学習することによって学習モデルを作成する計算負荷とを示す図である。
第1の実施形態の判定システム100が適用された
図10に示す例では、トラヒック量基準値算出部20が、
図10(A)の「過去の通信データのトラヒック量」の統計値に基づいて、
図10(A)の「トラヒック量基準値」を算出する。具体的には、トラヒック量基準値算出部20が、例えば1か月〜2か月のような、
図10(B)の「データ抽出期間tA〜tB」にわたる過去の通信データのトラヒック量の統計値に基づいて、
図10(A)の「トラヒック量基準値」を算出する。
学習モデル作成部210は、
図10(C)の「過去の通信データのトラヒック量」を機械学習することによって、
図10(C)の「時刻t001の学習モデル」および「時刻t002の学習モデル」を作成する。具体的には、学習モデル作成部210が、例えば直近の2週間〜1か月のような、「期間tA〜tB」よりも短い
図10(D)の「データ抽出期間tC〜tD」にわたる過去の通信データのトラヒック量を機械学習することによって学習モデルを作成する。
【0032】
第1の実施形態の判定システム100が適用された
図10に示す例では、トラヒック量基準値算出部20の計算負荷(計算回数)が、
図10(A)の「トラヒック量基準値」を算出するための過去の通信データのトラヒック量のサンプリング間隔によって、
図10(B)の「期間tA〜tB」を除した値である。学習モデル作成部210の計算負荷(計算回数)は、学習モデルを作成するための過去の通信データのトラヒック量のサンプリング間隔によって、
図10(D)の「期間tC〜tD」を除した値である。
図10(A)の「トラヒック量基準値」を算出するための過去の通信データのトラヒック量のサンプリング間隔は、学習モデルを作成するための過去の通信データのトラヒック量のサンプリング間隔よりも、大きい値に設定される。そのため、トラヒック量基準値算出部20の計算負荷(計算回数)は、学習モデル作成部210の計算負荷(計算回数)より小さくなる。その結果、トラヒック量基準値算出部20の計算負荷を軽減することができる。つまり、判定システム100の計算負荷を軽減することができる。
また、トラヒック量基準値算出部20は、学習モデル作成部210が学習モデルを作成する時間単位(例えば、5分)よりも長い時間単位(例えば、8時間)で
図10(A)の「トラヒック量基準値」を算出する。詳細には、通常、ユーザトラヒックは1日単位で周期性を持っているため、上述したように、トラヒック量基準値算出部20は、長い時間単位で「トラヒック量基準値」を算出すればよい。
学習モデルの時間単位が5分に設定される場合、学習モデル作成部210によって作成される学習モデルの値は、5分の間、一定値になる。5分の間、一定値になる学習モデルを作成するために例えばN回の計算が必要な場合、学習モデルを作成するための単位時間当たりの計算回数は(N回/5分)になる。
一方、トラヒック量基準値の時間単位が8時間に設定される場合、トラヒック量基準値算出部20によって算出されるトラヒック量基準値は、8時間の間、一定値になる。8時間の間、一定値になるトラヒック量基準値を算出するために例えばN回の計算が必要な場合、トラヒック量基準値を算出するための単位時間当たりの計算回数は(N回/8時間)になる。
すなわち、トラヒック量基準値を算出するための所定時間当たりの計算回数は、学習モデルを作成するための所定時間当たりの計算回数より少ない。そのため、トラヒック量基準値算出部20の計算負荷を軽減することができる。つまり、判定システム100の計算負荷を軽減することができる。
【0033】
図11は、異常判定対象値を示す図である。
図11(A)に示す例では、学習モデル作成部210が、過去の通信データのトラヒック量に関する例えば14個〜30個のデータを機械学習することによって、「学習モデル」を作成する。判定対象トラヒック量取得部13は、例えばポートにおいて測定された「判定対象トラヒック量」を取得する。異常判定対象値算出部230は、「学習モデル」に対する「判定対象トラヒック量」の外れ値である「異常判定対象値」を算出する。
図11(B)に示す例では、学習モデル作成部210が、例えば14個〜30個の過去の時刻12:00の通信データのトラヒック量のデータを機械学習することによって、「12:00の学習モデル」を作成する。学習モデル作成部210が、同様に「13:00の学習モデル」を作成する。
図11(C)に示す例では、異常判定対象値算出部230が、「12:00の学習モデル」と、判定対象トラヒック量取得部13によって取得された「12:00の判定対象トラヒック量」とに基づいて「12:00の異常判定対象値」を算出する。異常判定対象値算出部230は、同様に「13:00の異常判定対象値」を算出する。異常判定対象値算出部230は、異常判定対象値を算出するが、その異常判定対象値が異常であるか否かを判定しない。
【0034】
図12は、「12:00の異常判定対象値」が異常であるか否かを判定する手法を示す図である。
図12に示す例では、トラヒック量基準値算出部20が、例えば14個未満の過去の通信データのトラヒック量のデータに基づいて、時刻12:00を含む時間帯の「トラヒック量基準値」を算出する。「12:00のトラヒック量基準値」は、時刻12:00を含む時間帯の「トラヒック量基準値」と等しい。
異常判定閾値算出部220は、「12:00のトラヒック量基準値」と「12:00の学習モデル」とに基づいて「12:00の異常判定閾値」を算出する。判定部30は、「12:00の異常判定対象値」と「12:00の異常判定閾値」とを対比する。
図12に示す例では、「12:00の異常判定対象値」が「12:00の異常判定閾値」以下であるため、判定部30は、12:00に異常状態はないと判定する。
【0035】
図13は、「12:00の異常判定閾値」と「13:00の異常判定閾値」とを比較した図である。
図13(B)に示す例では、時刻12:00と時刻13:00とが、「トラヒック量基準値」が一定値の時間帯に含まれている。そのため、「12:00のトラヒック量基準値」と「13:00のトラヒック量基準値」とが等しい。
図13(A)に示す例では、「13:00の学習モデル」の値(トラヒック量)が、「12:00の学習モデル」の値より大きい。そのため、
図13(C)に示す例では、「13:00の異常判定閾値」が「12:00の異常判定閾値」より大きくなる。その結果、
図13に示す例では、時刻13:00に、時刻12:00よりも、異常状態であると判定されづらくなる。
【0036】
図14は、トラヒック量基準値の算出手法の一例を示す図である。
図14(B)の横軸は分布を示している。同様に、
図15(B)の横軸も分布を示している。
図14に示す例では、
図14(A)に示す時間帯のトラヒック量基準値が一定値になるように、トラヒック量基準値が算出される。具体的には、
図14に示す例では、トラヒック量基準値算出部20が、
図14(A)に示す時間帯の「過去の通信データのトラヒック量」に基づいて、
図14(B)に示す分布を算出する。また、トラヒック量基準値算出部20は、
図14(B)に示す分布のAパーセンタイル(Aは所定値)のトラヒック量を算出する。トラヒック量基準値算出部20は、そのトラヒック量に係数B(Bは1より小さい値)を乗じることによって、「トラヒック量基準値」を算出する。
【0037】
図15は、トラヒック量基準値の算出手法の他の例を示す図である。
図15に示す例では、
図15(A)および
図15(C)に示す時間帯のトラヒック量基準値が一定値になるように、トラヒック量基準値が算出される。具体的には、
図15に示す例では、例えばポートのような判定対象トラヒック量の測定点において、
図15(A)に示すような過去の通信データのトラヒック量が測定される。トラヒック量基準値算出部20は、
図15(A)に示す時間帯の「過去の通信データのトラヒック量(送信パケット数)」に基づいて、
図15(B)に示す分布を算出する。トラヒック量基準値算出部20は、出現率が低くなる(例えば99.5%以下)となる点を第1暫定値αとする。詳細には、トラヒック量基準値算出部20が下記の(1)〜(6)の計算を実施する。
(1)トラヒック量基準値算出部20は、送信パケット数の標準偏差σを算出する。
(2)トラヒック量基準値算出部20は、例えば0.001σを1階級として、
図15(B)に示すヒストグラムを算出する。
(3)トラヒック量基準値算出部20は、1階級毎の出現確率を算出する。
(4)トラヒック量基準値算出部20は、出現確率を送信パケット数の多いほうから順に加算し、例えば99.5%を超えた階級の最大値(第1暫定値)αを算出する。
(5)グラフから異常値を除くため、トラヒック量基準値算出部20は、0.4αを下回る送信パケットを除外し、再度(1)〜(4)の計算を実施する。
(6)トラヒック量基準値算出部20は、再度算出された値を、
図15(C)に示す第2暫定値βとし、その第2暫定値βにx%(x%は1より小さい値)を乗じることによって、
図15(C)に示す「トラヒック量基準値」を算出する。
【0038】
図16は、異常判定対象値と異常判定閾値との関係を示す図である。
図16の縦軸は、異常判定対象値および異常判定閾値を示している。
図16に示す例では、判定部30が、所定時間間隔で、異常判定対象値が異常判定閾値より大きいか否かを判定する。
図16に示す例では、時刻t1に、判定部30は、異常判定対象値が異常判定閾値より大きいと最初に判定する。第1の実施形態の判定システム100が適用されたネットワークシステム200の異常報知部(図示せず)は、ワーニングを実行する。
Xa回(例えば2回)後の判定が判定部30によって実行される時刻t3に、判定部30は、アラートをログに出力する。同様に、判定部30は、Xb回(例えば6回)の判定毎に、つまり、時刻t9、t15に、アラートをログに出力する。
異常判定対象値が異常判定閾値以下であると判定部30がXc回(例えば5回)続けて判定する時刻t21に、異常報知部は、ネットワークシステム200が復旧したと判定する。
【0039】
図17は、第1の実施形態の判定システム100を適用可能なネットワークシステム200の他の例を示す図である。
図17に示す例では、ネットワークシステム200は、接続装置260−1、260−2を有する。接続装置260−1はVLAN250−1、250−2、250−3を接続し、接続装置260−2はVLAN250−4、250−5、250−6を接続する。接続装置260−1はポート270−1、270−2、270−3、270−4を有し、接続装置260−2はポート270−5、270−6、270−7、270−8を有する。
図17に示す例では、判定部30が、ポート270−1の判定対象トラヒック量が異常状態であり、ポート270−2、270−3、270−4の判定対象トラヒック量が異常状態ではないと判定する。ネットワーク分析部40は、ポート270−1の判定対象トラヒック量の異常状態がユーザU1に起因すると分析する。また、ネットワーク分析部40は、接続装置260−1は正常状態であると分析する。
また、
図17に示す例では、判定部30が、ポート270−5、270−6、270−7、270−8の判定対象トラヒック量が異常状態であると判定する。ネットワーク分析部40は、接続装置260−2が異常状態であると分析する。
詳細には、接続装置260−1、260−2内でサイレント故障が発生した場合、接続装置260−1内のポート270−1〜270−4、および、接続装置260−2内のポート270−5〜270−8のそれぞれが異常状態であるか否かを判定部30によって判定する。それにより、ネットワーク分析部40は、どのポート270−1〜270−8が異常状態であるのかを分析することができる。また、アラーム分析部50は、サイレント故障が原因となって異常状態であると判定されたのか、あるいは、通常の故障が原因となって異常状態であると判定されたのかを分析することができる。
【0040】
つまり、
図17に示す例では、判定対象トラヒック量が、複数のVLAN250−1〜250−6と、それらを接続する接続装置260−1、260−2とを含むネットワークシステム200内における判定対象の通信データのトラヒック量である。また、ネットワーク分析部40は、異常状態の原因が、各VLAN250−1〜250−6内にあるか、あるいは、接続装置260−1、260−2内にあるかを分析する。
また、
図17に示す例では、判定対象トラヒック量が、ネットワークシステム200に含まれる複数のポート270−1〜270−8のそれぞれにおける判定対象の通信データのトラヒック量である。また、判定部30は、複数のポート270−1〜270−8のそれぞれにおける判定対象トラヒック量が異常状態であるか否かを判定する。
【0041】
図18は、判定システム100による全体的な処理の流れを示すフローチャートである。
(ステップS101)学習モデル取得部10は、過去の通信データのトラヒック量を機械学習することによって作成された学習モデルを取得する。
(ステップS102)トラヒック量基準値取得部11は、過去の通信データのトラヒック量に基づいて設定された通信データのトラヒック量の基準値であるトラヒック量基準値を取得する。
(ステップS103)異常判定閾値取得部12は、学習モデルに対するトラヒック量基準値の外れ値である異常判定閾値を取得する。
(ステップS104)判定対象トラヒック量取得部13は、判定対象の通信データのトラヒック量である判定対象トラヒック量を取得する。
(ステップS105)異常判定対象値取得部14は、学習モデルに対する判定対象トラヒック量の外れ値である異常判定対象値を取得する。
(ステップS106、S107、S108)判定部30は、異常判定閾値と異常判定対象値とに基づいて異常状態であるか否かを判定する。
詳細には、判定部30は、異常判定対象値が異常判定閾値より大きいか否かを判定する(ステップS106)。異常判定対象値が異常判定閾値より大きい場合、判定部30は、異常状態であると判定する(ステップS107)。異常判定対象値が異常判定閾値以下の場合、判定部30は、異常状態ではないと判定する(ステップS108)。
【0042】
〔第1の実施形態のまとめ〕
以上説明したように、判定システム100は、過去の通信データのトラヒック量を機械学習することによって作成された学習モデルを取得する学習モデル取得部10と、過去の通信データのトラヒック量に基づいて設定された通信データのトラヒック量の基準値であるトラヒック量基準値を取得するトラヒック量基準値取得部11と、学習モデルに対するトラヒック量基準値の外れ値である異常判定閾値を取得する異常判定閾値取得部12と、判定対象の通信データのトラヒック量である判定対象トラヒック量を取得する判定対象トラヒック量取得部13と、学習モデルに対する判定対象トラヒック量の外れ値である異常判定対象値を取得する異常判定対象値取得部14と、異常判定閾値と異常判定対象値とに基づいて異常状態であるか否かを判定する判定部30と、を備える。
また、判定システム100において、判定部30は、異常判定対象値が異常判定閾値より大きい場合に異常状態であると判定する。
また、判定システム100は、過去の通信データのトラヒック量の統計値に基づいてトラヒック量基準値を算出するトラヒック量基準値算出部20をさらに備え、トラヒック量基準値取得部11は、トラヒック量基準値算出部20によって算出されたトラヒック量基準値を取得する。
これにより、判定システム100は、異常状態であると誤って判定されるおそれを抑制することができる。
【0043】
また、判定システム100において、トラヒック量基準値算出部20は、第1の期間tA〜tBにわたる過去の通信データのトラヒック量の統計値に基づいてトラヒック量基準値を算出し、学習モデルは、第1の期間tA〜tBよりも短い第2の期間tC〜tDにわたる過去の通信データのトラヒック量を機械学習することによって作成され、トラヒック量基準値を算出するための過去の通信データのトラヒック量のサンプリング間隔によって、第1の期間tA〜tBを除した値である第1計算負荷は、学習モデルを作成するための過去の通信データのトラヒック量のサンプリング間隔によって、第2の期間tC〜tDを除した値である第2計算負荷より小さい。
また、判定システム100において、トラヒック量基準値算出部20は、学習モデルが作成される時間単位よりも長い時間単位でトラヒック量基準値を算出し、トラヒック量基準値を算出するための所定時間当たりの計算回数は、学習モデルを作成するための所定時間当たりの計算回数より少ない。
これにより、判定システム100は、第1計算負荷が第2計算負荷より大きい場合よりも、トラヒック量基準値算出部20の計算負荷を軽減することができる。
【0044】
また、判定システム100において、判定対象トラヒック量は、複数のVLANと、複数のVLANを接続する接続装置とを含むネットワークシステム内における判定対象の通信データのトラヒック量であり、判定システム100は、異常状態の原因が、各VLAN内にあるか、あるいは、接続装置内にあるかを分析するネットワーク分析部40をさらに備える。
これにより、判定システム100は、異常状態の原因が、各VLAN内にあるか、あるいは、接続装置内にあるかを正確に分析することができる。
【0045】
また、判定システム100において、判定対象トラヒック量は、ネットワークシステムに含まれる複数のポートのそれぞれにおける判定対象の通信データのトラヒック量であり、判定部30は、複数のポートのそれぞれにおける判定対象トラヒック量が異常状態であるか否かを判定する。
これにより、判定システム100は、ネットワークシステム内のポートの判定対象トラヒック量が異常状態であるか否かを正確に判定することができる。
【0046】
また、判定システム100において、判定対象トラヒック量取得部は、ネットワークシステムに含まれる集約スイッチから判定対象トラヒック量を取得し、学習モデルは、集約スイッチから取得された過去の通信データのトラヒック量を機械学習することによって作成される。
これにより、判定システム100は、ネットワークシステム内の集約スイッチから取得される判定対象トラヒック量が異常状態であるか否かを正確に判定することができる。
以上が、第1の実施形態についての説明である。
【0047】
[第2の実施形態]
図19は、第2の実施形態の判定システム100が適用されたネットワークシステム200の一例を示す図である。第2の実施形態の判定システム100は、後述する点を除き、上述した第1の実施形態の判定システム100と同様の効果を奏することができる。
第1の実施形態の判定システム100が適用された
図1に示す例では、トラヒック量基準値算出部20が判定システム100の内部に設けられている。一方、第2の実施形態の判定システム100が適用された
図19に示す例では、
図1に示すトラヒック量基準値算出部20と同様の機能を有するトラヒック量基準値算出部240が、判定システム100の外部に設けられている。
第2の実施形態の判定システム100では、第1の実施形態の判定システム100よりも、判定システム100の計算負荷を軽減することができる。
【0048】
[変形例]
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第1〜2の実施形態において説明した各構成は、任意に組み合わせることができる。また、例えば、上述の第1〜2の実施形態において説明した各構成は、特定の機能を発揮するのに不要である場合には、省略することができる。また、例えば、上述の第1〜2の実施形態において説明した各構成は、任意に分離して別体の装置に備えることができる。
【0049】
また、上述の学習モデル取得部10、トラヒック量基準値取得部11、異常判定閾値取得部12、判定対象トラヒック量取得部13、異常判定対象値取得部14、判定部30の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより学習モデル取得部10、トラヒック量基準値取得部11、異常判定閾値取得部12、判定対象トラヒック量取得部13、異常判定対象値取得部14、判定部30としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。